mblox 2.0.2 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/mBloxM3E.js +22 -22
- package/package.json +1 -1
package/dist/mBloxM3E.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/*! mBlox Unified JS | Generated: 2026-06-08T09:
|
|
2
|
-
var wt=Object.defineProperty;var St=(e,t)=>()=>(e&&(t=e(e=0)),t);var k=(e,t)=>{for(var o in t)wt(e,o,{get:t[o],enumerable:!0})};var ke={};k(ke,{ASPECT_RATIO_CLASSES:()=>Be,BLOCK_CARD:()=>_,BLOCK_COMMENT:()=>C,BLOCK_COVER:()=>f,BLOCK_GALLERY:()=>R,BLOCK_LIST:()=>v,BLOCK_PANCAKE:()=>B,BLOCK_QUOTE:()=>y,BLOCK_SHOWCASE:()=>L,BLOCK_STACK:()=>T,BREAKPOINTS:()=>ue,DEFAULT_COLUMN_COUNTS:()=>Ae,LAYOUT_CLASSES:()=>xe,M3E_PALETTES:()=>fe,RESPONSIVE_CAROUSEL_CLASSES_M3E:()=>he,RESPONSIVE_COLUMN_MAP:()=>pe,RESPONSIVE_GRID_CLASSES_M3E:()=>U,getBreakpointIndex:()=>Ie,noImg:()=>O});function Ie(e){return e<ue.sm?0:e<ue.md?1:e<ue.lg?2:e<ue.xl?3:4}var f,L,v,_,R,B,T,y,C,O,Ae,ue,pe,he,U,fe,xe,Be,x=St(()=>{f="v",L="s",v="l",_="c",R="g",B="p",T="t",y="q",C="m",O=window.noImg||"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iIzljYTNhZiI+PHBhdGggZD0iTTIxIDE5VjVjMC0xLjEtLjktMi0yLTJINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMnpNOC41IDEzLjVsMi41IDMuMDFMMTQuNSAxMmw0LjUgNkg1bDMuNS00LjV6Ii8+PC9zdmc+",Ae={v:1,m:1,t:1,p:3,c:4,q:4,g:5,l:2,s:6},ue={sm:600,md:840,lg:1200,xl:1600},pe={1:[1,1,1,1,1],2:[1,1,2,2,2],3:[1,1,2,3,3],4:[1,2,3,4,4],5:[2,3,4,4,5],6:[3,4,4,5,6]};he={1:"auto-cols-[100%]",2:"auto-cols-[100%] @3xl:auto-cols-[50%]",3:"auto-cols-[100%] @3xl:auto-cols-[50%] @5xl:auto-cols-[33.333333%]",4:"auto-cols-[100%] @xl:auto-cols-[50%] @3xl:auto-cols-[33.333333%] @5xl:auto-cols-[25%]",5:"auto-cols-[50%] @xl:auto-cols-[33.333333%] @3xl:auto-cols-[25%] @7xl:auto-cols-[20%]",6:"auto-cols-[33.333333%] @xl:auto-cols-[25%] @5xl:auto-cols-[20%] @7xl:auto-cols-[16.666667%]"},U={1:"grid-cols-1",2:"grid-cols-1 @3xl:grid-cols-2",3:"grid-cols-1 @3xl:grid-cols-2 @5xl:grid-cols-3",4:"grid-cols-1 @xl:grid-cols-2 @3xl:grid-cols-3 @5xl:grid-cols-4",5:"grid-cols-1 @md:grid-cols-2 @xl:grid-cols-3 @3xl:grid-cols-4 @7xl:grid-cols-5",6:"grid-cols-3 @xl:grid-cols-4 @5xl:grid-cols-5 @7xl:grid-cols-6"},fe={surface:{bg:"bg-surface",text:"text-on-surface",glass:"bg-surface/20",hoverBg:"hover:bg-surface",hoverText:"hover:text-on-surface",containerBg:"bg-surface-container",containerText:"text-on-surface",containerGlass:"bg-surface-container/20"},primary:{bg:"bg-primary",text:"text-on-primary",glass:"bg-primary/20",hoverBg:"hover:bg-tertiary",hoverText:"hover:text-on-tertiary",containerBg:"bg-primary-container",containerText:"text-on-primary-container",containerGlass:"bg-primary-container/20"},secondary:{bg:"bg-secondary",text:"text-on-secondary",glass:"bg-secondary/20",hoverBg:"hover:bg-secondary",hoverText:"hover:text-on-secondary",containerBg:"bg-secondary-container",containerText:"text-on-secondary-container",containerGlass:"bg-secondary-container/20"},tertiary:{bg:"bg-tertiary",text:"text-on-tertiary",glass:"bg-tertiary/20",containerBg:"bg-tertiary-container",containerText:"text-on-tertiary-container",containerGlass:"bg-tertiary-container/20"},error:{bg:"bg-error",text:"text-on-error",glass:"bg-error/20",containerBg:"bg-error-container",containerText:"text-on-error-container",containerGlass:"bg-error-container/20"}},xe={0:{gap:"gap-0",mt:"mt-0",mb:"mb-0",px:"px-0"},2:{gap:"gap-1 @3xl:gap-2",mt:"mt-1 @3xl:mt-2",mb:"mb-1 @3xl:mb-2",px:"px-1 @3xl:px-2"},4:{gap:"gap-2 @3xl:gap-3 @5xl:gap-4",mt:"mt-2 @3xl:mt-3 @5xl:mt-4",mb:"mb-2 @3xl:mb-3 @5xl:mb-4",px:"px-2 @3xl:px-3 @5xl:px-4"},6:{gap:"gap-3 @3xl:gap-4 @5xl:gap-6",mt:"mt-3 @3xl:mt-4 @5xl:mt-6",mb:"mb-3 @3xl:mb-4 @5xl:mb-6",px:"px-3 @3xl:px-4 @5xl:px-6"},8:{gap:"gap-4 @3xl:gap-6 @5xl:gap-8",mt:"mt-4 @3xl:mt-6 @5xl:mt-8",mb:"mb-4 @3xl:mb-6 @5xl:mb-8",px:"px-4 @3xl:px-6 @5xl:px-8"},10:{gap:"gap-6 @3xl:gap-8 @5xl:gap-10",mt:"mt-6 @3xl:mt-8 @5xl:mt-10",mb:"mb-6 @3xl:mb-8 @5xl:mb-10",px:"px-6 @3xl:px-8 @5xl:px-10"},12:{gap:"gap-8 @3xl:gap-10 @5xl:gap-12",mt:"mt-8 @3xl:mt-10 @5xl:mt-12",mb:"mb-8 @3xl:mb-10 @5xl:mb-12",px:"px-8 @3xl:px-10 @5xl:px-12"}},Be={"1/1":"aspect-square","16/9":"aspect-video","4/3":"aspect-[4/3]","3/4":"aspect-[3/4]","9/16":"aspect-[9/16]","9/21":"aspect-[9/21]","21/9":"aspect-[21/9]"}});function Q(e){if(!e)return[];let t=/#([a-zA-Z0-9_]+)/g,o=e.match(t);return o?o.map(r=>r.toLowerCase()):[]}function K(e){return new Promise((t,o)=>{let r=`jsonp_callback_${Math.round(1e5*Math.random())}`,l=document.createElement("script");l.src=`${e}&callback=${r}`,window[r]=function(s){delete window[r],document.head.removeChild(l),t(s)},l.onerror=function(){delete window[r],document.head.removeChild(l);let s=`JSONP request to ${e} failed.`;console.error(s),o(new Error(s))},document.head.appendChild(l)})}function Ge(e,t){return Array.isArray(e)?{posts:e.map(r=>({title:r.title.rendered,content:r.content.rendered,authorName:r._embedded?.author[0]?.name||"Unknown",authorUri:r._embedded?.author[0]?.link||"",authorImage:r._embedded?.author[0]?.avatar_urls?.["96"]||"",publishedDate:r.date_gmt,url:r.link,thumbnailUrl:r._embedded?.["wp:featuredmedia"]?.[0]?.media_details?.sizes?.large?.source_url||r._embedded?.["wp:featuredmedia"]?.[0]?.source_url||"",labels:[...new Set([...r._embedded?.["wp:term"]?r._embedded?.["wp:term"].flat().map(l=>l.name):[],...Q(r.title.rendered+" "+r.content.rendered)])],commentCount:r.comment_count?parseInt(r.comment_count,10):r._embedded?.replies?.[0]?.length||0,commentsUrl:r.link?`${r.link}#comments`:"",viewCount:r.views||r.view_count||r.pageviews||0,updatedDate:r.modified_gmt||""})),totalResults:parseInt(t.get("X-WP-Total")||"0",10)}:{posts:[],totalResults:0}}function Ye(e){let t=e.querySelectorAll("item, entry");if(!t.length)return{posts:[],totalResults:0,feedUrl:""};let o=e.querySelector("yt\\:channelId")!==null,r=Array.from(t).map(s=>{let a=n=>{let i=s.querySelector(n);return i?i.textContent:""};if(o){let n=a("yt\\:videoId"),i=s.querySelector("media\\:group"),c=i&&i.querySelector("media\\:thumbnail[url]")?.getAttribute("url")||"";return{title:a("title"),content:a("media\\:description")||"",authorName:a("author > name")||e.querySelector("channel > title, feed > title")?.textContent||"Unknown",publishedDate:a("published"),url:s.querySelector('link[rel="alternate"]')?.getAttribute("href")||"",thumbnailUrl:c,videoId:n,authorUri:a("author > uri")||"",authorImage:"",labels:[...new Set([...Array.from(s.querySelectorAll("category")).map(d=>d.textContent),...Q(a("title")+" "+(a("media\\:description")||""))])],commentCount:0,commentsUrl:"",viewCount:a("media\\:statistics[views]")||0,updatedDate:a("updated")||""}}else{let n=s.querySelector("media\\:thumbnail[url], thumbnail[url]")?.getAttribute("url")||"";if(!n){let c=(a("description")||a("content")).match(/<img[^>]+src="([^">]+)"/);c&&(n=c[1])}return{title:a("title"),content:a("description")||a("content"),authorName:a("dc\\:creator, author > name")||e.querySelector("channel > title, feed > title")?.textContent||"Unknown",publishedDate:a("pubDate, published"),url:a("link")||s.querySelector("link[href]")?.getAttribute("href")||"",thumbnailUrl:n,authorUri:a("author > uri")||"",authorImage:"",labels:[...new Set([...Array.from(s.querySelectorAll("category")).map(i=>i.textContent),...Q(a("title")+" "+(a("description")||a("content")))])],commentCount:a("slash\\:comments")?parseInt(a("slash\\:comments"),10):0,commentsUrl:a("comments")||a("link")||s.querySelector("link[href]")?.getAttribute("href")||"",viewCount:0,updatedDate:a("updated")||""}}}),l=e.querySelector('channel > link, feed > link[rel="alternate"]')?.getAttribute("href")||e.querySelector('channel > link, feed > link[rel="alternate"]')?.textContent||"";return{posts:r,totalResults:t.length,feedUrl:l}}function ye(e){if(e.status!=="ok"||!e.items)return{posts:[],totalResults:0,feedUrl:""};let t=e.feed.url.includes("youtube.com");return{posts:e.items.map(r=>{let l="";if(t){let a=r.link.match(/v=([^&]+)/);l=a?a[1]:""}let s=r.thumbnail||"";if(!s&&r.enclosure&&r.enclosure.link&&r.enclosure.type&&r.enclosure.type.startsWith("image/")&&(s=r.enclosure.link),!s&&r.content){let a=r.content.match(/<img[^>]+src="([^">]+)"/);a&&(s=a[1])}return{title:r.title,content:r.description||r.content||"",authorName:r.author||"Unknown",publishedDate:r.pubDate,url:r.link,thumbnailUrl:s,videoId:l,authorUri:"",authorImage:"",labels:[...new Set([...r.categories||[],...Q((r.title||"")+" "+(r.description||r.content||""))])],commentCount:0,commentsUrl:"",viewCount:0,updatedDate:r.updated||""}}),totalResults:e.items.length,feedUrl:e.feed.link}}function Qe(e){if(!e||!e.data||!Array.isArray(e.data.children))return{posts:[],totalResults:0,feedUrl:""};let t=e.data.children.map(o=>{let r=o.data,l="";if(r.thumbnail&&r.thumbnail.startsWith("http"))l=r.thumbnail;else if(r.preview&&r.preview.images&&r.preview.images.length>0){let a=r.preview.images[0].source.url;l=a?a.replace(/&/g,"&"):""}let s="";return r.selftext_html?s=r.selftext_html.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/"/g,'"'):r.selftext?s=r.selftext:r.url&&!r.url.includes("reddit.com")&&(s=`<a href="${r.url}" target="_blank">External Link: ${r.title}</a>`,r.url.match(/\.(jpeg|jpg|gif|png)$/i)&&(s+=`<br><img src="${r.url}" />`,l||(l=r.url))),{title:r.title,content:s,authorName:r.author||"Unknown",publishedDate:r.created_utc?new Date(r.created_utc*1e3).toISOString():"",url:`https://www.reddit.com${r.permalink}`,thumbnailUrl:l,videoId:"",authorUri:`https://www.reddit.com/user/${r.author}`,authorImage:"",labels:[...new Set([...r.link_flair_text?[r.link_flair_text]:[],...Q((r.title||"")+" "+s)])],commentCount:r.num_comments||0,commentsUrl:`https://www.reddit.com${r.permalink}`,viewCount:r.view_count||r.score||0,updatedDate:r.edited?new Date(r.edited*1e3).toISOString():""}});return{posts:t,totalResults:t.length,feedUrl:""}}function ce(e){if(!e.feed||!e.feed.entry)return{posts:[],totalResults:0,feedUrl:""};let t=e.feed.entry.map(r=>{let l="content"in r?r.content.$t:"summary"in r?r.summary.$t:"",s="";if(l){let n=new DOMParser().parseFromString(l,"text/html").querySelector("img");n&&(s=n.src)}return{title:r.title.$t,content:l,authorName:r.author[0].name.$t,authorUri:r.author[0].name.$t==="Anonymous"||r.author[0].name.$t==="Unknown"?"":r.author[0].uri.$t,authorImage:r.author[0].gd$image?r.author[0].gd$image.src:"",publishedDate:r.published.$t,url:(r.link.find(a=>a.rel==="alternate")||{}).href||"",thumbnailUrl:s,labels:[...new Set([...r.category?r.category.map(a=>a.term):[],...Q((r.title.$t||"")+" "+l)])],commentCount:r.thr$total?parseInt(r.thr$total.$t,10):0,commentsUrl:(r.link.find(a=>a.rel==="replies"&&a.type==="text/html")||{}).href||(r.link.find(a=>a.rel==="alternate")||{}).href||"",viewCount:0,updatedDate:r.updated?r.updated.$t:""}}),o=(e.feed.link.find(r=>r.rel==="alternate")||{}).href||"";return{posts:t,totalResults:e.feed.openSearch$totalResults.$t,feedUrl:o}}var V=900*1e3,$=new Map;async function Je(e){let t=[{url:`https://api.codetabs.com/v1/proxy?quest=${e}`,type:"raw"},{url:`https://corsproxy.io/?${encodeURIComponent(e)}`,type:"raw"},{url:`https://api.allorigins.win/get?url=${encodeURIComponent(e)}`,type:"json"}];for(let o of t)try{let r=new AbortController,l=setTimeout(()=>r.abort(),5e3),s=await fetch(o.url,{signal:r.signal});if(clearTimeout(l),s.ok){let a;if(o.type==="json"?a=(await s.json()).contents:a=await s.text(),a&&a.length>0){if(e.includes("/wp-json")){let n=a.trim();if(!n.startsWith("{")&&!n.startsWith("[")){console.warn(`mBlox: Proxy ${o.url} returned non-JSON HTML for WordPress: ${n.substring(0,100)}`);continue}}return{text:a,response:s}}}}catch(r){console.warn(`mBlox: Proxy attempt failed for ${e}: ${r.message}`)}throw new Error(`All CORS proxies failed for ${e}`)}var Ce=class{constructor(t){this.config=t}_buildFeedUrl(){let t=this.config.siteURL;t=t.endsWith("/")?t:t+"/",t.endsWith("/posts/")||(t+="wp/v2/posts/");let o=`${t}?_embed&per_page=${this.config.postsPerBlock}&page=${this.config.stageID}`;return this.config.contentType==="label"&&!isNaN(parseInt(this.config.labelName,10))&&(o+=`&categories=${this.config.labelName}`),o}async fetch(){let t=this._buildFeedUrl(),o=$.get(t);if(o&&Date.now()-o.timestamp<V)return o.data;let r,l;try{let s=await Je(t);r=s.text,l=s.response}catch(s){return console.error(`mBlox: Failed to fetch WordPress feed: ${s.message}`),{posts:[],totalResults:0}}try{let s=JSON.parse(r),a=Ge(s,l.headers);return $.set(t,{data:a,timestamp:Date.now()}),a}catch(s){throw console.error("mBlox: Failed to parse WordPress JSON.",s),new Error("Invalid JSON response from WordPress feed.")}}},J=class{constructor(t){this.config=t}_buildFeedUrl(){return this.config.siteURL}async fetch(){let t=this._buildFeedUrl(),o=$.get(t);if(o&&Date.now()-o.timestamp<V)return o.data;let r;try{r=(await Je(t)).text}catch(n){return console.error(`mBlox: Failed to fetch RSS feed: ${n.message}`),{posts:[],totalResults:0,feedUrl:""}}let s=new DOMParser().parseFromString(r,"text/xml");if(s.getElementsByTagName("parsererror").length)throw new Error("Failed to parse RSS feed.");let a=Ye(s);return $.set(t,{data:a,timestamp:Date.now()}),a}},$e=class{constructor(t){this.config=t}_buildFeedUrl(){return`https://api.rss2json.com/v1/api.json?rss_url=${encodeURIComponent(this.config.siteURL)}`}async fetch(){let t=this._buildFeedUrl(),o=$.get(t);if(o&&Date.now()-o.timestamp<V)return o.data;let r;try{r=await K(t)}catch(s){return console.error(`mBlox: Failed to fetch YouTube JSONP: ${s.message}`),{posts:[],totalResults:0,feedUrl:""}}let l=ye(r);return $.set(t,{data:l,timestamp:Date.now()}),l}},de=class{constructor(t){this.config=t}_buildFeedUrl(t,o){let r=this.config.siteURL+"feeds/",l=this.config.contentType,s=t||this.config.labelName,a=o||this.config.postsPerBlock;switch(l){case"recent":r+="posts"+(this.config.showImage?"/default":"/summary");break;case"comments":r+="comments"+(this.config.showImage?"/default":"/summary");break;case"related":r+="posts"+(this.config.showImage?"/default":"/summary")+"/-/"+encodeURIComponent(s);break;default:r+="posts"+(this.config.showImage?"/default":"/summary")+"/-/"+encodeURIComponent(s)}return r+=`?alt=json-in-script&start-index=${(this.config.stageID-1)*this.config.postsPerBlock+1}&max-results=${a}`,r}async _fetchCurrentPostLabels(){try{let t=window.config?.bg?.psId,o=t&&window.config?.ps?.[t];if(o&&o.lab&&Array.isArray(o.lab)&&o.lab.length>0)return o.lab}catch{}try{let t=window.location.pathname,o=this.config.siteURL+`feeds/posts/default?alt=json-in-script&path=${t}`,r=await K(o),l=ce(r);if(l.posts&&l.posts.length>0)return l.posts[0].labels||[]}catch{console.warn("mBlox: Failed to fetch current post labels for related posts.")}return[]}async fetch(){if(this.config.contentType==="related"){let t=await this._fetchCurrentPostLabels(),o=[],r=window.location.href.split("#")[0].split("?")[0];if(t.length>0){let l=[...t];for(;o.length<this.config.postsPerBlock&&l.length>0;){let s=Math.floor(Math.random()*l.length),a=l.splice(s,1)[0],n=this.config.postsPerBlock+10,i=this._buildFeedUrl(a,n),c=$.get(i),d;if(c&&Date.now()-c.timestamp<V)d=c.data;else{let p;try{p=await K(i)}catch(u){console.error(`mBlox: Failed to fetch Blogger feed: ${u.message}`);break}d=ce(p),$.set(i,{data:d,timestamp:Date.now()})}let m=d.posts.filter(p=>p.url.split("#")[0].split("?")[0]!==r&&!o.some(h=>h.url===p.url));m.sort(()=>Math.random()-.5),o.push(...m)}}if(o.length===0){let l=this.config.siteURL+"feeds/posts"+(this.config.showImage?"/default":"/summary")+`?alt=json-in-script&max-results=${this.config.postsPerBlock+10}`,s=$.get(l),a;if(s&&Date.now()-s.timestamp<V)a=s.data;else{let i;try{i=await K(l)}catch(c){return console.error(`mBlox: Failed to fetch Blogger fallback feed: ${c.message}`),{posts:[],totalResults:0,feedUrl:""}}a=ce(i),$.set(l,{data:a,timestamp:Date.now()})}let n=a.posts.filter(i=>i.url.split("#")[0].split("?")[0]!==r);n.sort(()=>Math.random()-.5),o.push(...n)}return{posts:o.slice(0,this.config.postsPerBlock),totalResults:o.length,feedUrl:""}}else{let t=this._buildFeedUrl(),o=$.get(t);if(o&&Date.now()-o.timestamp<V)return o.data;let r;try{r=await K(t)}catch(s){return console.error(`mBlox: Failed to fetch Blogger feed: ${s.message}`),{posts:[],totalResults:0,feedUrl:""}}let l=ce(r);return $.set(t,{data:l,timestamp:Date.now()}),l}}},we=class{constructor(t){this.config=t}_buildFeedUrl(){let t=this.config.siteURL.replace(/\/$/,"");return t.endsWith(".json")||(t+=".json"),t}async fetch(){let t=this._buildFeedUrl(),o=$.get(t);if(o&&Date.now()-o.timestamp<V)return o.data;try{let r=await window.fetch(t);if(!r.ok)throw new Error("Native fetch failed");let l=await r.text(),s=JSON.parse(l),a=Qe(s);return $.set(t,{data:a,timestamp:Date.now()}),a}catch{console.warn("mBlox: Reddit native fetch failed (CORS/403). Falling back to rss2json...");let l=t.replace(".json",".rss"),s=`https://api.rss2json.com/v1/api.json?rss_url=${encodeURIComponent(l)}`,a;try{a=await K(s)}catch(i){return console.error(`mBlox: Reddit fallback via RSS2JSON failed: ${i.message}`),{posts:[],totalResults:0,feedUrl:""}}let n=ye(a);return n.posts.forEach(i=>{i.authorName&&i.authorName.startsWith("/u/")&&(i.authorUri=`https://www.reddit.com${i.authorName}`)}),$.set(t,{data:n,timestamp:Date.now()}),n}}},Se=class extends J{_buildFeedUrl(){let t=this.config.siteURL.replace(/\/$/,"");return t.endsWith("/rss")||(t+="/rss"),t}},Te=class extends J{_buildFeedUrl(){let t=this.config.siteURL.replace(/\/$/,"");return t.endsWith(".rss")||(t+=".rss"),t}};function Ze(e){let t=e.siteURL.toLowerCase(),o=t.split("?")[0];return t.includes("reddit.com")?new we(e):t.includes("tumblr.com")?new Se(e):t.includes("mastodon.social")||t.includes("bsky.app")?new Te(e):t.includes("deviantart.com")?new J(e):t.includes("/wp-json")?new Ce(e):t.includes("youtube.com")?new $e(e):o.endsWith(".xml")||t.includes("/feed")||o.endsWith(".rss")||o.endsWith("/rss")?new J(e):new de(e)}x();function Xe(e,t){let o={...e};if((o.postsPerBlock<=1||o.blockType==="l")&&(o.isCarousel=!1),o.isCarousel){let r=Math.max(1,Math.min(6,o.columnCount)),l=Ie(window.innerWidth),s=pe[r]||pe[6];o.actualColumnCount=s[l],o.blockRows>Math.ceil(t/o.actualColumnCount)&&(o.blockRows=Math.ceil(t/o.actualColumnCount)),t<=o.actualColumnCount*o.blockRows&&(o.isCarousel=!1,o.containsNavigation=!0)}return o}function Tt(e){if(e.sectionHeight||(e.blockType==="v"?e.sectionHeight="100vh":e.blockType==="s"?e.sectionHeight="70vh":e.sectionHeight="m"),e.articleHeight=e.sectionHeight==="m"?"":`height:${e.sectionHeight}!important;`,e.isImageFixed===null&&(e.isImageFixed=e.blockType==="s"||e.blockType==="v"),e.blurImage===null){let t=["s","l","t","p","q"];e.blurImage=e.showHeader&&!t.includes(e.blockType)}return e.textVerticalAlign||(e.blockType==="v"?e.textVerticalAlign="middle":e.blockType==="l"?e.textVerticalAlign="bottom":e.textVerticalAlign="overlay"),e.ctaAlign||(e.ctaAlign=e.blockType==="v"?"center":"right"),e.textHAlign||(e.textHAlign=e.blockType==="v"?"center":"left"),e.columnCount===null||typeof e.columnCount>"u"?e.columnCount=Ae[e.blockType]||3:e.columnCount=parseInt(e.columnCount,10),e}function et(e){let t={},o=e.querySelector('script[type="application/json"]');if(o)try{let I=o.textContent||"";I=I.replace(/(?:\/\/\s*)?<!\[CDATA\[/g,"").replace(/(?:\/\/\s*)?\]\]>/g,"").trim(),t=JSON.parse(I)}catch(I){console.error("mBlox: Failed to parse embedded JSON configuration.",I)}let r=(I,q,ie)=>{if(t[q]!==void 0)return t[q];let E=e.getAttribute(`data-${I}`);return E!==null?E:ie},l=(I,q,ie)=>{if(t[q]!==void 0)return!!t[q];let E=e.getAttribute(`data-${I}`);return E!==null?E.toLowerCase()==="true":ie},s=(I,q,ie)=>{if(t[q]!==void 0)return parseInt(t[q],10);let E=e.getAttribute(`data-${I}`);return E!==null?parseInt(E,10):ie},a=r("label","label","Label Name missing"),n=String(r("contentType","contentType","recent")).toLowerCase(),i=r("feed","feed","/"),c=r("title","title",""),d=r("description","description",""),m=r("type","type","v-ih"),p=String(m).toLowerCase(),u=p.substring(0,1),h=p.substring(1),g=String(m).substring(1),b=String(r("theme","theme","auto")).toLowerCase(),w=h.includes("h"),S=h.includes("i"),j=h.includes("s"),le=h.includes("a"),P=h.includes("d"),z=h.includes("o"),F=h.includes("l"),W=g.includes("D")?"long":"short",G=s("s","s",1),ae=!e.hasAttribute("data-s")&&t.s===void 0,se=s("posts","posts",3),ge=["light","dark","auto"].includes(b)?b:"auto",Y=String(r("palette","palette","surface")).toLowerCase(),D=Y;fe[D]||(D="surface");let bt=fe[D],Lt=String(r("textVAlign","textVAlign","")).toLowerCase(),Ve=String(r("iBlur","iBlur","")).toLowerCase(),ze=String(r("iFix","iFix","")).toLowerCase(),Fe=e.closest(".widget"),gt=(Fe?Fe.getAttribute("ID"):c+p+a).replace(/[\s#.&?,[\]]/g,"-"),vt=W==="long"?{year:"numeric",month:"short",day:"numeric"}:{month:"short",day:"numeric"},yt=P?new Intl.DateTimeFormat("en-US",vt):null,We=r("cols","cols",null),Ct=r("rows","rows","1"),$t=String(r("overlay-items","overlayItems","vcasb")).toLowerCase().split(""),ve={labelName:a,contentType:n,siteURL:i,mBlockTitle:c,mBlockDescription:d,blockType:u,showHeader:w,showImage:S,showSnippet:j,showAuthor:le,showDate:P,showOverlay:z,showLabels:F,columnCount:We!==null?parseInt(We,10):null,blockRows:parseInt(Ct,10),isCarousel:l("isCarousel","isCarousel",!1),sectionHeight:r("iHeight","iHeight",null),articleHeight:"",blurImage:Ve==="true"||t.iBlur===!0?!0:Ve==="false"||t.iBlur===!1?!1:null,palette:bt,gutterSize:r("gutter","gutter",u=="v"?0:3),textVerticalAlign:Lt,cornerStyle:String(r("corner","corner","")).toLowerCase()=="sharp"?" rounded-none":" rounded-3xl",aspectRatio:` ${Be[String(r("ar","ar","1/1")).replace("x","/").toLowerCase()]||"aspect-square"}`,isImageFixed:ze==="true"||t.iFix===!0?!0:ze==="false"||t.iFix===!1?!1:null,hasRoundedBorder:l("iBorder","iBorder",!1),snippetSize:s("snippetSize","snippetSize",150),callToAction:r("CTAText","CTAText",""),ctaAlign:r("ctaAlign","ctaAlign",""),textHAlign:r("textHAlign","textHAlign",""),moreText:r("moreText","moreText",""),stageID:G,firstInstance:ae,postsPerBlock:se,mBlockID:gt,dateFormatter:yt,dateStyle:W,paletteName:Y,mBloxTheme:ge,interactionClasses:Y==="colorful"?`transition-all duration-300 ease-[cubic-bezier(0.2,0,0,1)] ${u==="p"||u==="q"?"":"hover:bg-tertiary hover:text-on-tertiary "}hover:scale-[1.02] hover:opacity-100 overflow-hidden no-underline font-bold`:`transition-all duration-300 ease-[cubic-bezier(0.2,0,0,1)] hover:scale-[1.02] ${u==="p"||u==="q"?"":"hover:bg-surface-variant "}overflow-hidden no-underline font-bold`,containsNavigation:!1,actualColumnCount:0,overlayItems:$t};return ve.layout=xe[ve.gutterSize*2]||xe[6],Tt(ve)}x();function tt(e){let t=Array.from(e.querySelectorAll(".m-blox-image-to-load"));if(!t.length)return;let o=new IntersectionObserver((r,l)=>{r.forEach(s=>{if(!s.isIntersecting)return;let a=s.target,n=a.tagName==="FIGURE",i=a.getAttribute("data-is-fixed")==="true",c=a.getAttribute("data-img-high"),d=c,m=window.devicePixelRatio||1,p;if(i?p=Math.max(window.innerWidth,window.innerHeight)*m:p=a.getBoundingClientRect().width*m,p>0&&c&&c.includes("/s1600")){let u=Math.min(1600,Math.max(100,Math.ceil(p/100)*100));d=c.replace("/s1600",`/s${u}`)}if(n){let u=new Image;u.onload=()=>{a.style.backgroundImage=`url("${d}")`,i&&(a.style.backgroundAttachment="fixed",a.style.backgroundPosition="center center",a.style.backgroundSize="cover")},u.onerror=()=>{Promise.resolve().then(()=>(x(),ke)).then(({noImg:h})=>{a.style.backgroundImage=`url("${h}")`,a.setAttribute("data-img-high",h)})},u.src=d}else a.onerror=()=>{Promise.resolve().then(()=>(x(),ke)).then(({noImg:u})=>{a.src=u,a.setAttribute("data-img-high",u),a.onerror=null})},a.src=d;l.unobserve(a)})},{rootMargin:"0px 0px 200px 0px"});t.forEach(r=>{o.observe(r)})}var At=`<svg xmlns="http://www.w3.org/2000/svg" style="display:none;" id="mblox-svg-sprite">
|
|
1
|
+
/*! mBlox Unified JS | Generated: 2026-06-08T09:47:20.805Z */
|
|
2
|
+
var wt=Object.defineProperty;var St=(e,t)=>()=>(e&&(t=e(e=0)),t);var k=(e,t)=>{for(var o in t)wt(e,o,{get:t[o],enumerable:!0})};var ke={};k(ke,{ASPECT_RATIO_CLASSES:()=>Be,BLOCK_CARD:()=>_,BLOCK_COMMENT:()=>C,BLOCK_COVER:()=>f,BLOCK_GALLERY:()=>R,BLOCK_LIST:()=>v,BLOCK_PANCAKE:()=>B,BLOCK_QUOTE:()=>y,BLOCK_SHOWCASE:()=>L,BLOCK_STACK:()=>T,BREAKPOINTS:()=>ue,DEFAULT_COLUMN_COUNTS:()=>Ae,LAYOUT_CLASSES:()=>xe,M3E_PALETTES:()=>fe,RESPONSIVE_CAROUSEL_CLASSES_M3E:()=>he,RESPONSIVE_COLUMN_MAP:()=>pe,RESPONSIVE_GRID_CLASSES_M3E:()=>U,getBreakpointIndex:()=>Ie,noImg:()=>O});function Ie(e){return e<ue.sm?0:e<ue.md?1:e<ue.lg?2:e<ue.xl?3:4}var f,L,v,_,R,B,T,y,C,O,Ae,ue,pe,he,U,fe,xe,Be,x=St(()=>{f="v",L="s",v="l",_="c",R="g",B="p",T="t",y="q",C="m",O=window.noImg||"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iIzljYTNhZiI+PHBhdGggZD0iTTIxIDE5VjVjMC0xLjEtLjktMi0yLTJINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMnpNOC41IDEzLjVsMi41IDMuMDFMMTQuNSAxMmw0LjUgNkg1bDMuNS00LjV6Ii8+PC9zdmc+",Ae={v:1,m:1,t:1,p:3,c:4,q:4,g:5,l:2,s:6},ue={sm:600,md:840,lg:1200,xl:1600},pe={1:[1,1,1,1,1],2:[1,1,2,2,2],3:[1,1,2,3,3],4:[1,2,3,4,4],5:[2,3,4,4,5],6:[3,4,4,5,6]};he={1:"auto-cols-[100%]",2:"auto-cols-[100%] @3xl:auto-cols-[50%]",3:"auto-cols-[100%] @3xl:auto-cols-[50%] @5xl:auto-cols-[33.333333%]",4:"auto-cols-[100%] @xl:auto-cols-[50%] @3xl:auto-cols-[33.333333%] @5xl:auto-cols-[25%]",5:"auto-cols-[50%] @xl:auto-cols-[33.333333%] @3xl:auto-cols-[25%] @7xl:auto-cols-[20%]",6:"auto-cols-[33.333333%] @xl:auto-cols-[25%] @5xl:auto-cols-[20%] @7xl:auto-cols-[16.666667%]"},U={1:"grid-cols-1",2:"grid-cols-1 @3xl:grid-cols-2",3:"grid-cols-1 @3xl:grid-cols-2 @5xl:grid-cols-3",4:"grid-cols-1 @xl:grid-cols-2 @3xl:grid-cols-3 @5xl:grid-cols-4",5:"grid-cols-1 @md:grid-cols-2 @xl:grid-cols-3 @3xl:grid-cols-4 @7xl:grid-cols-5",6:"grid-cols-3 @xl:grid-cols-4 @5xl:grid-cols-5 @7xl:grid-cols-6"},fe={surface:{bg:"bg-surface",text:"text-on-surface",glass:"bg-surface/20",hoverBg:"hover:bg-surface",hoverText:"hover:text-on-surface",containerBg:"bg-surface-container",containerText:"text-on-surface",containerGlass:"bg-surface-container/20"},primary:{bg:"bg-primary",text:"text-on-primary",glass:"bg-primary/20",hoverBg:"hover:bg-tertiary",hoverText:"hover:text-on-tertiary",containerBg:"bg-primary-container",containerText:"text-on-primary-container",containerGlass:"bg-primary-container/20"},secondary:{bg:"bg-secondary",text:"text-on-secondary",glass:"bg-secondary/20",hoverBg:"hover:bg-secondary",hoverText:"hover:text-on-secondary",containerBg:"bg-secondary-container",containerText:"text-on-secondary-container",containerGlass:"bg-secondary-container/20"},tertiary:{bg:"bg-tertiary",text:"text-on-tertiary",glass:"bg-tertiary/20",containerBg:"bg-tertiary-container",containerText:"text-on-tertiary-container",containerGlass:"bg-tertiary-container/20"},error:{bg:"bg-error",text:"text-on-error",glass:"bg-error/20",containerBg:"bg-error-container",containerText:"text-on-error-container",containerGlass:"bg-error-container/20"}},xe={0:{gap:"gap-0",mt:"mt-0",mb:"mb-0",px:"px-0"},2:{gap:"gap-1 @3xl:gap-2",mt:"mt-1 @3xl:mt-2",mb:"mb-1 @3xl:mb-2",px:"px-1 @3xl:px-2"},4:{gap:"gap-2 @3xl:gap-3 @5xl:gap-4",mt:"mt-2 @3xl:mt-3 @5xl:mt-4",mb:"mb-2 @3xl:mb-3 @5xl:mb-4",px:"px-2 @3xl:px-3 @5xl:px-4"},6:{gap:"gap-3 @3xl:gap-4 @5xl:gap-6",mt:"mt-3 @3xl:mt-4 @5xl:mt-6",mb:"mb-3 @3xl:mb-4 @5xl:mb-6",px:"px-3 @3xl:px-4 @5xl:px-6"},8:{gap:"gap-4 @3xl:gap-6 @5xl:gap-8",mt:"mt-4 @3xl:mt-6 @5xl:mt-8",mb:"mb-4 @3xl:mb-6 @5xl:mb-8",px:"px-4 @3xl:px-6 @5xl:px-8"},10:{gap:"gap-6 @3xl:gap-8 @5xl:gap-10",mt:"mt-6 @3xl:mt-8 @5xl:mt-10",mb:"mb-6 @3xl:mb-8 @5xl:mb-10",px:"px-6 @3xl:px-8 @5xl:px-10"},12:{gap:"gap-8 @3xl:gap-10 @5xl:gap-12",mt:"mt-8 @3xl:mt-10 @5xl:mt-12",mb:"mb-8 @3xl:mb-10 @5xl:mb-12",px:"px-8 @3xl:px-10 @5xl:px-12"}},Be={"1/1":"aspect-square","16/9":"aspect-video","4/3":"aspect-[4/3]","3/4":"aspect-[3/4]","9/16":"aspect-[9/16]","9/21":"aspect-[9/21]","21/9":"aspect-[21/9]"}});function Q(e){if(!e)return[];let t=/#([a-zA-Z0-9_]+)/g,o=e.match(t);return o?o.map(r=>r.toLowerCase()):[]}function K(e){return new Promise((t,o)=>{let r=`jsonp_callback_${Math.round(1e5*Math.random())}`,l=document.createElement("script");l.src=`${e}&callback=${r}`,window[r]=function(s){delete window[r],document.head.removeChild(l),t(s)},l.onerror=function(){delete window[r],document.head.removeChild(l);let s=`JSONP request to ${e} failed.`;console.error(s),o(new Error(s))},document.head.appendChild(l)})}function Ge(e,t){return Array.isArray(e)?{posts:e.map(r=>({title:r.title.rendered,content:r.content.rendered,authorName:r._embedded?.author[0]?.name||"Unknown",authorUri:r._embedded?.author[0]?.link||"",authorImage:r._embedded?.author[0]?.avatar_urls?.["96"]||"",publishedDate:r.date_gmt,url:r.link,thumbnailUrl:r._embedded?.["wp:featuredmedia"]?.[0]?.media_details?.sizes?.large?.source_url||r._embedded?.["wp:featuredmedia"]?.[0]?.source_url||"",labels:[...new Set([...r._embedded?.["wp:term"]?r._embedded?.["wp:term"].flat().map(l=>l.name):[],...Q(r.title.rendered+" "+r.content.rendered)])],commentCount:r.comment_count?parseInt(r.comment_count,10):r._embedded?.replies?.[0]?.length||0,commentsUrl:r.link?`${r.link}#comments`:"",viewCount:r.views||r.view_count||r.pageviews||0,updatedDate:r.modified_gmt||""})),totalResults:parseInt(t.get("X-WP-Total")||"0",10)}:{posts:[],totalResults:0}}function Ye(e){let t=e.querySelectorAll("item, entry");if(!t.length)return{posts:[],totalResults:0,feedUrl:""};let o=e.querySelector("yt\\:channelId")!==null,r=Array.from(t).map(s=>{let a=i=>{let n=s.querySelector(i);return n?n.textContent:""};if(o){let i=a("yt\\:videoId"),n=s.querySelector("media\\:group"),c=n&&n.querySelector("media\\:thumbnail[url]")?.getAttribute("url")||"";return{title:a("title"),content:a("media\\:description")||"",authorName:a("author > name")||e.querySelector("channel > title, feed > title")?.textContent||"Unknown",publishedDate:a("published"),url:s.querySelector('link[rel="alternate"]')?.getAttribute("href")||"",thumbnailUrl:c,videoId:i,authorUri:a("author > uri")||"",authorImage:"",labels:[...new Set([...Array.from(s.querySelectorAll("category")).map(d=>d.textContent),...Q(a("title")+" "+(a("media\\:description")||""))])],commentCount:0,commentsUrl:"",viewCount:a("media\\:statistics[views]")||0,updatedDate:a("updated")||""}}else{let i=s.querySelector("media\\:thumbnail[url], thumbnail[url]")?.getAttribute("url")||"";if(!i){let c=(a("description")||a("content")).match(/<img[^>]+src="([^">]+)"/);c&&(i=c[1])}return{title:a("title"),content:a("description")||a("content"),authorName:a("dc\\:creator, author > name")||e.querySelector("channel > title, feed > title")?.textContent||"Unknown",publishedDate:a("pubDate, published"),url:a("link")||s.querySelector("link[href]")?.getAttribute("href")||"",thumbnailUrl:i,authorUri:a("author > uri")||"",authorImage:"",labels:[...new Set([...Array.from(s.querySelectorAll("category")).map(n=>n.textContent),...Q(a("title")+" "+(a("description")||a("content")))])],commentCount:a("slash\\:comments")?parseInt(a("slash\\:comments"),10):0,commentsUrl:a("comments")||a("link")||s.querySelector("link[href]")?.getAttribute("href")||"",viewCount:0,updatedDate:a("updated")||""}}}),l=e.querySelector('channel > link, feed > link[rel="alternate"]')?.getAttribute("href")||e.querySelector('channel > link, feed > link[rel="alternate"]')?.textContent||"";return{posts:r,totalResults:t.length,feedUrl:l}}function ye(e){if(e.status!=="ok"||!e.items)return{posts:[],totalResults:0,feedUrl:""};let t=e.feed.url.includes("youtube.com");return{posts:e.items.map(r=>{let l="";if(t){let a=r.link.match(/v=([^&]+)/);l=a?a[1]:""}let s=r.thumbnail||"";if(!s&&r.enclosure&&r.enclosure.link&&r.enclosure.type&&r.enclosure.type.startsWith("image/")&&(s=r.enclosure.link),!s&&r.content){let a=r.content.match(/<img[^>]+src="([^">]+)"/);a&&(s=a[1])}return{title:r.title,content:r.description||r.content||"",authorName:r.author||"Unknown",publishedDate:r.pubDate,url:r.link,thumbnailUrl:s,videoId:l,authorUri:"",authorImage:"",labels:[...new Set([...r.categories||[],...Q((r.title||"")+" "+(r.description||r.content||""))])],commentCount:0,commentsUrl:"",viewCount:0,updatedDate:r.updated||""}}),totalResults:e.items.length,feedUrl:e.feed.link}}function Qe(e){if(!e||!e.data||!Array.isArray(e.data.children))return{posts:[],totalResults:0,feedUrl:""};let t=e.data.children.map(o=>{let r=o.data,l="";if(r.thumbnail&&r.thumbnail.startsWith("http"))l=r.thumbnail;else if(r.preview&&r.preview.images&&r.preview.images.length>0){let a=r.preview.images[0].source.url;l=a?a.replace(/&/g,"&"):""}let s="";return r.selftext_html?s=r.selftext_html.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/"/g,'"'):r.selftext?s=r.selftext:r.url&&!r.url.includes("reddit.com")&&(s=`<a href="${r.url}" target="_blank">External Link: ${r.title}</a>`,r.url.match(/\.(jpeg|jpg|gif|png)$/i)&&(s+=`<br><img src="${r.url}" />`,l||(l=r.url))),{title:r.title,content:s,authorName:r.author||"Unknown",publishedDate:r.created_utc?new Date(r.created_utc*1e3).toISOString():"",url:`https://www.reddit.com${r.permalink}`,thumbnailUrl:l,videoId:"",authorUri:`https://www.reddit.com/user/${r.author}`,authorImage:"",labels:[...new Set([...r.link_flair_text?[r.link_flair_text]:[],...Q((r.title||"")+" "+s)])],commentCount:r.num_comments||0,commentsUrl:`https://www.reddit.com${r.permalink}`,viewCount:r.view_count||r.score||0,updatedDate:r.edited?new Date(r.edited*1e3).toISOString():""}});return{posts:t,totalResults:t.length,feedUrl:""}}function ce(e){if(!e.feed||!e.feed.entry)return{posts:[],totalResults:0,feedUrl:""};let t=e.feed.entry.map(r=>{let l="content"in r?r.content.$t:"summary"in r?r.summary.$t:"",s="";if(l){let i=new DOMParser().parseFromString(l,"text/html").querySelector("img");i&&(s=i.src)}return{title:r.title.$t,content:l,authorName:r.author[0].name.$t,authorUri:r.author[0].name.$t==="Anonymous"||r.author[0].name.$t==="Unknown"?"":r.author[0].uri.$t,authorImage:r.author[0].gd$image?r.author[0].gd$image.src:"",publishedDate:r.published.$t,url:(r.link.find(a=>a.rel==="alternate")||{}).href||"",thumbnailUrl:s,labels:[...new Set([...r.category?r.category.map(a=>a.term):[],...Q((r.title.$t||"")+" "+l)])],commentCount:r.thr$total?parseInt(r.thr$total.$t,10):0,commentsUrl:(r.link.find(a=>a.rel==="replies"&&a.type==="text/html")||{}).href||(r.link.find(a=>a.rel==="alternate")||{}).href||"",viewCount:0,updatedDate:r.updated?r.updated.$t:""}}),o=(e.feed.link.find(r=>r.rel==="alternate")||{}).href||"";return{posts:t,totalResults:e.feed.openSearch$totalResults.$t,feedUrl:o}}var V=900*1e3,$=new Map;async function Je(e){let t=[{url:`https://api.codetabs.com/v1/proxy?quest=${e}`,type:"raw"},{url:`https://corsproxy.io/?${encodeURIComponent(e)}`,type:"raw"},{url:`https://api.allorigins.win/get?url=${encodeURIComponent(e)}`,type:"json"}];for(let o of t)try{let r=new AbortController,l=setTimeout(()=>r.abort(),5e3),s=await fetch(o.url,{signal:r.signal});if(clearTimeout(l),s.ok){let a;if(o.type==="json"?a=(await s.json()).contents:a=await s.text(),a&&a.length>0){if(e.includes("/wp-json")){let i=a.trim();if(!i.startsWith("{")&&!i.startsWith("[")){console.warn(`mBlox: Proxy ${o.url} returned non-JSON HTML for WordPress: ${i.substring(0,100)}`);continue}}return{text:a,response:s}}}}catch(r){console.warn(`mBlox: Proxy attempt failed for ${e}: ${r.message}`)}throw new Error(`All CORS proxies failed for ${e}`)}var Ce=class{constructor(t){this.config=t}_buildFeedUrl(){let t=this.config.siteURL;t=t.endsWith("/")?t:t+"/",t.endsWith("/posts/")||(t+="wp/v2/posts/");let o=`${t}?_embed&per_page=${this.config.postsPerBlock}&page=${this.config.stageID}`;return this.config.contentType==="label"&&!isNaN(parseInt(this.config.labelName,10))&&(o+=`&categories=${this.config.labelName}`),o}async fetch(){let t=this._buildFeedUrl(),o=$.get(t);if(o&&Date.now()-o.timestamp<V)return o.data;let r,l;try{let s=await Je(t);r=s.text,l=s.response}catch(s){return console.error(`mBlox: Failed to fetch WordPress feed: ${s.message}`),{posts:[],totalResults:0}}try{let s=JSON.parse(r),a=Ge(s,l.headers);return $.set(t,{data:a,timestamp:Date.now()}),a}catch(s){throw console.error("mBlox: Failed to parse WordPress JSON.",s),new Error("Invalid JSON response from WordPress feed.")}}},J=class{constructor(t){this.config=t}_buildFeedUrl(){return this.config.siteURL}async fetch(){let t=this._buildFeedUrl(),o=$.get(t);if(o&&Date.now()-o.timestamp<V)return o.data;let r;try{r=(await Je(t)).text}catch(i){return console.error(`mBlox: Failed to fetch RSS feed: ${i.message}`),{posts:[],totalResults:0,feedUrl:""}}let s=new DOMParser().parseFromString(r,"text/xml");if(s.getElementsByTagName("parsererror").length)throw new Error("Failed to parse RSS feed.");let a=Ye(s);return $.set(t,{data:a,timestamp:Date.now()}),a}},$e=class{constructor(t){this.config=t}_buildFeedUrl(){return`https://api.rss2json.com/v1/api.json?rss_url=${encodeURIComponent(this.config.siteURL)}`}async fetch(){let t=this._buildFeedUrl(),o=$.get(t);if(o&&Date.now()-o.timestamp<V)return o.data;let r;try{r=await K(t)}catch(s){return console.error(`mBlox: Failed to fetch YouTube JSONP: ${s.message}`),{posts:[],totalResults:0,feedUrl:""}}let l=ye(r);return $.set(t,{data:l,timestamp:Date.now()}),l}},de=class{constructor(t){this.config=t}_buildFeedUrl(t,o){let r=this.config.siteURL+"feeds/",l=this.config.contentType,s=t||this.config.labelName,a=o||this.config.postsPerBlock;switch(l){case"recent":r+="posts"+(this.config.showImage?"/default":"/summary");break;case"comments":r+="comments"+(this.config.showImage?"/default":"/summary");break;case"related":r+="posts"+(this.config.showImage?"/default":"/summary")+"/-/"+encodeURIComponent(s);break;default:r+="posts"+(this.config.showImage?"/default":"/summary")+"/-/"+encodeURIComponent(s)}return r+=`?alt=json-in-script&start-index=${(this.config.stageID-1)*this.config.postsPerBlock+1}&max-results=${a}`,r}async _fetchCurrentPostLabels(){try{let t=window.config?.bg?.psId,o=t&&window.config?.ps?.[t];if(o&&o.lab&&Array.isArray(o.lab)&&o.lab.length>0)return o.lab}catch{}try{let t=window.location.pathname,o=this.config.siteURL+`feeds/posts/default?alt=json-in-script&path=${t}`,r=await K(o),l=ce(r);if(l.posts&&l.posts.length>0)return l.posts[0].labels||[]}catch{console.warn("mBlox: Failed to fetch current post labels for related posts.")}return[]}async fetch(){if(this.config.contentType==="related"){let t=await this._fetchCurrentPostLabels(),o=[],r=window.location.href.split("#")[0].split("?")[0];if(t.length>0){let l=[...t];for(;o.length<this.config.postsPerBlock&&l.length>0;){let s=Math.floor(Math.random()*l.length),a=l.splice(s,1)[0],i=this.config.postsPerBlock+10,n=this._buildFeedUrl(a,i),c=$.get(n),d;if(c&&Date.now()-c.timestamp<V)d=c.data;else{let p;try{p=await K(n)}catch(u){console.error(`mBlox: Failed to fetch Blogger feed: ${u.message}`);break}d=ce(p),$.set(n,{data:d,timestamp:Date.now()})}let m=d.posts.filter(p=>p.url.split("#")[0].split("?")[0]!==r&&!o.some(h=>h.url===p.url));m.sort(()=>Math.random()-.5),o.push(...m)}}if(o.length===0){let l=this.config.siteURL+"feeds/posts"+(this.config.showImage?"/default":"/summary")+`?alt=json-in-script&max-results=${this.config.postsPerBlock+10}`,s=$.get(l),a;if(s&&Date.now()-s.timestamp<V)a=s.data;else{let n;try{n=await K(l)}catch(c){return console.error(`mBlox: Failed to fetch Blogger fallback feed: ${c.message}`),{posts:[],totalResults:0,feedUrl:""}}a=ce(n),$.set(l,{data:a,timestamp:Date.now()})}let i=a.posts.filter(n=>n.url.split("#")[0].split("?")[0]!==r);i.sort(()=>Math.random()-.5),o.push(...i)}return{posts:o.slice(0,this.config.postsPerBlock),totalResults:o.length,feedUrl:""}}else{let t=this._buildFeedUrl(),o=$.get(t);if(o&&Date.now()-o.timestamp<V)return o.data;let r;try{r=await K(t)}catch(s){return console.error(`mBlox: Failed to fetch Blogger feed: ${s.message}`),{posts:[],totalResults:0,feedUrl:""}}let l=ce(r);return $.set(t,{data:l,timestamp:Date.now()}),l}}},we=class{constructor(t){this.config=t}_buildFeedUrl(){let t=this.config.siteURL.replace(/\/$/,"");return t.endsWith(".json")||(t+=".json"),t}async fetch(){let t=this._buildFeedUrl(),o=$.get(t);if(o&&Date.now()-o.timestamp<V)return o.data;try{let r=await window.fetch(t);if(!r.ok)throw new Error("Native fetch failed");let l=await r.text(),s=JSON.parse(l),a=Qe(s);return $.set(t,{data:a,timestamp:Date.now()}),a}catch{console.warn("mBlox: Reddit native fetch failed (CORS/403). Falling back to rss2json...");let l=t.replace(".json",".rss"),s=`https://api.rss2json.com/v1/api.json?rss_url=${encodeURIComponent(l)}`,a;try{a=await K(s)}catch(n){return console.error(`mBlox: Reddit fallback via RSS2JSON failed: ${n.message}`),{posts:[],totalResults:0,feedUrl:""}}let i=ye(a);return i.posts.forEach(n=>{n.authorName&&n.authorName.startsWith("/u/")&&(n.authorUri=`https://www.reddit.com${n.authorName}`)}),$.set(t,{data:i,timestamp:Date.now()}),i}}},Se=class extends J{_buildFeedUrl(){let t=this.config.siteURL.replace(/\/$/,"");return t.endsWith("/rss")||(t+="/rss"),t}},Te=class extends J{_buildFeedUrl(){let t=this.config.siteURL.replace(/\/$/,"");return t.endsWith(".rss")||(t+=".rss"),t}};function Ze(e){let t=e.siteURL.toLowerCase(),o=t.split("?")[0];return t.includes("reddit.com")?new we(e):t.includes("tumblr.com")?new Se(e):t.includes("mastodon.social")||t.includes("bsky.app")?new Te(e):t.includes("deviantart.com")?new J(e):t.includes("/wp-json")?new Ce(e):t.includes("youtube.com")?new $e(e):o.endsWith(".xml")||t.includes("/feed")||o.endsWith(".rss")||o.endsWith("/rss")?new J(e):new de(e)}x();function Xe(e,t){let o={...e};if((o.postsPerBlock<=1||o.blockType==="l")&&(o.isCarousel=!1),o.isCarousel){let r=Math.max(1,Math.min(6,o.columnCount)),l=Ie(window.innerWidth),s=pe[r]||pe[6];o.actualColumnCount=s[l],o.blockRows>Math.ceil(t/o.actualColumnCount)&&(o.blockRows=Math.ceil(t/o.actualColumnCount)),t<=o.actualColumnCount*o.blockRows&&(o.isCarousel=!1,o.containsNavigation=!0)}return o}function Tt(e){if(e.sectionHeight||(e.blockType==="v"?e.sectionHeight="100vh":e.blockType==="s"?e.sectionHeight="70vh":e.sectionHeight="m"),e.articleHeight=e.sectionHeight==="m"?"":`height:${e.sectionHeight}!important;`,e.isImageFixed===null&&(e.isImageFixed=e.blockType==="s"||e.blockType==="v"),e.blurImage===null){let t=["s","l","t","p","q"];e.blurImage=e.showHeader&&!t.includes(e.blockType)}return e.textVerticalAlign||(e.blockType==="v"?e.textVerticalAlign="middle":e.blockType==="l"?e.textVerticalAlign="bottom":e.textVerticalAlign="overlay"),e.ctaAlign||(e.ctaAlign=e.blockType==="v"?"center":"right"),e.textHAlign||(e.textHAlign=e.blockType==="v"?"center":"left"),e.columnCount===null||typeof e.columnCount>"u"?e.columnCount=Ae[e.blockType]||3:e.columnCount=parseInt(e.columnCount,10),e}function et(e){let t={},o=e.querySelector('script[type="application/json"]');if(o)try{let I=o.textContent||"";I=I.replace(/(?:\/\/\s*)?<!\[CDATA\[/g,"").replace(/(?:\/\/\s*)?\]\]>/g,"").trim(),t=JSON.parse(I)}catch(I){console.error("mBlox: Failed to parse embedded JSON configuration.",I)}let r=(I,q,ie)=>{if(t[q]!==void 0)return t[q];let E=e.getAttribute(`data-${I}`);return E!==null?E:ie},l=(I,q,ie)=>{if(t[q]!==void 0)return!!t[q];let E=e.getAttribute(`data-${I}`);return E!==null?E.toLowerCase()==="true":ie},s=(I,q,ie)=>{if(t[q]!==void 0)return parseInt(t[q],10);let E=e.getAttribute(`data-${I}`);return E!==null?parseInt(E,10):ie},a=r("label","label","Label Name missing"),i=String(r("contentType","contentType","recent")).toLowerCase(),n=r("feed","feed","/");!n||n==="/"?n=window.location.origin+"/":(/^https?:\/\//i.test(n)||(n.startsWith("/")?n=window.location.origin+n:n="https://"+n),!n.endsWith("/")&&!n.match(/\.(xml|rss|json)$/i)&&!n.includes("?")&&(n+="/"));let c=r("title","title",""),d=r("description","description",""),m=r("type","type","v-ih"),p=String(m).toLowerCase(),u=p.substring(0,1),h=p.substring(1),g=String(m).substring(1),b=String(r("theme","theme","auto")).toLowerCase(),w=h.includes("h"),S=h.includes("i"),j=h.includes("s"),le=h.includes("a"),P=h.includes("d"),z=h.includes("o"),F=h.includes("l"),W=g.includes("D")?"long":"short",G=s("s","s",1),ae=!e.hasAttribute("data-s")&&t.s===void 0,se=s("posts","posts",3),ge=["light","dark","auto"].includes(b)?b:"auto",Y=String(r("palette","palette","surface")).toLowerCase(),D=Y;fe[D]||(D="surface");let bt=fe[D],Lt=String(r("textVAlign","textVAlign","")).toLowerCase(),Ve=String(r("iBlur","iBlur","")).toLowerCase(),ze=String(r("iFix","iFix","")).toLowerCase(),Fe=e.closest(".widget"),gt=(Fe?Fe.getAttribute("ID"):c+p+a).replace(/[\s#.&?,[\]]/g,"-"),vt=W==="long"?{year:"numeric",month:"short",day:"numeric"}:{month:"short",day:"numeric"},yt=P?new Intl.DateTimeFormat("en-US",vt):null,We=r("cols","cols",null),Ct=r("rows","rows","1"),$t=String(r("overlay-items","overlayItems","vcasb")).toLowerCase().split(""),ve={labelName:a,contentType:i,siteURL:n,mBlockTitle:c,mBlockDescription:d,blockType:u,showHeader:w,showImage:S,showSnippet:j,showAuthor:le,showDate:P,showOverlay:z,showLabels:F,columnCount:We!==null?parseInt(We,10):null,blockRows:parseInt(Ct,10),isCarousel:l("isCarousel","isCarousel",!1),sectionHeight:r("iHeight","iHeight",null),articleHeight:"",blurImage:Ve==="true"||t.iBlur===!0?!0:Ve==="false"||t.iBlur===!1?!1:null,palette:bt,gutterSize:r("gutter","gutter",u=="v"?0:3),textVerticalAlign:Lt,cornerStyle:String(r("corner","corner","")).toLowerCase()=="sharp"?" rounded-none":" rounded-3xl",aspectRatio:` ${Be[String(r("ar","ar","1/1")).replace("x","/").toLowerCase()]||"aspect-square"}`,isImageFixed:ze==="true"||t.iFix===!0?!0:ze==="false"||t.iFix===!1?!1:null,hasRoundedBorder:l("iBorder","iBorder",!1),snippetSize:s("snippetSize","snippetSize",150),callToAction:r("CTAText","CTAText",""),ctaAlign:r("ctaAlign","ctaAlign",""),textHAlign:r("textHAlign","textHAlign",""),moreText:r("moreText","moreText",""),stageID:G,firstInstance:ae,postsPerBlock:se,mBlockID:gt,dateFormatter:yt,dateStyle:W,paletteName:Y,mBloxTheme:ge,interactionClasses:Y==="colorful"?`transition-all duration-300 ease-[cubic-bezier(0.2,0,0,1)] ${u==="p"||u==="q"?"":"hover:bg-tertiary hover:text-on-tertiary "}hover:scale-[1.02] hover:opacity-100 overflow-hidden no-underline font-bold`:`transition-all duration-300 ease-[cubic-bezier(0.2,0,0,1)] hover:scale-[1.02] ${u==="p"||u==="q"?"":"hover:bg-surface-variant "}overflow-hidden no-underline font-bold`,containsNavigation:!1,actualColumnCount:0,overlayItems:$t};return ve.layout=xe[ve.gutterSize*2]||xe[6],Tt(ve)}x();function tt(e){let t=Array.from(e.querySelectorAll(".m-blox-image-to-load"));if(!t.length)return;let o=new IntersectionObserver((r,l)=>{r.forEach(s=>{if(!s.isIntersecting)return;let a=s.target,i=a.tagName==="FIGURE",n=a.getAttribute("data-is-fixed")==="true",c=a.getAttribute("data-img-high"),d=c,m=window.devicePixelRatio||1,p;if(n?p=Math.max(window.innerWidth,window.innerHeight)*m:p=a.getBoundingClientRect().width*m,p>0&&c&&c.includes("/s1600")){let u=Math.min(1600,Math.max(100,Math.ceil(p/100)*100));d=c.replace("/s1600",`/s${u}`)}if(i){let u=new Image;u.onload=()=>{a.style.backgroundImage=`url("${d}")`,n&&(a.style.backgroundAttachment="fixed",a.style.backgroundPosition="center center",a.style.backgroundSize="cover")},u.onerror=()=>{Promise.resolve().then(()=>(x(),ke)).then(({noImg:h})=>{a.style.backgroundImage=`url("${h}")`,a.setAttribute("data-img-high",h)})},u.src=d}else a.onerror=()=>{Promise.resolve().then(()=>(x(),ke)).then(({noImg:u})=>{a.src=u,a.setAttribute("data-img-high",u),a.onerror=null})},a.src=d;l.unobserve(a)})},{rootMargin:"0px 0px 200px 0px"});t.forEach(r=>{o.observe(r)})}var At=`<svg xmlns="http://www.w3.org/2000/svg" style="display:none;" id="mblox-svg-sprite">
|
|
3
3
|
<symbol id="icon-bookmark-add" viewBox="0 -960 960 960" fill="currentColor">
|
|
4
4
|
<path d="M480-388q51-47 82.5-77.5T611-518t23-38.5 6-35.5q0-36-26-62t-62-26q-21 0-40.5 8.5T480-648q-12-15-31-23.5t-41-8.5q-36 0-62 26t-26 62q0 19 5.5 35t22.5 38 48 52.5 84 78.5M200-120v-640q0-33 23.5-56.5T280-840h400q33 0 56.5 23.5T760-760v640L480-240z"/>
|
|
5
5
|
</symbol>
|
|
@@ -33,19 +33,19 @@ var wt=Object.defineProperty;var St=(e,t)=>()=>(e&&(t=e(e=0)),t);var k=(e,t)=>{f
|
|
|
33
33
|
<symbol id="icon-youtube" viewBox="0 0 16 16" fill="currentColor">
|
|
34
34
|
<path d="M8.051 1.999h.089c.822.003 4.987.033 6.11.335a2.01 2.01 0 0 1 1.415 1.42c.101.38.172.883.22 1.402l.01.104.022.26.008.104c.065.914.073 1.77.074 1.957v.075c-.001.194-.01 1.108-.082 2.06l-.008.105-.009.104c-.05.572-.124 1.14-.235 1.558a2.007 2.007 0 0 1-1.415 1.42c-1.16.312-5.569.334-6.18.335h-.142c-.309 0-1.587-.006-2.927-.052l-.17-.006-.087-.004-.171-.007-.171-.007c-1.11-.049-2.167-.128-2.654-.26a2.007 2.007 0 0 1-1.415-1.419c-.111-.417-.185-.986-.235-1.558L.09 9.82l-.008-.104A31.4 31.4 0 0 1 0 7.68v-.123c.002-.215.01-.958.064-1.778l.007-.103.003-.052.008-.104.022-.26.01-.104c.048-.519.119-1.023.22-1.402a2.007 2.007 0 0 1 1.415-1.42c.487-.13 1.544-.21 2.654-.26l.17-.007.172-.006.086-.003.171-.007A99.788 99.788 0 0 1 7.858 2h.193zM6.4 5.209v4.818l4.157-2.408L6.4 5.209z"/>
|
|
35
35
|
</symbol>
|
|
36
|
-
</svg>`;function rt(){typeof document<"u"&&!document.getElementById("mblox-svg-sprite")&&document.body.insertAdjacentHTML("afterbegin",At)}x();function ot(e,t){if(!e||e.length===0)return"";let o=U[t.columnCount]||U[6];return`<div class="${t.layout.gap} grid ${o}">${e.join("")}</div>`}x();function lt(e,t){if(!e||e.length===0)return"";let o=he[t.columnCount]||he[6],l={1:"grid-rows-1",2:"grid-rows-2",3:"grid-rows-3",4:"grid-rows-4"}[t.blockRows]||"grid-rows-1",s=t.blockType==="v"?"":" pb-8";return`<div class="grid grid-flow-col ${l} ${o} overflow-x-auto snap-x snap-mandatory scroll-smooth gap-4 py-4 -my-4 ${s} [&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] [scrollbar-width:none]">${e.join("")}</div>`}x();function at(e,t){if(!e||e.length===0)return"";let o={2:"@md:col-span-1",3:"@md:col-span-2",4:"@sm:col-span-1 @md:col-span-2 @lg:col-span-3",5:"@sm:col-span-2 @md:col-span-3 @xl:col-span-4",6:"@sm:col-span-3 @lg:col-span-4 @xl:col-span-5"},r=t.columnCount,l=U[r]||U[6],s="";if(e.length>1){t.showHeader&&r--;let a=U[r]||U[6],
|
|
37
|
-
${e.moreText} <svg class="inline-block align-text-bottom" fill="currentColor" height="1.2em" viewBox="0 0 16 16" width="1.2em" xmlns="http://www.w3.org/2000/svg"><use href="#icon-caret-right"></use></svg></a>`),`<div class="st${e.stageID} mblox-footer w-full p-8 @lg:px-12 text-right">${o}</div>`}function dt(e,t){let o=t.blockType==="v"?"":" px-8 @lg:px-12";return`<div id="carousel-${t.mBlockID}-st${t.stageID}" class="${t.blockType==="s"?"sFeature ":""}relative${o}">${e}</div>`}function ut(e,t,o){if(!t.isCarousel)return"";let r=e?e instanceof HTMLElement?e.outerHTML:e:"",l=o&&o.posts?o.posts.length:0,s=Math.ceil(l/(t.blockRows||1)),a="";if(s>1){let
|
|
36
|
+
</svg>`;function rt(){typeof document<"u"&&!document.getElementById("mblox-svg-sprite")&&document.body.insertAdjacentHTML("afterbegin",At)}x();function ot(e,t){if(!e||e.length===0)return"";let o=U[t.columnCount]||U[6];return`<div class="${t.layout.gap} grid ${o}">${e.join("")}</div>`}x();function lt(e,t){if(!e||e.length===0)return"";let o=he[t.columnCount]||he[6],l={1:"grid-rows-1",2:"grid-rows-2",3:"grid-rows-3",4:"grid-rows-4"}[t.blockRows]||"grid-rows-1",s=t.blockType==="v"?"":" pb-8";return`<div class="grid grid-flow-col ${l} ${o} overflow-x-auto snap-x snap-mandatory scroll-smooth gap-4 py-4 -my-4 ${s} [&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] [scrollbar-width:none]">${e.join("")}</div>`}x();function at(e,t){if(!e||e.length===0)return"";let o={2:"@md:col-span-1",3:"@md:col-span-2",4:"@sm:col-span-1 @md:col-span-2 @lg:col-span-3",5:"@sm:col-span-2 @md:col-span-3 @xl:col-span-4",6:"@sm:col-span-3 @lg:col-span-4 @xl:col-span-5"},r=t.columnCount,l=U[r]||U[6],s="";if(e.length>1){t.showHeader&&r--;let a=U[r]||U[6],i=o[t.columnCount]||"col-span-1";s=`<div class="${t.layout.gap} ${i} px-0 grid ${a}">${e.slice(1).join("")}</div>`}return`<div class="${t.layout.gap} col flex-grow-1 grid ${l}">${e[0]}${s}</div>`}function st(e){return e.mBlockTitle?`<h4 class="text-headline-lg font-bold ${e.palette.text} m-0">${e.mBlockTitle}</h4>`:""}function nt(e){return e.mBlockDescription?`<p class="pb-3 ${e.palette.text} opacity-75 m-0">${e.mBlockDescription}</p>`:""}function it(e){return e.mBlockTitle?`<div class="p-8 @lg:px-12">${st(e)}${nt(e)}</div>`:""}x();function ct(e,t){if(e.moreText===""&&e.blockType==="v")return"";let o="";return e.moreText!==""&&t.feedUrl&&(o=`<a class="inline-block border-0 font-bold no-underline transition-opacity duration-300 opacity-75 hover:opacity-100 ${e.palette.text}" href="${e.siteURL}search?max-results=9" title="View all">
|
|
37
|
+
${e.moreText} <svg class="inline-block align-text-bottom" fill="currentColor" height="1.2em" viewBox="0 0 16 16" width="1.2em" xmlns="http://www.w3.org/2000/svg"><use href="#icon-caret-right"></use></svg></a>`),`<div class="st${e.stageID} mblox-footer w-full p-8 @lg:px-12 text-right">${o}</div>`}function dt(e,t){let o=t.blockType==="v"?"":" px-8 @lg:px-12";return`<div id="carousel-${t.mBlockID}-st${t.stageID}" class="${t.blockType==="s"?"sFeature ":""}relative${o}">${e}</div>`}function ut(e,t,o){if(!t.isCarousel)return"";let r=e?e instanceof HTMLElement?e.outerHTML:e:"",l=o&&o.posts?o.posts.length:0,s=Math.ceil(l/(t.blockRows||1)),a="";if(s>1){let i=t.blockType==="v"?"bottom-12":"bottom-3",n=Array.from({length:s},(c,d)=>`<button type="button" class="carousel-dot pointer-events-auto w-2 h-2 rounded-full bg-current ${t.palette.text} opacity-30 hover:opacity-100 transition-opacity aria-[current='true']:opacity-100" data-index="${d}" aria-label="Slide ${d+1}"></button>`).join("");a=`<div class="carousel-indicators flex justify-center gap-2 mt-2 absolute ${i} left-0 right-0 z-10">${n}</div>`}return`${r}${a}`}function mt(e,t){if(!t.isCarousel)return;let o=e.querySelector(".overflow-x-auto"),r=e.querySelector(".js-carousel-prev"),l=e.querySelector(".js-carousel-next");if(!o)return;r&&r.addEventListener("click",()=>{o.scrollBy({left:-o.clientWidth,behavior:"smooth"})}),l&&l.addEventListener("click",()=>{o.scrollBy({left:o.clientWidth,behavior:"smooth"})});let s=e.querySelectorAll(".carousel-dot");if(s.length>0&&o){s[0]&&s[0].setAttribute("aria-current","true");let c=()=>{let d=o.scrollLeft,m=o.scrollWidth/s.length,p=Math.min(s.length-1,Math.round(d/m));s.forEach((u,h)=>{h===p?u.setAttribute("aria-current","true"):u.removeAttribute("aria-current")})};o.addEventListener("scroll",c,{passive:!0}),s.forEach(d=>{d.addEventListener("click",()=>{let m=parseInt(d.getAttribute("data-index"),10),p=o.scrollWidth/s.length;o.scrollTo({left:m*p,behavior:"smooth"})})})}let a,i=()=>{a=setInterval(()=>{o.scrollLeft+o.clientWidth>=o.scrollWidth-5?o.scrollTo({left:0,behavior:"smooth"}):o.scrollBy({left:o.clientWidth,behavior:"smooth"})},4e3)},n=()=>{a&&clearInterval(a)};i(),e.addEventListener("mouseenter",n),e.addEventListener("mouseleave",i)}x();function pt(e,t){let r=`absolute top-0 ${e.isCarousel&&e.blockType!=="v"?"bottom-8":"bottom-0"} z-10 flex items-center justify-center w-8 cursor-pointer opacity-70 hover:opacity-100 transition-opacity ${e.palette.text} hover:backdrop-blur-xl`,l=e.isCarousel,s=l?"js-carousel-prev":"nav-prev",a=l?"js-carousel-next":"nav-next",i=`<button class="${r} left-0 ${s}" type="button" title="Previous" aria-label="Previous">
|
|
38
38
|
<svg width="1.5em" height="1.5em" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><use href="#icon-caret-left"></use></svg>
|
|
39
|
-
</button>`,
|
|
39
|
+
</button>`,n=`<button class="${r} right-0 ${a}" title="Next" type="button" aria-label="Next">
|
|
40
40
|
<svg width="1.5em" height="1.5em" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><use href="#icon-caret-right"></use></svg>
|
|
41
|
-
</button>`;if(l)return`${
|
|
41
|
+
</button>`;if(l)return`${i}${n}`;let c=t?Math.ceil(t.totalResults/e.postsPerBlock):1;return[e.stageID>1?i:"",e.stageID<c?n:""].join("")}x();function H(e,t=160){if(!e)return;e.classList.remove("d-none","hidden"),e.style.display="";let o=e.animate([{opacity:0},{opacity:1}],{duration:t,easing:"ease-out",fill:"forwards"});o.onfinish=()=>{e.style.opacity="1"}}function M(e,t=160){if(!e)return;let o=e.animate([{opacity:1},{opacity:0}],{duration:t,easing:"ease-in",fill:"forwards"});o.onfinish=()=>{e.style.opacity="0",e.style.display="none"}}function _e(e){if(e.videoId)return e.videoId;if(e.thumbnailUrl&&(e.thumbnailUrl.includes("ytimg.com/vi/")||e.thumbnailUrl.includes("youtube.com/vi/"))){let t=e.thumbnailUrl.match(/\/vi\/([a-zA-Z0-9_-]{11})/);if(t&&t[1])return t[1]}if(e.content){let t=e.content.match(/(?:youtube\.com\/embed\/|youtu\.be\/|youtube\.com\/v\/)([a-zA-Z0-9_-]{11})/);if(t&&t[1])return t[1]}return"noVideo"}function be(e){return!e||e==="noVideo"?"":'<svg class="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-12 h-12 text-on-error drop-shadow-md z-10 pointer-events-none" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 16 16"><use href="#icon-youtube"></use></svg>'}function ht(e){return!e||e==="noVideo"?"":'<svg class="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-16 h-16 text-on-error drop-shadow-lg z-10 pointer-events-none" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 16 16"><use href="#icon-youtube"></use></svg>'}function Oe(e,t){return!e||e==="noVideo"?"":`<iframe class="w-full h-full" src="${`https://www.youtube-nocookie.com/embed/${e}?autoplay=1`}" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture;" width="100%" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="" style="${t.articleHeight}"></iframe>`}var Re={};k(Re,{render:()=>Bt});x();function ft(e,t){if(!t.showOverlay)return"";let o="";t.overlayItems.includes("v")&&e.viewCount&&e.viewCount>0&&(o=`
|
|
42
42
|
<div class="flex items-center gap-1 px-2 h-6 rounded-md ${t.palette.glass} ${t.palette.text} backdrop-blur-md ${t.palette.hoverBg||"hover:bg-tertiary"} ${t.palette.hoverText||"hover:text-on-tertiary"} transition-colors font-semibold">
|
|
43
43
|
<svg aria-hidden="true" class="w-4 h-4"><use href="#icon-eye"></use></svg>
|
|
44
44
|
<span class="text-[0.625rem]">${e.viewCount}</span>
|
|
45
|
-
</div>`);let r="";if(t.overlayItems.includes("c")){let
|
|
46
|
-
<a aria-label="Comments" class="relative px-2 h-6 rounded-md ${t.palette.glass} ${t.palette.text} backdrop-blur-md flex items-center justify-center gap-1 ${t.palette.hoverBg||"hover:bg-tertiary"} ${t.palette.hoverText||"hover:text-on-tertiary"} transition-colors font-semibold pointer-events-auto" href="${
|
|
45
|
+
</div>`);let r="";if(t.overlayItems.includes("c")){let i=e.commentsUrl||e.url,n=e.commentCount&&e.commentCount>0?`<span class="text-[0.625rem]">${e.commentCount}</span>`:"";r=`
|
|
46
|
+
<a aria-label="Comments" class="relative px-2 h-6 rounded-md ${t.palette.glass} ${t.palette.text} backdrop-blur-md flex items-center justify-center gap-1 ${t.palette.hoverBg||"hover:bg-tertiary"} ${t.palette.hoverText||"hover:text-on-tertiary"} transition-colors font-semibold pointer-events-auto" href="${i}">
|
|
47
47
|
<svg aria-hidden="true" class="w-4 h-4"><use href="#icon-comment-bubble"></use></svg>
|
|
48
|
-
${
|
|
48
|
+
${n}
|
|
49
49
|
</a>`}let l="";t.overlayItems.includes("b")&&(l=`
|
|
50
50
|
<button aria-label="Save" class="group bm-button relative h-6 rounded-md ${t.palette.glass} ${t.palette.text} backdrop-blur-md flex items-center justify-center ${t.palette.hoverBg||"hover:bg-tertiary"} ${t.palette.hoverText||"hover:text-on-tertiary"} transition-all duration-300 ease-in-out pointer-events-auto" data-bm-title="${e.title.replace(/"/g,""")}" data-bm-url="${e.url}" data-bm-image="${e.thumbnailUrl||""}" type="button">
|
|
51
51
|
<span class="bm-text overflow-hidden whitespace-nowrap text-[11px] font-medium transition-all duration-300 max-w-0 opacity-0 group-hover:max-w-[60px] group-hover:opacity-100 group-hover:pl-2.5">Save</span>
|
|
@@ -53,9 +53,9 @@ var wt=Object.defineProperty;var St=(e,t)=>()=>(e&&(t=e(e=0)),t);var k=(e,t)=>{f
|
|
|
53
53
|
<svg aria-hidden="true" class="w-4 h-4 bm-add-icon group-[.added]:hidden"><use href="#icon-bookmark-add"></use></svg>
|
|
54
54
|
<svg aria-hidden="true" class="w-4 h-4 bm-added-icon hidden group-[.added]:block"><use href="#icon-bookmark-added"></use></svg>
|
|
55
55
|
</div>
|
|
56
|
-
</button>`);let s="";if(t.overlayItems.includes("a")&&e.authorName&&e.authorName!=="Unknown"&&e.authorName!=="Anonymous"){let
|
|
57
|
-
${
|
|
58
|
-
<span>${e.authorName}</span>${
|
|
56
|
+
</button>`);let s="";if(t.overlayItems.includes("a")&&e.authorName&&e.authorName!=="Unknown"&&e.authorName!=="Anonymous"){let i='<svg aria-hidden="true" class="w-4 h-4 text-primary"><use href="#icon-verified"></use></svg>',n="";e.authorImage&&!e.authorImage.includes("blogblog.com")&&(n=`<img src="${e.authorImage.startsWith("//")?`https:${e.authorImage}`:e.authorImage}" alt="${e.authorName}" class="w-4 h-4 rounded-full object-cover">`);let c=`
|
|
57
|
+
${n}
|
|
58
|
+
<span>${e.authorName}</span>${i}
|
|
59
59
|
`;e.authorUri?s=`
|
|
60
60
|
<a href="${e.authorUri}" class="flex items-center gap-1 px-2 h-6 rounded-md ${t.palette.glass} ${t.palette.text} backdrop-blur-md ${t.palette.hoverBg||"hover:bg-tertiary"} ${t.palette.hoverText||"hover:text-on-tertiary"} text-[0.625rem] font-semibold transition-colors pointer-events-auto">
|
|
61
61
|
${c}
|
|
@@ -82,20 +82,20 @@ var wt=Object.defineProperty;var St=(e,t)=>()=>(e&&(t=e(e=0)),t);var k=(e,t)=>{f
|
|
|
82
82
|
<div class="flex items-center gap-2 pointer-events-auto">
|
|
83
83
|
${a}
|
|
84
84
|
</div>
|
|
85
|
-
</div>`}function N(e,t,o,r){if(!o.showImage)return{imageCode:"",showcaseImageCode:"",videoThumbnailURL:"",highResImageURL:""};let{postSnippet:l,videoID:s,postTitle:a,thumbnailUrl:
|
|
85
|
+
</div>`}function N(e,t,o,r){if(!o.showImage)return{imageCode:"",showcaseImageCode:"",videoThumbnailURL:"",highResImageURL:""};let{postSnippet:l,videoID:s,postTitle:a,thumbnailUrl:i,authorImage:n,post:c}=r,d=i||"",m=d||o.imageURL||O;if(!m)if(o.contentType=="comments")n&&!n.includes("blogblog.com")?m=n:m=O;else{let D=new DOMParser().parseFromString(l||"","text/html").querySelector("img");m=D?D.getAttribute("src"):O}d||(d=m);let p=m;s&&s!=="noVideo"?p=`https://i.ytimg.com/vi/${s}/maxresdefault.jpg`:o.isBloggerFeed&&(p=p.replace(/\/s\d+(-[a-z]\d+)*(-c)?/,"/s1600"));let h={s:{bs:[o.aspectRatio.trim()],figure:"w-full h-full flex"},p:{bs:[o.aspectRatio.trim()],figure:"w-full h-full flex"},m:{style:"object-fit:cover !important;height:3rem!important;width:3rem!important;",bs:["rounded-full","m-2"],figure:"shrink-0 flex items-center justify-center"},q:{style:"object-fit:cover !important;height:6rem!important;width:6rem;",bs:["rounded-full","mx-auto","mt-6"],figure:"w-full h-full flex"},t:{bs:["h-full","object-cover"],figure:"w-1/3 shrink-0 h-full flex items-center justify-center"},v:{bs:["w-full","h-full","object-cover"],figure:"w-full h-full flex"},l:{bs:[o.aspectRatio.trim()],figure:"w-full h-full flex"},c:{bs:[o.aspectRatio.trim()],figure:"w-full h-full flex"},g:{bs:[o.aspectRatio.trim()],figure:"w-full h-full flex"}}[e]||{bs:[],figure:"w-full h-full flex"},g=h.style||"object-fit:cover !important;height:100% !important;",b=h.bs.length>0?[...h.bs]:["w-full","h-auto"];e!=="m"&&e!=="q"&&e!=="t"&&e!=="v"&&b.unshift("w-full","h-auto");let w=h.figure,S="",j="";if(e==="s"){S=`data-toggle="tooltip" data-vidid="${s}"`;let Y=ht(s),D=o.cornerStyle===" rounded"?" rounded-t-3xl":o.cornerStyle;t===0&&(j=`<figure class="m-0 ${b.join(" ")} ${o.aspectRatio} ${D} m-blox-image-to-load relative cursor-pointer" data-img-high="${p}" data-is-fixed="true" style="${o.articleHeight}" role="img" loading="lazy" title="${a}" aria-label="${a} image" ${S}>${Y}</figure>`)}o.blurImage&&o.contentType!=="comments"&&b.push("blur-sm");let le="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",z=o.blockType==="s"||o.blockType==="l"?t===0&&o.isImageFixed:o.isImageFixed,F=o.isBloggerFeed?" m-blox-image-to-load":"",W=o.isBloggerFeed?le:m,G=be(s),ae=`w-full ${b.join(" ")} ${F}`.replace(/\s+/g," "),se=`m-0 relative ${w} ${b.join(" ")} ${F}`.replace(/\s+/g," "),ne=c?ft(c,o):"";return{imageCode:z?`<figure class="${se} group" data-img-high="${p}" data-is-fixed="true" style="${o.articleHeight}" role="img" loading="lazy" aria-label="${a} image"${S}>${ne}${G}</figure>`:`<figure class="m-0 relative ${w} group"><img class="${ae}" style="${g}" src="${W}" data-img-high="${p}" alt="${a} image" loading="lazy" title="${a}" ${S}/>${ne}${G}</figure>`,showcaseImageCode:j,videoThumbnailURL:d,highResImageURL:p}}x();function Z(e,t,o,r){if(!t.callToAction||e==="g")return"";let l=t.ctaAlign||"right",s="";e==="t"||e==="c"||e==="m"||e==="p"||e==="q"?l==="left"?s="mt-auto self-start":l==="center"?s="mt-auto self-center":s="mt-auto self-end":e==="v"?l==="left"?s="mx-0 md:mx-10 mt-8 self-start":l==="center"?s="mx-0 md:mx-10 mt-8 self-center":s="mx-0 md:mx-10 mt-8 self-end":(e==="s"||e==="l")&&(s="");let a=t.cornerStyle===" rounded-none",n=`js-cta-link inline-block text-label-lg font-bold no-underline px-4 py-2 hover:opacity-100 transition-opacity opacity-75 ${`${t.palette.bg} ${t.palette.text} ${t.palette.hoverBg} ${t.palette.hoverText}`} ${a?"rounded-none":"rounded-full"}`;return`<a href="${r}" class="${n} ${s} after:absolute after:inset-0 z-10" aria-label="View ${o.replace(/"/g,""")}">${t.callToAction}</a>`}x();var xt={q:e=>`<figcaption class="text-label-md">- ${e}</figcaption>`,m:(e,t,o)=>`<span class="text-label-md ${o.containerText}" rel="author">${e}</span>`};function Le(e,t,o,r){if(!t.showAuthor)return"";let l=o==="Anonymous"||o==="Unknown"||!r?"":r;return xt[e]?xt[e](o,l,t.palette):l?`<span class="text-label-md hover:underline z-20 relative cursor-pointer" rel="author" data-href="${l}">${o}</span>`:`<span class="text-label-md" rel="author">${o}</span>`}x();function X(e,t,o,r){if(!t.showDate)return"";let l=new Date(o),s=t.dateFormatter.format(l);if(e==="m")return`<span class="text-label-md font-light">${t.showAuthor?" • ":""} ${s}</span>`;let a=!1;if(r&&new Date(r).getTime()-l.getTime()>1440*60*1e3&&(a=!0),a){let i=t.palette.bg||"bg-surface-variant",n=t.palette.text||"text-on-surface-variant";return`<div class="flex items-center gap-2"><span class="${i} ${n} px-2 py-0.5 rounded-sm text-label-sm font-bold uppercase tracking-wider">Updated</span><span class="text-label-md font-light">${s}</span></div>`}else return`<span class="text-label-md font-light">Published ${s}</span>`}x();var It={q:(e,t,o,r)=>`<svg class="float-left ${r.containerText}" xmlns="http://www.w3.org/2000/svg" width="30" height="30" fill="currentColor" viewBox="0 0 16 16"><use href="#icon-quote"></use></svg><blockquote class="${r.containerText} text-left mt-2 ml-6 text-headline-sm italic">${o?e:`<a href="${t}" class="after:absolute after:inset-0 z-10" aria-label="Read more about ${e.replace(/"/g,""")}">${e}</a>`}</blockquote>`,v:(e,t,o)=>`<h3 class="line-clamp-2 text-display-sm font-bold mx-0 md:mx-10 opacity-75">${o?e:`<a href="${t}" class="after:absolute after:inset-0 z-10" aria-label="Read more about ${e.replace(/"/g,""")}">${e}</a>`}</h3>`,m:(e,t,o)=>`<span class="line-clamp-2 block my-2 text-title-md">"${o?e:`<a href="${t}" class="after:absolute after:inset-0 z-10" aria-label="Read more about ${e.replace(/"/g,""")}">${e}</a>`}"</span>`};function ee(e,t,o,r){if(!t.showHeader)return"";let l=!!t.callToAction;return(It[e]||((a,i,n)=>`<h5 class="line-clamp-2 text-title-lg font-bold mb-2">${n?a:`<a href="${i}" class="after:absolute after:inset-0 z-10" aria-label="Read more about ${a.replace(/"/g,""")}">${a}</a>`}</h5>`))(o,r,l,t.palette)}x();function te(e,t,o,r){if(!t.showSnippet||!o)return"";let s=new DOMParser().parseFromString(o,"text/html").body.textContent||"";return s.length>t.snippetSize&&(s=s.substring(0,t.snippetSize)+"..."),!t.showHeader&&!t.showImage&&!t.callToAction&&!t.showLabels&&!t.showDate?`<a href="${r}" class="after:absolute after:inset-0 z-10 block line-clamp-3 list-none text-body-md font-normal opacity-75 ${e==="v"?"py-6 mx-0 md:mx-10":""}" aria-label="Read more">${s}</a>`:`<div class="line-clamp-3 list-none text-body-md font-normal opacity-75 ${e==="v"?"py-6 block mx-0 md:mx-10":""}">${s}</div>`}function re(e,t,o){if(!e.showLabels||!t||t.length===0)return"";let r=[...t].sort(()=>.5-Math.random()).slice(0,2),l="/search/label/";if(o&&o!=="/")try{let a=new URL(o),i=o.toLowerCase();i.includes("youtube.com")?l="https://www.youtube.com/hashtag/":i.includes("/wp-json")?l=`${a.origin}/search/`:i.includes("tumblr.com")?l=`${a.origin}/tagged/`:i.includes("mastodon.social")?l=`${a.origin}/tags/`:i.includes("bsky.app")?l="https://bsky.app/search?q=":i.includes("deviantart.com")?l="https://www.deviantart.com/tag/":i.includes("reddit.com")?l="https://www.reddit.com/search/?q=":l=`${a.origin}/search/label/`}catch{l="/search/label/"}return`
|
|
86
86
|
<div class="flex items-center gap-2 mb-3 relative z-50 pointer-events-auto">
|
|
87
87
|
<div class="flex flex-wrap items-center gap-2">
|
|
88
|
-
${r.map(a=>{let
|
|
88
|
+
${r.map(a=>{let i=encodeURIComponent(a),n=a.startsWith("#")?a.replace(/\s+/g,""):`#${a.replace(/\s+/g,"")}`;return`<a aria-label="${a.replace(/"/g,""")}" class="relative z-50 pointer-events-auto inline-flex items-center justify-center rounded-full transition-opacity duration-300 ease-[--ease-m3-emphasized] cursor-pointer ${e.palette.bg} ${e.palette.text} ${e.palette.hoverBg} ${e.palette.hoverText} opacity-75 hover:opacity-100 h-6 px-3 text-label-md no-underline" href="${l}${i}"><span>${n}</span></a>`}).join("")}
|
|
89
89
|
</div>
|
|
90
|
-
</div>`}x();function Bt(e,t,o){let r="v",l=Le(r,o,e.authorName,e.authorUri),s=X(r,o,e.publishedDate,e.updatedDate),a=ee(r,o,e.title,e.url),
|
|
90
|
+
</div>`}x();function Bt(e,t,o){let r="v",l=Le(r,o,e.authorName,e.authorUri),s=X(r,o,e.publishedDate,e.updatedDate),a=ee(r,o,e.title,e.url),i=te(r,o,e.content,e.url),n=Z(r,o,e.title,e.url),c=re(o,e.labels,o.siteURL),{imageCode:d}=N(r,t,o,{postSnippet:e.content,videoID:e.videoId,postTitle:e.title,thumbnailUrl:e.thumbnailUrl,authorImage:e.authorImage,post:e}),p=!!(l||s||a||i||n||c)?`
|
|
91
91
|
<div class="${o.palette.containerGlass} backdrop-blur-xl ${o.palette.containerText} p-2 @xs:p-4 @sm:p-8 @md:p-12 absolute z-10 flex flex-col justify-center items-center ${{top:`w-3/4 left-1/2 -translate-x-1/2 top-8 ${o.cornerStyle===" rounded-none"||o.textVerticalAlign==="overlay"?" rounded-none":" rounded-3xl"}`,middle:`w-3/4 left-1/2 -translate-x-1/2 top-1/2 -translate-y-1/2 ${o.cornerStyle===" rounded-none"||o.textVerticalAlign==="overlay"?" rounded-none":" rounded-3xl"}`,bottom:`w-3/4 left-1/2 -translate-x-1/2 bottom-8 ${o.cornerStyle===" rounded-none"||o.textVerticalAlign==="overlay"?" rounded-none":" rounded-3xl"}`,overlay:"w-full h-full inset-0 rounded-none"}[o.textVerticalAlign]||`w-3/4 left-1/2 -translate-x-1/2 top-1/2 -translate-y-1/2 ${o.cornerStyle===" rounded-none"||o.textVerticalAlign==="overlay"?" rounded-none":" rounded-3xl"}`}">
|
|
92
92
|
${l}
|
|
93
93
|
<div class="flex flex-wrap items-center justify-center gap-2">${s?`<div class="mb-3">${s}</div>`:""}${c}</div>
|
|
94
94
|
${a}
|
|
95
|
-
${n}
|
|
96
95
|
${i}
|
|
96
|
+
${n}
|
|
97
97
|
</div>
|
|
98
|
-
`:"",u=["relative","block","w-full","rounded-none","text-"+o.textHAlign,"h-full",o.interactionClasses].filter(Boolean).join(" "),h=o.articleHeight?` style="${o.articleHeight.replace(";","")}"`:"",g="@container col-span-1 inline-flex w-full relative",b=o.showImage?d:"";return!o.showHeader&&!o.callToAction&&(b=`<a href="${e.url}" class="absolute inset-0 z-10" aria-label="View ${e.title.replace(/"/g,""")}"></a>${d}`),`<article class="${g}"${h} role="article"><div class="${u}">${b}${p}</div></article>`}var Ue={};k(Ue,{render:()=>kt,renderThumbnail:()=>_t});x();function kt(e,t,o){let r="s",l=_e(e),s=ee(r,o,e.title,e.url),a=te(r,o,e.content,e.url),
|
|
98
|
+
`:"",u=["relative","block","w-full","rounded-none","text-"+o.textHAlign,"h-full",o.interactionClasses].filter(Boolean).join(" "),h=o.articleHeight?` style="${o.articleHeight.replace(";","")}"`:"",g="@container col-span-1 inline-flex w-full relative",b=o.showImage?d:"";return!o.showHeader&&!o.callToAction&&(b=`<a href="${e.url}" class="absolute inset-0 z-10" aria-label="View ${e.title.replace(/"/g,""")}"></a>${d}`),`<article class="${g}"${h} role="article"><div class="${u}">${b}${p}</div></article>`}var Ue={};k(Ue,{render:()=>kt,renderThumbnail:()=>_t});x();function kt(e,t,o){let r="s",l=_e(e),s=ee(r,o,e.title,e.url),a=te(r,o,e.content,e.url),i="";e.content&&(i=new DOMParser().parseFromString(e.content,"text/html").body.textContent||"",i.length>o.snippetSize&&(i=i.substring(0,o.snippetSize)+"..."),i=i.replace(/"/g,"""));let n=Z(r,o,e.title,e.url),{imageCode:c,showcaseImageCode:d}=N(r,t,o,{postSnippet:e.content,videoID:l,postTitle:e.title,thumbnailUrl:e.thumbnailUrl,authorImage:e.authorImage,post:e});if(t===0&&o.firstInstance){let w=o.cornerStyle===" rounded-none"?"rounded-none":"rounded-t-3xl",S=o.showImage||o.callToAction!==""?n:"",j="";if(o.showHeader||S||o.showLabels){let P=X(r,o,e.publishedDate,e.updatedDate),z=re(o,e.labels,o.siteURL),F=P||z?`<div class="flex flex-wrap items-center gap-x-4 gap-y-0 mb-2">${P?`<div class="mb-3 shrink-0">${P}</div>`:""}<div class="shrink-0">${z}</div></div>`:"",W=o.showHeader||o.showLabels?`<div class="flex-grow min-w-0 w-full @md:w-auto text-${o.textHAlign}">${F}${s} ${a}</div>`:"",G=o.ctaAlign==="left"?"justify-start":o.ctaAlign==="center"?"justify-center":"justify-end",ae=o.showHeader?"mt-4 @md:mt-0 @md:ml-6 ":"",se=o.showHeader?"w-full @md:w-auto":"w-full",ne=S?`<div class="flex-shrink-0 ${ae}flex items-center ${G} ${se}">${S}</div>`:"";j=`<div class="absolute inset-0 flex flex-col justify-end p-0 z-10 pointer-events-none w-full overflow-hidden"><div class="sContent w-full flex flex-col @md:flex-row items-start @md:items-center justify-between p-2 @xs:p-4 @sm:px-12 ${o.showHeader?`${o.palette.containerGlass} backdrop-blur-xl `:""}${o.palette.containerText} pointer-events-auto">${W}${ne}</div></div>`}let le=`<a href="${e.url}" class="absolute inset-0 z-30" title="${e.title.replace(/"/g,""")}" aria-label="View ${e.title.replace(/"/g,""")}"></a>`;return`<div class="@container feature-image w-full ${o.aspectRatio.trim()} relative flex flex-col text-${o.textHAlign} overflow-hidden rounded-none mb-4" style="${o.articleHeight.replace(";","")}"><div class="sIframe hidden absolute inset-0 w-full h-full z-10"></div>${le}${d}<div class="${o.palette.text} block absolute inset-0 z-40 pointer-events-none">${j}</div></div>`}let m=l&&l!=="noVideo"?` data-vidid="${l}"`:"",p=t===0&&o.firstInstance?" ring-4 ring-current ring-inset":"",u=`@container col-span-1 inline-flex w-full sPost cursor-pointer relative ${o.interactionClasses}${p}`,h=O;l&&l!=="noVideo"?h=`https://i.ytimg.com/vi/${l}/maxresdefault.jpg`:e.thumbnailUrl&&(h=e.thumbnailUrl.replace(/\/s\d+(-[a-z]\d+)*(-c)?/,"/s1600"));let g=e.title.replace(/"/g,"""),b=`data-title="${g}" data-link="${e.url}" data-summary="${i}"${m} data-img-high="${h}" data-toggle="tooltip"`;return`<article class="${u}" ${b} role="article" title="${g}">${o.showImage?c:""}</article>`}function _t(e,t){let o=_e(e),r=e.thumbnailUrl||O,l=r;o&&o!=="noVideo"&&l.includes("ytimg.com")?l=l.replace(/\/([^\/]+)$/,"/maxresdefault.jpg"):l=l.replace(/\/s\d+(-c)?/,"/s1600").replace(/\/w\d+-h\d+(-c)?/,"/s1600");let s=(e.content||"").replace(/<[^>]*>/g,"").substring(0,t.snippetSize)+"...";(!r||r.includes("no-image.png"))&&(r=O),(!l||l.includes("no-image.png"))&&(l=O);let a=t.isBloggerFeed?" m-blox-image-to-load":"",i=o!=="noVideo"?` data-vidid="${o}"`:"",n=`data-title="${e.title}" data-link="${e.url}" data-summary="${s}"${i} data-toggle="tooltip"`,c=`<img class="w-full h-full object-cover${a}" src="${r}" data-img-high="${l}" alt="${e.title.replace(/"/g,""")} image" loading="lazy" title="${e.title.replace(/"/g,""")}" />`,d=be(o),m=`<figure class="m-0 w-full ${t.aspectRatio.trim()} overflow-hidden ${t.cornerStyle} relative">${c}${d}</figure>`;return`<article class="col-span-1 inline-flex w-full sPost cursor-pointer relative ${t.interactionClasses}" ${n} title="${e.title.replace(/"/g,""")}" role="article">${m}</article>`}var Me={};k(Me,{render:()=>Ot});x();function A(e,t,o,r,l){let s=Le(e,r,t.authorName,t.authorUri),a=X(e,r,t.publishedDate,t.updatedDate),i=ee(e,r,t.title,t.url),n=te(e,r,t.content,t.url),c=Z(e,r,t.title,t.url),d=re(r,t.labels,r.siteURL),{imageCode:m}=N(e,o,r,{postSnippet:t.content,videoID:t.videoId,postTitle:t.title,thumbnailUrl:t.thumbnailUrl,authorImage:t.authorImage,post:t}),u=r.mBloxTheme!=="surface"?` h-full bg-opacity-90 ${r.palette.containerBg} ${r.palette.containerText}`:` ${r.palette.containerText}`,h=!!(s||a||i||n||c||d),g=!!(s||a||i||n||d),b=r.showImage?m:"";!r.showHeader&&!r.callToAction&&r.showImage&&!r.showLabels&&(b=`<a href="${t.url}" class="absolute inset-0 z-10" aria-label="View ${t.title.replace(/"/g,""")}"></a>${m}`);let w=e!=="comment"&&(a||c)?`<div class="flex items-center justify-between mt-auto w-full pt-4">${a}${c}</div>`:c;return l({authorCode:s,dateCode:a,titleCode:i,snippetCode:n,ctaButtonCode:c,ctaRowCode:w,imageCode:m,finalImageCode:b,labelsCode:d,hasText:h,hasTextContent:g},r,u,t,o)}function Ot(e,t,o){return A("l",e,t,o,(r,l)=>{let s="",a=t===0?"p-4 @xs:p-6 @sm:p-8":"p-2 @xs:p-4 @sm:p-6";if(r.hasText){let p=r.ctaRowCode?`<div class="mt-4 w-full">${r.ctaRowCode}</div>`:"";l.showImage?s=`
|
|
99
99
|
<div class="absolute inset-0 flex flex-col p-0 border-0 pointer-events-none ${{top:"justify-start",middle:"justify-center",bottom:"justify-end",overlay:""}[l.textVerticalAlign]||""}">
|
|
100
100
|
<div class="pointer-events-auto ${l.textVerticalAlign==="overlay"||!{top:"justify-start",middle:"justify-center",bottom:"justify-end",overlay:""}[l.textVerticalAlign]?"h-full ":""}${r.hasTextContent?`${l.palette.containerGlass} backdrop-blur-xl `:""}${l.palette.containerText} rounded-none ${a} text-${l.textHAlign}">
|
|
101
101
|
${r.authorCode}
|
|
@@ -113,7 +113,7 @@ var wt=Object.defineProperty;var St=(e,t)=>()=>(e&&(t=e(e=0)),t);var k=(e,t)=>{f
|
|
|
113
113
|
${r.snippetCode}
|
|
114
114
|
${p}
|
|
115
115
|
</div>
|
|
116
|
-
`}let
|
|
116
|
+
`}let i=l.showImage?[]:[l.palette.containerBg,l.palette.containerText],c=["relative",l.showImage?"block":"flex flex-col justify-center",l.cornerStyle,l.aspectRatio.trim(),"w-full","h-full",...i,l.interactionClasses].filter(Boolean).join(" "),d=`@container col-span-1 inline-flex w-full h-full relative ${l.layout.mb}`,m=t===0?`<div class="absolute top-0 left-0 z-20 pointer-events-none backdrop-blur-xl ${l.palette.containerGlass} ${l.palette.containerText} px-6 py-3 text-label-lg font-bold w-full">Featured</div>`:"";return`<article class="${d}" role="article"><div class="${c}">${r.finalImageCode}${m}${s}</div></article>`})}var De={};k(De,{render:()=>Rt});x();function Rt(e,t,o){return A("c",e,t,o,(r,l)=>{let s=r.hasText?`
|
|
117
117
|
<div class="absolute inset-0 flex flex-col p-0 border-0 pointer-events-none ${{top:"justify-start",middle:"justify-center",bottom:"justify-end",overlay:""}[l.textVerticalAlign]||""}">
|
|
118
118
|
<div class="pointer-events-auto ${l.textVerticalAlign==="overlay"||!{top:"justify-start",middle:"justify-center",bottom:"justify-end",overlay:""}[l.textVerticalAlign]?"h-full ":""}${r.hasTextContent?`${l.palette.containerGlass} backdrop-blur-xl `:""}${l.palette.containerText} rounded-none p-2 @xs:p-4 @sm:p-6 flex flex-col text-${l.textHAlign}">
|
|
119
119
|
${r.authorCode}
|
|
@@ -139,7 +139,7 @@ var wt=Object.defineProperty;var St=(e,t)=>()=>(e&&(t=e(e=0)),t);var k=(e,t)=>{f
|
|
|
139
139
|
${r.snippetCode}
|
|
140
140
|
${r.ctaRowCode}
|
|
141
141
|
</div>
|
|
142
|
-
`:"",
|
|
142
|
+
`:"",n=l.blockType==="t"?"w-3/4":"w-2/3",c=r.hasText?l.showImage?`<div class="${n} h-full flex flex-col">${a}</div>`:a:"",d=["flex","flex-row",l.palette.containerBg,l.cornerStyle,"w-full","h-full",l.interactionClasses].filter(Boolean).join(" ");return`<article class="${`@container col-span-1 inline-flex w-full relative h-full ${l.layout.mb}`}" role="article"><div class="${d}">${r.finalImageCode}${c}</div></article>`})}var Ne={};k(Ne,{render:()=>qt});x();function qt(e,t,o){return A("q",e,t,o,(r,l)=>{let s=r.hasText?`
|
|
143
143
|
<div class="p-4 @xs:p-6 @sm:p-8 flex-grow flex flex-col">
|
|
144
144
|
${r.titleCode}
|
|
145
145
|
${r.snippetCode}
|
|
@@ -163,7 +163,7 @@ var wt=Object.defineProperty;var St=(e,t)=>()=>(e&&(t=e(e=0)),t);var k=(e,t)=>{f
|
|
|
163
163
|
${s}
|
|
164
164
|
</div>
|
|
165
165
|
</article>
|
|
166
|
-
`})}var Pe={v:Re,s:Ue,l:Me,c:De,g:qe,p:Ee,t:He,q:Ne,m:je},oe=class{async buildBlockBody(t,o){let r="",l="",s=null,a=t.posts.length,
|
|
166
|
+
`})}var Pe={v:Re,s:Ue,l:Me,c:De,g:qe,p:Ee,t:He,q:Ne,m:je},oe=class{async buildBlockBody(t,o){let r="",l="",s=null,a=t.posts.length,i=o.blockType==="l"||o.blockType==="s";if(o.isCarousel&&(s=null),o.blockType==="s"&&a>0){o.firstInstance&&(l=Pe["s"].render(t.posts[0],0,o));let c=[];for(let d=0;d<a;d++){let m=Pe["s"].renderThumbnail(t.posts[d],o);o.isCarousel&&(m=m.replace('<article class="','<article class="snap-start ')),c.push(m)}return{renderedBlocks:c,carouselIndicators:s,showcaseHTML:l}}let n=[];for(let c=0;c<a;c++){let d=t.posts[c],m=o.columnCount,p=o.blockType;o.blockType==="l"&&c>0&&(p=o.showHeader?"t":"c",c===1&&o.showHeader&&m--);let u=Pe[p].render(d,c,o);o.isCarousel&&(u=u.replace('<article class="','<article class="snap-start ')),n.push(u)}return{renderedBlocks:n,carouselIndicators:s,showcaseHTML:l}}createBlockHeader(t){return it(t)}createBlockFooter(t,o){return ct(t,o)}createStageWrapper(t,o,r,l){let s=r.isCarousel?ut(o,r,l):"",a=pt(r,l),i=`${s}${t}${a}`;return dt(i,r)}bindEvents(t,o){this._bindShowcaseEvents(t,o),this._bindPaginationEvents(t,o),this._bindShareEvents(t),mt(t,o)}_bindShareEvents(t){t.dataset.shareBound||(t.dataset.shareBound="true",t.addEventListener("click",async o=>{let r=o.target.closest('[data-action="share-native"]');if(!r)return;o.preventDefault(),o.stopPropagation();let l=r.getAttribute("data-title"),s=r.getAttribute("data-url");if(navigator.share)try{await navigator.share({title:l,url:s})}catch(a){console.log("Share failed",a)}else navigator.clipboard.writeText(s).then(()=>{alert("Link copied to clipboard!")})}))}_bindShowcaseEvents(t,o){if(t.dataset.showcaseBound)return;let r=t.closest(".mBlock, .mBlockL")?.querySelector(".feature-image");if(!r)return;t.dataset.showcaseBound="true";let l=r.querySelector("figure"),s=r.querySelector(".sIframe"),a=r.querySelector(".sContent");l&&l.addEventListener("click",function(){let n=this.getAttribute("data-vidid");if(n&&n!=="noVideo"){if(s){s.innerHTML=Oe(n,o),s.style.display="",s.style.opacity="1",s.classList.remove("hidden"),l.style.display="none",a&&(a.style.display="none");let c=r.querySelector("a");c&&(c.style.display="none")}}else{let c=r.querySelector("a");c&&c.href&&(window.location.href=c.href)}});let i=r.querySelector("a.z-30")||r.querySelector("a");i&&i.addEventListener("click",function(n){if(l){let c=l.getAttribute("data-vidid");c&&c!=="noVideo"&&(n.preventDefault(),l.click())}}),t.addEventListener("click",function(n){let c=n.target.closest(".sPost");if(!c||!c.closest(".sFeature"))return;let d={vidid:c.getAttribute("data-vidid"),title:c.getAttribute("data-title"),summary:c.getAttribute("data-summary"),link:c.getAttribute("data-link"),imgHigh:c.getAttribute("data-img-high")||c.querySelector("img")?.getAttribute("data-img-high")||""};if(c.classList.contains("ring-4")){window.location.href=d.link;return}if(t.querySelectorAll(".sFeature .sPost").forEach(u=>{u.classList.remove("ring-4","ring-current","ring-inset")}),c.classList.add("ring-4","ring-current","ring-inset"),d.vidid&&d.vidid!=="noVideo"){s&&(s.innerHTML=Oe(d.vidid,o),H(s)),M(l),M(a);let u=r.querySelector("a");u&&(u.style.display="none")}else{if(s&&(s.innerHTML="",M(s)),l){(d.vidid==="noVideo"||!d.vidid)&&l.removeAttribute("data-vidid");let g=l.querySelector("svg");g&&M(g),l.style.backgroundImage=`url("${d.imgHigh}")`,l.style.backgroundSize="cover",l.title=d.title,l.setAttribute("aria-label",d.title+" image"),H(l)}if(a){H(a);let g=a.querySelector("h5");if(g){g.textContent=d.title;let S=g.closest("a");S&&(S.href=d.link)}let b=a.querySelector(".js-cta-link");b&&(b.href=d.link,b.setAttribute("aria-label",`View ${d.title}`));let w=a.querySelector(".list-none")||a.querySelector("div.text-body-md");w&&(w.innerHTML=d.summary)}let u=r.querySelector("a.z-30")||r.querySelector("a");u&&(u.style.display="",u.href=d.link,u.title=d.title,u.hasAttribute("aria-label")&&u.setAttribute("aria-label",`View ${d.title}`));let h=r.querySelector("button");h&&(h.title=d.title)}})}_bindPaginationEvents(t,o){if(!o)return;let r=o.stageID,l=t.querySelectorAll(`.st${r} .nav-prev`),s=t.querySelectorAll(`.st${r} .nav-next`);l.forEach(a=>{a.dataset.bound||(a.dataset.bound="true",a.addEventListener("click",()=>{let i=parseInt(t.getAttribute("data-s"),10);if(i<=1)return;let n=i-1;t.setAttribute("data-s",n),t.style.minHeight=t.clientHeight+"px",M(t.querySelector(`div#m${o.mBlockID}-st${i}`)),M(t.querySelector(`div.mblox-footer.st${i}`)),setTimeout(()=>{H(t.querySelector(`div#m${o.mBlockID}-st${n}`)),H(t.querySelector(`div.mblox-footer.st${n}`)),t.style.minHeight=""},160)}))}),s.forEach(a=>{a.dataset.bound||(a.dataset.bound="true",a.addEventListener("click",()=>{let i=parseInt(t.getAttribute("data-s"),10),n=i+1;t.setAttribute("data-s",n),t.style.minHeight=t.clientHeight+"px",t.classList.add("relative"),M(t.querySelector(`div#m${o.mBlockID}-st${i}`));let c=t.querySelector(`div.mblox-footer.st${i}`);c&&M(c);let d=t.querySelector(`div#m${o.mBlockID}-st${n}`);if(d)setTimeout(()=>{H(d),H(t.querySelector(`div.mblox-footer.st${n}`)),t.style.minHeight=""},160);else{let m=`
|
|
167
167
|
<style>
|
|
168
168
|
@keyframes mblox-loader-anim {
|
|
169
169
|
0% { transform: rotate(0deg) scale(0.8); }
|
|
@@ -171,6 +171,6 @@ var wt=Object.defineProperty;var St=(e,t)=>()=>(e&&(t=e(e=0)),t);var k=(e,t)=>{f
|
|
|
171
171
|
100% { transform: rotate(360deg) scale(0.8); }
|
|
172
172
|
}
|
|
173
173
|
</style>
|
|
174
|
-
<div id="m${o.mBlockID}-st${
|
|
174
|
+
<div id="m${o.mBlockID}-st${n}-loading" class="absolute inset-0 flex items-center justify-center z-10" style="min-height: 200px;">
|
|
175
175
|
<svg class="w-12 h-12 text-current opacity-80" viewBox="0 0 56 56" style="--scroll-progress: 0; animation: mblox-loader-anim 2s cubic-bezier(0.4, 0, 0.2, 1) infinite;"><use href="#icon-progress-m3e"></use></svg>
|
|
176
|
-
</div>`;t.insertAdjacentHTML("beforeend",m);let p=new CustomEvent("mblox:loadNextPage",{detail:{element:t}});t.dispatchEvent(p)}}))})}};var me=null;async function Ht(){return me||(window.mBloxConfig&&window.mBloxConfig.designSystem==="m3e"?(window.mBlox=window.mBlox||{},window.mBlox.m3eRenderer=oe,me=new oe):me=new oe,me)}async function Ke(e){rt();let t=await Ht(),o=typeof e=="string"?document.querySelectorAll(e):[e];for(let r of o){r.classList.add("@container");let l=et(r);r.setAttribute("data-scheme",l.mBloxTheme),r.setAttribute("data-palette",l.paletteName),r._mbloxPaginateListener||(r.addEventListener("mblox:loadNextPage",s=>{Ke(s.target)}),r._mbloxPaginateListener=!0);try{let s=Ze(l),a=await s.fetch();if(l.isBloggerFeed=s instanceof de,a.posts&&a.posts.length>0){let
|
|
176
|
+
</div>`;t.insertAdjacentHTML("beforeend",m);let p=new CustomEvent("mblox:loadNextPage",{detail:{element:t}});t.dispatchEvent(p)}}))})}};var me=null;async function Ht(){return me||(window.mBloxConfig&&window.mBloxConfig.designSystem==="m3e"?(window.mBlox=window.mBlox||{},window.mBlox.m3eRenderer=oe,me=new oe):me=new oe,me)}async function Ke(e){rt();let t=await Ht(),o=typeof e=="string"?document.querySelectorAll(e):[e];for(let r of o){r.classList.add("@container");let l=et(r);r.setAttribute("data-scheme",l.mBloxTheme),r.setAttribute("data-palette",l.paletteName),r._mbloxPaginateListener||(r.addEventListener("mblox:loadNextPage",s=>{Ke(s.target)}),r._mbloxPaginateListener=!0);try{let s=Ze(l),a=await s.fetch();if(l.isBloggerFeed=s instanceof de,a.posts&&a.posts.length>0){let i=a.posts.length;l.contentType==="comments"&&(l.moreText=""),l.firstInstance&&(r.setAttribute("data-s",l.stageID),r.insertAdjacentHTML("beforeend",t.createBlockHeader(l))),l=Xe(l,i);let{renderedBlocks:n,carouselIndicators:c,showcaseHTML:d}=await t.buildBlockBody(a,l);l.firstInstance&&l.blockType==="s"&&d&&r.insertAdjacentHTML("beforeend",d);let p=l.stageID===parseInt(r.getAttribute("data-s")||"1",10)?"":" d-none",u="";l.isCarousel?u=lt(n,l):l.blockType==="l"?u=at(n,l):u=ot(n,l);let h=t.createStageWrapper(u,c,l,a),g=t.createBlockFooter(l,a),b=`<div class="st${l.stageID}${p}" id="m${l.mBlockID}-st${l.stageID}">${h}${g}</div>`,w=r.querySelector(`#m${l.mBlockID}-st${l.stageID}-loading`);w&&w.remove(),r.insertAdjacentHTML("beforeend",b),r.style.minHeight="",t.bindEvents(r,l),tt(r)}}catch(s){console.error(s)}}}window.mBlocks=Ke;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mblox",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.3",
|
|
4
4
|
"description": "mBlox is a lightweight, dependency-free JavaScript library that enables dynamic, Elementor/Gutentor-like content blocks. It can fetch and display content from various sources like **Blogger**, **WordPress**, and any **RSS feed** (including YouTube) in a variety of customizable layouts.",
|
|
5
5
|
"main": "mBloxCall.js",
|
|
6
6
|
"unpkg": "dist/mBloxM3E.js",
|