@chili-publish/studio-sdk 1.44.0 → 1.45.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 (88) hide show
  1. package/_bundles/main.js +2 -2
  2. package/_bundles/main.js.map +1 -1
  3. package/lib/src/controllers/BrandKitController.cjs.js +13 -64
  4. package/lib/src/controllers/BrandKitController.cjs.js.map +1 -1
  5. package/lib/src/controllers/BrandKitController.d.ts +22 -30
  6. package/lib/src/controllers/BrandKitController.es.js +13 -64
  7. package/lib/src/controllers/BrandKitController.es.js.map +1 -1
  8. package/lib/src/controllers/ComponentController.cjs.js.map +1 -1
  9. package/lib/src/controllers/ComponentController.d.ts +1 -1
  10. package/lib/src/controllers/ComponentController.es.js.map +1 -1
  11. package/lib/src/controllers/ConnectorController.cjs.js.map +1 -1
  12. package/lib/src/controllers/ConnectorController.d.ts +5 -5
  13. package/lib/src/controllers/ConnectorController.es.js.map +1 -1
  14. package/lib/src/exceptions/AsyncExceptions.cjs.js.map +1 -1
  15. package/lib/src/exceptions/AsyncExceptions.d.ts +1 -0
  16. package/lib/src/exceptions/AsyncExceptions.es.js.map +1 -1
  17. package/lib/src/exceptions/Helpers.cjs.js.map +1 -1
  18. package/lib/src/exceptions/Helpers.es.js.map +1 -1
  19. package/lib/src/index.cjs.js +3 -2
  20. package/lib/src/index.cjs.js.map +1 -1
  21. package/lib/src/index.d.ts +2 -1
  22. package/lib/src/index.es.js +2 -1
  23. package/lib/src/next/NextInitiator.cjs.js +0 -2
  24. package/lib/src/next/NextInitiator.cjs.js.map +1 -1
  25. package/lib/src/next/NextInitiator.d.ts +0 -2
  26. package/lib/src/next/NextInitiator.es.js +0 -2
  27. package/lib/src/next/NextInitiator.es.js.map +1 -1
  28. package/lib/src/next/index.d.ts +0 -1
  29. package/lib/src/sdk/editor-engine.json.cjs.js +1 -1
  30. package/lib/src/sdk/editor-engine.json.es.js +1 -1
  31. package/lib/src/sdk/package.json.cjs.js +1 -1
  32. package/lib/src/sdk/package.json.es.js +1 -1
  33. package/lib/src/sdk.cjs.js +116 -78
  34. package/lib/src/sdk.cjs.js.map +1 -1
  35. package/lib/src/sdk.d.ts +52 -34
  36. package/lib/src/sdk.es.js +116 -78
  37. package/lib/src/sdk.es.js.map +1 -1
  38. package/lib/src/types/BrandKitTypes.d.ts +70 -108
  39. package/lib/src/types/ColorStyleTypes.cjs.js +10 -0
  40. package/lib/src/types/ColorStyleTypes.cjs.js.map +1 -1
  41. package/lib/src/types/ColorStyleTypes.es.js +10 -0
  42. package/lib/src/types/ColorStyleTypes.es.js.map +1 -1
  43. package/lib/src/types/CommonTypes.cjs.js +1 -0
  44. package/lib/src/types/CommonTypes.cjs.js.map +1 -1
  45. package/lib/src/types/CommonTypes.d.ts +2 -1
  46. package/lib/src/types/CommonTypes.es.js +1 -0
  47. package/lib/src/types/CommonTypes.es.js.map +1 -1
  48. package/lib/src/types/ConnectorTypes.cjs.js +6 -2
  49. package/lib/src/types/ConnectorTypes.cjs.js.map +1 -1
  50. package/lib/src/types/ConnectorTypes.d.ts +10 -1
  51. package/lib/src/types/ConnectorTypes.es.js +6 -2
  52. package/lib/src/types/ConnectorTypes.es.js.map +1 -1
  53. package/lib/src/types/FrameTypes.cjs.js.map +1 -1
  54. package/lib/src/types/FrameTypes.d.ts +1 -4
  55. package/lib/src/types/FrameTypes.es.js.map +1 -1
  56. package/lib/src/types/MethodInvocationTypes.d.ts +27 -0
  57. package/lib/src/utils/EngineEventTrigger.cjs.js +4 -1
  58. package/lib/src/utils/EngineEventTrigger.cjs.js.map +1 -1
  59. package/lib/src/utils/EngineEventTrigger.d.ts +2 -1
  60. package/lib/src/utils/EngineEventTrigger.es.js +5 -2
  61. package/lib/src/utils/EngineEventTrigger.es.js.map +1 -1
  62. package/lib/src/utils/MethodInstrumentation.cjs.js +176 -0
  63. package/lib/src/utils/MethodInstrumentation.cjs.js.map +1 -0
  64. package/lib/src/utils/MethodInstrumentation.d.ts +10 -0
  65. package/lib/src/utils/MethodInstrumentation.es.js +176 -0
  66. package/lib/src/utils/MethodInstrumentation.es.js.map +1 -0
  67. package/lib/src/utils/SdkEvent.cjs.js +29 -0
  68. package/lib/src/utils/SdkEvent.cjs.js.map +1 -0
  69. package/lib/src/utils/SdkEvent.d.ts +13 -0
  70. package/lib/src/utils/SdkEvent.es.js +29 -0
  71. package/lib/src/utils/SdkEvent.es.js.map +1 -0
  72. package/lib/src/utils/SdkEvents.cjs.js +11 -0
  73. package/lib/src/utils/SdkEvents.cjs.js.map +1 -0
  74. package/lib/src/utils/SdkEvents.d.ts +19 -0
  75. package/lib/src/utils/SdkEvents.es.js +11 -0
  76. package/lib/src/utils/SdkEvents.es.js.map +1 -0
  77. package/package.json +1 -1
  78. package/lib/src/next/controllers/BrandKitController.cjs.js +0 -34
  79. package/lib/src/next/controllers/BrandKitController.cjs.js.map +0 -1
  80. package/lib/src/next/controllers/BrandKitController.d.ts +0 -24
  81. package/lib/src/next/controllers/BrandKitController.es.js +0 -34
  82. package/lib/src/next/controllers/BrandKitController.es.js.map +0 -1
  83. package/lib/src/next/types/BrandKitTypes.d.ts +0 -52
  84. package/lib/src/utils/BrandKitAdapter.cjs.js +0 -42
  85. package/lib/src/utils/BrandKitAdapter.cjs.js.map +0 -1
  86. package/lib/src/utils/BrandKitAdapter.d.ts +0 -9
  87. package/lib/src/utils/BrandKitAdapter.es.js +0 -42
  88. package/lib/src/utils/BrandKitAdapter.es.js.map +0 -1
package/lib/src/sdk.es.js CHANGED
@@ -41,19 +41,34 @@ import { GradientStyleController } from "./controllers/GradientStyleController.e
41
41
  import { ComponentConnectorController } from "./controllers/ComponentConnectorController.es.js";
42
42
  import { ComponentController } from "./controllers/ComponentController.es.js";
43
43
  import { ComponentGridController } from "./controllers/ComponentGridController.es.js";
44
+ import { MethodListenerRegistry, wrapWithInvocationObserver } from "./utils/MethodInstrumentation.es.js";
45
+ import { SdkEvents } from "./utils/SdkEvents.es.js";
44
46
  const ENGINE_DOMAIN = "studio-cdn.chiligrafx.com";
45
47
  const FIXED_EDITOR_LINK = `https://${ENGINE_DOMAIN}/editor/${engineInfo.current}/web`;
46
48
  let connection;
49
+ const PENDING_INSTRUMENTATION = Symbol("pendingInstrumentation");
50
+ const markForInstrumentation = (controller) => {
51
+ Object.defineProperty(controller, PENDING_INSTRUMENTATION, {
52
+ value: true,
53
+ enumerable: false,
54
+ configurable: true
55
+ });
56
+ };
57
+ const isPendingInstrumentation = (value) => {
58
+ return typeof value === "object" && value !== null && value[PENDING_INSTRUMENTATION] === true;
59
+ };
47
60
  class SDK {
48
61
  /**
49
62
  * The SDK should be configured clientside and it exposes all controllers to work with in other applications
50
63
  * @param config The configuration object where the SDK and editor can get configured
51
64
  */
52
65
  constructor(config) {
66
+ var _a;
53
67
  this.localConfig = /* @__PURE__ */ new Map();
54
68
  this.dataItemMappingTools = new DataItemMappingTools();
69
+ this.methodListeners = new MethodListenerRegistry();
55
70
  this.loadEditor = () => {
56
- var _a;
71
+ var _a2;
57
72
  Connect(
58
73
  this.config.editorLink || FIXED_EDITOR_LINK,
59
74
  {
@@ -71,8 +86,8 @@ class SDK {
71
86
  onScrubberPositionChanged: this.subscriber.onAnimationPlaybackChanged,
72
87
  onFrameAnimationsChanged: this.subscriber.onAnimationChanged,
73
88
  onVariableListChanged: (state) => {
74
- var _a2;
75
- if ((_a2 = this.enabledNextSubscribers) == null ? void 0 : _a2.onVariableListChanged) {
89
+ var _a3;
90
+ if ((_a3 = this.enabledNextSubscribers) == null ? void 0 : _a3.onVariableListChanged) {
76
91
  this.next.subscriber.onVariableListChanged(state);
77
92
  } else {
78
93
  this.subscriber.onVariableListChanged(state);
@@ -90,8 +105,8 @@ class SDK {
90
105
  onLayoutsChanged: this.subscriber.onLayoutsChanged,
91
106
  onConnectorEvent: this.subscriber.onConnectorEvent,
92
107
  onConnectorsChanged: (state) => {
93
- var _a2;
94
- if ((_a2 = this.enabledNextSubscribers) == null ? void 0 : _a2.onConnectorsChanged) {
108
+ var _a3;
109
+ if ((_a3 = this.enabledNextSubscribers) == null ? void 0 : _a3.onConnectorsChanged) {
95
110
  this.next.subscriber.onConnectorsChanged(state);
96
111
  } else {
97
112
  this.subscriber.onConnectorsChanged(state);
@@ -102,8 +117,8 @@ class SDK {
102
117
  onPagesChanged: this.subscriber.onPagesChanged,
103
118
  onPageSnapshotInvalidated: this.subscriber.onPageSnapshotInvalidated,
104
119
  onPageSizeChanged: (state) => {
105
- var _a2;
106
- if ((_a2 = this.enabledNextSubscribers) == null ? void 0 : _a2.onPageSizeChanged) {
120
+ var _a3;
121
+ if ((_a3 = this.enabledNextSubscribers) == null ? void 0 : _a3.onPageSizeChanged) {
107
122
  this.next.subscriber.onPageSizeChanged(state);
108
123
  } else {
109
124
  this.subscriber.onPageSizeChanged(state);
@@ -125,48 +140,49 @@ class SDK {
125
140
  this.config.editorId,
126
141
  this.config.studioStyling,
127
142
  (error) => {
128
- var _a2, _b;
129
- (_b = (_a2 = this.config).onConnectionError) == null ? void 0 : _b.call(_a2, error);
143
+ var _a3, _b;
144
+ (_b = (_a3 = this.config).onConnectionError) == null ? void 0 : _b.call(_a3, error);
130
145
  }
131
146
  );
132
147
  this.editorAPI = connection == null ? void 0 : connection.promise.then((editorAPI) => {
133
148
  return editorAPI;
134
149
  });
135
- this.action = new ActionController(this.editorAPI);
136
- this.layout = new LayoutController(this.editorAPI);
137
- this.frame = new FrameController(this.editorAPI);
138
- this.barcode = new BarcodeController(this.editorAPI);
139
- this.component = new ComponentController(this.editorAPI);
140
- this.animation = new AnimationController(this.editorAPI);
141
- this.document = new DocumentController(this.editorAPI);
142
- this.configuration = new LocalConfigurationDecorator(this.editorAPI, this.localConfig);
143
- this.utils = new UtilsController(this.editorAPI, this.localConfig);
144
- this.tool = new ToolController(this.editorAPI);
145
- this.page = new PageController(this.editorAPI);
146
- this.debug = new DebugController(this.editorAPI);
147
- this.undoManager = new UndoManagerController(this.editorAPI, this);
148
- this.textSelection = new TextStyleController(this.editorAPI);
149
- this.colorStyle = new ColorStyleController(this.editorAPI);
150
- this.gradientStyle = new GradientStyleController(this.editorAPI);
151
- this.paragraphStyle = new ParagraphStyleController(this.editorAPI);
152
- this.characterStyle = new CharacterStyleController(this.editorAPI);
153
- this.mediaConnector = new MediaConnectorController(this.editorAPI);
154
- this.fontConnector = new FontConnectorController(this.editorAPI);
155
- this.componentConnector = new ComponentConnectorController(this.editorAPI);
156
- this.dataConnector = new DataConnectorController(this.editorAPI, this.dataItemMappingTools);
157
- this.dataSource = new DataSourceController(this.editorAPI, this.dataItemMappingTools);
158
- this.connector = new ConnectorController(this.editorAPI, this.localConfig);
159
- this.variable = new VariableController(this.editorAPI, this.dataItemMappingTools);
160
- this.font = new FontController(this.editorAPI);
161
- this.experiment = new ExperimentController(this.editorAPI);
162
- this.canvas = new CanvasController(this.editorAPI);
163
- this.shape = new ShapeController(this.editorAPI);
164
- this.colorConversion = new ColorConversionController(this.editorAPI);
165
- this.info = new InfoController();
166
- this.clipboard = new ClipboardController(this.editorAPI);
167
- this.brandKit = new BrandKitController(this.editorAPI, this);
168
- this.componentGrid = new ComponentGridController(this.editorAPI);
150
+ this.action = this.toInstrumented(new ActionController(this.editorAPI));
151
+ this.layout = this.toInstrumented(new LayoutController(this.editorAPI));
152
+ this.frame = this.toInstrumented(new FrameController(this.editorAPI));
153
+ this.barcode = this.toInstrumented(new BarcodeController(this.editorAPI));
154
+ this.component = this.toInstrumented(new ComponentController(this.editorAPI));
155
+ this.animation = this.toInstrumented(new AnimationController(this.editorAPI));
156
+ this.document = this.toInstrumented(new DocumentController(this.editorAPI));
157
+ this.configuration = this.toInstrumented(new LocalConfigurationDecorator(this.editorAPI, this.localConfig));
158
+ this.utils = this.toInstrumented(new UtilsController(this.editorAPI, this.localConfig));
159
+ this.tool = this.toInstrumented(new ToolController(this.editorAPI));
160
+ this.page = this.toInstrumented(new PageController(this.editorAPI));
161
+ this.debug = this.toInstrumented(new DebugController(this.editorAPI));
162
+ this.undoManager = this.toInstrumented(new UndoManagerController(this.editorAPI, this));
163
+ this.textSelection = this.toInstrumented(new TextStyleController(this.editorAPI));
164
+ this.colorStyle = this.toInstrumented(new ColorStyleController(this.editorAPI));
165
+ this.gradientStyle = this.toInstrumented(new GradientStyleController(this.editorAPI));
166
+ this.paragraphStyle = this.toInstrumented(new ParagraphStyleController(this.editorAPI));
167
+ this.characterStyle = this.toInstrumented(new CharacterStyleController(this.editorAPI));
168
+ this.mediaConnector = this.toInstrumented(new MediaConnectorController(this.editorAPI));
169
+ this.fontConnector = this.toInstrumented(new FontConnectorController(this.editorAPI));
170
+ this.componentConnector = this.toInstrumented(new ComponentConnectorController(this.editorAPI));
171
+ this.dataConnector = this.toInstrumented(new DataConnectorController(this.editorAPI, this.dataItemMappingTools));
172
+ this.dataSource = this.toInstrumented(new DataSourceController(this.editorAPI, this.dataItemMappingTools));
173
+ this.connector = this.toInstrumented(new ConnectorController(this.editorAPI, this.localConfig));
174
+ this.variable = this.toInstrumented(new VariableController(this.editorAPI, this.dataItemMappingTools));
175
+ this.font = this.toInstrumented(new FontController(this.editorAPI));
176
+ this.experiment = this.toInstrumented(new ExperimentController(this.editorAPI));
177
+ this.canvas = this.toInstrumented(new CanvasController(this.editorAPI));
178
+ this.shape = this.toInstrumented(new ShapeController(this.editorAPI));
179
+ this.colorConversion = this.toInstrumented(new ColorConversionController(this.editorAPI));
180
+ this.info = this.toInstrumented(new InfoController());
181
+ this.clipboard = this.toInstrumented(new ClipboardController(this.editorAPI));
182
+ this.brandKit = this.toInstrumented(new BrandKitController(this.editorAPI, this));
183
+ this.componentGrid = this.toInstrumented(new ComponentGridController(this.editorAPI));
169
184
  this.next = new NextInitiator(this.config, this.connection, this.editorAPI);
185
+ this.applyMethodInstrumentation();
170
186
  this.configuration.setValue(WellKnownConfigurationKeys.GraFxStudioSdkVersion, packageInfo.version);
171
187
  this.configuration.setValue(
172
188
  WellKnownConfigurationKeys.GraFxStudioDocumentType,
@@ -175,54 +191,76 @@ class SDK {
175
191
  this.configuration.updateStudioOptions(this.config.studioOptions || defaultStudioOptions);
176
192
  this.configuration.setValue(
177
193
  WellKnownConfigurationKeys.QueryCallCacheEnabled,
178
- ((_a = this.config.enableQueryCallCache) == null ? void 0 : _a.toString()) || "false"
194
+ ((_a2 = this.config.enableQueryCallCache) == null ? void 0 : _a2.toString()) || "false"
179
195
  );
180
196
  };
181
197
  this.setConnection = (newConnection) => {
182
198
  connection = newConnection;
183
199
  };
200
+ this.toInstrumented = (controller) => {
201
+ markForInstrumentation(controller);
202
+ return controller;
203
+ };
204
+ this.applyMethodInstrumentation = () => {
205
+ var _a2;
206
+ const sdkProperties = this;
207
+ for (const propertyName of Object.keys(sdkProperties)) {
208
+ const value = sdkProperties[propertyName];
209
+ if (isPendingInstrumentation(value)) {
210
+ sdkProperties[propertyName] = wrapWithInvocationObserver(
211
+ value,
212
+ propertyName,
213
+ this.methodListeners,
214
+ this.sdkEvents,
215
+ (_a2 = this.config.logging) == null ? void 0 : _a2.logger
216
+ );
217
+ }
218
+ }
219
+ };
184
220
  this.config = ConfigHelper.createRuntimeConfig(config);
221
+ this.sdkEvents = new SdkEvents((_a = this.config.logging) == null ? void 0 : _a.logger);
185
222
  this.connection = connection;
186
223
  this.editorAPI = connection == null ? void 0 : connection.promise.then((child) => {
187
224
  return child;
188
225
  });
189
- this.action = new ActionController(this.editorAPI);
190
- this.layout = new LayoutController(this.editorAPI);
191
- this.frame = new FrameController(this.editorAPI);
192
- this.shape = new ShapeController(this.editorAPI);
193
- this.barcode = new BarcodeController(this.editorAPI);
194
- this.component = new ComponentController(this.editorAPI);
195
- this.undoManager = new UndoManagerController(this.editorAPI, this);
196
- this.connector = new ConnectorController(this.editorAPI, this.localConfig);
197
- this.mediaConnector = new MediaConnectorController(this.editorAPI);
198
- this.fontConnector = new FontConnectorController(this.editorAPI);
199
- this.componentConnector = new ComponentConnectorController(this.editorAPI);
200
- this.dataConnector = new DataConnectorController(this.editorAPI, this.dataItemMappingTools);
201
- this.dataSource = new DataSourceController(this.editorAPI, this.dataItemMappingTools);
202
- this.animation = new AnimationController(this.editorAPI);
203
- this.document = new DocumentController(this.editorAPI);
204
- this.configuration = new LocalConfigurationDecorator(this.editorAPI, this.localConfig);
205
- this.variable = new VariableController(this.editorAPI, this.dataItemMappingTools);
206
- this.utils = new UtilsController(this.editorAPI, this.localConfig);
226
+ this.action = this.toInstrumented(new ActionController(this.editorAPI));
227
+ this.layout = this.toInstrumented(new LayoutController(this.editorAPI));
228
+ this.frame = this.toInstrumented(new FrameController(this.editorAPI));
229
+ this.shape = this.toInstrumented(new ShapeController(this.editorAPI));
230
+ this.barcode = this.toInstrumented(new BarcodeController(this.editorAPI));
231
+ this.component = this.toInstrumented(new ComponentController(this.editorAPI));
232
+ this.undoManager = this.toInstrumented(new UndoManagerController(this.editorAPI, this));
233
+ this.connector = this.toInstrumented(new ConnectorController(this.editorAPI, this.localConfig));
234
+ this.mediaConnector = this.toInstrumented(new MediaConnectorController(this.editorAPI));
235
+ this.fontConnector = this.toInstrumented(new FontConnectorController(this.editorAPI));
236
+ this.componentConnector = this.toInstrumented(new ComponentConnectorController(this.editorAPI));
237
+ this.dataConnector = this.toInstrumented(new DataConnectorController(this.editorAPI, this.dataItemMappingTools));
238
+ this.dataSource = this.toInstrumented(new DataSourceController(this.editorAPI, this.dataItemMappingTools));
239
+ this.animation = this.toInstrumented(new AnimationController(this.editorAPI));
240
+ this.document = this.toInstrumented(new DocumentController(this.editorAPI));
241
+ this.configuration = this.toInstrumented(new LocalConfigurationDecorator(this.editorAPI, this.localConfig));
242
+ this.variable = this.toInstrumented(new VariableController(this.editorAPI, this.dataItemMappingTools));
243
+ this.utils = this.toInstrumented(new UtilsController(this.editorAPI, this.localConfig));
207
244
  this.subscriber = new SubscriberController(this.config, this.localConfig);
208
- this.tool = new ToolController(this.editorAPI);
209
- this.page = new PageController(this.editorAPI);
210
- this.debug = new DebugController(this.editorAPI);
211
- this.textSelection = new TextStyleController(this.editorAPI);
212
- this.colorStyle = new ColorStyleController(this.editorAPI);
213
- this.gradientStyle = new GradientStyleController(this.editorAPI);
214
- this.paragraphStyle = new ParagraphStyleController(this.editorAPI);
215
- this.characterStyle = new CharacterStyleController(this.editorAPI);
216
- this.font = new FontController(this.editorAPI);
217
- this.experiment = new ExperimentController(this.editorAPI);
218
- this.canvas = new CanvasController(this.editorAPI);
219
- this.colorConversion = new ColorConversionController(this.editorAPI);
220
- this.info = new InfoController();
221
- this.clipboard = new ClipboardController(this.editorAPI);
245
+ this.tool = this.toInstrumented(new ToolController(this.editorAPI));
246
+ this.page = this.toInstrumented(new PageController(this.editorAPI));
247
+ this.debug = this.toInstrumented(new DebugController(this.editorAPI));
248
+ this.textSelection = this.toInstrumented(new TextStyleController(this.editorAPI));
249
+ this.colorStyle = this.toInstrumented(new ColorStyleController(this.editorAPI));
250
+ this.gradientStyle = this.toInstrumented(new GradientStyleController(this.editorAPI));
251
+ this.paragraphStyle = this.toInstrumented(new ParagraphStyleController(this.editorAPI));
252
+ this.characterStyle = this.toInstrumented(new CharacterStyleController(this.editorAPI));
253
+ this.font = this.toInstrumented(new FontController(this.editorAPI));
254
+ this.experiment = this.toInstrumented(new ExperimentController(this.editorAPI));
255
+ this.canvas = this.toInstrumented(new CanvasController(this.editorAPI));
256
+ this.colorConversion = this.toInstrumented(new ColorConversionController(this.editorAPI));
257
+ this.info = this.toInstrumented(new InfoController());
258
+ this.clipboard = this.toInstrumented(new ClipboardController(this.editorAPI));
222
259
  this.next = new NextInitiator(this.config, this.connection, this.editorAPI);
223
260
  this.enabledNextSubscribers = this.config.enableNextSubscribers;
224
- this.brandKit = new BrandKitController(this.editorAPI, this);
225
- this.componentGrid = new ComponentGridController(this.editorAPI);
261
+ this.brandKit = this.toInstrumented(new BrandKitController(this.editorAPI, this));
262
+ this.componentGrid = this.toInstrumented(new ComponentGridController(this.editorAPI));
263
+ this.applyMethodInstrumentation();
226
264
  }
227
265
  }
228
266
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.es.js","sources":["../../src/sdk.ts"],"sourcesContent":["import { Connection } from 'penpal';\nimport engineInfo from '../editor-engine.json';\nimport packageInfo from '../package.json';\nimport Connect from './interactions/Connector';\nimport { defaultStudioOptions, WellKnownConfigurationKeys } from './types/ConfigurationTypes';\n\nimport type { ConfigType, EditorAPI, RuntimeConfigType } from './types/CommonTypes';\nimport { DocumentType } from './types/DocumentTypes';\n\nimport { ActionController } from './controllers/ActionController';\nimport { AnimationController } from './controllers/AnimationController';\nimport { BarcodeController } from './controllers/BarcodeController';\nimport { BrandKitController } from './controllers/BrandKitController';\nimport { CanvasController } from './controllers/CanvasController';\nimport { CharacterStyleController } from './controllers/CharacterStyleController';\nimport { ClipboardController } from './controllers/ClipboardController';\nimport { ColorConversionController } from './controllers/ColorConversionController';\nimport { ColorStyleController } from './controllers/ColorStyleController';\nimport { ConfigurationController } from './controllers/ConfigurationController';\nimport { ConnectorController } from './controllers/ConnectorController';\nimport { DataConnectorController } from './controllers/DataConnectorController';\nimport { DataSourceController } from './controllers/DataSourceController';\nimport { DebugController } from './controllers/DebugController';\nimport { DocumentController } from './controllers/DocumentController';\nimport { ExperimentController } from './controllers/ExperimentController';\nimport { FontConnectorController } from './controllers/FontConnectorController';\nimport { FontController } from './controllers/FontController';\nimport { FrameController } from './controllers/FrameController';\nimport { InfoController } from './controllers/InfoController';\nimport { LayoutController } from './controllers/LayoutController';\nimport { MediaConnectorController } from './controllers/MediaConnectorController';\nimport { PageController } from './controllers/PageController';\nimport { ParagraphStyleController } from './controllers/ParagraphStyleController';\nimport { ShapeController } from './controllers/ShapeController';\nimport { SubscriberController } from './controllers/SubscriberController';\nimport { TextStyleController } from './controllers/TextStyleController';\nimport { ToolController } from './controllers/ToolController';\nimport { UndoManagerController } from './controllers/UndoManagerController';\nimport { UtilsController } from './controllers/UtilsController';\nimport { VariableController } from './controllers/VariableController';\nimport { NextSubscribers } from './next';\nimport { NextInitiator } from './next/NextInitiator';\nimport { ConfigHelper } from './utils/ConfigHelper';\nimport { DataItemMappingTools } from './utils/DataItemMappingTools';\nimport { LocalConfigurationDecorator } from './utils/LocalConfigurationDecorator';\nimport { GradientStyleController } from './controllers/GradientStyleController';\nimport { ComponentConnectorController } from './controllers/ComponentConnectorController';\nimport { ComponentController } from './controllers/ComponentController';\nimport { ComponentGridController } from './controllers/ComponentGridController';\n\ndeclare const __ENGINE_DOMAIN__: string;\nconst ENGINE_DOMAIN = typeof __ENGINE_DOMAIN__ !== 'undefined' ? __ENGINE_DOMAIN__ : 'studio-cdn.chiligrafx.com';\nconst FIXED_EDITOR_LINK = `https://${ENGINE_DOMAIN}/editor/${engineInfo.current}/web`;\n\nlet connection: Connection;\n\nexport class SDK {\n config: RuntimeConfigType;\n connection: Connection;\n\n /**\n * @ignore\n */\n editorAPI: EditorAPI;\n\n action: ActionController;\n layout: LayoutController;\n frame: FrameController;\n shape: ShapeController;\n barcode: BarcodeController;\n /** @experimental */\n component: ComponentController;\n connector: ConnectorController;\n mediaConnector: MediaConnectorController;\n fontConnector: FontConnectorController;\n /**\n * @experimental This controller is still experimental and might change in future releases.\n */\n componentConnector: ComponentConnectorController;\n dataConnector: DataConnectorController;\n dataSource: DataSourceController;\n animation: AnimationController;\n document: DocumentController;\n configuration: ConfigurationController;\n variable: VariableController;\n utils: UtilsController;\n tool: ToolController;\n page: PageController;\n debug: DebugController;\n undoManager: UndoManagerController;\n textSelection: TextStyleController;\n paragraphStyle: ParagraphStyleController;\n characterStyle: CharacterStyleController;\n colorStyle: ColorStyleController;\n gradientStyle: GradientStyleController;\n font: FontController;\n experiment: ExperimentController;\n canvas: CanvasController;\n colorConversion: ColorConversionController;\n info: InfoController;\n clipboard: ClipboardController;\n brandKit: BrandKitController;\n componentGrid: ComponentGridController;\n next: NextInitiator;\n\n private subscriber: SubscriberController;\n private enabledNextSubscribers: NextSubscribers | undefined;\n private localConfig = new Map<string, string>();\n private dataItemMappingTools = new DataItemMappingTools();\n\n /**\n * The SDK should be configured clientside and it exposes all controllers to work with in other applications\n * @param config The configuration object where the SDK and editor can get configured\n */\n constructor(config: ConfigType) {\n this.config = ConfigHelper.createRuntimeConfig(config);\n\n this.connection = connection;\n this.editorAPI = connection?.promise.then((child) => {\n return child;\n }) as unknown as EditorAPI;\n\n this.action = new ActionController(this.editorAPI);\n this.layout = new LayoutController(this.editorAPI);\n this.frame = new FrameController(this.editorAPI);\n this.shape = new ShapeController(this.editorAPI);\n this.barcode = new BarcodeController(this.editorAPI);\n this.component = new ComponentController(this.editorAPI);\n this.undoManager = new UndoManagerController(this.editorAPI, this);\n this.connector = new ConnectorController(this.editorAPI, this.localConfig);\n this.mediaConnector = new MediaConnectorController(this.editorAPI);\n this.fontConnector = new FontConnectorController(this.editorAPI);\n this.componentConnector = new ComponentConnectorController(this.editorAPI);\n this.dataConnector = new DataConnectorController(this.editorAPI, this.dataItemMappingTools);\n this.dataSource = new DataSourceController(this.editorAPI, this.dataItemMappingTools);\n this.animation = new AnimationController(this.editorAPI);\n this.document = new DocumentController(this.editorAPI);\n\n this.configuration = new LocalConfigurationDecorator(this.editorAPI, this.localConfig);\n this.variable = new VariableController(this.editorAPI, this.dataItemMappingTools);\n this.utils = new UtilsController(this.editorAPI, this.localConfig);\n this.subscriber = new SubscriberController(this.config, this.localConfig);\n this.tool = new ToolController(this.editorAPI);\n this.page = new PageController(this.editorAPI);\n this.debug = new DebugController(this.editorAPI);\n // To be renamed textSelection > textStyle\n this.textSelection = new TextStyleController(this.editorAPI);\n this.colorStyle = new ColorStyleController(this.editorAPI);\n this.gradientStyle = new GradientStyleController(this.editorAPI);\n this.paragraphStyle = new ParagraphStyleController(this.editorAPI);\n this.characterStyle = new CharacterStyleController(this.editorAPI);\n this.font = new FontController(this.editorAPI);\n this.experiment = new ExperimentController(this.editorAPI);\n this.canvas = new CanvasController(this.editorAPI);\n this.colorConversion = new ColorConversionController(this.editorAPI);\n this.info = new InfoController();\n this.clipboard = new ClipboardController(this.editorAPI);\n this.next = new NextInitiator(this.config, this.connection, this.editorAPI);\n this.enabledNextSubscribers = this.config.enableNextSubscribers;\n this.brandKit = new BrandKitController(this.editorAPI, this);\n this.componentGrid = new ComponentGridController(this.editorAPI);\n }\n\n /**\n * This method will initiate the editor, running this will result in the editor restarting\n * It will generate an iframe in the document\n */\n loadEditor = () => {\n Connect(\n this.config.editorLink || FIXED_EDITOR_LINK,\n {\n onActionsChanged: this.subscriber.onActionsChanged,\n onStateChanged: this.subscriber.onStateChanged,\n onAuthExpired: this.subscriber.onAuthExpired,\n onViewportRequested: this.subscriber.onViewportRequested,\n onDocumentLoaded: this.subscriber.onDocumentLoaded,\n onSelectedFramesContentChanged: this.subscriber.onSelectedFramesContentChanged,\n onSelectedFramesLayoutChanged: this.subscriber.onSelectedFramesLayoutChanged,\n onFramesLayoutChanged: this.subscriber.onFramesLayoutChanged,\n onSelectedLayoutPropertiesChanged: this.subscriber.onSelectedLayoutPropertiesChanged,\n onSelectedLayoutUnitChanged: this.subscriber.onSelectedLayoutUnitChanged,\n onPageSelectionChanged: this.subscriber.onPageSelectionChanged,\n onScrubberPositionChanged: this.subscriber.onAnimationPlaybackChanged,\n onFrameAnimationsChanged: this.subscriber.onAnimationChanged,\n onVariableListChanged: (state) => {\n if (this.enabledNextSubscribers?.onVariableListChanged) {\n this.next.subscriber.onVariableListChanged(state);\n } else {\n this.subscriber.onVariableListChanged(state);\n }\n },\n onSelectedToolChanged: this.subscriber.onSelectedToolChanged,\n onUndoStateChanged: this.subscriber.onUndoStateChanged,\n onSelectedLayoutFramesChanged: this.subscriber.onSelectedLayoutFramesChanged,\n onSelectedTextStyleChanged: this.subscriber.onSelectedTextStyleChanged,\n onColorsChanged: this.subscriber.onColorsChanged,\n onParagraphStylesChanged: this.subscriber.onParagraphStylesChanged,\n onCharacterStylesChanged: this.subscriber.onCharacterStylesChanged,\n onFontFamiliesChanged: this.subscriber.onFontFamiliesChanged,\n onSelectedLayoutIdChanged: this.subscriber.onSelectedLayoutIdChanged,\n onLayoutsChanged: this.subscriber.onLayoutsChanged,\n onConnectorEvent: this.subscriber.onConnectorEvent,\n onConnectorsChanged: (state) => {\n if (this.enabledNextSubscribers?.onConnectorsChanged) {\n this.next.subscriber.onConnectorsChanged(state);\n } else {\n this.subscriber.onConnectorsChanged(state);\n }\n },\n onZoomChanged: this.subscriber.onZoomChanged,\n onSelectedPageIdChanged: this.subscriber.onSelectedPageIdChanged,\n onPagesChanged: this.subscriber.onPagesChanged,\n onPageSnapshotInvalidated: this.subscriber.onPageSnapshotInvalidated,\n onPageSizeChanged: (state) => {\n if (this.enabledNextSubscribers?.onPageSizeChanged) {\n this.next.subscriber.onPageSizeChanged(state);\n } else {\n this.subscriber.onPageSizeChanged(state);\n }\n },\n onShapeCornerRadiusChanged: this.subscriber.onShapeCornerRadiusChanged,\n onCropActiveFrameIdChanged: this.subscriber.onCropActiveFrameIdChanged,\n onAsyncError: this.subscriber.onAsyncError,\n onViewModeChanged: this.subscriber.onViewModeChanged,\n onBarcodeValidationChanged: this.subscriber.onBarcodeValidationChanged,\n onDataSourceIdChanged: this.subscriber.onDataSourceIdChanged,\n onInjectedDataChanged: this.subscriber.onInjectedDataChanged,\n onDocumentIssueListChanged: this.subscriber.onDocumentIssueListChanged,\n onCustomUndoDataChanged: this.subscriber.onCustomUndoDataChanged,\n onEngineEditModeChanged: this.subscriber.onEngineEditModeChanged,\n onBrandKitMediaChanged: this.subscriber.onBrandKitMediaChanged,\n },\n this.setConnection,\n this.config.editorId,\n this.config.studioStyling,\n (error) => {\n this.config.onConnectionError?.(error);\n },\n );\n this.editorAPI = connection?.promise.then((editorAPI) => {\n return editorAPI;\n }) as unknown as EditorAPI;\n\n this.action = new ActionController(this.editorAPI);\n this.layout = new LayoutController(this.editorAPI);\n this.frame = new FrameController(this.editorAPI);\n this.barcode = new BarcodeController(this.editorAPI);\n this.component = new ComponentController(this.editorAPI);\n this.animation = new AnimationController(this.editorAPI);\n this.document = new DocumentController(this.editorAPI);\n this.configuration = new LocalConfigurationDecorator(this.editorAPI, this.localConfig);\n this.utils = new UtilsController(this.editorAPI, this.localConfig);\n this.tool = new ToolController(this.editorAPI);\n this.page = new PageController(this.editorAPI);\n this.debug = new DebugController(this.editorAPI);\n this.undoManager = new UndoManagerController(this.editorAPI, this);\n this.textSelection = new TextStyleController(this.editorAPI);\n this.colorStyle = new ColorStyleController(this.editorAPI);\n this.gradientStyle = new GradientStyleController(this.editorAPI);\n this.paragraphStyle = new ParagraphStyleController(this.editorAPI);\n this.characterStyle = new CharacterStyleController(this.editorAPI);\n this.mediaConnector = new MediaConnectorController(this.editorAPI);\n this.fontConnector = new FontConnectorController(this.editorAPI);\n this.componentConnector = new ComponentConnectorController(this.editorAPI);\n this.dataConnector = new DataConnectorController(this.editorAPI, this.dataItemMappingTools);\n this.dataSource = new DataSourceController(this.editorAPI, this.dataItemMappingTools);\n this.connector = new ConnectorController(this.editorAPI, this.localConfig);\n this.variable = new VariableController(this.editorAPI, this.dataItemMappingTools);\n this.font = new FontController(this.editorAPI);\n this.experiment = new ExperimentController(this.editorAPI);\n this.canvas = new CanvasController(this.editorAPI);\n this.shape = new ShapeController(this.editorAPI);\n this.colorConversion = new ColorConversionController(this.editorAPI);\n this.info = new InfoController();\n this.clipboard = new ClipboardController(this.editorAPI);\n this.brandKit = new BrandKitController(this.editorAPI, this);\n this.componentGrid = new ComponentGridController(this.editorAPI);\n this.next = new NextInitiator(this.config, this.connection, this.editorAPI);\n\n // as soon as the editor loads, provide it with the SDK version\n // used to make it start. This enables engine compatibility checks\n // on the Flutter side\n this.configuration.setValue(WellKnownConfigurationKeys.GraFxStudioSdkVersion, packageInfo.version);\n\n // Makes the engine aware which document type it should render, if this call\n // isn't made, the engine will fall back to the type specified in the document.\n //\n // Loading a template JSON and setting the engine to `project` will cause\n // the document JSON structure to be converted to a project on save.\n // Using `getCurrentDocumentState` will also output the converted document.\n this.configuration.setValue(\n WellKnownConfigurationKeys.GraFxStudioDocumentType,\n this.config.documentType || DocumentType.template,\n );\n\n // Update the engine with the specified options from the config or fall back to the defaults.\n this.configuration.updateStudioOptions(this.config.studioOptions || defaultStudioOptions);\n\n // Whether the engine should cache query calls. This is disabled by default.\n this.configuration.setValue(\n WellKnownConfigurationKeys.QueryCallCacheEnabled,\n this.config.enableQueryCallCache?.toString() || 'false',\n );\n };\n\n setConnection = (newConnection: Connection) => {\n connection = newConnection;\n };\n}\n\nexport default SDK;\n"],"names":["_a"],"mappings":"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"}
1
+ {"version":3,"file":"sdk.es.js","sources":["../../src/sdk.ts"],"sourcesContent":["import { Connection } from 'penpal';\nimport engineInfo from '../editor-engine.json';\nimport packageInfo from '../package.json';\nimport Connect from './interactions/Connector';\nimport { defaultStudioOptions, WellKnownConfigurationKeys } from './types/ConfigurationTypes';\n\nimport type { ConfigType, EditorAPI, RuntimeConfigType } from './types/CommonTypes';\nimport { Instrumented } from './types/MethodInvocationTypes';\nimport { DocumentType } from './types/DocumentTypes';\n\nimport { ActionController } from './controllers/ActionController';\nimport { AnimationController } from './controllers/AnimationController';\nimport { BarcodeController } from './controllers/BarcodeController';\nimport { BrandKitController } from './controllers/BrandKitController';\nimport { CanvasController } from './controllers/CanvasController';\nimport { CharacterStyleController } from './controllers/CharacterStyleController';\nimport { ClipboardController } from './controllers/ClipboardController';\nimport { ColorConversionController } from './controllers/ColorConversionController';\nimport { ColorStyleController } from './controllers/ColorStyleController';\nimport { ConfigurationController } from './controllers/ConfigurationController';\nimport { ConnectorController } from './controllers/ConnectorController';\nimport { DataConnectorController } from './controllers/DataConnectorController';\nimport { DataSourceController } from './controllers/DataSourceController';\nimport { DebugController } from './controllers/DebugController';\nimport { DocumentController } from './controllers/DocumentController';\nimport { ExperimentController } from './controllers/ExperimentController';\nimport { FontConnectorController } from './controllers/FontConnectorController';\nimport { FontController } from './controllers/FontController';\nimport { FrameController } from './controllers/FrameController';\nimport { InfoController } from './controllers/InfoController';\nimport { LayoutController } from './controllers/LayoutController';\nimport { MediaConnectorController } from './controllers/MediaConnectorController';\nimport { PageController } from './controllers/PageController';\nimport { ParagraphStyleController } from './controllers/ParagraphStyleController';\nimport { ShapeController } from './controllers/ShapeController';\nimport { SubscriberController } from './controllers/SubscriberController';\nimport { TextStyleController } from './controllers/TextStyleController';\nimport { ToolController } from './controllers/ToolController';\nimport { UndoManagerController } from './controllers/UndoManagerController';\nimport { UtilsController } from './controllers/UtilsController';\nimport { VariableController } from './controllers/VariableController';\nimport { NextSubscribers } from './next';\nimport { NextInitiator } from './next/NextInitiator';\nimport { ConfigHelper } from './utils/ConfigHelper';\nimport { DataItemMappingTools } from './utils/DataItemMappingTools';\nimport { LocalConfigurationDecorator } from './utils/LocalConfigurationDecorator';\nimport { GradientStyleController } from './controllers/GradientStyleController';\nimport { ComponentConnectorController } from './controllers/ComponentConnectorController';\nimport { ComponentController } from './controllers/ComponentController';\nimport { ComponentGridController } from './controllers/ComponentGridController';\nimport { MethodListenerRegistry, wrapWithInvocationObserver } from './utils/MethodInstrumentation';\nimport { SdkEvents } from './utils/SdkEvents';\n\ndeclare const __ENGINE_DOMAIN__: string;\nconst ENGINE_DOMAIN = typeof __ENGINE_DOMAIN__ !== 'undefined' ? __ENGINE_DOMAIN__ : 'studio-cdn.chiligrafx.com';\nconst FIXED_EDITOR_LINK = `https://${ENGINE_DOMAIN}/editor/${engineInfo.current}/web`;\n\nlet connection: Connection;\n\n// Marks a freshly created controller as \"needs instrumentation\" without requiring\n// its property name to be tracked anywhere. `applyMethodInstrumentation` later scans\n// the SDK instance for properties carrying this marker and wraps them automatically,\n// so a controller can never be silently skipped just because a list wasn't updated.\nconst PENDING_INSTRUMENTATION = Symbol('pendingInstrumentation');\n\nconst markForInstrumentation = (controller: object): void => {\n Object.defineProperty(controller, PENDING_INSTRUMENTATION, {\n value: true,\n enumerable: false,\n configurable: true,\n });\n};\n\nconst isPendingInstrumentation = (value: unknown): value is object => {\n return typeof value === 'object' && value !== null && (value as Record<symbol, unknown>)[PENDING_INSTRUMENTATION] === true;\n};\n\nexport class SDK {\n config: RuntimeConfigType;\n connection: Connection;\n\n /**\n * @ignore\n */\n editorAPI: EditorAPI;\n /**\n * SDK method invocation events.\n *\n * Use this to observe which SDK controller method was called and with which parameters/result.\n * These are SDK-level events (SDK -> consumer), separate from engine subscriber events (`config.events`).\n */\n sdkEvents: SdkEvents;\n\n action: Instrumented<ActionController>;\n layout: Instrumented<LayoutController>;\n frame: Instrumented<FrameController>;\n shape: Instrumented<ShapeController>;\n barcode: Instrumented<BarcodeController>;\n /** @experimental */\n component: Instrumented<ComponentController>;\n connector: Instrumented<ConnectorController>;\n mediaConnector: Instrumented<MediaConnectorController>;\n fontConnector: Instrumented<FontConnectorController>;\n /**\n * @experimental This controller is still experimental and might change in future releases.\n */\n componentConnector: Instrumented<ComponentConnectorController>;\n dataConnector: Instrumented<DataConnectorController>;\n dataSource: Instrumented<DataSourceController>;\n animation: Instrumented<AnimationController>;\n document: Instrumented<DocumentController>;\n configuration: Instrumented<ConfigurationController>;\n variable: Instrumented<VariableController>;\n utils: Instrumented<UtilsController>;\n tool: Instrumented<ToolController>;\n page: Instrumented<PageController>;\n debug: Instrumented<DebugController>;\n undoManager: Instrumented<UndoManagerController>;\n textSelection: Instrumented<TextStyleController>;\n paragraphStyle: Instrumented<ParagraphStyleController>;\n characterStyle: Instrumented<CharacterStyleController>;\n colorStyle: Instrumented<ColorStyleController>;\n gradientStyle: Instrumented<GradientStyleController>;\n font: Instrumented<FontController>;\n experiment: Instrumented<ExperimentController>;\n canvas: Instrumented<CanvasController>;\n colorConversion: Instrumented<ColorConversionController>;\n info: Instrumented<InfoController>;\n clipboard: Instrumented<ClipboardController>;\n brandKit: Instrumented<BrandKitController>;\n componentGrid: Instrumented<ComponentGridController>;\n\n next: NextInitiator;\n\n private subscriber: SubscriberController;\n private enabledNextSubscribers: NextSubscribers | undefined;\n private localConfig = new Map<string, string>();\n private dataItemMappingTools = new DataItemMappingTools();\n private methodListeners = new MethodListenerRegistry();\n\n /**\n * The SDK should be configured clientside and it exposes all controllers to work with in other applications\n * @param config The configuration object where the SDK and editor can get configured\n */\n constructor(config: ConfigType) {\n this.config = ConfigHelper.createRuntimeConfig(config);\n this.sdkEvents = new SdkEvents(this.config.logging?.logger);\n\n this.connection = connection;\n this.editorAPI = connection?.promise.then((child: unknown) => {\n return child;\n }) as unknown as EditorAPI;\n\n this.action = this.toInstrumented(new ActionController(this.editorAPI));\n this.layout = this.toInstrumented(new LayoutController(this.editorAPI));\n this.frame = this.toInstrumented(new FrameController(this.editorAPI));\n this.shape = this.toInstrumented(new ShapeController(this.editorAPI));\n this.barcode = this.toInstrumented(new BarcodeController(this.editorAPI));\n this.component = this.toInstrumented(new ComponentController(this.editorAPI));\n this.undoManager = this.toInstrumented(new UndoManagerController(this.editorAPI, this));\n this.connector = this.toInstrumented(new ConnectorController(this.editorAPI, this.localConfig));\n this.mediaConnector = this.toInstrumented(new MediaConnectorController(this.editorAPI));\n this.fontConnector = this.toInstrumented(new FontConnectorController(this.editorAPI));\n this.componentConnector = this.toInstrumented(new ComponentConnectorController(this.editorAPI));\n this.dataConnector = this.toInstrumented(new DataConnectorController(this.editorAPI, this.dataItemMappingTools));\n this.dataSource = this.toInstrumented(new DataSourceController(this.editorAPI, this.dataItemMappingTools));\n this.animation = this.toInstrumented(new AnimationController(this.editorAPI));\n this.document = this.toInstrumented(new DocumentController(this.editorAPI));\n\n this.configuration = this.toInstrumented(new LocalConfigurationDecorator(this.editorAPI, this.localConfig));\n this.variable = this.toInstrumented(new VariableController(this.editorAPI, this.dataItemMappingTools));\n this.utils = this.toInstrumented(new UtilsController(this.editorAPI, this.localConfig));\n this.subscriber = new SubscriberController(this.config, this.localConfig);\n this.tool = this.toInstrumented(new ToolController(this.editorAPI));\n this.page = this.toInstrumented(new PageController(this.editorAPI));\n this.debug = this.toInstrumented(new DebugController(this.editorAPI));\n // To be renamed textSelection > textStyle\n this.textSelection = this.toInstrumented(new TextStyleController(this.editorAPI));\n this.colorStyle = this.toInstrumented(new ColorStyleController(this.editorAPI));\n this.gradientStyle = this.toInstrumented(new GradientStyleController(this.editorAPI));\n this.paragraphStyle = this.toInstrumented(new ParagraphStyleController(this.editorAPI));\n this.characterStyle = this.toInstrumented(new CharacterStyleController(this.editorAPI));\n this.font = this.toInstrumented(new FontController(this.editorAPI));\n this.experiment = this.toInstrumented(new ExperimentController(this.editorAPI));\n this.canvas = this.toInstrumented(new CanvasController(this.editorAPI));\n this.colorConversion = this.toInstrumented(new ColorConversionController(this.editorAPI));\n this.info = this.toInstrumented(new InfoController());\n this.clipboard = this.toInstrumented(new ClipboardController(this.editorAPI));\n this.next = new NextInitiator(this.config, this.connection, this.editorAPI);\n this.enabledNextSubscribers = this.config.enableNextSubscribers;\n this.brandKit = this.toInstrumented(new BrandKitController(this.editorAPI, this));\n this.componentGrid = this.toInstrumented(new ComponentGridController(this.editorAPI));\n\n this.applyMethodInstrumentation();\n }\n\n /**\n * This method will initiate the editor, running this will result in the editor restarting\n * It will generate an iframe in the document\n */\n loadEditor = () => {\n Connect(\n this.config.editorLink || FIXED_EDITOR_LINK,\n {\n onActionsChanged: this.subscriber.onActionsChanged,\n onStateChanged: this.subscriber.onStateChanged,\n onAuthExpired: this.subscriber.onAuthExpired,\n onViewportRequested: this.subscriber.onViewportRequested,\n onDocumentLoaded: this.subscriber.onDocumentLoaded,\n onSelectedFramesContentChanged: this.subscriber.onSelectedFramesContentChanged,\n onSelectedFramesLayoutChanged: this.subscriber.onSelectedFramesLayoutChanged,\n onFramesLayoutChanged: this.subscriber.onFramesLayoutChanged,\n onSelectedLayoutPropertiesChanged: this.subscriber.onSelectedLayoutPropertiesChanged,\n onSelectedLayoutUnitChanged: this.subscriber.onSelectedLayoutUnitChanged,\n onPageSelectionChanged: this.subscriber.onPageSelectionChanged,\n onScrubberPositionChanged: this.subscriber.onAnimationPlaybackChanged,\n onFrameAnimationsChanged: this.subscriber.onAnimationChanged,\n onVariableListChanged: (state) => {\n if (this.enabledNextSubscribers?.onVariableListChanged) {\n this.next.subscriber.onVariableListChanged(state);\n } else {\n this.subscriber.onVariableListChanged(state);\n }\n },\n onSelectedToolChanged: this.subscriber.onSelectedToolChanged,\n onUndoStateChanged: this.subscriber.onUndoStateChanged,\n onSelectedLayoutFramesChanged: this.subscriber.onSelectedLayoutFramesChanged,\n onSelectedTextStyleChanged: this.subscriber.onSelectedTextStyleChanged,\n onColorsChanged: this.subscriber.onColorsChanged,\n onParagraphStylesChanged: this.subscriber.onParagraphStylesChanged,\n onCharacterStylesChanged: this.subscriber.onCharacterStylesChanged,\n onFontFamiliesChanged: this.subscriber.onFontFamiliesChanged,\n onSelectedLayoutIdChanged: this.subscriber.onSelectedLayoutIdChanged,\n onLayoutsChanged: this.subscriber.onLayoutsChanged,\n onConnectorEvent: this.subscriber.onConnectorEvent,\n onConnectorsChanged: (state) => {\n if (this.enabledNextSubscribers?.onConnectorsChanged) {\n this.next.subscriber.onConnectorsChanged(state);\n } else {\n this.subscriber.onConnectorsChanged(state);\n }\n },\n onZoomChanged: this.subscriber.onZoomChanged,\n onSelectedPageIdChanged: this.subscriber.onSelectedPageIdChanged,\n onPagesChanged: this.subscriber.onPagesChanged,\n onPageSnapshotInvalidated: this.subscriber.onPageSnapshotInvalidated,\n onPageSizeChanged: (state) => {\n if (this.enabledNextSubscribers?.onPageSizeChanged) {\n this.next.subscriber.onPageSizeChanged(state);\n } else {\n this.subscriber.onPageSizeChanged(state);\n }\n },\n onShapeCornerRadiusChanged: this.subscriber.onShapeCornerRadiusChanged,\n onCropActiveFrameIdChanged: this.subscriber.onCropActiveFrameIdChanged,\n onAsyncError: this.subscriber.onAsyncError,\n onViewModeChanged: this.subscriber.onViewModeChanged,\n onBarcodeValidationChanged: this.subscriber.onBarcodeValidationChanged,\n onDataSourceIdChanged: this.subscriber.onDataSourceIdChanged,\n onInjectedDataChanged: this.subscriber.onInjectedDataChanged,\n onDocumentIssueListChanged: this.subscriber.onDocumentIssueListChanged,\n onCustomUndoDataChanged: this.subscriber.onCustomUndoDataChanged,\n onEngineEditModeChanged: this.subscriber.onEngineEditModeChanged,\n onBrandKitMediaChanged: this.subscriber.onBrandKitMediaChanged,\n },\n this.setConnection,\n this.config.editorId,\n this.config.studioStyling,\n (error) => {\n this.config.onConnectionError?.(error);\n },\n );\n this.editorAPI = connection?.promise.then((editorAPI: unknown) => {\n return editorAPI;\n }) as unknown as EditorAPI;\n\n this.action = this.toInstrumented(new ActionController(this.editorAPI));\n this.layout = this.toInstrumented(new LayoutController(this.editorAPI));\n this.frame = this.toInstrumented(new FrameController(this.editorAPI));\n this.barcode = this.toInstrumented(new BarcodeController(this.editorAPI));\n this.component = this.toInstrumented(new ComponentController(this.editorAPI));\n this.animation = this.toInstrumented(new AnimationController(this.editorAPI));\n this.document = this.toInstrumented(new DocumentController(this.editorAPI));\n this.configuration = this.toInstrumented(new LocalConfigurationDecorator(this.editorAPI, this.localConfig));\n this.utils = this.toInstrumented(new UtilsController(this.editorAPI, this.localConfig));\n this.tool = this.toInstrumented(new ToolController(this.editorAPI));\n this.page = this.toInstrumented(new PageController(this.editorAPI));\n this.debug = this.toInstrumented(new DebugController(this.editorAPI));\n this.undoManager = this.toInstrumented(new UndoManagerController(this.editorAPI, this));\n this.textSelection = this.toInstrumented(new TextStyleController(this.editorAPI));\n this.colorStyle = this.toInstrumented(new ColorStyleController(this.editorAPI));\n this.gradientStyle = this.toInstrumented(new GradientStyleController(this.editorAPI));\n this.paragraphStyle = this.toInstrumented(new ParagraphStyleController(this.editorAPI));\n this.characterStyle = this.toInstrumented(new CharacterStyleController(this.editorAPI));\n this.mediaConnector = this.toInstrumented(new MediaConnectorController(this.editorAPI));\n this.fontConnector = this.toInstrumented(new FontConnectorController(this.editorAPI));\n this.componentConnector = this.toInstrumented(new ComponentConnectorController(this.editorAPI));\n this.dataConnector = this.toInstrumented(new DataConnectorController(this.editorAPI, this.dataItemMappingTools));\n this.dataSource = this.toInstrumented(new DataSourceController(this.editorAPI, this.dataItemMappingTools));\n this.connector = this.toInstrumented(new ConnectorController(this.editorAPI, this.localConfig));\n this.variable = this.toInstrumented(new VariableController(this.editorAPI, this.dataItemMappingTools));\n this.font = this.toInstrumented(new FontController(this.editorAPI));\n this.experiment = this.toInstrumented(new ExperimentController(this.editorAPI));\n this.canvas = this.toInstrumented(new CanvasController(this.editorAPI));\n this.shape = this.toInstrumented(new ShapeController(this.editorAPI));\n this.colorConversion = this.toInstrumented(new ColorConversionController(this.editorAPI));\n this.info = this.toInstrumented(new InfoController());\n this.clipboard = this.toInstrumented(new ClipboardController(this.editorAPI));\n this.brandKit = this.toInstrumented(new BrandKitController(this.editorAPI, this));\n this.componentGrid = this.toInstrumented(new ComponentGridController(this.editorAPI));\n this.next = new NextInitiator(this.config, this.connection, this.editorAPI);\n\n this.applyMethodInstrumentation();\n\n // as soon as the editor loads, provide it with the SDK version\n // used to make it start. This enables engine compatibility checks\n // on the Flutter side\n this.configuration.setValue(WellKnownConfigurationKeys.GraFxStudioSdkVersion, packageInfo.version);\n\n // Makes the engine aware which document type it should render, if this call\n // isn't made, the engine will fall back to the type specified in the document.\n //\n // Loading a template JSON and setting the engine to `project` will cause\n // the document JSON structure to be converted to a project on save.\n // Using `getCurrentDocumentState` will also output the converted document.\n this.configuration.setValue(\n WellKnownConfigurationKeys.GraFxStudioDocumentType,\n this.config.documentType || DocumentType.template,\n );\n\n // Update the engine with the specified options from the config or fall back to the defaults.\n this.configuration.updateStudioOptions(this.config.studioOptions || defaultStudioOptions);\n\n // Whether the engine should cache query calls. This is disabled by default.\n this.configuration.setValue(\n WellKnownConfigurationKeys.QueryCallCacheEnabled,\n this.config.enableQueryCallCache?.toString() || 'false',\n );\n };\n\n setConnection = (newConnection: Connection) => {\n connection = newConnection;\n };\n\n private toInstrumented = <T extends object>(controller: T): Instrumented<T> => {\n markForInstrumentation(controller);\n return controller as unknown as Instrumented<T>;\n };\n\n /**\n * Wraps every controller previously handed to `toInstrumented` with the invocation\n * observer, discovering them by their marker rather than a manually maintained\n * list of property names. Any property assigned via `toInstrumented` is picked up\n * automatically, using its own property key as the controller name.\n */\n private applyMethodInstrumentation = () => {\n const sdkProperties = this as unknown as Record<string, unknown>;\n for (const propertyName of Object.keys(sdkProperties)) {\n const value = sdkProperties[propertyName];\n if (isPendingInstrumentation(value)) {\n sdkProperties[propertyName] = wrapWithInvocationObserver(\n value,\n propertyName,\n this.methodListeners,\n this.sdkEvents,\n this.config.logging?.logger,\n );\n }\n }\n };\n}\n\nexport default SDK;\n"],"names":["_a"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDA,MAAM,gBAA2D;AACjE,MAAM,oBAAoB,WAAW,aAAa,WAAW,WAAW,OAAO;AAE/E,IAAI;AAMJ,MAAM,0BAA0B,OAAO,wBAAwB;AAE/D,MAAM,yBAAyB,CAAC,eAA6B;AACzD,SAAO,eAAe,YAAY,yBAAyB;AAAA,IACvD,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,cAAc;AAAA,EAAA,CACjB;AACL;AAEA,MAAM,2BAA2B,CAAC,UAAoC;AAClE,SAAO,OAAO,UAAU,YAAY,UAAU,QAAS,MAAkC,uBAAuB,MAAM;AAC1H;AAEO,MAAM,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA,EAmEb,YAAY,QAAoB;;AARhC,SAAQ,kCAAkB,IAAA;AAC1B,SAAQ,uBAAuB,IAAI,qBAAA;AACnC,SAAQ,kBAAkB,IAAI,uBAAA;AA8D9B,SAAA,aAAa,MAAM;;AACf;AAAA,QACI,KAAK,OAAO,cAAc;AAAA,QAC1B;AAAA,UACI,kBAAkB,KAAK,WAAW;AAAA,UAClC,gBAAgB,KAAK,WAAW;AAAA,UAChC,eAAe,KAAK,WAAW;AAAA,UAC/B,qBAAqB,KAAK,WAAW;AAAA,UACrC,kBAAkB,KAAK,WAAW;AAAA,UAClC,gCAAgC,KAAK,WAAW;AAAA,UAChD,+BAA+B,KAAK,WAAW;AAAA,UAC/C,uBAAuB,KAAK,WAAW;AAAA,UACvC,mCAAmC,KAAK,WAAW;AAAA,UACnD,6BAA6B,KAAK,WAAW;AAAA,UAC7C,wBAAwB,KAAK,WAAW;AAAA,UACxC,2BAA2B,KAAK,WAAW;AAAA,UAC3C,0BAA0B,KAAK,WAAW;AAAA,UAC1C,uBAAuB,CAAC,UAAU;;AAC9B,iBAAIA,MAAA,KAAK,2BAAL,gBAAAA,IAA6B,uBAAuB;AACpD,mBAAK,KAAK,WAAW,sBAAsB,KAAK;AAAA,YACpD,OAAO;AACH,mBAAK,WAAW,sBAAsB,KAAK;AAAA,YAC/C;AAAA,UACJ;AAAA,UACA,uBAAuB,KAAK,WAAW;AAAA,UACvC,oBAAoB,KAAK,WAAW;AAAA,UACpC,+BAA+B,KAAK,WAAW;AAAA,UAC/C,4BAA4B,KAAK,WAAW;AAAA,UAC5C,iBAAiB,KAAK,WAAW;AAAA,UACjC,0BAA0B,KAAK,WAAW;AAAA,UAC1C,0BAA0B,KAAK,WAAW;AAAA,UAC1C,uBAAuB,KAAK,WAAW;AAAA,UACvC,2BAA2B,KAAK,WAAW;AAAA,UAC3C,kBAAkB,KAAK,WAAW;AAAA,UAClC,kBAAkB,KAAK,WAAW;AAAA,UAClC,qBAAqB,CAAC,UAAU;;AAC5B,iBAAIA,MAAA,KAAK,2BAAL,gBAAAA,IAA6B,qBAAqB;AAClD,mBAAK,KAAK,WAAW,oBAAoB,KAAK;AAAA,YAClD,OAAO;AACH,mBAAK,WAAW,oBAAoB,KAAK;AAAA,YAC7C;AAAA,UACJ;AAAA,UACA,eAAe,KAAK,WAAW;AAAA,UAC/B,yBAAyB,KAAK,WAAW;AAAA,UACzC,gBAAgB,KAAK,WAAW;AAAA,UAChC,2BAA2B,KAAK,WAAW;AAAA,UAC3C,mBAAmB,CAAC,UAAU;;AAC1B,iBAAIA,MAAA,KAAK,2BAAL,gBAAAA,IAA6B,mBAAmB;AAChD,mBAAK,KAAK,WAAW,kBAAkB,KAAK;AAAA,YAChD,OAAO;AACH,mBAAK,WAAW,kBAAkB,KAAK;AAAA,YAC3C;AAAA,UACJ;AAAA,UACA,4BAA4B,KAAK,WAAW;AAAA,UAC5C,4BAA4B,KAAK,WAAW;AAAA,UAC5C,cAAc,KAAK,WAAW;AAAA,UAC9B,mBAAmB,KAAK,WAAW;AAAA,UACnC,4BAA4B,KAAK,WAAW;AAAA,UAC5C,uBAAuB,KAAK,WAAW;AAAA,UACvC,uBAAuB,KAAK,WAAW;AAAA,UACvC,4BAA4B,KAAK,WAAW;AAAA,UAC5C,yBAAyB,KAAK,WAAW;AAAA,UACzC,yBAAyB,KAAK,WAAW;AAAA,UACzC,wBAAwB,KAAK,WAAW;AAAA,QAAA;AAAA,QAE5C,KAAK;AAAA,QACL,KAAK,OAAO;AAAA,QACZ,KAAK,OAAO;AAAA,QACZ,CAAC,UAAU;;AACP,iBAAAA,MAAA,KAAK,QAAO,sBAAZ,wBAAAA,KAAgC;AAAA,QACpC;AAAA,MAAA;AAEJ,WAAK,YAAY,yCAAY,QAAQ,KAAK,CAAC,cAAuB;AAC9D,eAAO;AAAA,MACX;AAEA,WAAK,SAAS,KAAK,eAAe,IAAI,iBAAiB,KAAK,SAAS,CAAC;AACtE,WAAK,SAAS,KAAK,eAAe,IAAI,iBAAiB,KAAK,SAAS,CAAC;AACtE,WAAK,QAAQ,KAAK,eAAe,IAAI,gBAAgB,KAAK,SAAS,CAAC;AACpE,WAAK,UAAU,KAAK,eAAe,IAAI,kBAAkB,KAAK,SAAS,CAAC;AACxE,WAAK,YAAY,KAAK,eAAe,IAAI,oBAAoB,KAAK,SAAS,CAAC;AAC5E,WAAK,YAAY,KAAK,eAAe,IAAI,oBAAoB,KAAK,SAAS,CAAC;AAC5E,WAAK,WAAW,KAAK,eAAe,IAAI,mBAAmB,KAAK,SAAS,CAAC;AAC1E,WAAK,gBAAgB,KAAK,eAAe,IAAI,4BAA4B,KAAK,WAAW,KAAK,WAAW,CAAC;AAC1G,WAAK,QAAQ,KAAK,eAAe,IAAI,gBAAgB,KAAK,WAAW,KAAK,WAAW,CAAC;AACtF,WAAK,OAAO,KAAK,eAAe,IAAI,eAAe,KAAK,SAAS,CAAC;AAClE,WAAK,OAAO,KAAK,eAAe,IAAI,eAAe,KAAK,SAAS,CAAC;AAClE,WAAK,QAAQ,KAAK,eAAe,IAAI,gBAAgB,KAAK,SAAS,CAAC;AACpE,WAAK,cAAc,KAAK,eAAe,IAAI,sBAAsB,KAAK,WAAW,IAAI,CAAC;AACtF,WAAK,gBAAgB,KAAK,eAAe,IAAI,oBAAoB,KAAK,SAAS,CAAC;AAChF,WAAK,aAAa,KAAK,eAAe,IAAI,qBAAqB,KAAK,SAAS,CAAC;AAC9E,WAAK,gBAAgB,KAAK,eAAe,IAAI,wBAAwB,KAAK,SAAS,CAAC;AACpF,WAAK,iBAAiB,KAAK,eAAe,IAAI,yBAAyB,KAAK,SAAS,CAAC;AACtF,WAAK,iBAAiB,KAAK,eAAe,IAAI,yBAAyB,KAAK,SAAS,CAAC;AACtF,WAAK,iBAAiB,KAAK,eAAe,IAAI,yBAAyB,KAAK,SAAS,CAAC;AACtF,WAAK,gBAAgB,KAAK,eAAe,IAAI,wBAAwB,KAAK,SAAS,CAAC;AACpF,WAAK,qBAAqB,KAAK,eAAe,IAAI,6BAA6B,KAAK,SAAS,CAAC;AAC9F,WAAK,gBAAgB,KAAK,eAAe,IAAI,wBAAwB,KAAK,WAAW,KAAK,oBAAoB,CAAC;AAC/G,WAAK,aAAa,KAAK,eAAe,IAAI,qBAAqB,KAAK,WAAW,KAAK,oBAAoB,CAAC;AACzG,WAAK,YAAY,KAAK,eAAe,IAAI,oBAAoB,KAAK,WAAW,KAAK,WAAW,CAAC;AAC9F,WAAK,WAAW,KAAK,eAAe,IAAI,mBAAmB,KAAK,WAAW,KAAK,oBAAoB,CAAC;AACrG,WAAK,OAAO,KAAK,eAAe,IAAI,eAAe,KAAK,SAAS,CAAC;AAClE,WAAK,aAAa,KAAK,eAAe,IAAI,qBAAqB,KAAK,SAAS,CAAC;AAC9E,WAAK,SAAS,KAAK,eAAe,IAAI,iBAAiB,KAAK,SAAS,CAAC;AACtE,WAAK,QAAQ,KAAK,eAAe,IAAI,gBAAgB,KAAK,SAAS,CAAC;AACpE,WAAK,kBAAkB,KAAK,eAAe,IAAI,0BAA0B,KAAK,SAAS,CAAC;AACxF,WAAK,OAAO,KAAK,eAAe,IAAI,gBAAgB;AACpD,WAAK,YAAY,KAAK,eAAe,IAAI,oBAAoB,KAAK,SAAS,CAAC;AAC5E,WAAK,WAAW,KAAK,eAAe,IAAI,mBAAmB,KAAK,WAAW,IAAI,CAAC;AAChF,WAAK,gBAAgB,KAAK,eAAe,IAAI,wBAAwB,KAAK,SAAS,CAAC;AACpF,WAAK,OAAO,IAAI,cAAc,KAAK,QAAQ,KAAK,YAAY,KAAK,SAAS;AAE1E,WAAK,2BAAA;AAKL,WAAK,cAAc,SAAS,2BAA2B,uBAAuB,YAAY,OAAO;AAQjG,WAAK,cAAc;AAAA,QACf,2BAA2B;AAAA,QAC3B,KAAK,OAAO,gBAAgB,aAAa;AAAA,MAAA;AAI7C,WAAK,cAAc,oBAAoB,KAAK,OAAO,iBAAiB,oBAAoB;AAGxF,WAAK,cAAc;AAAA,QACf,2BAA2B;AAAA,UAC3BA,MAAA,KAAK,OAAO,yBAAZ,gBAAAA,IAAkC,eAAc;AAAA,MAAA;AAAA,IAExD;AAEA,SAAA,gBAAgB,CAAC,kBAA8B;AAC3C,mBAAa;AAAA,IACjB;AAEA,SAAQ,iBAAiB,CAAmB,eAAmC;AAC3E,6BAAuB,UAAU;AACjC,aAAO;AAAA,IACX;AAQA,SAAQ,6BAA6B,MAAM;;AACvC,YAAM,gBAAgB;AACtB,iBAAW,gBAAgB,OAAO,KAAK,aAAa,GAAG;AACnD,cAAM,QAAQ,cAAc,YAAY;AACxC,YAAI,yBAAyB,KAAK,GAAG;AACjC,wBAAc,YAAY,IAAI;AAAA,YAC1B;AAAA,YACA;AAAA,YACA,KAAK;AAAA,YACL,KAAK;AAAA,aACLA,MAAA,KAAK,OAAO,YAAZ,gBAAAA,IAAqB;AAAA,UAAA;AAAA,QAE7B;AAAA,MACJ;AAAA,IACJ;AAhOI,SAAK,SAAS,aAAa,oBAAoB,MAAM;AACrD,SAAK,YAAY,IAAI,WAAU,UAAK,OAAO,YAAZ,mBAAqB,MAAM;AAE1D,SAAK,aAAa;AAClB,SAAK,YAAY,yCAAY,QAAQ,KAAK,CAAC,UAAmB;AAC1D,aAAO;AAAA,IACX;AAEA,SAAK,SAAS,KAAK,eAAe,IAAI,iBAAiB,KAAK,SAAS,CAAC;AACtE,SAAK,SAAS,KAAK,eAAe,IAAI,iBAAiB,KAAK,SAAS,CAAC;AACtE,SAAK,QAAQ,KAAK,eAAe,IAAI,gBAAgB,KAAK,SAAS,CAAC;AACpE,SAAK,QAAQ,KAAK,eAAe,IAAI,gBAAgB,KAAK,SAAS,CAAC;AACpE,SAAK,UAAU,KAAK,eAAe,IAAI,kBAAkB,KAAK,SAAS,CAAC;AACxE,SAAK,YAAY,KAAK,eAAe,IAAI,oBAAoB,KAAK,SAAS,CAAC;AAC5E,SAAK,cAAc,KAAK,eAAe,IAAI,sBAAsB,KAAK,WAAW,IAAI,CAAC;AACtF,SAAK,YAAY,KAAK,eAAe,IAAI,oBAAoB,KAAK,WAAW,KAAK,WAAW,CAAC;AAC9F,SAAK,iBAAiB,KAAK,eAAe,IAAI,yBAAyB,KAAK,SAAS,CAAC;AACtF,SAAK,gBAAgB,KAAK,eAAe,IAAI,wBAAwB,KAAK,SAAS,CAAC;AACpF,SAAK,qBAAqB,KAAK,eAAe,IAAI,6BAA6B,KAAK,SAAS,CAAC;AAC9F,SAAK,gBAAgB,KAAK,eAAe,IAAI,wBAAwB,KAAK,WAAW,KAAK,oBAAoB,CAAC;AAC/G,SAAK,aAAa,KAAK,eAAe,IAAI,qBAAqB,KAAK,WAAW,KAAK,oBAAoB,CAAC;AACzG,SAAK,YAAY,KAAK,eAAe,IAAI,oBAAoB,KAAK,SAAS,CAAC;AAC5E,SAAK,WAAW,KAAK,eAAe,IAAI,mBAAmB,KAAK,SAAS,CAAC;AAE1E,SAAK,gBAAgB,KAAK,eAAe,IAAI,4BAA4B,KAAK,WAAW,KAAK,WAAW,CAAC;AAC1G,SAAK,WAAW,KAAK,eAAe,IAAI,mBAAmB,KAAK,WAAW,KAAK,oBAAoB,CAAC;AACrG,SAAK,QAAQ,KAAK,eAAe,IAAI,gBAAgB,KAAK,WAAW,KAAK,WAAW,CAAC;AACtF,SAAK,aAAa,IAAI,qBAAqB,KAAK,QAAQ,KAAK,WAAW;AACxE,SAAK,OAAO,KAAK,eAAe,IAAI,eAAe,KAAK,SAAS,CAAC;AAClE,SAAK,OAAO,KAAK,eAAe,IAAI,eAAe,KAAK,SAAS,CAAC;AAClE,SAAK,QAAQ,KAAK,eAAe,IAAI,gBAAgB,KAAK,SAAS,CAAC;AAEpE,SAAK,gBAAgB,KAAK,eAAe,IAAI,oBAAoB,KAAK,SAAS,CAAC;AAChF,SAAK,aAAa,KAAK,eAAe,IAAI,qBAAqB,KAAK,SAAS,CAAC;AAC9E,SAAK,gBAAgB,KAAK,eAAe,IAAI,wBAAwB,KAAK,SAAS,CAAC;AACpF,SAAK,iBAAiB,KAAK,eAAe,IAAI,yBAAyB,KAAK,SAAS,CAAC;AACtF,SAAK,iBAAiB,KAAK,eAAe,IAAI,yBAAyB,KAAK,SAAS,CAAC;AACtF,SAAK,OAAO,KAAK,eAAe,IAAI,eAAe,KAAK,SAAS,CAAC;AAClE,SAAK,aAAa,KAAK,eAAe,IAAI,qBAAqB,KAAK,SAAS,CAAC;AAC9E,SAAK,SAAS,KAAK,eAAe,IAAI,iBAAiB,KAAK,SAAS,CAAC;AACtE,SAAK,kBAAkB,KAAK,eAAe,IAAI,0BAA0B,KAAK,SAAS,CAAC;AACxF,SAAK,OAAO,KAAK,eAAe,IAAI,gBAAgB;AACpD,SAAK,YAAY,KAAK,eAAe,IAAI,oBAAoB,KAAK,SAAS,CAAC;AAC5E,SAAK,OAAO,IAAI,cAAc,KAAK,QAAQ,KAAK,YAAY,KAAK,SAAS;AAC1E,SAAK,yBAAyB,KAAK,OAAO;AAC1C,SAAK,WAAW,KAAK,eAAe,IAAI,mBAAmB,KAAK,WAAW,IAAI,CAAC;AAChF,SAAK,gBAAgB,KAAK,eAAe,IAAI,wBAAwB,KAAK,SAAS,CAAC;AAEpF,SAAK,2BAAA;AAAA,EACT;AAgLJ;"}
@@ -1,7 +1,6 @@
1
1
  import { CharacterStyle } from './CharacterStyleTypes';
2
2
  import { APIColorType, DocumentColor } from './ColorStyleTypes';
3
- import { Id } from './CommonTypes';
4
- import { DocumentCharacterStyle, DocumentParagraphStyle } from './DocumentTypes';
3
+ import { Id, PropertyState } from './CommonTypes';
5
4
  import { DocumentFontFamily } from './FontTypes';
6
5
  import { DocumentGradient } from './GradientStyleTypes';
7
6
  import { ParagraphStyle } from './ParagraphStyleTypes';
@@ -22,82 +21,82 @@ type BaseBrandKitColor = {
22
21
  guid: string;
23
22
  };
24
23
  export type RGBColorValue = BaseBrandKitColor & {
25
- value: RGB;
24
+ value: RGB | null;
26
25
  type: APIColorType.rgb;
27
26
  };
28
27
  export type CMYKColorValue = BaseBrandKitColor & {
29
- value: CMYK;
28
+ value: CMYK | null;
30
29
  type: APIColorType.cmyk;
31
30
  };
32
31
  export type HEXColorValue = BaseBrandKitColor & {
33
- value: string;
32
+ value: string | null;
34
33
  type: APIColorType.hex;
35
34
  };
36
35
  export type SpotRGBColorValue = BaseBrandKitColor & {
37
- displayValue: RGB;
38
- value: string;
36
+ displayValue: RGB | null;
37
+ value: string | null;
39
38
  type: APIColorType.spotRgb;
40
39
  };
41
40
  export type SpotCMYKColorValue = BaseBrandKitColor & {
42
- displayValue: CMYK;
43
- value: string;
41
+ displayValue: CMYK | null;
42
+ value: string | null;
44
43
  type: APIColorType.spotCmyk;
45
44
  };
46
45
  export type SpotHEXColorValue = BaseBrandKitColor & {
47
- displayValue: string;
48
- value: string;
46
+ displayValue: string | null;
47
+ value: string | null;
49
48
  type: APIColorType.spotHex;
50
49
  };
51
- export type BrandKitColor = RGBColorValue | CMYKColorValue | HEXColorValue | SpotRGBColorValue | SpotCMYKColorValue | SpotHEXColorValue;
52
- export type BrandKitFont = {
50
+ export type APIBrandKitColor = RGBColorValue | CMYKColorValue | HEXColorValue | SpotRGBColorValue | SpotCMYKColorValue | SpotHEXColorValue;
51
+ export type APIBrandKitFont = {
53
52
  fontFamilyId: string;
54
- fontFamilyBrandKitGuid: string;
53
+ fontFamilyBrandKitGuid?: string | null;
55
54
  fontConnectorId?: string | null;
56
55
  };
57
- export type BrandKitCharacterStyle = {
56
+ export type APIBrandKitCharacterStyle = {
58
57
  name: string;
59
- brandKitFontFamilyGuid?: string;
60
- fontStyleId?: string;
61
- fontSize?: number;
62
- typographicCase?: Case;
63
- kerningOn?: boolean;
64
- subSuperScript?: Scripting;
65
- trackingLeft?: number;
66
- trackingRight?: number;
67
- textIndent?: string;
68
- baselineShiftValue?: string;
69
- lineHeight?: number;
70
- textOverprint?: boolean;
71
- brandKitColorGuid?: string;
72
- fillColorApplied?: boolean;
58
+ brandKitFontFamilyGuid?: string | null;
59
+ fontStyleId?: string | null;
60
+ fontSize?: number | null;
61
+ typographicCase?: Case | null;
62
+ kerningOn?: boolean | null;
63
+ subSuperScript?: Scripting | null;
64
+ trackingLeft?: number | null;
65
+ trackingRight?: number | null;
66
+ textIndent?: string | null;
67
+ baselineShiftValue?: string | null;
68
+ lineHeight?: number | null;
69
+ textOverprint?: boolean | null;
70
+ brandKitColorGuid?: string | null;
71
+ fillColorApplied?: boolean | null;
73
72
  textStrokeColorGuid?: string | null;
74
73
  textStrokeColorApplied?: boolean | null;
75
74
  textStrokeWidth?: number | null;
76
- underline?: boolean;
77
- lineThrough?: boolean;
75
+ underline?: boolean | null;
76
+ lineThrough?: boolean | null;
78
77
  };
79
- export type BrandKitParagraphStyle = {
78
+ export type APIBrandKitParagraphStyle = {
80
79
  name: string;
81
80
  brandKitFontFamilyGuid: string;
82
81
  fontStyleId: string;
83
82
  fontSize: number;
84
- typographicCase: Case;
85
- kerningOn: boolean;
86
- subSuperScript: Scripting;
87
- trackingLeft: number;
88
- trackingRight: number;
89
- textAlign: Alignment;
90
- textIndent: string;
91
- baselineShiftValue: string;
83
+ typographicCase: Case | null;
84
+ kerningOn?: boolean | null;
85
+ subSuperScript: Scripting | null;
86
+ trackingLeft?: number | null;
87
+ trackingRight?: number | null;
88
+ textAlign?: Alignment | null;
89
+ textIndent?: string | null;
90
+ baselineShiftValue?: string | null;
92
91
  lineHeight: number;
93
- textOverprint: boolean;
92
+ textOverprint?: boolean | null;
94
93
  brandKitColorGuid: string;
95
- fillColorApplied: boolean;
96
- textStrokeColorGuid: string;
97
- textStrokeColorApplied: boolean;
98
- textStrokeWidth: number;
99
- underline: boolean;
100
- lineThrough: boolean;
94
+ fillColorApplied?: boolean | null;
95
+ textStrokeColorGuid?: string | null;
96
+ textStrokeColorApplied?: boolean | null;
97
+ textStrokeWidth?: number | null;
98
+ underline?: boolean | null;
99
+ lineThrough?: boolean | null;
101
100
  };
102
101
  export type BrandKitMedia = {
103
102
  name: string;
@@ -106,80 +105,43 @@ export type BrandKitMedia = {
106
105
  };
107
106
  export type APIBrandKitMedia = {
108
107
  name: string;
109
- mediaConnectorId: Id;
110
- mediaId: Id;
108
+ mediaConnectorId?: Id | null;
109
+ mediaId?: Id | null;
111
110
  };
112
111
  export type APIBrandKitTheme = {
113
112
  id: Id;
114
113
  name: string;
115
- inheritsFrom: string | null;
114
+ inheritedFrom: string | null;
116
115
  dateCreated: string | null;
117
116
  lastModifiedDate: string | null;
118
- colors: BrandKitColor[];
119
- characterStyles: BrandKitCharacterStyle[];
120
- paragraphStyles: BrandKitParagraphStyle[];
121
- media: BrandKitMedia[];
117
+ colors: APIBrandKitColor[];
118
+ characterStyles: APIBrandKitCharacterStyle[];
119
+ paragraphStyles: APIBrandKitParagraphStyle[];
120
+ media: APIBrandKitMedia[];
122
121
  };
123
122
  export type APIBrandKit = {
124
123
  id: Id;
125
- name: string;
124
+ name: string | null;
126
125
  dateCreated: string;
127
126
  lastModifiedDate: string;
128
- fonts: BrandKitFont[];
129
- colors: BrandKitColor[];
130
- characterStyles: BrandKitCharacterStyle[];
131
- paragraphStyles: BrandKitParagraphStyle[];
132
- media: APIBrandKitMedia[];
133
- themes: APIBrandKitTheme[] | BrandKitTheme[];
134
- };
135
- export type BrandKitTheme = {
136
- id: string;
137
- name: string;
138
- inheritsFrom: string | null;
139
- dateCreated: string | null;
140
- lastModifiedDate: string | null;
141
- colors: DocumentColor[];
142
- characterStyles: CharacterStyle[];
143
- paragraphStyles: ParagraphStyle[];
144
- media: BrandKitMedia[];
145
- };
146
- /**
147
- * User-facing brand kit type returned by BrandKitController.get() and accepted by BrandKitController.set().
148
- */
149
- export type StudioBrandKit = {
150
- id: string;
151
- name: string;
152
- fontConnectorId: string;
153
- brandKit: APIBrandKit;
154
- };
155
- /**
156
- * Internal brand kit shape returned by BrandKitController.set() with document-style resources.
157
- */
158
- export type BrandKitInternal = {
159
- id: string;
160
- version: string;
161
- name: string;
162
- colors: DocumentColor[];
163
- gradients: DocumentGradient[];
164
- fonts: DocumentFontFamily[];
165
- characterStyles: DocumentCharacterStyle[];
166
- paragraphStyles: DocumentParagraphStyle[];
167
- media: BrandKitMedia[];
168
- themes: BrandKitTheme[];
169
- };
170
- /**
171
- * Engine response shape from getBrandKit() / setBrandKit(). Used internally to adapt to StudioBrandKit / BrandKitInternal.
172
- */
173
- export type EngineBrandKit = {
127
+ fonts?: APIBrandKitFont[] | null;
128
+ colors?: APIBrandKitColor[] | null;
129
+ characterStyles?: APIBrandKitCharacterStyle[] | null;
130
+ paragraphStyles?: APIBrandKitParagraphStyle[] | null;
131
+ media?: APIBrandKitMedia[] | null;
132
+ themes?: APIBrandKitTheme[] | null;
133
+ };
134
+ export type BrandKit = {
174
135
  id: string | null;
175
136
  version: string | null;
176
137
  name: string | null;
177
- colors: DocumentColor[];
178
- gradients: DocumentGradient[];
179
- fontFamilies: DocumentFontFamily[];
180
- characterStyles: CharacterStyle[];
181
- paragraphStyles: ParagraphStyle[];
182
- media: BrandKitMedia[];
183
- themes: BrandKitTheme[];
138
+ selectedThemeName: string | null;
139
+ colors: PropertyState<DocumentColor>[];
140
+ gradients: PropertyState<DocumentGradient>[];
141
+ fontFamilies: PropertyState<DocumentFontFamily>[];
142
+ characterStyles: PropertyState<CharacterStyle>[];
143
+ paragraphStyles: PropertyState<ParagraphStyle>[];
144
+ media: PropertyState<BrandKitMedia>[];
145
+ isAutoSync: boolean | null;
184
146
  };
185
147
  export {};