"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/api"),n=require("primereact/componentbase"),r=require("primereact/csstransition"),i=require("primereact/hooks"),o=require("primereact/keyfilter"),l=require("primereact/tooltip"),a=require("primereact/utils"),u=require("primereact/overlayservice"),s=require("primereact/portal"),c=require("primereact/ripple");function p(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 d=f(e),m=p(t);function y(){return y=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n=parseFloat(t.style.maxHeight)?(t.style.overflowY="scroll",t.style.height=t.style.maxHeight):t.style.overflow="hidden",f.current=t.scrollHeight))},h=function(){if(a.DomHandler.isVisible(p.current)){var e=p.current.getBoundingClientRect();return e.width>0&&e.height>0}return!1};d.useEffect((function(){a.ObjectUtils.combinedRefs(p,r)}),[p,r]),d.useEffect((function(){c.autoResize&&b(!0)}),[c.autoResize,c.value]);var O=d.useMemo((function(){return a.ObjectUtils.isNotEmpty(c.value)||a.ObjectUtils.isNotEmpty(c.defaultValue)}),[c.value,c.defaultValue]),x=a.ObjectUtils.isNotEmpty(c.tooltip),w=u({ref:p,className:a.classNames(c.className,v("root",{context:s,isFilled:O})),onFocus:function(e){c.autoResize&&b(),c.onFocus&&c.onFocus(e)},onBlur:function(e){c.autoResize&&b(),c.onBlur&&c.onBlur(e)},onKeyUp:function(e){c.autoResize&&b(),c.onKeyUp&&c.onKeyUp(e)},onKeyDown:function(e){c.onKeyDown&&c.onKeyDown(e),c.keyfilter&&o.KeyFilter.onKeyPress(e,c.keyfilter,c.validateOnly)},onBeforeInput:function(e){c.onBeforeInput&&c.onBeforeInput(e),c.keyfilter&&o.KeyFilter.onBeforeInput(e,c.keyfilter,c.validateOnly)},onInput:function(e){var t=e.target;c.autoResize&&b(a.ObjectUtils.isEmpty(t.value)),c.onInput&&c.onInput(e),a.ObjectUtils.isNotEmpty(t.value)?a.DomHandler.addClass(t,"p-filled"):a.DomHandler.removeClass(t,"p-filled")},onPaste:function(e){c.onPaste&&c.onPaste(e),c.keyfilter&&o.KeyFilter.onPaste(e,c.keyfilter,c.validateOnly)}},N.getOtherProps(c),g("root"));return d.createElement(d.Fragment,null,d.createElement("textarea",w),x&&d.createElement(l.Tooltip,y({target:p,content:c.tooltip,pt:g("tooltip")},c.tooltipOptions)))})));C.displayName="InputTextarea";var U=n.ComponentBase.extend({defaultProps:{__TYPE:"Mention",autoHighlight:!0,autoResize:!1,className:null,delay:0,field:null,footerTemplate:null,headerTemplate:null,id:null,inputClassName:null,inputId:null,inputRef:null,inputStyle:null,itemTemplate:null,onBlur:null,onChange:null,onFocus:null,onHide:null,onInput:null,onSearch:null,onSelect:null,onShow:null,panelClassName:null,panelStyle:null,scrollHeight:"200px",style:null,suggestions:null,transitionOptions:null,trigger:"@",variant:null,children:void 0},css:{classes:{item:function(e){return a.classNames("p-mention-item",{"p-highlight":e.isSelected})},items:"p-mention-items",panel:function(e){return a.classNames("p-mention-panel p-component",e.props.panelClassName)},input:function(e){return a.classNames("p-mention-input",e.props.inputClassName)},root:function(e){return a.classNames("p-mention p-component p-inputwrapper",{"p-inputwrapper-filled":e.isFilled,"p-inputwrapper-focus":e.focusedState})},transition:"p-connected-overlay"},styles:"\n@layer primereact {\n .p-mention {\n display: inline-flex;\n position: relative;\n }\n \n .p-autocomplete-loader {\n position: absolute;\n top: 50%;\n margin-top: -.5rem;\n }\n \n .p-mention .p-mention-panel {\n min-width: 100%;\n }\n \n .p-mention-panel {\n position: absolute;\n top: 0;\n left: 0;\n overflow: auto;\n }\n \n .p-mention-items {\n margin: 0;\n padding: 0;\n list-style-type: none;\n }\n \n .p-mention-item {\n cursor: pointer;\n white-space: nowrap;\n position: relative;\n overflow: hidden;\n }\n \n .p-fluid .p-mention {\n display: flex;\n }\n}\n"}});function F(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 T(e){for(var t=1;ti)return o}return P},le=function(e,t){if(Array.isArray(f.trigger)){var n={};return f.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(f.trigger);return{key:f.trigger,index:-1!==r?r+1:-1}},ae=function(e){M.current&&clearTimeout(M.current);var t=e.target,n=t.value,r=t.selectionStart,i=n.substring(r-1,r);if(" "!==i){var o=oe(n,i,r);if(o&&o.index>-1){var l=n.substring(o.index,r);M.current=setTimeout((function(){ue(e,l,o)}),f.delay)}}else G()},ue=function(e,t,n){f.onSearch&&(E(!0),H(n),f.onSearch({originalEvent:e,trigger:n.key,query:t}))},se=function(e,t){var n=z.current,r=n.value,i=n.selectionStart,o=r.indexOf(" ",P.index),l=r.substring(P.index,o>-1?o:i),a=ce(t).replace(/\s+/g,"");if(l.trim()!==a){var u=r.substring(0,P.index),s=r.substring(o>-1?i:P.index+l.length);z.current.value=" "===s[0]?"".concat(u).concat(a).concat(s):"".concat(u).concat(a," ").concat(s),e.target=z.current,f.onChange&&f.onChange(e)}var c=P.index+a.length+1;z.current.setSelectionRange(c,c),G(),f.onSelect&&f.onSelect({originalEvent:e,suggestion:t})},ce=function(e){if(e){var t=Array.isArray(f.field)?f.field[f.trigger.findIndex((function(e){return e===P.key}))]:f.field;return t?a.ObjectUtils.resolveFieldData(e,t):e}return""},pe=function(e,t){a.DomHandler.focus(z.current),se(e,t)},fe=z.current&&z.current.value,de=d.useMemo((function(){return a.ObjectUtils.isNotEmpty(f.value)||a.ObjectUtils.isNotEmpty(f.defaultValue)||a.ObjectUtils.isNotEmpty(fe)}),[f.value,f.defaultValue,fe]);d.useImperativeHandle(o,(function(){return{props:f,show:$,hide:G,focus:function(){return a.DomHandler.focus(z.current)},getElement:function(){return F.current},getOverlay:function(){return A.current},getInput:function(){return z.current}}})),d.useEffect((function(){a.ObjectUtils.combinedRefs(z,f.inputRef)}),[z,f.inputRef]),i.useUpdateEffect((function(){var e=f.suggestions&&f.suggestions.length;if(e){var t=f.suggestions.map((function(){return!1}));k(t)}j&&(e?$():G(),v&&re(),E(!1))}),[f.suggestions]),i.useUpdateEffect((function(){var e=Z(),t=e?a.DomHandler.isAttributeEquals(F.current,"data-p-inputwrapper-filled",!0):a.DomHandler.hasClass(F.current,"p-inputwrapper-filled");!de&&t&&(e?a.DomHandler.setAttributes(F.current,{"data-p-inputwrapper-filled":!1}):a.DomHandler.removeClass(F.current,"p-inputwrapper-filled"))}),[de]),i.useUnmountEffect((function(){a.ZIndexUtils.clear(A.current)}));var me=function(e,t){var n=t+"_item",r=f.itemTemplate?a.ObjectUtils.getJSXElement(f.itemTemplate,e,{trigger:P?P.key:"",index:t}):ce(e),i=R[t],o=l({className:V("item",{isSelected:i}),onClick:function(t){return pe(t,e)},"data-p-highlight":i},J(0,"item",{selected:i}));return d.createElement("li",y({},o,{key:n}),r,d.createElement(c.Ripple,null))},ye=function(){var e=l({ref:B,className:V("items")},q("items"));if(f.suggestions){var t=f.suggestions.map(me);return d.createElement("ul",e,t)}return null},ge=U.getOtherProps(f),ve=function(){var e=a.ObjectUtils.getJSXElement(f.headerTemplate,f),t=a.ObjectUtils.getJSXElement(f.footerTemplate,f),n=ye(),i=l({ref:A,className:V("panel"),style:T({maxHeight:f.scrollHeight},f.panelStyle),onClick:ie},q("panel")),o=l({classNames:V("transition"),in:v,timeout:{enter:120,exit:100},options:f.transitionOptions,unmountOnExit:!0,onEnter:Q,onEntering:W,onEntered:ee,onExit:te,onExited:ne},q("transition")),u=d.createElement(r.CSSTransition,y({nodeRef:A},o),d.createElement("div",i,e,n,t));return d.createElement(s.Portal,{element:u,appendTo:"self"})}(),be=l(T(T({ref:z,id:f.inputId,className:V("input"),style:f.inputStyle},ge),{},{unstyled:f.unstyled,variant:f.variant,autoResize:f.autoResize,onFocus:function(e){w(!0),f.onFocus&&f.onFocus(e)},onBlur:function(e){w(!1),f.onBlur&&f.onBlur(e)},onKeyDown:function(e){if(v){var t=a.DomHandler.findSingle(A.current,'li[data-p-highlight="true"]');switch(e.which){case 40:if(t){var n=t.nextElementSibling;if(n){var r=a.DomHandler.index(n),i=a.DomHandler.index(t);k((function(e){var t=x(e);return t[r]=!0,t[i]=!1,t})),a.DomHandler.scrollInView(A.current,n)}}else if(t=a.DomHandler.findSingle(A.current,"li")){var o=a.DomHandler.index(t);k((function(e){var t=x(e);return t[o]=!0,t}))}e.preventDefault();break;case 38:if(t){var l=t.previousElementSibling;if(l){var u=a.DomHandler.index(l),s=a.DomHandler.index(t);k((function(e){var t=x(e);return t[u]=!0,t[s]=!1,t})),a.DomHandler.scrollInView(A.current,l)}}e.preventDefault();break;case 8:var c=e.target,p=c.selectionStart;c.value.substring(p-1,p)===P.key&&G();break;case 13:t&&se(e,f.suggestions[a.DomHandler.index(t)]),e.preventDefault();break;case 27:G(),e.preventDefault()}}},onInput:function(e){f.onInput&&f.onInput(e);var t=e.target.value.length>0;Z()?a.DomHandler.setAttributes(F.current,{"data-p-inputwrapper-filled":t}):t?a.DomHandler.addClass(F.current,"p-inputwrapper-filled"):a.DomHandler.removeClass(F.current,"p-inputwrapper-filled")},onKeyUp:function(e){37!==e.which&&39!==e.which||ae(e)},onChange:function(e){f.onChange&&f.onChange(e),ae(e)},__parentMetadata:{parent:_}}),q("input")),he=l({ref:F,id:f.id,className:a.classNames(f.className,V("root",{focusedState:O,isFilled:de})),style:f.style},U.getOtherProps(f),q("root"));return d.createElement("div",he,d.createElement(C,be),ve)})));A.displayName="Mention",exports.Mention=A;