@makeswift/runtime 0.26.0 → 0.26.1-canary.0

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 (126) hide show
  1. package/dist/cjs/api-handler/handlers/manifest.js +1 -1
  2. package/dist/cjs/builder/index.js +22 -18
  3. package/dist/cjs/builder/index.js.map +1 -1
  4. package/dist/cjs/builder/serialization/control-serialization.js +7 -3
  5. package/dist/cjs/builder/serialization/control-serialization.js.map +1 -1
  6. package/dist/cjs/controls/rich-text-v2/rich-text-v2.js +0 -21
  7. package/dist/cjs/controls/rich-text-v2/rich-text-v2.js.map +1 -1
  8. package/dist/cjs/controls/visitors/message-port-serializer/client-message-port-serialization-visitor.js +72 -0
  9. package/dist/cjs/controls/visitors/message-port-serializer/client-message-port-serialization-visitor.js.map +1 -0
  10. package/dist/cjs/controls/visitors/message-port-serializer/function-serialization.js +79 -0
  11. package/dist/cjs/controls/visitors/message-port-serializer/function-serialization.js.map +1 -0
  12. package/dist/cjs/controls/visitors/message-port-serializer/index.js +36 -0
  13. package/dist/cjs/controls/visitors/message-port-serializer/index.js.map +1 -0
  14. package/dist/cjs/next/hooks/use-router-locale-sync.js +2 -2
  15. package/dist/cjs/next/hooks/use-router-locale-sync.js.map +1 -1
  16. package/dist/cjs/runtimes/react/components/ElementRegistration.js +4 -3
  17. package/dist/cjs/runtimes/react/components/ElementRegistration.js.map +1 -1
  18. package/dist/cjs/runtimes/react/components/hooks/use-builder-connection-ping.js +5 -10
  19. package/dist/cjs/runtimes/react/components/hooks/use-builder-connection-ping.js.map +1 -1
  20. package/dist/cjs/runtimes/react/hooks/use-cache-data.js +2 -2
  21. package/dist/cjs/runtimes/react/hooks/use-cache-data.js.map +1 -1
  22. package/dist/cjs/runtimes/react/hooks/use-register-document.js +5 -4
  23. package/dist/cjs/runtimes/react/hooks/use-register-document.js.map +1 -1
  24. package/dist/cjs/runtimes/react/react-runtime-core.js +4 -3
  25. package/dist/cjs/runtimes/react/react-runtime-core.js.map +1 -1
  26. package/dist/cjs/state/actions/index.js +42 -0
  27. package/dist/cjs/state/actions/index.js.map +1 -0
  28. package/dist/cjs/state/actions/internal.js +174 -0
  29. package/dist/cjs/state/actions/internal.js.map +1 -0
  30. package/dist/cjs/state/builder-api.js +150 -0
  31. package/dist/cjs/state/builder-api.js.map +1 -0
  32. package/dist/cjs/state/host-api.js +103 -0
  33. package/dist/cjs/state/host-api.js.map +1 -0
  34. package/dist/cjs/state/makeswift-api-client.js +4 -2
  35. package/dist/cjs/state/makeswift-api-client.js.map +1 -1
  36. package/dist/cjs/state/react-builder-preview.js +21 -18
  37. package/dist/cjs/state/react-builder-preview.js.map +1 -1
  38. package/dist/cjs/state/react-page.js +5 -4
  39. package/dist/cjs/state/react-page.js.map +1 -1
  40. package/dist/cjs/state/shared-api.js +117 -0
  41. package/dist/cjs/state/shared-api.js.map +1 -0
  42. package/dist/esm/api-handler/handlers/manifest.js +1 -1
  43. package/dist/esm/builder/index.js +13 -9
  44. package/dist/esm/builder/index.js.map +1 -1
  45. package/dist/esm/builder/serialization/control-serialization.js +10 -3
  46. package/dist/esm/builder/serialization/control-serialization.js.map +1 -1
  47. package/dist/esm/controls/rich-text-v2/rich-text-v2.js +0 -22
  48. package/dist/esm/controls/rich-text-v2/rich-text-v2.js.map +1 -1
  49. package/dist/esm/controls/visitors/message-port-serializer/client-message-port-serialization-visitor.js +53 -0
  50. package/dist/esm/controls/visitors/message-port-serializer/client-message-port-serialization-visitor.js.map +1 -0
  51. package/dist/esm/controls/visitors/message-port-serializer/function-serialization.js +52 -0
  52. package/dist/esm/controls/visitors/message-port-serializer/function-serialization.js.map +1 -0
  53. package/dist/esm/controls/visitors/message-port-serializer/index.js +13 -0
  54. package/dist/esm/controls/visitors/message-port-serializer/index.js.map +1 -0
  55. package/dist/esm/next/hooks/use-router-locale-sync.js +1 -1
  56. package/dist/esm/next/hooks/use-router-locale-sync.js.map +1 -1
  57. package/dist/esm/runtimes/react/components/ElementRegistration.js +2 -1
  58. package/dist/esm/runtimes/react/components/ElementRegistration.js.map +1 -1
  59. package/dist/esm/runtimes/react/components/hooks/use-builder-connection-ping.js +5 -10
  60. package/dist/esm/runtimes/react/components/hooks/use-builder-connection-ping.js.map +1 -1
  61. package/dist/esm/runtimes/react/hooks/use-cache-data.js +1 -1
  62. package/dist/esm/runtimes/react/hooks/use-cache-data.js.map +1 -1
  63. package/dist/esm/runtimes/react/hooks/use-register-document.js +2 -5
  64. package/dist/esm/runtimes/react/hooks/use-register-document.js.map +1 -1
  65. package/dist/esm/runtimes/react/react-runtime-core.js +2 -1
  66. package/dist/esm/runtimes/react/react-runtime-core.js.map +1 -1
  67. package/dist/esm/state/actions/index.js +17 -0
  68. package/dist/esm/state/actions/index.js.map +1 -0
  69. package/dist/esm/state/actions/internal.js +135 -0
  70. package/dist/esm/state/actions/internal.js.map +1 -0
  71. package/dist/esm/state/builder-api.js +110 -0
  72. package/dist/esm/state/builder-api.js.map +1 -0
  73. package/dist/esm/state/host-api.js +68 -0
  74. package/dist/esm/state/host-api.js.map +1 -0
  75. package/dist/esm/state/makeswift-api-client.js +3 -1
  76. package/dist/esm/state/makeswift-api-client.js.map +1 -1
  77. package/dist/esm/state/react-builder-preview.js +10 -8
  78. package/dist/esm/state/react-builder-preview.js.map +1 -1
  79. package/dist/esm/state/react-page.js +3 -7
  80. package/dist/esm/state/react-page.js.map +1 -1
  81. package/dist/esm/state/shared-api.js +83 -0
  82. package/dist/esm/state/shared-api.js.map +1 -0
  83. package/dist/types/builder/index.d.ts +3 -2
  84. package/dist/types/builder/index.d.ts.map +1 -1
  85. package/dist/types/builder/serialization/control-serialization.d.ts.map +1 -1
  86. package/dist/types/client/index.d.ts +16 -16
  87. package/dist/types/controls/rich-text-v2/rich-text-v2.d.ts +1 -2
  88. package/dist/types/controls/rich-text-v2/rich-text-v2.d.ts.map +1 -1
  89. package/dist/types/controls/visitors/message-port-serializer/client-message-port-serialization-visitor.d.ts +9 -0
  90. package/dist/types/controls/visitors/message-port-serializer/client-message-port-serialization-visitor.d.ts.map +1 -0
  91. package/dist/types/controls/visitors/message-port-serializer/function-serialization.d.ts +16 -0
  92. package/dist/types/controls/visitors/message-port-serializer/function-serialization.d.ts.map +1 -0
  93. package/dist/types/controls/visitors/message-port-serializer/function-serialization.test.d.ts +2 -0
  94. package/dist/types/controls/visitors/message-port-serializer/function-serialization.test.d.ts.map +1 -0
  95. package/dist/types/controls/visitors/message-port-serializer/index.d.ts +3 -0
  96. package/dist/types/controls/visitors/message-port-serializer/index.d.ts.map +1 -0
  97. package/dist/types/locale.d.ts +1 -1
  98. package/dist/types/runtimes/react/components/ElementRegistration.d.ts.map +1 -1
  99. package/dist/types/runtimes/react/components/hooks/use-builder-connection-ping.d.ts.map +1 -1
  100. package/dist/types/runtimes/react/hooks/use-register-document.d.ts.map +1 -1
  101. package/dist/types/runtimes/react/hooks/use-store.d.ts +1 -1
  102. package/dist/types/runtimes/react/react-runtime-core.d.ts.map +1 -1
  103. package/dist/types/slate/LinkPlugin/getValue.d.ts.map +1 -1
  104. package/dist/types/slate/LinkPlugin/index.d.ts.map +1 -1
  105. package/dist/types/slate/TypographyPlugin/getValue.d.ts.map +1 -1
  106. package/dist/types/slate/TypographyPlugin/index.d.ts.map +1 -1
  107. package/dist/types/state/actions/index.d.ts +58 -0
  108. package/dist/types/state/actions/index.d.ts.map +1 -0
  109. package/dist/types/state/actions/internal.d.ts +154 -0
  110. package/dist/types/state/actions/internal.d.ts.map +1 -0
  111. package/dist/types/state/builder-api.d.ts +163 -0
  112. package/dist/types/state/builder-api.d.ts.map +1 -0
  113. package/dist/types/state/host-api.d.ts +109 -0
  114. package/dist/types/state/host-api.d.ts.map +1 -0
  115. package/dist/types/state/makeswift-api-client.d.ts.map +1 -1
  116. package/dist/types/state/react-builder-preview.d.ts.map +1 -1
  117. package/dist/types/state/react-page.d.ts.map +1 -1
  118. package/dist/types/state/shared-api.d.ts +104 -0
  119. package/dist/types/state/shared-api.d.ts.map +1 -0
  120. package/package.json +3 -3
  121. package/dist/cjs/state/actions.js +0 -423
  122. package/dist/cjs/state/actions.js.map +0 -1
  123. package/dist/esm/state/actions.js +0 -349
  124. package/dist/esm/state/actions.js.map +0 -1
  125. package/dist/types/state/actions.d.ts +0 -461
  126. package/dist/types/state/actions.d.ts.map +0 -1
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var message_port_serializer_exports = {};
20
+ __export(message_port_serializer_exports, {
21
+ ClientMessagePortSerializationVisitor: () => import_client_message_port_serialization_visitor.ClientMessagePortSerializationVisitor,
22
+ deserializeFunction: () => import_function_serialization.deserializeFunction,
23
+ functionDeserializationPlugin: () => import_function_serialization.functionDeserializationPlugin,
24
+ serializeFunction: () => import_function_serialization.serializeFunction
25
+ });
26
+ module.exports = __toCommonJS(message_port_serializer_exports);
27
+ var import_client_message_port_serialization_visitor = require("./client-message-port-serialization-visitor");
28
+ var import_function_serialization = require("./function-serialization");
29
+ // Annotate the CommonJS export names for ESM import in node:
30
+ 0 && (module.exports = {
31
+ ClientMessagePortSerializationVisitor,
32
+ deserializeFunction,
33
+ functionDeserializationPlugin,
34
+ serializeFunction
35
+ });
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/controls/visitors/message-port-serializer/index.ts"],"sourcesContent":["export { ClientMessagePortSerializationVisitor } from './client-message-port-serialization-visitor'\nexport {\n serializeFunction,\n deserializeFunction,\n functionDeserializationPlugin,\n} from './function-serialization'\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uDAAsD;AACtD,oCAIO;","names":[]}
@@ -24,7 +24,7 @@ module.exports = __toCommonJS(use_router_locale_sync_exports);
24
24
  var import_router = require("next/router");
25
25
  var import_ts_pattern = require("ts-pattern");
26
26
  var import_react = require("react");
27
- var import_actions = require("../../state/actions");
27
+ var import_shared_api = require("../../state/shared-api");
28
28
  var import_use_dispatch = require("../../runtimes/react/hooks/use-dispatch");
29
29
  function useRouter() {
30
30
  try {
@@ -38,7 +38,7 @@ const useRouterLocaleSync = () => {
38
38
  const router = useRouter();
39
39
  const dispatch = (0, import_use_dispatch.useDispatch)();
40
40
  (0, import_react.useEffect)(() => {
41
- (0, import_ts_pattern.match)(router).with({ locale: import_ts_pattern.P.string }, ({ locale }) => dispatch((0, import_actions.setLocale)(new Intl.Locale(locale)))).otherwise(() => {
41
+ (0, import_ts_pattern.match)(router).with({ locale: import_ts_pattern.P.string }, ({ locale }) => dispatch((0, import_shared_api.setLocale)(new Intl.Locale(locale)))).otherwise(() => {
42
42
  });
43
43
  }, [router]);
44
44
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/next/hooks/use-router-locale-sync.ts"],"sourcesContent":["import { useRouter as usePagesRouter } from 'next/router'\nimport { P, match } from 'ts-pattern'\nimport { useEffect } from 'react'\n\nimport { setLocale } from '../../state/actions'\nimport { useDispatch } from '../../runtimes/react/hooks/use-dispatch'\n\nfunction useRouter() {\n try {\n const router = usePagesRouter()\n\n return router\n } catch (e) {\n return\n }\n}\n\nexport const useRouterLocaleSync = () => {\n const router = useRouter()\n const dispatch = useDispatch()\n\n useEffect(() => {\n match(router)\n .with({ locale: P.string }, ({ locale }) => dispatch(setLocale(new Intl.Locale(locale))))\n .otherwise(() => {})\n }, [router])\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA4C;AAC5C,wBAAyB;AACzB,mBAA0B;AAE1B,qBAA0B;AAC1B,0BAA4B;AAE5B,SAAS,YAAY;AACnB,MAAI;AACF,UAAM,aAAS,cAAAA,WAAe;AAE9B,WAAO;AAAA,EACT,SAAS,GAAG;AACV;AAAA,EACF;AACF;AAEO,MAAM,sBAAsB,MAAM;AACvC,QAAM,SAAS,UAAU;AACzB,QAAM,eAAW,iCAAY;AAE7B,8BAAU,MAAM;AACd,iCAAM,MAAM,EACT,KAAK,EAAE,QAAQ,oBAAE,OAAO,GAAG,CAAC,EAAE,OAAO,MAAM,aAAS,0BAAU,IAAI,KAAK,OAAO,MAAM,CAAC,CAAC,CAAC,EACvF,UAAU,MAAM;AAAA,IAAC,CAAC;AAAA,EACvB,GAAG,CAAC,MAAM,CAAC;AACb;","names":["usePagesRouter"]}
1
+ {"version":3,"sources":["../../../../src/next/hooks/use-router-locale-sync.ts"],"sourcesContent":["import { useRouter as usePagesRouter } from 'next/router'\nimport { P, match } from 'ts-pattern'\nimport { useEffect } from 'react'\n\nimport { setLocale } from '../../state/shared-api'\nimport { useDispatch } from '../../runtimes/react/hooks/use-dispatch'\n\nfunction useRouter() {\n try {\n const router = usePagesRouter()\n\n return router\n } catch (e) {\n return\n }\n}\n\nexport const useRouterLocaleSync = () => {\n const router = useRouter()\n const dispatch = useDispatch()\n\n useEffect(() => {\n match(router)\n .with({ locale: P.string }, ({ locale }) => dispatch(setLocale(new Intl.Locale(locale))))\n .otherwise(() => {})\n }, [router])\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA4C;AAC5C,wBAAyB;AACzB,mBAA0B;AAE1B,wBAA0B;AAC1B,0BAA4B;AAE5B,SAAS,YAAY;AACnB,MAAI;AACF,UAAM,aAAS,cAAAA,WAAe;AAE9B,WAAO;AAAA,EACT,SAAS,GAAG;AACV;AAAA,EACF;AACF;AAEO,MAAM,sBAAsB,MAAM;AACvC,QAAM,SAAS,UAAU;AACzB,QAAM,eAAW,iCAAY;AAE7B,8BAAU,MAAM;AACd,iCAAM,MAAM,EACT,KAAK,EAAE,QAAQ,oBAAE,OAAO,GAAG,CAAC,EAAE,OAAO,MAAM,aAAS,6BAAU,IAAI,KAAK,OAAO,MAAM,CAAC,CAAC,CAAC,EACvF,UAAU,MAAM;AAAA,IAAC,CAAC;AAAA,EACvB,GAAG,CAAC,MAAM,CAAC;AACb;","names":["usePagesRouter"]}
@@ -27,7 +27,8 @@ var import_react = require("react");
27
27
  var import_use_dispatch = require("../hooks/use-dispatch");
28
28
  var import_use_document_context = require("../hooks/use-document-context");
29
29
  var import_use_disable_register_element = require("../hooks/use-disable-register-element");
30
- var import_actions = require("../../../state/actions");
30
+ var import_builder_api = require("../../../state/builder-api");
31
+ var import_internal = require("../../../state/actions/internal");
31
32
  const ElementRegistration = (0, import_react.memo)(function ElementRegistration2({
32
33
  elementKey,
33
34
  componentHandle,
@@ -39,12 +40,12 @@ const ElementRegistration = (0, import_react.memo)(function ElementRegistration2
39
40
  (0, import_react.useEffect)(() => {
40
41
  if (documentKey == null || isRegisterElementDisabled)
41
42
  return;
42
- return dispatch((0, import_actions.registerComponentHandleEffect)(documentKey, elementKey, componentHandle));
43
+ return dispatch((0, import_internal.registerComponentHandleEffect)(documentKey, elementKey, componentHandle));
43
44
  }, [dispatch, documentKey, elementKey, isRegisterElementDisabled]);
44
45
  (0, import_react.useEffect)(() => {
45
46
  if (documentKey == null || isRegisterElementDisabled)
46
47
  return;
47
- return dispatch((0, import_actions.mountComponentEffect)(documentKey, elementKey));
48
+ return dispatch((0, import_builder_api.mountComponentEffect)(documentKey, elementKey));
48
49
  }, [dispatch, documentKey, elementKey, isRegisterElementDisabled]);
49
50
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children });
50
51
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/components/ElementRegistration.tsx"],"sourcesContent":["'use client'\n\nimport { ReactNode, memo, useEffect } from 'react'\nimport { ElementImperativeHandle } from '../element-imperative-handle'\nimport { useDispatch } from '../hooks/use-dispatch'\nimport { useDocumentKey } from '../hooks/use-document-context'\nimport { useDisableRegisterElement } from '../hooks/use-disable-register-element'\nimport { mountComponentEffect, registerComponentHandleEffect } from '../../../state/actions'\n\ntype RegisterChildrenAsElementProps = {\n elementKey: string\n componentHandle: ElementImperativeHandle\n children?: ReactNode\n}\n\nexport const ElementRegistration = memo(function ElementRegistration({\n elementKey,\n componentHandle,\n children,\n}: RegisterChildrenAsElementProps): JSX.Element {\n const dispatch = useDispatch()\n const documentKey = useDocumentKey()\n\n const isRegisterElementDisabled = useDisableRegisterElement()\n\n useEffect(() => {\n if (documentKey == null || isRegisterElementDisabled) return\n\n return dispatch(registerComponentHandleEffect(documentKey, elementKey, componentHandle))\n }, [dispatch, documentKey, elementKey, isRegisterElementDisabled])\n\n useEffect(() => {\n if (documentKey == null || isRegisterElementDisabled) return\n\n return dispatch(mountComponentEffect(documentKey, elementKey))\n }, [dispatch, documentKey, elementKey, isRegisterElementDisabled])\n\n return <>{children}</>\n})\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAqCS;AAnCT,mBAA2C;AAE3C,0BAA4B;AAC5B,kCAA+B;AAC/B,0CAA0C;AAC1C,qBAAoE;AAQ7D,MAAM,0BAAsB,mBAAK,SAASA,qBAAoB;AAAA,EACnE;AAAA,EACA;AAAA,EACA;AACF,GAAgD;AAC9C,QAAM,eAAW,iCAAY;AAC7B,QAAM,kBAAc,4CAAe;AAEnC,QAAM,gCAA4B,+DAA0B;AAE5D,8BAAU,MAAM;AACd,QAAI,eAAe,QAAQ;AAA2B;AAEtD,WAAO,aAAS,8CAA8B,aAAa,YAAY,eAAe,CAAC;AAAA,EACzF,GAAG,CAAC,UAAU,aAAa,YAAY,yBAAyB,CAAC;AAEjE,8BAAU,MAAM;AACd,QAAI,eAAe,QAAQ;AAA2B;AAEtD,WAAO,aAAS,qCAAqB,aAAa,UAAU,CAAC;AAAA,EAC/D,GAAG,CAAC,UAAU,aAAa,YAAY,yBAAyB,CAAC;AAEjE,SAAO,2EAAG,UAAS;AACrB,CAAC;","names":["ElementRegistration"]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/components/ElementRegistration.tsx"],"sourcesContent":["'use client'\n\nimport { ReactNode, memo, useEffect } from 'react'\nimport { ElementImperativeHandle } from '../element-imperative-handle'\nimport { useDispatch } from '../hooks/use-dispatch'\nimport { useDocumentKey } from '../hooks/use-document-context'\nimport { useDisableRegisterElement } from '../hooks/use-disable-register-element'\nimport { mountComponentEffect } from '../../../state/builder-api'\nimport { registerComponentHandleEffect } from '../../../state/actions/internal'\n\ntype RegisterChildrenAsElementProps = {\n elementKey: string\n componentHandle: ElementImperativeHandle\n children?: ReactNode\n}\n\nexport const ElementRegistration = memo(function ElementRegistration({\n elementKey,\n componentHandle,\n children,\n}: RegisterChildrenAsElementProps): JSX.Element {\n const dispatch = useDispatch()\n const documentKey = useDocumentKey()\n\n const isRegisterElementDisabled = useDisableRegisterElement()\n\n useEffect(() => {\n if (documentKey == null || isRegisterElementDisabled) return\n\n return dispatch(registerComponentHandleEffect(documentKey, elementKey, componentHandle))\n }, [dispatch, documentKey, elementKey, isRegisterElementDisabled])\n\n useEffect(() => {\n if (documentKey == null || isRegisterElementDisabled) return\n\n return dispatch(mountComponentEffect(documentKey, elementKey))\n }, [dispatch, documentKey, elementKey, isRegisterElementDisabled])\n\n return <>{children}</>\n})\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAsCS;AApCT,mBAA2C;AAE3C,0BAA4B;AAC5B,kCAA+B;AAC/B,0CAA0C;AAC1C,yBAAqC;AACrC,sBAA8C;AAQvC,MAAM,0BAAsB,mBAAK,SAASA,qBAAoB;AAAA,EACnE;AAAA,EACA;AAAA,EACA;AACF,GAAgD;AAC9C,QAAM,eAAW,iCAAY;AAC7B,QAAM,kBAAc,4CAAe;AAEnC,QAAM,gCAA4B,+DAA0B;AAE5D,8BAAU,MAAM;AACd,QAAI,eAAe,QAAQ;AAA2B;AAEtD,WAAO,aAAS,+CAA8B,aAAa,YAAY,eAAe,CAAC;AAAA,EACzF,GAAG,CAAC,UAAU,aAAa,YAAY,yBAAyB,CAAC;AAEjE,8BAAU,MAAM;AACd,QAAI,eAAe,QAAQ;AAA2B;AAEtD,WAAO,aAAS,yCAAqB,aAAa,UAAU,CAAC;AAAA,EAC/D,GAAG,CAAC,UAAU,aAAa,YAAY,yBAAyB,CAAC;AAEjE,SAAO,2EAAG,UAAS;AACrB,CAAC;","names":["ElementRegistration"]}
@@ -22,17 +22,15 @@ __export(use_builder_connection_ping_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(use_builder_connection_ping_exports);
24
24
  var import_react = require("react");
25
- var import_actions = require("../../../../state/actions");
25
+ var import_builder_api = require("../../../../state/builder-api");
26
+ var import_shared_api = require("../../../../state/shared-api");
26
27
  const CONNECTION_PING_INTERVAL_MS = 20;
27
28
  function useBuilderConnectionPing({ appOrigin }) {
28
29
  (0, import_react.useEffect)(() => {
29
30
  let connectionInterval;
30
31
  if (window.parent !== window) {
31
32
  window.addEventListener("message", messageHandler);
32
- window.parent.postMessage(
33
- { type: import_actions.ActionTypes.MAKESWIFT_CONNECTION_INIT },
34
- { targetOrigin: appOrigin }
35
- );
33
+ window.parent.postMessage((0, import_shared_api.makeswiftConnectionInit)(), { targetOrigin: appOrigin });
36
34
  }
37
35
  return () => {
38
36
  window.removeEventListener("message", messageHandler);
@@ -42,17 +40,14 @@ function useBuilderConnectionPing({ appOrigin }) {
42
40
  }
43
41
  };
44
42
  function messageHandler(event) {
45
- if (event.origin === appOrigin && event.data.type === import_actions.ActionTypes.MAKESWIFT_CONNECTION_INIT) {
43
+ if (event.origin === appOrigin && event.data.type === import_shared_api.SharedActionTypes.MAKESWIFT_CONNECTION_INIT) {
46
44
  if (connectionInterval != null) {
47
45
  window.clearInterval(connectionInterval);
48
46
  connectionInterval = null;
49
47
  }
50
48
  connectionInterval = window.setInterval(() => {
51
49
  window.parent.postMessage(
52
- {
53
- type: import_actions.ActionTypes.MAKESWIFT_CONNECTION_CHECK,
54
- payload: { currentUrl: window.location.href }
55
- },
50
+ (0, import_builder_api.makeswiftConnectionCheck)({ currentUrl: window.location.href }),
56
51
  { targetOrigin: appOrigin }
57
52
  );
58
53
  }, CONNECTION_PING_INTERVAL_MS);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/runtimes/react/components/hooks/use-builder-connection-ping.ts"],"sourcesContent":["import { useEffect } from 'react'\nimport { ActionTypes } from '../../../../state/actions'\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(\n { type: ActionTypes.MAKESWIFT_CONNECTION_INIT },\n { targetOrigin: appOrigin },\n )\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 (event.origin === appOrigin && event.data.type === ActionTypes.MAKESWIFT_CONNECTION_INIT) {\n if (connectionInterval != null) {\n window.clearInterval(connectionInterval)\n connectionInterval = null\n }\n\n connectionInterval = window.setInterval(() => {\n window.parent.postMessage(\n {\n type: ActionTypes.MAKESWIFT_CONNECTION_CHECK,\n payload: { currentUrl: window.location.href },\n },\n { targetOrigin: appOrigin },\n )\n }, CONNECTION_PING_INTERVAL_MS)\n }\n }\n }, [appOrigin])\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0B;AAC1B,qBAA4B;AAE5B,MAAM,8BAA8B;AAE7B,SAAS,yBAAyB,EAAE,UAAU,GAA0B;AAC7E,8BAAU,MAAM;AACd,QAAI;AAEJ,QAAI,OAAO,WAAW,QAAQ;AAC5B,aAAO,iBAAiB,WAAW,cAAc;AACjD,aAAO,OAAO;AAAA,QACZ,EAAE,MAAM,2BAAY,0BAA0B;AAAA,QAC9C,EAAE,cAAc,UAAU;AAAA,MAC5B;AAAA,IACF;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,UAAI,MAAM,WAAW,aAAa,MAAM,KAAK,SAAS,2BAAY,2BAA2B;AAC3F,YAAI,sBAAsB,MAAM;AAC9B,iBAAO,cAAc,kBAAkB;AACvC,+BAAqB;AAAA,QACvB;AAEA,6BAAqB,OAAO,YAAY,MAAM;AAC5C,iBAAO,OAAO;AAAA,YACZ;AAAA,cACE,MAAM,2BAAY;AAAA,cAClB,SAAS,EAAE,YAAY,OAAO,SAAS,KAAK;AAAA,YAC9C;AAAA,YACA,EAAE,cAAc,UAAU;AAAA,UAC5B;AAAA,QACF,GAAG,2BAA2B;AAAA,MAChC;AAAA,IACF;AAAA,EACF,GAAG,CAAC,SAAS,CAAC;AAChB;","names":[]}
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'\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;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0B;AAC1B,yBAAyC;AACzC,wBAA2D;AAE3D,MAAM,8BAA8B;AAE7B,SAAS,yBAAyB,EAAE,UAAU,GAA0B;AAC7E,8BAAU,MAAM;AACd,QAAI;AAEJ,QAAI,OAAO,WAAW,QAAQ;AAC5B,aAAO,iBAAiB,WAAW,cAAc;AACjD,aAAO,OAAO,gBAAY,2CAAwB,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,oCAAkB,2BACtC;AACA,YAAI,sBAAsB,MAAM;AAC9B,iBAAO,cAAc,kBAAkB;AACvC,+BAAqB;AAAA,QACvB;AAEA,6BAAqB,OAAO,YAAY,MAAM;AAC5C,iBAAO,OAAO;AAAA,gBACZ,6CAAyB,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":[]}
@@ -22,11 +22,11 @@ __export(use_cache_data_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(use_cache_data_exports);
24
24
  var import_react = require("react");
25
- var import_actions = require("../../../state/actions");
25
+ var import_internal = require("../../../state/actions/internal");
26
26
  var import_host_api_client = require("../host-api-client");
27
27
  function useCacheData(cacheData) {
28
28
  const { makeswiftApiClient: apiStore } = (0, import_host_api_client.useMakeswiftHostApiClient)();
29
- (0, import_react.useMemo)(() => apiStore.dispatch((0, import_actions.updateAPIClientCache)(cacheData)), [cacheData]);
29
+ (0, import_react.useMemo)(() => apiStore.dispatch((0, import_internal.updateAPIClientCache)(cacheData)), [cacheData]);
30
30
  }
31
31
  // Annotate the CommonJS export names for ESM import in node:
32
32
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-cache-data.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { type CacheData } from '../../../api/react'\nimport { updateAPIClientCache } from '../../../state/actions'\n\nimport { useMakeswiftHostApiClient } from '../host-api-client'\n\nexport function useCacheData(cacheData: CacheData) {\n const { makeswiftApiClient: apiStore } = useMakeswiftHostApiClient()\n\n // We perform cache hydration immediately on render - this is safe to do per\n // render because updating the API cache is idempotent. For precedence, see:\n //\n // https://github.com/TanStack/query/blob/8f9f183f11df3709a1a38c4efce1452788041f88/packages/react-query/src/HydrationBoundary.tsx#L41\n useMemo(() => apiStore.dispatch(updateAPIClientCache(cacheData)), [cacheData])\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAwB;AAExB,qBAAqC;AAErC,6BAA0C;AAEnC,SAAS,aAAa,WAAsB;AACjD,QAAM,EAAE,oBAAoB,SAAS,QAAI,kDAA0B;AAMnE,4BAAQ,MAAM,SAAS,aAAS,qCAAqB,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;AAC/E;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-cache-data.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { type CacheData } from '../../../api/react'\nimport { updateAPIClientCache } from '../../../state/actions/internal'\n\nimport { useMakeswiftHostApiClient } from '../host-api-client'\n\nexport function useCacheData(cacheData: CacheData) {\n const { makeswiftApiClient: apiStore } = useMakeswiftHostApiClient()\n\n // We perform cache hydration immediately on render - this is safe to do per\n // render because updating the API cache is idempotent. For precedence, see:\n //\n // https://github.com/TanStack/query/blob/8f9f183f11df3709a1a38c4efce1452788041f88/packages/react-query/src/HydrationBoundary.tsx#L41\n useMemo(() => apiStore.dispatch(updateAPIClientCache(cacheData)), [cacheData])\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAwB;AAExB,sBAAqC;AAErC,6BAA0C;AAEnC,SAAS,aAAa,WAAsB;AACjD,QAAM,EAAE,oBAAoB,SAAS,QAAI,kDAA0B;AAMnE,4BAAQ,MAAM,SAAS,aAAS,sCAAqB,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;AAC/E;","names":[]}
@@ -24,22 +24,23 @@ module.exports = __toCommonJS(use_register_document_exports);
24
24
  var import_react = require("react");
25
25
  var import_use_dispatch = require("./use-dispatch");
26
26
  var import_use_is_in_builder = require("./use-is-in-builder");
27
- var import_actions = require("../../../state/actions");
27
+ var import_shared_api = require("../../../state/shared-api");
28
+ var import_builder_api = require("../../../state/builder-api");
28
29
  var import_is_server = require("../../../utils/is-server");
29
30
  var import_useIsomorphicLayoutEffect = require("../../../components/hooks/useIsomorphicLayoutEffect");
30
31
  function useRegisterDocument(document) {
31
32
  const isInBuilder = (0, import_use_is_in_builder.useIsInBuilder)();
32
33
  const dispatch = (0, import_use_dispatch.useDispatch)();
33
34
  if ((0, import_is_server.isServer)()) {
34
- dispatch((0, import_actions.registerDocument)(document));
35
+ dispatch((0, import_shared_api.registerDocument)(document));
35
36
  }
36
37
  (0, import_useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(() => {
37
- return dispatch((0, import_actions.registerDocumentsEffect)([document]));
38
+ return dispatch((0, import_shared_api.registerDocumentsEffect)([document]));
38
39
  }, [dispatch, document]);
39
40
  (0, import_react.useEffect)(() => {
40
41
  if (!isInBuilder)
41
42
  return;
42
- return dispatch((0, import_actions.registerBuilderDocumentsEffect)([document]));
43
+ return dispatch((0, import_builder_api.registerBuilderDocumentsEffect)([document]));
43
44
  }, [isInBuilder, document]);
44
45
  }
45
46
  // Annotate the CommonJS export names for ESM import in node:
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-register-document.ts"],"sourcesContent":["import { useEffect } from 'react'\nimport { type Document } from '../../../state/react-page'\nimport { useDispatch } from './use-dispatch'\nimport { useIsInBuilder } from './use-is-in-builder'\nimport {\n registerBuilderDocumentsEffect,\n registerDocument,\n registerDocumentsEffect,\n} from '../../../state/actions'\nimport { isServer } from '../../../utils/is-server'\nimport { useIsomorphicLayoutEffect } from '../../../components/hooks/useIsomorphicLayoutEffect'\n\n/**\n * @param document Document to register\n */\nexport function useRegisterDocument(document: Document): void {\n const isInBuilder = useIsInBuilder()\n const dispatch = useDispatch()\n\n if (isServer()) {\n dispatch(registerDocument(document))\n }\n\n /*\n Layout effect is to ensure that the document registration happens prior to the\n attempted creation/registration of prop controllers in child components.\n */\n useIsomorphicLayoutEffect(() => {\n return dispatch(registerDocumentsEffect([document]))\n }, [dispatch, document])\n\n // TODO: Decide whether to do this via middleware or via explicit action (like\n // what we're doing below)\n useEffect(() => {\n if (!isInBuilder) return\n return dispatch(registerBuilderDocumentsEffect([document]))\n }, [isInBuilder, document])\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0B;AAE1B,0BAA4B;AAC5B,+BAA+B;AAC/B,qBAIO;AACP,uBAAyB;AACzB,uCAA0C;AAKnC,SAAS,oBAAoB,UAA0B;AAC5D,QAAM,kBAAc,yCAAe;AACnC,QAAM,eAAW,iCAAY;AAE7B,UAAI,2BAAS,GAAG;AACd,iBAAS,iCAAiB,QAAQ,CAAC;AAAA,EACrC;AAMA,kEAA0B,MAAM;AAC9B,WAAO,aAAS,wCAAwB,CAAC,QAAQ,CAAC,CAAC;AAAA,EACrD,GAAG,CAAC,UAAU,QAAQ,CAAC;AAIvB,8BAAU,MAAM;AACd,QAAI,CAAC;AAAa;AAClB,WAAO,aAAS,+CAA+B,CAAC,QAAQ,CAAC,CAAC;AAAA,EAC5D,GAAG,CAAC,aAAa,QAAQ,CAAC;AAC5B;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-register-document.ts"],"sourcesContent":["import { useEffect } from 'react'\nimport { type Document } from '../../../state/react-page'\nimport { useDispatch } from './use-dispatch'\nimport { useIsInBuilder } from './use-is-in-builder'\nimport { registerDocument, registerDocumentsEffect } from '../../../state/shared-api'\nimport { registerBuilderDocumentsEffect } from '../../../state/builder-api'\n\nimport { isServer } from '../../../utils/is-server'\nimport { useIsomorphicLayoutEffect } from '../../../components/hooks/useIsomorphicLayoutEffect'\n\n/**\n * @param document Document to register\n */\nexport function useRegisterDocument(document: Document): void {\n const isInBuilder = useIsInBuilder()\n const dispatch = useDispatch()\n\n if (isServer()) {\n dispatch(registerDocument(document))\n }\n\n /*\n Layout effect is to ensure that the document registration happens prior to the\n attempted creation/registration of prop controllers in child components.\n */\n useIsomorphicLayoutEffect(() => {\n return dispatch(registerDocumentsEffect([document]))\n }, [dispatch, document])\n\n // TODO: Decide whether to do this via middleware or via explicit action (like\n // what we're doing below)\n useEffect(() => {\n if (!isInBuilder) return\n return dispatch(registerBuilderDocumentsEffect([document]))\n }, [isInBuilder, document])\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0B;AAE1B,0BAA4B;AAC5B,+BAA+B;AAC/B,wBAA0D;AAC1D,yBAA+C;AAE/C,uBAAyB;AACzB,uCAA0C;AAKnC,SAAS,oBAAoB,UAA0B;AAC5D,QAAM,kBAAc,yCAAe;AACnC,QAAM,eAAW,iCAAY;AAE7B,UAAI,2BAAS,GAAG;AACd,iBAAS,oCAAiB,QAAQ,CAAC;AAAA,EACrC;AAMA,kEAA0B,MAAM;AAC9B,WAAO,aAAS,2CAAwB,CAAC,QAAQ,CAAC,CAAC;AAAA,EACrD,GAAG,CAAC,UAAU,QAAQ,CAAC;AAIvB,8BAAU,MAAM;AACd,QAAI,CAAC;AAAa;AAClB,WAAO,aAAS,mDAA+B,CAAC,QAAQ,CAAC,CAAC;AAAA,EAC5D,GAAG,CAAC,aAAa,QAAQ,CAAC;AAC5B;","names":[]}
@@ -21,7 +21,8 @@ __export(react_runtime_core_exports, {
21
21
  ReactRuntimeCore: () => ReactRuntimeCore
22
22
  });
23
23
  module.exports = __toCommonJS(react_runtime_core_exports);
24
- var import_actions = require("../../state/actions");
24
+ var import_shared_api = require("../../state/shared-api");
25
+ var import_internal = require("../../state/actions/internal");
25
26
  var import_components_meta = require("../../state/modules/components-meta");
26
27
  var import_runtime_core = require("./runtime-core");
27
28
  function validateComponentType(type, component) {
@@ -44,14 +45,14 @@ class ReactRuntimeCore extends import_runtime_core.RuntimeCore {
44
45
  }) {
45
46
  validateComponentType(type, component);
46
47
  const unregisterComponent = this.store.dispatch(
47
- (0, import_actions.registerComponentEffect)(
48
+ (0, import_shared_api.registerComponentEffect)(
48
49
  type,
49
50
  { label, icon, hidden, description, builtinSuspense },
50
51
  props ?? {}
51
52
  )
52
53
  );
53
54
  const unregisterReactComponent = this.store.dispatch(
54
- (0, import_actions.registerReactComponentEffect)(type, component)
55
+ (0, import_internal.registerReactComponentEffect)(type, component)
55
56
  );
56
57
  return () => {
57
58
  unregisterComponent();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/runtimes/react/react-runtime-core.ts"],"sourcesContent":["import { ControlDefinition as UnifiedControlDefinition } from '@makeswift/controls'\n\nimport { type LegacyDescriptor, type DescriptorValueType } from '../../prop-controllers/descriptors'\n\nimport { registerComponentEffect, registerReactComponentEffect } from '../../state/actions'\nimport { BreakpointsInput } from '../../state/modules/breakpoints'\nimport { ComponentIcon } from '../../state/modules/components-meta'\nimport type { ComponentType } from '../../state/react-page'\n\nimport { RuntimeCore } from './runtime-core'\n\nfunction validateComponentType(type: string, component?: ComponentType): void {\n const componentName = component?.name ?? 'Component'\n if (typeof type !== 'string' || type === '') {\n throw new Error(\n `${componentName}: A non-empty string \\`type\\` is required for component registration, got ${type}`,\n )\n }\n}\n\nexport class ReactRuntimeCore extends RuntimeCore {\n registerComponent<\n ControlDef extends UnifiedControlDefinition,\n P extends Record<string, LegacyDescriptor | ControlDef>,\n C extends ComponentType<{ [K in keyof P]: DescriptorValueType<P[K]> }>,\n >(\n component: C,\n {\n type,\n label,\n icon = ComponentIcon.Cube,\n hidden = false,\n description,\n builtinSuspense,\n props,\n }: {\n type: string\n label: string\n icon?: ComponentIcon\n hidden?: boolean\n description?: string\n builtinSuspense?: boolean\n props?: P\n },\n ): () => void {\n validateComponentType(type, component as unknown as ComponentType)\n\n const unregisterComponent = this.store.dispatch(\n registerComponentEffect(\n type,\n { label, icon, hidden, description, builtinSuspense },\n props ?? {},\n ),\n )\n\n const unregisterReactComponent = this.store.dispatch(\n registerReactComponentEffect(type, component as unknown as ComponentType),\n )\n\n return () => {\n unregisterComponent()\n unregisterReactComponent()\n }\n }\n\n constructor({ breakpoints }: { breakpoints?: BreakpointsInput } = {}) {\n super({ breakpoints })\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,qBAAsE;AAEtE,6BAA8B;AAG9B,0BAA4B;AAE5B,SAAS,sBAAsB,MAAc,WAAiC;AAC5E,QAAM,gBAAgB,WAAW,QAAQ;AACzC,MAAI,OAAO,SAAS,YAAY,SAAS,IAAI;AAC3C,UAAM,IAAI;AAAA,MACR,GAAG,aAAa,6EAA6E,IAAI;AAAA,IACnG;AAAA,EACF;AACF;AAEO,MAAM,yBAAyB,gCAAY;AAAA,EAChD,kBAKE,WACA;AAAA,IACE;AAAA,IACA;AAAA,IACA,OAAO,qCAAc;AAAA,IACrB,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,EACF,GASY;AACZ,0BAAsB,MAAM,SAAqC;AAEjE,UAAM,sBAAsB,KAAK,MAAM;AAAA,UACrC;AAAA,QACE;AAAA,QACA,EAAE,OAAO,MAAM,QAAQ,aAAa,gBAAgB;AAAA,QACpD,SAAS,CAAC;AAAA,MACZ;AAAA,IACF;AAEA,UAAM,2BAA2B,KAAK,MAAM;AAAA,UAC1C,6CAA6B,MAAM,SAAqC;AAAA,IAC1E;AAEA,WAAO,MAAM;AACX,0BAAoB;AACpB,+BAAyB;AAAA,IAC3B;AAAA,EACF;AAAA,EAEA,YAAY,EAAE,YAAY,IAAwC,CAAC,GAAG;AACpE,UAAM,EAAE,YAAY,CAAC;AAAA,EACvB;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../../src/runtimes/react/react-runtime-core.ts"],"sourcesContent":["import { ControlDefinition as UnifiedControlDefinition } from '@makeswift/controls'\n\nimport { type LegacyDescriptor, type DescriptorValueType } from '../../prop-controllers/descriptors'\n\nimport { registerComponentEffect } from '../../state/shared-api'\nimport { registerReactComponentEffect } from '../../state/actions/internal'\n\nimport { BreakpointsInput } from '../../state/modules/breakpoints'\nimport { ComponentIcon } from '../../state/modules/components-meta'\nimport type { ComponentType } from '../../state/react-page'\n\nimport { RuntimeCore } from './runtime-core'\n\nfunction validateComponentType(type: string, component?: ComponentType): void {\n const componentName = component?.name ?? 'Component'\n if (typeof type !== 'string' || type === '') {\n throw new Error(\n `${componentName}: A non-empty string \\`type\\` is required for component registration, got ${type}`,\n )\n }\n}\n\nexport class ReactRuntimeCore extends RuntimeCore {\n registerComponent<\n ControlDef extends UnifiedControlDefinition,\n P extends Record<string, LegacyDescriptor | ControlDef>,\n C extends ComponentType<{ [K in keyof P]: DescriptorValueType<P[K]> }>,\n >(\n component: C,\n {\n type,\n label,\n icon = ComponentIcon.Cube,\n hidden = false,\n description,\n builtinSuspense,\n props,\n }: {\n type: string\n label: string\n icon?: ComponentIcon\n hidden?: boolean\n description?: string\n builtinSuspense?: boolean\n props?: P\n },\n ): () => void {\n validateComponentType(type, component as unknown as ComponentType)\n\n const unregisterComponent = this.store.dispatch(\n registerComponentEffect(\n type,\n { label, icon, hidden, description, builtinSuspense },\n props ?? {},\n ),\n )\n\n const unregisterReactComponent = this.store.dispatch(\n registerReactComponentEffect(type, component as unknown as ComponentType),\n )\n\n return () => {\n unregisterComponent()\n unregisterReactComponent()\n }\n }\n\n constructor({ breakpoints }: { breakpoints?: BreakpointsInput } = {}) {\n super({ breakpoints })\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,wBAAwC;AACxC,sBAA6C;AAG7C,6BAA8B;AAG9B,0BAA4B;AAE5B,SAAS,sBAAsB,MAAc,WAAiC;AAC5E,QAAM,gBAAgB,WAAW,QAAQ;AACzC,MAAI,OAAO,SAAS,YAAY,SAAS,IAAI;AAC3C,UAAM,IAAI;AAAA,MACR,GAAG,aAAa,6EAA6E,IAAI;AAAA,IACnG;AAAA,EACF;AACF;AAEO,MAAM,yBAAyB,gCAAY;AAAA,EAChD,kBAKE,WACA;AAAA,IACE;AAAA,IACA;AAAA,IACA,OAAO,qCAAc;AAAA,IACrB,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,EACF,GASY;AACZ,0BAAsB,MAAM,SAAqC;AAEjE,UAAM,sBAAsB,KAAK,MAAM;AAAA,UACrC;AAAA,QACE;AAAA,QACA,EAAE,OAAO,MAAM,QAAQ,aAAa,gBAAgB;AAAA,QACpD,SAAS,CAAC;AAAA,MACZ;AAAA,IACF;AAEA,UAAM,2BAA2B,KAAK,MAAM;AAAA,UAC1C,8CAA6B,MAAM,SAAqC;AAAA,IAC1E;AAEA,WAAO,MAAM;AACX,0BAAoB;AACpB,+BAAyB;AAAA,IAC3B;AAAA,EACF;AAAA,EAEA,YAAY,EAAE,YAAY,IAAwC,CAAC,GAAG;AACpE,UAAM,EAAE,YAAY,CAAC;AAAA,EACvB;AACF;","names":[]}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var actions_exports = {};
20
+ __export(actions_exports, {
21
+ ActionTypes: () => ActionTypes,
22
+ isKnownAction: () => isKnownAction
23
+ });
24
+ module.exports = __toCommonJS(actions_exports);
25
+ var import_toolkit = require("@reduxjs/toolkit");
26
+ var import_builder_api = require("../builder-api");
27
+ var import_host_api = require("../host-api");
28
+ var import_internal = require("./internal");
29
+ const ActionTypes = {
30
+ ...import_host_api.HostActionTypes,
31
+ ...import_builder_api.BuilderActionTypes,
32
+ ...import_internal.InternalActionTypes
33
+ };
34
+ function isKnownAction(action) {
35
+ return (0, import_toolkit.isAction)(action) && Object.hasOwn(ActionTypes, action.type);
36
+ }
37
+ // Annotate the CommonJS export names for ESM import in node:
38
+ 0 && (module.exports = {
39
+ ActionTypes,
40
+ isKnownAction
41
+ });
42
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/state/actions/index.ts"],"sourcesContent":["import { isAction } from '@reduxjs/toolkit'\n\nimport { type BuilderAction, BuilderActionTypes } from '../builder-api'\nimport { type HostAction, HostActionTypes } from '../host-api'\n\nimport { type InternalAction, InternalActionTypes } from './internal'\n\nexport { type UnknownAction } from '@reduxjs/toolkit'\nexport { type DocumentPayload } from '../shared-api'\n\nexport const ActionTypes = {\n ...HostActionTypes,\n ...BuilderActionTypes,\n ...InternalActionTypes,\n} as const\n\nexport type Action = HostAction | BuilderAction | InternalAction\n\nexport function isKnownAction(action: unknown): action is Action {\n return isAction(action) && Object.hasOwn(ActionTypes, action.type)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAyB;AAEzB,yBAAuD;AACvD,sBAAiD;AAEjD,sBAAyD;AAKlD,MAAM,cAAc;AAAA,EACzB,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAIO,SAAS,cAAc,QAAmC;AAC/D,aAAO,yBAAS,MAAM,KAAK,OAAO,OAAO,aAAa,OAAO,IAAI;AACnE;","names":[]}
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var internal_exports = {};
20
+ __export(internal_exports, {
21
+ InternalActionTypes: () => InternalActionTypes,
22
+ apiResourceFulfilled: () => apiResourceFulfilled,
23
+ changeElementTree: () => changeElementTree,
24
+ createElementTree: () => createElementTree,
25
+ deleteElementTree: () => deleteElementTree,
26
+ registerComponentHandle: () => registerComponentHandle,
27
+ registerComponentHandleEffect: () => registerComponentHandleEffect,
28
+ registerMeasurable: () => registerMeasurable,
29
+ registerMeasurableEffect: () => registerMeasurableEffect,
30
+ registerPropControllers: () => registerPropControllers,
31
+ registerPropControllersHandle: () => registerPropControllersHandle,
32
+ registerReactComponentEffect: () => registerReactComponentEffect,
33
+ unregisterMeasurable: () => unregisterMeasurable,
34
+ unregisterPropControllers: () => unregisterPropControllers,
35
+ unregisterPropControllersHandle: () => unregisterPropControllersHandle,
36
+ updateAPIClientCache: () => updateAPIClientCache
37
+ });
38
+ module.exports = __toCommonJS(internal_exports);
39
+ const InternalActionTypes = {
40
+ API_RESOURCE_FULFILLED: "API_RESOURCE_FULFILLED",
41
+ CREATE_ELEMENT_TREE: "CREATE_ELEMENT_TREE",
42
+ DELETE_ELEMENT_TREE: "DELETE_ELEMENT_TREE",
43
+ CHANGE_ELEMENT_TREE: "CHANGE_ELEMENT_TREE",
44
+ REGISTER_COMPONENT_HANDLE: "REGISTER_COMPONENT_HANDLE",
45
+ UNREGISTER_COMPONENT_HANDLE: "UNREGISTER_COMPONENT_HANDLE",
46
+ REGISTER_MEASURABLE: "REGISTER_MEASURABLE",
47
+ UNREGISTER_MEASURABLE: "UNREGISTER_MEASURABLE",
48
+ REGISTER_PROP_CONTROLLERS: "REGISTER_PROP_CONTROLLERS",
49
+ UNREGISTER_PROP_CONTROLLERS: "UNREGISTER_PROP_CONTROLLERS",
50
+ REGISTER_PROP_CONTROLLERS_HANDLE: "REGISTER_PROP_CONTROLLERS_HANDLE",
51
+ UNREGISTER_PROP_CONTROLLERS_HANDLE: "UNREGISTER_PROP_CONTROLLERS_HANDLE",
52
+ REGISTER_REACT_COMPONENT: "REGISTER_REACT_COMPONENT",
53
+ UNREGISTER_REACT_COMPONENT: "UNREGISTER_REACT_COMPONENT",
54
+ UPDATE_API_CLIENT_CACHE: "UPDATE_API_CLIENT_CACHE"
55
+ };
56
+ function apiResourceFulfilled(resourceType, resourceId, resource, locale) {
57
+ return {
58
+ type: InternalActionTypes.API_RESOURCE_FULFILLED,
59
+ payload: { resourceType, resourceId, resource, locale }
60
+ };
61
+ }
62
+ function createElementTree(payload) {
63
+ return {
64
+ type: InternalActionTypes.CREATE_ELEMENT_TREE,
65
+ payload
66
+ };
67
+ }
68
+ function deleteElementTree(payload) {
69
+ return { type: InternalActionTypes.DELETE_ELEMENT_TREE, payload };
70
+ }
71
+ function changeElementTree(payload) {
72
+ return {
73
+ type: InternalActionTypes.CHANGE_ELEMENT_TREE,
74
+ payload
75
+ };
76
+ }
77
+ function registerComponentHandle(documentKey, elementKey, componentHandle) {
78
+ return {
79
+ type: InternalActionTypes.REGISTER_COMPONENT_HANDLE,
80
+ payload: { documentKey, elementKey, componentHandle }
81
+ };
82
+ }
83
+ function unregisterComponentHandle(documentKey, elementKey) {
84
+ return {
85
+ type: InternalActionTypes.UNREGISTER_COMPONENT_HANDLE,
86
+ payload: { documentKey, elementKey }
87
+ };
88
+ }
89
+ function registerComponentHandleEffect(documentKey, elementKey, componentHandle) {
90
+ return (dispatch) => {
91
+ dispatch(registerComponentHandle(documentKey, elementKey, componentHandle));
92
+ return () => {
93
+ dispatch(unregisterComponentHandle(documentKey, elementKey));
94
+ };
95
+ };
96
+ }
97
+ function registerMeasurable(documentKey, elementKey, measurable) {
98
+ return {
99
+ type: InternalActionTypes.REGISTER_MEASURABLE,
100
+ payload: { documentKey, elementKey, measurable }
101
+ };
102
+ }
103
+ function unregisterMeasurable(documentKey, elementKey) {
104
+ return { type: InternalActionTypes.UNREGISTER_MEASURABLE, payload: { documentKey, elementKey } };
105
+ }
106
+ function registerMeasurableEffect(documentKey, elementKey, measurable) {
107
+ return (dispatch) => {
108
+ dispatch(registerMeasurable(documentKey, elementKey, measurable));
109
+ return () => {
110
+ dispatch(unregisterMeasurable(documentKey, elementKey));
111
+ };
112
+ };
113
+ }
114
+ function registerPropControllersHandle(documentKey, elementKey, handle) {
115
+ return {
116
+ type: InternalActionTypes.REGISTER_PROP_CONTROLLERS_HANDLE,
117
+ payload: { documentKey, elementKey, handle }
118
+ };
119
+ }
120
+ function unregisterPropControllersHandle(documentKey, elementKey) {
121
+ return {
122
+ type: InternalActionTypes.UNREGISTER_PROP_CONTROLLERS_HANDLE,
123
+ payload: { documentKey, elementKey }
124
+ };
125
+ }
126
+ function registerPropControllers(documentKey, elementKey, propControllers) {
127
+ return {
128
+ type: InternalActionTypes.REGISTER_PROP_CONTROLLERS,
129
+ payload: { documentKey, elementKey, propControllers }
130
+ };
131
+ }
132
+ function unregisterPropControllers(documentKey, elementKey) {
133
+ return {
134
+ type: InternalActionTypes.UNREGISTER_PROP_CONTROLLERS,
135
+ payload: { documentKey, elementKey }
136
+ };
137
+ }
138
+ function registerReactComponent(type, component) {
139
+ return { type: InternalActionTypes.REGISTER_REACT_COMPONENT, payload: { type, component } };
140
+ }
141
+ function unregisterReactComponent(type) {
142
+ return { type: InternalActionTypes.UNREGISTER_REACT_COMPONENT, payload: { type } };
143
+ }
144
+ function registerReactComponentEffect(type, component) {
145
+ return (dispatch) => {
146
+ dispatch(registerReactComponent(type, component));
147
+ return () => {
148
+ dispatch(unregisterReactComponent(type));
149
+ };
150
+ };
151
+ }
152
+ function updateAPIClientCache(payload) {
153
+ return { type: InternalActionTypes.UPDATE_API_CLIENT_CACHE, payload };
154
+ }
155
+ // Annotate the CommonJS export names for ESM import in node:
156
+ 0 && (module.exports = {
157
+ InternalActionTypes,
158
+ apiResourceFulfilled,
159
+ changeElementTree,
160
+ createElementTree,
161
+ deleteElementTree,
162
+ registerComponentHandle,
163
+ registerComponentHandleEffect,
164
+ registerMeasurable,
165
+ registerMeasurableEffect,
166
+ registerPropControllers,
167
+ registerPropControllersHandle,
168
+ registerReactComponentEffect,
169
+ unregisterMeasurable,
170
+ unregisterPropControllers,
171
+ unregisterPropControllersHandle,
172
+ updateAPIClientCache
173
+ });
174
+ //# sourceMappingURL=internal.js.map
@@ -0,0 +1 @@
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'\n\nimport { type Measurable } from '../modules/box-models'\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_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 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\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\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\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}\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 | RegisterComponentHandleAction\n | UnregisterComponentHandleAction\n | RegisterMeasurableAction\n | UnregisterMeasurableAction\n | RegisterPropControllersHandleAction\n | UnregisterPropControllersHandleAction\n | RegisterPropControllersAction\n | UnregisterPropControllersAction\n | RegisterReactComponentAction\n | UnregisterReactComponentAction\n | UpdateAPIClientCache\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 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 updateAPIClientCache(payload: APIClientCache): UpdateAPIClientCache {\n return { type: InternalActionTypes.UPDATE_API_CLIENT_CACHE, payload }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBO,MAAM,sBAAsB;AAAA,EACjC,wBAAwB;AAAA,EAExB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EAErB,2BAA2B;AAAA,EAC3B,6BAA6B;AAAA,EAE7B,qBAAqB;AAAA,EACrB,uBAAuB;AAAA,EAEvB,2BAA2B;AAAA,EAC3B,6BAA6B;AAAA,EAE7B,kCAAkC;AAAA,EAClC,oCAAoC;AAAA,EAEpC,0BAA0B;AAAA,EAC1B,4BAA4B;AAAA,EAE5B,yBAAyB;AAC3B;AAYO,SAAS,qBACd,cACA,YACA,UACA,QAC4B;AAC5B,SAAO;AAAA,IACL,MAAM,oBAAoB;AAAA,IAC1B,SAAS,EAAE,cAAc,YAAY,UAAU,OAAO;AAAA,EACxD;AACF;AAiGO,SAAS,kBACd,SACyB;AACzB,SAAO;AAAA,IACL,MAAM,oBAAoB;AAAA,IAC1B;AAAA,EACF;AACF;AAEO,SAAS,kBACd,SACyB;AACzB,SAAO,EAAE,MAAM,oBAAoB,qBAAqB,QAAQ;AAClE;AAEO,SAAS,kBACd,SACyB;AACzB,SAAO;AAAA,IACL,MAAM,oBAAoB;AAAA,IAC1B;AAAA,EACF;AACF;AAEO,SAAS,wBACd,aACA,YACA,iBAC+B;AAC/B,SAAO;AAAA,IACL,MAAM,oBAAoB;AAAA,IAC1B,SAAS,EAAE,aAAa,YAAY,gBAAgB;AAAA,EACtD;AACF;AAEA,SAAS,0BACP,aACA,YACiC;AACjC,SAAO;AAAA,IACL,MAAM,oBAAoB;AAAA,IAC1B,SAAS,EAAE,aAAa,WAAW;AAAA,EACrC;AACF;AAEO,SAAS,8BACd,aACA,YACA,iBAC2D;AAC3D,SAAO,cAAY;AACjB,aAAS,wBAAwB,aAAa,YAAY,eAAe,CAAC;AAE1E,WAAO,MAAM;AACX,eAAS,0BAA0B,aAAa,UAAU,CAAC;AAAA,IAC7D;AAAA,EACF;AACF;AAEO,SAAS,mBACd,aACA,YACA,YAC0B;AAC1B,SAAO;AAAA,IACL,MAAM,oBAAoB;AAAA,IAC1B,SAAS,EAAE,aAAa,YAAY,WAAW;AAAA,EACjD;AACF;AAEO,SAAS,qBACd,aACA,YAC4B;AAC5B,SAAO,EAAE,MAAM,oBAAoB,uBAAuB,SAAS,EAAE,aAAa,WAAW,EAAE;AACjG;AAEO,SAAS,yBACd,aACA,YACA,YAC2D;AAC3D,SAAO,cAAY;AACjB,aAAS,mBAAmB,aAAa,YAAY,UAAU,CAAC;AAEhE,WAAO,MAAM;AACX,eAAS,qBAAqB,aAAa,UAAU,CAAC;AAAA,IACxD;AAAA,EACF;AACF;AAEO,SAAS,8BACd,aACA,YACA,QACqC;AACrC,SAAO;AAAA,IACL,MAAM,oBAAoB;AAAA,IAC1B,SAAS,EAAE,aAAa,YAAY,OAAO;AAAA,EAC7C;AACF;AAEO,SAAS,gCACd,aACA,YACuC;AACvC,SAAO;AAAA,IACL,MAAM,oBAAoB;AAAA,IAC1B,SAAS,EAAE,aAAa,WAAW;AAAA,EACrC;AACF;AAEO,SAAS,wBACd,aACA,YACA,iBAC+B;AAC/B,SAAO;AAAA,IACL,MAAM,oBAAoB;AAAA,IAC1B,SAAS,EAAE,aAAa,YAAY,gBAAgB;AAAA,EACtD;AACF;AAEO,SAAS,0BACd,aACA,YACiC;AACjC,SAAO;AAAA,IACL,MAAM,oBAAoB;AAAA,IAC1B,SAAS,EAAE,aAAa,WAAW;AAAA,EACrC;AACF;AAEA,SAAS,uBACP,MACA,WAC8B;AAC9B,SAAO,EAAE,MAAM,oBAAoB,0BAA0B,SAAS,EAAE,MAAM,UAAU,EAAE;AAC5F;AAEA,SAAS,yBAAyB,MAA8C;AAC9E,SAAO,EAAE,MAAM,oBAAoB,4BAA4B,SAAS,EAAE,KAAK,EAAE;AACnF;AAEO,SAAS,6BACd,MACA,WAC2D;AAC3D,SAAO,cAAY;AACjB,aAAS,uBAAuB,MAAM,SAAS,CAAC;AAEhD,WAAO,MAAM;AACX,eAAS,yBAAyB,IAAI,CAAC;AAAA,IACzC;AAAA,EACF;AACF;AAEO,SAAS,qBAAqB,SAA+C;AAClF,SAAO,EAAE,MAAM,oBAAoB,yBAAyB,QAAQ;AACtE;","names":[]}