@everymatrix/player-elevate-level 1.44.0 → 1.45.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 (75) hide show
  1. package/dist/cjs/app-globals-3a1e7e63.js +5 -0
  2. package/dist/cjs/bonus-elevate-levels_8.cjs.entry.js +644 -674
  3. package/dist/cjs/index-91eb0bf0.js +1682 -0
  4. package/dist/cjs/loader.cjs.js +7 -13
  5. package/dist/cjs/{player-elevate-card-items-9e7a9a23.js → player-elevate-card-items-ae20c19f.js} +171 -285
  6. package/dist/cjs/player-elevate-card.cjs.entry.js +59 -70
  7. package/dist/cjs/player-elevate-level.cjs.js +17 -11
  8. package/dist/cjs/player-elevate-pointcard.cjs.entry.js +61 -77
  9. package/dist/collection/collection-manifest.json +3 -3
  10. package/dist/collection/components/player-elevate-level/index.js +1 -0
  11. package/dist/collection/components/player-elevate-level/player-elevate-level.js +208 -209
  12. package/dist/esm/app-globals-0f993ce5.js +3 -0
  13. package/dist/esm/bonus-elevate-levels_8.entry.js +644 -674
  14. package/dist/esm/index-32ed7fbd.js +1651 -0
  15. package/dist/esm/loader.js +7 -13
  16. package/dist/esm/{player-elevate-card-items-08ee8fab.js → player-elevate-card-items-2eccd763.js} +172 -285
  17. package/dist/esm/player-elevate-card.entry.js +59 -70
  18. package/dist/esm/player-elevate-level.js +14 -11
  19. package/dist/esm/player-elevate-pointcard.entry.js +61 -77
  20. package/dist/player-elevate-level/p-5f93600c.entry.js +1 -0
  21. package/dist/player-elevate-level/p-6d39391e.js +2 -0
  22. package/dist/player-elevate-level/p-73e5a291.entry.js +1 -0
  23. package/dist/player-elevate-level/p-a622755e.js +1 -0
  24. package/dist/player-elevate-level/p-acd808d7.entry.js +1 -0
  25. package/dist/player-elevate-level/p-e1255160.js +1 -0
  26. package/dist/player-elevate-level/player-elevate-level.esm.js +1 -1
  27. package/dist/stencil.config.dev.js +17 -0
  28. package/dist/stencil.config.js +14 -22
  29. package/dist/types/Users/adrian.pripon/Documents/Work/widgets-monorepo/packages/stencil/player-elevate-level/.stencil/packages/stencil/player-elevate-level/stencil.config.d.ts +2 -0
  30. package/dist/types/Users/adrian.pripon/Documents/Work/widgets-monorepo/packages/stencil/player-elevate-level/.stencil/packages/stencil/player-elevate-level/stencil.config.dev.d.ts +2 -0
  31. package/dist/types/components/player-elevate-level/index.d.ts +1 -0
  32. package/dist/types/components/player-elevate-level/player-elevate-level.d.ts +41 -41
  33. package/dist/types/stencil-public-runtime.d.ts +142 -33
  34. package/loader/cdn.js +1 -3
  35. package/loader/index.cjs.js +1 -3
  36. package/loader/index.d.ts +13 -1
  37. package/loader/index.es2017.js +1 -3
  38. package/loader/index.js +1 -3
  39. package/loader/package.json +1 -0
  40. package/package.json +12 -6
  41. package/dist/cjs/index-c706b0d2.js +0 -1726
  42. package/dist/components/bonus-elevate-levels.js +0 -6
  43. package/dist/components/bonus-elevate-levels2.js +0 -138
  44. package/dist/components/elevate-level-list.js +0 -6
  45. package/dist/components/elevate-level-list2.js +0 -198
  46. package/dist/components/elevate-level-presentation.js +0 -6
  47. package/dist/components/elevate-level-presentation2.js +0 -31
  48. package/dist/components/elevate-levels-data.js +0 -6
  49. package/dist/components/elevate-levels-data2.js +0 -102
  50. package/dist/components/general-styling-wrapper.js +0 -6
  51. package/dist/components/general-styling-wrapper2.js +0 -103
  52. package/dist/components/index.d.ts +0 -26
  53. package/dist/components/index.js +0 -1
  54. package/dist/components/player-elevate-card-data.js +0 -6
  55. package/dist/components/player-elevate-card-data2.js +0 -635
  56. package/dist/components/player-elevate-card-items.js +0 -2250
  57. package/dist/components/player-elevate-card.js +0 -126
  58. package/dist/components/player-elevate-level.d.ts +0 -11
  59. package/dist/components/player-elevate-level.js +0 -107
  60. package/dist/components/player-elevate-loyaltycard.js +0 -6
  61. package/dist/components/player-elevate-loyaltycard2.js +0 -129
  62. package/dist/components/player-elevate-pointcard.js +0 -135
  63. package/dist/esm/index-104132db.js +0 -1696
  64. package/dist/esm/polyfills/core-js.js +0 -11
  65. package/dist/esm/polyfills/css-shim.js +0 -1
  66. package/dist/esm/polyfills/dom.js +0 -79
  67. package/dist/esm/polyfills/es5-html-element.js +0 -1
  68. package/dist/esm/polyfills/index.js +0 -34
  69. package/dist/esm/polyfills/system.js +0 -6
  70. package/dist/player-elevate-level/p-04a5ef33.entry.js +0 -1
  71. package/dist/player-elevate-level/p-46fd6f51.js +0 -1
  72. package/dist/player-elevate-level/p-6766466f.js +0 -1
  73. package/dist/player-elevate-level/p-d5d234f8.entry.js +0 -1
  74. package/dist/player-elevate-level/p-d8ae2452.entry.js +0 -1
  75. package/dist/types/Users/adrian.pripon/Documents/Work/widgets-stencil/packages/player-elevate-level/.stencil/packages/player-elevate-level/stencil.config.d.ts +0 -2
@@ -2,141 +2,133 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-c706b0d2.js');
6
- const playerElevateCardItems = require('./player-elevate-card-items-9e7a9a23.js');
5
+ const index = require('./index-91eb0bf0.js');
6
+ const playerElevateCardItems = require('./player-elevate-card-items-ae20c19f.js');
7
7
 
8
8
  const DEFAULT_LANGUAGE = 'en';
9
9
  const SUPPORTED_LANGUAGES = ['ro', 'en', 'fr', 'hr', 'tr'];
10
10
  const TRANSLATIONS = {
11
- en: {
12
- level: 'level',
13
- seeAll: 'See All',
14
- termsAndConditions: 'Terms & Conditions',
15
- loadElevateLevelErrorMessage: 'Error when load elevate levels',
16
- noLevelsSet: 'There is no level set',
17
- points: 'Points',
18
- },
19
- fr: {
20
- level: 'level',
21
- seeAll: 'See All',
22
- termsAndConditions: 'Terms & Conditions',
23
- loadElevateLevelErrorMessage: 'Error when load elevate levels',
24
- noLevelsSet: 'There is no level set',
25
- points: 'Points',
26
- },
27
- hr: {
28
- level: 'Razina',
29
- seeAll: 'Vidi sve',
30
- privilegesFor: 'Privilegije za',
31
- termsAndConditions: 'Uvjeti i odredbe',
32
- noLevelsSet: 'There is no level set',
33
- points: 'Points',
34
- },
35
- ro: {
36
- level: 'level',
37
- seeAll: 'See All',
38
- termsAndConditions: 'Terms & Conditions',
39
- loadElevateLevelErrorMessage: 'Error when load elevate levels',
40
- noLevelsSet: 'There is no level set',
41
- points: 'Points',
42
- },
43
- tr: {
44
- level: 'level',
45
- seeAll: 'See All',
46
- termsAndConditions: 'Terms & Conditions',
47
- loadElevateLevelErrorMessage: 'Error when load elevate levels',
48
- noLevelsSet: 'There is no level set',
49
- points: 'Points',
50
- }
11
+ en: {
12
+ level: 'level',
13
+ seeAll: 'See All',
14
+ termsAndConditions: 'Terms & Conditions',
15
+ loadElevateLevelErrorMessage: 'Error when load elevate levels',
16
+ noLevelsSet: 'There is no level set',
17
+ points: 'Points',
18
+ },
19
+ fr: {
20
+ level: 'level',
21
+ seeAll: 'See All',
22
+ termsAndConditions: 'Terms & Conditions',
23
+ loadElevateLevelErrorMessage: 'Error when load elevate levels',
24
+ noLevelsSet: 'There is no level set',
25
+ points: 'Points',
26
+ },
27
+ hr: {
28
+ level: 'Razina',
29
+ seeAll: 'Vidi sve',
30
+ privilegesFor: 'Privilegije za',
31
+ termsAndConditions: 'Uvjeti i odredbe',
32
+ noLevelsSet: 'There is no level set',
33
+ points: 'Points',
34
+ },
35
+ ro: {
36
+ level: 'level',
37
+ seeAll: 'See All',
38
+ termsAndConditions: 'Terms & Conditions',
39
+ loadElevateLevelErrorMessage: 'Error when load elevate levels',
40
+ noLevelsSet: 'There is no level set',
41
+ points: 'Points',
42
+ },
43
+ tr: {
44
+ level: 'level',
45
+ seeAll: 'See All',
46
+ termsAndConditions: 'Terms & Conditions',
47
+ loadElevateLevelErrorMessage: 'Error when load elevate levels',
48
+ noLevelsSet: 'There is no level set',
49
+ points: 'Points',
50
+ }
51
51
  };
52
52
  const translate = (key, customLang) => {
53
- const lang = customLang;
54
- return TRANSLATIONS[lang !== undefined && (SUPPORTED_LANGUAGES.includes(lang) || TRANSLATIONS[lang]) ? lang : DEFAULT_LANGUAGE][key];
53
+ const lang = customLang;
54
+ return TRANSLATIONS[lang !== undefined && (SUPPORTED_LANGUAGES.includes(lang) || TRANSLATIONS[lang]) ? lang : DEFAULT_LANGUAGE][key];
55
55
  };
56
56
 
57
57
  const bonusElevateLevelsCss = ":host{display:block}.ElevateLevelContent{padding:20px;position:relative}.ElevateLevelContent .Privileges{padding-bottom:30px}.ElevateLevelContent .tc{position:absolute;right:10px;bottom:10px;text-align:right;display:none}";
58
+ const BonusElevateLevelsStyle0 = bonusElevateLevelsCss;
58
59
 
59
60
  const BonusElevateLevels = class {
60
- constructor(hostRef) {
61
- index.registerInstance(this, hostRef);
62
- /**
63
- * Client custom styling via string
64
- */
65
- this.clientStyling = '';
66
- /**
67
- * Client custom styling via url
68
- */
69
- this.clientStylingUrl = '';
70
- /**
71
- * Language of the widget
72
- */
73
- this.language = 'en';
74
- /**
75
- * The translationUrl
76
- */
77
- this.translationUrl = '';
78
- /**
79
- * Used in elevate level list
80
- */
81
- this.elevateLevels = [];
82
- }
83
- selectedLevelChangedHandler(event) {
84
- if (event.detail) {
85
- this.currentLevel = Object.assign({}, event.detail.level);
86
- }
87
- }
88
- selectedLevelIdChangedHandler() {
89
- if (this.selectedLevelId && this.elevateLevels) {
90
- const currentLevel = this.elevateLevels.filter((item) => {
91
- return item.id == this.selectedLevelId;
92
- })[0];
93
- this.currentLevel = Object.assign({}, currentLevel);
94
- }
95
- }
96
- onSessionOrEndpointChange() {
97
- this.elevateLevelParamProxy = Object.assign(Object.assign({}, this.elevateLevelParamProxy), { endpoint: this.endpoint, language: this.language });
98
- }
99
- elevateLevelsDataChangeHandler(event) {
100
- if (!event.detail) {
101
- return;
102
- }
103
- if (event.detail.currentLevel) {
104
- this.currentLevel = Object.assign({}, event.detail.currentLevel);
105
- }
106
- if (event.detail.elevateLevels) {
107
- this.elevateLevels = [...event.detail.elevateLevels];
108
- }
109
- if (event.detail.clearError) {
110
- this.errorMessage = null;
111
- }
112
- if (event.detail.errorMessage) {
113
- if (event.detail.errorMessage['errorWhenLoadElevateLevels']) {
114
- this.errorMessage = translate('loadElevateLevelErrorMessage', this.language);
115
- }
116
- }
117
- }
118
- onTCClick() {
119
- window.postMessage({ type: 'termAndConditionClicked' }, window.location.href);
120
- }
121
- componentWillLoad() {
122
- this.elevateLevelParamProxy = {
123
- endpoint: this.endpoint, language: this.language, selectedLevelId: this.selectedLevelId,
124
- showDefault: this.showDefault
125
- };
126
- }
127
- render() {
128
- return (index.h("div", { class: "ElevateLevelContent" }, index.h("elevate-levels-data", { scopeParams: this.elevateLevelParamProxy }), index.h("div", { class: "LevelContent" }, this.elevateLevels ?
129
- index.h("elevate-level-list", { language: this.language, selectedLevelId: this.selectedLevelId, levels: this.elevateLevels }) : translate('noLevelsSet', this.language), this.currentLevel &&
130
- index.h("elevate-level-presentation", { elevateLevel: this.currentLevel })), this.errorMessage && index.h("div", null, this.errorMessage), index.h("general-styling-wrapper", { clientStyling: this.clientStyling, clientStylingUrl: this.clientStylingUrl, targetTranslations: TRANSLATIONS, translationUrl: this.translationUrl })));
131
- }
132
- static get watchers() { return {
133
- "selectedLevelId": ["selectedLevelIdChangedHandler"],
134
- "elevateLevels": ["selectedLevelIdChangedHandler"],
135
- "endpoint": ["onSessionOrEndpointChange"],
136
- "language": ["onSessionOrEndpointChange"]
137
- }; }
61
+ constructor(hostRef) {
62
+ index.registerInstance(this, hostRef);
63
+ this.clientStyling = '';
64
+ this.clientStylingUrl = '';
65
+ this.endpoint = undefined;
66
+ this.language = 'en';
67
+ this.translationUrl = '';
68
+ this.selectedLevelId = undefined;
69
+ this.showDefault = undefined;
70
+ this.elevateLevelParamProxy = undefined;
71
+ this.elevateLevels = [];
72
+ this.currentLevel = undefined;
73
+ this.errorMessage = undefined;
74
+ }
75
+ selectedLevelChangedHandler(event) {
76
+ if (event.detail) {
77
+ this.currentLevel = Object.assign({}, event.detail.level);
78
+ }
79
+ }
80
+ selectedLevelIdChangedHandler() {
81
+ if (this.selectedLevelId && this.elevateLevels) {
82
+ const currentLevel = this.elevateLevels.filter((item) => {
83
+ return item.id == this.selectedLevelId;
84
+ })[0];
85
+ this.currentLevel = Object.assign({}, currentLevel);
86
+ }
87
+ }
88
+ onSessionOrEndpointChange() {
89
+ this.elevateLevelParamProxy = Object.assign(Object.assign({}, this.elevateLevelParamProxy), { endpoint: this.endpoint, language: this.language });
90
+ }
91
+ elevateLevelsDataChangeHandler(event) {
92
+ if (!event.detail) {
93
+ return;
94
+ }
95
+ if (event.detail.currentLevel) {
96
+ this.currentLevel = Object.assign({}, event.detail.currentLevel);
97
+ }
98
+ if (event.detail.elevateLevels) {
99
+ this.elevateLevels = [...event.detail.elevateLevels];
100
+ }
101
+ if (event.detail.clearError) {
102
+ this.errorMessage = null;
103
+ }
104
+ if (event.detail.errorMessage) {
105
+ if (event.detail.errorMessage['errorWhenLoadElevateLevels']) {
106
+ this.errorMessage = translate('loadElevateLevelErrorMessage', this.language);
107
+ }
108
+ }
109
+ }
110
+ onTCClick() {
111
+ window.postMessage({ type: 'termAndConditionClicked' }, window.location.href);
112
+ }
113
+ componentWillLoad() {
114
+ this.elevateLevelParamProxy = {
115
+ endpoint: this.endpoint, language: this.language, selectedLevelId: this.selectedLevelId,
116
+ showDefault: this.showDefault
117
+ };
118
+ }
119
+ render() {
120
+ return (index.h("div", { key: '327b5cd6a3bc756ce0696a0f2a4081f35bad7316', class: "ElevateLevelContent" }, index.h("elevate-levels-data", { key: 'cf1ab9a55cdaf9eba688bd524cb4a83d63563e77', scopeParams: this.elevateLevelParamProxy }), index.h("div", { key: '9c85b9a805712db07c7c99ac2db843062997f667', class: "LevelContent" }, this.elevateLevels ?
121
+ index.h("elevate-level-list", { language: this.language, selectedLevelId: this.selectedLevelId, levels: this.elevateLevels }) : translate('noLevelsSet', this.language), this.currentLevel &&
122
+ index.h("elevate-level-presentation", { key: '0fecb2a451caeef4512dc6f2af4fd3406610cc72', elevateLevel: this.currentLevel })), this.errorMessage && index.h("div", { key: 'ef746907148df80338fd2300322cd8eea9342f51' }, this.errorMessage), index.h("general-styling-wrapper", { key: 'e3d82ef1b7e5986354e18d875f9e3c547ff8adba', clientStyling: this.clientStyling, clientStylingUrl: this.clientStylingUrl, targetTranslations: TRANSLATIONS, translationUrl: this.translationUrl })));
123
+ }
124
+ static get watchers() { return {
125
+ "selectedLevelId": ["selectedLevelIdChangedHandler"],
126
+ "elevateLevels": ["selectedLevelIdChangedHandler"],
127
+ "endpoint": ["onSessionOrEndpointChange"],
128
+ "language": ["onSessionOrEndpointChange"]
129
+ }; }
138
130
  };
139
- BonusElevateLevels.style = bonusElevateLevelsCss;
131
+ BonusElevateLevels.style = BonusElevateLevelsStyle0;
140
132
 
141
133
  /**
142
134
  * @name isMobile
@@ -145,150 +137,146 @@ BonusElevateLevels.style = bonusElevateLevelsCss;
145
137
  * @returns {Boolean} true or false
146
138
  */
147
139
  const isMobile = (userAgent) => {
148
- return !!(userAgent.toLowerCase().match(/android/i) ||
149
- userAgent.toLowerCase().match(/blackberry|bb/i) ||
150
- userAgent.toLowerCase().match(/iphone|ipad|ipod/i) ||
151
- userAgent.toLowerCase().match(/windows phone|windows mobile|iemobile|wpdesktop/i));
140
+ return !!(userAgent.toLowerCase().match(/android/i) ||
141
+ userAgent.toLowerCase().match(/blackberry|bb/i) ||
142
+ userAgent.toLowerCase().match(/iphone|ipad|ipod/i) ||
143
+ userAgent.toLowerCase().match(/windows phone|windows mobile|iemobile|wpdesktop/i));
152
144
  };
153
145
  var MOVE_TO;
154
146
  (function (MOVE_TO) {
155
- MOVE_TO[MOVE_TO["slideToRight"] = 1] = "slideToRight";
156
- MOVE_TO[MOVE_TO["slideToLeft"] = -1] = "slideToLeft";
147
+ MOVE_TO[MOVE_TO["slideToRight"] = 1] = "slideToRight";
148
+ MOVE_TO[MOVE_TO["slideToLeft"] = -1] = "slideToLeft";
157
149
  })(MOVE_TO || (MOVE_TO = {}));
158
150
 
159
- const elevateLevelListCss = "elevate-level-list{display:flex;flex-direction:row}.LevelItemsWrapper{display:flex;flex:1;margin-top:10px;min-height:30px;transition-property:all;position:relative;height:138px;overflow-x:hidden}.Mobile.LevelItems{overflow-x:hidden}.LevelItems{overflow-x:auto;display:flex;flex-direction:row;gap:10px;left:0;position:absolute;transition:left 0.5s ease-in-out}.LevelItems .Item:hover,.LevelItems .Item.Active{background-color:var(--emfe-w-color-gray-50, #f4f4f4);box-shadow:0px 4px 13px 0px rgba(0, 0, 0, 0.25)}.LevelItems .Item{width:86px;height:125px;border-radius:15px;text-align:center;display:flex;flex-direction:column;cursor:pointer}.LevelItems .Item .LevelName{font-size:13px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.LevelItems .Item .LevelPoints{color:var(--emfe-w-color-gray-100, #767171);font-size:10px}.LevelItems .Item .LevelImg{width:65px;height:68px;margin:11px auto}.SliderButton{display:flex;width:29px;align-items:center;cursor:pointer}.SliderButton.Disabled svg{stroke:var(--emfe-w-color-gray-50, #cbc5c5)}.SliderButton.Hidden{display:none}";
151
+ const elevateLevelListCss = "elevate-level-list{display:flex;flex-direction:row}.LevelItemsWrapper{display:flex;flex:1;margin-top:10px;min-height:30px;transition-property:all;position:relative;height:138px;overflow-x:hidden}.Mobile.LevelItems{overflow-x:hidden}.LevelItems{overflow-x:auto;display:flex;flex-direction:row;gap:10px;left:0;position:absolute;transition:left 0.5s ease-in-out}.LevelItems .Item:hover,.LevelItems .Item.Active{background-color:var(--emfe-w-color-gray-50, rgb(244, 244, 244));box-shadow:0px 4px 13px 0px rgba(0, 0, 0, 0.25)}.LevelItems .Item{width:86px;height:125px;border-radius:15px;text-align:center;display:flex;flex-direction:column;cursor:pointer}.LevelItems .Item .LevelName{font-size:13px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.LevelItems .Item .LevelPoints{color:var(--emfe-w-color-gray-100, rgb(118, 113, 113));font-size:10px}.LevelItems .Item .LevelImg{width:65px;height:68px;margin:11px auto}.SliderButton{display:flex;width:29px;align-items:center;cursor:pointer}.SliderButton.Disabled svg{stroke:var(--emfe-w-color-gray-50, #cbc5c5)}.SliderButton.Hidden{display:none}";
152
+ const ElevateLevelListStyle0 = elevateLevelListCss;
160
153
 
161
154
  const ElevateLevelList = class {
162
- constructor(hostRef) {
163
- index.registerInstance(this, hostRef);
164
- this.selectedLevelChanged = index.createEvent(this, "selectedLevelChanged", 7);
165
- this.isShowSliderButton = false;
166
- this.offset = 0;
167
- this.minOffset = 0;
168
- this.isMobile = isMobile(window.navigator.userAgent);
169
- }
170
- onLevelClicked(elevateLevel) {
171
- this.selectedLevelChanged.emit({ level: elevateLevel });
172
- this.selectedLevelId = elevateLevel.id;
173
- }
174
- levelsChangedHandler() {
175
- this.initOffsetOfLevelItems();
176
- }
177
- initOffsetOfLevelItems() {
178
- if (!this.levels || this.levels.length == 0 || !this.selectedLevelId) {
179
- return;
180
- }
181
- const currentLevelIndex = this.levels.findIndex((item) => {
182
- return this.selectedLevelId == item.id;
183
- });
184
- this.onLevelClicked(this.levels[currentLevelIndex == -1 ? 0 : currentLevelIndex]);
185
- //do not need change the slider offset when level items less than moveCountForOneTouch
186
- if (this.levels.length <= this.moveCountForOneTouch) {
187
- return;
188
- }
189
- //to avoid the slider do not move when currentLevelIndex = moveCountForOneTouch - 1
190
- let newOffset = Math.floor((currentLevelIndex == -1 ? 1 : currentLevelIndex + 1) / this.moveCountForOneTouch)
191
- * this.moveCountForOneTouch * this.childElementWidth * (-1);
192
- this.offset = newOffset <= this.minOffset ? this.minOffset : (newOffset >= 0 ? 0 : newOffset);
193
- }
194
- onTouchStart(e) {
195
- this.touchPosStart = { clientX: e.touches[0].clientX, clientY: e.touches[0].clientY };
196
- }
197
- onTouchMove(e) {
198
- this.touchPosEnd = { clientX: e.touches[0].clientX, clientY: e.touches[0].clientY };
199
- const diffX = this.touchPosEnd.clientX - this.touchPosStart.clientX;
200
- const diffY = this.touchPosEnd.clientY - this.touchPosStart.clientY;
201
- if (Math.abs(diffX) > Math.abs(diffY)) {
202
- this.slideTo(diffX > 0 ? MOVE_TO.slideToRight : MOVE_TO.slideToLeft);
203
- }
204
- }
205
- slideTo(direction) {
206
- let newOffset = this.levelsElement.offsetLeft +
207
- (this.childElementWidth) * this.moveCountForOneTouch * direction;
208
- if (newOffset % this.childElementWidth != 0) {
209
- const leftOfPreNode = (Math.floor(newOffset / this.childElementWidth)) * this.childElementWidth;
210
- const leftOfNextNode = (Math.ceil(newOffset / this.childElementWidth)) * this.childElementWidth;
211
- //touchmove to right, get left of pre-node; touchmove to left, get left of next-node
212
- newOffset = direction == MOVE_TO.slideToRight ? leftOfPreNode : leftOfNextNode;
213
- }
214
- this.offset = newOffset < this.minOffset ? this.minOffset : (newOffset >= 0 ? 0 : newOffset);
215
- }
216
- initLevelSlider() {
217
- var _a;
218
- if (!((_a = this.levelsElement) === null || _a === void 0 ? void 0 : _a.firstElementChild)) {
219
- console.log('Widget[elevate-level-list] DOM is not ready.');
220
- return;
221
- }
222
- this.isShowSliderButton = !this.isMobile && (this.levelsElement.clientWidth > this.levelsElement.parentElement.clientWidth);
223
- this.minOffset = this.levelsElement.parentElement.clientWidth - this.levelsElement.clientWidth;
224
- this.childElementWidth = this.levelsElement.firstElementChild.clientWidth;
225
- this.moveCountForOneTouch = Math.ceil(this.levelsElement.parentElement.clientWidth / this.childElementWidth) - 1;
226
- const childElementCount = this.levelsElement.childElementCount;
227
- this.childElementWidth += (this.levelsElement.clientWidth - this.childElementWidth * childElementCount) / (childElementCount - 1);
228
- }
229
- debounce(callback, delay) {
230
- {
231
- let timer;
232
- return () => {
233
- clearTimeout(timer);
234
- timer = setTimeout(() => {
235
- callback();
236
- }, delay);
237
- };
238
- }
239
- }
240
- ;
241
- handleResize() {
242
- this.debounce(this.initLevelSlider.bind(this), 200)();
243
- }
244
- componentDidRender() {
245
- this.host.componentOnReady().then(() => {
246
- this.initLevelSlider();
247
- });
248
- }
249
- render() {
250
- return (index.h(index.Host, null, this.levels && [
251
- index.h("div", { class: `SliderButton LeftButton ${this.offset == 0 ? 'Disabled' : ''} ${this.isShowSliderButton ? '' : 'Hidden'}`, onClick: () => this.slideTo(MOVE_TO.slideToRight) }, index.h("svg", { fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, index.h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M15 19l-7-7 7-7" }))),
252
- index.h("div", { class: 'LevelItemsWrapper' }, index.h("div", { style: { 'left': `${this.offset}px` }, class: `LevelItems ${this.isMobile ? 'Mobile' : ''}`, id: 'levelItems', ref: (el) => { this.levelsElement = el; } }, this.levels.map((level, idx) => {
253
- return (index.h("div", { class: `Item ${this.selectedLevelId == level.id ? 'Active' : ''}`, onClick: this.onLevelClicked.bind(this, level) }, index.h("img", { alt: `Presentation Icon for ${level.presentation.displayName}`, class: "LevelImg", src: level.presentation.asset }), index.h("span", { class: "LevelName", title: level.presentation.displayName }, level.presentation.displayName), index.h("span", { class: "LevelPoints" }, idx == 0 ? '' : '>', level.firstEntryPoints, ' ', translate('points', this.language))));
254
- }))),
255
- index.h("div", { class: `SliderButton RightButton ${this.offset <= this.minOffset ? 'Disabled' : ''} ${this.isShowSliderButton ? '' : 'Hidden'}`, onClick: () => this.slideTo(MOVE_TO.slideToLeft) }, index.h("svg", { fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, index.h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M9 5l7 7-7 7" })))
256
- ]));
257
- }
258
- get host() { return index.getElement(this); }
259
- static get watchers() { return {
260
- "selectedLevelId": ["levelsChangedHandler"]
261
- }; }
155
+ constructor(hostRef) {
156
+ index.registerInstance(this, hostRef);
157
+ this.selectedLevelChanged = index.createEvent(this, "selectedLevelChanged", 7);
158
+ this.minOffset = 0;
159
+ this.isMobile = isMobile(window.navigator.userAgent);
160
+ this.levels = undefined;
161
+ this.language = undefined;
162
+ this.selectedLevelId = undefined;
163
+ this.isShowSliderButton = false;
164
+ this.touchPosStart = undefined;
165
+ this.touchPosEnd = undefined;
166
+ this.offset = 0;
167
+ }
168
+ onLevelClicked(elevateLevel) {
169
+ this.selectedLevelChanged.emit({ level: elevateLevel });
170
+ this.selectedLevelId = elevateLevel.id;
171
+ }
172
+ levelsChangedHandler() {
173
+ this.initOffsetOfLevelItems();
174
+ }
175
+ initOffsetOfLevelItems() {
176
+ if (!this.levels || this.levels.length == 0 || !this.selectedLevelId) {
177
+ return;
178
+ }
179
+ const currentLevelIndex = this.levels.findIndex((item) => {
180
+ return this.selectedLevelId == item.id;
181
+ });
182
+ this.onLevelClicked(this.levels[currentLevelIndex == -1 ? 0 : currentLevelIndex]);
183
+ //do not need change the slider offset when level items less than moveCountForOneTouch
184
+ if (this.levels.length <= this.moveCountForOneTouch) {
185
+ return;
186
+ }
187
+ //to avoid the slider do not move when currentLevelIndex = moveCountForOneTouch - 1
188
+ let newOffset = Math.floor((currentLevelIndex == -1 ? 1 : currentLevelIndex + 1) / this.moveCountForOneTouch)
189
+ * this.moveCountForOneTouch * this.childElementWidth * (-1);
190
+ this.offset = newOffset <= this.minOffset ? this.minOffset : (newOffset >= 0 ? 0 : newOffset);
191
+ }
192
+ onTouchStart(e) {
193
+ this.touchPosStart = { clientX: e.touches[0].clientX, clientY: e.touches[0].clientY };
194
+ }
195
+ onTouchMove(e) {
196
+ this.touchPosEnd = { clientX: e.touches[0].clientX, clientY: e.touches[0].clientY };
197
+ const diffX = this.touchPosEnd.clientX - this.touchPosStart.clientX;
198
+ const diffY = this.touchPosEnd.clientY - this.touchPosStart.clientY;
199
+ if (Math.abs(diffX) > Math.abs(diffY)) {
200
+ this.slideTo(diffX > 0 ? MOVE_TO.slideToRight : MOVE_TO.slideToLeft);
201
+ }
202
+ }
203
+ slideTo(direction) {
204
+ let newOffset = this.levelsElement.offsetLeft +
205
+ (this.childElementWidth) * this.moveCountForOneTouch * direction;
206
+ if (newOffset % this.childElementWidth != 0) {
207
+ const leftOfPreNode = (Math.floor(newOffset / this.childElementWidth)) * this.childElementWidth;
208
+ const leftOfNextNode = (Math.ceil(newOffset / this.childElementWidth)) * this.childElementWidth;
209
+ //touchmove to right, get left of pre-node; touchmove to left, get left of next-node
210
+ newOffset = direction == MOVE_TO.slideToRight ? leftOfPreNode : leftOfNextNode;
211
+ }
212
+ this.offset = newOffset < this.minOffset ? this.minOffset : (newOffset >= 0 ? 0 : newOffset);
213
+ }
214
+ initLevelSlider() {
215
+ var _a;
216
+ if (!((_a = this.levelsElement) === null || _a === void 0 ? void 0 : _a.firstElementChild)) {
217
+ console.log('Widget[elevate-level-list] DOM is not ready.');
218
+ return;
219
+ }
220
+ this.isShowSliderButton = !this.isMobile && (this.levelsElement.clientWidth > this.levelsElement.parentElement.clientWidth);
221
+ this.minOffset = this.levelsElement.parentElement.clientWidth - this.levelsElement.clientWidth;
222
+ this.childElementWidth = this.levelsElement.firstElementChild.clientWidth;
223
+ this.moveCountForOneTouch = Math.ceil(this.levelsElement.parentElement.clientWidth / this.childElementWidth) - 1;
224
+ const childElementCount = this.levelsElement.childElementCount;
225
+ this.childElementWidth += (this.levelsElement.clientWidth - this.childElementWidth * childElementCount) / (childElementCount - 1);
226
+ }
227
+ debounce(callback, delay) {
228
+ {
229
+ let timer;
230
+ return () => {
231
+ clearTimeout(timer);
232
+ timer = setTimeout(() => {
233
+ callback();
234
+ }, delay);
235
+ };
236
+ }
237
+ }
238
+ ;
239
+ handleResize() {
240
+ this.debounce(this.initLevelSlider.bind(this), 200)();
241
+ }
242
+ componentDidRender() {
243
+ this.host.componentOnReady().then(() => {
244
+ this.initLevelSlider();
245
+ });
246
+ }
247
+ render() {
248
+ return (index.h(index.Host, { key: 'd88d3434af89a0f8fd20a97735121fdf297905ab' }, this.levels && [
249
+ index.h("div", { key: 'cff36ba584e2474a65a1b95545b00937ecd06c8c', class: `SliderButton LeftButton ${this.offset == 0 ? 'Disabled' : ''} ${this.isShowSliderButton ? '' : 'Hidden'}`, onClick: () => this.slideTo(MOVE_TO.slideToRight) }, index.h("svg", { key: '640b4dd9b26b4097d15623f3e9c6b14b9a60b37e', fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, index.h("path", { key: '0a50ffc9319ad33ed61e4696c37a0bfe6090518c', "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M15 19l-7-7 7-7" }))),
250
+ index.h("div", { key: '314c5b4c5bbc0d50041a66fdf474441ea418345a', class: 'LevelItemsWrapper' }, index.h("div", { key: 'ff1fb084aeb20319c36a3420e9eb8693ea81b144', style: { 'left': `${this.offset}px` }, class: `LevelItems ${this.isMobile ? 'Mobile' : ''}`, id: 'levelItems', ref: (el) => { this.levelsElement = el; } }, this.levels.map((level, idx) => {
251
+ return (index.h("div", { class: `Item ${this.selectedLevelId == level.id ? 'Active' : ''}`, onClick: this.onLevelClicked.bind(this, level) }, index.h("img", { alt: `Presentation Icon for ${level.presentation.displayName}`, class: "LevelImg", src: level.presentation.asset }), index.h("span", { class: "LevelName", title: level.presentation.displayName }, level.presentation.displayName), index.h("span", { class: "LevelPoints" }, idx == 0 ? '' : '>', level.firstEntryPoints, ' ', translate('points', this.language))));
252
+ }))),
253
+ index.h("div", { key: '8dae638ca436c7e747a0f737028588ee5d040edd', class: `SliderButton RightButton ${this.offset <= this.minOffset ? 'Disabled' : ''} ${this.isShowSliderButton ? '' : 'Hidden'}`, onClick: () => this.slideTo(MOVE_TO.slideToLeft) }, index.h("svg", { key: 'bba16b49668567aaa41beedd9ea461d256c6812d', fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, index.h("path", { key: '36a0b6f3ffe8b50ebea9a4ec1c01e3341c440949', "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M9 5l7 7-7 7" })))
254
+ ]));
255
+ }
256
+ get host() { return index.getElement(this); }
257
+ static get watchers() { return {
258
+ "selectedLevelId": ["levelsChangedHandler"]
259
+ }; }
262
260
  };
263
- ElevateLevelList.style = elevateLevelListCss;
261
+ ElevateLevelList.style = ElevateLevelListStyle0;
264
262
 
265
263
  const elevateLevelPresentationCss = ":host{display:block}.PriviliegeList{padding-inline-start:5px}.PriviliegeList li{display:flex}.PriviliegeList li .Img{width:80px}.PriviliegeList li .Img img{width:60px;margin:10px}.PriviliegeList li .Content h4{text-transform:capitalize;margin-block-start:10px}";
264
+ const ElevateLevelPresentationStyle0 = elevateLevelPresentationCss;
266
265
 
267
266
  const ElevateLevelPresentation = class {
268
- constructor(hostRef) {
269
- index.registerInstance(this, hostRef);
270
- }
271
- render() {
272
- return index.h(index.Host, null, index.h("div", { class: "Row Desc" }, index.h("h3", null, this.elevateLevel.presentation.displayName), index.h("p", null, index.h("span", { class: "TxtDesc", innerHTML: this.elevateLevel.presentation.description }))));
273
- }
267
+ constructor(hostRef) {
268
+ index.registerInstance(this, hostRef);
269
+ this.elevateLevel = undefined;
270
+ }
271
+ render() {
272
+ return index.h(index.Host, { key: '16d128717e716f7ca7d3bb77fc3a2e67209318b6' }, index.h("div", { key: '658657abdfc64844bd2af40562efe40385e1735a', class: "Row Desc" }, index.h("h3", { key: 'ec5871c2f810c8c120bf99510717381175bc1ef4' }, this.elevateLevel.presentation.displayName), index.h("p", { key: '865915c6eea90295238fb47eaa91c8f968199ca5' }, index.h("span", { key: '2b90c6c5d6957b73fc4a0f53d53da0ca023a4f0a', class: "TxtDesc", innerHTML: this.elevateLevel.presentation.description }))));
273
+ }
274
274
  };
275
- ElevateLevelPresentation.style = elevateLevelPresentationCss;
276
-
277
- function createCommonjsModule(fn, basedir, module) {
278
- return module = {
279
- path: basedir,
280
- exports: {},
281
- require: function (path, base) {
282
- return commonjsRequire();
283
- }
284
- }, fn(module, module.exports), module.exports;
285
- }
275
+ ElevateLevelPresentation.style = ElevateLevelPresentationStyle0;
286
276
 
287
- function commonjsRequire () {
288
- throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');
289
- }
277
+ var browser = {exports: {}};
290
278
 
291
- var browser = createCommonjsModule(function (module, exports) {
279
+ (function (module, exports) {
292
280
 
293
281
  // ref: https://github.com/tc39/proposal-global
294
282
  var getGlobal = function () {
@@ -313,130 +301,127 @@ if (global.fetch) {
313
301
  exports.Headers = global.Headers;
314
302
  exports.Request = global.Request;
315
303
  exports.Response = global.Response;
316
- });
304
+ }(browser, browser.exports));
305
+
306
+ const fetch$1 = browser.exports;
317
307
 
318
308
  const elevateLevelsDataCss = ":host{display:block}";
309
+ const ElevateLevelsDataStyle0 = elevateLevelsDataCss;
319
310
 
320
311
  const ElevateLevelsData = class {
321
- constructor(hostRef) {
322
- index.registerInstance(this, hostRef);
323
- this.elevateLevelsDataChange = index.createEvent(this, "elevateLevelsDataChange", 7);
324
- }
325
- async componentWillRender() {
326
- //load data
327
- if (!this.scopeParams.endpoint) {
328
- return;
329
- }
330
- const endpoint = this.scopeParams.endpoint;
331
- let url = new URL(`${endpoint}/v1/elevate/levels?language=${this.scopeParams.language}`);
332
- await browser(url.href)
333
- .then((res) => res.json())
334
- .then((res) => {
335
- const elevateLevels = res.data.sort((a, b) => {
336
- return a.firstEntryPoints < b.firstEntryPoints ? -1 : 1;
337
- });
338
- let selectedLevelId = this.scopeParams.selectedLevelId;
339
- // if selected level is not set, set first(basic) as default
340
- if (!selectedLevelId && this.scopeParams.showDefault && elevateLevels.length > 0) {
341
- selectedLevelId = elevateLevels[0].id;
342
- }
343
- if (selectedLevelId) {
344
- // get current level by name
345
- const currentLevel = elevateLevels.filter((item) => {
346
- return item.id == selectedLevelId;
347
- })[0];
348
- this.elevateLevelsDataChange.emit({ currentLevel: currentLevel });
349
- }
350
- this.elevateLevelsDataChange.emit({ 'clearError': true });
351
- this.elevateLevelsDataChange.emit({ 'elevateLevels': elevateLevels });
352
- }).catch((err) => {
353
- this.elevateLevelsDataChange.emit({ errorMessage: { type: 'errorWhenLoadElevateLevels', err } });
354
- console.error(err);
355
- });
356
- }
312
+ constructor(hostRef) {
313
+ index.registerInstance(this, hostRef);
314
+ this.elevateLevelsDataChange = index.createEvent(this, "elevateLevelsDataChange", 7);
315
+ this.scopeParams = undefined;
316
+ }
317
+ async componentWillRender() {
318
+ //load data
319
+ if (!this.scopeParams.endpoint) {
320
+ return;
321
+ }
322
+ const endpoint = this.scopeParams.endpoint;
323
+ let url = new URL(`${endpoint}/v1/elevate/levels?language=${this.scopeParams.language}`);
324
+ await fetch$1(url.href)
325
+ .then((res) => res.json())
326
+ .then((res) => {
327
+ const elevateLevels = res.data.sort((a, b) => {
328
+ return a.firstEntryPoints < b.firstEntryPoints ? -1 : 1;
329
+ });
330
+ let selectedLevelId = this.scopeParams.selectedLevelId;
331
+ // if selected level is not set, set first(basic) as default
332
+ if (!selectedLevelId && this.scopeParams.showDefault && elevateLevels.length > 0) {
333
+ selectedLevelId = elevateLevels[0].id;
334
+ }
335
+ if (selectedLevelId) {
336
+ // get current level by name
337
+ const currentLevel = elevateLevels.filter((item) => {
338
+ return item.id == selectedLevelId;
339
+ })[0];
340
+ this.elevateLevelsDataChange.emit({ currentLevel: currentLevel });
341
+ }
342
+ this.elevateLevelsDataChange.emit({ 'clearError': true });
343
+ this.elevateLevelsDataChange.emit({ 'elevateLevels': elevateLevels });
344
+ }).catch((err) => {
345
+ this.elevateLevelsDataChange.emit({ errorMessage: { type: 'errorWhenLoadElevateLevels', err } });
346
+ console.error(err);
347
+ });
348
+ }
357
349
  };
358
- ElevateLevelsData.style = elevateLevelsDataCss;
350
+ ElevateLevelsData.style = ElevateLevelsDataStyle0;
359
351
 
360
352
  const mergeTranslations = (url, target) => {
361
- return new Promise((resolve) => {
362
- fetch(url)
363
- .then((res) => res.json())
364
- .then((data) => {
365
- Object.keys(data).forEach((item) => {
366
- target[item] = target[item] ? target[item] : {};
367
- for (let key in data[item]) {
368
- target[item][key] = data[item][key];
369
- }
370
- });
371
- resolve(true);
353
+ return new Promise((resolve) => {
354
+ fetch(url)
355
+ .then((res) => res.json())
356
+ .then((data) => {
357
+ Object.keys(data).forEach((item) => {
358
+ target[item] = target[item] ? target[item] : {};
359
+ for (let key in data[item]) {
360
+ target[item][key] = data[item][key];
361
+ }
362
+ });
363
+ resolve(true);
364
+ });
372
365
  });
373
- });
374
366
  };
375
367
 
376
368
  const generalStylingWrapperCss = ":host{display:block}";
369
+ const GeneralStylingWrapperStyle0 = generalStylingWrapperCss;
377
370
 
378
371
  const GeneralStylingWrapper = class {
379
- constructor(hostRef) {
380
- index.registerInstance(this, hostRef);
381
- /**
382
- * Client custom styling via inline styles
383
- */
384
- this.clientStyling = '';
385
- /**
386
- * Client custom styling via url
387
- */
388
- this.clientStylingUrl = '';
389
- /**
390
- * Translation via url
391
- */
392
- this.translationUrl = '';
393
- this.stylingAppends = false;
394
- this.setClientStyling = () => {
395
- let sheet = document.createElement('style');
396
- sheet.innerHTML = this.clientStyling;
397
- this.el.prepend(sheet);
398
- };
399
- this.setClientStylingURL = () => {
400
- let url = new URL(this.clientStylingUrl);
401
- let cssFile = document.createElement('style');
402
- fetch(url.href)
403
- .then((res) => res.text())
404
- .then((data) => {
405
- cssFile.innerHTML = data;
406
- setTimeout(() => {
407
- this.el.prepend(cssFile);
408
- }, 1);
409
- })
410
- .catch((err) => {
411
- console.log('error ', err);
412
- });
413
- };
414
- }
415
- componentDidRender() {
416
- // start custom styling area
417
- if (!this.stylingAppends) {
418
- if (this.clientStyling)
419
- this.setClientStyling();
420
- if (this.clientStylingUrl)
421
- this.setClientStylingURL();
422
- this.stylingAppends = true;
423
- }
424
- // end custom styling area
425
- }
426
- async componentWillLoad() {
427
- const promises = [];
428
- if (this.translationUrl) {
429
- const translationPromise = mergeTranslations(this.translationUrl, this.targetTranslations);
430
- promises.push(translationPromise);
431
- }
432
- return await Promise.all(promises);
433
- }
434
- render() {
435
- return (index.h("div", { class: "StyleShell" }, index.h("slot", { name: "mainContent" })));
436
- }
437
- get el() { return index.getElement(this); }
372
+ constructor(hostRef) {
373
+ index.registerInstance(this, hostRef);
374
+ this.stylingAppends = false;
375
+ this.setClientStyling = () => {
376
+ let sheet = document.createElement('style');
377
+ sheet.innerHTML = this.clientStyling;
378
+ this.el.prepend(sheet);
379
+ };
380
+ this.setClientStylingURL = () => {
381
+ let url = new URL(this.clientStylingUrl);
382
+ let cssFile = document.createElement('style');
383
+ fetch(url.href)
384
+ .then((res) => res.text())
385
+ .then((data) => {
386
+ cssFile.innerHTML = data;
387
+ setTimeout(() => {
388
+ this.el.prepend(cssFile);
389
+ }, 1);
390
+ })
391
+ .catch((err) => {
392
+ console.log('error ', err);
393
+ });
394
+ };
395
+ this.clientStyling = '';
396
+ this.clientStylingUrl = '';
397
+ this.translationUrl = '';
398
+ this.targetTranslations = undefined;
399
+ }
400
+ componentDidRender() {
401
+ // start custom styling area
402
+ if (!this.stylingAppends) {
403
+ if (this.clientStyling)
404
+ this.setClientStyling();
405
+ if (this.clientStylingUrl)
406
+ this.setClientStylingURL();
407
+ this.stylingAppends = true;
408
+ }
409
+ // end custom styling area
410
+ }
411
+ async componentWillLoad() {
412
+ const promises = [];
413
+ if (this.translationUrl) {
414
+ const translationPromise = mergeTranslations(this.translationUrl, this.targetTranslations);
415
+ promises.push(translationPromise);
416
+ }
417
+ return await Promise.all(promises);
418
+ }
419
+ render() {
420
+ return (index.h("div", { key: '4d3414408c7662f88331dbe655966237f74d6958', class: "StyleShell" }, index.h("slot", { key: '1d004644d84602c4314bdf5dfc26b55b160f57df', name: "mainContent" })));
421
+ }
422
+ get el() { return index.getElement(this); }
438
423
  };
439
- GeneralStylingWrapper.style = generalStylingWrapperCss;
424
+ GeneralStylingWrapper.style = GeneralStylingWrapperStyle0;
440
425
 
441
426
  /**
442
427
  * @name startOfDay
@@ -623,336 +608,321 @@ function isBefore(dirtyDate, dirtyDateToCompare) {
623
608
  }
624
609
 
625
610
  function updateProgressSvg(progressElementRef, percent) {
626
- const svgElement = progressElementRef.querySelector('#total_level');
627
- const endLockWidth = 17, pointR = 6.5;
628
- //Total Widget of the progress
629
- const barWidth = svgElement.getBBox().width;
630
- //The filled width according to current progress
631
- const levelPercent = percent > 1 ? 1 : percent;
632
- const widthOnBar = (levelPercent * barWidth - endLockWidth) < 0 ? 0 : levelPercent * barWidth - endLockWidth;
633
- //update bar's width, widthOnBar
634
- const levelBar = progressElementRef.querySelector('#current_level');
635
- //update filters, x = widthOnBar
636
- const levelFilter = progressElementRef.querySelector('#filter_current_level');
637
- //update circle, widthOnBar+10
638
- const levelCircle = progressElementRef.querySelector('#circle_current_level');
639
- svgElement.setAttribute('viewbox', `0 0 ${widthOnBar} 28`);
640
- levelBar.setAttribute('width', `${widthOnBar}`);
641
- levelCircle.setAttribute('cx', `${(widthOnBar < pointR ? pointR : widthOnBar)}`);
642
- levelFilter.setAttribute('x', `${widthOnBar - 8}`);
643
- //update lock location
644
- const endLockElement = progressElementRef.querySelector('#lock');
645
- // wrapper of endLock, include ball and heatfilter1_d_305_23
646
- const filter1 = progressElementRef.querySelector('#filter_heart_ball');
647
- // ball in endlockfilter2_i_305_23
648
- const filter2 = progressElementRef.querySelector('#filter_ball');
649
- // heart in endlockfilter3_d_305_23
650
- const filter3 = progressElementRef.querySelector('#filter_heart');
651
- //wrapper of lockfilter4_d_305_23
652
- const filterLock = progressElementRef.querySelector('#filter_lock');
653
- // shadow of ball paint0_linear_305_23
654
- const paint0 = progressElementRef.querySelector('#paint0_linear_ball');
655
- //paint in lockpaint1_linear_305_23
656
- const paint1 = progressElementRef.querySelector('#paint1_linear_lock');
657
- // box of lock and heart, for move position dynamically
658
- const lockBox = progressElementRef.querySelector('#lock_box');
659
- const heartBox = progressElementRef.querySelector('#heart_box');
660
- const rightPaddingOfLockWidth = 10, cxOfEndLockEle = barWidth - rightPaddingOfLockWidth;
661
- //set cx of lockElement
662
- endLockElement.setAttribute('cx', `${cxOfEndLockEle}`);
663
- //set cx of sub Elements
664
- paint1.setAttribute('x1', `${cxOfEndLockEle}`);
665
- paint1.setAttribute('x2', `${cxOfEndLockEle}`);
666
- paint0.setAttribute('x1', `${cxOfEndLockEle - 6}`);
667
- paint0.setAttribute('x2', `${cxOfEndLockEle - 6 + 11.2}`);
668
- filterLock.setAttribute('x', `${cxOfEndLockEle - 6}`);
669
- filter3.setAttribute('x', `${cxOfEndLockEle - 6 - 2}`);
670
- filter2.setAttribute('x', `${cxOfEndLockEle - 6 - 2 - 2}`);
671
- filter1.setAttribute('x', `${cxOfEndLockEle - 6 - 2 - 2 - 4}`);
672
- lockBox.setAttribute('x', `${cxOfEndLockEle - 6}`);
673
- heartBox.setAttribute('x', `${cxOfEndLockEle - 6}`);
674
- svgElement.parentElement.style.opacity = '1';
611
+ const svgElement = progressElementRef.querySelector('#total_level');
612
+ const endLockWidth = 17, pointR = 6.5;
613
+ //Total Widget of the progress
614
+ const barWidth = svgElement.getBBox().width;
615
+ //The filled width according to current progress
616
+ const levelPercent = percent > 1 ? 1 : percent;
617
+ const widthOnBar = (levelPercent * barWidth - endLockWidth) < 0 ? 0 : levelPercent * barWidth - endLockWidth;
618
+ //update bar's width, widthOnBar
619
+ const levelBar = progressElementRef.querySelector('#current_level');
620
+ //update filters, x = widthOnBar
621
+ const levelFilter = progressElementRef.querySelector('#filter_current_level');
622
+ //update circle, widthOnBar+10
623
+ const levelCircle = progressElementRef.querySelector('#circle_current_level');
624
+ svgElement.setAttribute('viewbox', `0 0 ${widthOnBar} 28`);
625
+ levelBar.setAttribute('width', `${widthOnBar}`);
626
+ levelCircle.setAttribute('cx', `${(widthOnBar < pointR ? pointR : widthOnBar)}`);
627
+ levelFilter.setAttribute('x', `${widthOnBar - 8}`);
628
+ //update lock location
629
+ const endLockElement = progressElementRef.querySelector('#lock');
630
+ // wrapper of endLock, include ball and heatfilter1_d_305_23
631
+ const filter1 = progressElementRef.querySelector('#filter_heart_ball');
632
+ // ball in endlockfilter2_i_305_23
633
+ const filter2 = progressElementRef.querySelector('#filter_ball');
634
+ // heart in endlockfilter3_d_305_23
635
+ const filter3 = progressElementRef.querySelector('#filter_heart');
636
+ //wrapper of lockfilter4_d_305_23
637
+ const filterLock = progressElementRef.querySelector('#filter_lock');
638
+ // shadow of ball paint0_linear_305_23
639
+ const paint0 = progressElementRef.querySelector('#paint0_linear_ball');
640
+ //paint in lockpaint1_linear_305_23
641
+ const paint1 = progressElementRef.querySelector('#paint1_linear_lock');
642
+ // box of lock and heart, for move position dynamically
643
+ const lockBox = progressElementRef.querySelector('#lock_box');
644
+ const heartBox = progressElementRef.querySelector('#heart_box');
645
+ const rightPaddingOfLockWidth = 10, cxOfEndLockEle = barWidth - rightPaddingOfLockWidth;
646
+ //set cx of lockElement
647
+ endLockElement.setAttribute('cx', `${cxOfEndLockEle}`);
648
+ //set cx of sub Elements
649
+ paint1.setAttribute('x1', `${cxOfEndLockEle}`);
650
+ paint1.setAttribute('x2', `${cxOfEndLockEle}`);
651
+ paint0.setAttribute('x1', `${cxOfEndLockEle - 6}`);
652
+ paint0.setAttribute('x2', `${cxOfEndLockEle - 6 + 11.2}`);
653
+ filterLock.setAttribute('x', `${cxOfEndLockEle - 6}`);
654
+ filter3.setAttribute('x', `${cxOfEndLockEle - 6 - 2}`);
655
+ filter2.setAttribute('x', `${cxOfEndLockEle - 6 - 2 - 2}`);
656
+ filter1.setAttribute('x', `${cxOfEndLockEle - 6 - 2 - 2 - 4}`);
657
+ lockBox.setAttribute('x', `${cxOfEndLockEle - 6}`);
658
+ heartBox.setAttribute('x', `${cxOfEndLockEle - 6}`);
659
+ svgElement.parentElement.style.opacity = '1';
675
660
  }
676
661
 
677
- const playerElevateCardDataCss = ":host {\n display: block;\n width: 360px;\n height: 230px;\n}\n\n.ElevateCardWrapper {\n contain: layout inline-size;\n width: 100%;\n height: fit-content;\n min-height: 218px;\n}\n\n.Outer {\n container-type: inline-size;\n font-size: 12px;\n background-size: cover;\n background-repeat: no-repeat;\n line-height: initial;\n width: 100%;\n height: 100%;\n}\n\n.Dark {\n color: var(--emfe-w-color-gray150, #efefef);\n}\n\n.Light {\n color: var(--emfe-w-color-black, #0e0e0e);\n}\n\n@container (min-width: 381px) {\n .Outer {\n background-size: cover;\n }\n .Outer .OuterCover {\n min-height: 190px;\n }\n}\n@container (min-width: 260px) {\n .Outer {\n background-size: contain;\n }\n}\n.OuterCover {\n width: 100%;\n height: 100%;\n content: \"\";\n background-repeat: no-repeat;\n background-size: cover;\n border-radius: 15px;\n}\n\n.Inner {\n display: flex;\n flex-direction: column;\n min-height: 158px;\n}\n.Inner .Content {\n padding: 15px;\n flex-wrap: wrap;\n gap: 8px;\n}\n.Inner .Row {\n display: flex;\n flex-direction: row;\n}\n.Inner .CardCell {\n display: flex;\n}\n.Inner .LevelProgress svg {\n transition: opacity 0.4s;\n}\n.Inner .LevelInfo {\n display: flex;\n flex-direction: column;\n}\n.Inner .LevelInfo .ElevateLevel .LevelName {\n height: 28px;\n border-radius: 5px;\n line-height: 28px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.Inner .LevelInfo.Level0 .ElevateLevel .LevelName {\n box-shadow: -2px -2px 7px 0px var(--emfe-w-elevate-color-level0button-shadow, rgba(191, 84, 6, 0.75));\n background: linear-gradient(180deg, var(--emfe-w-elevate-color-level0-bg0, #E2792C) 0%, var(--emfe-w-elevate-color-level0-bg1, rgba(242, 151, 99, 0)) 100%);\n}\n.Inner .LevelInfo.Level1 .ElevateLevel .LevelName {\n box-shadow: -2px -2px 7px 0px var(--emfe-w-elevate-color-level1button-shadow, rgba(151, 151, 151, 0.75));\n background: linear-gradient(180deg, var(--emfe-w-elevate-color-level1-bg0, #BEBFED) 0%, var(--emfe-w-elevate-color-level1-bg1, rgba(216, 217, 233, 0)) 100%);\n}\n.Inner .LevelInfo.Level2 .ElevateLevel .LevelName {\n box-shadow: -2px -2px 7px 0px var(--emfe-w-elevate-color-level2button-shadow, rgba(191, 120, 6, 0.75));\n background: linear-gradient(180deg, var(--emfe-w-elevate-color-level2-bg0, #FCC410) 0%, var(--emfe-w-elevate-color-level2-bg1, rgba(255, 189, 43, 0)) 100%);\n}\n.Inner .LevelInfo.Level3 .ElevateLevel .LevelName {\n box-shadow: -2px -2px 7px 0px var(--emfe-w-elevate-color-level3button-shadow, rgba(65, 6, 191, 0.75));\n background: linear-gradient(180deg, var(--emfe-w-elevate-color-level3-bg0, #B1A2DB) 0%, var(--emfe-w-elevate-color-level3-bg1, rgba(203, 202, 245, 0)) 100%);\n}\n.Inner .LevelInfo.Level4 .ElevateLevel .LevelName {\n box-shadow: -2px -2px 7px 0px var(--emfe-w-elevate-color-level4button-shadow, rgba(65, 6, 191, 0.75));\n background: linear-gradient(180deg, var(--emfe-w-elevate-color-level4-bg0, #B1A2DB) 0%, var(--emfe-w-elevate-color-level4-bg1, rgba(203, 202, 245, 0)) 100%);\n}\n.Inner .LevelInfo .ElevateLevel {\n display: flex;\n}\n.Inner .LevelInfo {\n flex: 1;\n flex-grow: 1;\n min-width: 150px;\n}\n.Inner .PlayerImg {\n width: 29%;\n margin: auto;\n max-width: 100px;\n min-width: 30px;\n order: 0;\n}\n.Inner .PlayerAvatar {\n max-width: 100px;\n flex-basis: 100px;\n height: auto;\n margin: auto;\n padding-top: 10px;\n}\n.Inner .PlayerAvatar .Avatar, .Inner .PlayerAvatar .Badge {\n width: 100%;\n height: 100%;\n}\n.Inner .PlayerAvatar .Avatar {\n border-radius: 50%;\n background-size: contain;\n background-repeat: no-repeat;\n}\n.Inner .ElevateLevel .ExpirationDate {\n max-width: 138px;\n min-width: 118px;\n}\n.Inner .PlayerName, .Inner .RedeemButton, .Inner .ElevateLevel {\n text-transform: capitalize;\n width: 100%;\n}\n.Inner .PlayerName {\n font-size: 16px;\n}\n.Inner .Row .PointsInfo {\n display: table;\n font-weight: 600;\n}\n.Inner .Row .Redeem {\n justify-content: flex-end;\n margin-left: auto;\n}\n.Inner .Row .Redeem:hover {\n color: var(--emfe-w-elevate-color-redeem-hover, #00ABA4);\n cursor: pointer;\n}\n.Inner .Row .RedeemButton:hover span {\n color: var(emfe-w-elevate-color-redeem-text-hover, #f1f1f1);\n font-weight: bold;\n}\n.Inner .Row .RedeemButton {\n width: 95px;\n height: 35px;\n display: flex;\n align-items: center;\n border-radius: 10px;\n background: var(--emfe-w-elevate-color-redeem-bg, linear-gradient(0deg, #26CC37, #26CC37)), linear-gradient(117.99deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 33.89%), linear-gradient(283.85deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 33.47%), linear-gradient(268.18deg, rgba(255, 255, 255, 0.6) -17.36%, rgba(239, 239, 239, 0) 15.78%);\n box-shadow: 0px 4px 4px 0px #00000040;\n}\n.Inner .Row .RedeemButton span {\n color: var(--emfe-w-color-white, #fff);\n line-height: 18px;\n font-size: 15px;\n text-align: center;\n width: 100%;\n}\n.Inner .Row .Points {\n font-size: large;\n vertical-align: middle;\n}\n.Inner .Row .Points .XP {\n font-size: x-small;\n}\n.Inner .Row .ExpirationPoints {\n font-size: small;\n text-align: right;\n font-weight: bold;\n color: var(--emfe-w-color-red, #9e595f);\n}";
662
+ const playerElevateCardDataCss = ":host {\n display: block;\n width: 360px;\n height: 230px;\n}\n\n.ElevateCardWrapper {\n contain: layout inline-size;\n width: 100%;\n height: fit-content;\n min-height: 218px;\n}\n\n.Outer {\n container-type: inline-size;\n font-size: 12px;\n background-size: cover;\n background-repeat: no-repeat;\n line-height: initial;\n width: 100%;\n height: 100%;\n}\n\n.Dark {\n color: var(--emfe-w-color-gray150, #efefef);\n}\n\n.Light {\n color: var(--emfe-w-color-black, #0e0e0e);\n}\n\n@container (min-width: 381px) {\n .Outer {\n background-size: cover;\n }\n .Outer .OuterCover {\n min-height: 190px;\n }\n}\n@container (min-width: 260px) {\n .Outer {\n background-size: contain;\n }\n}\n.OuterCover {\n width: 100%;\n height: 100%;\n content: \"\";\n background-repeat: no-repeat;\n background-size: cover;\n border-radius: 15px;\n}\n\n.Inner {\n display: flex;\n flex-direction: column;\n min-height: 158px;\n}\n.Inner .Content {\n padding: 15px;\n flex-wrap: wrap;\n gap: 8px;\n}\n.Inner .Row {\n display: flex;\n flex-direction: row;\n}\n.Inner .CardCell {\n display: flex;\n}\n.Inner .LevelProgress svg {\n transition: opacity 0.4s;\n}\n.Inner .LevelInfo {\n display: flex;\n flex-direction: column;\n}\n.Inner .LevelInfo .ElevateLevel .LevelName {\n height: 28px;\n border-radius: 5px;\n line-height: 28px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.Inner .LevelInfo.Level0 .ElevateLevel .LevelName {\n box-shadow: -2px -2px 7px 0px var(--emfe-w-elevate-color-level0button-shadow, rgba(191, 84, 6, 0.75));\n background: linear-gradient(180deg, var(--emfe-w-elevate-color-level0-bg0, #E2792C) 0%, var(--emfe-w-elevate-color-level0-bg1, rgba(242, 151, 99, 0)) 100%);\n}\n.Inner .LevelInfo.Level1 .ElevateLevel .LevelName {\n box-shadow: -2px -2px 7px 0px var(--emfe-w-elevate-color-level1button-shadow, rgba(151, 151, 151, 0.75));\n background: linear-gradient(180deg, var(--emfe-w-elevate-color-level1-bg0, #BEBFED) 0%, var(--emfe-w-elevate-color-level1-bg1, rgba(216, 217, 233, 0)) 100%);\n}\n.Inner .LevelInfo.Level2 .ElevateLevel .LevelName {\n box-shadow: -2px -2px 7px 0px var(--emfe-w-elevate-color-level2button-shadow, rgba(191, 120, 6, 0.75));\n background: linear-gradient(180deg, var(--emfe-w-elevate-color-level2-bg0, #FCC410) 0%, var(--emfe-w-elevate-color-level2-bg1, rgba(255, 189, 43, 0)) 100%);\n}\n.Inner .LevelInfo.Level3 .ElevateLevel .LevelName {\n box-shadow: -2px -2px 7px 0px var(--emfe-w-elevate-color-level3button-shadow, rgba(65, 6, 191, 0.75));\n background: linear-gradient(180deg, var(--emfe-w-elevate-color-level3-bg0, #B1A2DB) 0%, var(--emfe-w-elevate-color-level3-bg1, rgba(203, 202, 245, 0)) 100%);\n}\n.Inner .LevelInfo.Level4 .ElevateLevel .LevelName {\n box-shadow: -2px -2px 7px 0px var(--emfe-w-elevate-color-level4button-shadow, rgba(65, 6, 191, 0.75));\n background: linear-gradient(180deg, var(--emfe-w-elevate-color-level4-bg0, #B1A2DB) 0%, var(--emfe-w-elevate-color-level4-bg1, rgba(203, 202, 245, 0)) 100%);\n}\n.Inner .LevelInfo .ElevateLevel {\n display: flex;\n}\n.Inner .LevelInfo {\n flex: 1;\n flex-grow: 1;\n min-width: 150px;\n}\n.Inner .PlayerImg {\n width: 29%;\n margin: auto;\n max-width: 100px;\n min-width: 30px;\n order: 0;\n}\n.Inner .PlayerAvatar {\n max-width: 100px;\n flex-basis: 100px;\n height: auto;\n margin: auto;\n padding-top: 10px;\n}\n.Inner .PlayerAvatar .Avatar, .Inner .PlayerAvatar .Badge {\n width: 100%;\n height: 100%;\n}\n.Inner .PlayerAvatar .Avatar {\n border-radius: 50%;\n background-size: contain;\n background-repeat: no-repeat;\n}\n.Inner .ElevateLevel .ExpirationDate {\n max-width: 138px;\n min-width: 118px;\n}\n.Inner .PlayerName, .Inner .RedeemButton, .Inner .ElevateLevel {\n text-transform: capitalize;\n width: 100%;\n}\n.Inner .PlayerName {\n font-size: 16px;\n}\n.Inner .Row .PointsInfo {\n display: table;\n font-weight: 600;\n}\n.Inner .Row .Redeem {\n justify-content: flex-end;\n margin-left: auto;\n}\n.Inner .Row .Redeem:hover {\n color: var(--emfe-w-elevate-color-redeem-hover, #00ABA4);\n cursor: pointer;\n}\n.Inner .Row .RedeemButton:hover span {\n color: var(emfe-w-elevate-color-redeem-text-hover, #f1f1f1);\n font-weight: bold;\n}\n.Inner .Row .RedeemButton {\n width: 95px;\n height: 35px;\n display: flex;\n align-items: center;\n border-radius: 10px;\n background: var(--emfe-w-elevate-color-redeem-bg, linear-gradient(0deg, #26CC37, #26CC37)), linear-gradient(117.99deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 33.89%), linear-gradient(283.85deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 33.47%), linear-gradient(268.18deg, rgba(255, 255, 255, 0.6) -17.36%, rgba(239, 239, 239, 0) 15.78%);\n box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.2509803922);\n}\n.Inner .Row .RedeemButton span {\n color: var(--emfe-w-color-white, #fff);\n line-height: 18px;\n font-size: 15px;\n text-align: center;\n width: 100%;\n}\n.Inner .Row .Points {\n font-size: large;\n vertical-align: middle;\n}\n.Inner .Row .Points .XP {\n font-size: x-small;\n}\n.Inner .Row .ExpirationPoints {\n font-size: small;\n text-align: right;\n font-weight: bold;\n color: var(--emfe-w-color-red, #9e595f);\n}";
663
+ const PlayerElevateCardDataStyle0 = playerElevateCardDataCss;
678
664
 
679
665
  const PlayerElevateCardData = class {
680
- constructor(hostRef) {
681
- index.registerInstance(this, hostRef);
682
- this.playerElevateLeveLoaded = index.createEvent(this, "playerElevateLeveLoaded", 7);
683
- }
684
- handleWindowResizs() {
685
- this.initLevelProgressbar();
686
- }
687
- onParamsChanged() {
688
- this.loadElevateInfo();
689
- }
690
- redeemGiftButtonHandler() {
691
- this.loadElevateInfo();
692
- }
693
- onRedeemClick() {
694
- window.postMessage({ type: 'BEERedeemClicked' }, window.location.href);
695
- }
696
- loadLevels() {
697
- let url = new URL(`${this.params.endpoint}/v1/elevate/levels?language=${this.params.language}`);
698
- return new Promise((resolve, reject) => {
699
- return fetch(url.href, {
700
- method: 'GET',
701
- })
702
- .then((res) => res.json())
703
- .then((res) => {
704
- this.levels = res.data;
705
- resolve(true);
706
- })
707
- .catch((err) => {
708
- reject(err);
709
- });
710
- });
711
- }
712
- calcuatePointsToBeExpired(walletTotalInfo) {
713
- let pointExpireInfoAsString = '';
714
- if (!walletTotalInfo || !walletTotalInfo.aboutToExpire ||
715
- walletTotalInfo.aboutToExpire.length == 0 ||
716
- walletTotalInfo.aboutToExpire[0].points <= 0) {
717
- return pointExpireInfoAsString;
718
- }
719
- walletTotalInfo.aboutToExpire.sort((expire1, expire2) => {
720
- return isBefore(new Date(expire1.expireTime), new Date(expire2.expireTime))
721
- ? -1
722
- : 1;
723
- });
724
- const aboutToExpire = walletTotalInfo.aboutToExpire[0];
725
- const daysToExpried = differenceInCalendarDays(new Date(aboutToExpire.expireTime), new Date());
726
- let hoursToExpired = 0, expiredTranslationKey = daysToExpried === 0 ? 'pointsToBeExpiredDay' : 'pointsToBeExpired';
727
- if (daysToExpried == 0) {
728
- hoursToExpired = differenceInHours(new Date(aboutToExpire.expireTime), new Date());
729
- expiredTranslationKey = hoursToExpired > 1 ? 'pointsToBeExpiredHours' : 'pointsToBeExpiredHour';
730
- }
731
- pointExpireInfoAsString = playerElevateCardItems.translateWithParams(expiredTranslationKey, {
732
- expirationPoints: aboutToExpire.points,
733
- expireDay: daysToExpried,
734
- });
735
- return pointExpireInfoAsString;
736
- }
737
- loadPlayerLevelInfo() {
738
- let url = new URL(`${this.params.endpoint}/v1/elevate/playerInfo?language=${this.params.language}`);
739
- return new Promise((resolve, reject) => {
740
- return fetch(url.href, {
741
- method: 'GET',
742
- headers: {
743
- 'X-Sessionid': this.params.session,
744
- 'Content-Type': 'application/json',
745
- },
746
- })
747
- .then((res) => res.json())
748
- .then((res) => {
749
- var _a, _b, _c;
750
- if (!res.success) {
751
- console.error('Exception when fetch user elevateinfo, ', res.errorCode, res.errorMessage);
752
- reject(true);
753
- return;
666
+ constructor(hostRef) {
667
+ index.registerInstance(this, hostRef);
668
+ this.playerElevateLeveLoaded = index.createEvent(this, "playerElevateLeveLoaded", 7);
669
+ this.params = undefined;
670
+ this.playerElevateLevel = undefined;
671
+ this.pointExpireString = undefined;
672
+ }
673
+ handleWindowResizs() {
674
+ this.initLevelProgressbar();
675
+ }
676
+ onParamsChanged() {
677
+ this.loadElevateInfo();
678
+ }
679
+ onRedeemClick() {
680
+ window.postMessage({ type: 'BEERedeemClicked' }, window.location.href);
681
+ }
682
+ loadLevels() {
683
+ let url = new URL(`${this.params.endpoint}/v1/elevate/levels?language=${this.params.language}`);
684
+ return new Promise((resolve, reject) => {
685
+ return fetch(url.href, {
686
+ method: 'GET',
687
+ })
688
+ .then((res) => res.json())
689
+ .then((res) => {
690
+ this.levels = res.data;
691
+ resolve(true);
692
+ })
693
+ .catch((err) => {
694
+ reject(err);
695
+ });
696
+ });
697
+ }
698
+ calcuatePointsToBeExpired(walletTotalInfo) {
699
+ let pointExpireInfoAsString = '';
700
+ if (!walletTotalInfo || !walletTotalInfo.aboutToExpire ||
701
+ walletTotalInfo.aboutToExpire.length == 0 ||
702
+ walletTotalInfo.aboutToExpire[0].points <= 0) {
703
+ return pointExpireInfoAsString;
754
704
  }
755
- let playerElevateInfo = res.data;
756
- this.playerElevateLevel = playerElevateInfo.level;
757
- this.playerElevateLevel.name = this.playerElevateLevel.presentation.displayName || this.playerElevateLevel.name;
758
- this.playerElevateLevel.spendablePoints = ((_a = playerElevateInfo.spendableWallet) === null || _a === void 0 ? void 0 : _a.total.points) || 0;
759
- this.playerElevateLeveLoaded.emit({ elevateLevel: this.playerElevateLevel });
760
- const spendableTotal = (_b = res.data.spendableWallet) === null || _b === void 0 ? void 0 : _b.total;
761
- const loyaltyWalletTotal = (_c = res.data.loyaltyWallet) === null || _c === void 0 ? void 0 : _c.total;
762
- this.playerElevateLeveLoaded.emit({
763
- elevateLevelWalletTotal: spendableTotal,
764
- loyaltyWalletTotal
705
+ walletTotalInfo.aboutToExpire.sort((expire1, expire2) => {
706
+ return isBefore(new Date(expire1.expireTime), new Date(expire2.expireTime))
707
+ ? -1
708
+ : 1;
765
709
  });
766
- let spExpireInfoAsString = this.calcuatePointsToBeExpired(spendableTotal);
767
- let xpExpireInfoAsString = this.calcuatePointsToBeExpired(loyaltyWalletTotal);
768
- if (spExpireInfoAsString || xpExpireInfoAsString) {
769
- this.playerElevateLeveLoaded.emit({
770
- pointExpireString: spExpireInfoAsString,
771
- xpExpireString: xpExpireInfoAsString
772
- });
710
+ const aboutToExpire = walletTotalInfo.aboutToExpire[0];
711
+ const daysToExpried = differenceInCalendarDays(new Date(aboutToExpire.expireTime), new Date());
712
+ let hoursToExpired = 0, expiredTranslationKey = daysToExpried === 0 ? 'pointsToBeExpiredDay' : 'pointsToBeExpired';
713
+ if (daysToExpried == 0) {
714
+ hoursToExpired = differenceInHours(new Date(aboutToExpire.expireTime), new Date());
715
+ expiredTranslationKey = hoursToExpired > 1 ? 'pointsToBeExpiredHours' : 'pointsToBeExpiredHour';
773
716
  }
774
- resolve(this.playerElevateLevel);
775
- })
776
- .catch((err) => {
777
- console.log('error ', err);
778
- reject(true);
779
- });
780
- });
781
- }
782
- setLoyaltyProgress(percent) {
783
- updateProgressSvg(this.loyaltyProgressEle, percent);
784
- }
785
- initLevelProgressbar() {
786
- setTimeout(() => {
787
- this.loyaltyProgressEle =
788
- this.elevateCardRef.parentElement.querySelector('#LevelProgress');
789
- if (!this.loyaltyProgressEle) {
790
- return;
791
- }
792
- this.setLoyaltyProgress(!this.playerElevateLevel.nextLevel
793
- ? 1 : (this.playerElevateLevel.loyaltyPoints / this.playerElevateLevel.nextLevel.entryPoints));
794
- this.params['playerElevateLevel'] = this.playerElevateLevel;
795
- }, 80);
796
- }
797
- componentDidRender() {
798
- this.initLevelProgressbar();
799
- }
800
- loadElevateInfo() {
801
- if (!this.params.endpoint || !this.params.session) {
802
- return;
803
- }
804
- const promises = [];
805
- promises.push(this.loadPlayerLevelInfo());
806
- if (this.params.calculateLevelFlag) {
807
- promises.push(this.loadLevels());
808
- }
809
- Promise.all(promises).then((res) => {
810
- console.log('elevate-init', res);
811
- this.initLevelProgressbar();
812
- if (!this.levels) {
813
- return;
814
- }
815
- this.levels.sort((level1, level2) => {
816
- return level1.firstEntryPoints > level2.firstEntryPoints ? 1 : -1;
817
- });
818
- const playerPoints = this.playerElevateLevel.loyaltyPoints;
819
- let playerLevelNumber = 0;
820
- this.levels.forEach((elevateLevel, idx) => {
821
- if (playerPoints > elevateLevel.firstEntryPoints) {
822
- playerLevelNumber = idx;
717
+ pointExpireInfoAsString = playerElevateCardItems.translateWithParams(expiredTranslationKey, {
718
+ expirationPoints: aboutToExpire.points,
719
+ expireDay: daysToExpried,
720
+ });
721
+ return pointExpireInfoAsString;
722
+ }
723
+ loadPlayerLevelInfo() {
724
+ let url = new URL(`${this.params.endpoint}/v1/elevate/playerInfo?language=${this.params.language}`);
725
+ return new Promise((resolve, reject) => {
726
+ return fetch(url.href, {
727
+ method: 'GET',
728
+ headers: {
729
+ 'X-Sessionid': this.params.session,
730
+ 'Content-Type': 'application/json',
731
+ },
732
+ })
733
+ .then((res) => res.json())
734
+ .then((res) => {
735
+ var _a, _b, _c;
736
+ if (!res.success) {
737
+ console.error('Exception when fetch user elevateinfo, ', res.errorCode, res.errorMessage);
738
+ reject(true);
739
+ return;
740
+ }
741
+ let playerElevateInfo = res.data;
742
+ this.playerElevateLevel = playerElevateInfo.level;
743
+ this.playerElevateLevel.name = this.playerElevateLevel.presentation.displayName || this.playerElevateLevel.name;
744
+ this.playerElevateLevel.spendablePoints = ((_a = playerElevateInfo.spendableWallet) === null || _a === void 0 ? void 0 : _a.total.points) || 0;
745
+ this.playerElevateLeveLoaded.emit({ elevateLevel: this.playerElevateLevel });
746
+ const spendableTotal = (_b = res.data.spendableWallet) === null || _b === void 0 ? void 0 : _b.total;
747
+ const loyaltyWalletTotal = (_c = res.data.loyaltyWallet) === null || _c === void 0 ? void 0 : _c.total;
748
+ this.playerElevateLeveLoaded.emit({
749
+ elevateLevelWalletTotal: spendableTotal,
750
+ loyaltyWalletTotal
751
+ });
752
+ let spExpireInfoAsString = this.calcuatePointsToBeExpired(spendableTotal);
753
+ let xpExpireInfoAsString = this.calcuatePointsToBeExpired(loyaltyWalletTotal);
754
+ if (spExpireInfoAsString || xpExpireInfoAsString) {
755
+ this.playerElevateLeveLoaded.emit({
756
+ pointExpireString: spExpireInfoAsString,
757
+ xpExpireString: xpExpireInfoAsString
758
+ });
759
+ }
760
+ resolve(this.playerElevateLevel);
761
+ })
762
+ .catch((err) => {
763
+ console.log('error ', err);
764
+ reject(true);
765
+ });
766
+ });
767
+ }
768
+ setLoyaltyProgress(percent) {
769
+ updateProgressSvg(this.loyaltyProgressEle, percent);
770
+ }
771
+ initLevelProgressbar() {
772
+ setTimeout(() => {
773
+ this.loyaltyProgressEle =
774
+ this.elevateCardRef.parentElement.querySelector('#LevelProgress');
775
+ if (!this.loyaltyProgressEle) {
776
+ return;
777
+ }
778
+ this.setLoyaltyProgress(!this.playerElevateLevel.nextLevel
779
+ ? 1 : (this.playerElevateLevel.loyaltyPoints / this.playerElevateLevel.nextLevel.entryPoints));
780
+ this.params['playerElevateLevel'] = this.playerElevateLevel;
781
+ }, 80);
782
+ }
783
+ componentDidRender() {
784
+ this.initLevelProgressbar();
785
+ }
786
+ loadElevateInfo() {
787
+ if (!this.params.endpoint || !this.params.session) {
788
+ return;
823
789
  }
824
- });
825
- this.playerElevateLeveLoaded.emit({
826
- calculatedLevelFlag: playerLevelNumber,
827
- });
828
- });
829
- }
830
- componentWillLoad() {
831
- this.loadElevateInfo();
832
- }
833
- get elevateCardRef() { return index.getElement(this); }
834
- static get watchers() { return {
835
- "params": ["onParamsChanged"]
836
- }; }
790
+ const promises = [];
791
+ promises.push(this.loadPlayerLevelInfo());
792
+ if (this.params.calculateLevelFlag) {
793
+ promises.push(this.loadLevels());
794
+ }
795
+ Promise.all(promises).then((res) => {
796
+ console.log('elevate-init', res);
797
+ this.initLevelProgressbar();
798
+ if (!this.levels) {
799
+ return;
800
+ }
801
+ this.levels.sort((level1, level2) => {
802
+ return level1.firstEntryPoints > level2.firstEntryPoints ? 1 : -1;
803
+ });
804
+ const playerPoints = this.playerElevateLevel.loyaltyPoints;
805
+ let playerLevelNumber = 0;
806
+ this.levels.forEach((elevateLevel, idx) => {
807
+ if (playerPoints > elevateLevel.firstEntryPoints) {
808
+ playerLevelNumber = idx;
809
+ }
810
+ });
811
+ this.playerElevateLeveLoaded.emit({
812
+ calculatedLevelFlag: playerLevelNumber,
813
+ });
814
+ });
815
+ }
816
+ componentWillLoad() {
817
+ this.loadElevateInfo();
818
+ }
819
+ get elevateCardRef() { return index.getElement(this); }
820
+ static get watchers() { return {
821
+ "params": ["onParamsChanged"]
822
+ }; }
837
823
  };
838
- PlayerElevateCardData.style = playerElevateCardDataCss;
824
+ PlayerElevateCardData.style = PlayerElevateCardDataStyle0;
839
825
 
840
826
  const playerElevateLevelCss = ":host{display:block}.PlayerElevateCard{height:160px;width:100%;overflow:hidden}.ElevateLevelsInfo{background-color:var(--emw--color-background, #e6e8ea)}";
827
+ const PlayerElevateLevelStyle0 = playerElevateLevelCss;
841
828
 
842
829
  const PlayerElevateLevel = class {
843
- constructor(hostRef) {
844
- index.registerInstance(this, hostRef);
845
- /**
846
- * datePattern
847
- */
848
- this.dateFormat = 'yyyy-MM-dd';
849
- /**
850
- * Client custom styling via inline styles
851
- */
852
- this.clientStyling = '';
853
- /**
854
- * Client custom styling via url
855
- */
856
- this.clientStylingUrl = '';
857
- /**
858
- * Translation via url
859
- */
860
- this.translationUrl = '';
861
- }
862
- async setPlayerElevateLevelInfo(event) {
863
- if (event.type == 'playerElevateLeveLoaded' && event.detail['elevateLevel']) {
864
- this.userLevelId = event.detail['elevateLevel'].id;
865
- }
866
- }
867
- render() {
868
- return index.h(index.Host, null, index.h("div", { class: 'PlayerElevateCard' }, index.h("player-elevate-loyaltycard", { playerName: this.playerName, dateFormat: this.dateFormat, clientStylingUrl: this.clientStylingUrl, translationUrl: this.translationUrl, clientStyling: `${this.clientStyling} .Outer{height: 185px}`, endpoint: this.endpoint, language: this.language, session: this.session })), index.h("div", { class: 'ElevateLevelsInfo' }, index.h("bonus-elevate-levels", { selectedLevelId: this.userLevelId, clientStyling: this.clientStyling, clientStylingUrl: this.clientStylingUrl, translationUrl: this.translationUrl, language: this.language, endpoint: this.endpoint })), index.h("general-styling-wrapper", { clientStyling: this.clientStyling, clientStylingUrl: this.clientStylingUrl }));
869
- }
830
+ constructor(hostRef) {
831
+ index.registerInstance(this, hostRef);
832
+ this.endpoint = undefined;
833
+ this.session = undefined;
834
+ this.playerAvatarUrl = undefined;
835
+ this.language = undefined;
836
+ this.playerName = undefined;
837
+ this.dateFormat = 'yyyy-MM-dd';
838
+ this.clientStyling = '';
839
+ this.clientStylingUrl = '';
840
+ this.translationUrl = '';
841
+ this.userLevelId = undefined;
842
+ }
843
+ async setPlayerElevateLevelInfo(event) {
844
+ if (event.type == 'playerElevateLeveLoaded' && event.detail['elevateLevel']) {
845
+ this.userLevelId = event.detail['elevateLevel'].id;
846
+ }
847
+ }
848
+ render() {
849
+ return index.h(index.Host, { key: '8ff544f13c2709a4f5314e0c4e190ca70d9732ff' }, index.h("div", { key: '90c75c6283ab1b7b83f5b9af8b163853852a5636', class: 'PlayerElevateCard' }, index.h("player-elevate-loyaltycard", { key: 'be1ab26bc44443547364a64cc31e6bac42e8ba8e', playerName: this.playerName, dateFormat: this.dateFormat, clientStylingUrl: this.clientStylingUrl, translationUrl: this.translationUrl, clientStyling: `${this.clientStyling} .Outer{height: 185px}`, endpoint: this.endpoint, language: this.language, session: this.session })), index.h("div", { key: 'd868908d61b3320a4c3751eab8cf8cdbd98c41c4', class: 'ElevateLevelsInfo' }, index.h("bonus-elevate-levels", { key: '715bc9c3d15e1ac07f4fc75217beeaa48875ec63', selectedLevelId: this.userLevelId, clientStyling: this.clientStyling, clientStylingUrl: this.clientStylingUrl, translationUrl: this.translationUrl, language: this.language, endpoint: this.endpoint })), index.h("general-styling-wrapper", { key: '0e40a6825499a6c44e04dadce2079d995ecb2702', clientStyling: this.clientStyling, clientStylingUrl: this.clientStylingUrl }));
850
+ }
870
851
  };
871
- PlayerElevateLevel.style = playerElevateLevelCss;
852
+ PlayerElevateLevel.style = PlayerElevateLevelStyle0;
872
853
 
873
- 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 .Row{padding-top:3px;padding-bottom:5px}.LoyaltyCard .ExpireTime{margin-left:5px}.LoyaltyCard .NextLevelTip{text-align:right;font-size:11px;color:var(--emfe-w-color-black, #000);opacity:0.8;font-weight:bold}";
854
+ 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}";
855
+ const PlayerElevateLoyaltycardStyle0 = playerElevateLoyaltycardCss;
874
856
 
875
857
  const PlayerElevateLoyaltycard = class {
876
- constructor(hostRef) {
877
- index.registerInstance(this, hostRef);
878
- /**
879
- * The style that widget shows,available value: Dark, Light
880
- * Default: Dark
881
- */
882
- this.theme = 'Dark';
883
- /**
884
- * Widget Language to show
885
- */
886
- this.language = 'en';
887
- /**
888
- * datePattern
889
- */
890
- this.dateFormat = 'yyyy-MM-dd';
891
- /**
892
- * Client custom styling via inline styles
893
- */
894
- this.clientStyling = '';
895
- /**
896
- * Client custom styling via url
897
- */
898
- this.clientStylingUrl = '';
899
- /**
900
- * Translation via url
901
- */
902
- this.translationUrl = '';
903
- }
904
- onSessionOrEndpointChange() {
905
- this.paramProxy = Object.assign(Object.assign({}, this.paramProxy), { session: this.session, endpoint: this.endpoint, language: this.language });
906
- }
907
- playerElevateLeveLoadedHandler(event) {
908
- if (!event.detail) {
909
- return;
910
- }
911
- if (event.detail['elevateLevelWalletTotal']) {
912
- this.elevateWalletTotal = event.detail['elevateLevelWalletTotal'];
913
- }
914
- if (event.detail['elevateLevel']) {
915
- this.playerElevateLevel = event.detail['elevateLevel'];
916
- }
917
- if (event.detail['pointExpireString']) {
918
- this.pointExpireString = event.detail.xpExpireString;
919
- }
920
- }
921
- onRedeemClick() {
922
- window.postMessage({ type: 'BEERedeemClicked' }, window.location.href);
923
- }
924
- componentWillLoad() {
925
- this.paramProxy = {
926
- endpoint: this.endpoint,
927
- session: this.session,
928
- language: this.language,
929
- };
930
- }
931
- getNextLevelTips() {
932
- var _a;
933
- //need xx to reach Diamond
934
- let nextLevel = (_a = this.playerElevateLevel) === null || _a === void 0 ? void 0 : _a.nextLevel;
935
- if (this.playerElevateLevel && nextLevel) {
936
- const pointsToReach = (nextLevel.entryPoints - this.playerElevateLevel.loyaltyPoints).toFixed(2);
937
- return playerElevateCardItems.translateWithParams('tipsForNextLevel', {
938
- pointsToReach,
939
- levelName: nextLevel.name,
940
- });
941
- }
942
- return '';
943
- }
944
- render() {
945
- const backgroundOuterImagePath = index.getAssetPath('../static/card-ground.svg');
946
- const backgroundInnerImagePath = index.getAssetPath('../static/card-ground-over.svg');
947
- return (index.h("div", { class: `ElevateCardWrapper ${this.theme}` }, index.h("div", { class: "LoyaltyCard Outer", style: { 'backgroundImage': `url(${backgroundOuterImagePath}` } }, index.h("general-styling-wrapper", { clientStyling: this.clientStyling, clientStylingUrl: this.clientStylingUrl, targetTranslations: playerElevateCardItems.TRANSLATIONS, translationUrl: this.translationUrl }), index.h("player-elevate-card-data", { params: this.paramProxy }), index.h("div", { class: 'OuterCover Inner', style: { 'backgroundImage': `url(${backgroundInnerImagePath}` } }, index.h("div", { class: 'Content Row' }, this.playerElevateLevel && (index.h(index.Fragment, null, index.h("div", { class: "PlayerImg" }, index.h(playerElevateCardItems.PlayerAvatar, { onlyBadge: true, loyaltyIconUrl: this.playerElevateLevel.presentation.asset })), index.h("div", { class: `LevelInfo ${this.playerElevateLevel.name}` }, index.h("div", { class: 'CardCell ElevateLevel' }, index.h("span", { class: "LevelName", title: this.playerElevateLevel.name }, this.playerElevateLevel.name)), index.h(playerElevateCardItems.PlayerPoints, { loyaltyPoints: this.playerElevateLevel.loyaltyPoints, language: this.language }), this.pointExpireString && (index.h("div", { class: 'PointsInfo ExpirationPoints' }, this.pointExpireString, " ")), index.h(playerElevateCardItems.PlayerLoyaltyProcess, null), index.h("div", { class: "Row NextLevelTip" }, this.getNextLevelTips()), this.playerElevateLevel.expireTime && (index.h("div", { class: "Row CardCell ExpirationDate Txt" }, playerElevateCardItems.translate('expireOn', this.language), index.h("span", { class: "ExpireTime" }, playerElevateCardItems.format(new Date(this.playerElevateLevel.expireTime), this.dateFormat || 'yyyy-MM-dd'))))))))))));
948
- }
949
- static get watchers() { return {
950
- "session": ["onSessionOrEndpointChange"],
951
- "endpoint": ["onSessionOrEndpointChange"],
952
- "language": ["onSessionOrEndpointChange"]
953
- }; }
858
+ constructor(hostRef) {
859
+ index.registerInstance(this, hostRef);
860
+ this.endpoint = undefined;
861
+ this.theme = 'Dark';
862
+ this.session = undefined;
863
+ this.playerAvatarUrl = undefined;
864
+ this.language = 'en';
865
+ this.playerName = undefined;
866
+ this.dateFormat = 'yyyy-MM-dd';
867
+ this.clientStyling = '';
868
+ this.clientStylingUrl = '';
869
+ this.translationUrl = '';
870
+ this.pointExpireString = undefined;
871
+ this.playerElevateLevel = undefined;
872
+ this.elevateWalletTotal = undefined;
873
+ }
874
+ onSessionOrEndpointChange() {
875
+ this.paramProxy = Object.assign(Object.assign({}, this.paramProxy), { session: this.session, endpoint: this.endpoint, language: this.language });
876
+ }
877
+ playerElevateLeveLoadedHandler(event) {
878
+ if (!event.detail) {
879
+ return;
880
+ }
881
+ if (event.detail['elevateLevelWalletTotal']) {
882
+ this.elevateWalletTotal = event.detail['elevateLevelWalletTotal'];
883
+ }
884
+ if (event.detail['elevateLevel']) {
885
+ this.playerElevateLevel = event.detail['elevateLevel'];
886
+ }
887
+ if (event.detail['pointExpireString']) {
888
+ this.pointExpireString = event.detail.xpExpireString;
889
+ }
890
+ }
891
+ onRedeemClick() {
892
+ window.postMessage({ type: 'BEERedeemClicked' }, window.location.href);
893
+ }
894
+ componentWillLoad() {
895
+ this.paramProxy = {
896
+ endpoint: this.endpoint,
897
+ session: this.session,
898
+ language: this.language,
899
+ };
900
+ }
901
+ getNextLevelTips() {
902
+ var _a;
903
+ //need xx to reach Diamond
904
+ let nextLevel = (_a = this.playerElevateLevel) === null || _a === void 0 ? void 0 : _a.nextLevel;
905
+ if (this.playerElevateLevel && nextLevel) {
906
+ const pointsToReach = (nextLevel.entryPoints - this.playerElevateLevel.loyaltyPoints).toFixed(2);
907
+ return playerElevateCardItems.translateWithParams('tipsForNextLevel', {
908
+ pointsToReach,
909
+ levelName: nextLevel.name,
910
+ });
911
+ }
912
+ return '';
913
+ }
914
+ render() {
915
+ const backgroundOuterImagePath = index.getAssetPath('../static/card-ground.svg');
916
+ const backgroundInnerImagePath = index.getAssetPath('../static/card-ground-over.svg');
917
+ 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())))))))));
918
+ }
919
+ static get watchers() { return {
920
+ "session": ["onSessionOrEndpointChange"],
921
+ "endpoint": ["onSessionOrEndpointChange"],
922
+ "language": ["onSessionOrEndpointChange"]
923
+ }; }
954
924
  };
955
- PlayerElevateLoyaltycard.style = playerElevateLoyaltycardCss;
925
+ PlayerElevateLoyaltycard.style = PlayerElevateLoyaltycardStyle0;
956
926
 
957
927
  exports.bonus_elevate_levels = BonusElevateLevels;
958
928
  exports.elevate_level_list = ElevateLevelList;