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) • 2.23 kB
JavaScript
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 o=l(e);function i(){return i=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},i.apply(this,arguments)}var a={defaultProps:{__TYPE:"InputText",keyfilter:null,validateOnly:!1,tooltip:null,tooltipOptions:null,onInput:null,onKeyDown:null,onPaste:null,children:void 0},getProps:function(e){return n.ObjectUtils.getMergedProps(e,a.defaultProps)},getOtherProps:function(e){return n.ObjectUtils.getDiffProps(e,a.defaultProps)}},u=o.memo(o.forwardRef((function(e,l){var u=a.getProps(e),s=o.useRef(l),p=s.current&&s.current.value,c=o.useMemo((function(){return n.ObjectUtils.isNotEmpty(u.value)||n.ObjectUtils.isNotEmpty(u.defaultValue)||n.ObjectUtils.isNotEmpty(p)}),[u.value,u.defaultValue,p]);o.useEffect((function(){n.ObjectUtils.combinedRefs(s,l)}),[s,l]);var f=n.ObjectUtils.isNotEmpty(u.tooltip),d=a.getOtherProps(u),y=n.classNames("p-inputtext p-component",{"p-disabled":u.disabled,"p-filled":c},u.className);return o.createElement(o.Fragment,null,o.createElement("input",i({ref:s},d,{className:y,onInput:function(e){var r=!0;if(u.keyfilter&&u.validateOnly&&(r=t.KeyFilter.validate(e,u.keyfilter)),u.onInput&&u.onInput(e,r),!u.onChange){var l=e.target;n.ObjectUtils.isNotEmpty(l.value)?n.DomHandler.addClass(l,"p-filled"):n.DomHandler.removeClass(l,"p-filled")}},onKeyDown:function(e){u.onKeyDown&&u.onKeyDown(e),u.keyfilter&&t.KeyFilter.onKeyPress(e,u.keyfilter,u.validateOnly)},onPaste:function(e){u.onPaste&&u.onPaste(e),u.keyfilter&&t.KeyFilter.onPaste(e,u.keyfilter,u.validateOnly)}})),f&&o.createElement(r.Tooltip,i({target:s,content:u.tooltip},u.tooltipOptions)))})));u.displayName="InputText",exports.InputText=u;
;