@ndwnu/design-system 1.0.3 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/components/alert/alert.component.d.ts +13 -0
  2. package/components/alert/alert.model.d.ts +6 -0
  3. package/components/alert/index.d.ts +2 -0
  4. package/components/breadcrumb/breadcrumb.component.d.ts +8 -0
  5. package/components/breadcrumb/index.d.ts +1 -0
  6. package/components/breadcrumb-group/breadcrumb-group.component.d.ts +7 -0
  7. package/components/breadcrumb-group/index.d.ts +1 -0
  8. package/components/dropdown/dropdown.component.d.ts +1 -1
  9. package/components/form-field/checkbox/checkbox.component.d.ts +1 -2
  10. package/components/form-field/input/input.directive.d.ts +6 -0
  11. package/components/form-field/radio-button/radio-button.component.d.ts +7 -4
  12. package/components/form-field/radio-group/radio-group.component.d.ts +9 -1
  13. package/components/icon/icon.component.d.ts +9 -6
  14. package/components/icon/index.d.ts +0 -2
  15. package/components/index.d.ts +5 -2
  16. package/components/main-navigation/main-navigation.model.d.ts +1 -0
  17. package/components/main-navigation-menu/main-navigation-menu.component.d.ts +1 -3
  18. package/components/router-breadcrumbs/index.d.ts +1 -0
  19. package/components/router-breadcrumbs/router-breadcrumbs.component.d.ts +15 -0
  20. package/core/styles/ndw-styles.scss +154 -102
  21. package/core/styles/nwb-styles.scss +116 -96
  22. package/esm2022/components/alert/alert.component.mjs +34 -0
  23. package/esm2022/components/alert/alert.model.mjs +8 -0
  24. package/esm2022/components/alert/index.mjs +3 -0
  25. package/esm2022/components/badge/badge.component.mjs +2 -2
  26. package/esm2022/components/breadcrumb/breadcrumb.component.mjs +15 -0
  27. package/esm2022/components/breadcrumb/index.mjs +2 -0
  28. package/esm2022/components/breadcrumb-group/breadcrumb-group.component.mjs +21 -0
  29. package/esm2022/components/breadcrumb-group/index.mjs +2 -0
  30. package/esm2022/components/collapsible/collapsible.component.mjs +3 -3
  31. package/esm2022/components/dropdown/dropdown.component.mjs +4 -4
  32. package/esm2022/components/form-field/checkbox/checkbox.component.mjs +4 -11
  33. package/esm2022/components/form-field/error/error.component.mjs +3 -3
  34. package/esm2022/components/form-field/form-field.component.mjs +5 -5
  35. package/esm2022/components/form-field/info/info.component.mjs +2 -2
  36. package/esm2022/components/form-field/input/input.directive.mjs +33 -2
  37. package/esm2022/components/form-field/radio-button/radio-button.component.mjs +28 -10
  38. package/esm2022/components/form-field/radio-group/radio-group.component.mjs +45 -5
  39. package/esm2022/components/icon/icon.component.mjs +31 -16
  40. package/esm2022/components/icon/index.mjs +1 -3
  41. package/esm2022/components/index.mjs +6 -3
  42. package/esm2022/components/main-navigation/main-navigation.component.mjs +3 -3
  43. package/esm2022/components/main-navigation/main-navigation.model.mjs +1 -1
  44. package/esm2022/components/main-navigation-menu/main-navigation-menu.component.mjs +4 -8
  45. package/esm2022/components/router-breadcrumbs/index.mjs +2 -0
  46. package/esm2022/components/router-breadcrumbs/router-breadcrumbs.component.mjs +37 -0
  47. package/esm2022/components/tab/tab.component.mjs +2 -2
  48. package/esm2022/components/tooltip/tooltip.component.mjs +2 -2
  49. package/fesm2022/ndwnu-design-system.mjs +326 -160
  50. package/fesm2022/ndwnu-design-system.mjs.map +1 -1
  51. package/package.json +4 -7
  52. package/assets/icons/icons.json +0 -878
  53. package/components/icon/icon.model.d.ts +0 -5
  54. package/components/icon/icon.service.d.ts +0 -9
  55. package/esm2022/components/icon/icon.model.mjs +0 -2
  56. package/esm2022/components/icon/icon.service.mjs +0 -26
@@ -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.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, state, style, transition, trigger } from '@angular/animations';\n\nexport const collapsibleAnimation = [\n trigger('collapsible', [\n state(\n 'open',\n style({\n 'max-height': '100vh',\n opacity: '1',\n }),\n ),\n state(\n 'closed',\n style({\n 'max-height': '0',\n opacity: '0',\n }),\n ),\n transition('open => closed', [\n animate(\n '500ms ease-in-out',\n style({\n 'max-height': '0px',\n opacity: '0',\n }),\n ),\n ]),\n transition('closed => open', [\n animate(\n '500ms ease-in-out',\n style({\n 'max-height': '100vh',\n opacity: '1',\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() ? 'open' : 'closed'));\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 { take } 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 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.trapFocus(this.overlayRef);\n this.closeOverlayOnEscapeKey(this.overlayRef);\n this.closeOverlayOnBackdropClick(this.overlayRef);\n }\n\n private trapFocus(overlayRef: OverlayRef): void {\n this.focusTrapFactory.create(overlayRef.overlayElement);\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), take(1))\n .subscribe(() => {\n this.isOpen.set(false);\n });\n }\n\n private close(): void {\n this.overlayRef?.dispose();\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 aria-haspopup=\"dialog\"\n>\n {{ buttonText() }}\n <ndw-icon [name]=\"buttonIcon()\" />\n</button>\n<ng-template #dropdownContent>\n <div role=\"dialog\">\n <ng-content />\n </div>\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 aria-hidden=\"true\"\n/>\n<div\n [ngClass]=\"{ error: error(), checkbox: !switch(), switch: switch() }\"\n role=\"checkbox\"\n [attr.aria-checked]=\"indeterminate() ? 'mixed' : checked()\"\n>\n @if (!switch()) {\n @if (checked()) {\n <ndw-icon name=\"check\" />\n } @else if (indeterminate()) {\n <ndw-icon name=\"minus\" />\n }\n } @else {\n <div class=\"switch-icon\">\n @if (checked()) {\n <ndw-icon name=\"check\" />\n } @else {\n <ndw-icon name=\"x\" />\n }\n </div>\n }\n</div>\n<span tabindex=\"-1\">\n <ng-content />\n</span>\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 { DestroyRef, Directive, ElementRef, OnInit, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\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 private readonly destroyRef = inject(DestroyRef);\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, 'input')\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.element.toggleAttribute('ndw-changed', !!this.element.value));\n }\n}\n","export enum InputType {\n Date = 'date',\n Email = 'email',\n Month = 'month',\n Number = 'number',\n Password = 'password',\n Search = 'search',\n Tel = 'tel',\n Text = 'text',\n Time = 'time',\n Url = 'url',\n Week = 'week',\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 { Component, computed, contentChild, contentChildren, effect, input } 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.Month, InputType.Time, InputType.Week];\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 {\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 clearInput(): void {\n const input = this.input();\n if (input) {\n input.element.value = '';\n // Trigger 'ndw-changed' attribute update on the input element\n input.element.dispatchEvent(new Event('input'));\n }\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\n@if (input()?.element?.type === 'search' && input()?.element?.value !== '') {\n <ndw-icon\n class=\"suffix-input-icon\"\n [ngClass]=\"{ disabled: disabled(), clickable: !disabled() }\"\n name=\"x\"\n (click)=\"clearInput()\"\n />\n}\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 model,\n output,\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 isExpanded = model(true);\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 @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 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 handleSelected(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\n ndwButton\n menu\n #menuTrigger\n [id]=\"item.id\"\n (click)=\"handleSelected(item.id)\"\n (focus)=\"open(item)\"\n (mouseover)=\"open(item)\"\n >\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 [menuItems]=\"activeChildItems\" (selected)=\"handleSelected($event)\" />\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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"}
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.component.ts","../../../projects/ndw/src/components/icon/icon.component.html","../../../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/alert/alert.model.ts","../../../projects/ndw/src/components/alert/alert.component.ts","../../../projects/ndw/src/components/alert/alert.component.html","../../../projects/ndw/src/components/breadcrumb/breadcrumb.component.ts","../../../projects/ndw/src/components/breadcrumb/breadcrumb.component.html","../../../projects/ndw/src/components/breadcrumb-group/breadcrumb-group.component.ts","../../../projects/ndw/src/components/breadcrumb-group/breadcrumb-group.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/modal/modal-trigger.directive.ts","../../../projects/ndw/src/components/pill/pill.component.ts","../../../projects/ndw/src/components/pill/pill.component.html","../../../projects/ndw/src/components/router-breadcrumbs/router-breadcrumbs.component.ts","../../../projects/ndw/src/components/router-breadcrumbs/router-breadcrumbs.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/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 {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n inject,\n input,\n OnInit,\n Renderer2,\n} from '@angular/core';\n\n@Component({\n selector: 'ndw-icon',\n standalone: true,\n imports: [],\n templateUrl: './icon.component.html',\n styleUrl: './icon.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'aria-label': 'NDW icon',\n },\n})\nexport class IconComponent implements OnInit {\n private readonly elementRef = inject(ElementRef);\n private readonly renderer = inject(Renderer2);\n\n public interactive = input(false);\n\n @HostBinding('class')\n protected iconClass = 'material-symbols-rounded';\n\n @HostBinding('class.interactive')\n protected get interactiveClass(): boolean {\n return this.interactive();\n }\n\n @HostBinding('attr.role')\n protected get role(): string {\n return this.interactive() ? 'button' : 'img';\n }\n\n @HostBinding('attr.tabindex')\n protected get tabIndex(): number {\n return this.interactive() ? 0 : -1;\n }\n\n public ngOnInit(): void {\n const height = getComputedStyle(this.elementRef.nativeElement).fontSize;\n this.renderer.setStyle(this.elementRef.nativeElement, 'width', height);\n }\n}\n","<ng-content />\n","import { animate, state, style, transition, trigger } from '@angular/animations';\n\nexport const collapsibleAnimation = [\n trigger('collapsible', [\n state(\n 'open',\n style({\n 'max-height': '100vh',\n opacity: '1',\n }),\n ),\n state(\n 'closed',\n style({\n 'max-height': '0',\n opacity: '0',\n }),\n ),\n transition('open => closed', [\n animate(\n '500ms ease-in-out',\n style({\n 'max-height': '0px',\n opacity: '0',\n }),\n ),\n ]),\n transition('closed => open', [\n animate(\n '500ms ease-in-out',\n style({\n 'max-height': '100vh',\n opacity: '1',\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() ? 'open' : 'closed'));\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>keyboard_arrow_down</ndw-icon>\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","export enum AlertType {\n Negative = 'critical',\n Info = 'info',\n InfoGrey = 'info-grey',\n Warning = 'warning',\n}\n","import { Component, HostBinding, input, output } from '@angular/core';\n\nimport { IconComponent } from '../icon';\nimport { AlertType } from './alert.model';\n\n@Component({\n selector: 'ndw-alert',\n standalone: true,\n imports: [IconComponent],\n templateUrl: './alert.component.html',\n styleUrl: './alert.component.scss',\n})\nexport class AlertComponent {\n public actionable = input(false);\n public title = input<string>();\n public type = input(AlertType.InfoGrey);\n\n public close = output<void>();\n\n @HostBinding('class')\n public get alertTypeClass(): string {\n return this.type();\n }\n\n @HostBinding('class.actionable')\n public get actionableClass(): boolean {\n return this.actionable();\n }\n\n public onClose(): void {\n this.close.emit();\n }\n}\n","<section>\n <ndw-icon class=\"info-icon\">info</ndw-icon>\n @if (actionable()) {\n @if (title(); as title) {\n <h2>{{ title }}</h2>\n }\n <ndw-icon class=\"close-icon\" role=\"button\" [interactive]=\"true\" (click)=\"onClose()\">\n close\n </ndw-icon>\n }\n</section>\n<ng-content />\n","import { Component, input, TemplateRef, viewChild } from '@angular/core';\n\n@Component({\n selector: 'ndw-breadcrumb',\n standalone: true,\n imports: [],\n templateUrl: './breadcrumb.component.html',\n})\nexport class BreadcrumbComponent {\n public link = input<string | null>(null);\n public content = viewChild.required<TemplateRef<unknown>>('content');\n}\n","<ng-template #content>\n <ng-content />\n</ng-template>\n","import { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { Component, contentChildren } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { BreadcrumbComponent } from '../breadcrumb/breadcrumb.component';\nimport { IconComponent } from '../icon';\n\n@Component({\n selector: 'ndw-breadcrumb-group',\n standalone: true,\n imports: [NgTemplateOutlet, IconComponent, NgClass, RouterLink],\n templateUrl: './breadcrumb-group.component.html',\n styleUrl: './breadcrumb-group.component.scss',\n host: {\n role: 'navigation',\n 'aria-label': 'Breadcrumb',\n },\n})\nexport class BreadcrumbGroupComponent {\n protected breadcrumbs = contentChildren(BreadcrumbComponent);\n}\n","@for (breadcrumb of breadcrumbs(); track breadcrumb) {\n @if ($count > 1 && $index === $count - 2) {\n <ndw-icon class=\"icon-back\" aria-hidden=\"true\">chevron_left</ndw-icon>\n }\n\n <a\n class=\"breadcrumb\"\n [class.current-page]=\"$last\"\n [class.show-on-small-screen]=\"$count === 1 || $index === $count - 2\"\n [attr.aria-current]=\"$last ? 'page' : null\"\n [routerLink]=\"$last ? null : breadcrumb.link()\"\n >\n <ng-template [ngTemplateOutlet]=\"breadcrumb.content()\"></ng-template>\n </a>\n\n @if (!$last) {\n <ndw-icon class=\"icon-forward\" aria-hidden=\"true\">chevron_right</ndw-icon>\n }\n}\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 { take } 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 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.trapFocus(this.overlayRef);\n this.closeOverlayOnEscapeKey(this.overlayRef);\n this.closeOverlayOnBackdropClick(this.overlayRef);\n }\n\n private trapFocus(overlayRef: OverlayRef): void {\n this.focusTrapFactory.create(overlayRef.overlayElement);\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), take(1))\n .subscribe(() => {\n this.isOpen.set(false);\n });\n }\n\n private close(): void {\n this.overlayRef?.dispose();\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() ? 'keyboard_arrow_up' : 'keyboard_arrow_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 aria-haspopup=\"dialog\"\n>\n {{ buttonText() }}\n <ndw-icon>{{ buttonIcon() }}</ndw-icon>\n</button>\n<ng-template #dropdownContent>\n <div role=\"dialog\">\n <ng-content />\n </div>\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\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\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 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 aria-hidden=\"true\"\n/>\n<div\n [ngClass]=\"{ error: error(), checkbox: !switch(), switch: switch() }\"\n role=\"checkbox\"\n [attr.aria-checked]=\"indeterminate() ? 'mixed' : checked()\"\n [attr.aria-disabled]=\"disabled()\"\n>\n @if (!switch()) {\n @if (checked()) {\n <ndw-icon>check</ndw-icon>\n } @else if (indeterminate()) {\n <ndw-icon>remove</ndw-icon>\n }\n } @else {\n <div class=\"switch-icon\">\n @if (checked()) {\n <ndw-icon>check</ndw-icon>\n } @else {\n <ndw-icon>close</ndw-icon>\n }\n </div>\n }\n</div>\n<span tabindex=\"-1\">\n <ng-content />\n</span>\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>error</ndw-icon>\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 { DestroyRef, Directive, ElementRef, OnInit, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { AbstractControl, NgControl, Validators } from '@angular/forms';\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 private readonly destroyRef = inject(DestroyRef);\n private readonly ngControl = inject(NgControl, { optional: true });\n\n public get element(): HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement {\n return this.elementRef.nativeElement as\n | HTMLInputElement\n | HTMLSelectElement\n | HTMLTextAreaElement;\n }\n\n public get control(): AbstractControl | null {\n return this.ngControl ? this.ngControl.control : null;\n }\n\n public ngOnInit(): void {\n this.updateRequiredAttribute();\n\n this.control?.statusChanges\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.updateRequiredAttribute());\n\n // Add ndw-changed attribute when the input is changed and has a value\n fromEvent(this.element, 'input')\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n this.setChangedAttribute();\n this.setSelectPlaceholderAttribute();\n });\n\n this.setSelectPlaceholderAttribute();\n }\n\n private setChangedAttribute(): void {\n this.element.toggleAttribute('ndw-changed', !!this.element.value);\n }\n\n private setSelectPlaceholderAttribute(): void {\n if (this.element instanceof HTMLSelectElement) {\n const isPlaceholderSelected =\n this.element.selectedIndex === 0 &&\n this.element.options[this.element.selectedIndex].disabled;\n this.element.toggleAttribute('ndw-placeholder', isPlaceholderSelected);\n }\n }\n\n private updateRequiredAttribute(): void {\n if (this.control) {\n // Mark element as required when the control has a 'required' validator.\n // This will show an asterisk (*)\n const isRequired = this.control.hasValidator(Validators.required);\n this.element.required = isRequired;\n }\n }\n}\n","export enum InputType {\n Date = 'date',\n Email = 'email',\n Month = 'month',\n Number = 'number',\n Password = 'password',\n Search = 'search',\n Tel = 'tel',\n Text = 'text',\n Time = 'time',\n Url = 'url',\n Week = 'week',\n}\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-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 = model(false);\n public error = input(false);\n public name = model('');\n public required = input(false);\n public value = model();\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 @HostBinding('attr.role')\n public get roleAttr(): string {\n return 'radio';\n }\n\n @HostBinding('attr.aria-checked')\n public get ariaCheckedAttr(): boolean {\n return this.checked();\n }\n\n @HostBinding('attr.aria-disabled')\n public get ariaDisabledAttr(): boolean {\n return this.disabled();\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 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 public setDisabledState?(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n}\n","<input\n type=\"radio\"\n [id]=\"'radio-button-' + uuid\"\n [name]=\"name()\"\n [checked]=\"checked()\"\n [disabled]=\"disabled()\"\n [required]=\"required()\"\n aria-hidden=\"true\"\n/>\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, HostBinding } from '@angular/core';\n\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\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 providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: RadioGroupComponent,\n multi: true,\n },\n ],\n})\nexport class RadioGroupComponent implements AfterContentInit, ControlValueAccessor {\n public radioButtons = contentChildren(RadioButtonComponent);\n\n private uuid = crypto.randomUUID();\n private onChange: (value: unknown) => void = () => {};\n\n @HostBinding('attr.role')\n public get role(): string {\n return 'radiogroup';\n }\n\n public ngAfterContentInit(): void {\n this.setRadioButtonsName();\n this.handleCheckedChange();\n }\n\n public writeValue(value: unknown): void {\n this.radioButtons().forEach((radio) => {\n radio.checked.set(radio.value() === value);\n });\n }\n\n public registerOnChange(fn: (value: unknown) => void): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(): void {\n // Not implemented\n }\n\n public setDisabledState?(isDisabled: boolean): void {\n this.radioButtons().forEach((radio) => radio.disabled.set(isDisabled));\n }\n\n private setRadioButtonsName(): void {\n this.radioButtons().forEach((radio) => {\n radio.name.set(this.uuid);\n });\n }\n\n private handleCheckedChange(): void {\n this.radioButtons().forEach((radio) => {\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 this.onChange(radio.value());\n });\n });\n }\n}\n","<ng-content />\n","import { CommonModule } from '@angular/common';\nimport { Component, computed, contentChild, contentChildren, effect, input } 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.Month, InputType.Time, InputType.Week];\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 {\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 clearInput(): void {\n const input = this.input();\n if (input) {\n input.element.value = '';\n // Trigger 'ndw-changed' attribute update on the input element\n input.element.dispatchEvent(new Event('input'));\n }\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 ? 'schedule' : 'calendar_month';\n }\n\n // Set the input icon for select inputs\n if (input.element.nodeName.toLowerCase() === FormFieldElement.Select) {\n return 'keyboard_arrow_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\">info</ndw-icon>\n }\n </label>\n}\n@if (inputPrefix(); as icon) {\n <ndw-icon class=\"prefix-input-icon\" [ngClass]=\"{ disabled: disabled() }\">{{ icon }}</ndw-icon>\n}\n@if (inputSuffix(); as icon) {\n <ndw-icon class=\"suffix-input-icon\" [ngClass]=\"{ disabled: disabled() }\">{{ icon }}</ndw-icon>\n}\n\n@if (input()?.element?.type === 'search' && input()?.element?.value !== '') {\n <ndw-icon\n class=\"suffix-input-icon\"\n [ngClass]=\"{ disabled: disabled(), clickable: !disabled() }\"\n (click)=\"clearInput()\"\n >\n close\n </ndw-icon>\n}\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 } 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","@for (item of menuItems(); track item.id) {\n <button ndwButton menu (click)=\"item.callback?.(item.id)\">\n {{ item.label }}\n </button>\n}\n","export interface SimpleMenuItem {\n id: number;\n label: string;\n callback?: (id: number) => void;\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 model,\n output,\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 isExpanded = model(true);\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 @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 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 handleSelected(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>keyboard_double_arrow_left</ndw-icon>\n </button>\n }\n</footer>\n\n<!-- Templates -->\n<ng-template #menuItem let-item>\n <button\n ndwButton\n menu\n #menuTrigger\n [id]=\"item.id\"\n (click)=\"item.callback?.(item.id)\"\n (focus)=\"open(item)\"\n (mouseover)=\"open(item)\"\n >\n @if (item.icon) {\n <ndw-icon>{{ item.icon }}</ndw-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\">arrow_right</ndw-icon>\n }\n </button>\n</ng-template>\n\n<ng-template #childMenu>\n <ndw-main-navigation-menu [menuItems]=\"activeChildItems\" />\n</ng-template>\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","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 { AsyncPipe } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { ActivatedRoute, ActivatedRouteSnapshot, NavigationEnd, Router } from '@angular/router';\nimport { filter, map } from 'rxjs';\nimport { BreadcrumbComponent } from '../breadcrumb';\nimport { BreadcrumbGroupComponent } from '../breadcrumb-group';\n\ntype RouteBreadcrumb = { url: string; title: string };\n\nexport const breadcrumbRouteDataKey = 'breadcrumb';\n\n@Component({\n selector: 'ndw-router-breadcrumbs',\n standalone: true,\n imports: [BreadcrumbGroupComponent, BreadcrumbComponent, AsyncPipe],\n templateUrl: './router-breadcrumbs.component.html',\n})\nexport class RouterBreadcrumbsComponent {\n private readonly route = inject(ActivatedRoute);\n private readonly router = inject(Router);\n\n protected readonly breadcrumbs$ = this.router.events.pipe(\n filter((event) => event instanceof NavigationEnd),\n map(() => this.getBreadcrumbs()),\n );\n\n private getBreadcrumbs(): RouteBreadcrumb[] {\n let route: ActivatedRouteSnapshot | null = this.route.snapshot;\n const breadcrumbs: RouteBreadcrumb[] = [];\n\n while (route) {\n const title = route.data[breadcrumbRouteDataKey];\n const url = route.pathFromRoot\n .flatMap((route) => route.url.filter((segment) => segment.path))\n .join('/');\n\n if (title && url) {\n breadcrumbs.push({ url, title });\n }\n\n route = route.firstChild;\n }\n\n return breadcrumbs;\n }\n}\n","<ndw-breadcrumb-group>\n @for (breadcrumb of breadcrumbs$ | async; track breadcrumb.url) {\n <ndw-breadcrumb [link]=\"breadcrumb.url\">{{ breadcrumb.title }}</ndw-breadcrumb>\n }\n</ndw-breadcrumb-group>\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","/*\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,6 +1,6 @@
1
1
  {
2
2
  "name": "@ndwnu/design-system",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "peerDependencies": {
5
5
  "@angular/cdk": "^18.0.1",
6
6
  "@angular/common": "^18.0.1",
@@ -11,10 +11,9 @@
11
11
  "tslib": "^2.3.0"
12
12
  },
13
13
  "sideEffects": false,
14
+ "module": "fesm2022/ndwnu-design-system.mjs",
15
+ "typings": "index.d.ts",
14
16
  "exports": {
15
- "./assets/icons/icons.json": {
16
- "default": "./assets/icons/icons.json"
17
- },
18
17
  "./package.json": {
19
18
  "default": "./package.json"
20
19
  },
@@ -24,7 +23,5 @@
24
23
  "esm": "./esm2022/ndwnu-design-system.mjs",
25
24
  "default": "./fesm2022/ndwnu-design-system.mjs"
26
25
  }
27
- },
28
- "module": "fesm2022/ndwnu-design-system.mjs",
29
- "typings": "index.d.ts"
26
+ }
30
27
  }