UNPKG

@venuecms/sdk-next

Version:

This is a work in progress and is heavily in flux until we launch 1.0 in February.

8 lines (5 loc) 9.13 kB
"use client"; "use strict";var T=Object.create;var h=Object.defineProperty;var Z=Object.getOwnPropertyDescriptor;var Y=Object.getOwnPropertyNames;var G=Object.getPrototypeOf,K=Object.prototype.hasOwnProperty;var $=(e,r)=>{for(var A in r)h(e,A,{get:r[A],enumerable:!0})},w=(e,r,A,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of Y(r))!K.call(e,a)&&a!==A&&h(e,a,{get:()=>r[a],enumerable:!(t=Z(r,a))||t.enumerable});return e};var x=(e,r,A)=>(A=e!=null?T(G(e)):{},w(r||!e||!e.__esModule?h(A,"default",{value:e,enumerable:!0}):A,e)),_=e=>w(h({},"__esModule",{value:!0}),e);var oe={};$(oe,{EmbedResize:()=>y,VenueContent:()=>Ae,VenueContext:()=>J,VenueImage:()=>p,VenueProvider:()=>ae,useEmbedResize:()=>U});module.exports=_(oe);var P=x(require("next/image"));var v=x(require("next/image")),C=require("react/jsx-runtime"),b="data:image/webp;base64,UklGRv4DAABXRUJQVlA4WAoAAAAgAAAAgwEAkwAASUNDUMgBAAAAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADZWUDggEAIAANAdAJ0BKoQBlAA+tVilTqktq6Ij9mohsBaJaW7gAPxl327WrOr58lOBv3B2bV5tXZG3Cs6EfYIdF424VnQj3sc4AMwGX1tsW6mMzpnfFGE1GqNdd/F7s678DobD7FfMxZq6bbtOzeddTkEpR+67ecBjZeqt6WbksaOXRpgBgEOOz4uFCd7CmYlDgXL/btUenqYAvWU/dHQyD2WRrg4L8jdr+i+96BUwSEAuxzz/yZyIpjDAU3sa721c0j+AMO4HenRSOGLzlakWd611T6K5KqXs8Am4keQ1qQED9127pMUPWP9qY5XXO1FJSju/YBoKBjsg3KYTOZAA/vUMRConj2py6XdVy2rj5AFT3UUJuYDcedD9qv+/wNrkmRL5Q+Q/p3tAMxss1zgMyXdiAuRB3G81Lg7asSIQDcl2oLiGi/r9KhPwmr3o19NXEMyqHKAFFkajHBu1F7wU9laytcLsMPFdOTmAjafCJvui62qPOt3Uq0lfNJSWaGE20X7xAR/eg4w/RSRrRSqyst9YYCZexkg5Vu30Rxz3KySFBqy+xh9KAqRuzi1iU1DEeNRWTaXMfqO4JJnl+1ljW0Gynj147omoWIfGrzVBoiEMIAft8agFKSUudUje3Gsc4cSHkqqKLhR1ZGJgAeKbNPVn3RIvYRgVcCyiJLbwIwf9aK6q7hN2psdlEPjMdq4oNmLAqSwAAA==",ee=async({src:e,image:r={},fallback:A,placeholder:t,blurDataURL:a,...o})=>{let{altText:s}=r,i=r?.metadata??{},l=e?{img:{src:e},base64:b}:{img:{src:A?.src||b},base64:b},d={x:.5,y:.5};if(i?.focus){let m=(-i.focus.y+1)/2;if(m>.5){let c=m;d.y=c>1?1:c}else{let c=m;d.y=c<0?0:c}let u=(-i.focus.x+1)/2;if(u>.5){let c=u;d.x=c>1?1:c}else{let c=u;d.x=c<0?0:c}}return(0,C.jsx)(v.default,{alt:s??"image",src:l.img.src,fill:!0,placeholder:t??"blur",blurDataURL:a??l.base64,objectFit:"cover",objectPosition:`${d.x*100}% ${d.y*100}%`,...o})},R=ee;var S=require("clsx"),I=require("tailwind-merge");function W(...e){return(0,I.twMerge)((0,S.clsx)(e))}var E=e=>e?.url&&`/media/${encodeURIComponent(e.url)}`;var f=require("react/jsx-runtime"),te={square:"aspect-square",video:"aspect-video"},p=({className:e,image:r,aspect:A,props:t})=>{if(r){let a=E(r);if(a){let{metadata:o,altText:s}=r,{width:i,height:l}=o??{};return A?(0,f.jsx)(M,{aspect:A,children:(0,f.jsx)(R,{src:a,image:r,className:e,...t})}):(0,f.jsx)(P.default,{src:a,alt:s??"image",width:i??2048,height:l??2048,className:e,...t})}}return A?(0,f.jsx)(M,{aspect:A,children:(0,f.jsx)(R,{src:"",className:e,...t})}):null},M=({children:e,aspect:r})=>(0,f.jsx)("div",{className:"flex h-full w-full flex-col gap-1",children:(0,f.jsx)("div",{className:W("relative h-full w-full bg-cover bg-center",te[r]),children:e})});var F=require("react"),D=!1,re=e=>{let r=e.data;if(!r||typeof r!="object"||r.method!=="resize")return;let A=Number(r.height);if(!Number.isFinite(A)||A<=0)return;let t=document.querySelectorAll("iframe");for(let a of Array.from(t))if(a.contentWindow===e.source){a.style.height=`${Math.round(A)}px`;break}},U=()=>{(0,F.useEffect)(()=>{D||typeof window>"u"||(D=!0,window.addEventListener("message",re))},[])},y=()=>(U(),null);var j=x(require("markdown-to-jsx")),n=require("react/jsx-runtime"),V={bold:"font-bold",italic:"italic",underline:"underline",strike:"line-through",link:"underline underline-offset-[3px] cursor-pointer"},H=(e={})=>{let r={link:t=>{let{class:a,className:o,...s}=t,i=[o,e.a??V.link,a].filter(Boolean).join(" ")||void 0;return(0,n.jsx)("a",{...s,className:i})}};return{text:t=>{if(t.node.marks){let a=t.node.marks.reduce((i,l)=>r[l.type]?i:`${V[l.type]??""} ${i}`,"").trim(),o=!1,s=t.node.marks.reduce((i,l)=>{if(l.type in r){o=!0;let d=r[l.type];return d({...l.attrs,className:a,children:i})}return i},t.node.text);return o?s:(0,n.jsx)("span",{className:`${a}`,children:t.node.text})}return e.text&&(e.text,t.node.text),(0,n.jsx)(n.Fragment,{children:t.node.text})},paragraph:t=>(0,n.jsx)("p",{className:e.p,children:t.children}),bulletList:t=>(0,n.jsx)("ul",{className:e.ul,children:t.children}),orderedList:t=>(0,n.jsx)("ol",{className:e.ol,children:t.children}),listItem:t=>(0,n.jsx)("li",{className:e.li,children:t.children}),codeBlock:t=>(0,n.jsx)("pre",{children:(0,n.jsx)("code",{className:e.code,children:t.children})}),heading:t=>{switch(t.node.attrs?.level){case 1:return(0,n.jsx)("h1",{className:e.h1,children:t.children});case 2:return(0,n.jsx)("h2",{className:e.h2,children:t.children});case 3:return(0,n.jsx)("h3",{className:e.h3,children:t.children});default:return(0,n.jsx)(n.Fragment,{children:t.children})}},hardBreak:()=>(0,n.jsx)("br",{}),image:t=>{let{src:a,alt:o}=t.node.attrs??{},s={url:a.split(/^\/media\//).join(""),metadata:{altText:o}};return(0,n.jsx)(p,{className:e.image,image:s})},img:t=>{let{src:a,alt:o}=t.node,s={url:a.split(/^\/media\//).join(""),metadata:{altText:o}};return(0,n.jsx)(p,{className:e.img,image:s})},youtube:t=>{let{src:a,start:o}=t.node.attrs,s=a.split("v=")[1];return(0,n.jsx)("iframe",{src:`https://www.youtube.com/embed/${s}?modestbranding=1${o?`&amp;start=${o}`:""}`,frameBorder:"0",allowFullScreen:!0,width:"100%",height:"auto",style:{aspectRatio:"4 / 3",maxWidth:"100%"}})},iframe:t=>{let{src:a,style:o,frameborder:s,allowfullscreen:i,referrerpolicy:l,aspectRatio:d,...m}=t.node?.attrs??t,u=typeof o=="string"?o?.split(";").reduce((B,Q)=>{let[z,k]=Q.split(":");return k!==void 0?{...B,[z]:k.trim()}:B},{}):o;if(d)return(0,n.jsx)("iframe",{src:a,style:{...u,width:"100%",aspectRatio:String(d),height:"auto"},frameBorder:s,allowFullScreen:i,referrerPolicy:l,...m});let c=!!(a.match(/youtube.com/)||a.match(/vimeo.com/)),O=!!a.match(/bandcamp.com/),X=!!a.match(/vimeo.com/);return(0,n.jsx)("iframe",{src:a,style:{...u,...c?{maxWidth:"100%",aspectRatio:"4 / 3",height:"auto"}:{},...O&&!u?.height?{width:"100%",maxWidth:"700px",height:"42px"}:{},...X&&!u?.height?{width:"100%",aspectRatio:m.width/m.height}:{}},frameBorder:s,allowFullScreen:i,referrerPolicy:l,...m})},linkCard:t=>{let{href:a,title:o,description:s,site:i,image:l}=t.node?.attrs??t;return(0,n.jsxs)("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:e.linkCard??"my-4 block overflow-hidden bg-card no-underline transition-opacity hover:opacity-80",children:[l?(0,n.jsx)("img",{src:l,alt:o??"",className:"aspect-video w-full object-cover"}):null,(0,n.jsxs)("div",{className:"p-4",children:[o?(0,n.jsx)("h3",{className:"mb-2 text-base font-semibold text-primary",children:o}):null,i?(0,n.jsx)("span",{className:"text-xs text-secondary",children:i}):null,s?(0,n.jsx)("p",{className:"mt-2 text-sm text-secondary",children:s}):null]})]})}}},ne=(e={})=>{let r=H(e);return{...r,p:r.paragraph,ul:r.bulletList,ol:r.orderedList,li:r.listItem,code:r.codeBlock,h1:A=>r.heading({...A,node:{attrs:{level:1}}}),h2:A=>r.heading({...A,node:{attrs:{level:2}}}),h3:A=>r.heading({...A,node:{attrs:{level:3}}}),img:A=>r.image({...A,node:{attrs:{src:A.src,alt:A.alt}}}),hr:A=>(0,n.jsx)("hr",{...A}),a:A=>(0,n.jsx)("a",{href:A.href,className:e.a,children:A.children}),span:({children:A})=>(0,n.jsx)("span",{children:A})}},q=e=>{let{node:r,handlers:A={}}=e,t={...H(e.classes),...A},a=[];if(r.content&&r.content.forEach((s,i)=>{a.push((0,n.jsx)(q,{node:s,handlers:t},`${s.type}- ${i} `))}),!(r.type in t))return console.warn("missing type",r),(0,n.jsx)(n.Fragment,{});let o=t[r.type];return(0,n.jsx)(o,{node:r,children:a})},Ae=({content:e,contentStyles:r,className:A,components:t})=>{let{contentJSON:a}=e;return a?(0,n.jsxs)("div",{className:A,children:[(0,n.jsx)(y,{}),a.content.map((o,s)=>(0,n.jsx)(q,{classes:r,node:o,handlers:t},s))]}):e.content?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(y,{}),(0,n.jsx)(j.default,{className:A,options:{overrides:{...ne(r)}},children:e.content.replaceAll(/(?:\n|\r\n)\*\*\*(?:\n|\r\n)/g,` *** `)})]}):null};var N=require("@venuecms/sdk"),g=require("react"),L=require("react/jsx-runtime"),J=(0,g.createContext)(void 0),ae=({siteKey:e,children:r})=>{let[A,t]=(0,g.useState)();return(0,g.useEffect)(()=>{(0,N.setConfig)({siteKey:e,options:{baseUrl:"/"}}),(0,N.getSite)().then(({data:a})=>t(a))},[e]),(0,L.jsx)(J.Provider,{value:A,children:r})};0&&(module.exports={EmbedResize,VenueContent,VenueContext,VenueImage,VenueProvider,useEmbedResize}); //# sourceMappingURL=index.js.map