vynil-ui 0.1.0-beta.2 → 0.1.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,7 +7,6 @@ import * as i1$1 from '@angular/forms';
7
7
  import { FormControl, NG_VALUE_ACCESSOR, Validators, ReactiveFormsModule } from '@angular/forms';
8
8
  import * as i1$2 from '@angular/platform-browser';
9
9
  import * as i1$3 from '@angular/router';
10
- import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
11
10
 
12
11
  const PIPE_KEY = 'initials';
13
12
  const UNKNOWN_VALUE = 'N/A';
@@ -533,6 +532,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImpor
533
532
  }] } });
534
533
 
535
534
  class RoutingService {
535
+ get activeRoute() {
536
+ return this.router.url;
537
+ }
536
538
  constructor(router, location, activatedRoute) {
537
539
  this.router = router;
538
540
  this.location = location;
@@ -1309,8 +1311,7 @@ class VynilUIModule {
1309
1311
  NavigationGroupComponent,
1310
1312
  // Selectors
1311
1313
  ColorSelectorComponent], imports: [CommonModule,
1312
- ReactiveFormsModule,
1313
- BrowserAnimationsModule], exports: [InitialsPipe,
1314
+ ReactiveFormsModule], exports: [InitialsPipe,
1314
1315
  // Basic
1315
1316
  ButtonComponent,
1316
1317
  TextComponent,
@@ -1342,8 +1343,7 @@ class VynilUIModule {
1342
1343
  // Selectors
1343
1344
  ColorSelectorComponent] }); }
1344
1345
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: VynilUIModule, imports: [CommonModule,
1345
- ReactiveFormsModule,
1346
- BrowserAnimationsModule] }); }
1346
+ ReactiveFormsModule] }); }
1347
1347
  }
1348
1348
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: VynilUIModule, decorators: [{
1349
1349
  type: NgModule,
@@ -1355,7 +1355,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImpor
1355
1355
  imports: [
1356
1356
  CommonModule,
1357
1357
  ReactiveFormsModule,
1358
- BrowserAnimationsModule,
1359
1358
  ],
1360
1359
  exports: [
1361
1360
  ...Pipes,
@@ -1 +1 @@
1
- {"version":3,"file":"vynil-ui.mjs","sources":["../../../projects/vynil-ui/src/lib/pipes/initials.pipe.ts","../../../projects/vynil-ui/src/lib/components/basic/text/text.component.ts","../../../projects/vynil-ui/src/lib/components/basic/text/text.component.html","../../../projects/vynil-ui/src/lib/services/theme.service.ts","../../../projects/vynil-ui/src/lib/components/layout/page/page.component.ts","../../../projects/vynil-ui/src/lib/components/layout/page/page.component.html","../../../projects/vynil-ui/src/lib/components/layout/view/view.component.ts","../../../projects/vynil-ui/src/lib/components/layout/view/view.component.html","../../../projects/vynil-ui/src/lib/components/layout/card/card.component.ts","../../../projects/vynil-ui/src/lib/components/layout/card/card.component.html","../../../projects/vynil-ui/src/lib/components/images/icon/icon.component.ts","../../../projects/vynil-ui/src/lib/components/images/icon/icon.component.html","../../../projects/vynil-ui/src/lib/components/inputs/input/input.component.ts","../../../projects/vynil-ui/src/lib/components/inputs/input/input.component.html","../../../projects/vynil-ui/src/lib/components/images/image/image.component.ts","../../../projects/vynil-ui/src/lib/components/images/image/image.component.html","../../../projects/vynil-ui/src/lib/components/modals/modal/modal.component.ts","../../../projects/vynil-ui/src/lib/components/modals/modal/modal.component.html","../../../projects/vynil-ui/src/lib/services/routing.service.ts","../../../projects/vynil-ui/src/lib/components/navigation/link/link.component.ts","../../../projects/vynil-ui/src/lib/components/navigation/link/link.component.html","../../../projects/vynil-ui/src/lib/components/basic/button/button.component.ts","../../../projects/vynil-ui/src/lib/components/basic/button/button.component.html","../../../projects/vynil-ui/src/lib/components/modals/dialog/dialog.component.ts","../../../projects/vynil-ui/src/lib/components/modals/dialog/dialog.component.html","../../../projects/vynil-ui/src/lib/components/layout/header/header.component.ts","../../../projects/vynil-ui/src/lib/components/layout/header/header.component.html","../../../projects/vynil-ui/src/lib/components/layout/sidebar/sidebar.component.ts","../../../projects/vynil-ui/src/lib/components/layout/sidebar/sidebar.component.html","../../../projects/vynil-ui/src/lib/components/modals/message/message.component.ts","../../../projects/vynil-ui/src/lib/components/modals/message/message.component.html","../../../projects/vynil-ui/src/lib/components/inputs/icon-input/icon-input.component.ts","../../../projects/vynil-ui/src/lib/components/inputs/icon-input/icon-input.component.html","../../../projects/vynil-ui/src/lib/components/selectors/color-selector/color-selector.component.ts","../../../projects/vynil-ui/src/lib/components/selectors/color-selector/color-selector.component.html","../../../projects/vynil-ui/src/lib/components/inputs/color-input/color-input.component.ts","../../../projects/vynil-ui/src/lib/components/inputs/color-input/color-input.component.html","../../../projects/vynil-ui/src/lib/components/inputs/toggle-input/toggle-input.component.ts","../../../projects/vynil-ui/src/lib/components/inputs/toggle-input/toggle-input.component.html","../../../projects/vynil-ui/src/lib/components/inputs/select-input/select-input.component.ts","../../../projects/vynil-ui/src/lib/components/inputs/select-input/select-input.component.html","../../../projects/vynil-ui/src/lib/components/inputs/image-url-input/image-url-input.component.ts","../../../projects/vynil-ui/src/lib/components/inputs/image-url-input/image-url-input.component.html","../../../projects/vynil-ui/src/lib/components/navigation/navigation-link/navigation-link.component.ts","../../../projects/vynil-ui/src/lib/components/navigation/navigation-link/navigation-link.component.html","../../../projects/vynil-ui/src/lib/components/inputs/image-array-input/image-array-input.component.ts","../../../projects/vynil-ui/src/lib/components/inputs/image-array-input/image-array-input.component.html","../../../projects/vynil-ui/src/lib/components/navigation/navigation-group/navigation-group.component.ts","../../../projects/vynil-ui/src/lib/components/navigation/navigation-group/navigation-group.component.html","../../../projects/vynil-ui/src/lib/services/download.service.ts","../../../projects/vynil-ui/src/lib/services/utility.service.ts","../../../projects/vynil-ui/src/lib/vynil-ui.module.ts","../../../projects/vynil-ui/src/public-api.ts","../../../projects/vynil-ui/src/vynil-ui.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\n\nconst PIPE_KEY = 'initials';\nconst UNKNOWN_VALUE = 'N/A';\n\n@Pipe({\n name: PIPE_KEY,\n standalone: false\n})\nexport class InitialsPipe implements PipeTransform {\n transform(value: string): string {\n if (!value) {\n return UNKNOWN_VALUE;\n }\n const nameParts = value.split(' ');\n let initials = nameParts[0].charAt(0);\n if (nameParts.length < 2) {\n return initials.toUpperCase();\n }\n initials += nameParts[nameParts.length - 1].charAt(0);\n return initials.toUpperCase();\n }\n}\n","import { Component, Input } from '@angular/core';\n\nexport enum VynilUITextSize {\n ExtraSmall = 'xsmall',\n Small = 'small',\n Medium = 'medium',\n Large = 'large',\n Header3 = 'header3',\n Header2 = 'header2',\n Header1 = 'header1',\n}\n\n@Component({\n selector: 'vui-text',\n templateUrl: './text.component.html',\n styleUrls: ['./text.component.scss'],\n standalone: false\n})\nexport class TextComponent {\n @Input() size?: string;\n @Input() color?: string;\n @Input() align?: string;\n @Input() weight?: string;\n @Input() padding?: string;\n}\n","<div\n class=\"text\"\n [ngClass]=\"size || ''\"\n [ngStyle]=\"{\n 'color': color || 'auto',\n 'padding': padding || '0',\n 'text-align': align || 'left',\n 'font-weight': weight || '400'\n }\">\n <ng-content></ng-content>\n</div>\n","import { BehaviorSubject } from 'rxjs';\nimport { Injectable } from '@angular/core';\n\nexport interface Theme {\n variables: {\n border: number,\n radius: number;\n padding: number;\n transitionLength: number;\n colorContrastFactor: number,\n iconSizes: number[];\n fontSizes: number[];\n };\n colors: {\n text: string;\n primary: string;\n highlight: string;\n background: string;\n boxShadow: string;\n };\n}\n\nconst UNIT_REM = 'rem';\nconst UNIT_PIXEL = 'px';\nconst UNIT_SECONDS = 's';\nconst UNIT_PERCENTAGE = '%';\nconst ICON_SIZE_NAMES = ['s', 'button', 'm', 'l', 'xl'];\nconst FONT_SIZE_NAMES = ['xs', 's', 'm', 'l', 'xl', 'h3', 'h2', 'h1'];\nconst DEFAULT_THEME: Theme = {\n variables: {\n border: 2,\n radius: 1,\n padding: 1,\n transitionLength: 0.3,\n colorContrastFactor: 10,\n iconSizes: [0.75, 0.9, 1.5, 2.75, 5],\n fontSizes: [10, 12, 16, 20, 24, 42, 64, 92],\n },\n colors: {\n text: '#FFFFFF',\n primary: '#0EA5E9',\n highlight: '#FFFFFF',\n background: '#27272A',\n boxShadow: 'rgba(0, 0, 0, 0.45) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px',\n },\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ThemeService {\n public theme: BehaviorSubject<Theme>;\n\n public constructor() {\n this.theme = new BehaviorSubject<Theme>(DEFAULT_THEME);\n this.updateTheme(DEFAULT_THEME);\n }\n\n public updateTheme(themeChanges: Partial<Theme>): void {\n const root = document.querySelector(':root') as HTMLElement;\n if (root) {\n this.updateElementTheme(root, themeChanges);\n }\n this.theme.next({\n variables: {\n ...this.theme.value.variables,\n ...themeChanges.variables,\n },\n colors: {\n ...this.theme.value.colors,\n ...themeChanges.colors,\n }\n });\n }\n\n public updateElementTheme(element: HTMLElement, themeChanges: Partial<Theme>): void {\n if (element) {\n if (themeChanges.variables) {\n if (themeChanges.variables.border) {\n this.updateVariable(element, 'border', themeChanges.variables.border, UNIT_PIXEL);\n }\n if (themeChanges.variables.radius) {\n this.updateVariable(element, 'radius', themeChanges.variables.radius, UNIT_REM);\n }\n if (themeChanges.variables.padding) {\n this.updateVariable(element, 'padding', themeChanges.variables.padding, UNIT_REM);\n }\n if (themeChanges.variables.transitionLength) {\n this.updateVariable(element, 'transition-length', themeChanges.variables.padding, UNIT_SECONDS, true);\n }\n if (themeChanges.variables.iconSizes) {\n this.updateIconSizes(element, themeChanges.variables.iconSizes);\n }\n if (themeChanges.variables.fontSizes) {\n this.updateFontSizes(element, themeChanges.variables.fontSizes);\n }\n }\n if (themeChanges.colors) {\n const themeColors = themeChanges.colors as { [key: string]: string };\n Object.keys(themeColors)\n .forEach((key: string) => {\n if (key !== 'boxShadow') {\n this.updateColor(element, key, themeColors[key]);\n }\n });\n if (themeChanges.colors.boxShadow) {\n this.updateColor(element, 'box-shadow', themeChanges.colors.boxShadow, true);\n }\n }\n }\n }\n\n private updateVariable(element: HTMLElement, propertyName: string, value: number, unit: string, skipAlts?: boolean): void {\n element.style.setProperty('--vui-variable-' + propertyName, value + unit);\n if (!skipAlts) {\n element.style.setProperty('--vui-variable-' + propertyName + '-xs', (value / 4) + unit);\n element.style.setProperty('--vui-variable-' + propertyName + '-extra-small', (value / 4) + unit);\n element.style.setProperty('--vui-variable-' + propertyName + '-s', (value / 2) + unit);\n element.style.setProperty('--vui-variable-' + propertyName + '-small', (value / 2) + unit);\n element.style.setProperty('--vui-variable-' + propertyName + '-l', (value * 2) + unit);\n element.style.setProperty('--vui-variable-' + propertyName + '-large', (value * 2) + unit);\n element.style.setProperty('--vui-variable-' + propertyName + '-xl', (value * 4) + unit);\n element.style.setProperty('--vui-variable-' + propertyName + '-extra-large', (value * 4) + unit);\n }\n }\n\n private updateColor(element: HTMLElement, propertyName: string, value: string, skipAlts?: boolean): void {\n element.style.setProperty('--vui-color-' + propertyName, value);\n if (!skipAlts) {\n element.style.setProperty('--vui-color-' + propertyName + '-darker', 'color-mix(in srgb,' + value + ',#000 ' + this.theme.value.variables.colorContrastFactor + UNIT_PERCENTAGE);\n element.style.setProperty('--vui-color-' + propertyName + '-lighter', 'color-mix(in srgb,' + value + ',#FFF ' + this.theme.value.variables.colorContrastFactor + UNIT_PERCENTAGE);\n }\n }\n\n private updateIconSizes(element: HTMLElement, values: number[]): void {\n values.forEach((value: number, index: number) =>\n this.updateVariable(element, 'icon-size-' + ICON_SIZE_NAMES[index], value, UNIT_REM, true));\n }\n\n private updateFontSizes(element: HTMLElement, values: number[]): void {\n values.forEach((value: number, index: number) =>\n this.updateVariable(element, 'font-size-' + FONT_SIZE_NAMES[index], value, UNIT_PIXEL, true));\n }\n}\n","import { Observable } from 'rxjs';\nimport { Component, Input } from '@angular/core';\nimport { Theme, ThemeService } from '../../../services/theme.service';\n\nconst DEFAULT_PADDING = '2rem 3rem';\n\n@Component({\n selector: 'vui-page',\n templateUrl: './page.component.html',\n styleUrls: ['./page.component.scss'],\n standalone: false\n})\nexport class PageComponent {\n @Input() padding: string;\n @Input() background?: string;\n\n public theme: Observable<Theme>;\n\n public constructor(\n private themeService: ThemeService,\n ) {\n this.padding = DEFAULT_PADDING;\n this.theme = this.themeService.theme.asObservable();\n }\n}\n","<div class=\"page\"\n [ngClass]=\"{ 'background': !!background }\"\n [ngStyle]=\"{\n 'padding': padding,\n 'background-image': !!background ? 'url(/assets/' + background + ')' : 'none'\n }\">\n <ng-content></ng-content>\n</div>\n","import { Component, Input } from '@angular/core';\n\nconst VIEW_STYLE_INPUTS = [\n 'top',\n 'left',\n 'right',\n 'bottom',\n 'flex',\n 'width',\n 'height',\n 'maxWidth',\n 'maxHeight',\n 'minWidth',\n 'minHeight',\n 'overflow',\n 'margin',\n 'padding',\n 'rowGap',\n 'columnGap',\n 'position',\n 'borderRadius',\n 'backgroundColor',\n 'flexDirection',\n 'alignItems',\n 'justifyContent',\n]\n\n@Component({\n selector: 'vui-view',\n templateUrl: './view.component.html',\n styleUrls: ['./view.component.scss'],\n standalone: false\n})\nexport class ViewComponent {\n @Input() wrap: boolean;\n @Input() relative: boolean;\n @Input() scrollable: boolean;\n @Input() top?: string;\n @Input() left?: string;\n @Input() right?: string;\n @Input() bottom?: string;\n @Input() flex?: string;\n @Input() width?: string;\n @Input() height?: string;\n @Input() maxWidth?: string;\n @Input() maxHeight?: string;\n @Input() minWidth?: string;\n @Input() minHeight?: string;\n @Input() overflow?: string;\n @Input() margin?: string;\n @Input() padding?: string;\n @Input() rowGap?: string;\n @Input() columnGap?: string;\n @Input() position?: string;\n @Input() borderRadius?: string;\n @Input() backgroundColor?: string;\n @Input() flexDirection?: string;\n @Input() alignItems?: string;\n @Input() justifyContent?: string;\n\n public constructor() {\n this.wrap = false;\n this.relative = false;\n this.scrollable = false;\n }\n\n public get styleObject(): { [key: string]: string } {\n let styleObject: { [key: string]: string } = {};\n const componentObject = this as unknown as { [key: string]: string };\n VIEW_STYLE_INPUTS.forEach((propertyName: string) => {\n if (componentObject[propertyName]) {\n styleObject[propertyName] = componentObject[propertyName];\n }\n });\n return styleObject;\n }\n}\n","<div\n class=\"view\"\n [ngClass]=\"{\n 'wrap': wrap,\n 'relative': relative,\n 'scrollable': scrollable}\"\n [ngStyle]=\"styleObject\">\n <ng-content></ng-content>\n</div>\n","import { Component, Input } from '@angular/core';\n\nexport type VynilUICardStyle = 'default' | 'dark' | 'active';\n\n@Component({\n selector: 'vui-card',\n templateUrl: './card.component.html',\n styleUrls: ['./card.component.scss'],\n standalone: false\n})\nexport class CardComponent {\n @Input() hasTabs?: boolean;\n @Input() hasBorder?: boolean;\n @Input() hasOverflow: boolean;\n @Input() cardStyle: VynilUICardStyle;\n\n constructor() {\n this.hasOverflow = true;\n this.cardStyle = 'default';\n }\n}\n","<div\n class=\"card\"\n [ngClass]=\"{\n 'dark': cardStyle === 'dark',\n 'active': cardStyle === 'active',\n 'border': hasBorder,\n 'has-tabs': hasTabs\n }\">\n <ng-content></ng-content>\n</div>\n","import { Component, Input } from '@angular/core';\n\nexport enum VynilUIIconSize {\n Small = 'small',\n Button = 'button',\n Medium = 'medium',\n Large = 'large',\n}\n\n@Component({\n selector: 'vui-icon',\n templateUrl: './icon.component.html',\n styleUrls: ['./icon.component.scss'],\n standalone: false\n})\nexport class IconComponent {\n @Input() size: string;\n @Input() icon?: string;\n @Input() color?: string;\n @Input() rotation?: number;\n @Input() disabled?: boolean;\n @Input() actionable?: boolean;\n public IconSizeEnum = VynilUIIconSize;\n\n constructor() {\n this.size = VynilUIIconSize.Medium;\n }\n\n public get styleObject(): { [key: string]: string } {\n let styleObject: { [key: string]: string } = {};\n if (this.color) {\n styleObject['backgroundColor'] = this.color;\n }\n if (this.rotation) {\n styleObject['transform'] = 'rotate(' + this.rotation + 'deg)';\n }\n styleObject['mask'] = 'url(./assets/icons/' + (this.icon || 'cog') + '.svg) no-repeat center',\n styleObject['-webkit-mask'] = styleObject['mask'];\n return styleObject;\n }\n}\n","<div\n class=\"icon\"\n [ngClass]=\"size + ' ' + (actionable ? 'actionable' : '') + ' ' + (disabled ? 'disabled' : '')\"\n [ngStyle]=\"styleObject\">\n</div>\n","/* eslint-disable @typescript-eslint/no-empty-function */\nimport {\n Input,\n Component,\n} from '@angular/core';\nimport {\n FormControl,\n NG_VALUE_ACCESSOR,\n ControlValueAccessor,\n} from '@angular/forms';\nimport { VynilUITextSize } from '../../basic/text/text.component';\n\nconst INPUT_STYLE_INPUTS = [\n 'flex',\n 'margin',\n 'padding',\n 'width',\n 'maxWidth',\n 'minWidth',\n 'textAlign',\n];\n\nexport type InputType = 'text' | 'number' | 'password';\n\n@Component({\n selector: 'vui-input',\n templateUrl: './input.component.html',\n styleUrls: ['./input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: InputComponent,\n multi: true,\n },\n ],\n standalone: false\n})\nexport class InputComponent implements ControlValueAccessor {\n @Input() textSize: string;\n @Input() flex?: string;\n @Input() margin?: string;\n @Input() padding?: string;\n @Input() align?: string;\n @Input() width?: string;\n @Input() maxWidth?: string;\n @Input() minWidth?: string;\n @Input() type: InputType;\n\n public control: FormControl<string>;\n\n public onTouch: (value: string) => void;\n public onChange: (value: string) => void;\n\n set value(value: string){\n if (value !== this.control.value\n && !(this.type === 'number' && isNaN(+value))) {\n this.control.setValue(value);\n }\n this.onChange(value);\n this.onTouch(value);\n }\n\n constructor() {\n this.type = 'text';\n this.textSize = VynilUITextSize.Medium;\n this.control = new FormControl<string>('', { nonNullable: true });\n this.control.valueChanges.subscribe((value) => {\n if (this.type === 'number') {\n // TODO: Find a proper fix for this one, perhaps separate number input\n value = parseFloat(value) as unknown as string;\n }\n this.writeValue(value);\n });\n this.onTouch = () => {};\n this.onChange = () => {};\n }\n\n public writeValue(value: string): void {\n this.value = value;\n }\n\n public registerOnChange(onChange: (value: string) => void): void {\n this.onChange = onChange;\n }\n\n public registerOnTouched(onTouched: (value: string) => void): void {\n this.onTouch = onTouched;\n }\n\n public get styleObject(): { [key: string]: string } {\n let styleObject: { [key: string]: string } = {};\n const componentObject = this as unknown as { [key: string]: string };\n INPUT_STYLE_INPUTS.forEach((propertyName: string) => {\n if (componentObject[propertyName]) {\n styleObject[propertyName] = componentObject[propertyName];\n }\n });\n return styleObject;\n }\n}\n","<input\n class=\"input\"\n [type]=\"type\"\n [formControl]=\"control\"\n [ngClass]=\"textSize\"\n [ngStyle]=\"styleObject\"\n/>\n","import { DomSanitizer, SafeUrl } from '@angular/platform-browser';\nimport { Component, Input, SecurityContext } from '@angular/core';\n\nconst DEFAULT_DIMENSION = 'auto';\n\ninterface IStyleObject {\n [key: string]: string | null\n}\n\n@Component({\n selector: 'vui-image',\n templateUrl: './image.component.html',\n styleUrls: ['./image.component.scss'],\n standalone: false\n})\nexport class ImageComponent {\n @Input() url?: string;\n @Input() width?: string;\n @Input() height?: string;\n @Input() circle?: boolean;\n @Input() border?: string;\n @Input() borderRadius?: string;\n @Input() backgroundSize?: string;\n @Input() useBackgroundImage?: boolean;\n\n public get sanitizedUrl(): SafeUrl | undefined {\n return this.url\n && this.domSanitizer.bypassSecurityTrustUrl(this.url)\n || undefined;\n }\n\n public get styles(): IStyleObject {\n let styles: IStyleObject = {\n 'width': this.width || DEFAULT_DIMENSION,\n 'height': this.height || DEFAULT_DIMENSION,\n 'min-width': this.width || DEFAULT_DIMENSION,\n 'min-height': this.height || DEFAULT_DIMENSION,\n };\n if (this.useBackgroundImage && this.url) {\n styles = {\n ...styles,\n 'background-image': this.domSanitizer.sanitize(SecurityContext.STYLE, 'url(' + this.url + ')'),\n 'background-size': this.backgroundSize || 'cover'\n }\n }\n if (this.border !== undefined) {\n styles['border'] = this.border;\n }\n if (this.borderRadius !== undefined) {\n styles['border-radius'] = this.borderRadius;\n }\n return styles;\n }\n\n public constructor(\n private domSanitizer: DomSanitizer,\n ) {}\n}\n","<div\n *ngIf=\"useBackgroundImage\"\n class=\"image-wrapper\"\n [ngClass]=\"{'circle': circle}\"\n [ngStyle]=\"styles\">\n</div>\n<img\n *ngIf=\"url && !useBackgroundImage\"\n [src]=\"sanitizedUrl\"\n class=\"image-wrapper\"\n [ngClass]=\"{'circle': circle}\"\n [ngStyle]=\"styles\"\n>\n<div\n *ngIf=\"!url && !useBackgroundImage\"\n class=\"image-wrapper\"\n [ngClass]=\"{'circle': circle}\"\n [ngStyle]=\"styles\"\n>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'vui-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss'],\n standalone: false\n})\nexport class ModalComponent {\n @Input() visible: boolean;\n @Output() closed: EventEmitter<void>;\n\n public constructor() {\n this.visible = false;\n this.closed = new EventEmitter();\n }\n\n public onCurtainClick(): void {\n this.closed.emit();\n }\n\n public onContentClick(event: MouseEvent): void {\n event.stopPropagation();\n }\n}\n","@if (visible) {\n <div class=\"curtain\" (click)=\"onCurtainClick()\">\n <div (click)=\"onContentClick($event)\" class=\"content\">\n <ng-content></ng-content>\n </div>\n </div>\n}\n","import { BehaviorSubject } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { Params, Router, ActivatedRoute } from '@angular/router';\n\nexport type ParamsData = { [key: string]: string };\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RoutingService {\n public queryParams: BehaviorSubject<ParamsData>;\n\n constructor(\n private router: Router,\n private location: Location,\n private activatedRoute: ActivatedRoute,\n ) {\n this.queryParams = new BehaviorSubject<ParamsData>({});\n this.activatedRoute.queryParams.subscribe((queryParams: Params) => {\n this.queryParams.next(queryParams);\n });\n }\n\n public navigate(route: string, queryParams?: ParamsData) {\n this.navigateWithQueryParams(route, queryParams || {});\n }\n\n public navigateInNewTab(route: string) {\n const url = this.router.serializeUrl(\n this.router.createUrlTree([route])\n );\n window.open(url, '_blank');\n }\n\n public navigateWithQueryParams(\n route: string | string[],\n queryParams: ParamsData,\n merge?: boolean,\n ) {\n const routeInfo = typeof route === 'string' ? [route] : route;\n this.router.navigate(routeInfo, {\n queryParams: {\n ...queryParams,\n },\n queryParamsHandling: merge ? 'merge' : '',\n });\n }\n\n public navigateBack() {\n this.location.back();\n }\n}\n","import { Input, Component } from '@angular/core';\nimport { RoutingService } from '../../../services/routing.service';\n\n@Component({\n selector: 'vui-link',\n templateUrl: './link.component.html',\n styleUrls: ['./link.component.scss'],\n standalone: false\n})\nexport class LinkComponent {\n @Input() path?: string;\n\n public constructor(\n private routingService: RoutingService,\n ) {}\n\n public onNavigate(): void {\n if (this.path) {\n this.routingService.navigate(this.path);\n }\n }\n}\n","<div class=\"link\" (click)=\"onNavigate()\">\n <ng-content></ng-content>\n</div>\n","import {\n Input,\n Output,\n Component,\n EventEmitter,\n} from '@angular/core';\n\n@Component({\n selector: 'vui-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n standalone: false\n})\nexport class ButtonComponent {\n @Input() lean?: boolean;\n @Input() centered?: boolean;\n @Input() disabled?: boolean;\n @Output() clicked: EventEmitter<void>;\n\n public constructor() {\n this.clicked = new EventEmitter<void>();\n }\n\n public onClick(): void {\n if (!this.disabled) {\n this.clicked.emit();\n }\n }\n}\n","<div\n class=\"button\"\n [ngClass]=\"{\n 'lean': lean,\n 'disabled': disabled,\n 'centered': centered\n }\"\n (click)=\"onClick()\">\n <ng-content></ng-content>\n</div>\n","import {\n Input,\n Output,\n Component,\n EventEmitter,\n} from '@angular/core';\n\nconst DEFAULT_OPTION_1 = 'Yes';\nconst DEFAULT_OPTION_2 = 'No';\n\n@Component({\n selector: 'vui-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.scss'],\n standalone: false\n})\nexport class DialogComponent {\n @Input() text: string;\n @Input() visible: boolean;\n @Input() option1Text: string;\n @Input() option2Text: string;\n @Input() closeOnCurtain: boolean;\n @Output() closed: EventEmitter<void>;\n @Output() option1Selected: EventEmitter<void>;\n @Output() option2Selected: EventEmitter<void>;\n\n public constructor() {\n this.visible = false;\n this.closeOnCurtain = false;\n this.text = '';\n this.option1Text = DEFAULT_OPTION_1;\n this.option2Text = DEFAULT_OPTION_2;\n this.closed = new EventEmitter<void>();\n this.option1Selected = new EventEmitter<void>();\n this.option2Selected = new EventEmitter<void>();\n }\n\n public onClosed(): void {\n if (this.closeOnCurtain) {\n this.closed.emit();\n }\n }\n\n public onOptionSelect(option: number): void {\n if (option === 1) {\n this.option1Selected.emit();\n } else if (option === 2) {\n this.option2Selected.emit();\n }\n }\n}\n","<vui-modal [visible]=\"visible\" (closed)=\"onClosed()\">\n <vui-card>\n <vui-view padding=\"1rem 0.75rem\" class=\"dialog-wrapper\" alignItems=\"center\">\n <vui-text padding=\"0.5rem 0.5rem 1rem 0.5rem\" size=\"large\" align=\"center\">{{ text }}</vui-text>\n <vui-view flexDirection=\"row\" columnGap=\"0.5rem\">\n <vui-button (clicked)=\"onOptionSelect(1)\">{{ option1Text }}</vui-button>\n <vui-button (clicked)=\"onOptionSelect(2)\">{{ option2Text }}</vui-button>\n </vui-view>\n </vui-view>\n </vui-card>\n</vui-modal>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'vui-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss'],\n standalone: false\n})\nexport class HeaderComponent {\n @Input() height: string;\n\n public constructor() {\n this.height = '3rem';\n }\n}\n","<vui-view\n width=\"100vw\"\n [height]=\"height\"\n margin=\"0\"\n flexDirection=\"row\"\n alignItems=\"center\"\n padding=\"0 1rem\">\n <ng-content></ng-content>\n</vui-view>\n","import { Observable } from 'rxjs';\nimport { Component, Input } from '@angular/core';\nimport { Theme, ThemeService } from '../../../services/theme.service';\n\n@Component({\n selector: 'vui-sidebar',\n templateUrl: './sidebar.component.html',\n styleUrls: ['./sidebar.component.scss'],\n standalone: false\n})\nexport class SidebarComponent {\n @Input() width: string;\n @Input() headerHeight: string;\n\n public theme: Observable<Theme>;\n\n public constructor(\n private themeService: ThemeService,\n ) {\n this.width = '15rem';\n this.headerHeight = '0px';\n this.theme = this.themeService.theme.asObservable();\n }\n}\n","<vui-view\n [width]=\"width\"\n [scrollable]=\"true\"\n alignItems=\"stretch\"\n justifyContent=\"flex-start\"\n [minHeight]=\"'calc(100vh - ' + headerHeight + ')'\"\n [backgroundColor]=\"'var(--vui-color-background-lighter)'\">\n <ng-content></ng-content>\n</vui-view>\n","import {\n Input,\n Output,\n Component,\n EventEmitter,\n} from '@angular/core';\n\nconst DEFAULT_CONFIRM = 'OK';\n\n@Component({\n selector: 'vui-message',\n templateUrl: './message.component.html',\n styleUrls: ['./message.component.scss'],\n standalone: false\n})\nexport class MessageComponent {\n @Input() text: string;\n @Input() visible: boolean;\n @Input() confirmText: string;\n @Input() closeOnCurtain: boolean;\n @Output() closed: EventEmitter<void>;\n\n public constructor() {\n this.visible = false;\n this.closeOnCurtain = false;\n this.text = '';\n this.confirmText = DEFAULT_CONFIRM;\n this.closed = new EventEmitter<void>();\n }\n\n public onClosed(): void {\n if (this.closeOnCurtain) {\n this.closed.emit();\n }\n }\n\n public onConfirm(): void {\n this.closed.emit();\n }\n}\n","<vui-modal [visible]=\"visible\" (closed)=\"onClosed()\">\n <vui-card>\n <vui-view padding=\"1rem 0.75rem\" class=\"message-wrapper\" alignItems=\"stretch\">\n <vui-text padding=\"0.5rem 0.5rem 1rem 0.5rem\" size=\"large\" align=\"center\">{{ text }}</vui-text>\n <vui-view flexDirection=\"row\" justifyContent=\"center\">\n <vui-button (clicked)=\"onConfirm()\">{{ confirmText }}</vui-button>\n </vui-view>\n </vui-view>\n </vui-card>\n</vui-modal>\n","/* eslint-disable @typescript-eslint/no-empty-function */\nimport { Component, Input } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'vui-icon-input',\n templateUrl: './icon-input.component.html',\n styleUrls: ['./icon-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: IconInputComponent,\n multi: true,\n },\n ],\n standalone: false\n})\nexport class IconInputComponent implements ControlValueAccessor {\n @Input() icon?: string;\n\n public control: FormControl<string>;\n\n public onTouch: (value: string) => void;\n public onChange: (value: string) => void;\n\n set value(value: string){\n if (value !== this.control.value) {\n this.control.setValue(value); \n }\n this.onChange(value);\n this.onTouch(value);\n }\n\n public constructor() {\n this.control = new FormControl<string>('', { nonNullable: true });\n this.control.valueChanges.subscribe((value) => {\n this.writeValue(value);\n });\n this.onTouch = () => {};\n this.onChange = () => {};\n }\n\n public writeValue(value: string): void {\n this.value = value;\n }\n\n public registerOnChange(onChange: (value: string) => void): void {\n this.onChange = onChange;\n }\n\n public registerOnTouched(onTouched: (value: string) => void): void {\n this.onTouch = onTouched;\n }\n}\n","<vui-view\n class=\"icon-input\"\n flexDirection=\"row\"\n width=\"100%\"\n [relative]=\"true\"\n justifyContent=\"stretch\">\n @if (icon) {\n <vui-view class=\"icon\" alignItems=\"center\" justifyContent=\"center\" height=\"2rem\" width=\"2rem\" padding=\"0.1rem 0 0 0\">\n <vui-icon size=\"button\" [icon]=\"icon\"></vui-icon>\n </vui-view>\n }\n <vui-input class=\"input\" padding=\"0.5rem 0.5rem 0.5rem 1.75rem\" [formControl]=\"control\" type=\"text\"></vui-input>\n</vui-view>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\nconst POSSIBLE_COLORS = ['#D22B2B', '#50C878', '#0096FF', '#FCF55F', '#FF5F1F', '#7F00FF', '#9A9A9A', '#000000'];\n\n@Component({\n selector: 'vui-color-selector',\n templateUrl: './color-selector.component.html',\n styleUrls: ['./color-selector.component.scss'],\n standalone: false\n})\nexport class ColorSelectorComponent {\n @Input() selectedColor?: string;\n @Output() selected: EventEmitter<string>;\n\n public availableColors: string[];\n\n constructor() {\n this.availableColors = POSSIBLE_COLORS;\n this.selected = new EventEmitter<string>();\n }\n\n public onSelectColor(color: string): void {\n this.selected.emit(color);\n }\n}\n","<vui-view flexDirection=\"row\" columnGap=\"0.25rem\" alignItems=\"center\">\n @for (color of availableColors; track color) {\n <div\n (click)=\"onSelectColor(color)\"\n [ngStyle]=\"{'backgroundColor': color}\"\n [ngClass]=\"{'selected': selectedColor === color}\"\n class=\"color\">\n </div>\n }\n</vui-view>\n","/* eslint-disable @typescript-eslint/no-empty-function */\nimport { Component, Input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nconst DEFAULT_VALUE = '#0096FF';\n\n@Component({\n selector: 'vui-color-input',\n templateUrl: './color-input.component.html',\n styleUrls: ['./color-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: ColorInputComponent,\n multi: true,\n },\n ],\n standalone: false\n})\nexport class ColorInputComponent implements ControlValueAccessor {\n @Input() small?: boolean;\n\n public colorValue: string;\n public colorSelectorVisible: boolean; \n\n public onTouch: (value: string) => void;\n public onChange: (value: string) => void;\n\n public set value(value: string){\n if (value !== this.colorValue) {\n this.colorValue = value;\n }\n this.onTouch(value);\n this.onChange(value);\n }\n\n public constructor() {\n this.colorValue = DEFAULT_VALUE;\n this.colorSelectorVisible = false;\n this.onTouch = () => {};\n this.onChange = () => {};\n }\n\n public onColorSelect(value: string): void {\n this.writeValue(value);\n this.toggleSelectorVisible(false);\n }\n\n public writeValue(value: string): void {\n this.value = value;\n }\n\n public registerOnChange(onChange: (value: string) => void): void {\n this.onChange = onChange;\n }\n\n public registerOnTouched(onTouched: (value: string) => void): void {\n this.onTouch = onTouched;\n }\n\n public toggleSelectorVisible(value: boolean): void {\n this.colorSelectorVisible = value;\n }\n}\n","<vui-view [relative]=\"true\">\n <div (click)=\"toggleSelectorVisible(true)\" [ngClass]=\"{'small': small}\" [ngStyle]=\"{'backgroundColor': colorValue}\" class=\"color\"></div>\n <vui-modal [visible]=\"colorSelectorVisible\">\n <div class=\"selector-wrapper\">\n <vui-color-selector\n [selectedColor]=\"colorValue\"\n (selected)=\"onColorSelect($event)\">\n </vui-color-selector>\n </div>\n </vui-modal>\n</vui-view>\n","/* eslint-disable @typescript-eslint/no-empty-function */\nimport {\n Input,\n Output,\n Component,\n EventEmitter,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport {\n NG_VALUE_ACCESSOR,\n ControlValueAccessor,\n} from '@angular/forms';\n\n@Component({\n selector: 'vui-toggle-input',\n templateUrl: './toggle-input.component.html',\n styleUrls: ['./toggle-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: ToggleInputComponent,\n multi: true,\n },\n ],\n standalone: false\n})\nexport class ToggleInputComponent implements ControlValueAccessor {\n @Input() disabled?: boolean;\n @Output() changed: EventEmitter<boolean>;\n\n public activeValue: boolean;\n\n public onTouch: (value: boolean) => void;\n public onChange: (value: boolean) => void;\n\n set value(value: boolean){\n if (value !== this.activeValue) {\n this.activeValue = value;\n }\n this.onChange(value);\n this.onTouch(value);\n }\n\n constructor() {\n this.activeValue = false;\n this.onTouch = () => {};\n this.onChange = () => {};\n this.changed = new EventEmitter<boolean>();\n }\n\n public onToggle(): void {\n if (this.disabled) {\n return;\n }\n this.activeValue = !this.activeValue;\n this.writeValue(this.activeValue);\n }\n\n public writeValue(value: boolean): void {\n this.value = value;\n this.onChange(value);\n this.changed.emit(value);\n }\n\n public registerOnChange(onChange: (value: boolean) => void): void {\n this.onChange = onChange;\n }\n\n public registerOnTouched(onTouched: (value: boolean) => void): void {\n this.onTouch = onTouched;\n }\n}\n","<div (click)=\"onToggle()\" class=\"toggle\" [ngClass]=\"{'active': activeValue, 'disabled': disabled}\">\n <div class=\"toggle-indicator\"></div>\n</div>\n","/* eslint-disable @typescript-eslint/no-empty-function */\nimport { Component, Input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { VynilUITextSize } from '../../basic/text/text.component';\n\nconst DEFAULT_PADDING = '0.5rem';\nconst DEFAULT_EMPTY_TEXT = 'None';\n\nexport interface SelectInputOption<T> {\n text: string,\n value: T,\n}\n\n@Component({\n selector: 'vui-select-input',\n templateUrl: './select-input.component.html',\n styleUrls: ['./select-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SelectInputComponent,\n multi: true,\n },\n ],\n standalone: false\n})\nexport class SelectInputComponent<T> implements ControlValueAccessor {\n @Input() textSize: string;\n @Input() flex: string;\n @Input() width: string;\n @Input() maxWidth: string;\n @Input() minWidth: string;\n @Input() margin: string;\n @Input() padding: string;\n @Input() emptyText: string;\n @Input() options: SelectInputOption<T>[];\n\n public selectedValue: SelectInputOption<T> | null;\n public dropdownVisible: boolean;\n public onTouch: (value: SelectInputOption<T>) => void;\n public onChange: (value: SelectInputOption<T>) => void;\n\n set value(value: SelectInputOption<T>){\n this.selectedValue = value;\n this.onChange(value);\n this.onTouch(value);\n }\n\n constructor() {\n this.textSize = VynilUITextSize.Medium;\n this.flex = 'none';\n this.width = 'auto';\n this.maxWidth = 'none';\n this.margin = '0';\n this.minWidth = '10rem';\n this.padding = DEFAULT_PADDING;\n this.options = [];\n this.selectedValue = null;\n this.dropdownVisible = false;\n this.emptyText = DEFAULT_EMPTY_TEXT;\n this.onTouch = () => {};\n this.onChange = () => {};\n }\n\n public writeValue(value: SelectInputOption<T>): void {\n this.value = value;\n }\n\n public registerOnChange(onChange: (value: SelectInputOption<T>) => void): void {\n this.onChange = onChange;\n }\n\n public registerOnTouched(onTouched: (value: SelectInputOption<T>) => void): void {\n this.onTouch = onTouched;\n }\n\n public onToggleDropdown(value?: boolean): void {\n this.dropdownVisible = value !== undefined ? value : !this.dropdownVisible;\n }\n\n public onSelectOption(option: SelectInputOption<T>): void {\n this.value = option || null;\n this.onToggleDropdown(false);\n }\n\n public identify(index: number, option: SelectInputOption<T>): T {\n return option.value;\n }\n}\n","<vui-view [relative]=\"true\" class=\"select\" [width]=\"width\" [maxWidth]=\"maxWidth\">\n <div\n class=\"current-value\"\n (click)=\"onToggleDropdown()\"\n [ngClass]=\"textSize + (dropdownVisible ? ' open' : '')\"\n [ngStyle]=\"{\n 'min-width': minWidth,\n 'margin': margin,\n 'padding': padding\n }\">\n <span>{{ selectedValue?.text || emptyText }}</span>\n <vui-icon\n class=\"icon\"\n icon=\"caret\"\n size=\"medium\"\n color=\"var(--vui-color-primary)\"\n [rotation]=\"180\"\n [ngClass]=\"textSize\">\n </vui-icon>\n </div>\n @if (dropdownVisible) {\n <div class=\"dropdown\" [ngClass]=\"textSize\">\n <vui-view rowGap=\"0.1rem\" justifyContent=\"stretch\" alignItems=\"stretch\">\n <div\n (click)=\"onToggleDropdown(false)\"\n class=\"option unselectable\"\n [ngClass]=\"textSize\">\n {{ selectedValue?.text || emptyText }}\n <vui-icon\n icon=\"caret\"\n size=\"medium\"\n class=\"icon open\"\n color=\"var(--vui-color-primary-lighter)\"\n [ngClass]=\"textSize\">\n </vui-icon>\n </div>\n @for (option of options; track identify($index, option)) {\n <option\n (click)=\"onSelectOption(option)\"\n [ngClass]=\"textSize\"\n class=\"option\">\n {{ option.text }}\n </option>\n }\n </vui-view>\n </div>\n }\n</vui-view>\n","/* eslint-disable @typescript-eslint/no-empty-function */\nimport {\n Input,\n Output,\n Component,\n EventEmitter,\n} from '@angular/core';\nimport {\n FormControl,\n NG_VALUE_ACCESSOR,\n ControlValueAccessor,\n} from '@angular/forms';\n\nconst DEFAULT_HEIGHT = '10rem';\n\n@Component({\n selector: 'vui-image-url-input',\n templateUrl: './image-url-input.component.html',\n styleUrls: ['./image-url-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: ImageURLInputComponent,\n multi: true,\n },\n ],\n standalone: false\n})\nexport class ImageURLInputComponent implements ControlValueAccessor {\n @Input() width?: string;\n @Input() height?: string;\n @Output() changed: EventEmitter<string>;\n\n public control: FormControl<string | null>;\n\n public onTouch: (value: string) => void;\n public onChange: (value: string) => void;\n\n public get value(): string {\n return this.control.value || '';\n }\n\n public set value(value: string){\n if (value !== this.control.value) {\n this.control.setValue(value);\n }\n this.onChange(value);\n this.onTouch(value);\n }\n\n constructor() {\n this.height = DEFAULT_HEIGHT;\n this.control = new FormControl<string>('');\n this.changed = new EventEmitter<string>();\n this.control.valueChanges.subscribe((value: string | null) => {\n if (value) {\n this.writeValue(value);\n }\n });\n this.onTouch = () => {};\n this.onChange = () => {};\n }\n\n public writeValue(value: string): void {\n this.value = value;\n }\n\n public registerOnChange(onChange: (value: string) => void): void {\n this.onChange = onChange;\n }\n\n public registerOnTouched(onTouched: (value: string) => void): void {\n this.onTouch = onTouched;\n }\n}\n","<vui-view class=\"image-input-wrapper\" alignItems=\"stretch\">\n <vui-view class=\"preview\" [minHeight]=\"height\" [relative]=\"true\" alignItems=\"stretch\" overflow=\"hidden\">\n @if (value) {\n <vui-image\n [url]=\"value\"\n [width]=\"width\"\n [height]=\"height\"\n backgroundSize=\"cover\">\n </vui-image>\n }\n </vui-view>\n <vui-input flex=\"1\" [formControl]=\"control\"></vui-input>\n</vui-view>\n","import {\n Input,\n Component,\n} from '@angular/core';\n\n@Component({\n selector: 'vui-navigation-link',\n templateUrl: './navigation-link.component.html',\n styleUrls: ['./navigation-link.component.scss'],\n standalone: false\n})\nexport class NavigationLinkComponent {\n @Input() path?: string;\n}\n","<vui-link [path]=\"path\" path=\"text\">\n <div class=\"navigation-link\">\n <vui-view\n width=\"100%\"\n height=\"2rem\"\n padding=\"0 1rem\"\n alignItems=\"flex-start\"\n justifyContent=\"center\">\n <vui-text size=\"large\">\n <ng-content></ng-content>\n </vui-text>\n </vui-view>\n </div>\n</vui-link>\n","/* eslint-disable @typescript-eslint/no-empty-function */\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR, Validators } from '@angular/forms';\n\n@Component({\n selector: 'vui-image-array-input',\n templateUrl: './image-array-input.component.html',\n styleUrls: ['./image-array-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: ImageArrayInputComponent,\n multi: true,\n },\n ],\n standalone: false\n})\nexport class ImageArrayInputComponent implements ControlValueAccessor {\n @Input() roundEntries: boolean;\n @Output() changed: EventEmitter<string>;\n\n public values: string[];\n public imageUrlControl: FormControl<string | null>;\n\n public onTouch: (value: string[]) => void;\n public onChange: (value: string[]) => void;\n \n set value(value: string[]){\n if (value) {\n this.values = [...value];\n } else {\n this.values = [];\n }\n this.onChange(value || []);\n this.onTouch(value || []);\n }\n\n public constructor() {\n this.values = [];\n this.roundEntries = true;\n this.changed = new EventEmitter<string>();\n this.imageUrlControl = new FormControl<string | null>('', Validators.required);\n this.onTouch = () => {};\n this.onChange = () => {};\n }\n\n public writeValue(value: string[]): void {\n this.value = value;\n }\n\n public registerOnChange(onChange: (value: string[]) => void): void {\n this.onChange = onChange;\n }\n\n public registerOnTouched(onTouched: (value: string[]) => void): void {\n this.onTouch = onTouched;\n }\n\n public onAdd(): void {\n if(this.imageUrlControl.value) {\n this.value = [...this.values, this.imageUrlControl.value];\n this.imageUrlControl.setValue('');\n }\n }\n\n public onRemove(removed: number): void {\n this.value = this.values.filter((_entry: string, index: number) => index !== removed);\n }\n}\n","<vui-card cardStyle=\"dark\" class=\"image-array-input\">\n <vui-card class=\"variants-box\">\n <vui-view flexDirection=\"row\" [wrap]=\"true\" [scrollable]=\"true\" justifyContent=\"flex-start\" columnGap=\"0.75rem\" rowGap=\"0.5rem\">\n @for (image of values; track image; let i = $index) {\n <vui-view class=\"variant\">\n <vui-image\n [url]=\"image\"\n [circle]=\"roundEntries\"\n backgroundSize=\"cover\"\n [useBackgroundImage]=\"true\"\n width=\"50px\"\n height=\"50px\">\n </vui-image>\n <div (click)=\"onRemove(i)\" class=\"icon-float\">\n <vui-icon icon=\"remove\"></vui-icon>\n </div>\n </vui-view>\n }\n </vui-view>\n </vui-card>\n <vui-view padding=\"0 0.5rem\" rowGap=\"0.25rem\" alignItems=\"center\">\n <vui-text size=\"medium\">Image URL</vui-text>\n <vui-view flexDirection=\"row\" justifyContent=\"space-between\" columnGap=\"0.25rem\" alignItems=\"center\">\n <vui-view alignItems=\"center\">\n <vui-input class=\"add-input\" [formControl]=\"imageUrlControl\"></vui-input>\n </vui-view>\n <vui-button class=\"add-button\" (clicked)=\"onAdd()\">\n <vui-icon size=\"button\" icon=\"add\"></vui-icon>\n <vui-text size=\"large\">Add</vui-text>\n </vui-button>\n </vui-view>\n </vui-view>\n</vui-card>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'vui-navigation-group',\n templateUrl: './navigation-group.component.html',\n styleUrls: ['./navigation-group.component.scss'],\n standalone: false\n})\nexport class NavigationGroupComponent {\n @Input() name?: string;\n @Input() open?: boolean;\n\n public constructor() {\n this.open = false;\n }\n\n public onToggle(): void {\n this.open = !this.open;\n }\n}\n","<vui-view class=\"navigation-group\" alignItems=\"stretch\">\n <vui-view (click)=\"onToggle()\" class=\"navigation-group-header\" flexDirection=\"row\" alignItems=\"stretch\" justifyContent=\"space-between\" padding=\"0 1rem\">\n <vui-view alignItems=\"flex-start\" justifyContent=\"center\" height=\"3rem\">\n <vui-text size=\"xlarge\">{{ name }}</vui-text>\n </vui-view>\n <vui-icon icon=\"caret\" [rotation]=\"open ? 0 : 180\"></vui-icon>\n </vui-view>\n @if (open) {\n <div class=\"navigation-group-content\">\n <ng-content></ng-content>\n </div>\n }\n</vui-view>\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DownloadService {\n public downloadJSON(fileName: string, dataJSON: string): void {\n const anchor = document.createElement('a');\n anchor.href = URL.createObjectURL( new Blob([dataJSON], { type:'text/json' }) );\n anchor.download = fileName + '.json';\n anchor.click();\n }\n}\n","import { Subscription } from 'rxjs';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UtilityService {\n \n public createId() : string {\n return this.generateFromSequence('xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx');\n }\n\n public createShortId() : string {\n return this.generateFromSequence('xxxxxxxx');\n }\n\n public camelCaseToCapitalCase(entry: string): string {\n const result = entry.replace(/([A-Z])/g, \" $1\");\n return result.charAt(0).toUpperCase() + result.slice(1);\n }\n\n public clearSubscriptions(subscriptions: Subscription[]): Subscription[] {\n subscriptions.forEach((subscription: Subscription) => {\n if (!subscription.closed) {\n subscription.unsubscribe();\n }\n });\n return [];\n }\n\n public findById<T>(id: string, array: { id: string }[]): { id: string } | undefined {\n const items = array.filter((entry: { id: string }) => entry.id === id);\n return items && items.length > 0 ? items[0] : undefined;\n }\n\n public compare<T>(value1: T, value2: T): boolean {\n if (typeof(value1) !== typeof(value2)) return false;\n if (Array.isArray(value1)) {\n return this.compareArrays(value1 as unknown[], value2 as unknown[]);\n } else if (typeof(value1) === 'object') {\n return this.compareObjects(value1 as object, value2 as object);\n } else {\n return value1 === value2;\n }\n }\n\n private compareObjects<T extends object>(object1: T, object2: T): boolean {\n let equal = true;\n const a = object1 as { [key: string]: unknown };\n const b = object2 as { [key: string]: unknown };\n const keys = Object.keys(object1);\n for(const key of keys) {\n if (typeof(a[key]) !== typeof(b[key])) {\n equal = false;\n break;\n }\n equal &&= this.compare(a[key], b[key]);\n }\n return equal;\n }\n\n private compareArrays<T>(array1: T[], array2: T[]): boolean {\n if (array1.length !== array2.length) return false;\n for (const i in array1) {\n if (array1[i] !== array2[i]) return false;\n }\n return true;\n }\n\n private generateFromSequence(sequence: string) : string {\n let dt: number = new Date().getTime();\n const generated: string = sequence.replace(/[xy]/g, (c) =>\n {\n const r: number = (dt + Math.random() * 16) % 16 | 0;\n dt = Math.floor(dt / 16);\n return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16);\n });\n return generated;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { InitialsPipe } from './pipes/initials.pipe';\n\nimport { TextComponent } from './components/basic/text/text.component';\nimport { PageComponent } from './components/layout/page/page.component';\nimport { ViewComponent } from './components/layout/view/view.component';\nimport { CardComponent } from './components/layout/card/card.component';\nimport { IconComponent } from './components/images/icon/icon.component';\nimport { InputComponent } from './components/inputs/input/input.component';\nimport { ImageComponent } from './components/images/image/image.component';\nimport { ModalComponent } from './components/modals/modal/modal.component';\nimport { LinkComponent } from './components/navigation/link/link.component';\nimport { ButtonComponent } from './components/basic/button/button.component';\nimport { DialogComponent } from './components/modals/dialog/dialog.component';\nimport { HeaderComponent } from './components/layout/header/header.component';\nimport { SidebarComponent } from './components/layout/sidebar/sidebar.component';\nimport { MessageComponent } from './components/modals/message/message.component';\nimport { IconInputComponent } from './components/inputs/icon-input/icon-input.component';\nimport { ColorInputComponent } from './components/inputs/color-input/color-input.component';\nimport { ToggleInputComponent } from './components/inputs/toggle-input/toggle-input.component';\nimport { SelectInputComponent } from './components/inputs/select-input/select-input.component';\nimport { ImageURLInputComponent } from './components/inputs/image-url-input/image-url-input.component';\nimport { ColorSelectorComponent } from './components/selectors/color-selector/color-selector.component';\nimport { NavigationLinkComponent } from './components/navigation/navigation-link/navigation-link.component';\nimport { ImageArrayInputComponent } from './components/inputs/image-array-input/image-array-input.component';\nimport { NavigationGroupComponent } from './components/navigation/navigation-group/navigation-group.component';\n\nconst Components = [\n // Basic\n ButtonComponent,\n TextComponent,\n // Images\n ImageComponent,\n IconComponent,\n // Forms\n InputComponent,\n IconInputComponent,\n ColorInputComponent,\n SelectInputComponent,\n ToggleInputComponent,\n ImageURLInputComponent,\n ImageArrayInputComponent,\n // Layout\n ViewComponent,\n CardComponent,\n PageComponent,\n HeaderComponent,\n SidebarComponent,\n // Modals\n ModalComponent,\n MessageComponent,\n DialogComponent,\n // Navigation\n LinkComponent,\n NavigationLinkComponent,\n NavigationGroupComponent,\n // Selectors\n ColorSelectorComponent,\n];\n\nconst Pipes = [\n InitialsPipe,\n];\n\n@NgModule({\n declarations: [\n ...Pipes,\n ...Components,\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n BrowserAnimationsModule,\n ],\n exports: [\n ...Pipes,\n ...Components,\n ]\n})\nexport class VynilUIModule { }\n","/*\n * Public API Surface of vynil-ui\n */\n\nexport { InitialsPipe } from './lib/pipes/initials.pipe';\n\nexport { TextComponent } from './lib/components/basic/text/text.component';\nexport { PageComponent } from './lib/components/layout/page/page.component';\nexport { ViewComponent } from './lib/components/layout/view/view.component';\nexport { CardComponent } from './lib/components/layout/card/card.component';\nexport { IconComponent } from './lib/components/images/icon/icon.component';\nexport { InputComponent } from './lib/components/inputs/input/input.component';\nexport { ImageComponent } from './lib/components/images/image/image.component';\nexport { ModalComponent } from './lib/components/modals/modal/modal.component';\nexport { LinkComponent } from './lib/components/navigation/link/link.component';\nexport { ButtonComponent } from './lib/components/basic/button/button.component';\nexport { DialogComponent } from './lib/components/modals/dialog/dialog.component';\nexport { HeaderComponent } from './lib/components/layout/header/header.component';\nexport { SidebarComponent } from './lib/components/layout/sidebar/sidebar.component';\nexport { MessageComponent } from './lib/components/modals/message/message.component';\nexport { IconInputComponent } from './lib/components/inputs/icon-input/icon-input.component';\nexport { ColorInputComponent } from './lib/components/inputs/color-input/color-input.component';\nexport { ToggleInputComponent } from './lib/components/inputs/toggle-input/toggle-input.component';\nexport { SelectInputComponent } from './lib/components/inputs/select-input/select-input.component';\nexport { ImageURLInputComponent } from './lib/components/inputs/image-url-input/image-url-input.component';\nexport { ColorSelectorComponent } from './lib/components/selectors/color-selector/color-selector.component';\nexport { NavigationLinkComponent } from './lib/components/navigation/navigation-link/navigation-link.component';\nexport { ImageArrayInputComponent } from './lib/components/inputs/image-array-input/image-array-input.component';\nexport { NavigationGroupComponent } from './lib/components/navigation/navigation-group/navigation-group.component';\n\nexport * from './lib/services/download.service';\nexport * from './lib/services/routing.service';\nexport * from './lib/services/theme.service';\nexport * from './lib/services/utility.service';\nexport * from './lib/vynil-ui.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["DEFAULT_PADDING","i1.ThemeService","i2","i1","i1.RoutingService","i1.ButtonComponent","i2.TextComponent","i3.ViewComponent","i4.CardComponent","i5.ModalComponent","i1.ViewComponent","i2.ViewComponent","i2.IconComponent","i3.InputComponent","i4.ViewComponent","i3.ModalComponent","i4.ColorSelectorComponent","i3.IconComponent","i2.ImageComponent","i1.TextComponent","i3.LinkComponent","i2.ButtonComponent","i3.TextComponent","i4.ImageComponent","i5.IconComponent","i6.InputComponent","i7.ViewComponent","i8.CardComponent"],"mappings":"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"}
1
+ {"version":3,"file":"vynil-ui.mjs","sources":["../../../projects/vynil-ui/src/lib/pipes/initials.pipe.ts","../../../projects/vynil-ui/src/lib/components/basic/text/text.component.ts","../../../projects/vynil-ui/src/lib/components/basic/text/text.component.html","../../../projects/vynil-ui/src/lib/services/theme.service.ts","../../../projects/vynil-ui/src/lib/components/layout/page/page.component.ts","../../../projects/vynil-ui/src/lib/components/layout/page/page.component.html","../../../projects/vynil-ui/src/lib/components/layout/view/view.component.ts","../../../projects/vynil-ui/src/lib/components/layout/view/view.component.html","../../../projects/vynil-ui/src/lib/components/layout/card/card.component.ts","../../../projects/vynil-ui/src/lib/components/layout/card/card.component.html","../../../projects/vynil-ui/src/lib/components/images/icon/icon.component.ts","../../../projects/vynil-ui/src/lib/components/images/icon/icon.component.html","../../../projects/vynil-ui/src/lib/components/inputs/input/input.component.ts","../../../projects/vynil-ui/src/lib/components/inputs/input/input.component.html","../../../projects/vynil-ui/src/lib/components/images/image/image.component.ts","../../../projects/vynil-ui/src/lib/components/images/image/image.component.html","../../../projects/vynil-ui/src/lib/components/modals/modal/modal.component.ts","../../../projects/vynil-ui/src/lib/components/modals/modal/modal.component.html","../../../projects/vynil-ui/src/lib/services/routing.service.ts","../../../projects/vynil-ui/src/lib/components/navigation/link/link.component.ts","../../../projects/vynil-ui/src/lib/components/navigation/link/link.component.html","../../../projects/vynil-ui/src/lib/components/basic/button/button.component.ts","../../../projects/vynil-ui/src/lib/components/basic/button/button.component.html","../../../projects/vynil-ui/src/lib/components/modals/dialog/dialog.component.ts","../../../projects/vynil-ui/src/lib/components/modals/dialog/dialog.component.html","../../../projects/vynil-ui/src/lib/components/layout/header/header.component.ts","../../../projects/vynil-ui/src/lib/components/layout/header/header.component.html","../../../projects/vynil-ui/src/lib/components/layout/sidebar/sidebar.component.ts","../../../projects/vynil-ui/src/lib/components/layout/sidebar/sidebar.component.html","../../../projects/vynil-ui/src/lib/components/modals/message/message.component.ts","../../../projects/vynil-ui/src/lib/components/modals/message/message.component.html","../../../projects/vynil-ui/src/lib/components/inputs/icon-input/icon-input.component.ts","../../../projects/vynil-ui/src/lib/components/inputs/icon-input/icon-input.component.html","../../../projects/vynil-ui/src/lib/components/selectors/color-selector/color-selector.component.ts","../../../projects/vynil-ui/src/lib/components/selectors/color-selector/color-selector.component.html","../../../projects/vynil-ui/src/lib/components/inputs/color-input/color-input.component.ts","../../../projects/vynil-ui/src/lib/components/inputs/color-input/color-input.component.html","../../../projects/vynil-ui/src/lib/components/inputs/toggle-input/toggle-input.component.ts","../../../projects/vynil-ui/src/lib/components/inputs/toggle-input/toggle-input.component.html","../../../projects/vynil-ui/src/lib/components/inputs/select-input/select-input.component.ts","../../../projects/vynil-ui/src/lib/components/inputs/select-input/select-input.component.html","../../../projects/vynil-ui/src/lib/components/inputs/image-url-input/image-url-input.component.ts","../../../projects/vynil-ui/src/lib/components/inputs/image-url-input/image-url-input.component.html","../../../projects/vynil-ui/src/lib/components/navigation/navigation-link/navigation-link.component.ts","../../../projects/vynil-ui/src/lib/components/navigation/navigation-link/navigation-link.component.html","../../../projects/vynil-ui/src/lib/components/inputs/image-array-input/image-array-input.component.ts","../../../projects/vynil-ui/src/lib/components/inputs/image-array-input/image-array-input.component.html","../../../projects/vynil-ui/src/lib/components/navigation/navigation-group/navigation-group.component.ts","../../../projects/vynil-ui/src/lib/components/navigation/navigation-group/navigation-group.component.html","../../../projects/vynil-ui/src/lib/services/download.service.ts","../../../projects/vynil-ui/src/lib/services/utility.service.ts","../../../projects/vynil-ui/src/lib/vynil-ui.module.ts","../../../projects/vynil-ui/src/public-api.ts","../../../projects/vynil-ui/src/vynil-ui.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\n\nconst PIPE_KEY = 'initials';\nconst UNKNOWN_VALUE = 'N/A';\n\n@Pipe({\n name: PIPE_KEY,\n standalone: false\n})\nexport class InitialsPipe implements PipeTransform {\n transform(value: string): string {\n if (!value) {\n return UNKNOWN_VALUE;\n }\n const nameParts = value.split(' ');\n let initials = nameParts[0].charAt(0);\n if (nameParts.length < 2) {\n return initials.toUpperCase();\n }\n initials += nameParts[nameParts.length - 1].charAt(0);\n return initials.toUpperCase();\n }\n}\n","import { Component, Input } from '@angular/core';\n\nexport enum VynilUITextSize {\n ExtraSmall = 'xsmall',\n Small = 'small',\n Medium = 'medium',\n Large = 'large',\n Header3 = 'header3',\n Header2 = 'header2',\n Header1 = 'header1',\n}\n\n@Component({\n selector: 'vui-text',\n templateUrl: './text.component.html',\n styleUrls: ['./text.component.scss'],\n standalone: false\n})\nexport class TextComponent {\n @Input() size?: string;\n @Input() color?: string;\n @Input() align?: string;\n @Input() weight?: string;\n @Input() padding?: string;\n}\n","<div\n class=\"text\"\n [ngClass]=\"size || ''\"\n [ngStyle]=\"{\n 'color': color || 'auto',\n 'padding': padding || '0',\n 'text-align': align || 'left',\n 'font-weight': weight || '400'\n }\">\n <ng-content></ng-content>\n</div>\n","import { BehaviorSubject } from 'rxjs';\nimport { Injectable } from '@angular/core';\n\nexport interface Theme {\n variables: {\n border: number,\n radius: number;\n padding: number;\n transitionLength: number;\n colorContrastFactor: number,\n iconSizes: number[];\n fontSizes: number[];\n };\n colors: {\n text: string;\n primary: string;\n highlight: string;\n background: string;\n boxShadow: string;\n };\n}\n\nconst UNIT_REM = 'rem';\nconst UNIT_PIXEL = 'px';\nconst UNIT_SECONDS = 's';\nconst UNIT_PERCENTAGE = '%';\nconst ICON_SIZE_NAMES = ['s', 'button', 'm', 'l', 'xl'];\nconst FONT_SIZE_NAMES = ['xs', 's', 'm', 'l', 'xl', 'h3', 'h2', 'h1'];\nconst DEFAULT_THEME: Theme = {\n variables: {\n border: 2,\n radius: 1,\n padding: 1,\n transitionLength: 0.3,\n colorContrastFactor: 10,\n iconSizes: [0.75, 0.9, 1.5, 2.75, 5],\n fontSizes: [10, 12, 16, 20, 24, 42, 64, 92],\n },\n colors: {\n text: '#FFFFFF',\n primary: '#0EA5E9',\n highlight: '#FFFFFF',\n background: '#27272A',\n boxShadow: 'rgba(0, 0, 0, 0.45) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px',\n },\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ThemeService {\n public theme: BehaviorSubject<Theme>;\n\n public constructor() {\n this.theme = new BehaviorSubject<Theme>(DEFAULT_THEME);\n this.updateTheme(DEFAULT_THEME);\n }\n\n public updateTheme(themeChanges: Partial<Theme>): void {\n const root = document.querySelector(':root') as HTMLElement;\n if (root) {\n this.updateElementTheme(root, themeChanges);\n }\n this.theme.next({\n variables: {\n ...this.theme.value.variables,\n ...themeChanges.variables,\n },\n colors: {\n ...this.theme.value.colors,\n ...themeChanges.colors,\n }\n });\n }\n\n public updateElementTheme(element: HTMLElement, themeChanges: Partial<Theme>): void {\n if (element) {\n if (themeChanges.variables) {\n if (themeChanges.variables.border) {\n this.updateVariable(element, 'border', themeChanges.variables.border, UNIT_PIXEL);\n }\n if (themeChanges.variables.radius) {\n this.updateVariable(element, 'radius', themeChanges.variables.radius, UNIT_REM);\n }\n if (themeChanges.variables.padding) {\n this.updateVariable(element, 'padding', themeChanges.variables.padding, UNIT_REM);\n }\n if (themeChanges.variables.transitionLength) {\n this.updateVariable(element, 'transition-length', themeChanges.variables.padding, UNIT_SECONDS, true);\n }\n if (themeChanges.variables.iconSizes) {\n this.updateIconSizes(element, themeChanges.variables.iconSizes);\n }\n if (themeChanges.variables.fontSizes) {\n this.updateFontSizes(element, themeChanges.variables.fontSizes);\n }\n }\n if (themeChanges.colors) {\n const themeColors = themeChanges.colors as { [key: string]: string };\n Object.keys(themeColors)\n .forEach((key: string) => {\n if (key !== 'boxShadow') {\n this.updateColor(element, key, themeColors[key]);\n }\n });\n if (themeChanges.colors.boxShadow) {\n this.updateColor(element, 'box-shadow', themeChanges.colors.boxShadow, true);\n }\n }\n }\n }\n\n private updateVariable(element: HTMLElement, propertyName: string, value: number, unit: string, skipAlts?: boolean): void {\n element.style.setProperty('--vui-variable-' + propertyName, value + unit);\n if (!skipAlts) {\n element.style.setProperty('--vui-variable-' + propertyName + '-xs', (value / 4) + unit);\n element.style.setProperty('--vui-variable-' + propertyName + '-extra-small', (value / 4) + unit);\n element.style.setProperty('--vui-variable-' + propertyName + '-s', (value / 2) + unit);\n element.style.setProperty('--vui-variable-' + propertyName + '-small', (value / 2) + unit);\n element.style.setProperty('--vui-variable-' + propertyName + '-l', (value * 2) + unit);\n element.style.setProperty('--vui-variable-' + propertyName + '-large', (value * 2) + unit);\n element.style.setProperty('--vui-variable-' + propertyName + '-xl', (value * 4) + unit);\n element.style.setProperty('--vui-variable-' + propertyName + '-extra-large', (value * 4) + unit);\n }\n }\n\n private updateColor(element: HTMLElement, propertyName: string, value: string, skipAlts?: boolean): void {\n element.style.setProperty('--vui-color-' + propertyName, value);\n if (!skipAlts) {\n element.style.setProperty('--vui-color-' + propertyName + '-darker', 'color-mix(in srgb,' + value + ',#000 ' + this.theme.value.variables.colorContrastFactor + UNIT_PERCENTAGE);\n element.style.setProperty('--vui-color-' + propertyName + '-lighter', 'color-mix(in srgb,' + value + ',#FFF ' + this.theme.value.variables.colorContrastFactor + UNIT_PERCENTAGE);\n }\n }\n\n private updateIconSizes(element: HTMLElement, values: number[]): void {\n values.forEach((value: number, index: number) =>\n this.updateVariable(element, 'icon-size-' + ICON_SIZE_NAMES[index], value, UNIT_REM, true));\n }\n\n private updateFontSizes(element: HTMLElement, values: number[]): void {\n values.forEach((value: number, index: number) =>\n this.updateVariable(element, 'font-size-' + FONT_SIZE_NAMES[index], value, UNIT_PIXEL, true));\n }\n}\n","import { Observable } from 'rxjs';\nimport { Component, Input } from '@angular/core';\nimport { Theme, ThemeService } from '../../../services/theme.service';\n\nconst DEFAULT_PADDING = '2rem 3rem';\n\n@Component({\n selector: 'vui-page',\n templateUrl: './page.component.html',\n styleUrls: ['./page.component.scss'],\n standalone: false\n})\nexport class PageComponent {\n @Input() padding: string;\n @Input() background?: string;\n\n public theme: Observable<Theme>;\n\n public constructor(\n private themeService: ThemeService,\n ) {\n this.padding = DEFAULT_PADDING;\n this.theme = this.themeService.theme.asObservable();\n }\n}\n","<div class=\"page\"\n [ngClass]=\"{ 'background': !!background }\"\n [ngStyle]=\"{\n 'padding': padding,\n 'background-image': !!background ? 'url(/assets/' + background + ')' : 'none'\n }\">\n <ng-content></ng-content>\n</div>\n","import { Component, Input } from '@angular/core';\n\nconst VIEW_STYLE_INPUTS = [\n 'top',\n 'left',\n 'right',\n 'bottom',\n 'flex',\n 'width',\n 'height',\n 'maxWidth',\n 'maxHeight',\n 'minWidth',\n 'minHeight',\n 'overflow',\n 'margin',\n 'padding',\n 'rowGap',\n 'columnGap',\n 'position',\n 'borderRadius',\n 'backgroundColor',\n 'flexDirection',\n 'alignItems',\n 'justifyContent',\n]\n\n@Component({\n selector: 'vui-view',\n templateUrl: './view.component.html',\n styleUrls: ['./view.component.scss'],\n standalone: false\n})\nexport class ViewComponent {\n @Input() wrap: boolean;\n @Input() relative: boolean;\n @Input() scrollable: boolean;\n @Input() top?: string;\n @Input() left?: string;\n @Input() right?: string;\n @Input() bottom?: string;\n @Input() flex?: string;\n @Input() width?: string;\n @Input() height?: string;\n @Input() maxWidth?: string;\n @Input() maxHeight?: string;\n @Input() minWidth?: string;\n @Input() minHeight?: string;\n @Input() overflow?: string;\n @Input() margin?: string;\n @Input() padding?: string;\n @Input() rowGap?: string;\n @Input() columnGap?: string;\n @Input() position?: string;\n @Input() borderRadius?: string;\n @Input() backgroundColor?: string;\n @Input() flexDirection?: string;\n @Input() alignItems?: string;\n @Input() justifyContent?: string;\n\n public constructor() {\n this.wrap = false;\n this.relative = false;\n this.scrollable = false;\n }\n\n public get styleObject(): { [key: string]: string } {\n let styleObject: { [key: string]: string } = {};\n const componentObject = this as unknown as { [key: string]: string };\n VIEW_STYLE_INPUTS.forEach((propertyName: string) => {\n if (componentObject[propertyName]) {\n styleObject[propertyName] = componentObject[propertyName];\n }\n });\n return styleObject;\n }\n}\n","<div\n class=\"view\"\n [ngClass]=\"{\n 'wrap': wrap,\n 'relative': relative,\n 'scrollable': scrollable}\"\n [ngStyle]=\"styleObject\">\n <ng-content></ng-content>\n</div>\n","import { Component, Input } from '@angular/core';\n\nexport type VynilUICardStyle = 'default' | 'dark' | 'active';\n\n@Component({\n selector: 'vui-card',\n templateUrl: './card.component.html',\n styleUrls: ['./card.component.scss'],\n standalone: false\n})\nexport class CardComponent {\n @Input() hasTabs?: boolean;\n @Input() hasBorder?: boolean;\n @Input() hasOverflow: boolean;\n @Input() cardStyle: VynilUICardStyle;\n\n constructor() {\n this.hasOverflow = true;\n this.cardStyle = 'default';\n }\n}\n","<div\n class=\"card\"\n [ngClass]=\"{\n 'dark': cardStyle === 'dark',\n 'active': cardStyle === 'active',\n 'border': hasBorder,\n 'has-tabs': hasTabs\n }\">\n <ng-content></ng-content>\n</div>\n","import { Component, Input } from '@angular/core';\n\nexport enum VynilUIIconSize {\n Small = 'small',\n Button = 'button',\n Medium = 'medium',\n Large = 'large',\n}\n\n@Component({\n selector: 'vui-icon',\n templateUrl: './icon.component.html',\n styleUrls: ['./icon.component.scss'],\n standalone: false\n})\nexport class IconComponent {\n @Input() size: string;\n @Input() icon?: string;\n @Input() color?: string;\n @Input() rotation?: number;\n @Input() disabled?: boolean;\n @Input() actionable?: boolean;\n public IconSizeEnum = VynilUIIconSize;\n\n constructor() {\n this.size = VynilUIIconSize.Medium;\n }\n\n public get styleObject(): { [key: string]: string } {\n let styleObject: { [key: string]: string } = {};\n if (this.color) {\n styleObject['backgroundColor'] = this.color;\n }\n if (this.rotation) {\n styleObject['transform'] = 'rotate(' + this.rotation + 'deg)';\n }\n styleObject['mask'] = 'url(./assets/icons/' + (this.icon || 'cog') + '.svg) no-repeat center',\n styleObject['-webkit-mask'] = styleObject['mask'];\n return styleObject;\n }\n}\n","<div\n class=\"icon\"\n [ngClass]=\"size + ' ' + (actionable ? 'actionable' : '') + ' ' + (disabled ? 'disabled' : '')\"\n [ngStyle]=\"styleObject\">\n</div>\n","/* eslint-disable @typescript-eslint/no-empty-function */\nimport {\n Input,\n Component,\n} from '@angular/core';\nimport {\n FormControl,\n NG_VALUE_ACCESSOR,\n ControlValueAccessor,\n} from '@angular/forms';\nimport { VynilUITextSize } from '../../basic/text/text.component';\n\nconst INPUT_STYLE_INPUTS = [\n 'flex',\n 'margin',\n 'padding',\n 'width',\n 'maxWidth',\n 'minWidth',\n 'textAlign',\n];\n\nexport type InputType = 'text' | 'number' | 'password';\n\n@Component({\n selector: 'vui-input',\n templateUrl: './input.component.html',\n styleUrls: ['./input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: InputComponent,\n multi: true,\n },\n ],\n standalone: false\n})\nexport class InputComponent implements ControlValueAccessor {\n @Input() textSize: string;\n @Input() flex?: string;\n @Input() margin?: string;\n @Input() padding?: string;\n @Input() align?: string;\n @Input() width?: string;\n @Input() maxWidth?: string;\n @Input() minWidth?: string;\n @Input() type: InputType;\n\n public control: FormControl<string>;\n\n public onTouch: (value: string) => void;\n public onChange: (value: string) => void;\n\n set value(value: string){\n if (value !== this.control.value\n && !(this.type === 'number' && isNaN(+value))) {\n this.control.setValue(value);\n }\n this.onChange(value);\n this.onTouch(value);\n }\n\n constructor() {\n this.type = 'text';\n this.textSize = VynilUITextSize.Medium;\n this.control = new FormControl<string>('', { nonNullable: true });\n this.control.valueChanges.subscribe((value) => {\n if (this.type === 'number') {\n // TODO: Find a proper fix for this one, perhaps separate number input\n value = parseFloat(value) as unknown as string;\n }\n this.writeValue(value);\n });\n this.onTouch = () => {};\n this.onChange = () => {};\n }\n\n public writeValue(value: string): void {\n this.value = value;\n }\n\n public registerOnChange(onChange: (value: string) => void): void {\n this.onChange = onChange;\n }\n\n public registerOnTouched(onTouched: (value: string) => void): void {\n this.onTouch = onTouched;\n }\n\n public get styleObject(): { [key: string]: string } {\n let styleObject: { [key: string]: string } = {};\n const componentObject = this as unknown as { [key: string]: string };\n INPUT_STYLE_INPUTS.forEach((propertyName: string) => {\n if (componentObject[propertyName]) {\n styleObject[propertyName] = componentObject[propertyName];\n }\n });\n return styleObject;\n }\n}\n","<input\n class=\"input\"\n [type]=\"type\"\n [formControl]=\"control\"\n [ngClass]=\"textSize\"\n [ngStyle]=\"styleObject\"\n/>\n","import { DomSanitizer, SafeUrl } from '@angular/platform-browser';\nimport { Component, Input, SecurityContext } from '@angular/core';\n\nconst DEFAULT_DIMENSION = 'auto';\n\ninterface IStyleObject {\n [key: string]: string | null\n}\n\n@Component({\n selector: 'vui-image',\n templateUrl: './image.component.html',\n styleUrls: ['./image.component.scss'],\n standalone: false\n})\nexport class ImageComponent {\n @Input() url?: string;\n @Input() width?: string;\n @Input() height?: string;\n @Input() circle?: boolean;\n @Input() border?: string;\n @Input() borderRadius?: string;\n @Input() backgroundSize?: string;\n @Input() useBackgroundImage?: boolean;\n\n public get sanitizedUrl(): SafeUrl | undefined {\n return this.url\n && this.domSanitizer.bypassSecurityTrustUrl(this.url)\n || undefined;\n }\n\n public get styles(): IStyleObject {\n let styles: IStyleObject = {\n 'width': this.width || DEFAULT_DIMENSION,\n 'height': this.height || DEFAULT_DIMENSION,\n 'min-width': this.width || DEFAULT_DIMENSION,\n 'min-height': this.height || DEFAULT_DIMENSION,\n };\n if (this.useBackgroundImage && this.url) {\n styles = {\n ...styles,\n 'background-image': this.domSanitizer.sanitize(SecurityContext.STYLE, 'url(' + this.url + ')'),\n 'background-size': this.backgroundSize || 'cover'\n }\n }\n if (this.border !== undefined) {\n styles['border'] = this.border;\n }\n if (this.borderRadius !== undefined) {\n styles['border-radius'] = this.borderRadius;\n }\n return styles;\n }\n\n public constructor(\n private domSanitizer: DomSanitizer,\n ) {}\n}\n","<div\n *ngIf=\"useBackgroundImage\"\n class=\"image-wrapper\"\n [ngClass]=\"{'circle': circle}\"\n [ngStyle]=\"styles\">\n</div>\n<img\n *ngIf=\"url && !useBackgroundImage\"\n [src]=\"sanitizedUrl\"\n class=\"image-wrapper\"\n [ngClass]=\"{'circle': circle}\"\n [ngStyle]=\"styles\"\n>\n<div\n *ngIf=\"!url && !useBackgroundImage\"\n class=\"image-wrapper\"\n [ngClass]=\"{'circle': circle}\"\n [ngStyle]=\"styles\"\n>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'vui-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss'],\n standalone: false\n})\nexport class ModalComponent {\n @Input() visible: boolean;\n @Output() closed: EventEmitter<void>;\n\n public constructor() {\n this.visible = false;\n this.closed = new EventEmitter();\n }\n\n public onCurtainClick(): void {\n this.closed.emit();\n }\n\n public onContentClick(event: MouseEvent): void {\n event.stopPropagation();\n }\n}\n","@if (visible) {\n <div class=\"curtain\" (click)=\"onCurtainClick()\">\n <div (click)=\"onContentClick($event)\" class=\"content\">\n <ng-content></ng-content>\n </div>\n </div>\n}\n","import { BehaviorSubject } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { Params, Router, ActivatedRoute } from '@angular/router';\n\nexport type ParamsData = { [key: string]: string };\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RoutingService {\n public queryParams: BehaviorSubject<ParamsData>;\n\n public get activeRoute(): string {\n return this.router.url;\n }\n\n constructor(\n private router: Router,\n private location: Location,\n private activatedRoute: ActivatedRoute,\n ) {\n this.queryParams = new BehaviorSubject<ParamsData>({});\n this.activatedRoute.queryParams.subscribe((queryParams: Params) => {\n this.queryParams.next(queryParams);\n });\n }\n\n public navigate(route: string, queryParams?: ParamsData) {\n this.navigateWithQueryParams(route, queryParams || {});\n }\n\n public navigateInNewTab(route: string) {\n const url = this.router.serializeUrl(\n this.router.createUrlTree([route])\n );\n window.open(url, '_blank');\n }\n\n public navigateWithQueryParams(\n route: string | string[],\n queryParams: ParamsData,\n merge?: boolean,\n ) {\n const routeInfo = typeof route === 'string' ? [route] : route;\n this.router.navigate(routeInfo, {\n queryParams: {\n ...queryParams,\n },\n queryParamsHandling: merge ? 'merge' : '',\n });\n }\n\n public navigateBack() {\n this.location.back();\n }\n}\n","import { Input, Component } from '@angular/core';\nimport { RoutingService } from '../../../services/routing.service';\n\n@Component({\n selector: 'vui-link',\n templateUrl: './link.component.html',\n styleUrls: ['./link.component.scss'],\n standalone: false\n})\nexport class LinkComponent {\n @Input() path?: string;\n\n public constructor(\n private routingService: RoutingService,\n ) {}\n\n public onNavigate(): void {\n if (this.path) {\n this.routingService.navigate(this.path);\n }\n }\n}\n","<div class=\"link\" (click)=\"onNavigate()\">\n <ng-content></ng-content>\n</div>\n","import {\n Input,\n Output,\n Component,\n EventEmitter,\n} from '@angular/core';\n\n@Component({\n selector: 'vui-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n standalone: false\n})\nexport class ButtonComponent {\n @Input() lean?: boolean;\n @Input() centered?: boolean;\n @Input() disabled?: boolean;\n @Output() clicked: EventEmitter<void>;\n\n public constructor() {\n this.clicked = new EventEmitter<void>();\n }\n\n public onClick(): void {\n if (!this.disabled) {\n this.clicked.emit();\n }\n }\n}\n","<div\n class=\"button\"\n [ngClass]=\"{\n 'lean': lean,\n 'disabled': disabled,\n 'centered': centered\n }\"\n (click)=\"onClick()\">\n <ng-content></ng-content>\n</div>\n","import {\n Input,\n Output,\n Component,\n EventEmitter,\n} from '@angular/core';\n\nconst DEFAULT_OPTION_1 = 'Yes';\nconst DEFAULT_OPTION_2 = 'No';\n\n@Component({\n selector: 'vui-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.scss'],\n standalone: false\n})\nexport class DialogComponent {\n @Input() text: string;\n @Input() visible: boolean;\n @Input() option1Text: string;\n @Input() option2Text: string;\n @Input() closeOnCurtain: boolean;\n @Output() closed: EventEmitter<void>;\n @Output() option1Selected: EventEmitter<void>;\n @Output() option2Selected: EventEmitter<void>;\n\n public constructor() {\n this.visible = false;\n this.closeOnCurtain = false;\n this.text = '';\n this.option1Text = DEFAULT_OPTION_1;\n this.option2Text = DEFAULT_OPTION_2;\n this.closed = new EventEmitter<void>();\n this.option1Selected = new EventEmitter<void>();\n this.option2Selected = new EventEmitter<void>();\n }\n\n public onClosed(): void {\n if (this.closeOnCurtain) {\n this.closed.emit();\n }\n }\n\n public onOptionSelect(option: number): void {\n if (option === 1) {\n this.option1Selected.emit();\n } else if (option === 2) {\n this.option2Selected.emit();\n }\n }\n}\n","<vui-modal [visible]=\"visible\" (closed)=\"onClosed()\">\n <vui-card>\n <vui-view padding=\"1rem 0.75rem\" class=\"dialog-wrapper\" alignItems=\"center\">\n <vui-text padding=\"0.5rem 0.5rem 1rem 0.5rem\" size=\"large\" align=\"center\">{{ text }}</vui-text>\n <vui-view flexDirection=\"row\" columnGap=\"0.5rem\">\n <vui-button (clicked)=\"onOptionSelect(1)\">{{ option1Text }}</vui-button>\n <vui-button (clicked)=\"onOptionSelect(2)\">{{ option2Text }}</vui-button>\n </vui-view>\n </vui-view>\n </vui-card>\n</vui-modal>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'vui-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss'],\n standalone: false\n})\nexport class HeaderComponent {\n @Input() height: string;\n\n public constructor() {\n this.height = '3rem';\n }\n}\n","<vui-view\n width=\"100vw\"\n [height]=\"height\"\n margin=\"0\"\n flexDirection=\"row\"\n alignItems=\"center\"\n padding=\"0 1rem\">\n <ng-content></ng-content>\n</vui-view>\n","import { Observable } from 'rxjs';\nimport { Component, Input } from '@angular/core';\nimport { Theme, ThemeService } from '../../../services/theme.service';\n\n@Component({\n selector: 'vui-sidebar',\n templateUrl: './sidebar.component.html',\n styleUrls: ['./sidebar.component.scss'],\n standalone: false\n})\nexport class SidebarComponent {\n @Input() width: string;\n @Input() headerHeight: string;\n\n public theme: Observable<Theme>;\n\n public constructor(\n private themeService: ThemeService,\n ) {\n this.width = '15rem';\n this.headerHeight = '0px';\n this.theme = this.themeService.theme.asObservable();\n }\n}\n","<vui-view\n [width]=\"width\"\n [scrollable]=\"true\"\n alignItems=\"stretch\"\n justifyContent=\"flex-start\"\n [minHeight]=\"'calc(100vh - ' + headerHeight + ')'\"\n [backgroundColor]=\"'var(--vui-color-background-lighter)'\">\n <ng-content></ng-content>\n</vui-view>\n","import {\n Input,\n Output,\n Component,\n EventEmitter,\n} from '@angular/core';\n\nconst DEFAULT_CONFIRM = 'OK';\n\n@Component({\n selector: 'vui-message',\n templateUrl: './message.component.html',\n styleUrls: ['./message.component.scss'],\n standalone: false\n})\nexport class MessageComponent {\n @Input() text: string;\n @Input() visible: boolean;\n @Input() confirmText: string;\n @Input() closeOnCurtain: boolean;\n @Output() closed: EventEmitter<void>;\n\n public constructor() {\n this.visible = false;\n this.closeOnCurtain = false;\n this.text = '';\n this.confirmText = DEFAULT_CONFIRM;\n this.closed = new EventEmitter<void>();\n }\n\n public onClosed(): void {\n if (this.closeOnCurtain) {\n this.closed.emit();\n }\n }\n\n public onConfirm(): void {\n this.closed.emit();\n }\n}\n","<vui-modal [visible]=\"visible\" (closed)=\"onClosed()\">\n <vui-card>\n <vui-view padding=\"1rem 0.75rem\" class=\"message-wrapper\" alignItems=\"stretch\">\n <vui-text padding=\"0.5rem 0.5rem 1rem 0.5rem\" size=\"large\" align=\"center\">{{ text }}</vui-text>\n <vui-view flexDirection=\"row\" justifyContent=\"center\">\n <vui-button (clicked)=\"onConfirm()\">{{ confirmText }}</vui-button>\n </vui-view>\n </vui-view>\n </vui-card>\n</vui-modal>\n","/* eslint-disable @typescript-eslint/no-empty-function */\nimport { Component, Input } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'vui-icon-input',\n templateUrl: './icon-input.component.html',\n styleUrls: ['./icon-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: IconInputComponent,\n multi: true,\n },\n ],\n standalone: false\n})\nexport class IconInputComponent implements ControlValueAccessor {\n @Input() icon?: string;\n\n public control: FormControl<string>;\n\n public onTouch: (value: string) => void;\n public onChange: (value: string) => void;\n\n set value(value: string){\n if (value !== this.control.value) {\n this.control.setValue(value); \n }\n this.onChange(value);\n this.onTouch(value);\n }\n\n public constructor() {\n this.control = new FormControl<string>('', { nonNullable: true });\n this.control.valueChanges.subscribe((value) => {\n this.writeValue(value);\n });\n this.onTouch = () => {};\n this.onChange = () => {};\n }\n\n public writeValue(value: string): void {\n this.value = value;\n }\n\n public registerOnChange(onChange: (value: string) => void): void {\n this.onChange = onChange;\n }\n\n public registerOnTouched(onTouched: (value: string) => void): void {\n this.onTouch = onTouched;\n }\n}\n","<vui-view\n class=\"icon-input\"\n flexDirection=\"row\"\n width=\"100%\"\n [relative]=\"true\"\n justifyContent=\"stretch\">\n @if (icon) {\n <vui-view class=\"icon\" alignItems=\"center\" justifyContent=\"center\" height=\"2rem\" width=\"2rem\" padding=\"0.1rem 0 0 0\">\n <vui-icon size=\"button\" [icon]=\"icon\"></vui-icon>\n </vui-view>\n }\n <vui-input class=\"input\" padding=\"0.5rem 0.5rem 0.5rem 1.75rem\" [formControl]=\"control\" type=\"text\"></vui-input>\n</vui-view>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\nconst POSSIBLE_COLORS = ['#D22B2B', '#50C878', '#0096FF', '#FCF55F', '#FF5F1F', '#7F00FF', '#9A9A9A', '#000000'];\n\n@Component({\n selector: 'vui-color-selector',\n templateUrl: './color-selector.component.html',\n styleUrls: ['./color-selector.component.scss'],\n standalone: false\n})\nexport class ColorSelectorComponent {\n @Input() selectedColor?: string;\n @Output() selected: EventEmitter<string>;\n\n public availableColors: string[];\n\n constructor() {\n this.availableColors = POSSIBLE_COLORS;\n this.selected = new EventEmitter<string>();\n }\n\n public onSelectColor(color: string): void {\n this.selected.emit(color);\n }\n}\n","<vui-view flexDirection=\"row\" columnGap=\"0.25rem\" alignItems=\"center\">\n @for (color of availableColors; track color) {\n <div\n (click)=\"onSelectColor(color)\"\n [ngStyle]=\"{'backgroundColor': color}\"\n [ngClass]=\"{'selected': selectedColor === color}\"\n class=\"color\">\n </div>\n }\n</vui-view>\n","/* eslint-disable @typescript-eslint/no-empty-function */\nimport { Component, Input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nconst DEFAULT_VALUE = '#0096FF';\n\n@Component({\n selector: 'vui-color-input',\n templateUrl: './color-input.component.html',\n styleUrls: ['./color-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: ColorInputComponent,\n multi: true,\n },\n ],\n standalone: false\n})\nexport class ColorInputComponent implements ControlValueAccessor {\n @Input() small?: boolean;\n\n public colorValue: string;\n public colorSelectorVisible: boolean; \n\n public onTouch: (value: string) => void;\n public onChange: (value: string) => void;\n\n public set value(value: string){\n if (value !== this.colorValue) {\n this.colorValue = value;\n }\n this.onTouch(value);\n this.onChange(value);\n }\n\n public constructor() {\n this.colorValue = DEFAULT_VALUE;\n this.colorSelectorVisible = false;\n this.onTouch = () => {};\n this.onChange = () => {};\n }\n\n public onColorSelect(value: string): void {\n this.writeValue(value);\n this.toggleSelectorVisible(false);\n }\n\n public writeValue(value: string): void {\n this.value = value;\n }\n\n public registerOnChange(onChange: (value: string) => void): void {\n this.onChange = onChange;\n }\n\n public registerOnTouched(onTouched: (value: string) => void): void {\n this.onTouch = onTouched;\n }\n\n public toggleSelectorVisible(value: boolean): void {\n this.colorSelectorVisible = value;\n }\n}\n","<vui-view [relative]=\"true\">\n <div (click)=\"toggleSelectorVisible(true)\" [ngClass]=\"{'small': small}\" [ngStyle]=\"{'backgroundColor': colorValue}\" class=\"color\"></div>\n <vui-modal [visible]=\"colorSelectorVisible\">\n <div class=\"selector-wrapper\">\n <vui-color-selector\n [selectedColor]=\"colorValue\"\n (selected)=\"onColorSelect($event)\">\n </vui-color-selector>\n </div>\n </vui-modal>\n</vui-view>\n","/* eslint-disable @typescript-eslint/no-empty-function */\nimport {\n Input,\n Output,\n Component,\n EventEmitter,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport {\n NG_VALUE_ACCESSOR,\n ControlValueAccessor,\n} from '@angular/forms';\n\n@Component({\n selector: 'vui-toggle-input',\n templateUrl: './toggle-input.component.html',\n styleUrls: ['./toggle-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: ToggleInputComponent,\n multi: true,\n },\n ],\n standalone: false\n})\nexport class ToggleInputComponent implements ControlValueAccessor {\n @Input() disabled?: boolean;\n @Output() changed: EventEmitter<boolean>;\n\n public activeValue: boolean;\n\n public onTouch: (value: boolean) => void;\n public onChange: (value: boolean) => void;\n\n set value(value: boolean){\n if (value !== this.activeValue) {\n this.activeValue = value;\n }\n this.onChange(value);\n this.onTouch(value);\n }\n\n constructor() {\n this.activeValue = false;\n this.onTouch = () => {};\n this.onChange = () => {};\n this.changed = new EventEmitter<boolean>();\n }\n\n public onToggle(): void {\n if (this.disabled) {\n return;\n }\n this.activeValue = !this.activeValue;\n this.writeValue(this.activeValue);\n }\n\n public writeValue(value: boolean): void {\n this.value = value;\n this.onChange(value);\n this.changed.emit(value);\n }\n\n public registerOnChange(onChange: (value: boolean) => void): void {\n this.onChange = onChange;\n }\n\n public registerOnTouched(onTouched: (value: boolean) => void): void {\n this.onTouch = onTouched;\n }\n}\n","<div (click)=\"onToggle()\" class=\"toggle\" [ngClass]=\"{'active': activeValue, 'disabled': disabled}\">\n <div class=\"toggle-indicator\"></div>\n</div>\n","/* eslint-disable @typescript-eslint/no-empty-function */\nimport { Component, Input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { VynilUITextSize } from '../../basic/text/text.component';\n\nconst DEFAULT_PADDING = '0.5rem';\nconst DEFAULT_EMPTY_TEXT = 'None';\n\nexport interface SelectInputOption<T> {\n text: string,\n value: T,\n}\n\n@Component({\n selector: 'vui-select-input',\n templateUrl: './select-input.component.html',\n styleUrls: ['./select-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SelectInputComponent,\n multi: true,\n },\n ],\n standalone: false\n})\nexport class SelectInputComponent<T> implements ControlValueAccessor {\n @Input() textSize: string;\n @Input() flex: string;\n @Input() width: string;\n @Input() maxWidth: string;\n @Input() minWidth: string;\n @Input() margin: string;\n @Input() padding: string;\n @Input() emptyText: string;\n @Input() options: SelectInputOption<T>[];\n\n public selectedValue: SelectInputOption<T> | null;\n public dropdownVisible: boolean;\n public onTouch: (value: SelectInputOption<T>) => void;\n public onChange: (value: SelectInputOption<T>) => void;\n\n set value(value: SelectInputOption<T>){\n this.selectedValue = value;\n this.onChange(value);\n this.onTouch(value);\n }\n\n constructor() {\n this.textSize = VynilUITextSize.Medium;\n this.flex = 'none';\n this.width = 'auto';\n this.maxWidth = 'none';\n this.margin = '0';\n this.minWidth = '10rem';\n this.padding = DEFAULT_PADDING;\n this.options = [];\n this.selectedValue = null;\n this.dropdownVisible = false;\n this.emptyText = DEFAULT_EMPTY_TEXT;\n this.onTouch = () => {};\n this.onChange = () => {};\n }\n\n public writeValue(value: SelectInputOption<T>): void {\n this.value = value;\n }\n\n public registerOnChange(onChange: (value: SelectInputOption<T>) => void): void {\n this.onChange = onChange;\n }\n\n public registerOnTouched(onTouched: (value: SelectInputOption<T>) => void): void {\n this.onTouch = onTouched;\n }\n\n public onToggleDropdown(value?: boolean): void {\n this.dropdownVisible = value !== undefined ? value : !this.dropdownVisible;\n }\n\n public onSelectOption(option: SelectInputOption<T>): void {\n this.value = option || null;\n this.onToggleDropdown(false);\n }\n\n public identify(index: number, option: SelectInputOption<T>): T {\n return option.value;\n }\n}\n","<vui-view [relative]=\"true\" class=\"select\" [width]=\"width\" [maxWidth]=\"maxWidth\">\n <div\n class=\"current-value\"\n (click)=\"onToggleDropdown()\"\n [ngClass]=\"textSize + (dropdownVisible ? ' open' : '')\"\n [ngStyle]=\"{\n 'min-width': minWidth,\n 'margin': margin,\n 'padding': padding\n }\">\n <span>{{ selectedValue?.text || emptyText }}</span>\n <vui-icon\n class=\"icon\"\n icon=\"caret\"\n size=\"medium\"\n color=\"var(--vui-color-primary)\"\n [rotation]=\"180\"\n [ngClass]=\"textSize\">\n </vui-icon>\n </div>\n @if (dropdownVisible) {\n <div class=\"dropdown\" [ngClass]=\"textSize\">\n <vui-view rowGap=\"0.1rem\" justifyContent=\"stretch\" alignItems=\"stretch\">\n <div\n (click)=\"onToggleDropdown(false)\"\n class=\"option unselectable\"\n [ngClass]=\"textSize\">\n {{ selectedValue?.text || emptyText }}\n <vui-icon\n icon=\"caret\"\n size=\"medium\"\n class=\"icon open\"\n color=\"var(--vui-color-primary-lighter)\"\n [ngClass]=\"textSize\">\n </vui-icon>\n </div>\n @for (option of options; track identify($index, option)) {\n <option\n (click)=\"onSelectOption(option)\"\n [ngClass]=\"textSize\"\n class=\"option\">\n {{ option.text }}\n </option>\n }\n </vui-view>\n </div>\n }\n</vui-view>\n","/* eslint-disable @typescript-eslint/no-empty-function */\nimport {\n Input,\n Output,\n Component,\n EventEmitter,\n} from '@angular/core';\nimport {\n FormControl,\n NG_VALUE_ACCESSOR,\n ControlValueAccessor,\n} from '@angular/forms';\n\nconst DEFAULT_HEIGHT = '10rem';\n\n@Component({\n selector: 'vui-image-url-input',\n templateUrl: './image-url-input.component.html',\n styleUrls: ['./image-url-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: ImageURLInputComponent,\n multi: true,\n },\n ],\n standalone: false\n})\nexport class ImageURLInputComponent implements ControlValueAccessor {\n @Input() width?: string;\n @Input() height?: string;\n @Output() changed: EventEmitter<string>;\n\n public control: FormControl<string | null>;\n\n public onTouch: (value: string) => void;\n public onChange: (value: string) => void;\n\n public get value(): string {\n return this.control.value || '';\n }\n\n public set value(value: string){\n if (value !== this.control.value) {\n this.control.setValue(value);\n }\n this.onChange(value);\n this.onTouch(value);\n }\n\n constructor() {\n this.height = DEFAULT_HEIGHT;\n this.control = new FormControl<string>('');\n this.changed = new EventEmitter<string>();\n this.control.valueChanges.subscribe((value: string | null) => {\n if (value) {\n this.writeValue(value);\n }\n });\n this.onTouch = () => {};\n this.onChange = () => {};\n }\n\n public writeValue(value: string): void {\n this.value = value;\n }\n\n public registerOnChange(onChange: (value: string) => void): void {\n this.onChange = onChange;\n }\n\n public registerOnTouched(onTouched: (value: string) => void): void {\n this.onTouch = onTouched;\n }\n}\n","<vui-view class=\"image-input-wrapper\" alignItems=\"stretch\">\n <vui-view class=\"preview\" [minHeight]=\"height\" [relative]=\"true\" alignItems=\"stretch\" overflow=\"hidden\">\n @if (value) {\n <vui-image\n [url]=\"value\"\n [width]=\"width\"\n [height]=\"height\"\n backgroundSize=\"cover\">\n </vui-image>\n }\n </vui-view>\n <vui-input flex=\"1\" [formControl]=\"control\"></vui-input>\n</vui-view>\n","import {\n Input,\n Component,\n} from '@angular/core';\n\n@Component({\n selector: 'vui-navigation-link',\n templateUrl: './navigation-link.component.html',\n styleUrls: ['./navigation-link.component.scss'],\n standalone: false\n})\nexport class NavigationLinkComponent {\n @Input() path?: string;\n}\n","<vui-link [path]=\"path\" path=\"text\">\n <div class=\"navigation-link\">\n <vui-view\n width=\"100%\"\n height=\"2rem\"\n padding=\"0 1rem\"\n alignItems=\"flex-start\"\n justifyContent=\"center\">\n <vui-text size=\"large\">\n <ng-content></ng-content>\n </vui-text>\n </vui-view>\n </div>\n</vui-link>\n","/* eslint-disable @typescript-eslint/no-empty-function */\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR, Validators } from '@angular/forms';\n\n@Component({\n selector: 'vui-image-array-input',\n templateUrl: './image-array-input.component.html',\n styleUrls: ['./image-array-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: ImageArrayInputComponent,\n multi: true,\n },\n ],\n standalone: false\n})\nexport class ImageArrayInputComponent implements ControlValueAccessor {\n @Input() roundEntries: boolean;\n @Output() changed: EventEmitter<string>;\n\n public values: string[];\n public imageUrlControl: FormControl<string | null>;\n\n public onTouch: (value: string[]) => void;\n public onChange: (value: string[]) => void;\n \n set value(value: string[]){\n if (value) {\n this.values = [...value];\n } else {\n this.values = [];\n }\n this.onChange(value || []);\n this.onTouch(value || []);\n }\n\n public constructor() {\n this.values = [];\n this.roundEntries = true;\n this.changed = new EventEmitter<string>();\n this.imageUrlControl = new FormControl<string | null>('', Validators.required);\n this.onTouch = () => {};\n this.onChange = () => {};\n }\n\n public writeValue(value: string[]): void {\n this.value = value;\n }\n\n public registerOnChange(onChange: (value: string[]) => void): void {\n this.onChange = onChange;\n }\n\n public registerOnTouched(onTouched: (value: string[]) => void): void {\n this.onTouch = onTouched;\n }\n\n public onAdd(): void {\n if(this.imageUrlControl.value) {\n this.value = [...this.values, this.imageUrlControl.value];\n this.imageUrlControl.setValue('');\n }\n }\n\n public onRemove(removed: number): void {\n this.value = this.values.filter((_entry: string, index: number) => index !== removed);\n }\n}\n","<vui-card cardStyle=\"dark\" class=\"image-array-input\">\n <vui-card class=\"variants-box\">\n <vui-view flexDirection=\"row\" [wrap]=\"true\" [scrollable]=\"true\" justifyContent=\"flex-start\" columnGap=\"0.75rem\" rowGap=\"0.5rem\">\n @for (image of values; track image; let i = $index) {\n <vui-view class=\"variant\">\n <vui-image\n [url]=\"image\"\n [circle]=\"roundEntries\"\n backgroundSize=\"cover\"\n [useBackgroundImage]=\"true\"\n width=\"50px\"\n height=\"50px\">\n </vui-image>\n <div (click)=\"onRemove(i)\" class=\"icon-float\">\n <vui-icon icon=\"remove\"></vui-icon>\n </div>\n </vui-view>\n }\n </vui-view>\n </vui-card>\n <vui-view padding=\"0 0.5rem\" rowGap=\"0.25rem\" alignItems=\"center\">\n <vui-text size=\"medium\">Image URL</vui-text>\n <vui-view flexDirection=\"row\" justifyContent=\"space-between\" columnGap=\"0.25rem\" alignItems=\"center\">\n <vui-view alignItems=\"center\">\n <vui-input class=\"add-input\" [formControl]=\"imageUrlControl\"></vui-input>\n </vui-view>\n <vui-button class=\"add-button\" (clicked)=\"onAdd()\">\n <vui-icon size=\"button\" icon=\"add\"></vui-icon>\n <vui-text size=\"large\">Add</vui-text>\n </vui-button>\n </vui-view>\n </vui-view>\n</vui-card>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'vui-navigation-group',\n templateUrl: './navigation-group.component.html',\n styleUrls: ['./navigation-group.component.scss'],\n standalone: false\n})\nexport class NavigationGroupComponent {\n @Input() name?: string;\n @Input() open?: boolean;\n\n public constructor() {\n this.open = false;\n }\n\n public onToggle(): void {\n this.open = !this.open;\n }\n}\n","<vui-view class=\"navigation-group\" alignItems=\"stretch\">\n <vui-view (click)=\"onToggle()\" class=\"navigation-group-header\" flexDirection=\"row\" alignItems=\"stretch\" justifyContent=\"space-between\" padding=\"0 1rem\">\n <vui-view alignItems=\"flex-start\" justifyContent=\"center\" height=\"3rem\">\n <vui-text size=\"xlarge\">{{ name }}</vui-text>\n </vui-view>\n <vui-icon icon=\"caret\" [rotation]=\"open ? 0 : 180\"></vui-icon>\n </vui-view>\n @if (open) {\n <div class=\"navigation-group-content\">\n <ng-content></ng-content>\n </div>\n }\n</vui-view>\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DownloadService {\n public downloadJSON(fileName: string, dataJSON: string): void {\n const anchor = document.createElement('a');\n anchor.href = URL.createObjectURL( new Blob([dataJSON], { type:'text/json' }) );\n anchor.download = fileName + '.json';\n anchor.click();\n }\n}\n","import { Subscription } from 'rxjs';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UtilityService {\n \n public createId() : string {\n return this.generateFromSequence('xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx');\n }\n\n public createShortId() : string {\n return this.generateFromSequence('xxxxxxxx');\n }\n\n public camelCaseToCapitalCase(entry: string): string {\n const result = entry.replace(/([A-Z])/g, \" $1\");\n return result.charAt(0).toUpperCase() + result.slice(1);\n }\n\n public clearSubscriptions(subscriptions: Subscription[]): Subscription[] {\n subscriptions.forEach((subscription: Subscription) => {\n if (!subscription.closed) {\n subscription.unsubscribe();\n }\n });\n return [];\n }\n\n public findById<T>(id: string, array: { id: string }[]): { id: string } | undefined {\n const items = array.filter((entry: { id: string }) => entry.id === id);\n return items && items.length > 0 ? items[0] : undefined;\n }\n\n public compare<T>(value1: T, value2: T): boolean {\n if (typeof(value1) !== typeof(value2)) return false;\n if (Array.isArray(value1)) {\n return this.compareArrays(value1 as unknown[], value2 as unknown[]);\n } else if (typeof(value1) === 'object') {\n return this.compareObjects(value1 as object, value2 as object);\n } else {\n return value1 === value2;\n }\n }\n\n private compareObjects<T extends object>(object1: T, object2: T): boolean {\n let equal = true;\n const a = object1 as { [key: string]: unknown };\n const b = object2 as { [key: string]: unknown };\n const keys = Object.keys(object1);\n for(const key of keys) {\n if (typeof(a[key]) !== typeof(b[key])) {\n equal = false;\n break;\n }\n equal &&= this.compare(a[key], b[key]);\n }\n return equal;\n }\n\n private compareArrays<T>(array1: T[], array2: T[]): boolean {\n if (array1.length !== array2.length) return false;\n for (const i in array1) {\n if (array1[i] !== array2[i]) return false;\n }\n return true;\n }\n\n private generateFromSequence(sequence: string) : string {\n let dt: number = new Date().getTime();\n const generated: string = sequence.replace(/[xy]/g, (c) =>\n {\n const r: number = (dt + Math.random() * 16) % 16 | 0;\n dt = Math.floor(dt / 16);\n return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16);\n });\n return generated;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { InitialsPipe } from './pipes/initials.pipe';\n\nimport { TextComponent } from './components/basic/text/text.component';\nimport { PageComponent } from './components/layout/page/page.component';\nimport { ViewComponent } from './components/layout/view/view.component';\nimport { CardComponent } from './components/layout/card/card.component';\nimport { IconComponent } from './components/images/icon/icon.component';\nimport { InputComponent } from './components/inputs/input/input.component';\nimport { ImageComponent } from './components/images/image/image.component';\nimport { ModalComponent } from './components/modals/modal/modal.component';\nimport { LinkComponent } from './components/navigation/link/link.component';\nimport { ButtonComponent } from './components/basic/button/button.component';\nimport { DialogComponent } from './components/modals/dialog/dialog.component';\nimport { HeaderComponent } from './components/layout/header/header.component';\nimport { SidebarComponent } from './components/layout/sidebar/sidebar.component';\nimport { MessageComponent } from './components/modals/message/message.component';\nimport { IconInputComponent } from './components/inputs/icon-input/icon-input.component';\nimport { ColorInputComponent } from './components/inputs/color-input/color-input.component';\nimport { ToggleInputComponent } from './components/inputs/toggle-input/toggle-input.component';\nimport { SelectInputComponent } from './components/inputs/select-input/select-input.component';\nimport { ImageURLInputComponent } from './components/inputs/image-url-input/image-url-input.component';\nimport { ColorSelectorComponent } from './components/selectors/color-selector/color-selector.component';\nimport { NavigationLinkComponent } from './components/navigation/navigation-link/navigation-link.component';\nimport { ImageArrayInputComponent } from './components/inputs/image-array-input/image-array-input.component';\nimport { NavigationGroupComponent } from './components/navigation/navigation-group/navigation-group.component';\n\nconst Components = [\n // Basic\n ButtonComponent,\n TextComponent,\n // Images\n ImageComponent,\n IconComponent,\n // Forms\n InputComponent,\n IconInputComponent,\n ColorInputComponent,\n SelectInputComponent,\n ToggleInputComponent,\n ImageURLInputComponent,\n ImageArrayInputComponent,\n // Layout\n ViewComponent,\n CardComponent,\n PageComponent,\n HeaderComponent,\n SidebarComponent,\n // Modals\n ModalComponent,\n MessageComponent,\n DialogComponent,\n // Navigation\n LinkComponent,\n NavigationLinkComponent,\n NavigationGroupComponent,\n // Selectors\n ColorSelectorComponent,\n];\n\nconst Pipes = [\n InitialsPipe,\n];\n\n@NgModule({\n declarations: [\n ...Pipes,\n ...Components,\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n ],\n exports: [\n ...Pipes,\n ...Components,\n ]\n})\nexport class VynilUIModule { }\n","/*\n * Public API Surface of vynil-ui\n */\n\nexport { InitialsPipe } from './lib/pipes/initials.pipe';\n\nexport { TextComponent } from './lib/components/basic/text/text.component';\nexport { PageComponent } from './lib/components/layout/page/page.component';\nexport { ViewComponent } from './lib/components/layout/view/view.component';\nexport { CardComponent } from './lib/components/layout/card/card.component';\nexport { IconComponent } from './lib/components/images/icon/icon.component';\nexport { InputComponent } from './lib/components/inputs/input/input.component';\nexport { ImageComponent } from './lib/components/images/image/image.component';\nexport { ModalComponent } from './lib/components/modals/modal/modal.component';\nexport { LinkComponent } from './lib/components/navigation/link/link.component';\nexport { ButtonComponent } from './lib/components/basic/button/button.component';\nexport { DialogComponent } from './lib/components/modals/dialog/dialog.component';\nexport { HeaderComponent } from './lib/components/layout/header/header.component';\nexport { SidebarComponent } from './lib/components/layout/sidebar/sidebar.component';\nexport { MessageComponent } from './lib/components/modals/message/message.component';\nexport { IconInputComponent } from './lib/components/inputs/icon-input/icon-input.component';\nexport { ColorInputComponent } from './lib/components/inputs/color-input/color-input.component';\nexport { ToggleInputComponent } from './lib/components/inputs/toggle-input/toggle-input.component';\nexport { SelectInputComponent } from './lib/components/inputs/select-input/select-input.component';\nexport { ImageURLInputComponent } from './lib/components/inputs/image-url-input/image-url-input.component';\nexport { ColorSelectorComponent } from './lib/components/selectors/color-selector/color-selector.component';\nexport { NavigationLinkComponent } from './lib/components/navigation/navigation-link/navigation-link.component';\nexport { ImageArrayInputComponent } from './lib/components/inputs/image-array-input/image-array-input.component';\nexport { NavigationGroupComponent } from './lib/components/navigation/navigation-group/navigation-group.component';\n\nexport * from './lib/services/download.service';\nexport * from './lib/services/routing.service';\nexport * from './lib/services/theme.service';\nexport * from './lib/services/utility.service';\nexport * from './lib/vynil-ui.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["DEFAULT_PADDING","i1.ThemeService","i2","i1","i1.RoutingService","i1.ButtonComponent","i2.TextComponent","i3.ViewComponent","i4.CardComponent","i5.ModalComponent","i1.ViewComponent","i2.ViewComponent","i2.IconComponent","i3.InputComponent","i4.ViewComponent","i3.ModalComponent","i4.ColorSelectorComponent","i3.IconComponent","i2.ImageComponent","i1.TextComponent","i3.LinkComponent","i2.ButtonComponent","i3.TextComponent","i4.ImageComponent","i5.IconComponent","i6.InputComponent","i7.ViewComponent","i8.CardComponent"],"mappings":";;;;;;;;;;AAEA,MAAM,QAAQ,GAAG,UAAU;AAC3B,MAAM,aAAa,GAAG,KAAK;MAMd,YAAY,CAAA;AACrB,IAAA,SAAS,CAAC,KAAa,EAAA;QACnB,IAAI,CAAC,KAAK,EAAE;AACR,YAAA,OAAO,aAAa;QACxB;QACA,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;QAClC,IAAI,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACrC,QAAA,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;AACtB,YAAA,OAAO,QAAQ,CAAC,WAAW,EAAE;QACjC;AACA,QAAA,QAAQ,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACrD,QAAA,OAAO,QAAQ,CAAC,WAAW,EAAE;IACjC;8GAZS,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAZ,YAAY,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,CAAA;;2FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAJxB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,QAAQ;AACd,oBAAA,UAAU,EAAE;AACf,iBAAA;;;ACND,IAAY,eAQX;AARD,CAAA,UAAY,eAAe,EAAA;AACvB,IAAA,eAAA,CAAA,YAAA,CAAA,GAAA,QAAqB;AACrB,IAAA,eAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,eAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,eAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,eAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,eAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,eAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACvB,CAAC,EARW,eAAe,KAAf,eAAe,GAAA,EAAA,CAAA,CAAA;MAgBd,aAAa,CAAA;8GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,qKClB1B,qRAWA,EAAA,MAAA,EAAA,CAAA,y5BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDOa,aAAa,EAAA,UAAA,EAAA,CAAA;kBANzB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,cAGR,KAAK,EAAA,QAAA,EAAA,qRAAA,EAAA,MAAA,EAAA,CAAA,y5BAAA,CAAA,EAAA;;sBAGhB;;sBACA;;sBACA;;sBACA;;sBACA;;;AEDL,MAAM,QAAQ,GAAG,KAAK;AACtB,MAAM,UAAU,GAAG,IAAI;AACvB,MAAM,YAAY,GAAG,GAAG;AACxB,MAAM,eAAe,GAAG,GAAG;AAC3B,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC;AACvD,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;AACrE,MAAM,aAAa,GAAU;AACzB,IAAA,SAAS,EAAE;AACP,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,gBAAgB,EAAE,GAAG;AACrB,QAAA,mBAAmB,EAAE,EAAE;QACvB,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;AACpC,QAAA,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAC9C,KAAA;AACD,IAAA,MAAM,EAAE;AACJ,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,SAAS,EAAE,SAAS;AACpB,QAAA,UAAU,EAAE,SAAS;AACrB,QAAA,SAAS,EAAE,6KAA6K;AAC3L,KAAA;CACJ;MAKY,YAAY,CAAA;AAGrB,IAAA,WAAA,GAAA;QACI,IAAI,CAAC,KAAK,GAAG,IAAI,eAAe,CAAQ,aAAa,CAAC;AACtD,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;IACnC;AAEO,IAAA,WAAW,CAAC,YAA4B,EAAA;QAC3C,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAgB;QAC3D,IAAI,IAAI,EAAE;AACN,YAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,YAAY,CAAC;QAC/C;AACA,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AACZ,YAAA,SAAS,EAAE;AACP,gBAAA,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS;gBAC7B,GAAG,YAAY,CAAC,SAAS;AAC5B,aAAA;AACD,YAAA,MAAM,EAAE;AACJ,gBAAA,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;gBAC1B,GAAG,YAAY,CAAC,MAAM;AACzB;AACJ,SAAA,CAAC;IACN;IAEO,kBAAkB,CAAC,OAAoB,EAAE,YAA4B,EAAA;QACxE,IAAI,OAAO,EAAE;AACT,YAAA,IAAI,YAAY,CAAC,SAAS,EAAE;AACxB,gBAAA,IAAI,YAAY,CAAC,SAAS,CAAC,MAAM,EAAE;AAC/B,oBAAA,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC;gBACrF;AACA,gBAAA,IAAI,YAAY,CAAC,SAAS,CAAC,MAAM,EAAE;AAC/B,oBAAA,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;gBACnF;AACA,gBAAA,IAAI,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE;AAChC,oBAAA,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC;gBACrF;AACA,gBAAA,IAAI,YAAY,CAAC,SAAS,CAAC,gBAAgB,EAAE;AACzC,oBAAA,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,mBAAmB,EAAE,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC;gBACzG;AACA,gBAAA,IAAI,YAAY,CAAC,SAAS,CAAC,SAAS,EAAE;oBAClC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC;gBACnE;AACA,gBAAA,IAAI,YAAY,CAAC,SAAS,CAAC,SAAS,EAAE;oBAClC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC;gBACnE;YACJ;AACA,YAAA,IAAI,YAAY,CAAC,MAAM,EAAE;AACrB,gBAAA,MAAM,WAAW,GAAG,YAAY,CAAC,MAAmC;AACpE,gBAAA,MAAM,CAAC,IAAI,CAAC,WAAW;AACtB,qBAAA,OAAO,CAAC,CAAC,GAAW,KAAI;AACrB,oBAAA,IAAI,GAAG,KAAK,WAAW,EAAE;AACrB,wBAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;oBACpD;AACJ,gBAAA,CAAC,CAAC;AACF,gBAAA,IAAI,YAAY,CAAC,MAAM,CAAC,SAAS,EAAE;AAC/B,oBAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC;gBAChF;YACJ;QACJ;IACJ;IAEQ,cAAc,CAAC,OAAoB,EAAE,YAAoB,EAAE,KAAa,EAAE,IAAY,EAAE,QAAkB,EAAA;AAC9G,QAAA,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,GAAG,YAAY,EAAE,KAAK,GAAG,IAAI,CAAC;QACzE,IAAI,CAAC,QAAQ,EAAE;AACX,YAAA,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,GAAG,YAAY,GAAG,KAAK,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC;AACvF,YAAA,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,GAAG,YAAY,GAAG,cAAc,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC;AAChG,YAAA,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,GAAG,YAAY,GAAG,IAAI,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC;AACtF,YAAA,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,GAAG,YAAY,GAAG,QAAQ,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC;AAC1F,YAAA,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,GAAG,YAAY,GAAG,IAAI,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC;AACtF,YAAA,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,GAAG,YAAY,GAAG,QAAQ,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC;AAC1F,YAAA,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,GAAG,YAAY,GAAG,KAAK,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC;AACvF,YAAA,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,GAAG,YAAY,GAAG,cAAc,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC;QACpG;IACJ;AAEQ,IAAA,WAAW,CAAC,OAAoB,EAAE,YAAoB,EAAE,KAAa,EAAE,QAAkB,EAAA;QAC7F,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,GAAG,YAAY,EAAE,KAAK,CAAC;QAC/D,IAAI,CAAC,QAAQ,EAAE;AACX,YAAA,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,GAAG,YAAY,GAAG,SAAS,EAAE,oBAAoB,GAAG,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,mBAAmB,GAAG,eAAe,CAAC;AAChL,YAAA,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,GAAG,YAAY,GAAG,UAAU,EAAE,oBAAoB,GAAG,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,mBAAmB,GAAG,eAAe,CAAC;QACrL;IACJ;IAEQ,eAAe,CAAC,OAAoB,EAAE,MAAgB,EAAA;AAC1D,QAAA,MAAM,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,KAAa,KACxC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACnG;IAEQ,eAAe,CAAC,OAAoB,EAAE,MAAgB,EAAA;AAC1D,QAAA,MAAM,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,KAAa,KACxC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IACrG;8GA5FS,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFT,MAAM,EAAA,CAAA,CAAA;;2FAET,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;;AC7CD,MAAMA,iBAAe,GAAG,WAAW;MAQtB,aAAa,CAAA;AAMtB,IAAA,WAAA,CACY,YAA0B,EAAA;QAA1B,IAAA,CAAA,YAAY,GAAZ,YAAY;AAEpB,QAAA,IAAI,CAAC,OAAO,GAAGA,iBAAe;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,EAAE;IACvD;8GAXS,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,+HCZ1B,iQAQA,EAAA,MAAA,EAAA,CAAA,gOAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDIa,aAAa,EAAA,UAAA,EAAA,CAAA;kBANzB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,cAGR,KAAK,EAAA,QAAA,EAAA,iQAAA,EAAA,MAAA,EAAA,CAAA,gOAAA,CAAA,EAAA;;sBAGhB;;sBACA;;;AEZL,MAAM,iBAAiB,GAAG;IACtB,KAAK;IACL,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,QAAQ;IACR,UAAU;IACV,WAAW;IACX,UAAU;IACV,WAAW;IACX,UAAU;IACV,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,WAAW;IACX,UAAU;IACV,cAAc;IACd,iBAAiB;IACjB,eAAe;IACf,YAAY;IACZ,gBAAgB;CACnB;MAQY,aAAa,CAAA;AA2BtB,IAAA,WAAA,GAAA;AACI,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK;AACjB,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACrB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;IAC3B;AAEA,IAAA,IAAW,WAAW,GAAA;QAClB,IAAI,WAAW,GAA8B,EAAE;QAC/C,MAAM,eAAe,GAAG,IAA4C;AACpE,QAAA,iBAAiB,CAAC,OAAO,CAAC,CAAC,YAAoB,KAAI;AAC/C,YAAA,IAAI,eAAe,CAAC,YAAY,CAAC,EAAE;gBAC/B,WAAW,CAAC,YAAY,CAAC,GAAG,eAAe,CAAC,YAAY,CAAC;YAC7D;AACJ,QAAA,CAAC,CAAC;AACF,QAAA,OAAO,WAAW;IACtB;8GA1CS,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,inBCjC1B,iNASA,EAAA,MAAA,EAAA,CAAA,yPAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDwBa,aAAa,EAAA,UAAA,EAAA,CAAA;kBANzB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,cAGR,KAAK,EAAA,QAAA,EAAA,iNAAA,EAAA,MAAA,EAAA,CAAA,yPAAA,CAAA,EAAA;;sBAGhB;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;;MEhDQ,aAAa,CAAA;AAMtB,IAAA,WAAA,GAAA;AACI,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS;IAC9B;8GATS,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,iLCV1B,6OAUA,EAAA,MAAA,EAAA,CAAA,urBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDAa,aAAa,EAAA,UAAA,EAAA,CAAA;kBANzB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,cAGR,KAAK,EAAA,QAAA,EAAA,6OAAA,EAAA,MAAA,EAAA,CAAA,urBAAA,CAAA,EAAA;;sBAGhB;;sBACA;;sBACA;;sBACA;;;AEZL,IAAY,eAKX;AALD,CAAA,UAAY,eAAe,EAAA;AACvB,IAAA,eAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,eAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,eAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,eAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACnB,CAAC,EALW,eAAe,KAAf,eAAe,GAAA,EAAA,CAAA,CAAA;MAad,aAAa,CAAA;AAStB,IAAA,WAAA,GAAA;QAFO,IAAA,CAAA,YAAY,GAAG,eAAe;AAGjC,QAAA,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,MAAM;IACtC;AAEA,IAAA,IAAW,WAAW,GAAA;QAClB,IAAI,WAAW,GAA8B,EAAE;AAC/C,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACZ,YAAA,WAAW,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,KAAK;QAC/C;AACA,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,WAAW,CAAC,WAAW,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,QAAQ,GAAG,MAAM;QACjE;AACA,QAAA,WAAW,CAAC,MAAM,CAAC,GAAG,qBAAqB,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,yBAAyB;YAC9F,WAAW,CAAC,cAAc,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;AACjD,QAAA,OAAO,WAAW;IACtB;8GAxBS,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,mMCf1B,0KAKA,EAAA,MAAA,EAAA,CAAA,krBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDUa,aAAa,EAAA,UAAA,EAAA,CAAA;kBANzB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,cAGR,KAAK,EAAA,QAAA,EAAA,0KAAA,EAAA,MAAA,EAAA,CAAA,krBAAA,CAAA,EAAA;;sBAGhB;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;;AErBL;AAYA,MAAM,kBAAkB,GAAG;IACvB,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;IACP,UAAU;IACV,UAAU;IACV,WAAW;CACd;MAiBY,cAAc,CAAA;IAgBvB,IAAI,KAAK,CAAC,KAAa,EAAA;AACnB,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC;AACpB,eAAA,EAAE,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;AAC/C,YAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;QAChC;AACA,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AACpB,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IACvB;AAEA,IAAA,WAAA,GAAA;AACI,QAAA,IAAI,CAAC,IAAI,GAAG,MAAM;AAClB,QAAA,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,MAAM;AACtC,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,WAAW,CAAS,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QACjE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AAC1C,YAAA,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;;AAExB,gBAAA,KAAK,GAAG,UAAU,CAAC,KAAK,CAAsB;YAClD;AACA,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;AAC1B,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,OAAO,GAAG,MAAK,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAK,EAAE,CAAC;IAC5B;AAEO,IAAA,UAAU,CAAC,KAAa,EAAA;AAC3B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;IACtB;AAEO,IAAA,gBAAgB,CAAC,QAAiC,EAAA;AACrD,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;IAC5B;AAEO,IAAA,iBAAiB,CAAC,SAAkC,EAAA;AACvD,QAAA,IAAI,CAAC,OAAO,GAAG,SAAS;IAC5B;AAEA,IAAA,IAAW,WAAW,GAAA;QAClB,IAAI,WAAW,GAA8B,EAAE;QAC/C,MAAM,eAAe,GAAG,IAA4C;AACpE,QAAA,kBAAkB,CAAC,OAAO,CAAC,CAAC,YAAoB,KAAI;AAChD,YAAA,IAAI,eAAe,CAAC,YAAY,CAAC,EAAE;gBAC/B,WAAW,CAAC,YAAY,CAAC,GAAG,eAAe,CAAC,YAAY,CAAC;YAC7D;AACJ,QAAA,CAAC,CAAC;AACF,QAAA,OAAO,WAAW;IACtB;8GA7DS,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EATZ;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,cAAc;AAC3B,gBAAA,KAAK,EAAE,IAAI;AACd,aAAA;AACJ,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClCL,kJAOA,EAAA,MAAA,EAAA,CAAA,2zCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FD8Ba,cAAc,EAAA,UAAA,EAAA,CAAA;kBAb1B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EAAA,SAAA,EAGV;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,cAAgB;AAC3B,4BAAA,KAAK,EAAE,IAAI;AACd,yBAAA;AACJ,qBAAA,EAAA,UAAA,EACW,KAAK,EAAA,QAAA,EAAA,kJAAA,EAAA,MAAA,EAAA,CAAA,2zCAAA,CAAA,EAAA;;sBAGhB;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;;AE3CL,MAAM,iBAAiB,GAAG,MAAM;MAYnB,cAAc,CAAA;AAUvB,IAAA,IAAW,YAAY,GAAA;QACnB,OAAO,IAAI,CAAC;eACL,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAG;AACjD,eAAA,SAAS;IACpB;AAEA,IAAA,IAAW,MAAM,GAAA;AACb,QAAA,IAAI,MAAM,GAAiB;AACvB,YAAA,OAAO,EAAE,IAAI,CAAC,KAAK,IAAI,iBAAiB;AACxC,YAAA,QAAQ,EAAE,IAAI,CAAC,MAAM,IAAI,iBAAiB;AAC1C,YAAA,WAAW,EAAE,IAAI,CAAC,KAAK,IAAI,iBAAiB;AAC5C,YAAA,YAAY,EAAE,IAAI,CAAC,MAAM,IAAI,iBAAiB;SACjD;QACD,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,GAAG,EAAE;AACrC,YAAA,MAAM,GAAG;AACL,gBAAA,GAAG,MAAM;AACT,gBAAA,kBAAkB,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;AAC9F,gBAAA,iBAAiB,EAAE,IAAI,CAAC,cAAc,IAAI;aAC7C;QACL;AACA,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;AAC3B,YAAA,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM;QAClC;AACA,QAAA,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE;AACjC,YAAA,MAAM,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,YAAY;QAC/C;AACA,QAAA,OAAO,MAAM;IACjB;AAEA,IAAA,WAAA,CACY,YAA0B,EAAA;QAA1B,IAAA,CAAA,YAAY,GAAZ,YAAY;IACrB;8GAzCM,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,8QCf3B,6cAmBA,EAAA,MAAA,EAAA,CAAA,iPAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDJa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAN1B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,cAGT,KAAK,EAAA,QAAA,EAAA,6cAAA,EAAA,MAAA,EAAA,CAAA,iPAAA,CAAA,EAAA;;sBAGhB;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;;MEfQ,cAAc,CAAA;AAIvB,IAAA,WAAA,GAAA;AACI,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACpB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE;IACpC;IAEO,cAAc,GAAA;AACjB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;IACtB;AAEO,IAAA,cAAc,CAAC,KAAiB,EAAA;QACnC,KAAK,CAAC,eAAe,EAAE;IAC3B;8GAfS,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,qICR3B,qMAOA,EAAA,MAAA,EAAA,CAAA,0JAAA,CAAA,EAAA,CAAA,CAAA;;2FDCa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAN1B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,cAGT,KAAK,EAAA,QAAA,EAAA,qMAAA,EAAA,MAAA,EAAA,CAAA,0JAAA,CAAA,EAAA;;sBAGhB;;sBACA;;;MEAQ,cAAc,CAAA;AAGvB,IAAA,IAAW,WAAW,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG;IAC1B;AAEA,IAAA,WAAA,CACY,MAAc,EACd,QAAkB,EAClB,cAA8B,EAAA;QAF9B,IAAA,CAAA,MAAM,GAAN,MAAM;QACN,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,cAAc,GAAd,cAAc;QAEtB,IAAI,CAAC,WAAW,GAAG,IAAI,eAAe,CAAa,EAAE,CAAC;QACtD,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,WAAmB,KAAI;AAC9D,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACtC,QAAA,CAAC,CAAC;IACN;IAEO,QAAQ,CAAC,KAAa,EAAE,WAAwB,EAAA;QACnD,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,WAAW,IAAI,EAAE,CAAC;IAC1D;AAEO,IAAA,gBAAgB,CAAC,KAAa,EAAA;AACjC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAChC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CACrC;AACD,QAAA,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC;IAC9B;AAEO,IAAA,uBAAuB,CAC1B,KAAwB,EACxB,WAAuB,EACvB,KAAe,EAAA;AAEf,QAAA,MAAM,SAAS,GAAG,OAAO,KAAK,KAAK,QAAQ,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK;AAC7D,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE;AAC5B,YAAA,WAAW,EAAE;AACT,gBAAA,GAAG,WAAW;AACjB,aAAA;YACD,mBAAmB,EAAE,KAAK,GAAG,OAAO,GAAG,EAAE;AAC5C,SAAA,CAAC;IACN;IAEO,YAAY,GAAA;AACf,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;IACxB;8GA7CS,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAD,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFX,MAAM,EAAA,CAAA,CAAA;;2FAET,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;;MCAY,aAAa,CAAA;AAGtB,IAAA,WAAA,CACY,cAA8B,EAAA;QAA9B,IAAA,CAAA,cAAc,GAAd,cAAc;IACvB;IAEI,UAAU,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;YACX,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC3C;IACJ;8GAXS,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,+FCT1B,wFAGA,EAAA,MAAA,EAAA,CAAA,6DAAA,CAAA,EAAA,CAAA,CAAA;;2FDMa,aAAa,EAAA,UAAA,EAAA,CAAA;kBANzB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,cAGR,KAAK,EAAA,QAAA,EAAA,wFAAA,EAAA,MAAA,EAAA,CAAA,6DAAA,CAAA,EAAA;;sBAGhB;;;MEGQ,eAAe,CAAA;AAMxB,IAAA,WAAA,GAAA;AACI,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAQ;IAC3C;IAEO,OAAO,GAAA;AACV,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAChB,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;QACvB;IACJ;8GAdS,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,8KCb5B,iNAUA,EAAA,MAAA,EAAA,CAAA,0fAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDGa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,cAGV,KAAK,EAAA,QAAA,EAAA,iNAAA,EAAA,MAAA,EAAA,CAAA,0fAAA,CAAA,EAAA;;sBAGhB;;sBACA;;sBACA;;sBACA;;;AEVL,MAAM,gBAAgB,GAAG,KAAK;AAC9B,MAAM,gBAAgB,GAAG,IAAI;MAQhB,eAAe,CAAA;AAUxB,IAAA,WAAA,GAAA;AACI,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACpB,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK;AAC3B,QAAA,IAAI,CAAC,IAAI,GAAG,EAAE;AACd,QAAA,IAAI,CAAC,WAAW,GAAG,gBAAgB;AACnC,QAAA,IAAI,CAAC,WAAW,GAAG,gBAAgB;AACnC,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAQ;AACtC,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,YAAY,EAAQ;AAC/C,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,YAAY,EAAQ;IACnD;IAEO,QAAQ,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;AACrB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;QACtB;IACJ;AAEO,IAAA,cAAc,CAAC,MAAc,EAAA;AAChC,QAAA,IAAI,MAAM,KAAK,CAAC,EAAE;AACd,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;QAC/B;AAAO,aAAA,IAAI,MAAM,KAAK,CAAC,EAAE;AACrB,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;QAC/B;IACJ;8GAjCS,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,sTChB5B,omBAWA,EAAA,MAAA,EAAA,CAAA,oDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,KAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,UAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,cAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDKa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,cAGV,KAAK,EAAA,QAAA,EAAA,omBAAA,EAAA,MAAA,EAAA,CAAA,oDAAA,CAAA,EAAA;;sBAGhB;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;;MEhBQ,eAAe,CAAA;AAGxB,IAAA,WAAA,GAAA;AACI,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;IACxB;8GALS,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,qGCR5B,wMASA,EAAA,MAAA,EAAA,CAAA,oDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,KAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,UAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDDa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,cAGV,KAAK,EAAA,QAAA,EAAA,wMAAA,EAAA,MAAA,EAAA,CAAA,oDAAA,CAAA,EAAA;;sBAGhB;;;MECQ,gBAAgB,CAAA;AAMzB,IAAA,WAAA,CACY,YAA0B,EAAA;QAA1B,IAAA,CAAA,YAAY,GAAZ,YAAY;AAEpB,QAAA,IAAI,CAAC,KAAK,GAAG,OAAO;AACpB,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,EAAE;IACvD;8GAZS,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAT,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,kICV7B,sSASA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAU,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,KAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,UAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDCa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAN5B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,cAGX,KAAK,EAAA,QAAA,EAAA,sSAAA,EAAA;;sBAGhB;;sBACA;;;AELL,MAAM,eAAe,GAAG,IAAI;MAQf,gBAAgB,CAAA;AAOzB,IAAA,WAAA,GAAA;AACI,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACpB,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK;AAC3B,QAAA,IAAI,CAAC,IAAI,GAAG,EAAE;AACd,QAAA,IAAI,CAAC,WAAW,GAAG,eAAe;AAClC,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAQ;IAC1C;IAEO,QAAQ,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;AACrB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;QACtB;IACJ;IAEO,SAAS,GAAA;AACZ,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;IACtB;8GAvBS,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,mNCf7B,ygBAUA,EAAA,MAAA,EAAA,CAAA,qDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAN,eAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,KAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,UAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,cAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDKa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAN5B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,cAGX,KAAK,EAAA,QAAA,EAAA,ygBAAA,EAAA,MAAA,EAAA,CAAA,qDAAA,CAAA,EAAA;;sBAGhB;;sBACA;;sBACA;;sBACA;;sBACA;;;AEpBL;MAiBa,kBAAkB,CAAA;IAQ3B,IAAI,KAAK,CAAC,KAAa,EAAA;QACnB,IAAI,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AAC9B,YAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;QAChC;AACA,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AACpB,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IACvB;AAEA,IAAA,WAAA,GAAA;AACI,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,WAAW,CAAS,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QACjE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AAC1C,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;AAC1B,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,OAAO,GAAG,MAAK,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAK,EAAE,CAAC;IAC5B;AAEO,IAAA,UAAU,CAAC,KAAa,EAAA;AAC3B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;IACtB;AAEO,IAAA,gBAAgB,CAAC,QAAiC,EAAA;AACrD,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;IAC5B;AAEO,IAAA,iBAAiB,CAAC,SAAkC,EAAA;AACvD,QAAA,IAAI,CAAC,OAAO,GAAG,SAAS;IAC5B;8GAnCS,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAThB;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,kBAAkB;AAC/B,gBAAA,KAAK,EAAE,IAAI;AACd,aAAA;AACJ,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECdL,yfAaA,EAAA,MAAA,EAAA,CAAA,sIAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAN,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAS,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,cAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,OAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,KAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,UAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDIa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAb9B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EAAA,SAAA,EAGf;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,kBAAoB;AAC/B,4BAAA,KAAK,EAAE,IAAI;AACd,yBAAA;AACJ,qBAAA,EAAA,UAAA,EACW,KAAK,EAAA,QAAA,EAAA,yfAAA,EAAA,MAAA,EAAA,CAAA,sIAAA,CAAA,EAAA;;sBAGhB;;;AEhBL,MAAM,eAAe,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;MAQnG,sBAAsB,CAAA;AAM/B,IAAA,WAAA,GAAA;AACI,QAAA,IAAI,CAAC,eAAe,GAAG,eAAe;AACtC,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAU;IAC9C;AAEO,IAAA,aAAa,CAAC,KAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;IAC7B;8GAbS,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,8JCVnC,qVAUA,EAAA,MAAA,EAAA,CAAA,+JAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,KAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,UAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDAa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,cAGlB,KAAK,EAAA,QAAA,EAAA,qVAAA,EAAA,MAAA,EAAA,CAAA,+JAAA,CAAA,EAAA;;sBAGhB;;sBACA;;;AEZL;AAIA,MAAM,aAAa,GAAG,SAAS;MAelB,mBAAmB,CAAA;IAS5B,IAAW,KAAK,CAAC,KAAa,EAAA;AAC1B,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,EAAE;AAC3B,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;QAC3B;AACA,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IACxB;AAEA,IAAA,WAAA,GAAA;AACI,QAAA,IAAI,CAAC,UAAU,GAAG,aAAa;AAC/B,QAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK;AACjC,QAAA,IAAI,CAAC,OAAO,GAAG,MAAK,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAK,EAAE,CAAC;IAC5B;AAEO,IAAA,aAAa,CAAC,KAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;AACtB,QAAA,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;IACrC;AAEO,IAAA,UAAU,CAAC,KAAa,EAAA;AAC3B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;IACtB;AAEO,IAAA,gBAAgB,CAAC,QAAiC,EAAA;AACrD,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;IAC5B;AAEO,IAAA,iBAAiB,CAAC,SAAkC,EAAA;AACvD,QAAA,IAAI,CAAC,OAAO,GAAG,SAAS;IAC5B;AAEO,IAAA,qBAAqB,CAAC,KAAc,EAAA;AACvC,QAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK;IACrC;8GA3CS,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EATjB;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,mBAAmB;AAChC,gBAAA,KAAK,EAAE,IAAI;AACd,aAAA;AACJ,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChBL,gfAWA,EAAA,MAAA,EAAA,CAAA,8bAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,KAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,UAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,cAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,sBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDQa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAb/B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAAA,SAAA,EAGhB;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,mBAAqB;AAChC,4BAAA,KAAK,EAAE,IAAI;AACd,yBAAA;AACJ,qBAAA,EAAA,UAAA,EACW,KAAK,EAAA,QAAA,EAAA,gfAAA,EAAA,MAAA,EAAA,CAAA,8bAAA,CAAA,EAAA;;sBAGhB;;;AEpBL;MA2Ba,oBAAoB,CAAA;IAS7B,IAAI,KAAK,CAAC,KAAc,EAAA;AACpB,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,WAAW,EAAE;AAC5B,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK;QAC5B;AACA,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AACpB,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IACvB;AAEA,IAAA,WAAA,GAAA;AACI,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;AACxB,QAAA,IAAI,CAAC,OAAO,GAAG,MAAK,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAK,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAW;IAC9C;IAEO,QAAQ,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf;QACJ;AACA,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW;AACpC,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;IACrC;AAEO,IAAA,UAAU,CAAC,KAAc,EAAA;AAC5B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AACpB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;IAC5B;AAEO,IAAA,gBAAgB,CAAC,QAAkC,EAAA;AACtD,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;IAC5B;AAEO,IAAA,iBAAiB,CAAC,SAAmC,EAAA;AACxD,QAAA,IAAI,CAAC,OAAO,GAAG,SAAS;IAC5B;8GA5CS,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EATlB;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,oBAAoB;AACjC,gBAAA,KAAK,EAAE,IAAI;AACd,aAAA;AACJ,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxBL,iKAGA,EAAA,MAAA,EAAA,CAAA,ksBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDwBa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAdhC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,eAAA,EAGX,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,oBAAsB;AACjC,4BAAA,KAAK,EAAE,IAAI;AACd,yBAAA;AACJ,qBAAA,EAAA,UAAA,EACW,KAAK,EAAA,QAAA,EAAA,iKAAA,EAAA,MAAA,EAAA,CAAA,ksBAAA,CAAA,EAAA;;sBAGhB;;sBACA;;;AE7BL;AAKA,MAAM,eAAe,GAAG,QAAQ;AAChC,MAAM,kBAAkB,GAAG,MAAM;MAoBpB,oBAAoB,CAAA;IAgB7B,IAAI,KAAK,CAAC,KAA2B,EAAA;AACjC,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;AAC1B,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AACpB,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IACvB;AAEA,IAAA,WAAA,GAAA;AACI,QAAA,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,MAAM;AACtC,QAAA,IAAI,CAAC,IAAI,GAAG,MAAM;AAClB,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM;AACnB,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAM;AACtB,QAAA,IAAI,CAAC,MAAM,GAAG,GAAG;AACjB,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,eAAe;AAC9B,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE;AACjB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;AACzB,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK;AAC5B,QAAA,IAAI,CAAC,SAAS,GAAG,kBAAkB;AACnC,QAAA,IAAI,CAAC,OAAO,GAAG,MAAK,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAK,EAAE,CAAC;IAC5B;AAEO,IAAA,UAAU,CAAC,KAA2B,EAAA;AACzC,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;IACtB;AAEO,IAAA,gBAAgB,CAAC,QAA+C,EAAA;AACnE,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;IAC5B;AAEO,IAAA,iBAAiB,CAAC,SAAgD,EAAA;AACrE,QAAA,IAAI,CAAC,OAAO,GAAG,SAAS;IAC5B;AAEO,IAAA,gBAAgB,CAAC,KAAe,EAAA;AACnC,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK,KAAK,SAAS,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,eAAe;IAC9E;AAEO,IAAA,cAAc,CAAC,MAA4B,EAAA;AAC9C,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,IAAI;AAC3B,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;IAChC;IAEO,QAAQ,CAAC,KAAa,EAAE,MAA4B,EAAA;QACvD,OAAO,MAAM,CAAC,KAAK;IACvB;8GA7DS,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EATlB;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,oBAAoB;AACjC,gBAAA,KAAK,EAAE,IAAI;AACd,aAAA;AACJ,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvBL,ogDAgDA,EAAA,MAAA,EAAA,CAAA,y+FAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAd,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAe,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,KAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,UAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDtBa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAbhC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,SAAA,EAGjB;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,oBAAsB;AACjC,4BAAA,KAAK,EAAE,IAAI;AACd,yBAAA;AACJ,qBAAA,EAAA,UAAA,EACW,KAAK,EAAA,QAAA,EAAA,ogDAAA,EAAA,MAAA,EAAA,CAAA,y+FAAA,CAAA,EAAA;;sBAGhB;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;;AEnCL;AAaA,MAAM,cAAc,GAAG,OAAO;MAejB,sBAAsB,CAAA;AAU/B,IAAA,IAAW,KAAK,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;IACnC;IAEA,IAAW,KAAK,CAAC,KAAa,EAAA;QAC1B,IAAI,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AAC9B,YAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;QAChC;AACA,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AACpB,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IACvB;AAEA,IAAA,WAAA,GAAA;AACI,QAAA,IAAI,CAAC,MAAM,GAAG,cAAc;QAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,WAAW,CAAS,EAAE,CAAC;AAC1C,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAU;QACzC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAoB,KAAI;YACzD,IAAI,KAAK,EAAE;AACP,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YAC1B;AACJ,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,OAAO,GAAG,MAAK,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAK,EAAE,CAAC;IAC5B;AAEO,IAAA,UAAU,CAAC,KAAa,EAAA;AAC3B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;IACtB;AAEO,IAAA,gBAAgB,CAAC,QAAiC,EAAA;AACrD,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;IAC5B;AAEO,IAAA,iBAAiB,CAAC,SAAkC,EAAA;AACvD,QAAA,IAAI,CAAC,OAAO,GAAG,SAAS;IAC5B;8GA7CS,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EATpB;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,sBAAsB;AACnC,gBAAA,KAAK,EAAE,IAAI;AACd,aAAA;AACJ,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzBL,ycAaA,EAAA,MAAA,EAAA,CAAA,8lBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAX,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAe,cAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAL,cAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,OAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,KAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,UAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDea,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAblC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EAAA,SAAA,EAGpB;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,sBAAwB;AACnC,4BAAA,KAAK,EAAE,IAAI;AACd,yBAAA;AACJ,qBAAA,EAAA,UAAA,EACW,KAAK,EAAA,QAAA,EAAA,ycAAA,EAAA,MAAA,EAAA,CAAA,8lBAAA,CAAA,EAAA;;sBAGhB;;sBACA;;sBACA;;;MEpBQ,uBAAuB,CAAA;8GAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,0GCXpC,iZAcA,EAAA,MAAA,EAAA,CAAA,0LAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAR,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,KAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,UAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAS,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDHa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,cAGnB,KAAK,EAAA,QAAA,EAAA,iZAAA,EAAA,MAAA,EAAA,CAAA,0LAAA,CAAA,EAAA;;sBAGhB;;;AEZL;MAiBa,wBAAwB,CAAA;IAUjC,IAAI,KAAK,CAAC,KAAe,EAAA;QACrB,IAAI,KAAK,EAAE;AACP,YAAA,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC;QAC5B;aAAO;AACH,YAAA,IAAI,CAAC,MAAM,GAAG,EAAE;QACpB;AACA,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;AAC1B,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;IAC7B;AAEA,IAAA,WAAA,GAAA;AACI,QAAA,IAAI,CAAC,MAAM,GAAG,EAAE;AAChB,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI;AACxB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAU;AACzC,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,WAAW,CAAgB,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC;AAC9E,QAAA,IAAI,CAAC,OAAO,GAAG,MAAK,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAK,EAAE,CAAC;IAC5B;AAEO,IAAA,UAAU,CAAC,KAAe,EAAA;AAC7B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;IACtB;AAEO,IAAA,gBAAgB,CAAC,QAAmC,EAAA;AACvD,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;IAC5B;AAEO,IAAA,iBAAiB,CAAC,SAAoC,EAAA;AACzD,QAAA,IAAI,CAAC,OAAO,GAAG,SAAS;IAC5B;IAEO,KAAK,GAAA;AACR,QAAA,IAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;AAC3B,YAAA,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;AACzD,YAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrC;IACJ;AAEO,IAAA,QAAQ,CAAC,OAAe,EAAA;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAc,EAAE,KAAa,KAAK,KAAK,KAAK,OAAO,CAAC;IACzF;8GAlDS,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EATtB;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,wBAAwB;AACrC,gBAAA,KAAK,EAAE,IAAI;AACd,aAAA;AACJ,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECdL,w4CAiCA,EAAA,MAAA,EAAA,CAAA,k/BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAjB,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAkB,eAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,cAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,cAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,OAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,KAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,UAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDhBa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAbpC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,EAAA,SAAA,EAGtB;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,wBAA0B;AACrC,4BAAA,KAAK,EAAE,IAAI;AACd,yBAAA;AACJ,qBAAA,EAAA,UAAA,EACW,KAAK,EAAA,QAAA,EAAA,w4CAAA,EAAA,MAAA,EAAA,CAAA,k/BAAA,CAAA,EAAA;;sBAGhB;;sBACA;;;MEXQ,wBAAwB,CAAA;AAIjC,IAAA,WAAA,GAAA;AACI,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK;IACrB;IAEO,QAAQ,GAAA;AACX,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI;IAC1B;8GAVS,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,yHCRrC,ylBAaA,EAAA,MAAA,EAAA,CAAA,oyBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAR,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAP,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAL,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,KAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,UAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDLa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBANpC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,cAGpB,KAAK,EAAA,QAAA,EAAA,ylBAAA,EAAA,MAAA,EAAA,CAAA,oyBAAA,CAAA,EAAA;;sBAGhB;;sBACA;;;MELQ,eAAe,CAAA;IACjB,YAAY,CAAC,QAAgB,EAAE,QAAgB,EAAA;QAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;QAC1C,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,eAAe,CAAE,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAC,WAAW,EAAE,CAAC,CAAE;AAC/E,QAAA,MAAM,CAAC,QAAQ,GAAG,QAAQ,GAAG,OAAO;QACpC,MAAM,CAAC,KAAK,EAAE;IAClB;8GANS,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFZ,MAAM,EAAA,CAAA,CAAA;;2FAET,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;;MCEY,cAAc,CAAA;IAEhB,QAAQ,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,oBAAoB,CAAC,sCAAsC,CAAC;IAC5E;IAEO,aAAa,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC;IAChD;AAEO,IAAA,sBAAsB,CAAC,KAAa,EAAA;QACvC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC;AAC/C,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3D;AAEO,IAAA,kBAAkB,CAAC,aAA6B,EAAA;AACnD,QAAA,aAAa,CAAC,OAAO,CAAC,CAAC,YAA0B,KAAI;AACjD,YAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;gBACtB,YAAY,CAAC,WAAW,EAAE;YAC9B;AACJ,QAAA,CAAC,CAAC;AACF,QAAA,OAAO,EAAE;IACb;IAEO,QAAQ,CAAI,EAAU,EAAE,KAAuB,EAAA;AAClD,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,KAAqB,KAAK,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;AACtE,QAAA,OAAO,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS;IAC3D;IAEO,OAAO,CAAI,MAAS,EAAE,MAAS,EAAA;QAClC,IAAI,QAAO,MAAM,CAAC,KAAK,QAAO,MAAM,CAAC;AAAE,YAAA,OAAO,KAAK;AACnD,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC,aAAa,CAAC,MAAmB,EAAE,MAAmB,CAAC;QACvE;AAAO,aAAA,IAAI,QAAO,MAAM,CAAC,KAAK,QAAQ,EAAE;YACpC,OAAO,IAAI,CAAC,cAAc,CAAC,MAAgB,EAAE,MAAgB,CAAC;QAClE;aAAO;YACH,OAAO,MAAM,KAAK,MAAM;QAC5B;IACJ;IAEQ,cAAc,CAAmB,OAAU,EAAE,OAAU,EAAA;QAC3D,IAAI,KAAK,GAAG,IAAI;QAChB,MAAM,CAAC,GAAG,OAAqC;QAC/C,MAAM,CAAC,GAAG,OAAqC;QAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;AACjC,QAAA,KAAI,MAAM,GAAG,IAAI,IAAI,EAAE;AACnB,YAAA,IAAI,QAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,QAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;gBACnC,KAAK,GAAG,KAAK;gBACb;YACJ;AACA,YAAA,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1C;AACA,QAAA,OAAO,KAAK;IAChB;IAEQ,aAAa,CAAI,MAAW,EAAE,MAAW,EAAA;AAC7C,QAAA,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;AAAE,YAAA,OAAO,KAAK;AACjD,QAAA,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE;YACpB,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;AAAE,gBAAA,OAAO,KAAK;QAC7C;AACA,QAAA,OAAO,IAAI;IACf;AAEQ,IAAA,oBAAoB,CAAC,QAAgB,EAAA;QACzC,IAAI,EAAE,GAAW,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;QACrC,MAAM,SAAS,GAAW,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,KAAI;AAEtD,YAAA,MAAM,CAAC,GAAW,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC;YACpD,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;YACxB,OAAO,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;AACxD,QAAA,CAAC,CAAC;AACF,QAAA,OAAO,SAAS;IACpB;8GAxES,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFX,MAAM,EAAA,CAAA,CAAA;;2FAET,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;;;ACyBD,MAAM,UAAU,GAAG;;IAEf,eAAe;IACf,aAAa;;IAEb,cAAc;IACd,aAAa;;IAEb,cAAc;IACd,kBAAkB;IAClB,mBAAmB;IACnB,oBAAoB;IACpB,oBAAoB;IACpB,sBAAsB;IACtB,wBAAwB;;IAExB,aAAa;IACb,aAAa;IACb,aAAa;IACb,eAAe;IACf,gBAAgB;;IAEhB,cAAc;IACd,gBAAgB;IAChB,eAAe;;IAEf,aAAa;IACb,uBAAuB;IACvB,wBAAwB;;IAExB,sBAAsB;CACzB;AAED,MAAM,KAAK,GAAG;IACV,YAAY;CACf;MAgBY,aAAa,CAAA;8GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,iBAjBtB,YAAY;;YAhCZ,eAAe;YACf,aAAa;;YAEb,cAAc;YACd,aAAa;;YAEb,cAAc;YACd,kBAAkB;YAClB,mBAAmB;YACnB,oBAAoB;YACpB,oBAAoB;YACpB,sBAAsB;YACtB,wBAAwB;;YAExB,aAAa;YACb,aAAa;YACb,aAAa;YACb,eAAe;YACf,gBAAgB;;YAEhB,cAAc;YACd,gBAAgB;YAChB,eAAe;;YAEf,aAAa;YACb,uBAAuB;YACvB,wBAAwB;;AAExB,YAAA,sBAAsB,aAalB,YAAY;AACZ,YAAA,mBAAmB,aAVvB,YAAY;;YAhCZ,eAAe;YACf,aAAa;;YAEb,cAAc;YACd,aAAa;;YAEb,cAAc;YACd,kBAAkB;YAClB,mBAAmB;YACnB,oBAAoB;YACpB,oBAAoB;YACpB,sBAAsB;YACtB,wBAAwB;;YAExB,aAAa;YACb,aAAa;YACb,aAAa;YACb,eAAe;YACf,gBAAgB;;YAEhB,cAAc;YACd,gBAAgB;YAChB,eAAe;;YAEf,aAAa;YACb,uBAAuB;YACvB,wBAAwB;;YAExB,sBAAsB,CAAA,EAAA,CAAA,CAAA;AAqBb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YARlB,YAAY;YACZ,mBAAmB,CAAA,EAAA,CAAA,CAAA;;2FAOd,aAAa,EAAA,UAAA,EAAA,CAAA;kBAdzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,YAAY,EAAE;AACV,wBAAA,GAAG,KAAK;AACR,wBAAA,GAAG,UAAU;AAChB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,mBAAmB;AACtB,qBAAA;AACD,oBAAA,OAAO,EAAE;AACL,wBAAA,GAAG,KAAK;AACR,wBAAA,GAAG,UAAU;AAChB;AACJ,iBAAA;;;AChFD;;AAEG;;ACFH;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vynil-ui",
3
- "version": "0.1.0-beta.2",
3
+ "version": "0.1.0-beta.3",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.1.4",
6
6
  "@angular/core": "^21.1.4"
@@ -7,7 +7,6 @@ import { SafeUrl, DomSanitizer } from '@angular/platform-browser';
7
7
  import * as i25 from '@angular/common';
8
8
  import { Location } from '@angular/common';
9
9
  import { Router, ActivatedRoute } from '@angular/router';
10
- import * as i27 from '@angular/platform-browser/animations';
11
10
 
12
11
  declare class InitialsPipe implements PipeTransform {
13
12
  transform(value: string): string;
@@ -197,6 +196,7 @@ declare class RoutingService {
197
196
  private location;
198
197
  private activatedRoute;
199
198
  queryParams: BehaviorSubject<ParamsData>;
199
+ get activeRoute(): string;
200
200
  constructor(router: Router, location: Location, activatedRoute: ActivatedRoute);
201
201
  navigate(route: string, queryParams?: ParamsData): void;
202
202
  navigateInNewTab(route: string): void;
@@ -435,7 +435,7 @@ declare class UtilityService {
435
435
 
436
436
  declare class VynilUIModule {
437
437
  static ɵfac: i0.ɵɵFactoryDeclaration<VynilUIModule, never>;
438
- static ɵmod: i0.ɵɵNgModuleDeclaration<VynilUIModule, [typeof InitialsPipe, typeof ButtonComponent, typeof TextComponent, typeof ImageComponent, typeof IconComponent, typeof InputComponent, typeof IconInputComponent, typeof ColorInputComponent, typeof SelectInputComponent, typeof ToggleInputComponent, typeof ImageURLInputComponent, typeof ImageArrayInputComponent, typeof ViewComponent, typeof CardComponent, typeof PageComponent, typeof HeaderComponent, typeof SidebarComponent, typeof ModalComponent, typeof MessageComponent, typeof DialogComponent, typeof LinkComponent, typeof NavigationLinkComponent, typeof NavigationGroupComponent, typeof ColorSelectorComponent], [typeof i25.CommonModule, typeof i26.ReactiveFormsModule, typeof i27.BrowserAnimationsModule], [typeof InitialsPipe, typeof ButtonComponent, typeof TextComponent, typeof ImageComponent, typeof IconComponent, typeof InputComponent, typeof IconInputComponent, typeof ColorInputComponent, typeof SelectInputComponent, typeof ToggleInputComponent, typeof ImageURLInputComponent, typeof ImageArrayInputComponent, typeof ViewComponent, typeof CardComponent, typeof PageComponent, typeof HeaderComponent, typeof SidebarComponent, typeof ModalComponent, typeof MessageComponent, typeof DialogComponent, typeof LinkComponent, typeof NavigationLinkComponent, typeof NavigationGroupComponent, typeof ColorSelectorComponent]>;
438
+ static ɵmod: i0.ɵɵNgModuleDeclaration<VynilUIModule, [typeof InitialsPipe, typeof ButtonComponent, typeof TextComponent, typeof ImageComponent, typeof IconComponent, typeof InputComponent, typeof IconInputComponent, typeof ColorInputComponent, typeof SelectInputComponent, typeof ToggleInputComponent, typeof ImageURLInputComponent, typeof ImageArrayInputComponent, typeof ViewComponent, typeof CardComponent, typeof PageComponent, typeof HeaderComponent, typeof SidebarComponent, typeof ModalComponent, typeof MessageComponent, typeof DialogComponent, typeof LinkComponent, typeof NavigationLinkComponent, typeof NavigationGroupComponent, typeof ColorSelectorComponent], [typeof i25.CommonModule, typeof i26.ReactiveFormsModule], [typeof InitialsPipe, typeof ButtonComponent, typeof TextComponent, typeof ImageComponent, typeof IconComponent, typeof InputComponent, typeof IconInputComponent, typeof ColorInputComponent, typeof SelectInputComponent, typeof ToggleInputComponent, typeof ImageURLInputComponent, typeof ImageArrayInputComponent, typeof ViewComponent, typeof CardComponent, typeof PageComponent, typeof HeaderComponent, typeof SidebarComponent, typeof ModalComponent, typeof MessageComponent, typeof DialogComponent, typeof LinkComponent, typeof NavigationLinkComponent, typeof NavigationGroupComponent, typeof ColorSelectorComponent]>;
439
439
  static ɵinj: i0.ɵɵInjectorDeclaration<VynilUIModule>;
440
440
  }
441
441