stormcloud-video-player 0.7.37 → 0.7.39
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/dist/stormcloud-vp.min.js +1 -1
- package/lib/index.cjs +164 -34
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.cts +17 -2
- package/lib/index.d.ts +17 -2
- package/lib/index.js +154 -36
- package/lib/index.js.map +1 -1
- package/lib/player/StormcloudVideoPlayer.cjs +40 -0
- package/lib/player/StormcloudVideoPlayer.cjs.map +1 -1
- package/lib/player/StormcloudVideoPlayer.d.cts +4 -0
- package/lib/players/HlsPlayer.cjs +40 -0
- package/lib/players/HlsPlayer.cjs.map +1 -1
- package/lib/players/index.cjs +40 -0
- package/lib/players/index.cjs.map +1 -1
- package/lib/ui/OverlayRenderer.cjs +4 -6
- package/lib/ui/OverlayRenderer.cjs.map +1 -1
- package/lib/ui/StormcloudVideoPlayer.cjs +152 -34
- package/lib/ui/StormcloudVideoPlayer.cjs.map +1 -1
- package/lib/ui/StormcloudVideoPlayer.d.cts +5 -0
- package/lib/utils/overlays.cjs +87 -7
- package/lib/utils/overlays.cjs.map +1 -1
- package/lib/utils/overlays.d.cts +8 -2
- package/package.json +1 -1
|
@@ -9,6 +9,11 @@ type StormcloudVideoPlayerProps = Omit<StormcloudVideoPlayerConfig, "videoElemen
|
|
|
9
9
|
licenseKey?: string;
|
|
10
10
|
swirlProjectId?: number;
|
|
11
11
|
swirlShowcaseDemo?: boolean;
|
|
12
|
+
swirlOverlayApiBaseUrl?: string;
|
|
13
|
+
swirlOverlayCoordinateSpace?: {
|
|
14
|
+
width: number;
|
|
15
|
+
height: number;
|
|
16
|
+
} | null;
|
|
12
17
|
adcisionChannelId?: number;
|
|
13
18
|
disableOverlays?: boolean;
|
|
14
19
|
showAdsControl?: boolean;
|
package/lib/utils/overlays.cjs
CHANGED
|
@@ -28,6 +28,34 @@ function _async_to_generator(fn) {
|
|
|
28
28
|
});
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
|
+
function _define_property(obj, key, value) {
|
|
32
|
+
if (key in obj) {
|
|
33
|
+
Object.defineProperty(obj, key, {
|
|
34
|
+
value: value,
|
|
35
|
+
enumerable: true,
|
|
36
|
+
configurable: true,
|
|
37
|
+
writable: true
|
|
38
|
+
});
|
|
39
|
+
} else {
|
|
40
|
+
obj[key] = value;
|
|
41
|
+
}
|
|
42
|
+
return obj;
|
|
43
|
+
}
|
|
44
|
+
function _object_spread(target) {
|
|
45
|
+
for(var i = 1; i < arguments.length; i++){
|
|
46
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
|
47
|
+
var ownKeys = Object.keys(source);
|
|
48
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
49
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
50
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
51
|
+
}));
|
|
52
|
+
}
|
|
53
|
+
ownKeys.forEach(function(key) {
|
|
54
|
+
_define_property(target, key, source[key]);
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
return target;
|
|
58
|
+
}
|
|
31
59
|
function _type_of(obj) {
|
|
32
60
|
"@swc/helpers - typeof";
|
|
33
61
|
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
@@ -180,6 +208,9 @@ var __toCommonJS = function __toCommonJS(mod) {
|
|
|
180
208
|
// src/utils/overlays.ts
|
|
181
209
|
var overlays_exports = {};
|
|
182
210
|
__export(overlays_exports, {
|
|
211
|
+
OVERLAY_API_BASE: function OVERLAY_API_BASE1() {
|
|
212
|
+
return OVERLAY_API_BASE;
|
|
213
|
+
},
|
|
183
214
|
createDemoStockTickerOverlay: function createDemoStockTickerOverlay1() {
|
|
184
215
|
return createDemoStockTickerOverlay;
|
|
185
216
|
},
|
|
@@ -189,9 +220,15 @@ __export(overlays_exports, {
|
|
|
189
220
|
isOverlayActive: function isOverlayActive1() {
|
|
190
221
|
return isOverlayActive;
|
|
191
222
|
},
|
|
223
|
+
normalizeSwirlOverlay: function normalizeSwirlOverlay1() {
|
|
224
|
+
return normalizeSwirlOverlay;
|
|
225
|
+
},
|
|
192
226
|
resolveImageUrl: function resolveImageUrl1() {
|
|
193
227
|
return resolveImageUrl;
|
|
194
228
|
},
|
|
229
|
+
scrollerLooksLikeMarketsStock: function scrollerLooksLikeMarketsStock1() {
|
|
230
|
+
return scrollerLooksLikeMarketsStock;
|
|
231
|
+
},
|
|
195
232
|
timeStringToSeconds: function timeStringToSeconds1() {
|
|
196
233
|
return timeStringToSeconds;
|
|
197
234
|
}
|
|
@@ -232,7 +269,15 @@ function isOverlayActive(overlay, currentTime) {
|
|
|
232
269
|
if (durationSec <= 0) return false;
|
|
233
270
|
return currentTime >= startSec && currentTime < startSec + durationSec;
|
|
234
271
|
}
|
|
235
|
-
function
|
|
272
|
+
function scrollerLooksLikeMarketsStock(o) {
|
|
273
|
+
var _ref, _ref1, _ref2, _ref3;
|
|
274
|
+
if (o.type !== "scroller") return false;
|
|
275
|
+
var cfg = o.scroller_config;
|
|
276
|
+
var blob = "".concat(o.name, " ").concat((_ref = cfg === null || cfg === void 0 ? void 0 : cfg.label) !== null && _ref !== void 0 ? _ref : "", " ").concat((_ref1 = cfg === null || cfg === void 0 ? void 0 : cfg.label_line2) !== null && _ref1 !== void 0 ? _ref1 : "", " ").concat((_ref2 = cfg === null || cfg === void 0 ? void 0 : cfg.custom_text) !== null && _ref2 !== void 0 ? _ref2 : "", " ").concat((_ref3 = cfg === null || cfg === void 0 ? void 0 : cfg.preset) !== null && _ref3 !== void 0 ? _ref3 : "");
|
|
277
|
+
return /\b(MARKETS?|NYSE|NASDAQ|DJIA|\bS&P\b|STOCK|AAPL|TSLA|NVDA|EQUITIES)\b/i.test(blob);
|
|
278
|
+
}
|
|
279
|
+
function createDemoStockTickerOverlay(projectId, opts) {
|
|
280
|
+
var stack = (opts === null || opts === void 0 ? void 0 : opts.stackAboveNews) === true;
|
|
236
281
|
return {
|
|
237
282
|
id: -9001,
|
|
238
283
|
project_id: projectId,
|
|
@@ -240,13 +285,13 @@ function createDemoStockTickerOverlay(projectId) {
|
|
|
240
285
|
type: "scroller",
|
|
241
286
|
visible: true,
|
|
242
287
|
x: 144,
|
|
243
|
-
y: 950,
|
|
288
|
+
y: stack ? 818 : 950,
|
|
244
289
|
width: 1632,
|
|
245
|
-
height: 97,
|
|
290
|
+
height: stack ? 78 : 97,
|
|
246
291
|
opacity: 100,
|
|
247
292
|
start_time: "00:00:00.000",
|
|
248
293
|
duration: "24:00:00.000",
|
|
249
|
-
z_index: 120,
|
|
294
|
+
z_index: stack ? 125 : 120,
|
|
250
295
|
scroller_config: {
|
|
251
296
|
use_custom_text: true,
|
|
252
297
|
custom_text: "AAPL +1.24% \u2022 MSFT +0.42% \u2022 GOOGL \u22120.11% \u2022 TSLA +2.31% \u2022 NVDA +1.87% \u2022 AMZN +0.65% \u2022 META +0.38% \u2022 DJIA +0.52% \u2022 S&P 500 +0.33% \u2022 NDAQ +0.41%",
|
|
@@ -268,17 +313,43 @@ function createDemoStockTickerOverlay(projectId) {
|
|
|
268
313
|
}
|
|
269
314
|
};
|
|
270
315
|
}
|
|
316
|
+
function normalizeScrollerConfig(raw) {
|
|
317
|
+
if (!raw || (typeof raw === "undefined" ? "undefined" : _type_of(raw)) !== "object") return void 0;
|
|
318
|
+
var r = raw;
|
|
319
|
+
var merged = _object_spread({}, raw);
|
|
320
|
+
if (merged.use_custom_text === void 0 && typeof r.useCustomText === "boolean") {
|
|
321
|
+
merged.use_custom_text = r.useCustomText;
|
|
322
|
+
}
|
|
323
|
+
if ((merged.custom_text === void 0 || merged.custom_text === "") && typeof r.customText === "string") {
|
|
324
|
+
merged.custom_text = r.customText;
|
|
325
|
+
}
|
|
326
|
+
if (!merged.rss_url && typeof r.rssUrl === "string") {
|
|
327
|
+
merged.rss_url = r.rssUrl;
|
|
328
|
+
}
|
|
329
|
+
return merged;
|
|
330
|
+
}
|
|
331
|
+
function normalizeSwirlOverlay(raw) {
|
|
332
|
+
var o = _object_spread({}, raw);
|
|
333
|
+
if (o.type === "scroller") {
|
|
334
|
+
var _raw_scroller_config;
|
|
335
|
+
var sc = (_raw_scroller_config = raw.scroller_config) !== null && _raw_scroller_config !== void 0 ? _raw_scroller_config : raw.scrollerConfig;
|
|
336
|
+
var normalized = normalizeScrollerConfig(sc);
|
|
337
|
+
if (normalized) o.scroller_config = normalized;
|
|
338
|
+
}
|
|
339
|
+
return o;
|
|
340
|
+
}
|
|
271
341
|
function fetchProjectOverlays(_0) {
|
|
272
342
|
return _async_to_generator(function(projectId) {
|
|
273
|
-
var apiBaseUrl, response, data;
|
|
343
|
+
var apiBaseUrl, base, response, data;
|
|
274
344
|
var _arguments = arguments;
|
|
275
345
|
return _ts_generator(this, function(_state) {
|
|
276
346
|
switch(_state.label){
|
|
277
347
|
case 0:
|
|
278
348
|
apiBaseUrl = _arguments.length > 1 && _arguments[1] !== void 0 ? _arguments[1] : OVERLAY_API_BASE;
|
|
349
|
+
base = apiBaseUrl.replace(/\/$/, "");
|
|
279
350
|
return [
|
|
280
351
|
4,
|
|
281
|
-
fetch("".concat(
|
|
352
|
+
fetch("".concat(base, "/adstorm/swirl/projects/").concat(projectId, "/overlays"))
|
|
282
353
|
];
|
|
283
354
|
case 1:
|
|
284
355
|
response = _state.sent();
|
|
@@ -291,9 +362,15 @@ function fetchProjectOverlays(_0) {
|
|
|
291
362
|
];
|
|
292
363
|
case 2:
|
|
293
364
|
data = _state.sent();
|
|
365
|
+
if (!Array.isArray(data)) return [
|
|
366
|
+
2,
|
|
367
|
+
[]
|
|
368
|
+
];
|
|
294
369
|
return [
|
|
295
370
|
2,
|
|
296
|
-
|
|
371
|
+
data.map(function(row) {
|
|
372
|
+
return normalizeSwirlOverlay(row);
|
|
373
|
+
})
|
|
297
374
|
];
|
|
298
375
|
}
|
|
299
376
|
});
|
|
@@ -317,10 +394,13 @@ function resolveImageUrl(imageUrl) {
|
|
|
317
394
|
}
|
|
318
395
|
// Annotate the CommonJS export names for ESM import in node:
|
|
319
396
|
0 && (module.exports = {
|
|
397
|
+
OVERLAY_API_BASE: OVERLAY_API_BASE,
|
|
320
398
|
createDemoStockTickerOverlay: createDemoStockTickerOverlay,
|
|
321
399
|
fetchProjectOverlays: fetchProjectOverlays,
|
|
322
400
|
isOverlayActive: isOverlayActive,
|
|
401
|
+
normalizeSwirlOverlay: normalizeSwirlOverlay,
|
|
323
402
|
resolveImageUrl: resolveImageUrl,
|
|
403
|
+
scrollerLooksLikeMarketsStock: scrollerLooksLikeMarketsStock,
|
|
324
404
|
timeStringToSeconds: timeStringToSeconds
|
|
325
405
|
});
|
|
326
406
|
//# sourceMappingURL=overlays.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/ubuntu24-new/Dev/stormcloud-vp/lib/utils/overlays.cjs"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["/home/ubuntu24-new/Dev/stormcloud-vp/lib/utils/overlays.cjs"],"names":["__defProp","defineProperty","Object","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACA,EAAIA,KAAAA,GAAmBC,OAAnBD,IAAYE,QAAOD,KAAAA,EAAc,KAAdA;AACvB,IAAIE,mBAAmBD,OAAOE,wBAAwB;AACtD,IAAIC,oBAAoBH,OAAOI,mBAAmB,WAAA;AAClD,IAAIC,CAAAA,CAAAA,OAAAA,MAAeL,CAAAA,GAAAA,GAAOM,SAAS,CAACC,cAAc;IAClD,kBAAA,EAAIC,WAAW,kBAACC,QAAQC;oCACtB,IAAK,IAAIC,QAAQD,IACfZ,UAAUW,QAAQE,MAAM;gCAAEC,KAAKF,GAAG,CAACC,KAAK;2BAAEE,YAAY;6BAAK;IAC/D,iBAAA;IACA,+BAAA,EAAIC,cAAc,qBAACC,IAAIC,MAAMC,QAAQC;2BACnC,IAAIF,QAAQ,CAAA,OAAOA,qCAAP,SAAOA,KAAG,MAAM,YAAY,OAAOA,SAAS,YAAY;aAC7D,kCAAA,2BAAA","sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/utils/overlays.ts\nvar overlays_exports = {};\n__export(overlays_exports, {\n OVERLAY_API_BASE: () => OVERLAY_API_BASE,\n createDemoStockTickerOverlay: () => createDemoStockTickerOverlay,\n fetchProjectOverlays: () => fetchProjectOverlays,\n isOverlayActive: () => isOverlayActive,\n normalizeSwirlOverlay: () => normalizeSwirlOverlay,\n resolveImageUrl: () => resolveImageUrl,\n scrollerLooksLikeMarketsStock: () => scrollerLooksLikeMarketsStock,\n timeStringToSeconds: () => timeStringToSeconds\n});\nmodule.exports = __toCommonJS(overlays_exports);\nvar OVERLAY_API_BASE = \"https://adstorm.co/api-adstorm-dev\";\nfunction timeStringToSeconds(timeStr) {\n if (!timeStr) return 0;\n const parts = timeStr.split(\":\");\n if (parts.length >= 3) {\n const hours = parseInt(parts[0] ?? \"0\", 10) || 0;\n const minutes = parseInt(parts[1] ?? \"0\", 10) || 0;\n const secStr = parts[2] ?? \"0\";\n const dotIdx = secStr.indexOf(\".\");\n const seconds = parseInt(dotIdx >= 0 ? secStr.substring(0, dotIdx) : secStr, 10) || 0;\n const msFrag = dotIdx >= 0 ? secStr.substring(dotIdx + 1) : \"\";\n const ms = msFrag ? parseInt(msFrag.padEnd(3, \"0\").substring(0, 3), 10) || 0 : 0;\n return hours * 3600 + minutes * 60 + seconds + ms / 1e3;\n }\n if (parts.length === 2) {\n const minutes = parseInt(parts[0] ?? \"0\", 10) || 0;\n const secStr = parts[1] ?? \"0\";\n const dotIdx = secStr.indexOf(\".\");\n const seconds = parseInt(dotIdx >= 0 ? secStr.substring(0, dotIdx) : secStr, 10) || 0;\n const msFrag = dotIdx >= 0 ? secStr.substring(dotIdx + 1) : \"\";\n const ms = msFrag ? parseInt(msFrag.padEnd(3, \"0\").substring(0, 3), 10) || 0 : 0;\n return minutes * 60 + seconds + ms / 1e3;\n }\n const num = parseFloat(timeStr);\n return isFinite(num) ? Math.max(0, num) : 0;\n}\nfunction isOverlayActive(overlay, currentTime) {\n if (!overlay.visible) return false;\n const startSec = timeStringToSeconds(overlay.start_time);\n const durationSec = timeStringToSeconds(overlay.duration);\n if (durationSec <= 0) return false;\n return currentTime >= startSec && currentTime < startSec + durationSec;\n}\nfunction scrollerLooksLikeMarketsStock(o) {\n if (o.type !== \"scroller\") return false;\n const cfg = o.scroller_config;\n const blob = `${o.name} ${cfg?.label ?? \"\"} ${cfg?.label_line2 ?? \"\"} ${cfg?.custom_text ?? \"\"} ${cfg?.preset ?? \"\"}`;\n return /\\b(MARKETS?|NYSE|NASDAQ|DJIA|\\bS&P\\b|STOCK|AAPL|TSLA|NVDA|EQUITIES)\\b/i.test(blob);\n}\nfunction createDemoStockTickerOverlay(projectId, opts) {\n const stack = opts?.stackAboveNews === true;\n return {\n id: -9001,\n project_id: projectId,\n name: \"Demo stock ticker\",\n type: \"scroller\",\n visible: true,\n x: 144,\n y: stack ? 818 : 950,\n width: 1632,\n height: stack ? 78 : 97,\n opacity: 100,\n start_time: \"00:00:00.000\",\n duration: \"24:00:00.000\",\n z_index: stack ? 125 : 120,\n scroller_config: {\n use_custom_text: true,\n custom_text: \"AAPL +1.24% \\u2022 MSFT +0.42% \\u2022 GOOGL \\u22120.11% \\u2022 TSLA +2.31% \\u2022 NVDA +1.87% \\u2022 AMZN +0.65% \\u2022 META +0.38% \\u2022 DJIA +0.52% \\u2022 S&P 500 +0.33% \\u2022 NDAQ +0.41%\",\n direction: \"left\",\n scroll_speed: 42,\n font_size: 15,\n font_weight: \"700\",\n text_color: \"#f8fafc\",\n background_color: \"#0f172a\",\n background_opacity: 92,\n border_radius: 4,\n label: \"MARKETS\",\n label_line2: \"LIVE\",\n label_color: \"#0ea5e9\",\n label_text_color: \"#ffffff\",\n accent_color: \"#38bdf8\",\n show_accent_line: true,\n separator_char: \"\\u2022\"\n }\n };\n}\nfunction normalizeScrollerConfig(raw) {\n if (!raw || typeof raw !== \"object\") return void 0;\n const r = raw;\n const merged = { ...raw };\n if (merged.use_custom_text === void 0 && typeof r.useCustomText === \"boolean\") {\n merged.use_custom_text = r.useCustomText;\n }\n if ((merged.custom_text === void 0 || merged.custom_text === \"\") && typeof r.customText === \"string\") {\n merged.custom_text = r.customText;\n }\n if (!merged.rss_url && typeof r.rssUrl === \"string\") {\n merged.rss_url = r.rssUrl;\n }\n return merged;\n}\nfunction normalizeSwirlOverlay(raw) {\n const o = { ...raw };\n if (o.type === \"scroller\") {\n const sc = raw.scroller_config ?? raw.scrollerConfig;\n const normalized = normalizeScrollerConfig(sc);\n if (normalized) o.scroller_config = normalized;\n }\n return o;\n}\nasync function fetchProjectOverlays(projectId, apiBaseUrl = OVERLAY_API_BASE) {\n const base = apiBaseUrl.replace(/\\/$/, \"\");\n const response = await fetch(\n `${base}/adstorm/swirl/projects/${projectId}/overlays`\n );\n if (!response.ok) {\n throw new Error(\n `Failed to fetch overlays: ${response.status} ${response.statusText}`\n );\n }\n const data = await response.json();\n if (!Array.isArray(data)) return [];\n return data.map(\n (row) => normalizeSwirlOverlay(row)\n );\n}\nfunction resolveImageUrl(imageUrl, apiBaseUrl = OVERLAY_API_BASE) {\n if (!imageUrl) return \"\";\n if (imageUrl.startsWith(\"http://\") || imageUrl.startsWith(\"https://\")) {\n return imageUrl;\n }\n if (imageUrl.startsWith(\"/\")) {\n try {\n const url = new URL(apiBaseUrl);\n return `${url.origin}${imageUrl}`;\n } catch {\n return imageUrl;\n }\n }\n return `${apiBaseUrl}/${imageUrl}`;\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n OVERLAY_API_BASE,\n createDemoStockTickerOverlay,\n fetchProjectOverlays,\n isOverlayActive,\n normalizeSwirlOverlay,\n resolveImageUrl,\n scrollerLooksLikeMarketsStock,\n timeStringToSeconds\n});\n"]}
|
package/lib/utils/overlays.d.cts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
declare const OVERLAY_API_BASE = "https://adstorm.co/api-adstorm-dev";
|
|
1
2
|
interface OverlayCoordinateSpace {
|
|
2
3
|
width: number;
|
|
3
4
|
height: number;
|
|
@@ -62,8 +63,13 @@ interface SwirlOverlay {
|
|
|
62
63
|
}
|
|
63
64
|
declare function timeStringToSeconds(timeStr: string): number;
|
|
64
65
|
declare function isOverlayActive(overlay: SwirlOverlay, currentTime: number): boolean;
|
|
65
|
-
declare function
|
|
66
|
+
declare function scrollerLooksLikeMarketsStock(o: SwirlOverlay): boolean;
|
|
67
|
+
type DemoStockTickerOptions = {
|
|
68
|
+
stackAboveNews?: boolean;
|
|
69
|
+
};
|
|
70
|
+
declare function createDemoStockTickerOverlay(projectId: number, opts?: DemoStockTickerOptions): SwirlOverlay;
|
|
71
|
+
declare function normalizeSwirlOverlay(raw: SwirlOverlay & Record<string, unknown>): SwirlOverlay;
|
|
66
72
|
declare function fetchProjectOverlays(projectId: number, apiBaseUrl?: string): Promise<SwirlOverlay[]>;
|
|
67
73
|
declare function resolveImageUrl(imageUrl: string, apiBaseUrl?: string): string;
|
|
68
74
|
|
|
69
|
-
export { type OverlayCoordinateSpace, type SwirlOverlay, type SwirlOverlayType, type SwirlScrollerConfig, createDemoStockTickerOverlay, fetchProjectOverlays, isOverlayActive, resolveImageUrl, timeStringToSeconds };
|
|
75
|
+
export { type DemoStockTickerOptions, OVERLAY_API_BASE, type OverlayCoordinateSpace, type SwirlOverlay, type SwirlOverlayType, type SwirlScrollerConfig, createDemoStockTickerOverlay, fetchProjectOverlays, isOverlayActive, normalizeSwirlOverlay, resolveImageUrl, scrollerLooksLikeMarketsStock, timeStringToSeconds };
|