@comet/site-nextjs 9.0.0-canary-20251013121422 → 9.0.0-canary-20251113142723
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/lib/blocks/DamVideoBlock.js +4 -10
- package/lib/blocks/PixelImageBlock.js +1 -9
- package/lib/blocks/VimeoVideoBlock.js +2 -9
- package/lib/blocks/YouTubeVideoBlock.d.ts.map +1 -1
- package/lib/blocks/YouTubeVideoBlock.js +12 -10
- package/lib/blocks/factories/SeoBlock.js +0 -9
- package/lib/blocks.generated.d.ts +1 -1
- package/lib/blocks.generated.d.ts.map +1 -1
- package/lib/image/Image.js +0 -9
- package/lib/index.d.ts +2 -8
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +30 -24
- package/lib/{blocks → site-react/lib/blocks}/DamFileDownloadLinkBlock.js +1 -8
- package/lib/{blocks → site-react/lib/blocks}/ExternalLinkBlock.js +1 -9
- package/lib/site-react/lib/graphQLFetch/fetchInMemoryCache.js +2 -2
- package/lib/site-react/lib/iframebridge/IFrameBridge.js +1 -1
- package/lib/site-react/lib/iframebridge/withPreview.js +1 -1
- package/lib/site-react/lib/persistedQueries/createPersistedQueryGraphQLFetch.js +68 -0
- package/lib/site-react/lib/persistedQueries/persistedQueryRoute.js +100 -0
- package/lib/site-react/lib/persistedQueries/webpackPersistedQueriesLoader.js +51 -0
- package/lib/sitePreview/SitePreviewProvider.d.ts.map +1 -1
- package/lib/sitePreview/SitePreviewProvider.js +3 -10
- package/lib/style.css +1 -1
- package/package.json +14 -10
- package/lib/blocks/DamFileDownloadLinkBlock.d.ts +0 -12
- package/lib/blocks/DamFileDownloadLinkBlock.d.ts.map +0 -1
- package/lib/blocks/EmailLinkBlock.d.ts +0 -12
- package/lib/blocks/EmailLinkBlock.d.ts.map +0 -1
- package/lib/blocks/ExternalLinkBlock.d.ts +0 -12
- package/lib/blocks/ExternalLinkBlock.d.ts.map +0 -1
- package/lib/blocks/PhoneLinkBlock.d.ts +0 -12
- package/lib/blocks/PhoneLinkBlock.d.ts.map +0 -1
- package/lib/sitePreview/iframebridge/SitePreviewIFrameMessage.d.ts +0 -18
- package/lib/sitePreview/iframebridge/SitePreviewIFrameMessage.d.ts.map +0 -1
- package/lib/sitePreview/iframebridge/sendSitePreviewIFrameMessage.d.ts +0 -3
- package/lib/sitePreview/iframebridge/sendSitePreviewIFrameMessage.d.ts.map +0 -1
- /package/lib/{blocks → site-react/lib/blocks}/EmailLinkBlock.js +0 -0
- /package/lib/{blocks → site-react/lib/blocks}/PhoneLinkBlock.js +0 -0
- /package/lib/{sitePreview → site-react/lib/sitePreview}/iframebridge/SitePreviewIFrameMessage.js +0 -0
- /package/lib/{sitePreview → site-react/lib/sitePreview}/iframebridge/sendSitePreviewIFrameMessage.js +0 -0
|
@@ -1,17 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx, Fragment, jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { useState, useRef } from "react";
|
|
4
|
-
import "../site-react/lib/errorHandler/ErrorHandlerProvider.js";
|
|
5
|
-
import { PreviewSkeleton } from "../site-react/lib/previewskeleton/PreviewSkeleton.js";
|
|
6
3
|
import { useIsElementInViewport } from "../site-react/lib/blocks/helpers/useIsElementInViewport.js";
|
|
7
4
|
import { withPreview } from "../site-react/lib/iframebridge/withPreview.js";
|
|
8
|
-
import "../site-react/lib/
|
|
9
|
-
import "../site-react/lib/iframebridge/IFrameBridge.js";
|
|
10
|
-
import "../site-react/lib/preview/PreviewContext.js";
|
|
11
|
-
import "usehooks-ts";
|
|
12
|
-
import "scroll-into-view-if-needed";
|
|
13
|
-
import "../site-react/lib/preview/BlockPreviewProvider.js";
|
|
5
|
+
import { PreviewSkeleton } from "../site-react/lib/previewskeleton/PreviewSkeleton.js";
|
|
14
6
|
import clsx from "clsx";
|
|
7
|
+
import { useState, useRef } from "react";
|
|
15
8
|
import styles from "./DamVideoBlock.module.scss.js";
|
|
16
9
|
import { VideoPreviewImage } from "./helpers/VideoPreviewImage.js";
|
|
17
10
|
const DamVideoBlock = withPreview(
|
|
@@ -24,6 +17,7 @@ const DamVideoBlock = withPreview(
|
|
|
24
17
|
previewImageIcon,
|
|
25
18
|
playButtonAriaLabel
|
|
26
19
|
}) => {
|
|
20
|
+
var _a;
|
|
27
21
|
if (damFile === void 0) {
|
|
28
22
|
return /* @__PURE__ */ jsx(PreviewSkeleton, { type: "media", hasContent: false, aspectRatio });
|
|
29
23
|
}
|
|
@@ -69,7 +63,7 @@ const DamVideoBlock = withPreview(
|
|
|
69
63
|
className: clsx(styles.video, fill && styles.fill),
|
|
70
64
|
style: !fill ? { "--aspect-ratio": aspectRatio.replace("x", " / ") } : void 0,
|
|
71
65
|
children: [
|
|
72
|
-
damFile.captions.map((caption) => {
|
|
66
|
+
(_a = damFile.captions) == null ? void 0 : _a.map((caption) => {
|
|
73
67
|
return /* @__PURE__ */ jsx("track", { src: caption.fileUrl, kind: "captions", srcLang: caption.language }, caption.id);
|
|
74
68
|
}),
|
|
75
69
|
/* @__PURE__ */ jsx("source", { src: damFile.fileUrl, type: damFile.mimetype })
|
|
@@ -1,16 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
|
-
import "react";
|
|
4
|
-
import "../site-react/lib/errorHandler/ErrorHandlerProvider.js";
|
|
5
|
-
import { PreviewSkeleton } from "../site-react/lib/previewskeleton/PreviewSkeleton.js";
|
|
6
3
|
import { withPreview } from "../site-react/lib/iframebridge/withPreview.js";
|
|
7
|
-
import "../site-react/lib/cookies/CookieApiContext.js";
|
|
8
|
-
import "../site-react/lib/iframebridge/IFrameBridge.js";
|
|
9
|
-
import "../site-react/lib/preview/PreviewContext.js";
|
|
10
|
-
import "usehooks-ts";
|
|
11
|
-
import "scroll-into-view-if-needed";
|
|
12
4
|
import { calculateInheritAspectRatio, parseAspectRatio, getMaxDimensionsFromArea, generateImageUrl } from "../site-react/lib/image/image.utils.js";
|
|
13
|
-
import "../site-react/lib/
|
|
5
|
+
import { PreviewSkeleton } from "../site-react/lib/previewskeleton/PreviewSkeleton.js";
|
|
14
6
|
import NextImage from "next/image";
|
|
15
7
|
import styles from "./PixelImageBlock.module.scss.js";
|
|
16
8
|
const PixelImageBlock = withPreview(
|
|
@@ -1,17 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx, Fragment } from "react/jsx-runtime";
|
|
3
|
-
import { useState, useRef } from "react";
|
|
4
|
-
import "../site-react/lib/errorHandler/ErrorHandlerProvider.js";
|
|
5
|
-
import { PreviewSkeleton } from "../site-react/lib/previewskeleton/PreviewSkeleton.js";
|
|
6
3
|
import { useIsElementInViewport } from "../site-react/lib/blocks/helpers/useIsElementInViewport.js";
|
|
7
4
|
import { withPreview } from "../site-react/lib/iframebridge/withPreview.js";
|
|
8
|
-
import "../site-react/lib/
|
|
9
|
-
import "../site-react/lib/iframebridge/IFrameBridge.js";
|
|
10
|
-
import "../site-react/lib/preview/PreviewContext.js";
|
|
11
|
-
import "usehooks-ts";
|
|
12
|
-
import "scroll-into-view-if-needed";
|
|
13
|
-
import "../site-react/lib/preview/BlockPreviewProvider.js";
|
|
5
|
+
import { PreviewSkeleton } from "../site-react/lib/previewskeleton/PreviewSkeleton.js";
|
|
14
6
|
import clsx from "clsx";
|
|
7
|
+
import { useState, useRef } from "react";
|
|
15
8
|
import { VideoPreviewImage } from "./helpers/VideoPreviewImage.js";
|
|
16
9
|
import styles from "./VimeoVideoBlock.module.scss.js";
|
|
17
10
|
function parseVimeoIdentifier(vimeoIdentifier) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YouTubeVideoBlock.d.ts","sourceRoot":"","sources":["../../src/blocks/YouTubeVideoBlock.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAmB,KAAK,aAAa,EAAuC,MAAM,mBAAmB,CAAC;AAE7G,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAoB,MAAM,OAAO,CAAC;AAE5E,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAqB,KAAK,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAc7F,UAAU,sBAAuB,SAAQ,aAAa,CAAC,qBAAqB,CAAC;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,YAAY,CAAC;IACrE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"YouTubeVideoBlock.d.ts","sourceRoot":"","sources":["../../src/blocks/YouTubeVideoBlock.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAmB,KAAK,aAAa,EAAuC,MAAM,mBAAmB,CAAC;AAE7G,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAoB,MAAM,OAAO,CAAC;AAE5E,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAqB,KAAK,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAc7F,UAAU,sBAAuB,SAAQ,aAAa,CAAC,qBAAqB,CAAC;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,YAAY,CAAC;IACrE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,eAAO,MAAM,iBAAiB,2IAmG7B,CAAC"}
|
|
@@ -1,17 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx, Fragment } from "react/jsx-runtime";
|
|
3
|
-
import { useState, useRef } from "react";
|
|
4
|
-
import "../site-react/lib/errorHandler/ErrorHandlerProvider.js";
|
|
5
|
-
import { PreviewSkeleton } from "../site-react/lib/previewskeleton/PreviewSkeleton.js";
|
|
6
3
|
import { useIsElementInViewport } from "../site-react/lib/blocks/helpers/useIsElementInViewport.js";
|
|
7
4
|
import { withPreview } from "../site-react/lib/iframebridge/withPreview.js";
|
|
8
|
-
import "../site-react/lib/
|
|
9
|
-
import "../site-react/lib/iframebridge/IFrameBridge.js";
|
|
10
|
-
import "../site-react/lib/preview/PreviewContext.js";
|
|
11
|
-
import "usehooks-ts";
|
|
12
|
-
import "scroll-into-view-if-needed";
|
|
13
|
-
import "../site-react/lib/preview/BlockPreviewProvider.js";
|
|
5
|
+
import { PreviewSkeleton } from "../site-react/lib/previewskeleton/PreviewSkeleton.js";
|
|
14
6
|
import clsx from "clsx";
|
|
7
|
+
import { useState, useRef } from "react";
|
|
15
8
|
import { VideoPreviewImage } from "./helpers/VideoPreviewImage.js";
|
|
16
9
|
import styles from "./YouTubeVideoBlock.module.scss.js";
|
|
17
10
|
const EXPECTED_YT_ID_LENGTH = 11;
|
|
@@ -92,7 +85,16 @@ const YouTubeVideoBlock = withPreview(
|
|
|
92
85
|
ref: inViewRef,
|
|
93
86
|
className: clsx(styles.videoContainer, fill && styles.fill),
|
|
94
87
|
style: !fill ? { "--aspect-ratio": aspectRatio.replace("x", "/") } : void 0,
|
|
95
|
-
children: /* @__PURE__ */ jsx(
|
|
88
|
+
children: /* @__PURE__ */ jsx(
|
|
89
|
+
"iframe",
|
|
90
|
+
{
|
|
91
|
+
ref: iframeRef,
|
|
92
|
+
className: styles.youtubeContainer,
|
|
93
|
+
allow: "autoplay",
|
|
94
|
+
referrerPolicy: "strict-origin-when-cross-origin",
|
|
95
|
+
src: youtubeUrl.toString()
|
|
96
|
+
}
|
|
97
|
+
)
|
|
96
98
|
}
|
|
97
99
|
) });
|
|
98
100
|
},
|
|
@@ -1,14 +1,5 @@
|
|
|
1
1
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
-
import "react";
|
|
3
|
-
import "../../site-react/lib/errorHandler/ErrorHandlerProvider.js";
|
|
4
|
-
import "../../site-react/lib/iframebridge/IFrameBridge.js";
|
|
5
|
-
import "../../site-react/lib/preview/PreviewContext.js";
|
|
6
|
-
import "../../site-react/lib/iframebridge/withPreview.js";
|
|
7
|
-
import "../../site-react/lib/cookies/CookieApiContext.js";
|
|
8
|
-
import "usehooks-ts";
|
|
9
|
-
import "scroll-into-view-if-needed";
|
|
10
2
|
import { generateImageUrl } from "../../site-react/lib/image/image.utils.js";
|
|
11
|
-
import "../../site-react/lib/preview/BlockPreviewProvider.js";
|
|
12
3
|
import Head from "next/head";
|
|
13
4
|
const SeoBlock = ({
|
|
14
5
|
data: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blocks.generated.d.ts","sourceRoot":"","sources":["../src/blocks.generated.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AACD,MAAM,WAAW,4BAA4B;IACzC,IAAI,CAAC,EAAE;QACH,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,YAAY,EAAE,QAAQ,GAAG,UAAU,CAAC;CACvC;AACD,MAAM,WAAW,iBAAiB;IAC9B,cAAc,EAAE,KAAK,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,mBAAmB,GAAG,iBAAiB,CAAC;KAClD,CAAC,CAAC;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,mBAAmB,GAAG,iBAAiB,CAAC;KAClD,CAAC;CACL;AACD,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,mBAAmB,CAAC;IAClC,OAAO,CAAC,EAAE;QACN,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,OAAO,CAAC;QAClB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"blocks.generated.d.ts","sourceRoot":"","sources":["../src/blocks.generated.ts"],"names":[],"mappings":"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"}
|
package/lib/image/Image.js
CHANGED
|
@@ -1,14 +1,5 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import "react";
|
|
3
|
-
import "../site-react/lib/errorHandler/ErrorHandlerProvider.js";
|
|
4
|
-
import "../site-react/lib/iframebridge/IFrameBridge.js";
|
|
5
|
-
import "../site-react/lib/preview/PreviewContext.js";
|
|
6
|
-
import "../site-react/lib/iframebridge/withPreview.js";
|
|
7
|
-
import "../site-react/lib/cookies/CookieApiContext.js";
|
|
8
|
-
import "usehooks-ts";
|
|
9
|
-
import "scroll-into-view-if-needed";
|
|
10
2
|
import { parseAspectRatio, generateImageUrl } from "../site-react/lib/image/image.utils.js";
|
|
11
|
-
import "../site-react/lib/preview/BlockPreviewProvider.js";
|
|
12
3
|
import NextImage from "next/image";
|
|
13
4
|
function Image({ aspectRatio, ...nextImageProps }) {
|
|
14
5
|
const usedAspectRatio = parseAspectRatio(aspectRatio);
|
package/lib/index.d.ts
CHANGED
|
@@ -1,24 +1,18 @@
|
|
|
1
|
-
export { DamFileDownloadLinkBlock } from './blocks/DamFileDownloadLinkBlock';
|
|
2
1
|
export { DamVideoBlock } from './blocks/DamVideoBlock';
|
|
3
|
-
export { EmailLinkBlock } from './blocks/EmailLinkBlock';
|
|
4
|
-
export { ExternalLinkBlock } from './blocks/ExternalLinkBlock';
|
|
5
2
|
export { SeoBlock } from './blocks/factories/SeoBlock';
|
|
6
3
|
export type { VideoPreviewImageProps } from './blocks/helpers/VideoPreviewImage';
|
|
7
4
|
export { VideoPreviewImage } from './blocks/helpers/VideoPreviewImage';
|
|
8
5
|
export { InternalLinkBlock } from './blocks/InternalLinkBlock';
|
|
9
|
-
export { PhoneLinkBlock } from './blocks/PhoneLinkBlock';
|
|
10
6
|
export { PixelImageBlock } from './blocks/PixelImageBlock';
|
|
11
7
|
export { VimeoVideoBlock } from './blocks/VimeoVideoBlock';
|
|
12
8
|
export { YouTubeVideoBlock } from './blocks/YouTubeVideoBlock';
|
|
13
9
|
export { createFetchWithDefaultNextRevalidate, createFetchWithDefaults } from './graphQLFetch/graphQLFetch';
|
|
14
10
|
export { Image } from './image/Image';
|
|
15
11
|
export { sitePreviewRoute } from './sitePreview/appRouter/sitePreviewRoute';
|
|
16
|
-
export { sendSitePreviewIFrameMessage } from './sitePreview/iframebridge/sendSitePreviewIFrameMessage';
|
|
17
|
-
export { SitePreviewIFrameMessageType } from './sitePreview/iframebridge/SitePreviewIFrameMessage';
|
|
18
12
|
export { legacyPagesRouterSitePreviewApiHandler } from './sitePreview/pagesRouter/legacyPagesRouterSitePreviewApiHandler';
|
|
19
13
|
export { legacyPagesRouterPreviewParams, previewParams, type SitePreviewParams } from './sitePreview/previewUtils';
|
|
20
14
|
export { SitePreviewProvider } from './sitePreview/SitePreviewProvider';
|
|
21
|
-
export { AdminMessageType, type BlockLoader, type BlockLoaderDependencies, BlockPreviewProvider, BlocksBlock, calculateInheritAspectRatio, convertPreviewDataToHeaders, type CookieApi, CookieApiProvider, CookieSafe, createFetchWithPreviewHeaders, createGraphQLFetch, ErrorHandlerBoundary, ErrorHandlerProvider, generateImageUrl, getMaxDimensionsFromArea, gql, type GraphQLFetch, hasRichTextBlockContent, type IAdminContentScopeMessage, type IAdminGraphQLApiUrlMessage, type IAdminHoverComponentMessage, type IAdminShowOnlyVisibleMessage, IFrameBridgeProvider, type IFrameHoverComponentMessage, type IFrameLocationMessage, type IFrameMessage, IFrameMessageType, type IFrameOpenLinkMessage, type IFrameSelectComponentMessage, type ImageDimensions, type IReadyIFrameMessage, isWithPreviewPropsData, ListBlock, OneOfBlock, OptionalBlock, parseAspectRatio, Preview, type PreviewData, PreviewSkeleton, type PropsWithData, recursivelyLoadBlockData,
|
|
15
|
+
export { AdminMessageType, type BlockLoader, type BlockLoaderDependencies, BlockPreviewProvider, BlocksBlock, calculateInheritAspectRatio, convertPreviewDataToHeaders, type CookieApi, CookieApiProvider, CookieSafe, createFetchInMemoryCache, createFetchWithPreviewHeaders, createGraphQLFetch, createPersistedQueryGraphQLFetch, DamFileDownloadLinkBlock, EmailLinkBlock, ErrorHandlerBoundary, ErrorHandlerProvider, ExternalLinkBlock, generateImageUrl, getMaxDimensionsFromArea, gql, type GraphQLFetch, hasRichTextBlockContent, type IAdminContentScopeMessage, type IAdminGraphQLApiUrlMessage, type IAdminHoverComponentMessage, type IAdminShowOnlyVisibleMessage, IFrameBridgeProvider, type IFrameHoverComponentMessage, type IFrameLocationMessage, type IFrameMessage, IFrameMessageType, type IFrameOpenLinkMessage, type IFrameSelectComponentMessage, type ImageDimensions, type IReadyIFrameMessage, isWithPreviewPropsData, ListBlock, OneOfBlock, OptionalBlock, parseAspectRatio, persistedQueryRoute, PhoneLinkBlock, Preview, type PreviewData, PreviewSkeleton, type PropsWithData, recursivelyLoadBlockData, sendSitePreviewIFrameMessage,
|
|
22
16
|
/** @deprecated Use PreviewData instead. */
|
|
23
|
-
type PreviewData as SitePreviewData, type SupportedBlocks, SvgImageBlock, useBlockPreviewFetch, useCookieApi, useCookieBotCookieApi, useIFrameBridge, useIsElementInViewport, useLocalStorageCookieApi, useOneTrustCookieApi, usePreview, withPreview, type WithPreviewProps, } from '@comet/site-react';
|
|
17
|
+
type PreviewData as SitePreviewData, SitePreviewIFrameMessageType, type SupportedBlocks, SvgImageBlock, useBlockPreviewFetch, useCookieApi, useCookieBotCookieApi, useIFrameBridge, useIsElementInViewport, useLocalStorageCookieApi, useOneTrustCookieApi, usePreview, webpackPersistedQueriesLoader, withPreview, type WithPreviewProps, } from '@comet/site-react';
|
|
24
18
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAC;AAE/B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,YAAY,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,oCAAoC,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC5G,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,sCAAsC,EAAE,MAAM,kEAAkE,CAAC;AAC1H,OAAO,EAAE,8BAA8B,EAAE,aAAa,EAAE,KAAK,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACnH,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EACH,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,uBAAuB,EAC5B,oBAAoB,EACpB,WAAW,EACX,2BAA2B,EAC3B,2BAA2B,EAC3B,KAAK,SAAS,EACd,iBAAiB,EACjB,UAAU,EACV,wBAAwB,EACxB,6BAA6B,EAC7B,kBAAkB,EAClB,gCAAgC,EAChC,wBAAwB,EACxB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACxB,GAAG,EACH,KAAK,YAAY,EACjB,uBAAuB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,oBAAoB,EACpB,KAAK,2BAA2B,EAChC,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,iBAAiB,EACjB,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EACjC,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,sBAAsB,EACtB,SAAS,EACT,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,OAAO,EACP,KAAK,WAAW,EAChB,eAAe,EACf,KAAK,aAAa,EAClB,wBAAwB,EACxB,4BAA4B;AAC5B,2CAA2C;AAC3C,KAAK,WAAW,IAAI,eAAe,EACnC,4BAA4B,EAC5B,KAAK,eAAe,EACpB,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACrB,eAAe,EACf,sBAAsB,EACtB,wBAAwB,EACxB,oBAAoB,EACpB,UAAU,EACV,6BAA6B,EAC7B,WAAW,EACX,KAAK,gBAAgB,GACxB,MAAM,mBAAmB,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -1,51 +1,53 @@
|
|
|
1
1
|
/* empty css */
|
|
2
|
-
import { DamFileDownloadLinkBlock } from "./blocks/DamFileDownloadLinkBlock.js";
|
|
3
2
|
import { DamVideoBlock } from "./blocks/DamVideoBlock.js";
|
|
4
|
-
import { EmailLinkBlock } from "./blocks/EmailLinkBlock.js";
|
|
5
|
-
import { ExternalLinkBlock } from "./blocks/ExternalLinkBlock.js";
|
|
6
3
|
import { SeoBlock } from "./blocks/factories/SeoBlock.js";
|
|
7
4
|
import { VideoPreviewImage } from "./blocks/helpers/VideoPreviewImage.js";
|
|
8
5
|
import { InternalLinkBlock } from "./blocks/InternalLinkBlock.js";
|
|
9
|
-
import { PhoneLinkBlock } from "./blocks/PhoneLinkBlock.js";
|
|
10
6
|
import { PixelImageBlock } from "./blocks/PixelImageBlock.js";
|
|
11
7
|
import { VimeoVideoBlock } from "./blocks/VimeoVideoBlock.js";
|
|
12
8
|
import { YouTubeVideoBlock } from "./blocks/YouTubeVideoBlock.js";
|
|
13
9
|
import { createFetchWithDefaultNextRevalidate, createFetchWithDefaults } from "./graphQLFetch/graphQLFetch.js";
|
|
14
10
|
import { Image } from "./image/Image.js";
|
|
15
11
|
import { sitePreviewRoute } from "./sitePreview/appRouter/sitePreviewRoute.js";
|
|
16
|
-
import { sendSitePreviewIFrameMessage } from "./sitePreview/iframebridge/sendSitePreviewIFrameMessage.js";
|
|
17
|
-
import { SitePreviewIFrameMessageType } from "./sitePreview/iframebridge/SitePreviewIFrameMessage.js";
|
|
18
12
|
import { legacyPagesRouterSitePreviewApiHandler } from "./sitePreview/pagesRouter/legacyPagesRouterSitePreviewApiHandler.js";
|
|
19
13
|
import { legacyPagesRouterPreviewParams, previewParams } from "./sitePreview/previewUtils.js";
|
|
20
14
|
import { SitePreviewProvider } from "./sitePreview/SitePreviewProvider.js";
|
|
21
|
-
import {
|
|
15
|
+
import { AdminMessageType, IFrameMessageType } from "./site-react/lib/iframebridge/IFrameMessage.js";
|
|
16
|
+
import { BlockPreviewProvider } from "./site-react/lib/preview/BlockPreviewProvider.js";
|
|
22
17
|
import { BlocksBlock } from "./site-react/lib/blocks/factories/BlocksBlock.js";
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import { OptionalBlock } from "./site-react/lib/blocks/factories/OptionalBlock.js";
|
|
26
|
-
import { hasRichTextBlockContent } from "./site-react/lib/blocks/helpers/RichTextBlockHelper.js";
|
|
27
|
-
import { useIsElementInViewport } from "./site-react/lib/blocks/helpers/useIsElementInViewport.js";
|
|
28
|
-
import { SvgImageBlock } from "./site-react/lib/blocks/SvgImageBlock.js";
|
|
18
|
+
import { calculateInheritAspectRatio, generateImageUrl, getMaxDimensionsFromArea, parseAspectRatio } from "./site-react/lib/image/image.utils.js";
|
|
19
|
+
import { convertPreviewDataToHeaders, createFetchWithPreviewHeaders, createGraphQLFetch, gql } from "./site-react/lib/graphQLFetch/graphQLFetch.js";
|
|
29
20
|
import { CookieApiProvider, useCookieApi } from "./site-react/lib/cookies/CookieApiContext.js";
|
|
30
21
|
import { CookieSafe } from "./site-react/lib/cookies/CookieSafe.js";
|
|
31
|
-
import {
|
|
32
|
-
import {
|
|
33
|
-
import {
|
|
22
|
+
import { createFetchInMemoryCache } from "./site-react/lib/graphQLFetch/fetchInMemoryCache.js";
|
|
23
|
+
import { createPersistedQueryGraphQLFetch } from "./site-react/lib/persistedQueries/createPersistedQueryGraphQLFetch.js";
|
|
24
|
+
import { DamFileDownloadLinkBlock } from "./site-react/lib/blocks/DamFileDownloadLinkBlock.js";
|
|
25
|
+
import { EmailLinkBlock } from "./site-react/lib/blocks/EmailLinkBlock.js";
|
|
34
26
|
import { ErrorHandlerBoundary } from "./site-react/lib/errorHandler/ErrorHandlerBoundary.js";
|
|
35
27
|
import { ErrorHandlerProvider } from "./site-react/lib/errorHandler/ErrorHandlerProvider.js";
|
|
36
|
-
import {
|
|
28
|
+
import { ExternalLinkBlock } from "./site-react/lib/blocks/ExternalLinkBlock.js";
|
|
29
|
+
import { hasRichTextBlockContent } from "./site-react/lib/blocks/helpers/RichTextBlockHelper.js";
|
|
37
30
|
import { IFrameBridgeProvider } from "./site-react/lib/iframebridge/IFrameBridge.js";
|
|
38
|
-
import {
|
|
31
|
+
import { isWithPreviewPropsData, withPreview } from "./site-react/lib/iframebridge/withPreview.js";
|
|
32
|
+
import { ListBlock } from "./site-react/lib/blocks/factories/ListBlock.js";
|
|
33
|
+
import { OneOfBlock } from "./site-react/lib/blocks/factories/OneOfBlock.js";
|
|
34
|
+
import { OptionalBlock } from "./site-react/lib/blocks/factories/OptionalBlock.js";
|
|
35
|
+
import { persistedQueryRoute } from "./site-react/lib/persistedQueries/persistedQueryRoute.js";
|
|
36
|
+
import { PhoneLinkBlock } from "./site-react/lib/blocks/PhoneLinkBlock.js";
|
|
39
37
|
import { Preview } from "./site-react/lib/iframebridge/Preview.js";
|
|
38
|
+
import { PreviewSkeleton } from "./site-react/lib/previewskeleton/PreviewSkeleton.js";
|
|
39
|
+
import { recursivelyLoadBlockData } from "./site-react/lib/blockLoader/blockLoader.js";
|
|
40
|
+
import { sendSitePreviewIFrameMessage } from "./site-react/lib/sitePreview/iframebridge/sendSitePreviewIFrameMessage.js";
|
|
41
|
+
import { SitePreviewIFrameMessageType } from "./site-react/lib/sitePreview/iframebridge/SitePreviewIFrameMessage.js";
|
|
42
|
+
import { SvgImageBlock } from "./site-react/lib/blocks/SvgImageBlock.js";
|
|
40
43
|
import { useBlockPreviewFetch } from "./site-react/lib/iframebridge/useBlockPreviewFetch.js";
|
|
44
|
+
import { useCookieBotCookieApi } from "./site-react/lib/cookies/useCookieBotCookieApi.js";
|
|
41
45
|
import { useIFrameBridge } from "./site-react/lib/iframebridge/useIFrameBridge.js";
|
|
42
|
-
import {
|
|
43
|
-
import "react/
|
|
44
|
-
import {
|
|
45
|
-
import { BlockPreviewProvider } from "./site-react/lib/preview/BlockPreviewProvider.js";
|
|
46
|
-
import "./site-react/lib/preview/PreviewContext.js";
|
|
46
|
+
import { useIsElementInViewport } from "./site-react/lib/blocks/helpers/useIsElementInViewport.js";
|
|
47
|
+
import { useLocalStorageCookieApi } from "./site-react/lib/cookies/useLocalStorageCookieApi.js";
|
|
48
|
+
import { useOneTrustCookieApi } from "./site-react/lib/cookies/useOneTrustCookieApi.js";
|
|
47
49
|
import { usePreview } from "./site-react/lib/preview/usePreview.js";
|
|
48
|
-
import {
|
|
50
|
+
import { default as default2 } from "./site-react/lib/persistedQueries/webpackPersistedQueriesLoader.js";
|
|
49
51
|
export {
|
|
50
52
|
AdminMessageType,
|
|
51
53
|
BlockPreviewProvider,
|
|
@@ -78,10 +80,12 @@ export {
|
|
|
78
80
|
YouTubeVideoBlock,
|
|
79
81
|
calculateInheritAspectRatio,
|
|
80
82
|
convertPreviewDataToHeaders,
|
|
83
|
+
createFetchInMemoryCache,
|
|
81
84
|
createFetchWithDefaultNextRevalidate,
|
|
82
85
|
createFetchWithDefaults,
|
|
83
86
|
createFetchWithPreviewHeaders,
|
|
84
87
|
createGraphQLFetch,
|
|
88
|
+
createPersistedQueryGraphQLFetch,
|
|
85
89
|
generateImageUrl,
|
|
86
90
|
getMaxDimensionsFromArea,
|
|
87
91
|
gql,
|
|
@@ -90,6 +94,7 @@ export {
|
|
|
90
94
|
legacyPagesRouterPreviewParams,
|
|
91
95
|
legacyPagesRouterSitePreviewApiHandler,
|
|
92
96
|
parseAspectRatio,
|
|
97
|
+
persistedQueryRoute,
|
|
93
98
|
previewParams,
|
|
94
99
|
recursivelyLoadBlockData,
|
|
95
100
|
sendSitePreviewIFrameMessage,
|
|
@@ -102,5 +107,6 @@ export {
|
|
|
102
107
|
useLocalStorageCookieApi,
|
|
103
108
|
useOneTrustCookieApi,
|
|
104
109
|
usePreview,
|
|
110
|
+
default2 as webpackPersistedQueriesLoader,
|
|
105
111
|
withPreview
|
|
106
112
|
};
|
|
@@ -1,14 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
3
|
import { cloneElement } from "react";
|
|
4
|
-
import "../
|
|
5
|
-
import "../site-react/lib/iframebridge/IFrameBridge.js";
|
|
6
|
-
import "../site-react/lib/preview/PreviewContext.js";
|
|
7
|
-
import { withPreview } from "../site-react/lib/iframebridge/withPreview.js";
|
|
8
|
-
import "../site-react/lib/cookies/CookieApiContext.js";
|
|
9
|
-
import "usehooks-ts";
|
|
10
|
-
import "scroll-into-view-if-needed";
|
|
11
|
-
import "../site-react/lib/preview/BlockPreviewProvider.js";
|
|
4
|
+
import { withPreview } from "../iframebridge/withPreview.js";
|
|
12
5
|
const DamFileDownloadLinkBlock = withPreview(
|
|
13
6
|
({ data: { file, openFileType }, children, title, className, legacyBehavior }) => {
|
|
14
7
|
if (!file) {
|
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
3
|
import { cloneElement } from "react";
|
|
4
|
-
import "../
|
|
5
|
-
import { usePreview } from "../site-react/lib/preview/usePreview.js";
|
|
6
|
-
import "../site-react/lib/iframebridge/withPreview.js";
|
|
7
|
-
import "../site-react/lib/cookies/CookieApiContext.js";
|
|
8
|
-
import "usehooks-ts";
|
|
9
|
-
import "../site-react/lib/iframebridge/IFrameBridge.js";
|
|
10
|
-
import "scroll-into-view-if-needed";
|
|
11
|
-
import "../site-react/lib/preview/BlockPreviewProvider.js";
|
|
12
|
-
import "../site-react/lib/preview/PreviewContext.js";
|
|
4
|
+
import { usePreview } from "../preview/usePreview.js";
|
|
13
5
|
import { sendSitePreviewIFrameMessage } from "../sitePreview/iframebridge/sendSitePreviewIFrameMessage.js";
|
|
14
6
|
import { SitePreviewIFrameMessageType } from "../sitePreview/iframebridge/SitePreviewIFrameMessage.js";
|
|
15
7
|
function ExternalLinkBlock({ data: { targetUrl, openInNewWindow }, children, title, className, legacyBehavior }) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const cache = {};
|
|
2
2
|
function createFetchInMemoryCache(fetch) {
|
|
3
3
|
return async function(input, init) {
|
|
4
|
-
var _a;
|
|
4
|
+
var _a, _b;
|
|
5
5
|
let cacheKey;
|
|
6
6
|
if ((init == null ? void 0 : init.cache) === "no-store") ;
|
|
7
7
|
else if (((_a = init == null ? void 0 : init.method) == null ? void 0 : _a.toUpperCase()) === "GET") {
|
|
@@ -11,7 +11,7 @@ function createFetchInMemoryCache(fetch) {
|
|
|
11
11
|
if (bodyString.startsWith("{")) {
|
|
12
12
|
try {
|
|
13
13
|
const body = JSON.parse(init.body.toString());
|
|
14
|
-
if (body.query && body.variables) {
|
|
14
|
+
if ((body.query || ((_b = body.extensions) == null ? void 0 : _b.persistedQuery)) && body.variables) {
|
|
15
15
|
cacheKey = `${input.toString()}#${init.body.toString()}`;
|
|
16
16
|
}
|
|
17
17
|
} catch {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { decodeJwt } from "jose";
|
|
4
4
|
import isEqual from "lodash.isequal";
|
|
5
|
-
import {
|
|
5
|
+
import { useState, useRef, useCallback, useEffect, useMemo, createContext } from "react";
|
|
6
6
|
import { useDebounceCallback } from "usehooks-ts";
|
|
7
7
|
import styles from "./IFrameBridge.module.scss.js";
|
|
8
8
|
import { AdminMessageType, IFrameMessageType } from "./IFrameMessage.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
|
-
import {
|
|
3
|
+
import { useContext, createContext } from "react";
|
|
4
4
|
import { Preview } from "./Preview.js";
|
|
5
5
|
function isWithPreviewPropsData(block) {
|
|
6
6
|
return block.adminMeta !== void 0;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
function createPersistedQueryGraphQLFetch(fetch, url) {
|
|
2
|
+
return async function(query, variables, init) {
|
|
3
|
+
if (typeof query === "string") throw new Error("at runtime only hashed queries are supported");
|
|
4
|
+
const hash = query.hash;
|
|
5
|
+
let response;
|
|
6
|
+
if ((init == null ? void 0 : init.method) === "GET") {
|
|
7
|
+
const fetchUrl = new URL(url, window.location.origin);
|
|
8
|
+
fetchUrl.searchParams.append("extensions.persistedQuery.sha256Hash", hash);
|
|
9
|
+
fetchUrl.searchParams.append("variables", JSON.stringify(variables));
|
|
10
|
+
response = await fetch(fetchUrl, {
|
|
11
|
+
...init,
|
|
12
|
+
headers: {
|
|
13
|
+
/**
|
|
14
|
+
* It's recommended to add the `Apollo-Require-Preflight` header to GET requests, running on an Apollo Server 4.
|
|
15
|
+
*
|
|
16
|
+
* If this header is missing, Apollo Server 4 will return: This operation has been blocked as a potential Cross-Site Request Forgery (CSRF).
|
|
17
|
+
*
|
|
18
|
+
* see: https://www.apollographql.com/docs/graphos/routing/security/csrf#enable-csrf-prevention
|
|
19
|
+
*/
|
|
20
|
+
"Apollo-Require-Preflight": "true",
|
|
21
|
+
...init.headers
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
} else {
|
|
25
|
+
response = await fetch(url, {
|
|
26
|
+
method: "POST",
|
|
27
|
+
...init,
|
|
28
|
+
headers: { "Content-Type": "application/json", ...init == null ? void 0 : init.headers },
|
|
29
|
+
body: JSON.stringify({
|
|
30
|
+
extensions: {
|
|
31
|
+
persistedQuery: {
|
|
32
|
+
version: 1,
|
|
33
|
+
sha256Hash: hash
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
variables
|
|
37
|
+
})
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
if (!response.ok) {
|
|
41
|
+
let errorMessage = `Network response was not ok. Status: ${response.status}`;
|
|
42
|
+
const body = await response.text();
|
|
43
|
+
try {
|
|
44
|
+
const json = JSON.parse(body);
|
|
45
|
+
const { errors: errors2 } = json;
|
|
46
|
+
if (errors2) {
|
|
47
|
+
errorMessage += `
|
|
48
|
+
|
|
49
|
+
GraphQL error(s):
|
|
50
|
+
- ${errors2.map((error) => error.message).join("\n- ")}`;
|
|
51
|
+
}
|
|
52
|
+
} catch {
|
|
53
|
+
errorMessage += `
|
|
54
|
+
${body}`;
|
|
55
|
+
}
|
|
56
|
+
throw new Error(errorMessage);
|
|
57
|
+
}
|
|
58
|
+
const { data, errors } = await response.json();
|
|
59
|
+
if (errors) {
|
|
60
|
+
throw new Error(`GraphQL error(s):
|
|
61
|
+
- ${errors.map((error) => error.message).join("\n- ")}`);
|
|
62
|
+
}
|
|
63
|
+
return data;
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
export {
|
|
67
|
+
createPersistedQueryGraphQLFetch
|
|
68
|
+
};
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { readFile } from "fs/promises";
|
|
2
|
+
let queryMap;
|
|
3
|
+
let fragmentsMap;
|
|
4
|
+
async function loadPersistedQueries(path) {
|
|
5
|
+
const file = await readFile(path, { encoding: "utf-8" });
|
|
6
|
+
queryMap = JSON.parse(file.toString());
|
|
7
|
+
fragmentsMap = {};
|
|
8
|
+
for (const [, query] of Object.entries(queryMap)) {
|
|
9
|
+
const match = query.match(/^\s*fragment\s+(\w+)\s+on\s+\w+/m);
|
|
10
|
+
if (match) {
|
|
11
|
+
const fragmentName = match[1];
|
|
12
|
+
fragmentsMap[fragmentName] = query.replace(/\${.*?}/g, "");
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function injectFragments(query) {
|
|
17
|
+
query = query.replace(/\${.*?}/g, "");
|
|
18
|
+
const injected = /* @__PURE__ */ new Set();
|
|
19
|
+
for (const m of query.matchAll(/^\s*fragment\s+(\w+)\s+on\s+\w+/gm)) {
|
|
20
|
+
injected.add(m[1]);
|
|
21
|
+
}
|
|
22
|
+
function inject(q) {
|
|
23
|
+
const spreads = Array.from(q.matchAll(/\.\.\.(\w+)/g)).map((m) => m[1]);
|
|
24
|
+
let result = q;
|
|
25
|
+
for (const fragmentName of spreads) {
|
|
26
|
+
if (!injected.has(fragmentName) && fragmentsMap[fragmentName]) {
|
|
27
|
+
injected.add(fragmentName);
|
|
28
|
+
result += `
|
|
29
|
+
${inject(fragmentsMap[fragmentName])}`;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return result;
|
|
33
|
+
}
|
|
34
|
+
query = inject(query);
|
|
35
|
+
return query;
|
|
36
|
+
}
|
|
37
|
+
async function persistedQueryRoute(req, {
|
|
38
|
+
graphqlTarget,
|
|
39
|
+
headers: headersInit,
|
|
40
|
+
persistedQueriesPath = ".persisted-queries.json",
|
|
41
|
+
cacheMaxAge
|
|
42
|
+
}) {
|
|
43
|
+
var _a, _b;
|
|
44
|
+
if (!queryMap) {
|
|
45
|
+
await loadPersistedQueries(persistedQueriesPath);
|
|
46
|
+
}
|
|
47
|
+
let hash;
|
|
48
|
+
let variables;
|
|
49
|
+
if (req.method === "POST") {
|
|
50
|
+
const body = await req.json();
|
|
51
|
+
hash = (_b = (_a = body.extensions) == null ? void 0 : _a.persistedQuery) == null ? void 0 : _b.sha256Hash;
|
|
52
|
+
variables = body.variables;
|
|
53
|
+
} else if (req.method === "GET") {
|
|
54
|
+
const url = new URL(req.url);
|
|
55
|
+
hash = url.searchParams.get("extensions.persistedQuery.sha256Hash");
|
|
56
|
+
const variablesParam = url.searchParams.get("variables");
|
|
57
|
+
variables = variablesParam ? JSON.parse(variablesParam) : void 0;
|
|
58
|
+
} else {
|
|
59
|
+
return Response.json({ error: "MethodNotAllowed" }, { status: 405 });
|
|
60
|
+
}
|
|
61
|
+
if (!hash) {
|
|
62
|
+
return Response.json({ error: "OnlyPersistedQueriesAllowed" }, { status: 400 });
|
|
63
|
+
}
|
|
64
|
+
let query = queryMap[hash];
|
|
65
|
+
if (!query) {
|
|
66
|
+
return Response.json({ error: "PersistedQueryNotFound", hash }, { status: 400 });
|
|
67
|
+
}
|
|
68
|
+
query = injectFragments(query);
|
|
69
|
+
if (req.method === "GET") {
|
|
70
|
+
const apolloPreflight = req.headers.get("Apollo-Require-Preflight");
|
|
71
|
+
if (apolloPreflight !== "true") {
|
|
72
|
+
return Response.json({ error: "CSRFProtection", message: "Missing Apollo-Require-Preflight header" }, { status: 403 });
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
const headers = new Headers(headersInit);
|
|
76
|
+
headers.set("Content-Type", "application/json");
|
|
77
|
+
for (const header of ["x-include-invisible-content", "x-preview-dam-urls"]) {
|
|
78
|
+
const value = req.headers.get(header);
|
|
79
|
+
if (value !== null) {
|
|
80
|
+
headers.set(header, value);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
const upstreamRes = await fetch(graphqlTarget, {
|
|
84
|
+
method: "POST",
|
|
85
|
+
headers,
|
|
86
|
+
body: JSON.stringify({ query, variables })
|
|
87
|
+
});
|
|
88
|
+
const responseHeaders = {
|
|
89
|
+
"Content-Type": "application/json"
|
|
90
|
+
};
|
|
91
|
+
if (req.method === "GET" && upstreamRes.ok && cacheMaxAge !== void 0) {
|
|
92
|
+
responseHeaders["Cache-Control"] = `public, max-age=${cacheMaxAge}`;
|
|
93
|
+
}
|
|
94
|
+
return new Response(upstreamRes.body, {
|
|
95
|
+
headers: responseHeaders
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
export {
|
|
99
|
+
persistedQueryRoute
|
|
100
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { createHash } from "crypto";
|
|
2
|
+
import * as fs from "fs";
|
|
3
|
+
function loadHashMap(path) {
|
|
4
|
+
if (fs.existsSync(path)) {
|
|
5
|
+
return JSON.parse(fs.readFileSync(path, "utf-8"));
|
|
6
|
+
}
|
|
7
|
+
return {};
|
|
8
|
+
}
|
|
9
|
+
function saveHashMap(path, hashMap) {
|
|
10
|
+
fs.writeFileSync(path, JSON.stringify(hashMap, null, 2));
|
|
11
|
+
}
|
|
12
|
+
function hashQuery(query) {
|
|
13
|
+
return createHash("sha256").update(query).digest("hex");
|
|
14
|
+
}
|
|
15
|
+
const gqlTagRegex = /gql`([\s\S]*?)`/gm;
|
|
16
|
+
const webpackPersistedQueriesLoader = function(source) {
|
|
17
|
+
const options = this.getOptions() || {};
|
|
18
|
+
const persistedQueriesPath = options.persistedQueriesPath || ".persisted-queries.json";
|
|
19
|
+
const hashMap = loadHashMap(persistedQueriesPath);
|
|
20
|
+
const replacements = [];
|
|
21
|
+
let match;
|
|
22
|
+
while ((match = gqlTagRegex.exec(source)) !== null) {
|
|
23
|
+
const query = match[1];
|
|
24
|
+
const hash = hashQuery(query);
|
|
25
|
+
hashMap[hash] = query;
|
|
26
|
+
const fragmentVariables = Array.from(query.matchAll(/\${.*?}/g) ?? []).map((m) => m[0]).join(" ");
|
|
27
|
+
if (query.match(/^\s*fragment\s+(\w+)\s+on\s+\w+/)) {
|
|
28
|
+
replacements.push({
|
|
29
|
+
start: match.index,
|
|
30
|
+
end: match.index + match[0].length,
|
|
31
|
+
replacement: `{ fragment: true, fragmentVariables: \`${fragmentVariables}\` }`
|
|
32
|
+
});
|
|
33
|
+
} else {
|
|
34
|
+
replacements.push({
|
|
35
|
+
start: match.index,
|
|
36
|
+
end: match.index + match[0].length,
|
|
37
|
+
replacement: `{ hash: "${hash}", fragmentVariables: \`${fragmentVariables}\` }`
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
let modifiedSource = source;
|
|
42
|
+
for (let i = replacements.length - 1; i >= 0; i--) {
|
|
43
|
+
const { start, end, replacement } = replacements[i];
|
|
44
|
+
modifiedSource = modifiedSource.slice(0, start) + replacement + modifiedSource.slice(end);
|
|
45
|
+
}
|
|
46
|
+
saveHashMap(persistedQueriesPath, hashMap);
|
|
47
|
+
return modifiedSource;
|
|
48
|
+
};
|
|
49
|
+
export {
|
|
50
|
+
webpackPersistedQueriesLoader as default
|
|
51
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SitePreviewProvider.d.ts","sourceRoot":"","sources":["../../src/sitePreview/SitePreviewProvider.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,iBAAiB,EAAa,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"SitePreviewProvider.d.ts","sourceRoot":"","sources":["../../src/sitePreview/SitePreviewProvider.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,iBAAiB,EAAa,MAAM,OAAO,CAAC;AAiC1D,eAAO,MAAM,mBAAmB,GAAI,cAAc,iBAAiB,4CAElE,CAAC"}
|
|
@@ -1,17 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
|
-
import { useEffect } from "react";
|
|
4
|
-
import "../site-react/lib/errorHandler/ErrorHandlerProvider.js";
|
|
5
|
-
import "../site-react/lib/iframebridge/IFrameBridge.js";
|
|
6
3
|
import { PreviewContext } from "../site-react/lib/preview/PreviewContext.js";
|
|
7
|
-
import "../site-react/lib/iframebridge/
|
|
8
|
-
import "../site-react/lib/
|
|
9
|
-
import "usehooks-ts";
|
|
10
|
-
import "scroll-into-view-if-needed";
|
|
11
|
-
import "../site-react/lib/preview/BlockPreviewProvider.js";
|
|
4
|
+
import { sendSitePreviewIFrameMessage } from "../site-react/lib/sitePreview/iframebridge/sendSitePreviewIFrameMessage.js";
|
|
5
|
+
import { SitePreviewIFrameMessageType } from "../site-react/lib/sitePreview/iframebridge/SitePreviewIFrameMessage.js";
|
|
12
6
|
import { usePathname, useSearchParams } from "next/navigation";
|
|
13
|
-
import {
|
|
14
|
-
import { SitePreviewIFrameMessageType } from "./iframebridge/SitePreviewIFrameMessage.js";
|
|
7
|
+
import { useEffect } from "react";
|
|
15
8
|
const SitePreview = ({ children }) => {
|
|
16
9
|
const pathname = usePathname();
|
|
17
10
|
const searchParams = useSearchParams();
|
package/lib/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
._childrenWrapper_qguhx_1{position:relative;z-index:1}._root_v4248_1{position:absolute;z-index:2;top:0;left:0;right:0;min-height:100vh;height:var(--height)}._root_1ya0k_1{position:absolute;cursor:pointer;outline:1px solid transparent;outline-offset:-1px}._root_1ya0k_1:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.25}._root_1ya0k_1:hover{outline-color:#29b6f6;outline-style:solid}._root_1ya0k_1:hover:after{background-color:#29b6f6}._isHoveredInBlockList_1ya0k_24{outline-color:#29b6f6;outline-style:solid}._isHoveredInBlockList_1ya0k_24:after{background-color:#29b6f6}._showBlockOutlines_1ya0k_32:not(:hover){outline-color:#d9d9d9;outline-style:dashed}._blockIsSelected_1ya0k_37{outline-color:#29b6f6}._blockIsSelected_1ya0k_37 ._label_1ya0k_40{display:inline-block}._label_1ya0k_40{position:absolute;padding:2px;background-color:#57b0eb;line-height:16px;color:#fff;top:1px;right:1px;font-size:12px;display:none}._barSkeleton_zomv4_1{min-height:20px;margin-bottom:5px;margin-right:5px;background-color:var(--background-color);color:var(--color)}._rowsContainer_zomv4_9{width:100%;min-width:300px}._rowSkeleton_zomv4_14{margin-bottom:10px;min-height:20px;width:var(--width);background-color:var(--background-color);color:var(--color)}._imageContainer_zomv4_22{width:100%;aspect-ratio:var(--aspect-ratio);height:var(--height);background-color:var(--background-color);color:var(--color)}.
|
|
1
|
+
._previewElementContainer_nwhl6_1{display:contents}._childrenWrapper_qguhx_1{position:relative;z-index:1}._root_v4248_1{position:absolute;z-index:2;top:0;left:0;right:0;min-height:100vh;height:var(--height)}._root_1ya0k_1{position:absolute;cursor:pointer;outline:1px solid transparent;outline-offset:-1px}._root_1ya0k_1:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.25}._root_1ya0k_1:hover{outline-color:#29b6f6;outline-style:solid}._root_1ya0k_1:hover:after{background-color:#29b6f6}._isHoveredInBlockList_1ya0k_24{outline-color:#29b6f6;outline-style:solid}._isHoveredInBlockList_1ya0k_24:after{background-color:#29b6f6}._showBlockOutlines_1ya0k_32:not(:hover){outline-color:#d9d9d9;outline-style:dashed}._blockIsSelected_1ya0k_37{outline-color:#29b6f6}._blockIsSelected_1ya0k_37 ._label_1ya0k_40{display:inline-block}._label_1ya0k_40{position:absolute;padding:2px;background-color:#57b0eb;line-height:16px;color:#fff;top:1px;right:1px;font-size:12px;display:none}._barSkeleton_zomv4_1{min-height:20px;margin-bottom:5px;margin-right:5px;background-color:var(--background-color);color:var(--color)}._rowsContainer_zomv4_9{width:100%;min-width:300px}._rowSkeleton_zomv4_14{margin-bottom:10px;min-height:20px;width:var(--width);background-color:var(--background-color);color:var(--color)}._imageContainer_zomv4_22{width:100%;aspect-ratio:var(--aspect-ratio);height:var(--height);background-color:var(--background-color);color:var(--color)}._video_17b8y_1{width:100%;object-fit:cover;aspect-ratio:var(--aspect-ratio)}._fill_17b8y_7{height:100%}._imageContainer_ecpdr_1{position:relative;width:100%;aspect-ratio:var(--aspect-ratio)}._root_1k5a5_1{position:relative;width:100%}._fill_1k5a5_6{height:100%}._iconWrapper_1k5a5_10{position:absolute;top:0;right:0;left:0;bottom:0;display:flex;align-items:center;justify-content:center;background-color:#000;opacity:.5;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;padding:0;cursor:pointer}._iconWrapper_1k5a5_10:focus ._playIcon_1k5a5_26{outline:4px solid white;outline-offset:10px;border-radius:2px}._playIcon_1k5a5_26{width:64px;height:64px;box-sizing:border-box;border-style:solid;border-width:32px 0 32px 64px;border-color:transparent transparent transparent white}._videoContainer_1flq1_1{overflow:hidden;position:relative;aspect-ratio:var(--aspect-ratio)}._fill_1flq1_7{width:100%;height:100%}._vimeoContainer_1flq1_12{position:absolute;border:0;top:0;left:0;width:100%;height:100%}._videoContainer_bhmhr_1{overflow:hidden;position:relative;aspect-ratio:var(--aspect-ratio)}._fill_bhmhr_7{width:100%;height:100%}._youtubeContainer_bhmhr_12{position:absolute;border:0;top:0;left:0;width:100%;height:100%}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@comet/site-nextjs",
|
|
3
|
-
"version": "9.0.0-canary-
|
|
3
|
+
"version": "9.0.0-canary-20251113142723",
|
|
4
4
|
"description": "Comet Site Next.js package",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -8,13 +8,17 @@
|
|
|
8
8
|
"directory": "packages/site/site-nextjs"
|
|
9
9
|
},
|
|
10
10
|
"license": "BSD-2-Clause",
|
|
11
|
+
"sideEffects": [
|
|
12
|
+
"**/*.css"
|
|
13
|
+
],
|
|
11
14
|
"type": "module",
|
|
12
15
|
"exports": {
|
|
13
16
|
".": {
|
|
14
17
|
"types": "./lib/index.d.ts",
|
|
15
18
|
"import": "./lib/index.js"
|
|
16
19
|
},
|
|
17
|
-
"./css": "./lib/style.css"
|
|
20
|
+
"./css": "./lib/style.css",
|
|
21
|
+
"./webpackPersistedQueriesLoader": "./lib/site-react/lib/persistedQueries/webpackPersistedQueriesLoader.js"
|
|
18
22
|
},
|
|
19
23
|
"module": "./lib/index.js",
|
|
20
24
|
"types": "lib/index.d.ts",
|
|
@@ -25,7 +29,7 @@
|
|
|
25
29
|
"clsx": "^2.1.1",
|
|
26
30
|
"jose": "^5.10.0",
|
|
27
31
|
"server-only": "^0.0.1",
|
|
28
|
-
"@comet/site-react": "9.0.0-canary-
|
|
32
|
+
"@comet/site-react": "9.0.0-canary-20251113142723"
|
|
29
33
|
},
|
|
30
34
|
"devDependencies": {
|
|
31
35
|
"@types/jest": "^29.5.14",
|
|
@@ -50,8 +54,8 @@
|
|
|
50
54
|
"typescript": "5.8.3",
|
|
51
55
|
"vite": "^5.4.19",
|
|
52
56
|
"vite-plugin-dts": "^4.5.4",
|
|
53
|
-
"@comet/cli": "9.0.0-canary-
|
|
54
|
-
"@comet/eslint-config": "9.0.0-canary-
|
|
57
|
+
"@comet/cli": "9.0.0-canary-20251113142723",
|
|
58
|
+
"@comet/eslint-config": "9.0.0-canary-20251113142723"
|
|
55
59
|
},
|
|
56
60
|
"peerDependencies": {
|
|
57
61
|
"next": "^15.0.0",
|
|
@@ -66,14 +70,14 @@
|
|
|
66
70
|
"registry": "https://registry.npmjs.org"
|
|
67
71
|
},
|
|
68
72
|
"scripts": {
|
|
69
|
-
"build": "
|
|
73
|
+
"build": "pnpm run clean && pnpm run generate-block-types && vite build",
|
|
70
74
|
"clean": "rimraf lib 'src/**/*.generated.ts'",
|
|
71
|
-
"dev": "
|
|
75
|
+
"dev": "pnpm run clean && pnpm run generate-block-types && vite build --watch",
|
|
72
76
|
"generate-block-types": "comet generate-block-types",
|
|
73
|
-
"generate-block-types:watch": "chokidar -s \"block-meta.json\" -c \"
|
|
74
|
-
"lint": "
|
|
77
|
+
"generate-block-types:watch": "chokidar -s \"block-meta.json\" -c \"pnpm run generate-block-types\"",
|
|
78
|
+
"lint": "pnpm run generate-block-types && run-p lint:prettier lint:eslint lint:tsc",
|
|
75
79
|
"lint:eslint": "eslint --max-warnings 0 src/ **/*.json --no-warn-ignored",
|
|
76
|
-
"lint:prettier": "
|
|
80
|
+
"lint:prettier": "pnpm exec prettier --check './**/*.{js,json,md,yml,yaml,css,scss}'",
|
|
77
81
|
"lint:tsc": "tsc --noEmit",
|
|
78
82
|
"test": "jest --verbose=true --passWithNoTests",
|
|
79
83
|
"test:watch": "jest --watch"
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { PropsWithData } from '@comet/site-react';
|
|
2
|
-
import { ReactElement } from 'react';
|
|
3
|
-
import { DamFileDownloadLinkBlockData } from '../blocks.generated';
|
|
4
|
-
interface Props extends PropsWithData<DamFileDownloadLinkBlockData> {
|
|
5
|
-
children: ReactElement;
|
|
6
|
-
title?: string;
|
|
7
|
-
className?: string;
|
|
8
|
-
legacyBehavior?: boolean;
|
|
9
|
-
}
|
|
10
|
-
export declare const DamFileDownloadLinkBlock: ({ ...componentProps }: import('@comet/site-react').WithPreviewProps & Props) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=DamFileDownloadLinkBlock.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DamFileDownloadLinkBlock.d.ts","sourceRoot":"","sources":["../../src/blocks/DamFileDownloadLinkBlock.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAe,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAmE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAE3G,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAExE,UAAU,KAAM,SAAQ,aAAa,CAAC,4BAA4B,CAAC;IAC/D,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,wBAAwB,0HA4BpC,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { PropsWithData } from '@comet/site-react';
|
|
2
|
-
import { ReactElement } from 'react';
|
|
3
|
-
import { EmailLinkBlockData } from '../blocks.generated';
|
|
4
|
-
interface EmailLinkBlockProps extends PropsWithData<EmailLinkBlockData> {
|
|
5
|
-
children: ReactElement;
|
|
6
|
-
title?: string;
|
|
7
|
-
className?: string;
|
|
8
|
-
legacyBehavior?: boolean;
|
|
9
|
-
}
|
|
10
|
-
export declare const EmailLinkBlock: ({ data: { email }, children, title, className, legacyBehavior }: EmailLinkBlockProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=EmailLinkBlock.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EmailLinkBlock.d.ts","sourceRoot":"","sources":["../../src/blocks/EmailLinkBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAmE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAE3G,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,UAAU,mBAAoB,SAAQ,aAAa,CAAC,kBAAkB,CAAC;IACnE,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,cAAc,GAAI,iEAAiE,mBAAmB,4CAuBlH,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { PropsWithData } from '@comet/site-react';
|
|
2
|
-
import { ReactElement } from 'react';
|
|
3
|
-
import { ExternalLinkBlockData } from '../blocks.generated';
|
|
4
|
-
interface ExternalLinkBlockProps extends PropsWithData<ExternalLinkBlockData> {
|
|
5
|
-
children: ReactElement;
|
|
6
|
-
title?: string;
|
|
7
|
-
className?: string;
|
|
8
|
-
legacyBehavior?: boolean;
|
|
9
|
-
}
|
|
10
|
-
export declare function ExternalLinkBlock({ data: { targetUrl, openInNewWindow }, children, title, className, legacyBehavior }: ExternalLinkBlockProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=ExternalLinkBlock.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ExternalLinkBlock.d.ts","sourceRoot":"","sources":["../../src/blocks/ExternalLinkBlock.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAc,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAA2F,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAEnI,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAIjE,UAAU,sBAAuB,SAAQ,aAAa,CAAC,qBAAqB,CAAC;IACzE,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAgB,iBAAiB,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,sBAAsB,2CAwD7I"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { PropsWithData } from '@comet/site-react';
|
|
2
|
-
import { ReactElement } from 'react';
|
|
3
|
-
import { PhoneLinkBlockData } from '../blocks.generated';
|
|
4
|
-
interface PhoneLinkBlockProps extends PropsWithData<PhoneLinkBlockData> {
|
|
5
|
-
children: ReactElement;
|
|
6
|
-
title?: string;
|
|
7
|
-
className?: string;
|
|
8
|
-
legacyBehavior?: boolean;
|
|
9
|
-
}
|
|
10
|
-
export declare const PhoneLinkBlock: ({ data: { phone }, children, title, className, legacyBehavior }: PhoneLinkBlockProps) => React.ReactNode;
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=PhoneLinkBlock.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PhoneLinkBlock.d.ts","sourceRoot":"","sources":["../../src/blocks/PhoneLinkBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAmE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAE3G,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,UAAU,mBAAoB,SAAQ,aAAa,CAAC,kBAAkB,CAAC;IACnE,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,cAAc,GAAI,iEAAiE,mBAAmB,KAAG,KAAK,CAAC,SAuB3H,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { ExternalLinkBlockData } from '../../blocks.generated';
|
|
2
|
-
export declare enum SitePreviewIFrameMessageType {
|
|
3
|
-
OpenLink = "OpenLink",
|
|
4
|
-
SitePreviewLocation = "SitePreviewLocation"
|
|
5
|
-
}
|
|
6
|
-
interface SitePreviewIFrameOpenLinkMessage {
|
|
7
|
-
cometType: SitePreviewIFrameMessageType.OpenLink;
|
|
8
|
-
data: {
|
|
9
|
-
link: ExternalLinkBlockData;
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
export interface SitePreviewIFrameLocationMessage {
|
|
13
|
-
cometType: SitePreviewIFrameMessageType.SitePreviewLocation;
|
|
14
|
-
data: Pick<Location, "search" | "pathname">;
|
|
15
|
-
}
|
|
16
|
-
export type SitePreviewIFrameMessage = SitePreviewIFrameOpenLinkMessage | SitePreviewIFrameLocationMessage;
|
|
17
|
-
export {};
|
|
18
|
-
//# sourceMappingURL=SitePreviewIFrameMessage.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SitePreviewIFrameMessage.d.ts","sourceRoot":"","sources":["../../../src/sitePreview/iframebridge/SitePreviewIFrameMessage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAEpE,oBAAY,4BAA4B;IACpC,QAAQ,aAAa;IACrB,mBAAmB,wBAAwB;CAC9C;AAED,UAAU,gCAAgC;IACtC,SAAS,EAAE,4BAA4B,CAAC,QAAQ,CAAC;IACjD,IAAI,EAAE;QACF,IAAI,EAAE,qBAAqB,CAAC;KAC/B,CAAC;CACL;AAED,MAAM,WAAW,gCAAgC;IAC7C,SAAS,EAAE,4BAA4B,CAAC,mBAAmB,CAAC;IAC5D,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,CAAC,CAAC;CAC/C;AAED,MAAM,MAAM,wBAAwB,GAAG,gCAAgC,GAAG,gCAAgC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sendSitePreviewIFrameMessage.d.ts","sourceRoot":"","sources":["../../../src/sitePreview/iframebridge/sendSitePreviewIFrameMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAE3E,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,wBAAwB,QAE7E"}
|
|
File without changes
|
|
File without changes
|
/package/lib/{sitePreview → site-react/lib/sitePreview}/iframebridge/SitePreviewIFrameMessage.js
RENAMED
|
File without changes
|
/package/lib/{sitePreview → site-react/lib/sitePreview}/iframebridge/sendSitePreviewIFrameMessage.js
RENAMED
|
File without changes
|