@nextcloud/vue
Version:
Nextcloud vue components
2 lines (1 loc) • 24 kB
JavaScript
var Me=require("../assets/referencePickerModal.css");const c=require("./_plugin-vue2_normalizer-764a4c12.cjs"),o=require("./l10n-46d0c1c0.cjs"),m=require("@nextcloud/axios"),b=require("@nextcloud/initial-state"),u=require("@nextcloud/router"),v=require("../Components/NcEmptyContent.cjs"),C=require("./index-df3f51c6.cjs"),S=require("../Components/NcSelect.cjs"),f=require("vue-material-design-icons/LinkVariant.vue"),z=require("../Components/NcLoadingIcon.cjs"),D=require("../Components/NcTextField.cjs"),U=require("vue-material-design-icons/DotsHorizontal.vue"),A=require("../Components/NcButton.cjs"),H=require("../Components/NcModal.cjs"),Q=require("@nextcloud/event-bus"),G=require("vue-material-design-icons/ArrowLeft.vue"),F=require("vue-material-design-icons/Close.vue"),J=require("vue");window._vue_richtext_widgets||(window._vue_richtext_widgets={});const R=e=>!!window._vue_richtext_widgets[e],x=(e,t,r=i=>{})=>{if(window._vue_richtext_widgets[e]){console.error("Widget for id "+e+" already registered");return}window._vue_richtext_widgets[e]={id:e,callback:t,onDestroy:r}},N=(e,{richObjectType:t,richObject:r,accessible:i})=>{if(t!=="open-graph"){if(!window._vue_richtext_widgets[t]){console.error("Widget for rich object type "+t+" not registered");return}window._vue_richtext_widgets[t].callback(e,{richObjectType:t,richObject:r,accessible:i})}},K=(e,t)=>{e!=="open-graph"&&window._vue_richtext_widgets[e]&&window._vue_richtext_widgets[e].onDestroy(t)};window._registerWidget=x;const X={name:"NcReferenceWidget",props:{reference:{type:Object,required:!0}},data(){return{compact:3}},computed:{hasCustomWidget(){return R(this.reference.richObjectType)},noAccess(){return this.reference&&!this.reference.accessible},descriptionStyle(){if(this.compact===0)return{display:"none"};const e=this.compact<4?this.compact:3;return{lineClamp:e,webkitLineClamp:e}},compactLink(){const e=this.reference.openGraphObject.link;return e?e.startsWith("https://")?e.substring(8):e.startsWith("http://")?e.substring(7):e:""}},mounted(){this.renderWidget(),this.observer=new ResizeObserver(e=>{e[0].contentRect.width<450?this.compact=0:e[0].contentRect.width<550?this.compact=1:e[0].contentRect.width<650?this.compact=2:this.compact=3}),this.observer.observe(this.$el)},beforeDestroy(){this.observer.disconnect(),K(this.reference.richObjectType,this.$el)},methods:{renderWidget(){var e;this.$refs.customWidget&&(this.$refs.customWidget.innerHTML=""),((e=this==null?void 0:this.reference)==null?void 0:e.richObjectType)!=="open-graph"&&this.$nextTick(()=>{N(this.$refs.customWidget,this.reference)})}}};var Y=function(){var e=this,t=e._self._c;return t("div",[e.reference&&e.hasCustomWidget?t("div",{staticClass:"widget-custom"},[t("div",{ref:"customWidget"})]):!e.noAccess&&e.reference&&e.reference.openGraphObject&&!e.hasCustomWidget?t("a",{staticClass:"widget-default",attrs:{href:e.reference.openGraphObject.link,rel:"noopener noreferrer",target:"_blank"}},[e.reference.openGraphObject.thumb?t("img",{staticClass:"widget-default--image",attrs:{src:e.reference.openGraphObject.thumb}}):e._e(),t("div",{staticClass:"widget-default--details"},[t("p",{staticClass:"widget-default--name"},[e._v(e._s(e.reference.openGraphObject.name))]),t("p",{staticClass:"widget-default--description",style:e.descriptionStyle},[e._v(e._s(e.reference.openGraphObject.description))]),t("p",{staticClass:"widget-default--link"},[e._v(e._s(e.compactLink))])])]):e._e()])},Z=[],ee=c.normalizeComponent(X,Y,Z,!1,null,"b1c5a80f",null,null);const I=ee.exports;window._vue_richtext_custom_picker_elements||(window._vue_richtext_custom_picker_elements={});class te{constructor(t,r){this.element=t,this.object=r}}const l=e=>!!window._vue_richtext_custom_picker_elements[e],re=e=>{var r;const t=(r=window._vue_richtext_custom_picker_elements[e])==null?void 0:r.size;return["small","normal","large","full"].includes(t)?t:null},L=(e,t,r=s=>{},i="large")=>{if(window._vue_richtext_custom_picker_elements[e]){console.error("Custom reference picker element for id "+e+" already registered");return}window._vue_richtext_custom_picker_elements[e]={id:e,callback:t,onDestroy:r,size:i}},E=(e,{providerId:t,accessible:r})=>{if(!window._vue_richtext_custom_picker_elements[t]){console.error("Custom reference picker element for reference provider ID "+t+" not registered");return}return window._vue_richtext_custom_picker_elements[t].callback(e,{providerId:t,accessible:r})},ie=(e,t,r)=>{window._vue_richtext_custom_picker_elements[e]&&window._vue_richtext_custom_picker_elements[e].onDestroy(t,r)};window._registerCustomPickerElement=L;const se={name:"NcCustomPickerElement",props:{provider:{type:Object,required:!0}},emits:["cancel","submit"],data(){return{isRegistered:l(this.provider.id),renderResult:null}},mounted(){this.isRegistered&&this.renderElement()},beforeDestroy(){this.isRegistered&&ie(this.provider.id,this.$el,this.renderResult)},methods:{renderElement(){this.$refs.domElement&&(this.$refs.domElement.innerHTML="");const e=E(this.$refs.domElement,{providerId:this.provider.id,accessible:!1});Promise.resolve(e).then(t=>{var r,i;this.renderResult=t,(r=this.renderResult.object)!=null&&r._isVue&&((i=this.renderResult.object)!=null&&i.$on)&&(this.renderResult.object.$on("submit",this.onSubmit),this.renderResult.object.$on("cancel",this.onCancel)),this.renderResult.element.addEventListener("submit",s=>{this.onSubmit(s.detail)}),this.renderResult.element.addEventListener("cancel",this.onCancel)})},onSubmit(e){this.$emit("submit",e)},onCancel(){this.$emit("cancel")}}};var ne=function(){var e=this,t=e._self._c;return t("div",{ref:"domElement"})},oe=[],ce=c.normalizeComponent(se,ne,oe,!1,null,"cf695ff9",null,null);const le=ce.exports,_="any-link",O={id:_,title:o.t("Any link"),icon_url:u.imagePath("core","filetypes/link.svg")};window._vue_richtext_reference_providers||(window._vue_richtext_reference_providers=b.loadState("core","reference-provider-list",[])),window._vue_richtext_reference_provider_timestamps||(window._vue_richtext_reference_provider_timestamps=b.loadState("core","reference-provider-timestamps",{}));function $(e){return e===_?O:g().find(t=>t.id===e)}function g(){return window._vue_richtext_reference_providers.filter(e=>{const t=!!e.search_providers_ids&&e.search_providers_ids.length>0||l(e.id);return t||console.debug("[smart picker]",e.id,"reference provider is discoverable but does not have any related search provider or custom picker component registered"),t})}function q(e){const t=window._vue_richtext_reference_provider_timestamps;return e.sort((r,i)=>r.order===i.order?0:r.order>i.order?1:-1).sort((r,i)=>{const s=t[r.id],n=t[i.id];return s===n?0:n===void 0?-1:s===void 0?1:s>n?-1:1})}function B(e,t=null){const r=g(),i=e.replace(/[/\-\\^$*+?.()|[\]{}]/g,"\\$&"),s=new RegExp(i,"i"),n=q(r).filter(p=>p.title.match(s)),a=t?n.slice(0,t):n;return(e===""||a.length===0)&&a.push(O),a}function ae(e){const t=Math.floor(Date.now()/1e3),r={timestamp:t},i=u.generateOcsUrl("references/provider/{providerId}",{providerId:e});m.put(i,r).then(s=>{window._vue_richtext_reference_provider_timestamps[e]=t})}let w=0;function j(e,t){return function(){const r=this,i=arguments;clearTimeout(w),w=setTimeout(function(){e.apply(r,i)},t||0)}}function y(e){try{return!!new URL(e)}catch{return!1}}const de={name:"NcProviderList",components:{NcSelect:S,NcHighlight:C.NcHighlight,NcEmptyContent:v,LinkVariantIcon:f},emits:["select-provider","submit"],data(){return{selectedProvider:null,query:"",multiselectPlaceholder:o.t("Select provider"),providerIconAlt:o.t("Provider icon")}},computed:{options(){const e=[];return this.query!==""&&y(this.query)&&e.push({id:this.query,title:this.query,isLink:!0}),e.push(...B(this.query)),e}},methods:{focus(){setTimeout(()=>{var e,t,r;(r=(t=(e=this.$refs["provider-select"])==null?void 0:e.$el)==null?void 0:t.querySelector("#provider-select-input"))==null||r.focus()},300)},onProviderSelected(e){e!==null&&(e.isLink?this.$emit("submit",e.title):this.$emit("select-provider",e),this.selectedProvider=null)},onSearch(e,t){this.query=e}}};var ue=function(){var e=this,t=e._self._c;return t("div",{staticClass:"provider-list"},[t("NcSelect",{ref:"provider-select",staticClass:"provider-list--select",attrs:{"input-id":"provider-select-input",label:"title",placeholder:e.multiselectPlaceholder,options:e.options,"append-to-body":!1,"clear-search-on-select":!0,"clear-search-on-blur":()=>!1,filterable:!1},on:{search:e.onSearch,input:e.onProviderSelected},scopedSlots:e._u([{key:"option",fn:function(r){return[r.isLink?t("div",{staticClass:"provider"},[t("LinkVariantIcon",{staticClass:"link-icon",attrs:{size:20}}),t("span",[e._v(e._s(r.title))])],1):t("div",{staticClass:"provider"},[t("img",{staticClass:"provider-icon",attrs:{src:r.icon_url,alt:e.providerIconAlt}}),t("NcHighlight",{staticClass:"option-text",attrs:{search:e.query,text:r.title}})],1)]}}]),model:{value:e.selectedProvider,callback:function(r){e.selectedProvider=r},expression:"selectedProvider"}}),t("NcEmptyContent",{staticClass:"provider-list--empty-content",scopedSlots:e._u([{key:"icon",fn:function(){return[t("LinkVariantIcon")]},proxy:!0}])})],1)},he=[],pe=c.normalizeComponent(de,ue,he,!1,null,"9d850ea5",null,null);const me=pe.exports;const ve={name:"NcRawLinkInput",components:{LinkVariantIcon:f,NcEmptyContent:v,NcLoadingIcon:z,NcReferenceWidget:I,NcTextField:D},props:{provider:{type:Object,required:!0}},emits:["submit"],data(){return{inputValue:"",loading:!1,reference:null,abortController:null,inputPlaceholder:o.t("Enter link")}},computed:{isLinkValid(){return y(this.inputValue)}},methods:{focus(){var e;(e=this.$refs["url-input"].$el.getElementsByTagName("input")[0])==null||e.focus()},onSubmit(e){const t=e.target.value;this.isLinkValid&&this.$emit("submit",t)},onClear(){this.inputValue="",this.reference=null},onInput(){this.reference=null,this.abortController&&this.abortController.abort(),this.isLinkValid&&j(()=>{this.updateReference()},500)()},updateReference(){this.loading=!0,this.abortController=new AbortController,m.get(u.generateOcsUrl("references/resolve",2)+"?reference="+encodeURIComponent(this.inputValue),{signal:this.abortController.signal}).then(e=>{this.reference=e.data.ocs.data.references[this.inputValue]}).catch(e=>{console.error(e)}).then(()=>{this.loading=!1})}}};var fe=function(){var e=this,t=e._self._c;return t("div",{staticClass:"raw-link"},[t("div",{staticClass:"input-wrapper"},[t("NcTextField",{ref:"url-input",attrs:{value:e.inputValue,"show-trailing-button":e.inputValue!=="",label:e.inputPlaceholder},on:{"update:value":[function(r){e.inputValue=r},e.onInput],"trailing-button-click":e.onClear},nativeOn:{keyup:function(r){return!r.type.indexOf("key")&&e._k(r.keyCode,"enter",13,r.key,"Enter")?null:e.onSubmit.apply(null,arguments)}}},[e.loading?t("NcLoadingIcon",{attrs:{size:16}}):t("LinkVariantIcon",{attrs:{size:16}})],1)],1),e.reference!==null?t("NcReferenceWidget",{staticClass:"reference-widget",attrs:{reference:e.reference}}):t("NcEmptyContent",{staticClass:"raw-link--empty-content",scopedSlots:e._u([{key:"icon",fn:function(){return[e.provider.icon_url?t("img",{staticClass:"provider-icon",attrs:{src:e.provider.icon_url}}):t("LinkVariantIcon")]},proxy:!0}])})],1)},_e=[],ge=c.normalizeComponent(ve,fe,_e,!1,null,"d0ba247a",null,null);const ye=ge.exports;const ke={name:"NcSearchResult",components:{NcHighlight:C.NcHighlight},props:{entry:{type:Object,required:!0},query:{type:String,required:!0}}};var be=function(){var e=this,t=e._self._c;return t("div",{staticClass:"result"},[e.entry.icon?t("div",{staticClass:"result--icon-class",class:{[e.entry.icon]:!0,rounded:e.entry.rounded}}):t("img",{staticClass:"result--image",class:{rounded:e.entry.rounded},attrs:{src:e.entry.thumbnailUrl}}),t("div",{staticClass:"result--content"},[t("span",{staticClass:"result--content--name"},[t("NcHighlight",{attrs:{search:e.query,text:e.entry.title}})],1),t("span",{staticClass:"result--content--subline"},[t("NcHighlight",{attrs:{search:e.query,text:e.entry.subline}})],1)])])},we=[],Pe=c.normalizeComponent(ke,be,we,!1,null,"7a394a58",null,null);const Ce=Pe.exports;const P=5,Se={name:"NcSearch",components:{LinkVariantIcon:f,DotsHorizontalIcon:U,NcEmptyContent:v,NcSelect:S,NcSearchResult:Ce},props:{provider:{type:Object,required:!0},showEmptyContent:{type:Boolean,default:!0},searchPlaceholder:{type:String,default:null}},emits:["submit"],data(){return{searchQuery:"",selectedResult:null,resultsBySearchProvider:{},searching:!1,searchingMoreOf:null,abortController:null,noOptionsText:o.t("Start typing to search"),providerIconAlt:o.t("Provider icon")}},computed:{mySearchPlaceholder(){return this.searchPlaceholder||o.t("Search")},searchProviderIds(){return this.provider.search_providers_ids},options(){if(this.searchQuery==="")return[];const e=[];return y(this.searchQuery)&&e.push(this.rawLinkEntry),e.push(...this.formattedSearchResults),e},rawLinkEntry(){return{id:"rawLinkEntry",resourceUrl:this.searchQuery,isRawLink:!0}},formattedSearchResults(){const e=[];return this.searchProviderIds.forEach(t=>{if(this.resultsBySearchProvider[t].entries.length>0){(this.searchProviderIds.length>1||this.resultsBySearchProvider[t].entries.length>1)&&e.push({id:"groupTitle-"+t,name:this.resultsBySearchProvider[t].name,isCustomGroupTitle:!0,providerId:t});const r=this.resultsBySearchProvider[t].entries.map((i,s)=>({id:"provider-"+t+"-entry-"+s,...i}));e.push(...r),this.resultsBySearchProvider[t].isPaginated&&e.push({id:"moreOf-"+t,name:this.resultsBySearchProvider[t].name,isMore:!0,providerId:t,isLoading:this.searchingMoreOf===t})}}),e}},mounted(){this.resetResults()},beforeDestroy(){this.cancelSearchRequests()},methods:{t:o.t,resetResults(){const e={};this.searchProviderIds.forEach(t=>{e[t]={entries:[]}}),this.resultsBySearchProvider=e},focus(){setTimeout(()=>{var e,t,r;(r=(t=(e=this.$refs["search-select"])==null?void 0:e.$el)==null?void 0:t.querySelector("#search-select-input"))==null||r.focus()},300)},cancelSearchRequests(){this.abortController&&this.abortController.abort()},onSearchInput(e,t){this.searchQuery=e,j(()=>{this.updateSearch()},500)()},onSelectResultSelected(e){e!==null&&(e.resourceUrl?(this.cancelSearchRequests(),this.$emit("submit",e.resourceUrl)):e.isMore&&this.searchMoreOf(e.providerId).then(()=>{this.selectedResult=null}))},searchMoreOf(e){return this.searchingMoreOf=e,this.cancelSearchRequests(),this.searchProviders(e)},updateSearch(){if(this.cancelSearchRequests(),this.resetResults(),this.searchQuery===""){this.searching=!1;return}return this.searchProviders()},searchProviders(e=null){var r,i;this.abortController=new AbortController,this.searching=!0;const t=e===null?[...this.searchProviderIds].map(s=>this.searchOneProvider(s)):[this.searchOneProvider(e,(i=(r=this.resultsBySearchProvider[e])==null?void 0:r.cursor)!=null?i:null)];return Promise.allSettled(t).then(s=>{s.find(n=>n.status==="rejected"&&(n.reason.name==="CanceledError"||n.reason.code==="ERR_CANCELED"))||(this.searching=!1,this.searchingMoreOf=null)})},searchOneProvider(e,t=null){const r=t===null?u.generateOcsUrl("search/providers/{providerId}/search?term={term}&limit={limit}",{providerId:e,term:this.searchQuery,limit:P}):u.generateOcsUrl("search/providers/{providerId}/search?term={term}&limit={limit}&cursor={cursor}",{providerId:e,term:this.searchQuery,limit:P,cursor:t});return m.get(r,{signal:this.abortController.signal}).then(i=>{const s=i.data.ocs.data;this.resultsBySearchProvider[e].name=s.name,this.resultsBySearchProvider[e].cursor=s.cursor,this.resultsBySearchProvider[e].isPaginated=s.isPaginated,this.resultsBySearchProvider[e].entries.push(...s.entries)})}}};var Re=function(){var e=this,t=e._self._c;return t("div",{staticClass:"smart-picker-search",class:{"with-empty-content":e.showEmptyContent}},[t("NcSelect",{ref:"search-select",staticClass:"smart-picker-search--select",attrs:{"input-id":"search-select-input",label:"name",placeholder:e.mySearchPlaceholder,options:e.options,"append-to-body":!1,"close-on-select":!1,"clear-search-on-select":!1,"clear-search-on-blur":()=>!1,"reset-focus-on-options-change":!1,filterable:!1,autoscroll:!0,"reset-on-options-change":!1,loading:e.searching},on:{search:e.onSearchInput,input:e.onSelectResultSelected},scopedSlots:e._u([{key:"option",fn:function(r){return[r.isRawLink?t("div",{staticClass:"custom-option"},[t("LinkVariantIcon",{staticClass:"option-simple-icon",attrs:{size:20}}),t("span",{staticClass:"option-text"},[e._v(" "+e._s(e.t("Raw link {options}",{options:r.resourceUrl}))+" ")])],1):r.resourceUrl?t("NcSearchResult",{staticClass:"search-result",attrs:{entry:r,query:e.searchQuery}}):r.isCustomGroupTitle?t("span",{staticClass:"custom-option group-name"},[e.provider.icon_url?t("img",{staticClass:"provider-icon group-name-icon",attrs:{src:e.provider.icon_url}}):e._e(),t("span",{staticClass:"option-text"},[t("strong",[e._v(e._s(r.name))])])]):r.isMore?t("span",{class:{"custom-option":!0}},[r.isLoading?t("span",{staticClass:"option-simple-icon icon-loading-small"}):t("DotsHorizontalIcon",{staticClass:"option-simple-icon",attrs:{size:20}}),t("span",{staticClass:"option-text"},[e._v(" "+e._s(e.t('Load more "{options}"',{options:r.name}))+" ")])],1):e._e()]}},{key:"no-options",fn:function(){return[e._v(" "+e._s(e.noOptionsText)+" ")]},proxy:!0}]),model:{value:e.selectedResult,callback:function(r){e.selectedResult=r},expression:"selectedResult"}}),e.showEmptyContent?t("NcEmptyContent",{staticClass:"smart-picker-search--empty-content",scopedSlots:e._u([{key:"icon",fn:function(){return[e.provider.icon_url?t("img",{staticClass:"provider-icon",attrs:{alt:e.providerIconAlt,src:e.provider.icon_url}}):t("LinkVariantIcon")]},proxy:!0}],null,!1,2922132592)}):e._e()],1)},xe=[],Ne=c.normalizeComponent(Se,Re,xe,!1,null,"97d196f0",null,null);const T=Ne.exports;const d={providerList:1,standardLinkInput:2,searchInput:3,customElement:4},Ie={name:"NcReferencePicker",components:{NcCustomPickerElement:le,NcProviderList:me,NcRawLinkInput:ye,NcSearch:T},props:{initialProvider:{type:Object,default:()=>null},width:{type:Number,default:null},focusOnCreate:{type:Boolean,default:!0}},emits:["cancel","cancel-raw-link","cancel-search","provider-selected","submit"],data(){return{MODES:d,selectedProvider:this.initialProvider}},computed:{mode(){return this.selectedProvider===null?d.providerList:l(this.selectedProvider.id)?d.customElement:this.selectedProvider.search_providers_ids?d.searchInput:d.standardLinkInput},pickerWrapperStyle(){return{width:this.width?this.width+"px":void 0}}},mounted(){this.focusOnCreate&&(this.initialProvider?setTimeout(()=>{var e;(e=this.$refs["url-input"])==null||e.focus()},300):this.$nextTick(()=>{var e;(e=this.$refs["provider-list"])==null||e.focus()}))},methods:{onEscapePressed(){this.selectedProvider!==null?this.deselectProvider():this.cancelProviderSelection()},onProviderSelected(e){this.selectedProvider=e,this.$emit("provider-selected",e),this.$nextTick(()=>{var t;(t=this.$refs["url-input"])==null||t.focus()})},cancelCustomElement(){this.deselectProvider()},cancelSearch(){var e;this.$emit("cancel-search",(e=this.selectedProvider)==null?void 0:e.title),this.deselectProvider()},cancelRawLinkInput(){var e;this.$emit("cancel-raw-link",(e=this.selectedProvider)==null?void 0:e.title),this.deselectProvider()},cancelProviderSelection(){this.$emit("cancel")},submitLink(e){this.selectedProvider!==null&&ae(this.selectedProvider.id),this.$emit("submit",e),this.deselectProvider()},deselectProvider(){this.selectedProvider=null,this.$emit("provider-selected",null),setTimeout(()=>{var e;(e=this.$refs["provider-list"])==null||e.focus()},300)}}};var Le=function(){var e=this,t=e._self._c;return t("div",{staticClass:"reference-picker",style:e.pickerWrapperStyle,attrs:{tabindex:"-1"},on:{keydown:function(r){return!r.type.indexOf("key")&&e._k(r.keyCode,"esc",27,r.key,["Esc","Escape"])?null:(r.stopPropagation(),r.preventDefault(),e.onEscapePressed.apply(null,arguments))}}},[e.mode===e.MODES.providerList?t("NcProviderList",{ref:"provider-list",on:{"select-provider":e.onProviderSelected,submit:e.submitLink,cancel:e.cancelProviderSelection}}):e.mode===e.MODES.standardLinkInput?t("NcRawLinkInput",{ref:"url-input",attrs:{provider:e.selectedProvider},on:{submit:e.submitLink,cancel:e.cancelRawLinkInput}}):e.mode===e.MODES.searchInput?t("NcSearch",{ref:"url-input",attrs:{provider:e.selectedProvider},on:{cancel:e.cancelSearch,submit:e.submitLink}}):e.mode===e.MODES.customElement?t("div",{staticClass:"custom-element-wrapper"},[t("NcCustomPickerElement",{attrs:{provider:e.selectedProvider},on:{submit:e.submitLink,cancel:e.cancelCustomElement}})],1):e._e()],1)},Ee=[],Oe=c.normalizeComponent(Ie,Le,Ee,!1,null,"aa77d0d3",null,null);const M=Oe.exports;const $e={name:"NcReferencePickerModal",components:{NcReferencePicker:M,NcModal:H,NcButton:A,ArrowLeftIcon:G,CloseIcon:F},props:{initialProvider:{type:Object,default:()=>null},focusOnCreate:{type:Boolean,default:!0},isInsideViewer:{type:Boolean,default:!1}},emits:["cancel","submit"],data(){return{show:!0,selectedProvider:this.initialProvider,backButtonTitle:o.t("Back to provider selection"),closeButtonTitle:o.t("Close"),closeButtonLabel:o.t("Close Smart Picker")}},computed:{isProviderSelected(){return this.selectedProvider!==null},showBackButton(){return this.initialProvider===null&&this.isProviderSelected},modalSize(){var e;return this.isProviderSelected&&l(this.selectedProvider.id)?(e=re(this.selectedProvider.id))!=null?e:"large":"normal"},showModalName(){return!this.isProviderSelected||!l(this.selectedProvider.id)},modalName(){return this.isProviderSelected?this.selectedProvider.title:o.t("Smart Picker")}},mounted(){if(this.isInsideViewer){const e=this.$refs.modal_content;Q.emit("viewer:trapElements:changed",e)}},methods:{onCancel(){this.show=!1,this.$emit("cancel")},onSubmit(e){this.show=!1,this.$emit("submit",e)},onProviderSelect(e){this.selectedProvider=e,e===null&&this.initialProvider!==null&&this.onCancel()},onBackClicked(){this.$refs.referencePicker.deselectProvider()}}};var qe=function(){var e=this,t=e._self._c;return e.show?t("NcModal",{staticClass:"reference-picker-modal",attrs:{size:e.modalSize,"can-close":!1},on:{close:e.onCancel}},[t("div",{ref:"modal_content",staticClass:"reference-picker-modal--content"},[e.showBackButton?t("NcButton",{staticClass:"back-button",attrs:{"aria-label":e.backButtonTitle,title:e.backButtonTitle},on:{click:e.onBackClicked},scopedSlots:e._u([{key:"icon",fn:function(){return[t("ArrowLeftIcon")]},proxy:!0}],null,!1,3001860362)}):e._e(),t("NcButton",{staticClass:"close-button",attrs:{"aria-label":e.closeButtonLabel,title:e.closeButtonTitle,type:"tertiary"},on:{click:e.onCancel},scopedSlots:e._u([{key:"icon",fn:function(){return[t("CloseIcon")]},proxy:!0}],null,!1,2491825086)}),e.showModalName?t("h2",[e._v(" "+e._s(e.modalName)+" ")]):e._e(),t("NcReferencePicker",{ref:"referencePicker",attrs:{"initial-provider":e.initialProvider,"focus-on-create":e.focusOnCreate},on:{"provider-selected":e.onProviderSelect,submit:e.onSubmit,cancel:e.onCancel}})],1)]):e._e()},Be=[],je=c.normalizeComponent($e,qe,Be,!1,null,"3f1a4ac7",null,null);const V=je.exports;async function Te(e=null,t=void 0){return await new Promise((r,i)=>{var k;const s="referencePickerModal",n=document.createElement("div");n.id=s,document.body.append(n);const a=e===null?null:(k=$(e))!=null?k:null,p=J.extend(V),h=new p({propsData:{initialProvider:a,isInsideViewer:t}}).$mount(n);h.$on("cancel",()=>{h.$destroy(),i(new Error("User cancellation"))}),h.$on("submit",W=>{h.$destroy(),r(W)})})}exports.NcCustomPickerRenderResult=te,exports.NcReferencePicker=M,exports.NcReferencePickerModal=V,exports.NcReferenceWidget=I,exports.NcSearch=T,exports.anyLinkProviderId=_,exports.getLinkWithPicker=Te,exports.getProvider=$,exports.getProviders=g,exports.isCustomPickerElementRegistered=l,exports.isWidgetRegistered=R,exports.registerCustomPickerElement=L,exports.registerWidget=x,exports.renderCustomPickerElement=E,exports.renderWidget=N,exports.searchProvider=B,exports.sortProviders=q;