@inappstory/slide-api 0.1.13 → 0.1.14
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/index.cjs +109 -56
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +18 -18
- package/dist/index.d.ts +18 -18
- package/dist/index.js +109 -56
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1211,7 +1211,9 @@ class DataInput {
|
|
|
1211
1211
|
onStop() {
|
|
1212
1212
|
this._widgetApi.onStop(this._elementNodeRef);
|
|
1213
1213
|
}
|
|
1214
|
-
onBeforeUnmount() {
|
|
1214
|
+
onBeforeUnmount() {
|
|
1215
|
+
return Promise.resolve();
|
|
1216
|
+
}
|
|
1215
1217
|
handleClick() {
|
|
1216
1218
|
return false;
|
|
1217
1219
|
}
|
|
@@ -1259,7 +1261,9 @@ class Barcode {
|
|
|
1259
1261
|
onStop() {
|
|
1260
1262
|
this._widgetApi.onStop(this._elementNodeRef);
|
|
1261
1263
|
}
|
|
1262
|
-
onBeforeUnmount() {
|
|
1264
|
+
onBeforeUnmount() {
|
|
1265
|
+
return Promise.resolve();
|
|
1266
|
+
}
|
|
1263
1267
|
handleClick() {
|
|
1264
1268
|
return false;
|
|
1265
1269
|
}
|
|
@@ -1297,7 +1301,9 @@ class Button extends ClickableBase {
|
|
|
1297
1301
|
onResume() { }
|
|
1298
1302
|
onStart() { }
|
|
1299
1303
|
onStop() { }
|
|
1300
|
-
onBeforeUnmount() {
|
|
1304
|
+
onBeforeUnmount() {
|
|
1305
|
+
return Promise.resolve();
|
|
1306
|
+
}
|
|
1301
1307
|
handleClick() {
|
|
1302
1308
|
return false;
|
|
1303
1309
|
}
|
|
@@ -1342,7 +1348,9 @@ class Copy {
|
|
|
1342
1348
|
onStop() {
|
|
1343
1349
|
this._widgetApi.onStop(this._elementNodeRef);
|
|
1344
1350
|
}
|
|
1345
|
-
onBeforeUnmount() {
|
|
1351
|
+
onBeforeUnmount() {
|
|
1352
|
+
return Promise.resolve();
|
|
1353
|
+
}
|
|
1346
1354
|
handleClick() {
|
|
1347
1355
|
return false;
|
|
1348
1356
|
}
|
|
@@ -1393,7 +1401,9 @@ class DateCountdown {
|
|
|
1393
1401
|
onStop() {
|
|
1394
1402
|
this._widgetApi.onStop(this._elementNodeRef);
|
|
1395
1403
|
}
|
|
1396
|
-
onBeforeUnmount() {
|
|
1404
|
+
onBeforeUnmount() {
|
|
1405
|
+
return Promise.resolve();
|
|
1406
|
+
}
|
|
1397
1407
|
handleClick() {
|
|
1398
1408
|
return false;
|
|
1399
1409
|
}
|
|
@@ -1441,7 +1451,9 @@ class Poll {
|
|
|
1441
1451
|
onStop() {
|
|
1442
1452
|
this._widgetApi.onStop(this._elementNodeRef);
|
|
1443
1453
|
}
|
|
1444
|
-
onBeforeUnmount() {
|
|
1454
|
+
onBeforeUnmount() {
|
|
1455
|
+
return Promise.resolve();
|
|
1456
|
+
}
|
|
1445
1457
|
handleClick() {
|
|
1446
1458
|
return false;
|
|
1447
1459
|
}
|
|
@@ -1494,7 +1506,9 @@ class PollLayers {
|
|
|
1494
1506
|
onStop() {
|
|
1495
1507
|
this._widgetApi.onStop(this._elementNodeRef);
|
|
1496
1508
|
}
|
|
1497
|
-
onBeforeUnmount() {
|
|
1509
|
+
onBeforeUnmount() {
|
|
1510
|
+
return Promise.resolve();
|
|
1511
|
+
}
|
|
1498
1512
|
handleClick() {
|
|
1499
1513
|
return false;
|
|
1500
1514
|
}
|
|
@@ -1542,7 +1556,9 @@ class Products {
|
|
|
1542
1556
|
onStop() {
|
|
1543
1557
|
this._widgetApi.onStop(this._elementNodeRef);
|
|
1544
1558
|
}
|
|
1545
|
-
onBeforeUnmount() {
|
|
1559
|
+
onBeforeUnmount() {
|
|
1560
|
+
return Promise.resolve();
|
|
1561
|
+
}
|
|
1546
1562
|
handleClick() {
|
|
1547
1563
|
return false;
|
|
1548
1564
|
}
|
|
@@ -1593,7 +1609,9 @@ class Quest {
|
|
|
1593
1609
|
onStop() {
|
|
1594
1610
|
this._widgetApi.onStop(this._elementNodeRef);
|
|
1595
1611
|
}
|
|
1596
|
-
onBeforeUnmount() {
|
|
1612
|
+
onBeforeUnmount() {
|
|
1613
|
+
return Promise.resolve();
|
|
1614
|
+
}
|
|
1597
1615
|
handleClick() {
|
|
1598
1616
|
return false;
|
|
1599
1617
|
}
|
|
@@ -1645,7 +1663,9 @@ class Quiz {
|
|
|
1645
1663
|
onStop() {
|
|
1646
1664
|
this._widgetApi.onStop(this._elementNodeRef);
|
|
1647
1665
|
}
|
|
1648
|
-
onBeforeUnmount() {
|
|
1666
|
+
onBeforeUnmount() {
|
|
1667
|
+
return Promise.resolve();
|
|
1668
|
+
}
|
|
1649
1669
|
handleClick() {
|
|
1650
1670
|
return false;
|
|
1651
1671
|
}
|
|
@@ -1696,7 +1716,9 @@ class QuizGrouped {
|
|
|
1696
1716
|
onStop() {
|
|
1697
1717
|
this._widgetApi.onStop(this._elementNodeRef);
|
|
1698
1718
|
}
|
|
1699
|
-
onBeforeUnmount() {
|
|
1719
|
+
onBeforeUnmount() {
|
|
1720
|
+
return Promise.resolve();
|
|
1721
|
+
}
|
|
1700
1722
|
handleClick() {
|
|
1701
1723
|
return false;
|
|
1702
1724
|
}
|
|
@@ -1747,7 +1769,9 @@ class RangeSlider {
|
|
|
1747
1769
|
onStop() {
|
|
1748
1770
|
this._widgetApi.onStop(this._elementNodeRef);
|
|
1749
1771
|
}
|
|
1750
|
-
onBeforeUnmount() {
|
|
1772
|
+
onBeforeUnmount() {
|
|
1773
|
+
return Promise.resolve();
|
|
1774
|
+
}
|
|
1751
1775
|
get isClickCapturedBySlider() {
|
|
1752
1776
|
return this._widgetApi.isClickCapturedBySlider(this._elementNodeRef);
|
|
1753
1777
|
}
|
|
@@ -1798,7 +1822,9 @@ class Rate {
|
|
|
1798
1822
|
onStop() {
|
|
1799
1823
|
this._widgetApi.onStop(this._elementNodeRef);
|
|
1800
1824
|
}
|
|
1801
|
-
onBeforeUnmount() {
|
|
1825
|
+
onBeforeUnmount() {
|
|
1826
|
+
return Promise.resolve();
|
|
1827
|
+
}
|
|
1802
1828
|
handleClick() {
|
|
1803
1829
|
return false;
|
|
1804
1830
|
}
|
|
@@ -1852,7 +1878,9 @@ class Share {
|
|
|
1852
1878
|
onStop() {
|
|
1853
1879
|
this._widgetApi.onStop(this._elementNodeRef);
|
|
1854
1880
|
}
|
|
1855
|
-
onBeforeUnmount() {
|
|
1881
|
+
onBeforeUnmount() {
|
|
1882
|
+
return Promise.resolve();
|
|
1883
|
+
}
|
|
1856
1884
|
handleClick() {
|
|
1857
1885
|
return false;
|
|
1858
1886
|
}
|
|
@@ -1887,7 +1915,9 @@ class SwipeUpItems {
|
|
|
1887
1915
|
onResume() { }
|
|
1888
1916
|
onStart() { }
|
|
1889
1917
|
onStop() { }
|
|
1890
|
-
onBeforeUnmount() {
|
|
1918
|
+
onBeforeUnmount() {
|
|
1919
|
+
return Promise.resolve();
|
|
1920
|
+
}
|
|
1891
1921
|
handleClick() {
|
|
1892
1922
|
return false;
|
|
1893
1923
|
}
|
|
@@ -1938,7 +1968,9 @@ class Test {
|
|
|
1938
1968
|
onStop() {
|
|
1939
1969
|
this._widgetApi.onStop(this._elementNodeRef);
|
|
1940
1970
|
}
|
|
1941
|
-
onBeforeUnmount() {
|
|
1971
|
+
onBeforeUnmount() {
|
|
1972
|
+
return Promise.resolve();
|
|
1973
|
+
}
|
|
1942
1974
|
handleClick() {
|
|
1943
1975
|
return false;
|
|
1944
1976
|
}
|
|
@@ -1989,7 +2021,9 @@ class Vote {
|
|
|
1989
2021
|
onStop() {
|
|
1990
2022
|
this._widgetApi.onStop(this._elementNodeRef);
|
|
1991
2023
|
}
|
|
1992
|
-
onBeforeUnmount() {
|
|
2024
|
+
onBeforeUnmount() {
|
|
2025
|
+
return Promise.resolve();
|
|
2026
|
+
}
|
|
1993
2027
|
handleClick() {
|
|
1994
2028
|
return false;
|
|
1995
2029
|
}
|
|
@@ -2018,7 +2052,9 @@ class Text {
|
|
|
2018
2052
|
onResume() { }
|
|
2019
2053
|
onStart() { }
|
|
2020
2054
|
onStop() { }
|
|
2021
|
-
onBeforeUnmount() {
|
|
2055
|
+
onBeforeUnmount() {
|
|
2056
|
+
return Promise.resolve();
|
|
2057
|
+
}
|
|
2022
2058
|
handleClick() {
|
|
2023
2059
|
return false;
|
|
2024
2060
|
}
|
|
@@ -2139,7 +2175,9 @@ class Image extends ClickableBase {
|
|
|
2139
2175
|
onResume() { }
|
|
2140
2176
|
onStart() { }
|
|
2141
2177
|
onStop() { }
|
|
2142
|
-
onBeforeUnmount() {
|
|
2178
|
+
onBeforeUnmount() {
|
|
2179
|
+
return Promise.resolve();
|
|
2180
|
+
}
|
|
2143
2181
|
handleClick() {
|
|
2144
2182
|
return false;
|
|
2145
2183
|
}
|
|
@@ -2171,7 +2209,9 @@ class SwipeUp {
|
|
|
2171
2209
|
onResume() { }
|
|
2172
2210
|
onStart() { }
|
|
2173
2211
|
onStop() { }
|
|
2174
|
-
onBeforeUnmount() {
|
|
2212
|
+
onBeforeUnmount() {
|
|
2213
|
+
return Promise.resolve();
|
|
2214
|
+
}
|
|
2175
2215
|
handleClick() {
|
|
2176
2216
|
return false;
|
|
2177
2217
|
}
|
|
@@ -2270,12 +2310,12 @@ class Video {
|
|
|
2270
2310
|
}
|
|
2271
2311
|
onStart() { }
|
|
2272
2312
|
onStop() { }
|
|
2273
|
-
onBeforeUnmount() {
|
|
2313
|
+
async onBeforeUnmount() {
|
|
2274
2314
|
// clean up memory and cpu processes
|
|
2275
2315
|
// @ts-ignore
|
|
2276
2316
|
// _log("onBeforeUnmount", true)
|
|
2277
2317
|
// console.log("onBeforeUnmount")
|
|
2278
|
-
this._destroyVODPlayer();
|
|
2318
|
+
return await this._destroyVODPlayer();
|
|
2279
2319
|
}
|
|
2280
2320
|
_initVOD(vodData) {
|
|
2281
2321
|
const onWaiting = () => {
|
|
@@ -3398,10 +3438,8 @@ class Layer {
|
|
|
3398
3438
|
disableAudio() {
|
|
3399
3439
|
this.videoElement?.disableAudio();
|
|
3400
3440
|
}
|
|
3401
|
-
onBeforeUnmount() {
|
|
3402
|
-
|
|
3403
|
-
element.onBeforeUnmount();
|
|
3404
|
-
}
|
|
3441
|
+
async onBeforeUnmount() {
|
|
3442
|
+
return Promise.all(this._elements.map(element => element.onBeforeUnmount())).then();
|
|
3405
3443
|
}
|
|
3406
3444
|
get isLayerForcePaused() {
|
|
3407
3445
|
return this.elements.some(element => element.isLayerForcePaused);
|
|
@@ -3683,10 +3721,8 @@ class Slide {
|
|
|
3683
3721
|
}
|
|
3684
3722
|
});
|
|
3685
3723
|
}
|
|
3686
|
-
onBeforeUnmount() {
|
|
3687
|
-
|
|
3688
|
-
layer.onBeforeUnmount();
|
|
3689
|
-
}
|
|
3724
|
+
async onBeforeUnmount() {
|
|
3725
|
+
return Promise.all(this._layers.map(layer => layer.onBeforeUnmount())).then();
|
|
3690
3726
|
}
|
|
3691
3727
|
get layoutService() {
|
|
3692
3728
|
return container.get({ identifier: "LayoutService" });
|
|
@@ -3749,9 +3785,9 @@ let SlideApi$1 = class SlideApi {
|
|
|
3749
3785
|
});
|
|
3750
3786
|
}
|
|
3751
3787
|
}
|
|
3752
|
-
destroy() {
|
|
3788
|
+
async destroy() {
|
|
3753
3789
|
if (this.slide != null) {
|
|
3754
|
-
this.slide.onBeforeUnmount();
|
|
3790
|
+
await this.slide.onBeforeUnmount();
|
|
3755
3791
|
}
|
|
3756
3792
|
this.destroyListeners();
|
|
3757
3793
|
this._state = 13 /* STATE.DESTROYED */;
|
|
@@ -3846,7 +3882,7 @@ let SlideApi$1 = class SlideApi {
|
|
|
3846
3882
|
if (slideBox && slideBoxPrerender) {
|
|
3847
3883
|
if (this._slideInRender) {
|
|
3848
3884
|
this._slideInRender = false;
|
|
3849
|
-
this._slideBoxRenderComplete(null);
|
|
3885
|
+
await this._slideBoxRenderComplete(null);
|
|
3850
3886
|
}
|
|
3851
3887
|
this._slideInInit = null;
|
|
3852
3888
|
this._slideInRender = true;
|
|
@@ -4009,7 +4045,7 @@ let SlideApi$1 = class SlideApi {
|
|
|
4009
4045
|
this._state = 1 /* STATE.INITED */;
|
|
4010
4046
|
await mediaResourcesWithTimeoutPromise;
|
|
4011
4047
|
result.result = true;
|
|
4012
|
-
slideBoxCb();
|
|
4048
|
+
await slideBoxCb();
|
|
4013
4049
|
}
|
|
4014
4050
|
else {
|
|
4015
4051
|
this._state = 12 /* STATE.STOPPED */;
|
|
@@ -4021,7 +4057,7 @@ let SlideApi$1 = class SlideApi {
|
|
|
4021
4057
|
}
|
|
4022
4058
|
catch (reason) {
|
|
4023
4059
|
console.log("SlideInit, onAllMediaLoaded reject", reason);
|
|
4024
|
-
slideBoxCb();
|
|
4060
|
+
await slideBoxCb();
|
|
4025
4061
|
this.layoutService.env.setTimeout(() => {
|
|
4026
4062
|
slideReadyResolve();
|
|
4027
4063
|
});
|
|
@@ -4031,31 +4067,48 @@ let SlideApi$1 = class SlideApi {
|
|
|
4031
4067
|
return result;
|
|
4032
4068
|
}
|
|
4033
4069
|
_slideInRender = false;
|
|
4034
|
-
_slideBoxRenderComplete(prevSlide) {
|
|
4070
|
+
async _slideBoxRenderComplete(prevSlide) {
|
|
4035
4071
|
if (!this._slideInRender) {
|
|
4036
4072
|
this._slideInRender = true;
|
|
4037
4073
|
return;
|
|
4038
4074
|
}
|
|
4039
|
-
|
|
4040
|
-
|
|
4041
|
-
|
|
4042
|
-
slideBoxPrerender
|
|
4043
|
-
|
|
4044
|
-
|
|
4045
|
-
|
|
4046
|
-
|
|
4047
|
-
|
|
4048
|
-
|
|
4049
|
-
|
|
4050
|
-
|
|
4051
|
-
|
|
4052
|
-
|
|
4053
|
-
|
|
4054
|
-
|
|
4055
|
-
|
|
4056
|
-
|
|
4057
|
-
|
|
4058
|
-
|
|
4075
|
+
return new Promise(resolve => {
|
|
4076
|
+
const slideBox = this._slideWrapper.querySelector(`.${SlideApi.renderedBoxClassName}`);
|
|
4077
|
+
const slideBoxPrerender = this._slideWrapper.querySelector(`.${SlideApi.prerenderBoxClassName}`);
|
|
4078
|
+
if (slideBox && slideBoxPrerender) {
|
|
4079
|
+
slideBoxPrerender.classList.remove(SlideApi.prerenderBoxClassName);
|
|
4080
|
+
slideBox.classList.remove(SlideApi.renderedBoxClassName);
|
|
4081
|
+
slideBox.classList.add(SlideApi.prerenderBoxClassName);
|
|
4082
|
+
// pause Video - prevent triggering onDataWaiting from VODPlayer
|
|
4083
|
+
prevSlide?.activeLayer.pause(false, true, false);
|
|
4084
|
+
// 2 RAF - wait for browser render complete (CSS changes, etc.)
|
|
4085
|
+
if (prevSlide) {
|
|
4086
|
+
this.layoutService.env.requestAnimationFrame(() => {
|
|
4087
|
+
this.layoutService.env.requestAnimationFrame(() => {
|
|
4088
|
+
if (prevSlide) {
|
|
4089
|
+
prevSlide.onBeforeUnmount().then(_ => {
|
|
4090
|
+
// @ts-ignore
|
|
4091
|
+
// _log("clear innerHTML", true);
|
|
4092
|
+
slideBox.innerHTML = "";
|
|
4093
|
+
resolve();
|
|
4094
|
+
});
|
|
4095
|
+
}
|
|
4096
|
+
else {
|
|
4097
|
+
resolve();
|
|
4098
|
+
}
|
|
4099
|
+
});
|
|
4100
|
+
});
|
|
4101
|
+
}
|
|
4102
|
+
else {
|
|
4103
|
+
resolve();
|
|
4104
|
+
}
|
|
4105
|
+
slideBoxPrerender.classList.add(SlideApi.renderedBoxClassName);
|
|
4106
|
+
}
|
|
4107
|
+
else {
|
|
4108
|
+
resolve();
|
|
4109
|
+
}
|
|
4110
|
+
this._slideInRender = false;
|
|
4111
|
+
});
|
|
4059
4112
|
}
|
|
4060
4113
|
_slideConfig = {};
|
|
4061
4114
|
async slideStart(config) {
|