@makeswift/runtime 0.0.11 → 0.0.15
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/actions.cjs.js +6 -1
- package/dist/actions.cjs.js.map +1 -1
- package/dist/actions.es.js +6 -2
- package/dist/actions.es.js.map +1 -1
- package/dist/components.cjs.js +5 -5
- package/dist/components.es.js +3 -5
- package/dist/components.es.js.map +1 -1
- package/dist/constants.cjs.js +128 -1
- package/dist/constants.cjs.js.map +1 -1
- package/dist/constants.es.js +128 -1
- package/dist/constants.es.js.map +1 -1
- package/dist/index.cjs.js +383 -47
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +376 -48
- package/dist/index.es.js.map +1 -1
- package/dist/next.cjs.js +30 -19
- package/dist/next.cjs.js.map +1 -1
- package/dist/next.es.js +31 -20
- package/dist/next.es.js.map +1 -1
- package/dist/react-builder-preview.cjs.js +44 -45
- package/dist/react-builder-preview.cjs.js.map +1 -1
- package/dist/react-builder-preview.es.js +43 -44
- package/dist/react-builder-preview.es.js.map +1 -1
- package/dist/react.cjs.js +2 -3
- package/dist/react.cjs.js.map +1 -1
- package/dist/react.es.js +2 -3
- package/dist/react.es.js.map +1 -1
- package/dist/types/api/constants.d.ts.map +1 -1
- package/dist/types/api/generated/graphql.d.ts +55 -0
- package/dist/types/api/generated/graphql.d.ts.map +1 -1
- package/dist/types/api/react.d.ts +2 -3
- package/dist/types/api/react.d.ts.map +1 -1
- package/dist/types/api/types.d.ts +2 -2
- package/dist/types/api/types.d.ts.map +1 -1
- package/dist/types/components/builtin/Image/Image.d.ts.map +1 -1
- package/dist/types/components/builtin/Navigation/components/DropDownButton/index.d.ts.map +1 -1
- package/dist/types/components/page/Page.d.ts +23 -0
- package/dist/types/components/page/Page.d.ts.map +1 -1
- package/dist/types/components/shared/BackgroundsContainer/components/Backgrounds/index.d.ts.map +1 -1
- package/dist/types/next.d.ts +10 -5
- package/dist/types/next.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/style.d.ts.map +1 -1
- package/dist/types/state/actions.d.ts +13 -1
- package/dist/types/state/actions.d.ts.map +1 -1
- package/dist/types/state/react-builder-preview.d.ts.map +1 -1
- package/package.json +2 -1
- package/dist/Page.cjs.js +0 -222
- package/dist/Page.cjs.js.map +0 -1
- package/dist/Page.es.js +0 -216
- package/dist/Page.es.js.map +0 -1
package/dist/Page.es.js
DELETED
|
@@ -1,216 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __defProps = Object.defineProperties;
|
|
3
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
-
var __spreadValues = (a, b) => {
|
|
9
|
-
for (var prop in b || (b = {}))
|
|
10
|
-
if (__hasOwnProp.call(b, prop))
|
|
11
|
-
__defNormalProp(a, prop, b[prop]);
|
|
12
|
-
if (__getOwnPropSymbols)
|
|
13
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
-
if (__propIsEnum.call(b, prop))
|
|
15
|
-
__defNormalProp(a, prop, b[prop]);
|
|
16
|
-
}
|
|
17
|
-
return a;
|
|
18
|
-
};
|
|
19
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
-
import { useEffect, useMemo, useRef, Children, createElement } from "react";
|
|
21
|
-
import parse from "html-react-parser";
|
|
22
|
-
import Head from "next/head";
|
|
23
|
-
import { D as DocumentReference } from "./index.es.js";
|
|
24
|
-
import { a as createDocumentReference } from "./react-page.es.js";
|
|
25
|
-
import { jsxs, Fragment, jsx } from "react/jsx-runtime";
|
|
26
|
-
const SCRIPT_TAG = "script";
|
|
27
|
-
function BodySnippet({
|
|
28
|
-
code,
|
|
29
|
-
cleanup
|
|
30
|
-
}) {
|
|
31
|
-
useEffect(() => {
|
|
32
|
-
const container = document.createElement("div");
|
|
33
|
-
container.innerHTML = code;
|
|
34
|
-
const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT);
|
|
35
|
-
const scripts = [];
|
|
36
|
-
while (walker.nextNode()) {
|
|
37
|
-
if (walker.currentNode instanceof HTMLScriptElement)
|
|
38
|
-
scripts.push(walker.currentNode);
|
|
39
|
-
}
|
|
40
|
-
scripts.forEach((inlineScript) => {
|
|
41
|
-
var _a;
|
|
42
|
-
const executableScript = document.createElement(SCRIPT_TAG);
|
|
43
|
-
executableScript.textContent = inlineScript.textContent;
|
|
44
|
-
Array.from(inlineScript.attributes).forEach(({
|
|
45
|
-
name,
|
|
46
|
-
value
|
|
47
|
-
}) => {
|
|
48
|
-
executableScript.setAttribute(name, value);
|
|
49
|
-
});
|
|
50
|
-
(_a = inlineScript.parentNode) == null ? void 0 : _a.replaceChild(executableScript, inlineScript);
|
|
51
|
-
});
|
|
52
|
-
const nodes = Array.from(container.childNodes);
|
|
53
|
-
document.body.append(...nodes);
|
|
54
|
-
return () => {
|
|
55
|
-
nodes.forEach((node) => {
|
|
56
|
-
var _a;
|
|
57
|
-
(_a = node.parentNode) == null ? void 0 : _a.removeChild(node);
|
|
58
|
-
});
|
|
59
|
-
if (cleanup == null)
|
|
60
|
-
return;
|
|
61
|
-
const cleanUp = new Function(cleanup);
|
|
62
|
-
try {
|
|
63
|
-
cleanUp();
|
|
64
|
-
} catch {
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
}, [code, cleanup]);
|
|
68
|
-
return null;
|
|
69
|
-
}
|
|
70
|
-
const defaultFavicon = {
|
|
71
|
-
mimetype: "image/png",
|
|
72
|
-
publicUrl: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAABcRAAAXEQHKJvM/AAABjElEQVRYhc2XzU3EMBCFB8TddAAXn6EE6GCpgNABZ1/IXnymBOgAOmA7YM8+ABVsXEHQQFaKQryeN3Yk3ilKJtEnv/nLUd/3pFG0riGi88yrnQn+UfJ5FUi0riWiB2H4nQn+KRd0DFP8agXEfkqCYJBoHdtxIQxfm+DfFgEhoith3NYE30o/qgGR2BJB+xY7kdYEL8oNFUi0jiFMJuxVWrJqEMFxsyUNCsE6AeNztvBp7aJ143vXksoRnwhYtmNdSoIQa6RlO9YXEWW7KgoCleOgxgTf1QZBT+RZ2lXFING6UxCCq+ceeUE8fYdknY599v9sJvzGBP+yCEgC7GPmETc0OJ+0awAlkhe2pAbIXAeFZ8xe2g2Nk3c3ub0xwWt6zY9qbmiqGVMbZK21ZC/YmhlbeBMTzZNDQqcvDb1kM1x32iqZSt1HaqukfKvq34BAOTLsrH+ETNmUkKHHA+428RgeclPVWozeSyAI2EdWB34jtqXNTAySOY3i/KgFIlqOa4GkFmBegorzg4joG07he/M7zl6jAAAAAElFTkSuQmCC"
|
|
73
|
-
};
|
|
74
|
-
const VALID_TAG_REGEX = /^[a-zA-Z][a-zA-Z:_.\-\d]*$/;
|
|
75
|
-
const VALID_HEAD_ELEMENT_TYPES = ["title", "base", "link", "style", "meta", "script", "noscript", "template"];
|
|
76
|
-
function snippetToElement(snippet) {
|
|
77
|
-
return Children.map(parse(snippet.code), (element) => {
|
|
78
|
-
if (typeof element === "string")
|
|
79
|
-
return element;
|
|
80
|
-
if (!VALID_TAG_REGEX.test(element.type))
|
|
81
|
-
return null;
|
|
82
|
-
const key = element.key ? `${snippet.id}:${element.key}` : snippet.id;
|
|
83
|
-
return createElement(element.type, __spreadProps(__spreadValues({}, element.props), {
|
|
84
|
-
key
|
|
85
|
-
}));
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
function Page({
|
|
89
|
-
page,
|
|
90
|
-
preview = false
|
|
91
|
-
}) {
|
|
92
|
-
var _a;
|
|
93
|
-
const favicon = (_a = page.meta.favicon) != null ? _a : defaultFavicon;
|
|
94
|
-
const {
|
|
95
|
-
title,
|
|
96
|
-
description,
|
|
97
|
-
keywords,
|
|
98
|
-
socialImage
|
|
99
|
-
} = page.meta;
|
|
100
|
-
const {
|
|
101
|
-
canonicalUrl,
|
|
102
|
-
isIndexingBlocked
|
|
103
|
-
} = page.seo;
|
|
104
|
-
const fontFamilyParamValue = page.fonts.map(({
|
|
105
|
-
family,
|
|
106
|
-
variants
|
|
107
|
-
}) => {
|
|
108
|
-
return `${family.replace(/ /g, "+")}:${variants.join()}`;
|
|
109
|
-
}).join("|");
|
|
110
|
-
const snippets = useMemo(() => page.snippets.filter((snippet) => preview ? snippet.builderEnabled : snippet.liveEnabled), [page, preview]);
|
|
111
|
-
const headSnippets = useMemo(() => snippets.filter((snippet) => snippet.location === "HEAD"), [snippets]);
|
|
112
|
-
const previousHeadSnippets = useRef(null);
|
|
113
|
-
useEffect(() => {
|
|
114
|
-
var _a2;
|
|
115
|
-
const headSnippetsToCleanUp = ((_a2 = previousHeadSnippets.current) != null ? _a2 : []).filter((previousSnippet) => previousSnippet.cleanup != null).filter((previousSnippet) => !headSnippets.some((snippet) => previousSnippet.id === snippet.id));
|
|
116
|
-
headSnippetsToCleanUp.forEach((snippetToCleanUp) => {
|
|
117
|
-
if (snippetToCleanUp.cleanup == null)
|
|
118
|
-
return;
|
|
119
|
-
const cleanUp = new Function(snippetToCleanUp.cleanup);
|
|
120
|
-
try {
|
|
121
|
-
cleanUp();
|
|
122
|
-
} catch {
|
|
123
|
-
}
|
|
124
|
-
});
|
|
125
|
-
previousHeadSnippets.current = headSnippets;
|
|
126
|
-
}, [headSnippets]);
|
|
127
|
-
return /* @__PURE__ */ jsxs(Fragment, {
|
|
128
|
-
children: [/* @__PURE__ */ jsxs(Head, {
|
|
129
|
-
children: [/* @__PURE__ */ jsx("style", {
|
|
130
|
-
children: `
|
|
131
|
-
html {
|
|
132
|
-
font-family: sans-serif;
|
|
133
|
-
}
|
|
134
|
-
div#__next {
|
|
135
|
-
overflow: hidden;
|
|
136
|
-
}
|
|
137
|
-
`
|
|
138
|
-
}), /* @__PURE__ */ jsx("link", {
|
|
139
|
-
rel: "icon",
|
|
140
|
-
type: favicon.mimetype,
|
|
141
|
-
href: favicon.publicUrl
|
|
142
|
-
}), canonicalUrl && /* @__PURE__ */ jsx("link", {
|
|
143
|
-
rel: "canonical",
|
|
144
|
-
href: canonicalUrl
|
|
145
|
-
}), isIndexingBlocked && /* @__PURE__ */ jsx("meta", {
|
|
146
|
-
name: "robots",
|
|
147
|
-
content: "noindex"
|
|
148
|
-
}), title && /* @__PURE__ */ jsxs(Fragment, {
|
|
149
|
-
children: [/* @__PURE__ */ jsx("title", {
|
|
150
|
-
children: title
|
|
151
|
-
}), /* @__PURE__ */ jsx("meta", {
|
|
152
|
-
property: "og:title",
|
|
153
|
-
content: title
|
|
154
|
-
}), /* @__PURE__ */ jsx("meta", {
|
|
155
|
-
name: "twitter:title",
|
|
156
|
-
content: title
|
|
157
|
-
}), /* @__PURE__ */ jsx("meta", {
|
|
158
|
-
itemProp: "name",
|
|
159
|
-
content: title
|
|
160
|
-
})]
|
|
161
|
-
}), description && /* @__PURE__ */ jsxs(Fragment, {
|
|
162
|
-
children: [/* @__PURE__ */ jsx("meta", {
|
|
163
|
-
name: "description",
|
|
164
|
-
content: description
|
|
165
|
-
}), /* @__PURE__ */ jsx("meta", {
|
|
166
|
-
property: "og:description",
|
|
167
|
-
content: description
|
|
168
|
-
}), /* @__PURE__ */ jsx("meta", {
|
|
169
|
-
name: "twitter:description",
|
|
170
|
-
content: description
|
|
171
|
-
}), /* @__PURE__ */ jsx("meta", {
|
|
172
|
-
itemProp: "description",
|
|
173
|
-
content: description
|
|
174
|
-
})]
|
|
175
|
-
}), keywords && /* @__PURE__ */ jsx("meta", {
|
|
176
|
-
name: "keywords",
|
|
177
|
-
content: keywords
|
|
178
|
-
}), socialImage && /* @__PURE__ */ jsxs(Fragment, {
|
|
179
|
-
children: [/* @__PURE__ */ jsx("meta", {
|
|
180
|
-
property: "og:image",
|
|
181
|
-
content: socialImage.publicUrl
|
|
182
|
-
}), /* @__PURE__ */ jsx("meta", {
|
|
183
|
-
property: "og:image:type",
|
|
184
|
-
content: socialImage.publicUrl
|
|
185
|
-
}), /* @__PURE__ */ jsx("meta", {
|
|
186
|
-
name: "twitter:image",
|
|
187
|
-
content: socialImage.publicUrl
|
|
188
|
-
}), /* @__PURE__ */ jsx("meta", {
|
|
189
|
-
name: "twitter:card",
|
|
190
|
-
content: socialImage.publicUrl
|
|
191
|
-
}), /* @__PURE__ */ jsx("meta", {
|
|
192
|
-
itemProp: "image",
|
|
193
|
-
content: socialImage.publicUrl
|
|
194
|
-
})]
|
|
195
|
-
}), fontFamilyParamValue !== "" && /* @__PURE__ */ jsx(Fragment, {
|
|
196
|
-
children: /* @__PURE__ */ jsx("link", {
|
|
197
|
-
rel: "stylesheet",
|
|
198
|
-
href: `https://fonts.googleapis.com/css?family=${fontFamilyParamValue}&display=swap`
|
|
199
|
-
})
|
|
200
|
-
}), headSnippets.map(snippetToElement).map((children) => Children.map(children, (child) => {
|
|
201
|
-
if (typeof child === "string")
|
|
202
|
-
return child;
|
|
203
|
-
if (VALID_HEAD_ELEMENT_TYPES.includes(child.type))
|
|
204
|
-
return child;
|
|
205
|
-
return null;
|
|
206
|
-
}))]
|
|
207
|
-
}), /* @__PURE__ */ jsx(DocumentReference, {
|
|
208
|
-
documentReference: createDocumentReference(page.id)
|
|
209
|
-
}), snippets.filter((snippet) => snippet.location === "BODY").map((snippet) => /* @__PURE__ */ jsx(BodySnippet, {
|
|
210
|
-
code: snippet.code,
|
|
211
|
-
cleanup: snippet.cleanup
|
|
212
|
-
}, snippet.id))]
|
|
213
|
-
});
|
|
214
|
-
}
|
|
215
|
-
export { Page as P };
|
|
216
|
-
//# sourceMappingURL=Page.es.js.map
|
package/dist/Page.es.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Page.es.js","sources":["../src/components/page/BodySnippet.tsx","../src/components/page/Page.tsx"],"sourcesContent":["import { useEffect } from 'react'\n\nconst SCRIPT_TAG = 'script'\n\ntype Props = {\n code: string\n cleanup: string | null | undefined\n}\n\nexport function BodySnippet({ code, cleanup }: Props): null {\n useEffect(() => {\n const container = document.createElement('div')\n\n container.innerHTML = code\n\n const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT)\n const scripts: HTMLScriptElement[] = []\n\n while (walker.nextNode()) {\n if (walker.currentNode instanceof HTMLScriptElement) scripts.push(walker.currentNode)\n }\n\n scripts.forEach(inlineScript => {\n const executableScript = document.createElement(SCRIPT_TAG)\n\n executableScript.textContent = inlineScript.textContent\n Array.from(inlineScript.attributes).forEach(({ name, value }) => {\n executableScript.setAttribute(name, value)\n })\n\n inlineScript.parentNode?.replaceChild(executableScript, inlineScript)\n })\n\n const nodes = Array.from(container.childNodes)\n\n document.body.append(...nodes)\n\n return () => {\n nodes.forEach(node => {\n node.parentNode?.removeChild(node)\n })\n\n if (cleanup == null) return\n\n const cleanUp = new Function(cleanup)\n\n try {\n cleanUp()\n } catch {\n // Ignore errors from user input.\n }\n }\n }, [code, cleanup])\n\n return null\n}\n","import { ReactElement, Children, createElement, useMemo, useEffect, useRef } from 'react'\nimport parse from 'html-react-parser'\nimport Head from 'next/head'\n\nimport { BodySnippet } from './BodySnippet'\nimport { DocumentReference } from '../../runtimes/react'\nimport { createDocumentReference } from '../../state/react-page'\n\nenum SnippetLocation {\n Body = 'BODY',\n Head = 'HEAD',\n}\n\ntype Snippet = {\n builderEnabled: boolean\n cleanup?: string | null\n code: string\n id: string\n liveEnabled: boolean\n location: SnippetLocation\n}\n\nexport type PageData = {\n id: string\n meta: {\n title?: string | null | undefined\n description?: string | null | undefined\n keywords?: string | null | undefined\n socialImage?: { id: string; publicUrl: any; mimetype: any } | null | undefined\n favicon?: { id: string; publicUrl: any; mimetype: any } | null | undefined\n }\n snippets: Snippet[]\n fonts: Array<{\n family: string\n variants: string[]\n }>\n seo: {\n canonicalUrl?: string | null | undefined\n isIndexingBlocked?: boolean | null | undefined\n }\n}\n\nconst defaultFavicon = {\n mimetype: 'image/png',\n publicUrl:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAABcRAAAXEQHKJvM/AAABjElEQVRYhc2XzU3EMBCFB8TddAAXn6EE6GCpgNABZ1/IXnymBOgAOmA7YM8+ABVsXEHQQFaKQryeN3Yk3ilKJtEnv/nLUd/3pFG0riGi88yrnQn+UfJ5FUi0riWiB2H4nQn+KRd0DFP8agXEfkqCYJBoHdtxIQxfm+DfFgEhoith3NYE30o/qgGR2BJB+xY7kdYEL8oNFUi0jiFMJuxVWrJqEMFxsyUNCsE6AeNztvBp7aJ143vXksoRnwhYtmNdSoIQa6RlO9YXEWW7KgoCleOgxgTf1QZBT+RZ2lXFING6UxCCq+ceeUE8fYdknY599v9sJvzGBP+yCEgC7GPmETc0OJ+0awAlkhe2pAbIXAeFZ8xe2g2Nk3c3ub0xwWt6zY9qbmiqGVMbZK21ZC/YmhlbeBMTzZNDQqcvDb1kM1x32iqZSt1HaqukfKvq34BAOTLsrH+ETNmUkKHHA+428RgeclPVWozeSyAI2EdWB34jtqXNTAySOY3i/KgFIlqOa4GkFmBegorzg4joG07he/M7zl6jAAAAAElFTkSuQmCC',\n}\n\n// Taken from https://github.com/facebook/react/blob/14bac6193a334eda42e727336e8967419f08f5df/packages/react-dom/src/server/ReactPartialRenderer.js#L208\nconst VALID_TAG_REGEX = /^[a-zA-Z][a-zA-Z:_.\\-\\d]*$/\n\nconst VALID_HEAD_ELEMENT_TYPES = [\n 'title',\n 'base',\n 'link',\n 'style',\n 'meta',\n 'script',\n 'noscript',\n 'template',\n]\n\nfunction snippetToElement(snippet: Pick<Snippet, 'id' | 'code'>): (string | ReactElement)[] {\n return Children.map(parse(snippet.code), element => {\n if (typeof element === 'string') return element\n\n if (!VALID_TAG_REGEX.test(element.type)) return null\n\n const key = element.key ? `${snippet.id}:${element.key}` : snippet.id\n\n return createElement(element.type, { ...element.props, key })\n })\n}\n\ntype Props = {\n page: PageData\n preview?: boolean\n}\n\nexport function Page({ page, preview = false }: Props): JSX.Element {\n const favicon = page.meta.favicon ?? defaultFavicon\n const { title, description, keywords, socialImage } = page.meta\n const { canonicalUrl, isIndexingBlocked } = page.seo\n const fontFamilyParamValue = page.fonts\n .map(({ family, variants }) => {\n return `${family.replace(/ /g, '+')}:${variants.join()}`\n })\n .join('|')\n const snippets = useMemo(\n () => page.snippets.filter(snippet => (preview ? snippet.builderEnabled : snippet.liveEnabled)),\n [page, preview],\n )\n const headSnippets = useMemo(\n () => snippets.filter(snippet => snippet.location === SnippetLocation.Head),\n [snippets],\n )\n\n const previousHeadSnippets = useRef<PageData['snippets'] | null>(null)\n useEffect(() => {\n const headSnippetsToCleanUp = (previousHeadSnippets.current ?? [])\n .filter(previousSnippet => previousSnippet.cleanup != null)\n .filter(previousSnippet => !headSnippets.some(snippet => previousSnippet.id === snippet.id))\n\n headSnippetsToCleanUp.forEach(snippetToCleanUp => {\n if (snippetToCleanUp.cleanup == null) return\n\n const cleanUp = new Function(snippetToCleanUp.cleanup)\n\n try {\n cleanUp()\n } catch {\n // Ignore errors from user input.\n }\n })\n\n previousHeadSnippets.current = headSnippets\n }, [headSnippets])\n\n return (\n <>\n <Head>\n <style>\n {`\n html {\n font-family: sans-serif;\n }\n div#__next {\n overflow: hidden;\n }\n `}\n </style>\n\n <link rel=\"icon\" type={favicon.mimetype} href={favicon.publicUrl} />\n\n {canonicalUrl && <link rel=\"canonical\" href={canonicalUrl} />}\n\n {isIndexingBlocked && <meta name=\"robots\" content=\"noindex\" />}\n\n {title && (\n <>\n <title>{title}</title>\n <meta property=\"og:title\" content={title} />\n <meta name=\"twitter:title\" content={title} />\n <meta itemProp=\"name\" content={title} />\n </>\n )}\n\n {description && (\n <>\n <meta name=\"description\" content={description} />\n <meta property=\"og:description\" content={description} />\n <meta name=\"twitter:description\" content={description} />\n <meta itemProp=\"description\" content={description} />\n </>\n )}\n\n {keywords && <meta name=\"keywords\" content={keywords} />}\n\n {socialImage && (\n <>\n <meta property=\"og:image\" content={socialImage.publicUrl} />\n <meta property=\"og:image:type\" content={socialImage.publicUrl} />\n <meta name=\"twitter:image\" content={socialImage.publicUrl} />\n <meta name=\"twitter:card\" content={socialImage.publicUrl} />\n <meta itemProp=\"image\" content={socialImage.publicUrl} />\n </>\n )}\n\n {fontFamilyParamValue !== '' && (\n <>\n <link\n rel=\"stylesheet\"\n href={`https://fonts.googleapis.com/css?family=${fontFamilyParamValue}&display=swap`}\n />\n </>\n )}\n\n {headSnippets.map(snippetToElement).map(children =>\n Children.map(children, child => {\n if (typeof child === 'string') return child\n\n if (VALID_HEAD_ELEMENT_TYPES.includes(child.type as string)) return child\n\n return null\n }),\n )}\n </Head>\n\n <DocumentReference documentReference={createDocumentReference(page.id)} />\n\n {snippets\n .filter(snippet => snippet.location === SnippetLocation.Body)\n .map(snippet => (\n <BodySnippet key={snippet.id} code={snippet.code} cleanup={snippet.cleanup} />\n ))}\n </>\n )\n}\n"],"names":["SCRIPT_TAG","code","cleanup","useEffect","container","document","createElement","innerHTML","walker","createTreeWalker","NodeFilter","SHOW_ELEMENT","scripts","nextNode","currentNode","HTMLScriptElement","push","forEach","inlineScript","executableScript","textContent","Array","from","attributes","name","value","setAttribute","parentNode","replaceChild","nodes","childNodes","body","append","node","removeChild","cleanUp","Function","defaultFavicon","mimetype","publicUrl","VALID_TAG_REGEX","VALID_HEAD_ELEMENT_TYPES","snippet","Children","map","parse","element","test","type","key","id","props","page","preview","favicon","meta","title","description","keywords","socialImage","canonicalUrl","isIndexingBlocked","seo","fontFamilyParamValue","fonts","family","variants","replace","join","snippets","useMemo","filter","builderEnabled","liveEnabled","headSnippets","location","SnippetLocation","previousHeadSnippets","useRef","headSnippetsToCleanUp","current","previousSnippet","some","snippetToCleanUp","_Fragment","_jsxs","_jsx","snippetToElement","children","child","includes","createDocumentReference"],"mappings":"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"}
|