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) • 3.69 kB
JavaScript
import*as t from"react";import{PrimeReactContext as e}from"primereact/api";import{ComponentBase as n,useHandleStyle as r}from"primereact/componentbase";import{useMergeProps as o}from"primereact/hooks";import{KeyFilter as i}from"primereact/keyfilter";import{Tooltip as l}from"primereact/tooltip";import{classNames as a,ObjectUtils as p,DomHandler as u}from"primereact/utils";function s(){return s=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},s.apply(this,arguments)}function f(t){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},f(t)}function c(t,e){if("object"!==f(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!==f(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}function y(t){var e=c(t,"string");return"symbol"===f(e)?e:String(e)}var m=n.extend({defaultProps:{__TYPE:"InputText",__parentMetadata:null,children:void 0,className:null,invalid:!1,variant:null,keyfilter:null,onBeforeInput:null,onInput:null,onKeyDown:null,onPaste:null,tooltip:null,tooltipOptions:null,validateOnly:!1,iconPosition:null},css:{classes:{root:function(t){var e=t.props,n=t.context;return a("p-inputtext p-component",{"p-disabled":e.disabled,"p-filled":t.isFilled,"p-invalid":e.invalid,"p-variant-filled":e.variant?"filled"===e.variant:n&&"filled"===n.inputStyle})}}}});function d(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function v(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?d(Object(n),!0).forEach((function(e){var r,o,i;r=t,i=n[e],(o=y(o=e))in r?Object.defineProperty(r,o,{value:i,enumerable:!0,configurable:!0,writable:!0}):r[o]=i})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):d(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var b=t.memo(t.forwardRef((function(n,f){var c=o(),y=t.useContext(e),d=m.getProps(n,y),b=m.setMetaData(v(v({props:d},d.__parentMetadata),{},{context:{disabled:d.disabled,iconPosition:d.iconPosition}})),O=b.ptm,P=b.cx;r(m.css.styles,b.isUnstyled,{name:"inputtext",styled:!0});var g=t.useRef(f);t.useEffect((function(){p.combinedRefs(g,f)}),[g,f]);var j=t.useMemo((function(){return p.isNotEmpty(d.value)||p.isNotEmpty(d.defaultValue)}),[d.value,d.defaultValue]),w=p.isNotEmpty(d.tooltip),k=c({className:a(d.className,P("root",{context:y,isFilled:j})),onBeforeInput:function(t){d.onBeforeInput&&d.onBeforeInput(t),d.keyfilter&&i.onBeforeInput(t,d.keyfilter,d.validateOnly)},onInput:function(t){var e=t.target,n=!0;d.keyfilter&&d.validateOnly&&(n=i.validate(t,d.keyfilter)),d.onInput&&d.onInput(t,n),p.isNotEmpty(e.value)?u.addClass(e,"p-filled"):u.removeClass(e,"p-filled")},onKeyDown:function(t){d.onKeyDown&&d.onKeyDown(t),d.keyfilter&&i.onKeyPress(t,d.keyfilter,d.validateOnly)},onPaste:function(t){d.onPaste&&d.onPaste(t),d.keyfilter&&i.onPaste(t,d.keyfilter,d.validateOnly)}},m.getOtherProps(d),O("root"));return t.createElement(t.Fragment,null,t.createElement("input",s({ref:g},k)),w&&t.createElement(l,s({target:g,content:d.tooltip,pt:O("tooltip")},d.tooltipOptions)))})));b.displayName="InputText";export{b as InputText};