@everymatrix/general-navigation-bar 1.44.0 → 1.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,725 +0,0 @@
1
- <svelte:options tag={null} />
2
- <script lang="ts">
3
-
4
- import { getDevice } from 'rvhelper';
5
- import { onMount } from 'svelte';
6
- import { _, addNewMessages, setLocale } from './i18n';
7
- import { TRANSLATIONS } from './translations';
8
-
9
- export let cmsendpoint:string = '';
10
- export let lang:string = '';
11
- export let env:string = '';
12
- export let secondarymenutitle:string = '';
13
- export let userroles:string = '';
14
- export let clientstyling:string = '';
15
- export let clientstylingurl:string = '';
16
- export let translationurl:string = '';
17
- export let activecategory:string = '';
18
- export let flowermenustyle:string = 'false';
19
-
20
- let userAgent:string = window.navigator.userAgent;
21
- let isMobile:boolean = (getDevice(userAgent) === 'PC') ? false : true;
22
- let isLoading:boolean = true;
23
- let showNavigation:boolean = false;
24
-
25
- let navigationWindowOpened:boolean = false;
26
- let activeMenuItemId:string = '';
27
- let navigationBarSimple:boolean = false;
28
- let primaryMenu:Array<Object> = [];
29
- let primaryMenuSpliced:Array<Object> = [];
30
- let secondaryMenu:Array<Object> = [];
31
- let customStylingContainer:HTMLElement;
32
- let imageIconUrl:string = '';
33
- let eventInterpreted:object = {};
34
- let mobileLandscapeView:boolean;
35
- let isFlowerMenu:boolean = false;
36
-
37
- const setTranslationUrl = ():void => {
38
- let url:string = translationurl;
39
-
40
- fetch(url).then((res:any) => res.json())
41
- .then((res) => {
42
- Object.keys(res).forEach((item:any):void => {
43
- addNewMessages(item, res[item]);
44
- });
45
- }).catch((err:any) => {
46
- console.log(err);
47
- });
48
- }
49
-
50
- Object.keys(TRANSLATIONS).forEach((item:any) => {
51
- addNewMessages(item, TRANSLATIONS[item]);
52
- });
53
-
54
- const messageHandler = (e:any) => {
55
- if (e.data) {
56
- switch(e.data.type) {
57
- case 'PlayerAccountMenuActive':
58
- navigationWindowOpened = false;
59
- break;
60
-
61
- case 'OpenLoginRegisterModal':
62
- navigationWindowOpened = false;
63
- break;
64
-
65
- case 'GoToHomepage':
66
- navigationWindowOpened = false;
67
- break;
68
-
69
- default:
70
- break;
71
- }
72
- }
73
- }
74
-
75
- const setFlowerMenu = () => {
76
- isFlowerMenu = flowermenustyle.toLowerCase() === 'true';
77
- }
78
-
79
- const navigationWindowToggle = () => {
80
- navigationWindowOpened = !navigationWindowOpened;
81
- window.postMessage({ type: 'MobileBottomNav', navigationWindowOpened }, window.location.href);
82
- }
83
-
84
- const createPrimaryMenu = (data):void => {
85
- primaryMenuSpliced = [];
86
- primaryMenuSpliced = navigationBarSimple ? data.splice(0,5) : data.splice(0,4);
87
-
88
- if (activecategory) {
89
- setActiveIndex();
90
- }
91
- }
92
-
93
- const getMobileBottomMenu = ():void => {
94
- orientationChangeHandler();
95
-
96
- isLoading = true;
97
- let device = getDevice(userAgent);
98
- let url:URL = new URL(`${cmsendpoint}/${lang}/bottom-mobile-menu?env=${env}`);
99
-
100
- url.searchParams.append('userRoles', userroles);
101
-
102
- if (device){
103
- if(device === 'iPad' || device === 'iPhone') {
104
- url.searchParams.append('device', 'mtWeb'); // replace with ios when we will have a native ios up for this
105
- } else {
106
- url.searchParams.append('device', 'mtWeb')
107
- }
108
- }
109
-
110
- fetch(url.href)
111
- .then((res: any) => res.json())
112
- .then((data: any):void => {
113
-
114
- // Reset arrays
115
- primaryMenu = [];
116
- secondaryMenu = [];
117
-
118
- // Show navigation only if there are items coming from CMS
119
- showNavigation = data.length > 0;
120
-
121
- // Get items
122
- data.forEach((item):void => {
123
- //check if the operator wants an event interpreted
124
- eventInterpreted[item.label] = item.eventTrigger ? item.path : null
125
-
126
- if (item.path == '/menu-item') {
127
- imageIconUrl = item?.img;
128
- secondaryMenu = item.children;
129
- } else {
130
- primaryMenu.push(item);
131
- }
132
- });
133
-
134
- // Hide secondary menu if there are no items configured in CMS
135
- navigationBarSimple = secondaryMenu.length == 0;
136
-
137
- //Deleting the elements from secondaryMenu when flowerMenu is true
138
- if(secondaryMenu.length >= 5 && isFlowerMenu) {
139
- secondaryMenu = secondaryMenu.splice(0, 5);
140
- }
141
- createPrimaryMenu(primaryMenu);
142
-
143
- isLoading = false;
144
- })
145
- .catch((err: any) => {
146
- isLoading = false;
147
- console.error(err);
148
- });
149
- }
150
-
151
- const setActiveIndex = ():void => {
152
-
153
- const listOfMenus = primaryMenuSpliced.concat(secondaryMenu);
154
-
155
- const activeMenu:any = listOfMenus.find((menu:any) => menu.path.includes(activecategory))
156
- if(activeMenu){
157
- activeMenuItemId = activeMenu.id;
158
- }
159
- }
160
-
161
- const triggerNavigation = (url, target?, externalLink?, label?) => {
162
- if(eventInterpreted[label]){
163
- window.postMessage({ type: `MobileBottomNavigationEvent`, event: eventInterpreted[label]}, window.location.href);
164
- } else {
165
- window.postMessage({ type: 'NavigateTo', path: url, target: target || null, externalLink: externalLink || false }, window.location.href);
166
- }
167
-
168
- navigationWindowOpened = false;
169
- //Analytics event
170
- if(typeof gtag == 'function'){
171
- gtag('event', 'ChangeMenu', {
172
- 'context': 'MobileBottomNavigation',
173
- 'menuItem' : `${url}`
174
- });
175
- }
176
- }
177
-
178
- const setClientStyling = ():void => {
179
- let sheet = document.createElement('style');
180
- if(clientstyling && customStylingContainer) {
181
- sheet.innerHTML = clientstyling;
182
- customStylingContainer.appendChild(sheet);
183
- }
184
- }
185
-
186
- const setClientStylingURL = ():void => {
187
- let url:URL = new URL(clientstylingurl);
188
- let cssFile:HTMLElement = document.createElement('style');
189
-
190
- fetch(url.href)
191
- .then((res:any) => res.text())
192
- .then((data:any) => {
193
- cssFile.innerHTML = data
194
-
195
- setTimeout(() => { customStylingContainer.appendChild(cssFile) }, 1);
196
- });
197
- }
198
-
199
- const setActiveLanguage = () => {
200
- setLocale(lang);
201
- }
202
-
203
- const orientationChangeHandler = (): void => {
204
- mobileLandscapeView = isMobile && window.innerHeight / window.innerWidth < 1;
205
- }
206
-
207
- const handleFocusIn = (): void => {
208
- if (navigationWindowOpened) {
209
- navigationWindowOpened = false;
210
- }
211
- }
212
-
213
-
214
- onMount(() => {
215
- window.addEventListener('message', messageHandler, false);
216
- document.addEventListener('focusin', handleFocusIn);
217
-
218
- if (isMobile) {
219
- window.screen.orientation.addEventListener('change', orientationChangeHandler);
220
- }
221
-
222
- return () => {
223
- window.removeEventListener('message', messageHandler);
224
- document.removeEventListener('focusin', handleFocusIn);
225
- if (isMobile) {
226
- window.screen.orientation.removeEventListener('change', orientationChangeHandler);
227
- }
228
- }
229
- });
230
-
231
- $: flowermenustyle && setFlowerMenu();
232
- $: activecategory && !isLoading && setActiveIndex();
233
- $: lang && setActiveLanguage();
234
- $: cmsendpoint && lang && env && userroles && getMobileBottomMenu();
235
- $: clientstyling && customStylingContainer && setClientStyling();
236
- $: clientstylingurl && customStylingContainer && setClientStylingURL();
237
- $: translationurl && setTranslationUrl();
238
-
239
- </script>
240
-
241
- <div class="NavigationWrapper {mobileLandscapeView ? 'NavigationWrapperLandScape' : ''}" bind:this={customStylingContainer}>
242
- {#if !isLoading && isMobile && showNavigation}
243
- <div class="NavigationPanel">
244
- {#if !navigationBarSimple}
245
- <div class="NavigationWindow {navigationWindowOpened ? 'NavigationWindowOpened' : ''}">
246
- <span class="ModalCloseBtn" part="ModalCloseBtn" on:click={navigationWindowToggle} role="button">
247
- <slot name="close">
248
- <svg class="w-6 h-6" part="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path part="ModalCloseBtnPath" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path></svg>
249
- </slot>
250
- </span>
251
- <h3 class="NavigationWindowTitle">{secondarymenutitle || $_('secondaryMenuTitle')}</h3>
252
- <div class="NavigationSecondaryWrapper">
253
- {#each secondaryMenu as item}
254
- <div on:click={() => {!item.attrs?.target ? triggerNavigation(item.path, null, item?.externalLink, item.label) : triggerNavigation(item.path, item.attrs?.target, item?.externalLink, item.label)}} class="NavigationSecondaryItemAnchor {activeMenuItemId === item.id ? 'ActiveItem' : ''}">
255
- {#if item.img}
256
- <div class="NavigationSecondaryItemImgWrapper" part="NavigationSecondaryItemImgWrapper">
257
- <img class="NavigationSecondaryItemImg" part="NavigationSecondaryItemImg" src="{item.img}" alt="{item.label}">
258
- </div>
259
- {/if}
260
- <p class="NavigationSecondaryItemLabel" part="NavigationSecondaryItemLabel">{item.label}</p>
261
- </div>
262
- {/each}
263
- </div>
264
- </div>
265
- {/if}
266
- <div class="NavigationBar {navigationWindowOpened ? 'NavigationBarOpened' : ''} {navigationBarSimple ? 'NavigationBarSimple' : ''}" part="NavigationBar {navigationWindowOpened ? 'NavigationBarOpened' : ''} {navigationBarSimple ? 'NavigationBarSimple' : ''}">
267
- {#each primaryMenuSpliced as item, i}
268
- <div on:click={() => {!item.attrs?.target ? triggerNavigation(item.path, null, item?.externalLink, item.label) : triggerNavigation(item.path, item.attrs?.target, item?.externalLink, item.label)}} class="NavigationPrimaryItemAnchor NavItem{i} {activeMenuItemId === item.id ? 'ActiveItem' : ''}">
269
- {#if item.img}
270
- <div class="NavigationPrimaryItemImgWrapper">
271
- <img class="NavigationPrimaryItemImg" src="{item.img}" alt="{item.label}">
272
- </div>
273
- {/if}
274
- <p class="NavigationPrimaryItemLabel">{item.label}</p>
275
- </div>
276
- {/each}
277
- {#if !navigationBarSimple}
278
- <button class="NavigationButton {navigationWindowOpened ? 'NavigationButtonActive' : ''}" on:click={navigationWindowToggle}>
279
- <span class="NavigationButtonSpan" part="NavigationButtonSpan">
280
- {#if !isFlowerMenu}
281
- {#if imageIconUrl}
282
- <img src="{imageIconUrl}" class="middleIcon" alt="{imageIconUrl}">
283
- {:else}
284
- <svg class="middleIcon" xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21"><g transform="translate(-150 -514)"><g class="a" part="a" transform="translate(150 514)"><rect class="b" part="b" width="10" height="10" rx="2"/><rect class="c" part="c" x="0.5" y="0.5" width="9" height="9" rx="1.5"/></g><g class="a" part="a" transform="translate(161 514)"><rect class="b" part="b" width="10" height="10" rx="2"/><rect class="c" part="c" x="0.5" y="0.5" width="9" height="9" rx="1.5"/></g><g class="a" part="a" transform="translate(161 525)"><rect class="b" part="b" width="10" height="10" rx="2"/><rect class="c" part="c" x="0.5" y="0.5" width="9" height="9" rx="1.5"/></g><g class="a" part="a" transform="translate(150 525)"><rect class="b" part="b" width="10" height="10" rx="2"/><rect class="c" part="c" x="0.5" y="0.5" width="9" height="9" rx="1.5"/></g></g></svg>
285
- {/if}
286
- {:else}
287
- <div class="labelMiddleIcon {navigationWindowOpened ? 'labelMiddleIconActive' : ''}">
288
- <span class="middleIconLine"></span>
289
- <span class="middleIconLine"></span>
290
- <span class="middleIconLine"></span>
291
- </div>
292
- {/if}
293
- </span>
294
- </button>
295
- {/if}
296
- </div>
297
- </div>
298
- {/if}
299
- </div>
300
-
301
- {#if !isFlowerMenu}
302
- <style lang="scss">
303
-
304
- .NavigationWrapper {
305
- background: var(--emfe-w-color-gray-50, #F9F8F8);
306
- width: 100%;
307
- height: 100px;
308
- }
309
-
310
- .NavigationPanel {
311
- position: fixed;
312
- bottom: 20px;
313
- left: 50%;
314
- transform: translateX(-50%);
315
- width: calc(100% - 30px);
316
- max-width: 450px;
317
- height: 70px;
318
- z-index: 30;
319
- }
320
-
321
- .NavigationWindow {
322
- display: flex;
323
- flex-direction: column;
324
- background: var(--emfe-w-color-white, #FFFFFF);
325
- position: absolute;
326
- bottom: 30px;
327
- left: 0;
328
- opacity: 0;
329
- transform: translateY(100%);
330
- border-radius: 5px 5px 0 0;
331
- transition: .25s ease;
332
- width: 100%;
333
- max-height: 40vh;
334
- &.NavigationWindowOpened {
335
- opacity: 1;
336
- padding-bottom: 60px;
337
- transform: translateY(5px);
338
- }
339
-
340
- .ModalCloseBtn {
341
- position: absolute;
342
- top: 10px;
343
- right: 10px;
344
- width: 24px;
345
- height: 24px;
346
- border-radius: 100%;
347
- color: var(--emfe-w-color-secondary, var(--emfe-w-color-secondary, #FD2839));
348
- background: rgba(255, 255, 255, .1);
349
- cursor: pointer;
350
- transition: all 150ms ease-in-out;
351
- z-index: 1;
352
-
353
- svg {
354
- width: 24px;
355
- height: 24px;
356
- margin: 50%;
357
- transform: translate(-50%, -50%);
358
- }
359
-
360
- &:hover {
361
- background: rgba(255, 255, 255, .2);
362
- }
363
- }
364
-
365
- .NavigationWindowTitle {
366
- padding: 16px 10px;
367
- margin: 0;
368
- color: var(--emfe-w-color-black, #000000);
369
- font-size: 12px;
370
- flex-grow: 0;
371
- }
372
-
373
- .NavigationSecondaryWrapper {
374
- display: flex;
375
- flex-wrap: wrap;
376
- padding: 0 10px;
377
- flex-grow: 1;
378
- overflow-y: auto;
379
- -webkit-overflow-scrolling: touch;
380
- }
381
- }
382
-
383
- .NavigationPrimaryItemAnchor.NavItem0 {
384
- grid-area: item0;
385
- }
386
-
387
- .NavigationPrimaryItemAnchor.NavItem1 {
388
- grid-area: item1;
389
- }
390
-
391
- .NavigationPrimaryItemAnchor.NavItem2 {
392
- grid-area: item2;
393
- }
394
-
395
- .NavigationPrimaryItemAnchor.NavItem3 {
396
- grid-area: item3;
397
- }
398
-
399
- .NavigationPrimaryItemAnchor.NavItem4 {
400
- grid-area: item4;
401
- }
402
-
403
- .NavigationBar {
404
- background: var(--emfe-w-color-white, #FFFFFF);
405
- display: grid;
406
- grid-auto-flow: column;
407
- grid-template-columns: 1fr 1fr 20% 1fr 1fr;
408
- grid-template-areas: "item0 item1 . item2 item3";
409
- height: 70px;
410
- border-radius: 5px;
411
- position: relative;
412
- &.NavigationBarSimple {
413
- grid-template-columns: repeat(5, 20%);
414
- grid-template-areas: "item0 item1 item2 item3 item4";
415
- }
416
- &.NavigationBarOpened {
417
- box-shadow: 0 0 11px rgba(0, 0, 0, 0.09);
418
- }
419
- }
420
-
421
- .NavigationPrimaryItemAnchor,
422
- .NavigationSecondaryItemAnchor{
423
- display: flex;
424
- flex-direction: column;
425
- align-items: center;
426
- justify-content: center;
427
- gap: 5px;
428
- text-decoration: none;
429
- color: var(--emfe-w-color-black, #000000);
430
- font-size: 9px;
431
- overflow: hidden;
432
- white-space: nowrap;
433
- padding-bottom: 12px;
434
- .NavigationPrimaryItemImg,
435
- .NavigationSecondaryItemImg {
436
- width: 20px;
437
- }
438
- .NavigationPrimaryItemLabel,
439
- .NavigationSecondaryItemLabel{
440
- margin: 0;
441
- overflow: hidden;
442
- white-space: nowrap;
443
- text-overflow: ellipsis;
444
- width: 100%;
445
- text-align: center;
446
- }
447
- }
448
-
449
- .NavigationSecondaryItemAnchor {
450
- width: 25%;
451
- padding: 10px 0;
452
- }
453
-
454
- .ActiveItem {
455
- background-color: var(--emfe-w-color-primary-50, var(--emfe-w-color-pink-20, #FBECF4));
456
- }
457
- .NavigationButton {
458
- background: var(--emfe-w-color-white, #FFFFFF);
459
- border: none;
460
- width: 20%;
461
- height: 100%;
462
- position: absolute;
463
- top: 50%;
464
- left: 50%;
465
- transform: translate(-50%, -50%);
466
- padding: 0;
467
- padding-bottom: 12px;
468
- .middleIcon {
469
- width: 32px;
470
- height: 32px;
471
- .a{fill:var(--emfe-w-color-white, #FFFFFF);
472
- stroke:var(--emfe-w-color-primary, #D0046C);
473
- stroke-linecap:round;stroke-linejoin:round;}
474
- .b{stroke:none;}
475
- .c{fill:none;}
476
- }
477
- &:before {
478
- border-left: 8px solid transparent;
479
- border-right: 8px solid transparent;
480
- border-top: 8px solid var(--emfe-w-color-gray-50, #F9F8F8);
481
- content: "";
482
- height: 0;
483
- left: 50%;
484
- opacity: 0;
485
- position: absolute;
486
- top: 0;
487
- transform: translateX(-50%);
488
- width: 0;
489
- }
490
- &.NavigationButtonActive:before {
491
- opacity: 1;
492
- transition: .7s ease;
493
- }
494
- }
495
- </style>
496
- {:else}
497
- <style lang="scss">
498
-
499
- .NavigationWrapper {
500
- background: var(--emfe-w-color-gray-50, #F9F8F8);
501
- width: 100%;
502
- }
503
-
504
- .NavigationPanel {
505
- position: fixed;
506
- display: flex;
507
- flex-direction: column;
508
- bottom: 0;
509
- width: 100%;
510
- z-index: 30;
511
- }
512
-
513
- .NavigationWindow {
514
- display: flex;
515
- flex-direction: column;
516
- backdrop-filter: blur(2px);
517
- background: linear-gradient(0deg, var(--emfe-w-color-black, #000000) 0%, transparent 100%);
518
- opacity: 0;
519
- transition: .25s ease;
520
- width: 100%;
521
- max-height: 0vh;
522
-
523
- &.NavigationWindowOpened {
524
- opacity: 1;
525
- max-height: 200px;
526
- .NavigationSecondaryWrapper{
527
- .NavigationSecondaryItemAnchor {
528
- &:nth-child(1){
529
- transform: translate3d(-210%, 50%, 0);
530
- transition: transform .1s;
531
- }
532
- &:nth-child(2){
533
- transform: translate3d(-150%, -50%, 0);
534
- transition: transform .1s .1s;
535
- }
536
- &:nth-child(3){
537
- transform: translate3d(-50%, -100%, 0);
538
- transition: transform .1s .2s;
539
- }
540
- &:nth-child(4){
541
- transform: translate3d(50%, -50%, 0);
542
- transition: transform .1s .3s;
543
- }
544
- &:nth-child(5){
545
- transform: translate3d(110%, 50%, 0);
546
- transition: transform .1s .4s;
547
- }
548
- }
549
- }
550
- }
551
-
552
- .ModalCloseBtn, .NavigationWindowTitle {
553
- display: none;
554
- }
555
-
556
- .NavigationSecondaryWrapper {
557
- position: relative;
558
- width: 100%;
559
- height: 170px;
560
- list-style: none;
561
- .NavigationSecondaryItemAnchor {
562
- display: flex;
563
- width: 60px;
564
- position: absolute;
565
- top: 50%;
566
- left: 50%;
567
- padding: 0px;
568
- flex-direction: column;
569
- transform: translate(-50%, 150%);
570
- .NavigationSecondaryItemLabel{
571
- width: 100%;
572
- height: 20px;
573
- text-wrap: pretty;
574
- line-height: 10px;
575
- color: var(--emfe-w-color-white, #FFFFFF);
576
- }
577
- }
578
- }
579
- }
580
-
581
- .NavigationPrimaryItemAnchor.NavItem0 {
582
- grid-area: item0;
583
- }
584
-
585
- .NavigationPrimaryItemAnchor.NavItem1 {
586
- grid-area: item1;
587
- }
588
-
589
- .NavigationPrimaryItemAnchor.NavItem2 {
590
- grid-area: item2;
591
- }
592
-
593
- .NavigationPrimaryItemAnchor.NavItem3 {
594
- grid-area: item3;
595
- }
596
-
597
- .NavigationPrimaryItemAnchor.NavItem4 {
598
- grid-area: item4;
599
- }
600
-
601
- .NavigationBar {
602
- background: var(--emfe-w-color-white, #FFFFFF);
603
- display: grid;
604
- grid-auto-flow: column;
605
- grid-template-columns: 1fr 1fr 20% 1fr 1fr;
606
- grid-template-areas: "item0 item1 . item2 item3";
607
- border-radius: 5px;
608
- position: relative;
609
- &.NavigationBarSimple {
610
- grid-template-columns: repeat(5, 20%);
611
- grid-template-areas: "item0 item1 item2 item3 item4";
612
- }
613
- &.NavigationBarOpened {
614
- box-shadow: 0 0 11px rgba(0, 0, 0, 0.09);
615
- }
616
- }
617
-
618
- .NavigationPrimaryItemAnchor,
619
- .NavigationSecondaryItemAnchor{
620
- display: flex;
621
- flex-direction: column;
622
- align-items: center;
623
- gap: 5px;
624
- text-decoration: none;
625
- color: var(--emfe-w-color-black, #000000);
626
- font-size: 9px;
627
- overflow: hidden;
628
- white-space: nowrap;
629
- padding: 10px;
630
- .NavigationPrimaryItemImg{
631
- width: 20px;
632
- height: 20px;
633
- }
634
-
635
- .NavigationSecondaryItemImgWrapper{
636
- display: flex;
637
- justify-content: center;
638
- align-items: center;
639
- padding: 5px;
640
- border-radius: 100%;
641
- background-color: var(--emfe-w-casino-color-primary, var(--emfe-w-color-primary, #D0046C));
642
- .NavigationSecondaryItemImg{
643
- width: 25px;
644
- height: 25px;
645
- }
646
- }
647
-
648
- .NavigationPrimaryItemLabel,
649
- .NavigationSecondaryItemLabel{
650
- margin: 0;
651
- overflow: hidden;
652
- white-space: nowrap;
653
- text-overflow: ellipsis;
654
- text-align: center;
655
- }
656
- }
657
-
658
- .NavigationButton {
659
- background: var(--emfe-w-casino-color-primary, var(--emfe-w-color-primary, #D0046C));
660
- border: none;
661
- position: absolute;
662
- border-radius: 100%;
663
- top: 20%;
664
- left: 50%;
665
- transform: translate(-50%, -50%);
666
- padding: 10px;
667
- .NavigationButtonSpan{
668
- width: 100%;
669
- height: 100%;
670
- display: flex;
671
- justify-content: center;
672
- align-items: center;
673
- }
674
-
675
- .labelMiddleIcon {
676
- cursor: pointer;
677
- display: grid;
678
- align-items: center;
679
- justify-content: center;
680
- width: 20px;
681
- height: 20px;
682
- padding: 4px;
683
- overflow: hidden;
684
- }
685
-
686
- .labelMiddleIcon .middleIconLine{
687
- background: var(--emfe-w-color-white, #FFFFFF);
688
- content: '';
689
- height: 2px;
690
- width: 20px;
691
- grid-row-start: 1;
692
- grid-column-start: 1;
693
- transition: transform ease .2s, margin-top ease .2s .2s, width ease .2s .4s;
694
-
695
- &:nth-child(1){
696
- margin-top: 10px;
697
- }
698
- &:nth-child(2){
699
- margin: auto;
700
- }
701
- &:nth-child(3){
702
- margin-top: -10px;
703
- }
704
- }
705
-
706
- .labelMiddleIconActive .middleIconLine{
707
- &:nth-child(1) {
708
- margin-top: 0px;
709
- transform: rotate(-45deg);
710
- transition: margin-top ease .2s .2s, transform ease .2s .4s;
711
- }
712
- &:nth-child(2) {
713
- width: 0px;
714
- transition: width ease .2s;
715
- }
716
- &:nth-child(3) {
717
- margin-top: 0px;
718
- transform: rotate(45deg);
719
- transition: margin-top ease .2s .2s, transform ease .2s .4s;
720
- }
721
- }
722
- }
723
- </style>
724
- {/if}
725
-