@everymatrix/bonus-elevate-levels 1.44.0 → 1.45.2

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