(window.imageEmbeddable_bundle_jsonpfunction=window.imageEmbeddable_bundle_jsonpfunction||[]).push([[2],{28:function(e,t,i){"use strict";var s,l=function(){var e={};return function(t){if(void 0===e[t]){var i=document.querySelector(t);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(e){i=null}e[t]=i}return e[t]}}(),n=[];function a(e){for(var t=-1,i=0;ie.map((e=>e.id)))))),b()(this,"isLoading$",new f.BehaviorSubject(!0)),b()(this,"loadingError$",new f.BehaviorSubject(void 0)),b()(this,"hasFiles$",new f.BehaviorSubject(!1)),b()(this,"hasQuery$",new f.BehaviorSubject(!1)),b()(this,"query$",new f.BehaviorSubject(void 0)),b()(this,"queryDebounced$",this.query$.pipe(f.debounceTime(100))),b()(this,"currentPage$",new f.BehaviorSubject(0)),b()(this,"totalPages$",new f.BehaviorSubject(void 0)),b()(this,"isUploading$",new f.BehaviorSubject(!1)),b()(this,"deletePrompt$",new f.BehaviorSubject(null)),b()(this,"selectedFiles",new Map),b()(this,"retry$",new f.BehaviorSubject(void 0)),b()(this,"subscriptions",[]),b()(this,"internalIsLoading$",new f.BehaviorSubject(!0)),b()(this,"requests$",f.combineLatest([this.currentPage$.pipe(f.distinctUntilChanged()),this.query$.pipe(f.distinctUntilChanged()),this.retry$]).pipe(f.tap((()=>this.setIsLoading(!0))),f.debounceTime(100))),b()(this,"files$",this.requests$.pipe(f.switchMap((([e,t])=>this.sendRequest(e,t))),f.tap((({total:e})=>this.updateTotalPages({total:e}))),f.tap((({total:e})=>this.hasFiles$.next(Boolean(e)))),f.map((({files:e})=>e)),f.shareReplay())),b()(this,"updateTotalPages",(({total:e})=>{this.totalPages$.next(Math.ceil(e/this.pageSize))})),b()(this,"selectFile",(e=>{const t=Array.isArray(e)?e:[e];if(this.selectMultiple)for(const e of t)this.selectedFiles.set(e.id,e);else this.selectedFiles.clear(),this.selectedFiles.set(t[0].id,t[0]);this.sendNextSelectedFiles()})),b()(this,"abort",void 0),b()(this,"sendRequest",((e,t)=>{if(this.isUploading$.getValue())return f.EMPTY;this.abort&&this.abort(),this.setIsLoading(!0),this.loadingError$.next(void 0);const i=new AbortController;this.abort=()=>{try{i.abort()}catch(e){}};const s=f.from(this.client.list({kind:this.kind,name:t?[j(t)]:void 0,page:e+1,status:["READY"],perPage:this.pageSize,abortSignal:i.signal})).pipe(f.catchError((e=>("AbortError"!==e.name&&(this.setIsLoading(!1),this.loadingError$.next(e)),f.EMPTY))),f.tap((()=>{this.setIsLoading(!1),this.abort=void 0})),f.shareReplay());return s.subscribe(),s})),b()(this,"retry",(()=>{this.retry$.next()})),b()(this,"resetFilters",(()=>{this.setQuery(void 0),this.setPage(0),this.retry()})),b()(this,"hasFilesSelected",(()=>this.selectedFiles.size>0)),b()(this,"unselectFile",(e=>{this.selectedFiles.delete(e)&&this.sendNextSelectedFiles()})),b()(this,"isFileIdSelected",(e=>this.selectedFiles.has(e))),b()(this,"getSelectedFileIds",(()=>Array.from(this.selectedFiles.keys()))),b()(this,"setQuery",(e=>{e?this.query$.next(e):this.query$.next(void 0),this.currentPage$.next(0)})),b()(this,"setPage",(e=>{this.currentPage$.next(e)})),b()(this,"setIsUploading",(e=>{this.isUploading$.next(e)})),b()(this,"dispose",(()=>{for(const e of this.subscriptions)e.unsubscribe()})),b()(this,"showDeletePrompt",(e=>{this.deletePrompt$.next(e)})),b()(this,"hideDeletePrompt",(()=>{this.deletePrompt$.next(null)})),b()(this,"delete",(async e=>{await this.client.delete({id:e.id,kind:e.fileKind})})),b()(this,"watchFileSelected$",(e=>this.selectedFiles$.pipe(f.map((()=>this.selectedFiles.has(e))),f.distinctUntilChanged()))),this.client=e,this.kind=t,this.pageSize=i,this.selectMultiple=s,this.subscriptions=[this.query$.pipe(f.map((e=>Boolean(e))),f.distinctUntilChanged()).subscribe(this.hasQuery$),this.internalIsLoading$.pipe(f.distinctUntilChanged()).subscribe(this.isLoading$)]}sendNextSelectedFiles(){this.selectedFiles$.next(Array.from(this.selectedFiles.values()))}setIsLoading(e){this.internalIsLoading$.next(e)}}const g=Object(n.createContext)(null),m=({kind:e,shouldAllowDelete:t,pageSize:i,multiple:s,children:l,uploadMeta:a})=>{const r=Object(h.b)(),{client:c}=r,o=Object(n.useMemo)((()=>(({pageSize:e,client:t,kind:i,selectMultiple:s})=>new file_picker_state_FilePickerState(t,i,e,s))({pageSize:i,client:c,kind:e,selectMultiple:s})),[i,c,e,s]);return Object(n.useEffect)((()=>o.dispose),[o]),Object(d.jsx)(g.Provider,{value:{state:o,kind:e,shouldAllowDelete:t,uploadMeta:a,...r}},l)},x=()=>{const e=Object(n.useContext)(g);if(!e)throw new Error("FilePickerContext not found!");return e};var y=i(2);const O={title:y.i18n.translate("sharedUXPackages.filePicker.title",{defaultMessage:"Select a file"}),titleMultiple:y.i18n.translate("sharedUXPackages.filePicker.titleMultiple",{defaultMessage:"Select files"}),loadingFilesErrorTitle:y.i18n.translate("sharedUXPackages.filePicker.error.loadingTitle",{defaultMessage:"Could not load files"}),retryButtonLabel:y.i18n.translate("sharedUXPackages.filePicker.error.retryButtonLabel",{defaultMessage:"Retry"}),emptyStatePrompt:y.i18n.translate("sharedUXPackages.filePicker.emptyStatePromptTitle",{defaultMessage:"Upload your first file"}),selectFileLabel:y.i18n.translate("sharedUXPackages.filePicker.selectFileButtonLable",{defaultMessage:"Select file"}),selectFilesLabel:e=>y.i18n.translate("sharedUXPackages.filePicker.selectFilesButtonLable",{defaultMessage:"Select {nrOfFiles} files",values:{nrOfFiles:e}}),searchFieldPlaceholder:y.i18n.translate("sharedUXPackages.filePicker.searchFieldPlaceholder",{defaultMessage:"my-file-*"}),emptyFileGridPrompt:y.i18n.translate("sharedUXPackages.filePicker.emptyGridPrompt",{defaultMessage:"No files match your filter"}),loadMoreButtonLabel:y.i18n.translate("sharedUXPackages.filePicker.loadMoreButtonLabel",{defaultMessage:"Load more"}),clearFilterButton:y.i18n.translate("sharedUXPackages.filePicker.clearFilterButtonLabel",{defaultMessage:"Clear filter"}),uploadFilePlaceholderText:y.i18n.translate("sharedUXPackages.filePicker.uploadFilePlaceholderText",{defaultMessage:"Drag and drop to upload new files"}),delete:y.i18n.translate("sharedUXPackages.filePicker.delete",{defaultMessage:"Delete"}),deleteFile:y.i18n.translate("sharedUXPackages.filePicker.deleteFile",{defaultMessage:"Delete file"}),cancel:y.i18n.translate("sharedUXPackages.filePicker.cancel",{defaultMessage:"Cancel"}),deleteFileQuestion:e=>y.i18n.translate("sharedUXPackages.filePicker.deleteFileQuestion",{defaultMessage:'Are you sure you want to delete "{fileName}"?',values:{fileName:e}})},v=({multiple:e})=>Object(d.jsx)(o.EuiTitle,null,Object(d.jsx)("h2",null,e?O.titleMultiple:O.title)),P=({error:e})=>{const{state:t}=x(),i=Object(u.d)(t.isLoading$);return Object(d.jsx)(o.EuiEmptyPrompt,{"data-test-subj":"errorPrompt",iconType:"warning",iconColor:"danger",titleSize:"xs",title:Object(d.jsx)("h3",null,O.loadingFilesErrorTitle),body:e.message,actions:Object(d.jsx)(o.EuiButton,{disabled:i,onClick:t.retry},O.retryButtonLabel)})};var k=i(32);const F=({kind:e,multiple:t})=>{const{state:i,uploadMeta:s}=x(),{euiTheme:l}=Object(o.useEuiTheme)();return Object(d.jsx)(o.EuiEmptyPrompt,{"data-test-subj":"emptyPrompt",title:Object(d.jsx)("h3",null,O.emptyStatePrompt),titleSize:"s",actions:[Object(d.jsx)(k.a,{css:Object(d.css)("min-width:calc(",l.size.xxxl," * 6);",""),meta:s,kind:e,immediate:!0,multiple:t,onDone:e=>{i.selectFile(e.map((({fileJSON:e})=>e))),i.retry()}})]})};var $=i(26),S=i.n($),w=i(34);i(43);var M={name:"t21r8a",styles:"place-self:stretch;>*{width:100%;}"},E={name:"50zrmy",styles:"text-transform:uppercase"},C={name:"ucb1au",styles:"overflow:hidden;white-space:nowrap;text-overflow:ellipsis"},U={name:"bqn2sj",styles:"position:relative;&:hover > button{display:block;}"};const B=({file:e})=>{var t;const{kind:i,state:s,client:l,shouldAllowDelete:r}=x(),{euiTheme:h}=Object(o.useEuiTheme)(),p=Object(u.c)({type:e.mimeType}),b=Object(n.useMemo)((()=>s.watchFileSelected$(e.id)),[e.id,s]),f=c()(b,!1),j=`calc(${h.size.xxxl} * 2)`,g=Object(d.jsx)("div",{css:Object(d.css)("display:grid;place-items:center;height:",j,";margin:",h.size.m,";","")},p?Object(d.jsx)(w.a,{alt:null!==(t=e.alt)&&void 0!==t?t:"",css:Object(d.css)("max-height:",j,";",""),meta:e.meta,src:l.getDownloadHref({id:e.id,fileKind:i}),loading:"lazy"}):Object(d.jsx)("div",{css:Object(d.css)("display:grid;place-items:center;height:",j,";","")},Object(d.jsx)(o.EuiIcon,{type:"filebeatApp",size:"xl"}))),m=Object(d.jsx)(a.a.Fragment,null,Object(d.jsx)(o.EuiText,{size:"s",css:C},Object(d.jsx)("strong",null,e.name)),Object(d.jsx)(o.EuiText,{color:"subdued",size:"xs"},S()(e.size).format("0[.]0 b"),e.extension&&Object(d.jsx)(a.a.Fragment,null,"  ·  ",Object(d.jsx)("span",{css:E},e.extension)))),y=r&&r(e)&&Object(d.jsx)(o.EuiButtonIcon,{iconType:"trash","aria-label":O.delete,color:"danger",css:Object(d.css)({position:"absolute",right:`${h.size.s}`,top:`${h.size.s}`,display:"none"},"",""),onClick:()=>s.showDeletePrompt(e)});return Object(d.jsx)("div",{css:U},Object(d.jsx)(o.EuiCard,{title:"",css:M,paddingSize:"s",selectable:{isSelected:f,onClick:()=>f?s.unselectFile(e.id):s.selectFile(e)},image:g,description:m,hasBorder:!0}),y)},T=()=>{const{state:e}=x(),{euiTheme:t}=Object(o.useEuiTheme)(),i=c()(e.files$,[]);return i.length?Object(d.jsx)("div",{"data-test-subj":"fileGrid",css:Object(d.css)("display:grid;grid-template-columns:repeat(auto-fill, minmax(calc(",t.size.xxxxl," * 3), 1fr));gap:",t.size.m,";","")},i.map(((e,t)=>Object(d.jsx)(B,{key:t,file:e})))):Object(d.jsx)(o.EuiEmptyPrompt,{title:Object(d.jsx)("h3",null,O.emptyFileGridPrompt),titleSize:"s"})},L=()=>{const{state:e}=x(),t=Object(u.d)(e.query$),i=Object(u.d)(e.isLoading$),s=Object(u.d)(e.hasFiles$),l=Object(u.d)(e.isUploading$);return Object(d.jsx)(o.EuiFieldSearch,{"data-test-subj":"searchField",disabled:l||!t&&!s,isLoading:i,value:null!=t?t:"",placeholder:O.searchFieldPlaceholder,onChange:t=>e.setQuery(t.target.value)})},z=()=>{const{state:e}=x(),t=Object(u.d)(e.currentPage$),i=c()(e.files$,[]),s=Object(u.d)(e.totalPages$),l=Object(u.d)(e.isUploading$);return 0===i.length?null:Object(d.jsx)(o.EuiPagination,{"data-test-subj":"paginationControls",onPageClick:l?()=>{}:e.setPage,pageCount:s,activePage:t})},_=({onClick:e})=>{const{state:t}=x(),i=Object(u.d)(t.isUploading$),s=Object(u.d)(t.selectedFiles$);return Object(d.jsx)(o.EuiButton,{"data-test-subj":"selectButton",disabled:i||!t.hasFilesSelected(),onClick:()=>e(s)},s.length>1?O.selectFilesLabel(s.length):O.selectFileLabel)};var D={name:"1w4dlxi",styles:"place-self:end"},I={name:"1fystu3",styles:"place-self:center"},A={name:"mdm104",styles:"place-self:stretch"},N={name:"jhc76r",styles:"display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;width:100%"};const X=({kind:e,onDone:t,onUpload:i,multiple:s})=>{const{state:l,uploadMeta:a}=x(),r=Object(n.useCallback)((()=>l.setIsUploading(!0)),[l]),c=Object(n.useCallback)((()=>l.setIsUploading(!1)),[l]);return Object(d.jsx)(o.EuiModalFooter,null,Object(d.jsx)("div",{css:N},Object(d.jsx)("div",{css:A},Object(d.jsx)(k.a,{onDone:e=>{l.selectFile(e.map((({fileJSON:e})=>e))),l.resetFilters(),null==i||i(e)},meta:a,onUploadStart:r,onUploadEnd:c,kind:e,initialPromptText:O.uploadFilePlaceholderText,multiple:s,compressed:!0})),Object(d.jsx)("div",{css:I},Object(d.jsx)(z,null)),Object(d.jsx)("div",{css:D},Object(d.jsx)(_,{onClick:t}))))};var q={name:"1dfmss9",styles:"display:grid;place-items:center"};const R=({onClick:e})=>{const{state:t}=x(),i=Object(u.d)(t.isUploading$);return c()(t.queryDebounced$)?Object(d.jsx)("div",{css:q},Object(d.jsx)(o.EuiLink,{disabled:i,onClick:e},O.clearFilterButton)):null};var Q=i(48),G=i.n(Q);const H=()=>{const[e,t]=n.useState(!1),i=G()(),{state:s}=x(),l=Object(u.d)(s.deletePrompt$);return l?Object(d.jsx)(o.EuiConfirmModal,{buttonColor:"danger",defaultFocusedButton:"confirm",isLoading:e,title:O.deleteFile,confirmButtonText:O.delete,cancelButtonText:O.cancel,onCancel:s.hideDeletePrompt,onConfirm:()=>{t(!0),s.delete(l).finally((()=>{s.hideDeletePrompt(),s.retry(),i()&&t(!1)}))}},Object(d.jsx)("p",null,O.deleteFileQuestion(l.name))):null};var J={name:"13udsys",styles:"height:100%"};const Y=({onClose:e,onDone:t,onUpload:i,multiple:s})=>{const{state:l,kind:n}=x(),{euiTheme:r}=Object(o.useEuiTheme)(),h=Object(u.d)(l.hasFiles$),p=Object(u.d)(l.hasQuery$),b=Object(u.d)(l.isLoading$),f=Object(u.d)(l.loadingError$);c()(l.files$);const j=()=>Object(d.jsx)(X,{kind:n,onDone:t,onUpload:i,multiple:s}),g=Object(d.jsx)(o.EuiModal,{"data-test-subj":"filePickerModal",className:"filesFilePicker filesFilePicker--fixed",maxWidth:"75vw",onClose:e,css:Object(d.css)("@media screen and (min-width: ",r.breakpoint.l,"px){width:75vw;height:75vh;}","")},Object(d.jsx)(o.EuiModalHeader,null,Object(d.jsx)(v,{multiple:s}),Object(d.jsx)(L,null)),b?Object(d.jsx)(a.a.Fragment,null,Object(d.jsx)(o.EuiModalBody,null,Object(d.jsx)(o.EuiFlexGroup,{css:J,justifyContent:"center",alignItems:"center",gutterSize:"none"},Object(d.jsx)(o.EuiLoadingSpinner,{"data-test-subj":"loadingSpinner",size:"xl"}))),j()):Boolean(f)?Object(d.jsx)(o.EuiModalBody,null,Object(d.jsx)(P,{error:f})):h||p?Object(d.jsx)(a.a.Fragment,null,Object(d.jsx)(o.EuiModalBody,null,Object(d.jsx)(T,null),Object(d.jsx)(o.EuiSpacer,null),Object(d.jsx)(R,{onClick:()=>l.setQuery(void 0)})),j()):Object(d.jsx)(o.EuiModalBody,null,Object(d.jsx)(F,{multiple:s,kind:n})));return Object(d.jsx)(a.a.Fragment,null,g,Object(d.jsx)(H,null))},K=({pageSize:e=20,kind:t,shouldAllowDelete:i,multiple:s=!1,uploadMeta:n,onUpload:a=(()=>{}),...r})=>Object(d.jsx)(m,{pageSize:e,kind:t,uploadMeta:n,multiple:s,shouldAllowDelete:i},Object(d.jsx)(Y,l()({},r,{pageSize:e,kind:t,multiple:s,onUpload:a})));t.default=K}}]);