@xibosignage/xibo-layout-renderer 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/LICENSE +165 -0
  2. package/README.md +2 -0
  3. package/dist/assets/logo-BLa_l1uk.png +0 -0
  4. package/dist/rollup.config.dev.d.ts +3 -0
  5. package/dist/rollup.config.prod.d.ts +3 -0
  6. package/dist/src/Modules/Generators/Generators.d.ts +30 -0
  7. package/dist/src/Modules/Generators/index.d.ts +1 -0
  8. package/dist/src/Modules/Layout/Layout.d.ts +12 -0
  9. package/dist/src/Modules/Layout/index.d.ts +1 -0
  10. package/dist/src/Modules/Media/AudioMedia.d.ts +5 -0
  11. package/dist/src/Modules/Media/Media.d.ts +9 -0
  12. package/dist/src/Modules/Media/VideoMedia.d.ts +4 -0
  13. package/dist/src/Modules/Media/index.d.ts +3 -0
  14. package/dist/src/Modules/Platform/Platform.d.ts +2 -0
  15. package/dist/src/Modules/Platform/index.d.ts +1 -0
  16. package/dist/src/Modules/Region/Region.d.ts +4 -0
  17. package/dist/src/Modules/Region/index.d.ts +1 -0
  18. package/dist/src/Modules/SplashScreen/SplashScreen.d.ts +11 -0
  19. package/dist/src/Modules/SplashScreen/index.d.ts +1 -0
  20. package/dist/src/Modules/Transitions/Transitions.d.ts +90 -0
  21. package/dist/src/Modules/Transitions/index.d.ts +1 -0
  22. package/dist/src/Types/Layout/Layout.types.d.ts +78 -0
  23. package/dist/src/Types/Layout/index.d.ts +1 -0
  24. package/dist/src/Types/Media/Media.types.d.ts +45 -0
  25. package/dist/src/Types/Media/index.d.ts +1 -0
  26. package/dist/src/Types/Region/Region.types.d.ts +49 -0
  27. package/dist/src/Types/Region/index.d.ts +1 -0
  28. package/dist/src/Types/XLR/XLR.types.d.ts +25 -0
  29. package/dist/src/Types/XLR/index.d.ts +1 -0
  30. package/dist/src/index.d.ts +2 -0
  31. package/dist/src/types.d.ts +4 -0
  32. package/dist/src/xibo-layout-renderer.d.ts +3 -0
  33. package/dist/styles.css +171 -0
  34. package/dist/xibo-layout-renderer.cjs.js +2634 -0
  35. package/dist/xibo-layout-renderer.cjs.js.map +1 -0
  36. package/dist/xibo-layout-renderer.d.ts +201 -0
  37. package/dist/xibo-layout-renderer.esm.js +2626 -0
  38. package/dist/xibo-layout-renderer.esm.js.map +1 -0
  39. package/dist/xibo-layout-renderer.js +2638 -0
  40. package/dist/xibo-layout-renderer.min.js +2 -0
  41. package/dist/xibo-layout-renderer.min.js.map +1 -0
  42. package/package.json +45 -0
@@ -0,0 +1,201 @@
1
+ import { Unsubscribe, Emitter, DefaultEvents } from 'nanoevents';
2
+
3
+ declare enum ELayoutType {
4
+ CURRENT = 0,
5
+ NEXT = 1
6
+ }
7
+ interface IXlr {
8
+ inputLayouts: InputLayoutType[];
9
+ config: OptionsType;
10
+ layouts: ILayout[];
11
+ currentLayoutIndex: number;
12
+ currentLayoutId: number | null;
13
+ currentLayout: ILayout | undefined;
14
+ nextLayout: ILayout | undefined;
15
+ bootstrap(): void;
16
+ init(): Promise<IXlr>;
17
+ playSchedules(xlr: IXlr): void;
18
+ prepareLayoutXlf(inputLayout: ILayout | undefined): Promise<ILayout>;
19
+ prepareLayouts(): Promise<IXlr>;
20
+ updateLayouts(inputLayouts: InputLayoutType[]): void;
21
+ updateLoop(inputLayouts: InputLayoutType[]): void;
22
+ }
23
+ declare const initialXlr: IXlr;
24
+
25
+ interface IMediaEvents {
26
+ start: (media: IMedia) => void;
27
+ end: (media: IMedia) => void;
28
+ }
29
+
30
+ interface IMedia {
31
+ checkIframeStatus: boolean;
32
+ run(): void;
33
+ divHeight: number;
34
+ type: string;
35
+ timeoutId: ReturnType<typeof setTimeout>;
36
+ divWidth: number;
37
+ tempSrc: string;
38
+ duration: number;
39
+ iframeName: string;
40
+ loadIframeOnRun: boolean;
41
+ xml: Element | null;
42
+ containerName: string;
43
+ ready: boolean;
44
+ loop: boolean;
45
+ options: OptionsType & {
46
+ [k: string]: any;
47
+ };
48
+ useDuration: boolean;
49
+ html: HTMLElement | null;
50
+ id: string;
51
+ mediaId: string;
52
+ iframe: HTMLIFrameElement | null;
53
+ render: string;
54
+ attachedAudio: boolean;
55
+ on<E extends keyof IMediaEvents>(event: E, callback: IMediaEvents[E]): Unsubscribe;
56
+ init(): void;
57
+ schemaVersion: string;
58
+ index: number;
59
+ mediaType: string;
60
+ finished: boolean;
61
+ uri: string;
62
+ url: string | null;
63
+ singlePlay: boolean;
64
+ stop(): Promise<void>;
65
+ idCounter: number;
66
+ region: IRegion;
67
+ fileId: string;
68
+ emitter: Emitter<IMediaEvents>;
69
+ }
70
+ declare const initialMedia: IMedia;
71
+
72
+ interface IRegionEvents {
73
+ start: (layout: IRegion) => void;
74
+ end: (layout: IRegion) => void;
75
+ }
76
+ interface IRegion {
77
+ layout: ILayout;
78
+ id: string;
79
+ regionId: string;
80
+ xml: null | Element;
81
+ mediaObjects: IMedia[];
82
+ mediaObjectsActions: String[];
83
+ currentMedia: number;
84
+ complete: boolean;
85
+ containerName: string;
86
+ ending: boolean;
87
+ ended: boolean;
88
+ oneMedia: boolean;
89
+ oldMedia: IMedia | undefined;
90
+ curMedia: IMedia | undefined;
91
+ nxtMedia: IMedia | undefined;
92
+ currentMediaIndex: number;
93
+ totalMediaObjects: number;
94
+ ready: boolean;
95
+ options: {
96
+ [k: string]: any;
97
+ };
98
+ sWidth: number;
99
+ sHeight: number;
100
+ offsetX: number;
101
+ offsetY: number;
102
+ zIndex: number;
103
+ index: number;
104
+ emitter?: Emitter<DefaultEvents>;
105
+ prepareRegion(): void;
106
+ playNextMedia(): void;
107
+ transitionNodes(oldMedia: IMedia | undefined, newMedia: IMedia | undefined): void;
108
+ finished(): void;
109
+ run(): void;
110
+ end(): void;
111
+ exitTransition(): void;
112
+ exitTransitionComplete(): void;
113
+ on<E extends keyof IRegionEvents>(event: E, callback: IRegionEvents[E]): Unsubscribe;
114
+ prepareMediaObjects(): void;
115
+ reset(): void;
116
+ }
117
+ declare const initialRegion: IRegion;
118
+
119
+ interface ILayoutEvents {
120
+ start: (layout: ILayout) => void;
121
+ end: (layout: ILayout) => void;
122
+ }
123
+
124
+ type InputLayoutType = {
125
+ layoutId: number | null;
126
+ path?: string;
127
+ };
128
+ type OptionsType = {
129
+ xlfUrl: string;
130
+ getResourceUrl: string;
131
+ layoutBackgroundDownloadUrl: string;
132
+ layoutPreviewUrl: string;
133
+ libraryDownloadUrl: string;
134
+ loaderUrl: string;
135
+ idCounter: number;
136
+ inPreview: boolean;
137
+ appHost?: string | null;
138
+ platform: 'CMS' | 'chromeOS';
139
+ config?: {
140
+ cmsUrl: string | null;
141
+ schemaVersion: number;
142
+ cmsKey: string | null;
143
+ hardwareKey: string | null;
144
+ };
145
+ };
146
+ interface ILayout {
147
+ id: number | null;
148
+ layoutId: number | null;
149
+ sw: number | null;
150
+ sh: number | null;
151
+ xw: number | null;
152
+ xh: number | null;
153
+ zIndex: number | null;
154
+ scaleFactor: number;
155
+ sWidth: number;
156
+ sHeight: number;
157
+ offsetX: number;
158
+ offsetY: number;
159
+ bgColor: string;
160
+ bgImage: string;
161
+ bgId: string;
162
+ containerName: string;
163
+ layoutNode: Document | null;
164
+ regionMaxZIndex: number;
165
+ ready: boolean;
166
+ regionObjects: IRegion[];
167
+ drawer: String[];
168
+ allExpired: boolean;
169
+ regions: IRegion[];
170
+ actions: String[];
171
+ options: OptionsType;
172
+ done: boolean;
173
+ allEnded: boolean;
174
+ path?: string;
175
+ prepareLayout(): void;
176
+ parseXlf(): void;
177
+ run(): void;
178
+ emitter: Emitter<ILayoutEvents>;
179
+ on<E extends keyof ILayoutEvents>(event: E, callback: ILayoutEvents[E]): Unsubscribe;
180
+ regionExpired(): void;
181
+ end(): void;
182
+ regionEnded(): void;
183
+ stopAllMedia(): Promise<void>;
184
+ resetLayout(): Promise<void>;
185
+ index: number;
186
+ }
187
+ declare const initialLayout: ILayout;
188
+ type GetLayoutParamType = {
189
+ xlr: IXlr;
190
+ moveNext?: boolean;
191
+ };
192
+ type GetLayoutType = {
193
+ currentLayoutIndex: number;
194
+ inputLayouts: InputLayoutType[];
195
+ current: ILayout | undefined;
196
+ next: ILayout | undefined;
197
+ };
198
+
199
+ declare function XiboLayoutRenderer(inputLayouts: InputLayoutType[], options?: OptionsType): IXlr;
200
+
201
+ export { ELayoutType, type GetLayoutParamType, type GetLayoutType, type ILayout, type IMedia, type IRegion, type IRegionEvents, type IXlr, type InputLayoutType, type OptionsType, XiboLayoutRenderer as default, initialLayout, initialMedia, initialRegion, initialXlr };