@makeswift/runtime 0.0.0-237e855 → 0.0.0-25251c0

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 (289) hide show
  1. package/api.js +1 -0
  2. package/builder.js +1 -0
  3. package/dist/actions.cjs.js +44 -2
  4. package/dist/actions.cjs.js.map +1 -1
  5. package/dist/actions.es.js +37 -2
  6. package/dist/actions.es.js.map +1 -1
  7. package/dist/api.cjs.js +5 -0
  8. package/dist/api.cjs.js.map +1 -0
  9. package/dist/api.es.js +2 -0
  10. package/dist/api.es.js.map +1 -0
  11. package/dist/box-model.cjs.js +2 -2
  12. package/dist/box-model.es.js +1 -0
  13. package/dist/box-model.es.js.map +1 -1
  14. package/dist/box-models.cjs.js +5 -143
  15. package/dist/box-models.cjs.js.map +1 -1
  16. package/dist/box-models.es.js +8 -146
  17. package/dist/box-models.es.js.map +1 -1
  18. package/dist/builder.cjs.js +9 -0
  19. package/dist/builder.cjs.js.map +1 -0
  20. package/dist/builder.es.js +3 -0
  21. package/dist/builder.es.js.map +1 -0
  22. package/dist/components.cjs.js +20 -3
  23. package/dist/components.cjs.js.map +1 -1
  24. package/dist/components.es.js +19 -2
  25. package/dist/components.es.js.map +1 -1
  26. package/dist/constants.cjs.js +241 -0
  27. package/dist/constants.cjs.js.map +1 -0
  28. package/dist/constants.es.js +240 -0
  29. package/dist/constants.es.js.map +1 -0
  30. package/dist/control-serialization.cjs.js +144 -0
  31. package/dist/control-serialization.cjs.js.map +1 -0
  32. package/dist/control-serialization.es.js +140 -0
  33. package/dist/control-serialization.es.js.map +1 -0
  34. package/dist/descriptors.cjs.js +9 -3
  35. package/dist/descriptors.cjs.js.map +1 -1
  36. package/dist/descriptors.es.js +8 -4
  37. package/dist/descriptors.es.js.map +1 -1
  38. package/dist/instances.cjs.js +17 -0
  39. package/dist/instances.cjs.js.map +1 -1
  40. package/dist/instances.es.js +17 -1
  41. package/dist/instances.es.js.map +1 -1
  42. package/dist/main.cjs.js +12 -2
  43. package/dist/main.cjs.js.map +1 -1
  44. package/dist/main.es.js +5 -1
  45. package/dist/main.es.js.map +1 -1
  46. package/dist/next.cjs.js +171 -0
  47. package/dist/next.cjs.js.map +1 -0
  48. package/dist/next.es.js +161 -0
  49. package/dist/next.es.js.map +1 -0
  50. package/dist/prop-controllers.cjs.js +2 -2
  51. package/dist/prop-controllers.es.js +1 -1
  52. package/dist/react-builder-preview.cjs.js +107 -4112
  53. package/dist/react-builder-preview.cjs.js.map +1 -1
  54. package/dist/react-builder-preview.es.js +96 -4105
  55. package/dist/react-builder-preview.es.js.map +1 -1
  56. package/dist/react-page.cjs.js +262 -0
  57. package/dist/react-page.cjs.js.map +1 -0
  58. package/dist/react-page.es.js +241 -0
  59. package/dist/react-page.es.js.map +1 -0
  60. package/dist/react.cjs.js +22 -4
  61. package/dist/react.cjs.js.map +1 -1
  62. package/dist/react.cjs2.js +5469 -21696
  63. package/dist/react.cjs2.js.map +1 -1
  64. package/dist/react.es.js +19 -2
  65. package/dist/react.es.js.map +1 -1
  66. package/dist/react.es2.js +5388 -21611
  67. package/dist/react.es2.js.map +1 -1
  68. package/dist/types/api/constants.d.ts +4 -0
  69. package/dist/types/api/constants.d.ts.map +1 -0
  70. package/dist/types/api/generated/graphql.d.ts +120 -0
  71. package/dist/types/api/generated/graphql.d.ts.map +1 -0
  72. package/dist/types/api/index.d.ts +3 -0
  73. package/dist/types/api/index.d.ts.map +1 -0
  74. package/dist/types/api/react.d.ts +8 -0
  75. package/dist/types/api/react.d.ts.map +1 -0
  76. package/dist/types/api/types.d.ts +4 -0
  77. package/dist/types/api/types.d.ts.map +1 -0
  78. package/dist/types/builder/index.d.ts +2 -0
  79. package/dist/types/builder/index.d.ts.map +1 -0
  80. package/dist/types/builder/serialization/control-serialization.d.ts +72 -0
  81. package/dist/types/builder/serialization/control-serialization.d.ts.map +1 -0
  82. package/dist/types/builder/serialization/function-serialization.d.ts +11 -0
  83. package/dist/types/builder/serialization/function-serialization.d.ts.map +1 -0
  84. package/dist/types/builder/serialization/index.d.ts +3 -0
  85. package/dist/types/builder/serialization/index.d.ts.map +1 -0
  86. package/dist/types/components/builtin/Form/Form.d.ts +41 -0
  87. package/dist/types/components/builtin/Form/Form.d.ts.map +1 -0
  88. package/dist/types/components/builtin/Form/components/Field/components/Checkbox/index.d.ts +15 -0
  89. package/dist/types/components/builtin/Form/components/Field/components/Checkbox/index.d.ts.map +1 -0
  90. package/dist/types/components/builtin/Form/components/Field/components/CheckboxTableField/index.d.ts +15 -0
  91. package/dist/types/components/builtin/Form/components/Field/components/CheckboxTableField/index.d.ts.map +1 -0
  92. package/dist/types/components/builtin/Form/components/Field/components/EmailTableField/index.d.ts +11 -0
  93. package/dist/types/components/builtin/Form/components/Field/components/EmailTableField/index.d.ts.map +1 -0
  94. package/dist/types/components/builtin/Form/components/Field/components/Input/index.d.ts +14 -0
  95. package/dist/types/components/builtin/Form/components/Field/components/Input/index.d.ts.map +1 -0
  96. package/dist/types/components/builtin/Form/components/Field/components/Label/index.d.ts +16 -0
  97. package/dist/types/components/builtin/Form/components/Field/components/Label/index.d.ts.map +1 -0
  98. package/dist/types/components/builtin/Form/components/Field/components/LongTextTableField/index.d.ts +10 -0
  99. package/dist/types/components/builtin/Form/components/Field/components/LongTextTableField/index.d.ts.map +1 -0
  100. package/dist/types/components/builtin/Form/components/Field/components/MultipleSelectTableField/index.d.ts +23 -0
  101. package/dist/types/components/builtin/Form/components/Field/components/MultipleSelectTableField/index.d.ts.map +1 -0
  102. package/dist/types/components/builtin/Form/components/Field/components/NumberTableField/index.d.ts +11 -0
  103. package/dist/types/components/builtin/Form/components/Field/components/NumberTableField/index.d.ts.map +1 -0
  104. package/dist/types/components/builtin/Form/components/Field/components/PhoneNumberTableField/index.d.ts +11 -0
  105. package/dist/types/components/builtin/Form/components/Field/components/PhoneNumberTableField/index.d.ts.map +1 -0
  106. package/dist/types/components/builtin/Form/components/Field/components/PlaceholderTableField/index.d.ts +3 -0
  107. package/dist/types/components/builtin/Form/components/Field/components/PlaceholderTableField/index.d.ts.map +1 -0
  108. package/dist/types/components/builtin/Form/components/Field/components/RadioButton/index.d.ts +17 -0
  109. package/dist/types/components/builtin/Form/components/Field/components/RadioButton/index.d.ts.map +1 -0
  110. package/dist/types/components/builtin/Form/components/Field/components/SingleLineTextTableField/index.d.ts +11 -0
  111. package/dist/types/components/builtin/Form/components/Field/components/SingleLineTextTableField/index.d.ts.map +1 -0
  112. package/dist/types/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnRadioButtonGroup/index.d.ts +23 -0
  113. package/dist/types/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnRadioButtonGroup/index.d.ts.map +1 -0
  114. package/dist/types/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnSingleSelect/index.d.ts +19 -0
  115. package/dist/types/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnSingleSelect/index.d.ts.map +1 -0
  116. package/dist/types/components/builtin/Form/components/Field/components/SingleSelectTableField/index.d.ts +24 -0
  117. package/dist/types/components/builtin/Form/components/Field/components/SingleSelectTableField/index.d.ts.map +1 -0
  118. package/dist/types/components/builtin/Form/components/Field/components/TextArea/index.d.ts +13 -0
  119. package/dist/types/components/builtin/Form/components/Field/components/TextArea/index.d.ts.map +1 -0
  120. package/dist/types/components/builtin/Form/components/Field/components/URLTableField/index.d.ts +11 -0
  121. package/dist/types/components/builtin/Form/components/Field/components/URLTableField/index.d.ts.map +1 -0
  122. package/dist/types/components/builtin/Form/components/Field/index.d.ts +19 -0
  123. package/dist/types/components/builtin/Form/components/Field/index.d.ts.map +1 -0
  124. package/dist/types/components/builtin/Form/components/Field/services/cssField.d.ts +11 -0
  125. package/dist/types/components/builtin/Form/components/Field/services/cssField.d.ts.map +1 -0
  126. package/dist/types/components/{Embed/Embed.d.ts → builtin/Form/components/Placeholder/index.d.ts} +2 -4
  127. package/dist/types/components/builtin/Form/components/Placeholder/index.d.ts.map +1 -0
  128. package/dist/types/components/builtin/Form/components/Spinner/index.d.ts +3 -0
  129. package/dist/types/components/builtin/Form/components/Spinner/index.d.ts.map +1 -0
  130. package/dist/types/components/builtin/Form/context/FormContext.d.ts +32 -0
  131. package/dist/types/components/builtin/Form/context/FormContext.d.ts.map +1 -0
  132. package/dist/types/components/builtin/Form/index.d.ts +2 -0
  133. package/dist/types/components/builtin/Form/index.d.ts.map +1 -0
  134. package/dist/types/components/builtin/Form/prop-controllers.d.ts +1 -0
  135. package/dist/types/components/builtin/Form/prop-controllers.d.ts.map +1 -0
  136. package/dist/types/components/builtin/Text/components/RichTextEditor/components/Mark/hooks/useTypographyMark.d.ts.map +1 -1
  137. package/dist/types/components/builtin/index.d.ts +1 -0
  138. package/dist/types/components/builtin/index.d.ts.map +1 -1
  139. package/dist/types/components/hooks/index.d.ts +1 -0
  140. package/dist/types/components/hooks/index.d.ts.map +1 -1
  141. package/dist/types/components/hooks/useBackgrounds.d.ts.map +1 -1
  142. package/dist/types/components/hooks/useBorder.d.ts.map +1 -1
  143. package/dist/types/components/hooks/useBoxShadow.d.ts.map +1 -1
  144. package/dist/types/components/hooks/useColor.d.ts.map +1 -1
  145. package/dist/types/components/hooks/useFile.d.ts.map +1 -1
  146. package/dist/types/components/hooks/usePage.d.ts.map +1 -1
  147. package/dist/types/components/hooks/useTable.d.ts +66 -0
  148. package/dist/types/components/hooks/useTable.d.ts.map +1 -0
  149. package/dist/types/components/hooks/useTableFormFieldRefs.d.ts +8 -0
  150. package/dist/types/components/hooks/useTableFormFieldRefs.d.ts.map +1 -0
  151. package/dist/types/components/hooks/useTableWorkspace.d.ts +14 -0
  152. package/dist/types/components/hooks/useTableWorkspace.d.ts.map +1 -0
  153. package/dist/types/components/hooks/useTypography.d.ts.map +1 -1
  154. package/dist/types/components/utils/layout.d.ts +16 -0
  155. package/dist/types/components/utils/layout.d.ts.map +1 -0
  156. package/dist/types/components/utils/pollAnimationFrame.d.ts +2 -0
  157. package/dist/types/components/utils/pollAnimationFrame.d.ts.map +1 -0
  158. package/dist/types/components/utils/pollElementLayout.d.ts +8 -0
  159. package/dist/types/components/utils/pollElementLayout.d.ts.map +1 -0
  160. package/dist/types/components/utils/queries.d.ts +1 -0
  161. package/dist/types/components/utils/queries.d.ts.map +1 -1
  162. package/dist/types/components/utils/requestBatchedAnimationFrame.d.ts +4 -0
  163. package/dist/types/components/utils/requestBatchedAnimationFrame.d.ts.map +1 -0
  164. package/dist/types/components/utils/types.d.ts +1 -2
  165. package/dist/types/components/utils/types.d.ts.map +1 -1
  166. package/dist/types/index.d.ts +2 -1
  167. package/dist/types/index.d.ts.map +1 -1
  168. package/dist/types/next.d.ts +21 -0
  169. package/dist/types/next.d.ts.map +1 -0
  170. package/dist/types/prop-controllers/descriptors.d.ts +28 -10
  171. package/dist/types/prop-controllers/descriptors.d.ts.map +1 -1
  172. package/dist/types/prop-controllers/index.d.ts +3 -3
  173. package/dist/types/prop-controllers/index.d.ts.map +1 -1
  174. package/dist/types/prop-controllers/instances.d.ts +36 -4
  175. package/dist/types/prop-controllers/instances.d.ts.map +1 -1
  176. package/dist/types/react.d.ts +1 -1
  177. package/dist/types/react.d.ts.map +1 -1
  178. package/dist/types/runtimes/react.d.ts +14 -6
  179. package/dist/types/runtimes/react.d.ts.map +1 -1
  180. package/dist/types/state/actions.d.ts +66 -1
  181. package/dist/types/state/actions.d.ts.map +1 -1
  182. package/dist/types/state/modules/box-models.d.ts.map +1 -1
  183. package/dist/types/state/modules/read-only-documents.d.ts +8 -4
  184. package/dist/types/state/modules/read-only-documents.d.ts.map +1 -1
  185. package/dist/types/state/modules/read-write-documents.d.ts +1 -1
  186. package/dist/types/state/modules/read-write-documents.d.ts.map +1 -1
  187. package/dist/types/state/react-builder-preview.d.ts +3 -1
  188. package/dist/types/state/react-builder-preview.d.ts.map +1 -1
  189. package/dist/types/state/react-page.d.ts +3 -3
  190. package/dist/types/state/react-page.d.ts.map +1 -1
  191. package/next.js +1 -0
  192. package/package.json +45 -41
  193. package/dist/deepEqual.cjs.js +0 -40
  194. package/dist/deepEqual.cjs.js.map +0 -1
  195. package/dist/deepEqual.es.js +0 -39
  196. package/dist/deepEqual.es.js.map +0 -1
  197. package/dist/immutable.es.cjs.js +0 -4459
  198. package/dist/immutable.es.cjs.js.map +0 -1
  199. package/dist/immutable.es.es.js +0 -4450
  200. package/dist/immutable.es.es.js.map +0 -1
  201. package/dist/shallowEqual.cjs.js +0 -24
  202. package/dist/shallowEqual.cjs.js.map +0 -1
  203. package/dist/shallowEqual.es.js +0 -23
  204. package/dist/shallowEqual.es.js.map +0 -1
  205. package/dist/types/codegen-loader.d.ts +0 -2
  206. package/dist/types/codegen-loader.d.ts.map +0 -1
  207. package/dist/types/components/BackgroundsContainer/components/BackgroundVideo/index.d.ts +0 -11
  208. package/dist/types/components/BackgroundsContainer/components/BackgroundVideo/index.d.ts.map +0 -1
  209. package/dist/types/components/BackgroundsContainer/components/Backgrounds/index.d.ts +0 -8
  210. package/dist/types/components/BackgroundsContainer/components/Backgrounds/index.d.ts.map +0 -1
  211. package/dist/types/components/BackgroundsContainer/components/Parallax/index.d.ts +0 -11
  212. package/dist/types/components/BackgroundsContainer/components/Parallax/index.d.ts.map +0 -1
  213. package/dist/types/components/BackgroundsContainer/index.d.ts +0 -11
  214. package/dist/types/components/BackgroundsContainer/index.d.ts.map +0 -1
  215. package/dist/types/components/Box/Box.d.ts +0 -30
  216. package/dist/types/components/Box/Box.d.ts.map +0 -1
  217. package/dist/types/components/Box/animations.d.ts +0 -69
  218. package/dist/types/components/Box/animations.d.ts.map +0 -1
  219. package/dist/types/components/Box/components/Placeholder/index.d.ts +0 -7
  220. package/dist/types/components/Box/components/Placeholder/index.d.ts.map +0 -1
  221. package/dist/types/components/Box/index.d.ts +0 -3
  222. package/dist/types/components/Box/index.d.ts.map +0 -1
  223. package/dist/types/components/Carousel/Carousel.d.ts +0 -25
  224. package/dist/types/components/Carousel/Carousel.d.ts.map +0 -1
  225. package/dist/types/components/Carousel/index.d.ts +0 -2
  226. package/dist/types/components/Carousel/index.d.ts.map +0 -1
  227. package/dist/types/components/Countdown/Countdown.d.ts +0 -24
  228. package/dist/types/components/Countdown/Countdown.d.ts.map +0 -1
  229. package/dist/types/components/Countdown/index.d.ts +0 -2
  230. package/dist/types/components/Countdown/index.d.ts.map +0 -1
  231. package/dist/types/components/Divider/Divider.d.ts +0 -14
  232. package/dist/types/components/Divider/Divider.d.ts.map +0 -1
  233. package/dist/types/components/Divider/index.d.ts +0 -2
  234. package/dist/types/components/Divider/index.d.ts.map +0 -1
  235. package/dist/types/components/Embed/Embed.d.ts.map +0 -1
  236. package/dist/types/components/Embed/index.d.ts +0 -2
  237. package/dist/types/components/Embed/index.d.ts.map +0 -1
  238. package/dist/types/components/Image/Image.d.ts +0 -26
  239. package/dist/types/components/Image/Image.d.ts.map +0 -1
  240. package/dist/types/components/Image/index.d.ts +0 -2
  241. package/dist/types/components/Image/index.d.ts.map +0 -1
  242. package/dist/types/components/Link/index.d.ts +0 -9
  243. package/dist/types/components/Link/index.d.ts.map +0 -1
  244. package/dist/types/components/RichText/index.d.ts +0 -5
  245. package/dist/types/components/RichText/index.d.ts.map +0 -1
  246. package/dist/types/components/Root/Root.d.ts +0 -11
  247. package/dist/types/components/Root/Root.d.ts.map +0 -1
  248. package/dist/types/components/Root/components/Placeholder/index.d.ts +0 -5
  249. package/dist/types/components/Root/components/Placeholder/index.d.ts.map +0 -1
  250. package/dist/types/components/Root/index.d.ts +0 -2
  251. package/dist/types/components/Root/index.d.ts.map +0 -1
  252. package/dist/types/components/builtin/Text/components/RichTextEditor/components/Link/index.d.ts +0 -9
  253. package/dist/types/components/builtin/Text/components/RichTextEditor/components/Link/index.d.ts.map +0 -1
  254. package/dist/types/components/builtin/Text/hooks/useRichText.d.ts +0 -1
  255. package/dist/types/components/builtin/Text/hooks/useRichText.d.ts.map +0 -1
  256. package/dist/types/components/builtin/Text/prop-controllers.d.ts +0 -286
  257. package/dist/types/components/builtin/Text/prop-controllers.d.ts.map +0 -1
  258. package/dist/types/components/hooks/useRichText.d.ts +0 -18
  259. package/dist/types/components/hooks/useRichText.d.ts.map +0 -1
  260. package/dist/types/components/shared/RichTextEditor/components/Block/index.d.ts +0 -24
  261. package/dist/types/components/shared/RichTextEditor/components/Block/index.d.ts.map +0 -1
  262. package/dist/types/components/shared/RichTextEditor/components/Link/index.d.ts +0 -9
  263. package/dist/types/components/shared/RichTextEditor/components/Link/index.d.ts.map +0 -1
  264. package/dist/types/components/shared/RichTextEditor/components/Mark/hooks/useTypographyMark.d.ts +0 -23
  265. package/dist/types/components/shared/RichTextEditor/components/Mark/hooks/useTypographyMark.d.ts.map +0 -1
  266. package/dist/types/components/shared/RichTextEditor/components/Mark/index.d.ts +0 -13
  267. package/dist/types/components/shared/RichTextEditor/components/Mark/index.d.ts.map +0 -1
  268. package/dist/types/components/shared/RichTextEditor/index.d.ts +0 -5
  269. package/dist/types/components/shared/RichTextEditor/index.d.ts.map +0 -1
  270. package/dist/types/components/shared/RichTextEditor/plugins/DeviceOverridesBlocks.d.ts +0 -3
  271. package/dist/types/components/shared/RichTextEditor/plugins/DeviceOverridesBlocks.d.ts.map +0 -1
  272. package/dist/types/components/shared/RichTextEditor/plugins/DeviceOverridesMarks.d.ts +0 -3
  273. package/dist/types/components/shared/RichTextEditor/plugins/DeviceOverridesMarks.d.ts.map +0 -1
  274. package/dist/types/components/shared/RichTextEditor/plugins/Inlines.d.ts +0 -3
  275. package/dist/types/components/shared/RichTextEditor/plugins/Inlines.d.ts.map +0 -1
  276. package/dist/types/components/shared/RichTextEditor/plugins/Link.d.ts +0 -3
  277. package/dist/types/components/shared/RichTextEditor/plugins/Link.d.ts.map +0 -1
  278. package/dist/types/components/utils/contants.d.ts +0 -5
  279. package/dist/types/components/utils/contants.d.ts.map +0 -1
  280. package/dist/types/components/utils/intersection.d.ts +0 -4
  281. package/dist/types/components/utils/intersection.d.ts.map +0 -1
  282. package/dist/types/components/utils/keys.d.ts +0 -5
  283. package/dist/types/components/utils/keys.d.ts.map +0 -1
  284. package/dist/types/generated/graphql.d.ts +0 -756
  285. package/dist/types/generated/graphql.d.ts.map +0 -1
  286. package/dist/types/state/modules/makeswift-api-client.d.ts +0 -17
  287. package/dist/types/state/modules/makeswift-api-client.d.ts.map +0 -1
  288. package/dist/types/types.d.ts +0 -2
  289. package/dist/types/types.d.ts.map +0 -1
package/api.js ADDED
@@ -0,0 +1 @@
1
+ module.exports = require('./dist/api.cjs')
package/builder.js ADDED
@@ -0,0 +1 @@
1
+ module.exports = require('./dist/builder.cjs')
@@ -1,8 +1,14 @@
1
1
  "use strict";
2
2
  const ActionTypes = {
3
+ INIT: "INIT",
4
+ CLEAN_UP: "CLEAN_UP",
5
+ REGISTER_DOCUMENT: "REGISTER_DOCUMENT",
6
+ UNREGISTER_DOCUMENT: "UNREGISTER_DOCUMENT",
3
7
  CHANGE_DOCUMENT: "CHANGE_DOCUMENT",
4
8
  REGISTER_COMPONENT: "REGISTER_COMPONENT",
5
9
  UNREGISTER_COMPONENT: "UNREGISTER_COMPONENT",
10
+ REGISTER_BUILDER_COMPONENT: "REGISTER_BUILDER_COMPONENT",
11
+ UNREGISTER_BUILDER_COMPONENT: "UNREGISTER_BUILDER_COMPONENT",
6
12
  REGISTER_REACT_COMPONENT: "REGISTER_REACT_COMPONENT",
7
13
  UNREGISTER_REACT_COMPONENT: "UNREGISTER_REACT_COMPONENT",
8
14
  MOUNT_COMPONENT: "MOUNT_COMPONENT",
@@ -19,8 +25,22 @@ const ActionTypes = {
19
25
  REGISTER_PROP_CONTROLLERS: "REGISTER_PROP_CONTROLLERS",
20
26
  UNREGISTER_PROP_CONTROLLERS: "UNREGISTER_PROP_CONTROLLERS",
21
27
  MESSAGE_HOST_PROP_CONTROLLER: "MESSAGE_HOST_PROP_CONTROLLER",
22
- MESSAGE_BUILDER_PROP_CONTROLLER: "MESSAGE_BUILDER_PROP_CONTROLLER"
28
+ MESSAGE_BUILDER_PROP_CONTROLLER: "MESSAGE_BUILDER_PROP_CONTROLLER",
29
+ CHANGE_API_RESOURCE: "CHANGE_API_RESOURCE",
30
+ EVICT_API_RESOURCE: "EVICT_API_RESOURCE"
23
31
  };
32
+ function init() {
33
+ return { type: ActionTypes.INIT };
34
+ }
35
+ function cleanUp() {
36
+ return { type: ActionTypes.CLEAN_UP };
37
+ }
38
+ function registerDocument(document) {
39
+ return { type: ActionTypes.REGISTER_DOCUMENT, payload: { documentKey: document.key, document } };
40
+ }
41
+ function unregisterDocument(documentKey) {
42
+ return { type: ActionTypes.UNREGISTER_DOCUMENT, payload: { documentKey } };
43
+ }
24
44
  function changeDocument(documentKey, operation) {
25
45
  return { type: ActionTypes.CHANGE_DOCUMENT, payload: { documentKey, operation } };
26
46
  }
@@ -41,6 +61,15 @@ function registerComponentEffect(type, meta, propControllerDescriptors) {
41
61
  };
42
62
  };
43
63
  }
64
+ function registerBuilderComponent(type, meta, serializedControls) {
65
+ return {
66
+ type: ActionTypes.REGISTER_BUILDER_COMPONENT,
67
+ payload: { type, meta, serializedControls }
68
+ };
69
+ }
70
+ function unregisterBuilderComponent(type) {
71
+ return { type: ActionTypes.UNREGISTER_BUILDER_COMPONENT, payload: { type } };
72
+ }
44
73
  function registerReactComponent(type, component) {
45
74
  return { type: ActionTypes.REGISTER_REACT_COMPONENT, payload: { type, component } };
46
75
  }
@@ -128,21 +157,34 @@ function messageBuilderPropController(documentKey, elementKey, propName, message
128
157
  payload: { documentKey, elementKey, propName, message }
129
158
  };
130
159
  }
160
+ function changeApiResource(resource) {
161
+ return { type: ActionTypes.CHANGE_API_RESOURCE, payload: { resource } };
162
+ }
163
+ function evictApiResource(id) {
164
+ return { type: ActionTypes.EVICT_API_RESOURCE, payload: { id } };
165
+ }
131
166
  exports.ActionTypes = ActionTypes;
167
+ exports.changeApiResource = changeApiResource;
132
168
  exports.changeDocument = changeDocument;
133
169
  exports.changeDocumentElementScrollTop = changeDocumentElementScrollTop;
134
170
  exports.changeDocumentElementSize = changeDocumentElementSize;
135
171
  exports.changeElementBoxModels = changeElementBoxModels;
172
+ exports.cleanUp = cleanUp;
173
+ exports.evictApiResource = evictApiResource;
174
+ exports.init = init;
136
175
  exports.messageBuilderPropController = messageBuilderPropController;
137
176
  exports.messageHostPropController = messageHostPropController;
138
177
  exports.mountComponentEffect = mountComponentEffect;
139
- exports.registerComponent = registerComponent;
178
+ exports.registerBuilderComponent = registerBuilderComponent;
140
179
  exports.registerComponentEffect = registerComponentEffect;
141
180
  exports.registerComponentHandleEffect = registerComponentHandleEffect;
181
+ exports.registerDocument = registerDocument;
142
182
  exports.registerMeasurable = registerMeasurable;
143
183
  exports.registerPropControllers = registerPropControllers;
144
184
  exports.registerPropControllersHandle = registerPropControllersHandle;
145
185
  exports.registerReactComponentEffect = registerReactComponentEffect;
186
+ exports.unregisterBuilderComponent = unregisterBuilderComponent;
187
+ exports.unregisterDocument = unregisterDocument;
146
188
  exports.unregisterMeasurable = unregisterMeasurable;
147
189
  exports.unregisterPropControllers = unregisterPropControllers;
148
190
  //# sourceMappingURL=actions.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"actions.cjs.js","sources":["../src/state/actions.ts"],"sourcesContent":["import type { Operation } from 'ot-json0'\n\nimport type { ComponentType } from './modules/react-components'\nimport type { Measurable, BoxModel } from './modules/box-models'\nimport type { ThunkAction } from 'redux-thunk'\nimport { ComponentMeta } from './modules/components-meta'\nimport { PropControllerDescriptor } from '../prop-controllers'\nimport type { Size } from './react-builder-preview'\nimport type { PropControllersHandle } from './modules/prop-controller-handles'\nimport type { PropController, PropControllerMessage } from '../prop-controllers/instances'\n\nexport const ActionTypes = {\n CHANGE_DOCUMENT: 'CHANGE_DOCUMENT',\n\n REGISTER_COMPONENT: 'REGISTER_COMPONENT',\n UNREGISTER_COMPONENT: 'UNREGISTER_COMPONENT',\n\n REGISTER_REACT_COMPONENT: 'REGISTER_REACT_COMPONENT',\n UNREGISTER_REACT_COMPONENT: 'UNREGISTER_REACT_COMPONENT',\n\n MOUNT_COMPONENT: 'MOUNT_COMPONENT',\n UNMOUNT_COMPONENT: 'UNMOUNT_COMPONENT',\n\n REGISTER_COMPONENT_HANDLE: 'REGISTER_COMPONENT_HANDLE',\n UNREGISTER_COMPONENT_HANDLE: 'UNREGISTER_COMPONENT_HANDLE',\n\n REGISTER_MEASURABLE: 'REGISTER_MEASURABLE',\n UNREGISTER_MEASURABLE: 'UNREGISTER_MEASURABLE',\n\n CHANGE_ELEMENT_BOX_MODELS: 'CHANGE_ELEMENT_BOX_MODELS',\n\n CHANGE_DOCUMENT_ELEMENT_SIZE: 'CHANGE_DOCUMENT_ELEMENT_SIZE',\n CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP: 'CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP',\n\n REGISTER_PROP_CONTROLLERS_HANDLE: 'REGISTER_PROP_CONTROLLERS_HANDLE',\n UNREGISTER_PROP_CONTROLLERS_HANDLE: 'UNREGISTER_PROP_CONTROLLERS_HANDLE',\n REGISTER_PROP_CONTROLLERS: 'REGISTER_PROP_CONTROLLERS',\n UNREGISTER_PROP_CONTROLLERS: 'UNREGISTER_PROP_CONTROLLERS',\n MESSAGE_HOST_PROP_CONTROLLER: 'MESSAGE_HOST_PROP_CONTROLLER',\n MESSAGE_BUILDER_PROP_CONTROLLER: 'MESSAGE_BUILDER_PROP_CONTROLLER',\n} as const\n\ntype ChangeDocumentAction = {\n type: typeof ActionTypes.CHANGE_DOCUMENT\n payload: { documentKey: string; operation: Operation }\n}\n\ntype RegisterComponentAction = {\n type: typeof ActionTypes.REGISTER_COMPONENT\n payload: {\n type: string\n meta: ComponentMeta\n propControllerDescriptors: Record<string, PropControllerDescriptor>\n }\n}\n\ntype UnregisterComponentAction = {\n type: typeof ActionTypes.UNREGISTER_COMPONENT\n payload: { type: string }\n}\n\ntype RegisterReactComponentAction = {\n type: typeof ActionTypes.REGISTER_REACT_COMPONENT\n payload: { type: string; component: ComponentType }\n}\n\ntype UnregisterReactComponentAction = {\n type: typeof ActionTypes.UNREGISTER_REACT_COMPONENT\n payload: { type: string }\n}\n\ntype MountComponentAction = {\n type: typeof ActionTypes.MOUNT_COMPONENT\n payload: { documentKey: string; elementKey: string }\n}\n\ntype UnmountComponentAction = {\n type: typeof ActionTypes.UNMOUNT_COMPONENT\n payload: { documentKey: string; elementKey: string }\n}\n\ntype RegisterComponentHandleAction = {\n type: typeof ActionTypes.REGISTER_COMPONENT_HANDLE\n payload: { documentKey: string; elementKey: string; componentHandle: unknown }\n}\n\ntype UnregisterComponentHandleAction = {\n type: typeof ActionTypes.UNREGISTER_COMPONENT_HANDLE\n payload: { documentKey: string; elementKey: string }\n}\n\ntype RegisterMeasurableAction = {\n type: typeof ActionTypes.REGISTER_MEASURABLE\n payload: { documentKey: string; elementKey: string; measurable: Measurable }\n}\n\ntype UnregisterMeasurableAction = {\n type: typeof ActionTypes.UNREGISTER_MEASURABLE\n payload: { documentKey: string; elementKey: string }\n}\n\ntype ChangeElementBoxModelsAction = {\n type: typeof ActionTypes.CHANGE_ELEMENT_BOX_MODELS\n payload: { changedElementBoxModels: Map<string, Map<string, BoxModel | null>> }\n}\n\ntype ChangeDocumentElementSizeAction = {\n type: typeof ActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE\n payload: { size: Size }\n}\n\ntype ChangeDocumentElementScrollTopAction = {\n type: typeof ActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP\n payload: { scrollTop: number }\n}\n\ntype RegisterPropControllersHandleAction = {\n type: typeof ActionTypes.REGISTER_PROP_CONTROLLERS_HANDLE\n payload: { documentKey: string; elementKey: string; handle: PropControllersHandle }\n}\n\ntype UnregisterPropControllersHandleAction = {\n type: typeof ActionTypes.UNREGISTER_PROP_CONTROLLERS_HANDLE\n payload: { documentKey: string; elementKey: string }\n}\n\ntype RegisterPropControllersAction = {\n type: typeof ActionTypes.REGISTER_PROP_CONTROLLERS\n payload: {\n documentKey: string\n elementKey: string\n propControllers: Record<string, PropController>\n }\n}\n\ntype UnregisterPropControllersAction = {\n type: typeof ActionTypes.UNREGISTER_PROP_CONTROLLERS\n payload: { documentKey: string; elementKey: string }\n}\n\ntype MessageHostPropControllerAction<T = PropControllerMessage> = {\n type: typeof ActionTypes.MESSAGE_HOST_PROP_CONTROLLER\n payload: { documentKey: string; elementKey: string; propName: string; message: T }\n}\n\ntype MessageBuilderPropControllerAction<T = PropControllerMessage> = {\n type: typeof ActionTypes.MESSAGE_BUILDER_PROP_CONTROLLER\n payload: { documentKey: string; elementKey: string; propName: string; message: T }\n}\n\nexport type Action =\n | ChangeDocumentAction\n | RegisterComponentAction\n | UnregisterComponentAction\n | RegisterReactComponentAction\n | UnregisterReactComponentAction\n | MountComponentAction\n | UnmountComponentAction\n | RegisterComponentHandleAction\n | UnregisterComponentHandleAction\n | RegisterMeasurableAction\n | UnregisterMeasurableAction\n | ChangeElementBoxModelsAction\n | ChangeDocumentElementSizeAction\n | ChangeDocumentElementScrollTopAction\n | RegisterPropControllersHandleAction\n | UnregisterPropControllersHandleAction\n | RegisterPropControllersAction\n | UnregisterPropControllersAction\n | MessageHostPropControllerAction\n | MessageBuilderPropControllerAction\n\nexport function changeDocument(documentKey: string, operation: Operation): ChangeDocumentAction {\n return { type: ActionTypes.CHANGE_DOCUMENT, payload: { documentKey, operation } }\n}\n\nexport function registerComponent(\n type: string,\n meta: ComponentMeta,\n propControllerDescriptors: Record<string, PropControllerDescriptor>,\n): RegisterComponentAction {\n return {\n type: ActionTypes.REGISTER_COMPONENT,\n payload: { type, meta, propControllerDescriptors },\n }\n}\n\nexport function unregisterComponent(type: string): UnregisterComponentAction {\n return { type: ActionTypes.UNREGISTER_COMPONENT, payload: { type } }\n}\n\nexport function registerComponentEffect(\n type: string,\n meta: ComponentMeta,\n propControllerDescriptors: Record<string, PropControllerDescriptor>,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(registerComponent(type, meta, propControllerDescriptors))\n\n return () => {\n dispatch(unregisterComponent(type))\n }\n }\n}\n\nfunction registerReactComponent(\n type: string,\n component: ComponentType,\n): RegisterReactComponentAction {\n return { type: ActionTypes.REGISTER_REACT_COMPONENT, payload: { type, component } }\n}\n\nfunction unregisterReactComponent(type: string): UnregisterReactComponentAction {\n return { type: ActionTypes.UNREGISTER_REACT_COMPONENT, payload: { type } }\n}\n\nexport function registerReactComponentEffect(\n type: string,\n component: ComponentType,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(registerReactComponent(type, component))\n\n return () => {\n dispatch(unregisterReactComponent(type))\n }\n }\n}\n\nexport function mountComponent(documentKey: string, elementKey: string): MountComponentAction {\n return { type: ActionTypes.MOUNT_COMPONENT, payload: { documentKey, elementKey } }\n}\n\nexport function unmountComponent(documentKey: string, elementKey: string): UnmountComponentAction {\n return { type: ActionTypes.UNMOUNT_COMPONENT, payload: { documentKey, elementKey } }\n}\n\nexport function mountComponentEffect(\n documentKey: string,\n elementKey: string,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(mountComponent(documentKey, elementKey))\n\n return () => {\n dispatch(unmountComponent(documentKey, elementKey))\n }\n }\n}\n\nfunction registerComponentHandle(\n documentKey: string,\n elementKey: string,\n componentHandle: unknown,\n): RegisterComponentHandleAction {\n return {\n type: ActionTypes.REGISTER_COMPONENT_HANDLE,\n payload: { documentKey, elementKey, componentHandle },\n }\n}\n\nfunction unregisterComponentHandle(\n documentKey: string,\n elementKey: string,\n): UnregisterComponentHandleAction {\n return { type: ActionTypes.UNREGISTER_COMPONENT_HANDLE, payload: { documentKey, elementKey } }\n}\n\nexport function registerComponentHandleEffect(\n documentKey: string,\n elementKey: string,\n componentHandle: unknown,\n): ThunkAction<() => void, unknown, unknown, Action> {\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 { type: ActionTypes.REGISTER_MEASURABLE, payload: { documentKey, elementKey, measurable } }\n}\n\nexport function unregisterMeasurable(\n documentKey: string,\n elementKey: string,\n): UnregisterMeasurableAction {\n return { type: ActionTypes.UNREGISTER_MEASURABLE, payload: { documentKey, elementKey } }\n}\n\nexport function registerMeasurableEffect(\n documentKey: string,\n elementKey: string,\n measurable: Measurable,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(registerMeasurable(documentKey, elementKey, measurable))\n\n return () => {\n dispatch(unregisterMeasurable(documentKey, elementKey))\n }\n }\n}\n\nexport function changeElementBoxModels(\n changedElementBoxModels: Map<string, Map<string, BoxModel | null>>,\n): ChangeElementBoxModelsAction {\n return { type: ActionTypes.CHANGE_ELEMENT_BOX_MODELS, payload: { changedElementBoxModels } }\n}\n\nexport function changeDocumentElementSize(size: Size): ChangeDocumentElementSizeAction {\n return { type: ActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE, payload: { size } }\n}\n\nexport function changeDocumentElementScrollTop(\n scrollTop: number,\n): ChangeDocumentElementScrollTopAction {\n return { type: ActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP, payload: { scrollTop } }\n}\n\nexport function registerPropControllersHandle(\n documentKey: string,\n elementKey: string,\n handle: PropControllersHandle,\n): RegisterPropControllersHandleAction {\n return {\n type: ActionTypes.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: ActionTypes.UNREGISTER_PROP_CONTROLLERS_HANDLE,\n payload: { documentKey, elementKey },\n }\n}\n\nexport function registerPropControllers(\n documentKey: string,\n elementKey: string,\n propControllers: Record<string, PropController>,\n): RegisterPropControllersAction {\n return {\n type: ActionTypes.REGISTER_PROP_CONTROLLERS,\n payload: { documentKey, elementKey, propControllers },\n }\n}\n\nexport function unregisterPropControllers(\n documentKey: string,\n elementKey: string,\n): UnregisterPropControllersAction {\n return { type: ActionTypes.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: ActionTypes.MESSAGE_HOST_PROP_CONTROLLER,\n payload: { documentKey, elementKey, propName, message },\n }\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: ActionTypes.MESSAGE_BUILDER_PROP_CONTROLLER,\n payload: { documentKey, elementKey, propName, message },\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.cjs.js","sources":["../src/state/actions.ts"],"sourcesContent":["import type { Operation } from 'ot-json0'\n\nimport type { Document } from './modules/read-only-documents'\nimport type { ComponentType } from './modules/react-components'\nimport type { Measurable, BoxModel } from './modules/box-models'\nimport type { ThunkAction } from 'redux-thunk'\nimport { ComponentMeta } from './modules/components-meta'\nimport { PropControllerDescriptor } from '../prop-controllers'\nimport type { Size } from './react-builder-preview'\nimport type { PropControllersHandle } from './modules/prop-controller-handles'\nimport type { PropController, PropControllerMessage } from '../prop-controllers/instances'\nimport type { APIResource } from '../api/types'\nimport type { SerializedControl } from '../builder'\n\nexport const ActionTypes = {\n INIT: 'INIT',\n CLEAN_UP: 'CLEAN_UP',\n\n REGISTER_DOCUMENT: 'REGISTER_DOCUMENT',\n UNREGISTER_DOCUMENT: 'UNREGISTER_DOCUMENT',\n\n CHANGE_DOCUMENT: 'CHANGE_DOCUMENT',\n\n REGISTER_COMPONENT: 'REGISTER_COMPONENT',\n UNREGISTER_COMPONENT: 'UNREGISTER_COMPONENT',\n\n REGISTER_BUILDER_COMPONENT: 'REGISTER_BUILDER_COMPONENT',\n UNREGISTER_BUILDER_COMPONENT: 'UNREGISTER_BUILDER_COMPONENT',\n\n REGISTER_REACT_COMPONENT: 'REGISTER_REACT_COMPONENT',\n UNREGISTER_REACT_COMPONENT: 'UNREGISTER_REACT_COMPONENT',\n\n MOUNT_COMPONENT: 'MOUNT_COMPONENT',\n UNMOUNT_COMPONENT: 'UNMOUNT_COMPONENT',\n\n REGISTER_COMPONENT_HANDLE: 'REGISTER_COMPONENT_HANDLE',\n UNREGISTER_COMPONENT_HANDLE: 'UNREGISTER_COMPONENT_HANDLE',\n\n REGISTER_MEASURABLE: 'REGISTER_MEASURABLE',\n UNREGISTER_MEASURABLE: 'UNREGISTER_MEASURABLE',\n\n CHANGE_ELEMENT_BOX_MODELS: 'CHANGE_ELEMENT_BOX_MODELS',\n\n CHANGE_DOCUMENT_ELEMENT_SIZE: 'CHANGE_DOCUMENT_ELEMENT_SIZE',\n CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP: 'CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP',\n\n REGISTER_PROP_CONTROLLERS_HANDLE: 'REGISTER_PROP_CONTROLLERS_HANDLE',\n UNREGISTER_PROP_CONTROLLERS_HANDLE: 'UNREGISTER_PROP_CONTROLLERS_HANDLE',\n REGISTER_PROP_CONTROLLERS: 'REGISTER_PROP_CONTROLLERS',\n UNREGISTER_PROP_CONTROLLERS: 'UNREGISTER_PROP_CONTROLLERS',\n MESSAGE_HOST_PROP_CONTROLLER: 'MESSAGE_HOST_PROP_CONTROLLER',\n MESSAGE_BUILDER_PROP_CONTROLLER: 'MESSAGE_BUILDER_PROP_CONTROLLER',\n\n CHANGE_API_RESOURCE: 'CHANGE_API_RESOURCE',\n EVICT_API_RESOURCE: 'EVICT_API_RESOURCE',\n} as const\n\ntype InitAction = { type: typeof ActionTypes.INIT }\n\ntype CleanUpAction = { type: typeof ActionTypes.CLEAN_UP }\n\ntype RegisterDocumentAction = {\n type: typeof ActionTypes.REGISTER_DOCUMENT\n payload: { documentKey: string; document: Document }\n}\n\ntype UnregisterDocumentAction = {\n type: typeof ActionTypes.UNREGISTER_DOCUMENT\n payload: { documentKey: string }\n}\n\ntype ChangeDocumentAction = {\n type: typeof ActionTypes.CHANGE_DOCUMENT\n payload: { documentKey: string; operation: Operation }\n}\n\ntype RegisterComponentAction = {\n type: typeof ActionTypes.REGISTER_COMPONENT\n payload: {\n type: string\n meta: ComponentMeta\n propControllerDescriptors: Record<string, PropControllerDescriptor>\n }\n}\n\ntype UnregisterComponentAction = {\n type: typeof ActionTypes.UNREGISTER_COMPONENT\n payload: { type: string }\n}\n\ntype RegisterBuilderComponentAction = {\n type: typeof ActionTypes.REGISTER_BUILDER_COMPONENT\n payload: {\n type: string\n meta: ComponentMeta\n serializedControls: Record<string, SerializedControl>\n }\n}\n\ntype UnregisterBuilderComponentAction = {\n type: typeof ActionTypes.UNREGISTER_BUILDER_COMPONENT\n payload: { type: string }\n}\n\ntype RegisterReactComponentAction = {\n type: typeof ActionTypes.REGISTER_REACT_COMPONENT\n payload: { type: string; component: ComponentType }\n}\n\ntype UnregisterReactComponentAction = {\n type: typeof ActionTypes.UNREGISTER_REACT_COMPONENT\n payload: { type: string }\n}\n\ntype MountComponentAction = {\n type: typeof ActionTypes.MOUNT_COMPONENT\n payload: { documentKey: string; elementKey: string }\n}\n\ntype UnmountComponentAction = {\n type: typeof ActionTypes.UNMOUNT_COMPONENT\n payload: { documentKey: string; elementKey: string }\n}\n\ntype RegisterComponentHandleAction = {\n type: typeof ActionTypes.REGISTER_COMPONENT_HANDLE\n payload: { documentKey: string; elementKey: string; componentHandle: unknown }\n}\n\ntype UnregisterComponentHandleAction = {\n type: typeof ActionTypes.UNREGISTER_COMPONENT_HANDLE\n payload: { documentKey: string; elementKey: string }\n}\n\ntype RegisterMeasurableAction = {\n type: typeof ActionTypes.REGISTER_MEASURABLE\n payload: { documentKey: string; elementKey: string; measurable: Measurable }\n}\n\ntype UnregisterMeasurableAction = {\n type: typeof ActionTypes.UNREGISTER_MEASURABLE\n payload: { documentKey: string; elementKey: string }\n}\n\ntype ChangeElementBoxModelsAction = {\n type: typeof ActionTypes.CHANGE_ELEMENT_BOX_MODELS\n payload: { changedElementBoxModels: Map<string, Map<string, BoxModel | null>> }\n}\n\ntype ChangeDocumentElementSizeAction = {\n type: typeof ActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE\n payload: { size: Size }\n}\n\ntype ChangeDocumentElementScrollTopAction = {\n type: typeof ActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP\n payload: { scrollTop: number }\n}\n\ntype RegisterPropControllersHandleAction = {\n type: typeof ActionTypes.REGISTER_PROP_CONTROLLERS_HANDLE\n payload: { documentKey: string; elementKey: string; handle: PropControllersHandle }\n}\n\ntype UnregisterPropControllersHandleAction = {\n type: typeof ActionTypes.UNREGISTER_PROP_CONTROLLERS_HANDLE\n payload: { documentKey: string; elementKey: string }\n}\n\ntype RegisterPropControllersAction = {\n type: typeof ActionTypes.REGISTER_PROP_CONTROLLERS\n payload: {\n documentKey: string\n elementKey: string\n propControllers: Record<string, PropController>\n }\n}\n\ntype UnregisterPropControllersAction = {\n type: typeof ActionTypes.UNREGISTER_PROP_CONTROLLERS\n payload: { documentKey: string; elementKey: string }\n}\n\ntype MessageHostPropControllerAction<T = PropControllerMessage> = {\n type: typeof ActionTypes.MESSAGE_HOST_PROP_CONTROLLER\n payload: { documentKey: string; elementKey: string; propName: string; message: T }\n}\n\ntype MessageBuilderPropControllerAction<T = PropControllerMessage> = {\n type: typeof ActionTypes.MESSAGE_BUILDER_PROP_CONTROLLER\n payload: { documentKey: string; elementKey: string; propName: string; message: T }\n}\n\ntype ChangeAPIResourceAction = {\n type: typeof ActionTypes.CHANGE_API_RESOURCE\n payload: { resource: APIResource }\n}\n\ntype EvictAPIResourceAction = {\n type: typeof ActionTypes.EVICT_API_RESOURCE\n payload: { id: string }\n}\n\nexport type Action =\n | InitAction\n | CleanUpAction\n | ChangeDocumentAction\n | RegisterDocumentAction\n | UnregisterDocumentAction\n | RegisterComponentAction\n | UnregisterComponentAction\n | RegisterBuilderComponentAction\n | UnregisterBuilderComponentAction\n | RegisterReactComponentAction\n | UnregisterReactComponentAction\n | MountComponentAction\n | UnmountComponentAction\n | RegisterComponentHandleAction\n | UnregisterComponentHandleAction\n | RegisterMeasurableAction\n | UnregisterMeasurableAction\n | ChangeElementBoxModelsAction\n | ChangeDocumentElementSizeAction\n | ChangeDocumentElementScrollTopAction\n | RegisterPropControllersHandleAction\n | UnregisterPropControllersHandleAction\n | RegisterPropControllersAction\n | UnregisterPropControllersAction\n | MessageHostPropControllerAction\n | MessageBuilderPropControllerAction\n | ChangeAPIResourceAction\n | EvictAPIResourceAction\n\nexport function init(): InitAction {\n return { type: ActionTypes.INIT }\n}\n\nexport function cleanUp(): CleanUpAction {\n return { type: ActionTypes.CLEAN_UP }\n}\n\nexport function registerDocument(document: Document): RegisterDocumentAction {\n return { type: ActionTypes.REGISTER_DOCUMENT, payload: { documentKey: document.key, document } }\n}\n\nexport function unregisterDocument(documentKey: string): UnregisterDocumentAction {\n return { type: ActionTypes.UNREGISTER_DOCUMENT, payload: { documentKey } }\n}\n\nexport function registerDocumentEffect(\n document: Document,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(registerDocument(document))\n\n return () => {\n dispatch(unregisterDocument(document.key))\n }\n }\n}\n\nexport function changeDocument(documentKey: string, operation: Operation): ChangeDocumentAction {\n return { type: ActionTypes.CHANGE_DOCUMENT, payload: { documentKey, operation } }\n}\n\nexport function registerComponent(\n type: string,\n meta: ComponentMeta,\n propControllerDescriptors: Record<string, PropControllerDescriptor>,\n): RegisterComponentAction {\n return {\n type: ActionTypes.REGISTER_COMPONENT,\n payload: { type, meta, propControllerDescriptors },\n }\n}\n\nexport function unregisterComponent(type: string): UnregisterComponentAction {\n return { type: ActionTypes.UNREGISTER_COMPONENT, payload: { type } }\n}\n\nexport function registerComponentEffect(\n type: string,\n meta: ComponentMeta,\n propControllerDescriptors: Record<string, PropControllerDescriptor>,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(registerComponent(type, meta, propControllerDescriptors))\n\n return () => {\n dispatch(unregisterComponent(type))\n }\n }\n}\n\nexport function registerBuilderComponent(\n type: string,\n meta: ComponentMeta,\n serializedControls: Record<string, SerializedControl>,\n): RegisterBuilderComponentAction {\n return {\n type: ActionTypes.REGISTER_BUILDER_COMPONENT,\n payload: { type, meta, serializedControls },\n }\n}\n\nexport function unregisterBuilderComponent(type: string): UnregisterBuilderComponentAction {\n return { type: ActionTypes.UNREGISTER_BUILDER_COMPONENT, payload: { type } }\n}\n\nfunction registerReactComponent(\n type: string,\n component: ComponentType,\n): RegisterReactComponentAction {\n return { type: ActionTypes.REGISTER_REACT_COMPONENT, payload: { type, component } }\n}\n\nfunction unregisterReactComponent(type: string): UnregisterReactComponentAction {\n return { type: ActionTypes.UNREGISTER_REACT_COMPONENT, payload: { type } }\n}\n\nexport function registerReactComponentEffect(\n type: string,\n component: ComponentType,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(registerReactComponent(type, component))\n\n return () => {\n dispatch(unregisterReactComponent(type))\n }\n }\n}\n\nexport function mountComponent(documentKey: string, elementKey: string): MountComponentAction {\n return { type: ActionTypes.MOUNT_COMPONENT, payload: { documentKey, elementKey } }\n}\n\nexport function unmountComponent(documentKey: string, elementKey: string): UnmountComponentAction {\n return { type: ActionTypes.UNMOUNT_COMPONENT, payload: { documentKey, elementKey } }\n}\n\nexport function mountComponentEffect(\n documentKey: string,\n elementKey: string,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(mountComponent(documentKey, elementKey))\n\n return () => {\n dispatch(unmountComponent(documentKey, elementKey))\n }\n }\n}\n\nfunction registerComponentHandle(\n documentKey: string,\n elementKey: string,\n componentHandle: unknown,\n): RegisterComponentHandleAction {\n return {\n type: ActionTypes.REGISTER_COMPONENT_HANDLE,\n payload: { documentKey, elementKey, componentHandle },\n }\n}\n\nfunction unregisterComponentHandle(\n documentKey: string,\n elementKey: string,\n): UnregisterComponentHandleAction {\n return { type: ActionTypes.UNREGISTER_COMPONENT_HANDLE, payload: { documentKey, elementKey } }\n}\n\nexport function registerComponentHandleEffect(\n documentKey: string,\n elementKey: string,\n componentHandle: unknown,\n): ThunkAction<() => void, unknown, unknown, Action> {\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 { type: ActionTypes.REGISTER_MEASURABLE, payload: { documentKey, elementKey, measurable } }\n}\n\nexport function unregisterMeasurable(\n documentKey: string,\n elementKey: string,\n): UnregisterMeasurableAction {\n return { type: ActionTypes.UNREGISTER_MEASURABLE, payload: { documentKey, elementKey } }\n}\n\nexport function registerMeasurableEffect(\n documentKey: string,\n elementKey: string,\n measurable: Measurable,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(registerMeasurable(documentKey, elementKey, measurable))\n\n return () => {\n dispatch(unregisterMeasurable(documentKey, elementKey))\n }\n }\n}\n\nexport function changeElementBoxModels(\n changedElementBoxModels: Map<string, Map<string, BoxModel | null>>,\n): ChangeElementBoxModelsAction {\n return { type: ActionTypes.CHANGE_ELEMENT_BOX_MODELS, payload: { changedElementBoxModels } }\n}\n\nexport function changeDocumentElementSize(size: Size): ChangeDocumentElementSizeAction {\n return { type: ActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE, payload: { size } }\n}\n\nexport function changeDocumentElementScrollTop(\n scrollTop: number,\n): ChangeDocumentElementScrollTopAction {\n return { type: ActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP, payload: { scrollTop } }\n}\n\nexport function registerPropControllersHandle(\n documentKey: string,\n elementKey: string,\n handle: PropControllersHandle,\n): RegisterPropControllersHandleAction {\n return {\n type: ActionTypes.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: ActionTypes.UNREGISTER_PROP_CONTROLLERS_HANDLE,\n payload: { documentKey, elementKey },\n }\n}\n\nexport function registerPropControllers(\n documentKey: string,\n elementKey: string,\n propControllers: Record<string, PropController>,\n): RegisterPropControllersAction {\n return {\n type: ActionTypes.REGISTER_PROP_CONTROLLERS,\n payload: { documentKey, elementKey, propControllers },\n }\n}\n\nexport function unregisterPropControllers(\n documentKey: string,\n elementKey: string,\n): UnregisterPropControllersAction {\n return { type: ActionTypes.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: ActionTypes.MESSAGE_HOST_PROP_CONTROLLER,\n payload: { documentKey, elementKey, propName, message },\n }\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: ActionTypes.MESSAGE_BUILDER_PROP_CONTROLLER,\n payload: { documentKey, elementKey, propName, message },\n }\n}\n\nexport function changeApiResource(resource: APIResource): ChangeAPIResourceAction {\n return { type: ActionTypes.CHANGE_API_RESOURCE, payload: { resource } }\n}\n\nexport function evictApiResource(id: string): EvictAPIResourceAction {\n return { type: ActionTypes.EVICT_API_RESOURCE, payload: { id } }\n}\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,13 @@
1
1
  const ActionTypes = {
2
+ INIT: "INIT",
3
+ CLEAN_UP: "CLEAN_UP",
4
+ REGISTER_DOCUMENT: "REGISTER_DOCUMENT",
5
+ UNREGISTER_DOCUMENT: "UNREGISTER_DOCUMENT",
2
6
  CHANGE_DOCUMENT: "CHANGE_DOCUMENT",
3
7
  REGISTER_COMPONENT: "REGISTER_COMPONENT",
4
8
  UNREGISTER_COMPONENT: "UNREGISTER_COMPONENT",
9
+ REGISTER_BUILDER_COMPONENT: "REGISTER_BUILDER_COMPONENT",
10
+ UNREGISTER_BUILDER_COMPONENT: "UNREGISTER_BUILDER_COMPONENT",
5
11
  REGISTER_REACT_COMPONENT: "REGISTER_REACT_COMPONENT",
6
12
  UNREGISTER_REACT_COMPONENT: "UNREGISTER_REACT_COMPONENT",
7
13
  MOUNT_COMPONENT: "MOUNT_COMPONENT",
@@ -18,8 +24,22 @@ const ActionTypes = {
18
24
  REGISTER_PROP_CONTROLLERS: "REGISTER_PROP_CONTROLLERS",
19
25
  UNREGISTER_PROP_CONTROLLERS: "UNREGISTER_PROP_CONTROLLERS",
20
26
  MESSAGE_HOST_PROP_CONTROLLER: "MESSAGE_HOST_PROP_CONTROLLER",
21
- MESSAGE_BUILDER_PROP_CONTROLLER: "MESSAGE_BUILDER_PROP_CONTROLLER"
27
+ MESSAGE_BUILDER_PROP_CONTROLLER: "MESSAGE_BUILDER_PROP_CONTROLLER",
28
+ CHANGE_API_RESOURCE: "CHANGE_API_RESOURCE",
29
+ EVICT_API_RESOURCE: "EVICT_API_RESOURCE"
22
30
  };
31
+ function init() {
32
+ return { type: ActionTypes.INIT };
33
+ }
34
+ function cleanUp() {
35
+ return { type: ActionTypes.CLEAN_UP };
36
+ }
37
+ function registerDocument(document) {
38
+ return { type: ActionTypes.REGISTER_DOCUMENT, payload: { documentKey: document.key, document } };
39
+ }
40
+ function unregisterDocument(documentKey) {
41
+ return { type: ActionTypes.UNREGISTER_DOCUMENT, payload: { documentKey } };
42
+ }
23
43
  function changeDocument(documentKey, operation) {
24
44
  return { type: ActionTypes.CHANGE_DOCUMENT, payload: { documentKey, operation } };
25
45
  }
@@ -40,6 +60,15 @@ function registerComponentEffect(type, meta, propControllerDescriptors) {
40
60
  };
41
61
  };
42
62
  }
63
+ function registerBuilderComponent(type, meta, serializedControls) {
64
+ return {
65
+ type: ActionTypes.REGISTER_BUILDER_COMPONENT,
66
+ payload: { type, meta, serializedControls }
67
+ };
68
+ }
69
+ function unregisterBuilderComponent(type) {
70
+ return { type: ActionTypes.UNREGISTER_BUILDER_COMPONENT, payload: { type } };
71
+ }
43
72
  function registerReactComponent(type, component) {
44
73
  return { type: ActionTypes.REGISTER_REACT_COMPONENT, payload: { type, component } };
45
74
  }
@@ -127,5 +156,11 @@ function messageBuilderPropController(documentKey, elementKey, propName, message
127
156
  payload: { documentKey, elementKey, propName, message }
128
157
  };
129
158
  }
130
- export { ActionTypes as A, changeDocumentElementScrollTop as a, mountComponentEffect as b, changeDocument as c, registerComponentEffect as d, registerReactComponentEffect as e, changeElementBoxModels as f, changeDocumentElementSize as g, registerComponent as h, registerMeasurable as i, unregisterPropControllers as j, registerPropControllersHandle as k, registerPropControllers as l, messageHostPropController as m, messageBuilderPropController as n, registerComponentHandleEffect as r, unregisterMeasurable as u };
159
+ function changeApiResource(resource) {
160
+ return { type: ActionTypes.CHANGE_API_RESOURCE, payload: { resource } };
161
+ }
162
+ function evictApiResource(id) {
163
+ return { type: ActionTypes.EVICT_API_RESOURCE, payload: { id } };
164
+ }
165
+ export { ActionTypes as A, changeDocumentElementScrollTop as a, cleanUp as b, changeDocument as c, changeApiResource as d, evictApiResource as e, registerComponentHandleEffect as f, mountComponentEffect as g, registerComponentEffect as h, init as i, registerReactComponentEffect as j, changeElementBoxModels as k, changeDocumentElementSize as l, messageHostPropController as m, registerBuilderComponent as n, unregisterBuilderComponent as o, unregisterMeasurable as p, registerMeasurable as q, registerDocument as r, unregisterPropControllers as s, registerPropControllersHandle as t, unregisterDocument as u, registerPropControllers as v, messageBuilderPropController as w };
131
166
  //# sourceMappingURL=actions.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"actions.es.js","sources":["../src/state/actions.ts"],"sourcesContent":["import type { Operation } from 'ot-json0'\n\nimport type { ComponentType } from './modules/react-components'\nimport type { Measurable, BoxModel } from './modules/box-models'\nimport type { ThunkAction } from 'redux-thunk'\nimport { ComponentMeta } from './modules/components-meta'\nimport { PropControllerDescriptor } from '../prop-controllers'\nimport type { Size } from './react-builder-preview'\nimport type { PropControllersHandle } from './modules/prop-controller-handles'\nimport type { PropController, PropControllerMessage } from '../prop-controllers/instances'\n\nexport const ActionTypes = {\n CHANGE_DOCUMENT: 'CHANGE_DOCUMENT',\n\n REGISTER_COMPONENT: 'REGISTER_COMPONENT',\n UNREGISTER_COMPONENT: 'UNREGISTER_COMPONENT',\n\n REGISTER_REACT_COMPONENT: 'REGISTER_REACT_COMPONENT',\n UNREGISTER_REACT_COMPONENT: 'UNREGISTER_REACT_COMPONENT',\n\n MOUNT_COMPONENT: 'MOUNT_COMPONENT',\n UNMOUNT_COMPONENT: 'UNMOUNT_COMPONENT',\n\n REGISTER_COMPONENT_HANDLE: 'REGISTER_COMPONENT_HANDLE',\n UNREGISTER_COMPONENT_HANDLE: 'UNREGISTER_COMPONENT_HANDLE',\n\n REGISTER_MEASURABLE: 'REGISTER_MEASURABLE',\n UNREGISTER_MEASURABLE: 'UNREGISTER_MEASURABLE',\n\n CHANGE_ELEMENT_BOX_MODELS: 'CHANGE_ELEMENT_BOX_MODELS',\n\n CHANGE_DOCUMENT_ELEMENT_SIZE: 'CHANGE_DOCUMENT_ELEMENT_SIZE',\n CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP: 'CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP',\n\n REGISTER_PROP_CONTROLLERS_HANDLE: 'REGISTER_PROP_CONTROLLERS_HANDLE',\n UNREGISTER_PROP_CONTROLLERS_HANDLE: 'UNREGISTER_PROP_CONTROLLERS_HANDLE',\n REGISTER_PROP_CONTROLLERS: 'REGISTER_PROP_CONTROLLERS',\n UNREGISTER_PROP_CONTROLLERS: 'UNREGISTER_PROP_CONTROLLERS',\n MESSAGE_HOST_PROP_CONTROLLER: 'MESSAGE_HOST_PROP_CONTROLLER',\n MESSAGE_BUILDER_PROP_CONTROLLER: 'MESSAGE_BUILDER_PROP_CONTROLLER',\n} as const\n\ntype ChangeDocumentAction = {\n type: typeof ActionTypes.CHANGE_DOCUMENT\n payload: { documentKey: string; operation: Operation }\n}\n\ntype RegisterComponentAction = {\n type: typeof ActionTypes.REGISTER_COMPONENT\n payload: {\n type: string\n meta: ComponentMeta\n propControllerDescriptors: Record<string, PropControllerDescriptor>\n }\n}\n\ntype UnregisterComponentAction = {\n type: typeof ActionTypes.UNREGISTER_COMPONENT\n payload: { type: string }\n}\n\ntype RegisterReactComponentAction = {\n type: typeof ActionTypes.REGISTER_REACT_COMPONENT\n payload: { type: string; component: ComponentType }\n}\n\ntype UnregisterReactComponentAction = {\n type: typeof ActionTypes.UNREGISTER_REACT_COMPONENT\n payload: { type: string }\n}\n\ntype MountComponentAction = {\n type: typeof ActionTypes.MOUNT_COMPONENT\n payload: { documentKey: string; elementKey: string }\n}\n\ntype UnmountComponentAction = {\n type: typeof ActionTypes.UNMOUNT_COMPONENT\n payload: { documentKey: string; elementKey: string }\n}\n\ntype RegisterComponentHandleAction = {\n type: typeof ActionTypes.REGISTER_COMPONENT_HANDLE\n payload: { documentKey: string; elementKey: string; componentHandle: unknown }\n}\n\ntype UnregisterComponentHandleAction = {\n type: typeof ActionTypes.UNREGISTER_COMPONENT_HANDLE\n payload: { documentKey: string; elementKey: string }\n}\n\ntype RegisterMeasurableAction = {\n type: typeof ActionTypes.REGISTER_MEASURABLE\n payload: { documentKey: string; elementKey: string; measurable: Measurable }\n}\n\ntype UnregisterMeasurableAction = {\n type: typeof ActionTypes.UNREGISTER_MEASURABLE\n payload: { documentKey: string; elementKey: string }\n}\n\ntype ChangeElementBoxModelsAction = {\n type: typeof ActionTypes.CHANGE_ELEMENT_BOX_MODELS\n payload: { changedElementBoxModels: Map<string, Map<string, BoxModel | null>> }\n}\n\ntype ChangeDocumentElementSizeAction = {\n type: typeof ActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE\n payload: { size: Size }\n}\n\ntype ChangeDocumentElementScrollTopAction = {\n type: typeof ActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP\n payload: { scrollTop: number }\n}\n\ntype RegisterPropControllersHandleAction = {\n type: typeof ActionTypes.REGISTER_PROP_CONTROLLERS_HANDLE\n payload: { documentKey: string; elementKey: string; handle: PropControllersHandle }\n}\n\ntype UnregisterPropControllersHandleAction = {\n type: typeof ActionTypes.UNREGISTER_PROP_CONTROLLERS_HANDLE\n payload: { documentKey: string; elementKey: string }\n}\n\ntype RegisterPropControllersAction = {\n type: typeof ActionTypes.REGISTER_PROP_CONTROLLERS\n payload: {\n documentKey: string\n elementKey: string\n propControllers: Record<string, PropController>\n }\n}\n\ntype UnregisterPropControllersAction = {\n type: typeof ActionTypes.UNREGISTER_PROP_CONTROLLERS\n payload: { documentKey: string; elementKey: string }\n}\n\ntype MessageHostPropControllerAction<T = PropControllerMessage> = {\n type: typeof ActionTypes.MESSAGE_HOST_PROP_CONTROLLER\n payload: { documentKey: string; elementKey: string; propName: string; message: T }\n}\n\ntype MessageBuilderPropControllerAction<T = PropControllerMessage> = {\n type: typeof ActionTypes.MESSAGE_BUILDER_PROP_CONTROLLER\n payload: { documentKey: string; elementKey: string; propName: string; message: T }\n}\n\nexport type Action =\n | ChangeDocumentAction\n | RegisterComponentAction\n | UnregisterComponentAction\n | RegisterReactComponentAction\n | UnregisterReactComponentAction\n | MountComponentAction\n | UnmountComponentAction\n | RegisterComponentHandleAction\n | UnregisterComponentHandleAction\n | RegisterMeasurableAction\n | UnregisterMeasurableAction\n | ChangeElementBoxModelsAction\n | ChangeDocumentElementSizeAction\n | ChangeDocumentElementScrollTopAction\n | RegisterPropControllersHandleAction\n | UnregisterPropControllersHandleAction\n | RegisterPropControllersAction\n | UnregisterPropControllersAction\n | MessageHostPropControllerAction\n | MessageBuilderPropControllerAction\n\nexport function changeDocument(documentKey: string, operation: Operation): ChangeDocumentAction {\n return { type: ActionTypes.CHANGE_DOCUMENT, payload: { documentKey, operation } }\n}\n\nexport function registerComponent(\n type: string,\n meta: ComponentMeta,\n propControllerDescriptors: Record<string, PropControllerDescriptor>,\n): RegisterComponentAction {\n return {\n type: ActionTypes.REGISTER_COMPONENT,\n payload: { type, meta, propControllerDescriptors },\n }\n}\n\nexport function unregisterComponent(type: string): UnregisterComponentAction {\n return { type: ActionTypes.UNREGISTER_COMPONENT, payload: { type } }\n}\n\nexport function registerComponentEffect(\n type: string,\n meta: ComponentMeta,\n propControllerDescriptors: Record<string, PropControllerDescriptor>,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(registerComponent(type, meta, propControllerDescriptors))\n\n return () => {\n dispatch(unregisterComponent(type))\n }\n }\n}\n\nfunction registerReactComponent(\n type: string,\n component: ComponentType,\n): RegisterReactComponentAction {\n return { type: ActionTypes.REGISTER_REACT_COMPONENT, payload: { type, component } }\n}\n\nfunction unregisterReactComponent(type: string): UnregisterReactComponentAction {\n return { type: ActionTypes.UNREGISTER_REACT_COMPONENT, payload: { type } }\n}\n\nexport function registerReactComponentEffect(\n type: string,\n component: ComponentType,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(registerReactComponent(type, component))\n\n return () => {\n dispatch(unregisterReactComponent(type))\n }\n }\n}\n\nexport function mountComponent(documentKey: string, elementKey: string): MountComponentAction {\n return { type: ActionTypes.MOUNT_COMPONENT, payload: { documentKey, elementKey } }\n}\n\nexport function unmountComponent(documentKey: string, elementKey: string): UnmountComponentAction {\n return { type: ActionTypes.UNMOUNT_COMPONENT, payload: { documentKey, elementKey } }\n}\n\nexport function mountComponentEffect(\n documentKey: string,\n elementKey: string,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(mountComponent(documentKey, elementKey))\n\n return () => {\n dispatch(unmountComponent(documentKey, elementKey))\n }\n }\n}\n\nfunction registerComponentHandle(\n documentKey: string,\n elementKey: string,\n componentHandle: unknown,\n): RegisterComponentHandleAction {\n return {\n type: ActionTypes.REGISTER_COMPONENT_HANDLE,\n payload: { documentKey, elementKey, componentHandle },\n }\n}\n\nfunction unregisterComponentHandle(\n documentKey: string,\n elementKey: string,\n): UnregisterComponentHandleAction {\n return { type: ActionTypes.UNREGISTER_COMPONENT_HANDLE, payload: { documentKey, elementKey } }\n}\n\nexport function registerComponentHandleEffect(\n documentKey: string,\n elementKey: string,\n componentHandle: unknown,\n): ThunkAction<() => void, unknown, unknown, Action> {\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 { type: ActionTypes.REGISTER_MEASURABLE, payload: { documentKey, elementKey, measurable } }\n}\n\nexport function unregisterMeasurable(\n documentKey: string,\n elementKey: string,\n): UnregisterMeasurableAction {\n return { type: ActionTypes.UNREGISTER_MEASURABLE, payload: { documentKey, elementKey } }\n}\n\nexport function registerMeasurableEffect(\n documentKey: string,\n elementKey: string,\n measurable: Measurable,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(registerMeasurable(documentKey, elementKey, measurable))\n\n return () => {\n dispatch(unregisterMeasurable(documentKey, elementKey))\n }\n }\n}\n\nexport function changeElementBoxModels(\n changedElementBoxModels: Map<string, Map<string, BoxModel | null>>,\n): ChangeElementBoxModelsAction {\n return { type: ActionTypes.CHANGE_ELEMENT_BOX_MODELS, payload: { changedElementBoxModels } }\n}\n\nexport function changeDocumentElementSize(size: Size): ChangeDocumentElementSizeAction {\n return { type: ActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE, payload: { size } }\n}\n\nexport function changeDocumentElementScrollTop(\n scrollTop: number,\n): ChangeDocumentElementScrollTopAction {\n return { type: ActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP, payload: { scrollTop } }\n}\n\nexport function registerPropControllersHandle(\n documentKey: string,\n elementKey: string,\n handle: PropControllersHandle,\n): RegisterPropControllersHandleAction {\n return {\n type: ActionTypes.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: ActionTypes.UNREGISTER_PROP_CONTROLLERS_HANDLE,\n payload: { documentKey, elementKey },\n }\n}\n\nexport function registerPropControllers(\n documentKey: string,\n elementKey: string,\n propControllers: Record<string, PropController>,\n): RegisterPropControllersAction {\n return {\n type: ActionTypes.REGISTER_PROP_CONTROLLERS,\n payload: { documentKey, elementKey, propControllers },\n }\n}\n\nexport function unregisterPropControllers(\n documentKey: string,\n elementKey: string,\n): UnregisterPropControllersAction {\n return { type: ActionTypes.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: ActionTypes.MESSAGE_HOST_PROP_CONTROLLER,\n payload: { documentKey, elementKey, propName, message },\n }\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: ActionTypes.MESSAGE_BUILDER_PROP_CONTROLLER,\n payload: { documentKey, elementKey, propName, message },\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.es.js","sources":["../src/state/actions.ts"],"sourcesContent":["import type { Operation } from 'ot-json0'\n\nimport type { Document } from './modules/read-only-documents'\nimport type { ComponentType } from './modules/react-components'\nimport type { Measurable, BoxModel } from './modules/box-models'\nimport type { ThunkAction } from 'redux-thunk'\nimport { ComponentMeta } from './modules/components-meta'\nimport { PropControllerDescriptor } from '../prop-controllers'\nimport type { Size } from './react-builder-preview'\nimport type { PropControllersHandle } from './modules/prop-controller-handles'\nimport type { PropController, PropControllerMessage } from '../prop-controllers/instances'\nimport type { APIResource } from '../api/types'\nimport type { SerializedControl } from '../builder'\n\nexport const ActionTypes = {\n INIT: 'INIT',\n CLEAN_UP: 'CLEAN_UP',\n\n REGISTER_DOCUMENT: 'REGISTER_DOCUMENT',\n UNREGISTER_DOCUMENT: 'UNREGISTER_DOCUMENT',\n\n CHANGE_DOCUMENT: 'CHANGE_DOCUMENT',\n\n REGISTER_COMPONENT: 'REGISTER_COMPONENT',\n UNREGISTER_COMPONENT: 'UNREGISTER_COMPONENT',\n\n REGISTER_BUILDER_COMPONENT: 'REGISTER_BUILDER_COMPONENT',\n UNREGISTER_BUILDER_COMPONENT: 'UNREGISTER_BUILDER_COMPONENT',\n\n REGISTER_REACT_COMPONENT: 'REGISTER_REACT_COMPONENT',\n UNREGISTER_REACT_COMPONENT: 'UNREGISTER_REACT_COMPONENT',\n\n MOUNT_COMPONENT: 'MOUNT_COMPONENT',\n UNMOUNT_COMPONENT: 'UNMOUNT_COMPONENT',\n\n REGISTER_COMPONENT_HANDLE: 'REGISTER_COMPONENT_HANDLE',\n UNREGISTER_COMPONENT_HANDLE: 'UNREGISTER_COMPONENT_HANDLE',\n\n REGISTER_MEASURABLE: 'REGISTER_MEASURABLE',\n UNREGISTER_MEASURABLE: 'UNREGISTER_MEASURABLE',\n\n CHANGE_ELEMENT_BOX_MODELS: 'CHANGE_ELEMENT_BOX_MODELS',\n\n CHANGE_DOCUMENT_ELEMENT_SIZE: 'CHANGE_DOCUMENT_ELEMENT_SIZE',\n CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP: 'CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP',\n\n REGISTER_PROP_CONTROLLERS_HANDLE: 'REGISTER_PROP_CONTROLLERS_HANDLE',\n UNREGISTER_PROP_CONTROLLERS_HANDLE: 'UNREGISTER_PROP_CONTROLLERS_HANDLE',\n REGISTER_PROP_CONTROLLERS: 'REGISTER_PROP_CONTROLLERS',\n UNREGISTER_PROP_CONTROLLERS: 'UNREGISTER_PROP_CONTROLLERS',\n MESSAGE_HOST_PROP_CONTROLLER: 'MESSAGE_HOST_PROP_CONTROLLER',\n MESSAGE_BUILDER_PROP_CONTROLLER: 'MESSAGE_BUILDER_PROP_CONTROLLER',\n\n CHANGE_API_RESOURCE: 'CHANGE_API_RESOURCE',\n EVICT_API_RESOURCE: 'EVICT_API_RESOURCE',\n} as const\n\ntype InitAction = { type: typeof ActionTypes.INIT }\n\ntype CleanUpAction = { type: typeof ActionTypes.CLEAN_UP }\n\ntype RegisterDocumentAction = {\n type: typeof ActionTypes.REGISTER_DOCUMENT\n payload: { documentKey: string; document: Document }\n}\n\ntype UnregisterDocumentAction = {\n type: typeof ActionTypes.UNREGISTER_DOCUMENT\n payload: { documentKey: string }\n}\n\ntype ChangeDocumentAction = {\n type: typeof ActionTypes.CHANGE_DOCUMENT\n payload: { documentKey: string; operation: Operation }\n}\n\ntype RegisterComponentAction = {\n type: typeof ActionTypes.REGISTER_COMPONENT\n payload: {\n type: string\n meta: ComponentMeta\n propControllerDescriptors: Record<string, PropControllerDescriptor>\n }\n}\n\ntype UnregisterComponentAction = {\n type: typeof ActionTypes.UNREGISTER_COMPONENT\n payload: { type: string }\n}\n\ntype RegisterBuilderComponentAction = {\n type: typeof ActionTypes.REGISTER_BUILDER_COMPONENT\n payload: {\n type: string\n meta: ComponentMeta\n serializedControls: Record<string, SerializedControl>\n }\n}\n\ntype UnregisterBuilderComponentAction = {\n type: typeof ActionTypes.UNREGISTER_BUILDER_COMPONENT\n payload: { type: string }\n}\n\ntype RegisterReactComponentAction = {\n type: typeof ActionTypes.REGISTER_REACT_COMPONENT\n payload: { type: string; component: ComponentType }\n}\n\ntype UnregisterReactComponentAction = {\n type: typeof ActionTypes.UNREGISTER_REACT_COMPONENT\n payload: { type: string }\n}\n\ntype MountComponentAction = {\n type: typeof ActionTypes.MOUNT_COMPONENT\n payload: { documentKey: string; elementKey: string }\n}\n\ntype UnmountComponentAction = {\n type: typeof ActionTypes.UNMOUNT_COMPONENT\n payload: { documentKey: string; elementKey: string }\n}\n\ntype RegisterComponentHandleAction = {\n type: typeof ActionTypes.REGISTER_COMPONENT_HANDLE\n payload: { documentKey: string; elementKey: string; componentHandle: unknown }\n}\n\ntype UnregisterComponentHandleAction = {\n type: typeof ActionTypes.UNREGISTER_COMPONENT_HANDLE\n payload: { documentKey: string; elementKey: string }\n}\n\ntype RegisterMeasurableAction = {\n type: typeof ActionTypes.REGISTER_MEASURABLE\n payload: { documentKey: string; elementKey: string; measurable: Measurable }\n}\n\ntype UnregisterMeasurableAction = {\n type: typeof ActionTypes.UNREGISTER_MEASURABLE\n payload: { documentKey: string; elementKey: string }\n}\n\ntype ChangeElementBoxModelsAction = {\n type: typeof ActionTypes.CHANGE_ELEMENT_BOX_MODELS\n payload: { changedElementBoxModels: Map<string, Map<string, BoxModel | null>> }\n}\n\ntype ChangeDocumentElementSizeAction = {\n type: typeof ActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE\n payload: { size: Size }\n}\n\ntype ChangeDocumentElementScrollTopAction = {\n type: typeof ActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP\n payload: { scrollTop: number }\n}\n\ntype RegisterPropControllersHandleAction = {\n type: typeof ActionTypes.REGISTER_PROP_CONTROLLERS_HANDLE\n payload: { documentKey: string; elementKey: string; handle: PropControllersHandle }\n}\n\ntype UnregisterPropControllersHandleAction = {\n type: typeof ActionTypes.UNREGISTER_PROP_CONTROLLERS_HANDLE\n payload: { documentKey: string; elementKey: string }\n}\n\ntype RegisterPropControllersAction = {\n type: typeof ActionTypes.REGISTER_PROP_CONTROLLERS\n payload: {\n documentKey: string\n elementKey: string\n propControllers: Record<string, PropController>\n }\n}\n\ntype UnregisterPropControllersAction = {\n type: typeof ActionTypes.UNREGISTER_PROP_CONTROLLERS\n payload: { documentKey: string; elementKey: string }\n}\n\ntype MessageHostPropControllerAction<T = PropControllerMessage> = {\n type: typeof ActionTypes.MESSAGE_HOST_PROP_CONTROLLER\n payload: { documentKey: string; elementKey: string; propName: string; message: T }\n}\n\ntype MessageBuilderPropControllerAction<T = PropControllerMessage> = {\n type: typeof ActionTypes.MESSAGE_BUILDER_PROP_CONTROLLER\n payload: { documentKey: string; elementKey: string; propName: string; message: T }\n}\n\ntype ChangeAPIResourceAction = {\n type: typeof ActionTypes.CHANGE_API_RESOURCE\n payload: { resource: APIResource }\n}\n\ntype EvictAPIResourceAction = {\n type: typeof ActionTypes.EVICT_API_RESOURCE\n payload: { id: string }\n}\n\nexport type Action =\n | InitAction\n | CleanUpAction\n | ChangeDocumentAction\n | RegisterDocumentAction\n | UnregisterDocumentAction\n | RegisterComponentAction\n | UnregisterComponentAction\n | RegisterBuilderComponentAction\n | UnregisterBuilderComponentAction\n | RegisterReactComponentAction\n | UnregisterReactComponentAction\n | MountComponentAction\n | UnmountComponentAction\n | RegisterComponentHandleAction\n | UnregisterComponentHandleAction\n | RegisterMeasurableAction\n | UnregisterMeasurableAction\n | ChangeElementBoxModelsAction\n | ChangeDocumentElementSizeAction\n | ChangeDocumentElementScrollTopAction\n | RegisterPropControllersHandleAction\n | UnregisterPropControllersHandleAction\n | RegisterPropControllersAction\n | UnregisterPropControllersAction\n | MessageHostPropControllerAction\n | MessageBuilderPropControllerAction\n | ChangeAPIResourceAction\n | EvictAPIResourceAction\n\nexport function init(): InitAction {\n return { type: ActionTypes.INIT }\n}\n\nexport function cleanUp(): CleanUpAction {\n return { type: ActionTypes.CLEAN_UP }\n}\n\nexport function registerDocument(document: Document): RegisterDocumentAction {\n return { type: ActionTypes.REGISTER_DOCUMENT, payload: { documentKey: document.key, document } }\n}\n\nexport function unregisterDocument(documentKey: string): UnregisterDocumentAction {\n return { type: ActionTypes.UNREGISTER_DOCUMENT, payload: { documentKey } }\n}\n\nexport function registerDocumentEffect(\n document: Document,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(registerDocument(document))\n\n return () => {\n dispatch(unregisterDocument(document.key))\n }\n }\n}\n\nexport function changeDocument(documentKey: string, operation: Operation): ChangeDocumentAction {\n return { type: ActionTypes.CHANGE_DOCUMENT, payload: { documentKey, operation } }\n}\n\nexport function registerComponent(\n type: string,\n meta: ComponentMeta,\n propControllerDescriptors: Record<string, PropControllerDescriptor>,\n): RegisterComponentAction {\n return {\n type: ActionTypes.REGISTER_COMPONENT,\n payload: { type, meta, propControllerDescriptors },\n }\n}\n\nexport function unregisterComponent(type: string): UnregisterComponentAction {\n return { type: ActionTypes.UNREGISTER_COMPONENT, payload: { type } }\n}\n\nexport function registerComponentEffect(\n type: string,\n meta: ComponentMeta,\n propControllerDescriptors: Record<string, PropControllerDescriptor>,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(registerComponent(type, meta, propControllerDescriptors))\n\n return () => {\n dispatch(unregisterComponent(type))\n }\n }\n}\n\nexport function registerBuilderComponent(\n type: string,\n meta: ComponentMeta,\n serializedControls: Record<string, SerializedControl>,\n): RegisterBuilderComponentAction {\n return {\n type: ActionTypes.REGISTER_BUILDER_COMPONENT,\n payload: { type, meta, serializedControls },\n }\n}\n\nexport function unregisterBuilderComponent(type: string): UnregisterBuilderComponentAction {\n return { type: ActionTypes.UNREGISTER_BUILDER_COMPONENT, payload: { type } }\n}\n\nfunction registerReactComponent(\n type: string,\n component: ComponentType,\n): RegisterReactComponentAction {\n return { type: ActionTypes.REGISTER_REACT_COMPONENT, payload: { type, component } }\n}\n\nfunction unregisterReactComponent(type: string): UnregisterReactComponentAction {\n return { type: ActionTypes.UNREGISTER_REACT_COMPONENT, payload: { type } }\n}\n\nexport function registerReactComponentEffect(\n type: string,\n component: ComponentType,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(registerReactComponent(type, component))\n\n return () => {\n dispatch(unregisterReactComponent(type))\n }\n }\n}\n\nexport function mountComponent(documentKey: string, elementKey: string): MountComponentAction {\n return { type: ActionTypes.MOUNT_COMPONENT, payload: { documentKey, elementKey } }\n}\n\nexport function unmountComponent(documentKey: string, elementKey: string): UnmountComponentAction {\n return { type: ActionTypes.UNMOUNT_COMPONENT, payload: { documentKey, elementKey } }\n}\n\nexport function mountComponentEffect(\n documentKey: string,\n elementKey: string,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(mountComponent(documentKey, elementKey))\n\n return () => {\n dispatch(unmountComponent(documentKey, elementKey))\n }\n }\n}\n\nfunction registerComponentHandle(\n documentKey: string,\n elementKey: string,\n componentHandle: unknown,\n): RegisterComponentHandleAction {\n return {\n type: ActionTypes.REGISTER_COMPONENT_HANDLE,\n payload: { documentKey, elementKey, componentHandle },\n }\n}\n\nfunction unregisterComponentHandle(\n documentKey: string,\n elementKey: string,\n): UnregisterComponentHandleAction {\n return { type: ActionTypes.UNREGISTER_COMPONENT_HANDLE, payload: { documentKey, elementKey } }\n}\n\nexport function registerComponentHandleEffect(\n documentKey: string,\n elementKey: string,\n componentHandle: unknown,\n): ThunkAction<() => void, unknown, unknown, Action> {\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 { type: ActionTypes.REGISTER_MEASURABLE, payload: { documentKey, elementKey, measurable } }\n}\n\nexport function unregisterMeasurable(\n documentKey: string,\n elementKey: string,\n): UnregisterMeasurableAction {\n return { type: ActionTypes.UNREGISTER_MEASURABLE, payload: { documentKey, elementKey } }\n}\n\nexport function registerMeasurableEffect(\n documentKey: string,\n elementKey: string,\n measurable: Measurable,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(registerMeasurable(documentKey, elementKey, measurable))\n\n return () => {\n dispatch(unregisterMeasurable(documentKey, elementKey))\n }\n }\n}\n\nexport function changeElementBoxModels(\n changedElementBoxModels: Map<string, Map<string, BoxModel | null>>,\n): ChangeElementBoxModelsAction {\n return { type: ActionTypes.CHANGE_ELEMENT_BOX_MODELS, payload: { changedElementBoxModels } }\n}\n\nexport function changeDocumentElementSize(size: Size): ChangeDocumentElementSizeAction {\n return { type: ActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE, payload: { size } }\n}\n\nexport function changeDocumentElementScrollTop(\n scrollTop: number,\n): ChangeDocumentElementScrollTopAction {\n return { type: ActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP, payload: { scrollTop } }\n}\n\nexport function registerPropControllersHandle(\n documentKey: string,\n elementKey: string,\n handle: PropControllersHandle,\n): RegisterPropControllersHandleAction {\n return {\n type: ActionTypes.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: ActionTypes.UNREGISTER_PROP_CONTROLLERS_HANDLE,\n payload: { documentKey, elementKey },\n }\n}\n\nexport function registerPropControllers(\n documentKey: string,\n elementKey: string,\n propControllers: Record<string, PropController>,\n): RegisterPropControllersAction {\n return {\n type: ActionTypes.REGISTER_PROP_CONTROLLERS,\n payload: { documentKey, elementKey, propControllers },\n }\n}\n\nexport function unregisterPropControllers(\n documentKey: string,\n elementKey: string,\n): UnregisterPropControllersAction {\n return { type: ActionTypes.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: ActionTypes.MESSAGE_HOST_PROP_CONTROLLER,\n payload: { documentKey, elementKey, propName, message },\n }\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: ActionTypes.MESSAGE_BUILDER_PROP_CONTROLLER,\n payload: { documentKey, elementKey, propName, message },\n }\n}\n\nexport function changeApiResource(resource: APIResource): ChangeAPIResourceAction {\n return { type: ActionTypes.CHANGE_API_RESOURCE, payload: { resource } }\n}\n\nexport function evictApiResource(id: string): EvictAPIResourceAction {\n return { type: ActionTypes.EVICT_API_RESOURCE, payload: { id } }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ var constants = require("./constants.cjs.js");
4
+ exports.Fragments = constants.Fragments;
5
+ //# sourceMappingURL=api.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
package/dist/api.es.js ADDED
@@ -0,0 +1,2 @@
1
+ export { F as Fragments } from "./constants.es.js";
2
+ //# sourceMappingURL=api.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports[Symbol.toStringTag] = "Module";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
4
3
  var boxModels = require("./box-models.cjs.js");
4
+ require("css-box-model");
5
5
  require("./actions.cjs.js");
6
6
  exports.createBox = boxModels.createBox;
7
7
  exports.getBox = boxModels.getBox;
@@ -1,3 +1,4 @@
1
1
  export { c as createBox, g as getBox, p as parse } from "./box-models.es.js";
2
+ import "css-box-model";
2
3
  import "./actions.es.js";
3
4
  //# sourceMappingURL=box-model.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"box-model.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
1
+ {"version":3,"file":"box-model.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -18,157 +18,17 @@ var __spreadValues = (a, b) => {
18
18
  return a;
19
19
  };
20
20
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
21
+ var cssBoxModel = require("css-box-model");
21
22
  var actions = require("./actions.cjs.js");
22
- var isProduction = true;
23
- var prefix = "Invariant failed";
24
- function invariant(condition, message) {
25
- if (condition) {
26
- return;
27
- }
28
- if (isProduction) {
29
- throw new Error(prefix);
30
- }
31
- var provided = typeof message === "function" ? message() : message;
32
- var value = provided ? prefix + ": " + provided : prefix;
33
- throw new Error(value);
34
- }
35
- var getRect = function getRect2(_ref) {
36
- var top = _ref.top, right = _ref.right, bottom = _ref.bottom, left = _ref.left;
37
- var width = right - left;
38
- var height = bottom - top;
39
- var rect = {
40
- top,
41
- right,
42
- bottom,
43
- left,
44
- width,
45
- height,
46
- x: left,
47
- y: top,
48
- center: {
49
- x: (right + left) / 2,
50
- y: (bottom + top) / 2
51
- }
52
- };
53
- return rect;
54
- };
55
- var expand = function expand2(target, expandBy) {
56
- return {
57
- top: target.top - expandBy.top,
58
- left: target.left - expandBy.left,
59
- bottom: target.bottom + expandBy.bottom,
60
- right: target.right + expandBy.right
61
- };
62
- };
63
- var shrink = function shrink2(target, shrinkBy) {
64
- return {
65
- top: target.top + shrinkBy.top,
66
- left: target.left + shrinkBy.left,
67
- bottom: target.bottom - shrinkBy.bottom,
68
- right: target.right - shrinkBy.right
69
- };
70
- };
71
- var shift = function shift2(target, shiftBy) {
72
- return {
73
- top: target.top + shiftBy.y,
74
- left: target.left + shiftBy.x,
75
- bottom: target.bottom + shiftBy.y,
76
- right: target.right + shiftBy.x
77
- };
78
- };
79
- var noSpacing = {
80
- top: 0,
81
- right: 0,
82
- bottom: 0,
83
- left: 0
84
- };
85
- var createBox$1 = function createBox2(_ref2) {
86
- var borderBox = _ref2.borderBox, _ref2$margin = _ref2.margin, margin = _ref2$margin === void 0 ? noSpacing : _ref2$margin, _ref2$border = _ref2.border, border = _ref2$border === void 0 ? noSpacing : _ref2$border, _ref2$padding = _ref2.padding, padding = _ref2$padding === void 0 ? noSpacing : _ref2$padding;
87
- var marginBox = getRect(expand(borderBox, margin));
88
- var paddingBox = getRect(shrink(borderBox, border));
89
- var contentBox = getRect(shrink(paddingBox, padding));
90
- return {
91
- marginBox,
92
- borderBox: getRect(borderBox),
93
- paddingBox,
94
- contentBox,
95
- margin,
96
- border,
97
- padding
98
- };
99
- };
100
- var parse$1 = function parse2(raw) {
101
- var value = raw.slice(0, -2);
102
- var suffix = raw.slice(-2);
103
- if (suffix !== "px") {
104
- return 0;
105
- }
106
- var result = Number(value);
107
- !!isNaN(result) ? invariant(false) : void 0;
108
- return result;
109
- };
110
- var getWindowScroll = function getWindowScroll2() {
111
- return {
112
- x: window.pageXOffset,
113
- y: window.pageYOffset
114
- };
115
- };
116
- var offset = function offset2(original, change) {
117
- var borderBox = original.borderBox, border = original.border, margin = original.margin, padding = original.padding;
118
- var shifted = shift(borderBox, change);
119
- return createBox$1({
120
- borderBox: shifted,
121
- border,
122
- margin,
123
- padding
124
- });
125
- };
126
- var withScroll = function withScroll2(original, scroll) {
127
- if (scroll === void 0) {
128
- scroll = getWindowScroll();
129
- }
130
- return offset(original, scroll);
131
- };
132
- var calculateBox = function calculateBox2(borderBox, styles) {
133
- var margin = {
134
- top: parse$1(styles.marginTop),
135
- right: parse$1(styles.marginRight),
136
- bottom: parse$1(styles.marginBottom),
137
- left: parse$1(styles.marginLeft)
138
- };
139
- var padding = {
140
- top: parse$1(styles.paddingTop),
141
- right: parse$1(styles.paddingRight),
142
- bottom: parse$1(styles.paddingBottom),
143
- left: parse$1(styles.paddingLeft)
144
- };
145
- var border = {
146
- top: parse$1(styles.borderTopWidth),
147
- right: parse$1(styles.borderRightWidth),
148
- bottom: parse$1(styles.borderBottomWidth),
149
- left: parse$1(styles.borderLeftWidth)
150
- };
151
- return createBox$1({
152
- borderBox,
153
- margin,
154
- padding,
155
- border
156
- });
157
- };
158
- var getBox$1 = function getBox2(el) {
159
- var borderBox = el.getBoundingClientRect();
160
- var styles = window.getComputedStyle(el);
161
- return calculateBox(borderBox, styles);
162
- };
163
23
  function parse(rawString) {
164
24
  const value = Number(rawString.replace(/px$/, ""));
165
25
  return Number.isFinite(value) ? value : 0;
166
26
  }
167
27
  function createBox(boxArgs) {
168
- return withScroll(createBox$1(boxArgs));
28
+ return cssBoxModel.withScroll(cssBoxModel.createBox(boxArgs));
169
29
  }
170
30
  function getBox(element) {
171
- return withScroll(getBox$1(element));
31
+ return cssBoxModel.withScroll(cssBoxModel.getBox(element));
172
32
  }
173
33
  function isMeasurable(value) {
174
34
  if (value instanceof Element)
@@ -227,6 +87,8 @@ function reducer(state = getInitialState(), action) {
227
87
  });
228
88
  if (nextDocumentBoxModels.size > 0)
229
89
  nextBoxModels.set(documentKey, nextDocumentBoxModels);
90
+ else
91
+ nextBoxModels.delete(documentKey);
230
92
  });
231
93
  return __spreadProps(__spreadValues({}, state), { boxModels: nextBoxModels });
232
94
  }
@@ -1 +1 @@
1
- {"version":3,"file":"box-models.cjs.js","sources":["../../../node_modules/tiny-invariant/dist/tiny-invariant.esm.js","../../../node_modules/css-box-model/dist/css-box-model.esm.js","../src/state/modules/box-models.ts"],"sourcesContent":["var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? prefix + \": \" + provided : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n","import invariant from 'tiny-invariant';\n\nvar getRect = function getRect(_ref) {\n var top = _ref.top,\n right = _ref.right,\n bottom = _ref.bottom,\n left = _ref.left;\n var width = right - left;\n var height = bottom - top;\n var rect = {\n top: top,\n right: right,\n bottom: bottom,\n left: left,\n width: width,\n height: height,\n x: left,\n y: top,\n center: {\n x: (right + left) / 2,\n y: (bottom + top) / 2\n }\n };\n return rect;\n};\nvar expand = function expand(target, expandBy) {\n return {\n top: target.top - expandBy.top,\n left: target.left - expandBy.left,\n bottom: target.bottom + expandBy.bottom,\n right: target.right + expandBy.right\n };\n};\nvar shrink = function shrink(target, shrinkBy) {\n return {\n top: target.top + shrinkBy.top,\n left: target.left + shrinkBy.left,\n bottom: target.bottom - shrinkBy.bottom,\n right: target.right - shrinkBy.right\n };\n};\n\nvar shift = function shift(target, shiftBy) {\n return {\n top: target.top + shiftBy.y,\n left: target.left + shiftBy.x,\n bottom: target.bottom + shiftBy.y,\n right: target.right + shiftBy.x\n };\n};\n\nvar noSpacing = {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n};\nvar createBox = function createBox(_ref2) {\n var borderBox = _ref2.borderBox,\n _ref2$margin = _ref2.margin,\n margin = _ref2$margin === void 0 ? noSpacing : _ref2$margin,\n _ref2$border = _ref2.border,\n border = _ref2$border === void 0 ? noSpacing : _ref2$border,\n _ref2$padding = _ref2.padding,\n padding = _ref2$padding === void 0 ? noSpacing : _ref2$padding;\n var marginBox = getRect(expand(borderBox, margin));\n var paddingBox = getRect(shrink(borderBox, border));\n var contentBox = getRect(shrink(paddingBox, padding));\n return {\n marginBox: marginBox,\n borderBox: getRect(borderBox),\n paddingBox: paddingBox,\n contentBox: contentBox,\n margin: margin,\n border: border,\n padding: padding\n };\n};\n\nvar parse = function parse(raw) {\n var value = raw.slice(0, -2);\n var suffix = raw.slice(-2);\n\n if (suffix !== 'px') {\n return 0;\n }\n\n var result = Number(value);\n !!isNaN(result) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Could not parse value [raw: \" + raw + \", without suffix: \" + value + \"]\") : invariant(false) : void 0;\n return result;\n};\n\nvar getWindowScroll = function getWindowScroll() {\n return {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n};\n\nvar offset = function offset(original, change) {\n var borderBox = original.borderBox,\n border = original.border,\n margin = original.margin,\n padding = original.padding;\n var shifted = shift(borderBox, change);\n return createBox({\n borderBox: shifted,\n border: border,\n margin: margin,\n padding: padding\n });\n};\nvar withScroll = function withScroll(original, scroll) {\n if (scroll === void 0) {\n scroll = getWindowScroll();\n }\n\n return offset(original, scroll);\n};\nvar calculateBox = function calculateBox(borderBox, styles) {\n var margin = {\n top: parse(styles.marginTop),\n right: parse(styles.marginRight),\n bottom: parse(styles.marginBottom),\n left: parse(styles.marginLeft)\n };\n var padding = {\n top: parse(styles.paddingTop),\n right: parse(styles.paddingRight),\n bottom: parse(styles.paddingBottom),\n left: parse(styles.paddingLeft)\n };\n var border = {\n top: parse(styles.borderTopWidth),\n right: parse(styles.borderRightWidth),\n bottom: parse(styles.borderBottomWidth),\n left: parse(styles.borderLeftWidth)\n };\n return createBox({\n borderBox: borderBox,\n margin: margin,\n padding: padding,\n border: border\n });\n};\nvar getBox = function getBox(el) {\n var borderBox = el.getBoundingClientRect();\n var styles = window.getComputedStyle(el);\n return calculateBox(borderBox, styles);\n};\n\nexport { calculateBox, createBox, expand, getBox, getRect, offset, shrink, withScroll };\n","import {\n BoxModel,\n createBox as createBoxWithoutScroll,\n CreateBoxArgs,\n getBox as getBoxWithoutScroll,\n withScroll,\n} from 'css-box-model'\n\nimport { Action, ActionTypes } from '../actions'\n\nexport type { BoxModel }\n\nexport function parse(rawString: string): number {\n const value = Number(rawString.replace(/px$/, ''))\n\n return Number.isFinite(value) ? value : 0\n}\n\nexport function createBox(boxArgs: CreateBoxArgs): BoxModel {\n return withScroll(createBoxWithoutScroll(boxArgs))\n}\n\nexport function getBox(element: Element): BoxModel {\n return withScroll(getBoxWithoutScroll(element))\n}\n\nexport interface BoxModelHandle {\n getBoxModel(): BoxModel | null\n}\n\nexport type Measurable = Element | BoxModelHandle\n\nexport function isMeasurable(value: unknown): value is Measurable {\n if (value instanceof Element) return true\n\n if (\n typeof value === 'object' &&\n value !== null &&\n 'getBoxModel' in value &&\n typeof (value as { getBoxModel: unknown }).getBoxModel === 'function'\n ) {\n return true\n }\n\n return false\n}\n\nexport function measure(measurable: Measurable): BoxModel | null {\n if (measurable instanceof Element) return getBox(measurable)\n\n return measurable.getBoxModel()\n}\n\nexport type State = {\n measurables: Map<string, Map<string, Measurable>>\n boxModels: Map<string, Map<string, BoxModel>>\n}\n\nexport function getInitialState(): State {\n return { measurables: new Map(), boxModels: new Map() }\n}\n\nexport function getMeasurables(state: State): Map<string, Map<string, Measurable>> {\n return state.measurables\n}\n\nexport function getBoxModels(state: State): Map<string, Map<string, BoxModel>> {\n return state.boxModels\n}\n\nexport function getBoxModel(\n state: State,\n documentKey: string,\n elementKey: string,\n): BoxModel | null {\n return getBoxModels(state).get(documentKey)?.get(elementKey) ?? null\n}\n\nexport function reducer(state: State = getInitialState(), action: Action) {\n switch (action.type) {\n case ActionTypes.REGISTER_MEASURABLE: {\n const { documentKey, elementKey, measurable } = action.payload\n\n return {\n ...state,\n measurables: new Map(state.measurables).set(\n documentKey,\n new Map(state.measurables.get(documentKey) ?? []).set(elementKey, measurable),\n ),\n }\n }\n\n case ActionTypes.UNREGISTER_MEASURABLE: {\n const { documentKey, elementKey } = action.payload\n const nextMeasurables = new Map(state.measurables.get(documentKey) ?? [])\n\n const deleted = nextMeasurables.delete(elementKey)\n\n return deleted\n ? { ...state, measurables: new Map(state.measurables).set(documentKey, nextMeasurables) }\n : state\n }\n\n case ActionTypes.CHANGE_ELEMENT_BOX_MODELS: {\n const { changedElementBoxModels } = action.payload\n\n if (changedElementBoxModels.size === 0) return state\n\n const nextBoxModels = new Map(state.boxModels)\n\n changedElementBoxModels.forEach((changedBoxModels, documentKey) => {\n const nextDocumentBoxModels = new Map(nextBoxModels.get(documentKey) ?? [])\n\n changedBoxModels.forEach((changedBoxModel, elementKey) => {\n if (changedBoxModel == null) nextDocumentBoxModels.delete(elementKey)\n else nextDocumentBoxModels.set(elementKey, changedBoxModel)\n })\n\n if (nextDocumentBoxModels.size > 0) nextBoxModels.set(documentKey, nextDocumentBoxModels)\n })\n\n return { ...state, boxModels: nextBoxModels }\n }\n\n default:\n return state\n }\n}\n"],"names":["createBox","parse","getBox","createBoxWithoutScroll","getBoxWithoutScroll","ActionTypes"],"mappings":"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"}
1
+ {"version":3,"file":"box-models.cjs.js","sources":["../src/state/modules/box-models.ts"],"sourcesContent":["import {\n BoxModel,\n createBox as createBoxWithoutScroll,\n CreateBoxArgs,\n getBox as getBoxWithoutScroll,\n withScroll,\n} from 'css-box-model'\n\nimport { Action, ActionTypes } from '../actions'\n\nexport type { BoxModel }\n\nexport function parse(rawString: string): number {\n const value = Number(rawString.replace(/px$/, ''))\n\n return Number.isFinite(value) ? value : 0\n}\n\nexport function createBox(boxArgs: CreateBoxArgs): BoxModel {\n return withScroll(createBoxWithoutScroll(boxArgs))\n}\n\nexport function getBox(element: Element): BoxModel {\n return withScroll(getBoxWithoutScroll(element))\n}\n\nexport interface BoxModelHandle {\n getBoxModel(): BoxModel | null\n}\n\nexport type Measurable = Element | BoxModelHandle\n\nexport function isMeasurable(value: unknown): value is Measurable {\n if (value instanceof Element) return true\n\n if (\n typeof value === 'object' &&\n value !== null &&\n 'getBoxModel' in value &&\n typeof (value as { getBoxModel: unknown }).getBoxModel === 'function'\n ) {\n return true\n }\n\n return false\n}\n\nexport function measure(measurable: Measurable): BoxModel | null {\n if (measurable instanceof Element) return getBox(measurable)\n\n return measurable.getBoxModel()\n}\n\nexport type State = {\n measurables: Map<string, Map<string, Measurable>>\n boxModels: Map<string, Map<string, BoxModel>>\n}\n\nexport function getInitialState(): State {\n return { measurables: new Map(), boxModels: new Map() }\n}\n\nexport function getMeasurables(state: State): Map<string, Map<string, Measurable>> {\n return state.measurables\n}\n\nexport function getBoxModels(state: State): Map<string, Map<string, BoxModel>> {\n return state.boxModels\n}\n\nexport function getBoxModel(\n state: State,\n documentKey: string,\n elementKey: string,\n): BoxModel | null {\n return getBoxModels(state).get(documentKey)?.get(elementKey) ?? null\n}\n\nexport function reducer(state: State = getInitialState(), action: Action) {\n switch (action.type) {\n case ActionTypes.REGISTER_MEASURABLE: {\n const { documentKey, elementKey, measurable } = action.payload\n\n return {\n ...state,\n measurables: new Map(state.measurables).set(\n documentKey,\n new Map(state.measurables.get(documentKey) ?? []).set(elementKey, measurable),\n ),\n }\n }\n\n case ActionTypes.UNREGISTER_MEASURABLE: {\n const { documentKey, elementKey } = action.payload\n const nextMeasurables = new Map(state.measurables.get(documentKey) ?? [])\n\n const deleted = nextMeasurables.delete(elementKey)\n\n return deleted\n ? { ...state, measurables: new Map(state.measurables).set(documentKey, nextMeasurables) }\n : state\n }\n\n case ActionTypes.CHANGE_ELEMENT_BOX_MODELS: {\n const { changedElementBoxModels } = action.payload\n\n if (changedElementBoxModels.size === 0) return state\n\n const nextBoxModels = new Map(state.boxModels)\n\n changedElementBoxModels.forEach((changedBoxModels, documentKey) => {\n const nextDocumentBoxModels = new Map(nextBoxModels.get(documentKey) ?? [])\n\n changedBoxModels.forEach((changedBoxModel, elementKey) => {\n if (changedBoxModel == null) nextDocumentBoxModels.delete(elementKey)\n else nextDocumentBoxModels.set(elementKey, changedBoxModel)\n })\n\n if (nextDocumentBoxModels.size > 0) nextBoxModels.set(documentKey, nextDocumentBoxModels)\n else nextBoxModels.delete(documentKey)\n })\n\n return { ...state, boxModels: nextBoxModels }\n }\n\n default:\n return state\n }\n}\n"],"names":["withScroll","createBoxWithoutScroll","getBoxWithoutScroll","ActionTypes"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAYO,eAAe,WAA2B;AAC/C,QAAM,QAAQ,OAAO,UAAU,QAAQ,OAAO,EAAE,CAAC;AAEjD,SAAO,OAAO,SAAS,KAAK,IAAI,QAAQ;AAC1C;AAEO,mBAAmB,SAAkC;AACnD,SAAAA,uBAAWC,YAAAA,UAAuB,OAAO,CAAC;AACnD;AAEO,gBAAgB,SAA4B;AAC1C,SAAAD,uBAAWE,YAAAA,OAAoB,OAAO,CAAC;AAChD;AAQO,sBAAsB,OAAqC;AAChE,MAAI,iBAAiB;AAAgB,WAAA;AAGnC,MAAA,OAAO,UAAU,YACjB,UAAU,QACV,iBAAiB,SACjB,OAAQ,MAAmC,gBAAgB,YAC3D;AACO,WAAA;AAAA,EACT;AAEO,SAAA;AACT;AAEO,iBAAiB,YAAyC;AAC/D,MAAI,sBAAsB;AAAS,WAAO,OAAO,UAAU;AAE3D,SAAO,WAAW;AACpB;AAOyC,2BAAA;AAChC,SAAA,EAAE,aAAiB,oBAAA,IAAA,GAAO,WAAW,oBAAI;AAClD;AAEO,wBAAwB,OAAoD;AACjF,SAAO,MAAM;AACf;AAEO,sBAAsB,OAAkD;AAC7E,SAAO,MAAM;AACf;AAGE,qBAAA,OACA,aACA,YACiB;;AACV,SAAA,yBAAa,KAAK,EAAE,IAAI,WAAW,MAAnC,mBAAsC,IAAI,gBAA1C,YAAyD;AAClE;AAEwB,iBAAA,QAAe,gBAAgB,GAAG,QAAgB;;AACxE,UAAQ,OAAO;AAAA,SACRC,QAAAA,YAAY,qBAAqB;AACpC,YAAM,EAAE,aAAa,YAAY,eAAe,OAAO;AAEhD,aAAA,iCACF,QADE;AAAA,QAEL,aAAa,IAAI,IAAI,MAAM,WAAW,EAAE,IACtC,aACA,IAAI,IAAI,YAAM,YAAY,IAAI,WAAW,MAAjC,YAAsC,CAAA,CAAE,EAAE,IAAI,YAAY,UAAU,CAC9E;AAAA,MAAA;AAAA,IAEJ;AAAA,SAEKA,QAAAA,YAAY,uBAAuB;AAChC,YAAA,EAAE,aAAa,eAAe,OAAO;AACrC,YAAA,kBAAkB,IAAI,IAAI,YAAM,YAAY,IAAI,WAAW,MAAjC,YAAsC,CAAA,CAAE;AAElE,YAAA,UAAU,gBAAgB,OAAO,UAAU;AAEjD,aAAO,UACH,iCAAK,QAAL,EAAY,aAAa,IAAI,IAAI,MAAM,WAAW,EAAE,IAAI,aAAa,eAAe,OACpF;AAAA,IACN;AAAA,SAEKA,QAAAA,YAAY,2BAA2B;AACpC,YAAA,EAAE,4BAA4B,OAAO;AAE3C,UAAI,wBAAwB,SAAS;AAAU,eAAA;AAE/C,YAAM,gBAAgB,IAAI,IAAI,MAAM,SAAS;AAErB,8BAAA,QAAQ,CAAC,kBAAkB,gBAAgB;;AAC3D,cAAA,wBAAwB,IAAI,IAAI,qBAAc,IAAI,WAAW,MAA7B,aAAkC,CAAA,CAAE;AAEzD,yBAAA,QAAQ,CAAC,iBAAiB,eAAe;AACxD,cAAI,mBAAmB;AAAM,kCAAsB,OAAO,UAAU;AAAA;AACzC,kCAAA,IAAI,YAAY,eAAe;AAAA,QAAA,CAC3D;AAED,YAAI,sBAAsB,OAAO;AAAiB,wBAAA,IAAI,aAAa,qBAAqB;AAAA;AACnF,wBAAc,OAAO,WAAW;AAAA,MAAA,CACtC;AAEM,aAAA,iCAAK,QAAL,EAAY,WAAW,cAAc;AAAA,IAC9C;AAAA;AAGS,aAAA;AAAA;AAEb;;;;;;;;;;"}