@everymatrix/bonus-elevate-levels 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 (71) hide show
  1. package/dist/bonus-elevate-levels/bonus-elevate-levels.esm.js +1 -1
  2. package/dist/bonus-elevate-levels/p-35063d92.entry.js +1 -0
  3. package/dist/bonus-elevate-levels/p-6e37b540.js +2 -0
  4. package/dist/bonus-elevate-levels/p-e1255160.js +1 -0
  5. package/dist/cjs/app-globals-3a1e7e63.js +5 -0
  6. package/dist/cjs/bonus-elevate-levels.cjs.js +17 -11
  7. package/dist/cjs/bonus-elevate-levels_5.cjs.entry.js +330 -345
  8. package/dist/cjs/index-39b21e10.js +1626 -0
  9. package/dist/cjs/loader.cjs.js +7 -13
  10. package/dist/collection/collection-manifest.json +6 -6
  11. package/dist/collection/components/bonus-elevate-levels/bonus-elevate-levels.js +233 -236
  12. package/dist/collection/components/bonus-elevate-levels/index.js +1 -0
  13. package/dist/collection/components/elevate-level-list/elevate-level-list.css +2 -2
  14. package/dist/collection/components/elevate-level-list/elevate-level-list.js +228 -219
  15. package/dist/collection/components/elevate-level-presentation/elevate-level-presentation.js +42 -36
  16. package/dist/collection/components/elevate-levels-data/elevate-levels-data.js +84 -74
  17. package/dist/collection/utils/locale.utils.js +42 -42
  18. package/dist/collection/utils/prototype-collector.js +3 -3
  19. package/dist/collection/utils/utils.js +21 -21
  20. package/dist/esm/app-globals-0f993ce5.js +3 -0
  21. package/dist/esm/bonus-elevate-levels.js +14 -11
  22. package/dist/esm/bonus-elevate-levels_5.entry.js +330 -345
  23. package/dist/esm/index-ed3d1f59.js +1597 -0
  24. package/dist/esm/loader.js +7 -13
  25. package/dist/stencil.config.dev.js +17 -0
  26. package/dist/stencil.config.js +14 -21
  27. package/dist/types/Users/adrian.pripon/Documents/Work/widgets-monorepo/packages/stencil/bonus-elevate-levels/.stencil/packages/stencil/bonus-elevate-levels/stencil.config.d.ts +2 -0
  28. package/dist/types/Users/adrian.pripon/Documents/Work/widgets-monorepo/packages/stencil/bonus-elevate-levels/.stencil/packages/stencil/bonus-elevate-levels/stencil.config.dev.d.ts +2 -0
  29. package/dist/types/components/bonus-elevate-levels/bonus-elevate-levels.d.ts +46 -46
  30. package/dist/types/components/bonus-elevate-levels/index.d.ts +1 -0
  31. package/dist/types/components/elevate-level-list/elevate-level-list.d.ts +40 -40
  32. package/dist/types/components/elevate-level-presentation/elevate-level-presentation.d.ts +5 -5
  33. package/dist/types/components/elevate-levels-data/elevate-levels-data.d.ts +7 -7
  34. package/dist/types/components.d.ts +33 -2
  35. package/dist/types/models/elevate-levels.d.ts +8 -8
  36. package/dist/types/stencil-public-runtime.d.ts +142 -33
  37. package/dist/types/utils/locale.utils.d.ts +3 -3
  38. package/dist/types/utils/utils.d.ts +2 -2
  39. package/loader/cdn.js +1 -3
  40. package/loader/index.cjs.js +1 -3
  41. package/loader/index.d.ts +13 -1
  42. package/loader/index.es2017.js +1 -3
  43. package/loader/index.js +1 -3
  44. package/loader/package.json +1 -0
  45. package/package.json +8 -4
  46. package/dist/bonus-elevate-levels/p-cb878291.entry.js +0 -1
  47. package/dist/bonus-elevate-levels/p-de8a59e4.js +0 -1
  48. package/dist/cjs/index-5ab5af9f.js +0 -1685
  49. package/dist/components/bonus-elevate-levels.d.ts +0 -11
  50. package/dist/components/bonus-elevate-levels.js +0 -141
  51. package/dist/components/elevate-level-list.d.ts +0 -11
  52. package/dist/components/elevate-level-list.js +0 -6
  53. package/dist/components/elevate-level-list2.js +0 -198
  54. package/dist/components/elevate-level-presentation.d.ts +0 -11
  55. package/dist/components/elevate-level-presentation.js +0 -6
  56. package/dist/components/elevate-level-presentation2.js +0 -31
  57. package/dist/components/elevate-levels-data.d.ts +0 -11
  58. package/dist/components/elevate-levels-data.js +0 -6
  59. package/dist/components/elevate-levels-data2.js +0 -102
  60. package/dist/components/general-styling-wrapper.js +0 -6
  61. package/dist/components/general-styling-wrapper2.js +0 -103
  62. package/dist/components/index.d.ts +0 -26
  63. package/dist/components/index.js +0 -1
  64. package/dist/esm/index-8f57d3b4.js +0 -1657
  65. package/dist/esm/polyfills/core-js.js +0 -11
  66. package/dist/esm/polyfills/css-shim.js +0 -1
  67. package/dist/esm/polyfills/dom.js +0 -79
  68. package/dist/esm/polyfills/es5-html-element.js +0 -1
  69. package/dist/esm/polyfills/index.js +0 -34
  70. package/dist/esm/polyfills/system.js +0 -6
  71. package/dist/types/Users/adrian.pripon/Documents/Work/widgets-stencil/packages/bonus-elevate-levels/.stencil/packages/bonus-elevate-levels/stencil.config.d.ts +0 -2
@@ -1,137 +1,129 @@
1
- import { r as registerInstance, h, c as createEvent, H as Host, g as getElement } from './index-8f57d3b4.js';
1
+ import { r as registerInstance, h, c as createEvent, H as Host, g as getElement } from './index-ed3d1f59.js';
2
2
 
3
3
  const DEFAULT_LANGUAGE = 'en';
4
4
  const SUPPORTED_LANGUAGES = ['ro', 'en', 'fr', 'hr', 'tr'];
5
5
  const TRANSLATIONS = {
6
- en: {
7
- level: 'level',
8
- seeAll: 'See All',
9
- termsAndConditions: 'Terms & Conditions',
10
- loadElevateLevelErrorMessage: 'Error when load elevate levels',
11
- noLevelsSet: 'There is no level set',
12
- points: 'Points',
13
- },
14
- fr: {
15
- level: 'level',
16
- seeAll: 'See All',
17
- termsAndConditions: 'Terms & Conditions',
18
- loadElevateLevelErrorMessage: 'Error when load elevate levels',
19
- noLevelsSet: 'There is no level set',
20
- points: 'Points',
21
- },
22
- hr: {
23
- level: 'Razina',
24
- seeAll: 'Vidi sve',
25
- privilegesFor: 'Privilegije za',
26
- termsAndConditions: 'Uvjeti i odredbe',
27
- noLevelsSet: 'There is no level set',
28
- points: 'Points',
29
- },
30
- ro: {
31
- level: 'level',
32
- seeAll: 'See All',
33
- termsAndConditions: 'Terms & Conditions',
34
- loadElevateLevelErrorMessage: 'Error when load elevate levels',
35
- noLevelsSet: 'There is no level set',
36
- points: 'Points',
37
- },
38
- tr: {
39
- level: 'level',
40
- seeAll: 'See All',
41
- termsAndConditions: 'Terms & Conditions',
42
- loadElevateLevelErrorMessage: 'Error when load elevate levels',
43
- noLevelsSet: 'There is no level set',
44
- points: 'Points',
45
- }
6
+ en: {
7
+ level: 'level',
8
+ seeAll: 'See All',
9
+ termsAndConditions: 'Terms & Conditions',
10
+ loadElevateLevelErrorMessage: 'Error when load elevate levels',
11
+ noLevelsSet: 'There is no level set',
12
+ points: 'Points',
13
+ },
14
+ fr: {
15
+ level: 'level',
16
+ seeAll: 'See All',
17
+ termsAndConditions: 'Terms & Conditions',
18
+ loadElevateLevelErrorMessage: 'Error when load elevate levels',
19
+ noLevelsSet: 'There is no level set',
20
+ points: 'Points',
21
+ },
22
+ hr: {
23
+ level: 'Razina',
24
+ seeAll: 'Vidi sve',
25
+ privilegesFor: 'Privilegije za',
26
+ termsAndConditions: 'Uvjeti i odredbe',
27
+ noLevelsSet: 'There is no level set',
28
+ points: 'Points',
29
+ },
30
+ ro: {
31
+ level: 'level',
32
+ seeAll: 'See All',
33
+ termsAndConditions: 'Terms & Conditions',
34
+ loadElevateLevelErrorMessage: 'Error when load elevate levels',
35
+ noLevelsSet: 'There is no level set',
36
+ points: 'Points',
37
+ },
38
+ tr: {
39
+ level: 'level',
40
+ seeAll: 'See All',
41
+ termsAndConditions: 'Terms & Conditions',
42
+ loadElevateLevelErrorMessage: 'Error when load elevate levels',
43
+ noLevelsSet: 'There is no level set',
44
+ points: 'Points',
45
+ }
46
46
  };
47
47
  const translate = (key, customLang) => {
48
- const lang = customLang;
49
- return TRANSLATIONS[lang !== undefined && (SUPPORTED_LANGUAGES.includes(lang) || TRANSLATIONS[lang]) ? lang : DEFAULT_LANGUAGE][key];
48
+ const lang = customLang;
49
+ return TRANSLATIONS[lang !== undefined && (SUPPORTED_LANGUAGES.includes(lang) || TRANSLATIONS[lang]) ? lang : DEFAULT_LANGUAGE][key];
50
50
  };
51
51
 
52
52
  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}";
53
+ const BonusElevateLevelsStyle0 = bonusElevateLevelsCss;
53
54
 
54
55
  const BonusElevateLevels = class {
55
- constructor(hostRef) {
56
- registerInstance(this, hostRef);
57
- /**
58
- * Client custom styling via string
59
- */
60
- this.clientStyling = '';
61
- /**
62
- * Client custom styling via url
63
- */
64
- this.clientStylingUrl = '';
65
- /**
66
- * Language of the widget
67
- */
68
- this.language = 'en';
69
- /**
70
- * The translationUrl
71
- */
72
- this.translationUrl = '';
73
- /**
74
- * Used in elevate level list
75
- */
76
- this.elevateLevels = [];
77
- }
78
- selectedLevelChangedHandler(event) {
79
- if (event.detail) {
80
- this.currentLevel = Object.assign({}, event.detail.level);
56
+ constructor(hostRef) {
57
+ registerInstance(this, hostRef);
58
+ this.clientStyling = '';
59
+ this.clientStylingUrl = '';
60
+ this.endpoint = undefined;
61
+ this.language = 'en';
62
+ this.translationUrl = '';
63
+ this.selectedLevelId = undefined;
64
+ this.showDefault = undefined;
65
+ this.elevateLevelParamProxy = undefined;
66
+ this.elevateLevels = [];
67
+ this.currentLevel = undefined;
68
+ this.errorMessage = undefined;
81
69
  }
82
- }
83
- selectedLevelIdChangedHandler() {
84
- if (this.selectedLevelId && this.elevateLevels) {
85
- const currentLevel = this.elevateLevels.filter((item) => {
86
- return item.id == this.selectedLevelId;
87
- })[0];
88
- this.currentLevel = Object.assign({}, currentLevel);
70
+ selectedLevelChangedHandler(event) {
71
+ if (event.detail) {
72
+ this.currentLevel = Object.assign({}, event.detail.level);
73
+ }
89
74
  }
90
- }
91
- onSessionOrEndpointChange() {
92
- this.elevateLevelParamProxy = Object.assign(Object.assign({}, this.elevateLevelParamProxy), { endpoint: this.endpoint, language: this.language });
93
- }
94
- elevateLevelsDataChangeHandler(event) {
95
- if (!event.detail) {
96
- return;
75
+ selectedLevelIdChangedHandler() {
76
+ if (this.selectedLevelId && this.elevateLevels) {
77
+ const currentLevel = this.elevateLevels.filter((item) => {
78
+ return item.id == this.selectedLevelId;
79
+ })[0];
80
+ this.currentLevel = Object.assign({}, currentLevel);
81
+ }
97
82
  }
98
- if (event.detail.currentLevel) {
99
- this.currentLevel = Object.assign({}, event.detail.currentLevel);
83
+ onSessionOrEndpointChange() {
84
+ this.elevateLevelParamProxy = Object.assign(Object.assign({}, this.elevateLevelParamProxy), { endpoint: this.endpoint, language: this.language });
85
+ }
86
+ elevateLevelsDataChangeHandler(event) {
87
+ if (!event.detail) {
88
+ return;
89
+ }
90
+ if (event.detail.currentLevel) {
91
+ this.currentLevel = Object.assign({}, event.detail.currentLevel);
92
+ }
93
+ if (event.detail.elevateLevels) {
94
+ this.elevateLevels = [...event.detail.elevateLevels];
95
+ }
96
+ if (event.detail.clearError) {
97
+ this.errorMessage = null;
98
+ }
99
+ if (event.detail.errorMessage) {
100
+ if (event.detail.errorMessage['errorWhenLoadElevateLevels']) {
101
+ this.errorMessage = translate('loadElevateLevelErrorMessage', this.language);
102
+ }
103
+ }
100
104
  }
101
- if (event.detail.elevateLevels) {
102
- this.elevateLevels = [...event.detail.elevateLevels];
105
+ onTCClick() {
106
+ window.postMessage({ type: 'termAndConditionClicked' }, window.location.href);
103
107
  }
104
- if (event.detail.clearError) {
105
- this.errorMessage = null;
108
+ componentWillLoad() {
109
+ this.elevateLevelParamProxy = {
110
+ endpoint: this.endpoint, language: this.language, selectedLevelId: this.selectedLevelId,
111
+ showDefault: this.showDefault
112
+ };
106
113
  }
107
- if (event.detail.errorMessage) {
108
- if (event.detail.errorMessage['errorWhenLoadElevateLevels']) {
109
- this.errorMessage = translate('loadElevateLevelErrorMessage', this.language);
110
- }
114
+ render() {
115
+ return (h("div", { key: '327b5cd6a3bc756ce0696a0f2a4081f35bad7316', class: "ElevateLevelContent" }, h("elevate-levels-data", { key: 'cf1ab9a55cdaf9eba688bd524cb4a83d63563e77', scopeParams: this.elevateLevelParamProxy }), h("div", { key: '9c85b9a805712db07c7c99ac2db843062997f667', class: "LevelContent" }, this.elevateLevels ?
116
+ h("elevate-level-list", { language: this.language, selectedLevelId: this.selectedLevelId, levels: this.elevateLevels }) : translate('noLevelsSet', this.language), this.currentLevel &&
117
+ h("elevate-level-presentation", { key: '0fecb2a451caeef4512dc6f2af4fd3406610cc72', elevateLevel: this.currentLevel })), this.errorMessage && h("div", { key: 'ef746907148df80338fd2300322cd8eea9342f51' }, this.errorMessage), h("general-styling-wrapper", { key: 'e3d82ef1b7e5986354e18d875f9e3c547ff8adba', clientStyling: this.clientStyling, clientStylingUrl: this.clientStylingUrl, targetTranslations: TRANSLATIONS, translationUrl: this.translationUrl })));
111
118
  }
112
- }
113
- onTCClick() {
114
- window.postMessage({ type: 'termAndConditionClicked' }, window.location.href);
115
- }
116
- componentWillLoad() {
117
- this.elevateLevelParamProxy = {
118
- endpoint: this.endpoint, language: this.language, selectedLevelId: this.selectedLevelId,
119
- showDefault: this.showDefault
120
- };
121
- }
122
- render() {
123
- return (h("div", { class: "ElevateLevelContent" }, h("elevate-levels-data", { scopeParams: this.elevateLevelParamProxy }), h("div", { class: "LevelContent" }, this.elevateLevels ?
124
- h("elevate-level-list", { language: this.language, selectedLevelId: this.selectedLevelId, levels: this.elevateLevels }) : translate('noLevelsSet', this.language), this.currentLevel &&
125
- h("elevate-level-presentation", { elevateLevel: this.currentLevel })), this.errorMessage && h("div", null, this.errorMessage), h("general-styling-wrapper", { clientStyling: this.clientStyling, clientStylingUrl: this.clientStylingUrl, targetTranslations: TRANSLATIONS, translationUrl: this.translationUrl })));
126
- }
127
- static get watchers() { return {
128
- "selectedLevelId": ["selectedLevelIdChangedHandler"],
129
- "elevateLevels": ["selectedLevelIdChangedHandler"],
130
- "endpoint": ["onSessionOrEndpointChange"],
131
- "language": ["onSessionOrEndpointChange"]
132
- }; }
119
+ static get watchers() { return {
120
+ "selectedLevelId": ["selectedLevelIdChangedHandler"],
121
+ "elevateLevels": ["selectedLevelIdChangedHandler"],
122
+ "endpoint": ["onSessionOrEndpointChange"],
123
+ "language": ["onSessionOrEndpointChange"]
124
+ }; }
133
125
  };
134
- BonusElevateLevels.style = bonusElevateLevelsCss;
126
+ BonusElevateLevels.style = BonusElevateLevelsStyle0;
135
127
 
136
128
  /**
137
129
  * @name isMobile
@@ -140,150 +132,146 @@ BonusElevateLevels.style = bonusElevateLevelsCss;
140
132
  * @returns {Boolean} true or false
141
133
  */
142
134
  const isMobile = (userAgent) => {
143
- return !!(userAgent.toLowerCase().match(/android/i) ||
144
- userAgent.toLowerCase().match(/blackberry|bb/i) ||
145
- userAgent.toLowerCase().match(/iphone|ipad|ipod/i) ||
146
- userAgent.toLowerCase().match(/windows phone|windows mobile|iemobile|wpdesktop/i));
135
+ return !!(userAgent.toLowerCase().match(/android/i) ||
136
+ userAgent.toLowerCase().match(/blackberry|bb/i) ||
137
+ userAgent.toLowerCase().match(/iphone|ipad|ipod/i) ||
138
+ userAgent.toLowerCase().match(/windows phone|windows mobile|iemobile|wpdesktop/i));
147
139
  };
148
140
  var MOVE_TO;
149
141
  (function (MOVE_TO) {
150
- MOVE_TO[MOVE_TO["slideToRight"] = 1] = "slideToRight";
151
- MOVE_TO[MOVE_TO["slideToLeft"] = -1] = "slideToLeft";
142
+ MOVE_TO[MOVE_TO["slideToRight"] = 1] = "slideToRight";
143
+ MOVE_TO[MOVE_TO["slideToLeft"] = -1] = "slideToLeft";
152
144
  })(MOVE_TO || (MOVE_TO = {}));
153
145
 
154
- 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}";
146
+ 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}";
147
+ const ElevateLevelListStyle0 = elevateLevelListCss;
155
148
 
156
149
  const ElevateLevelList = class {
157
- constructor(hostRef) {
158
- registerInstance(this, hostRef);
159
- this.selectedLevelChanged = createEvent(this, "selectedLevelChanged", 7);
160
- this.isShowSliderButton = false;
161
- this.offset = 0;
162
- this.minOffset = 0;
163
- this.isMobile = isMobile(window.navigator.userAgent);
164
- }
165
- onLevelClicked(elevateLevel) {
166
- this.selectedLevelChanged.emit({ level: elevateLevel });
167
- this.selectedLevelId = elevateLevel.id;
168
- }
169
- levelsChangedHandler() {
170
- this.initOffsetOfLevelItems();
171
- }
172
- initOffsetOfLevelItems() {
173
- if (!this.levels || this.levels.length == 0 || !this.selectedLevelId) {
174
- return;
150
+ constructor(hostRef) {
151
+ registerInstance(this, hostRef);
152
+ this.selectedLevelChanged = createEvent(this, "selectedLevelChanged", 7);
153
+ this.minOffset = 0;
154
+ this.isMobile = isMobile(window.navigator.userAgent);
155
+ this.levels = undefined;
156
+ this.language = undefined;
157
+ this.selectedLevelId = undefined;
158
+ this.isShowSliderButton = false;
159
+ this.touchPosStart = undefined;
160
+ this.touchPosEnd = undefined;
161
+ this.offset = 0;
175
162
  }
176
- const currentLevelIndex = this.levels.findIndex((item) => {
177
- return this.selectedLevelId == item.id;
178
- });
179
- this.onLevelClicked(this.levels[currentLevelIndex == -1 ? 0 : currentLevelIndex]);
180
- //do not need change the slider offset when level items less than moveCountForOneTouch
181
- if (this.levels.length <= this.moveCountForOneTouch) {
182
- return;
163
+ onLevelClicked(elevateLevel) {
164
+ this.selectedLevelChanged.emit({ level: elevateLevel });
165
+ this.selectedLevelId = elevateLevel.id;
183
166
  }
184
- //to avoid the slider do not move when currentLevelIndex = moveCountForOneTouch - 1
185
- let newOffset = Math.floor((currentLevelIndex == -1 ? 1 : currentLevelIndex + 1) / this.moveCountForOneTouch)
186
- * this.moveCountForOneTouch * this.childElementWidth * (-1);
187
- this.offset = newOffset <= this.minOffset ? this.minOffset : (newOffset >= 0 ? 0 : newOffset);
188
- }
189
- onTouchStart(e) {
190
- this.touchPosStart = { clientX: e.touches[0].clientX, clientY: e.touches[0].clientY };
191
- }
192
- onTouchMove(e) {
193
- this.touchPosEnd = { clientX: e.touches[0].clientX, clientY: e.touches[0].clientY };
194
- const diffX = this.touchPosEnd.clientX - this.touchPosStart.clientX;
195
- const diffY = this.touchPosEnd.clientY - this.touchPosStart.clientY;
196
- if (Math.abs(diffX) > Math.abs(diffY)) {
197
- this.slideTo(diffX > 0 ? MOVE_TO.slideToRight : MOVE_TO.slideToLeft);
167
+ levelsChangedHandler() {
168
+ this.initOffsetOfLevelItems();
198
169
  }
199
- }
200
- slideTo(direction) {
201
- let newOffset = this.levelsElement.offsetLeft +
202
- (this.childElementWidth) * this.moveCountForOneTouch * direction;
203
- if (newOffset % this.childElementWidth != 0) {
204
- const leftOfPreNode = (Math.floor(newOffset / this.childElementWidth)) * this.childElementWidth;
205
- const leftOfNextNode = (Math.ceil(newOffset / this.childElementWidth)) * this.childElementWidth;
206
- //touchmove to right, get left of pre-node; touchmove to left, get left of next-node
207
- newOffset = direction == MOVE_TO.slideToRight ? leftOfPreNode : leftOfNextNode;
170
+ initOffsetOfLevelItems() {
171
+ if (!this.levels || this.levels.length == 0 || !this.selectedLevelId) {
172
+ return;
173
+ }
174
+ const currentLevelIndex = this.levels.findIndex((item) => {
175
+ return this.selectedLevelId == item.id;
176
+ });
177
+ this.onLevelClicked(this.levels[currentLevelIndex == -1 ? 0 : currentLevelIndex]);
178
+ //do not need change the slider offset when level items less than moveCountForOneTouch
179
+ if (this.levels.length <= this.moveCountForOneTouch) {
180
+ return;
181
+ }
182
+ //to avoid the slider do not move when currentLevelIndex = moveCountForOneTouch - 1
183
+ let newOffset = Math.floor((currentLevelIndex == -1 ? 1 : currentLevelIndex + 1) / this.moveCountForOneTouch)
184
+ * this.moveCountForOneTouch * this.childElementWidth * (-1);
185
+ this.offset = newOffset <= this.minOffset ? this.minOffset : (newOffset >= 0 ? 0 : newOffset);
208
186
  }
209
- this.offset = newOffset < this.minOffset ? this.minOffset : (newOffset >= 0 ? 0 : newOffset);
210
- }
211
- initLevelSlider() {
212
- var _a;
213
- if (!((_a = this.levelsElement) === null || _a === void 0 ? void 0 : _a.firstElementChild)) {
214
- console.log('Widget[elevate-level-list] DOM is not ready.');
215
- return;
187
+ onTouchStart(e) {
188
+ this.touchPosStart = { clientX: e.touches[0].clientX, clientY: e.touches[0].clientY };
216
189
  }
217
- this.isShowSliderButton = !this.isMobile && (this.levelsElement.clientWidth > this.levelsElement.parentElement.clientWidth);
218
- this.minOffset = this.levelsElement.parentElement.clientWidth - this.levelsElement.clientWidth;
219
- this.childElementWidth = this.levelsElement.firstElementChild.clientWidth;
220
- this.moveCountForOneTouch = Math.ceil(this.levelsElement.parentElement.clientWidth / this.childElementWidth) - 1;
221
- const childElementCount = this.levelsElement.childElementCount;
222
- this.childElementWidth += (this.levelsElement.clientWidth - this.childElementWidth * childElementCount) / (childElementCount - 1);
223
- }
224
- debounce(callback, delay) {
225
- {
226
- let timer;
227
- return () => {
228
- clearTimeout(timer);
229
- timer = setTimeout(() => {
230
- callback();
231
- }, delay);
232
- };
190
+ onTouchMove(e) {
191
+ this.touchPosEnd = { clientX: e.touches[0].clientX, clientY: e.touches[0].clientY };
192
+ const diffX = this.touchPosEnd.clientX - this.touchPosStart.clientX;
193
+ const diffY = this.touchPosEnd.clientY - this.touchPosStart.clientY;
194
+ if (Math.abs(diffX) > Math.abs(diffY)) {
195
+ this.slideTo(diffX > 0 ? MOVE_TO.slideToRight : MOVE_TO.slideToLeft);
196
+ }
233
197
  }
234
- }
235
- ;
236
- handleResize() {
237
- this.debounce(this.initLevelSlider.bind(this), 200)();
238
- }
239
- componentDidRender() {
240
- this.host.componentOnReady().then(() => {
241
- this.initLevelSlider();
242
- });
243
- }
244
- render() {
245
- return (h(Host, null, this.levels && [
246
- h("div", { class: `SliderButton LeftButton ${this.offset == 0 ? 'Disabled' : ''} ${this.isShowSliderButton ? '' : 'Hidden'}`, onClick: () => this.slideTo(MOVE_TO.slideToRight) }, h("svg", { fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M15 19l-7-7 7-7" }))),
247
- h("div", { class: 'LevelItemsWrapper' }, h("div", { style: { 'left': `${this.offset}px` }, class: `LevelItems ${this.isMobile ? 'Mobile' : ''}`, id: 'levelItems', ref: (el) => { this.levelsElement = el; } }, this.levels.map((level, idx) => {
248
- return (h("div", { class: `Item ${this.selectedLevelId == level.id ? 'Active' : ''}`, onClick: this.onLevelClicked.bind(this, level) }, h("img", { alt: `Presentation Icon for ${level.presentation.displayName}`, class: "LevelImg", src: level.presentation.asset }), h("span", { class: "LevelName", title: level.presentation.displayName }, level.presentation.displayName), h("span", { class: "LevelPoints" }, idx == 0 ? '' : '>', level.firstEntryPoints, ' ', translate('points', this.language))));
249
- }))),
250
- h("div", { class: `SliderButton RightButton ${this.offset <= this.minOffset ? 'Disabled' : ''} ${this.isShowSliderButton ? '' : 'Hidden'}`, onClick: () => this.slideTo(MOVE_TO.slideToLeft) }, h("svg", { fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M9 5l7 7-7 7" })))
251
- ]));
252
- }
253
- get host() { return getElement(this); }
254
- static get watchers() { return {
255
- "selectedLevelId": ["levelsChangedHandler"]
256
- }; }
198
+ slideTo(direction) {
199
+ let newOffset = this.levelsElement.offsetLeft +
200
+ (this.childElementWidth) * this.moveCountForOneTouch * direction;
201
+ if (newOffset % this.childElementWidth != 0) {
202
+ const leftOfPreNode = (Math.floor(newOffset / this.childElementWidth)) * this.childElementWidth;
203
+ const leftOfNextNode = (Math.ceil(newOffset / this.childElementWidth)) * this.childElementWidth;
204
+ //touchmove to right, get left of pre-node; touchmove to left, get left of next-node
205
+ newOffset = direction == MOVE_TO.slideToRight ? leftOfPreNode : leftOfNextNode;
206
+ }
207
+ this.offset = newOffset < this.minOffset ? this.minOffset : (newOffset >= 0 ? 0 : newOffset);
208
+ }
209
+ initLevelSlider() {
210
+ var _a;
211
+ if (!((_a = this.levelsElement) === null || _a === void 0 ? void 0 : _a.firstElementChild)) {
212
+ console.log('Widget[elevate-level-list] DOM is not ready.');
213
+ return;
214
+ }
215
+ this.isShowSliderButton = !this.isMobile && (this.levelsElement.clientWidth > this.levelsElement.parentElement.clientWidth);
216
+ this.minOffset = this.levelsElement.parentElement.clientWidth - this.levelsElement.clientWidth;
217
+ this.childElementWidth = this.levelsElement.firstElementChild.clientWidth;
218
+ this.moveCountForOneTouch = Math.ceil(this.levelsElement.parentElement.clientWidth / this.childElementWidth) - 1;
219
+ const childElementCount = this.levelsElement.childElementCount;
220
+ this.childElementWidth += (this.levelsElement.clientWidth - this.childElementWidth * childElementCount) / (childElementCount - 1);
221
+ }
222
+ debounce(callback, delay) {
223
+ {
224
+ let timer;
225
+ return () => {
226
+ clearTimeout(timer);
227
+ timer = setTimeout(() => {
228
+ callback();
229
+ }, delay);
230
+ };
231
+ }
232
+ }
233
+ ;
234
+ handleResize() {
235
+ this.debounce(this.initLevelSlider.bind(this), 200)();
236
+ }
237
+ componentDidRender() {
238
+ this.host.componentOnReady().then(() => {
239
+ this.initLevelSlider();
240
+ });
241
+ }
242
+ render() {
243
+ return (h(Host, { key: 'd88d3434af89a0f8fd20a97735121fdf297905ab' }, this.levels && [
244
+ h("div", { key: 'cff36ba584e2474a65a1b95545b00937ecd06c8c', class: `SliderButton LeftButton ${this.offset == 0 ? 'Disabled' : ''} ${this.isShowSliderButton ? '' : 'Hidden'}`, onClick: () => this.slideTo(MOVE_TO.slideToRight) }, h("svg", { key: '640b4dd9b26b4097d15623f3e9c6b14b9a60b37e', fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '0a50ffc9319ad33ed61e4696c37a0bfe6090518c', "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M15 19l-7-7 7-7" }))),
245
+ h("div", { key: '314c5b4c5bbc0d50041a66fdf474441ea418345a', class: 'LevelItemsWrapper' }, 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) => {
246
+ return (h("div", { class: `Item ${this.selectedLevelId == level.id ? 'Active' : ''}`, onClick: this.onLevelClicked.bind(this, level) }, h("img", { alt: `Presentation Icon for ${level.presentation.displayName}`, class: "LevelImg", src: level.presentation.asset }), h("span", { class: "LevelName", title: level.presentation.displayName }, level.presentation.displayName), h("span", { class: "LevelPoints" }, idx == 0 ? '' : '>', level.firstEntryPoints, ' ', translate('points', this.language))));
247
+ }))),
248
+ h("div", { key: '8dae638ca436c7e747a0f737028588ee5d040edd', class: `SliderButton RightButton ${this.offset <= this.minOffset ? 'Disabled' : ''} ${this.isShowSliderButton ? '' : 'Hidden'}`, onClick: () => this.slideTo(MOVE_TO.slideToLeft) }, h("svg", { key: 'bba16b49668567aaa41beedd9ea461d256c6812d', fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '36a0b6f3ffe8b50ebea9a4ec1c01e3341c440949', "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M9 5l7 7-7 7" })))
249
+ ]));
250
+ }
251
+ get host() { return getElement(this); }
252
+ static get watchers() { return {
253
+ "selectedLevelId": ["levelsChangedHandler"]
254
+ }; }
257
255
  };
258
- ElevateLevelList.style = elevateLevelListCss;
256
+ ElevateLevelList.style = ElevateLevelListStyle0;
259
257
 
260
258
  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}";
259
+ const ElevateLevelPresentationStyle0 = elevateLevelPresentationCss;
261
260
 
262
261
  const ElevateLevelPresentation = class {
263
- constructor(hostRef) {
264
- registerInstance(this, hostRef);
265
- }
266
- render() {
267
- return h(Host, null, h("div", { class: "Row Desc" }, h("h3", null, this.elevateLevel.presentation.displayName), h("p", null, h("span", { class: "TxtDesc", innerHTML: this.elevateLevel.presentation.description }))));
268
- }
262
+ constructor(hostRef) {
263
+ registerInstance(this, hostRef);
264
+ this.elevateLevel = undefined;
265
+ }
266
+ render() {
267
+ return h(Host, { key: '16d128717e716f7ca7d3bb77fc3a2e67209318b6' }, h("div", { key: '658657abdfc64844bd2af40562efe40385e1735a', class: "Row Desc" }, h("h3", { key: 'ec5871c2f810c8c120bf99510717381175bc1ef4' }, this.elevateLevel.presentation.displayName), h("p", { key: '865915c6eea90295238fb47eaa91c8f968199ca5' }, h("span", { key: '2b90c6c5d6957b73fc4a0f53d53da0ca023a4f0a', class: "TxtDesc", innerHTML: this.elevateLevel.presentation.description }))));
268
+ }
269
269
  };
270
- ElevateLevelPresentation.style = elevateLevelPresentationCss;
271
-
272
- function createCommonjsModule(fn, basedir, module) {
273
- return module = {
274
- path: basedir,
275
- exports: {},
276
- require: function (path, base) {
277
- return commonjsRequire();
278
- }
279
- }, fn(module, module.exports), module.exports;
280
- }
270
+ ElevateLevelPresentation.style = ElevateLevelPresentationStyle0;
281
271
 
282
- function commonjsRequire () {
283
- throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');
284
- }
272
+ var browser = {exports: {}};
285
273
 
286
- var browser = createCommonjsModule(function (module, exports) {
274
+ (function (module, exports) {
287
275
 
288
276
  // ref: https://github.com/tc39/proposal-global
289
277
  var getGlobal = function () {
@@ -308,129 +296,126 @@ if (global.fetch) {
308
296
  exports.Headers = global.Headers;
309
297
  exports.Request = global.Request;
310
298
  exports.Response = global.Response;
311
- });
299
+ }(browser, browser.exports));
300
+
301
+ const fetch$1 = browser.exports;
312
302
 
313
303
  const elevateLevelsDataCss = ":host{display:block}";
304
+ const ElevateLevelsDataStyle0 = elevateLevelsDataCss;
314
305
 
315
306
  const ElevateLevelsData = class {
316
- constructor(hostRef) {
317
- registerInstance(this, hostRef);
318
- this.elevateLevelsDataChange = createEvent(this, "elevateLevelsDataChange", 7);
319
- }
320
- async componentWillRender() {
321
- //load data
322
- if (!this.scopeParams.endpoint) {
323
- return;
307
+ constructor(hostRef) {
308
+ registerInstance(this, hostRef);
309
+ this.elevateLevelsDataChange = createEvent(this, "elevateLevelsDataChange", 7);
310
+ this.scopeParams = undefined;
311
+ }
312
+ async componentWillRender() {
313
+ //load data
314
+ if (!this.scopeParams.endpoint) {
315
+ return;
316
+ }
317
+ const endpoint = this.scopeParams.endpoint;
318
+ let url = new URL(`${endpoint}/v1/elevate/levels?language=${this.scopeParams.language}`);
319
+ await fetch$1(url.href)
320
+ .then((res) => res.json())
321
+ .then((res) => {
322
+ const elevateLevels = res.data.sort((a, b) => {
323
+ return a.firstEntryPoints < b.firstEntryPoints ? -1 : 1;
324
+ });
325
+ let selectedLevelId = this.scopeParams.selectedLevelId;
326
+ // if selected level is not set, set first(basic) as default
327
+ if (!selectedLevelId && this.scopeParams.showDefault && elevateLevels.length > 0) {
328
+ selectedLevelId = elevateLevels[0].id;
329
+ }
330
+ if (selectedLevelId) {
331
+ // get current level by name
332
+ const currentLevel = elevateLevels.filter((item) => {
333
+ return item.id == selectedLevelId;
334
+ })[0];
335
+ this.elevateLevelsDataChange.emit({ currentLevel: currentLevel });
336
+ }
337
+ this.elevateLevelsDataChange.emit({ 'clearError': true });
338
+ this.elevateLevelsDataChange.emit({ 'elevateLevels': elevateLevels });
339
+ }).catch((err) => {
340
+ this.elevateLevelsDataChange.emit({ errorMessage: { type: 'errorWhenLoadElevateLevels', err } });
341
+ console.error(err);
342
+ });
324
343
  }
325
- const endpoint = this.scopeParams.endpoint;
326
- let url = new URL(`${endpoint}/v1/elevate/levels?language=${this.scopeParams.language}`);
327
- await browser(url.href)
328
- .then((res) => res.json())
329
- .then((res) => {
330
- const elevateLevels = res.data.sort((a, b) => {
331
- return a.firstEntryPoints < b.firstEntryPoints ? -1 : 1;
332
- });
333
- let selectedLevelId = this.scopeParams.selectedLevelId;
334
- // if selected level is not set, set first(basic) as default
335
- if (!selectedLevelId && this.scopeParams.showDefault && elevateLevels.length > 0) {
336
- selectedLevelId = elevateLevels[0].id;
337
- }
338
- if (selectedLevelId) {
339
- // get current level by name
340
- const currentLevel = elevateLevels.filter((item) => {
341
- return item.id == selectedLevelId;
342
- })[0];
343
- this.elevateLevelsDataChange.emit({ currentLevel: currentLevel });
344
- }
345
- this.elevateLevelsDataChange.emit({ 'clearError': true });
346
- this.elevateLevelsDataChange.emit({ 'elevateLevels': elevateLevels });
347
- }).catch((err) => {
348
- this.elevateLevelsDataChange.emit({ errorMessage: { type: 'errorWhenLoadElevateLevels', err } });
349
- console.error(err);
350
- });
351
- }
352
344
  };
353
- ElevateLevelsData.style = elevateLevelsDataCss;
345
+ ElevateLevelsData.style = ElevateLevelsDataStyle0;
354
346
 
355
347
  const mergeTranslations = (url, target) => {
356
- return new Promise((resolve) => {
357
- fetch(url)
358
- .then((res) => res.json())
359
- .then((data) => {
360
- Object.keys(data).forEach((item) => {
361
- target[item] = target[item] ? target[item] : {};
362
- for (let key in data[item]) {
363
- target[item][key] = data[item][key];
364
- }
365
- });
366
- resolve(true);
348
+ return new Promise((resolve) => {
349
+ fetch(url)
350
+ .then((res) => res.json())
351
+ .then((data) => {
352
+ Object.keys(data).forEach((item) => {
353
+ target[item] = target[item] ? target[item] : {};
354
+ for (let key in data[item]) {
355
+ target[item][key] = data[item][key];
356
+ }
357
+ });
358
+ resolve(true);
359
+ });
367
360
  });
368
- });
369
361
  };
370
362
 
371
363
  const generalStylingWrapperCss = ":host{display:block}";
364
+ const GeneralStylingWrapperStyle0 = generalStylingWrapperCss;
372
365
 
373
366
  const GeneralStylingWrapper = class {
374
- constructor(hostRef) {
375
- registerInstance(this, hostRef);
376
- /**
377
- * Client custom styling via inline styles
378
- */
379
- this.clientStyling = '';
380
- /**
381
- * Client custom styling via url
382
- */
383
- this.clientStylingUrl = '';
384
- /**
385
- * Translation via url
386
- */
387
- this.translationUrl = '';
388
- this.stylingAppends = false;
389
- this.setClientStyling = () => {
390
- let sheet = document.createElement('style');
391
- sheet.innerHTML = this.clientStyling;
392
- this.el.prepend(sheet);
393
- };
394
- this.setClientStylingURL = () => {
395
- let url = new URL(this.clientStylingUrl);
396
- let cssFile = document.createElement('style');
397
- fetch(url.href)
398
- .then((res) => res.text())
399
- .then((data) => {
400
- cssFile.innerHTML = data;
401
- setTimeout(() => {
402
- this.el.prepend(cssFile);
403
- }, 1);
404
- })
405
- .catch((err) => {
406
- console.log('error ', err);
407
- });
408
- };
409
- }
410
- componentDidRender() {
411
- // start custom styling area
412
- if (!this.stylingAppends) {
413
- if (this.clientStyling)
414
- this.setClientStyling();
415
- if (this.clientStylingUrl)
416
- this.setClientStylingURL();
417
- this.stylingAppends = true;
367
+ constructor(hostRef) {
368
+ registerInstance(this, hostRef);
369
+ this.stylingAppends = false;
370
+ this.setClientStyling = () => {
371
+ let sheet = document.createElement('style');
372
+ sheet.innerHTML = this.clientStyling;
373
+ this.el.prepend(sheet);
374
+ };
375
+ this.setClientStylingURL = () => {
376
+ let url = new URL(this.clientStylingUrl);
377
+ let cssFile = document.createElement('style');
378
+ fetch(url.href)
379
+ .then((res) => res.text())
380
+ .then((data) => {
381
+ cssFile.innerHTML = data;
382
+ setTimeout(() => {
383
+ this.el.prepend(cssFile);
384
+ }, 1);
385
+ })
386
+ .catch((err) => {
387
+ console.log('error ', err);
388
+ });
389
+ };
390
+ this.clientStyling = '';
391
+ this.clientStylingUrl = '';
392
+ this.translationUrl = '';
393
+ this.targetTranslations = undefined;
394
+ }
395
+ componentDidRender() {
396
+ // start custom styling area
397
+ if (!this.stylingAppends) {
398
+ if (this.clientStyling)
399
+ this.setClientStyling();
400
+ if (this.clientStylingUrl)
401
+ this.setClientStylingURL();
402
+ this.stylingAppends = true;
403
+ }
404
+ // end custom styling area
405
+ }
406
+ async componentWillLoad() {
407
+ const promises = [];
408
+ if (this.translationUrl) {
409
+ const translationPromise = mergeTranslations(this.translationUrl, this.targetTranslations);
410
+ promises.push(translationPromise);
411
+ }
412
+ return await Promise.all(promises);
418
413
  }
419
- // end custom styling area
420
- }
421
- async componentWillLoad() {
422
- const promises = [];
423
- if (this.translationUrl) {
424
- const translationPromise = mergeTranslations(this.translationUrl, this.targetTranslations);
425
- promises.push(translationPromise);
414
+ render() {
415
+ return (h("div", { key: '4d3414408c7662f88331dbe655966237f74d6958', class: "StyleShell" }, h("slot", { key: '1d004644d84602c4314bdf5dfc26b55b160f57df', name: "mainContent" })));
426
416
  }
427
- return await Promise.all(promises);
428
- }
429
- render() {
430
- return (h("div", { class: "StyleShell" }, h("slot", { name: "mainContent" })));
431
- }
432
- get el() { return getElement(this); }
417
+ get el() { return getElement(this); }
433
418
  };
434
- GeneralStylingWrapper.style = generalStylingWrapperCss;
419
+ GeneralStylingWrapper.style = GeneralStylingWrapperStyle0;
435
420
 
436
421
  export { BonusElevateLevels as bonus_elevate_levels, ElevateLevelList as elevate_level_list, ElevateLevelPresentation as elevate_level_presentation, ElevateLevelsData as elevate_levels_data, GeneralStylingWrapper as general_styling_wrapper };