vocs 2.0.0-rc.3 → 2.0.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/dist/react/Callout.d.ts.map +1 -1
- package/dist/react/Callout.js +3 -2
- package/dist/react/Callout.js.map +1 -1
- package/dist/react/Head.js +1 -1
- package/dist/react/Head.js.map +1 -1
- package/dist/react/Root.client.d.ts.map +1 -1
- package/dist/react/Root.client.js +6 -2
- package/dist/react/Root.client.js.map +1 -1
- package/dist/react/Root.d.ts.map +1 -1
- package/dist/react/Root.js +3 -1
- package/dist/react/Root.js.map +1 -1
- package/dist/react/internal/ThemeToggle.client.d.ts.map +1 -1
- package/dist/react/internal/ThemeToggle.client.js +3 -1
- package/dist/react/internal/ThemeToggle.client.js.map +1 -1
- package/dist/styles/index.css +13 -0
- package/dist/waku/internal/routes/_api/api/og.d.ts.map +1 -1
- package/dist/waku/internal/routes/_api/api/og.js +54 -29
- package/dist/waku/internal/routes/_api/api/og.js.map +1 -1
- package/package.json +2 -2
- package/src/react/Callout.tsx +11 -2
- package/src/react/Head.tsx +1 -1
- package/src/react/Root.client.tsx +7 -3
- package/src/react/Root.tsx +3 -0
- package/src/react/internal/ThemeToggle.client.tsx +3 -1
- package/src/styles/index.css +13 -0
- package/src/waku/internal/routes/_api/api/og.tsx +112 -40
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Callout.d.ts","sourceRoot":"","sources":["../../src/react/Callout.tsx"],"names":[],"mappings":"AAKA,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"Callout.d.ts","sourceRoot":"","sources":["../../src/react/Callout.tsx"],"names":[],"mappings":"AAKA,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,2CAwB3C;AAED,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,KAAY,KAAK,GAAG,KAAK,CAAC,iBAAiB,CAAC;QAC1C,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAA;KACpE,CAAC,CAAA;CACH"}
|
package/dist/react/Callout.js
CHANGED
|
@@ -4,7 +4,8 @@ import LucideInfo from '~icons/lucide/info';
|
|
|
4
4
|
import LucideLightbulb from '~icons/lucide/lightbulb';
|
|
5
5
|
import LucideTriangleAlert from '~icons/lucide/triangle-alert';
|
|
6
6
|
export function Callout(props) {
|
|
7
|
-
const { variant, ...rest } = props;
|
|
8
|
-
|
|
7
|
+
const { children, variant, ...rest } = props;
|
|
8
|
+
const content = typeof children === 'string' || typeof children === 'number' ? (_jsx("div", { "data-v-callout-content": true, "data-v-content": true, children: children })) : (children);
|
|
9
|
+
return (_jsxs("aside", { ...rest, "data-v": true, "data-v-callout": true, "data-v-content": true, "data-v-context": variant, children: [_jsxs("div", { "data-v-callout-icon": true, children: [props.variant === 'note' ? _jsx(LucideInfo, {}) : null, props.variant === 'info' ? _jsx(LucideInfo, {}) : null, props.variant === 'warning' ? _jsx(LucideTriangleAlert, {}) : null, props.variant === 'danger' ? _jsx(LucideTriangleAlert, {}) : null, props.variant === 'tip' ? _jsx(LucideLightbulb, {}) : null, props.variant === 'success' ? _jsx(LucideCircleCheck, {}) : null] }), content] }));
|
|
9
10
|
}
|
|
10
11
|
//# sourceMappingURL=Callout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Callout.js","sourceRoot":"","sources":["../../src/react/Callout.tsx"],"names":[],"mappings":";AAAA,OAAO,iBAAiB,MAAM,4BAA4B,CAAA;AAC1D,OAAO,UAAU,MAAM,oBAAoB,CAAA;AAC3C,OAAO,eAAe,MAAM,yBAAyB,CAAA;AACrD,OAAO,mBAAmB,MAAM,8BAA8B,CAAA;AAE9D,MAAM,UAAU,OAAO,CAAC,KAAoB;IAC1C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"Callout.js","sourceRoot":"","sources":["../../src/react/Callout.tsx"],"names":[],"mappings":";AAAA,OAAO,iBAAiB,MAAM,4BAA4B,CAAA;AAC1D,OAAO,UAAU,MAAM,oBAAoB,CAAA;AAC3C,OAAO,eAAe,MAAM,yBAAyB,CAAA;AACrD,OAAO,mBAAmB,MAAM,8BAA8B,CAAA;AAE9D,MAAM,UAAU,OAAO,CAAC,KAAoB;IAC1C,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;IAC5C,MAAM,OAAO,GACX,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAC7D,gFACG,QAAQ,GACL,CACP,CAAC,CAAC,CAAC,CACF,QAAQ,CACT,CAAA;IAEH,OAAO,CACL,oBAAW,IAAI,oFAAuD,OAAO,aAC3E,uDACG,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,KAAC,UAAU,KAAG,CAAC,CAAC,CAAC,IAAI,EAChD,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,KAAC,UAAU,KAAG,CAAC,CAAC,CAAC,IAAI,EAChD,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAC,mBAAmB,KAAG,CAAC,CAAC,CAAC,IAAI,EAC5D,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAC,mBAAmB,KAAG,CAAC,CAAC,CAAC,IAAI,EAC3D,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,KAAC,eAAe,KAAG,CAAC,CAAC,CAAC,IAAI,EACpD,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAC,iBAAiB,KAAG,CAAC,CAAC,CAAC,IAAI,IACvD,EACL,OAAO,IACF,CACT,CAAA;AACH,CAAC"}
|
package/dist/react/Head.js
CHANGED
|
@@ -33,7 +33,7 @@ export function Head() {
|
|
|
33
33
|
return (_jsxs(_Fragment, { children: [!staticScheme && (_jsx("script", {
|
|
34
34
|
// biome-ignore lint/security/noDangerouslySetInnerHtml: blocking script to prevent FOUC
|
|
35
35
|
dangerouslySetInnerHTML: {
|
|
36
|
-
__html: `(function(){try{var t=localStorage.getItem('vocs-theme');if(t==='light'||t==='dark'){
|
|
36
|
+
__html: `(function(){try{var e=document.documentElement;var s=function(t){e.setAttribute('data-vocs-theme',t);e.style.colorScheme=t};var t=localStorage.getItem('vocs-theme');if(t==='light'||t==='dark'){s(t)}else if(window.matchMedia('(prefers-color-scheme:dark)').matches){s('dark')}else if(window.matchMedia('(prefers-color-scheme:light)').matches){s('light')}else{s('dark')}}catch(e){}})()`,
|
|
37
37
|
} })), _jsx("meta", { name: "color-scheme", content: colorScheme }), _jsx("meta", { name: "robots", content: frontmatter?.robots ?? (import.meta.env.PROD ? 'index, follow' : 'noindex, nofollow') }), fullTitle && _jsx("title", { children: fullTitle }, "title"), description && _jsx("meta", { name: "description", content: description }), baseUrl && _jsx("base", { href: baseUrl }), canonicalUrl && _jsx("link", { rel: "canonical", href: canonicalUrl }), iconUrl && typeof iconUrl === 'string' && (_jsx("link", { rel: "icon", href: iconUrl, type: getIconType(iconUrl) })), iconUrl && typeof iconUrl !== 'string' && (_jsx("link", { rel: "icon", href: iconUrl.light, type: getIconType(iconUrl.light) })), iconUrl && typeof iconUrl !== 'string' && (_jsx("link", { rel: "icon", href: iconUrl.dark, type: getIconType(iconUrl.dark), media: "(prefers-color-scheme: dark)" })), frontmatter?.author && _jsx("meta", { name: "author", content: frontmatter.author }), _jsx("meta", { property: "og:type", content: "website" }), title && _jsx("meta", { property: "og:title", content: title }), config.title && _jsx("meta", { property: "og:site_name", content: config.title }), baseUrl && _jsx("meta", { property: "og:url", content: canonicalUrl ?? baseUrl }), description && _jsx("meta", { property: "og:description", content: description }), ogImage && _jsx("meta", { property: "og:image", content: ogImage }), frontmatter?.author && _jsx("meta", { property: "article:author", content: frontmatter.author }), frontmatter?.lastModified && (_jsx("meta", { property: "article:modified_time", content: frontmatter.lastModified })), _jsx("meta", { name: "twitter:card", content: "summary_large_image" }), title && _jsx("meta", { name: "twitter:title", content: title }), description && _jsx("meta", { name: "twitter:description", content: description }), ogImage && _jsx("meta", { property: "twitter:image", content: ogImage })] }));
|
|
38
38
|
}
|
|
39
39
|
function getIconType(iconUrl) {
|
package/dist/react/Head.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Head.js","sourceRoot":"","sources":["../../src/react/Head.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAChC,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,UAAU,IAAI;IAClB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAA;IACtC,MAAM,EAAE,WAAW,EAAE,GAAG,cAAc,CAAC,GAAG,EAAE,CAAA;IAE5C,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,MAAM,CAAA;IAE/F,MAAM,YAAY,GAAG,WAAW,KAAK,YAAY,CAAA;IAEjD,MAAM,KAAK,GAAG,WAAW,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK,CAAA;IAChD,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAA;IACrF,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAE5E,MAAM,WAAW,GAAG,WAAW,EAAE,WAAW,IAAI,MAAM,CAAC,WAAW,CAAA;IAElE,MAAM,YAAY,GAAG,QAAQ,IAAI,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAA;IACvF,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IAEtE,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE;QAC5B,IAAI,OAAO,UAAU,KAAK,UAAU;YAAE,OAAO,UAAU,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;QAC9E,IAAI,OAAO,UAAU,KAAK,QAAQ;YAAE,OAAO,UAAU,CAAA;QACrD,IAAI,cAAc,KAAK,aAAa;YAAE,OAAO,SAAS,CAAA;QACtD,OAAO,GAAG,OAAO,IAAI,EAAE,+CAA+C,CAAA;IACxE,CAAC,CAAC,EAAE,CAAA;IAEJ,MAAM,OAAO,GAAG,eAAe;QAC7B,CAAC,CAAC,eAAe;aACZ,OAAO,CACN,OAAO,EACP,GAAG,OAAO,IAAI,EAAE,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,EAAE,CACnF;aACA,OAAO,CAAC,QAAQ,EAAE,kBAAkB,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;aAClD,OAAO,CAAC,cAAc,EAAE,kBAAkB,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,SAAS,CAAA;IAEb,OAAO,CACL,8BAEG,CAAC,YAAY,IAAI,CAChB;gBACE,wFAAwF;gBACxF,uBAAuB,EAAE;oBACvB,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"Head.js","sourceRoot":"","sources":["../../src/react/Head.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Root.client.d.ts","sourceRoot":"","sources":["../../src/react/Root.client.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Root.client.d.ts","sourceRoot":"","sources":["../../src/react/Root.client.tsx"],"names":[],"mappings":"AA6CA,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,2CAoCtE"}
|
|
@@ -21,11 +21,13 @@ function getSystemTheme() {
|
|
|
21
21
|
const disableTransitionsCSS = '*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}';
|
|
22
22
|
function applyTheme(theme) {
|
|
23
23
|
const resolved = theme === 'system' ? getSystemTheme() : theme;
|
|
24
|
+
const html = document.documentElement;
|
|
24
25
|
// Disable transitions to prevent flash
|
|
25
26
|
const style = document.createElement('style');
|
|
26
27
|
style.appendChild(document.createTextNode(disableTransitionsCSS));
|
|
27
28
|
document.head.appendChild(style);
|
|
28
|
-
|
|
29
|
+
html.setAttribute('data-vocs-theme', resolved);
|
|
30
|
+
html.style.colorScheme = resolved;
|
|
29
31
|
(() => window.getComputedStyle(document.body))();
|
|
30
32
|
requestAnimationFrame(() => {
|
|
31
33
|
requestAnimationFrame(() => {
|
|
@@ -39,8 +41,10 @@ export function Root_client({ children }) {
|
|
|
39
41
|
// React to theme config changes.
|
|
40
42
|
useEffect(() => {
|
|
41
43
|
const html = document.documentElement;
|
|
42
|
-
if (staticScheme)
|
|
44
|
+
if (staticScheme) {
|
|
45
|
+
html.setAttribute('data-vocs-theme', colorScheme);
|
|
43
46
|
html.style.colorScheme = colorScheme;
|
|
47
|
+
}
|
|
44
48
|
else
|
|
45
49
|
applyTheme(getStoredTheme());
|
|
46
50
|
if (html) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Root.client.js","sourceRoot":"","sources":["../../src/react/Root.client.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,UAAU,GAAG,YAAY,CAAA;AAE/B,SAAS,cAAc;IACrB,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,QAAQ,CAAA;IAClD,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IAC/C,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAA;IACjF,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,cAAc;IACrB,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,MAAM,CAAA;IAChD,OAAO,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;AACrF,CAAC;AAED,MAAM,qBAAqB,GACzB,6KAA6K,CAAA;AAE/K,SAAS,UAAU,CAAC,KAAkC;IACpD,MAAM,QAAQ,GAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"Root.client.js","sourceRoot":"","sources":["../../src/react/Root.client.tsx"],"names":[],"mappings":"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"}
|
package/dist/react/Root.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Root.d.ts","sourceRoot":"","sources":["../../src/react/Root.tsx"],"names":[],"mappings":"AAQA,wBAAsB,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"Root.d.ts","sourceRoot":"","sources":["../../src/react/Root.tsx"],"names":[],"mappings":"AAQA,wBAAsB,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,oDAwBrE"}
|
package/dist/react/Root.js
CHANGED
|
@@ -8,6 +8,8 @@ import { Root_client } from './Root.client.js';
|
|
|
8
8
|
import { ScrollRestoration } from './ScrollRestoration.js';
|
|
9
9
|
export async function Root({ children }) {
|
|
10
10
|
const { colorScheme, accentColor } = config;
|
|
11
|
-
return (_jsxs("html", { "data-vocs": true,
|
|
11
|
+
return (_jsxs("html", { "data-vocs": true, ...(colorScheme === 'light' || colorScheme === 'dark'
|
|
12
|
+
? { 'data-vocs-theme': colorScheme }
|
|
13
|
+
: {}), lang: "en", style: { colorScheme, '--vocs-color-accent': accentColor }, suppressHydrationWarning: true, children: [_jsxs("head", { children: [_jsx("link", { rel: "stylesheet", href: stylesUrl }), userStylesUrl && _jsx("link", { rel: "stylesheet", href: userStylesUrl }), groupIconsStylesUrl && _jsx("link", { rel: "stylesheet", href: groupIconsStylesUrl }), _jsx(Head, {})] }), _jsxs("body", { "data-version": "1.0", children: [_jsx(Root_client, { children: children }), _jsx(ScrollRestoration, {})] })] }));
|
|
12
14
|
}
|
|
13
15
|
//# sourceMappingURL=Root.js.map
|
package/dist/react/Root.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Root.js","sourceRoot":"","sources":["../../src/react/Root.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,mBAAmB,MAAM,kCAAkC,CAAA;AAClE,OAAO,aAAa,MAAM,0BAA0B,CAAA;AACpD,OAAO,SAAS,MAAM,yBAAyB,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,EAAE,QAAQ,EAAiC;IACpE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,MAAM,CAAA;IAC3C,OAAO,CACL,
|
|
1
|
+
{"version":3,"file":"Root.js","sourceRoot":"","sources":["../../src/react/Root.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,mBAAmB,MAAM,kCAAkC,CAAA;AAClE,OAAO,aAAa,MAAM,0BAA0B,CAAA;AACpD,OAAO,SAAS,MAAM,yBAAyB,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,EAAE,QAAQ,EAAiC;IACpE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,MAAM,CAAA;IAC3C,OAAO,CACL,sCAEM,CAAC,WAAW,KAAK,OAAO,IAAI,WAAW,KAAK,MAAM;YACpD,CAAC,CAAC,EAAE,iBAAiB,EAAE,WAAW,EAAE;YACpC,CAAC,CAAC,EAAE,CAAC,EACP,IAAI,EAAC,IAAI,EACT,KAAK,EAAE,EAAE,WAAW,EAAE,qBAAqB,EAAE,WAAW,EAAW,EACnE,wBAAwB,mBAExB,2BACE,eAAM,GAAG,EAAC,YAAY,EAAC,IAAI,EAAE,SAAS,GAAI,EACzC,aAAa,IAAI,eAAM,GAAG,EAAC,YAAY,EAAC,IAAI,EAAE,aAAa,GAAI,EAC/D,mBAAmB,IAAI,eAAM,GAAG,EAAC,YAAY,EAAC,IAAI,EAAE,mBAAmB,GAAI,EAC5E,KAAC,IAAI,KAAG,IACH,EACP,gCAAmB,KAAK,aACtB,KAAC,WAAW,cAAE,QAAQ,GAAe,EACrC,KAAC,iBAAiB,KAAG,IAChB,IACF,CACR,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeToggle.client.d.ts","sourceRoot":"","sources":["../../../src/react/internal/ThemeToggle.client.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ThemeToggle.client.d.ts","sourceRoot":"","sources":["../../../src/react/internal/ThemeToggle.client.tsx"],"names":[],"mappings":"AAkDA,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,kDAmDnD;AAED,MAAM,CAAC,OAAO,WAAW,WAAW,CAAC;IACnC,KAAY,KAAK,GAAG;QAClB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC/B,CAAA;CACF"}
|
|
@@ -24,11 +24,13 @@ function getSystemTheme() {
|
|
|
24
24
|
const disableTransitionsCSS = '*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}';
|
|
25
25
|
function applyTheme(theme) {
|
|
26
26
|
const resolved = theme === 'system' ? getSystemTheme() : theme;
|
|
27
|
+
const html = document.documentElement;
|
|
27
28
|
// Disable transitions to prevent flash
|
|
28
29
|
const style = document.createElement('style');
|
|
29
30
|
style.appendChild(document.createTextNode(disableTransitionsCSS));
|
|
30
31
|
document.head.appendChild(style);
|
|
31
|
-
|
|
32
|
+
html.setAttribute('data-vocs-theme', resolved);
|
|
33
|
+
html.style.colorScheme = resolved;
|
|
32
34
|
(() => window.getComputedStyle(document.body))();
|
|
33
35
|
requestAnimationFrame(() => {
|
|
34
36
|
requestAnimationFrame(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeToggle.client.js","sourceRoot":"","sources":["../../../src/react/internal/ThemeToggle.client.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,EAAE,EAAE,MAAM,KAAK,CAAA;AACxB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,aAAa,MAAM,uBAAuB,CAAA;AACjD,OAAO,UAAU,MAAM,oBAAoB,CAAA;AAC3C,OAAO,SAAS,MAAM,mBAAmB,CAAA;AAEzC,MAAM,UAAU,GAAG,YAAY,CAAA;AAI/B,SAAS,cAAc;IACrB,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,QAAQ,CAAA;IAClD,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IAC/C,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAA;IACjF,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,cAAc;IACrB,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,MAAM,CAAA;IAChD,OAAO,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;AACrF,CAAC;AAED,MAAM,qBAAqB,GACzB,6KAA6K,CAAA;AAE/K,SAAS,UAAU,CAAC,KAAY;IAC9B,MAAM,QAAQ,GAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"ThemeToggle.client.js","sourceRoot":"","sources":["../../../src/react/internal/ThemeToggle.client.tsx"],"names":[],"mappings":"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"}
|
package/dist/styles/index.css
CHANGED
|
@@ -31,6 +31,19 @@
|
|
|
31
31
|
-moz-osx-font-smoothing: grayscale;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
+
/* Keep Lightning CSS light-dark() output aligned with Vocs' theme toggle. */
|
|
35
|
+
:root[data-vocs-theme="light"] {
|
|
36
|
+
--lightningcss-light: initial;
|
|
37
|
+
--lightningcss-dark: ;
|
|
38
|
+
color-scheme: light;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
:root[data-vocs-theme="dark"] {
|
|
42
|
+
--lightningcss-light: ;
|
|
43
|
+
--lightningcss-dark: initial;
|
|
44
|
+
color-scheme: dark;
|
|
45
|
+
}
|
|
46
|
+
|
|
34
47
|
html {
|
|
35
48
|
scroll-padding-top: calc(var(--vocs-spacing-topNav) + var(--vocs-spacing-banner) + 1rem);
|
|
36
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"og.d.ts","sourceRoot":"","sources":["../../../../../../src/waku/internal/routes/_api/api/og.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"og.d.ts","sourceRoot":"","sources":["../../../../../../src/waku/internal/routes/_api/api/og.tsx"],"names":[],"mappings":"AAwBA,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,OAAO,EAAE,OAAO,qBAoH/C"}
|
|
@@ -2,38 +2,63 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import * as Handler from '../../../../../server/handlers.js';
|
|
3
3
|
const colors = {
|
|
4
4
|
background: '#161616',
|
|
5
|
+
pattern: '#202020',
|
|
5
6
|
text: '#ffffff',
|
|
6
7
|
textMuted: 'rgba(255, 255, 255, 0.6)',
|
|
7
8
|
};
|
|
9
|
+
const dimensions = {
|
|
10
|
+
height: 630,
|
|
11
|
+
width: 1200,
|
|
12
|
+
};
|
|
13
|
+
const patternStep = 56;
|
|
14
|
+
const diagonalOffsets = Array.from({ length: Math.ceil((dimensions.width + dimensions.height * 2) / patternStep) }, (_, index) => index * patternStep - dimensions.height);
|
|
15
|
+
const reverseDiagonalOffsets = Array.from({ length: Math.ceil((dimensions.width + dimensions.height * 2) / patternStep) }, (_, index) => index * patternStep);
|
|
8
16
|
export default function handler(request) {
|
|
9
|
-
return Handler.og(({ title, description, logo }) =>
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
17
|
+
return Handler.og(({ title, description, logo }) => {
|
|
18
|
+
const titleLines = title.split('\n');
|
|
19
|
+
return (_jsxs("div", { style: {
|
|
20
|
+
display: 'flex',
|
|
21
|
+
flexDirection: 'column',
|
|
22
|
+
alignItems: 'flex-start',
|
|
23
|
+
justifyContent: 'center',
|
|
24
|
+
position: 'relative',
|
|
25
|
+
width: '100%',
|
|
26
|
+
height: '100%',
|
|
27
|
+
overflow: 'hidden',
|
|
28
|
+
backgroundColor: colors.background,
|
|
29
|
+
color: colors.text,
|
|
30
|
+
}, children: [_jsx("div", { style: {
|
|
31
|
+
position: 'absolute',
|
|
32
|
+
top: 0,
|
|
33
|
+
right: 0,
|
|
34
|
+
bottom: 0,
|
|
35
|
+
left: 0,
|
|
36
|
+
}, children: _jsxs("svg", { "aria-hidden": true, width: dimensions.width, height: dimensions.height, viewBox: `0 0 ${dimensions.width} ${dimensions.height}`, fill: "none", children: [_jsx("title", { children: "Background pattern" }), diagonalOffsets.map((offset) => (_jsx("line", { x1: offset, y1: 0, x2: offset + dimensions.height, y2: dimensions.height, stroke: colors.pattern, strokeWidth: 1.5 }, `diagonal-${offset}`))), reverseDiagonalOffsets.map((offset) => (_jsx("line", { x1: offset, y1: 0, x2: offset - dimensions.height, y2: dimensions.height, stroke: colors.pattern, strokeWidth: 1.5 }, `reverse-diagonal-${offset}`)))] }) }), logo && (_jsx("img", { alt: "", src: logo, style: {
|
|
37
|
+
height: 48,
|
|
38
|
+
position: 'absolute',
|
|
39
|
+
right: 40,
|
|
40
|
+
bottom: 40,
|
|
41
|
+
} })), _jsxs("div", { style: {
|
|
42
|
+
display: 'flex',
|
|
43
|
+
flexDirection: 'column',
|
|
44
|
+
gap: 12,
|
|
45
|
+
position: 'relative',
|
|
46
|
+
justifyContent: 'center',
|
|
47
|
+
width: '100%',
|
|
48
|
+
height: '100%',
|
|
49
|
+
padding: 80,
|
|
50
|
+
}, children: [_jsx("div", { style: {
|
|
51
|
+
display: 'flex',
|
|
52
|
+
flexDirection: 'column',
|
|
53
|
+
fontSize: title.length < 15 ? 80 : 64,
|
|
54
|
+
fontWeight: 700,
|
|
55
|
+
lineHeight: 1.1,
|
|
56
|
+
color: colors.text,
|
|
57
|
+
}, children: titleLines.map((line) => (_jsx("div", { children: line }, line))) }), description && (_jsx("div", { style: {
|
|
58
|
+
fontSize: 28,
|
|
59
|
+
color: colors.textMuted,
|
|
60
|
+
maxWidth: 800,
|
|
61
|
+
}, children: description }))] })] }));
|
|
62
|
+
}).fetch(request);
|
|
38
63
|
}
|
|
39
64
|
//# sourceMappingURL=og.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"og.js","sourceRoot":"","sources":["../../../../../../src/waku/internal/routes/_api/api/og.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,OAAO,MAAM,mCAAmC,CAAA;AAE5D,MAAM,MAAM,GAAG;IACb,UAAU,EAAE,SAAS;IACrB,IAAI,EAAE,SAAS;IACf,SAAS,EAAE,0BAA0B;CACtC,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,OAAgB;IAC9C,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"og.js","sourceRoot":"","sources":["../../../../../../src/waku/internal/routes/_api/api/og.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vocs",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "2.0.
|
|
4
|
+
"version": "2.0.1",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"zod": "^4.3.5"
|
|
86
86
|
},
|
|
87
87
|
"peerDependencies": {
|
|
88
|
-
"@vocs/twoslash-rust": "^0.1.0
|
|
88
|
+
"@vocs/twoslash-rust": "^0.1.0",
|
|
89
89
|
"mermaid": "^11",
|
|
90
90
|
"react": "^19",
|
|
91
91
|
"react-dom": "^19",
|
package/src/react/Callout.tsx
CHANGED
|
@@ -4,7 +4,16 @@ import LucideLightbulb from '~icons/lucide/lightbulb'
|
|
|
4
4
|
import LucideTriangleAlert from '~icons/lucide/triangle-alert'
|
|
5
5
|
|
|
6
6
|
export function Callout(props: Callout.Props) {
|
|
7
|
-
const { variant, ...rest } = props
|
|
7
|
+
const { children, variant, ...rest } = props
|
|
8
|
+
const content =
|
|
9
|
+
typeof children === 'string' || typeof children === 'number' ? (
|
|
10
|
+
<div data-v-callout-content data-v-content>
|
|
11
|
+
{children}
|
|
12
|
+
</div>
|
|
13
|
+
) : (
|
|
14
|
+
children
|
|
15
|
+
)
|
|
16
|
+
|
|
8
17
|
return (
|
|
9
18
|
<aside {...rest} data-v data-v-callout data-v-content data-v-context={variant}>
|
|
10
19
|
<div data-v-callout-icon>
|
|
@@ -15,7 +24,7 @@ export function Callout(props: Callout.Props) {
|
|
|
15
24
|
{props.variant === 'tip' ? <LucideLightbulb /> : null}
|
|
16
25
|
{props.variant === 'success' ? <LucideCircleCheck /> : null}
|
|
17
26
|
</div>
|
|
18
|
-
{
|
|
27
|
+
{content}
|
|
19
28
|
</aside>
|
|
20
29
|
)
|
|
21
30
|
}
|
package/src/react/Head.tsx
CHANGED
|
@@ -46,7 +46,7 @@ export function Head() {
|
|
|
46
46
|
<script
|
|
47
47
|
// biome-ignore lint/security/noDangerouslySetInnerHtml: blocking script to prevent FOUC
|
|
48
48
|
dangerouslySetInnerHTML={{
|
|
49
|
-
__html: `(function(){try{var t=localStorage.getItem('vocs-theme');if(t==='light'||t==='dark'){
|
|
49
|
+
__html: `(function(){try{var e=document.documentElement;var s=function(t){e.setAttribute('data-vocs-theme',t);e.style.colorScheme=t};var t=localStorage.getItem('vocs-theme');if(t==='light'||t==='dark'){s(t)}else if(window.matchMedia('(prefers-color-scheme:dark)').matches){s('dark')}else if(window.matchMedia('(prefers-color-scheme:light)').matches){s('light')}else{s('dark')}}catch(e){}})()`,
|
|
50
50
|
}}
|
|
51
51
|
/>
|
|
52
52
|
)}
|
|
@@ -24,13 +24,15 @@ const disableTransitionsCSS =
|
|
|
24
24
|
|
|
25
25
|
function applyTheme(theme: 'light' | 'dark' | 'system') {
|
|
26
26
|
const resolved = theme === 'system' ? getSystemTheme() : theme
|
|
27
|
+
const html = document.documentElement
|
|
27
28
|
|
|
28
29
|
// Disable transitions to prevent flash
|
|
29
30
|
const style = document.createElement('style')
|
|
30
31
|
style.appendChild(document.createTextNode(disableTransitionsCSS))
|
|
31
32
|
document.head.appendChild(style)
|
|
32
33
|
|
|
33
|
-
|
|
34
|
+
html.setAttribute('data-vocs-theme', resolved)
|
|
35
|
+
html.style.colorScheme = resolved
|
|
34
36
|
|
|
35
37
|
// Force reflow and re-enable transitions
|
|
36
38
|
;(() => window.getComputedStyle(document.body))()
|
|
@@ -50,8 +52,10 @@ export function Root_client({ children }: { children: React.ReactNode }) {
|
|
|
50
52
|
useEffect(() => {
|
|
51
53
|
const html = document.documentElement
|
|
52
54
|
|
|
53
|
-
if (staticScheme)
|
|
54
|
-
|
|
55
|
+
if (staticScheme) {
|
|
56
|
+
html.setAttribute('data-vocs-theme', colorScheme)
|
|
57
|
+
html.style.colorScheme = colorScheme
|
|
58
|
+
} else applyTheme(getStoredTheme())
|
|
55
59
|
|
|
56
60
|
if (html) {
|
|
57
61
|
if (!import.meta.env.PROD) html.style.setProperty('--vocs-color-accent', accentColor)
|
package/src/react/Root.tsx
CHANGED
|
@@ -11,6 +11,9 @@ export async function Root({ children }: { children: React.ReactNode }) {
|
|
|
11
11
|
return (
|
|
12
12
|
<html
|
|
13
13
|
data-vocs
|
|
14
|
+
{...(colorScheme === 'light' || colorScheme === 'dark'
|
|
15
|
+
? { 'data-vocs-theme': colorScheme }
|
|
16
|
+
: {})}
|
|
14
17
|
lang="en"
|
|
15
18
|
style={{ colorScheme, '--vocs-color-accent': accentColor } as never}
|
|
16
19
|
suppressHydrationWarning
|
|
@@ -29,13 +29,15 @@ const disableTransitionsCSS =
|
|
|
29
29
|
|
|
30
30
|
function applyTheme(theme: Theme) {
|
|
31
31
|
const resolved = theme === 'system' ? getSystemTheme() : theme
|
|
32
|
+
const html = document.documentElement
|
|
32
33
|
|
|
33
34
|
// Disable transitions to prevent flash
|
|
34
35
|
const style = document.createElement('style')
|
|
35
36
|
style.appendChild(document.createTextNode(disableTransitionsCSS))
|
|
36
37
|
document.head.appendChild(style)
|
|
37
38
|
|
|
38
|
-
|
|
39
|
+
html.setAttribute('data-vocs-theme', resolved)
|
|
40
|
+
html.style.colorScheme = resolved
|
|
39
41
|
|
|
40
42
|
// Force reflow and re-enable transitions
|
|
41
43
|
;(() => window.getComputedStyle(document.body))()
|
package/src/styles/index.css
CHANGED
|
@@ -31,6 +31,19 @@
|
|
|
31
31
|
-moz-osx-font-smoothing: grayscale;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
+
/* Keep Lightning CSS light-dark() output aligned with Vocs' theme toggle. */
|
|
35
|
+
:root[data-vocs-theme="light"] {
|
|
36
|
+
--lightningcss-light: initial;
|
|
37
|
+
--lightningcss-dark: ;
|
|
38
|
+
color-scheme: light;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
:root[data-vocs-theme="dark"] {
|
|
42
|
+
--lightningcss-light: ;
|
|
43
|
+
--lightningcss-dark: initial;
|
|
44
|
+
color-scheme: dark;
|
|
45
|
+
}
|
|
46
|
+
|
|
34
47
|
html {
|
|
35
48
|
scroll-padding-top: calc(var(--vocs-spacing-topNav) + var(--vocs-spacing-banner) + 1rem);
|
|
36
49
|
}
|
|
@@ -2,68 +2,140 @@ import * as Handler from '../../../../../server/handlers.js'
|
|
|
2
2
|
|
|
3
3
|
const colors = {
|
|
4
4
|
background: '#161616',
|
|
5
|
+
pattern: '#202020',
|
|
5
6
|
text: '#ffffff',
|
|
6
7
|
textMuted: 'rgba(255, 255, 255, 0.6)',
|
|
7
8
|
}
|
|
8
9
|
|
|
10
|
+
const dimensions = {
|
|
11
|
+
height: 630,
|
|
12
|
+
width: 1200,
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const patternStep = 56
|
|
16
|
+
const diagonalOffsets = Array.from(
|
|
17
|
+
{ length: Math.ceil((dimensions.width + dimensions.height * 2) / patternStep) },
|
|
18
|
+
(_, index) => index * patternStep - dimensions.height,
|
|
19
|
+
)
|
|
20
|
+
const reverseDiagonalOffsets = Array.from(
|
|
21
|
+
{ length: Math.ceil((dimensions.width + dimensions.height * 2) / patternStep) },
|
|
22
|
+
(_, index) => index * patternStep,
|
|
23
|
+
)
|
|
24
|
+
|
|
9
25
|
export default function handler(request: Request) {
|
|
10
|
-
return Handler.og(({ title, description, logo }) =>
|
|
11
|
-
|
|
12
|
-
style={{
|
|
13
|
-
display: 'flex',
|
|
14
|
-
flexDirection: 'column',
|
|
15
|
-
alignItems: 'flex-start',
|
|
16
|
-
justifyContent: 'center',
|
|
17
|
-
width: '100%',
|
|
18
|
-
height: '100%',
|
|
19
|
-
padding: 80,
|
|
20
|
-
backgroundColor: colors.background,
|
|
21
|
-
color: colors.text,
|
|
22
|
-
}}
|
|
23
|
-
>
|
|
24
|
-
{logo && (
|
|
25
|
-
<img
|
|
26
|
-
alt=""
|
|
27
|
-
src={logo}
|
|
28
|
-
style={{
|
|
29
|
-
height: 48,
|
|
30
|
-
position: 'absolute',
|
|
31
|
-
right: 40,
|
|
32
|
-
bottom: 40,
|
|
33
|
-
}}
|
|
34
|
-
/>
|
|
35
|
-
)}
|
|
26
|
+
return Handler.og(({ title, description, logo }) => {
|
|
27
|
+
const titleLines = title.split('\n')
|
|
36
28
|
|
|
29
|
+
return (
|
|
37
30
|
<div
|
|
38
31
|
style={{
|
|
39
32
|
display: 'flex',
|
|
40
33
|
flexDirection: 'column',
|
|
41
|
-
|
|
34
|
+
alignItems: 'flex-start',
|
|
35
|
+
justifyContent: 'center',
|
|
36
|
+
position: 'relative',
|
|
37
|
+
width: '100%',
|
|
38
|
+
height: '100%',
|
|
39
|
+
overflow: 'hidden',
|
|
40
|
+
backgroundColor: colors.background,
|
|
41
|
+
color: colors.text,
|
|
42
42
|
}}
|
|
43
43
|
>
|
|
44
44
|
<div
|
|
45
45
|
style={{
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
position: 'absolute',
|
|
47
|
+
top: 0,
|
|
48
|
+
right: 0,
|
|
49
|
+
bottom: 0,
|
|
50
|
+
left: 0,
|
|
50
51
|
}}
|
|
51
52
|
>
|
|
52
|
-
|
|
53
|
+
<svg
|
|
54
|
+
aria-hidden
|
|
55
|
+
width={dimensions.width}
|
|
56
|
+
height={dimensions.height}
|
|
57
|
+
viewBox={`0 0 ${dimensions.width} ${dimensions.height}`}
|
|
58
|
+
fill="none"
|
|
59
|
+
>
|
|
60
|
+
<title>Background pattern</title>
|
|
61
|
+
{diagonalOffsets.map((offset) => (
|
|
62
|
+
<line
|
|
63
|
+
key={`diagonal-${offset}`}
|
|
64
|
+
x1={offset}
|
|
65
|
+
y1={0}
|
|
66
|
+
x2={offset + dimensions.height}
|
|
67
|
+
y2={dimensions.height}
|
|
68
|
+
stroke={colors.pattern}
|
|
69
|
+
strokeWidth={1.5}
|
|
70
|
+
/>
|
|
71
|
+
))}
|
|
72
|
+
{reverseDiagonalOffsets.map((offset) => (
|
|
73
|
+
<line
|
|
74
|
+
key={`reverse-diagonal-${offset}`}
|
|
75
|
+
x1={offset}
|
|
76
|
+
y1={0}
|
|
77
|
+
x2={offset - dimensions.height}
|
|
78
|
+
y2={dimensions.height}
|
|
79
|
+
stroke={colors.pattern}
|
|
80
|
+
strokeWidth={1.5}
|
|
81
|
+
/>
|
|
82
|
+
))}
|
|
83
|
+
</svg>
|
|
53
84
|
</div>
|
|
54
85
|
|
|
55
|
-
{
|
|
86
|
+
{logo && (
|
|
87
|
+
<img
|
|
88
|
+
alt=""
|
|
89
|
+
src={logo}
|
|
90
|
+
style={{
|
|
91
|
+
height: 48,
|
|
92
|
+
position: 'absolute',
|
|
93
|
+
right: 40,
|
|
94
|
+
bottom: 40,
|
|
95
|
+
}}
|
|
96
|
+
/>
|
|
97
|
+
)}
|
|
98
|
+
|
|
99
|
+
<div
|
|
100
|
+
style={{
|
|
101
|
+
display: 'flex',
|
|
102
|
+
flexDirection: 'column',
|
|
103
|
+
gap: 12,
|
|
104
|
+
position: 'relative',
|
|
105
|
+
justifyContent: 'center',
|
|
106
|
+
width: '100%',
|
|
107
|
+
height: '100%',
|
|
108
|
+
padding: 80,
|
|
109
|
+
}}
|
|
110
|
+
>
|
|
56
111
|
<div
|
|
57
112
|
style={{
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
113
|
+
display: 'flex',
|
|
114
|
+
flexDirection: 'column',
|
|
115
|
+
fontSize: title.length < 15 ? 80 : 64,
|
|
116
|
+
fontWeight: 700,
|
|
117
|
+
lineHeight: 1.1,
|
|
118
|
+
color: colors.text,
|
|
61
119
|
}}
|
|
62
120
|
>
|
|
63
|
-
{
|
|
121
|
+
{titleLines.map((line) => (
|
|
122
|
+
<div key={line}>{line}</div>
|
|
123
|
+
))}
|
|
64
124
|
</div>
|
|
65
|
-
|
|
125
|
+
|
|
126
|
+
{description && (
|
|
127
|
+
<div
|
|
128
|
+
style={{
|
|
129
|
+
fontSize: 28,
|
|
130
|
+
color: colors.textMuted,
|
|
131
|
+
maxWidth: 800,
|
|
132
|
+
}}
|
|
133
|
+
>
|
|
134
|
+
{description}
|
|
135
|
+
</div>
|
|
136
|
+
)}
|
|
137
|
+
</div>
|
|
66
138
|
</div>
|
|
67
|
-
|
|
68
|
-
)
|
|
139
|
+
)
|
|
140
|
+
}).fetch(request)
|
|
69
141
|
}
|