PageSourceSearch

https://momery.com/cdn/shop/t/54/assets/momery-printess-save-share-ui.js?v=183883055610073507591790770305

js momery.com collected 2026-10-09 22:39:49 UTC 9,770 bytes, 10 lines download raw bytes

1(function(){if(window.__printessSaveShareUiInit)return;window.__printessSaveShareUiInit=!0;const PANEL_ID="Printess-SaveShare",BACKDROP_ID="Printess-SaveShareBackdrop",COPY_HINT_RESET_MS=2500,EDITOR_OPEN_CLASS="printess-editor-open",getPanel=()=>document.getElementById(PANEL_ID),getBackdrop=()=>document.getElementById(BACKDROP_ID),getCC=()=>document.querySelector(".click-capture"),isOpen=panel=>!!panel&&panel.classList.contains("active"),isEditorOpen=()=>document.documentElement.classList.contains(EDITOR_OPEN_CLASS)||document.body.classList.contains(EDITOR_OPEN_CLASS),cc=getCC(),ccPrevDisplay=cc?cc.style.display:null,showCC=()=>{const c=getCC();c&&c.style.display===""&&(c.style.display="block")},hideCC=()=>{const c=getCC();c&&(c.style.display=ccPrevDisplay??"")},getTransitionMs=el=>{const cs=window.getComputedStyle(el),toMs=s=>{const v=(s||"").trim();if(!v)return 0;if(v.endsWith("ms"))return parseFloat(v);if(v.endsWith("s"))return parseFloat(v)*1e3;const n=parseFloat(v);return Number.isFinite(n)?n:0},durs=(cs.transitionDuration||"").split(",").map(toMs),dels=(cs.transitionDelay||"").split(",").map(toMs),len=Math.max(durs.length,dels.length,1),durAt=i=>durs[i]??durs[durs.length-1]??0,delAt=i=>dels[i]??dels[dels.length-1]??0;let max=0;for(let i=0;i<len;i++)max=Math.max(max,durAt(i)+delAt(i));return Math.ceil(max)},ensurePanelBaseInline=panel=>{panel&&(panel.style.position="fixed",panel.style.top="0",panel.style.right="0",panel.style.height="100vh",panel.style.width="min(470px, 92vw)",panel.style.background="#fff",panel.style.boxShadow="-8px 0 24px rgba(0, 0, 0, .12)",panel.style.zIndex="2147483647",panel.style.setProperty("display","block","important"))},setPanelOpenInline=panel=>{panel&&(panel.style.transform="translate3d(0, 0, 0)",panel.style.opacity="1",panel.style.visibility="visible",panel.style.pointerEvents="auto")},setPanelClosedInline=panel=>{panel&&(panel.style.transform="translate3d(110%, 0, 0)",panel.style.opacity="0",panel.style.visibility="hidden",panel.style.pointerEvents="none")},ensureBackdropBaseInline=b=>{b&&(b.style.position="fixed",b.style.inset="0",b.style.background="rgba(0, 0, 0, .55)",b.style.zIndex="2147483646")},setBackdropOpenInline=b=>{b&&(b.style.opacity="0.55",b.style.pointerEvents="auto")},setBackdropClosedInline=b=>{b&&(b.style.opacity="0",b.style.pointerEvents="none")},showBackdrop=()=>{const b=getBackdrop();b&&(ensureBackdropBaseInline(b),b.hidden=!1,b.setAttribute("aria-hidden","false"),setBackdropClosedInline(b),b.offsetHeight,b.classList.add("is-active"),setBackdropOpenInline(b))},hideBackdrop=()=>{const b=getBackdrop();b&&(b.classList.remove("is-active"),b.setAttribute("aria-hidden","true"),setBackdropClosedInline(b),window.setTimeout(()=>{b.hidden=!0},200))},openPanel=()=>{const panel=getPanel();panel&&(ensurePanelBaseInline(panel),setPanelClosedInline(panel),showBackdrop(),requestAnimationFrame(()=>{panel.classList.add("active"),panel.setAttribute("aria-hidden","false"),setPanelOpenInline(panel),document.body.classList.add("open-cc"),showCC(),typeof panel.focus=="function"&&panel.focus()}))},closePanel=()=>{const panel=getPanel();if(!panel||!isOpen(panel))return;panel.classList.remove("active"),panel.setAttribute("aria-hidden","true"),setPanelClosedInline(panel),hideBackdrop();const transitionMs=getTransitionMs(panel),fallbackMs=Math.max(transitionMs+150,700);let finished=!1,timer=null;const cleanup=()=>{finished||(finished=!0,document.body.classList.remove("open-cc"),hideCC(),panel.removeEventListener("transitionend",onEnd),timer&&clearTimeout(timer))},onEnd=e=>{e.target===panel&&(e.propertyName!=="transform"&&e.propertyName!=="opacity"||cleanup())};panel.addEventListener("transitionend",onEnd),timer=setTimeout(cleanup,fallbackMs)},normKey=k=>String(k||"").toLowerCase().trim().replace(/\s+/g," ").replace(/ä/g,"ae").replace(/ö/g,"oe").replace(/ü/g,"ue"),readFormFieldValues=ffv=>{const out={};return ffv?typeof ffv=="object"&&!Array.isArray(ffv)?(Object.keys(ffv).forEach(k=>{const nk=normKey(k),v=ffv[k];v!=null&&String(v).trim()!==""&&(out[nk]=String(v).trim())}),out):(Array.isArray(ffv)&&ffv.forEach(item=>{if(item){if(Array.isArray(item)&&item.length>=2){const nk=normKey(item[0]),v=item[1];nk&&v!==null&&v!==void 0&&String(v).trim()!==""&&(out[nk]=String(v).trim());return}if(typeof item=="object"){const k=item.name??item.key??item.handle??item.id??item.field??item.label??item.title,v=item.value??item.val??item.selected??item.text??item.displayValue??item.display??item.labelValue,nk=normKey(k);nk&&v!==null&&v!==void 0&&String(v).trim()!==""&&(out[nk]=String(v).trim())}}}),out):out},pickByCandidates=(map,candidates)=>{for(const c of candidates){const nc=normKey(c);if(map[nc])return map[nc];const hitKey=Object.keys(map).find(k=>k.includes(nc));if(hitKey)return map[hitKey]}return""},buildVariantTextFromDetail=detail=>{const variantTitle=detail?.params?.variantTitle;if(variantTitle&&String(variantTitle).trim()!==""&&String(variantTitle).trim().toLowerCase()!=="default title")return String(variantTitle).replace(/\s*\/\s*/g," \xB7 ").trim();const ffvRaw=detail?.params?.formFieldValues,map=readFormFieldValues(ffvRaw),orientation=pickByCandidates(map,["ausrichtung","orientation","typefilter","format","richtung"]),size=pickByCandidates(map,["groesse","gr\xF6\xDFe","size","document_size","documentsize","dimension","abmessung"]),material=pickByCandidates(map,["material","papier","paper","finish","oberflaeche","oberfl\xE4che"]);return[orientation,size,material].filter(x=>String(x||"").trim()!=="").join(" \xB7 ")},setSaveMessage=(panel,{isResave=!1}={})=>
1{if(!panel)return;const el=panel.querySelector("#PrintessSaveShareSaveMsg");el&&(isResave?el.innerHTML=`
2      <strong>Erneut gespeichert</strong> \u2013 
3      der <strong>neue Link</strong> ist jetzt aktiv. 
4      Bitte kopiere ihn erneut.
5    `:el.innerHTML=`
6      <strong>Gespeichert</strong> \u2013 
7      kopiere den Link, um dein Design sp\xE4ter wieder aufzurufen.
8    `,el.hidden=!1)};let hasOpenedOnce=!1;const setPanelData=({shareUrl,thumbnailUrl,detail})=>{const panel=getPanel();if(!panel)return;const input=panel.querySelector("#PrintessSaveShareUrl"),copyBtn=panel.querySelector("#PrintessSaveShareCopy"),hint=panel.querySelector(".printess-save-share-hint"),mailLink=panel.querySelector("#PrintessSaveShareMail"),waLink=panel.querySelector("#PrintessSaveShareWhatsApp"),variantTextEl=panel.querySelector("#PrintessSaveShareVariantText"),buildMailtoUrl=url=>{const subject=encodeURIComponent("Mein Design-Link"),body=encodeURIComponent(`Hier ist der Link zu meinem Design:
9${url}`);return`mailto:?subject=${subject}&body=${body}`};if(mailLink&&(mailLink.href=buildMailtoUrl(shareUrl||"")),waLink){const text=encodeURIComponent(`Hier ist der Link zu meinem Design: ${shareUrl||""}`);waLink.href=`https://wa.me/?text=${text}`}input&&(input.value=shareUrl||"",input.onclick=()=>{input.focus(),input.select()});const previewWrap=panel.querySelector(".printess-save-share-preview"),thumbImg=panel.querySelector(".printess-save-share-thumb");if(thumbnailUrl&&thumbImg&&previewWrap?(thumbImg.src=thumbnailUrl,thumbImg.alt="Vorschau deines Designs",previewWrap.hidden=!1):previewWrap&&(previewWrap.hidden=!0),variantTextEl){const txt=buildVariantTextFromDetail(detail);txt?(variantTextEl.textContent=txt,variantTextEl.hidden=!1):(variantTextEl.textContent="",variantTextEl.hidden=!0)}setSaveMessage(panel,{isResave:hasOpenedOnce});const setHint=text=>{hint&&(hint.textContent=text||"",text&&(window.clearTimeout(hint.__t),hint.__t=window.setTimeout(()=>{hint.textContent=""},COPY_HINT_RESET_MS)))};if(copyBtn){const originalLabel=copyBtn.textContent;copyBtn.onclick=async()=>{const val=input?input.value:"";if(val)try{navigator.clipboard?.writeText?await navigator.clipboard.writeText(val):input&&(input.focus(),input.select(),document.execCommand("copy")),copyBtn.textContent="\u2713 LINK KOPIERT",copyBtn.classList.add("is-copied"),setTimeout(()=>{copyBtn.textContent=originalLabel,copyBtn.classList.remove("is-copied")},3e3)}catch{copyBtn.textContent="FEHLER",setTimeout(()=>{copyBtn.textContent=originalLabel},2e3)}}}};document.addEventListener("click",e=>{const panel=getPanel(),b=getBackdrop();!panel||!b||!isOpen(panel)||e.target===b&&(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),closePanel())},{capture:!0}),cc&&cc.addEventListener("click",e=>{const panel=getPanel();!panel||!isOpen(panel)||(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),closePanel())},{capture:!0}),document.addEventListener("click",e=>{const panel=getPanel();if(!panel||!isOpen(panel))return;const closeBtn=e.target.closest(".side-panel-close");closeBtn&&panel.contains(closeBtn)&&(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),closePanel())},{capture:!0}),document.addEventListener("keyup",e=>{if(e.code&&e.code.toUpperCase()==="ESCAPE"){const panel=getPanel();panel&&isOpen(panel)&&closePanel()}}),document.addEventListener("printess:saved",evt=>{const detail=evt.detail||{};setPanelData({shareUrl:detail.shareUrl,thumbnailUrl:detail.thumbnailUrl,detail}),openPanel(),hasOpenedOnce=!0});let lastEditorOpen=isEditorOpen();const editorStateObserver=new MutationObserver(()=>{const nowOpen=isEditorOpen();if(lastEditorOpen&&!nowOpen){const panel=getPanel();panel&&isOpen(panel)&&closePanel()}lastEditorOpen=nowOpen});editorStateObserver.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),editorStateObserver.observe(document.body,{attributes:!0,attributeFilter:["class"]}),window.addEventListener("pageshow",()=>{const panel=getPanel();panel&&isOpen(panel)&&!isEditorOpen()&&closePanel()})})();
10//# sourceMappingURL=/cdn/shop/t/54/assets/momery-printess-save-share-ui.js.map?v=183883055610073507591790770305

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.