"use strict";(self.webpackChunkmattermost_webapp=self.webpackChunkmattermost_webapp||[]).push([[3960],{23960:(e,n,t)=>{t.r(n),t.d(n,{default:()=>je});var a=t(23615),l=t.n(a),i=(t(48410),t(84390)),r=t.n(i),o=t(66795),s=t(85939),c=t.n(s),d=(t(90938),t(92189),t(70314)),u=t(9448),m=t(75873),p=t(47407),k=t(40364),f=t(35683),g=t(98386),h=t(23712),b=t(41894),v=(t(61418),t(72060)),y=t(45448),E=t(53134),_=t(53912),C=t(26341),x=t(70174),w=t(6098);const I=()=>{};function M(e){let{displayName:n,onExited:t,onCancel:a,onConfirm:l}=e;const{formatMessage:i}=(0,v.useIntl)(),o=i({id:"channel_bookmarks.confirm.delete.title",defaultMessage:"Delete bookmark"}),s=i({id:"channel_bookmarks.confirm.delete.button",defaultMessage:"Yes, delete"}),c=r().createElement(v.FormattedMessage,{id:"channel_bookmarks.confirm.delete.text",defaultMessage:"Are you sure you want to delete the bookmark {displayName}?",values:{strong:e=>r().createElement("strong",null,e),displayName:n}});return r().createElement(w.$E,{confirmButtonText:s,handleCancel:null!=a?a:I,handleConfirm:l,modalHeaderText:o,onExited:t,compassDesign:!0,isDeleteModal:!0},c)}M.propTypes={displayName:l().string.isRequired,onConfirm:l().func.isRequired,onCancel:l().func,onExited:l().func.isRequired};const O=M;t(14078),t(32081),t(40895),t(95289),t(70684),t(68581);var j=t(19601),B=t(96711),N=t(13232),P=t(97725),S=t(83398),z=t(26337),D=t(35887),T=t(69072),L=t(1752),R=t(55595),A=t(72075),F=t(22589);const K=e=>{let{type:n,emoji:t,imageUrl:a,fileInfo:l,size:i=16}=e,o="link"===n?r().createElement(y.BookOutlineIcon,{size:i}):r().createElement(y.FileGenericOutlineIcon,{size:i});const s=t&&(0,A.sW)(t),c=(0,d.useSelector)((e=>"true"===(0,j.iE)(e).HasImageProxy));return s?o=r().createElement(L.Z,{emojiName:s,size:i}):a?o=r().createElement(U,{src:(0,F.Q4)(a,c),size:i}):l&&(o=r().createElement(R.Z,{fileInfo:l,disablePreview:!0})),r().createElement(H,{$size:i},o)};K.propTypes={emoji:l().string,imageUrl:l().string,size:l().oneOf([16,24])};const q=K,H=c().div.withConfig({displayName:"Icon"})(["padding:3px 1px 3px 2px;flex-shrink:0;display:flex;align-items:center;.file-icon{width:","px;height:","px;background-size:","px ","px;margin-top:1px;}"],(e=>{let{$size:n}=e;return n}),(e=>{let{$size:n}=e;return n}),(e=>{let{$size:n}=e;return.8*n}),(e=>{let{$size:n}=e;return n})),U=c().img.withConfig({displayName:"BookmarkIconImg"})(["width:","px;height:","px;"],(e=>{let{size:n}=e;return n}),(e=>{let{size:n}=e;return n})),Z=e=>{var n;let{maxLength:t,type:a,imageUrl:l,fileInfo:o,emoji:s,setEmoji:c,placeholder:d,displayName:u,setDisplayName:m,showEmojiPicker:p,setShowEmojiPicker:k,onAddCustomEmojiClick:f}=e;const{formatMessage:g}=(0,v.useIntl)(),b=(0,i.useRef)(null),E=r().createElement(q,{type:a,size:24,emoji:s,fileInfo:o,imageUrl:l}),_=()=>{b.current&&document.dispatchEvent(new CustomEvent(h.sp.FOCUS,{detail:{target:b.current,keyboardOnly:!0}}))},C=()=>{c("")},x=(0,i.useCallback)((e=>{m(e.currentTarget.value)}),[]);return r().createElement(r().Fragment,null,r().createElement($,null,p&&r().createElement(T.Z,{target:()=>b.current,show:p,onHide:()=>{k(!1),_()},onEmojiClick:e=>{k(!1);const n="short_name"in e?e.short_name:e.name;c(":".concat(n,":")),_()},placement:"right",onAddCustomEmojiClick:f}),r().createElement("button",{ref:b,type:"button",onClick:()=>k((e=>!e)),onKeyDown:e=>{(0,D.p)(e,h.default.KeyCodes.ENTER)&&e.stopPropagation()},"aria-label":g({id:"emoji_picker.emojiPicker.button.ariaLabel",defaultMessage:"select an emoji"}),"aria-expanded":p?"true":"false",className:"channelBookmarksMenuButton emoji-picker__container BookmarkCreateModal__emoji-button"},E,r().createElement(y.ChevronDownIcon,{size:"12px"})),r().createElement(S.Z,{maxLength:t,type:"text",name:"bookmark-display-name",onChange:x,value:null!==(n=null!=u?u:d)&&void 0!==n?n:"",placeholder:d,"data-testid":"titleInput",useLegend:!1}),r().createElement(W,{visible:Boolean(s),tabIndex:0,onClick:C,onKeyDown:e=>{((0,D.p)(e,h.default.KeyCodes.ENTER)||(0,D.p)(e,h.default.KeyCodes.SPACE))&&(e.stopPropagation(),C())}},r().createElement(v.FormattedMessage,{id:"channel_bookmarks.create.title_input.clear_emoji",defaultMessage:"Remove emoji"}))))};Z.propTypes={maxLength:l().number.isRequired,showEmojiPicker:l().bool.isRequired,onAddCustomEmojiClick:l().func};const W=c().a.withConfig({displayName:"Clear"})(["font-size:12px;visibility:",";"],(e=>{let{visible:n}=e;return n?"visible":"hidden"})),$=c().div.withConfig({displayName:"NameWrapper"})(["position:relative;> button{position:absolute;left:1px;top:1px;z-index:5;width:57px;height:44px;border-radius:4px 0 0 4px;border-right:1px solid rgba(var(--center-channel-color-rgb),0.16);align-items:center;justify-content:center;gap:0;padding-left:6px;padding-right:2px;svg{flex-shrink:0;}}.Input_container{}.Input_wrapper{padding-left:7rem;}"]),V=Z;var G=t(4411);function Q(e){var n,t,a,l;let{bookmark:o,bookmarkType:s,file:c,channelId:u,onExited:p,onConfirm:k,onHide:f}=e;const{formatMessage:g}=(0,v.useIntl)(),E=(0,d.useDispatch)(),_=null!==(n=null!==(t=null==o?void 0:o.type)&&void 0!==t?t:s)&&void 0!==n?n:"link",[C,I]=(0,i.useState)(!1),[M,O]=(0,i.useState)(null!==(a=null==o?void 0:o.emoji)&&void 0!==a?a:""),[T,L]=(0,i.useState)(null==o?void 0:o.display_name),[R,A]=(0,i.useState)(),[F,K]=(0,i.useState)(!1),[q,H]=(0,i.useState)(""),U=(0,i.useCallback)((e=>{(0,D.p)(e,h.default.KeyCodes.ESCAPE)&&!C&&f()}),[C,f]);(0,i.useEffect)((()=>(document.addEventListener("keydown",U),()=>{document.removeEventListener("keydown",U)})),[U]);const Z=null==o?void 0:o.image_url,[W,$]=(0,i.useState)(null!==(l=null==o?void 0:o.link_url)&&void 0!==l?l:""),Q=(0,i.useRef)(W),[Y,X]=(0,i.useState)(),le=(0,i.useCallback)((e=>{$((n=>(Q.current=n,e))),e||X(void 0)}),[]),[ce,{loading:de,suppressed:ue}]=oe(W===Q.current?"":W,((e,n)=>{n||X(e);const t=(0,b.jS)(e);A(t),L(t)})),me=(0,i.useCallback)((e=>{const{value:n}=e.target;le(n)}),[]),pe=(0,G.C9)(),[ke,fe]=(0,i.useState)(),[ge,he]=(0,i.useState)(""),[be,ve]=(0,i.useState)(null==o?void 0:o.file_id),ye=(0,i.useRef)(),Ee=(0,d.useSelector)((e=>be&&(0,m.hn)(e,be)||void 0)),_e=(0,d.useSelector)((e=>{const n=(0,j.iE)(e);return parseInt(n.MaxFileSize||"",10)})),Ce=_e/1048576,xe=(0,i.useCallback)((e=>{var n;const t=null===(n=e.target.files)||void 0===n?void 0:n[0];t&&Ne(t)}),[]),we=(0,i.useRef)(null),Ie=r().createElement("input",{type:"file",id:"bookmark-create-file-input-in-modal",className:"bookmark-create-file-input",ref:we,onChange:xe}),Me=e=>{fe(e)},Oe=e=>{let{file_infos:n}=e;fe(null);const t=null==n?void 0:n[0];t&&ve(t.id),he("")},je=()=>{fe(null),he(g({id:"file_upload.generic_error_file",defaultMessage:"There was a problem uploading your file."}))},Be=T||R||("file"===_?null==Ee?void 0:Ee.name:null==o?void 0:o.link_url)||"",Ne=e=>{if(fe(null),ve(""),e.size>_e)return void he(g({id:"file_upload.fileAbove",defaultMessage:"File above {max}MB could not be uploaded: {filename}"},{max:Ce,filename:e.name}));if(0===e.size)return void he(g({id:"file_upload.zeroBytesFile",defaultMessage:"You are uploading an empty file: {filename}"},{filename:e.name}));he(""),Be===(null==Ee?void 0:Ee.name)&&L(e.name),A(e.name);const n=(0,x.Ox)();ye.current=E((0,B.c)({file:e,name:e.name,type:e.type,rootId:"",channelId:u,clientId:n,onProgress:Me,onSuccess:Oe,onError:je},!0))};(0,i.useEffect)((()=>{c&&Ne(c)}),[c]);const Pe=(0,i.useCallback)((()=>{var e;null===(e=ye.current)||void 0===e||e.abort(),null==p||p()}),[p]),Se=Be!==(null==o?void 0:o.display_name)||!(!(M||null!=o&&o.emoji)||M===(null==o?void 0:o.emoji))||!("file"!==_||!be||be===(null==o?void 0:o.file_id))||"link"===_&&Boolean(W&&W!==(null==o?void 0:o.link_url)),ze=(()=>{if("link"===_){if(!W||ce)return!1;if(W&&ue)return!0;if(Y||W===(null==o?void 0:o.link_url))return!0}if("file"===_)return!(!Ee||!Be||ge)})(),De="file"===_||ze||o,Te=(0,i.useCallback)((()=>{var e;"file"===_&&(null===(e=ye.current)||void 0===e||e.abort())}),[_]),Le=(0,i.useCallback)((async()=>{if(K(!0),"link"===_){const e=se(W);if(!e)return void H(g(re.linkInvalid));let n=e.toString();n.endsWith("/")&&(n=n.slice(0,-1));const{data:t}=await k({image_url:Z,link_url:n,emoji:M,display_name:Be,type:"link"});K(!1),t?(H(""),f()):H(g(re.saveError))}else if(Ee){const{data:e}=await k({file_id:Ee.id,display_name:Be,type:"file",emoji:M});e?(H(""),f()):H(g(re.saveError))}}),[_,W,k,f,Ee,Be,M,Z]),Re=F||!ze||!Se;let Ae;de?Ae=r().createElement(z.Z,null):Y&&!ce&&(Ae=ee);let Fe=g(re.linkInfoMessage);if(ue){const e=se(W);e&&(Fe=g(re.invalidLinkMessage,{link:e.toString()}))}return r().createElement(w.$E,{enforceFocus:!C,keyboardEscape:!1,className:"channel-bookmarks-create-modal",modalHeaderText:g(o?re.editHeading:re.heading),confirmButtonText:g(o?re.saveText:re.addBookmarkText),handleCancel:De&&Te||void 0,handleConfirm:De&&Le||void 0,handleEnterKeyPress:!Re&&Le||void 0,onExited:Pe,compassDesign:!0,isConfirmDisabled:Re,autoCloseOnConfirmButton:!1,errorText:q},r().createElement(r().Fragment,null,"link"===_?r().createElement(r().Fragment,null,r().createElement(S.Z,{maxLength:1024,type:"text",name:"bookmark-link",containerClassName:"linkInput",placeholder:g(re.linkPlaceholder),onChange:me,hasError:Boolean(ce),value:W,"data-testid":"linkInput",autoFocus:!0,addon:Ae,customMessage:ce?{type:"error",value:ce}:{value:Fe}})):r().createElement(r().Fragment,null,r().createElement(ne,null,r().createElement(v.FormattedMessage,{id:"channel_bookmarks.create.file_input.label",defaultMessage:"Attachment"})),r().createElement(ae,{tabIndex:0,role:"button",disabled:!pe,onClick:pe&&(e=>{var n;const t=document.querySelector("\n .channel-bookmarks-create-modal .post-image__download a,\n .channel-bookmarks-create-modal a.file-preview__remove\n ");t===e.target||null!=t&&t.contains(e.target)||null===(n=we.current)||void 0===n||n.click()})||void 0},!ke&&Ee&&r().createElement(ie,null,r().createElement(N.Z,{key:Ee.id,fileInfo:Ee,index:0})),ke&&r().createElement(P.Z,{key:ke.clientId,clientId:ke.clientId,fileInfo:ke,handleRemove:()=>{var e;fe(null),ve(null==o?void 0:o.file_id),A(void 0),null===(e=ye.current)||void 0===e||e.abort()}}),!Ee&&!ke&&r().createElement("div",{className:"file-preview__container empty"}),r().createElement(te,null,r().createElement(y.PencilOutlineIcon,{size:24}),g(re.fileInputEdit)),Ie),ge&&r().createElement("div",{className:"Input___customMessage Input___error"},r().createElement("i",{className:"icon error icon-alert-circle-outline"}),r().createElement("span",null,ge))),De&&r().createElement(J,null,r().createElement(ne,null,r().createElement(v.FormattedMessage,{id:"channel_bookmarks.create.title_input.label",defaultMessage:"Title"})),r().createElement(V,{maxLength:64,type:_,imageUrl:Z,fileInfo:ke||Ee,emoji:M,setEmoji:O,displayName:null==T?void 0:T.substring(0,64),placeholder:null==Be?void 0:Be.substring(0,64),setDisplayName:L,onAddCustomEmojiClick:f,showEmojiPicker:C,setShowEmojiPicker:I}))))}Q.propTypes={channelId:l().string.isRequired,onExited:l().func.isRequired,onHide:l().func.isRequired};const Y=Q,J=c().div.withConfig({displayName:"TitleWrapper"})(["margin-top:20px;"]),X=c().span.withConfig({displayName:"CheckWrapper"})(["padding:0px 12px;display:flex;align-items:center;"]),ee=r().createElement(X,null,r().createElement(y.CheckIcon,{size:20,color:"var(--sys-online-indicator)"})),ne=c().span.withConfig({displayName:"FieldLabel"})(["display:inline-block;margin-bottom:8px;font-family:Open Sans;font-size:14px;line-height:16px;font-style:normal;font-weight:600;line-height:20px;"]),te=c().div.withConfig({displayName:"VisualButton"})(["display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 24px;color:rgba(var(--center-channel-color-rgb),0.56);font-size:11px;font-weight:600;font-family:Open Sans;"]),ae=c().div.withConfig({displayName:"FileInputContainer"})(["display:block;background:rgba(var(--center-channel-color-rgb),0.04);padding:12px;border-radius:8px;display:flex;&:hover:not([disabled]){background:rgba(var(--center-channel-color-rgb),0.08);color:rgba(var(--center-channel-color-rgb),0.72);cursor:pointer;}&:disabled{cursor:default;",'{opacity:0.4;}}input[type="file"]{opacity:0;width:0;height:0;}.file-preview__container,.file-preview{width:auto;height:auto;flex:1 1 auto;padding:0;&.empty{border:2px dashed rgba(var(--center-channel-color-rgb),0.16);border-radius :4px;}.post-image__column{width:100%;margin:0;}}'],te),le=c().a.withConfig({displayName:"LinkErrContinue"})(["color:unset !important;text-decoration:underline;"]),ie=c().div.withConfig({displayName:"FileItemContainer"})(["display:flex;flex:1 1 auto;> div{width:100%;margin:0;}"]),re=(0,v.defineMessages)({heading:{id:"channel_bookmarks.create.title",defaultMessage:"Add a bookmark"},editHeading:{id:"channel_bookmarks.create.edit.title",defaultMessage:"Edit bookmark"},linkPlaceholder:{id:"channel_bookmarks.create.link_placeholder",defaultMessage:"Link"},linkInfoMessage:{id:"channel_bookmarks.create.link_info",defaultMessage:"Add a link to any post, file, or any external link"},invalidLinkMessage:{id:"channel_bookmarks.create.error.invalid_url.continuing_anyway",defaultMessage:"This may not be a valid link: {link}."},addBookmarkText:{id:"channel_bookmarks.create.confirm_add.button",defaultMessage:"Add bookmark"},saveText:{id:"channel_bookmarks.create.confirm_save.button",defaultMessage:"Save bookmark"},fileInputEdit:{id:"channel_bookmarks.create.file_input.edit",defaultMessage:"Edit"},linkInvalid:{id:"channel_bookmarks.create.error.invalid_url",defaultMessage:"Please enter a valid link. Could not parse: {link}."},saveError:{id:"channel_bookmarks.create.error.generic_save",defaultMessage:"There was an error trying to save the bookmark."}}),oe=(e,n)=>{const{formatMessage:t}=(0,v.useIntl)(),[a,l]=(0,i.useState)(),[o,s]=(0,i.useState)(),[c,d]=(0,i.useState)(!1),u=(0,i.useRef)(),m=(0,i.useCallback)((e=>(l(e),s(void 0),d(!1),u.current=new AbortController,u.current.signal)),[]),p=(0,i.useCallback)((()=>{var e;null===(e=u.current)||void 0===e||e.abort("stale request"),u.current=void 0,l(void 0)}),[]);return(0,i.useEffect)((()=>{const a=setTimeout((async()=>{if(p(),!e)return;const a=se(e);if(!a)return s(t(re.linkInvalid,{link:e})),void l(void 0);const i=m(a);try{await fetch(a,{mode:"no-cors",signal:AbortSignal.any([i,AbortSignal.timeout(1e4)])}),n(e)}catch(t){var o;i===(null===(o=u.current)||void 0===o?void 0:o.signal)&&s(((e,n)=>r().createElement(v.FormattedMessage,{id:"channel_bookmarks.create.error.invalid_url.continue_anyway",defaultMessage:"Could not find: {url}. Please enter a valid link, or continue anyway.",values:{url:e.toString(),Confirm:e=>r().createElement(le,{tabIndex:0,onClick:n,onKeyDown:e=>{"Enter"===e.key&&n()}},e)}}))(a,(()=>{n(e,!0),d(!0),s(void 0)})))}finally{l((e=>{if(e!==a)return e}))}}),250);return()=>clearTimeout(a)}),[e,m,p]),[o,{loading:Boolean(a),suppressed:c}]},se=e=>{const n=(0,b.Vz)(e);if(!n||!(0,b.jv)(n))return null;let t;try{t=new URL(n)}catch(e){return null}return t},ce=e=>{let{bookmark:n,open:t}=e;const{formatMessage:a}=(0,v.useIntl)(),l=(0,d.useDispatch)(),o=(0,b.fO)(),s="link"===n.type&&n.link_url&&(0,b.or)(n.link_url,o);let c;"file"===n.type?c=r().createElement(y.ArrowExpandIcon,{size:18}):n.link_url&&(c=s?r().createElement(y.OpenInNewIcon,{size:18}):r().createElement(y.BookOutlineIcon,{size:18}));const u=(0,G.Kj)(n.channel_id,"edit"),m=(0,G.Kj)(n.channel_id,"delete"),f=(0,G.uU)(),g=a({id:"channel_bookmarks.edit",defaultMessage:"Edit"}),w=a({id:"channel_bookmarks.open",defaultMessage:"Open"}),I=a({id:"channel_bookmarks.copy",defaultMessage:"Copy link"}),M=a({id:"channel_bookmarks.copyFilePublicLink",defaultMessage:"Get a public link"}),j=a({id:"channel_bookmarks.delete",defaultMessage:"Delete"}),B=(0,i.useCallback)((()=>{l((0,k.h)({modalId:h.r8.CHANNEL_BOOKMARK_CREATE,dialogType:Y,dialogProps:{bookmark:n,channelId:n.channel_id,onConfirm:async e=>l((0,E.ur)(n.channel_id,n.id,e))}}))}),[E.ur,l,n]),N=(0,i.useCallback)((()=>{"link"===n.type&&n.link_url?(0,x.vQ)(n.link_url):"file"===n.type&&n.file_id&&(0,x.vQ)((0,p.gN)(n.file_id))}),[n.type,n.link_url,n.file_id]),P=(0,i.useCallback)((()=>{l((0,k.h)({modalId:h.r8.CHANNEL_BOOKMARK_DELETE,dialogType:O,dialogProps:{displayName:n.display_name,onConfirm:()=>l((0,E.Tc)(n.channel_id,n.id))}}))}),[E.Tc,l,n]),S=(0,i.useCallback)((()=>{n.file_id&&l((0,k.h)({modalId:h.r8.GET_PUBLIC_LINK_MODAL,dialogType:_.Z,dialogProps:{fileId:n.file_id}}))}),[n.file_id,l]);return r().createElement(C.W2,{anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},menuButton:{id:"channelBookmarksDotMenuButton-".concat(n.id),class:"channelBookmarksDotMenuButton",children:r().createElement(y.DotsHorizontalIcon,{size:18}),"aria-label":a({id:"channel_bookmarks.editBookmarkLabel",defaultMessage:"Bookmark menu"})},menu:{id:"channelBookmarksDotMenuDropdown"}},r().createElement(C.ck,{key:"channelBookmarksOpen",id:"channelBookmarksOpen",onClick:t,leadingElement:c,labels:r().createElement("span",null,w),"aria-label":w}),u&&r().createElement(C.ck,{key:"channelBookmarksEdit",id:"channelBookmarksEdit",onClick:B,leadingElement:r().createElement(y.PencilOutlineIcon,{size:18}),labels:r().createElement("span",null,g),"aria-label":g}),"link"===n.type&&r().createElement(C.ck,{key:"channelBookmarksLinkCopy",id:"channelBookmarksLinkCopy",onClick:N,leadingElement:r().createElement(y.LinkVariantIcon,{size:18}),labels:r().createElement("span",null,I),"aria-label":I}),"file"===n.type&&f&&r().createElement(C.ck,{key:"channelBookmarksFileCopy",id:"channelBookmarksFileCopy",onClick:S,leadingElement:r().createElement(y.LinkVariantIcon,{size:18}),labels:r().createElement("span",null,M),"aria-label":M}),m&&r().createElement(C.ck,{key:"channelBookmarksDelete",id:"channelBookmarksDelete",onClick:P,leadingElement:r().createElement(y.TrashCanOutlineIcon,{size:18}),labels:r().createElement("span",null,j),"aria-label":j,isDestructive:!0}))};ce.propTypes={open:l().func.isRequired};const de=ce,ue=["href","children","isFile","onClick"];function me(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function pe(e){for(var n=1;n{let{bookmark:n,drag:t,disableInteractions:a}=e;const{link:l,open:o}=(e=>{const n=(0,i.useRef)(null),t=(0,d.useDispatch)(),a=(0,d.useSelector)((n=>(null==e?void 0:e.file_id)&&(0,m.hn)(n,e.file_id)||void 0)),l=r().createElement(q,{type:e.type,emoji:e.emoji,imageUrl:e.image_url,fileInfo:a});let o;return"link"===e.type&&e.link_url?o=r().createElement(he,{href:e.link_url,ref:n,isFile:!1},l,r().createElement(ge,null,e.display_name)):"file"===e.type&&e.file_id&&(o=r().createElement(he,{href:(0,p.gN)(e.file_id),onClick:n=>{n.preventDefault(),a&&t((0,k.h)({modalId:h.r8.FILE_PREVIEW_MODAL,dialogType:g.Z,dialogProps:{post:{user_id:e.owner_id,channel_id:e.channel_id},fileInfos:[a],startIndex:0}}))},ref:n,isFile:!0},l,r().createElement(ge,null,e.display_name))),{link:o,icon:l,open:()=>{var e;null===(e=n.current)||void 0===e||e.click()}}})(n);return r().createElement(fe,Object.assign({ref:t.innerRef},t.draggableProps,{$disableInteractions:a}),l&&(0,i.cloneElement)(l,pe(pe({},t.dragHandleProps),{},{role:"link"})),r().createElement(de,{bookmark:n,open:o}))};ke.propTypes={isDragging:l().bool.isRequired,disableInteractions:l().bool.isRequired};const fe=c().div.withConfig({displayName:"Chip"})(["position:relative;border-radius:12px;overflow:hidden;margin:1px 0;flex-shrink:0;min-width:5rem;max-width:25rem;button{position:absolute;visibility:hidden;right:6px;top:3px;}",""],(e=>{let{$disableInteractions:n}=e;return!n&&(0,s.css)(['&:hover,&:focus-within,&:has([aria-expanded="true"]){button{visibility:visible;}}&:hover,&:focus-within{a{text-decoration:none;cursor:pointer;}}&:hover,&:focus-within,&:has([aria-expanded="true"]){a{background:rgba(var(--center-channel-color-rgb),0.08);color:rgba(var(--center-channel-color-rgb),1);}}&:active:not(:has(button:active)),&--active,&--active:hover{a{background:rgba(var(--button-bg-rgb),0.08);color:rgb(var(--button-bg-rgb)) !important;.icon__text{color:rgb(var(--button-bg));}.icon{color:rgb(var(--button-bg));}}}'])})),ge=c().span.withConfig({displayName:"Label"})(["white-space:nowrap;padding:4px 0;text-overflow:ellipsis;overflow:hidden;"]),he=(0,i.forwardRef)(((e,n)=>{let{href:t,children:a,isFile:l,onClick:i}=e,o=function(e,n){if(null==e)return{};var t,a,l=function(e,n){if(null==e)return{};var t,a,l={},i=Object.keys(e);for(a=0;a=0||(l[t]=e[t]);return l}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(l[t]=e[t])}return l}(e,ue);const s=(0,b.fO)(),c=(0,b.or)(t,s),d="!"===t[0];return d||c?r().createElement(Ee,Object.assign({},o,{href:d?t.substring(1):t,rel:"noopener noreferrer",target:"_blank",location:"channel_bookmarks.item",ref:n}),a):t.startsWith(s)&&!l?r().createElement(ye,Object.assign({},o,{to:t.slice(s.length),ref:n}),a):r().createElement(ve,Object.assign({},o,{href:t,ref:n,onClick:i}),a)})),be=(0,s.css)(["display:flex;padding:0 12px 0 6px;gap:5px;color:rgba(var(--center-channel-color-rgb),1);font-family:Open Sans;font-size:12px;font-style:normal;font-weight:600;line-height:16px;"]),ve=c().a.withConfig({displayName:"StyledAnchor"})(["&&&&{","}"],be),ye=c()(u.Link).withConfig({displayName:"StyledLink"})(["&&&&{","}"],be),Ee=c()(f.Z).withConfig({displayName:"StyledExternalLink"})(["&&&&{","}"],be),_e=ke;var Ce=t(60042),xe=t.n(Ce);const we=e=>{let{channelId:n,hasBookmarks:t,limitReached:a,canUploadFiles:l}=e;const{formatMessage:o}=(0,v.useIntl)(),s=(0,d.useDispatch)(),c=!t,u=(0,i.useCallback)((e=>{s((0,k.h)({modalId:h.r8.CHANNEL_BOOKMARK_CREATE,dialogType:Y,dialogProps:{channelId:n,bookmarkType:e?"file":"link",file:e,onConfirm:async e=>s((0,E.Ke)(n,e))}}))}),[n,s]),m=(0,i.useCallback)((e=>{var n;if(null!==(n=e.target.files)&&void 0!==n&&n.length){const[n]=e.target.files;u(n),(0,x.Mb)(e.target)}}),[u]),p=(0,i.useRef)(null),f=r().createElement("input",{type:"file",id:"bookmark-create-file-input",className:"bookmark-create-file-input",ref:p,onChange:m}),g=(0,i.useCallback)((()=>{u()}),[u]),b=(0,i.useCallback)((()=>{var e;null===(e=p.current)||void 0===e||e.click()}),[p.current]),_=o({id:"channel_bookmarks.addBookmark",defaultMessage:"Add a bookmark"}),w=o({id:"channel_bookmarks.addBookmarkLimitReached",defaultMessage:"Cannot add more than {limit} bookmarks"},{limit:G.IM});let I;a?I=w:t&&(I=_);const M=o({id:"channel_bookmarks.addLink",defaultMessage:"Add a link"}),O=o({id:"channel_bookmarks.attachFile",defaultMessage:"Attach a file"});return r().createElement(Ie,{withLabel:c},r().createElement(C.W2,{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},menuButton:{id:"channelBookmarksPlusMenuButton",class:xe()("channelBookmarksMenuButton",{withLabel:c,disabled:a}),children:r().createElement(r().Fragment,null,r().createElement(y.PlusIcon,{size:c?16:18}),c&&r().createElement("span",null,_)),"aria-label":_,disabled:a},menu:{id:"channelBookmarksPlusMenuDropdown"},menuButtonTooltip:I?{id:"channelBookmarksPlusMenuButtonTooltip",text:I}:void 0},r().createElement(C.ck,{key:"channelBookmarksAddLink",id:"channelBookmarksAddLink",onClick:g,leadingElement:r().createElement(y.LinkVariantIcon,{size:18}),labels:r().createElement("span",null,M),"aria-label":M}),l&&r().createElement(C.ck,{key:"channelBookmarksAttachFile",id:"channelBookmarksAttachFile",onClick:b,leadingElement:r().createElement(y.PaperclipIcon,{size:18}),labels:r().createElement("span",null,O),"aria-label":O})),f)},Ie=c().div.withConfig({displayName:"MenuButtonContainer"})(["position:sticky;right:0;"," background:linear-gradient(to right,rgba(var(--center-channel-bg-rgb),.16),rgba(var(--center-channel-bg-rgb),1) 25%);"],(e=>{let{withLabel:n}=e;return!n&&(0,s.css)(["padding:0 1rem;"])}));function Me(e){let{channelId:n}=e;const{order:t,bookmarks:a,reorder:l}=(0,G.JC)(n),i=(0,G.C9)(),s=(0,G.Kj)(n,"add"),c=Boolean(null==t?void 0:t.length),d=t.length>=G.IM;return c||s?r().createElement(o.DragDropContext,{onDragEnd:e=>{let{source:n,destination:t,draggableId:a}=e;t&&l(a,n.index,t.index)}},r().createElement(o.Droppable,{droppableId:"channel-bookmarks",direction:"horizontal"},((e,l)=>r().createElement(Be,Object.assign({ref:e.innerRef,"data-testid":"channel-bookmarks-container"},e.droppableProps),t.map(Oe(a,l.isDraggingOver)),e.placeholder,r().createElement(we,{channelId:n,hasBookmarks:c,limitReached:d,canUploadFiles:i}))))):null}Me.propTypes={channelId:l().string.isRequired};const Oe=(e,n)=>(t,a)=>r().createElement(o.Draggable,{key:t,draggableId:t,index:a},((a,l)=>r().createElement(_e,{key:t,drag:a,isDragging:l.isDragging,disableInteractions:l.isDragging||n,bookmark:e[t]}))),je=Me,Be=c().div.withConfig({displayName:"Container"})(["display:flex;padding:0 6px;padding-right:0;min-height:38px;align-items:center;border-bottom:1px solid rgba(var(--center-channel-color-rgb),0.12);overflow-x:auto;max-width:100vw;"])}}]);
//# sourceMappingURL=3960.c8a2404c4427ceaac43e.js.map