@everymatrix/bonus-elevate-shop 1.0.69

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 (76) hide show
  1. package/dist/bonus-elevate-shop/bonus-elevate-shop.esm.js +1 -0
  2. package/dist/bonus-elevate-shop/index.esm.js +0 -0
  3. package/dist/bonus-elevate-shop/p-0b8ef56a.entry.js +1 -0
  4. package/dist/bonus-elevate-shop/p-248310cb.js +2 -0
  5. package/dist/bonus-elevate-shop/p-3feb3345.entry.js +1 -0
  6. package/dist/bonus-elevate-shop/p-5048c470.entry.js +1 -0
  7. package/dist/bonus-elevate-shop/p-e1255160.js +1 -0
  8. package/dist/bonus-elevate-shop/p-e5a4fd7f.js +1 -0
  9. package/dist/cjs/app-globals-3a1e7e63.js +5 -0
  10. package/dist/cjs/bonus-elevate-shop.cjs.js +25 -0
  11. package/dist/cjs/bonus-elevate-shop_4.cjs.entry.js +730 -0
  12. package/dist/cjs/index-950597be.js +1650 -0
  13. package/dist/cjs/index.cjs.js +2 -0
  14. package/dist/cjs/loader.cjs.js +15 -0
  15. package/dist/cjs/player-elevate-card-items-94136a9c.js +2364 -0
  16. package/dist/cjs/player-elevate-card.cjs.entry.js +74 -0
  17. package/dist/cjs/player-elevate-loyaltycard.cjs.entry.js +81 -0
  18. package/dist/collection/collection-manifest.json +28 -0
  19. package/dist/collection/components/bonus-elevate-shop/bonus-elevate-shop.css +92 -0
  20. package/dist/collection/components/bonus-elevate-shop/bonus-elevate-shop.js +247 -0
  21. package/dist/collection/components/bonus-elevate-shop/index.js +1 -0
  22. package/dist/collection/index.js +1 -0
  23. package/dist/collection/renders/renderGifts.js +30 -0
  24. package/dist/collection/static/avaliable.false.svg +47 -0
  25. package/dist/collection/static/avaliable.true.svg +47 -0
  26. package/dist/collection/utils/fetch.js +29 -0
  27. package/dist/collection/utils/translation.js +7 -0
  28. package/dist/collection/utils/types.js +1 -0
  29. package/dist/collection/utils/utils.js +3 -0
  30. package/dist/esm/app-globals-0f993ce5.js +3 -0
  31. package/dist/esm/bonus-elevate-shop.js +20 -0
  32. package/dist/esm/bonus-elevate-shop_4.entry.js +723 -0
  33. package/dist/esm/index-a343bbd8.js +1620 -0
  34. package/dist/esm/index.js +1 -0
  35. package/dist/esm/loader.js +11 -0
  36. package/dist/esm/player-elevate-card-items-ea0abf0a.js +2351 -0
  37. package/dist/esm/player-elevate-card.entry.js +70 -0
  38. package/dist/esm/player-elevate-loyaltycard.entry.js +77 -0
  39. package/dist/index.cjs.js +1 -0
  40. package/dist/index.js +1 -0
  41. package/dist/static/button-default.svg +42 -0
  42. package/dist/static/button-disabled.svg +4 -0
  43. package/dist/static/button-hover.svg +4 -0
  44. package/dist/static/button-level.svg +27 -0
  45. package/dist/static/button-pressed.svg +18 -0
  46. package/dist/static/button-redeem.svg +36 -0
  47. package/dist/static/card-ground-over.png +0 -0
  48. package/dist/static/card-ground-over.svg +903 -0
  49. package/dist/static/card-ground.png +0 -0
  50. package/dist/static/card-ground.svg +34 -0
  51. package/dist/static/info.svg +4 -0
  52. package/dist/static/level-badge.png +0 -0
  53. package/dist/static/level-percent.svg +80 -0
  54. package/dist/static/tips-info.svg +21 -0
  55. package/dist/static/user.svg +3 -0
  56. package/dist/stencil.config.dev.js +17 -0
  57. package/dist/stencil.config.js +17 -0
  58. package/dist/types/Users/raul.vasile/workspace/everymatrix/widgets-monorepo/packages/stencil/bonus-elevate-shop/.stencil/packages/stencil/bonus-elevate-shop/stencil.config.d.ts +2 -0
  59. package/dist/types/Users/raul.vasile/workspace/everymatrix/widgets-monorepo/packages/stencil/bonus-elevate-shop/.stencil/packages/stencil/bonus-elevate-shop/stencil.config.dev.d.ts +2 -0
  60. package/dist/types/components/bonus-elevate-shop/bonus-elevate-shop.d.ts +45 -0
  61. package/dist/types/components/bonus-elevate-shop/index.d.ts +1 -0
  62. package/dist/types/components.d.ts +101 -0
  63. package/dist/types/index.d.ts +1 -0
  64. package/dist/types/renders/renderGifts.d.ts +3 -0
  65. package/dist/types/stencil-public-runtime.d.ts +1674 -0
  66. package/dist/types/utils/fetch.d.ts +3 -0
  67. package/dist/types/utils/translation.d.ts +8 -0
  68. package/dist/types/utils/types.d.ts +12 -0
  69. package/dist/types/utils/utils.d.ts +1 -0
  70. package/loader/cdn.js +1 -0
  71. package/loader/index.cjs.js +1 -0
  72. package/loader/index.d.ts +24 -0
  73. package/loader/index.es2017.js +1 -0
  74. package/loader/index.js +2 -0
  75. package/loader/package.json +11 -0
  76. package/package.json +31 -0
@@ -0,0 +1,74 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-950597be.js');
6
+ const playerElevateCardItems = require('./player-elevate-card-items-94136a9c.js');
7
+
8
+ const playerElevateCardCss = "@container (max-width: 270px) {\n .Card .Inner {\n flex-direction: column;\n }\n .Card .Inner .Content {\n padding: 9px;\n }\n .Inner .Row .ExpirationPoints {\n order: 1;\n }\n}\n.Card .PlayerImg {\n order: 0;\n}\n.Card .ExpirationPoints {\n order: 3;\n}\n.Card .LevelInfo {\n order: 2;\n}\n.Card .Inner .Row .PlayerImg {\n flex-direction: column;\n}\n.Card .Inner .Row .PointsInfo {\n width: 100%;\n text-align: center;\n display: flex;\n flex-direction: column;\n max-height: 50%;\n}\n.Card .Inner .PlayerAvatar .Badge {\n background-size: contain;\n background-repeat: no-repeat;\n position: absolute;\n right: 5px;\n bottom: -5px;\n width: 40%;\n height: 40%;\n overflow: visible;\n}\n.Card .Inner .Row .ExpirationPoints {\n text-align: left;\n color: var(--emfe-w-color-red, red);\n}\n.Card .Inner .Row .Points {\n text-wrap: nowrap;\n}\n.Card .Inner .LevelInfo .ElevateLevel {\n flex-direction: column;\n}\n.Card .Inner .LevelInfo .ElevateLevel .LevelName {\n width: calc(100% - 20px);\n text-align: left;\n font-size: 13px;\n padding-left: 20px;\n margin: 10px 0;\n}\n.Card .Inner .LevelInfo .ElevateLevel .ExpirationDate {\n text-align: center;\n font-size: smaller;\n}\n.Card .Inner .LevelInfo .ElevateLevel .ExpireTime {\n margin-left: 5px;\n}";
9
+ const PlayerElevateCardStyle0 = playerElevateCardCss;
10
+
11
+ const PlayerElevateCard = class {
12
+ constructor(hostRef) {
13
+ index.registerInstance(this, hostRef);
14
+ this.endpoint = undefined;
15
+ this.theme = 'Dark';
16
+ this.session = undefined;
17
+ this.playerAvatarUrl = undefined;
18
+ this.language = 'en';
19
+ this.playerName = undefined;
20
+ this.dateFormat = 'yyyy-MM-dd';
21
+ this.clientStyling = '';
22
+ this.clientStylingUrl = '';
23
+ this.translationUrl = '';
24
+ this.pointExpireString = undefined;
25
+ this.playerLevelFlag = 0;
26
+ this.playerElevateLevel = undefined;
27
+ this.elevateWalletTotal = undefined;
28
+ }
29
+ onSessionOrEndpointChange() {
30
+ this.paramProxy = Object.assign(Object.assign({}, this.paramProxy), { session: this.session, endpoint: this.endpoint, language: this.language });
31
+ }
32
+ playerElevateLeveLoadedHandler(event) {
33
+ if (!event.detail) {
34
+ return;
35
+ }
36
+ if (event.detail['elevateLevelWalletTotal']) {
37
+ this.elevateWalletTotal = event.detail['elevateLevelWalletTotal'];
38
+ }
39
+ if (event.detail['elevateLevel']) {
40
+ this.playerElevateLevel = event.detail['elevateLevel'];
41
+ }
42
+ if (event.detail['pointExpireString']) {
43
+ this.pointExpireString = event.detail.xpExpireString;
44
+ }
45
+ if (event.detail.calculatedLevelFlag) {
46
+ this.playerLevelFlag = event.detail.calculatedLevelFlag;
47
+ }
48
+ }
49
+ onRedeemClick() {
50
+ window.postMessage({ type: 'BEERedeemClicked' }, window.location.href);
51
+ }
52
+ componentWillLoad() {
53
+ this.paramProxy = {
54
+ endpoint: this.endpoint,
55
+ session: this.session,
56
+ language: this.language,
57
+ calculateLevelFlag: true,
58
+ };
59
+ }
60
+ render() {
61
+ const backgroundOuterImagePath = index.getAssetPath('../static/card-ground.svg');
62
+ const backgroundInnerImagePath = index.getAssetPath('../static/card-ground-over.svg');
63
+ return (index.h("div", { key: '278a328dd084ee73b2707b93a57bccae64a2c9c7', class: `ElevateCardWrapper ${this.theme}` }, index.h("div", { key: '68c885baf533447a7c77fd887bbec11e53768277', class: "Card Outer", style: { 'backgroundImage': `url(${backgroundOuterImagePath}` } }, index.h("general-styling-wrapper", { key: '4066253a70cdd5e712ca244a708e7c1600c83071', clientStyling: this.clientStyling, clientStylingUrl: this.clientStylingUrl, targetTranslations: playerElevateCardItems.TRANSLATIONS, translationUrl: this.translationUrl }), index.h("player-elevate-card-data", { key: '64cda2a267c752056b3c7e3134cc324fa96bc261', params: this.paramProxy }), index.h("div", { key: 'c63ae83b401a35f5a78acd83dc3d7296c25141d7', class: "OuterCover Inner", style: { 'backgroundImage': `url(${backgroundInnerImagePath}` } }, this.playerElevateLevel && (index.h(index.Fragment, { key: 'ba16e5bb54259c17fd9e5aa0e3c03c2ec5d4263c' }, index.h("div", { key: 'fa1bf74f45e28318c95266cc42c54541bde92718', class: 'Content Row' }, index.h("div", { key: '7ede46f91bcc0d894b2b633627a4ca97d15fbe90', class: "PlayerImg" }, index.h(playerElevateCardItems.PlayerAvatar, { key: 'b6d0bac085e0178512b8a63ba8fccae7d4cc8399', playerAvatarUrl: this.playerAvatarUrl, loyaltyIconUrl: this.playerElevateLevel.presentation.asset }), index.h(playerElevateCardItems.PlayerPoints, { key: '88c445dbcd7dbe426a8de18beea02aecc03e26f3', loyaltyPoints: this.playerElevateLevel.loyaltyPoints, language: this.language })), this.pointExpireString && (index.h("div", { key: '4d985e486ecb74a6c916b28e619de83cb3d77ac1', class: 'PointsInfo ExpirationPoints' }, this.pointExpireString, " ")), index.h("div", { key: '34e051ee1ff79b825fca57db958e1e5684a0aca1', class: `LevelInfo Level${this.playerLevelFlag} ${this.playerElevateLevel.presentation.displayName}` }, index.h(playerElevateCardItems.PlayerNameDiv, { key: 'fa1b1f16e0b25c6adfba4c215e4ed377e05699b2', playerName: this.playerName }), index.h(playerElevateCardItems.PlayerElevateLoyaltyLevel, { key: '6d18b1422db202363ebcd56cc56946e0e071937b', hideInfo: true, level: this.playerElevateLevel.name, expireTime: this.playerElevateLevel.expireTime, dateFormat: this.dateFormat }), index.h(playerElevateCardItems.PlayerLoyaltyProcess, { key: '7dae355c4a5a9e28c70dced0ac061608f1753020' }), index.h(playerElevateCardItems.PlayerElevateCardRedeem, { key: '7e5f830b612c962a828c58f20a88dc97d315c910', onRedeemClick: this.onRedeemClick, language: this.language })))))))));
64
+ }
65
+ static get assetsDirs() { return ["../static"]; }
66
+ static get watchers() { return {
67
+ "session": ["onSessionOrEndpointChange"],
68
+ "endpoint": ["onSessionOrEndpointChange"],
69
+ "language": ["onSessionOrEndpointChange"]
70
+ }; }
71
+ };
72
+ PlayerElevateCard.style = PlayerElevateCardStyle0;
73
+
74
+ exports.player_elevate_card = PlayerElevateCard;
@@ -0,0 +1,81 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-950597be.js');
6
+ const playerElevateCardItems = require('./player-elevate-card-items-94136a9c.js');
7
+
8
+ const playerElevateLoyaltycardCss = ":host{display:block}@media screen and (min-width: 501px){.LoyaltyCard .Inner .LevelInfo .ElevateLevel{flex-wrap:nowrap}.LoyaltyCard .Inner .LevelInfo .ElevateLevel .ExpirationDate{padding-top:11px;margin-left:5px}}@media screen and (max-width: 500px){.LoyaltyCard .Inner .LevelInfo .ElevateLevel{flex-wrap:wrap}.LoyaltyCard .Inner .LevelInfo .ElevateLevel .ExpirationDate{padding-top:0px;margin-left:0px}}.LoyaltyCard .Inner .LevelProgress{margin-left:0px}.LoyaltyCard .Inner .Row .PointsInfo{width:100%}.LoyaltyCard .Inner .Row .PointsInfo.ExpirationPoints{text-align:left;color:var(--emfe-w-color-red-50, red)}.LoyaltyCard .Inner .PlayerAvatar .Avatar{display:none}.LoyaltyCard .Inner .PlayerAvatar .Badge{border-radius:50%;background-size:contain;width:100%;height:100%}.LoyaltyCard .Inner .LevelInfo .ElevateLevel{display:flex;flex:1;align-items:center}.LoyaltyCard .Inner .LevelInfo .ElevateLevel .ExpirationDate{position:relative;padding-left:5px}.LoyaltyCard .Inner .LevelInfo .ElevateLevel .ExpirationDate .ExpireTime{margin-left:5px}.LoyaltyCard .Inner .LevelInfo .ElevateLevel .LevelName{padding-left:0;font-size:var(--emfe-w-elevate-fontsize-2xlarge, 21px);position:relative;width:auto;color:var(--emfe-w-elevate-color-levelname, #FFBD2B);font-weight:bold}.LoyaltyCard .NextLevelTip{text-align:right;font-size:11px;color:var(--emfe-w-color-black, #000);opacity:0.8;font-weight:bold}";
9
+ const PlayerElevateLoyaltycardStyle0 = playerElevateLoyaltycardCss;
10
+
11
+ const PlayerElevateLoyaltycard = class {
12
+ constructor(hostRef) {
13
+ index.registerInstance(this, hostRef);
14
+ this.endpoint = undefined;
15
+ this.theme = 'Dark';
16
+ this.session = undefined;
17
+ this.playerAvatarUrl = undefined;
18
+ this.language = 'en';
19
+ this.playerName = undefined;
20
+ this.dateFormat = 'yyyy-MM-dd';
21
+ this.clientStyling = '';
22
+ this.clientStylingUrl = '';
23
+ this.translationUrl = '';
24
+ this.pointExpireString = undefined;
25
+ this.playerElevateLevel = undefined;
26
+ this.elevateWalletTotal = undefined;
27
+ }
28
+ onSessionOrEndpointChange() {
29
+ this.paramProxy = Object.assign(Object.assign({}, this.paramProxy), { session: this.session, endpoint: this.endpoint, language: this.language });
30
+ }
31
+ playerElevateLeveLoadedHandler(event) {
32
+ if (!event.detail) {
33
+ return;
34
+ }
35
+ if (event.detail['elevateLevelWalletTotal']) {
36
+ this.elevateWalletTotal = event.detail['elevateLevelWalletTotal'];
37
+ }
38
+ if (event.detail['elevateLevel']) {
39
+ this.playerElevateLevel = event.detail['elevateLevel'];
40
+ }
41
+ if (event.detail['pointExpireString']) {
42
+ this.pointExpireString = event.detail.xpExpireString;
43
+ }
44
+ }
45
+ onRedeemClick() {
46
+ window.postMessage({ type: 'BEERedeemClicked' }, window.location.href);
47
+ }
48
+ componentWillLoad() {
49
+ this.paramProxy = {
50
+ endpoint: this.endpoint,
51
+ session: this.session,
52
+ language: this.language,
53
+ };
54
+ }
55
+ getNextLevelTips() {
56
+ var _a;
57
+ //need xx to reach Diamond
58
+ let nextLevel = (_a = this.playerElevateLevel) === null || _a === void 0 ? void 0 : _a.nextLevel;
59
+ if (this.playerElevateLevel && nextLevel) {
60
+ const pointsToReach = (nextLevel.entryPoints - this.playerElevateLevel.loyaltyPoints).toFixed(2);
61
+ return playerElevateCardItems.translateWithParams('tipsForNextLevel', {
62
+ pointsToReach,
63
+ levelName: nextLevel.name,
64
+ });
65
+ }
66
+ return '';
67
+ }
68
+ render() {
69
+ const backgroundOuterImagePath = index.getAssetPath('../static/card-ground.svg');
70
+ const backgroundInnerImagePath = index.getAssetPath('../static/card-ground-over.svg');
71
+ return (index.h("div", { key: 'd32d09786bf66e0abef026482e7ea04a53c051b1', class: `ElevateCardWrapper ${this.theme}` }, index.h("div", { key: 'dd2685eb840341b8823f24db9b72d0f6b7d340ae', class: "LoyaltyCard Outer", style: { 'backgroundImage': `url(${backgroundOuterImagePath}` } }, index.h("general-styling-wrapper", { key: '3e2a00d1697c89441a8254cb81c6dc72e5b9f534', clientStyling: this.clientStyling, clientStylingUrl: this.clientStylingUrl, targetTranslations: playerElevateCardItems.TRANSLATIONS, translationUrl: this.translationUrl }), index.h("player-elevate-card-data", { key: '56221e6d50df3b09c4269000637818009807c994', params: this.paramProxy }), index.h("div", { key: 'f11201024b280d6beb2ce1978ebfa7f2c7c59678', class: 'OuterCover Inner', style: { 'backgroundImage': `url(${backgroundInnerImagePath}` } }, index.h("div", { key: '948a023268fad3945b5069686eb29312111042a2', class: 'Content Row' }, this.playerElevateLevel && (index.h(index.Fragment, { key: 'de7c52faa07386949ce1ca728968534922e9d880' }, index.h("div", { key: '7c1a0c6ea5dbe7ee2375813b3819efa61e283232', class: "PlayerImg" }, index.h(playerElevateCardItems.PlayerAvatar, { key: '70ae13ee168c6de7bf4618f6ab8761462c8812b2', onlyBadge: true, loyaltyIconUrl: this.playerElevateLevel.presentation.asset })), index.h("div", { key: 'c11f916999b52e43e04ee472b0f54691012409a5', class: `LevelInfo ${this.playerElevateLevel.name}` }, index.h(playerElevateCardItems.PlayerElevateLoyaltyLevel, { key: '6aa61d117b24f9abbee9c5d33e882d6f023f205b', hideInfo: true, level: this.playerElevateLevel.name, expireTime: this.playerElevateLevel.expireTime, dateFormat: this.dateFormat }), index.h(playerElevateCardItems.PlayerPoints, { key: '7cc02e34d4682c25095dbf6a3077b314410d8093', loyaltyPoints: this.playerElevateLevel.loyaltyPoints, language: this.language }), this.pointExpireString && (index.h("div", { key: '793e388644891e15b32e003ac8914e57e758e86b', class: 'PointsInfo ExpirationPoints' }, this.pointExpireString, " ")), index.h(playerElevateCardItems.PlayerLoyaltyProcess, { key: 'a4f6c3b9f9cd5e8c6a025c26154702f9495bbe5b' }), index.h("div", { key: 'd91eda0f963ba9ffd481237f4b16bd4ef638d25e', class: "NextLevelTip" }, this.getNextLevelTips())))))))));
72
+ }
73
+ static get watchers() { return {
74
+ "session": ["onSessionOrEndpointChange"],
75
+ "endpoint": ["onSessionOrEndpointChange"],
76
+ "language": ["onSessionOrEndpointChange"]
77
+ }; }
78
+ };
79
+ PlayerElevateLoyaltycard.style = PlayerElevateLoyaltycardStyle0;
80
+
81
+ exports.player_elevate_loyaltycard = PlayerElevateLoyaltycard;
@@ -0,0 +1,28 @@
1
+ {
2
+ "entries": [
3
+ "components/bonus-elevate-shop/bonus-elevate-shop.js"
4
+ ],
5
+ "compiler": {
6
+ "name": "@stencil/core",
7
+ "version": "4.20.0",
8
+ "typescriptVersion": "5.5.3"
9
+ },
10
+ "collections": [
11
+ {
12
+ "name": "@everymatrix/general-styling-wrapper",
13
+ "tags": [
14
+ "general-styling-wrapper"
15
+ ]
16
+ },
17
+ {
18
+ "name": "@everymatrix/player-elevate-card",
19
+ "tags": [
20
+ "player-elevate-card",
21
+ "player-elevate-card-data",
22
+ "player-elevate-loyaltycard",
23
+ "player-elevate-pointcard"
24
+ ]
25
+ }
26
+ ],
27
+ "bundles": []
28
+ }
@@ -0,0 +1,92 @@
1
+ :host {
2
+ display: block;
3
+ }
4
+
5
+ svg circle {
6
+ shape-rendering: crispEdges;
7
+ }
8
+
9
+ .MainContainer {
10
+ max-width: 420px;
11
+ }
12
+ .MainContainer player-elevate-pointcard {
13
+ width: 100%;
14
+ height: 220px;
15
+ }
16
+
17
+ .Gifts {
18
+ display: flex;
19
+ justify-content: space-between;
20
+ padding: 15px;
21
+ padding-left: -8px;
22
+ padding-right: -8px;
23
+ flex: 0 0 45.1282051282%;
24
+ flex-wrap: wrap;
25
+ justify-content: flex-start;
26
+ background: var(--emfe-w-color-white, #FFFFFF);
27
+ color: var(--emfe-w-color-black-150, #000000);
28
+ font-weight: 500;
29
+ gap: 10px;
30
+ margin-top: -100px;
31
+ position: relative;
32
+ min-height: 200px;
33
+ }
34
+
35
+ .InfoContainer {
36
+ display: flex;
37
+ margin-top: 17px;
38
+ justify-content: space-between;
39
+ }
40
+
41
+ .Gift {
42
+ display: block;
43
+ margin-bottom: 10px;
44
+ padding: 8px;
45
+ box-shadow: 0px 18px 45px 0px var(--emfe-w-color-black-150, rgba(167, 167, 167, 0.2));
46
+ border-radius: 11px;
47
+ background: var(--emfe-w-color-white, #FFFFFF);
48
+ }
49
+ .Gift .ImgContainer {
50
+ width: 160px;
51
+ height: 107px;
52
+ border-radius: 11px;
53
+ box-shadow: 0px 2px 6px 0px var(--emfe-w-color-black-200, rgba(0, 0, 0, 0.2509803922));
54
+ cursor: pointer;
55
+ background-size: cover;
56
+ background-position: center center;
57
+ background-repeat: no-repeat;
58
+ }
59
+ .Gift .Point {
60
+ font-size: 20px;
61
+ }
62
+ .Gift .Title, .Gift .Description {
63
+ padding-left: 3px;
64
+ }
65
+ .Gift .Title {
66
+ font-size: 14px;
67
+ margin-top: 10px;
68
+ }
69
+ .Gift .Description {
70
+ font-size: 12px;
71
+ color: var(--emfe-w-color-black-100, #767171);
72
+ }
73
+ .Gift .AvaliableWrap {
74
+ align-self: self-end;
75
+ }
76
+ .Gift .AvaliableWrap.active {
77
+ cursor: pointer;
78
+ }
79
+ .Gift .AvaliableWrap.deactive {
80
+ cursor: not-allowed;
81
+ }
82
+ .Gift .AvaliableWrap span svg {
83
+ width: var(--emfe-w-elevate-avaliable-button-size, 46px);
84
+ }
85
+
86
+ .NoContent {
87
+ font-size: 16px;
88
+ color: var(--emfe-w-color-black-100, #afafaf);
89
+ text-align: center;
90
+ height: 120px;
91
+ line-height: 120px;
92
+ }
@@ -0,0 +1,247 @@
1
+ import { h } from "@stencil/core";
2
+ import { fetchNorwayApi } from "../../utils/fetch";
3
+ import { translation } from "../../utils/translation";
4
+ import { renderGifts } from "../../renders/renderGifts";
5
+ import "../../../../../general-styling-wrapper/dist/types/index";
6
+ import "../../../../../../svelte/general-animation-loading/es2015/general-animation-loading";
7
+ import "../../../../../player-elevate-card/dist/types/index";
8
+ export class BonusElevateShop {
9
+ constructor() {
10
+ this.bindedHandler = this.handleMessage.bind(this);
11
+ this.session = undefined;
12
+ this.endpoint = undefined;
13
+ this.language = 'en';
14
+ this.clientStyling = '';
15
+ this.clientStylingUrl = '';
16
+ this.translationUrl = '';
17
+ this.locale = translation['en'];
18
+ this.gifts = [];
19
+ this.isLoading = true;
20
+ }
21
+ async updateGifts() {
22
+ this.isLoading = true;
23
+ if (this.session) {
24
+ const res = await fetchNorwayApi.bind(this, '/v1/elevate/shop', {}).call();
25
+ this.gifts = res.data || [];
26
+ }
27
+ else {
28
+ this.gifts = [];
29
+ }
30
+ this.isLoading = false;
31
+ }
32
+ redeemGiftConfirm(id) {
33
+ const shopItem = this.gifts.filter((gift) => {
34
+ return gift.id === id;
35
+ })[0];
36
+ window.postMessage({ type: 'BEERedeemConfirm', shopItem }, window.location.href);
37
+ }
38
+ disconnectedCallback() {
39
+ window.removeEventListener('message', this.bindedHandler, false);
40
+ }
41
+ async redeemGift(id) {
42
+ const res = await fetchNorwayApi.bind(this, '/v1/elevate/redeem', {}, {
43
+ method: 'PUT',
44
+ body: JSON.stringify({ giftID: id }),
45
+ headers: {
46
+ 'Content-Type': 'application/json-patch+json',
47
+ }
48
+ }).call();
49
+ if (res.success) {
50
+ this.redeemGiftButton.emit();
51
+ window.postMessage({ type: 'BEEGiftRedeem', itemId: id }, window.location.href);
52
+ }
53
+ else {
54
+ window.postMessage({ type: 'BEEGiftRedeemFailed', itemId: id, err: res }, window.location.href);
55
+ }
56
+ }
57
+ loadGifts(renderer) {
58
+ if (this.isLoading) {
59
+ return h("general-animation-loading", null);
60
+ }
61
+ else {
62
+ if (this.gifts.length === 0) {
63
+ return (h("div", { class: "NoContent" }, this.locale.noContent));
64
+ }
65
+ else {
66
+ return renderer();
67
+ }
68
+ }
69
+ }
70
+ render() {
71
+ return (h("main", { key: 'd659585662c983efd2eeb69a3880ec8328ad8351', class: "MainContainer" }, h("general-styling-wrapper", { key: 'a9b2650455ecd27849e55553eb1679dddce7b7cd', clientStyling: this.clientStyling, clientStylingUrl: this.clientStylingUrl, targetTranslations: translation, translationUrl: this.translationUrl }), h("player-elevate-pointcard", { key: 'f042fb5c3fcb5d5c03059507a1201d1e56dfd5d4', endpoint: this.endpoint, session: this.session, language: this.language, clientStylingUrl: this.clientStylingUrl, clientStyling: this.clientStyling, translationUrl: this.translationUrl }), this.loadGifts(renderGifts.bind(this, this.gifts, this.locale, this.redeemGiftConfirm.bind(this)))));
72
+ }
73
+ handleMessage(message) {
74
+ if (message.data.type === "bee-redeem-confirmed" && message.data.id) {
75
+ this.redeemGift(message.data.id);
76
+ }
77
+ }
78
+ async componentDidLoad() {
79
+ this.updateGifts();
80
+ window.addEventListener('message', this.bindedHandler, false);
81
+ }
82
+ static get is() { return "bonus-elevate-shop"; }
83
+ static get encapsulation() { return "shadow"; }
84
+ static get originalStyleUrls() {
85
+ return {
86
+ "$": ["bonus-elevate-shop.scss"]
87
+ };
88
+ }
89
+ static get styleUrls() {
90
+ return {
91
+ "$": ["bonus-elevate-shop.css"]
92
+ };
93
+ }
94
+ static get assetsDirs() { return ["static"]; }
95
+ static get properties() {
96
+ return {
97
+ "session": {
98
+ "type": "string",
99
+ "mutable": false,
100
+ "complexType": {
101
+ "original": "string",
102
+ "resolved": "string",
103
+ "references": {}
104
+ },
105
+ "required": false,
106
+ "optional": false,
107
+ "docs": {
108
+ "tags": [],
109
+ "text": "User Session"
110
+ },
111
+ "attribute": "session",
112
+ "reflect": true
113
+ },
114
+ "endpoint": {
115
+ "type": "string",
116
+ "mutable": false,
117
+ "complexType": {
118
+ "original": "string",
119
+ "resolved": "string",
120
+ "references": {}
121
+ },
122
+ "required": false,
123
+ "optional": false,
124
+ "docs": {
125
+ "tags": [],
126
+ "text": "Endpoint URL for the source of data"
127
+ },
128
+ "attribute": "endpoint",
129
+ "reflect": true
130
+ },
131
+ "language": {
132
+ "type": "string",
133
+ "mutable": false,
134
+ "complexType": {
135
+ "original": "string",
136
+ "resolved": "string",
137
+ "references": {}
138
+ },
139
+ "required": false,
140
+ "optional": false,
141
+ "docs": {
142
+ "tags": [],
143
+ "text": "Language of the widget"
144
+ },
145
+ "attribute": "language",
146
+ "reflect": true,
147
+ "defaultValue": "'en'"
148
+ },
149
+ "clientStyling": {
150
+ "type": "string",
151
+ "mutable": false,
152
+ "complexType": {
153
+ "original": "string",
154
+ "resolved": "string",
155
+ "references": {}
156
+ },
157
+ "required": false,
158
+ "optional": false,
159
+ "docs": {
160
+ "tags": [],
161
+ "text": "Client custom styling via string"
162
+ },
163
+ "attribute": "client-styling",
164
+ "reflect": true,
165
+ "defaultValue": "''"
166
+ },
167
+ "clientStylingUrl": {
168
+ "type": "string",
169
+ "mutable": false,
170
+ "complexType": {
171
+ "original": "string",
172
+ "resolved": "string",
173
+ "references": {}
174
+ },
175
+ "required": false,
176
+ "optional": false,
177
+ "docs": {
178
+ "tags": [],
179
+ "text": "Client custom styling via url"
180
+ },
181
+ "attribute": "client-styling-url",
182
+ "reflect": true,
183
+ "defaultValue": "''"
184
+ },
185
+ "translationUrl": {
186
+ "type": "string",
187
+ "mutable": false,
188
+ "complexType": {
189
+ "original": "string",
190
+ "resolved": "string",
191
+ "references": {}
192
+ },
193
+ "required": false,
194
+ "optional": false,
195
+ "docs": {
196
+ "tags": [],
197
+ "text": "translation via url"
198
+ },
199
+ "attribute": "translation-url",
200
+ "reflect": true,
201
+ "defaultValue": "''"
202
+ }
203
+ };
204
+ }
205
+ static get states() {
206
+ return {
207
+ "locale": {},
208
+ "gifts": {},
209
+ "isLoading": {}
210
+ };
211
+ }
212
+ static get events() {
213
+ return [{
214
+ "method": "redeemGiftButton",
215
+ "name": "redeemGiftButton",
216
+ "bubbles": true,
217
+ "cancelable": true,
218
+ "composed": true,
219
+ "docs": {
220
+ "tags": [],
221
+ "text": ""
222
+ },
223
+ "complexType": {
224
+ "original": "Object",
225
+ "resolved": "Object",
226
+ "references": {
227
+ "Object": {
228
+ "location": "global",
229
+ "id": "global::Object"
230
+ }
231
+ }
232
+ }
233
+ }];
234
+ }
235
+ static get watchers() {
236
+ return [{
237
+ "propName": "endpoint",
238
+ "methodName": "updateGifts"
239
+ }, {
240
+ "propName": "language",
241
+ "methodName": "updateGifts"
242
+ }, {
243
+ "propName": "session",
244
+ "methodName": "updateGifts"
245
+ }];
246
+ }
247
+ }
@@ -0,0 +1 @@
1
+ export { BonusElevateShop } from './bonus-elevate-shop';
@@ -0,0 +1 @@
1
+ export * from './components';
@@ -0,0 +1,30 @@
1
+ import { h } from "@stencil/core";
2
+ import avaliableTrueSvg from "../static/avaliable.true.svg";
3
+ import avaliableFalseSvg from "../static/avaliable.false.svg";
4
+ const getStatusData = (gift, redeem) => {
5
+ switch (gift.available) {
6
+ case "true":
7
+ return {
8
+ extraClass: ' active',
9
+ onClick: () => redeem(gift.id),
10
+ icon: avaliableTrueSvg
11
+ };
12
+ case "false":
13
+ return {
14
+ extraClass: ' deactive',
15
+ onClick: () => { },
16
+ icon: avaliableFalseSvg
17
+ };
18
+ }
19
+ };
20
+ export const renderGifts = (gifts, locale, redeem) => {
21
+ return (h("div", { class: "Gifts FlexLayout" }, gifts.map(gift => {
22
+ var _a;
23
+ const statusData = getStatusData(gift, redeem);
24
+ const presentation = gift.presentation;
25
+ const getPropForBackgroundImage = (asset) => asset ?
26
+ { backgroundImage: `url('${asset}')` } :
27
+ {};
28
+ return (h("div", { class: "Gift" }, h("div", { class: "ImgContainer", onClick: () => window.postMessage({ type: 'BEEShopImgClicked', itemId: gift.id }, window.location.href), style: Object.assign({}, getPropForBackgroundImage(((_a = presentation.assets) === null || _a === void 0 ? void 0 : _a.length) > 0 ? presentation.assets[0] : '')) }), h("div", { class: "InfoContainer" }, h("div", null, h("div", { class: "Point" }, gift.points, " ", gift.points === 1 ? locale.Point : locale.Points), h("div", { class: "Title" }, (presentation === null || presentation === void 0 ? void 0 : presentation.displayName) || gift.displayName), h("div", { class: "Description" }, (presentation === null || presentation === void 0 ? void 0 : presentation.description) || '')), h("div", { class: "AvaliableWrap" + statusData.extraClass, onClick: () => statusData.onClick() }, h("span", { innerHTML: statusData.icon })))));
29
+ })));
30
+ };
@@ -0,0 +1,47 @@
1
+ <svg width="46" height="46" viewBox="0 0 46 46" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g filter="url(#filter0_bd_183_6497)">
3
+ <circle cx="23" cy="19" r="19" style="fill: var(--emfe-w-elevate-avaliable-button-disabled-color, #B7B7B7);" />
4
+ <circle cx="23" cy="19" r="18" stroke="url(#paint0_linear_183_6497)" stroke-opacity="0.6" stroke-width="2"/>
5
+ <circle cx="23" cy="19" r="18" stroke="url(#paint1_linear_183_6497)" stroke-width="2"/>
6
+ <circle cx="23" cy="19" r="18" stroke="url(#paint2_linear_183_6497)" stroke-width="2"/>
7
+ </g>
8
+ <g filter="url(#filter1_d_183_6497)">
9
+ <path d="M31.1977 11C31.7015 11 32.1279 11.1777 32.4767 11.5332C32.8256 11.8887 33 12.3203 33 12.8281V18.9102C33 20.2852 32.7364 21.5977 32.2093 22.8477C31.6822 24.0977 30.9748 25.1719 30.0872 26.0703C29.1996 26.9688 28.1376 27.6816 26.9012 28.209C25.6647 28.7363 24.3682 29 23.0116 29C21.6473 29 20.3469 28.7363 19.1105 28.209C17.874 27.6816 16.8101 26.9688 15.9186 26.0703C15.0271 25.1719 14.3178 24.0977 13.7907 22.8477C13.2636 21.5977 13 20.2852 13 18.9102V12.8281C13 12.3281 13.1783 11.8984 13.5349 11.5391C13.8915 11.1797 14.3178 11 14.814 11H31.1977ZM23.0116 23.4688C23.376 23.4688 23.6938 23.3398 23.9651 23.082L28.6628 18.5352C28.9496 18.2617 29.093 17.9297 29.093 17.5391C29.093 17.1562 28.9593 16.8301 28.6919 16.5605C28.4244 16.291 28.1008 16.1562 27.7209 16.1562C27.3566 16.1562 27.0388 16.2852 26.7674 16.543L23.0116 20.1758L19.2558 16.543C18.9845 16.2852 18.6705 16.1562 18.314 16.1562C17.9341 16.1562 17.6105 16.291 17.343 16.5605C17.0756 16.8301 16.9419 17.1562 16.9419 17.5391C16.9419 17.9375 17.0814 18.2695 17.3605 18.5352L22.0698 23.082C22.3256 23.3398 22.6395 23.4688 23.0116 23.4688Z" fill="#F0F0F0"/>
10
+ </g>
11
+ <defs>
12
+ <filter id="filter0_bd_183_6497" x="-36" y="-40" width="118" height="118" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
13
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
14
+ <feGaussianBlur in="BackgroundImageFix" stdDeviation="20"/>
15
+ <feComposite in2="SourceAlpha" operator="in" result="effect1_backgroundBlur_183_6497"/>
16
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
17
+ <feOffset dy="4"/>
18
+ <feGaussianBlur stdDeviation="2"/>
19
+ <feComposite in2="hardAlpha" operator="out"/>
20
+ <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
21
+ <feBlend mode="normal" in2="effect1_backgroundBlur_183_6497" result="effect2_dropShadow_183_6497"/>
22
+ <feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow_183_6497" result="shape"/>
23
+ </filter>
24
+ <filter id="filter1_d_183_6497" x="11" y="10" width="24" height="22" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
25
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
26
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
27
+ <feOffset dy="1"/>
28
+ <feGaussianBlur stdDeviation="1"/>
29
+ <feComposite in2="hardAlpha" operator="out"/>
30
+ <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
31
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_183_6497"/>
32
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_183_6497" result="shape"/>
33
+ </filter>
34
+ <linearGradient id="paint0_linear_183_6497" x1="49.2869" y1="15.1911" x2="36.3103" y2="15.603" gradientUnits="userSpaceOnUse">
35
+ <stop stop-color="white"/>
36
+ <stop offset="1" stop-color="#EFEFEF" stop-opacity="0"/>
37
+ </linearGradient>
38
+ <linearGradient id="paint1_linear_183_6497" x1="4" y1="0" x2="19.3776" y2="8.17396" gradientUnits="userSpaceOnUse">
39
+ <stop stop-color="white" stop-opacity="0.5"/>
40
+ <stop offset="1" stop-color="white" stop-opacity="0"/>
41
+ </linearGradient>
42
+ <linearGradient id="paint2_linear_183_6497" x1="42" y1="38" x2="27.0558" y2="34.3156" gradientUnits="userSpaceOnUse">
43
+ <stop stop-color="white" stop-opacity="0.5"/>
44
+ <stop offset="1" stop-color="white" stop-opacity="0"/>
45
+ </linearGradient>
46
+ </defs>
47
+ </svg>