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
this.primereact=this.primereact||{},this.primereact.mention=function(e,t,n,r,i,l,a,o,u,s){"use strict";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(t),d=c(n);function g(){return g=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},g.apply(this,arguments)}function m(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function y(e){if(Array.isArray(e))return e}function h(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 v(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 b(e,t){if(e){if("string"==typeof e)return v(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)?v(e,t):void 0}}function O(){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 E(e,t){return y(e)||h(e,t)||b(e,t)||O()}var x=p.memo(p.forwardRef((function(e,t){var n=p.useRef(t),r=p.useRef(0),i=function(e){var t=n.current;t&&a.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=p.useMemo((function(){return a.ObjectUtils.isNotEmpty(e.value)||a.ObjectUtils.isNotEmpty(e.defaultValue)||a.ObjectUtils.isNotEmpty(o)}),[e.value,e.defaultValue,o]);p.useEffect((function(){a.ObjectUtils.combinedRefs(n,t)}),[n,t]),p.useEffect((function(){e.autoResize&&i(!0)}),[e.autoResize]);var s=a.ObjectUtils.isNotEmpty(e.tooltip),c=a.ObjectUtils.findDiffKeys(e,x.defaultProps),f=a.classNames("p-inputtextarea p-inputtext p-component",{"p-disabled":e.disabled,"p-filled":u,"p-inputtextarea-resizable":e.autoResize},e.className);return p.createElement(p.Fragment,null,p.createElement("textarea",g({ref:n},c,{className:f,onFocus:function(t){e.autoResize&&i(),e.onFocus&&e.onFocus(t)},onBlur:function(t){e.autoResize&&i(),e.onBlur&&e.onBlur(t)},onKeyUp:function(t){e.autoResize&&i(),e.onKeyUp&&e.onKeyUp(t)},onInput:function(t){e.autoResize&&i(),e.onInput&&e.onInput(t);var n=t.target;a.ObjectUtils.isNotEmpty(n.value)?a.DomHandler.addClass(n,"p-filled"):a.DomHandler.removeClass(n,"p-filled")}})),s&&p.createElement(l.Tooltip,g({target:n,content:e.tooltip},e.tooltipOptions)))})));function j(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 S(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?j(Object(n),!0).forEach((function(t){m(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):j(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 w=p.memo(p.forwardRef((function(e,t){var n=E(p.useState(!1),2),l=n[0],c=n[1],f=E(p.useState(!1),2),m=f[0],y=f[1],h=E(p.useState(!1),2),v=h[0],b=h[1],O=E(p.useState(null),2),j=O[0],H=O[1],D=p.useRef(null),C=p.useRef(null),I=p.useRef(e.inputRef),N=p.useRef(null),R=p.useRef(null),U=E(i.useOverlayListener({target:D,overlay:C,listener:function(e,t){t.valid&&A()},when:l}),2),k=U[0],P=U[1],T=function(){c(!0)},A=function(){c(!1),b(!1),H(null)},z=function(){a.ZIndexUtils.set("overlay",C.current,d.default.autoZIndex,d.default.zIndex.overlay),K()},F=function(){e.autoHighlight&&e.suggestions&&e.suggestions.length&&a.DomHandler.addClass(N.current.firstChild,"p-highlight")},_=function(){k(),e.onShow&&e.onShow()},M=function(){P()},B=function(){a.ZIndexUtils.clear(C.current),e.onHide&&e.onHide()},K=function(){var e=j.key,t=j.index,n=I.current.value,r=a.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)")},V=function(e){o.OverlayService.emit("overlay-click",{originalEvent:e,target:D.current})},Z=function(t,n,r){if(!j){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=J(t,r);if(a.index>l)return a}return j},J=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}},X=function(t){R.current&&clearTimeout(R.current);var n=t.target,r=n.value,i=n.selectionStart,l=r.substring(i-1,i);if(" "!==l){var a=Z(r,l,i);if(a&&a.index>-1){var o=r.substring(a.index,i);R.current=setTimeout((function(){Y(t,o,a)}),e.delay)}}else A()},Y=function(t,n,r){e.onSearch&&(b(!0),H(r),e.onSearch({originalEvent:t,trigger:r.key,query:n}))},q=function(t,n){var r=I.current.value,i=t.target.selectionStart,l=r.indexOf(" ",j.index),a=r.substring(j.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,j.index),p=r.substring(j.index+u);I.current.value="".concat(f).concat(o," ").concat(p),e.onChange&&e.onChange(t)}var d=j.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===j.key}))]:e.field;return n?a.ObjectUtils.resolveFieldData(t,n):t}return""},$=function(e,t){a.DomHandler.focus(I.current),q(e,t)},G=I.current&&I.current.value,Q=p.useMemo((function(){return a.ObjectUtils.isNotEmpty(e.value)||a.ObjectUtils.isNotEmpty(e.defaultValue)||a.ObjectUtils.isNotEmpty(G)}),[e.value,e.defaultValue,G]);p.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}}})),p.useEffect((function(){a.ObjectUtils.combinedRefs(I,e.inputRef)}),[I,e.inputRef]),i.useUpdateEffect((function(){v&&(e.suggestions&&e.suggestions.length?T():A(),l&&K(),b(!1))}),[e.suggestions]),i.useUpdateEffect((function(){!Q&&a.DomHandler.hasClass(D.current,"p-inputwrapper-filled")&&a.DomHandler.removeClass(D.current,"p-inputwrapper-filled")}),[Q]),i.useUnmountEffect((function(){a.ZIndexUtils.clear(C.current)}));var W,ee,te,ne,re,ie=function(t,n){var r=n+"_item",i=e.itemTemplate?a.ObjectUtils.getJSXElement(e.itemTemplate,t,{trigger:j?j.key:"",index:n}):L(t);return p.createElement("li",{key:r,className:"p-mention-item",onClick:function(e){return $(e,t)}},i,p.createElement(s.Ripple,null))},le=function(){if(e.suggestions){var t=e.suggestions.map(ie);return p.createElement("ul",{ref:N,className:"p-mention-items"},t)}return null},ae=a.classNames("p-mention p-component p-inputwrapper",{"p-inputwrapper-filled":Q,"p-inputwrapper-focus":m},e.className),oe=a.classNames("p-mention-input",e.inputClassName),ue=a.ObjectUtils.findDiffKeys(e,w.defaultProps),se=(W=a.classNames("p-mention-panel p-component",e.panelClassName),ee=S({maxHeight:e.scrollHeight},e.panelStyle),te=a.ObjectUtils.getJSXElement(e.headerTemplate,e),ne=a.ObjectUtils.getJSXElement(e.footerTemplate,e),re=le(),p.createElement(u.Portal,{element:p.createElement(r.CSSTransition,{nodeRef:C,classNames:"p-connected-overlay",in:l,timeout:{enter:120,exit:100},options:e.transitionOptions,unmountOnExit:!0,onEnter:z,onEntering:F,onEntered:_,onExit:M,onExited:B},p.createElement("div",{ref:C,className:W,style:ee,onClick:V},te,re,ne)),appendTo:"self"}));return p.createElement("div",{ref:D,id:e.id,className:ae,style:e.style},p.createElement(x,g({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(l){var n=a.DomHandler.findSingle(C.current,"li.p-highlight");switch(t.which){case 40:if(n){var r=n.nextElementSibling;r&&(a.DomHandler.addClass(r,"p-highlight"),a.DomHandler.removeClass(n,"p-highlight"),a.DomHandler.scrollInView(C.current,r))}else(n=a.DomHandler.findSingle(C.current,"li"))&&a.DomHandler.addClass(n,"p-highlight");t.preventDefault();break;case 38:if(n){var i=n.previousElementSibling;i&&(a.DomHandler.addClass(i,"p-highlight"),a.DomHandler.removeClass(n,"p-highlight"),a.DomHandler.scrollInView(C.current,i))}t.preventDefault();break;case 8:var o=t.target,u=o.selectionStart;o.value.substring(u-1,u)===j.key&&A();break;case 13:n&&q(t,e.suggestions[a.DomHandler.index(n)]),t.preventDefault();break;case 27:A(),t.preventDefault()}}},onInput:function(t){e.onInput&&e.onInput(t),t.target.value.length>0?a.DomHandler.addClass(D.current,"p-inputwrapper-filled"):a.DomHandler.removeClass(D.current,"p-inputwrapper-filled")},onKeyUp:function(e){37!==e.which&&39!==e.which||X(e)},onChange:function(t){e.onChange&&e.onChange(t),X(t)}})),se)})));return w.displayName="Mention",w.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},e.Mention=w,Object.defineProperty(e,"__esModule",{value:!0}),e}({},React,primereact.api,primereact.csstransition,primereact.hooks,primereact.tooltip,primereact.utils,primereact.overlayservice,primereact.portal,primereact.ripple);