@comet/site-react 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.
Files changed (37) hide show
  1. package/lib/blocks/DamFileDownloadLinkBlock.d.ts +12 -0
  2. package/lib/blocks/DamFileDownloadLinkBlock.d.ts.map +1 -0
  3. package/lib/blocks/DamFileDownloadLinkBlock.js +28 -0
  4. package/lib/blocks/EmailLinkBlock.d.ts +12 -0
  5. package/lib/blocks/EmailLinkBlock.d.ts.map +1 -0
  6. package/lib/blocks/EmailLinkBlock.js +21 -0
  7. package/lib/blocks/ExternalLinkBlock.d.ts +12 -0
  8. package/lib/blocks/ExternalLinkBlock.d.ts.map +1 -0
  9. package/lib/blocks/ExternalLinkBlock.js +46 -0
  10. package/lib/blocks/PhoneLinkBlock.d.ts +12 -0
  11. package/lib/blocks/PhoneLinkBlock.d.ts.map +1 -0
  12. package/lib/blocks/PhoneLinkBlock.js +21 -0
  13. package/lib/blocks.generated.d.ts +1 -1
  14. package/lib/blocks.generated.d.ts.map +1 -1
  15. package/lib/graphQLFetch/fetchInMemoryCache.js +2 -2
  16. package/lib/iframebridge/IFrameBridge.js +1 -1
  17. package/lib/iframebridge/withPreview.js +1 -1
  18. package/lib/index.d.ts +9 -0
  19. package/lib/index.d.ts.map +1 -1
  20. package/lib/index.js +18 -0
  21. package/lib/persistedQueries/createPersistedQueryGraphQLFetch.d.ts +5 -0
  22. package/lib/persistedQueries/createPersistedQueryGraphQLFetch.d.ts.map +1 -0
  23. package/lib/persistedQueries/createPersistedQueryGraphQLFetch.js +68 -0
  24. package/lib/persistedQueries/persistedQueryRoute.d.ts +7 -0
  25. package/lib/persistedQueries/persistedQueryRoute.d.ts.map +1 -0
  26. package/lib/persistedQueries/persistedQueryRoute.js +100 -0
  27. package/lib/persistedQueries/webpackPersistedQueriesLoader.d.ts +7 -0
  28. package/lib/persistedQueries/webpackPersistedQueriesLoader.d.ts.map +1 -0
  29. package/lib/persistedQueries/webpackPersistedQueriesLoader.js +51 -0
  30. package/lib/sitePreview/iframebridge/SitePreviewIFrameMessage.d.ts +18 -0
  31. package/lib/sitePreview/iframebridge/SitePreviewIFrameMessage.d.ts.map +1 -0
  32. package/lib/sitePreview/iframebridge/SitePreviewIFrameMessage.js +8 -0
  33. package/lib/sitePreview/iframebridge/sendSitePreviewIFrameMessage.d.ts +3 -0
  34. package/lib/sitePreview/iframebridge/sendSitePreviewIFrameMessage.d.ts.map +1 -0
  35. package/lib/sitePreview/iframebridge/sendSitePreviewIFrameMessage.js +6 -0
  36. package/lib/style.css +1 -1
  37. package/package.json +14 -9
@@ -0,0 +1,12 @@
1
+ import { ReactElement } from 'react';
2
+ import { DamFileDownloadLinkBlockData } from '../blocks.generated';
3
+ import { PropsWithData } from './PropsWithData';
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('../iframebridge/withPreview').WithPreviewProps & Props) => import("react/jsx-runtime").JSX.Element;
11
+ export {};
12
+ //# sourceMappingURL=DamFileDownloadLinkBlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DamFileDownloadLinkBlock.d.ts","sourceRoot":"","sources":["../../src/blocks/DamFileDownloadLinkBlock.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAmE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAE3G,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAExE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,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,oIA4BpC,CAAC"}
@@ -0,0 +1,28 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { cloneElement } from "react";
4
+ import { withPreview } from "../iframebridge/withPreview.js";
5
+ const DamFileDownloadLinkBlock = withPreview(
6
+ ({ data: { file, openFileType }, children, title, className, legacyBehavior }) => {
7
+ if (!file) {
8
+ if (legacyBehavior) {
9
+ return children;
10
+ }
11
+ return /* @__PURE__ */ jsx("span", { className, children });
12
+ }
13
+ const href = file.fileUrl;
14
+ const target = openFileType === "NewTab" ? "_blank" : void 0;
15
+ if (legacyBehavior) {
16
+ return cloneElement(children, {
17
+ href,
18
+ target,
19
+ title
20
+ });
21
+ }
22
+ return /* @__PURE__ */ jsx("a", { href, target, title, className, children });
23
+ },
24
+ { label: "DamFileDownloadLink" }
25
+ );
26
+ export {
27
+ DamFileDownloadLinkBlock
28
+ };
@@ -0,0 +1,12 @@
1
+ import { ReactElement } from 'react';
2
+ import { EmailLinkBlockData } from '../blocks.generated';
3
+ import { PropsWithData } from './PropsWithData';
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmailLinkBlock.d.ts","sourceRoot":"","sources":["../../src/blocks/EmailLinkBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAE3G,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,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"}
@@ -0,0 +1,21 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { cloneElement } from "react";
3
+ const EmailLinkBlock = ({ data: { email }, children, title, className, legacyBehavior }) => {
4
+ if (!email) {
5
+ if (legacyBehavior) {
6
+ return children;
7
+ }
8
+ return /* @__PURE__ */ jsx("span", { className, children });
9
+ }
10
+ const href = `mailto:${email}`;
11
+ if (legacyBehavior) {
12
+ return cloneElement(
13
+ children,
14
+ { href, title }
15
+ );
16
+ }
17
+ return /* @__PURE__ */ jsx("a", { href, title, className, children });
18
+ };
19
+ export {
20
+ EmailLinkBlock
21
+ };
@@ -0,0 +1,12 @@
1
+ import { ReactElement } from 'react';
2
+ import { ExternalLinkBlockData } from '../blocks.generated';
3
+ import { PropsWithData } from './PropsWithData';
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExternalLinkBlock.d.ts","sourceRoot":"","sources":["../../src/blocks/ExternalLinkBlock.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA2F,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAEnI,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAIjE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,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"}
@@ -0,0 +1,46 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { cloneElement } from "react";
4
+ import { usePreview } from "../preview/usePreview.js";
5
+ import { sendSitePreviewIFrameMessage } from "../sitePreview/iframebridge/sendSitePreviewIFrameMessage.js";
6
+ import { SitePreviewIFrameMessageType } from "../sitePreview/iframebridge/SitePreviewIFrameMessage.js";
7
+ function ExternalLinkBlock({ data: { targetUrl, openInNewWindow }, children, title, className, legacyBehavior }) {
8
+ const preview = usePreview();
9
+ if (preview.previewType === "SitePreview" || preview.previewType === "BlockPreview") {
10
+ const onClick = (event) => {
11
+ event.preventDefault();
12
+ if (preview.previewType === "SitePreview") {
13
+ sendSitePreviewIFrameMessage({
14
+ cometType: SitePreviewIFrameMessageType.OpenLink,
15
+ data: { link: { openInNewWindow, targetUrl } }
16
+ });
17
+ }
18
+ };
19
+ if (legacyBehavior) {
20
+ return cloneElement(
21
+ children,
22
+ { href: "#", onClick, title }
23
+ );
24
+ }
25
+ return /* @__PURE__ */ jsx("a", { href: "#", onClick, title, className, children });
26
+ } else {
27
+ if (!targetUrl) {
28
+ if (legacyBehavior) {
29
+ return children;
30
+ }
31
+ return /* @__PURE__ */ jsx("span", { className, children });
32
+ }
33
+ const href = targetUrl;
34
+ const target = openInNewWindow ? "_blank" : void 0;
35
+ if (legacyBehavior) {
36
+ return cloneElement(
37
+ children,
38
+ { href, target, title }
39
+ );
40
+ }
41
+ return /* @__PURE__ */ jsx("a", { href, target, title, className, children });
42
+ }
43
+ }
44
+ export {
45
+ ExternalLinkBlock
46
+ };
@@ -0,0 +1,12 @@
1
+ import { ReactElement } from 'react';
2
+ import { PhoneLinkBlockData } from '../blocks.generated';
3
+ import { PropsWithData } from './PropsWithData';
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PhoneLinkBlock.d.ts","sourceRoot":"","sources":["../../src/blocks/PhoneLinkBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAE3G,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,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"}
@@ -0,0 +1,21 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { cloneElement } from "react";
3
+ const PhoneLinkBlock = ({ data: { phone }, children, title, className, legacyBehavior }) => {
4
+ if (!phone) {
5
+ if (legacyBehavior) {
6
+ return children;
7
+ }
8
+ return /* @__PURE__ */ jsx("span", { className, children });
9
+ }
10
+ const href = `tel:${phone}`;
11
+ if (legacyBehavior) {
12
+ return cloneElement(
13
+ children,
14
+ { href, title }
15
+ );
16
+ }
17
+ return /* @__PURE__ */ jsx("a", { href, title, className, children });
18
+ };
19
+ export {
20
+ PhoneLinkBlock
21
+ };
@@ -41,7 +41,7 @@ export interface DamVideoBlockData {
41
41
  archived: boolean;
42
42
  scope?: unknown;
43
43
  fileUrl: string;
44
- captions: Array<{
44
+ captions?: Array<{
45
45
  id: string;
46
46
  language: string;
47
47
  fileUrl: string;
@@ -1 +1 @@
1
- {"version":3,"file":"blocks.generated.d.ts","sourceRoot":"","sources":["../src/blocks.generated.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blocks.generated.d.ts","sourceRoot":"","sources":["../src/blocks.generated.ts"],"names":[],"mappings":"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"}
@@ -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 { createContext, useState, useRef, useCallback, useEffect, useMemo } from "react";
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 { createContext, useContext } from "react";
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;
package/lib/index.d.ts CHANGED
@@ -1,4 +1,7 @@
1
1
  export { type BlockLoader, type BlockLoaderDependencies, recursivelyLoadBlockData } from './blockLoader/blockLoader';
2
+ export { DamFileDownloadLinkBlock } from './blocks/DamFileDownloadLinkBlock';
3
+ export { EmailLinkBlock } from './blocks/EmailLinkBlock';
4
+ export { ExternalLinkBlock } from './blocks/ExternalLinkBlock';
2
5
  export { BlocksBlock } from './blocks/factories/BlocksBlock';
3
6
  export { ListBlock } from './blocks/factories/ListBlock';
4
7
  export { OneOfBlock } from './blocks/factories/OneOfBlock';
@@ -6,6 +9,7 @@ export { OptionalBlock } from './blocks/factories/OptionalBlock';
6
9
  export type { SupportedBlocks } from './blocks/factories/types';
7
10
  export { hasRichTextBlockContent } from './blocks/helpers/RichTextBlockHelper';
8
11
  export { useIsElementInViewport } from './blocks/helpers/useIsElementInViewport';
12
+ export { PhoneLinkBlock } from './blocks/PhoneLinkBlock';
9
13
  export type { PropsWithData } from './blocks/PropsWithData';
10
14
  export { SvgImageBlock } from './blocks/SvgImageBlock';
11
15
  export { type CookieApi, CookieApiProvider, useCookieApi } from './cookies/CookieApiContext';
@@ -25,8 +29,13 @@ export { useIFrameBridge } from './iframebridge/useIFrameBridge';
25
29
  export { isWithPreviewPropsData, withPreview, type WithPreviewProps } from './iframebridge/withPreview';
26
30
  export { Image } from './image/Image';
27
31
  export { calculateInheritAspectRatio, generateImageUrl, getMaxDimensionsFromArea, type ImageDimensions, parseAspectRatio } from './image/image.utils';
32
+ export { createPersistedQueryGraphQLFetch } from './persistedQueries/createPersistedQueryGraphQLFetch';
33
+ export { persistedQueryRoute } from './persistedQueries/persistedQueryRoute';
34
+ export { default as webpackPersistedQueriesLoader } from './persistedQueries/webpackPersistedQueriesLoader';
28
35
  export { BlockPreviewProvider } from './preview/BlockPreviewProvider';
29
36
  export { PreviewContext } from './preview/PreviewContext';
30
37
  export { usePreview } from './preview/usePreview';
31
38
  export { PreviewSkeleton } from './previewskeleton/PreviewSkeleton';
39
+ export { sendSitePreviewIFrameMessage } from './sitePreview/iframebridge/sendSitePreviewIFrameMessage';
40
+ export { type SitePreviewIFrameLocationMessage, SitePreviewIFrameMessageType } from './sitePreview/iframebridge/SitePreviewIFrameMessage';
32
41
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrH,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,KAAK,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EACH,2BAA2B,EAC3B,uBAAuB,EACvB,6BAA6B,EAC7B,kBAAkB,EAClB,GAAG,EACH,KAAK,YAAY,EACjB,KAAK,WAAW,GACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EACH,gBAAgB,EAChB,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EAChC,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,iBAAiB,EACjB,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EACjC,KAAK,mBAAmB,GAC3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACxG,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,KAAK,eAAe,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACtJ,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrH,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,KAAK,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EACH,2BAA2B,EAC3B,uBAAuB,EACvB,6BAA6B,EAC7B,kBAAkB,EAClB,GAAG,EACH,KAAK,YAAY,EACjB,KAAK,WAAW,GACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EACH,gBAAgB,EAChB,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EAChC,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,iBAAiB,EACjB,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EACjC,KAAK,mBAAmB,GAC3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACxG,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,KAAK,eAAe,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACtJ,OAAO,EAAE,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AACvG,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,kDAAkD,CAAC;AAC5G,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,4BAA4B,EAAE,MAAM,yDAAyD,CAAC;AACvG,OAAO,EAAE,KAAK,gCAAgC,EAAE,4BAA4B,EAAE,MAAM,qDAAqD,CAAC"}
package/lib/index.js CHANGED
@@ -1,10 +1,14 @@
1
1
  import { recursivelyLoadBlockData } from "./blockLoader/blockLoader.js";
2
+ import { DamFileDownloadLinkBlock } from "./blocks/DamFileDownloadLinkBlock.js";
3
+ import { EmailLinkBlock } from "./blocks/EmailLinkBlock.js";
4
+ import { ExternalLinkBlock } from "./blocks/ExternalLinkBlock.js";
2
5
  import { BlocksBlock } from "./blocks/factories/BlocksBlock.js";
3
6
  import { ListBlock } from "./blocks/factories/ListBlock.js";
4
7
  import { OneOfBlock } from "./blocks/factories/OneOfBlock.js";
5
8
  import { OptionalBlock } from "./blocks/factories/OptionalBlock.js";
6
9
  import { hasRichTextBlockContent } from "./blocks/helpers/RichTextBlockHelper.js";
7
10
  import { useIsElementInViewport } from "./blocks/helpers/useIsElementInViewport.js";
11
+ import { PhoneLinkBlock } from "./blocks/PhoneLinkBlock.js";
8
12
  import { SvgImageBlock } from "./blocks/SvgImageBlock.js";
9
13
  import { CookieApiProvider, useCookieApi } from "./cookies/CookieApiContext.js";
10
14
  import { CookieSafe } from "./cookies/CookieSafe.js";
@@ -23,27 +27,37 @@ import { useIFrameBridge } from "./iframebridge/useIFrameBridge.js";
23
27
  import { isWithPreviewPropsData, withPreview } from "./iframebridge/withPreview.js";
24
28
  import { Image } from "./image/Image.js";
25
29
  import { calculateInheritAspectRatio, generateImageUrl, getMaxDimensionsFromArea, parseAspectRatio } from "./image/image.utils.js";
30
+ import { createPersistedQueryGraphQLFetch } from "./persistedQueries/createPersistedQueryGraphQLFetch.js";
31
+ import { persistedQueryRoute } from "./persistedQueries/persistedQueryRoute.js";
32
+ import { default as default2 } from "./persistedQueries/webpackPersistedQueriesLoader.js";
26
33
  import { BlockPreviewProvider } from "./preview/BlockPreviewProvider.js";
27
34
  import { PreviewContext } from "./preview/PreviewContext.js";
28
35
  import { usePreview } from "./preview/usePreview.js";
29
36
  import { PreviewSkeleton } from "./previewskeleton/PreviewSkeleton.js";
37
+ import { sendSitePreviewIFrameMessage } from "./sitePreview/iframebridge/sendSitePreviewIFrameMessage.js";
38
+ import { SitePreviewIFrameMessageType } from "./sitePreview/iframebridge/SitePreviewIFrameMessage.js";
30
39
  export {
31
40
  AdminMessageType,
32
41
  BlockPreviewProvider,
33
42
  BlocksBlock,
34
43
  CookieApiProvider,
35
44
  CookieSafe,
45
+ DamFileDownloadLinkBlock,
46
+ EmailLinkBlock,
36
47
  ErrorHandlerBoundary,
37
48
  ErrorHandlerProvider,
49
+ ExternalLinkBlock,
38
50
  IFrameBridgeProvider,
39
51
  IFrameMessageType,
40
52
  Image,
41
53
  ListBlock,
42
54
  OneOfBlock,
43
55
  OptionalBlock,
56
+ PhoneLinkBlock,
44
57
  Preview,
45
58
  PreviewContext,
46
59
  PreviewSkeleton,
60
+ SitePreviewIFrameMessageType,
47
61
  SvgImageBlock,
48
62
  calculateInheritAspectRatio,
49
63
  convertPreviewDataToHeaders,
@@ -51,13 +65,16 @@ export {
51
65
  createFetchWithDefaults,
52
66
  createFetchWithPreviewHeaders,
53
67
  createGraphQLFetch,
68
+ createPersistedQueryGraphQLFetch,
54
69
  generateImageUrl,
55
70
  getMaxDimensionsFromArea,
56
71
  gql,
57
72
  hasRichTextBlockContent,
58
73
  isWithPreviewPropsData,
59
74
  parseAspectRatio,
75
+ persistedQueryRoute,
60
76
  recursivelyLoadBlockData,
77
+ sendSitePreviewIFrameMessage,
61
78
  useBlockPreviewFetch,
62
79
  useCookieApi,
63
80
  useCookieBotCookieApi,
@@ -66,5 +83,6 @@ export {
66
83
  useLocalStorageCookieApi,
67
84
  useOneTrustCookieApi,
68
85
  usePreview,
86
+ default2 as webpackPersistedQueriesLoader,
69
87
  withPreview
70
88
  };
@@ -0,0 +1,5 @@
1
+ import { GraphQLFetch } from '../graphQLFetch/graphQLFetch';
2
+ type Fetch = typeof fetch;
3
+ export declare function createPersistedQueryGraphQLFetch(fetch: Fetch, url: string): GraphQLFetch;
4
+ export {};
5
+ //# sourceMappingURL=createPersistedQueryGraphQLFetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createPersistedQueryGraphQLFetch.d.ts","sourceRoot":"","sources":["../../src/persistedQueries/createPersistedQueryGraphQLFetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE,KAAK,KAAK,GAAG,OAAO,KAAK,CAAC;AAE1B,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,GAAG,YAAY,CAkExF"}
@@ -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,7 @@
1
+ export declare function persistedQueryRoute(req: Request, { graphqlTarget, headers: headersInit, persistedQueriesPath, cacheMaxAge, }: {
2
+ graphqlTarget: string;
3
+ headers?: HeadersInit;
4
+ persistedQueriesPath: string;
5
+ cacheMaxAge: number | undefined;
6
+ }): Promise<Response>;
7
+ //# sourceMappingURL=persistedQueryRoute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persistedQueryRoute.d.ts","sourceRoot":"","sources":["../../src/persistedQueries/persistedQueryRoute.ts"],"names":[],"mappings":"AA8CA,wBAAsB,mBAAmB,CACrC,GAAG,EAAE,OAAO,EACZ,EACI,aAAa,EACb,OAAO,EAAE,WAAW,EACpB,oBAAgD,EAChD,WAAW,GACd,EAAE;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,WAAW,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,qBAoErH"}
@@ -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,7 @@
1
+ import { LoaderContext } from 'webpack';
2
+ interface GqlHashLoaderOptions {
3
+ persistedQueriesPath?: string;
4
+ }
5
+ declare const webpackPersistedQueriesLoader: (this: LoaderContext<GqlHashLoaderOptions>, source: string) => string;
6
+ export default webpackPersistedQueriesLoader;
7
+ //# sourceMappingURL=webpackPersistedQueriesLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webpackPersistedQueriesLoader.d.ts","sourceRoot":"","sources":["../../src/persistedQueries/webpackPersistedQueriesLoader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,UAAU,oBAAoB;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC;AAqBD,QAAA,MAAM,6BAA6B,GAAa,MAAM,aAAa,CAAC,oBAAoB,CAAC,EAAE,QAAQ,MAAM,WAqCxG,CAAC;AAEF,eAAe,6BAA6B,CAAC"}
@@ -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
+ };
@@ -0,0 +1,18 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SitePreviewIFrameMessage.d.ts","sourceRoot":"","sources":["../../../src/sitePreview/iframebridge/SitePreviewIFrameMessage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAIpE,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"}
@@ -0,0 +1,8 @@
1
+ var SitePreviewIFrameMessageType = /* @__PURE__ */ ((SitePreviewIFrameMessageType2) => {
2
+ SitePreviewIFrameMessageType2["OpenLink"] = "OpenLink";
3
+ SitePreviewIFrameMessageType2["SitePreviewLocation"] = "SitePreviewLocation";
4
+ return SitePreviewIFrameMessageType2;
5
+ })(SitePreviewIFrameMessageType || {});
6
+ export {
7
+ SitePreviewIFrameMessageType
8
+ };
@@ -0,0 +1,3 @@
1
+ import { SitePreviewIFrameMessage } from './SitePreviewIFrameMessage';
2
+ export declare function sendSitePreviewIFrameMessage(message: SitePreviewIFrameMessage): void;
3
+ //# sourceMappingURL=sendSitePreviewIFrameMessage.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,6 @@
1
+ function sendSitePreviewIFrameMessage(message) {
2
+ window.parent.postMessage(JSON.stringify(message), "*");
3
+ }
4
+ export {
5
+ sendSitePreviewIFrameMessage
6
+ };
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)}._previewElementContainer_nwhl6_1{display:contents}
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)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@comet/site-react",
3
- "version": "9.0.0-canary-20251013121422",
3
+ "version": "9.0.0-canary-20251113142723",
4
4
  "description": "Comet Site React package",
5
5
  "repository": {
6
6
  "type": "git",
@@ -8,13 +8,17 @@
8
8
  "directory": "packages/site/site-react"
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/persistedQueries/webpackPersistedQueriesLoader.js"
18
22
  },
19
23
  "module": "./lib/index.js",
20
24
  "types": "lib/index.d.ts",
@@ -50,8 +54,9 @@
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-20251013121422",
54
- "@comet/eslint-config": "9.0.0-canary-20251013121422"
57
+ "webpack": "^5.102.1",
58
+ "@comet/cli": "9.0.0-canary-20251113142723",
59
+ "@comet/eslint-config": "9.0.0-canary-20251113142723"
55
60
  },
56
61
  "peerDependencies": {
57
62
  "react": "^18.0.0 || ^19.0.0"
@@ -64,14 +69,14 @@
64
69
  "registry": "https://registry.npmjs.org"
65
70
  },
66
71
  "scripts": {
67
- "build": "$npm_execpath run clean && npm run generate-block-types && vite build",
72
+ "build": "pnpm run clean && pnpm run generate-block-types && vite build",
68
73
  "clean": "rimraf lib 'src/**/*.generated.ts'",
69
- "dev": "$npm_execpath run clean && $npm_execpath generate-block-types && vite build --watch",
74
+ "dev": "pnpm run clean && pnpm generate-block-types && vite build --watch",
70
75
  "generate-block-types": "comet generate-block-types",
71
- "generate-block-types:watch": "chokidar -s \"block-meta.json\" -c \"$npm_execpath generate-block-types\"",
72
- "lint": "$npm_execpath generate-block-types && run-p lint:prettier lint:eslint lint:tsc",
76
+ "generate-block-types:watch": "chokidar -s \"block-meta.json\" -c \"pnpm generate-block-types\"",
77
+ "lint": "pnpm generate-block-types && run-p lint:prettier lint:eslint lint:tsc",
73
78
  "lint:eslint": "eslint --max-warnings 0 src/ **/*.json --no-warn-ignored",
74
- "lint:prettier": "npx prettier --check './**/*.{js,json,md,yml,yaml,css,scss}'",
79
+ "lint:prettier": "pnpm exec prettier --check './**/*.{js,json,md,yml,yaml,css,scss}'",
75
80
  "lint:tsc": "tsc --noEmit",
76
81
  "test": "jest --verbose=true --passWithNoTests",
77
82
  "test:watch": "jest --watch"