@everymatrix/bonus-elevate-levels 1.31.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 -0
  2. package/dist/bonus-elevate-levels/index.esm.js +0 -0
  3. package/dist/bonus-elevate-levels/p-b4dbf9a0.entry.js +1 -0
  4. package/dist/bonus-elevate-levels/p-b93c42e2.js +1 -0
  5. package/dist/cjs/bonus-elevate-levels.cjs.js +19 -0
  6. package/dist/cjs/bonus-elevate-levels_5.cjs.entry.js +418 -0
  7. package/dist/cjs/index-3c66cec7.js +1682 -0
  8. package/dist/cjs/index.cjs.js +2 -0
  9. package/dist/cjs/loader.cjs.js +21 -0
  10. package/dist/collection/collection-manifest.json +22 -0
  11. package/dist/collection/components/bonus-elevate-levels/bonus-elevate-levels.css +18 -0
  12. package/dist/collection/components/bonus-elevate-levels/bonus-elevate-levels.js +240 -0
  13. package/dist/collection/components/elevate-level-list/elevate-level-list.css +70 -0
  14. package/dist/collection/components/elevate-level-list/elevate-level-list.js +223 -0
  15. package/dist/collection/components/elevate-level-presentation/elevate-level-presentation.css +21 -0
  16. package/dist/collection/components/elevate-level-presentation/elevate-level-presentation.js +39 -0
  17. package/dist/collection/components/elevate-levels-data/elevate-levels-data.css +3 -0
  18. package/dist/collection/components/elevate-levels-data/elevate-levels-data.js +79 -0
  19. package/dist/collection/index.js +1 -0
  20. package/dist/collection/models/elevate-levels.js +1 -0
  21. package/dist/collection/utils/locale.utils.js +27 -0
  22. package/dist/collection/utils/prototype-collector.js +5 -0
  23. package/dist/collection/utils/utils.js +44 -0
  24. package/dist/components/bonus-elevate-levels.d.ts +11 -0
  25. package/dist/components/bonus-elevate-levels.js +136 -0
  26. package/dist/components/elevate-level-list.d.ts +11 -0
  27. package/dist/components/elevate-level-list.js +6 -0
  28. package/dist/components/elevate-level-list2.js +177 -0
  29. package/dist/components/elevate-level-presentation.d.ts +11 -0
  30. package/dist/components/elevate-level-presentation.js +6 -0
  31. package/dist/components/elevate-level-presentation2.js +31 -0
  32. package/dist/components/elevate-levels-data.d.ts +11 -0
  33. package/dist/components/elevate-levels-data.js +6 -0
  34. package/dist/components/elevate-levels-data2.js +102 -0
  35. package/dist/components/general-styling-wrapper.js +6 -0
  36. package/dist/components/general-styling-wrapper2.js +103 -0
  37. package/dist/components/index.d.ts +26 -0
  38. package/dist/components/index.js +1 -0
  39. package/dist/esm/bonus-elevate-levels.js +17 -0
  40. package/dist/esm/bonus-elevate-levels_5.entry.js +410 -0
  41. package/dist/esm/index-2cb5433a.js +1654 -0
  42. package/dist/esm/index.js +1 -0
  43. package/dist/esm/loader.js +17 -0
  44. package/dist/esm/polyfills/core-js.js +11 -0
  45. package/dist/esm/polyfills/css-shim.js +1 -0
  46. package/dist/esm/polyfills/dom.js +79 -0
  47. package/dist/esm/polyfills/es5-html-element.js +1 -0
  48. package/dist/esm/polyfills/index.js +34 -0
  49. package/dist/esm/polyfills/system.js +6 -0
  50. package/dist/index.cjs.js +1 -0
  51. package/dist/index.js +1 -0
  52. package/dist/stencil.config.js +24 -0
  53. package/dist/types/Users/dragos.bodea/Documents/everymatrix-prjs/emfe-widgets/widgets-stencil/packages/bonus-elevate-levels/.stencil/packages/bonus-elevate-levels/stencil.config.d.ts +2 -0
  54. package/dist/types/components/bonus-elevate-levels/bonus-elevate-levels.d.ts +48 -0
  55. package/dist/types/components/elevate-level-list/elevate-level-list.d.ts +45 -0
  56. package/dist/types/components/elevate-level-presentation/elevate-level-presentation.d.ts +8 -0
  57. package/dist/types/components/elevate-levels-data/elevate-levels-data.d.ts +10 -0
  58. package/dist/types/components.d.ts +175 -0
  59. package/dist/types/index.d.ts +1 -0
  60. package/dist/types/models/elevate-levels.d.ts +12 -0
  61. package/dist/types/stencil-public-runtime.d.ts +1565 -0
  62. package/dist/types/utils/locale.utils.d.ts +10 -0
  63. package/dist/types/utils/prototype-collector.d.ts +1 -0
  64. package/dist/types/utils/utils.d.ts +21 -0
  65. package/loader/cdn.js +3 -0
  66. package/loader/index.cjs.js +3 -0
  67. package/loader/index.d.ts +12 -0
  68. package/loader/index.es2017.js +3 -0
  69. package/loader/index.js +4 -0
  70. package/loader/package.json +10 -0
  71. package/package.json +22 -0
@@ -0,0 +1,2 @@
1
+ 'use strict';
2
+
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-3c66cec7.js');
6
+
7
+ /*
8
+ Stencil Client Patch Esm v2.15.2 | MIT Licensed | https://stenciljs.com
9
+ */
10
+ const patchEsm = () => {
11
+ return index.promiseResolve();
12
+ };
13
+
14
+ const defineCustomElements = (win, options) => {
15
+ if (typeof window === 'undefined') return Promise.resolve();
16
+ return patchEsm().then(() => {
17
+ return index.bootstrapLazy([["bonus-elevate-levels_5.cjs",[[1,"bonus-elevate-levels",{"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"endpoint":[513],"language":[513],"translationUrl":[513,"translation-url"],"selectedLevelId":[1537,"selected-level-id"],"showDefault":[4,"show-default"],"elevateLevelParamProxy":[32],"elevateLevels":[32],"currentLevel":[32],"errorMessage":[32]},[[0,"selectedLevelChanged","selectedLevelChangedHandler"],[2,"elevateLevelsDataChange","elevateLevelsDataChangeHandler"]]],[0,"elevate-level-list",{"levels":[16],"language":[1],"selectedLevelId":[1537,"selected-level-id"],"isShowSliderButton":[32],"touchPosStart":[32],"touchPosEnd":[32],"offset":[32]},[[1,"touchstart","onTouchStart"],[1,"touchmove","onTouchMove"],[9,"resize","handleResize"]]],[0,"elevate-level-presentation",{"elevateLevel":[16]}],[0,"elevate-levels-data",{"scopeParams":[1544,"scope-params"]}],[4,"general-styling-wrapper",{"clientStyling":[1,"client-styling"],"clientStylingUrl":[1,"client-styling-url"],"translationUrl":[1,"translation-url"],"targetTranslations":[16]}]]]], options);
18
+ });
19
+ };
20
+
21
+ exports.defineCustomElements = defineCustomElements;
@@ -0,0 +1,22 @@
1
+ {
2
+ "entries": [
3
+ "./components/bonus-elevate-levels/bonus-elevate-levels.js",
4
+ "./components/elevate-level-list/elevate-level-list.js",
5
+ "./components/elevate-level-presentation/elevate-level-presentation.js",
6
+ "./components/elevate-levels-data/elevate-levels-data.js"
7
+ ],
8
+ "compiler": {
9
+ "name": "@stencil/core",
10
+ "version": "2.15.2",
11
+ "typescriptVersion": "4.5.4"
12
+ },
13
+ "collections": [
14
+ {
15
+ "name": "@everymatrix/general-styling-wrapper",
16
+ "tags": [
17
+ "general-styling-wrapper"
18
+ ]
19
+ }
20
+ ],
21
+ "bundles": []
22
+ }
@@ -0,0 +1,18 @@
1
+ :host {
2
+ display: block;
3
+ }
4
+
5
+ .ElevateLevelContent {
6
+ padding: 20px;
7
+ position: relative;
8
+ }
9
+ .ElevateLevelContent .Privileges {
10
+ padding-bottom: 30px;
11
+ }
12
+ .ElevateLevelContent .tc {
13
+ position: absolute;
14
+ right: 10px;
15
+ bottom: 10px;
16
+ text-align: right;
17
+ display: none;
18
+ }
@@ -0,0 +1,240 @@
1
+ import { Component, h, Listen, Prop, State, Watch } from '@stencil/core';
2
+ import { translate, TRANSLATIONS } from '../../utils/locale.utils';
3
+ export class BonusElevateLevels {
4
+ constructor() {
5
+ /**
6
+ * Client custom styling via string
7
+ */
8
+ this.clientStyling = '';
9
+ /**
10
+ * Client custom styling via url
11
+ */
12
+ this.clientStylingUrl = '';
13
+ /**
14
+ * Language of the widget
15
+ */
16
+ this.language = 'en';
17
+ /**
18
+ * The translationUrl
19
+ */
20
+ this.translationUrl = '';
21
+ /**
22
+ * Used in elevate level list
23
+ */
24
+ this.elevateLevels = [];
25
+ }
26
+ selectedLevelChangedHandler(event) {
27
+ if (event.detail) {
28
+ this.currentLevel = Object.assign({}, event.detail.level);
29
+ }
30
+ }
31
+ selectedLevelIdChangedHandler() {
32
+ if (this.selectedLevelId && this.elevateLevels) {
33
+ const currentLevel = this.elevateLevels.filter((item) => {
34
+ return item.id == this.selectedLevelId;
35
+ })[0];
36
+ this.currentLevel = Object.assign({}, currentLevel);
37
+ }
38
+ }
39
+ elevateLevelsDataChangeHandler(event) {
40
+ if (!event.detail) {
41
+ return;
42
+ }
43
+ if (event.detail.currentLevel) {
44
+ this.currentLevel = Object.assign({}, event.detail.currentLevel);
45
+ }
46
+ if (event.detail.elevateLevels) {
47
+ this.elevateLevels = [...event.detail.elevateLevels];
48
+ }
49
+ if (event.detail.clearError) {
50
+ this.errorMessage = null;
51
+ }
52
+ if (event.detail.errorMessage) {
53
+ if (event.detail.errorMessage['errorWhenLoadElevateLevels']) {
54
+ this.errorMessage = translate('loadElevateLevelErrorMessage', this.language);
55
+ }
56
+ }
57
+ }
58
+ onTCClick() {
59
+ window.postMessage({ type: 'termAndConditionClicked' }, window.location.href);
60
+ }
61
+ componentWillLoad() {
62
+ this.elevateLevelParamProxy = {
63
+ endpoint: this.endpoint, language: this.language, selectedLevelId: this.selectedLevelId,
64
+ showDefault: this.showDefault
65
+ };
66
+ }
67
+ render() {
68
+ return (h("div", { class: "ElevateLevelContent" },
69
+ h("elevate-levels-data", { scopeParams: this.elevateLevelParamProxy }),
70
+ h("div", { class: "LevelContent" },
71
+ this.elevateLevels ?
72
+ h("elevate-level-list", { language: this.language, selectedLevelId: this.selectedLevelId, levels: this.elevateLevels }) : translate('noLevelsSet', this.language),
73
+ this.currentLevel &&
74
+ h("elevate-level-presentation", { elevateLevel: this.currentLevel }),
75
+ h("div", { class: "tc", onClick: this.onTCClick },
76
+ translate('termsAndConditions', this.language),
77
+ ' ')),
78
+ this.errorMessage && h("div", null, this.errorMessage),
79
+ h("general-styling-wrapper", { clientStyling: this.clientStyling, clientStylingUrl: this.clientStylingUrl, targetTranslations: TRANSLATIONS, translationUrl: this.translationUrl })));
80
+ }
81
+ static get is() { return "bonus-elevate-levels"; }
82
+ static get encapsulation() { return "shadow"; }
83
+ static get originalStyleUrls() { return {
84
+ "$": ["bonus-elevate-levels.scss"]
85
+ }; }
86
+ static get styleUrls() { return {
87
+ "$": ["bonus-elevate-levels.css"]
88
+ }; }
89
+ static get properties() { return {
90
+ "clientStyling": {
91
+ "type": "string",
92
+ "mutable": false,
93
+ "complexType": {
94
+ "original": "string",
95
+ "resolved": "string",
96
+ "references": {}
97
+ },
98
+ "required": false,
99
+ "optional": false,
100
+ "docs": {
101
+ "tags": [],
102
+ "text": "Client custom styling via string"
103
+ },
104
+ "attribute": "client-styling",
105
+ "reflect": true,
106
+ "defaultValue": "''"
107
+ },
108
+ "clientStylingUrl": {
109
+ "type": "string",
110
+ "mutable": false,
111
+ "complexType": {
112
+ "original": "string",
113
+ "resolved": "string",
114
+ "references": {}
115
+ },
116
+ "required": false,
117
+ "optional": false,
118
+ "docs": {
119
+ "tags": [],
120
+ "text": "Client custom styling via url"
121
+ },
122
+ "attribute": "client-styling-url",
123
+ "reflect": true,
124
+ "defaultValue": "''"
125
+ },
126
+ "endpoint": {
127
+ "type": "string",
128
+ "mutable": false,
129
+ "complexType": {
130
+ "original": "string",
131
+ "resolved": "string",
132
+ "references": {}
133
+ },
134
+ "required": true,
135
+ "optional": false,
136
+ "docs": {
137
+ "tags": [],
138
+ "text": "Endpoint URL for the source of data"
139
+ },
140
+ "attribute": "endpoint",
141
+ "reflect": true
142
+ },
143
+ "language": {
144
+ "type": "string",
145
+ "mutable": false,
146
+ "complexType": {
147
+ "original": "string",
148
+ "resolved": "string",
149
+ "references": {}
150
+ },
151
+ "required": false,
152
+ "optional": false,
153
+ "docs": {
154
+ "tags": [],
155
+ "text": "Language of the widget"
156
+ },
157
+ "attribute": "language",
158
+ "reflect": true,
159
+ "defaultValue": "'en'"
160
+ },
161
+ "translationUrl": {
162
+ "type": "string",
163
+ "mutable": false,
164
+ "complexType": {
165
+ "original": "string",
166
+ "resolved": "string",
167
+ "references": {}
168
+ },
169
+ "required": false,
170
+ "optional": false,
171
+ "docs": {
172
+ "tags": [],
173
+ "text": "The translationUrl"
174
+ },
175
+ "attribute": "translation-url",
176
+ "reflect": true,
177
+ "defaultValue": "''"
178
+ },
179
+ "selectedLevelId": {
180
+ "type": "string",
181
+ "mutable": true,
182
+ "complexType": {
183
+ "original": "string",
184
+ "resolved": "string",
185
+ "references": {}
186
+ },
187
+ "required": false,
188
+ "optional": false,
189
+ "docs": {
190
+ "tags": [],
191
+ "text": "Level id to find the level info, then show in view"
192
+ },
193
+ "attribute": "selected-level-id",
194
+ "reflect": true
195
+ },
196
+ "showDefault": {
197
+ "type": "boolean",
198
+ "mutable": false,
199
+ "complexType": {
200
+ "original": "false",
201
+ "resolved": "boolean",
202
+ "references": {}
203
+ },
204
+ "required": false,
205
+ "optional": false,
206
+ "docs": {
207
+ "tags": [],
208
+ "text": "Selected the first level as default when selectedLevelId is not set\nDefault: false"
209
+ },
210
+ "attribute": "show-default",
211
+ "reflect": false
212
+ }
213
+ }; }
214
+ static get states() { return {
215
+ "elevateLevelParamProxy": {},
216
+ "elevateLevels": {},
217
+ "currentLevel": {},
218
+ "errorMessage": {}
219
+ }; }
220
+ static get watchers() { return [{
221
+ "propName": "selectedLevelId",
222
+ "methodName": "selectedLevelIdChangedHandler"
223
+ }, {
224
+ "propName": "elevateLevels",
225
+ "methodName": "selectedLevelIdChangedHandler"
226
+ }]; }
227
+ static get listeners() { return [{
228
+ "name": "selectedLevelChanged",
229
+ "method": "selectedLevelChangedHandler",
230
+ "target": undefined,
231
+ "capture": false,
232
+ "passive": false
233
+ }, {
234
+ "name": "elevateLevelsDataChange",
235
+ "method": "elevateLevelsDataChangeHandler",
236
+ "target": undefined,
237
+ "capture": true,
238
+ "passive": false
239
+ }]; }
240
+ }
@@ -0,0 +1,70 @@
1
+ elevate-level-list {
2
+ display: flex;
3
+ flex-direction: row;
4
+ }
5
+
6
+ .LevelItemsWrapper {
7
+ display: flex;
8
+ flex: 1;
9
+ margin-top: 10px;
10
+ min-height: 30px;
11
+ transition-property: all;
12
+ position: relative;
13
+ height: 138px;
14
+ overflow-x: hidden;
15
+ }
16
+
17
+ .Mobile.LevelItems {
18
+ overflow-x: hidden;
19
+ }
20
+
21
+ .LevelItems {
22
+ overflow-x: auto;
23
+ display: flex;
24
+ flex-direction: row;
25
+ gap: 10px;
26
+ left: 0;
27
+ position: absolute;
28
+ transition: left 0.5s ease-in-out;
29
+ }
30
+ .LevelItems .Item:hover, .LevelItems .Item.Active {
31
+ background-color: var(--emfe-w-color-gray-50, #f4f4f4);
32
+ box-shadow: 0px 4px 13px 0px rgba(0, 0, 0, 0.25);
33
+ }
34
+ .LevelItems .Item {
35
+ width: 86px;
36
+ height: 125px;
37
+ border-radius: 15px;
38
+ text-align: center;
39
+ display: flex;
40
+ flex-direction: column;
41
+ cursor: pointer;
42
+ }
43
+ .LevelItems .Item .LevelName {
44
+ font-size: 13px;
45
+ white-space: nowrap;
46
+ text-overflow: ellipsis;
47
+ overflow: hidden;
48
+ }
49
+ .LevelItems .Item .LevelPoints {
50
+ color: var(--emfe-w-color-gray-100, #767171);
51
+ font-size: 10px;
52
+ }
53
+ .LevelItems .Item .LevelImg {
54
+ width: 65px;
55
+ height: 68px;
56
+ margin: 11px auto;
57
+ }
58
+
59
+ .SliderButton {
60
+ display: flex;
61
+ width: 29px;
62
+ align-items: center;
63
+ cursor: pointer;
64
+ }
65
+ .SliderButton.Disabled svg {
66
+ stroke: var(--emfe-w-color-gray-50, #cbc5c5);
67
+ }
68
+ .SliderButton.Hidden {
69
+ display: none;
70
+ }
@@ -0,0 +1,223 @@
1
+ import { Component, Event, h, Host, Listen, Prop, State, Watch, Element } from '@stencil/core';
2
+ import { translate } from '../../utils/locale.utils';
3
+ import { isMobile, MOVE_TO } from "../../utils/utils";
4
+ export class ElevateLevelList {
5
+ constructor() {
6
+ this.isShowSliderButton = false;
7
+ this.offset = 0;
8
+ this.minOffset = 0;
9
+ this.isMobile = isMobile(window.navigator.userAgent);
10
+ }
11
+ onLevelClicked(elevateLevel) {
12
+ this.selectedLevelChanged.emit({ level: elevateLevel });
13
+ this.selectedLevelId = elevateLevel.id;
14
+ }
15
+ levelsChangedHandler() {
16
+ this.initOffsetOfLevelItems();
17
+ }
18
+ initOffsetOfLevelItems() {
19
+ if (!this.levels || this.levels.length == 0 || !this.selectedLevelId) {
20
+ return;
21
+ }
22
+ const currentLevelIndex = this.levels.findIndex((item) => {
23
+ return this.selectedLevelId == item.id;
24
+ });
25
+ this.onLevelClicked(this.levels[currentLevelIndex == -1 ? 0 : currentLevelIndex]);
26
+ //do not need change the slider offset when level items less than moveCountForOneTouch
27
+ if (this.levels.length <= this.moveCountForOneTouch) {
28
+ return;
29
+ }
30
+ //to avoid the slider do not move when currentLevelIndex = moveCountForOneTouch - 1
31
+ let newOffset = Math.floor((currentLevelIndex == -1 ? 1 : currentLevelIndex + 1) / this.moveCountForOneTouch)
32
+ * this.moveCountForOneTouch * this.childElementWidth * (-1);
33
+ this.offset = newOffset <= this.minOffset ? this.minOffset : (newOffset >= 0 ? 0 : newOffset);
34
+ }
35
+ onTouchStart(e) {
36
+ this.touchPosStart = { clientX: e.touches[0].clientX, clientY: e.touches[0].clientY };
37
+ }
38
+ onTouchMove(e) {
39
+ this.touchPosEnd = { clientX: e.touches[0].clientX, clientY: e.touches[0].clientY };
40
+ const diffX = this.touchPosEnd.clientX - this.touchPosStart.clientX;
41
+ const diffY = this.touchPosEnd.clientY - this.touchPosStart.clientY;
42
+ if (Math.abs(diffX) > Math.abs(diffY)) {
43
+ this.slideTo(diffX > 0 ? MOVE_TO.slideToRight : MOVE_TO.slideToLeft);
44
+ }
45
+ }
46
+ slideTo(direction) {
47
+ let newOffset = this.levelsElement.offsetLeft +
48
+ (this.childElementWidth) * this.moveCountForOneTouch * direction;
49
+ if (newOffset % this.childElementWidth != 0) {
50
+ const leftOfPreNode = (Math.floor(newOffset / this.childElementWidth)) * this.childElementWidth;
51
+ const leftOfNextNode = (Math.ceil(newOffset / this.childElementWidth)) * this.childElementWidth;
52
+ //touchmove to right, get left of pre-node; touchmove to left, get left of next-node
53
+ newOffset = direction == MOVE_TO.slideToRight ? leftOfPreNode : leftOfNextNode;
54
+ }
55
+ this.offset = newOffset < this.minOffset ? this.minOffset : (newOffset >= 0 ? 0 : newOffset);
56
+ }
57
+ initLevelSlider() {
58
+ var _a;
59
+ if (!((_a = this.levelsElement) === null || _a === void 0 ? void 0 : _a.firstElementChild)) {
60
+ console.log('Widget[elevate-level-list] DOM is not ready.');
61
+ return;
62
+ }
63
+ this.isShowSliderButton = !this.isMobile && (this.levelsElement.clientWidth > this.levelsElement.parentElement.clientWidth);
64
+ this.minOffset = this.levelsElement.parentElement.clientWidth - this.levelsElement.clientWidth;
65
+ this.childElementWidth = this.levelsElement.firstElementChild.clientWidth;
66
+ this.moveCountForOneTouch = Math.ceil(this.levelsElement.parentElement.clientWidth / this.childElementWidth) - 1;
67
+ const childElementCount = this.levelsElement.childElementCount;
68
+ this.childElementWidth += (this.levelsElement.clientWidth - this.childElementWidth * childElementCount) / (childElementCount - 1);
69
+ }
70
+ debounce(callback, delay) {
71
+ {
72
+ let timer;
73
+ return () => {
74
+ clearTimeout(timer);
75
+ timer = setTimeout(() => {
76
+ callback();
77
+ }, delay);
78
+ };
79
+ }
80
+ }
81
+ ;
82
+ handleResize() {
83
+ this.debounce(this.initLevelSlider.bind(this), 200)();
84
+ }
85
+ componentDidRender() {
86
+ this.host.componentOnReady().then(() => {
87
+ this.initLevelSlider();
88
+ });
89
+ }
90
+ render() {
91
+ return (h(Host, null, this.levels && [
92
+ h("div", { class: `SliderButton LeftButton ${this.offset == 0 ? 'Disabled' : ''} ${this.isShowSliderButton ? '' : 'Hidden'}`, onClick: () => this.slideTo(MOVE_TO.slideToRight) },
93
+ h("svg", { fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" },
94
+ h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M15 19l-7-7 7-7" }))),
95
+ h("div", { class: 'LevelItemsWrapper' },
96
+ h("div", { style: { 'left': `${this.offset}px` }, class: `LevelItems ${this.isMobile ? 'Mobile' : ''}`, id: 'levelItems', ref: (el) => { this.levelsElement = el; } }, this.levels.map((level, idx) => {
97
+ return (h("div", { class: `Item ${this.selectedLevelId == level.id ? 'Active' : ''}`, onClick: this.onLevelClicked.bind(this, level) },
98
+ h("img", { alt: `Presentation Icon for ${level.presentation.displayName}`, class: "LevelImg", src: level.presentation.asset }),
99
+ h("span", { class: "LevelName", title: level.presentation.displayName }, level.presentation.displayName),
100
+ h("span", { class: "LevelPoints" },
101
+ idx == 0 ? '' : '>',
102
+ level.firstEntryPoints,
103
+ ' ',
104
+ translate('points', this.language))));
105
+ }))),
106
+ h("div", { class: `SliderButton RightButton ${this.offset <= this.minOffset ? 'Disabled' : ''} ${this.isShowSliderButton ? '' : 'Hidden'}`, onClick: () => this.slideTo(MOVE_TO.slideToLeft) },
107
+ h("svg", { fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" },
108
+ h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M9 5l7 7-7 7" })))
109
+ ]));
110
+ }
111
+ static get is() { return "elevate-level-list"; }
112
+ static get originalStyleUrls() { return {
113
+ "$": ["elevate-level-list.scss"]
114
+ }; }
115
+ static get styleUrls() { return {
116
+ "$": ["elevate-level-list.css"]
117
+ }; }
118
+ static get properties() { return {
119
+ "levels": {
120
+ "type": "unknown",
121
+ "mutable": false,
122
+ "complexType": {
123
+ "original": "Array<ElevateLevel>",
124
+ "resolved": "ElevateLevel[]",
125
+ "references": {
126
+ "Array": {
127
+ "location": "global"
128
+ },
129
+ "ElevateLevel": {
130
+ "location": "import",
131
+ "path": "../../models/elevate-levels"
132
+ }
133
+ }
134
+ },
135
+ "required": false,
136
+ "optional": false,
137
+ "docs": {
138
+ "tags": [],
139
+ "text": "ElevateLevelList"
140
+ }
141
+ },
142
+ "language": {
143
+ "type": "string",
144
+ "mutable": false,
145
+ "complexType": {
146
+ "original": "string",
147
+ "resolved": "string",
148
+ "references": {}
149
+ },
150
+ "required": false,
151
+ "optional": false,
152
+ "docs": {
153
+ "tags": [],
154
+ "text": "The Language"
155
+ },
156
+ "attribute": "language",
157
+ "reflect": false
158
+ },
159
+ "selectedLevelId": {
160
+ "type": "string",
161
+ "mutable": true,
162
+ "complexType": {
163
+ "original": "string",
164
+ "resolved": "string",
165
+ "references": {}
166
+ },
167
+ "required": true,
168
+ "optional": false,
169
+ "docs": {
170
+ "tags": [],
171
+ "text": "ID of selected level"
172
+ },
173
+ "attribute": "selected-level-id",
174
+ "reflect": true
175
+ }
176
+ }; }
177
+ static get states() { return {
178
+ "isShowSliderButton": {},
179
+ "touchPosStart": {},
180
+ "touchPosEnd": {},
181
+ "offset": {}
182
+ }; }
183
+ static get events() { return [{
184
+ "method": "selectedLevelChanged",
185
+ "name": "selectedLevelChanged",
186
+ "bubbles": true,
187
+ "cancelable": true,
188
+ "composed": true,
189
+ "docs": {
190
+ "tags": [],
191
+ "text": ""
192
+ },
193
+ "complexType": {
194
+ "original": "any",
195
+ "resolved": "any",
196
+ "references": {}
197
+ }
198
+ }]; }
199
+ static get elementRef() { return "host"; }
200
+ static get watchers() { return [{
201
+ "propName": "selectedLevelId",
202
+ "methodName": "levelsChangedHandler"
203
+ }]; }
204
+ static get listeners() { return [{
205
+ "name": "touchstart",
206
+ "method": "onTouchStart",
207
+ "target": undefined,
208
+ "capture": false,
209
+ "passive": true
210
+ }, {
211
+ "name": "touchmove",
212
+ "method": "onTouchMove",
213
+ "target": undefined,
214
+ "capture": false,
215
+ "passive": true
216
+ }, {
217
+ "name": "resize",
218
+ "method": "handleResize",
219
+ "target": "window",
220
+ "capture": false,
221
+ "passive": true
222
+ }]; }
223
+ }
@@ -0,0 +1,21 @@
1
+ :host {
2
+ display: block;
3
+ }
4
+
5
+ .PriviliegeList {
6
+ padding-inline-start: 5px;
7
+ }
8
+ .PriviliegeList li {
9
+ display: flex;
10
+ }
11
+ .PriviliegeList li .Img {
12
+ width: 80px;
13
+ }
14
+ .PriviliegeList li .Img img {
15
+ width: 60px;
16
+ margin: 10px;
17
+ }
18
+ .PriviliegeList li .Content h4 {
19
+ text-transform: capitalize;
20
+ margin-block-start: 10px;
21
+ }
@@ -0,0 +1,39 @@
1
+ import { Component, h, Host, Prop } from '@stencil/core';
2
+ export class ElevateLevelPresentation {
3
+ render() {
4
+ return h(Host, null,
5
+ h("div", { class: "Row Desc" },
6
+ h("h3", null, this.elevateLevel.presentation.displayName),
7
+ h("p", null,
8
+ h("span", { class: "TxtDesc", innerHTML: this.elevateLevel.presentation.description }))));
9
+ }
10
+ static get is() { return "elevate-level-presentation"; }
11
+ static get originalStyleUrls() { return {
12
+ "$": ["elevate-level-presentation.scss"]
13
+ }; }
14
+ static get styleUrls() { return {
15
+ "$": ["elevate-level-presentation.css"]
16
+ }; }
17
+ static get properties() { return {
18
+ "elevateLevel": {
19
+ "type": "unknown",
20
+ "mutable": false,
21
+ "complexType": {
22
+ "original": "ElevateLevel",
23
+ "resolved": "ElevateLevel",
24
+ "references": {
25
+ "ElevateLevel": {
26
+ "location": "import",
27
+ "path": "../../models/elevate-levels"
28
+ }
29
+ }
30
+ },
31
+ "required": true,
32
+ "optional": false,
33
+ "docs": {
34
+ "tags": [],
35
+ "text": "Elevate level"
36
+ }
37
+ }
38
+ }; }
39
+ }
@@ -0,0 +1,3 @@
1
+ :host {
2
+ display: block;
3
+ }