@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,150 @@
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 builder_api_exports = {};
20
+ __export(builder_api_exports, {
21
+ BuilderActionTypes: () => BuilderActionTypes,
22
+ changeDocumentElementSize: () => changeDocumentElementSize,
23
+ changeElementBoxModels: () => changeElementBoxModels,
24
+ elementFromPointChange: () => elementFromPointChange,
25
+ handlePointerMove: () => handlePointerMove,
26
+ handleWheel: () => handleWheel,
27
+ makeswiftConnectionCheck: () => makeswiftConnectionCheck,
28
+ messageBuilderPropController: () => messageBuilderPropController,
29
+ mountComponent: () => mountComponent,
30
+ mountComponentEffect: () => mountComponentEffect,
31
+ registerBuilderComponent: () => registerBuilderComponent,
32
+ registerBuilderDocument: () => registerBuilderDocument,
33
+ registerBuilderDocumentsEffect: () => registerBuilderDocumentsEffect,
34
+ setIsInBuilder: () => setIsInBuilder,
35
+ unmountComponent: () => unmountComponent,
36
+ unregisterBuilderComponent: () => unregisterBuilderComponent,
37
+ unregisterBuilderDocument: () => unregisterBuilderDocument
38
+ });
39
+ module.exports = __toCommonJS(builder_api_exports);
40
+ var import_shared_api = require("./shared-api");
41
+ const BuilderActionTypes = {
42
+ ...import_shared_api.SharedActionTypes,
43
+ MAKESWIFT_CONNECTION_CHECK: "MAKESWIFT_CONNECTION_CHECK",
44
+ CHANGE_ELEMENT_BOX_MODELS: "CHANGE_ELEMENT_BOX_MODELS",
45
+ MOUNT_COMPONENT: "MOUNT_COMPONENT",
46
+ UNMOUNT_COMPONENT: "UNMOUNT_COMPONENT",
47
+ CHANGE_DOCUMENT_ELEMENT_SIZE: "CHANGE_DOCUMENT_ELEMENT_SIZE",
48
+ MESSAGE_BUILDER_PROP_CONTROLLER: "MESSAGE_BUILDER_PROP_CONTROLLER",
49
+ HANDLE_WHEEL: "HANDLE_WHEEL",
50
+ HANDLE_POINTER_MOVE: "HANDLE_POINTER_MOVE",
51
+ ELEMENT_FROM_POINT_CHANGE: "ELEMENT_FROM_POINT_CHANGE",
52
+ SET_IS_IN_BUILDER: "SET_IS_IN_BUILDER",
53
+ REGISTER_BUILDER_DOCUMENT: "REGISTER_BUILDER_DOCUMENT",
54
+ UNREGISTER_BUILDER_DOCUMENT: "UNREGISTER_BUILDER_DOCUMENT",
55
+ REGISTER_BUILDER_COMPONENT: "REGISTER_BUILDER_COMPONENT",
56
+ UNREGISTER_BUILDER_COMPONENT: "UNREGISTER_BUILDER_COMPONENT",
57
+ HANDLE_HOST_NAVIGATE: "HANDLE_HOST_NAVIGATE"
58
+ };
59
+ function makeswiftConnectionCheck(payload) {
60
+ return { type: BuilderActionTypes.MAKESWIFT_CONNECTION_CHECK, payload };
61
+ }
62
+ function changeElementBoxModels(changedElementBoxModels) {
63
+ return {
64
+ type: BuilderActionTypes.CHANGE_ELEMENT_BOX_MODELS,
65
+ payload: { changedElementBoxModels }
66
+ };
67
+ }
68
+ function mountComponent(documentKey, elementKey) {
69
+ return { type: BuilderActionTypes.MOUNT_COMPONENT, payload: { documentKey, elementKey } };
70
+ }
71
+ function unmountComponent(documentKey, elementKey) {
72
+ return { type: BuilderActionTypes.UNMOUNT_COMPONENT, payload: { documentKey, elementKey } };
73
+ }
74
+ function mountComponentEffect(documentKey, elementKey) {
75
+ return (dispatch) => {
76
+ dispatch(mountComponent(documentKey, elementKey));
77
+ return () => {
78
+ dispatch(unmountComponent(documentKey, elementKey));
79
+ };
80
+ };
81
+ }
82
+ function changeDocumentElementSize(size) {
83
+ return { type: BuilderActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE, payload: { size } };
84
+ }
85
+ function messageBuilderPropController(documentKey, elementKey, propName, message) {
86
+ return {
87
+ type: BuilderActionTypes.MESSAGE_BUILDER_PROP_CONTROLLER,
88
+ payload: { documentKey, elementKey, propName, message }
89
+ };
90
+ }
91
+ function handleWheel(payload) {
92
+ return { type: BuilderActionTypes.HANDLE_WHEEL, payload };
93
+ }
94
+ function handlePointerMove(payload) {
95
+ return { type: BuilderActionTypes.HANDLE_POINTER_MOVE, payload };
96
+ }
97
+ function elementFromPointChange(keys) {
98
+ return { type: BuilderActionTypes.ELEMENT_FROM_POINT_CHANGE, payload: { keys } };
99
+ }
100
+ function setIsInBuilder(isInBuilder) {
101
+ return { type: BuilderActionTypes.SET_IS_IN_BUILDER, payload: isInBuilder };
102
+ }
103
+ function registerBuilderDocument(document) {
104
+ return {
105
+ type: BuilderActionTypes.REGISTER_BUILDER_DOCUMENT,
106
+ payload: { documentKey: document.key, document }
107
+ };
108
+ }
109
+ function unregisterBuilderDocument(documentKey) {
110
+ return { type: BuilderActionTypes.UNREGISTER_BUILDER_DOCUMENT, payload: { documentKey } };
111
+ }
112
+ function registerBuilderDocumentsEffect(documents) {
113
+ return (dispatch) => {
114
+ documents.forEach((document) => dispatch(registerBuilderDocument(document)));
115
+ return () => {
116
+ documents.forEach((document) => dispatch(unregisterBuilderDocument(document.key)));
117
+ };
118
+ };
119
+ }
120
+ function registerBuilderComponent(payload, transferables) {
121
+ return {
122
+ type: BuilderActionTypes.REGISTER_BUILDER_COMPONENT,
123
+ payload,
124
+ transferables
125
+ };
126
+ }
127
+ function unregisterBuilderComponent(payload) {
128
+ return { type: BuilderActionTypes.UNREGISTER_BUILDER_COMPONENT, payload };
129
+ }
130
+ // Annotate the CommonJS export names for ESM import in node:
131
+ 0 && (module.exports = {
132
+ BuilderActionTypes,
133
+ changeDocumentElementSize,
134
+ changeElementBoxModels,
135
+ elementFromPointChange,
136
+ handlePointerMove,
137
+ handleWheel,
138
+ makeswiftConnectionCheck,
139
+ messageBuilderPropController,
140
+ mountComponent,
141
+ mountComponentEffect,
142
+ registerBuilderComponent,
143
+ registerBuilderDocument,
144
+ registerBuilderDocumentsEffect,
145
+ setIsInBuilder,
146
+ unmountComponent,
147
+ unregisterBuilderComponent,
148
+ unregisterBuilderDocument
149
+ });
150
+ //# sourceMappingURL=builder-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/state/builder-api.ts"],"sourcesContent":["import { type ThunkAction } from '@reduxjs/toolkit'\n\nimport { type SerializedControl } from '../builder'\nimport { type PropControllerMessage } from '../prop-controllers/instances'\n\nimport { type Document } from './modules/read-only-documents'\nimport { type BoxModel } from './modules/box-models'\nimport { type ComponentMeta } from './modules/components-meta'\n\nimport { type Size } from './react-builder-preview'\nimport { type DocumentPayload, type SharedAction, SharedActionTypes } from './shared-api'\n\nexport const BuilderActionTypes = {\n ...SharedActionTypes,\n\n MAKESWIFT_CONNECTION_CHECK: 'MAKESWIFT_CONNECTION_CHECK',\n\n CHANGE_ELEMENT_BOX_MODELS: 'CHANGE_ELEMENT_BOX_MODELS',\n\n MOUNT_COMPONENT: 'MOUNT_COMPONENT',\n UNMOUNT_COMPONENT: 'UNMOUNT_COMPONENT',\n\n CHANGE_DOCUMENT_ELEMENT_SIZE: 'CHANGE_DOCUMENT_ELEMENT_SIZE',\n MESSAGE_BUILDER_PROP_CONTROLLER: 'MESSAGE_BUILDER_PROP_CONTROLLER',\n\n HANDLE_WHEEL: 'HANDLE_WHEEL',\n HANDLE_POINTER_MOVE: 'HANDLE_POINTER_MOVE',\n\n ELEMENT_FROM_POINT_CHANGE: 'ELEMENT_FROM_POINT_CHANGE',\n\n SET_IS_IN_BUILDER: 'SET_IS_IN_BUILDER',\n\n REGISTER_BUILDER_DOCUMENT: 'REGISTER_BUILDER_DOCUMENT',\n UNREGISTER_BUILDER_DOCUMENT: 'UNREGISTER_BUILDER_DOCUMENT',\n\n REGISTER_BUILDER_COMPONENT: 'REGISTER_BUILDER_COMPONENT',\n UNREGISTER_BUILDER_COMPONENT: 'UNREGISTER_BUILDER_COMPONENT',\n\n HANDLE_HOST_NAVIGATE: 'HANDLE_HOST_NAVIGATE',\n} as const\n\ntype MakeswiftConnectionCheckAction = {\n type: typeof BuilderActionTypes.MAKESWIFT_CONNECTION_CHECK\n payload: { currentUrl: string }\n}\n\ntype ChangeElementBoxModelsAction = {\n type: typeof BuilderActionTypes.CHANGE_ELEMENT_BOX_MODELS\n payload: { changedElementBoxModels: Map<string, Map<string, BoxModel | null>> }\n}\n\ntype MountComponentAction = {\n type: typeof BuilderActionTypes.MOUNT_COMPONENT\n payload: { documentKey: string; elementKey: string }\n}\n\ntype UnmountComponentAction = {\n type: typeof BuilderActionTypes.UNMOUNT_COMPONENT\n payload: { documentKey: string; elementKey: string }\n}\n\ntype ChangeDocumentElementSizeAction = {\n type: typeof BuilderActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE\n payload: { size: Size }\n}\n\ntype MessageBuilderPropControllerAction<T = PropControllerMessage> = {\n type: typeof BuilderActionTypes.MESSAGE_BUILDER_PROP_CONTROLLER\n payload: { documentKey: string; elementKey: string; propName: string; message: T }\n}\n\ntype HandleWheelAction = {\n type: typeof BuilderActionTypes.HANDLE_WHEEL\n payload: { deltaX: number; deltaY: number }\n}\n\ntype HandlePointerMoveAction = {\n type: typeof BuilderActionTypes.HANDLE_POINTER_MOVE\n payload: { clientX: number; clientY: number }\n}\n\ntype ElementFromPointChangeAction = {\n type: typeof BuilderActionTypes.ELEMENT_FROM_POINT_CHANGE\n payload: { keys: { documentKey: string; elementKey: string } | null }\n}\n\ntype SetIsInBuilderAction = {\n type: typeof BuilderActionTypes.SET_IS_IN_BUILDER\n payload: boolean\n}\n\ntype RegisterBuilderDocumentAction = {\n type: typeof BuilderActionTypes.REGISTER_BUILDER_DOCUMENT\n payload: { documentKey: string; document: DocumentPayload }\n}\n\ntype UnregisterBuilderDocumentAction = {\n type: typeof BuilderActionTypes.UNREGISTER_BUILDER_DOCUMENT\n payload: { documentKey: string }\n}\n\ntype RegisterBuilderComponentAction = {\n type: typeof BuilderActionTypes.REGISTER_BUILDER_COMPONENT\n payload: {\n type: string\n meta: ComponentMeta\n serializedControls: Record<string, SerializedControl>\n }\n transferables?: Transferable[]\n}\n\ntype UnregisterBuilderComponentAction = {\n type: typeof BuilderActionTypes.UNREGISTER_BUILDER_COMPONENT\n payload: { type: string }\n}\n\ntype HandleHostNavigateAction = {\n type: typeof BuilderActionTypes.HANDLE_HOST_NAVIGATE\n payload: { url: string | null }\n}\n\nexport type BuilderAction =\n | SharedAction\n | MakeswiftConnectionCheckAction\n | ChangeElementBoxModelsAction\n | MountComponentAction\n | UnmountComponentAction\n | ChangeDocumentElementSizeAction\n | MessageBuilderPropControllerAction\n | HandleWheelAction\n | HandlePointerMoveAction\n | ElementFromPointChangeAction\n | SetIsInBuilderAction\n | RegisterBuilderDocumentAction\n | UnregisterBuilderDocumentAction\n | RegisterBuilderComponentAction\n | UnregisterBuilderComponentAction\n | HandleHostNavigateAction\n\nexport function makeswiftConnectionCheck(\n payload: MakeswiftConnectionCheckAction['payload'],\n): MakeswiftConnectionCheckAction {\n return { type: BuilderActionTypes.MAKESWIFT_CONNECTION_CHECK, payload }\n}\n\nexport function changeElementBoxModels(\n changedElementBoxModels: Map<string, Map<string, BoxModel | null>>,\n): ChangeElementBoxModelsAction {\n return {\n type: BuilderActionTypes.CHANGE_ELEMENT_BOX_MODELS,\n payload: { changedElementBoxModels },\n }\n}\n\nexport function mountComponent(documentKey: string, elementKey: string): MountComponentAction {\n return { type: BuilderActionTypes.MOUNT_COMPONENT, payload: { documentKey, elementKey } }\n}\n\nexport function unmountComponent(documentKey: string, elementKey: string): UnmountComponentAction {\n return { type: BuilderActionTypes.UNMOUNT_COMPONENT, payload: { documentKey, elementKey } }\n}\n\nexport function mountComponentEffect(\n documentKey: string,\n elementKey: string,\n): ThunkAction<() => void, unknown, unknown, BuilderAction> {\n return dispatch => {\n dispatch(mountComponent(documentKey, elementKey))\n\n return () => {\n dispatch(unmountComponent(documentKey, elementKey))\n }\n }\n}\n\nexport function changeDocumentElementSize(size: Size): ChangeDocumentElementSizeAction {\n return { type: BuilderActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE, payload: { size } }\n}\n\nexport function messageBuilderPropController<T>(\n documentKey: string,\n elementKey: string,\n propName: string,\n message: T,\n): MessageBuilderPropControllerAction<T> {\n return {\n type: BuilderActionTypes.MESSAGE_BUILDER_PROP_CONTROLLER,\n payload: { documentKey, elementKey, propName, message },\n }\n}\n\nexport function handleWheel(payload: { deltaX: number; deltaY: number }): HandleWheelAction {\n return { type: BuilderActionTypes.HANDLE_WHEEL, payload }\n}\n\nexport function handlePointerMove(payload: {\n clientX: number\n clientY: number\n}): HandlePointerMoveAction {\n return { type: BuilderActionTypes.HANDLE_POINTER_MOVE, payload }\n}\n\nexport function elementFromPointChange(\n keys: {\n documentKey: string\n elementKey: string\n } | null,\n): ElementFromPointChangeAction {\n return { type: BuilderActionTypes.ELEMENT_FROM_POINT_CHANGE, payload: { keys } }\n}\n\nexport function setIsInBuilder(isInBuilder: boolean): SetIsInBuilderAction {\n return { type: BuilderActionTypes.SET_IS_IN_BUILDER, payload: isInBuilder }\n}\n\nexport function registerBuilderDocument(document: Document): RegisterBuilderDocumentAction {\n return {\n type: BuilderActionTypes.REGISTER_BUILDER_DOCUMENT,\n payload: { documentKey: document.key, document },\n }\n}\n\nexport function unregisterBuilderDocument(documentKey: string): UnregisterBuilderDocumentAction {\n return { type: BuilderActionTypes.UNREGISTER_BUILDER_DOCUMENT, payload: { documentKey } }\n}\n\nexport function registerBuilderDocumentsEffect(\n documents: Document[],\n): ThunkAction<() => void, unknown, unknown, BuilderAction> {\n return dispatch => {\n documents.forEach(document => dispatch(registerBuilderDocument(document)))\n\n return () => {\n documents.forEach(document => dispatch(unregisterBuilderDocument(document.key)))\n }\n }\n}\n\nexport function registerBuilderComponent(\n payload: RegisterBuilderComponentAction['payload'],\n transferables?: Transferable[],\n): RegisterBuilderComponentAction {\n return {\n type: BuilderActionTypes.REGISTER_BUILDER_COMPONENT,\n payload,\n transferables,\n }\n}\n\nexport function unregisterBuilderComponent(\n payload: UnregisterBuilderComponentAction['payload'],\n): UnregisterBuilderComponentAction {\n return { type: BuilderActionTypes.UNREGISTER_BUILDER_COMPONENT, payload }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA,wBAA2E;AAEpE,MAAM,qBAAqB;AAAA,EAChC,GAAG;AAAA,EAEH,4BAA4B;AAAA,EAE5B,2BAA2B;AAAA,EAE3B,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EAEnB,8BAA8B;AAAA,EAC9B,iCAAiC;AAAA,EAEjC,cAAc;AAAA,EACd,qBAAqB;AAAA,EAErB,2BAA2B;AAAA,EAE3B,mBAAmB;AAAA,EAEnB,2BAA2B;AAAA,EAC3B,6BAA6B;AAAA,EAE7B,4BAA4B;AAAA,EAC5B,8BAA8B;AAAA,EAE9B,sBAAsB;AACxB;AAoGO,SAAS,yBACd,SACgC;AAChC,SAAO,EAAE,MAAM,mBAAmB,4BAA4B,QAAQ;AACxE;AAEO,SAAS,uBACd,yBAC8B;AAC9B,SAAO;AAAA,IACL,MAAM,mBAAmB;AAAA,IACzB,SAAS,EAAE,wBAAwB;AAAA,EACrC;AACF;AAEO,SAAS,eAAe,aAAqB,YAA0C;AAC5F,SAAO,EAAE,MAAM,mBAAmB,iBAAiB,SAAS,EAAE,aAAa,WAAW,EAAE;AAC1F;AAEO,SAAS,iBAAiB,aAAqB,YAA4C;AAChG,SAAO,EAAE,MAAM,mBAAmB,mBAAmB,SAAS,EAAE,aAAa,WAAW,EAAE;AAC5F;AAEO,SAAS,qBACd,aACA,YAC0D;AAC1D,SAAO,cAAY;AACjB,aAAS,eAAe,aAAa,UAAU,CAAC;AAEhD,WAAO,MAAM;AACX,eAAS,iBAAiB,aAAa,UAAU,CAAC;AAAA,IACpD;AAAA,EACF;AACF;AAEO,SAAS,0BAA0B,MAA6C;AACrF,SAAO,EAAE,MAAM,mBAAmB,8BAA8B,SAAS,EAAE,KAAK,EAAE;AACpF;AAEO,SAAS,6BACd,aACA,YACA,UACA,SACuC;AACvC,SAAO;AAAA,IACL,MAAM,mBAAmB;AAAA,IACzB,SAAS,EAAE,aAAa,YAAY,UAAU,QAAQ;AAAA,EACxD;AACF;AAEO,SAAS,YAAY,SAAgE;AAC1F,SAAO,EAAE,MAAM,mBAAmB,cAAc,QAAQ;AAC1D;AAEO,SAAS,kBAAkB,SAGN;AAC1B,SAAO,EAAE,MAAM,mBAAmB,qBAAqB,QAAQ;AACjE;AAEO,SAAS,uBACd,MAI8B;AAC9B,SAAO,EAAE,MAAM,mBAAmB,2BAA2B,SAAS,EAAE,KAAK,EAAE;AACjF;AAEO,SAAS,eAAe,aAA4C;AACzE,SAAO,EAAE,MAAM,mBAAmB,mBAAmB,SAAS,YAAY;AAC5E;AAEO,SAAS,wBAAwB,UAAmD;AACzF,SAAO;AAAA,IACL,MAAM,mBAAmB;AAAA,IACzB,SAAS,EAAE,aAAa,SAAS,KAAK,SAAS;AAAA,EACjD;AACF;AAEO,SAAS,0BAA0B,aAAsD;AAC9F,SAAO,EAAE,MAAM,mBAAmB,6BAA6B,SAAS,EAAE,YAAY,EAAE;AAC1F;AAEO,SAAS,+BACd,WAC0D;AAC1D,SAAO,cAAY;AACjB,cAAU,QAAQ,cAAY,SAAS,wBAAwB,QAAQ,CAAC,CAAC;AAEzE,WAAO,MAAM;AACX,gBAAU,QAAQ,cAAY,SAAS,0BAA0B,SAAS,GAAG,CAAC,CAAC;AAAA,IACjF;AAAA,EACF;AACF;AAEO,SAAS,yBACd,SACA,eACgC;AAChC,SAAO;AAAA,IACL,MAAM,mBAAmB;AAAA,IACzB;AAAA,IACA;AAAA,EACF;AACF;AAEO,SAAS,2BACd,SACkC;AAClC,SAAO,EAAE,MAAM,mBAAmB,8BAA8B,QAAQ;AAC1E;","names":[]}
@@ -0,0 +1,103 @@
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 host_api_exports = {};
20
+ __export(host_api_exports, {
21
+ HostActionTypes: () => HostActionTypes,
22
+ builderPointerMove: () => builderPointerMove,
23
+ changeApiResource: () => changeApiResource,
24
+ changeDocument: () => changeDocument,
25
+ changeDocumentElementScrollTop: () => changeDocumentElementScrollTop,
26
+ cleanUp: () => cleanUp,
27
+ evictApiResource: () => evictApiResource,
28
+ init: () => init,
29
+ messageHostPropController: () => messageHostPropController,
30
+ scrollDocumentElement: () => scrollDocumentElement,
31
+ setBuilderEditMode: () => setBuilderEditMode,
32
+ unregisterPropControllers: () => unregisterPropControllers
33
+ });
34
+ module.exports = __toCommonJS(host_api_exports);
35
+ const HostActionTypes = {
36
+ INIT: "INIT",
37
+ CLEAN_UP: "CLEAN_UP",
38
+ CHANGE_DOCUMENT: "CHANGE_DOCUMENT",
39
+ CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP: "CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP",
40
+ SCROLL_DOCUMENT_ELEMENT: "SCROLL_DOCUMENT_ELEMENT",
41
+ REGISTER_PROP_CONTROLLERS: "REGISTER_PROP_CONTROLLERS",
42
+ UNREGISTER_PROP_CONTROLLERS: "UNREGISTER_PROP_CONTROLLERS",
43
+ MESSAGE_HOST_PROP_CONTROLLER: "MESSAGE_HOST_PROP_CONTROLLER",
44
+ CHANGE_API_RESOURCE: "CHANGE_API_RESOURCE",
45
+ EVICT_API_RESOURCE: "EVICT_API_RESOURCE",
46
+ SET_BUILDER_EDIT_MODE: "SET_BUILDER_EDIT_MODE",
47
+ BUILDER_POINTER_MOVE: "BUILDER_POINTER_MOVE"
48
+ };
49
+ function init() {
50
+ return { type: HostActionTypes.INIT };
51
+ }
52
+ function cleanUp() {
53
+ return { type: HostActionTypes.CLEAN_UP };
54
+ }
55
+ function changeDocument(documentKey, operation) {
56
+ return { type: HostActionTypes.CHANGE_DOCUMENT, payload: { documentKey, operation } };
57
+ }
58
+ function changeDocumentElementScrollTop(scrollTop) {
59
+ return { type: HostActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP, payload: { scrollTop } };
60
+ }
61
+ function scrollDocumentElement(scrollTopDelta) {
62
+ return { type: HostActionTypes.SCROLL_DOCUMENT_ELEMENT, payload: { scrollTopDelta } };
63
+ }
64
+ function unregisterPropControllers(documentKey, elementKey) {
65
+ return { type: HostActionTypes.UNREGISTER_PROP_CONTROLLERS, payload: { documentKey, elementKey } };
66
+ }
67
+ function messageHostPropController(documentKey, elementKey, propName, message) {
68
+ return {
69
+ type: HostActionTypes.MESSAGE_HOST_PROP_CONTROLLER,
70
+ payload: { documentKey, elementKey, propName, message }
71
+ };
72
+ }
73
+ function changeApiResource(resource, locale) {
74
+ return { type: HostActionTypes.CHANGE_API_RESOURCE, payload: { resource, locale } };
75
+ }
76
+ function evictApiResource(id, locale) {
77
+ return { type: HostActionTypes.EVICT_API_RESOURCE, payload: { id, locale } };
78
+ }
79
+ function setBuilderEditMode(editMode) {
80
+ return {
81
+ type: HostActionTypes.SET_BUILDER_EDIT_MODE,
82
+ payload: { editMode }
83
+ };
84
+ }
85
+ function builderPointerMove(pointer) {
86
+ return { type: HostActionTypes.BUILDER_POINTER_MOVE, payload: { pointer } };
87
+ }
88
+ // Annotate the CommonJS export names for ESM import in node:
89
+ 0 && (module.exports = {
90
+ HostActionTypes,
91
+ builderPointerMove,
92
+ changeApiResource,
93
+ changeDocument,
94
+ changeDocumentElementScrollTop,
95
+ cleanUp,
96
+ evictApiResource,
97
+ init,
98
+ messageHostPropController,
99
+ scrollDocumentElement,
100
+ setBuilderEditMode,
101
+ unregisterPropControllers
102
+ });
103
+ //# sourceMappingURL=host-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/state/host-api.ts"],"sourcesContent":["import { type Operation } from 'ot-json0'\n\nimport { ControlInstance } from '@makeswift/controls'\n\nimport { type PropControllerMessage } from '../prop-controllers/instances'\nimport { type APIResource, APIResourceLocale } from '../api/types'\n\nimport { BuilderEditMode } from './modules/builder-edit-mode'\nimport { type Point } from './modules/pointer'\n\nexport const HostActionTypes = {\n INIT: 'INIT',\n CLEAN_UP: 'CLEAN_UP',\n\n CHANGE_DOCUMENT: 'CHANGE_DOCUMENT',\n\n CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP: 'CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP',\n SCROLL_DOCUMENT_ELEMENT: 'SCROLL_DOCUMENT_ELEMENT',\n\n REGISTER_PROP_CONTROLLERS: 'REGISTER_PROP_CONTROLLERS',\n UNREGISTER_PROP_CONTROLLERS: 'UNREGISTER_PROP_CONTROLLERS',\n MESSAGE_HOST_PROP_CONTROLLER: 'MESSAGE_HOST_PROP_CONTROLLER',\n\n CHANGE_API_RESOURCE: 'CHANGE_API_RESOURCE',\n EVICT_API_RESOURCE: 'EVICT_API_RESOURCE',\n\n SET_BUILDER_EDIT_MODE: 'SET_BUILDER_EDIT_MODE',\n\n BUILDER_POINTER_MOVE: 'BUILDER_POINTER_MOVE',\n} as const\n\ntype InitAction = { type: typeof HostActionTypes.INIT }\n\ntype CleanUpAction = { type: typeof HostActionTypes.CLEAN_UP }\n\ntype ChangeDocumentAction = {\n type: typeof HostActionTypes.CHANGE_DOCUMENT\n payload: { documentKey: string; operation: Operation }\n}\n\ntype ChangeDocumentElementScrollTopAction = {\n type: typeof HostActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP\n payload: { scrollTop: number }\n}\n\ntype ScrollDocumentElementAction = {\n type: typeof HostActionTypes.SCROLL_DOCUMENT_ELEMENT\n payload: { scrollTopDelta: number }\n}\n\ntype RegisterPropControllersAction = {\n type: typeof HostActionTypes.REGISTER_PROP_CONTROLLERS\n payload: {\n documentKey: string\n elementKey: string\n propControllers: Record<string, ControlInstance>\n }\n}\n\ntype UnregisterPropControllersAction = {\n type: typeof HostActionTypes.UNREGISTER_PROP_CONTROLLERS\n payload: { documentKey: string; elementKey: string }\n}\n\ntype MessageHostPropControllerAction<T = PropControllerMessage> = {\n type: typeof HostActionTypes.MESSAGE_HOST_PROP_CONTROLLER\n payload: { documentKey: string; elementKey: string; propName: string; message: T }\n}\n\ntype ChangeAPIResourceAction = {\n type: typeof HostActionTypes.CHANGE_API_RESOURCE\n payload: { resource: APIResource; locale?: string | null }\n}\n\ntype EvictAPIResourceAction = {\n type: typeof HostActionTypes.EVICT_API_RESOURCE\n payload: { id: string; locale?: string | null }\n}\n\ntype SetBuilderEditModeAction = {\n type: typeof HostActionTypes.SET_BUILDER_EDIT_MODE\n payload: { editMode: BuilderEditMode }\n}\n\ntype BuilderPointerMoveAction = {\n type: typeof HostActionTypes.BUILDER_POINTER_MOVE\n payload: { pointer: Point | null }\n}\n\nexport type HostAction =\n | InitAction\n | CleanUpAction\n | ChangeDocumentAction\n | ChangeDocumentElementScrollTopAction\n | ScrollDocumentElementAction\n | RegisterPropControllersAction\n | UnregisterPropControllersAction\n | MessageHostPropControllerAction\n | ChangeAPIResourceAction\n | EvictAPIResourceAction\n | SetBuilderEditModeAction\n | BuilderPointerMoveAction\n\nexport function init(): InitAction {\n return { type: HostActionTypes.INIT }\n}\n\nexport function cleanUp(): CleanUpAction {\n return { type: HostActionTypes.CLEAN_UP }\n}\n\nexport function changeDocument(documentKey: string, operation: Operation): ChangeDocumentAction {\n return { type: HostActionTypes.CHANGE_DOCUMENT, payload: { documentKey, operation } }\n}\n\nexport function changeDocumentElementScrollTop(\n scrollTop: number,\n): ChangeDocumentElementScrollTopAction {\n return { type: HostActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP, payload: { scrollTop } }\n}\n\nexport function scrollDocumentElement(scrollTopDelta: number): ScrollDocumentElementAction {\n return { type: HostActionTypes.SCROLL_DOCUMENT_ELEMENT, payload: { scrollTopDelta } }\n}\n\n\nexport function unregisterPropControllers(\n documentKey: string,\n elementKey: string,\n): UnregisterPropControllersAction {\n return { type: HostActionTypes.UNREGISTER_PROP_CONTROLLERS, payload: { documentKey, elementKey } }\n}\n\nexport function messageHostPropController<T>(\n documentKey: string,\n elementKey: string,\n propName: string,\n message: T,\n): MessageHostPropControllerAction<T> {\n return {\n type: HostActionTypes.MESSAGE_HOST_PROP_CONTROLLER,\n payload: { documentKey, elementKey, propName, message },\n }\n}\n\nexport function changeApiResource<R extends APIResource>(\n resource: R,\n locale?: APIResourceLocale<R>,\n): ChangeAPIResourceAction {\n return { type: HostActionTypes.CHANGE_API_RESOURCE, payload: { resource, locale } }\n}\n\nexport function evictApiResource(id: string, locale?: string | null): EvictAPIResourceAction {\n return { type: HostActionTypes.EVICT_API_RESOURCE, payload: { id, locale } }\n}\n\nexport function setBuilderEditMode(editMode: BuilderEditMode): SetBuilderEditModeAction {\n return {\n type: HostActionTypes.SET_BUILDER_EDIT_MODE,\n payload: { editMode },\n }\n}\n\nexport function builderPointerMove(pointer: Point | null): BuilderPointerMoveAction {\n return { type: HostActionTypes.BUILDER_POINTER_MOVE, payload: { pointer } }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUO,MAAM,kBAAkB;AAAA,EAC7B,MAAM;AAAA,EACN,UAAU;AAAA,EAEV,iBAAiB;AAAA,EAEjB,oCAAoC;AAAA,EACpC,yBAAyB;AAAA,EAEzB,2BAA2B;AAAA,EAC3B,6BAA6B;AAAA,EAC7B,8BAA8B;AAAA,EAE9B,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EAEpB,uBAAuB;AAAA,EAEvB,sBAAsB;AACxB;AA0EO,SAAS,OAAmB;AACjC,SAAO,EAAE,MAAM,gBAAgB,KAAK;AACtC;AAEO,SAAS,UAAyB;AACvC,SAAO,EAAE,MAAM,gBAAgB,SAAS;AAC1C;AAEO,SAAS,eAAe,aAAqB,WAA4C;AAC9F,SAAO,EAAE,MAAM,gBAAgB,iBAAiB,SAAS,EAAE,aAAa,UAAU,EAAE;AACtF;AAEO,SAAS,+BACd,WACsC;AACtC,SAAO,EAAE,MAAM,gBAAgB,oCAAoC,SAAS,EAAE,UAAU,EAAE;AAC5F;AAEO,SAAS,sBAAsB,gBAAqD;AACzF,SAAO,EAAE,MAAM,gBAAgB,yBAAyB,SAAS,EAAE,eAAe,EAAE;AACtF;AAGO,SAAS,0BACd,aACA,YACiC;AACjC,SAAO,EAAE,MAAM,gBAAgB,6BAA6B,SAAS,EAAE,aAAa,WAAW,EAAE;AACnG;AAEO,SAAS,0BACd,aACA,YACA,UACA,SACoC;AACpC,SAAO;AAAA,IACL,MAAM,gBAAgB;AAAA,IACtB,SAAS,EAAE,aAAa,YAAY,UAAU,QAAQ;AAAA,EACxD;AACF;AAEO,SAAS,kBACd,UACA,QACyB;AACzB,SAAO,EAAE,MAAM,gBAAgB,qBAAqB,SAAS,EAAE,UAAU,OAAO,EAAE;AACpF;AAEO,SAAS,iBAAiB,IAAY,QAAgD;AAC3F,SAAO,EAAE,MAAM,gBAAgB,oBAAoB,SAAS,EAAE,IAAI,OAAO,EAAE;AAC7E;AAEO,SAAS,mBAAmB,UAAqD;AACtF,SAAO;AAAA,IACL,MAAM,gBAAgB;AAAA,IACtB,SAAS,EAAE,SAAS;AAAA,EACtB;AACF;AAEO,SAAS,mBAAmB,SAAiD;AAClF,SAAO,EAAE,MAAM,gBAAgB,sBAAsB,SAAS,EAAE,QAAQ,EAAE;AAC5E;","names":[]}
@@ -38,6 +38,8 @@ var import_toolkit = require("@reduxjs/toolkit");
38
38
  var APIResources = __toESM(require("./modules/api-resources"));
39
39
  var LocalizedResourcesMap = __toESM(require("./modules/localized-resources-map"));
40
40
  var import_actions = require("./actions");
41
+ var import_internal = require("./actions/internal");
42
+ var import_shared_api = require("./shared-api");
41
43
  var import_toolkit2 = require("./toolkit");
42
44
  var import_api = require("../api");
43
45
  const reducer = (0, import_toolkit.combineReducers)({
@@ -124,7 +126,7 @@ function fetchAPIResource(resourceType, resourceId, fetch, locale) {
124
126
  `/api/makeswift/localized-global-elements/${resourceId}/${locale}`
125
127
  );
126
128
  dispatch(
127
- (0, import_actions.setLocalizedResourceId)({
129
+ (0, import_shared_api.setLocalizedResourceId)({
128
130
  locale,
129
131
  resourceId,
130
132
  localizedResourceId: resource?.id ?? null
@@ -145,7 +147,7 @@ function fetchAPIResource(resourceType, resourceId, fetch, locale) {
145
147
  default:
146
148
  resource = null;
147
149
  }
148
- dispatch((0, import_actions.apiResourceFulfilled)(resourceType, resourceId, resource, locale));
150
+ dispatch((0, import_internal.apiResourceFulfilled)(resourceType, resourceId, resource, locale));
149
151
  return resource;
150
152
  };
151
153
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/state/makeswift-api-client.ts"],"sourcesContent":["import {\n configureStore as configureReduxStore,\n combineReducers,\n type ThunkAction,\n type ThunkMiddleware,\n type ThunkDispatch,\n UnknownAction,\n} from '@reduxjs/toolkit'\n\nimport * as APIResources from './modules/api-resources'\nimport * as LocalizedResourcesMap from './modules/localized-resources-map'\nimport { type Action, ActionTypes, apiResourceFulfilled, setLocalizedResourceId } from './actions'\nimport { actionMiddleware, middlewareOptions, devToolsConfig } from './toolkit'\n\nimport {\n APIResourceType,\n type APIResource,\n type Swatch,\n type File,\n type Typography,\n type GlobalElement,\n type PagePathnameSlice,\n type Table,\n type LocalizedGlobalElement,\n type APIResourceLocale,\n} from '../api'\n\nconst reducer = combineReducers({\n apiResources: APIResources.reducer,\n localizedResourcesMap: LocalizedResourcesMap.reducer,\n})\n\nexport type State = ReturnType<typeof reducer>\nexport type Dispatch = ThunkDispatch<State, unknown, Action>\nexport type HttpFetch = (url: string | URL, init?: RequestInit) => Promise<Response>\n\nexport type SerializedState = {\n apiResources: APIResources.SerializedState\n localizedResourcesMap: LocalizedResourcesMap.SerializedState\n}\n\nfunction getLocalizedResourceId(\n state: State,\n locale: string,\n resourceId: string,\n): string | undefined | null {\n return LocalizedResourcesMap.getLocalizedResourceId(\n state.localizedResourcesMap,\n locale,\n resourceId,\n )\n}\n\nexport function getHasAPIResource<T extends APIResourceType>(\n state: State,\n resourceType: APIResourceType,\n resourceId: string,\n locale?: APIResourceLocale<T>,\n): boolean {\n switch (resourceType) {\n case APIResourceType.LocalizedGlobalElement:\n if (locale == null) {\n console.error(`Attempt to access ${resourceType} ${resourceId} without a locale`)\n return false\n }\n\n const localizedId = getLocalizedResourceId(state, locale, resourceId)\n return (\n localizedId != null &&\n APIResources.getHasAPIResource(state.apiResources, resourceType, localizedId, locale)\n )\n\n default:\n return APIResources.getHasAPIResource(state.apiResources, resourceType, resourceId, locale)\n }\n}\n\nexport function getAPIResource<T extends APIResourceType>(\n state: State,\n resourceType: T,\n resourceId: string,\n locale?: APIResourceLocale<T>,\n): Extract<APIResource, { __typename: T }> | null {\n switch (resourceType) {\n case APIResourceType.LocalizedGlobalElement:\n if (locale == null) {\n console.error(`Attempt to access ${resourceType} ${resourceId} without a locale`)\n return null\n }\n\n const localizedId = getLocalizedResourceId(state, locale, resourceId)\n return localizedId != null\n ? APIResources.getAPIResource(state.apiResources, resourceType, localizedId, locale)\n : null\n\n default:\n return APIResources.getAPIResource(state.apiResources, resourceType, resourceId, locale)\n }\n}\n\ntype Thunk<ReturnType> = ThunkAction<ReturnType, State, unknown, Action>\n\nexport function fetchAPIResource<T extends APIResourceType>(\n resourceType: T,\n resourceId: string,\n fetch: HttpFetch,\n locale?: APIResourceLocale<T>,\n): Thunk<Promise<Extract<APIResource, { __typename: T }> | null>> {\n const fetchJson = async <T>(url: string): Promise<T | null> => {\n const response = await fetch(url, {\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n\n if (response.status === 404) return null\n if (!response.ok) throw new Error(response.statusText)\n\n if (response.headers.get('content-type')?.includes('application/json') !== true) {\n throw new Error(\n `Expected JSON response from \"${url}\" but got \"${response.headers.get('content-type')}\"`,\n )\n }\n\n return response.json()\n }\n\n return async (dispatch, getState) => {\n const state = getState()\n\n if (getHasAPIResource(state, resourceType, resourceId, locale)) {\n return getAPIResource(state, resourceType, resourceId, locale)\n }\n\n let resource: APIResource | null\n\n switch (resourceType) {\n case APIResourceType.Swatch:\n resource = await fetchJson<Swatch>(`/api/makeswift/swatches/${resourceId}`)\n break\n\n case APIResourceType.File:\n resource = await fetchJson<File>(`/api/makeswift/files/${resourceId}`)\n break\n\n case APIResourceType.Typography:\n resource = await fetchJson<Typography>(`/api/makeswift/typographies/${resourceId}`)\n break\n\n case APIResourceType.GlobalElement:\n resource = await fetchJson<GlobalElement>(`/api/makeswift/global-elements/${resourceId}`)\n break\n\n case APIResourceType.LocalizedGlobalElement: {\n if (locale == null) throw new Error('Locale is required to fetch LocalizedGlobalElement')\n\n // If `getLocalizedResourceId` returns null, it means we have tried to fetch the resource,\n // but the resource is not available. If we haven't fetched it yet, it'll return undefined.\n if (getLocalizedResourceId(state, locale, resourceId) === null) {\n return null\n }\n\n resource = await fetchJson<LocalizedGlobalElement>(\n `/api/makeswift/localized-global-elements/${resourceId}/${locale}`,\n )\n\n dispatch(\n setLocalizedResourceId({\n locale,\n resourceId,\n localizedResourceId: resource?.id ?? null,\n }),\n )\n\n break\n }\n\n case APIResourceType.PagePathnameSlice: {\n const url = new URL(`/api/makeswift/page-pathname-slices/${resourceId}`, 'http://n')\n\n if (locale != null) url.searchParams.set('locale', locale)\n\n resource = await fetchJson<PagePathnameSlice>(url.pathname + url.search)\n break\n }\n\n case APIResourceType.Table:\n resource = await fetchJson<Table>(`/api/makeswift/tables/${resourceId}`)\n break\n\n default:\n resource = null\n }\n\n dispatch(apiResourceFulfilled(resourceType, resourceId, resource, locale))\n\n return resource as Extract<APIResource, { __typename: T }> | null\n }\n}\n\n// FIXME: this middleware can be removed once we've upgraded the builder\n// to always provide the locale when dispatching resource actions\nfunction defaultLocaleMiddleware(\n defaultLocale: string | undefined,\n): ThunkMiddleware<State, UnknownAction> {\n return actionMiddleware(() => next => {\n return (action: Action) => {\n switch (action.type) {\n case ActionTypes.CHANGE_API_RESOURCE:\n case ActionTypes.EVICT_API_RESOURCE:\n case ActionTypes.SET_LOCALIZED_RESOURCE_ID: {\n const { locale } = action.payload\n return next({\n ...action,\n payload: { ...action.payload, locale: locale ?? defaultLocale },\n } as Action)\n }\n }\n\n return next(action)\n }\n })\n}\n\nexport function configureStore({\n defaultLocale,\n serializedState,\n}: {\n defaultLocale: string | undefined\n serializedState?: SerializedState\n}) {\n return configureReduxStore({\n reducer,\n preloadedState: {\n apiResources: APIResources.getInitialState(serializedState?.apiResources),\n localizedResourcesMap: LocalizedResourcesMap.getInitialState(\n serializedState?.localizedResourcesMap,\n ),\n },\n\n middleware: getDefaultMiddleware =>\n getDefaultMiddleware(middlewareOptions).concat(defaultLocaleMiddleware(defaultLocale)),\n\n devTools: devToolsConfig({\n name: `API client store (${new Date().toISOString()})`,\n actionsDenylist: [\n ActionTypes.BUILDER_POINTER_MOVE,\n ActionTypes.HANDLE_POINTER_MOVE,\n ActionTypes.ELEMENT_FROM_POINT_CHANGE,\n ],\n }),\n })\n}\n\nexport type Store = ReturnType<typeof configureStore>\n"],"mappings":"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","names":["import_toolkit","configureReduxStore"]}
1
+ {"version":3,"sources":["../../../src/state/makeswift-api-client.ts"],"sourcesContent":["import {\n configureStore as configureReduxStore,\n combineReducers,\n type ThunkAction,\n type ThunkMiddleware,\n type ThunkDispatch,\n UnknownAction,\n} from '@reduxjs/toolkit'\n\nimport * as APIResources from './modules/api-resources'\nimport * as LocalizedResourcesMap from './modules/localized-resources-map'\nimport { type Action, ActionTypes } from './actions'\nimport { apiResourceFulfilled } from './actions/internal'\nimport { setLocalizedResourceId } from './shared-api'\nimport { actionMiddleware, middlewareOptions, devToolsConfig } from './toolkit'\n\nimport {\n APIResourceType,\n type APIResource,\n type Swatch,\n type File,\n type Typography,\n type GlobalElement,\n type PagePathnameSlice,\n type Table,\n type LocalizedGlobalElement,\n type APIResourceLocale,\n} from '../api'\n\nconst reducer = combineReducers({\n apiResources: APIResources.reducer,\n localizedResourcesMap: LocalizedResourcesMap.reducer,\n})\n\nexport type State = ReturnType<typeof reducer>\nexport type Dispatch = ThunkDispatch<State, unknown, Action>\nexport type HttpFetch = (url: string | URL, init?: RequestInit) => Promise<Response>\n\nexport type SerializedState = {\n apiResources: APIResources.SerializedState\n localizedResourcesMap: LocalizedResourcesMap.SerializedState\n}\n\nfunction getLocalizedResourceId(\n state: State,\n locale: string,\n resourceId: string,\n): string | undefined | null {\n return LocalizedResourcesMap.getLocalizedResourceId(\n state.localizedResourcesMap,\n locale,\n resourceId,\n )\n}\n\nexport function getHasAPIResource<T extends APIResourceType>(\n state: State,\n resourceType: APIResourceType,\n resourceId: string,\n locale?: APIResourceLocale<T>,\n): boolean {\n switch (resourceType) {\n case APIResourceType.LocalizedGlobalElement:\n if (locale == null) {\n console.error(`Attempt to access ${resourceType} ${resourceId} without a locale`)\n return false\n }\n\n const localizedId = getLocalizedResourceId(state, locale, resourceId)\n return (\n localizedId != null &&\n APIResources.getHasAPIResource(state.apiResources, resourceType, localizedId, locale)\n )\n\n default:\n return APIResources.getHasAPIResource(state.apiResources, resourceType, resourceId, locale)\n }\n}\n\nexport function getAPIResource<T extends APIResourceType>(\n state: State,\n resourceType: T,\n resourceId: string,\n locale?: APIResourceLocale<T>,\n): Extract<APIResource, { __typename: T }> | null {\n switch (resourceType) {\n case APIResourceType.LocalizedGlobalElement:\n if (locale == null) {\n console.error(`Attempt to access ${resourceType} ${resourceId} without a locale`)\n return null\n }\n\n const localizedId = getLocalizedResourceId(state, locale, resourceId)\n return localizedId != null\n ? APIResources.getAPIResource(state.apiResources, resourceType, localizedId, locale)\n : null\n\n default:\n return APIResources.getAPIResource(state.apiResources, resourceType, resourceId, locale)\n }\n}\n\ntype Thunk<ReturnType> = ThunkAction<ReturnType, State, unknown, Action>\n\nexport function fetchAPIResource<T extends APIResourceType>(\n resourceType: T,\n resourceId: string,\n fetch: HttpFetch,\n locale?: APIResourceLocale<T>,\n): Thunk<Promise<Extract<APIResource, { __typename: T }> | null>> {\n const fetchJson = async <T>(url: string): Promise<T | null> => {\n const response = await fetch(url, {\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n\n if (response.status === 404) return null\n if (!response.ok) throw new Error(response.statusText)\n\n if (response.headers.get('content-type')?.includes('application/json') !== true) {\n throw new Error(\n `Expected JSON response from \"${url}\" but got \"${response.headers.get('content-type')}\"`,\n )\n }\n\n return response.json()\n }\n\n return async (dispatch, getState) => {\n const state = getState()\n\n if (getHasAPIResource(state, resourceType, resourceId, locale)) {\n return getAPIResource(state, resourceType, resourceId, locale)\n }\n\n let resource: APIResource | null\n\n switch (resourceType) {\n case APIResourceType.Swatch:\n resource = await fetchJson<Swatch>(`/api/makeswift/swatches/${resourceId}`)\n break\n\n case APIResourceType.File:\n resource = await fetchJson<File>(`/api/makeswift/files/${resourceId}`)\n break\n\n case APIResourceType.Typography:\n resource = await fetchJson<Typography>(`/api/makeswift/typographies/${resourceId}`)\n break\n\n case APIResourceType.GlobalElement:\n resource = await fetchJson<GlobalElement>(`/api/makeswift/global-elements/${resourceId}`)\n break\n\n case APIResourceType.LocalizedGlobalElement: {\n if (locale == null) throw new Error('Locale is required to fetch LocalizedGlobalElement')\n\n // If `getLocalizedResourceId` returns null, it means we have tried to fetch the resource,\n // but the resource is not available. If we haven't fetched it yet, it'll return undefined.\n if (getLocalizedResourceId(state, locale, resourceId) === null) {\n return null\n }\n\n resource = await fetchJson<LocalizedGlobalElement>(\n `/api/makeswift/localized-global-elements/${resourceId}/${locale}`,\n )\n\n dispatch(\n setLocalizedResourceId({\n locale,\n resourceId,\n localizedResourceId: resource?.id ?? null,\n }),\n )\n\n break\n }\n\n case APIResourceType.PagePathnameSlice: {\n const url = new URL(`/api/makeswift/page-pathname-slices/${resourceId}`, 'http://n')\n\n if (locale != null) url.searchParams.set('locale', locale)\n\n resource = await fetchJson<PagePathnameSlice>(url.pathname + url.search)\n break\n }\n\n case APIResourceType.Table:\n resource = await fetchJson<Table>(`/api/makeswift/tables/${resourceId}`)\n break\n\n default:\n resource = null\n }\n\n dispatch(apiResourceFulfilled(resourceType, resourceId, resource, locale))\n\n return resource as Extract<APIResource, { __typename: T }> | null\n }\n}\n\n// FIXME: this middleware can be removed once we've upgraded the builder\n// to always provide the locale when dispatching resource actions\nfunction defaultLocaleMiddleware(\n defaultLocale: string | undefined,\n): ThunkMiddleware<State, UnknownAction> {\n return actionMiddleware(() => next => {\n return (action: Action) => {\n switch (action.type) {\n case ActionTypes.CHANGE_API_RESOURCE:\n case ActionTypes.EVICT_API_RESOURCE:\n case ActionTypes.SET_LOCALIZED_RESOURCE_ID: {\n const { locale } = action.payload\n return next({\n ...action,\n payload: { ...action.payload, locale: locale ?? defaultLocale },\n } as Action)\n }\n }\n\n return next(action)\n }\n })\n}\n\nexport function configureStore({\n defaultLocale,\n serializedState,\n}: {\n defaultLocale: string | undefined\n serializedState?: SerializedState\n}) {\n return configureReduxStore({\n reducer,\n preloadedState: {\n apiResources: APIResources.getInitialState(serializedState?.apiResources),\n localizedResourcesMap: LocalizedResourcesMap.getInitialState(\n serializedState?.localizedResourcesMap,\n ),\n },\n\n middleware: getDefaultMiddleware =>\n getDefaultMiddleware(middlewareOptions).concat(defaultLocaleMiddleware(defaultLocale)),\n\n devTools: devToolsConfig({\n name: `API client store (${new Date().toISOString()})`,\n actionsDenylist: [\n ActionTypes.BUILDER_POINTER_MOVE,\n ActionTypes.HANDLE_POINTER_MOVE,\n ActionTypes.ELEMENT_FROM_POINT_CHANGE,\n ],\n }),\n })\n}\n\nexport type Store = ReturnType<typeof configureStore>\n"],"mappings":"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","names":["import_toolkit","configureReduxStore"]}
@@ -57,6 +57,9 @@ var Breakpoints = __toESM(require("./modules/breakpoints"));
57
57
  var import_setup_teardown = require("./mixins/setup-teardown");
58
58
  var ReactPage = __toESM(require("./react-page"));
59
59
  var import_actions = require("./actions");
60
+ var import_builder_api = require("./builder-api");
61
+ var import_shared_api = require("./shared-api");
62
+ var import_internal = require("./actions/internal");
60
63
  var import_toolkit2 = require("./toolkit");
61
64
  var import_instances = require("../prop-controllers/instances");
62
65
  var import_builder = require("../builder");
@@ -173,7 +176,7 @@ function measureElements() {
173
176
  }
174
177
  });
175
178
  if (changedBoxModels.size > 0)
176
- dispatch((0, import_actions.changeElementBoxModels)(changedBoxModels));
179
+ dispatch((0, import_builder_api.changeElementBoxModels)(changedBoxModels));
177
180
  };
178
181
  }
179
182
  function startMeasuringElements() {
@@ -210,7 +213,7 @@ function lockDocumentScroll() {
210
213
  window.document.documentElement.removeEventListener("wheel", handleWheelEvent);
211
214
  };
212
215
  function handleWheelEvent({ deltaX, deltaY }) {
213
- dispatch((0, import_actions.handleWheel)({ deltaX, deltaY }));
216
+ dispatch((0, import_builder_api.handleWheel)({ deltaX, deltaY }));
214
217
  }
215
218
  };
216
219
  }
@@ -221,7 +224,7 @@ function startHandlingPointerMoveEvent() {
221
224
  window.document.documentElement.removeEventListener("pointermove", handlePointerMoveEvent);
222
225
  };
223
226
  function handlePointerMoveEvent({ clientX, clientY }) {
224
- dispatch((0, import_actions.handlePointerMove)({ clientX, clientY }));
227
+ dispatch((0, import_builder_api.handlePointerMove)({ clientX, clientY }));
225
228
  }
226
229
  };
227
230
  }
@@ -262,7 +265,7 @@ function startMeasuringDocumentElement() {
262
265
  const nextSize = getElementSize(window.document.documentElement);
263
266
  if (!(0, import_deepEqual.default)(lastSize, nextSize)) {
264
267
  lastSize = nextSize;
265
- dispatch((0, import_actions.changeDocumentElementSize)(nextSize));
268
+ dispatch((0, import_builder_api.changeDocumentElementSize)(nextSize));
266
269
  }
267
270
  animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest);
268
271
  }
@@ -309,7 +312,7 @@ function startPollingElementFromPoint() {
309
312
  if (elementFromPoint !== lastElementFromPoint) {
310
313
  lastElementFromPoint = elementFromPoint;
311
314
  const keys = dispatch(elementKeysFromElementFromPoint(elementFromPoint));
312
- dispatch((0, import_actions.elementFromPointChange)(keys));
315
+ dispatch((0, import_builder_api.elementFromPointChange)(keys));
313
316
  }
314
317
  animationFrameRequestId = requestAnimationFrame(handleAnimationFrameRequest);
315
318
  }
@@ -323,12 +326,12 @@ function registerBuilderComponents() {
323
326
  const descriptors = getComponentPropControllerDescriptors(state, type);
324
327
  if (descriptors != null) {
325
328
  const [serializedControls, transferables] = (0, import_builder.serializeControls)(descriptors);
326
- dispatch((0, import_actions.registerBuilderComponent)({ type, meta, serializedControls }, transferables));
329
+ dispatch((0, import_builder_api.registerBuilderComponent)({ type, meta, serializedControls }, transferables));
327
330
  }
328
331
  });
329
332
  return () => {
330
333
  componentsMeta.forEach((_, type) => {
331
- dispatch((0, import_actions.unregisterBuilderComponent)({ type }));
334
+ dispatch((0, import_builder_api.unregisterBuilderComponent)({ type }));
332
335
  });
333
336
  };
334
337
  };
@@ -337,11 +340,11 @@ function registerBuilderDocuments() {
337
340
  return (dispatch, getState) => {
338
341
  const documents = Documents.getDocuments(getDocumentsStateSlice(getState()));
339
342
  documents.forEach((document2) => {
340
- dispatch((0, import_actions.registerBuilderDocument)(document2));
343
+ dispatch((0, import_builder_api.registerBuilderDocument)(document2));
341
344
  });
342
345
  return () => {
343
346
  documents.forEach((_document, documentKey) => {
344
- dispatch((0, import_actions.unregisterBuilderDocument)(documentKey));
347
+ dispatch((0, import_builder_api.unregisterBuilderDocument)(documentKey));
345
348
  });
346
349
  };
347
350
  };
@@ -357,8 +360,8 @@ function initialize(channel) {
357
360
  const stopPollingElementFromPoint = dispatch(startPollingElementFromPoint());
358
361
  const unregisterBuilderComponents = dispatch(registerBuilderComponents());
359
362
  const breakpoints = ReactPage.getBreakpoints(getState());
360
- dispatch((0, import_actions.setBreakpoints)(breakpoints));
361
- dispatch((0, import_actions.setIsInBuilder)(true));
363
+ dispatch((0, import_shared_api.setBreakpoints)(breakpoints));
364
+ dispatch((0, import_builder_api.setIsInBuilder)(true));
362
365
  channel.dispatchBuffered();
363
366
  return () => {
364
367
  unregisterBuilderDocuments();
@@ -369,7 +372,7 @@ function initialize(channel) {
369
372
  stopHandlingPointerMoveEvent();
370
373
  stopPollingElementFromPoint();
371
374
  unregisterBuilderComponents();
372
- dispatch((0, import_actions.setIsInBuilder)(false));
375
+ dispatch((0, import_builder_api.setIsInBuilder)(false));
373
376
  };
374
377
  };
375
378
  }
@@ -380,7 +383,7 @@ function measureBoxModelsMiddleware() {
380
383
  case import_actions.ActionTypes.REGISTER_COMPONENT_HANDLE: {
381
384
  if (BoxModels.isMeasurable(action.payload.componentHandle)) {
382
385
  dispatch(
383
- (0, import_actions.registerMeasurable)(
386
+ (0, import_internal.registerMeasurable)(
384
387
  action.payload.documentKey,
385
388
  action.payload.elementKey,
386
389
  action.payload.componentHandle
@@ -390,7 +393,7 @@ function measureBoxModelsMiddleware() {
390
393
  break;
391
394
  }
392
395
  case import_actions.ActionTypes.UNREGISTER_COMPONENT_HANDLE:
393
- dispatch((0, import_actions.unregisterMeasurable)(action.payload.documentKey, action.payload.elementKey));
396
+ dispatch((0, import_internal.unregisterMeasurable)(action.payload.documentKey, action.payload.elementKey));
394
397
  break;
395
398
  }
396
399
  return next(action);
@@ -461,13 +464,13 @@ function createAndRegisterPropControllers(documentKey, elementKey) {
461
464
  (acc, [propName, descriptor]) => {
462
465
  const propController = (0, import_instances.createPropController)(
463
466
  descriptor,
464
- (message) => dispatch((0, import_actions.messageBuilderPropController)(documentKey, elementKey, propName, message))
467
+ (message) => dispatch((0, import_builder_api.messageBuilderPropController)(documentKey, elementKey, propName, message))
465
468
  );
466
469
  return { ...acc, [propName]: propController };
467
470
  },
468
471
  {}
469
472
  );
470
- dispatch((0, import_actions.registerPropControllers)(documentKey, elementKey, propControllers));
473
+ dispatch((0, import_internal.registerPropControllers)(documentKey, elementKey, propControllers));
471
474
  return propControllers;
472
475
  };
473
476
  }
@@ -482,7 +485,7 @@ function propControllerHandlesMiddleware() {
482
485
  createAndRegisterPropControllers(documentKey, elementKey)
483
486
  );
484
487
  if (element != null && !ReactPage.isElementReference(element) && PropControllerHandles.isPropControllersHandle(componentHandle)) {
485
- dispatch((0, import_actions.registerPropControllersHandle)(documentKey, elementKey, componentHandle));
488
+ dispatch((0, import_internal.registerPropControllersHandle)(documentKey, elementKey, componentHandle));
486
489
  componentHandle.setPropControllers(propControllers);
487
490
  }
488
491
  break;
@@ -495,7 +498,7 @@ function propControllerHandlesMiddleware() {
495
498
  elementKey
496
499
  );
497
500
  handle?.setPropControllers(null);
498
- dispatch((0, import_actions.unregisterPropControllers)(documentKey, elementKey));
501
+ dispatch((0, import_internal.unregisterPropControllers)(documentKey, elementKey));
499
502
  break;
500
503
  }
501
504
  case import_actions.ActionTypes.MESSAGE_HOST_PROP_CONTROLLER: {