{"version":3,"file":"ngx-slice-kit.mjs","sources":["../../../libs/ngx-slice-kit/src/lib/core/animations/slide-in.ts","../../../libs/ngx-slice-kit/src/lib/core/i17r/i17r.service.ts","../../../libs/ngx-slice-kit/src/lib/core/i17r/i17r.pipe.ts","../../../libs/ngx-slice-kit/src/lib/core/markdown/markdown.component.ts","../../../libs/ngx-slice-kit/src/lib/core/markdown/markdown.component.html","../../../libs/ngx-slice-kit/src/lib/core/markdown/markdown.directive.ts","../../../libs/ngx-slice-kit/src/lib/core/markdown/markdown.pipe.ts","../../../libs/ngx-slice-kit/src/lib/core/directives/navigation-scroll.directive.ts","../../../libs/ngx-slice-kit/src/lib/core/core.module.ts","../../../libs/ngx-slice-kit/src/lib/buttons/button/button.component.ts","../../../libs/ngx-slice-kit/src/lib/buttons/button/button.module.ts","../../../libs/ngx-slice-kit/src/lib/buttons/button-group/button-group.component.ts","../../../libs/ngx-slice-kit/src/lib/buttons/button-group/button-group.component.html","../../../libs/ngx-slice-kit/src/lib/buttons/button-group/button-group.module.ts","../../../libs/ngx-slice-kit/src/lib/buttons/icon/icon.glyphs.ts","../../../libs/ngx-slice-kit/src/lib/buttons/icon/icon.component.ts","../../../libs/ngx-slice-kit/src/lib/buttons/icon/icon.module.ts","../../../libs/ngx-slice-kit/src/lib/buttons/buttons.module.ts","../../../libs/ngx-slice-kit/src/lib/dropdowns/options.service.ts","../../../libs/ngx-slice-kit/src/lib/dropdowns/dropdown.component.ts","../../../libs/ngx-slice-kit/src/lib/dropdowns/dropdown.component.html","../../../libs/ngx-slice-kit/src/lib/dropdowns/dropdown.service.ts","../../../libs/ngx-slice-kit/src/lib/core/layout-control/layout-control.service.ts","../../../libs/ngx-slice-kit/src/lib/dropdowns/autocomplete/autocomplete.component.ts","../../../libs/ngx-slice-kit/src/lib/dropdowns/autocomplete/autocomplete.component.html","../../../libs/ngx-slice-kit/src/lib/dropdowns/autocomplete/autocomplete.module.ts","../../../libs/ngx-slice-kit/src/lib/dropdowns/select/select.component.ts","../../../libs/ngx-slice-kit/src/lib/dropdowns/select/select.component.html","../../../libs/ngx-slice-kit/src/lib/dropdowns/select/select.module.ts","../../../libs/ngx-slice-kit/src/lib/dropdowns/context/dropdown-menu-trigger.directive.ts","../../../libs/ngx-slice-kit/src/lib/dropdowns/dropdowns.module.ts","../../../libs/ngx-slice-kit/src/lib/inputs/checkbox/checkbox.component.ts","../../../libs/ngx-slice-kit/src/lib/inputs/checkbox/checkbox.component.html","../../../libs/ngx-slice-kit/src/lib/inputs/checkbox/checkbox.module.ts","../../../libs/ngx-slice-kit/src/lib/inputs/input/input.component.ts","../../../libs/ngx-slice-kit/src/lib/inputs/input/input.component.html","../../../libs/ngx-slice-kit/src/lib/inputs/input/input.module.ts","../../../libs/ngx-slice-kit/src/lib/inputs/radio/radio.component.ts","../../../libs/ngx-slice-kit/src/lib/inputs/radio/radio.component.html","../../../libs/ngx-slice-kit/src/lib/inputs/radio/radio.module.ts","../../../libs/ngx-slice-kit/src/lib/core/theme/symbols.ts","../../../libs/ngx-slice-kit/src/lib/core/theme/theme.model.ts","../../../libs/ngx-slice-kit/src/lib/core/theme/lib/theme-light.ts","../../../libs/ngx-slice-kit/src/lib/core/theme/lib/theme-dark.ts","../../../libs/ngx-slice-kit/src/lib/core/theme/theme.service.ts","../../../libs/ngx-slice-kit/src/lib/inputs/textarea/textarea.component.ts","../../../libs/ngx-slice-kit/src/lib/inputs/textarea/textarea.component.html","../../../libs/ngx-slice-kit/src/lib/inputs/textarea/textarea.module.ts","../../../libs/ngx-slice-kit/src/lib/inputs/toggle/toggle.component.ts","../../../libs/ngx-slice-kit/src/lib/inputs/toggle/toggle.component.html","../../../libs/ngx-slice-kit/src/lib/inputs/toggle/toggle.module.ts","../../../libs/ngx-slice-kit/src/lib/inputs/inputs.module.ts","../../../libs/ngx-slice-kit/src/lib/layout/carousel/slide/slide.component.ts","../../../libs/ngx-slice-kit/src/lib/layout/dots/dots.component.ts","../../../libs/ngx-slice-kit/src/lib/layout/dots/dots.component.html","../../../libs/ngx-slice-kit/src/lib/layout/carousel/carousel.component.ts","../../../libs/ngx-slice-kit/src/lib/layout/carousel/carousel.component.html","../../../libs/ngx-slice-kit/src/lib/layout/dots/dots.module.ts","../../../libs/ngx-slice-kit/src/lib/layout/carousel/carousel.module.ts","../../../libs/ngx-slice-kit/src/lib/layout/divider/divider.component.ts","../../../libs/ngx-slice-kit/src/lib/layout/divider/divider.component.html","../../../libs/ngx-slice-kit/src/lib/layout/divider/divider.module.ts","../../../libs/ngx-slice-kit/src/lib/layout/list/list.component.ts","../../../libs/ngx-slice-kit/src/lib/layout/list/list.component.html","../../../libs/ngx-slice-kit/src/lib/layout/list/list.module.ts","../../../libs/ngx-slice-kit/src/lib/layout/pagination/pagination.component.ts","../../../libs/ngx-slice-kit/src/lib/layout/pagination/pagination.component.html","../../../libs/ngx-slice-kit/src/lib/layout/pagination/pagination.module.ts","../../../libs/ngx-slice-kit/src/lib/layout/progress/progress.component.ts","../../../libs/ngx-slice-kit/src/lib/layout/progress/progress.component.html","../../../libs/ngx-slice-kit/src/lib/layout/progress/progress.module.ts","../../../libs/ngx-slice-kit/src/lib/layout/slider/slider.component.ts","../../../libs/ngx-slice-kit/src/lib/layout/slider/slider.component.html","../../../libs/ngx-slice-kit/src/lib/layout/slider/slider.module.ts","../../../libs/ngx-slice-kit/src/lib/layout/layout.module.ts","../../../libs/ngx-slice-kit/src/lib/modals/alert/alert.component.ts","../../../libs/ngx-slice-kit/src/lib/modals/alert/alert.component.html","../../../libs/ngx-slice-kit/src/lib/modals/alert/alert.model.ts","../../../libs/ngx-slice-kit/src/lib/modals/alert/alerts.component.ts","../../../libs/ngx-slice-kit/src/lib/modals/alert/alerts.component.html","../../../libs/ngx-slice-kit/src/lib/modals/alert/alert.module.ts","../../../libs/ngx-slice-kit/src/lib/modals/dialog/dialog.directive.ts","../../../libs/ngx-slice-kit/src/lib/modals/dialog/dialog.component.ts","../../../libs/ngx-slice-kit/src/lib/modals/dialog/dialog.component.html","../../../libs/ngx-slice-kit/src/lib/modals/dialog/dialog.module.ts","../../../libs/ngx-slice-kit/src/lib/modals/popup/popup.component.ts","../../../libs/ngx-slice-kit/src/lib/modals/popup/popup.component.html","../../../libs/ngx-slice-kit/src/lib/modals/popup/popup.module.ts","../../../libs/ngx-slice-kit/src/lib/modals/tooltip/tooltip.directive.ts","../../../libs/ngx-slice-kit/src/lib/modals/tooltip/tooltip.module.ts","../../../libs/ngx-slice-kit/src/lib/modals/modals.module.ts","../../../libs/ngx-slice-kit/src/lib/navigation/nav-menu/nav-menu-item/nav-menu-item.component.ts","../../../libs/ngx-slice-kit/src/lib/navigation/nav-menu/nav-menu.component.ts","../../../libs/ngx-slice-kit/src/lib/navigation/nav-menu/nav-menu-group/nav-menu-group.component.ts","../../../libs/ngx-slice-kit/src/lib/navigation/nav-menu/nav-menu-group/nav-menu-group.component.html","../../../libs/ngx-slice-kit/src/lib/navigation/nav-menu/nav-menu.module.ts","../../../libs/ngx-slice-kit/src/lib/navigation/nav-tabs/tab-link.directive.ts","../../../libs/ngx-slice-kit/src/lib/navigation/tabs-group/tabs-group.component.ts","../../../libs/ngx-slice-kit/src/lib/navigation/nav-tabs/nav-tabs.component.ts","../../../libs/ngx-slice-kit/src/lib/navigation/nav-tabs/nav-tabs.component.html","../../../libs/ngx-slice-kit/src/lib/navigation/nav-tabs/nav-tabs.module.ts","../../../libs/ngx-slice-kit/src/lib/navigation/sidenav/sidenav.options.ts","../../../libs/ngx-slice-kit/src/lib/navigation/sidenav/sidenav.service.ts","../../../libs/ngx-slice-kit/src/lib/navigation/sidenav/sidenav.component.ts","../../../libs/ngx-slice-kit/src/lib/navigation/sidenav/sidenav-container.component.ts","../../../libs/ngx-slice-kit/src/lib/navigation/sidenav/sidenav-container.component.html","../../../libs/ngx-slice-kit/src/lib/navigation/sidenav/sidenav-content.component.ts","../../../libs/ngx-slice-kit/src/lib/navigation/sidenav/sidenav.module.ts","../../../libs/ngx-slice-kit/src/lib/navigation/tabs/tab/tab.component.ts","../../../libs/ngx-slice-kit/src/lib/navigation/tabs/tab/tab.component.html","../../../libs/ngx-slice-kit/src/lib/navigation/tabs/tabs.component.ts","../../../libs/ngx-slice-kit/src/lib/navigation/tabs/tabs.component.html","../../../libs/ngx-slice-kit/src/lib/navigation/tabs/tabs.module.ts","../../../libs/ngx-slice-kit/src/lib/navigation/navigation.module.ts","../../../libs/ngx-slice-kit/src/lib/core/theme/theme.directive.ts","../../../libs/ngx-slice-kit/src/lib/core/theme/theme.module.ts","../../../libs/ngx-slice-kit/src/lib/slice-kit.module.ts","../../../libs/ngx-slice-kit/src/lib/layout/loading/loading.component.ts","../../../libs/ngx-slice-kit/src/lib/layout/loading/loading.component.html","../../../libs/ngx-slice-kit/src/lib/layout/loading/loading.directive.ts","../../../libs/ngx-slice-kit/src/lib/layout/loading/loading.service.ts","../../../libs/ngx-slice-kit/src/lib/core/markdown/markdown.service.ts","../../../libs/ngx-slice-kit/src/lib/dropdowns/dropdown.model.ts","../../../libs/ngx-slice-kit/src/lib/dropdowns/dropdown-option.model.ts","../../../libs/ngx-slice-kit/src/lib/layout/table/table.component.ts","../../../libs/ngx-slice-kit/src/lib/layout/table/table.component.html","../../../libs/ngx-slice-kit/src/lib/layout/table/table.module.ts","../../../libs/ngx-slice-kit/src/lib/overlay/overlay.directive.ts","../../../libs/ngx-slice-kit/src/lib/overlay/overlay.component.ts","../../../libs/ngx-slice-kit/src/lib/overlay/overlay.component.html","../../../libs/ngx-slice-kit/src/lib/overlay/overlay.module.ts","../../../libs/ngx-slice-kit/src/lib/overlay/overlay.service.ts","../../../libs/ngx-slice-kit/src/lib/overlay/overlay.model.ts","../../../libs/ngx-slice-kit/src/lib/modals/alert/alert.service.ts","../../../libs/ngx-slice-kit/src/lib/modals/dialog/dialog.service.ts","../../../libs/ngx-slice-kit/src/lib/modals/popup/popup.service.ts","../../../libs/ngx-slice-kit/src/public-api.ts","../../../libs/ngx-slice-kit/src/ngx-slice-kit.ts"],"sourcesContent":["import {animate, AnimationQueryMetadata, group, query as q, style, transition, trigger} from '@angular/animations';\n\nexport function query(s, a): AnimationQueryMetadata {\n    return q(s, a, {optional: true});\n}\n\nconst left = [\n    style({position: 'relative'}),\n    query(':enter, :leave', style({position: 'absolute', width: '100%'})),\n    group([\n        query(\n            ':enter',\n            [style({transform: 'translateX(-100%)'}), animate('0.6s ease-out', style({transform: 'translateX(0%)'}))]\n        ),\n        query(\n            ':leave',\n            [style({transform: 'translateX(0%)'}), animate('0.6s ease-out', style({transform: 'translateX(100%)'}))]\n        ),\n    ]),\n];\n\nconst right = [\n    style({position: 'relative'}),\n    query(':enter, :leave', style({position: 'absolute', width: '100%'})),\n    group([\n        query(\n            ':enter',\n            [style({transform: 'translateX(100%)'}), animate('0.6s ease-out', style({transform: 'translateX(0%)'}))]\n        ),\n        query(\n            ':leave',\n            [style({transform: 'translateX(0%)'}), animate('0.6s ease-out', style({transform: 'translateX(-100%)'}))]\n        ),\n    ]),\n];\n\nexport const slideInAnimation =\n    trigger('routeAnimations', [\n        transition(':increment', right),\n        transition(':decrement', left),\n    ]);\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class I17rService {\n\n    public currentLang$: BehaviorSubject<string> = new BehaviorSubject<string>('en');\n\n    constructor() {\n    }\n\n    public get currentLang(): string {\n        return this.currentLang$.getValue();\n    }\n\n    public set currentLang(lang: string) {\n        this.currentLang$.next(lang);\n    }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { I17rService } from './i17r.service';\n\n@Pipe({\n    name: 'i17r'\n})\nexport class I17rPipe implements PipeTransform {\n\n    constructor(\n        private i17r: I17rService,\n    ) {\n    }\n\n    public transform(value: string, lang?: string): string {\n        if (!lang || !lang.length) {\n            lang = this.i17r.currentLang;\n        }\n\n        console.log(`[I17rPipe] current value: ${value}; language: ${lang}`);\n\n        return '';\n    }\n\n}\n","import { Component } from '@angular/core';\n\n@Component({\n    selector: 'sdk-markdown',\n    templateUrl: './markdown.component.html',\n    styleUrls: ['./markdown.component.scss']\n})\nexport class MarkdownComponent {\n\n    constructor() {\n    }\n}\n","<p>markdown works!</p>\n","import { Directive } from '@angular/core';\n\n@Directive({\n    selector: '[sdkMarkdown]'\n})\nexport class MarkdownDirective {\n\n    constructor() {\n    }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n    name: 'markdown'\n})\nexport class MarkdownPipe implements PipeTransform {\n\n    constructor(\n        private sanitizer: DomSanitizer\n    ) {\n    }\n\n    public transform(value: string, ...args: any[]): SafeHtml {\n        return this.sanitizer.bypassSecurityTrustHtml(value);\n    }\n\n}\n","import { Directive, ElementRef, Inject, OnDestroy, OnInit, PLATFORM_ID } from '@angular/core';\nimport { NavigationEnd, Router, RouterEvent } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { isPlatformBrowser } from '@angular/common';\n\n@Directive({\n    selector: '[sdkNavigationScroll]'\n})\nexport class NavigationScrollDirective implements OnInit, OnDestroy {\n\n    private sub: Subscription;\n\n    constructor(\n        @Inject(PLATFORM_ID) private platformId: any,\n        private elementRef: ElementRef,\n        private router: Router\n    ) {\n    }\n\n    public initNavSub(): void {\n        /**\n         * Init router event subscription\n         */\n        this.elementRef.nativeElement.style['scroll-behavior'] = 'smooth';\n        this.sub = this.router.events.subscribe((event: RouterEvent) => {\n            if (event instanceof NavigationEnd) {\n                this.elementRef.nativeElement.scrollTop = 0;\n            }\n        });\n    }\n\n    public ngOnInit(): void {\n        if (isPlatformBrowser(this.platformId)) {\n            this.initNavSub();\n        }\n    }\n\n    public ngOnDestroy(): void {\n        if (this.sub) {\n            this.sub.unsubscribe();\n        }\n    }\n}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\n\nimport { I17rPipe } from './i17r/i17r.pipe';\nimport { MarkdownComponent } from './markdown/markdown.component';\nimport { MarkdownDirective } from './markdown/markdown.directive';\nimport { MarkdownPipe } from './markdown/markdown.pipe';\nimport { NavigationScrollDirective } from './directives/navigation-scroll.directive';\n\nconst moduleDeclarations = [\n    I17rPipe,\n    MarkdownComponent,\n    MarkdownDirective,\n    MarkdownPipe,\n    NavigationScrollDirective,\n];\n\n@NgModule({\n    imports: [\n        CommonModule,\n        RouterModule\n    ],\n    declarations: moduleDeclarations,\n    exports: moduleDeclarations,\n    providers: [],\n    schemas: [\n        CUSTOM_ELEMENTS_SCHEMA,\n        NO_ERRORS_SCHEMA,\n    ]\n})\nexport class CoreModule {\n}\n\n","import { Component, ElementRef, HostBinding, HostListener, Input, OnInit, Renderer2, ViewEncapsulation } from '@angular/core';\n\nconst AVAILABLE_SIZE_CLASS_NAMES = [\n    'wide',\n    'full-width'\n];\n\nconst BUTTON_CLASS_NAMES = [\n    'sdk-base-button',\n    'sdk-flat-button',\n    'sdk-raised-button',\n    'sdk-stroked-button',\n    'sdk-round-button',\n    'sdk-icon-button',\n];\n\n@Component({\n    // eslint-disable-next-line @angular-eslint/component-selector\n    selector: '[sdk-base-button], [sdk-flat-button], [sdk-raised-button], [sdk-stroked-button], [sdk-round-button], [sdk-icon-button]',\n    // templateUrl: './button.component.html',\n    template: `\n        <ng-content></ng-content>\n    `,\n    styleUrls: ['./button.component.scss'],\n    encapsulation: ViewEncapsulation.None\n})\nexport class ButtonComponent implements OnInit {\n\n    @Input() public color: string = 'primary';\n    @Input() public size: 'wide' | 'full-width';\n    @Input() public small: boolean;\n    @Input() @HostBinding('class.disabled')\n    public disabled: boolean;\n    // @Input() public style: any;\n    // @Input() public className: string;\n\n    constructor(\n        private elementRef: ElementRef,\n        private renderer: Renderer2\n    ) {\n        const elem = this.elementRef.nativeElement;\n\n        /**\n         * set base 'sdk-button' class\n         */\n        this.renderer.addClass(elem, 'sdk-button');\n\n        /**\n         * check if specified any button class types\n         */\n        for (const attr of BUTTON_CLASS_NAMES) {\n            if (elem.hasAttribute(attr)) {\n                this.renderer.addClass(elem, attr);\n            }\n        }\n    }\n\n    @HostListener('keypress', ['$event'])\n    public onKeyup(ev: KeyboardEvent): void {\n        if (ev.code === 'Space' || ev.key === 'Space' || ev.code === 'Enter' || ev.key === 'Enter') {\n            ev.preventDefault();\n            ev.stopPropagation();\n        }\n    }\n\n    public hasHostAttribute(attr: string): boolean {\n        return this.elementRef.nativeElement.hasAttribute(attr);\n    }\n\n    public ngOnInit(): void {\n        /**\n         * set button size if specified\n         */\n        if (AVAILABLE_SIZE_CLASS_NAMES.includes(this.size)) {\n            this.renderer.addClass(this.elementRef.nativeElement, `sdk-button--${this.size}`);\n        }\n\n        /**\n         * set button color if specified\n         */\n        this.renderer.addClass(this.elementRef.nativeElement, `sdk-button--${this.color}`);\n\n        /**\n         * set button small size if specified\n         */\n        if (this.small) {\n            this.renderer.addClass(this.elementRef.nativeElement, `sdk-button--small`);\n        }\n    }\n}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ButtonComponent } from './button.component';\n\n\n@NgModule({\n    declarations: [\n        ButtonComponent\n    ],\n    exports: [\n        ButtonComponent\n    ],\n    imports: [\n        CommonModule\n    ]\n})\nexport class ButtonModule {\n}\n","import {\n    AfterContentInit,\n    Component,\n    ContentChildren,\n    ElementRef,\n    EventEmitter,\n    HostListener,\n    Input,\n    Output,\n    QueryList,\n    Renderer2,\n} from '@angular/core';\nimport { ButtonComponent } from '../button/button.component';\nimport { ThemeColors } from '../../core/theme/theme.model';\n\n@Component({\n    selector: 'sdk-button-group',\n    templateUrl: './button-group.component.html',\n    styleUrls: ['./button-group.component.scss']\n})\nexport class ButtonGroupComponent implements AfterContentInit {\n\n    @ContentChildren(ButtonComponent, {read: ElementRef}) public btnGroup!: QueryList<ElementRef>;\n\n    @Input() public color: ThemeColors = 'primary';\n\n    @Output() public clicked: EventEmitter<any> = new EventEmitter();\n\n    constructor(\n        private renderer: Renderer2,\n    ) {\n    }\n\n    @HostListener('click', ['$event'])\n    public onClick(event): void {\n        const target = event.target;\n\n        if (target.tagName !== 'BUTTON') {\n            return;\n        }\n\n        this.btnGroup.forEach(btn => this.removeActiveClass(btn.nativeElement));\n        this.renderer.addClass(target, 'active');\n\n        this.clicked.emit({element: event.target, index: target.getAttribute('btn-group-index')});\n    }\n\n    public removeActiveClass(element): void {\n        this.renderer.removeClass(element, 'active');\n    }\n\n    public ngAfterContentInit(): void {\n        this.btnGroup.forEach((btn, index) => {\n            this.renderer.setAttribute(btn.nativeElement, 'btn-group-index', `${index}`);\n        });\n    }\n}\n","<div class=\"sdk-button-group-container sdk-button-group-container--{{color}}\">\n    <ng-content select=\"[sdk-base-button]\"></ng-content>\n    <ng-content select=\"[sdk-raised-button]\"></ng-content>\n    <ng-content select=\"[sdk-flat-button]\"></ng-content>\n    <ng-content select=\"[sdk-stroked-button]\"></ng-content>\n    <ng-content select=\"[sdk-round-button]\"></ng-content>\n</div>\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ButtonGroupComponent } from './button-group.component';\n\n@NgModule({\n    declarations: [\n        ButtonGroupComponent\n    ],\n    exports: [\n        ButtonGroupComponent\n    ],\n    imports: [\n        CommonModule\n    ]\n})\nexport class ButtonGroupModule {\n}\n","export const GLYPHS = {\n    '18plus': `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\">\n<path d=\"M1.333 7.327c0-1.469 1.19-2.66 2.66-2.66h24.013c1.469 0 2.66 1.19 2.66 2.66v18.68c0 1.469-1.19 2.66-2.66 2.66h-24.013c-1.469 0-2.66-1.19-2.66-2.66v-18.68zM4 26h24v-18.667h-24v18.667zM5.333 14.677v-1.419c0.659-0.029 1.119-0.073 1.383-0.132 0.42-0.093 0.761-0.278 1.024-0.556 0.181-0.19 0.317-0.444 0.41-0.761 0.054-0.19 0.081-0.332 0.081-0.424h1.734v10.61h-2.137v-7.317h-2.495zM13.626 20.128c0.271 0.288 0.645 0.432 1.123 0.432s0.852-0.144 1.123-0.432c0.271-0.288 0.406-0.693 0.406-1.215 0-0.541-0.138-0.952-0.413-1.233s-0.648-0.421-1.116-0.421c-0.468 0-0.84 0.14-1.116 0.421s-0.413 0.691-0.413 1.233c0 0.522 0.135 0.927 0.406 1.215zM11.46 17.436c0.271-0.483 0.667-0.846 1.189-1.090-0.512-0.341-0.845-0.711-0.999-1.108s-0.23-0.77-0.23-1.116c0-0.771 0.29-1.428 0.871-1.972s1.4-0.816 2.458-0.816c1.059 0 1.878 0.272 2.459 0.816s0.871 1.201 0.871 1.972c0 0.346-0.077 0.718-0.23 1.116s-0.487 0.743-0.999 1.035c0.522 0.293 0.915 0.68 1.178 1.163s0.395 1.022 0.395 1.617c0 0.893-0.33 1.652-0.991 2.279s-1.584 0.94-2.769 0.94c-1.185 0-2.083-0.313-2.693-0.94s-0.915-1.387-0.915-2.279c0-0.595 0.135-1.134 0.406-1.617zM13.765 15.299c0.237 0.244 0.565 0.366 0.984 0.366 0.424 0 0.752-0.122 0.984-0.366s0.348-0.559 0.348-0.944c0-0.419-0.116-0.748-0.348-0.984s-0.56-0.355-0.984-0.355c-0.419 0-0.748 0.118-0.984 0.355s-0.355 0.565-0.355 0.984c0 0.385 0.118 0.7 0.355 0.944zM22.667 14h-2.667v1.333h2.667v2.667h1.333v-2.667h2.667v-1.333h-2.667v-2.667h-1.333v2.667z\" fill=\"var(--base)\" fill-opacity=\"1\"></path>\n</svg>`,\n\n    add: `<svg class=\"add\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12 2C11.4477 2 11 2.44772 11 3V11H3C2.44772 11 2 11.4477 2 12C2 12.5523 2.44772 13 3 13H11V21C11 21.5523 11.4477 22 12 22C12.5523 22 13 21.5523 13 21V13H21C21.5523 13 22 12.5523 22 12C22 11.4477 21.5523 11 21 11H13V3C13 2.44772 12.5523 2 12 2Z\" fill=\"var(--base)\" fill-opacity=\"1\"/></svg>`,\n\n    alert: `<svg class=\"alert\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"\n><g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"><g id=\"error-caption\"><path d=\"M6.82842,1.171572 C7.57858,0.421426 8.59598,0 9.65686,0 L14.34314,0 C15.40402,0 16.42142,0.421428 17.17158,1.171572 L22.8284,6.82842 C23.5786,7.57858 24,8.59598 24,9.65686 L24,14.34314 C24,15.40402 23.5786,16.42142 22.8284,17.17158 L17.17158,22.8284 C16.42142,23.5786 15.40402,24 14.34314,24 L9.65686,24 C8.59598,24 7.57858,23.5786 6.82842,22.8284 L1.171572,17.17158 C0.421426,16.42142 0,15.40402 0,14.34314 L0,9.65686 C0,8.59598 0.421428,7.57858 1.171572,6.82842 L6.82842,1.171572 Z M12,4 C12.99962,4 13.80998,4.81036 13.80998,5.80998 C13.80998,5.87012 13.80698,5.93022 13.801,5.99008 L13.0995,13.00496 C13.04302,13.56984 12.56768,14 12,14 C11.43232,14 10.95698,13.56984 10.9005,13.00496 L10.199,5.99008 C10.09954,4.99542 10.82524,4.10844 11.8199,4.00898 C11.87974,4.003 11.93986,4 12,4 Z M14,18 C14,16.89542 13.10456,16 12,16 C10.89544,16 10,16.89542 10,18 C10,19.10458 10.89544,20 12,20 C13.10456,20 14,19.10458 14,18 Z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></g></g></svg>`,\n\n    ambassador: `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M15.206 6.319c0.439-0.422 1.154-0.428 1.589 0 0 0 7.206 6.422 7.206 13.015 0 4.704-3.451 8-8 8-4.339 0-8-3.296-8-8 0-6.592 7.206-13.015 7.206-13.015zM16 24.667c3.139 0 5.333-2.164 5.333-5.333 0-2.201-1.136-4.771-3.078-7.391-0.717-0.967-1.489-1.867-2.26-2.672-0.455-0.475-0.799-0.804-1.069-1.049 0.603 0.592 1.536 0.59 2.054 0.089-0.175 0.156-0.519 0.485-0.975 0.961-0.771 0.805-1.544 1.706-2.26 2.672-1.943 2.62-3.078 5.191-3.078 7.391 0 3.087 2.319 5.333 5.333 5.333z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    android: `<svg class=\"android\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M28 12c-1.1 0-2 0.9-2 2v8c0 1.1 0.9 2 2 2s2-0.9 2-2v-8c0-1.1-0.9-2-2-2zM4 12c-1.1 0-2 0.9-2 2v8c0 1.1 0.9 2 2 2s2-0.9 2-2v-8c0-1.1-0.9-2-2-2zM7 23c0 1.657 1.343 3 3 3v0 4c0 1.1 0.9 2 2 2s2-0.9 2-2v-4h4v4c0 1.1 0.9 2 2 2s2-0.9 2-2v-4c1.657 0 3-1.343 3-3v-11h-18v11z\" fill=\"var(--base)\" fill-opacity=\"1\"></path><path d=\"M24.944 10c-0.304-2.746-1.844-5.119-4.051-6.551l1.001-2.001c0.247-0.494 0.047-1.095-0.447-1.342s-1.095-0.047-1.342 0.447l-1.004 2.009-0.261-0.104c-0.893-0.297-1.848-0.458-2.84-0.458s-1.947 0.161-2.84 0.458l-0.261 0.104-1.004-2.009c-0.247-0.494-0.848-0.694-1.342-0.447s-0.694 0.848-0.447 1.342l1.001 2.001c-2.207 1.433-3.747 3.805-4.051 6.551v1h17.944v-1h-0.056zM13 8c-0.552 0-1-0.448-1-1s0.447-0.999 0.998-1c0.001 0 0.002 0 0.003 0s0.001-0 0.002-0c0.551 0.001 0.998 0.448 0.998 1s-0.448 1-1 1zM19 8c-0.552 0-1-0.448-1-1s0.446-0.999 0.998-1c0 0 0.001 0 0.002 0s0.002-0 0.003-0c0.551 0.001 0.998 0.448 0.998 1s-0.448 1-1 1z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    appleinc: `<svg class=\"appleinc\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M24.734 17.003c-0.040-4.053 3.305-5.996 3.454-6.093-1.88-2.751-4.808-3.127-5.851-3.171-2.492-0.252-4.862 1.467-6.127 1.467-1.261 0-3.213-1.43-5.28-1.392-2.716 0.040-5.221 1.579-6.619 4.012-2.822 4.897-0.723 12.151 2.028 16.123 1.344 1.944 2.947 4.127 5.051 4.049 2.026-0.081 2.793-1.311 5.242-1.311s3.138 1.311 5.283 1.271c2.18-0.041 3.562-1.981 4.897-3.931 1.543-2.255 2.179-4.439 2.216-4.551-0.048-0.022-4.252-1.632-4.294-6.473zM20.705 5.11c1.117-1.355 1.871-3.235 1.665-5.11-1.609 0.066-3.559 1.072-4.713 2.423-1.036 1.199-1.942 3.113-1.699 4.951 1.796 0.14 3.629-0.913 4.747-2.264z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    bold: `<svg class=\"bold\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M20.8 16.387c1.293-0.893 2.2-2.36 2.2-3.72 0-3.013-2.333-5.333-5.333-5.333h-8.333v18.667h9.387c2.787 0 4.947-2.267 4.947-5.053 0-2.027-1.147-3.76-2.867-4.56v0zM13.333 10.667h4c1.107 0 2 0.893 2 2s-0.893 2-2 2h-4v-4zM18 22.667h-4.667v-4h4.667c1.107 0 2 0.893 2 2s-0.893 2-2 2v0z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    bookmark: `<svg class=\"bookmark\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M28.547 16.107l-12-12c-0.48-0.48-1.147-0.773-1.88-0.773h-9.333c-1.467 0-2.667 1.2-2.667 2.667v9.333c0 0.733 0.293 1.4 0.787 1.893l12 12c0.48 0.48 1.147 0.773 1.88 0.773s1.4-0.293 1.88-0.787l9.333-9.333c0.493-0.48 0.787-1.147 0.787-1.88s-0.307-1.413-0.787-1.893v0zM7.333 10c-1.107 0-2-0.893-2-2s0.893-2 2-2c1.107 0 2 0.893 2 2s-0.893 2-2 2v0zM23.027 21.027l-5.693 5.693-5.693-5.693c-0.6-0.613-0.973-1.44-0.973-2.36 0-1.84 1.493-3.333 3.333-3.333 0.92 0 1.76 0.373 2.36 0.987l0.973 0.96 0.973-0.973c0.6-0.6 1.44-0.973 2.36-0.973 1.84 0 3.333 1.493 3.333 3.333 0 0.92-0.373 1.76-0.973 2.36v0z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    calendar: `<svg class=\"calendar\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M12 15.333h-2.667v2.667h2.667v-2.667zM17.333 15.333h-2.667v2.667h2.667v-2.667zM22.667 15.333h-2.667v2.667h2.667v-2.667zM12 20.667h-2.667v2.667h2.667v-2.667zM17.333 20.667h-2.667v2.667h2.667v-2.667zM22.667 20.667h-2.667v2.667h2.667v-2.667zM25.333 6h-1.333v-2.667h-2.667v2.667h-10.667v-2.667h-2.667v2.667h-1.333c-1.48 0-2.653 1.2-2.653 2.667l-0.013 18.667c0 1.467 1.187 2.667 2.667 2.667h18.667c1.467 0 2.667-1.2 2.667-2.667v-18.667c0-1.467-1.2-2.667-2.667-2.667v0zM6.667 27.333v-16h18.667v16h-18.667z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    'calendar-add': `<svg class=\"calendar-add\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M14.667 18v-2.667h2.667v2.667h2.667v2.667h-2.667v2.667h-2.667v-2.667h-2.667v-2.667h2.667zM25.333 6h-1.333v-2.667h-2.667v2.667h-10.667v-2.667h-2.667v2.667h-1.333c-1.48 0-2.653 1.2-2.653 2.667l-0.013 18.667c0 1.467 1.187 2.667 2.667 2.667h18.667c1.467 0 2.667-1.2 2.667-2.667v-18.667c0-1.467-1.2-2.667-2.667-2.667zM6.667 27.333v-16h18.667v16h-18.667z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    camera: `<svg class=\"camera\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M12 4.667l-2.44 2.667h-4.227c-1.467 0-2.667 1.2-2.667 2.667v16c0 1.467 1.2 2.667 2.667 2.667h21.333c1.467 0 2.667-1.2 2.667-2.667v-16c0-1.467-1.2-2.667-2.667-2.667h-4.227l-2.44-2.667h-8zM16 24.667c-3.68 0-6.667-2.987-6.667-6.667s2.987-6.667 6.667-6.667c3.68 0 6.667 2.987 6.667 6.667s-2.987 6.667-6.667 6.667zM16 22.267c2.356 0 4.267-1.91 4.267-4.267s-1.91-4.267-4.267-4.267c-2.356 0-4.267 1.91-4.267 4.267s1.91 4.267 4.267 4.267z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    car: `<svg class=\"car\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M25.227 7.347c-0.267-0.787-1.013-1.347-1.893-1.347h-14.667c-0.88 0-1.613 0.56-1.893 1.347l-2.773 7.987v10.667c0 0.733 0.6 1.333 1.333 1.333h1.333c0.733 0 1.333-0.6 1.333-1.333v-1.333h16v1.333c0 0.733 0.6 1.333 1.333 1.333h1.333c0.733 0 1.333-0.6 1.333-1.333v-10.667l-2.773-7.987zM8.667 20.667c-1.107 0-2-0.893-2-2s0.893-2 2-2c1.107 0 2 0.893 2 2s-0.893 2-2 2v0zM23.333 20.667c-1.107 0-2-0.893-2-2s0.893-2 2-2c1.107 0 2 0.893 2 2s-0.893 2-2 2v0zM6.667 14l2-6h14.667l2 6h-18.667z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    chat: `<svg class=\"chat\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M26.667 6h-21.333c-1.467 0-2.653 1.2-2.653 2.667l-0.013 16c0 1.467 1.2 2.667 2.667 2.667h21.333c1.467 0 2.667-1.2 2.667-2.667v-16c0-1.467-1.2-2.667-2.667-2.667v0zM26.667 11.333l-10.667 6.667-10.667-6.667v-2.667l10.667 6.667 10.667-6.667v2.667z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    check: `<svg class=\"check\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" fill=\"var(--base)\" fill-opacity=\"1\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M20.6402 5.23178C21.0645 5.58535 21.1218 6.21591 20.7682 6.64019L10.7682 18.6402C10.5884 18.856 10.326 18.9862 10.0453 18.999C9.76464 19.0117 9.49156 18.9058 9.29289 18.7071L3.29289 12.7071C2.90237 12.3166 2.90237 11.6834 3.29289 11.2929C3.68342 10.9024 4.31658 10.9024 4.70711 11.2929L9.9328 16.5186L19.2318 5.35982C19.5853 4.93554 20.2159 4.87822 20.6402 5.23178Z\"/></svg>`,\n\n    chevron_down: `<svg class=\"chevron_down\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" fill=\"var(--base)\" fill-opacity=\"1\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.18355 9.33149C4.72495 8.81557 5.0912 8 5.78147 8H18.2185C18.9088 8 19.275 8.81557 18.8165 9.33149L12.7474 16.1592C12.3496 16.6067 11.6504 16.6067 11.2526 16.1592L5.18355 9.33149Z\"/></svg>`,\n\n    chevron_left: `<svg class=\"chevron_left\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" fill=\"var(--base)\" fill-opacity=\"1\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14.1677 5.20305C14.6839 4.74577 15.5 5.11097 15.5 5.79927L15.5 18.2007C15.5 18.889 14.6839 19.2542 14.1677 18.7969L7.33584 12.7453C6.88805 12.3486 6.88805 11.6514 7.33584 11.2547L14.1677 5.20305Z\"/></svg>`,\n\n    chevron_right: `<svg class=\"chevron_right\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" fill=\"var(--base)\" fill-opacity=\"1\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8.33231 18.7969C7.81607 19.2542 7 18.889 7 18.2007L7 5.79927C7 5.11097 7.81607 4.74577 8.33231 5.20305L15.1642 11.2547C15.6119 11.6514 15.6119 12.3486 15.1642 12.7453L8.33231 18.7969Z\"/></svg>`,\n\n    chevron_up: `<svg class=\"chevron_up\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M18.8165 15.6685C19.2751 16.1844 18.9088 17 18.2185 17L5.78148 17C5.0912 17 4.72496 16.1844 5.18356 15.6685L11.2526 8.84083C11.6504 8.39332 12.3496 8.39332 12.7474 8.84083L18.8165 15.6685Z\" fill=\"var(--base)\" fill-opacity=\"1\" /></svg>`,\n\n    close: `<svg class=\"close\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4.33474 4.33474C3.88842 4.78105 3.88842 5.50467 4.33474 5.95098L10.3838 12L4.33474 18.049C3.88842 18.4953 3.88842 19.219 4.33474 19.6653C4.78105 20.1116 5.50467 20.1116 5.95098 19.6653L12 13.6162L18.049 19.6653C18.4953 20.1116 19.219 20.1116 19.6653 19.6653C20.1116 19.219 20.1116 18.4953 19.6653 18.049L13.6162 12L19.6653 5.95098C20.1116 5.50467 20.1116 4.78105 19.6653 4.33474C19.219 3.88842 18.4953 3.88842 18.049 4.33474L12 10.3838L5.95098 4.33474C5.50467 3.88842 4.78105 3.88842 4.33474 4.33474Z\" fill=\"var(--base)\" fill-opacity=\"1\" /></svg>`,\n\n    comments: `<svg class=\"comments\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M26.667 3.333h-21.333c-1.467 0-2.653 1.2-2.653 2.667l-0.013 24 5.333-5.333h18.667c1.467 0 2.667-1.2 2.667-2.667v-16c0-1.467-1.2-2.667-2.667-2.667v0zM8 12.667h16v2.667h-16v-2.667zM18.667 19.333h-10.667v-2.667h10.667v2.667zM24 11.333h-16v-2.667h16v2.667z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    content: `<svg class=\"content\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M5.333 4.667v2.667h21.333v-2.667h-21.333zM5.333 26v2.667h21.333v-2.667h-21.333zM5.333 11.327c0-0.733 0.593-1.327 1.335-1.327h18.664c0.737 0 1.334 0.608 1.334 1.327v10.679c0 0.733-0.593 1.327-1.334 1.327h-18.664c-0.737 0-1.335-0.608-1.335-1.327v-10.679z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    'content-full': `<svg class=\"content-full\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\">\n<path d=\"M5.333 4.667v2.667h21.333v-2.667h-21.333zM5.333 26v2.667h21.333v-2.667h-21.333zM2.667 11.327c0-0.733 0.607-1.327 1.322-1.327h24.022c0.73 0 1.322 0.608 1.322 1.327v10.679c0 0.733-0.607 1.327-1.322 1.327h-24.022c-0.73 0-1.322-0.608-1.322-1.327v-10.679z\" fill=\"var(--base)\" fill-opacity=\"1\"></path>\n</svg>`,\n\n    delete: `<svg class=\"delete\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M16 30c-7.364 0-13.333-5.97-13.333-13.333s5.97-13.333 13.333-13.333c7.364 0 13.333 5.97 13.333 13.333s-5.97 13.333-13.333 13.333zM16 14.588l-4.154-4.154c-0.568-0.568-1.507-0.577-2.081-0.003-0.578 0.578-0.573 1.506 0.003 2.081l4.154 4.154-4.154 4.154c-0.568 0.568-0.577 1.507-0.003 2.081 0.578 0.578 1.506 0.573 2.081-0.003l4.154-4.154 4.154 4.154c0.568 0.568 1.507 0.577 2.081 0.003 0.578-0.578 0.573-1.506-0.003-2.081l-4.154-4.154 4.154-4.154c0.568-0.568 0.577-1.507 0.003-2.081-0.578-0.578-1.506-0.573-2.081 0.003l-4.154 4.154z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    discussions: `<svg class=\"discussions\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M28 8.667h-2.667v12h-17.333v2.667c0 0.733 0.6 1.333 1.333 1.333h14.667l5.333 5.333v-20c0-0.733-0.6-1.333-1.333-1.333v0zM22.667 16.667v-12c0-0.733-0.6-1.333-1.333-1.333h-17.333c-0.733 0-1.333 0.6-1.333 1.333v18.667l5.333-5.333h13.333c0.733 0 1.333-0.6 1.333-1.333v0z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    dots_x: `<svg class=\"dots_x\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M18 14C16.8954 14 16 13.1046 16 12C16 10.8954 16.8954 10 18 10C19.1046 10 20 10.8954 20 12C20 13.1046 19.1046 14 18 14Z\" fill=\"var(--base)\" fill-opacity=\"1\"/><path d=\"M12 14C10.8954 14 10 13.1046 10 12C10 10.8954 10.8954 10 12 10C13.1046 10 14 10.8954 14 12C14 13.1046 13.1046 14 12 14Z\" fill=\"var(--base)\" fill-opacity=\"1\"/><path d=\"M4 12C4 13.1046 4.89543 14 6 14C7.10457 14 8 13.1046 8 12C8 10.8954 7.10457 10 6 10C4.89543 10 4 10.8954 4 12Z\" fill=\"var(--base)\" fill-opacity=\"1\"/></svg>`,\n\n    dots_y: `<svg class=\"dots_y\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14 6C14 7.10457 13.1046 8 12 8C10.8954 8 10 7.10457 10 6C10 4.89543 10.8954 4 12 4C13.1046 4 14 4.89543 14 6ZM14 12C14 13.1046 13.1046 14 12 14C10.8954 14 10 13.1046 10 12C10 10.8954 10.8954 10 12 10C13.1046 10 14 10.8954 14 12ZM12 20C13.1046 20 14 19.1046 14 18C14 16.8954 13.1046 16 12 16C10.8954 16 10 16.8954 10 18C10 19.1046 10.8954 20 12 20Z\" fill=\"var(--base)\" fill-opacity=\"1\"/></svg>`,\n\n    down: `<svg class=\"down\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M9.88 12.667l6.12 6.107 6.12-6.107 1.88 1.88-8 8-8-8z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    download: `<svg class=\"download\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10.9977 2.92638C10.9977 2.68878 11.0348 2.53963 11.1045 2.40926C11.1742 2.27889 11.2766 2.17658 11.4069 2.10685C11.5373 2.03713 11.6864 2 11.924 2H12.0713C12.3089 2 12.458 2.03713 12.5884 2.10685C12.7188 2.17658 12.8211 2.27889 12.8908 2.40926C12.9605 2.53963 12.9977 2.68878 12.9977 2.92638V14.9194L16.4186 12.1814C16.772 11.8982 17.2881 11.9552 17.5712 12.3086L17.8276 12.6286C18.0935 12.9605 18.04 13.4451 17.7081 13.711L17.6224 13.7809L12.6224 17.7809C12.2571 18.073 11.7382 18.073 11.373 17.7809L6.28859 13.711C5.95671 13.4451 5.90321 12.9605 6.1691 12.6286L6.42545 12.3086C6.7086 11.9552 7.22466 11.8982 7.5781 12.1814L8.49836 12.9199L10.9977 14.9194V2.92638ZM2 20C1.44772 20 1 20.4477 1 21C1 21.5523 1.44772 22 2 22H22C22.5523 22 23 21.5523 23 21C23 20.4477 22.5523 20 22 20H2Z\" fill=\"var(--base)\" fill-opacity=\"1\"/></svg>`,\n\n    dropdown: `<svg class=\"dropdown\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M17.832 18.627c-0.939 1.126-2.464 1.122-3.399 0l-3.268-3.921c-0.939-1.126-0.516-2.039 0.967-2.039h8.001c1.472 0 1.901 0.918 0.967 2.039l-3.268 3.921z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    'dropdown-up': `<svg class=\"dropdown-up\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M17.832 13.51c-0.939-1.126-2.464-1.122-3.399 0l-3.268 3.921c-0.939 1.126-0.516 2.039 0.967 2.039h8.001c1.472 0 1.901-0.918 0.967-2.039l-3.268-3.921z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    edit: `<svg class=\"edit\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M23.095 6.601c-0.4-0.401-0.951-0.601-1.476-0.601s-1.076 0.2-1.476 0.601l-10.809 10.821 5.905 5.911 10.809-10.821c0.826-0.827 0.826-2.129 0-2.956l-2.952-2.956zM12 25.534l-4.868-4.868-1.799 6.667 6.667-1.799zM18.667 24.667h8v2.667h-8v-2.667z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    facebook: `<svg class=\"facebook\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M18.667 10.667c0-0.4 0.267-0.667 0.667-0.667h2.667v-4h-4.667c-1.867 0-3.333 1.467-3.333 3.333v4h-2v4h2v10h4.667v-10h2.667l0.667-4h-3.333v-2.667z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    featured: `<svg class=\"featured\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M25.761 17.282l-2.165-2.467 0.302-3.266-3.204-0.728-1.677-2.822-3.017 1.296-3.017-1.296-1.677 2.822-3.204 0.719 0.302 3.266-2.165 2.476 2.165 2.467-0.302 3.274 3.204 0.728 1.677 2.822 3.017-1.304 3.017 1.296 1.677-2.822 3.204-0.728-0.302-3.266 2.165-2.467zM16 22c-0.736 0-1.333-0.592-1.333-1.333v0c0-0.736 0.592-1.333 1.333-1.333v0c0.736 0 1.333 0.592 1.333 1.333v0c0 0.736-0.592 1.333-1.333 1.333v0zM16 18c-0.736 0-1.333-0.591-1.333-1.346v-2.642c0-0.743 0.592-1.346 1.333-1.346v0c0.736 0 1.333 0.591 1.333 1.346v2.642c0 0.743-0.592 1.346-1.333 1.346v0z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    file: `<svg class=\"file\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3 20V4C3 2.34315 4.34315 1 6 1H12V7C12 8.65685 13.3431 10 15 10H21V20C21 21.6569 19.6569 23 18 23H6C4.34315 23 3 21.6569 3 20Z\" fill=\"var(--base)\" fill-opacity=\"1\"/><path d=\"M13.5 6.5V1L21 8.5H15.5C14.3954 8.5 13.5 7.60457 13.5 6.5Z\" fill=\"var(--base)\" fill-opacity=\"1\"/></svg>`,\n\n    flight: `<svg class=\"flight\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M29.333 22v-2.667l-10.667-6.667v-7.333c0-1.107-0.893-2-2-2s-2 0.893-2 2v7.333l-10.667 6.667v2.667l10.667-3.333v7.333l-2.667 2v2l4.667-1.333 4.667 1.333v-2l-2.667-2v-7.333l10.667 3.333z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    folder: `<svg class=\"folder\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9.32906 3H2C0.895431 3 0 3.89543 0 5V9H24V8C24 6.89543 23.1046 6 22 6H14.1709C13.429 6 12.7254 5.67044 12.2504 5.10046L11.2496 3.89954C10.7746 3.32956 10.071 3 9.32906 3Z\" fill=\"var(--base)\" fill-opacity=\"1\"/><path d=\"M24 10.5H0V20C0 21.1046 0.89543 22 2 22H22C23.1046 22 24 21.1046 24 20V10.5Z\" fill=\"var(--base)\" fill-opacity=\"1\"/></svg>`,\n\n    github: `<svg class=\"github\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M16 0.395c-8.836 0-16 7.163-16 16 0 7.069 4.585 13.067 10.942 15.182 0.8 0.148 1.094-0.347 1.094-0.77 0-0.381-0.015-1.642-0.022-2.979-4.452 0.968-5.391-1.888-5.391-1.888-0.728-1.849-1.776-2.341-1.776-2.341-1.452-0.993 0.11-0.973 0.11-0.973 1.606 0.113 2.452 1.649 2.452 1.649 1.427 2.446 3.743 1.739 4.656 1.33 0.143-1.034 0.558-1.74 1.016-2.14-3.554-0.404-7.29-1.777-7.29-7.907 0-1.747 0.625-3.174 1.649-4.295-0.166-0.403-0.714-2.030 0.155-4.234 0 0 1.344-0.43 4.401 1.64 1.276-0.355 2.645-0.532 4.005-0.539 1.359 0.006 2.729 0.184 4.008 0.539 3.054-2.070 4.395-1.64 4.395-1.64 0.871 2.204 0.323 3.831 0.157 4.234 1.026 1.12 1.647 2.548 1.647 4.295 0 6.145-3.743 7.498-7.306 7.895 0.574 0.497 1.085 1.47 1.085 2.963 0 2.141-0.019 3.864-0.019 4.391 0 0.426 0.288 0.925 1.099 0.768 6.354-2.118 10.933-8.113 10.933-15.18 0-8.837-7.164-16-16-16z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    googleplus: `<svg class=\"googleplus\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M16.024 26.999c-5.895 0-10.69-4.709-10.69-10.499s4.796-10.499 10.69-10.499c2.578 0 5.069 0.915 7.012 2.575l-2.719 3.068c-1.19-1.016-2.715-1.576-4.294-1.576-3.611 0-6.549 2.886-6.549 6.432s2.938 6.431 6.549 6.431c3.055 0 5.056-1.464 5.705-4.090h-5.655v-4.067h10.026v2.034c0 6.095-4.049 10.191-10.076 10.191v0z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    gotop: `<svg class=\"gotop\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M15.057 7.857l0.943-0.943 15.085 15.085-1.887 1.885-13.199-13.199-13.199 13.199-1.887-1.885 14.143-14.143z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    gplus: `<svg class=\"gplus\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M11.136 15.617v3.432c0 0 3.254-0.004 4.579-0.004-0.717 2.225-1.833 3.437-4.579 3.437-2.779 0-4.947-2.305-4.947-5.148s2.169-5.148 4.947-5.148c1.469 0 2.418 0.528 3.288 1.265 0.697-0.713 0.639-0.815 2.411-2.527-1.505-1.402-3.505-2.256-5.699-2.256-4.678 0-8.47 3.88-8.47 8.667s3.792 8.667 8.47 8.667c6.992 0 8.701-6.23 8.134-10.383h-8.134zM26.398 15.789v-3.003h-2.096v3.003h-3.019v2.145h3.019v3.089h2.096v-3.089h2.935v-2.145h-2.935z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    hashtag: `<svg class=\"hashtag\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M15.667 14h2.667l0.833-6.667h2.667l-0.833 6.667h6.667l-0.333 2.667h-6.667l-0.333 2.667h6.667l-0.333 2.667h-6.667l-0.833 6.667h-2.667l0.833-6.667h-2.667l-0.833 6.667h-2.667l0.833-6.667h-6.667l0.333-2.667h6.667l0.333-2.667h-6.667l0.333-2.667h6.667l0.833-6.667h2.667l-0.833 6.667zM15.333 16.667l-0.333 2.667h2.667l0.333-2.667h-2.667z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    header: `<svg class=\"header\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M12 14v-6.667h-4v18.667h4v-8h8v8h4v-18.667h-4v6.667h-8z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    heart: `<svg class=\"heart\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M1 8.20063C1 12.7646 8.00549 18.8409 10.826 21.1023C11.5084 21.6494 12.4562 21.6502 13.1394 21.1042C15.9677 18.8442 23 12.7658 23 8.20063C23 4.3911 20.2447 2 17.0417 2C13.8386 2 12 5.3388 12 5.3388C12 5.3388 10.1614 2 6.95833 2C3.29767 2 1 4.8673 1 8.20063Z\" fill=\"var(--base)\" fill-opacity=\"1\"/></svg>`,\n\n    hotel: `<svg class=\"hotel\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M9.333 18c2.213 0 4-1.787 4-4s-1.787-4-4-4c-2.213 0-4 1.787-4 4s1.787 4 4 4v0zM25.333 10h-10.667v9.333h-10.667v-12h-2.667v20h2.667v-4h24v4h2.667v-12c0-2.947-2.387-5.333-5.333-5.333v0z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    instagram: `<svg class=\"instagram\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M15.983 6c-2.892 0-3.255 0.012-4.391 0.064-1.134 0.052-1.908 0.232-2.585 0.495-0.7 0.272-1.294 0.636-1.886 1.228s-0.956 1.186-1.228 1.886c-0.263 0.678-0.443 1.452-0.495 2.585-0.052 1.136-0.064 1.498-0.064 4.391s0.012 3.255 0.064 4.391c0.052 1.134 0.232 1.908 0.495 2.585 0.272 0.7 0.636 1.294 1.228 1.886s1.186 0.956 1.886 1.228c0.677 0.263 1.452 0.443 2.585 0.495 1.136 0.052 1.499 0.064 4.391 0.064s3.255-0.012 4.391-0.064c1.134-0.052 1.908-0.232 2.585-0.495 0.7-0.272 1.294-0.636 1.886-1.228s0.956-1.186 1.228-1.886c0.263-0.677 0.443-1.452 0.495-2.585 0.052-1.136 0.064-1.498 0.064-4.391s-0.012-3.255-0.064-4.391c-0.052-1.134-0.232-1.908-0.495-2.585-0.272-0.7-0.636-1.294-1.228-1.886s-1.186-0.956-1.886-1.228c-0.677-0.263-1.452-0.443-2.585-0.495-1.136-0.052-1.499-0.064-4.391-0.064zM15.983 7.919c2.844 0 3.18 0.011 4.303 0.062 1.038 0.047 1.602 0.221 1.977 0.367 0.497 0.193 0.852 0.424 1.225 0.797s0.604 0.727 0.797 1.225c0.146 0.375 0.319 0.939 0.367 1.978 0.051 1.123 0.062 1.46 0.062 4.303s-0.011 3.18-0.062 4.303c-0.047 1.038-0.221 1.602-0.367 1.978-0.193 0.497-0.424 0.852-0.797 1.225s-0.727 0.603-1.225 0.797c-0.375 0.146-0.939 0.319-1.977 0.367-1.123 0.051-1.46 0.062-4.303 0.062s-3.181-0.011-4.303-0.062c-1.038-0.047-1.602-0.221-1.977-0.367-0.497-0.193-0.852-0.424-1.225-0.797s-0.603-0.727-0.797-1.225c-0.146-0.375-0.319-0.939-0.367-1.978-0.051-1.123-0.062-1.46-0.062-4.303s0.011-3.18 0.062-4.303c0.047-1.038 0.221-1.602 0.367-1.977 0.193-0.497 0.424-0.852 0.797-1.225s0.727-0.603 1.225-0.797c0.375-0.146 0.939-0.319 1.977-0.367 1.123-0.051 1.46-0.062 4.303-0.062zM15.983 11.181c-3.020 0-5.469 2.449-5.469 5.469s2.448 5.469 5.469 5.469 5.469-2.448 5.469-5.469c0-3.020-2.448-5.469-5.469-5.469zM15.983 20.2c-1.961 0-3.55-1.589-3.55-3.55s1.589-3.55 3.55-3.55c1.961 0 3.55 1.589 3.55 3.55s-1.589 3.55-3.55 3.55zM22.946 10.965c0 0.706-0.572 1.278-1.278 1.278s-1.278-0.572-1.278-1.278c0-0.706 0.572-1.278 1.278-1.278s1.278 0.572 1.278 1.278z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    italic: `<svg class=\"italic\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M13.333 7.333v4h2.947l-4.56 10.667h-3.72v4h10.667v-4h-2.947l4.56-10.667h3.72v-4z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    link: `<svg class=\"link\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M5.2 16.667c0-2.28 1.853-4.133 4.133-4.133h5.333v-2.533h-5.333c-3.68 0-6.667 2.987-6.667 6.667s2.987 6.667 6.667 6.667h5.333v-2.533h-5.333c-2.28 0-4.133-1.853-4.133-4.133v0zM10.667 18h10.667v-2.667h-10.667v2.667zM22.667 10h-5.333v2.533h5.333c2.28 0 4.133 1.853 4.133 4.133s-1.853 4.133-4.133 4.133h-5.333v2.533h5.333c3.68 0 6.667-2.987 6.667-6.667s-2.987-6.667-6.667-6.667v0z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    linkedin: `<svg class=\"linkedin\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M3.339 12.363h5.197v16.304h-5.197v-16.304zM5.806 10.324h-0.038c-1.881 0-3.101-1.246-3.101-2.826 0-1.611 1.256-2.831 3.175-2.831 1.918 0 3.097 1.217 3.134 2.826 0 1.58-1.217 2.831-3.17 2.831zM29.333 28.667h-5.894v-8.437c0-2.208-0.922-3.716-2.949-3.716-1.551 0-2.413 1.017-2.814 1.998-0.15 0.352-0.127 0.842-0.127 1.332v8.823h-5.839c0 0 0.075-14.945 0-16.304h5.839v2.559c0.345-1.119 2.211-2.715 5.188-2.715 3.694 0 6.596 2.345 6.596 7.395v9.066h0z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    lock: `<svg class=\"lock\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M24 11.333h-1.333v-2.667c0-3.68-2.987-6.667-6.667-6.667s-6.667 2.987-6.667 6.667v2.667h-1.333c-1.467 0-2.667 1.2-2.667 2.667v13.333c0 1.467 1.2 2.667 2.667 2.667h16c1.467 0 2.667-1.2 2.667-2.667v-13.333c0-1.467-1.2-2.667-2.667-2.667v0zM16 23.333c-1.467 0-2.667-1.2-2.667-2.667s1.2-2.667 2.667-2.667c1.467 0 2.667 1.2 2.667 2.667s-1.2 2.667-2.667 2.667v0zM20.133 11.333h-8.267v-2.667c0-2.28 1.853-4.133 4.133-4.133s4.133 1.853 4.133 4.133v2.667z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    look: `<svg class=\"look\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M16 6c-8.485 0-13.333 9.482-13.333 10.667s4.848 10.667 13.333 10.667c8.485 0 13.333-9.482 13.333-10.667s-4.849-10.667-13.333-10.667v0zM16 23.778c-4.017 0-7.273-3.184-7.273-7.111s3.256-7.111 7.273-7.111c4.016 0 7.273 3.184 7.273 7.111s-3.256 7.111-7.273 7.111v0zM16 11.926c-2.678 0-4.848 2.123-4.848 4.741s2.171 4.741 4.848 4.741c2.677 0 4.848-2.123 4.848-4.741s-2.171-4.741-4.848-4.741v0z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    menu: `<svg class=\"menu\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M2 8C2 7.44772 2.44772 7 3 7H21C21.5523 7 22 7.44772 22 8C22 8.55228 21.5523 9 21 9H3C2.44772 9 2 8.55228 2 8ZM2 12C2 11.4477 2.44772 11 3 11H21C21.5523 11 22 11.4477 22 12C22 12.5523 21.5523 13 21 13H3C2.44772 13 2 12.5523 2 12ZM3 15C2.44772 15 2 15.4477 2 16C2 16.5523 2.44772 17 3 17H21C21.5523 17 22 16.5523 22 16C22 15.4477 21.5523 15 21 15H3Z\" fill=\"var(--base)\" fill-opacity=\"1\"/></svg>`,\n\n    next: `<svg class=\"next\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M26.142 17.609l0.943-0.943-15.085-15.085-1.886 1.886 13.199 13.199-13.199 13.199 1.886 1.886 14.142-14.142z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    'ngx-slice': `<svg class=\"ngx-slice\" id=\"Group_1319\" data-name=\"Group 1319\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 538.333 570.927\"><path id=\"Path_1631\" data-name=\"Path 1631\" d=\"M0,94.628,265.589,0,538.33,92.947,494.169,444.334,265.589,570.927l-225-124.909Z\" fill=\"#3d3d3d\"/><path id=\"Path_1632\" data-name=\"Path 1632\" d=\"M1429.064,92.947,1156.32,0V570.927L1384.9,444.546l44.164-351.6Z\" transform=\"translate(-890.731)\" fill=\"#212121\"/><g id=\"slice\" transform=\"translate(0 -3.167)\"><g id=\"desk_1_\" transform=\"translate(112.699 181.167)\"><g id=\"Group_1319_3_\" transform=\"translate(0 0)\"><path id=\"Path_1631_3_\" d=\"M796.446,884.2q0,35.349-.018,70.69a63.867,63.867,0,0,1-.473,9.132c-1.364,9.259-7.01,14.923-16.308,15.892-18.09,1.883-36.2,3.535-54.316,5.191q-46.518,4.258-93.043,8.406-45.657,4.107-91.311,8.188c-8.406.753-16.8,1.647-25.222,2.235a36.157,36.157,0,0,1-10.373-.372c-9.123-2.069-14.684-9.277-14.691-18.607q-.052-74.4,0-148.8c0-1.164.025-2.327.09-3.489.641-11.218,6.665-18.294,17.8-19.569,17.488-2,35.036-3.505,52.57-5.108q51.734-4.727,103.482-9.334,45.863-4.114,91.738-8.2c5.216-.469,10.435-.953,15.646-1.488,15.651-1.608,24.432,6.254,24.432,21.917Q796.451,847.544,796.446,884.2Z\" transform=\"translate(-490.666 -788.764)\" fill=\"#fff\"/></g></g><g id=\"knife_1_\" transform=\"translate(182.728 207.987)\"><g id=\"Group_1319_2_\" transform=\"translate(0 0)\"><path id=\"Path_1631_2_\" d=\"M905,1102.538c1.3.152,1.84.26,2.382.273a144.15,144.15,0,0,0,55.91-9.92c29.547-11.42,54.355-29.96,76.641-52.09a4.8,4.8,0,0,0,.59-4.311c-3.087-6.886-6.477-13.641-9.787-20.433-3.994-8.2-3.625-10.669,2.5-17.516,10.862-12.143,21.774-24.243,32.505-36.5,5.016-5.731,3.951-12.171-2.586-18.372-3.93-3.728-11.089-2.9-15.724,1.833-.609.622-1.178,1.291-1.762,1.936q-47.648,52.516-95.3,105.037C935.419,1068.954,920.485,1085.447,905,1102.538Z\" transform=\"translate(-905 -941.338)\" fill=\"#212121\"/><path id=\"Path_1632_1_\" d=\"M905,1102.542c15.488-17.091,30.419-33.582,45.365-50.06q47.641-52.527,95.3-105.039c.586-.648,1.153-1.314,1.762-1.936,4.637-4.727,11.8-5.556,15.724-1.833,6.539,6.2,7.6,12.642,2.586,18.372-10.731,12.256-21.643,24.356-32.505,36.5-6.123,6.847-6.493,9.318-2.5,17.516,3.31,6.789,6.7,13.542,9.787,20.433a4.784,4.784,0,0,1-.59,4.311c-22.289,22.13-47.1,40.67-76.641,52.09a144.1,144.1,0,0,1-55.91,9.92C906.84,1102.8,906.3,1102.693,905,1102.542Z\" transform=\"translate(-905 -941.342)\" fill=\"#212121\"/></g></g></g></svg>`,\n\n    notification: `<svg class=\"notification\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6 13L6.54732 6.97947C6.8037 4.15932 9.16823 2 12 2C14.8318 2 17.1963 4.15933 17.4527 6.97947L18 13L20.2929 15.2929C20.9229 15.9229 20.4767 17 19.5858 17H4.41421C3.52331 17 3.07714 15.9229 3.70711 15.2929L6 13Z\" fill=\"var(--base)\" fill-opacity=\"1\"/><path d=\"M16 18.5H8L8.00503 18.5352C8.28904 20.5233 9.99171 22 12 22C14.0083 22 15.711 20.5233 15.995 18.5352L16 18.5Z\" fill=\"var(--base)\" fill-opacity=\"1\"/></svg>`,\n\n    ok: `<svg class=\"ok\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M16.25 8.245c1.407 0 2.552 1.134 2.552 2.528 0 1.393-1.145 2.527-2.552 2.527-1.406 0-2.552-1.134-2.552-2.527 0-1.394 1.146-2.528 2.552-2.528v0zM16.25 16.877c3.4 0 6.163-2.738 6.163-6.104 0-3.368-2.764-6.107-6.163-6.107s-6.163 2.739-6.163 6.107c0 3.366 2.764 6.104 6.163 6.104zM18.743 21.858c1.255-0.283 2.465-0.775 3.579-1.469 0.843-0.527 1.098-1.631 0.566-2.467-0.531-0.837-1.645-1.089-2.49-0.563-2.524 1.573-5.775 1.572-8.298 0-0.845-0.527-1.959-0.275-2.489 0.563-0.531 0.836-0.278 1.94 0.565 2.467 1.114 0.693 2.324 1.185 3.579 1.469l-3.446 3.414c-0.704 0.699-0.704 1.831 0.001 2.53 0.353 0.349 0.815 0.524 1.276 0.524s0.925-0.175 1.278-0.524l3.384-3.354 3.387 3.354c0.704 0.699 1.847 0.699 2.553 0s0.706-1.832 0-2.53l-3.446-3.414z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    pause: `<svg class=\"pause\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M4 4h10v24h-10zM18 4h10v24h-10z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    pinterest: `<svg class=\"pinterest\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M16 6c-5.867 0-10.667 4.8-10.667 10.667 0 4.4 2.667 8.133 6.4 9.733 0-0.8 0-1.6 0.133-2.4 0.267-0.8 1.333-5.867 1.333-5.867s-0.4-0.667-0.4-1.733c0-1.6 0.933-2.8 2-2.8 0.933 0 1.467 0.667 1.467 1.6s-0.667 2.4-0.933 3.733c-0.267 1.067 0.533 2 1.733 2 2 0 3.333-2.533 3.333-5.733 0-2.4-1.6-4.133-4.4-4.133-3.2 0-5.2 2.4-5.2 5.067 0 0.933 0.267 1.6 0.667 2.133 0.133 0.267 0.267 0.267 0.133 0.533 0 0.133-0.133 0.667-0.267 0.8-0.133 0.267-0.267 0.4-0.533 0.267-1.467-0.667-2.133-2.267-2.133-4.133 0-3.067 2.533-6.667 7.6-6.667 4.133 0 6.8 2.933 6.8 6.133 0 4.133-2.267 7.333-5.733 7.333-1.2 0-2.267-0.667-2.667-1.333 0 0-0.667 2.4-0.8 2.933-0.133 0.667-0.533 1.467-0.933 2v0l-0.133 0.267c0.933 0.267 2 0.4 3.067 0.4 5.867 0 10.667-4.8 10.667-10.667s-4.667-10.133-10.533-10.133v0z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    placeholder: `<svg class=\"placeholder\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0.653961 3.27606C0 4.55953 0 6.23969 0 9.6V14.4C0 17.7603 0 19.4405 0.653961 20.7239C1.2292 21.8529 2.14708 22.7708 3.27606 23.346C4.55953 24 6.23969 24 9.6 24H14.4C17.7603 24 19.4405 24 20.7239 23.346C21.8529 22.7708 22.7708 21.8529 23.346 20.7239C24 19.4405 24 17.7603 24 14.4V9.6C24 6.23969 24 4.55953 23.346 3.27606C22.7708 2.14708 21.8529 1.2292 20.7239 0.653961C19.4405 0 17.7603 0 14.4 0H9.6C6.23969 0 4.55953 0 3.27606 0.653961C2.14708 1.2292 1.2292 2.14708 0.653961 3.27606ZM2.43597 4.18404C2 5.03968 2 6.15979 2 8.4V15.6C2 17.8402 2 18.9603 2.43597 19.816C2.81947 20.5686 3.43139 21.1805 4.18404 21.564C5.03968 22 6.15979 22 8.4 22H15.6C17.8402 22 18.9603 22 19.816 21.564C20.5686 21.1805 21.1805 20.5686 21.564 19.816C22 18.9603 22 17.8402 22 15.6V8.4C22 6.15979 22 5.03968 21.564 4.18404C21.1805 3.43139 20.5686 2.81947 19.816 2.43597C18.9603 2 17.8402 2 15.6 2H8.4C6.15979 2 5.03968 2 4.18404 2.43597C3.43139 2.81947 2.81947 3.43139 2.43597 4.18404Z\" fill=\"var(--base)\" fill-opacity=\"1\"/></svg>`,\n\n    play: `<svg class=\"play\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M16 3.333c-7.36 0-13.333 5.973-13.333 13.333s5.973 13.333 13.333 13.333c7.36 0 13.333-5.973 13.333-13.333s-5.973-13.333-13.333-13.333v0zM13.333 22.667v-12l8 6-8 6z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    prev: `<svg class=\"prev\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M7.191 17.609l-0.943-0.943 15.085-15.085 1.886 1.886-13.199 13.199 13.199 13.199-1.886 1.886-14.142-14.142z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    quote: `<svg class=\"quote\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M8 23.333h4l2.667-5.333v-8h-8v8h4l-2.667 5.333zM18.667 23.333h4l2.667-5.333v-8h-8v8h4l-2.667 5.333z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    reddit: `<svg class=\"reddit\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M29.333 15.757c0-1.786-1.438-3.239-3.205-3.239-0.765 0-1.468 0.273-2.019 0.727-1.954-1.241-4.434-1.989-7.093-2.148l1.387-4.431 3.811 0.907c0.1 1.402 1.26 2.512 2.672 2.512 1.477 0 2.68-1.215 2.68-2.71 0-1.493-1.203-2.709-2.68-2.709-1.033 0-1.932 0.595-2.379 1.463l-4.428-1.054c-0.371-0.088-0.746 0.127-0.861 0.495l-1.722 5.5c-2.864 0.071-5.557 0.821-7.654 2.135-0.544-0.43-1.228-0.688-1.971-0.688-1.768-0-3.205 1.453-3.205 3.239 0 1.104 0.55 2.080 1.388 2.665-0.035 0.257-0.053 0.516-0.053 0.777 0 2.233 1.284 4.31 3.616 5.848 2.235 1.475 5.193 2.287 8.329 2.287s6.094-0.812 8.329-2.287c2.332-1.538 3.616-3.615 3.616-5.848 0-0.238-0.016-0.475-0.045-0.71 0.893-0.575 1.488-1.585 1.488-2.732zM24.887 6.139c0.675 0 1.224 0.555 1.224 1.236s-0.549 1.237-1.224 1.237-1.224-0.555-1.224-1.237c0-0.681 0.549-1.236 1.224-1.236zM10.228 17.76c0-1.006 0.836-1.851 1.832-1.851s1.805 0.845 1.805 1.851c0 1.007-0.808 1.824-1.805 1.824s-1.832-0.817-1.832-1.824zM20.39 23.125c-0.928 0.937-2.36 1.393-4.377 1.393-0.004 0-0.009-0.001-0.014-0.001s-0.009 0.001-0.014 0.001c-2.017 0-3.447-0.456-4.375-1.393-0.285-0.288-0.285-0.754 0-1.041s0.745-0.287 1.030 0c0.64 0.647 1.734 0.962 3.345 0.962 0.005 0 0.010 0.001 0.014 0.001s0.010-0.001 0.014-0.001c1.611 0 2.706-0.315 3.347-0.962 0.285-0.288 0.746-0.287 1.030 0s0.284 0.754 0 1.041zM19.967 19.585c-0.997 0-1.834-0.817-1.834-1.824s0.837-1.851 1.834-1.851c0.997 0 1.805 0.844 1.805 1.851s-0.808 1.824-1.805 1.824z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    remove: `<svg class=\"remove\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3 11C2.44772 11 2 11.4477 2 12C2 12.5523 2.44772 13 3 13L12 13L21 13C21.5523 13 22 12.5523 22 12C22 11.4477 21.5523 11 21 11H3Z\" fill=\"var(--base)\" fill-opacity=\"1\"/></svg>`,\n\n    rovergulf: `<svg class=\"rovergulf\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 200.000000 200.000000\" preserveAspectRatio=\"xMidYMid meet\"><g transform=\"translate(0.000000,200.000000) scale(0.100000,-0.100000)\" fill=\"var(--base)\" stroke=\"none\"><path d=\"M940 1984 c-14 -10 -74 -66 -135 -126 l-110 -108 -175 0 c-263 0\n-270 -7 -270 -277 l0 -168 -115 -115 c-178 -179 -178 -196 -5 -373 l120 -122\n0 -171 c0 -267 7 -274 270 -274 l175 -1 122 -118 c178 -174 189 -174 367 0\nl121 119 168 0 c270 0 277 7 277 270 l0 175 115 115 c178 179 179 196 5 373\nl-120 122 0 170 c0 267 -8 275 -275 275 l-170 0 -109 109 c-61 60 -118 114\n-129 120 -34 22 -99 24 -127 5z m195 -375 c288 -65 489 -317 487 -609 -1 -47\n-3 -96 -6 -109 -49 -228 -195 -401 -402 -476 -85 -31 -140 -39 -234 -37 -334\n9 -597 278 -602 615 -2 134 29 239 108 359 96 145 264 247 434 265 30 3 56 6\n58 8 6 5 110 -6 157 -16z\"/><path d=\"M722 1369 c-124 -26 -126 -205 -4 -236 71 -18 136 20 151 89 20 91\n-55 167 -147 147z\"/><path d=\"M1213 1368 c-100 -26 -116 -166 -27 -225 33 -21 96 -21 129 1 120 78\n37 261 -102 224z\"/><path d=\"M505 939 c24 -206 184 -382 390 -427 50 -11 197 -7 240 7 51 17 123\n49 143 64 62 47 141 140 169 197 34 72 39 92 49 168 l6 52 -502 0 -502 0 7\n-61z\"/></g></svg>`,\n\n    search: `<svg class=\"search\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M16.3199 14.9056L21.7071 20.2929C22.0976 20.6834 22.0976 21.3166 21.7071 21.7071C21.3166 22.0976 20.6834 22.0976 20.2929 21.7071L14.9056 16.3199C13.551 17.3729 11.8487 18 10 18C5.58172 18 2 14.4183 2 10C2 5.58172 5.58172 2 10 2C14.4183 2 18 5.58172 18 10C18 11.8487 17.3729 13.551 16.3199 14.9056ZM10 16C13.3137 16 16 13.3137 16 10C16 6.68629 13.3137 4 10 4C6.68629 4 4 6.68629 4 10C4 13.3137 6.68629 16 10 16Z\" fill=\"var(--base)\" fill-opacity=\"1\"/></svg>`,\n\n    settings: `<svg class=\"settings\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10.1667 2.83333C10.1667 1.82081 10.9875 1 12 1C13.0125 1 13.8333 1.82081 13.8333 2.83333C13.8333 4.58273 15.9484 5.45884 17.1854 4.22183C17.9014 3.50586 19.0622 3.50586 19.7782 4.22183C20.4941 4.93779 20.4941 6.09859 19.7782 6.81455C18.5412 8.05156 19.4173 10.1667 21.1667 10.1667C22.1792 10.1667 23 10.9875 23 12C23 13.0125 22.1792 13.8333 21.1667 13.8333C19.4173 13.8333 18.5412 15.9484 19.7782 17.1854C20.4941 17.9014 20.4941 19.0622 19.7782 19.7782C19.0622 20.4941 17.9014 20.4941 17.1854 19.7782C15.9484 18.5412 13.8333 19.4173 13.8333 21.1667C13.8333 22.1792 13.0125 23 12 23C10.9875 23 10.1667 22.1792 10.1667 21.1667C10.1667 19.4173 8.05156 18.5412 6.81454 19.7782C6.09858 20.4941 4.93778 20.4941 4.22182 19.7782C3.50586 19.0622 3.50586 17.9014 4.22182 17.1854C5.45883 15.9484 4.58273 13.8333 2.83333 13.8333C1.82081 13.8333 1 13.0125 1 12C1 10.9875 1.82081 10.1667 2.83333 10.1667C4.58273 10.1667 5.45883 8.05156 4.22182 6.81455C3.50586 6.09859 3.50586 4.93779 4.22182 4.22183C4.93778 3.50586 6.09859 3.50586 6.81455 4.22183C8.05156 5.45884 10.1667 4.58274 10.1667 2.83333ZM12 17C14.7614 17 17 14.7614 17 12C17 9.23858 14.7614 7 12 7C9.23858 7 7 9.23858 7 12C7 14.7614 9.23858 17 12 17Z\" fill=\"var(--base)\" fill-opacity=\"1\"/></svg>`,\n\n    share: `<svg class=\"share\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M25.333 26h-18.667v-18.667h9.333v-2.667h-9.333c-1.48 0-2.667 1.2-2.667 2.667v18.667c0 1.467 1.187 2.667 2.667 2.667h18.667c1.467 0 2.667-1.2 2.667-2.667v-9.333h-2.667v9.333zM18.667 7.333h4.787l-8.942 8.888 1.88 1.88 8.942-8.888v4.787h2.667v-9.333h-9.333v2.667z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    star: `<svg class=\"star\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.5258 19.6326C12.2041 19.4298 11.7959 19.4298 11.4743 19.6326L6.37805 22.8449C5.63357 23.3142 4.69615 22.6486 4.88305 21.7835L6.23302 15.5345C6.30826 15.1862 6.19409 14.8238 5.9333 14.5832L1.32382 10.3307C0.689069 9.7451 1.04368 8.67791 1.90012 8.59636L7.91307 8.02379C8.2806 7.9888 8.59846 7.75086 8.73811 7.40619L11.0817 1.62203C11.4178 0.792656 12.5823 0.792657 12.9183 1.62203L15.2619 7.40619C15.4016 7.75086 15.7194 7.9888 16.087 8.02379L22.0999 8.59636C22.9563 8.67791 23.311 9.7451 22.6762 10.3307L18.0667 14.5832C17.8059 14.8238 17.6918 15.1862 17.767 15.5345L19.117 21.7835C19.3039 22.6486 18.3665 23.3142 17.622 22.8449L12.5258 19.6326Z\" fill=\"var(--base)\" fill-opacity=\"1\"/></svg>`,\n\n    stickers: `<svg class=\"stickers\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M12 16.333c-0.92 0-1.667 0.747-1.667 1.667s0.747 1.667 1.667 1.667c0.92 0 1.667-0.747 1.667-1.667s-0.747-1.667-1.667-1.667v0zM20 16.333c-0.92 0-1.667 0.747-1.667 1.667s0.747 1.667 1.667 1.667c0.92 0 1.667-0.747 1.667-1.667s-0.747-1.667-1.667-1.667v0zM16 3.333c-7.36 0-13.333 5.973-13.333 13.333s5.973 13.333 13.333 13.333c7.36 0 13.333-5.973 13.333-13.333s-5.973-13.333-13.333-13.333v0zM16 27.333c-5.88 0-10.667-4.787-10.667-10.667 0-0.387 0.027-0.773 0.067-1.147 3.147-1.4 5.64-3.973 6.947-7.16 2.413 3.413 6.387 5.64 10.88 5.64 1.040 0 2.040-0.12 3-0.347 0.28 0.947 0.44 1.96 0.44 3.013 0 5.88-4.787 10.667-10.667 10.667v0z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    stop: `<svg class=\"stop\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M4 4h24v24h-24z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    telegram: `<svg class=\"telegram\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M27.533 6.15l-23.621 9.233c-1.612 0.656-1.603 1.567-0.294 1.973l5.891 1.863 2.254 7.004c0.274 0.767 0.139 1.071 0.933 1.071 0.613 0 0.885-0.283 1.226-0.621 0.217-0.215 1.506-1.485 2.945-2.904l6.128 4.588c1.128 0.63 1.942 0.304 2.223-1.061l4.023-19.211c0.412-1.673-0.629-2.432-1.708-1.936zM10.434 18.792l13.279-8.49c0.663-0.407 1.271-0.188 0.772 0.261l-11.37 10.397-0.443 4.785-2.238-6.952z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    ticket: `<svg class=\"ticket\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M26.667 16.667c0-1.467 1.2-2.667 2.667-2.667v-5.333c0-1.467-1.2-2.667-2.667-2.667h-21.333c-1.467 0-2.653 1.2-2.653 2.667v5.333c1.467 0 2.653 1.2 2.653 2.667s-1.187 2.667-2.667 2.667v5.333c0 1.467 1.2 2.667 2.667 2.667h21.333c1.467 0 2.667-1.2 2.667-2.667v-5.333c-1.467 0-2.667-1.2-2.667-2.667v0zM20.773 23.067l-4.773-3.067-4.773 3.067 1.44-5.493-4.387-3.587 5.653-0.333 2.067-5.253 2.053 5.267 5.653 0.333-4.387 3.587 1.453 5.48z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    trash: `<svg class=\"trash\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" fill=\"var(--base)\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3 4.5V4C3 3.44772 3.44772 3 4 3H8.5L8.94721 2.10557C9.286 1.428 9.97852 1 10.7361 1H13.2639C14.0215 1 14.714 1.428 15.0528 2.10557L15.5 3H20C20.5523 3 21 3.44772 21 4V4.5C21 5.05228 20.5523 5.5 20 5.5H4C3.44772 5.5 3 5.05228 3 4.5Z\" fill=\"var(--base)\" fill-opacity=\"1\"/><path d=\"M17.9019 7H6.09813C5.50898 7 5.04751 7.50676 5.1025 8.09334L6.245 20.28C6.38953 21.8216 7.68354 23 9.2319 23H14.7681C16.3165 23 17.6105 21.8216 17.755 20.28L18.8975 8.09334C18.9525 7.50676 18.491 7 17.9019 7Z\" fill=\"var(--base)\" fill-opacity=\"1\"/></svg>`,\n\n    tumblr: `<svg class=\"tumblr\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M22.773 24.634c-0.474 0.236-1.382 0.442-2.059 0.46-2.043 0.057-2.44-1.5-2.456-2.628v-8.301h5.125v-4.038h-5.107v-6.793h-3.737c-0.062 0-0.169 0.056-0.184 0.199-0.219 2.079-1.149 5.728-5.021 7.187v3.445h2.583v8.713c0 2.983 2.106 7.222 7.665 7.122 1.876-0.034 3.959-0.854 4.419-1.562l-1.227-3.802z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    tux: `<svg class=\"tux\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M17.739 23.029c-2.561 1.191-4.942 1.179-6.542 1.063-1.908-0.138-3.442-0.66-4.117-1.117-0.416-0.281-0.981-0.173-1.262 0.243s-0.173 0.981 0.243 1.262c1.084 0.734 3.002 1.28 5.005 1.424 0.34 0.024 0.712 0.040 1.114 0.040 1.743 0 3.957-0.166 6.326-1.268 0.455-0.212 0.652-0.752 0.441-1.207s-0.752-0.652-1.208-0.441zM27.842 21.682c0.087-7.896 0.899-22.819-14.218-21.613-14.925 1.201-10.968 16.968-11.19 22.248-0.197 2.793-1.124 6.208-2.434 9.683h4.034c0.415-1.473 0.72-2.929 0.851-4.317 0.243 0.17 0.503 0.334 0.781 0.491 0.452 0.266 0.84 0.62 1.251 0.995 0.961 0.876 2.050 1.868 4.179 1.992 0.143 0.008 0.287 0.012 0.427 0.012 2.153 0 3.625-0.942 4.809-1.699 0.567-0.363 1.057-0.676 1.518-0.827 1.31-0.41 2.454-1.072 3.309-1.914 0.134-0.131 0.258-0.267 0.374-0.405 0.476 1.746 1.129 3.711 1.853 5.672h8.614c-2.068-3.195-4.201-6.324-4.158-10.318zM3.878 17.386c0-0 0-0.001-0-0.001-0.148-2.577 1.085-4.745 2.754-4.842s3.142 1.913 3.291 4.49c0 0 0 0.001 0 0.001 0.008 0.139 0.011 0.276 0.012 0.413-0.529 0.133-1.006 0.326-1.434 0.551-0.002-0.019-0.003-0.038-0.005-0.057 0-0 0-0.001 0-0.001-0.143-1.463-0.924-2.567-1.745-2.467s-1.371 1.367-1.228 2.83c0 0 0 0.001 0 0.001 0.062 0.638 0.246 1.207 0.501 1.639-0.064 0.050-0.243 0.182-0.45 0.333-0.155 0.114-0.344 0.252-0.572 0.42-0.621-0.815-1.047-1.987-1.123-3.309zM20.789 23.756c-0.059 1.362-1.841 2.643-3.487 3.158l-0.009 0.003c-0.684 0.222-1.295 0.613-1.941 1.026-1.085 0.695-2.208 1.413-3.829 1.413-0.106 0-0.215-0.003-0.323-0.009-1.485-0.087-2.179-0.72-3.059-1.521-0.464-0.423-0.943-0.86-1.562-1.223l-0.013-0.008c-1.335-0.753-2.163-1.69-2.216-2.506-0.026-0.406 0.154-0.757 0.537-1.044 0.832-0.624 1.39-1.032 1.759-1.302 0.41-0.3 0.533-0.39 0.625-0.477 0.066-0.062 0.136-0.131 0.213-0.205 0.764-0.743 2.043-1.986 4.005-1.986 1.2 0 2.528 0.462 3.943 1.372 0.666 0.434 1.246 0.634 1.981 0.887 0.505 0.174 1.077 0.372 1.843 0.7l0.012 0.005c0.715 0.294 1.559 0.83 1.521 1.717zM20.395 20.556c-0.137-0.069-0.28-0.135-0.43-0.196-0.691-0.296-1.245-0.496-1.704-0.656 0.254-0.497 0.411-1.116 0.426-1.789 0-0 0-0.001 0-0.001 0.035-1.637-0.79-2.966-1.844-2.968s-1.936 1.322-1.971 2.959c0 0 0 0.001 0 0.001-0.001 0.054-0.001 0.107-0.001 0.16-0.649-0.299-1.287-0.515-1.911-0.649-0.003-0.061-0.006-0.123-0.008-0.185 0-0 0-0.001 0-0.002-0.061-2.982 1.769-5.45 4.086-5.513s4.245 2.303 4.305 5.285c0 0.001 0 0.001 0 0.002 0.027 1.348-0.333 2.59-0.949 3.552z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    twitter: `<svg class=\"twitter\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M24.133 11.333c0.933-0.533 1.6-1.467 1.867-2.4-0.8 0.533-1.733 0.8-2.8 1.067-0.8-0.8-2-1.333-3.2-1.333-2.4 0-4.4 2-4.4 4.4 0 0.4 0 0.667 0.133 0.933-3.6-0.133-6.933-1.867-9.067-4.533-0.4 0.667-0.533 1.467-0.533 2.267 0 1.467 0.8 2.8 2 3.6-0.667 0-1.333-0.267-2-0.533v0c0 2.133 1.467 3.867 3.467 4.267-0.267 0-0.667 0.133-1.067 0.133-0.267 0-0.533 0-0.8-0.133 0.533 1.733 2.133 3.067 4.133 3.067-1.467 1.2-3.333 1.867-5.467 1.867h-1.067c1.867 1.2 4 1.867 6.267 2h1.067c7.6-0.4 11.867-6.8 11.867-12.4v-0.533c0.8-0.667 1.6-1.333 2.133-2.267v0c-0.8 0.133-1.6 0.4-2.533 0.533v0z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    user_filled: `<svg class=\"user\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14.08 13.232C13.7969 13.1188 13.8453 12.7191 14.1304 12.6108C16.3924 11.7514 18 9.56345 18 7C18 3.68629 15.3137 1 12 1C8.68629 1 6 3.68629 6 7C6 9.56345 7.60759 11.7514 9.86961 12.6108C10.1547 12.7191 10.2031 13.1188 9.91995 13.232L6.77166 14.4913C4.49371 15.4025 3 17.6088 3 20.0622V21C3 22.1046 3.89543 23 6 23H18C20.1046 23 21 22.1046 21 21V20.0622C21 17.6088 19.5063 15.4025 17.2283 14.4913L14.08 13.232Z\" fill=\"var(--base)\" fill-opacity=\"1\"/></svg>`,\n\n    user: `<svg class=\"users\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M16 16.667c2.947 0 5.333-2.387 5.333-5.333s-2.387-5.333-5.333-5.333c-2.947 0-5.333 2.387-5.333 5.333s2.387 5.333 5.333 5.333v0zM16 19.333c-3.56 0-10.667 1.787-10.667 5.333v2.667h21.333v-2.667c0-3.547-7.107-5.333-10.667-5.333v0z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    verified: `<svg class=\"verified\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M16.026 22.647l-4.122 2.167c-1.302 0.684-2.156 0.064-1.907-1.386l0.787-4.59-3.335-3.25c-1.053-1.027-0.727-2.031 0.729-2.242l4.608-0.67 2.061-4.176c0.651-1.319 1.706-1.319 2.357 0l2.061 4.176 4.608 0.67c1.456 0.212 1.782 1.215 0.729 2.242l-3.334 3.25 0.787 4.59c0.249 1.45-0.605 2.070-1.907 1.386l-4.122-2.167z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    video: `<svg class=\"video\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M9.333 7.333v18.667l14.667-9.333z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    vk: `<svg class=\"vk\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M17.63 22.797c0-0.8 0.8-1.6 1.6-1.6s2.171 1.372 3.199 2.399c0.8 0.8 0.8 0.8 1.6 0.8h2.399c0 0 1.6-0.061 1.6-1.6 0-0.5-0.548-1.348-2.399-3.199-1.6-1.6-2.42-0.773 0-3.999 1.474-1.964 2.547-3.744 2.363-4.257-0.176-0.49-4.276-1.271-4.762-0.541-1.6 2.399-1.893 2.987-2.399 3.999-0.8 1.6-0.879 2.399-1.6 2.399-0.727 0-0.8-1.552-0.8-2.399 0-2.644 0.383-4.514-0.8-4.799h-2.399c-1.288 0-2.399 0.8-2.399 0.8s-0.993 0.774-0.8 0.8c0.238 0.032 1.6-0.331 1.6 0.8v1.6c0 0 0.007 3.199-0.8 3.199-0.8 0-2.399-3.199-3.999-5.599-0.628-0.941-0.8-0.8-1.6-0.8-0.857 0-1.599 0.034-2.399 0.034s-0.902 0.509-0.8 0.766c1.6 3.999 2.749 6.511 5.788 9.675 2.787 2.903 4.649 3.057 6.209 3.122 0.4 0.017 0 0 0.8 0s0.8-1.153 0.8-1.6z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`,\n\n    windows: `<svg class=\"windows\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24px\" height=\"24px\" viewBox=\"0 0 32 32\"><path d=\"M0.011 16l-0.011-9.752 12-1.63v11.382zM14 4.328l15.996-2.328v14h-15.996zM30 18l-0.004 14-15.996-2.25v-11.75zM12 29.495l-11.99-1.644-0.001-9.851h11.991z\" fill=\"var(--base)\" fill-opacity=\"1\"></path></svg>`\n};\n","import { AfterContentInit, Component, ElementRef, Input, OnInit, Renderer2, ViewEncapsulation } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { GLYPHS } from './icon.glyphs';\nimport { BehaviorSubject } from 'rxjs';\n\nconst DEFAULT_SIZE = 24;\nconst DEFAULT_COLOR = 'var(--base)';\nconst DEFAULT_ICON = 'ngx-slice';\nconst INKBE_ICON = 'inkbe';\nconst INKBE_COEFF = 70 / 32;\n\n@Component({\n    selector: 'sdk-icon',\n    template: `\n        <span [innerHTML]=\"svg\"></span>\n    `,\n    styleUrls: ['./icon.component.scss'],\n    encapsulation: ViewEncapsulation.None,\n})\nexport class IconComponent implements OnInit, AfterContentInit {\n\n    private $color: BehaviorSubject<string> = new BehaviorSubject<string>(DEFAULT_COLOR);\n    private $size: BehaviorSubject<number> = new BehaviorSubject<number>(DEFAULT_SIZE);\n    private preparing: boolean;\n    public svg: SafeHtml;\n\n    @Input() public icon: string = DEFAULT_ICON;\n    @Input() public image: string;\n    @Input() public inline: boolean = true;\n\n    @Input() public set size(size: number) {\n        this.$size.next(size);\n        this.renderComponentSvg(); // is it even good?\n    }\n\n    public get size(): number {\n        return this.$size.getValue();\n    }\n\n    @Input() public set color(c: string) {\n        this.$color.next(c);\n        this.renderComponentSvg();\n    }\n\n    public get color(): string {\n        return this.$color.getValue();\n    }\n\n    constructor(\n        private elementRef: ElementRef,\n        private sanitizer: DomSanitizer,\n        private renderer: Renderer2\n    ) {\n    }\n\n    public prepareSymbol(name: string, color?: string): string {\n        if (this.preparing) {\n            return;\n        }\n\n        this.preparing = true;\n\n        let symbol = GLYPHS[name] || DEFAULT_ICON;\n        if (color?.length > 0) {\n            symbol = symbol.replace(`fill=\"var(--base)\"`, `fill=\"${color}\"`);\n        }\n\n        if (this.size > DEFAULT_SIZE || this.size < DEFAULT_SIZE) {\n            symbol = symbol.replace(`height=\"24px\"`, `height=\"${this.size}px\"`);\n            if (name === INKBE_ICON) {\n                symbol = symbol.replace(`width=\"52.5px\"`, `width=\"${this.size * INKBE_COEFF}px\"`);\n            } else {\n                symbol = symbol.replace(`width=\"24px\"`, `width=\"${this.size}px\"`);\n            }\n        }\n\n        this.preparing = false;\n        return symbol;\n    }\n\n    public createIcon(symbol: string): void {\n        this.renderer.createElement('svg', symbol);\n    }\n\n    public createSafeHtml(symbol: string): SafeHtml {\n        return this.sanitizer.bypassSecurityTrustHtml(symbol);\n    }\n\n    public renderComponentSvg(): void {\n        this.svg = this.createSafeHtml(this.prepareSymbol(this.icon, this.color));\n    }\n\n    public setIconColor(color: string): void {\n        if (color && color.length > 0) {\n            const symbol = this.elementRef.nativeElement.querySelector(`[class=\"icon\"]`);\n            this.renderer.setAttribute(symbol, 'fill', color);\n        }\n    }\n\n    public ngAfterContentInit(): void {\n        const svg = this.elementRef.nativeElement.querySelector(`[fill=\"var(--base)\"]`);\n        if (svg) {\n            this.renderer.setAttribute(svg, 'height', `${this.size}px`);\n            this.renderer.setAttribute(svg, 'width', `${this.size}px`);\n            this.renderer.setAttribute(svg, `fill`, this.color);\n        }\n    }\n\n    public ngOnInit(): void {\n        if (!this.icon) {\n            this.icon = 'ngx-slice';\n        }\n        this.svg = this.createSafeHtml(this.prepareSymbol(this.icon, this.color));\n    }\n}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconComponent } from './icon.component';\n\n\n@NgModule({\n    declarations: [\n        IconComponent\n    ],\n    exports: [\n        IconComponent\n    ],\n    imports: [\n        CommonModule\n    ],\n    providers: [],\n    schemas: [\n        CUSTOM_ELEMENTS_SCHEMA,\n        NO_ERRORS_SCHEMA,\n    ]\n})\nexport class IconModule {\n}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n// import { BadgesModule } from './badges/badges.module';\nimport { ButtonModule } from './button/button.module';\nimport { ButtonGroupModule } from './button-group/button-group.module';\n// import { ChipsModule } from './chips/chips.module';\nimport { IconModule } from './icon/icon.module';\n// import { RippleModule } from './ripple/ripple.module';\n// import { StepperModule } from './stepper/stepper.module';\n\nconst modules = [\n    // BadgesModule,\n    ButtonModule,\n    ButtonGroupModule,\n    // ChipsModule,\n    IconModule,\n    // RippleModule,\n    // StepperModule,\n];\n\n@NgModule({\n    imports: [\n        CommonModule,\n    ],\n    declarations: [],\n    exports: [\n        ...modules\n    ],\n    providers: [],\n    schemas: [\n        CUSTOM_ELEMENTS_SCHEMA,\n        NO_ERRORS_SCHEMA,\n    ]\n})\nexport class ButtonsModule {\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { OptionModel } from './dropdown-option.model';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class OptionsService {\n\n    private $options: BehaviorSubject<OptionModel[]> = new BehaviorSubject<OptionModel[]>(null);\n    private $loading: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(null);\n\n    public get options(): OptionModel[] {\n        return this.$options.getValue();\n    }\n\n    public set options(options: OptionModel[]) {\n        this.$options.next(options);\n    }\n\n    public get optionsObservable(): Observable<OptionModel[]> {\n        return this.$options.asObservable();\n    }\n\n    public get hasOptions(): boolean {\n        return this.options?.length > 0;\n    }\n\n    public set loading(state: boolean) {\n        this.$loading.next(state);\n    }\n\n    public get loading(): boolean {\n        return this.$loading.getValue();\n    }\n\n    constructor() {\n    }\n}\n","import {\n    AfterViewInit,\n    Component,\n    ElementRef,\n    EventEmitter,\n    Inject,\n    Input,\n    OnDestroy,\n    OnInit,\n    Output,\n    Renderer2,\n    ViewChild,\n} from '@angular/core';\nimport { OptionModel } from './dropdown-option.model';\nimport { DropdownOptions } from './dropdown.model';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { DOCUMENT } from '@angular/common';\nimport { OptionsService } from './options.service';\n\nconst DEFAULT_DROPDOWN_SIZE = 240;\n// I'm taking additional 16 pixels here, to prevent element sticking to bottom panel\nconst DEFAULT_DROPDOWN_OFFSET = 256;\n\n@Component({\n    selector: 'sdk-dropdown-menu',\n    templateUrl: './dropdown.component.html',\n    styleUrls: ['./dropdown.component.scss']\n})\nexport class DropdownComponent implements OnInit, AfterViewInit, OnDestroy {\n\n    @ViewChild('dropdown', {static: false}) public dropdownElement: ElementRef;\n    @Output() public resultEvent: EventEmitter<any> = new EventEmitter<any>();\n    @Input() public config: DropdownOptions;\n\n    public sub: Subscription;\n    public currentOption: OptionModel;\n    public inverted: boolean;\n    public rects: { bottom?, top?, left?, width? } = {};\n    public highlightedIndex: number;\n\n    constructor(\n        @Inject(DOCUMENT) private document: any,\n        private elem: ElementRef,\n        private renderer: Renderer2,\n        public optionsService: OptionsService\n    ) {\n    }\n\n    public onOptionMouseEnter(o: OptionModel, index: number): void {\n        this.currentOption = o;\n        this.highlightedIndex = index;\n    }\n\n    public onOptionMouseLeave(): void {\n        this.currentOption = undefined;\n        this.highlightedIndex = undefined;\n    }\n\n    public select(ev: any, option: OptionModel): void {\n        this.onResult(option);\n    }\n\n    public onResult(res?: OptionModel): void {\n        this.resultEvent.emit(res);\n        this.resultEvent.complete();\n        this.sub?.unsubscribe();\n    }\n\n    public nextOption(direction: 'up' | 'down'): void {\n        if (!this.highlightedIndex && this.highlightedIndex !== 0) {\n            const selected = this.optionsService.options.find(o => o.selected);\n            if (!!selected) {\n                this.highlightedIndex = this.optionsService.options.indexOf(selected);\n            } else {\n                this.highlightedIndex = direction === 'up' ? 0 : this.optionsService.options.length - 1;\n            }\n        }\n\n        if (this.optionsService.options?.length === 1) {\n            this.currentOption = this.optionsService.options[0];\n            this.highlightedIndex = 0;\n        } else {\n            const isFirstOption = this.highlightedIndex === 0;\n            const optionsLength = this.optionsService.options.length;\n            const isLastOption = this.highlightedIndex === optionsLength - 1;\n            const index = direction === 'down' ? (isLastOption ? 0 : (this.highlightedIndex + 1)) :\n                (isFirstOption ? (optionsLength - 1) : this.highlightedIndex - 1);\n\n            this.currentOption = this.optionsService.options[index];\n            this.highlightedIndex = index;\n        }\n\n        setTimeout(() => this.autoScroll(direction));\n    }\n\n    public autoScroll(direction: 'up' | 'down'): void {\n        const dropdownPaddingTop = 8;\n        /**\n         * okay that padding is constant at the top and the bottom of the element,\n         * so it should be used in calculations when we are counting top offset\n         */\n        const {scrollHeight, scrollTop, offsetHeight} = this.dropdownElement.nativeElement;\n        const currentItem = this.elem.nativeElement.querySelector(`.highlighted`);\n        if (!currentItem) {\n            return;\n        }\n        const itemHeight = currentItem.offsetHeight;\n\n        switch (direction) {\n            case 'up':\n                if (currentItem.offsetTop - dropdownPaddingTop < scrollTop) {\n                    this.dropdownElement.nativeElement.scrollTop = scrollTop - offsetHeight;\n                }\n                if (currentItem.offsetTop + itemHeight > scrollTop + offsetHeight) {\n                    this.dropdownElement.nativeElement.scrollTop = scrollHeight - offsetHeight;\n                }\n                break;\n            default:\n                if (currentItem.offsetTop + itemHeight > offsetHeight + scrollTop) {\n                    this.dropdownElement.nativeElement.scrollTop = scrollTop + itemHeight;\n                } else if (currentItem.offsetTop === dropdownPaddingTop) {\n                    this.dropdownElement.nativeElement.scrollTop = 0;\n                }\n        }\n    }\n\n    /**\n     * click outside subscription if backdrop disabled. also dropdown must be attached during input\n     */\n    public initClickOutsideSub(): void {\n        this.renderer.listen('window', 'click', event => {\n            const isParent = this.config.parentElem?.contains(event.target);\n            const isDropdown = this.elem.nativeElement.contains(event.target);\n            if (!isParent && !isDropdown) {\n                this.onResult();\n            }\n        });\n    }\n\n    /**\n     * detect relative position to prevent dropdown being hidden over `overflow: none`\n     */\n    public getDropdownRects(): void {\n        const windowHeight = window.innerHeight;\n        const pixelsLeft = windowHeight - this.config.triggerRect.height - this.config.triggerRect.top;\n        const rects = this.dropdownElement.nativeElement.getBoundingClientRect();\n\n        this.inverted = pixelsLeft <= DEFAULT_DROPDOWN_OFFSET;\n        if (this.inverted) {\n            this.rects.bottom = windowHeight - this.config.triggerRect.top;\n        } else {\n            this.rects.top = this.config.triggerRect.bottom;\n        }\n\n        if (this.config.fitWidth) {\n            this.rects.width = this.config.triggerRect.width;\n        }\n\n        if (rects.width > this.config.triggerRect.width) {\n            const rightOffset = window.innerWidth - this.config.triggerRect.width - this.config.triggerRect.left;\n            if (rightOffset <= rects.width + 16) {\n                this.rects.left = (this.config.triggerRect.left + this.config.triggerRect.width) - rects.width;\n            }\n        }\n    }\n\n    /**\n     * - if `fitWidth` config options is true\n     * there are width declared depending on its parent element\n     * - if `rects.top` calculated there is enough place to drop it down,\n     *  if it hits `rects.bottom` – show it above the element\n     */\n    public setDropdownPosition(): void {\n        if (this.rects.width) {\n            this.renderer.setStyle(this.dropdownElement.nativeElement, `width`, `${this.rects.width}px`);\n        }\n\n        if (this.rects.top) {\n            this.renderer.setStyle(this.dropdownElement.nativeElement, `top`, `${this.rects.top}px`);\n        } else {\n            this.renderer.setStyle(this.dropdownElement.nativeElement, `bottom`, `${this.rects.bottom}px`);\n        }\n\n        this.renderer.setStyle(this.dropdownElement.nativeElement, `left`, `${this.rects.left || this.config.triggerRect.left}px`);\n        this.renderer.setStyle(this.dropdownElement.nativeElement, `opacity`, 1);\n    }\n\n    /**\n     * detect window resize and scroll to prevent failed dropdown position\n     */\n    public initClosingSubscriptions(): void {\n        this.sub = fromEvent(window, 'scroll').pipe(\n            take(1)\n        ).subscribe(() => {\n            this.onResult();\n        });\n\n        this.sub.add(fromEvent(window, 'resize').pipe(\n            take(1)\n        ).subscribe(() => {\n            this.onResult();\n        }));\n    }\n\n    /**\n     * keyboard events\n     */\n    public initKeydownSubscription(): void {\n        this.sub.add(\n            fromEvent(this.document, 'keydown').subscribe((e: KeyboardEvent) => {\n                switch (e.key || e.code) {\n                    case 'ArrowDown':\n                        e.preventDefault();\n                        e.stopPropagation();\n                        this.nextOption('down');\n                        break;\n                    case 'ArrowUp':\n                        e.preventDefault();\n                        e.stopPropagation();\n                        this.nextOption('up');\n                        break;\n                    case 'Enter':\n                        e.preventDefault();\n                        e.stopPropagation();\n                        if (this.currentOption) {\n                            this.onResult(this.currentOption);\n                        }\n                        break;\n                    case 'Escape':\n                        e.preventDefault();\n                        e.stopPropagation();\n                        this.onResult();\n                        break;\n                }\n            })\n        );\n    }\n\n    public ngOnInit(): void {\n        this.initClosingSubscriptions();\n        this.initKeydownSubscription();\n        if (this.config && this.config.hideBackdrop) {\n            this.initClickOutsideSub();\n        }\n    }\n\n    public ngAfterViewInit(): void {\n        this.getDropdownRects();\n        this.setDropdownPosition();\n    }\n\n    public ngOnDestroy(): void {\n        this.sub?.unsubscribe();\n        this.currentOption = undefined;\n        this.highlightedIndex = undefined;\n    }\n\n}\n","<div class=\"sdk-dropdown-wrap\" [class.no-backdrop]=\"config?.hideBackdrop\">\n    <div class=\"sdk-dropdown-backdrop\" *ngIf=\"!config?.hideBackdrop\" (click)=\"onResult()\"></div>\n    <ul class=\"sdk-dropdown\" #dropdown [class.multi]=\"config?.multi\">\n        <ng-container *ngIf=\"!optionsService.hasOptions\">\n            <li class=\"sdk-dropdown-item\">\n                <a>No options.</a>\n            </li>\n        </ng-container>\n        <ng-container *ngIf=\"optionsService.hasOptions\">\n            <ng-container *ngFor=\"let o of optionsService.optionsObservable | async; index as i\">\n                <li class=\"sdk-dropdown-item\" (click)=\"select($event, o)\"\n                    [ngClass]=\"{\n                        highlighted: o.value === currentOption?.value,\n                        disabled: o.disabled,\n                        active: o.selected && !config?.multi\n                    }\"\n                    (mouseenter)=\"onOptionMouseEnter(o, i)\"\n                    (mouseleave)=\"onOptionMouseLeave()\">\n                    <span class=\"sdk-dropdown-item-checked\" *ngIf=\"config?.multi\">\n                        <ng-container *ngIf=\"o.selected\">\n                            <sdk-icon icon=\"check\" size=\"16\"></sdk-icon>\n                        </ng-container>\n                    </span>\n                    <ng-container *ngIf=\"o.image\">\n                        <img alt=\"{{o.label}}\" class=\"sdk-dropdown-item-image\" [src]=\"o.image\"/>\n                    </ng-container>\n                    <a>{{o.label}}</a>\n                </li>\n            </ng-container>\n        </ng-container>\n    </ul>\n</div>\n\n\n","import { ApplicationRef, ComponentFactoryResolver, Inject, Injectable, Injector, PLATFORM_ID } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { DOCUMENT, isPlatformServer } from '@angular/common';\n\nimport { DropdownComponent } from './dropdown.component';\nimport { DropdownOptions } from './dropdown.model';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class DropdownService {\n\n    constructor(\n        @Inject(DOCUMENT) private document: any,\n        @Inject(PLATFORM_ID) private platformId: any,\n        private injector: Injector,\n        private appRef: ApplicationRef,\n        private cfResolver: ComponentFactoryResolver,\n    ) {\n    }\n\n    /**\n     * showOverlay runs overlay with specified component\n     * @param config\n     * contains dropdown options\n     */\n    public showDropdown(config: DropdownOptions): Observable<any> {\n        if (isPlatformServer(this.platformId)) {\n            return;\n        }\n\n        const dropdown = this.document.createElement('sdk-dropdown');\n\n        const factory = this.cfResolver.resolveComponentFactory(DropdownComponent);\n        const dropdownRef = factory.create(this.injector, [], dropdown);\n\n        dropdownRef.instance.config = config;\n\n        this.appRef.attachView(dropdownRef.hostView);\n\n        this.document.body.appendChild(dropdown);\n\n        const result = new Subject();\n        dropdownRef.instance.resultEvent.subscribe((res: any) => {\n            result.next(res);\n            result.complete();\n            this.document.body.removeChild(dropdown);\n            this.appRef.detachView(dropdownRef.hostView);\n        });\n\n        return result.asObservable();\n    }\n}\n","import { ElementRef, Inject, Injectable } from '@angular/core';\nimport { getSupportedInputTypes, Platform, supportsPassiveEventListeners, supportsScrollBehavior } from '@angular/cdk/platform';\nimport { BehaviorSubject, Observable, of } from 'rxjs';\nimport { DOCUMENT } from '@angular/common';\n\nconst DEFAULT_MOBILE_LAYOUT_WIDTH = 1024;\n\nconst CHAR_STRING = '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';\nconst LOWER_INDEX = 1000;\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class LayoutControlService {\n\n    public readonly supportedInputTypes = Array.from(getSupportedInputTypes()).join(', ');\n    public readonly supportsPassiveEventListeners = supportsPassiveEventListeners();\n    public readonly supportsScrollBehavior = supportsScrollBehavior();\n\n    /**\n     * simple bool behaviorSubject which returns is mobileLayout active or not\n     */\n    private $mobileLayoutWidth: BehaviorSubject<number> = new BehaviorSubject<number>(DEFAULT_MOBILE_LAYOUT_WIDTH);\n    private $focusTrap: BehaviorSubject<any[]> = new BehaviorSubject<[]>([]);\n\n    constructor(\n        @Inject(DOCUMENT) private document: any,\n        public readonly platform: Platform,\n    ) {\n    }\n\n    public get trapped(): any {\n        const elements = this.$focusTrap.getValue();\n        return elements.length ? elements[0] : undefined;\n    }\n\n    public get focusTrap(): any[] {\n        return this.$focusTrap.getValue();\n    }\n\n    public get isMobileLayout(): boolean {\n        const {width = 0} = this.getViewport();\n        return width <= this.mobileLayoutWidth;\n    }\n\n    public get mobileLayoutObservable(): Observable<boolean> {\n        return of(this.isMobileLayout);\n    }\n\n    public get mobileLayoutDetectionEnabled(): boolean {\n        return this.isMobileLayout !== null ? this.isMobileLayout : false;\n    }\n\n    public get mobileLayoutWidth(): number {\n        return this.$mobileLayoutWidth.getValue();\n    }\n\n    public set mobileLayoutWidth(w: number) {\n        this.$mobileLayoutWidth.next(w);\n    }\n\n    public focus(elem: any): void {\n        this.$focusTrap.next([elem, ...this.$focusTrap.getValue()]);\n    }\n\n    public getPlatformClass(): string {\n        return this.platform.IOS ? 'ios' :\n            this.platform.ANDROID ? 'android' : 'browser';\n    }\n\n    public generateLayoutElementHash(): string {\n        let result = '';\n        for (let i = 0; i < 32; i++) {\n            result += CHAR_STRING.charAt(Math.floor(Math.random() * CHAR_STRING.length));\n        }\n        return result;\n    }\n\n    public catch(elem: ElementRef): void {\n        this.$focusTrap.next([elem, ...this.$focusTrap.getValue()]);\n    }\n\n    public getViewport(): any {\n        if (!this.platform.isBrowser) {\n            return;\n        }\n\n        const win = window;\n        const d = this.document;\n        const e = d.documentElement;\n        const g = d.body;\n        const w = win.innerWidth || e.clientWidth || g.clientWidth;\n        const h = win.innerHeight || e.clientHeight || g.clientHeight;\n\n        return {width: w, height: h};\n    }\n\n    public getWindowScrollTop(): number {\n        if (!this.platform.isBrowser) {\n            return;\n        }\n\n        const doc = this.document.documentElement;\n        return (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n    }\n\n    public getWindowScrollLeft(): number {\n        if (!this.platform.isBrowser) {\n            return;\n        }\n\n        const doc = this.document.documentElement;\n        return (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);\n    }\n}\n","import {\n    Component,\n    ElementRef,\n    EventEmitter,\n    forwardRef,\n    HostBinding,\n    Inject,\n    Input,\n    OnDestroy,\n    Output,\n    PLATFORM_ID,\n    Renderer2,\n    ViewChild\n} from '@angular/core';\nimport { DOCUMENT, isPlatformServer } from '@angular/common';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BehaviorSubject, fromEvent, Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { OptionModel } from '../dropdown-option.model';\nimport { DropdownOptions } from '../dropdown.model';\nimport { DropdownService } from '../dropdown.service';\nimport { OptionsService } from '../options.service';\nimport { LayoutControlService } from '../../core/layout-control/layout-control.service';\n\n@Component({\n    selector: 'sdk-autocomplete',\n    templateUrl: './autocomplete.component.html',\n    styleUrls: ['./autocomplete.component.scss'],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => AutocompleteComponent),\n            multi: true\n        }\n    ]\n})\nexport class AutocompleteComponent implements ControlValueAccessor, OnDestroy {\n\n    private $options: BehaviorSubject<OptionModel[]> = new BehaviorSubject<OptionModel[]>(null);\n    private req: boolean;\n\n    @Input() public set options(o: OptionModel[]) {\n        this.$options.next(o);\n        if (this.isOpen) {\n            this.optionsService.options = this.getOptions();\n        }\n    }\n\n    public get options(): OptionModel[] {\n        return this.$options.getValue();\n    }\n\n    @Input() public set required(val: any) {\n        this.req = val === '' || val === true;\n    }\n\n    public get required(): any {\n        return this.req;\n    }\n\n    public sub: Subscription;\n    @ViewChild('autocomplete', {static: true}) public autocomplete: ElementRef;\n    @ViewChild('input', {static: true}) public inputElementRef: ElementRef;\n    @Input() public label = '';\n    @Input() public placeholder = '';\n    @Input() public disabled: boolean;\n    @Input() public small: boolean = false;\n    @Input() public icon: string;\n    @Input() public caption: string = '';\n\n    @Output() public focusEvent: EventEmitter<any> = new EventEmitter();\n    @Output() public blurEvent: EventEmitter<any> = new EventEmitter();\n    @Output() public resultEvent: EventEmitter<any> = new EventEmitter();\n    @Output() public valueChanges: EventEmitter<any> = new EventEmitter();\n\n    @Input() @HostBinding('class.invalid')\n    public error: string = undefined;\n\n    @Input() @HostBinding('class.disabled')\n    public get isDisabled(): boolean {\n        return this.disabled;\n    }\n\n    public isOpen: boolean;\n    public focused: boolean;\n    public currentValue: OptionModel;\n    public currentValues: Set<OptionModel>;\n    public uid: string;\n\n    public value: string = '';\n\n    constructor(\n        @Inject(DOCUMENT) private document: any,\n        @Inject(PLATFORM_ID) private platformId: any,\n        private dropdownService: DropdownService,\n        private optionsService: OptionsService,\n        private renderer: Renderer2,\n        private layoutControlService: LayoutControlService\n    ) {\n        this.uid = layoutControlService.generateLayoutElementHash();\n    }\n\n    public getOptions(): OptionModel[] {\n        return [...this.options].map(o => {\n            o.selected = this.currentValue === o;\n            return o;\n        });\n    }\n\n    public isInactive(): boolean {\n        return !this.currentValue;\n    }\n\n    public hasValuesToDrop(): boolean {\n        return !this.isInactive();\n    }\n\n    public onOpen(): void {\n        this.isOpen = true;\n        this.emitFocus();\n    }\n\n    public onClose(): void {\n        this.isOpen = false;\n        this.emitBlur();\n    }\n\n    public emitBlur(): void {\n        if (this.focused) {\n            this.focused = false;\n            this.blurEvent.emit();\n        }\n    }\n\n    public emitFocus(): void {\n        if (!this.focused) {\n            this.focused = true;\n            this.focusEvent.emit();\n        }\n    }\n\n    public selected(): string {\n        return this.currentValue?.label ?? '';\n    }\n\n    public onResult(option: OptionModel): void {\n        this.onTouched();\n        this.writeValue(option);\n    }\n\n    public writeValue(val): void {\n        if (val?.size > 0) {\n            this.currentValues = val;\n            const multipleResult = this.options.filter(o => this.currentValues.has(o));\n            this.onChange(multipleResult);\n            this.resultEvent.emit(multipleResult);\n        } else {\n            this.currentValue = val;\n            this.onChange(val);\n            this.resultEvent.emit(this.currentValue);\n        }\n    }\n\n    public addValue(o: OptionModel): void {\n        const alreadySelected = this.currentValues.has(o);\n        o.selected = !alreadySelected;\n        alreadySelected ? this.currentValues.delete(o) : this.currentValues.add(o);\n        this.writeValue(this.currentValues);\n    }\n\n    public clearValue(e): void {\n        e.stopPropagation();\n        this.valueChanges.emit(null);\n        this.currentValue = undefined;\n        this.writeValue(undefined);\n    }\n\n    public onChange(value): void {\n    }\n\n    public onTouched(): void {\n    }\n\n    public registerOnChange(fn: any): void {\n        this.onChange = fn;\n    }\n\n    public registerOnTouched(fn: any): void {\n        this.onTouched = fn;\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this.disabled = isDisabled;\n    }\n\n    public setInputSubscription(): void {\n        this.sub = fromEvent(this.inputElementRef.nativeElement, `keyup`).pipe(\n            debounceTime(500)\n        ).subscribe((e: any) => {\n            if (e.code === 'ArrowUp' ||\n                e.code === 'ArrowDown' ||\n                e.code === 'Escape' ||\n                e.code === 'Enter') {\n                e.preventDefault();\n                e.stopPropagation();\n                return;\n            }\n\n            const value = e?.target?.value;\n            this.valueChanges.emit(value);\n        });\n    }\n\n    public onInput(ev: any): void {\n        if (ev.code === 'ArrowUp' ||\n            ev.code === 'ArrowDown' ||\n            ev.code === 'Escape' ||\n            ev.code === 'Enter') {\n            ev.preventDefault();\n            ev.stopPropagation();\n            return;\n        }\n        const value = ev?.target?.value;\n        this.valueChanges.emit(value);\n    }\n\n    public showDropdown(): void {\n        if (isPlatformServer(this.platformId)) {\n            return;\n        }\n\n        if (this.isOpen) {\n            return;\n        }\n        this.onOpen();\n        this.optionsService.options = this.getOptions();\n\n        const opts: DropdownOptions = {\n            triggerRect: this.autocomplete.nativeElement.getBoundingClientRect(),\n            fitWidth: true,\n            multi: false,\n            hideBackdrop: true,\n            parentElem: this.autocomplete.nativeElement,\n        };\n\n        this.dropdownService.showDropdown(opts).subscribe(res => {\n            this.onClose();\n            // this.optionsService.options = null;\n            if (res) {\n                this.inputElementRef.nativeElement.blur();\n                this.onResult(res);\n            }\n        });\n    }\n\n    // public ngOnInit(): void {\n    //     // this.setInputSubscription();\n    // }\n\n    public ngOnDestroy(): void {\n        this.sub?.unsubscribe();\n        this.blurEvent.complete();\n        this.focusEvent.complete();\n        this.resultEvent.complete();\n        this.valueChanges.complete();\n    }\n}\n","<label for=\"{{uid}}\" class=\"sdk-autocomplete-label\"\n       [class.active]=\"value !== undefined\"\n       [class.small]=\"small\">\n    {{label}}\n    <span *ngIf=\"required\" class=\"sdk-autocomplete-label-required-mark\">&nbsp;*</span>\n</label>\n\n<div class=\"sdk-autocomplete-wrap\" #autocomplete>\n    <div class=\"sdk-autocomplete\" (click)=\"showDropdown()\"\n         [ngClass]=\"{\n            active: isOpen,\n            small: small,\n            invalid: error\n         }\">\n        <span class=\"sdk-autocomplete-icon\" *ngIf=\"icon\">\n            <sdk-icon [icon]=\"icon\" [size]=\"small ? 16 : 24\"></sdk-icon>\n        </span>\n        <input class=\"sdk-autocomplete-input\" type=\"text\"\n               value=\"{{selected()}}\"\n               id=\"{{uid}}\"\n               [placeholder]=\"placeholder\"\n               (keyup)=\"onInput($event)\"\n               (focus)=\"emitFocus()\"\n               (blur)=\"emitBlur()\"\n               #input>\n        <span class=\"sdk-autocomplete-actions\">\n            <ng-container *ngIf=\"!hasValuesToDrop()\">\n                <div class=\"interface-icon-wrap icon-chevron\" [class.active]=\"isOpen\">\n                    <sdk-icon icon=\"chevron_down\" [size]=\"24\"></sdk-icon>\n                </div>\n            </ng-container>\n            <ng-container *ngIf=\"hasValuesToDrop()\">\n                <div class=\"interface-icon-wrap icon-clear\">\n                    <sdk-icon icon=\"close\" [size]=\"16\" [inline]=\"true\" (click)=\"clearValue($event)\"></sdk-icon>\n                </div>\n            </ng-container>\n        </span>\n    </div>\n</div>\n\n<div class=\"sdk-caption\" *ngIf=\"caption\">\n    {{caption}}\n</div>\n<div class=\"sdk-error\" *ngIf=\"error\">\n    <sdk-icon icon=\"alert\" size=\"12\"></sdk-icon>\n    {{error ? error : ''}}\n</div>\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconModule } from '../../buttons/icon/icon.module';\nimport { AutocompleteComponent } from './autocomplete.component';\n\n\n@NgModule({\n    declarations: [\n        AutocompleteComponent,\n    ],\n    exports: [\n        AutocompleteComponent,\n    ],\n    imports: [\n        CommonModule,\n        IconModule,\n    ],\n    providers: [],\n    schemas: [\n        CUSTOM_ELEMENTS_SCHEMA,\n        NO_ERRORS_SCHEMA,\n    ]\n})\nexport class AutocompleteModule {\n}\n","import {\n    Component,\n    ElementRef,\n    EventEmitter,\n    forwardRef,\n    HostBinding,\n    Inject,\n    Input,\n    OnDestroy,\n    OnInit,\n    Output,\n    PLATFORM_ID,\n    ViewChild\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { DOCUMENT, isPlatformServer } from '@angular/common';\nimport { OptionModel } from '../dropdown-option.model';\nimport { DropdownOptions } from '../dropdown.model';\nimport { DropdownService } from '../dropdown.service';\nimport { OptionsService } from '../options.service';\n\n@Component({\n    selector: 'sdk-select',\n    templateUrl: './select.component.html',\n    styleUrls: ['./select.component.scss'],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => SelectComponent),\n            multi: true\n        }\n    ]\n})\nexport class SelectComponent implements ControlValueAccessor, OnInit, OnDestroy {\n    private req: boolean;\n\n    @Input() public set required(val: any) {\n        this.req = val === '' || val === true;\n    }\n\n    public get required(): any {\n        return this.req;\n    }\n\n    @ViewChild('select', {static: true}) public selectElem: ElementRef;\n\n    @Input() public options: OptionModel[] = [];\n    @Input() public label = '';\n    @Input() public placeholder = '';\n    @Input() public disabled: boolean;\n    @Input() public small: boolean = false;\n    @Input() public multi: boolean = false;\n    @Input() public enableNullValue: boolean = false;\n    @Input() public icon: string;\n    @Input() public caption: string = '';\n\n    @Output() public focusEvent: EventEmitter<any> = new EventEmitter();\n    @Output() public blurEvent: EventEmitter<any> = new EventEmitter();\n    @Output() public resultEvent: EventEmitter<any> = new EventEmitter();\n\n    @Input() @HostBinding('class.invalid')\n    public error: string = undefined;\n\n    @Input() @HostBinding('class.disabled')\n    public get isDisabled(): boolean {\n        return this.disabled;\n    }\n\n    public isOpen: boolean;\n    public focused: boolean;\n    public currentValue: OptionModel;\n    public currentValues: Set<OptionModel>;\n\n    constructor(\n        @Inject(DOCUMENT) private document: any,\n        @Inject(PLATFORM_ID) private platformId: any,\n        private dropdownService: DropdownService,\n        private optionsService: OptionsService,\n    ) {\n    }\n\n    public getOptions(): OptionModel[] {\n        return [...this.options].map(o => {\n            o.selected = this.multi ? this.currentValues?.has(o) : this.currentValue === o;\n            return o;\n        });\n    }\n\n    public isInactive(): boolean {\n        return this.multi ? !this.currentValues?.size : !this.currentValue;\n    }\n\n    public hasValuesToDrop(): boolean {\n        return this.enableNullValue && !this.isInactive();\n    }\n\n    public onOpen(ev?): void {\n        this.isOpen = true;\n        this.emitFocus();\n    }\n\n    public onClose(ev?): void {\n        this.isOpen = false;\n        this.emitBlur();\n    }\n\n    public emitBlur(): void {\n        if (this.focused) {\n            this.focused = false;\n            this.blurEvent.emit();\n        }\n    }\n\n    public emitFocus(): void {\n        if (!this.focused) {\n            this.focused = true;\n            this.focusEvent.emit();\n        }\n    }\n\n    public selected(): string {\n        if (this.multi) {\n            const selectedOptions = [];\n            this.currentValues?.forEach(o => {\n                selectedOptions.push(o.label);\n            });\n            return selectedOptions.length ? selectedOptions.join(', ') : '';\n        } else {\n            return this.currentValue?.label;\n        }\n    }\n\n    public onResult(option: OptionModel): void {\n        this.onTouched();\n        if (this.multi) {\n            this.addValue(option);\n        } else {\n            this.writeValue(option);\n        }\n    }\n\n    public writeValue(val): void {\n        if (val?.size > 0) {\n            this.currentValues = val;\n            const multipleResult = this.options.filter(o => this.currentValues.has(o));\n            this.onChange(multipleResult);\n            this.resultEvent.emit(multipleResult);\n        } else {\n            this.currentValue = val;\n            this.onChange(val);\n            this.resultEvent.emit(this.currentValue);\n        }\n    }\n\n    public addValue(o: OptionModel): void {\n        const alreadySelected = this.currentValues.has(o);\n        o.selected = !alreadySelected;\n        alreadySelected ? this.currentValues.delete(o) : this.currentValues.add(o);\n        this.writeValue(this.currentValues);\n    }\n\n    public clearValue(e): void {\n        e.stopPropagation();\n        this.multi ? this.currentValues?.clear() : this.currentValue = undefined;\n        this.writeValue(undefined);\n    }\n\n    public onChange(value): void {\n    }\n\n    public onTouched(): void {\n    }\n\n    public registerOnChange(fn: any): void {\n        this.onChange = fn;\n    }\n\n    public registerOnTouched(fn: any): void {\n        this.onTouched = fn;\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this.disabled = isDisabled;\n    }\n\n    public showDropdown(): void {\n        if (isPlatformServer(this.platformId)) {\n            return;\n        }\n\n        if (this.isOpen) {\n            return;\n        }\n        this.onOpen();\n        this.optionsService.options = this.getOptions();\n\n        const opts: DropdownOptions = {\n            triggerRect: this.selectElem.nativeElement.getBoundingClientRect(),\n            fitWidth: true,\n            multi: this.multi,\n            parentElem: this.selectElem.nativeElement,\n        };\n\n        this.dropdownService.showDropdown(opts).subscribe(res => {\n            this.onClose();\n            // this.optionsService.options = null;\n            if (res) {\n                this.onResult(res);\n            }\n        });\n    }\n\n    public ngOnInit(): void {\n        if (this.multi) {\n            this.enableNullValue = true;\n            this.currentValues = new Set<OptionModel>();\n        }\n    }\n\n    public ngOnDestroy(): void {\n        this.blurEvent.complete();\n        this.focusEvent.complete();\n        this.resultEvent.complete();\n    }\n}\n","<label class=\"sdk-select-label\"\n       [class.active]=\"!!(currentValue || currentValues?.size)\"\n       [class.small]=\"small\">\n    {{label}}\n    <span *ngIf=\"required\" class=\"sdk-select-label-required-mark\">&nbsp;*</span>\n</label>\n\n<div class=\"sdk-select\" #select (click)=\"showDropdown()\">\n    <div class=\"sdk-select-wrap\" [ngClass]=\"{small: small, active: isOpen, invalid: error}\">\n        <span class=\"sdk-select-icon\" *ngIf=\"icon\">\n            <sdk-icon [icon]=\"icon\" [size]=\"small ? 16 : 24\"></sdk-icon>\n        </span>\n        <p class=\"sdk-select-value\" title=\"{{selected()}}\">\n            {{selected()}}\n            <span class=\"inactive\" *ngIf=\"isInactive()\">{{placeholder}}</span>\n        </p>\n        <span class=\"sdk-select-icon actions\">\n            <ng-container *ngIf=\"!hasValuesToDrop()\">\n                <div class=\"interface-icon-wrap icon-chevron\" [class.active]=\"isOpen\">\n                    <sdk-icon icon=\"chevron_down\" [size]=\"24\" [inline]=\"true\"></sdk-icon>\n                </div>\n            </ng-container>\n            <ng-container *ngIf=\"hasValuesToDrop()\">\n                <div class=\"interface-icon-wrap icon-clear\">\n                    <sdk-icon icon=\"close\" [size]=\"16\" [inline]=\"true\" (click)=\"clearValue($event)\"></sdk-icon>\n                </div>\n            </ng-container>\n        </span>\n    </div>\n</div>\n\n<div class=\"sdk-caption\" *ngIf=\"caption\">\n    {{caption}}\n</div>\n<div class=\"sdk-error\" *ngIf=\"error\">\n    <sdk-icon icon=\"alert\" color=\"var(--warn)\" size=\"12\"></sdk-icon>\n    {{error ? error : ''}}\n</div>\n\n\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconModule } from '../../buttons/icon/icon.module';\nimport { SelectComponent } from './select.component';\n\n\n@NgModule({\n    declarations: [\n        SelectComponent,\n    ],\n    exports: [\n        SelectComponent\n    ],\n    imports: [\n        CommonModule,\n        IconModule\n    ],\n    providers: [],\n    schemas: [\n        CUSTOM_ELEMENTS_SCHEMA,\n        NO_ERRORS_SCHEMA,\n    ]\n})\nexport class SelectModule {\n}\n","import { Directive, ElementRef, EventEmitter, HostListener, Inject, Input, OnDestroy, Output, PLATFORM_ID, } from '@angular/core';\nimport { DropdownService } from '../dropdown.service';\nimport { DropdownOptions } from '../dropdown.model';\nimport { OptionModel } from '../dropdown-option.model';\nimport { Subscription } from 'rxjs';\nimport { isPlatformServer } from '@angular/common';\nimport { OptionsService } from '../options.service';\n\n@Directive({\n    selector: '[sdkDropdownMenuTrigger]'\n})\nexport class DropdownMenuTriggerDirective implements OnDestroy {\n\n    @Input() public options: OptionModel[];\n    @Input() public fitWidth: boolean;\n    // @Input() public config: DropdownOptions;\n\n    @Output() public resultEvent: EventEmitter<any> = new EventEmitter<any>();\n    @Output() public opened: EventEmitter<any> = new EventEmitter<any>();\n    @Output() public closed: EventEmitter<any> = new EventEmitter<any>();\n\n    public sub: Subscription;\n    public isOpened: boolean;\n\n    constructor(\n        @Inject(PLATFORM_ID) private platformId: any,\n        private dropdownService: DropdownService,\n        private el: ElementRef,\n        private optionsService: OptionsService\n    ) {\n    }\n\n    @HostListener('click')\n    public open(): void | undefined {\n        if (isPlatformServer(this.platformId)) {\n            return;\n        }\n\n        if (this.isOpened) {\n            return;\n        }\n        this.isOpened = true;\n        this.opened.emit();\n\n        this.optionsService.options = this.options;\n\n        const opts: DropdownOptions = {\n            triggerRect: this.el.nativeElement.getBoundingClientRect(),\n            fitWidth: this.fitWidth,\n            multi: false\n        };\n\n        this.dropdownService.showDropdown(opts).subscribe(res => {\n            this.isOpened = false;\n            this.closed.emit();\n\n            if (res) {\n                this.resultEvent.emit(res);\n            }\n        });\n    }\n\n    public ngOnDestroy(): void {\n        this.resultEvent.complete();\n        this.opened.complete();\n        this.closed.complete();\n        this.sub?.unsubscribe();\n        this.optionsService.options = null;\n    }\n\n}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ButtonsModule } from '../buttons/buttons.module';\n\nimport { AutocompleteModule } from './autocomplete/autocomplete.module';\nimport { SelectModule } from './select/select.module';\nimport { DropdownMenuTriggerDirective } from './context/dropdown-menu-trigger.directive';\nimport {DropdownComponent} from './dropdown.component';\n\nconst moduleDirectives = [\n    DropdownMenuTriggerDirective,\n];\n\nconst moduleComponents = [\n    DropdownComponent,\n];\n\nconst moduleDeclarations = [\n    // Directives\n    ...moduleDirectives,\n    // Components\n    ...moduleComponents,\n];\n\nconst modules = [\n    AutocompleteModule,\n    SelectModule,\n];\n\n@NgModule({\n    imports: [\n        CommonModule,\n        ButtonsModule,\n    ],\n    declarations: [\n        ...moduleDeclarations,\n    ],\n    exports: [\n        ...moduleDeclarations,\n        ...modules,\n    ],\n    providers: [],\n    schemas: [\n        CUSTOM_ELEMENTS_SCHEMA,\n        NO_ERRORS_SCHEMA,\n    ]\n})\nexport class DropdownsModule {\n}\n","import { Component, forwardRef, HostBinding, HostListener, Input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n    selector: 'sdk-checkbox',\n    templateUrl: './checkbox.component.html',\n    styleUrls: ['./checkbox.component.scss'],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => CheckboxComponent),\n            multi: true\n        }\n    ]\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n\n    public checked: boolean = false;\n    @Input() public small: boolean = false;\n    @Input() public required: boolean = false;\n    @Input() @HostBinding('class.disabled')\n    public disabled: boolean = false;\n\n    @Input() @HostBinding('class.sdk-input--warn')\n    public error: string = undefined;\n\n    constructor() {\n    }\n\n    @HostListener('click')\n    @HostListener('keyup.enter')\n    public onclick(): void {\n        if (this.disabled) {\n            return;\n        }\n        this.writeValue(!this.checked);\n        this.onTouched();\n        this.onChange(this.checked);\n    }\n\n    public writeValue(value): void {\n        this.checked = value;\n    }\n\n    public onChange(value): void {\n    }\n\n    public onTouched(): void {\n    }\n\n    public registerOnChange(fn): void {\n        this.onChange = fn;\n    }\n\n    public registerOnTouched(fn): void {\n        this.onTouched = fn;\n    }\n\n    public setDisabledState(isDisabled: boolean): void {\n        this.disabled = isDisabled;\n    }\n}\n","<div class=\"sdk-checkbox\">\n    <div class=\"sdk-checkbox__indicator-wrapper\">\n        <div class=\"sdk-checkbox__indicator\"\n             [class.sdk-checkbox__indicator--small]=\"small\"\n             [class.sdk-checkbox__indicator--active]=\"checked\">\n            <ng-container *ngIf=\"!small\">\n                <svg class=\"sdk-checkbox__indicator-inner\" *ngIf=\"checked\" viewBox=\"0 0 12 12\" width=\"24\" height=\"24\">\n                    <g xmlns=\"http://www.w3.org/2000/svg\" transform=\"translate(0 -295.7)\">\n                        <g transform=\"matrix(.26458 0 0 .26458 88.295 138.1)\"/>\n                        <path id=\"Line\" d=\"m2.825 301.29 2.11 2.13 4.24-4.24\" fill=\"none\" stroke=\"#fff\"\n                              stroke-linecap=\"round\"\n                              stroke-linejoin=\"round\" stroke-width=\"1.5\"/>\n                    </g>\n                </svg>\n            </ng-container>\n            <ng-container *ngIf=\"small\">\n                <svg class=\"sdk-checkbox__indicator-inner\" *ngIf=\"checked\" viewBox=\"0 0 12 12\" width=\"16\" height=\"16\">\n                    <g xmlns=\"http://www.w3.org/2000/svg\" transform=\"translate(0 -296)\">\n                        <g transform=\"matrix(.26458 0 0 .26458 88.295 138.1)\"/>\n                        <path id=\"Line\" d=\"m2.825 301.29 2.11 2.13 4.24-4.24\" fill=\"none\" stroke=\"#fff\"\n                              stroke-linecap=\"round\"\n                              stroke-linejoin=\"round\" stroke-width=\"1.5\"/>\n                    </g>\n                </svg>\n            </ng-container>\n\n        </div>\n        <p class=\"sdk-checkbox__label\">\n            <ng-content></ng-content>\n        </p>\n    </div>\n    <small class=\"sdk-checkbox__error\" *ngIf=\"error\">\n        <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n            <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n                  d=\"M3.41421 0.585786C3.78929 0.210713 4.29799 0 4.82843 0H7.17157C7.70201 0 8.21071 0.210714 8.58579 0.585786L11.4142 3.41421C11.7893 3.78929 12 4.29799 12 4.82843V7.17157C12 7.70201 11.7893 8.21071 11.4142 8.58579L8.58579 11.4142C8.21071 11.7893 7.70201 12 7.17157 12H4.82843C4.29799 12 3.78929 11.7893 3.41421 11.4142L0.585786 8.58579C0.210713 8.21071 0 7.70201 0 7.17157V4.82843C0 4.29799 0.210714 3.78929 0.585786 3.41421L3.41421 0.585786ZM6 2C6.49981 2 6.90499 2.40518 6.90499 2.90499C6.90499 2.93506 6.90349 2.96511 6.9005 2.99504L6.54975 6.50248C6.52151 6.78492 6.28384 7 6 7C5.71616 7 5.47849 6.78492 5.45025 6.50248L5.0995 2.99504C5.04977 2.49771 5.41262 2.05422 5.90995 2.00449C5.93987 2.0015 5.96993 2 6 2ZM7 9C7 8.44771 6.55228 8 6 8C5.44772 8 5 8.44771 5 9C5 9.55229 5.44772 10 6 10C6.55228 10 7 9.55229 7 9Z\"\n                  fill=\"var(--warn)\"/>\n        </svg>\n        {{error ? error : ''}}\n    </small>\n</div>\n\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CheckboxComponent } from './checkbox.component';\n\n\n@NgModule({\n    declarations: [\n        CheckboxComponent\n    ],\n    exports: [\n        CheckboxComponent\n    ],\n    imports: [\n        CommonModule,\n        FormsModule,\n        ReactiveFormsModule,\n    ],\n    providers: [],\n    schemas: [\n        CUSTOM_ELEMENTS_SCHEMA,\n        NO_ERRORS_SCHEMA,\n    ]\n})\nexport class CheckboxModule {\n}\n","import {\n    AfterContentInit,\n    Component,\n    ElementRef,\n    EventEmitter,\n    forwardRef,\n    HostBinding,\n    Input,\n    OnDestroy,\n    OnInit,\n    Output,\n    Renderer2,\n    ViewChild,\n    ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { LayoutControlService } from '../../core/layout-control/layout-control.service';\n\n@Component({\n    selector: 'sdk-input, [sdk-input], [sdkInput]',\n    templateUrl: './input.component.html',\n    styleUrls: ['./input.component.scss'],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => InputComponent),\n            multi: true,\n        }\n    ],\n    encapsulation: ViewEncapsulation.None,\n})\nexport class InputComponent implements ControlValueAccessor, OnInit, OnDestroy, AfterContentInit {\n    private req: boolean = false;\n\n    @Input() public set required(val: any) {\n        this.req = val === '' || val === true;\n    }\n\n    public get required(): any {\n        return this.req;\n    }\n\n    @Input() public type: string = 'text';\n    @Input() public autocomplete: string = 'off';\n    @Input() public placeholder: string = '';\n    @Input() public tabindex: number = undefined;\n    // @Input() valueMask: string = undefined;\n    @Input() public autofocus: boolean = false;\n    @Input() public min: number;\n    @Input() public max: number;\n    @Input() public icon: string;\n    @Input() public iconPosition: 'right' | 'left' = 'left';\n    @Input() public small: boolean = false;\n    @Input() public size: 'wide' | 'full-width';\n    @Input() public caption: string;\n    @Input() public label: string;\n\n    @Input() @HostBinding('class.sdk-input--warn')\n    public error: string = undefined;\n    @Input() @HostBinding('class.disabled')\n    public disabled: boolean = false;\n\n    @Output() public focusEvent: EventEmitter<any> = new EventEmitter();\n    @Output() public blurEvent: EventEmitter<any> = new EventEmitter();\n\n    @ViewChild('input', {static: true}) public inputElementRef: ElementRef;\n    public value: any = undefined;\n    public focused: boolean = false;\n\n    public inputId: string = this.layoutControlService.generateLayoutElementHash();\n\n    constructor(\n        private layoutControlService: LayoutControlService,\n        // private themeService: ThemeService,\n        private elementRef: ElementRef,\n        private renderer: Renderer2,\n    ) {\n    }\n\n    public get iconPositionClass(): string {\n        return this.icon ? `sdk-input__input--icon-${this.iconPosition}` : '';\n    }\n\n    public emitFocus(): void {\n        const event = {\n            target: this.elementRef.nativeElement,\n            eventName: 'focus',\n            value: this.value || ''\n        };\n        this.focused = true;\n        this.focusEvent.emit(event);\n    }\n\n    public emitBlur(): void {\n        const event = {\n            target: this.elementRef.nativeElement,\n            eventName: 'blur',\n            value: this.value || ''\n        };\n        this.focused = false;\n        this.blurEvent.emit(event);\n    }\n\n    public get iconUrl(): string {\n        return this.icon ? `url(${this.icon})` : '';\n    }\n\n    public focus(): void {\n        this.focused = true;\n        this.inputElementRef.nativeElement.focus();\n    }\n\n    public blur(): void {\n        this.focused = false;\n        this.inputElementRef.nativeElement.blur();\n    }\n\n    public change(target): void {\n        this.writeValue(target.value);\n        this.onTouched();\n    }\n\n    public onChange(value): void {\n    }\n\n    public onTouched(): void {\n    }\n\n    public writeValue(value: any): void {\n        if (this.type === 'number') {\n            if (value < this.min) {\n                value = this.min;\n            } else if (value > this.max) {\n                value = this.max;\n            }\n        }\n        this.value = value;\n        this.onChange(this.value);\n    }\n\n    public registerOnChange(fn): void {\n        this.onChange = fn;\n    }\n\n    public registerOnTouched(fn): void {\n        this.onTouched = fn;\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this.disabled = isDisabled;\n    }\n\n    private setSizeClass(): void {\n        const availableSizeClasses = ['wide', 'full-width'];\n        if (availableSizeClasses.includes(this.size)) {\n            this.renderer.addClass(this.elementRef.nativeElement, `sdk-input--${this.size}`);\n        }\n    }\n\n    public ngOnInit(): void {\n        if (!!this.size) {\n            this.setSizeClass();\n        }\n    }\n\n    public ngAfterContentInit(): void {\n        if (this.autofocus && !this.disabled) {\n            this.inputElementRef.nativeElement.focus();\n        }\n    }\n\n    public ngOnDestroy(): void {\n        this.focusEvent.complete();\n        this.blurEvent.complete();\n    }\n}\n","<label class=\"sdk-input__label flex-row layout-start-center\" for=\"{{inputId}}\"\n       [class.sdk-input__label--focused]=\"focused\"\n       [class.sdk-input__label--small]=\"small\">\n    <ng-container *ngIf=\"label\">\n        {{label}}\n    </ng-container>\n    <ng-container *ngIf=\"!label\">\n        <ng-content></ng-content>\n    </ng-container>\n    <span *ngIf=\"required\" class=\"sdk-input__label-required-mark\">&nbsp;*</span>\n</label>\n<div class=\"sdk-input-wrap flex-row layout-center-stretch\"\n     [class.sdk-input-wrap--warn]=\"error\"\n     [class.sdk-input-wrap--focused]=\"focused\">\n    <input class=\"sdk-input__input\" id=\"{{inputId}}\"\n           [autocomplete]=\"autocomplete\"\n           [type]=\"type\"\n           [style.backgroundImage]=\"icon ? icon : ''\"\n           [ngClass]=\"iconPositionClass\"\n           [class.sdk-input__input--small]=\"small\"\n           [placeholder]=\"placeholder\"\n           [tabindex]=\"tabindex\"\n           [required]=\"required\"\n           (focus)=\"emitFocus()\"\n           (blur)=\"emitBlur()\"\n           (keyup)=\"change($event.target)\"\n           [value]=\"value ? value : ''\"\n           [disabled]=\"disabled\"\n           [autofocus]=\"autofocus\"\n           #input/>\n</div>\n<small class=\"sdk-input__caption\" *ngIf=\"caption\">{{caption}}</small>\n<small class=\"sdk-input__error\" *ngIf=\"error\" (click)=\"input.focus()\">\n    <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n        <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n              d=\"M3.41421 0.585786C3.78929 0.210713 4.29799 0 4.82843 0H7.17157C7.70201 0 8.21071 0.210714 8.58579 0.585786L11.4142 3.41421C11.7893 3.78929 12 4.29799 12 4.82843V7.17157C12 7.70201 11.7893 8.21071 11.4142 8.58579L8.58579 11.4142C8.21071 11.7893 7.70201 12 7.17157 12H4.82843C4.29799 12 3.78929 11.7893 3.41421 11.4142L0.585786 8.58579C0.210713 8.21071 0 7.70201 0 7.17157V4.82843C0 4.29799 0.210714 3.78929 0.585786 3.41421L3.41421 0.585786ZM6 2C6.49981 2 6.90499 2.40518 6.90499 2.90499C6.90499 2.93506 6.90349 2.96511 6.9005 2.99504L6.54975 6.50248C6.52151 6.78492 6.28384 7 6 7C5.71616 7 5.47849 6.78492 5.45025 6.50248L5.0995 2.99504C5.04977 2.49771 5.41262 2.05422 5.90995 2.00449C5.93987 2.0015 5.96993 2 6 2ZM7 9C7 8.44771 6.55228 8 6 8C5.44772 8 5 8.44771 5 9C5 9.55229 5.44772 10 6 10C6.55228 10 7 9.55229 7 9Z\"\n              fill=\"var(--warn-a90)\"/>\n    </svg>\n    {{error ? error : ''}}\n</small>\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { InputComponent } from './input.component';\n\n\n@NgModule({\n    declarations: [\n        InputComponent\n    ],\n    exports: [\n        InputComponent\n    ],\n    imports: [\n        CommonModule,\n        FormsModule,\n        ReactiveFormsModule,\n    ],\n    providers: [],\n    schemas: [\n        CUSTOM_ELEMENTS_SCHEMA,\n        NO_ERRORS_SCHEMA,\n    ]\n})\nexport class InputModule {\n}\n","import { Component, forwardRef, HostBinding, Input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n    selector: 'sdk-radio',\n    templateUrl: './radio.component.html',\n    styleUrls: ['./radio.component.scss'],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => RadioComponent),\n            multi: true\n        }\n    ]\n})\nexport class RadioComponent implements ControlValueAccessor {\n\n    @Input() public label: string = '';\n    @Input() public data: any;\n    @Input() public tabindex: number = 0;\n    @Input() public small: boolean = false;\n    @Input() public required: boolean = false;\n    @Input() @HostBinding('class.disabled')\n    public disabled: boolean = false;\n    @Input() @HostBinding('class.sdk-input--warn')\n    public error: string = undefined;\n\n    public value: any = undefined;\n\n    constructor() {\n    }\n\n    public select(value): void {\n        this.writeValue(value);\n        this.onTouched();\n        this.onChange(value);\n    }\n\n    public writeValue(value): void {\n        const selected = this.data.find(el => el.value === value);\n        if (selected) {\n            this.value = selected.value;\n        }\n    }\n\n    public onChange(value): void {\n    }\n\n    public onTouched(): void {\n    }\n\n    public registerOnChange(fn): void {\n        this.onChange = fn;\n    }\n\n    public registerOnTouched(fn): void {\n        this.onTouched = fn;\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this.disabled = isDisabled;\n    }\n}\n","<label *ngIf=\"label\" class=\"sdk-radio__label\" [class.sdk-radio__label--small]=\"small\">{{label}}</label>\n<div class=\"sdk-radio__container\" [class.sdk-radio__container--small]=\"small\">\n    <div class=\"sdk-radio__radio\"\n         *ngFor=\"let item of data\"\n         (click)=\"select(item.value)\"\n         (keyup.enter)=\"select(item.value)\"\n         [tabindex]=\"tabindex\">\n        <div class=\"sdk-radio__indicator\" [class.sdk-radio__indicator--selected]='item.value === value'>\n            <div class=\"sdk-radio__indicator-inner\"></div>\n        </div>\n        <span class=\"sdk-radio__text\">{{item.name}}</span>\n    </div>\n</div>\n<div class=\"sdk-radio__error\" *ngIf=\"error\">\n    <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n        <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n              d=\"M3.41421 0.585786C3.78929 0.210713 4.29799 0 4.82843 0H7.17157C7.70201 0 8.21071 0.210714 8.58579 0.585786L11.4142 3.41421C11.7893 3.78929 12 4.29799 12 4.82843V7.17157C12 7.70201 11.7893 8.21071 11.4142 8.58579L8.58579 11.4142C8.21071 11.7893 7.70201 12 7.17157 12H4.82843C4.29799 12 3.78929 11.7893 3.41421 11.4142L0.585786 8.58579C0.210713 8.21071 0 7.70201 0 7.17157V4.82843C0 4.29799 0.210714 3.78929 0.585786 3.41421L3.41421 0.585786ZM6 2C6.49981 2 6.90499 2.40518 6.90499 2.90499C6.90499 2.93506 6.90349 2.96511 6.9005 2.99504L6.54975 6.50248C6.52151 6.78492 6.28384 7 6 7C5.71616 7 5.47849 6.78492 5.45025 6.50248L5.0995 2.99504C5.04977 2.49771 5.41262 2.05422 5.90995 2.00449C5.93987 2.0015 5.96993 2 6 2ZM7 9C7 8.44771 6.55228 8 6 8C5.44772 8 5 8.44771 5 9C5 9.55229 5.44772 10 6 10C6.55228 10 7 9.55229 7 9Z\"\n              fill=\"var(--warn)\"/>\n    </svg>\n    {{error ? error : ''}}\n</div>\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RadioComponent } from './radio.component';\n\n\n@NgModule({\n    declarations: [\n        RadioComponent\n    ],\n    exports: [\n        RadioComponent\n    ],\n    imports: [\n        CommonModule,\n        FormsModule,\n        ReactiveFormsModule,\n    ],\n    providers: [],\n    schemas: [\n        CUSTOM_ELEMENTS_SCHEMA,\n        NO_ERRORS_SCHEMA,\n    ]\n})\nexport class RadioModule {\n}\n","import { InjectionToken } from '@angular/core';\nimport { Theme } from './theme.model';\n\nexport const THEMES = new InjectionToken('THEMES');\nexport const ACTIVE_THEME = new InjectionToken('ACTIVE_THEME');\n\nexport interface ThemeOptions {\n    themes?: Theme[];\n    active: string;\n}\n\nexport const THEME_STORAGE_NAME = '_sdk_theme';\nexport const LIGHT_THEME = 'light';\nexport const DARK_THEME = 'dark';\nexport const GREEN_THEME = 'green';\nexport const PURPLE_THEME = 'purple';\n","const defaultBaseRgb = `25,25,25`;\nconst defaultBackgroundRgb = `255,255,255`;\nconst defaultRegularRgb = `186,186,186`; // `66,66,66`;\nconst defaultPrimaryRgb = `0,85,255`; // `0,85,255`;\nconst defaultSuccessRgb = `39,174,96`; // `39,174,96`;\nconst defaultAccentRgb = `241,201,79`; // `255,168,38`;\nconst defaultWarnRgb = `211,50,39`; // `238,112,112`;\n\nexport type ThemeBaseColors = 'base' | 'background';\nexport type ThemeColors = 'regular' | 'primary' | 'success' | 'accent' | 'warn';\n\nexport const defaultColors = {\n    base: defaultBaseRgb,\n    base_text: defaultBackgroundRgb,\n    background: defaultBackgroundRgb,\n    regular: defaultRegularRgb,\n    regular_text: defaultBaseRgb,\n    primary: defaultPrimaryRgb,\n    primary_text: defaultBackgroundRgb,\n    success: defaultSuccessRgb,\n    success_text: defaultBackgroundRgb,\n    accent: defaultAccentRgb,\n    accent_text: defaultBackgroundRgb,\n    warn: defaultWarnRgb,\n    warn_text: defaultBackgroundRgb,\n};\n\nexport const baseColors = [\n    `base`, `background`,\n];\n\nexport const colors = [\n    `regular`, `primary`, `success`, `accent`, `warn`,\n];\n\nconst alphaLimit = 100;\nconst alphaStep = 10;\n\nexport class ColorProperty {\n    public value: string;\n    public text_value?: string;\n    public background: string;\n    public name: string;\n    public text?: string;\n    public prop?: string;\n    public alpha?: number;\n    public rgb?: string;\n    public hex?: string;\n\n    constructor(cp?: ColorProperty) {\n        Object.assign(this, cp);\n        this.prop = `--${this.name}`;\n\n        // find color values\n        const rgbVal = this.value.split(sep(this.value)).map(i => parseInt(i, 10));\n        const bgVal = this.background.split(sep(this.background)).map(i => parseInt(i, 10));\n        const rgbMixin = MixinRgba(rgbVal, bgVal, this.alpha / 100);\n        const bgMixin = MixinRgba(bgVal, rgbVal, this.alpha / 100);\n\n        // declare rgb values\n        this.rgb = NumArrayToRgbString(rgbMixin);\n        this.hex = RgbaToHex(this.rgb);\n        this.background = NumArrayToRgbString(bgMixin);\n\n        // check if text value is available\n        if (this.text_value?.length > 0) {\n            const textVal = this.text_value.split(sep(this.text_value)).map(i => parseInt(i, 10));\n            const textMixin = MixinRgba(textVal, bgVal, 0.9);\n            this.text = NumArrayToRgbString(textMixin);\n        }\n    }\n}\n\nexport class Theme {\n    public name: string;\n\n    // there goes RGB colors palette string values\n    public base?: string;\n    public background?: string;\n    public regular?: string;\n    public primary?: string;\n    public success?: string;\n    public accent?: string;\n    public warn?: string;\n    // text keys\n    public base_text?: string;\n    public regular_text?: string;\n    public primary_text?: string;\n    public success_text?: string;\n    public accent_text?: string;\n    public warn_text?: string;\n\n    public colors?: Set<ColorProperty>;\n\n    constructor(t?: Theme) {\n        Object.assign(this, defaultColors, t);\n\n        this.colors = new Set<ColorProperty>();\n        for (const color of [...baseColors, ...colors]) {\n            const rgb = this[color];\n\n            const textColor = `${color}_text`;\n            const colorProp = new ColorProperty({\n                name: color,\n                text_value: this[textColor],\n                alpha: alphaLimit,\n                value: rgb,\n                background: rgb === this.background ? this.base : this.background,\n            });\n            this.colors.add(colorProp);\n        }\n    }\n\n    public props?(): ColorProperty[] {\n        const results = [];\n\n        for (const c of this.colors) {\n            results.push(c);\n        }\n\n        for (const color of [...baseColors, ...colors]) {\n            const rgb = this[color];\n\n            for (let alpha = alphaStep; alpha <= alphaLimit; alpha += alphaStep) {\n                results.push(new ColorProperty({\n                    name: `${color}-a${alpha}`,\n                    alpha,\n                    value: rgb,\n                    background: rgb === this.background ? this.base : this.background,\n                }));\n            }\n        }\n\n        return results;\n    }\n}\n\nconst sep = (str: string): string => {\n    return str?.indexOf(',') < 0 ? (str?.indexOf(', ') < 0 ? ' ' : ', ') : ',';\n};\n\nconst trim = (str: string): string => {\n    return str?.replace(/^\\s+|\\s+$/gm, '');\n};\n\nexport const MixinRgba = (base: number[], added: number[], alpha: number): number[] => {\n    const r3 = Math.round(((1 - alpha) * added[0]) + (alpha * base[0]));\n    const g3 = Math.round(((1 - alpha) * added[1]) + (alpha * base[1]));\n    const b3 = Math.round(((1 - alpha) * added[2]) + (alpha * base[2]));\n    return [r3, g3, b3];\n};\n\nexport const NumArrayToRgbString = (rgb: number[]): string => {\n    return `rgb(${rgb[0]},${rgb[1]},${rgb[2]})`;\n};\n\nexport const RgbaToHex = (rgba: string): string => {\n    if (!rgba) {\n        return '';\n    }\n\n    const inParts = rgba.substring(rgba.indexOf('(')).split(sep(rgba));\n    const r = parseInt(trim(inParts[0].substring(1)), 10);\n    const g = parseInt(trim(inParts[1]), 10);\n    const b = parseInt(trim(inParts[2]), 10);\n    const outParts = [\n        r.toString(16),\n        g.toString(16),\n        b.toString(16)\n    ];\n\n    if (inParts.length > 3) {\n        const a: any = parseFloat(trim(inParts[3].substring(0, inParts[3].length - 1))).toFixed(2);\n        outParts.push(Math.round(a * 255).toString(16).substring(0, 2));\n    }\n\n    // Pad single-digit output values\n    outParts.forEach((part, i) => {\n        if (part.length === 1) {\n            outParts[i] = '0' + part;\n        }\n    });\n\n    return ('#' + outParts.join(''));\n};\n\nexport const HexToRgb = (hex: string): number[] => {\n    const r = parseInt(hex.substr(1, 2), 16);\n    const g = parseInt(hex.substr(3, 2), 16);\n    const b = parseInt(hex.substr(5, 2), 16);\n    return [r, g, b];\n};\n","import { defaultColors, Theme } from '../theme.model';\n\nexport const themeLight: Theme = {\n    name: 'light',\n    base: defaultColors.base,\n    base_text: defaultColors.background,\n    background: defaultColors.background,\n    regular: defaultColors.regular,\n    regular_text: defaultColors.base,\n    primary: defaultColors.primary,\n    primary_text: defaultColors.background,\n    success: defaultColors.success,\n    success_text: defaultColors.background,\n    accent: defaultColors.accent,\n    accent_text: defaultColors.base,\n    warn: defaultColors.warn,\n    warn_text: defaultColors.background\n};\n","import { defaultColors, Theme } from '../theme.model';\n\nexport const defaultBaseRgb = `250,250,250`;\nexport const defaultBackgroundRgb = `48,48,48`;\nexport const defaultTextRgb = `26,26,26`;\nexport const defaultRegularRgb = `66,66,66`;\n\nexport const themeDark: Theme = {\n    name: 'dark',\n    base: defaultBaseRgb,\n    base_text: defaultTextRgb,\n    background: defaultBackgroundRgb,\n    regular: defaultRegularRgb,\n    regular_text: defaultBaseRgb,\n    primary: defaultColors.primary,\n    primary_text: defaultBaseRgb,\n    success: defaultColors.success,\n    success_text: defaultBaseRgb,\n    accent: defaultColors.accent,\n    accent_text: defaultTextRgb,\n    warn: defaultColors.warn,\n    warn_text: defaultBaseRgb,\n};\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { DARK_THEME } from './symbols';\n\nimport { Theme } from './theme.model';\nimport { themeLight } from './lib/theme-light';\nimport { themeDark } from './lib/theme-dark';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class ThemeService {\n    private $themes: BehaviorSubject<Theme[]> = new BehaviorSubject<Theme[]>([new Theme(themeLight), new Theme(themeDark)]);\n    private $currentTheme = new BehaviorSubject<Theme>(this.getDefaultTheme());\n\n    constructor(\n        // @Optional() public injectedThemes: Theme[], // TODO theme injection feature v2++\n        // @Optional() public active: string // TODO better control\n    ) {\n    }\n\n    public get themes(): Theme[] {\n        return this.$themes.getValue();\n    }\n\n    public get themesObservable(): Observable<Theme[]> {\n        return this.$themes.asObservable();\n    }\n\n    public get currentTheme(): Theme {\n        return this.$currentTheme.getValue();\n    }\n\n    public set currentTheme(t: Theme) {\n        this.$currentTheme.next(new Theme(t));\n    }\n\n    public get themeName(): string {\n        return this.$currentTheme.getValue().name;\n    }\n\n    public get currentThemeObservable(): Observable<Theme> {\n        return this.$currentTheme.asObservable();\n    }\n\n    public get darkness(): boolean {\n        return this.themeName === DARK_THEME;\n    }\n\n    /**\n     * check if there is saved theme, then looks it up at theme repository\n     */\n    public getDefaultTheme(): Theme {\n        return this.findTheme(themeLight.name);\n    }\n\n    /**\n     * Find theme by specified theme\n     * Always returns 'light' theme if no results\n     */\n    public findTheme(name: string): Theme {\n        return this.themes.find(t => t.name === name) || themeLight;\n    }\n\n    /**\n     * returns current theme index\n     */\n    public getCurrentThemeIndex(): number {\n        return this.themes.findIndex(t => t.name === this.currentTheme.name);\n    }\n\n    /**\n     * Switch to next theme, find current index\n     * and if (current + 1) is out of index expression just go to themes[0]\n     */\n    public nextTheme(): void {\n        const currentIndex = this.getCurrentThemeIndex();\n        const isLast = currentIndex === (this.themes.length - 1);\n        this.currentTheme = isLast ? this.themes[0] : this.themes[currentIndex + 1];\n    }\n\n    /**\n     * Sets specified specified theme by name\n     *\n     * @param name is required\n     */\n    public setTheme(name: string): void {\n        const t = this.findTheme(name);\n        if (t.name !== name) {\n            console.warn('Specified theme name not found: ', name);\n        }\n        this.currentTheme = t;\n    }\n\n    /**\n     * Gets value of specified theme property\n     *\n     * @param propName is required\n     */\n    public getProperty(propName: string): string {\n        const theme = this.currentTheme;\n        if (theme.hasOwnProperty(propName)) {\n            return this.currentTheme[propName];\n        } else {\n            return '';\n        }\n    }\n\n    /**\n     * Registers new theme in service memory\n     * @param theme contains new Theme references\n     * cannot be named as `light`, `dark` or any default themes\n     */\n    public registerTheme(theme: Theme): void {\n        if (!!this.themes.find(t => t.name === theme.name)) {\n            theme.name = `custom_${theme.name}_${this.themes.length + 1}`;\n        }\n        this.$themes.next([...this.themes, new Theme(theme)]);\n    }\n\n\n    public updateTheme(t: Theme): void {\n        const theme = this.findTheme(t.name);\n        const themes = this.themes;\n        const index = themes.indexOf(theme);\n        if (index >= 0) {\n            themes[index] = t;\n        }\n        this.$themes.next(themes);\n        if (theme.name === t.name) {\n            this.currentTheme = new Theme(t);\n        }\n    }\n\n}\n","import { Component, ElementRef, EventEmitter, forwardRef, HostBinding, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ThemeService } from '../../core/theme/theme.service';\nimport { LayoutControlService } from '../../core/layout-control/layout-control.service';\n\n@Component({\n    selector: 'sdk-textarea',\n    templateUrl: './textarea.component.html',\n    styleUrls: ['./textarea.component.scss'],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => TextareaComponent),\n            multi: true\n        }\n    ]\n})\nexport class TextareaComponent implements ControlValueAccessor, OnInit, OnDestroy {\n    private req: boolean;\n    private res: boolean;\n\n    @Input() public set required(val: any) {\n        this.req = val === '' || val === true;\n    }\n\n    public get required(): any {\n        return this.req;\n    }\n\n    @Input()\n    public placeholder: string = '';\n\n    @Input() public tabindex: number = undefined;\n    @Input() public minHeight: number = 76;\n    @Input() public maxHeight: number = 280;\n    @Input() public small: boolean;\n    @Input() public label: string;\n    @Input() public caption: string;\n    @Input() public resizable: boolean = true;\n\n    @Input() @HostBinding('class.sdk-textarea--warn')\n    public error: string;\n\n    @Input() @HostBinding('class.disabled')\n    public disabled: boolean;\n\n    @Input() @HostBinding('class.full-width')\n    public fullWidth: boolean = false;\n\n    @Output() public focusEvent: EventEmitter<any> = new EventEmitter();\n    @Output() public blurEvent: EventEmitter<any> = new EventEmitter();\n\n    @ViewChild('clone', {static: false}) public elementClone: ElementRef;\n    @ViewChild('textarea', {static: true}) public textarea: ElementRef;\n\n    public value: string = undefined;\n    public focused: boolean = false;\n    public rows: number = 3;\n\n    public textareaId: string = this.layoutControlService.generateLayoutElementHash();\n\n    constructor(\n        private layoutControlService: LayoutControlService,\n        private elementRef: ElementRef,\n        private themeService: ThemeService,\n    ) {\n    }\n\n    public ngOnInit(): void {\n        if (this.disabled && this.resizable) {\n            this.resizable = false;\n        }\n\n        if (this.fullWidth) {\n            const parentElWidth = this.elementRef.nativeElement.parentElement.offsetWidth;\n            this.textarea.nativeElement.style.width = `${parentElWidth}px`;\n        }\n    }\n\n    public onFocus(): void {\n        const event = {\n            target: this.elementRef.nativeElement,\n            eventName: 'focus',\n            value: this.value || ''\n        };\n        this.focused = true;\n        this.focusEvent.emit(event);\n    }\n\n    public onBlur(): void {\n        const event = {\n            target: this.elementRef.nativeElement,\n            eventName: 'blur',\n            value: this.value || ''\n        };\n        this.focused = false;\n        this.blurEvent.emit(event);\n    }\n\n    public change(target): void {\n        this.writeValue(target.value);\n        this.onTouched();\n        this.elementClone.nativeElement.innerText = target.value.replace(/\\n^ *$/gm, '\\n-');\n    }\n\n    public writeValue(value: any): void {\n        this.value = value;\n        this.onChange(this.value);\n    }\n\n    public onChange(value): void {\n    }\n\n    public onTouched(): void {\n    }\n\n    public isEmpty(): boolean {\n        return !this.value || this.value.length < 1;\n    }\n\n    public registerOnChange(fn): void {\n        this.onChange = fn;\n    }\n\n    public registerOnTouched(fn): void {\n        this.onTouched = fn;\n    }\n\n    public setDisabledState?(isDisabled: boolean): void {\n        this.disabled = isDisabled;\n    }\n\n    public ngOnDestroy(): void {\n        this.focusEvent.complete();\n        this.blurEvent.complete();\n    }\n\n}\n","<label class=\"sdk-textarea__label\" for=\"{{textareaId}}\"\n       [class.sdk-textarea__label--focused]=\"focused\"\n       [class.sdk-textarea__label--small]=\"small\">\n    {{label}}\n</label>\n<div class=\"sdk-textarea-wrap\" #wrap\n     [class.sdk-textarea-wrap--warn]=\"error\"\n     [class.sdk-textarea-wrap--focused]=\"focused\">\n    <div class=\"sdk-textarea-inner-wrap\">\n        <textarea class=\"sdk-textarea__textarea\" #textarea\n                  id=\"{{textareaId}}\"\n                  [class.sdk-textarea__textarea--small]=\"small\"\n                  [placeholder]=\"placeholder\"\n                  [tabindex]=\"tabindex\"\n                  (focus)=\"onFocus()\"\n                  (blur)=\"onBlur()\"\n                  (keyup)=\"change($event.target)\"\n                  [value]=\"value ? value : ''\"\n                  [rows]=\"rows\"\n                  [required]=\"required\"\n                  [style.height.px]=\"clone.clientHeight + 2\"\n                  [disabled]=\"disabled\"\n                  [style.resize]=\"resizable ? 'both' : 'none'\"\n                  [style.minHeight.px]=\"minHeight\"\n                  [style.maxHeight.px]=\"maxHeight\">\n        </textarea>\n        <div class=\"sdk-textarea__pull-angle-wrapper\" *ngIf=\"resizable\">\n            <div class=\"sdk-textarea__pull-angle\">\n                <div class=\"sdk-textarea__pull-angle-inner\"></div>\n            </div>\n        </div>\n        <div class=\"sdk-textarea__hidden-clone sdk-textarea__textarea\" #clone></div>\n    </div>\n</div>\n<small class=\"sdk-textarea__caption\" *ngIf=\"caption\">{{caption}}</small>\n<small class=\"sdk-textarea__error\" *ngIf=\"error\" (click)=\"textarea.focus()\">\n    <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n        <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n              d=\"M3.41421 0.585786C3.78929 0.210713 4.29799 0 4.82843 0H7.17157C7.70201 0 8.21071 0.210714 8.58579 0.585786L11.4142 3.41421C11.7893 3.78929 12 4.29799 12 4.82843V7.17157C12 7.70201 11.7893 8.21071 11.4142 8.58579L8.58579 11.4142C8.21071 11.7893 7.70201 12 7.17157 12H4.82843C4.29799 12 3.78929 11.7893 3.41421 11.4142L0.585786 8.58579C0.210713 8.21071 0 7.70201 0 7.17157V4.82843C0 4.29799 0.210714 3.78929 0.585786 3.41421L3.41421 0.585786ZM6 2C6.49981 2 6.90499 2.40518 6.90499 2.90499C6.90499 2.93506 6.90349 2.96511 6.9005 2.99504L6.54975 6.50248C6.52151 6.78492 6.28384 7 6 7C5.71616 7 5.47849 6.78492 5.45025 6.50248L5.0995 2.99504C5.04977 2.49771 5.41262 2.05422 5.90995 2.00449C5.93987 2.0015 5.96993 2 6 2ZM7 9C7 8.44771 6.55228 8 6 8C5.44772 8 5 8.44771 5 9C5 9.55229 5.44772 10 6 10C6.55228 10 7 9.55229 7 9Z\"\n              fill=\"var(--warn)\"/>\n    </svg>\n    {{error ? error : ''}}\n</small>\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TextareaComponent } from './textarea.component';\n\n\n@NgModule({\n    declarations: [\n        TextareaComponent\n    ],\n    exports: [\n        TextareaComponent\n    ],\n    imports: [\n        CommonModule,\n        FormsModule,\n        ReactiveFormsModule,\n    ],\n    providers: [],\n    schemas: [\n        CUSTOM_ELEMENTS_SCHEMA,\n        NO_ERRORS_SCHEMA,\n    ]\n})\nexport class TextareaModule {\n}\n","import { Component, forwardRef, HostBinding, HostListener, Input, OnInit } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n    selector: 'sdk-toggle',\n    templateUrl: './toggle.component.html',\n    styleUrls: ['./toggle.component.scss'],\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => ToggleComponent),\n            multi: true\n        }\n    ]\n})\nexport class ToggleComponent implements OnInit {\n\n    @HostBinding('class.sdk-switch--on')\n    public on: boolean = false;\n\n    @HostBinding('class.sdk-switch--small')\n    @Input()\n    public small: boolean = false;\n\n    @HostBinding('class.disabled')\n    @Input()\n    public disabled: boolean = false;\n\n    @Input()\n    public isActive: boolean = false;\n\n    constructor() {\n    }\n\n    @HostListener('click')\n    @HostListener('keyup.enter')\n    public onclick(): void {\n        if (this.disabled) {\n            return;\n        }\n        this.writeValue(!this.on);\n        this.onChange(this.on);\n        this.isActive = this.on;\n        this.onTouched();\n    }\n\n    public writeValue(value): void {\n        this.on = value;\n    }\n\n    public onChange(value): void {\n    }\n\n    public onTouched(): void {\n    }\n\n    public registerOnChange(fn): void {\n        this.onChange = fn;\n    }\n\n    public registerOnTouched(fn): void {\n        this.onTouched = fn;\n    }\n\n    public ngOnInit(): void {\n        this.on = this.isActive;\n    }\n\n}\n","<div class=\"sdk-switch__thumb\"></div>\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ToggleComponent } from './toggle.component';\n\n\n@NgModule({\n    declarations: [\n        ToggleComponent\n    ],\n    exports: [\n        ToggleComponent\n    ],\n    imports: [\n        CommonModule,\n        FormsModule,\n        ReactiveFormsModule,\n    ],\n    providers: [],\n    schemas: [\n        CUSTOM_ELEMENTS_SCHEMA,\n        NO_ERRORS_SCHEMA,\n    ]\n})\nexport class ToggleModule {\n}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ButtonsModule } from '../buttons/buttons.module';\nimport { CheckboxModule } from './checkbox/checkbox.module';\n// import { DatepickerModule } from './datepicker/datepicker.module';\nimport { InputModule } from './input/input.module';\nimport { RadioModule } from './radio/radio.module';\nimport { TextareaModule } from './textarea/textarea.module';\nimport { ToggleModule } from './toggle/toggle.module';\n// import { WysiwygModule } from './wysiwyg/wysiwyg.module';\n\nconst modules = [\n    CheckboxModule,\n    // DatepickerModule,\n    InputModule,\n    RadioModule,\n    TextareaModule,\n    ToggleModule,\n    // WysiwygModule,\n];\n\n@NgModule({\n    imports: [\n        CommonModule,\n        ButtonsModule,\n        ...modules,\n    ],\n    declarations: [],\n    exports: [\n        ...modules,\n    ],\n    providers: [],\n    schemas: [\n        CUSTOM_ELEMENTS_SCHEMA,\n        NO_ERRORS_SCHEMA,\n    ]\n})\nexport class InputsModule {\n}\n","import { Component, ElementRef, HostBinding } from '@angular/core';\n\n@Component({\n    selector: 'sdk-slide',\n    // templateUrl: './slide.component.html',\n    template: `<ng-content></ng-content>`,\n    styleUrls: ['./slide.component.scss']\n})\nexport class SlideComponent {\n\n    constructor(\n        public el: ElementRef,\n    ) {\n    }\n\n    @HostBinding('class')\n    public slide = 'sdk-slide';\n}\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\n\n@Component({\n    selector: 'sdk-dots',\n    templateUrl: './dots.component.html',\n    styleUrls: ['./dots.component.scss']\n})\nexport class DotsComponent implements OnInit, OnChanges {\n\n    @Input() public count: number = 0;\n    @Input() public activeIndex: number = 0;\n    @Input() public small: boolean = false;\n\n    @Output() public selected = new EventEmitter();\n\n    public dots = [];\n\n    constructor() {\n    }\n\n    public clickHandler(index: number): void {\n        this.selected.emit(index);\n        this.activeIndex = index;\n    }\n\n    public ngOnChanges(changes): void {\n        this.dots = new Array(this.count);\n    }\n\n    public ngOnInit(): void {\n        this.dots = new Array(Number(this.count));\n    }\n}\n","<div class=\"sdk-dots\" [class.sdk-dots--small]=\"small\">\n    <div class=\"sdk-dots__dot\" [class.sdk-dots__dot--active]=\"activeIndex === i\" *ngFor=\"let dot of dots; let i = index\"\n         (click)=\"clickHandler(i)\"></div>\n</div>\n","import {\n    AfterContentInit,\n    AfterViewInit,\n    Component,\n    ContentChildren,\n    ElementRef,\n    HostListener,\n    Input,\n    OnDestroy,\n    OnInit,\n    QueryList,\n    Renderer2,\n    ViewChild\n} from '@angular/core';\nimport {SlideComponent} from './slide/slide.component';\nimport {fromEvent, interval, Subscription} from 'rxjs';\nimport {filter, repeatWhen, takeUntil} from 'rxjs/operators';\n\n@Component({\n    selector: 'sdk-carousel',\n    templateUrl: './carousel.component.html',\n    styleUrls: ['./carousel.component.scss'],\n})\nexport class CarouselComponent implements OnInit, AfterContentInit, AfterViewInit, OnDestroy {\n\n    @ContentChildren(SlideComponent) public carouselSlides: QueryList<SlideComponent>;\n\n    @ViewChild('carouselWrapper', {static: true}) public carouselWrapper: ElementRef;\n    @ViewChild('carouselRow', {static: true}) public carouselRow: ElementRef;\n\n    @Input() public dots: boolean = false;\n    @Input() public infinity: boolean = false;\n    @Input() public pauseByHover: boolean = false;\n    @Input() public arrows: boolean = true;\n    @Input() public slidesToScroll: number = 1;\n    @Input() public slidesToShow: number = 1;\n    @Input() public timeout: number = 5000;\n    @Input() public offset: number = 0;\n\n    public slidesArr: SlideComponent[] = [];\n    public firstPageClones: SlideComponent[];\n    public lastPageClones: SlideComponent[];\n\n    public activeSlideIndex: number = 0;\n    public curCarouselPosition: number = 0;\n    public pagePenalty: number = 0;\n    public slideWidth: number;\n    public scrollStep: number;\n    public scrollStartX: number;\n    public scrollOffset: number;\n\n    public isScrolling: boolean;\n    public isGrabbed: boolean = false;\n    public isViewInit: boolean = false;\n\n    public carouselWrapperRects: ClientRect;\n    public carouselRowRects: ClientRect;\n\n    public sub: Subscription;\n\n    public get dotsCount(): number {\n        return Math.ceil(this.slidesArr.length / this.slidesToScroll);\n    }\n\n    constructor(\n        private el: ElementRef,\n        private renderer: Renderer2,\n    ) {\n    }\n\n    @HostListener('window:resize')\n    public windowResizeHandler(): void {\n        if (this.carouselWrapper.nativeElement.offsetWidth !== this.carouselWrapperRects?.width) {\n            this.updateSlider();\n        }\n    }\n\n    @HostListener('pointerup')\n    public pointerUpHandler(): void {\n        if (!this.isGrabbed) {\n            return;\n        }\n\n        this.isGrabbed = false;\n\n        if (this.scrollOffset < this.curCarouselPosition - 100) {\n            this.move('forward');\n        } else if (this.scrollOffset > this.curCarouselPosition + 100) {\n            this.move('back');\n        } else {\n            this.animate(this.curCarouselPosition);\n        }\n        this.scrollOffset = 0;\n    }\n\n    @HostListener('pointermove', ['$event'])\n    public pointerMoveHandler(event: PointerEvent): void {\n        if (this.isGrabbed) {\n            this.scrollOffset = this.curCarouselPosition + event.clientX - this.scrollStartX;\n            this.renderer.setStyle(this.carouselRow.nativeElement, 'transform', `translateX(${this.scrollOffset}px)`);\n        }\n    }\n\n    public animate(newPosition): void {\n        this.isScrolling = true;\n        this.renderer.setStyle(this.carouselRow.nativeElement, 'transition', `400ms`);\n        this.renderer.setStyle(this.carouselRow.nativeElement, 'transform', `translateX(${newPosition}px)`);\n        this.updatePosition();\n\n        if (this.activeSlideIndex + 1 > this.dotsCount) {\n            this.activeSlideIndex = 0;\n            setTimeout(() => {\n                this.curCarouselPosition = -(this.slidesToScroll * this.slideWidth);\n                this.renderer.setStyle(this.carouselRow.nativeElement, 'transform', `translateX(${this.curCarouselPosition}px)`);\n                this.carouselRowRects = this.carouselRow.nativeElement.getBoundingClientRect();\n            }, 500);\n        }\n\n        if (this.activeSlideIndex === -1) {\n            this.activeSlideIndex = this.dotsCount - 1;\n            setTimeout(() => {\n                this.curCarouselPosition = -(this.slidesToScroll * this.slideWidth) * this.dotsCount;\n                this.renderer.setStyle(this.carouselRow.nativeElement, 'transform', `translateX(${this.curCarouselPosition}px)`);\n                this.carouselRowRects = this.carouselRow.nativeElement.getBoundingClientRect();\n            }, 500);\n        }\n    }\n\n    public grab(event: PointerEvent): void {\n        event.preventDefault();\n\n        this.isGrabbed = true;\n        this.scrollStartX = event.clientX;\n    }\n\n    public move(direction: 'forward' | 'back'): void {\n        this.carouselWrapperRects = this.carouselWrapper.nativeElement.getBoundingClientRect();\n        const widthPenalty = (this.activeSlideIndex === 0 ?\n            this.slideWidth * (this.dotsCount * this.slidesToScroll - this.slidesArr.length) : 0);\n\n        if (this.isScrolling) {\n            return;\n        }\n        switch (direction) {\n            case 'back':\n                this.curCarouselPosition += this.carouselRowRects.left + this.scrollStep > this.carouselWrapperRects.left ?\n                    this.carouselWrapperRects.left - this.carouselRowRects.left : this.scrollStep - widthPenalty;\n                break;\n            case 'forward':\n                this.curCarouselPosition += this.carouselRowRects.right - this.scrollStep < this.carouselWrapperRects.right ?\n                    -(this.carouselRowRects.right - this.carouselWrapperRects.right) : -this.scrollStep;\n                break;\n        }\n\n        const prevIndex = this.activeSlideIndex;\n        this.activeSlideIndex = Math.ceil(Math.abs(this.curCarouselPosition + this.pagePenalty) / (this.scrollStep)) % (this.dotsCount + 1);\n\n        if (prevIndex === 0 && this.activeSlideIndex === 1 && direction === 'back') {\n            this.activeSlideIndex = -1;\n        }\n\n        this.animate(this.curCarouselPosition);\n    }\n\n    public selectSlide(slideIndex: number): void {\n        this.activeSlideIndex = slideIndex;\n\n        let notMultipleDif = 0;\n        if (slideIndex + 1 === this.dotsCount) {\n            notMultipleDif = (this.slidesArr.length % this.slidesToScroll) * this.slideWidth;\n        }\n\n        this.curCarouselPosition = -(this.activeSlideIndex * this.slideWidth * this.slidesToScroll - notMultipleDif) - this.pagePenalty;\n        this.animate(this.curCarouselPosition);\n    }\n\n    public updatePosition(): void {\n        setTimeout(() => {\n            this.carouselRowRects = this.carouselRow.nativeElement.getBoundingClientRect();\n            this.renderer.removeStyle(this.carouselRow.nativeElement, 'transition');\n            this.isScrolling = false;\n        }, 500);\n    }\n\n    public setSlideStyles(): void {\n        this.slidesArr.forEach(slide => {\n            if (this.offset) {\n                this.renderer.setStyle(slide.el.nativeElement, 'padding', this.offset + 'px');\n            }\n            this.renderer.setStyle(slide.el.nativeElement, 'width', this.slideWidth + 'px');\n        });\n    }\n\n    public checkSlidesToScroll(): void {\n        if (this.slidesToScroll > this.slidesArr.length) {\n            this.slidesToScroll = this.slidesArr.length;\n        }\n    }\n\n    public createClones(): void {\n        this.lastPageClones = [...this.slidesArr].slice(-this.slidesToShow).map(this.cloneNode.bind(this)).reverse() as SlideComponent[];\n        this.firstPageClones = [...this.slidesArr].slice(0, this.slidesToShow).map(this.cloneNode.bind(this));\n    }\n\n    public cloneNode(node): HTMLElement {\n        const clone: HTMLElement = node.el.nativeElement.cloneNode(true);\n        this.renderer.addClass(clone, 'sdk-slide--clone');\n        return clone;\n    }\n\n    public insertClones(): void {\n        for (const clone of this.lastPageClones) {\n            this.renderer.insertBefore(this.carouselRow.nativeElement, clone, this.carouselRow.nativeElement.firstChild);\n        }\n        for (const clone of this.firstPageClones) {\n            this.renderer.appendChild(this.carouselRow.nativeElement, clone);\n        }\n    }\n\n    public removeClones(): void {\n        for (const clone of this.firstPageClones) {\n            this.renderer.removeChild(this.carouselRow.nativeElement, clone);\n        }\n        for (const clone of this.lastPageClones) {\n            this.renderer.removeChild(this.carouselRow.nativeElement, clone);\n        }\n    }\n\n    public updateSlider(): void {\n        this.carouselWrapperRects = this.carouselWrapper.nativeElement.getBoundingClientRect();\n        this.slideWidth = this.carouselWrapper.nativeElement.offsetWidth / this.slidesToShow;\n        this.scrollStep = this.slidesToScroll * this.slideWidth;\n\n        this.setSlideStyles();\n        this.checkSlidesToScroll();\n\n        if (this.infinity) {\n            this.pagePenalty = this.scrollStep;\n            if (this.firstPageClones || this.lastPageClones) {\n                this.removeClones();\n            }\n            this.createClones();\n            this.insertClones();\n\n            this.curCarouselPosition = -(this.slidesToScroll * this.slideWidth);\n            this.renderer.setStyle(this.carouselRow.nativeElement, 'transform', `translateX(${this.curCarouselPosition}px)`);\n            this.updatePosition();\n        }\n        this.carouselRowRects = this.carouselRow.nativeElement.getBoundingClientRect();\n    }\n\n    public ngOnInit(): void {\n        this.sub = fromEvent(this.carouselRow.nativeElement, 'pointerdown').subscribe(pointerEvent => {\n            this.grab(pointerEvent as PointerEvent);\n        });\n    }\n\n    public ngAfterContentInit(): void {\n        this.slideWidth = this.carouselWrapper.nativeElement.offsetWidth / this.slidesToShow;\n        this.slidesArr = this.carouselSlides.toArray();\n    }\n\n    public ngAfterViewInit(): void {\n        const pointerEnter$ = fromEvent(this.el.nativeElement, 'pointerenter').pipe(filter(() => this.pauseByHover));\n        const pointerLeave$ = fromEvent(this.el.nativeElement, 'pointerleave');\n        const pointerLeave = pointerLeave$.subscribe(() => {\n            this.pointerUpHandler();\n        });\n\n        this.isViewInit = true;\n        this.updateSlider();\n        this.sub.add(pointerLeave);\n\n        if (this.timeout) {\n            const slideTimeout = interval(this.timeout)\n                .pipe(\n                    takeUntil(pointerEnter$),\n                    repeatWhen(() => pointerLeave$)\n                )\n                .subscribe(() => {\n                    this.move('forward');\n                });\n\n            this.sub.add(slideTimeout);\n        }\n    }\n\n    // ngOnChanges(changes): void {\n    //     if (this.isViewInit) {\n    //         if (changes.slidesToScroll || changes.slidesToShow) {\n    //             this.updateSlider();\n    //         }\n    //     }\n    // }\n\n    public ngOnDestroy(): void {\n        this.sub?.unsubscribe();\n    }\n}\n","<div class=\"sdk-carousel\">\n    <div class=\"sdk-carousel__wrapper\" #carouselWrapper>\n        <ng-container *ngIf=\"arrows\">\n            <button sdk-round-button class=\"sdk-carousel__arrow sdk-carousel__arrow--left\" color=\"basic\"\n                    (click)=\"move('back')\">\n                <sdk-icon icon=\"chevron_left\" [size]=\"24\"></sdk-icon>\n            </button>\n            <button sdk-round-button class=\"sdk-carousel__arrow sdk-carousel__arrow--right\" color=\"basic\"\n                    (click)=\"move('forward')\">\n                <sdk-icon icon=\"chevron_right\" [size]=\"24\"></sdk-icon>\n            </button>\n        </ng-container>\n        <div class=\"sdk-carousel__row\" #carouselRow draggable=\"false\">\n            <ng-content select=\"sdk-slide\"></ng-content>\n        </div>\n    </div>\n    <div class=\"sdk-carousel__dots\" *ngIf=\"dots\" [style.bottom.px]=\"-offset\">\n        <sdk-dots [activeIndex]=\"activeSlideIndex\" [count]=\"dotsCount\" (selected)=\"selectSlide($event)\"></sdk-dots>\n    </div>\n</div>\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DotsComponent } from './dots.component';\n\n\n\n@NgModule({\n    declarations: [\n        DotsComponent,\n    ],\n    exports: [\n        DotsComponent,\n    ],\n    imports: [\n        CommonModule\n    ],\n    providers: [],\n    schemas: [\n        CUSTOM_ELEMENTS_SCHEMA,\n        NO_ERRORS_SCHEMA,\n    ]\n})\nexport class DotsModule { }\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SlideComponent } from './slide/slide.component';\nimport { CarouselComponent } from './carousel.component';\nimport { DotsModule } from '../dots/dots.module';\nimport { IconModule } from '../../buttons/icon/icon.module';\nimport { ButtonModule } from '../../buttons/button/button.module';\n\n\n@NgModule({\n    declarations: [\n        SlideComponent,\n        CarouselComponent\n    ],\n    exports: [\n        SlideComponent,\n        CarouselComponent\n    ],\n    imports: [\n        CommonModule,\n        DotsModule,\n        IconModule,\n        ButtonModule,\n    ],\n    providers: [],\n    schemas: [\n        CUSTOM_ELEMENTS_SCHEMA,\n        NO_ERRORS_SCHEMA,\n    ]\n})\nexport class CarouselModule {\n}\n","import { Component } from '@angular/core';\n\n@Component({\n    selector: 'sdk-divider',\n    templateUrl: './divider.component.html',\n    styleUrls: ['./divider.component.scss']\n})\nexport class DividerComponent {\n\n    constructor() {\n    }\n}\n","<div class=\"sdk-divider\"></div>\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DividerComponent } from './divider.component';\n\n\n@NgModule({\n    declarations: [\n        DividerComponent,\n    ],\n    exports: [\n        DividerComponent,\n    ],\n    imports: [\n        CommonModule\n    ],\n    providers: [],\n    schemas: [\n        CUSTOM_ELEMENTS_SCHEMA,\n        NO_ERRORS_SCHEMA,\n    ]\n})\nexport class DividerModule {\n}\n","import { Component } from '@angular/core';\n\n@Component({\n    selector: 'sdk-list',\n    templateUrl: './list.component.html',\n    styleUrls: ['./list.component.scss']\n})\nexport class ListComponent {\n\n    constructor() {\n    }\n}\n","<p>list works!</p>\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ListComponent } from './list.component';\n\n\n\n@NgModule({\n    declarations: [\n        ListComponent,\n    ],\n    exports: [\n        ListComponent,\n    ],\n    imports: [\n        CommonModule\n    ],\n    providers: [],\n    schemas: [\n        CUSTOM_ELEMENTS_SCHEMA,\n        NO_ERRORS_SCHEMA,\n    ]\n})\nexport class ListModule { }\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n    selector: 'sdk-pagination',\n    templateUrl: './pagination.component.html',\n    styleUrls: ['./pagination.component.scss']\n})\nexport class PaginationComponent implements OnInit {\n\n    @Input() public page: number;\n    @Input() public count: number;\n    @Input() public limit: number;\n    @Input() public small: boolean;\n\n    @Output() public changed = new EventEmitter();\n\n    public rightArrowHovered: boolean = false;\n    public leftArrowHovered: boolean = false;\n    public pageCount: number;\n\n    constructor() {\n    }\n\n    public pageChange(page): void {\n        if (this.page === page) {\n            return;\n        }\n\n        this.page = page;\n        this.createPageArray();\n        this.changed.emit(page);\n    }\n\n    public createPageArray(): Page[] {\n        switch (this.page) {\n            case 1:\n                return [\n                    {value: 1},\n                    {value: 2},\n                    {value: 3},\n                    {value: '...', disabled: true},\n                    {value: this.pageCount}\n                ];\n            case 2:\n                return [\n                    {value: 1},\n                    {value: 2},\n                    {value: 3},\n                    {value: 4},\n                    {value: '...', disabled: true},\n                    {value: this.pageCount}\n                ];\n            case 3:\n                return [\n                    {value: 1},\n                    {value: 2},\n                    {value: 3},\n                    {value: 4},\n                    {value: '...', disabled: true},\n                    {value: this.pageCount}\n                ];\n            case this.pageCount - 2:\n                return [\n                    {value: 1},\n                    {value: '...', disabled: true},\n                    {value: this.pageCount - 3},\n                    {value: this.pageCount - 2},\n                    {value: this.pageCount - 1},\n                    {value: this.pageCount}\n                ];\n            case this.pageCount - 1:\n                return [\n                    {value: 1},\n                    {value: '...', disabled: true},\n                    {value: this.pageCount - 3},\n                    {value: this.pageCount - 2},\n                    {value: this.pageCount - 1},\n                    {value: this.pageCount}\n                ];\n            case this.pageCount:\n                return [\n                    {value: 1},\n                    {value: '...', disabled: true},\n                    {value: this.pageCount - 2},\n                    {value: this.pageCount - 1},\n                    {value: this.pageCount}\n                ];\n            default:\n                return [\n                    {value: 1},\n                    {value: '...', disabled: true},\n                    {value: this.page - 1},\n                    {value: this.page},\n                    {value: this.page + 1},\n                    {value: '...', disabled: true},\n                    {value: this.pageCount}\n                ];\n        }\n    }\n\n    public getPageCount(): number {\n        return Math.ceil(this.count / this.limit);\n    }\n\n    public getPages(): Page[] {\n        let pages = [];\n        const pageCount = this.getPageCount();\n        if (pageCount > 5) {\n            pages = this.createPageArray();\n        } else {\n            for (let i = 1; i <= pageCount; i++) {\n                pages.push({value: i} as Page);\n            }\n        }\n\n        return pages;\n    }\n\n    public ngOnInit(): void {\n        this.pageCount = this.getPageCount();\n    }\n}\n\ninterface Page {\n    value: number | string;\n    disabled?: boolean;\n}\n","<div class=\"sdk-paginator\"\n     [class.sdk-paginator--default]=\"!small\"\n     [class.sdk-paginator--small]=\"small\">\n    <div class=\"sdk-paginator__wrapper\">\n        <button class=\"sdk-paginator__btn sdk-paginator__arrow sdk-paginator__arrow--left\"\n                (mouseenter)=\"leftArrowHovered = true\"\n                (mouseleave)=\"leftArrowHovered = false\"\n                [disabled]=\"page <= 1\"\n                (click)=\"pageChange(page - 1)\">\n            <sdk-icon [icon]=\"'chevron_left'\" size=\"24\"\n                      [color]=\"leftArrowHovered ? 'var(--primary-opposite)' : 'var(--primary-rgb)'\"></sdk-icon>\n        </button>\n        <div class=\"sdk-paginator__page\" *ngFor=\"let p of getPages()\">\n            <button class=\"sdk-paginator__btn sdk-paginator__page\" [disabled]=\"p.disabled\"\n                    [class.sdk-paginator__btn--active]=\"p.value === page\"\n                    (click)=\"pageChange(p.value)\">{{p.value}}\n            </button>\n        </div>\n        <button class=\"sdk-paginator__btn sdk-paginator__arrow sdk-paginator__arrow--right\"\n                (mouseenter)=\"rightArrowHovered = true\"\n                (mouseleave)=\"rightArrowHovered = false\"\n                [disabled]=\"(page + 1) > pageCount\"\n                (click)=\"pageChange(page + 1)\">\n            <sdk-icon [icon]=\"'chevron_right'\" size=\"24\"\n                      [color]=\"rightArrowHovered ? 'var(--primary-opposite)' : 'var(--primary-rgb)'\"></sdk-icon>\n        </button>\n    </div>\n</div>\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n// internals\nimport { IconModule } from '../../buttons/icon/icon.module';\n// pagination\nimport { PaginationComponent } from './pagination.component';\n\n@NgModule({\n    declarations: [\n        PaginationComponent,\n    ],\n    exports: [\n        PaginationComponent,\n    ],\n    imports: [\n        CommonModule,\n        IconModule\n    ],\n    providers: [],\n    schemas: [\n        CUSTOM_ELEMENTS_SCHEMA,\n        NO_ERRORS_SCHEMA,\n    ]\n})\nexport class PaginationModule {\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n    selector: 'sdk-progress',\n    templateUrl: './progress.component.html',\n    styleUrls: ['./progress.component.scss']\n})\nexport class ProgressComponent {\n\n    public val: number = 0;\n    @Input() public small: boolean = false;\n    @Input() public max: number = 100;\n    @Input() public min: number = 0;\n\n    @Input() public set value(val) {\n        if (val > this.max) {\n            this.val = 100;\n        } else if (val < this.min) {\n            this.val = 0;\n        } else {\n            this.val = Math.round(100 / (this.max / val));\n        }\n\n        if (this.val === 100) {\n            setTimeout(() => {\n                this.progressEnd.emit();\n            }, 400);\n        }\n    }\n\n    public get value(): number {\n        return this.val;\n    }\n\n    @Output() public progressEnd = new EventEmitter();\n\n    constructor() {\n    }\n}\n","<div class=\"sdk-progressbar progressbar\" [class.progressbar--small]=\"small\">\n    <div class=\"progressbar__fill\" [style.width.%]=\"val\"></div>\n</div>\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ProgressComponent } from './progress.component';\n\n\n\n@NgModule({\n    declarations: [\n        ProgressComponent,\n    ],\n    exports: [\n        ProgressComponent,\n    ],\n    imports: [\n        CommonModule\n    ],\n    providers: [],\n    schemas: [\n        CUSTOM_ELEMENTS_SCHEMA,\n        NO_ERRORS_SCHEMA,\n    ]\n})\nexport class ProgressModule { }\n","import {\n    AfterViewInit,\n    Component,\n    ElementRef,\n    EventEmitter,\n    HostListener,\n    Input,\n    OnInit,\n    Output,\n    Renderer2,\n    ViewChild\n} from '@angular/core';\nimport {Subscription} from 'rxjs';\n\n@Component({\n    selector: 'sdk-slider',\n    templateUrl: './slider.component.html',\n    styleUrls: ['./slider.component.scss']\n})\nexport class SliderComponent implements OnInit, AfterViewInit {\n\n    @ViewChild('thumb', {static: true}) public thumb: ElementRef;\n    @ViewChild('addThumb', {static: false}) public addThumb: ElementRef;\n    @ViewChild('thumbMultiple', {static: false}) public thumbMultiple: ElementRef;\n    @ViewChild('track', {static: true}) public track: ElementRef;\n\n    @Input() public max: number = 100;\n    @Input() public min: number = 0;\n    @Input() public step: number = 1;\n    @Input() public color: string = 'var(--primary)';\n    @Input() public value: any;\n    @Input() public disabled: boolean = false;\n    @Input() public multiple: boolean = false;\n    @Input() public small: boolean = false;\n\n    public isDrag: boolean = false;\n    public isMultipleDrag: boolean = false;\n    public trackRects: ClientRect;\n    public thumbCoords: number;\n    public multiThumbCoords: number;\n\n    public interValue: number = 0;\n    public gradientSize: number;\n    public gradientLeftOffset: number;\n    public subscription: Subscription = new Subscription();\n\n    public thumbSize: number;\n    public thumbClickOffset: number;\n    public multiThumbClickOffset: number;\n\n    @Output() public changed = new EventEmitter();\n    @Output() public moved = new EventEmitter();\n\n    constructor(\n        private renderer: Renderer2,\n    ) {\n    }\n\n    public grab(prop, event): void {\n        this[prop] = true;\n        if (prop === 'isDrag') {\n            this.thumbClickOffset = event.layerX;\n        }\n        if (prop === 'isMultipleDrag') {\n            this.multiThumbClickOffset = event.layerX;\n        }\n    }\n\n    @HostListener('document:pointerup')\n    public drop(): void {\n        this.isDrag = false;\n        this.isMultipleDrag = false;\n    }\n\n    @HostListener('document:pointermove', ['$event'])\n    public pointerMove(e: PointerEvent): void {\n        if (this.isDrag) {\n            this.thumbCoords = this.getCoords(e.clientX - this.thumbClickOffset);\n            if (this.thumbCoords < this.multiThumbCoords + (this.thumbSize / this.trackRects.width * 100)) {\n                return;\n            }\n\n            this.renderer.setStyle(this.thumb.nativeElement, 'left', this.thumbCoords + '%');\n\n            this.setGradient(this.thumbCoords);\n            this.calcValue(this.thumbCoords, this.multiple ? 'max' : null);\n            this.moved.emit();\n        }\n\n        if (this.isMultipleDrag) {\n            this.multiThumbCoords = this.getCoords(e.clientX - this.multiThumbClickOffset);\n\n            if (this.multiThumbCoords + (this.thumbSize / this.trackRects.width * 100) > this.thumbCoords) {\n                return;\n            }\n\n            this.renderer.setStyle(this.thumbMultiple.nativeElement, 'left', this.multiThumbCoords + '%');\n\n            this.setGradient(this.multiThumbCoords, true);\n            this.calcValue(this.multiThumbCoords, 'min');\n            this.moved.emit();\n        }\n    }\n\n    public getCoords(mouseX: number): number {\n        this.trackRects = this.track.nativeElement.getBoundingClientRect();\n        if (mouseX < this.trackRects.left) {\n            mouseX = this.trackRects.left;\n            this.setValue(this.min);\n        }\n\n        if (mouseX > this.trackRects.right) {\n            mouseX = this.trackRects.right;\n            this.setValue(this.max);\n        }\n\n        return (mouseX - this.trackRects.left) / this.trackRects.width * 100;\n    }\n\n    public moveThumb(e: MouseEvent): void {\n        const target: HTMLElement = e.target as HTMLElement;\n\n        if (target.classList.contains('sdk-slider__thumb')) {\n            return;\n        }\n\n        const coords = this.getCoords(e.clientX);\n        if (this.multiple) {\n            const firstThumb = {\n                thumb: this.thumbMultiple,\n                coords: this.multiThumbCoords,\n                position: 'left'\n            };\n            const secThumb = {\n                thumb: this.thumb,\n                coords: this.thumbCoords,\n                position: 'right'\n            };\n\n            if (secThumb.coords <= firstThumb.coords) {\n                [secThumb.coords, firstThumb.coords] = [firstThumb.coords, secThumb.coords];\n            }\n\n            const targetThumb = this.selectTargetBlock(coords, firstThumb, secThumb);\n            this.renderer.setStyle(targetThumb.thumb.nativeElement, 'left', coords + '%');\n            targetThumb.position === 'left' ? this.multiThumbCoords = coords : this.thumbCoords = coords;\n            this.setGradient(coords, targetThumb.position === 'left');\n            this.calcValue(coords, targetThumb.position === 'left' ? 'min' : 'max');\n        } else {\n            this.isDrag = true;\n            this.renderer.setStyle(this.thumb.nativeElement, 'left', coords + '%');\n            this.setGradient(coords);\n            this.calcValue(coords);\n        }\n\n        this.moved.emit();\n    }\n\n    public setGradient(thumbCoords: number, fromLeft?: boolean): void {\n        if (fromLeft) {\n            this.gradientLeftOffset = thumbCoords;\n        } else {\n            this.gradientSize = thumbCoords;\n        }\n    }\n\n    public selectTargetBlock(\n        clickCoords: number,\n        firstThumb: { thumb: ElementRef, coords: number, position: string },\n        secThumb: { thumb: ElementRef, coords: number, position: string }\n    ): { thumb: ElementRef, coords: number, position: string } {\n        return Math.abs(clickCoords - firstThumb.coords) < Math.abs(clickCoords - secThumb.coords) ? firstThumb : secThumb;\n    }\n\n    public calcValue(thumbCoords: number, rangeSide?: 'min' | 'max'): void {\n        const diff = this.max - this.min;\n\n        this.interValue = Math.round(diff / 100 * thumbCoords);\n        const newValue = this.step * Math.ceil(this.interValue / this.step) + this.min;\n\n        this.setValue(newValue, rangeSide);\n    }\n\n    public setValue(newValue: number, rangeSide?: 'max' | 'min'): void {\n        if (this.multiple) {\n            if (rangeSide === 'max') {\n                if (this.value.max !== newValue) {\n                    this.value.max = newValue;\n                    this.changed.emit(this.value);\n                }\n            }\n            if (rangeSide === 'min') {\n                if (this.value.min !== newValue) {\n                    this.value.min = newValue;\n                    this.changed.emit(this.value);\n                }\n            }\n        } else {\n            if (this.value !== newValue) {\n                this.value = newValue;\n                this.changed.emit(this.value);\n            }\n        }\n    }\n\n    public setInitialThumbCoords(): void {\n        this.trackRects = this.track.nativeElement.getBoundingClientRect();\n        // const padding = this.thumbSize;\n        const diff = this.max - this.min;\n        const valuePercent = this.multiple ? (this.value.max - this.min) * 100 / diff : (this.value - this.min) * 100 / diff;\n\n        if (this.multiple) {\n            setTimeout(() => {\n                const multipleValuePercent = (this.value.min - this.min) * 100 / diff;\n\n                this.multiThumbCoords = multipleValuePercent;\n                this.setGradient(multipleValuePercent, true);\n                this.renderer.setStyle(this.thumbMultiple.nativeElement, 'left', multipleValuePercent + '%');\n            });\n        }\n\n        this.thumbCoords = valuePercent;\n        this.setGradient(valuePercent);\n        this.renderer.setStyle(this.thumb.nativeElement, 'left', valuePercent + '%');\n    }\n\n    public ngOnInit(): void {\n        this.trackRects = this.track.nativeElement.getBoundingClientRect();\n        this.thumbSize = this.multiple ? 12 : this.small ? 24 : 32;\n\n        if (this.min > this.max) {\n            [this.max, this.min] = [this.min, this.max];\n        }\n\n        if (!this.multiple) {\n            if (this.value < this.min) {\n                this.value = this.min;\n            }\n            if (this.value > this.max) {\n                this.value = this.max;\n            }\n        } else {\n            if (this.value && this.value.min < this.min) {\n                this.value.min = this.min;\n            }\n            if (this.value && this.value.max > this.max) {\n                this.value.max = this.max;\n            }\n        }\n\n        this.value = this.value || (this.multiple ? {max: this.max, min: this.min} : this.min);\n\n        if (this.value && this.value !== this.min) {\n            this.setInitialThumbCoords();\n        }\n    }\n\n    public ngAfterViewInit(): void {\n        this.thumbCoords = this.getCoords(this.thumb.nativeElement.getBoundingClientRect().left + this.thumbSize);\n        if (this.multiple) {\n            this.multiThumbCoords = this.getCoords(this.thumbMultiple.nativeElement.getBoundingClientRect().left);\n        }\n    }\n}\n","<div class=\"sdk-slider__wrapper\"\n     [class.sdk-slider__wrapper--small]=\"small\"\n     [class.sdk-slider__wrapper--multiple]=\"multiple\">\n    <div class=\"sdk-slider__track-wrapper\" #track (pointerdown)=\"moveThumb($event)\">\n        <div class=\"sdk-slider__thumb-wrapper sdk-slider__thumb-wrapper--multiple\" *ngIf=\"multiple\" #thumbMultiple\n             [style.top]=\"'-12px'\">\n            <div class=\"sdk-slider__thumb\" [class.sdk-slider__thumb--active]=\"isMultipleDrag\"\n                 (pointerdown)=\"grab('isMultipleDrag', $event)\"></div>\n        </div>\n        <div class=\"sdk-slider__thumb-wrapper\" [style.top]=\"multiple ? '-12px' : (-thumbSize/2) + thumbSize/10 + 'px'\"\n             #thumb>\n            <div class=\"sdk-slider__thumb\" [class.sdk-slider__thumb--active]=\"isDrag\"\n                 (pointerdown)=\"grab('isDrag', $event)\"></div>\n        </div>\n        <div class=\"sdk-slider-track__background\"></div>\n        <div class=\"sdk-slider-track__fill\"\n             [ngStyle]=\"{'background': 'linear-gradient(to right, transparent 0px ' + (gradientLeftOffset || 0) + '%, ' + color + ' 0px ' + gradientSize + '%, transparent ' + gradientSize + 'px)'}\"></div>\n    </div>\n    <div class=\"sdk-slider-track__padding\" [style.width]=\"thumbSize + 'px'\"></div>\n</div>\n\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SliderComponent } from './slider.component';\n\n@NgModule({\n    declarations: [\n        SliderComponent\n    ],\n    exports: [\n        SliderComponent\n    ],\n    imports: [\n        CommonModule\n    ],\n    providers: [],\n    schemas: [\n        CUSTOM_ELEMENTS_SCHEMA,\n        NO_ERRORS_SCHEMA,\n    ]\n})\nexport class SliderModule {\n}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n// import {AccordionComponent} from './accordion/accordion.component';\n// import {BreadcrumbsComponent} from './breadcrumbs/breadcrumbs.component';\n// import {CalendarComponent} from './calendar/calendar.component';\n// import {ChartsComponent} from './charts/charts.component';\n// import {DragNDropComponent} from './drag-n-drop/drag-n-drop.component';\nimport { ButtonsModule } from '../buttons/buttons.module';\n// import { AccordionModule } from './accordion/accordion.module';\n// import { BreadcrumbsModule } from './breadcrumbs/breadcrumbs.module';\n// import { CalendarModule } from './calendar/calendar.module';\nimport { CarouselModule } from './carousel/carousel.module';\n// import { ChartsModule } from './charts/charts.module';\nimport { DividerModule } from './divider/divider.module';\nimport { DotsModule } from './dots/dots.module';\n// import { DragNDropModule } from './drag-n-drop/drag-n-drop.module';\nimport { ListModule } from './list/list.module';\nimport { LoadingModule } from './loading/loading.module';\nimport { PaginationModule } from './pagination/pagination.module';\nimport { ProgressModule } from './progress/progress.module';\nimport { SliderModule } from './slider/slider.module';\n// import { TableModule } from './table/table.module';\n\nconst modules = [\n    // AccordionModule,\n    // BreadcrumbsModule,\n    // CalendarModule,\n    CarouselModule,\n    // ChartsModule,\n    DividerModule,\n    DotsModule,\n    // DragNDropModule,\n    ListModule,\n    // LoadingModule,\n    PaginationModule,\n    ProgressModule,\n    SliderModule,\n    // TableModule,\n];\n\n@NgModule({\n    imports: [\n        CommonModule,\n        ButtonsModule,\n    ],\n    declarations: [],\n    exports: [\n        ...modules,\n    ],\n    providers: [],\n    schemas: [\n        CUSTOM_ELEMENTS_SCHEMA,\n        NO_ERRORS_SCHEMA,\n    ]\n})\nexport class LayoutModule {\n}\n","import { Component, ElementRef, EventEmitter, HostListener, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { Observable, Subscription, timer } from 'rxjs';\nimport { AlertOptions } from './alert.model';\n\n/**\n * Alert component\n */\n@Component({\n    selector: 'sdk-alert',\n    templateUrl: './alert.component.html',\n    styleUrls: ['./alert.component.scss'],\n    animations: [\n        trigger('state', [\n            state('opened', style({transform: 'translateY(0%)', opacity: 1})),\n            state('void, closed', style({transform: 'translateY(100%)', opacity: 0})),\n            transition('* => *', animate('200ms ease-in')),\n        ])\n    ],\n})\nexport class AlertComponent implements OnInit, OnDestroy {\n\n    @Input() public index: number = 0;\n    @Input() public options: AlertOptions;\n    @Output() public closed = new EventEmitter<any>();\n    @Output() public action = new EventEmitter<any>(); // emits alert index\n    @HostListener('[@state]') public state: any = 'closed';\n\n    public sub: Subscription;\n    public closeTimer: Observable<any>;\n    public isPurging: boolean;\n\n    constructor(\n        private elementRef: ElementRef\n    ) {\n    }\n\n    public close(action?: boolean): void {\n        if (this.options.action) {\n            this.options.$action?.emit(action);\n            this.options.$action?.complete();\n        }\n        this.closed.emit(this.index);\n    }\n\n    public ngOnInit(): void {\n        this.state = 'opened';\n\n        this.closeTimer = timer(this.options.timeout);\n        this.sub = this.closeTimer.subscribe(() => {\n            this.closed.emit(0);\n        });\n    }\n\n    public ngOnDestroy(): void {\n        this.state = 'closed';\n        this.sub?.unsubscribe();\n        this.closeTimer = undefined;\n        this.closed.complete();\n    }\n}\n\n","<div class=\"sdk-alert\" [class.sdk-alert--small]=\"options.small\" [@state]=\"state\">\n    <div class=\"sdk-alert__inner\">\n        <div>\n            <ng-container *ngIf=\"options.type ==='default'\">\n                <img class=\"sdk-custom-icon\" *ngIf=\"options.customIcon\" [src]=\"options.customIcon\" alt=\"alert\"/>\n            </ng-container>\n            <ng-container *ngIf=\"options.type === 'error'\">\n                <!-- alert svg -->\n                <sdk-icon icon=\"alert\" [size]=\"12\" [color]=\"'var(--warn)'\"></sdk-icon>\n            </ng-container>\n        </div>\n\n        <div class=\"sdk-alert-content\">\n            <h4 class=\"sdk-h4 sdk-alert__title\" *ngIf=\"options.title\">{{options.title}}</h4>\n            <p class=\"sdk-p sdk-text\">{{options.message}}</p>\n        </div>\n    </div>\n\n    <ng-container *ngIf=\"options.action\">\n        <div class=\"sdk-alert__interface\">\n            <span class=\"sdk-alert__interface-item\" (click)=\"close(true)\">{{options.actionText}}</span>\n        </div>\n    </ng-container>\n\n    <!-- close.svg -->\n    <div class=\"sdk-alert__close-wrapper\">\n        <sdk-icon class=\"sdk-alert__close\" icon=\"close\" [size]=\"16\" [color]=\"'var(--base-a90)'\"\n                  (click)=\"close()\"></sdk-icon>\n    </div>\n</div>\n","import { EventEmitter } from '@angular/core';\n\nexport class AlertOptions {\n    public $action?: EventEmitter<any>;\n\n    public message: string = 'Something went wrong';\n    public title?: string = 'Unexpected error';\n    public timeout?: number = 5000;\n    public type?: AlertType = 'error';\n    public customIcon?: string;\n    public small?: boolean = false;\n    public action?: boolean = false;\n    public actionText?: string = 'Done.';\n    public positionX?: AlertXPosition = 'right';\n    public positionY?: AlertYPosition = 'top';\n    public refName?: string = 'top-right';\n    public index?: number;\n    public active?: boolean;\n\n    constructor(opts?: AlertOptions) {\n        Object.assign(this, opts);\n\n        if (this.action) {\n            this.$action = new EventEmitter<any>();\n        }\n\n        if (opts.type === 'success') {\n            this.title = opts.title ?? 'Success';\n            this.message = opts.message ?? 'Well done!';\n        }\n\n        this.message = this.message.length > 125 ? `${this.message.substring(0, 128)}...` : this.message;\n        this.refName = `${opts?.positionY ?? this.positionY}-${opts?.positionX ?? this.positionX}`;\n    }\n}\n\nexport class AlertResponse {\n    public index?: number;\n    public actionTriggered?: boolean;\n}\n\nexport type AlertType = 'error' | 'success' | 'default';\nexport type AlertXPosition = 'left' | 'center' | 'right';\nexport type AlertYPosition = 'top' | 'bottom';\n","import { Component, EventEmitter, HostBinding, HostListener, InjectionToken, Input, OnDestroy, Output } from '@angular/core';\nimport { BehaviorSubject, interval } from 'rxjs';\nimport { AlertOptions } from './alert.model';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { takeWhile } from 'rxjs/operators';\n\nexport const ALERTS_CONTAINER_CLASSNAME = new InjectionToken<string>('sdk-alerts-container');\n\n@Component({\n    selector: 'sdk-alert-container',\n    templateUrl: './alerts.component.html',\n    styleUrls: ['./alerts.component.scss'],\n    animations: [\n        trigger('state', [\n            state('opened', style({transform: 'translateY(0%)', opacity: 1})),\n            state('void, closed', style({transform: 'translateY(100%)', opacity: 0})),\n            transition('* => *', animate('200ms ease-in')),\n        ])\n    ],\n})\nexport class AlertsComponent implements OnDestroy {\n\n    // sub: Subscription;\n    public $alerts: BehaviorSubject<AlertOptions[]> = new BehaviorSubject<AlertOptions[]>([]);\n\n    @Input() public set options(options: AlertOptions) {\n        const refs = [...this.$alerts.getValue(), new AlertOptions(options)];\n        this.$alerts.next(refs);\n    }\n\n    public get options(): AlertOptions {\n        const alertRefs = this.$alerts.getValue();\n        return alertRefs[0];\n    }\n\n    @Output() public closed = new EventEmitter<any>();\n    @HostListener('[@state]') public state: any = 'closed';\n\n    @HostBinding('class') public get classNames(): string {\n        return `${ALERTS_CONTAINER_CLASSNAME} ${ALERTS_CONTAINER_CLASSNAME}--${this.options.refName}`;\n    }\n\n    public get alerts(): AlertOptions[] {\n        return this.$alerts.getValue();\n    }\n\n    public set alerts(alerts: AlertOptions[]) {\n        this.$alerts.next(alerts);\n    }\n\n    constructor() {\n    }\n\n    public onClose(ev): void {\n        const alerts = this.alerts;\n        alerts.splice(ev, 1);\n        this.alerts = alerts;\n        if (this.alerts.length < 1) {\n            this.closed.emit();\n            this.closed.complete();\n        }\n    }\n\n    public closeAll(): void {\n        interval(10).pipe(\n            takeWhile(() => this.alerts.length > 0, false)\n        ).subscribe(\n            () => this.onClose(0)\n        );\n    }\n\n    public ngOnDestroy(): void {\n        this.state = 'closed';\n        // this.sub?.unsubscribe();\n    }\n\n}\n","<ng-container>\n    <ng-container *ngFor=\"let options of alerts; index as i\">\n        <ng-container *ngIf=\"i < 5\">\n            <div class=\"sdk-alert__wrapper\">\n                <sdk-alert [options]=\"options\" [index]=\"i\" (closed)=\"onClose($event)\"></sdk-alert>\n            </div>\n        </ng-container>\n    </ng-container>\n\n    <ng-container *ngIf=\"alerts?.length > 1\">\n        <div class=\"sdk-alert-close\" (click)=\"closeAll()\">\n            <sdk-icon icon=\"close\" size=\"12\" [color]=\"'var(--base-90)'\"></sdk-icon>\n            <span>close all</span>\n        </div>\n    </ng-container>\n</ng-container>\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconModule } from '../../buttons/icon/icon.module';\n\nimport { AlertComponent } from './alert.component';\nimport { AlertsComponent } from './alerts.component';\n\n@NgModule({\n    declarations: [\n        AlertComponent,\n        AlertsComponent,\n    ],\n    exports: [\n        AlertComponent,\n        AlertsComponent,\n    ],\n    imports: [\n        CommonModule,\n        IconModule\n    ],\n    providers: [],\n    schemas: [\n        CUSTOM_ELEMENTS_SCHEMA,\n        NO_ERRORS_SCHEMA,\n    ]\n})\nexport class AlertModule {\n}\n","import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n    selector: '[sdkDialog]'\n})\nexport class DialogDirective {\n\n    constructor(\n        public viewContainerRef: ViewContainerRef\n    ) {\n    }\n\n}\n","import {\n    Component,\n    ComponentFactoryResolver,\n    EventEmitter,\n    HostBinding,\n    Inject,\n    Input,\n    OnDestroy,\n    OnInit,\n    Output,\n    PLATFORM_ID,\n    ViewChild\n} from '@angular/core';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { Subscription } from 'rxjs';\n// internal\nimport { DialogDirective } from './dialog.directive';\nimport { Dialog } from './dialog.model';\nimport { NavigationStart, Router } from '@angular/router';\nimport { filter } from 'rxjs/operators';\nimport { DOCUMENT, isPlatformBrowser, isPlatformServer } from '@angular/common';\n\n@Component({\n    selector: 'sdk-dialog',\n    templateUrl: './dialog.component.html',\n    styleUrls: ['./dialog.component.scss'],\n    animations: [\n        trigger('state', [\n            state('opened', style({transform: 'translateY(0%)'})),\n            state('void, closed', style({transform: 'translateY(100%)', opacity: 0})),\n            transition('* => *', animate('300ms ease-in')),\n        ])\n    ]\n})\nexport class DialogComponent implements OnInit, OnDestroy {\n\n    @Input() public id: number;\n    @Input() public data: any;\n    @Input() public hideOnEscape: boolean = true;\n    @Input() public hideOnBackdrop: boolean = true;\n    @Input() public borderRadius: number = 0;\n    @Input() public disableScroll: boolean;\n    @Input() public component: any;\n    @ViewChild(DialogDirective, {static: true}) public modalDirective: DialogDirective;\n\n    @HostBinding('attr.state') public state: 'opened' | 'closed' = 'closed';\n\n    @Output() public closed = new EventEmitter();\n\n    public br: string = '0';\n    public escapeSub: Subscription;\n\n    constructor(\n        @Inject(DOCUMENT) private document: any,\n        @Inject(PLATFORM_ID) private platformId: any,\n        private cfResolver: ComponentFactoryResolver,\n        private router: Router\n    ) {\n    }\n\n    public loadComponent(): void {\n        const componentFactory = this.cfResolver.resolveComponentFactory(this.component);\n\n        const viewRef = this.modalDirective.viewContainerRef;\n        viewRef.clear();\n\n        const componentRef = viewRef.createComponent(componentFactory);\n        (componentRef.instance as Dialog).data = this.data;\n        (componentRef.instance as Dialog).resultEvent.subscribe(res => {\n            this.closed.next(res);\n            this.closed.complete();\n        });\n    }\n\n    public onSuccess(result: any): void {\n        this.closed.next(result);\n        this.closed.complete();\n    }\n\n    public onBackdrop(): void {\n        if (this.hideOnBackdrop) {\n            this.onSuccess(null);\n        }\n    }\n\n    public hideOnRouterEvents(): void {\n        const sub = this.router.events.pipe(\n            filter(event => event instanceof NavigationStart)\n        ).subscribe(() => {\n            this.onBackdrop();\n        });\n\n        this.escapeSub ? this.escapeSub.add(sub) : this.escapeSub = sub;\n    }\n\n    public ngOnInit(): void {\n        if (isPlatformBrowser(this.platformId)) {\n            this.state = 'opened';\n            if (this.borderRadius > 0) {\n                this.br = `${this.borderRadius}px`;\n            }\n\n            this.loadComponent();\n\n            this.hideOnRouterEvents();\n        }\n    }\n\n    public ngOnDestroy(): void {\n        this.closed.complete();\n        if (this.escapeSub) {\n            this.escapeSub.unsubscribe();\n        }\n        this.state = 'closed';\n    }\n\n}\n\n","<div class=\"sdk-dialog-wrap flex-column layout-center-center\" [style.zIndex]=\"id\" autofocus>\n    <div class=\"sdk-dialog-container flex-row layout-center-center\">\n        <div class=\"sdk-dialog-backdrop\" (click)=\"onBackdrop()\"></div>\n        <div class=\"sdk-dialog-content-wrap flex-column\" [style.borderRadius]=\"br\">\n            <div class=\"sdk-dialog-content\" [style.borderRadius]=\"br\" [class.disable-scroll]=\"disableScroll\">\n                <ng-template sdkDialog></ng-template>\n            </div>\n        </div>\n    </div>\n</div>\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DialogDirective } from './dialog.directive';\nimport { DialogComponent } from './dialog.component';\n\n\n@NgModule({\n    declarations: [\n        DialogDirective,\n        DialogComponent,\n    ],\n    exports: [\n        DialogDirective,\n        DialogComponent,\n    ],\n    imports: [\n        CommonModule\n    ],\n    providers: [],\n    schemas: [\n        CUSTOM_ELEMENTS_SCHEMA,\n        NO_ERRORS_SCHEMA,\n    ]\n})\nexport class DialogModule {\n}\n","import { Component, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\n\n@Component({\n    selector: 'sdk-popup',\n    templateUrl: './popup.component.html',\n    styleUrls: ['./popup.component.scss'],\n    animations: [\n        trigger('state', [\n            state('opened', style({transform: 'translateY(0%)'})),\n            state('void, closed', style({transform: 'translateY(100%)', opacity: 0})),\n            transition('* => *', animate('300ms ease-in')),\n        ])\n    ]\n})\nexport class PopupComponent implements OnDestroy {\n\n    @Input() public id: number = 1000;\n    @Input() public title;\n    @Input() public message;\n    @Input() public ok = 'Ok';\n    @Input() public cancel = 'Cancel';\n    @Output() public closed = new EventEmitter();\n\n    public onSuccess(bool: boolean): void {\n        this.closed.emit(bool);\n    }\n\n    constructor() {\n    }\n\n    public ngOnDestroy(): void {\n        this.closed.complete();\n    }\n\n}\n","<div class=\"sdk-popup-wrap\" [style.zIndex]=\"id\">\n    <div class=\"sdk-popup-backdrop\" (click)=\"onSuccess(false)\"></div>\n    <div class=\"sdk-popup-content\">\n        <header>\n            <h3 class=\"sdk-h3\">{{title}}</h3>\n        </header>\n        <section>\n            <p>{{message}}</p>\n        </section>\n        <footer>\n            <button sdk-base-button (click)=\"onSuccess(true)\">{{ok}}</button>\n            <button sdk-base-button color=\"regular\" (click)=\"onSuccess(false)\">{{cancel}}</button>\n        </footer>\n    </div>\n</div>\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PopupComponent } from './popup.component';\nimport { ButtonModule } from '../../buttons/button/button.module';\n\n\n\n@NgModule({\n    declarations: [\n        PopupComponent\n    ],\n    exports: [\n        PopupComponent\n    ],\n    imports: [\n        CommonModule,\n        ButtonModule\n    ],\n    providers: [],\n    schemas: [\n        CUSTOM_ELEMENTS_SCHEMA,\n        NO_ERRORS_SCHEMA,\n    ]\n})\nexport class PopupModule { }\n","import {Directive, ElementRef, HostListener, Input, OnInit, Renderer2} from '@angular/core';\nimport {Subscription, timer} from 'rxjs';\nimport {first} from 'rxjs/operators';\n\n@Directive({\n    selector: '[sdkTooltip]'\n})\nexport class TooltipDirective implements OnInit {\n    @Input() public showOnClick: boolean = false;\n    @Input() public delay: string | number;\n    @Input('sdkTooltip') public message: string;\n    @Input() public position: string = 'top';\n    @Input() public offset: number = 12;\n\n    public tooltip: HTMLElement;\n    public tooltipContent: HTMLElement;\n    public triggerElement: HTMLElement;\n\n    public showTimeout;\n\n    public sub: Subscription;\n\n    constructor(\n        private el: ElementRef,\n        private renderer: Renderer2\n    ) {\n    }\n\n    @HostListener('mouseenter')\n    public onMouseEnter(): void {\n        if (!this.tooltip && !this.showOnClick) {\n            this.show();\n        }\n    }\n\n    @HostListener('click')\n    public onClick(): void {\n        if (!this.tooltip && this.showOnClick) {\n            this.show();\n        }\n    }\n\n    @HostListener('mousewheel')\n    @HostListener('mouseleave')\n    public onMouseLeave(): void {\n        if (this.tooltip) {\n            this.hide();\n        } else {\n            if (this.sub && !this.sub.closed) {\n                this.sub.unsubscribe();\n            }\n        }\n    }\n\n    public show(): void {\n        this.showTimeout = timer(Number(this.delay));\n\n        this.sub = this.showTimeout.pipe(first()).subscribe(() => {\n            this.create();\n            this.setPosition();\n            this.renderer.addClass(this.tooltip, 'sdk-tooltip-show');\n            this.showTimeout = null;\n        });\n    }\n\n    public hide(): void {\n        this.renderer.removeClass(this.tooltip, 'sdk-tooltip-show');\n        this.renderer.removeChild(document.body, this.tooltip);\n        this.tooltip = null;\n        // window.setTimeout(() => {\n        //     this.renderer.removeChild(document.body, this.tooltip);\n        //     this.tooltip = null;\n        // }, Number(this.delay));\n    }\n\n    public create(): void {\n        this.tooltip = this.renderer.createElement('div');\n        this.tooltipContent = this.renderer.createElement('p');\n        this.renderer.appendChild(\n            this.tooltipContent,\n            this.renderer.createText(this.message)\n        );\n\n        this.renderer.appendChild(this.tooltip, this.tooltipContent);\n        this.renderer.appendChild(document.body, this.tooltip);\n\n        this.renderer.addClass(this.tooltip, 'sdk-tooltip');\n        this.renderer.addClass(this.tooltip, `sdk-tooltip--${this.position}`);\n        this.renderer.addClass(this.tooltipContent, 'sdk-tooltip__content');\n    }\n\n    public setPosition(): void {\n        const hostPos = this.triggerElement.getBoundingClientRect();\n        const tooltipPos = this.tooltip.getBoundingClientRect();\n        const tooltipHeight = this.tooltip.offsetHeight;\n        const tooltipWidth = this.tooltip.offsetWidth;\n        const scrollPos = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\n\n        let top;\n        let left;\n\n        this.offset = Number(this.offset);\n\n        if (this.position === 'top') {\n            const options = {\n                hostPosition: hostPos.top,\n                hostSize: hostPos.height,\n                tooltipSize: tooltipHeight\n            };\n\n            left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\n            if (this.checkOversize(options, 'height', false)) {\n                top = hostPos.top - tooltipHeight - this.offset;\n            } else {\n                this.changePosition('top', 'bottom');\n                this.setPosition();\n            }\n        }\n\n        if (this.position === 'bottom') {\n            const options = {\n                hostPosition: hostPos.top,\n                hostSize: hostPos.height,\n                tooltipSize: tooltipHeight\n            };\n            left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\n            if (this.checkOversize(options, 'height')) {\n                top = hostPos.bottom + this.offset;\n            } else {\n                this.changePosition('bottom', 'top');\n                this.setPosition();\n            }\n        }\n\n        if (this.position === 'left') {\n            const options = {\n                hostPosition: hostPos.left,\n                hostSize: hostPos.width,\n                tooltipSize: tooltipWidth\n            };\n            top = hostPos.top + (hostPos.height - tooltipHeight) / 2;\n            if (this.checkOversize(options, 'width', false)) {\n                left = hostPos.left - tooltipWidth - this.offset;\n            } else {\n                this.changePosition('left', 'right');\n                this.setPosition();\n            }\n        }\n\n        if (this.position === 'right') {\n            const options = {\n                hostPosition: hostPos.left,\n                hostSize: hostPos.width,\n                tooltipSize: tooltipWidth\n            };\n            top = hostPos.top + (hostPos.height - tooltipHeight) / 2;\n            if (this.checkOversize(options, 'width')) {\n                left = hostPos.right + this.offset;\n            } else {\n                this.changePosition('right', 'left');\n                this.setPosition();\n            }\n        }\n\n        this.renderer.setStyle(this.tooltip, 'top', `${top + scrollPos}px`);\n        this.renderer.setStyle(this.tooltip, 'left', `${left}px`);\n    }\n\n    public changePosition(oldPosition, newPosition): void {\n        this.position = newPosition;\n        this.renderer.removeClass(this.tooltip, `sdk-tooltip--${oldPosition}`);\n        this.renderer.addClass(this.tooltip, `sdk-tooltip--${newPosition}`);\n    }\n\n    public checkOversize(options, dimension, isDirectionForward = true): boolean {\n        const documentPos = document.body.getBoundingClientRect();\n        if (isDirectionForward) {\n            return options.hostPosition + options.hostSize + options.tooltipSize + this.offset <= documentPos[dimension];\n        } else {\n            return options.hostPosition - options.hostSize - options.tooltipSize - this.offset > 0;\n        }\n    }\n\n    public ngOnInit(): void {\n        this.triggerElement = this.el.nativeElement || this.el;\n    }\n}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TooltipDirective } from './tooltip.directive';\n\n\n@NgModule({\n    declarations: [\n        TooltipDirective\n    ],\n    exports: [\n        TooltipDirective\n    ],\n    imports: [\n        CommonModule\n    ],\n    providers: [],\n    schemas: [\n        CUSTOM_ELEMENTS_SCHEMA,\n        NO_ERRORS_SCHEMA,\n    ]\n})\nexport class TooltipModule {\n}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AlertModule } from './alert/alert.module';\n// import { BottomSheetModule } from './bottom-sheet/bottom-sheet.module';\nimport { DialogModule } from './dialog/dialog.module';\n// import { PopoverModule } from './popover/popover.module';\nimport { PopupModule } from './popup/popup.module';\nimport { TooltipModule } from './tooltip/tooltip.module';\n\nconst modules = [\n    AlertModule,\n    // BottomSheetModule,\n    DialogModule,\n    // PopoverModule,\n    PopupModule,\n    TooltipModule,\n];\n\n@NgModule({\n    imports: [\n        CommonModule,\n    ],\n    declarations: [],\n    exports: [\n        ...modules,\n    ],\n    providers: [],\n    schemas: [\n        CUSTOM_ELEMENTS_SCHEMA,\n        NO_ERRORS_SCHEMA\n    ]\n})\nexport class ModalsModule {\n}\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n    selector: '[sdk-nav-menu-item]',\n    // templateUrl: './nav-menu-item.component.html',\n    template: `\n        <ng-content></ng-content>\n    `,\n    styleUrls: ['./nav-menu-item.component.scss'],\n    encapsulation: ViewEncapsulation.None\n})\nexport class NavMenuItemComponent{\n    constructor() {\n    }\n}\n","import { AfterContentInit, Component, ContentChildren, QueryList, ViewEncapsulation } from '@angular/core';\nimport { NavMenuItemComponent } from './nav-menu-item/nav-menu-item.component';\n\n@Component({\n    selector: 'sdk-nav-menu',\n    // templateUrl: './nav-menu.component.html',\n    template: `\n        <ng-content></ng-content>\n    `,\n    styleUrls: ['./nav-menu.component.scss'],\n    encapsulation: ViewEncapsulation.None\n})\nexport class NavMenuComponent implements AfterContentInit {\n\n    @ContentChildren(NavMenuItemComponent) public menuItems!: QueryList<NavMenuItemComponent>;\n\n    public menuGroup = [];\n\n    constructor() {\n    }\n\n    public ngAfterContentInit(): void {\n        this.menuItems.forEach(tabInstance => this.menuGroup.push(tabInstance));\n    }\n\n}\n","import { AfterContentInit, Component, ElementRef, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { NavigationEnd, Router, RouterEvent } from '@angular/router';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n    selector: 'sdk-nav-menu-group',\n    templateUrl: './nav-menu-group.component.html',\n    styleUrls: ['./nav-menu-group.component.scss'],\n    animations: [\n        trigger('test', [\n            state('open', style({\n                opacity: 1,\n            })),\n            state('closed', style({\n                height: '0px',\n                opacity: 0,\n            })),\n            transition('open => closed', [\n                animate('0.2s')\n            ], {params: {startHeight: 0}}),\n            transition('closed => open', [\n                animate('0.2s')\n            ], {params: {startHeight: 0}}),\n        ]),\n    ],\n    encapsulation: ViewEncapsulation.None\n})\nexport class NavMenuGroupComponent implements OnInit, AfterContentInit {\n\n    @Input() public label: string;\n    @Input() public isOpen: boolean = false;\n    public isActive: boolean = false;\n    public deepLvl: number = 1;\n\n    constructor(\n        private router: Router,\n        private el: ElementRef\n    ) {\n    }\n\n    public toggle(): void {\n        this.isOpen = !this.isOpen;\n    }\n\n    public checkIsActive(src: string): void {\n        const i = src.indexOf('?');\n        const search = i > 0 ? src.substring(0, i) : src;\n        const elements = this.el.nativeElement.querySelectorAll(`[href]`);\n        for (const elem of elements) {\n            const href = elem.getAttribute('href');\n            const index = search.indexOf(href);\n            if (index === 0) {\n                this.isActive = true;\n                break;\n            } else {\n                this.isActive = false;\n            }\n        }\n        this.isOpen = this.isOpen || this.isActive;\n    }\n\n    public getIconColor(): string {\n        return this.isActive ? 'var(--primary)' : 'var(--base)';\n    }\n\n    public ngOnInit(): void {\n        this.router.events.pipe(filter(event => event instanceof NavigationEnd)).subscribe((e: RouterEvent) => {\n            // oh i'm not really sure if it is a good way\n            // but it is the only and simplest I can afford today -_-\n            const key = 'urlAfterRedirects';\n            this.checkIsActive(e[key]);\n        });\n    }\n\n    public ngAfterContentInit(): void {\n        let parent = this.el.nativeElement.parentElement.closest('sdk-nav-menu-group');\n        while (parent) {\n            this.deepLvl++;\n            parent = parent.parentElement.closest('sdk-nav-menu-group');\n        }\n\n        this.checkIsActive(this.router.url);\n    }\n}\n","<div class=\"nav-menu-group__container level-{{deepLvl}}\" [ngClass]=\"{'open': isOpen, 'active': isActive}\"\n     [attr.level]=\"deepLvl\">\n    <div class=\"nav-menu-group__toggle\" (click)=\"toggle()\">\n        <p class=\"nav-menu-group__title\">{{label}}</p>\n        <div class=\"nav-menu-group__arrow\">\n            <sdk-icon icon=\"chevron_right\" [size]=\"24\" [inline]=\"true\" [color]=\"getIconColor()\"></sdk-icon>\n        </div>\n    </div>\n    <div class=\"nav-menu-group__items\" [@test]=\"isOpen ? 'open' : 'closed'\" [attr.deeplvl]=\"deepLvl\">\n        <ng-container>\n            <ng-content select=\"sdk-nav-menu-group\"></ng-content>\n            <ng-content select=\"a\"></ng-content>\n        </ng-container>\n    </div>\n</div>\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\n\nimport { NavMenuComponent } from './nav-menu.component';\nimport { NavMenuGroupComponent } from './nav-menu-group/nav-menu-group.component';\nimport { NavMenuItemComponent } from './nav-menu-item/nav-menu-item.component';\nimport {IconModule} from '../../buttons/icon/icon.module';\n\n@NgModule({\n    declarations: [\n        NavMenuComponent,\n        NavMenuGroupComponent,\n        NavMenuItemComponent,\n    ],\n    exports: [\n        NavMenuComponent,\n        NavMenuGroupComponent,\n        NavMenuItemComponent,\n    ],\n    imports: [\n        CommonModule,\n        RouterModule,\n        IconModule,\n    ],\n    providers: [],\n    schemas: [\n        CUSTOM_ELEMENTS_SCHEMA,\n        NO_ERRORS_SCHEMA,\n    ]\n})\nexport class NavMenuModule { }\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n    selector: '[sdkTabLink]'\n})\nexport class TabLinkDirective {\n    @Input() public label: string;\n    @Input() public routerLink: string;\n    @Input() public disabled: boolean = false;\n\n    @HostBinding('class')\n    public elementClass = 'sdk-tab-container__tab';\n\n\n    constructor() {\n    }\n}\n","import {\n    AfterViewChecked,\n    AfterViewInit,\n    ChangeDetectorRef,\n    Component,\n    Input,\n    OnDestroy, OnInit,\n    QueryList,\n    ViewChild\n} from '@angular/core';\nimport { BehaviorSubject, fromEvent, Subscription } from 'rxjs';\nimport { ThemeService } from '../../core/theme/theme.service';\nimport { delay, throttleTime } from 'rxjs/operators';\nimport { slideInAnimation } from '../../core/animations/slide-in';\n\n@Component({\n    template: '',\n    styleUrls: ['./tabs-group.component.scss'],\n    animations: [\n        slideInAnimation\n    ]\n})\nexport class TabsGroupComponent implements OnInit, AfterViewInit, AfterViewChecked, OnDestroy {\n    public tabs: QueryList<any>;\n\n    @Input() public activeTabStyle: string = 'border';\n    @Input() public animation: boolean = false;\n\n    @ViewChild('container', {static: true}) public containerElement;\n    @ViewChild('tabs', {static: true}) public tabsWrapperElement;\n    @ViewChild('arrowLeft', {static: true}) public arrowLeftElement;\n    @ViewChild('arrowRight', {static: true}) public arrowRightElement;\n\n    public subscription: Subscription = new Subscription();\n\n    public tabsViewElements: HTMLElement[];\n    public curTab: HTMLElement;\n    public tabGroup: any[] = [];\n    public containerWidth: number;\n    public tabsWrapperWidth: number;\n    public allTabsWidth: number = 0;\n    public arrowWidth: number = 40;\n    public isArrows: boolean;\n    public tabsScrollRect: ClientRect;\n    public curTabClientRect: ClientRect;\n    public containerRect: ClientRect;\n\n    public containerPosition$ = new BehaviorSubject(null);\n\n    public slideMeasure: { width: any, left: any } = {\n        width: 0,\n        left: 0\n    };\n\n    constructor(\n        public themeService: ThemeService,\n        protected cdRef: ChangeDetectorRef\n    ) {\n    }\n\n\n    public selectTab(selectedTab = null, index = null): void {\n        setTimeout(() => {\n            this.curTab = this.containerElement.querySelector(`.sdk-tab-container__tab--active`);\n            this.curTabClientRect = this.curTab.getBoundingClientRect();\n\n            // if current element not fully visible\n            if (this.isArrows) {\n                if ((this.curTabClientRect.left - this.arrowWidth) < this.containerRect.left) {\n                    const visiblePart = this.curTabClientRect.right - this.arrowWidth - this.containerRect.left;\n                    const hiddenPart = this.curTabClientRect.width - visiblePart;\n                    const additionalPadding = 40;\n                    this.scrollLeft(hiddenPart + additionalPadding);\n                }\n                if ((this.curTabClientRect.right + this.arrowWidth) > this.containerRect.right) {\n                    const visiblePart = this.containerRect.right - this.arrowWidth - this.curTabClientRect.left;\n                    const hiddenPart = this.curTabClientRect.width - visiblePart;\n                    const additionalPadding = 40;\n                    this.scrollRight(hiddenPart + additionalPadding);\n                }\n            }\n            this.setUnderlineMeasure();\n        });\n    }\n\n    public scrollRight(step = null): void {\n        let x: number = parseInt(this.tabsWrapperElement.style.left, 10) || 0;\n        const defaultStep = this.containerRect.width / 100 * 30;\n        let scrollStep = defaultStep;\n        this.tabsScrollRect = this.tabsWrapperElement.getBoundingClientRect();\n\n        if (this.tabsScrollRect.right - scrollStep < this.containerRect.right + this.arrowWidth) {\n            scrollStep = (this.tabsScrollRect.right - this.containerRect.right) + this.arrowWidth;\n        } else {\n            scrollStep = step ? step : defaultStep;\n        }\n\n        x -= scrollStep;\n\n        this.moveContainer(x);\n    }\n\n    public scrollLeft(step = null): void {\n        let x: number = parseInt(this.tabsWrapperElement.style.left, 10) || 0;\n        const defaultStep = this.containerRect.width / 100 * 30;\n        let scrollStep = defaultStep;\n        this.tabsScrollRect = this.tabsWrapperElement.getBoundingClientRect();\n\n        if (this.tabsScrollRect.left + scrollStep > this.containerRect.left + this.arrowWidth) {\n            x = 0;\n        } else {\n            scrollStep = step ? step : defaultStep;\n            x += scrollStep;\n        }\n\n        this.moveContainer(x);\n    }\n\n    public moveContainer(x): void {\n        let newX: number = x;\n        if (Math.abs(x) + this.containerWidth - (this.arrowLeftElement.offsetWidth * 2) > this.allTabsWidth) {\n            newX = this.containerWidth - (this.arrowLeftElement.offsetWidth * 2) - this.allTabsWidth;\n        }\n        this.tabsWrapperElement.style.left = newX + 'px';\n        this.containerPosition$.next(true);\n    }\n\n    public setUnderlineMeasure(): void {\n        this.curTabClientRect = this.curTab.getBoundingClientRect();\n        this.slideMeasure.width = `${this.curTabClientRect.width}px`;\n        this.slideMeasure.left = `${this.curTab.offsetLeft}px`;\n    }\n\n    public setSizes(): void {\n        this.containerRect = this.containerElement.getBoundingClientRect();\n        this.containerWidth = this.containerRect.width;\n        this.tabsWrapperWidth = this.containerWidth - (this.isArrows ? (this.arrowWidth * 2) : 0);\n    }\n\n    public setTabSizes(): void {\n        this.allTabsWidth = 0;\n        this.tabsViewElements.forEach(tab => {\n            const tabWidth = tab.offsetWidth;\n            this.allTabsWidth += tabWidth;\n            if (tabWidth > this.tabsWrapperWidth) {\n                tab.classList.add('sdk-tab-container__tab--oversize');\n            }\n        });\n\n        this.tabsScrollRect = this.tabsWrapperElement.getBoundingClientRect();\n    }\n\n    public changeRects(): void {\n        this.tabsScrollRect = this.tabsWrapperElement.getBoundingClientRect();\n        this.curTabClientRect = this.curTab.getBoundingClientRect();\n    }\n\n    public setSubscriptions(): void {\n        this.subscription = this.containerPosition$.pipe(delay(400)).subscribe(() => this.changeRects());\n\n        const subResize = fromEvent(window, 'resize')\n            .subscribe(() => {\n                this.setSizes();\n                this.isArrows = this.allTabsWidth > this.containerWidth;\n                if (!this.isArrows) {\n                    const x = Math.abs(parseFloat(this.tabsWrapperElement.style.left)) || 0;\n                    this.tabsWrapperElement.style.left = '0px';\n                    if (x !== 0) {\n                        this.slideMeasure.left = `${parseFloat(this.slideMeasure.left) + x}px`;\n                    }\n                }\n            });\n\n        const subRightArrow = fromEvent(this.arrowRightElement, 'click')\n            .pipe(throttleTime(500))\n            .subscribe(() => {\n                this.scrollRight();\n            });\n        const subLeftArrow = fromEvent(this.arrowLeftElement, 'click')\n            .pipe(throttleTime(500))\n            .subscribe(() => {\n                this.scrollLeft();\n            });\n\n        this.subscription.add(subResize);\n        this.subscription.add(subRightArrow);\n        this.subscription.add(subLeftArrow);\n    }\n\n    public ngOnInit(): void {\n        this.containerElement = this.containerElement.nativeElement || this.containerElement;\n        this.tabsWrapperElement = this.tabsWrapperElement.nativeElement || this.tabsWrapperElement;\n        this.arrowLeftElement = this.arrowLeftElement.nativeElement || this.arrowLeftElement;\n        this.arrowRightElement = this.arrowRightElement.nativeElement || this.arrowRightElement;\n        this.setSizes();\n        this.setSubscriptions();\n    }\n\n\n    public ngAfterViewInit(): void {\n        this.tabsViewElements = Array.from(this.tabsWrapperElement.children);\n        this.setTabSizes();\n        this.isArrows = this.allTabsWidth > this.containerWidth;\n    }\n\n    public ngAfterViewChecked(): void {\n        this.cdRef.detectChanges();\n    }\n\n    public ngOnDestroy(): void {\n        this.subscription.unsubscribe();\n    }\n}\n","import {\n    AfterContentInit,\n    ChangeDetectorRef,\n    Component,\n    ContentChildren, Input,\n    QueryList,\n    ViewChild\n} from '@angular/core';\nimport { NavigationEnd, Router, RouterOutlet } from '@angular/router';\nimport { filter } from 'rxjs/operators';\nimport { ThemeService } from '../../core/theme/theme.service';\nimport { slideInAnimation } from '../../core/animations/slide-in';\nimport { TabLinkDirective } from './tab-link.directive';\nimport { TabsGroupComponent } from '../tabs-group/tabs-group.component';\n\n@Component({\n    selector: 'sdk-nav-tab-group',\n    templateUrl: './nav-tabs.component.html',\n    styleUrls: ['./nav-tabs.component.scss'],\n    animations: [\n        slideInAnimation\n    ]\n})\n\nexport class NavTabsComponent extends TabsGroupComponent implements AfterContentInit {\n\n    @ContentChildren(TabLinkDirective) public  tabs!: QueryList<TabLinkDirective>;\n    public tabGroup: TabLinkDirective[] = [];\n\n    @ViewChild('parent', {static: true}) public containerElement;\n    @ViewChild('tabs', {static: true}) public tabsWrapperElement;\n    @ViewChild('arrowLeft', {static: true}) public arrowLeftElement;\n    @ViewChild('arrowRight', {static: true}) public arrowRightElement;\n\n    @Input() public minHeight: number = 0;\n\n    constructor(\n        public themeService: ThemeService,\n        protected cdRef: ChangeDetectorRef,\n        private router: Router,\n    ) {\n        super(themeService, cdRef);\n    }\n\n    public setSubscriptions(): void {\n        super.setSubscriptions();\n        const subRouter = this.router.events\n            .pipe(\n                filter((event: NavigationEnd) => event instanceof NavigationEnd)\n            )\n            .subscribe(() => {\n                this.selectTab();\n            });\n\n        this.subscription.add(subRouter);\n    }\n\n    public getRouteAnimation(outlet: RouterOutlet): number {\n        return outlet.activatedRouteData.index === undefined ? -1 : outlet.activatedRouteData.index;\n    }\n\n    public ngAfterContentInit(): void {\n        this.tabGroup = [];\n        this.tabs.forEach(tabInstance => this.tabGroup.push(tabInstance));\n        this.selectTab();\n    }\n}\n","<div class=\"sdk-tab-container\" #parent>\n    <div class=\"sdk-tab-container__header\">\n        <button class=\"sdk-tab-container__arrow sdk-tab-container__arrow--left\" #arrowLeft\n                [disabled]=\"tabsScrollRect?.left + 1 >= containerRect?.left - arrowWidth\"\n                [ngStyle]=\"{'width': arrowWidth + 'px', 'display': isArrows ? 'flex' : 'none'}\">\n            <sdk-icon [icon]=\"'chevron_left'\"></sdk-icon>\n        </button>\n\n        <div class=\"sdk-tab-container__tabs-wrapper\">\n            <div class=\"sdk-tab-container__tabs-scroll\" #tabs>\n                <ng-container *ngFor=\"let tab of tabGroup\">\n                    <a class=\"sdk-tab-container__tab\"\n                       [attr.disabled]=\"tab.disabled || null\"\n                       [class.sdk-tab-container__tab--fill]=\"activeTabStyle === 'fill'\"\n                       [routerLink]=\"tab.routerLink\"\n                       routerLinkActive=\"sdk-tab-container__tab--active\">\n                        <span>{{tab.label}}</span>\n                        <div class=\"sdk-tab__background\"></div>\n                    </a>\n                </ng-container>\n                <div class=\"slide\" *ngIf=\"activeTabStyle === 'border'\" [ngStyle]=\"slideMeasure\"></div>\n            </div>\n\n        </div>\n\n        <button class=\"sdk-tab-container__arrow sdk-tab-container__arrow--right\" #arrowRight\n                [disabled]=\"tabsScrollRect?.right - 3 <= containerRect?.right - arrowWidth\"\n                [ngStyle]=\"{'width': arrowWidth + 'px', 'display': isArrows ? 'flex' : 'none'}\">\n            <sdk-icon [icon]=\"'chevron_right'\"></sdk-icon>\n        </button>\n    </div>\n\n    <section class=\"sdk-nav-tab__content\" [style.minHeight.px]=\"minHeight\" [@routeAnimations]=\"animation && getRouteAnimation(router)\">\n        <router-outlet #router=\"outlet\"></router-outlet>\n    </section>\n</div>\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\n// internals\nimport { IconModule } from '../../buttons/icon/icon.module';\n// nav tabs\nimport { NavTabsComponent } from './nav-tabs.component';\nimport { TabLinkDirective } from './tab-link.directive';\n\n@NgModule({\n    declarations: [\n        TabLinkDirective,\n        NavTabsComponent,\n    ],\n    exports: [\n        TabLinkDirective,\n        NavTabsComponent,\n    ],\n    imports: [\n        CommonModule,\n        RouterModule,\n        IconModule,\n    ],\n    providers: [],\n    schemas: [\n        CUSTOM_ELEMENTS_SCHEMA,\n        NO_ERRORS_SCHEMA,\n    ]\n})\nexport class NavTabsModule {\n}\n","export class SidenavOptions {\n    public mode?: SidenavMode = 'side';\n    public width?: number = 320;\n    public opened?: boolean = false;\n    public style?: any;\n\n    constructor(o: SidenavOptions) {\n        Object.assign(this, o);\n    }\n}\n\nexport type SidenavMode = 'over' | 'side';\nexport type SidenavState = 'opened' | 'closed';\n\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\nimport { SidenavOptions, SidenavState } from './sidenav.options';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class SidenavService {\n\n    public sidenavOpened$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(true);\n    public options$: BehaviorSubject<SidenavOptions> = new BehaviorSubject(new SidenavOptions({}));\n\n    constructor() {\n    }\n\n    public get options(): SidenavOptions {\n        return this.options$.getValue();\n    }\n\n    public set options(value: SidenavOptions) {\n        this.options$.next(value);\n    }\n\n    public get optionsObservable(): Observable<boolean> {\n        return this.sidenavOpened$.asObservable();\n    }\n\n    public get isOpened(): boolean {\n        return this.sidenavOpened$.getValue();\n    }\n\n    public set isOpened(value: boolean) {\n        this.sidenavOpened$.next(value);\n    }\n\n    public get openedState(): SidenavState {\n        return this.isOpened ? 'opened' : 'closed';\n    }\n\n    public get openedObservableState(): Observable<boolean> {\n        return this.sidenavOpened$.asObservable();\n    }\n\n    public updateOptions(o: SidenavOptions): void {\n        this.options = Object.assign(this.options, o);\n    }\n\n}\n","import {\n    AfterViewInit,\n    Component,\n    ElementRef,\n    EventEmitter,\n    HostBinding,\n    Inject,\n    Input,\n    OnDestroy,\n    Output,\n    PLATFORM_ID\n} from '@angular/core';\nimport { SidenavService } from './sidenav.service';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { Subscription } from 'rxjs';\nimport {SidenavState} from './sidenav.options';\n\n@Component({\n    selector: 'sdk-sidenav',\n    template: `\n        <ng-content></ng-content>`,\n    styleUrls: ['./sidenav.component.scss'],\n    animations: [\n        trigger('state', [\n            state('opened', style({\n                transform: 'none'\n            })),\n            state('closed', style({\n                transform: 'translateX(-100%)',\n                opacity: '0'\n            })),\n            transition('opened => closed', [\n                animate('0.2s 0.03s')\n            ]),\n            transition('closed => opened', [\n                animate('0.2s 0.035s')\n            ]),\n        ]),\n    ]\n})\nexport class SidenavComponent implements OnDestroy, AfterViewInit {\n\n    public sub = new Subscription();\n\n    @Input() public styles;\n\n    @Input() public set opened(st: boolean) {\n        this.sidenavService.isOpened = st;\n    }\n\n    @HostBinding('class') public get currentMode(): string {\n        return `sdk-sidenav--${this.sidenavService.options.mode}`;\n    }\n\n    @HostBinding(`class.active`) public get isOpened(): boolean {\n        return this.sidenavService.isOpened;\n    }\n\n    @HostBinding(`style`) public get getExternalStyles(): string {\n        return this.styles ?? '';\n    }\n\n    @HostBinding('@state') public get openClose(): SidenavState {\n        return this.sidenavService.openedState;\n    }\n\n    constructor(\n        @Inject(PLATFORM_ID) platformId: any,\n        private el: ElementRef,\n        public sidenavService: SidenavService\n    ) {\n    }\n\n    public ngAfterViewInit(): void {\n        this.sub = this.sidenavService.openedObservableState.subscribe(st => {\n            this.sidenavService.updateOptions({\n                width: this.el.nativeElement.clientWidth,\n            });\n        });\n    }\n\n    public ngOnDestroy(): void {\n        this.sub?.unsubscribe();\n    }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { SidenavService } from './sidenav.service';\nimport { SidenavMode, SidenavOptions } from './sidenav.options';\n\n@Component({\n    selector: 'sdk-sidenav-container',\n    templateUrl: './sidenav-container.component.html',\n    styleUrls: ['./sidenav-container.component.scss'],\n})\nexport class SidenavContainerComponent implements OnInit {\n\n    @Input()public  hasBackdrop: boolean = false;\n\n    @Input()public  set mode(mode: SidenavMode) {\n        this.sidenavService.updateOptions({mode});\n    }\n\n    public get mode(): SidenavMode {\n        return this.sidenavService.options.mode;\n    }\n\n    constructor(\n        public sidenavService: SidenavService,\n    ) {\n    }\n\n    public closeSide(): void {\n        this.sidenavService.isOpened = false;\n    }\n\n    public ngOnInit(): void {\n        this.sidenavService.options = new SidenavOptions({\n            mode: this.mode\n        });\n    }\n}\n","<ng-container>\n    <ng-content select=\"sdk-sidenav\"></ng-content>\n    <ng-content select=\"sdk-sidenav-content\"></ng-content>\n    <div class=\"sdk-sidenav-backdrop\" (click)=\"closeSide()\"\n         [class.active]=\"sidenavService.isOpened && hasBackdrop\"></div>\n</ng-container>\n","import { Component, HostBinding } from '@angular/core';\nimport { SidenavService } from './sidenav.service';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\n\n@Component({\n    selector: 'sdk-sidenav-content',\n    template: `<ng-content></ng-content>`,\n    styleUrls: ['./sidenav-content.component.scss'],\n    animations: [\n        trigger('state', [\n            state('opened', style({\n                marginLeft: '{{marginLeft}}px'\n            }), {params: {marginLeft: 0}}),\n            state('closed', style({\n                marginLeft: '0'\n            })),\n            transition('opened => closed', [\n                animate('0.2s')\n            ]),\n            transition('closed => opened', [\n                animate('0.2s')\n            ]),\n        ]),\n    ]\n})\nexport class SidenavContentComponent {\n\n    @HostBinding('@state')public  get state(): any {\n        return {\n            value: this.sidenavService.openedState,\n            params: {\n                marginLeft: this.marginLeft ?? 0\n            }\n        };\n    }\n\n    public get marginLeft(): number {\n        return this.sidenavService.options.mode === 'over' ? 0 : this.sidenavService.options.width;\n    }\n\n    constructor(\n        public sidenavService: SidenavService\n    ) { }\n}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SidenavComponent } from './sidenav.component';\nimport { SidenavContainerComponent } from './sidenav-container.component';\nimport { SidenavContentComponent } from './sidenav-content.component';\n\n\n@NgModule({\n    declarations: [\n        SidenavComponent,\n        SidenavContainerComponent,\n        SidenavContentComponent,\n    ],\n    exports: [\n        SidenavComponent,\n        SidenavContainerComponent,\n        SidenavContentComponent,\n    ],\n    imports: [\n        CommonModule,\n    ],\n    providers: [],\n    schemas: [\n        CUSTOM_ELEMENTS_SCHEMA,\n        NO_ERRORS_SCHEMA,\n    ]\n})\nexport class SidenavModule {\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n    selector: 'sdk-tab',\n    templateUrl: './tab.component.html',\n    styleUrls: ['./tab.component.scss']\n})\nexport class TabComponent {\n\n    @Input() public index: number;\n    @Input() public label: string;\n    @Input() public icon: string;\n    @Input() public slideDirection: string = '';\n    @Input() public active: boolean = false;\n    @Input() public hiding: boolean = false;\n    @Input() public disabled: boolean = false;\n\n    constructor() {\n    }\n}\n","<ng-container *ngIf=\"active || hiding\">\n    <div class=\"sdk-tab__content\"\n         [class.sdk-tab__content--hiding]=\"hiding\"\n         [class.sdk-tab__content--hiding-slide-right]=\"hiding && slideDirection === 'slideRight'\"\n         [class.sdk-tab__content--hiding-slide-left]=\"hiding && slideDirection === 'slideLeft'\"\n         [class.sdk-tab__content--slide-left]=\"!hiding && slideDirection === 'slideLeft'\"\n         [class.sdk-tab__content--slide-right]=\"!hiding && slideDirection === 'slideRight'\">\n        <ng-content></ng-content>\n    </div>\n</ng-container>\n","import {\n    AfterContentInit,\n    ChangeDetectorRef,\n    Component,\n    ContentChildren, OnInit,\n    QueryList,\n    ViewChild,\n} from '@angular/core';\nimport { TabComponent } from './tab/tab.component';\nimport { ThemeService } from '../../core/theme/theme.service';\nimport { TabsGroupComponent } from '../tabs-group/tabs-group.component';\n\n@Component({\n    selector: 'sdk-tab-group',\n    templateUrl: './tabs.component.html',\n    styleUrls: ['./tabs.component.scss']\n})\nexport class TabsComponent extends TabsGroupComponent implements OnInit, AfterContentInit {\n\n    @ContentChildren(TabComponent) public tabs: QueryList<TabComponent>;\n    public tabGroup: TabComponent[] = [];\n\n    @ViewChild('container', {static: true}) public containerElement;\n    @ViewChild('tabs', {static: true}) public tabsWrapperElement;\n    @ViewChild('arrowLeft', {static: true}) public arrowLeftElement;\n    @ViewChild('arrowRight', {static: true}) public arrowRightElement;\n\n    constructor(\n        public themeService: ThemeService,\n        protected cdRef: ChangeDetectorRef\n    ) {\n        super(themeService, cdRef);\n    }\n\n    public selectTab(selectedTab, index): any {\n        if (selectedTab.active) {\n            return;\n        }\n\n        // set prev tab \"hiding\" stat and start hide animation for it\n        selectedTab.index = index;\n        let prevTabIndex: number;\n        for (const tab of this.tabGroup) {\n            if (tab.active) {\n                tab.hiding = true;\n                prevTabIndex = tab.index;\n                if (this.animation) {\n                    tab.slideDirection = tab.index > index ? 'slideRight' : 'slideLeft';\n                }\n                setTimeout(() => {\n                    tab.hiding = false;\n                }, this.animation ? 500 : 0);\n            }\n            tab.active = false;\n        }\n\n        // set new active tab and start show animation\n        selectedTab.active = true;\n        if (this.animation) {\n            selectedTab.slideDirection = selectedTab.index > prevTabIndex ? 'slideLeft' : 'slideRight';\n        }\n\n        super.selectTab();\n    }\n\n    public ngOnInit(): void {\n        super.ngOnInit();\n    }\n\n    public ngAfterContentInit(): void {\n        this.tabGroup = [];\n        this.tabs.forEach(tabInstance => this.tabGroup.push(tabInstance));\n        this.selectTab(this.tabs.first, 0);\n\n        this.tabs.changes.subscribe(res => {\n            this.tabGroup = [];\n            res.forEach(tabInstance => this.tabGroup.push(tabInstance));\n        });\n\n\n    }\n}\n","<div class=\"sdk-tab-container\" #container>\n    <div class=\"sdk-tab-container__header\">\n        <button class=\"sdk-tab-container__arrow sdk-tab-container__arrow--left\" #arrowLeft\n                [disabled]=\"tabsScrollRect?.left + 1 >= containerRect?.left - arrowWidth\"\n                [ngStyle]=\"{'width': arrowWidth + 'px', 'display': isArrows ? 'flex' : 'none'}\">\n            <sdk-icon [icon]=\"'chevron_left'\"></sdk-icon>\n        </button>\n        <div class=\"sdk-tab-container__tabs-wrapper\">\n            <div class=\"sdk-tab-container__tabs-scroll\" #tabs>\n                <ng-container *ngFor=\"let tab of tabGroup; let i = index\">\n                    <div class=\"sdk-tab-container__tab\" [attr.tabIndex]=\"i\"\n                         [attr.disabled]=\"tab.disabled || null\"\n                         [class.sdk-tab-container__tab--active]=\"tab.active\"\n                         [class.sdk-tab-container__tab--fill]=\"activeTabStyle === 'fill'\"\n                         (click)=\"selectTab(tab, i)\">\n                        <span>{{tab.label}}</span>\n                        <div class=\"sdk-tab__background\"></div>\n                    </div>\n                </ng-container>\n                <div class=\"slide\" *ngIf=\"activeTabStyle === 'border'\" [ngStyle]=\"slideMeasure\"></div>\n            </div>\n        </div>\n        <button class=\"sdk-tab-container__arrow sdk-tab-container__arrow--right\" #arrowRight\n                [disabled]=\"tabsScrollRect?.right - 3 <= containerRect?.right - arrowWidth\"\n                [ngStyle]=\"{'width': arrowWidth + 'px', 'display': isArrows ? 'flex' : 'none'}\">\n            <sdk-icon [icon]=\"'chevron_right'\"></sdk-icon>\n        </button>\n    </div>\n    <div class=\"sdk-tab-container__content\">\n        <ng-content select=\"sdk-tab\"></ng-content>\n    </div>\n</div>\n\n\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TabsComponent } from './tabs.component';\nimport { TabComponent } from './tab/tab.component';\nimport { IconModule } from '../../buttons/icon/icon.module';\n\n\n\n@NgModule({\n    declarations: [\n        TabsComponent,\n        TabComponent,\n    ],\n    exports: [\n        TabsComponent,\n        TabComponent,\n    ],\n    imports: [\n        CommonModule,\n        IconModule,\n    ],\n    providers: [],\n    schemas: [\n        CUSTOM_ELEMENTS_SCHEMA,\n        NO_ERRORS_SCHEMA,\n    ]\n})\nexport class TabsModule { }\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NavMenuModule } from './nav-menu/nav-menu.module';\nimport { NavTabsModule } from './nav-tabs/nav-tabs.module';\nimport { SidenavModule } from './sidenav/sidenav.module';\nimport { TabsModule } from './tabs/tabs.module';\n\n\nconst modules = [\n    NavMenuModule,\n    NavTabsModule,\n    SidenavModule,\n    TabsModule,\n];\n\n@NgModule({\n    imports: [\n        CommonModule,\n    ],\n    declarations: [],\n    exports: [\n        ...modules,\n    ],\n    providers: [],\n    schemas: [\n        CUSTOM_ELEMENTS_SCHEMA,\n        NO_ERRORS_SCHEMA,\n    ]\n})\nexport class NavigationModule {\n}\n","import { Directive, ElementRef, Inject, Input, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { Subscription } from 'rxjs';\n\nimport { Theme } from './theme.model';\nimport { ThemeService } from './theme.service';\nimport { LayoutControlService } from '../layout-control/layout-control.service';\n\n@Directive({\n    selector: '[sdkTheme]'\n})\nexport class ThemeDirective implements OnInit, OnDestroy {\n\n    /**\n     * Whether the styles are scoped or not.\n     */\n    @Input() public scoped = false;\n    /**\n     * specify selected theme or use default.\n     */\n    @Input('sdkTheme') public theme: string;\n\n    private sub: Subscription;\n\n    constructor(\n        @Inject(DOCUMENT) private document: any,\n        private elementRef: ElementRef,\n        private renderer: Renderer2,\n        private themeService: ThemeService,\n        private layoutControl: LayoutControlService\n    ) {\n    }\n\n    /**\n     * Update the theme on the scoped element.\n     */\n    public updateTheme(theme: Theme): void {\n        const element = this.getElement();\n\n        element.className = `sdk-theme-${theme.name}`; // probably unsafe\n        if (!this.layoutControl.platform.BLINK) {\n            element.classList.add('sdk-custom-scroll');\n        } else {\n            element.classList.add(this.layoutControl.getPlatformClass());\n        }\n\n        const oldStyles = this.document.head.querySelectorAll('[sdkTheme]');\n        if (oldStyles?.length > 0) {\n            this.document.head.removeChild(oldStyles[0]);\n        }\n        const styles = this.renderer.createElement('style');\n\n        // project properties onto the element\n        styles.innerHTML += `body {`;\n        for (const prop of theme.props()) {\n            if (!!prop.rgb) {\n                styles.innerHTML += (`${prop.prop}-raw: ${prop.value};`);\n                styles.innerHTML += (`${prop.prop}-rgb: ${prop.rgb};`);\n                styles.innerHTML += (`${prop.prop}-opposite: ${prop.background};`);\n                styles.innerHTML += (`${prop.prop}: ${prop.hex};`);\n                if (prop.text_value) {\n                    styles.innerHTML += (`${prop.prop}-text-raw: ${prop.text_value};`);\n                    styles.innerHTML += (`${prop.prop}-text: ${prop.text};`);\n                }\n            }\n        }\n        styles.innerHTML += `}`;\n        this.renderer.setAttribute(styles, 'sdkTheme', theme.name);\n\n        this.document.head.appendChild(styles);\n    }\n\n    /**\n     * Element to attach the styles to.\n     */\n    public getElement(): any {\n        return this.scoped ? this.elementRef.nativeElement : this.document.body;\n    }\n\n    public ngOnInit(): void {\n        this.sub = this.themeService.currentThemeObservable\n            .subscribe((theme: Theme) => this.updateTheme(theme));\n\n        if (this.theme && this.theme?.length > 0) {\n            this.themeService.setTheme(this.theme);\n        } else {\n            this.updateTheme(this.themeService.currentTheme);\n        }\n    }\n\n    public ngOnDestroy(): void {\n        this.sub?.unsubscribe();\n    }\n\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ThemeDirective } from './theme.directive';\nimport { ACTIVE_THEME, ThemeOptions, THEMES } from './symbols';\nimport { themeLight } from './lib/theme-light';\nimport { themeDark } from './lib/theme-dark';\n\n@NgModule({\n    imports: [CommonModule],\n    declarations: [ThemeDirective],\n    exports: [ThemeDirective]\n})\nexport class ThemeModule {\n    public static forRoot(options?: ThemeOptions): ModuleWithProviders<ThemeModule> {\n        return {\n            ngModule: ThemeModule,\n            providers: [\n                {\n                    provide: THEMES,\n                    useValue: options.themes || [themeLight, themeDark]\n                },\n                {\n                    provide: ACTIVE_THEME,\n                    useValue: options.active || themeLight.name\n                }\n            ]\n        };\n    }\n}\n","import { CUSTOM_ELEMENTS_SCHEMA, ModuleWithProviders, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n// kit modules\n// theming module\nimport { CoreModule } from './core/core.module';\n// components\nimport { ButtonsModule } from './buttons/buttons.module';\n// import { CardsModule } from './cards/cards.module';\nimport { DropdownsModule } from './dropdowns/dropdowns.module';\nimport { InputsModule } from './inputs/inputs.module';\nimport { LayoutModule } from './layout/layout.module';\n// import { MediaModule } from './media/media.module';\nimport { ModalsModule } from './modals/modals.module';\nimport { NavigationModule } from './navigation/navigation.module';\n// import { OverlayModule } from './overlay/overlay.module';\n// import { themeLight } from './core/theme/lib/theme-light';\n// import { themeDark } from './core/theme/lib/theme-dark';\nimport { ThemeModule } from './core/theme/theme.module';\nimport { ACTIVE_THEME, ThemeOptions, THEMES } from './core/theme/symbols';\n\nconst kitExports = [\n    ButtonsModule,\n    // CardsModule,\n    CoreModule,\n    DropdownsModule,\n    InputsModule,\n    LayoutModule,\n    // MediaModule,\n    ModalsModule,\n    NavigationModule,\n    // OverlayModule,\n    ThemeModule,\n];\n\n@NgModule({\n    imports: [\n        CommonModule,\n    ],\n    declarations: [],\n    exports: [\n        ...kitExports\n    ],\n    providers: [],\n    schemas: [\n        NO_ERRORS_SCHEMA,\n        CUSTOM_ELEMENTS_SCHEMA\n    ]\n})\nexport class SliceKitModule {\n    public static forRoot(options: ThemeOptions): ModuleWithProviders<SliceKitModule> {\n        return {\n            ngModule: SliceKitModule,\n            providers: [\n                {\n                    provide: THEMES,\n                    useValue: options.themes\n                },\n                {\n                    provide: ACTIVE_THEME,\n                    useValue: options.active\n                }\n            ]\n        };\n    }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n    selector: 'sdk-loading',\n    templateUrl: './loading.component.html',\n    styleUrls: ['./loading.component.scss']\n})\nexport class LoadingComponent {\n\n    public loader: string = 'default';\n\n    constructor() {\n    }\n}\n","<ng-container *ngIf=\"loader === 'text'\">\n    <p>Loading...</p>\n</ng-container>\n<ng-container *ngIf=\"loader === 'circle'\">\n    <p>Not implemented</p>\n</ng-container>\n<ng-container *ngIf=\"loader === 'default'\">\n    <div class=\"loading\">\n        <span id=\"dot_1\"></span>\n        <span id=\"dot_2\"></span>\n        <span id=\"dot_3\"></span>\n    </div>\n</ng-container>\n\n","import { ComponentFactoryResolver, Directive, Input, ViewContainerRef } from '@angular/core';\nimport { LoadingComponent } from './loading.component';\n\n@Directive({\n    selector: '[sdkLoading]'\n})\nexport class LoadingDirective {\n    @Input()\n    public loader: string;\n\n    constructor(\n        private vcRef: ViewContainerRef,\n        private resolver: ComponentFactoryResolver\n    ) {\n    }\n\n    @Input('sdkLoading')\n    public set ngIf(val: any) {\n        if (!val) {\n            const factory = this.resolver.resolveComponentFactory(LoadingComponent);\n\n            this.vcRef.createComponent(factory);\n        }\n    }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class LoadingService {\n\n    constructor() {\n    }\n}\n","import { Injectable } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class MarkdownService {\n\n    constructor(\n        private sanitizer: DomSanitizer\n    ) {\n    }\n\n    public test(str: string): SafeHtml {\n        return this.sanitizer.bypassSecurityTrustHtml(str);\n    }\n}\n","import { OptionModel } from './dropdown-option.model';\n\nexport class DropdownOptions {\n    public triggerRect?: ClientRect;\n    public options?: OptionModel[];\n    public fitWidth?: boolean;\n    public multi?: boolean;\n    public hideBackdrop?: boolean;\n    public parentElem?: any;\n    public filterFunc?: () => OptionModel[]; // TBD v2\n    public returnFunc?: () => any; // TBD v2\n}\n\n","export class OptionModel {\n    public value?: any;\n    public label?: any;\n    public image?: string;\n    public disabled?: boolean;\n    public selected?: boolean;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n    selector: 'sdk-table',\n    templateUrl: './table.component.html',\n    styleUrls: ['./table.component.scss']\n})\nexport class TableComponent {\n\n    constructor() {\n    }\n}\n","<p>table works!</p>\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TableComponent } from './table.component';\n\n\n@NgModule({\n    declarations: [\n        TableComponent\n    ],\n    exports: [\n        TableComponent\n    ],\n    imports: [\n        CommonModule\n    ],\n    providers: [],\n    schemas: [\n        CUSTOM_ELEMENTS_SCHEMA,\n        NO_ERRORS_SCHEMA,\n    ]\n})\nexport class TableModule {\n}\n","import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n    selector: '[sdkOverlay]'\n})\nexport class OverlayDirective {\n\n    constructor(\n        public viewContainerRef: ViewContainerRef\n    ) {\n    }\n\n}\n","import {\n    Component,\n    ComponentFactoryResolver,\n    ElementRef,\n    EventEmitter,\n    HostBinding,\n    Inject,\n    Input,\n    OnDestroy,\n    OnInit,\n    Output,\n    Renderer2,\n    ViewChild\n} from '@angular/core';\nimport { OverlayModel, OverlayOptions } from './overlay.model';\nimport { NavigationStart, Router } from '@angular/router';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\nimport { OverlayDirective } from './overlay.directive';\nimport { DOCUMENT } from '@angular/common';\n\n@Component({\n    selector: 'sdk-overlay',\n    templateUrl: './overlay.component.html',\n    styleUrls: ['./overlay.component.scss']\n})\nexport class OverlayComponent implements OnInit, OnDestroy, OverlayModel {\n\n    public sub: Subscription;\n    public className: string = ``;\n    public br: string = `0`;\n    public rects: { top, bottom, right, left, width, height, x, y };\n\n    @Input() public options: OverlayOptions;\n    @ViewChild(OverlayDirective, {static: true}) public modalDirective: OverlayDirective;\n    @ViewChild('overlay', {static: true}) public overlayElem: ElementRef;\n    @HostBinding('attr.state') public state: 'opened' | 'closed' = 'closed';\n    @Output() public resultEvent: EventEmitter<any> = new EventEmitter<any>();\n\n    constructor(\n        @Inject(DOCUMENT) private document: any,\n        private cfResolver: ComponentFactoryResolver,\n        private router: Router,\n        private renderer: Renderer2\n    ) {\n    }\n\n    public loadComponent(): void {\n        const componentFactory = this.cfResolver.resolveComponentFactory(this.options.component);\n\n        const viewRef = this.modalDirective.viewContainerRef;\n        viewRef.clear();\n\n        const componentRef = viewRef.createComponent(componentFactory);\n        (componentRef.instance as OverlayModel).options = this.options;\n        (componentRef.instance as OverlayModel).resultEvent.subscribe(res => {\n            this.onResult(res);\n        });\n    }\n\n    public onResult(res?: any): void {\n        this.resultEvent.next(res);\n        this.resultEvent.complete();\n    }\n\n    public onBackdrop(): void {\n        if (this.options.hideOnBackdrop) {\n            this.onResult();\n        }\n    }\n\n    /**\n     * - if `fitWidth` config options is true\n     * there are width declared depending on its parent element\n     * - if `rects.top` calculated there is enough place to drop it down,\n     *  if it hits `rects.bottom` – show it above the element\n     */\n    public setDropdownPosition(): void {\n        if (this.rects.width) {\n            this.renderer.setStyle(this.overlayElem.nativeElement, `width`, `${this.rects.width}px`);\n        }\n\n        if (this.rects.top) {\n            this.renderer.setStyle(this.overlayElem.nativeElement, `top`, `${this.rects.top}px`);\n        } else {\n            this.renderer.setStyle(this.overlayElem.nativeElement, `bottom`, `${this.rects.bottom}px`);\n        }\n\n        this.renderer.setStyle(this.overlayElem.nativeElement, `left`, `${this.rects.left || this.options.triggerRect.left}px`);\n        this.renderer.setStyle(this.overlayElem.nativeElement, `opacity`, 1);\n    }\n\n    public hideOnRouterEvents(): void {\n        const sub = this.router.events.pipe(\n            filter(event => event instanceof NavigationStart)\n        ).subscribe(() => {\n            this.onBackdrop();\n        });\n\n        this.sub ? this.sub.add(sub) : this.sub = sub;\n    }\n\n\n    /**\n     * detect window resize and scroll to prevent failed dropdown position\n     */\n    public initClosingSubscriptions(): void {\n        if (this.options.hideOnScroll) {\n            const sub = fromEvent(window, 'scroll').pipe(\n                take(1)\n            ).subscribe(() => {\n                this.onResult();\n            });\n            this.sub ? this.sub.add(sub) : this.sub = sub;\n        }\n\n        if (this.options.hideOnWindowResize) {\n            const sub = fromEvent(window, 'resize').pipe(\n                take(1)\n            ).subscribe(() => {\n                this.onResult();\n            });\n            this.sub ? this.sub.add(sub) : this.sub = sub;\n        }\n    }\n\n    /**\n     * keyboard events\n     */\n    public initKeydownSubscription(): void {\n        this.sub.add(\n            fromEvent(this.document, 'keydown').subscribe((e: KeyboardEvent) => {\n                switch (e.key || e.code) {\n                    case 'Escape':\n                        e.preventDefault();\n                        e.stopPropagation();\n                        this.onResult();\n                        break;\n                    default:\n                        return;\n                }\n            })\n        );\n    }\n\n    public ngOnInit(): void {\n        this.state = 'opened';\n        if (this.options.borderRadius > 0) {\n            this.br = `${this.options.borderRadius}px`;\n        }\n\n        this.loadComponent();\n\n        this.hideOnRouterEvents();\n    }\n\n    public ngOnDestroy(): void {\n        this.resultEvent?.complete();\n        this.sub?.unsubscribe();\n    }\n}\n","<div class=\"sdk-overlay-wrap flex-column layout-center-center\" [style.zIndex]=\"options.index\" autofocus>\n    <div class=\"sdk-overlay-container flex-row layout-center-center\">\n        <div class=\"sdk-overlay-backdrop\" [class.visible]=\"options.backdropVisible\" (click)=\"onBackdrop()\"></div>\n        <div class=\"sdk-overlay-content-wrap flex-column\" [style.borderRadius]=\"br\">\n            <div class=\"sdk-overlay-content\"\n                 [ngStyle]=\"options.styles\"\n                 [class.disable-scroll]=\"options.disableScroll\">\n                <ng-template sdkOverlay #overlay></ng-template>\n            </div>\n        </div>\n    </div>\n</div>\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverlayComponent } from './overlay.component';\nimport { OverlayDirective } from './overlay.directive';\n\nconst moduleDeclarations = [\n    OverlayComponent,\n    OverlayDirective,\n];\n\n@NgModule({\n    declarations: moduleDeclarations,\n    exports: moduleDeclarations,\n    imports: [\n        CommonModule\n    ]\n})\nexport class OverlayModule {\n}\n","import { ApplicationRef, ComponentFactoryResolver, Inject, Injectable, Injector, PLATFORM_ID } from '@angular/core';\nimport { fromEvent, Observable, Subject, Subscription } from 'rxjs';\nimport { DOCUMENT, isPlatformServer } from '@angular/common';\nimport { OverlayComponent } from './overlay.component';\nimport { OverlayOptions } from './overlay.model';\n\nconst LOWER_INDEX = 100;\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class OverlayService {\n\n    private currentId = LOWER_INDEX;\n    private refs: any = [];\n    public escapeSub: Subscription;\n\n    constructor(\n        @Inject(DOCUMENT) private document: any,\n        @Inject(PLATFORM_ID) private platformId: any,\n        private injector: Injector,\n        private appRef: ApplicationRef,\n        private cfResolver: ComponentFactoryResolver,\n    ) {\n    }\n\n    /**\n     * showOverlay runs overlay with specified component\n     * @param options\n     * overlay.model, optional\n     */\n    public createOverlay(options: OverlayOptions = {}): Observable<any> {\n        if (isPlatformServer(this.platformId)) {\n            return;\n        }\n\n        const overlay = this.document.createElement('sdk-overlay');\n\n        const factory = this.cfResolver.resolveComponentFactory(OverlayComponent);\n        const overlayRef = factory.create(this.injector, [], overlay);\n\n        this.currentId++;\n\n        options.index = this.currentId;\n        overlayRef.instance.options = options;\n        this.refs.push(overlayRef);\n\n        if (options.hideOnEscape) {\n            this.escapeListener();\n        }\n\n        this.appRef.attachView(overlayRef.hostView);\n\n        this.document.body.appendChild(overlay);\n\n        const result = new Subject();\n        overlayRef.instance.resultEvent.subscribe((res: any) => {\n            result.next(res);\n            result.complete();\n            this.refs.pop();\n            if (this.refs.length === 0) {\n                if (this.escapeSub) {\n                    this.escapeSub.unsubscribe();\n                }\n            }\n            this.currentId--;\n            this.document.body.removeChild(overlay);\n            this.appRef.detachView(overlayRef.hostView);\n        });\n\n        return result.asObservable();\n    }\n\n    private escapeListener(): void {\n        if (this.escapeSub && !this.escapeSub.closed) {\n            return;\n        }\n\n        this.escapeSub = fromEvent(document, 'keyup').subscribe((ev: KeyboardEvent) => {\n            ev.stopPropagation();\n            ev.preventDefault();\n            if (ev.code === 'Escape' || ev.key === 'Escape') {\n                this.onResultKey(null);\n            } else if (ev.code === 'Enter' || ev.key === 'Enter') {\n                // this.onResultKey(true);\n            } else if (ev.code === 'Space' || ev.key === 'Space') {\n                // this.onResultKey();\n            }\n        });\n    }\n\n    private onResultKey(emitValue?: any): void {\n        if (this.refs && this.refs.length) {\n            const dialog = this.refs[this.refs.length - 1];\n            if (dialog.instance.hideOnEscape) {\n                dialog.instance.closed.emit(emitValue);\n            }\n        }\n    }\n}\n","import { EventEmitter } from '@angular/core';\n\nexport class OverlayModel {\n    public resultEvent: EventEmitter<any>;\n    public options?: OverlayOptions;\n}\n\nexport class OverlayOptions {\n    public index?: number = 100;\n    public data?: any = null;\n    public component?: any;\n    public triggerRect?: ClientRect;\n    public fitWidth?: boolean;\n    public positionStrategy?: OverlayStickPosition; // undefined, or 'none' which is default\n    public sizeStrategy?: OverlaySize; // which is fit screen height/width\n    public overlayStrategy?: OverlayStrategy = `overlay`;\n\n\n    /**\n     * hide overlay on backdrop click, default 'true'\n     */\n    public hideOnBackdrop?: boolean = true;\n    public hideOnScroll?;\n    public hideOnWindowResize?;\n\n    /**\n     * hide overlay on Esc (Enter ?, Space ?) keyup event, default 'true' with result\n     */\n    public hideOnEscape?: boolean = true;\n\n    /**\n     * fill backdrop with shadowed background, default 'true'\n     */\n    public backdropVisible?: boolean = true;\n\n    /**\n     * hide overlay on router change event, default 'true'\n     */\n    public hideOnRouteChange?: boolean = true;\n\n    /**\n     * specify overlay content window border-radius, default '0'\n     */\n    public borderRadius?: number = 0;\n\n    /**\n     * disable overlay content scroll, defaults to 'false'\n     */\n    public disableScroll?: boolean = false;\n\n    public styles?: any;\n}\n\nexport type OverlayStickPosition = `center` | `top` | `bottom` | `right` | `left` | `target`;\nexport type OverlaySize = `screen-width` | `screen-height` | `fullscreen` | `fit-width` | `fit-height` | `fit`;\nexport type OverlayStrategy = `overlay` | `fixed` | `stick`;\n\n","import { ApplicationRef, ComponentFactoryResolver, ComponentRef, Inject, Injectable, Injector, PLATFORM_ID } from '@angular/core';\nimport { AlertOptions } from './alert.model';\nimport { fromEvent, Observable, of, Subscription } from 'rxjs';\nimport { DOCUMENT, isPlatformServer } from '@angular/common';\nimport { AlertsComponent } from './alerts.component';\nimport { LayoutControlService } from '../../core/layout-control/layout-control.service';\n\nexport const DEFAULT_ALERT_LIMIT = 25;\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class AlertService {\n\n    public alertRefs = new Map<string, ComponentRef<AlertsComponent>>();\n    public layoutSub: Subscription;\n\n    public mobileLayout: boolean;\n    public alertIndex = 0;\n\n    constructor(\n        @Inject(DOCUMENT) private document: any,\n        @Inject(PLATFORM_ID) private platformId: any,\n        private injector: Injector,\n        private appRef: ApplicationRef,\n        private cfResolver: ComponentFactoryResolver,\n        private layoutControl: LayoutControlService\n    ) {\n    }\n\n    public success(options?: AlertOptions): void {\n        this.showAlert({...options, type: 'success'});\n    }\n\n    public error(options?: AlertOptions): void {\n        this.showAlert({...options, type: 'error'});\n    }\n\n    public action(options?: AlertOptions): Observable<any> {\n        return of(this.showAlert({...options, action: true}));\n    }\n\n    private checkoutLayout(): void {\n        this.mobileLayout = this.document.body.clientWidth < this.layoutControl.mobileLayoutWidth;\n        if (this.layoutSub?.closed) {\n            this.layoutSub = fromEvent(window, 'resize').subscribe(res => {\n                this.mobileLayout = this.document.body.clientWidth < this.layoutControl.mobileLayoutWidth;\n            });\n        }\n    }\n\n    public showAlert(options?: AlertOptions): void {\n        if (isPlatformServer(this.platformId)) {\n            return;\n        }\n\n        this.checkoutLayout();\n\n        if (this.mobileLayout) {\n            options.positionX = 'center';\n        }\n\n        this.alertIndex++;\n        options.index = this.alertIndex;\n        options = new AlertOptions(options);\n\n        const alertContainerRef = this.alertRefs.get(options.refName);\n        if (!!alertContainerRef) {\n            alertContainerRef.instance.options = options;\n        } else {\n            const container = this.document.createElement('sdk-alert-container');\n            const factory = this.cfResolver.resolveComponentFactory(AlertsComponent);\n            const containerRef = factory.create(this.injector, [], container);\n            containerRef.instance.options = options;\n\n\n            this.appRef.attachView((containerRef).hostView);\n            this.document.body.appendChild(container);\n            this.alertRefs.set(options.refName, containerRef);\n            containerRef.instance.closed.subscribe(() => {\n                this.alertRefs.delete(options.refName);\n                this.appRef.detachView(containerRef.hostView);\n                this.document.body.removeChild(container);\n\n                if (this.alertRefs.size < 1) {\n                    this.layoutSub?.unsubscribe();\n                }\n            });\n        }\n    }\n}\n","import { ApplicationRef, ComponentFactoryResolver, Inject, Injectable, Injector, PLATFORM_ID } from '@angular/core';\nimport { DialogComponent } from './dialog.component';\nimport { fromEvent, Observable, Subject, Subscription } from 'rxjs';\n\nimport { DialogInterface } from './dialog.interface';\nimport { DOCUMENT, isPlatformServer } from '@angular/common';\n\nconst LOWER_INDEX = 100;\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class DialogService {\n\n    private currentId = LOWER_INDEX;\n    private refs = [];\n    public escapeSub: Subscription;\n\n    constructor(\n        @Inject(DOCUMENT) private document: any,\n        @Inject(PLATFORM_ID) private platformId: any,\n        private injector: Injector,\n        private appRef: ApplicationRef,\n        private cfResolver: ComponentFactoryResolver\n    ) {\n    }\n\n    /**\n     * showDialog runs dialog with specified component\n     * @param component\n     * specify component to render, required\n     * @param options\n     * dialog-options.interface, optional\n     */\n    public showDialog(component, options: DialogInterface = {}): Observable<any> {\n        if (isPlatformServer(this.platformId)) {\n            return;\n        }\n\n        const {\n            data,\n            hideOnBackdrop = true,\n            hideOnEscape = true,\n            borderRadius = 0,\n            disableScroll\n        } = options;\n        const dialog = this.document.createElement('sdk-dialog');\n\n        const factory = this.cfResolver.resolveComponentFactory(DialogComponent);\n        const dialogRef = factory.create(this.injector, [], dialog);\n\n        this.currentId++;\n\n        dialogRef.instance.component = component;\n        dialogRef.instance.data = data;\n        dialogRef.instance.hideOnBackdrop = hideOnBackdrop;\n        dialogRef.instance.hideOnEscape = hideOnEscape;\n        dialogRef.instance.borderRadius = borderRadius;\n        dialogRef.instance.disableScroll = disableScroll;\n        dialogRef.instance.id = this.currentId;\n        this.refs.push(dialogRef);\n\n        if (hideOnEscape) {\n            this.escapeListener();\n        }\n\n        this.appRef.attachView(dialogRef.hostView);\n\n        this.document.body.appendChild(dialog);\n\n        const result = new Subject();\n        dialogRef.instance.closed.subscribe((res: any) => {\n            result.next(res);\n            result.complete();\n            this.refs.pop();\n            if (this.refs.length === 0) {\n                if (this.escapeSub) {\n                    this.escapeSub.unsubscribe();\n                }\n            }\n            this.currentId--;\n            this.document.body.removeChild(dialog);\n            this.appRef.detachView(dialogRef.hostView);\n        });\n\n        return result.asObservable();\n    }\n\n    public escapeListener(): void {\n        if (this.escapeSub && !this.escapeSub.closed) {\n            return;\n        }\n\n        this.escapeSub = fromEvent(document, 'keyup').subscribe((ev: KeyboardEvent) => {\n            ev.stopPropagation();\n            ev.preventDefault();\n            if (ev.code === 'Escape' || ev.key === 'Escape') {\n                this.onEscape();\n            }\n        });\n    }\n\n    public onEscape(): void {\n        if (this.refs && this.refs.length) {\n            const dialog = this.refs[this.refs.length - 1];\n            if (dialog.instance?.hideOnEscape) {\n                dialog.instance?.closed.emit(null);\n            }\n        }\n    }\n}\n","import { ApplicationRef, ComponentFactoryResolver, Inject, Injectable, Injector, PLATFORM_ID } from '@angular/core';\nimport { fromEvent, Observable, Subject, Subscription } from 'rxjs';\nimport { PopupComponent } from './popup.component';\nimport { PopupInterface } from './popup.interface';\nimport { DOCUMENT, isPlatformServer } from '@angular/common';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class PopupService {\n\n    private keyupSub: Subscription;\n    public opened: boolean = false;\n\n    constructor(\n        @Inject(DOCUMENT) private document: any,\n        @Inject(PLATFORM_ID) private platformId: any,\n        private injector: Injector,\n        private applicationRef: ApplicationRef,\n        private componentFactoryResolver: ComponentFactoryResolver,\n    ) {\n    }\n\n    public showPopup(options: PopupInterface = {}): Observable<boolean> {\n        if (isPlatformServer(this.platformId)) {\n            return;\n        }\n\n        if (this.opened) {\n            throw new Error('Only one active popup instance are available');\n        }\n\n        this.opened = true;\n        const popup = this.document.createElement('sdk-popup');\n\n        const factory = this.componentFactoryResolver.resolveComponentFactory(PopupComponent);\n        const popupComponentRef = factory.create(this.injector, [], popup);\n\n        const {\n            message = 'Are you sure?',\n            title = 'Confirm action',\n            ok = 'Ok',\n            cancel = 'Cancel'\n        } = options;\n\n        popupComponentRef.instance.title = title;\n        popupComponentRef.instance.message = message;\n        popupComponentRef.instance.ok = ok;\n        popupComponentRef.instance.cancel = cancel;\n\n        this.keyupSub = fromEvent(this.document, 'keyup').subscribe((ev: KeyboardEvent) => {\n            ev.preventDefault();\n            ev.stopPropagation();\n            if (ev.code === 'Escape' || ev.key === 'Escape') {\n                popupComponentRef.instance.closed.emit(false);\n            } else if (ev.code === 'Enter' || ev.key === 'Enter') {\n                popupComponentRef.instance.closed.emit(true);\n            }\n        });\n\n        this.document.body.appendChild(popup);\n\n        this.applicationRef.attachView(popupComponentRef.hostView);\n\n        const result = new Subject<boolean>();\n        popupComponentRef.instance.closed.subscribe((res) => {\n            result.next(res);\n            result.complete();\n            this.keyupSub.unsubscribe();\n            this.document.body.removeChild(popup);\n            this.applicationRef.detachView(popupComponentRef.hostView);\n            this.opened = false;\n        });\n\n        return result.asObservable();\n    }\n}\n","/**\n * Public API Surface of ngx-slice-kit\n */\n\n/**\n * Animations\n */\n\nexport { slideInAnimation } from './lib/core/animations/slide-in';\n\n/**\n * Main Slice Kit module\n */\nexport { SliceKitModule } from './lib/slice-kit.module';\n/**\n * Theming\n */\nexport { ThemeModule } from './lib/core/theme/theme.module';\nexport { ThemeService } from './lib/core/theme/theme.service';\nexport { ThemeDirective } from './lib/core/theme/theme.directive';\nexport {\n    // models\n    Theme,\n    ColorProperty,\n    ThemeBaseColors,\n    ThemeColors,\n    // methods\n    MixinRgba,\n    NumArrayToRgbString,\n    RgbaToHex,\n    HexToRgb\n} from './lib/core/theme/theme.model';\nexport { themeDark } from './lib/core/theme/lib/theme-dark';\nexport { themeLight } from './lib/core/theme/lib/theme-light';\n\n/**\n * Core module\n */\nexport { CoreModule } from './lib/core/core.module';\nexport { I17rService } from './lib/core/i17r/i17r.service';\nexport { I17rPipe } from './lib/core/i17r/i17r.pipe';\nexport { LayoutControlService } from './lib/core/layout-control/layout-control.service';\nexport { LoadingComponent } from './lib/layout/loading/loading.component';\nexport { LoadingDirective } from './lib/layout/loading/loading.directive';\nexport { LoadingService } from './lib/layout/loading/loading.service';\nexport { MarkdownComponent } from './lib/core/markdown/markdown.component';\nexport { MarkdownDirective } from './lib/core/markdown/markdown.directive';\nexport { MarkdownPipe } from './lib/core/markdown/markdown.pipe';\nexport { MarkdownService } from './lib/core/markdown/markdown.service';\nexport { NavigationScrollDirective } from './lib/core/directives/navigation-scroll.directive';\n\n/**\n * Buttons module\n */\nexport { GLYPHS } from './lib/buttons/icon/icon.glyphs';\nexport { ButtonsModule } from './lib/buttons/buttons.module';\n/**\n * modules\n */\n// export {BadgesModule} from './lib/buttons/badges/badges.module';\nexport { ButtonModule } from './lib/buttons/button/button.module';\nexport { ButtonGroupModule } from './lib/buttons/button-group/button-group.module';\n// export {ChipsModule} from './lib/buttons/chips/chips.module';\nexport { IconModule } from './lib/buttons/icon/icon.module';\n// export {RippleModule} from './lib/buttons/ripple/ripple.module';\n// export {StepperModule} from './lib/buttons/stepper/stepper.module';\n/**\n * components\n */\n// export {BadgesComponent} from './lib/buttons/badges/badges.component';\nexport { ButtonComponent } from './lib/buttons/button/button.component';\nexport { ButtonGroupComponent } from './lib/buttons/button-group/button-group.component';\n// export {ChipsComponent} from './lib/buttons/chips/chips.component';\nexport { IconComponent } from './lib/buttons/icon/icon.component';\n// export {RippleComponent} from './lib/buttons/ripple/ripple.component';\n// export {StepperComponent} from './lib/buttons/stepper/stepper.component';\n\n/**\n * Cards module\n */\n// export { CardsModule } from './lib/cards/cards.module';\n/**\n * modules\n */\n// export {CardModule} from './lib/cards/card/card.module';\n// export {DashboardCardModule} from './lib/cards/dashboard-card/dashboard-card.module';\n// export {ShoppingCardModule} from './lib/cards/shopping-card/shopping-card.module';\n// export {SocialCardModule} from './lib/cards/social-card/social-card.module';\n// export {TextCardModule} from './lib/cards/text-card/text-card.module';\n/**\n * components\n */\n// export {CardComponent} from './lib/cards/card/card.component';\n// export {DashboardCardComponent} from './lib/cards/dashboard-card/dashboard-card.component';\n// export {ShoppingCardComponent} from './lib/cards/shopping-card/shopping-card.component';\n// export {SocialCardComponent} from './lib/cards/social-card/social-card.component';\n// export {TextCardComponent} from './lib/cards/text-card/text-card.component';\n\n/**\n * Dropdowns module\n */\nexport { DropdownsModule } from './lib/dropdowns/dropdowns.module';\n/**\n * modules\n */\nexport { AutocompleteModule } from './lib/dropdowns/autocomplete/autocomplete.module';\nexport { SelectModule } from './lib/dropdowns/select/select.module';\n/**\n * components\n */\nexport { DropdownComponent } from './lib/dropdowns/dropdown.component';\nexport { DropdownOptions } from './lib/dropdowns/dropdown.model';\nexport { OptionModel } from './lib/dropdowns/dropdown-option.model';\nexport { DropdownService } from './lib/dropdowns/dropdown.service';\nexport { OptionsService } from './lib/dropdowns/options.service';\nexport { DropdownMenuTriggerDirective } from './lib/dropdowns/context/dropdown-menu-trigger.directive';\nexport { AutocompleteComponent } from './lib/dropdowns/autocomplete/autocomplete.component';\nexport { SelectComponent } from './lib/dropdowns/select/select.component';\n\n/**\n * Forms module\n */\nexport { InputsModule } from './lib/inputs/inputs.module';\n/**\n * modules\n */\nexport { CheckboxModule } from './lib/inputs/checkbox/checkbox.module';\n// export { DatepickerModule } from './lib/inputs/datepicker/datepicker.module';\nexport { InputModule } from './lib/inputs/input/input.module';\nexport { RadioModule } from './lib/inputs/radio/radio.module';\nexport { TextareaModule } from './lib/inputs/textarea/textarea.module';\nexport { ToggleModule } from './lib/inputs/toggle/toggle.module';\n// export {WysiwygModule} from './lib/inputs/wysiwyg/wysiwyg.module';\n/**\n * components\n */\nexport { CheckboxComponent } from './lib/inputs/checkbox/checkbox.component';\n// export { DatepickerComponent } from './lib/inputs/datepicker/datepicker.component';\nexport { InputComponent } from './lib/inputs/input/input.component';\nexport { RadioComponent } from './lib/inputs/radio/radio.component';\nexport { TextareaComponent } from './lib/inputs/textarea/textarea.component';\nexport { ToggleComponent } from './lib/inputs/toggle/toggle.component';\n// export {WysiwygComponent} from './lib/inputs/wysiwyg/wysiwyg.component';\n\n/**\n * Layout module\n */\nexport { LayoutModule } from './lib/layout/layout.module';\n/**\n * modules\n */\n// export {AccordionModule} from './lib/layout/accordion/accordion.module';\n// export {BreadcrumbsModule} from './lib/layout/breadcrumbs/breadcrumbs.module';\n// export {CalendarModule} from './lib/layout/calendar/calendar.module';\nexport { CarouselModule } from './lib/layout/carousel/carousel.module';\n// export {ChartsModule} from './lib/layout/charts/charts.module';\nexport { DividerModule } from './lib/layout/divider/divider.module';\nexport { DotsModule } from './lib/layout/dots/dots.module';\n// export {DragNDropModule} from './lib/layout/drag-n-drop/drag-n-drop.module';\nexport { ListModule } from './lib/layout/list/list.module';\n// export { LoadingModule } from './lib/layout/loading/loading.module';\nexport { PaginationModule } from './lib/layout/pagination/pagination.module';\nexport { ProgressModule } from './lib/layout/progress/progress.module';\nexport { SliderModule } from './lib/layout/slider/slider.module';\nexport { TableModule } from './lib/layout/table/table.module';\n/**\n * components\n */\n// export {AccordionComponent} from './lib/layout/accordion/accordion.component';\n// export {BreadcrumbsComponent} from './lib/layout/breadcrumbs/breadcrumbs.component';\n// export {CalendarComponent} from './lib/layout/calendar/calendar.component';\nexport { CarouselComponent } from './lib/layout/carousel/carousel.component';\n// export {ChartsComponent} from './lib/layout/charts/charts.component';\nexport { DividerComponent } from './lib/layout/divider/divider.component';\nexport { DotsComponent } from './lib/layout/dots/dots.component';\n// export {DragNDropComponent} from './lib/layout/drag-n-drop/drag-n-drop.component';\nexport { ListComponent } from './lib/layout/list/list.component';\nexport { PaginationComponent } from './lib/layout/pagination/pagination.component';\nexport { ProgressComponent } from './lib/layout/progress/progress.component';\nexport { SlideComponent } from './lib/layout/carousel/slide/slide.component';\nexport { SliderComponent } from './lib/layout/slider/slider.component';\nexport { TableComponent } from './lib/layout/table/table.component';\n\n/**\n * Media module\n */\n// export { MediaModule } from './lib/media/media.module';\n/**\n * modules\n */\n// export {AudioPlayerModule} from './lib/media/audio-player/audio-player.module';\n// export {VideoPlayerModule} from './lib/media/video-player/video-player.module';\n// export {FileModule} from './lib/media/file/file.module';\n/**\n * components\n */\n// export {AudioPlayerComponent} from './lib/media/audio-player/audio-player.component';\n// export {VideoPlayerComponent} from './lib/media/video-player/video-player.component';\n// export {FileComponent} from './lib/media/file/file.component';\n\n/**\n * Overlay module\n */\nexport { OverlayModule } from './lib/overlay/overlay.module';\n/**\n * modules\n */\n/**\n * components\n */\nexport { OverlayComponent } from './lib/overlay/overlay.component';\nexport { OverlayDirective } from './lib/overlay/overlay.directive';\nexport { OverlayService } from './lib/overlay/overlay.service';\nexport {\n    OverlayOptions, OverlayModel, OverlaySize, OverlayStickPosition, OverlayStrategy\n} from './lib/overlay/overlay.model';\n\n/**\n * Modals module\n */\nexport { ModalsModule } from './lib/modals/modals.module';\n/**\n * modules\n */\nexport { AlertModule } from './lib/modals/alert/alert.module';\n// export {BottomSheetModule} from './lib/modals/bottom-sheet/bottom-sheet.module';\nexport { DialogModule } from './lib/modals/dialog/dialog.module';\n// export {PopoverModule} from './lib/modals/popover/popover.module';\nexport { PopupModule } from './lib/modals/popup/popup.module';\nexport { TooltipModule } from './lib/modals/tooltip/tooltip.module';\n/**\n * components\n */\nexport { AlertComponent } from './lib/modals/alert/alert.component';\nexport { AlertsComponent } from './lib/modals/alert/alerts.component';\nexport { AlertService } from './lib/modals/alert/alert.service';\nexport { AlertOptions } from './lib/modals/alert/alert.model';\nexport { DialogComponent } from './lib/modals/dialog/dialog.component';\nexport { DialogDirective } from './lib/modals/dialog/dialog.directive';\nexport { DialogService } from './lib/modals/dialog/dialog.service';\nexport { PopupComponent } from './lib/modals/popup/popup.component';\nexport { PopupService } from './lib/modals/popup/popup.service';\nexport { TooltipDirective } from './lib/modals/tooltip/tooltip.directive';\n// export {BottomSheetComponent} from './lib/modals/bottom-sheet/bottom-sheet.component';\n// export {PopoverComponent} from './lib/modals/popover/popover.component';\n\n/**\n * Navigation module\n */\nexport { NavigationModule } from './lib/navigation/navigation.module';\n/**\n * modules\n */\nexport { NavMenuModule } from './lib/navigation/nav-menu/nav-menu.module';\nexport { NavTabsModule } from './lib/navigation/nav-tabs/nav-tabs.module';\nexport { SidenavModule } from './lib/navigation/sidenav/sidenav.module';\nexport { TabsModule } from './lib/navigation/tabs/tabs.module';\n/**\n * components\n */\nexport { NavMenuComponent } from './lib/navigation/nav-menu/nav-menu.component';\nexport { NavMenuItemComponent } from './lib/navigation/nav-menu/nav-menu-item/nav-menu-item.component';\nexport { NavMenuGroupComponent } from './lib/navigation/nav-menu/nav-menu-group/nav-menu-group.component';\nexport { NavTabsComponent } from './lib/navigation/nav-tabs/nav-tabs.component';\nexport { SidenavComponent } from './lib/navigation/sidenav/sidenav.component';\nexport { SidenavContainerComponent } from './lib/navigation/sidenav/sidenav-container.component';\nexport { SidenavContentComponent } from './lib/navigation/sidenav/sidenav-content.component';\nexport { TabComponent } from './lib/navigation/tabs/tab/tab.component';\nexport { TabsComponent } from './lib/navigation/tabs/tabs.component';\nexport { TabLinkDirective } from './lib/navigation/nav-tabs/tab-link.directive';\n\n// end of public-api.ts\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["q","i1.I17rService","i1","moduleDeclarations","modules","i1.OptionsService","i2","i3.IconComponent","LOWER_INDEX","i1.DropdownService","i2.OptionsService","i3.LayoutControlService","i4","i5.IconComponent","i3","i4.IconComponent","i1.LayoutControlService","defaultBaseRgb","defaultBackgroundRgb","defaultRegularRgb","i2.ThemeService","i2.DotsComponent","i4.ButtonComponent","i2.IconComponent","i3.AlertComponent","i2.DialogDirective","i1.ButtonComponent","i1.ThemeService","i1.SidenavService","i2.LayoutControlService","i3.OverlayDirective"],"mappings":"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"}