Files
laipower/wp-content/plugins/activitypub/build/remote-reply/view.js

1 line
6.1 KiB
JavaScript

import*as e from"@wordpress/interactivity";var t={475(){const t=e,o=t.withSyncEvent??(e=>e);!function(){const{actions:e,callbacks:r}=(0,t.store)("activitypub/remote-reply",{actions:{openModal(e){const o=(0,t.getContext)();if(o.modal.isOpen=!0,o.modal.isCompact)setTimeout(r.positionModal,0);else{const e=document.getElementById(o.blockId);if(e){const t=e.querySelector(".activitypub-modal__overlay");t&&["top","left","right","bottom"].forEach(e=>{t.style.removeProperty(e)})}setTimeout(()=>{if(e){const t=e.querySelector(".activitypub-modal__frame");t&&r.trapFocus(t)}},50)}"function"==typeof r.onModalOpen&&r.onModalOpen(e)},closeModal(e){const o=(0,t.getContext)();o.modal.isOpen=!1;const n=(0,t.getElement)();if("actions.toggleModal"===n.ref.dataset["wpOn-Click"])n.ref.focus();else{const e=document.getElementById(o.blockId);if(e){const t=e.querySelector('[data-wp-on--click="actions.toggleModal"]');t&&t.focus()}}"function"==typeof r.onModalClose&&r.onModalClose(e)},toggleModal:o(o=>{o?.preventDefault?.();const{modal:r}=(0,t.getContext)();r.isOpen?e.closeModal(o):e.openModal(o)})},callbacks:{_abortController:null,handleModalEffects(){const{modal:e}=(0,t.getContext)();if(e.isOpen&&!e.isCompact?document.body.classList.add("modal-open"):document.body.classList.remove("modal-open"),r._abortController&&(r._abortController.abort(),r._abortController=null),e.isOpen){r._abortController=new AbortController;const{signal:e}=r._abortController;document.addEventListener("keydown",r.documentKeydown,{signal:e}),document.addEventListener("click",r.documentClick,{signal:e})}},documentKeydown(o){const{modal:r}=(0,t.getContext)();r.isOpen&&"Escape"===o.key&&e.closeModal()},documentClick(o){const{blockId:r,modal:n}=(0,t.getContext)();if(!n.isOpen)return;const l=document.getElementById(r);if(!l)return;const s=l.querySelectorAll('[data-wp-on--click="actions.toggleModal"]');for(const e of s)if(e===o.target||e.contains(o.target))return;const i=l.querySelector(".activitypub-modal__frame");i&&!i.contains(o.target)&&e.closeModal()},positionModal(){const{blockId:e}=(0,t.getContext)(),o=document.getElementById(e);if(!o)return;const r=o.querySelector(".activitypub-modal__overlay");if(!r)return;r.style.top="",r.style.left="",r.style.right="",r.style.bottom="";const n=(0,t.getElement)().ref.getBoundingClientRect(),l=window.innerWidth,s=o.getBoundingClientRect(),i={top:n.bottom-s.top+8+"px",left:n.left-s.left-2+"px"};l-n.right<250&&(i.left="auto",i.right=s.right-n.right+"px"),Object.assign(r.style,i)},trapFocus(e){const t=e.querySelectorAll('a[href]:not([disabled]), button:not([disabled]), textarea:not([disabled]), input[type="text"]:not([disabled]):not([readonly]), input[type="radio"]:not([disabled]), input[type="checkbox"]:not([disabled]), select:not([disabled])'),o=t[0],r=t[t.length-1];o&&o.classList.contains("activitypub-modal__close")&&t.length>1?t[1].focus():o.focus(),e.addEventListener("keydown",function(t){if("Tab"!==t.key&&9!==t.keyCode)return;const n=e.ownerDocument.activeElement;t.shiftKey?n===o&&(r.focus(),t.preventDefault()):n===r&&(o.focus(),t.preventDefault())})}}})}();const{actions:r,callbacks:n,state:l}=(0,t.store)("activitypub/remote-reply",{state:{get remoteProfileUrl(){const{commentURL:e}=(0,t.getContext)();return l.template.replace("{uri}",encodeURIComponent(e))}},actions:{onReplyLinkKeydown:o(e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),r.toggleModal(e))}),copyToClipboard(){const e=(0,t.getContext)(),{i18n:o}=(0,t.getConfig)();navigator.clipboard.writeText(e.commentURL).then(()=>{e.copyButtonText=o.copied,setTimeout(()=>{e.copyButtonText=o.copy},1e3)},e=>{console.error("Could not copy text: ",e)})},updateRemoteProfile(e){const o=(0,t.getContext)();o.remoteProfile=e.target.value,o.isError=!1,o.errorMessage=""},onInputKeydown(e){if("Enter"===e.key)return e.preventDefault(),r.submitRemoteProfile()},*submitRemoteProfile(){const e=(0,t.getContext)(),{namespace:o,i18n:s}=(0,t.getConfig)(),{apiFetch:i}=window.wp,a=e.remoteProfile.trim();if(!a)return e.isError=!0,void(e.errorMessage=s.emptyProfileError);if(!n.isHandle(a)&&!n.isUrl(a))return e.isError=!0,void(e.errorMessage=s.invalidProfileError);e.isLoading=!0,e.isError=!1,e.errorMessage="";const c=`/${o}/comments/${e.commentId}/remote-reply?resource=${encodeURIComponent(a)}`;try{const{template:t,url:o}=yield i({path:c});e.isLoading=!1,window.open(o,"_blank"),r.closeModal(),e.shouldSaveProfile&&(n.setStore({profileURL:a,template:t}),Object.assign(l,{hasRemoteUser:!0,profileURL:a,template:t}))}catch(t){console.error("Error submitting profile:",t),e.isLoading=!1,e.isError=!0,e.errorMessage=t.message||s.genericError}},toggleRememberProfile(){const e=(0,t.getContext)();e.shouldSaveProfile=!e.shouldSaveProfile},deleteRemoteUser(){n.deleteStore(),l.hasRemoteUser=!1,l.profileURL="",l.template=""}},callbacks:{storageKey:"fediverse-remote-user",init(){const{profileURL:e,template:t}=n.getStore();e&&t&&Object.assign(l,{hasRemoteUser:!0,profileURL:e,template:t})},getStore(){const e=localStorage.getItem(n.storageKey);return e?JSON.parse(e):{}},setStore(e){localStorage.setItem(n.storageKey,JSON.stringify(e))},deleteStore(){localStorage.removeItem(n.storageKey)},isHandle(e){const t=e.replace(/^@/,"").split("@");return 2===t.length&&n.isUrl(`https://${t[1]}`)},isUrl(e){try{return new URL(e),!0}catch(e){return!1}}}})}};const o={};function r(e){const n=o[e];if(void 0!==n)return n.exports;const l=o[e]={exports:{}};return t[e](l,l.exports,r),l.exports}r.m=t,(()=>{const e=[];r.O=(t,o,n,l)=>{if(o){l=l||0;for(var s=e.length;s>0&&e[s-1][2]>l;s--)e[s]=e[s-1];return void(e[s]=[o,n,l])}let i=1/0;for(s=0;s<e.length;s++){let[o,n,l]=e[s],c=!0;for(var a=0;a<o.length;a++)(!1&l||i>=l)&&Object.keys(r.O).every(e=>r.O[e](o[a]))?o.splice(a--,1):(c=!1,l<i&&(i=l));if(c){e.splice(s--,1);const o=n();void 0!==o&&(t=o)}}return t}})(),r.o=(e,t)=>Object.hasOwn(e,t);export{r as __webpack_require__};(()=>{const e={466:0,354:0};r.C=t=>{let{__webpack_esm_ids__:o,__webpack_esm_modules__:n,__webpack_esm_runtime__:l}=t;var s,i,a=0;for(s in n)r.o(n,s)&&(r.m[s]=n[s]);for(l&&l(r);a<o.length;a++)i=o[a],r.o(e,i)&&e[i]&&e[i][0](),e[o[a]]=0;r.O()},r.O.j=t=>0===e[t]})();let n=r.O(void 0,[354],()=>r(475));n=r.O(n);