@enplug/sdk-dashboard 5.4.0 → 5.4.2-2.1-dev

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.
@@ -1,526 +1,660 @@
1
- /** These are meant to available to client apps */
2
- export declare type DefaultAssetLevel = 'Default' | 'Network' | 'Account';
3
- export declare type DisplaySelectorCallback = (displayId: string) => void;
4
- export interface BaseAsset<T> {
5
- /** WCF date = "/Date(137...)/" */
6
- Created?: string;
7
- /** Duration of play in seconds. */
8
- Duration?: number;
9
- /** Asset ID */
10
- Id: string | null;
11
- /** Details of play schedule. */
12
- Schedule?: Schedule;
13
- /** Value object provided when created. NOTE: Only objects allowed. */
14
- Value: T;
15
- AssetData?: AssetDataBackendValue;
16
- PushDataBindingConfig?: PushDataBindingConfig;
17
- PullDataBindingConfig?: PullDataBindingConfig;
18
- /** Optional Theme Id if set */
19
- ThemeId?: string;
20
- /** Optional, used when user is in the content approval flow */
21
- NeedsApproval?: boolean;
22
- }
23
- export interface Asset<T> extends BaseAsset<T> {
24
- /** Array of Ids of Display Groups this asset is currently deployed to */
25
- VenueIds: string[];
26
- /** Position within app's list of assets on a display group or in the library */
27
- Order?: number;
28
- /** Asset version in the Content Approval flow */
29
- Version?: number;
30
- /** readonly flag */
31
- IsZoningWidget?: boolean;
32
- /** Currently @ Value.Name - subject to change. Display name of the asset. used in lists. */
33
- /** Currently @ Value.Zone - subject to change. Zoning widget asset slot type */
34
- /** List of zoning assets on which the obj - a widget asset is placed */
35
- ZoningAssetIds?: string[];
36
- }
37
- export interface DefaultAsset<T> extends BaseAsset<T> {
38
- Level: DefaultAssetLevel;
39
- LevelId?: string;
40
- DeployedId?: string;
41
- }
42
- export interface AssetDataBackendValue {
43
- AssetId?: string;
44
- Data: DataCollectionBackend;
45
- TriggerColumnId: string;
46
- DataBoundSchedule: DataBoundScheduleBackend;
47
- }
48
- export interface DataCollectionBackend {
49
- Columns: Array<{
50
- Id: string;
51
- Name: string;
52
- Type: DataType;
53
- Order?: 'asc' | 'desc' | undefined;
54
- }>;
55
- Rows: Array<{
56
- Items: DataItems;
57
- }>;
58
- }
59
- export interface DataBoundScheduleBackend {
60
- /** .NET TimeSpan */
61
- Start: string;
62
- /** .NET TimeSpan */
63
- EndAfter: string;
64
- Yearly: boolean;
65
- }
66
- export declare type DataType = 'date' | 'text' | 'image';
67
- export interface DataItems {
68
- [columnId: string]: DataItem;
69
- }
70
- export declare type DataItem = Date | DataImage | string;
71
- export declare class DataImage {
72
- url: string;
73
- thumbnail?: string;
74
- constructor(url: string, thumbnail?: string);
75
- }
76
- export interface JsonMapping {
77
- Name: string;
78
- Value: string;
79
- Type?: string;
80
- }
81
- export interface PushDataBindingConfig {
82
- WebhookToken: string;
83
- DataPath: string;
84
- JsonMappings: JsonMapping[];
85
- Url: string;
86
- HasError: boolean;
87
- }
88
- export interface PullDataBindingConfig {
89
- Url: string;
90
- DataPath: string;
91
- QueryParameters: ApiQueryParameter[];
92
- Headers: ApiQueryParameter[];
93
- ApiFrequency: string;
94
- JsonMappings: JsonMapping[];
95
- HasError: boolean;
96
- }
97
- export interface Schedule {
98
- /** "2019-03-27T00:00:00" */
99
- ActivationDate?: string;
100
- /** Limit days */
101
- ActiveDays: string[];
102
- /** WCF date */
103
- Created: string;
104
- DeleteWhenExpired: boolean;
105
- ExpirationCount: number;
106
- /** "2019-03-27T00:00:00" */
107
- ExpirationDate: string;
108
- /** Schedule ID */
109
- Id: string;
110
- IsDeleted: boolean;
111
- IsPriority: boolean;
112
- /** WCF date */
113
- LastSaved: string;
114
- PlayTimes: TimeRange[];
115
- Recurrence: number;
116
- }
117
- export interface TimeRange {
118
- /** "09:00:00" */
119
- StartTime: string;
120
- /** "22:59:00" */
121
- EndTime: string;
122
- }
123
- export interface ThemeAsset<T> {
124
- Id: string | null;
125
- IsDefault: boolean;
126
- Name: string;
127
- Value: T;
128
- }
129
- export interface ThemeBackground {
130
- backgroundAlpha: number;
131
- backgroundAlpha2: number;
132
- backgroundColor: string;
133
- backgroundColor2: string;
134
- backgroundImage: string;
135
- backgroundImageLabel: string;
136
- backgroundTypes: [boolean, boolean];
137
- gradient: 'Solid' | 'Vertical Gradient' | 'Horizontal Gradient' | 'Radial Gradient';
138
- }
139
- export interface ThemeDefinition {
140
- name: string;
141
- sections: ThemeSection[];
142
- }
143
- export interface ThemeSection {
144
- label: string;
145
- name: string;
146
- properties: ThemeSectionProperties[];
147
- }
148
- export interface ThemeSectionProperties {
149
- label: string;
150
- type: ThemePropertyType;
151
- name: string;
152
- }
153
- export declare type ThemePropertyType = 'color' | 'font' | 'backgroundSelector' | 'backgroundColor';
154
- export declare type Orientation = 'landscape' | 'portrait';
155
- export declare type WidgetType = 'main' | 'banner' | 'ticker';
156
- export interface Layout {
157
- orientation: Orientation;
158
- widgetType?: WidgetType;
159
- zones?: number;
160
- position?: number;
161
- flip?: boolean;
162
- }
163
- export interface FeedData<T> {
164
- socialItems?: any[];
165
- socialFeeds?: any[];
166
- trigger: T;
167
- }
168
- export interface Button {
169
- id?: string;
170
- text: string;
171
- class: string;
172
- action: () => void;
173
- disabled?: boolean;
174
- icon?: string;
175
- }
176
- export interface OpenConfirmOptions {
177
- title: string;
178
- text: string;
179
- cancelText?: string;
180
- confirmText?: string;
181
- confirmClass?: string;
182
- }
183
- export interface FilepickerOptions {
184
- accept?: string | string[];
185
- fromSources?: string[];
186
- maxFiles?: number;
187
- multiple?: boolean;
188
- folders?: boolean;
189
- openTo?: string;
190
- webcamDim?: [width, height];
191
- customSourceContainer?: string;
192
- customSourcePath?: string;
193
- lang?: string;
194
- debug?: boolean;
195
- policy?: any;
196
- signature?: any;
197
- backgroundUpload?: boolean;
198
- hide?: boolean;
199
- customCss?: string;
200
- customText?: string;
201
- imageQuality?: number;
202
- imageDim?: [width, height];
203
- imageMax?: [width, height];
204
- imageMin?: [width, height];
205
- conversions?: FilepickerConversion[];
206
- cropRatio?: number;
207
- cropDim?: [width, height];
208
- cropMax?: [width, height];
209
- cropMin?: [width, height];
210
- cropForce?: boolean;
211
- storeTo?: FilepickerStoreToOptions;
212
- transformations?: {
213
- crop?: {
214
- aspectRatio?: number;
215
- force?: boolean;
216
- };
217
- };
218
- uploadSource?: string;
219
- }
220
- export interface FilepickerUploadedFile {
221
- url: string;
222
- filename: string;
223
- mimetype: string;
224
- size?: number;
225
- width?: number;
226
- height?: number;
227
- thumbnail?: string;
228
- }
229
- export interface FilepickerStoreToOptions {
230
- location?: 's3';
231
- path?: string;
232
- container?: string;
233
- region?: string;
234
- access?: 'public' | 'private';
235
- }
236
- export interface UploaderOptions extends FilepickerOptions {
237
- accountId?: string;
238
- acceptedFileTypes?: string[];
239
- isMultipleSelection?: boolean;
240
- minimumImageDimensions?: [width, height];
241
- uploadSourceAppId?: string;
242
- createAssets?: boolean;
243
- showMyLibrary?: boolean;
244
- /** forceCrop should be used together with isMultipleSelection = false */
245
- forceCrop?: boolean;
246
- cropForceAspectRatio?: number;
247
- cropMaximumImageWidth?: number;
248
- zoningConfig?: ZoningConfig;
249
- }
250
- export interface UploadedFileResult extends FilepickerUploadedFile {
251
- assetId?: string;
252
- }
253
- export interface EncodingStatusResult {
254
- State: 'Error' | 'Uploading' | 'Uploaded' | 'Processing' | 'Converted' | 'Encoded' | 'Ready';
255
- Confirmed: boolean;
256
- Filename: string;
257
- ProgressPct: number;
258
- Size: number;
259
- Resources: EncodedResourceResult[];
260
- }
261
- export interface EncodedResourceResult {
262
- AssetId?: string;
263
- Name: string;
264
- Width: number;
265
- Height: number;
266
- Thumbnail: string;
267
- Url: string;
268
- }
269
- export interface FontsApiItem {
270
- Name: string;
271
- FontFamily: string;
272
- Category: string;
273
- Css: string;
274
- }
275
- export declare type width = number;
276
- export declare type height = number;
277
- export declare type FilepickerConversion = 'crop' | 'rotate' | 'filter';
278
- export interface EnplugUser {
279
- /** User id in the system */
280
- id: string;
281
- /** Current user's account ID */
282
- accountId: string;
283
- /** User access type */
284
- type: string;
285
- data: {
286
- email: string;
287
- firstName: string;
288
- lastName: string;
289
- accountName: string;
290
- locale: string;
291
- accountStatus: string;
292
- };
293
- has: {
294
- rootAccess: boolean;
295
- limitedAccess: boolean;
296
- };
297
- }
298
- export interface DisplayGroup {
299
- /** e.g. English, Russian, French */
300
- language: string;
301
- /** Landscape or Portrait */
302
- orientation: string;
303
- timezone: string;
304
- }
305
- export interface DeployDialogOptions {
306
- /** Whether to show the schedule tab in the dialog. */
307
- showSchedule?: boolean;
308
- /** Schedule tab options. Relevant if `showSchedule` is true. */
309
- scheduleOptions?: {
310
- /**
311
- * option to show duration slider when showDuration is set to true
312
- * allow user to choose the duration of each asset shown on player
313
- */
314
- showDuration?: boolean;
315
- showLimitDays?: boolean;
316
- showLimitTime?: boolean;
317
- showScheduleForLater?: boolean;
318
- /** allow user to choose the schedule repeat options */
319
- showRepeat?: boolean;
320
- /** allow user to edit Priority Play flag */
321
- showPriorityPlay?: boolean;
322
- /** Graphics app only this one */
323
- setDefaultDurationForNewImages?: boolean;
324
- };
325
- /**
326
- * Whether only one app-asset can be deployed to a Display Group
327
- * When `true` disables Display Groups with assets from the current app deployed
328
- */
329
- singleton?: boolean;
330
- isNew?: boolean;
331
- /** by default, other option is 'schedule' */
332
- initialTab?: string;
333
- /** Message to show when the save is successful */
334
- successMessage?: string;
335
- /** Message to show while the save call is in progress */
336
- loadingMessage?: string;
337
- /**
338
- * To force showing the DeployDialog when updating existing asset.
339
- * It will be always shown when saving a new asset irrespective of this option
340
- */
341
- showDeployDialog?: boolean;
342
- /** content approval */
343
- noDialog?: boolean;
344
- /** asset.Value props to validate */
345
- requiredAssetProps?: string[];
346
- /** allow user to edit assets' tags */
347
- showTagsEditor?: boolean;
348
- /** Graphics and Arts app only this one - list of assets to traverse with < > buttons */
349
- assetsToNavigate?: Array<Asset<any>>;
350
- /** Graphics and Arts app only use this one */
351
- canNavigate?: boolean;
352
- /** Graphics and Arts app only use this one */
353
- showDetails?: boolean;
354
- /** The type of presented asset */
355
- detailsType?: 'graphic' | 'art';
356
- /** Graphics and Arts app only use this one */
357
- showReporting?: boolean;
358
- }
359
- export interface FacebookAuthParams {
360
- FeedId: string;
361
- AdminAccessToken: string;
362
- PageId: string;
363
- }
364
- export interface TwitterSubscriptionStatusResponse {
365
- UsedFollows: string[];
366
- UsedTracks: string[];
367
- AllowedFollows: 0;
368
- AllowedTracks: 0;
369
- }
370
- export interface SocialItemMedia {
371
- Source: string;
372
- Type: string;
373
- }
374
- export interface SocialItemUser {
375
- Avatar: string;
376
- Link: string;
377
- Name: string;
378
- }
379
- export interface SocialItem {
380
- Created: Date;
381
- FlaggedWords: any[];
382
- Id: string;
383
- IsFavorited: boolean;
384
- Link: string;
385
- Media: SocialItemMedia;
386
- SocialItemId: string;
387
- SocialNetwork: string;
388
- Text: string;
389
- User: EnplugUser;
390
- }
391
- export interface SocialItemsResponse {
392
- __type: string;
393
- LiveItems: SocialItem[];
394
- PendingItems: SocialItem[];
395
- SocialNetworks: string[];
396
- }
397
- export interface PreapprovalDialogOptions {
398
- showVideoEnabled?: boolean;
399
- showImagesEnabled?: boolean;
400
- showConnectedUserNeedsApproval?: boolean;
401
- }
402
- export interface EnplugAccount {
403
- accountId: string;
404
- env: Environment;
405
- id: string;
406
- showHelpdeskContent: boolean;
407
- type: string;
408
- useInAppMessaging: boolean;
409
- }
410
- export interface FontDefinition {
411
- name: string;
412
- value: string;
413
- }
414
- export declare type Environment = 'staging' | 'dev' | 'production';
415
- export declare type ConnectionType = 'push' | 'pull';
416
- export interface BindingConfig {
417
- dataPath: string;
418
- bindingPairs: BindingPair[];
419
- sampleData?: object;
420
- }
421
- export interface BindingPair {
422
- column: string;
423
- value: string;
424
- type: BindingDataType;
425
- }
426
- export declare type BindingDataType = 'image' | 'date' | 'text';
427
- export interface PushConnectionConfig {
428
- webURL: string;
429
- webhookToken: string;
430
- hasError: boolean;
431
- }
432
- export interface PullConnectionConfig {
433
- webURL: string;
434
- params: ConnectionQueryParams[];
435
- headers: ConnectionHttpHeaders[];
436
- refreshFrequency: RefreshFrequency;
437
- hasError: boolean;
438
- }
439
- interface ConnectionParams {
440
- name: string;
441
- value: string;
442
- encrypt: boolean;
443
- isCustomProperty: boolean;
444
- testValue: string;
445
- }
446
- export interface ConnectionQueryParams extends ConnectionParams {
447
- }
448
- export interface ConnectionHttpHeaders extends ConnectionParams {
449
- }
450
- export declare type RefreshFrequency = 1 | 5 | 10 | 30;
451
- export interface ApiDataItem {
452
- name: string;
453
- type: BindingDataType;
454
- }
455
- export interface AccountCustomPropertiesResponse {
456
- Name: string;
457
- VenueIds: string[];
458
- }
459
- export interface CustomProperty {
460
- Name: string;
461
- Value: string;
462
- }
463
- export interface ApiDataConnectorOptions {
464
- apiDataItems?: ApiDataItem[];
465
- configuration?: DataConnectionConfig;
466
- customProperties?: string[];
467
- }
468
- export interface DataConnectionConfig {
469
- binding: BindingConfig;
470
- connection: PushConnectionConfig | PullConnectionConfig;
471
- type: ConnectionType;
472
- }
473
- export interface ApiQueryParameter {
474
- Name?: string;
475
- Value?: string;
476
- IsEncrypted?: boolean;
477
- IsCustomProperty?: boolean;
478
- TestValue?: string;
479
- }
480
- export interface AssetPreviewRequest<TAssetValue, TThemeValue, TFeedType> {
481
- asset: Asset<TAssetValue>;
482
- theme?: ThemeAsset<TThemeValue>;
483
- feedData?: FeedData<TFeedType>;
484
- /** incompatible with `zoningConfig`. Pass `layout` for regular asset preview */
485
- layout?: Layout;
486
- /** incompatible with `layout`. Pass `zoningConfig` for zoning widget asset preview */
487
- zoningConfig?: ZoningConfig;
488
- sizingConfig?: SizingConfig;
489
- }
490
- export interface SizingConfig {
491
- width: number;
492
- height: number;
493
- }
494
- export interface ZoningConfig {
495
- zoning: 'banner' | 'ticker';
496
- ratioWidth: number;
497
- ratioHeight: number;
498
- width: number;
499
- height: number;
500
- tickerSpeed?: number;
501
- orientation: Orientation;
502
- }
503
- export interface ZoningAppsResponse {
504
- BannerApps: ZoningApp[];
505
- TickerApps: ZoningApp[];
506
- }
507
- export interface ZoningApp {
508
- AppId: string;
509
- ConfigureUrl: string;
510
- Name: string;
511
- }
512
- export declare type AssetPreviewType = 'graphics' | 'video' | 'url' | 'app';
513
- export interface AssetPreviewApp {
514
- AppId: string;
515
- AppUrl: string;
516
- Name: string;
517
- }
518
- export interface AssetPreviewData {
519
- app: AssetPreviewApp;
520
- previewType: AssetPreviewType;
521
- previewUrl: string;
522
- theme: any;
523
- feedData: any;
524
- locale: string;
525
- }
526
- export {};
1
+ /** These are meant to available to client apps */
2
+ export declare type DefaultAssetLevel = 'Default' | 'Network' | 'Account';
3
+ export declare type DisplaySelectorCallback = (displayId: string) => void;
4
+ export interface BaseAsset<T> {
5
+ /** WCF date = "/Date(137...)/" */
6
+ Created?: string;
7
+ /** Duration of play in seconds. */
8
+ Duration?: number;
9
+ /** Asset ID */
10
+ Id: string | null;
11
+ /** Details of play schedule. */
12
+ Schedule?: Schedule;
13
+ /** Value object provided when created. NOTE: Only objects allowed. */
14
+ Value: T;
15
+ AssetData?: AssetDataBackendValue;
16
+ PushDataBindingConfig?: PushDataBindingConfig;
17
+ PullDataBindingConfig?: PullDataBindingConfig;
18
+ MultipleAssetData?: AssetDataBackendValue[];
19
+ MultiplePullDataBindingConfig?: PullDataBindingConfig[];
20
+ /** Optional Theme Id if set */
21
+ ThemeId?: string;
22
+ /** Optional, used when user is in the content approval flow */
23
+ NeedsApproval?: boolean;
24
+ }
25
+ export interface Asset<T> extends BaseAsset<T> {
26
+ /** Array of Ids of Display Groups this asset is currently deployed to */
27
+ VenueIds: string[];
28
+ /** Position within app's list of assets on a display group or in the library */
29
+ Order?: number;
30
+ /** Asset version in the Content Approval flow */
31
+ Version?: number;
32
+ /** readonly flag */
33
+ IsZoningWidget?: boolean;
34
+ /** Currently \@ Value.Name - subject to change. Display name of the asset. used in lists. */
35
+ /** Currently \@ Value.Zone - subject to change. Zoning widget asset slot type */
36
+ /** List of zoning assets on which the obj - a widget asset is placed */
37
+ ZoningAssetIds?: string[];
38
+ }
39
+ export interface DefaultAsset<T> extends BaseAsset<T> {
40
+ Level: DefaultAssetLevel;
41
+ LevelId?: string;
42
+ DeployedId?: string;
43
+ }
44
+ export interface AssetDataBackendValue {
45
+ AssetId?: string;
46
+ Data: DataCollectionBackend;
47
+ TriggerColumnId: string;
48
+ DataBoundSchedule: DataBoundScheduleBackend;
49
+ Id?: string;
50
+ }
51
+ export interface DataCollectionBackend {
52
+ Columns: Array<{
53
+ Id: string;
54
+ Name: string;
55
+ Type: DataType;
56
+ Order?: 'asc' | 'desc' | undefined;
57
+ }>;
58
+ Rows: Array<{
59
+ Items: DataItems;
60
+ }>;
61
+ }
62
+ export interface DataBoundScheduleBackend {
63
+ /** .NET TimeSpan */
64
+ Start: string;
65
+ /** .NET TimeSpan */
66
+ EndAfter: string;
67
+ Yearly: boolean;
68
+ }
69
+ export declare type DataType = 'date' | 'text' | 'image' | 'percentage';
70
+ export interface DataItems {
71
+ [columnId: string]: DataItem;
72
+ }
73
+ export declare type DataItem = Date | DataImage | string;
74
+ /** @internal */
75
+ export declare class DataImage {
76
+ url: string;
77
+ thumbnail?: string;
78
+ constructor(url: string, thumbnail?: string);
79
+ }
80
+ export interface JsonMapping {
81
+ Name: string;
82
+ Value: string;
83
+ Type?: string;
84
+ }
85
+ export interface PushDataBindingConfig {
86
+ WebhookToken: string;
87
+ DataPath: string;
88
+ JsonMappings: JsonMapping[];
89
+ Url: string;
90
+ HasError: boolean;
91
+ }
92
+ export interface PullDataBindingConfig {
93
+ Profile?: string;
94
+ Url: string;
95
+ Filter?: string;
96
+ Start?: number;
97
+ Limit?: number;
98
+ DataPath: string;
99
+ QueryParameters: ApiQueryParameter[];
100
+ Headers: ApiQueryParameter[];
101
+ ApiFrequency: string;
102
+ JsonMappings: JsonMapping[];
103
+ HasError: boolean;
104
+ Id?: string;
105
+ AssetId?: string;
106
+ AssetDataId?: string;
107
+ SharepointConfig?: SharepointConfig;
108
+ }
109
+ export interface Schedule {
110
+ /** "2019-03-27T00:00:00" */
111
+ ActivationDate?: string;
112
+ /** Limit days */
113
+ ActiveDays: string[];
114
+ /** WCF date */
115
+ Created: string;
116
+ DeleteWhenExpired: boolean;
117
+ ExpirationCount: number;
118
+ /** "2019-03-27T00:00:00" */
119
+ ExpirationDate: string;
120
+ /** Schedule ID */
121
+ Id: string;
122
+ IsDeleted: boolean;
123
+ IsPriority: boolean;
124
+ /** WCF date */
125
+ LastSaved: string;
126
+ PlayTimes: TimeRange[];
127
+ Recurrence: number;
128
+ }
129
+ export interface TimeRange {
130
+ /** "09:00:00" */
131
+ StartTime: string;
132
+ /** "22:59:00" */
133
+ EndTime: string;
134
+ }
135
+ export interface ThemeAsset<T> {
136
+ Id: string | null;
137
+ IsDefault: boolean;
138
+ Name: string;
139
+ Value: T;
140
+ }
141
+ export interface ThemeBackground {
142
+ backgroundAlpha: number;
143
+ backgroundAlpha2: number;
144
+ backgroundColor: string;
145
+ backgroundColor2: string;
146
+ backgroundImage: string;
147
+ backgroundImageLabel: string;
148
+ backgroundTypes: [boolean, boolean];
149
+ gradient: 'Solid' | 'Vertical Gradient' | 'Horizontal Gradient' | 'Radial Gradient';
150
+ }
151
+ export interface ThemeDefinition {
152
+ name: string;
153
+ sections: ThemeSection[];
154
+ }
155
+ export interface ThemeSection {
156
+ label: string;
157
+ name: string;
158
+ properties: ThemeSectionProperties[];
159
+ }
160
+ export interface ThemeSectionProperties {
161
+ label: string;
162
+ type: ThemePropertyType;
163
+ name: string;
164
+ }
165
+ export declare type ThemePropertyType = 'color' | 'font' | 'backgroundSelector' | 'backgroundColor';
166
+ export declare type Orientation = 'landscape' | 'portrait';
167
+ export declare type WidgetType = 'main' | 'banner' | 'ticker';
168
+ export interface Layout {
169
+ orientation: Orientation;
170
+ widgetType?: WidgetType;
171
+ zones?: number;
172
+ position?: number;
173
+ flip?: boolean;
174
+ }
175
+ export interface FeedData<T> {
176
+ socialItems?: any[];
177
+ socialFeeds?: any[];
178
+ trigger: T;
179
+ }
180
+ export interface Button {
181
+ id?: string;
182
+ text: string;
183
+ class: string;
184
+ action: () => void;
185
+ disabled?: boolean;
186
+ icon?: string;
187
+ }
188
+ export interface OpenConfirmOptions {
189
+ title: string;
190
+ text: string;
191
+ cancelText?: string;
192
+ confirmText?: string;
193
+ confirmClass?: string;
194
+ }
195
+ export interface FilepickerOptions {
196
+ accept?: string | string[];
197
+ fromSources?: string[];
198
+ maxFiles?: number;
199
+ multiple?: boolean;
200
+ folders?: boolean;
201
+ openTo?: string;
202
+ webcamDim?: [width, height];
203
+ customSourceContainer?: string;
204
+ customSourcePath?: string;
205
+ lang?: string;
206
+ debug?: boolean;
207
+ policy?: any;
208
+ signature?: any;
209
+ backgroundUpload?: boolean;
210
+ hide?: boolean;
211
+ customCss?: string;
212
+ customText?: string;
213
+ imageQuality?: number;
214
+ imageDim?: [width, height];
215
+ imageMax?: [width, height];
216
+ imageMin?: [width, height];
217
+ conversions?: FilepickerConversion[];
218
+ cropRatio?: number;
219
+ cropDim?: [width, height];
220
+ cropMax?: [width, height];
221
+ cropMin?: [width, height];
222
+ cropForce?: boolean;
223
+ storeTo?: FilepickerStoreToOptions;
224
+ transformations?: {
225
+ crop?: {
226
+ aspectRatio?: number;
227
+ force?: boolean;
228
+ };
229
+ };
230
+ uploadSource?: string;
231
+ }
232
+ export interface FilepickerUploadedFile {
233
+ url: string;
234
+ filename: string;
235
+ mimetype: string;
236
+ size?: number;
237
+ width?: number;
238
+ height?: number;
239
+ thumbnail?: string;
240
+ }
241
+ export interface FilepickerStoreToOptions {
242
+ location?: 's3';
243
+ path?: string;
244
+ container?: string;
245
+ region?: string;
246
+ access?: 'public' | 'private';
247
+ }
248
+ export interface UploaderOptions extends FilepickerOptions {
249
+ accountId?: string;
250
+ acceptedFileTypes?: string[];
251
+ isMultipleSelection?: boolean;
252
+ minimumImageDimensions?: [width, height];
253
+ uploadSourceAppId?: string;
254
+ createAssets?: boolean;
255
+ showMyLibrary?: boolean;
256
+ /** forceCrop should be used together with isMultipleSelection = false */
257
+ forceCrop?: boolean;
258
+ cropForceAspectRatio?: number;
259
+ cropMaximumImageWidth?: number;
260
+ zoningConfig?: ZoningConfig;
261
+ }
262
+ export interface UploadedFileResult extends FilepickerUploadedFile {
263
+ assetId?: string;
264
+ }
265
+ export interface EncodingStatusResult {
266
+ State: 'Error' | 'Uploading' | 'Uploaded' | 'Processing' | 'Converted' | 'Encoded' | 'Ready';
267
+ Confirmed: boolean;
268
+ Filename: string;
269
+ ProgressPct: number;
270
+ Size: number;
271
+ Resources: EncodedResourceResult[];
272
+ }
273
+ export interface EncodedResourceResult {
274
+ AssetId?: string;
275
+ Name: string;
276
+ Width: number;
277
+ Height: number;
278
+ Thumbnail: string;
279
+ Url: string;
280
+ }
281
+ export interface FontsApiItem {
282
+ Name: string;
283
+ FontFamily: string;
284
+ Category: string;
285
+ Css: string;
286
+ }
287
+ export declare type width = number;
288
+ export declare type height = number;
289
+ export declare type FilepickerConversion = 'crop' | 'rotate' | 'filter';
290
+ export interface EnplugUser {
291
+ /** User id in the system */
292
+ id: string;
293
+ /** Current user's account ID */
294
+ accountId: string;
295
+ /** User access type */
296
+ type: string;
297
+ data: {
298
+ email: string;
299
+ firstName: string;
300
+ lastName: string;
301
+ accountName: string;
302
+ locale: string;
303
+ accountStatus: string;
304
+ };
305
+ has: {
306
+ rootAccess: boolean;
307
+ limitedAccess: boolean;
308
+ };
309
+ }
310
+ export interface DeployDialogOptions {
311
+ /** Whether to show the schedule tab in the dialog. */
312
+ showSchedule?: boolean;
313
+ /** Schedule tab options. Relevant if `showSchedule` is true. */
314
+ scheduleOptions?: {
315
+ /**
316
+ * option to show duration slider when showDuration is set to true
317
+ * allow user to choose the duration of each asset shown on player
318
+ */
319
+ showDuration?: boolean;
320
+ showLimitDays?: boolean;
321
+ showLimitTime?: boolean;
322
+ showScheduleForLater?: boolean;
323
+ /** allow user to choose the schedule repeat options */
324
+ showRepeat?: boolean;
325
+ /** allow user to edit Priority Play flag */
326
+ showPriorityPlay?: boolean;
327
+ /** Graphics app only this one */
328
+ setDefaultDurationForNewImages?: boolean;
329
+ };
330
+ /**
331
+ * Whether only one app-asset can be deployed to a Display Group
332
+ * When `true` disables Display Groups with assets from the current app deployed
333
+ */
334
+ singleton?: boolean;
335
+ isNew?: boolean;
336
+ /** by default, other option is 'schedule' */
337
+ initialTab?: string;
338
+ /** Message to show when the save is successful */
339
+ successMessage?: string;
340
+ /** Message to show while the save call is in progress */
341
+ loadingMessage?: string;
342
+ /**
343
+ * To force showing the DeployDialog when updating existing asset.
344
+ * It will be always shown when saving a new asset irrespective of this option
345
+ */
346
+ showDeployDialog?: boolean;
347
+ /** content approval */
348
+ noDialog?: boolean;
349
+ /** asset.Value props to validate */
350
+ requiredAssetProps?: string[];
351
+ /** allow user to edit assets' tags */
352
+ showTagsEditor?: boolean;
353
+ /** Graphics and Arts app only this one - list of assets to traverse with &lt; &gt; buttons */
354
+ assetsToNavigate?: Array<Asset<any>>;
355
+ /** Graphics and Arts app only use this one */
356
+ canNavigate?: boolean;
357
+ /** Graphics and Arts app only use this one */
358
+ showDetails?: boolean;
359
+ /** The type of presented asset */
360
+ detailsType?: 'graphic' | 'art';
361
+ /** Graphics and Arts app only use this one */
362
+ showReporting?: boolean;
363
+ }
364
+ export interface FacebookAuthParams {
365
+ FeedId: string;
366
+ AdminAccessToken: string;
367
+ PageId: string;
368
+ }
369
+ export interface TwitterSubscriptionStatusResponse {
370
+ UsedFollows: string[];
371
+ UsedTracks: string[];
372
+ AllowedFollows: 0;
373
+ AllowedTracks: 0;
374
+ }
375
+ export interface SocialItemMedia {
376
+ Source: string;
377
+ Type: string;
378
+ }
379
+ export interface SocialItemUser {
380
+ Avatar: string;
381
+ Link: string;
382
+ Name: string;
383
+ }
384
+ export interface SocialItem {
385
+ Created: Date;
386
+ FlaggedWords: any[];
387
+ Id: string;
388
+ IsFavorited: boolean;
389
+ Link: string;
390
+ Media: SocialItemMedia;
391
+ SocialItemId: string;
392
+ SocialNetwork: string;
393
+ Text: string;
394
+ User: EnplugUser;
395
+ }
396
+ export interface SocialItemsResponse {
397
+ __type: string;
398
+ LiveItems: SocialItem[];
399
+ PendingItems: SocialItem[];
400
+ SocialNetworks: string[];
401
+ }
402
+ export interface PreapprovalDialogOptions {
403
+ showVideoEnabled?: boolean;
404
+ showImagesEnabled?: boolean;
405
+ showConnectedUserNeedsApproval?: boolean;
406
+ }
407
+ export interface EnplugAccount {
408
+ accountId: string;
409
+ env: Environment;
410
+ id: string;
411
+ showHelpdeskContent: boolean;
412
+ type: string;
413
+ useInAppMessaging: boolean;
414
+ }
415
+ export interface FontDefinition {
416
+ name: string;
417
+ value: string;
418
+ }
419
+ export declare type Environment = 'staging' | 'dev' | 'production';
420
+ export declare type ConnectionType = 'push' | 'pull';
421
+ export interface BindingConfig {
422
+ dataPath: string;
423
+ bindingPairs: BindingPair[];
424
+ sampleData?: any;
425
+ }
426
+ export interface BindingPair {
427
+ column: string;
428
+ value: string;
429
+ type: BindingDataType;
430
+ }
431
+ export declare type BindingDataType = 'image' | 'date' | 'text' | 'percentage';
432
+ export interface PushConnectionConfig {
433
+ webURL: string;
434
+ filter?: string;
435
+ start?: number;
436
+ limit?: number;
437
+ webhookToken: string;
438
+ hasError: boolean;
439
+ profile?: string;
440
+ id?: string;
441
+ }
442
+ export interface PullConnectionConfig {
443
+ profile?: string;
444
+ webURL: string;
445
+ filter?: string;
446
+ start?: number;
447
+ limit?: number;
448
+ params: ConnectionQueryParams[];
449
+ headers: ConnectionHttpHeaders[];
450
+ refreshFrequency: RefreshFrequency;
451
+ hasError: boolean;
452
+ id?: string;
453
+ assetId?: string;
454
+ assetDataId?: string;
455
+ }
456
+ export interface ConnectionParams {
457
+ name: string;
458
+ value: string;
459
+ encrypt: boolean;
460
+ isCustomProperty: boolean;
461
+ testValue: string;
462
+ }
463
+ export interface ConnectionQueryParams extends ConnectionParams {
464
+ }
465
+ export interface ConnectionHttpHeaders extends ConnectionParams {
466
+ }
467
+ export declare type RefreshFrequency = 1 | 5 | 10 | 30;
468
+ export interface ApiDataItem {
469
+ name: string;
470
+ type: BindingDataType;
471
+ }
472
+ export interface AccountCustomPropertiesResponse {
473
+ Name: string;
474
+ VenueIds: string[];
475
+ }
476
+ export interface CustomProperty {
477
+ Name: string;
478
+ Value: string;
479
+ }
480
+ export interface ApiDataConnectorOptions {
481
+ apiDataItems?: ApiDataItem[];
482
+ configuration?: DataConnectionConfig;
483
+ customProperties?: string[];
484
+ }
485
+ export interface SharepointConfig {
486
+ sharepointAuthData: {
487
+ authToken: string;
488
+ userEmail: String;
489
+ };
490
+ templateApiData: {
491
+ fileName: string;
492
+ refreshFrequency: string;
493
+ sheet: string;
494
+ siteUrl: string;
495
+ tenantId: string;
496
+ };
497
+ }
498
+ export interface DataConnectionConfig {
499
+ binding: BindingConfig;
500
+ connection: PushConnectionConfig | PullConnectionConfig;
501
+ type: ConnectionType;
502
+ sharepointConfig?: SharepointConfig;
503
+ }
504
+ export interface ApiQueryParameter {
505
+ Name?: string;
506
+ Value?: string;
507
+ IsEncrypted?: boolean;
508
+ IsCustomProperty?: boolean;
509
+ TestValue?: string;
510
+ }
511
+ /**
512
+ * Type used to pass the asset, theme and other configuration details to the preview modal.
513
+ *
514
+ * For usage, see [`enplug.dashboard.previewAsset()`](/docs/sdk-dashboard/classes/Dashboard#previewasset).
515
+ *
516
+ * @param TAssetValue - Model of asset's value
517
+ * @param TThemeValue - Model of theme's value (optional)
518
+ * @param TFeedType - Model of the feed (used for social apps)
519
+ */
520
+ export interface AssetPreviewRequest<TAssetValue, TThemeValue, TFeedType> {
521
+ /** Asset which is to be displayed in the preview modal */
522
+ asset: Asset<TAssetValue>;
523
+ /**
524
+ * Theme applied to the asset.
525
+ *
526
+ * If your app uses themes, pass the theme here. It will be passed to the app,
527
+ * when it calls [`enplug.assets.getTheme()`](/docs/sdk-player/classes/Assets#gettheme).
528
+ */
529
+ theme?: ThemeAsset<TThemeValue>;
530
+ /**
531
+ * Feed data - used for social apps.
532
+ */
533
+ feedData?: FeedData<TFeedType>;
534
+ /**
535
+ * Customize the preview layout by, for example, providing the initial orientation of the preview.
536
+ */
537
+ layout?: Layout;
538
+ /**
539
+ * @internal
540
+ *
541
+ * Zoning preview options.
542
+ *
543
+ * This setting is incompatible with `layout`. Pass either `layout` for regular asset preview
544
+ * or `zoningConfig` for zoning widget asset preview
545
+ */
546
+ zoningConfig?: ZoningConfig;
547
+ /**
548
+ * Limits the maximal pixel size of the preview.
549
+ */
550
+ sizingConfig?: SizingConfig;
551
+ }
552
+ export interface SizingConfig {
553
+ width: number;
554
+ height: number;
555
+ }
556
+ export interface ZoningConfig {
557
+ zoning: 'banner' | 'ticker';
558
+ ratioWidth: number;
559
+ ratioHeight: number;
560
+ width: number;
561
+ height: number;
562
+ tickerSpeed?: number;
563
+ orientation: Orientation;
564
+ }
565
+ export interface ZoningAppsResponse {
566
+ BannerApps: ZoningApp[];
567
+ TickerApps: ZoningApp[];
568
+ }
569
+ export interface ZoningApp {
570
+ AppId: string;
571
+ ConfigureUrl: string;
572
+ Name: string;
573
+ }
574
+ export declare type AssetPreviewType = 'graphics' | 'video' | 'url' | 'app';
575
+ export interface AssetPreviewApp {
576
+ AppId: string;
577
+ AppUrl: string;
578
+ Name: string;
579
+ }
580
+ export interface AssetPreviewData {
581
+ app: AssetPreviewApp;
582
+ previewType: AssetPreviewType;
583
+ previewUrl: string;
584
+ theme: any;
585
+ feedData: any;
586
+ locale: string;
587
+ }
588
+ export interface AccountInfoResponse {
589
+ AccountInfo?: AccountInfo;
590
+ NetworkInfo?: NetworkBasicInfo;
591
+ Subscription?: SubscriptionInfo;
592
+ SalesReps?: UserBasicInfo[];
593
+ FeatureFlags?: FeatureFlag[];
594
+ PlanType?: PlanType;
595
+ NumberOfUsedLicenses?: number;
596
+ MaxNumberOfLicenses?: number;
597
+ DisplayGroupCount?: number;
598
+ LogicVariant?: DashboardLogicVariant;
599
+ }
600
+ export interface AccountInfo extends DataItemInfo {
601
+ Created?: string | Date;
602
+ State?: AccountState;
603
+ AccountType?: AccountType;
604
+ IsDeveloper?: boolean;
605
+ IsEnterprise?: boolean;
606
+ AppPackageId?: string;
607
+ NetworkId?: string;
608
+ ExcludeWidgetIds?: string[];
609
+ }
610
+ export interface DataItemInfo {
611
+ Id: string;
612
+ Name: string;
613
+ }
614
+ export declare type AccountState = 'Active' | 'GracePeriod' | 'Suspended' | 'Trial';
615
+ export declare type AccountType = 'Network' | 'Venue';
616
+ export interface NetworkBasicInfo {
617
+ Id?: string;
618
+ Name?: string;
619
+ NetworkType?: NetworkType;
620
+ }
621
+ export declare type NetworkType = 'Default' | 'Kone' | 'Master' | 'Reseller';
622
+ export interface SubscriptionInfo {
623
+ NextBillingDate?: string;
624
+ TrialStartDate?: string;
625
+ TrialEndDate?: string;
626
+ Id?: string;
627
+ PlanCode?: string;
628
+ PlanName?: string;
629
+ CollectionMethod?: CollectionMethod;
630
+ NetTerms?: number;
631
+ PricePerLicense?: number;
632
+ PlanAmount?: number;
633
+ PlanAmountBeforeDiscounts?: number;
634
+ NumberOfLicenses?: number;
635
+ BillingPeriod?: BillingPeriod;
636
+ IsMonthly?: boolean;
637
+ IsAnnual?: boolean;
638
+ }
639
+ export declare type CollectionMethod = 'Automatic' | 'Manual' | 'None';
640
+ export declare type BillingPeriod = 'Annual' | 'Biannual' | 'Biennial' | 'Monthly' | 'Triennial' | 'Unknown';
641
+ export interface UserBasicInfo {
642
+ Id?: string;
643
+ FirstName?: string;
644
+ LastName?: string;
645
+ Email?: string;
646
+ }
647
+ export interface FeatureFlag {
648
+ Level?: ItemLevel;
649
+ LevelId?: string;
650
+ Name?: string;
651
+ Value?: string;
652
+ Id?: string;
653
+ Created?: string;
654
+ LastSaved?: string;
655
+ IsDeleted?: boolean;
656
+ DeletingActionId?: string;
657
+ }
658
+ export declare type ItemLevel = 'Account' | 'Default' | 'Network';
659
+ export declare type PlanType = 'Custom' | 'Enplug' | 'FixedPricePerLicense' | 'Free' | 'None';
660
+ export declare type DashboardLogicVariant = null | 'kone' | 'arts';