@opexa/portal-components 0.0.116 → 0.0.118

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 (176) hide show
  1. package/dist/components/Bonus/Bonus.client.js +1 -1
  2. package/dist/components/Cashback/Cashback.client.js +1 -1
  3. package/dist/components/CustomPromo/CustomPromo.d.ts +7 -0
  4. package/dist/components/CustomPromo/CustomPromo.js +11 -0
  5. package/dist/components/CustomPromo/index.d.ts +1 -0
  6. package/dist/components/CustomPromo/index.js +1 -0
  7. package/dist/components/DepositWithdrawal/Deposit/OnlineBankDeposit/OnlineBankDepositContext.d.ts +2 -2
  8. package/dist/components/DepositWithdrawal/Deposit/OnlineBankDeposit/useOnlineBankDeposit.d.ts +1 -1
  9. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHDepositContext.d.ts +2 -2
  10. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/useQRPHDeposit.d.ts +1 -1
  11. package/dist/components/Disclaimer/DisclaimerV1.js +1 -1
  12. package/dist/components/GameLaunch/GameLaunch.lazy.js +1 -1
  13. package/dist/components/GamesSearch/GamesSearch.js +1 -1
  14. package/dist/components/Jackpots/JackpotsCarousel/JackpotsCarouselItem.module.css +184 -184
  15. package/dist/components/Jackpots/JackpotsList/JackpotsListItem.module.css +184 -184
  16. package/dist/components/News/News.js +1 -1
  17. package/dist/components/Promo/Promo.client.js +1 -1
  18. package/dist/components/Promos/Cashback.d.ts +1 -1
  19. package/dist/components/Promos/Cashback.js +1 -1
  20. package/dist/components/Promos/CustomPromo.d.ts +7 -0
  21. package/dist/components/Promos/CustomPromo.js +7 -0
  22. package/dist/components/Promos/Promo.js +1 -1
  23. package/dist/components/Promos/PromosCarousel.d.ts +12 -0
  24. package/dist/components/Promos/PromosCarousel.js +7 -4
  25. package/dist/components/Promos/PromosGrid.d.ts +3 -0
  26. package/dist/components/Promos/PromosGrid.js +7 -4
  27. package/dist/components/Quests/DailyCheckInQuest/DailyCheckInQuest.d.ts +1 -4
  28. package/dist/components/Quests/DailyCheckInQuest/DailyCheckInQuest.js +38 -30
  29. package/dist/components/Quests/DailyCheckInQuest/DailyCheckInQuestRules.d.ts +6 -0
  30. package/dist/components/Quests/DailyCheckInQuest/DailyCheckInQuestRules.js +15 -0
  31. package/dist/components/Quests/OnboardingQuest/OnboardingQuest.d.ts +1 -4
  32. package/dist/components/Quests/OnboardingQuest/OnboardingQuest.js +27 -3
  33. package/dist/components/Quests/OnboardingQuest/OnboardingQuestRules.d.ts +6 -0
  34. package/dist/components/Quests/OnboardingQuest/OnboardingQuestRules.js +15 -0
  35. package/dist/components/Quests/WageringQuest/WageringQuest.d.ts +1 -4
  36. package/dist/components/Quests/WageringQuest/WageringQuest.js +15 -11
  37. package/dist/components/Quests/WageringQuest/WageringQuestRules.d.ts +7 -0
  38. package/dist/components/Quests/WageringQuest/WageringQuestRules.js +17 -0
  39. package/dist/components/Search/Search.lazy.js +1 -1
  40. package/dist/components/SignIn/MobileNumberSignIn.js +3 -1
  41. package/dist/components/SignUp/SignUpForm.js +100 -10
  42. package/dist/components/Tournaments/TournamentsCarousel/TournamentsCarouselItem.module.css +184 -184
  43. package/dist/components/Tournaments/TournamentsList/TournamentItem.module.css +184 -184
  44. package/dist/constants/BranchCode.d.ts +4 -0
  45. package/dist/constants/BranchCode.js +42 -0
  46. package/dist/constants/index.d.ts +1 -0
  47. package/dist/constants/index.js +1 -0
  48. package/dist/icons/CalendarIcon.js +1 -1
  49. package/dist/services/queries.js +2369 -2369
  50. package/dist/styles/theme.css +699 -699
  51. package/dist/types/index.d.ts +7 -0
  52. package/dist/ui/DatePicker/DatePicker.d.ts +1080 -2088
  53. package/dist/ui/DatePicker/datePicker.recipe.d.ts +39 -81
  54. package/dist/ui/DatePicker/datePicker.recipe.js +19 -0
  55. package/dist/ui/Select/Select.d.ts +45 -45
  56. package/dist/ui/Select/select.recipe.d.ts +3 -3
  57. package/dist/ui/Select/select.recipe.js +2 -2
  58. package/package.json +163 -163
  59. package/dist/client/hooks/index.d.ts +0 -65
  60. package/dist/client/hooks/index.js +0 -65
  61. package/dist/client/services/index.d.ts +0 -4
  62. package/dist/client/services/index.js +0 -4
  63. package/dist/client/utils/index.d.ts +0 -3
  64. package/dist/client/utils/index.js +0 -3
  65. package/dist/components/Empty.d.ts +0 -10
  66. package/dist/components/Empty.js +0 -7
  67. package/dist/components/Games/GameContext.d.ts +0 -2
  68. package/dist/components/Games/GameContext.js +0 -2
  69. package/dist/components/InfiniteScroll.d.ts +0 -10
  70. package/dist/components/InfiniteScroll.js +0 -25
  71. package/dist/components/JackpotCounter/JackpotCounter.client.d.ts +0 -2
  72. package/dist/components/JackpotCounter/JackpotCounter.client.js +0 -66
  73. package/dist/components/JackpotCounter/JackpotCounter.d.ts +0 -17
  74. package/dist/components/JackpotCounter/JackpotCounter.js +0 -21
  75. package/dist/components/JackpotCounter/JackpotCounterItem.d.ts +0 -18
  76. package/dist/components/JackpotCounter/JackpotCounterItem.js +0 -109
  77. package/dist/components/JackpotCounter/JackpotCounterItem.module.css +0 -184
  78. package/dist/components/JackpotCounter/index.d.ts +0 -1
  79. package/dist/components/JackpotCounter/index.js +0 -1
  80. package/dist/components/Jackpots/JackpotDesktop.d.ts +0 -1
  81. package/dist/components/Jackpots/JackpotDesktop.js +0 -45
  82. package/dist/components/Jackpots/JackpotGameProviders.d.ts +0 -5
  83. package/dist/components/Jackpots/JackpotGameProviders.js +0 -41
  84. package/dist/components/Jackpots/JackpotItemDesktop.d.ts +0 -9
  85. package/dist/components/Jackpots/JackpotItemDesktop.js +0 -43
  86. package/dist/components/Jackpots/JackpotItemMobile.d.ts +0 -9
  87. package/dist/components/Jackpots/JackpotItemMobile.js +0 -44
  88. package/dist/components/Jackpots/JackpotMobile.d.ts +0 -1
  89. package/dist/components/Jackpots/JackpotMobile.js +0 -46
  90. package/dist/components/Jackpots/JackpotRules.d.ts +0 -5
  91. package/dist/components/Jackpots/JackpotRules.js +0 -11
  92. package/dist/components/Jackpots/Jackpots.client.d.ts +0 -2
  93. package/dist/components/Jackpots/Jackpots.client.js +0 -29
  94. package/dist/components/Jackpots/JackpotsContext.d.ts +0 -4
  95. package/dist/components/Jackpots/JackpotsContext.js +0 -3
  96. package/dist/components/Jackpots/useJackpotData.d.ts +0 -14
  97. package/dist/components/Jackpots/useJackpotData.js +0 -93
  98. package/dist/components/Jackpots/useJackpotItemData.d.ts +0 -20
  99. package/dist/components/Jackpots/useJackpotItemData.js +0 -87
  100. package/dist/components/KYC/Header.d.ts +0 -1
  101. package/dist/components/KYC/Header.js +0 -6
  102. package/dist/components/KYC/Step1.d.ts +0 -1
  103. package/dist/components/KYC/Step1.js +0 -12
  104. package/dist/components/KYC/Step2.d.ts +0 -1
  105. package/dist/components/KYC/Step2.js +0 -12
  106. package/dist/components/KYC/Step3.d.ts +0 -1
  107. package/dist/components/KYC/Step3.js +0 -11
  108. package/dist/components/KYC/Step4.d.ts +0 -1
  109. package/dist/components/KYC/Step4.js +0 -6
  110. package/dist/components/Messages/MessageItem.d.ts +0 -4
  111. package/dist/components/Messages/MessageItem.js +0 -34
  112. package/dist/components/PortalProvider/WebVitals.d.ts +0 -1
  113. package/dist/components/PortalProvider/WebVitals.js +0 -8
  114. package/dist/components/Quests/DailyCheckInQuest/DailyCheckInQuestModal.d.ts +0 -8
  115. package/dist/components/Quests/DailyCheckInQuest/DailyCheckInQuestModal.js +0 -8
  116. package/dist/components/Quests/WageringQuest/WageringQuestModal.d.ts +0 -9
  117. package/dist/components/Quests/WageringQuest/WageringQuestModal.js +0 -8
  118. package/dist/components/TournamentCounter/TournamentCounter.client.d.ts +0 -2
  119. package/dist/components/TournamentCounter/TournamentCounter.client.js +0 -50
  120. package/dist/components/TournamentCounter/TournamentCounter.d.ts +0 -8
  121. package/dist/components/TournamentCounter/TournamentCounter.js +0 -21
  122. package/dist/components/TournamentCounter/TournamentCounterItem.d.ts +0 -8
  123. package/dist/components/TournamentCounter/TournamentCounterItem.js +0 -106
  124. package/dist/components/TournamentCounter/index.d.ts +0 -1
  125. package/dist/components/TournamentCounter/index.js +0 -1
  126. package/dist/components/Tournaments/TournamentDesktop.d.ts +0 -1
  127. package/dist/components/Tournaments/TournamentDesktop.js +0 -57
  128. package/dist/components/Tournaments/TournamentGameProviders.d.ts +0 -5
  129. package/dist/components/Tournaments/TournamentGameProviders.js +0 -38
  130. package/dist/components/Tournaments/TournamentItemDesktop.d.ts +0 -7
  131. package/dist/components/Tournaments/TournamentItemDesktop.js +0 -56
  132. package/dist/components/Tournaments/TournamentItemMobile.d.ts +0 -7
  133. package/dist/components/Tournaments/TournamentItemMobile.js +0 -54
  134. package/dist/components/Tournaments/TournamentMobile.d.ts +0 -1
  135. package/dist/components/Tournaments/TournamentMobile.js +0 -55
  136. package/dist/components/Tournaments/TournamentRules.d.ts +0 -5
  137. package/dist/components/Tournaments/TournamentRules.js +0 -11
  138. package/dist/components/Tournaments/Tournaments.client.d.ts +0 -2
  139. package/dist/components/Tournaments/Tournaments.client.js +0 -20
  140. package/dist/components/Tournaments/TournamentsContext.d.ts +0 -4
  141. package/dist/components/Tournaments/TournamentsContext.js +0 -3
  142. package/dist/components/Tournaments/useTournamentData.d.ts +0 -10
  143. package/dist/components/Tournaments/useTournamentData.js +0 -72
  144. package/dist/components/Tournaments/useTournamentItemData.d.ts +0 -16
  145. package/dist/components/Tournaments/useTournamentItemData.js +0 -64
  146. package/dist/components/index.d.ts +0 -33
  147. package/dist/components/index.js +0 -33
  148. package/dist/constants/envVars.d.ts +0 -5
  149. package/dist/constants/envVars.js +0 -28
  150. package/dist/constants/gameProviders.d.ts +0 -5
  151. package/dist/constants/gameProviders.js +0 -362
  152. package/dist/constants/gameTypes.d.ts +0 -4
  153. package/dist/constants/gameTypes.js +0 -64
  154. package/dist/constants/headerKeys.d.ts +0 -1
  155. package/dist/constants/headerKeys.js +0 -1
  156. package/dist/constants/secretQuestions.d.ts +0 -3
  157. package/dist/constants/secretQuestions.js +0 -24
  158. package/dist/constants/storageKeys.d.ts +0 -2
  159. package/dist/constants/storageKeys.js +0 -2
  160. package/dist/icons/index.d.ts +0 -65
  161. package/dist/icons/index.js +0 -65
  162. package/dist/images/hacksaw-gaming.png +0 -0
  163. package/dist/server/services/index.d.ts +0 -4
  164. package/dist/server/services/index.js +0 -4
  165. package/dist/server/utils/index.d.ts +0 -29
  166. package/dist/server/utils/index.js +0 -29
  167. package/dist/ui/Presence.d.ts +0 -2
  168. package/dist/ui/Presence.js +0 -7
  169. package/dist/ui/Prose.d.ts +0 -2
  170. package/dist/ui/Prose.js +0 -5
  171. package/dist/ui/index.d.ts +0 -26
  172. package/dist/ui/index.js +0 -26
  173. package/dist/utils/index.d.ts +0 -17
  174. package/dist/utils/index.js +0 -17
  175. package/dist/utils/isMobile.d.ts +0 -5
  176. package/dist/utils/isMobile.js +0 -9
@@ -1,184 +1,184 @@
1
- @keyframes arrow-green-flash {
2
- 0% {
3
- color: #abefc6;
4
- }
5
- 100% {
6
- color: #079455;
7
- }
8
- }
9
-
10
- .animate-arrow-green-flash-1 {
11
- animation: arrow-green-flash 0.4s infinite;
12
- animation-delay: -0.2s;
13
- }
14
-
15
- .animate-arrow-green-flash-2 {
16
- animation: arrow-green-flash 0.4s infinite;
17
- animation-delay: -0.1s;
18
- }
19
-
20
- .animate-arrow-green-flash-3 {
21
- animation: arrow-green-flash 0.4s infinite;
22
- }
23
-
24
- @keyframes arrow-red-flash {
25
- 0%,
26
- 100% {
27
- color: #f97066;
28
- }
29
- 50% {
30
- color: #fecdca;
31
- }
32
- }
33
-
34
- .animate-arrow-red-flash-1 {
35
- animation: arrow-red-flash 0.4s infinite;
36
- }
37
-
38
- .animate-arrow-red-flash-2 {
39
- animation: arrow-red-flash 0.4s infinite;
40
- animation-delay: -0.1s;
41
- }
42
-
43
- .animate-arrow-red-flash-3 {
44
- animation: arrow-red-flash 0.4s infinite;
45
- animation-delay: -0.2s;
46
- }
47
-
48
- /* Animated BG */
49
- @keyframes rotate {
50
- to {
51
- transform: rotate(1turn);
52
- }
53
- }
54
-
55
- .light-rays {
56
- position: absolute;
57
- top: 0;
58
- left: 0;
59
- right: 0;
60
- bottom: 0;
61
- overflow: hidden;
62
-
63
- --first: var(--color-bg-tertiary);
64
- --second: var(--color-bg-quaternary);
65
- }
66
-
67
- .light-rays::before,
68
- .light-rays::after {
69
- content: '';
70
- position: absolute;
71
- top: var(--light-rays-top, 150px);
72
- left: calc(50% - 90px);
73
- margin: -100vmax;
74
- width: 200vmax;
75
- height: 200vmax;
76
- opacity: 0.6;
77
- transform-origin: center;
78
- }
79
-
80
- .light-rays::before {
81
- background: conic-gradient(
82
- var(--first) 0deg 7.2deg,
83
- var(--second) 7.2deg 14.4deg,
84
- var(--first) 14.4deg 21.6deg,
85
- var(--second) 21.6deg 28.8deg,
86
- var(--first) 28.8deg 36deg,
87
- var(--second) 36deg 43.2deg,
88
- var(--first) 43.2deg 50.4deg,
89
- var(--second) 50.4deg 57.6deg,
90
- var(--first) 57.6deg 64.8deg,
91
- var(--second) 64.8deg 72deg,
92
- var(--first) 72deg 79.2deg,
93
- var(--second) 79.2deg 86.4deg,
94
- var(--first) 86.4deg 93.6deg,
95
- var(--second) 93.6deg 100.8deg,
96
- var(--first) 100.8deg 108deg,
97
- var(--second) 108deg 115.2deg,
98
- var(--first) 115.2deg 122.4deg,
99
- var(--second) 122.4deg 129.6deg,
100
- var(--first) 129.6deg 136.8deg,
101
- var(--second) 136.8deg 144deg,
102
- var(--first) 144deg 151.2deg,
103
- var(--second) 151.2deg 158.4deg,
104
- var(--first) 158.4deg 165.6deg,
105
- var(--second) 165.6deg 172.8deg,
106
- var(--first) 172.8deg 180deg,
107
- var(--second) 180deg 187.2deg,
108
- var(--first) 187.2deg 194.4deg,
109
- var(--second) 194.4deg 201.6deg,
110
- var(--first) 201.6deg 208.8deg,
111
- var(--second) 208.8deg 216deg,
112
- var(--first) 216deg 223.2deg,
113
- var(--second) 223.2deg 230.4deg,
114
- var(--first) 230.4deg 237.6deg,
115
- var(--second) 237.6deg 244.8deg,
116
- var(--first) 244.8deg 252deg,
117
- var(--second) 252deg 259.2deg,
118
- var(--first) 259.2deg 266.4deg,
119
- var(--second) 266.4deg 273.6deg,
120
- var(--first) 273.6deg 280.8deg,
121
- var(--second) 280.8deg 288deg,
122
- var(--first) 288deg 295.2deg,
123
- var(--second) 295.2deg 302.4deg,
124
- var(--first) 302.4deg 309.6deg,
125
- var(--second) 309.6deg 316.8deg,
126
- var(--first) 316.8deg 324deg,
127
- var(--second) 324deg 331.2deg,
128
- var(--first) 331.2deg 338.4deg,
129
- var(--second) 338.4deg 345.6deg,
130
- var(--first) 345.6deg 352.8deg,
131
- var(--second) 352.8deg 360deg
132
- );
133
- animation: rotate 20s linear infinite;
134
- }
135
-
136
- @media (max-width: 1024px) {
137
- .light-rays::before,
138
- .light-rays::after {
139
- left: auto;
140
- right: 11%;
141
- }
142
- }
143
-
144
- /* ScrollArea.module.css */
145
- .scrollArea {
146
- overflow-y: scroll;
147
- padding-right: 4px;
148
- }
149
-
150
- /* WebKit-based browsers */
151
- .scrollArea::-webkit-scrollbar {
152
- width: 8px;
153
- }
154
-
155
- .scrollArea::-webkit-scrollbar-track {
156
- background: var(--color-bg-primary-alt);
157
- border-radius: 9999px;
158
- }
159
-
160
- .scrollArea::-webkit-scrollbar-thumb {
161
- background-color: var(--color-bg-quaternary);
162
- border-radius: 9999px;
163
- }
164
-
165
- @keyframes waveColor {
166
- 0%,
167
- 2.5% {
168
- color: var(--wave-highlight-color);
169
- }
170
- 2.51%,
171
- 100% {
172
- color: var(--color-brand-300);
173
- }
174
- }
175
-
176
- .animate-wave-color-success {
177
- --wave-highlight-color: var(--color-success-800);
178
- animation: waveColor 4s ease-in-out infinite;
179
- }
180
-
181
- .animate-wave-color-error {
182
- --wave-highlight-color: var(--color-error-600);
183
- animation: waveColor 4s ease-in-out infinite;
184
- }
1
+ @keyframes arrow-green-flash {
2
+ 0% {
3
+ color: #abefc6;
4
+ }
5
+ 100% {
6
+ color: #079455;
7
+ }
8
+ }
9
+
10
+ .animate-arrow-green-flash-1 {
11
+ animation: arrow-green-flash 0.4s infinite;
12
+ animation-delay: -0.2s;
13
+ }
14
+
15
+ .animate-arrow-green-flash-2 {
16
+ animation: arrow-green-flash 0.4s infinite;
17
+ animation-delay: -0.1s;
18
+ }
19
+
20
+ .animate-arrow-green-flash-3 {
21
+ animation: arrow-green-flash 0.4s infinite;
22
+ }
23
+
24
+ @keyframes arrow-red-flash {
25
+ 0%,
26
+ 100% {
27
+ color: #f97066;
28
+ }
29
+ 50% {
30
+ color: #fecdca;
31
+ }
32
+ }
33
+
34
+ .animate-arrow-red-flash-1 {
35
+ animation: arrow-red-flash 0.4s infinite;
36
+ }
37
+
38
+ .animate-arrow-red-flash-2 {
39
+ animation: arrow-red-flash 0.4s infinite;
40
+ animation-delay: -0.1s;
41
+ }
42
+
43
+ .animate-arrow-red-flash-3 {
44
+ animation: arrow-red-flash 0.4s infinite;
45
+ animation-delay: -0.2s;
46
+ }
47
+
48
+ /* Animated BG */
49
+ @keyframes rotate {
50
+ to {
51
+ transform: rotate(1turn);
52
+ }
53
+ }
54
+
55
+ .light-rays {
56
+ position: absolute;
57
+ top: 0;
58
+ left: 0;
59
+ right: 0;
60
+ bottom: 0;
61
+ overflow: hidden;
62
+
63
+ --first: var(--color-bg-tertiary);
64
+ --second: var(--color-bg-quaternary);
65
+ }
66
+
67
+ .light-rays::before,
68
+ .light-rays::after {
69
+ content: '';
70
+ position: absolute;
71
+ top: var(--light-rays-top, 150px);
72
+ left: calc(50% - 90px);
73
+ margin: -100vmax;
74
+ width: 200vmax;
75
+ height: 200vmax;
76
+ opacity: 0.6;
77
+ transform-origin: center;
78
+ }
79
+
80
+ .light-rays::before {
81
+ background: conic-gradient(
82
+ var(--first) 0deg 7.2deg,
83
+ var(--second) 7.2deg 14.4deg,
84
+ var(--first) 14.4deg 21.6deg,
85
+ var(--second) 21.6deg 28.8deg,
86
+ var(--first) 28.8deg 36deg,
87
+ var(--second) 36deg 43.2deg,
88
+ var(--first) 43.2deg 50.4deg,
89
+ var(--second) 50.4deg 57.6deg,
90
+ var(--first) 57.6deg 64.8deg,
91
+ var(--second) 64.8deg 72deg,
92
+ var(--first) 72deg 79.2deg,
93
+ var(--second) 79.2deg 86.4deg,
94
+ var(--first) 86.4deg 93.6deg,
95
+ var(--second) 93.6deg 100.8deg,
96
+ var(--first) 100.8deg 108deg,
97
+ var(--second) 108deg 115.2deg,
98
+ var(--first) 115.2deg 122.4deg,
99
+ var(--second) 122.4deg 129.6deg,
100
+ var(--first) 129.6deg 136.8deg,
101
+ var(--second) 136.8deg 144deg,
102
+ var(--first) 144deg 151.2deg,
103
+ var(--second) 151.2deg 158.4deg,
104
+ var(--first) 158.4deg 165.6deg,
105
+ var(--second) 165.6deg 172.8deg,
106
+ var(--first) 172.8deg 180deg,
107
+ var(--second) 180deg 187.2deg,
108
+ var(--first) 187.2deg 194.4deg,
109
+ var(--second) 194.4deg 201.6deg,
110
+ var(--first) 201.6deg 208.8deg,
111
+ var(--second) 208.8deg 216deg,
112
+ var(--first) 216deg 223.2deg,
113
+ var(--second) 223.2deg 230.4deg,
114
+ var(--first) 230.4deg 237.6deg,
115
+ var(--second) 237.6deg 244.8deg,
116
+ var(--first) 244.8deg 252deg,
117
+ var(--second) 252deg 259.2deg,
118
+ var(--first) 259.2deg 266.4deg,
119
+ var(--second) 266.4deg 273.6deg,
120
+ var(--first) 273.6deg 280.8deg,
121
+ var(--second) 280.8deg 288deg,
122
+ var(--first) 288deg 295.2deg,
123
+ var(--second) 295.2deg 302.4deg,
124
+ var(--first) 302.4deg 309.6deg,
125
+ var(--second) 309.6deg 316.8deg,
126
+ var(--first) 316.8deg 324deg,
127
+ var(--second) 324deg 331.2deg,
128
+ var(--first) 331.2deg 338.4deg,
129
+ var(--second) 338.4deg 345.6deg,
130
+ var(--first) 345.6deg 352.8deg,
131
+ var(--second) 352.8deg 360deg
132
+ );
133
+ animation: rotate 20s linear infinite;
134
+ }
135
+
136
+ @media (max-width: 1024px) {
137
+ .light-rays::before,
138
+ .light-rays::after {
139
+ left: auto;
140
+ right: 11%;
141
+ }
142
+ }
143
+
144
+ /* ScrollArea.module.css */
145
+ .scrollArea {
146
+ overflow-y: scroll;
147
+ padding-right: 4px;
148
+ }
149
+
150
+ /* WebKit-based browsers */
151
+ .scrollArea::-webkit-scrollbar {
152
+ width: 8px;
153
+ }
154
+
155
+ .scrollArea::-webkit-scrollbar-track {
156
+ background: var(--color-bg-primary-alt);
157
+ border-radius: 9999px;
158
+ }
159
+
160
+ .scrollArea::-webkit-scrollbar-thumb {
161
+ background-color: var(--color-bg-quaternary);
162
+ border-radius: 9999px;
163
+ }
164
+
165
+ @keyframes waveColor {
166
+ 0%,
167
+ 2.5% {
168
+ color: var(--wave-highlight-color);
169
+ }
170
+ 2.51%,
171
+ 100% {
172
+ color: var(--color-brand-300);
173
+ }
174
+ }
175
+
176
+ .animate-wave-color-success {
177
+ --wave-highlight-color: var(--color-success-800);
178
+ animation: waveColor 4s ease-in-out infinite;
179
+ }
180
+
181
+ .animate-wave-color-error {
182
+ --wave-highlight-color: var(--color-error-600);
183
+ animation: waveColor 4s ease-in-out infinite;
184
+ }
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import Image from 'next/image';
3
3
  import Link from 'next/link';
4
4
  import { ChevronLeftIcon } from '../../icons/ChevronLeftIcon.js';
5
- import { Prose } from '../../ui/Prose.js';
5
+ import { Prose } from '../../ui/Prose/index.js';
6
6
  export function News(props) {
7
7
  return (_jsxs("div", { style: props.style, className: props.className, children: [_jsxs(Link, { href: props.viewAllUrl ?? '/news', className: "text-button-secondary-fg flex items-center gap-lg text-lg font-semibold", children: [_jsx(ChevronLeftIcon, { className: "size-6" }), "Back to all News"] }), _jsx(Image, { src: props.news.image, alt: "", width: 1024, height: 600, className: "mt-3xl block h-auto w-full rounded-xl lg:mt-6" }), _jsx("p", { className: "text-brand-400 mt-xl text-sm font-semibold lg:mt-6", children: props.news.category }), _jsx("h2", { className: "mt-xl text-2xl font-semibold lg:mt-6", children: props.news.title }), _jsx(Prose, { className: "mt-xl lg:mt-6", dangerouslySetInnerHTML: {
8
8
  __html: props.news.content,
@@ -11,7 +11,7 @@ import { useLocaleInfo } from '../../client/hooks/useLocaleInfo.js';
11
11
  import { usePromoQuery } from '../../client/hooks/usePromoQuery.js';
12
12
  import { ChevronLeftIcon } from '../../icons/ChevronLeftIcon.js';
13
13
  import { Button } from '../../ui/Button/index.js';
14
- import { Prose } from '../../ui/Prose.js';
14
+ import { Prose } from '../../ui/Prose/index.js';
15
15
  export function Promo__client(props) {
16
16
  const localeInfo = useLocaleInfo();
17
17
  const availablePromosQuery = useAvailablePromosQuery();
@@ -3,5 +3,5 @@ interface CashbackProps {
3
3
  data: TCashback;
4
4
  viewDetailsUrl: string;
5
5
  }
6
- export declare function Cashback({ data, viewDetailsUrl, }: CashbackProps): import("react/jsx-runtime").JSX.Element;
6
+ export declare function Cashback({ data, viewDetailsUrl }: CashbackProps): import("react/jsx-runtime").JSX.Element;
7
7
  export {};
@@ -5,7 +5,7 @@ import { useShallow } from 'zustand/shallow';
5
5
  import { useAvailablePromosQuery } from '../../client/hooks/useAvailablePromosQuery.js';
6
6
  import { useGlobalStore } from '../../client/hooks/useGlobalStore.js';
7
7
  import { Button } from '../../ui/Button/index.js';
8
- export function Cashback({ data, viewDetailsUrl = '/promos/cashback', }) {
8
+ export function Cashback({ data, viewDetailsUrl }) {
9
9
  const globalStore = useGlobalStore(useShallow((ctx) => ({
10
10
  depositWithdrawal: ctx.depositWithdrawal,
11
11
  })));
@@ -0,0 +1,7 @@
1
+ import type { CustomPromo } from '../../types';
2
+ interface CustomPromoProps {
3
+ data: CustomPromo;
4
+ viewDetailsUrl: string;
5
+ }
6
+ export declare function CustomPromo({ data, viewDetailsUrl }: CustomPromoProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import Image from 'next/image';
3
+ import Link from 'next/link';
4
+ import { Button } from '../../ui/Button/index.js';
5
+ export function CustomPromo({ data, viewDetailsUrl }) {
6
+ return (_jsxs("div", { className: "border-border-secondary bg-accent-50 bg-bg-primary-alt relative flex h-full flex-col overflow-hidden rounded-2xl border", children: [_jsx(Image, { src: data.banner, alt: data.name, width: 1200, height: 500, priority: true, className: "block aspect-[365/180] w-full object-cover" }), _jsxs("div", { className: "flex flex-grow flex-col px-4 pb-3xl pt-2xl", children: [_jsx("div", { className: "w-full grow text-center text-xl font-semibold", children: data.name }), _jsx("div", { className: "mt-auto flex flex-col gap-3 pt-4 lg:flex-row", children: _jsx(Button, { size: "sm", variant: "outline", asChild: true, children: _jsx(Link, { href: `${viewDetailsUrl}/${data.id}`, children: "Read more" }) }) })] })] }));
7
+ }
@@ -5,7 +5,7 @@ import { useShallow } from 'zustand/shallow';
5
5
  import { useAvailablePromosQuery } from '../../client/hooks/useAvailablePromosQuery.js';
6
6
  import { useGlobalStore } from '../../client/hooks/useGlobalStore.js';
7
7
  import { Button } from '../../ui/Button/index.js';
8
- export function Promo({ data, viewDetailsUrl = '/promos' }) {
8
+ export function Promo({ data, viewDetailsUrl }) {
9
9
  const globalStore = useGlobalStore(useShallow((ctx) => ({
10
10
  depositWithdrawal: ctx.depositWithdrawal,
11
11
  })));
@@ -1,3 +1,4 @@
1
+ import type { CustomPromo as TCustomPromo } from '../../types';
1
2
  export interface PromosCarouselProps {
2
3
  layout: 'carousel';
3
4
  /** @default "Promotions" */
@@ -8,6 +9,17 @@ export interface PromosCarouselProps {
8
9
  viewPromoDetailsUrl?: string;
9
10
  /** @default "/promos/cashback" */
10
11
  viewCashbackDetailsUrl?: string;
12
+ /** @default "/promos/custom" */
13
+ viewCustomPromoDetailsUrl?: string;
14
+ customPromos?: TCustomPromo[];
15
+ /**
16
+ * @description List of promo IDs to be excluded from the list.
17
+ * @example
18
+ * ```ts
19
+ * exclude={['12345']}
20
+ * ```
21
+ */
22
+ exclude?: string[];
11
23
  className?: string;
12
24
  }
13
25
  export declare function PromosCarousel(props: PromosCarouselProps): import("react/jsx-runtime").JSX.Element;
@@ -13,13 +13,16 @@ import { Gift01Icon } from '../../icons/Gift01Icon.js';
13
13
  import { Button } from '../../ui/Button/index.js';
14
14
  import { Empty } from '../shared/Empty.js';
15
15
  import { Cashback } from './Cashback.js';
16
+ import { CustomPromo } from './CustomPromo.js';
16
17
  import { Promo } from './Promo.js';
17
18
  export function PromosCarousel(props) {
18
19
  const promosQuery = usePromosQuery();
19
20
  const cashbacksQuery = useCashbacksQuery();
20
- const promos = promosQuery.data ?? [];
21
- const cashbacks = cashbacksQuery.data ?? [];
22
- const empty = promos.length <= 0 && cashbacks.length <= 0;
21
+ const blacklist = props.exclude ?? [];
22
+ const promos = promosQuery.data?.filter((item) => !blacklist.includes(item.id)) ?? [];
23
+ const cashbacks = cashbacksQuery.data?.filter((item) => !blacklist.includes(item.id)) ?? [];
24
+ const customPromos = props.customPromos?.filter((item) => !blacklist.includes(item.id)) ?? [];
25
+ const empty = promos.length <= 0 && cashbacks.length <= 0 && customPromos.length <= 0;
23
26
  const [emblaRef, emblaApi] = useEmblaCarousel({
24
27
  align: 'start',
25
28
  slidesToScroll: 1,
@@ -45,5 +48,5 @@ export function PromosCarousel(props) {
45
48
  onSelect(emblaApi);
46
49
  emblaApi.on('reInit', onSelect).on('select', onSelect);
47
50
  }, [emblaApi, onSelect]);
48
- return (_jsxs("div", { className: props.className, children: [_jsxs("div", { className: "flex items-center", children: [_jsx("h2", { className: "text-lg font-semibold", children: props.heading ?? 'Promotions' }), _jsx("div", { className: "grow" }), _jsxs("div", { className: "flex items-center justify-center gap-xl", children: [_jsxs(Link, { href: props.viewAllUrl ?? '/promos', className: "text-button-tertiary-fg flex gap-sm text-sm font-semibold", children: ["See All", _jsx(ChevronRightIcon, { className: "size-5 lg:hidden" })] }), _jsxs("div", { className: "hidden lg:flex", children: [_jsx(Button, { variant: "outline", colorScheme: "gray", className: "rounded-r-none border-r-0", onClick: onPrevButtonClick, disabled: prevBtnDisabled, "aria-label": "Previous", children: _jsx(ArrowLeftIcon, { className: "size-5" }) }), _jsx(Button, { variant: "outline", colorScheme: "gray", className: "rounded-l-none", onClick: onNextButtonClick, disabled: nextBtnDisabled, "aria-label": "Next", children: _jsx(ArrowRightIcon, { className: "size-5" }) })] })] })] }), empty && (_jsx(Empty, { icon: Gift01Icon, title: "No Promos", message: "No promo is currently available.", className: "mt-8" })), !empty && (_jsx(_Fragment, { children: _jsx("div", { ref: emblaRef, className: "relative mt-lg lg:overflow-hidden", children: _jsxs("div", { className: twMerge('grid auto-cols-[100%] grid-flow-col gap-1.5 lg:auto-cols-[calc((100%-(1.25rem*2))/3)] lg:gap-2xl'), children: [promos.map((promo) => (_jsx(Promo, { data: promo, viewDetailsUrl: props.viewPromoDetailsUrl ?? '/promos' }, promo.id))), cashbacks.map((cashback) => (_jsx(Cashback, { data: cashback, viewDetailsUrl: props.viewCashbackDetailsUrl ?? '/promos/cashback' }, cashback.id)))] }) }) }))] }));
51
+ return (_jsxs("div", { className: props.className, children: [_jsxs("div", { className: "flex items-center", children: [_jsx("h2", { className: "text-lg font-semibold", children: props.heading ?? 'Promotions' }), _jsx("div", { className: "grow" }), _jsxs("div", { className: "flex items-center justify-center gap-xl", children: [_jsxs(Link, { href: props.viewAllUrl ?? '/promos', className: "text-button-tertiary-fg flex gap-sm text-sm font-semibold", children: ["See All", _jsx(ChevronRightIcon, { className: "size-5 lg:hidden" })] }), _jsxs("div", { className: "hidden lg:flex", children: [_jsx(Button, { variant: "outline", colorScheme: "gray", className: "rounded-r-none border-r-0", onClick: onPrevButtonClick, disabled: prevBtnDisabled, "aria-label": "Previous", children: _jsx(ArrowLeftIcon, { className: "size-5" }) }), _jsx(Button, { variant: "outline", colorScheme: "gray", className: "rounded-l-none", onClick: onNextButtonClick, disabled: nextBtnDisabled, "aria-label": "Next", children: _jsx(ArrowRightIcon, { className: "size-5" }) })] })] })] }), empty && (_jsx(Empty, { icon: Gift01Icon, title: "No Promos", message: "No promo is currently available.", className: "mt-8" })), !empty && (_jsx(_Fragment, { children: _jsx("div", { ref: emblaRef, className: "relative mt-lg lg:overflow-hidden", children: _jsxs("div", { className: twMerge('grid auto-cols-[100%] grid-flow-col gap-1.5 lg:auto-cols-[calc((100%-(1.25rem*2))/3)] lg:gap-2xl'), children: [promos.map((promo) => (_jsx(Promo, { data: promo, viewDetailsUrl: props.viewPromoDetailsUrl ?? '/promos' }, promo.id))), cashbacks.map((cashback) => (_jsx(Cashback, { data: cashback, viewDetailsUrl: props.viewCashbackDetailsUrl ?? '/promos/cashback' }, cashback.id))), customPromos.map((customPromo) => (_jsx(CustomPromo, { data: customPromo, viewDetailsUrl: props.viewCashbackDetailsUrl ?? '/promos/custom' }, customPromo.id)))] }) }) }))] }));
49
52
  }
@@ -1,3 +1,4 @@
1
+ import type { CustomPromo as TCustomPromo } from '../../types';
1
2
  export interface PromosGridProps {
2
3
  layout: 'grid';
3
4
  /** @default "Promotions" */
@@ -6,6 +7,8 @@ export interface PromosGridProps {
6
7
  viewPromoDetailsUrl?: string;
7
8
  /** @default "/promos/cashback" */
8
9
  viewCashbackDetailsUrl?: string;
10
+ customPromos?: TCustomPromo[];
11
+ exclude?: string[];
9
12
  className?: string;
10
13
  }
11
14
  export declare function PromosGrid(props: PromosGridProps): import("react/jsx-runtime").JSX.Element;
@@ -3,15 +3,18 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useCashbacksQuery } from '../../client/hooks/useCashbacksQuery.js';
4
4
  import { usePromosQuery } from '../../client/hooks/usePromosQuery.js';
5
5
  import { Cashback } from './Cashback.js';
6
+ import { CustomPromo } from './CustomPromo.js';
6
7
  import { Promo } from './Promo.js';
7
8
  export function PromosGrid(props) {
8
9
  const promosQuery = usePromosQuery();
9
10
  const cashbacksQuery = useCashbacksQuery();
10
- const promos = promosQuery.data ?? [];
11
- const cashbacks = cashbacksQuery.data ?? [];
12
- const empty = promos.length <= 0 && cashbacks.length <= 0;
11
+ const blacklist = props.exclude ?? [];
12
+ const promos = promosQuery.data?.filter((item) => !blacklist.includes(item.id)) ?? [];
13
+ const cashbacks = cashbacksQuery.data?.filter((item) => !blacklist.includes(item.id)) ?? [];
14
+ const customPromos = props.customPromos?.filter((item) => !blacklist.includes(item.id)) ?? [];
15
+ const empty = promos.length <= 0 && cashbacks.length <= 0 && customPromos.length <= 0;
13
16
  if (empty) {
14
17
  return (_jsx("div", { className: props.className, children: _jsxs("div", { className: "flex items-center", children: [_jsx("h2", { className: "text-lg font-semibold", children: props.heading ?? 'Promos' }), _jsx("div", { className: "grow" })] }) }));
15
18
  }
16
- return (_jsxs("div", { className: props.className, children: [_jsxs("div", { className: "flex items-center", children: [_jsx("h2", { className: "text-lg font-semibold", children: props.heading ?? 'Promos' }), _jsx("div", { className: "grow" })] }), _jsx("div", { className: "relative mt-lg lg:overflow-hidden", children: _jsxs("div", { className: "grid gap-3xl lg:grid-cols-3 lg:gap-2xl", children: [promos.map((promo) => (_jsx(Promo, { data: promo, viewDetailsUrl: props.viewPromoDetailsUrl ?? '/promos' }, promo.id))), cashbacks.map((cashback) => (_jsx(Cashback, { data: cashback, viewDetailsUrl: props.viewCashbackDetailsUrl ?? '/promos/cashback' }, cashback.id)))] }) })] }));
19
+ return (_jsxs("div", { className: props.className, children: [_jsxs("div", { className: "flex items-center", children: [_jsx("h2", { className: "text-lg font-semibold", children: props.heading ?? 'Promos' }), _jsx("div", { className: "grow" })] }), _jsx("div", { className: "relative mt-lg lg:overflow-hidden", children: _jsxs("div", { className: "grid gap-3xl lg:grid-cols-3 lg:gap-2xl", children: [promos.map((promo) => (_jsx(Promo, { data: promo, viewDetailsUrl: props.viewPromoDetailsUrl ?? '/promos' }, promo.id))), cashbacks.map((cashback) => (_jsx(Cashback, { data: cashback, viewDetailsUrl: props.viewCashbackDetailsUrl ?? '/promos/cashback' }, cashback.id))), customPromos.map((customPromo) => (_jsx(CustomPromo, { data: customPromo, viewDetailsUrl: props.viewCashbackDetailsUrl ?? '/promos/custom' }, customPromo.id)))] }) })] }));
17
20
  }
@@ -1,4 +1 @@
1
- import type { Quest } from '@opexa/portal-sdk-core';
2
- export declare function DailyCheckInQuest({ quest }: {
3
- quest: Quest;
4
- }): import("react/jsx-runtime").JSX.Element;
1
+ export declare function DailyCheckInQuest(): import("react/jsx-runtime").JSX.Element;