UNPKG

primereact

Version:

PrimeReact is an open source UI library for React featuring a rich set of 80+ 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) 2.07 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/keyfilter"),r=require("primereact/tooltip"),n=require("primereact/utils");function l(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var i=l(e);function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a.apply(this,arguments)}var o=i.memo(i.forwardRef((function(e,l){var s=i.useRef(l),u=s.current&&s.current.value,c=i.useMemo((function(){return n.ObjectUtils.isNotEmpty(e.value)||n.ObjectUtils.isNotEmpty(e.defaultValue)||n.ObjectUtils.isNotEmpty(u)}),[e.value,e.defaultValue,u]);i.useEffect((function(){n.ObjectUtils.combinedRefs(s,l)}),[s,l]);var f=n.ObjectUtils.isNotEmpty(e.tooltip),p=n.ObjectUtils.findDiffKeys(e,o.defaultProps),y=n.classNames("p-inputtext p-component",{"p-disabled":e.disabled,"p-filled":c},e.className);return i.createElement(i.Fragment,null,i.createElement("input",a({ref:s},p,{className:y,onInput:function(r){var l=!0;if(e.keyfilter&&e.validateOnly&&(l=t.KeyFilter.validate(r,e.keyfilter)),e.onInput&&e.onInput(r,l),!e.onChange){var i=r.target;n.ObjectUtils.isNotEmpty(i.value)?n.DomHandler.addClass(i,"p-filled"):n.DomHandler.removeClass(i,"p-filled")}},onKeyPress:function(r){e.onKeyPress&&e.onKeyPress(r),e.keyfilter&&t.KeyFilter.onKeyPress(r,e.keyfilter,e.validateOnly)},onPaste:function(r){e.onPaste&&e.onPaste(r),e.keyfilter&&t.KeyFilter.onPaste(r,e.keyfilter,e.validateOnly)}})),f&&i.createElement(r.Tooltip,a({target:s,content:e.tooltip},e.tooltipOptions)))})));o.displayName="InputText",o.defaultProps={__TYPE:"InputText",keyfilter:null,validateOnly:!1,tooltip:null,tooltipOptions:null,onInput:null,onKeyPress:null,onPaste:null},exports.InputText=o;