@everymatrix/player-elevate-card 1.56.3 → 1.57.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 (26) hide show
  1. package/dist/cjs/{general-styling-wrapper_5.cjs.entry.js → general-styling-wrapper_6.cjs.entry.js} +224 -9
  2. package/dist/cjs/{index-ea33d8f2.js → index-5e07cb40.js} +6 -3
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/player-elevate-card.cjs.js +2 -2
  5. package/dist/collection/collection-manifest.json +2 -1
  6. package/dist/collection/components/player-elevate-card/player-elevate-card.stories.js +58 -0
  7. package/dist/collection/components/player-rakeback-card/player-rakeback-card.css +87 -0
  8. package/dist/collection/components/player-rakeback-card/player-rakeback-card.js +339 -0
  9. package/dist/collection/utils/locale.utils.js +68 -8
  10. package/dist/esm/{general-styling-wrapper_5.entry.js → general-styling-wrapper_6.entry.js} +224 -10
  11. package/dist/esm/{index-98f17aff.js → index-f1097e33.js} +6 -3
  12. package/dist/esm/loader.js +3 -3
  13. package/dist/esm/player-elevate-card.js +3 -3
  14. package/dist/player-elevate-card/p-5a173e2d.entry.js +1 -0
  15. package/dist/player-elevate-card/{p-17f8d580.js → p-9222d554.js} +1 -1
  16. package/dist/player-elevate-card/player-elevate-card.esm.js +1 -1
  17. package/dist/storybook/main.js +47 -0
  18. package/dist/storybook/preview.js +9 -0
  19. package/dist/types/Users/maria.bumbar/Desktop/widgets-monorepo/packages/stencil/player-elevate-card/.stencil/libs/common/src/storybook/storybook-utils.d.ts +39 -0
  20. package/dist/types/Users/maria.bumbar/Desktop/widgets-monorepo/packages/stencil/player-elevate-card/.stencil/packages/stencil/player-elevate-card/storybook/main.d.ts +3 -0
  21. package/dist/types/Users/maria.bumbar/Desktop/widgets-monorepo/packages/stencil/player-elevate-card/.stencil/packages/stencil/player-elevate-card/storybook/preview.d.ts +70 -0
  22. package/dist/types/components/player-elevate-card/player-elevate-card.stories.d.ts +5 -0
  23. package/dist/types/components/player-rakeback-card/player-rakeback-card.d.ts +63 -0
  24. package/dist/types/components.d.ts +79 -0
  25. package/package.json +1 -1
  26. package/dist/player-elevate-card/p-45b4751e.entry.js +0 -1
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-ea33d8f2.js');
5
+ const index = require('./index-5e07cb40.js');
6
6
 
7
7
  const mergeTranslations = (url, target) => {
8
8
  return new Promise((resolve) => {
@@ -85,6 +85,7 @@ const SUPPORTED_LANGUAGES = ['en', 'zh-hk', 'it', 'fr', 'tr', 'hr'];
85
85
  const TRANSLATIONS = {
86
86
  en: {
87
87
  redeem: 'Redeem',
88
+ claim: 'Claim',
88
89
  expireOn: 'Expire on ',
89
90
  pointsToBeExpired: '${expirationPoints} points to expire in ${expireDay} days',
90
91
  pointsToBeExpiredDay: '${expirationPoints} points to expire in ${expireDay} day',
@@ -99,9 +100,13 @@ const TRANSLATIONS = {
99
100
  xp: 'XP',
100
101
  sp: 'Coins',
101
102
  termAndConditions: 'Term & Conditions',
103
+ rakebackTitle: 'Available Rakeback',
104
+ loading: 'Loading',
105
+ minutesCanClaim: 'Next Claim is available in ${minutes} minutes'
102
106
  },
103
107
  'zh-hk': {
104
108
  redeem: '兑奖',
109
+ claim: '返佣',
105
110
  expireOn: 'Expire on ',
106
111
  pointsToBeExpired: '${expirationPoints} points to expire in ${expireDay} days',
107
112
  pointsToBeExpiredDay: '${expirationPoints} points to expire in ${expireDay} day',
@@ -116,9 +121,13 @@ const TRANSLATIONS = {
116
121
  xp: 'XP',
117
122
  sp: 'Coins',
118
123
  termAndConditions: 'Term & Conditions',
124
+ rakebackTitle: '可用的返利',
125
+ loading: '加載中',
126
+ minutesCanClaim: '下次可領取時間為${minutes}分鐘後'
119
127
  },
120
128
  de: {
121
129
  redeem: 'Redeem',
130
+ claim: 'Anspruch',
122
131
  expireOn: 'Expire on ',
123
132
  pointsToBeExpired: '${expirationPoints} points to expire in ${expireDay} days',
124
133
  pointsToBeExpiredDay: '${expirationPoints} points to expire in ${expireDay} day',
@@ -133,9 +142,13 @@ const TRANSLATIONS = {
133
142
  xp: 'XP',
134
143
  sp: 'Coins',
135
144
  termAndConditions: 'Term & Conditions',
145
+ rakebackTitle: 'Verfügbarer Rakeback',
146
+ loading: 'Laden',
147
+ minutesCanClaim: 'Nächster Anspruch ist in ${minutes} Minuten verfügbar'
136
148
  },
137
149
  it: {
138
150
  redeem: 'Redeem',
151
+ claim: 'Richiesta',
139
152
  expireOn: 'Expire on ',
140
153
  pointsToBeExpired: '${expirationPoints} points to expire in ${expireDay} days',
141
154
  pointsToBeExpiredDay: '${expirationPoints} points to expire in ${expireDay} day',
@@ -150,9 +163,13 @@ const TRANSLATIONS = {
150
163
  xp: 'XP',
151
164
  sp: 'Coins',
152
165
  termAndConditions: 'Term & Conditions',
166
+ rakebackTitle: 'Rakeback Disponibile',
167
+ loading: 'Caricamento',
168
+ minutesCanClaim: 'La prossima richiesta sarà disponibile tra ${minutes} minuti'
153
169
  },
154
170
  fr: {
155
171
  redeem: 'Redeem',
172
+ claim: 'Réclamer',
156
173
  expireOn: 'Expire on ',
157
174
  pointsToBeExpired: '${expirationPoints} points to expire in ${expireDay} days',
158
175
  pointsToBeExpiredDay: '${expirationPoints} points to expire in ${expireDay} day',
@@ -167,12 +184,20 @@ const TRANSLATIONS = {
167
184
  xp: 'XP',
168
185
  sp: 'Coins',
169
186
  termAndConditions: 'Term & Conditions',
187
+ rakebackTitle: 'Rakeback Disponible',
188
+ loading: 'Chargement',
189
+ minutesCanClaim: 'La prochaine réclamation sera disponible dans ${minutes} minutes'
170
190
  },
171
191
  es: {
172
- redeem: 'Redeem'
192
+ redeem: 'Redeem',
193
+ claim: 'Reclamar',
194
+ rakebackTitle: 'Rakeback Disponible',
195
+ loading: 'Cargando',
196
+ minutesCanClaim: 'La próxima reclamación estará disponible en ${minutes} minutos'
173
197
  },
174
198
  tr: {
175
199
  redeem: 'Redeem',
200
+ claim: 'Talep',
176
201
  expireOn: 'Expire on ',
177
202
  pointsToBeExpired: '${expirationPoints} points to expire in ${expireDay} days',
178
203
  pointsToBeExpiredDay: '${expirationPoints} points to expire in ${expireDay} day',
@@ -187,15 +212,27 @@ const TRANSLATIONS = {
187
212
  xp: 'XP',
188
213
  sp: 'Coins',
189
214
  termAndConditions: 'Term & Conditions',
215
+ rakebackTitle: 'Mevcut Rakeback',
216
+ loading: 'Yükleniyor',
217
+ minutesCanClaim: 'Sonraki talep ${minutes} dakika içinde kullanılabilir'
190
218
  },
191
219
  ru: {
192
- redeem: 'Redeem'
220
+ redeem: 'Redeem',
221
+ claim: 'Требовать',
222
+ rakebackTitle: 'Доступный Рейкбек',
223
+ loading: 'Загрузка',
224
+ minutesCanClaim: 'Следующее требование будет доступно через ${minutes} минут'
193
225
  },
194
226
  ro: {
195
- redeem: 'Redeem'
227
+ redeem: 'Redeem',
228
+ claim: 'Revendicare',
229
+ rakebackTitle: 'Rakeback Disponibil',
230
+ loading: 'Se încarcă',
231
+ minutesCanClaim: 'Următoarea revendicare va fi disponibilă în ${minutes} minute'
196
232
  },
197
233
  hr: {
198
234
  redeem: 'Otkupiti',
235
+ claim: 'Zahtjev',
199
236
  expireOn: 'Istječe',
200
237
  pointsToBeExpired: '${expirationPoints} bodova ističe za ${expireDay} dana',
201
238
  pointsToBeExpiredHours: '${expirationPoints} points to expire in ${expireDay} hours',
@@ -206,21 +243,44 @@ const TRANSLATIONS = {
206
243
  spendablePoints: 'Bodovi za potrošit:',
207
244
  details: 'Detalji',
208
245
  xp: 'XP',
246
+ rakebackTitle: 'Dostupan Rakeback',
247
+ loading: 'Učitavanje',
248
+ minutesCanClaim: 'Sljedeći zahtjev bit će dostupan za ${minutes} minuta'
209
249
  },
210
250
  hu: {
211
- redeem: 'Redeem'
251
+ redeem: 'Redeem',
252
+ claim: 'Igény',
253
+ rakebackTitle: 'Elérhető Rakeback',
254
+ loading: 'Betöltés',
255
+ minutesCanClaim: 'A következő igény ${minutes} perc múlva lesz elérhető'
212
256
  },
213
257
  pl: {
214
- redeem: 'Redeem'
258
+ redeem: 'Redeem',
259
+ claim: 'Roszczenie',
260
+ rakebackTitle: 'Dostępny Rakeback',
261
+ loading: 'Ładowanie',
262
+ minutesCanClaim: 'Następne roszczenie będzie dostępne za ${minutes} minut'
215
263
  },
216
264
  pt: {
217
- redeem: 'Redeem'
265
+ redeem: 'Redeem',
266
+ claim: 'Reivindicar',
267
+ rakebackTitle: 'Rakeback Disponível',
268
+ loading: 'Carregando',
269
+ minutesCanClaim: 'Próxima reivindicação disponível em ${minutes} minutos'
218
270
  },
219
271
  sl: {
220
- redeem: 'Redeem'
272
+ redeem: 'Redeem',
273
+ claim: 'Zahtevek',
274
+ rakebackTitle: 'Razpoložljiv Rakeback',
275
+ loading: 'Nalaganje',
276
+ minutesCanClaim: 'Naslednji zahtevek bo na voljo čez ${minutes} minut'
221
277
  },
222
278
  sr: {
223
- redeem: 'Redeem'
279
+ redeem: 'Redeem',
280
+ claim: 'Zahtev',
281
+ rakebackTitle: 'Dostupan Rakeback',
282
+ loading: 'Učitavanje',
283
+ minutesCanClaim: 'Sledeći zahtev biće dostupan za ${minutes} minuta'
224
284
  }
225
285
  };
226
286
  const translate = (key, customLang) => {
@@ -3142,8 +3202,163 @@ const PlayerElevatePointcard = class {
3142
3202
  };
3143
3203
  PlayerElevatePointcard.style = PlayerElevatePointcardStyle0;
3144
3204
 
3205
+ const playerRakebackCardCss = ":host{display:block}@keyframes rotate{from{transform:rotate(360deg)}to{transform:rotate(0deg)}}.RakebackCard{border:2px solid var(--em-color-border-primary, #003E5C);padding:32px;border-radius:var(--emw--border-radius-medium, 12px);overflow:hidden;font-family:inherit}.RakebackCard .RakebackCardContent .RakebackTitle{font-size:var(--emw--font-size-small, 14px);font-weight:var(--emw--font-weight-semibold, 500);color:var(--em-color-text-secondary, #727672)}.RakebackCard .RakebackCardContent .RakebackDetails{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-top:17px}.RakebackCard .RakebackCardContent .RakebackDetails .RakebackInfo{display:flex;flex-wrap:wrap;align-items:center;gap:0 17px}.RakebackCard .RakebackCardContent .RakebackDetails .RakebackInfo .RakebackRefresh{width:52px;height:52px;cursor:pointer}.RakebackCard .RakebackCardContent .RakebackDetails .RakebackInfo .RakebackRefresh.RakebackLoading{animation:rotate 0.5s linear infinite}.RakebackCard .RakebackCardContent .RakebackDetails .RakebackInfo .RakebackNumContainer{color:var(--em-color-text-primary, #fff);display:flex;align-items:center;gap:8px}.RakebackCard .RakebackCardContent .RakebackDetails .RakebackInfo .RakebackNumContainer .RakebackNum{display:inline-block;font-weight:var(--emw--font-weight-bold, 700);font-size:var(--emw--font-size-2x-large, 36px)}.RakebackCard .RakebackCardContent .RakebackDetails .RakebackInfo .RakebackNumContainer .RakebackCurrency{display:inline-block;font-weight:var(--emw--font-weight-semibold, 500);font-size:var(--emw--font-size-small, 14px);margin-top:14px}.RakebackCard .RakebackCardContent .RakebackDetails .RakebackButton{font-family:inherit;cursor:pointer;width:90px;height:34px;border-radius:var(--emw--border-radius-large, 99px);border:2px solid var(--em-color-border-success, #083B17);display:flex;justify-content:center;align-items:center;color:var(--em-color-text-primary, #fff);background:linear-gradient(180deg, var(--em-color-gradient-1, #24B24E) 0%, var(--em-color-gradient-1, #24B24E) 100%)}.RakebackCard .RakebackCardContent .RakebackDetails .RakebackButton.disabled{cursor:not-allowed;opacity:0.4}.RakebackCard .RakebackCardContent .RakebackCoolOff,.RakebackCard .RakebackCardContent .RakebackError{margin-top:8px;font-weight:var(--emw--font-weight-semibold, 500);font-size:var(--emw--font-size-x-small, 12px);color:var(--em-color-text-error, #FF7A73);text-align:center}";
3206
+ const PlayerRakebackCardStyle0 = playerRakebackCardCss;
3207
+
3208
+ const PlayerRakebackCard = class {
3209
+ constructor(hostRef) {
3210
+ index.registerInstance(this, hostRef);
3211
+ /**
3212
+ * Truncate number to specified decimal places (without rounding)
3213
+ * @param num Number to be processed
3214
+ * @param digits Number of decimal places to keep
3215
+ */
3216
+ this.truncateNumber = (num, digits = 2) => {
3217
+ const str = num.toString();
3218
+ const [integer, decimal = ''] = str.split('.');
3219
+ return digits > 0 ? `${integer}.${decimal ? decimal.slice(0, digits) : '00'}` : `${integer}`;
3220
+ };
3221
+ this.sendRakebackClaimedEvent = () => {
3222
+ if (!this.endpoint || !this.session || !this.rakebackInfo.claimable || this.isLoading) {
3223
+ return;
3224
+ }
3225
+ window.postMessage({ type: 'RakebackClaimTrigger', points: this.rakebackInfo.points }, window.location.href);
3226
+ };
3227
+ this.endpoint = undefined;
3228
+ this.theme = 'Dark';
3229
+ this.session = undefined;
3230
+ this.language = 'en';
3231
+ this.clientStyling = '';
3232
+ this.clientStylingUrl = '';
3233
+ this.translationUrl = '';
3234
+ this.show = true;
3235
+ this.rakebackInfo = {
3236
+ hasRakebackWallet: false,
3237
+ points: 0.0,
3238
+ currency: 'TRY',
3239
+ claimable: false,
3240
+ minutesCanClaim: 0,
3241
+ showCanClaim: false
3242
+ };
3243
+ this.isLoading = false;
3244
+ this.coolingOffPeriod = false;
3245
+ this.showTheWidget = false;
3246
+ }
3247
+ async onSessionOrEndpointChange() {
3248
+ await this.loadRakebackInfo();
3249
+ }
3250
+ async onShowOrHasRakebackWalletChange() {
3251
+ this.showTheWidget = this.show && this.rakebackInfo.hasRakebackWallet;
3252
+ }
3253
+ handleMessage(event) {
3254
+ const { type } = event === null || event === void 0 ? void 0 : event.data;
3255
+ if (type === 'RakebackClaimConfirmed') {
3256
+ this.claimRakeback();
3257
+ }
3258
+ }
3259
+ async loadRakebackInfo() {
3260
+ if (!this.endpoint || !this.session) {
3261
+ return;
3262
+ }
3263
+ this.isLoading = true;
3264
+ try {
3265
+ const url = new URL(`${this.endpoint}/v1/elevate/playerInfo?language=${this.language}`);
3266
+ const response = await fetch(url.href, {
3267
+ method: 'GET',
3268
+ headers: {
3269
+ 'X-Sessionid': this.session,
3270
+ 'Content-Type': 'application/json'
3271
+ }
3272
+ });
3273
+ if (!response.ok) {
3274
+ throw new Error(`HTTP error! status: ${response.status}`);
3275
+ }
3276
+ const data = await response.json();
3277
+ if (!data.success) {
3278
+ throw new Error(data.errorMessage || 'Failed to load rakeback info');
3279
+ }
3280
+ const { rakebackWallet } = data === null || data === void 0 ? void 0 : data.data;
3281
+ if (!rakebackWallet) {
3282
+ window.postMessage({ type: 'RakebackWalletMissing' }, window.location.href);
3283
+ return;
3284
+ }
3285
+ const { total, claimable, currency, minutesCanClaim } = rakebackWallet || {};
3286
+ this.rakebackInfo = {
3287
+ hasRakebackWallet: true,
3288
+ points: (total === null || total === void 0 ? void 0 : total.points) ? this.truncateNumber(total.points, 2) : `0.00`,
3289
+ currency: currency || '',
3290
+ claimable: claimable || false,
3291
+ showCanClaim: Boolean(minutesCanClaim && minutesCanClaim > 0),
3292
+ minutesCanClaim: minutesCanClaim
3293
+ ? minutesCanClaim <= 1 && minutesCanClaim > 0
3294
+ ? 1
3295
+ : this.truncateNumber(minutesCanClaim, 0)
3296
+ : 0
3297
+ };
3298
+ }
3299
+ catch (err) {
3300
+ console.error('Error loading rakeback info:', err);
3301
+ window.postMessage({ type: 'RakebackClaimError', message: err.message }, window.location.href);
3302
+ }
3303
+ finally {
3304
+ this.isLoading = false;
3305
+ }
3306
+ }
3307
+ async claimRakeback() {
3308
+ this.isLoading = true;
3309
+ try {
3310
+ const url = new URL(`${this.endpoint}/v1/elevate/rakeback/claim`);
3311
+ const response = await fetch(url.href, {
3312
+ method: 'PUT',
3313
+ headers: {
3314
+ 'X-Sessionid': this.session,
3315
+ 'Content-Type': 'application/json'
3316
+ },
3317
+ body: JSON.stringify({})
3318
+ });
3319
+ if (!response.ok) {
3320
+ throw new Error(`HTTP error! status: ${response.status}`);
3321
+ }
3322
+ const data = await response.json();
3323
+ if (!data.success) {
3324
+ throw new Error(data.errorMessage || 'Failed to claim rakeback');
3325
+ }
3326
+ // Refresh rakeback information
3327
+ await this.loadRakebackInfo();
3328
+ // Send event notification for successful redemption
3329
+ window.postMessage({ type: 'RakebackClaimed', points: this.rakebackInfo.points }, window.location.href);
3330
+ }
3331
+ catch (err) {
3332
+ console.error('Error claiming rakeback:', err);
3333
+ window.postMessage({ type: 'RakebackClaimError', message: err.message }, window.location.href);
3334
+ }
3335
+ finally {
3336
+ this.isLoading = false;
3337
+ }
3338
+ }
3339
+ async componentWillLoad() {
3340
+ await this.loadRakebackInfo();
3341
+ await this.onShowOrHasRakebackWalletChange();
3342
+ }
3343
+ render() {
3344
+ return this.showTheWidget ? (index.h("div", { class: "RakebackCard" }, index.h("general-styling-wrapper", { clientStyling: this.clientStyling, clientStylingUrl: this.clientStylingUrl, targetTranslations: TRANSLATIONS, translationUrl: this.translationUrl }), index.h("div", { class: "RakebackCardContent" }, index.h("div", { class: "RakebackTitle" }, translate('rakebackTitle', this.language)), index.h("div", { class: "RakebackDetails" }, index.h("div", { class: "RakebackInfo" }, index.h("div", { class: "RakebackNumContainer" }, index.h("span", { class: "RakebackNum" }, this.rakebackInfo.points), index.h("span", { class: "RakebackCurrency" }, this.rakebackInfo.currency))), index.h("div", { class: `RakebackButton ${this.isLoading || !this.rakebackInfo.claimable ? 'disabled' : ''}`, onClick: this.sendRakebackClaimedEvent }, translate('claim', this.language))), !this.rakebackInfo.claimable && this.rakebackInfo.showCanClaim && (index.h("div", { class: "RakebackCoolOff" }, translateWithParams('minutesCanClaim', {
3345
+ lang: this.language,
3346
+ minutes: this.rakebackInfo.minutesCanClaim
3347
+ })))))) : null;
3348
+ }
3349
+ static get watchers() { return {
3350
+ "session": ["onSessionOrEndpointChange"],
3351
+ "endpoint": ["onSessionOrEndpointChange"],
3352
+ "language": ["onSessionOrEndpointChange"],
3353
+ "show": ["onShowOrHasRakebackWalletChange"],
3354
+ "rakebackInfo": ["onShowOrHasRakebackWalletChange"]
3355
+ }; }
3356
+ };
3357
+ PlayerRakebackCard.style = PlayerRakebackCardStyle0;
3358
+
3145
3359
  exports.general_styling_wrapper = GeneralStylingWrapper;
3146
3360
  exports.player_elevate_card = PlayerElevateCard;
3147
3361
  exports.player_elevate_card_data = PlayerElevateCardData;
3148
3362
  exports.player_elevate_loyaltycard = PlayerElevateLoyaltycard;
3149
3363
  exports.player_elevate_pointcard = PlayerElevatePointcard;
3364
+ exports.player_rakeback_card = PlayerRakebackCard;
@@ -21,7 +21,7 @@ function _interopNamespace(e) {
21
21
  }
22
22
 
23
23
  const NAMESPACE = 'player-elevate-card';
24
- const BUILD = /* player-elevate-card */ { allRenderFn: false, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: false, cmpDidRender: true, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: false, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: false, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: true, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: false, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: false, propMutable: false, propNumber: false, propString: true, reflect: true, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: true, slotChildNodesFix: false, slotRelocation: true, state: true, style: true, svg: false, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: true, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: false, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: false, watchCallback: true };
24
+ const BUILD = /* player-elevate-card */ { allRenderFn: false, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: false, cmpDidRender: true, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: false, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: false, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: true, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: false, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: false, propNumber: false, propString: true, reflect: true, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: true, slotChildNodesFix: false, slotRelocation: true, state: true, style: true, svg: false, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: true, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: false, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: false, watchCallback: true };
25
25
 
26
26
  /*
27
27
  Stencil Client Platform v4.19.2 | MIT Licensed | https://stenciljs.com
@@ -71,10 +71,10 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
71
71
  }
72
72
  switch(bundleId) {
73
73
 
74
- case 'general-styling-wrapper_5.cjs':
74
+ case 'general-styling-wrapper_6.cjs':
75
75
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
76
76
  /* webpackMode: "lazy" */
77
- './general-styling-wrapper_5.cjs.entry.js')); }).then(processMod, consoleError);
77
+ './general-styling-wrapper_6.cjs.entry.js')); }).then(processMod, consoleError);
78
78
  }
79
79
  }
80
80
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
@@ -364,6 +364,9 @@ var convertToPrivate = (node) => {
364
364
  };
365
365
  var parsePropertyValue = (propValue, propType) => {
366
366
  if (propValue != null && !isComplexType(propValue)) {
367
+ if (propType & 4 /* Boolean */) {
368
+ return propValue === "false" ? false : propValue === "" || !!propValue;
369
+ }
367
370
  if (propType & 1 /* String */) {
368
371
  return String(propValue);
369
372
  }
@@ -2,13 +2,13 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-ea33d8f2.js');
5
+ const index = require('./index-5e07cb40.js');
6
6
  const appGlobals = require('./app-globals-3a1e7e63.js');
7
7
 
8
8
  const defineCustomElements = async (win, options) => {
9
9
  if (typeof window === 'undefined') return undefined;
10
10
  await appGlobals.globalScripts();
11
- return index.bootstrapLazy([["general-styling-wrapper_5.cjs",[[1,"player-elevate-card",{"endpoint":[513],"theme":[513],"session":[513],"playerAvatarUrl":[513,"player-avatar-url"],"language":[513],"playerName":[513,"player-name"],"dateFormat":[513,"date-format"],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"translationUrl":[513,"translation-url"],"pointExpireString":[32],"playerLevelFlag":[32],"playerElevateLevel":[32],"elevateWalletTotal":[32]},[[0,"playerElevateLeveLoaded","playerElevateLeveLoadedHandler"]],{"session":["onSessionOrEndpointChange"],"endpoint":["onSessionOrEndpointChange"],"language":["onSessionOrEndpointChange"]}],[1,"player-elevate-loyaltycard",{"endpoint":[513],"theme":[513],"session":[513],"playerAvatarUrl":[513,"player-avatar-url"],"language":[513],"playerName":[513,"player-name"],"dateFormat":[513,"date-format"],"mbSource":[1,"mb-source"],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"translationUrl":[513,"translation-url"],"pointExpireString":[32],"playerElevateLevel":[32],"elevateWalletTotal":[32]},[[0,"playerElevateLeveLoaded","playerElevateLeveLoadedHandler"]],{"session":["onSessionOrEndpointChange"],"endpoint":["onSessionOrEndpointChange"],"language":["onSessionOrEndpointChange"]}],[1,"player-elevate-pointcard",{"endpoint":[513],"theme":[513],"session":[513],"playerAvatarUrl":[513,"player-avatar-url"],"language":[513],"playerName":[513,"player-name"],"cardTitle":[513,"card-title"],"buttonType":[513,"button-type"],"dateFormat":[513,"date-format"],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"translationUrl":[513,"translation-url"],"pointExpireString":[32],"playerElevateLevel":[32],"elevateWalletTotal":[32],"elevateSPTotal":[32]},[[0,"playerElevateLeveLoaded","playerElevateLeveLoadedHandler"]],{"session":["onSessionOrEndpointChange"],"endpoint":["onSessionOrEndpointChange"],"language":["onSessionOrEndpointChange"]}],[4,"general-styling-wrapper",{"clientStyling":[1,"client-styling"],"clientStylingUrl":[1,"client-styling-url"],"translationUrl":[1,"translation-url"],"targetTranslations":[16]}],[0,"player-elevate-card-data",{"params":[8],"playerElevateLevel":[32],"pointExpireString":[32]},[[9,"resize","handleWindowResizs"],[8,"redeemGiftButton","redeemGiftButtonHandler"]],{"params":["onParamsChanged"]}]]]], options);
11
+ return index.bootstrapLazy([["general-styling-wrapper_6.cjs",[[1,"player-elevate-card",{"endpoint":[513],"theme":[513],"session":[513],"playerAvatarUrl":[513,"player-avatar-url"],"language":[513],"playerName":[513,"player-name"],"dateFormat":[513,"date-format"],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"translationUrl":[513,"translation-url"],"pointExpireString":[32],"playerLevelFlag":[32],"playerElevateLevel":[32],"elevateWalletTotal":[32]},[[0,"playerElevateLeveLoaded","playerElevateLeveLoadedHandler"]],{"session":["onSessionOrEndpointChange"],"endpoint":["onSessionOrEndpointChange"],"language":["onSessionOrEndpointChange"]}],[1,"player-elevate-loyaltycard",{"endpoint":[513],"theme":[513],"session":[513],"playerAvatarUrl":[513,"player-avatar-url"],"language":[513],"playerName":[513,"player-name"],"dateFormat":[513,"date-format"],"mbSource":[1,"mb-source"],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"translationUrl":[513,"translation-url"],"pointExpireString":[32],"playerElevateLevel":[32],"elevateWalletTotal":[32]},[[0,"playerElevateLeveLoaded","playerElevateLeveLoadedHandler"]],{"session":["onSessionOrEndpointChange"],"endpoint":["onSessionOrEndpointChange"],"language":["onSessionOrEndpointChange"]}],[1,"player-elevate-pointcard",{"endpoint":[513],"theme":[513],"session":[513],"playerAvatarUrl":[513,"player-avatar-url"],"language":[513],"playerName":[513,"player-name"],"cardTitle":[513,"card-title"],"buttonType":[513,"button-type"],"dateFormat":[513,"date-format"],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"translationUrl":[513,"translation-url"],"pointExpireString":[32],"playerElevateLevel":[32],"elevateWalletTotal":[32],"elevateSPTotal":[32]},[[0,"playerElevateLeveLoaded","playerElevateLeveLoadedHandler"]],{"session":["onSessionOrEndpointChange"],"endpoint":["onSessionOrEndpointChange"],"language":["onSessionOrEndpointChange"]}],[1,"player-rakeback-card",{"endpoint":[513],"theme":[513],"session":[513],"language":[513],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"translationUrl":[513,"translation-url"],"show":[516],"rakebackInfo":[32],"isLoading":[32],"coolingOffPeriod":[32],"showTheWidget":[32]},[[8,"message","handleMessage"]],{"session":["onSessionOrEndpointChange"],"endpoint":["onSessionOrEndpointChange"],"language":["onSessionOrEndpointChange"],"show":["onShowOrHasRakebackWalletChange"],"rakebackInfo":["onShowOrHasRakebackWalletChange"]}],[0,"player-elevate-card-data",{"params":[8],"playerElevateLevel":[32],"pointExpireString":[32]},[[9,"resize","handleWindowResizs"],[8,"redeemGiftButton","redeemGiftButtonHandler"]],{"params":["onParamsChanged"]}],[4,"general-styling-wrapper",{"clientStyling":[1,"client-styling"],"clientStylingUrl":[1,"client-styling-url"],"translationUrl":[1,"translation-url"],"targetTranslations":[16]}]]]], options);
12
12
  };
13
13
 
14
14
  exports.setNonce = index.setNonce;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-ea33d8f2.js');
5
+ const index = require('./index-5e07cb40.js');
6
6
  const appGlobals = require('./app-globals-3a1e7e63.js');
7
7
 
8
8
  /*
@@ -19,7 +19,7 @@ var patchBrowser = () => {
19
19
 
20
20
  patchBrowser().then(async (options) => {
21
21
  await appGlobals.globalScripts();
22
- return index.bootstrapLazy([["general-styling-wrapper_5.cjs",[[1,"player-elevate-card",{"endpoint":[513],"theme":[513],"session":[513],"playerAvatarUrl":[513,"player-avatar-url"],"language":[513],"playerName":[513,"player-name"],"dateFormat":[513,"date-format"],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"translationUrl":[513,"translation-url"],"pointExpireString":[32],"playerLevelFlag":[32],"playerElevateLevel":[32],"elevateWalletTotal":[32]},[[0,"playerElevateLeveLoaded","playerElevateLeveLoadedHandler"]],{"session":["onSessionOrEndpointChange"],"endpoint":["onSessionOrEndpointChange"],"language":["onSessionOrEndpointChange"]}],[1,"player-elevate-loyaltycard",{"endpoint":[513],"theme":[513],"session":[513],"playerAvatarUrl":[513,"player-avatar-url"],"language":[513],"playerName":[513,"player-name"],"dateFormat":[513,"date-format"],"mbSource":[1,"mb-source"],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"translationUrl":[513,"translation-url"],"pointExpireString":[32],"playerElevateLevel":[32],"elevateWalletTotal":[32]},[[0,"playerElevateLeveLoaded","playerElevateLeveLoadedHandler"]],{"session":["onSessionOrEndpointChange"],"endpoint":["onSessionOrEndpointChange"],"language":["onSessionOrEndpointChange"]}],[1,"player-elevate-pointcard",{"endpoint":[513],"theme":[513],"session":[513],"playerAvatarUrl":[513,"player-avatar-url"],"language":[513],"playerName":[513,"player-name"],"cardTitle":[513,"card-title"],"buttonType":[513,"button-type"],"dateFormat":[513,"date-format"],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"translationUrl":[513,"translation-url"],"pointExpireString":[32],"playerElevateLevel":[32],"elevateWalletTotal":[32],"elevateSPTotal":[32]},[[0,"playerElevateLeveLoaded","playerElevateLeveLoadedHandler"]],{"session":["onSessionOrEndpointChange"],"endpoint":["onSessionOrEndpointChange"],"language":["onSessionOrEndpointChange"]}],[4,"general-styling-wrapper",{"clientStyling":[1,"client-styling"],"clientStylingUrl":[1,"client-styling-url"],"translationUrl":[1,"translation-url"],"targetTranslations":[16]}],[0,"player-elevate-card-data",{"params":[8],"playerElevateLevel":[32],"pointExpireString":[32]},[[9,"resize","handleWindowResizs"],[8,"redeemGiftButton","redeemGiftButtonHandler"]],{"params":["onParamsChanged"]}]]]], options);
22
+ return index.bootstrapLazy([["general-styling-wrapper_6.cjs",[[1,"player-elevate-card",{"endpoint":[513],"theme":[513],"session":[513],"playerAvatarUrl":[513,"player-avatar-url"],"language":[513],"playerName":[513,"player-name"],"dateFormat":[513,"date-format"],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"translationUrl":[513,"translation-url"],"pointExpireString":[32],"playerLevelFlag":[32],"playerElevateLevel":[32],"elevateWalletTotal":[32]},[[0,"playerElevateLeveLoaded","playerElevateLeveLoadedHandler"]],{"session":["onSessionOrEndpointChange"],"endpoint":["onSessionOrEndpointChange"],"language":["onSessionOrEndpointChange"]}],[1,"player-elevate-loyaltycard",{"endpoint":[513],"theme":[513],"session":[513],"playerAvatarUrl":[513,"player-avatar-url"],"language":[513],"playerName":[513,"player-name"],"dateFormat":[513,"date-format"],"mbSource":[1,"mb-source"],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"translationUrl":[513,"translation-url"],"pointExpireString":[32],"playerElevateLevel":[32],"elevateWalletTotal":[32]},[[0,"playerElevateLeveLoaded","playerElevateLeveLoadedHandler"]],{"session":["onSessionOrEndpointChange"],"endpoint":["onSessionOrEndpointChange"],"language":["onSessionOrEndpointChange"]}],[1,"player-elevate-pointcard",{"endpoint":[513],"theme":[513],"session":[513],"playerAvatarUrl":[513,"player-avatar-url"],"language":[513],"playerName":[513,"player-name"],"cardTitle":[513,"card-title"],"buttonType":[513,"button-type"],"dateFormat":[513,"date-format"],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"translationUrl":[513,"translation-url"],"pointExpireString":[32],"playerElevateLevel":[32],"elevateWalletTotal":[32],"elevateSPTotal":[32]},[[0,"playerElevateLeveLoaded","playerElevateLeveLoadedHandler"]],{"session":["onSessionOrEndpointChange"],"endpoint":["onSessionOrEndpointChange"],"language":["onSessionOrEndpointChange"]}],[1,"player-rakeback-card",{"endpoint":[513],"theme":[513],"session":[513],"language":[513],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"translationUrl":[513,"translation-url"],"show":[516],"rakebackInfo":[32],"isLoading":[32],"coolingOffPeriod":[32],"showTheWidget":[32]},[[8,"message","handleMessage"]],{"session":["onSessionOrEndpointChange"],"endpoint":["onSessionOrEndpointChange"],"language":["onSessionOrEndpointChange"],"show":["onShowOrHasRakebackWalletChange"],"rakebackInfo":["onShowOrHasRakebackWalletChange"]}],[0,"player-elevate-card-data",{"params":[8],"playerElevateLevel":[32],"pointExpireString":[32]},[[9,"resize","handleWindowResizs"],[8,"redeemGiftButton","redeemGiftButtonHandler"]],{"params":["onParamsChanged"]}],[4,"general-styling-wrapper",{"clientStyling":[1,"client-styling"],"clientStylingUrl":[1,"client-styling-url"],"translationUrl":[1,"translation-url"],"targetTranslations":[16]}]]]], options);
23
23
  });
24
24
 
25
25
  exports.setNonce = index.setNonce;
@@ -3,7 +3,8 @@
3
3
  "components/player-elevate-card/player-elevate-card.js",
4
4
  "components/player-elevate-card-data/player-elevate-card-data.js",
5
5
  "components/player-elevate-loyaltycard/player-elevate-loyaltycard.js",
6
- "components/player-elevate-pointcard/player-elevate-pointcard.js"
6
+ "components/player-elevate-pointcard/player-elevate-pointcard.js",
7
+ "components/player-rakeback-card/player-rakeback-card.js"
7
8
  ],
8
9
  "compiler": {
9
10
  "name": "@stencil/core",
@@ -0,0 +1,58 @@
1
+ import { html } from "lit";
2
+ import "@everymatrix/player-elevate-card";
3
+ const meta = {
4
+ title: 'Player/Components/player-elevate-card',
5
+ component: 'player-elevate-card',
6
+ args: {
7
+ endpoint: "",
8
+ theme: "Dark",
9
+ session: "",
10
+ playerAvatarUrl: "",
11
+ language: "en",
12
+ playerName: "",
13
+ dateFormat: "yyyy-MM-dd",
14
+ clientStyling: "",
15
+ clientStylingUrl: "",
16
+ translationUrl: "",
17
+ },
18
+ argTypes: {
19
+ endpoint: { control: 'text', description: '' },
20
+ theme: { control: 'text', description: '' },
21
+ session: { control: 'text', description: '' },
22
+ playerAvatarUrl: { control: 'text', description: '' },
23
+ language: { control: 'text', description: '' },
24
+ playerName: { control: 'text', description: '' },
25
+ dateFormat: { control: 'text', description: '' },
26
+ clientStyling: { control: 'text', description: '' },
27
+ clientStylingUrl: { control: 'text', description: '' },
28
+ translationUrl: { control: 'text', description: '' },
29
+ },
30
+ };
31
+ export default meta;
32
+ const Template = (args) => {
33
+ return html `<player-elevate-card
34
+ endpoint="${args.endpoint}"
35
+ theme="${args.theme}"
36
+ session="${args.session}"
37
+ playerAvatarUrl="${args.playerAvatarUrl}"
38
+ language="${args.language}"
39
+ playerName="${args.playerName}"
40
+ dateFormat="${args.dateFormat}"
41
+ clientStyling="${args.clientStyling}"
42
+ clientStylingUrl="${args.clientStylingUrl}"
43
+ translationUrl="${args.translationUrl}"
44
+ ></player-elevate-card>`;
45
+ };
46
+ export const Default = Template.bind({});
47
+ Default.args = {
48
+ endpoint: "",
49
+ theme: "Dark",
50
+ session: "",
51
+ playerAvatarUrl: "",
52
+ language: "en",
53
+ playerName: "",
54
+ dateFormat: "yyyy-MM-dd",
55
+ clientStyling: "",
56
+ clientStylingUrl: "",
57
+ translationUrl: "",
58
+ };
@@ -0,0 +1,87 @@
1
+ :host {
2
+ display: block;
3
+ }
4
+
5
+ @keyframes rotate {
6
+ from {
7
+ transform: rotate(360deg);
8
+ }
9
+ to {
10
+ transform: rotate(0deg);
11
+ }
12
+ }
13
+ .RakebackCard {
14
+ border: 2px solid var(--em-color-border-primary, #003E5C);
15
+ padding: 32px;
16
+ border-radius: var(--emw--border-radius-medium, 12px);
17
+ overflow: hidden;
18
+ font-family: inherit;
19
+ }
20
+ .RakebackCard .RakebackCardContent .RakebackTitle {
21
+ font-size: var(--emw--font-size-small, 14px);
22
+ font-weight: var(--emw--font-weight-semibold, 500);
23
+ color: var(--em-color-text-secondary, #727672);
24
+ }
25
+ .RakebackCard .RakebackCardContent .RakebackDetails {
26
+ display: flex;
27
+ flex-wrap: wrap;
28
+ justify-content: space-between;
29
+ align-items: center;
30
+ margin-top: 17px;
31
+ }
32
+ .RakebackCard .RakebackCardContent .RakebackDetails .RakebackInfo {
33
+ display: flex;
34
+ flex-wrap: wrap;
35
+ align-items: center;
36
+ gap: 0 17px;
37
+ }
38
+ .RakebackCard .RakebackCardContent .RakebackDetails .RakebackInfo .RakebackRefresh {
39
+ width: 52px;
40
+ height: 52px;
41
+ cursor: pointer;
42
+ }
43
+ .RakebackCard .RakebackCardContent .RakebackDetails .RakebackInfo .RakebackRefresh.RakebackLoading {
44
+ animation: rotate 0.5s linear infinite;
45
+ }
46
+ .RakebackCard .RakebackCardContent .RakebackDetails .RakebackInfo .RakebackNumContainer {
47
+ color: var(--em-color-text-primary, #fff);
48
+ display: flex;
49
+ align-items: center;
50
+ gap: 8px;
51
+ }
52
+ .RakebackCard .RakebackCardContent .RakebackDetails .RakebackInfo .RakebackNumContainer .RakebackNum {
53
+ display: inline-block;
54
+ font-weight: var(--emw--font-weight-bold, 700);
55
+ font-size: var(--emw--font-size-2x-large, 36px);
56
+ }
57
+ .RakebackCard .RakebackCardContent .RakebackDetails .RakebackInfo .RakebackNumContainer .RakebackCurrency {
58
+ display: inline-block;
59
+ font-weight: var(--emw--font-weight-semibold, 500);
60
+ font-size: var(--emw--font-size-small, 14px);
61
+ margin-top: 14px;
62
+ }
63
+ .RakebackCard .RakebackCardContent .RakebackDetails .RakebackButton {
64
+ font-family: inherit;
65
+ cursor: pointer;
66
+ width: 90px;
67
+ height: 34px;
68
+ border-radius: var(--emw--border-radius-large, 99px);
69
+ border: 2px solid var(--em-color-border-success, #083B17);
70
+ display: flex;
71
+ justify-content: center;
72
+ align-items: center;
73
+ color: var(--em-color-text-primary, #fff);
74
+ background: linear-gradient(180deg, var(--em-color-gradient-1, #24B24E) 0%, var(--em-color-gradient-1, #24B24E) 100%);
75
+ }
76
+ .RakebackCard .RakebackCardContent .RakebackDetails .RakebackButton.disabled {
77
+ cursor: not-allowed;
78
+ opacity: 0.4;
79
+ }
80
+ .RakebackCard .RakebackCardContent .RakebackCoolOff,
81
+ .RakebackCard .RakebackCardContent .RakebackError {
82
+ margin-top: 8px;
83
+ font-weight: var(--emw--font-weight-semibold, 500);
84
+ font-size: var(--emw--font-size-x-small, 12px);
85
+ color: var(--em-color-text-error, #FF7A73);
86
+ text-align: center;
87
+ }