@chili-publish/studio-sdk 1.45.0 → 1.46.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 (45) hide show
  1. package/_bundles/main.js +2 -2
  2. package/_bundles/main.js.map +1 -1
  3. package/lib/src/controllers/ComponentController.cjs.js +4 -0
  4. package/lib/src/controllers/ComponentController.cjs.js.map +1 -1
  5. package/lib/src/controllers/ComponentController.d.ts +6 -0
  6. package/lib/src/controllers/ComponentController.es.js +4 -0
  7. package/lib/src/controllers/ComponentController.es.js.map +1 -1
  8. package/lib/src/controllers/SubscriberController.cjs.js +3 -0
  9. package/lib/src/controllers/SubscriberController.cjs.js.map +1 -1
  10. package/lib/src/controllers/SubscriberController.d.ts +7 -0
  11. package/lib/src/controllers/SubscriberController.es.js +3 -0
  12. package/lib/src/controllers/SubscriberController.es.js.map +1 -1
  13. package/lib/src/interactions/Connector.cjs.js +2 -1
  14. package/lib/src/interactions/Connector.cjs.js.map +1 -1
  15. package/lib/src/interactions/Connector.d.ts +1 -0
  16. package/lib/src/interactions/Connector.es.js +2 -1
  17. package/lib/src/interactions/Connector.es.js.map +1 -1
  18. package/lib/src/sdk/editor-engine.json.cjs.js +1 -1
  19. package/lib/src/sdk/editor-engine.json.es.js +1 -1
  20. package/lib/src/sdk/package.json.cjs.js +1 -1
  21. package/lib/src/sdk/package.json.es.js +1 -1
  22. package/lib/src/sdk.cjs.js +2 -1
  23. package/lib/src/sdk.cjs.js.map +1 -1
  24. package/lib/src/sdk.es.js +2 -1
  25. package/lib/src/sdk.es.js.map +1 -1
  26. package/lib/src/types/CommonTypes.cjs.js.map +1 -1
  27. package/lib/src/types/CommonTypes.d.ts +10 -0
  28. package/lib/src/types/CommonTypes.es.js.map +1 -1
  29. package/lib/src/types/ComponentGridTypes.cjs.js.map +1 -1
  30. package/lib/src/types/ComponentGridTypes.es.js.map +1 -1
  31. package/lib/src/types/FrameTypes.cjs.js.map +1 -1
  32. package/lib/src/types/FrameTypes.d.ts +1 -0
  33. package/lib/src/types/FrameTypes.es.js.map +1 -1
  34. package/lib/src/types/RichTextRuleTypes.cjs.js.map +1 -1
  35. package/lib/src/types/RichTextRuleTypes.es.js.map +1 -1
  36. package/lib/src/types/ShapeTypes.cjs.js +1 -0
  37. package/lib/src/types/ShapeTypes.cjs.js.map +1 -1
  38. package/lib/src/types/ShapeTypes.d.ts +12 -2
  39. package/lib/src/types/ShapeTypes.es.js +1 -0
  40. package/lib/src/types/ShapeTypes.es.js.map +1 -1
  41. package/lib/src/utils/ConfigHelper.cjs.js +4 -0
  42. package/lib/src/utils/ConfigHelper.cjs.js.map +1 -1
  43. package/lib/src/utils/ConfigHelper.es.js +4 -0
  44. package/lib/src/utils/ConfigHelper.es.js.map +1 -1
  45. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.cjs.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":["engineInfo","DataItemMappingTools","MethodListenerRegistry","Connect","_a","ActionController","LayoutController","FrameController","BarcodeController","ComponentController","AnimationController","DocumentController","LocalConfigurationDecorator","UtilsController","ToolController","PageController","DebugController","UndoManagerController","TextStyleController","ColorStyleController","GradientStyleController","ParagraphStyleController","CharacterStyleController","MediaConnectorController","FontConnectorController","ComponentConnectorController","DataConnectorController","DataSourceController","ConnectorController","VariableController","FontController","ExperimentController","CanvasController","ShapeController","ColorConversionController","InfoController","ClipboardController","BrandKitController","ComponentGridController","NextInitiator","WellKnownConfigurationKeys","packageInfo","DocumentType","defaultStudioOptions","wrapWithInvocationObserver","ConfigHelper","SdkEvents","SubscriberController"],"mappings":"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"}
1
+ {"version":3,"file":"sdk.cjs.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 onCanvasFramesManipulated: this.subscriber.onCanvasFramesManipulated,\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":["engineInfo","DataItemMappingTools","MethodListenerRegistry","Connect","_a","ActionController","LayoutController","FrameController","BarcodeController","ComponentController","AnimationController","DocumentController","LocalConfigurationDecorator","UtilsController","ToolController","PageController","DebugController","UndoManagerController","TextStyleController","ColorStyleController","GradientStyleController","ParagraphStyleController","CharacterStyleController","MediaConnectorController","FontConnectorController","ComponentConnectorController","DataConnectorController","DataSourceController","ConnectorController","VariableController","FontController","ExperimentController","CanvasController","ShapeController","ColorConversionController","InfoController","ClipboardController","BrandKitController","ComponentGridController","NextInitiator","WellKnownConfigurationKeys","packageInfo","DocumentType","defaultStudioOptions","wrapWithInvocationObserver","ConfigHelper","SdkEvents","SubscriberController"],"mappings":"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"}
package/lib/src/sdk.es.js CHANGED
@@ -134,7 +134,8 @@ class SDK {
134
134
  onDocumentIssueListChanged: this.subscriber.onDocumentIssueListChanged,
135
135
  onCustomUndoDataChanged: this.subscriber.onCustomUndoDataChanged,
136
136
  onEngineEditModeChanged: this.subscriber.onEngineEditModeChanged,
137
- onBrandKitMediaChanged: this.subscriber.onBrandKitMediaChanged
137
+ onBrandKitMediaChanged: this.subscriber.onBrandKitMediaChanged,
138
+ onCanvasFramesManipulated: this.subscriber.onCanvasFramesManipulated
138
139
  },
139
140
  this.setConnection,
140
141
  this.config.editorId,
@@ -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 { 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":"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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 onCanvasFramesManipulated: this.subscriber.onCanvasFramesManipulated,\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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CommonTypes.cjs.js","sources":["../../../src/types/CommonTypes.ts"],"sourcesContent":["import { CallSender } from 'penpal';\nimport { ConnectorInstance, DocumentAction, DocumentFontFamily, ToolType, ViewMode } from '..';\nimport { EngineCallbackHandler } from '../utils/EngineCallbackHandler';\nimport { EngineEvent } from '../utils/EngineEvent';\nimport { AnimationPlaybackType, FrameAnimationType } from './AnimationTypes';\nimport { BarcodeFrameValidationResult } from './BarcodeTypes';\nimport { CharacterStyle } from './CharacterStyleTypes';\nimport { DocumentColor } from './ColorStyleTypes';\nimport { StudioOptionsDeltaUpdate, StudioStyling } from './ConfigurationTypes';\nimport { AuthCredentials, AuthRefreshRequest, ConnectorEvent } from './ConnectorTypes';\nimport { DocumentIssue, DocumentType, UndoState } from './DocumentTypes';\nimport { EngineEditMode } from './EngineEditModeTypes';\nimport type { FrameType } from './FrameTypes';\nimport { Frame, FrameLayoutType, FrameTypeEnum } from './FrameTypes';\nimport { LayoutListItemType, LayoutPropertiesType, LayoutWithFrameProperties, MeasurementUnit } from './LayoutTypes';\nimport { Page, PageSize } from './PageTypes';\nimport { ParagraphStyle } from './ParagraphStyleTypes';\nimport { CornerRadiusUpdateModel } from './ShapeTypes';\nimport { SelectedTextStyle } from './TextStyleTypes';\nimport { Variable } from './VariableTypes';\nimport { Viewport } from './ViewportTypes';\nimport { BrandKitMedia } from './BrandKitTypes';\nimport { AsyncError } from '../exceptions';\n\nexport type Id = string;\nexport type BaseConfigType = {\n editorLink?: string;\n editorId?: string;\n chiliEnvironmentUrl?: string;\n documentType?: DocumentType;\n studioStyling?: StudioStyling;\n studioOptions?: StudioOptionsDeltaUpdate;\n /**\n * Whether the engine should cache query calls.\n * When enabled it will cache the query calls regardless of the cache control headers.\n */\n enableQueryCallCache?: boolean;\n enableNextSubscribers?: {\n onVariableListChanged: boolean;\n };\n logging?: {\n logLevel?: LogLevel;\n logger?: LoggerFunction;\n };\n /**\n * Callback function that is called when an error occurs during iframe setup or connection.\n * @param error The error that occurred during setup or connection\n */\n onConnectionError?: (error: Error) => void;\n};\n\nexport type LoggerFunction = (logLevel: LogLevel, category: LogCategory, message: string) => void;\n\nexport enum LogLevel {\n info = 'info',\n warn = 'warn',\n error = 'error',\n}\n\nexport enum LogCategory {\n general = 'general',\n connector = 'connector',\n event = 'event',\n engine = 'engine',\n sdk = 'sdk',\n}\n\n/**\n * Defines the behavior when encountering an error in the event / handler callback.\n */\nexport enum CallbackErrorBehavior {\n /**\n * Throws an error when encountering an error in a callback.\n */\n throw = 'throw',\n\n /**\n * Logs the error when encountering an error in a callback.\n */\n log = 'log',\n}\n\nexport type MaybePromise<T> = T | Promise<T>;\n\nexport type ManagedCallbacksConfigType = {\n handlers: {\n onAuthExpired: EngineCallbackHandler<\n (authRefreshRequest: AuthRefreshRequest) => Promise<AuthCredentials | null>\n >;\n onViewportRequested: EngineCallbackHandler<() => Viewport | null>;\n };\n events: {\n onActionsChanged: EngineEvent<(state: DocumentAction[]) => MaybePromise<void>>;\n onStateChanged: EngineEvent<() => MaybePromise<void>>;\n onDocumentLoaded: EngineEvent<() => MaybePromise<void>>;\n onSelectedFramesLayoutChanged: EngineEvent<(states: FrameLayoutType[]) => MaybePromise<void>>;\n onFramesLayoutChanged: EngineEvent<(states: FrameLayoutType[]) => MaybePromise<void>>;\n onSelectedFramesContentChanged: EngineEvent<(state: Frame[]) => MaybePromise<void>>;\n onPageSelectionChanged: EngineEvent<(id: Id) => MaybePromise<void>>;\n onSelectedLayoutPropertiesChanged: EngineEvent<(state: LayoutPropertiesType) => MaybePromise<void>>;\n onSelectedLayoutUnitChanged: EngineEvent<(unit: MeasurementUnit) => MaybePromise<void>>;\n onScrubberPositionChanged: EngineEvent<(state: AnimationPlaybackType) => MaybePromise<void>>;\n onFrameAnimationsChanged: EngineEvent<(animationState: FrameAnimationType[]) => MaybePromise<void>>;\n onVariableListChanged: EngineEvent<(variableList: Variable[]) => MaybePromise<void>>;\n onSelectedToolChanged: EngineEvent<(tool: ToolType) => MaybePromise<void>>;\n onUndoStackStateChanged: EngineEvent<(undoStackState: UndoState) => MaybePromise<void>>;\n onSelectedLayoutFramesChanged: EngineEvent<(frames: SelectedLayoutFrame[]) => MaybePromise<void>>;\n onSelectedTextStyleChanged: EngineEvent<(styles: SelectedTextStyle) => MaybePromise<void>>;\n onColorsChanged: EngineEvent<(colors: DocumentColor[]) => MaybePromise<void>>;\n onParagraphStylesChanged: EngineEvent<(paragraphStyles: ParagraphStyle[]) => MaybePromise<void>>;\n onCharacterStylesChanged: EngineEvent<(characterStyles: CharacterStyle[]) => MaybePromise<void>>;\n onFontFamiliesChanged: EngineEvent<(fontFamilies: DocumentFontFamily[]) => MaybePromise<void>>;\n onSelectedLayoutIdChanged: EngineEvent<(layoutId: string) => MaybePromise<void>>;\n onLayoutsChanged: EngineEvent<(layouts: LayoutListItemType[]) => MaybePromise<void>>;\n onConnectorEvent: EngineEvent<(event: ConnectorEvent) => MaybePromise<void>>;\n onConnectorsChanged: EngineEvent<(connectors: ConnectorInstance[]) => MaybePromise<void>>;\n onZoomChanged: EngineEvent<(scaleFactor: number) => MaybePromise<void>>;\n onSelectedPageIdChanged: EngineEvent<(pageId: Id) => MaybePromise<void>>;\n onPagesChanged: EngineEvent<(pages: Page[]) => MaybePromise<void>>;\n onPageSnapshotInvalidated: EngineEvent<(pageId: Id) => MaybePromise<void>>;\n onPageSizeChanged: EngineEvent<(pageSize: PageSize) => MaybePromise<void>>;\n onShapeCornerRadiusChanged: EngineEvent<(cornerRadius: CornerRadiusUpdateModel) => MaybePromise<void>>;\n onCropActiveFrameIdChanged: EngineEvent<(id?: Id) => MaybePromise<void>>;\n onAsyncError: EngineEvent<(asyncError: AsyncError) => MaybePromise<void>>;\n onViewModeChanged: EngineEvent<(tool: ViewMode) => MaybePromise<void>>;\n onBarcodeValidationChanged: EngineEvent<\n (validationResults: BarcodeFrameValidationResult[]) => MaybePromise<void>\n >;\n onDataSourceIdChanged: EngineEvent<(connectorId?: Id) => MaybePromise<void>>;\n onInjectedDataChanged: EngineEvent<(variableId: Id) => MaybePromise<void>>;\n onDocumentIssueListChanged: EngineEvent<(documentIssues: DocumentIssue[]) => MaybePromise<void>>;\n onCustomUndoDataChanged: EngineEvent<(customData: Record<string, string>) => MaybePromise<void>>;\n onEngineEditModeChanged: EngineEvent<(engineEditMode: EngineEditMode) => MaybePromise<void>>;\n onBrandKitMediaChanged: EngineEvent<(brandKitMedia: BrandKitMedia[]) => MaybePromise<void>>;\n };\n};\n\nexport type InitialCallbacksConfigType = {\n /**\n * @deprecated use `events.onActionsChanged` instead\n */\n onActionsChanged?: (state: DocumentAction[]) => void;\n\n /**\n * @deprecated use `events.onStateChanged` instead\n */\n onStateChanged?: () => void;\n\n /**\n * @deprecated use `events.onAuthExpired` instead\n */\n onAuthExpired?: (authRefreshRequest: AuthRefreshRequest) => Promise<AuthCredentials | null>;\n\n /**\n * @deprecated use `events.onViewportRequested` instead\n */\n onViewportRequested?: () => Viewport | null;\n\n /**\n * @deprecated use `events.onDocumentLoaded` instead\n */\n onDocumentLoaded?: () => void;\n\n /**\n * @deprecated use `onSelectedFramesLayoutChanged` instead\n *\n */\n onSelectedFrameLayoutChanged?: (state: FrameLayoutType) => void;\n\n /**\n * @deprecated use `events.onSelectedFramesLayoutChanged` instead\n */\n onSelectedFramesLayoutChanged?: (states: FrameLayoutType[]) => void;\n\n /**\n * @deprecated use `events.onFramesLayoutChanged` instead\n */\n onFramesLayoutChanged?: (states: FrameLayoutType[]) => void;\n\n /**\n * @deprecated use `onSelectedFramesContentChanged` instead\n */\n onSelectedFrameContentChanged?: (state: Frame | null) => void;\n\n /**\n * @deprecated use `events.onSelectedFramesContentChanged` instead\n */\n onSelectedFramesContentChanged?: (state: Frame[]) => void;\n\n /**\n * @deprecated use `onSelectedPageIdChanged` instead\n */\n onPageSelectionChanged?: (id: Id) => void;\n\n /**\n * @deprecated use `events.onSelectedLayoutPropertiesChanged` instead\n */\n onSelectedLayoutPropertiesChanged?: (state: LayoutPropertiesType) => void;\n\n /**\n * @deprecated use `events.onSelectedLayoutUnitChanged` instead\n */\n onSelectedLayoutUnitChanged?: (unit: MeasurementUnit) => void;\n\n /**\n * @deprecated use `events.onScrubberPositionChanged` instead\n */\n onScrubberPositionChanged?: (state: AnimationPlaybackType) => void;\n\n /**\n * @deprecated use `events.onFrameAnimationsChanged` instead\n */\n onFrameAnimationsChanged?: (animationState: FrameAnimationType[]) => void;\n\n /**\n * @deprecated use `events.onVariableListChanged` instead\n */\n onVariableListChanged?: (variableList: Variable[]) => void;\n\n /**\n * @deprecated use `events.onSelectedToolChanged` instead\n */\n onSelectedToolChanged?: (tool: ToolType) => void;\n\n /**\n * @deprecated use `events.onUndoStackStateChanged` instead\n */\n onUndoStackStateChanged?: (undoStackState: UndoState) => void;\n\n /**\n * @deprecated use `events.onSelectedLayoutFramesChanged` instead\n */\n onSelectedLayoutFramesChanged?: (frames: SelectedLayoutFrame[]) => void;\n\n /**\n * @deprecated use `events.onSelectedTextStyleChanged` instead\n */\n onSelectedTextStyleChanged?: (styles: SelectedTextStyle) => void;\n\n /**\n * @deprecated use `events.onColorsChanged` instead\n */\n onColorsChanged?: (colors: DocumentColor[]) => void;\n\n /**\n * @deprecated use `events.onParagraphStylesChanged` instead\n */\n onParagraphStylesChanged?: (paragraphStyles: ParagraphStyle[]) => void;\n\n /**\n * @deprecated use `events.onCharacterStylesChanged` instead\n */\n onCharacterStylesChanged?: (characterStyles: CharacterStyle[]) => void;\n\n /**\n * @deprecated use `events.onFontFamiliesChanged` instead\n */\n onFontFamiliesChanged?: (fontFamilies: DocumentFontFamily[]) => void;\n\n /**\n * @deprecated use `events.onSelectedLayoutIdChanged` instead\n */\n onSelectedLayoutIdChanged?: (layoutId: string) => void;\n\n /**\n * @deprecated use `events.onLayoutsChanged` instead\n */\n onLayoutsChanged?: (layouts: LayoutListItemType[]) => void;\n\n /**\n * @deprecated use `events.onConnectorEvent` instead\n */\n onConnectorEvent?: (event: ConnectorEvent) => void;\n\n /**\n * @deprecated use `events.onConnectorsChanged` instead\n */\n onConnectorsChanged?: (connectors: ConnectorInstance[]) => void;\n\n /**\n * @deprecated use `events.onZoomChanged` instead\n */\n onZoomChanged?: (scaleFactor: number) => void;\n\n /**\n *\n * @deprecated use `events.onSelectedPageIdChanged` instead\n */\n onSelectedPageIdChanged?: (pageId: Id) => void;\n\n /**\n *\n * @deprecated use `events.onPagesChanged` instead\n */\n onPagesChanged?: (pages: Page[]) => void;\n\n /**\n *\n * @deprecated use `events.onPageSnapshotInvalidated` instead\n */\n onPageSnapshotInvalidated?: (pageId: Id) => void;\n\n /**\n * @deprecated use `events.onPageSizeChanged` instead\n */\n onPageSizeChanged?: (pageSize: PageSize) => void;\n\n /**\n * @deprecated use `events.onShapeCornerRadiusChanged` instead\n */\n onShapeCornerRadiusChanged?: (cornerRadius: CornerRadiusUpdateModel) => void;\n\n /**\n * @deprecated use `events.onCropActiveFrameIdChanged` instead\n */\n onCropActiveFrameIdChanged?: (id?: Id) => void;\n\n /**\n * @deprecated use `events.onAsyncError` instead\n */\n onAsyncError?: (asyncError: AsyncError) => void;\n\n /**\n * @deprecated use `events.onViewModeChanged` instead\n */\n onViewModeChanged?: (tool: ViewMode) => void;\n\n /**\n * @deprecated use `events.onBarcodeValidationChanged` instead\n */\n onBarcodeValidationChanged?: (validationResults: BarcodeFrameValidationResult[]) => void;\n\n /**\n * @deprecated use `events.onDataSourceIdChanged` instead\n */\n onDataSourceIdChanged?: (connectorId?: Id) => void;\n\n /**\n * @deprecated use `events.onInjectedDataChanged` instead\n */\n onInjectedDataChanged?: (variableId: Id) => void;\n\n /**\n * @deprecated use `events.onDocumentIssueListChanged` instead\n */\n onDocumentIssueListChanged?: (documentIssues: DocumentIssue[]) => void;\n\n /**\n * @deprecated use `events.onCustomUndoDataChanged` instead\n */\n onCustomUndoDataChanged?: (customData: Record<string, string>) => void;\n\n /**\n * @deprecated use `events.onEngineEditModeChanged` instead\n */\n onEngineEditModeChanged?: (engineEditMode: EngineEditMode) => void;\n\n /**\n * @deprecated use `events.onBrandKitMediaChanged` instead\n */\n onBrandKitMediaChanged?: (brandKitMedia: BrandKitMedia[]) => void;\n};\n\nexport type ConfigType = InitialCallbacksConfigType & BaseConfigType;\nexport type RuntimeConfigType = ConfigType & ManagedCallbacksConfigType;\n\nexport type EditorResponseError = string;\n\nexport interface EditorResponse<T> {\n success: boolean;\n status: number;\n data?: string | null;\n error?: EditorResponseError | null;\n parsedData: T | null;\n}\n\nexport interface EditorRawAPI extends CallSender {\n [index: string]: <T>(...args: unknown[]) => Promise<T>;\n}\n\nexport interface EditorAPI extends CallSender {\n [index: string]: <T>(...args: unknown[]) => Promise<EditorResponse<T>>;\n}\n\nexport type PageType = {\n id: Id;\n number: number;\n width: number | null;\n height: number | null;\n frames: FrameType[];\n};\n\nexport type InitialStateType = {\n layouts: LayoutWithFrameProperties[];\n selectedLayoutId: Id;\n pages: PageType[];\n variables: Variable[];\n};\n\nexport interface PropertyState<T> {\n value: T;\n isOverride: boolean;\n isReadOnly: boolean;\n}\n\nexport interface HasOverrideState {\n isOverride: boolean;\n isReadOnly: boolean;\n}\n\nexport interface SelectedLayoutFrame {\n id: Id;\n name: string;\n type: FrameTypeEnum;\n isVisible: boolean;\n}\n\nexport type PrivateData = Record<string, string>;\n\nexport class SDKUnauthorizedError extends Error {\n constructor(message: string) {\n super(message);\n }\n}\n"],"names":["LogLevel","LogCategory","CallbackErrorBehavior"],"mappings":";;AAqDO,IAAK,6BAAAA,cAAL;AACHA,YAAA,MAAA,IAAO;AACPA,YAAA,MAAA,IAAO;AACPA,YAAA,OAAA,IAAQ;AAHA,SAAAA;AAAA,GAAA,YAAA,CAAA,CAAA;AAML,IAAK,gCAAAC,iBAAL;AACHA,eAAA,SAAA,IAAU;AACVA,eAAA,WAAA,IAAY;AACZA,eAAA,OAAA,IAAQ;AACRA,eAAA,QAAA,IAAS;AACTA,eAAA,KAAA,IAAM;AALE,SAAAA;AAAA,GAAA,eAAA,CAAA,CAAA;AAWL,IAAK,0CAAAC,2BAAL;AAIHA,yBAAA,OAAA,IAAQ;AAKRA,yBAAA,KAAA,IAAM;AATE,SAAAA;AAAA,GAAA,yBAAA,CAAA,CAAA;AA6VL,MAAM,6BAA6B,MAAM;AAAA,EAC5C,YAAY,SAAiB;AACzB,UAAM,OAAO;AAAA,EACjB;AACJ;;;;;"}
1
+ {"version":3,"file":"CommonTypes.cjs.js","sources":["../../../src/types/CommonTypes.ts"],"sourcesContent":["import { CallSender } from 'penpal';\nimport { ConnectorInstance, DocumentAction, DocumentFontFamily, ToolType, ViewMode } from '..';\nimport { EngineCallbackHandler } from '../utils/EngineCallbackHandler';\nimport { EngineEvent } from '../utils/EngineEvent';\nimport { AnimationPlaybackType, FrameAnimationType } from './AnimationTypes';\nimport { BarcodeFrameValidationResult } from './BarcodeTypes';\nimport { CharacterStyle } from './CharacterStyleTypes';\nimport { DocumentColor } from './ColorStyleTypes';\nimport { StudioOptionsDeltaUpdate, StudioStyling } from './ConfigurationTypes';\nimport { AuthCredentials, AuthRefreshRequest, ConnectorEvent } from './ConnectorTypes';\nimport { DocumentIssue, DocumentType, UndoState } from './DocumentTypes';\nimport { EngineEditMode } from './EngineEditModeTypes';\nimport type { FrameType } from './FrameTypes';\nimport { Frame, FrameLayoutType, FrameTypeEnum } from './FrameTypes';\nimport { LayoutListItemType, LayoutPropertiesType, LayoutWithFrameProperties, MeasurementUnit } from './LayoutTypes';\nimport { Page, PageSize } from './PageTypes';\nimport { ParagraphStyle } from './ParagraphStyleTypes';\nimport { CornerRadiusUpdateModel } from './ShapeTypes';\nimport { SelectedTextStyle } from './TextStyleTypes';\nimport { Variable } from './VariableTypes';\nimport { Viewport } from './ViewportTypes';\nimport { BrandKitMedia } from './BrandKitTypes';\nimport { AsyncError } from '../exceptions';\n\nexport type Id = string;\nexport type BaseConfigType = {\n editorLink?: string;\n editorId?: string;\n chiliEnvironmentUrl?: string;\n documentType?: DocumentType;\n studioStyling?: StudioStyling;\n studioOptions?: StudioOptionsDeltaUpdate;\n /**\n * Whether the engine should cache query calls.\n * When enabled it will cache the query calls regardless of the cache control headers.\n */\n enableQueryCallCache?: boolean;\n enableNextSubscribers?: {\n onVariableListChanged: boolean;\n };\n logging?: {\n logLevel?: LogLevel;\n logger?: LoggerFunction;\n };\n /**\n * Callback function that is called when an error occurs during iframe setup or connection.\n * @param error The error that occurred during setup or connection\n */\n onConnectionError?: (error: Error) => void;\n};\n\nexport type LoggerFunction = (logLevel: LogLevel, category: LogCategory, message: string) => void;\n\nexport enum LogLevel {\n info = 'info',\n warn = 'warn',\n error = 'error',\n}\n\nexport enum LogCategory {\n general = 'general',\n connector = 'connector',\n event = 'event',\n engine = 'engine',\n sdk = 'sdk',\n}\n\n/**\n * Defines the behavior when encountering an error in the event / handler callback.\n */\nexport enum CallbackErrorBehavior {\n /**\n * Throws an error when encountering an error in a callback.\n */\n throw = 'throw',\n\n /**\n * Logs the error when encountering an error in a callback.\n */\n log = 'log',\n}\n\nexport type MaybePromise<T> = T | Promise<T>;\n\nexport type ManagedCallbacksConfigType = {\n handlers: {\n onAuthExpired: EngineCallbackHandler<\n (authRefreshRequest: AuthRefreshRequest) => Promise<AuthCredentials | null>\n >;\n onViewportRequested: EngineCallbackHandler<() => Viewport | null>;\n };\n events: {\n onActionsChanged: EngineEvent<(state: DocumentAction[]) => MaybePromise<void>>;\n onStateChanged: EngineEvent<() => MaybePromise<void>>;\n onDocumentLoaded: EngineEvent<() => MaybePromise<void>>;\n onSelectedFramesLayoutChanged: EngineEvent<(states: FrameLayoutType[]) => MaybePromise<void>>;\n onFramesLayoutChanged: EngineEvent<(states: FrameLayoutType[]) => MaybePromise<void>>;\n onSelectedFramesContentChanged: EngineEvent<(state: Frame[]) => MaybePromise<void>>;\n onPageSelectionChanged: EngineEvent<(id: Id) => MaybePromise<void>>;\n onSelectedLayoutPropertiesChanged: EngineEvent<(state: LayoutPropertiesType) => MaybePromise<void>>;\n onSelectedLayoutUnitChanged: EngineEvent<(unit: MeasurementUnit) => MaybePromise<void>>;\n onScrubberPositionChanged: EngineEvent<(state: AnimationPlaybackType) => MaybePromise<void>>;\n onFrameAnimationsChanged: EngineEvent<(animationState: FrameAnimationType[]) => MaybePromise<void>>;\n onVariableListChanged: EngineEvent<(variableList: Variable[]) => MaybePromise<void>>;\n onSelectedToolChanged: EngineEvent<(tool: ToolType) => MaybePromise<void>>;\n onUndoStackStateChanged: EngineEvent<(undoStackState: UndoState) => MaybePromise<void>>;\n onSelectedLayoutFramesChanged: EngineEvent<(frames: SelectedLayoutFrame[]) => MaybePromise<void>>;\n onSelectedTextStyleChanged: EngineEvent<(styles: SelectedTextStyle) => MaybePromise<void>>;\n onColorsChanged: EngineEvent<(colors: DocumentColor[]) => MaybePromise<void>>;\n onParagraphStylesChanged: EngineEvent<(paragraphStyles: ParagraphStyle[]) => MaybePromise<void>>;\n onCharacterStylesChanged: EngineEvent<(characterStyles: CharacterStyle[]) => MaybePromise<void>>;\n onFontFamiliesChanged: EngineEvent<(fontFamilies: DocumentFontFamily[]) => MaybePromise<void>>;\n onSelectedLayoutIdChanged: EngineEvent<(layoutId: string) => MaybePromise<void>>;\n onLayoutsChanged: EngineEvent<(layouts: LayoutListItemType[]) => MaybePromise<void>>;\n onConnectorEvent: EngineEvent<(event: ConnectorEvent) => MaybePromise<void>>;\n onConnectorsChanged: EngineEvent<(connectors: ConnectorInstance[]) => MaybePromise<void>>;\n onZoomChanged: EngineEvent<(scaleFactor: number) => MaybePromise<void>>;\n onSelectedPageIdChanged: EngineEvent<(pageId: Id) => MaybePromise<void>>;\n onPagesChanged: EngineEvent<(pages: Page[]) => MaybePromise<void>>;\n onPageSnapshotInvalidated: EngineEvent<(pageId: Id) => MaybePromise<void>>;\n onPageSizeChanged: EngineEvent<(pageSize: PageSize) => MaybePromise<void>>;\n onShapeCornerRadiusChanged: EngineEvent<(cornerRadius: CornerRadiusUpdateModel) => MaybePromise<void>>;\n onCropActiveFrameIdChanged: EngineEvent<(id?: Id) => MaybePromise<void>>;\n onAsyncError: EngineEvent<(asyncError: AsyncError) => MaybePromise<void>>;\n onViewModeChanged: EngineEvent<(tool: ViewMode) => MaybePromise<void>>;\n onBarcodeValidationChanged: EngineEvent<\n (validationResults: BarcodeFrameValidationResult[]) => MaybePromise<void>\n >;\n onDataSourceIdChanged: EngineEvent<(connectorId?: Id) => MaybePromise<void>>;\n onInjectedDataChanged: EngineEvent<(variableId: Id) => MaybePromise<void>>;\n onDocumentIssueListChanged: EngineEvent<(documentIssues: DocumentIssue[]) => MaybePromise<void>>;\n onCustomUndoDataChanged: EngineEvent<(customData: Record<string, string>) => MaybePromise<void>>;\n onEngineEditModeChanged: EngineEvent<(engineEditMode: EngineEditMode) => MaybePromise<void>>;\n onBrandKitMediaChanged: EngineEvent<(brandKitMedia: BrandKitMedia[]) => MaybePromise<void>>;\n /**\n * Listener that fires when frames are manipulated (e.g. moved, resized, rotated, cropped, text changed) by the user.\n * Note: this event only fires when the manipulation was caused by direct user interaction on the canvas;\n * programmatic changes do not trigger this event.\n */\n onCanvasFramesManipulated: EngineEvent<(frameIds: Id[]) => MaybePromise<void>>;\n };\n};\n\nexport type InitialCallbacksConfigType = {\n /**\n * @deprecated use `events.onActionsChanged` instead\n */\n onActionsChanged?: (state: DocumentAction[]) => void;\n\n /**\n * @deprecated use `events.onStateChanged` instead\n */\n onStateChanged?: () => void;\n\n /**\n * @deprecated use `events.onAuthExpired` instead\n */\n onAuthExpired?: (authRefreshRequest: AuthRefreshRequest) => Promise<AuthCredentials | null>;\n\n /**\n * @deprecated use `events.onViewportRequested` instead\n */\n onViewportRequested?: () => Viewport | null;\n\n /**\n * @deprecated use `events.onDocumentLoaded` instead\n */\n onDocumentLoaded?: () => void;\n\n /**\n * @deprecated use `onSelectedFramesLayoutChanged` instead\n *\n */\n onSelectedFrameLayoutChanged?: (state: FrameLayoutType) => void;\n\n /**\n * @deprecated use `events.onSelectedFramesLayoutChanged` instead\n */\n onSelectedFramesLayoutChanged?: (states: FrameLayoutType[]) => void;\n\n /**\n * @deprecated use `events.onFramesLayoutChanged` instead\n */\n onFramesLayoutChanged?: (states: FrameLayoutType[]) => void;\n\n /**\n * @deprecated use `onSelectedFramesContentChanged` instead\n */\n onSelectedFrameContentChanged?: (state: Frame | null) => void;\n\n /**\n * @deprecated use `events.onSelectedFramesContentChanged` instead\n */\n onSelectedFramesContentChanged?: (state: Frame[]) => void;\n\n /**\n * @deprecated use `onSelectedPageIdChanged` instead\n */\n onPageSelectionChanged?: (id: Id) => void;\n\n /**\n * @deprecated use `events.onSelectedLayoutPropertiesChanged` instead\n */\n onSelectedLayoutPropertiesChanged?: (state: LayoutPropertiesType) => void;\n\n /**\n * @deprecated use `events.onSelectedLayoutUnitChanged` instead\n */\n onSelectedLayoutUnitChanged?: (unit: MeasurementUnit) => void;\n\n /**\n * @deprecated use `events.onScrubberPositionChanged` instead\n */\n onScrubberPositionChanged?: (state: AnimationPlaybackType) => void;\n\n /**\n * @deprecated use `events.onFrameAnimationsChanged` instead\n */\n onFrameAnimationsChanged?: (animationState: FrameAnimationType[]) => void;\n\n /**\n * @deprecated use `events.onVariableListChanged` instead\n */\n onVariableListChanged?: (variableList: Variable[]) => void;\n\n /**\n * @deprecated use `events.onSelectedToolChanged` instead\n */\n onSelectedToolChanged?: (tool: ToolType) => void;\n\n /**\n * @deprecated use `events.onUndoStackStateChanged` instead\n */\n onUndoStackStateChanged?: (undoStackState: UndoState) => void;\n\n /**\n * @deprecated use `events.onSelectedLayoutFramesChanged` instead\n */\n onSelectedLayoutFramesChanged?: (frames: SelectedLayoutFrame[]) => void;\n\n /**\n * @deprecated use `events.onSelectedTextStyleChanged` instead\n */\n onSelectedTextStyleChanged?: (styles: SelectedTextStyle) => void;\n\n /**\n * @deprecated use `events.onColorsChanged` instead\n */\n onColorsChanged?: (colors: DocumentColor[]) => void;\n\n /**\n * @deprecated use `events.onParagraphStylesChanged` instead\n */\n onParagraphStylesChanged?: (paragraphStyles: ParagraphStyle[]) => void;\n\n /**\n * @deprecated use `events.onCharacterStylesChanged` instead\n */\n onCharacterStylesChanged?: (characterStyles: CharacterStyle[]) => void;\n\n /**\n * @deprecated use `events.onFontFamiliesChanged` instead\n */\n onFontFamiliesChanged?: (fontFamilies: DocumentFontFamily[]) => void;\n\n /**\n * @deprecated use `events.onSelectedLayoutIdChanged` instead\n */\n onSelectedLayoutIdChanged?: (layoutId: string) => void;\n\n /**\n * @deprecated use `events.onLayoutsChanged` instead\n */\n onLayoutsChanged?: (layouts: LayoutListItemType[]) => void;\n\n /**\n * @deprecated use `events.onConnectorEvent` instead\n */\n onConnectorEvent?: (event: ConnectorEvent) => void;\n\n /**\n * @deprecated use `events.onConnectorsChanged` instead\n */\n onConnectorsChanged?: (connectors: ConnectorInstance[]) => void;\n\n /**\n * @deprecated use `events.onZoomChanged` instead\n */\n onZoomChanged?: (scaleFactor: number) => void;\n\n /**\n *\n * @deprecated use `events.onSelectedPageIdChanged` instead\n */\n onSelectedPageIdChanged?: (pageId: Id) => void;\n\n /**\n *\n * @deprecated use `events.onPagesChanged` instead\n */\n onPagesChanged?: (pages: Page[]) => void;\n\n /**\n *\n * @deprecated use `events.onPageSnapshotInvalidated` instead\n */\n onPageSnapshotInvalidated?: (pageId: Id) => void;\n\n /**\n * @deprecated use `events.onPageSizeChanged` instead\n */\n onPageSizeChanged?: (pageSize: PageSize) => void;\n\n /**\n * @deprecated use `events.onShapeCornerRadiusChanged` instead\n */\n onShapeCornerRadiusChanged?: (cornerRadius: CornerRadiusUpdateModel) => void;\n\n /**\n * @deprecated use `events.onCropActiveFrameIdChanged` instead\n */\n onCropActiveFrameIdChanged?: (id?: Id) => void;\n\n /**\n * @deprecated use `events.onAsyncError` instead\n */\n onAsyncError?: (asyncError: AsyncError) => void;\n\n /**\n * @deprecated use `events.onViewModeChanged` instead\n */\n onViewModeChanged?: (tool: ViewMode) => void;\n\n /**\n * @deprecated use `events.onBarcodeValidationChanged` instead\n */\n onBarcodeValidationChanged?: (validationResults: BarcodeFrameValidationResult[]) => void;\n\n /**\n * @deprecated use `events.onDataSourceIdChanged` instead\n */\n onDataSourceIdChanged?: (connectorId?: Id) => void;\n\n /**\n * @deprecated use `events.onInjectedDataChanged` instead\n */\n onInjectedDataChanged?: (variableId: Id) => void;\n\n /**\n * @deprecated use `events.onDocumentIssueListChanged` instead\n */\n onDocumentIssueListChanged?: (documentIssues: DocumentIssue[]) => void;\n\n /**\n * @deprecated use `events.onCustomUndoDataChanged` instead\n */\n onCustomUndoDataChanged?: (customData: Record<string, string>) => void;\n\n /**\n * @deprecated use `events.onEngineEditModeChanged` instead\n */\n onEngineEditModeChanged?: (engineEditMode: EngineEditMode) => void;\n\n /**\n * @deprecated use `events.onBrandKitMediaChanged` instead\n */\n onBrandKitMediaChanged?: (brandKitMedia: BrandKitMedia[]) => void;\n\n /**\n * @deprecated use `events.onCanvasFramesManipulated` instead\n */\n onCanvasFramesManipulated?: (frameIds: Id[]) => void;\n};\n\nexport type ConfigType = InitialCallbacksConfigType & BaseConfigType;\nexport type RuntimeConfigType = ConfigType & ManagedCallbacksConfigType;\n\nexport type EditorResponseError = string;\n\nexport interface EditorResponse<T> {\n success: boolean;\n status: number;\n data?: string | null;\n error?: EditorResponseError | null;\n parsedData: T | null;\n}\n\nexport interface EditorRawAPI extends CallSender {\n [index: string]: <T>(...args: unknown[]) => Promise<T>;\n}\n\nexport interface EditorAPI extends CallSender {\n [index: string]: <T>(...args: unknown[]) => Promise<EditorResponse<T>>;\n}\n\nexport type PageType = {\n id: Id;\n number: number;\n width: number | null;\n height: number | null;\n frames: FrameType[];\n};\n\nexport type InitialStateType = {\n layouts: LayoutWithFrameProperties[];\n selectedLayoutId: Id;\n pages: PageType[];\n variables: Variable[];\n};\n\nexport interface PropertyState<T> {\n value: T;\n isOverride: boolean;\n isReadOnly: boolean;\n}\n\nexport interface HasOverrideState {\n isOverride: boolean;\n isReadOnly: boolean;\n}\n\nexport interface SelectedLayoutFrame {\n id: Id;\n name: string;\n type: FrameTypeEnum;\n isVisible: boolean;\n}\n\nexport type PrivateData = Record<string, string>;\n\nexport class SDKUnauthorizedError extends Error {\n constructor(message: string) {\n super(message);\n }\n}\n"],"names":["LogLevel","LogCategory","CallbackErrorBehavior"],"mappings":";;AAqDO,IAAK,6BAAAA,cAAL;AACHA,YAAA,MAAA,IAAO;AACPA,YAAA,MAAA,IAAO;AACPA,YAAA,OAAA,IAAQ;AAHA,SAAAA;AAAA,GAAA,YAAA,CAAA,CAAA;AAML,IAAK,gCAAAC,iBAAL;AACHA,eAAA,SAAA,IAAU;AACVA,eAAA,WAAA,IAAY;AACZA,eAAA,OAAA,IAAQ;AACRA,eAAA,QAAA,IAAS;AACTA,eAAA,KAAA,IAAM;AALE,SAAAA;AAAA,GAAA,eAAA,CAAA,CAAA;AAWL,IAAK,0CAAAC,2BAAL;AAIHA,yBAAA,OAAA,IAAQ;AAKRA,yBAAA,KAAA,IAAM;AATE,SAAAA;AAAA,GAAA,yBAAA,CAAA,CAAA;AAwWL,MAAM,6BAA6B,MAAM;AAAA,EAC5C,YAAY,SAAiB;AACzB,UAAM,OAAO;AAAA,EACjB;AACJ;;;;;"}
@@ -119,6 +119,12 @@ export type ManagedCallbacksConfigType = {
119
119
  onCustomUndoDataChanged: EngineEvent<(customData: Record<string, string>) => MaybePromise<void>>;
120
120
  onEngineEditModeChanged: EngineEvent<(engineEditMode: EngineEditMode) => MaybePromise<void>>;
121
121
  onBrandKitMediaChanged: EngineEvent<(brandKitMedia: BrandKitMedia[]) => MaybePromise<void>>;
122
+ /**
123
+ * Listener that fires when frames are manipulated (e.g. moved, resized, rotated, cropped, text changed) by the user.
124
+ * Note: this event only fires when the manipulation was caused by direct user interaction on the canvas;
125
+ * programmatic changes do not trigger this event.
126
+ */
127
+ onCanvasFramesManipulated: EngineEvent<(frameIds: Id[]) => MaybePromise<void>>;
122
128
  };
123
129
  };
124
130
  export type InitialCallbacksConfigType = {
@@ -302,6 +308,10 @@ export type InitialCallbacksConfigType = {
302
308
  * @deprecated use `events.onBrandKitMediaChanged` instead
303
309
  */
304
310
  onBrandKitMediaChanged?: (brandKitMedia: BrandKitMedia[]) => void;
311
+ /**
312
+ * @deprecated use `events.onCanvasFramesManipulated` instead
313
+ */
314
+ onCanvasFramesManipulated?: (frameIds: Id[]) => void;
305
315
  };
306
316
  export type ConfigType = InitialCallbacksConfigType & BaseConfigType;
307
317
  export type RuntimeConfigType = ConfigType & ManagedCallbacksConfigType;
@@ -1 +1 @@
1
- {"version":3,"file":"CommonTypes.es.js","sources":["../../../src/types/CommonTypes.ts"],"sourcesContent":["import { CallSender } from 'penpal';\nimport { ConnectorInstance, DocumentAction, DocumentFontFamily, ToolType, ViewMode } from '..';\nimport { EngineCallbackHandler } from '../utils/EngineCallbackHandler';\nimport { EngineEvent } from '../utils/EngineEvent';\nimport { AnimationPlaybackType, FrameAnimationType } from './AnimationTypes';\nimport { BarcodeFrameValidationResult } from './BarcodeTypes';\nimport { CharacterStyle } from './CharacterStyleTypes';\nimport { DocumentColor } from './ColorStyleTypes';\nimport { StudioOptionsDeltaUpdate, StudioStyling } from './ConfigurationTypes';\nimport { AuthCredentials, AuthRefreshRequest, ConnectorEvent } from './ConnectorTypes';\nimport { DocumentIssue, DocumentType, UndoState } from './DocumentTypes';\nimport { EngineEditMode } from './EngineEditModeTypes';\nimport type { FrameType } from './FrameTypes';\nimport { Frame, FrameLayoutType, FrameTypeEnum } from './FrameTypes';\nimport { LayoutListItemType, LayoutPropertiesType, LayoutWithFrameProperties, MeasurementUnit } from './LayoutTypes';\nimport { Page, PageSize } from './PageTypes';\nimport { ParagraphStyle } from './ParagraphStyleTypes';\nimport { CornerRadiusUpdateModel } from './ShapeTypes';\nimport { SelectedTextStyle } from './TextStyleTypes';\nimport { Variable } from './VariableTypes';\nimport { Viewport } from './ViewportTypes';\nimport { BrandKitMedia } from './BrandKitTypes';\nimport { AsyncError } from '../exceptions';\n\nexport type Id = string;\nexport type BaseConfigType = {\n editorLink?: string;\n editorId?: string;\n chiliEnvironmentUrl?: string;\n documentType?: DocumentType;\n studioStyling?: StudioStyling;\n studioOptions?: StudioOptionsDeltaUpdate;\n /**\n * Whether the engine should cache query calls.\n * When enabled it will cache the query calls regardless of the cache control headers.\n */\n enableQueryCallCache?: boolean;\n enableNextSubscribers?: {\n onVariableListChanged: boolean;\n };\n logging?: {\n logLevel?: LogLevel;\n logger?: LoggerFunction;\n };\n /**\n * Callback function that is called when an error occurs during iframe setup or connection.\n * @param error The error that occurred during setup or connection\n */\n onConnectionError?: (error: Error) => void;\n};\n\nexport type LoggerFunction = (logLevel: LogLevel, category: LogCategory, message: string) => void;\n\nexport enum LogLevel {\n info = 'info',\n warn = 'warn',\n error = 'error',\n}\n\nexport enum LogCategory {\n general = 'general',\n connector = 'connector',\n event = 'event',\n engine = 'engine',\n sdk = 'sdk',\n}\n\n/**\n * Defines the behavior when encountering an error in the event / handler callback.\n */\nexport enum CallbackErrorBehavior {\n /**\n * Throws an error when encountering an error in a callback.\n */\n throw = 'throw',\n\n /**\n * Logs the error when encountering an error in a callback.\n */\n log = 'log',\n}\n\nexport type MaybePromise<T> = T | Promise<T>;\n\nexport type ManagedCallbacksConfigType = {\n handlers: {\n onAuthExpired: EngineCallbackHandler<\n (authRefreshRequest: AuthRefreshRequest) => Promise<AuthCredentials | null>\n >;\n onViewportRequested: EngineCallbackHandler<() => Viewport | null>;\n };\n events: {\n onActionsChanged: EngineEvent<(state: DocumentAction[]) => MaybePromise<void>>;\n onStateChanged: EngineEvent<() => MaybePromise<void>>;\n onDocumentLoaded: EngineEvent<() => MaybePromise<void>>;\n onSelectedFramesLayoutChanged: EngineEvent<(states: FrameLayoutType[]) => MaybePromise<void>>;\n onFramesLayoutChanged: EngineEvent<(states: FrameLayoutType[]) => MaybePromise<void>>;\n onSelectedFramesContentChanged: EngineEvent<(state: Frame[]) => MaybePromise<void>>;\n onPageSelectionChanged: EngineEvent<(id: Id) => MaybePromise<void>>;\n onSelectedLayoutPropertiesChanged: EngineEvent<(state: LayoutPropertiesType) => MaybePromise<void>>;\n onSelectedLayoutUnitChanged: EngineEvent<(unit: MeasurementUnit) => MaybePromise<void>>;\n onScrubberPositionChanged: EngineEvent<(state: AnimationPlaybackType) => MaybePromise<void>>;\n onFrameAnimationsChanged: EngineEvent<(animationState: FrameAnimationType[]) => MaybePromise<void>>;\n onVariableListChanged: EngineEvent<(variableList: Variable[]) => MaybePromise<void>>;\n onSelectedToolChanged: EngineEvent<(tool: ToolType) => MaybePromise<void>>;\n onUndoStackStateChanged: EngineEvent<(undoStackState: UndoState) => MaybePromise<void>>;\n onSelectedLayoutFramesChanged: EngineEvent<(frames: SelectedLayoutFrame[]) => MaybePromise<void>>;\n onSelectedTextStyleChanged: EngineEvent<(styles: SelectedTextStyle) => MaybePromise<void>>;\n onColorsChanged: EngineEvent<(colors: DocumentColor[]) => MaybePromise<void>>;\n onParagraphStylesChanged: EngineEvent<(paragraphStyles: ParagraphStyle[]) => MaybePromise<void>>;\n onCharacterStylesChanged: EngineEvent<(characterStyles: CharacterStyle[]) => MaybePromise<void>>;\n onFontFamiliesChanged: EngineEvent<(fontFamilies: DocumentFontFamily[]) => MaybePromise<void>>;\n onSelectedLayoutIdChanged: EngineEvent<(layoutId: string) => MaybePromise<void>>;\n onLayoutsChanged: EngineEvent<(layouts: LayoutListItemType[]) => MaybePromise<void>>;\n onConnectorEvent: EngineEvent<(event: ConnectorEvent) => MaybePromise<void>>;\n onConnectorsChanged: EngineEvent<(connectors: ConnectorInstance[]) => MaybePromise<void>>;\n onZoomChanged: EngineEvent<(scaleFactor: number) => MaybePromise<void>>;\n onSelectedPageIdChanged: EngineEvent<(pageId: Id) => MaybePromise<void>>;\n onPagesChanged: EngineEvent<(pages: Page[]) => MaybePromise<void>>;\n onPageSnapshotInvalidated: EngineEvent<(pageId: Id) => MaybePromise<void>>;\n onPageSizeChanged: EngineEvent<(pageSize: PageSize) => MaybePromise<void>>;\n onShapeCornerRadiusChanged: EngineEvent<(cornerRadius: CornerRadiusUpdateModel) => MaybePromise<void>>;\n onCropActiveFrameIdChanged: EngineEvent<(id?: Id) => MaybePromise<void>>;\n onAsyncError: EngineEvent<(asyncError: AsyncError) => MaybePromise<void>>;\n onViewModeChanged: EngineEvent<(tool: ViewMode) => MaybePromise<void>>;\n onBarcodeValidationChanged: EngineEvent<\n (validationResults: BarcodeFrameValidationResult[]) => MaybePromise<void>\n >;\n onDataSourceIdChanged: EngineEvent<(connectorId?: Id) => MaybePromise<void>>;\n onInjectedDataChanged: EngineEvent<(variableId: Id) => MaybePromise<void>>;\n onDocumentIssueListChanged: EngineEvent<(documentIssues: DocumentIssue[]) => MaybePromise<void>>;\n onCustomUndoDataChanged: EngineEvent<(customData: Record<string, string>) => MaybePromise<void>>;\n onEngineEditModeChanged: EngineEvent<(engineEditMode: EngineEditMode) => MaybePromise<void>>;\n onBrandKitMediaChanged: EngineEvent<(brandKitMedia: BrandKitMedia[]) => MaybePromise<void>>;\n };\n};\n\nexport type InitialCallbacksConfigType = {\n /**\n * @deprecated use `events.onActionsChanged` instead\n */\n onActionsChanged?: (state: DocumentAction[]) => void;\n\n /**\n * @deprecated use `events.onStateChanged` instead\n */\n onStateChanged?: () => void;\n\n /**\n * @deprecated use `events.onAuthExpired` instead\n */\n onAuthExpired?: (authRefreshRequest: AuthRefreshRequest) => Promise<AuthCredentials | null>;\n\n /**\n * @deprecated use `events.onViewportRequested` instead\n */\n onViewportRequested?: () => Viewport | null;\n\n /**\n * @deprecated use `events.onDocumentLoaded` instead\n */\n onDocumentLoaded?: () => void;\n\n /**\n * @deprecated use `onSelectedFramesLayoutChanged` instead\n *\n */\n onSelectedFrameLayoutChanged?: (state: FrameLayoutType) => void;\n\n /**\n * @deprecated use `events.onSelectedFramesLayoutChanged` instead\n */\n onSelectedFramesLayoutChanged?: (states: FrameLayoutType[]) => void;\n\n /**\n * @deprecated use `events.onFramesLayoutChanged` instead\n */\n onFramesLayoutChanged?: (states: FrameLayoutType[]) => void;\n\n /**\n * @deprecated use `onSelectedFramesContentChanged` instead\n */\n onSelectedFrameContentChanged?: (state: Frame | null) => void;\n\n /**\n * @deprecated use `events.onSelectedFramesContentChanged` instead\n */\n onSelectedFramesContentChanged?: (state: Frame[]) => void;\n\n /**\n * @deprecated use `onSelectedPageIdChanged` instead\n */\n onPageSelectionChanged?: (id: Id) => void;\n\n /**\n * @deprecated use `events.onSelectedLayoutPropertiesChanged` instead\n */\n onSelectedLayoutPropertiesChanged?: (state: LayoutPropertiesType) => void;\n\n /**\n * @deprecated use `events.onSelectedLayoutUnitChanged` instead\n */\n onSelectedLayoutUnitChanged?: (unit: MeasurementUnit) => void;\n\n /**\n * @deprecated use `events.onScrubberPositionChanged` instead\n */\n onScrubberPositionChanged?: (state: AnimationPlaybackType) => void;\n\n /**\n * @deprecated use `events.onFrameAnimationsChanged` instead\n */\n onFrameAnimationsChanged?: (animationState: FrameAnimationType[]) => void;\n\n /**\n * @deprecated use `events.onVariableListChanged` instead\n */\n onVariableListChanged?: (variableList: Variable[]) => void;\n\n /**\n * @deprecated use `events.onSelectedToolChanged` instead\n */\n onSelectedToolChanged?: (tool: ToolType) => void;\n\n /**\n * @deprecated use `events.onUndoStackStateChanged` instead\n */\n onUndoStackStateChanged?: (undoStackState: UndoState) => void;\n\n /**\n * @deprecated use `events.onSelectedLayoutFramesChanged` instead\n */\n onSelectedLayoutFramesChanged?: (frames: SelectedLayoutFrame[]) => void;\n\n /**\n * @deprecated use `events.onSelectedTextStyleChanged` instead\n */\n onSelectedTextStyleChanged?: (styles: SelectedTextStyle) => void;\n\n /**\n * @deprecated use `events.onColorsChanged` instead\n */\n onColorsChanged?: (colors: DocumentColor[]) => void;\n\n /**\n * @deprecated use `events.onParagraphStylesChanged` instead\n */\n onParagraphStylesChanged?: (paragraphStyles: ParagraphStyle[]) => void;\n\n /**\n * @deprecated use `events.onCharacterStylesChanged` instead\n */\n onCharacterStylesChanged?: (characterStyles: CharacterStyle[]) => void;\n\n /**\n * @deprecated use `events.onFontFamiliesChanged` instead\n */\n onFontFamiliesChanged?: (fontFamilies: DocumentFontFamily[]) => void;\n\n /**\n * @deprecated use `events.onSelectedLayoutIdChanged` instead\n */\n onSelectedLayoutIdChanged?: (layoutId: string) => void;\n\n /**\n * @deprecated use `events.onLayoutsChanged` instead\n */\n onLayoutsChanged?: (layouts: LayoutListItemType[]) => void;\n\n /**\n * @deprecated use `events.onConnectorEvent` instead\n */\n onConnectorEvent?: (event: ConnectorEvent) => void;\n\n /**\n * @deprecated use `events.onConnectorsChanged` instead\n */\n onConnectorsChanged?: (connectors: ConnectorInstance[]) => void;\n\n /**\n * @deprecated use `events.onZoomChanged` instead\n */\n onZoomChanged?: (scaleFactor: number) => void;\n\n /**\n *\n * @deprecated use `events.onSelectedPageIdChanged` instead\n */\n onSelectedPageIdChanged?: (pageId: Id) => void;\n\n /**\n *\n * @deprecated use `events.onPagesChanged` instead\n */\n onPagesChanged?: (pages: Page[]) => void;\n\n /**\n *\n * @deprecated use `events.onPageSnapshotInvalidated` instead\n */\n onPageSnapshotInvalidated?: (pageId: Id) => void;\n\n /**\n * @deprecated use `events.onPageSizeChanged` instead\n */\n onPageSizeChanged?: (pageSize: PageSize) => void;\n\n /**\n * @deprecated use `events.onShapeCornerRadiusChanged` instead\n */\n onShapeCornerRadiusChanged?: (cornerRadius: CornerRadiusUpdateModel) => void;\n\n /**\n * @deprecated use `events.onCropActiveFrameIdChanged` instead\n */\n onCropActiveFrameIdChanged?: (id?: Id) => void;\n\n /**\n * @deprecated use `events.onAsyncError` instead\n */\n onAsyncError?: (asyncError: AsyncError) => void;\n\n /**\n * @deprecated use `events.onViewModeChanged` instead\n */\n onViewModeChanged?: (tool: ViewMode) => void;\n\n /**\n * @deprecated use `events.onBarcodeValidationChanged` instead\n */\n onBarcodeValidationChanged?: (validationResults: BarcodeFrameValidationResult[]) => void;\n\n /**\n * @deprecated use `events.onDataSourceIdChanged` instead\n */\n onDataSourceIdChanged?: (connectorId?: Id) => void;\n\n /**\n * @deprecated use `events.onInjectedDataChanged` instead\n */\n onInjectedDataChanged?: (variableId: Id) => void;\n\n /**\n * @deprecated use `events.onDocumentIssueListChanged` instead\n */\n onDocumentIssueListChanged?: (documentIssues: DocumentIssue[]) => void;\n\n /**\n * @deprecated use `events.onCustomUndoDataChanged` instead\n */\n onCustomUndoDataChanged?: (customData: Record<string, string>) => void;\n\n /**\n * @deprecated use `events.onEngineEditModeChanged` instead\n */\n onEngineEditModeChanged?: (engineEditMode: EngineEditMode) => void;\n\n /**\n * @deprecated use `events.onBrandKitMediaChanged` instead\n */\n onBrandKitMediaChanged?: (brandKitMedia: BrandKitMedia[]) => void;\n};\n\nexport type ConfigType = InitialCallbacksConfigType & BaseConfigType;\nexport type RuntimeConfigType = ConfigType & ManagedCallbacksConfigType;\n\nexport type EditorResponseError = string;\n\nexport interface EditorResponse<T> {\n success: boolean;\n status: number;\n data?: string | null;\n error?: EditorResponseError | null;\n parsedData: T | null;\n}\n\nexport interface EditorRawAPI extends CallSender {\n [index: string]: <T>(...args: unknown[]) => Promise<T>;\n}\n\nexport interface EditorAPI extends CallSender {\n [index: string]: <T>(...args: unknown[]) => Promise<EditorResponse<T>>;\n}\n\nexport type PageType = {\n id: Id;\n number: number;\n width: number | null;\n height: number | null;\n frames: FrameType[];\n};\n\nexport type InitialStateType = {\n layouts: LayoutWithFrameProperties[];\n selectedLayoutId: Id;\n pages: PageType[];\n variables: Variable[];\n};\n\nexport interface PropertyState<T> {\n value: T;\n isOverride: boolean;\n isReadOnly: boolean;\n}\n\nexport interface HasOverrideState {\n isOverride: boolean;\n isReadOnly: boolean;\n}\n\nexport interface SelectedLayoutFrame {\n id: Id;\n name: string;\n type: FrameTypeEnum;\n isVisible: boolean;\n}\n\nexport type PrivateData = Record<string, string>;\n\nexport class SDKUnauthorizedError extends Error {\n constructor(message: string) {\n super(message);\n }\n}\n"],"names":["LogLevel","LogCategory","CallbackErrorBehavior"],"mappings":"AAqDO,IAAK,6BAAAA,cAAL;AACHA,YAAA,MAAA,IAAO;AACPA,YAAA,MAAA,IAAO;AACPA,YAAA,OAAA,IAAQ;AAHA,SAAAA;AAAA,GAAA,YAAA,CAAA,CAAA;AAML,IAAK,gCAAAC,iBAAL;AACHA,eAAA,SAAA,IAAU;AACVA,eAAA,WAAA,IAAY;AACZA,eAAA,OAAA,IAAQ;AACRA,eAAA,QAAA,IAAS;AACTA,eAAA,KAAA,IAAM;AALE,SAAAA;AAAA,GAAA,eAAA,CAAA,CAAA;AAWL,IAAK,0CAAAC,2BAAL;AAIHA,yBAAA,OAAA,IAAQ;AAKRA,yBAAA,KAAA,IAAM;AATE,SAAAA;AAAA,GAAA,yBAAA,CAAA,CAAA;AA6VL,MAAM,6BAA6B,MAAM;AAAA,EAC5C,YAAY,SAAiB;AACzB,UAAM,OAAO;AAAA,EACjB;AACJ;"}
1
+ {"version":3,"file":"CommonTypes.es.js","sources":["../../../src/types/CommonTypes.ts"],"sourcesContent":["import { CallSender } from 'penpal';\nimport { ConnectorInstance, DocumentAction, DocumentFontFamily, ToolType, ViewMode } from '..';\nimport { EngineCallbackHandler } from '../utils/EngineCallbackHandler';\nimport { EngineEvent } from '../utils/EngineEvent';\nimport { AnimationPlaybackType, FrameAnimationType } from './AnimationTypes';\nimport { BarcodeFrameValidationResult } from './BarcodeTypes';\nimport { CharacterStyle } from './CharacterStyleTypes';\nimport { DocumentColor } from './ColorStyleTypes';\nimport { StudioOptionsDeltaUpdate, StudioStyling } from './ConfigurationTypes';\nimport { AuthCredentials, AuthRefreshRequest, ConnectorEvent } from './ConnectorTypes';\nimport { DocumentIssue, DocumentType, UndoState } from './DocumentTypes';\nimport { EngineEditMode } from './EngineEditModeTypes';\nimport type { FrameType } from './FrameTypes';\nimport { Frame, FrameLayoutType, FrameTypeEnum } from './FrameTypes';\nimport { LayoutListItemType, LayoutPropertiesType, LayoutWithFrameProperties, MeasurementUnit } from './LayoutTypes';\nimport { Page, PageSize } from './PageTypes';\nimport { ParagraphStyle } from './ParagraphStyleTypes';\nimport { CornerRadiusUpdateModel } from './ShapeTypes';\nimport { SelectedTextStyle } from './TextStyleTypes';\nimport { Variable } from './VariableTypes';\nimport { Viewport } from './ViewportTypes';\nimport { BrandKitMedia } from './BrandKitTypes';\nimport { AsyncError } from '../exceptions';\n\nexport type Id = string;\nexport type BaseConfigType = {\n editorLink?: string;\n editorId?: string;\n chiliEnvironmentUrl?: string;\n documentType?: DocumentType;\n studioStyling?: StudioStyling;\n studioOptions?: StudioOptionsDeltaUpdate;\n /**\n * Whether the engine should cache query calls.\n * When enabled it will cache the query calls regardless of the cache control headers.\n */\n enableQueryCallCache?: boolean;\n enableNextSubscribers?: {\n onVariableListChanged: boolean;\n };\n logging?: {\n logLevel?: LogLevel;\n logger?: LoggerFunction;\n };\n /**\n * Callback function that is called when an error occurs during iframe setup or connection.\n * @param error The error that occurred during setup or connection\n */\n onConnectionError?: (error: Error) => void;\n};\n\nexport type LoggerFunction = (logLevel: LogLevel, category: LogCategory, message: string) => void;\n\nexport enum LogLevel {\n info = 'info',\n warn = 'warn',\n error = 'error',\n}\n\nexport enum LogCategory {\n general = 'general',\n connector = 'connector',\n event = 'event',\n engine = 'engine',\n sdk = 'sdk',\n}\n\n/**\n * Defines the behavior when encountering an error in the event / handler callback.\n */\nexport enum CallbackErrorBehavior {\n /**\n * Throws an error when encountering an error in a callback.\n */\n throw = 'throw',\n\n /**\n * Logs the error when encountering an error in a callback.\n */\n log = 'log',\n}\n\nexport type MaybePromise<T> = T | Promise<T>;\n\nexport type ManagedCallbacksConfigType = {\n handlers: {\n onAuthExpired: EngineCallbackHandler<\n (authRefreshRequest: AuthRefreshRequest) => Promise<AuthCredentials | null>\n >;\n onViewportRequested: EngineCallbackHandler<() => Viewport | null>;\n };\n events: {\n onActionsChanged: EngineEvent<(state: DocumentAction[]) => MaybePromise<void>>;\n onStateChanged: EngineEvent<() => MaybePromise<void>>;\n onDocumentLoaded: EngineEvent<() => MaybePromise<void>>;\n onSelectedFramesLayoutChanged: EngineEvent<(states: FrameLayoutType[]) => MaybePromise<void>>;\n onFramesLayoutChanged: EngineEvent<(states: FrameLayoutType[]) => MaybePromise<void>>;\n onSelectedFramesContentChanged: EngineEvent<(state: Frame[]) => MaybePromise<void>>;\n onPageSelectionChanged: EngineEvent<(id: Id) => MaybePromise<void>>;\n onSelectedLayoutPropertiesChanged: EngineEvent<(state: LayoutPropertiesType) => MaybePromise<void>>;\n onSelectedLayoutUnitChanged: EngineEvent<(unit: MeasurementUnit) => MaybePromise<void>>;\n onScrubberPositionChanged: EngineEvent<(state: AnimationPlaybackType) => MaybePromise<void>>;\n onFrameAnimationsChanged: EngineEvent<(animationState: FrameAnimationType[]) => MaybePromise<void>>;\n onVariableListChanged: EngineEvent<(variableList: Variable[]) => MaybePromise<void>>;\n onSelectedToolChanged: EngineEvent<(tool: ToolType) => MaybePromise<void>>;\n onUndoStackStateChanged: EngineEvent<(undoStackState: UndoState) => MaybePromise<void>>;\n onSelectedLayoutFramesChanged: EngineEvent<(frames: SelectedLayoutFrame[]) => MaybePromise<void>>;\n onSelectedTextStyleChanged: EngineEvent<(styles: SelectedTextStyle) => MaybePromise<void>>;\n onColorsChanged: EngineEvent<(colors: DocumentColor[]) => MaybePromise<void>>;\n onParagraphStylesChanged: EngineEvent<(paragraphStyles: ParagraphStyle[]) => MaybePromise<void>>;\n onCharacterStylesChanged: EngineEvent<(characterStyles: CharacterStyle[]) => MaybePromise<void>>;\n onFontFamiliesChanged: EngineEvent<(fontFamilies: DocumentFontFamily[]) => MaybePromise<void>>;\n onSelectedLayoutIdChanged: EngineEvent<(layoutId: string) => MaybePromise<void>>;\n onLayoutsChanged: EngineEvent<(layouts: LayoutListItemType[]) => MaybePromise<void>>;\n onConnectorEvent: EngineEvent<(event: ConnectorEvent) => MaybePromise<void>>;\n onConnectorsChanged: EngineEvent<(connectors: ConnectorInstance[]) => MaybePromise<void>>;\n onZoomChanged: EngineEvent<(scaleFactor: number) => MaybePromise<void>>;\n onSelectedPageIdChanged: EngineEvent<(pageId: Id) => MaybePromise<void>>;\n onPagesChanged: EngineEvent<(pages: Page[]) => MaybePromise<void>>;\n onPageSnapshotInvalidated: EngineEvent<(pageId: Id) => MaybePromise<void>>;\n onPageSizeChanged: EngineEvent<(pageSize: PageSize) => MaybePromise<void>>;\n onShapeCornerRadiusChanged: EngineEvent<(cornerRadius: CornerRadiusUpdateModel) => MaybePromise<void>>;\n onCropActiveFrameIdChanged: EngineEvent<(id?: Id) => MaybePromise<void>>;\n onAsyncError: EngineEvent<(asyncError: AsyncError) => MaybePromise<void>>;\n onViewModeChanged: EngineEvent<(tool: ViewMode) => MaybePromise<void>>;\n onBarcodeValidationChanged: EngineEvent<\n (validationResults: BarcodeFrameValidationResult[]) => MaybePromise<void>\n >;\n onDataSourceIdChanged: EngineEvent<(connectorId?: Id) => MaybePromise<void>>;\n onInjectedDataChanged: EngineEvent<(variableId: Id) => MaybePromise<void>>;\n onDocumentIssueListChanged: EngineEvent<(documentIssues: DocumentIssue[]) => MaybePromise<void>>;\n onCustomUndoDataChanged: EngineEvent<(customData: Record<string, string>) => MaybePromise<void>>;\n onEngineEditModeChanged: EngineEvent<(engineEditMode: EngineEditMode) => MaybePromise<void>>;\n onBrandKitMediaChanged: EngineEvent<(brandKitMedia: BrandKitMedia[]) => MaybePromise<void>>;\n /**\n * Listener that fires when frames are manipulated (e.g. moved, resized, rotated, cropped, text changed) by the user.\n * Note: this event only fires when the manipulation was caused by direct user interaction on the canvas;\n * programmatic changes do not trigger this event.\n */\n onCanvasFramesManipulated: EngineEvent<(frameIds: Id[]) => MaybePromise<void>>;\n };\n};\n\nexport type InitialCallbacksConfigType = {\n /**\n * @deprecated use `events.onActionsChanged` instead\n */\n onActionsChanged?: (state: DocumentAction[]) => void;\n\n /**\n * @deprecated use `events.onStateChanged` instead\n */\n onStateChanged?: () => void;\n\n /**\n * @deprecated use `events.onAuthExpired` instead\n */\n onAuthExpired?: (authRefreshRequest: AuthRefreshRequest) => Promise<AuthCredentials | null>;\n\n /**\n * @deprecated use `events.onViewportRequested` instead\n */\n onViewportRequested?: () => Viewport | null;\n\n /**\n * @deprecated use `events.onDocumentLoaded` instead\n */\n onDocumentLoaded?: () => void;\n\n /**\n * @deprecated use `onSelectedFramesLayoutChanged` instead\n *\n */\n onSelectedFrameLayoutChanged?: (state: FrameLayoutType) => void;\n\n /**\n * @deprecated use `events.onSelectedFramesLayoutChanged` instead\n */\n onSelectedFramesLayoutChanged?: (states: FrameLayoutType[]) => void;\n\n /**\n * @deprecated use `events.onFramesLayoutChanged` instead\n */\n onFramesLayoutChanged?: (states: FrameLayoutType[]) => void;\n\n /**\n * @deprecated use `onSelectedFramesContentChanged` instead\n */\n onSelectedFrameContentChanged?: (state: Frame | null) => void;\n\n /**\n * @deprecated use `events.onSelectedFramesContentChanged` instead\n */\n onSelectedFramesContentChanged?: (state: Frame[]) => void;\n\n /**\n * @deprecated use `onSelectedPageIdChanged` instead\n */\n onPageSelectionChanged?: (id: Id) => void;\n\n /**\n * @deprecated use `events.onSelectedLayoutPropertiesChanged` instead\n */\n onSelectedLayoutPropertiesChanged?: (state: LayoutPropertiesType) => void;\n\n /**\n * @deprecated use `events.onSelectedLayoutUnitChanged` instead\n */\n onSelectedLayoutUnitChanged?: (unit: MeasurementUnit) => void;\n\n /**\n * @deprecated use `events.onScrubberPositionChanged` instead\n */\n onScrubberPositionChanged?: (state: AnimationPlaybackType) => void;\n\n /**\n * @deprecated use `events.onFrameAnimationsChanged` instead\n */\n onFrameAnimationsChanged?: (animationState: FrameAnimationType[]) => void;\n\n /**\n * @deprecated use `events.onVariableListChanged` instead\n */\n onVariableListChanged?: (variableList: Variable[]) => void;\n\n /**\n * @deprecated use `events.onSelectedToolChanged` instead\n */\n onSelectedToolChanged?: (tool: ToolType) => void;\n\n /**\n * @deprecated use `events.onUndoStackStateChanged` instead\n */\n onUndoStackStateChanged?: (undoStackState: UndoState) => void;\n\n /**\n * @deprecated use `events.onSelectedLayoutFramesChanged` instead\n */\n onSelectedLayoutFramesChanged?: (frames: SelectedLayoutFrame[]) => void;\n\n /**\n * @deprecated use `events.onSelectedTextStyleChanged` instead\n */\n onSelectedTextStyleChanged?: (styles: SelectedTextStyle) => void;\n\n /**\n * @deprecated use `events.onColorsChanged` instead\n */\n onColorsChanged?: (colors: DocumentColor[]) => void;\n\n /**\n * @deprecated use `events.onParagraphStylesChanged` instead\n */\n onParagraphStylesChanged?: (paragraphStyles: ParagraphStyle[]) => void;\n\n /**\n * @deprecated use `events.onCharacterStylesChanged` instead\n */\n onCharacterStylesChanged?: (characterStyles: CharacterStyle[]) => void;\n\n /**\n * @deprecated use `events.onFontFamiliesChanged` instead\n */\n onFontFamiliesChanged?: (fontFamilies: DocumentFontFamily[]) => void;\n\n /**\n * @deprecated use `events.onSelectedLayoutIdChanged` instead\n */\n onSelectedLayoutIdChanged?: (layoutId: string) => void;\n\n /**\n * @deprecated use `events.onLayoutsChanged` instead\n */\n onLayoutsChanged?: (layouts: LayoutListItemType[]) => void;\n\n /**\n * @deprecated use `events.onConnectorEvent` instead\n */\n onConnectorEvent?: (event: ConnectorEvent) => void;\n\n /**\n * @deprecated use `events.onConnectorsChanged` instead\n */\n onConnectorsChanged?: (connectors: ConnectorInstance[]) => void;\n\n /**\n * @deprecated use `events.onZoomChanged` instead\n */\n onZoomChanged?: (scaleFactor: number) => void;\n\n /**\n *\n * @deprecated use `events.onSelectedPageIdChanged` instead\n */\n onSelectedPageIdChanged?: (pageId: Id) => void;\n\n /**\n *\n * @deprecated use `events.onPagesChanged` instead\n */\n onPagesChanged?: (pages: Page[]) => void;\n\n /**\n *\n * @deprecated use `events.onPageSnapshotInvalidated` instead\n */\n onPageSnapshotInvalidated?: (pageId: Id) => void;\n\n /**\n * @deprecated use `events.onPageSizeChanged` instead\n */\n onPageSizeChanged?: (pageSize: PageSize) => void;\n\n /**\n * @deprecated use `events.onShapeCornerRadiusChanged` instead\n */\n onShapeCornerRadiusChanged?: (cornerRadius: CornerRadiusUpdateModel) => void;\n\n /**\n * @deprecated use `events.onCropActiveFrameIdChanged` instead\n */\n onCropActiveFrameIdChanged?: (id?: Id) => void;\n\n /**\n * @deprecated use `events.onAsyncError` instead\n */\n onAsyncError?: (asyncError: AsyncError) => void;\n\n /**\n * @deprecated use `events.onViewModeChanged` instead\n */\n onViewModeChanged?: (tool: ViewMode) => void;\n\n /**\n * @deprecated use `events.onBarcodeValidationChanged` instead\n */\n onBarcodeValidationChanged?: (validationResults: BarcodeFrameValidationResult[]) => void;\n\n /**\n * @deprecated use `events.onDataSourceIdChanged` instead\n */\n onDataSourceIdChanged?: (connectorId?: Id) => void;\n\n /**\n * @deprecated use `events.onInjectedDataChanged` instead\n */\n onInjectedDataChanged?: (variableId: Id) => void;\n\n /**\n * @deprecated use `events.onDocumentIssueListChanged` instead\n */\n onDocumentIssueListChanged?: (documentIssues: DocumentIssue[]) => void;\n\n /**\n * @deprecated use `events.onCustomUndoDataChanged` instead\n */\n onCustomUndoDataChanged?: (customData: Record<string, string>) => void;\n\n /**\n * @deprecated use `events.onEngineEditModeChanged` instead\n */\n onEngineEditModeChanged?: (engineEditMode: EngineEditMode) => void;\n\n /**\n * @deprecated use `events.onBrandKitMediaChanged` instead\n */\n onBrandKitMediaChanged?: (brandKitMedia: BrandKitMedia[]) => void;\n\n /**\n * @deprecated use `events.onCanvasFramesManipulated` instead\n */\n onCanvasFramesManipulated?: (frameIds: Id[]) => void;\n};\n\nexport type ConfigType = InitialCallbacksConfigType & BaseConfigType;\nexport type RuntimeConfigType = ConfigType & ManagedCallbacksConfigType;\n\nexport type EditorResponseError = string;\n\nexport interface EditorResponse<T> {\n success: boolean;\n status: number;\n data?: string | null;\n error?: EditorResponseError | null;\n parsedData: T | null;\n}\n\nexport interface EditorRawAPI extends CallSender {\n [index: string]: <T>(...args: unknown[]) => Promise<T>;\n}\n\nexport interface EditorAPI extends CallSender {\n [index: string]: <T>(...args: unknown[]) => Promise<EditorResponse<T>>;\n}\n\nexport type PageType = {\n id: Id;\n number: number;\n width: number | null;\n height: number | null;\n frames: FrameType[];\n};\n\nexport type InitialStateType = {\n layouts: LayoutWithFrameProperties[];\n selectedLayoutId: Id;\n pages: PageType[];\n variables: Variable[];\n};\n\nexport interface PropertyState<T> {\n value: T;\n isOverride: boolean;\n isReadOnly: boolean;\n}\n\nexport interface HasOverrideState {\n isOverride: boolean;\n isReadOnly: boolean;\n}\n\nexport interface SelectedLayoutFrame {\n id: Id;\n name: string;\n type: FrameTypeEnum;\n isVisible: boolean;\n}\n\nexport type PrivateData = Record<string, string>;\n\nexport class SDKUnauthorizedError extends Error {\n constructor(message: string) {\n super(message);\n }\n}\n"],"names":["LogLevel","LogCategory","CallbackErrorBehavior"],"mappings":"AAqDO,IAAK,6BAAAA,cAAL;AACHA,YAAA,MAAA,IAAO;AACPA,YAAA,MAAA,IAAO;AACPA,YAAA,OAAA,IAAQ;AAHA,SAAAA;AAAA,GAAA,YAAA,CAAA,CAAA;AAML,IAAK,gCAAAC,iBAAL;AACHA,eAAA,SAAA,IAAU;AACVA,eAAA,WAAA,IAAY;AACZA,eAAA,OAAA,IAAQ;AACRA,eAAA,QAAA,IAAS;AACTA,eAAA,KAAA,IAAM;AALE,SAAAA;AAAA,GAAA,eAAA,CAAA,CAAA;AAWL,IAAK,0CAAAC,2BAAL;AAIHA,yBAAA,OAAA,IAAQ;AAKRA,yBAAA,KAAA,IAAM;AATE,SAAAA;AAAA,GAAA,yBAAA,CAAA,CAAA;AAwWL,MAAM,6BAA6B,MAAM;AAAA,EAC5C,YAAY,SAAiB;AACzB,UAAM,OAAO;AAAA,EACjB;AACJ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentGridTypes.cjs.js","sources":["../../../src/types/ComponentGridTypes.ts"],"sourcesContent":["export type ComponentGridSettingsDeltaUpdate = {\n numberOfColumns?: {\n value: number;\n };\n numberOfRows?: {\n value: number;\n };\n columnGap?: {\n value: string;\n };\n rowGap?: {\n value: string;\n };\n}\n\nexport enum ComponentGridLayoutAlgorithm {\n fixed = 'fixed',\n}\n\nexport type FixedComponentGridSettings = {\n type: ComponentGridLayoutAlgorithm.fixed;\n numberOfColumns: number;\n numberOfRows: number;\n columnGap: number;\n rowGap: number;\n};\n\nexport type ComponentGridSettings = FixedComponentGridSettings /* | More will be added later */; \n"],"names":["ComponentGridLayoutAlgorithm"],"mappings":";;AAeO,IAAK,iDAAAA,kCAAL;AACHA,gCAAA,OAAA,IAAQ;AADA,SAAAA;AAAA,GAAA,gCAAA,CAAA,CAAA;;"}
1
+ {"version":3,"file":"ComponentGridTypes.cjs.js","sources":["../../../src/types/ComponentGridTypes.ts"],"sourcesContent":["export type ComponentGridSettingsDeltaUpdate = {\n numberOfColumns?: {\n value: number;\n };\n numberOfRows?: {\n value: number;\n };\n columnGap?: {\n value: string;\n };\n rowGap?: {\n value: string;\n };\n};\n\nexport enum ComponentGridLayoutAlgorithm {\n fixed = 'fixed',\n}\n\nexport type FixedComponentGridSettings = {\n type: ComponentGridLayoutAlgorithm.fixed;\n numberOfColumns: number;\n numberOfRows: number;\n columnGap: number;\n rowGap: number;\n};\n\nexport type ComponentGridSettings = FixedComponentGridSettings /* | More will be added later */;\n"],"names":["ComponentGridLayoutAlgorithm"],"mappings":";;AAeO,IAAK,iDAAAA,kCAAL;AACHA,gCAAA,OAAA,IAAQ;AADA,SAAAA;AAAA,GAAA,gCAAA,CAAA,CAAA;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentGridTypes.es.js","sources":["../../../src/types/ComponentGridTypes.ts"],"sourcesContent":["export type ComponentGridSettingsDeltaUpdate = {\n numberOfColumns?: {\n value: number;\n };\n numberOfRows?: {\n value: number;\n };\n columnGap?: {\n value: string;\n };\n rowGap?: {\n value: string;\n };\n}\n\nexport enum ComponentGridLayoutAlgorithm {\n fixed = 'fixed',\n}\n\nexport type FixedComponentGridSettings = {\n type: ComponentGridLayoutAlgorithm.fixed;\n numberOfColumns: number;\n numberOfRows: number;\n columnGap: number;\n rowGap: number;\n};\n\nexport type ComponentGridSettings = FixedComponentGridSettings /* | More will be added later */; \n"],"names":["ComponentGridLayoutAlgorithm"],"mappings":"AAeO,IAAK,iDAAAA,kCAAL;AACHA,gCAAA,OAAA,IAAQ;AADA,SAAAA;AAAA,GAAA,gCAAA,CAAA,CAAA;"}
1
+ {"version":3,"file":"ComponentGridTypes.es.js","sources":["../../../src/types/ComponentGridTypes.ts"],"sourcesContent":["export type ComponentGridSettingsDeltaUpdate = {\n numberOfColumns?: {\n value: number;\n };\n numberOfRows?: {\n value: number;\n };\n columnGap?: {\n value: string;\n };\n rowGap?: {\n value: string;\n };\n};\n\nexport enum ComponentGridLayoutAlgorithm {\n fixed = 'fixed',\n}\n\nexport type FixedComponentGridSettings = {\n type: ComponentGridLayoutAlgorithm.fixed;\n numberOfColumns: number;\n numberOfRows: number;\n columnGap: number;\n rowGap: number;\n};\n\nexport type ComponentGridSettings = FixedComponentGridSettings /* | More will be added later */;\n"],"names":["ComponentGridLayoutAlgorithm"],"mappings":"AAeO,IAAK,iDAAAA,kCAAL;AACHA,gCAAA,OAAA,IAAQ;AADA,SAAAA;AAAA,GAAA,gCAAA,CAAA,CAAA;"}