react-textarea-with-suggest 2.5.0 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,7 +5,7 @@
5
5
  "dependencies": {
6
6
  "react": "^17.0.0",
7
7
  "react-dom": "^17.0.0",
8
- "react-textarea-with-suggest": "latest"
8
+ "react-textarea-with-suggest": "2.5.0"
9
9
  },
10
10
  "scripts": {
11
11
  "start": "react-scripts start",
@@ -33,7 +33,7 @@
33
33
  ]
34
34
  },
35
35
  "devDependencies": {
36
- "gh-pages": "^4.0.0",
36
+ "gh-pages": "^5.0.0",
37
37
  "react-scripts": "^5.0.1"
38
38
  }
39
39
  }
@@ -1,2 +1,2 @@
1
1
  import React from "react";
2
- export declare const NativeTextarea: React.ForwardRefExoticComponent<Pick<React.HTMLProps<HTMLTextAreaElement>, "value" | "target" | "accept" | "acceptCharset" | "action" | "allowFullScreen" | "allowTransparency" | "alt" | "as" | "async" | "autoComplete" | "autoFocus" | "autoPlay" | "capture" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "checked" | "cite" | "classID" | "cols" | "colSpan" | "content" | "controls" | "coords" | "crossOrigin" | "data" | "dateTime" | "default" | "defer" | "disabled" | "download" | "encType" | "form" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "frameBorder" | "headers" | "height" | "high" | "href" | "hrefLang" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "label" | "list" | "loop" | "low" | "manifest" | "marginHeight" | "marginWidth" | "max" | "maxLength" | "media" | "mediaGroup" | "method" | "min" | "minLength" | "multiple" | "muted" | "name" | "noValidate" | "open" | "optimum" | "pattern" | "placeholder" | "playsInline" | "poster" | "preload" | "readOnly" | "rel" | "required" | "reversed" | "rows" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "selected" | "shape" | "size" | "sizes" | "span" | "src" | "srcDoc" | "srcLang" | "srcSet" | "start" | "step" | "summary" | "type" | "useMap" | "width" | "wmode" | "wrap" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "nonce" | "slot" | "spellCheck" | "style" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onResize" | "onResizeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key"> & React.RefAttributes<HTMLTextAreaElement>>;
2
+ export declare const NativeTextarea: React.ForwardRefExoticComponent<Pick<React.HTMLProps<HTMLTextAreaElement>, "style" | "autoComplete" | "autoFocus" | "cols" | "disabled" | "form" | "maxLength" | "minLength" | "name" | "placeholder" | "readOnly" | "required" | "rows" | "value" | "wrap" | "onChange" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "nonce" | "slot" | "spellCheck" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onResize" | "onResizeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "content" | "height" | "width" | "list" | "step" | "accept" | "acceptCharset" | "action" | "allowFullScreen" | "allowTransparency" | "alt" | "as" | "async" | "autoPlay" | "capture" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "checked" | "cite" | "classID" | "colSpan" | "controls" | "coords" | "crossOrigin" | "data" | "dateTime" | "default" | "defer" | "download" | "encType" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "frameBorder" | "headers" | "high" | "href" | "hrefLang" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "label" | "loop" | "low" | "manifest" | "marginHeight" | "marginWidth" | "max" | "media" | "mediaGroup" | "method" | "min" | "multiple" | "muted" | "noValidate" | "open" | "optimum" | "pattern" | "playsInline" | "poster" | "preload" | "rel" | "reversed" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "selected" | "shape" | "size" | "sizes" | "span" | "src" | "srcDoc" | "srcLang" | "srcSet" | "start" | "summary" | "target" | "type" | "useMap" | "wmode" | "key"> & React.RefAttributes<HTMLTextAreaElement>>;
package/lib/index.js CHANGED
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("react-textarea-autosize");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=n(e),a=n(t),o=function(){return o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var a in t=arguments[n])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e},o.apply(this,arguments)};function i(t){var n=e.useRef();return e.useEffect((function(){n.current=t}),[t]),n.current}var l,u=function(e){var t=!1,n=!1;return{nativeEvent:e,currentTarget:e.currentTarget,target:e.target,bubbles:e.bubbles,cancelable:e.cancelable,defaultPrevented:e.defaultPrevented,eventPhase:e.eventPhase,isTrusted:e.isTrusted,preventDefault:function(){t=!0,e.preventDefault()},isDefaultPrevented:function(){return t},stopPropagation:function(){n=!0,e.stopPropagation()},isPropagationStopped:function(){return n},persist:function(){},timeStamp:e.timeStamp,type:e.type}},c=e.forwardRef((function(e,t){return r.default.createElement("textarea",o({},e,{ref:t}))})),s=r.default.memo((function(t){var n=t.isSelected,a=t.item,o=t.className,i=t.customSuggestItemRenderer,l=t.onItemClickHandler,u=e.useRef(!1),c=a,s=["textarea-suggest-item",n?"textarea-suggest-item_selected":"",o?"".concat(o,"__results__item"):"",n&&o?"".concat(o,"__results__item_selected"):""].filter(Boolean).join(" ");return r.default.createElement("div",{className:s,onMouseDown:function(e){if(u.current)return e.preventDefault(),e.stopPropagation(),void(u.current=!1);l(c)()},onTouchStart:function(e){u.current=!0,e.stopPropagation(),l(c)()}},i?i(c,n):r.default.createElement("div",{className:"textarea-suggest-item__info"},c))})),d=function(t){var n=t.textareaRef,a=t.values,o=void 0===a?[]:a,i=t.isHidden,l=t.className,u=t.selectedItemIndex,c=t.customSuggestItemRenderer,d=t.onItemClickHandler,v=e.useMemo((function(){var e,t;return(null===(t=null===(e=null==n?void 0:n.current)||void 0===e?void 0:e.getBoundingClientRect)||void 0===t?void 0:t.call(e))||{}}),[null==n?void 0:n.current]),g=v.width,m=void 0===g?0:g,f=v.left,p=void 0===f?0:f;return!i&&(null==o?void 0:o.length)&&(null==n?void 0:n.current)?r.default.createElement("div",{className:"textarea-suggest__results ".concat(l?"".concat(l,"__results"):""),style:{position:"absolute",width:m,left:p}},o.map((function(e,t){return r.default.createElement(s,{key:t,className:l,item:e,isSelected:t===u,onItemClickHandler:d,customSuggestItemRenderer:c})}))):null};!function(e){e.ArrowUp="ArrowUp",e.ArrowDown="ArrowDown",e.Enter="Enter",e.Escape="Escape"}(l||(l={}));var v,g=[l.ArrowUp,l.ArrowDown,l.Enter,l.Escape],m=[" ","\n","\r"];exports.AutoHighlightFirstItemValues=void 0,(v=exports.AutoHighlightFirstItemValues||(exports.AutoHighlightFirstItemValues={})).Always="always",v.OnlySingleItem="only_single_item",v.Never="never";exports.default=function(t){var n=t.autosizable,s=void 0!==n&&n,v=t.value,f=void 0===v?"":v,p=t.searchMarker,h=void 0===p?"@":p,w=t.searchRegexp,b=t.suggestList,y=void 0===b?[]:b,x=t.closeSuggestOnFocusOut,k=void 0!==x&&x,O=t.cancelSearchOnFocusOut,E=void 0!==O&&O,I=t.forwardedRef,S=void 0===I?void 0:I,_=t.autoHighlightFirstItem,P=void 0===_?exports.AutoHighlightFirstItemValues.Never:_,R=t.onSearch,j=t.onChange,A=t.customSuggestItemRenderer,D=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n}(t,["autosizable","value","searchMarker","searchRegexp","suggestList","closeSuggestOnFocusOut","cancelSearchOnFocusOut","forwardedRef","autoHighlightFirstItem","onSearch","onChange","customSuggestItemRenderer"]),z=e.useState(f),F=z[0],H=z[1],C=e.useState(null==f?void 0:f.includes(h)),T=C[0],N=C[1],M=e.useState(!0),q=M[0],V=M[1],B=e.useState(void 0),U=B[0],K=B[1],L=i(F),G=i(f),J=S||e.useRef(null),Q=s?a.default:c,W=e.useMemo((function(){return w?new RegExp(w):new RegExp("".concat(h,"([a-z0-9-_.]+[a-z0-9])"),"gim")}),[w]);e.useEffect((function(){if(h.length>1)throw new TypeError("Max length of searchMarker is 1 symbol. Please change your searchMarker to char")}),[]),e.useEffect((function(){f&&L!==f&&G!==f&&(H(f),$(void 0,f))}),[F,f,L,G]),e.useEffect((function(){(1===(null==y?void 0:y.length)&&P===exports.AutoHighlightFirstItemValues.OnlySingleItem||P===exports.AutoHighlightFirstItemValues.Always)&&K(0)}),[y,P]);var X=e.useCallback((function(e){var t,n=e.code,r=T&&!q&&y.length;if(null===(t=D.onKeyDown)||void 0===t||t.call(D,e),r&&g.includes(n))switch(e.stopPropagation(),e.nativeEvent.stopImmediatePropagation(),n){case l.ArrowUp:return e.preventDefault(),K((function(e){return void 0===e||0===e?y.length-1:e-1}));case l.ArrowDown:return e.preventDefault(),K((function(e){return void 0===e||e===y.length-1?0:e+1}));case l.Enter:return void(void 0!==U&&(e.preventDefault(),ee(y[U])()));case l.Escape:N(!1),K(void 0)}}),[D.onKeyDown,U,y,T,q]),Y=e.useCallback((function(e){var t;k&&V(!0),E&&N(!1),null===(t=D.onBlur)||void 0===t||t.call(D,e)}),[k,E,D.onBlur]),Z=e.useCallback((function(e){var t;q&&V(!1),null===(t=D.onFocus)||void 0===t||t.call(D,e)}),[k,E,D.onFocus]),$=function(e,t){var n,r,a;void 0===t&&(t="");var i=e?void 0===(null===(n=e.currentTarget)||void 0===n?void 0:n.value)?F:(null===(r=e.currentTarget)||void 0===r?void 0:r.value)||"":t,l=!!e&&(void 0===e.isTrusted||e.isTrusted),c=null===(a=J.current)||void 0===a?void 0:a.selectionEnd,s=c?i.slice(c-1,c):i.slice(-1);if(H(i),s===h&&(t&&V(!1),N(!0)),i.includes(h)&&!m.includes(s)||!T||N(!1),s!==h&&T){var d=i.slice(0,c),v=d.slice(d.lastIndexOf(h)).match(W),g=v?v[0].slice(1):s;R(g)}if(!e&&J.current&&(J.current.value=i),e&&l)return null==j?void 0:j(e);if(e&&!l)return null==j?void 0:j(o(o({},e),{currentTarget:J.current,target:J.current}));var f=function(e,t){var n=new Event(t||"change",{bubbles:!0});return Object.defineProperty(n,"target",{writable:!1,value:e}),u(n)}(J.current);return null==j?void 0:j(f)},ee=e.useCallback((function(e){return function(){var t,n,r=null===(t=J.current)||void 0===t?void 0:t.selectionEnd,a=F.slice(0,r).lastIndexOf(h),o=F.slice(a);if(-1!==a){var i;i=o.includes(" ")?o.indexOf(" "):o.includes("\n")?o.indexOf("\n"):F.length,i+=a,o.lastIndexOf(h)>0&&(i=o.lastIndexOf(h)+a),(!i||i<a)&&(i=F.length);var l=F.slice(0,a||0)+F.slice(a).replace(F.slice(a,i),"".concat(h).concat(e," "));if(function(){if("undefined"==typeof navigator||"undefined"==typeof window)return!1;var e,t=!1;return e=navigator.userAgent||navigator.vendor||"opera"in window&&window.opera,(/(android|bb\d+|meego).+mobile|tablet|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/gi.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(e.substr(0,4)))&&(t=!0),t}()){var u=l.slice(a).indexOf(" ")+a+1;null===(n=J.current)||void 0===n||n.setSelectionRange(u,u)}J.current&&(!function(e,t){var n,r,a=null===(n=Object.getOwnPropertyDescriptor(e,"value"))||void 0===n?void 0:n.set,o=Object.getPrototypeOf(e),i=null===(r=Object.getOwnPropertyDescriptor(o,"value"))||void 0===r?void 0:r.set;a&&a!==i?null==i||i.call(e,t):null==a||a.call(e,t),e.dispatchEvent(new Event("input",{bubbles:!0}))}(J.current,l),setTimeout((function(){var e;return null===(e=J.current)||void 0===e?void 0:e.focus()}))),K(void 0),N(!1),H(l)}}}),[J,F]);return r.default.createElement("div",{className:"textarea-suggest"},r.default.createElement(Q,o({},D,{onKeyDown:X,onBlur:Y,onFocus:Z,ref:J,onChange:$,value:F||f})),r.default.createElement(d,{className:D.className,textareaRef:J,values:y,selectedItemIndex:U,isHidden:q||!T,customSuggestItemRenderer:A,onItemClickHandler:ee}))};
1
+ Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("react-textarea-autosize"),n=function(){return n=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},n.apply(this,arguments)};function r(t){var n=e.useRef();return e.useEffect(function(){n.current=t},[t]),n.current}"function"==typeof SuppressedError&&SuppressedError;var o,a=function(e){var t=!1,n=!1;return{nativeEvent:e,currentTarget:e.currentTarget,target:e.target,bubbles:e.bubbles,cancelable:e.cancelable,defaultPrevented:e.defaultPrevented,eventPhase:e.eventPhase,isTrusted:e.isTrusted,preventDefault:function(){t=!0,e.preventDefault()},isDefaultPrevented:function(){return t},stopPropagation:function(){n=!0,e.stopPropagation()},isPropagationStopped:function(){return n},persist:function(){},timeStamp:e.timeStamp,type:e.type}},i=e.forwardRef(function(t,r){return e.createElement("textarea",n({},t,{ref:r}))}),l=e.memo(function(t){var n=t.isSelected,r=t.item,o=t.className,a=t.customSuggestItemRenderer,i=t.onItemClickHandler,l=e.useRef(!1),u=r,s=["textarea-suggest-item",n?"textarea-suggest-item_selected":"",o?"".concat(o,"__results__item"):"",n&&o?"".concat(o,"__results__item_selected"):""].filter(Boolean).join(" ");return e.createElement("div",{className:s,onMouseDown:function(e){if(l.current)return e.preventDefault(),e.stopPropagation(),void(l.current=!1);i(u)()},onTouchStart:function(e){l.current=!0,e.stopPropagation(),i(u)()}},a?a(u,n):e.createElement("div",{className:"textarea-suggest-item__info"},u))}),u=function(t){var n=t.textareaRef,r=t.values,o=void 0===r?[]:r,a=t.isHidden,i=t.className,u=t.selectedItemIndex,s=t.customSuggestItemRenderer,c=t.onItemClickHandler,d=e.useMemo(function(){var e,t;return(null===(t=null===(e=null==n?void 0:n.current)||void 0===e?void 0:e.getBoundingClientRect)||void 0===t?void 0:t.call(e))||{}},[null==n?void 0:n.current]),v=d.width,g=void 0===v?0:v,m=d.left,p=void 0===m?0:m;return!a&&(null==o?void 0:o.length)&&(null==n?void 0:n.current)?e.createElement("div",{className:"textarea-suggest__results ".concat(i?"".concat(i,"__results"):""),style:{position:"absolute",width:g,left:p}},o.map(function(t,n){return e.createElement(l,{key:n,className:i,item:t,isSelected:n===u,onItemClickHandler:c,customSuggestItemRenderer:s})})):null};!function(e){e.ArrowUp="ArrowUp",e.ArrowDown="ArrowDown",e.Enter="Enter",e.Escape="Escape"}(o||(o={}));var s,c=[o.ArrowUp,o.ArrowDown,o.Enter,o.Escape],d=[" ","\n","\r"];exports.AutoHighlightFirstItemValues=void 0,(s=exports.AutoHighlightFirstItemValues||(exports.AutoHighlightFirstItemValues={})).Always="always",s.OnlySingleItem="only_single_item",s.Never="never";exports.default=function(l){var s=l.autosizable,v=void 0!==s&&s,g=l.value,m=void 0===g?"":g,p=l.searchMarker,f=void 0===p?"@":p,h=l.searchRegexp,w=l.suggestList,b=void 0===w?[]:w,y=l.closeSuggestOnFocusOut,x=void 0!==y&&y,k=l.cancelSearchOnFocusOut,O=void 0!==k&&k,E=l.forwardedRef,I=void 0===E?void 0:E,S=l.autoHighlightFirstItem,_=void 0===S?exports.AutoHighlightFirstItemValues.Never:S,P=l.onSearch,R=l.onChange,j=l.customSuggestItemRenderer,A=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}(l,["autosizable","value","searchMarker","searchRegexp","suggestList","closeSuggestOnFocusOut","cancelSearchOnFocusOut","forwardedRef","autoHighlightFirstItem","onSearch","onChange","customSuggestItemRenderer"]),D=e.useState(m),z=D[0],F=D[1],H=e.useState(null==m?void 0:m.includes(f)),C=H[0],T=H[1],N=e.useState(!0),M=N[0],q=N[1],V=e.useState(void 0),B=V[0],U=V[1],K=r(z),L=r(m),G=I||e.useRef(null),J=v?t:i,Q=e.useMemo(function(){return h?new RegExp(h):new RegExp("".concat(f,"([a-z0-9-_.]+[a-z0-9])"),"gim")},[h]);e.useEffect(function(){if(f.length>1)throw new TypeError("Max length of searchMarker is 1 symbol. Please change your searchMarker to char")},[]),e.useEffect(function(){m&&K!==m&&L!==m&&(F(m),Z(void 0,m))},[z,m,K,L]),e.useEffect(function(){(1===(null==b?void 0:b.length)&&_===exports.AutoHighlightFirstItemValues.OnlySingleItem||_===exports.AutoHighlightFirstItemValues.Always)&&U(0)},[b,_]);var W=e.useCallback(function(e){var t,n=e.code,r=C&&!M&&b.length;if(null===(t=A.onKeyDown)||void 0===t||t.call(A,e),r&&c.includes(n))switch(e.stopPropagation(),e.nativeEvent.stopImmediatePropagation(),n){case o.ArrowUp:return e.preventDefault(),U(function(e){return void 0===e||0===e?b.length-1:e-1});case o.ArrowDown:return e.preventDefault(),U(function(e){return void 0===e||e===b.length-1?0:e+1});case o.Enter:return void(void 0!==B&&(e.preventDefault(),$(b[B])()));case o.Escape:T(!1),U(void 0)}},[A.onKeyDown,B,b,C,M]),X=e.useCallback(function(e){var t;x&&q(!0),O&&T(!1),null===(t=A.onBlur)||void 0===t||t.call(A,e)},[x,O,A.onBlur]),Y=e.useCallback(function(e){var t;M&&q(!1),null===(t=A.onFocus)||void 0===t||t.call(A,e)},[x,O,A.onFocus]),Z=function(e,t){var r,o,i;void 0===t&&(t="");var l=e?void 0===(null===(r=e.currentTarget)||void 0===r?void 0:r.value)?z:(null===(o=e.currentTarget)||void 0===o?void 0:o.value)||"":t,u=!!e&&(void 0===e.isTrusted||e.isTrusted),s=null===(i=G.current)||void 0===i?void 0:i.selectionEnd,c=s?l.slice(s-1,s):l.slice(-1);if(F(l),c===f&&(t&&q(!1),T(!0)),l.includes(f)&&!d.includes(c)||!C||T(!1),c!==f&&C){var v=l.slice(0,s),g=v.slice(v.lastIndexOf(f)).match(Q),m=g?g[0].slice(1):c;P(m)}if(!e&&G.current&&(G.current.value=l),e&&u)return null==R?void 0:R(e);if(e&&!u)return null==R?void 0:R(n(n({},e),{currentTarget:G.current,target:G.current}));var p=function(e){var t=new Event("change",{bubbles:!0});return Object.defineProperty(t,"target",{writable:!1,value:e}),a(t)}(G.current);return null==R?void 0:R(p)},$=e.useCallback(function(e){return function(){var t,n,r=null===(t=G.current)||void 0===t?void 0:t.selectionEnd,o=z.slice(0,r).lastIndexOf(f),a=z.slice(o);if(-1!==o){var i;i=a.includes(" ")?a.indexOf(" "):a.includes("\n")?a.indexOf("\n"):z.length,i+=o,a.lastIndexOf(f)>0&&(i=a.lastIndexOf(f)+o),(!i||i<o)&&(i=z.length);var l=z.slice(0,o||0)+z.slice(o).replace(z.slice(o,i),"".concat(f).concat(e," "));if(function(){if("undefined"==typeof navigator||"undefined"==typeof window)return!1;var e,t=!1;return e=navigator.userAgent||navigator.vendor||"opera"in window&&window.opera,(/(android|bb\d+|meego).+mobile|tablet|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/gi.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(e.substr(0,4)))&&(t=!0),t}()){var u=l.slice(o).indexOf(" ")+o+1;null===(n=G.current)||void 0===n||n.setSelectionRange(u,u)}G.current&&(!function(e,t){var n,r,o=null===(n=Object.getOwnPropertyDescriptor(e,"value"))||void 0===n?void 0:n.set,a=Object.getPrototypeOf(e),i=null===(r=Object.getOwnPropertyDescriptor(a,"value"))||void 0===r?void 0:r.set;o&&o!==i?null==i||i.call(e,t):null==o||o.call(e,t),e.dispatchEvent(new Event("input",{bubbles:!0}))}(G.current,l),setTimeout(function(){var e;return null===(e=G.current)||void 0===e?void 0:e.focus()})),U(void 0),T(!1),F(l)}}},[G,z]);return e.createElement("div",{className:"textarea-suggest"},e.createElement(J,n({},A,{onKeyDown:W,onBlur:X,onFocus:Y,ref:G,onChange:Z,value:z||m})),e.createElement(u,{className:A.className,textareaRef:G,values:b,selectedItemIndex:B,isHidden:M||!C,customSuggestItemRenderer:j,onItemClickHandler:$}))};
2
2
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sources":["../node_modules/tslib/tslib.es6.js","../src/utils/usePrevious.tsx","../src/utils/syntheticEvents.ts","../src/constants.ts","../src/components/NativeTextarea.tsx","../src/components/SuggestResultsItem.tsx","../src/components/SuggestResults.tsx","../src/components/TextareaWithSuggests.tsx","../src/utils/isMobileAndTabletCheck.ts","../src/utils/nativeEvents.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","import { useEffect, useRef } from \"react\";\n\nexport function usePrevious<T>(value: T): T | undefined {\n // The ref object is a generic container whose current property is mutable ...\n // ... and can hold any value, similar to an instance property on a class\n const ref = useRef<T | undefined>();\n // Store current value in ref\n useEffect(() => {\n ref.current = value;\n }, [value]); // Only re-run if value changes\n // Return previous value (happens before update in useEffect above)\n return ref.current;\n}\n","import { SyntheticEvent, ChangeEvent } from \"react\";\n\nexport const createSyntheticEventByTarget = <T extends Element>(\n target: T,\n eventType?: string\n): SyntheticEvent<T> => {\n const event = new Event(eventType || \"change\", { bubbles: true });\n Object.defineProperty(event, \"target\", { writable: false, value: target });\n\n return createSyntheticEvent(event) as ChangeEvent<typeof target>;\n};\n\nexport const createSyntheticEvent = <T extends Element, E extends Event>(\n event: E\n): SyntheticEvent<T, E> => {\n let isDefaultPrevented = false;\n let isPropagationStopped = false;\n const preventDefault = () => {\n isDefaultPrevented = true;\n event.preventDefault();\n };\n const stopPropagation = () => {\n isPropagationStopped = true;\n event.stopPropagation();\n };\n return {\n nativeEvent: event,\n currentTarget: event.currentTarget as EventTarget & T,\n target: event.target as EventTarget & T,\n bubbles: event.bubbles,\n cancelable: event.cancelable,\n defaultPrevented: event.defaultPrevented,\n eventPhase: event.eventPhase,\n isTrusted: event.isTrusted,\n preventDefault,\n isDefaultPrevented: () => isDefaultPrevented,\n stopPropagation,\n isPropagationStopped: () => isPropagationStopped,\n persist: () => {},\n timeStamp: event.timeStamp,\n type: event.type,\n };\n};\n","export enum KeyCodes {\n ArrowUp = \"ArrowUp\",\n ArrowDown = \"ArrowDown\",\n Enter = \"Enter\",\n Escape = \"Escape\",\n}\nexport const SUPPORTED_KEYDOWN = [\n KeyCodes.ArrowUp,\n KeyCodes.ArrowDown,\n KeyCodes.Enter,\n KeyCodes.Escape,\n];\nexport const SEARCH_MARKER = \"@\";\nexport const ENDING_SYMBOLS = [\" \", \"\\n\", \"\\r\"];\n\nexport enum AutoHighlightFirstItemValues {\n Always = \"always\",\n OnlySingleItem = \"only_single_item\",\n Never = \"never\",\n}\n","import React, { forwardRef, HTMLProps } from \"react\";\n\nexport const NativeTextarea = forwardRef<\n HTMLTextAreaElement,\n HTMLProps<HTMLTextAreaElement>\n>((props, ref) => {\n return <textarea {...props} ref={ref} />;\n});\n","import React, { ReactNode, MouseEvent, useRef, TouchEvent } from \"react\";\nimport { CustomSuggestItemRenderer, OnItemClickHandler } from \"../types\";\n\ninterface SuggestResultsItemProps<T> {\n item: T;\n isSelected: boolean;\n className?: string;\n customSuggestItemRenderer?: CustomSuggestItemRenderer<T>;\n onItemClickHandler: OnItemClickHandler<T>;\n}\n\nexport const SuggestResultsItem = React.memo(\n <T,>({\n isSelected,\n item: itemProp,\n className,\n customSuggestItemRenderer,\n onItemClickHandler,\n }: SuggestResultsItemProps<T>) => {\n const isDesktopMouseDownPrevented = useRef<boolean>(false);\n const item = itemProp as T & ReactNode;\n\n const itemClassName = [\n \"textarea-suggest-item\",\n isSelected ? \"textarea-suggest-item_selected\" : \"\",\n className ? `${className}__results__item` : \"\",\n isSelected && className ? `${className}__results__item_selected` : \"\",\n ]\n .filter(Boolean)\n .join(\" \");\n\n const onMouseDown = (e: MouseEvent) => {\n if (isDesktopMouseDownPrevented.current) {\n e.preventDefault();\n e.stopPropagation();\n\n isDesktopMouseDownPrevented.current = false;\n\n return;\n }\n\n onItemClickHandler(item)();\n };\n\n const onTouchStart = (e: TouchEvent) => {\n /**\n * react fires onMouseDown right after onTouchStart\n */\n isDesktopMouseDownPrevented.current = true;\n e.stopPropagation();\n\n onItemClickHandler(item)();\n };\n\n /**\n * using onMouseDown/onTouchStart instead of onClick\n * https://stackoverflow.com/questions/44142273/react-ul-with-onblur-event-is-preventing-onclick-from-firing-on-li\n * */\n return (\n <div\n className={itemClassName}\n onMouseDown={onMouseDown}\n onTouchStart={onTouchStart}\n >\n {customSuggestItemRenderer ? (\n customSuggestItemRenderer(item, isSelected)\n ) : (\n <div className=\"textarea-suggest-item__info\">{item}</div>\n )}\n </div>\n );\n }\n);\n","import React, { useMemo, ReactNode, RefObject } from \"react\";\nimport {\n CustomSuggestItemRenderer,\n Nullable,\n OnItemClickHandler,\n} from \"../types\";\nimport { SuggestResultsItem } from \"./SuggestResultsItem\";\n\nexport interface SuggestProps<T> {\n className?: string;\n textareaRef: RefObject<Nullable<HTMLTextAreaElement>>;\n selectedItemIndex?: number;\n values: T[];\n isHidden?: boolean;\n onItemClickHandler: OnItemClickHandler<T>;\n customSuggestItemRenderer?: CustomSuggestItemRenderer<T>;\n}\n\nexport const SuggestResults = <T extends ReactNode>({\n textareaRef,\n values = [],\n isHidden,\n className,\n selectedItemIndex,\n customSuggestItemRenderer,\n onItemClickHandler,\n}: SuggestProps<T>) => {\n const { width = 0, left = 0 } = useMemo<DOMRect>(\n () => textareaRef?.current?.getBoundingClientRect?.() || ({} as DOMRect),\n [textareaRef?.current]\n );\n\n if (isHidden || !values?.length || !textareaRef?.current) {\n return null;\n }\n\n return (\n <div\n className={`textarea-suggest__results ${\n className ? `${className}__results` : \"\"\n }`}\n style={{ position: \"absolute\", width, left }}\n >\n {values.map((item: T, index: number) => (\n <SuggestResultsItem\n key={index}\n className={className}\n item={item}\n isSelected={index === selectedItemIndex}\n onItemClickHandler={onItemClickHandler}\n customSuggestItemRenderer={customSuggestItemRenderer}\n />\n ))}\n </div>\n );\n};\n","/**\n * React textarea with suggest v2.0.0\n *\n *\n * Copyright (c) 2019-present,\n * by Mariia Lobareva (marialobareva97@gmail.com).\n *\n * LICENSE MIT.\n */\nimport React, {\n useState,\n useMemo,\n useCallback,\n useEffect,\n useRef,\n ReactNode,\n HTMLProps,\n ChangeEvent,\n FocusEvent,\n ChangeEventHandler,\n KeyboardEvent,\n RefObject,\n} from \"react\";\nimport TextareaAutosize, {\n TextareaAutosizeProps,\n} from \"react-textarea-autosize\";\n\nimport {\n usePrevious,\n isMobileAndTabletCheck,\n setNativeValue,\n createSyntheticEventByTarget,\n} from \"../utils\";\nimport { NativeTextarea, SuggestResults } from \"../components\";\nimport { CustomSuggestItemRenderer, Nullable } from \"../types\";\nimport {\n ENDING_SYMBOLS,\n KeyCodes,\n SEARCH_MARKER,\n SUPPORTED_KEYDOWN,\n AutoHighlightFirstItemValues,\n} from \"../constants\";\n\ninterface TextareaSuggestProps<SuggestItemType>\n extends Partial<\n Omit<TextareaAutosizeProps & HTMLProps<HTMLTextAreaElement>, \"style\">\n > {\n className?: string;\n autosizable?: boolean;\n searchMarker?: string;\n searchRegexp?: RegExp;\n suggestList?: SuggestItemType[];\n value?: string;\n closeSuggestOnFocusOut?: boolean;\n cancelSearchOnFocusOut?: boolean;\n onChange?: (event: ChangeEvent<HTMLTextAreaElement>) => void;\n onSearch: (newValue: string) => void;\n customSuggestItemRenderer?: CustomSuggestItemRenderer<SuggestItemType>;\n forwardedRef?: RefObject<HTMLTextAreaElement>;\n autoHighlightFirstItem?: AutoHighlightFirstItemValues;\n}\n\nexport const TextareaWithSuggests = <SuggestItemType extends ReactNode>({\n autosizable = false,\n value = \"\",\n searchMarker = SEARCH_MARKER,\n searchRegexp: searchRegexpProp,\n suggestList = [],\n closeSuggestOnFocusOut = false,\n cancelSearchOnFocusOut = false,\n forwardedRef = undefined,\n autoHighlightFirstItem = AutoHighlightFirstItemValues.Never,\n onSearch,\n onChange,\n customSuggestItemRenderer,\n ...props\n}: TextareaSuggestProps<SuggestItemType>) => {\n const [text, setText] = useState<string>(value);\n const [needStartSearch, setNeedStartSearch] = useState<boolean>(\n value?.includes(searchMarker)\n );\n const [isSuggestHidden, setIsSuggestHidden] = useState<boolean>(true);\n const [selectedItemIndex, setSelectedItemIndex] = useState<\n number | undefined\n >(undefined);\n\n const prevText = usePrevious<string>(text);\n const prevValue = usePrevious<string>(value);\n\n const textareaRef = forwardedRef\n ? forwardedRef\n : useRef<Nullable<HTMLTextAreaElement>>(null);\n const Textarea = autosizable ? TextareaAutosize : NativeTextarea;\n\n const searchRegexp = useMemo(\n () =>\n searchRegexpProp\n ? new RegExp(searchRegexpProp)\n : new RegExp(`${searchMarker}([a-z0-9\\-_.]+[a-z0-9])`, \"gim\"),\n [searchRegexpProp]\n );\n\n useEffect(() => {\n if (searchMarker.length > 1) {\n throw new TypeError(\n \"Max length of searchMarker is 1 symbol. Please change your searchMarker to char\"\n );\n }\n }, []);\n\n // controllable component logic\n useEffect(() => {\n if (value && prevText !== value) {\n if (prevValue !== value) {\n setText(value);\n // @ts-expect-error: react+ts don't allow to extend ChangeEventHandler<HTMLTextAreaElement>\n handleChange(undefined, value);\n }\n }\n }, [text, value, prevText, prevValue]);\n\n useEffect(() => {\n if (\n (suggestList?.length === 1 &&\n autoHighlightFirstItem ===\n AutoHighlightFirstItemValues.OnlySingleItem) ||\n autoHighlightFirstItem === AutoHighlightFirstItemValues.Always\n ) {\n setSelectedItemIndex(0);\n }\n }, [suggestList, autoHighlightFirstItem]);\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent<HTMLTextAreaElement>) => {\n const code = e.code as KeyCodes;\n const isSuggestOpened =\n needStartSearch && !isSuggestHidden && suggestList.length;\n\n props.onKeyDown?.(e);\n\n if (!isSuggestOpened || !SUPPORTED_KEYDOWN.includes(code)) {\n return;\n }\n\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n\n switch (code) {\n case KeyCodes.ArrowUp: {\n e.preventDefault();\n\n return setSelectedItemIndex((curIndex) =>\n typeof curIndex === \"undefined\" || curIndex === 0\n ? suggestList.length - 1\n : curIndex - 1\n );\n }\n case KeyCodes.ArrowDown: {\n e.preventDefault();\n\n return setSelectedItemIndex((curIndex) =>\n typeof curIndex === \"undefined\" ||\n curIndex === suggestList.length - 1\n ? 0\n : curIndex + 1\n );\n }\n case KeyCodes.Enter: {\n if (selectedItemIndex !== undefined) {\n e.preventDefault();\n\n setResultHandler(suggestList[selectedItemIndex])();\n }\n return;\n }\n case KeyCodes.Escape: {\n setNeedStartSearch(false);\n setSelectedItemIndex(undefined);\n }\n }\n },\n [\n props.onKeyDown,\n selectedItemIndex,\n suggestList,\n needStartSearch,\n isSuggestHidden,\n ]\n );\n\n const handleFocusOut = useCallback(\n (e: FocusEvent<HTMLTextAreaElement>) => {\n if (closeSuggestOnFocusOut) {\n setIsSuggestHidden(true);\n }\n if (cancelSearchOnFocusOut) {\n setNeedStartSearch(false);\n }\n props.onBlur?.(e);\n },\n [closeSuggestOnFocusOut, cancelSearchOnFocusOut, props.onBlur]\n );\n\n const handleFocusIn = useCallback(\n (e: FocusEvent<HTMLTextAreaElement>) => {\n if (isSuggestHidden) {\n setIsSuggestHidden(false);\n }\n props.onFocus?.(e);\n },\n [closeSuggestOnFocusOut, cancelSearchOnFocusOut, props.onFocus]\n );\n\n const handleChange: ChangeEventHandler<HTMLTextAreaElement> = (\n event?: ChangeEvent<HTMLTextAreaElement>,\n controllingValue: string = \"\"\n ) => {\n const value = event\n ? typeof event.currentTarget?.value === \"undefined\"\n ? text\n : event.currentTarget?.value || \"\"\n : controllingValue;\n const isTrusted = event\n ? typeof event.isTrusted === \"undefined\"\n ? true\n : event.isTrusted\n : false;\n\n const selectionEnd = textareaRef.current?.selectionEnd;\n const last = selectionEnd\n ? value.slice(selectionEnd - 1, selectionEnd)\n : value.slice(-1);\n\n setText(value);\n\n if (last === searchMarker) {\n if (controllingValue) {\n setIsSuggestHidden(false);\n }\n setNeedStartSearch(true);\n //TODO: clear suggestList here\n }\n\n if (\n (!value.includes(searchMarker) || ENDING_SYMBOLS.includes(last)) &&\n needStartSearch\n ) {\n setNeedStartSearch(false);\n }\n\n if (last !== searchMarker && needStartSearch) {\n const textWithResults = value.slice(0, selectionEnd);\n const results = textWithResults\n .slice(textWithResults.lastIndexOf(searchMarker))\n .match(searchRegexp);\n const result = results ? results[0].slice(1) : last;\n\n onSearch(result);\n }\n\n if (!event && textareaRef.current) {\n textareaRef.current.value = value;\n }\n\n if (event && isTrusted) {\n return onChange?.(event);\n }\n\n if (event && !isTrusted) {\n return onChange?.({\n ...event,\n currentTarget: textareaRef.current as EventTarget & HTMLTextAreaElement,\n target: textareaRef.current as EventTarget & HTMLTextAreaElement,\n });\n }\n\n const eventToDispatch = createSyntheticEventByTarget<HTMLTextAreaElement>(\n textareaRef.current as HTMLTextAreaElement\n );\n\n return onChange?.(eventToDispatch as ChangeEvent<HTMLTextAreaElement>);\n };\n\n const setResultHandler = useCallback(\n (result: SuggestItemType) => () => {\n const selectionEnd = textareaRef.current?.selectionEnd;\n const position = text.slice(0, selectionEnd).lastIndexOf(searchMarker);\n const textWithResult = text.slice(position);\n\n if (position === -1) {\n return;\n }\n\n let endPosition;\n if (textWithResult.includes(\" \")) {\n endPosition = textWithResult.indexOf(\" \");\n } else if (textWithResult.includes(\"\\n\")) {\n endPosition = textWithResult.indexOf(\"\\n\");\n } else {\n endPosition = text.length;\n }\n endPosition += position;\n\n if (textWithResult.lastIndexOf(searchMarker) > 0) {\n endPosition = textWithResult.lastIndexOf(searchMarker) + position;\n }\n if (!endPosition || endPosition < position) {\n endPosition = text.length;\n }\n\n const newValue =\n text.slice(0, position || 0) +\n text\n .slice(position)\n .replace(\n text.slice(position, endPosition),\n `${searchMarker}${result} `\n );\n\n if (isMobileAndTabletCheck()) {\n const endCaretPosition =\n newValue.slice(position).indexOf(\" \") + position + 1;\n textareaRef.current?.setSelectionRange(\n endCaretPosition,\n endCaretPosition\n );\n }\n\n if (textareaRef.current) {\n setNativeValue(textareaRef.current, newValue);\n setTimeout(() => textareaRef.current?.focus());\n }\n\n setSelectedItemIndex(undefined);\n setNeedStartSearch(false);\n setText(newValue);\n },\n [textareaRef, text]\n );\n\n return (\n <div className=\"textarea-suggest\">\n <Textarea\n {...props}\n onKeyDown={handleKeyDown}\n onBlur={handleFocusOut}\n onFocus={handleFocusIn}\n ref={textareaRef}\n onChange={handleChange}\n value={text || value}\n />\n\n <SuggestResults\n className={props.className}\n textareaRef={textareaRef}\n values={suggestList}\n selectedItemIndex={selectedItemIndex}\n isHidden={isSuggestHidden || !needStartSearch}\n customSuggestItemRenderer={customSuggestItemRenderer}\n onItemClickHandler={setResultHandler}\n />\n </div>\n );\n};\n","/**\n * from http://detectmobilebrowsers.com/\n * https://www.quirksmode.org/js/detect.html\n */\nexport function isMobileAndTabletCheck(): boolean {\n // ssr\n if (typeof navigator === \"undefined\" || typeof window === \"undefined\") {\n return false;\n }\n\n let check = false;\n (function (a: string) {\n if (\n /(android|bb\\d+|meego).+mobile|tablet|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/gi.test(\n a\n ) ||\n /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(\n a.substr(0, 4)\n )\n )\n check = true;\n })(\n navigator.userAgent ||\n navigator.vendor ||\n ((\"opera\" in window && window.opera) as string)\n );\n return check;\n}\n","/**\n * dispatching syntetic events no longer supported by react\n * https://github.com/facebook/react/issues/12344\n */\nexport function setNativeValue(element: Element, value: string) {\n const valueSetter = Object.getOwnPropertyDescriptor(element, \"value\")?.set;\n const prototype = Object.getPrototypeOf(element);\n\n const prototypeValueSetter = Object.getOwnPropertyDescriptor(\n prototype,\n \"value\"\n )?.set;\n\n if (valueSetter && valueSetter !== prototypeValueSetter) {\n prototypeValueSetter?.call(element, value);\n } else {\n valueSetter?.call(element, value);\n }\n\n element.dispatchEvent(new Event(\"input\", { bubbles: true }));\n}\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","usePrevious","value","ref","useRef","useEffect","current","SuppressedError","KeyCodes","createSyntheticEvent","event","isDefaultPrevented","isPropagationStopped","nativeEvent","currentTarget","target","bubbles","cancelable","defaultPrevented","eventPhase","isTrusted","preventDefault","stopPropagation","persist","timeStamp","type","NativeTextarea","forwardRef","props","React","SuggestResultsItem","memo","_a","isSelected","itemProp","item","className","customSuggestItemRenderer","onItemClickHandler","isDesktopMouseDownPrevented","itemClassName","concat","filter","Boolean","join","createElement","onMouseDown","e","onTouchStart","SuggestResults","textareaRef","_b","values","isHidden","selectedItemIndex","_c","useMemo","getBoundingClientRect","_d","width","_e","left","style","position","map","index","key","AutoHighlightFirstItemValues","SUPPORTED_KEYDOWN","ArrowUp","ArrowDown","Enter","Escape","ENDING_SYMBOLS","autosizable","searchMarker","searchRegexpProp","searchRegexp","suggestList","_f","closeSuggestOnFocusOut","_g","cancelSearchOnFocusOut","_h","forwardedRef","undefined","_j","autoHighlightFirstItem","Never","onSearch","onChange","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__rest","_k","useState","text","setText","_l","includes","needStartSearch","setNeedStartSearch","_m","isSuggestHidden","setIsSuggestHidden","_o","setSelectedItemIndex","prevText","prevValue","Textarea","TextareaAutosize","RegExp","TypeError","handleChange","OnlySingleItem","Always","handleKeyDown","useCallback","code","isSuggestOpened","onKeyDown","stopImmediatePropagation","curIndex","setResultHandler","handleFocusOut","onBlur","handleFocusIn","onFocus","controllingValue","selectionEnd","last","slice","textWithResults","results","lastIndexOf","match","result","eventToDispatch","Event","defineProperty","writable","createSyntheticEventByTarget","textWithResult","endPosition","newValue","replace","navigator","window","a","check","userAgent","vendor","opera","test","substr","isMobileAndTabletCheck","endCaretPosition","setSelectionRange","element","valueSetter","getOwnPropertyDescriptor","set","getPrototypeOf","prototypeValueSetter","dispatchEvent","setNativeValue","setTimeout","focus"],"mappings":"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","x_google_ignoreList":[0]}
package/lib/styles.css CHANGED
@@ -32,4 +32,3 @@
32
32
  .textarea-suggest-item--info {
33
33
  margin-left: 8px;
34
34
  }
35
-
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "react-textarea-with-suggest",
3
- "version": "2.5.0",
3
+ "version": "2.6.0",
4
4
  "description": "Textarea with suggest for React app",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
7
7
  "dependencies": {
8
- "react-textarea-autosize": "^8.4.0"
8
+ "react-textarea-autosize": "^8.5.3"
9
9
  },
10
10
  "files": [
11
11
  "lib",
@@ -18,6 +18,9 @@
18
18
  "build": "rollup -c",
19
19
  "start": "rollup -c -w",
20
20
  "deploy:demo": "cd ./example && rm -rf node_modules && rm package-lock.json && npm i && npm run deploy && cd ../",
21
+ "release": "node scripts/release.mjs",
22
+ "release:dry-run": "node scripts/release.mjs --dry-run --allow-any-commits",
23
+ "release:ci": "node scripts/release.mjs --yes --push --publish --provenance --deploy-example --allow-any-commits",
21
24
  "test": "jest --coverage --",
22
25
  "pre-commit": "npm run prettier:check",
23
26
  "pre-push": "npm run test",
@@ -69,6 +72,10 @@
69
72
  "react": "^17.0.0 || ^18.2.0",
70
73
  "react-dom": "^17.0.0 || ^18.2.0"
71
74
  },
75
+ "engines": {
76
+ "node": ">=18",
77
+ "npm": ">=9"
78
+ },
72
79
  "devDependencies": {
73
80
  "@babel/cli": "^7.5.5",
74
81
  "@babel/core": "^7.0.0-0",
@@ -76,9 +83,9 @@
76
83
  "@babel/preset-env": "^7.5.5",
77
84
  "@babel/preset-react": "^7.0.0",
78
85
  "@babel/preset-typescript": "^7.18.6",
79
- "@rollup/plugin-babel": "^6.0.3",
80
- "@rollup/plugin-terser": "^0.2.1",
81
- "@rollup/plugin-typescript": "^10.0.1",
86
+ "@rollup/plugin-babel": "^7.0.0",
87
+ "@rollup/plugin-terser": "^0.4.4",
88
+ "@rollup/plugin-typescript": "^12.3.0",
82
89
  "@testing-library/jest-dom": "^5.16.5",
83
90
  "@testing-library/react": "^13.4.0",
84
91
  "@types/react": "^18.0.26",
@@ -86,10 +93,10 @@
86
93
  "css-loader": "^6.7.3",
87
94
  "husky": "^8.0.0",
88
95
  "jest": "^29.3.1",
89
- "jest-environment-jsdom": "^29.3.1",
96
+ "jest-environment-jsdom": "^30.4.1",
90
97
  "prettier": "2.7.1",
91
- "rollup": "^2.79.1",
92
- "rollup-plugin-css-only": "^4.3.0",
98
+ "rollup": "^4.60.4",
99
+ "tslib": "^2.8.1",
93
100
  "typescript": "^4.9.4"
94
101
  }
95
102
  }