@ndwnu/design-system 0.0.1-beta.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -136
- package/assets/icons/icons.json +830 -46
- package/assets/images/ndw-logo-short.svg +1 -1
- package/assets/images/nwb-logo-short.svg +10 -0
- package/assets/images/nwb-logo.svg +3 -10
- package/components/collapsible/collapsible.animation.d.ts +1 -0
- package/components/collapsible/collapsible.component.d.ts +1 -0
- package/components/dropdown/dropdown-trigger.directive.d.ts +23 -0
- package/components/dropdown/dropdown.component.d.ts +6 -17
- package/components/dropdown/index.d.ts +1 -0
- package/components/form-field/checkbox/checkbox.component.d.ts +23 -0
- package/components/form-field/checkbox/index.d.ts +1 -0
- package/components/form-field/checkbox-group/checkbox-group.component.d.ts +5 -0
- package/components/form-field/checkbox-group/index.d.ts +1 -0
- package/components/form-field/form-field.component.d.ts +12 -8
- package/components/form-field/form-field.model.d.ts +1 -0
- package/components/form-field/index.d.ts +7 -0
- package/components/form-field/radio-button/index.d.ts +1 -0
- package/components/form-field/radio-button/radio-button.component.d.ts +22 -0
- package/components/form-field/radio-group/index.d.ts +1 -0
- package/components/form-field/radio-group/radio-group.component.d.ts +11 -0
- package/components/icon/icon.component.d.ts +2 -5
- package/components/index.d.ts +4 -4
- package/components/main-navigation/main-navigation.component.d.ts +18 -9
- package/components/main-navigation-menu/main-navigation-menu.component.d.ts +2 -4
- package/components/modal/index.d.ts +1 -0
- package/components/modal/modal-trigger.directive.d.ts +20 -0
- package/components/pill/index.d.ts +2 -0
- package/components/pill/pill.component.d.ts +8 -0
- package/components/pill/pill.model.d.ts +8 -0
- package/core/styles/ndw-styles.scss +48 -116
- package/core/styles/nwb-styles.scss +48 -116
- package/esm2022/components/accordion/accordion.component.mjs +1 -1
- package/esm2022/components/accordion/accordion.service.mjs +2 -2
- package/esm2022/components/badge/badge.component.mjs +3 -3
- package/esm2022/components/card/card.component.mjs +3 -3
- package/esm2022/components/collapsible/collapsible.animation.mjs +36 -0
- package/esm2022/components/collapsible/collapsible.component.mjs +7 -9
- package/esm2022/components/dropdown/dropdown-trigger.directive.mjs +99 -0
- package/esm2022/components/dropdown/dropdown.component.mjs +10 -65
- package/esm2022/components/dropdown/index.mjs +2 -1
- package/esm2022/components/form-field/checkbox/checkbox.component.mjs +91 -0
- package/esm2022/components/form-field/checkbox/index.mjs +2 -0
- package/esm2022/components/form-field/checkbox-group/checkbox-group.component.mjs +11 -0
- package/esm2022/components/form-field/checkbox-group/index.mjs +2 -0
- package/esm2022/components/form-field/error/error.component.mjs +12 -0
- package/esm2022/components/form-field/error/index.mjs +2 -0
- package/esm2022/components/form-field/form-field.component.mjs +67 -44
- package/esm2022/components/form-field/form-field.model.mjs +2 -1
- package/esm2022/components/form-field/index.mjs +8 -1
- package/esm2022/components/form-field/info/index.mjs +2 -0
- package/esm2022/components/{info → form-field/info}/info.component.mjs +1 -1
- package/esm2022/components/form-field/input/index.mjs +3 -0
- package/esm2022/components/form-field/input/input.directive.mjs +36 -0
- package/esm2022/components/form-field/input/input.model.mjs +13 -0
- package/esm2022/components/form-field/radio-button/index.mjs +2 -0
- package/esm2022/components/form-field/radio-button/radio-button.component.mjs +81 -0
- package/esm2022/components/form-field/radio-group/index.mjs +2 -0
- package/esm2022/components/form-field/radio-group/radio-group.component.mjs +34 -0
- package/esm2022/components/icon/icon.component.mjs +12 -20
- package/esm2022/components/icon/icon.service.mjs +2 -2
- package/esm2022/components/index.mjs +5 -5
- package/esm2022/components/main-navigation/main-navigation.component.mjs +50 -15
- package/esm2022/components/main-navigation-menu/main-navigation-menu.component.mjs +5 -13
- package/esm2022/components/modal/index.mjs +2 -0
- package/esm2022/components/modal/modal-trigger.directive.mjs +77 -0
- package/esm2022/components/pill/index.mjs +3 -0
- package/esm2022/components/pill/pill.component.mjs +20 -0
- package/esm2022/components/pill/pill.model.mjs +2 -0
- package/esm2022/components/tab/tab.component.mjs +2 -2
- package/esm2022/components/tab-group/tab-group.component.mjs +3 -3
- package/esm2022/components/tooltip/tooltip.component.mjs +3 -3
- package/esm2022/components/tooltip/tooltip.directive.mjs +4 -3
- package/fesm2022/ndwnu-design-system.mjs +610 -205
- package/fesm2022/ndwnu-design-system.mjs.map +1 -1
- package/package.json +3 -2
- package/esm2022/components/error/error.component.mjs +0 -14
- package/esm2022/components/error/index.mjs +0 -2
- package/esm2022/components/info/index.mjs +0 -2
- package/esm2022/components/input/index.mjs +0 -3
- package/esm2022/components/input/input.directive.mjs +0 -36
- package/esm2022/components/input/input.model.mjs +0 -13
- /package/components/{error → form-field/error}/error.component.d.ts +0 -0
- /package/components/{error → form-field/error}/index.d.ts +0 -0
- /package/components/{info → form-field/info}/index.d.ts +0 -0
- /package/components/{info → form-field/info}/info.component.d.ts +0 -0
- /package/components/{input → form-field/input}/index.d.ts +0 -0
- /package/components/{input → form-field/input}/input.directive.d.ts +0 -0
- /package/components/{input → form-field/input}/input.model.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ndwnu-design-system.mjs","sources":["../../../projects/ndw/src/components/accordion/accordion.service.ts","../../../projects/ndw/src/components/badge/badge.component.ts","../../../projects/ndw/src/components/badge/badge.component.html","../../../projects/ndw/src/components/icon/icon.service.ts","../../../projects/ndw/src/components/icon/icon.component.ts","../../../projects/ndw/src/components/collapsible/collapsible.component.ts","../../../projects/ndw/src/components/collapsible/collapsible.component.html","../../../projects/ndw/src/components/accordion/accordion.component.ts","../../../projects/ndw/src/components/accordion/accordion.component.html","../../../projects/ndw/src/components/button/button.directive.ts","../../../projects/ndw/src/components/card/card.component.ts","../../../projects/ndw/src/components/card/card.component.html","../../../projects/ndw/src/components/error/error.component.ts","../../../projects/ndw/src/components/error/error.component.html","../../../projects/ndw/src/components/info/info.component.ts","../../../projects/ndw/src/components/info/info.component.html","../../../projects/ndw/src/components/input/input.directive.ts","../../../projects/ndw/src/components/input/input.model.ts","../../../projects/ndw/src/components/tooltip/tooltip.component.ts","../../../projects/ndw/src/components/tooltip/tooltip.component.html","../../../projects/ndw/src/components/tooltip/tooltip.directive.ts","../../../projects/ndw/src/components/form-field/form-field.model.ts","../../../projects/ndw/src/components/form-field/form-field.component.ts","../../../projects/ndw/src/components/form-field/form-field.component.html","../../../projects/ndw/src/components/main-navigation-menu/main-navigation-menu.component.ts","../../../projects/ndw/src/components/main-navigation-menu/main-navigation-menu.component.html","../../../projects/ndw/src/components/main-navigation/main-navigation.model.ts","../../../projects/ndw/src/components/main-navigation/main-navigation.component.ts","../../../projects/ndw/src/components/main-navigation/main-navigation.component.html","../../../projects/ndw/src/components/tab/tab.component.ts","../../../projects/ndw/src/components/tab/tab.component.html","../../../projects/ndw/src/components/tab-group/tab-group.component.ts","../../../projects/ndw/src/components/tab-group/tab-group.component.html","../../../projects/ndw/src/components/dropdown/dropdown.component.ts","../../../projects/ndw/src/components/dropdown/dropdown.component.html","../../../projects/ndw/src/public-api.ts","../../../projects/ndw/src/ndwnu-design-system.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AccordionService {\n public expanded$ = new Subject<number>();\n\n public setExpandedCollapsible(index: number): void {\n this.expanded$.next(index);\n }\n}\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'ndw-badge',\n standalone: true,\n imports: [],\n templateUrl: './badge.component.html',\n styleUrl: './badge.component.scss',\n})\nexport class BadgeComponent {\n public value = input<number>();\n}\n","@if (value(); as value) {\n @if (value === 0 || (value < -9 || value > 99)) {\n <span class=\"dot\"></span>\n } @else {\n {{ value }}\n }\n} @else {\n {{ value() }}\n}\n","import { Injectable } from '@angular/core';\n\nimport { Icon } from './icon.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class IconService {\n private icons: Icon[] = [];\n\n public getIcon(name: string): Icon {\n const icon = this.icons.find((icon) => icon.name === name);\n if (!icon) {\n throw new Error(`Icon ${name} not found`);\n }\n return icon;\n }\n\n public setIcons(icons: Icon[]): void {\n this.icons = icons;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n OnDestroy,\n OnInit,\n inject,\n input\n} from '@angular/core';\nimport { Subject } from 'rxjs';\n\nimport { IconService } from './icon.service';\n\n@Component({\n selector: 'ndw-icon',\n standalone: true,\n imports: [\n CommonModule,\n ],\n template: '',\n styleUrl: './icon.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IconComponent implements OnDestroy, OnInit {\n public name = input.required<string>();\n\n public interactive = input(false);\n\n @HostBinding('class.interactive')\n protected get interactiveClass(): boolean {\n return this.interactive();\n }\n\n private readonly elementRef = inject(ElementRef);\n private readonly iconService = inject(IconService);\n\n private readonly destroy$ = new Subject<void>();\n\n public ngOnInit(): void {\n const icon = this.iconService.getIcon(this.name());\n this.elementRef.nativeElement.innerHTML = icon.svg;\n }\n\n public ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { NgClass } from '@angular/common';\nimport { Component, HostBinding, inject, input, model } from '@angular/core';\n\nimport { AccordionService } from '../accordion';\nimport { BadgeComponent } from '../badge';\nimport { IconComponent } from '../icon';\n\n@Component({\n selector: 'ndw-collapsible',\n standalone: true,\n imports: [\n BadgeComponent,\n IconComponent,\n NgClass,\n ],\n templateUrl: './collapsible.component.html',\n styleUrl: './collapsible.component.scss'\n})\nexport class CollapsibleComponent {\n public index = input.required<number>();\n public title = input.required<string>();\n public value = input<number>();\n\n public expanded = model(false);\n\n private readonly accordionService = inject(AccordionService);\n\n @HostBinding('class.expanded')\n public get expandedClass(): boolean {\n return this.expanded();\n }\n\n public onClick(): void {\n this.toggle();\n }\n\n public onKeydown(event: KeyboardEvent): void {\n if (event.key !== 'Enter' && event.key !== ' ') {\n return;\n }\n\n event.preventDefault();\n this.toggle();\n }\n\n private toggle(): void {\n this.expanded.set(!this.expanded());\n if (this.expanded()) {\n this.accordionService.setExpandedCollapsible(this.index());\n }\n }\n}\n","<header tabindex=\"0\" (click)=\"onClick()\" (keydown)=\"onKeydown($event)\">\n <div class=\"title\">\n {{ title() }}\n @if (value(); as value) {\n <ndw-badge [value]=\"value\" />\n }\n </div>\n <ndw-icon name=\"chevron-down\" />\n</header>\n<section>\n <ng-content />\n</section>\n","import { Component, OnInit, contentChildren, inject, input } from '@angular/core';\n\nimport { AccordionService } from './accordion.service';\nimport { CollapsibleComponent } from '../collapsible';\n\n@Component({\n selector: 'ndw-accordion',\n standalone: true,\n imports: [],\n templateUrl: './accordion.component.html',\n styleUrl: './accordion.component.scss'\n})\nexport class AccordionComponent implements OnInit {\n public collapseOthers = input(false);\n\n public collapsibles = contentChildren(CollapsibleComponent);\n\n private readonly accordionService = inject(AccordionService);\n\n public ngOnInit(): void {\n this.accordionService.expanded$.subscribe((index: number) => {\n if (!this.collapseOthers()) {\n return;\n }\n\n this.collapsibles().forEach((collapsible: CollapsibleComponent) => {\n collapsible.expanded.set(collapsible.index() === index);\n });\n });\n }\n}\n","<ng-content />\n","import { Directive, ElementRef, OnInit, inject } from '@angular/core';\n\n@Directive({\n selector: '[ndwButton]',\n standalone: true,\n})\nexport class ButtonDirective implements OnInit {\n private readonly elementRef = inject(ElementRef);\n\n public get element(): HTMLButtonElement {\n return this.elementRef.nativeElement as HTMLButtonElement;\n }\n\n public ngOnInit(): void {\n // If the text content of a child node is longer than 35 characters, truncate it\n if (!this.element.childNodes.length) {\n return;\n }\n\n this.element.childNodes.forEach((node) => {\n if (node.nodeType === Node.TEXT_NODE) {\n if (!node.textContent) {\n return;\n }\n\n if (node.textContent.length > 35) {\n node.textContent = node.textContent.slice(0, 35) + '...';\n }\n }\n });\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ndw-card',\n standalone: true,\n imports: [],\n templateUrl: './card.component.html',\n styleUrl: './card.component.scss',\n})\nexport class CardComponent {}\n","<div class=\"ndw-card-title\">\n <ng-content select=\"[title]\"></ng-content>\n</div>\n<div class=\"ndw-card-body\">\n <ng-content select=\"[body]\"></ng-content>\n</div>\n<div class=\"ndw-card-footer\">\n <ng-content select=\"[footer]\"></ng-content>\n</div>","import { Component } from '@angular/core';\n\nimport { IconComponent } from '../icon';\n\n@Component({\n selector: 'ndw-error',\n standalone: true,\n imports: [\n IconComponent,\n ],\n templateUrl: './error.component.html',\n styleUrl: './error.component.scss',\n})\nexport class ErrorComponent {}\n","<ndw-icon name=\"error\" />\n<ng-content />\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ndw-info',\n standalone: true,\n imports: [],\n templateUrl: './info.component.html',\n styleUrl: './info.component.scss',\n})\nexport class InfoComponent {}\n","<ng-content />\n","import { Directive, ElementRef, OnInit, inject } from '@angular/core';\nimport { fromEvent } from 'rxjs';\n\n@Directive({\n selector: 'input[ndwInput], select[ndwInput], textarea[ndwInput]',\n standalone: true,\n})\nexport class InputDirective implements OnInit {\n public set disabled(disabled: boolean) {\n this.element.disabled = disabled;\n }\n\n public set error(error: boolean) {\n this.element.toggleAttribute('error', error);\n }\n\n public set id(id: string) {\n this.element.id = id;\n }\n\n private readonly elementRef = inject(ElementRef);\n\n public get element(): HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement {\n return this.elementRef.nativeElement as (\n HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement\n );\n }\n\n public ngOnInit(): void {\n // Add ndw-changed attribute when the input is changed and has a value\n fromEvent(this.element, 'change').subscribe(() => {\n this.element.toggleAttribute('ndw-changed', !!this.element.value);\n });\n }\n}\n","export enum InputType {\n Date = 'date',\n Email = 'email',\n Number = 'number',\n Password = 'password',\n Search = 'search',\n Tel = 'tel',\n Text = 'text',\n Time = 'time',\n Url = 'url',\n}\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'ndw-tooltip',\n standalone: true,\n imports: [],\n templateUrl: './tooltip.component.html',\n styleUrl: './tooltip.component.scss'\n})\nexport class TooltipComponent {\n public text = input.required<string>();\n}\n","{{ text() }}\n","import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n ComponentRef,\n Directive,\n ElementRef,\n HostListener,\n OnInit,\n inject,\n input\n} from '@angular/core';\n\nimport { TooltipComponent } from './tooltip.component';\n\n@Directive({\n selector: '[ndwTooltip]',\n standalone: true,\n})\nexport class TooltipDirective implements OnInit {\n public text = input.required<string>({ alias: 'ndwTooltip' });\n\n private readonly elementRef = inject(ElementRef);\n private readonly overlay = inject(Overlay);\n\n private overlayRef!: OverlayRef;\n\n public ngOnInit(): void {\n const positionStrategy = this.overlay.position()\n .flexibleConnectedTo(this.elementRef.nativeElement)\n .withPositions([\n {\n offsetX: this.elementRef.nativeElement.offsetWidth / 2 - 16,\n offsetY: -8,\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n panelClass: 'tooltip-top',\n },\n {\n offsetX: this.elementRef.nativeElement.offsetWidth / 2 - 16,\n offsetY: 8,\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n panelClass: 'tooltip-bottom',\n },\n ]);\n this.overlayRef = this.overlay.create({ positionStrategy });\n }\n\n @HostListener('mouseenter')\n protected show(): void {\n if (!this.text().length) {\n return;\n }\n\n const portal = new ComponentPortal(TooltipComponent);\n const tooltipRef: ComponentRef<TooltipComponent> = this.overlayRef.attach(portal);\n tooltipRef.instance.text = this.text;\n }\n\n @HostListener('mouseleave')\n protected hide(): void {\n this.overlayRef.detach();\n }\n}\n","export enum FormFieldElement {\n Input = 'input',\n Select = 'select',\n Textarea = 'textarea',\n}\n","import { CommonModule } from '@angular/common';\nimport {\n AfterContentInit,\n Component,\n OnChanges,\n computed,\n contentChild,\n effect,\n input\n} from '@angular/core';\n\nimport { ErrorComponent } from '../error';\nimport { IconComponent } from '../icon';\nimport { InfoComponent } from '../info';\nimport { InputDirective, InputType } from '../input';\nimport { TooltipDirective } from '../tooltip';\n\nimport { FormFieldElement } from './form-field.model';\n\nconst inputTypesWithPrefixIcon: string[] = [InputType.Search];\nconst inputTypesWithSuffixIcon: string[] = [InputType.Date, InputType.Time];\n\n@Component({\n selector: 'ndw-form-field',\n standalone: true,\n imports: [\n CommonModule,\n ErrorComponent,\n IconComponent,\n InfoComponent,\n TooltipDirective,\n ],\n templateUrl: './form-field.component.html',\n styleUrl: './form-field.component.scss',\n})\nexport class FormFieldComponent implements AfterContentInit, OnChanges {\n public input = contentChild.required(InputDirective);\n\n public label = input<string>();\n\n public disabled = input(false);\n public error = input<string>();\n public info = input<string>();\n public tooltip = input('');\n\n public required = computed(() => this.input().element.required);\n public inputPrefix = computed(() => this.setInputPrefix());\n public inputSuffix = computed(() => this.setInputSuffix());\n\n public uuid = crypto.randomUUID();\n\n public constructor() {\n this.addInputTypeBasedClass();\n }\n\n public ngAfterContentInit(): void {\n if (!this.input()) {\n return;\n }\n\n this.setInputId();\n this.setInputDisabledState();\n this.setInputErrorState();\n }\n\n public ngOnChanges(): void {\n this.setInputErrorState();\n }\n\n private setInputDisabledState(): void {\n this.input().disabled = this.disabled();\n }\n\n private setInputErrorState(): void {\n this.input().error = !!this.error()?.length;\n }\n\n private setInputPrefix(): string | undefined {\n // Set the input icon for search inputs\n return inputTypesWithPrefixIcon.includes(this.input().element.type)\n ? 'search'\n : undefined;\n }\n\n private setInputSuffix(): string | undefined {\n // Set the input icon for date inputs\n if (inputTypesWithSuffixIcon.includes(this.input().element.type)) {\n return this.input().element.type === InputType.Time ? 'clock' : 'calendar';\n }\n\n // Set the input icon for select inputs\n if (this.input().element.nodeName.toLowerCase() === FormFieldElement.Select) {\n return 'chevron-down';\n }\n\n return undefined;\n }\n\n private setInputId(): void {\n this.input().id = `input-${this.uuid}`;\n }\n\n private addInputTypeBasedClass(): void {\n effect(() => {\n const element = this.input().element;\n\n inputTypesWithPrefixIcon.includes(element.type)\n ? element.classList.add('prefix-icon')\n : element.classList.remove('prefix-icon');\n\n inputTypesWithSuffixIcon.includes(element.type)\n ? element.classList.add('suffix-icon')\n : element.classList.remove('suffix-icon');\n });\n }\n}\n","@if (required() || label() || tooltip()) {\n <label ndwLabel [for]=\"'input-' + uuid\">\n @if (required()) {\n <span class=\"required\">\n *\n </span>\n }\n {{ label() }}\n @if (tooltip(); as tooltip) {\n <ndw-icon [ndwTooltip]=\"tooltip\" name=\"info\" />\n }\n </label>\n}\n@if (inputPrefix(); as icon) {\n <ndw-icon class=\"prefix-input-icon\" [ngClass]=\"{ disabled: disabled() }\" [name]=\"icon\" />\n}\n@if (inputSuffix(); as icon) {\n <ndw-icon class=\"suffix-input-icon\" [ngClass]=\"{ disabled: disabled() }\" [name]=\"icon\" />\n}\n<ng-content />\n\n@if (info(); as info) {\n<ndw-info>{{ info }}</ndw-info>\n}\n@if (error(); as error) {\n<ndw-error>{{ error }}</ndw-error>\n}\n","import { Component, HostBinding, input, output } from '@angular/core';\n\nimport { NdwBrand, SimpleMenuItem } from '../main-navigation';\n\n@Component({\n selector: 'ndw-main-navigation-menu',\n standalone: true,\n imports: [],\n templateUrl: './main-navigation-menu.component.html',\n styleUrl: './main-navigation-menu.component.scss'\n})\nexport class MainNavigationMenuComponent {\n public menuItems = input.required<SimpleMenuItem[]>();\n public brand = input(NdwBrand.NDW);\n\n public selected = output<number>();\n\n @HostBinding('attr.brand')\n protected get brandAttribute(): string {\n return this.brand().toLowerCase();\n }\n\n public handleSelected(id: number): void {\n this.selected.emit(id);\n }\n}\n","@for (item of menuItems(); track item.id) {\n <button ndwButton menu (click)=\"handleSelected(item.id)\">\n {{ item.label }}\n </button>\n}\n","export interface SimpleMenuItem {\n id: number;\n label: string;\n}\n\nexport interface MenuItem extends SimpleMenuItem {\n children?: SimpleMenuItem[];\n icon?: string;\n notifications?: number;\n}\n\nexport enum NdwBrand {\n NDW = 'NDW',\n NWB = 'NWB',\n}\n","import { CdkOverlayOrigin, ConnectedPosition, OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport {\n Component,\n HostBinding,\n computed,\n input,\n output,\n signal\n} from '@angular/core';\n\nimport { BadgeComponent } from '../badge';\nimport { IconComponent } from '../icon';\nimport { MainNavigationMenuComponent } from '../main-navigation-menu';\n\nimport { MenuItem, NdwBrand, SimpleMenuItem } from './main-navigation.model';\n\n@Component({\n selector: 'ndw-main-navigation',\n standalone: true,\n imports: [\n BadgeComponent,\n CommonModule,\n IconComponent,\n MainNavigationMenuComponent,\n OverlayModule,\n ],\n templateUrl: './main-navigation.component.html',\n styleUrl: './main-navigation.component.scss',\n})\nexport class MainNavigationComponent {\n public applicationName = input.required<string>();\n public brand = input(NdwBrand.NDW);\n public footerTexts = input<string[]>();\n public isCollapsible = input(true);\n public menuItems = input.required<MenuItem[]>();\n public subMenuItems = input<MenuItem[]>();\n\n public selected = output<number>();\n\n public brandImagePath = computed(() => {\n const brand = this.brand().toLowerCase();\n const variant = !this.isExpanded() ? '-short' : '';\n const extension = '.svg';\n return `assets/images/${brand}-logo${variant}${extension}`;\n });\n\n public isExpanded = signal(true);\n\n @HostBinding('attr.brand')\n protected get brandAttribute(): string {\n return this.brand().toLowerCase();\n }\n\n @HostBinding('class.expanded')\n protected get expandedClass(): boolean {\n return this.isExpanded();\n }\n\n public activeChildItems: SimpleMenuItem[] = [];\n public isChildMenuOpen = false;\n public overlayOrigin!: CdkOverlayOrigin;\n public overlayPositions: ConnectedPosition[] = [\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n ];\n\n public closeChildMenu(): void {\n this.isChildMenuOpen = false;\n }\n\n public handleSelected(trigger: CdkOverlayOrigin, item: MenuItem): void {\n if (!item.children) {\n this.selected.emit(item.id);\n return;\n }\n\n this.activeChildItems = item.children;\n this.overlayOrigin = trigger;\n this.isChildMenuOpen = true;\n }\n\n public handleSelectedChild(id: number): void {\n this.selected.emit(id);\n this.isChildMenuOpen = false;\n }\n\n public toggleView(): void {\n this.isExpanded.set(!this.isExpanded());\n }\n}\n","<header>\n <img\n [src]=\"brandImagePath()\"\n [alt]=\"brand() + ' logo'\"\n />\n @if (isExpanded()) {\n {{ applicationName() }}\n }\n</header>\n<main>\n @for (item of menuItems(); track $index) {\n <ng-container *ngTemplateOutlet=\"menuItem; context: { $implicit: item }\" />\n }\n</main>\n<footer>\n @for (item of subMenuItems(); track $index) {\n <ng-container *ngTemplateOutlet=\"menuItem; context: { $implicit: item }\" />\n }\n @if (isExpanded()) {\n @for (text of footerTexts(); track $index) {\n <p>{{ text }}</p>\n }\n }\n @if (isCollapsible()) {\n <button\n class=\"collapse-button\"\n ndwButton\n menu\n [ngClass]=\"{ collapsed: !isExpanded() }\"\n (click)=\"toggleView()\"\n >\n <ndw-icon name=\"guillemet-left\" />\n </button>\n }\n</footer>\n\n<!-- Templates -->\n<ng-template #menuItem let-item>\n <button ndwButton menu cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\" (click)=\"handleSelected(trigger, item)\">\n @if (item.icon) {\n <ndw-icon [name]=\"item.icon\" />\n }\n @if (isExpanded()) {\n {{ item.label }}\n }\n @if (item.notifications) {\n <ndw-badge [ngClass]=\"{ collapsed: !isExpanded() }\" [value]=\"item.notifications\" />\n }\n @if (isExpanded() && item.children) {\n <ndw-icon class=\"suffix\" name=\"caret-right\" />\n }\n </button>\n</ng-template>\n\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOpen]=\"isChildMenuOpen\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n (overlayOutsideClick)=\"closeChildMenu()\"\n>\n <ndw-main-navigation-menu [brand]=\"brand()\" [menuItems]=\"activeChildItems\" (selected)=\"handleSelectedChild($event)\" />\n</ng-template>\n","import { HostBinding, HostListener, input, model } from '@angular/core';\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'ndw-tab',\n standalone: true,\n imports: [],\n templateUrl: './tab.component.html',\n styleUrl: './tab.component.scss',\n})\nexport class TabComponent {\n public index = input.required<number>();\n\n public active = model(false);\n\n @HostBinding('attr.active')\n protected get activeAttribute(): boolean | null {\n return this.active() || null;\n }\n\n @HostBinding('attr.role')\n protected readonly role = 'tab';\n\n @HostBinding('attr.tabindex')\n protected get tabIndex(): number {\n return this.index() + 1 || 0;\n }\n\n @HostListener('click', ['$event'])\n public onClick(): void {\n this.active.set(true);\n }\n @HostListener('keydown', ['$event'])\n public onTabKeyDown(event: KeyboardEvent): void {\n if (event.key !== 'Enter' && event.key !== 'Space') {\n return;\n }\n\n event.preventDefault();\n this.active.set(true);\n }\n}\n","<ng-content />\n","import { AfterContentInit, Component, HostBinding, contentChildren, model } from '@angular/core';\nimport { TabComponent } from '../tab/tab.component';\n\n@Component({\n selector: 'ndw-tab-group',\n standalone: true,\n imports: [],\n templateUrl: './tab-group.component.html',\n styleUrl: './tab-group.component.scss',\n})\nexport class TabGroupComponent implements AfterContentInit {\n public tabs = contentChildren(TabComponent);\n\n public activeTab = model(0);\n\n @HostBinding('attr.role')\n protected readonly role = 'tablist';\n\n public ngAfterContentInit(): void {\n this.tabs().forEach(({ active, index }) => {\n active.set(this.activeTab() === index());\n active.subscribe((isActive: boolean) => {\n if (isActive) {\n this.activeTab.set(index());\n }\n active.set(this.activeTab() === index());\n });\n });\n\n this.activeTab.subscribe(() => {\n this.tabs().forEach(({ active, index }) => {\n active.set(this.activeTab() === index());\n });\n });\n }\n}\n","<ng-content />","import { Component, HostBinding, HostListener, input } from '@angular/core';\nimport { ConnectedPosition, OverlayModule } from '@angular/cdk/overlay';\nimport { IconComponent } from '../icon';\n\n\n@Component({\n selector: 'ndw-dropdown',\n standalone: true,\n imports: [OverlayModule, IconComponent],\n templateUrl: './dropdown.component.html',\n styleUrl: './dropdown.component.scss'\n})\nexport class DropdownComponent {\n public dropdownId = `dropdown-${Math.random()}`;\n public dropdownContainerId = `overlay-${Math.random()}`;\n public label = input<string>();\n public placeholder = input<string>();\n public autoWidth = input(true);\n public isOpen = false;\n public disabled = input(false);\n public autoClose = input(true);\n public overlayPositions: ConnectedPosition[] = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n ];\n\n @HostBinding('attr.active')\n protected get isActive(): boolean | null {\n return this.isOpen ? this.isOpen : null;\n }\n\n @HostListener('click', ['$event'])\n public onClick(): void {\n if (!this.disabled()) {\n this.isOpen = !this.isOpen;\n }\n }\n\n public onAttach(): void {\n const dropdownContainer = document.getElementById(this.dropdownContainerId);\n const dropdown = document.getElementById(this.dropdownId);\n\n if (dropdownContainer && dropdown && this.autoWidth()) {\n dropdownContainer.style.width = dropdown.offsetWidth + 'px';\n }\n }\n\n public closeOverlay(event: Event): void {\n event.stopPropagation();\n this.isOpen = false;\n }\n\n public onDropDownKeyDown(event: KeyboardEvent): void {\n if (event.key !== 'Enter' || this.disabled()) {\n return;\n }\n this.isOpen = !this.isOpen;\n }\n\n public onKeyDown(event: KeyboardEvent): void {\n if (event.key !== 'Escape' || this.disabled()) {\n return;\n }\n this.isOpen = false;\n }\n}\n","<div\n class=\"ndw-dropdown\"\n [attr.tabindex]=\"disabled() ? null : 0\"\n [attr.disabled]=\"disabled() ? true : null\"\n [attr.active]=\"isOpen ? true : null\"\n #cdkOverlayOrigin\n [attr.id]=\"dropdownId\"\n (keydown)=\"onDropDownKeyDown($event)\">\n @if (label(); as label) {\n <span class=\"ndw-dropdown-label\">{{ label }}</span>\n }\n @else if (placeholder()) {\n <span class=\"ndw-dropdown-placeholder\">{{ placeholder() }}</span>\n }\n <ndw-icon class=\"ndw-dropdown-icon\" name=\"chevron-down\"/>\n</div>\n \n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"cdkOverlayOrigin\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n [cdkConnectedOverlayWidth]=\"'flexible'\"\n [cdkConnectedOverlayOpen]=\"isOpen\"\n (attach)=\"onAttach()\"\n (overlayOutsideClick)=\"autoClose() ? closeOverlay($event) : null\"\n (overlayKeydown)=\"onKeyDown($event)\"\n>\n <div class=\"ndw-dropdown-container\" [attr.id]=\"dropdownContainerId\">\n <ng-content select=\"[dropdownContent]\"/>\n </div>\n</ng-template>","/*\n * Public API Surface of ndw\n */\n\nexport * from './components';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;MAMa,gBAAgB,CAAA;AAH7B,IAAA,WAAA,GAAA;AAIS,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAU,CAAC;AAK1C,KAAA;AAHQ,IAAA,sBAAsB,CAAC,KAAa,EAAA;AACzC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5B;8GALU,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,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,gBAAgB,cAFf,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCIY,cAAc,CAAA;AAP3B,IAAA,WAAA,GAAA;QAQS,IAAK,CAAA,KAAA,GAAG,KAAK,EAAU,CAAC;AAChC,KAAA;8GAFY,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,yMCT3B,qLASA,EAAA,MAAA,EAAA,CAAA,q2oEAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDAa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAP1B,SAAS;+BACE,WAAW,EAAA,UAAA,EACT,IAAI,EAAA,OAAA,EACP,EAAE,EAAA,QAAA,EAAA,qLAAA,EAAA,MAAA,EAAA,CAAA,q2oEAAA,CAAA,EAAA,CAAA;;;MEEA,WAAW,CAAA;AAHxB,IAAA,WAAA,GAAA;QAIU,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;AAa5B,KAAA;AAXQ,IAAA,OAAO,CAAC,IAAY,EAAA;AACzB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAA,UAAA,CAAY,CAAC,CAAC;SAC3C;AACD,QAAA,OAAO,IAAI,CAAC;KACb;AAEM,IAAA,QAAQ,CAAC,KAAa,EAAA;AAC3B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACpB;8GAbU,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAX,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,WAAW,cAFV,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCmBY,aAAa,CAAA;AAV1B,IAAA,WAAA,GAAA;AAWS,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;AAEhC,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AAOjB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAChC,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAElC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;AAWjD,KAAA;AAnBC,IAAA,IACc,gBAAgB,GAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;KAC3B;IAOM,QAAQ,GAAA;AACb,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC;KACpD;IAEM,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC1B;8GAvBU,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAJd,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,0xBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAFV,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAMH,aAAa,EAAA,UAAA,EAAA,CAAA;kBAVzB,SAAS;+BACE,UAAU,EAAA,UAAA,EACR,IAAI,EACP,OAAA,EAAA;wBACP,YAAY;AACb,qBAAA,EAAA,QAAA,EACS,EAAE,EAAA,eAAA,EAEK,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,0xBAAA,CAAA,EAAA,CAAA;8BAQjC,gBAAgB,EAAA,CAAA;sBAD7B,WAAW;uBAAC,mBAAmB,CAAA;;;MCZrB,oBAAoB,CAAA;AAXjC,IAAA,WAAA,GAAA;AAYS,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;AACjC,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;QACjC,IAAK,CAAA,KAAA,GAAG,KAAK,EAAU,CAAC;AAExB,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AAEd,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AA0B9D,KAAA;AAxBC,IAAA,IACW,aAAa,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;KACxB;IAEM,OAAO,GAAA;QACZ,IAAI,CAAC,MAAM,EAAE,CAAC;KACf;AAEM,IAAA,SAAS,CAAC,KAAoB,EAAA;AACnC,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE;YAC9C,OAAO;SACR;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,EAAE,CAAC;KACf;IAEO,MAAM,GAAA;QACZ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;AACpC,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACnB,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;SAC5D;KACF;8GAhCU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EClBjC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,8SAYA,EDDI,MAAA,EAAA,CAAA,46BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,cAAc,yEACd,aAAa,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,aAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAMJ,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAXhC,SAAS;+BACE,iBAAiB,EAAA,UAAA,EACf,IAAI,EACP,OAAA,EAAA;wBACP,cAAc;wBACd,aAAa;wBACb,OAAO;AACR,qBAAA,EAAA,QAAA,EAAA,8SAAA,EAAA,MAAA,EAAA,CAAA,46BAAA,CAAA,EAAA,CAAA;8BAcU,aAAa,EAAA,CAAA;sBADvB,WAAW;uBAAC,gBAAgB,CAAA;;;MEflB,kBAAkB,CAAA;AAP/B,IAAA,WAAA,GAAA;AAQS,QAAA,IAAA,CAAA,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AAE9B,QAAA,IAAA,CAAA,YAAY,GAAG,eAAe,CAAC,oBAAoB,CAAC,CAAC;AAE3C,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAa9D,KAAA;IAXQ,QAAQ,GAAA;QACb,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,KAAa,KAAI;AAC1D,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE;gBAC1B,OAAO;aACR;YAED,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC,WAAiC,KAAI;AAChE,gBAAA,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,KAAK,CAAC,CAAC;AAC1D,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;KACJ;8GAjBU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAGS,oBAAoB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECf5D,kBACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDWa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,SAAS;+BACE,eAAe,EAAA,UAAA,EACb,IAAI,EAAA,OAAA,EACP,EAAE,EAAA,QAAA,EAAA,kBAAA,EAAA,CAAA;;;MEFA,eAAe,CAAA;AAJ5B,IAAA,WAAA,GAAA;AAKmB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAwBlD,KAAA;AAtBC,IAAA,IAAW,OAAO,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,aAAkC,CAAC;KAC3D;IAEM,QAAQ,GAAA;;QAEb,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE;YACnC,OAAO;SACR;QAED,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;YACvC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE;AACpC,gBAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBACrB,OAAO;iBACR;gBAED,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE,EAAE;AAChC,oBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;iBAC1D;aACF;AACH,SAAC,CAAC,CAAC;KACJ;8GAxBU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;;MCIY,aAAa,CAAA;8GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,oECT1B,wQAQM,EAAA,MAAA,EAAA,CAAA,ieAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDCO,aAAa,EAAA,UAAA,EAAA,CAAA;kBAPzB,SAAS;+BACE,UAAU,EAAA,UAAA,EACR,IAAI,EAAA,OAAA,EACP,EAAE,EAAA,QAAA,EAAA,wQAAA,EAAA,MAAA,EAAA,CAAA,ieAAA,CAAA,EAAA,CAAA;;;MEQA,cAAc,CAAA;8GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECb3B,+CAEA,EAAA,MAAA,EAAA,CAAA,sRAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDMI,aAAa,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,aAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKJ,cAAc,EAAA,UAAA,EAAA,CAAA;kBAT1B,SAAS;+BACE,WAAW,EAAA,UAAA,EACT,IAAI,EACP,OAAA,EAAA;wBACP,aAAa;AACd,qBAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,sRAAA,CAAA,EAAA,CAAA;;;MEAU,aAAa,CAAA;8GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,oECT1B,kBACA,EAAA,MAAA,EAAA,CAAA,4KAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDQa,aAAa,EAAA,UAAA,EAAA,CAAA;kBAPzB,SAAS;+BACE,UAAU,EAAA,UAAA,EACR,IAAI,EAAA,OAAA,EACP,EAAE,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,4KAAA,CAAA,EAAA,CAAA;;;MEEA,cAAc,CAAA;AAJ3B,IAAA,WAAA,GAAA;AAiBmB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAclD,KAAA;IA1BC,IAAW,QAAQ,CAAC,QAAiB,EAAA;AACnC,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;KAClC;IAED,IAAW,KAAK,CAAC,KAAc,EAAA;QAC7B,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;KAC9C;IAED,IAAW,EAAE,CAAC,EAAU,EAAA;AACtB,QAAA,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;KACtB;AAID,IAAA,IAAW,OAAO,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,aAEtB,CAAC;KACH;IAEM,QAAQ,GAAA;;QAEb,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,MAAK;AAC/C,YAAA,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACpE,SAAC,CAAC,CAAC;KACJ;8GA1BU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uDAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uDAAuD;AACjE,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;;ICNW,UAUX;AAVD,CAAA,UAAY,SAAS,EAAA;AACnB,IAAA,SAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,SAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,SAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,SAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,SAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,SAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,SAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACb,CAAC,EAVW,SAAS,KAAT,SAAS,GAUpB,EAAA,CAAA,CAAA;;MCDY,gBAAgB,CAAA;AAP7B,IAAA,WAAA,GAAA;AAQS,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;AACxC,KAAA;8GAFY,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,uMCT7B,gBACA,EAAA,MAAA,EAAA,CAAA,4hpEAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDQa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAP5B,SAAS;+BACE,aAAa,EAAA,UAAA,EACX,IAAI,EAAA,OAAA,EACP,EAAE,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,4hpEAAA,CAAA,EAAA,CAAA;;;MEaA,gBAAgB,CAAA;AAJ7B,IAAA,WAAA,GAAA;QAKS,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC,QAAQ,CAAS,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;AAE7C,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAChC,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AA6C5C,KAAA;IAzCQ,QAAQ,GAAA;AACb,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;AAC7C,aAAA,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;AAClD,aAAA,aAAa,CAAC;AACb,YAAA;gBACE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,GAAG,CAAC,GAAG,EAAE;gBAC3D,OAAO,EAAE,CAAC,CAAC;AACX,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,QAAQ,EAAE,OAAO;AACjB,gBAAA,QAAQ,EAAE,QAAQ;AAClB,gBAAA,UAAU,EAAE,aAAa;AAC1B,aAAA;AACD,YAAA;gBACE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,GAAG,CAAC,GAAG,EAAE;AAC3D,gBAAA,OAAO,EAAE,CAAC;AACV,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,OAAO,EAAE,QAAQ;AACjB,gBAAA,QAAQ,EAAE,OAAO;AACjB,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,UAAU,EAAE,gBAAgB;AAC7B,aAAA;AACF,SAAA,CAAC,CAAC;AACL,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC;KAC7D;IAGS,IAAI,GAAA;QACZ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE;YACvB,OAAO;SACR;AAED,QAAA,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,gBAAgB,CAAC,CAAC;QACrD,MAAM,UAAU,GAAmC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClF,UAAU,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;KACtC;IAGS,IAAI,GAAA;AACZ,QAAA,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;KAC1B;8GAhDU,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,YAAA,EAAA,QAAA,EAAA,YAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;8BAoCW,IAAI,EAAA,CAAA;sBADb,YAAY;uBAAC,YAAY,CAAA;gBAYhB,IAAI,EAAA,CAAA;sBADb,YAAY;uBAAC,YAAY,CAAA;;;IC/DhB,iBAIX;AAJD,CAAA,UAAY,gBAAgB,EAAA;AAC1B,IAAA,gBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,gBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,gBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACvB,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,GAI3B,EAAA,CAAA,CAAA;;ACeD,MAAM,wBAAwB,GAAa,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAC9D,MAAM,wBAAwB,GAAa,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;MAe/D,kBAAkB,CAAA;AAgB7B,IAAA,WAAA,GAAA;AAfO,QAAA,IAAA,CAAA,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAE9C,IAAK,CAAA,KAAA,GAAG,KAAK,EAAU,CAAC;AAExB,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QACxB,IAAK,CAAA,KAAA,GAAG,KAAK,EAAU,CAAC;QACxB,IAAI,CAAA,IAAA,GAAG,KAAK,EAAU,CAAC;AACvB,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;AAEpB,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAW,CAAA,WAAA,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QACpD,IAAW,CAAA,WAAA,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;AAEpD,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAGhC,IAAI,CAAC,sBAAsB,EAAE,CAAC;KAC/B;IAEM,kBAAkB,GAAA;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE;YACjB,OAAO;SACR;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;IAEM,WAAW,GAAA;QAChB,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;IAEO,qBAAqB,GAAA;QAC3B,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;KACzC;IAEO,kBAAkB,GAAA;AACxB,QAAA,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC;KAC7C;IAEO,cAAc,GAAA;;AAEpB,QAAA,OAAO,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;AACjE,cAAE,QAAQ;cACR,SAAS,CAAC;KACf;IAEO,cAAc,GAAA;;AAEpB,QAAA,IAAI,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAChE,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,GAAG,OAAO,GAAG,UAAU,CAAC;SAC5E;;AAGD,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,gBAAgB,CAAC,MAAM,EAAE;AAC3E,YAAA,OAAO,cAAc,CAAC;SACvB;AAED,QAAA,OAAO,SAAS,CAAC;KAClB;IAEO,UAAU,GAAA;QAChB,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAA,MAAA,EAAS,IAAI,CAAC,IAAI,CAAA,CAAE,CAAC;KACxC;IAEO,sBAAsB,GAAA;QAC5B,MAAM,CAAC,MAAK;YACV,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC;AAErC,YAAA,wBAAwB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;kBAC3C,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC;kBACpC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AAE5C,YAAA,wBAAwB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;kBAC3C,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC;kBACpC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AAC9C,SAAC,CAAC,CAAC;KACJ;8GA/EU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EACQ,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,cAAc,ECpCrD,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,wtBA2BA,EDDI,MAAA,EAAA,CAAA,6nBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EACZ,EAAA,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,cAAc,EACd,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,aAAa,EACb,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,aAAa,qDACb,gBAAgB,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAb9B,SAAS;+BACE,gBAAgB,EAAA,UAAA,EACd,IAAI,EACP,OAAA,EAAA;wBACP,YAAY;wBACZ,cAAc;wBACd,aAAa;wBACb,aAAa;wBACb,gBAAgB;AACjB,qBAAA,EAAA,QAAA,EAAA,wtBAAA,EAAA,MAAA,EAAA,CAAA,6nBAAA,CAAA,EAAA,CAAA;;;MEpBU,2BAA2B,CAAA;AAPxC,IAAA,WAAA,GAAA;AAQS,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,QAAQ,EAAoB,CAAC;AAC/C,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAE5B,IAAQ,CAAA,QAAA,GAAG,MAAM,EAAU,CAAC;AAUpC,KAAA;AARC,IAAA,IACc,cAAc,GAAA;AAC1B,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC;KACnC;AAEM,IAAA,cAAc,CAAC,EAAU,EAAA;AAC9B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACxB;8GAbU,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,6bCXxC,oJAKA,EAAA,MAAA,EAAA,CAAA,0fAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDMa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAPvC,SAAS;+BACE,0BAA0B,EAAA,UAAA,EACxB,IAAI,EAAA,OAAA,EACP,EAAE,EAAA,QAAA,EAAA,oJAAA,EAAA,MAAA,EAAA,CAAA,0fAAA,CAAA,EAAA,CAAA;8BAWG,cAAc,EAAA,CAAA;sBAD3B,WAAW;uBAAC,YAAY,CAAA;;;IENf,SAGX;AAHD,CAAA,UAAY,QAAQ,EAAA;AAClB,IAAA,QAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,QAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACb,CAAC,EAHW,QAAQ,KAAR,QAAQ,GAGnB,EAAA,CAAA,CAAA;;MCgBY,uBAAuB,CAAA;AAbpC,IAAA,WAAA,GAAA;AAcS,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;AAC3C,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAW,CAAA,WAAA,GAAG,KAAK,EAAY,CAAC;AAChC,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;AAC5B,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,QAAQ,EAAc,CAAC;QACzC,IAAY,CAAA,YAAA,GAAG,KAAK,EAAc,CAAC;QAEnC,IAAQ,CAAA,QAAA,GAAG,MAAM,EAAU,CAAC;AAE5B,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CAAC,MAAK;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC;AACzC,YAAA,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,QAAQ,GAAG,EAAE,CAAC;YACnD,MAAM,SAAS,GAAG,MAAM,CAAC;AACzB,YAAA,OAAO,iBAAiB,KAAK,CAAA,KAAA,EAAQ,OAAO,CAAG,EAAA,SAAS,EAAE,CAAC;AAC7D,SAAC,CAAC,CAAC;AAEI,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAY1B,IAAgB,CAAA,gBAAA,GAAqB,EAAE,CAAC;QACxC,IAAe,CAAA,eAAA,GAAG,KAAK,CAAC;AAExB,QAAA,IAAA,CAAA,gBAAgB,GAAwB;AAC7C,YAAA;AACE,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,QAAQ,EAAE,OAAO;AACjB,gBAAA,QAAQ,EAAE,KAAK;AAChB,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE,QAAQ;AACjB,gBAAA,QAAQ,EAAE,OAAO;AACjB,gBAAA,QAAQ,EAAE,QAAQ;AACnB,aAAA;SACF,CAAC;AAyBH,KAAA;AAnDC,IAAA,IACc,cAAc,GAAA;AAC1B,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC;KACnC;AAED,IAAA,IACc,aAAa,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;KAC1B;IAoBM,cAAc,GAAA;AACnB,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;KAC9B;IAEM,cAAc,CAAC,OAAyB,EAAE,IAAc,EAAA;AAC7D,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5B,OAAO;SACR;AAED,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC;AACtC,QAAA,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;AAC7B,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;KAC7B;AAEM,IAAA,mBAAmB,CAAC,EAAU,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvB,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;KAC9B;IAEM,UAAU,GAAA;QACf,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;KACzC;8GArEU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9BpC,+vDA+DA,EAAA,MAAA,EAAA,CAAA,ghzDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED1CI,cAAc,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,YAAY,EAAA,EAAA,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,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACZ,aAAa,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACb,2BAA2B,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAC3B,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,qEAAA,EAAA,MAAA,EAAA,CAAA,2BAAA,EAAA,8BAAA,EAAA,qCAAA,EAAA,4BAAA,EAAA,4BAAA,EAAA,0BAAA,EAAA,2BAAA,EAAA,6BAAA,EAAA,8BAAA,EAAA,kCAAA,EAAA,+BAAA,EAAA,mCAAA,EAAA,mCAAA,EAAA,yBAAA,EAAA,iCAAA,EAAA,sCAAA,EAAA,gCAAA,EAAA,iCAAA,EAAA,uCAAA,EAAA,kCAAA,EAAA,yBAAA,EAAA,wCAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,4DAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKJ,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAbnC,SAAS;+BACE,qBAAqB,EAAA,UAAA,EACnB,IAAI,EACP,OAAA,EAAA;wBACP,cAAc;wBACd,YAAY;wBACZ,aAAa;wBACb,2BAA2B;wBAC3B,aAAa;AACd,qBAAA,EAAA,QAAA,EAAA,+vDAAA,EAAA,MAAA,EAAA,CAAA,ghzDAAA,CAAA,EAAA,CAAA;8BAwBa,cAAc,EAAA,CAAA;sBAD3B,WAAW;uBAAC,YAAY,CAAA;gBAMX,aAAa,EAAA,CAAA;sBAD1B,WAAW;uBAAC,gBAAgB,CAAA;;;ME5ClB,YAAY,CAAA;AAPzB,IAAA,WAAA,GAAA;AAQS,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;AAEjC,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAQV,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC;AAoBjC,KAAA;AA1BC,IAAA,IACc,eAAe,GAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC;KAC9B;AAKD,IAAA,IACc,QAAQ,GAAA;QACpB,OAAO,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;KAC9B;IAGM,OAAO,GAAA;AACZ,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACvB;AAEM,IAAA,YAAY,CAAC,KAAoB,EAAA;AACtC,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE;YAClD,OAAO;SACR;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACvB;8GA9BU,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAY,ijBCVzB,kBACA,EAAA,MAAA,EAAA,CAAA,mrBAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDSa,YAAY,EAAA,UAAA,EAAA,CAAA;kBAPxB,SAAS;+BACE,SAAS,EAAA,UAAA,EACP,IAAI,EAAA,OAAA,EACP,EAAE,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,mrBAAA,CAAA,EAAA,CAAA;8BAUG,eAAe,EAAA,CAAA;sBAD5B,WAAW;uBAAC,aAAa,CAAA;gBAMP,IAAI,EAAA,CAAA;sBADtB,WAAW;uBAAC,WAAW,CAAA;gBAIV,QAAQ,EAAA,CAAA;sBADrB,WAAW;uBAAC,eAAe,CAAA;gBAMrB,OAAO,EAAA,CAAA;sBADb,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAK1B,YAAY,EAAA,CAAA;sBADlB,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MEtBxB,iBAAiB,CAAA;AAP9B,IAAA,WAAA,GAAA;AAQS,QAAA,IAAA,CAAA,IAAI,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;AAErC,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAGT,IAAI,CAAA,IAAA,GAAG,SAAS,CAAC;AAmBrC,KAAA;IAjBQ,kBAAkB,GAAA;AACvB,QAAA,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAI;YACxC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,KAAK,EAAE,CAAC,CAAC;AACzC,YAAA,MAAM,CAAC,SAAS,CAAC,CAAC,QAAiB,KAAI;gBACrC,IAAI,QAAQ,EAAE;oBACZ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;iBAC7B;gBACD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,KAAK,EAAE,CAAC,CAAC;AAC3C,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAK;AAC5B,YAAA,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAI;gBACxC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,KAAK,EAAE,CAAC,CAAC;AAC3C,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;KACJ;8GAxBU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,WAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,MAAA,EAAA,SAAA,EACE,YAAY,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECX5C,gBAAc,EAAA,MAAA,EAAA,CAAA,uQAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDUD,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAP7B,SAAS;+BACE,eAAe,EAAA,UAAA,EACb,IAAI,EAAA,OAAA,EACP,EAAE,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,uQAAA,CAAA,EAAA,CAAA;8BAUQ,IAAI,EAAA,CAAA;sBADtB,WAAW;uBAAC,WAAW,CAAA;;;MEHb,iBAAiB,CAAA;AAP9B,IAAA,WAAA,GAAA;AAQS,QAAA,IAAA,CAAA,UAAU,GAAG,CAAY,SAAA,EAAA,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;AACzC,QAAA,IAAA,CAAA,mBAAmB,GAAG,CAAW,QAAA,EAAA,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACjD,IAAK,CAAA,KAAA,GAAG,KAAK,EAAU,CAAC;QACxB,IAAW,CAAA,WAAA,GAAG,KAAK,EAAU,CAAC;AAC9B,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;AACf,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AACxB,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;AACxB,QAAA,IAAA,CAAA,gBAAgB,GAAwB;AAC7C,YAAA;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,OAAO,EAAE,QAAQ;AACjB,gBAAA,QAAQ,EAAE,OAAO;AACjB,gBAAA,QAAQ,EAAE,KAAK;AAChB,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,OAAO,EAAE,QAAQ;AACjB,gBAAA,QAAQ,EAAE,OAAO;AACjB,gBAAA,QAAQ,EAAE,QAAQ;AACnB,aAAA;SACF,CAAC;AAyCH,KAAA;AAvCC,IAAA,IACc,QAAQ,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;KACzC;IAGM,OAAO,GAAA;AACZ,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;AACpB,YAAA,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;SAC5B;KACF;IAEM,QAAQ,GAAA;QACb,MAAM,iBAAiB,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC5E,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE1D,IAAI,iBAAiB,IAAI,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;YACrD,iBAAiB,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC;SAC7D;KACF;AAEM,IAAA,YAAY,CAAC,KAAY,EAAA;QAC9B,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;KACrB;AAEM,IAAA,iBAAiB,CAAC,KAAoB,EAAA;QAC3C,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YAC5C,OAAO;SACR;AACD,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;KAC5B;AAEM,IAAA,SAAS,CAAC,KAAoB,EAAA;QACnC,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YAC7C,OAAO;SACR;AACD,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;KACrB;8GA9DU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,ECZ9B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,oiCA8Bc,EDtBF,MAAA,EAAA,CAAA,guDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,aAAa,iiCAAE,aAAa,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,aAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAI3B,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAP7B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,cACZ,IAAI,EAAA,OAAA,EACP,CAAC,aAAa,EAAE,aAAa,CAAC,EAAA,QAAA,EAAA,oiCAAA,EAAA,MAAA,EAAA,CAAA,guDAAA,CAAA,EAAA,CAAA;8BA6BzB,QAAQ,EAAA,CAAA;sBADrB,WAAW;uBAAC,aAAa,CAAA;gBAMnB,OAAO,EAAA,CAAA;sBADb,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;;;AEzCnC;;AAEG;;ACFH;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"ndwnu-design-system.mjs","sources":["../../../projects/ndw/src/components/accordion/accordion.service.ts","../../../projects/ndw/src/components/badge/badge.component.ts","../../../projects/ndw/src/components/badge/badge.component.html","../../../projects/ndw/src/components/icon/icon.service.ts","../../../projects/ndw/src/components/icon/icon.component.ts","../../../projects/ndw/src/components/collapsible/collapsible.animation.ts","../../../projects/ndw/src/components/collapsible/collapsible.component.ts","../../../projects/ndw/src/components/collapsible/collapsible.component.html","../../../projects/ndw/src/components/accordion/accordion.component.ts","../../../projects/ndw/src/components/accordion/accordion.component.html","../../../projects/ndw/src/components/button/button.directive.ts","../../../projects/ndw/src/components/card/card.component.ts","../../../projects/ndw/src/components/card/card.component.html","../../../projects/ndw/src/components/dropdown/dropdown-trigger.directive.ts","../../../projects/ndw/src/components/dropdown/dropdown.component.ts","../../../projects/ndw/src/components/dropdown/dropdown.component.html","../../../projects/ndw/src/components/form-field/checkbox/checkbox.component.ts","../../../projects/ndw/src/components/form-field/checkbox/checkbox.component.html","../../../projects/ndw/src/components/form-field/checkbox-group/checkbox-group.component.ts","../../../projects/ndw/src/components/form-field/checkbox-group/checkbox-group.component.html","../../../projects/ndw/src/components/form-field/error/error.component.ts","../../../projects/ndw/src/components/form-field/error/error.component.html","../../../projects/ndw/src/components/tooltip/tooltip.component.ts","../../../projects/ndw/src/components/tooltip/tooltip.component.html","../../../projects/ndw/src/components/tooltip/tooltip.directive.ts","../../../projects/ndw/src/components/form-field/form-field.model.ts","../../../projects/ndw/src/components/form-field/info/info.component.ts","../../../projects/ndw/src/components/form-field/info/info.component.html","../../../projects/ndw/src/components/form-field/input/input.directive.ts","../../../projects/ndw/src/components/form-field/input/input.model.ts","../../../projects/ndw/src/components/form-field/radio-button/radio-button.component.ts","../../../projects/ndw/src/components/form-field/radio-button/radio-button.component.html","../../../projects/ndw/src/components/form-field/radio-group/radio-group.component.ts","../../../projects/ndw/src/components/form-field/radio-group/radio-group.component.html","../../../projects/ndw/src/components/form-field/form-field.component.ts","../../../projects/ndw/src/components/form-field/form-field.component.html","../../../projects/ndw/src/components/main-navigation-menu/main-navigation-menu.component.ts","../../../projects/ndw/src/components/main-navigation-menu/main-navigation-menu.component.html","../../../projects/ndw/src/components/main-navigation/main-navigation.model.ts","../../../projects/ndw/src/components/main-navigation/main-navigation.component.ts","../../../projects/ndw/src/components/main-navigation/main-navigation.component.html","../../../projects/ndw/src/components/pill/pill.component.ts","../../../projects/ndw/src/components/pill/pill.component.html","../../../projects/ndw/src/components/tab/tab.component.ts","../../../projects/ndw/src/components/tab/tab.component.html","../../../projects/ndw/src/components/tab-group/tab-group.component.ts","../../../projects/ndw/src/components/tab-group/tab-group.component.html","../../../projects/ndw/src/components/modal/modal-trigger.directive.ts","../../../projects/ndw/src/public-api.ts","../../../projects/ndw/src/ndwnu-design-system.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccordionService {\n public expanded$ = new Subject<number>();\n\n public setExpandedCollapsible(index: number): void {\n this.expanded$.next(index);\n }\n}\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'ndw-badge',\n standalone: true,\n imports: [],\n templateUrl: './badge.component.html',\n styleUrl: './badge.component.scss',\n})\nexport class BadgeComponent {\n public value = input<number>();\n}\n","@if (value(); as value) {\n @if (value === 0 || value < -9 || value > 99) {\n <span class=\"dot\"></span>\n } @else {\n {{ value }}\n }\n} @else {\n {{ value() }}\n}\n","import { Injectable } from '@angular/core';\n\nimport { Icon } from './icon.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IconService {\n private icons: Icon[] = [];\n\n public getIcon(name: string): Icon {\n const icon = this.icons.find((icon) => icon.name === name);\n if (!icon) {\n throw new Error(`Icon ${name} not found`);\n }\n return icon;\n }\n\n public setIcons(icons: Icon[]): void {\n this.icons = icons;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n effect,\n inject,\n input,\n} from '@angular/core';\n\nimport { IconService } from './icon.service';\n\n@Component({\n selector: 'ndw-icon',\n standalone: true,\n imports: [CommonModule],\n template: '',\n styleUrl: './icon.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IconComponent {\n public name = input.required<string>();\n\n public interactive = input(false);\n\n @HostBinding('class.interactive')\n protected get interactiveClass(): boolean {\n return this.interactive();\n }\n\n private readonly elementRef = inject(ElementRef);\n private readonly iconService = inject(IconService);\n\n public constructor() {\n effect(() => {\n const icon = this.iconService.getIcon(this.name());\n this.elementRef.nativeElement.innerHTML = icon.svg;\n });\n }\n}\n","import { animate, group, state, style, transition, trigger } from '@angular/animations';\n\nexport const collapsibleAnimation = [\n trigger('collapsible', [\n state(\n 'in',\n style({\n 'max-height': '100vh',\n opacity: '1',\n visibility: 'visible',\n }),\n ),\n state(\n 'out',\n style({\n 'max-height': '0',\n opacity: '0',\n visibility: 'hidden',\n }),\n ),\n transition('in => out', [\n group([\n animate(\n '500ms ease-in-out',\n style({\n 'max-height': '0px',\n opacity: '0',\n visibility: 'hidden',\n }),\n ),\n ]),\n ]),\n transition('out => in', [\n group([\n animate(\n '300ms ease-in-out',\n style({\n opacity: '1',\n }),\n ),\n animate(\n '500ms ease-in-out',\n style({\n 'max-height': '100vh',\n visibility: 'visible',\n }),\n ),\n ]),\n ]),\n ]),\n];\n","import { NgClass } from '@angular/common';\nimport { Component, HostBinding, computed, inject, input, model } from '@angular/core';\n\nimport { AccordionService } from '../accordion';\nimport { BadgeComponent } from '../badge';\nimport { IconComponent } from '../icon';\n\nimport { collapsibleAnimation } from './collapsible.animation';\n\n@Component({\n selector: 'ndw-collapsible',\n standalone: true,\n imports: [BadgeComponent, IconComponent, NgClass],\n templateUrl: './collapsible.component.html',\n styleUrl: './collapsible.component.scss',\n animations: [collapsibleAnimation],\n})\nexport class CollapsibleComponent {\n public index = input.required<number>();\n public title = input.required<string>();\n public value = input<number>();\n\n public expanded = model(false);\n\n private readonly accordionService = inject(AccordionService);\n\n @HostBinding('class.expanded')\n public get expandedClass(): boolean {\n return this.expanded();\n }\n\n public animationState = computed(() => (this.expanded() ? 'in' : 'out'));\n\n public onClick(): void {\n this.toggle();\n }\n\n public onKeydown(event: KeyboardEvent): void {\n if (event.key !== 'Enter') {\n return;\n }\n\n event.preventDefault();\n this.toggle();\n }\n\n private toggle(): void {\n this.expanded.set(!this.expanded());\n if (this.expanded()) {\n this.accordionService.setExpandedCollapsible(this.index());\n }\n }\n}\n","<header tabindex=\"0\" (click)=\"onClick()\" (keydown)=\"onKeydown($event)\">\n <div class=\"title\">\n {{ title() }}\n @if (value(); as value) {\n <ndw-badge [value]=\"value\" />\n }\n </div>\n <ndw-icon name=\"chevron-down\" />\n</header>\n<section [@collapsible]=\"animationState()\">\n <ng-content />\n</section>\n","import { Component, OnInit, contentChildren, inject, input } from '@angular/core';\n\nimport { AccordionService } from './accordion.service';\nimport { CollapsibleComponent } from '../collapsible';\n\n@Component({\n selector: 'ndw-accordion',\n standalone: true,\n imports: [],\n templateUrl: './accordion.component.html',\n styleUrl: './accordion.component.scss',\n})\nexport class AccordionComponent implements OnInit {\n public collapseOthers = input(false);\n\n public collapsibles = contentChildren(CollapsibleComponent);\n\n private readonly accordionService = inject(AccordionService);\n\n public ngOnInit(): void {\n this.accordionService.expanded$.subscribe((index: number) => {\n if (!this.collapseOthers()) {\n return;\n }\n\n this.collapsibles().forEach((collapsible: CollapsibleComponent) => {\n collapsible.expanded.set(collapsible.index() === index);\n });\n });\n }\n}\n","<ng-content />\n","import { Directive, ElementRef, OnInit, inject } from '@angular/core';\n\n@Directive({\n selector: '[ndwButton]',\n standalone: true,\n})\nexport class ButtonDirective implements OnInit {\n private readonly elementRef = inject(ElementRef);\n\n public get element(): HTMLButtonElement {\n return this.elementRef.nativeElement as HTMLButtonElement;\n }\n\n public ngOnInit(): void {\n // If the text content of a child node is longer than 35 characters, truncate it\n if (!this.element.childNodes.length) {\n return;\n }\n\n this.element.childNodes.forEach((node) => {\n if (node.nodeType === Node.TEXT_NODE) {\n if (!node.textContent) {\n return;\n }\n\n if (node.textContent.length > 35) {\n node.textContent = node.textContent.slice(0, 35) + '...';\n }\n }\n });\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ndw-card',\n standalone: true,\n imports: [],\n templateUrl: './card.component.html',\n styleUrl: './card.component.scss',\n})\nexport class CardComponent {}\n","<div class=\"ndw-card-title\">\n <ng-content select=\"[title]\"></ng-content>\n</div>\n<div class=\"ndw-card-body\">\n <ng-content select=\"[body]\"></ng-content>\n</div>\n<div class=\"ndw-card-footer\">\n <ng-content select=\"[footer]\"></ng-content>\n</div>\n","import { ConfigurableFocusTrapFactory } from '@angular/cdk/a11y';\nimport { ConnectedPosition, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n DestroyRef,\n Directive,\n ElementRef,\n HostListener,\n OnDestroy,\n TemplateRef,\n ViewContainerRef,\n effect,\n inject,\n input,\n model,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { first } from 'rxjs';\n\n@Directive({\n selector: '[ndwDropdownTrigger]',\n standalone: true,\n})\nexport class DropdownTriggerDirective implements OnDestroy {\n public dropdownContent = input.required<TemplateRef<unknown>>({ alias: 'ndwDropdownTrigger' });\n public toggleOnClick = input(true);\n public isOpen = model(false);\n\n @HostListener('click')\n public toggle(): void {\n if (!this.toggleOnClick()) {\n return;\n }\n\n this.isOpen.set(!this.isOpen());\n }\n\n @HostListener('keydown.tab')\n public trapFocus(): void {\n if (this.overlayRef?.overlayElement) {\n this.focusTrapFactory.create(this.overlayRef?.overlayElement);\n }\n }\n\n private destroyRef = inject(DestroyRef);\n private elementRef = inject<ElementRef<HTMLElement>>(ElementRef<HTMLElement>);\n private overlay = inject(Overlay);\n private viewContainerRef = inject(ViewContainerRef);\n private focusTrapFactory = inject(ConfigurableFocusTrapFactory);\n\n private overlayRef?: OverlayRef;\n\n public constructor() {\n effect(() => {\n if (this.isOpen()) {\n this.open();\n } else {\n this.close();\n }\n });\n }\n\n public ngOnDestroy(): void {\n this.isOpen.set(false);\n }\n\n private open(): void {\n const position: ConnectedPosition = {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: 4,\n panelClass: 'ndw-dropdown-panel',\n };\n const templatePortal = new TemplatePortal(this.dropdownContent(), this.viewContainerRef);\n\n this.overlayRef = this.overlay.create({\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop',\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n positionStrategy: this.overlay\n .position()\n .flexibleConnectedTo(this.elementRef)\n .withPositions([position]),\n });\n this.overlayRef.attach(templatePortal);\n\n this.closeOverlayOnEscapeKey(this.overlayRef);\n this.closeOverlayOnBackdropClick(this.overlayRef);\n }\n\n private closeOverlayOnEscapeKey(overlayRef: OverlayRef): void {\n overlayRef.overlayElement.onkeydown = (event: KeyboardEvent): void => {\n if (event.key === 'Escape') {\n this.isOpen.set(false);\n }\n };\n }\n\n private closeOverlayOnBackdropClick(overlayRef: OverlayRef): void {\n overlayRef\n .backdropClick()\n .pipe(takeUntilDestroyed(this.destroyRef), first())\n .subscribe(() => {\n this.isOpen.set(false);\n });\n }\n\n private close(): void {\n this.overlayRef?.detach();\n this.elementRef.nativeElement.focus();\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, input, viewChild } from '@angular/core';\nimport { ButtonDirective } from '../button';\nimport { IconComponent } from '../icon';\nimport { DropdownTriggerDirective } from './dropdown-trigger.directive';\n\n@Component({\n selector: 'ndw-dropdown',\n templateUrl: 'dropdown.component.html',\n styleUrls: ['dropdown.component.scss'],\n standalone: true,\n imports: [ButtonDirective, DropdownTriggerDirective, IconComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DropdownComponent {\n public readonly disabled = input(false);\n public readonly dropdownTrigger = viewChild.required(DropdownTriggerDirective);\n public readonly buttonIcon = computed(() =>\n this.dropdownTrigger().isOpen() ? 'chevron-up' : 'chevron-down',\n );\n public readonly buttonText = input.required<string>();\n}\n","<button\n type=\"button\"\n ndwButton\n filter\n [ndwDropdownTrigger]=\"dropdownContent\"\n [disabled]=\"disabled()\"\n>\n {{ buttonText() }}\n <ndw-icon [name]=\"buttonIcon()\" />\n</button>\n<ng-template #dropdownContent>\n <ng-content />\n</ng-template>\n","import { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n HostListener,\n input,\n model,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { IconComponent } from '../../icon';\n\n@Component({\n selector: 'ndw-checkbox',\n standalone: true,\n imports: [IconComponent, NgClass],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: CheckboxComponent,\n multi: true,\n },\n ],\n templateUrl: './checkbox.component.html',\n styleUrl: './checkbox.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n public checked = model(false);\n public switch = input(false);\n public disabled = input(false);\n public error = input(false);\n public indeterminate = input(false);\n public required = input(false);\n public switched = model(false);\n\n public uuid = crypto.randomUUID();\n\n @HostBinding('class.checked')\n public get checkedClass(): boolean {\n return this.checked();\n }\n\n @HostBinding('class.disabled')\n public get disabledClass(): boolean {\n return this.disabled();\n }\n\n @HostBinding('class.indeterminate')\n public get indeterminateClass(): boolean {\n return this.indeterminate();\n }\n\n @HostBinding('attr.tabindex')\n public get tabindexAttr(): number {\n return this.disabled() ? -1 : 0;\n }\n\n @HostListener('click')\n public onClick(): void {\n this.checked.set(!this.checked());\n\n if (this.switch()) {\n this.switched.set(true);\n }\n }\n\n @HostListener('keydown', ['$event'])\n public onKeyDown(event: KeyboardEvent): void {\n if (event.key !== 'Enter' || this.disabled()) {\n return;\n }\n\n this.checked.set(!this.checked());\n if (this.switch()) {\n this.switched.set(true);\n }\n event.preventDefault();\n }\n\n public writeValue(value: boolean): void {\n this.checked.set(value);\n }\n\n public registerOnChange(fn: (value: boolean) => void): void {\n this.checked.subscribe(fn);\n }\n\n public registerOnTouched(): void {\n // noop\n }\n}\n","<input\n type=\"checkbox\"\n [id]=\"'checkbox-' + uuid\"\n [checked]=\"checked()\"\n [disabled]=\"disabled()\"\n [required]=\"required()\"\n/>\n@if (!switch()) {\n <div class=\"checkbox\" [ngClass]=\"{ error: error() }\">\n @if (checked()) {\n <ndw-icon name=\"check\" />\n } @else if (indeterminate()) {\n <ndw-icon name=\"minus\" />\n }\n </div>\n} @else {\n <div class=\"switch\" [ngClass]=\"{ error: error(), switched: switched() }\">\n <div class=\"switch-icon\">\n @if (checked()) {\n <ndw-icon name=\"check\" />\n } @else {\n <ndw-icon name=\"x\" />\n }\n </div>\n </div>\n}\n<label tabindex=\"-1\" [for]=\"'checkbox-' + uuid\" (click)=\"onClick()\" (keydown)=\"onKeyDown($event)\">\n <ng-content />\n</label>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ndw-checkbox-group',\n standalone: true,\n imports: [],\n templateUrl: './checkbox-group.component.html',\n styleUrl: './checkbox-group.component.scss',\n})\nexport class CheckboxGroupComponent {}\n","<ng-content />\n","import { Component } from '@angular/core';\n\nimport { IconComponent } from '../../icon';\n\n@Component({\n selector: 'ndw-error',\n standalone: true,\n imports: [IconComponent],\n templateUrl: './error.component.html',\n styleUrl: './error.component.scss',\n})\nexport class ErrorComponent {}\n","<ndw-icon name=\"error\" />\n<ng-content />\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'ndw-tooltip',\n standalone: true,\n imports: [],\n templateUrl: './tooltip.component.html',\n styleUrl: './tooltip.component.scss',\n})\nexport class TooltipComponent {\n public text = input.required<string>();\n}\n","{{ text() }}\n","import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n ComponentRef,\n Directive,\n ElementRef,\n HostListener,\n OnInit,\n inject,\n input,\n} from '@angular/core';\n\nimport { TooltipComponent } from './tooltip.component';\n\n@Directive({\n selector: '[ndwTooltip]',\n standalone: true,\n})\nexport class TooltipDirective implements OnInit {\n public text = input.required<string>({ alias: 'ndwTooltip' });\n\n private readonly elementRef = inject(ElementRef);\n private readonly overlay = inject(Overlay);\n\n private overlayRef!: OverlayRef;\n\n public ngOnInit(): void {\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(this.elementRef.nativeElement)\n .withPositions([\n {\n offsetX: this.elementRef.nativeElement.offsetWidth / 2 - 16,\n offsetY: -8,\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n panelClass: 'tooltip-top',\n },\n {\n offsetX: this.elementRef.nativeElement.offsetWidth / 2 - 16,\n offsetY: 8,\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n panelClass: 'tooltip-bottom',\n },\n ]);\n this.overlayRef = this.overlay.create({ positionStrategy });\n }\n\n @HostListener('mouseenter')\n protected show(): void {\n if (!this.text().length) {\n return;\n }\n\n const portal = new ComponentPortal(TooltipComponent);\n const tooltipRef: ComponentRef<TooltipComponent> = this.overlayRef.attach(portal);\n tooltipRef.instance.text = this.text;\n }\n\n @HostListener('mouseleave')\n protected hide(): void {\n this.overlayRef.detach();\n }\n}\n","export enum FormFieldElement {\n Dropdown = 'ndw-dropdown',\n Input = 'input',\n Select = 'select',\n Textarea = 'textarea',\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ndw-info',\n standalone: true,\n imports: [],\n templateUrl: './info.component.html',\n styleUrl: './info.component.scss',\n})\nexport class InfoComponent {}\n","<ng-content />\n","import { Directive, ElementRef, OnInit, inject } from '@angular/core';\nimport { fromEvent } from 'rxjs';\n\n@Directive({\n selector: 'input[ndwInput], select[ndwInput], textarea[ndwInput]',\n standalone: true,\n})\nexport class InputDirective implements OnInit {\n public set disabled(disabled: boolean) {\n this.element.disabled = disabled;\n }\n\n public set error(error: boolean) {\n this.element.toggleAttribute('error', error);\n }\n\n public set id(id: string) {\n this.element.id = id;\n }\n\n private readonly elementRef = inject(ElementRef);\n\n public get element(): HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement {\n return this.elementRef.nativeElement as\n | HTMLInputElement\n | HTMLSelectElement\n | HTMLTextAreaElement;\n }\n\n public ngOnInit(): void {\n // Add ndw-changed attribute when the input is changed and has a value\n fromEvent(this.element, 'change').subscribe(() => {\n this.element.toggleAttribute('ndw-changed', !!this.element.value);\n });\n }\n}\n","export enum InputType {\n Date = 'date',\n Email = 'email',\n Number = 'number',\n Password = 'password',\n Search = 'search',\n Tel = 'tel',\n Text = 'text',\n Time = 'time',\n Url = 'url',\n}\n","import { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n HostListener,\n input,\n model,\n viewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { IconComponent } from '../../icon';\n\n@Component({\n selector: 'ndw-radio-button',\n standalone: true,\n imports: [IconComponent, NgClass],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: RadioButtonComponent,\n multi: true,\n },\n ],\n templateUrl: './radio-button.component.html',\n styleUrl: './radio-button.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class RadioButtonComponent implements ControlValueAccessor {\n public checked = model(false);\n public disabled = input(false);\n public error = input(false);\n public name = model('');\n public required = input(false);\n\n public inputElement = viewChild<HTMLInputElement>('input');\n\n public uuid = crypto.randomUUID();\n\n @HostBinding('class.checked')\n public get checkedClass(): boolean {\n return this.checked();\n }\n\n @HostBinding('class.disabled')\n public get disabledClass(): boolean {\n return this.disabled();\n }\n\n @HostBinding('attr.tabindex')\n public get tabindexAttr(): number {\n return this.disabled() ? -1 : 0;\n }\n\n @HostListener('click')\n public onClick(): void {\n this.checked.set(true);\n }\n\n @HostListener('keydown', ['$event'])\n public onKeyDown(event: KeyboardEvent): void {\n if (event.key !== 'Enter' || this.disabled()) {\n return;\n }\n\n this.checked.set(true);\n event.preventDefault();\n }\n\n public get input(): HTMLInputElement | undefined {\n return this.inputElement();\n }\n\n public writeValue(value: boolean): void {\n this.checked.set(value);\n }\n\n public registerOnChange(fn: (value: boolean) => void): void {\n this.checked.subscribe(fn);\n }\n\n public registerOnTouched(): void {\n // noop\n }\n}\n","<input #input type=\"radio\" [id]=\"'radio-button-' + uuid\" [name]=\"name()\" />\n<div class=\"radio-button\" [ngClass]=\"{ error: error() }\">\n @if (checked()) {\n <div class=\"check\"></div>\n }\n</div>\n<label\n tabindex=\"-1\"\n [for]=\"'radio-button-' + uuid\"\n (click)=\"onClick()\"\n (keydown)=\"onKeyDown($event)\"\n>\n <ng-content />\n</label>\n","import { AfterContentInit, Component, contentChildren } from '@angular/core';\n\nimport { RadioButtonComponent } from '../radio-button';\n\n@Component({\n selector: 'ndw-radio-group',\n standalone: true,\n imports: [],\n templateUrl: './radio-group.component.html',\n styleUrl: './radio-group.component.scss',\n})\nexport class RadioGroupComponent implements AfterContentInit {\n public radioButtons = contentChildren(RadioButtonComponent);\n\n private uuid = crypto.randomUUID();\n\n public ngAfterContentInit(): void {\n this.setRadioButtonsName();\n }\n\n private setRadioButtonsName(): void {\n this.radioButtons().forEach((radio) => {\n radio.name.set(this.uuid);\n radio.checked.subscribe((checked) => {\n if (!checked) {\n return;\n }\n\n this.radioButtons().forEach((otherRadio) => {\n if (otherRadio !== radio) {\n otherRadio.checked.set(false);\n }\n });\n });\n });\n }\n}\n","<ng-content />\n","import { CommonModule } from '@angular/common';\nimport {\n Component,\n OnChanges,\n computed,\n contentChild,\n effect,\n contentChildren,\n input,\n} from '@angular/core';\n\nimport { IconComponent } from '../icon';\nimport { TooltipDirective } from '../tooltip';\n\nimport { CheckboxComponent } from './checkbox';\nimport { ErrorComponent } from './error';\nimport { FormFieldElement } from './form-field.model';\nimport { InfoComponent } from './info';\nimport { InputDirective, InputType } from './input';\nimport { RadioGroupComponent } from './radio-group';\n\nconst inputTypesWithPrefixIcon = [InputType.Search];\nconst inputTypesWithSuffixIcon = [InputType.Date, InputType.Time];\n\n@Component({\n selector: 'ndw-form-field',\n standalone: true,\n imports: [CommonModule, ErrorComponent, IconComponent, InfoComponent, TooltipDirective],\n templateUrl: './form-field.component.html',\n styleUrl: './form-field.component.scss',\n})\nexport class FormFieldComponent implements OnChanges {\n public input = contentChild(InputDirective);\n public radioGroup = contentChild(RadioGroupComponent);\n public checkboxes = contentChildren(CheckboxComponent);\n\n public label = input<string>();\n\n public disabled = input(false);\n public error = input<string>();\n public info = input<string>();\n public tooltip = input('');\n\n public required = computed(() => this.setRequiredState());\n public inputPrefix = computed(() => this.setInputPrefix());\n public inputSuffix = computed(() => this.setInputSuffix());\n\n public uuid = crypto.randomUUID();\n\n public constructor() {\n effect(() => {\n const input = this.input();\n if (!input) {\n return;\n }\n\n this.addInputTypeBasedClass(input);\n this.setInputDisabledState(input);\n this.setInputErrorState(input);\n this.setInputId(input);\n });\n }\n\n public ngOnChanges(): void {\n const input = this.input();\n if (!input) {\n return;\n }\n\n this.setInputErrorState(input);\n }\n\n private addInputTypeBasedClass(input: InputDirective): void {\n const element = input.element;\n if (!element) {\n return;\n }\n\n inputTypesWithPrefixIcon.includes(element.type as InputType)\n ? element.classList.add('prefix-icon')\n : element.classList.remove('prefix-icon');\n\n inputTypesWithSuffixIcon.includes(element.type as InputType)\n ? element.classList.add('suffix-icon')\n : element.classList.remove('suffix-icon');\n }\n\n private setInputDisabledState(input: InputDirective): void {\n input.disabled = this.disabled();\n }\n\n private setInputErrorState(input: InputDirective): void {\n input.error = !!this.error()?.length;\n }\n\n private setInputId(input: InputDirective): void {\n input.id = `input-${this.uuid}`;\n }\n\n private setInputPrefix(): string | undefined {\n const input = this.input();\n if (!input) {\n return;\n }\n\n // Set the input icon for search inputs\n return inputTypesWithPrefixIcon.includes(input.element.type as InputType)\n ? 'search'\n : undefined;\n }\n\n private setInputSuffix(): string | undefined {\n const input = this.input();\n if (!input) {\n return;\n }\n\n // Set the input icon for date inputs\n if (inputTypesWithSuffixIcon.includes(input.element.type as InputType)) {\n return input.element.type === InputType.Time ? 'clock' : 'calendar';\n }\n\n // Set the input icon for select inputs\n if (input.element.nodeName.toLowerCase() === FormFieldElement.Select) {\n return 'chevron-down';\n }\n\n return undefined;\n }\n\n private setRequiredState(): boolean {\n const checkboxes = this.checkboxes();\n const input = this.input();\n const radioGroup = this.radioGroup();\n\n const requiredCheckboxes = checkboxes?.some((checkbox) => checkbox.required());\n const requiredInput = input?.element.required;\n const requiredRadioButtons = radioGroup\n ?.radioButtons()\n .some((radioButton) => radioButton.required());\n\n return requiredInput || requiredCheckboxes || requiredRadioButtons || false;\n }\n}\n","@if (required() || label() || tooltip()) {\n <label ndwLabel [for]=\"'input-' + uuid\">\n @if (required()) {\n <span class=\"required\"> * </span>\n }\n {{ label() }}\n @if (tooltip(); as tooltip) {\n <ndw-icon [ndwTooltip]=\"tooltip\" name=\"info\" />\n }\n </label>\n}\n@if (inputPrefix(); as icon) {\n <ndw-icon class=\"prefix-input-icon\" [ngClass]=\"{ disabled: disabled() }\" [name]=\"icon\" />\n}\n@if (inputSuffix(); as icon) {\n <ndw-icon class=\"suffix-input-icon\" [ngClass]=\"{ disabled: disabled() }\" [name]=\"icon\" />\n}\n<ng-content />\n\n@if (info(); as info) {\n <ndw-info>{{ info }}</ndw-info>\n}\n@if (error(); as error) {\n <ndw-error>{{ error }}</ndw-error>\n}\n","import { Component, input, output } from '@angular/core';\n\nimport { SimpleMenuItem } from '../main-navigation';\n\n@Component({\n selector: 'ndw-main-navigation-menu',\n standalone: true,\n imports: [],\n templateUrl: './main-navigation-menu.component.html',\n styleUrl: './main-navigation-menu.component.scss',\n})\nexport class MainNavigationMenuComponent {\n public menuItems = input.required<SimpleMenuItem[]>();\n\n public selected = output<number>();\n\n public handleSelected(id: number): void {\n this.selected.emit(id);\n }\n}\n","@for (item of menuItems(); track item.id) {\n <button ndwButton menu (click)=\"handleSelected(item.id)\">\n {{ item.label }}\n </button>\n}\n","export interface SimpleMenuItem {\n id: number;\n label: string;\n}\n\nexport interface MenuItem extends SimpleMenuItem {\n children?: SimpleMenuItem[];\n icon?: string;\n notifications?: number;\n}\n\nexport enum NdwBrand {\n NDW = 'NDW',\n NWB = 'NWB',\n}\n","import {\n ConnectedPosition,\n Overlay,\n OverlayModule,\n OverlayRef,\n PositionStrategy,\n} from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n TemplateRef,\n ViewContainerRef,\n computed,\n inject,\n input,\n output,\n signal,\n viewChild,\n viewChildren,\n} from '@angular/core';\n\nimport { BadgeComponent } from '../badge';\nimport { IconComponent } from '../icon';\nimport { MainNavigationMenuComponent } from '../main-navigation-menu';\n\nimport { MenuItem, NdwBrand, SimpleMenuItem } from './main-navigation.model';\n\n@Component({\n selector: 'ndw-main-navigation',\n standalone: true,\n imports: [\n BadgeComponent,\n CommonModule,\n IconComponent,\n MainNavigationMenuComponent,\n OverlayModule,\n ],\n templateUrl: './main-navigation.component.html',\n styleUrl: './main-navigation.component.scss',\n})\nexport class MainNavigationComponent implements AfterViewInit {\n public applicationName = input.required<string>();\n public topMenuItems = input.required<MenuItem[]>();\n public bottomMenuItems = input<MenuItem[]>();\n public brand = input(NdwBrand.NDW);\n public footerTexts = input<string[]>();\n public isCollapsible = input(true);\n\n public selected = output<number>();\n\n public buttons = viewChildren<ElementRef<HTMLButtonElement>>('menuTrigger');\n public childMenuTemplate =\n viewChild.required<TemplateRef<MainNavigationMenuComponent>>('childMenu');\n\n public brandImagePath = computed(() => {\n const brand = this.brand().toLowerCase();\n const variant = !this.isExpanded() ? '-short' : '';\n const extension = '.svg';\n return `assets/images/${brand}-logo${variant}${extension}`;\n });\n\n public isExpanded = signal(true);\n\n @HostBinding('attr.brand')\n protected get brandAttribute(): string {\n return this.brand().toLowerCase();\n }\n\n @HostBinding('class.expanded')\n protected get expandedClass(): boolean {\n return this.isExpanded();\n }\n\n // Only close the menu when the cursor is not over the button or the child menu\n @HostListener('document:mousemove', ['$event'])\n public onMouseMove(event: MouseEvent): void {\n const isCursorOverButton = this.activeButton?.nativeElement.contains(event.target as Node);\n const isCursorOverChildMenu = this.overlayRef?.overlayElement.contains(event.target as Node);\n if (!isCursorOverButton && !isCursorOverChildMenu) {\n this.close();\n }\n }\n\n public activeChildItems: SimpleMenuItem[] = [];\n public overlayPositions: ConnectedPosition[] = [\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n ];\n\n private overlay = inject(Overlay);\n private viewContainerRef = inject(ViewContainerRef);\n\n private activeButton?: ElementRef<HTMLButtonElement>;\n private overlayRef?: OverlayRef;\n\n public ngAfterViewInit(): void {\n this.overlayRef = this.overlay.create({\n positionStrategy: this.setPositionStrategy(),\n });\n }\n\n public close(): void {\n this.overlayRef?.detach();\n }\n\n public open(item: MenuItem): void {\n this.close();\n\n this.activeButton = this.buttons().find(\n (button) => Number(button.nativeElement.id) === item.id,\n );\n\n if (!this.activeButton?.nativeElement) {\n return;\n }\n\n if (!item.children) {\n this.selected.emit(item.id);\n return;\n }\n\n this.activeChildItems = item.children;\n\n const portal = new TemplatePortal(this.childMenuTemplate(), this.viewContainerRef);\n // Update the position strategy with the active button as the trigger\n this.overlayRef?.updatePositionStrategy(\n this.setPositionStrategy(this.activeButton.nativeElement),\n );\n this.overlayRef?.attach(portal);\n }\n\n public handleSelectedChild(id: number): void {\n this.selected.emit(id);\n this.close();\n }\n\n public toggleView(): void {\n this.isExpanded.set(!this.isExpanded());\n }\n\n private setPositionStrategy(trigger?: HTMLButtonElement): PositionStrategy {\n if (!trigger) {\n return this.overlay.position().global();\n }\n\n return this.overlay\n .position()\n .flexibleConnectedTo(trigger)\n .withPositions(this.overlayPositions);\n }\n}\n","<header>\n <img [src]=\"brandImagePath()\" [alt]=\"brand() + ' logo'\" />\n @if (isExpanded()) {\n {{ applicationName() }}\n }\n</header>\n<main>\n @for (item of topMenuItems(); track $index) {\n <ng-container *ngTemplateOutlet=\"menuItem; context: { $implicit: item }\" />\n }\n</main>\n<footer>\n @for (item of bottomMenuItems(); track $index) {\n <ng-container *ngTemplateOutlet=\"menuItem; context: { $implicit: item }\" />\n }\n @if (isExpanded()) {\n @for (text of footerTexts(); track $index) {\n <p>{{ text }}</p>\n }\n }\n @if (isCollapsible()) {\n <button\n class=\"collapse-button\"\n ndwButton\n menu\n aria-label=\"expand-button\"\n [ngClass]=\"{ collapsed: !isExpanded() }\"\n (click)=\"toggleView()\"\n >\n <ndw-icon name=\"guillemet-left\" />\n </button>\n }\n</footer>\n\n<!-- Templates -->\n<ng-template #menuItem let-item>\n <button ndwButton menu #menuTrigger [id]=\"item.id\" (focus)=\"open(item)\" (mouseover)=\"open(item)\">\n @if (item.icon) {\n <ndw-icon [name]=\"item.icon\" />\n }\n @if (isExpanded()) {\n {{ item.label }}\n }\n @if (item.notifications) {\n <ndw-badge [ngClass]=\"{ collapsed: !isExpanded() }\" [value]=\"item.notifications\" />\n }\n @if (isExpanded() && item.children) {\n <ndw-icon class=\"suffix\" name=\"caret-right\" />\n }\n </button>\n</ng-template>\n\n<ng-template #childMenu>\n <ndw-main-navigation-menu\n [menuItems]=\"activeChildItems\"\n (selected)=\"handleSelectedChild($event)\"\n />\n</ng-template>\n","import { Component, HostBinding, input } from '@angular/core';\nimport { PillColor } from './pill.model';\n\n@Component({\n selector: 'ndw-pill',\n standalone: true,\n templateUrl: './pill.component.html',\n styleUrl: './pill.component.scss',\n})\nexport class PillComponent {\n public readonly color = input(PillColor.Green);\n\n @HostBinding('class')\n public get hostClass(): string[] {\n return ['ndw-paragraph-md', this.color()];\n }\n}\n","<ng-content />\n","import { HostBinding, HostListener, input, model } from '@angular/core';\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'ndw-tab',\n standalone: true,\n imports: [],\n templateUrl: './tab.component.html',\n styleUrl: './tab.component.scss',\n})\nexport class TabComponent {\n public index = input.required<number>();\n\n public active = model(false);\n\n @HostBinding('attr.active')\n protected get activeAttribute(): boolean | null {\n return this.active() || null;\n }\n\n @HostBinding('attr.role')\n protected readonly role = 'tab';\n\n @HostBinding('attr.tabindex')\n protected get tabIndex(): number {\n return this.index() + 1 || 0;\n }\n\n @HostListener('click', ['$event'])\n public onClick(): void {\n this.active.set(true);\n }\n @HostListener('keydown', ['$event'])\n public onTabKeyDown(event: KeyboardEvent): void {\n if (event.key !== 'Enter') {\n return;\n }\n\n event.preventDefault();\n this.active.set(true);\n }\n}\n","<ng-content />\n","import { AfterContentInit, Component, HostBinding, contentChildren, model } from '@angular/core';\nimport { TabComponent } from '../tab/tab.component';\n\n@Component({\n selector: 'ndw-tab-group',\n standalone: true,\n imports: [],\n templateUrl: './tab-group.component.html',\n styleUrl: './tab-group.component.scss',\n})\nexport class TabGroupComponent implements AfterContentInit {\n public tabs = contentChildren(TabComponent);\n\n public activeTab = model(0);\n\n @HostBinding('attr.role')\n protected readonly role = 'tablist';\n\n public ngAfterContentInit(): void {\n this.tabs().forEach(({ active, index }) => {\n active.set(this.activeTab() === index());\n active.subscribe((isActive: boolean) => {\n if (isActive) {\n this.activeTab.set(index());\n }\n active.set(this.activeTab() === index());\n });\n });\n\n this.activeTab.subscribe(() => {\n this.tabs().forEach(({ active, index }) => {\n active.set(this.activeTab() === index());\n });\n });\n }\n}\n","<ng-content />\n","import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n DestroyRef,\n Directive,\n HostListener,\n Input,\n OnDestroy,\n TemplateRef,\n ViewContainerRef,\n effect,\n inject,\n model,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { EMPTY, Observable } from 'rxjs';\nimport { CardComponent } from '../card';\n\n@Directive({\n selector: '[ndwModalTrigger]',\n standalone: true,\n})\nexport class ModalTriggerDirective implements OnDestroy {\n @Input('ndwModalTrigger') public connectedTemplate!: TemplateRef<CardComponent>;\n public isOpen = model(false);\n private overlay = inject(Overlay);\n private overlayRef?: OverlayRef;\n private viewContainerRef = inject(ViewContainerRef);\n private destroyRef$ = inject(DestroyRef);\n\n public constructor() {\n effect(() => (this.isOpen() ? this.open() : this.detach()));\n }\n\n @HostListener('click', ['$event'])\n public onClick(): void {\n this.isOpen.set(!this.isOpen());\n }\n\n public ngOnDestroy(): void {\n this.overlayRef?.dispose();\n }\n\n private open(): void {\n const templatePortal = new TemplatePortal(this.connectedTemplate, this.viewContainerRef);\n this.overlayRef = this.overlay.create({\n hasBackdrop: true,\n backdropClass: 'ndw-overlay-backdrop',\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n positionStrategy: this.overlay.position().global().centerHorizontally().centerVertically(),\n });\n this.overlayRef.attach(templatePortal);\n this.overlayRef.hostElement.addEventListener('click', (event: MouseEvent) => {\n const target = event.target as HTMLElement | null;\n if (this.nodeOrParentsHaveAttribute(target, 'ndwModalCloseTrigger')) {\n this.isOpen.set(false);\n }\n });\n\n this.actions()\n .pipe(takeUntilDestroyed(this.destroyRef$))\n .subscribe(() => {\n this.isOpen.set(false);\n });\n }\n\n private nodeOrParentsHaveAttribute(node: HTMLElement | null, attribute: string): boolean {\n let next = node;\n while (next) {\n if (next.hasAttribute(attribute)) {\n return true;\n }\n next = next.parentElement;\n }\n return false;\n }\n\n private actions(): Observable<MouseEvent> {\n if (!this.overlayRef) {\n return EMPTY;\n }\n\n return this.overlayRef._outsidePointerEvents;\n }\n\n private detach(): void {\n this.overlayRef?.detach();\n }\n}\n","/*\n * Public API Surface of ndw\n */\n\nexport * from './components';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ndwnu/design-system",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/cdk": "^17.3.0",
|
|
6
6
|
"@angular/common": "^17.3.0",
|
|
7
|
-
"@angular/core": "^17.3.0"
|
|
7
|
+
"@angular/core": "^17.3.0",
|
|
8
|
+
"@angular/platform-browser": "^17.3.0"
|
|
8
9
|
},
|
|
9
10
|
"dependencies": {
|
|
10
11
|
"tslib": "^2.3.0"
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { IconComponent } from '../icon';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class ErrorComponent {
|
|
5
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: ErrorComponent, isStandalone: true, selector: "ndw-error", ngImport: i0, template: "<ndw-icon name=\"error\" />\n<ng-content />\n", styles: [":host{align-content:center;align-items:center;color:var(--ndw-color-negative-700);display:grid;font-family:var(--ndw-font-family);font-size:var(--ndw-font-size-xs);gap:var(--ndw-spacing-2xs);grid-template-columns:auto 1fr;height:1rem;line-height:100%}ndw-icon{width:.875rem}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "ndw-icon", inputs: ["name", "interactive"] }] }); }
|
|
7
|
-
}
|
|
8
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ErrorComponent, decorators: [{
|
|
9
|
-
type: Component,
|
|
10
|
-
args: [{ selector: 'ndw-error', standalone: true, imports: [
|
|
11
|
-
IconComponent,
|
|
12
|
-
], template: "<ndw-icon name=\"error\" />\n<ng-content />\n", styles: [":host{align-content:center;align-items:center;color:var(--ndw-color-negative-700);display:grid;font-family:var(--ndw-font-family);font-size:var(--ndw-font-size-xs);gap:var(--ndw-spacing-2xs);grid-template-columns:auto 1fr;height:1rem;line-height:100%}ndw-icon{width:.875rem}\n"] }]
|
|
13
|
-
}] });
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Vycm9yL2Vycm9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9lcnJvci9lcnJvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBV3hDLE1BQU0sT0FBTyxjQUFjOzhHQUFkLGNBQWM7a0dBQWQsY0FBYyxxRUNiM0IsK0NBRUEsOFVETUksYUFBYTs7MkZBS0osY0FBYztrQkFUMUIsU0FBUzsrQkFDRSxXQUFXLGNBQ1QsSUFBSSxXQUNQO3dCQUNQLGFBQWE7cUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL2ljb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZHctZXJyb3InLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2Vycm9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2Vycm9yLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgRXJyb3JDb21wb25lbnQge31cbiIsIjxuZHctaWNvbiBuYW1lPVwiZXJyb3JcIiAvPlxuPG5nLWNvbnRlbnQgLz5cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './error.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvZXJyb3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZXJyb3IuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './info.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvaW5mby9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pbmZvLmNvbXBvbmVudCc7XG4iXX0=
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './input.directive';
|
|
2
|
-
export * from './input.model';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvaW5wdXQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaW5wdXQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vaW5wdXQubW9kZWwnO1xuIl19
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, inject } from '@angular/core';
|
|
2
|
-
import { fromEvent } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class InputDirective {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.elementRef = inject(ElementRef);
|
|
7
|
-
}
|
|
8
|
-
set disabled(disabled) {
|
|
9
|
-
this.element.disabled = disabled;
|
|
10
|
-
}
|
|
11
|
-
set error(error) {
|
|
12
|
-
this.element.toggleAttribute('error', error);
|
|
13
|
-
}
|
|
14
|
-
set id(id) {
|
|
15
|
-
this.element.id = id;
|
|
16
|
-
}
|
|
17
|
-
get element() {
|
|
18
|
-
return this.elementRef.nativeElement;
|
|
19
|
-
}
|
|
20
|
-
ngOnInit() {
|
|
21
|
-
// Add ndw-changed attribute when the input is changed and has a value
|
|
22
|
-
fromEvent(this.element, 'change').subscribe(() => {
|
|
23
|
-
this.element.toggleAttribute('ndw-changed', !!this.element.value);
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: InputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
27
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.0", type: InputDirective, isStandalone: true, selector: "input[ndwInput], select[ndwInput], textarea[ndwInput]", ngImport: i0 }); }
|
|
28
|
-
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: InputDirective, decorators: [{
|
|
30
|
-
type: Directive,
|
|
31
|
-
args: [{
|
|
32
|
-
selector: 'input[ndwInput], select[ndwInput], textarea[ndwInput]',
|
|
33
|
-
standalone: true,
|
|
34
|
-
}]
|
|
35
|
-
}] });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2lucHV0L2lucHV0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFNakMsTUFBTSxPQUFPLGNBQWM7SUFKM0I7UUFpQm1CLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7S0FjbEQ7SUExQkMsSUFBVyxRQUFRLENBQUMsUUFBaUI7UUFDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFXLEtBQUssQ0FBQyxLQUFjO1FBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBVyxFQUFFLENBQUMsRUFBVTtRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUlELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFFdEIsQ0FBQztJQUNKLENBQUM7SUFFTSxRQUFRO1FBQ2Isc0VBQXNFO1FBQ3RFLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDL0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0ExQlUsY0FBYztrR0FBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQUoxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1REFBdUQ7b0JBQ2pFLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgT25Jbml0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdpbnB1dFtuZHdJbnB1dF0sIHNlbGVjdFtuZHdJbnB1dF0sIHRleHRhcmVhW25kd0lucHV0XScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIElucHV0RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIHNldCBkaXNhYmxlZChkaXNhYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMuZWxlbWVudC5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICB9XG5cbiAgcHVibGljIHNldCBlcnJvcihlcnJvcjogYm9vbGVhbikge1xuICAgIHRoaXMuZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoJ2Vycm9yJywgZXJyb3IpO1xuICB9XG5cbiAgcHVibGljIHNldCBpZChpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5lbGVtZW50LmlkID0gaWQ7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgcHVibGljIGdldCBlbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MU2VsZWN0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyAoXG4gICAgICBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFNlbGVjdEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50XG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBBZGQgbmR3LWNoYW5nZWQgYXR0cmlidXRlIHdoZW4gdGhlIGlucHV0IGlzIGNoYW5nZWQgYW5kIGhhcyBhIHZhbHVlXG4gICAgZnJvbUV2ZW50KHRoaXMuZWxlbWVudCwgJ2NoYW5nZScpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmVsZW1lbnQudG9nZ2xlQXR0cmlidXRlKCduZHctY2hhbmdlZCcsICEhdGhpcy5lbGVtZW50LnZhbHVlKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export var InputType;
|
|
2
|
-
(function (InputType) {
|
|
3
|
-
InputType["Date"] = "date";
|
|
4
|
-
InputType["Email"] = "email";
|
|
5
|
-
InputType["Number"] = "number";
|
|
6
|
-
InputType["Password"] = "password";
|
|
7
|
-
InputType["Search"] = "search";
|
|
8
|
-
InputType["Tel"] = "tel";
|
|
9
|
-
InputType["Text"] = "text";
|
|
10
|
-
InputType["Time"] = "time";
|
|
11
|
-
InputType["Url"] = "url";
|
|
12
|
-
})(InputType || (InputType = {}));
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvaW5wdXQvaW5wdXQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksU0FVWDtBQVZELFdBQVksU0FBUztJQUNuQiwwQkFBYSxDQUFBO0lBQ2IsNEJBQWUsQ0FBQTtJQUNmLDhCQUFpQixDQUFBO0lBQ2pCLGtDQUFxQixDQUFBO0lBQ3JCLDhCQUFpQixDQUFBO0lBQ2pCLHdCQUFXLENBQUE7SUFDWCwwQkFBYSxDQUFBO0lBQ2IsMEJBQWEsQ0FBQTtJQUNiLHdCQUFXLENBQUE7QUFDYixDQUFDLEVBVlcsU0FBUyxLQUFULFNBQVMsUUFVcEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBJbnB1dFR5cGUge1xuICBEYXRlID0gJ2RhdGUnLFxuICBFbWFpbCA9ICdlbWFpbCcsXG4gIE51bWJlciA9ICdudW1iZXInLFxuICBQYXNzd29yZCA9ICdwYXNzd29yZCcsXG4gIFNlYXJjaCA9ICdzZWFyY2gnLFxuICBUZWwgPSAndGVsJyxcbiAgVGV4dCA9ICd0ZXh0JyxcbiAgVGltZSA9ICd0aW1lJyxcbiAgVXJsID0gJ3VybCcsXG59XG4iXX0=
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|