@cesdk/node 1.69.0-rc.3 → 1.69.0-rc.5

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.
package/index.d.ts CHANGED
@@ -8333,6 +8333,8 @@ export declare interface Settings {
8333
8333
  'features/pageCarouselEnabled': boolean;
8334
8334
  /** Whether transform edits should retain the cover mode of the content. */
8335
8335
  'features/transformEditsRetainCoverMode': boolean;
8336
+ /** Whether auto-sized text blocks should be clamped to page boundaries during editing. */
8337
+ 'features/clampTextBlockWidthToPageDimensionsDuringEditing': boolean;
8336
8338
  /** Whether the engine processes mouse scroll events. */
8337
8339
  'mouse/enableScroll': boolean;
8338
8340
  /** Whether the engine processes mouse zoom events. */
package/index.html ADDED
@@ -0,0 +1,152 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <title>CE.SDK Example</title>
5
+ <meta charset="UTF-8" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <meta http-equiv="X-UA-Compatible" content="ie=edge" />
8
+
9
+ <style>
10
+ body {
11
+ margin: 0;
12
+ overflow: hidden;
13
+ }
14
+
15
+ html {
16
+ overscroll-behavior-x: contain;
17
+ }
18
+
19
+ #root {
20
+ height: 100vh;
21
+ }
22
+
23
+ .ubq-public {
24
+ /* Override CSS variables for a custom theme */
25
+ }
26
+ </style>
27
+ </head>
28
+
29
+ <body>
30
+ <div id="root"></div>
31
+
32
+ <script type="module">
33
+ import CreativeEditorSDK from './index.js';
34
+
35
+ window.onload = function () {
36
+ var href = window.location.href.split('?');
37
+ var config = {
38
+ baseURL: 'assets/',
39
+ role: 'Creator', // 'Creator', 'Adopter', 'Viewer'
40
+ callbacks: {
41
+ onSave: handleSave,
42
+ onLoad: handleLoad,
43
+ onExport: handleExport,
44
+ onUnsupportedBrowser: () => {
45
+ console.error('Unsupported Browser Detected');
46
+ }
47
+ },
48
+ ui: {
49
+ elements: {
50
+ view: 'default',
51
+ panels: {
52
+ settings: true
53
+ },
54
+ navigation: {
55
+ action: {
56
+ close: true,
57
+ back: true,
58
+ save: true,
59
+ load: true,
60
+ export: true
61
+ }
62
+ }
63
+ }
64
+ }
65
+ };
66
+
67
+ CreativeEditorSDK.create(document.getElementById('root'), config).then(
68
+ async (instance) => {
69
+ // Set the locale using the new API
70
+ instance.i18n.setLocale('en');
71
+
72
+ await Promise.all([
73
+ instance.addDefaultAssetSources(),
74
+ instance.addDemoAssetSources()
75
+ ]);
76
+ await instance.actions.run('scene.create');
77
+ }
78
+ );
79
+ };
80
+
81
+ var handleExport = function (blobs) {
82
+ const blob = blobs[0];
83
+ const element = document.createElement('a');
84
+ element.setAttribute('href', window.URL.createObjectURL(blob));
85
+ element.setAttribute(
86
+ 'download',
87
+ `cesdk-${new Date().toISOString()}.png`
88
+ );
89
+
90
+ element.style.display = 'none';
91
+ document.body.appendChild(element);
92
+
93
+ element.click();
94
+
95
+ document.body.removeChild(element);
96
+ };
97
+
98
+ var handleSave = function (scene) {
99
+ const element = document.createElement('a');
100
+ const base64Data = btoa(unescape(encodeURIComponent(scene)));
101
+ element.setAttribute(
102
+ 'href',
103
+ `data:application/octet-stream;base64,${base64Data}`
104
+ );
105
+ element.setAttribute(
106
+ 'download',
107
+ `cesdk-${new Date().toISOString()}.scene`
108
+ );
109
+
110
+ element.style.display = 'none';
111
+ document.body.appendChild(element);
112
+
113
+ element.click();
114
+
115
+ document.body.removeChild(element);
116
+ };
117
+
118
+ var handleLoad = (function () {
119
+ const element = document.createElement('input');
120
+ element.setAttribute('type', 'file');
121
+ element.setAttribute('accept', '.scene');
122
+
123
+ element.style.display = 'none';
124
+ document.body.appendChild(element);
125
+
126
+ return () => {
127
+ return new Promise((resolve, reject) => {
128
+ element.onchange = (e) => {
129
+ const file = e.target.files[0];
130
+ if (file === undefined) {
131
+ reject(new Error('No files selected'));
132
+ } else {
133
+ const reader = new FileReader();
134
+ reader.readAsText(file, 'UTF-8');
135
+
136
+ reader.onload = (readerEvent) => {
137
+ const scene = readerEvent.target.result;
138
+ resolve(scene);
139
+ };
140
+ }
141
+
142
+ element.onchange = null;
143
+ element.value = '';
144
+ };
145
+
146
+ element.click();
147
+ });
148
+ };
149
+ })();
150
+ </script>
151
+ </body>
152
+ </html>