@combeenation/custom-code-sdk 0.0.1-alpha8 → 0.0.1-rc1
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/README.md +0 -0
- package/dist/bundle.cjs.js +1 -1
- package/dist/bundle.es.js +493 -459
- package/dist/index.d.ts +1039 -24
- package/package.json +9 -7
package/dist/index.d.ts
CHANGED
|
@@ -1,17 +1,145 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
|
|
3
|
+
declare const __brand: unique symbol;
|
|
4
|
+
|
|
5
|
+
export declare function addButtonControl(parent: ParentCtrl, options?: {
|
|
6
|
+
position?: AddCtrlPosition;
|
|
7
|
+
properties?: Partial<CreateButtonProperties>;
|
|
8
|
+
}): Button;
|
|
9
|
+
|
|
10
|
+
export declare function addCheckboxControl(parent: ParentCtrl, options?: {
|
|
11
|
+
position?: AddCtrlPosition;
|
|
12
|
+
properties?: Partial<CreateCheckboxProperties>;
|
|
13
|
+
}): Checkbox;
|
|
14
|
+
|
|
15
|
+
export declare function addCollapsibleControl(parent: ParentCtrl, options?: {
|
|
16
|
+
position?: AddCtrlPosition;
|
|
17
|
+
properties?: Partial<CreateCollapsibleProperties>;
|
|
18
|
+
}): Collapsible;
|
|
19
|
+
|
|
20
|
+
export declare function addComboboxControl<TMode extends ListMode, TValueType extends DataListValueType = never>(parent: ParentCtrl, options: {
|
|
21
|
+
mode: TMode;
|
|
22
|
+
position?: AddCtrlPosition;
|
|
23
|
+
/**
|
|
24
|
+
* When using properties of type `LiquidTemplateSource`, you have to manually cast the given `string` to
|
|
25
|
+
* `LiquidTemplateSource` like this:
|
|
26
|
+
*
|
|
27
|
+
* ```ts
|
|
28
|
+
* combobox.setProperty('dataTemplate', '<span>{{ Name }}</span>' as LiquidTemplateSource);
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
properties?: Partial<CreateComboboxProperties>;
|
|
32
|
+
} & (TMode extends 'no-selection' ? {
|
|
33
|
+
valueType?: never;
|
|
34
|
+
} : {
|
|
35
|
+
valueType: TValueType;
|
|
36
|
+
})): Combobox<DataListValue_2<TMode, TValueType>>;
|
|
37
|
+
|
|
38
|
+
declare type AddCtrlPosition = 'first' | 'last' | {
|
|
39
|
+
before: Ctrl;
|
|
40
|
+
} | {
|
|
41
|
+
after: Ctrl;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
export declare function addCustomControl(parent: ParentCtrl, options?: {
|
|
45
|
+
position?: AddCtrlPosition;
|
|
46
|
+
properties?: Partial<CreateCustomCtrlProperties>;
|
|
47
|
+
}): CustomControl;
|
|
48
|
+
|
|
49
|
+
export declare function addDataviewControl<TMode extends ListMode, TValueType extends DataListValueType = never>(parent: ParentCtrl, options: {
|
|
50
|
+
mode: TMode;
|
|
51
|
+
position?: AddCtrlPosition;
|
|
52
|
+
/**
|
|
53
|
+
* When using properties of type `LiquidTemplateSource`, you have to manually cast the given `string` to
|
|
54
|
+
* `LiquidTemplateSource` like this:
|
|
55
|
+
*
|
|
56
|
+
* ```ts
|
|
57
|
+
* dataview.setProperty('dataTemplate', '<span>{{ Name }}</span>' as LiquidTemplateSource);
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
properties?: Partial<CreateDataviewProperties>;
|
|
61
|
+
} & (TMode extends 'no-selection' ? {
|
|
62
|
+
valueType?: never;
|
|
63
|
+
} : {
|
|
64
|
+
valueType: TValueType;
|
|
65
|
+
})): Dataview<DataListValue_2<TMode, TValueType>>;
|
|
66
|
+
|
|
67
|
+
export declare function addInputControl(parent: ParentCtrl, options?: {
|
|
68
|
+
position?: AddCtrlPosition;
|
|
69
|
+
properties?: Partial<CreateInputProperties>;
|
|
70
|
+
}): Input;
|
|
71
|
+
|
|
72
|
+
export declare function addPanelControl(parent: ParentCtrl, options?: {
|
|
73
|
+
position?: AddCtrlPosition;
|
|
74
|
+
properties?: Partial<CreatePanelProperties>;
|
|
75
|
+
}): Panel;
|
|
76
|
+
|
|
77
|
+
export declare function addTextControl(parent: ParentCtrl, options?: {
|
|
78
|
+
position?: AddCtrlPosition;
|
|
79
|
+
properties?: Partial<CreateTextProperties>;
|
|
80
|
+
}): Text_2;
|
|
81
|
+
|
|
82
|
+
declare type AlignmentBlockOption = z.infer<typeof ZAlignmentBlockOption>;
|
|
83
|
+
|
|
3
84
|
declare type AppLanguage = 'en' | 'de';
|
|
4
85
|
|
|
5
86
|
declare type AssetName = z.infer<typeof ZAssetName>;
|
|
6
87
|
|
|
88
|
+
/**
|
|
89
|
+
* Registers a callback which will be executed before the configurator is rendered.\
|
|
90
|
+
* The callback can be used to perform async operations that must be completed before the configurator is rendered.
|
|
91
|
+
*
|
|
92
|
+
* !!! Info !!!
|
|
93
|
+
*
|
|
94
|
+
* The callback must be registered in the synchronous top-level context of your main entry file.\
|
|
95
|
+
* The callback will have **no** effect when registered in any async context, i.e. after any `await` or inside some
|
|
96
|
+
* async callback function etc.
|
|
97
|
+
*/
|
|
98
|
+
export declare const beforeConfiguratorIsRendered: (callback: () => Promise<void>) => void;
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Give a type a distinct identity without changing its runtime representation.\
|
|
102
|
+
* E.g. when "branding" a simple string type, it must always be explicitly casted to the branded type.
|
|
103
|
+
*
|
|
104
|
+
* @see https://www.learningtypescript.com/articles/branded-types
|
|
105
|
+
* @see https://youtu.be/aP6w2OzidYM
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* type userId = Brand<string, 'userId'>;
|
|
109
|
+
* const test = (id: userId) => {
|
|
110
|
+
* console.log(id);
|
|
111
|
+
* };
|
|
112
|
+
*
|
|
113
|
+
* test('blah'); // error
|
|
114
|
+
* test('blah' as userId);
|
|
115
|
+
*/
|
|
116
|
+
declare type Brand<T, B extends string> = T & {
|
|
117
|
+
[__brand]: B;
|
|
118
|
+
};
|
|
119
|
+
|
|
7
120
|
export declare class Button {
|
|
8
121
|
#private;
|
|
9
122
|
readonly id: CtrlId;
|
|
10
123
|
constructor(id: CtrlId);
|
|
124
|
+
/**
|
|
125
|
+
* See {@link CustomControl.onRendered} for detailed information on what you can do with this listener and what it is
|
|
126
|
+
* not meant for.
|
|
127
|
+
*
|
|
128
|
+
* Also see {@link OnRenderedCallback} for important information regarding the `element` which is passed to the
|
|
129
|
+
* callback.
|
|
130
|
+
*/
|
|
11
131
|
onRendered(callback: OnRenderedCallback<HTMLButtonElement>): CallbackUnsubscribeOption;
|
|
12
132
|
onClick(callback: OnClickCallback): CallbackUnsubscribeOption;
|
|
13
133
|
setVisible(visible: boolean): Promise<void>;
|
|
14
134
|
setText(text: string): void;
|
|
135
|
+
/**
|
|
136
|
+
* Set arbitrary properties of the button control.\
|
|
137
|
+
* Behavior is the same as when setting the respective property in the configurator editor.
|
|
138
|
+
*
|
|
139
|
+
* Some properties are not allowed to be set here because they have a dedicated method which should be used instead.\
|
|
140
|
+
* E.g. setting `visible` is not allowed because {@link ButtonV1.setVisible} should be used instead.
|
|
141
|
+
*/
|
|
142
|
+
setProperty<T extends keyof SetButtonPropertyValue>(propertyName: T, value: SetButtonPropertyValue[T]): void;
|
|
15
143
|
}
|
|
16
144
|
|
|
17
145
|
declare type CallbackUnsubscribeOption = {
|
|
@@ -20,11 +148,22 @@ declare type CallbackUnsubscribeOption = {
|
|
|
20
148
|
|
|
21
149
|
export declare namespace CbnSdk {
|
|
22
150
|
export {
|
|
151
|
+
addButtonControl,
|
|
152
|
+
addCheckboxControl,
|
|
153
|
+
addCollapsibleControl,
|
|
154
|
+
addComboboxControl,
|
|
155
|
+
addCustomControl,
|
|
156
|
+
addDataviewControl,
|
|
157
|
+
addInputControl,
|
|
158
|
+
addPanelControl,
|
|
159
|
+
addTextControl,
|
|
160
|
+
beforeConfiguratorIsRendered,
|
|
23
161
|
configuratorIsInIFrame,
|
|
24
162
|
finishConfiguration,
|
|
25
163
|
fireAnalyticsEvent,
|
|
26
164
|
getAssetPaths,
|
|
27
165
|
getParentPageUrl,
|
|
166
|
+
onParentPageEvent,
|
|
28
167
|
navigateToLogin,
|
|
29
168
|
onAnyCmpValueChanged,
|
|
30
169
|
redirectParentPage,
|
|
@@ -32,16 +171,47 @@ export declare namespace CbnSdk {
|
|
|
32
171
|
setConfiguratorIFrameSize,
|
|
33
172
|
shareConfiguration,
|
|
34
173
|
createSyncCmpValuesStore,
|
|
174
|
+
uploadFiles,
|
|
175
|
+
uploadImages,
|
|
176
|
+
uploadTempFiles,
|
|
177
|
+
uploadTempImages,
|
|
178
|
+
convertDocument,
|
|
179
|
+
createPdfFromAssets,
|
|
180
|
+
createArPage,
|
|
35
181
|
version
|
|
36
182
|
}
|
|
37
183
|
}
|
|
38
184
|
|
|
185
|
+
export declare type CfgnFileUploadData<T extends string = string> = {
|
|
186
|
+
[fileName in T]: {
|
|
187
|
+
file: FileOrDataUri;
|
|
188
|
+
displayName?: string;
|
|
189
|
+
};
|
|
190
|
+
};
|
|
191
|
+
|
|
39
192
|
export declare class Checkbox {
|
|
40
193
|
#private;
|
|
41
194
|
readonly id: CtrlId;
|
|
42
195
|
constructor(id: CtrlId);
|
|
196
|
+
/**
|
|
197
|
+
* See {@link CustomControl.onRendered} for detailed information on what you can do with this listener and what it is
|
|
198
|
+
* not meant for.
|
|
199
|
+
*
|
|
200
|
+
* Also see {@link OnRenderedCallback} for important information regarding the `element` which is passed to the
|
|
201
|
+
* callback.
|
|
202
|
+
*/
|
|
43
203
|
onRendered(callback: OnRenderedCallback<HTMLLabelElement>): CallbackUnsubscribeOption;
|
|
44
204
|
setVisible(visible: boolean): Promise<void>;
|
|
205
|
+
setChecked(checked: boolean): void;
|
|
206
|
+
onCheckedChange(callback: (checked: boolean) => void | Promise<void>): CallbackUnsubscribeOption;
|
|
207
|
+
/**
|
|
208
|
+
* Set arbitrary properties of the checkbox control.\
|
|
209
|
+
* Behavior is the same as when setting the respective property in the configurator editor.
|
|
210
|
+
*
|
|
211
|
+
* Some properties are not allowed to be set here because they have a dedicated method which should be used instead.\
|
|
212
|
+
* E.g. setting `visible` is not allowed because {@link CheckboxV1.setVisible} should be used instead.
|
|
213
|
+
*/
|
|
214
|
+
setProperty<T extends keyof SetCheckboxPropertyValue>(propertyName: T, value: SetCheckboxPropertyValue[T]): void;
|
|
45
215
|
}
|
|
46
216
|
|
|
47
217
|
declare type CmpName = string;
|
|
@@ -84,8 +254,149 @@ export declare class Collapsible {
|
|
|
84
254
|
#private;
|
|
85
255
|
readonly id: CtrlId;
|
|
86
256
|
constructor(id: CtrlId);
|
|
257
|
+
/**
|
|
258
|
+
* See {@link CustomControl.onRendered} for detailed information on what you can do with this listener and what it is
|
|
259
|
+
* not meant for.
|
|
260
|
+
*
|
|
261
|
+
* Also see {@link OnRenderedCallback} for important information regarding the `element` which is passed to the
|
|
262
|
+
* callback.
|
|
263
|
+
*/
|
|
87
264
|
onRendered(callback: OnRenderedCallback<HTMLDivElement>): CallbackUnsubscribeOption;
|
|
88
265
|
setVisible(visible: boolean): Promise<void>;
|
|
266
|
+
/**
|
|
267
|
+
* Set arbitrary properties of the collapsible control.\
|
|
268
|
+
* Behavior is the same as when setting the respective property in the configurator editor.
|
|
269
|
+
*
|
|
270
|
+
* Some properties are not allowed to be set here because they have a dedicated method which should be used instead.\
|
|
271
|
+
* E.g. setting `visible` is not allowed because {@link CollapsibleV1.setVisible} should be used instead.
|
|
272
|
+
*/
|
|
273
|
+
setProperty<T extends keyof SetCollapsiblePropertyValue>(propertyName: T, value: SetCollapsiblePropertyValue[T]): void;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
export declare class Combobox<TValue extends NonNullable<DataListValue>> {
|
|
277
|
+
#private;
|
|
278
|
+
readonly id: CtrlId;
|
|
279
|
+
constructor(id: CtrlId);
|
|
280
|
+
/**
|
|
281
|
+
* See {@link CustomControlV1.onRendered} for detailed information on what you can do with this listener and what it
|
|
282
|
+
* is not meant for.
|
|
283
|
+
*
|
|
284
|
+
* Also see {@link OnRenderedCallback} for important information regarding the `element` which is passed to the
|
|
285
|
+
* callback.
|
|
286
|
+
*/
|
|
287
|
+
onRendered(callback: OnRenderedCallback<HTMLDivElement>): CallbackUnsubscribeOption;
|
|
288
|
+
/**
|
|
289
|
+
* See {@link CustomControlV1.onRendered} for detailed information on what you can do with this listener and what it
|
|
290
|
+
* is not meant for. Most of the information there also applies to `onItemRendered`.
|
|
291
|
+
*
|
|
292
|
+
* Also see {@link OnRenderedCallback} for important information regarding the `element` which is passed to the
|
|
293
|
+
* callback which also applies here.
|
|
294
|
+
*
|
|
295
|
+
* @param callback Callback function which is given the rendered HTML element and the corresponding item data.
|
|
296
|
+
*
|
|
297
|
+
* Typical usage for type safe access to the item data where `IProductsTable` is the auto generated
|
|
298
|
+
* type of the table component from which the combobox entries are populated:
|
|
299
|
+
*
|
|
300
|
+
* ```ts
|
|
301
|
+
* combobox.onItemRendered<IProductsTable[number]>((el, itemData) => { ... })
|
|
302
|
+
* ```
|
|
303
|
+
*/
|
|
304
|
+
onItemRendered<TItemData>(callback: (element: HTMLDivElement, itemData: TItemData) => void): CallbackUnsubscribeOption;
|
|
305
|
+
/**
|
|
306
|
+
* See {@link CustomControlV1.onRendered} for detailed information on what you can do with this listener and what it
|
|
307
|
+
* is not meant for. Most of the information there also applies to `onValueItemRendered`.
|
|
308
|
+
*
|
|
309
|
+
* Also see {@link OnRenderedCallback} for important information regarding the `element` which is passed to the
|
|
310
|
+
* callback which also applies here.
|
|
311
|
+
*
|
|
312
|
+
* @param callback Callback function which is given the rendered HTML element and the corresponding item data of the
|
|
313
|
+
* currently selected value item shown in the trigger.
|
|
314
|
+
*
|
|
315
|
+
* Typical usage for type safe access to the item data where `IProductsTable` is the auto generated
|
|
316
|
+
* type of the table component from which the combobox entries are populated:
|
|
317
|
+
*
|
|
318
|
+
* ```ts
|
|
319
|
+
* combobox.onValueItemRendered<IProductsTable[number]>((el, itemData) => { ... })
|
|
320
|
+
* ```
|
|
321
|
+
*/
|
|
322
|
+
onValueItemRendered<TItemData>(callback: (element: HTMLDivElement, itemData: TItemData) => void): CallbackUnsubscribeOption;
|
|
323
|
+
/**
|
|
324
|
+
* See {@link CustomControlV1.onRendered} for detailed information on what you can do with this listener and what it
|
|
325
|
+
* is not meant for. Most of the information there also applies to `onGroupHeaderRendered`.
|
|
326
|
+
*
|
|
327
|
+
* Also see {@link OnRenderedCallback} for important information regarding the `element` which is passed to the
|
|
328
|
+
* callback which also applies here.
|
|
329
|
+
*
|
|
330
|
+
* @param callback Callback function which is given the rendered HTML element and the corresponding group data.
|
|
331
|
+
*
|
|
332
|
+
* Typical usage for type safe access to the group data where `IProductGroupsTable` is the auto
|
|
333
|
+
* generated type of the table component from which the combobox groups are populated:
|
|
334
|
+
*
|
|
335
|
+
* ```ts
|
|
336
|
+
* combobox.onGroupHeaderRendered<IProductGroupsTable[number]>((el, groupData) => { ... })
|
|
337
|
+
* ```
|
|
338
|
+
*/
|
|
339
|
+
onGroupHeaderRendered<TGroupData>(callback: (element: HTMLDivElement, groupData: TGroupData) => void): CallbackUnsubscribeOption;
|
|
340
|
+
/**
|
|
341
|
+
* Fires when the selection is committed which is:
|
|
342
|
+
* - in single select mode: when the popup closes (or when an option is clicked).
|
|
343
|
+
* - in multi select mode: immediately on every selection change.
|
|
344
|
+
*
|
|
345
|
+
* @param callback Callback function which is given the raw selection value/keys and the corresponding item data of
|
|
346
|
+
* all the selected items.
|
|
347
|
+
*
|
|
348
|
+
* Typical usage for type safe access to the item data where `IProductsTable` is the auto generated
|
|
349
|
+
* type of the table component from which the combobox entries are populated:
|
|
350
|
+
*
|
|
351
|
+
* ```ts
|
|
352
|
+
* // Single selection:
|
|
353
|
+
* combobox.onValueChange<IProductsTable[number]>((value, valueItemData) => { ... })
|
|
354
|
+
*
|
|
355
|
+
* // Multi selection:
|
|
356
|
+
* combobox.onValueChange<IProductsTable>((value, valueItemData) => { ... })
|
|
357
|
+
* ```
|
|
358
|
+
*/
|
|
359
|
+
onValueChange<TItemData extends TValue extends any[] ? any[] : any>(callback: (value: TValue | undefined, valueItemData: TItemData | undefined) => void): CallbackUnsubscribeOption;
|
|
360
|
+
/**
|
|
361
|
+
* Registers a callback that fires when a combobox item is clicked.
|
|
362
|
+
*
|
|
363
|
+
* - Fires **before** `onValueChange`.
|
|
364
|
+
* - Fires even when the clicked item is already selected.
|
|
365
|
+
*
|
|
366
|
+
* @param callback Callback function which is given the item data of the clicked item and the raw mouse event.
|
|
367
|
+
*
|
|
368
|
+
* Typical usage for type safe access to the item data where `IProductsTable` is the auto generated
|
|
369
|
+
* type of the table component from which the combobox entries are populated:
|
|
370
|
+
*
|
|
371
|
+
* ```ts
|
|
372
|
+
* combobox.onItemClicked<IProductsTable[number]>((itemData, event) => { ... })
|
|
373
|
+
* ```
|
|
374
|
+
*/
|
|
375
|
+
onItemClicked<TItemData>(callback: (itemData: TItemData, event: MouseEvent) => void): CallbackUnsubscribeOption;
|
|
376
|
+
setVisible(visible: boolean): Promise<void>;
|
|
377
|
+
/**
|
|
378
|
+
* Sets the entries (data items) displayed by the combobox. Existing entries are overwritten.
|
|
379
|
+
*/
|
|
380
|
+
setEntries(entries: TemplateData[]): void;
|
|
381
|
+
/**
|
|
382
|
+
* Sets the group data used to render the group headers of the combobox. Existing group data is overwritten.
|
|
383
|
+
*/
|
|
384
|
+
setGroupData(groupData: TemplateData[]): void;
|
|
385
|
+
/**
|
|
386
|
+
* Set arbitrary properties of the combobox control.\
|
|
387
|
+
* Behavior is the same as when setting the respective property in the configurator editor.
|
|
388
|
+
*
|
|
389
|
+
* Some properties are not allowed to be set here because they have a dedicated method which should be used instead.\
|
|
390
|
+
* E.g. setting `visible` is not allowed because {@link ComboboxV1.setVisible} should be used instead.
|
|
391
|
+
*
|
|
392
|
+
* When using properties of type `LiquidTemplateSource`, you have to manually cast the given `string` to
|
|
393
|
+
* `LiquidTemplateSource` like this:
|
|
394
|
+
*
|
|
395
|
+
* ```ts
|
|
396
|
+
* combobox.setProperty('dataTemplate', '<span>{{ Name }}</span>' as LiquidTemplateSource);
|
|
397
|
+
* ```
|
|
398
|
+
*/
|
|
399
|
+
setProperty<T extends keyof SetComboboxPropertyValue>(propertyName: T, value: SetComboboxPropertyValue[T]): void;
|
|
89
400
|
}
|
|
90
401
|
|
|
91
402
|
/**
|
|
@@ -93,6 +404,279 @@ export declare class Collapsible {
|
|
|
93
404
|
*/
|
|
94
405
|
export declare const configuratorIsInIFrame: () => boolean;
|
|
95
406
|
|
|
407
|
+
/**
|
|
408
|
+
* Create and convert a document (e.g. HTML to PDF).\
|
|
409
|
+
* The conversion consists of multiple individual tasks to allow full flexibility when creating documents.
|
|
410
|
+
*
|
|
411
|
+
* Example case: Create a PDF with dynamic content (PDF asset) and append a static product datasheet.
|
|
412
|
+
*
|
|
413
|
+
* See also {@link createPdfFromAssets} for a simplified version to create a PDF.
|
|
414
|
+
* @param tasks The tasks are executed based on their connection with the properties `name` and `inputTaskName`
|
|
415
|
+
* (the order in the array is irrelevant)
|
|
416
|
+
* @returns URL to the generated cfgn file, if successful
|
|
417
|
+
*
|
|
418
|
+
* @example
|
|
419
|
+
* ```ts
|
|
420
|
+
* const resultUrl = await convertDocument([
|
|
421
|
+
* {
|
|
422
|
+
* type: DocumentConvertTaskTypes.PdfAsset,
|
|
423
|
+
* name: 'HtmlToPdfTask',
|
|
424
|
+
* bundleAliasName: 'MyBundle',
|
|
425
|
+
* assetPath: 'quotePdfAsset',
|
|
426
|
+
* context: {
|
|
427
|
+
* subject: 'MySubject',
|
|
428
|
+
* },
|
|
429
|
+
* },
|
|
430
|
+
* {
|
|
431
|
+
* type: DocumentConvertTaskTypes.OutputToCfgnFile,
|
|
432
|
+
* name: 'OutputPdfTask',
|
|
433
|
+
* inputTaskName: 'HtmlToPdfTask',
|
|
434
|
+
* cfgnFileName: 'QuotePdf',
|
|
435
|
+
* cfgnFileExtension: 'pdf',
|
|
436
|
+
* cfgnFileDisplayName: `Your_quote_${new Date().toISOString()}`,
|
|
437
|
+
* },
|
|
438
|
+
* ]);
|
|
439
|
+
* ```
|
|
440
|
+
*/
|
|
441
|
+
export declare const convertDocument: (tasks: DocumentConvertTask[]) => Promise<string | undefined>;
|
|
442
|
+
|
|
443
|
+
/**
|
|
444
|
+
* Uploads the given GLB file to a peristent storage and creates a dedicated page with an AR viewer that loads the GLB.
|
|
445
|
+
*
|
|
446
|
+
* After successful creation, it either redirects to that page or shows a dialog with a QR code linking to that page.
|
|
447
|
+
*
|
|
448
|
+
* Whether it redirects or shows a dialog depends on the browsers capabilities to directly open AR experiences.
|
|
449
|
+
*/
|
|
450
|
+
export declare const createArPage: (glb: File, options?: SdkCreateArPageOptions) => Promise<void>;
|
|
451
|
+
|
|
452
|
+
declare type CreateButtonProperties = {
|
|
453
|
+
text: string | undefined;
|
|
454
|
+
width: string | undefined;
|
|
455
|
+
height: string | undefined;
|
|
456
|
+
minWidth: string | undefined;
|
|
457
|
+
minHeight: string | undefined;
|
|
458
|
+
maxWidth: string | undefined;
|
|
459
|
+
maxHeight: string | undefined;
|
|
460
|
+
margin: string | undefined;
|
|
461
|
+
padding: string | undefined;
|
|
462
|
+
cssClasses: string[] | undefined;
|
|
463
|
+
backgroundNormal: string | undefined;
|
|
464
|
+
backgroundHover: string | undefined;
|
|
465
|
+
backgroundPressed: string | undefined;
|
|
466
|
+
borderRadius: string | undefined;
|
|
467
|
+
font: string | undefined;
|
|
468
|
+
color: string | undefined;
|
|
469
|
+
visible: boolean | undefined;
|
|
470
|
+
enabled: boolean | undefined;
|
|
471
|
+
tooltipText: string | undefined;
|
|
472
|
+
tooltipPos: ElementPosOption | undefined;
|
|
473
|
+
alignmentBlock: AlignmentBlockOption | undefined;
|
|
474
|
+
};
|
|
475
|
+
|
|
476
|
+
declare type CreateCheckboxProperties = {
|
|
477
|
+
checked: boolean | undefined;
|
|
478
|
+
captionPos: ElementPosOption | undefined;
|
|
479
|
+
captionText: string | undefined;
|
|
480
|
+
visible: boolean | undefined;
|
|
481
|
+
enabled: boolean | undefined;
|
|
482
|
+
minWidth: string | undefined;
|
|
483
|
+
minHeight: string | undefined;
|
|
484
|
+
maxWidth: string | undefined;
|
|
485
|
+
maxHeight: string | undefined;
|
|
486
|
+
margin: string | undefined;
|
|
487
|
+
padding: string | undefined;
|
|
488
|
+
font: string | undefined;
|
|
489
|
+
color: string | undefined;
|
|
490
|
+
backgroundNormal: string | undefined;
|
|
491
|
+
backgroundHover: string | undefined;
|
|
492
|
+
backgroundPressed: string | undefined;
|
|
493
|
+
borderRadius: string | undefined;
|
|
494
|
+
cssClasses: string[] | undefined;
|
|
495
|
+
tooltipText: string | undefined;
|
|
496
|
+
tooltipPos: ElementPosOption | undefined;
|
|
497
|
+
};
|
|
498
|
+
|
|
499
|
+
declare type CreateCollapsibleProperties = {
|
|
500
|
+
captionText: string | undefined;
|
|
501
|
+
collapsed: boolean | undefined;
|
|
502
|
+
group: string | undefined;
|
|
503
|
+
visible: boolean | undefined;
|
|
504
|
+
cssClasses: string[] | undefined;
|
|
505
|
+
};
|
|
506
|
+
|
|
507
|
+
declare type CreateComboboxProperties = {
|
|
508
|
+
value: string | undefined;
|
|
509
|
+
valueType: DataListValueType | undefined;
|
|
510
|
+
width: string | undefined;
|
|
511
|
+
minWidth: string | undefined;
|
|
512
|
+
maxWidth: string | undefined;
|
|
513
|
+
height: string | undefined;
|
|
514
|
+
minHeight: string | undefined;
|
|
515
|
+
maxHeight: string | undefined;
|
|
516
|
+
backgroundNormal: string | undefined;
|
|
517
|
+
margin: string | undefined;
|
|
518
|
+
padding: string | undefined;
|
|
519
|
+
borderRadius: string | undefined;
|
|
520
|
+
captionText: string | undefined;
|
|
521
|
+
captionPos: ElementPosOption | undefined;
|
|
522
|
+
cssClasses: string[] | undefined;
|
|
523
|
+
flexDirection: FlexDirection | undefined;
|
|
524
|
+
flexWrap: boolean | undefined;
|
|
525
|
+
gap: string | undefined;
|
|
526
|
+
visible: boolean | undefined;
|
|
527
|
+
enabled: boolean | undefined;
|
|
528
|
+
placeholder: string | undefined;
|
|
529
|
+
dataEntries: DataListEntries | undefined;
|
|
530
|
+
dataTemplate: LiquidTemplateSource | undefined;
|
|
531
|
+
valueTemplate: LiquidTemplateSource | undefined;
|
|
532
|
+
groupKey: string | undefined;
|
|
533
|
+
groupData: DataListGroupData | undefined;
|
|
534
|
+
groupTemplate: LiquidTemplateSource | undefined;
|
|
535
|
+
tooltipKey: string | undefined;
|
|
536
|
+
itemHiddenKey: string | undefined;
|
|
537
|
+
itemDisabledKey: string | undefined;
|
|
538
|
+
itemCssClassesKey: string | undefined;
|
|
539
|
+
filterable: boolean | undefined;
|
|
540
|
+
filterKey: string | undefined;
|
|
541
|
+
filterCaptionText: string | undefined;
|
|
542
|
+
filterPlaceholder: string | undefined;
|
|
543
|
+
listMode: ListMode | undefined;
|
|
544
|
+
clearable: boolean | undefined;
|
|
545
|
+
};
|
|
546
|
+
|
|
547
|
+
declare type CreateCustomCtrlProperties = {
|
|
548
|
+
customCodeControlled: boolean | undefined;
|
|
549
|
+
rawHtml: string | undefined;
|
|
550
|
+
visible: boolean | undefined;
|
|
551
|
+
cssClasses: string[] | undefined;
|
|
552
|
+
};
|
|
553
|
+
|
|
554
|
+
declare type CreateDataviewProperties = {
|
|
555
|
+
value: string | undefined;
|
|
556
|
+
valueType: DataListValueType | undefined;
|
|
557
|
+
dataEntries: DataListEntries | undefined;
|
|
558
|
+
cssClasses: string[] | undefined;
|
|
559
|
+
padding: string | undefined;
|
|
560
|
+
margin: string | undefined;
|
|
561
|
+
visible: boolean | undefined;
|
|
562
|
+
gap: string | undefined;
|
|
563
|
+
flexDirection: FlexDirection | undefined;
|
|
564
|
+
flexWrap: boolean | undefined;
|
|
565
|
+
dataTemplate: LiquidTemplateSource | undefined;
|
|
566
|
+
groupKey: string | undefined;
|
|
567
|
+
groupData: DataListGroupData | undefined;
|
|
568
|
+
groupTemplate: LiquidTemplateSource | undefined;
|
|
569
|
+
tooltipKey: string | undefined;
|
|
570
|
+
itemHiddenKey: string | undefined;
|
|
571
|
+
itemDisabledKey: string | undefined;
|
|
572
|
+
itemCssClassesKey: string | undefined;
|
|
573
|
+
filterable: boolean | undefined;
|
|
574
|
+
filterKey: string | undefined;
|
|
575
|
+
filterCaptionText: string | undefined;
|
|
576
|
+
filterPlaceholder: string | undefined;
|
|
577
|
+
listMode: ListMode | undefined;
|
|
578
|
+
allowDeselect: boolean | undefined;
|
|
579
|
+
};
|
|
580
|
+
|
|
581
|
+
declare type CreateInputProperties = {
|
|
582
|
+
value: string | undefined;
|
|
583
|
+
errorMsg: string | undefined;
|
|
584
|
+
description: string | undefined;
|
|
585
|
+
captionText: string | undefined;
|
|
586
|
+
captionPos: ElementPosOption | undefined;
|
|
587
|
+
captionWidth: string | undefined;
|
|
588
|
+
backgroundNormal: string | undefined;
|
|
589
|
+
borderRadius: string | undefined;
|
|
590
|
+
padding: string | undefined;
|
|
591
|
+
margin: string | undefined;
|
|
592
|
+
width: string | undefined;
|
|
593
|
+
height: string | undefined;
|
|
594
|
+
maxHeight: string | undefined;
|
|
595
|
+
maxWidth: string | undefined;
|
|
596
|
+
minHeight: string | undefined;
|
|
597
|
+
minWidth: string | undefined;
|
|
598
|
+
enabled: boolean | undefined;
|
|
599
|
+
visible: boolean | undefined;
|
|
600
|
+
cssClasses: string[] | undefined;
|
|
601
|
+
placeholder: string | undefined;
|
|
602
|
+
};
|
|
603
|
+
|
|
604
|
+
declare type CreatePanelProperties = {
|
|
605
|
+
margin: string | undefined;
|
|
606
|
+
width: string | undefined;
|
|
607
|
+
height: string | undefined;
|
|
608
|
+
minWidth: string | undefined;
|
|
609
|
+
minHeight: string | undefined;
|
|
610
|
+
maxWidth: string | undefined;
|
|
611
|
+
maxHeight: string | undefined;
|
|
612
|
+
padding: string | undefined;
|
|
613
|
+
flexDirection: FlexDirection | undefined;
|
|
614
|
+
flexGrow: string | undefined;
|
|
615
|
+
flexWrap: boolean | undefined;
|
|
616
|
+
alignmentBlock: AlignmentBlockOption | undefined;
|
|
617
|
+
gap: string | undefined;
|
|
618
|
+
cssClasses: string[] | undefined;
|
|
619
|
+
backgroundNormal: string | undefined;
|
|
620
|
+
visible: boolean | undefined;
|
|
621
|
+
enabled: boolean | undefined;
|
|
622
|
+
opacity: string | undefined;
|
|
623
|
+
border: string | undefined;
|
|
624
|
+
borderRadius: string | undefined;
|
|
625
|
+
};
|
|
626
|
+
|
|
627
|
+
/**
|
|
628
|
+
* Creates a PDF from one or more assets which will be merged in the given order.
|
|
629
|
+
*
|
|
630
|
+
* Simplified helper built on top of {@link convertDocument}.
|
|
631
|
+
* Use {@link convertDocument} directly for advanced scenarios.
|
|
632
|
+
*
|
|
633
|
+
* @param bundleAliasName Bundle name where the assets are stored
|
|
634
|
+
* @param assetTasks One or more "assets tasks" which will be merged in the given order
|
|
635
|
+
* @param cfgnFileName Name of the generated cfgn file
|
|
636
|
+
* @param cfgnFileDisplayName Optional name which will be used when downloading the file
|
|
637
|
+
* @returns URL to the generated cfgn file, if successful
|
|
638
|
+
*
|
|
639
|
+
* @example
|
|
640
|
+
* ```ts
|
|
641
|
+
* const resultUrl = await createPdfFromAssets(
|
|
642
|
+
* 'MyBundle',
|
|
643
|
+
* [
|
|
644
|
+
* {
|
|
645
|
+
* type: 'PdfAsset',
|
|
646
|
+
* assetPath: 'quotePdfAsset',
|
|
647
|
+
* context: {
|
|
648
|
+
* subject: 'MySubject',
|
|
649
|
+
* },
|
|
650
|
+
* },
|
|
651
|
+
* {
|
|
652
|
+
* type: 'Asset',
|
|
653
|
+
* assetPath: 'Pdf2',
|
|
654
|
+
* },
|
|
655
|
+
* ],
|
|
656
|
+
* 'QuotePdf',
|
|
657
|
+
* `Your_quote_${new Date().toISOString()}`
|
|
658
|
+
* );
|
|
659
|
+
* ```
|
|
660
|
+
*
|
|
661
|
+
*/
|
|
662
|
+
export declare function createPdfFromAssets(bundleAliasName: string, assetTasks: CreatePdfTasks[], cfgnFileName: string, cfgnFileDisplayName?: string): Promise<string | undefined>;
|
|
663
|
+
|
|
664
|
+
export declare type CreatePdfTasks = {
|
|
665
|
+
type: CreatePdfTaskTypes.PdfAsset;
|
|
666
|
+
assetPath: string;
|
|
667
|
+
context: object;
|
|
668
|
+
} | {
|
|
669
|
+
type: CreatePdfTaskTypes.Asset;
|
|
670
|
+
assetPath: string;
|
|
671
|
+
};
|
|
672
|
+
|
|
673
|
+
export declare enum CreatePdfTaskTypes {
|
|
674
|
+
/** Create a PDF with dynamic content based on the given `context` */
|
|
675
|
+
PdfAsset = 0,
|
|
676
|
+
/** Static pdf asset (which is stored as File Asset) */
|
|
677
|
+
Asset = 1
|
|
678
|
+
}
|
|
679
|
+
|
|
96
680
|
/**
|
|
97
681
|
* Creates a store holding component values which can be accessed synchronously.
|
|
98
682
|
*
|
|
@@ -151,6 +735,32 @@ export declare const createSyncCmpValuesStore: <TCmps extends {
|
|
|
151
735
|
[id: CmpName]: ValueComponent;
|
|
152
736
|
}>(cmps: TCmps) => Promise<Readonly<SyncCmpValuesStore<TCmps>>>;
|
|
153
737
|
|
|
738
|
+
declare type CreateTextProperties = {
|
|
739
|
+
text: string | undefined;
|
|
740
|
+
width: string | undefined;
|
|
741
|
+
height: string | undefined;
|
|
742
|
+
padding: string | undefined;
|
|
743
|
+
margin: string | undefined;
|
|
744
|
+
cssClasses: string[] | undefined;
|
|
745
|
+
visible: boolean | undefined;
|
|
746
|
+
tooltipText: string | undefined;
|
|
747
|
+
tooltipPos: ElementPosOption | undefined;
|
|
748
|
+
htmlTag: HtmlTagKind | undefined;
|
|
749
|
+
minWidth: string | undefined;
|
|
750
|
+
minHeight: string | undefined;
|
|
751
|
+
maxWidth: string | undefined;
|
|
752
|
+
maxHeight: string | undefined;
|
|
753
|
+
font: string | undefined;
|
|
754
|
+
color: string | undefined;
|
|
755
|
+
wrapText: boolean | undefined;
|
|
756
|
+
selfAlignmentBlock: AlignmentBlockOption | undefined;
|
|
757
|
+
};
|
|
758
|
+
|
|
759
|
+
/** Any control instance */
|
|
760
|
+
declare type Ctrl = {
|
|
761
|
+
id: CtrlId;
|
|
762
|
+
};
|
|
763
|
+
|
|
154
764
|
declare type CtrlId = z.infer<typeof ZCtrlId>;
|
|
155
765
|
|
|
156
766
|
export declare class CustomControl {
|
|
@@ -205,6 +815,10 @@ export declare class CustomControl {
|
|
|
205
815
|
*
|
|
206
816
|
* !!! Important !!!
|
|
207
817
|
*
|
|
818
|
+
* See {@link OnRenderedCallback} for important information regarding the `element` which is passed to the callback.
|
|
819
|
+
*
|
|
820
|
+
* !!! Important !!!
|
|
821
|
+
*
|
|
208
822
|
* This is **not** meant to be used for manipulating the rendered content of the control besides simple,
|
|
209
823
|
* non-structural/-behavioral changes like adding CSS classes or data attributes etc.
|
|
210
824
|
*
|
|
@@ -215,6 +829,14 @@ export declare class CustomControl {
|
|
|
215
829
|
onRendered(callback: OnRenderedCallback<HTMLDivElement>): CallbackUnsubscribeOption;
|
|
216
830
|
getElement(): HTMLElement | undefined;
|
|
217
831
|
setVisible(visible: boolean): Promise<void>;
|
|
832
|
+
/**
|
|
833
|
+
* Set arbitrary properties of the custom control.\
|
|
834
|
+
* Behavior is the same as when setting the respective property in the configurator editor.
|
|
835
|
+
*
|
|
836
|
+
* Some properties are not allowed to be set here because they have a dedicated method which should be used instead.\
|
|
837
|
+
* E.g. setting `visible` is not allowed because {@link CustomControlV1.setVisible} should be used instead.
|
|
838
|
+
*/
|
|
839
|
+
setProperty<T extends keyof SetCustomCtrlPropertyValue>(propertyName: T, value: SetCustomCtrlPropertyValue[T]): void;
|
|
218
840
|
}
|
|
219
841
|
|
|
220
842
|
/**
|
|
@@ -223,14 +845,174 @@ export declare class CustomControl {
|
|
|
223
845
|
*/
|
|
224
846
|
declare type CustomCtrlRenderFn = (element: HTMLDivElement, rawHtml: string | undefined) => void | Promise<void>;
|
|
225
847
|
|
|
226
|
-
|
|
848
|
+
declare type DataListEntries = z.infer<typeof ZDataListEntries>;
|
|
849
|
+
|
|
850
|
+
declare type DataListGroupData = z.infer<typeof ZDataListGroupData>;
|
|
851
|
+
|
|
852
|
+
/**
|
|
853
|
+
* The actual value which comes from the entries data and which is converted to `DataListHtmlValue` before being passed
|
|
854
|
+
* to the DOM elements.
|
|
855
|
+
*/
|
|
856
|
+
declare type DataListValue = string | string[] | number | number[] | undefined;
|
|
857
|
+
|
|
858
|
+
declare type DataListValue_2<TMode extends ListMode, TValueType extends DataListValueType> = TMode extends 'no-selection' ? never : TMode extends 'single' ? TValueType : TValueType extends infer TBase ? TBase extends string | number ? TBase[] : never : never;
|
|
859
|
+
|
|
860
|
+
declare type DataListValueType = z.infer<typeof ZDataListValueType>;
|
|
861
|
+
|
|
862
|
+
export declare class Dataview<TValue extends NonNullable<DataListValue>> {
|
|
227
863
|
#private;
|
|
228
864
|
readonly id: CtrlId;
|
|
229
865
|
constructor(id: CtrlId);
|
|
866
|
+
/**
|
|
867
|
+
* See {@link CustomControl.onRendered} for detailed information on what you can do with this listener and what it is
|
|
868
|
+
* not meant for.
|
|
869
|
+
*
|
|
870
|
+
* Also see {@link OnRenderedCallback} for important information regarding the `element` which is passed to the
|
|
871
|
+
* callback.
|
|
872
|
+
*/
|
|
230
873
|
onRendered(callback: OnRenderedCallback<HTMLDivElement>): CallbackUnsubscribeOption;
|
|
874
|
+
/**
|
|
875
|
+
* See {@link CustomControl.onRendered} for detailed information on what you can do with this listener and what it is
|
|
876
|
+
* not meant for. Most of the information there also applies to `onItemRendered`.
|
|
877
|
+
*
|
|
878
|
+
* Also see {@link OnRenderedCallback} for important information regarding the `element` which is passed to the
|
|
879
|
+
* callback which also applies here.
|
|
880
|
+
*
|
|
881
|
+
* @param callback Callback function which is given the rendered HTML element and the corresponding item data.
|
|
882
|
+
*
|
|
883
|
+
* Typical usage for type safe access to the item data where `IProductsTable` is the auto generated
|
|
884
|
+
* type of the table component from which the dataview entries are populated:
|
|
885
|
+
*
|
|
886
|
+
* ```ts
|
|
887
|
+
* dataview.onItemRendered<IProductsTable[number]>(el, itemData) => { ... }
|
|
888
|
+
* ```
|
|
889
|
+
*/
|
|
890
|
+
onItemRendered<TItemData>(callback: (element: HTMLDivElement, itemData: TItemData) => void): CallbackUnsubscribeOption;
|
|
891
|
+
/**
|
|
892
|
+
* See {@link CustomControl.onRendered} for detailed information on what you can do with this listener and what it is
|
|
893
|
+
* not meant for. Most of the information there also applies to `onGroupHeaderRendered`.
|
|
894
|
+
*
|
|
895
|
+
* Also see {@link OnRenderedCallback} for important information regarding the `element` which is passed to the
|
|
896
|
+
* callback which also applies here.
|
|
897
|
+
*
|
|
898
|
+
* @param callback Callback function which is given the rendered HTML element and the corresponding group data.
|
|
899
|
+
*
|
|
900
|
+
* Typical usage for type safe access to the group data where `IProductGroupsTable` is the auto
|
|
901
|
+
* generated type of the table component from which the dataview groups are populated:
|
|
902
|
+
*
|
|
903
|
+
* ```ts
|
|
904
|
+
* dataview.onGroupHeaderRendered<IProductGroupsTable[number]>((el, groupData) => { ... })
|
|
905
|
+
* ```
|
|
906
|
+
*/
|
|
907
|
+
onGroupHeaderRendered<TGroupData>(callback: (element: HTMLDivElement, groupData: TGroupData) => void): CallbackUnsubscribeOption;
|
|
908
|
+
/**
|
|
909
|
+
* @param callback Callback function which is given the raw selection value/keys and the corresponding item data of
|
|
910
|
+
* all the selected items.
|
|
911
|
+
*
|
|
912
|
+
* Typical usage for type safe access to the item data where `IProductsTable` is the auto generated
|
|
913
|
+
* type of the table component from which the dataview entries are populated:
|
|
914
|
+
*
|
|
915
|
+
* ```ts
|
|
916
|
+
* // Single selection list:
|
|
917
|
+
* dataview.onValueChange<IProductsTable[number]>(value, valueItemData) => { ... }
|
|
918
|
+
*
|
|
919
|
+
* // Multi selection list:
|
|
920
|
+
* dataview.onValueChange<IProductsTable>(value, valueItemData) => { ... }
|
|
921
|
+
* ```
|
|
922
|
+
*/
|
|
923
|
+
onValueChange<TItemData extends TValue extends any[] ? any[] : any>(callback: (value: TValue | undefined, valueItemData: TItemData | undefined) => void): CallbackUnsubscribeOption;
|
|
924
|
+
/**
|
|
925
|
+
* Registers a callback that fires when a datalist item is clicked.
|
|
926
|
+
*
|
|
927
|
+
* - Fires **before** `onValueChange`.
|
|
928
|
+
* - Fires even when the clicked item is already selected.
|
|
929
|
+
*
|
|
930
|
+
* @param callback Callback function which is given the item data of rendered item and the raw mouse event.
|
|
931
|
+
*
|
|
932
|
+
* Typical usage for type safe access to the item data where `IProductsTable` is the auto generated
|
|
933
|
+
* type of the table component from which the dataview entries are populated:
|
|
934
|
+
*
|
|
935
|
+
* ```ts
|
|
936
|
+
* dataview.onItemClicked<IProductsTable[number]>(itemData, event) => { ... }
|
|
937
|
+
* ```
|
|
938
|
+
*/
|
|
939
|
+
onItemClicked<TItemData>(callback: (itemData: TItemData, event: MouseEvent) => void): CallbackUnsubscribeOption;
|
|
231
940
|
setVisible(visible: boolean): Promise<void>;
|
|
941
|
+
/**
|
|
942
|
+
* Sets the entries (data items) displayed by the dataview. Existing entries are overwritten.
|
|
943
|
+
*/
|
|
944
|
+
setEntries(entries: TemplateData[]): void;
|
|
945
|
+
/**
|
|
946
|
+
* Sets the group data used to render the group headers of the dataview. Existing group data is overwritten.
|
|
947
|
+
*/
|
|
948
|
+
setGroupData(groupData: TemplateData[]): void;
|
|
949
|
+
/**
|
|
950
|
+
* Set arbitrary properties of the dataview control.\
|
|
951
|
+
* Behavior is the same as when setting the respective property in the configurator editor.
|
|
952
|
+
*
|
|
953
|
+
* Some properties are not allowed to be set here because they have a dedicated method which should be used instead.\
|
|
954
|
+
* E.g. setting `visible` is not allowed because {@link DataviewV1.setVisible} should be used instead.
|
|
955
|
+
*
|
|
956
|
+
* When using properties of type `LiquidTemplateSource`, you have to manually cast the given `string` to
|
|
957
|
+
* `LiquidTemplateSource` like this:
|
|
958
|
+
*
|
|
959
|
+
* ```ts
|
|
960
|
+
* dataview.setProperty('dataTemplate', '<span>{{ Name }}</span>' as LiquidTemplateSource);
|
|
961
|
+
* ```
|
|
962
|
+
*/
|
|
963
|
+
setProperty<T extends keyof SetDataviewPropertyValue>(propertyName: T, value: SetDataviewPropertyValue[T]): void;
|
|
232
964
|
}
|
|
233
965
|
|
|
966
|
+
export declare type DocumentConvertTask = {
|
|
967
|
+
type: DocumentConvertTaskTypes.PdfAsset;
|
|
968
|
+
name: string;
|
|
969
|
+
/** Alias name, as set in the asset bundle assignment dialog */
|
|
970
|
+
bundleAliasName: string;
|
|
971
|
+
/** Dot seperated path, e.g. 'MyPDFFolder.MyPDFAsset' */
|
|
972
|
+
assetPath: string;
|
|
973
|
+
/** Custom object which must represent the context, as defined in the PDF asset */
|
|
974
|
+
context: object;
|
|
975
|
+
} | {
|
|
976
|
+
type: DocumentConvertTaskTypes.Asset;
|
|
977
|
+
name: string;
|
|
978
|
+
/** Alias name, as set in the asset bundle assignment dialog */
|
|
979
|
+
bundleAliasName: string;
|
|
980
|
+
/** Dot seperated path, e.g. 'MyPDFFolder.MyStaticAsset' */
|
|
981
|
+
assetPath: string;
|
|
982
|
+
} | {
|
|
983
|
+
type: DocumentConvertTaskTypes.Merge;
|
|
984
|
+
name: string;
|
|
985
|
+
/** Names of the tasks which should be merged in the given order */
|
|
986
|
+
inputTaskNames: string[];
|
|
987
|
+
} | {
|
|
988
|
+
type: DocumentConvertTaskTypes.OutputToCfgnFile;
|
|
989
|
+
name: string;
|
|
990
|
+
inputTaskName: string;
|
|
991
|
+
/** Name of the generated cfgn file */
|
|
992
|
+
cfgnFileName: string;
|
|
993
|
+
cfgnFileExtension: string;
|
|
994
|
+
/** Optional name which will be used when downloading the file */
|
|
995
|
+
cfgnFileDisplayName?: string;
|
|
996
|
+
};
|
|
997
|
+
|
|
998
|
+
export declare enum DocumentConvertTaskTypes {
|
|
999
|
+
/** Create a PDF with dynamic content based on the given `context` */
|
|
1000
|
+
PdfAsset = 0,
|
|
1001
|
+
/** Retrieve an asset to be used for suceeding tasks (e.g. static PDF for merge) */
|
|
1002
|
+
Asset = 1,
|
|
1003
|
+
/** Merge multiple input tasks into a single document */
|
|
1004
|
+
Merge = 2,
|
|
1005
|
+
/** Finalize the conversion by storing it as `Configuration file` */
|
|
1006
|
+
OutputToCfgnFile = 4
|
|
1007
|
+
}
|
|
1008
|
+
|
|
1009
|
+
declare type ElementPosOption = z.infer<typeof ZElementPosOption>;
|
|
1010
|
+
|
|
1011
|
+
declare type FileOrDataUri = File | {
|
|
1012
|
+
dataUri: string;
|
|
1013
|
+
extension: string;
|
|
1014
|
+
};
|
|
1015
|
+
|
|
234
1016
|
/**
|
|
235
1017
|
* Creates a finish of the current configuration by running all the Configurator's finish actions and optionally passes
|
|
236
1018
|
* the resulting data to the parent page.
|
|
@@ -290,10 +1072,15 @@ declare type FinishConfigurationBaseOptions = {
|
|
|
290
1072
|
*/
|
|
291
1073
|
export declare const fireAnalyticsEvent: (event: string, eventData?: object | string) => Promise<ParentPageComResult<void>>;
|
|
292
1074
|
|
|
1075
|
+
export declare enum FlexDirection {
|
|
1076
|
+
Column = 0,
|
|
1077
|
+
Row = 1
|
|
1078
|
+
}
|
|
1079
|
+
|
|
293
1080
|
export declare type FlexShopFinishJson = Shopware6FinishJson;
|
|
294
1081
|
|
|
295
1082
|
/**
|
|
296
|
-
* Returns the resolved 3D asset paths (babylon.js assets, material
|
|
1083
|
+
* Returns the resolved 3D asset paths (babylon.js assets, material assets, texture image assets)
|
|
297
1084
|
* for all pre-packed asset bundles configured for this Configurator.
|
|
298
1085
|
*
|
|
299
1086
|
* The result is fetched once and cached — subsequent calls resolve immediately from cache.
|
|
@@ -312,12 +1099,31 @@ export declare const getParentPageUrl: () => Promise<ParentPageComResult<{
|
|
|
312
1099
|
url: string;
|
|
313
1100
|
}>>;
|
|
314
1101
|
|
|
1102
|
+
declare type HtmlTagKind = z.infer<typeof ZHtmlTagKind>;
|
|
1103
|
+
|
|
315
1104
|
export declare class Input {
|
|
316
1105
|
#private;
|
|
317
1106
|
readonly id: CtrlId;
|
|
318
1107
|
constructor(id: CtrlId);
|
|
1108
|
+
/**
|
|
1109
|
+
* See {@link CustomControl.onRendered} for detailed information on what you can do with this listener and what it is
|
|
1110
|
+
* not meant for.
|
|
1111
|
+
*
|
|
1112
|
+
* Also see {@link OnRenderedCallback} for important information regarding the `element` which is passed to the
|
|
1113
|
+
* callback.
|
|
1114
|
+
*/
|
|
319
1115
|
onRendered(callback: OnRenderedCallback<HTMLDivElement>): CallbackUnsubscribeOption;
|
|
320
1116
|
setVisible(visible: boolean): Promise<void>;
|
|
1117
|
+
setValue(value: string): void;
|
|
1118
|
+
onValueChange(callback: (value: string) => void | Promise<void>): CallbackUnsubscribeOption;
|
|
1119
|
+
/**
|
|
1120
|
+
* Set arbitrary properties of the input control.\
|
|
1121
|
+
* Behavior is the same as when setting the respective property in the configurator editor.
|
|
1122
|
+
*
|
|
1123
|
+
* Some properties are not allowed to be set here because they have a dedicated method which should be used instead.\
|
|
1124
|
+
* E.g. setting `visible` is not allowed because {@link InputV1.setVisible} should be used instead.
|
|
1125
|
+
*/
|
|
1126
|
+
setProperty<T extends keyof SetInputPropertyValue>(propertyName: T, value: SetInputPropertyValue[T]): void;
|
|
321
1127
|
}
|
|
322
1128
|
|
|
323
1129
|
declare type JsonArray = Array<SerializableJsonValue>;
|
|
@@ -329,11 +1135,17 @@ declare type JsonObject = {
|
|
|
329
1135
|
declare type JsonPrimitive = string | number | boolean | null;
|
|
330
1136
|
|
|
331
1137
|
/**
|
|
332
|
-
*
|
|
1138
|
+
* Template written in ["Liquid HTML"](https://liquidjs.com/tutorials/intro-to-liquid.html)).
|
|
1139
|
+
* When rendering actual HTML from this, it is enriched by the `dataEntries`.
|
|
333
1140
|
*/
|
|
334
|
-
declare type
|
|
1141
|
+
export declare type LiquidTemplateSource = Brand<string, 'LiquidTemplate'>;
|
|
335
1142
|
|
|
336
|
-
declare type
|
|
1143
|
+
declare type ListMode = z.infer<typeof ZListMode>;
|
|
1144
|
+
|
|
1145
|
+
/**
|
|
1146
|
+
* Raw material JSON which can be passed to Babylon.js e.g. via `Material.Parse(material)`
|
|
1147
|
+
*/
|
|
1148
|
+
declare type MaterialObject = z.infer<typeof ZMaterialObject>;
|
|
337
1149
|
|
|
338
1150
|
/**
|
|
339
1151
|
* Navigates to the login page of the Configurator.
|
|
@@ -383,16 +1195,68 @@ export declare const onAnyCmpValueChanged: <TInput extends ValueComponent>(liste
|
|
|
383
1195
|
|
|
384
1196
|
declare type OnClickCallback = () => void;
|
|
385
1197
|
|
|
1198
|
+
/**
|
|
1199
|
+
* Registers a callback for events from the parent page.\
|
|
1200
|
+
* The parent page can send those events by calling `Combeenation.sendEventToConfigurator`.
|
|
1201
|
+
*/
|
|
1202
|
+
export declare const onParentPageEvent: (callback: (type: "success" | "error", data: unknown) => void) => CallbackUnsubscribeOption;
|
|
1203
|
+
|
|
1204
|
+
/**
|
|
1205
|
+
* @param element The rendered DOM element.
|
|
1206
|
+
*
|
|
1207
|
+
* !!! Important !!!
|
|
1208
|
+
*
|
|
1209
|
+
* This can either be a newly created element or the same, reused element which was already passed to a
|
|
1210
|
+
* previous `onRendered` callback invocation.
|
|
1211
|
+
*
|
|
1212
|
+
* What does this mean?
|
|
1213
|
+
* - When registering event listener, avoid `element.addEventListener` but use the form
|
|
1214
|
+
* `element.onclick = ...` instead.
|
|
1215
|
+
* - Be careful when using API like `MutationObserver` on the element and ensure to not register multiple
|
|
1216
|
+
* observer on the same element over time.
|
|
1217
|
+
* - Be careful when binding/using the element in external libraries which might use `addEventListener`
|
|
1218
|
+
* or things like `MutationObserver` internally (e.g. DnD libraries etc.).
|
|
1219
|
+
* - If you **need to** use `addEventListener` etc. e.g. because you have to use a library which uses it
|
|
1220
|
+
* internally, make sure to manually check whether the element was already processed/initialized in a
|
|
1221
|
+
* previous `onRendered` invocation or not.
|
|
1222
|
+
*
|
|
1223
|
+
* E.g. something like this:
|
|
1224
|
+
*
|
|
1225
|
+
* ```ts
|
|
1226
|
+
* dataview.onRendered((element) => {
|
|
1227
|
+
* if (element.dataset.wasVisited) return;
|
|
1228
|
+
* element.dataset.wasVisited = 'true';
|
|
1229
|
+
*
|
|
1230
|
+
* // -> Safely use `element.addEventListener` or `dndManager.init(element)` etc.
|
|
1231
|
+
* });
|
|
1232
|
+
*/
|
|
386
1233
|
declare type OnRenderedCallback<T extends HTMLElement = HTMLElement> = (element: T) => void;
|
|
387
1234
|
|
|
388
1235
|
export declare class Panel {
|
|
389
1236
|
#private;
|
|
390
1237
|
readonly id: CtrlId;
|
|
391
1238
|
constructor(id: CtrlId);
|
|
1239
|
+
/**
|
|
1240
|
+
* See {@link CustomControl.onRendered} for detailed information on what you can do with this listener and what it is
|
|
1241
|
+
* not meant for.
|
|
1242
|
+
*
|
|
1243
|
+
* Also see {@link OnRenderedCallback} for important information regarding the `element` which is passed to the
|
|
1244
|
+
* callback.
|
|
1245
|
+
*/
|
|
392
1246
|
onRendered(callback: OnRenderedCallback<HTMLDivElement>): CallbackUnsubscribeOption;
|
|
393
1247
|
setVisible(visible: boolean): Promise<void>;
|
|
1248
|
+
/**
|
|
1249
|
+
* Set arbitrary properties of the panel control.\
|
|
1250
|
+
* Behavior is the same as when setting the respective property in the configurator editor.
|
|
1251
|
+
*
|
|
1252
|
+
* Some properties are not allowed to be set here because they have a dedicated method which should be used instead.\
|
|
1253
|
+
* E.g. setting `visible` is not allowed because {@link PanelV1.setVisible} should be used instead.
|
|
1254
|
+
*/
|
|
1255
|
+
setProperty<T extends keyof SetPanelPropertyValue>(propertyName: T, value: SetPanelPropertyValue[T]): void;
|
|
394
1256
|
}
|
|
395
1257
|
|
|
1258
|
+
declare type ParentCtrl = Panel | Collapsible;
|
|
1259
|
+
|
|
396
1260
|
export declare type ParentPageCheckoutData = {
|
|
397
1261
|
/** Cfgn id */
|
|
398
1262
|
id: string;
|
|
@@ -471,18 +1335,49 @@ export declare const redirectParentPage: (url: string) => Promise<ParentPageComR
|
|
|
471
1335
|
|
|
472
1336
|
declare type SdkAssetPaths = {
|
|
473
1337
|
babylonJsAssets: {
|
|
474
|
-
[key: AssetName]:
|
|
1338
|
+
[key: AssetName]: UrlString;
|
|
475
1339
|
};
|
|
476
|
-
|
|
477
|
-
[key:
|
|
478
|
-
[key: AssetName]: MaterialAsset;
|
|
479
|
-
};
|
|
1340
|
+
materialAssets: {
|
|
1341
|
+
[key: AssetName]: MaterialObject;
|
|
480
1342
|
};
|
|
481
1343
|
textureImageAssets: {
|
|
482
|
-
[key: AssetName]:
|
|
1344
|
+
[key: AssetName]: UrlString;
|
|
483
1345
|
};
|
|
484
1346
|
};
|
|
485
1347
|
|
|
1348
|
+
/**
|
|
1349
|
+
* `urls` contains a map of the uploaded files, where the key represents the name and the value the url.\
|
|
1350
|
+
* It's recommended to check for the `success` flag beforehand.
|
|
1351
|
+
*/
|
|
1352
|
+
declare type SdkCfgnFileUploadResult<T extends string = string> = {
|
|
1353
|
+
success: false;
|
|
1354
|
+
urls?: never;
|
|
1355
|
+
} | {
|
|
1356
|
+
success: true;
|
|
1357
|
+
urls: {
|
|
1358
|
+
[fileName in T]: string;
|
|
1359
|
+
};
|
|
1360
|
+
};
|
|
1361
|
+
|
|
1362
|
+
declare type SdkCfgnTempFileUploadResult = {
|
|
1363
|
+
success: false;
|
|
1364
|
+
urls?: never;
|
|
1365
|
+
} | {
|
|
1366
|
+
success: true;
|
|
1367
|
+
urls: string[];
|
|
1368
|
+
};
|
|
1369
|
+
|
|
1370
|
+
declare type SdkCreateArPageOptions = {
|
|
1371
|
+
qrSubTitle?: string;
|
|
1372
|
+
qrDescription?: string;
|
|
1373
|
+
preparationText?: string;
|
|
1374
|
+
popupBlockedTitle?: string;
|
|
1375
|
+
popupBlockedDescription?: string;
|
|
1376
|
+
popupBlockedLinkText?: string;
|
|
1377
|
+
environment?: UrlString;
|
|
1378
|
+
loadingScreenImg?: UrlString;
|
|
1379
|
+
};
|
|
1380
|
+
|
|
486
1381
|
/**
|
|
487
1382
|
* Send a custom message to the parent page via the "CustomMessage".\
|
|
488
1383
|
* The parent page can handle those messages by implementing the function `Combeenation.on{msgName}`.
|
|
@@ -495,6 +1390,14 @@ export declare const sendCustomMsgToParentPage: (msgName: string, data?: object)
|
|
|
495
1390
|
/** A JSON-serializable value safe to use as a `postMessage` payload etc. */
|
|
496
1391
|
declare type SerializableJsonValue = JsonPrimitive | JsonObject | JsonArray;
|
|
497
1392
|
|
|
1393
|
+
declare type SetButtonPropertyValue = Omit<CreateButtonProperties, 'visible'>;
|
|
1394
|
+
|
|
1395
|
+
declare type SetCheckboxPropertyValue = Omit<CreateCheckboxProperties, 'visible'>;
|
|
1396
|
+
|
|
1397
|
+
declare type SetCollapsiblePropertyValue = Omit<CreateCollapsibleProperties, 'visible'>;
|
|
1398
|
+
|
|
1399
|
+
declare type SetComboboxPropertyValue = Omit<CreateComboboxProperties, 'visible' | 'listMode' | 'valueType'>;
|
|
1400
|
+
|
|
498
1401
|
/**
|
|
499
1402
|
* Changes the width and/or height of the IFrame and/or scroll position of the parent page window.
|
|
500
1403
|
*
|
|
@@ -513,6 +1416,16 @@ export declare const setConfiguratorIFrameSize: (data: {
|
|
|
513
1416
|
scrollToY?: number;
|
|
514
1417
|
}) => Promise<ParentPageComResult<void>>;
|
|
515
1418
|
|
|
1419
|
+
declare type SetCustomCtrlPropertyValue = Omit<CreateCustomCtrlProperties, 'visible'>;
|
|
1420
|
+
|
|
1421
|
+
declare type SetDataviewPropertyValue = Omit<CreateDataviewProperties, 'visible' | 'listMode' | 'valueType'>;
|
|
1422
|
+
|
|
1423
|
+
declare type SetInputPropertyValue = Omit<CreateInputProperties, 'visible'>;
|
|
1424
|
+
|
|
1425
|
+
declare type SetPanelPropertyValue = Omit<CreatePanelProperties, 'visible'>;
|
|
1426
|
+
|
|
1427
|
+
declare type SetTextPropertyValue = Omit<CreateTextProperties, 'visible'>;
|
|
1428
|
+
|
|
516
1429
|
/**
|
|
517
1430
|
* Creates a copy of the current configuration and opens a share window for the given platform with the resulting share
|
|
518
1431
|
* URL
|
|
@@ -640,17 +1553,88 @@ declare type SyncCmpValuesStore<TCmps extends Record<CmpName, ValueComponent>> =
|
|
|
640
1553
|
[K in keyof TCmps & CmpName]: TCmps[K] extends ValueComponent<any, infer TValue, any> ? TValue | undefined : never;
|
|
641
1554
|
};
|
|
642
1555
|
|
|
1556
|
+
/**
|
|
1557
|
+
* The raw data passed to the corresponding liquid template (e.g. to a datalist item template or a group header
|
|
1558
|
+
* template etc.)
|
|
1559
|
+
*/
|
|
1560
|
+
declare type TemplateData = Record<string, unknown>;
|
|
1561
|
+
|
|
643
1562
|
declare class Text_2 {
|
|
644
1563
|
#private;
|
|
645
1564
|
readonly id: CtrlId;
|
|
646
1565
|
constructor(id: CtrlId);
|
|
1566
|
+
/**
|
|
1567
|
+
* See {@link CustomControl.onRendered} for detailed information on what you can do with this listener and what it is
|
|
1568
|
+
* not meant for.
|
|
1569
|
+
*
|
|
1570
|
+
* Also see {@link OnRenderedCallback} for important information regarding the `element` which is passed to the
|
|
1571
|
+
* callback.
|
|
1572
|
+
*/
|
|
647
1573
|
onRendered(callback: OnRenderedCallback<HTMLSpanElement>): CallbackUnsubscribeOption;
|
|
648
1574
|
setVisible(visible: boolean): Promise<void>;
|
|
649
1575
|
setText(text: string): void;
|
|
1576
|
+
/**
|
|
1577
|
+
* Set arbitrary properties of the text control.\
|
|
1578
|
+
* Behavior is the same as when setting the respective property in the configurator editor.
|
|
1579
|
+
*
|
|
1580
|
+
* Some properties are not allowed to be set here because they have a dedicated method which should be used instead.\
|
|
1581
|
+
* E.g. setting `visible` is not allowed because {@link TextV1.setVisible} should be used instead.
|
|
1582
|
+
*/
|
|
1583
|
+
setProperty<T extends keyof SetTextPropertyValue>(propertyName: T, value: SetTextPropertyValue[T]): void;
|
|
650
1584
|
}
|
|
651
1585
|
export { Text_2 as Text }
|
|
652
1586
|
|
|
653
|
-
|
|
1587
|
+
/**
|
|
1588
|
+
* Upload one or more files into the current configuration
|
|
1589
|
+
*
|
|
1590
|
+
* Consider using {@link uploadTempFiles} if the files don't need to be persisted and
|
|
1591
|
+
* aren't relevant for the finished configuration.
|
|
1592
|
+
*
|
|
1593
|
+
* @param files The key represents the name, which can be used in Hive with `configuration.GetFile("")`
|
|
1594
|
+
* @returns An object with the same keys as the input. The values contain according result information.
|
|
1595
|
+
*/
|
|
1596
|
+
export declare const uploadFiles: <T extends string>(files: CfgnFileUploadData<T>) => Promise<SdkCfgnFileUploadResult<T>>;
|
|
1597
|
+
|
|
1598
|
+
/**
|
|
1599
|
+
* Upload one or more images into the current configuration.
|
|
1600
|
+
*
|
|
1601
|
+
* Consider using {@link uploadTempImages} if the images don't need to be persisted and
|
|
1602
|
+
* aren't relevant for the finished configuration.
|
|
1603
|
+
*
|
|
1604
|
+
* @param images The key represents the name, which can be used in Hive with `configuration.GetImage("")`
|
|
1605
|
+
* @returns An object with the same keys as the input. The values contain according result information.
|
|
1606
|
+
*/
|
|
1607
|
+
export declare const uploadImages: <T extends string>(images: CfgnFileUploadData<T>) => Promise<SdkCfgnFileUploadResult<T>>;
|
|
1608
|
+
|
|
1609
|
+
/**
|
|
1610
|
+
* Upload temporary files into the current configuration. This should only be used for files which don't need to be
|
|
1611
|
+
* persisted or aren't relevant for the finished configuration.
|
|
1612
|
+
* Examples:
|
|
1613
|
+
* - The user can upload multiple files but he still has to apply them on the product in a second step.
|
|
1614
|
+
* It's recommended to upload the files as temporary files and only upload them as cfgn files after they were
|
|
1615
|
+
* actually applied.
|
|
1616
|
+
*
|
|
1617
|
+
* @param files files to be uploaded
|
|
1618
|
+
* @returns on success it returns the URLs of the uploaded files in the same order as they were provided.
|
|
1619
|
+
*/
|
|
1620
|
+
export declare const uploadTempFiles: (files: FileOrDataUri[]) => Promise<SdkCfgnTempFileUploadResult>;
|
|
1621
|
+
|
|
1622
|
+
/**
|
|
1623
|
+
* Upload temporary images into the current configuration. This should only be used for files which don't need to be
|
|
1624
|
+
* persisted or aren't relevant for the finished configuration.
|
|
1625
|
+
* Examples:
|
|
1626
|
+
* - When creating a PDF with screenshots of the 3d model, the images can be uploaded as temporary files, as they
|
|
1627
|
+
* will be embedded in the PDF.
|
|
1628
|
+
* - The user can upload multiple images but he still has to apply them on the product in a second step.
|
|
1629
|
+
* It's recommended to upload the images as temporary files and only upload them as cfgn files after they were
|
|
1630
|
+
* actually applied.
|
|
1631
|
+
*
|
|
1632
|
+
* @param images images to be uploaded
|
|
1633
|
+
* @returns on success it returns the URLs of the uploaded images in the same order as they were provided.
|
|
1634
|
+
*/
|
|
1635
|
+
export declare const uploadTempImages: (images: FileOrDataUri[]) => Promise<SdkCfgnTempFileUploadResult>;
|
|
1636
|
+
|
|
1637
|
+
declare type UrlString = z.infer<typeof ZUrlString>;
|
|
654
1638
|
|
|
655
1639
|
/**
|
|
656
1640
|
* Represents a component of type `Value`
|
|
@@ -681,12 +1665,42 @@ export declare class ValueComponent<TName extends CmpName = CmpName, TValue exte
|
|
|
681
1665
|
|
|
682
1666
|
export declare const version: string;
|
|
683
1667
|
|
|
1668
|
+
declare const ZAlignmentBlockOption: z.ZodUnion<readonly [z.ZodLiteral<"topLeft">, z.ZodLiteral<"topCenter">, z.ZodLiteral<"topRight">, z.ZodLiteral<"centerLeft">, z.ZodLiteral<"centerCenter">, z.ZodLiteral<"centerRight">, z.ZodLiteral<"bottomLeft">, z.ZodLiteral<"bottomCenter">, z.ZodLiteral<"bottomRight">]>;
|
|
1669
|
+
|
|
684
1670
|
declare const ZAssetName: z.ZodString;
|
|
685
1671
|
|
|
686
|
-
declare const ZCmpValue: z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]
|
|
1672
|
+
declare const ZCmpValue: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>, z.ZodObject<{}, z.core.$strip>, z.ZodUnknown]>;
|
|
687
1673
|
|
|
688
1674
|
declare const ZCtrlId: z.ZodString;
|
|
689
1675
|
|
|
1676
|
+
declare const ZDataListEntries: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1677
|
+
|
|
1678
|
+
declare const ZDataListGroupData: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1679
|
+
|
|
1680
|
+
/**
|
|
1681
|
+
* !!! Note !!!
|
|
1682
|
+
*
|
|
1683
|
+
* We're relying on those values to be actual TS types which can be used in the generated typings for custom code as
|
|
1684
|
+
* generics like `new Dataview<${valueType}>()`.
|
|
1685
|
+
*
|
|
1686
|
+
* Double check all consuming code if this ever changes (only `FlatCtrlMeta.typeGenerics` at the time of writing).
|
|
1687
|
+
*/
|
|
1688
|
+
declare const ZDataListValueType: z.ZodUnion<readonly [z.ZodLiteral<"string">, z.ZodLiteral<"number">]>;
|
|
1689
|
+
|
|
1690
|
+
declare const ZElementPosOption: z.ZodUnion<readonly [z.ZodLiteral<"left">, z.ZodLiteral<"right">, z.ZodLiteral<"bottom">, z.ZodLiteral<"top">]>;
|
|
1691
|
+
|
|
1692
|
+
declare const ZHtmlTagKind: z.ZodEnum<{
|
|
1693
|
+
div: "div";
|
|
1694
|
+
h1: "h1";
|
|
1695
|
+
h2: "h2";
|
|
1696
|
+
h3: "h3";
|
|
1697
|
+
h4: "h4";
|
|
1698
|
+
h5: "h5";
|
|
1699
|
+
span: "span";
|
|
1700
|
+
}>;
|
|
1701
|
+
|
|
1702
|
+
declare const ZListMode: z.ZodUnion<readonly [z.ZodLiteral<"single">, z.ZodLiteral<"multi">, z.ZodLiteral<"no-selection">]>;
|
|
1703
|
+
|
|
690
1704
|
/**
|
|
691
1705
|
* Raw material JSON which can be passed to Babylon.js e.g. via `Material.Parse(material)`
|
|
692
1706
|
*
|
|
@@ -695,19 +1709,20 @@ declare const ZCtrlId: z.ZodString;
|
|
|
695
1709
|
*
|
|
696
1710
|
* Could be extended as needed.
|
|
697
1711
|
*/
|
|
698
|
-
declare const
|
|
1712
|
+
declare const ZMaterialObject: z.ZodObject<{
|
|
699
1713
|
name: z.ZodString;
|
|
700
1714
|
id: z.ZodString;
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
1715
|
+
customType: z.ZodEnum<{
|
|
1716
|
+
"BABYLON.PBRMaterial": "BABYLON.PBRMaterial";
|
|
1717
|
+
"BABYLON.PBRMetallicRoughnessMaterial": "BABYLON.PBRMetallicRoughnessMaterial";
|
|
1718
|
+
"BABYLON.PBRSpecularGlossinessMaterial": "BABYLON.PBRSpecularGlossinessMaterial";
|
|
1719
|
+
"BABYLON.StandardMaterial": "BABYLON.StandardMaterial";
|
|
1720
|
+
"BABYLON.BackgroundMaterial": "BABYLON.BackgroundMaterial";
|
|
1721
|
+
"BABYLON.NodeMaterial": "BABYLON.NodeMaterial";
|
|
1722
|
+
}>;
|
|
1723
|
+
tags: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1724
|
+
}, z.core.$loose>;
|
|
710
1725
|
|
|
711
|
-
declare const
|
|
1726
|
+
declare const ZUrlString: z.core.$ZodBranded<z.ZodURL, "Url", "out">;
|
|
712
1727
|
|
|
713
1728
|
export { }
|