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) 16.3 kB
this.primereact=this.primereact||{},this.primereact.mention=function(e,t,n,r,i,o,l,a,u,s,c,p){"use strict";function f(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function d(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 m=d(t),y=f(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)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},g.apply(null,arguments)}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function b(e){if(Array.isArray(e))return v(e)}function h(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function O(e,t){if(e){if("string"==typeof e)return v(e,t);var n={}.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 x(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function w(e){return b(e)||h(e)||O(e)||x()}function S(e){return S="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},S(e)}function j(e,t){if("object"!=S(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=S(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function E(e){var t=j(e,"string");return"symbol"==S(t)?t:t+""}function D(e,t,n){return(t=E(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function P(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,o,l,a=[],u=!0,s=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=o.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){s=!0,i=e}finally{try{if(!u&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw i}}return a}}function I(){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 R(e,t){return P(e)||H(e,t)||O(e,t)||I()}var N=r.ComponentBase.extend({defaultProps:{__TYPE:"InputTextarea",__parentMetadata:null,autoResize:!1,invalid:!1,variant:null,keyfilter:null,onBlur:null,onFocus:null,onBeforeInput:null,onInput:null,onKeyDown:null,onKeyUp:null,onPaste:null,tooltip:null,tooltipOptions:null,validateOnly:!1,children:void 0,className:null},css:{classes:{root:function(e){var t=e.props,n=e.context;return u.classNames("p-inputtextarea p-inputtext p-component",{"p-disabled":t.disabled,"p-filled":e.isFilled,"p-inputtextarea-resizable":t.autoResize,"p-invalid":t.invalid,"p-variant-filled":t.variant?"filled"===t.variant:n&&"filled"===n.inputStyle})}},styles:"\n@layer primereact {\n .p-inputtextarea-resizable {\n overflow: hidden;\n resize: none;\n }\n \n .p-fluid .p-inputtextarea {\n width: 100%;\n }\n}\n"}});function k(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 C(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?k(Object(n),!0).forEach((function(t){D(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):k(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var U=m.memo(m.forwardRef((function(e,t){var i=o.useMergeProps(),s=m.useContext(n.PrimeReactContext),c=N.getProps(e,s),p=m.useRef(t),f=m.useRef(0),d=N.setMetaData(C(C({props:c},c.__parentMetadata),{},{context:{disabled:c.disabled}})),y=d.ptm,v=d.cx;r.useHandleStyle(N.css.styles,d.isUnstyled,{name:"inputtextarea"});var b=function(e){var t=p.current;t&&h()&&(f.current||(f.current=t.scrollHeight,t.style.overflow="hidden"),(f.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",f.current=t.scrollHeight))},h=function(){if(u.DomHandler.isVisible(p.current)){var e=p.current.getBoundingClientRect();return e.width>0&&e.height>0}return!1};m.useEffect((function(){u.ObjectUtils.combinedRefs(p,t)}),[p,t]),m.useEffect((function(){c.autoResize&&b(!0)}),[c.autoResize,c.value]);var O=m.useMemo((function(){return u.ObjectUtils.isNotEmpty(c.value)||u.ObjectUtils.isNotEmpty(c.defaultValue)}),[c.value,c.defaultValue]),x=u.ObjectUtils.isNotEmpty(c.tooltip),w=i({ref:p,className:u.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&&l.KeyFilter.onKeyPress(e,c.keyfilter,c.validateOnly)},onBeforeInput:function(e){c.onBeforeInput&&c.onBeforeInput(e),c.keyfilter&&l.KeyFilter.onBeforeInput(e,c.keyfilter,c.validateOnly)},onInput:function(e){var t=e.target;c.autoResize&&b(u.ObjectUtils.isEmpty(t.value)),c.onInput&&c.onInput(e),u.ObjectUtils.isNotEmpty(t.value)?u.DomHandler.addClass(t,"p-filled"):u.DomHandler.removeClass(t,"p-filled")},onPaste:function(e){c.onPaste&&c.onPaste(e),c.keyfilter&&l.KeyFilter.onPaste(e,c.keyfilter,c.validateOnly)}},N.getOtherProps(c),y("root"));return m.createElement(m.Fragment,null,m.createElement("textarea",w),x&&m.createElement(a.Tooltip,g({target:p,content:c.tooltip,pt:y("tooltip")},c.tooltipOptions)))})));U.displayName="InputTextarea";var F=r.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 u.classNames("p-mention-item",{"p-highlight":e.isSelected})},items:"p-mention-items",panel:function(e){return u.classNames("p-mention-panel p-component",e.props.panelClassName)},input:function(e){return u.classNames("p-mention-input",e.props.inputClassName)},root:function(e){return u.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 T(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 A(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?T(Object(n),!0).forEach((function(t){D(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):T(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var z=m.memo(m.forwardRef((function(e,t){var l=o.useMergeProps(),a=m.useContext(n.PrimeReactContext),f=F.getProps(e,a),d=R(m.useState(!1),2),v=d[0],b=d[1],h=R(m.useState(!1),2),O=h[0],x=h[1],S=R(m.useState(!1),2),j=S[0],E=S[1],D=R(m.useState(null),2),P=D[0],H=D[1],I=R(m.useState([]),2),N=I[0],k=I[1],C=m.useRef(null),T=m.useRef(null),z=m.useRef(f.inputRef),B=m.useRef(null),M=m.useRef(null),_={props:f,state:{overlayVisible:v,focused:O,searching:j,trigger:P}},K=F.setMetaData(_),V=K.ptm,Z=K.cx,J=K.isUnstyled;r.useHandleStyle(F.css.styles,J,{name:"mention"});var X=function(e,t,n){return V(t,{context:{trigger:P?P.key:""},state:A({},n)})},Y=R(o.useOverlayListener({target:C,overlay:T,listener:function(e,t){t.valid&&(a.hideOverlaysOnDocumentScrolling||"outside"===t.type?G():u.DomHandler.isDocument(e.target)||re())},when:v}),2),q=Y[0],L=Y[1],$=function(){b(!0)},G=function(){b(!1),E(!1),H(null)},Q=function(){u.ZIndexUtils.set("overlay",T.current,a&&a.autoZIndex||y.default.autoZIndex,a&&a.zIndex.overlay||y.default.zIndex.overlay),u.DomHandler.addStyles(T.current,{position:"absolute",top:"0",left:"0"}),re()},W=function(){f.autoHighlight&&f.suggestions&&f.suggestions.length&&k((function(e){var t=w(e);return t[0]=!0,t}))},ee=function(){q(),f.onShow&&f.onShow()},te=function(){L()},ne=function(){u.ZIndexUtils.clear(T.current),f.onHide&&f.onHide()},re=function(){if(P){var e=P.key,t=P.index,n=z.current.value,r=u.DomHandler.getCursorOffset(z.current,n.substring(0,t-1),n.substring(t),e);T.current.style.transformOrigin="top",T.current.style.left="calc(".concat(r.left,"px + 1rem)"),T.current.style.top="calc(".concat(r.top,"px + 1.2rem)")}},ie=function(e){s.OverlayService.emit("overlay-click",{originalEvent:e,target:C.current})},oe=function(e,t,n){if(!P){var r=Array.isArray(f.trigger)?f.trigger.find((function(e){return e===t})):f.trigger===t?f.trigger:null;if(r)return{key:r,index:n};var i=e.substring(0,n).lastIndexOf(" "),o=le(e,n);if(o.index>i)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?u.ObjectUtils.resolveFieldData(e,t):e}return""},pe=function(e,t){u.DomHandler.focus(z.current),se(e,t)},fe=z.current&&z.current.value,de=m.useMemo((function(){return u.ObjectUtils.isNotEmpty(f.value)||u.ObjectUtils.isNotEmpty(f.defaultValue)||u.ObjectUtils.isNotEmpty(fe)}),[f.value,f.defaultValue,fe]);m.useImperativeHandle(t,(function(){return{props:f,show:$,hide:G,focus:function(){return u.DomHandler.focus(z.current)},getElement:function(){return C.current},getOverlay:function(){return T.current},getInput:function(){return z.current}}})),m.useEffect((function(){u.ObjectUtils.combinedRefs(z,f.inputRef)}),[z,f.inputRef]),o.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]),o.useUpdateEffect((function(){var e=J(),t=e?u.DomHandler.isAttributeEquals(C.current,"data-p-inputwrapper-filled",!0):u.DomHandler.hasClass(C.current,"p-inputwrapper-filled");!de&&t&&(e?u.DomHandler.setAttributes(C.current,{"data-p-inputwrapper-filled":!1}):u.DomHandler.removeClass(C.current,"p-inputwrapper-filled"))}),[de]),o.useUnmountEffect((function(){u.ZIndexUtils.clear(T.current)}));var me=function(e,t){var n=t+"_item",r=f.itemTemplate?u.ObjectUtils.getJSXElement(f.itemTemplate,e,{trigger:P?P.key:"",index:t}):ce(e),i=N[t],o=l({key:n,className:Z("item",{isSelected:i}),onClick:function(t){return pe(t,e)},"data-p-highlight":i},X(0,"item",{selected:i}));return m.createElement("li",o,r,m.createElement(p.Ripple,null))},ye=function(){var e=l({ref:B,className:Z("items")},V("items"));if(f.suggestions){var t=f.suggestions.map(me);return m.createElement("ul",e,t)}return null},ge=F.getOtherProps(f),ve=function(){var e=u.ObjectUtils.getJSXElement(f.headerTemplate,f),t=u.ObjectUtils.getJSXElement(f.footerTemplate,f),n=ye(),r=l({ref:T,className:Z("panel"),style:A({maxHeight:f.scrollHeight},f.panelStyle),onClick:ie},V("panel")),o=l({classNames:Z("transition"),in:v,timeout:{enter:120,exit:100},options:f.transitionOptions,unmountOnExit:!0,onEnter:Q,onEntering:W,onEntered:ee,onExit:te,onExited:ne},V("transition")),a=m.createElement(i.CSSTransition,g({nodeRef:T},o),m.createElement("div",r,e,n,t));return m.createElement(c.Portal,{element:a,appendTo:"self"})}(),be=l(A(A({ref:z,id:f.inputId,className:Z("input"),style:f.inputStyle},ge),{},{unstyled:f.unstyled,variant:f.variant,autoResize:f.autoResize,onFocus:function(e){x(!0),f.onFocus&&f.onFocus(e)},onBlur:function(e){x(!1),f.onBlur&&f.onBlur(e)},onKeyDown:function(e){if(v){var t=u.DomHandler.findSingle(T.current,'li[data-p-highlight="true"]');switch(e.which){case 40:if(t){var n=t.nextElementSibling;if(n){var r=u.DomHandler.index(n),i=u.DomHandler.index(t);k((function(e){var t=w(e);return t[r]=!0,t[i]=!1,t})),u.DomHandler.scrollInView(T.current,n)}}else if(t=u.DomHandler.findSingle(T.current,"li")){var o=u.DomHandler.index(t);k((function(e){var t=w(e);return t[o]=!0,t}))}e.preventDefault();break;case 38:if(t){var l=t.previousElementSibling;if(l){var a=u.DomHandler.index(l),s=u.DomHandler.index(t);k((function(e){var t=w(e);return t[a]=!0,t[s]=!1,t})),u.DomHandler.scrollInView(T.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[u.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;J()?u.DomHandler.setAttributes(C.current,{"data-p-inputwrapper-filled":t}):t?u.DomHandler.addClass(C.current,"p-inputwrapper-filled"):u.DomHandler.removeClass(C.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:_}}),V("input")),he=l({ref:C,id:f.id,className:u.classNames(f.className,Z("root",{focusedState:O,isFilled:de})),style:f.style},F.getOtherProps(f),V("root"));return m.createElement("div",he,m.createElement(U,be),ve)})));return z.displayName="Mention",e.Mention=z,Object.defineProperty(e,"__esModule",{value:!0}),e}({},React,primereact.api,primereact.componentbase,primereact.csstransition,primereact.hooks,primereact.keyfilter,primereact.tooltip,primereact.utils,primereact.overlayservice,primereact.portal,primereact.ripple);