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) • 12.3 kB
JavaScript
Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/api"),n=require("primereact/csstransition"),r=require("primereact/hooks"),i=require("primereact/keyfilter"),l=require("primereact/tooltip"),o=require("primereact/utils"),u=require("primereact/overlayservice"),a=require("primereact/portal"),s=require("primereact/ripple");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function f(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 p=f(e),g=c(t);function d(){return d=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},d.apply(this,arguments)}function m(e){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},m(e)}function y(e,t){if("object"!==m(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==m(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function v(e){var t=y(e,"string");return"symbol"===m(t)?t:String(t)}function h(e,t,n){return(t=v(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function b(e){if(Array.isArray(e))return e}function O(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,l,o,u=[],a=!0,s=!1;try{if(l=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;a=!1}else for(;!(a=(r=l.call(n)).done)&&(u.push(r.value),u.length!==t);a=!0);}catch(e){s=!0,i=e}finally{try{if(!a&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw i}}return u}}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function j(e,t){if(e){if("string"==typeof e)return E(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?E(e,t):void 0}}function x(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function S(e,t){return b(e)||O(e,t)||j(e,t)||x()}var w={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,w.defaultProps)},getOtherProps:function(e){return o.ObjectUtils.getDiffProps(e,w.defaultProps)}},P=p.memo(p.forwardRef((function(e,t){var n=w.getProps(e),r=p.useRef(t),u=p.useRef(0),a=function(e){var t=r.current;t&&o.DomHandler.isVisible(t)&&(u.current||(u.current=t.scrollHeight,t.style.overflow="hidden"),(u.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",u.current=t.scrollHeight))},s=r.current&&r.current.value,c=p.useMemo((function(){return o.ObjectUtils.isNotEmpty(n.value)||o.ObjectUtils.isNotEmpty(n.defaultValue)||o.ObjectUtils.isNotEmpty(s)}),[n.value,n.defaultValue,s]);p.useEffect((function(){o.ObjectUtils.combinedRefs(r,t)}),[r,t]),p.useEffect((function(){n.autoResize&&a(!0)}),[n.autoResize]);var f=o.ObjectUtils.isNotEmpty(n.tooltip),g=w.getOtherProps(n),m=o.classNames("p-inputtextarea p-inputtext p-component",{"p-disabled":n.disabled,"p-filled":c,"p-inputtextarea-resizable":n.autoResize},n.className);return p.createElement(p.Fragment,null,p.createElement("textarea",d({ref:r},g,{className:m,onFocus:function(e){n.autoResize&&a(),n.onFocus&&n.onFocus(e)},onBlur:function(e){n.autoResize&&a(),n.onBlur&&n.onBlur(e)},onKeyUp:function(e){n.autoResize&&a(),n.onKeyUp&&n.onKeyUp(e)},onKeyDown:function(e){n.onKeyDown&&n.onKeyDown(e),n.keyfilter&&i.KeyFilter.onKeyPress(e,n.keyfilter,n.validateOnly)},onInput:function(e){n.autoResize&&a(),n.onInput&&n.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){n.onPaste&&n.onPaste(e),n.keyfilter&&i.KeyFilter.onPaste(e,n.keyfilter,n.validateOnly)}})),f&&p.createElement(l.Tooltip,d({target:r,content:n.tooltip},n.tooltipOptions)))})));P.displayName="InputTextarea";var D={defaultProps:{__TYPE:"Mention",autoHighlight:!0,className:null,delay:0,field:null,footerTemplate:null,headerTemplate:null,id:null,inputClassName:null,inputId:null,inputRef:null,inputStyle:null,itemTemplate:null,panelClassName:null,panelStyle:null,scrollHeight:"200px",style:null,suggestions:null,transitionOptions:null,trigger:"@",onBlur:null,onChange:null,onFocus:null,onHide:null,onInput:null,onSearch:null,onSelect:null,onShow:null,children:void 0},getProps:function(e){return o.ObjectUtils.getMergedProps(e,D.defaultProps)},getOtherProps:function(e){return o.ObjectUtils.getDiffProps(e,D.defaultProps)}};function H(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function U(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?H(Object(n),!0).forEach((function(t){h(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):H(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var N=p.memo(p.forwardRef((function(e,t){var i=D.getProps(e),l=S(p.useState(!1),2),c=l[0],f=l[1],m=S(p.useState(!1),2),y=m[0],v=m[1],h=S(p.useState(!1),2),b=h[0],O=h[1],E=S(p.useState(null),2),j=E[0],x=E[1],w=p.useRef(null),H=p.useRef(null),N=p.useRef(i.inputRef),C=p.useRef(null),I=p.useRef(null),k=S(r.useOverlayListener({target:w,overlay:H,listener:function(e,t){t.valid&&F()},when:c}),2),R=k[0],T=k[1],A=function(){f(!0)},F=function(){f(!1),O(!1),x(null)},K=function(){o.ZIndexUtils.set("overlay",H.current,g.default.autoZIndex,g.default.zIndex.overlay),B()},q=function(){i.autoHighlight&&i.suggestions&&i.suggestions.length&&o.DomHandler.addClass(C.current.firstChild,"p-highlight")},z=function(){R(),i.onShow&&i.onShow()},M=function(){T()},_=function(){o.ZIndexUtils.clear(H.current),i.onHide&&i.onHide()},B=function(){var e=j.key,t=j.index,n=N.current.value,r=o.DomHandler.getCursorOffset(N.current,n.substring(0,t-1),n.substring(t),e);H.current.style.transformOrigin="top",H.current.style.left="calc(".concat(r.left,"px + 1rem)"),H.current.style.top="calc(".concat(r.top,"px + 1.2rem)")},V=function(e){u.OverlayService.emit("overlay-click",{originalEvent:e,target:w.current})},Z=function(e,t,n){if(!j){var r=Array.isArray(i.trigger)?i.trigger.find((function(e){return e===t})):i.trigger===t?i.trigger:null;if(r)return{key:r,index:n};var l=e.substring(0,n).lastIndexOf(" "),o=J(e,n);if(o.index>l)return o}return j},J=function(e,t){if(Array.isArray(i.trigger)){var n={};return i.trigger.forEach((function(r){var i=e.substring(0,t).lastIndexOf(r);-1!==i&&(i>n.index||!n.index)&&(n={key:r,index:-1!==i?i+1:-1})})),n}var r=e.substring(0,t).lastIndexOf(i.trigger);return{key:i.trigger,index:-1!==r?r+1:-1}},X=function(e){I.current&&clearTimeout(I.current);var t=e.target,n=t.value,r=t.selectionStart,l=n.substring(r-1,r);if(" "!==l){var o=Z(n,l,r);if(o&&o.index>-1){var u=n.substring(o.index,r);I.current=setTimeout((function(){Y(e,u,o)}),i.delay)}}else F()},Y=function(e,t,n){i.onSearch&&(O(!0),x(n),i.onSearch({originalEvent:e,trigger:n.key,query:t}))},L=function(e,t){var n=N.current.value,r=e.target.selectionStart,l=n.indexOf(" ",j.index),o=n.substring(j.index,l>-1?l:r),u=$(t).replace(/\s+/g,"");if(o.trim()!==u){for(var a=0;a<u.length;){var s=u.charAt(a),c=o.charAt(a);if(s!==c&&" "!==c)break;a++}var f=n.substring(0,j.index),p=n.substring(j.index+a);N.current.value="".concat(f).concat(u," ").concat(p),i.onChange&&i.onChange(e)}var g=j.index+u.length+1;N.current.setSelectionRange(g,g),F(),i.onSelect&&i.onSelect({originalEvent:e,suggestion:t})},$=function(e){if(e){var t=Array.isArray(i.field)?i.field[i.trigger.findIndex((function(e){return e===j.key}))]:i.field;return t?o.ObjectUtils.resolveFieldData(e,t):e}return""},G=function(e,t){o.DomHandler.focus(N.current),L(e,t)},Q=N.current&&N.current.value,W=p.useMemo((function(){return o.ObjectUtils.isNotEmpty(i.value)||o.ObjectUtils.isNotEmpty(i.defaultValue)||o.ObjectUtils.isNotEmpty(Q)}),[i.value,i.defaultValue,Q]);p.useImperativeHandle(t,(function(){return{props:i,show:A,hide:F,focus:function(){return o.DomHandler.focus(N.current)},getElement:function(){return w.current},getOverlay:function(){return H.current},getInput:function(){return N.current}}})),p.useEffect((function(){o.ObjectUtils.combinedRefs(N,i.inputRef)}),[N,i.inputRef]),r.useUpdateEffect((function(){b&&(i.suggestions&&i.suggestions.length?A():F(),c&&B(),O(!1))}),[i.suggestions]),r.useUpdateEffect((function(){!W&&o.DomHandler.hasClass(w.current,"p-inputwrapper-filled")&&o.DomHandler.removeClass(w.current,"p-inputwrapper-filled")}),[W]),r.useUnmountEffect((function(){o.ZIndexUtils.clear(H.current)}));var ee,te,ne,re,ie,le=function(e,t){var n=t+"_item",r=i.itemTemplate?o.ObjectUtils.getJSXElement(i.itemTemplate,e,{trigger:j?j.key:"",index:t}):$(e);return p.createElement("li",{key:n,className:"p-mention-item",onClick:function(t){return G(t,e)}},r,p.createElement(s.Ripple,null))},oe=function(){if(i.suggestions){var e=i.suggestions.map(le);return p.createElement("ul",{ref:C,className:"p-mention-items"},e)}return null},ue=o.classNames("p-mention p-component p-inputwrapper",{"p-inputwrapper-filled":W,"p-inputwrapper-focus":y},i.className),ae=o.classNames("p-mention-input",i.inputClassName),se=D.getOtherProps(i),ce=(ee=o.classNames("p-mention-panel p-component",i.panelClassName),te=U({maxHeight:i.scrollHeight},i.panelStyle),ne=o.ObjectUtils.getJSXElement(i.headerTemplate,i),re=o.ObjectUtils.getJSXElement(i.footerTemplate,i),ie=oe(),p.createElement(a.Portal,{element:p.createElement(n.CSSTransition,{nodeRef:H,classNames:"p-connected-overlay",in:c,timeout:{enter:120,exit:100},options:i.transitionOptions,unmountOnExit:!0,onEnter:K,onEntering:q,onEntered:z,onExit:M,onExited:_},p.createElement("div",{ref:H,className:ee,style:te,onClick:V},ne,ie,re)),appendTo:"self"}));return p.createElement("div",{ref:w,id:i.id,className:ue,style:i.style},p.createElement(P,d({ref:N,id:i.inputId,className:ae,style:i.inputStyle},se,{onFocus:function(e){v(!0),i.onFocus&&i.onFocus(e)},onBlur:function(e){v(!1),i.onBlur&&i.onBlur(e)},onKeyDown:function(e){if(c){var t=o.DomHandler.findSingle(H.current,"li.p-highlight");switch(e.which){case 40:if(t){var n=t.nextElementSibling;n&&(o.DomHandler.addClass(n,"p-highlight"),o.DomHandler.removeClass(t,"p-highlight"),o.DomHandler.scrollInView(H.current,n))}else(t=o.DomHandler.findSingle(H.current,"li"))&&o.DomHandler.addClass(t,"p-highlight");e.preventDefault();break;case 38:if(t){var r=t.previousElementSibling;r&&(o.DomHandler.addClass(r,"p-highlight"),o.DomHandler.removeClass(t,"p-highlight"),o.DomHandler.scrollInView(H.current,r))}e.preventDefault();break;case 8:var l=e.target,u=l.selectionStart;l.value.substring(u-1,u)===j.key&&F();break;case 13:t&&L(e,i.suggestions[o.DomHandler.index(t)]),e.preventDefault();break;case 27:F(),e.preventDefault()}}},onInput:function(e){i.onInput&&i.onInput(e),e.target.value.length>0?o.DomHandler.addClass(w.current,"p-inputwrapper-filled"):o.DomHandler.removeClass(w.current,"p-inputwrapper-filled")},onKeyUp:function(e){37!==e.which&&39!==e.which||X(e)},onChange:function(e){i.onChange&&i.onChange(e),X(e)}})),ce)})));N.displayName="Mention",exports.Mention=N;
;