nuxt-og-image 2.0.0-beta.7 → 2.0.0-beta.71
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/README.md +312 -97
- package/dist/client/200.html +2 -2
- package/dist/client/404.html +2 -2
- package/dist/client/_nuxt/IconCSS.0f60f096.js +1 -0
- package/dist/client/_nuxt/IconCSS.b41b9663.css +1 -0
- package/dist/client/_nuxt/ImageLoader.7571516f.css +1 -0
- package/dist/client/_nuxt/ImageLoader.87552e43.js +1 -0
- package/dist/client/_nuxt/entry.07d246ba.js +143 -0
- package/dist/client/_nuxt/entry.1311cc29.css +1 -0
- package/dist/client/_nuxt/{error-404.1ff52902.js → error-404.23b0054d.js} +1 -1
- package/dist/client/_nuxt/error-404.f3dd5020.css +1 -0
- package/dist/client/_nuxt/error-500.06915589.css +1 -0
- package/dist/client/_nuxt/{error-500.f7d30da5.js → error-500.6db75894.js} +1 -1
- package/dist/client/_nuxt/index.a32ee818.js +1 -0
- package/dist/client/_nuxt/index.ffbea0a9.css +1 -0
- package/dist/client/_nuxt/options.9bea558a.js +1 -0
- package/dist/client/_nuxt/png.d8e4cfeb.js +1 -0
- package/dist/client/_nuxt/{shiki.3a930bb8.js → shiki.aaf0d7e1.js} +1 -1
- package/dist/client/_nuxt/svg.43caac0d.js +1 -0
- package/dist/client/_nuxt/vnodes.574f3876.js +1 -0
- package/dist/client/index.html +2 -2
- package/dist/client/options/index.html +2 -2
- package/dist/client/png/index.html +2 -2
- package/dist/client/svg/index.html +2 -2
- package/dist/client/vnodes/index.html +2 -2
- package/dist/module.d.ts +101 -11
- package/dist/module.json +2 -2
- package/dist/module.mjs +394 -134
- package/dist/runtime/browserUtil.d.ts +1 -0
- package/dist/runtime/browserUtil.mjs +10 -5
- package/dist/runtime/components/{OgImageDynamic.d.ts → OgImage/Cached.d.ts} +2 -2
- package/dist/runtime/components/OgImage/Cached.mjs +10 -0
- package/dist/runtime/components/OgImage/Dynamic.d.ts +8 -0
- package/dist/runtime/components/{OgImageDynamic.mjs → OgImage/Dynamic.mjs} +3 -3
- package/dist/runtime/components/{OgImageScreenshot.d.ts → OgImage/Screenshot.d.ts} +2 -2
- package/dist/runtime/components/{OgImageScreenshot.mjs → OgImage/Screenshot.mjs} +2 -2
- package/dist/runtime/components/OgImage/Static.d.ts +8 -0
- package/dist/runtime/components/{OgImageStatic.mjs → OgImage/Static.mjs} +3 -3
- package/dist/runtime/components/{OgImageStatic.d.ts → OgImage/WithoutCache.d.ts} +2 -2
- package/dist/runtime/components/OgImage/WithoutCache.mjs +10 -0
- package/dist/runtime/components/OgImage/index.d.ts +5 -0
- package/dist/runtime/components/OgImage/index.mjs +10 -0
- package/dist/runtime/components/OgImageTemplate/Fallback.vue +170 -0
- package/dist/runtime/composables/defineOgImage.d.ts +12 -4
- package/dist/runtime/composables/defineOgImage.mjs +31 -49
- package/dist/runtime/composables/util.d.ts +2 -0
- package/dist/runtime/composables/util.mjs +26 -0
- package/dist/runtime/nitro/middleware/og.png.mjs +54 -8
- package/dist/runtime/nitro/middleware/playground.mjs +4 -3
- package/dist/runtime/nitro/plugins/prerender.d.ts +3 -0
- package/dist/runtime/nitro/plugins/prerender.mjs +28 -0
- package/dist/runtime/nitro/providers/browser/lambda.d.ts +1 -1
- package/dist/runtime/nitro/providers/browser/lambda.mjs +3 -3
- package/dist/runtime/nitro/providers/browser/{node.mjs → playwright.mjs} +0 -9
- package/dist/runtime/nitro/providers/browser/universal.d.ts +1 -0
- package/dist/runtime/nitro/providers/browser/universal.mjs +33 -0
- package/dist/runtime/nitro/providers/png/resvg-node.d.ts +4 -0
- package/dist/runtime/nitro/providers/png/resvg-node.mjs +6 -0
- package/dist/runtime/nitro/providers/png/resvg-wasm.d.ts +3 -0
- package/dist/runtime/nitro/providers/png/resvg-wasm.mjs +11 -0
- package/dist/runtime/nitro/providers/{svg2png/universal.d.ts → png/svg2png.d.ts} +2 -3
- package/dist/runtime/nitro/providers/png/svg2png.mjs +11 -0
- package/dist/runtime/nitro/providers/satori/{webworker.d.ts → yoga-wasm.d.ts} +2 -3
- package/dist/runtime/nitro/providers/satori/{webworker.mjs → yoga-wasm.mjs} +4 -5
- package/dist/runtime/nitro/renderers/browser.d.ts +2 -2
- package/dist/runtime/nitro/renderers/browser.mjs +14 -10
- package/dist/runtime/nitro/renderers/satori/index.d.ts +2 -2
- package/dist/runtime/nitro/renderers/satori/index.mjs +27 -32
- package/dist/runtime/nitro/renderers/satori/plugins/emojis.d.ts +1 -1
- package/dist/runtime/nitro/renderers/satori/plugins/emojis.mjs +19 -6
- package/dist/runtime/nitro/renderers/satori/plugins/encoding.d.ts +1 -1
- package/dist/runtime/nitro/renderers/satori/plugins/encoding.mjs +5 -7
- package/dist/runtime/nitro/renderers/satori/plugins/flex.d.ts +1 -1
- package/dist/runtime/nitro/renderers/satori/plugins/flex.mjs +8 -10
- package/dist/runtime/nitro/renderers/satori/plugins/imageSrc.d.ts +1 -1
- package/dist/runtime/nitro/renderers/satori/plugins/imageSrc.mjs +45 -13
- package/dist/runtime/nitro/renderers/satori/plugins/twClasses.d.ts +1 -1
- package/dist/runtime/nitro/renderers/satori/plugins/twClasses.mjs +5 -7
- package/dist/runtime/nitro/renderers/satori/utils.d.ts +4 -5
- package/dist/runtime/nitro/renderers/satori/utils.mjs +28 -17
- package/dist/runtime/nitro/routes/debug.d.ts +8 -0
- package/dist/runtime/nitro/routes/debug.mjs +14 -0
- package/dist/runtime/nitro/routes/font.mjs +2 -2
- package/dist/runtime/nitro/routes/html.mjs +102 -27
- package/dist/runtime/nitro/routes/options.d.ts +2 -2
- package/dist/runtime/nitro/routes/options.mjs +25 -22
- package/dist/runtime/nitro/routes/svg.mjs +5 -3
- package/dist/runtime/nitro/routes/vnode.mjs +5 -3
- package/dist/runtime/nitro/utils-pure.d.ts +2 -2
- package/dist/runtime/nitro/utils-pure.mjs +1 -4
- package/dist/runtime/nitro/utils.d.ts +11 -11
- package/dist/runtime/nitro/utils.mjs +69 -54
- package/dist/runtime/public-assets/__nuxt_og_image__/browser-provider-not-supported.png +0 -0
- package/dist/runtime/public-assets-optional/resvg/resvg.wasm +0 -0
- package/dist/types.d.ts +6 -0
- package/package.json +39 -27
- package/dist/client/_nuxt/IconCSS.a041aca0.js +0 -1
- package/dist/client/_nuxt/ImageLoader.9bf39d71.js +0 -1
- package/dist/client/_nuxt/entry.74018bda.js +0 -5
- package/dist/client/_nuxt/entry.7a8c1ab2.css +0 -1
- package/dist/client/_nuxt/error-404.1469f10f.css +0 -1
- package/dist/client/_nuxt/error-500.92b94fae.css +0 -1
- package/dist/client/_nuxt/error-component.cf7543e5.js +0 -3
- package/dist/client/_nuxt/index.3f356409.js +0 -1
- package/dist/client/_nuxt/options.56a3e5f9.js +0 -1
- package/dist/client/_nuxt/png.37f3e77b.js +0 -1
- package/dist/client/_nuxt/svg.186c6bd1.js +0 -1
- package/dist/client/_nuxt/vnodes.a799f183.js +0 -1
- package/dist/runtime/components/OgImageBasic.island.vue +0 -92
- package/dist/runtime/nitro/providers/svg2png/universal.mjs +0 -9
- /package/dist/runtime/nitro/providers/browser/{node.d.ts → playwright.d.ts} +0 -0
- /package/dist/runtime/nitro/providers/satori/{node.d.ts → default.d.ts} +0 -0
- /package/dist/runtime/nitro/providers/satori/{node.mjs → default.mjs} +0 -0
- /package/dist/runtime/{public-assets → public-assets-optional/inter-font}/inter-latin-ext-400-normal.woff +0 -0
- /package/dist/runtime/{public-assets → public-assets-optional/inter-font}/inter-latin-ext-700-normal.woff +0 -0
- /package/dist/runtime/{public-assets → public-assets-optional/svg2png}/svg2png.wasm +0 -0
- /package/dist/runtime/{public-assets → public-assets-optional/yoga}/yoga.wasm +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.spotlight[data-v-01f15790]{background:linear-gradient(45deg,#00dc82,#36e4da 50%,#0047e1);bottom:-30vh;filter:blur(20vh);height:40vh}.gradient-border[data-v-01f15790]{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:.5rem;position:relative}@media (prefers-color-scheme:light){.gradient-border[data-v-01f15790]{background-color:#ffffff4d}.gradient-border[data-v-01f15790]:before{background:linear-gradient(90deg,#e2e2e2,#e2e2e2 25%,#00dc82 50%,#36e4da 75%,#0047e1)}}@media (prefers-color-scheme:dark){.gradient-border[data-v-01f15790]{background-color:#1414144d}.gradient-border[data-v-01f15790]:before{background:linear-gradient(90deg,#303030,#303030 25%,#00dc82 50%,#36e4da 75%,#0047e1)}}.gradient-border[data-v-01f15790]:before{background-size:400% auto;border-radius:.5rem;content:"";inset:0;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.5;padding:2px;position:absolute;transition:background-position .3s ease-in-out,opacity .2s ease-in-out;width:100%}.gradient-border[data-v-01f15790]:hover:before{background-position:-50% 0;opacity:1}.bg-white[data-v-01f15790]{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.cursor-pointer[data-v-01f15790]{cursor:pointer}.flex[data-v-01f15790]{display:flex}.grid[data-v-01f15790]{display:grid}.place-content-center[data-v-01f15790]{place-content:center}.items-center[data-v-01f15790]{align-items:center}.justify-center[data-v-01f15790]{justify-content:center}.font-sans[data-v-01f15790]{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.font-medium[data-v-01f15790]{font-weight:500}.font-light[data-v-01f15790]{font-weight:300}.text-8xl[data-v-01f15790]{font-size:6rem;line-height:1}.text-xl[data-v-01f15790]{font-size:1.25rem;line-height:1.75rem}.leading-tight[data-v-01f15790]{line-height:1.25}.mb-8[data-v-01f15790]{margin-bottom:2rem}.mb-16[data-v-01f15790]{margin-bottom:4rem}.max-w-520px[data-v-01f15790]{max-width:520px}.min-h-screen[data-v-01f15790]{min-height:100vh}.overflow-hidden[data-v-01f15790]{overflow:hidden}.px-8[data-v-01f15790]{padding-left:2rem;padding-right:2rem}.py-2[data-v-01f15790]{padding-bottom:.5rem;padding-top:.5rem}.px-4[data-v-01f15790]{padding-left:1rem;padding-right:1rem}.fixed[data-v-01f15790]{position:fixed}.left-0[data-v-01f15790]{left:0}.right-0[data-v-01f15790]{right:0}.text-center[data-v-01f15790]{text-align:center}.text-black[data-v-01f15790]{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.antialiased[data-v-01f15790]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.w-full[data-v-01f15790]{width:100%}.z-10[data-v-01f15790]{z-index:10}.z-20[data-v-01f15790]{z-index:20}@media (min-width:640px){.sm\:text-4xl[data-v-01f15790]{font-size:2.25rem;line-height:2.5rem}.sm\:text-xl[data-v-01f15790]{font-size:1.25rem;line-height:1.75rem}.sm\:text-10xl[data-v-01f15790]{font-size:10rem;line-height:1}.sm\:px-0[data-v-01f15790]{padding-left:0;padding-right:0}.sm\:py-3[data-v-01f15790]{padding-bottom:.75rem;padding-top:.75rem}.sm\:px-6[data-v-01f15790]{padding-left:1.5rem;padding-right:1.5rem}}@media (prefers-color-scheme:dark){.dark\:bg-black[data-v-01f15790]{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.dark\:text-white[data-v-01f15790]{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.spotlight[data-v-8e50e92f]{background:linear-gradient(45deg,#00dc82,#36e4da 50%,#0047e1);filter:blur(20vh)}.bg-white[data-v-8e50e92f]{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.grid[data-v-8e50e92f]{display:grid}.place-content-center[data-v-8e50e92f]{place-content:center}.font-sans[data-v-8e50e92f]{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.font-medium[data-v-8e50e92f]{font-weight:500}.font-light[data-v-8e50e92f]{font-weight:300}.h-1\/2[data-v-8e50e92f]{height:50%}.text-8xl[data-v-8e50e92f]{font-size:6rem;line-height:1}.text-xl[data-v-8e50e92f]{font-size:1.25rem;line-height:1.75rem}.leading-tight[data-v-8e50e92f]{line-height:1.25}.mb-8[data-v-8e50e92f]{margin-bottom:2rem}.mb-16[data-v-8e50e92f]{margin-bottom:4rem}.max-w-520px[data-v-8e50e92f]{max-width:520px}.min-h-screen[data-v-8e50e92f]{min-height:100vh}.overflow-hidden[data-v-8e50e92f]{overflow:hidden}.px-8[data-v-8e50e92f]{padding-left:2rem;padding-right:2rem}.fixed[data-v-8e50e92f]{position:fixed}.left-0[data-v-8e50e92f]{left:0}.right-0[data-v-8e50e92f]{right:0}.-bottom-1\/2[data-v-8e50e92f]{bottom:-50%}.text-center[data-v-8e50e92f]{text-align:center}.text-black[data-v-8e50e92f]{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.antialiased[data-v-8e50e92f]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (min-width:640px){.sm\:text-4xl[data-v-8e50e92f]{font-size:2.25rem;line-height:2.5rem}.sm\:text-10xl[data-v-8e50e92f]{font-size:10rem;line-height:1}.sm\:px-0[data-v-8e50e92f]{padding-left:0;padding-right:0}}@media (prefers-color-scheme:dark){.dark\:bg-black[data-v-8e50e92f]{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.dark\:text-white[data-v-8e50e92f]{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{o as m,c as p,n as _,g as E,u as t,d as n,_ as o}from"./entry.74018bda.js";const f={__name:"nuxt-error-page",props:{error:Object},setup(r){(r.error.stack||"").split(`
|
|
2
|
-
`).splice(1).map(e=>({text:e.replace("webpack:/","").replace(".vue",".js").trim(),internal:e.includes("node_modules")&&!e.includes(".cache")||e.includes("internal")||e.includes("new Promise")})).map(e=>`<span class="stack${e.internal?" internal":""}">${e.text}</span>`).join(`
|
|
3
|
-
`);const s=Number(r.error.statusCode||500),a=s===404,c=r.error.statusMessage??(a?"Page Not Found":"Internal Server Error"),u=r.error.message||r.error.toString(),i=void 0,d=a?n(()=>o(()=>import("./error-404.1ff52902.js"),["./error-404.1ff52902.js","./entry.74018bda.js","./entry.7a8c1ab2.css","./error-404.1469f10f.css"],import.meta.url).then(e=>e.default||e)):n(()=>o(()=>import("./error-500.f7d30da5.js"),["./error-500.f7d30da5.js","./entry.74018bda.js","./entry.7a8c1ab2.css","./error-500.92b94fae.css"],import.meta.url).then(e=>e.default||e));return(e,l)=>(m(),p(t(d),_(E({statusCode:t(s),statusMessage:t(c),description:t(u),stack:t(i)})),null,16))}},v=f;export{v as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as x,r as u,k as y,l as S,m as $,w as p,p as R,q as k,f as C,s as H,o as v,h as g,t as B,i as D,j as M,v as W,x as b,u as i,y as z,z as A,A as F,B as I,C as L}from"./entry.74018bda.js";const N={class:"w-full mx-auto max-w-1200px h-full max-h-630px justify-center flex",style:{"max-height":"630px"}},T=x({__name:"IFrameLoader",props:{src:String,aspectRatio:Number,description:String},setup(l){const t=l,s=u(t.src),a=y(),c=u(),n=u(0),o=S(()=>{let e=c.value;e||(e=document.querySelector("#iframe-loader"));const r=Date.now();e.src="";const d=e.offsetHeight,f=e.offsetWidth,h=d>630?1:d/630,_=f>1200?1:f/1200,w=_>h?h:_;n.value=0,e.style.opacity="0",e.onload=()=>{e.style.opacity="1",n.value=Date.now()-r},e.src=`${s.value}&scale=${w}&mode=${a.value}`},200);$(()=>{p(()=>t.src,e=>{s.value=e,o()},{immediate:!0}),p([()=>R.value,a],()=>{o()})}),k({bodyAttrs:{onresize:()=>{o()}}});const m=C(()=>t.description.replace("%s",n.value.toString()));return p(m,e=>{H.value=e}),(e,r)=>(v(),g("div",N,[B("iframe",{id:"iframe-loader",ref_key:"iframe",ref:c,class:"max-h-full",style:D({aspectRatio:l.aspectRatio}),width:"1200",height:"630"},null,4)]))}}),j=M(T,[["__scopeId","data-v-85f41f36"]]),q={class:"flex h-full w-full"},E=x({__name:"index",async setup(l){let t,s;const a=([t,s]=W(()=>z.useServerConfig()),t=await t,s(),t),c=a.value?.height||630,o=(a.value?.width||1200)/c;return(m,e)=>{const r=j;return v(),g("div",q,[b(r,{src:`${i(A)}/api/og-image-html?path=${i(F)}×tamp=${i(I)}`,"aspect-ratio":o,description:"[HTML] Generated in %sms.",class:"max-h-full",onRefresh:i(L)},null,8,["src","onRefresh"])])}}});export{E as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as o,v as a,h as r,u as s,D as i,o as c}from"./entry.74018bda.js";import{h as p}from"./shiki.3a930bb8.js";const _=["innerHTML"],x=o({__name:"options",async setup(l){let t,e;const n=([t,e]=a(()=>i()),t=await t,e(),t);return(h,f)=>(c(),r("pre",{"of-auto":"","h-full":"","text-sm":"",style:{"white-space":"break-spaces"},innerHTML:s(p)(JSON.stringify(s(n),null,2),"json")},null,8,_))}});export{x as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as c}from"./ImageLoader.9bf39d71.js";import{a as _,v as i,c as p,u as a,y as m,o as u,E as g,B as h}from"./entry.74018bda.js";const B=_({__name:"png",async setup(f){let e,t;const s=([e,t]=i(()=>m.useServerConfig()),e=await e,t(),e),o=s.value?.height||630,n=(s.value?.width||1200)/o;return(d,v)=>{const r=c;return u(),p(r,{src:`${a(g)}/__og_image__/og.png?timestamp=${a(h)}`,"aspect-ratio":n,description:"[PNG] Generated in %sms using Satori & Resvg."},null,8,["src"])}}});export{B as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as c}from"./ImageLoader.9bf39d71.js";import{a as i,v as p,c as _,u as e,y as m,o as h,z as u,A as g,B as f}from"./entry.74018bda.js";const B=i({__name:"svg",async setup(d){let t,s;const a=([t,s]=p(()=>m.useServerConfig()),t=await t,s(),t),o=a.value?.height||630,n=(a.value?.width||1200)/o;return(v,w)=>{const r=c;return h(),_(r,{src:`${e(u)}/api/og-image-svg?path=${e(g)}×tamp=${e(f)}`,"aspect-ratio":n,description:"[SVG] Generated in %sms using Satori."},null,8,["src"])}}});export{B as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as o,v as a,h as r,u as s,F as c,o as i}from"./entry.74018bda.js";import{h as _}from"./shiki.3a930bb8.js";const l=["innerHTML"],d=o({__name:"vnodes",async setup(p){let e,t;const n=([e,t]=a(()=>c()),e=await e,t(),e);return(h,f)=>(i(),r("pre",{"of-auto":"","h-full":"","text-sm":"",style:{"white-space":"break-spaces"},innerHTML:s(_)(JSON.stringify(s(n),null,2),"json")},null,8,l))}});export{d as default};
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { computed } from 'vue'
|
|
3
|
-
|
|
4
|
-
const props = defineProps({
|
|
5
|
-
path: String,
|
|
6
|
-
title: {
|
|
7
|
-
type: String,
|
|
8
|
-
default: 'Og Image Template',
|
|
9
|
-
},
|
|
10
|
-
description: {
|
|
11
|
-
type: String,
|
|
12
|
-
default: 'Set a description to change me.',
|
|
13
|
-
},
|
|
14
|
-
background: {
|
|
15
|
-
type: String,
|
|
16
|
-
default: 'linear-gradient(to bottom, #dbf4ff, #fff1f1)',
|
|
17
|
-
},
|
|
18
|
-
color: {
|
|
19
|
-
type: String,
|
|
20
|
-
},
|
|
21
|
-
padding: {
|
|
22
|
-
type: String,
|
|
23
|
-
default: '0 100px',
|
|
24
|
-
},
|
|
25
|
-
titleFontSize: {
|
|
26
|
-
type: String,
|
|
27
|
-
default: '60px',
|
|
28
|
-
},
|
|
29
|
-
descriptionFontSize: {
|
|
30
|
-
type: String,
|
|
31
|
-
default: '26px',
|
|
32
|
-
},
|
|
33
|
-
})
|
|
34
|
-
|
|
35
|
-
const containerAttrs = computed(() => {
|
|
36
|
-
const isBackgroundTw = props.background?.startsWith('bg-')
|
|
37
|
-
const isColorTw = props.color?.startsWith('text-')
|
|
38
|
-
|
|
39
|
-
const classes = [
|
|
40
|
-
'w-full',
|
|
41
|
-
'h-full',
|
|
42
|
-
'flex',
|
|
43
|
-
'items-center',
|
|
44
|
-
'justify-center',
|
|
45
|
-
]
|
|
46
|
-
const styles: Record<string, any> = {
|
|
47
|
-
padding: props.padding,
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
if (isBackgroundTw)
|
|
51
|
-
classes.push(props.background)
|
|
52
|
-
else if (props.background)
|
|
53
|
-
styles.background = props.background
|
|
54
|
-
|
|
55
|
-
if (isColorTw)
|
|
56
|
-
classes.push(props.color)
|
|
57
|
-
else
|
|
58
|
-
styles.color = props.color
|
|
59
|
-
return { class: classes, style: styles }
|
|
60
|
-
})
|
|
61
|
-
|
|
62
|
-
const titleAttrs = computed(() => {
|
|
63
|
-
const classes = []
|
|
64
|
-
const styles = {
|
|
65
|
-
fontWeight: 'bold',
|
|
66
|
-
marginBottom: '20px',
|
|
67
|
-
fontSize: props.titleFontSize,
|
|
68
|
-
}
|
|
69
|
-
return { class: classes, style: styles }
|
|
70
|
-
})
|
|
71
|
-
|
|
72
|
-
const descriptionAttrs = computed(() => {
|
|
73
|
-
const classes = []
|
|
74
|
-
const styles = {
|
|
75
|
-
fontSize: props.descriptionFontSize,
|
|
76
|
-
}
|
|
77
|
-
return { class: classes, style: styles }
|
|
78
|
-
})
|
|
79
|
-
</script>
|
|
80
|
-
|
|
81
|
-
<template>
|
|
82
|
-
<div v-bind="containerAttrs">
|
|
83
|
-
<div class="flex flex-col w-full">
|
|
84
|
-
<div v-bind="titleAttrs">
|
|
85
|
-
{{ title || 'Null Title' }}
|
|
86
|
-
</div>
|
|
87
|
-
<div v-if="description" v-bind="descriptionAttrs">
|
|
88
|
-
{{ description }}
|
|
89
|
-
</div>
|
|
90
|
-
</div>
|
|
91
|
-
</div>
|
|
92
|
-
</template>
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { initialize, svg2png } from "svg2png-wasm";
|
|
2
|
-
import { wasmLoader } from "../../utils.mjs";
|
|
3
|
-
export default async function(svg, options) {
|
|
4
|
-
const loader = wasmLoader("/* NUXT_OG_IMAGE_SVG2PNG_WASM */", "/svg2png.wasm", options.baseUrl);
|
|
5
|
-
if (!await loader.loaded())
|
|
6
|
-
await initialize(await loader.load()).catch(() => {
|
|
7
|
-
});
|
|
8
|
-
return await svg2png(svg, options);
|
|
9
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|