@inappstory/slide-api 0.0.30 → 0.1.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.
package/dist/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import { Player as VODPlayer } from "@inappstory/video-player";
2
+ import { Player as VideoPlayer } from "@inappstory/video-player";
1
3
  declare const enum CARD_TYPE {
2
4
  STORY = 1,
3
5
  UGC_STORY = 2,
@@ -593,7 +595,8 @@ declare class WidgetQuest extends WidgetBase<WidgetQuestOptions> {
593
595
  protected variants: Array<HTMLElement>;
594
596
  private readonly isWidget;
595
597
  private readonly slideCount;
596
- private readonly nonFinalSlide;
598
+ private readonly nonFinalSlide?;
599
+ private readonly navigationNextSlide?;
597
600
  private readonly slideDisabledNavigation;
598
601
  private readonly finalSlide;
599
602
  constructor(element: HTMLElement, options: Partial<WidgetQuestOptions>);
@@ -615,6 +618,8 @@ declare class WidgetQuest extends WidgetBase<WidgetQuestOptions> {
615
618
  private _addNewRouteHistory;
616
619
  private _routeMvPtrBack;
617
620
  private getLastSlideIndexFromRouteHistory;
621
+ // переделать в handleRouteTrigger
622
+ // не завязываться на click, сделать через коллбэк - default action
618
623
  private handleRouteClick;
619
624
  static api: {
620
625
  widgetClassName: string;
@@ -630,8 +635,9 @@ declare class WidgetQuest extends WidgetBase<WidgetQuestOptions> {
630
635
  direction: "backward" | "forward";
631
636
  slideIndex: number;
632
637
  slideCount: number;
633
- click: () => void;
634
- }) => void;
638
+ }) => {
639
+ continueDefaultNavigation: boolean;
640
+ };
635
641
  };
636
642
  }
637
643
  type WidgetQuizOptions = WidgetOptionsBase;
@@ -832,6 +838,70 @@ declare class WidgetTest extends WidgetBase<WidgetTestOptions> {
832
838
  slideTestWithTimer: (element: HTMLElement) => boolean;
833
839
  };
834
840
  }
841
+ interface ILayoutApi {
842
+ get widgetCopyApi(): typeof WidgetCopy.api | undefined;
843
+ get widgetBarcodeApi(): typeof WidgetBarcode.api | undefined;
844
+ get widgetDataInputApi(): typeof WidgetDataInput.api | undefined;
845
+ get widgetDateCountdownApi(): typeof WidgetDateCountdown.api | undefined;
846
+ get widgetMultiSlideApi(): typeof WidgetMultiSlide.api | undefined;
847
+ get widgetPollApi(): typeof WidgetPoll.api | undefined;
848
+ get widgetPollLayersApi(): typeof WidgetPollLayers.api | undefined;
849
+ get widgetQuestApi(): typeof WidgetQuest.api | undefined;
850
+ get widgetQuizApi(): typeof WidgetQuiz.api | undefined;
851
+ get widgetQuizGroupedApi(): typeof WidgetQuizGrouped.api | undefined;
852
+ get widgetRangeSliderApi(): typeof WidgetRangeSlider.api | undefined;
853
+ get widgetRateApi(): typeof WidgetRate.api | undefined;
854
+ get widgetShareApi(): typeof WidgetShare.api | undefined;
855
+ get widgetTestApi(): typeof WidgetTest.api | undefined;
856
+ get widgetVoteApi(): typeof WidgetVote.api | undefined;
857
+ get widgetProductsApi(): typeof WidgetProducts.api | undefined;
858
+ get VideoPlayer(): typeof VODPlayer | undefined;
859
+ }
860
+ declare class LayoutService {
861
+ private _env;
862
+ private _sdkApi;
863
+ private _layoutApi;
864
+ constructor(_env: Window, _sdkApi: SDKApi, _layoutApi: ILayoutApi);
865
+ get env(): Window;
866
+ get sdkApi(): SDKApi;
867
+ get layoutApi(): ILayoutApi;
868
+ }
869
+ declare class SlideTimeline {
870
+ private readonly slideIndex;
871
+ private readonly slideDuration;
872
+ private readonly slideDisabledTimer;
873
+ private readonly slideReady;
874
+ private readonly _afterResumeQueuePush;
875
+ constructor(slideIndex: number, slideDuration: number, slideDisabledTimer: boolean, slideReady: Promise<void>, _afterResumeQueuePush: (cb: () => void) => void);
876
+ private resumedAt;
877
+ private timeSpent;
878
+ private timelineDisabledState;
879
+ private currentState;
880
+ static get layoutService(): LayoutService;
881
+ private get layoutService();
882
+ get isSDKSupportUpdateTimeline(): boolean | undefined;
883
+ get index(): number;
884
+ private updateTimeline;
885
+ /**
886
+ * Start timeline after slide started
887
+ * Nothing do if old sdk
888
+ */
889
+ slideStarted(): void;
890
+ slideRestarted(): void;
891
+ /**
892
+ *
893
+ */
894
+ slidePaused(videoCurrentTime: number | null): void;
895
+ slideResumed(videoCurrentTime: number | null): void;
896
+ slideStopped(): void;
897
+ /**
898
+ * Update timer state (duration from 0 to actual value) and start timeline
899
+ * used by widgets
900
+ */
901
+ startDisabledTimeline(fallback: () => void): void;
902
+ onSlideDataWaiting(videoCurrentTime: number | null): void;
903
+ onSlideError(videoCurrentTime: number | null): void;
904
+ }
835
905
  type APIResponse<DTO> = {
836
906
  status: number;
837
907
  data: DTO;
@@ -848,6 +918,7 @@ type FontDTO = {
848
918
  };
849
919
  interface SDKApi {
850
920
  getCardServerData(cardId: number): Record<string, any> | null;
921
+ updateCardServerDataLocally(cardId: number, data: Record<string, any>): void;
851
922
  getSlideDuration(cardId: number, slideIndex: number): number | null;
852
923
  showNextSlide(duration: number): void;
853
924
  sendStatisticEvent(name: string, data: Record<string, string | number | Array<string | number>>, devPayload?: Record<string, string | number | Array<string | number>>, forceEnableStatisticV2?: boolean): void;
@@ -865,7 +936,14 @@ interface SDKApi {
865
936
  setCardLocalData(keyValue: Record<string, any>, sendToServer: boolean): void;
866
937
  getWidgetsSharedData<WidgetType extends keyof WidgetsSharedDataMap>(cardId: number, widget: Widgets): WidgetsSharedDataMap[WidgetType] | null;
867
938
  vibrate(pattern: number): void;
868
- openUrl(target: string): void;
939
+ openUrl(data: {
940
+ type: "link" | "swipeUpLink" | "swipeUpItems";
941
+ link: {
942
+ type: "url" | "json";
943
+ target: string;
944
+ };
945
+ elementId?: string;
946
+ }): void;
869
947
  sendApiRequest<ResponseDTO>(url: string, method: string, params: Record<string, any> | null, headers: Record<string, any> | null, data: Record<string, any> | null, profilingKey: string): Promise<APIResponse<ResponseDTO>>;
870
948
  sendApiRequestSupported(): boolean;
871
949
  showToast(text: string): void;
@@ -899,6 +977,9 @@ interface SDKApi {
899
977
  enableVerticalSwipeGesture(): void;
900
978
  disableBackpress(): void;
901
979
  enableBackpress(): void;
980
+ closeCard(reason: string): void;
981
+ openStory(id: number, index: number): void;
982
+ openGame(gameInstanceId: string): void;
902
983
  }
903
984
  declare class WidgetsService {
904
985
  private _env;
@@ -997,6 +1078,7 @@ interface SDKInterface {
997
1078
  * }
998
1079
  */
999
1080
  getCardServerData(cardId: number): Record<string, any> | null;
1081
+ updateCardServerDataLocally(data: Record<string, any>): void;
1000
1082
  /**
1001
1083
  * Return slide duration or null
1002
1084
  *
@@ -1065,7 +1147,14 @@ interface SDKInterface {
1065
1147
  * window._showNarrativeLink(target);
1066
1148
  * }
1067
1149
  */
1068
- openUrl(target: string): void;
1150
+ openUrl(data: {
1151
+ type: "link" | "swipeUpLink" | "swipeUpItems";
1152
+ link: {
1153
+ type: "url" | "json";
1154
+ target: string;
1155
+ };
1156
+ elementId?: string;
1157
+ }): void;
1069
1158
  /**
1070
1159
  * Possible implementation
1071
1160
  *
@@ -1110,7 +1199,7 @@ interface SDKInterface {
1110
1199
  */
1111
1200
  setCardSessionValue(key: string, value: string): void;
1112
1201
  getCardSessionValue(key: string): string | undefined;
1113
- updateTimeline?(slideIndex: number, action: TIMELINE_ACTION, currentTime: number, duration: number, showLoader: boolean, showError: boolean): void;
1202
+ updateTimeline(slideIndex: number, action: TIMELINE_ACTION, currentTime: number, duration: number, showLoader: boolean, showError: boolean): void;
1114
1203
  /**
1115
1204
  * Get fonts from session.cache
1116
1205
  */
@@ -1128,42 +1217,518 @@ interface SDKInterface {
1128
1217
  * Continue to react on any vertical swipe gesture
1129
1218
  */
1130
1219
  enableVerticalSwipeGesture(): void;
1220
+ /**
1221
+ * Intent with action - close card (story | IAM)
1222
+ */
1223
+ closeCard(reason: string): void;
1224
+ /**
1225
+ * Intent with action - open story (with id and slide index)
1226
+ */
1227
+ openStory(id: number, index: number): void;
1228
+ /**
1229
+ * Intent with action - open game
1230
+ */
1231
+ openGame(gameInstanceId: string): void;
1131
1232
  }
1132
- type WidgetCopyApi = typeof WidgetCopy.api;
1133
- type WidgetDataInputApi = typeof WidgetDataInput.api;
1134
- type WidgetDateCountdownApi = typeof WidgetDateCountdown.api;
1135
- type WidgetMultiSlideApi = typeof WidgetMultiSlide.api;
1136
- type WidgetPollApi = typeof WidgetPoll.api;
1137
- type WidgetPollLayersApi = typeof WidgetPollLayers.api;
1138
- type WidgetQuestApi = typeof WidgetQuest.api;
1139
- type WidgetQuizApi = typeof WidgetQuiz.api;
1140
- type WidgetQuizGroupedApi = typeof WidgetQuizGrouped.api;
1141
- type WidgetRangeSliderApi = typeof WidgetRangeSlider.api;
1142
- type WidgetRateApi = typeof WidgetRate.api;
1143
- type WidgetShareApi = typeof WidgetShare.api;
1144
- type WidgetTestApi = typeof WidgetTest.api;
1145
- type WidgetVoteApi = typeof WidgetVote.api;
1146
- type WidgetBarcodeApi = typeof WidgetBarcode.api;
1147
- type WidgetProductsApi = typeof WidgetProducts.api;
1148
- type SlideApi = {
1149
- Animation: IAnimation;
1150
- WidgetCopy: WidgetCopyApi;
1151
- WidgetDataInput: WidgetDataInputApi;
1152
- WidgetDateCountdown: WidgetDateCountdownApi;
1153
- WidgetMultiSlide: WidgetMultiSlideApi;
1154
- WidgetPoll: WidgetPollApi;
1155
- WidgetPollLayers: WidgetPollLayersApi;
1156
- WidgetQuest: WidgetQuestApi;
1157
- WidgetQuiz: WidgetQuizApi;
1158
- WidgetQuizGrouped: WidgetQuizGroupedApi;
1159
- WidgetRangeSlider: WidgetRangeSliderApi;
1160
- WidgetRate: WidgetRateApi;
1161
- WidgetShare: WidgetShareApi;
1162
- WidgetTest: WidgetTestApi;
1163
- WidgetVote: WidgetVoteApi;
1164
- WidgetBarcode: WidgetBarcodeApi;
1165
- WidgetProducts: WidgetProductsApi;
1166
- };
1167
- declare const getSlideApi: (_sdkInterface: SDKInterface) => SlideApi;
1168
- export { getSlideApi, Widgets };
1169
- export type { SDKInterface, SlideApi, WidgetCopyApi, WidgetDataInputApi, WidgetDateCountdownApi, WidgetMultiSlideApi, WidgetPollApi, WidgetPollLayersApi, WidgetQuestApi, WidgetQuizApi, WidgetQuizGroupedApi, WidgetRangeSliderApi, WidgetRateApi, WidgetShareApi, WidgetTestApi, WidgetVoteApi, WidgetBarcodeApi, WidgetProductsApi, IAnimation, WidgetsSharedDataMap, WidgetRangeSliderSharedData, WidgetPollSharedData, WidgetVoteSharedData, FontDTO };
1233
+ type LocalData = Record<string, any>;
1234
+ declare global {
1235
+ interface Window {
1236
+ slideTimeline: SlideTimeline;
1237
+ }
1238
+ }
1239
+ interface IElement {
1240
+ init(localData: LocalData): Promise<boolean>;
1241
+ onPause(): void;
1242
+ onResume(): void;
1243
+ onStop(): void;
1244
+ onStart(): void;
1245
+ handleClick(): boolean;
1246
+ // is Layer on pause (by opened WidgetProducts for instance)
1247
+ isLayerForcePaused: boolean;
1248
+ mediaElementsLoadingPromises: Array<Promise<HTMLImageElement | HTMLVideoElement>>;
1249
+ }
1250
+ declare class DataInput implements IElement {
1251
+ private readonly _elementNodeRef;
1252
+ private readonly _layer;
1253
+ private readonly _widgetApi;
1254
+ private static readonly _className;
1255
+ static className(): string;
1256
+ constructor(_elementNodeRef: HTMLElement, _layer: Layer, _widgetApi: typeof WidgetDataInput.api);
1257
+ static isTypeOf(element: IElement): element is DataInput;
1258
+ mediaElementsLoadingPromises: Array<Promise<HTMLImageElement | HTMLVideoElement>>;
1259
+ init(localData: LocalData): Promise<boolean>;
1260
+ onPause(): void;
1261
+ onResume(): void;
1262
+ onStart(): void;
1263
+ onStop(): void;
1264
+ handleClick(): boolean;
1265
+ setUserData(id: string, text: string): void;
1266
+ get isLayerForcePaused(): boolean;
1267
+ }
1268
+ declare class Poll implements IElement {
1269
+ private readonly _elementNodeRef;
1270
+ private readonly _layer;
1271
+ private readonly _widgetApi;
1272
+ private static readonly _className;
1273
+ static className(): string;
1274
+ constructor(_elementNodeRef: HTMLElement, _layer: Layer, _widgetApi: typeof WidgetPoll.api);
1275
+ static isTypeOf(element: IElement): element is Poll;
1276
+ mediaElementsLoadingPromises: Array<Promise<HTMLImageElement | HTMLVideoElement>>;
1277
+ init(localData: LocalData): Promise<boolean>;
1278
+ onPause(): void;
1279
+ onResume(): void;
1280
+ onStart(): void;
1281
+ onStop(): void;
1282
+ handleClick(): boolean;
1283
+ setUserData(id: string, text: string): void;
1284
+ get isLayerForcePaused(): boolean;
1285
+ }
1286
+ declare class PollLayers implements IElement {
1287
+ private readonly _elementNodeRef;
1288
+ private readonly _layer;
1289
+ private readonly _layersNodesRefs;
1290
+ private readonly _widgetApi;
1291
+ private static readonly _className;
1292
+ static className(): string;
1293
+ constructor(_elementNodeRef: HTMLElement, _layer: Layer, _layersNodesRefs: Array<HTMLElement>, _widgetApi: typeof WidgetPollLayers.api);
1294
+ static isTypeOf(element: IElement): element is PollLayers;
1295
+ mediaElementsLoadingPromises: Array<Promise<HTMLImageElement | HTMLVideoElement>>;
1296
+ init(localData: LocalData): Promise<boolean>;
1297
+ onPause(): void;
1298
+ onResume(): void;
1299
+ onStart(): void;
1300
+ onStop(): void;
1301
+ handleClick(): boolean;
1302
+ get isLayerForcePaused(): boolean;
1303
+ }
1304
+ declare class Products implements IElement {
1305
+ private readonly _elementNodeRef;
1306
+ private readonly _layer;
1307
+ private readonly _widgetApi;
1308
+ private static readonly _className;
1309
+ static className(): string;
1310
+ constructor(_elementNodeRef: HTMLElement, _layer: Layer, _widgetApi: typeof WidgetProducts.api);
1311
+ static isTypeOf(element: IElement): element is Products;
1312
+ mediaElementsLoadingPromises: Array<Promise<HTMLImageElement | HTMLVideoElement>>;
1313
+ init(localData: LocalData): Promise<boolean>;
1314
+ onPause(): void;
1315
+ onResume(): void;
1316
+ onStart(): void;
1317
+ onStop(): void;
1318
+ handleClick(): boolean;
1319
+ handleBackpress(): void;
1320
+ get elementNodeRef(): HTMLElement;
1321
+ get isClickCapturedByWidget(): boolean;
1322
+ get isLayerForcePaused(): boolean;
1323
+ }
1324
+ declare class Quest implements IElement {
1325
+ private readonly _elementNodeRef;
1326
+ private readonly _layer;
1327
+ private readonly _widgetApi;
1328
+ private static readonly _className;
1329
+ static className(): string;
1330
+ constructor(_elementNodeRef: HTMLElement, _layer: Layer, _widgetApi: typeof WidgetQuest.api);
1331
+ static isTypeOf(element: IElement): element is Quest;
1332
+ mediaElementsLoadingPromises: Array<Promise<HTMLImageElement | HTMLVideoElement>>;
1333
+ init(localData: LocalData): Promise<boolean>;
1334
+ onPause(): void;
1335
+ onResume(): void;
1336
+ onStart(): void;
1337
+ onStop(): void;
1338
+ handleClick(): boolean;
1339
+ handleRouteClick(options: {
1340
+ direction: "backward" | "forward";
1341
+ slideIndex: number;
1342
+ slideCount: number;
1343
+ }): {
1344
+ continueDefaultNavigation: boolean;
1345
+ };
1346
+ get isLayerForcePaused(): boolean;
1347
+ }
1348
+ declare class Quiz implements IElement {
1349
+ private readonly _elementNodeRef;
1350
+ private readonly _layer;
1351
+ private readonly _widgetApi;
1352
+ private static readonly _className;
1353
+ static className(): string;
1354
+ // widgetApi in ctor
1355
+ constructor(_elementNodeRef: HTMLElement, _layer: Layer, _widgetApi: typeof WidgetQuiz.api);
1356
+ static isTypeOf(element: IElement): element is Quiz;
1357
+ mediaElementsLoadingPromises: Array<Promise<HTMLImageElement | HTMLVideoElement>>;
1358
+ init(localData: LocalData): Promise<boolean>;
1359
+ onPause(): void;
1360
+ onResume(): void;
1361
+ onStart(): void;
1362
+ onStop(): void;
1363
+ handleClick(): boolean;
1364
+ get slideQuizIsDone(): boolean;
1365
+ get isLayerForcePaused(): boolean;
1366
+ }
1367
+ declare class QuizGrouped implements IElement {
1368
+ private readonly _elementNodeRef;
1369
+ private readonly _layer;
1370
+ private readonly _widgetApi;
1371
+ private static readonly _className;
1372
+ static className(): string;
1373
+ constructor(_elementNodeRef: HTMLElement, _layer: Layer, _widgetApi: typeof WidgetQuizGrouped.api);
1374
+ static isTypeOf(element: IElement): element is QuizGrouped;
1375
+ mediaElementsLoadingPromises: Array<Promise<HTMLImageElement | HTMLVideoElement>>;
1376
+ init(localData: LocalData): Promise<boolean>;
1377
+ onPause(): void;
1378
+ onResume(): void;
1379
+ onStart(): void;
1380
+ onStop(): void;
1381
+ handleClick(): boolean;
1382
+ get slideQuizGroupedIsDone(): boolean;
1383
+ get isLayerForcePaused(): boolean;
1384
+ }
1385
+ declare class RangeSlider implements IElement {
1386
+ private readonly _elementNodeRef;
1387
+ private readonly _layer;
1388
+ private readonly _widgetApi;
1389
+ private static readonly _className;
1390
+ static className(): string;
1391
+ constructor(_elementNodeRef: HTMLElement, _layer: Layer, _widgetApi: typeof WidgetRangeSlider.api);
1392
+ static isTypeOf(element: IElement): element is RangeSlider;
1393
+ mediaElementsLoadingPromises: Array<Promise<HTMLImageElement | HTMLVideoElement>>;
1394
+ init(localData: LocalData): Promise<boolean>;
1395
+ onPause(): void;
1396
+ onResume(): void;
1397
+ onStart(): void;
1398
+ onStop(): void;
1399
+ get isClickCapturedBySlider(): boolean;
1400
+ handleClick(): boolean;
1401
+ get isLayerForcePaused(): boolean;
1402
+ }
1403
+ declare class Rate implements IElement {
1404
+ private readonly _elementNodeRef;
1405
+ private readonly _layer;
1406
+ private readonly _widgetApi;
1407
+ private static readonly _className;
1408
+ static className(): string;
1409
+ constructor(_elementNodeRef: HTMLElement, _layer: Layer, _widgetApi: typeof WidgetRate.api);
1410
+ static isTypeOf(element: IElement): element is Rate;
1411
+ mediaElementsLoadingPromises: Array<Promise<HTMLImageElement | HTMLVideoElement>>;
1412
+ init(localData: LocalData): Promise<boolean>;
1413
+ onPause(): void;
1414
+ onResume(): void;
1415
+ onStart(): void;
1416
+ onStop(): void;
1417
+ handleClick(): boolean;
1418
+ setUserData(id: string, text: string): void;
1419
+ get isLayerForcePaused(): boolean;
1420
+ }
1421
+ declare class Share implements IElement {
1422
+ private readonly _elementNodeRef;
1423
+ private readonly _layer;
1424
+ private readonly _layersNodesRefs;
1425
+ private readonly _widgetApi;
1426
+ private static readonly _className;
1427
+ private static readonly _widgetApiName;
1428
+ static className(): string;
1429
+ constructor(_elementNodeRef: HTMLElement, _layer: Layer, _layersNodesRefs: Array<HTMLElement>, _widgetApi: typeof WidgetShare.api);
1430
+ static isTypeOf(element: IElement): element is Share;
1431
+ mediaElementsLoadingPromises: Array<Promise<HTMLImageElement | HTMLVideoElement>>;
1432
+ init(localData: LocalData): Promise<boolean>;
1433
+ onPause(): void;
1434
+ onResume(): void;
1435
+ onStart(): void;
1436
+ onStop(): void;
1437
+ handleClick(): boolean;
1438
+ complete(id: string, isSuccess: boolean): void;
1439
+ get isLayerForcePaused(): boolean;
1440
+ }
1441
+ declare class SwipeUp implements IElement {
1442
+ private readonly _elementNodeRef;
1443
+ private readonly _layer;
1444
+ private static readonly _className;
1445
+ static className(): string;
1446
+ constructor(_elementNodeRef: HTMLElement, _layer: Layer);
1447
+ static isTypeOf(element: IElement): element is SwipeUp;
1448
+ mediaElementsLoadingPromises: Array<Promise<HTMLImageElement | HTMLVideoElement>>;
1449
+ init(localData: LocalData): Promise<boolean>;
1450
+ onPause(): void;
1451
+ onResume(): void;
1452
+ onStart(): void;
1453
+ onStop(): void;
1454
+ handleClick(): boolean;
1455
+ get elementNodeRef(): HTMLElement;
1456
+ get isLayerForcePaused(): boolean;
1457
+ }
1458
+ declare class SwipeUpItems implements IElement {
1459
+ private readonly _elementNodeRef;
1460
+ private readonly _layer;
1461
+ private static readonly _className;
1462
+ static className(): string;
1463
+ constructor(_elementNodeRef: HTMLElement, _layer: Layer);
1464
+ static isTypeOf(element: IElement): element is SwipeUpItems;
1465
+ mediaElementsLoadingPromises: Array<Promise<HTMLImageElement | HTMLVideoElement>>;
1466
+ init(localData: LocalData): Promise<boolean>;
1467
+ onPause(): void;
1468
+ onResume(): void;
1469
+ onStart(): void;
1470
+ onStop(): void;
1471
+ handleClick(): boolean;
1472
+ get elementNodeRef(): HTMLElement;
1473
+ get isLayerForcePaused(): boolean;
1474
+ }
1475
+ declare class Test implements IElement {
1476
+ private readonly _elementNodeRef;
1477
+ private readonly _layer;
1478
+ private readonly _widgetApi;
1479
+ private static readonly _className;
1480
+ static className(): string;
1481
+ constructor(_elementNodeRef: HTMLElement, _layer: Layer, _widgetApi: typeof WidgetTest.api);
1482
+ static isTypeOf(element: IElement): element is Test;
1483
+ mediaElementsLoadingPromises: Array<Promise<HTMLImageElement | HTMLVideoElement>>;
1484
+ init(localData: LocalData): Promise<boolean>;
1485
+ onPause(): void;
1486
+ onResume(): void;
1487
+ onStart(): void;
1488
+ onStop(): void;
1489
+ handleClick(): boolean;
1490
+ get slideTestIsDone(): boolean;
1491
+ get slideTestWithTimer(): boolean;
1492
+ get isLayerForcePaused(): boolean;
1493
+ }
1494
+ declare class Video implements IElement {
1495
+ private readonly _elementNodeRef;
1496
+ private readonly _layer;
1497
+ private readonly _VideoPlayer;
1498
+ private readonly _sdkApi;
1499
+ private static readonly _className;
1500
+ static className(): string;
1501
+ private readonly _video;
1502
+ private readonly _isVOD;
1503
+ private readonly _vodData;
1504
+ private _vodPlayerInstance;
1505
+ private _videoStateAdapter;
1506
+ constructor(_elementNodeRef: HTMLElement, _layer: Layer, _VideoPlayer: typeof VideoPlayer | undefined, _sdkApi: SDKApi);
1507
+ static isTypeOf(element: IElement): element is Video;
1508
+ mediaElementsLoadingPromises: Array<Promise<HTMLImageElement | HTMLVideoElement>>;
1509
+ init(localData: LocalData): Promise<boolean>;
1510
+ private _isScreenOnPause;
1511
+ onPause(): void;
1512
+ onResume(): void;
1513
+ onStart(): void;
1514
+ onStop(): void;
1515
+ private _initVOD;
1516
+ private _convertMpdUrls;
1517
+ handleClick(): boolean;
1518
+ get isLayerForcePaused(): boolean;
1519
+ private _videoStartedPromise;
1520
+ get videoStartedPromise(): Promise<{
1521
+ currentTime: number;
1522
+ }> | null;
1523
+ start(muted?: boolean): Promise<{
1524
+ currentTime: number;
1525
+ }>;
1526
+ pause(resetVideoTime?: boolean): number | null;
1527
+ resume(): Promise<{
1528
+ currentTime: number;
1529
+ }>;
1530
+ stop(): Promise<void>;
1531
+ enableAudio(): void;
1532
+ disableAudio(): void;
1533
+ }
1534
+ declare class Slide {
1535
+ private readonly _slidesNodesRefs;
1536
+ private readonly _slideReadyPromise;
1537
+ private readonly _afterResumeQueuePush;
1538
+ private readonly _layers;
1539
+ private _start;
1540
+ constructor(_slidesNodesRefs: Array<HTMLElement>, _slideReadyPromise: Promise<void>, _afterResumeQueuePush: (cb: () => void) => void);
1541
+ private _activeLayer;
1542
+ get activeLayer(): Layer;
1543
+ get layers(): Array<Layer>;
1544
+ get layersNodesRefs(): Array<HTMLElement>;
1545
+ private _initMultiSlide;
1546
+ init(localData: LocalData): Promise<boolean>;
1547
+ refreshActiveLayer(): void;
1548
+ showLayer(showIndex: number, muted?: boolean): void;
1549
+ get layoutService(): LayoutService;
1550
+ get slideIndex(): number;
1551
+ get cardId(): number;
1552
+ get cardType(): CARD_TYPE;
1553
+ get slideCount(): number;
1554
+ get disabledNavigation(): boolean;
1555
+ }
1556
+ declare class Layer {
1557
+ private readonly _nodeRef;
1558
+ private readonly _slide;
1559
+ private readonly _slideReadyPromise;
1560
+ private readonly _afterResumeQueuePush;
1561
+ private readonly _slideIndex;
1562
+ private readonly _cardId;
1563
+ private readonly _cardType;
1564
+ private readonly _slideCount;
1565
+ private readonly _duration;
1566
+ private readonly _disabledTimer;
1567
+ private readonly _disabledNavigation;
1568
+ private _elements;
1569
+ private readonly _timeline;
1570
+ constructor(_nodeRef: HTMLElement, _slide: Slide, _slideReadyPromise: Promise<void>, _afterResumeQueuePush: (cb: () => void) => void);
1571
+ init(localData: LocalData): Array<Promise<boolean>>;
1572
+ get nodeRef(): HTMLElement;
1573
+ get elements(): Array<IElement>;
1574
+ get slide(): Slide;
1575
+ get timeline(): SlideTimeline;
1576
+ get layoutService(): LayoutService;
1577
+ get sdkApi(): SDKApi;
1578
+ getLocalData(): Promise<LocalData>;
1579
+ get isQuest(): boolean;
1580
+ private _initTextFit;
1581
+ private _initTextElementAutoWidthCorrection;
1582
+ get slideIndex(): number;
1583
+ get cardId(): number;
1584
+ get cardType(): CARD_TYPE;
1585
+ get slideCount(): number;
1586
+ get disabledNavigation(): boolean;
1587
+ get videoElement(): Video | null;
1588
+ get rangeSliderElement(): RangeSlider | null;
1589
+ get quizElement(): Quiz | null;
1590
+ get quizGroupedElement(): QuizGrouped | null;
1591
+ get questElement(): Quest | null;
1592
+ get testElement(): Test | null;
1593
+ get dataInputElement(): DataInput | null;
1594
+ get pollElement(): Poll | null;
1595
+ get pollLayersElement(): PollLayers | null;
1596
+ get rateElement(): Rate | null;
1597
+ get shareElement(): Share | null;
1598
+ get swipeUpElement(): SwipeUp | null;
1599
+ get swipeUpItemsElement(): SwipeUpItems | null;
1600
+ get productsElement(): Products | null;
1601
+ isClickCapturedBySlider(): boolean;
1602
+ private _animationPauseCb;
1603
+ private _animationResumeCb;
1604
+ start(muted?: boolean): Promise<{
1605
+ currentTime: number;
1606
+ }>;
1607
+ stop(): Promise<void>;
1608
+ stopInternal(): void;
1609
+ pause(resetVideoTime?: boolean, stopAnimation?: boolean): Promise<{
1610
+ currentTime: number | null;
1611
+ }>;
1612
+ resume(): Promise<unknown>;
1613
+ enableAudio(): void;
1614
+ disableAudio(): void;
1615
+ get isLayerForcePaused(): boolean;
1616
+ }
1617
+ declare const enum STATE {
1618
+ INIT = 0,
1619
+ INITED = 1,
1620
+ START = 2,
1621
+ STARTED = 3,
1622
+ RESUME = 4,
1623
+ RESUMED = 5,
1624
+ PAUSE = 6,
1625
+ PAUSED = 7,
1626
+ FORCE_PAUSED = 8,
1627
+ STOP = 9,
1628
+ STOPPED = 10
1629
+ }
1630
+ declare class SlideApi {
1631
+ private readonly config;
1632
+ get layoutDirection(): "ltr" | "rtl";
1633
+ private static renderedBoxClassName;
1634
+ private static prerenderBoxClassName;
1635
+ private readonly _slideWrapper;
1636
+ private readonly _viewport;
1637
+ constructor(config: {
1638
+ slideWrapper: HTMLElement;
1639
+ viewport: Window;
1640
+ userResizeHandler?: (data: {
1641
+ viewportWidth: number;
1642
+ viewportHeight: number;
1643
+ fontSize: number;
1644
+ }) => void;
1645
+ slideRatio: number;
1646
+ isFullscreen: boolean;
1647
+ slideLoadedCb?: (data: {
1648
+ slide: Slide;
1649
+ result: boolean;
1650
+ reason?: string;
1651
+ }) => void;
1652
+ });
1653
+ destroy(): void;
1654
+ private initListeners;
1655
+ private destroyListeners;
1656
+ private refreshSizes;
1657
+ showSlide(html: string): Promise<{
1658
+ slide: Slide;
1659
+ result: boolean;
1660
+ reason?: string;
1661
+ }>;
1662
+ handleBackpress(): void;
1663
+ private get layoutService();
1664
+ private getLocalData;
1665
+ private get sdkApi();
1666
+ private _fontsInit;
1667
+ private _initAndLoadFonts;
1668
+ private _slide;
1669
+ private _slideInInit;
1670
+ private _state;
1671
+ private _afterStartInitQueue;
1672
+ private _afterResumeQueue;
1673
+ get state(): STATE;
1674
+ private _onAllMediaLoaded;
1675
+ private _init;
1676
+ private _slideInRender;
1677
+ private _slideBoxRenderComplete;
1678
+ private _slideBoxRenderError;
1679
+ private _startVideo;
1680
+ private _slideConfig;
1681
+ slideStart(configString: string): Promise<{
1682
+ currentTime: number;
1683
+ }>;
1684
+ slideRestart(configString: string): Promise<{
1685
+ currentTime: number;
1686
+ }>;
1687
+ private _pauseCbTimer;
1688
+ slidePause(): Promise<void>;
1689
+ slideResume(): Promise<void>;
1690
+ slideStop(): Promise<void>;
1691
+ slideTimerEnd(): void;
1692
+ // for call from SlideApi internals (from widgets)
1693
+ // skip state checking and sdk issues
1694
+ slidePauseUI(): Promise<void>;
1695
+ // for call from SlideApi internals (from widgets)
1696
+ // skip state checking and sdk issues
1697
+ slideResumeUI(): Promise<void>;
1698
+ enableAudio(): void;
1699
+ disableAudio(): void;
1700
+ get isStopped(): boolean;
1701
+ afterStartInitQueuePush(cb: () => void): false | undefined;
1702
+ afterResumeQueuePush(cb: () => void): false | undefined;
1703
+ get activeLayer(): Layer;
1704
+ get slide(): Slide;
1705
+ showLayer(index: number): void;
1706
+ slideClickHandler(targetElement: HTMLElement, navigationDirection: "forward" | "backward"): {
1707
+ canClickNext: boolean;
1708
+ };
1709
+ private _performLinkSpecialAndReturnTarget;
1710
+ private _performLinkTarget;
1711
+ // получать событие swipeUp от sdk, в том числе и от web sdk
1712
+ slideSwipeUpHandler(target?: HTMLElement): boolean;
1713
+ }
1714
+ declare module SlideApiWrapper {
1715
+ export { SlideApi };
1716
+ }
1717
+ import BaseSlideApi = SlideApiWrapper.SlideApi;
1718
+ declare class SlideApi$0 extends BaseSlideApi {
1719
+ constructor(_sdkInterface: SDKInterface, config: {
1720
+ root: HTMLElement;
1721
+ slideRatio: number;
1722
+ isFullscreen: boolean;
1723
+ nonce?: string;
1724
+ viewport: Window;
1725
+ userResizeHandler?: (data: {
1726
+ viewportWidth: number;
1727
+ viewportHeight: number;
1728
+ fontSize: number;
1729
+ }) => void;
1730
+ VODPlayer?: typeof VODPlayer;
1731
+ });
1732
+ }
1733
+ export type { SDKInterface, SlideApi$0 as SlideApi, FontDTO };
1734
+ export { Widgets };