suis 1.7.2 → 1.8.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"file":"suis.mjs","sources":["../../../../libs/suis/src/lib/components/suis-icon/suis-icon-type.pipe.ts","../../../../libs/suis/src/lib/pipes/suis-ng-class.pipe.ts","../../../../libs/suis/src/lib/components/suis-icon/suis-icon.component.ts","../../../../libs/suis/src/lib/components/suis-icon/suis-icon.component.html","../../../../libs/suis/src/lib/components/suis-accordion/suis-accordion.component.ts","../../../../libs/suis/src/lib/components/suis-accordion/suis-accordion.component.html","../../../../libs/suis/src/lib/components/suis-alert/suis-alert.component.ts","../../../../libs/suis/src/lib/components/suis-alert/suis-alert.component.html","../../../../libs/suis/src/lib/components/suis-box/suis-box.component.ts","../../../../libs/suis/src/lib/components/suis-box/suis-box.component.html","../../../../libs/suis/src/lib/components/suis-breadcrumbs/suis-breadcrumbs.component.ts","../../../../libs/suis/src/lib/components/suis-breadcrumbs/suis-breadcrumbs.component.html","../../../../libs/suis/src/lib/components/suis-chart/suis-chart-height.pipe.ts","../../../../libs/suis/src/lib/components/suis-chart/suis-chart-data.pipe.ts","../../../../libs/suis/src/lib/components/suis-chart/suis-chart.component.ts","../../../../libs/suis/src/lib/components/suis-chart/suis-chart.component.html","../../../../libs/suis/src/lib/components/suis-chip/suis-chip.component.ts","../../../../libs/suis/src/lib/components/suis-chip/suis-chip.component.html","../../../../libs/suis/src/lib/components/suis-container/suis-container.component.ts","../../../../libs/suis/src/lib/components/suis-container/suis-container.component.html","../../../../libs/suis/src/lib/components/suis-spinner/suis-spinner.component.ts","../../../../libs/suis/src/lib/components/suis-spinner/suis-spinner.component.html","../../../../libs/suis/src/lib/shared/classes/suis-button.base.ts","../../../../libs/suis/src/lib/modules/suis-button/components/suis-button/suis-button.component.ts","../../../../libs/suis/src/lib/modules/suis-button/components/suis-button/suis-button.component.html","../../../../libs/suis/src/lib/services/suis-dialog.service.ts","../../../../libs/suis/src/lib/components/suis-dialog/suis-dialog.component.ts","../../../../libs/suis/src/lib/components/suis-dialog/suis-dialog.component.html","../../../../libs/suis/src/lib/services/suis-notification.service.ts","../../../../libs/suis/src/lib/components/suis-dialog-container/suis-dialog-container.component.ts","../../../../libs/suis/src/lib/components/suis-dialog-container/suis-dialog-container.component.html","../../../../libs/suis/src/lib/components/suis-divider/suis-divider.component.ts","../../../../libs/suis/src/lib/components/suis-divider/suis-divider.component.html","../../../../libs/suis/src/lib/components/suis-form-field/suis-form-field.component.ts","../../../../libs/suis/src/lib/components/suis-form-field/suis-form-field.component.html","../../../../libs/suis/src/lib/shared/classes/suis-input.base.ts","../../../../libs/suis/src/lib/components/suis-input/suis-input.component.ts","../../../../libs/suis/src/lib/components/suis-input/suis-input.component.html","../../../../libs/suis/src/lib/components/suis-label/suis-label.component.ts","../../../../libs/suis/src/lib/components/suis-label/suis-label.component.html","../../../../libs/suis/src/lib/shared/classes/suis-checkbox.base.ts","../../../../libs/suis/src/lib/components/suis-input-checkbox/suis-input-checkbox.component.ts","../../../../libs/suis/src/lib/components/suis-input-checkbox/suis-input-checkbox.component.html","../../../../libs/suis/src/lib/components/suis-input-chips/suis-input-chips.component.ts","../../../../libs/suis/src/lib/components/suis-input-chips/suis-input-chips.component.html","../../../../libs/suis/src/lib/components/suis-input-image/suis-input-image.component.ts","../../../../libs/suis/src/lib/components/suis-input-image/suis-input-image.component.html","../../../../libs/suis/src/lib/components/suis-input-number/suis-input-number.component.ts","../../../../libs/suis/src/lib/components/suis-input-number/suis-input-number.component.html","../../../../libs/suis/src/lib/components/suis-input-radio/suis-input-radio.component.ts","../../../../libs/suis/src/lib/components/suis-input-radio/suis-input-radio.component.html","../../../../libs/suis/src/lib/components/suis-item/suis-item.component.ts","../../../../libs/suis/src/lib/components/suis-item/suis-item.component.html","../../../../libs/suis/src/lib/components/suis-notification/suis-notification.component.ts","../../../../libs/suis/src/lib/components/suis-notification/suis-notification.component.html","../../../../libs/suis/src/lib/components/suis-notifications/suis-notifications.component.ts","../../../../libs/suis/src/lib/components/suis-notifications/suis-notifications.component.html","../../../../libs/suis/src/lib/components/suis-pagination/suis-pagination-page.pipe.ts","../../../../libs/suis/src/lib/components/suis-pagination/suis-pagination-items.pipe.ts","../../../../libs/suis/src/lib/modules/suis-select/pipes/suis-select-label.pipe.ts","../../../../libs/suis/src/lib/modules/suis-select/pipes/suis-select-is-selected.pipe.ts","../../../../libs/suis/src/lib/modules/suis-select/components/suis-select-option/suis-select-option.component.ts","../../../../libs/suis/src/lib/modules/suis-select/components/suis-select-option/suis-select-option.component.html","../../../../libs/suis/src/lib/modules/suis-select/pipes/suis-select-sort-options.pipe.ts","../../../../libs/suis/src/lib/modules/suis-select/pipes/suis-select-filter-options.pipe.ts","../../../../libs/suis/src/lib/modules/suis-select/classes/suis-select-button.base.ts","../../../../libs/suis/src/lib/modules/suis-select/components/suis-select-button/suis-select-button.component.ts","../../../../libs/suis/src/lib/modules/suis-select/components/suis-select-button/suis-select-button.component.html","../../../../libs/suis/src/lib/modules/suis-select/directives/suis-select-option.directive.ts","../../../../libs/suis/src/lib/modules/suis-select/classes/suis-select.base.ts","../../../../libs/suis/src/lib/modules/suis-select/classes/suis-select-single.base.ts","../../../../libs/suis/src/lib/modules/suis-select/components/suis-select/suis-select.component.ts","../../../../libs/suis/src/lib/modules/suis-select/components/suis-select/suis-select.component.html","../../../../libs/suis/src/lib/modules/suis-select/components/suis-select-group-option/suis-select-group-option.component.ts","../../../../libs/suis/src/lib/modules/suis-select/components/suis-select-group-option/suis-select-group-option.component.html","../../../../libs/suis/src/lib/modules/suis-select/pipes/suis-select-filter-group-options.pipe.ts","../../../../libs/suis/src/lib/modules/suis-select/pipes/suis-select-group-label.pipe.ts","../../../../libs/suis/src/lib/modules/suis-select/directives/suis-select-group-option.directive.ts","../../../../libs/suis/src/lib/modules/suis-select/pipes/suis-select-sort-group-options.pipe.ts","../../../../libs/suis/src/lib/modules/suis-select/components/suis-select-group/suis-select-group.component.ts","../../../../libs/suis/src/lib/modules/suis-select/components/suis-select-group/suis-select-group.component.html","../../../../libs/suis/src/lib/modules/suis-select/pipes/suis-select-multi-chips.pipe.ts","../../../../libs/suis/src/lib/modules/suis-select/pipes/suis-select-multi-is-selected.pipe.ts","../../../../libs/suis/src/lib/modules/suis-select/components/suis-select-button-multi/suis-select-button-multi.component.ts","../../../../libs/suis/src/lib/modules/suis-select/components/suis-select-button-multi/suis-select-button-multi.component.html","../../../../libs/suis/src/lib/modules/suis-select/classes/suis-select-multi.base.ts","../../../../libs/suis/src/lib/modules/suis-select/components/suis-select-multi/suis-select-multi.component.ts","../../../../libs/suis/src/lib/modules/suis-select/components/suis-select-multi/suis-select-multi.component.html","../../../../libs/suis/src/lib/modules/suis-select/pipes/suis-select-multi-group-chips.pipe.ts","../../../../libs/suis/src/lib/modules/suis-select/components/suis-select-multi-group/suis-select-multi-group.component.ts","../../../../libs/suis/src/lib/modules/suis-select/components/suis-select-multi-group/suis-select-multi-group.component.html","../../../../libs/suis/src/lib/modules/suis-select/suis-select.module.ts","../../../../libs/suis/src/lib/components/suis-pagination/suis-pagination-per-page-options.pipe.ts","../../../../libs/suis/src/lib/components/suis-pagination/suis-pagination.component.ts","../../../../libs/suis/src/lib/components/suis-pagination/suis-pagination.component.html","../../../../libs/suis/src/lib/components/suis-progress-bar/suis-progress-bar.pipe.ts","../../../../libs/suis/src/lib/components/suis-progress-bar/suis-progress-bar.component.ts","../../../../libs/suis/src/lib/components/suis-progress-bar/suis-progress-bar.component.html","../../../../libs/suis/src/lib/components/suis-spinner-container/suis-spinner-container.component.ts","../../../../libs/suis/src/lib/components/suis-spinner-container/suis-spinner-container.component.html","../../../../libs/suis/src/lib/components/suis-table/suis-table-cell.directive.ts","../../../../libs/suis/src/lib/components/suis-table/suis-table-column.directive.ts","../../../../libs/suis/src/lib/components/suis-table/suis-table.component.ts","../../../../libs/suis/src/lib/components/suis-table/suis-table.component.html","../../../../libs/suis/src/lib/components/suis-table/suis-table.module.ts","../../../../libs/suis/src/lib/components/suis-tabs/suis-tab.directive.ts","../../../../libs/suis/src/lib/components/suis-tabs/suis-tab-actions.pipe.ts","../../../../libs/suis/src/lib/components/suis-tabs/suis-tab-template.pipe.ts","../../../../libs/suis/src/lib/components/suis-tabs/suis-tabs.component.ts","../../../../libs/suis/src/lib/components/suis-tabs/suis-tabs.component.html","../../../../libs/suis/src/lib/components/suis-tabs/suis-tabs.module.ts","../../../../libs/suis/src/lib/components/suis-text-area/suis-text-area.component.ts","../../../../libs/suis/src/lib/components/suis-text-area/suis-text-area.component.html","../../../../libs/suis/src/lib/components/suis-title/suis-title.enum.ts","../../../../libs/suis/src/lib/components/suis-title/suis-title.component.ts","../../../../libs/suis/src/lib/components/suis-title/suis-title.component.html","../../../../libs/suis/src/lib/components/suis-toggle/suis-toggle.component.ts","../../../../libs/suis/src/lib/components/suis-toggle/suis-toggle.component.html","../../../../libs/suis/src/lib/components/suis-toolbar/suis-toolbar.component.ts","../../../../libs/suis/src/lib/components/suis-toolbar/suis-toolbar.component.html","../../../../libs/suis/src/lib/modules/suis-button/components/suis-button-link/suis-button-link.component.ts","../../../../libs/suis/src/lib/modules/suis-button/components/suis-button-link/suis-button-link.component.html","../../../../libs/suis/src/lib/modules/suis-button/components/suis-button-outlined/suis-button-outlined.component.ts","../../../../libs/suis/src/lib/modules/suis-button/components/suis-button-outlined/suis-button-outlined.component.html","../../../../libs/suis/src/lib/modules/suis-button/suis-button.module.ts","../../../../libs/suis/src/lib/modules/suis-navigation/directives/suis-navigation-item.directive.ts","../../../../libs/suis/src/lib/modules/suis-navigation/components/suis-navigation-item/suis-navigation-item.component.ts","../../../../libs/suis/src/lib/modules/suis-navigation/components/suis-navigation-item/suis-navigation-item.component.html","../../../../libs/suis/src/lib/modules/suis-navigation/components/suis-navigation-group-item/suis-navigation-group-item.component.ts","../../../../libs/suis/src/lib/modules/suis-navigation/components/suis-navigation-group-item/suis-navigation-group-item.component.html","../../../../libs/suis/src/lib/modules/suis-navigation/components/suis-navigation-group/suis-navigation-group.component.ts","../../../../libs/suis/src/lib/modules/suis-navigation/components/suis-navigation-group/suis-navigation-group.component.html","../../../../libs/suis/src/lib/modules/suis-navigation/components/suis-navigation/suis-navigation.component.ts","../../../../libs/suis/src/lib/modules/suis-navigation/components/suis-navigation/suis-navigation.component.html","../../../../libs/suis/src/lib/modules/suis-navigation/suis-navigation.module.ts","../../../../libs/suis/src/suis.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { SuisIconType } from './suis-icon.types';\n\n@Pipe({\n standalone: true,\n name: 'suisIconType',\n})\nexport class SuisIconTypePipe implements PipeTransform {\n transform(type: SuisIconType): string {\n switch (type) {\n case 'question':\n return '&quest;';\n case 'exclamation':\n return '&excl;';\n case 'check':\n return '&check;';\n case 'times':\n return '&times;';\n case 'plus':\n return '&plus;';\n case 'minus':\n return '&minus;';\n case 'arrow-left':\n return '&#8592;';\n case 'arrow-up':\n return '&#8593;';\n case 'arrow-right':\n return '&#8594;';\n case 'arrow-down':\n return '&#8595;';\n case 'chevron-up':\n case 'chevron-left':\n return '&lsaquo;';\n case 'chevron-down':\n case 'chevron-right':\n return '&rsaquo;';\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n standalone: true,\n name: 'suisNgClass',\n})\nexport class SuisNgClassPipe implements PipeTransform {\n transform(prefix: string, ...args: string[]): string[] {\n const classes: string[] = [];\n args.forEach((arg) => classes.push(`${prefix}--${arg}`));\n return classes;\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { NgClass } from '@angular/common';\nimport { SuisIconType } from './suis-icon.types';\nimport { SuisIconTypePipe } from './suis-icon-type.pipe';\nimport { SuisNgClassPipe } from '../../pipes/suis-ng-class.pipe';\nimport { SuisSize } from '../../types/suis-size.type';\nimport { SuisColor } from '../../types/suis-color.type';\n\n@Component({\n selector: 'suis-icon',\n standalone: true,\n imports: [NgClass, SuisIconTypePipe, SuisNgClassPipe],\n templateUrl: './suis-icon.component.html',\n styleUrls: ['./suis-icon.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisIconComponent {\n /**\n * Sets the font size of the HTML Entity itself. Type of SuisSize. By default set to 'md'.\n */\n @Input() size: SuisSize = 'md';\n\n /**\n * Sets the color pallette of the icon and surroundings. Type of SuisColor. By default set to 'dark'.\n */\n @Input() color: SuisColor = 'dark';\n\n /**\n * Sets the HTML Entity displayed in content. Type of SuisIconType. By default set to 'question'.\n */\n @Input() type: SuisIconType = 'question';\n\n /**\n * Shows the circled border around the icon. By default set to false. Can not be combined with filled (will be overriden then).\n */\n @Input() outlined: boolean = false;\n\n /**\n * Shows the circled background behind the icon. By default set to false. Overrides outlined behavior if used at the sime time.\n */\n @Input() filled: boolean = false;\n\n /**\n * Shows the pointer cursor when hovered. By default set to false.\n */\n @Input() pointer: boolean = false;\n\n /**\n * Sets HTML Entity font weight to bold. By default set to false.\n */\n @Input() bold: boolean = false;\n}\n","<div\n class=\"suis-icon\"\n [class.suis-icon--outlined]=\"outlined\"\n [class.suis-icon--filled]=\"filled\"\n [class.suis-icon--pointer]=\"pointer\"\n [class.suis-icon--bold]=\"bold\"\n [class.suis-icon--rotate]=\"type === 'chevron-up' || type === 'chevron-down'\"\n [ngClass]=\"'suis-icon' | suisNgClass : color : size\"\n>\n <span\n [innerHTML]=\"type | suisIconType\"\n [ngClass]=\"'suis-icon' | suisNgClass : type\"\n ></span>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { NgIf } from '@angular/common';\nimport { SuisIconComponent } from '../suis-icon/suis-icon.component';\n\n@Component({\n selector: 'suis-accordion',\n standalone: true,\n imports: [NgIf, SuisIconComponent],\n templateUrl: './suis-accordion.component.html',\n styleUrls: ['./suis-accordion.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisAccordionComponent {\n /**\n * Controlls styling of the accordion based on expanded state of group. By default set to false.\n */\n @Input() expanded: boolean = false;\n\n /**\n * Emits when expanded value of the accordion has been changed.\n */\n @Output() expandedChange = new EventEmitter<boolean>();\n\n onToggle(): void {\n this.expanded = !this.expanded;\n this.expandedChange.emit(this.expanded);\n }\n}\n","<div class=\"suis-accordion\">\n <button (click)=\"onToggle()\" class=\"suis-accordion__header\">\n <ng-content select=\"[suisAccordionHeader]\"></ng-content>\n <suis-icon\n [type]=\"expanded ? 'chevron-up' : 'chevron-down'\"\n size=\"lg\"\n color=\"primary\"\n ></suis-icon>\n </button>\n <div class=\"suis-accordion__content\" *ngIf=\"expanded\">\n <ng-content select=\"[suisAccordionContent]\"></ng-content>\n </div>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { NgClass, NgIf } from '@angular/common';\nimport { SuisInfoColor } from '../../types';\nimport { SuisNgClassPipe } from '../../pipes';\nimport { SuisIconComponent } from '../suis-icon/suis-icon.component';\n\n@Component({\n selector: 'suis-alert',\n standalone: true,\n imports: [NgIf, NgClass, SuisNgClassPipe, SuisIconComponent],\n templateUrl: './suis-alert.component.html',\n styleUrls: ['./suis-alert.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisAlertComponent {\n /**\n * Controls visibilty of the alert. By default set to false.\n */\n @Input() hidden: boolean = false;\n\n /**\n * Emits change of hidden state.\n */\n @Output() hiddenChange = new EventEmitter<boolean>();\n\n /**\n * Sets the color pallette of the alert. Type of SuisInfoColor. By default set to 'danger'.\n */\n @Input() color: SuisInfoColor = 'danger';\n\n onCancel() {\n this.hidden = true;\n this.hiddenChange.emit(true);\n }\n}\n","<div\n *ngIf=\"!hidden\"\n class=\"suis-alert\"\n [ngClass]=\"'suis-alert' | suisNgClass : color\"\n>\n <ng-content></ng-content>\n <button class=\"suis-alert__cancel\" type=\"button\" (click)=\"onCancel()\">\n <suis-icon type=\"times\" [color]=\"'white'\" [size]=\"'lg'\"></suis-icon>\n </button>\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'suis-box',\n standalone: true,\n imports: [],\n templateUrl: './suis-box.component.html',\n styleUrls: ['./suis-box.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisBoxComponent {\n /**\n * Adds a padding around the content. By default set to false.\n */\n @Input() spacing: boolean = false;\n\n /**\n * Sets box height to 100%. By default set to false.\n */\n @Input() fullHeight: boolean = false;\n}\n","<div\n class=\"suis-box\"\n [class.suis-box--spacing]=\"spacing\"\n [class.suis-box--full-height]=\"fullHeight\"\n>\n <ng-content></ng-content>\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { NgFor, NgIf } from '@angular/common';\nimport { SuisBreadcrumbItem } from './suis-breadcrumbs.interface';\nimport { RouterModule } from '@angular/router';\n\n@Component({\n selector: 'suis-breadcrumbs',\n standalone: true,\n imports: [NgIf, NgFor, RouterModule],\n templateUrl: './suis-breadcrumbs.component.html',\n styleUrls: ['./suis-breadcrumbs.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisBreadcrumbsComponent {\n /**\n * List of breadcrumbs items. Type of SuisBreadcrumbItem[]. By default set to empty array.\n */\n @Input() items: SuisBreadcrumbItem[] = [];\n\n /** @internal */\n itemTrackBy(index: number, item: SuisBreadcrumbItem): string {\n return `${item.label}-${index}`;\n }\n}\n","<div class=\"suis-breadcrumbs\">\n <ng-container\n *ngFor=\"let item of items; let last = last; trackBy: itemTrackBy\"\n >\n <a [routerLink]=\"last ? undefined : item.link\">\n {{ item.label }}\n </a>\n <span *ngIf=\"!last\">/</span>\n </ng-container>\n</div>\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'suisChartHeight',\n standalone: true,\n})\nexport class SuisChartHeightPipe implements PipeTransform {\n transform(value: number, maxValue: number): string {\n if (value > maxValue) return '100%';\n return `${(value / maxValue) * 100}%`;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport {\n SuisChartDataItem,\n SuisChartDataComparisionItem,\n} from './suis-chart.interfaces';\n\n@Pipe({\n name: 'suisChartData',\n standalone: true,\n})\nexport class SuisChartDataPipe implements PipeTransform {\n transform(\n data: SuisChartDataItem[],\n compareData: SuisChartDataItem[]\n ): SuisChartDataComparisionItem[] {\n if (!compareData.length) return data;\n\n const combinedData: SuisChartDataComparisionItem[] = [];\n\n data.forEach((item, index) => {\n combinedData.push(item);\n if (compareData.length - 1 >= index) {\n combinedData.push({\n ...compareData[index],\n compare: true,\n });\n } else {\n combinedData.push({\n value: 0,\n compare: true,\n });\n }\n });\n\n return combinedData;\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { NgClass, NgForOf, NgIf } from '@angular/common';\nimport { SuisColor, SuisSize } from '../../types';\nimport { SuisChartHeightPipe } from './suis-chart-height.pipe';\nimport { SuisNgClassPipe } from '../../pipes';\nimport { SuisChartDataItem } from './suis-chart.interfaces';\nimport { SuisChartDataPipe } from './suis-chart-data.pipe';\n\n@Component({\n selector: 'suis-chart',\n standalone: true,\n imports: [\n NgForOf,\n NgIf,\n NgClass,\n SuisChartHeightPipe,\n SuisChartDataPipe,\n SuisNgClassPipe,\n ],\n templateUrl: './suis-chart.component.html',\n styleUrls: ['./suis-chart.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisChartComponent {\n /** @internal */\n _maxValue: number = 100;\n\n /** @internal */\n get maxValue(): number {\n if (!this.autoMax) return this._maxValue;\n return Math.max(\n ...[...this.data, ...this.compareData].map((item) => item.value)\n );\n }\n\n /**\n * Set the maximum value of the chart bars. By default set to 100.\n */\n @Input() set maxValue(value: number) {\n this._maxValue = value;\n }\n\n /**\n * Array of the chart bars labels. By default set to empty array.\n */\n @Input() labels: string[] = [];\n\n /**\n * Array of data values and optionally colors. Type of SuisChartDataItem[]. By default set to empty array.\n */\n @Input() data: SuisChartDataItem[] = [];\n\n /**\n * Sets the default color of the chart bars. Type of SuisColor. By default set to 'primary'.\n */\n @Input() color: SuisColor = 'primary';\n\n /**\n * Adjusts the width of the chart bars. Type of SuisSize. By default set to 'md'.\n */\n @Input() size: SuisSize = 'md';\n\n /**\n * Sets the maximum value automatically based on data values. By default set to false.\n */\n @Input() autoMax: boolean = false;\n\n /**\n * Array of comparision data values and optionally colors. Type of SuisChartDataItem[]. By default set to empty array.\n */\n @Input() compareData: SuisChartDataItem[] = [];\n\n /**\n * Sets the default color of the comparision chart bars. Type of SuisColor. By default set to 'warning'.\n */\n @Input() compareColor: SuisColor = 'warning';\n}\n","<div class=\"suis-chart\">\n <div\n class=\"suis-chart__content\"\n [ngClass]=\"'suis-chart__content' | suisNgClass : size\"\n >\n <div\n *ngFor=\"let item of data | suisChartData : compareData\"\n class=\"suis-chart__content__item\"\n [ngClass]=\"\n 'suis-chart__content__item'\n | suisNgClass\n : (item.compare ? item.color || compareColor : item.color || color)\n : (item.compare ? 'compare' : 'single')\n \"\n [style.height]=\"item.value | suisChartHeight : maxValue\"\n >\n <div class=\"suis-chart__content__item__value\">\n {{ item.value }}\n </div>\n </div>\n </div>\n <div\n class=\"suis-chart__labels\"\n [ngClass]=\"'suis-chart__labels' | suisNgClass : size\"\n >\n <div\n *ngFor=\"let label of labels\"\n class=\"suis-chart__labels__item\"\n [class.suis-chart__labels__item--double]=\"compareData.length\"\n >\n {{ label }}\n </div>\n </div>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { NgIf, NgClass } from '@angular/common';\nimport { SuisIconComponent } from '../suis-icon/suis-icon.component';\nimport { SuisColor } from '../../types/suis-color.type';\nimport { SuisNgClassPipe } from '../../pipes/suis-ng-class.pipe';\n\n@Component({\n selector: 'suis-chip',\n standalone: true,\n imports: [NgIf, NgClass, SuisIconComponent, SuisNgClassPipe],\n templateUrl: './suis-chip.component.html',\n styleUrls: ['./suis-chip.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisChipComponent {\n /**\n * Sets the color pallette of the chip. Type of SuisColor. By default set to 'primary'.\n */\n @Input() color: SuisColor = 'primary';\n\n /**\n * Sets the color of the cross icon. Visible only if removable set to true. Type of SuisColor. By default set to 'white'.\n */\n @Input() iconColor: SuisColor = 'white';\n\n /**\n * Shows cross icon with remove action. By default set to false.\n */\n @Input() removable: boolean = false;\n\n /**\n * Emits on cross icon click.\n */\n @Output() remove = new EventEmitter<void>();\n\n /** @internal */\n onRemove(): void {\n this.remove.emit();\n }\n}\n","<div class=\"suis-chip\" [ngClass]=\"'suis-chip' | suisNgClass : color\">\n <ng-content></ng-content>\n <button\n *ngIf=\"removable\"\n class=\"suis-chip__remove\"\n type=\"button\"\n (click)=\"onRemove()\"\n >\n <suis-icon\n type=\"times\"\n [color]=\"iconColor\"\n [pointer]=\"true\"\n [size]=\"'md'\"\n ></suis-icon>\n </button>\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'suis-container',\n standalone: true,\n imports: [],\n templateUrl: './suis-container.component.html',\n styleUrls: ['./suis-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisContainerComponent {\n /**\n * Adds a padding around the content. By default set to false.\n */\n @Input() spacing: boolean = false;\n}\n","<div class=\"suis-container\" [class.suis-container--spacing]=\"spacing\">\n <ng-content></ng-content>\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { NgClass } from '@angular/common';\nimport { SuisNgClassPipe } from '../../pipes';\nimport { SuisSize } from '../../types/suis-size.type';\nimport { SuisColor } from '../../types/suis-color.type';\n\n@Component({\n selector: 'suis-spinner',\n standalone: true,\n imports: [NgClass, SuisNgClassPipe],\n templateUrl: './suis-spinner.component.html',\n styleUrls: ['./suis-spinner.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisSpinnerComponent {\n /**\n * Sets the size of the spinner. Type of SuisSize. By default set to 'sm'.\n */\n @Input() size: SuisSize = 'sm';\n\n /**\n * Sets the color of the spinner. Type of SuisColor. By default set to 'primary'.\n */\n @Input() color: SuisColor = 'primary';\n}\n","<div\n class=\"suis-spinner\"\n [ngClass]=\"'suis-spinner' | suisNgClass : size : color\"\n></div>\n","import { Directive, EventEmitter, Input, Output } from '@angular/core';\nimport { SuisInfoColor, SuisPalleteColor } from '../../types/suis-color.type';\n\n@Directive()\nexport abstract class SuisButtonBase {\n /**\n * Sets button's color theme. Type of SuisPalleteColor | SuisInfoColor. By default set to 'primary'.\n */\n @Input() color: SuisPalleteColor | SuisInfoColor = 'primary';\n\n /**\n * Sets button's disabled attribute. By default set to false.\n */\n @Input() disabled: boolean = false;\n\n /**\n * Sets button's type attribute. By default set to 'button'.\n */\n @Input() type: string = 'button';\n\n /**\n * Shows loading spinner instead of content projection. By default set to false.\n */\n @Input() loading: boolean = false;\n\n /**\n * Sets width to 100% instead of fit-content. By default set to false.\n */\n @Input() fullWidth: boolean = false;\n\n /**\n * Emits on button click event.\n */\n @Output() clicked = new EventEmitter<void>();\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onClick(event?: Event): void {\n this.clicked.emit();\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { NgClass, NgIf } from '@angular/common';\nimport { SuisNgClassPipe } from '../../../../pipes';\nimport { SuisSpinnerComponent } from '../../../../components/suis-spinner';\nimport { SuisButtonBase } from '../../../../shared/classes/suis-button.base';\n\n@Component({\n selector: 'suis-button',\n standalone: true,\n imports: [NgIf, NgClass, SuisNgClassPipe, SuisSpinnerComponent],\n templateUrl: './suis-button.component.html',\n styleUrls: ['./suis-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisButtonComponent extends SuisButtonBase {}\n","<button\n class=\"suis-button\"\n [class.suis-button--full-width]=\"fullWidth\"\n [ngClass]=\"'suis-button' | suisNgClass : color\"\n [attr.disabled]=\"disabled || loading ? true : undefined\"\n [attr.tabindex]=\"disabled || loading ? -1 : 0\"\n [attr.type]=\"type\"\n (click)=\"onClick()\"\n>\n <span\n class=\"suis-button__content\"\n [class.suis-button__content--loading]=\"loading\"\n >\n <ng-content></ng-content>\n </span>\n <suis-spinner *ngIf=\"loading\" size=\"xs\" color=\"white\"></suis-spinner>\n</button>\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n Injectable,\n Signal,\n Type,\n WritableSignal,\n signal,\n} from '@angular/core';\nimport { SuisDialog } from '../components/suis-dialog-container/suis-dialog-container.interfaces';\n\n@Injectable()\nexport class SuisDialogService {\n private dialog: WritableSignal<SuisDialog | null> = signal(null);\n\n /**\n * @returns current displayed dialog or null.\n */\n getDialog(): Signal<SuisDialog | null> {\n return this.dialog.asReadonly();\n }\n\n /**\n * Opens dialog component in suis-dialog-container and add suis-dialog class to body.\n * @param component - dialog component\n * @param inputs - inputs passed to dialog component\n */\n open(component: Type<any>, inputs: { [key: string]: any }): void {\n this.dialog.set({ component, inputs });\n document.body.classList.add('suis-dialog');\n }\n\n /**\n * Removes displayed dialog and suis-dialog class from body.\n */\n close(): void {\n this.dialog.set(null);\n document.body.classList.remove('suis-dialog');\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n inject,\n} from '@angular/core';\nimport { NgClass, NgIf } from '@angular/common';\nimport { SuisIconComponent } from '../suis-icon';\nimport { SuisButtonComponent } from '../../modules/suis-button/components/suis-button';\nimport { SuisDialogService } from '../../services/suis-dialog.service';\nimport { SuisNgClassPipe } from '../../pipes';\nimport { SuisSize } from '../../types/suis-size.type';\n\n@Component({\n selector: 'suis-dialog',\n standalone: true,\n imports: [\n NgIf,\n NgClass,\n SuisIconComponent,\n SuisButtonComponent,\n SuisNgClassPipe,\n ],\n templateUrl: './suis-dialog.component.html',\n styleUrls: ['./suis-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisDialogComponent {\n private readonly suisDialogService = inject(SuisDialogService);\n\n /**\n * Sets width size of the dialog. Type of SuisSize. By default set to 'md'.\n */\n @Input() size: SuisSize = 'md';\n\n /**\n * Displays the cancel button in the actions footer of the dialog. By default set to true.\n */\n @Input() cancelButton: boolean = true;\n\n /**\n * Displays the confirm button in the actions footer of the dialog. By default set to true.\n */\n @Input() confirmButton: boolean = true;\n\n /**\n * Emits on confirm button clicked.\n */\n @Output() confirmed = new EventEmitter<void>();\n\n /**\n * Emits on cancel button or cross icon clicked.\n */\n @Output() cancelled = new EventEmitter<void>();\n\n onConfirm(): void {\n this.confirmed.emit();\n }\n\n onCancel(): void {\n this.cancelled.emit();\n this.suisDialogService.close();\n }\n}\n","<div class=\"suis-dialog\" [ngClass]=\"'suis-dialog' | suisNgClass : size\">\n <header class=\"suis-dialog__header\">\n <ng-content select=\"[suisDialogHeader]\"></ng-content>\n <button type=\"button\" (click)=\"onCancel()\">\n <suis-icon type=\"times\" color=\"dark\" size=\"lg\"></suis-icon>\n </button>\n </header>\n <section class=\"suis-dialog__content\">\n <ng-content select=\"[suisDialogContent]\"></ng-content>\n </section>\n <footer class=\"suis-dialog__actions\">\n <suis-button *ngIf=\"cancelButton\" color=\"danger\" (click)=\"onCancel()\">\n Cancel\n </suis-button>\n <suis-button *ngIf=\"confirmButton\" color=\"success\" (click)=\"onConfirm()\">\n Confirm\n </suis-button>\n </footer>\n</div>\n","import { Injectable, WritableSignal, signal, Signal } from '@angular/core';\nimport { SuisNotification } from '../components/suis-notification/suis-notification.interfaces';\nimport { SuisNotificationType } from '../components/suis-notification/suis-notification.types';\n\nlet UNIQUE_ID = 1;\n\n@Injectable()\nexport class SuisNotificationService {\n private notifications: WritableSignal<SuisNotification[]> = signal([]);\n\n /**\n * @returns array of the current notifications. Type of SuisNotification[].\n */\n getNotifications(): Signal<SuisNotification[]> {\n return this.notifications.asReadonly();\n }\n\n /**\n * Adds success notification\n * @param header text displayed in the notification header\n * @param message text displayed in the notification message\n * @param delay time in ms after notification will be destroyed\n */\n success(header: string, message: string, delay: number = 2500): void {\n this.addNotification(header, message, delay, 'success');\n }\n\n /**\n * Adds warning notification\n * @param header text displayed in the notification header\n * @param message text displayed in the notification message\n * @param delay time in ms after notification will be destroyed\n */\n warning(header: string, message: string, delay: number = 2500): void {\n this.addNotification(header, message, delay, 'warning');\n }\n\n /**\n * Adds danger notification\n * @param header text displayed in the notification header\n * @param message text displayed in the notification message\n * @param delay time in ms after notification will be destroyed\n */\n danger(header: string, message: string, delay: number = 2500): void {\n this.addNotification(header, message, delay, 'danger');\n }\n\n /**\n * Removes notification immediately\n * @param id id of the notification to be removed\n */\n forceRemoveNotification(id: string): void {\n this.removeNotification(id);\n }\n\n /** @internal */\n private getId(): string {\n return `suis-notification--${UNIQUE_ID++}`;\n }\n\n /** @internal */\n private addNotification(\n header: string,\n message: string,\n delay: number,\n type: SuisNotificationType\n ): void {\n const notification: SuisNotification = {\n id: this.getId(),\n header: header,\n message: message,\n delay: delay,\n type: type,\n };\n\n this.notifications.set([...this.notifications(), notification]);\n\n this.removeNotificationWithDelay(notification.id, notification.delay);\n }\n\n /** @internal */\n private removeNotification(id: string): void {\n this.notifications.set([\n ...this.notifications().filter((notification) => notification.id !== id),\n ]);\n }\n\n /** @internal */\n private removeNotificationWithDelay(id: string, delay: number): void {\n setTimeout(() => {\n this.removeNotification(id);\n }, delay);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Signal,\n inject,\n} from '@angular/core';\nimport { NgComponentOutlet, NgIf } from '@angular/common';\nimport { SuisDialogService } from '../../services';\nimport { SuisDialog } from './suis-dialog-container.interfaces';\n\n@Component({\n selector: 'suis-dialog-container',\n standalone: true,\n imports: [NgIf, NgComponentOutlet],\n templateUrl: './suis-dialog-container.component.html',\n styleUrls: ['./suis-dialog-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisDialogContainerComponent {\n private readonly suisDialogService = inject(SuisDialogService);\n\n dialog: Signal<SuisDialog | null> = this.suisDialogService.getDialog();\n}\n","<div class=\"suis-dialog-container\" *ngIf=\"dialog()\">\n <ng-container\n *ngComponentOutlet=\"dialog()!.component; inputs: dialog()!.inputs\"\n ></ng-container>\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SuisNgClassPipe } from '../../pipes';\nimport { SuisColor } from '../../types/suis-color.type';\n\n@Component({\n selector: 'suis-divider',\n standalone: true,\n imports: [CommonModule, SuisNgClassPipe],\n templateUrl: './suis-divider.component.html',\n styleUrls: ['./suis-divider.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisDividerComponent {\n /**\n * Sets the color of the divider. Type of SuisColor. By default set to 'tertiary'.\n */\n @Input() color: SuisColor = 'tertiary';\n}\n","<div\n class=\"suis-divider\"\n [ngClass]=\"'suis-divider' | suisNgClass : color\"\n></div>\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n TemplateRef,\n} from '@angular/core';\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\n\n@Component({\n selector: 'suis-form-field',\n standalone: true,\n imports: [NgIf, NgTemplateOutlet],\n templateUrl: './suis-form-field.component.html',\n styleUrls: ['./suis-form-field.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisFormFieldComponent {\n /**\n * Template to be added below the field with error message.\n */\n @Input() errorTemplate?: TemplateRef<HTMLElement>;\n}\n","<div class=\"suis-form-field\">\n <ng-content></ng-content>\n <div *ngIf=\"errorTemplate\" class=\"suis-form-field__error\">\n <ng-container [ngTemplateOutlet]=\"errorTemplate\"></ng-container>\n </div>\n</div>\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n inject,\n} from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\n\n@Directive()\nexport abstract class SuisInputBase implements ControlValueAccessor {\n /** @internal */\n protected readonly cdRef = inject(ChangeDetectorRef);\n\n /** @internal */\n protected readonly elRef = inject(ElementRef);\n\n /**\n * Sets HTML id attribute of the input. By default is undefined.\n */\n @Input() id?: string;\n\n /**\n * Sets HTML name attribute of the input. By default is undefined.\n */\n @Input() name?: string;\n\n /**\n * Sets input disabled state. By default set to false.\n */\n @Input() readonly: boolean = false;\n\n /**\n * Adds invalid styling to the input. By default set to false.\n */\n @Input() invalid: boolean = false;\n\n /**\n * Emits on value changed.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Output() changed = new EventEmitter<any>();\n\n /**\n * Emits on input touched.\n */\n @Output() touched = new EventEmitter<void>();\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any\n _onChange = (value: any) => {};\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n _onTouched = () => {};\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n abstract writeValue(obj: any): void;\n\n /** @internal */\n onTouch(): void {\n this._onTouched();\n this.touched.emit();\n this.cdRef.markForCheck();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n forwardRef,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SuisInputType } from './suis-input.types';\nimport { SuisInputBase } from '../../shared/classes/suis-input.base';\n\n@Component({\n selector: 'suis-input',\n standalone: true,\n imports: [],\n templateUrl: './suis-input.component.html',\n styleUrls: ['./suis-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SuisInputComponent),\n },\n ],\n})\nexport class SuisInputComponent extends SuisInputBase {\n /**\n * Sets input's type to one of the accepted values - type of SuisInputType. By default set to 'text'.\n */\n @Input() type: SuisInputType = 'text';\n\n /**\n * Placeholder text displayed in input. By default set to empty string.\n */\n @Input() placeholder: string = '';\n\n /**\n * Emits on keydown enter input event.\n */\n @Output() enterPressed = new EventEmitter<void>();\n\n /** @internal */\n value: string = '';\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n override writeValue(obj: string): void {\n this.value = obj;\n this._onChange(this.value);\n this.cdRef.markForCheck();\n }\n\n onChange(event: Event): void {\n const target = event.target as HTMLInputElement;\n this.value = target.value;\n this._onChange(this.value);\n this.changed.emit(this.value);\n this.cdRef.markForCheck();\n }\n\n onEnter(): void {\n this.enterPressed.emit();\n }\n}\n","<input\n class=\"suis-input\"\n [class.suis-input--invalid]=\"invalid\"\n [class.suis-input--readonly]=\"readonly\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [type]=\"type\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n [disabled]=\"readonly\"\n (input)=\"onChange($event)\"\n (focus)=\"onTouch()\"\n (keydown.enter)=\"onEnter()\"\n/>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { NgIf } from '@angular/common';\n\n@Component({\n selector: 'suis-label',\n standalone: true,\n imports: [NgIf],\n templateUrl: './suis-label.component.html',\n styleUrls: ['./suis-label.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisLabelComponent {\n /**\n * Sets the HTML for attribute of the label. By default is undefined.\n */\n @Input() for?: string;\n\n /**\n * Adds a red colored asterisk after the label. By default set to false.\n */\n @Input() required: boolean = false;\n\n /**\n * Shows the pointer cursor when hovered. By default set to false.\n */\n @Input() pointer: boolean = false;\n\n /**\n * Grays out the label content and removes cursor pointer behavior. By default set to false.\n */\n @Input() readonly: boolean = false;\n}\n","<label\n class=\"suis-label\"\n [class.suis-label--pointer]=\"!readonly && pointer\"\n [class.suis-label--readonly]=\"readonly\"\n [htmlFor]=\"for ? for : undefined\"\n>\n <ng-content></ng-content>\n <span *ngIf=\"required\" class=\"suis-label__asterisk\">*</span>\n <ng-content select=\"[suisLabelAside]\"></ng-content>\n</label>\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n Input,\n ViewChild,\n} from '@angular/core';\nimport { SuisInputBase } from './suis-input.base';\n\n@Directive()\nexport abstract class SuisCheckboxBase\n extends SuisInputBase\n implements AfterViewInit\n{\n /** @internal */\n @ViewChild('input') checkboxInput?: ElementRef;\n\n /** @internal */\n value: boolean = false;\n\n /**\n * Adds a red colored asterisk after the label. By default set to false.\n */\n @Input() required: boolean = false;\n\n ngAfterViewInit(): void {\n if (this.value)\n (this.checkboxInput?.nativeElement as HTMLInputElement).checked = true;\n }\n\n override writeValue(obj: boolean): void {\n this.value = obj;\n this._onChange(this.value);\n this.cdRef.markForCheck();\n }\n\n onChange(event: Event): void {\n const target = event.target as HTMLInputElement;\n this.value = target.checked;\n this._onChange(this.value);\n this.changed.emit(this.value);\n this.cdRef.markForCheck();\n }\n}\n","import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core';\nimport { NgIf } from '@angular/common';\nimport { SuisLabelComponent } from '../suis-label/suis-label.component';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SuisIconComponent } from '../suis-icon/suis-icon.component';\nimport { SuisCheckboxBase } from '../../shared/classes/suis-checkbox.base';\n\n@Component({\n selector: 'suis-input-checkbox',\n standalone: true,\n imports: [NgIf, SuisLabelComponent, SuisIconComponent],\n templateUrl: './suis-input-checkbox.component.html',\n styleUrls: ['./suis-input-checkbox.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SuisInputCheckboxComponent),\n },\n ],\n})\nexport class SuisInputCheckboxComponent extends SuisCheckboxBase {}\n","<input\n #input\n type=\"checkbox\"\n class=\"suis-input-checkbox\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [value]=\"value\"\n [disabled]=\"readonly\"\n (input)=\"onChange($event)\"\n (focus)=\"onTouch()\"\n/>\n\n<suis-label\n class=\"suis-input-checkbox__label\"\n [class.suis-input-checkbox__label--invalid]=\"invalid\"\n [class.suis-input-checkbox__label--readonly]=\"readonly\"\n [for]=\"id\"\n [required]=\"required\"\n [pointer]=\"true\"\n [readonly]=\"readonly\"\n>\n <div\n [tabindex]=\"readonly ? -1 : 0\"\n class=\"suis-input-checkbox__check\"\n [class.suis-input-checkbox__check--invalid]=\"invalid\"\n [class.suis-input-checkbox__check--readonly]=\"readonly\"\n >\n <suis-icon\n *ngIf=\"value\"\n type=\"check\"\n size=\"lg\"\n [color]=\"readonly ? 'tertiary' : 'primary'\"\n ></suis-icon>\n </div>\n <ng-content></ng-content>\n</suis-label>\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostListener,\n Input,\n ViewChild,\n forwardRef,\n} from '@angular/core';\nimport { NgFor, NgIf } from '@angular/common';\nimport {\n FormControl,\n NG_VALUE_ACCESSOR,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { SuisChipComponent } from '../suis-chip';\nimport { SuisInputComponent } from '../suis-input';\nimport { SuisInputBase } from '../../shared/classes/suis-input.base';\nimport { SuisColor } from '../../types/suis-color.type';\n\n@Component({\n selector: 'suis-input-chips',\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n ReactiveFormsModule,\n SuisChipComponent,\n SuisInputComponent,\n ],\n templateUrl: './suis-input-chips.component.html',\n styleUrls: ['./suis-input-chips.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SuisInputChipsComponent),\n },\n ],\n})\nexport class SuisInputChipsComponent extends SuisInputBase {\n /** @internal */\n @ViewChild('input') inputEl?: ElementRef;\n\n /**\n * Placeholder text displayed in input. By default set to empty string.\n */\n @Input() placeholder: string = '';\n\n /**\n * Sets the color pallette of the chips. Type of SuisColor. By default set to 'primary'.\n */\n @Input() chipColor: SuisColor = 'primary';\n\n /**\n * Sets the color of the chips' cross icon. Type of SuisColor. By default set to 'white'.\n */\n @Input() chipIconColor: SuisColor = 'white';\n\n /** @internal */\n value: string[] = [];\n\n /** @internal */\n inputControl = new FormControl<string>('', { nonNullable: true });\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n writeValue(obj: string[]): void {\n this.value = obj || [];\n this._onChange(this.value);\n this.cdRef.markForCheck();\n }\n\n addItem(value: string): void {\n const values = value.split(',').filter((v) => !!v);\n this.value = this.value.concat(values);\n this._onChange(this.value);\n this.changed.emit(this.value);\n this.cdRef.markForCheck();\n }\n\n removeItem(value: string): void {\n this.value = this.value.filter((v) => v !== value);\n }\n\n submitValue() {\n const inputValue = this.inputControl.value;\n this.inputControl.reset();\n this.addItem(inputValue);\n }\n\n @HostListener('document:click', ['$event'])\n onDocumentClick(event: Event) {\n if (!this.inputEl?.nativeElement.contains(event.target)) this.submitValue();\n }\n}\n","<div class=\"suis-input-chips\">\n <div *ngIf=\"!readonly\" #input class=\"suis-input-chips__input\">\n <suis-input\n [id]=\"id\"\n [name]=\"name\"\n [formControl]=\"inputControl\"\n [readonly]=\"readonly\"\n [invalid]=\"invalid\"\n [placeholder]=\"placeholder\"\n (touched)=\"onTouch()\"\n (enterPressed)=\"submitValue()\"\n ></suis-input>\n </div>\n <div *ngIf=\"value.length\" class=\"suis-input-chips__chips\">\n <suis-chip\n [removable]=\"readonly ? false : true\"\n [color]=\"chipColor\"\n [iconColor]=\"chipIconColor\"\n (remove)=\"removeItem(item)\"\n *ngFor=\"let item of value\"\n >\n {{ item }}\n </suis-chip>\n </div>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Output,\n ViewChild,\n forwardRef,\n} from '@angular/core';\nimport { NgIf } from '@angular/common';\nimport { SuisInputBase } from '../../shared/classes/suis-input.base';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SuisIconComponent } from '../suis-icon/suis-icon.component';\n\n@Component({\n selector: 'suis-input-image',\n standalone: true,\n imports: [NgIf, SuisIconComponent],\n templateUrl: './suis-input-image.component.html',\n styleUrls: ['./suis-input-image.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SuisInputImageComponent),\n },\n ],\n})\nexport class SuisInputImageComponent extends SuisInputBase {\n /** @internal */\n @ViewChild('input') fileInput?: ElementRef;\n\n /**\n * Emits value on FileList upload.\n */\n @Output() uploaded = new EventEmitter<FileList>();\n\n /** @internal */\n value: FileList | null = null;\n\n /** @internal */\n imageUrl: string | null = null;\n\n override writeValue(obj: FormData | string): void {\n if (typeof obj === 'string') this.imageUrl = obj;\n this.cdRef.markForCheck();\n }\n\n onChange(event: Event): void {\n const target = event.target as HTMLInputElement;\n if (target.files) this.uploaded.emit(target.files);\n this.cdRef.markForCheck();\n }\n\n onRemove(): void {\n this.imageUrl = null;\n this.value = null;\n (this.fileInput?.nativeElement as HTMLInputElement).value = '';\n this._onChange(this.value);\n this.changed.emit(this.value);\n this.cdRef.markForCheck();\n }\n}\n","<div\n class=\"suis-input-image\"\n [class.suis-input-image--invalid]=\"invalid\"\n [class.suis-input-image--readonly]=\"readonly\"\n>\n <figure *ngIf=\"imageUrl\" class=\"suis-input-image__preview\">\n <img [src]=\"imageUrl\" alt=\"Uploaded image\" />\n <button type=\"button\" (click)=\"onRemove()\" [disabled]=\"readonly\">\n <suis-icon\n type=\"times\"\n color=\"danger\"\n size=\"md\"\n [filled]=\"true\"\n ></suis-icon>\n </button>\n </figure>\n <input\n #input\n type=\"file\"\n class=\"suis-input-image__input\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [disabled]=\"readonly\"\n (input)=\"onChange($event)\"\n (focus)=\"onTouch()\"\n />\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n forwardRef,\n} from '@angular/core';\nimport { SuisInputBase } from '../../shared/classes';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'suis-input-number',\n standalone: true,\n imports: [],\n templateUrl: './suis-input-number.component.html',\n styleUrls: ['./suis-input-number.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SuisInputNumberComponent),\n },\n ],\n})\nexport class SuisInputNumberComponent extends SuisInputBase {\n /**\n * Placeholder text displayed in input. By default set to empty string.\n */\n @Input() placeholder: string = '';\n\n /** @internal */\n value: number | null = null;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n override writeValue(obj: number | null): void {\n this.value = obj;\n this._onChange(this.value);\n this.cdRef.markForCheck();\n }\n\n onChange(event: Event): void {\n const target = event.target as HTMLInputElement;\n this.value = target.value ? Number(target.value) : null;\n this._onChange(this.value);\n this.changed.emit(this.value);\n this.cdRef.markForCheck();\n }\n}\n","<input\n type=\"number\"\n class=\"suis-input-number\"\n [class.suis-input-number--invalid]=\"invalid\"\n [class.suis-input-number--readonly]=\"readonly\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n [disabled]=\"readonly\"\n (input)=\"onChange($event)\"\n (focus)=\"onTouch()\"\n/>\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n ViewChild,\n forwardRef,\n} from '@angular/core';\nimport { SuisLabelComponent } from '../suis-label/suis-label.component';\nimport { NG_VALUE_ACCESSOR, RadioControlValueAccessor } from '@angular/forms';\n\n@Component({\n selector: 'suis-input-radio',\n standalone: true,\n imports: [SuisLabelComponent],\n templateUrl: './suis-input-radio.component.html',\n styleUrls: ['./suis-input-radio.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SuisInputRadioComponent),\n },\n ],\n})\nexport class SuisInputRadioComponent\n extends RadioControlValueAccessor\n implements AfterViewInit\n{\n /** @internal */\n @ViewChild('input') radioInput?: ElementRef;\n\n /**\n * Sets HTML id attribute of the input. By default is undefined.\n */\n @Input({ required: true }) id?: string;\n\n /**\n * Sets input disabled state. By default set to false.\n */\n @Input() readonly: boolean = false;\n\n /**\n * Adds invalid styling to the input. By default set to false.\n */\n @Input() invalid: boolean = false;\n\n /**\n * Sets input checked state to true. By default set to false.\n */\n @Input() default: boolean = false;\n\n ngAfterViewInit(): void {\n if (this.default)\n (this.radioInput?.nativeElement as HTMLInputElement).checked = true;\n }\n}\n","<input\n #input\n type=\"radio\"\n class=\"suis-input-radio\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [value]=\"value\"\n [disabled]=\"readonly\"\n/>\n\n<suis-label\n class=\"suis-input-radio__label\"\n [class.suis-input-radio__label--invalid]=\"invalid\"\n [class.suis-input-radio__label--readonly]=\"readonly\"\n [for]=\"id\"\n [pointer]=\"true\"\n [readonly]=\"readonly\"\n>\n <div\n [tabindex]=\"readonly ? -1 : 0\"\n class=\"suis-input-radio__circle\"\n [class.suis-input-radio__circle--invalid]=\"invalid\"\n [class.suis-input-radio__circle--readonly]=\"readonly\"\n >\n <div class=\"suis-input-radio__circle__fill\"></div>\n </div>\n <ng-content></ng-content>\n</suis-label>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'suis-item',\n standalone: true,\n imports: [],\n templateUrl: './suis-item.component.html',\n styleUrls: ['./suis-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisItemComponent {\n /**\n * Adds a padding around the content. By default set to true.\n */\n @Input() spacing: boolean = true;\n\n /**\n * Styles item as a header. By default set to false.\n */\n @Input() header: boolean = false;\n\n /**\n * Displays border bottom below the item. Does not effect header item. By default set to true.\n */\n @Input() divider: boolean = true;\n}\n","<div\n class=\"suis-item\"\n [class.suis-item--spacing]=\"spacing\"\n [class.suis-item--header]=\"header\"\n [class.suis-item--divider]=\"divider && !header\"\n>\n <ng-content></ng-content>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { NgClass, NgIf } from '@angular/common';\nimport { SuisNotification } from './suis-notification.interfaces';\nimport { SuisNgClassPipe } from '../../pipes';\nimport { SuisIconComponent } from '../suis-icon/suis-icon.component';\n\n@Component({\n selector: 'suis-notification',\n standalone: true,\n imports: [NgIf, NgClass, SuisNgClassPipe, SuisIconComponent],\n templateUrl: './suis-notification.component.html',\n styleUrls: ['./suis-notification.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisNotificationComponent {\n /**\n * Notification item data. Type of SuisNotification.\n */\n @Input({ required: true }) notification?: SuisNotification | null = null;\n\n /**\n * Emits on close button action.\n */\n @Output() closed = new EventEmitter<void>();\n\n onClose() {\n this.notification = null;\n this.closed.emit();\n }\n}\n","<div\n *ngIf=\"notification\"\n class=\"suis-notification\"\n [ngClass]=\"'suis-notification' | suisNgClass : notification.type\"\n>\n <div class=\"suis-notification__header\">\n <span>\n {{ notification.header }}\n </span>\n <button\n class=\"suis-notification__header__close\"\n type=\"button\"\n (click)=\"onClose()\"\n >\n <suis-icon type=\"times\" [color]=\"'white'\" [size]=\"'lg'\"></suis-icon>\n </button>\n </div>\n <div class=\"suis-notification__message\">\n {{ notification.message }}\n </div>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n Signal,\n inject,\n} from '@angular/core';\nimport { NgFor } from '@angular/common';\nimport { SuisNotification } from '../suis-notification/suis-notification.interfaces';\nimport { SuisNotificationComponent } from '../suis-notification/suis-notification.component';\nimport { SuisNotificationService } from '../../services/suis-notification.service';\n\n@Component({\n selector: 'suis-notifications',\n standalone: true,\n imports: [NgFor, SuisNotificationComponent],\n templateUrl: './suis-notifications.component.html',\n styleUrls: ['./suis-notifications.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisNotificationsComponent {\n private readonly notificationService = inject(SuisNotificationService);\n\n notifications: Signal<SuisNotification[]> =\n this.notificationService.getNotifications();\n\n remove(id: string): void {\n this.notificationService.forceRemoveNotification(id);\n }\n\n /** @internal */\n notificationTrackBy(index: number, notification: SuisNotification): string {\n return notification.id;\n }\n}\n","<suis-notification\n *ngFor=\"let notification of notifications(); trackBy: notificationTrackBy\"\n [notification]=\"notification\"\n (closed)=\"remove(notification.id)\"\n></suis-notification>\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n standalone: true,\n name: 'suisPaginationPage',\n})\nexport class SuisPaginationPagePipe implements PipeTransform {\n transform(\n ofLabel: string,\n page: number,\n perPage: number,\n totalItems: number\n ): string {\n if (totalItems <= 0) return `1 ${ofLabel} 1`;\n\n const maxPage = Math.ceil(totalItems / perPage);\n\n return `${page} ${ofLabel} ${maxPage}`;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n standalone: true,\n name: 'suisPaginationItems',\n})\nexport class SuisPaginationItemsPipe implements PipeTransform {\n transform(\n ofLabel: string,\n page: number,\n perPage: number,\n totalItems: number,\n itemsLabel: string\n ): string {\n if (totalItems <= 0) return `0-0 ${ofLabel} 0 ${itemsLabel}`;\n\n const minItem = page * perPage - perPage + 1;\n const maxItem = page * perPage > totalItems ? totalItems : page * perPage;\n\n return `${minItem}-${maxItem} ${ofLabel} ${totalItems} ${itemsLabel}`;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { SuisSelectOption } from '../interfaces/suis-select-option.interfaces';\n\n@Pipe({\n standalone: true,\n name: 'suisSelectLabel',\n})\nexport class SuisSelectLabelPipe<T> implements PipeTransform {\n transform(\n value: T,\n options: SuisSelectOption[],\n placeholder: string,\n optionValue: string,\n optionLabel: string\n ): string {\n if (!value) return placeholder;\n const selectedOption = options.find(\n (option) => JSON.stringify(option[optionValue]) === JSON.stringify(value)\n );\n if (!selectedOption) {\n console.warn(\n '[SuisSelectLabelPipe] Provided value does not belong to valid values'\n );\n return JSON.stringify(value);\n }\n return selectedOption[optionLabel];\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n standalone: true,\n name: 'suisSelectIsSelected',\n})\nexport class SuisSelectIsSelectedPipe<T> implements PipeTransform {\n transform(optionValue: T, value: T): boolean {\n return JSON.stringify(optionValue) === JSON.stringify(value);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\nimport { SuisSelectOption } from '../../interfaces/suis-select-option.interfaces';\nimport { SuisIconComponent } from '../../../../components/suis-icon/suis-icon.component';\n\n@Component({\n selector: 'suis-select-option',\n standalone: true,\n imports: [NgIf, NgTemplateOutlet, SuisIconComponent],\n templateUrl: './suis-select-option.component.html',\n styleUrls: ['./suis-select-option.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisSelectOptionComponent {\n /**\n * Option data. Type of SuisSelectOption. Required input.\n */\n @Input({ required: true }) option?: SuisSelectOption;\n\n /**\n * Template to be displayed instead of option's label.\n */\n @Input() templateRef?: TemplateRef<{ $implicit: SuisSelectOption }>;\n\n /**\n * Option value property name in options. By default set to 'value'.\n */\n @Input() optionValue: string = 'value';\n\n /**\n * Option label property name in options. By default set to 'label'.\n */\n @Input() optionLabel: string = 'label';\n\n /**\n * Adds checkmark icon to checkbox (if checkbox input set to true). By default set to false.\n */\n @Input() selected: boolean = false;\n\n /**\n * Display checkbox next to option label. By default set to true.\n */\n @Input() checkbox: boolean = true;\n\n /**\n * Emits on option selected.\n */\n @Output() clicked = new EventEmitter<void>();\n\n /** @internal */\n onClick(): void {\n this.clicked.emit();\n }\n}\n","<button\n class=\"suis-select-option\"\n type=\"button\"\n tabindex=\"-1\"\n (click)=\"onClick()\"\n>\n <span\n class=\"suis-select-option__checkbox\"\n [class.suis-select-option__checkbox--selected]=\"selected\"\n *ngIf=\"checkbox\"\n >\n <suis-icon\n *ngIf=\"selected\"\n [bold]=\"true\"\n color=\"primary\"\n type=\"check\"\n size=\"sm\"\n ></suis-icon>\n </span>\n <span class=\"suis-select-option__label\">\n <ng-container *ngIf=\"templateRef; else label\">\n <ng-container\n *ngTemplateOutlet=\"templateRef; context: { $implicit: option }\"\n ></ng-container>\n </ng-container>\n <ng-template #label>\n {{ option ? option[optionLabel] : '' }}\n </ng-template>\n </span>\n</button>\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { SuisSelectOption } from '../interfaces/suis-select-option.interfaces';\nimport { SuisSortOptional } from '../../../types';\n\n@Pipe({\n standalone: true,\n name: 'suisSelectSortOptions',\n})\nexport class SuisSelectSortOptionsPipe implements PipeTransform {\n transform(\n options: SuisSelectOption[],\n optionLabel: string,\n sortOptions: SuisSortOptional\n ): SuisSelectOption[] {\n switch (sortOptions) {\n case 'asc':\n return options.sort((a, b) =>\n a[optionLabel].localeCompare(b[optionLabel])\n );\n case 'desc':\n return options.sort((a, b) =>\n b[optionLabel].localeCompare(a[optionLabel])\n );\n default:\n return options;\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { SuisSelectOption } from '../interfaces/suis-select-option.interfaces';\n\n@Pipe({\n standalone: true,\n name: 'suisSelectFilterOptions',\n})\nexport class SuisSelectFilterOptionsPipe implements PipeTransform {\n transform(\n options: SuisSelectOption[],\n phrase: string,\n optionLabel: string\n ): SuisSelectOption[] {\n if (!phrase) return options;\n return options.filter((option) =>\n option[optionLabel]\n .toLocaleLowerCase()\n .includes(phrase.toLocaleLowerCase())\n );\n }\n}\n","import { Directive, EventEmitter, Input, Output } from '@angular/core';\n\n@Directive()\nexport abstract class SuisSelectButtonBase {\n /**\n * Sets the readonly state of select button. By default set to false.\n */\n @Input() readonly: boolean = false;\n\n /**\n * Sets the invalid state of select button. By default set to false.\n */\n @Input() invalid: boolean = false;\n\n /**\n * Allows to clear the select value by using cross icon in button. By default set to false.\n */\n @Input() clearable: boolean = false;\n\n /**\n * Indicates if select content is expanded and styles chevron accordingly. By default set to false.\n */\n @Input() expanded: boolean = false;\n\n /**\n * Emits on button click.\n */\n @Output() expandedChange = new EventEmitter<void>();\n\n /**\n * Emits on button cross icon click.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Output() cleared = new EventEmitter<any>();\n\n onExpand(): void {\n this.expandedChange.emit();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onClear(event: any): void {\n this.cleared.emit(event);\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SuisIconComponent } from '../../../../components/suis-icon/suis-icon.component';\nimport { SuisSelectButtonBase } from '../../classes/suis-select-button.base';\n\n@Component({\n selector: 'suis-select-button',\n standalone: true,\n imports: [CommonModule, SuisIconComponent],\n templateUrl: './suis-select-button.component.html',\n styleUrls: ['./suis-select-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisSelectButtonComponent extends SuisSelectButtonBase {}\n","<button\n type=\"button\"\n (click)=\"onExpand()\"\n class=\"suis-select-button\"\n [class.suis-select-button--invalid]=\"invalid\"\n [class.suis-select-button--readonly]=\"readonly\"\n [disabled]=\"readonly\"\n>\n <span class=\"suis-select-button__value\">\n <ng-content></ng-content>\n </span>\n <span class=\"suis-select-button__actions\">\n <suis-icon\n *ngIf=\"clearable && !readonly\"\n class=\"suis-select-button__cross\"\n type=\"times\"\n size=\"lg\"\n color=\"primary\"\n (click)=\"onClear($event)\"\n ></suis-icon>\n <suis-icon\n class=\"suis-select-button__chevron\"\n [type]=\"expanded ? 'chevron-up' : 'chevron-down'\"\n size=\"lg\"\n color=\"primary\"\n ></suis-icon>\n </span>\n</button>\n","import { Directive, TemplateRef, inject } from '@angular/core';\nimport { SuisSelectOption } from '../interfaces/suis-select-option.interfaces';\n\n@Directive({\n selector: '[suisSelectOption]',\n standalone: true,\n})\nexport class SuisSelectOptionDirective {\n /**\n * Custom template of the option.\n */\n public readonly templateRef = inject(\n TemplateRef<{ $implicit: SuisSelectOption }>\n );\n}\n","import {\n ContentChild,\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { SuisInputBase } from '../../../shared/classes/suis-input.base';\nimport { SuisSelectOption } from '../interfaces/suis-select-option.interfaces';\nimport { SuisSelectOptionDirective } from '../directives/suis-select-option.directive';\nimport { SuisSortOptional } from '../../../types/suis-sort.type';\n\n@Directive()\nexport abstract class SuisSelectBase<T> extends SuisInputBase {\n /** @internal */\n @ContentChild(SuisSelectOptionDirective)\n suisSelectOption?: SuisSelectOptionDirective;\n\n /** @internal */\n @ViewChild('searchInput', { static: false })\n searchInput?: ElementRef;\n\n /** @internal */\n protected searchPhrase: string = '';\n\n /** @internal */\n protected expanded: boolean = false; // TODO: Remove\n\n /**\n * Options displayed in dropdown list. Type of SuisSelectOption[].\n */\n @Input() options: SuisSelectOption[] = [];\n\n /**\n * Defines way of sorting options. Type of SuisSortOptional. By default set to 'asc'.\n */\n @Input() sortOptions: SuisSortOptional = 'asc';\n\n /**\n * Displays search input above options. By default set to true.\n */\n @Input() search: boolean = true;\n\n /**\n * Placeholder text displayed in options search. By default set to 'Search...'.\n */\n @Input() searchPlaceholder: string = 'Search...';\n\n /**\n * Placeholder text displayed when value is not selected. By default set to 'Select option...'.\n */\n @Input() placeholder: string = 'Select option...';\n\n /**\n * Option value property name in options. By default set to 'value'.\n */\n @Input() optionValue: string = 'value';\n\n /**\n * Option label property name in options. By default set to 'label'.\n */\n @Input() optionLabel: string = 'label';\n\n /**\n * Emits on search phrase changed.\n */\n @Output() searchPhraseChanged = new EventEmitter<string>();\n\n abstract onSelect(value: T): void;\n\n abstract clearValue(): void;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n abstract setValue(value: any): void;\n\n onClear(event: Event): void {\n this.clearValue();\n event.stopPropagation();\n }\n\n onSearchPhraseChange(text: string): void {\n this.searchPhrase = text;\n this.searchPhraseChanged.emit(text);\n }\n\n onExpand(): void {\n this.toggle(!this.expanded);\n this.onTouch();\n }\n\n toggle(value: boolean): void {\n this.expanded = value;\n this.searchPhrase = '';\n if (this.expanded)\n setTimeout(() => {\n this.searchInput?.nativeElement.focus();\n }, 0);\n }\n\n @HostListener('document:click', ['$event'])\n onDocumentClick(event: Event): void {\n if (!this.elRef.nativeElement.contains(event.target)) {\n this.expanded = false;\n }\n }\n\n /** @internal */\n optionTrackBy(index: number, option: SuisSelectOption): string {\n return `${JSON.stringify(option[this.optionValue])}`;\n }\n}\n","import { Directive, Input } from '@angular/core';\nimport { SuisSelectBase } from './suis-select.base';\n\n@Directive()\nexport abstract class SuisSelectSingleBase<T> extends SuisSelectBase<T> {\n /** @internal */\n value: T | null = null;\n\n /**\n * Allows mechanism of clearing value. By default set to true.\n */\n @Input() nullable: boolean = true;\n\n override writeValue(obj: T): void {\n this.value = obj;\n this._onChange(this.value);\n this.cdRef.markForCheck();\n }\n\n override onSelect(value: T) {\n if (JSON.stringify(this.value) === JSON.stringify(value)) {\n if (this.nullable) this.clearValue();\n } else {\n this.setValue(value);\n }\n }\n\n override clearValue() {\n this.setValue(null);\n }\n\n override setValue(value: T | null) {\n this.value = value;\n this.toggle(false);\n this._onChange(this.value);\n this.changed.emit();\n this.cdRef.markForCheck();\n }\n}\n","import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core';\nimport { NgFor, NgIf } from '@angular/common';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SuisSelectLabelPipe } from '../../pipes/suis-select-label.pipe';\nimport { SuisSelectIsSelectedPipe } from '../../pipes/suis-select-is-selected.pipe';\nimport { SuisSelectOptionComponent } from '../suis-select-option/suis-select-option.component';\nimport { SuisSelectSortOptionsPipe } from '../../pipes/suis-select-sort-options.pipe';\nimport { SuisSelectFilterOptionsPipe } from '../../pipes/suis-select-filter-options.pipe';\nimport { SuisSelectButtonComponent } from '../suis-select-button/suis-select-button.component';\nimport { SuisSelectSingleBase } from '../../classes/suis-select-single.base';\n\n@Component({\n selector: 'suis-select',\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n FormsModule,\n SuisSelectOptionComponent,\n SuisSelectButtonComponent,\n SuisSelectLabelPipe,\n SuisSelectIsSelectedPipe,\n SuisSelectSortOptionsPipe,\n SuisSelectFilterOptionsPipe,\n ],\n templateUrl: './suis-select.component.html',\n styleUrls: ['./suis-select.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SuisSelectComponent),\n },\n ],\n})\nexport class SuisSelectComponent<T> extends SuisSelectSingleBase<T> {}\n","<div class=\"suis-select\">\n <suis-select-button\n [invalid]=\"invalid\"\n [readonly]=\"readonly\"\n [clearable]=\"!!(nullable && value)\"\n [expanded]=\"expanded\"\n (expandedChange)=\"onExpand()\"\n (cleared)=\"onClear($event)\"\n >\n {{\n value\n | suisSelectLabel : options : placeholder : optionValue : optionLabel\n }}\n </suis-select-button>\n <div *ngIf=\"expanded\" class=\"suis-select__list\">\n <input\n #searchInput\n *ngIf=\"search\"\n [ngModel]=\"searchPhrase\"\n (ngModelChange)=\"onSearchPhraseChange($event)\"\n class=\"suis-select__list__search\"\n type=\"search\"\n [placeholder]=\"searchPlaceholder\"\n />\n <suis-select-option\n *ngFor=\"\n let option of options\n | suisSelectSortOptions : optionLabel : sortOptions\n | suisSelectFilterOptions : searchPhrase : optionLabel;\n trackBy: optionTrackBy\n \"\n [option]=\"option\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue\"\n [templateRef]=\"suisSelectOption?.templateRef\"\n [selected]=\"option[optionValue] | suisSelectIsSelected : value\"\n (clicked)=\"onSelect(option[optionValue])\"\n ></suis-select-option>\n </div>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n TemplateRef,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SuisSelectGroupOption } from '../../interfaces/suis-select-group-option.interfaces';\n\n@Component({\n selector: 'suis-select-group-option',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './suis-select-group-option.component.html',\n styleUrls: ['./suis-select-group-option.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisSelectGroupOptionComponent {\n /**\n * Item data. Type of SuisSelectGroupOption. Required input.\n */\n @Input({ required: true }) option?: SuisSelectGroupOption;\n\n /**\n * Template to be displayed instead of item's label.\n */\n @Input() templateRef?: TemplateRef<{ $implicit: SuisSelectGroupOption }>;\n}\n","<div class=\"suis-select-group-option\">\n <ng-container *ngIf=\"templateRef; else label\">\n <ng-container\n *ngTemplateOutlet=\"templateRef; context: { $implicit: option }\"\n ></ng-container>\n </ng-container>\n <ng-template #label>\n {{ option?.label }}\n </ng-template>\n</div>\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { SuisSelectGroupOption } from '../interfaces/suis-select-group-option.interfaces';\n\n@Pipe({\n standalone: true,\n name: 'suisSelectFilterGroupOptions',\n})\nexport class SuisSelectFilterGroupOptionsPipe implements PipeTransform {\n transform(\n groupOptions: SuisSelectGroupOption[],\n phrase: string,\n optionLabel: string\n ): SuisSelectGroupOption[] {\n if (!phrase) return groupOptions;\n return groupOptions.filter((groupOption) =>\n groupOption.children.some((option) =>\n option[optionLabel]\n .toLocaleLowerCase()\n .includes(phrase.toLocaleLowerCase())\n )\n );\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { SuisSelectGroupOption } from '../interfaces/suis-select-group-option.interfaces';\n\n@Pipe({\n standalone: true,\n name: 'suisSelectGroupLabel',\n})\nexport class SuisSelectGroupLabelPipe<T> implements PipeTransform {\n transform(\n value: T,\n groupOptions: SuisSelectGroupOption[],\n placeholder: string,\n optionValue: string,\n optionLabel: string\n ): string {\n if (!value) return placeholder;\n const options = groupOptions.map((go) => go.children).flat();\n const selectedOption = options.find(\n (option) => JSON.stringify(option[optionValue]) === JSON.stringify(value)\n );\n if (!selectedOption) {\n console.warn(\n '[SuisSelectGroupLabelPipe] Provided value does not belong to valid values'\n );\n return JSON.stringify(value);\n }\n return selectedOption[optionLabel];\n }\n}\n","import { Directive, TemplateRef, inject } from '@angular/core';\nimport { SuisSelectGroupOption } from '../interfaces/suis-select-group-option.interfaces';\n\n@Directive({\n selector: '[suisSelectGroupOption]',\n standalone: true,\n})\nexport class SuisSelectGroupOptionDirective {\n /**\n * Custom template of the group option.\n */\n public readonly templateRef = inject(\n TemplateRef<{ $implicit: SuisSelectGroupOption }>\n );\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { SuisSelectGroupOption } from '../interfaces/suis-select-group-option.interfaces';\nimport { SuisSortOptional } from '../../../types/suis-sort.type';\n\n@Pipe({\n standalone: true,\n name: 'suisSelectSortGroupOptions',\n})\nexport class SuisSelectSortGroupOptionsPipe implements PipeTransform {\n transform(\n options: SuisSelectGroupOption[],\n sortOptions: SuisSortOptional\n ): SuisSelectGroupOption[] {\n switch (sortOptions) {\n case 'asc':\n return options.sort((a, b) => a.label.localeCompare(b.label));\n case 'desc':\n return options.sort((a, b) => b.label.localeCompare(a.label));\n default:\n return options;\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n Input,\n forwardRef,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SuisSelectOptionComponent } from '../suis-select-option/suis-select-option.component';\nimport { SuisSelectGroupOptionComponent } from '../suis-select-group-option/suis-select-group-option.component';\nimport { SuisSelectIsSelectedPipe } from '../../pipes/suis-select-is-selected.pipe';\nimport { SuisSelectSortOptionsPipe } from '../../pipes/suis-select-sort-options.pipe';\nimport { SuisSelectFilterOptionsPipe } from '../../pipes/suis-select-filter-options.pipe';\nimport { SuisSelectFilterGroupOptionsPipe } from '../../pipes/suis-select-filter-group-options.pipe';\nimport { SuisSelectGroupLabelPipe } from '../../pipes/suis-select-group-label.pipe';\nimport { SuisSelectSingleBase } from '../../classes/suis-select-single.base';\nimport { SuisSelectGroupOptionDirective } from '../../directives/suis-select-group-option.directive';\nimport { SuisSelectGroupOption } from '../../interfaces/suis-select-group-option.interfaces';\nimport { SuisSelectButtonComponent } from '../suis-select-button';\nimport { SuisSelectSortGroupOptionsPipe } from '../../pipes/suis-select-sort-group-options.pipe';\n\n@Component({\n selector: 'suis-select-group',\n standalone: true,\n templateUrl: './suis-select-group.component.html',\n styleUrls: ['./suis-select-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n SuisSelectOptionComponent,\n SuisSelectGroupOptionComponent,\n SuisSelectIsSelectedPipe,\n SuisSelectSortOptionsPipe,\n SuisSelectFilterOptionsPipe,\n SuisSelectFilterGroupOptionsPipe,\n SuisSelectGroupLabelPipe,\n SuisSelectButtonComponent,\n SuisSelectSortGroupOptionsPipe,\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SuisSelectGroupComponent),\n },\n ],\n})\nexport class SuisSelectGroupComponent<T> extends SuisSelectSingleBase<T> {\n /** @internal */\n @ContentChild(SuisSelectGroupOptionDirective)\n suisSelectGroupOption?: SuisSelectGroupOptionDirective;\n\n /**\n * Group options displayed in dropdown list. Type of SuisSelectGroupOption[].\n */\n @Input() groupOptions: SuisSelectGroupOption[] = [];\n}\n","<div class=\"suis-select-group\">\n <suis-select-button\n [invalid]=\"invalid\"\n [readonly]=\"readonly\"\n [clearable]=\"!!(nullable && value)\"\n [expanded]=\"expanded\"\n (expandedChange)=\"onExpand()\"\n (cleared)=\"onClear($event)\"\n >\n {{\n value\n | suisSelectGroupLabel\n : groupOptions\n : placeholder\n : optionValue\n : optionLabel\n }}\n </suis-select-button>\n <div *ngIf=\"expanded\" class=\"suis-select-group__list\">\n <input\n #searchInput\n *ngIf=\"search\"\n [ngModel]=\"searchPhrase\"\n (ngModelChange)=\"onSearchPhraseChange($event)\"\n class=\"suis-select-group__list__search\"\n type=\"search\"\n [placeholder]=\"searchPlaceholder\"\n />\n <ng-container\n *ngFor=\"\n let group of groupOptions\n | suisSelectSortGroupOptions : sortOptions\n | suisSelectFilterGroupOptions : searchPhrase : optionLabel\n \"\n >\n <suis-select-group-option\n [option]=\"group\"\n [templateRef]=\"suisSelectGroupOption?.templateRef\"\n ></suis-select-group-option>\n <suis-select-option\n *ngFor=\"\n let option of group.children\n | suisSelectSortOptions : optionLabel : sortOptions\n | suisSelectFilterOptions : searchPhrase : optionLabel;\n trackBy: optionTrackBy\n \"\n [option]=\"option\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue\"\n [templateRef]=\"suisSelectOption?.templateRef\"\n [selected]=\"option[optionValue] | suisSelectIsSelected : value\"\n (clicked)=\"onSelect(option[optionValue])\"\n ></suis-select-option>\n </ng-container>\n </div>\n</div>\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { SuisSelectOption } from '../interfaces/suis-select-option.interfaces';\n\n@Pipe({\n standalone: true,\n name: 'suisSelectMultiChips',\n})\nexport class SuisSelectMultiChipsPipe<T> implements PipeTransform {\n transform(\n values: T[],\n options: SuisSelectOption[],\n optionValue: string,\n optionLabel: string\n ): string[] {\n const selectedOptions: string[] = [];\n\n values.forEach((value) => {\n const selectedOption = options.find(\n (option) =>\n JSON.stringify(option[optionValue]) === JSON.stringify(value)\n );\n if (!selectedOption)\n throw Error(\n '[SuisSelectMultiChips] Provided value does not belong to valid values'\n );\n selectedOptions.push(selectedOption[optionLabel]);\n });\n\n return selectedOptions;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n standalone: true,\n name: 'suisSelectMultiIsSelected',\n})\nexport class SuisSelectMultiIsSelectedPipe<T> implements PipeTransform {\n transform(optionValue: T, values: T[]): boolean {\n return values.some(\n (value) => JSON.stringify(value) === JSON.stringify(optionValue)\n );\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SuisIconComponent } from '../../../../components/suis-icon/suis-icon.component';\nimport { SuisChipComponent } from '../../../../components/suis-chip/suis-chip.component';\nimport { SuisSelectButtonBase } from '../../classes/suis-select-button.base';\n\n@Component({\n selector: 'suis-select-button-multi',\n standalone: true,\n imports: [CommonModule, SuisIconComponent, SuisChipComponent],\n templateUrl: './suis-select-button-multi.component.html',\n styleUrls: ['./suis-select-button-multi.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisSelectButtonMultiComponent extends SuisSelectButtonBase {}\n","<button\n type=\"button\"\n (click)=\"onExpand()\"\n class=\"suis-select-button-multi\"\n [class.suis-select-button-multi--invalid]=\"invalid\"\n [class.suis-select-button-multi--readonly]=\"readonly\"\n [class.suis-select-button-multi--valid]=\"clearable\"\n [disabled]=\"readonly\"\n>\n <span class=\"suis-select-button-multi__value\">\n <ng-content></ng-content>\n </span>\n <span class=\"suis-select-button-multi__actions\">\n <suis-icon\n *ngIf=\"clearable && !readonly\"\n class=\"suis-select-button-multi__cross\"\n type=\"times\"\n size=\"lg\"\n color=\"primary\"\n (click)=\"onClear($event)\"\n tabindex=\"0\"\n ></suis-icon>\n <suis-icon\n class=\"suis-select-button-multi__chevron\"\n [type]=\"expanded ? 'chevron-up' : 'chevron-down'\"\n size=\"lg\"\n color=\"primary\"\n tabindex=\"0\"\n ></suis-icon>\n </span>\n</button>\n","import { Directive, Input } from '@angular/core';\nimport { SuisSelectBase } from './suis-select.base';\nimport { SuisColor } from '../../../types/suis-color.type';\n\n@Directive()\nexport abstract class SuisSelectMultiBase<T> extends SuisSelectBase<T> {\n /** @internal */\n values: T[] = [];\n\n /**\n * Allows to select duplicated values and remove checkboxes next to options' label. By default set to false.\n */\n @Input() duplicate: boolean = false;\n\n /**\n * Sets the color pallette of the chips. Type of SuisColor. By default set to 'primary'.\n */\n @Input() chipColor: SuisColor = 'primary';\n\n /**\n * Sets the color of the chips' cross icon. Type of SuisColor. By default set to 'white'.\n */\n @Input() chipIconColor: SuisColor = 'white';\n\n override writeValue(obj: T[]): void {\n this.values = obj;\n this._onChange(this.values);\n this.cdRef.markForCheck();\n }\n\n override onSelect(value: T): void {\n if (\n this.duplicate ||\n !this.values.some((v) => JSON.stringify(v) === JSON.stringify(value))\n ) {\n this.setValue([...this.values, value]);\n } else {\n this.setValue([\n ...this.values.filter(\n (v) => JSON.stringify(v) !== JSON.stringify(value)\n ),\n ]);\n }\n this.searchPhrase = '';\n }\n\n onRemove(index: number): void {\n const values = [...this.values];\n values.splice(index, 1);\n this.setValue([...values]);\n }\n\n override clearValue(): void {\n this.setValue([]);\n this.toggle(false);\n }\n\n override setValue(value: T[]): void {\n this.values = value;\n this._onChange(this.values);\n this.changed.emit();\n this.cdRef.markForCheck();\n }\n}\n","import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core';\nimport { NgFor, NgIf } from '@angular/common';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SuisSelectSortOptionsPipe } from '../../pipes/suis-select-sort-options.pipe';\nimport { SuisSelectOptionComponent } from '../suis-select-option/suis-select-option.component';\nimport { SuisChipComponent } from '../../../../components/suis-chip/suis-chip.component';\nimport { SuisSelectMultiChipsPipe } from '../../pipes/suis-select-multi-chips.pipe';\nimport { SuisSelectMultiIsSelectedPipe } from '../../pipes/suis-select-multi-is-selected.pipe';\nimport { SuisSelectFilterOptionsPipe } from '../../pipes/suis-select-filter-options.pipe';\nimport { SuisSelectButtonMultiComponent } from '../suis-select-button-multi/suis-select-button-multi.component';\nimport { SuisSelectMultiBase } from '../../classes/suis-select-multi.base';\n\n@Component({\n selector: 'suis-select-multi',\n standalone: true,\n imports: [\n NgFor,\n NgIf,\n FormsModule,\n SuisChipComponent,\n SuisSelectOptionComponent,\n SuisSelectMultiChipsPipe,\n SuisSelectMultiIsSelectedPipe,\n SuisSelectSortOptionsPipe,\n SuisSelectFilterOptionsPipe,\n SuisSelectButtonMultiComponent,\n ],\n templateUrl: './suis-select-multi.component.html',\n styleUrls: ['./suis-select-multi.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SuisSelectMultiComponent),\n },\n ],\n})\nexport class SuisSelectMultiComponent<T> extends SuisSelectMultiBase<T> {}\n","<div class=\"suis-select-multi\">\n <suis-select-button-multi\n [invalid]=\"invalid\"\n [readonly]=\"readonly\"\n [expanded]=\"expanded\"\n [clearable]=\"values.length > 0\"\n (expandedChange)=\"onExpand()\"\n (cleared)=\"onClear($event)\"\n >\n <ng-container *ngIf=\"!values?.length\">\n {{ placeholder }}\n </ng-container>\n <ng-container *ngIf=\"values?.length\">\n <suis-chip\n *ngFor=\"\n let value of values\n | suisSelectMultiChips : options : optionValue : optionLabel;\n let index = index\n \"\n [removable]=\"true\"\n [color]=\"chipColor\"\n [iconColor]=\"chipIconColor\"\n (remove)=\"onRemove(index)\"\n >\n {{ value }}\n </suis-chip>\n </ng-container>\n </suis-select-button-multi>\n <div *ngIf=\"expanded\" class=\"suis-select-multi__list\">\n <input\n #searchInput\n *ngIf=\"search\"\n [ngModel]=\"searchPhrase\"\n (ngModelChange)=\"onSearchPhraseChange($event)\"\n class=\"suis-select-multi__list__search\"\n type=\"search\"\n [placeholder]=\"searchPlaceholder\"\n />\n <suis-select-option\n *ngFor=\"\n let option of options\n | suisSelectSortOptions : optionLabel : sortOptions\n | suisSelectFilterOptions : searchPhrase : optionLabel;\n trackBy: optionTrackBy\n \"\n [option]=\"option\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue\"\n [templateRef]=\"suisSelectOption?.templateRef\"\n [selected]=\"option[optionValue] | suisSelectMultiIsSelected : values\"\n [checkbox]=\"!duplicate\"\n (clicked)=\"onSelect(option[optionValue])\"\n ></suis-select-option>\n </div>\n</div>\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { SuisSelectGroupOption } from '../interfaces/suis-select-group-option.interfaces';\n\n@Pipe({\n standalone: true,\n name: 'suisSelectMultiGroupChips',\n})\nexport class SuisSelectMultiGroupChipsPipe<T> implements PipeTransform {\n transform(\n values: T[],\n groupOptions: SuisSelectGroupOption[],\n optionValue: string,\n optionLabel: string\n ): string[] {\n const selectedOptions: string[] = [];\n const options = groupOptions.map((go) => go.children).flat();\n\n values.forEach((value) => {\n const selectedOption = options.find(\n (option) =>\n JSON.stringify(option[optionValue]) === JSON.stringify(value)\n );\n if (!selectedOption)\n throw Error(\n '[SuisSelectMultiGroupChips] Provided value does not belong to valid values'\n );\n selectedOptions.push(selectedOption[optionLabel]);\n });\n\n return selectedOptions;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n Input,\n forwardRef,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SuisChipComponent } from '../../../../components/suis-chip/suis-chip.component';\nimport { SuisSelectMultiBase } from '../../classes/suis-select-multi.base';\nimport { SuisSelectGroupOption } from '../../interfaces/suis-select-group-option.interfaces';\nimport { SuisSelectGroupOptionDirective } from '../../directives/suis-select-group-option.directive';\nimport { SuisSelectButtonMultiComponent } from '../suis-select-button-multi/suis-select-button-multi.component';\nimport { SuisSelectOptionComponent } from '../suis-select-option';\nimport { SuisSelectGroupOptionComponent } from '../suis-select-group-option';\nimport { SuisSelectSortOptionsPipe } from '../../pipes/suis-select-sort-options.pipe';\nimport { SuisSelectMultiGroupChipsPipe } from '../../pipes/suis-select-multi-group-chips.pipe';\nimport { SuisSelectFilterGroupOptionsPipe } from '../../pipes/suis-select-filter-group-options.pipe';\nimport { SuisSelectMultiIsSelectedPipe } from '../../pipes/suis-select-multi-is-selected.pipe';\nimport { SuisSelectFilterOptionsPipe } from '../../pipes/suis-select-filter-options.pipe';\nimport { SuisSelectSortGroupOptionsPipe } from '../../pipes/suis-select-sort-group-options.pipe';\n\n@Component({\n selector: 'suis-select-multi-group',\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n SuisChipComponent,\n SuisSelectButtonMultiComponent,\n SuisSelectOptionComponent,\n SuisSelectGroupOptionComponent,\n SuisSelectSortOptionsPipe,\n SuisSelectMultiGroupChipsPipe,\n SuisSelectFilterOptionsPipe,\n SuisSelectFilterGroupOptionsPipe,\n SuisSelectMultiIsSelectedPipe,\n SuisSelectSortGroupOptionsPipe,\n ],\n templateUrl: './suis-select-multi-group.component.html',\n styleUrls: ['./suis-select-multi-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SuisSelectMultiGroupComponent),\n },\n ],\n})\nexport class SuisSelectMultiGroupComponent<T> extends SuisSelectMultiBase<T> {\n /** @internal */\n @ContentChild(SuisSelectGroupOptionDirective)\n suisSelectGroupOption?: SuisSelectGroupOptionDirective;\n\n /**\n * Group options displayed in dropdown list. Type of SuisSelectGroupOption[].\n */\n @Input() groupOptions: SuisSelectGroupOption[] = [];\n}\n","<div class=\"suis-select-multi-group\">\n <suis-select-button-multi\n [invalid]=\"invalid\"\n [readonly]=\"readonly\"\n [expanded]=\"expanded\"\n [clearable]=\"values.length > 0\"\n (expandedChange)=\"onExpand()\"\n (cleared)=\"onClear($event)\"\n >\n <ng-container *ngIf=\"!values?.length\">\n {{ placeholder }}\n </ng-container>\n <ng-container *ngIf=\"values?.length\">\n <suis-chip\n *ngFor=\"\n let value of values\n | suisSelectMultiGroupChips\n : groupOptions\n : optionValue\n : optionLabel;\n let index = index\n \"\n [removable]=\"true\"\n [color]=\"chipColor\"\n [iconColor]=\"chipIconColor\"\n (remove)=\"onRemove(index)\"\n >\n {{ value }}\n </suis-chip>\n </ng-container>\n </suis-select-button-multi>\n <div *ngIf=\"expanded\" class=\"suis-select-multi-group__list\">\n <input\n #searchInput\n *ngIf=\"search\"\n [ngModel]=\"searchPhrase\"\n (ngModelChange)=\"onSearchPhraseChange($event)\"\n class=\"suis-select-multi-group__list__search\"\n type=\"search\"\n [placeholder]=\"searchPlaceholder\"\n />\n <ng-container\n *ngFor=\"\n let group of groupOptions\n | suisSelectSortGroupOptions : sortOptions\n | suisSelectFilterGroupOptions : searchPhrase : optionLabel\n \"\n >\n <suis-select-group-option\n [option]=\"group\"\n [templateRef]=\"suisSelectGroupOption?.templateRef\"\n ></suis-select-group-option>\n <suis-select-option\n *ngFor=\"\n let option of group.children\n | suisSelectSortOptions : optionLabel : sortOptions\n | suisSelectFilterOptions : searchPhrase : optionLabel;\n trackBy: optionTrackBy\n \"\n [option]=\"option\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue\"\n [templateRef]=\"suisSelectOption?.templateRef\"\n [selected]=\"option[optionValue] | suisSelectMultiIsSelected : values\"\n [checkbox]=\"!duplicate\"\n (clicked)=\"onSelect(option[optionValue])\"\n ></suis-select-option>\n </ng-container>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { SuisSelectComponent } from './components/suis-select/suis-select.component';\nimport { SuisSelectGroupComponent } from './components/suis-select-group/suis-select-group.component';\nimport { SuisSelectMultiComponent } from './components/suis-select-multi/suis-select-multi.component';\nimport { SuisSelectMultiGroupComponent } from './components/suis-select-multi-group/suis-select-multi-group.component';\nimport { SuisSelectOptionDirective } from './directives/suis-select-option.directive';\nimport { SuisSelectGroupOptionDirective } from './directives/suis-select-group-option.directive';\n\n@NgModule({\n imports: [\n SuisSelectComponent,\n SuisSelectGroupComponent,\n SuisSelectMultiComponent,\n SuisSelectMultiGroupComponent,\n SuisSelectOptionDirective,\n SuisSelectGroupOptionDirective,\n ],\n exports: [\n SuisSelectComponent,\n SuisSelectGroupComponent,\n SuisSelectMultiComponent,\n SuisSelectMultiGroupComponent,\n SuisSelectOptionDirective,\n SuisSelectGroupOptionDirective,\n ],\n})\nexport class SuisSelectModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { SuisSelectOption } from '../../modules/suis-select/interfaces/suis-select-option.interfaces';\n\n@Pipe({\n standalone: true,\n name: 'suisPaginationPerPageOptions',\n})\nexport class SuisPaginationPerPageOptionsPipe implements PipeTransform {\n transform(options: number[]): SuisSelectOption[] {\n return options.map((option) => {\n return { value: option, label: option.toString() };\n });\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n inject,\n} from '@angular/core';\nimport { SuisButtonComponent } from '../../modules/suis-button/components/suis-button';\nimport { SuisIconComponent } from '../suis-icon/suis-icon.component';\nimport { SuisPaginationPagePipe } from './suis-pagination-page.pipe';\nimport { SuisPaginationItemsPipe } from './suis-pagination-items.pipe';\nimport { SuisSelectModule } from '../../modules/suis-select/suis-select.module';\nimport { SuisPaginationPerPageOptionsPipe } from './suis-pagination-per-page-options.pipe';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Component({\n selector: 'suis-pagination',\n standalone: true,\n imports: [\n ReactiveFormsModule,\n SuisIconComponent,\n SuisButtonComponent,\n SuisPaginationPagePipe,\n SuisPaginationItemsPipe,\n SuisPaginationPerPageOptionsPipe,\n SuisSelectModule,\n ],\n templateUrl: './suis-pagination.component.html',\n styleUrls: ['./suis-pagination.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisPaginationComponent implements OnInit, OnChanges {\n private readonly destroyRef = inject(DestroyRef);\n\n /** @internal */\n /**\n * Number of the maximum page that can be reached based on totalItems and perPage values.\n */\n maxPage: number = 1;\n\n /**\n * Number of the page presented. By default set to 1.\n */\n @Input() page: number = 1;\n\n /**\n * Number of items presented per page. Value must be included in perPageOptions. By default set to 15.\n */\n @Input() perPage: number = 15;\n\n /**\n * Options of perPage dropdown. Be default set to [10, 15, 20, 25].\n */\n @Input() perPageOptions: number[] = [10, 15, 20, 25];\n\n /**\n * Number of total items in data source. By default set to 0.\n */\n @Input() totalItems: number = 0;\n\n /**\n * Sets the of label in \"1 'of' 25\". By default set to 'of'.\n */\n @Input() ofLabel: string = 'of';\n\n /**\n * Sets the items label in \"1-10 'of' 25 'items'\". By default set to 'Page'.\n */\n @Input() itemsLabel: string = 'items';\n\n /**\n * Emits on page value change.\n */\n @Output() pageChange = new EventEmitter<number>();\n\n /**\n * Emits on perPage value change.\n */\n @Output() perPageChange = new EventEmitter<number>();\n\n /** @internal */\n perPageControl = new FormControl<number>(this.perPage, {\n nonNullable: true,\n });\n\n ngOnInit(): void {\n this.perPageControl.valueChanges\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((value) => {\n this.onPerPageChange(value);\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['totalItems'] || changes['perPage']) {\n this.maxPage = Math.ceil(this.totalItems / this.perPage);\n this.perPageControl.setValue(this.perPage);\n }\n }\n\n next(): void {\n if (this.page < this.maxPage) {\n this.page++;\n this.pageChange.emit(this.page);\n }\n }\n\n previous(): void {\n if (this.page > 1) {\n this.page--;\n this.pageChange.emit(this.page);\n }\n }\n\n onPerPageChange(value: number) {\n this.page = 1;\n this.perPage = value;\n this.pageChange.emit(this.page);\n this.perPageChange.emit(this.perPage);\n }\n}\n","<div class=\"suis-pagination\">\n <div>\n <suis-select\n [formControl]=\"perPageControl\"\n [options]=\"perPageOptions | suisPaginationPerPageOptions\"\n [search]=\"false\"\n [nullable]=\"false\"\n ></suis-select>\n </div>\n <div class=\"suis-pagination__actions\">\n <suis-button color=\"secondary\" [disabled]=\"page === 1\" (click)=\"previous()\">\n <suis-icon [type]=\"'chevron-left'\" color=\"white\"></suis-icon>\n </suis-button>\n <div>\n {{ ofLabel | suisPaginationPage : page : perPage : totalItems }}\n </div>\n <suis-button\n color=\"secondary\"\n [disabled]=\"page === maxPage\"\n (click)=\"next()\"\n >\n <suis-icon [type]=\"'chevron-right'\" color=\"white\"></suis-icon>\n </suis-button>\n </div>\n <div class=\"suis-pagination__items\">\n {{\n ofLabel | suisPaginationItems : page : perPage : totalItems : itemsLabel\n }}\n </div>\n</div>\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n standalone: true,\n name: 'suisProgressBar',\n})\nexport class SuisProgressBarPipe implements PipeTransform {\n transform(value: number, maxValue: number): string {\n if (value > maxValue) return '100%';\n return `${(value / maxValue) * 100}%`;\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { NgClass } from '@angular/common';\nimport { SuisProgressBarPipe } from './suis-progress-bar.pipe';\nimport { SuisColor, SuisSize } from '../../types';\nimport { SuisNgClassPipe } from '../../pipes';\n\n@Component({\n selector: 'suis-progress-bar',\n standalone: true,\n imports: [NgClass, SuisNgClassPipe, SuisProgressBarPipe],\n templateUrl: './suis-progress-bar.component.html',\n styleUrls: ['./suis-progress-bar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisProgressBarComponent {\n /**\n * The value corresponding to the progress bar. By default set to 0.\n */\n @Input() value: number = 0;\n\n /**\n * Maximum value of the progress bar. By default set to 100.\n */\n @Input() maxValue: number = 100;\n\n /**\n * Sets the color of the progress bar. Type of SuisColor. By default set to 'primary'.\n */\n @Input() color: SuisColor = 'primary';\n\n /**\n * Sets the background color of the progress bar. Type of SuisColor. By default set to 'tertiary'.\n */\n @Input() backgroundColor: SuisColor = 'tertiary';\n\n /**\n * Sets the height of the progress bar. Type of SuisSize. By default set to 'md'.\n */\n @Input() size: SuisSize = 'md';\n}\n","<div\n class=\"suis-progress-bar\"\n [ngClass]=\"'suis-progress-bar' | suisNgClass : backgroundColor : size\"\n>\n <div\n class=\"suis-progress-bar__progress\"\n [style]=\"{ width: value | suisProgressBar : maxValue }\"\n [ngClass]=\"'suis-progress-bar__progress' | suisNgClass : color : size\"\n ></div>\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { SuisSize } from '../../types/suis-size.type';\nimport { SuisColor } from '../../types/suis-color.type';\nimport { SuisSpinnerComponent } from '../suis-spinner/suis-spinner.component';\n\n@Component({\n selector: 'suis-spinner-container',\n standalone: true,\n imports: [SuisSpinnerComponent],\n templateUrl: './suis-spinner-container.component.html',\n styleUrls: ['./suis-spinner-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisSpinnerContainerComponent {\n /**\n * Sets the size of the spinner. Type of SuisSize. By default set to 'md'.\n */\n @Input() size: SuisSize = 'md';\n\n /**\n * Sets the color of the spinner. Type of SuisColor. By default set to 'primary'.\n */\n @Input() color: SuisColor = 'primary';\n\n /**\n * Adds blur effect to the container background. By default set to false.\n */\n @Input() blur: boolean = false;\n\n /**\n * Position absolute to the parent element (must have relative position). By default set to false.\n */\n @Input() absolute: boolean = false;\n}\n","<div\n class=\"suis-spinner-container\"\n [class.suis-spinner-container--blur]=\"blur\"\n [class.suis-spinner-container--absolute]=\"absolute\"\n>\n <suis-spinner [size]=\"size\" [color]=\"color\"></suis-spinner>\n</div>\n","import { Directive, TemplateRef, inject } from '@angular/core';\n\n@Directive({\n selector: '[suisTableCell]',\n standalone: true,\n})\nexport class SuisTableCellDirective {\n /**\n * Template of the table cell.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public readonly templateRef = inject(TemplateRef<any>);\n}\n","import { ContentChild, Directive, Input } from '@angular/core';\nimport { SuisTableCellDirective } from './suis-table-cell.directive';\n\n@Directive({\n selector: '[suisTableColumn]',\n standalone: true,\n})\nexport class SuisTableColumnDirective {\n @ContentChild(SuisTableCellDirective) cell?: SuisTableCellDirective;\n\n protected _name: string = '';\n protected _orderProperty: string = '';\n\n /** Unique name for this column. */\n @Input('suisTableColumn')\n get name(): string {\n return this._name;\n }\n\n set name(name: string) {\n this._name = name;\n }\n\n @Input('suisTableColumnOrderProperty')\n get orderProperty(): string {\n return this._orderProperty;\n }\n\n set orderProperty(orderProperty: string) {\n this._orderProperty = orderProperty;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n Output,\n QueryList,\n} from '@angular/core';\nimport { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { SuisSpinnerContainerComponent } from '../suis-spinner-container';\nimport { SuisTableDataItem } from './suis-table.interfaces';\nimport { SuisTableColumnDirective } from './suis-table-column.directive';\nimport { SuisIconComponent } from '../suis-icon/suis-icon.component';\nimport { SuisSort } from '../../types/suis-sort.type';\n\n@Component({\n selector: 'suis-table',\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n NgTemplateOutlet,\n SuisIconComponent,\n SuisSpinnerContainerComponent,\n ],\n templateUrl: './suis-table.component.html',\n styleUrls: ['./suis-table.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisTableComponent {\n /** @internal */\n @ContentChildren(SuisTableColumnDirective)\n columns?: QueryList<SuisTableColumnDirective>;\n\n /**\n * Data items collection. Type of SuisTableDataItem[]. By default set to empty array. Required input.\n */\n @Input({ required: true }) data: SuisTableDataItem[] | null = [];\n\n /**\n * Specifies property that data is ordered. By default set to empty string.\n */\n @Input() orderBy: string = '';\n\n /**\n * Specifies sort condition. Type of SuisSort - 'asc' and 'desc'. By default set to 'asc'.\n */\n @Input() sortBy: SuisSort = 'asc';\n\n /**\n * Shows loading spinner and blurs data. By default set to false.\n */\n @Input() loading: boolean = false;\n\n /**\n * Message shown in table when there is no data to display.\n */\n @Input() emptyMessage: string =\n 'There is no data to be displayed in the table';\n\n /**\n * Emits value on sort condition change.\n */\n @Output() sortByChange = new EventEmitter<SuisSort>();\n\n /**\n * Emits value on order property change.\n */\n @Output() orderByChange = new EventEmitter<string>();\n\n onColumnClick(property: string): void {\n if (this.orderBy !== property) {\n this.orderBy = property;\n this.orderByChange.emit(this.orderBy);\n } else {\n this.sortBy = this.sortBy === 'asc' ? 'desc' : 'asc';\n this.sortByChange.emit(this.sortBy);\n }\n }\n}\n","<table *ngIf=\"columns\" class=\"suis-table\">\n <thead>\n <tr>\n <th\n *ngFor=\"let column of columns\"\n [class.pointer]=\"column.orderProperty\"\n (click)=\"\n column.orderProperty ? onColumnClick(column.orderProperty) : undefined\n \"\n >\n <div class=\"suis-table__header\">\n <span>\n {{ column.name }}\n </span>\n <suis-icon\n *ngIf=\"column.orderProperty && column.orderProperty === orderBy\"\n [type]=\"sortBy === 'asc' ? 'chevron-down' : 'chevron-up'\"\n size=\"lg\"\n color=\"white\"\n ></suis-icon>\n </div>\n </th>\n <th *ngIf=\"!columns?.length\"></th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of data || []\">\n <td *ngFor=\"let column of columns\">\n <ng-container\n *ngTemplateOutlet=\"\n column.cell!.templateRef;\n context: { $implicit: item }\n \"\n ></ng-container>\n </td>\n </tr>\n <tr *ngIf=\"!data?.length\">\n <td class=\"empty\" [attr.colspan]=\"columns ? columns.length : 1\">\n {{ loading ? '' : emptyMessage }}\n </td>\n </tr>\n <suis-spinner-container\n *ngIf=\"loading\"\n [absolute]=\"true\"\n [blur]=\"true\"\n [color]=\"'secondary'\"\n ></suis-spinner-container>\n </tbody>\n</table>\n","import { NgModule } from '@angular/core';\nimport { SuisTableComponent } from './suis-table.component';\nimport { SuisTableCellDirective } from './suis-table-cell.directive';\nimport { SuisTableColumnDirective } from './suis-table-column.directive';\n\n@NgModule({\n imports: [\n SuisTableComponent,\n SuisTableCellDirective,\n SuisTableColumnDirective,\n ],\n exports: [\n SuisTableComponent,\n SuisTableCellDirective,\n SuisTableColumnDirective,\n ],\n})\nexport class SuisTableModule {}\n","import { Directive, Input, TemplateRef, inject } from '@angular/core';\n\n@Directive({\n selector: '[suisTab]',\n standalone: true,\n})\nexport class SuisTabDirective {\n /**\n * Template of the tab.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public readonly templateRef = inject(TemplateRef<any>);\n\n @Input({ required: true, alias: 'suisTab' }) name: string = '';\n}\n","import { Pipe, PipeTransform, QueryList } from '@angular/core';\nimport { SuisTabDirective } from './suis-tab.directive';\n\n@Pipe({\n standalone: true,\n name: 'suisTabActions',\n})\nexport class SuisTabActionsPipe implements PipeTransform {\n transform(tabs: QueryList<SuisTabDirective> | undefined): string[] {\n if (!tabs) return [];\n\n return tabs.toArray().map((tab) => tab.name);\n }\n}\n","import { Pipe, PipeTransform, QueryList, TemplateRef } from '@angular/core';\nimport { SuisTabDirective } from './suis-tab.directive';\n\n@Pipe({\n standalone: true,\n name: 'suisTabTemplate',\n})\nexport class SuisTabTemplatePipe implements PipeTransform {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n transform(\n tabs: QueryList<SuisTabDirective> | undefined,\n currentTab: string\n ): TemplateRef<any> | null {\n if (!tabs) return null;\n\n const tab = tabs.toArray().find((tab) => tab.name === currentTab);\n if (!tab) return null;\n\n return tab.templateRef;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n Output,\n QueryList,\n} from '@angular/core';\nimport { NgFor, NgTemplateOutlet } from '@angular/common';\nimport { SuisTabDirective } from './suis-tab.directive';\nimport { SuisTabActionsPipe } from './suis-tab-actions.pipe';\nimport { SuisTabTemplatePipe } from './suis-tab-template.pipe';\n\n@Component({\n selector: 'suis-tabs',\n standalone: true,\n imports: [NgFor, NgTemplateOutlet, SuisTabActionsPipe, SuisTabTemplatePipe],\n templateUrl: './suis-tabs.component.html',\n styleUrls: ['./suis-tabs.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisTabsComponent {\n /** @internal */\n @ContentChildren(SuisTabDirective)\n tabs?: QueryList<SuisTabDirective>;\n\n /**\n * Name of the current displayed tab. Must correspond with the name passed into suisTab directive. By default set to empty string.\n */\n @Input() currentTab: string = '';\n\n /**\n * Emits name of the clicked tab.\n */\n @Output() tabClicked = new EventEmitter<string>();\n\n onTabActionClick(name: string): void {\n this.currentTab = name;\n this.tabClicked.emit(name);\n }\n}\n","<div class=\"suis-tabs\">\n <div class=\"suis-tabs__actions\">\n <button\n *ngFor=\"let name of tabs | suisTabActions\"\n [class.active]=\"name === currentTab\"\n (click)=\"onTabActionClick(name)\"\n >\n {{ name }}\n </button>\n </div>\n <div class=\"suis-tabs__content\">\n <ng-container\n *ngTemplateOutlet=\"tabs | suisTabTemplate : currentTab\"\n ></ng-container>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { SuisTabsComponent } from './suis-tabs.component';\nimport { SuisTabDirective } from './suis-tab.directive';\n\n@NgModule({\n imports: [SuisTabsComponent, SuisTabDirective],\n exports: [SuisTabsComponent, SuisTabDirective],\n})\nexport class SuisTabsModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n forwardRef,\n} from '@angular/core';\nimport { SuisInputBase } from '../../shared/classes/suis-input.base';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'suis-text-area',\n standalone: true,\n imports: [],\n templateUrl: './suis-text-area.component.html',\n styleUrls: ['./suis-text-area.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SuisTextAreaComponent),\n },\n ],\n})\nexport class SuisTextAreaComponent extends SuisInputBase {\n /**\n * Placeholder text displayed in input. By default set to empty string.\n */\n @Input() placeholder: string = '';\n\n /** @internal */\n value: string = '';\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n override writeValue(obj: string): void {\n this.value = obj;\n this._onChange(this.value);\n this.cdRef.markForCheck();\n }\n\n onChange(event: Event): void {\n const target = event.target as HTMLTextAreaElement;\n this.value = target.value;\n this._onChange(this.value);\n this.changed.emit(this.value);\n this.cdRef.markForCheck();\n }\n}\n","<textarea\n class=\"suis-text-area\"\n [class.suis-text-area--invalid]=\"invalid\"\n [class.suis-text-area--readonly]=\"readonly\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n [disabled]=\"readonly\"\n (input)=\"onChange($event)\"\n (focus)=\"onTouch()\"\n></textarea>\n","export enum SuisTitle {\n H1 = 1,\n H2 = 2,\n H3 = 3,\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { SuisTitle } from './suis-title.enum';\nimport { NgSwitch, NgSwitchCase, NgTemplateOutlet } from '@angular/common';\n\n@Component({\n selector: 'suis-title',\n standalone: true,\n imports: [NgSwitch, NgSwitchCase, NgTemplateOutlet],\n templateUrl: './suis-title.component.html',\n styleUrls: ['./suis-title.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisTitleComponent {\n /** @internal */\n readonly SuisTitle = SuisTitle;\n\n /**\n * Sets level of the header tag. Type of SuisTitle. By default set to H1.\n */\n @Input() level: SuisTitle = SuisTitle.H1;\n}\n","<ng-container [ngSwitch]=\"level\">\n <h1 *ngSwitchCase=\"SuisTitle.H1\" class=\"suis-title--h1\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </h1>\n <h2 *ngSwitchCase=\"SuisTitle.H2\" class=\"suis-title--h2\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </h2>\n <h3 *ngSwitchCase=\"SuisTitle.H3\" class=\"suis-title--h3\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </h3>\n</ng-container>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core';\nimport { SuisCheckboxBase } from '../../shared/classes/suis-checkbox.base';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SuisLabelComponent } from '../suis-label';\n\n@Component({\n selector: 'suis-toggle',\n standalone: true,\n imports: [SuisLabelComponent],\n templateUrl: './suis-toggle.component.html',\n styleUrls: ['./suis-toggle.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SuisToggleComponent),\n },\n ],\n})\nexport class SuisToggleComponent extends SuisCheckboxBase {}\n","<input\n #input\n type=\"checkbox\"\n class=\"suis-toggle\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [value]=\"value\"\n [disabled]=\"readonly\"\n (input)=\"onChange($event)\"\n (focus)=\"onTouch()\"\n/>\n\n<suis-label\n class=\"suis-toggle__label\"\n [class.suis-toggle__label--invalid]=\"invalid\"\n [class.suis-toggle__label--readonly]=\"readonly\"\n [for]=\"id\"\n [required]=\"required\"\n [pointer]=\"true\"\n [readonly]=\"readonly\"\n>\n <div\n [tabindex]=\"readonly ? -1 : 0\"\n class=\"suis-toggle__container\"\n [class.suis-toggle__container--invalid]=\"invalid\"\n [class.suis-toggle__container--readonly]=\"readonly\"\n >\n <div\n class=\"suis-toggle__container__thumb\"\n [class.suis-toggle__container__thumb--active]=\"value\"\n [class.suis-toggle__container__thumb--invalid]=\"invalid\"\n [class.suis-toggle__container__thumb--readonly]=\"readonly\"\n ></div>\n </div>\n <ng-content></ng-content>\n</suis-label>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'suis-toolbar',\n standalone: true,\n imports: [],\n templateUrl: './suis-toolbar.component.html',\n styleUrls: ['./suis-toolbar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisToolbarComponent {\n /**\n * Adds a padding around the content. By default set to false.\n */\n @Input() spacing: boolean = false;\n}\n","<div class=\"suis-toolbar\" [class.suis-toolbar--spacing]=\"spacing\">\n <div>\n <ng-content select=\"[suisToolbarLeft]\"></ng-content>\n </div>\n <div>\n <ng-content select=\"[suisToolbarCenter]\"></ng-content>\n </div>\n <div>\n <ng-content select=\"[suisToolbarRight]\"></ng-content>\n </div>\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { NgIf, NgClass } from '@angular/common';\nimport { SuisButtonBase } from '../../../../shared/classes/suis-button.base';\nimport { SuisNgClassPipe } from '../../../../pipes/suis-ng-class.pipe';\nimport { SuisSpinnerComponent } from '../../../../components/suis-spinner/suis-spinner.component';\nimport {\n ActivatedRoute,\n Params,\n QueryParamsHandling,\n RouterModule,\n} from '@angular/router';\n\n@Component({\n selector: 'suis-button-link',\n standalone: true,\n imports: [NgIf, NgClass, RouterModule, SuisNgClassPipe, SuisSpinnerComponent],\n templateUrl: './suis-button-link.component.html',\n styleUrls: ['./suis-button-link.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisButtonLinkComponent extends SuisButtonBase {\n /**\n * Sets routerLink of the anchor tag. No default value.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input({ required: true }) routerLink?: string | any[];\n\n /**\n * Sets target of the anchor tag. No default value.\n */\n @Input() target?: string;\n\n /**\n * Sets queryParams of the anchor tag. No default value.\n */\n @Input() queryParams?: Params;\n\n /**\n * Sets queryParamsHandling of the anchor tag. No default value.\n */\n @Input() queryParamsHandling?: QueryParamsHandling;\n\n /**\n * Sets relativeTo of the anchor tag. No default value.\n */\n @Input() relativeTo?: ActivatedRoute;\n\n override onClick(event: Event): void {\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n } else {\n this.clicked.emit();\n }\n }\n}\n","<a\n class=\"suis-button-link\"\n [class.suis-button-link--full-width]=\"fullWidth\"\n [class.suis-button-link--disabled]=\"disabled || loading ? true : undefined\"\n [routerLink]=\"routerLink\"\n [target]=\"target\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [relativeTo]=\"relativeTo\"\n [ngClass]=\"'suis-button-link' | suisNgClass : color\"\n [attr.tabindex]=\"disabled || loading ? -1 : 0\"\n (click)=\"onClick($event)\"\n>\n <span\n class=\"suis-button-link__content\"\n [class.suis-button-link__content--loading]=\"loading\"\n >\n <ng-content></ng-content>\n </span>\n <suis-spinner *ngIf=\"loading\" size=\"xs\" color=\"white\"></suis-spinner>\n</a>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { NgIf, NgClass } from '@angular/common';\nimport { SuisButtonBase } from '../../../../shared/classes/suis-button.base';\nimport { SuisNgClassPipe } from '../../../../pipes/suis-ng-class.pipe';\nimport { SuisSpinnerComponent } from '../../../../components/suis-spinner/suis-spinner.component';\n\n@Component({\n selector: 'suis-button-outlined',\n standalone: true,\n imports: [NgIf, NgClass, SuisNgClassPipe, SuisSpinnerComponent],\n templateUrl: './suis-button-outlined.component.html',\n styleUrls: ['./suis-button-outlined.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisButtonOutlinedComponent extends SuisButtonBase {}\n","<button\n class=\"suis-button-outlined\"\n [class.suis-button-outlined--full-width]=\"fullWidth\"\n [ngClass]=\"'suis-button-outlined' | suisNgClass : color\"\n [attr.disabled]=\"disabled || loading ? true : undefined\"\n [attr.tabindex]=\"disabled || loading ? -1 : 0\"\n [attr.type]=\"type\"\n (click)=\"onClick()\"\n>\n <span\n class=\"suis-button-outlined__content\"\n [class.suis-button-outlined__content--loading]=\"loading\"\n >\n <ng-content></ng-content>\n </span>\n <suis-spinner *ngIf=\"loading\" size=\"xs\" [color]=\"color\"></suis-spinner>\n</button>\n","import { NgModule } from '@angular/core';\nimport { SuisButtonComponent } from './components/suis-button';\nimport { SuisButtonLinkComponent } from './components/suis-button-link';\nimport { SuisButtonOutlinedComponent } from './components/suis-button-outlined';\n\n@NgModule({\n imports: [\n SuisButtonComponent,\n SuisButtonLinkComponent,\n SuisButtonOutlinedComponent,\n ],\n exports: [\n SuisButtonComponent,\n SuisButtonLinkComponent,\n SuisButtonOutlinedComponent,\n ],\n})\nexport class SuisButtonModule {}\n","import { Directive, TemplateRef, inject } from '@angular/core';\nimport { SuisNavigationItem } from '../interfaces/suis-navigation-item.interfaces';\n\n@Directive({\n selector: '[suisNavigationItem]',\n standalone: true,\n})\nexport class SuisNavigationItemDirective {\n /**\n * Custom template of the item.\n */\n public readonly templateRef = inject(\n TemplateRef<{ $implicit: SuisNavigationItem }>\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n TemplateRef,\n} from '@angular/core';\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { SuisNavigationItem } from '../../interfaces/suis-navigation-item.interfaces';\n\n@Component({\n selector: 'suis-navigation-item',\n standalone: true,\n imports: [NgIf, NgTemplateOutlet, RouterModule],\n templateUrl: './suis-navigation-item.component.html',\n styleUrls: ['./suis-navigation-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisNavigationItemComponent {\n /**\n * Navigation item data. Type of SuisNavigationItem.\n */\n @Input() item?: SuisNavigationItem;\n\n /**\n * Template to be displayed instead of item's label.\n */\n @Input() templateRef?: TemplateRef<{ $implicit: SuisNavigationItem }>;\n}\n","<a\n *ngIf=\"item\"\n class=\"suis-navigation-item\"\n [routerLink]=\"item.link\"\n routerLinkActive=\"active\"\n>\n <div class=\"suis-navigation-item__content\">\n <ng-container *ngIf=\"templateRef; else label\">\n <ng-container\n *ngTemplateOutlet=\"templateRef; context: { $implicit: item }\"\n ></ng-container>\n </ng-container>\n <ng-template #label>\n {{ item.label }}\n </ng-template>\n </div>\n</a>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n SuisNavigationGroupItem,\n SuisNavigationItem,\n} from '../../interfaces/suis-navigation-item.interfaces';\nimport { SuisIconComponent } from '../../../../components/suis-icon';\nimport { RouterModule } from '@angular/router';\n\n@Component({\n selector: 'suis-navigation-group-item',\n standalone: true,\n imports: [NgIf, NgTemplateOutlet, SuisIconComponent, RouterModule],\n templateUrl: './suis-navigation-group-item.component.html',\n styleUrls: ['./suis-navigation-group-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisNavigationGroupItemComponent {\n /**\n * Navigation item data. Type of SuisNavigationGroupItem.\n */\n @Input() item?: SuisNavigationGroupItem;\n\n /**\n * Template to be displayed instead of item's label.s\n */\n @Input() templateRef?: TemplateRef<{ $implicit: SuisNavigationItem }>;\n\n /**\n * Controlls styling of the item based on expanded state of group. By default set to true.\n */\n @Input() expanded: boolean = true;\n\n /**\n * Adds expand / collapse logic to item. By default set to false.\n */\n @Input() expandable: boolean = false;\n\n /**\n * Emits when expanded value of the item has been changed.\n */\n @Output() expandedChange = new EventEmitter<boolean>();\n\n onToggle(): void {\n if (!this.expandable) return;\n\n this.expanded = !this.expanded;\n this.expandedChange.emit(this.expanded);\n }\n}\n","<a\n *ngIf=\"item\"\n class=\"suis-navigation-group-item\"\n [routerLink]=\"expandable ? undefined : item.link\"\n routerLinkActive=\"active\"\n (click)=\"onToggle()\"\n>\n <div class=\"suis-navigation-group-item__content\">\n <ng-container *ngIf=\"templateRef; else label\">\n <ng-container\n *ngTemplateOutlet=\"templateRef; context: { $implicit: item }\"\n ></ng-container>\n </ng-container>\n <ng-template #label>\n {{ item.label }}\n </ng-template>\n </div>\n <div *ngIf=\"expandable\" class=\"suis-navigation-group-item__actions\">\n <suis-icon\n [type]=\"expanded ? 'chevron-up' : 'chevron-down'\"\n size=\"lg\"\n color=\"white\"\n ></suis-icon>\n </div>\n</a>\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n TemplateRef,\n} from '@angular/core';\nimport { NgFor, NgIf } from '@angular/common';\nimport { SuisNavigationItemComponent } from '../suis-navigation-item';\nimport { RouterModule } from '@angular/router';\nimport {\n SuisNavigationGroupItem,\n SuisNavigationItem,\n} from '../../interfaces/suis-navigation-item.interfaces';\nimport { SuisNavigationGroupItemComponent } from '../suis-navigation-group-item/suis-navigation-group-item.component';\n\n@Component({\n selector: 'suis-navigation-group',\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n RouterModule,\n SuisNavigationItemComponent,\n SuisNavigationGroupItemComponent,\n ],\n templateUrl: './suis-navigation-group.component.html',\n styleUrls: ['./suis-navigation-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisNavigationGroupComponent {\n /**\n * Navigation item data. Type of SuisNavigationGroupItem.\n */\n @Input() item?: SuisNavigationGroupItem;\n\n /**\n * Template to be displayed instead of item's label.\n */\n @Input() templateRef?: TemplateRef<{ $implicit: SuisNavigationItem }>;\n\n /**\n * Expanded state of the navigation group. By default set to true.\n */\n @Input() expanded: boolean = true;\n\n /**\n * Adds expand / collapse logic to group header items. By default set to false.\n */\n @Input() expandable: boolean = false;\n\n /** @internal */\n itemTrackBy(index: number, item: SuisNavigationGroupItem): string {\n return `${item.label}-${index}`;\n }\n}\n","<div *ngIf=\"item\" class=\"suis-navigation-group\">\n <div class=\"suis-navigation-group__header\">\n <suis-navigation-group-item\n [item]=\"item\"\n [templateRef]=\"templateRef\"\n [expandable]=\"expandable && !!item.children\"\n [(expanded)]=\"expanded\"\n ></suis-navigation-group-item>\n </div>\n <div *ngIf=\"expanded\" class=\"suis-navigation-group__children\">\n <suis-navigation-item\n *ngFor=\"let childItem of item.children; trackBy: itemTrackBy\"\n [item]=\"childItem\"\n [templateRef]=\"templateRef\"\n ></suis-navigation-item>\n </div>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n EventEmitter,\n Input,\n} from '@angular/core';\nimport { NgFor, NgIf } from '@angular/common';\nimport { SuisNavigationGroupItem } from '../../interfaces/suis-navigation-item.interfaces';\nimport { SuisNavigationItemDirective } from '../../directives/suis-navigation-item.directive';\nimport { SuisNavigationGroupComponent } from '../suis-navigation-group';\nimport { SuisIconComponent } from '../../../../components/suis-icon';\n\n@Component({\n selector: 'suis-navigation',\n standalone: true,\n imports: [NgIf, NgFor, SuisNavigationGroupComponent, SuisIconComponent],\n templateUrl: './suis-navigation.component.html',\n styleUrls: ['./suis-navigation.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisNavigationComponent {\n /** @internal */\n @ContentChild(SuisNavigationItemDirective)\n suisNavigationItem?: SuisNavigationItemDirective;\n\n /**\n * List of navigation items. Type of SuisNavigationGroupItem[]. By default set to empty array.\n */\n @Input() items: SuisNavigationGroupItem[] = [];\n\n /**\n * Condition to expand groups at view initialization. By default set to true.\n */\n @Input() expandedGroups: boolean = true;\n\n /**\n * Adds expand / collapse logic to group header items. By default set to false.\n */\n @Input() expandable: boolean = false;\n\n /**\n * Adds collapse / expand logic to navigiaton. By default set to false.\n */\n @Input() collapsable: boolean = false;\n\n /**\n * Collapses the navigiation, when collapsable is enabled. By default set to false.\n */\n @Input() collapsed: boolean = false;\n\n /**\n * Emits on collapsed value changed.\n */\n @Input() collaspedChange = new EventEmitter<boolean>();\n\n onToggle(): void {\n this.collapsed = !this.collapsed;\n this.collaspedChange.emit(this.collapsed);\n }\n\n /** @internal */\n groupItemTrackBy(index: number, groupItem: SuisNavigationGroupItem): string {\n return `${groupItem.label}-${index}`;\n }\n}\n","<div\n class=\"suis-navigation\"\n [class.suis-navigation--collapsed]=\"collapsable && collapsed\"\n>\n <div class=\"suis-navigation__actions\">\n <button *ngIf=\"collapsable\" type=\"button\" (click)=\"onToggle()\">\n <suis-icon\n [type]=\"collapsed ? 'arrow-right' : 'arrow-left'\"\n color=\"white\"\n size=\"xl\"\n ></suis-icon>\n </button>\n </div>\n <div class=\"suis-navigation__groups\">\n <ng-container *ngIf=\"!collapsed\">\n <suis-navigation-group\n *ngFor=\"let groupItem of items; trackBy: groupItemTrackBy\"\n [item]=\"groupItem\"\n [templateRef]=\"suisNavigationItem?.templateRef\"\n [expanded]=\"expandedGroups\"\n [expandable]=\"expandable\"\n ></suis-navigation-group>\n </ng-container>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { SuisNavigationComponent } from './components/suis-navigation/suis-navigation.component';\nimport { SuisNavigationItemDirective } from './directives/suis-navigation-item.directive';\n\n@NgModule({\n imports: [SuisNavigationComponent, SuisNavigationItemDirective],\n exports: [SuisNavigationComponent, SuisNavigationItemDirective],\n})\nexport class SuisNavigationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i2.SuisSelectComponent"],"mappings":"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"}
1
+ {"version":3,"file":"suis.mjs","sources":["../../../../libs/suis/src/lib/components/suis-icon/suis-icon-type.pipe.ts","../../../../libs/suis/src/lib/pipes/suis-ng-class.pipe.ts","../../../../libs/suis/src/lib/components/suis-icon/suis-icon.component.ts","../../../../libs/suis/src/lib/components/suis-icon/suis-icon.component.html","../../../../libs/suis/src/lib/components/suis-accordion/suis-accordion.component.ts","../../../../libs/suis/src/lib/components/suis-accordion/suis-accordion.component.html","../../../../libs/suis/src/lib/components/suis-alert/suis-alert.component.ts","../../../../libs/suis/src/lib/components/suis-alert/suis-alert.component.html","../../../../libs/suis/src/lib/components/suis-box/suis-box.component.ts","../../../../libs/suis/src/lib/components/suis-box/suis-box.component.html","../../../../libs/suis/src/lib/components/suis-breadcrumbs/suis-breadcrumbs.component.ts","../../../../libs/suis/src/lib/components/suis-breadcrumbs/suis-breadcrumbs.component.html","../../../../libs/suis/src/lib/components/suis-chart/suis-chart-height.pipe.ts","../../../../libs/suis/src/lib/components/suis-chart/suis-chart-data.pipe.ts","../../../../libs/suis/src/lib/components/suis-chart/suis-chart.component.ts","../../../../libs/suis/src/lib/components/suis-chart/suis-chart.component.html","../../../../libs/suis/src/lib/components/suis-chip/suis-chip.component.ts","../../../../libs/suis/src/lib/components/suis-chip/suis-chip.component.html","../../../../libs/suis/src/lib/components/suis-container/suis-container.component.ts","../../../../libs/suis/src/lib/components/suis-container/suis-container.component.html","../../../../libs/suis/src/lib/components/suis-spinner/suis-spinner.component.ts","../../../../libs/suis/src/lib/components/suis-spinner/suis-spinner.component.html","../../../../libs/suis/src/lib/shared/classes/suis-button.base.ts","../../../../libs/suis/src/lib/modules/suis-button/components/suis-button/suis-button.component.ts","../../../../libs/suis/src/lib/modules/suis-button/components/suis-button/suis-button.component.html","../../../../libs/suis/src/lib/services/suis-dialog.service.ts","../../../../libs/suis/src/lib/components/suis-dialog/suis-dialog.component.ts","../../../../libs/suis/src/lib/components/suis-dialog/suis-dialog.component.html","../../../../libs/suis/src/lib/services/suis-notification.service.ts","../../../../libs/suis/src/lib/components/suis-dialog-container/suis-dialog-container.component.ts","../../../../libs/suis/src/lib/components/suis-dialog-container/suis-dialog-container.component.html","../../../../libs/suis/src/lib/components/suis-divider/suis-divider.component.ts","../../../../libs/suis/src/lib/components/suis-divider/suis-divider.component.html","../../../../libs/suis/src/lib/components/suis-form-field/suis-form-field.component.ts","../../../../libs/suis/src/lib/components/suis-form-field/suis-form-field.component.html","../../../../libs/suis/src/lib/shared/classes/suis-input.base.ts","../../../../libs/suis/src/lib/components/suis-input/suis-input.component.ts","../../../../libs/suis/src/lib/components/suis-input/suis-input.component.html","../../../../libs/suis/src/lib/components/suis-label/suis-label.component.ts","../../../../libs/suis/src/lib/components/suis-label/suis-label.component.html","../../../../libs/suis/src/lib/shared/classes/suis-checkbox.base.ts","../../../../libs/suis/src/lib/components/suis-input-checkbox/suis-input-checkbox.component.ts","../../../../libs/suis/src/lib/components/suis-input-checkbox/suis-input-checkbox.component.html","../../../../libs/suis/src/lib/components/suis-input-chips/suis-input-chips.component.ts","../../../../libs/suis/src/lib/components/suis-input-chips/suis-input-chips.component.html","../../../../libs/suis/src/lib/components/suis-input-image/suis-input-image.component.ts","../../../../libs/suis/src/lib/components/suis-input-image/suis-input-image.component.html","../../../../libs/suis/src/lib/components/suis-input-number/suis-input-number.component.ts","../../../../libs/suis/src/lib/components/suis-input-number/suis-input-number.component.html","../../../../libs/suis/src/lib/components/suis-input-radio/suis-input-radio.component.ts","../../../../libs/suis/src/lib/components/suis-input-radio/suis-input-radio.component.html","../../../../libs/suis/src/lib/components/suis-item/suis-item.component.ts","../../../../libs/suis/src/lib/components/suis-item/suis-item.component.html","../../../../libs/suis/src/lib/components/suis-notification/suis-notification.component.ts","../../../../libs/suis/src/lib/components/suis-notification/suis-notification.component.html","../../../../libs/suis/src/lib/components/suis-notifications/suis-notifications.component.ts","../../../../libs/suis/src/lib/components/suis-notifications/suis-notifications.component.html","../../../../libs/suis/src/lib/components/suis-pagination/suis-pagination-page.pipe.ts","../../../../libs/suis/src/lib/components/suis-pagination/suis-pagination-items.pipe.ts","../../../../libs/suis/src/lib/modules/suis-select/pipes/suis-select-label.pipe.ts","../../../../libs/suis/src/lib/modules/suis-select/pipes/suis-select-is-selected.pipe.ts","../../../../libs/suis/src/lib/modules/suis-select/components/suis-select-option/suis-select-option.component.ts","../../../../libs/suis/src/lib/modules/suis-select/components/suis-select-option/suis-select-option.component.html","../../../../libs/suis/src/lib/modules/suis-select/pipes/suis-select-sort-options.pipe.ts","../../../../libs/suis/src/lib/modules/suis-select/pipes/suis-select-filter-options.pipe.ts","../../../../libs/suis/src/lib/modules/suis-select/classes/suis-select-button.base.ts","../../../../libs/suis/src/lib/modules/suis-select/components/suis-select-button/suis-select-button.component.ts","../../../../libs/suis/src/lib/modules/suis-select/components/suis-select-button/suis-select-button.component.html","../../../../libs/suis/src/lib/modules/suis-select/directives/suis-select-option.directive.ts","../../../../libs/suis/src/lib/modules/suis-select/classes/suis-select.base.ts","../../../../libs/suis/src/lib/modules/suis-select/classes/suis-select-single.base.ts","../../../../libs/suis/src/lib/modules/suis-select/components/suis-select/suis-select.component.ts","../../../../libs/suis/src/lib/modules/suis-select/components/suis-select/suis-select.component.html","../../../../libs/suis/src/lib/modules/suis-select/components/suis-select-group-option/suis-select-group-option.component.ts","../../../../libs/suis/src/lib/modules/suis-select/components/suis-select-group-option/suis-select-group-option.component.html","../../../../libs/suis/src/lib/modules/suis-select/pipes/suis-select-filter-group-options.pipe.ts","../../../../libs/suis/src/lib/modules/suis-select/pipes/suis-select-group-label.pipe.ts","../../../../libs/suis/src/lib/modules/suis-select/directives/suis-select-group-option.directive.ts","../../../../libs/suis/src/lib/modules/suis-select/pipes/suis-select-sort-group-options.pipe.ts","../../../../libs/suis/src/lib/modules/suis-select/components/suis-select-group/suis-select-group.component.ts","../../../../libs/suis/src/lib/modules/suis-select/components/suis-select-group/suis-select-group.component.html","../../../../libs/suis/src/lib/modules/suis-select/pipes/suis-select-multi-chips.pipe.ts","../../../../libs/suis/src/lib/modules/suis-select/pipes/suis-select-multi-is-selected.pipe.ts","../../../../libs/suis/src/lib/modules/suis-select/components/suis-select-button-multi/suis-select-button-multi.component.ts","../../../../libs/suis/src/lib/modules/suis-select/components/suis-select-button-multi/suis-select-button-multi.component.html","../../../../libs/suis/src/lib/modules/suis-select/classes/suis-select-multi.base.ts","../../../../libs/suis/src/lib/modules/suis-select/components/suis-select-multi/suis-select-multi.component.ts","../../../../libs/suis/src/lib/modules/suis-select/components/suis-select-multi/suis-select-multi.component.html","../../../../libs/suis/src/lib/modules/suis-select/pipes/suis-select-multi-group-chips.pipe.ts","../../../../libs/suis/src/lib/modules/suis-select/components/suis-select-multi-group/suis-select-multi-group.component.ts","../../../../libs/suis/src/lib/modules/suis-select/components/suis-select-multi-group/suis-select-multi-group.component.html","../../../../libs/suis/src/lib/modules/suis-select/suis-select.module.ts","../../../../libs/suis/src/lib/components/suis-pagination/suis-pagination-per-page-options.pipe.ts","../../../../libs/suis/src/lib/components/suis-pagination/suis-pagination.component.ts","../../../../libs/suis/src/lib/components/suis-pagination/suis-pagination.component.html","../../../../libs/suis/src/lib/components/suis-progress-bar/suis-progress-bar.pipe.ts","../../../../libs/suis/src/lib/components/suis-progress-bar/suis-progress-bar.component.ts","../../../../libs/suis/src/lib/components/suis-progress-bar/suis-progress-bar.component.html","../../../../libs/suis/src/lib/components/suis-spinner-container/suis-spinner-container.component.ts","../../../../libs/suis/src/lib/components/suis-spinner-container/suis-spinner-container.component.html","../../../../libs/suis/src/lib/components/suis-table/suis-table-cell.directive.ts","../../../../libs/suis/src/lib/components/suis-table/suis-table-column.directive.ts","../../../../libs/suis/src/lib/components/suis-table/suis-table.component.ts","../../../../libs/suis/src/lib/components/suis-table/suis-table.component.html","../../../../libs/suis/src/lib/components/suis-table/suis-table.module.ts","../../../../libs/suis/src/lib/components/suis-tabs/suis-tab.directive.ts","../../../../libs/suis/src/lib/components/suis-tabs/suis-tab-actions.pipe.ts","../../../../libs/suis/src/lib/components/suis-tabs/suis-tab-template.pipe.ts","../../../../libs/suis/src/lib/components/suis-tabs/suis-tabs.component.ts","../../../../libs/suis/src/lib/components/suis-tabs/suis-tabs.component.html","../../../../libs/suis/src/lib/components/suis-tabs/suis-tabs.module.ts","../../../../libs/suis/src/lib/components/suis-text-area/suis-text-area.component.ts","../../../../libs/suis/src/lib/components/suis-text-area/suis-text-area.component.html","../../../../libs/suis/src/lib/components/suis-title/suis-title.enum.ts","../../../../libs/suis/src/lib/components/suis-title/suis-title.component.ts","../../../../libs/suis/src/lib/components/suis-title/suis-title.component.html","../../../../libs/suis/src/lib/components/suis-toggle/suis-toggle.component.ts","../../../../libs/suis/src/lib/components/suis-toggle/suis-toggle.component.html","../../../../libs/suis/src/lib/components/suis-toolbar/suis-toolbar.component.ts","../../../../libs/suis/src/lib/components/suis-toolbar/suis-toolbar.component.html","../../../../libs/suis/src/lib/modules/suis-button/components/suis-button-link/suis-button-link.component.ts","../../../../libs/suis/src/lib/modules/suis-button/components/suis-button-link/suis-button-link.component.html","../../../../libs/suis/src/lib/modules/suis-button/components/suis-button-outlined/suis-button-outlined.component.ts","../../../../libs/suis/src/lib/modules/suis-button/components/suis-button-outlined/suis-button-outlined.component.html","../../../../libs/suis/src/lib/modules/suis-button/suis-button.module.ts","../../../../libs/suis/src/lib/modules/suis-navigation/directives/suis-navigation-item.directive.ts","../../../../libs/suis/src/lib/modules/suis-navigation/components/suis-navigation-item/suis-navigation-item.component.ts","../../../../libs/suis/src/lib/modules/suis-navigation/components/suis-navigation-item/suis-navigation-item.component.html","../../../../libs/suis/src/lib/modules/suis-navigation/components/suis-navigation-group-item/suis-navigation-group-item.component.ts","../../../../libs/suis/src/lib/modules/suis-navigation/components/suis-navigation-group-item/suis-navigation-group-item.component.html","../../../../libs/suis/src/lib/modules/suis-navigation/components/suis-navigation-group/suis-navigation-group.component.ts","../../../../libs/suis/src/lib/modules/suis-navigation/components/suis-navigation-group/suis-navigation-group.component.html","../../../../libs/suis/src/lib/modules/suis-navigation/components/suis-navigation/suis-navigation.component.ts","../../../../libs/suis/src/lib/modules/suis-navigation/components/suis-navigation/suis-navigation.component.html","../../../../libs/suis/src/lib/modules/suis-navigation/suis-navigation.module.ts","../../../../libs/suis/src/suis.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { SuisIconType } from './suis-icon.types';\n\n@Pipe({\n standalone: true,\n name: 'suisIconType',\n})\nexport class SuisIconTypePipe implements PipeTransform {\n transform(type: SuisIconType): string {\n switch (type) {\n case 'question':\n return '&quest;';\n case 'exclamation':\n return '&excl;';\n case 'check':\n return '&check;';\n case 'times':\n return '&times;';\n case 'plus':\n return '&plus;';\n case 'minus':\n return '&minus;';\n case 'arrow-left':\n return '&#8592;';\n case 'arrow-up':\n return '&#8593;';\n case 'arrow-right':\n return '&#8594;';\n case 'arrow-down':\n return '&#8595;';\n case 'chevron-up':\n case 'chevron-left':\n return '&lsaquo;';\n case 'chevron-down':\n case 'chevron-right':\n return '&rsaquo;';\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n standalone: true,\n name: 'suisNgClass',\n})\nexport class SuisNgClassPipe implements PipeTransform {\n transform(prefix: string, ...args: string[]): string[] {\n const classes: string[] = [];\n args.forEach((arg) => classes.push(`${prefix}--${arg}`));\n return classes;\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { NgClass } from '@angular/common';\nimport { SuisIconType } from './suis-icon.types';\nimport { SuisIconTypePipe } from './suis-icon-type.pipe';\nimport { SuisNgClassPipe } from '../../pipes/suis-ng-class.pipe';\nimport { SuisSize } from '../../types/suis-size.type';\nimport { SuisColor } from '../../types/suis-color.type';\n\n@Component({\n selector: 'suis-icon',\n standalone: true,\n imports: [NgClass, SuisIconTypePipe, SuisNgClassPipe],\n templateUrl: './suis-icon.component.html',\n styleUrls: ['./suis-icon.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisIconComponent {\n /**\n * Sets the font size of the HTML Entity itself. Type of SuisSize. By default set to 'md'.\n */\n @Input() size: SuisSize = 'md';\n\n /**\n * Sets the color pallette of the icon and surroundings. Type of SuisColor. By default set to 'dark'.\n */\n @Input() color: SuisColor = 'dark';\n\n /**\n * Sets the HTML Entity displayed in content. Type of SuisIconType. By default set to 'question'.\n */\n @Input() type: SuisIconType = 'question';\n\n /**\n * Shows the circled border around the icon. By default set to false. Can not be combined with filled (will be overriden then).\n */\n @Input() outlined: boolean = false;\n\n /**\n * Shows the circled background behind the icon. By default set to false. Overrides outlined behavior if used at the sime time.\n */\n @Input() filled: boolean = false;\n\n /**\n * Shows the pointer cursor when hovered. By default set to false.\n */\n @Input() pointer: boolean = false;\n\n /**\n * Sets HTML Entity font weight to bold. By default set to false.\n */\n @Input() bold: boolean = false;\n}\n","<div\n class=\"suis-icon\"\n [class.suis-icon--outlined]=\"outlined\"\n [class.suis-icon--filled]=\"filled\"\n [class.suis-icon--pointer]=\"pointer\"\n [class.suis-icon--bold]=\"bold\"\n [class.suis-icon--rotate]=\"type === 'chevron-up' || type === 'chevron-down'\"\n [ngClass]=\"'suis-icon' | suisNgClass : color : size\"\n>\n <span\n [innerHTML]=\"type | suisIconType\"\n [ngClass]=\"'suis-icon' | suisNgClass : type\"\n ></span>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { NgIf } from '@angular/common';\nimport { SuisIconComponent } from '../suis-icon/suis-icon.component';\n\n@Component({\n selector: 'suis-accordion',\n standalone: true,\n imports: [NgIf, SuisIconComponent],\n templateUrl: './suis-accordion.component.html',\n styleUrls: ['./suis-accordion.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisAccordionComponent {\n /**\n * Controlls styling of the accordion based on expanded state of group. By default set to false.\n */\n @Input() expanded: boolean = false;\n\n /**\n * Emits when expanded value of the accordion has been changed.\n */\n @Output() expandedChange = new EventEmitter<boolean>();\n\n onToggle(): void {\n this.expanded = !this.expanded;\n this.expandedChange.emit(this.expanded);\n }\n}\n","<div class=\"suis-accordion\">\n <button (click)=\"onToggle()\" class=\"suis-accordion__header\">\n <ng-content select=\"[suisAccordionHeader]\"></ng-content>\n <suis-icon\n [type]=\"expanded ? 'chevron-up' : 'chevron-down'\"\n size=\"lg\"\n color=\"primary\"\n ></suis-icon>\n </button>\n <div class=\"suis-accordion__content\" *ngIf=\"expanded\">\n <ng-content select=\"[suisAccordionContent]\"></ng-content>\n </div>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { NgClass, NgIf } from '@angular/common';\nimport { SuisInfoColor } from '../../types';\nimport { SuisNgClassPipe } from '../../pipes';\nimport { SuisIconComponent } from '../suis-icon/suis-icon.component';\n\n@Component({\n selector: 'suis-alert',\n standalone: true,\n imports: [NgIf, NgClass, SuisNgClassPipe, SuisIconComponent],\n templateUrl: './suis-alert.component.html',\n styleUrls: ['./suis-alert.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisAlertComponent {\n /**\n * Controls visibilty of the alert. By default set to false.\n */\n @Input() hidden: boolean = false;\n\n /**\n * Emits change of hidden state.\n */\n @Output() hiddenChange = new EventEmitter<boolean>();\n\n /**\n * Sets the color pallette of the alert. Type of SuisInfoColor. By default set to 'danger'.\n */\n @Input() color: SuisInfoColor = 'danger';\n\n onCancel() {\n this.hidden = true;\n this.hiddenChange.emit(true);\n }\n}\n","<div\n *ngIf=\"!hidden\"\n class=\"suis-alert\"\n [ngClass]=\"'suis-alert' | suisNgClass : color\"\n>\n <ng-content></ng-content>\n <button class=\"suis-alert__cancel\" type=\"button\" (click)=\"onCancel()\">\n <suis-icon type=\"times\" [color]=\"'white'\" [size]=\"'lg'\"></suis-icon>\n </button>\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'suis-box',\n standalone: true,\n imports: [],\n templateUrl: './suis-box.component.html',\n styleUrls: ['./suis-box.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisBoxComponent {\n /**\n * Adds a padding around the content. By default set to false.\n */\n @Input() spacing: boolean = false;\n\n /**\n * Sets box height to 100%. By default set to false.\n */\n @Input() fullHeight: boolean = false;\n}\n","<div\n class=\"suis-box\"\n [class.suis-box--spacing]=\"spacing\"\n [class.suis-box--full-height]=\"fullHeight\"\n>\n <ng-content></ng-content>\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { NgFor, NgIf } from '@angular/common';\nimport { SuisBreadcrumbItem } from './suis-breadcrumbs.interface';\nimport { RouterModule } from '@angular/router';\n\n@Component({\n selector: 'suis-breadcrumbs',\n standalone: true,\n imports: [NgIf, NgFor, RouterModule],\n templateUrl: './suis-breadcrumbs.component.html',\n styleUrls: ['./suis-breadcrumbs.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisBreadcrumbsComponent {\n /**\n * List of breadcrumbs items. Type of SuisBreadcrumbItem[]. By default set to empty array.\n */\n @Input() items: SuisBreadcrumbItem[] = [];\n\n /** @internal */\n itemTrackBy(index: number, item: SuisBreadcrumbItem): string {\n return `${item.label}-${index}`;\n }\n}\n","<div class=\"suis-breadcrumbs\">\n <ng-container\n *ngFor=\"let item of items; let last = last; trackBy: itemTrackBy\"\n >\n <a [routerLink]=\"last ? undefined : item.link\">\n {{ item.label }}\n </a>\n <span *ngIf=\"!last\">/</span>\n </ng-container>\n</div>\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'suisChartHeight',\n standalone: true,\n})\nexport class SuisChartHeightPipe implements PipeTransform {\n transform(value: number, maxValue: number): string {\n if (value > maxValue) return '100%';\n return `${(value / maxValue) * 100}%`;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport {\n SuisChartDataItem,\n SuisChartDataComparisionItem,\n} from './suis-chart.interfaces';\n\n@Pipe({\n name: 'suisChartData',\n standalone: true,\n})\nexport class SuisChartDataPipe implements PipeTransform {\n transform(\n data: SuisChartDataItem[],\n compareData: SuisChartDataItem[]\n ): SuisChartDataComparisionItem[] {\n if (!compareData.length) return data;\n\n const combinedData: SuisChartDataComparisionItem[] = [];\n\n data.forEach((item, index) => {\n combinedData.push(item);\n if (compareData.length - 1 >= index) {\n combinedData.push({\n ...compareData[index],\n compare: true,\n });\n } else {\n combinedData.push({\n value: 0,\n compare: true,\n });\n }\n });\n\n return combinedData;\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { NgClass, NgForOf, NgIf } from '@angular/common';\nimport { SuisColor, SuisSize } from '../../types';\nimport { SuisChartHeightPipe } from './suis-chart-height.pipe';\nimport { SuisNgClassPipe } from '../../pipes';\nimport { SuisChartDataItem } from './suis-chart.interfaces';\nimport { SuisChartDataPipe } from './suis-chart-data.pipe';\n\n@Component({\n selector: 'suis-chart',\n standalone: true,\n imports: [\n NgForOf,\n NgIf,\n NgClass,\n SuisChartHeightPipe,\n SuisChartDataPipe,\n SuisNgClassPipe,\n ],\n templateUrl: './suis-chart.component.html',\n styleUrls: ['./suis-chart.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisChartComponent {\n /** @internal */\n _maxValue: number = 100;\n\n /** @internal */\n get maxValue(): number {\n if (!this.autoMax) return this._maxValue;\n return Math.max(\n ...[...this.data, ...this.compareData].map((item) => item.value)\n );\n }\n\n /**\n * Set the maximum value of the chart bars. By default set to 100.\n */\n @Input() set maxValue(value: number) {\n this._maxValue = value;\n }\n\n /**\n * Array of the chart bars labels. By default set to empty array.\n */\n @Input() labels: string[] = [];\n\n /**\n * Array of data values and optionally colors. Type of SuisChartDataItem[]. By default set to empty array.\n */\n @Input() data: SuisChartDataItem[] = [];\n\n /**\n * Sets the default color of the chart bars. Type of SuisColor. By default set to 'primary'.\n */\n @Input() color: SuisColor = 'primary';\n\n /**\n * Adjusts the width of the chart bars. Type of SuisSize. By default set to 'md'.\n */\n @Input() size: SuisSize = 'md';\n\n /**\n * Sets the maximum value automatically based on data values. By default set to false.\n */\n @Input() autoMax: boolean = false;\n\n /**\n * Array of comparision data values and optionally colors. Type of SuisChartDataItem[]. By default set to empty array.\n */\n @Input() compareData: SuisChartDataItem[] = [];\n\n /**\n * Sets the default color of the comparision chart bars. Type of SuisColor. By default set to 'warning'.\n */\n @Input() compareColor: SuisColor = 'warning';\n}\n","<div class=\"suis-chart\">\n <div\n class=\"suis-chart__content\"\n [ngClass]=\"'suis-chart__content' | suisNgClass : size\"\n >\n <div\n *ngFor=\"let item of data | suisChartData : compareData\"\n class=\"suis-chart__content__item\"\n [ngClass]=\"\n 'suis-chart__content__item'\n | suisNgClass\n : (item.compare ? item.color || compareColor : item.color || color)\n : (item.compare ? 'compare' : 'single')\n \"\n [style.height]=\"item.value | suisChartHeight : maxValue\"\n >\n <div class=\"suis-chart__content__item__value\">\n {{ item.value }}\n </div>\n </div>\n </div>\n <div\n class=\"suis-chart__labels\"\n [ngClass]=\"'suis-chart__labels' | suisNgClass : size\"\n >\n <div\n *ngFor=\"let label of labels\"\n class=\"suis-chart__labels__item\"\n [class.suis-chart__labels__item--double]=\"compareData.length\"\n >\n {{ label }}\n </div>\n </div>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { NgIf, NgClass } from '@angular/common';\nimport { SuisIconComponent } from '../suis-icon/suis-icon.component';\nimport { SuisColor } from '../../types/suis-color.type';\nimport { SuisNgClassPipe } from '../../pipes/suis-ng-class.pipe';\n\n@Component({\n selector: 'suis-chip',\n standalone: true,\n imports: [NgIf, NgClass, SuisIconComponent, SuisNgClassPipe],\n templateUrl: './suis-chip.component.html',\n styleUrls: ['./suis-chip.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisChipComponent {\n /**\n * Sets the color pallette of the chip. Type of SuisColor. By default set to 'primary'.\n */\n @Input() color: SuisColor = 'primary';\n\n /**\n * Sets the color of the cross icon. Visible only if removable set to true. Type of SuisColor. By default set to 'white'.\n */\n @Input() iconColor: SuisColor = 'white';\n\n /**\n * Shows cross icon with remove action. By default set to false.\n */\n @Input() removable: boolean = false;\n\n /**\n * Emits on cross icon click.\n */\n @Output() remove = new EventEmitter<void>();\n\n /** @internal */\n onRemove(): void {\n this.remove.emit();\n }\n}\n","<div class=\"suis-chip\" [ngClass]=\"'suis-chip' | suisNgClass : color\">\n <ng-content></ng-content>\n <button\n *ngIf=\"removable\"\n class=\"suis-chip__remove\"\n type=\"button\"\n (click)=\"onRemove()\"\n >\n <suis-icon\n type=\"times\"\n [color]=\"iconColor\"\n [pointer]=\"true\"\n [size]=\"'md'\"\n ></suis-icon>\n </button>\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'suis-container',\n standalone: true,\n imports: [],\n templateUrl: './suis-container.component.html',\n styleUrls: ['./suis-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisContainerComponent {\n /**\n * Adds a padding around the content. By default set to false.\n */\n @Input() spacing: boolean = false;\n}\n","<div class=\"suis-container\" [class.suis-container--spacing]=\"spacing\">\n <ng-content></ng-content>\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { NgClass } from '@angular/common';\nimport { SuisNgClassPipe } from '../../pipes';\nimport { SuisSize } from '../../types/suis-size.type';\nimport { SuisColor } from '../../types/suis-color.type';\n\n@Component({\n selector: 'suis-spinner',\n standalone: true,\n imports: [NgClass, SuisNgClassPipe],\n templateUrl: './suis-spinner.component.html',\n styleUrls: ['./suis-spinner.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisSpinnerComponent {\n /**\n * Sets the size of the spinner. Type of SuisSize. By default set to 'sm'.\n */\n @Input() size: SuisSize = 'sm';\n\n /**\n * Sets the color of the spinner. Type of SuisColor. By default set to 'primary'.\n */\n @Input() color: SuisColor = 'primary';\n}\n","<div\n class=\"suis-spinner\"\n [ngClass]=\"'suis-spinner' | suisNgClass : size : color\"\n></div>\n","import { Directive, EventEmitter, Input, Output } from '@angular/core';\nimport { SuisInfoColor, SuisPalleteColor } from '../../types/suis-color.type';\n\n@Directive()\nexport abstract class SuisButtonBase {\n /**\n * Sets button's color theme. Type of SuisPalleteColor | SuisInfoColor. By default set to 'primary'.\n */\n @Input() color: SuisPalleteColor | SuisInfoColor = 'primary';\n\n /**\n * Sets button's disabled attribute. By default set to false.\n */\n @Input() disabled: boolean = false;\n\n /**\n * Sets button's type attribute. By default set to 'button'.\n */\n @Input() type: string = 'button';\n\n /**\n * Shows loading spinner instead of content projection. By default set to false.\n */\n @Input() loading: boolean = false;\n\n /**\n * Sets width to 100% instead of fit-content. By default set to false.\n */\n @Input() fullWidth: boolean = false;\n\n /**\n * Emits on button click event.\n */\n @Output() clicked = new EventEmitter<void>();\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onClick(event?: Event): void {\n this.clicked.emit();\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { NgClass, NgIf } from '@angular/common';\nimport { SuisNgClassPipe } from '../../../../pipes';\nimport { SuisSpinnerComponent } from '../../../../components/suis-spinner';\nimport { SuisButtonBase } from '../../../../shared/classes/suis-button.base';\n\n@Component({\n selector: 'suis-button',\n standalone: true,\n imports: [NgIf, NgClass, SuisNgClassPipe, SuisSpinnerComponent],\n templateUrl: './suis-button.component.html',\n styleUrls: ['./suis-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisButtonComponent extends SuisButtonBase {}\n","<button\n class=\"suis-button\"\n [class.suis-button--full-width]=\"fullWidth\"\n [ngClass]=\"'suis-button' | suisNgClass : color\"\n [attr.disabled]=\"disabled || loading ? true : undefined\"\n [attr.tabindex]=\"disabled || loading ? -1 : 0\"\n [attr.type]=\"type\"\n (click)=\"onClick()\"\n>\n <span\n class=\"suis-button__content\"\n [class.suis-button__content--loading]=\"loading\"\n >\n <ng-content></ng-content>\n </span>\n <suis-spinner *ngIf=\"loading\" size=\"xs\" color=\"white\"></suis-spinner>\n</button>\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n Injectable,\n Signal,\n Type,\n WritableSignal,\n signal,\n} from '@angular/core';\nimport { SuisDialog } from '../components/suis-dialog-container/suis-dialog-container.interfaces';\n\n@Injectable()\nexport class SuisDialogService {\n private dialog: WritableSignal<SuisDialog | null> = signal(null);\n\n /**\n * @returns current displayed dialog or null.\n */\n getDialog(): Signal<SuisDialog | null> {\n return this.dialog.asReadonly();\n }\n\n /**\n * Opens dialog component in suis-dialog-container and add suis-dialog class to body.\n * @param component - dialog component\n * @param inputs - inputs passed to dialog component\n */\n open(component: Type<any>, inputs: { [key: string]: any }): void {\n this.dialog.set({ component, inputs });\n document.body.classList.add('suis-dialog');\n }\n\n /**\n * Removes displayed dialog and suis-dialog class from body.\n */\n close(): void {\n this.dialog.set(null);\n document.body.classList.remove('suis-dialog');\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n inject,\n} from '@angular/core';\nimport { NgClass, NgIf } from '@angular/common';\nimport { SuisIconComponent } from '../suis-icon';\nimport { SuisButtonComponent } from '../../modules/suis-button/components/suis-button';\nimport { SuisDialogService } from '../../services/suis-dialog.service';\nimport { SuisNgClassPipe } from '../../pipes';\nimport { SuisSize } from '../../types/suis-size.type';\n\n@Component({\n selector: 'suis-dialog',\n standalone: true,\n imports: [\n NgIf,\n NgClass,\n SuisIconComponent,\n SuisButtonComponent,\n SuisNgClassPipe,\n ],\n templateUrl: './suis-dialog.component.html',\n styleUrls: ['./suis-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisDialogComponent {\n private readonly suisDialogService = inject(SuisDialogService);\n\n /**\n * Sets width size of the dialog. Type of SuisSize. By default set to 'md'.\n */\n @Input() size: SuisSize = 'md';\n\n /**\n * Displays the cancel button in the actions footer of the dialog. By default set to true.\n */\n @Input() cancelButton: boolean = true;\n\n /**\n * Displays the confirm button in the actions footer of the dialog. By default set to true.\n */\n @Input() confirmButton: boolean = true;\n\n /**\n * Emits on confirm button clicked.\n */\n @Output() confirmed = new EventEmitter<void>();\n\n /**\n * Emits on cancel button or cross icon clicked.\n */\n @Output() cancelled = new EventEmitter<void>();\n\n onConfirm(): void {\n this.confirmed.emit();\n }\n\n onCancel(): void {\n this.cancelled.emit();\n this.suisDialogService.close();\n }\n}\n","<div class=\"suis-dialog\" [ngClass]=\"'suis-dialog' | suisNgClass : size\">\n <header class=\"suis-dialog__header\">\n <ng-content select=\"[suisDialogHeader]\"></ng-content>\n <button type=\"button\" (click)=\"onCancel()\">\n <suis-icon type=\"times\" color=\"dark\" size=\"lg\"></suis-icon>\n </button>\n </header>\n <section class=\"suis-dialog__content\">\n <ng-content select=\"[suisDialogContent]\"></ng-content>\n </section>\n <footer class=\"suis-dialog__actions\">\n <suis-button *ngIf=\"cancelButton\" color=\"danger\" (click)=\"onCancel()\">\n Cancel\n </suis-button>\n <suis-button *ngIf=\"confirmButton\" color=\"success\" (click)=\"onConfirm()\">\n Confirm\n </suis-button>\n </footer>\n</div>\n","import { Injectable, WritableSignal, signal, Signal } from '@angular/core';\nimport { SuisNotification } from '../components/suis-notification/suis-notification.interfaces';\nimport { SuisNotificationType } from '../components/suis-notification/suis-notification.types';\n\nlet UNIQUE_ID = 1;\n\n@Injectable()\nexport class SuisNotificationService {\n private notifications: WritableSignal<SuisNotification[]> = signal([]);\n\n /**\n * @returns array of the current notifications. Type of SuisNotification[].\n */\n getNotifications(): Signal<SuisNotification[]> {\n return this.notifications.asReadonly();\n }\n\n /**\n * Adds success notification\n * @param header text displayed in the notification header\n * @param message text displayed in the notification message\n * @param delay time in ms after notification will be destroyed\n */\n success(header: string, message: string, delay: number = 2500): void {\n this.addNotification(header, message, delay, 'success');\n }\n\n /**\n * Adds warning notification\n * @param header text displayed in the notification header\n * @param message text displayed in the notification message\n * @param delay time in ms after notification will be destroyed\n */\n warning(header: string, message: string, delay: number = 2500): void {\n this.addNotification(header, message, delay, 'warning');\n }\n\n /**\n * Adds danger notification\n * @param header text displayed in the notification header\n * @param message text displayed in the notification message\n * @param delay time in ms after notification will be destroyed\n */\n danger(header: string, message: string, delay: number = 2500): void {\n this.addNotification(header, message, delay, 'danger');\n }\n\n /**\n * Removes notification immediately\n * @param id id of the notification to be removed\n */\n forceRemoveNotification(id: string): void {\n this.removeNotification(id);\n }\n\n /** @internal */\n private getId(): string {\n return `suis-notification--${UNIQUE_ID++}`;\n }\n\n /** @internal */\n private addNotification(\n header: string,\n message: string,\n delay: number,\n type: SuisNotificationType\n ): void {\n const notification: SuisNotification = {\n id: this.getId(),\n header: header,\n message: message,\n delay: delay,\n type: type,\n };\n\n this.notifications.set([...this.notifications(), notification]);\n\n this.removeNotificationWithDelay(notification.id, notification.delay);\n }\n\n /** @internal */\n private removeNotification(id: string): void {\n this.notifications.set([\n ...this.notifications().filter((notification) => notification.id !== id),\n ]);\n }\n\n /** @internal */\n private removeNotificationWithDelay(id: string, delay: number): void {\n setTimeout(() => {\n this.removeNotification(id);\n }, delay);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Signal,\n inject,\n} from '@angular/core';\nimport { NgComponentOutlet, NgIf } from '@angular/common';\nimport { SuisDialogService } from '../../services';\nimport { SuisDialog } from './suis-dialog-container.interfaces';\n\n@Component({\n selector: 'suis-dialog-container',\n standalone: true,\n imports: [NgIf, NgComponentOutlet],\n templateUrl: './suis-dialog-container.component.html',\n styleUrls: ['./suis-dialog-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisDialogContainerComponent {\n private readonly suisDialogService = inject(SuisDialogService);\n\n dialog: Signal<SuisDialog | null> = this.suisDialogService.getDialog();\n}\n","<div class=\"suis-dialog-container\" *ngIf=\"dialog()\">\n <ng-container\n *ngComponentOutlet=\"dialog()!.component; inputs: dialog()!.inputs\"\n ></ng-container>\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SuisNgClassPipe } from '../../pipes';\nimport { SuisColor } from '../../types/suis-color.type';\n\n@Component({\n selector: 'suis-divider',\n standalone: true,\n imports: [CommonModule, SuisNgClassPipe],\n templateUrl: './suis-divider.component.html',\n styleUrls: ['./suis-divider.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisDividerComponent {\n /**\n * Sets the color of the divider. Type of SuisColor. By default set to 'tertiary'.\n */\n @Input() color: SuisColor = 'tertiary';\n}\n","<div\n class=\"suis-divider\"\n [ngClass]=\"'suis-divider' | suisNgClass : color\"\n></div>\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n TemplateRef,\n} from '@angular/core';\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\n\n@Component({\n selector: 'suis-form-field',\n standalone: true,\n imports: [NgIf, NgTemplateOutlet],\n templateUrl: './suis-form-field.component.html',\n styleUrls: ['./suis-form-field.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisFormFieldComponent {\n /**\n * Template to be added below the field with error message.\n */\n @Input() errorTemplate?: TemplateRef<HTMLElement>;\n}\n","<div class=\"suis-form-field\">\n <ng-content></ng-content>\n <div *ngIf=\"errorTemplate\" class=\"suis-form-field__error\">\n <ng-container [ngTemplateOutlet]=\"errorTemplate\"></ng-container>\n </div>\n</div>\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n inject,\n} from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\n\n@Directive()\nexport abstract class SuisInputBase implements ControlValueAccessor {\n /** @internal */\n protected readonly cdRef = inject(ChangeDetectorRef);\n\n /** @internal */\n protected readonly elRef = inject(ElementRef);\n\n /**\n * Sets HTML id attribute of the input. By default is undefined.\n */\n @Input() id?: string;\n\n /**\n * Sets HTML name attribute of the input. By default is undefined.\n */\n @Input() name?: string;\n\n /**\n * Sets input disabled state. By default set to false.\n */\n @Input() readonly: boolean = false;\n\n /**\n * Adds invalid styling to the input. By default set to false.\n */\n @Input() invalid: boolean = false;\n\n /**\n * Emits on value changed.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Output() changed = new EventEmitter<any>();\n\n /**\n * Emits on input touched.\n */\n @Output() touched = new EventEmitter<void>();\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any\n _onChange = (value: any) => {};\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n _onTouched = () => {};\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n abstract writeValue(obj: any): void;\n\n /** @internal */\n onTouch(): void {\n this._onTouched();\n this.touched.emit();\n this.cdRef.markForCheck();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n forwardRef,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SuisInputType } from './suis-input.types';\nimport { SuisInputBase } from '../../shared/classes/suis-input.base';\n\n@Component({\n selector: 'suis-input',\n standalone: true,\n imports: [],\n templateUrl: './suis-input.component.html',\n styleUrls: ['./suis-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SuisInputComponent),\n },\n ],\n})\nexport class SuisInputComponent extends SuisInputBase {\n /**\n * Sets input's type to one of the accepted values - type of SuisInputType. By default set to 'text'.\n */\n @Input() type: SuisInputType = 'text';\n\n /**\n * Placeholder text displayed in input. By default set to empty string.\n */\n @Input() placeholder: string = '';\n\n /**\n * Emits on keydown enter input event.\n */\n @Output() enterPressed = new EventEmitter<void>();\n\n /** @internal */\n value: string = '';\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n override writeValue(obj: string): void {\n this.value = obj;\n this._onChange(this.value);\n this.cdRef.markForCheck();\n }\n\n onChange(event: Event): void {\n const target = event.target as HTMLInputElement;\n this.value = target.value;\n this._onChange(this.value);\n this.changed.emit(this.value);\n this.cdRef.markForCheck();\n }\n\n onEnter(): void {\n this.enterPressed.emit();\n }\n}\n","<input\n class=\"suis-input\"\n [class.suis-input--invalid]=\"invalid\"\n [class.suis-input--readonly]=\"readonly\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [type]=\"type\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n [disabled]=\"readonly\"\n (input)=\"onChange($event)\"\n (focus)=\"onTouch()\"\n (keydown.enter)=\"onEnter()\"\n/>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { NgIf } from '@angular/common';\n\n@Component({\n selector: 'suis-label',\n standalone: true,\n imports: [NgIf],\n templateUrl: './suis-label.component.html',\n styleUrls: ['./suis-label.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisLabelComponent {\n /**\n * Sets the HTML for attribute of the label. By default is undefined.\n */\n @Input() for?: string;\n\n /**\n * Adds a red colored asterisk after the label. By default set to false.\n */\n @Input() required: boolean = false;\n\n /**\n * Shows the pointer cursor when hovered. By default set to false.\n */\n @Input() pointer: boolean = false;\n\n /**\n * Grays out the label content and removes cursor pointer behavior. By default set to false.\n */\n @Input() readonly: boolean = false;\n}\n","<label\n class=\"suis-label\"\n [class.suis-label--pointer]=\"!readonly && pointer\"\n [class.suis-label--readonly]=\"readonly\"\n [htmlFor]=\"for ? for : undefined\"\n>\n <ng-content></ng-content>\n <span *ngIf=\"required\" class=\"suis-label__asterisk\">*</span>\n <ng-content select=\"[suisLabelAside]\"></ng-content>\n</label>\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n Input,\n ViewChild,\n} from '@angular/core';\nimport { SuisInputBase } from './suis-input.base';\n\n@Directive()\nexport abstract class SuisCheckboxBase\n extends SuisInputBase\n implements AfterViewInit\n{\n /** @internal */\n @ViewChild('input') checkboxInput?: ElementRef;\n\n /** @internal */\n value: boolean = false;\n\n /**\n * Adds a red colored asterisk after the label. By default set to false.\n */\n @Input() required: boolean = false;\n\n ngAfterViewInit(): void {\n if (this.value)\n (this.checkboxInput?.nativeElement as HTMLInputElement).checked = true;\n }\n\n override writeValue(obj: boolean): void {\n this.value = obj;\n this._onChange(this.value);\n this.cdRef.markForCheck();\n }\n\n onChange(event: Event): void {\n const target = event.target as HTMLInputElement;\n this.value = target.checked;\n this._onChange(this.value);\n this.changed.emit(this.value);\n this.cdRef.markForCheck();\n }\n}\n","import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core';\nimport { NgIf } from '@angular/common';\nimport { SuisLabelComponent } from '../suis-label/suis-label.component';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SuisIconComponent } from '../suis-icon/suis-icon.component';\nimport { SuisCheckboxBase } from '../../shared/classes/suis-checkbox.base';\n\n@Component({\n selector: 'suis-input-checkbox',\n standalone: true,\n imports: [NgIf, SuisLabelComponent, SuisIconComponent],\n templateUrl: './suis-input-checkbox.component.html',\n styleUrls: ['./suis-input-checkbox.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SuisInputCheckboxComponent),\n },\n ],\n})\nexport class SuisInputCheckboxComponent extends SuisCheckboxBase {}\n","<input\n #input\n type=\"checkbox\"\n class=\"suis-input-checkbox\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [value]=\"value\"\n [disabled]=\"readonly\"\n (input)=\"onChange($event)\"\n (focus)=\"onTouch()\"\n/>\n\n<suis-label\n class=\"suis-input-checkbox__label\"\n [class.suis-input-checkbox__label--invalid]=\"invalid\"\n [class.suis-input-checkbox__label--readonly]=\"readonly\"\n [for]=\"id\"\n [required]=\"required\"\n [pointer]=\"true\"\n [readonly]=\"readonly\"\n>\n <div\n [tabindex]=\"readonly ? -1 : 0\"\n class=\"suis-input-checkbox__check\"\n [class.suis-input-checkbox__check--invalid]=\"invalid\"\n [class.suis-input-checkbox__check--readonly]=\"readonly\"\n >\n <suis-icon\n *ngIf=\"value\"\n type=\"check\"\n size=\"lg\"\n [color]=\"readonly ? 'tertiary' : 'primary'\"\n ></suis-icon>\n </div>\n <ng-content></ng-content>\n</suis-label>\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostListener,\n Input,\n ViewChild,\n forwardRef,\n} from '@angular/core';\nimport { NgFor, NgIf } from '@angular/common';\nimport {\n FormControl,\n NG_VALUE_ACCESSOR,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { SuisChipComponent } from '../suis-chip';\nimport { SuisInputComponent } from '../suis-input';\nimport { SuisInputBase } from '../../shared/classes/suis-input.base';\nimport { SuisColor } from '../../types/suis-color.type';\n\n@Component({\n selector: 'suis-input-chips',\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n ReactiveFormsModule,\n SuisChipComponent,\n SuisInputComponent,\n ],\n templateUrl: './suis-input-chips.component.html',\n styleUrls: ['./suis-input-chips.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SuisInputChipsComponent),\n },\n ],\n})\nexport class SuisInputChipsComponent extends SuisInputBase {\n /** @internal */\n @ViewChild('input') inputEl?: ElementRef;\n\n /**\n * Placeholder text displayed in input. By default set to empty string.\n */\n @Input() placeholder: string = '';\n\n /**\n * Sets the color pallette of the chips. Type of SuisColor. By default set to 'primary'.\n */\n @Input() chipColor: SuisColor = 'primary';\n\n /**\n * Sets the color of the chips' cross icon. Type of SuisColor. By default set to 'white'.\n */\n @Input() chipIconColor: SuisColor = 'white';\n\n /** @internal */\n value: string[] = [];\n\n /** @internal */\n inputControl = new FormControl<string>('', { nonNullable: true });\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n writeValue(obj: string[]): void {\n this.value = obj || [];\n this._onChange(this.value);\n this.cdRef.markForCheck();\n }\n\n addItem(value: string): void {\n const values = value.split(',').filter((v) => !!v);\n this.value = this.value.concat(values);\n this._onChange(this.value);\n this.changed.emit(this.value);\n this.cdRef.markForCheck();\n }\n\n removeItem(value: string): void {\n this.value = this.value.filter((v) => v !== value);\n }\n\n submitValue() {\n const inputValue = this.inputControl.value;\n this.inputControl.reset();\n this.addItem(inputValue);\n }\n\n @HostListener('document:click', ['$event'])\n onDocumentClick(event: Event) {\n if (!this.inputEl?.nativeElement.contains(event.target)) this.submitValue();\n }\n}\n","<div class=\"suis-input-chips\">\n <div *ngIf=\"!readonly\" #input class=\"suis-input-chips__input\">\n <suis-input\n [id]=\"id\"\n [name]=\"name\"\n [formControl]=\"inputControl\"\n [readonly]=\"readonly\"\n [invalid]=\"invalid\"\n [placeholder]=\"placeholder\"\n (touched)=\"onTouch()\"\n (enterPressed)=\"submitValue()\"\n ></suis-input>\n </div>\n <div *ngIf=\"value.length\" class=\"suis-input-chips__chips\">\n <suis-chip\n [removable]=\"readonly ? false : true\"\n [color]=\"chipColor\"\n [iconColor]=\"chipIconColor\"\n (remove)=\"removeItem(item)\"\n *ngFor=\"let item of value\"\n >\n {{ item }}\n </suis-chip>\n </div>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Output,\n ViewChild,\n forwardRef,\n} from '@angular/core';\nimport { NgIf } from '@angular/common';\nimport { SuisInputBase } from '../../shared/classes/suis-input.base';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SuisIconComponent } from '../suis-icon/suis-icon.component';\n\n@Component({\n selector: 'suis-input-image',\n standalone: true,\n imports: [NgIf, SuisIconComponent],\n templateUrl: './suis-input-image.component.html',\n styleUrls: ['./suis-input-image.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SuisInputImageComponent),\n },\n ],\n})\nexport class SuisInputImageComponent extends SuisInputBase {\n /** @internal */\n @ViewChild('input') fileInput?: ElementRef;\n\n /**\n * Emits value on FileList upload.\n */\n @Output() uploaded = new EventEmitter<FileList>();\n\n /** @internal */\n value: FileList | null = null;\n\n /** @internal */\n imageUrl: string | null = null;\n\n override writeValue(obj: FormData | string): void {\n if (typeof obj === 'string') this.imageUrl = obj;\n this.cdRef.markForCheck();\n }\n\n onChange(event: Event): void {\n const target = event.target as HTMLInputElement;\n if (target.files) this.uploaded.emit(target.files);\n this.cdRef.markForCheck();\n }\n\n onRemove(): void {\n this.imageUrl = null;\n this.value = null;\n (this.fileInput?.nativeElement as HTMLInputElement).value = '';\n this._onChange(this.value);\n this.changed.emit(this.value);\n this.cdRef.markForCheck();\n }\n}\n","<div\n class=\"suis-input-image\"\n [class.suis-input-image--invalid]=\"invalid\"\n [class.suis-input-image--readonly]=\"readonly\"\n>\n <figure *ngIf=\"imageUrl\" class=\"suis-input-image__preview\">\n <img [src]=\"imageUrl\" alt=\"Uploaded image\" />\n <button type=\"button\" (click)=\"onRemove()\" [disabled]=\"readonly\">\n <suis-icon\n type=\"times\"\n color=\"danger\"\n size=\"md\"\n [filled]=\"true\"\n ></suis-icon>\n </button>\n </figure>\n <input\n #input\n type=\"file\"\n class=\"suis-input-image__input\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [disabled]=\"readonly\"\n (input)=\"onChange($event)\"\n (focus)=\"onTouch()\"\n />\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n forwardRef,\n} from '@angular/core';\nimport { SuisInputBase } from '../../shared/classes';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'suis-input-number',\n standalone: true,\n imports: [],\n templateUrl: './suis-input-number.component.html',\n styleUrls: ['./suis-input-number.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SuisInputNumberComponent),\n },\n ],\n})\nexport class SuisInputNumberComponent extends SuisInputBase {\n /**\n * Placeholder text displayed in input. By default set to empty string.\n */\n @Input() placeholder: string = '';\n\n /** @internal */\n value: number | null = null;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n override writeValue(obj: number | null): void {\n this.value = obj;\n this._onChange(this.value);\n this.cdRef.markForCheck();\n }\n\n onChange(event: Event): void {\n const target = event.target as HTMLInputElement;\n this.value = target.value ? Number(target.value) : null;\n this._onChange(this.value);\n this.changed.emit(this.value);\n this.cdRef.markForCheck();\n }\n}\n","<input\n type=\"number\"\n class=\"suis-input-number\"\n [class.suis-input-number--invalid]=\"invalid\"\n [class.suis-input-number--readonly]=\"readonly\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n [disabled]=\"readonly\"\n (input)=\"onChange($event)\"\n (focus)=\"onTouch()\"\n/>\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n ViewChild,\n forwardRef,\n} from '@angular/core';\nimport { SuisLabelComponent } from '../suis-label/suis-label.component';\nimport { NG_VALUE_ACCESSOR, RadioControlValueAccessor } from '@angular/forms';\n\n@Component({\n selector: 'suis-input-radio',\n standalone: true,\n imports: [SuisLabelComponent],\n templateUrl: './suis-input-radio.component.html',\n styleUrls: ['./suis-input-radio.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SuisInputRadioComponent),\n },\n ],\n})\nexport class SuisInputRadioComponent\n extends RadioControlValueAccessor\n implements AfterViewInit\n{\n /** @internal */\n @ViewChild('input') radioInput?: ElementRef;\n\n /**\n * Sets HTML id attribute of the input. By default is undefined.\n */\n @Input({ required: true }) id?: string;\n\n /**\n * Sets input disabled state. By default set to false.\n */\n @Input() readonly: boolean = false;\n\n /**\n * Adds invalid styling to the input. By default set to false.\n */\n @Input() invalid: boolean = false;\n\n /**\n * Sets input checked state to true. By default set to false.\n */\n @Input() default: boolean = false;\n\n ngAfterViewInit(): void {\n if (this.default)\n (this.radioInput?.nativeElement as HTMLInputElement).checked = true;\n }\n}\n","<input\n #input\n type=\"radio\"\n class=\"suis-input-radio\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [value]=\"value\"\n [disabled]=\"readonly\"\n/>\n\n<suis-label\n class=\"suis-input-radio__label\"\n [class.suis-input-radio__label--invalid]=\"invalid\"\n [class.suis-input-radio__label--readonly]=\"readonly\"\n [for]=\"id\"\n [pointer]=\"true\"\n [readonly]=\"readonly\"\n>\n <div\n [tabindex]=\"readonly ? -1 : 0\"\n class=\"suis-input-radio__circle\"\n [class.suis-input-radio__circle--invalid]=\"invalid\"\n [class.suis-input-radio__circle--readonly]=\"readonly\"\n >\n <div class=\"suis-input-radio__circle__fill\"></div>\n </div>\n <ng-content></ng-content>\n</suis-label>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'suis-item',\n standalone: true,\n imports: [],\n templateUrl: './suis-item.component.html',\n styleUrls: ['./suis-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisItemComponent {\n /**\n * Adds a padding around the content. By default set to true.\n */\n @Input() spacing: boolean = true;\n\n /**\n * Styles item as a header. By default set to false.\n */\n @Input() header: boolean = false;\n\n /**\n * Displays border bottom below the item. Does not effect header item. By default set to true.\n */\n @Input() divider: boolean = true;\n}\n","<div\n class=\"suis-item\"\n [class.suis-item--spacing]=\"spacing\"\n [class.suis-item--header]=\"header\"\n [class.suis-item--divider]=\"divider && !header\"\n>\n <ng-content></ng-content>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { NgClass, NgIf } from '@angular/common';\nimport { SuisNotification } from './suis-notification.interfaces';\nimport { SuisNgClassPipe } from '../../pipes';\nimport { SuisIconComponent } from '../suis-icon/suis-icon.component';\n\n@Component({\n selector: 'suis-notification',\n standalone: true,\n imports: [NgIf, NgClass, SuisNgClassPipe, SuisIconComponent],\n templateUrl: './suis-notification.component.html',\n styleUrls: ['./suis-notification.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisNotificationComponent {\n /**\n * Notification item data. Type of SuisNotification.\n */\n @Input({ required: true }) notification?: SuisNotification | null = null;\n\n /**\n * Emits on close button action.\n */\n @Output() closed = new EventEmitter<void>();\n\n onClose() {\n this.notification = null;\n this.closed.emit();\n }\n}\n","<div\n *ngIf=\"notification\"\n class=\"suis-notification\"\n [ngClass]=\"'suis-notification' | suisNgClass : notification.type\"\n>\n <div class=\"suis-notification__header\">\n <span>\n {{ notification.header }}\n </span>\n <button\n class=\"suis-notification__header__close\"\n type=\"button\"\n (click)=\"onClose()\"\n >\n <suis-icon type=\"times\" [color]=\"'white'\" [size]=\"'lg'\"></suis-icon>\n </button>\n </div>\n <div class=\"suis-notification__message\">\n {{ notification.message }}\n </div>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n Signal,\n inject,\n} from '@angular/core';\nimport { NgFor } from '@angular/common';\nimport { SuisNotification } from '../suis-notification/suis-notification.interfaces';\nimport { SuisNotificationComponent } from '../suis-notification/suis-notification.component';\nimport { SuisNotificationService } from '../../services/suis-notification.service';\n\n@Component({\n selector: 'suis-notifications',\n standalone: true,\n imports: [NgFor, SuisNotificationComponent],\n templateUrl: './suis-notifications.component.html',\n styleUrls: ['./suis-notifications.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisNotificationsComponent {\n private readonly notificationService = inject(SuisNotificationService);\n\n notifications: Signal<SuisNotification[]> =\n this.notificationService.getNotifications();\n\n remove(id: string): void {\n this.notificationService.forceRemoveNotification(id);\n }\n\n /** @internal */\n notificationTrackBy(index: number, notification: SuisNotification): string {\n return notification.id;\n }\n}\n","<suis-notification\n *ngFor=\"let notification of notifications(); trackBy: notificationTrackBy\"\n [notification]=\"notification\"\n (closed)=\"remove(notification.id)\"\n></suis-notification>\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n standalone: true,\n name: 'suisPaginationPage',\n})\nexport class SuisPaginationPagePipe implements PipeTransform {\n transform(\n ofLabel: string,\n page: number,\n perPage: number,\n totalItems: number\n ): string {\n if (totalItems <= 0) return `1 ${ofLabel} 1`;\n\n const maxPage = Math.ceil(totalItems / perPage);\n\n return `${page} ${ofLabel} ${maxPage}`;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n standalone: true,\n name: 'suisPaginationItems',\n})\nexport class SuisPaginationItemsPipe implements PipeTransform {\n transform(\n ofLabel: string,\n page: number,\n perPage: number,\n totalItems: number,\n itemsLabel: string\n ): string {\n if (totalItems <= 0) return `0-0 ${ofLabel} 0 ${itemsLabel}`;\n\n const minItem = page * perPage - perPage + 1;\n const maxItem = page * perPage > totalItems ? totalItems : page * perPage;\n\n return `${minItem}-${maxItem} ${ofLabel} ${totalItems} ${itemsLabel}`;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { SuisSelectOption } from '../interfaces/suis-select-option.interfaces';\n\n@Pipe({\n standalone: true,\n name: 'suisSelectLabel',\n})\nexport class SuisSelectLabelPipe<T> implements PipeTransform {\n transform(\n value: T,\n options: SuisSelectOption[],\n placeholder: string,\n optionValue: string,\n optionLabel: string\n ): string {\n if (!value) return placeholder;\n const selectedOption = options.find(\n (option) => JSON.stringify(option[optionValue]) === JSON.stringify(value)\n );\n if (!selectedOption) {\n console.warn(\n '[SuisSelectLabelPipe] Provided value does not belong to valid values'\n );\n return JSON.stringify(value);\n }\n return selectedOption[optionLabel];\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n standalone: true,\n name: 'suisSelectIsSelected',\n})\nexport class SuisSelectIsSelectedPipe<T> implements PipeTransform {\n transform(optionValue: T, value: T): boolean {\n return JSON.stringify(optionValue) === JSON.stringify(value);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\nimport { SuisSelectOption } from '../../interfaces/suis-select-option.interfaces';\nimport { SuisIconComponent } from '../../../../components/suis-icon/suis-icon.component';\n\n@Component({\n selector: 'suis-select-option',\n standalone: true,\n imports: [NgIf, NgTemplateOutlet, SuisIconComponent],\n templateUrl: './suis-select-option.component.html',\n styleUrls: ['./suis-select-option.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisSelectOptionComponent {\n /**\n * Option data. Type of SuisSelectOption. Required input.\n */\n @Input({ required: true }) option?: SuisSelectOption;\n\n /**\n * Template to be displayed instead of option's label.\n */\n @Input() templateRef?: TemplateRef<{ $implicit: SuisSelectOption }>;\n\n /**\n * Option value property name in options. By default set to 'value'.\n */\n @Input() optionValue: string = 'value';\n\n /**\n * Option label property name in options. By default set to 'label'.\n */\n @Input() optionLabel: string = 'label';\n\n /**\n * Adds checkmark icon to checkbox (if checkbox input set to true). By default set to false.\n */\n @Input() selected: boolean = false;\n\n /**\n * Display checkbox next to option label. By default set to true.\n */\n @Input() checkbox: boolean = true;\n\n /**\n * Emits on option selected.\n */\n @Output() clicked = new EventEmitter<void>();\n\n /** @internal */\n onClick(): void {\n this.clicked.emit();\n }\n}\n","<button\n class=\"suis-select-option\"\n type=\"button\"\n tabindex=\"-1\"\n (click)=\"onClick()\"\n>\n <span\n class=\"suis-select-option__checkbox\"\n [class.suis-select-option__checkbox--selected]=\"selected\"\n *ngIf=\"checkbox\"\n >\n <suis-icon\n *ngIf=\"selected\"\n [bold]=\"true\"\n color=\"primary\"\n type=\"check\"\n size=\"sm\"\n ></suis-icon>\n </span>\n <span class=\"suis-select-option__label\">\n <ng-container *ngIf=\"templateRef; else label\">\n <ng-container\n *ngTemplateOutlet=\"templateRef; context: { $implicit: option }\"\n ></ng-container>\n </ng-container>\n <ng-template #label>\n {{ option ? option[optionLabel] : '' }}\n </ng-template>\n </span>\n</button>\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { SuisSelectOption } from '../interfaces/suis-select-option.interfaces';\nimport { SuisSortOptional } from '../../../types';\n\n@Pipe({\n standalone: true,\n name: 'suisSelectSortOptions',\n})\nexport class SuisSelectSortOptionsPipe implements PipeTransform {\n transform(\n options: SuisSelectOption[],\n optionLabel: string,\n sortOptions: SuisSortOptional\n ): SuisSelectOption[] {\n switch (sortOptions) {\n case 'asc':\n return options.sort((a, b) =>\n a[optionLabel].localeCompare(b[optionLabel])\n );\n case 'desc':\n return options.sort((a, b) =>\n b[optionLabel].localeCompare(a[optionLabel])\n );\n default:\n return options;\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { SuisSelectOption } from '../interfaces/suis-select-option.interfaces';\n\n@Pipe({\n standalone: true,\n name: 'suisSelectFilterOptions',\n})\nexport class SuisSelectFilterOptionsPipe implements PipeTransform {\n transform(\n options: SuisSelectOption[],\n phrase: string,\n optionLabel: string\n ): SuisSelectOption[] {\n if (!phrase) return options;\n return options.filter((option) =>\n option[optionLabel]\n .toLocaleLowerCase()\n .includes(phrase.toLocaleLowerCase())\n );\n }\n}\n","import { Directive, EventEmitter, Input, Output } from '@angular/core';\n\n@Directive()\nexport abstract class SuisSelectButtonBase {\n /**\n * Sets the readonly state of select button. By default set to false.\n */\n @Input() readonly: boolean = false;\n\n /**\n * Sets the invalid state of select button. By default set to false.\n */\n @Input() invalid: boolean = false;\n\n /**\n * Allows to clear the select value by using cross icon in button. By default set to false.\n */\n @Input() clearable: boolean = false;\n\n /**\n * Indicates if select content is expanded and styles chevron accordingly. By default set to false.\n */\n @Input() expanded: boolean = false;\n\n /**\n * Emits on button click.\n */\n @Output() expandedChange = new EventEmitter<void>();\n\n /**\n * Emits on button cross icon click.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Output() cleared = new EventEmitter<any>();\n\n onExpand(): void {\n this.expandedChange.emit();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onClear(event: any): void {\n this.cleared.emit(event);\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SuisIconComponent } from '../../../../components/suis-icon/suis-icon.component';\nimport { SuisSelectButtonBase } from '../../classes/suis-select-button.base';\n\n@Component({\n selector: 'suis-select-button',\n standalone: true,\n imports: [CommonModule, SuisIconComponent],\n templateUrl: './suis-select-button.component.html',\n styleUrls: ['./suis-select-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisSelectButtonComponent extends SuisSelectButtonBase {}\n","<button\n type=\"button\"\n (click)=\"onExpand()\"\n class=\"suis-select-button\"\n [class.suis-select-button--invalid]=\"invalid\"\n [class.suis-select-button--readonly]=\"readonly\"\n [disabled]=\"readonly\"\n>\n <span class=\"suis-select-button__value\">\n <ng-content></ng-content>\n </span>\n <span class=\"suis-select-button__actions\">\n <suis-icon\n *ngIf=\"clearable && !readonly\"\n class=\"suis-select-button__cross\"\n type=\"times\"\n size=\"lg\"\n color=\"primary\"\n (click)=\"onClear($event)\"\n ></suis-icon>\n <suis-icon\n class=\"suis-select-button__chevron\"\n [type]=\"expanded ? 'chevron-up' : 'chevron-down'\"\n size=\"lg\"\n color=\"primary\"\n ></suis-icon>\n </span>\n</button>\n","import { Directive, TemplateRef, inject } from '@angular/core';\nimport { SuisSelectOption } from '../interfaces/suis-select-option.interfaces';\n\n@Directive({\n selector: '[suisSelectOption]',\n standalone: true,\n})\nexport class SuisSelectOptionDirective {\n /**\n * Custom template of the option.\n */\n public readonly templateRef = inject(\n TemplateRef<{ $implicit: SuisSelectOption }>\n );\n}\n","import {\n ContentChild,\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { SuisInputBase } from '../../../shared/classes/suis-input.base';\nimport { SuisSelectOption } from '../interfaces/suis-select-option.interfaces';\nimport { SuisSelectOptionDirective } from '../directives/suis-select-option.directive';\nimport { SuisSortOptional } from '../../../types/suis-sort.type';\n\n@Directive()\nexport abstract class SuisSelectBase<T> extends SuisInputBase {\n /** @internal */\n @ContentChild(SuisSelectOptionDirective)\n suisSelectOption?: SuisSelectOptionDirective;\n\n /** @internal */\n @ViewChild('searchInput', { static: false })\n searchInput?: ElementRef;\n\n /** @internal */\n protected searchPhrase: string = '';\n\n /** @internal */\n protected expanded: boolean = false; // TODO: Remove\n\n /**\n * Options displayed in dropdown list. Type of SuisSelectOption[].\n */\n @Input() options: SuisSelectOption[] = [];\n\n /**\n * Defines way of sorting options. Type of SuisSortOptional. By default set to 'asc'.\n */\n @Input() sortOptions: SuisSortOptional = 'asc';\n\n /**\n * Displays search input above options. By default set to true.\n */\n @Input() search: boolean = true;\n\n /**\n * Placeholder text displayed in options search. By default set to 'Search...'.\n */\n @Input() searchPlaceholder: string = 'Search...';\n\n /**\n * Placeholder text displayed when value is not selected. By default set to 'Select option...'.\n */\n @Input() placeholder: string = 'Select option...';\n\n /**\n * Option value property name in options. By default set to 'value'.\n */\n @Input() optionValue: string = 'value';\n\n /**\n * Option label property name in options. By default set to 'label'.\n */\n @Input() optionLabel: string = 'label';\n\n /**\n * Emits on search phrase changed.\n */\n @Output() searchPhraseChanged = new EventEmitter<string>();\n\n abstract onSelect(value: T): void;\n\n abstract clearValue(): void;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n abstract setValue(value: any): void;\n\n onClear(event: Event): void {\n this.clearValue();\n event.stopPropagation();\n }\n\n onSearchPhraseChange(text: string): void {\n this.searchPhrase = text;\n this.searchPhraseChanged.emit(text);\n }\n\n onExpand(): void {\n this.toggle(!this.expanded);\n this.onTouch();\n }\n\n toggle(value: boolean): void {\n this.expanded = value;\n this.searchPhrase = '';\n if (this.expanded)\n setTimeout(() => {\n this.searchInput?.nativeElement.focus();\n }, 0);\n }\n\n @HostListener('document:click', ['$event'])\n onDocumentClick(event: Event): void {\n if (!this.elRef.nativeElement.contains(event.target)) {\n this.expanded = false;\n }\n }\n\n /** @internal */\n optionTrackBy(index: number, option: SuisSelectOption): string {\n return `${JSON.stringify(option[this.optionValue])}`;\n }\n}\n","import { Directive, Input } from '@angular/core';\nimport { SuisSelectBase } from './suis-select.base';\n\n@Directive()\nexport abstract class SuisSelectSingleBase<T> extends SuisSelectBase<T> {\n /** @internal */\n value: T | null = null;\n\n /**\n * Allows mechanism of clearing value. By default set to true.\n */\n @Input() nullable: boolean = true;\n\n override writeValue(obj: T): void {\n this.value = obj;\n this._onChange(this.value);\n this.cdRef.markForCheck();\n }\n\n override onSelect(value: T) {\n if (JSON.stringify(this.value) === JSON.stringify(value)) {\n if (this.nullable) this.clearValue();\n } else {\n this.setValue(value);\n }\n }\n\n override clearValue() {\n this.setValue(null);\n }\n\n override setValue(value: T | null) {\n this.value = value;\n this.toggle(false);\n this._onChange(this.value);\n this.changed.emit();\n this.cdRef.markForCheck();\n }\n}\n","import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core';\nimport { NgFor, NgIf } from '@angular/common';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SuisSelectLabelPipe } from '../../pipes/suis-select-label.pipe';\nimport { SuisSelectIsSelectedPipe } from '../../pipes/suis-select-is-selected.pipe';\nimport { SuisSelectOptionComponent } from '../suis-select-option/suis-select-option.component';\nimport { SuisSelectSortOptionsPipe } from '../../pipes/suis-select-sort-options.pipe';\nimport { SuisSelectFilterOptionsPipe } from '../../pipes/suis-select-filter-options.pipe';\nimport { SuisSelectButtonComponent } from '../suis-select-button/suis-select-button.component';\nimport { SuisSelectSingleBase } from '../../classes/suis-select-single.base';\n\n@Component({\n selector: 'suis-select',\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n FormsModule,\n SuisSelectOptionComponent,\n SuisSelectButtonComponent,\n SuisSelectLabelPipe,\n SuisSelectIsSelectedPipe,\n SuisSelectSortOptionsPipe,\n SuisSelectFilterOptionsPipe,\n ],\n templateUrl: './suis-select.component.html',\n styleUrls: ['./suis-select.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SuisSelectComponent),\n },\n ],\n})\nexport class SuisSelectComponent<T> extends SuisSelectSingleBase<T> {}\n","<div class=\"suis-select\">\n <suis-select-button\n [invalid]=\"invalid\"\n [readonly]=\"readonly\"\n [clearable]=\"!!(nullable && value)\"\n [expanded]=\"expanded\"\n (expandedChange)=\"onExpand()\"\n (cleared)=\"onClear($event)\"\n >\n {{\n value\n | suisSelectLabel : options : placeholder : optionValue : optionLabel\n }}\n </suis-select-button>\n <div *ngIf=\"expanded\" class=\"suis-select__list\">\n <input\n #searchInput\n *ngIf=\"search\"\n [ngModel]=\"searchPhrase\"\n (ngModelChange)=\"onSearchPhraseChange($event)\"\n class=\"suis-select__list__search\"\n type=\"search\"\n [placeholder]=\"searchPlaceholder\"\n />\n <suis-select-option\n *ngFor=\"\n let option of options\n | suisSelectSortOptions : optionLabel : sortOptions\n | suisSelectFilterOptions : searchPhrase : optionLabel;\n trackBy: optionTrackBy\n \"\n [option]=\"option\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue\"\n [templateRef]=\"suisSelectOption?.templateRef\"\n [selected]=\"option[optionValue] | suisSelectIsSelected : value\"\n (clicked)=\"onSelect(option[optionValue])\"\n ></suis-select-option>\n </div>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n TemplateRef,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SuisSelectGroupOption } from '../../interfaces/suis-select-group-option.interfaces';\n\n@Component({\n selector: 'suis-select-group-option',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './suis-select-group-option.component.html',\n styleUrls: ['./suis-select-group-option.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisSelectGroupOptionComponent {\n /**\n * Item data. Type of SuisSelectGroupOption. Required input.\n */\n @Input({ required: true }) option?: SuisSelectGroupOption;\n\n /**\n * Template to be displayed instead of item's label.\n */\n @Input() templateRef?: TemplateRef<{ $implicit: SuisSelectGroupOption }>;\n}\n","<div class=\"suis-select-group-option\">\n <ng-container *ngIf=\"templateRef; else label\">\n <ng-container\n *ngTemplateOutlet=\"templateRef; context: { $implicit: option }\"\n ></ng-container>\n </ng-container>\n <ng-template #label>\n {{ option?.label }}\n </ng-template>\n</div>\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { SuisSelectGroupOption } from '../interfaces/suis-select-group-option.interfaces';\n\n@Pipe({\n standalone: true,\n name: 'suisSelectFilterGroupOptions',\n})\nexport class SuisSelectFilterGroupOptionsPipe implements PipeTransform {\n transform(\n groupOptions: SuisSelectGroupOption[],\n phrase: string,\n optionLabel: string\n ): SuisSelectGroupOption[] {\n if (!phrase) return groupOptions;\n return groupOptions.filter((groupOption) =>\n groupOption.children.some((option) =>\n option[optionLabel]\n .toLocaleLowerCase()\n .includes(phrase.toLocaleLowerCase())\n )\n );\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { SuisSelectGroupOption } from '../interfaces/suis-select-group-option.interfaces';\n\n@Pipe({\n standalone: true,\n name: 'suisSelectGroupLabel',\n})\nexport class SuisSelectGroupLabelPipe<T> implements PipeTransform {\n transform(\n value: T,\n groupOptions: SuisSelectGroupOption[],\n placeholder: string,\n optionValue: string,\n optionLabel: string\n ): string {\n if (!value) return placeholder;\n const options = groupOptions.map((go) => go.children).flat();\n const selectedOption = options.find(\n (option) => JSON.stringify(option[optionValue]) === JSON.stringify(value)\n );\n if (!selectedOption) {\n console.warn(\n '[SuisSelectGroupLabelPipe] Provided value does not belong to valid values'\n );\n return JSON.stringify(value);\n }\n return selectedOption[optionLabel];\n }\n}\n","import { Directive, TemplateRef, inject } from '@angular/core';\nimport { SuisSelectGroupOption } from '../interfaces/suis-select-group-option.interfaces';\n\n@Directive({\n selector: '[suisSelectGroupOption]',\n standalone: true,\n})\nexport class SuisSelectGroupOptionDirective {\n /**\n * Custom template of the group option.\n */\n public readonly templateRef = inject(\n TemplateRef<{ $implicit: SuisSelectGroupOption }>\n );\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { SuisSelectGroupOption } from '../interfaces/suis-select-group-option.interfaces';\nimport { SuisSortOptional } from '../../../types/suis-sort.type';\n\n@Pipe({\n standalone: true,\n name: 'suisSelectSortGroupOptions',\n})\nexport class SuisSelectSortGroupOptionsPipe implements PipeTransform {\n transform(\n options: SuisSelectGroupOption[],\n sortOptions: SuisSortOptional\n ): SuisSelectGroupOption[] {\n switch (sortOptions) {\n case 'asc':\n return options.sort((a, b) => a.label.localeCompare(b.label));\n case 'desc':\n return options.sort((a, b) => b.label.localeCompare(a.label));\n default:\n return options;\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n Input,\n forwardRef,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SuisSelectOptionComponent } from '../suis-select-option/suis-select-option.component';\nimport { SuisSelectGroupOptionComponent } from '../suis-select-group-option/suis-select-group-option.component';\nimport { SuisSelectIsSelectedPipe } from '../../pipes/suis-select-is-selected.pipe';\nimport { SuisSelectSortOptionsPipe } from '../../pipes/suis-select-sort-options.pipe';\nimport { SuisSelectFilterOptionsPipe } from '../../pipes/suis-select-filter-options.pipe';\nimport { SuisSelectFilterGroupOptionsPipe } from '../../pipes/suis-select-filter-group-options.pipe';\nimport { SuisSelectGroupLabelPipe } from '../../pipes/suis-select-group-label.pipe';\nimport { SuisSelectSingleBase } from '../../classes/suis-select-single.base';\nimport { SuisSelectGroupOptionDirective } from '../../directives/suis-select-group-option.directive';\nimport { SuisSelectGroupOption } from '../../interfaces/suis-select-group-option.interfaces';\nimport { SuisSelectButtonComponent } from '../suis-select-button';\nimport { SuisSelectSortGroupOptionsPipe } from '../../pipes/suis-select-sort-group-options.pipe';\n\n@Component({\n selector: 'suis-select-group',\n standalone: true,\n templateUrl: './suis-select-group.component.html',\n styleUrls: ['./suis-select-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n SuisSelectOptionComponent,\n SuisSelectGroupOptionComponent,\n SuisSelectIsSelectedPipe,\n SuisSelectSortOptionsPipe,\n SuisSelectFilterOptionsPipe,\n SuisSelectFilterGroupOptionsPipe,\n SuisSelectGroupLabelPipe,\n SuisSelectButtonComponent,\n SuisSelectSortGroupOptionsPipe,\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SuisSelectGroupComponent),\n },\n ],\n})\nexport class SuisSelectGroupComponent<T> extends SuisSelectSingleBase<T> {\n /** @internal */\n @ContentChild(SuisSelectGroupOptionDirective)\n suisSelectGroupOption?: SuisSelectGroupOptionDirective;\n\n /**\n * Group options displayed in dropdown list. Type of SuisSelectGroupOption[].\n */\n @Input() groupOptions: SuisSelectGroupOption[] = [];\n}\n","<div class=\"suis-select-group\">\n <suis-select-button\n [invalid]=\"invalid\"\n [readonly]=\"readonly\"\n [clearable]=\"!!(nullable && value)\"\n [expanded]=\"expanded\"\n (expandedChange)=\"onExpand()\"\n (cleared)=\"onClear($event)\"\n >\n {{\n value\n | suisSelectGroupLabel\n : groupOptions\n : placeholder\n : optionValue\n : optionLabel\n }}\n </suis-select-button>\n <div *ngIf=\"expanded\" class=\"suis-select-group__list\">\n <input\n #searchInput\n *ngIf=\"search\"\n [ngModel]=\"searchPhrase\"\n (ngModelChange)=\"onSearchPhraseChange($event)\"\n class=\"suis-select-group__list__search\"\n type=\"search\"\n [placeholder]=\"searchPlaceholder\"\n />\n <ng-container\n *ngFor=\"\n let group of groupOptions\n | suisSelectSortGroupOptions : sortOptions\n | suisSelectFilterGroupOptions : searchPhrase : optionLabel\n \"\n >\n <suis-select-group-option\n [option]=\"group\"\n [templateRef]=\"suisSelectGroupOption?.templateRef\"\n ></suis-select-group-option>\n <suis-select-option\n *ngFor=\"\n let option of group.children\n | suisSelectSortOptions : optionLabel : sortOptions\n | suisSelectFilterOptions : searchPhrase : optionLabel;\n trackBy: optionTrackBy\n \"\n [option]=\"option\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue\"\n [templateRef]=\"suisSelectOption?.templateRef\"\n [selected]=\"option[optionValue] | suisSelectIsSelected : value\"\n (clicked)=\"onSelect(option[optionValue])\"\n ></suis-select-option>\n </ng-container>\n </div>\n</div>\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { SuisSelectOption } from '../interfaces/suis-select-option.interfaces';\n\n@Pipe({\n standalone: true,\n name: 'suisSelectMultiChips',\n})\nexport class SuisSelectMultiChipsPipe<T> implements PipeTransform {\n transform(\n values: T[],\n options: SuisSelectOption[],\n optionValue: string,\n optionLabel: string\n ): string[] {\n const selectedOptions: string[] = [];\n\n values.forEach((value) => {\n const selectedOption = options.find(\n (option) =>\n JSON.stringify(option[optionValue]) === JSON.stringify(value)\n );\n if (!selectedOption)\n throw Error(\n '[SuisSelectMultiChips] Provided value does not belong to valid values'\n );\n selectedOptions.push(selectedOption[optionLabel]);\n });\n\n return selectedOptions;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n standalone: true,\n name: 'suisSelectMultiIsSelected',\n})\nexport class SuisSelectMultiIsSelectedPipe<T> implements PipeTransform {\n transform(optionValue: T, values: T[]): boolean {\n return values.some(\n (value) => JSON.stringify(value) === JSON.stringify(optionValue)\n );\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SuisIconComponent } from '../../../../components/suis-icon/suis-icon.component';\nimport { SuisChipComponent } from '../../../../components/suis-chip/suis-chip.component';\nimport { SuisSelectButtonBase } from '../../classes/suis-select-button.base';\n\n@Component({\n selector: 'suis-select-button-multi',\n standalone: true,\n imports: [CommonModule, SuisIconComponent, SuisChipComponent],\n templateUrl: './suis-select-button-multi.component.html',\n styleUrls: ['./suis-select-button-multi.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisSelectButtonMultiComponent extends SuisSelectButtonBase {}\n","<button\n type=\"button\"\n (click)=\"onExpand()\"\n class=\"suis-select-button-multi\"\n [class.suis-select-button-multi--invalid]=\"invalid\"\n [class.suis-select-button-multi--readonly]=\"readonly\"\n [class.suis-select-button-multi--valid]=\"clearable\"\n [disabled]=\"readonly\"\n>\n <span class=\"suis-select-button-multi__value\">\n <ng-content></ng-content>\n </span>\n <span class=\"suis-select-button-multi__actions\">\n <suis-icon\n *ngIf=\"clearable && !readonly\"\n class=\"suis-select-button-multi__cross\"\n type=\"times\"\n size=\"lg\"\n color=\"primary\"\n (click)=\"onClear($event)\"\n tabindex=\"0\"\n ></suis-icon>\n <suis-icon\n class=\"suis-select-button-multi__chevron\"\n [type]=\"expanded ? 'chevron-up' : 'chevron-down'\"\n size=\"lg\"\n color=\"primary\"\n tabindex=\"0\"\n ></suis-icon>\n </span>\n</button>\n","import { Directive, Input } from '@angular/core';\nimport { SuisSelectBase } from './suis-select.base';\nimport { SuisColor } from '../../../types/suis-color.type';\n\n@Directive()\nexport abstract class SuisSelectMultiBase<T> extends SuisSelectBase<T> {\n /** @internal */\n values: T[] = [];\n\n /**\n * Allows to select duplicated values and remove checkboxes next to options' label. By default set to false.\n */\n @Input() duplicate: boolean = false;\n\n /**\n * Sets the color pallette of the chips. Type of SuisColor. By default set to 'primary'.\n */\n @Input() chipColor: SuisColor = 'primary';\n\n /**\n * Sets the color of the chips' cross icon. Type of SuisColor. By default set to 'white'.\n */\n @Input() chipIconColor: SuisColor = 'white';\n\n override writeValue(obj: T[]): void {\n this.values = obj;\n this._onChange(this.values);\n this.cdRef.markForCheck();\n }\n\n override onSelect(value: T): void {\n if (\n this.duplicate ||\n !this.values.some((v) => JSON.stringify(v) === JSON.stringify(value))\n ) {\n this.setValue([...this.values, value]);\n } else {\n this.setValue([\n ...this.values.filter(\n (v) => JSON.stringify(v) !== JSON.stringify(value)\n ),\n ]);\n }\n this.searchPhrase = '';\n }\n\n onRemove(index: number): void {\n const values = [...this.values];\n values.splice(index, 1);\n this.setValue([...values]);\n }\n\n override clearValue(): void {\n this.setValue([]);\n this.toggle(false);\n }\n\n override setValue(value: T[]): void {\n this.values = value;\n this._onChange(this.values);\n this.changed.emit();\n this.cdRef.markForCheck();\n }\n}\n","import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core';\nimport { NgFor, NgIf } from '@angular/common';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SuisSelectSortOptionsPipe } from '../../pipes/suis-select-sort-options.pipe';\nimport { SuisSelectOptionComponent } from '../suis-select-option/suis-select-option.component';\nimport { SuisChipComponent } from '../../../../components/suis-chip/suis-chip.component';\nimport { SuisSelectMultiChipsPipe } from '../../pipes/suis-select-multi-chips.pipe';\nimport { SuisSelectMultiIsSelectedPipe } from '../../pipes/suis-select-multi-is-selected.pipe';\nimport { SuisSelectFilterOptionsPipe } from '../../pipes/suis-select-filter-options.pipe';\nimport { SuisSelectButtonMultiComponent } from '../suis-select-button-multi/suis-select-button-multi.component';\nimport { SuisSelectMultiBase } from '../../classes/suis-select-multi.base';\n\n@Component({\n selector: 'suis-select-multi',\n standalone: true,\n imports: [\n NgFor,\n NgIf,\n FormsModule,\n SuisChipComponent,\n SuisSelectOptionComponent,\n SuisSelectMultiChipsPipe,\n SuisSelectMultiIsSelectedPipe,\n SuisSelectSortOptionsPipe,\n SuisSelectFilterOptionsPipe,\n SuisSelectButtonMultiComponent,\n ],\n templateUrl: './suis-select-multi.component.html',\n styleUrls: ['./suis-select-multi.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SuisSelectMultiComponent),\n },\n ],\n})\nexport class SuisSelectMultiComponent<T> extends SuisSelectMultiBase<T> {}\n","<div class=\"suis-select-multi\">\n <suis-select-button-multi\n [invalid]=\"invalid\"\n [readonly]=\"readonly\"\n [expanded]=\"expanded\"\n [clearable]=\"values.length > 0\"\n (expandedChange)=\"onExpand()\"\n (cleared)=\"onClear($event)\"\n >\n <ng-container *ngIf=\"!values?.length\">\n {{ placeholder }}\n </ng-container>\n <ng-container *ngIf=\"values?.length\">\n <suis-chip\n *ngFor=\"\n let value of values\n | suisSelectMultiChips : options : optionValue : optionLabel;\n let index = index\n \"\n [removable]=\"true\"\n [color]=\"chipColor\"\n [iconColor]=\"chipIconColor\"\n (remove)=\"onRemove(index)\"\n >\n {{ value }}\n </suis-chip>\n </ng-container>\n </suis-select-button-multi>\n <div *ngIf=\"expanded\" class=\"suis-select-multi__list\">\n <input\n #searchInput\n *ngIf=\"search\"\n [ngModel]=\"searchPhrase\"\n (ngModelChange)=\"onSearchPhraseChange($event)\"\n class=\"suis-select-multi__list__search\"\n type=\"search\"\n [placeholder]=\"searchPlaceholder\"\n />\n <suis-select-option\n *ngFor=\"\n let option of options\n | suisSelectSortOptions : optionLabel : sortOptions\n | suisSelectFilterOptions : searchPhrase : optionLabel;\n trackBy: optionTrackBy\n \"\n [option]=\"option\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue\"\n [templateRef]=\"suisSelectOption?.templateRef\"\n [selected]=\"option[optionValue] | suisSelectMultiIsSelected : values\"\n [checkbox]=\"!duplicate\"\n (clicked)=\"onSelect(option[optionValue])\"\n ></suis-select-option>\n </div>\n</div>\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { SuisSelectGroupOption } from '../interfaces/suis-select-group-option.interfaces';\n\n@Pipe({\n standalone: true,\n name: 'suisSelectMultiGroupChips',\n})\nexport class SuisSelectMultiGroupChipsPipe<T> implements PipeTransform {\n transform(\n values: T[],\n groupOptions: SuisSelectGroupOption[],\n optionValue: string,\n optionLabel: string\n ): string[] {\n const selectedOptions: string[] = [];\n const options = groupOptions.map((go) => go.children).flat();\n\n values.forEach((value) => {\n const selectedOption = options.find(\n (option) =>\n JSON.stringify(option[optionValue]) === JSON.stringify(value)\n );\n if (!selectedOption)\n throw Error(\n '[SuisSelectMultiGroupChips] Provided value does not belong to valid values'\n );\n selectedOptions.push(selectedOption[optionLabel]);\n });\n\n return selectedOptions;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n Input,\n forwardRef,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SuisChipComponent } from '../../../../components/suis-chip/suis-chip.component';\nimport { SuisSelectMultiBase } from '../../classes/suis-select-multi.base';\nimport { SuisSelectGroupOption } from '../../interfaces/suis-select-group-option.interfaces';\nimport { SuisSelectGroupOptionDirective } from '../../directives/suis-select-group-option.directive';\nimport { SuisSelectButtonMultiComponent } from '../suis-select-button-multi/suis-select-button-multi.component';\nimport { SuisSelectOptionComponent } from '../suis-select-option';\nimport { SuisSelectGroupOptionComponent } from '../suis-select-group-option';\nimport { SuisSelectSortOptionsPipe } from '../../pipes/suis-select-sort-options.pipe';\nimport { SuisSelectMultiGroupChipsPipe } from '../../pipes/suis-select-multi-group-chips.pipe';\nimport { SuisSelectFilterGroupOptionsPipe } from '../../pipes/suis-select-filter-group-options.pipe';\nimport { SuisSelectMultiIsSelectedPipe } from '../../pipes/suis-select-multi-is-selected.pipe';\nimport { SuisSelectFilterOptionsPipe } from '../../pipes/suis-select-filter-options.pipe';\nimport { SuisSelectSortGroupOptionsPipe } from '../../pipes/suis-select-sort-group-options.pipe';\n\n@Component({\n selector: 'suis-select-multi-group',\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n SuisChipComponent,\n SuisSelectButtonMultiComponent,\n SuisSelectOptionComponent,\n SuisSelectGroupOptionComponent,\n SuisSelectSortOptionsPipe,\n SuisSelectMultiGroupChipsPipe,\n SuisSelectFilterOptionsPipe,\n SuisSelectFilterGroupOptionsPipe,\n SuisSelectMultiIsSelectedPipe,\n SuisSelectSortGroupOptionsPipe,\n ],\n templateUrl: './suis-select-multi-group.component.html',\n styleUrls: ['./suis-select-multi-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SuisSelectMultiGroupComponent),\n },\n ],\n})\nexport class SuisSelectMultiGroupComponent<T> extends SuisSelectMultiBase<T> {\n /** @internal */\n @ContentChild(SuisSelectGroupOptionDirective)\n suisSelectGroupOption?: SuisSelectGroupOptionDirective;\n\n /**\n * Group options displayed in dropdown list. Type of SuisSelectGroupOption[].\n */\n @Input() groupOptions: SuisSelectGroupOption[] = [];\n}\n","<div class=\"suis-select-multi-group\">\n <suis-select-button-multi\n [invalid]=\"invalid\"\n [readonly]=\"readonly\"\n [expanded]=\"expanded\"\n [clearable]=\"values.length > 0\"\n (expandedChange)=\"onExpand()\"\n (cleared)=\"onClear($event)\"\n >\n <ng-container *ngIf=\"!values?.length\">\n {{ placeholder }}\n </ng-container>\n <ng-container *ngIf=\"values?.length\">\n <suis-chip\n *ngFor=\"\n let value of values\n | suisSelectMultiGroupChips\n : groupOptions\n : optionValue\n : optionLabel;\n let index = index\n \"\n [removable]=\"true\"\n [color]=\"chipColor\"\n [iconColor]=\"chipIconColor\"\n (remove)=\"onRemove(index)\"\n >\n {{ value }}\n </suis-chip>\n </ng-container>\n </suis-select-button-multi>\n <div *ngIf=\"expanded\" class=\"suis-select-multi-group__list\">\n <input\n #searchInput\n *ngIf=\"search\"\n [ngModel]=\"searchPhrase\"\n (ngModelChange)=\"onSearchPhraseChange($event)\"\n class=\"suis-select-multi-group__list__search\"\n type=\"search\"\n [placeholder]=\"searchPlaceholder\"\n />\n <ng-container\n *ngFor=\"\n let group of groupOptions\n | suisSelectSortGroupOptions : sortOptions\n | suisSelectFilterGroupOptions : searchPhrase : optionLabel\n \"\n >\n <suis-select-group-option\n [option]=\"group\"\n [templateRef]=\"suisSelectGroupOption?.templateRef\"\n ></suis-select-group-option>\n <suis-select-option\n *ngFor=\"\n let option of group.children\n | suisSelectSortOptions : optionLabel : sortOptions\n | suisSelectFilterOptions : searchPhrase : optionLabel;\n trackBy: optionTrackBy\n \"\n [option]=\"option\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue\"\n [templateRef]=\"suisSelectOption?.templateRef\"\n [selected]=\"option[optionValue] | suisSelectMultiIsSelected : values\"\n [checkbox]=\"!duplicate\"\n (clicked)=\"onSelect(option[optionValue])\"\n ></suis-select-option>\n </ng-container>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { SuisSelectComponent } from './components/suis-select/suis-select.component';\nimport { SuisSelectGroupComponent } from './components/suis-select-group/suis-select-group.component';\nimport { SuisSelectMultiComponent } from './components/suis-select-multi/suis-select-multi.component';\nimport { SuisSelectMultiGroupComponent } from './components/suis-select-multi-group/suis-select-multi-group.component';\nimport { SuisSelectOptionDirective } from './directives/suis-select-option.directive';\nimport { SuisSelectGroupOptionDirective } from './directives/suis-select-group-option.directive';\n\n@NgModule({\n imports: [\n SuisSelectComponent,\n SuisSelectGroupComponent,\n SuisSelectMultiComponent,\n SuisSelectMultiGroupComponent,\n SuisSelectOptionDirective,\n SuisSelectGroupOptionDirective,\n ],\n exports: [\n SuisSelectComponent,\n SuisSelectGroupComponent,\n SuisSelectMultiComponent,\n SuisSelectMultiGroupComponent,\n SuisSelectOptionDirective,\n SuisSelectGroupOptionDirective,\n ],\n})\nexport class SuisSelectModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { SuisSelectOption } from '../../modules/suis-select/interfaces/suis-select-option.interfaces';\n\n@Pipe({\n standalone: true,\n name: 'suisPaginationPerPageOptions',\n})\nexport class SuisPaginationPerPageOptionsPipe implements PipeTransform {\n transform(options: number[]): SuisSelectOption[] {\n return options.map((option) => {\n return { value: option, label: option.toString() };\n });\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n inject,\n} from '@angular/core';\nimport { SuisButtonComponent } from '../../modules/suis-button/components/suis-button';\nimport { SuisIconComponent } from '../suis-icon/suis-icon.component';\nimport { SuisPaginationPagePipe } from './suis-pagination-page.pipe';\nimport { SuisPaginationItemsPipe } from './suis-pagination-items.pipe';\nimport { SuisSelectModule } from '../../modules/suis-select/suis-select.module';\nimport { SuisPaginationPerPageOptionsPipe } from './suis-pagination-per-page-options.pipe';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Component({\n selector: 'suis-pagination',\n standalone: true,\n imports: [\n ReactiveFormsModule,\n SuisIconComponent,\n SuisButtonComponent,\n SuisPaginationPagePipe,\n SuisPaginationItemsPipe,\n SuisPaginationPerPageOptionsPipe,\n SuisSelectModule,\n ],\n templateUrl: './suis-pagination.component.html',\n styleUrls: ['./suis-pagination.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisPaginationComponent implements OnInit, OnChanges {\n private readonly destroyRef = inject(DestroyRef);\n\n /** @internal */\n /**\n * Number of the maximum page that can be reached based on totalItems and perPage values.\n */\n maxPage: number = 1;\n\n /**\n * Number of the page presented. By default set to 1.\n */\n @Input() page: number = 1;\n\n /**\n * Number of items presented per page. Value must be included in perPageOptions. By default set to 15.\n */\n @Input() perPage: number = 15;\n\n /**\n * Options of perPage dropdown. Be default set to [10, 15, 20, 25].\n */\n @Input() perPageOptions: number[] = [10, 15, 20, 25];\n\n /**\n * Number of total items in data source. By default set to 0.\n */\n @Input() totalItems: number = 0;\n\n /**\n * Sets the of label in \"1 'of' 25\". By default set to 'of'.\n */\n @Input() ofLabel: string = 'of';\n\n /**\n * Sets the items label in \"1-10 'of' 25 'items'\". By default set to 'Page'.\n */\n @Input() itemsLabel: string = 'items';\n\n /**\n * Emits on page value change.\n */\n @Output() pageChange = new EventEmitter<number>();\n\n /**\n * Emits on perPage value change.\n */\n @Output() perPageChange = new EventEmitter<number>();\n\n /** @internal */\n perPageControl = new FormControl<number>(this.perPage, {\n nonNullable: true,\n });\n\n ngOnInit(): void {\n this.perPageControl.valueChanges\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((value) => {\n this.onPerPageChange(value);\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['totalItems'] || changes['perPage']) {\n this.maxPage = Math.ceil(this.totalItems / this.perPage);\n this.perPageControl.setValue(this.perPage);\n }\n }\n\n next(): void {\n if (this.page < this.maxPage) {\n this.page++;\n this.pageChange.emit(this.page);\n }\n }\n\n previous(): void {\n if (this.page > 1) {\n this.page--;\n this.pageChange.emit(this.page);\n }\n }\n\n onPerPageChange(value: number) {\n this.page = 1;\n this.perPage = value;\n this.pageChange.emit(this.page);\n this.perPageChange.emit(this.perPage);\n }\n}\n","<div class=\"suis-pagination\">\n <div>\n <suis-select\n [formControl]=\"perPageControl\"\n [options]=\"perPageOptions | suisPaginationPerPageOptions\"\n [search]=\"false\"\n [nullable]=\"false\"\n ></suis-select>\n </div>\n <div class=\"suis-pagination__actions\">\n <suis-button color=\"secondary\" [disabled]=\"page === 1\" (click)=\"previous()\">\n <suis-icon [type]=\"'chevron-left'\" color=\"white\"></suis-icon>\n </suis-button>\n <div>\n {{ ofLabel | suisPaginationPage : page : perPage : totalItems }}\n </div>\n <suis-button\n color=\"secondary\"\n [disabled]=\"page === maxPage\"\n (click)=\"next()\"\n >\n <suis-icon [type]=\"'chevron-right'\" color=\"white\"></suis-icon>\n </suis-button>\n </div>\n <div class=\"suis-pagination__items\">\n {{\n ofLabel | suisPaginationItems : page : perPage : totalItems : itemsLabel\n }}\n </div>\n</div>\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n standalone: true,\n name: 'suisProgressBar',\n})\nexport class SuisProgressBarPipe implements PipeTransform {\n transform(value: number, maxValue: number): string {\n if (value > maxValue) return '100%';\n return `${(value / maxValue) * 100}%`;\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { NgClass } from '@angular/common';\nimport { SuisProgressBarPipe } from './suis-progress-bar.pipe';\nimport { SuisColor, SuisSize } from '../../types';\nimport { SuisNgClassPipe } from '../../pipes';\n\n@Component({\n selector: 'suis-progress-bar',\n standalone: true,\n imports: [NgClass, SuisNgClassPipe, SuisProgressBarPipe],\n templateUrl: './suis-progress-bar.component.html',\n styleUrls: ['./suis-progress-bar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisProgressBarComponent {\n /**\n * The value corresponding to the progress bar. By default set to 0.\n */\n @Input() value: number = 0;\n\n /**\n * Maximum value of the progress bar. By default set to 100.\n */\n @Input() maxValue: number = 100;\n\n /**\n * Sets the color of the progress bar. Type of SuisColor. By default set to 'primary'.\n */\n @Input() color: SuisColor = 'primary';\n\n /**\n * Sets the background color of the progress bar. Type of SuisColor. By default set to 'tertiary'.\n */\n @Input() backgroundColor: SuisColor = 'tertiary';\n\n /**\n * Sets the height of the progress bar. Type of SuisSize. By default set to 'md'.\n */\n @Input() size: SuisSize = 'md';\n}\n","<div\n class=\"suis-progress-bar\"\n [ngClass]=\"'suis-progress-bar' | suisNgClass : backgroundColor : size\"\n>\n <div\n class=\"suis-progress-bar__progress\"\n [style]=\"{ width: value | suisProgressBar : maxValue }\"\n [ngClass]=\"'suis-progress-bar__progress' | suisNgClass : color : size\"\n ></div>\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { SuisSize } from '../../types/suis-size.type';\nimport { SuisColor } from '../../types/suis-color.type';\nimport { SuisSpinnerComponent } from '../suis-spinner/suis-spinner.component';\n\n@Component({\n selector: 'suis-spinner-container',\n standalone: true,\n imports: [SuisSpinnerComponent],\n templateUrl: './suis-spinner-container.component.html',\n styleUrls: ['./suis-spinner-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisSpinnerContainerComponent {\n /**\n * Sets the size of the spinner. Type of SuisSize. By default set to 'md'.\n */\n @Input() size: SuisSize = 'md';\n\n /**\n * Sets the color of the spinner. Type of SuisColor. By default set to 'primary'.\n */\n @Input() color: SuisColor = 'primary';\n\n /**\n * Adds blur effect to the container background. By default set to false.\n */\n @Input() blur: boolean = false;\n\n /**\n * Position absolute to the parent element (must have relative position). By default set to false.\n */\n @Input() absolute: boolean = false;\n}\n","<div\n class=\"suis-spinner-container\"\n [class.suis-spinner-container--blur]=\"blur\"\n [class.suis-spinner-container--absolute]=\"absolute\"\n>\n <suis-spinner [size]=\"size\" [color]=\"color\"></suis-spinner>\n</div>\n","import { Directive, TemplateRef, inject } from '@angular/core';\n\n@Directive({\n selector: '[suisTableCell]',\n standalone: true,\n})\nexport class SuisTableCellDirective {\n /**\n * Template of the table cell.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public readonly templateRef = inject(TemplateRef<any>);\n}\n","import { ContentChild, Directive, Input } from '@angular/core';\nimport { SuisTableCellDirective } from './suis-table-cell.directive';\n\n@Directive({\n selector: '[suisTableColumn]',\n standalone: true,\n})\nexport class SuisTableColumnDirective {\n @ContentChild(SuisTableCellDirective) cell?: SuisTableCellDirective;\n\n protected _name: string = '';\n protected _orderProperty: string = '';\n\n /** Unique name for this column. */\n @Input('suisTableColumn')\n get name(): string {\n return this._name;\n }\n\n set name(name: string) {\n this._name = name;\n }\n\n @Input('suisTableColumnOrderProperty')\n get orderProperty(): string {\n return this._orderProperty;\n }\n\n set orderProperty(orderProperty: string) {\n this._orderProperty = orderProperty;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n Output,\n QueryList,\n} from '@angular/core';\nimport { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { SuisSpinnerContainerComponent } from '../suis-spinner-container';\nimport { SuisTableDataItem } from './suis-table.interfaces';\nimport { SuisTableColumnDirective } from './suis-table-column.directive';\nimport { SuisIconComponent } from '../suis-icon/suis-icon.component';\nimport { SuisSort } from '../../types/suis-sort.type';\n\n@Component({\n selector: 'suis-table',\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n NgTemplateOutlet,\n SuisIconComponent,\n SuisSpinnerContainerComponent,\n ],\n templateUrl: './suis-table.component.html',\n styleUrls: ['./suis-table.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisTableComponent {\n /** @internal */\n @ContentChildren(SuisTableColumnDirective)\n columns?: QueryList<SuisTableColumnDirective>;\n\n /**\n * Data items collection. Type of SuisTableDataItem[]. By default set to empty array. Required input.\n */\n @Input({ required: true }) data: SuisTableDataItem[] | null = [];\n\n /**\n * Specifies property that data is ordered. By default set to empty string.\n */\n @Input() orderBy: string = '';\n\n /**\n * Specifies sort condition. Type of SuisSort - 'asc' and 'desc'. By default set to 'asc'.\n */\n @Input() sortBy: SuisSort = 'asc';\n\n /**\n * Shows loading spinner and blurs data. By default set to false.\n */\n @Input() loading: boolean = false;\n\n /**\n * Message shown in table when there is no data to display.\n */\n @Input() emptyMessage: string =\n 'There is no data to be displayed in the table';\n\n /**\n * Emits value on sort condition change.\n */\n @Output() sortByChange = new EventEmitter<SuisSort>();\n\n /**\n * Emits value on order property change.\n */\n @Output() orderByChange = new EventEmitter<string>();\n\n onColumnClick(property: string): void {\n if (this.orderBy !== property) {\n this.orderBy = property;\n this.orderByChange.emit(this.orderBy);\n } else {\n this.sortBy = this.sortBy === 'asc' ? 'desc' : 'asc';\n this.sortByChange.emit(this.sortBy);\n }\n }\n}\n","<table *ngIf=\"columns\" class=\"suis-table\">\n <thead>\n <tr>\n <th\n *ngFor=\"let column of columns\"\n [class.pointer]=\"column.orderProperty\"\n (click)=\"\n column.orderProperty ? onColumnClick(column.orderProperty) : undefined\n \"\n >\n <div class=\"suis-table__header\">\n <span>\n {{ column.name }}\n </span>\n <suis-icon\n *ngIf=\"column.orderProperty && column.orderProperty === orderBy\"\n [type]=\"sortBy === 'asc' ? 'chevron-down' : 'chevron-up'\"\n size=\"lg\"\n color=\"white\"\n ></suis-icon>\n </div>\n </th>\n <th *ngIf=\"!columns?.length\"></th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of data || []\">\n <td *ngFor=\"let column of columns\">\n <ng-container\n *ngTemplateOutlet=\"\n column.cell!.templateRef;\n context: { $implicit: item }\n \"\n ></ng-container>\n </td>\n </tr>\n <tr *ngIf=\"!data?.length\">\n <td class=\"empty\" [attr.colspan]=\"columns ? columns.length : 1\">\n {{ loading ? '' : emptyMessage }}\n </td>\n </tr>\n <suis-spinner-container\n *ngIf=\"loading\"\n [absolute]=\"true\"\n [blur]=\"true\"\n [color]=\"'secondary'\"\n ></suis-spinner-container>\n </tbody>\n</table>\n","import { NgModule } from '@angular/core';\nimport { SuisTableComponent } from './suis-table.component';\nimport { SuisTableCellDirective } from './suis-table-cell.directive';\nimport { SuisTableColumnDirective } from './suis-table-column.directive';\n\n@NgModule({\n imports: [\n SuisTableComponent,\n SuisTableCellDirective,\n SuisTableColumnDirective,\n ],\n exports: [\n SuisTableComponent,\n SuisTableCellDirective,\n SuisTableColumnDirective,\n ],\n})\nexport class SuisTableModule {}\n","import { Directive, Input, TemplateRef, inject } from '@angular/core';\n\n@Directive({\n selector: '[suisTab]',\n standalone: true,\n})\nexport class SuisTabDirective {\n /**\n * Template of the tab.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public readonly templateRef = inject(TemplateRef<any>);\n\n @Input({ required: true, alias: 'suisTab' }) name: string = '';\n}\n","import { Pipe, PipeTransform, QueryList } from '@angular/core';\nimport { SuisTabDirective } from './suis-tab.directive';\n\n@Pipe({\n standalone: true,\n name: 'suisTabActions',\n})\nexport class SuisTabActionsPipe implements PipeTransform {\n transform(tabs: QueryList<SuisTabDirective> | undefined): string[] {\n if (!tabs) return [];\n\n return tabs.toArray().map((tab) => tab.name);\n }\n}\n","import { Pipe, PipeTransform, QueryList, TemplateRef } from '@angular/core';\nimport { SuisTabDirective } from './suis-tab.directive';\n\n@Pipe({\n standalone: true,\n name: 'suisTabTemplate',\n})\nexport class SuisTabTemplatePipe implements PipeTransform {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n transform(\n tabs: QueryList<SuisTabDirective> | undefined,\n currentTab: string\n ): TemplateRef<any> | null {\n if (!tabs) return null;\n\n const tab = tabs.toArray().find((tab) => tab.name === currentTab);\n if (!tab) return null;\n\n return tab.templateRef;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n Output,\n QueryList,\n} from '@angular/core';\nimport { NgFor, NgTemplateOutlet } from '@angular/common';\nimport { SuisTabDirective } from './suis-tab.directive';\nimport { SuisTabActionsPipe } from './suis-tab-actions.pipe';\nimport { SuisTabTemplatePipe } from './suis-tab-template.pipe';\n\n@Component({\n selector: 'suis-tabs',\n standalone: true,\n imports: [NgFor, NgTemplateOutlet, SuisTabActionsPipe, SuisTabTemplatePipe],\n templateUrl: './suis-tabs.component.html',\n styleUrls: ['./suis-tabs.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisTabsComponent {\n /** @internal */\n @ContentChildren(SuisTabDirective)\n tabs?: QueryList<SuisTabDirective>;\n\n /**\n * Name of the current displayed tab. Must correspond with the name passed into suisTab directive. By default set to empty string.\n */\n @Input() currentTab: string = '';\n\n /**\n * Emits name of the clicked tab.\n */\n @Output() tabClicked = new EventEmitter<string>();\n\n onTabActionClick(name: string): void {\n this.currentTab = name;\n this.tabClicked.emit(name);\n }\n}\n","<div class=\"suis-tabs\">\n <div class=\"suis-tabs__actions\">\n <button\n *ngFor=\"let name of tabs | suisTabActions\"\n [class.active]=\"name === currentTab\"\n (click)=\"onTabActionClick(name)\"\n >\n {{ name }}\n </button>\n </div>\n <div class=\"suis-tabs__content\">\n <ng-container\n *ngTemplateOutlet=\"tabs | suisTabTemplate : currentTab\"\n ></ng-container>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { SuisTabsComponent } from './suis-tabs.component';\nimport { SuisTabDirective } from './suis-tab.directive';\n\n@NgModule({\n imports: [SuisTabsComponent, SuisTabDirective],\n exports: [SuisTabsComponent, SuisTabDirective],\n})\nexport class SuisTabsModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n forwardRef,\n} from '@angular/core';\nimport { SuisInputBase } from '../../shared/classes/suis-input.base';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'suis-text-area',\n standalone: true,\n imports: [],\n templateUrl: './suis-text-area.component.html',\n styleUrls: ['./suis-text-area.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SuisTextAreaComponent),\n },\n ],\n})\nexport class SuisTextAreaComponent extends SuisInputBase {\n /**\n * Placeholder text displayed in input. By default set to empty string.\n */\n @Input() placeholder: string = '';\n\n /** @internal */\n value: string = '';\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n override writeValue(obj: string): void {\n this.value = obj;\n this._onChange(this.value);\n this.cdRef.markForCheck();\n }\n\n onChange(event: Event): void {\n const target = event.target as HTMLTextAreaElement;\n this.value = target.value;\n this._onChange(this.value);\n this.changed.emit(this.value);\n this.cdRef.markForCheck();\n }\n}\n","<textarea\n class=\"suis-text-area\"\n [class.suis-text-area--invalid]=\"invalid\"\n [class.suis-text-area--readonly]=\"readonly\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n [disabled]=\"readonly\"\n (input)=\"onChange($event)\"\n (focus)=\"onTouch()\"\n></textarea>\n","export enum SuisTitle {\n H1 = 1,\n H2 = 2,\n H3 = 3,\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { SuisTitle } from './suis-title.enum';\nimport { NgSwitch, NgSwitchCase, NgTemplateOutlet } from '@angular/common';\n\n@Component({\n selector: 'suis-title',\n standalone: true,\n imports: [NgSwitch, NgSwitchCase, NgTemplateOutlet],\n templateUrl: './suis-title.component.html',\n styleUrls: ['./suis-title.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisTitleComponent {\n /** @internal */\n readonly SuisTitle = SuisTitle;\n\n /**\n * Sets level of the header tag. Type of SuisTitle. By default set to H1.\n */\n @Input() level: SuisTitle = SuisTitle.H1;\n}\n","<ng-container [ngSwitch]=\"level\">\n <h1 *ngSwitchCase=\"SuisTitle.H1\" class=\"suis-title--h1\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </h1>\n <h2 *ngSwitchCase=\"SuisTitle.H2\" class=\"suis-title--h2\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </h2>\n <h3 *ngSwitchCase=\"SuisTitle.H3\" class=\"suis-title--h3\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </h3>\n</ng-container>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core';\nimport { SuisCheckboxBase } from '../../shared/classes/suis-checkbox.base';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SuisLabelComponent } from '../suis-label';\n\n@Component({\n selector: 'suis-toggle',\n standalone: true,\n imports: [SuisLabelComponent],\n templateUrl: './suis-toggle.component.html',\n styleUrls: ['./suis-toggle.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => SuisToggleComponent),\n },\n ],\n})\nexport class SuisToggleComponent extends SuisCheckboxBase {}\n","<input\n #input\n type=\"checkbox\"\n class=\"suis-toggle\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [value]=\"value\"\n [disabled]=\"readonly\"\n (input)=\"onChange($event)\"\n (focus)=\"onTouch()\"\n/>\n\n<suis-label\n class=\"suis-toggle__label\"\n [class.suis-toggle__label--invalid]=\"invalid\"\n [class.suis-toggle__label--readonly]=\"readonly\"\n [for]=\"id\"\n [required]=\"required\"\n [pointer]=\"true\"\n [readonly]=\"readonly\"\n>\n <div\n [tabindex]=\"readonly ? -1 : 0\"\n class=\"suis-toggle__container\"\n [class.suis-toggle__container--invalid]=\"invalid\"\n [class.suis-toggle__container--readonly]=\"readonly\"\n >\n <div\n class=\"suis-toggle__container__thumb\"\n [class.suis-toggle__container__thumb--active]=\"value\"\n [class.suis-toggle__container__thumb--invalid]=\"invalid\"\n [class.suis-toggle__container__thumb--readonly]=\"readonly\"\n ></div>\n </div>\n <ng-content></ng-content>\n</suis-label>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'suis-toolbar',\n standalone: true,\n imports: [],\n templateUrl: './suis-toolbar.component.html',\n styleUrls: ['./suis-toolbar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisToolbarComponent {\n /**\n * Adds a padding around the content. By default set to false.\n */\n @Input() spacing: boolean = false;\n}\n","<div class=\"suis-toolbar\" [class.suis-toolbar--spacing]=\"spacing\">\n <div>\n <ng-content select=\"[suisToolbarLeft]\"></ng-content>\n </div>\n <div>\n <ng-content select=\"[suisToolbarCenter]\"></ng-content>\n </div>\n <div>\n <ng-content select=\"[suisToolbarRight]\"></ng-content>\n </div>\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { NgIf, NgClass } from '@angular/common';\nimport { SuisButtonBase } from '../../../../shared/classes/suis-button.base';\nimport { SuisNgClassPipe } from '../../../../pipes/suis-ng-class.pipe';\nimport { SuisSpinnerComponent } from '../../../../components/suis-spinner/suis-spinner.component';\nimport {\n ActivatedRoute,\n Params,\n QueryParamsHandling,\n RouterModule,\n} from '@angular/router';\n\n@Component({\n selector: 'suis-button-link',\n standalone: true,\n imports: [NgIf, NgClass, RouterModule, SuisNgClassPipe, SuisSpinnerComponent],\n templateUrl: './suis-button-link.component.html',\n styleUrls: ['./suis-button-link.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisButtonLinkComponent extends SuisButtonBase {\n /**\n * Sets routerLink of the anchor tag. No default value.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input({ required: true }) routerLink?: string | any[];\n\n /**\n * Sets target of the anchor tag. No default value.\n */\n @Input() target?: string;\n\n /**\n * Sets queryParams of the anchor tag. No default value.\n */\n @Input() queryParams?: Params;\n\n /**\n * Sets queryParamsHandling of the anchor tag. No default value.\n */\n @Input() queryParamsHandling?: QueryParamsHandling;\n\n /**\n * Sets relativeTo of the anchor tag. No default value.\n */\n @Input() relativeTo?: ActivatedRoute;\n\n override onClick(event: Event): void {\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n } else {\n this.clicked.emit();\n }\n }\n}\n","<a\n class=\"suis-button-link\"\n [class.suis-button-link--full-width]=\"fullWidth\"\n [class.suis-button-link--disabled]=\"disabled || loading ? true : undefined\"\n [routerLink]=\"routerLink\"\n [target]=\"target\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [relativeTo]=\"relativeTo\"\n [ngClass]=\"'suis-button-link' | suisNgClass : color\"\n [attr.tabindex]=\"disabled || loading ? -1 : 0\"\n (click)=\"onClick($event)\"\n>\n <span\n class=\"suis-button-link__content\"\n [class.suis-button-link__content--loading]=\"loading\"\n >\n <ng-content></ng-content>\n </span>\n <suis-spinner *ngIf=\"loading\" size=\"xs\" color=\"white\"></suis-spinner>\n</a>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { NgIf, NgClass } from '@angular/common';\nimport { SuisButtonBase } from '../../../../shared/classes/suis-button.base';\nimport { SuisNgClassPipe } from '../../../../pipes/suis-ng-class.pipe';\nimport { SuisSpinnerComponent } from '../../../../components/suis-spinner/suis-spinner.component';\n\n@Component({\n selector: 'suis-button-outlined',\n standalone: true,\n imports: [NgIf, NgClass, SuisNgClassPipe, SuisSpinnerComponent],\n templateUrl: './suis-button-outlined.component.html',\n styleUrls: ['./suis-button-outlined.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisButtonOutlinedComponent extends SuisButtonBase {}\n","<button\n class=\"suis-button-outlined\"\n [class.suis-button-outlined--full-width]=\"fullWidth\"\n [ngClass]=\"'suis-button-outlined' | suisNgClass : color\"\n [attr.disabled]=\"disabled || loading ? true : undefined\"\n [attr.tabindex]=\"disabled || loading ? -1 : 0\"\n [attr.type]=\"type\"\n (click)=\"onClick()\"\n>\n <span\n class=\"suis-button-outlined__content\"\n [class.suis-button-outlined__content--loading]=\"loading\"\n >\n <ng-content></ng-content>\n </span>\n <suis-spinner *ngIf=\"loading\" size=\"xs\" [color]=\"color\"></suis-spinner>\n</button>\n","import { NgModule } from '@angular/core';\nimport { SuisButtonComponent } from './components/suis-button';\nimport { SuisButtonLinkComponent } from './components/suis-button-link';\nimport { SuisButtonOutlinedComponent } from './components/suis-button-outlined';\n\n@NgModule({\n imports: [\n SuisButtonComponent,\n SuisButtonLinkComponent,\n SuisButtonOutlinedComponent,\n ],\n exports: [\n SuisButtonComponent,\n SuisButtonLinkComponent,\n SuisButtonOutlinedComponent,\n ],\n})\nexport class SuisButtonModule {}\n","import { Directive, TemplateRef, inject } from '@angular/core';\nimport { SuisNavigationItem } from '../interfaces/suis-navigation-item.interfaces';\n\n@Directive({\n selector: '[suisNavigationItem]',\n standalone: true,\n})\nexport class SuisNavigationItemDirective {\n /**\n * Custom template of the item.\n */\n public readonly templateRef = inject(\n TemplateRef<{ $implicit: SuisNavigationItem }>\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n TemplateRef,\n} from '@angular/core';\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { SuisNavigationItem } from '../../interfaces/suis-navigation-item.interfaces';\n\n@Component({\n selector: 'suis-navigation-item',\n standalone: true,\n imports: [NgIf, NgTemplateOutlet, RouterModule],\n templateUrl: './suis-navigation-item.component.html',\n styleUrls: ['./suis-navigation-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisNavigationItemComponent {\n /**\n * Navigation item data. Type of SuisNavigationItem.\n */\n @Input() item?: SuisNavigationItem;\n\n /**\n * Template to be displayed instead of item's label.\n */\n @Input() templateRef?: TemplateRef<{ $implicit: SuisNavigationItem }>;\n\n /**\n * Enables dark mode pallette. By default set to true.\n */\n @Input() darkMode: boolean = true;\n}\n","<a\n *ngIf=\"item\"\n class=\"suis-navigation-item\"\n [routerLink]=\"item.link\"\n routerLinkActive=\"active\"\n [class.suis-navigation-item--dark]=\"darkMode\"\n>\n <div class=\"suis-navigation-item__content\">\n <ng-container *ngIf=\"templateRef; else label\">\n <ng-container\n *ngTemplateOutlet=\"templateRef; context: { $implicit: item }\"\n ></ng-container>\n </ng-container>\n <ng-template #label>\n {{ item.label }}\n </ng-template>\n </div>\n</a>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n SuisNavigationGroupItem,\n SuisNavigationItem,\n} from '../../interfaces/suis-navigation-item.interfaces';\nimport { SuisIconComponent } from '../../../../components/suis-icon';\nimport { RouterModule } from '@angular/router';\n\n@Component({\n selector: 'suis-navigation-group-item',\n standalone: true,\n imports: [NgIf, NgTemplateOutlet, SuisIconComponent, RouterModule],\n templateUrl: './suis-navigation-group-item.component.html',\n styleUrls: ['./suis-navigation-group-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisNavigationGroupItemComponent {\n /**\n * Navigation item data. Type of SuisNavigationGroupItem.\n */\n @Input() item?: SuisNavigationGroupItem;\n\n /**\n * Template to be displayed instead of item's label.s\n */\n @Input() templateRef?: TemplateRef<{ $implicit: SuisNavigationItem }>;\n\n /**\n * Controlls styling of the item based on expanded state of group. By default set to true.\n */\n @Input() expanded: boolean = true;\n\n /**\n * Adds expand / collapse logic to item. By default set to false.\n */\n @Input() expandable: boolean = false;\n\n /**\n * Emits when expanded value of the item has been changed.\n */\n @Output() expandedChange = new EventEmitter<boolean>();\n\n /**\n * Enables dark mode pallette. By default set to true.\n */\n @Input() darkMode: boolean = true;\n\n onToggle(): void {\n if (!this.expandable) return;\n\n this.expanded = !this.expanded;\n this.expandedChange.emit(this.expanded);\n }\n}\n","<a\n *ngIf=\"item\"\n class=\"suis-navigation-group-item\"\n [class.suis-navigation-group-item--dark]=\"darkMode\"\n [routerLink]=\"expandable ? undefined : item.link ?? undefined\"\n routerLinkActive=\"active\"\n (click)=\"onToggle()\"\n>\n <div class=\"suis-navigation-group-item__content\">\n <ng-container *ngIf=\"templateRef; else label\">\n <ng-container\n *ngTemplateOutlet=\"templateRef; context: { $implicit: item }\"\n ></ng-container>\n </ng-container>\n <ng-template #label>\n {{ item.label }}\n </ng-template>\n </div>\n <div *ngIf=\"expandable\" class=\"suis-navigation-group-item__actions\">\n <suis-icon\n [type]=\"expanded ? 'chevron-up' : 'chevron-down'\"\n [size]=\"'lg'\"\n [color]=\"darkMode ? 'white' : 'primary'\"\n ></suis-icon>\n </div>\n</a>\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n TemplateRef,\n} from '@angular/core';\nimport { NgFor, NgIf } from '@angular/common';\nimport { SuisNavigationItemComponent } from '../suis-navigation-item';\nimport { RouterModule } from '@angular/router';\nimport {\n SuisNavigationGroupItem,\n SuisNavigationItem,\n} from '../../interfaces/suis-navigation-item.interfaces';\nimport { SuisNavigationGroupItemComponent } from '../suis-navigation-group-item/suis-navigation-group-item.component';\n\n@Component({\n selector: 'suis-navigation-group',\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n RouterModule,\n SuisNavigationItemComponent,\n SuisNavigationGroupItemComponent,\n ],\n templateUrl: './suis-navigation-group.component.html',\n styleUrls: ['./suis-navigation-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisNavigationGroupComponent {\n /**\n * Navigation item data. Type of SuisNavigationGroupItem.\n */\n @Input() item?: SuisNavigationGroupItem;\n\n /**\n * Template to be displayed instead of item's label.\n */\n @Input() templateRef?: TemplateRef<{ $implicit: SuisNavigationItem }>;\n\n /**\n * Expanded state of the navigation group. By default set to true.\n */\n @Input() expanded: boolean = true;\n\n /**\n * Adds expand / collapse logic to group header items. By default set to false.\n */\n @Input() expandable: boolean = false;\n\n /**\n * Enables dark mode pallette. By default set to true.\n */\n @Input() darkMode: boolean = true;\n\n /** @internal */\n itemTrackBy(index: number, item: SuisNavigationGroupItem): string {\n return `${item.label}-${index}`;\n }\n}\n","<div *ngIf=\"item\" class=\"suis-navigation-group\">\n <div class=\"suis-navigation-group__header\">\n <suis-navigation-group-item\n [item]=\"item\"\n [templateRef]=\"templateRef\"\n [expandable]=\"expandable && !!item.children\"\n [(expanded)]=\"expanded\"\n [darkMode]=\"darkMode\"\n ></suis-navigation-group-item>\n </div>\n <div *ngIf=\"expanded\" class=\"suis-navigation-group__children\">\n <suis-navigation-item\n *ngFor=\"let childItem of item.children; trackBy: itemTrackBy\"\n [item]=\"childItem\"\n [templateRef]=\"templateRef\"\n [darkMode]=\"darkMode\"\n ></suis-navigation-item>\n </div>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n EventEmitter,\n Input,\n} from '@angular/core';\nimport { NgFor, NgIf } from '@angular/common';\nimport { SuisNavigationGroupItem } from '../../interfaces/suis-navigation-item.interfaces';\nimport { SuisNavigationItemDirective } from '../../directives/suis-navigation-item.directive';\nimport { SuisNavigationGroupComponent } from '../suis-navigation-group';\nimport { SuisIconComponent } from '../../../../components/suis-icon';\n\n@Component({\n selector: 'suis-navigation',\n standalone: true,\n imports: [NgIf, NgFor, SuisNavigationGroupComponent, SuisIconComponent],\n templateUrl: './suis-navigation.component.html',\n styleUrls: ['./suis-navigation.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SuisNavigationComponent {\n /** @internal */\n @ContentChild(SuisNavigationItemDirective)\n suisNavigationItem?: SuisNavigationItemDirective;\n\n /**\n * List of navigation items. Type of SuisNavigationGroupItem[]. By default set to empty array.\n */\n @Input() items: SuisNavigationGroupItem[] = [];\n\n /**\n * Condition to expand groups at view initialization. By default set to true.\n */\n @Input() expandedGroups: boolean = true;\n\n /**\n * Adds expand / collapse logic to group header items. By default set to false.\n */\n @Input() expandable: boolean = false;\n\n /**\n * Adds collapse / expand logic to navigiaton. By default set to false.\n */\n @Input() collapsable: boolean = false;\n\n /**\n * Collapses the navigiation, when collapsable is enabled. By default set to false.\n */\n @Input() collapsed: boolean = false;\n\n /**\n * Emits on collapsed value changed.\n */\n @Input() collaspedChange = new EventEmitter<boolean>();\n\n /**\n * Enables dark mode pallette. By default set to true.\n */\n @Input() darkMode: boolean = true;\n\n onToggle(): void {\n this.collapsed = !this.collapsed;\n this.collaspedChange.emit(this.collapsed);\n }\n\n /** @internal */\n groupItemTrackBy(index: number, groupItem: SuisNavigationGroupItem): string {\n return `${groupItem.label}-${index}`;\n }\n}\n","<div\n class=\"suis-navigation\"\n [class.suis-navigation--collapsed]=\"collapsable && collapsed\"\n [class.suis-navigation--dark]=\"darkMode\"\n>\n <div class=\"suis-navigation__actions\">\n <button *ngIf=\"collapsable\" type=\"button\" (click)=\"onToggle()\">\n <suis-icon\n [type]=\"collapsed ? 'arrow-right' : 'arrow-left'\"\n color=\"white\"\n size=\"xl\"\n ></suis-icon>\n </button>\n </div>\n <div class=\"suis-navigation__groups\">\n <ng-container *ngIf=\"!collapsed\">\n <suis-navigation-group\n *ngFor=\"let groupItem of items; trackBy: groupItemTrackBy\"\n [item]=\"groupItem\"\n [templateRef]=\"suisNavigationItem?.templateRef\"\n [expanded]=\"expandedGroups\"\n [expandable]=\"expandable\"\n [darkMode]=\"darkMode\"\n ></suis-navigation-group>\n </ng-container>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { SuisNavigationComponent } from './components/suis-navigation/suis-navigation.component';\nimport { SuisNavigationItemDirective } from './directives/suis-navigation-item.directive';\n\n@NgModule({\n imports: [SuisNavigationComponent, SuisNavigationItemDirective],\n exports: [SuisNavigationComponent, SuisNavigationItemDirective],\n})\nexport class SuisNavigationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i2.SuisSelectComponent"],"mappings":"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"}