@everymatrix/general-slider-navigation 1.0.69

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/cjs/app-globals-3a1e7e63.js +5 -0
  2. package/dist/cjs/carousel-component_2.cjs.entry.js +431 -0
  3. package/dist/cjs/general-slider-navigation.cjs.js +25 -0
  4. package/dist/cjs/index-88d9137e.js +1269 -0
  5. package/dist/cjs/index.cjs.js +2 -0
  6. package/dist/cjs/loader.cjs.js +15 -0
  7. package/dist/collection/collection-manifest.json +13 -0
  8. package/dist/collection/components/carousel-component/carousel-component.css +167 -0
  9. package/dist/collection/components/carousel-component/carousel-component.js +381 -0
  10. package/dist/collection/components/general-slider-navigation/general-slider-navigation.css +0 -0
  11. package/dist/collection/components/general-slider-navigation/general-slider-navigation.js +301 -0
  12. package/dist/collection/components/general-slider-navigation/index.js +1 -0
  13. package/dist/collection/index.js +1 -0
  14. package/dist/collection/utils/locale.utils.js +62 -0
  15. package/dist/collection/utils/utils.js +56 -0
  16. package/dist/esm/app-globals-0f993ce5.js +3 -0
  17. package/dist/esm/carousel-component_2.entry.js +426 -0
  18. package/dist/esm/general-slider-navigation.js +20 -0
  19. package/dist/esm/index-c749968b.js +1242 -0
  20. package/dist/esm/index.js +1 -0
  21. package/dist/esm/loader.js +11 -0
  22. package/dist/general-slider-navigation/general-slider-navigation.esm.js +1 -0
  23. package/dist/general-slider-navigation/index.esm.js +0 -0
  24. package/dist/general-slider-navigation/p-8c0cd4b3.js +2 -0
  25. package/dist/general-slider-navigation/p-a4458d8c.entry.js +1 -0
  26. package/dist/general-slider-navigation/p-e1255160.js +1 -0
  27. package/dist/index.cjs.js +1 -0
  28. package/dist/index.js +1 -0
  29. package/dist/stencil.config.dev.js +17 -0
  30. package/dist/stencil.config.js +17 -0
  31. package/dist/types/Users/raul.vasile/workspace/everymatrix/widgets-monorepo/packages/stencil/general-slider-navigation/.stencil/packages/stencil/general-slider-navigation/stencil.config.d.ts +2 -0
  32. package/dist/types/Users/raul.vasile/workspace/everymatrix/widgets-monorepo/packages/stencil/general-slider-navigation/.stencil/packages/stencil/general-slider-navigation/stencil.config.dev.d.ts +2 -0
  33. package/dist/types/components/carousel-component/carousel-component.d.ts +72 -0
  34. package/dist/types/components/general-slider-navigation/general-slider-navigation.d.ts +56 -0
  35. package/dist/types/components/general-slider-navigation/index.d.ts +1 -0
  36. package/dist/types/components.d.ts +194 -0
  37. package/dist/types/index.d.ts +1 -0
  38. package/dist/types/stencil-public-runtime.d.ts +1674 -0
  39. package/dist/types/utils/locale.utils.d.ts +2 -0
  40. package/dist/types/utils/utils.d.ts +10 -0
  41. package/loader/cdn.js +1 -0
  42. package/loader/index.cjs.js +1 -0
  43. package/loader/index.d.ts +24 -0
  44. package/loader/index.es2017.js +1 -0
  45. package/loader/index.js +2 -0
  46. package/loader/package.json +11 -0
  47. package/package.json +26 -0
@@ -0,0 +1,2 @@
1
+ 'use strict';
2
+
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-88d9137e.js');
6
+ const appGlobals = require('./app-globals-3a1e7e63.js');
7
+
8
+ const defineCustomElements = async (win, options) => {
9
+ if (typeof window === 'undefined') return undefined;
10
+ await appGlobals.globalScripts();
11
+ return index.bootstrapLazy([["carousel-component_2.cjs",[[1,"general-slider-navigation",{"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"cmsEndpoint":[513,"cms-endpoint"],"cmsEnv":[513,"cms-env"],"language":[513],"userRoles":[513,"user-roles"],"bulletNavigation":[516,"bullet-navigation"],"slideTimer":[514,"slide-timer"],"sliderMobileWidth":[514,"slider-mobile-width"],"sliderDesktopWidth":[514,"slider-desktop-width"],"translationUrl":[513,"translation-url"],"isLoading":[32],"hasErrors":[32],"device":[32]},null,{"translationUrl":["handleNewTranslations"],"cmsEndpoint":["watchEndpoint"],"language":["watchEndpoint"]}],[1,"carousel-component",{"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"sliderData":[16],"bulletNavigation":[516,"bullet-navigation"],"language":[513],"slideTimer":[514,"slide-timer"],"translationUrl":[513,"translation-url"],"currIndex":[32],"width":[32],"height":[32],"margin":[32],"sliderElement":[32],"totalWidth":[32],"device":[32],"stylingAppends":[32],"innerWidth":[32]},null,{"translationUrl":["handleNewTranslations"]}]]]], options);
12
+ };
13
+
14
+ exports.setNonce = index.setNonce;
15
+ exports.defineCustomElements = defineCustomElements;
@@ -0,0 +1,13 @@
1
+ {
2
+ "entries": [
3
+ "components/general-slider-navigation/general-slider-navigation.js",
4
+ "components/carousel-component/carousel-component.js"
5
+ ],
6
+ "compiler": {
7
+ "name": "@stencil/core",
8
+ "version": "4.20.0",
9
+ "typescriptVersion": "5.5.3"
10
+ },
11
+ "collections": [],
12
+ "bundles": []
13
+ }
@@ -0,0 +1,167 @@
1
+ :host {
2
+ display: block;
3
+ font-family: "Roboto", sans-serif;
4
+ }
5
+
6
+ html, body {
7
+ padding: 0;
8
+ margin: 0;
9
+ width: 100%;
10
+ height: 100%;
11
+ }
12
+
13
+ .Carousel {
14
+ position: relative;
15
+ display: block;
16
+ width: 100%;
17
+ }
18
+
19
+ .carousel__prev, .carousel__next {
20
+ position: absolute;
21
+ bottom: -15%;
22
+ transition: transform 0.25s ease;
23
+ }
24
+
25
+ .carousel__prev i, .carousel__next i {
26
+ font-size: var(--emw--font-size-x-large, 60px);
27
+ color: var(--emw-color-white, #FFFFFF);
28
+ cursor: pointer;
29
+ }
30
+
31
+ .carousel__prev:hover, .carousel__next:hover {
32
+ transform: scale(1.25);
33
+ }
34
+
35
+ .carousel__prev {
36
+ left: 40%;
37
+ }
38
+
39
+ .carousel__next {
40
+ right: 40%;
41
+ }
42
+
43
+ .CarouselBody {
44
+ width: 100%;
45
+ padding: 80px 0px;
46
+ overflow: hidden;
47
+ }
48
+
49
+ .CarouselSlider {
50
+ position: relative;
51
+ transition: transform 1s ease-in-out;
52
+ background: transparent;
53
+ display: flex;
54
+ align-items: center;
55
+ }
56
+
57
+ .CarouselSliderItem {
58
+ opacity: 0.7;
59
+ position: relative;
60
+ display: block;
61
+ float: left;
62
+ box-sizing: border-box;
63
+ }
64
+
65
+ .Item3dFrame {
66
+ position: relative;
67
+ width: 100%;
68
+ height: 100%;
69
+ transition: transform 1s ease-in-out, box-shadow 0.5s ease-in-out;
70
+ transform-style: preserve-3d;
71
+ display: flex;
72
+ flex-direction: column;
73
+ justify-content: flex-end;
74
+ border-radius: var(--emw--button-border-radius, 20px);
75
+ }
76
+
77
+ .CarouselSliderItemActive .Item3dFrame {
78
+ animation: glow 4s linear infinite;
79
+ }
80
+
81
+ @keyframes glow {
82
+ 0% {
83
+ box-shadow: 0 0 50px 5px var(--emw--color-primary, #22B04E);
84
+ }
85
+ 50% {
86
+ box-shadow: 0 0 50px 5px var(--emfe-w-color-secondary, #F2711C);
87
+ }
88
+ 100% {
89
+ box-shadow: 0 0 50px 5px var(--emw--color-primary, #22B04E);
90
+ }
91
+ }
92
+ .TopSection {
93
+ display: flex;
94
+ justify-content: flex-start;
95
+ align-items: center;
96
+ }
97
+
98
+ .JoinButton {
99
+ background-image: linear-gradient(to bottom, color-mix(in srgb, var(--emw--color-primary, #22B04E) 80%, black 20%), var(--emw--color-primary, #22B04E), color-mix(in srgb, var(--emw--color-primary, #22B04E) 80%, var(--emw-color-white, #FFFFFF) 30%));
100
+ color: var(--emw--color-typography, #FFFFFF);
101
+ height: 42px;
102
+ width: 110px;
103
+ border-radius: var(--emw--button-border-radius, 20px);
104
+ cursor: pointer;
105
+ font-size: var(--emw--size-small, 14px);
106
+ border: 2px solid var(--emw--button-border-color, #0E5924);
107
+ display: flex;
108
+ align-items: center;
109
+ justify-content: center;
110
+ gap: 2px;
111
+ }
112
+
113
+ .ItemSection {
114
+ padding: 12px 20px;
115
+ display: flex;
116
+ flex-direction: column;
117
+ gap: 2px;
118
+ }
119
+
120
+ .Divider {
121
+ border: none;
122
+ border-top: 2px solid var(--emw-color-white, #FFFFFF);
123
+ width: 100%;
124
+ opacity: 0.3;
125
+ }
126
+
127
+ .BottomSection {
128
+ display: flex;
129
+ justify-content: flex-start;
130
+ align-items: flex-start;
131
+ width: 50%;
132
+ height: 60px;
133
+ }
134
+
135
+ .BottomSection h3 {
136
+ font-size: var(--emw--size-large, 24px);
137
+ margin: 0;
138
+ color: var(--emw--color-typography, #FFFFFF);
139
+ }
140
+
141
+ .CarouselNavigation {
142
+ display: flex;
143
+ justify-content: center;
144
+ align-items: center;
145
+ position: absolute;
146
+ bottom: 20px;
147
+ left: 50%;
148
+ transform: translateX(-50%);
149
+ }
150
+
151
+ .CarouselNavigationBullet {
152
+ width: 12px;
153
+ height: 12px;
154
+ background-color: var(--emw-color-grey-100, rgba(255, 255, 255, 0.5));
155
+ border-radius: 50%;
156
+ margin: 0 5px;
157
+ cursor: pointer;
158
+ transition: background-color 0.3s;
159
+ }
160
+
161
+ .CarouselNavigationBulletActive {
162
+ background-color: var(--emw--color-primary, #22B04E);
163
+ }
164
+
165
+ .CarouselSliderItemActive {
166
+ opacity: 1;
167
+ }
@@ -0,0 +1,381 @@
1
+ import { h } from "@stencil/core";
2
+ import { checkDeviceType, isMobile } from "../../utils/utils";
3
+ import { getTranslations, translate } from "../../utils/locale.utils";
4
+ export class CarouselComponent {
5
+ constructor() {
6
+ this.userAgent = window.navigator.userAgent;
7
+ this.isMobile = isMobile(this.userAgent);
8
+ this.touchStartX = 0;
9
+ this.touchEndX = 0;
10
+ this.setClientStylingURL = () => {
11
+ let url = new URL(this.clientStylingUrl);
12
+ let cssFile = document.createElement('style');
13
+ fetch(url.href)
14
+ .then((res) => res.text())
15
+ .then((data) => {
16
+ cssFile.innerHTML = data;
17
+ setTimeout(() => { this.stylingContainer.prepend(cssFile); }, 1);
18
+ })
19
+ .catch((err) => {
20
+ console.log('error ', err);
21
+ });
22
+ };
23
+ this.setClientStyling = () => {
24
+ let sheet = document.createElement('style');
25
+ sheet.innerHTML = this.clientStyling;
26
+ this.stylingContainer.prepend(sheet);
27
+ };
28
+ this.moveSliderIndex = (index) => {
29
+ if (index < 1)
30
+ index = this.sliderData.length;
31
+ if (index > this.sliderData.length)
32
+ index = 1;
33
+ this.currIndex = index;
34
+ if (this.sliderElement) {
35
+ this.sliderElement.style.transform = this.getSliderTransformStyle();
36
+ }
37
+ };
38
+ this.handleTouchStart = (event) => {
39
+ this.touchStartX = event.changedTouches[0].screenX;
40
+ };
41
+ this.handleTouchEnd = (event) => {
42
+ this.touchEndX = event.changedTouches[0].screenX;
43
+ this.handleSwipe();
44
+ };
45
+ this.navigationTo = (url, target, isExternal) => {
46
+ window.postMessage({ type: 'NavigateTo', path: url, target: target || null, externalLink: isExternal || false }, window.location.href);
47
+ };
48
+ this.changeSlider = (index) => {
49
+ if (index > this.currIndex - 1) {
50
+ this.next();
51
+ }
52
+ else if (index < this.currIndex - 1) {
53
+ this.prev();
54
+ }
55
+ };
56
+ this.setImage = (image) => {
57
+ let source = '';
58
+ this.device = checkDeviceType();
59
+ switch (this.device) {
60
+ case 'mobile':
61
+ source = image.srcMobile;
62
+ break;
63
+ case 'tablet':
64
+ source = image.srcTablet;
65
+ break;
66
+ case 'desktop':
67
+ source = image.srcDesktop;
68
+ break;
69
+ }
70
+ return source;
71
+ };
72
+ this.clientStyling = '';
73
+ this.clientStylingUrl = '';
74
+ this.sliderData = undefined;
75
+ this.bulletNavigation = true;
76
+ this.language = 'en';
77
+ this.slideTimer = undefined;
78
+ this.translationUrl = '';
79
+ this.currIndex = 0;
80
+ this.width = undefined;
81
+ this.height = undefined;
82
+ this.margin = undefined;
83
+ this.sliderElement = undefined;
84
+ this.totalWidth = undefined;
85
+ this.device = '';
86
+ this.stylingAppends = false;
87
+ this.innerWidth = undefined;
88
+ }
89
+ handleNewTranslations() {
90
+ getTranslations(this.translationUrl);
91
+ }
92
+ async componentWillLoad() {
93
+ if (this.translationUrl.length > 2) {
94
+ await getTranslations(this.translationUrl);
95
+ }
96
+ }
97
+ componentDidLoad() {
98
+ this.init();
99
+ this.calcInnerWidth();
100
+ }
101
+ componentDidRender() {
102
+ if (!this.stylingAppends && this.stylingContainer) {
103
+ if (this.clientStyling)
104
+ this.setClientStyling();
105
+ if (this.clientStylingUrl)
106
+ this.setClientStylingURL();
107
+ this.stylingAppends = true;
108
+ }
109
+ }
110
+ init() {
111
+ this.moveSliderIndex(Math.floor(this.sliderData.length / 2));
112
+ this.bindEvents();
113
+ if (this.slideTimer > 0) {
114
+ this.timer();
115
+ }
116
+ }
117
+ calcInnerWidth() {
118
+ const parent = this.el.parentElement;
119
+ // Check if the parent element exists and then get its width
120
+ if (parent) {
121
+ this.innerWidth = parent.offsetWidth;
122
+ }
123
+ else {
124
+ this.innerWidth = window.innerWidth;
125
+ }
126
+ this.resize();
127
+ }
128
+ resize() {
129
+ if (this.isMobile) {
130
+ this.width = Math.max(innerWidth * 0.3, 200);
131
+ this.height = window.innerHeight * 0.40;
132
+ }
133
+ else {
134
+ this.width = this.innerWidth > 1200 ? Math.max(this.innerWidth * 0.1, 300) : Math.max(this.innerWidth * 0.2, 200);
135
+ this.height = window.innerHeight * 0.55;
136
+ }
137
+ this.totalWidth = this.width * this.sliderData.length;
138
+ //this is where the margin gap between slides is calculated with the animation
139
+ this.margin = -5;
140
+ const children = this.sliderElement.children;
141
+ for (let i = 0; i < children.length; i++) {
142
+ const item = children[i];
143
+ item.style.margin = `0 ${this.margin}px`;
144
+ item.style.width = `${this.width - (this.margin * 2)}px`;
145
+ }
146
+ if (this.sliderElement) {
147
+ this.sliderElement.style.transform = this.getSliderTransformStyle();
148
+ }
149
+ }
150
+ timer() {
151
+ this.clearTimer();
152
+ this.interval = setInterval(() => {
153
+ this.moveSliderIndex(++this.currIndex);
154
+ }, this.slideTimer * 1000);
155
+ }
156
+ disconnectedCallback() {
157
+ this.clearTimer();
158
+ }
159
+ clearTimer() {
160
+ if (this.interval) {
161
+ clearInterval(this.interval);
162
+ }
163
+ }
164
+ prev() {
165
+ this.moveSliderIndex(--this.currIndex);
166
+ if (this.slideTimer > 0) {
167
+ this.timer();
168
+ }
169
+ }
170
+ next() {
171
+ this.moveSliderIndex(++this.currIndex);
172
+ if (this.slideTimer > 0) {
173
+ this.timer();
174
+ }
175
+ }
176
+ bindEvents() {
177
+ window.onresize = () => this.resize();
178
+ this.el.addEventListener('touchstart', this.handleTouchStart, false);
179
+ this.el.addEventListener('touchend', this.handleTouchEnd, false);
180
+ }
181
+ handleSwipe() {
182
+ if (this.touchEndX < this.touchStartX) {
183
+ this.next();
184
+ }
185
+ if (this.touchEndX > this.touchStartX) {
186
+ this.prev();
187
+ }
188
+ }
189
+ getTransformStyle(index) {
190
+ const perspective = index === this.currIndex - 1 ? '1200px' : '900px';
191
+ const rotateY = index < this.currIndex - 1 ? '20deg' : '-20deg';
192
+ return index === this.currIndex - 1 ? `perspective(${perspective})` : `perspective(${perspective}) rotateY(${rotateY})`;
193
+ }
194
+ getSliderTransformStyle() {
195
+ return `translate3d(${((this.currIndex * -this.width) + (this.width / 2) + this.innerWidth / 2)}px, 0, 0)`;
196
+ }
197
+ renderNavigation() {
198
+ return (h("div", { class: "CarouselNavigation" }, this.sliderData.map((_item, index) => (h("div", { class: {
199
+ 'CarouselNavigationBullet': true,
200
+ 'CarouselNavigationBulletActive': index === this.currIndex - 1,
201
+ }, onClick: this.moveSliderIndex.bind(this, index + 1) })))));
202
+ }
203
+ render() {
204
+ return (h("div", { key: '09a6305f1745c24ac709c50cdb18218c5dd616d1', ref: el => this.stylingContainer = el }, h("div", { key: '1b61677ab956428b710c16b7bf71d5919e9aadf5', class: "Carousel" }, h("div", { key: '8f0c4f36f45695ee7c15c2435a39ded15abd39bf', class: "CarouselBody" }, h("div", { key: '341403c4164c1c24f39f050f37cc42b1cefee512', class: "CarouselSlider", ref: el => this.sliderElement = el, style: { width: `${this.totalWidth}px`, transform: this.getSliderTransformStyle() } }, this.sliderData.map((item, index) => {
205
+ const isActive = index === this.currIndex - 1;
206
+ const buttonStyle = !isActive ? { cursor: 'unset' } : {};
207
+ const activeItemHeight = !isActive ? { height: `${this.height - 70}px` } : { height: `${this.height}px` };
208
+ return (h("div", { class: {
209
+ 'CarouselSliderItem': true,
210
+ 'CarouselSliderItemActive': isActive,
211
+ }, onClick: this.changeSlider.bind(this, index), style: activeItemHeight }, h("div", { class: "Item3dFrame", style: { backgroundSize: 'cover', backgroundPosition: 'center', backgroundImage: `url(${this.setImage(item.image)})`, transform: this.getTransformStyle(index) } }, h("div", { class: "ItemSection" }, h("div", { class: "TopSection" }, h("button", { onClick: () => {
212
+ if (isActive) {
213
+ this.navigationTo(item.url, item.targetType, item.externalLink);
214
+ }
215
+ }, style: buttonStyle, class: "JoinButton" }, h("span", null, translate('joinNow', this.language)), h("svg", { width: "12", height: "12", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M5 3L10 8L5 13", stroke: "white", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h("hr", { class: "Divider" }), h("div", { class: "BottomSection" }, h("h3", null, item.title.toUpperCase()))))));
216
+ }))), this.bulletNavigation ? this.renderNavigation() : null)));
217
+ }
218
+ static get is() { return "carousel-component"; }
219
+ static get encapsulation() { return "shadow"; }
220
+ static get originalStyleUrls() {
221
+ return {
222
+ "$": ["carousel-component.scss"]
223
+ };
224
+ }
225
+ static get styleUrls() {
226
+ return {
227
+ "$": ["carousel-component.css"]
228
+ };
229
+ }
230
+ static get properties() {
231
+ return {
232
+ "clientStyling": {
233
+ "type": "string",
234
+ "mutable": false,
235
+ "complexType": {
236
+ "original": "string",
237
+ "resolved": "string",
238
+ "references": {}
239
+ },
240
+ "required": false,
241
+ "optional": false,
242
+ "docs": {
243
+ "tags": [],
244
+ "text": "Client custom styling via inline style"
245
+ },
246
+ "attribute": "client-styling",
247
+ "reflect": true,
248
+ "defaultValue": "''"
249
+ },
250
+ "clientStylingUrl": {
251
+ "type": "string",
252
+ "mutable": false,
253
+ "complexType": {
254
+ "original": "string",
255
+ "resolved": "string",
256
+ "references": {}
257
+ },
258
+ "required": false,
259
+ "optional": false,
260
+ "docs": {
261
+ "tags": [],
262
+ "text": "Client custom styling via url"
263
+ },
264
+ "attribute": "client-styling-url",
265
+ "reflect": true,
266
+ "defaultValue": "''"
267
+ },
268
+ "sliderData": {
269
+ "type": "unknown",
270
+ "mutable": false,
271
+ "complexType": {
272
+ "original": "Array<any>",
273
+ "resolved": "any[]",
274
+ "references": {
275
+ "Array": {
276
+ "location": "global",
277
+ "id": "global::Array"
278
+ }
279
+ }
280
+ },
281
+ "required": false,
282
+ "optional": false,
283
+ "docs": {
284
+ "tags": [],
285
+ "text": "Endpoint URL for the source of data"
286
+ }
287
+ },
288
+ "bulletNavigation": {
289
+ "type": "boolean",
290
+ "mutable": false,
291
+ "complexType": {
292
+ "original": "boolean",
293
+ "resolved": "boolean",
294
+ "references": {}
295
+ },
296
+ "required": false,
297
+ "optional": false,
298
+ "docs": {
299
+ "tags": [],
300
+ "text": "Show bullet navigation under slides"
301
+ },
302
+ "attribute": "bullet-navigation",
303
+ "reflect": true,
304
+ "defaultValue": "true"
305
+ },
306
+ "language": {
307
+ "type": "string",
308
+ "mutable": false,
309
+ "complexType": {
310
+ "original": "string",
311
+ "resolved": "string",
312
+ "references": {}
313
+ },
314
+ "required": false,
315
+ "optional": false,
316
+ "docs": {
317
+ "tags": [],
318
+ "text": "Language of the widget"
319
+ },
320
+ "attribute": "language",
321
+ "reflect": true,
322
+ "defaultValue": "'en'"
323
+ },
324
+ "slideTimer": {
325
+ "type": "number",
326
+ "mutable": false,
327
+ "complexType": {
328
+ "original": "number",
329
+ "resolved": "number",
330
+ "references": {}
331
+ },
332
+ "required": false,
333
+ "optional": false,
334
+ "docs": {
335
+ "tags": [],
336
+ "text": "Timer for auto sliding"
337
+ },
338
+ "attribute": "slide-timer",
339
+ "reflect": true
340
+ },
341
+ "translationUrl": {
342
+ "type": "string",
343
+ "mutable": false,
344
+ "complexType": {
345
+ "original": "string",
346
+ "resolved": "string",
347
+ "references": {}
348
+ },
349
+ "required": false,
350
+ "optional": false,
351
+ "docs": {
352
+ "tags": [],
353
+ "text": "Translation via url"
354
+ },
355
+ "attribute": "translation-url",
356
+ "reflect": true,
357
+ "defaultValue": "''"
358
+ }
359
+ };
360
+ }
361
+ static get states() {
362
+ return {
363
+ "currIndex": {},
364
+ "width": {},
365
+ "height": {},
366
+ "margin": {},
367
+ "sliderElement": {},
368
+ "totalWidth": {},
369
+ "device": {},
370
+ "stylingAppends": {},
371
+ "innerWidth": {}
372
+ };
373
+ }
374
+ static get elementRef() { return "el"; }
375
+ static get watchers() {
376
+ return [{
377
+ "propName": "translationUrl",
378
+ "methodName": "handleNewTranslations"
379
+ }];
380
+ }
381
+ }