@makeswift/runtime 0.0.0-90660eb → 0.0.0-98e16f9

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 (201) hide show
  1. package/box-model.js +1 -0
  2. package/components.js +1 -0
  3. package/dist/actions.cjs.js +66 -16
  4. package/dist/actions.cjs.js.map +1 -1
  5. package/dist/actions.es.js +61 -16
  6. package/dist/actions.es.js.map +1 -1
  7. package/dist/box-models.cjs.js +24 -14
  8. package/dist/box-models.cjs.js.map +1 -1
  9. package/dist/box-models.es.js +24 -14
  10. package/dist/box-models.es.js.map +1 -1
  11. package/dist/components.cjs.js +11668 -8326
  12. package/dist/components.cjs.js.map +1 -1
  13. package/dist/components.es.js +7114 -3784
  14. package/dist/components.es.js.map +1 -1
  15. package/dist/deepEqual.cjs.js +40 -0
  16. package/dist/deepEqual.cjs.js.map +1 -0
  17. package/dist/deepEqual.es.js +39 -0
  18. package/dist/deepEqual.es.js.map +1 -0
  19. package/dist/immutable.es.cjs.js +4459 -0
  20. package/dist/immutable.es.cjs.js.map +1 -0
  21. package/dist/immutable.es.es.js +4450 -0
  22. package/dist/immutable.es.es.js.map +1 -0
  23. package/dist/react-builder-preview.cjs.js +187 -29
  24. package/dist/react-builder-preview.cjs.js.map +1 -1
  25. package/dist/react-builder-preview.es.js +195 -37
  26. package/dist/react-builder-preview.es.js.map +1 -1
  27. package/dist/react.cjs2.js +21 -6
  28. package/dist/react.cjs2.js.map +1 -1
  29. package/dist/react.es2.js +23 -9
  30. package/dist/react.es2.js.map +1 -1
  31. package/dist/shallowEqual.cjs.js +24 -0
  32. package/dist/shallowEqual.cjs.js.map +1 -0
  33. package/dist/shallowEqual.es.js +23 -0
  34. package/dist/shallowEqual.es.js.map +1 -0
  35. package/dist/types/components/BackgroundsContainer/components/Parallax/index.d.ts.map +1 -1
  36. package/dist/types/components/Box/Box.d.ts.map +1 -1
  37. package/dist/types/components/RichText/index.d.ts +5 -0
  38. package/dist/types/components/RichText/index.d.ts.map +1 -0
  39. package/dist/types/components/builtin/Box/Box.d.ts +30 -0
  40. package/dist/types/components/builtin/Box/Box.d.ts.map +1 -0
  41. package/dist/types/components/builtin/Box/animations.d.ts +69 -0
  42. package/dist/types/components/builtin/Box/animations.d.ts.map +1 -0
  43. package/dist/types/components/builtin/Box/components/Placeholder/index.d.ts +7 -0
  44. package/dist/types/components/builtin/Box/components/Placeholder/index.d.ts.map +1 -0
  45. package/dist/types/components/builtin/Box/index.d.ts +3 -0
  46. package/dist/types/components/builtin/Box/index.d.ts.map +1 -0
  47. package/dist/types/components/builtin/Button/Button.d.ts +115 -0
  48. package/dist/types/components/builtin/Button/Button.d.ts.map +1 -0
  49. package/dist/types/components/builtin/Button/index.d.ts +2 -0
  50. package/dist/types/components/builtin/Button/index.d.ts.map +1 -0
  51. package/dist/types/components/builtin/Carousel/Carousel.d.ts +25 -0
  52. package/dist/types/components/builtin/Carousel/Carousel.d.ts.map +1 -0
  53. package/dist/types/components/builtin/Carousel/index.d.ts +2 -0
  54. package/dist/types/components/builtin/Carousel/index.d.ts.map +1 -0
  55. package/dist/types/components/builtin/Countdown/Countdown.d.ts +24 -0
  56. package/dist/types/components/builtin/Countdown/Countdown.d.ts.map +1 -0
  57. package/dist/types/components/builtin/Countdown/index.d.ts +2 -0
  58. package/dist/types/components/builtin/Countdown/index.d.ts.map +1 -0
  59. package/dist/types/components/builtin/Divider/Divider.d.ts +14 -0
  60. package/dist/types/components/builtin/Divider/Divider.d.ts.map +1 -0
  61. package/dist/types/components/builtin/Divider/index.d.ts +2 -0
  62. package/dist/types/components/builtin/Divider/index.d.ts.map +1 -0
  63. package/dist/types/components/builtin/Embed/Embed.d.ts +11 -0
  64. package/dist/types/components/builtin/Embed/Embed.d.ts.map +1 -0
  65. package/dist/types/components/builtin/Embed/index.d.ts +2 -0
  66. package/dist/types/components/builtin/Embed/index.d.ts.map +1 -0
  67. package/dist/types/components/builtin/Image/Image.d.ts +26 -0
  68. package/dist/types/components/builtin/Image/Image.d.ts.map +1 -0
  69. package/dist/types/components/builtin/Image/index.d.ts +2 -0
  70. package/dist/types/components/builtin/Image/index.d.ts.map +1 -0
  71. package/dist/types/components/builtin/Navigation/Navigation.d.ts +23 -0
  72. package/dist/types/components/builtin/Navigation/Navigation.d.ts.map +1 -0
  73. package/dist/types/components/builtin/Navigation/components/DropDownButton/index.d.ts +100 -0
  74. package/dist/types/components/builtin/Navigation/components/DropDownButton/index.d.ts.map +1 -0
  75. package/dist/types/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts +8 -0
  76. package/dist/types/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts.map +1 -0
  77. package/dist/types/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.d.ts +101 -0
  78. package/dist/types/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.d.ts.map +1 -0
  79. package/dist/types/components/builtin/Navigation/components/MobileMenu/index.d.ts +13 -0
  80. package/dist/types/components/builtin/Navigation/components/MobileMenu/index.d.ts.map +1 -0
  81. package/dist/types/components/builtin/Navigation/index.d.ts +2 -0
  82. package/dist/types/components/builtin/Navigation/index.d.ts.map +1 -0
  83. package/dist/types/components/builtin/Root/Root.d.ts +11 -0
  84. package/dist/types/components/builtin/Root/Root.d.ts.map +1 -0
  85. package/dist/types/components/builtin/Root/components/Placeholder/index.d.ts +5 -0
  86. package/dist/types/components/builtin/Root/components/Placeholder/index.d.ts.map +1 -0
  87. package/dist/types/components/builtin/Root/index.d.ts +2 -0
  88. package/dist/types/components/builtin/Root/index.d.ts.map +1 -0
  89. package/dist/types/components/builtin/SocialLinks/SocialLinks.d.ts +18 -0
  90. package/dist/types/components/builtin/SocialLinks/SocialLinks.d.ts.map +1 -0
  91. package/dist/types/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts +8 -0
  92. package/dist/types/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts.map +1 -0
  93. package/dist/types/components/builtin/SocialLinks/index.d.ts +2 -0
  94. package/dist/types/components/builtin/SocialLinks/index.d.ts.map +1 -0
  95. package/dist/types/components/builtin/SocialLinks/options.d.ts +113 -0
  96. package/dist/types/components/builtin/SocialLinks/options.d.ts.map +1 -0
  97. package/dist/types/components/builtin/Text/Text.d.ts +13 -0
  98. package/dist/types/components/builtin/Text/Text.d.ts.map +1 -0
  99. package/dist/types/components/builtin/Text/components/RichTextEditor/components/Block/index.d.ts +24 -0
  100. package/dist/types/components/builtin/Text/components/RichTextEditor/components/Block/index.d.ts.map +1 -0
  101. package/dist/types/components/builtin/Text/components/RichTextEditor/components/Link/index.d.ts +9 -0
  102. package/dist/types/components/builtin/Text/components/RichTextEditor/components/Link/index.d.ts.map +1 -0
  103. package/dist/types/components/builtin/Text/components/RichTextEditor/components/Mark/hooks/useTypographyMark.d.ts +25 -0
  104. package/dist/types/components/builtin/Text/components/RichTextEditor/components/Mark/hooks/useTypographyMark.d.ts.map +1 -0
  105. package/dist/types/components/builtin/Text/components/RichTextEditor/components/Mark/index.d.ts +13 -0
  106. package/dist/types/components/builtin/Text/components/RichTextEditor/components/Mark/index.d.ts.map +1 -0
  107. package/dist/types/components/builtin/Text/components/RichTextEditor/index.d.ts +5 -0
  108. package/dist/types/components/builtin/Text/components/RichTextEditor/index.d.ts.map +1 -0
  109. package/dist/types/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesBlocks.d.ts +3 -0
  110. package/dist/types/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesBlocks.d.ts.map +1 -0
  111. package/dist/types/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesMarks.d.ts +3 -0
  112. package/dist/types/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesMarks.d.ts.map +1 -0
  113. package/dist/types/components/builtin/Text/components/RichTextEditor/plugins/Inlines.d.ts +3 -0
  114. package/dist/types/components/builtin/Text/components/RichTextEditor/plugins/Inlines.d.ts.map +1 -0
  115. package/dist/types/components/builtin/Text/components/RichTextEditor/plugins/Link.d.ts +3 -0
  116. package/dist/types/components/builtin/Text/components/RichTextEditor/plugins/Link.d.ts.map +1 -0
  117. package/dist/types/components/builtin/Text/hooks/useRichText.d.ts +1 -0
  118. package/dist/types/components/builtin/Text/hooks/useRichText.d.ts.map +1 -0
  119. package/dist/types/components/builtin/Text/index.d.ts +2 -0
  120. package/dist/types/components/builtin/Text/index.d.ts.map +1 -0
  121. package/dist/types/components/builtin/Text/prop-controllers.d.ts +286 -0
  122. package/dist/types/components/builtin/Text/prop-controllers.d.ts.map +1 -0
  123. package/dist/types/components/builtin/index.d.ts +12 -0
  124. package/dist/types/components/builtin/index.d.ts.map +1 -0
  125. package/dist/types/components/hooks/useRichText.d.ts +18 -0
  126. package/dist/types/components/hooks/useRichText.d.ts.map +1 -0
  127. package/dist/types/components/hooks/useTypography.d.ts +24 -0
  128. package/dist/types/components/hooks/useTypography.d.ts.map +1 -0
  129. package/dist/types/components/index.d.ts +2 -8
  130. package/dist/types/components/index.d.ts.map +1 -1
  131. package/dist/types/components/shared/BackgroundsContainer/components/BackgroundVideo/index.d.ts +11 -0
  132. package/dist/types/components/shared/BackgroundsContainer/components/BackgroundVideo/index.d.ts.map +1 -0
  133. package/dist/types/components/shared/BackgroundsContainer/components/Backgrounds/index.d.ts +8 -0
  134. package/dist/types/components/shared/BackgroundsContainer/components/Backgrounds/index.d.ts.map +1 -0
  135. package/dist/types/components/shared/BackgroundsContainer/components/Parallax/index.d.ts +11 -0
  136. package/dist/types/components/shared/BackgroundsContainer/components/Parallax/index.d.ts.map +1 -0
  137. package/dist/types/components/shared/BackgroundsContainer/index.d.ts +11 -0
  138. package/dist/types/components/shared/BackgroundsContainer/index.d.ts.map +1 -0
  139. package/dist/types/components/shared/GutterContainer/index.d.ts +8 -0
  140. package/dist/types/components/shared/GutterContainer/index.d.ts.map +1 -0
  141. package/dist/types/components/shared/Link/index.d.ts +9 -0
  142. package/dist/types/components/shared/Link/index.d.ts.map +1 -0
  143. package/dist/types/components/shared/RichTextEditor/components/Block/index.d.ts +24 -0
  144. package/dist/types/components/shared/RichTextEditor/components/Block/index.d.ts.map +1 -0
  145. package/dist/types/components/shared/RichTextEditor/components/Link/index.d.ts +9 -0
  146. package/dist/types/components/shared/RichTextEditor/components/Link/index.d.ts.map +1 -0
  147. package/dist/types/components/shared/RichTextEditor/components/Mark/hooks/useTypographyMark.d.ts +23 -0
  148. package/dist/types/components/shared/RichTextEditor/components/Mark/hooks/useTypographyMark.d.ts.map +1 -0
  149. package/dist/types/components/shared/RichTextEditor/components/Mark/index.d.ts +13 -0
  150. package/dist/types/components/shared/RichTextEditor/components/Mark/index.d.ts.map +1 -0
  151. package/dist/types/components/shared/RichTextEditor/index.d.ts +5 -0
  152. package/dist/types/components/shared/RichTextEditor/index.d.ts.map +1 -0
  153. package/dist/types/components/shared/RichTextEditor/plugins/DeviceOverridesBlocks.d.ts +3 -0
  154. package/dist/types/components/shared/RichTextEditor/plugins/DeviceOverridesBlocks.d.ts.map +1 -0
  155. package/dist/types/components/shared/RichTextEditor/plugins/DeviceOverridesMarks.d.ts +3 -0
  156. package/dist/types/components/shared/RichTextEditor/plugins/DeviceOverridesMarks.d.ts.map +1 -0
  157. package/dist/types/components/shared/RichTextEditor/plugins/Inlines.d.ts +3 -0
  158. package/dist/types/components/shared/RichTextEditor/plugins/Inlines.d.ts.map +1 -0
  159. package/dist/types/components/shared/RichTextEditor/plugins/Link.d.ts +3 -0
  160. package/dist/types/components/shared/RichTextEditor/plugins/Link.d.ts.map +1 -0
  161. package/dist/types/components/utils/contants.d.ts +5 -0
  162. package/dist/types/components/utils/contants.d.ts.map +1 -0
  163. package/dist/types/components/utils/cssMediaRules.d.ts +11 -1
  164. package/dist/types/components/utils/cssMediaRules.d.ts.map +1 -1
  165. package/dist/types/components/utils/intersection.d.ts +4 -0
  166. package/dist/types/components/utils/intersection.d.ts.map +1 -0
  167. package/dist/types/components/utils/keys.d.ts +5 -0
  168. package/dist/types/components/utils/keys.d.ts.map +1 -0
  169. package/dist/types/components/utils/placeholders.d.ts.map +1 -1
  170. package/dist/types/components/utils/queries.d.ts +4 -4
  171. package/dist/types/components/utils/queries.d.ts.map +1 -1
  172. package/dist/types/index.d.ts +1 -0
  173. package/dist/types/index.d.ts.map +1 -1
  174. package/dist/types/prop-controllers/instances.d.ts +10 -0
  175. package/dist/types/prop-controllers/instances.d.ts.map +1 -0
  176. package/dist/types/runtimes/react.d.ts.map +1 -1
  177. package/dist/types/state/actions.d.ts +88 -13
  178. package/dist/types/state/actions.d.ts.map +1 -1
  179. package/dist/types/state/modules/box-models.d.ts +5 -5
  180. package/dist/types/state/modules/box-models.d.ts.map +1 -1
  181. package/dist/types/state/modules/prop-controller-handles.d.ts +20 -0
  182. package/dist/types/state/modules/prop-controller-handles.d.ts.map +1 -0
  183. package/dist/types/state/react-builder-preview.d.ts +2 -0
  184. package/dist/types/state/react-builder-preview.d.ts.map +1 -1
  185. package/dist/types/state/react-page.d.ts +1 -0
  186. package/dist/types/state/react-page.d.ts.map +1 -1
  187. package/dist/types/utils/coalesce.d.ts +3 -0
  188. package/dist/types/utils/coalesce.d.ts.map +1 -0
  189. package/dist/types/utils/constants.d.ts +6 -0
  190. package/dist/types/utils/constants.d.ts.map +1 -0
  191. package/dist/types/utils/deepEqual.d.ts.map +1 -1
  192. package/dist/types/utils/intersection.d.ts +4 -0
  193. package/dist/types/utils/intersection.d.ts.map +1 -0
  194. package/dist/types/utils/keys.d.ts +5 -0
  195. package/dist/types/utils/keys.d.ts.map +1 -0
  196. package/dist/types/utils/shallowEqual.d.ts.map +1 -1
  197. package/dist/types/utils/shallowMerge.d.ts +2 -0
  198. package/dist/types/utils/shallowMerge.d.ts.map +1 -0
  199. package/package.json +12 -3
  200. package/prop-controllers.js +1 -0
  201. package/react.js +1 -0
@@ -1,4 +1,27 @@
1
1
  "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
5
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
8
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
+ var __spreadValues = (a, b) => {
10
+ for (var prop in b || (b = {}))
11
+ if (__hasOwnProp.call(b, prop))
12
+ __defNormalProp(a, prop, b[prop]);
13
+ if (__getOwnPropSymbols)
14
+ for (var prop of __getOwnPropSymbols(b)) {
15
+ if (__propIsEnum.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ }
18
+ return a;
19
+ };
20
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
21
+ var __publicField = (obj, key, value) => {
22
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
23
+ return value;
24
+ };
2
25
  exports[Symbol.toStringTag] = "Module";
3
26
  var react = require("./react.cjs2.js");
4
27
  var actions = require("./actions.cjs.js");
@@ -4104,7 +4127,7 @@ function apply(data, operation) {
4104
4127
  });
4105
4128
  return applied;
4106
4129
  }
4107
- function getInitialState({
4130
+ function getInitialState$1({
4108
4131
  rootElements
4109
4132
  } = {}) {
4110
4133
  return react.getInitialState({ rootElements });
@@ -4115,7 +4138,7 @@ function getReadOnlyDocumentsStateSlice(state) {
4115
4138
  function getDocumentRootElement(state, documentKey) {
4116
4139
  return react.getDocumentRootElement(getReadOnlyDocumentsStateSlice(state), documentKey);
4117
4140
  }
4118
- function reducer$1(state = getInitialState(), action) {
4141
+ function reducer$2(state = getInitialState$1(), action) {
4119
4142
  switch (action.type) {
4120
4143
  case actions.ActionTypes.CHANGE_DOCUMENT: {
4121
4144
  const currentRootElement = getDocumentRootElement(state, action.payload.documentKey);
@@ -4128,12 +4151,77 @@ function reducer$1(state = getInitialState(), action) {
4128
4151
  return state;
4129
4152
  }
4130
4153
  }
4154
+ function isPropControllersHandle(value) {
4155
+ if (typeof value === "object" && value !== null && "setPropControllers" in value && typeof value.setPropControllers === "function") {
4156
+ return true;
4157
+ }
4158
+ return false;
4159
+ }
4160
+ function getInitialState() {
4161
+ return { handles: /* @__PURE__ */ new Map(), instances: /* @__PURE__ */ new Map() };
4162
+ }
4163
+ function getPropControllersHandle(state, documentKey, elementKey) {
4164
+ var _a, _b;
4165
+ return (_b = (_a = state.handles.get(documentKey)) == null ? void 0 : _a.get(elementKey)) != null ? _b : null;
4166
+ }
4167
+ function getPropController(state, documentKey, elementKey, propName) {
4168
+ var _a, _b, _c;
4169
+ return (_c = (_b = (_a = state.instances.get(documentKey)) == null ? void 0 : _a.get(elementKey)) == null ? void 0 : _b[propName]) != null ? _c : null;
4170
+ }
4171
+ function reducer$1(state = getInitialState(), action) {
4172
+ var _a, _b, _c, _d;
4173
+ switch (action.type) {
4174
+ case actions.ActionTypes.REGISTER_PROP_CONTROLLERS_HANDLE: {
4175
+ const { documentKey, elementKey, handle } = action.payload;
4176
+ return __spreadProps(__spreadValues({}, state), {
4177
+ handles: new Map(state.handles).set(documentKey, new Map((_a = state.handles.get(documentKey)) != null ? _a : []).set(elementKey, handle))
4178
+ });
4179
+ }
4180
+ case actions.ActionTypes.UNREGISTER_PROP_CONTROLLERS_HANDLE: {
4181
+ const { documentKey, elementKey } = action.payload;
4182
+ const nextHandles = new Map((_b = state.handles.get(documentKey)) != null ? _b : []);
4183
+ const deleted = nextHandles.delete(elementKey);
4184
+ return deleted ? __spreadProps(__spreadValues({}, state), { handles: new Map(state.handles).set(documentKey, nextHandles) }) : state;
4185
+ }
4186
+ case actions.ActionTypes.REGISTER_PROP_CONTROLLERS: {
4187
+ const { documentKey, elementKey, propControllers } = action.payload;
4188
+ return __spreadProps(__spreadValues({}, state), {
4189
+ instances: new Map(state.instances).set(documentKey, new Map((_c = state.instances.get(documentKey)) != null ? _c : []).set(elementKey, propControllers))
4190
+ });
4191
+ }
4192
+ case actions.ActionTypes.UNREGISTER_PROP_CONTROLLERS: {
4193
+ const { documentKey, elementKey } = action.payload;
4194
+ const nextInstances = new Map((_d = state.instances.get(documentKey)) != null ? _d : []);
4195
+ const deleted = nextInstances.delete(elementKey);
4196
+ return deleted ? __spreadProps(__spreadValues({}, state), { instances: new Map(state.instances).set(documentKey, nextInstances) }) : state;
4197
+ }
4198
+ default:
4199
+ return state;
4200
+ }
4201
+ }
4202
+ class PropController {
4203
+ constructor(send) {
4204
+ __publicField(this, "send");
4205
+ this.send = send;
4206
+ }
4207
+ }
4208
+ class DefaultPropController extends PropController {
4209
+ recv() {
4210
+ }
4211
+ }
4212
+ function createPropController(descriptor, send) {
4213
+ switch (descriptor.type) {
4214
+ default:
4215
+ return new DefaultPropController(send);
4216
+ }
4217
+ }
4131
4218
  const reducer = react.combineReducers({
4132
- documents: reducer$1,
4219
+ documents: reducer$2,
4133
4220
  reactComponents: react.reducer,
4134
4221
  boxModels: boxModels.reducer,
4135
4222
  componentsMeta: react.reducer$1,
4136
4223
  propControllers: react.reducer$2,
4224
+ propControllerHandles: reducer$1,
4137
4225
  isInBuilder: (state = true, _action) => state
4138
4226
  });
4139
4227
  function getBoxModelsStateSlice(state) {
@@ -4145,8 +4233,8 @@ function getMeasurables(state) {
4145
4233
  function getBoxModels(state) {
4146
4234
  return boxModels.getBoxModels(getBoxModelsStateSlice(state));
4147
4235
  }
4148
- function getBoxModel(state, elementKey) {
4149
- return boxModels.getBoxModel(getBoxModelsStateSlice(state), elementKey);
4236
+ function getBoxModel(state, documentKey, elementKey) {
4237
+ return boxModels.getBoxModel(getBoxModelsStateSlice(state), documentKey, elementKey);
4150
4238
  }
4151
4239
  function getComponentsMetaStateSlice(state) {
4152
4240
  return state.componentsMeta;
@@ -4160,31 +4248,52 @@ function getPropControllersStateSlice(state) {
4160
4248
  function getComponentPropControllerDescriptors(state, componentType) {
4161
4249
  return react.getComponentPropControllerDescriptors(getPropControllersStateSlice(state), componentType);
4162
4250
  }
4251
+ function getPropControllerHandlesStateSlice(state) {
4252
+ return state.propControllerHandles;
4253
+ }
4163
4254
  function measureElements() {
4164
4255
  return (dispatch, getState) => {
4165
4256
  const measurables = getMeasurables(getState());
4166
4257
  const currentBoxModels = getBoxModels(getState());
4167
- const measuredBoxModels = new Map(Array.from(measurables.entries()).map(([elementKey, measurable]) => {
4168
- const boxModel = boxModels.measure(measurable);
4169
- return boxModel ? [elementKey, boxModel] : null;
4170
- }).filter((entry) => entry != null));
4258
+ const measuredBoxModels = /* @__PURE__ */ new Map();
4259
+ measurables.forEach((documentMeasurables, documentKey) => {
4260
+ const measuredDocumentBoxModels = /* @__PURE__ */ new Map();
4261
+ documentMeasurables.forEach((measurable, elementKey) => {
4262
+ const boxModel = boxModels.measure(measurable);
4263
+ if (boxModel != null)
4264
+ measuredDocumentBoxModels.set(elementKey, boxModel);
4265
+ });
4266
+ if (measuredDocumentBoxModels.size > 0) {
4267
+ measuredBoxModels.set(documentKey, measuredDocumentBoxModels);
4268
+ }
4269
+ });
4171
4270
  const changedBoxModels = /* @__PURE__ */ new Map();
4172
- currentBoxModels.forEach((_boxModel, elementKey) => {
4173
- if (!measuredBoxModels.has(elementKey))
4174
- changedBoxModels.set(elementKey, null);
4271
+ currentBoxModels.forEach((currentDocumentBoxModels, documentKey) => {
4272
+ currentDocumentBoxModels.forEach((_boxModel, elementKey) => {
4273
+ var _a;
4274
+ const changedDocumentBoxModels = /* @__PURE__ */ new Map();
4275
+ if (!((_a = measuredBoxModels.get(documentKey)) == null ? void 0 : _a.has(elementKey))) {
4276
+ changedDocumentBoxModels.set(elementKey, null);
4277
+ }
4278
+ if (changedDocumentBoxModels.size > 0) {
4279
+ changedBoxModels.set(documentKey, changedDocumentBoxModels);
4280
+ }
4281
+ });
4175
4282
  });
4176
- measuredBoxModels.forEach((measuredBoxModel, elementKey) => {
4177
- const currentBoxModel = getBoxModel(getState(), elementKey);
4178
- if (currentBoxModel == null || !deepEqual$1(currentBoxModel, measuredBoxModel)) {
4179
- changedBoxModels.set(elementKey, measuredBoxModel);
4283
+ measuredBoxModels.forEach((measuredDocumentBoxModels, documentKey) => {
4284
+ const changedDocumentBoxModels = /* @__PURE__ */ new Map();
4285
+ measuredDocumentBoxModels.forEach((measuredBoxModel, elementKey) => {
4286
+ const currentBoxModel = getBoxModel(getState(), documentKey, elementKey);
4287
+ if (currentBoxModel == null || !deepEqual$1(currentBoxModel, measuredBoxModel)) {
4288
+ changedDocumentBoxModels.set(elementKey, measuredBoxModel);
4289
+ }
4290
+ });
4291
+ if (changedDocumentBoxModels.size > 0) {
4292
+ changedBoxModels.set(documentKey, changedDocumentBoxModels);
4180
4293
  }
4181
4294
  });
4182
- if (changedBoxModels.size > 0) {
4183
- dispatch({
4184
- type: actions.ActionTypes.CHANGE_ELEMENT_BOX_MODELS,
4185
- payload: { changedElementBoxModels: changedBoxModels }
4186
- });
4187
- }
4295
+ if (changedBoxModels.size > 0)
4296
+ dispatch(actions.changeElementBoxModels(changedBoxModels));
4188
4297
  };
4189
4298
  }
4190
4299
  function startMeasuringElements() {
@@ -4242,16 +4351,14 @@ function measureBoxModelsMiddleware() {
4242
4351
  return ({ dispatch }) => (next) => {
4243
4352
  return (action) => {
4244
4353
  switch (action.type) {
4245
- case actions.ActionTypes.CHANGE_COMPONENT_HANDLE: {
4354
+ case actions.ActionTypes.REGISTER_COMPONENT_HANDLE: {
4246
4355
  if (boxModels.isMeasurable(action.payload.componentHandle)) {
4247
- dispatch(actions.registerMeasurable(action.payload.elementKey, action.payload.componentHandle));
4248
- } else {
4249
- dispatch(actions.unregisterMeasurable(action.payload.elementKey));
4356
+ dispatch(actions.registerMeasurable(action.payload.documentKey, action.payload.elementKey, action.payload.componentHandle));
4250
4357
  }
4251
4358
  break;
4252
4359
  }
4253
- case actions.ActionTypes.UNMOUNT_COMPONENT:
4254
- dispatch(actions.unregisterMeasurable(action.payload.elementKey));
4360
+ case actions.ActionTypes.UNREGISTER_COMPONENT_HANDLE:
4361
+ dispatch(actions.unregisterMeasurable(action.payload.documentKey, action.payload.elementKey));
4255
4362
  break;
4256
4363
  }
4257
4364
  return next(action);
@@ -4279,6 +4386,7 @@ function messageChannelMiddleware() {
4279
4386
  case actions.ActionTypes.REGISTER_COMPONENT:
4280
4387
  case actions.ActionTypes.UNREGISTER_COMPONENT:
4281
4388
  case actions.ActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE:
4389
+ case actions.ActionTypes.MESSAGE_BUILDER_PROP_CONTROLLER:
4282
4390
  messageChannel.port1.postMessage(action);
4283
4391
  break;
4284
4392
  case actions.ActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP:
@@ -4289,10 +4397,60 @@ function messageChannelMiddleware() {
4289
4397
  };
4290
4398
  };
4291
4399
  }
4400
+ function createAndRegisterPropControllers(documentKey, elementKey) {
4401
+ return (dispatch, getState) => {
4402
+ const descriptors = react.getElementPropControllerDescriptors(getState(), documentKey, elementKey);
4403
+ if (descriptors == null)
4404
+ return null;
4405
+ const propControllers = Object.entries(descriptors).reduce((acc, [propName, descriptor]) => {
4406
+ const propController = createPropController(descriptor, (message) => dispatch(actions.messageBuilderPropController(documentKey, elementKey, propName, message)));
4407
+ return __spreadProps(__spreadValues({}, acc), { [propName]: propController });
4408
+ }, {});
4409
+ dispatch(actions.registerPropControllers(documentKey, elementKey, propControllers));
4410
+ return propControllers;
4411
+ };
4412
+ }
4413
+ function registerAndSetPropControllersHandle(documentKey, elementKey, handle) {
4414
+ return (dispatch) => {
4415
+ dispatch(actions.registerPropControllersHandle(documentKey, elementKey, handle));
4416
+ const propControllers = dispatch(createAndRegisterPropControllers(documentKey, elementKey));
4417
+ handle.setPropControllers(propControllers);
4418
+ };
4419
+ }
4420
+ function unregisterAndUnsetPropControllersHandle(documentKey, elementKey) {
4421
+ return (dispatch, getState) => {
4422
+ const handle = getPropControllersHandle(getPropControllerHandlesStateSlice(getState()), documentKey, elementKey);
4423
+ handle == null ? void 0 : handle.setPropControllers(null);
4424
+ dispatch(actions.unregisterPropControllers(documentKey, elementKey));
4425
+ };
4426
+ }
4427
+ function propControllerHandlesMiddleware() {
4428
+ return ({ dispatch, getState }) => (next) => {
4429
+ return (action) => {
4430
+ switch (action.type) {
4431
+ case actions.ActionTypes.REGISTER_COMPONENT_HANDLE: {
4432
+ if (isPropControllersHandle(action.payload.componentHandle)) {
4433
+ dispatch(registerAndSetPropControllersHandle(action.payload.documentKey, action.payload.elementKey, action.payload.componentHandle));
4434
+ }
4435
+ break;
4436
+ }
4437
+ case actions.ActionTypes.UNREGISTER_COMPONENT_HANDLE:
4438
+ dispatch(unregisterAndUnsetPropControllersHandle(action.payload.documentKey, action.payload.elementKey));
4439
+ break;
4440
+ case actions.ActionTypes.MESSAGE_HOST_PROP_CONTROLLER: {
4441
+ const propController = getPropController(getPropControllerHandlesStateSlice(getState()), action.payload.documentKey, action.payload.elementKey, action.payload.propName);
4442
+ if (propController)
4443
+ propController.recv(action.payload.message);
4444
+ }
4445
+ }
4446
+ return next(action);
4447
+ };
4448
+ };
4449
+ }
4292
4450
  function configureStore({
4293
4451
  preloadedState
4294
4452
  } = {}) {
4295
- return react.createStore(reducer, preloadedState, react.applyMiddleware(react.thunk, measureBoxModelsMiddleware(), messageChannelMiddleware()));
4453
+ return react.createStore(reducer, preloadedState, react.applyMiddleware(react.thunk, measureBoxModelsMiddleware(), messageChannelMiddleware(), propControllerHandlesMiddleware()));
4296
4454
  }
4297
4455
  exports.createBox = boxModels.createBox;
4298
4456
  exports.getBox = boxModels.getBox;