UNPKG

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.96 kB
this.primereact=this.primereact||{},this.primereact.inputtextarea=function(e,t,n,r,o){"use strict";function l(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var i=l(t);function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a.apply(this,arguments)}var s={defaultProps:{__TYPE:"InputTextarea",autoResize:!1,keyfilter:null,onBlur:null,onFocus:null,onInput:null,onKeyDown:null,onKeyUp:null,onPaste:null,tooltip:null,tooltipOptions:null,validateOnly:!1,children:void 0},getProps:function(e){return o.ObjectUtils.getMergedProps(e,s.defaultProps)},getOtherProps:function(e){return o.ObjectUtils.getDiffProps(e,s.defaultProps)}},u=i.memo(i.forwardRef((function(e,t){var l=s.getProps(e),u=i.useRef(t),c=i.useRef(0),p=function(e){var t=u.current;t&&o.DomHandler.isVisible(t)&&(c.current||(c.current=t.scrollHeight,t.style.overflow="hidden"),(c.current!==t.scrollHeight||e)&&(t.style.height="",t.style.height=t.scrollHeight+"px",parseFloat(t.style.height)>=parseFloat(t.style.maxHeight)?(t.style.overflowY="scroll",t.style.height=t.style.maxHeight):t.style.overflow="hidden",c.current=t.scrollHeight))},f=u.current&&u.current.value,y=i.useMemo((function(){return o.ObjectUtils.isNotEmpty(l.value)||o.ObjectUtils.isNotEmpty(l.defaultValue)||o.ObjectUtils.isNotEmpty(f)}),[l.value,l.defaultValue,f]);i.useEffect((function(){o.ObjectUtils.combinedRefs(u,t)}),[u,t]),i.useEffect((function(){l.autoResize&&p(!0)}),[l.autoResize]);var d=o.ObjectUtils.isNotEmpty(l.tooltip),m=s.getOtherProps(l),g=o.classNames("p-inputtextarea p-inputtext p-component",{"p-disabled":l.disabled,"p-filled":y,"p-inputtextarea-resizable":l.autoResize},l.className);return i.createElement(i.Fragment,null,i.createElement("textarea",a({ref:u},m,{className:g,onFocus:function(e){l.autoResize&&p(),l.onFocus&&l.onFocus(e)},onBlur:function(e){l.autoResize&&p(),l.onBlur&&l.onBlur(e)},onKeyUp:function(e){l.autoResize&&p(),l.onKeyUp&&l.onKeyUp(e)},onKeyDown:function(e){l.onKeyDown&&l.onKeyDown(e),l.keyfilter&&n.KeyFilter.onKeyPress(e,l.keyfilter,l.validateOnly)},onInput:function(e){l.autoResize&&p(),l.onInput&&l.onInput(e);var t=e.target;o.ObjectUtils.isNotEmpty(t.value)?o.DomHandler.addClass(t,"p-filled"):o.DomHandler.removeClass(t,"p-filled")},onPaste:function(e){l.onPaste&&l.onPaste(e),l.keyfilter&&n.KeyFilter.onPaste(e,l.keyfilter,l.validateOnly)}})),d&&i.createElement(r.Tooltip,a({target:u,content:l.tooltip},l.tooltipOptions)))})));return u.displayName="InputTextarea",e.InputTextarea=u,Object.defineProperty(e,"__esModule",{value:!0}),e}({},React,primereact.keyfilter,primereact.tooltip,primereact.utils);