@truelab/truelogic 3.10.0 → 3.11.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 (113) hide show
  1. package/dist/100.min.js +1 -1
  2. package/dist/103.min.js +1 -1
  3. package/dist/113.min.js +1 -1
  4. package/dist/172.min.js +1 -1
  5. package/dist/180.min.js +1 -1
  6. package/dist/201.min.js +1 -1
  7. package/dist/203.min.js +1 -1
  8. package/dist/266.min.js +1 -1
  9. package/dist/282.min.js +1 -1
  10. package/dist/383.min.js +1 -1
  11. package/dist/4.min.js +1 -1
  12. package/dist/423.min.js +1 -1
  13. package/dist/546.min.js +1 -1
  14. package/dist/585.min.js +1 -1
  15. package/dist/59.min.js +1 -1
  16. package/dist/602.min.js +1 -0
  17. package/dist/683.min.js +1 -1
  18. package/dist/699.min.js +1 -1
  19. package/dist/728.min.js +1 -1
  20. package/dist/755.min.js +1 -1
  21. package/dist/756.min.js +1 -1
  22. package/dist/761.min.js +1 -1
  23. package/dist/80.min.js +1 -1
  24. package/dist/90.min.js +1 -1
  25. package/dist/929.min.js +1 -1
  26. package/dist/937.min.js +1 -1
  27. package/dist/988.min.js +1 -1
  28. package/dist/assets/locales/cs.json +4 -0
  29. package/dist/assets/locales/de.json +4 -0
  30. package/dist/assets/locales/en.json +6 -2
  31. package/dist/assets/locales/es.json +4 -0
  32. package/dist/assets/locales/fi.json +4 -0
  33. package/dist/assets/locales/fr.json +4 -0
  34. package/dist/assets/locales/hi.json +4 -0
  35. package/dist/assets/locales/hr.json +4 -0
  36. package/dist/assets/locales/id.json +4 -0
  37. package/dist/assets/locales/it.json +4 -0
  38. package/dist/assets/locales/ja.json +4 -0
  39. package/dist/assets/locales/kk.json +4 -0
  40. package/dist/assets/locales/ko.json +4 -0
  41. package/dist/assets/locales/nl.json +4 -0
  42. package/dist/assets/locales/no.json +4 -0
  43. package/dist/assets/locales/pl.json +4 -0
  44. package/dist/assets/locales/pt.json +4 -0
  45. package/dist/assets/locales/ru.json +4 -0
  46. package/dist/assets/locales/sc_en.json +6 -2
  47. package/dist/assets/locales/sr.json +4 -0
  48. package/dist/assets/locales/sv.json +4 -0
  49. package/dist/assets/locales/th.json +4 -0
  50. package/dist/assets/locales/tr.json +4 -0
  51. package/dist/assets/locales/uk.json +4 -0
  52. package/dist/assets/locales/vi.json +4 -0
  53. package/dist/assets/locales/zh.json +4 -0
  54. package/dist/truelogic.min.css +1 -1
  55. package/dist/truelogic.min.js +1 -1
  56. package/dist/types/src/app/lib/singletones/publicEmitter.d.ts +9 -4
  57. package/dist/types/src/app/store.d.ts +70 -0
  58. package/dist/types/src/entities/autoplay/model/autoPlaySlice.d.ts +15 -1
  59. package/dist/types/src/entities/bonus/model/bonusSlice.d.ts +30 -2
  60. package/dist/types/src/entities/modals/ui/ModalBaseBody.d.ts +2 -1
  61. package/dist/types/src/entities/panel/index.d.ts +1 -1
  62. package/dist/types/src/entities/panel/model/panelSlice.d.ts +2 -1
  63. package/dist/types/src/entities/playerPanel/index.d.ts +1 -0
  64. package/dist/types/src/entities/playerPanel/model/playerPanelSlice.d.ts +6 -0
  65. package/dist/types/src/entities/skip/index.d.ts +1 -1
  66. package/dist/types/src/entities/skip/model/skipSlice.d.ts +3 -1
  67. package/dist/types/src/features/welcome/index.d.ts +1 -0
  68. package/dist/types/src/features/welcome/ui/grid/GameWelcomeGrid.d.ts +2 -0
  69. package/dist/types/src/modules/Modules.d.ts +2 -0
  70. package/dist/types/src/modules/external-ui/ExternalUIModule.d.ts +3 -0
  71. package/dist/types/src/modules/external-ui/app/lib/useExternalUIPublicEvents.d.ts +1 -0
  72. package/dist/types/src/modules/external-ui/app/lib/useExternalUIStoreListeners.d.ts +1 -0
  73. package/dist/types/src/modules/external-ui/app/ui/ExternalUIMainScreenHooks.d.ts +2 -0
  74. package/dist/types/src/modules/external-ui/shared/constants.d.ts +1 -0
  75. package/dist/types/src/modules/external-ui/shared/types.d.ts +43 -0
  76. package/dist/types/src/sandbox/config.d.ts +11 -1
  77. package/dist/types/src/sandbox/externalPanel.d.ts +11 -0
  78. package/dist/types/src/screens/welcome/ui/WelcomeScreen/WelcomeScreen.stories.d.ts +2 -0
  79. package/dist/types/src/shared/lib/classes/emitter.d.ts +2 -2
  80. package/dist/types/src/shared/lib/classes/index.d.ts +1 -1
  81. package/dist/types/src/shared/lib/classes/logger.d.ts +1 -0
  82. package/dist/types/src/shared/lib/singletones/gameEmitter.d.ts +11 -6
  83. package/dist/types/src/shared/lib/singletones/index.d.ts +1 -0
  84. package/dist/types/src/shared/lib/singletones/moduleEmitter.d.ts +11 -0
  85. package/dist/types/src/shared/lib/store/index.d.ts +1 -1
  86. package/dist/types/src/shared/lib/store/redux.d.ts +45 -16
  87. package/dist/types/src/shared/lib/tests/utils/getPreloadedState.d.ts +22 -8
  88. package/dist/types/src/shared/lib/tests/utils/setupTestStore.d.ts +44 -16
  89. package/dist/types/src/shared/model/app/appSlice.d.ts +8 -1
  90. package/dist/types/src/shared/model/app/index.d.ts +1 -1
  91. package/dist/types/src/shared/model/initResponse/index.d.ts +1 -0
  92. package/dist/types/src/shared/model/initResponse/initResponseSlice.d.ts +7 -0
  93. package/dist/types/src/shared/model/modals/index.d.ts +1 -1
  94. package/dist/types/src/shared/model/modals/modalsSlice.d.ts +10 -1
  95. package/dist/types/src/shared/model/welcome/index.d.ts +1 -1
  96. package/dist/types/src/shared/model/welcome/types.d.ts +19 -5
  97. package/dist/types/src/shared/modules/modulesImportFactory.d.ts +11 -0
  98. package/dist/types/src/shared/modules/types.d.ts +10 -0
  99. package/dist/types/src/shared/ui/CustomScroll/CustomScroll.d.ts +1 -0
  100. package/dist/types/src/shared/ui/TapAnywhere/consts.d.ts +4 -0
  101. package/dist/types/src/shared/ui/TapAnywhere/index.d.ts +2 -0
  102. package/dist/types/src/truelogic.d.ts +7 -6
  103. package/dist/types/src/widgets/gameWelcomeFooter/ui/GameWelcomeFooter/GameWelcomeFooter.d.ts +1 -2
  104. package/dist/types/src/widgets/modals/index.d.ts +1 -0
  105. package/dist/types/src/widgets/modals/ui/ModalStakeAmounts/ModalStakeAmounts.d.ts +1 -0
  106. package/dist/types/src/widgets/modals/ui/ModalStakeAmounts/ModalStakeAmounts.stories.d.ts +17 -0
  107. package/dist/types/src/widgets/modals/ui/ModalStakeAmounts/RectStakeAmount.d.ts +8 -0
  108. package/dist/types/src/widgets/panel/index.d.ts +1 -0
  109. package/dist/types/src/widgets/panel/lib/selectors.d.ts +12 -0
  110. package/dist/types/src/widgets/panel/ui/Panel/Panel.stories.d.ts +0 -2
  111. package/dist/types/src/widgets/playerPanel/index.d.ts +1 -0
  112. package/dist/types/src/widgets/playerPanel/lib/selectors.d.ts +1 -0
  113. package/package.json +1 -1
@@ -49,6 +49,11 @@ export type TInitConfig = {
49
49
  };
50
50
  };
51
51
  logger?: TLoggerConfig;
52
+ modules?: {
53
+ externalUI?: {
54
+ enabled: boolean;
55
+ };
56
+ };
52
57
  };
53
58
  export type TConfiguration = {
54
59
  loading?: TLoadingConfig;
@@ -67,8 +72,8 @@ export type TConfiguration = {
67
72
  fillFrame?: TFillFrameConfig;
68
73
  meetUi?: TMeetUiConfig;
69
74
  };
70
- export type TPublicEvents = {
71
- ['init']: (config?: TInitConfig) => void;
75
+ export interface IPublicEvents {
76
+ ['init']: (config?: TInitConfig) => Promise<void>;
72
77
  ['configure']: (configuration: TConfiguration) => void;
73
78
  ['loading:started']: () => void;
74
79
  ['loading.progress:changed']: (progress: number) => void;
@@ -91,8 +96,8 @@ export type TPublicEvents = {
91
96
  ['tapAnywhere:ended']: () => void;
92
97
  ['test:set']: (test: string) => void;
93
98
  ['panel.counter:set']: (data: TPanelCounterData) => void;
94
- };
95
- declare class PublicEmitter extends Emitter<TPublicEvents> {
99
+ }
100
+ declare class PublicEmitter extends Emitter<IPublicEvents> {
96
101
  log(event: string, ...args: unknown[]): void;
97
102
  }
98
103
  export declare const publicEmitter: PublicEmitter;
@@ -102,6 +102,14 @@ export declare const rootReducer: import("redux").Reducer<{
102
102
  autocloseDelay: number;
103
103
  };
104
104
  startSessionTime?: number;
105
+ modulesConfig?: {
106
+ externalUI?: {
107
+ enabled?: boolean;
108
+ };
109
+ };
110
+ };
111
+ initResponse: {
112
+ data: import("../truelogic").IInitResponse | null;
105
113
  };
106
114
  sound: {
107
115
  isActive: boolean;
@@ -188,11 +196,13 @@ export declare const rootReducer: import("redux").Reducer<{
188
196
  skip: {
189
197
  isEnabled: boolean;
190
198
  isTurboActive: boolean;
199
+ turboFromHold: boolean;
191
200
  turboRoundsDelay: number;
192
201
  turboSkipDelay: number;
193
202
  turboEnabled: boolean;
194
203
  holdForTurboShown: boolean;
195
204
  holdForTurboAvailable: boolean;
205
+ holdForTurboEnabled: boolean;
196
206
  countHoldForTurbo: number;
197
207
  wasHoldOnce: boolean;
198
208
  isTooltipActive: boolean;
@@ -223,6 +233,10 @@ export declare const rootReducer: import("redux").Reducer<{
223
233
  panel: {
224
234
  config: import("../truelogic").TPanelConfig;
225
235
  counterData: import("../shared/model/panels").TPanelCounterData;
236
+ enabled: boolean;
237
+ };
238
+ playerPanel: {
239
+ showTotalWin: boolean;
226
240
  };
227
241
  localization: import("../shared/localization").TLocalizationSettings;
228
242
  payTable: {
@@ -464,6 +478,14 @@ export declare const rootReducer: import("redux").Reducer<{
464
478
  autocloseDelay: number;
465
479
  };
466
480
  startSessionTime?: number;
481
+ modulesConfig?: {
482
+ externalUI?: {
483
+ enabled?: boolean;
484
+ };
485
+ };
486
+ };
487
+ initResponse: {
488
+ data: import("../truelogic").IInitResponse | null;
467
489
  };
468
490
  sound: {
469
491
  isActive: boolean;
@@ -550,11 +572,13 @@ export declare const rootReducer: import("redux").Reducer<{
550
572
  skip: {
551
573
  isEnabled: boolean;
552
574
  isTurboActive: boolean;
575
+ turboFromHold: boolean;
553
576
  turboRoundsDelay: number;
554
577
  turboSkipDelay: number;
555
578
  turboEnabled: boolean;
556
579
  holdForTurboShown: boolean;
557
580
  holdForTurboAvailable: boolean;
581
+ holdForTurboEnabled: boolean;
558
582
  countHoldForTurbo: number;
559
583
  wasHoldOnce: boolean;
560
584
  isTooltipActive: boolean;
@@ -585,6 +609,10 @@ export declare const rootReducer: import("redux").Reducer<{
585
609
  panel: {
586
610
  config: import("../truelogic").TPanelConfig;
587
611
  counterData: import("../shared/model/panels").TPanelCounterData;
612
+ enabled: boolean;
613
+ };
614
+ playerPanel: {
615
+ showTotalWin: boolean;
588
616
  };
589
617
  localization: import("../shared/localization").TLocalizationSettings;
590
618
  payTable: {
@@ -827,6 +855,14 @@ export declare const persistedReducer: import("redux").Reducer<{
827
855
  autocloseDelay: number;
828
856
  };
829
857
  startSessionTime?: number;
858
+ modulesConfig?: {
859
+ externalUI?: {
860
+ enabled?: boolean;
861
+ };
862
+ };
863
+ };
864
+ initResponse: {
865
+ data: import("../truelogic").IInitResponse | null;
830
866
  };
831
867
  sound: {
832
868
  isActive: boolean;
@@ -913,11 +949,13 @@ export declare const persistedReducer: import("redux").Reducer<{
913
949
  skip: {
914
950
  isEnabled: boolean;
915
951
  isTurboActive: boolean;
952
+ turboFromHold: boolean;
916
953
  turboRoundsDelay: number;
917
954
  turboSkipDelay: number;
918
955
  turboEnabled: boolean;
919
956
  holdForTurboShown: boolean;
920
957
  holdForTurboAvailable: boolean;
958
+ holdForTurboEnabled: boolean;
921
959
  countHoldForTurbo: number;
922
960
  wasHoldOnce: boolean;
923
961
  isTooltipActive: boolean;
@@ -948,6 +986,10 @@ export declare const persistedReducer: import("redux").Reducer<{
948
986
  panel: {
949
987
  config: import("../truelogic").TPanelConfig;
950
988
  counterData: import("../shared/model/panels").TPanelCounterData;
989
+ enabled: boolean;
990
+ };
991
+ playerPanel: {
992
+ showTotalWin: boolean;
951
993
  };
952
994
  localization: import("../shared/localization").TLocalizationSettings;
953
995
  payTable: {
@@ -1190,6 +1232,14 @@ export declare const store: import("@reduxjs/toolkit").EnhancedStore<{
1190
1232
  autocloseDelay: number;
1191
1233
  };
1192
1234
  startSessionTime?: number;
1235
+ modulesConfig?: {
1236
+ externalUI?: {
1237
+ enabled?: boolean;
1238
+ };
1239
+ };
1240
+ };
1241
+ initResponse: {
1242
+ data: import("../truelogic").IInitResponse | null;
1193
1243
  };
1194
1244
  sound: {
1195
1245
  isActive: boolean;
@@ -1276,11 +1326,13 @@ export declare const store: import("@reduxjs/toolkit").EnhancedStore<{
1276
1326
  skip: {
1277
1327
  isEnabled: boolean;
1278
1328
  isTurboActive: boolean;
1329
+ turboFromHold: boolean;
1279
1330
  turboRoundsDelay: number;
1280
1331
  turboSkipDelay: number;
1281
1332
  turboEnabled: boolean;
1282
1333
  holdForTurboShown: boolean;
1283
1334
  holdForTurboAvailable: boolean;
1335
+ holdForTurboEnabled: boolean;
1284
1336
  countHoldForTurbo: number;
1285
1337
  wasHoldOnce: boolean;
1286
1338
  isTooltipActive: boolean;
@@ -1311,6 +1363,10 @@ export declare const store: import("@reduxjs/toolkit").EnhancedStore<{
1311
1363
  panel: {
1312
1364
  config: import("../truelogic").TPanelConfig;
1313
1365
  counterData: import("../shared/model/panels").TPanelCounterData;
1366
+ enabled: boolean;
1367
+ };
1368
+ playerPanel: {
1369
+ showTotalWin: boolean;
1314
1370
  };
1315
1371
  localization: import("../shared/localization").TLocalizationSettings;
1316
1372
  payTable: {
@@ -1553,6 +1609,14 @@ export declare const store: import("@reduxjs/toolkit").EnhancedStore<{
1553
1609
  autocloseDelay: number;
1554
1610
  };
1555
1611
  startSessionTime?: number;
1612
+ modulesConfig?: {
1613
+ externalUI?: {
1614
+ enabled?: boolean;
1615
+ };
1616
+ };
1617
+ };
1618
+ initResponse: {
1619
+ data: import("../truelogic").IInitResponse | null;
1556
1620
  };
1557
1621
  sound: {
1558
1622
  isActive: boolean;
@@ -1639,11 +1703,13 @@ export declare const store: import("@reduxjs/toolkit").EnhancedStore<{
1639
1703
  skip: {
1640
1704
  isEnabled: boolean;
1641
1705
  isTurboActive: boolean;
1706
+ turboFromHold: boolean;
1642
1707
  turboRoundsDelay: number;
1643
1708
  turboSkipDelay: number;
1644
1709
  turboEnabled: boolean;
1645
1710
  holdForTurboShown: boolean;
1646
1711
  holdForTurboAvailable: boolean;
1712
+ holdForTurboEnabled: boolean;
1647
1713
  countHoldForTurbo: number;
1648
1714
  wasHoldOnce: boolean;
1649
1715
  isTooltipActive: boolean;
@@ -1674,6 +1740,10 @@ export declare const store: import("@reduxjs/toolkit").EnhancedStore<{
1674
1740
  panel: {
1675
1741
  config: import("../truelogic").TPanelConfig;
1676
1742
  counterData: import("../shared/model/panels").TPanelCounterData;
1743
+ enabled: boolean;
1744
+ };
1745
+ playerPanel: {
1746
+ showTotalWin: boolean;
1677
1747
  };
1678
1748
  localization: import("../shared/localization").TLocalizationSettings;
1679
1749
  payTable: {
@@ -100,6 +100,14 @@ export declare const getAutoPlayIsSupported: ((state: {
100
100
  autocloseDelay: number;
101
101
  };
102
102
  startSessionTime?: number;
103
+ modulesConfig?: {
104
+ externalUI?: {
105
+ enabled?: boolean;
106
+ };
107
+ };
108
+ };
109
+ initResponse: {
110
+ data: import("../../../truelogic").IInitResponse | null;
103
111
  };
104
112
  sound: {
105
113
  isActive: boolean;
@@ -186,11 +194,13 @@ export declare const getAutoPlayIsSupported: ((state: {
186
194
  skip: {
187
195
  isEnabled: boolean;
188
196
  isTurboActive: boolean;
197
+ turboFromHold: boolean;
189
198
  turboRoundsDelay: number;
190
199
  turboSkipDelay: number;
191
200
  turboEnabled: boolean;
192
201
  holdForTurboShown: boolean;
193
202
  holdForTurboAvailable: boolean;
203
+ holdForTurboEnabled: boolean;
194
204
  countHoldForTurbo: number;
195
205
  wasHoldOnce: boolean;
196
206
  isTooltipActive: boolean;
@@ -221,6 +231,10 @@ export declare const getAutoPlayIsSupported: ((state: {
221
231
  panel: {
222
232
  config: import("../../../truelogic").TPanelConfig;
223
233
  counterData: import("../../../shared/model/panels").TPanelCounterData;
234
+ enabled: boolean;
235
+ };
236
+ playerPanel: {
237
+ showTotalWin: boolean;
224
238
  };
225
239
  localization: import("../../../truelogic").TLocalizationSettings;
226
240
  payTable: {
@@ -255,7 +269,7 @@ export declare const getAutoPlayIsSupported: ((state: {
255
269
  fake: import("../../../shared/api/roundsHistory").TApiRoundsHistoryFake;
256
270
  };
257
271
  gameInfo: {
258
- deferredConfig: import("../../gameInfo").TGameInfoConfig;
272
+ deferredConfig: import("../../../truelogic").TGameInfoConfig;
259
273
  containers: import("../../../shared/ui/InfoConstructor").TInfoContainer[];
260
274
  background?: string | {
261
275
  portrait?: string;
@@ -120,6 +120,14 @@ export declare const getBonusIsConfirmDisabled: ((state: {
120
120
  autocloseDelay: number;
121
121
  };
122
122
  startSessionTime?: number;
123
+ modulesConfig?: {
124
+ externalUI?: {
125
+ enabled?: boolean;
126
+ };
127
+ };
128
+ };
129
+ initResponse: {
130
+ data: import("../../../truelogic").IInitResponse | null;
123
131
  };
124
132
  sound: {
125
133
  isActive: boolean;
@@ -191,11 +199,13 @@ export declare const getBonusIsConfirmDisabled: ((state: {
191
199
  skip: {
192
200
  isEnabled: boolean;
193
201
  isTurboActive: boolean;
202
+ turboFromHold: boolean;
194
203
  turboRoundsDelay: number;
195
204
  turboSkipDelay: number;
196
205
  turboEnabled: boolean;
197
206
  holdForTurboShown: boolean;
198
207
  holdForTurboAvailable: boolean;
208
+ holdForTurboEnabled: boolean;
199
209
  countHoldForTurbo: number;
200
210
  wasHoldOnce: boolean;
201
211
  isTooltipActive: boolean;
@@ -226,6 +236,10 @@ export declare const getBonusIsConfirmDisabled: ((state: {
226
236
  panel: {
227
237
  config: import("../../../truelogic").TPanelConfig;
228
238
  counterData: import("../../../shared/model/panels").TPanelCounterData;
239
+ enabled: boolean;
240
+ };
241
+ playerPanel: {
242
+ showTotalWin: boolean;
229
243
  };
230
244
  localization: import("../../../truelogic").TLocalizationSettings;
231
245
  payTable: {
@@ -260,7 +274,7 @@ export declare const getBonusIsConfirmDisabled: ((state: {
260
274
  fake: import("../../../shared/api/roundsHistory").TApiRoundsHistoryFake;
261
275
  };
262
276
  gameInfo: {
263
- deferredConfig: import("../../gameInfo").TGameInfoConfig;
277
+ deferredConfig: import("../../../truelogic").TGameInfoConfig;
264
278
  containers: import("../../../shared/ui/InfoConstructor").TInfoContainer[];
265
279
  background?: string | {
266
280
  portrait?: string;
@@ -488,6 +502,14 @@ export declare const getBonusCashPrice: ((state: {
488
502
  autocloseDelay: number;
489
503
  };
490
504
  startSessionTime?: number;
505
+ modulesConfig?: {
506
+ externalUI?: {
507
+ enabled?: boolean;
508
+ };
509
+ };
510
+ };
511
+ initResponse: {
512
+ data: import("../../../truelogic").IInitResponse | null;
491
513
  };
492
514
  sound: {
493
515
  isActive: boolean;
@@ -559,11 +581,13 @@ export declare const getBonusCashPrice: ((state: {
559
581
  skip: {
560
582
  isEnabled: boolean;
561
583
  isTurboActive: boolean;
584
+ turboFromHold: boolean;
562
585
  turboRoundsDelay: number;
563
586
  turboSkipDelay: number;
564
587
  turboEnabled: boolean;
565
588
  holdForTurboShown: boolean;
566
589
  holdForTurboAvailable: boolean;
590
+ holdForTurboEnabled: boolean;
567
591
  countHoldForTurbo: number;
568
592
  wasHoldOnce: boolean;
569
593
  isTooltipActive: boolean;
@@ -594,6 +618,10 @@ export declare const getBonusCashPrice: ((state: {
594
618
  panel: {
595
619
  config: import("../../../truelogic").TPanelConfig;
596
620
  counterData: import("../../../shared/model/panels").TPanelCounterData;
621
+ enabled: boolean;
622
+ };
623
+ playerPanel: {
624
+ showTotalWin: boolean;
597
625
  };
598
626
  localization: import("../../../truelogic").TLocalizationSettings;
599
627
  payTable: {
@@ -628,7 +656,7 @@ export declare const getBonusCashPrice: ((state: {
628
656
  fake: import("../../../shared/api/roundsHistory").TApiRoundsHistoryFake;
629
657
  };
630
658
  gameInfo: {
631
- deferredConfig: import("../../gameInfo").TGameInfoConfig;
659
+ deferredConfig: import("../../../truelogic").TGameInfoConfig;
632
660
  containers: import("../../../shared/ui/InfoConstructor").TInfoContainer[];
633
661
  background?: string | {
634
662
  portrait?: string;
@@ -2,6 +2,7 @@ import React from 'react';
2
2
  type TModalBaseBodyProps = {
3
3
  children: React.ReactNode;
4
4
  className?: string;
5
+ initialScrollToSelector?: string;
5
6
  };
6
- export declare const ModalBaseBody: ({ children, className }: TModalBaseBodyProps) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const ModalBaseBody: ({ children, className, initialScrollToSelector }: TModalBaseBodyProps) => import("react/jsx-runtime").JSX.Element;
7
8
  export {};
@@ -1 +1 @@
1
- export { isPanelCounterActive, panelReducer, setPanelConfig, setPanelCounterData } from './model/panelSlice';
1
+ export { isPanelCounterActive, panelReducer, setPanelConfig, setPanelCounterData, setPanelEnabled, } from './model/panelSlice';
@@ -2,8 +2,9 @@ import { TPanelConfig, TPanelCounterData } from "../../../shared/model/panels";
2
2
  type TPanelState = {
3
3
  config: TPanelConfig;
4
4
  counterData: TPanelCounterData;
5
+ enabled: boolean;
5
6
  };
6
- export declare const setPanelConfig: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<TPanelConfig, "panel/setPanelConfig">, setPanelCounterData: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<TPanelCounterData, "panel/setPanelCounterData">;
7
+ export declare const setPanelConfig: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<TPanelConfig, "panel/setPanelConfig">, setPanelCounterData: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<TPanelCounterData, "panel/setPanelCounterData">, setPanelEnabled: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<boolean, "panel/setPanelEnabled">;
7
8
  export declare const isPanelCounterActive: import("reselect").Selector<{
8
9
  panel: TPanelState;
9
10
  }, boolean, []> & {
@@ -0,0 +1 @@
1
+ export { playerPanelReducer, setPlayerPanelShowTotalWin } from './model/playerPanelSlice';
@@ -0,0 +1,6 @@
1
+ type TPlayerPanelState = {
2
+ showTotalWin: boolean;
3
+ };
4
+ export declare const setPlayerPanelShowTotalWin: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<boolean, "playerPanel/setPlayerPanelShowTotalWin">;
5
+ export declare const playerPanelReducer: import("redux").Reducer<TPlayerPanelState>;
6
+ export {};
@@ -1 +1 @@
1
- export { addSkipCountHoldForTurbo, blockSkipTooltip, closeSkipTooltip, getHoldForTurboAvailable, resetSkipCountHoldForTurbo, setSkipEnabled, setSkipHoldForTurboShown, setSkipOptions, setTurboActive, skipReducer, skipStart, startHoldTurbo, stopHoldTurbo, } from './model/skipSlice';
1
+ export { addSkipCountHoldForTurbo, blockSkipTooltip, closeSkipTooltip, getHoldForTurboAvailable, resetSkipCountHoldForTurbo, setHoldForTurboEnabled, setSkipEnabled, setSkipHoldForTurboShown, setSkipOptions, setTurboActive, skipReducer, skipStart, startHoldTurbo, stopHoldTurbo, } from './model/skipSlice';
@@ -2,11 +2,13 @@ import { TAppThunkAction } from "../../../shared/lib/store";
2
2
  type TSkipState = {
3
3
  isEnabled: boolean;
4
4
  isTurboActive: boolean;
5
+ turboFromHold: boolean;
5
6
  turboRoundsDelay: number;
6
7
  turboSkipDelay: number;
7
8
  turboEnabled: boolean;
8
9
  holdForTurboShown: boolean;
9
10
  holdForTurboAvailable: boolean;
11
+ holdForTurboEnabled: boolean;
10
12
  countHoldForTurbo: number;
11
13
  wasHoldOnce: boolean;
12
14
  isTooltipActive: boolean;
@@ -15,7 +17,7 @@ type TSkipState = {
15
17
  isSkipCounterEnabled: boolean;
16
18
  skipCounter: number;
17
19
  };
18
- export declare const closeSkipTooltip: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"skip/closeSkipTooltip">, setSkipOptions: import("@reduxjs/toolkit").ActionCreatorWithNonInferrablePayload<"skip/setSkipOptions">, blockSkipTooltip: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"skip/blockSkipTooltip">, enableSkipCounter: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"skip/enableSkipCounter">, addSkipCountHoldForTurbo: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"skip/addSkipCountHoldForTurbo">, resetSkipCountHoldForTurbo: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"skip/resetSkipCountHoldForTurbo">, setSkipHoldForTurboShown: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<boolean, "skip/setSkipHoldForTurboShown">;
20
+ export declare const closeSkipTooltip: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"skip/closeSkipTooltip">, setSkipOptions: import("@reduxjs/toolkit").ActionCreatorWithNonInferrablePayload<"skip/setSkipOptions">, blockSkipTooltip: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"skip/blockSkipTooltip">, enableSkipCounter: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"skip/enableSkipCounter">, addSkipCountHoldForTurbo: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"skip/addSkipCountHoldForTurbo">, resetSkipCountHoldForTurbo: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"skip/resetSkipCountHoldForTurbo">, setSkipHoldForTurboShown: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<boolean, "skip/setSkipHoldForTurboShown">, setHoldForTurboEnabled: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<boolean, "skip/setHoldForTurboEnabled">, setTurboFromHold: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<boolean, "skip/setTurboFromHold">;
19
21
  export declare const getHoldForTurboAvailable: import("reselect").Selector<{
20
22
  skip: TSkipState;
21
23
  }, boolean, []> & {
@@ -1 +1,2 @@
1
1
  export { GameWelcome } from './ui/default/GameWelcome';
2
+ export { GameWelcomeGrid } from './ui/grid/GameWelcomeGrid';
@@ -0,0 +1,2 @@
1
+ import { FC } from 'react';
2
+ export declare const GameWelcomeGrid: FC;
@@ -0,0 +1,2 @@
1
+ import { FC } from 'react';
2
+ export declare const Modules: FC;
@@ -0,0 +1,3 @@
1
+ import { TModuleInitContext } from "../../shared/modules/types";
2
+ export declare const init: ({ dispatch, getState, truelogic }: TModuleInitContext) => Promise<void>;
3
+ export declare const Component: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare function useExternalUIPublicEvents(): void;
@@ -0,0 +1 @@
1
+ export declare function useExternalUIStoreListeners(): void;
@@ -0,0 +1,2 @@
1
+ import { FC } from 'react';
2
+ export declare const ExternalUIMainScreenHooks: FC;
@@ -0,0 +1 @@
1
+ export declare const EXTERNAL_UI_MAIN_SCREEN_ID = "truelogic-external-ui-main-screen";
@@ -0,0 +1,43 @@
1
+ import { TStakeAmountsMap, TStakeAmountsMapByLevels, TStakeMode } from "../../../shared/api/config";
2
+ import { TModalName } from "../../../shared/model/modals";
3
+ /** Payload for setting stake via public API (amount, level, and/or name) */
4
+ export type TSetStakePayload = {
5
+ amount?: number;
6
+ name?: string;
7
+ };
8
+ /** Options for startAutoPlay; omit count to use previous/default value (restart behavior) */
9
+ export type TStartAutoPlayOptions = {
10
+ count?: number;
11
+ };
12
+ /** Data added to init response by the external-ui module */
13
+ export type TExternalUIModuleInitData = {
14
+ modules: {
15
+ externalUI: {
16
+ mainScreenID: string;
17
+ compliance: {
18
+ licenseName: string;
19
+ skipAvailable: boolean;
20
+ autoplayInfinityAvailable: boolean;
21
+ autoplayMaxCount: number;
22
+ };
23
+ stakeData: {
24
+ modes: TStakeMode[];
25
+ amountsMap: TStakeAmountsMap;
26
+ amountsMapByLevels: TStakeAmountsMapByLevels;
27
+ };
28
+ };
29
+ };
30
+ };
31
+ export type TExternalUIModalName = Extract<TModalName, 'bonusFeature' | 'menu' | 'autoplay' | 'stakeAmounts'>;
32
+ export type TExternalUIPublicApi = {
33
+ play: () => void;
34
+ skip: () => void;
35
+ setStake: (stake: TSetStakePayload) => void;
36
+ startAutoPlay: (options?: TStartAutoPlayOptions) => void;
37
+ stopAutoPlay: () => void;
38
+ startFastPlay: () => void;
39
+ stopFastPlay: () => void;
40
+ startTurbo: () => void;
41
+ stopTurbo: () => void;
42
+ openModal: (modalName: TExternalUIModalName) => void;
43
+ };
@@ -22,7 +22,7 @@ import { TMenuConfig } from "../shared/model/menu";
22
22
  import { TPanelCounterData, TPanelDefaultConfig, TPanelProConfig } from "../shared/model/panels";
23
23
  import { TSkipConfig } from "../shared/model/skip";
24
24
  import { TTopLineConfig } from "../shared/model/topLine";
25
- import { TWelcomeDefaultConfig, TWelcomeProConfig } from "../shared/model/welcome";
25
+ import { TWelcomeDefaultConfig, TWelcomeGridConfig, TWelcomeProConfig } from "../shared/model/welcome";
26
26
  import { TSocketPrizeDropEventsFake, TSocketPrizeDropFake } from "../shared/sockets";
27
27
  import { TLoggerConfig } from "../truelogic";
28
28
  import { TStoredPayTableConfig } from './types/PayTable';
@@ -61,6 +61,7 @@ export type TSandboxConfig = {
61
61
  };
62
62
  steps: string;
63
63
  };
64
+ export type TModulesConfig = TInitConfig['modules'];
64
65
  export type TApiConfigFakeGUI = TApiConfigFake & {
65
66
  preset: string;
66
67
  };
@@ -86,6 +87,7 @@ export type TApiPrizeDropSocketCredentialsFakeGUI = TApiPrizeDropSocketCredentia
86
87
  export type TStoredConfigs = {
87
88
  gui: TGUIConfig;
88
89
  sandbox: TSandboxConfig;
90
+ modules: TModulesConfig;
89
91
  apiConfigFake: TApiConfigFakeGUI;
90
92
  apiRoundOpenFake: TApiRoundOpenFakeGUI;
91
93
  apiRoundPlayFake: TApiRoundPlayFakeGUI;
@@ -108,6 +110,8 @@ export type TStoredConfigs = {
108
110
  };
109
111
  welcomeDefault: TWelcomeDefaultConfig;
110
112
  welcomeDefaultBackground: string;
113
+ welcomeGrid: TWelcomeGridConfig;
114
+ welcomeGridBackground: string;
111
115
  welcomePro: TWelcomeProConfig;
112
116
  panelDefault: TPanelDefaultConfig;
113
117
  panelPro: TPanelProConfig;
@@ -143,6 +147,7 @@ declare class ConfigManager {
143
147
  getApiPrizeDropSocketCredentialsFake(): TApiPrizeDropSocketCredentialsFakeGUI;
144
148
  getSocketPrizeDropFake(): TSocketPrizeDropFake;
145
149
  getSocketPrizeDropEventsFake(): TSocketPrizeDropEventsFake;
150
+ getModules(): TModulesConfig;
146
151
  getInit(): TInitConfig;
147
152
  getConfiguration(): TConfiguration;
148
153
  getBonus(): TBonusConfig;
@@ -155,6 +160,8 @@ declare class ConfigManager {
155
160
  getWelcomeDefault(): TWelcomeDefaultConfig;
156
161
  getWelcomeDefaultBackground(): string;
157
162
  getWelcomePro(): TWelcomeProConfig;
163
+ getWelcomeGrid(): TWelcomeGridConfig;
164
+ getWelcomeGridBackground(): string;
158
165
  getPanelDefault(): TPanelDefaultConfig;
159
166
  getPanelPro(): TPanelProConfig;
160
167
  getMenu(): TMenuConfig;
@@ -183,6 +190,7 @@ declare class ConfigManager {
183
190
  saveApiPrizeDropJoinCampaignFake(config: TApiPrizeDropJoinCampaignFakeGUI): void;
184
191
  saveSocketPrizeDropEventsFake(config?: TSocketPrizeDropEventsFake): void;
185
192
  saveInit(config?: TInitConfig): void;
193
+ saveModules(config?: TModulesConfig): void;
186
194
  saveConfiguration(configuration?: TConfiguration): void;
187
195
  saveLoadingDefault(config?: TLoadingDefaultConfig): void;
188
196
  saveLoadingProMask(config: {
@@ -192,6 +200,8 @@ declare class ConfigManager {
192
200
  saveLoadingProBackground(config: string): void;
193
201
  saveWelcomeDefault(config?: TWelcomeDefaultConfig): void;
194
202
  saveWelcomeDefaultBackground(config: string): void;
203
+ saveWelcomeGrid(config?: TWelcomeGridConfig): void;
204
+ saveWelcomeGridBackground(config: string): void;
195
205
  saveWelcomePro(config?: TWelcomeProConfig): void;
196
206
  savePanelDefault(config?: TPanelDefaultConfig): void;
197
207
  savePanelPro(config?: TPanelProConfig): void;
@@ -0,0 +1,11 @@
1
+ import type { IInitResponse } from "../truelogic";
2
+ type TExternalUIInitData = IInitResponse['modules']['externalUI'];
3
+ export declare function createExternalPanel(container: HTMLElement, initData: TExternalUIInitData | undefined): {
4
+ destroy: () => void;
5
+ setTotalWin: (win: {
6
+ winCash: number;
7
+ mode?: 'single' | 'total';
8
+ }) => void;
9
+ setTotalWinVisible: (visible: boolean) => void;
10
+ };
11
+ export {};
@@ -16,6 +16,8 @@ export declare const DefaultPortrait: TStory;
16
16
  export declare const DefaultPortraitWithoutVolatility: TStory;
17
17
  export declare const DefaultPortraitNarrow: TStory;
18
18
  export declare const DefaultPortraitWide: TStory;
19
+ export declare const GridLandscape: TStory;
20
+ export declare const GridPortrait: TStory;
19
21
  export declare const Pro: TStory;
20
22
  export declare const ProDocsDemo: TStory;
21
23
  export declare const ProWithoutTypeAnyWhere: TStory;
@@ -1,6 +1,6 @@
1
1
  type TVoidFunc = (...args: unknown[]) => void;
2
- type TEventsDeclaration = Record<string, TVoidFunc>;
3
- export declare abstract class Emitter<TEvents extends TEventsDeclaration> {
2
+ export type TEventsDeclaration = Record<string, TVoidFunc>;
3
+ export declare abstract class Emitter<TEvents extends Record<keyof TEvents, TVoidFunc>> {
4
4
  protected listeners: Map<keyof TEvents, TVoidFunc[]>;
5
5
  protected listenersOneTime: Map<keyof TEvents, TVoidFunc[]>;
6
6
  on<K extends keyof TEvents>(event: K, listener: TEvents[K]): this;
@@ -1,4 +1,4 @@
1
1
  export { CashService } from './cashService';
2
- export { Emitter } from './emitter';
2
+ export { Emitter, TEventsDeclaration } from './emitter';
3
3
  export { Logger, TLoggerConfig } from './logger';
4
4
  export { UtilsService } from './utilsService';
@@ -16,6 +16,7 @@ export declare class Logger {
16
16
  operatorEvent(eventName: string, ...args: unknown[]): void;
17
17
  socketEvent(eventName: string, ...args: unknown[]): void;
18
18
  fakeApiEvent(endpoint: string, payload: unknown, response: unknown, isError?: boolean): void;
19
+ moduleEvent(eventName: string, ...args: unknown[]): void;
19
20
  error(...args: unknown[]): void;
20
21
  hello(): void;
21
22
  }