nuxt-og-image 4.0.3 → 4.1.1
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/content.d.ts +1 -0
- package/dist/client/200.html +8 -8
- package/dist/client/404.html +8 -8
- package/dist/client/_nuxt/{C-_Zqo7-.js → 4XBoJZZ4.js} +3 -3
- package/dist/client/_nuxt/{DB6BmnZb.js → B-MI_7-y.js} +1 -1
- package/dist/client/_nuxt/{BLDCaNbg.js → B2vK47Ag.js} +1 -1
- package/dist/client/_nuxt/{BEqZJfBF.js → BXWLJovA.js} +1 -1
- package/dist/client/_nuxt/builds/latest.json +1 -1
- package/dist/client/_nuxt/builds/meta/0b18fa5c-2b3e-4e01-b027-788d37db3ec5.json +1 -0
- package/dist/client/_nuxt/error-404.CeB15F3i.css +1 -0
- package/dist/client/_nuxt/error-500.kWwbyTjN.css +1 -0
- package/dist/client/index.html +8 -8
- package/dist/content.cjs +20 -0
- package/dist/content.d.cts +35 -0
- package/dist/content.d.mts +35 -0
- package/dist/content.d.ts +35 -0
- package/dist/content.mjs +17 -0
- package/dist/module.cjs +944 -4
- package/dist/module.d.cts +108 -0
- package/dist/module.d.mts +1 -1
- package/dist/module.d.ts +1 -1
- package/dist/module.json +1 -1
- package/dist/module.mjs +9 -3
- package/dist/runtime/types.d.ts +0 -1
- package/package.json +35 -37
- package/dist/client/_nuxt/builds/meta/1ef0ae85-3c8a-4505-a09a-e29f0083c0f4.json +0 -1
- package/dist/client/_nuxt/error-404.CnNYq3i9.css +0 -1
- package/dist/client/_nuxt/error-500.BlU6WHQT.css +0 -1
- /package/dist/runtime/server/plugins/{nuxt-content.d.ts → nuxt-content-v2.d.ts} +0 -0
- /package/dist/runtime/server/plugins/{nuxt-content.js → nuxt-content-v2.js} +0 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import * as _nuxt_schema from '@nuxt/schema';
|
|
2
|
+
import { AddComponentOptions } from '@nuxt/kit';
|
|
3
|
+
import { ResvgRenderOptions } from '@resvg/resvg-js';
|
|
4
|
+
import { SatoriOptions } from 'satori';
|
|
5
|
+
import { SharpOptions } from 'sharp';
|
|
6
|
+
import { OgImageOptions, InputFontConfig, CompatibilityFlagEnvOverrides, OgImageComponent } from '../dist/runtime/types.js';
|
|
7
|
+
|
|
8
|
+
interface ModuleOptions {
|
|
9
|
+
/**
|
|
10
|
+
* Whether the og:image images should be generated.
|
|
11
|
+
*
|
|
12
|
+
* @default true
|
|
13
|
+
*/
|
|
14
|
+
enabled: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Default data used within the payload to generate the OG Image.
|
|
17
|
+
*
|
|
18
|
+
* You can use this to change the default template, image sizing and more.
|
|
19
|
+
*
|
|
20
|
+
* @default { component: 'NuxtSeo', width: 1200, height: 630, cache: true, cacheTtl: 24 * 60 * 60 * 1000 }
|
|
21
|
+
*/
|
|
22
|
+
defaults: OgImageOptions;
|
|
23
|
+
/**
|
|
24
|
+
* Fonts to use when rendering the og:image.
|
|
25
|
+
*
|
|
26
|
+
* @example ['Roboto:400', 'Roboto:700', { path: 'path/to/font.ttf', weight: 400, name: 'MyFont' }]
|
|
27
|
+
*/
|
|
28
|
+
fonts: InputFontConfig[];
|
|
29
|
+
/**
|
|
30
|
+
* Options to pass to satori.
|
|
31
|
+
*
|
|
32
|
+
* @see https://github.com/vercel/satori/blob/main/src/satori.ts#L18
|
|
33
|
+
*/
|
|
34
|
+
satoriOptions?: Partial<SatoriOptions>;
|
|
35
|
+
/**
|
|
36
|
+
* Options to pass to resvg.
|
|
37
|
+
*
|
|
38
|
+
* @see https://github.com/yisibl/resvg-js/blob/main/wasm/index.d.ts#L39
|
|
39
|
+
*/
|
|
40
|
+
resvgOptions?: Partial<ResvgRenderOptions>;
|
|
41
|
+
/**
|
|
42
|
+
* Options to pass to sharp.
|
|
43
|
+
*
|
|
44
|
+
* @see https://sharp.pixelplumbing.com/api-constructor
|
|
45
|
+
*/
|
|
46
|
+
sharpOptions?: true | Partial<SharpOptions>;
|
|
47
|
+
/**
|
|
48
|
+
* Enables debug logs and a debug endpoint.
|
|
49
|
+
*
|
|
50
|
+
* @false false
|
|
51
|
+
*/
|
|
52
|
+
debug: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Options to pass to the <OgImage> and <OgImageScreenshot> component.
|
|
55
|
+
*/
|
|
56
|
+
componentOptions?: Pick<AddComponentOptions, 'global'>;
|
|
57
|
+
/**
|
|
58
|
+
* Modify the cache behavior.
|
|
59
|
+
*
|
|
60
|
+
* Passing a boolean will enable or disable the runtime cache with the default options.
|
|
61
|
+
*
|
|
62
|
+
* Providing a record will allow you to configure the runtime cache fully.
|
|
63
|
+
*
|
|
64
|
+
* @default true
|
|
65
|
+
* @see https://nitro.unjs.io/guide/storage#mountpoints
|
|
66
|
+
* @example { driver: 'redis', host: 'localhost', port: 6379, password: 'password' }
|
|
67
|
+
*/
|
|
68
|
+
runtimeCacheStorage: boolean | (Record<string, any> & {
|
|
69
|
+
driver: string;
|
|
70
|
+
});
|
|
71
|
+
/**
|
|
72
|
+
* Extra component directories that should be used to resolve components.
|
|
73
|
+
*
|
|
74
|
+
* @default ['OgImage', 'OgImageTemplate']
|
|
75
|
+
*/
|
|
76
|
+
componentDirs: string[];
|
|
77
|
+
/**
|
|
78
|
+
* Manually modify the compatibility.
|
|
79
|
+
*/
|
|
80
|
+
compatibility?: CompatibilityFlagEnvOverrides;
|
|
81
|
+
/**
|
|
82
|
+
* Use an alternative host for downloading Google Fonts. This is used to support China where Google Fonts is blocked.
|
|
83
|
+
*
|
|
84
|
+
* When `true` is set will use `fonts.font.im`, otherwise will use a string as the host.
|
|
85
|
+
*/
|
|
86
|
+
googleFontMirror?: true | string;
|
|
87
|
+
/**
|
|
88
|
+
* Only allow the prerendering and dev runtimes to generate images.
|
|
89
|
+
*/
|
|
90
|
+
zeroRuntime?: boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Enable when your nuxt/content files match your pages.
|
|
93
|
+
*
|
|
94
|
+
* This will automatically map the `ogImage` frontmatter key to the correct path.
|
|
95
|
+
*
|
|
96
|
+
* This is similar behavior to using `nuxt/content` with `documentDriven: true`.
|
|
97
|
+
*/
|
|
98
|
+
strictNuxtContentPaths?: boolean;
|
|
99
|
+
}
|
|
100
|
+
interface ModuleHooks {
|
|
101
|
+
'nuxt-og-image:components': (ctx: {
|
|
102
|
+
components: OgImageComponent[];
|
|
103
|
+
}) => Promise<void> | void;
|
|
104
|
+
'nuxt-og-image:runtime-config': (config: ModuleOptions) => Promise<void> | void;
|
|
105
|
+
}
|
|
106
|
+
declare const _default: _nuxt_schema.NuxtModule<ModuleOptions, ModuleOptions, false>;
|
|
107
|
+
|
|
108
|
+
export { type ModuleHooks, type ModuleOptions, _default as default };
|
package/dist/module.d.mts
CHANGED
|
@@ -95,7 +95,7 @@ interface ModuleOptions {
|
|
|
95
95
|
*
|
|
96
96
|
* This is similar behavior to using `nuxt/content` with `documentDriven: true`.
|
|
97
97
|
*/
|
|
98
|
-
strictNuxtContentPaths
|
|
98
|
+
strictNuxtContentPaths?: boolean;
|
|
99
99
|
}
|
|
100
100
|
interface ModuleHooks {
|
|
101
101
|
'nuxt-og-image:components': (ctx: {
|
package/dist/module.d.ts
CHANGED
|
@@ -95,7 +95,7 @@ interface ModuleOptions {
|
|
|
95
95
|
*
|
|
96
96
|
* This is similar behavior to using `nuxt/content` with `documentDriven: true`.
|
|
97
97
|
*/
|
|
98
|
-
strictNuxtContentPaths
|
|
98
|
+
strictNuxtContentPaths?: boolean;
|
|
99
99
|
}
|
|
100
100
|
interface ModuleHooks {
|
|
101
101
|
'nuxt-og-image:components': (ctx: {
|
package/dist/module.json
CHANGED
package/dist/module.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as fs from 'node:fs';
|
|
2
2
|
import { existsSync } from 'node:fs';
|
|
3
3
|
import { readFile, writeFile } from 'node:fs/promises';
|
|
4
|
-
import { useNuxt, tryResolveModule, addTemplate, resolvePath, loadNuxtModuleInstance, createResolver, defineNuxtModule, addImports, addBuildPlugin, hasNuxtModule, addServerPlugin, addServerHandler, addComponentsDir, addComponent, addPlugin } from '@nuxt/kit';
|
|
4
|
+
import { useNuxt, tryResolveModule, addTemplate, resolvePath, loadNuxtModuleInstance, createResolver, defineNuxtModule, addImports, addBuildPlugin, hasNuxtModule, hasNuxtModuleCompatibility, addServerPlugin, addServerHandler, addComponentsDir, addComponent, addPlugin } from '@nuxt/kit';
|
|
5
5
|
import { defu } from 'defu';
|
|
6
6
|
import { installNuxtSiteConfig } from 'nuxt-site-config/kit';
|
|
7
7
|
import { hash } from 'ohash';
|
|
@@ -650,7 +650,14 @@ const module = defineNuxtModule({
|
|
|
650
650
|
}
|
|
651
651
|
});
|
|
652
652
|
await installNuxtSiteConfig();
|
|
653
|
-
|
|
653
|
+
const usingNuxtContent = hasNuxtModule("@nuxt/content");
|
|
654
|
+
const isNuxtContentV3 = usingNuxtContent && await hasNuxtModuleCompatibility("@nuxt/content", "^3");
|
|
655
|
+
const isNuxtContentV2 = usingNuxtContent && await hasNuxtModuleCompatibility("@nuxt/content", "^2");
|
|
656
|
+
if (isNuxtContentV3) {
|
|
657
|
+
if (typeof config.strictNuxtContentPaths !== "undefined") {
|
|
658
|
+
logger.warn("The `strictNuxtContentPaths` option is deprecated and has no effect in Nuxt Content v3.");
|
|
659
|
+
}
|
|
660
|
+
} else if (isNuxtContentV2) {
|
|
654
661
|
addServerPlugin(resolve("./runtime/server/plugins/nuxt-content"));
|
|
655
662
|
}
|
|
656
663
|
if (!config.fonts.length) {
|
|
@@ -894,7 +901,6 @@ declare module '#og-image/unocss-config' {
|
|
|
894
901
|
fonts: normalisedFonts,
|
|
895
902
|
hasNuxtIcon: hasNuxtModule("nuxt-icon") || hasNuxtModule("@nuxt/icon"),
|
|
896
903
|
colorPreference,
|
|
897
|
-
hasNuxtContent: hasNuxtModule("@nuxt/content"),
|
|
898
904
|
strictNuxtContentPaths: config.strictNuxtContentPaths,
|
|
899
905
|
// @ts-expect-error runtime type
|
|
900
906
|
isNuxtContentDocumentDriven: config.strictNuxtContentPaths || !!nuxt.options.content?.documentDriven
|
package/dist/runtime/types.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nuxt-og-image",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "4.
|
|
4
|
+
"version": "4.1.1",
|
|
5
5
|
"description": "Enlightened OG Image generation for Nuxt.",
|
|
6
6
|
"author": {
|
|
7
7
|
"website": "https://harlanzw.com",
|
|
@@ -23,24 +23,37 @@
|
|
|
23
23
|
"types": "./dist/module.d.ts",
|
|
24
24
|
"import": "./dist/module.mjs",
|
|
25
25
|
"require": "./dist/module.cjs"
|
|
26
|
+
},
|
|
27
|
+
"./content": {
|
|
28
|
+
"types": "./dist/content.d.ts",
|
|
29
|
+
"import": "./dist/content.mjs",
|
|
30
|
+
"require": "./dist/content.cjs"
|
|
26
31
|
}
|
|
27
32
|
},
|
|
28
33
|
"main": "./dist/module.cjs",
|
|
29
34
|
"types": "./dist/module.d.ts",
|
|
30
35
|
"files": [
|
|
31
36
|
"dist",
|
|
32
|
-
"virtual.d.ts"
|
|
37
|
+
"virtual.d.ts",
|
|
38
|
+
"content.d.ts"
|
|
33
39
|
],
|
|
34
40
|
"engines": {
|
|
35
41
|
"node": ">=18.0.0"
|
|
36
42
|
},
|
|
43
|
+
"typesVersions": {
|
|
44
|
+
"*": {
|
|
45
|
+
"content": [
|
|
46
|
+
"dist/content"
|
|
47
|
+
]
|
|
48
|
+
}
|
|
49
|
+
},
|
|
37
50
|
"dependencies": {
|
|
38
|
-
"@nuxt/devtools-kit": "
|
|
39
|
-
"@nuxt/kit": "^3.15.
|
|
51
|
+
"@nuxt/devtools-kit": "2.0.0-beta.3",
|
|
52
|
+
"@nuxt/kit": "^3.15.2",
|
|
40
53
|
"@resvg/resvg-js": "^2.6.2",
|
|
41
54
|
"@resvg/resvg-wasm": "^2.6.2",
|
|
42
|
-
"@unocss/core": "^65.4.
|
|
43
|
-
"@unocss/preset-wind": "^65.4.
|
|
55
|
+
"@unocss/core": "^65.4.2",
|
|
56
|
+
"@unocss/preset-wind": "^65.4.2",
|
|
44
57
|
"chrome-launcher": "^1.1.2",
|
|
45
58
|
"consola": "^3.4.0",
|
|
46
59
|
"defu": "^6.1.4",
|
|
@@ -51,15 +64,15 @@
|
|
|
51
64
|
"nypm": "^0.4.1",
|
|
52
65
|
"ofetch": "^1.4.1",
|
|
53
66
|
"ohash": "^1.1.4",
|
|
54
|
-
"pathe": "^2.0.
|
|
55
|
-
"pkg-types": "^1.3.
|
|
67
|
+
"pathe": "^2.0.2",
|
|
68
|
+
"pkg-types": "^1.3.1",
|
|
56
69
|
"playwright-core": "^1.49.1",
|
|
57
70
|
"radix3": "^1.1.2",
|
|
58
71
|
"satori": "^0.12.1",
|
|
59
72
|
"satori-html": "^0.3.2",
|
|
60
73
|
"sirv": "^3.0.0",
|
|
61
74
|
"std-env": "^3.8.0",
|
|
62
|
-
"strip-literal": "^
|
|
75
|
+
"strip-literal": "^3.0.0",
|
|
63
76
|
"ufo": "^1.5.4",
|
|
64
77
|
"unplugin": "^2.1.2",
|
|
65
78
|
"unwasm": "^0.3.9",
|
|
@@ -75,52 +88,37 @@
|
|
|
75
88
|
"@iconify-json/ri": "^1.2.5",
|
|
76
89
|
"@iconify-json/tabler": "^1.2.14",
|
|
77
90
|
"@img/sharp-linux-x64": "0.33.5",
|
|
78
|
-
"@nuxt/content": "^
|
|
79
|
-
"@nuxt/devtools": "
|
|
80
|
-
"@nuxt/devtools-ui-kit": "
|
|
91
|
+
"@nuxt/content": "^3.0.0",
|
|
92
|
+
"@nuxt/devtools": "2.0.0-beta.3",
|
|
93
|
+
"@nuxt/devtools-ui-kit": "2.0.0-beta.3",
|
|
81
94
|
"@nuxt/icon": "^1.10.3",
|
|
82
95
|
"@nuxt/image": "^1.9.0",
|
|
83
96
|
"@nuxt/module-builder": "^0.8.4",
|
|
84
97
|
"@nuxt/test-utils": "3.15.4",
|
|
85
|
-
"@nuxt/ui": "^2.
|
|
98
|
+
"@nuxt/ui": "^2.21.0",
|
|
86
99
|
"@nuxtjs/color-mode": "^3.5.2",
|
|
87
100
|
"@nuxtjs/eslint-config-typescript": "^12.1.0",
|
|
88
101
|
"@nuxtjs/i18n": "^9.1.1",
|
|
89
|
-
"@nuxtjs/tailwindcss": "^6.13.
|
|
90
|
-
"@unocss/nuxt": "^65.4.
|
|
91
|
-
"@unocss/preset-icons": "^65.4.
|
|
92
|
-
"@unocss/preset-uno": "^65.4.
|
|
93
|
-
"@unocss/runtime": "^65.4.
|
|
102
|
+
"@nuxtjs/tailwindcss": "^6.13.1",
|
|
103
|
+
"@unocss/nuxt": "^65.4.2",
|
|
104
|
+
"@unocss/preset-icons": "^65.4.2",
|
|
105
|
+
"@unocss/preset-uno": "^65.4.2",
|
|
106
|
+
"@unocss/runtime": "^65.4.2",
|
|
94
107
|
"@vueuse/nuxt": "^12.4.0",
|
|
95
|
-
"bumpp": "^9.10.
|
|
108
|
+
"bumpp": "^9.10.1",
|
|
96
109
|
"eslint": "9.18.0",
|
|
97
110
|
"jest-image-snapshot": "^6.4.0",
|
|
98
|
-
"nuxt": "^3.15.
|
|
111
|
+
"nuxt": "^3.15.2",
|
|
99
112
|
"playwright": "^1.49.1",
|
|
100
|
-
"sass": "^1.83.
|
|
113
|
+
"sass": "^1.83.4",
|
|
101
114
|
"sharp": "^0.33.5",
|
|
102
115
|
"typescript": "5.6.3",
|
|
103
|
-
"unocss": "^65.4.
|
|
116
|
+
"unocss": "^65.4.2",
|
|
104
117
|
"vitest": "^2.1.8"
|
|
105
118
|
},
|
|
106
119
|
"resolutions": {
|
|
107
120
|
"typescript": "5.6.3"
|
|
108
121
|
},
|
|
109
|
-
"build": {
|
|
110
|
-
"externals": [
|
|
111
|
-
"nuxt",
|
|
112
|
-
"#app",
|
|
113
|
-
"nuxt/app",
|
|
114
|
-
"h3",
|
|
115
|
-
"nitropack",
|
|
116
|
-
"@vue/runtime-core",
|
|
117
|
-
"#og-image/components",
|
|
118
|
-
"sharp",
|
|
119
|
-
"unstorage",
|
|
120
|
-
"unstorage/drivers/fs",
|
|
121
|
-
"consola/utils"
|
|
122
|
-
]
|
|
123
|
-
},
|
|
124
122
|
"scripts": {
|
|
125
123
|
"stub": "nuxt-build-module build --stub && nuxt-module-build prepare",
|
|
126
124
|
"build": "pnpm stub && nuxt-module-build build && pnpm run build:client",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"id":"1ef0ae85-3c8a-4505-a09a-e29f0083c0f4","timestamp":1736829719867,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.spotlight[data-v-ac6d9968]{background:linear-gradient(45deg,#00dc82,#36e4da 50%,#0047e1);bottom:-30vh;filter:blur(20vh);height:40vh}.gradient-border[data-v-ac6d9968]{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:.5rem;position:relative}@media (prefers-color-scheme:light){.gradient-border[data-v-ac6d9968]{background-color:#ffffff4d}.gradient-border[data-v-ac6d9968]:before{background:linear-gradient(90deg,#e2e2e2,#e2e2e2 25%,#00dc82,#36e4da 75%,#0047e1)}}@media (prefers-color-scheme:dark){.gradient-border[data-v-ac6d9968]{background-color:#1414144d}.gradient-border[data-v-ac6d9968]:before{background:linear-gradient(90deg,#303030,#303030 25%,#00dc82,#36e4da 75%,#0047e1)}}.gradient-border[data-v-ac6d9968]:before{background-size:400% auto;border-radius:.5rem;bottom:0;content:"";left: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;right:0;top:0;transition:background-position .3s ease-in-out,opacity .2s ease-in-out;width:100%}.gradient-border[data-v-ac6d9968]:hover:before{background-position:-50% 0;opacity:1}.fixed[data-v-ac6d9968]{position:fixed}.left-0[data-v-ac6d9968]{left:0}.right-0[data-v-ac6d9968]{right:0}.z-10[data-v-ac6d9968]{z-index:10}.z-20[data-v-ac6d9968]{z-index:20}.grid[data-v-ac6d9968]{display:grid}.mb-16[data-v-ac6d9968]{margin-bottom:4rem}.mb-8[data-v-ac6d9968]{margin-bottom:2rem}.max-w-520px[data-v-ac6d9968]{max-width:520px}.min-h-screen[data-v-ac6d9968]{min-height:100vh}.w-full[data-v-ac6d9968]{width:100%}.flex[data-v-ac6d9968]{display:flex}.cursor-pointer[data-v-ac6d9968]{cursor:pointer}.place-content-center[data-v-ac6d9968]{place-content:center}.items-center[data-v-ac6d9968]{align-items:center}.justify-center[data-v-ac6d9968]{justify-content:center}.overflow-hidden[data-v-ac6d9968]{overflow:hidden}.bg-white[data-v-ac6d9968]{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.px-4[data-v-ac6d9968]{padding-left:1rem;padding-right:1rem}.px-8[data-v-ac6d9968]{padding-left:2rem;padding-right:2rem}.py-2[data-v-ac6d9968]{padding-bottom:.5rem;padding-top:.5rem}.text-center[data-v-ac6d9968]{text-align:center}.text-8xl[data-v-ac6d9968]{font-size:6rem;line-height:1}.text-xl[data-v-ac6d9968]{font-size:1.25rem;line-height:1.75rem}.text-black[data-v-ac6d9968]{--un-text-opacity:1;color:rgb(0 0 0/var(--un-text-opacity))}.font-light[data-v-ac6d9968]{font-weight:300}.font-medium[data-v-ac6d9968]{font-weight:500}.leading-tight[data-v-ac6d9968]{line-height:1.25}.font-sans[data-v-ac6d9968]{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}.antialiased[data-v-ac6d9968]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){.dark\:bg-black[data-v-ac6d9968]{--un-bg-opacity:1;background-color:rgb(0 0 0/var(--un-bg-opacity))}.dark\:text-white[data-v-ac6d9968]{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}@media (min-width:640px){.sm\:px-0[data-v-ac6d9968]{padding-left:0;padding-right:0}.sm\:px-6[data-v-ac6d9968]{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-3[data-v-ac6d9968]{padding-bottom:.75rem;padding-top:.75rem}.sm\:text-4xl[data-v-ac6d9968]{font-size:2.25rem;line-height:2.5rem}.sm\:text-xl[data-v-ac6d9968]{font-size:1.25rem;line-height:1.75rem}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.spotlight[data-v-2bc02a3b]{background:linear-gradient(45deg,#00dc82,#36e4da 50%,#0047e1);filter:blur(20vh)}.fixed[data-v-2bc02a3b]{position:fixed}.-bottom-1\/2[data-v-2bc02a3b]{bottom:-50%}.left-0[data-v-2bc02a3b]{left:0}.right-0[data-v-2bc02a3b]{right:0}.grid[data-v-2bc02a3b]{display:grid}.mb-16[data-v-2bc02a3b]{margin-bottom:4rem}.mb-8[data-v-2bc02a3b]{margin-bottom:2rem}.h-1\/2[data-v-2bc02a3b]{height:50%}.max-w-520px[data-v-2bc02a3b]{max-width:520px}.min-h-screen[data-v-2bc02a3b]{min-height:100vh}.place-content-center[data-v-2bc02a3b]{place-content:center}.overflow-hidden[data-v-2bc02a3b]{overflow:hidden}.bg-white[data-v-2bc02a3b]{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.px-8[data-v-2bc02a3b]{padding-left:2rem;padding-right:2rem}.text-center[data-v-2bc02a3b]{text-align:center}.text-8xl[data-v-2bc02a3b]{font-size:6rem;line-height:1}.text-xl[data-v-2bc02a3b]{font-size:1.25rem;line-height:1.75rem}.text-black[data-v-2bc02a3b]{--un-text-opacity:1;color:rgb(0 0 0/var(--un-text-opacity))}.font-light[data-v-2bc02a3b]{font-weight:300}.font-medium[data-v-2bc02a3b]{font-weight:500}.leading-tight[data-v-2bc02a3b]{line-height:1.25}.font-sans[data-v-2bc02a3b]{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}.antialiased[data-v-2bc02a3b]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){.dark\:bg-black[data-v-2bc02a3b]{--un-bg-opacity:1;background-color:rgb(0 0 0/var(--un-bg-opacity))}.dark\:text-white[data-v-2bc02a3b]{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}@media (min-width:640px){.sm\:px-0[data-v-2bc02a3b]{padding-left:0;padding-right:0}.sm\:text-4xl[data-v-2bc02a3b]{font-size:2.25rem;line-height:2.5rem}}
|
|
File without changes
|
|
File without changes
|