UNPKG

primereact

Version:

PrimeReact is an open source UI library for React featuring a rich set of 80+ 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) 10.9 kB
"use strict";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/tooltip"),l=require("primereact/utils"),a=require("primereact/overlayservice"),o=require("primereact/portal"),u=require("primereact/ripple");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function c(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 f=c(e),p=s(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 g(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m(e){if(Array.isArray(e))return e}function y(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,l=[],a=!0,o=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);a=!0);}catch(e){o=!0,i=e}finally{try{a||null==n.return||n.return()}finally{if(o)throw i}}return l}}function h(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 v(e,t){if(e){if("string"==typeof e)return h(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)?h(e,t):void 0}}function b(){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 O(e,t){return m(e)||y(e,t)||v(e,t)||b()}var x=f.memo(f.forwardRef((function(e,t){var n=f.useRef(t),r=f.useRef(0),a=function(e){var t=n.current;t&&l.DomHandler.isVisible(t)&&(r.current||(r.current=t.scrollHeight,t.style.overflow="hidden"),(r.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",r.current=t.scrollHeight))},o=n.current&&n.current.value,u=f.useMemo((function(){return l.ObjectUtils.isNotEmpty(e.value)||l.ObjectUtils.isNotEmpty(e.defaultValue)||l.ObjectUtils.isNotEmpty(o)}),[e.value,e.defaultValue,o]);f.useEffect((function(){l.ObjectUtils.combinedRefs(n,t)}),[n,t]),f.useEffect((function(){e.autoResize&&a(!0)}),[e.autoResize]);var s=l.ObjectUtils.isNotEmpty(e.tooltip),c=l.ObjectUtils.findDiffKeys(e,x.defaultProps),p=l.classNames("p-inputtextarea p-inputtext p-component",{"p-disabled":e.disabled,"p-filled":u,"p-inputtextarea-resizable":e.autoResize},e.className);return f.createElement(f.Fragment,null,f.createElement("textarea",d({ref:n},c,{className:p,onFocus:function(t){e.autoResize&&a(),e.onFocus&&e.onFocus(t)},onBlur:function(t){e.autoResize&&a(),e.onBlur&&e.onBlur(t)},onKeyUp:function(t){e.autoResize&&a(),e.onKeyUp&&e.onKeyUp(t)},onInput:function(t){e.autoResize&&a(),e.onInput&&e.onInput(t);var n=t.target;l.ObjectUtils.isNotEmpty(n.value)?l.DomHandler.addClass(n,"p-filled"):l.DomHandler.removeClass(n,"p-filled")}})),s&&f.createElement(i.Tooltip,d({target:n,content:e.tooltip},e.tooltipOptions)))})));function E(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 j(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?E(Object(n),!0).forEach((function(t){g(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):E(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}x.displayName="InputTextarea",x.defaultProps={__TYPE:"InputTextarea",autoResize:!1,tooltip:null,tooltipOptions:null,onInput:null};var S=f.memo(f.forwardRef((function(e,t){var i=O(f.useState(!1),2),s=i[0],c=i[1],g=O(f.useState(!1),2),m=g[0],y=g[1],h=O(f.useState(!1),2),v=h[0],b=h[1],E=O(f.useState(null),2),w=E[0],H=E[1],D=f.useRef(null),C=f.useRef(null),I=f.useRef(e.inputRef),N=f.useRef(null),U=f.useRef(null),R=O(r.useOverlayListener({target:D,overlay:C,listener:function(e,t){t.valid&&A()},when:s}),2),k=R[0],P=R[1],T=function(){c(!0)},A=function(){c(!1),b(!1),H(null)},z=function(){l.ZIndexUtils.set("overlay",C.current,p.default.autoZIndex,p.default.zIndex.overlay),B()},F=function(){e.autoHighlight&&e.suggestions&&e.suggestions.length&&l.DomHandler.addClass(N.current.firstChild,"p-highlight")},q=function(){k(),e.onShow&&e.onShow()},_=function(){P()},M=function(){l.ZIndexUtils.clear(C.current),e.onHide&&e.onHide()},B=function(){var e=w.key,t=w.index,n=I.current.value,r=l.DomHandler.getCursorOffset(I.current,n.substring(0,t-1),n.substring(t),e);C.current.style.transformOrigin="top",C.current.style.left="calc(".concat(r.left,"px + 1rem)"),C.current.style.top="calc(".concat(r.top,"px + 1.2rem)")},K=function(e){a.OverlayService.emit("overlay-click",{originalEvent:e,target:D.current})},V=function(t,n,r){if(!w){var i=Array.isArray(e.trigger)?e.trigger.find((function(e){return e===n})):e.trigger===n?e.trigger:null;if(i)return{key:i,index:r};var l=t.substring(0,r).lastIndexOf(" "),a=Z(t,r);if(a.index>l)return a}return w},Z=function(t,n){if(Array.isArray(e.trigger)){var r={};return e.trigger.forEach((function(e){var i=t.substring(0,n).lastIndexOf(e);-1!==i&&(i>r.index||!r.index)&&(r={key:e,index:-1!==i?i+1:-1})})),r}var i=t.substring(0,n).lastIndexOf(e.trigger);return{key:e.trigger,index:-1!==i?i+1:-1}},J=function(t){U.current&&clearTimeout(U.current);var n=t.target,r=n.value,i=n.selectionStart,l=r.substring(i-1,i);if(" "!==l){var a=V(r,l,i);if(a&&a.index>-1){var o=r.substring(a.index,i);U.current=setTimeout((function(){X(t,o,a)}),e.delay)}}else A()},X=function(t,n,r){e.onSearch&&(b(!0),H(r),e.onSearch({originalEvent:t,trigger:r.key,query:n}))},Y=function(t,n){var r=I.current.value,i=t.target.selectionStart,l=r.indexOf(" ",w.index),a=r.substring(w.index,l>-1?l:i),o=L(n).replace(/\s+/g,"");if(a.trim()!==o){for(var u=0;u<o.length;){var s=o.charAt(u),c=a.charAt(u);if(s!==c&&" "!==c)break;u++}var f=r.substring(0,w.index),p=r.substring(w.index+u);I.current.value="".concat(f).concat(o," ").concat(p),e.onChange&&e.onChange(t)}var d=w.index+o.length+1;I.current.setSelectionRange(d,d),A(),e.onSelect&&e.onSelect({originalEvent:t,suggestion:n})},L=function(t){if(t){var n=Array.isArray(e.field)?e.field[e.trigger.findIndex((function(e){return e===w.key}))]:e.field;return n?l.ObjectUtils.resolveFieldData(t,n):t}return""},$=function(e,t){l.DomHandler.focus(I.current),Y(e,t)},G=I.current&&I.current.value,Q=f.useMemo((function(){return l.ObjectUtils.isNotEmpty(e.value)||l.ObjectUtils.isNotEmpty(e.defaultValue)||l.ObjectUtils.isNotEmpty(G)}),[e.value,e.defaultValue,G]);f.useImperativeHandle(t,(function(){return{props:e,show:T,hide:A,getElement:function(){return D.current},getOverlay:function(){return C.current},getInput:function(){return I.current}}})),f.useEffect((function(){l.ObjectUtils.combinedRefs(I,e.inputRef)}),[I,e.inputRef]),r.useUpdateEffect((function(){v&&(e.suggestions&&e.suggestions.length?T():A(),s&&B(),b(!1))}),[e.suggestions]),r.useUpdateEffect((function(){!Q&&l.DomHandler.hasClass(D.current,"p-inputwrapper-filled")&&l.DomHandler.removeClass(D.current,"p-inputwrapper-filled")}),[Q]),r.useUnmountEffect((function(){l.ZIndexUtils.clear(C.current)}));var W,ee,te,ne,re,ie=function(t,n){var r=n+"_item",i=e.itemTemplate?l.ObjectUtils.getJSXElement(e.itemTemplate,t,{trigger:w?w.key:"",index:n}):L(t);return f.createElement("li",{key:r,className:"p-mention-item",onClick:function(e){return $(e,t)}},i,f.createElement(u.Ripple,null))},le=function(){if(e.suggestions){var t=e.suggestions.map(ie);return f.createElement("ul",{ref:N,className:"p-mention-items"},t)}return null},ae=l.classNames("p-mention p-component p-inputwrapper",{"p-inputwrapper-filled":Q,"p-inputwrapper-focus":m},e.className),oe=l.classNames("p-mention-input",e.inputClassName),ue=l.ObjectUtils.findDiffKeys(e,S.defaultProps),se=(W=l.classNames("p-mention-panel p-component",e.panelClassName),ee=j({maxHeight:e.scrollHeight},e.panelStyle),te=l.ObjectUtils.getJSXElement(e.headerTemplate,e),ne=l.ObjectUtils.getJSXElement(e.footerTemplate,e),re=le(),f.createElement(o.Portal,{element:f.createElement(n.CSSTransition,{nodeRef:C,classNames:"p-connected-overlay",in:s,timeout:{enter:120,exit:100},options:e.transitionOptions,unmountOnExit:!0,onEnter:z,onEntering:F,onEntered:q,onExit:_,onExited:M},f.createElement("div",{ref:C,className:W,style:ee,onClick:K},te,re,ne)),appendTo:"self"}));return f.createElement("div",{ref:D,id:e.id,className:ae,style:e.style},f.createElement(x,d({ref:I,id:e.inputId,className:oe,style:e.inputStyle},ue,{onFocus:function(t){y(!0),e.onFocus&&e.onFocus(t)},onBlur:function(t){y(!1),e.onBlur&&e.onBlur(t)},onKeyDown:function(t){if(s){var n=l.DomHandler.findSingle(C.current,"li.p-highlight");switch(t.which){case 40:if(n){var r=n.nextElementSibling;r&&(l.DomHandler.addClass(r,"p-highlight"),l.DomHandler.removeClass(n,"p-highlight"),l.DomHandler.scrollInView(C.current,r))}else(n=l.DomHandler.findSingle(C.current,"li"))&&l.DomHandler.addClass(n,"p-highlight");t.preventDefault();break;case 38:if(n){var i=n.previousElementSibling;i&&(l.DomHandler.addClass(i,"p-highlight"),l.DomHandler.removeClass(n,"p-highlight"),l.DomHandler.scrollInView(C.current,i))}t.preventDefault();break;case 8:var a=t.target,o=a.selectionStart;a.value.substring(o-1,o)===w.key&&A();break;case 13:n&&Y(t,e.suggestions[l.DomHandler.index(n)]),t.preventDefault();break;case 27:A(),t.preventDefault()}}},onInput:function(t){e.onInput&&e.onInput(t),t.target.value.length>0?l.DomHandler.addClass(D.current,"p-inputwrapper-filled"):l.DomHandler.removeClass(D.current,"p-inputwrapper-filled")},onKeyUp:function(e){37!==e.which&&39!==e.which||J(e)},onChange:function(t){e.onChange&&e.onChange(t),J(t)}})),se)})));S.displayName="Mention",S.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},exports.Mention=S;