@makeswift/runtime 0.27.2 → 0.27.4

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 (95) hide show
  1. package/dist/cjs/api-handler/handlers/manifest.js +1 -1
  2. package/dist/cjs/client/index.js +3 -3
  3. package/dist/cjs/next/api-handler/config/pages-router.js +1 -1
  4. package/dist/cjs/next/api-handler/config/pages-router.js.map +1 -1
  5. package/dist/esm/api-handler/handlers/manifest.js +1 -1
  6. package/dist/esm/client/index.js +3 -3
  7. package/dist/esm/next/api-handler/config/pages-router.js +1 -1
  8. package/dist/esm/next/api-handler/config/pages-router.js.map +1 -1
  9. package/package.json +1 -1
  10. package/dist/cjs/api/react.js +0 -256
  11. package/dist/cjs/api/react.js.map +0 -1
  12. package/dist/cjs/runtimes/react/components/LiveProvider.js +0 -50
  13. package/dist/cjs/runtimes/react/components/LiveProvider.js.map +0 -1
  14. package/dist/cjs/runtimes/react/components/PreviewProvider.js +0 -63
  15. package/dist/cjs/runtimes/react/components/PreviewProvider.js.map +0 -1
  16. package/dist/cjs/runtimes/react/components/hooks/use-builder-connection-ping.js +0 -62
  17. package/dist/cjs/runtimes/react/components/hooks/use-builder-connection-ping.js.map +0 -1
  18. package/dist/cjs/runtimes/react/hooks/use-is-preview.js +0 -33
  19. package/dist/cjs/runtimes/react/hooks/use-is-preview.js.map +0 -1
  20. package/dist/cjs/state/actions/internal.js +0 -205
  21. package/dist/cjs/state/actions/internal.js.map +0 -1
  22. package/dist/cjs/state/mixins/setup-teardown.js +0 -35
  23. package/dist/cjs/state/mixins/setup-teardown.js.map +0 -1
  24. package/dist/cjs/state/modules/box-models.js +0 -127
  25. package/dist/cjs/state/modules/box-models.js.map +0 -1
  26. package/dist/cjs/state/modules/element-imperative-handles.js +0 -60
  27. package/dist/cjs/state/modules/element-imperative-handles.js.map +0 -1
  28. package/dist/cjs/state/modules/is-preview.js +0 -47
  29. package/dist/cjs/state/modules/is-preview.js.map +0 -1
  30. package/dist/cjs/state/modules/pointer.js +0 -47
  31. package/dist/cjs/state/modules/pointer.js.map +0 -1
  32. package/dist/cjs/state/modules/read-write-documents.js +0 -98
  33. package/dist/cjs/state/modules/read-write-documents.js.map +0 -1
  34. package/dist/cjs/state/react-builder-preview.js +0 -586
  35. package/dist/cjs/state/react-builder-preview.js.map +0 -1
  36. package/dist/cjs/state/react-page.js +0 -313
  37. package/dist/cjs/state/react-page.js.map +0 -1
  38. package/dist/esm/api/react.js +0 -223
  39. package/dist/esm/api/react.js.map +0 -1
  40. package/dist/esm/runtimes/react/components/LiveProvider.js +0 -20
  41. package/dist/esm/runtimes/react/components/LiveProvider.js.map +0 -1
  42. package/dist/esm/runtimes/react/components/PreviewProvider.js +0 -33
  43. package/dist/esm/runtimes/react/components/PreviewProvider.js.map +0 -1
  44. package/dist/esm/runtimes/react/components/hooks/use-builder-connection-ping.js +0 -38
  45. package/dist/esm/runtimes/react/components/hooks/use-builder-connection-ping.js.map +0 -1
  46. package/dist/esm/runtimes/react/hooks/use-is-preview.js +0 -9
  47. package/dist/esm/runtimes/react/hooks/use-is-preview.js.map +0 -1
  48. package/dist/esm/state/actions/internal.js +0 -162
  49. package/dist/esm/state/actions/internal.js.map +0 -1
  50. package/dist/esm/state/mixins/setup-teardown.js +0 -11
  51. package/dist/esm/state/mixins/setup-teardown.js.map +0 -1
  52. package/dist/esm/state/modules/box-models.js +0 -98
  53. package/dist/esm/state/modules/box-models.js.map +0 -1
  54. package/dist/esm/state/modules/element-imperative-handles.js +0 -35
  55. package/dist/esm/state/modules/element-imperative-handles.js.map +0 -1
  56. package/dist/esm/state/modules/is-preview.js +0 -21
  57. package/dist/esm/state/modules/is-preview.js.map +0 -1
  58. package/dist/esm/state/modules/pointer.js +0 -22
  59. package/dist/esm/state/modules/pointer.js.map +0 -1
  60. package/dist/esm/state/modules/read-write-documents.js +0 -60
  61. package/dist/esm/state/modules/read-write-documents.js.map +0 -1
  62. package/dist/esm/state/react-builder-preview.js +0 -547
  63. package/dist/esm/state/react-builder-preview.js.map +0 -1
  64. package/dist/esm/state/react-page.js +0 -268
  65. package/dist/esm/state/react-page.js.map +0 -1
  66. package/dist/types/api/react.d.ts +0 -82
  67. package/dist/types/api/react.d.ts.map +0 -1
  68. package/dist/types/runtimes/react/components/LiveProvider.d.ts +0 -3
  69. package/dist/types/runtimes/react/components/LiveProvider.d.ts.map +0 -1
  70. package/dist/types/runtimes/react/components/PreviewProvider.d.ts +0 -5
  71. package/dist/types/runtimes/react/components/PreviewProvider.d.ts.map +0 -1
  72. package/dist/types/runtimes/react/components/hooks/use-builder-connection-ping.d.ts +0 -4
  73. package/dist/types/runtimes/react/components/hooks/use-builder-connection-ping.d.ts.map +0 -1
  74. package/dist/types/runtimes/react/hooks/use-is-preview.d.ts +0 -2
  75. package/dist/types/runtimes/react/hooks/use-is-preview.d.ts.map +0 -1
  76. package/dist/types/state/__tests__/react-page.test.d.ts +0 -2
  77. package/dist/types/state/__tests__/react-page.test.d.ts.map +0 -1
  78. package/dist/types/state/actions/internal.d.ts +0 -181
  79. package/dist/types/state/actions/internal.d.ts.map +0 -1
  80. package/dist/types/state/mixins/setup-teardown.d.ts +0 -7
  81. package/dist/types/state/mixins/setup-teardown.d.ts.map +0 -1
  82. package/dist/types/state/modules/box-models.d.ts +0 -23
  83. package/dist/types/state/modules/box-models.d.ts.map +0 -1
  84. package/dist/types/state/modules/element-imperative-handles.d.ts +0 -7
  85. package/dist/types/state/modules/element-imperative-handles.d.ts.map +0 -1
  86. package/dist/types/state/modules/is-preview.d.ts +0 -6
  87. package/dist/types/state/modules/is-preview.d.ts.map +0 -1
  88. package/dist/types/state/modules/pointer.d.ts +0 -12
  89. package/dist/types/state/modules/pointer.d.ts.map +0 -1
  90. package/dist/types/state/modules/read-write-documents.d.ts +0 -14
  91. package/dist/types/state/modules/read-write-documents.d.ts.map +0 -1
  92. package/dist/types/state/react-builder-preview.d.ts +0 -108
  93. package/dist/types/state/react-builder-preview.d.ts.map +0 -1
  94. package/dist/types/state/react-page.d.ts +0 -149
  95. package/dist/types/state/react-page.d.ts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/api/react.ts"],"sourcesContent":["import { type FetchableValue } from '@makeswift/controls'\nimport * as MakeswiftApiClient from '../state/makeswift-api-client'\nimport {\n APIResourceType,\n File,\n GlobalElement,\n LocalizedGlobalElement,\n Page,\n PagePathnameSlice,\n Site,\n Snippet,\n Swatch,\n Table,\n Typography,\n} from './types'\nimport { GraphQLClient } from './graphql/client'\nimport { CreateTableRecordMutation } from './graphql/documents'\nimport {\n CreateTableRecordMutationResult,\n CreateTableRecordMutationVariables,\n} from './graphql/generated/types'\n\nexport type CacheData = MakeswiftApiClient.SerializedState\n\nexport const CacheData = {\n empty(): CacheData {\n return {\n apiResources: {},\n localizedResourcesMap: {},\n }\n },\n}\n\n/**\n * NOTE(miguel): This \"client\" is used to fetch Makeswift API resources needed for the host. For\n * example, swatches, files, typographies, etc. Ideally it's internal to the runtime and is only\n * used by controls to transform API references to API resources.\n *\n * Moreover, its use should be reserved for the builder only, since for live pages all Makeswift\n * API resources should be embedded in the \"page snapshot\". In the builder, this client serves the\n * purpose of sending requests for API resources and keeping a cache so that changes that happen in\n * the builder, like modifying a swatch, can be sent via `postMessage` to the host and the cache can\n * immediately update the value and re-render.\n *\n * Furthermore, the API resources requested shouldn't be requested directly from the Makeswift API\n * as that would require those resources to not be authenticated since the requests come from the\n * browser when running the host. Instead, the requests should go to the host directly, at the\n * Makeswift API endpoint (i.g., `/api/makeswift/[...makeswift]` dynamic route) where the host's\n * API key can be used, securely, in the server. For this reason, this client should really be a\n * client of the host's API, not Makeswift's, intended to build and continuously maintain a realtime\n * snapshot for use in the builder, not the lives pages.\n */\nexport class MakeswiftHostApiClient {\n graphqlClient: GraphQLClient\n makeswiftApiClient: MakeswiftApiClient.Store\n subscribe: MakeswiftApiClient.Store['subscribe']\n fetch: MakeswiftApiClient.HttpFetch\n\n constructor({\n uri,\n fetch,\n cacheData,\n locale,\n }: {\n uri: string\n fetch: MakeswiftApiClient.HttpFetch\n cacheData?: CacheData\n locale?: string\n }) {\n this.graphqlClient = new GraphQLClient(uri)\n this.makeswiftApiClient = MakeswiftApiClient.configureStore({\n serializedState: cacheData,\n defaultLocale: locale,\n })\n this.fetch = fetch\n this.subscribe = this.makeswiftApiClient.subscribe\n }\n\n readSwatch(swatchId: string): Swatch | null {\n return MakeswiftApiClient.getAPIResource(\n this.makeswiftApiClient.getState(),\n APIResourceType.Swatch,\n swatchId,\n )\n }\n\n async fetchSwatch(swatchId: string): Promise<Swatch | null> {\n return await this.makeswiftApiClient.dispatch(\n MakeswiftApiClient.fetchAPIResource(APIResourceType.Swatch, swatchId, this.fetch),\n )\n }\n\n resolveSwatch(swatchId: string | undefined): FetchableValue<Swatch | null> {\n return this.resolveResource(APIResourceType.Swatch, {\n id: swatchId,\n read: id => this.readSwatch(id),\n fetch: id => this.fetchSwatch(id),\n })\n }\n\n readFile(fileId: string): File | null {\n return MakeswiftApiClient.getAPIResource(\n this.makeswiftApiClient.getState(),\n APIResourceType.File,\n fileId,\n )\n }\n\n async fetchFile(fileId: string): Promise<File | null> {\n return await this.makeswiftApiClient.dispatch(\n MakeswiftApiClient.fetchAPIResource(APIResourceType.File, fileId, this.fetch),\n )\n }\n\n resolveFile(fileId: string | undefined): FetchableValue<File | null> {\n return this.resolveResource(APIResourceType.File, {\n id: fileId,\n read: id => this.readFile(id),\n fetch: id => this.fetchFile(id),\n })\n }\n\n readTypography(typographyId: string): Typography | null {\n return MakeswiftApiClient.getAPIResource(\n this.makeswiftApiClient.getState(),\n APIResourceType.Typography,\n typographyId,\n )\n }\n\n async fetchTypography(typographyId: string): Promise<Typography | null> {\n return await this.makeswiftApiClient.dispatch(\n MakeswiftApiClient.fetchAPIResource(APIResourceType.Typography, typographyId, this.fetch),\n )\n }\n\n resolveTypography(typographyId: string | undefined): FetchableValue<Typography | null> {\n return this.resolveResource(APIResourceType.Typography, {\n id: typographyId,\n read: id => this.readTypography(id),\n fetch: id => this.fetchTypography(id),\n })\n }\n\n readGlobalElement(globalElementId: string): GlobalElement | null {\n return MakeswiftApiClient.getAPIResource(\n this.makeswiftApiClient.getState(),\n APIResourceType.GlobalElement,\n globalElementId,\n )\n }\n\n async fetchGlobalElement(globalElementId: string): Promise<GlobalElement | null> {\n return await this.makeswiftApiClient.dispatch(\n MakeswiftApiClient.fetchAPIResource(\n APIResourceType.GlobalElement,\n globalElementId,\n this.fetch,\n ),\n )\n }\n\n readLocalizedGlobalElement({\n globalElementId,\n locale,\n }: {\n globalElementId: string\n locale: string\n }): LocalizedGlobalElement | null {\n return MakeswiftApiClient.getAPIResource(\n this.makeswiftApiClient.getState(),\n APIResourceType.LocalizedGlobalElement,\n globalElementId,\n locale,\n )\n }\n\n async fetchLocalizedGlobalElement({\n globalElementId,\n locale,\n }: {\n globalElementId: string\n locale: string\n }): Promise<LocalizedGlobalElement | null> {\n return await this.makeswiftApiClient.dispatch(\n MakeswiftApiClient.fetchAPIResource(\n APIResourceType.LocalizedGlobalElement,\n globalElementId,\n this.fetch,\n locale,\n ),\n )\n }\n\n readPagePathnameSlice({\n pageId,\n locale,\n }: {\n pageId: string\n locale: string | null\n }): PagePathnameSlice | null {\n return MakeswiftApiClient.getAPIResource(\n this.makeswiftApiClient.getState(),\n APIResourceType.PagePathnameSlice,\n pageId,\n locale,\n )\n }\n\n async fetchPagePathnameSlice({\n pageId,\n locale,\n }: {\n pageId: string\n locale: string | null\n }): Promise<PagePathnameSlice | null> {\n return await this.makeswiftApiClient.dispatch(\n MakeswiftApiClient.fetchAPIResource(\n APIResourceType.PagePathnameSlice,\n pageId,\n this.fetch,\n locale,\n ),\n )\n }\n\n resolvePagePathnameSlice({\n pageId,\n locale,\n }: {\n pageId: string | undefined\n locale: string | null\n }): FetchableValue<PagePathnameSlice | null> {\n return this.resolveResource(APIResourceType.PagePathnameSlice, {\n id: pageId,\n read: id => this.readPagePathnameSlice({ pageId: id, locale }),\n fetch: id => this.fetchPagePathnameSlice({ pageId: id, locale }),\n })\n }\n\n resolveResource<R>(\n type: APIResourceType,\n {\n id,\n read,\n fetch,\n }: {\n id: string | undefined\n read: (id: string) => R | null\n fetch: (id: string) => Promise<R | null>\n },\n ): FetchableValue<R | null> {\n const _read = () => (id != null ? read(id) : null)\n let lastValue: R | null = null\n return {\n name: `${type}:${id}`,\n readStable: () => (lastValue = _read()),\n subscribe: (onUpdate: () => void) =>\n this.subscribe(() => {\n if (_read() !== lastValue) onUpdate()\n }),\n fetch: async () => (id != null ? fetch(id) : null),\n }\n }\n\n readTable(tableId: string): Table | null {\n return MakeswiftApiClient.getAPIResource(\n this.makeswiftApiClient.getState(),\n APIResourceType.Table,\n tableId,\n )\n }\n\n async fetchTable(tableId: string): Promise<Table | null> {\n return await this.makeswiftApiClient.dispatch(\n MakeswiftApiClient.fetchAPIResource(APIResourceType.Table, tableId, this.fetch),\n )\n }\n\n async createTableRecord(tableId: string, columns: any): Promise<void> {\n await this.graphqlClient.request<\n CreateTableRecordMutationResult,\n CreateTableRecordMutationVariables\n >(CreateTableRecordMutation, { input: { data: { tableId, columns } } })\n }\n\n readSite(siteId: string): Site | null {\n return MakeswiftApiClient.getAPIResource(\n this.makeswiftApiClient.getState(),\n APIResourceType.Site,\n siteId,\n )\n }\n\n readPage(pageId: string): Page | null {\n return MakeswiftApiClient.getAPIResource(\n this.makeswiftApiClient.getState(),\n APIResourceType.Page,\n pageId,\n )\n }\n\n readSnippet(snippetId: string): Snippet | null {\n return MakeswiftApiClient.getAPIResource(\n this.makeswiftApiClient.getState(),\n APIResourceType.Snippet,\n snippetId,\n )\n }\n}\n"],"mappings":"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","names":[]}
@@ -1,20 +0,0 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { useMemo } from "react";
3
- import * as ReactPage from "../../../state/react-page";
4
- import { useReactRuntime } from "../hooks/use-react-runtime";
5
- import { StoreContext } from "../hooks/use-store";
6
- function LiveProvider({ children }) {
7
- const runtime = useReactRuntime();
8
- const store = useMemo(
9
- () => ReactPage.configureStore({
10
- name: "Host store",
11
- preloadedState: runtime.store.getState()
12
- }),
13
- [runtime]
14
- );
15
- return /* @__PURE__ */ jsx(StoreContext.Provider, { value: store, children });
16
- }
17
- export {
18
- LiveProvider as default
19
- };
20
- //# sourceMappingURL=LiveProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/components/LiveProvider.tsx"],"sourcesContent":["import { type PropsWithChildren, useMemo, ReactNode } from 'react'\n\nimport * as ReactPage from '../../../state/react-page'\n\nimport { useReactRuntime } from '../hooks/use-react-runtime'\nimport { StoreContext } from '../hooks/use-store'\n\nexport default function LiveProvider({ children }: PropsWithChildren): ReactNode {\n const runtime = useReactRuntime()\n const store = useMemo(\n () =>\n ReactPage.configureStore({\n name: 'Host store',\n preloadedState: runtime.store.getState(),\n }),\n [runtime],\n )\n\n return <StoreContext.Provider value={store}>{children}</StoreContext.Provider>\n}\n"],"mappings":"AAkBS;AAlBT,SAAiC,eAA0B;AAE3D,YAAY,eAAe;AAE3B,SAAS,uBAAuB;AAChC,SAAS,oBAAoB;AAEd,SAAR,aAA8B,EAAE,SAAS,GAAiC;AAC/E,QAAM,UAAU,gBAAgB;AAChC,QAAM,QAAQ;AAAA,IACZ,MACE,UAAU,eAAe;AAAA,MACvB,MAAM;AAAA,MACN,gBAAgB,QAAQ,MAAM,SAAS;AAAA,IACzC,CAAC;AAAA,IACH,CAAC,OAAO;AAAA,EACV;AAEA,SAAO,oBAAC,aAAa,UAAb,EAAsB,OAAO,OAAQ,UAAS;AACxD;","names":[]}
@@ -1,33 +0,0 @@
1
- "use client";
2
- import { jsx } from "react/jsx-runtime";
3
- import { useEffect, useMemo } from "react";
4
- import * as ReactBuilderPreview from "../../../state/react-builder-preview";
5
- import { BuilderAPIProxy } from "../../../state/builder-api/proxy";
6
- import { useReactRuntime } from "../hooks/use-react-runtime";
7
- import { StoreContext } from "../hooks/use-store";
8
- import { useMakeswiftHostApiClient } from "../host-api-client";
9
- function PreviewProvider({
10
- appOrigin,
11
- children
12
- }) {
13
- const runtime = useReactRuntime();
14
- const client = useMakeswiftHostApiClient();
15
- const builderProxy = useMemo(() => new BuilderAPIProxy({ appOrigin }), [appOrigin]);
16
- const store = useMemo(
17
- () => ReactBuilderPreview.configureStore({
18
- preloadedState: runtime.store.getState(),
19
- client,
20
- builderProxy
21
- }),
22
- [runtime, client, builderProxy]
23
- );
24
- useEffect(() => {
25
- store.setup();
26
- return () => store.teardown();
27
- }, [store]);
28
- return /* @__PURE__ */ jsx(StoreContext.Provider, { value: store, children });
29
- }
30
- export {
31
- PreviewProvider as default
32
- };
33
- //# sourceMappingURL=PreviewProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/components/PreviewProvider.tsx"],"sourcesContent":["'use client'\n\nimport { type PropsWithChildren, useEffect, useMemo, ReactNode } from 'react'\n\nimport * as ReactBuilderPreview from '../../../state/react-builder-preview'\nimport { BuilderAPIProxy } from '../../../state/builder-api/proxy'\n\nimport { useReactRuntime } from '../hooks/use-react-runtime'\nimport { StoreContext } from '../hooks/use-store'\nimport { useMakeswiftHostApiClient } from '../host-api-client'\n\nexport default function PreviewProvider({\n appOrigin,\n children,\n}: PropsWithChildren<{ appOrigin: string }>): ReactNode {\n const runtime = useReactRuntime()\n const client = useMakeswiftHostApiClient()\n const builderProxy = useMemo(() => new BuilderAPIProxy({ appOrigin }), [appOrigin])\n\n const store = useMemo(\n () =>\n ReactBuilderPreview.configureStore({\n preloadedState: runtime.store.getState(),\n client,\n builderProxy,\n }),\n [runtime, client, builderProxy],\n )\n\n useEffect(() => {\n store.setup()\n return () => store.teardown()\n }, [store])\n\n return <StoreContext.Provider value={store}>{children}</StoreContext.Provider>\n}\n"],"mappings":";AAkCS;AAhCT,SAAiC,WAAW,eAA0B;AAEtE,YAAY,yBAAyB;AACrC,SAAS,uBAAuB;AAEhC,SAAS,uBAAuB;AAChC,SAAS,oBAAoB;AAC7B,SAAS,iCAAiC;AAE3B,SAAR,gBAAiC;AAAA,EACtC;AAAA,EACA;AACF,GAAwD;AACtD,QAAM,UAAU,gBAAgB;AAChC,QAAM,SAAS,0BAA0B;AACzC,QAAM,eAAe,QAAQ,MAAM,IAAI,gBAAgB,EAAE,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC;AAElF,QAAM,QAAQ;AAAA,IACZ,MACE,oBAAoB,eAAe;AAAA,MACjC,gBAAgB,QAAQ,MAAM,SAAS;AAAA,MACvC;AAAA,MACA;AAAA,IACF,CAAC;AAAA,IACH,CAAC,SAAS,QAAQ,YAAY;AAAA,EAChC;AAEA,YAAU,MAAM;AACd,UAAM,MAAM;AACZ,WAAO,MAAM,MAAM,SAAS;AAAA,EAC9B,GAAG,CAAC,KAAK,CAAC;AAEV,SAAO,oBAAC,aAAa,UAAb,EAAsB,OAAO,OAAQ,UAAS;AACxD;","names":[]}
@@ -1,38 +0,0 @@
1
- import { useEffect } from "react";
2
- import { makeswiftConnectionCheck } from "../../../../state/builder-api/actions";
3
- import { SharedActionTypes, makeswiftConnectionInit } from "../../../../state/shared-api";
4
- const CONNECTION_PING_INTERVAL_MS = 20;
5
- function useBuilderConnectionPing({ appOrigin }) {
6
- useEffect(() => {
7
- let connectionInterval;
8
- if (window.parent !== window) {
9
- window.addEventListener("message", messageHandler);
10
- window.parent.postMessage(makeswiftConnectionInit(), { targetOrigin: appOrigin });
11
- }
12
- return () => {
13
- window.removeEventListener("message", messageHandler);
14
- if (connectionInterval != null) {
15
- window.clearInterval(connectionInterval);
16
- connectionInterval = null;
17
- }
18
- };
19
- function messageHandler(event) {
20
- if (event.origin === appOrigin && event.data.type === SharedActionTypes.MAKESWIFT_CONNECTION_INIT) {
21
- if (connectionInterval != null) {
22
- window.clearInterval(connectionInterval);
23
- connectionInterval = null;
24
- }
25
- connectionInterval = window.setInterval(() => {
26
- window.parent.postMessage(
27
- makeswiftConnectionCheck({ currentUrl: window.location.href }),
28
- { targetOrigin: appOrigin }
29
- );
30
- }, CONNECTION_PING_INTERVAL_MS);
31
- }
32
- }
33
- }, [appOrigin]);
34
- }
35
- export {
36
- useBuilderConnectionPing
37
- };
38
- //# sourceMappingURL=use-builder-connection-ping.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../src/runtimes/react/components/hooks/use-builder-connection-ping.ts"],"sourcesContent":["import { useEffect } from 'react'\nimport { makeswiftConnectionCheck } from '../../../../state/builder-api/actions'\nimport { SharedActionTypes, makeswiftConnectionInit } from '../../../../state/shared-api'\n\nconst CONNECTION_PING_INTERVAL_MS = 20\n\nexport function useBuilderConnectionPing({ appOrigin }: { appOrigin: string }) {\n useEffect(() => {\n let connectionInterval: number | null\n\n if (window.parent !== window) {\n window.addEventListener('message', messageHandler)\n window.parent.postMessage(makeswiftConnectionInit(), { targetOrigin: appOrigin })\n }\n\n return () => {\n window.removeEventListener('message', messageHandler)\n if (connectionInterval != null) {\n window.clearInterval(connectionInterval)\n connectionInterval = null\n }\n }\n\n function messageHandler(event: MessageEvent): void {\n if (\n event.origin === appOrigin &&\n event.data.type === SharedActionTypes.MAKESWIFT_CONNECTION_INIT\n ) {\n if (connectionInterval != null) {\n window.clearInterval(connectionInterval)\n connectionInterval = null\n }\n\n connectionInterval = window.setInterval(() => {\n window.parent.postMessage(\n makeswiftConnectionCheck({ currentUrl: window.location.href }),\n { targetOrigin: appOrigin },\n )\n }, CONNECTION_PING_INTERVAL_MS)\n }\n }\n }, [appOrigin])\n}\n"],"mappings":"AAAA,SAAS,iBAAiB;AAC1B,SAAS,gCAAgC;AACzC,SAAS,mBAAmB,+BAA+B;AAE3D,MAAM,8BAA8B;AAE7B,SAAS,yBAAyB,EAAE,UAAU,GAA0B;AAC7E,YAAU,MAAM;AACd,QAAI;AAEJ,QAAI,OAAO,WAAW,QAAQ;AAC5B,aAAO,iBAAiB,WAAW,cAAc;AACjD,aAAO,OAAO,YAAY,wBAAwB,GAAG,EAAE,cAAc,UAAU,CAAC;AAAA,IAClF;AAEA,WAAO,MAAM;AACX,aAAO,oBAAoB,WAAW,cAAc;AACpD,UAAI,sBAAsB,MAAM;AAC9B,eAAO,cAAc,kBAAkB;AACvC,6BAAqB;AAAA,MACvB;AAAA,IACF;AAEA,aAAS,eAAe,OAA2B;AACjD,UACE,MAAM,WAAW,aACjB,MAAM,KAAK,SAAS,kBAAkB,2BACtC;AACA,YAAI,sBAAsB,MAAM;AAC9B,iBAAO,cAAc,kBAAkB;AACvC,+BAAqB;AAAA,QACvB;AAEA,6BAAqB,OAAO,YAAY,MAAM;AAC5C,iBAAO,OAAO;AAAA,YACZ,yBAAyB,EAAE,YAAY,OAAO,SAAS,KAAK,CAAC;AAAA,YAC7D,EAAE,cAAc,UAAU;AAAA,UAC5B;AAAA,QACF,GAAG,2BAA2B;AAAA,MAChC;AAAA,IACF;AAAA,EACF,GAAG,CAAC,SAAS,CAAC;AAChB;","names":[]}
@@ -1,9 +0,0 @@
1
- import { getIsPreview } from "../../../state/react-page";
2
- import { useSelector } from "./use-selector";
3
- function useIsPreview() {
4
- return useSelector((state) => getIsPreview(state));
5
- }
6
- export {
7
- useIsPreview
8
- };
9
- //# sourceMappingURL=use-is-preview.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-is-preview.ts"],"sourcesContent":["import { getIsPreview } from '../../../state/react-page'\nimport { useSelector } from './use-selector'\n\nexport function useIsPreview(): boolean {\n return useSelector(state => getIsPreview(state))\n}\n"],"mappings":"AAAA,SAAS,oBAAoB;AAC7B,SAAS,mBAAmB;AAErB,SAAS,eAAwB;AACtC,SAAO,YAAY,WAAS,aAAa,KAAK,CAAC;AACjD;","names":[]}
@@ -1,162 +0,0 @@
1
- const InternalActionTypes = {
2
- API_RESOURCE_FULFILLED: "API_RESOURCE_FULFILLED",
3
- CREATE_ELEMENT_TREE: "CREATE_ELEMENT_TREE",
4
- DELETE_ELEMENT_TREE: "DELETE_ELEMENT_TREE",
5
- CHANGE_ELEMENT_TREE: "CHANGE_ELEMENT_TREE",
6
- REGISTER_COMPONENT: "REGISTER_COMPONENT",
7
- UNREGISTER_COMPONENT: "UNREGISTER_COMPONENT",
8
- REGISTER_COMPONENT_HANDLE: "REGISTER_COMPONENT_HANDLE",
9
- UNREGISTER_COMPONENT_HANDLE: "UNREGISTER_COMPONENT_HANDLE",
10
- REGISTER_MEASURABLE: "REGISTER_MEASURABLE",
11
- UNREGISTER_MEASURABLE: "UNREGISTER_MEASURABLE",
12
- REGISTER_PROP_CONTROLLERS: "REGISTER_PROP_CONTROLLERS",
13
- UNREGISTER_PROP_CONTROLLERS: "UNREGISTER_PROP_CONTROLLERS",
14
- REGISTER_PROP_CONTROLLERS_HANDLE: "REGISTER_PROP_CONTROLLERS_HANDLE",
15
- UNREGISTER_PROP_CONTROLLERS_HANDLE: "UNREGISTER_PROP_CONTROLLERS_HANDLE",
16
- REGISTER_REACT_COMPONENT: "REGISTER_REACT_COMPONENT",
17
- UNREGISTER_REACT_COMPONENT: "UNREGISTER_REACT_COMPONENT",
18
- SET_IS_IN_BUILDER: "SET_IS_IN_BUILDER",
19
- UPDATE_API_CLIENT_CACHE: "UPDATE_API_CLIENT_CACHE"
20
- };
21
- function apiResourceFulfilled(resourceType, resourceId, resource, locale) {
22
- return {
23
- type: InternalActionTypes.API_RESOURCE_FULFILLED,
24
- payload: { resourceType, resourceId, resource, locale }
25
- };
26
- }
27
- function createElementTree(payload) {
28
- return {
29
- type: InternalActionTypes.CREATE_ELEMENT_TREE,
30
- payload
31
- };
32
- }
33
- function deleteElementTree(payload) {
34
- return { type: InternalActionTypes.DELETE_ELEMENT_TREE, payload };
35
- }
36
- function changeElementTree(payload) {
37
- return {
38
- type: InternalActionTypes.CHANGE_ELEMENT_TREE,
39
- payload
40
- };
41
- }
42
- function registerComponent(type, meta, propControllerDescriptors) {
43
- return {
44
- type: InternalActionTypes.REGISTER_COMPONENT,
45
- payload: { type, meta, propControllerDescriptors }
46
- };
47
- }
48
- function unregisterComponent(type) {
49
- return { type: InternalActionTypes.UNREGISTER_COMPONENT, payload: { type } };
50
- }
51
- function registerComponentEffect(type, meta, propControllerDescriptors) {
52
- return (dispatch) => {
53
- dispatch(registerComponent(type, meta, propControllerDescriptors));
54
- return () => {
55
- dispatch(unregisterComponent(type));
56
- };
57
- };
58
- }
59
- function registerComponentHandle(documentKey, elementKey, componentHandle) {
60
- return {
61
- type: InternalActionTypes.REGISTER_COMPONENT_HANDLE,
62
- payload: { documentKey, elementKey, componentHandle }
63
- };
64
- }
65
- function unregisterComponentHandle(documentKey, elementKey) {
66
- return {
67
- type: InternalActionTypes.UNREGISTER_COMPONENT_HANDLE,
68
- payload: { documentKey, elementKey }
69
- };
70
- }
71
- function registerComponentHandleEffect(documentKey, elementKey, componentHandle) {
72
- return (dispatch) => {
73
- dispatch(registerComponentHandle(documentKey, elementKey, componentHandle));
74
- return () => {
75
- dispatch(unregisterComponentHandle(documentKey, elementKey));
76
- };
77
- };
78
- }
79
- function registerMeasurable(documentKey, elementKey, measurable) {
80
- return {
81
- type: InternalActionTypes.REGISTER_MEASURABLE,
82
- payload: { documentKey, elementKey, measurable }
83
- };
84
- }
85
- function unregisterMeasurable(documentKey, elementKey) {
86
- return { type: InternalActionTypes.UNREGISTER_MEASURABLE, payload: { documentKey, elementKey } };
87
- }
88
- function registerMeasurableEffect(documentKey, elementKey, measurable) {
89
- return (dispatch) => {
90
- dispatch(registerMeasurable(documentKey, elementKey, measurable));
91
- return () => {
92
- dispatch(unregisterMeasurable(documentKey, elementKey));
93
- };
94
- };
95
- }
96
- function registerPropControllersHandle(documentKey, elementKey, handle) {
97
- return {
98
- type: InternalActionTypes.REGISTER_PROP_CONTROLLERS_HANDLE,
99
- payload: { documentKey, elementKey, handle }
100
- };
101
- }
102
- function unregisterPropControllersHandle(documentKey, elementKey) {
103
- return {
104
- type: InternalActionTypes.UNREGISTER_PROP_CONTROLLERS_HANDLE,
105
- payload: { documentKey, elementKey }
106
- };
107
- }
108
- function registerPropControllers(documentKey, elementKey, propControllers) {
109
- return {
110
- type: InternalActionTypes.REGISTER_PROP_CONTROLLERS,
111
- payload: { documentKey, elementKey, propControllers }
112
- };
113
- }
114
- function unregisterPropControllers(documentKey, elementKey) {
115
- return {
116
- type: InternalActionTypes.UNREGISTER_PROP_CONTROLLERS,
117
- payload: { documentKey, elementKey }
118
- };
119
- }
120
- function registerReactComponent(type, component) {
121
- return { type: InternalActionTypes.REGISTER_REACT_COMPONENT, payload: { type, component } };
122
- }
123
- function unregisterReactComponent(type) {
124
- return { type: InternalActionTypes.UNREGISTER_REACT_COMPONENT, payload: { type } };
125
- }
126
- function registerReactComponentEffect(type, component) {
127
- return (dispatch) => {
128
- dispatch(registerReactComponent(type, component));
129
- return () => {
130
- dispatch(unregisterReactComponent(type));
131
- };
132
- };
133
- }
134
- function setIsInBuilder(isInBuilder) {
135
- return { type: InternalActionTypes.SET_IS_IN_BUILDER, payload: isInBuilder };
136
- }
137
- function updateAPIClientCache(payload) {
138
- return { type: InternalActionTypes.UPDATE_API_CLIENT_CACHE, payload };
139
- }
140
- export {
141
- InternalActionTypes,
142
- apiResourceFulfilled,
143
- changeElementTree,
144
- createElementTree,
145
- deleteElementTree,
146
- registerComponent,
147
- registerComponentEffect,
148
- registerComponentHandle,
149
- registerComponentHandleEffect,
150
- registerMeasurable,
151
- registerMeasurableEffect,
152
- registerPropControllers,
153
- registerPropControllersHandle,
154
- registerReactComponentEffect,
155
- setIsInBuilder,
156
- unregisterComponent,
157
- unregisterMeasurable,
158
- unregisterPropControllers,
159
- unregisterPropControllersHandle,
160
- updateAPIClientCache
161
- };
162
- //# sourceMappingURL=internal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/state/actions/internal.ts"],"sourcesContent":["import { type Operation } from 'ot-json0'\nimport { type ThunkAction } from '@reduxjs/toolkit'\n\nimport { ControlInstance } from '@makeswift/controls'\n\nimport { ElementImperativeHandle } from '../../runtimes/react/element-imperative-handle'\n\nimport { type APIResource, APIResourceType, APIResourceLocale } from '../../api/types'\nimport { type Descriptor as PropControllerDescriptor } from '../../prop-controllers/descriptors'\n\nimport { type Measurable } from '../modules/box-models'\nimport { type ComponentMeta } from '../modules/components-meta'\nimport { type PropControllersHandle } from '../modules/prop-controller-handles'\nimport { type ComponentType } from '../modules/react-components'\nimport { type DescriptorsByComponentType } from '../modules/prop-controllers'\n\nimport { type DocumentPayload } from '../shared-api'\nimport { type SerializedState as APIClientCache } from '../makeswift-api-client'\n\nexport const InternalActionTypes = {\n API_RESOURCE_FULFILLED: 'API_RESOURCE_FULFILLED',\n\n CREATE_ELEMENT_TREE: 'CREATE_ELEMENT_TREE',\n DELETE_ELEMENT_TREE: 'DELETE_ELEMENT_TREE',\n CHANGE_ELEMENT_TREE: 'CHANGE_ELEMENT_TREE',\n\n REGISTER_COMPONENT: 'REGISTER_COMPONENT',\n UNREGISTER_COMPONENT: 'UNREGISTER_COMPONENT',\n\n REGISTER_COMPONENT_HANDLE: 'REGISTER_COMPONENT_HANDLE',\n UNREGISTER_COMPONENT_HANDLE: 'UNREGISTER_COMPONENT_HANDLE',\n\n REGISTER_MEASURABLE: 'REGISTER_MEASURABLE',\n UNREGISTER_MEASURABLE: 'UNREGISTER_MEASURABLE',\n\n REGISTER_PROP_CONTROLLERS: 'REGISTER_PROP_CONTROLLERS',\n UNREGISTER_PROP_CONTROLLERS: 'UNREGISTER_PROP_CONTROLLERS',\n\n REGISTER_PROP_CONTROLLERS_HANDLE: 'REGISTER_PROP_CONTROLLERS_HANDLE',\n UNREGISTER_PROP_CONTROLLERS_HANDLE: 'UNREGISTER_PROP_CONTROLLERS_HANDLE',\n\n REGISTER_REACT_COMPONENT: 'REGISTER_REACT_COMPONENT',\n UNREGISTER_REACT_COMPONENT: 'UNREGISTER_REACT_COMPONENT',\n\n SET_IS_IN_BUILDER: 'SET_IS_IN_BUILDER',\n\n UPDATE_API_CLIENT_CACHE: 'UPDATE_API_CLIENT_CACHE',\n} as const\n\ntype APIResourceFulfilledAction = {\n type: typeof InternalActionTypes.API_RESOURCE_FULFILLED\n payload: {\n resourceType: APIResourceType\n resourceId: string\n resource: APIResource | null\n locale?: string | null\n }\n}\n\ntype CreateElementTreeAction = {\n type: typeof InternalActionTypes.CREATE_ELEMENT_TREE\n payload: { document: DocumentPayload; descriptors: DescriptorsByComponentType }\n}\n\ntype DeleteElementTreeAction = {\n type: typeof InternalActionTypes.DELETE_ELEMENT_TREE\n payload: { documentKey: string }\n}\n\ntype ChangeElementTreeAction = {\n type: typeof InternalActionTypes.CHANGE_ELEMENT_TREE\n payload: {\n oldDocument: DocumentPayload\n newDocument: DocumentPayload\n descriptors: DescriptorsByComponentType\n operation: Operation\n }\n}\n\nexport type RegisterComponentAction = {\n type: typeof InternalActionTypes.REGISTER_COMPONENT\n payload: {\n type: string\n meta: ComponentMeta\n propControllerDescriptors: Record<string, PropControllerDescriptor>\n }\n}\n\nexport type UnregisterComponentAction = {\n type: typeof InternalActionTypes.UNREGISTER_COMPONENT\n payload: { type: string }\n}\n\ntype RegisterComponentHandleAction = {\n type: typeof InternalActionTypes.REGISTER_COMPONENT_HANDLE\n payload: { documentKey: string; elementKey: string; componentHandle: ElementImperativeHandle }\n}\n\ntype UnregisterComponentHandleAction = {\n type: typeof InternalActionTypes.UNREGISTER_COMPONENT_HANDLE\n payload: { documentKey: string; elementKey: string }\n}\n\ntype RegisterMeasurableAction = {\n type: typeof InternalActionTypes.REGISTER_MEASURABLE\n payload: { documentKey: string; elementKey: string; measurable: Measurable }\n}\n\ntype UnregisterMeasurableAction = {\n type: typeof InternalActionTypes.UNREGISTER_MEASURABLE\n payload: { documentKey: string; elementKey: string }\n}\n\ntype RegisterPropControllersHandleAction = {\n type: typeof InternalActionTypes.REGISTER_PROP_CONTROLLERS_HANDLE\n payload: { documentKey: string; elementKey: string; handle: PropControllersHandle }\n}\n\ntype UnregisterPropControllersHandleAction = {\n type: typeof InternalActionTypes.UNREGISTER_PROP_CONTROLLERS_HANDLE\n payload: { documentKey: string; elementKey: string }\n}\n\ntype RegisterPropControllersAction = {\n type: typeof InternalActionTypes.REGISTER_PROP_CONTROLLERS\n payload: {\n documentKey: string\n elementKey: string\n propControllers: Record<string, ControlInstance>\n }\n}\n\ntype UnregisterPropControllersAction = {\n type: typeof InternalActionTypes.UNREGISTER_PROP_CONTROLLERS\n payload: { documentKey: string; elementKey: string }\n}\n\ntype RegisterReactComponentAction = {\n type: typeof InternalActionTypes.REGISTER_REACT_COMPONENT\n payload: { type: string; component: ComponentType }\n}\n\ntype UnregisterReactComponentAction = {\n type: typeof InternalActionTypes.UNREGISTER_REACT_COMPONENT\n payload: { type: string }\n}\n\ntype SetIsInBuilderAction = {\n type: typeof InternalActionTypes.SET_IS_IN_BUILDER\n payload: boolean\n}\n\ntype UpdateAPIClientCache = {\n type: typeof InternalActionTypes.UPDATE_API_CLIENT_CACHE\n payload: APIClientCache\n}\n\nexport type InternalAction =\n | APIResourceFulfilledAction\n | CreateElementTreeAction\n | DeleteElementTreeAction\n | ChangeElementTreeAction\n | RegisterComponentAction\n | UnregisterComponentAction\n | RegisterComponentHandleAction\n | UnregisterComponentHandleAction\n | RegisterMeasurableAction\n | UnregisterMeasurableAction\n | RegisterPropControllersHandleAction\n | UnregisterPropControllersHandleAction\n | RegisterPropControllersAction\n | UnregisterPropControllersAction\n | RegisterReactComponentAction\n | UnregisterReactComponentAction\n | SetIsInBuilderAction\n | UpdateAPIClientCache\n\nexport function apiResourceFulfilled<T extends APIResourceType>(\n resourceType: T,\n resourceId: string,\n resource: APIResource | null,\n locale?: APIResourceLocale<T>,\n): APIResourceFulfilledAction {\n return {\n type: InternalActionTypes.API_RESOURCE_FULFILLED,\n payload: { resourceType, resourceId, resource, locale },\n }\n}\n\nexport function createElementTree(\n payload: CreateElementTreeAction['payload'],\n): CreateElementTreeAction {\n return {\n type: InternalActionTypes.CREATE_ELEMENT_TREE,\n payload,\n }\n}\n\nexport function deleteElementTree(\n payload: DeleteElementTreeAction['payload'],\n): DeleteElementTreeAction {\n return { type: InternalActionTypes.DELETE_ELEMENT_TREE, payload }\n}\n\nexport function changeElementTree(\n payload: ChangeElementTreeAction['payload'],\n): ChangeElementTreeAction {\n return {\n type: InternalActionTypes.CHANGE_ELEMENT_TREE,\n payload,\n }\n}\n\nexport function registerComponent(\n type: string,\n meta: ComponentMeta,\n propControllerDescriptors: Record<string, PropControllerDescriptor>,\n): RegisterComponentAction {\n return {\n type: InternalActionTypes.REGISTER_COMPONENT,\n payload: { type, meta, propControllerDescriptors },\n }\n}\n\nexport function unregisterComponent(type: string): UnregisterComponentAction {\n return { type: InternalActionTypes.UNREGISTER_COMPONENT, payload: { type } }\n}\n\nexport function registerComponentEffect(\n type: string,\n meta: ComponentMeta,\n propControllerDescriptors: Record<string, PropControllerDescriptor>,\n): ThunkAction<() => void, unknown, unknown, InternalAction> {\n return dispatch => {\n dispatch(registerComponent(type, meta, propControllerDescriptors))\n\n return () => {\n dispatch(unregisterComponent(type))\n }\n }\n}\n\nexport function registerComponentHandle(\n documentKey: string,\n elementKey: string,\n componentHandle: ElementImperativeHandle,\n): RegisterComponentHandleAction {\n return {\n type: InternalActionTypes.REGISTER_COMPONENT_HANDLE,\n payload: { documentKey, elementKey, componentHandle },\n }\n}\n\nfunction unregisterComponentHandle(\n documentKey: string,\n elementKey: string,\n): UnregisterComponentHandleAction {\n return {\n type: InternalActionTypes.UNREGISTER_COMPONENT_HANDLE,\n payload: { documentKey, elementKey },\n }\n}\n\nexport function registerComponentHandleEffect(\n documentKey: string,\n elementKey: string,\n componentHandle: ElementImperativeHandle,\n): ThunkAction<() => void, unknown, unknown, InternalAction> {\n return dispatch => {\n dispatch(registerComponentHandle(documentKey, elementKey, componentHandle))\n\n return () => {\n dispatch(unregisterComponentHandle(documentKey, elementKey))\n }\n }\n}\n\nexport function registerMeasurable(\n documentKey: string,\n elementKey: string,\n measurable: Measurable,\n): RegisterMeasurableAction {\n return {\n type: InternalActionTypes.REGISTER_MEASURABLE,\n payload: { documentKey, elementKey, measurable },\n }\n}\n\nexport function unregisterMeasurable(\n documentKey: string,\n elementKey: string,\n): UnregisterMeasurableAction {\n return { type: InternalActionTypes.UNREGISTER_MEASURABLE, payload: { documentKey, elementKey } }\n}\n\nexport function registerMeasurableEffect(\n documentKey: string,\n elementKey: string,\n measurable: Measurable,\n): ThunkAction<() => void, unknown, unknown, InternalAction> {\n return dispatch => {\n dispatch(registerMeasurable(documentKey, elementKey, measurable))\n\n return () => {\n dispatch(unregisterMeasurable(documentKey, elementKey))\n }\n }\n}\n\nexport function registerPropControllersHandle(\n documentKey: string,\n elementKey: string,\n handle: PropControllersHandle,\n): RegisterPropControllersHandleAction {\n return {\n type: InternalActionTypes.REGISTER_PROP_CONTROLLERS_HANDLE,\n payload: { documentKey, elementKey, handle },\n }\n}\n\nexport function unregisterPropControllersHandle(\n documentKey: string,\n elementKey: string,\n): UnregisterPropControllersHandleAction {\n return {\n type: InternalActionTypes.UNREGISTER_PROP_CONTROLLERS_HANDLE,\n payload: { documentKey, elementKey },\n }\n}\n\nexport function registerPropControllers(\n documentKey: string,\n elementKey: string,\n propControllers: Record<string, ControlInstance>,\n): RegisterPropControllersAction {\n return {\n type: InternalActionTypes.REGISTER_PROP_CONTROLLERS,\n payload: { documentKey, elementKey, propControllers },\n }\n}\n\nexport function unregisterPropControllers(\n documentKey: string,\n elementKey: string,\n): UnregisterPropControllersAction {\n return {\n type: InternalActionTypes.UNREGISTER_PROP_CONTROLLERS,\n payload: { documentKey, elementKey },\n }\n}\n\nfunction registerReactComponent(\n type: string,\n component: ComponentType,\n): RegisterReactComponentAction {\n return { type: InternalActionTypes.REGISTER_REACT_COMPONENT, payload: { type, component } }\n}\n\nfunction unregisterReactComponent(type: string): UnregisterReactComponentAction {\n return { type: InternalActionTypes.UNREGISTER_REACT_COMPONENT, payload: { type } }\n}\n\nexport function registerReactComponentEffect(\n type: string,\n component: ComponentType,\n): ThunkAction<() => void, unknown, unknown, InternalAction> {\n return dispatch => {\n dispatch(registerReactComponent(type, component))\n\n return () => {\n dispatch(unregisterReactComponent(type))\n }\n }\n}\n\nexport function setIsInBuilder(isInBuilder: boolean): SetIsInBuilderAction {\n return { type: InternalActionTypes.SET_IS_IN_BUILDER, payload: isInBuilder }\n}\n\nexport function updateAPIClientCache(payload: APIClientCache): UpdateAPIClientCache {\n return { type: InternalActionTypes.UPDATE_API_CLIENT_CACHE, payload }\n}\n"],"mappings":"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","names":[]}
@@ -1,11 +0,0 @@
1
- function withSetupTeardown(setup, teardown) {
2
- return (next) => (reducer, preloadedState) => ({
3
- ...next(reducer, preloadedState),
4
- setup,
5
- teardown
6
- });
7
- }
8
- export {
9
- withSetupTeardown
10
- };
11
- //# sourceMappingURL=setup-teardown.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/state/mixins/setup-teardown.ts"],"sourcesContent":["import { type StoreEnhancer } from '@reduxjs/toolkit'\n\nexport interface SetupTeardownMixin {\n setup: () => void\n teardown: () => void\n}\n\nexport function withSetupTeardown(\n setup: () => void,\n teardown: () => void,\n): StoreEnhancer<SetupTeardownMixin> {\n return next => (reducer, preloadedState?) => ({\n ...next(reducer, preloadedState),\n setup,\n teardown,\n })\n}\n"],"mappings":"AAOO,SAAS,kBACd,OACA,UACmC;AACnC,SAAO,UAAQ,CAAC,SAAS,oBAAqB;AAAA,IAC5C,GAAG,KAAK,SAAS,cAAc;AAAA,IAC/B;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
@@ -1,98 +0,0 @@
1
- import {
2
- createBox as createBoxWithoutScroll,
3
- getBox as getBoxWithoutScroll,
4
- withScroll
5
- } from "css-box-model";
6
- import { ActionTypes, isKnownAction } from "../actions";
7
- function parse(rawString) {
8
- const value = Number(rawString.replace(/px$/, ""));
9
- return Number.isFinite(value) ? value : 0;
10
- }
11
- function createBox(boxArgs) {
12
- return withScroll(createBoxWithoutScroll(boxArgs));
13
- }
14
- function getBox(element) {
15
- return withScroll(getBoxWithoutScroll(element));
16
- }
17
- function isMeasurable(value) {
18
- if (value instanceof Element)
19
- return true;
20
- if (typeof value === "object" && value !== null && "getBoxModel" in value && typeof value.getBoxModel === "function") {
21
- return true;
22
- }
23
- return false;
24
- }
25
- function measure(measurable) {
26
- if (measurable instanceof Element)
27
- return getBox(measurable);
28
- return measurable.getBoxModel();
29
- }
30
- function getInitialState() {
31
- return { measurables: /* @__PURE__ */ new Map(), boxModels: /* @__PURE__ */ new Map() };
32
- }
33
- function getMeasurables(state) {
34
- return state.measurables;
35
- }
36
- function getBoxModels(state) {
37
- return state.boxModels;
38
- }
39
- function getBoxModel(state, documentKey, elementKey) {
40
- return getBoxModels(state).get(documentKey)?.get(elementKey) ?? null;
41
- }
42
- function reducer(state = getInitialState(), action) {
43
- if (!isKnownAction(action))
44
- return state;
45
- switch (action.type) {
46
- case ActionTypes.REGISTER_MEASURABLE: {
47
- const { documentKey, elementKey, measurable } = action.payload;
48
- return {
49
- ...state,
50
- measurables: new Map(state.measurables).set(
51
- documentKey,
52
- new Map(state.measurables.get(documentKey) ?? []).set(elementKey, measurable)
53
- )
54
- };
55
- }
56
- case ActionTypes.UNREGISTER_MEASURABLE: {
57
- const { documentKey, elementKey } = action.payload;
58
- const nextMeasurables = new Map(state.measurables.get(documentKey) ?? []);
59
- const deleted = nextMeasurables.delete(elementKey);
60
- return deleted ? { ...state, measurables: new Map(state.measurables).set(documentKey, nextMeasurables) } : state;
61
- }
62
- case ActionTypes.CHANGE_ELEMENT_BOX_MODELS: {
63
- const { changedElementBoxModels } = action.payload;
64
- if (changedElementBoxModels.size === 0)
65
- return state;
66
- const nextBoxModels = new Map(state.boxModels);
67
- changedElementBoxModels.forEach((changedBoxModels, documentKey) => {
68
- const nextDocumentBoxModels = new Map(nextBoxModels.get(documentKey) ?? []);
69
- changedBoxModels.forEach((changedBoxModel, elementKey) => {
70
- if (changedBoxModel == null)
71
- nextDocumentBoxModels.delete(elementKey);
72
- else
73
- nextDocumentBoxModels.set(elementKey, changedBoxModel);
74
- });
75
- if (nextDocumentBoxModels.size > 0)
76
- nextBoxModels.set(documentKey, nextDocumentBoxModels);
77
- else
78
- nextBoxModels.delete(documentKey);
79
- });
80
- return { ...state, boxModels: nextBoxModels };
81
- }
82
- default:
83
- return state;
84
- }
85
- }
86
- export {
87
- createBox,
88
- getBox,
89
- getBoxModel,
90
- getBoxModels,
91
- getInitialState,
92
- getMeasurables,
93
- isMeasurable,
94
- measure,
95
- parse,
96
- reducer
97
- };
98
- //# sourceMappingURL=box-models.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/state/modules/box-models.ts"],"sourcesContent":["import { type BoxModel } from '@makeswift/controls'\nimport {\n createBox as createBoxWithoutScroll,\n CreateBoxArgs,\n getBox as getBoxWithoutScroll,\n withScroll,\n} from 'css-box-model'\n\nimport { type Action, type UnknownAction, ActionTypes, isKnownAction } from '../actions'\n\nexport type { BoxModel }\n\nexport function parse(rawString: string): number {\n const value = Number(rawString.replace(/px$/, ''))\n\n return Number.isFinite(value) ? value : 0\n}\n\nexport function createBox(boxArgs: CreateBoxArgs): BoxModel {\n return withScroll(createBoxWithoutScroll(boxArgs))\n}\n\nexport function getBox(element: Element): BoxModel {\n return withScroll(getBoxWithoutScroll(element))\n}\n\nexport interface BoxModelHandle {\n getBoxModel(): BoxModel | null\n}\n\nexport type Measurable = Element | BoxModelHandle\n\nexport function isMeasurable(value: unknown): value is Measurable {\n if (value instanceof Element) return true\n\n if (\n typeof value === 'object' &&\n value !== null &&\n 'getBoxModel' in value &&\n typeof (value as { getBoxModel: unknown }).getBoxModel === 'function'\n ) {\n return true\n }\n\n return false\n}\n\nexport function measure(measurable: Measurable): BoxModel | null {\n if (measurable instanceof Element) return getBox(measurable)\n\n return measurable.getBoxModel()\n}\n\nexport type State = {\n measurables: Map<string, Map<string, Measurable>>\n boxModels: Map<string, Map<string, BoxModel>>\n}\n\nexport function getInitialState(): State {\n return { measurables: new Map(), boxModels: new Map() }\n}\n\nexport function getMeasurables(state: State): Map<string, Map<string, Measurable>> {\n return state.measurables\n}\n\nexport function getBoxModels(state: State): Map<string, Map<string, BoxModel>> {\n return state.boxModels\n}\n\nexport function getBoxModel(\n state: State,\n documentKey: string,\n elementKey: string,\n): BoxModel | null {\n return getBoxModels(state).get(documentKey)?.get(elementKey) ?? null\n}\n\nexport function reducer(state: State = getInitialState(), action: Action | UnknownAction) {\n if (!isKnownAction(action)) return state\n\n switch (action.type) {\n case ActionTypes.REGISTER_MEASURABLE: {\n const { documentKey, elementKey, measurable } = action.payload\n\n return {\n ...state,\n measurables: new Map(state.measurables).set(\n documentKey,\n new Map(state.measurables.get(documentKey) ?? []).set(elementKey, measurable),\n ),\n }\n }\n\n case ActionTypes.UNREGISTER_MEASURABLE: {\n const { documentKey, elementKey } = action.payload\n const nextMeasurables = new Map(state.measurables.get(documentKey) ?? [])\n\n const deleted = nextMeasurables.delete(elementKey)\n\n return deleted\n ? { ...state, measurables: new Map(state.measurables).set(documentKey, nextMeasurables) }\n : state\n }\n\n case ActionTypes.CHANGE_ELEMENT_BOX_MODELS: {\n const { changedElementBoxModels } = action.payload\n\n if (changedElementBoxModels.size === 0) return state\n\n const nextBoxModels = new Map(state.boxModels)\n\n changedElementBoxModels.forEach((changedBoxModels, documentKey) => {\n const nextDocumentBoxModels = new Map(nextBoxModels.get(documentKey) ?? [])\n\n changedBoxModels.forEach((changedBoxModel, elementKey) => {\n if (changedBoxModel == null) nextDocumentBoxModels.delete(elementKey)\n else nextDocumentBoxModels.set(elementKey, changedBoxModel)\n })\n\n if (nextDocumentBoxModels.size > 0) nextBoxModels.set(documentKey, nextDocumentBoxModels)\n else nextBoxModels.delete(documentKey)\n })\n\n return { ...state, boxModels: nextBoxModels }\n }\n\n default:\n return state\n }\n}\n"],"mappings":"AACA;AAAA,EACE,aAAa;AAAA,EAEb,UAAU;AAAA,EACV;AAAA,OACK;AAEP,SAA0C,aAAa,qBAAqB;AAIrE,SAAS,MAAM,WAA2B;AAC/C,QAAM,QAAQ,OAAO,UAAU,QAAQ,OAAO,EAAE,CAAC;AAEjD,SAAO,OAAO,SAAS,KAAK,IAAI,QAAQ;AAC1C;AAEO,SAAS,UAAU,SAAkC;AAC1D,SAAO,WAAW,uBAAuB,OAAO,CAAC;AACnD;AAEO,SAAS,OAAO,SAA4B;AACjD,SAAO,WAAW,oBAAoB,OAAO,CAAC;AAChD;AAQO,SAAS,aAAa,OAAqC;AAChE,MAAI,iBAAiB;AAAS,WAAO;AAErC,MACE,OAAO,UAAU,YACjB,UAAU,QACV,iBAAiB,SACjB,OAAQ,MAAmC,gBAAgB,YAC3D;AACA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEO,SAAS,QAAQ,YAAyC;AAC/D,MAAI,sBAAsB;AAAS,WAAO,OAAO,UAAU;AAE3D,SAAO,WAAW,YAAY;AAChC;AAOO,SAAS,kBAAyB;AACvC,SAAO,EAAE,aAAa,oBAAI,IAAI,GAAG,WAAW,oBAAI,IAAI,EAAE;AACxD;AAEO,SAAS,eAAe,OAAoD;AACjF,SAAO,MAAM;AACf;AAEO,SAAS,aAAa,OAAkD;AAC7E,SAAO,MAAM;AACf;AAEO,SAAS,YACd,OACA,aACA,YACiB;AACjB,SAAO,aAAa,KAAK,EAAE,IAAI,WAAW,GAAG,IAAI,UAAU,KAAK;AAClE;AAEO,SAAS,QAAQ,QAAe,gBAAgB,GAAG,QAAgC;AACxF,MAAI,CAAC,cAAc,MAAM;AAAG,WAAO;AAEnC,UAAQ,OAAO,MAAM;AAAA,IACnB,KAAK,YAAY,qBAAqB;AACpC,YAAM,EAAE,aAAa,YAAY,WAAW,IAAI,OAAO;AAEvD,aAAO;AAAA,QACL,GAAG;AAAA,QACH,aAAa,IAAI,IAAI,MAAM,WAAW,EAAE;AAAA,UACtC;AAAA,UACA,IAAI,IAAI,MAAM,YAAY,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,IAAI,YAAY,UAAU;AAAA,QAC9E;AAAA,MACF;AAAA,IACF;AAAA,IAEA,KAAK,YAAY,uBAAuB;AACtC,YAAM,EAAE,aAAa,WAAW,IAAI,OAAO;AAC3C,YAAM,kBAAkB,IAAI,IAAI,MAAM,YAAY,IAAI,WAAW,KAAK,CAAC,CAAC;AAExE,YAAM,UAAU,gBAAgB,OAAO,UAAU;AAEjD,aAAO,UACH,EAAE,GAAG,OAAO,aAAa,IAAI,IAAI,MAAM,WAAW,EAAE,IAAI,aAAa,eAAe,EAAE,IACtF;AAAA,IACN;AAAA,IAEA,KAAK,YAAY,2BAA2B;AAC1C,YAAM,EAAE,wBAAwB,IAAI,OAAO;AAE3C,UAAI,wBAAwB,SAAS;AAAG,eAAO;AAE/C,YAAM,gBAAgB,IAAI,IAAI,MAAM,SAAS;AAE7C,8BAAwB,QAAQ,CAAC,kBAAkB,gBAAgB;AACjE,cAAM,wBAAwB,IAAI,IAAI,cAAc,IAAI,WAAW,KAAK,CAAC,CAAC;AAE1E,yBAAiB,QAAQ,CAAC,iBAAiB,eAAe;AACxD,cAAI,mBAAmB;AAAM,kCAAsB,OAAO,UAAU;AAAA;AAC/D,kCAAsB,IAAI,YAAY,eAAe;AAAA,QAC5D,CAAC;AAED,YAAI,sBAAsB,OAAO;AAAG,wBAAc,IAAI,aAAa,qBAAqB;AAAA;AACnF,wBAAc,OAAO,WAAW;AAAA,MACvC,CAAC;AAED,aAAO,EAAE,GAAG,OAAO,WAAW,cAAc;AAAA,IAC9C;AAAA,IAEA;AACE,aAAO;AAAA,EACX;AACF;","names":[]}
@@ -1,35 +0,0 @@
1
- import { ActionTypes, isKnownAction } from "../actions";
2
- function getElementImperativeHandles(state) {
3
- return state;
4
- }
5
- function getInitialState() {
6
- return /* @__PURE__ */ new Map();
7
- }
8
- function reducer(state = getInitialState(), action) {
9
- if (!isKnownAction(action))
10
- return state;
11
- switch (action.type) {
12
- case ActionTypes.REGISTER_COMPONENT_HANDLE:
13
- return new Map(state).set(
14
- action.payload.documentKey,
15
- new Map(new Map(state.get(action.payload.documentKey) ?? [])).set(
16
- action.payload.elementKey,
17
- action.payload.componentHandle
18
- )
19
- );
20
- case ActionTypes.UNREGISTER_COMPONENT_HANDLE: {
21
- const byElementKey = new Map(state.get(action.payload.documentKey) ?? []);
22
- const deleted = byElementKey.delete(action.payload.elementKey);
23
- if (!deleted)
24
- return state;
25
- return new Map(state).set(action.payload.documentKey, byElementKey);
26
- }
27
- default:
28
- return state;
29
- }
30
- }
31
- export {
32
- getElementImperativeHandles,
33
- reducer
34
- };
35
- //# sourceMappingURL=element-imperative-handles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/state/modules/element-imperative-handles.ts"],"sourcesContent":["import { ElementImperativeHandle } from '../../runtimes/react/element-imperative-handle'\nimport { type Action, type UnknownAction, ActionTypes, isKnownAction } from '../actions'\n\ntype State = Map<string, Map<string, ElementImperativeHandle>>\n\nexport function getElementImperativeHandles(\n state: State,\n): Map<string, Map<string, ElementImperativeHandle>> {\n return state\n}\n\nfunction getInitialState(): State {\n return new Map()\n}\n\nexport function reducer(state: State = getInitialState(), action: Action | UnknownAction): State {\n if (!isKnownAction(action)) return state\n\n switch (action.type) {\n case ActionTypes.REGISTER_COMPONENT_HANDLE:\n return new Map(state).set(\n action.payload.documentKey,\n new Map(new Map(state.get(action.payload.documentKey) ?? [])).set(\n action.payload.elementKey,\n action.payload.componentHandle,\n ),\n )\n\n case ActionTypes.UNREGISTER_COMPONENT_HANDLE: {\n const byElementKey = new Map(state.get(action.payload.documentKey) ?? [])\n\n const deleted = byElementKey.delete(action.payload.elementKey)\n\n if (!deleted) return state\n\n return new Map(state).set(action.payload.documentKey, byElementKey)\n }\n\n default:\n return state\n }\n}\n"],"mappings":"AACA,SAA0C,aAAa,qBAAqB;AAIrE,SAAS,4BACd,OACmD;AACnD,SAAO;AACT;AAEA,SAAS,kBAAyB;AAChC,SAAO,oBAAI,IAAI;AACjB;AAEO,SAAS,QAAQ,QAAe,gBAAgB,GAAG,QAAuC;AAC/F,MAAI,CAAC,cAAc,MAAM;AAAG,WAAO;AAEnC,UAAQ,OAAO,MAAM;AAAA,IACnB,KAAK,YAAY;AACf,aAAO,IAAI,IAAI,KAAK,EAAE;AAAA,QACpB,OAAO,QAAQ;AAAA,QACf,IAAI,IAAI,IAAI,IAAI,MAAM,IAAI,OAAO,QAAQ,WAAW,KAAK,CAAC,CAAC,CAAC,EAAE;AAAA,UAC5D,OAAO,QAAQ;AAAA,UACf,OAAO,QAAQ;AAAA,QACjB;AAAA,MACF;AAAA,IAEF,KAAK,YAAY,6BAA6B;AAC5C,YAAM,eAAe,IAAI,IAAI,MAAM,IAAI,OAAO,QAAQ,WAAW,KAAK,CAAC,CAAC;AAExE,YAAM,UAAU,aAAa,OAAO,OAAO,QAAQ,UAAU;AAE7D,UAAI,CAAC;AAAS,eAAO;AAErB,aAAO,IAAI,IAAI,KAAK,EAAE,IAAI,OAAO,QAAQ,aAAa,YAAY;AAAA,IACpE;AAAA,IAEA;AACE,aAAO;AAAA,EACX;AACF;","names":[]}
@@ -1,21 +0,0 @@
1
- import { isKnownAction } from "../actions";
2
- function getInitialState(isPreview = false) {
3
- return isPreview;
4
- }
5
- function getIsPreview(state) {
6
- return state;
7
- }
8
- function reducer(state = getInitialState(), action) {
9
- if (!isKnownAction(action))
10
- return state;
11
- switch (action.type) {
12
- default:
13
- return state;
14
- }
15
- }
16
- export {
17
- getInitialState,
18
- getIsPreview,
19
- reducer
20
- };
21
- //# sourceMappingURL=is-preview.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/state/modules/is-preview.ts"],"sourcesContent":["import { type Action, type UnknownAction, isKnownAction } from '../actions'\n\nexport type State = boolean\n\nexport function getInitialState(isPreview = false): State {\n return isPreview\n}\n\nexport function getIsPreview(state: State): boolean {\n return state\n}\n\nexport function reducer(state = getInitialState(), action: Action | UnknownAction): State {\n if (!isKnownAction(action)) return state\n\n switch (action.type) {\n default:\n return state\n }\n}\n"],"mappings":"AAAA,SAA0C,qBAAqB;AAIxD,SAAS,gBAAgB,YAAY,OAAc;AACxD,SAAO;AACT;AAEO,SAAS,aAAa,OAAuB;AAClD,SAAO;AACT;AAEO,SAAS,QAAQ,QAAQ,gBAAgB,GAAG,QAAuC;AACxF,MAAI,CAAC,cAAc,MAAM;AAAG,WAAO;AAEnC,UAAQ,OAAO,MAAM;AAAA,IACnB;AACE,aAAO;AAAA,EACX;AACF;","names":[]}
@@ -1,22 +0,0 @@
1
- import { ActionTypes, isKnownAction } from "../actions";
2
- function getInitialState() {
3
- return { pointer: null };
4
- }
5
- function getPointer(state) {
6
- return state.pointer;
7
- }
8
- function reducer(state = getInitialState(), action) {
9
- if (!isKnownAction(action))
10
- return state;
11
- switch (action.type) {
12
- case ActionTypes.BUILDER_POINTER_MOVE:
13
- return { ...state, pointer: action.payload.pointer };
14
- default:
15
- return state;
16
- }
17
- }
18
- export {
19
- getPointer,
20
- reducer
21
- };
22
- //# sourceMappingURL=pointer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/state/modules/pointer.ts"],"sourcesContent":["import { type Action, type UnknownAction, ActionTypes, isKnownAction } from '../actions'\n\nexport type Point = { x: number; y: number }\n\ntype State = {\n pointer: Point | null\n}\n\nfunction getInitialState(): State {\n return { pointer: null }\n}\n\nexport function getPointer(state: State): Point | null {\n return state.pointer\n}\n\nexport function reducer(state: State = getInitialState(), action: Action | UnknownAction): State {\n if (!isKnownAction(action)) return state\n\n switch (action.type) {\n case ActionTypes.BUILDER_POINTER_MOVE:\n return { ...state, pointer: action.payload.pointer }\n\n default:\n return state\n }\n}\n"],"mappings":"AAAA,SAA0C,aAAa,qBAAqB;AAQ5E,SAAS,kBAAyB;AAChC,SAAO,EAAE,SAAS,KAAK;AACzB;AAEO,SAAS,WAAW,OAA4B;AACrD,SAAO,MAAM;AACf;AAEO,SAAS,QAAQ,QAAe,gBAAgB,GAAG,QAAuC;AAC/F,MAAI,CAAC,cAAc,MAAM;AAAG,WAAO;AAEnC,UAAQ,OAAO,MAAM;AAAA,IACnB,KAAK,YAAY;AACf,aAAO,EAAE,GAAG,OAAO,SAAS,OAAO,QAAQ,QAAQ;AAAA,IAErD;AACE,aAAO;AAAA,EACX;AACF;","names":[]}
@@ -1,60 +0,0 @@
1
- import { removeIn, setIn } from "immutable";
2
- import * as ReadOnlyDocuments from "./read-only-documents";
3
- import { ActionTypes, isKnownAction } from "../actions";
4
- import { isElementReference } from "./read-only-documents";
5
- function apply(data, operation) {
6
- let applied = data;
7
- operation.forEach((component) => {
8
- if (component.ld != null)
9
- applied = removeIn(applied, component.p);
10
- if (component.od != null)
11
- applied = removeIn(applied, component.p);
12
- if (component.li != null)
13
- applied = setIn(applied, component.p, component.li);
14
- if (component.oi != null)
15
- applied = setIn(applied, component.p, component.oi);
16
- });
17
- return applied;
18
- }
19
- function getInitialState({
20
- documents = []
21
- } = {}) {
22
- return ReadOnlyDocuments.getInitialState({ documents });
23
- }
24
- function getReadOnlyDocumentsStateSlice(state) {
25
- return state;
26
- }
27
- function getDocument(state, documentKey) {
28
- return ReadOnlyDocuments.getDocument(getReadOnlyDocumentsStateSlice(state), documentKey);
29
- }
30
- function getDocuments(state) {
31
- return ReadOnlyDocuments.getDocuments(getReadOnlyDocumentsStateSlice(state));
32
- }
33
- function reducer(state = getInitialState(), action) {
34
- const nextState = ReadOnlyDocuments.reducer(state, action);
35
- if (!isKnownAction(action))
36
- return state;
37
- switch (action.type) {
38
- case ActionTypes.CHANGE_DOCUMENT: {
39
- const document = getDocument(nextState, action.payload.documentKey);
40
- if (document == null)
41
- return nextState;
42
- const currentRootElement = ReadOnlyDocuments.getRootElement(document);
43
- const nextRootElement = apply(currentRootElement, action.payload.operation);
44
- return currentRootElement === nextRootElement ? nextState : new Map(nextState).set(action.payload.documentKey, {
45
- ...document,
46
- rootElement: nextRootElement
47
- });
48
- }
49
- default:
50
- return nextState;
51
- }
52
- }
53
- export {
54
- getDocument,
55
- getDocuments,
56
- getInitialState,
57
- isElementReference,
58
- reducer
59
- };
60
- //# sourceMappingURL=read-write-documents.js.map