ngx-bsl 0.0.10 → 0.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/ngx-bsl.mjs.map +1 -1
- package/package.json +1 -1
- package/types/ngx-bsl.d.ts +1 -1
package/fesm2022/ngx-bsl.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-bsl.mjs","sources":["../../../projects/ngx-bsl/src/lib/utils/id-generator.ts","../../../projects/ngx-bsl/src/lib/icons/icon-check.component.ts","../../../projects/ngx-bsl/src/lib/list-box/list-box-option/list-box-option.component.ts","../../../projects/ngx-bsl/src/lib/list-box/list-box.component.ts","../../../projects/ngx-bsl/src/lib/list-box/list-box-group/list-box-group.component.ts","../../../projects/ngx-bsl/src/lib/list-box/list-box-option/list-box-option-value-converter.pipe.ts","../../../projects/ngx-bsl/src/lib/combobox/combobox.component.ts","../../../projects/ngx-bsl/src/lib/combobox/combobox.component.html","../../../projects/ngx-bsl/src/lib/checkbox/checkbox.component.ts","../../../projects/ngx-bsl/src/lib/checkbox/checkbox.component.html","../../../projects/ngx-bsl/src/lib/icons/icon-x-mark.component.ts","../../../projects/ngx-bsl/src/lib/drawer/drawer.component.ts","../../../projects/ngx-bsl/src/lib/drawer/drawer.component.html","../../../projects/ngx-bsl/src/lib/list-box/list-box-separator/list-box-separator.component.ts","../../../projects/ngx-bsl/src/lib/icons/icon-chevron-down.component.ts","../../../projects/ngx-bsl/src/lib/icons/icon-company.component.ts","../../../projects/ngx-bsl/src/lib/icons/icon-language.component.ts","../../../projects/ngx-bsl/src/lib/icons/icon-location.component.ts","../../../projects/ngx-bsl/src/lib/icons/icon-moon.component.ts","../../../projects/ngx-bsl/src/lib/icons/icon-sun.component.ts","../../../projects/ngx-bsl/src/lib/icons/icon-arrow-left.component.ts","../../../projects/ngx-bsl/src/lib/icons/icon-arrow-right.component.ts","../../../projects/ngx-bsl/src/lib/icons/icon-arrow-left-double.component.ts","../../../projects/ngx-bsl/src/lib/icons/icon-arrow-right-double.component.ts","../../../projects/ngx-bsl/src/lib/pagination/pagination.component.ts","../../../projects/ngx-bsl/src/lib/pagination/pagination.component.html","../../../projects/ngx-bsl/src/lib/range/range-move-direction.enum.ts","../../../projects/ngx-bsl/src/lib/range/range-thumb/range-thumb.component.ts","../../../projects/ngx-bsl/src/lib/utils/number.util.ts","../../../projects/ngx-bsl/src/lib/range/range.component.ts","../../../projects/ngx-bsl/src/lib/range/range.component.html","../../../projects/ngx-bsl/src/lib/select/select.component.ts","../../../projects/ngx-bsl/src/lib/select/select.component.html","../../../projects/ngx-bsl/src/lib/tooltip/tooltip.component.ts","../../../projects/ngx-bsl/src/lib/tooltip/tooltip-overlay-position.const.ts","../../../projects/ngx-bsl/src/lib/tooltip/tooltip-position.enum.ts","../../../projects/ngx-bsl/src/lib/tooltip/tooltip.directive.ts","../../../projects/ngx-bsl/src/ngx-bsl.ts"],"sourcesContent":["export class IdGenerator {\n private id = 0;\n\n nextId(): number {\n return this.id++;\n }\n}\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n/*\n eslint-disable max-len,\n @typescript-eslint/no-extraneous-class\n*/\n@Component({\n selector: 'ngx-bsl-icon-check',\n imports: [],\n template: `\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M4 12.6111L8.92308 17.5L20 6.5\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n `,\n styleUrl: './icon.scss',\n host: {'[class.bsl-icon]': 'true'},\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconCheckComponent {}\n","import {ChangeDetectionStrategy, Component, computed, inject, input, ViewEncapsulation} from '@angular/core';\nimport {IdGenerator} from '../../utils/id-generator';\nimport {IconCheckComponent} from '../../icons/icon-check.component';\n\n@Component({\n selector: 'ngx-bsl-list-box-option',\n imports: [\n IconCheckComponent,\n ],\n template: `\n <ng-content></ng-content>\n <ngx-bsl-icon-check></ngx-bsl-icon-check>\n `,\n styleUrl: './list-box-option.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'role': 'option',\n '[attr.id]': 'listBoxOptionId()',\n },\n})\nexport class ListBoxOptionComponent<TOption> {\n value = input.required<TOption>();\n id = input.required<string>();\n\n private optionIdGenerator = inject(IdGenerator);\n\n protected listBoxOptionId = computed(() => {\n const id = this.optionIdGenerator.nextId();\n return `${this.id()}-${id}`;\n });\n}\n","import {AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n contentChildren,\n ElementRef,\n forwardRef,\n HostListener,\n input,\n OnInit,\n output,\n signal,\n ViewEncapsulation} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {IdGenerator} from '../utils/id-generator';\nimport {ListBoxOptionComponent} from './list-box-option/list-box-option.component';\n\n@Component({\n selector: 'ngx-bsl-list-box',\n imports: [],\n template: '<ng-content></ng-content>',\n styleUrl: './list-box.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n IdGenerator,\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ListBoxComponent),\n multi: true,\n },\n ],\n host: {\n 'role': 'listbox',\n '[attr.id]': 'id()',\n '[attr.aria-label]': 'ariaLabel()',\n '[attr.aria-labelledby]': 'ariaLabelledby()',\n '[attr.aria-activedescendant]': 'exposeAriaActiveDescendant() ? null : ariaActiveDescendant()',\n },\n})\nexport class ListBoxComponent<TOption> implements OnInit, AfterContentInit, ControlValueAccessor {\n id = input.required<string>();\n ariaLabel = input<string>();\n ariaLabelledby = input<string>();\n exposeAriaActiveDescendant = input(false);\n comparisonField = input<keyof TOption>();\n initialValue = input<TOption | null>();\n initialFocusedOptionIndex = input<number | null>(null);\n\n selectOption = output<TOption>();\n\n listBoxOptions = contentChildren(ListBoxOptionComponent<TOption>);\n listBoxOptionRefs = contentChildren<ListBoxOptionComponent<TOption>, ElementRef<HTMLElement>>\n (ListBoxOptionComponent, { descendants: true, read: ElementRef<HTMLElement> });\n\n ariaActiveDescendant = signal<string | null>(null);\n onChange = (_value: TOption) => {};\n onTouch = () => {};\n private value: TOption | null = null;\n\n ngOnInit(): void {\n const initialValue = this.initialValue();\n if (initialValue) {\n this.value = initialValue;\n }\n }\n\n ngAfterContentInit(): void {\n this.initSelectedOption();\n }\n\n @HostListener('click', ['$event'])\n onClick(event: MouseEvent) {\n const element = event.target as HTMLElement;\n const isOption = element.matches('[role=\"option\"]');\n if (isOption) {\n this.removeSelectedAttribute();\n this.clearVisualFocus();\n const optionIndex = this.listBoxOptionRefs().findIndex(o => o.nativeElement.id === element.id);\n this.setSelectedAttribute(optionIndex);\n this.setVisualFocus(optionIndex);\n this.value = this.listBoxOptions()[optionIndex].value();\n this.onChange(this.value);\n this.selectOption.emit(this.value);\n }\n }\n\n @HostListener('keydown', ['$event'])\n onKeydown(event: KeyboardEvent): void {\n if (event.code === 'Enter' || event.code === 'Space') {\n event.preventDefault();\n this.handleSelectionKeys();\n return;\n }\n\n if (event.code === 'ArrowDown' || event.code === 'ArrowUp') {\n event.preventDefault();\n this.handleArrowKeys(event);\n return;\n }\n }\n\n private initSelectedOption(): void {\n const optionIndex = this.listBoxOptions().findIndex(o => this.equalsToCurrentValue(o.value()));\n if (optionIndex !== -1) {\n this.setSelectedAttribute(optionIndex);\n this.setVisualFocus(optionIndex);\n return;\n }\n\n if (this.initialFocusedOptionIndex() !== null) {\n this.setVisualFocus(this.initialFocusedOptionIndex() as number);\n }\n }\n\n private equalsToCurrentValue(value: TOption): boolean {\n const comparisonField = this.comparisonField();\n\n return comparisonField && this.value && typeof this.value === 'object' && comparisonField in this.value\n ? this.value[comparisonField] === value[comparisonField]\n : this.value === value;\n }\n\n private handleSelectionKeys(): void {\n const optionIndex = this.getVisuallyFocusedListBoxOptionRefIndex();\n\n if (optionIndex !== -1) {\n this.removeSelectedAttribute();\n this.setSelectedAttribute(optionIndex);\n this.value = this.listBoxOptions()[optionIndex].value();\n this.onChange(this.value);\n this.selectOption.emit(this.value);\n }\n }\n\n private handleArrowKeys(event: KeyboardEvent): void {\n const optionIndex = this.getVisuallyFocusedListBoxOptionRefIndex();\n const firstOption = 0;\n const lastOption = this.listBoxOptionRefs().length - 1;\n\n if (optionIndex === -1) {\n if (event.code === 'ArrowDown') {\n this.setVisualFocus(firstOption);\n } else if (event.code === 'ArrowUp') {\n this.setVisualFocus(lastOption);\n }\n return;\n }\n\n this.removeVisualFocus(optionIndex);\n\n if (event.code === 'ArrowDown') {\n if (optionIndex === lastOption) {\n this.setVisualFocus(firstOption);\n } else {\n this.setVisualFocus(optionIndex + 1);\n }\n } else if (event.code === 'ArrowUp') {\n if (optionIndex === 0) {\n this.setVisualFocus(lastOption);\n } else {\n this.setVisualFocus(optionIndex - 1);\n }\n }\n }\n\n private getVisuallyFocusedListBoxOptionRefIndex(): number {\n return this.listBoxOptionRefs().findIndex(r => r.nativeElement.classList.contains('visual-focus'));\n }\n\n private setVisualFocus(optionIndex: number): void {\n const option = this.listBoxOptionRefs()[optionIndex];\n option.nativeElement.classList.add('visual-focus');\n this.ariaActiveDescendant.set(option.nativeElement.id);\n }\n\n private removeVisualFocus(optionIndex: number): void {\n this.listBoxOptionRefs()[optionIndex].nativeElement.classList.remove('visual-focus');\n this.ariaActiveDescendant.set(null);\n }\n\n protected clearVisualFocus(): void {\n const optionIndex = this.getVisuallyFocusedListBoxOptionRefIndex();\n if (optionIndex !== -1) {\n this.removeVisualFocus(optionIndex);\n }\n }\n\n protected setSelectedAttribute(optionIndex: number): void {\n this.listBoxOptionRefs()[optionIndex].nativeElement.setAttribute('aria-selected', 'true');\n }\n\n protected removeSelectedAttribute(): void {\n this.listBoxOptionRefs()\n .find(o => o.nativeElement.hasAttribute('aria-selected'))\n ?.nativeElement.removeAttribute('aria-selected');\n }\n\n registerOnChange(onChange: (value: TOption) => void): void {\n this.onChange = onChange;\n }\n\n registerOnTouched(onTouch: () => void): void {\n this.onTouch = onTouch;\n }\n\n writeValue(value: TOption): void {\n this.value = value;\n }\n}\n","import {ChangeDetectionStrategy, Component, input} from '@angular/core';\n\n@Component({\n selector: 'ngx-bsl-list-box-group',\n imports: [],\n template: `\n @if (title()) {\n <div class=\"group-title\">{{ title() }}</div>\n }\n <ng-content></ng-content>\n `,\n styleUrl: './list-box-group.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ListBoxGroupComponent {\n title = input<string>();\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({name: 'listBoxOptionValueConverter'})\nexport class ListBoxOptionValueConverterPipe implements PipeTransform {\n\n transform(value: unknown, bindLabel?: string): string {\n if (!value) {\n return '';\n }\n\n if (typeof value === 'string') {\n return value;\n }\n\n if (typeof value === 'number') {\n return value.toString();\n }\n\n if (typeof value === 'object' && bindLabel) {\n if (bindLabel in value) {\n return value[bindLabel as keyof typeof value];\n }\n throw new Error('Provided label is incorrect');\n }\n throw new Error('Cannot parse the value');\n }\n}\n","import {ChangeDetectionStrategy,\n Component,\n computed, effect,\n forwardRef,\n input,\n output,\n signal,\n viewChild,\n ViewEncapsulation} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';\nimport { ListBoxComponent } from '../list-box/list-box.component';\nimport { ListBoxOptionComponent } from '../list-box/list-box-option/list-box-option.component';\nimport { ListBoxGroupComponent } from '../list-box/list-box-group/list-box-group.component';\nimport { ListBoxOptionValueConverterPipe } from '../list-box/list-box-option/list-box-option-value-converter.pipe';\nimport { GroupData } from './group-data.interface';\n\n@Component({\n selector: 'ngx-bsl-combobox',\n imports: [\n CdkOverlayOrigin,\n CdkConnectedOverlay,\n ListBoxComponent,\n ListBoxOptionComponent,\n ListBoxGroupComponent,\n ListBoxOptionValueConverterPipe,\n ],\n templateUrl: './combobox.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ComboboxComponent),\n multi: true,\n },\n ],\n})\nexport class ComboboxComponent<TOption extends Record<string, unknown> | string> implements ControlValueAccessor {\n id = input.required<string>();\n options = input.required<TOption[] | string>();\n bindLabel = input<string>();\n groupBy = input<string>();\n comparisonField = input<string>();\n placeholder = input<string>('');\n ariaLabel = input<string>();\n ariaLabelledBy = input<string>();\n\n confirmSelection = output();\n\n private listBox = viewChild(ListBoxComponent);\n\n onChange = (_value: string) => {};\n onTouch = () => {};\n\n protected value = signal<string>('');\n protected open = signal(false);\n protected ariaActiveDescendant = computed<string | null>(() => this.listBox()?.ariaActiveDescendant() ?? null);\n protected initialFocusedOptionIndex = signal<number | null>(null);\n protected groupedOptions = computed(() => {\n const groupByKey = this.groupBy();\n if (groupByKey) {\n return this.groupDataBy(groupByKey, this.options() as Record<string, unknown>[]);\n }\n return [];\n });\n private ignoreOptionsUpdate = false;\n\n constructor() {\n effect(() => {\n if (!this.options().length || this.ignoreOptionsUpdate) {\n this.ignoreOptionsUpdate = false;\n this.hideListBox();\n } else {\n this.showListBox();\n }\n });\n }\n\n protected showListBox(): void {\n this.open.set(true);\n }\n\n protected hideListBox(): void {\n this.initialFocusedOptionIndex.set(null);\n this.open.set(false);\n }\n\n protected onClick(): void {\n if (this.open()) {\n this.hideListBox();\n } else {\n if (this.options().length) {\n this.showListBox();\n }\n }\n }\n\n protected onSelectOption(value: TOption | string): void {\n let valueToSet: string;\n if (typeof value === 'string') {\n valueToSet = value;\n } else {\n const comparisonField = this.comparisonField() as string;\n if (comparisonField) {\n if (typeof value[comparisonField] === 'string') {\n valueToSet = value[comparisonField];\n } else {\n throw new Error('Type of property pointed by comparisonField must be a string.');\n }\n } else {\n throw new Error('comparisonField is not provided.');\n }\n }\n\n this.ignoreOptionsUpdate = true;\n this.value.set(valueToSet);\n this.onChange(this.value());\n this.hideListBox();\n }\n\n protected onInputChange(event: InputEvent) {\n const value = (event.target as HTMLInputElement).value;\n this.value.set(value);\n this.onChange(this.value());\n }\n\n protected onKeydown(event: KeyboardEvent) {\n event.preventDefault();\n\n if (!this.open()) {\n if (event.code === 'ArrowUp') {\n if (!this.options().length)\n return;\n this.initialFocusedOptionIndex.set(this.options().length - 1);\n this.showListBox();\n } else if (event.code === 'ArrowDown') {\n if (!this.options().length)\n return;\n this.initialFocusedOptionIndex.set(0);\n this.showListBox();\n } else if (event.code === 'Enter') {\n this.confirmSelection.emit();\n }\n } else {\n this.listBox()?.onKeydown(event);\n }\n }\n\n private groupDataBy(field: string, data: Record<string, unknown>[]): GroupData<TOption>[] {\n const groupsMap = data.reduce((map, value) => {\n const key = value[field] as string;\n if (!map.has(key)) {\n map.set(key, []);\n }\n map.get(key)?.push(value);\n return map;\n }, new Map<string, Record<string, unknown>[]>);\n\n return Array.from(groupsMap, ([group, data]) => ({ group, data })) as GroupData<TOption>[];\n }\n\n registerOnChange(onChange: (value: string) => void): void {\n this.onChange = onChange;\n }\n\n registerOnTouched(onTouch: () => void): void {\n this.onTouch = onTouch;\n }\n\n writeValue(value: string): void {\n this.value.set(value);\n }\n}\n","<input\n type=\"text\"\n role=\"combobox\"\n #comboboxInput\n cdkOverlayOrigin\n [value]=\"value() | listBoxOptionValueConverter : bindLabel()\"\n [attr.aria-expanded]=\"open()\"\n [attr.aria-controls]=\"'list-box-' + id()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-activedescendant]=\"ariaActiveDescendant()\"\n (input)=\"onInputChange($any($event))\"\n (blur)=\"hideListBox()\"\n (click)=\"onClick()\"\n (keydown.enter)=\"onKeydown($any($event))\"\n (keydown.arrowUp)=\"onKeydown($any($event))\"\n (keydown.arrowDown)=\"onKeydown($any($event))\"\n (keydown.escape)=\"hideListBox()\"\n>\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"comboboxInput\"\n [cdkConnectedOverlayOpen]=\"open()\"\n [cdkConnectedOverlayWidth]=\"comboboxInput.offsetWidth\"\n (overlayOutsideClick)=\"hideListBox()\">\n <ngx-bsl-list-box\n [initialFocusedOptionIndex]=\"initialFocusedOptionIndex()\"\n [comparisonField]=\"comparisonField()\"\n [id]=\"'list-box-' + id()\"\n [ariaLabel]=\"ariaLabel()\"\n [ariaLabelledby]=\"ariaLabelledBy()\"\n [exposeAriaActiveDescendant]=\"true\"\n (selectOption)=\"onSelectOption($event)\">\n @if (options() && !groupBy()) {\n @for (option of options(); track option; let index = $index) {\n <ngx-bsl-list-box-option\n [id]=\"'list-box-option-' + id()\"\n [value]=\"option\">\n <ng-container>{{ option | listBoxOptionValueConverter : bindLabel() }}</ng-container>\n </ngx-bsl-list-box-option>\n }\n }\n @if (groupedOptions() && groupBy()) {\n @for (group of groupedOptions(); track group) {\n <ngx-bsl-list-box-group [title]=\"group.group\"></ngx-bsl-list-box-group>\n @for (option of group.data; track option; let index = $index) {\n <ngx-bsl-list-box-option\n [id]=\"'list-box-option-' + id()\"\n [value]=\"option\">\n <ng-container>{{ option | listBoxOptionValueConverter : bindLabel() }}</ng-container>\n </ngx-bsl-list-box-option>\n }\n }\n }\n </ngx-bsl-list-box>\n</ng-template>\n","import {Component, HostListener, input, signal, ViewEncapsulation} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {IconCheckComponent} from '../icons/icon-check.component';\n\n@Component({\n selector: 'ngx-bsl-checkbox',\n imports: [\n IconCheckComponent,\n ],\n templateUrl: './checkbox.component.html',\n styleUrl: './checkbox.component.scss',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: CheckboxComponent,\n },\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n id = input.required<string>();\n\n protected checked = signal(false);\n protected disabled = signal(false);\n\n onChange = (_value: boolean) => {};\n onTouch = () => {};\n\n registerOnChange(onChange: (value: boolean) => void): void {\n this.onChange = onChange;\n }\n\n registerOnTouched(onTouch: () => void): void {\n this.onTouch = onTouch;\n }\n\n writeValue(value: boolean): void {\n this.checked.set(value);\n }\n\n setDisabledState(disabled: boolean): void {\n this.disabled.set(disabled);\n }\n\n @HostListener('keydown.enter', ['$event'])\n @HostListener('keydown.space', ['$event'])\n onKeydown(event: Event): void {\n event.preventDefault();\n }\n\n @HostListener('click')\n @HostListener('keyup.enter')\n @HostListener('keyup.space')\n onSelect(): void {\n if (this.disabled()) {\n return;\n }\n\n this.checked.set(!this.checked());\n this.onChange(this.checked());\n }\n}\n","<span role=\"checkbox\"\n [attr.aria-checked]=\"checked()\"\n [attr.aria-disabled]=\"disabled()\"\n [attr.aria-labelledby]=\"id() + '-label'\"\n [id]=\"id()\"\n [tabindex]=\"disabled() ? -1 : 0\"\n class=\"bsl-checkbox\">\n @if (checked()) {\n <ngx-bsl-icon-check></ngx-bsl-icon-check>\n }\n</span>\n\n<span [id]=\"id() + '-label'\">\n <ng-content></ng-content>\n</span>\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n/*\n eslint-disable max-len,\n @typescript-eslint/no-extraneous-class\n*/\n@Component({\n selector: 'ngx-bsl-icon-x-mark',\n imports: [],\n template: `\n <svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_20_20)\" id=\"object-0\" transform=\"matrix(0.5, 0, 0, 0.5, 0, 0)\">\n <path fill=\"currentColor\" stroke=\"currentColor\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0.490426 0.490426C1.14433 -0.163475 2.20451 -0.163475 2.85841 0.490426L24 21.632L45.1416 0.490426C45.7955 -0.163475 46.8557 -0.163475 47.5096 0.490426C48.1635 1.14433 48.1635 2.20451 47.5096 2.85841L26.368 24L47.5096 45.1416C48.1635 45.7955 48.1635 46.8557 47.5096 47.5096C46.8557 48.1635 45.7955 48.1635 45.1416 47.5096L24 26.368L2.85841 47.5096C2.20451 48.1635 1.14433 48.1635 0.490426 47.5096C-0.163475 46.8557 -0.163475 45.7955 0.490426 45.1416L21.632 24L0.490426 2.85841C-0.163475 2.20451 -0.163475 1.14433 0.490426 0.490426Z\"></path>\n </g>\n </svg>\n `,\n styleUrl: './icon.scss',\n host: {'[class.bsl-icon]': 'true'},\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconXMarkComponent {}\n","import {afterNextRender, Component, ElementRef, inject, input, output, signal} from '@angular/core';\nimport { CdkTrapFocus } from '@angular/cdk/a11y';\nimport { IconXMarkComponent } from '../icons/icon-x-mark.component';\n\n@Component({\n selector: 'ngx-bsl-drawer',\n imports: [\n CdkTrapFocus,\n IconXMarkComponent,\n ],\n templateUrl: './drawer.component.html',\n styleUrl: './drawer.component.scss',\n host: {\n 'role': 'dialog',\n 'aria-modal': 'true',\n '[attr.aria-label]': 'title()',\n '[class.ngx-bsl-drawer-closed]': 'isClosed()',\n '(transitionend)': 'onTransitionEnd($event)',\n },\n})\nexport class DrawerComponent {\n title = input.required<string>();\n closed = output();\n protected isClosed = signal(true);\n private elementRef = inject(ElementRef);\n\n constructor() {\n afterNextRender(() => {\n this.isClosed.set(false);\n });\n }\n\n close(): void {\n this.isClosed.set(true);\n }\n\n protected onTransitionEnd(event: TransitionEvent) {\n if (this.elementRef.nativeElement === event.target) {\n if (this.isClosed()) {\n this.closed.emit();\n }\n }\n }\n}\n","<div cdkTrapFocus\n cdkTrapFocusAutoCapture=\"true\"\n class=\"ngx-bsl-drawer-container\">\n <header class=\"ngx-bsl-drawer-header\">\n <button class=\"button-icon\"\n (click)=\"close()\">\n <ngx-bsl-icon-x-mark></ngx-bsl-icon-x-mark>\n </button>\n @if (title()) {\n <h2 class=\"text-ellipsis\">{{ title() }}</h2>\n }\n </header>\n <div class=\"ngx-bsl-drawer-content\">\n <ng-content></ng-content>\n </div>\n</div>\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: 'ngx-bsl-list-box-separator',\n imports: [],\n template: '',\n styleUrl: './list-box-separator.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\nexport class ListBoxSeparatorComponent {}\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n/*\n eslint-disable max-len,\n @typescript-eslint/no-extraneous-class\n*/\n@Component({\n selector: 'ngx-bsl-icon-chevron-down',\n imports: [],\n template: `\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 8 L12 16 L20 8\"/>\n </svg>\n `,\n styleUrl: './icon.scss',\n host: {'[class.bsl-icon]': 'true'},\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconChevronDownComponent {}\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n/*\n eslint-disable max-len,\n @typescript-eslint/no-extraneous-class\n*/\n@Component({\n selector: 'ngx-bsl-icon-company',\n imports: [],\n template: `\n <svg viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"32\" height=\"32\" stroke=\"none\" fill=\"#000000\" opacity=\"0\" transform=\"matrix(1, 0, 0, 1, 4.440892098500626e-16, 4.440892098500626e-16)\"/>\n <g transform=\"matrix(2.6666669845581055, 0, 0, 2.6666669845581055, 16, 16)\">\n <path style=\"stroke: none; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: currentColor; fill-rule: nonzero; opacity: 1; stroke-width: 0px;\" transform=\" translate(-8, -8)\" d=\"M 7.5 2 C 7.223869061895771 2.0000276089526747 7.000027608952674 2.223869061895771 7 2.5000000000000004 L 7 4 L 3.5 4 C 3.2238690618957704 4.000027608952675 3.0000276089526743 4.223869061895771 3 4.5 L 3 8 L 2.5 8 C 2.2238690618957704 8.000027608952674 2.0000276089526743 8.22386906189577 2 8.5 L 2 14 L 3 14 L 3 9 L 7 9 L 7 14 L 8 14 L 8 3 L 13 3 L 13 14 L 14 14 L 14 2.5 C 13.999972391047326 2.2238690618957704 13.77613093810423 2.0000276089526747 13.5 2 L 7.5 2 z M 9 4 L 9 5 L 10 5 L 10 4 L 9 4 z M 11 4 L 11 5 L 12 5 L 12 4 L 11 4 z M 4 5 L 7 5 L 7 8 L 4 8 L 4 5 z M 5 6 L 5 7 L 6 7 L 6 6 L 5 6 z M 9 6 L 9 7 L 10 7 L 10 6 L 9 6 z M 11 6 L 11 7 L 12 7 L 12 6 L 11 6 z M 9 8 L 9 9 L 10 9 L 10 8 L 9 8 z M 11 8 L 11 9 L 12 9 L 12 8 L 11 8 z M 4 10 L 4 11 L 6 11 L 6 10 L 4 10 z M 9 10 L 9 11 L 10 11 L 10 10 L 9 10 z M 11 10 L 11 11 L 12 11 L 12 10 L 11 10 z M 4 12 L 4 13 L 6 13 L 6 12 L 4 12 z M 9 12 L 9 13 L 10 13 L 10 12 L 9 12 z M 11 12 L 11 13 L 12 13 L 12 12 L 11 12 z\" stroke-linecap=\"round\"/>\n </g>\n </svg>\n `,\n styleUrl: './icon.scss',\n host: {'[class.bsl-icon]': 'true'},\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconCompanyComponent {}\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n/*\n eslint-disable max-len,\n @typescript-eslint/no-extraneous-class\n*/\n@Component({\n selector: 'ngx-bsl-icon-language',\n imports: [],\n template: `\n <svg viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\">\n <ellipse style=\"stroke: currentColor; fill: none; stroke-width: 1.5;\" cx=\"16\" cy=\"16\" rx=\"12\" ry=\"12\"/>\n <ellipse style=\"stroke: currentColor; fill: none; stroke-width: 1.5;\" cx=\"16\" cy=\"16\" rx=\"4.854\" ry=\"11.903\"/>\n <path style=\"stroke: currentColor; stroke-width: 1.5; transform-origin: 16px 12px;\" d=\"M 5.16 11.977 L 26.844 11.977\"/>\n <path style=\"stroke: currentColor; stroke-width: 1.5; transform-origin: 16px 20px;\" d=\"M 5.16 20 L 26.844 20\"/>\n </svg>\n `,\n styleUrl: './icon.scss',\n host: {'[class.bsl-icon]': 'true'},\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconLanguageComponent {}\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n/*\n eslint-disable max-len,\n @typescript-eslint/no-extraneous-class\n*/\n@Component({\n selector: 'ngx-bsl-icon-location',\n imports: [],\n template: `\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill=\"currentColor\" d=\"M 12 0 C 7.583 0 4 3.583 4 8 C 4 12.418 8.666 18.668 12 24 C 15.332 18.668 20 12.418 20 8 C 20 3.583 16.418 0 12 0 Z M 12 12.668 C 10.159 12.668 8.666 11.174 8.666 9.334 C 8.666 7.491 10.159 6 12 6 C 13.841 6 15.332 7.491 15.332 9.334 C 15.332 11.174 13.841 12.668 12 12.668 Z\" style=\"stroke-width: 0px;\"/>\n </svg>\n `,\n styleUrl: './icon.scss',\n host: {'[class.bsl-icon]': 'true'},\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconLocationComponent {}\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n/*\n eslint-disable max-len,\n @typescript-eslint/no-extraneous-class\n*/\n@Component({\n selector: 'ngx-bsl-icon-moon',\n imports: [],\n template: `\n <svg viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\">\n <path style=\"stroke: currentColor; stroke-width: 1.5; fill: none;\" stroke-linecap=\"round\" stroke-linejoin=\"round\" transform=\"matrix(-0.7071068286895752, 0.7071068286895752, -0.7071068286895752, -0.7071068286895752, 934.2892456054688, -207.70388793945312)\" d=\"M 801.408 479.913 A 12 12 0 1 1 801.408 502.087 A 11.598 11.598 0 0 0 801.408 479.913 Z\"/>\n </svg>\n `,\n styleUrl: './icon.scss',\n host: {'[class.bsl-icon]': 'true'},\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconMoonComponent {}\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n/*\n eslint-disable max-len,\n @typescript-eslint/no-extraneous-class\n*/\n@Component({\n selector: 'ngx-bsl-icon-sun',\n imports: [],\n template: `\n <svg viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M16 22.6667C19.6819 22.6667 22.6667 19.6819 22.6667 16C22.6667 12.3181 19.6819 9.33334 16 9.33334C12.3181 9.33334 9.33333 12.3181 9.33333 16C9.33333 19.6819 12.3181 22.6667 16 22.6667Z\" stroke=\"currentColor\" stroke-width=\"2\"/>\n <path d=\"M16 2.66666V5.33332\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"/>\n <path d=\"M16 26.6667V29.3333\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"/>\n <path d=\"M5.33333 16H2.66667\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"/>\n <path d=\"M29.3333 16H26.6667\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"/>\n <path d=\"M26.3704 5.63022L23.4077 8.33899\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"/>\n <path d=\"M5.62956 5.63022L8.59224 8.33899\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"/>\n <path d=\"M8.59245 23.4076L5.62948 26.3705\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"/>\n <path d=\"M26.3704 26.3697L23.4077 23.4068\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"/>\n </svg>\n `,\n styleUrl: './icon.scss',\n host: {'[class.bsl-icon]': 'true'},\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconSunComponent {}\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n/*\n eslint-disable max-len,\n @typescript-eslint/no-extraneous-class\n*/\n@Component({\n selector: 'ngx-bsl-icon-arrow-left',\n imports: [],\n template: `\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" >\n <path fill=\"currentColor\" d=\"M 16.453 0.282 C 16.536 0.195 16.636 0.124 16.744 0.075 C 16.853 0.025 16.971 0 17.091 0 C 17.211 0 17.331 0.025 17.439 0.075 C 17.547 0.124 17.647 0.195 17.731 0.282 C 17.902 0.469 17.997 0.714 17.997 0.975 C 17.997 1.23 17.902 1.48 17.731 1.662 L 8.166 11.995 L 17.731 22.333 C 17.817 22.425 17.883 22.536 17.931 22.657 C 17.979 22.777 18.003 22.905 18 23.032 C 17.997 23.161 17.971 23.293 17.922 23.413 C 17.874 23.532 17.803 23.641 17.715 23.728 C 17.631 23.815 17.535 23.883 17.425 23.928 C 17.314 23.976 17.199 24 17.079 24 C 16.962 23.995 16.849 23.968 16.741 23.92 C 16.633 23.871 16.533 23.8 16.453 23.713 L 6.279 12.718 C 6.102 12.525 6 12.267 6 11.995 C 6 11.727 6.102 11.467 6.279 11.274 L 16.453 0.282 Z\"></path>\n </svg>\n `,\n styleUrl: './icon.scss',\n host: {'[class.bsl-icon]': 'true'},\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconArrowLeftComponent {}\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n/*\n eslint-disable max-len,\n @typescript-eslint/no-extraneous-class\n*/\n@Component({\n selector: 'ngx-bsl-icon-arrow-right',\n imports: [],\n template: `\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill=\"currentColor\" d=\"M 7.547 0.284 C 7.464 0.194 7.364 0.123 7.255 0.074 C 7.145 0.025 7.026 0 6.907 0 C 6.788 0 6.67 0.025 6.56 0.074 C 6.45 0.123 6.35 0.194 6.267 0.284 C 6.096 0.469 6.001 0.716 6.001 0.974 C 6.001 1.231 6.096 1.479 6.267 1.663 L 15.834 11.998 L 6.267 22.334 C 6.181 22.427 6.113 22.537 6.067 22.657 C 6.021 22.778 5.999 22.907 6 23.036 C 6.001 23.166 6.027 23.294 6.076 23.414 C 6.124 23.533 6.195 23.641 6.283 23.732 C 6.367 23.818 6.466 23.886 6.575 23.932 C 6.684 23.978 6.801 24.001 6.918 24 C 7.036 23.998 7.152 23.972 7.26 23.923 C 7.368 23.875 7.465 23.804 7.547 23.715 L 17.721 12.719 C 17.9 12.526 18 12.267 18 11.998 C 18 11.728 17.9 11.469 17.721 11.276 L 7.547 0.284 Z\"></path>\n </svg>\n `,\n styleUrl: './icon.scss',\n host: {'[class.bsl-icon]': 'true'},\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconArrowRightComponent {}\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n/*\n eslint-disable max-len,\n @typescript-eslint/no-extraneous-class\n*/\n@Component({\n selector: 'ngx-bsl-icon-arrow-left-double',\n imports: [],\n template: `\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill=\"currentColor\" d=\"M 12.529 0.284 C 12.614 0.194 12.714 0.123 12.825 0.074 C 12.936 0.025 13.055 0 13.175 0 C 13.295 0 13.414 0.025 13.524 0.074 C 13.636 0.123 13.736 0.194 13.82 0.284 C 13.992 0.469 14.087 0.716 14.087 0.974 C 14.087 1.232 13.992 1.479 13.82 1.664 L 4.181 11.998 L 13.82 22.334 C 13.906 22.427 13.975 22.537 14.021 22.657 C 14.067 22.778 14.089 22.907 14.088 23.037 C 14.087 23.166 14.061 23.295 14.013 23.414 C 13.963 23.533 13.893 23.641 13.803 23.732 C 13.719 23.818 13.619 23.887 13.509 23.933 C 13.399 23.979 13.282 24.001 13.163 24 C 13.045 23.998 12.928 23.972 12.82 23.924 C 12.711 23.875 12.613 23.804 12.529 23.715 L 2.281 12.72 C 2.101 12.526 2 12.268 2 11.998 C 2 11.728 2.101 11.469 2.281 11.276 L 12.529 0.284 Z M 20.441 0.284 C 20.525 0.194 20.625 0.123 20.736 0.074 C 20.847 0.025 20.966 0 21.086 0 C 21.206 0 21.325 0.025 21.436 0.074 C 21.546 0.123 21.647 0.194 21.729 0.284 C 21.903 0.469 21.999 0.716 21.999 0.974 C 21.999 1.232 21.903 1.479 21.729 1.664 L 12.093 11.998 L 21.729 22.334 C 21.818 22.427 21.886 22.537 21.933 22.657 C 21.978 22.778 22.001 22.907 22 23.037 C 21.999 23.166 21.973 23.295 21.923 23.414 C 21.875 23.533 21.804 23.641 21.715 23.732 C 21.629 23.818 21.529 23.887 21.42 23.933 C 21.309 23.979 21.194 24.001 21.075 24 C 20.957 23.998 20.84 23.972 20.729 23.924 C 20.622 23.875 20.524 23.804 20.441 23.715 L 10.193 12.72 C 10.013 12.526 9.912 12.268 9.912 11.998 C 9.912 11.728 10.013 11.469 10.193 11.276 L 20.441 0.284 Z\"></path>\n </svg>\n `,\n styleUrl: './icon.scss',\n host: {'[class.bsl-icon]': 'true'},\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconArrowLeftDoubleComponent {}\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n/*\n eslint-disable max-len,\n @typescript-eslint/no-extraneous-class\n*/\n@Component({\n selector: 'ngx-bsl-icon-arrow-right-double',\n imports: [],\n template: `\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill=\"currentColor\" d=\"M 12.523 0.284 C 12.448 0.194 12.358 0.123 12.257 0.074 C 12.158 0.025 12.051 0 11.943 0 C 11.835 0 11.728 0.025 11.628 0.074 C 11.528 0.123 11.438 0.194 11.362 0.284 C 11.208 0.469 11.121 0.716 11.121 0.974 C 11.121 1.232 11.208 1.479 11.362 1.664 L 20.037 11.998 L 11.362 22.334 C 11.284 22.427 11.223 22.537 11.181 22.657 C 11.139 22.778 11.119 22.907 11.12 23.037 C 11.121 23.166 11.145 23.295 11.189 23.414 C 11.233 23.533 11.297 23.641 11.376 23.732 C 11.453 23.818 11.543 23.887 11.641 23.933 C 11.741 23.979 11.846 24.001 11.953 24 C 12.059 23.998 12.164 23.972 12.262 23.924 C 12.361 23.875 12.449 23.804 12.523 23.715 L 21.747 12.72 C 21.909 12.526 22 12.268 22 11.998 C 22 11.728 21.909 11.469 21.747 11.276 L 12.523 0.284 Z M 5.403 0.284 C 5.327 0.194 5.237 0.123 5.138 0.074 C 5.037 0.025 4.93 0 4.822 0 C 4.714 0 4.607 0.025 4.508 0.074 C 4.408 0.123 4.317 0.194 4.243 0.284 C 4.087 0.469 4.001 0.716 4.001 0.974 C 4.001 1.232 4.087 1.479 4.243 1.664 L 12.917 11.998 L 4.243 22.334 C 4.164 22.427 4.102 22.537 4.061 22.657 C 4.02 22.778 3.999 22.907 4 23.037 C 4.001 23.166 4.025 23.295 4.069 23.414 C 4.113 23.533 4.176 23.641 4.257 23.732 C 4.333 23.818 4.423 23.887 4.522 23.933 C 4.621 23.979 4.726 24.001 4.833 24 C 4.939 23.998 5.044 23.972 5.143 23.924 C 5.24 23.875 5.328 23.804 5.403 23.715 L 14.627 12.72 C 14.789 12.526 14.88 12.268 14.88 11.998 C 14.88 11.728 14.789 11.469 14.627 11.276 L 5.403 0.284 Z\"></path>\n </svg>\n `,\n styleUrl: './icon.scss',\n host: {'[class.bsl-icon]': 'true'},\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconArrowRightDoubleComponent {}\n","import {ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n input,\n model,\n output,\n signal,\n viewChild,\n ViewEncapsulation} from '@angular/core';\nimport {IconArrowLeftComponent} from '../icons/icon-arrow-left.component';\nimport {IconArrowRightComponent} from '../icons/icon-arrow-right.component';\nimport {IconArrowLeftDoubleComponent} from '../icons/icon-arrow-left-double.component';\nimport {IconArrowRightDoubleComponent} from '../icons/icon-arrow-right-double.component';\n\n@Component({\n selector: 'ngx-bsl-pagination',\n imports: [\n IconArrowLeftComponent,\n IconArrowRightComponent,\n IconArrowLeftDoubleComponent,\n IconArrowRightDoubleComponent,\n ],\n templateUrl: './pagination.component.html',\n styleUrl: './pagination.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class PaginationComponent {\n page = model(1);\n total = input(1);\n size = input(10);\n nextPageAriaLabel = input('Next page');\n previousPageAriaLabel = input('Previous page');\n firstPageAriaLabel = input('First page');\n lastPageAriaLabel = input('Last page');\n selectPageAriaLabel = input('Select page');\n selectPageAriaLabelledBy = input<string | null>(null);\n\n pageChanged = output<number>();\n\n protected inputRef = viewChild.required<ElementRef<HTMLInputElement>>('inputRef');\n\n protected pages = computed(() => Math.ceil(this.total() / this.size()));\n protected disabled = signal(false);\n\n protected onInputBlur(value: number): void {\n if (isNaN(value) || value < -1) {\n this.page.set(1);\n this.inputRef().nativeElement.value = this.page().toString();\n }\n else if (value > this.pages()) {\n this.page.set(this.pages());\n this.inputRef().nativeElement.value = this.page().toString();\n }\n else {\n this.page.set(value);\n }\n this.pageChanged.emit(this.page());\n }\n\n protected onInputEnter(): void {\n this.pageChanged.emit(this.page());\n }\n\n protected onNextPage(event: PointerEvent): void {\n if (this.page() < this.pages()) {\n this.page.update(value => value + 1);\n }\n if (event.pointerType === '' && this.page() === this.pages()) {\n this.inputRef().nativeElement.focus();\n }\n }\n\n protected onPreviousPage(event: PointerEvent): void {\n if (this.page() > 1) {\n this.page.update(value => value - 1);\n }\n if (event.pointerType === '' && this.page() === 1) {\n this.inputRef().nativeElement.focus();\n }\n }\n\n protected onFirstPage(event: PointerEvent): void {\n this.page.set(1);\n if (event.pointerType === '') {\n this.inputRef().nativeElement.focus();\n }\n }\n\n protected onLastPage(event: PointerEvent): void {\n this.page.set(this.pages());\n if (event.pointerType === '') {\n this.inputRef().nativeElement.focus();\n }\n }\n}\n","<button\n type=\"button\"\n class=\"button-icon\"\n [attr.aria-label]=\"firstPageAriaLabel()\"\n [disabled]=\"disabled() || page() === 1\"\n (click)=\"onFirstPage($any($event))\">\n <ngx-bsl-icon-arrow-left-double></ngx-bsl-icon-arrow-left-double>\n</button>\n\n<button\n type=\"button\"\n class=\"button-icon\"\n [attr.aria-label]=\"previousPageAriaLabel()\"\n [disabled]=\"disabled() || page() === 1\"\n (click)=\"onPreviousPage($any($event))\">\n <ngx-bsl-icon-arrow-left></ngx-bsl-icon-arrow-left>\n</button>\n\n<input\n type=\"number\"\n [attr.aria-label]=\"selectPageAriaLabel()\"\n [attr.aria-labelledby]=\"selectPageAriaLabelledBy()\"\n [disabled]=\"disabled()\"\n [min]=\"1\"\n [max]=\"pages()\"\n [value]=\"page()\"\n (blur)=\"onInputBlur($any($event.target).valueAsNumber)\"\n (keydown.enter)=\"onInputEnter()\">\n\n<button\n type=\"button\"\n class=\"button-icon\"\n [attr.aria-label]=\"nextPageAriaLabel()\"\n [disabled]=\"disabled() || page() === pages()\"\n (click)=\"onNextPage($any($event))\">\n <ngx-bsl-icon-arrow-right></ngx-bsl-icon-arrow-right>\n</button>\n\n<button\n type=\"button\"\n class=\"button-icon\"\n [attr.aria-label]=\"lastPageAriaLabel()\"\n [disabled]=\"disabled() || page() === pages()\"\n (click)=\"onLastPage($any($event))\">\n <ngx-bsl-icon-arrow-right-double></ngx-bsl-icon-arrow-right-double>\n</button>\n","export enum RangeMoveDirection {\n FORWARD = 'forward',\n BACKWARD = 'backward',\n}\n","import {Component,\n DOCUMENT,\n ElementRef,\n inject,\n input,\n OnDestroy,\n output,\n Renderer2} from '@angular/core';\nimport {RangeMoveDirection} from '../range-move-direction.enum';\n\n@Component({\n selector: 'ngx-bsl-range-thumb',\n imports: [],\n template: `\n @if (showLabel()) {\n <span class=\"thumb-label\">{{value()}}</span>\n }\n `,\n styleUrl: './range-thumb.component.scss',\n host: {\n '(keydown.arrowLeft)': 'positionChanged.emit(RangeMoveDirection.BACKWARD)',\n '(keydown.arrowRight)': 'positionChanged.emit(RangeMoveDirection.FORWARD)',\n '(pointerdown)': 'onPointerDown($event)',\n },\n})\nexport class RangeThumbComponent implements OnDestroy {\n private renderer = inject(Renderer2);\n private document = inject(DOCUMENT);\n private elementRef = inject<ElementRef<HTMLElement>>(ElementRef<HTMLElement>);\n\n ratio = input(0);\n value = input(0);\n showLabel = input(false);\n\n positionChanged = output<RangeMoveDirection>();\n\n protected readonly RangeMoveDirection = RangeMoveDirection;\n private pointerUpListener: (() => void) | null = null;\n private pointerMoveListener: (() => void) | null = null;\n\n protected onPointerDown(event: PointerEvent): void {\n this.elementRef.nativeElement.setPointerCapture(event.pointerId);\n this.pointerUpListener = this.renderer.listen(\n this.document,\n 'pointerup',\n this.onPointerUp.bind(this),\n );\n this.pointerMoveListener = this.renderer.listen(\n this.document,\n 'pointermove',\n this.onPointerMove.bind(this),\n );\n }\n\n private onPointerUp(event: PointerEvent): void {\n this.elementRef.nativeElement.releasePointerCapture(event.pointerId);\n this.disposePointerUpListener();\n this.disposePointerMoveListener();\n }\n\n private onPointerMove(event: PointerEvent): void {\n const thumbPositionLeft = this.elementRef.nativeElement.getBoundingClientRect().left;\n const thumbWidth = this.elementRef.nativeElement.offsetWidth;\n const thumbPositionCenter = thumbPositionLeft + thumbWidth / 2;\n const pointerPosition = event.pageX;\n\n if (pointerPosition > thumbPositionCenter + this.ratio() / 2) {\n this.positionChanged.emit(RangeMoveDirection.FORWARD);\n }\n else if (pointerPosition <= thumbPositionCenter - this.ratio() / 2) {\n this.positionChanged.emit(RangeMoveDirection.BACKWARD);\n }\n }\n\n private disposePointerUpListener(): void {\n if (this.pointerUpListener) {\n this.pointerUpListener();\n }\n }\n\n private disposePointerMoveListener(): void {\n if (this.pointerMoveListener) {\n this.pointerMoveListener();\n }\n }\n\n ngOnDestroy(): void {\n this.disposePointerUpListener();\n this.disposePointerMoveListener();\n }\n}\n","export function round(value: number, digits = 0): number {\n return parseFloat(value.toFixed(digits));\n}\n\nexport function getDigitsNumber(value: number): number {\n return String(value).split('.')[1]?.length || 0;\n}\n","import {Component, ElementRef, inject, input, model, signal, OnInit, computed, viewChild, OnDestroy} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {RangeThumbComponent} from './range-thumb/range-thumb.component';\nimport {RangeMoveDirection} from './range-move-direction.enum';\nimport {getDigitsNumber, round} from '../utils/number.util';\n\nclass Range {\n from: number;\n to: number;\n\n constructor(from = 0, to = 10) {\n this.from = from;\n this.to = to;\n }\n}\n\nenum Thumb {\n FROM = 'from',\n TO = 'to',\n}\n\n@Component({\n selector: 'ngx-bsl-range',\n imports: [\n RangeThumbComponent,\n ],\n templateUrl: './range.component.html',\n styleUrl: './range.component.scss',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: RangeComponent,\n },\n ],\n host: {\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n },\n})\nexport class RangeComponent implements ControlValueAccessor, OnInit, OnDestroy {\n private elementRef = inject(ElementRef<HTMLElement>) as ElementRef<HTMLElement>;\n\n min = input(0);\n max = input(5);\n step = input(1);\n value = model(new Range(0, 5));\n ariaLabel = input<string | null>(null, {alias: 'aria-label'});\n ariaLabelledBy = input<string | null>(null, {alias: 'aria-labelledby'});\n showThumbLabels = input(false);\n\n protected thumbFromRef = viewChild.required<RangeThumbComponent, ElementRef<HTMLElement>>('thumbFrom',\n {read: ElementRef<HTMLElement>});\n protected thumbToRef = viewChild.required<RangeThumbComponent, ElementRef<HTMLElement>>('thumbTo',\n {read: ElementRef<HTMLElement>});\n\n protected _step = signal(1);\n protected disabled = signal(false);\n protected ratio = signal(0);\n protected thumbFromPosition = signal(0);\n protected thumbToPosition = signal(0);\n protected overlappingThumb = signal(Thumb.FROM);\n private stepDigits = computed(() => getDigitsNumber(this._step()));\n private thumbWidth = computed(() => this.thumbFromRef().nativeElement.offsetWidth || 0);\n protected trackerLeft = computed(() => `${this.thumbFromPosition() + this.thumbWidth() / 2}px`);\n protected trackerRight = computed(() => {\n const railWidth = this.elementRef.nativeElement.getBoundingClientRect().width || 0;\n return `${railWidth - this.thumbToPosition() - this.thumbWidth() / 2}px`;\n });\n\n protected readonly Thumb = Thumb;\n private resizeObserver!: ResizeObserver;\n\n onChange = (_value: Range) => {\n };\n onTouch = () => {\n };\n\n ngOnInit(): void {\n this.validateRange();\n this.validateStep();\n this.initResizeObserver();\n }\n\n private validateRange(): void {\n let range: Range | null = null;\n\n if (Number.isNaN(this.value().from) || !this.valueInRange(this.value().from)) {\n range = new Range(this.min(), this.value().to);\n }\n\n if (Number.isNaN(this.value().to) || !this.valueInRange(this.value().to)) {\n if (range) {\n range.to = this.max();\n } else {\n range = new Range(this.value().from, this.max());\n }\n }\n\n if (this.value().from > this.value().to) {\n if (range) {\n range.from = this.min();\n range.to = this.max();\n } else {\n range = new Range(this.min(), this.max());\n }\n }\n\n if (range) {\n this.value.update(() => range);\n this.onChange(this.value());\n }\n }\n\n private valueInRange(value: number): boolean {\n return this.min() <= value && value <= this.max();\n }\n\n private validateStep(): void {\n const isStepDividerOfRange = (this.max() - this.min()) % this.step() === 0;\n this._step.set(isStepDividerOfRange ? this.step() : parseFloat(((this.max() - this.min()) / 10).toFixed(0)));\n }\n\n private initResizeObserver(): void {\n this.resizeObserver = new ResizeObserver(() => {\n this.computeRatio();\n this.computeFromThumbPosition();\n this.computeToThumbPosition();\n });\n this.resizeObserver.observe(this.elementRef.nativeElement);\n }\n\n private computeRatio(): void {\n const graduation = (this.max() - this.min()) / this._step();\n const hostWidth = this.elementRef.nativeElement.offsetWidth - this.thumbWidth();\n this.ratio.set(parseFloat((hostWidth / graduation).toFixed(3)));\n }\n\n private computeFromThumbPosition(): void {\n this.thumbFromPosition.set((this.value().from / this._step()) * this.ratio());\n }\n\n private computeToThumbPosition(): void {\n this.thumbToPosition.set(this.value().to / this._step() * this.ratio());\n }\n\n protected onPositionChangedThumbFrom(direction: RangeMoveDirection): void {\n if (this.disabled()) {\n return;\n }\n\n if (this.minReached(direction) || this.toReached(direction)) {\n return;\n }\n\n const diff = direction === RangeMoveDirection.BACKWARD ? -this._step() : this._step();\n const newFrom = this.value().from + diff;\n this.value.update((value) => new Range(round(newFrom, this.stepDigits()), value.to));\n this.onChange(this.value());\n this.computeFromThumbPosition();\n this.overlappingThumb.set(Thumb.FROM);\n }\n\n protected onPositionChangedThumbTo(direction: RangeMoveDirection): void {\n if (this.disabled()) {\n return;\n }\n\n if (this.maxReached(direction) || this.fromReached(direction)) {\n return;\n }\n\n const diff = direction === RangeMoveDirection.BACKWARD ? -this._step() : this._step();\n const newTo = this.value().to + diff;\n this.value.update((value) => new Range(value.from, round(newTo, this.stepDigits())));\n this.onChange(this.value());\n this.computeToThumbPosition();\n this.overlappingThumb.set(Thumb.TO);\n }\n\n private minReached(direction: RangeMoveDirection): boolean {\n return direction === RangeMoveDirection.BACKWARD && this.value().from === this.min();\n }\n\n private maxReached(direction: RangeMoveDirection): boolean {\n return direction === RangeMoveDirection.FORWARD && this.value().to === this.max();\n }\n\n private fromReached(direction: RangeMoveDirection): boolean {\n return direction === RangeMoveDirection.BACKWARD && this.value().from === this.value().to;\n }\n\n private toReached(direction: RangeMoveDirection): boolean {\n return direction === RangeMoveDirection.FORWARD && this.value().from === this.value().to;\n }\n\n protected onRailClick(event: MouseEvent): void {\n if (this.disabled()) {\n return;\n }\n\n const pointerPosition = event.pageX;\n const newValue = this.computeNewValueOnClick(pointerPosition);\n const thumb = this.selectThumbToMove(pointerPosition);\n if (thumb === Thumb.FROM) {\n this.value.update((value) => new Range(newValue, value.to));\n this.onChange(this.value());\n this.computeFromThumbPosition();\n } else {\n this.value.update((value) => new Range(value.from, newValue));\n this.onChange(this.value());\n this.computeToThumbPosition();\n }\n }\n\n private computeNewValueOnClick(pointerPosition: number): number {\n const hostPositionLeft = this.elementRef.nativeElement.getBoundingClientRect().left;\n const pointerOffsetFromHostEdge = pointerPosition - hostPositionLeft;\n const stepIndex = round((pointerOffsetFromHostEdge - this.thumbWidth() / 2) / this.ratio());\n return round(stepIndex * this._step(), this.stepDigits());\n }\n\n private selectThumbToMove(pointerPosition: number): Thumb {\n const fromThumbPosition = this.thumbFromRef().nativeElement.getBoundingClientRect().left;\n const toThumbPosition = this.thumbToRef().nativeElement.getBoundingClientRect().left;\n\n const pointerFromThumbDiff = Math.abs(pointerPosition - fromThumbPosition);\n const pointerToThumbDiff = Math.abs(pointerPosition - toThumbPosition);\n\n if (pointerFromThumbDiff < pointerToThumbDiff) {\n return Thumb.FROM;\n }\n\n if (pointerFromThumbDiff > pointerToThumbDiff) {\n return Thumb.TO;\n }\n\n // Pointer in the middle\n if (pointerPosition < pointerFromThumbDiff) {\n return Thumb.FROM;\n }\n\n return Thumb.TO;\n }\n\n registerOnChange(onChange: (value: Range) => void): void {\n this.onChange = onChange;\n }\n\n registerOnTouched(onTouch: () => void): void {\n this.onTouch = onTouch;\n }\n\n writeValue(value: Range): void {\n this.value.set(value);\n this.computeFromThumbPosition();\n this.computeToThumbPosition();\n }\n\n setDisabledState(disabled: boolean): void {\n this.disabled.set(disabled);\n }\n\n ngOnDestroy(): void {\n this.resizeObserver.disconnect();\n }\n}\n","<div class=\"range\">\n <!-- eslint-disable-next-line @angular-eslint/template/interactive-supports-focus, @angular-eslint/template/click-events-have-key-events -->\n <div class=\"rail\"\n [class.disabled]=\"disabled()\"\n (click)=\"onRailClick($event)\">\n </div>\n\n <div class=\"tracker\"\n [class.disabled]=\"disabled()\"\n [style.left]=\"trackerLeft()\"\n [style.right]=\"trackerRight()\">\n </div>\n\n <ngx-bsl-range-thumb\n #thumbFrom\n role=\"slider\"\n [attr.aria-valuemin]=\"min()\"\n [attr.aria-valuemax]=\"value().to\"\n [attr.aria-valuenow]=\"value().from\"\n [attr.aria-valuetext]=\"value().from + ' - ' + value().to\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [tabindex]=\"disabled() ? -1 : 0\"\n [class.disabled]=\"disabled()\"\n [style.left]=\"thumbFromPosition() + 'px'\"\n [style.z-index]=\"overlappingThumb() === 'from' ? 1 : 0\"\n [value]=\"value().from\"\n [ratio]=\"this.ratio()\"\n [showLabel]=\"showThumbLabels()\"\n (focus)=\"overlappingThumb.set(Thumb.FROM)\"\n (positionChanged)=\"onPositionChangedThumbFrom($event)\">\n </ngx-bsl-range-thumb>\n\n <ngx-bsl-range-thumb\n #thumbTo\n role=\"slider\"\n [attr.aria-valuemin]=\"value().from\"\n [attr.aria-valuemax]=\"max()\"\n [attr.aria-valuenow]=\"value().to\"\n [attr.aria-valuetext]=\"value().from + ' - ' + value().to\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [tabindex]=\"disabled() ? -1 : 0\"\n [class.disabled]=\"disabled()\"\n [style.left]=\"thumbToPosition() + 'px'\"\n [style.z-index]=\"overlappingThumb() === 'to' ? 1 : 0\"\n [value]=\"value().to\"\n [ratio]=\"this.ratio()\"\n [showLabel]=\"showThumbLabels()\"\n (focus)=\"overlappingThumb.set(Thumb.TO)\"\n (positionChanged)=\"onPositionChangedThumbTo($event)\">\n </ngx-bsl-range-thumb>\n</div>\n\n<div class=\"limits\">\n <span>{{ min() }}</span>\n <span>{{ max() }}</span>\n</div>\n","import {ChangeDetectionStrategy,\n Component,\n computed,\n forwardRef,\n input,\n model,\n signal,\n viewChild,\n ViewEncapsulation} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {CdkConnectedOverlay, CdkOverlayOrigin} from '@angular/cdk/overlay';\nimport {IconChevronDownComponent} from '../icons/icon-chevron-down.component';\nimport {ListBoxComponent} from '../list-box/list-box.component';\nimport {ListBoxOptionComponent} from '../list-box/list-box-option/list-box-option.component';\nimport {ListBoxOptionValueConverterPipe} from '../list-box/list-box-option/list-box-option-value-converter.pipe';\n\n@Component({\n selector: 'ngx-bsl-select',\n imports: [\n CdkOverlayOrigin,\n CdkConnectedOverlay,\n IconChevronDownComponent,\n ListBoxComponent,\n ListBoxOptionComponent,\n ListBoxOptionValueConverterPipe,\n ],\n templateUrl: './select.component.html',\n styleUrl: './select.component.scss',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectComponent),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class SelectComponent<TOption> implements ControlValueAccessor {\n id = input.required<string>();\n options = input.required<TOption[]>();\n bindLabel = input<string>();\n placeholder = input<string>('');\n ariaLabel = input<string>();\n ariaLabelledBy = input<string>();\n comparisonField = input<keyof TOption>();\n iconMode = input(false);\n customIcon = input(false);\n dropdownWidth = input<string>();\n\n private listBox = viewChild(ListBoxComponent);\n\n onChange = (_value: TOption) => {};\n onTouch = () => {};\n value = model<TOption>();\n\n protected open = signal(false);\n protected ariaActiveDescendant = computed<string | null>(() => this.listBox()?.ariaActiveDescendant() ?? null);\n protected initialFocusedOptionIndex = signal<number | null>(null);\n\n protected showListBox(): void {\n this.open.set(true);\n }\n\n protected hideListBox(): void {\n this.initialFocusedOptionIndex.set(null);\n this.open.set(false);\n }\n\n protected onClick(): void {\n if (this.open()) {\n this.hideListBox();\n } else {\n this.showListBox();\n }\n }\n\n protected onSelectOption(value: TOption): void {\n this.value.set(value);\n this.onChange(value);\n this.hideListBox();\n }\n\n protected onKeydown(event: KeyboardEvent) {\n event.preventDefault();\n\n if (!this.open()) {\n this.showListBox();\n if (event.code === 'ArrowUp') {\n this.initialFocusedOptionIndex.set(this.options().length - 1);\n } else if (event.code === 'ArrowDown') {\n this.initialFocusedOptionIndex.set(0);\n }\n } else {\n this.listBox()?.onKeydown(event);\n }\n }\n\n registerOnChange(onChange: (value: TOption) => void): void {\n this.onChange = onChange;\n }\n\n registerOnTouched(onTouch: () => void): void {\n this.onTouch = onTouch;\n }\n\n writeValue(value: TOption): void {\n this.value.set(value);\n }\n}\n","<button\n type=\"button\"\n role=\"combobox\"\n #selectButton\n class=\"bsl-select-button\"\n cdkOverlayOrigin\n [attr.aria-expanded]=\"open()\"\n [attr.aria-controls]=\"'list-box-' + id()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-activedescendant]=\"ariaActiveDescendant()\"\n [class.button-icon]=\"iconMode()\"\n (click)=\"onClick()\"\n (keydown.enter)=\"onKeydown($any($event))\"\n (keydown.space)=\"onKeydown($any($event))\"\n (keydown.arrowUp)=\"onKeydown($any($event))\"\n (keydown.arrowDown)=\"onKeydown($any($event))\"\n (keydown.escape)=\"hideListBox()\">\n @if (iconMode()) {\n <ng-content select=\"[data-custom-icon]\"></ng-content>\n } @else {\n <span>{{ value() ? (value() | listBoxOptionValueConverter : bindLabel()) : placeholder() }}</span>\n\n @if (customIcon()) {\n <ng-content select=\"[data-custom-icon]\"></ng-content>\n } @else {\n <ngx-bsl-icon-chevron-down></ngx-bsl-icon-chevron-down>\n }\n }\n</button>\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"selectButton\"\n [cdkConnectedOverlayOpen]=\"open()\"\n [cdkConnectedOverlayWidth]=\"dropdownWidth() || selectButton.offsetWidth\"\n (overlayOutsideClick)=\"hideListBox()\">\n <ngx-bsl-list-box\n [initialValue]=\"value()\"\n [initialFocusedOptionIndex]=\"initialFocusedOptionIndex()\"\n [comparisonField]=\"comparisonField()\"\n [id]=\"'list-box-' + id()\"\n [ariaLabel]=\"ariaLabel()\"\n [ariaLabelledby]=\"ariaLabelledBy()\"\n [exposeAriaActiveDescendant]=\"true\"\n (selectOption)=\"onSelectOption($event)\">\n @for (option of options(); track option) {\n <ngx-bsl-list-box-option\n [id]=\"'list-box-option-' + id()\"\n [value]=\"option\">\n <ng-container>{{ option | listBoxOptionValueConverter : bindLabel() }}</ng-container>\n </ngx-bsl-list-box-option>\n }\n </ngx-bsl-list-box>\n</ng-template>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngx-bsl-tooltip',\n imports: [],\n template: '{{message}}',\n styleUrl: './tooltip.component.scss',\n host: {'role': 'tooltip'},\n})\nexport class TooltipComponent {\n message = '';\n}\n","import { ConnectedPosition } from '@angular/cdk/overlay';\nimport { TooltipPosition } from './tooltip-position.enum';\n\nexport const TOOLTIP_OVERLAY_POSITION: Record<TooltipPosition, ConnectedPosition> = {\n TOP: {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n },\n BOTTOM: {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n },\n LEFT: {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n },\n RIGHT: {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n },\n};\n","export enum TooltipPosition {\n TOP = 'TOP',\n BOTTOM = 'BOTTOM',\n LEFT = 'LEFT',\n RIGHT = 'RIGHT',\n}\n","import {Directive, ElementRef, inject, input} from '@angular/core';\nimport {FlexibleConnectedPositionStrategy, Overlay, OverlayRef} from '@angular/cdk/overlay';\nimport {ComponentPortal} from '@angular/cdk/portal';\nimport {TooltipComponent} from './tooltip.component';\nimport {TOOLTIP_OVERLAY_POSITION} from './tooltip-overlay-position.const';\nimport {TooltipPosition} from './tooltip-position.enum';\n\n@Directive({\n selector: '[ngxBslTooltip]',\n host: {\n '(mouseenter)': 'show()',\n '(mouseleave)': 'hide()',\n '(focus)': 'show()',\n '(blur)': 'hide()',\n },\n})\nexport class TooltipDirective {\n message = input.required<string>({alias: 'ngxBslTooltip'});\n position = input(TooltipPosition.TOP);\n\n private overlay = inject(Overlay);\n private elementRef = inject(ElementRef) as ElementRef<HTMLElement>;\n\n private overlayRef: null | OverlayRef = null;\n\n protected show(): void {\n this.hide();\n if (this.message()) {\n const positionStrategy = this.createPositionStrategy();\n this.overlayRef = this.overlay.create({positionStrategy});\n const componentPortal = new ComponentPortal(TooltipComponent);\n const componentInstance = this.overlayRef.attach(componentPortal);\n componentInstance.instance.message = this.message();\n }\n }\n protected hide(): void {\n if (this.overlayRef?.hasAttached()) {\n this.overlayRef.detach();\n this.overlayRef = null;\n }\n }\n\n private createPositionStrategy(): FlexibleConnectedPositionStrategy {\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(this.elementRef.nativeElement)\n .withPositions([TOOLTIP_OVERLAY_POSITION[this.position()]]);\n\n const tooltipOffset = 8;\n\n switch (this.position()) {\n case TooltipPosition.TOP:\n positionStrategy.withDefaultOffsetY(-tooltipOffset);\n break;\n case TooltipPosition.BOTTOM:\n positionStrategy.withDefaultOffsetY(tooltipOffset);\n break;\n case TooltipPosition.LEFT:\n positionStrategy.withDefaultOffsetX(-tooltipOffset);\n break;\n case TooltipPosition.RIGHT:\n positionStrategy.withDefaultOffsetX(tooltipOffset);\n break;\n default:\n break;\n }\n\n return positionStrategy;\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-bsl.mjs","sources":["../../../projects/ngx-bsl/src/lib/utils/id-generator.ts","../../../projects/ngx-bsl/src/lib/icons/icon-check.component.ts","../../../projects/ngx-bsl/src/lib/list-box/list-box-option/list-box-option.component.ts","../../../projects/ngx-bsl/src/lib/list-box/list-box.component.ts","../../../projects/ngx-bsl/src/lib/list-box/list-box-group/list-box-group.component.ts","../../../projects/ngx-bsl/src/lib/list-box/list-box-option/list-box-option-value-converter.pipe.ts","../../../projects/ngx-bsl/src/lib/combobox/combobox.component.ts","../../../projects/ngx-bsl/src/lib/combobox/combobox.component.html","../../../projects/ngx-bsl/src/lib/checkbox/checkbox.component.ts","../../../projects/ngx-bsl/src/lib/checkbox/checkbox.component.html","../../../projects/ngx-bsl/src/lib/icons/icon-x-mark.component.ts","../../../projects/ngx-bsl/src/lib/drawer/drawer.component.ts","../../../projects/ngx-bsl/src/lib/drawer/drawer.component.html","../../../projects/ngx-bsl/src/lib/list-box/list-box-separator/list-box-separator.component.ts","../../../projects/ngx-bsl/src/lib/icons/icon-chevron-down.component.ts","../../../projects/ngx-bsl/src/lib/icons/icon-company.component.ts","../../../projects/ngx-bsl/src/lib/icons/icon-language.component.ts","../../../projects/ngx-bsl/src/lib/icons/icon-location.component.ts","../../../projects/ngx-bsl/src/lib/icons/icon-moon.component.ts","../../../projects/ngx-bsl/src/lib/icons/icon-sun.component.ts","../../../projects/ngx-bsl/src/lib/icons/icon-arrow-left.component.ts","../../../projects/ngx-bsl/src/lib/icons/icon-arrow-right.component.ts","../../../projects/ngx-bsl/src/lib/icons/icon-arrow-left-double.component.ts","../../../projects/ngx-bsl/src/lib/icons/icon-arrow-right-double.component.ts","../../../projects/ngx-bsl/src/lib/pagination/pagination.component.ts","../../../projects/ngx-bsl/src/lib/pagination/pagination.component.html","../../../projects/ngx-bsl/src/lib/range/range-move-direction.enum.ts","../../../projects/ngx-bsl/src/lib/range/range-thumb/range-thumb.component.ts","../../../projects/ngx-bsl/src/lib/utils/number.util.ts","../../../projects/ngx-bsl/src/lib/range/range.component.ts","../../../projects/ngx-bsl/src/lib/range/range.component.html","../../../projects/ngx-bsl/src/lib/select/select.component.ts","../../../projects/ngx-bsl/src/lib/select/select.component.html","../../../projects/ngx-bsl/src/lib/tooltip/tooltip.component.ts","../../../projects/ngx-bsl/src/lib/tooltip/tooltip-overlay-position.const.ts","../../../projects/ngx-bsl/src/lib/tooltip/tooltip-position.enum.ts","../../../projects/ngx-bsl/src/lib/tooltip/tooltip.directive.ts","../../../projects/ngx-bsl/src/ngx-bsl.ts"],"sourcesContent":["export class IdGenerator {\n private id = 0;\n\n nextId(): number {\n return this.id++;\n }\n}\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n/*\n eslint-disable max-len,\n @typescript-eslint/no-extraneous-class\n*/\n@Component({\n selector: 'ngx-bsl-icon-check',\n imports: [],\n template: `\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M4 12.6111L8.92308 17.5L20 6.5\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n `,\n styleUrl: './icon.scss',\n host: {'[class.bsl-icon]': 'true'},\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconCheckComponent {}\n","import {ChangeDetectionStrategy, Component, computed, inject, input, ViewEncapsulation} from '@angular/core';\nimport {IdGenerator} from '../../utils/id-generator';\nimport {IconCheckComponent} from '../../icons/icon-check.component';\n\n@Component({\n selector: 'ngx-bsl-list-box-option',\n imports: [\n IconCheckComponent,\n ],\n template: `\n <ng-content></ng-content>\n <ngx-bsl-icon-check></ngx-bsl-icon-check>\n `,\n styleUrl: './list-box-option.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'role': 'option',\n '[attr.id]': 'listBoxOptionId()',\n },\n})\nexport class ListBoxOptionComponent<TOption> {\n value = input.required<TOption>();\n id = input.required<string>();\n\n private optionIdGenerator = inject(IdGenerator);\n\n protected listBoxOptionId = computed(() => {\n const id = this.optionIdGenerator.nextId();\n return `${this.id()}-${id}`;\n });\n}\n","import {AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n contentChildren,\n ElementRef,\n forwardRef,\n HostListener,\n input,\n OnInit,\n output,\n signal,\n ViewEncapsulation} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {IdGenerator} from '../utils/id-generator';\nimport {ListBoxOptionComponent} from './list-box-option/list-box-option.component';\n\n@Component({\n selector: 'ngx-bsl-list-box',\n imports: [],\n template: '<ng-content></ng-content>',\n styleUrl: './list-box.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n IdGenerator,\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ListBoxComponent),\n multi: true,\n },\n ],\n host: {\n 'role': 'listbox',\n '[attr.id]': 'id()',\n '[attr.aria-label]': 'ariaLabel()',\n '[attr.aria-labelledby]': 'ariaLabelledby()',\n '[attr.aria-activedescendant]': 'exposeAriaActiveDescendant() ? null : ariaActiveDescendant()',\n },\n})\nexport class ListBoxComponent<TOption> implements OnInit, AfterContentInit, ControlValueAccessor {\n id = input.required<string>();\n ariaLabel = input<string>();\n ariaLabelledby = input<string>();\n exposeAriaActiveDescendant = input(false);\n comparisonField = input<keyof TOption>();\n initialValue = input<TOption | null>();\n initialFocusedOptionIndex = input<number | null>(null);\n\n selectOption = output<TOption>();\n\n listBoxOptions = contentChildren(ListBoxOptionComponent<TOption>);\n listBoxOptionRefs = contentChildren<ListBoxOptionComponent<TOption>, ElementRef<HTMLElement>>\n (ListBoxOptionComponent, { descendants: true, read: ElementRef<HTMLElement> });\n\n ariaActiveDescendant = signal<string | null>(null);\n onChange = (_value: TOption) => {};\n onTouch = () => {};\n private value: TOption | null = null;\n\n ngOnInit(): void {\n const initialValue = this.initialValue();\n if (initialValue) {\n this.value = initialValue;\n }\n }\n\n ngAfterContentInit(): void {\n this.initSelectedOption();\n }\n\n @HostListener('click', ['$event'])\n onClick(event: MouseEvent) {\n const element = event.target as HTMLElement;\n const isOption = element.matches('[role=\"option\"]');\n if (isOption) {\n this.removeSelectedAttribute();\n this.clearVisualFocus();\n const optionIndex = this.listBoxOptionRefs().findIndex(o => o.nativeElement.id === element.id);\n this.setSelectedAttribute(optionIndex);\n this.setVisualFocus(optionIndex);\n this.value = this.listBoxOptions()[optionIndex].value();\n this.onChange(this.value);\n this.selectOption.emit(this.value);\n }\n }\n\n @HostListener('keydown', ['$event'])\n onKeydown(event: KeyboardEvent): void {\n if (event.code === 'Enter' || event.code === 'Space') {\n event.preventDefault();\n this.handleSelectionKeys();\n return;\n }\n\n if (event.code === 'ArrowDown' || event.code === 'ArrowUp') {\n event.preventDefault();\n this.handleArrowKeys(event);\n return;\n }\n }\n\n private initSelectedOption(): void {\n const optionIndex = this.listBoxOptions().findIndex(o => this.equalsToCurrentValue(o.value()));\n if (optionIndex !== -1) {\n this.setSelectedAttribute(optionIndex);\n this.setVisualFocus(optionIndex);\n return;\n }\n\n if (this.initialFocusedOptionIndex() !== null) {\n this.setVisualFocus(this.initialFocusedOptionIndex() as number);\n }\n }\n\n private equalsToCurrentValue(value: TOption): boolean {\n const comparisonField = this.comparisonField();\n\n return comparisonField && this.value && typeof this.value === 'object' && comparisonField in this.value\n ? this.value[comparisonField] === value[comparisonField]\n : this.value === value;\n }\n\n private handleSelectionKeys(): void {\n const optionIndex = this.getVisuallyFocusedListBoxOptionRefIndex();\n\n if (optionIndex !== -1) {\n this.removeSelectedAttribute();\n this.setSelectedAttribute(optionIndex);\n this.value = this.listBoxOptions()[optionIndex].value();\n this.onChange(this.value);\n this.selectOption.emit(this.value);\n }\n }\n\n private handleArrowKeys(event: KeyboardEvent): void {\n const optionIndex = this.getVisuallyFocusedListBoxOptionRefIndex();\n const firstOption = 0;\n const lastOption = this.listBoxOptionRefs().length - 1;\n\n if (optionIndex === -1) {\n if (event.code === 'ArrowDown') {\n this.setVisualFocus(firstOption);\n } else if (event.code === 'ArrowUp') {\n this.setVisualFocus(lastOption);\n }\n return;\n }\n\n this.removeVisualFocus(optionIndex);\n\n if (event.code === 'ArrowDown') {\n if (optionIndex === lastOption) {\n this.setVisualFocus(firstOption);\n } else {\n this.setVisualFocus(optionIndex + 1);\n }\n } else if (event.code === 'ArrowUp') {\n if (optionIndex === 0) {\n this.setVisualFocus(lastOption);\n } else {\n this.setVisualFocus(optionIndex - 1);\n }\n }\n }\n\n private getVisuallyFocusedListBoxOptionRefIndex(): number {\n return this.listBoxOptionRefs().findIndex(r => r.nativeElement.classList.contains('visual-focus'));\n }\n\n private setVisualFocus(optionIndex: number): void {\n const option = this.listBoxOptionRefs()[optionIndex];\n option.nativeElement.classList.add('visual-focus');\n this.ariaActiveDescendant.set(option.nativeElement.id);\n }\n\n private removeVisualFocus(optionIndex: number): void {\n this.listBoxOptionRefs()[optionIndex].nativeElement.classList.remove('visual-focus');\n this.ariaActiveDescendant.set(null);\n }\n\n protected clearVisualFocus(): void {\n const optionIndex = this.getVisuallyFocusedListBoxOptionRefIndex();\n if (optionIndex !== -1) {\n this.removeVisualFocus(optionIndex);\n }\n }\n\n protected setSelectedAttribute(optionIndex: number): void {\n this.listBoxOptionRefs()[optionIndex].nativeElement.setAttribute('aria-selected', 'true');\n }\n\n protected removeSelectedAttribute(): void {\n this.listBoxOptionRefs()\n .find(o => o.nativeElement.hasAttribute('aria-selected'))\n ?.nativeElement.removeAttribute('aria-selected');\n }\n\n registerOnChange(onChange: (value: TOption) => void): void {\n this.onChange = onChange;\n }\n\n registerOnTouched(onTouch: () => void): void {\n this.onTouch = onTouch;\n }\n\n writeValue(value: TOption): void {\n this.value = value;\n }\n}\n","import {ChangeDetectionStrategy, Component, input} from '@angular/core';\n\n@Component({\n selector: 'ngx-bsl-list-box-group',\n imports: [],\n template: `\n @if (title()) {\n <div class=\"group-title\">{{ title() }}</div>\n }\n <ng-content></ng-content>\n `,\n styleUrl: './list-box-group.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ListBoxGroupComponent {\n title = input<string>();\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({name: 'listBoxOptionValueConverter'})\nexport class ListBoxOptionValueConverterPipe implements PipeTransform {\n\n transform(value: unknown, bindLabel?: string): string {\n if (!value) {\n return '';\n }\n\n if (typeof value === 'string') {\n return value;\n }\n\n if (typeof value === 'number') {\n return value.toString();\n }\n\n if (typeof value === 'object' && bindLabel) {\n if (bindLabel in value) {\n return value[bindLabel as keyof typeof value];\n }\n throw new Error('Provided label is incorrect');\n }\n throw new Error('Cannot parse the value');\n }\n}\n","import {ChangeDetectionStrategy,\n Component,\n computed, effect,\n forwardRef,\n input,\n output,\n signal,\n viewChild,\n ViewEncapsulation} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';\nimport { ListBoxComponent } from '../list-box/list-box.component';\nimport { ListBoxOptionComponent } from '../list-box/list-box-option/list-box-option.component';\nimport { ListBoxGroupComponent } from '../list-box/list-box-group/list-box-group.component';\nimport { ListBoxOptionValueConverterPipe } from '../list-box/list-box-option/list-box-option-value-converter.pipe';\nimport { GroupData } from './group-data.interface';\n\n@Component({\n selector: 'ngx-bsl-combobox',\n imports: [\n CdkOverlayOrigin,\n CdkConnectedOverlay,\n ListBoxComponent,\n ListBoxOptionComponent,\n ListBoxGroupComponent,\n ListBoxOptionValueConverterPipe,\n ],\n templateUrl: './combobox.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ComboboxComponent),\n multi: true,\n },\n ],\n})\nexport class ComboboxComponent<TOption extends Record<string, unknown> | string> implements ControlValueAccessor {\n id = input.required<string>();\n options = input.required<TOption[] | string[]>();\n bindLabel = input<string>();\n groupBy = input<string>();\n comparisonField = input<string>();\n placeholder = input<string>('');\n ariaLabel = input<string>();\n ariaLabelledBy = input<string>();\n\n confirmSelection = output();\n\n private listBox = viewChild(ListBoxComponent);\n\n onChange = (_value: string) => {};\n onTouch = () => {};\n\n protected value = signal<string>('');\n protected open = signal(false);\n protected ariaActiveDescendant = computed<string | null>(() => this.listBox()?.ariaActiveDescendant() ?? null);\n protected initialFocusedOptionIndex = signal<number | null>(null);\n protected groupedOptions = computed(() => {\n const groupByKey = this.groupBy();\n if (groupByKey) {\n return this.groupDataBy(groupByKey, this.options() as Record<string, unknown>[]);\n }\n return [];\n });\n private ignoreOptionsUpdate = false;\n\n constructor() {\n effect(() => {\n if (!this.options().length || this.ignoreOptionsUpdate) {\n this.ignoreOptionsUpdate = false;\n this.hideListBox();\n } else {\n this.showListBox();\n }\n });\n }\n\n protected showListBox(): void {\n this.open.set(true);\n }\n\n protected hideListBox(): void {\n this.initialFocusedOptionIndex.set(null);\n this.open.set(false);\n }\n\n protected onClick(): void {\n if (this.open()) {\n this.hideListBox();\n } else {\n if (this.options().length) {\n this.showListBox();\n }\n }\n }\n\n protected onSelectOption(value: TOption | string): void {\n let valueToSet: string;\n if (typeof value === 'string') {\n valueToSet = value;\n } else {\n const comparisonField = this.comparisonField() as string;\n if (comparisonField) {\n if (typeof value[comparisonField] === 'string') {\n valueToSet = value[comparisonField];\n } else {\n throw new Error('Type of property pointed by comparisonField must be a string.');\n }\n } else {\n throw new Error('comparisonField is not provided.');\n }\n }\n\n this.ignoreOptionsUpdate = true;\n this.value.set(valueToSet);\n this.onChange(this.value());\n this.hideListBox();\n }\n\n protected onInputChange(event: InputEvent) {\n const value = (event.target as HTMLInputElement).value;\n this.value.set(value);\n this.onChange(this.value());\n }\n\n protected onKeydown(event: KeyboardEvent) {\n event.preventDefault();\n\n if (!this.open()) {\n if (event.code === 'ArrowUp') {\n if (!this.options().length)\n return;\n this.initialFocusedOptionIndex.set(this.options().length - 1);\n this.showListBox();\n } else if (event.code === 'ArrowDown') {\n if (!this.options().length)\n return;\n this.initialFocusedOptionIndex.set(0);\n this.showListBox();\n } else if (event.code === 'Enter') {\n this.confirmSelection.emit();\n }\n } else {\n this.listBox()?.onKeydown(event);\n }\n }\n\n private groupDataBy(field: string, data: Record<string, unknown>[]): GroupData<TOption>[] {\n const groupsMap = data.reduce((map, value) => {\n const key = value[field] as string;\n if (!map.has(key)) {\n map.set(key, []);\n }\n map.get(key)?.push(value);\n return map;\n }, new Map<string, Record<string, unknown>[]>);\n\n return Array.from(groupsMap, ([group, data]) => ({ group, data })) as GroupData<TOption>[];\n }\n\n registerOnChange(onChange: (value: string) => void): void {\n this.onChange = onChange;\n }\n\n registerOnTouched(onTouch: () => void): void {\n this.onTouch = onTouch;\n }\n\n writeValue(value: string): void {\n this.value.set(value);\n }\n}\n","<input\n type=\"text\"\n role=\"combobox\"\n #comboboxInput\n cdkOverlayOrigin\n [value]=\"value() | listBoxOptionValueConverter : bindLabel()\"\n [attr.aria-expanded]=\"open()\"\n [attr.aria-controls]=\"'list-box-' + id()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-activedescendant]=\"ariaActiveDescendant()\"\n (input)=\"onInputChange($any($event))\"\n (blur)=\"hideListBox()\"\n (click)=\"onClick()\"\n (keydown.enter)=\"onKeydown($any($event))\"\n (keydown.arrowUp)=\"onKeydown($any($event))\"\n (keydown.arrowDown)=\"onKeydown($any($event))\"\n (keydown.escape)=\"hideListBox()\"\n>\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"comboboxInput\"\n [cdkConnectedOverlayOpen]=\"open()\"\n [cdkConnectedOverlayWidth]=\"comboboxInput.offsetWidth\"\n (overlayOutsideClick)=\"hideListBox()\">\n <ngx-bsl-list-box\n [initialFocusedOptionIndex]=\"initialFocusedOptionIndex()\"\n [comparisonField]=\"comparisonField()\"\n [id]=\"'list-box-' + id()\"\n [ariaLabel]=\"ariaLabel()\"\n [ariaLabelledby]=\"ariaLabelledBy()\"\n [exposeAriaActiveDescendant]=\"true\"\n (selectOption)=\"onSelectOption($event)\">\n @if (options() && !groupBy()) {\n @for (option of options(); track option; let index = $index) {\n <ngx-bsl-list-box-option\n [id]=\"'list-box-option-' + id()\"\n [value]=\"option\">\n <ng-container>{{ option | listBoxOptionValueConverter : bindLabel() }}</ng-container>\n </ngx-bsl-list-box-option>\n }\n }\n @if (groupedOptions() && groupBy()) {\n @for (group of groupedOptions(); track group) {\n <ngx-bsl-list-box-group [title]=\"group.group\"></ngx-bsl-list-box-group>\n @for (option of group.data; track option; let index = $index) {\n <ngx-bsl-list-box-option\n [id]=\"'list-box-option-' + id()\"\n [value]=\"option\">\n <ng-container>{{ option | listBoxOptionValueConverter : bindLabel() }}</ng-container>\n </ngx-bsl-list-box-option>\n }\n }\n }\n </ngx-bsl-list-box>\n</ng-template>\n","import {Component, HostListener, input, signal, ViewEncapsulation} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {IconCheckComponent} from '../icons/icon-check.component';\n\n@Component({\n selector: 'ngx-bsl-checkbox',\n imports: [\n IconCheckComponent,\n ],\n templateUrl: './checkbox.component.html',\n styleUrl: './checkbox.component.scss',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: CheckboxComponent,\n },\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n id = input.required<string>();\n\n protected checked = signal(false);\n protected disabled = signal(false);\n\n onChange = (_value: boolean) => {};\n onTouch = () => {};\n\n registerOnChange(onChange: (value: boolean) => void): void {\n this.onChange = onChange;\n }\n\n registerOnTouched(onTouch: () => void): void {\n this.onTouch = onTouch;\n }\n\n writeValue(value: boolean): void {\n this.checked.set(value);\n }\n\n setDisabledState(disabled: boolean): void {\n this.disabled.set(disabled);\n }\n\n @HostListener('keydown.enter', ['$event'])\n @HostListener('keydown.space', ['$event'])\n onKeydown(event: Event): void {\n event.preventDefault();\n }\n\n @HostListener('click')\n @HostListener('keyup.enter')\n @HostListener('keyup.space')\n onSelect(): void {\n if (this.disabled()) {\n return;\n }\n\n this.checked.set(!this.checked());\n this.onChange(this.checked());\n }\n}\n","<span role=\"checkbox\"\n [attr.aria-checked]=\"checked()\"\n [attr.aria-disabled]=\"disabled()\"\n [attr.aria-labelledby]=\"id() + '-label'\"\n [id]=\"id()\"\n [tabindex]=\"disabled() ? -1 : 0\"\n class=\"bsl-checkbox\">\n @if (checked()) {\n <ngx-bsl-icon-check></ngx-bsl-icon-check>\n }\n</span>\n\n<span [id]=\"id() + '-label'\">\n <ng-content></ng-content>\n</span>\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n/*\n eslint-disable max-len,\n @typescript-eslint/no-extraneous-class\n*/\n@Component({\n selector: 'ngx-bsl-icon-x-mark',\n imports: [],\n template: `\n <svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_20_20)\" id=\"object-0\" transform=\"matrix(0.5, 0, 0, 0.5, 0, 0)\">\n <path fill=\"currentColor\" stroke=\"currentColor\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0.490426 0.490426C1.14433 -0.163475 2.20451 -0.163475 2.85841 0.490426L24 21.632L45.1416 0.490426C45.7955 -0.163475 46.8557 -0.163475 47.5096 0.490426C48.1635 1.14433 48.1635 2.20451 47.5096 2.85841L26.368 24L47.5096 45.1416C48.1635 45.7955 48.1635 46.8557 47.5096 47.5096C46.8557 48.1635 45.7955 48.1635 45.1416 47.5096L24 26.368L2.85841 47.5096C2.20451 48.1635 1.14433 48.1635 0.490426 47.5096C-0.163475 46.8557 -0.163475 45.7955 0.490426 45.1416L21.632 24L0.490426 2.85841C-0.163475 2.20451 -0.163475 1.14433 0.490426 0.490426Z\"></path>\n </g>\n </svg>\n `,\n styleUrl: './icon.scss',\n host: {'[class.bsl-icon]': 'true'},\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconXMarkComponent {}\n","import {afterNextRender, Component, ElementRef, inject, input, output, signal} from '@angular/core';\nimport { CdkTrapFocus } from '@angular/cdk/a11y';\nimport { IconXMarkComponent } from '../icons/icon-x-mark.component';\n\n@Component({\n selector: 'ngx-bsl-drawer',\n imports: [\n CdkTrapFocus,\n IconXMarkComponent,\n ],\n templateUrl: './drawer.component.html',\n styleUrl: './drawer.component.scss',\n host: {\n 'role': 'dialog',\n 'aria-modal': 'true',\n '[attr.aria-label]': 'title()',\n '[class.ngx-bsl-drawer-closed]': 'isClosed()',\n '(transitionend)': 'onTransitionEnd($event)',\n },\n})\nexport class DrawerComponent {\n title = input.required<string>();\n closed = output();\n protected isClosed = signal(true);\n private elementRef = inject(ElementRef);\n\n constructor() {\n afterNextRender(() => {\n this.isClosed.set(false);\n });\n }\n\n close(): void {\n this.isClosed.set(true);\n }\n\n protected onTransitionEnd(event: TransitionEvent) {\n if (this.elementRef.nativeElement === event.target) {\n if (this.isClosed()) {\n this.closed.emit();\n }\n }\n }\n}\n","<div cdkTrapFocus\n cdkTrapFocusAutoCapture=\"true\"\n class=\"ngx-bsl-drawer-container\">\n <header class=\"ngx-bsl-drawer-header\">\n <button class=\"button-icon\"\n (click)=\"close()\">\n <ngx-bsl-icon-x-mark></ngx-bsl-icon-x-mark>\n </button>\n @if (title()) {\n <h2 class=\"text-ellipsis\">{{ title() }}</h2>\n }\n </header>\n <div class=\"ngx-bsl-drawer-content\">\n <ng-content></ng-content>\n </div>\n</div>\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: 'ngx-bsl-list-box-separator',\n imports: [],\n template: '',\n styleUrl: './list-box-separator.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\nexport class ListBoxSeparatorComponent {}\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n/*\n eslint-disable max-len,\n @typescript-eslint/no-extraneous-class\n*/\n@Component({\n selector: 'ngx-bsl-icon-chevron-down',\n imports: [],\n template: `\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 8 L12 16 L20 8\"/>\n </svg>\n `,\n styleUrl: './icon.scss',\n host: {'[class.bsl-icon]': 'true'},\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconChevronDownComponent {}\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n/*\n eslint-disable max-len,\n @typescript-eslint/no-extraneous-class\n*/\n@Component({\n selector: 'ngx-bsl-icon-company',\n imports: [],\n template: `\n <svg viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"32\" height=\"32\" stroke=\"none\" fill=\"#000000\" opacity=\"0\" transform=\"matrix(1, 0, 0, 1, 4.440892098500626e-16, 4.440892098500626e-16)\"/>\n <g transform=\"matrix(2.6666669845581055, 0, 0, 2.6666669845581055, 16, 16)\">\n <path style=\"stroke: none; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; fill: currentColor; fill-rule: nonzero; opacity: 1; stroke-width: 0px;\" transform=\" translate(-8, -8)\" d=\"M 7.5 2 C 7.223869061895771 2.0000276089526747 7.000027608952674 2.223869061895771 7 2.5000000000000004 L 7 4 L 3.5 4 C 3.2238690618957704 4.000027608952675 3.0000276089526743 4.223869061895771 3 4.5 L 3 8 L 2.5 8 C 2.2238690618957704 8.000027608952674 2.0000276089526743 8.22386906189577 2 8.5 L 2 14 L 3 14 L 3 9 L 7 9 L 7 14 L 8 14 L 8 3 L 13 3 L 13 14 L 14 14 L 14 2.5 C 13.999972391047326 2.2238690618957704 13.77613093810423 2.0000276089526747 13.5 2 L 7.5 2 z M 9 4 L 9 5 L 10 5 L 10 4 L 9 4 z M 11 4 L 11 5 L 12 5 L 12 4 L 11 4 z M 4 5 L 7 5 L 7 8 L 4 8 L 4 5 z M 5 6 L 5 7 L 6 7 L 6 6 L 5 6 z M 9 6 L 9 7 L 10 7 L 10 6 L 9 6 z M 11 6 L 11 7 L 12 7 L 12 6 L 11 6 z M 9 8 L 9 9 L 10 9 L 10 8 L 9 8 z M 11 8 L 11 9 L 12 9 L 12 8 L 11 8 z M 4 10 L 4 11 L 6 11 L 6 10 L 4 10 z M 9 10 L 9 11 L 10 11 L 10 10 L 9 10 z M 11 10 L 11 11 L 12 11 L 12 10 L 11 10 z M 4 12 L 4 13 L 6 13 L 6 12 L 4 12 z M 9 12 L 9 13 L 10 13 L 10 12 L 9 12 z M 11 12 L 11 13 L 12 13 L 12 12 L 11 12 z\" stroke-linecap=\"round\"/>\n </g>\n </svg>\n `,\n styleUrl: './icon.scss',\n host: {'[class.bsl-icon]': 'true'},\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconCompanyComponent {}\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n/*\n eslint-disable max-len,\n @typescript-eslint/no-extraneous-class\n*/\n@Component({\n selector: 'ngx-bsl-icon-language',\n imports: [],\n template: `\n <svg viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\">\n <ellipse style=\"stroke: currentColor; fill: none; stroke-width: 1.5;\" cx=\"16\" cy=\"16\" rx=\"12\" ry=\"12\"/>\n <ellipse style=\"stroke: currentColor; fill: none; stroke-width: 1.5;\" cx=\"16\" cy=\"16\" rx=\"4.854\" ry=\"11.903\"/>\n <path style=\"stroke: currentColor; stroke-width: 1.5; transform-origin: 16px 12px;\" d=\"M 5.16 11.977 L 26.844 11.977\"/>\n <path style=\"stroke: currentColor; stroke-width: 1.5; transform-origin: 16px 20px;\" d=\"M 5.16 20 L 26.844 20\"/>\n </svg>\n `,\n styleUrl: './icon.scss',\n host: {'[class.bsl-icon]': 'true'},\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconLanguageComponent {}\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n/*\n eslint-disable max-len,\n @typescript-eslint/no-extraneous-class\n*/\n@Component({\n selector: 'ngx-bsl-icon-location',\n imports: [],\n template: `\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill=\"currentColor\" d=\"M 12 0 C 7.583 0 4 3.583 4 8 C 4 12.418 8.666 18.668 12 24 C 15.332 18.668 20 12.418 20 8 C 20 3.583 16.418 0 12 0 Z M 12 12.668 C 10.159 12.668 8.666 11.174 8.666 9.334 C 8.666 7.491 10.159 6 12 6 C 13.841 6 15.332 7.491 15.332 9.334 C 15.332 11.174 13.841 12.668 12 12.668 Z\" style=\"stroke-width: 0px;\"/>\n </svg>\n `,\n styleUrl: './icon.scss',\n host: {'[class.bsl-icon]': 'true'},\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconLocationComponent {}\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n/*\n eslint-disable max-len,\n @typescript-eslint/no-extraneous-class\n*/\n@Component({\n selector: 'ngx-bsl-icon-moon',\n imports: [],\n template: `\n <svg viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\">\n <path style=\"stroke: currentColor; stroke-width: 1.5; fill: none;\" stroke-linecap=\"round\" stroke-linejoin=\"round\" transform=\"matrix(-0.7071068286895752, 0.7071068286895752, -0.7071068286895752, -0.7071068286895752, 934.2892456054688, -207.70388793945312)\" d=\"M 801.408 479.913 A 12 12 0 1 1 801.408 502.087 A 11.598 11.598 0 0 0 801.408 479.913 Z\"/>\n </svg>\n `,\n styleUrl: './icon.scss',\n host: {'[class.bsl-icon]': 'true'},\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconMoonComponent {}\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n/*\n eslint-disable max-len,\n @typescript-eslint/no-extraneous-class\n*/\n@Component({\n selector: 'ngx-bsl-icon-sun',\n imports: [],\n template: `\n <svg viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M16 22.6667C19.6819 22.6667 22.6667 19.6819 22.6667 16C22.6667 12.3181 19.6819 9.33334 16 9.33334C12.3181 9.33334 9.33333 12.3181 9.33333 16C9.33333 19.6819 12.3181 22.6667 16 22.6667Z\" stroke=\"currentColor\" stroke-width=\"2\"/>\n <path d=\"M16 2.66666V5.33332\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"/>\n <path d=\"M16 26.6667V29.3333\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"/>\n <path d=\"M5.33333 16H2.66667\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"/>\n <path d=\"M29.3333 16H26.6667\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"/>\n <path d=\"M26.3704 5.63022L23.4077 8.33899\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"/>\n <path d=\"M5.62956 5.63022L8.59224 8.33899\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"/>\n <path d=\"M8.59245 23.4076L5.62948 26.3705\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"/>\n <path d=\"M26.3704 26.3697L23.4077 23.4068\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"/>\n </svg>\n `,\n styleUrl: './icon.scss',\n host: {'[class.bsl-icon]': 'true'},\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconSunComponent {}\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n/*\n eslint-disable max-len,\n @typescript-eslint/no-extraneous-class\n*/\n@Component({\n selector: 'ngx-bsl-icon-arrow-left',\n imports: [],\n template: `\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" >\n <path fill=\"currentColor\" d=\"M 16.453 0.282 C 16.536 0.195 16.636 0.124 16.744 0.075 C 16.853 0.025 16.971 0 17.091 0 C 17.211 0 17.331 0.025 17.439 0.075 C 17.547 0.124 17.647 0.195 17.731 0.282 C 17.902 0.469 17.997 0.714 17.997 0.975 C 17.997 1.23 17.902 1.48 17.731 1.662 L 8.166 11.995 L 17.731 22.333 C 17.817 22.425 17.883 22.536 17.931 22.657 C 17.979 22.777 18.003 22.905 18 23.032 C 17.997 23.161 17.971 23.293 17.922 23.413 C 17.874 23.532 17.803 23.641 17.715 23.728 C 17.631 23.815 17.535 23.883 17.425 23.928 C 17.314 23.976 17.199 24 17.079 24 C 16.962 23.995 16.849 23.968 16.741 23.92 C 16.633 23.871 16.533 23.8 16.453 23.713 L 6.279 12.718 C 6.102 12.525 6 12.267 6 11.995 C 6 11.727 6.102 11.467 6.279 11.274 L 16.453 0.282 Z\"></path>\n </svg>\n `,\n styleUrl: './icon.scss',\n host: {'[class.bsl-icon]': 'true'},\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconArrowLeftComponent {}\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n/*\n eslint-disable max-len,\n @typescript-eslint/no-extraneous-class\n*/\n@Component({\n selector: 'ngx-bsl-icon-arrow-right',\n imports: [],\n template: `\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill=\"currentColor\" d=\"M 7.547 0.284 C 7.464 0.194 7.364 0.123 7.255 0.074 C 7.145 0.025 7.026 0 6.907 0 C 6.788 0 6.67 0.025 6.56 0.074 C 6.45 0.123 6.35 0.194 6.267 0.284 C 6.096 0.469 6.001 0.716 6.001 0.974 C 6.001 1.231 6.096 1.479 6.267 1.663 L 15.834 11.998 L 6.267 22.334 C 6.181 22.427 6.113 22.537 6.067 22.657 C 6.021 22.778 5.999 22.907 6 23.036 C 6.001 23.166 6.027 23.294 6.076 23.414 C 6.124 23.533 6.195 23.641 6.283 23.732 C 6.367 23.818 6.466 23.886 6.575 23.932 C 6.684 23.978 6.801 24.001 6.918 24 C 7.036 23.998 7.152 23.972 7.26 23.923 C 7.368 23.875 7.465 23.804 7.547 23.715 L 17.721 12.719 C 17.9 12.526 18 12.267 18 11.998 C 18 11.728 17.9 11.469 17.721 11.276 L 7.547 0.284 Z\"></path>\n </svg>\n `,\n styleUrl: './icon.scss',\n host: {'[class.bsl-icon]': 'true'},\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconArrowRightComponent {}\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n/*\n eslint-disable max-len,\n @typescript-eslint/no-extraneous-class\n*/\n@Component({\n selector: 'ngx-bsl-icon-arrow-left-double',\n imports: [],\n template: `\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill=\"currentColor\" d=\"M 12.529 0.284 C 12.614 0.194 12.714 0.123 12.825 0.074 C 12.936 0.025 13.055 0 13.175 0 C 13.295 0 13.414 0.025 13.524 0.074 C 13.636 0.123 13.736 0.194 13.82 0.284 C 13.992 0.469 14.087 0.716 14.087 0.974 C 14.087 1.232 13.992 1.479 13.82 1.664 L 4.181 11.998 L 13.82 22.334 C 13.906 22.427 13.975 22.537 14.021 22.657 C 14.067 22.778 14.089 22.907 14.088 23.037 C 14.087 23.166 14.061 23.295 14.013 23.414 C 13.963 23.533 13.893 23.641 13.803 23.732 C 13.719 23.818 13.619 23.887 13.509 23.933 C 13.399 23.979 13.282 24.001 13.163 24 C 13.045 23.998 12.928 23.972 12.82 23.924 C 12.711 23.875 12.613 23.804 12.529 23.715 L 2.281 12.72 C 2.101 12.526 2 12.268 2 11.998 C 2 11.728 2.101 11.469 2.281 11.276 L 12.529 0.284 Z M 20.441 0.284 C 20.525 0.194 20.625 0.123 20.736 0.074 C 20.847 0.025 20.966 0 21.086 0 C 21.206 0 21.325 0.025 21.436 0.074 C 21.546 0.123 21.647 0.194 21.729 0.284 C 21.903 0.469 21.999 0.716 21.999 0.974 C 21.999 1.232 21.903 1.479 21.729 1.664 L 12.093 11.998 L 21.729 22.334 C 21.818 22.427 21.886 22.537 21.933 22.657 C 21.978 22.778 22.001 22.907 22 23.037 C 21.999 23.166 21.973 23.295 21.923 23.414 C 21.875 23.533 21.804 23.641 21.715 23.732 C 21.629 23.818 21.529 23.887 21.42 23.933 C 21.309 23.979 21.194 24.001 21.075 24 C 20.957 23.998 20.84 23.972 20.729 23.924 C 20.622 23.875 20.524 23.804 20.441 23.715 L 10.193 12.72 C 10.013 12.526 9.912 12.268 9.912 11.998 C 9.912 11.728 10.013 11.469 10.193 11.276 L 20.441 0.284 Z\"></path>\n </svg>\n `,\n styleUrl: './icon.scss',\n host: {'[class.bsl-icon]': 'true'},\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconArrowLeftDoubleComponent {}\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n/*\n eslint-disable max-len,\n @typescript-eslint/no-extraneous-class\n*/\n@Component({\n selector: 'ngx-bsl-icon-arrow-right-double',\n imports: [],\n template: `\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill=\"currentColor\" d=\"M 12.523 0.284 C 12.448 0.194 12.358 0.123 12.257 0.074 C 12.158 0.025 12.051 0 11.943 0 C 11.835 0 11.728 0.025 11.628 0.074 C 11.528 0.123 11.438 0.194 11.362 0.284 C 11.208 0.469 11.121 0.716 11.121 0.974 C 11.121 1.232 11.208 1.479 11.362 1.664 L 20.037 11.998 L 11.362 22.334 C 11.284 22.427 11.223 22.537 11.181 22.657 C 11.139 22.778 11.119 22.907 11.12 23.037 C 11.121 23.166 11.145 23.295 11.189 23.414 C 11.233 23.533 11.297 23.641 11.376 23.732 C 11.453 23.818 11.543 23.887 11.641 23.933 C 11.741 23.979 11.846 24.001 11.953 24 C 12.059 23.998 12.164 23.972 12.262 23.924 C 12.361 23.875 12.449 23.804 12.523 23.715 L 21.747 12.72 C 21.909 12.526 22 12.268 22 11.998 C 22 11.728 21.909 11.469 21.747 11.276 L 12.523 0.284 Z M 5.403 0.284 C 5.327 0.194 5.237 0.123 5.138 0.074 C 5.037 0.025 4.93 0 4.822 0 C 4.714 0 4.607 0.025 4.508 0.074 C 4.408 0.123 4.317 0.194 4.243 0.284 C 4.087 0.469 4.001 0.716 4.001 0.974 C 4.001 1.232 4.087 1.479 4.243 1.664 L 12.917 11.998 L 4.243 22.334 C 4.164 22.427 4.102 22.537 4.061 22.657 C 4.02 22.778 3.999 22.907 4 23.037 C 4.001 23.166 4.025 23.295 4.069 23.414 C 4.113 23.533 4.176 23.641 4.257 23.732 C 4.333 23.818 4.423 23.887 4.522 23.933 C 4.621 23.979 4.726 24.001 4.833 24 C 4.939 23.998 5.044 23.972 5.143 23.924 C 5.24 23.875 5.328 23.804 5.403 23.715 L 14.627 12.72 C 14.789 12.526 14.88 12.268 14.88 11.998 C 14.88 11.728 14.789 11.469 14.627 11.276 L 5.403 0.284 Z\"></path>\n </svg>\n `,\n styleUrl: './icon.scss',\n host: {'[class.bsl-icon]': 'true'},\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconArrowRightDoubleComponent {}\n","import {ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n input,\n model,\n output,\n signal,\n viewChild,\n ViewEncapsulation} from '@angular/core';\nimport {IconArrowLeftComponent} from '../icons/icon-arrow-left.component';\nimport {IconArrowRightComponent} from '../icons/icon-arrow-right.component';\nimport {IconArrowLeftDoubleComponent} from '../icons/icon-arrow-left-double.component';\nimport {IconArrowRightDoubleComponent} from '../icons/icon-arrow-right-double.component';\n\n@Component({\n selector: 'ngx-bsl-pagination',\n imports: [\n IconArrowLeftComponent,\n IconArrowRightComponent,\n IconArrowLeftDoubleComponent,\n IconArrowRightDoubleComponent,\n ],\n templateUrl: './pagination.component.html',\n styleUrl: './pagination.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class PaginationComponent {\n page = model(1);\n total = input(1);\n size = input(10);\n nextPageAriaLabel = input('Next page');\n previousPageAriaLabel = input('Previous page');\n firstPageAriaLabel = input('First page');\n lastPageAriaLabel = input('Last page');\n selectPageAriaLabel = input('Select page');\n selectPageAriaLabelledBy = input<string | null>(null);\n\n pageChanged = output<number>();\n\n protected inputRef = viewChild.required<ElementRef<HTMLInputElement>>('inputRef');\n\n protected pages = computed(() => Math.ceil(this.total() / this.size()));\n protected disabled = signal(false);\n\n protected onInputBlur(value: number): void {\n if (isNaN(value) || value < -1) {\n this.page.set(1);\n this.inputRef().nativeElement.value = this.page().toString();\n }\n else if (value > this.pages()) {\n this.page.set(this.pages());\n this.inputRef().nativeElement.value = this.page().toString();\n }\n else {\n this.page.set(value);\n }\n this.pageChanged.emit(this.page());\n }\n\n protected onInputEnter(): void {\n this.pageChanged.emit(this.page());\n }\n\n protected onNextPage(event: PointerEvent): void {\n if (this.page() < this.pages()) {\n this.page.update(value => value + 1);\n }\n if (event.pointerType === '' && this.page() === this.pages()) {\n this.inputRef().nativeElement.focus();\n }\n }\n\n protected onPreviousPage(event: PointerEvent): void {\n if (this.page() > 1) {\n this.page.update(value => value - 1);\n }\n if (event.pointerType === '' && this.page() === 1) {\n this.inputRef().nativeElement.focus();\n }\n }\n\n protected onFirstPage(event: PointerEvent): void {\n this.page.set(1);\n if (event.pointerType === '') {\n this.inputRef().nativeElement.focus();\n }\n }\n\n protected onLastPage(event: PointerEvent): void {\n this.page.set(this.pages());\n if (event.pointerType === '') {\n this.inputRef().nativeElement.focus();\n }\n }\n}\n","<button\n type=\"button\"\n class=\"button-icon\"\n [attr.aria-label]=\"firstPageAriaLabel()\"\n [disabled]=\"disabled() || page() === 1\"\n (click)=\"onFirstPage($any($event))\">\n <ngx-bsl-icon-arrow-left-double></ngx-bsl-icon-arrow-left-double>\n</button>\n\n<button\n type=\"button\"\n class=\"button-icon\"\n [attr.aria-label]=\"previousPageAriaLabel()\"\n [disabled]=\"disabled() || page() === 1\"\n (click)=\"onPreviousPage($any($event))\">\n <ngx-bsl-icon-arrow-left></ngx-bsl-icon-arrow-left>\n</button>\n\n<input\n type=\"number\"\n [attr.aria-label]=\"selectPageAriaLabel()\"\n [attr.aria-labelledby]=\"selectPageAriaLabelledBy()\"\n [disabled]=\"disabled()\"\n [min]=\"1\"\n [max]=\"pages()\"\n [value]=\"page()\"\n (blur)=\"onInputBlur($any($event.target).valueAsNumber)\"\n (keydown.enter)=\"onInputEnter()\">\n\n<button\n type=\"button\"\n class=\"button-icon\"\n [attr.aria-label]=\"nextPageAriaLabel()\"\n [disabled]=\"disabled() || page() === pages()\"\n (click)=\"onNextPage($any($event))\">\n <ngx-bsl-icon-arrow-right></ngx-bsl-icon-arrow-right>\n</button>\n\n<button\n type=\"button\"\n class=\"button-icon\"\n [attr.aria-label]=\"lastPageAriaLabel()\"\n [disabled]=\"disabled() || page() === pages()\"\n (click)=\"onLastPage($any($event))\">\n <ngx-bsl-icon-arrow-right-double></ngx-bsl-icon-arrow-right-double>\n</button>\n","export enum RangeMoveDirection {\n FORWARD = 'forward',\n BACKWARD = 'backward',\n}\n","import {Component,\n DOCUMENT,\n ElementRef,\n inject,\n input,\n OnDestroy,\n output,\n Renderer2} from '@angular/core';\nimport {RangeMoveDirection} from '../range-move-direction.enum';\n\n@Component({\n selector: 'ngx-bsl-range-thumb',\n imports: [],\n template: `\n @if (showLabel()) {\n <span class=\"thumb-label\">{{value()}}</span>\n }\n `,\n styleUrl: './range-thumb.component.scss',\n host: {\n '(keydown.arrowLeft)': 'positionChanged.emit(RangeMoveDirection.BACKWARD)',\n '(keydown.arrowRight)': 'positionChanged.emit(RangeMoveDirection.FORWARD)',\n '(pointerdown)': 'onPointerDown($event)',\n },\n})\nexport class RangeThumbComponent implements OnDestroy {\n private renderer = inject(Renderer2);\n private document = inject(DOCUMENT);\n private elementRef = inject<ElementRef<HTMLElement>>(ElementRef<HTMLElement>);\n\n ratio = input(0);\n value = input(0);\n showLabel = input(false);\n\n positionChanged = output<RangeMoveDirection>();\n\n protected readonly RangeMoveDirection = RangeMoveDirection;\n private pointerUpListener: (() => void) | null = null;\n private pointerMoveListener: (() => void) | null = null;\n\n protected onPointerDown(event: PointerEvent): void {\n this.elementRef.nativeElement.setPointerCapture(event.pointerId);\n this.pointerUpListener = this.renderer.listen(\n this.document,\n 'pointerup',\n this.onPointerUp.bind(this),\n );\n this.pointerMoveListener = this.renderer.listen(\n this.document,\n 'pointermove',\n this.onPointerMove.bind(this),\n );\n }\n\n private onPointerUp(event: PointerEvent): void {\n this.elementRef.nativeElement.releasePointerCapture(event.pointerId);\n this.disposePointerUpListener();\n this.disposePointerMoveListener();\n }\n\n private onPointerMove(event: PointerEvent): void {\n const thumbPositionLeft = this.elementRef.nativeElement.getBoundingClientRect().left;\n const thumbWidth = this.elementRef.nativeElement.offsetWidth;\n const thumbPositionCenter = thumbPositionLeft + thumbWidth / 2;\n const pointerPosition = event.pageX;\n\n if (pointerPosition > thumbPositionCenter + this.ratio() / 2) {\n this.positionChanged.emit(RangeMoveDirection.FORWARD);\n }\n else if (pointerPosition <= thumbPositionCenter - this.ratio() / 2) {\n this.positionChanged.emit(RangeMoveDirection.BACKWARD);\n }\n }\n\n private disposePointerUpListener(): void {\n if (this.pointerUpListener) {\n this.pointerUpListener();\n }\n }\n\n private disposePointerMoveListener(): void {\n if (this.pointerMoveListener) {\n this.pointerMoveListener();\n }\n }\n\n ngOnDestroy(): void {\n this.disposePointerUpListener();\n this.disposePointerMoveListener();\n }\n}\n","export function round(value: number, digits = 0): number {\n return parseFloat(value.toFixed(digits));\n}\n\nexport function getDigitsNumber(value: number): number {\n return String(value).split('.')[1]?.length || 0;\n}\n","import {Component, ElementRef, inject, input, model, signal, OnInit, computed, viewChild, OnDestroy} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {RangeThumbComponent} from './range-thumb/range-thumb.component';\nimport {RangeMoveDirection} from './range-move-direction.enum';\nimport {getDigitsNumber, round} from '../utils/number.util';\n\nclass Range {\n from: number;\n to: number;\n\n constructor(from = 0, to = 10) {\n this.from = from;\n this.to = to;\n }\n}\n\nenum Thumb {\n FROM = 'from',\n TO = 'to',\n}\n\n@Component({\n selector: 'ngx-bsl-range',\n imports: [\n RangeThumbComponent,\n ],\n templateUrl: './range.component.html',\n styleUrl: './range.component.scss',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: RangeComponent,\n },\n ],\n host: {\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n },\n})\nexport class RangeComponent implements ControlValueAccessor, OnInit, OnDestroy {\n private elementRef = inject(ElementRef<HTMLElement>) as ElementRef<HTMLElement>;\n\n min = input(0);\n max = input(5);\n step = input(1);\n value = model(new Range(0, 5));\n ariaLabel = input<string | null>(null, {alias: 'aria-label'});\n ariaLabelledBy = input<string | null>(null, {alias: 'aria-labelledby'});\n showThumbLabels = input(false);\n\n protected thumbFromRef = viewChild.required<RangeThumbComponent, ElementRef<HTMLElement>>('thumbFrom',\n {read: ElementRef<HTMLElement>});\n protected thumbToRef = viewChild.required<RangeThumbComponent, ElementRef<HTMLElement>>('thumbTo',\n {read: ElementRef<HTMLElement>});\n\n protected _step = signal(1);\n protected disabled = signal(false);\n protected ratio = signal(0);\n protected thumbFromPosition = signal(0);\n protected thumbToPosition = signal(0);\n protected overlappingThumb = signal(Thumb.FROM);\n private stepDigits = computed(() => getDigitsNumber(this._step()));\n private thumbWidth = computed(() => this.thumbFromRef().nativeElement.offsetWidth || 0);\n protected trackerLeft = computed(() => `${this.thumbFromPosition() + this.thumbWidth() / 2}px`);\n protected trackerRight = computed(() => {\n const railWidth = this.elementRef.nativeElement.getBoundingClientRect().width || 0;\n return `${railWidth - this.thumbToPosition() - this.thumbWidth() / 2}px`;\n });\n\n protected readonly Thumb = Thumb;\n private resizeObserver!: ResizeObserver;\n\n onChange = (_value: Range) => {\n };\n onTouch = () => {\n };\n\n ngOnInit(): void {\n this.validateRange();\n this.validateStep();\n this.initResizeObserver();\n }\n\n private validateRange(): void {\n let range: Range | null = null;\n\n if (Number.isNaN(this.value().from) || !this.valueInRange(this.value().from)) {\n range = new Range(this.min(), this.value().to);\n }\n\n if (Number.isNaN(this.value().to) || !this.valueInRange(this.value().to)) {\n if (range) {\n range.to = this.max();\n } else {\n range = new Range(this.value().from, this.max());\n }\n }\n\n if (this.value().from > this.value().to) {\n if (range) {\n range.from = this.min();\n range.to = this.max();\n } else {\n range = new Range(this.min(), this.max());\n }\n }\n\n if (range) {\n this.value.update(() => range);\n this.onChange(this.value());\n }\n }\n\n private valueInRange(value: number): boolean {\n return this.min() <= value && value <= this.max();\n }\n\n private validateStep(): void {\n const isStepDividerOfRange = (this.max() - this.min()) % this.step() === 0;\n this._step.set(isStepDividerOfRange ? this.step() : parseFloat(((this.max() - this.min()) / 10).toFixed(0)));\n }\n\n private initResizeObserver(): void {\n this.resizeObserver = new ResizeObserver(() => {\n this.computeRatio();\n this.computeFromThumbPosition();\n this.computeToThumbPosition();\n });\n this.resizeObserver.observe(this.elementRef.nativeElement);\n }\n\n private computeRatio(): void {\n const graduation = (this.max() - this.min()) / this._step();\n const hostWidth = this.elementRef.nativeElement.offsetWidth - this.thumbWidth();\n this.ratio.set(parseFloat((hostWidth / graduation).toFixed(3)));\n }\n\n private computeFromThumbPosition(): void {\n this.thumbFromPosition.set((this.value().from / this._step()) * this.ratio());\n }\n\n private computeToThumbPosition(): void {\n this.thumbToPosition.set(this.value().to / this._step() * this.ratio());\n }\n\n protected onPositionChangedThumbFrom(direction: RangeMoveDirection): void {\n if (this.disabled()) {\n return;\n }\n\n if (this.minReached(direction) || this.toReached(direction)) {\n return;\n }\n\n const diff = direction === RangeMoveDirection.BACKWARD ? -this._step() : this._step();\n const newFrom = this.value().from + diff;\n this.value.update((value) => new Range(round(newFrom, this.stepDigits()), value.to));\n this.onChange(this.value());\n this.computeFromThumbPosition();\n this.overlappingThumb.set(Thumb.FROM);\n }\n\n protected onPositionChangedThumbTo(direction: RangeMoveDirection): void {\n if (this.disabled()) {\n return;\n }\n\n if (this.maxReached(direction) || this.fromReached(direction)) {\n return;\n }\n\n const diff = direction === RangeMoveDirection.BACKWARD ? -this._step() : this._step();\n const newTo = this.value().to + diff;\n this.value.update((value) => new Range(value.from, round(newTo, this.stepDigits())));\n this.onChange(this.value());\n this.computeToThumbPosition();\n this.overlappingThumb.set(Thumb.TO);\n }\n\n private minReached(direction: RangeMoveDirection): boolean {\n return direction === RangeMoveDirection.BACKWARD && this.value().from === this.min();\n }\n\n private maxReached(direction: RangeMoveDirection): boolean {\n return direction === RangeMoveDirection.FORWARD && this.value().to === this.max();\n }\n\n private fromReached(direction: RangeMoveDirection): boolean {\n return direction === RangeMoveDirection.BACKWARD && this.value().from === this.value().to;\n }\n\n private toReached(direction: RangeMoveDirection): boolean {\n return direction === RangeMoveDirection.FORWARD && this.value().from === this.value().to;\n }\n\n protected onRailClick(event: MouseEvent): void {\n if (this.disabled()) {\n return;\n }\n\n const pointerPosition = event.pageX;\n const newValue = this.computeNewValueOnClick(pointerPosition);\n const thumb = this.selectThumbToMove(pointerPosition);\n if (thumb === Thumb.FROM) {\n this.value.update((value) => new Range(newValue, value.to));\n this.onChange(this.value());\n this.computeFromThumbPosition();\n } else {\n this.value.update((value) => new Range(value.from, newValue));\n this.onChange(this.value());\n this.computeToThumbPosition();\n }\n }\n\n private computeNewValueOnClick(pointerPosition: number): number {\n const hostPositionLeft = this.elementRef.nativeElement.getBoundingClientRect().left;\n const pointerOffsetFromHostEdge = pointerPosition - hostPositionLeft;\n const stepIndex = round((pointerOffsetFromHostEdge - this.thumbWidth() / 2) / this.ratio());\n return round(stepIndex * this._step(), this.stepDigits());\n }\n\n private selectThumbToMove(pointerPosition: number): Thumb {\n const fromThumbPosition = this.thumbFromRef().nativeElement.getBoundingClientRect().left;\n const toThumbPosition = this.thumbToRef().nativeElement.getBoundingClientRect().left;\n\n const pointerFromThumbDiff = Math.abs(pointerPosition - fromThumbPosition);\n const pointerToThumbDiff = Math.abs(pointerPosition - toThumbPosition);\n\n if (pointerFromThumbDiff < pointerToThumbDiff) {\n return Thumb.FROM;\n }\n\n if (pointerFromThumbDiff > pointerToThumbDiff) {\n return Thumb.TO;\n }\n\n // Pointer in the middle\n if (pointerPosition < pointerFromThumbDiff) {\n return Thumb.FROM;\n }\n\n return Thumb.TO;\n }\n\n registerOnChange(onChange: (value: Range) => void): void {\n this.onChange = onChange;\n }\n\n registerOnTouched(onTouch: () => void): void {\n this.onTouch = onTouch;\n }\n\n writeValue(value: Range): void {\n this.value.set(value);\n this.computeFromThumbPosition();\n this.computeToThumbPosition();\n }\n\n setDisabledState(disabled: boolean): void {\n this.disabled.set(disabled);\n }\n\n ngOnDestroy(): void {\n this.resizeObserver.disconnect();\n }\n}\n","<div class=\"range\">\n <!-- eslint-disable-next-line @angular-eslint/template/interactive-supports-focus, @angular-eslint/template/click-events-have-key-events -->\n <div class=\"rail\"\n [class.disabled]=\"disabled()\"\n (click)=\"onRailClick($event)\">\n </div>\n\n <div class=\"tracker\"\n [class.disabled]=\"disabled()\"\n [style.left]=\"trackerLeft()\"\n [style.right]=\"trackerRight()\">\n </div>\n\n <ngx-bsl-range-thumb\n #thumbFrom\n role=\"slider\"\n [attr.aria-valuemin]=\"min()\"\n [attr.aria-valuemax]=\"value().to\"\n [attr.aria-valuenow]=\"value().from\"\n [attr.aria-valuetext]=\"value().from + ' - ' + value().to\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [tabindex]=\"disabled() ? -1 : 0\"\n [class.disabled]=\"disabled()\"\n [style.left]=\"thumbFromPosition() + 'px'\"\n [style.z-index]=\"overlappingThumb() === 'from' ? 1 : 0\"\n [value]=\"value().from\"\n [ratio]=\"this.ratio()\"\n [showLabel]=\"showThumbLabels()\"\n (focus)=\"overlappingThumb.set(Thumb.FROM)\"\n (positionChanged)=\"onPositionChangedThumbFrom($event)\">\n </ngx-bsl-range-thumb>\n\n <ngx-bsl-range-thumb\n #thumbTo\n role=\"slider\"\n [attr.aria-valuemin]=\"value().from\"\n [attr.aria-valuemax]=\"max()\"\n [attr.aria-valuenow]=\"value().to\"\n [attr.aria-valuetext]=\"value().from + ' - ' + value().to\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [tabindex]=\"disabled() ? -1 : 0\"\n [class.disabled]=\"disabled()\"\n [style.left]=\"thumbToPosition() + 'px'\"\n [style.z-index]=\"overlappingThumb() === 'to' ? 1 : 0\"\n [value]=\"value().to\"\n [ratio]=\"this.ratio()\"\n [showLabel]=\"showThumbLabels()\"\n (focus)=\"overlappingThumb.set(Thumb.TO)\"\n (positionChanged)=\"onPositionChangedThumbTo($event)\">\n </ngx-bsl-range-thumb>\n</div>\n\n<div class=\"limits\">\n <span>{{ min() }}</span>\n <span>{{ max() }}</span>\n</div>\n","import {ChangeDetectionStrategy,\n Component,\n computed,\n forwardRef,\n input,\n model,\n signal,\n viewChild,\n ViewEncapsulation} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {CdkConnectedOverlay, CdkOverlayOrigin} from '@angular/cdk/overlay';\nimport {IconChevronDownComponent} from '../icons/icon-chevron-down.component';\nimport {ListBoxComponent} from '../list-box/list-box.component';\nimport {ListBoxOptionComponent} from '../list-box/list-box-option/list-box-option.component';\nimport {ListBoxOptionValueConverterPipe} from '../list-box/list-box-option/list-box-option-value-converter.pipe';\n\n@Component({\n selector: 'ngx-bsl-select',\n imports: [\n CdkOverlayOrigin,\n CdkConnectedOverlay,\n IconChevronDownComponent,\n ListBoxComponent,\n ListBoxOptionComponent,\n ListBoxOptionValueConverterPipe,\n ],\n templateUrl: './select.component.html',\n styleUrl: './select.component.scss',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectComponent),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class SelectComponent<TOption> implements ControlValueAccessor {\n id = input.required<string>();\n options = input.required<TOption[]>();\n bindLabel = input<string>();\n placeholder = input<string>('');\n ariaLabel = input<string>();\n ariaLabelledBy = input<string>();\n comparisonField = input<keyof TOption>();\n iconMode = input(false);\n customIcon = input(false);\n dropdownWidth = input<string>();\n\n private listBox = viewChild(ListBoxComponent);\n\n onChange = (_value: TOption) => {};\n onTouch = () => {};\n value = model<TOption>();\n\n protected open = signal(false);\n protected ariaActiveDescendant = computed<string | null>(() => this.listBox()?.ariaActiveDescendant() ?? null);\n protected initialFocusedOptionIndex = signal<number | null>(null);\n\n protected showListBox(): void {\n this.open.set(true);\n }\n\n protected hideListBox(): void {\n this.initialFocusedOptionIndex.set(null);\n this.open.set(false);\n }\n\n protected onClick(): void {\n if (this.open()) {\n this.hideListBox();\n } else {\n this.showListBox();\n }\n }\n\n protected onSelectOption(value: TOption): void {\n this.value.set(value);\n this.onChange(value);\n this.hideListBox();\n }\n\n protected onKeydown(event: KeyboardEvent) {\n event.preventDefault();\n\n if (!this.open()) {\n this.showListBox();\n if (event.code === 'ArrowUp') {\n this.initialFocusedOptionIndex.set(this.options().length - 1);\n } else if (event.code === 'ArrowDown') {\n this.initialFocusedOptionIndex.set(0);\n }\n } else {\n this.listBox()?.onKeydown(event);\n }\n }\n\n registerOnChange(onChange: (value: TOption) => void): void {\n this.onChange = onChange;\n }\n\n registerOnTouched(onTouch: () => void): void {\n this.onTouch = onTouch;\n }\n\n writeValue(value: TOption): void {\n this.value.set(value);\n }\n}\n","<button\n type=\"button\"\n role=\"combobox\"\n #selectButton\n class=\"bsl-select-button\"\n cdkOverlayOrigin\n [attr.aria-expanded]=\"open()\"\n [attr.aria-controls]=\"'list-box-' + id()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-activedescendant]=\"ariaActiveDescendant()\"\n [class.button-icon]=\"iconMode()\"\n (click)=\"onClick()\"\n (keydown.enter)=\"onKeydown($any($event))\"\n (keydown.space)=\"onKeydown($any($event))\"\n (keydown.arrowUp)=\"onKeydown($any($event))\"\n (keydown.arrowDown)=\"onKeydown($any($event))\"\n (keydown.escape)=\"hideListBox()\">\n @if (iconMode()) {\n <ng-content select=\"[data-custom-icon]\"></ng-content>\n } @else {\n <span>{{ value() ? (value() | listBoxOptionValueConverter : bindLabel()) : placeholder() }}</span>\n\n @if (customIcon()) {\n <ng-content select=\"[data-custom-icon]\"></ng-content>\n } @else {\n <ngx-bsl-icon-chevron-down></ngx-bsl-icon-chevron-down>\n }\n }\n</button>\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"selectButton\"\n [cdkConnectedOverlayOpen]=\"open()\"\n [cdkConnectedOverlayWidth]=\"dropdownWidth() || selectButton.offsetWidth\"\n (overlayOutsideClick)=\"hideListBox()\">\n <ngx-bsl-list-box\n [initialValue]=\"value()\"\n [initialFocusedOptionIndex]=\"initialFocusedOptionIndex()\"\n [comparisonField]=\"comparisonField()\"\n [id]=\"'list-box-' + id()\"\n [ariaLabel]=\"ariaLabel()\"\n [ariaLabelledby]=\"ariaLabelledBy()\"\n [exposeAriaActiveDescendant]=\"true\"\n (selectOption)=\"onSelectOption($event)\">\n @for (option of options(); track option) {\n <ngx-bsl-list-box-option\n [id]=\"'list-box-option-' + id()\"\n [value]=\"option\">\n <ng-container>{{ option | listBoxOptionValueConverter : bindLabel() }}</ng-container>\n </ngx-bsl-list-box-option>\n }\n </ngx-bsl-list-box>\n</ng-template>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngx-bsl-tooltip',\n imports: [],\n template: '{{message}}',\n styleUrl: './tooltip.component.scss',\n host: {'role': 'tooltip'},\n})\nexport class TooltipComponent {\n message = '';\n}\n","import { ConnectedPosition } from '@angular/cdk/overlay';\nimport { TooltipPosition } from './tooltip-position.enum';\n\nexport const TOOLTIP_OVERLAY_POSITION: Record<TooltipPosition, ConnectedPosition> = {\n TOP: {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n },\n BOTTOM: {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n },\n LEFT: {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n },\n RIGHT: {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n },\n};\n","export enum TooltipPosition {\n TOP = 'TOP',\n BOTTOM = 'BOTTOM',\n LEFT = 'LEFT',\n RIGHT = 'RIGHT',\n}\n","import {Directive, ElementRef, inject, input} from '@angular/core';\nimport {FlexibleConnectedPositionStrategy, Overlay, OverlayRef} from '@angular/cdk/overlay';\nimport {ComponentPortal} from '@angular/cdk/portal';\nimport {TooltipComponent} from './tooltip.component';\nimport {TOOLTIP_OVERLAY_POSITION} from './tooltip-overlay-position.const';\nimport {TooltipPosition} from './tooltip-position.enum';\n\n@Directive({\n selector: '[ngxBslTooltip]',\n host: {\n '(mouseenter)': 'show()',\n '(mouseleave)': 'hide()',\n '(focus)': 'show()',\n '(blur)': 'hide()',\n },\n})\nexport class TooltipDirective {\n message = input.required<string>({alias: 'ngxBslTooltip'});\n position = input(TooltipPosition.TOP);\n\n private overlay = inject(Overlay);\n private elementRef = inject(ElementRef) as ElementRef<HTMLElement>;\n\n private overlayRef: null | OverlayRef = null;\n\n protected show(): void {\n this.hide();\n if (this.message()) {\n const positionStrategy = this.createPositionStrategy();\n this.overlayRef = this.overlay.create({positionStrategy});\n const componentPortal = new ComponentPortal(TooltipComponent);\n const componentInstance = this.overlayRef.attach(componentPortal);\n componentInstance.instance.message = this.message();\n }\n }\n protected hide(): void {\n if (this.overlayRef?.hasAttached()) {\n this.overlayRef.detach();\n this.overlayRef = null;\n }\n }\n\n private createPositionStrategy(): FlexibleConnectedPositionStrategy {\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(this.elementRef.nativeElement)\n .withPositions([TOOLTIP_OVERLAY_POSITION[this.position()]]);\n\n const tooltipOffset = 8;\n\n switch (this.position()) {\n case TooltipPosition.TOP:\n positionStrategy.withDefaultOffsetY(-tooltipOffset);\n break;\n case TooltipPosition.BOTTOM:\n positionStrategy.withDefaultOffsetY(tooltipOffset);\n break;\n case TooltipPosition.LEFT:\n positionStrategy.withDefaultOffsetX(-tooltipOffset);\n break;\n case TooltipPosition.RIGHT:\n positionStrategy.withDefaultOffsetX(tooltipOffset);\n break;\n default:\n break;\n }\n\n return positionStrategy;\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/types/ngx-bsl.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ declare class GroupData<T> {
|
|
|
10
10
|
|
|
11
11
|
declare class ComboboxComponent<TOption extends Record<string, unknown> | string> implements ControlValueAccessor {
|
|
12
12
|
id: _angular_core.InputSignal<string>;
|
|
13
|
-
options: _angular_core.InputSignal<string | TOption[]>;
|
|
13
|
+
options: _angular_core.InputSignal<string[] | TOption[]>;
|
|
14
14
|
bindLabel: _angular_core.InputSignal<string | undefined>;
|
|
15
15
|
groupBy: _angular_core.InputSignal<string | undefined>;
|
|
16
16
|
comparisonField: _angular_core.InputSignal<string | undefined>;
|