@chili-publish/studio-sdk 0.121.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (264) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +89 -0
  3. package/_bundles/main.js +3 -0
  4. package/_bundles/main.js.LICENSE.txt +14 -0
  5. package/_bundles/main.js.map +1 -0
  6. package/_bundles/report.html +38 -0
  7. package/lib/editor-engine.json +3 -0
  8. package/lib/package.json +89 -0
  9. package/lib/src/controllers/ActionController.d.ts +38 -0
  10. package/lib/src/controllers/ActionController.js +79 -0
  11. package/lib/src/controllers/ActionController.js.map +1 -0
  12. package/lib/src/controllers/AnimationController.d.ts +70 -0
  13. package/lib/src/controllers/AnimationController.js +135 -0
  14. package/lib/src/controllers/AnimationController.js.map +1 -0
  15. package/lib/src/controllers/CanvasController.d.ts +34 -0
  16. package/lib/src/controllers/CanvasController.js +71 -0
  17. package/lib/src/controllers/CanvasController.js.map +1 -0
  18. package/lib/src/controllers/CharacterStyleController.d.ts +55 -0
  19. package/lib/src/controllers/CharacterStyleController.js +107 -0
  20. package/lib/src/controllers/CharacterStyleController.js.map +1 -0
  21. package/lib/src/controllers/ColorStyleController.d.ts +62 -0
  22. package/lib/src/controllers/ColorStyleController.js +113 -0
  23. package/lib/src/controllers/ColorStyleController.js.map +1 -0
  24. package/lib/src/controllers/ConfigurationController.d.ts +27 -0
  25. package/lib/src/controllers/ConfigurationController.js +60 -0
  26. package/lib/src/controllers/ConfigurationController.js.map +1 -0
  27. package/lib/src/controllers/ConnectorController.d.ts +90 -0
  28. package/lib/src/controllers/ConnectorController.js +196 -0
  29. package/lib/src/controllers/ConnectorController.js.map +1 -0
  30. package/lib/src/controllers/DebugController.d.ts +33 -0
  31. package/lib/src/controllers/DebugController.js +72 -0
  32. package/lib/src/controllers/DebugController.js.map +1 -0
  33. package/lib/src/controllers/DocumentController.d.ts +40 -0
  34. package/lib/src/controllers/DocumentController.js +163 -0
  35. package/lib/src/controllers/DocumentController.js.map +1 -0
  36. package/lib/src/controllers/ExperimentController.d.ts +39 -0
  37. package/lib/src/controllers/ExperimentController.js +83 -0
  38. package/lib/src/controllers/ExperimentController.js.map +1 -0
  39. package/lib/src/controllers/FontConnectorController.d.ts +95 -0
  40. package/lib/src/controllers/FontConnectorController.js +168 -0
  41. package/lib/src/controllers/FontConnectorController.js.map +1 -0
  42. package/lib/src/controllers/FontController.d.ts +50 -0
  43. package/lib/src/controllers/FontController.js +95 -0
  44. package/lib/src/controllers/FontController.js.map +1 -0
  45. package/lib/src/controllers/FrameController.d.ts +369 -0
  46. package/lib/src/controllers/FrameController.js +599 -0
  47. package/lib/src/controllers/FrameController.js.map +1 -0
  48. package/lib/src/controllers/LayoutController.d.ts +103 -0
  49. package/lib/src/controllers/LayoutController.js +190 -0
  50. package/lib/src/controllers/LayoutController.js.map +1 -0
  51. package/lib/src/controllers/MediaConnectorController.d.ts +95 -0
  52. package/lib/src/controllers/MediaConnectorController.js +170 -0
  53. package/lib/src/controllers/MediaConnectorController.js.map +1 -0
  54. package/lib/src/controllers/PageController.d.ts +40 -0
  55. package/lib/src/controllers/PageController.js +92 -0
  56. package/lib/src/controllers/PageController.js.map +1 -0
  57. package/lib/src/controllers/ParagraphStyleController.d.ts +62 -0
  58. package/lib/src/controllers/ParagraphStyleController.js +117 -0
  59. package/lib/src/controllers/ParagraphStyleController.js.map +1 -0
  60. package/lib/src/controllers/ShapeController.d.ts +104 -0
  61. package/lib/src/controllers/ShapeController.js +174 -0
  62. package/lib/src/controllers/ShapeController.js.map +1 -0
  63. package/lib/src/controllers/SubscriberController.d.ts +143 -0
  64. package/lib/src/controllers/SubscriberController.js +213 -0
  65. package/lib/src/controllers/SubscriberController.js.map +1 -0
  66. package/lib/src/controllers/TextStyleController.d.ts +31 -0
  67. package/lib/src/controllers/TextStyleController.js +71 -0
  68. package/lib/src/controllers/TextStyleController.js.map +1 -0
  69. package/lib/src/controllers/ToolController.d.ts +54 -0
  70. package/lib/src/controllers/ToolController.js +104 -0
  71. package/lib/src/controllers/ToolController.js.map +1 -0
  72. package/lib/src/controllers/UndoManagerController.d.ts +22 -0
  73. package/lib/src/controllers/UndoManagerController.js +56 -0
  74. package/lib/src/controllers/UndoManagerController.js.map +1 -0
  75. package/lib/src/controllers/UtilsController.d.ts +20 -0
  76. package/lib/src/controllers/UtilsController.js +35 -0
  77. package/lib/src/controllers/UtilsController.js.map +1 -0
  78. package/lib/src/controllers/VariableController.d.ts +117 -0
  79. package/lib/src/controllers/VariableController.js +205 -0
  80. package/lib/src/controllers/VariableController.js.map +1 -0
  81. package/lib/src/index.d.ts +93 -0
  82. package/lib/src/index.js +154 -0
  83. package/lib/src/index.js.map +1 -0
  84. package/lib/src/interactions/connector.d.ts +31 -0
  85. package/lib/src/interactions/connector.js +99 -0
  86. package/lib/src/interactions/connector.js.map +1 -0
  87. package/lib/src/setupTests.d.ts +1 -0
  88. package/lib/src/setupTests.js +2 -0
  89. package/lib/src/setupTests.js.map +1 -0
  90. package/lib/src/tests/__mocks__/FrameProperties.d.ts +52 -0
  91. package/lib/src/tests/__mocks__/FrameProperties.js +20 -0
  92. package/lib/src/tests/__mocks__/FrameProperties.js.map +1 -0
  93. package/lib/src/tests/__mocks__/MockImageFrameSource.d.ts +4 -0
  94. package/lib/src/tests/__mocks__/MockImageFrameSource.js +15 -0
  95. package/lib/src/tests/__mocks__/MockImageFrameSource.js.map +1 -0
  96. package/lib/src/tests/__mocks__/animations.d.ts +2 -0
  97. package/lib/src/tests/__mocks__/animations.js +10 -0
  98. package/lib/src/tests/__mocks__/animations.js.map +1 -0
  99. package/lib/src/tests/__mocks__/config.d.ts +5 -0
  100. package/lib/src/tests/__mocks__/config.js +31 -0
  101. package/lib/src/tests/__mocks__/config.js.map +1 -0
  102. package/lib/src/tests/__mocks__/mockDocument.d.ts +1 -0
  103. package/lib/src/tests/__mocks__/mockDocument.js +2 -0
  104. package/lib/src/tests/__mocks__/mockDocument.js.map +1 -0
  105. package/lib/src/tests/controllers/ActionController.test.d.ts +1 -0
  106. package/lib/src/tests/controllers/ActionController.test.js +61 -0
  107. package/lib/src/tests/controllers/ActionController.test.js.map +1 -0
  108. package/lib/src/tests/controllers/AnimationController.test.d.ts +1 -0
  109. package/lib/src/tests/controllers/AnimationController.test.js +91 -0
  110. package/lib/src/tests/controllers/AnimationController.test.js.map +1 -0
  111. package/lib/src/tests/controllers/CanvasController.test.d.ts +1 -0
  112. package/lib/src/tests/controllers/CanvasController.test.js +50 -0
  113. package/lib/src/tests/controllers/CanvasController.test.js.map +1 -0
  114. package/lib/src/tests/controllers/CharacterStyleController.test.d.ts +1 -0
  115. package/lib/src/tests/controllers/CharacterStyleController.test.js +125 -0
  116. package/lib/src/tests/controllers/CharacterStyleController.test.js.map +1 -0
  117. package/lib/src/tests/controllers/ColorStyleController.test.d.ts +1 -0
  118. package/lib/src/tests/controllers/ColorStyleController.test.js +83 -0
  119. package/lib/src/tests/controllers/ColorStyleController.test.js.map +1 -0
  120. package/lib/src/tests/controllers/ConfigurationConnectorController.test.d.ts +1 -0
  121. package/lib/src/tests/controllers/ConfigurationConnectorController.test.js +39 -0
  122. package/lib/src/tests/controllers/ConfigurationConnectorController.test.js.map +1 -0
  123. package/lib/src/tests/controllers/ConnectorController.test.d.ts +1 -0
  124. package/lib/src/tests/controllers/ConnectorController.test.js +77 -0
  125. package/lib/src/tests/controllers/ConnectorController.test.js.map +1 -0
  126. package/lib/src/tests/controllers/DebugController.test.d.ts +1 -0
  127. package/lib/src/tests/controllers/DebugController.test.js +47 -0
  128. package/lib/src/tests/controllers/DebugController.test.js.map +1 -0
  129. package/lib/src/tests/controllers/DocumentController.test.d.ts +1 -0
  130. package/lib/src/tests/controllers/DocumentController.test.js +170 -0
  131. package/lib/src/tests/controllers/DocumentController.test.js.map +1 -0
  132. package/lib/src/tests/controllers/ExperimentController.test.d.ts +1 -0
  133. package/lib/src/tests/controllers/ExperimentController.test.js +53 -0
  134. package/lib/src/tests/controllers/ExperimentController.test.js.map +1 -0
  135. package/lib/src/tests/controllers/FontConnectorController.test.d.ts +1 -0
  136. package/lib/src/tests/controllers/FontConnectorController.test.js +109 -0
  137. package/lib/src/tests/controllers/FontConnectorController.test.js.map +1 -0
  138. package/lib/src/tests/controllers/FontController.test.d.ts +1 -0
  139. package/lib/src/tests/controllers/FontController.test.js +73 -0
  140. package/lib/src/tests/controllers/FontController.test.js.map +1 -0
  141. package/lib/src/tests/controllers/FrameController.test.d.ts +1 -0
  142. package/lib/src/tests/controllers/FrameController.test.js +408 -0
  143. package/lib/src/tests/controllers/FrameController.test.js.map +1 -0
  144. package/lib/src/tests/controllers/LayoutController.test.d.ts +1 -0
  145. package/lib/src/tests/controllers/LayoutController.test.js +144 -0
  146. package/lib/src/tests/controllers/LayoutController.test.js.map +1 -0
  147. package/lib/src/tests/controllers/MediaConnectorController.test.d.ts +1 -0
  148. package/lib/src/tests/controllers/MediaConnectorController.test.js +109 -0
  149. package/lib/src/tests/controllers/MediaConnectorController.test.js.map +1 -0
  150. package/lib/src/tests/controllers/PageController.test.d.ts +1 -0
  151. package/lib/src/tests/controllers/PageController.test.js +58 -0
  152. package/lib/src/tests/controllers/PageController.test.js.map +1 -0
  153. package/lib/src/tests/controllers/ParagraphStyleController.test.d.ts +1 -0
  154. package/lib/src/tests/controllers/ParagraphStyleController.test.js +139 -0
  155. package/lib/src/tests/controllers/ParagraphStyleController.test.js.map +1 -0
  156. package/lib/src/tests/controllers/ShapeController.test.d.ts +1 -0
  157. package/lib/src/tests/controllers/ShapeController.test.js +102 -0
  158. package/lib/src/tests/controllers/ShapeController.test.js.map +1 -0
  159. package/lib/src/tests/controllers/SubscriberContoller.test.d.ts +1 -0
  160. package/lib/src/tests/controllers/SubscriberContoller.test.js +201 -0
  161. package/lib/src/tests/controllers/SubscriberContoller.test.js.map +1 -0
  162. package/lib/src/tests/controllers/TextStyleController.test.d.ts +1 -0
  163. package/lib/src/tests/controllers/TextStyleController.test.js +43 -0
  164. package/lib/src/tests/controllers/TextStyleController.test.js.map +1 -0
  165. package/lib/src/tests/controllers/ToolController.test.d.ts +1 -0
  166. package/lib/src/tests/controllers/ToolController.test.js +72 -0
  167. package/lib/src/tests/controllers/ToolController.test.js.map +1 -0
  168. package/lib/src/tests/controllers/UndoManagerController.test.d.ts +1 -0
  169. package/lib/src/tests/controllers/UndoManagerController.test.js +35 -0
  170. package/lib/src/tests/controllers/UndoManagerController.test.js.map +1 -0
  171. package/lib/src/tests/controllers/UtilsController.test.d.ts +1 -0
  172. package/lib/src/tests/controllers/UtilsController.test.js +33 -0
  173. package/lib/src/tests/controllers/UtilsController.test.js.map +1 -0
  174. package/lib/src/tests/controllers/VariableController.test.d.ts +1 -0
  175. package/lib/src/tests/controllers/VariableController.test.js +161 -0
  176. package/lib/src/tests/controllers/VariableController.test.js.map +1 -0
  177. package/lib/src/tests/index.test.d.ts +1 -0
  178. package/lib/src/tests/index.test.js +26 -0
  179. package/lib/src/tests/index.test.js.map +1 -0
  180. package/lib/src/tests/interactions/connector.test.d.ts +1 -0
  181. package/lib/src/tests/interactions/connector.test.js +24 -0
  182. package/lib/src/tests/interactions/connector.test.js.map +1 -0
  183. package/lib/src/tests/utils/editorResponseData.test.d.ts +1 -0
  184. package/lib/src/tests/utils/editorResponseData.test.js +48 -0
  185. package/lib/src/tests/utils/editorResponseData.test.js.map +1 -0
  186. package/lib/src/tests/utils/getClaculatedValue.test.d.ts +1 -0
  187. package/lib/src/tests/utils/getClaculatedValue.test.js +78 -0
  188. package/lib/src/tests/utils/getClaculatedValue.test.js.map +1 -0
  189. package/lib/src/tests/utils/getFetchUrls.test.d.ts +1 -0
  190. package/lib/src/tests/utils/getFetchUrls.test.js +10 -0
  191. package/lib/src/tests/utils/getFetchUrls.test.js.map +1 -0
  192. package/lib/src/tests/utils/round.test.d.ts +1 -0
  193. package/lib/src/tests/utils/round.test.js +16 -0
  194. package/lib/src/tests/utils/round.test.js.map +1 -0
  195. package/lib/src/types/ActionTypes.d.ts +63 -0
  196. package/lib/src/types/ActionTypes.js +29 -0
  197. package/lib/src/types/ActionTypes.js.map +1 -0
  198. package/lib/src/types/AnimationTypes.d.ts +111 -0
  199. package/lib/src/types/AnimationTypes.js +49 -0
  200. package/lib/src/types/AnimationTypes.js.map +1 -0
  201. package/lib/src/types/CharacterStyleTypes.d.ts +65 -0
  202. package/lib/src/types/CharacterStyleTypes.js +2 -0
  203. package/lib/src/types/CharacterStyleTypes.js.map +1 -0
  204. package/lib/src/types/ColorStyleTypes.d.ts +73 -0
  205. package/lib/src/types/ColorStyleTypes.js +24 -0
  206. package/lib/src/types/ColorStyleTypes.js.map +1 -0
  207. package/lib/src/types/CommonTypes.d.ts +92 -0
  208. package/lib/src/types/CommonTypes.js +2 -0
  209. package/lib/src/types/CommonTypes.js.map +1 -0
  210. package/lib/src/types/ConfigurationTypes.d.ts +6 -0
  211. package/lib/src/types/ConfigurationTypes.js +8 -0
  212. package/lib/src/types/ConfigurationTypes.js.map +1 -0
  213. package/lib/src/types/ConnectorTypes.d.ts +115 -0
  214. package/lib/src/types/ConnectorTypes.js +94 -0
  215. package/lib/src/types/ConnectorTypes.js.map +1 -0
  216. package/lib/src/types/DebugTypes.d.ts +25 -0
  217. package/lib/src/types/DebugTypes.js +8 -0
  218. package/lib/src/types/DebugTypes.js.map +1 -0
  219. package/lib/src/types/DocumentTypes.d.ts +180 -0
  220. package/lib/src/types/DocumentTypes.js +17 -0
  221. package/lib/src/types/DocumentTypes.js.map +1 -0
  222. package/lib/src/types/FontConnectorTypes.d.ts +20 -0
  223. package/lib/src/types/FontConnectorTypes.js +6 -0
  224. package/lib/src/types/FontConnectorTypes.js.map +1 -0
  225. package/lib/src/types/FontTypes.d.ts +15 -0
  226. package/lib/src/types/FontTypes.js +2 -0
  227. package/lib/src/types/FontTypes.js.map +1 -0
  228. package/lib/src/types/FrameTypes.d.ts +156 -0
  229. package/lib/src/types/FrameTypes.js +63 -0
  230. package/lib/src/types/FrameTypes.js.map +1 -0
  231. package/lib/src/types/LayoutTypes.d.ts +61 -0
  232. package/lib/src/types/LayoutTypes.js +6 -0
  233. package/lib/src/types/LayoutTypes.js.map +1 -0
  234. package/lib/src/types/MediaConnectorTypes.d.ts +20 -0
  235. package/lib/src/types/MediaConnectorTypes.js +6 -0
  236. package/lib/src/types/MediaConnectorTypes.js.map +1 -0
  237. package/lib/src/types/PageTypes.d.ts +12 -0
  238. package/lib/src/types/PageTypes.js +2 -0
  239. package/lib/src/types/PageTypes.js.map +1 -0
  240. package/lib/src/types/ParagraphStyleTypes.d.ts +79 -0
  241. package/lib/src/types/ParagraphStyleTypes.js +2 -0
  242. package/lib/src/types/ParagraphStyleTypes.js.map +1 -0
  243. package/lib/src/types/ShapeTypes.d.ts +26 -0
  244. package/lib/src/types/ShapeTypes.js +13 -0
  245. package/lib/src/types/ShapeTypes.js.map +1 -0
  246. package/lib/src/types/TextStyleTypes.d.ts +131 -0
  247. package/lib/src/types/TextStyleTypes.js +68 -0
  248. package/lib/src/types/TextStyleTypes.js.map +1 -0
  249. package/lib/src/types/VariableTypes.d.ts +45 -0
  250. package/lib/src/types/VariableTypes.js +13 -0
  251. package/lib/src/types/VariableTypes.js.map +1 -0
  252. package/lib/src/utils/EditorResponseData.d.ts +3 -0
  253. package/lib/src/utils/EditorResponseData.js +16 -0
  254. package/lib/src/utils/EditorResponseData.js.map +1 -0
  255. package/lib/src/utils/enums.d.ts +30 -0
  256. package/lib/src/utils/enums.js +36 -0
  257. package/lib/src/utils/enums.js.map +1 -0
  258. package/lib/src/utils/getCalculatedValue.d.ts +2 -0
  259. package/lib/src/utils/getCalculatedValue.js +20 -0
  260. package/lib/src/utils/getCalculatedValue.js.map +1 -0
  261. package/lib/src/utils/getFetchUrl.d.ts +2 -0
  262. package/lib/src/utils/getFetchUrl.js +3 -0
  263. package/lib/src/utils/getFetchUrl.js.map +1 -0
  264. package/package.json +89 -0
@@ -0,0 +1,154 @@
1
+ import Connect from './interactions/connector';
2
+ import { FrameController } from './controllers/FrameController';
3
+ import { AnimationController } from './controllers/AnimationController';
4
+ import { LayoutController } from './controllers/LayoutController';
5
+ import { PageController } from './controllers/PageController';
6
+ import { UtilsController } from './controllers/UtilsController';
7
+ import { SubscriberController } from './controllers/SubscriberController';
8
+ import { DocumentController } from './controllers/DocumentController';
9
+ import { DebugController } from './controllers/DebugController';
10
+ import { VariableController } from './controllers/VariableController';
11
+ import { ToolController } from './controllers/ToolController';
12
+ import { UndoManagerController } from './controllers/UndoManagerController';
13
+ import { TextStyleController } from './controllers/TextStyleController';
14
+ import { ColorStyleController } from './controllers/ColorStyleController';
15
+ import { ParagraphStyleController } from './controllers/ParagraphStyleController';
16
+ import { ConfigurationController } from './controllers/ConfigurationController';
17
+ import { MediaConnectorController } from './controllers/MediaConnectorController';
18
+ import { WellKnownConfigurationKeys } from './types/ConfigurationTypes';
19
+ import packageInfo from '../package.json';
20
+ import engineInfo from '../editor-engine.json';
21
+ import { FontController } from './controllers/FontController';
22
+ import { ConnectorController } from './controllers/ConnectorController';
23
+ import { FontConnectorController } from './controllers/FontConnectorController';
24
+ import { ExperimentController } from './controllers/ExperimentController';
25
+ import { CharacterStyleController } from './controllers/CharacterStyleController';
26
+ import { CanvasController } from './controllers/CanvasController';
27
+ import { DocumentType } from './types/DocumentTypes';
28
+ import { ActionController } from './controllers/ActionController';
29
+ import { ShapeController } from './controllers/ShapeController';
30
+ export { FrameProperyNames, LayoutProperyNames, ToolType, DownloadFormats } from './utils/enums';
31
+ export { SlideDirections, ShakeDirections, EaseTypes, TweenTypes, BasicAnimationsEmphasisStyles, } from './types/AnimationTypes';
32
+ export { LayoutType } from './types/LayoutTypes';
33
+ export { BlendMode, FrameTypeEnum, VerticalAlign, TextDirection, FlowDirection, FitMode, UpdateZIndexMethod, ImageSourceTypeEnum, } from './types/FrameTypes';
34
+ export { VariableType, ImageVariableSourceType } from './types/VariableTypes';
35
+ export { SelectedTextStyleSections, SelectedTextStyles, FontWeights, Alignment, TextPosition, Case, Scripting, } from './types/TextStyleTypes';
36
+ export { ColorType } from './types/ColorStyleTypes';
37
+ export * from './types/MediaConnectorTypes';
38
+ export * from './types/FontConnectorTypes';
39
+ export * from './types/ConnectorTypes';
40
+ export { WellKnownConfigurationKeys } from './types/ConfigurationTypes';
41
+ export * from './types/ActionTypes';
42
+ let connection;
43
+ const FIXED_EDITOR_LINK = 'https://studio-cdn.chiligrafx.com/editor/' + engineInfo.current + '/web';
44
+ export class SDK {
45
+ /**
46
+ * The SDK should be configured clientside and it exposes all controllers to work with in other applications
47
+ * @param config The configuration object where the SDK and editor can get configured
48
+ */
49
+ constructor(config) {
50
+ /**
51
+ * This method will initiate the editor, running this will result in the editor restarting
52
+ * It will generate an iframe in the document
53
+ */
54
+ this.loadEditor = () => {
55
+ Connect(this.config.editorLink || FIXED_EDITOR_LINK, {
56
+ onActionsChanged: this.subscriber.onActionsChanged,
57
+ onStateChanged: this.subscriber.onStateChanged,
58
+ onDocumentLoaded: this.subscriber.onDocumentLoaded,
59
+ onSelectedFrameContentChanged: this.subscriber.onSelectedFrameContentChanged,
60
+ onSelectedFrameLayoutChanged: this.subscriber.onSelectedFrameLayoutChanged,
61
+ onSelectedLayoutPropertiesChanged: this.subscriber.onSelectedLayoutPropertiesChanged,
62
+ onPageSelectionChanged: this.subscriber.onPageSelectionChanged,
63
+ onScrubberPositionChanged: this.subscriber.onAnimationPlaybackChanged,
64
+ onFrameAnimationsChanged: this.subscriber.onAnimationChanged,
65
+ onVariableListChanged: this.subscriber.onVariableListChanged,
66
+ onSelectedToolChanged: this.subscriber.onSelectedToolChanged,
67
+ onUndoStateChanged: this.subscriber.onUndoStateChanged,
68
+ onSelectedLayoutFramesChanged: this.subscriber.onSelectedLayoutFramesChanged,
69
+ onSelectedTextStyleChanged: this.subscriber.onSelectedTextStyleChanged,
70
+ onColorsChanged: this.subscriber.onColorsChanged,
71
+ onParagraphStylesChanged: this.subscriber.onParagraphStylesChanged,
72
+ onCharacterStylesChanged: this.subscriber.onCharacterStylesChanged,
73
+ onFontsChanged: this.subscriber.onFontsChanged,
74
+ onSelectedLayoutIdChanged: this.subscriber.onSelectedLayoutIdChanged,
75
+ onLayoutsChanged: this.subscriber.onLayoutsChanged,
76
+ onConnectorEvent: this.subscriber.onConnectorEvent,
77
+ onZoomChanged: this.subscriber.onZoomChanged,
78
+ onPageSizeChanged: this.subscriber.onPageSizeChanged,
79
+ onShapeCornerRadiusChanged: this.subscriber.onShapeCornerRadiusChanged,
80
+ }, this.setConnection, this.config.editorId);
81
+ this.editorAPI = connection === null || connection === void 0 ? void 0 : connection.promise.then((editorAPI) => {
82
+ return editorAPI;
83
+ });
84
+ this.action = new ActionController(this.editorAPI);
85
+ this.layout = new LayoutController(this.editorAPI);
86
+ this.frame = new FrameController(this.editorAPI);
87
+ this.animation = new AnimationController(this.editorAPI);
88
+ this.document = new DocumentController(this.editorAPI);
89
+ this.configuration = new ConfigurationController(this.editorAPI);
90
+ this.variable = new VariableController(this.editorAPI);
91
+ this.utils = new UtilsController();
92
+ this.tool = new ToolController(this.editorAPI);
93
+ this.page = new PageController(this.editorAPI);
94
+ this.debug = new DebugController(this.editorAPI);
95
+ this.undoManager = new UndoManagerController(this.editorAPI);
96
+ this.textSelection = new TextStyleController(this.editorAPI);
97
+ this.colorStyle = new ColorStyleController(this.editorAPI);
98
+ this.paragraphStyle = new ParagraphStyleController(this.editorAPI);
99
+ this.characterStyle = new CharacterStyleController(this.editorAPI);
100
+ this.mediaConnector = new MediaConnectorController(this.editorAPI);
101
+ this.fontConnector = new FontConnectorController(this.editorAPI);
102
+ this.connector = new ConnectorController(this.editorAPI);
103
+ this.font = new FontController(this.editorAPI);
104
+ this.experiment = new ExperimentController(this.editorAPI);
105
+ this.canvas = new CanvasController(this.editorAPI);
106
+ this.shape = new ShapeController(this.editorAPI);
107
+ // as soon as the editor loads, provide it with the SDK version
108
+ // used to make it start. This enables engine compatibility checks
109
+ // on the Flutter side
110
+ this.configuration.setValue(WellKnownConfigurationKeys.GraFxStudioSdkVersion, packageInfo.version);
111
+ // Makes the engine aware which document type it should render, if this call
112
+ // isn't made, the engine will fall back to the type specified in the document.
113
+ //
114
+ // Loading a template JSON and setting the engine to `project` will cause
115
+ // the document JSON structure to be converted to a project on save.
116
+ // Using `getCurrentDocumentState` will also output the converted document.
117
+ this.configuration.setValue(WellKnownConfigurationKeys.GraFxStudioDocumentType, this.config.documentType || DocumentType.template);
118
+ };
119
+ this.setConnection = (newConnection) => {
120
+ connection = newConnection;
121
+ };
122
+ this.config = config;
123
+ this.connection = connection;
124
+ this.editorAPI = connection === null || connection === void 0 ? void 0 : connection.promise.then((child) => {
125
+ return child;
126
+ });
127
+ this.action = new ActionController(this.editorAPI);
128
+ this.layout = new LayoutController(this.editorAPI);
129
+ this.frame = new FrameController(this.editorAPI);
130
+ this.shape = new ShapeController(this.editorAPI);
131
+ this.connector = new ConnectorController(this.editorAPI);
132
+ this.mediaConnector = new MediaConnectorController(this.editorAPI);
133
+ this.fontConnector = new FontConnectorController(this.editorAPI);
134
+ this.animation = new AnimationController(this.editorAPI);
135
+ this.document = new DocumentController(this.editorAPI);
136
+ this.configuration = new ConfigurationController(this.editorAPI);
137
+ this.variable = new VariableController(this.editorAPI);
138
+ this.utils = new UtilsController();
139
+ this.subscriber = new SubscriberController(this.config);
140
+ this.tool = new ToolController(this.editorAPI);
141
+ this.page = new PageController(this.editorAPI);
142
+ this.debug = new DebugController(this.editorAPI);
143
+ this.undoManager = new UndoManagerController(this.editorAPI);
144
+ this.textSelection = new TextStyleController(this.editorAPI);
145
+ this.colorStyle = new ColorStyleController(this.editorAPI);
146
+ this.paragraphStyle = new ParagraphStyleController(this.editorAPI);
147
+ this.characterStyle = new CharacterStyleController(this.editorAPI);
148
+ this.font = new FontController(this.editorAPI);
149
+ this.experiment = new ExperimentController(this.editorAPI);
150
+ this.canvas = new CanvasController(this.editorAPI);
151
+ }
152
+ }
153
+ export default SDK;
154
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { Connection } from 'penpal';
2
+ export declare const validateEditorLink: (editorLink: string) => string;
3
+ export declare const setupFrame: (iframe: HTMLIFrameElement, editorLink: string) => void;
4
+ interface ConfigParameterTypes {
5
+ onActionsChanged: (state: string) => void;
6
+ onStateChanged: (state: string) => void;
7
+ onDocumentLoaded: () => void;
8
+ onSelectedFrameContentChanged: (state: string) => void;
9
+ onSelectedFrameLayoutChanged: (state: string) => void;
10
+ onSelectedLayoutPropertiesChanged: (state: string) => void;
11
+ onPageSelectionChanged: () => void;
12
+ onScrubberPositionChanged: (state: string) => void;
13
+ onFrameAnimationsChanged: (state: string) => void;
14
+ onVariableListChanged: (state: string) => void;
15
+ onSelectedToolChanged: (state: string) => void;
16
+ onUndoStateChanged: (state: string) => void;
17
+ onSelectedLayoutFramesChanged: (state: string) => void;
18
+ onSelectedTextStyleChanged: (styles: string) => void;
19
+ onColorsChanged: (colors: string) => void;
20
+ onParagraphStylesChanged: (paragraphStyles: string) => void;
21
+ onCharacterStylesChanged: (characterStyles: string) => void;
22
+ onFontsChanged: (fonts: string) => void;
23
+ onSelectedLayoutIdChanged: (layoutId: string) => void;
24
+ onLayoutsChanged: (layouts: string) => void;
25
+ onConnectorEvent: (state: string) => void;
26
+ onZoomChanged: (scaleFactor: string) => void;
27
+ onPageSizeChanged: (scaleFactor: string) => void;
28
+ onShapeCornerRadiusChanged: (cornerRadius: string) => void;
29
+ }
30
+ declare const Connect: (editorLink: string, params: ConfigParameterTypes, setConnection: (connection: Connection) => void, editorId?: string) => void;
31
+ export default Connect;
@@ -0,0 +1,99 @@
1
+ import { connectToChild } from 'penpal';
2
+ export const validateEditorLink = (editorLink) => {
3
+ const linkValidator = new RegExp(/^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w.-]+)+[\w]+\/$/);
4
+ let link = '';
5
+ if (linkValidator.test(editorLink)) {
6
+ link = editorLink;
7
+ }
8
+ else if (editorLink.indexOf('/index.html') > -1) {
9
+ link = editorLink.replace('/index.html', '/');
10
+ }
11
+ else if (editorLink.charAt(-1) !== '/') {
12
+ link = `${editorLink}/`;
13
+ }
14
+ return link;
15
+ };
16
+ export const setupFrame = (iframe, editorLink) => {
17
+ const link = validateEditorLink(editorLink);
18
+ const html = `<html>
19
+ <head>
20
+ <base href="/" />
21
+ <meta charset="UTF-8"/>
22
+ <!-- use this property to override the location of assets like 'default fonts' and demo document -->
23
+ <meta name="assetBase" content="${link}">
24
+ </head>
25
+ <body>
26
+ <script async src="${link}init.js"></script>
27
+ <script async src="https://unpkg.com/penpal@6.1.0/dist/penpal.min.js"></script>
28
+ <script async src="${link}main.dart.js"></script>
29
+ </body>
30
+ </html>
31
+ `;
32
+ // eslint-disable-next-line no-param-reassign
33
+ iframe.srcdoc = 'test';
34
+ let iframeDoc = iframe.ownerDocument;
35
+ if (iframe.contentWindow) {
36
+ iframeDoc = iframe.contentWindow.document;
37
+ }
38
+ iframeDoc.open();
39
+ iframeDoc.write(html);
40
+ iframeDoc.close();
41
+ };
42
+ const Connect = (editorLink, params, setConnection, editorId = 'chili-editor') => {
43
+ const editorSelectorId = `#${editorId}`;
44
+ const iframe = document.createElement('iframe');
45
+ iframe.setAttribute('srcdoc', ' ');
46
+ iframe.setAttribute('title', 'Chili-Editor');
47
+ iframe.setAttribute('style', 'width: 100%; height: 100%;');
48
+ iframe.setAttribute('frameBorder', '0');
49
+ iframe.setAttribute('referrerpolicy', 'origin');
50
+ const setupNewFrame = () => {
51
+ const iframeContainer = document.querySelector(editorSelectorId);
52
+ if (iframeContainer) {
53
+ iframeContainer === null || iframeContainer === void 0 ? void 0 : iframeContainer.appendChild(iframe);
54
+ setupFrame(iframe, editorLink);
55
+ }
56
+ };
57
+ if (document.readyState === 'complete' || document.readyState === 'interactive') {
58
+ setupNewFrame();
59
+ }
60
+ else {
61
+ document.addEventListener('DOMContentLoaded', () => {
62
+ setupNewFrame();
63
+ });
64
+ }
65
+ setConnection(connectToChild({
66
+ // The iframe to which a connection should be made
67
+ iframe,
68
+ // All the methods that we want to expose to the child should be inside the methods object
69
+ // f.e. stateChange(documentJson)
70
+ methods: {
71
+ actionsChanged: params.onActionsChanged,
72
+ stateChanged: params.onStateChanged,
73
+ documentLoaded: params.onDocumentLoaded,
74
+ selectedFrameContent: params.onSelectedFrameContentChanged,
75
+ selectedFrameLayout: params.onSelectedFrameLayoutChanged,
76
+ selectedLayoutProperties: params.onSelectedLayoutPropertiesChanged,
77
+ openLayoutPropertiesPanel: params.onPageSelectionChanged,
78
+ scrubberPositionChanged: params.onScrubberPositionChanged,
79
+ frameAnimationsChanged: params.onFrameAnimationsChanged,
80
+ selectedToolChanged: params.onSelectedToolChanged,
81
+ variableListChanged: params.onVariableListChanged,
82
+ undoStackStateChanged: params.onUndoStateChanged,
83
+ selectedLayoutFramesChanged: params.onSelectedLayoutFramesChanged,
84
+ selectedTextStyleChanged: params.onSelectedTextStyleChanged,
85
+ colorsChanged: params.onColorsChanged,
86
+ paragraphStylesChanged: params.onParagraphStylesChanged,
87
+ characterStylesChanged: params.onCharacterStylesChanged,
88
+ fontsChanged: params.onFontsChanged,
89
+ selectedLayoutId: params.onSelectedLayoutIdChanged,
90
+ layoutListChanged: params.onLayoutsChanged,
91
+ connectorEvent: params.onConnectorEvent,
92
+ zoomChanged: params.onZoomChanged,
93
+ pageSizeChanged: params.onPageSizeChanged,
94
+ shapeCornerRadiusChanged: params.onShapeCornerRadiusChanged,
95
+ },
96
+ }));
97
+ };
98
+ export default Connect;
99
+ //# sourceMappingURL=connector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connector.js","sourceRoot":"","sources":["../../../src/interactions/connector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -0,0 +1,2 @@
1
+ import '@testing-library/jest-dom';
2
+ //# sourceMappingURL=setupTests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupTests.js","sourceRoot":"","sources":["../../src/setupTests.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAC"}
@@ -0,0 +1,52 @@
1
+ export declare const mockSelectFrame: {
2
+ frameId: string;
3
+ layoutId: string;
4
+ x: {
5
+ value: number;
6
+ isOverride: boolean;
7
+ };
8
+ y: {
9
+ value: number;
10
+ isOverride: boolean;
11
+ };
12
+ width: {
13
+ value: number;
14
+ isOverride: boolean;
15
+ };
16
+ height: {
17
+ value: number;
18
+ isOverride: boolean;
19
+ };
20
+ rotationDegrees: {
21
+ value: number;
22
+ isOverride: boolean;
23
+ };
24
+ scaleX: {
25
+ value: number;
26
+ isOverride: boolean;
27
+ };
28
+ scaleY: {
29
+ value: number;
30
+ isOverride: boolean;
31
+ };
32
+ included: {
33
+ value: boolean;
34
+ isOverride: boolean;
35
+ };
36
+ };
37
+ export declare const mockSelectPage: {
38
+ frameId: string;
39
+ layoutId: string;
40
+ width: {
41
+ value: number;
42
+ isOverride: boolean;
43
+ };
44
+ height: {
45
+ value: number;
46
+ isOverride: boolean;
47
+ };
48
+ timelineLengthMs: {
49
+ value: number;
50
+ isOverride: boolean;
51
+ };
52
+ };
@@ -0,0 +1,20 @@
1
+ export const mockSelectFrame = {
2
+ frameId: '300',
3
+ layoutId: '1',
4
+ x: { value: 100, isOverride: false },
5
+ y: { value: 20, isOverride: true },
6
+ width: { value: 220, isOverride: false },
7
+ height: { value: 343, isOverride: false },
8
+ rotationDegrees: { value: 22, isOverride: false },
9
+ scaleX: { value: 322, isOverride: false },
10
+ scaleY: { value: 873, isOverride: false },
11
+ included: { value: false, isOverride: false },
12
+ };
13
+ export const mockSelectPage = {
14
+ frameId: '300',
15
+ layoutId: '1',
16
+ width: { value: 100, isOverride: false },
17
+ height: { value: 20, isOverride: true },
18
+ timelineLengthMs: { value: 5000, isOverride: false },
19
+ };
20
+ //# sourceMappingURL=FrameProperties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FrameProperties.js","sourceRoot":"","sources":["../../../../src/tests/__mocks__/FrameProperties.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,GAAG;IACb,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE;IACpC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;IAClC,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE;IACxC,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE;IACzC,eAAe,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;IACjD,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE;IACzC,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE;IACzC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;CAChD,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC1B,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,GAAG;IACb,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE;IACxC,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;IACvC,gBAAgB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE;CACvD,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { ImageFrameConnectorSource, ImageFrameUrlSource, ImageFrameVariableSource } from '../../types/FrameTypes';
2
+ export declare const mockImageConnectorSource: ImageFrameConnectorSource;
3
+ export declare const mockImageUrlSource: ImageFrameUrlSource;
4
+ export declare const mockImageVariableSource: ImageFrameVariableSource;
@@ -0,0 +1,15 @@
1
+ import { ImageSourceTypeEnum, } from '../../types/FrameTypes';
2
+ export const mockImageConnectorSource = {
3
+ assetId: 'asset-id',
4
+ connectorId: 'connector-id',
5
+ sourceType: ImageSourceTypeEnum.connector,
6
+ };
7
+ export const mockImageUrlSource = {
8
+ url: 'https://image.url',
9
+ sourceType: ImageSourceTypeEnum.url,
10
+ };
11
+ export const mockImageVariableSource = {
12
+ variableId: 'variable-id',
13
+ sourceType: ImageSourceTypeEnum.variable,
14
+ };
15
+ //# sourceMappingURL=MockImageFrameSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MockImageFrameSource.js","sourceRoot":"","sources":["../../../../src/tests/__mocks__/MockImageFrameSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,mBAAmB,GAGtB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,CAAC,MAAM,wBAAwB,GAA8B;IAC/D,OAAO,EAAE,UAAU;IACnB,WAAW,EAAE,cAAc;IAC3B,UAAU,EAAE,mBAAmB,CAAC,SAAS;CAC5C,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAwB;IACnD,GAAG,EAAE,mBAAmB;IACxB,UAAU,EAAE,mBAAmB,CAAC,GAAG;CACtC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAA6B;IAC7D,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,mBAAmB,CAAC,QAAQ;CAC3C,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { FrameAnimationType } from '../../types/AnimationTypes';
2
+ export declare const mockFrameAnimation: FrameAnimationType;
@@ -0,0 +1,10 @@
1
+ export const mockFrameAnimation = {
2
+ animation: {
3
+ frameId: '1',
4
+ from: 2,
5
+ to: 3,
6
+ basicAnimations: {},
7
+ },
8
+ isOverride: true,
9
+ };
10
+ //# sourceMappingURL=animations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animations.js","sourceRoot":"","sources":["../../../../src/tests/__mocks__/animations.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAuB;IAClD,SAAS,EAAE;QACP,OAAO,EAAE,GAAG;QACZ,IAAI,EAAE,CAAC;QACP,EAAE,EAAE,CAAC;QACL,eAAe,EAAE,EAAE;KACtB;IACD,UAAU,EAAE,IAAI;CACnB,CAAC"}
@@ -0,0 +1,5 @@
1
+ /// <reference types="jest" />
2
+ import { ConfigType } from '../../types/CommonTypes';
3
+ export declare const defaultMockReturn: jest.Mock<any, any>;
4
+ declare const mockConfig: ConfigType;
5
+ export default mockConfig;
@@ -0,0 +1,31 @@
1
+ import { DocumentType } from '../../types/DocumentTypes';
2
+ export const defaultMockReturn = jest.fn().mockResolvedValue({ success: true, status: 0 });
3
+ const mockConfig = {
4
+ onActionsChanged: defaultMockReturn,
5
+ onStateChanged: defaultMockReturn,
6
+ onDocumentLoaded: defaultMockReturn,
7
+ onSelectedFrameLayoutChanged: defaultMockReturn,
8
+ onSelectedFrameContentChanged: defaultMockReturn,
9
+ editorLink: 'https://chili-editor-dev.azurewebsites.net/',
10
+ documentType: DocumentType.template,
11
+ onPageSelectionChanged: defaultMockReturn,
12
+ onSelectedLayoutPropertiesChanged: defaultMockReturn,
13
+ onScrubberPositionChanged: defaultMockReturn,
14
+ onFrameAnimationsChanged: defaultMockReturn,
15
+ onVariableListChanged: defaultMockReturn,
16
+ onSelectedToolChanged: defaultMockReturn,
17
+ onUndoStackStateChanged: jest.fn().mockResolvedValue({ success: true, status: 0 }),
18
+ onSelectedLayoutFramesChanged: defaultMockReturn,
19
+ onSelectedTextStyleChanged: defaultMockReturn,
20
+ onColorsChanged: defaultMockReturn,
21
+ onParagraphStylesChanged: defaultMockReturn,
22
+ onCharacterStylesChanged: defaultMockReturn,
23
+ onFontsChanged: defaultMockReturn,
24
+ onSelectedLayoutIdChanged: defaultMockReturn,
25
+ onLayoutsChanged: defaultMockReturn,
26
+ onConnectorEvent: defaultMockReturn,
27
+ onZoomChanged: defaultMockReturn,
28
+ onPageSizeChanged: defaultMockReturn,
29
+ };
30
+ export default mockConfig;
31
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/tests/__mocks__/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AAE3F,MAAM,UAAU,GAAe;IAC3B,gBAAgB,EAAE,iBAAiB;IACnC,cAAc,EAAE,iBAAiB;IACjC,gBAAgB,EAAE,iBAAiB;IACnC,4BAA4B,EAAE,iBAAiB;IAC/C,6BAA6B,EAAE,iBAAiB;IAChD,UAAU,EAAE,6CAA6C;IACzD,YAAY,EAAE,YAAY,CAAC,QAAQ;IACnC,sBAAsB,EAAE,iBAAiB;IACzC,iCAAiC,EAAE,iBAAiB;IACpD,yBAAyB,EAAE,iBAAiB;IAC5C,wBAAwB,EAAE,iBAAiB;IAC3C,qBAAqB,EAAE,iBAAiB;IACxC,qBAAqB,EAAE,iBAAiB;IACxC,uBAAuB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IAClF,6BAA6B,EAAE,iBAAiB;IAChD,0BAA0B,EAAE,iBAAiB;IAC7C,eAAe,EAAE,iBAAiB;IAClC,wBAAwB,EAAE,iBAAiB;IAC3C,wBAAwB,EAAE,iBAAiB;IAC3C,cAAc,EAAE,iBAAiB;IACjC,yBAAyB,EAAE,iBAAiB;IAC5C,gBAAgB,EAAE,iBAAiB;IACnC,gBAAgB,EAAE,iBAAiB;IACnC,aAAa,EAAE,iBAAiB;IAChC,iBAAiB,EAAE,iBAAiB;CACvC,CAAC;AACF,eAAe,UAAU,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const mockDocument = "{\"pages\":[{\"pageNumber\":0,\"width\":null,\"height\":null,\"frames\":[{\"frameId\":0,\"frameName\":\"water\",\"frameType\":\"image\",\"src\":{\"variableId\":\"varWater\",\"sourceType\":\"variable\"},\"blendMode\":\"srcOver\"},{\"frameId\":1,\"frameName\":\"bottle\",\"frameType\":\"image\",\"src\":{\"variableId\":\"varBottle\",\"sourceType\":\"variable\"},\"blendMode\":\"srcOver\"},{\"frameId\":2,\"frameName\":\"logo\",\"frameType\":\"image\",\"src\":{\"url\":\"https://storageeditor2.blob.core.windows.net/assets/Logo-Water.png\",\"sourceType\":\"url\"},\"blendMode\":\"srcOver\"},{\"frameId\":6,\"frameName\":\"splash\",\"frameType\":\"image\",\"src\":{\"url\":\"https://storageeditor2.blob.core.windows.net/assets/Splash.png\",\"sourceType\":\"url\"},\"blendMode\":\"srcOver\"},{\"frameId\":3,\"frameName\":\"discover\",\"frameType\":\"text\",\"textContent\":\"<TextFlow><p fontFamily=\\\"Arial_Regular\\\" fontSize=\\\"26\\\" color=\\\"#333333\\\" paragraphStartIndent=\\\"0\\\" textIndent=\\\"0\\\" my_paragraphStyle=\\\"26F6305A-62C4-497A-8E71-CB59EC131D93\\\" textOverprint=\\\"false\\\"><span>DISCOVER</span></p></TextFlow>\",\"paddingLeft\":0,\"paddingTop\":0,\"paddingRight\":0,\"paddingBottom\":0,\"numberOfColumns\":1,\"columnGap\":5,\"textDirection\":\"leftToRight\",\"flowDirection\":\"horizontal\",\"verticalAlign\":\"top\",\"textStroke\":false,\"textStrokeWeight\":1,\"textStrokeColor\":0,\"hasClippingPath\":false,\"blendMode\":\"srcOver\"},{\"frameId\":4,\"frameName\":\"regular\",\"frameType\":\"text\",\"textContent\":\"<TextFlow><p fontFamily=\\\"Arial_Regular\\\" fontSize=\\\"26\\\" color=\\\"#333333\\\" paragraphStartIndent=\\\"0\\\" textIndent=\\\"0\\\" my_paragraphStyle=\\\"26F6305A-62C4-497A-8E71-CB59EC131D93\\\" textOverprint=\\\"false\\\"><span><var id=\\\"varText\\\"/></span></p></TextFlow>\",\"paddingLeft\":0,\"paddingTop\":0,\"paddingRight\":0,\"paddingBottom\":0,\"numberOfColumns\":1,\"columnGap\":5,\"textDirection\":\"leftToRight\",\"flowDirection\":\"horizontal\",\"verticalAlign\":\"top\",\"textStroke\":false,\"textStrokeWeight\":1,\"textStrokeColor\":0,\"hasClippingPath\":false,\"blendMode\":\"srcOver\"},{\"frameId\":5,\"frameName\":\"button\",\"frameType\":\"image\",\"src\":{\"url\":\"https://storageeditor2.blob.core.windows.net/assets/Button.png\",\"sourceType\":\"url\"},\"blendMode\":\"srcOver\"}]}],\"layouts\":[{\"layoutId\":0,\"layoutName\":\"Default\",\"frameProperties\":[{\"frameId\":0,\"x\":0,\"y\":0,\"width\":336,\"height\":280,\"rotationDegrees\":0,\"scaleX\":1,\"scaleY\":1,\"included\":true,\"framePropertiesType\":\"top\"},{\"frameId\":1,\"x\":50,\"y\":50,\"width\":50,\"height\":50,\"rotationDegrees\":0,\"scaleX\":1,\"scaleY\":1,\"included\":true,\"framePropertiesType\":\"top\"},{\"frameId\":2,\"x\":100,\"y\":50,\"width\":50,\"height\":50,\"rotationDegrees\":0,\"scaleX\":1,\"scaleY\":1,\"included\":true,\"framePropertiesType\":\"top\"},{\"frameId\":3,\"x\":100,\"y\":100,\"width\":200,\"height\":100,\"rotationDegrees\":0,\"scaleX\":1,\"scaleY\":1,\"included\":true,\"framePropertiesType\":\"top\"},{\"frameId\":4,\"x\":200,\"y\":50,\"width\":200,\"height\":100,\"rotationDegrees\":0,\"scaleX\":1,\"scaleY\":1,\"included\":true,\"framePropertiesType\":\"top\"},{\"frameId\":5,\"x\":200,\"y\":200,\"width\":200,\"height\":100,\"rotationDegrees\":0,\"scaleX\":1,\"scaleY\":1,\"included\":true,\"framePropertiesType\":\"top\"},{\"frameId\":6,\"x\":0,\"y\":300,\"width\":300,\"height\":100,\"rotationDegrees\":0,\"scaleX\":1,\"scaleY\":1,\"included\":true,\"framePropertiesType\":\"top\"}],\"width\":336,\"height\":280,\"childLayouts\":[],\"layoutType\":\"top\",\"frameAnimations\":[{\"frameId\":0,\"from\":0,\"to\":8000,\"basicAnimations\":{\"intro\":null,\"emphasis\":null,\"outro\":null}},{\"frameId\":1,\"from\":0,\"to\":8000,\"basicAnimations\":{\"intro\":null,\"emphasis\":null,\"outro\":null}},{\"frameId\":2,\"from\":0,\"to\":8000,\"basicAnimations\":{\"intro\":null,\"emphasis\":null,\"outro\":null}},{\"frameId\":3,\"from\":0,\"to\":8000,\"basicAnimations\":{\"intro\":null,\"emphasis\":null,\"outro\":null}},{\"frameId\":4,\"from\":0,\"to\":8000,\"basicAnimations\":{\"intro\":null,\"emphasis\":null,\"outro\":null}},{\"frameId\":5,\"from\":0,\"to\":8000,\"basicAnimations\":{\"intro\":null,\"emphasis\":null,\"outro\":null}},{\"frameId\":6,\"from\":0,\"to\":8000,\"basicAnimations\":{\"intro\":null,\"emphasis\":null,\"outro\":null}}],\"timelineLengthMs\":8000}],\"variables\":[{\"id\":\"varWater\",\"type\":\"image\",\"parentId\":\"\",\"name\":\"water\",\"label\":\"water\",\"isHidden\":false,\"value\":\"Water-Regular.jpg\",\"defaultValue\":\"\"},{\"id\":\"varBottle\",\"type\":\"image\",\"parentId\":\"\",\"name\":\"bottle\",\"label\":\"bottle\",\"isHidden\":false,\"value\":\"Bottle-Regular.png\",\"defaultValue\":\"\"},{\"id\":\"varText\",\"type\":\"shorttext\",\"parentId\":\"\",\"name\":\"text\",\"label\":\"text\",\"isHidden\":false,\"value\":\"REGULAR!\",\"defaultValue\":\"\"}],\"selectedLayoutId\":0}";
@@ -0,0 +1,2 @@
1
+ export const mockDocument = '{"pages":[{"pageNumber":0,"width":null,"height":null,"frames":[{"frameId":0,"frameName":"water","frameType":"image","src":{"variableId":"varWater","sourceType":"variable"},"blendMode":"srcOver"},{"frameId":1,"frameName":"bottle","frameType":"image","src":{"variableId":"varBottle","sourceType":"variable"},"blendMode":"srcOver"},{"frameId":2,"frameName":"logo","frameType":"image","src":{"url":"https://storageeditor2.blob.core.windows.net/assets/Logo-Water.png","sourceType":"url"},"blendMode":"srcOver"},{"frameId":6,"frameName":"splash","frameType":"image","src":{"url":"https://storageeditor2.blob.core.windows.net/assets/Splash.png","sourceType":"url"},"blendMode":"srcOver"},{"frameId":3,"frameName":"discover","frameType":"text","textContent":"<TextFlow><p fontFamily=\\"Arial_Regular\\" fontSize=\\"26\\" color=\\"#333333\\" paragraphStartIndent=\\"0\\" textIndent=\\"0\\" my_paragraphStyle=\\"26F6305A-62C4-497A-8E71-CB59EC131D93\\" textOverprint=\\"false\\"><span>DISCOVER</span></p></TextFlow>","paddingLeft":0,"paddingTop":0,"paddingRight":0,"paddingBottom":0,"numberOfColumns":1,"columnGap":5,"textDirection":"leftToRight","flowDirection":"horizontal","verticalAlign":"top","textStroke":false,"textStrokeWeight":1,"textStrokeColor":0,"hasClippingPath":false,"blendMode":"srcOver"},{"frameId":4,"frameName":"regular","frameType":"text","textContent":"<TextFlow><p fontFamily=\\"Arial_Regular\\" fontSize=\\"26\\" color=\\"#333333\\" paragraphStartIndent=\\"0\\" textIndent=\\"0\\" my_paragraphStyle=\\"26F6305A-62C4-497A-8E71-CB59EC131D93\\" textOverprint=\\"false\\"><span><var id=\\"varText\\"/></span></p></TextFlow>","paddingLeft":0,"paddingTop":0,"paddingRight":0,"paddingBottom":0,"numberOfColumns":1,"columnGap":5,"textDirection":"leftToRight","flowDirection":"horizontal","verticalAlign":"top","textStroke":false,"textStrokeWeight":1,"textStrokeColor":0,"hasClippingPath":false,"blendMode":"srcOver"},{"frameId":5,"frameName":"button","frameType":"image","src":{"url":"https://storageeditor2.blob.core.windows.net/assets/Button.png","sourceType":"url"},"blendMode":"srcOver"}]}],"layouts":[{"layoutId":0,"layoutName":"Default","frameProperties":[{"frameId":0,"x":0,"y":0,"width":336,"height":280,"rotationDegrees":0,"scaleX":1,"scaleY":1,"included":true,"framePropertiesType":"top"},{"frameId":1,"x":50,"y":50,"width":50,"height":50,"rotationDegrees":0,"scaleX":1,"scaleY":1,"included":true,"framePropertiesType":"top"},{"frameId":2,"x":100,"y":50,"width":50,"height":50,"rotationDegrees":0,"scaleX":1,"scaleY":1,"included":true,"framePropertiesType":"top"},{"frameId":3,"x":100,"y":100,"width":200,"height":100,"rotationDegrees":0,"scaleX":1,"scaleY":1,"included":true,"framePropertiesType":"top"},{"frameId":4,"x":200,"y":50,"width":200,"height":100,"rotationDegrees":0,"scaleX":1,"scaleY":1,"included":true,"framePropertiesType":"top"},{"frameId":5,"x":200,"y":200,"width":200,"height":100,"rotationDegrees":0,"scaleX":1,"scaleY":1,"included":true,"framePropertiesType":"top"},{"frameId":6,"x":0,"y":300,"width":300,"height":100,"rotationDegrees":0,"scaleX":1,"scaleY":1,"included":true,"framePropertiesType":"top"}],"width":336,"height":280,"childLayouts":[],"layoutType":"top","frameAnimations":[{"frameId":0,"from":0,"to":8000,"basicAnimations":{"intro":null,"emphasis":null,"outro":null}},{"frameId":1,"from":0,"to":8000,"basicAnimations":{"intro":null,"emphasis":null,"outro":null}},{"frameId":2,"from":0,"to":8000,"basicAnimations":{"intro":null,"emphasis":null,"outro":null}},{"frameId":3,"from":0,"to":8000,"basicAnimations":{"intro":null,"emphasis":null,"outro":null}},{"frameId":4,"from":0,"to":8000,"basicAnimations":{"intro":null,"emphasis":null,"outro":null}},{"frameId":5,"from":0,"to":8000,"basicAnimations":{"intro":null,"emphasis":null,"outro":null}},{"frameId":6,"from":0,"to":8000,"basicAnimations":{"intro":null,"emphasis":null,"outro":null}}],"timelineLengthMs":8000}],"variables":[{"id":"varWater","type":"image","parentId":"","name":"water","label":"water","isHidden":false,"value":"Water-Regular.jpg","defaultValue":""},{"id":"varBottle","type":"image","parentId":"","name":"bottle","label":"bottle","isHidden":false,"value":"Bottle-Regular.png","defaultValue":""},{"id":"varText","type":"shorttext","parentId":"","name":"text","label":"text","isHidden":false,"value":"REGULAR!","defaultValue":""}],"selectedLayoutId":0}';
2
+ //# sourceMappingURL=mockDocument.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockDocument.js","sourceRoot":"","sources":["../../../../src/tests/__mocks__/mockDocument.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GACrB,ixIAAixI,CAAC"}
@@ -0,0 +1,61 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { ActionEditorEvent } from '../../types/ActionTypes';
11
+ import { ActionController } from '../../controllers/ActionController';
12
+ import { castToEditorResponse, getEditorResponseData } from '../../utils/EditorResponseData';
13
+ let mockedActionController;
14
+ const mockEditorApi = {
15
+ createAction: () => __awaiter(void 0, void 0, void 0, function* () { return getEditorResponseData(castToEditorResponse(null)); }),
16
+ removeAction: () => __awaiter(void 0, void 0, void 0, function* () { return getEditorResponseData(castToEditorResponse(null)); }),
17
+ updateActionScript: () => __awaiter(void 0, void 0, void 0, function* () { return getEditorResponseData(castToEditorResponse(null)); }),
18
+ updateActionTriggers: () => __awaiter(void 0, void 0, void 0, function* () { return getEditorResponseData(castToEditorResponse(null)); }),
19
+ };
20
+ beforeEach(() => {
21
+ mockedActionController = new ActionController(mockEditorApi);
22
+ jest.spyOn(mockEditorApi, 'createAction');
23
+ jest.spyOn(mockEditorApi, 'removeAction');
24
+ jest.spyOn(mockEditorApi, 'updateActionScript');
25
+ jest.spyOn(mockEditorApi, 'updateActionTriggers');
26
+ });
27
+ afterAll(() => {
28
+ jest.restoreAllMocks();
29
+ });
30
+ afterAll(() => {
31
+ jest.restoreAllMocks();
32
+ });
33
+ describe('Should call all of the ActionController functions of child successfully', () => {
34
+ it('should call createAction function of EditorAPI with no params provided', () => __awaiter(void 0, void 0, void 0, function* () {
35
+ yield mockedActionController.createAction();
36
+ expect(mockEditorApi.createAction).toHaveBeenCalledTimes(1);
37
+ }));
38
+ it('should call removeAction function of EditorAPI', () => __awaiter(void 0, void 0, void 0, function* () {
39
+ yield mockedActionController.removeAction('0');
40
+ expect(mockEditorApi.removeAction).toHaveBeenCalledTimes(1);
41
+ expect(mockEditorApi.removeAction).toHaveBeenCalledWith('0');
42
+ }));
43
+ it('should call updateActionTriggers function of EditorAPI', () => __awaiter(void 0, void 0, void 0, function* () {
44
+ const triggers = [
45
+ {
46
+ event: ActionEditorEvent.frameMoved,
47
+ triggers: ['1', '2'],
48
+ },
49
+ ];
50
+ yield mockedActionController.updateActionTriggers('0', triggers);
51
+ expect(mockEditorApi.updateActionTriggers).toHaveBeenCalledTimes(1);
52
+ expect(mockEditorApi.updateActionTriggers).toHaveBeenCalledWith('0', JSON.stringify(triggers));
53
+ }));
54
+ it('should call updateActionScript function of EditorAPI', () => __awaiter(void 0, void 0, void 0, function* () {
55
+ const script = 'let a = 1';
56
+ yield mockedActionController.updateActionScript('0', script);
57
+ expect(mockEditorApi.updateActionScript).toHaveBeenCalledTimes(1);
58
+ expect(mockEditorApi.updateActionScript).toHaveBeenCalledWith('0', script);
59
+ }));
60
+ });
61
+ //# sourceMappingURL=ActionController.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionController.test.js","sourceRoot":"","sources":["../../../../src/tests/controllers/ActionController.test.ts"],"names":[],"mappings":"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"}