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) 3.84 kB
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 u,DomHandler as p}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)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},s.apply(null,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)||!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 m(t){var e=c(t,"string");return"symbol"==f(e)?e:e+""}function y(t,e,n){return(e=m(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var d=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 v(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 b(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?v(Object(n),!0).forEach((function(e){y(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):v(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var O=t.memo(t.forwardRef((function(n,f){var c=o(),m=t.useContext(e),y=d.getProps(n,m),v=d.setMetaData(b(b({props:y},y.__parentMetadata),{},{context:{disabled:y.disabled,iconPosition:y.iconPosition}})),O=v.ptm,P=v.cx;r(d.css.styles,v.isUnstyled,{name:"inputtext",styled:!0});var g=t.useRef(f);t.useEffect((function(){u.combinedRefs(g,f)}),[g,f]);var j=t.useMemo((function(){return u.isNotEmpty(y.value)||u.isNotEmpty(y.defaultValue)}),[y.value,y.defaultValue]),w=u.isNotEmpty(y.tooltip);t.useEffect((function(){var t;j||null!==(t=g.current)&&void 0!==t&&t.value?p.addClass(g.current,"p-filled"):p.removeClass(g.current,"p-filled")}),[y.disabled,j]);var E=c({className:a(y.className,P("root",{context:m,isFilled:j})),onBeforeInput:function(t){y.onBeforeInput&&y.onBeforeInput(t),y.keyfilter&&i.onBeforeInput(t,y.keyfilter,y.validateOnly)},onInput:function(t){var e=t.target,n=!0;y.keyfilter&&y.validateOnly&&(n=i.validate(t,y.keyfilter)),y.onInput&&y.onInput(t,n),u.isNotEmpty(e.value)?p.addClass(e,"p-filled"):p.removeClass(e,"p-filled")},onKeyDown:function(t){y.onKeyDown&&y.onKeyDown(t),y.keyfilter&&i.onKeyPress(t,y.keyfilter,y.validateOnly)},onPaste:function(t){y.onPaste&&y.onPaste(t),y.keyfilter&&i.onPaste(t,y.keyfilter,y.validateOnly)}},d.getOtherProps(y),O("root"));return t.createElement(t.Fragment,null,t.createElement("input",s({ref:g},E)),w&&t.createElement(l,s({target:g,content:y.tooltip,pt:O("tooltip")},y.tooltipOptions)))})));O.displayName="InputText";export{O as InputText};