@everymatrix/general-tutorial-slider 1.32.4 → 1.33.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 (48) hide show
  1. package/dist/cjs/general-tutorial-slider.cjs.entry.js +344 -0
  2. package/dist/cjs/general-tutorial-slider.cjs.js +19 -0
  3. package/dist/cjs/index-18ec3908.js +1282 -0
  4. package/dist/cjs/index.cjs.js +2 -0
  5. package/dist/cjs/loader.cjs.js +21 -0
  6. package/dist/collection/collection-manifest.json +12 -0
  7. package/dist/collection/components/general-tutorial-slider/general-tutorial-slider.css +168 -0
  8. package/dist/collection/components/general-tutorial-slider/general-tutorial-slider.js +526 -0
  9. package/dist/collection/index.js +1 -0
  10. package/dist/collection/utils/locale.utils.js +40 -0
  11. package/dist/collection/utils/utils.js +39 -0
  12. package/dist/components/general-tutorial-slider.d.ts +11 -0
  13. package/dist/components/general-tutorial-slider.js +377 -0
  14. package/dist/components/index.d.ts +26 -0
  15. package/dist/components/index.js +1 -0
  16. package/dist/esm/general-tutorial-slider.entry.js +340 -0
  17. package/dist/esm/general-tutorial-slider.js +17 -0
  18. package/dist/esm/index-a2165162.js +1256 -0
  19. package/dist/esm/index.js +1 -0
  20. package/dist/esm/loader.js +17 -0
  21. package/dist/esm/polyfills/core-js.js +11 -0
  22. package/dist/esm/polyfills/css-shim.js +1 -0
  23. package/dist/esm/polyfills/dom.js +79 -0
  24. package/dist/esm/polyfills/es5-html-element.js +1 -0
  25. package/dist/esm/polyfills/index.js +34 -0
  26. package/dist/esm/polyfills/system.js +6 -0
  27. package/dist/general-tutorial-slider/general-tutorial-slider.esm.js +1 -0
  28. package/dist/general-tutorial-slider/index.esm.js +0 -0
  29. package/dist/general-tutorial-slider/p-a5ce3c59.entry.js +1 -0
  30. package/dist/general-tutorial-slider/p-a878ee14.js +1 -0
  31. package/dist/index.cjs.js +1 -0
  32. package/dist/index.js +1 -0
  33. package/dist/stencil.config.js +22 -0
  34. package/dist/types/Users/adrian.pripon/Documents/Work/widgets-stencil/packages/general-tutorial-slider/.stencil/packages/general-tutorial-slider/stencil.config.d.ts +2 -0
  35. package/dist/types/components/general-tutorial-slider/general-tutorial-slider.d.ts +90 -0
  36. package/dist/types/components.d.ts +141 -0
  37. package/dist/types/index.d.ts +1 -0
  38. package/dist/types/stencil-public-runtime.d.ts +1565 -0
  39. package/dist/types/utils/locale.utils.d.ts +1 -0
  40. package/dist/types/utils/utils.d.ts +9 -0
  41. package/loader/cdn.js +3 -0
  42. package/loader/index.cjs.js +3 -0
  43. package/loader/index.d.ts +12 -0
  44. package/loader/index.es2017.js +3 -0
  45. package/loader/index.js +4 -0
  46. package/loader/package.json +10 -0
  47. package/package.json +2 -3
  48. package/LICENSE +0 -21
@@ -0,0 +1,340 @@
1
+ import { r as registerInstance, h, g as getElement } from './index-a2165162.js';
2
+
3
+ const DEFAULT_LANGUAGE = 'en';
4
+ const SUPPORTED_LANGUAGES = ['ro', 'en', 'fr', 'ar', 'hu', 'hr'];
5
+ const TRANSLATIONS = {
6
+ en: {
7
+ error: 'Error',
8
+ noResults: 'Loading, please wait ...',
9
+ },
10
+ hu: {
11
+ error: 'Error',
12
+ noResults: 'Loading, please wait ...',
13
+ },
14
+ ro: {
15
+ error: 'Eroare',
16
+ noResults: 'Loading, please wait ...',
17
+ },
18
+ fr: {
19
+ error: 'Error',
20
+ noResults: 'Loading, please wait ...',
21
+ },
22
+ ar: {
23
+ error: 'خطأ',
24
+ noResults: 'Loading, please wait ...',
25
+ },
26
+ hr: {
27
+ error: 'Greška',
28
+ noResults: 'Učitavanje, molimo pričekajte ...',
29
+ },
30
+ 'es-mx': {
31
+ 'error': 'Error',
32
+ 'noResults': 'Cargando, espere por favor…'
33
+ },
34
+ 'pt-br': {
35
+ 'error': 'Erro',
36
+ 'noResults': 'Carregando, espere por favor…'
37
+ }
38
+ };
39
+ const translate = (key, customLang) => {
40
+ const lang = customLang;
41
+ return TRANSLATIONS[lang !== undefined && SUPPORTED_LANGUAGES.includes(lang) ? lang : DEFAULT_LANGUAGE][key];
42
+ };
43
+
44
+ /**
45
+ * @name isMobile
46
+ * @description A method that returns if the browser used to access the app is from a mobile device or not
47
+ * @param {String} userAgent window.navigator.userAgent
48
+ * @returns {Boolean} true or false
49
+ */
50
+ const isMobile = (userAgent) => {
51
+ return !!(userAgent.toLowerCase().match(/android/i) ||
52
+ userAgent.toLowerCase().match(/blackberry|bb/i) ||
53
+ userAgent.toLowerCase().match(/iphone|ipad|ipod/i) ||
54
+ userAgent.toLowerCase().match(/windows phone|windows mobile|iemobile|wpdesktop/i));
55
+ };
56
+ const getDevice = () => {
57
+ let userAgent = window.navigator.userAgent;
58
+ if (userAgent.toLowerCase().match(/android/i)) {
59
+ return 'Android';
60
+ }
61
+ if (userAgent.toLowerCase().match(/iphone/i)) {
62
+ return 'iPhone';
63
+ }
64
+ if (userAgent.toLowerCase().match(/ipad|ipod/i)) {
65
+ return 'iPad';
66
+ }
67
+ return 'PC';
68
+ };
69
+ const getDevicePlatform = () => {
70
+ const device = getDevice();
71
+ if (device) {
72
+ if (device === 'PC') {
73
+ return 'dk';
74
+ }
75
+ else if (device === 'iPad' || device === 'iPhone') {
76
+ return 'ios';
77
+ }
78
+ else {
79
+ return 'mtWeb';
80
+ }
81
+ }
82
+ };
83
+
84
+ const generalTutorialSliderCss = ":host {\n display: block;\n}\n\n.GeneralTutorialSliderError {\n display: flex;\n justify-content: center;\n flex-direction: column;\n}\n.GeneralTutorialSliderError.TitleError {\n color: red;\n}\n\nmain {\n width: 100%;\n overflow: hidden;\n}\n\n.TutorialWrapper {\n width: 100%;\n display: flex;\n flex: 0 0 auto;\n justify-content: center;\n flex-direction: column;\n overflow: auto;\n}\n\n.TutorialContent {\n display: flex;\n justify-content: center;\n flex-direction: row;\n}\n\n.TutorialItems {\n display: flex;\n transition: transform 0.4s ease-in-out;\n transform: translateX(0px);\n}\n\n.TutorialItem {\n flex: 0 0 auto;\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n align-items: center;\n color: #000;\n background-color: #f5f5f5;\n border-radius: 5px;\n user-select: none;\n}\n.TutorialItem .ItemTitle {\n padding: 25px 15px;\n font-size: 18px;\n font-weight: 600;\n color: var(--emfe-w-color-secondary, #FD2839);\n}\n.TutorialItem .ItemImage {\n overflow: hidden;\n}\n.TutorialItem .ItemImage img, .TutorialItem .ItemImage video {\n height: auto;\n width: 450px;\n}\n.TutorialItem .ItemDescription {\n font-size: 14px;\n padding: 25px 15px;\n font-weight: 400;\n color: #000;\n}\n\n.SliderNavButton {\n border: 0px;\n width: 25px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.SliderNavButton svg {\n width: 20px;\n stroke: var(--emfe-w-color-secondary, #FD2839);\n}\n\n.DisabledArrow svg {\n opacity: 0.2;\n stroke: var(--emfe-w-color-secondary, #FD2839);\n pointer-events: none;\n}\n\n.DotsWrapper {\n width: 100%;\n margin: 0 auto;\n margin-top: 20px;\n height: 30px;\n}\n.DotsWrapper ul.Dots {\n display: flex;\n justify-content: center;\n padding: 0;\n}\n.DotsWrapper ul.Dots li {\n height: 10px;\n width: 10px;\n background: #ccc;\n border-radius: 50%;\n margin-left: 3px;\n margin-right: 3px;\n list-style: none;\n cursor: pointer;\n}\n.DotsWrapper ul.Dots li:hover {\n background: #bbb;\n}\n.DotsWrapper ul.Dots li.active {\n border: solid 1px var(--emfe-w-color-secondary, #FD2839);\n background: var(--emfe-w-color-secondary, #FD2839);\n}\n.DotsWrapper ul.Dots li.default {\n border: solid 1px var(--emfe-w-color-secondary, #FD2839);\n background-color: #FFF;\n}\n\n@container (max-width: 475px) {\n @media screen and (orientation: landscape) {\n .TutorialItem {\n width: 100%;\n }\n }\n main {\n height: 90cqh;\n }\n\n .TutorialItems {\n height: inherit;\n }\n\n .TutorialItem {\n min-width: 100%;\n max-height: 800px;\n overflow: auto;\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n align-items: center;\n color: #000;\n background-color: #f5f5f5;\n border-radius: 5px;\n user-select: none;\n }\n .TutorialItem .ItemTitle {\n padding: 25px 15px;\n font-size: 18px;\n font-weight: 600;\n color: var(--emfe-w-color-secondary, #FD2839);\n }\n .TutorialItem .ItemImage {\n min-height: 200px;\n }\n .TutorialItem .ItemImage img, .TutorialItem .ItemImage video {\n height: auto;\n width: 100%;\n }\n .TutorialItem .ItemDescription {\n font-size: 14px;\n padding: 25px 15px;\n font-weight: 400;\n color: #000;\n }\n}";
85
+
86
+ const GeneralTutorialSlider = class {
87
+ constructor(hostRef) {
88
+ registerInstance(this, hostRef);
89
+ /**
90
+ * Client custom styling via inline style
91
+ */
92
+ this.clientStyling = '';
93
+ /**
94
+ * Client custom styling via url
95
+ */
96
+ this.clientStylingUrl = '';
97
+ /**
98
+ * Language of the widget
99
+ */
100
+ this.language = 'en';
101
+ /**
102
+ * User roles
103
+ */
104
+ this.userRoles = 'everyone';
105
+ /**
106
+ * CMS Endpoint stage
107
+ */
108
+ this.cmsEnv = 'stage';
109
+ /**
110
+ * Show slider dots
111
+ */
112
+ this.showSliderDots = true;
113
+ /**
114
+ * Show slider navigate arrows
115
+ */
116
+ this.showSliderArrows = true;
117
+ /**
118
+ * Show slider navigate arrows on mobile
119
+ */
120
+ this.showSliderArrowsMobile = false;
121
+ /**
122
+ * Auto-scroll will only function if it is set to true, and otherwise it will be ignored.
123
+ */
124
+ this.enableAutoScroll = false;
125
+ /**
126
+ * Set interval period for slider
127
+ */
128
+ this.intervalPeriod = 5000;
129
+ /**
130
+ * Set the number of slides you wish to display.
131
+ */
132
+ this.scrollItems = 1;
133
+ /**
134
+ * Set the number of slides you wish to display.
135
+ */
136
+ this.itemsPerPage = 1;
137
+ this.hasErrors = false;
138
+ this.limitStylingAppends = false;
139
+ this.isLoading = true;
140
+ this.activeIndex = 0;
141
+ this.tutorialElementWidth = 0;
142
+ this.userAgent = window.navigator.userAgent;
143
+ this.isMobile = isMobile(this.userAgent);
144
+ this.allElementsWidth = 0;
145
+ this.xDown = null;
146
+ this.yDown = null;
147
+ this.resizeHandler = () => {
148
+ this.recalculateItemsPerPage();
149
+ };
150
+ this.orientationChangeHandler = () => {
151
+ setTimeout(() => {
152
+ this.recalculateItemsPerPage();
153
+ }, 10);
154
+ };
155
+ this.setClientStyling = () => {
156
+ let sheet = document.createElement('style');
157
+ sheet.innerHTML = this.clientStyling;
158
+ this.stylingContainer.prepend(sheet);
159
+ };
160
+ this.setClientStylingURL = () => {
161
+ let url = new URL(this.clientStylingUrl);
162
+ let cssFile = document.createElement('style');
163
+ fetch(url.href)
164
+ .then((res) => res.text())
165
+ .then((data) => {
166
+ cssFile.innerHTML = data;
167
+ setTimeout(() => { this.stylingContainer.prepend(cssFile); }, 1);
168
+ })
169
+ .catch((err) => {
170
+ console.log('error ', err);
171
+ });
172
+ };
173
+ }
174
+ watchEndpoint(newValue, oldValue) {
175
+ if (newValue && newValue != oldValue && this.cmsEndpoint) {
176
+ this.getGeneralTutorialSlider().then((tutorialContent) => {
177
+ this.tutorialData = tutorialContent;
178
+ });
179
+ }
180
+ }
181
+ connectedCallback() {
182
+ window.screen.orientation.addEventListener('change', this.orientationChangeHandler);
183
+ }
184
+ componentWillLoad() {
185
+ if (this.cmsEndpoint && this.language) {
186
+ return this.getGeneralTutorialSlider().then((tutorialContent) => {
187
+ this.tutorialData = tutorialContent;
188
+ });
189
+ }
190
+ }
191
+ componentDidLoad() {
192
+ window.addEventListener('resize', this.resizeHandler);
193
+ }
194
+ componentDidRender() {
195
+ this.el.addEventListener('touchstart', this.handleTouchStart.bind(this), { passive: true });
196
+ this.el.addEventListener('touchmove', this.handleTouchMove.bind(this), { passive: true });
197
+ this.recalculateItemsPerPage();
198
+ // start custom styling area
199
+ if (!this.limitStylingAppends && this.stylingContainer) {
200
+ if (this.clientStyling)
201
+ this.setClientStyling();
202
+ if (this.clientStylingUrl)
203
+ this.setClientStylingURL();
204
+ this.limitStylingAppends = true;
205
+ }
206
+ // end custom styling area
207
+ }
208
+ componentDidUpdate() {
209
+ this.recalculateItemsPerPage();
210
+ }
211
+ disconnectedCallback() {
212
+ this.el.removeEventListener('touchstart', this.handleTouchStart);
213
+ this.el.removeEventListener('touchmove', this.handleTouchMove);
214
+ window.screen.orientation.removeEventListener('change', this.orientationChangeHandler);
215
+ window.removeEventListener('resize', this.resizeHandler);
216
+ }
217
+ getGeneralTutorialSlider() {
218
+ let url = new URL(`${this.cmsEndpoint}/${this.language}/slider-onboarding`);
219
+ url.searchParams.append('env', this.cmsEnv);
220
+ url.searchParams.append('userRoles', this.userRoles);
221
+ url.searchParams.append('device', getDevicePlatform());
222
+ return new Promise((resolve, reject) => {
223
+ this.isLoading = true;
224
+ fetch(url.href)
225
+ .then((res) => res.json())
226
+ .then((tutorialContent) => {
227
+ resolve(tutorialContent);
228
+ }).catch((err) => {
229
+ console.error(err);
230
+ this.hasErrors = true;
231
+ reject(err);
232
+ }).finally(() => {
233
+ this.isLoading = false;
234
+ });
235
+ });
236
+ }
237
+ move(direction) {
238
+ this.setActive(this.activeIndex + direction);
239
+ }
240
+ ;
241
+ //calculate itemsperpage by tutorials length to avoid empty in the tutorials end
242
+ recalculateItemsPerPage() {
243
+ if (!this.tutorialsElement)
244
+ return;
245
+ this.tutorialElementWidth = this.tutorialsElement.clientWidth;
246
+ this.allElementsWidth = (this.tutorialData.length - 1) * this.tutorialElementWidth;
247
+ }
248
+ ;
249
+ goTo(index) {
250
+ let diff = this.activeIndex - index;
251
+ if (diff > 0) {
252
+ for (let i = 0; i < diff; i++) {
253
+ this.move(-1);
254
+ }
255
+ }
256
+ else {
257
+ for (let i = 0; i > diff; i--) {
258
+ this.move(1);
259
+ }
260
+ }
261
+ }
262
+ handleTouchStart(evt) {
263
+ const firstTouch = this.getTouches(evt)[0];
264
+ this.xDown = firstTouch.clientX;
265
+ this.yDown = firstTouch.clientY;
266
+ }
267
+ getTouches(evt) {
268
+ return evt.touches || evt.originalEvent.touches;
269
+ }
270
+ handleTouchMove(evt) {
271
+ if (!this.xDown || !this.yDown)
272
+ return;
273
+ let xUp = evt.touches[0].clientX;
274
+ let yUp = evt.touches[0].clientY;
275
+ let xDiff = this.xDown - xUp;
276
+ let yDiff = this.yDown - yUp;
277
+ if (Math.abs(xDiff) > Math.abs(yDiff)) {
278
+ if (xDiff > 0) {
279
+ this.move(1);
280
+ }
281
+ else {
282
+ this.move(-1);
283
+ }
284
+ }
285
+ this.xDown = null;
286
+ this.yDown = null;
287
+ }
288
+ ;
289
+ setActive(index) {
290
+ const maxLength = this.tutorialData.length;
291
+ if (index >= 0) {
292
+ if (index >= maxLength - 1) {
293
+ this.activeIndex = maxLength - 1;
294
+ }
295
+ else {
296
+ this.activeIndex = index;
297
+ }
298
+ }
299
+ else {
300
+ this.activeIndex = 0;
301
+ }
302
+ }
303
+ renderDots() {
304
+ const dots = [];
305
+ for (let index = 0; index < this.tutorialData.length / this.itemsPerPage; index++) {
306
+ dots.push(h("li", { class: index == this.activeIndex ? 'active' : 'default', onClick: () => { this.goTo(index); this.setActive(index); } }));
307
+ }
308
+ return dots;
309
+ }
310
+ render() {
311
+ const styles = {
312
+ transform: `translate(${(this.allElementsWidth / (this.tutorialData.length - 1) * this.activeIndex) * -1}px, 0px)`
313
+ };
314
+ const itemStyle = {
315
+ width: `${this.tutorialElementWidth / this.itemsPerPage}px`
316
+ };
317
+ if (this.hasErrors) {
318
+ return (h("div", { class: "GeneralTutorialSliderError" }, h("div", { class: "TitleError" }, translate('error', this.language))));
319
+ }
320
+ if (!this.isLoading) {
321
+ return (h("div", { ref: el => this.stylingContainer = el }, h("div", { class: "TutorialWrapper" }, h("div", { class: "TutorialContent", ref: (el) => this.slider = el }, ((this.showSliderArrows && !this.isMobile) ||
322
+ (this.showSliderArrowsMobile && this.isMobile)) &&
323
+ h("div", { class: this.activeIndex === 0 ? 'SliderNavButton DisabledArrow' : 'SliderNavButton', onClick: () => this.move(-1) }, h("svg", { fill: "none", stroke: "var(--emfe-w-color-secondary, #FD2839)", 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" }))), h("main", null, h("div", { style: styles, ref: (el) => this.tutorialsElement = el, class: "TutorialItems" }, this.tutorialData.map((data) => {
324
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
325
+ return h("div", { class: "TutorialItem", style: itemStyle }, h("div", { class: "ItemTitle", innerHTML: data === null || data === void 0 ? void 0 : data.title }), ((_a = data === null || data === void 0 ? void 0 : data.media) === null || _a === void 0 ? void 0 : _a.images) ? (h("div", { class: "ItemImage" }, this.isMobile ? (h("img", { src: (_e = (_d = (_c = (_b = data === null || data === void 0 ? void 0 : data.media) === null || _b === void 0 ? void 0 : _b.images[0]) === null || _c === void 0 ? void 0 : _c.sources) === null || _d === void 0 ? void 0 : _d.find((source) => source.media === 'mobile')) === null || _e === void 0 ? void 0 : _e.src, alt: data === null || data === void 0 ? void 0 : data.slug })) : (h("img", { src: (_j = (_h = (_g = (_f = data === null || data === void 0 ? void 0 : data.media) === null || _f === void 0 ? void 0 : _f.images[0]) === null || _g === void 0 ? void 0 : _g.sources) === null || _h === void 0 ? void 0 : _h.find((source) => source.media === 'desktop')) === null || _j === void 0 ? void 0 : _j.src, alt: data === null || data === void 0 ? void 0 : data.slug })))) : ((_k = data === null || data === void 0 ? void 0 : data.media) === null || _k === void 0 ? void 0 : _k.video) ? (h("div", { class: "ItemImage" }, this.isMobile ? (h("video", { controls: true, loop: true, autoplay: true }, h("source", { src: (_p = (_o = (_m = (_l = data === null || data === void 0 ? void 0 : data.media) === null || _l === void 0 ? void 0 : _l.video[0]) === null || _m === void 0 ? void 0 : _m.sources) === null || _o === void 0 ? void 0 : _o.find((source) => source.media === 'mobile')) === null || _p === void 0 ? void 0 : _p.src, type: "video/mp4" }))) : (h("video", { controls: true, loop: true, autoplay: true }, h("source", { src: (_t = (_s = (_r = (_q = data === null || data === void 0 ? void 0 : data.media) === null || _q === void 0 ? void 0 : _q.video[0]) === null || _r === void 0 ? void 0 : _r.sources) === null || _s === void 0 ? void 0 : _s.find((source) => source.media === 'desktop')) === null || _t === void 0 ? void 0 : _t.src, type: "video/mp4" }))))) : null, h("div", { class: "ItemDescription", innerHTML: data === null || data === void 0 ? void 0 : data.content }));
326
+ }))), ((this.showSliderArrows && !this.isMobile) ||
327
+ (this.showSliderArrowsMobile && this.isMobile)) &&
328
+ h("div", { class: this.activeIndex === this.tutorialData.length - 1 ? ' SliderNavButton DisabledArrow disabled' : 'SliderNavButton', onClick: () => this.move(1) }, 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" }))), h("div", null)), this.showSliderDots &&
329
+ h("div", { class: "DotsWrapper" }, h("ul", { class: "Dots" }, this.renderDots())))));
330
+ }
331
+ }
332
+ get el() { return getElement(this); }
333
+ static get watchers() { return {
334
+ "cmsEndpoint": ["watchEndpoint"],
335
+ "language": ["watchEndpoint"]
336
+ }; }
337
+ };
338
+ GeneralTutorialSlider.style = generalTutorialSliderCss;
339
+
340
+ export { GeneralTutorialSlider as general_tutorial_slider };
@@ -0,0 +1,17 @@
1
+ import { p as promiseResolve, b as bootstrapLazy } from './index-a2165162.js';
2
+
3
+ /*
4
+ Stencil Client Patch Browser v2.15.2 | MIT Licensed | https://stenciljs.com
5
+ */
6
+ const patchBrowser = () => {
7
+ const importMeta = import.meta.url;
8
+ const opts = {};
9
+ if (importMeta !== '') {
10
+ opts.resourcesUrl = new URL('.', importMeta).href;
11
+ }
12
+ return promiseResolve(opts);
13
+ };
14
+
15
+ patchBrowser().then(options => {
16
+ return bootstrapLazy([["general-tutorial-slider",[[1,"general-tutorial-slider",{"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"language":[513],"cmsEndpoint":[513,"cms-endpoint"],"userRoles":[513,"user-roles"],"cmsEnv":[513,"cms-env"],"showSliderDots":[516,"show-slider-dots"],"showSliderArrows":[516,"show-slider-arrows"],"showSliderArrowsMobile":[516,"show-slider-arrows-mobile"],"enableAutoScroll":[516,"enable-auto-scroll"],"intervalPeriod":[514,"interval-period"],"scrollItems":[520,"scroll-items"],"itemsPerPage":[514,"items-per-page"],"hasErrors":[32],"limitStylingAppends":[32],"isLoading":[32],"activeIndex":[32],"tutorialElementWidth":[32]}]]]], options);
17
+ });