@open-rlb/ng-bootstrap 2.3.6 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"open-rlb-ng-bootstrap.mjs","sources":["../../../../projects/rlb/ng-bootstrap/src/lib/components/accordions/accordion-body.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/buttons/buttons.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/buttons/boutton-toolbar.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/buttons/toggle.directive.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/accordions/accordion-header.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/abstract/toggle-abstract.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/shared/unique-id.service.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/accordions/accordion-item.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/accordions/accordion.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/alerts/alert.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/badges/badge.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/badges/badge.directive.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/breadcrumb/breadcrumb.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/buttons/boutton-group.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/buttons/buttons-close.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/cards/card-body.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/cards/card-footer.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/cards/card-group.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/cards/card-header.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/cards/card-image.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/cards/card-link.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/cards/card-subtitle.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/cards/card-text.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/cards/card-title.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/cards/card.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/carousel/carousel-caption.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/carousel/carousel-slide.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/carousel/carousel.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/collapse/collapse.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/dropdown/dropdown-container.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/dropdown/dropdown-menu-item.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/dropdown/dropdown.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/dropdown/dropdown.directive.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/loaders/progress.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/loaders/spinner.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/shared/component-builder/builder.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/shared/component-builder/component-host.directive.ts","../../../../projects/rlb/ng-bootstrap/src/lib/shared/abstract.registry.service.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/modals/options/modal-registry.options.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/modals/inner-modal.service.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/modals/modal-container.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/modals/modal.directive.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/modals/modal.service.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/modals/index.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/navigation/nav/nav-item.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/navigation/nav/nav.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/navigation/navbar/navbar-brand.directive.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/navigation/navbar/navbar-form.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/avatar/avatar.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/buttons/fab/fab.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/buttons/fab/fab.component.html","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/utils/calendar-date-utils.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/toast/options/toast-registry.options.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/toast/inner-toast.service.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/toast/toast-container.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/toast/toast.directive.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/toast/toast.service.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/toast/index.ts","../../../../projects/rlb/ng-bootstrap/src/lib/pipes/date-tz.pipe.ts","../../../../projects/rlb/ng-bootstrap/src/lib/pipes/month-formatter.pipe.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/header/calendar-header.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/header/calendar-header.component.html","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/event/calendar-event.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/event/calendar-event.component.html","../../../../projects/rlb/ng-bootstrap/src/lib/pipes/day-formatter.pipe.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/grid/week/calendar-week-grid.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/grid/week/calendar-week-grid.component.html","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/grid/month/calendar-month-grid.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/grid/month/calendar-month-grid.component.html","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/grid/calendar-grid.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/grid/calendar-grid.component.html","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/calendar.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/calendar.component.html","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/index.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/chat/chat-container.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/chat/chat-item.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/list/list-item-image.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/list/list-item.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/list/list.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/navigation/navbar/navbar-dropdown-item.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/navigation/navbar/navbar-item.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/navigation/navbar/navbar-items.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/navigation/navbar/navbar-separator.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/navigation/navbar/navbar-text.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/navigation/navbar/navbar.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/offcanvas/offcanvas-body.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/offcanvas/offcanvas-header.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/offcanvas/offcanvas-title.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/offcanvas/offcanvas.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/pagination/pagination-item.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/pagination/pagination.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/placeholder/placeholder-line.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/placeholder/placeholder.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/placeholder/placeholder-text.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/placeholder/placeholder.directive.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/scrollspy/scrollspy.directive.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/sidebar/sidebar-item.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/tooltips/tooltip.directive.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/sidebar/sidebar.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/tabs/tab-content.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/tabs/tab-pane.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/tabs/tab.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/tabs/tabs.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/tooltips/popover.directive.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/index.ts","../../../../projects/rlb/ng-bootstrap/src/lib/data/datatable/dt-action.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/data/datatable/dt-actions.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/data/datatable/dt-cell.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/data/datatable/dt-header.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/data/datatable/dt-row.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/abstract-field.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/options.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/shared/i18-abstraction.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/input-validation.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/select.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/data/datatable/dt-table.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/data/datatable/dt-table.component.html","../../../../projects/rlb/ng-bootstrap/src/lib/data/datatable/dt-loading.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/data/datatable/dt-noitems.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/data/datatable/index.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/abstract-autocomplete.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/rlb-validators/required-autocomplete-validator.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/autocomplete-country-dial-code.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/autocomplete-country.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/autocomplete-timezones.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/autocomplete.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/checkbox.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/color.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/datalist.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/dnd.directive.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/dnd-file.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/file.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/help-text.directive.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/input.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/input-group.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/radio.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/range.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/switch.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/text-area.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/index.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/rlb-form-fields/rlb-form-fields.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/rlb-form-fields/rlb-form-fields.component.html","../../../../projects/rlb/ng-bootstrap/src/lib/pipes/index.ts","../../../../projects/rlb/ng-bootstrap/src/lib/shared/component-builder/generic.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/shared/component-builder/index.ts","../../../../projects/rlb/ng-bootstrap/src/lib/rlb-bootstrap.module.ts","../../../../projects/rlb/ng-bootstrap/src/lib/modals/search-modal.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/modals/common-modal.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/utils/array-proxy.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/calendar-dialogs/calendar-event-create-edit/event-date-validator.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/calendar-dialogs/calendar-event-create-edit/event-create-edit.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/calendar-dialogs/calendar-overflow-events-container/calendar-overflow-events-container.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/calendar-dialogs/calendar-toast/calendar-toast.component.ts","../../../../projects/rlb/ng-bootstrap/src/public-api.ts","../../../../projects/rlb/ng-bootstrap/src/open-rlb-ng-bootstrap.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'div[rlb-accordion-body]',\n template: ` <div class=\"accordion-body\">\n <ng-content></ng-content>\n </div>`,\n host: {\n class: 'accordion-collapse collapse',\n '[class.show]': 'expanded',\n '[id]': 'itemId',\n },\n standalone: false\n})\nexport class AccordionBodyComponent {\n public parentId!: string;\n public itemId!: string;\n public expanded: boolean = false;\n}\n","import { Component, Input, booleanAttribute } from '@angular/core';\nimport { Color, Size } from '../../shared/types';\n\n@Component({\n selector: 'button[rlb-button], a[rlb-button]',\n template: `<ng-content></ng-content>`,\n host: {\n '[class]': 'mainClass',\n '[attr.disabled]': 'disabled?true:undefined',\n },\n standalone: false\n})\nexport class ButtonComponent {\n @Input({ alias: 'color' }) color?: Color = 'primary';\n @Input({ alias: 'size' }) size?: Size = 'md';\n @Input({ alias: 'disabled', transform: booleanAttribute, }) disabled?: boolean;\n @Input({ alias: 'outline', transform: booleanAttribute, }) outline?: boolean;\n @Input({ alias: 'isLink', transform: booleanAttribute, }) isLink?: boolean;\n\n get mainClass() {\n let style = '';\n if (!this.isLink) {\n style = 'btn';\n if (this.color) {\n if (this.outline) {\n style += ` btn-outline-${this.color}`;\n } else {\n style += ` btn-${this.color}`;\n }\n }\n if (this.size !== 'md') {\n style += ` btn-${this.size}`;\n }\n } else {\n style = 'btn btn-link';\n if (this.color) {\n style += ` link-${this.color}`;\n }\n }\n return style;\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'rlb-button-toolbar',\n template: `<ng-content></ng-content>`,\n host: {\n class: 'btn-toolbar',\n 'attr.role': 'toolbar',\n },\n standalone: false\n})\nexport class ButtonToolbarComponent {\n @Input({ alias: 'orientation' }) orientation: 'horizontal' | 'vertical' = 'horizontal';\n @Input({ alias: 'size' }) size: 'sm' | 'md' | 'lg' = 'md';\n}\n","import {\n\tbooleanAttribute,\n\tDirective,\n\tDoCheck,\n\tElementRef,\n\tHost,\n\tInput,\n\tOptional,\n\tRenderer2,\n\tSelf\n} from '@angular/core';\nimport { ButtonToolbarComponent } from './boutton-toolbar.component';\n\n@Directive({\n selector: `\n button[toggle],\n a[toggle],\n rlb-navbar-item[toggle],\n rlb-button-toolbar[toggle]`,\n standalone: false\n})\nexport class ToggleDirective implements DoCheck {\n\t@Input({\n\t\talias: 'toggle',\n\t\trequired: true\n\t}) toggle?: 'offcanvas' | 'collapse' | 'tab' | 'pill' | 'dropdown' | 'buttons-group';\n @Input({ alias: 'toggle-target', required: true }) target!: string;\n @Input({ transform: booleanAttribute, alias: 'collapsed' }) collapsed?: boolean;\n @Input({ alias: 'auto-close' }) autoClose!: 'default' | 'inside' | 'outside' | 'manual';\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n @Host() @Self() @Optional() public buttonToolbar: ButtonToolbarComponent,\n ) { }\n\n ngDoCheck() {\n let element: HTMLElement;\n if (this.buttonToolbar) {\n element = this.elementRef.nativeElement;\n } else {\n element = this.elementRef.nativeElement;\n }\n\t\t\n\t\tif (this.toggle)\n this.renderer.setAttribute(element, 'data-bs-toggle', this.toggle);\n if (this.autoClose === 'default') {\n this.renderer.setAttribute(\n this.elementRef.nativeElement,\n 'data-bs-auto-close',\n 'true',\n );\n }\n if (this.autoClose === 'inside') {\n this.renderer.setAttribute(\n this.elementRef.nativeElement,\n 'data-bs-auto-close',\n 'inside',\n );\n }\n if (this.autoClose === 'outside') {\n this.renderer.setAttribute(\n this.elementRef.nativeElement,\n 'data-bs-auto-close',\n 'outside',\n );\n }\n if (this.autoClose === 'manual') {\n this.renderer.setAttribute(\n this.elementRef.nativeElement,\n 'data-bs-auto-close',\n 'false',\n );\n }\n if (this.collapsed === true) {\n this.renderer.addClass(element, 'collapsed');\n this.renderer.setAttribute(element, 'aria-expanded', 'false');\n } else if (this.collapsed === false) {\n this.renderer.removeClass(element, 'collapsed');\n this.renderer.setAttribute(element, 'aria-expanded', 'true');\n }\n this.renderer.setAttribute(element, 'aria-controls', this.target);\n\n if (this.toggle === 'dropdown' && this.target === '#') {\n this.renderer.setAttribute(element, 'href', '#');\n } else if (element?.nodeName.toLowerCase() === 'a') {\n this.renderer.setAttribute(element, 'href', `#${this.target}`);\n } else {\n this.renderer.setAttribute(element, 'data-bs-target', `#${this.target}`);\n }\n }\n}\n","import { Component, Input, SimpleChanges, OnChanges } from '@angular/core';\n\n@Component({\n selector: 'rlb-accordion-header',\n template: `\n <button class=\"accordion-button\" rlb-button toggle=\"collapse\" [toggle-target]=\"itemId\" [collapsed]=\"!expanded\">\n <ng-content></ng-content>\n </button>`,\n host: { class: 'accordion-header' },\n standalone: false\n})\nexport class AccordionHeaderComponent {\n public parentId!: string;\n public itemId!: string;\n public expanded: boolean = false;\n}\n","import {\n AfterContentChecked,\n ElementRef,\n EventEmitter,\n Injectable,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges\n} from '@angular/core';\nimport { VisibilityEvent } from '../../shared/types';\n\nabstract class _bs_component {\n abstract dispose(): void;\n abstract show(): void;\n abstract hide(): void;\n abstract toggle(): void;\n static getOrCreateInstance: (element: HTMLElement) => _bs_component;\n}\n\n@Injectable()\nexport abstract class ToggleAbstractComponent<T extends _bs_component>\n implements OnInit, OnDestroy, OnChanges, AfterContentChecked {\n protected _component!: T | undefined;\n protected htmlElement!: HTMLElement | Element | undefined;\n abstract get eventPrefix(): string;\n\n abstract getOrCreateInstance(element: HTMLElement | Element): T;\n abstract statusChange: EventEmitter<VisibilityEvent>;\n abstract status?: VisibilityEvent;\n\t\n\tconstructor(protected elementRef?: ElementRef<HTMLElement>) {\n\t}\n\n ngOnInit(elemnt?: HTMLElement | Element): void {\n this.htmlElement = elemnt || this.elementRef?.nativeElement;\n if (!this.htmlElement) throw new Error(`ElementRef not defined`);\n\t\tthis._addEventListeners();\n this._component = this.getOrCreateInstance(this.htmlElement);\n }\n\n ngOnDestroy(elemnt?: HTMLElement | Element): void {\n this.htmlElement = elemnt || this.elementRef?.nativeElement;\n if (!this.htmlElement) throw new Error(`ElementRef not defined`);\n\t\tthis._removeEventListeners();\n\t\tthis._component?.dispose();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['status'] && changes['status'].currentValue) {\n switch (changes['status'].currentValue) {\n case `hidden`:\n this.status = `hide`;\n this._component?.hide();\n break;\n case `shown`:\n this.status = `show`;\n this._component?.show();\n break;\n }\n }\n }\n\n ngAfterContentChecked(): void {\n if (this.status === 'show') {\n this.ensureInstance();\n this._component?.show();\n } else if (this.status === 'hide') {\n this.ensureInstance();\n this._component?.hide();\n }\n }\n\n open() {\n\t\tthis.ensureInstance();\n\t\tthis._component?.show();\n }\n\n close() {\n\t\tthis.ensureInstance();\n this._component?.hide();\n }\n\n toggle() {\n\t\tthis.ensureInstance();\n this._component?.toggle();\n }\n\t\n\tprotected ensureInstance(): void {\n if (!this._component && this.htmlElement) {\n this._component = this.getOrCreateInstance(this.htmlElement);\n }\n\t}\n\t\n\tprivate _addEventListeners(): void {\n\t\tthis.htmlElement?.addEventListener(`hide.${this.eventPrefix}`, this._openChange_f);\n\t\tthis.htmlElement?.addEventListener(`hidden.${this.eventPrefix}`, this._openChange_f);\n\t\tthis.htmlElement?.addEventListener(`hidePrevented.${this.eventPrefix}`, this._openChange_f);\n\t\tthis.htmlElement?.addEventListener(`show.${this.eventPrefix}`, this._openChange_f);\n\t\tthis.htmlElement?.addEventListener(`shown.${this.eventPrefix}`, this._openChange_f);\n\t}\n\t\n\tprivate _removeEventListeners(): void {\n\t\tthis.htmlElement?.removeEventListener(`hide.${this.eventPrefix}`, this._openChange_f);\n\t\tthis.htmlElement?.removeEventListener(`hidden.${this.eventPrefix}`, this._openChange_f);\n\t\tthis.htmlElement?.removeEventListener(`hidePrevented.${this.eventPrefix}`, this._openChange_f);\n\t\tthis.htmlElement?.removeEventListener(`show.${this.eventPrefix}`, this._openChange_f);\n\t\tthis.htmlElement?.removeEventListener(`shown.${this.eventPrefix}`, this._openChange_f);\n\t}\n\n private _openChange_f = (e: Event) => {\n if (e.target !== this.htmlElement) return;\n \n switch (e.type) {\n case `hide.${this.eventPrefix}`:\n this.status = `hide`;\n this.statusChange.emit(`hide`);\n break;\n case `hidden.${this.eventPrefix}`:\n this.status = 'hidden';\n this.statusChange.emit(`hidden`);\n break;\n case `hidePrevented.${this.eventPrefix}`:\n this.status = 'hidePrevented';\n this.statusChange.emit(`hidePrevented`);\n break;\n case `show.${this.eventPrefix}`:\n this.status = 'show';\n this.statusChange.emit(`show`);\n break;\n case `shown.${this.eventPrefix}`:\n this.status = 'shown';\n this.statusChange.emit(`shown`);\n break;\n }\n };\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UniqueIdService {\n private _id: number;\n\n constructor() {\n this._id = 0;\n }\n\n public get id() {\n this._id++;\n return `-${this._id}`;\n }\n}\n","import {\n booleanAttribute,\n Component,\n ContentChild,\n DoCheck,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewContainerRef\n} from '@angular/core';\nimport { AccordionHeaderComponent } from './accordion-header.component';\nimport { AccordionBodyComponent } from './accordion-body.component';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { ToggleAbstractComponent } from '../abstract/toggle-abstract.component';\nimport { Collapse } from 'bootstrap';\nimport { VisibilityEvent } from '../../shared/types';\n\n@Component({\n selector: 'div[rlb-accordion-item]',\n template: `\n <ng-content select=\"rlb-accordion-header\"></ng-content>\n <ng-content select=\"[rlb-accordion-body]\"></ng-content>\n `,\n host: { class: 'accordion-item' },\n standalone: false\n})\nexport class AccordionItemComponent\n extends ToggleAbstractComponent<Collapse>\n implements DoCheck, OnInit {\n\n element!: HTMLElement;\n public parentId!: string;\n public alwaysOpen?: boolean = false;\n\n @Input({ alias: 'name' }) public name?: string;\n @Input({ transform: booleanAttribute, alias: 'expanded' }) expanded: boolean = false;\n @Input({ alias: 'class' }) cssClass?: string = '';\n @Input({ alias: 'style' }) style?: string;\n @Input({ alias: 'status' }) override status: VisibilityEvent = 'hidden';\n\n @Output('statusChange') override statusChange = new EventEmitter<VisibilityEvent>();\n\n\n @ContentChild(AccordionHeaderComponent) public header!: AccordionHeaderComponent;\n @ContentChild(AccordionBodyComponent) public body!: AccordionBodyComponent;\n\n constructor(\n elementRef: ElementRef<HTMLElement>,\n private viewContainerRef: ViewContainerRef,\n private idService: UniqueIdService\n ) {\n super(elementRef);\n }\n\n override ngOnInit(): void {\n const element = this.elementRef?.nativeElement.querySelector('.accordion-collapse') as HTMLElement\n super.ngOnInit(element);\n \n if (this.expanded) {\n this.open();\n }\n }\n\n ngDoCheck(): void {\n if (this.parentId) {\n if (!this.name) {\n this.name = `${this.parentId}-item${this.idService.id}`;\n }\n \n const isOpen = this.status === 'show' || this.status === 'shown';\n\n if (this.header) {\n this.header.parentId = this.parentId;\n this.header.itemId = this.name;\n this.header.expanded = isOpen;\n }\n\n if (this.body) {\n this.body.parentId = this.parentId;\n this.body.itemId = this.name;\n this.body.expanded = isOpen;\n }\n }\n }\n \n override getOrCreateInstance(element: HTMLElement): Collapse {\n return Collapse.getOrCreateInstance(element, { toggle: false });\n }\n\n override get eventPrefix(): string {\n return 'bs.collapse';\n }\n}\n","import {\n AfterContentInit,\n booleanAttribute,\n Component,\n ContentChildren,\n DoCheck,\n Input,\n OnDestroy,\n QueryList,\n} from '@angular/core';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { AccordionItemComponent } from './accordion-item.component';\nimport { Subscription } from \"rxjs\";\n\n@Component({\n selector: 'rlb-accordion',\n template: `<ng-content select=\"[rlb-accordion-item]\"></ng-content>`,\n host: {\n class: 'accordion',\n '[class.accordion-flush]': 'flush',\n '[id]': 'id',\n },\n standalone: false\n})\nexport class AccordionComponent implements DoCheck, AfterContentInit, OnDestroy {\n @Input({ alias: 'flush', transform: booleanAttribute }) flush?: boolean = false;\n @Input({ alias: 'always-open', transform: booleanAttribute }) alwaysOpen?: boolean = false;\n @Input({ alias: 'id' }) id!: string;\n \n private subs: Subscription[] = [];\n\n @ContentChildren(AccordionItemComponent) public items!: QueryList<AccordionItemComponent>;\n constructor(private idService: UniqueIdService) { }\n\n ngDoCheck(): void {\n if (!this.id) {\n this.id = `accordion${this.idService.id}`;\n }\n\n if (this.items) {\n this.items.forEach((item) => {\n item.parentId = this.id;\n item.alwaysOpen = this.alwaysOpen;\n });\n }\n }\n \n ngAfterContentInit(): void {\n this.attachItemHandlers();\n this.enforceInitialState();\n this.items.changes.subscribe(() => {\n this.attachItemHandlers();\n this.enforceInitialState();\n });\n }\n \n ngOnDestroy(): void {\n this.cleanup();\n }\n \n private attachItemHandlers(): void {\n this.cleanup();\n \n this.items?.forEach((item) => {\n item.parentId = this.id;\n item.alwaysOpen = this.alwaysOpen;\n \n const sub = item.statusChange.subscribe((ev) => {\n if (!this.alwaysOpen && (ev === 'show' || ev === 'shown')) {\n this.items.forEach((other) => {\n if (other !== item && (other.status === 'show' || other.status === 'shown')) {\n other.close();\n }\n });\n }\n });\n \n this.subs.push(sub);\n });\n }\n \n private enforceInitialState(): void {\n if (!this.items) return;\n \n if (this.alwaysOpen) {\n return;\n }\n \n const opened = this.items.filter(\n (i) => i.expanded || i.status === 'show' || i.status === 'shown'\n );\n \n if (opened.length > 1) {\n opened.slice(1).forEach((i) => i.close());\n }\n }\n \n private cleanup(): void {\n this.subs.forEach((s) => s.unsubscribe());\n this.subs = [];\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n ViewContainerRef,\n TemplateRef,\n booleanAttribute,\n} from '@angular/core';\nimport { Color } from '../../shared/types';\n\n@Component({\n selector: 'rlb-alert',\n template: ` <ng-template #template>\n <div class=\"alert alert-{{ color }} {{ cssClass }}\" role=\"alert\">\n <ng-content></ng-content>\n <button\n *ngIf=\"dismissible\"\n type=\"button\"\n class=\"btn-close\"\n data-bs-dismiss=\"alert\"\n aria-label=\"Close\"\n (click)=\"dismissed.emit()\"\n ></button>\n </div>\n </ng-template>`,\n standalone: false\n})\nexport class AlertComponent {\n element!: HTMLElement;\n\n @Input({ alias: 'color' }) color: Color = 'primary';\n @Input({alias: 'dismissible', transform: booleanAttribute}) dismissible?: boolean;\n @Input({ alias: 'class' }) cssClass?: string = '';\n\n @Output() dismissed: EventEmitter<void> = new EventEmitter<void>();\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n\n constructor(private viewContainerRef: ViewContainerRef) { }\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import {\n Component,\n Renderer2,\n Input,\n ViewChild,\n ViewContainerRef,\n TemplateRef,\n booleanAttribute,\n} from '@angular/core';\nimport { Color } from '../../shared/types';\n\n@Component({\n selector: 'span[rlb-badge], img[rlb-badge]',\n template: `\n <ng-template #template>\n <span [class]=\"style\">\n <ng-content></ng-content>\n <span *ngIf=\"hiddenText\" class=\"visually-hidden\">{{ hiddenText }}</span>\n </span>\n </ng-template>`,\n standalone: false\n})\nexport class BadgeComponent {\n element!: HTMLElement;\n\n @Input({ alias: 'pill', transform: booleanAttribute }) pill!: | boolean;\n @Input({ alias: 'color' }) color?: Color = 'primary';\n @Input({ alias: 'hidden-text' }) hiddenText?: string;\n @Input({ alias: 'border', transform: booleanAttribute }) border?: boolean;\n @Input({ alias: 'class' }) cssClass?: string = '';\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n\n constructor(private viewContainerRef: ViewContainerRef) { }\n\n get style() {\n let style = 'badge';\n if (this.pill) {\n style += ` rounded-pill`;\n }\n if (this.color) {\n style += ` bg-${this.color}`;\n }\n if (this.border) {\n style += ` border`;\n }\n return style += (this.cssClass ? ` ${this.cssClass}` : '');\n }\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import {\n\tAfterViewInit,\n\tbooleanAttribute,\n\tDirective,\n\tDoCheck,\n\tElementRef,\n\tInput,\n\tnumberAttribute,\n\tRenderer2,\n} from '@angular/core';\nimport { Color } from '../../shared/types';\n\n@Directive({\n selector: '[badge]',\n standalone: false\n})\nexport class BadgeDirective implements AfterViewInit, DoCheck {\n\tprivate _badge?: string;\n\t@Input({ alias: 'badge' })\n\tset badge(value: string | undefined) {\n\t\tthis._badge = value;\n\t\tthis.updateBadge();\n\t}\n\t\n\tget badge() {\n\t\treturn this._badge;\n\t}\n @Input({ alias: 'badge-pill', transform: booleanAttribute }) pill!: boolean;\n @Input({ alias: 'badge-border', transform: booleanAttribute }) border!: boolean;\n @Input({ alias: 'badge-top', transform: numberAttribute }) top!: number;\n @Input({ alias: 'badge-start', transform: numberAttribute }) start!: number;\n @Input({ alias: 'badge-color' }) color: Color = 'danger';\n @Input({ alias: 'hidden-text' }) hiddenText!: string;\n\n private badgeContent!: any;\n private badgeElement!: HTMLElement;\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n ) { }\n\n ngDoCheck(): void {\n if (this.badge) {\n if (this.badgeContent) {\n this.badgeContent.data = this.badge;\n this.badgeElement.style.display = 'inline';\n }\n } else {\n if (this.badgeContent) {\n this.badgeElement.style.display = 'none';\n }\n }\n }\n\n ngAfterViewInit() {\n\t\tif (!this.badge) return;\n\t\tthis.createBadgeElement()\n }\n\t\n\tprivate updateBadge() {\n\t\tif (!this.badgeElement) return;\n\t\tif (this.badge) {\n\t\t\tif (this.badgeContent) {\n\t\t\t\tthis.badgeContent.data = this.badge;\n\t\t\t\tthis.badgeElement.style.display = 'inline';\n\t\t\t} else {\n\t\t\t\tthis.badgeContent = this.renderer.createText(this.badge);\n\t\t\t\tthis.renderer.appendChild(this.badgeElement, this.badgeContent);\n\t\t\t\tthis.badgeElement.style.display = 'inline';\n\t\t\t}\n\t\t} else if (this.badgeElement) {\n\t\t\tthis.badgeElement.style.display = 'none';\n\t\t}\n\t}\n\t\n\tprivate createBadgeElement() {\n\t\tthis.badgeElement = this.renderer.createElement('span');\n\t\t\n\t\tif (this.top || this.start || this.top === 0 || this.start === 0) {\n\t\t\tthis.renderer.addClass(this.badgeElement, 'position-absolute');\n\t\t\tif (this.top || this.top === 0) {\n\t\t\t\tthis.renderer.addClass(this.badgeElement, `top-${this.top}`);\n\t\t\t}\n\t\t\tif (this.start || this.start === 0) {\n\t\t\t\tthis.renderer.addClass(this.badgeElement, `start-${this.start}`);\n\t\t\t}\n\t\t\tthis.renderer.addClass(this.badgeElement, 'translate-middle');\n\t\t}\n\t\tthis.renderer.addClass(this.badgeElement, 'badge');\n\t\tif (this.pill) {\n\t\t\tthis.renderer.addClass(this.badgeElement, 'rounded-pill');\n\t\t}\n\t\tif (this.border) {\n\t\t\tthis.renderer.addClass(this.badgeElement, 'rounded-border');\n\t\t}\n\t\tif (this.color) {\n\t\t\tthis.renderer.addClass(this.badgeElement, `bg-${this.color}`);\n\t\t}\n\t\tif (this.badge) {\n\t\t\tthis.badgeContent = this.renderer.createText(this.badge);\n\t\t\tthis.renderer.appendChild(this.badgeElement, this.badgeContent);\n\t\t} else {\n\t\t\tif (this.top || this.start || this.top === 0 || this.start === 0) {\n\t\t\t\tthis.renderer.addClass(this.badgeElement, `p-2`);\n\t\t\t} else {\n\t\t\t\tthis.renderer.addClass(this.badgeElement, `ps-0`);\n\t\t\t\tthis.renderer.addClass(this.badgeElement, `ms-2`);\n\t\t\t}\n\t\t\tthis.renderer.addClass(this.badgeElement, `border`);\n\t\t\tthis.renderer.addClass(this.badgeElement, `border-light`);\n\t\t\tthis.renderer.addClass(this.badgeElement, `rounded-circle`);\n\t\t\tif (!this.hiddenText) {\n\t\t\t\tconst text = this.renderer.createElement('span');\n\t\t\t\tthis.renderer.addClass(text, 'visually-hidden');\n\t\t\t\tthis.renderer.appendChild(this.badgeElement, text);\n\t\t\t}\n\t\t}\n\t\tif (this.hiddenText) {\n\t\t\tconst text = this.renderer.createElement('span');\n\t\t\tthis.renderer.addClass(text, 'visually-hidden');\n\t\t\tthis.renderer.appendChild(\n\t\t\t\ttext,\n\t\t\t\tthis.renderer.createText(this.hiddenText),\n\t\t\t);\n\t\t\tthis.renderer.appendChild(this.badgeElement, text);\n\t\t}\n\t\tthis.renderer.appendChild(this.elementRef.nativeElement, this.badgeElement);\n\t}\n}\n","import { Component, Input } from '@angular/core';\n\nexport interface BreadcrumbItem {\n label: string;\n link?: string;\n}\n\n@Component({\n selector: 'rlb-breadcrumb',\n template: ` <nav\n aria-label=\"breadcrumb\"\n style=\"--bs-breadcrumb-divider: '{{ divider }}';\"\n >\n\t\t\t<ol class=\"breadcrumb\" [ngClass]=\"cssClasses\">\n <ng-container *ngFor=\"let item of items; last as last\">\n <li class=\"breadcrumb-item\" [ngClass]=\"{ active: !last }\">\n\t\t\t\t\t<a *ngIf=\"!last\" [routerLink]=\"item.link\">{{ item.label }}</a>\n <span *ngIf=\"last\">{{ item.label }}</span>\n </li>\n </ng-container>\n </ol>\n </nav>`,\n standalone: false\n})\nexport class BreadcrumbComponent {\n @Input({ alias: 'divider' }) divider?: string = '>';\n @Input({ alias: 'items' }) items?: BreadcrumbItem[] = [];\n\t@Input({ alias: 'cssClasses' }) cssClasses: string = '';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'rlb-button-group',\n template: `<ng-content></ng-content>`,\n host: {\n '[class.btn-group]': 'orientation !== \"vertical\"',\n '[class.btn-group-vertical]': 'orientation === \"vertical\"',\n '[class.btn-group-sm]': 'size === \"sm\"',\n '[class.btn-group-lg]': 'size === \"lg\"',\n 'attr.role': 'group',\n },\n standalone: false\n})\nexport class ButtonGroupComponent {\n @Input({ alias: 'orientation' }) orientation: 'horizontal' | 'vertical' = 'horizontal';\n @Input({ alias: 'size' }) size: 'sm' | 'md' | 'lg' = 'md';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'button[rlb-button-close], a[rlb-button-close]',\n template: `<ng-content></ng-content>`,\n host: {\n class: 'btn-close',\n 'attr.type': 'button',\n 'attr.aria-label': 'Close',\n },\n standalone: false\n})\nexport class ButtonCloseComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'rlb-card-body',\n template: ` <ng-content select=\"[rlb-card-title]\" />\n <ng-content select=\"[rlb-card-subtitle]\" />\n <ng-content select=\"[rlb-card-text],[rlb-card-link]\" />\n <ng-content />`,\n host: {\n class: 'card-body',\n '[class.card-img-overlay]': 'overlay',\n },\n standalone: false\n})\nexport class CardBodyComponent {\n overlay?: boolean = false;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'rlb-card-footer',\n template: `<ng-content />`,\n host: { class: 'card-footer' },\n standalone: false\n})\nexport class CardFooterComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'rlb-card-group',\n template: `<ng-content select=\"rlb-card\" />`,\n host: { class: 'card-group' },\n standalone: false\n})\nexport class CardGroupComponent {\n overlay: boolean = false;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'rlb-card-header',\n template: `<ng-content />`,\n host: { class: 'card-header' },\n standalone: false\n})\nexport class CardHeaderComponent {}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'img[rlb-card-image]',\n template: ``,\n host: {\n '[class.card-img-top]': 'position === \"top\" && !overlay',\n '[class.card-img-bottom]': 'position === \"bottom\" && !overlay',\n '[class.card-img]': 'overlay',\n },\n standalone: false\n})\nexport class CardImageComponent {\n @Input({ alias: 'position' }) position: 'top' | 'bottom' = 'top';\n overlay?: boolean = false;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'a[rlb-card-link]',\n template: `<ng-content />`,\n host: { class: 'card-link' },\n standalone: false\n})\nexport class CardLinkComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'h*[rlb-card-subtitle]',\n template: `<ng-content />`,\n host: { class: 'card-subtitle mb-2 text-body-secondary' },\n standalone: false\n})\nexport class CardSubtitleComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'p[rlb-card-text]',\n template: `<ng-content />`,\n host: { class: 'card-text' },\n standalone: false\n})\nexport class CardTextComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'h*[rlb-card-title]',\n template: `<ng-content />`,\n host: { class: 'card-title' },\n standalone: false\n})\nexport class CardTitleComponent {}\n","import {\n Component,\n Input,\n ContentChild,\n DoCheck,\n booleanAttribute,\n} from '@angular/core';\nimport { Color, TextAlignment } from '../../shared/types';\nimport { CardBodyComponent } from './card-body.component';\nimport { CardImageComponent } from './card-image.component';\n\n@Component({\n selector: 'rlb-card',\n template: `\n <ng-content\n select=\"rlb-card-header,[rlb-card-image]:not([position='bottom'])\"\n />\n <ng-content select=\"rlb-card-body, ul[rlb-list]\" />\n <ng-content select=\"rlb-card-footer,[rlb-card-image][position='bottom']\" />\n `,\n host: {\n class: 'card',\n '[class.text-center]': 'align === \"center\"',\n '[class.text-end]': 'align === \"right\"',\n '[class.text-bg-primary]': 'background === \"primary\"',\n '[class.text-bg-secondary]': 'background === \"secondary\"',\n '[class.text-bg-success]': 'background === \"success\"',\n '[class.text-bg-danger]': 'background === \"danger\"',\n '[class.text-bg-warning]': 'background === \"warning\"',\n '[class.text-bg-info]': 'background === \"info\"',\n '[class.text-bg-light]': 'background === \"light\"',\n '[class.text-bg-dark]': 'background === \"dark\"',\n '[class.border-primary]': 'border === \"primary\"',\n '[class.border-secondary]': 'border === \"secondary\"',\n '[class.border-success]': 'border === \"success\"',\n '[class.border-danger]': 'border === \"danger\"',\n '[class.border-warning]': 'border === \"warning\"',\n '[class.border-info]': 'border === \"info\"',\n '[class.border-light]': 'border === \"light\"',\n '[class.border-dark]': 'border === \"dark\"',\n },\n standalone: false\n})\nexport class CardComponent implements DoCheck {\n @Input({ alias: 'align' }) align?: TextAlignment = 'left';\n @Input({ alias: 'overlay', transform: booleanAttribute }) overlay?: boolean;\n @Input({ alias: 'background' }) background?: Color;\n @Input({ alias: 'border' }) border?: Color;\n\n @ContentChild(CardBodyComponent) public body!: CardBodyComponent;\n @ContentChild(CardImageComponent) public image!: CardImageComponent;\n\n ngDoCheck(): void {\n if (this.body) {\n this.body.overlay = this.overlay;\n }\n if (this.image) {\n this.image.overlay = this.overlay;\n }\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'rlb-carousel-caption',\n template: `<ng-content></ng-content>`,\n host: { class: 'carousel-caption' },\n standalone: false\n})\nexport class CarouselCaptionComponent {}\n","import { booleanAttribute, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'rlb-carousel-slide',\n template: ` <ng-content></ng-content>\n <ng-content select=\"rlb-carousel-caption\"></ng-content>`,\n host: {\n class: 'carousel-item',\n \"[class.active]\": 'active'\n },\n standalone: false\n})\nexport class CarouselSlideComponent {\n @Input({ alias: 'active', transform: booleanAttribute }) active: boolean = false;\n @Input({ alias: 'id' }) id: string = '';\n}","import { AfterViewInit, Component, ContentChildren, DoCheck, ElementRef, EventEmitter, Input, OnDestroy, Output, QueryList, booleanAttribute, numberAttribute } from '@angular/core';\nimport { Carousel } from 'bootstrap';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { CarouselSlideComponent } from './carousel-slide.component';\n\n@Component({\n selector: 'rlb-carousel',\n template: `\n <ng-container *ngIf=\"!hideIndicators\">\n <div class=\"carousel-indicators\">\n <ng-container *ngFor=\"let item of items; let i = index\">\n <button\n type=\"button\"\n [class.active]=\"item.active\"\n [attr.data-bs-target]=\"'#' + id\"\n [attr.data-bs-slide-to]=\"i\"\n [attr.aria-label]=\"'Slide ' + (i + 1)\"\n ></button>\n </ng-container>\n </div>\n </ng-container>\n <div class=\"carousel-inner\">\n <ng-content select=\"rlb-carousel-slide\" />\n </div>\n <button\n *ngIf=\"!hideControls\"\n class=\"carousel-control-prev\"\n type=\"button\"\n [attr.data-bs-target]=\"'#' + id\"\n data-bs-slide=\"prev\"\n >\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button\n *ngIf=\"!hideControls\"\n class=\"carousel-control-next\"\n type=\"button\"\n [attr.data-bs-target]=\"'#' + id\"\n data-bs-slide=\"next\"\n >\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n `,\n host: {\n class: 'carousel slide',\n '[class.carousel-fade]': 'crossFade',\n '[id]': 'id',\n '[attr.data-bs-ride]': 'autoplay === \"auto\" ? \"carousel\" : autoplay === \"manual\" ? \"true\": undefined',\n '[attr.data-bs-touch]': 'noTouch ? undefined : true',\n '[attr.data-bs-interval]': 'interval',\n '[attr.data-bs-keyboard]': '!keyboard ? \"false\" : undefined',\n '[attr.data-bs-wrap]': '!wrap ? \"false\" : undefined',\n '[attr.data-bs-pause]': 'pause === false ? \"false\" : undefined',\n },\n standalone: false\n})\nexport class CarouselComponent implements DoCheck, OnDestroy, AfterViewInit {\n @ContentChildren(CarouselSlideComponent) public items!: QueryList<CarouselSlideComponent>;\n @Input() id!: string;\n\n @Input({ transform: booleanAttribute, alias: 'hide-indicators' }) hideIndicators?: boolean;\n @Input({ transform: booleanAttribute, alias: 'hide-controls' }) hideControls?: boolean;\n @Input({ transform: booleanAttribute, alias: 'cross-fade' }) crossFade?: boolean = false;\n @Input('autoplay') autoplay?: 'auto' | 'manual' | 'none' = 'auto';\n @Input('interval') interval?: number = 500;\n @Input('pause') pauseProp?: false | 'hover' = 'hover';\n @Input({ transform: booleanAttribute, alias: 'wrap' }) wrap?: boolean = true;\n @Input({ transform: booleanAttribute, alias: 'no-touch' }) noTouch?: boolean = false;\n @Input({ transform: booleanAttribute, alias: 'keyboard' }) keyboard?: boolean = true;\n @Output('slid') slid?: EventEmitter<Carousel.Event> = new EventEmitter<Carousel.Event>();\n @Output('slide') slide?: EventEmitter<Carousel.Event> = new EventEmitter<Carousel.Event>();\n @Output('current-slideChange') currentSlideChange: EventEmitter<number> = new EventEmitter<number>();\n @Output('slide-count') slideCountChange: EventEmitter<number> = new EventEmitter<number>();\n\n @Input({ alias: 'current-slide', transform: numberAttribute }) set currentSlide(index: number) {\n this._currentSlide = index;\n this.carousel?.to(index);\n }\n\n get currentSlide(): number {\n return this._currentSlide;\n }\n\n\n private carousel!: Carousel;\n private _currentSlide: number = 0;\n\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n private idService: UniqueIdService,\n ) { }\n\n ngOnDestroy(): void {\n this.carousel?.dispose();\n this.elementRef.nativeElement.removeEventListener(\n 'slid.bs.carousel',\n this.__event_slid_handler,\n );\n this.elementRef.nativeElement.removeEventListener(\n 'slide.bs.carousel',\n this.__event_slide_handler,\n );\n }\n\n ngDoCheck(): void {\n if (!this.id) {\n this.id = `carousel${this.idService.id}`;\n }\n }\n\n ngAfterViewInit(): void {\n this.carousel = Carousel.getOrCreateInstance(\n this.elementRef.nativeElement,\n {\n interval: this.interval,\n keyboard: this.keyboard,\n ride: this.adaptRide(this.autoplay),\n touch: this.noTouch ? false : true,\n wrap: this.wrap,\n pause: this.pauseProp,\n },\n );\n this.carousel.to(this._currentSlide);\n this.slideCountChange.emit(this.items.length);\n this.elementRef.nativeElement.addEventListener('slid.bs.carousel', e => this.__event_slid_handler(e));\n this.elementRef.nativeElement.addEventListener('slide.bs.carousel', e => this.__event_slid_handler(e));\n }\n\n private __event_slid_handler(e: any): void {\n this.currentSlideChange?.emit(e.to as number);\n this.slid?.emit(e as Carousel.Event);\n }\n\n private __event_slide_handler(e: unknown): void {\n this.slide?.emit(e as Carousel.Event);\n }\n\n public prev(): void {\n this.carousel?.prev();\n }\n\n public next(): void {\n this.carousel?.next();\n }\n\n public pause(): void {\n this.carousel?.pause();\n }\n\n public cycle(): void {\n this.carousel?.cycle();\n }\n\n public to(index: number): void {\n this.carousel?.to(index);\n }\n\n get slideCount(): number {\n return this.items.length;\n }\n\n adaptRide(o?: 'auto' | 'manual' | 'none') {\n if (o === 'auto') return 'carousel';\n if (o === 'manual') return true;\n if (o === 'none') return false;\n return undefined;\n }\n}\n","import { Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';\nimport { Collapse } from 'bootstrap';\nimport { ToggleAbstractComponent } from '../abstract/toggle-abstract.component';\nimport { VisibilityEvent } from '../../shared/types';\n\n@Component({\n selector: 'rlb-collapse',\n template: ` <div\n\t\t#collapseRef\n class=\"collapse\"\n [id]=\"id\"\n [class.collapse-horizontal]=\"orientation === 'horizontal'\"\n >\n <ng-content></ng-content>\n </div>`,\n host: { '[attr.id]': 'undefined' },\n standalone: false\n})\nexport class CollapseComponent\n extends ToggleAbstractComponent<Collapse>\n implements OnInit, OnDestroy {\n\n @Input({ alias: `id`, required: true }) id!: string;\n @Input({ alias: 'orientation' }) orientation?: 'horizontal' | 'vertical' = 'vertical';\n @Input({ alias: 'status' }) override status?: VisibilityEvent;\n\n @Output('statusChange') override statusChange = new EventEmitter<VisibilityEvent>();\n\t\n\t@ViewChild('collapseRef', { static: true }) collapseRef!: ElementRef<HTMLElement>;\n\n constructor(elementRef: ElementRef<HTMLElement>) {\n super(elementRef);\n }\n\t\n\toverride ngOnInit(elemnt?: HTMLElement | Element) {\n\t\tsuper.ngOnInit(this.collapseRef.nativeElement);\n\t}\n\t\n\toverride getOrCreateInstance(element: HTMLElement): Collapse {\n return Collapse.getOrCreateInstance(element, { toggle: false });\n }\n\n override get eventPrefix(): string {\n return 'bs.collapse';\n }\n}\n","import { Component, ElementRef, Input } from '@angular/core';\n\n@Component({\n selector: 'ul[rlb-dropdown-menu], rlb-dropdown-container',\n template: ` <ng-content *ngIf=\"isList\" select=\"li[rlb-dropdown-item]\" />\n <ng-content *ngIf=\"!isList\" />`,\n host: {\n class: 'dropdown-menu',\n '[class.dropdown-menu-end]': 'placement === \"right\"',\n '[class.dropdown-menu-start]': 'placement === \"left\"',\n '[class.dropdown-menu-sm-end]': 'placementSm === \"right\"',\n '[class.dropdown-menu-sm-start]': 'placementSm === \"left\"',\n '[class.dropdown-menu-md-end]': 'placementMd === \"right\"',\n '[class.dropdown-menu-md-start]': 'placementMd === \"left\"',\n '[class.dropdown-menu-lg-end]': 'placementLg === \"right\"',\n '[class.dropdown-menu-lg-start]': 'placementLg === \"left\"',\n '[class.dropdown-menu-xl-end]': 'placementXl === \"right\"',\n '[class.dropdown-menu-xl-start]': 'placementXl === \"left\"',\n '[class.dropdown-menu-xxl-end]': 'placementXxl === \"right\"',\n '[class.dropdown-menu-xxl-start]': 'placementXxl === \"left\"',\n '[style.border]': 'isList ? null : \"none\"',\n '[style.padding]': 'isList ? null : \"0px\"',\n },\n standalone: false\n})\nexport class DropdownContainerComponent {\n isList: boolean = false;\n \n @Input({ alias: 'placement' }) public placement!: 'left' | 'right';\n @Input({ alias: 'placement-sm' }) public placementSm!: 'left' | 'right'\n @Input({ alias: 'placement-md' }) public placementMd!: 'left' | 'right'\n @Input({ alias: 'placement-lg' }) public placementLg!: 'left' | 'right'\n @Input({ alias: 'placement-xl' }) public placementXl!: 'left' | 'right'\n @Input({ alias: 'placement-xxl' }) public placementXxl!: 'left' | 'right'\n\n constructor(\n private elementRef: ElementRef,\n ) {\n if (this.elementRef.nativeElement.nodeName.toLowerCase() === 'ul') {\n this.isList = true;\n }\n }\n}\n","import { booleanAttribute, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'li[rlb-dropdown-item]',\n\ttemplate: `\n\t\t<span\n\t\t\t*ngIf=\"!link && !divider && !header\"\n\t\t\tclass=\"dropdown-item \"\n\t\t\trole=\"button\"\n\t\t\t[class.active]=\"active\"\n\t\t\t[class.disabled]=\"disabled\"\n\t\t\t[class.text-wrap]=\"textWrap\"\n\t\t\t[class.text-break]=\"textWrap\"\n\t\t\t[attr.aria-current]=\"active\"\n\t\t\t[attr.aria-disabled]=\"disabled\"\n\t\t>\n\t\t\t\t<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\t\t\t</span>\n\t\t<a\n\t\t\t*ngIf=\"link\"\n\t\t\tclass=\"dropdown-item \"\n\t\t\t[routerLink]=\"link\"\n [class.active]=\"active\"\n [class.disabled]=\"disabled\"\n\t\t\t[class.text-wrap]=\"textWrap\"\n\t\t\t[class.text-break]=\"textWrap\"\n [attr.aria-current]=\"active\"\n [attr.aria-disabled]=\"disabled\"\n >\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </a>\n <h6 *ngIf=\"header\" class=\"dropdown-header\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </h6>\n <hr *ngIf=\"divider\" class=\"dropdown-divider\" />\n <ng-template #content><ng-content /></ng-template>`,\n standalone: false\n})\nexport class DropdownMenuItemComponent {\n @Input({ alias: 'active', transform: booleanAttribute }) active?: boolean;\n @Input({ alias: 'disabled', transform: booleanAttribute }) disabled?: boolean;\n @Input({ alias: 'header', transform: booleanAttribute }) header?: boolean;\n @Input({ alias: 'divider', transform: booleanAttribute }) divider?: boolean;\n\t@Input({ alias: 'link' }) link?: string = '';\n\t@Input({ alias: 'text-wrap', transform: booleanAttribute }) textWrap?: boolean;\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'rlb-dropdown',\n template: `\n <ng-content select=\"a[rlb-dropdown], button[rlb-dropdown]\" />\n <ng-content select=\"[rlb-dropdown-menu], rlb-dropdown-container\" />\n `,\n host: {\n '[class.dropdown]': 'direction === \"down\"',\n '[class.dropdown-center]': 'direction === \"down-center\"',\n '[class.dropup]': 'direction === \"up\" || direction === \"up-center\"',\n '[class.dropup-center]': 'direction === \"up-center\"',\n '[class.dropstart]': 'direction === \"left\"',\n '[class.dropend]': 'direction === \"right\"',\n },\n standalone: false\n})\nexport class DropdownComponent {\n @Input({ alias: 'direction' }) direction: 'up' | 'down' | 'left' | 'right' | 'up-center' | 'down-center' = 'down';\n}\n","import {\n Directive,\n DoCheck,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n} from '@angular/core';\nimport { Dropdown } from 'bootstrap';\nimport { VisibilityEventBase } from '../../shared/types';\nimport { ComponentOptions } from \"bootstrap/js/dist/base-component\";\n\n@Directive({\n selector: 'a[rlb-dropdown], button[rlb-dropdown], span[rlb-badge][rlb-dropdown]',\n standalone: false\n})\nexport class DropdownDirective implements DoCheck, OnInit, OnDestroy {\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n ) { }\n private _dropdown: Dropdown | undefined;\n private listeners: (() => void)[] = [];\n @Input({ alias: 'offset' }) offset: number[] = [];\n @Input({ alias: 'auto-close' }) autoClose: 'default' | 'inside' | 'outside' | 'manual' = 'default';\n @Output('status-changed') statusChanged = new EventEmitter<VisibilityEventBase>();\n\n ngOnInit(): void {\n \n switch (this.autoClose) {\n case 'default':\n this.renderer.setAttribute(\n this.elementRef.nativeElement,\n 'data-bs-auto-close',\n 'true',\n );\n break;\n case 'inside':\n this.renderer.setAttribute(\n this.elementRef.nativeElement,\n 'data-bs-auto-close',\n 'inside',\n );\n break;\n case 'outside':\n this.renderer.setAttribute(\n this.elementRef.nativeElement,\n 'data-bs-auto-close',\n 'outside',\n );\n break;\n case 'manual':\n this.renderer.setAttribute(\n this.elementRef.nativeElement,\n 'data-bs-auto-close',\n 'false',\n );\n break;\n }\n \n const dropdownOptions: ComponentOptions = {\n offset: this.offset,\n // bootstrap offset functionality is offered by popper.js library\n // it requires \"display: dynamic\" (default bootstrap value = static)\n display: this.offset.length ? 'dynamic' : 'static'\n }\n \n // add a custom class to customize css behavior\n if (dropdownOptions[\"display\"] === 'dynamic') {\n this.renderer.addClass(this.elementRef.nativeElement, 'dropdown-dynamic');\n } else {\n this.renderer.addClass(this.elementRef.nativeElement, 'dropdown-static');\n }\n \n this._dropdown = Dropdown.getOrCreateInstance(this.elementRef.nativeElement, dropdownOptions);\n // this.elementRef.nativeElement.addEventListener('show.bs.dropdown', () => {\n // this.statusChanged.emit('show');\n // })\n // this.elementRef.nativeElement.addEventListener('shown.bs.dropdown', () => {\n // this.statusChanged.emit('shown');\n // })\n // this.elementRef.nativeElement.addEventListener('hide.bs.dropdown', () => {\n // this.statusChanged.emit('hide');\n // })\n // this.elementRef.nativeElement.addEventListener('hidden.bs.dropdown', () => {\n // this.statusChanged.emit('hidden');\n // })\n \n // event handlers via Renderer2.listen (returns unsubscribe fn)\n const el = this.elementRef.nativeElement;\n this.listeners.push(\n this.renderer.listen(el, 'show.bs.dropdown', () => this.statusChanged.emit('show')),\n this.renderer.listen(el, 'shown.bs.dropdown', () => this.statusChanged.emit('shown')),\n this.renderer.listen(el, 'hide.bs.dropdown', () => this.statusChanged.emit('hide')),\n this.renderer.listen(el, 'hidden.bs.dropdown', () => this.statusChanged.emit('hidden')),\n );\n }\n\n ngDoCheck() {\n this.renderer.addClass(this.elementRef.nativeElement, 'dropdown-toggle');\n this.renderer.setAttribute(\n this.elementRef.nativeElement,\n 'data-bs-toggle',\n 'dropdown',\n );\n if (this.elementRef.nativeElement.nodeName.toLowerCase() === 'a') {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'href', `#`);\n }\n }\n \n ngOnDestroy() {\n // clean up event listeners\n this.listeners.forEach(unsub => unsub());\n this.listeners = [];\n \n // bootstrap cleanup\n this._dropdown?.dispose();\n }\n}\n","import { Component, Input, booleanAttribute, numberAttribute } from '@angular/core';\nimport { Color } from '../../shared/types';\n\n@Component({\n selector: 'rlb-progress',\n template: `\n <div\n class=\"progress-bar {{ color && !infinite? 'bg-' + color : '' }} {{ textColor? 'text-' + textColor : '' }}\"\n [class.progress-bar-animated]=\"animated\"\n [class.progress-bar-striped]=\"striped\"\n [class.infinite-progress]=\"infinite\"\n [style.background-color]=\"infinite? 'unset' : null\"\n [style.width.%]=\"infinite? max :getPercentValue()\">\n <div *ngIf=\"infinite\" class=\"inner bg-{{color}}\"></div>\n <span *ngIf=\"showValue; else e\">\n {{ getPercentValue() }}\n </span>\n <ng-template #e>\n <ng-content></ng-content>\n </ng-template>\n </div>`,\n host: {\n class: 'progress',\n 'attr.role': 'progressbar',\n '[attr.aria-valuenow]': 'getPercentValue()',\n 'aria-valuemin': '0',\n '[attr.aria-valuemax]': 'max',\n '[attr.aria-valuemin]': 'min',\n '[attr.aria-label]': 'ariaLabel',\n '[style.height.px]': 'height',\n },\n standalone: false\n})\nexport class ProgressComponent {\n\n @Input({ alias: 'max', transform: numberAttribute }) max: number = 100;\n @Input({ alias: 'min', transform: numberAttribute }) min: number = 0;\n @Input({ alias: 'value', transform: numberAttribute }) value = 0;\n @Input({ alias: 'height', transform: numberAttribute }) height!: number;\n @Input({ alias: 'animated', transform: booleanAttribute }) animated?: boolean = false;\n @Input({ alias: 'striped', transform: booleanAttribute }) striped?: boolean = false;\n @Input({ alias: 'infinite', transform: booleanAttribute }) infinite?: boolean = false;\n @Input({ alias: 'aria-label' }) ariaLabel!: string;\n @Input({ alias: 'showValue', transform: booleanAttribute }) showValue?: boolean = false;\n @Input({ alias: 'color' }) color: Color = 'primary';\n @Input({ alias: 'text-color' }) textColor!: Color;\n\n getPercentValue() {\n return ((this.value - this.min) / (this.max - this.min)) * 100;\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Color } from '../../shared/types';\n\n@Component({\n selector: 'rlb-spinner',\n template: `<span class=\"visually-hidden\">Loading...</span>`,\n host: {\n '[class.spinner-border]': 'style === \"border\"',\n '[class.spinner-grow]': 'style === \"grow\"',\n '[class.spinner-border-sm]': 'size === \"sm\" && style === \"border\"',\n '[class.spinner-grow-sm]': 'size === \"sm\" && style === \"grow\"',\n '[class.spinner-border-lg]': 'size === \"lg\" && style === \"border\"',\n '[class.spinner-grow-lg]': 'size === \"lg\" && style === \"grow\"',\n role: 'status',\n '[class]': \"'text-'+color\",\n },\n standalone: false\n})\nexport class SpinnerComponent {\n @Input({ alias: 'style' }) style?: 'grow' | 'border' = 'border';\n @Input({ alias: 'color' }) color?: Color = 'primary';\n @Input({ alias: 'size' }) size?: 'sm' | 'md' | 'lg' = 'md';\n}\n","import { ComponentRef, Injectable, Type } from '@angular/core';\nimport { ComponentHostDirective } from './component-host.directive';\nimport { ComponentInfo } from './data/component-info';\nimport { GenericComponent } from './generic.component';\nimport { AbstractRegistryService } from '../abstract.registry.service';\nimport { ComponentCreationOptions } from './data/component-creation-options';\n\n@Injectable()\nexport abstract class BuilderComponent<\n T extends AbstractRegistryService<Function>,\n> {\n abstract component: ComponentHostDirective;\n abstract builderId: string;\n\n constructor(protected registryService: T) {}\n\n public buildComponent<Data = any, Options = any>(\n component: ComponentInfo<string, Data>,\n creationOptions?: ComponentCreationOptions,\n componentOptions?: Options,\n ): ComponentRef<GenericComponent> | null {\n if (component.name) {\n const componentType = this.registryService.get(\n component.name,\n ) as Type<any>;\n const componentRef =\n this.component.viewContainerRef.createComponent<GenericComponent>(\n componentType,\n );\n componentRef.instance.data = component.data;\n if (creationOptions?.setInstance === true) {\n componentRef.setInput(\n creationOptions?.instanceInputName || 'data-instance',\n componentRef.instance,\n );\n }\n if (componentOptions) {\n componentRef.setInput('data-options', componentOptions);\n }\n if (creationOptions && creationOptions.inputs) {\n for (const key in creationOptions.inputs) {\n componentRef.setInput(key, creationOptions.inputs[key]);\n }\n }\n return componentRef;\n }\n return null;\n }\n}\n","import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[component-host]',\n standalone: false\n})\nexport class ComponentHostDirective {\n constructor(public viewContainerRef: ViewContainerRef) {}\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport abstract class AbstractRegistryService<T extends Function> {\n protected registry: Map<string, T> = new Map();\n\n public get(name: string | null | undefined) {\n if (!name) return;\n const type = this.registry.get(name);\n if (!type) throw new Error(`Component ${name} not found in registry`);\n return type;\n }\n\n protected add(name: string, type: T,) {\n if (!type) throw new Error('Component type is required');\n if (!name) throw new Error('Component name is required');\n let _name: string = this.dasherizeString(name);\n this.registry.set(_name, type);\n }\n\n protected dasherizeName(type: Function) {\n let name: string = type?.prototype?.constructor?.name;\n name = name.startsWith('_') ? name.slice(1) : name;\n return this.dasherizeString(name);\n }\n\n protected dasherizeString(val: string): string {\n if (!val) '';\n return val.replace(\n /[A-Z]/g,\n (char, index) => (index !== 0 ? '-' : '') + char.toLowerCase(),\n );\n }\n}\n","import { Injectable, Type } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ModalRegistryOptions {\n public modals!: { [name: string]: Type<any> };\n}\n","import { MediaMatcher } from '@angular/cdk/layout';\nimport { ComponentRef, Injectable, Type } from '@angular/core';\nimport { Observable, of, Subject } from 'rxjs';\nimport { AbstractRegistryService } from '../../shared/abstract.registry.service';\nimport { BuilderComponent } from '../../shared/component-builder';\nimport { GenericComponent } from '../../shared/component-builder/generic.component';\nimport { ModalCloseReason } from '../../shared/types';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { ModalData } from './data/modal-data';\nimport { ModalOptions } from './data/modal-options';\nimport { ModalResult } from './data/modal-resutl';\nimport { ModalRegistryOptions } from './options/modal-registry.options';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class InnerModalService extends AbstractRegistryService<Type<any>> {\n\n private allModals: { id: string; modal: ComponentRef<GenericComponent>, subject: Subject<ModalResult<any>>; }[] = [];\n private builders: BuilderComponent<InnerModalService>[] = [];\n\n registerBuilder(builder: BuilderComponent<InnerModalService>) {\n if (this.builders.length > 0) {\n throw new Error(\n 'Only one modal builder is supported. Please remove the others.',\n );\n }\n this.builders.push(builder);\n }\n\n removeBuilder(builderId: string) {\n this.builders = this.builders.filter((_) => false);\n }\n\n getBuilder(): BuilderComponent<InnerModalService> {\n if (this.builders.length === 0) {\n throw new Error('No modal builder is registered.');\n }\n return this.builders[0];\n }\n\n constructor(\n options: ModalRegistryOptions,\n private mediaMatcher: MediaMatcher,\n private uniqueIdService: UniqueIdService,\n ) {\n super();\n if (Array.isArray(options)) {\n const modals = (options as ModalRegistryOptions[])\n .reverse()\n .map((o) => o.modals)\n .flat();\n for (const modal of modals) {\n Object.keys(modal).forEach((k) => this.add(k, modal[k]));\n }\n } else {\n if (options && options.modals) {\n Object.keys(options.modals).forEach((k) => this.add(k, options.modals[k]));\n }\n }\n }\n\n public openModal<Input = any, Output = any>(\n name: string,\n data: ModalData<Input>,\n options?: ModalOptions,\n ): Observable<ModalResult<Output>> {\n const modalId = `rlb-modal${this.uniqueIdService.id}`;\n const modal = this.getBuilder().buildComponent<\n ModalData<Input>,\n ModalOptions\n >(\n {\n name,\n data,\n },\n {\n inputs: { id: modalId },\n setInstance: true,\n },\n options,\n );\n this.allModals.push({ id: modalId, modal: modal!, subject: new Subject<ModalResult<Output>>() });\n const subject = this.allModals.find((d) => d.id === modalId)?.subject;\n if (!subject) {\n return of({ reason: 'cancel', result: undefined } as ModalResult<Output>);\n }\n return subject.asObservable();\n }\n\n public eventModal(\n event: string,\n reason: ModalCloseReason,\n id: string,\n result: any,\n ): void {\n if (event === 'hidden') {\n const modal = this.allModals.find((d) => d.id === id);\n if (modal) {\n modal.modal.destroy();\n this.allModals = this.allModals.filter((d) => d.id !== id);\n }\n modal?.subject.next({ reason, result });\n modal?.subject.complete();\n }\n }\n}\n","import { Component, Input, OnDestroy, ViewChild } from '@angular/core';\nimport { BuilderComponent } from '../../shared/component-builder/builder.component';\nimport { InnerModalService } from './inner-modal.service';\nimport { ComponentHostDirective } from '../../shared/component-builder/component-host.directive';\n@Component({\n selector: 'rlb-modal-container',\n template: `<ng-template component-host></ng-template>`,\n standalone: false\n})\nexport class ModalContainerComponent\n extends BuilderComponent<InnerModalService>\n implements OnDestroy {\n\n @Input({ alias: 'id' }) builderId!: string;\n\n @ViewChild(ComponentHostDirective, { static: true }) component!: ComponentHostDirective;\n\n constructor(private modalService: InnerModalService) {\n super(modalService);\n this.modalService.registerBuilder(this);\n }\n\n ngOnDestroy(): void {\n this.modalService.removeBuilder(this.builderId);\n }\n}\n","import { AfterViewInit, Directive, ElementRef, Input, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { Modal } from 'bootstrap';\nimport { ModalCloseReason } from '../../shared/types';\nimport { IModal } from './data/modal';\nimport { ModalOptions } from './data/modal-options';\nimport { InnerModalService } from './inner-modal.service';\n\n@Directive({\n selector: '[rlb-modal]',\n standalone: true,\n})\nexport class ModalDirective implements OnDestroy, AfterViewInit, OnInit {\n private bsModal!: Modal;\n private modalElement!: HTMLElement;\n private dialogElement!: HTMLElement;\n private contentElement!: HTMLElement;\n private _reasonButtons!: NodeListOf<HTMLButtonElement> | null;\n private _modalReason!: ModalCloseReason;\n\n @Input({ alias: 'id' }) id!: string;\n @Input({ alias: 'data-instance' }) instance!: IModal;\n @Input({ alias: 'data-options' }) options!: ModalOptions;\n\n constructor(\n private el: ElementRef,\n private renderer: Renderer2,\n private innerModalService: InnerModalService,\n ) { }\n\n ngOnInit(): void {\n // Check prop existence\n // This approach permits to handle empty string '' case\n const hasContent =\n Object.prototype.hasOwnProperty.call(this.instance.data, 'content') &&\n this.instance.data.content !== undefined;\n\n if (hasContent) {\n const content = this.instance.data.content;\n // If content is Object / Array we handle it as a deep copy\n if (content !== null && typeof content === 'object') {\n this.instance.result = structuredClone(content);\n } else {\n // otherwise assign as is\n this.instance.result = content;\n }\n } else {\n // default fallback\n this.instance.result = {};\n }\n }\n\n ngAfterViewInit(): void {\n const cont = this.el.nativeElement.parentNode;\n this.modalElement = this.renderer.createElement('div');\n this.dialogElement = this.renderer.createElement('div');\n this.contentElement = this.el.nativeElement;\n this.renderer.appendChild(cont, this.modalElement);\n this.renderer.appendChild(this.modalElement, this.dialogElement);\n this.renderer.appendChild(this.dialogElement, this.contentElement);\n this.renderer.addClass(this.modalElement, 'modal');\n this.renderer.addClass(this.modalElement, 'fade');\n this.renderer.setAttribute(this.modalElement, 'id', `${this.id}`);\n this.renderer.setAttribute(this.modalElement, 'tabindex', '-1');\n this.renderer.addClass(this.dialogElement, 'modal-dialog');\n this.renderer.addClass(this.contentElement, 'modal-content');\n if (this.options?.backdrop) {\n this.renderer.setAttribute(\n this.modalElement,\n 'data-bs-backdrop',\n `${this.options.backdrop}`,\n );\n }\n if (this.options?.keyboard) {\n this.renderer.setAttribute(\n this.modalElement,\n 'data-bs-keyboard',\n `${this.options.keyboard}`,\n );\n }\n if (this.options?.animation === false) {\n this.renderer.removeClass(this.modalElement, 'fade');\n }\n if (this.options?.scrollable) {\n this.renderer.addClass(this.dialogElement, 'modal-dialog-scrollable');\n }\n if (this.options?.verticalcentered) {\n this.renderer.addClass(this.dialogElement, 'modal-dialog-centered');\n }\n if (this.options?.size) {\n this.renderer.addClass(this.dialogElement, `modal-${this.options.size}`);\n }\n if (this.options?.fullscreen === true) {\n this.renderer.addClass(this.dialogElement, `modal-fullscreen`);\n }\n if (\n typeof this.options?.fullscreen === 'string' &&\n this.options?.fullscreen\n ) {\n this.renderer.addClass(\n this.dialogElement,\n `modal-fullscreen-${this.options.fullscreen}`,\n );\n }\n this.modalElement.addEventListener(`hide.bs.modal`, this._openChange_f);\n this.modalElement.addEventListener(`hidden.bs.modal`, this._openChange_f);\n this.modalElement.addEventListener(\n `hidePrevented.bs.modal`,\n this._openChange_f,\n );\n this.modalElement.addEventListener(`show.bs.modal`, this._openChange_f);\n this.modalElement.addEventListener(`shown.bs.modal`, this._openChange_f);\n this.initButtons();\n this.bsModal = Modal.getOrCreateInstance(this.modalElement, {\n backdrop: this.options?.backdrop || true,\n keyboard: this.options?.keyboard || true,\n focus: this.options?.focus || true,\n });\n this.bsModal.show();\n }\n\n ngOnDestroy(): void {\n this.modalElement.removeEventListener(`hide.bs.modal`, this._openChange_f);\n this.modalElement.removeEventListener(\n `hidden.bs.modal`,\n this._openChange_f,\n );\n this.modalElement.removeEventListener(\n `hidePrevented.bs.modal`,\n this._openChange_f,\n );\n this.modalElement.removeEventListener(`show.bs.modal`, this._openChange_f);\n this.modalElement.removeEventListener(`shown.bs.modal`, this._openChange_f);\n // this._reasonButtons?.forEach((btn) => {\n // btn.removeEventListener('click', null);\n // });\n this.bsModal?.dispose();\n this.modalElement.remove();\n }\n\n private _openChange_f = (e: Event) => {\n this.innerModalService.eventModal(\n e.type.replace('.bs.modal', ''),\n this._modalReason,\n this.id,\n this.instance?.result,\n );\n };\n\n show() {\n this.bsModal?.show();\n }\n hide(reason?: ModalCloseReason) {\n if (reason) {\n this._modalReason = reason;\n }\n this.bsModal?.hide();\n }\n\n initButtons(): void {\n this._reasonButtons = this.contentElement.querySelectorAll(\n '[data-modal-reason]',\n );\n if (this._reasonButtons && this._reasonButtons.length > 0) {\n this._reasonButtons.forEach((btn) => {\n btn.addEventListener('click', () => {\n this._modalReason = btn.getAttribute(\n 'data-modal-reason',\n ) as ModalCloseReason;\n if (this._modalReason === 'cancel' || this._modalReason === 'close') {\n this.bsModal?.hide();\n }\n if (this._modalReason === 'ok') {\n if (this.instance.valid) {\n this.bsModal?.hide();\n }\n }\n });\n });\n }\n }\n}\n","import { Observable } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { InnerModalService } from './inner-modal.service';\nimport { ModalData } from './data/modal-data';\nimport { ModalResult } from './data/modal-resutl';\nimport { ModalOptions } from './data/modal-options';\nimport { CommonModalData } from '../../modals/common-modal.data';\nimport { ModalType } from '../../shared/types';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ModalService {\n constructor(private modalService: InnerModalService) { }\n\n public openModal<Input = any, Output = any>(\n name: string,\n data: ModalData<Input>,\n options?: ModalOptions,\n ): Observable<ModalResult<Output>> {\n return this.modalService.openModal<Input, Output>(name, data, options);\n }\n\n public openSimpleModal(title: string, body: string, header?: string, ok?: string, type?: ModalType, options?: ModalOptions) {\n return this.openModal<CommonModalData, void>('rlb-common', {\n title,\n content: {\n header,\n body,\n },\n ok,\n type\n }, options);\n }\n\n public openConfirmModal(title: string, body: string, header?: string, ok?: string, cancel?: string, type?: ModalType, options?: ModalOptions) {\n return this.openModal<CommonModalData, void>('rlb-common', {\n title,\n content: {\n header,\n body,\n },\n ok,\n cancel,\n type\n }, options);\n }\n}\n","import { ModalContainerComponent } from './modal-container.component';\n\nexport * from './data/modal-data';\nexport * from './data/modal-options';\nexport * from './data/modal';\nexport * from './data/modal-resutl';\nexport * from './modal-container.component';\nexport * from './options/modal-registry.options';\nexport * from './modal.directive';\nexport * from './modal.service';\n\nexport const MODALS = [ModalContainerComponent];\n","import { booleanAttribute, Component, Input, OnInit, TemplateRef, ViewChild, ViewContainerRef, } from '@angular/core';\n\n@Component({\n selector: 'rlb-nav-item',\n template: ` <ng-template #template>\n <li class=\"nav-item {{ cssClass }}\">\n <a\n class=\"nav-link\"\n [class.active]=\"active\"\n [attr.href]=\"href || '#'\"\n\t\t\t\t[class.disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled ? 'true' : undefined\"\n >\n <ng-content />\n </a>\n </li>\n </ng-template>`,\n standalone: false\n})\nexport class NavItemComponent implements OnInit {\n element!: HTMLElement;\n\n @Input({ alias: 'href' }) href?: string | any[] | null | undefined = '#';\n @Input({ alias: 'active', transform: booleanAttribute }) active?: boolean;\n @Input({ alias: 'disabled', transform: booleanAttribute }) disabled?: boolean;\n @Input({ alias: 'class' }) cssClass?: string = '';\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n\n constructor(private viewContainerRef: ViewContainerRef) { }\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import {\n\tComponent,\n\tElementRef,\n\tInput,\n\tTemplateRef,\n\tViewChild,\n\tViewContainerRef,\n\tbooleanAttribute, OnInit,\n} from '@angular/core';\n\n@Component({\n selector: 'rlb-nav',\n template: ` <ng-template #template>\n <ul\n [attr.id]=\"id ? id : undefined\"\n class=\"nav nav-underline {{ cssClass }}\"\n [class.justify-content-center]=\"horizontalAlignment === 'center'\"\n [class.justify-content-end]=\"horizontalAlignment === 'end'\"\n [class.flex-column]=\"vertical\"\n [class.nav-pills]=\"pills\"\n [class.nav-fill]=\"fill\"\n >\n <ng-content select=\"rlb-nav-item\" />\n </ul>\n </ng-template>`,\n host: {\n '[attr.class]': 'undefined',\n '[attr.id]': 'undefined',\n },\n standalone: false\n})\nexport class NavComponent implements OnInit {\n element!: HTMLElement;\n\n @Input({ alias: 'horizontal-alignment' }) horizontalAlignment?: 'center' | 'end';\n @Input({ alias: 'vertical', transform: booleanAttribute }) vertical?: boolean;\n @Input({ alias: 'fill', transform: booleanAttribute }) fill?: boolean;\n @Input({ alias: 'pills', transform: booleanAttribute }) pills?: boolean;\n @Input({ alias: 'id' }) id!: string;\n @Input({ alias: 'class' }) cssClass?: string = '';\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n\n constructor(\n private viewContainerRef: ViewContainerRef,\n private elementRef: ElementRef<HTMLElement>,\n ) {\n elementRef.nativeElement.remove();\n }\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import { Directive, ElementRef, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[rlb-navbar-brand]',\n standalone: false\n})\nexport class NavbarBrandDirective {\n constructor(elementRef: ElementRef, renderer: Renderer2) {\n renderer.addClass(elementRef.nativeElement, 'navbar-brand');\n }\n}\n","import { Component, Input, TemplateRef, ViewChild, ViewContainerRef, } from '@angular/core';\n\n@Component({\n selector: 'rlb-navbar-form',\n template: ` <ng-template #template>\n\t\t\t<form [attr.role]=\"role\" class=\"d-flex ms-lg-auto mb-2 mb-lg-0 {{ cssClass }}\">\n <ng-content />\n </form>\n </ng-template>`,\n standalone: false\n})\nexport class NavbarFormComponent {\n element!: HTMLElement;\n\n @Input({ alias: 'role' }) role!: string;\n @Input({ alias: 'class' }) cssClass?: string = '';\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n constructor(private viewContainerRef: ViewContainerRef) { }\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n Component,\n Input,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n numberAttribute,\n} from '@angular/core';\n\n@Component({\n selector: 'rlb-avatar',\n template: `\n <ng-template #template>\n <img\n *ngIf=\"src\"\n [src]=\"src\"\n alt=\"Avatar\"\n [class]=\"cssClass\"\n [style.vertical-align]=\"'middle'\"\n [style.width.px]=\"size\"\n [style.width.px]=\"size\"\n [style.height.px]=\"size\"\n [style.border]=\"'2px solid #cbcbcb'\"\n [style.border-radius]=\"_borderRadius\"\n />\n </ng-template>\n `,\n standalone: false\n})\nexport class AvatarComponent {\n element!: HTMLElement;\n\n @Input({ alias: 'size', transform: numberAttribute }) size?: number = 50;\n @Input({ alias: 'shape' }) shape?: 'circle' | 'round' | 'square' = 'circle';\n @Input({ alias: 'src' }) src?: string;\n @Input({ alias: 'class' }) cssClass?: string = '';\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n\n constructor(private viewContainerRef: ViewContainerRef) { }\n\n get _borderRadius() {\n switch (this.shape) {\n case 'circle':\n return '50%';\n case 'round':\n return '5px';\n case 'square':\n return '0px';\n default:\n return '50%';\n }\n }\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import { booleanAttribute, Component, Input } from '@angular/core';\nimport { Color } from \"../../../shared/types\";\n\n@Component({\n selector: 'rlb-fab',\n templateUrl: './fab.component.html',\n styleUrls: ['./fab.component.scss'],\n standalone: false,\n})\nexport class RlbFabComponent {\n @Input() color: Color = 'primary';\n\n @Input() size: 'xs' | 'sm' | 'md' | 'lg' = 'md';\n\n @Input({ transform: booleanAttribute }) disabled = false;\n @Input({ transform: booleanAttribute }) outline = false;\n \n @Input() position: 'br' | 'bl' | 'tr' | 'tl' | undefined = undefined;\n\n get positionClass() {\n let classes = '';\n if (this.position) {\n classes += 'position-fixed ';\n switch (this.position) {\n case 'bl':\n classes += 'fab-bottom-left';\n break;\n case 'tr':\n classes += 'fab-top-right';\n break;\n case 'tl':\n classes += 'fab-top-left';\n break;\n default:\n classes += 'fab-bottom-right';\n }\n }\n return classes\n }\n\n get sizeClass() {\n switch (this.size) {\n case 'xs': return 'fab-xs';\n case 'sm': return 'fab-sm';\n case 'lg': return 'fab-lg';\n default: return 'fab-md';\n }\n }\n}\n\n","<button\n rlb-button\n [color]=\"color\"\n [disabled]=\"disabled\"\n [outline]=\"outline\"\n class=\"fab-button d-flex align-items-center justify-content-center\"\n [ngClass]=\"[sizeClass, positionClass]\"\n>\n <ng-content></ng-content>\n</button>\n","import { DateTz, IDateTz } from '@open-rlb/date-tz';\n\nexport function isSameDay(a: IDateTz, b: IDateTz): boolean {\n return a.yearUTC === b.yearUTC &&\n a.monthUTC === b.monthUTC &&\n a.dayUTC === b.dayUTC;\n}\n\nexport function addDays(date: DateTz, days: number): DateTz {\n return new DateTz(date.add!(days, 'day'));\n}\n\nexport function startOfMonth(date: IDateTz): DateTz {\n\tconst d = new DateTz(date);\n\treturn d.set(1, 'day');\n}\n\n// export function endOfMonth(date: IDateTz): DateTz {\n// \tconst d = new DateTz(date.timestamp, 'UTC');\n// \treturn d.add(1, 'month').set(1, 'day').add(-1, 'day');\n// }\n\nexport function isToday(date: IDateTz): boolean {\n const today = getToday()\n\n return date.yearUTC === today.yearUTC &&\n date.monthUTC === today.monthUTC &&\n date.dayUTC === today.dayUTC;\n}\n\nexport function getToday(): DateTz {\n const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n const today = DateTz.now(timezone);\n\treturn today\n}\n","import { Injectable, Type } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ToastRegistryOptions {\n public toasts!: { [name: string]: Type<any> };\n}\n","import { ComponentRef, Injectable, Type } from '@angular/core';\nimport { Observable, filter, map, Subject, of } from 'rxjs';\nimport { ToastData } from './data/toast-data';\nimport { AbstractRegistryService } from '../../shared/abstract.registry.service';\nimport { ToastRegistryOptions } from './options/toast-registry.options';\nimport { GenericComponent } from '../../shared/component-builder/generic.component';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { ModalCloseReason } from '../../shared/types';\nimport { ToastResult } from './data/toast-resutl';\nimport { BuilderComponent } from '../../shared/component-builder';\nimport { ModalOptions } from '../modals';\nimport { ToastOptions } from './data/toast-options';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class InnerToastService extends AbstractRegistryService<Type<any>> {\n\n private allModals: { id: string; toast: ComponentRef<GenericComponent>, subject: Subject<ToastResult<any>> }[] = [];\n private builders: BuilderComponent<InnerToastService>[] = [];\n\n registerBuilder(builder: BuilderComponent<InnerToastService>) {\n this.builders.push(builder);\n }\n\n removeBuilder(builderId: string) {\n this.builders = this.builders.filter((b) => b.builderId !== builderId);\n }\n\n getBuilder(builderId: string): BuilderComponent<InnerToastService> {\n if (!builderId) throw new Error('builderId is required');\n const count = this.builders.filter((b) => b.builderId === builderId).length;\n if (count === 0) throw new Error(`builderId not found: ${builderId}`);\n if (count > 1)\n console.warn(\n `Toast builderId is not unique: ${builderId}. Will use the first one.`,\n );\n return this.builders.find(\n (b) => b.builderId === builderId,\n ) as BuilderComponent<InnerToastService>;\n }\n\n constructor(\n options: ToastRegistryOptions,\n private uniqueIdService: UniqueIdService,\n ) {\n super();\n if (Array.isArray(options)) {\n const toasts = (options as ToastRegistryOptions[])\n .reverse()\n .map((o) => o.toasts)\n .flat();\n for (const toast of toasts) {\n Object.keys(toast).forEach((k) => this.add(k, toast[k]))\n }\n } else {\n if (options && options.toasts) {\n Object.keys(options.toasts).forEach((k) => this.add(k, options.toasts[k]))\n }\n }\n }\n\n public openToast<Input = any, Output = any>(\n builderId: string,\n componentName: string,\n data: ToastData<Input>,\n options?: ToastOptions,\n ): Observable<ToastResult<Output> | null> {\n const toastId = `rlb-toast${this.uniqueIdService.id}`;\n const toast = this.getBuilder(builderId).buildComponent<\n ToastData<Input>,\n ToastOptions\n >(\n {\n name: componentName,\n data,\n },\n {\n inputs: { id: toastId },\n setInstance: true,\n },\n options,\n );\n this.allModals.push({ id: toastId, toast: toast!, subject: new Subject<ToastResult<Output>>() });\n const subject = this.allModals.find((d) => d.id === toastId)?.subject;\n if (!subject) {\n return of({ reason: 'cancel', result: undefined } as ToastResult<Output>);\n }\n return subject.asObservable();\n }\n\n public eventToast(\n event: string,\n reason: ModalCloseReason,\n id: string,\n result: any,\n ): void {\n if (event === 'hidden') {\n const toast = this.allModals.find((d) => d.id === id);\n if (toast) {\n toast.toast.destroy();\n this.allModals = this.allModals.filter((d) => d.id !== id);\n }\n toast?.subject.next({ reason, result });\n toast?.subject.complete();\n }\n }\n}\n","import { Component, Input, OnDestroy, ViewChild } from '@angular/core';\nimport { BuilderComponent } from '../../shared/component-builder/builder.component';\nimport { InnerToastService } from './inner-toast.service';\nimport { ComponentHostDirective } from '../../shared/component-builder/component-host.directive';\nimport { ToastData } from './data/toast-data';\n\n@Component({\n selector: 'rlb-toast-container',\n template: `<ng-template component-host></ng-template>`,\n host: { class: 'toast-container' },\n standalone: false\n})\nexport class ToastContainerComponent\n extends BuilderComponent<InnerToastService>\n implements OnDestroy {\n @Input({ alias: 'id', required: true }) builderId!: string;\n\n @ViewChild(ComponentHostDirective, { static: true }) component!: ComponentHostDirective;\n\n constructor(private toastService: InnerToastService) {\n super(toastService);\n this.toastService.registerBuilder(this);\n }\n\n ngOnDestroy(): void {\n this.toastService.removeBuilder(this.builderId);\n }\n}\n","import {\n Directive,\n ElementRef,\n Renderer2,\n Input,\n OnDestroy,\n DoCheck,\n AfterViewInit,\n} from '@angular/core';\nimport { Toast } from 'bootstrap';\nimport { InnerToastService } from './inner-toast.service';\nimport { ToastCloseReason } from '../../shared/types';\nimport { IToast } from './data/toast';\nimport { ToastOptions } from './data/toast-options';\n\n@Directive({\n selector: '[rlb-toast]',\n standalone: true,\n})\nexport class ToastDirective implements OnDestroy, AfterViewInit {\n @Input({ alias: 'id' }) id!: string;\n @Input({ alias: 'data-instance' }) instance!: IToast;\n @Input({ alias: 'data-options' }) options!: ToastOptions;\n\n private bsToast!: Toast;\n private contentElement!: HTMLElement;\n private _reasonButtons!: NodeListOf<HTMLButtonElement> | null;\n private _toastReason!: ToastCloseReason;\n\n constructor(\n private el: ElementRef,\n private renderer: Renderer2,\n private innerToastService: InnerToastService,\n ) { }\n\n ngAfterViewInit(): void {\n const cont = this.el.nativeElement.parentNode;\n this.contentElement = this.renderer.createElement('div');\n this.renderer.addClass(this.contentElement, 'toast');\n this.renderer.setAttribute(this.contentElement, 'id', `${this.id}`);\n this.renderer.setAttribute(this.contentElement, 'role', 'alert');\n this.renderer.setAttribute(this.contentElement, 'aria-live', 'assertive');\n this.renderer.setAttribute(this.contentElement, 'aria-atomic', 'true');\n if (this.options?.color) {\n this.renderer.addClass(\n this.contentElement,\n `text-bg-${this.options.color}`,\n );\n }\n if (this.options?.classes) {\n for (const c of this.options.classes) {\n this.renderer.addClass(this.contentElement, c.trim());\n }\n }\n while (this.el.nativeElement.children.length > 0) {\n this.renderer.appendChild(\n this.contentElement,\n this.el.nativeElement.children[0],\n );\n }\n this.renderer.appendChild(cont, this.contentElement);\n this.el.nativeElement.remove();\n this.contentElement.addEventListener(`hide.bs.toast`, this._openChange_f);\n this.contentElement.addEventListener(`hidden.bs.toast`, this._openChange_f);\n this.contentElement.addEventListener(`show.bs.toast`, this._openChange_f);\n this.contentElement.addEventListener(`shown.bs.toast`, this._openChange_f);\n this.initButtons();\n this.bsToast = Toast.getOrCreateInstance(this.contentElement, {\n animation: this.options?.animation || true,\n autohide: this.options?.autohide || true,\n delay: this.options?.delay || 5000,\n });\n this.bsToast.show();\n }\n\n ngOnDestroy(): void {\n this.contentElement.removeEventListener(\n `hide.bs.toast`,\n this._openChange_f,\n );\n this.contentElement.removeEventListener(\n `hidden.bs.toast`,\n this._openChange_f,\n );\n this.contentElement.removeEventListener(\n `show.bs.toast`,\n this._openChange_f,\n );\n this.contentElement.removeEventListener(\n `shown.bs.toast`,\n this._openChange_f,\n );\n // this._reasonButtons?.forEach((btn) => {\n // btn.removeEventListener('click', null);\n // });\n this.bsToast?.dispose();\n }\n\n private _openChange_f = (e: Event) => {\n this.innerToastService.eventToast(\n e.type.replace('.bs.toast', ''),\n this._toastReason,\n this.id,\n this.instance?.result,\n );\n };\n\n initButtons(): void {\n this._reasonButtons = this.contentElement.querySelectorAll(\n '[data-toast-reason]',\n );\n if (this._reasonButtons && this._reasonButtons.length > 0) {\n this._reasonButtons.forEach((btn) => {\n btn.addEventListener('click', () => {\n this._toastReason = btn.getAttribute(\n 'data-toast-reason',\n ) as ToastCloseReason;\n if (this._toastReason === 'cancel' || this._toastReason === 'close') {\n this.bsToast?.hide();\n }\n if (this._toastReason === 'ok') {\n if (this.instance.valid) {\n this.bsToast?.hide();\n }\n }\n });\n });\n }\n }\n}\n","import { Observable } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { InnerToastService } from './inner-toast.service';\nimport { ToastData } from './data/toast-data';\nimport { ToastResult } from './data/toast-resutl';\nimport { ToastOptions } from './data/toast-options';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ToastService {\n constructor(private modalService: InnerToastService) {}\n\n public openToast<Input = any, Output = any>(\n containerId: string,\n name: string,\n data: ToastData<Input>,\n options?: ToastOptions,\n ): Observable<ToastResult<Output> | null> {\n return this.modalService.openToast<Input, Output>(\n containerId,\n name,\n data,\n options,\n );\n }\n}\n","import { ToastContainerComponent } from './toast-container.component';\n\nexport * from './data/toast-data';\nexport * from './data/toast-options';\nexport * from './data/toast';\nexport * from './data/toast-resutl';\nexport * from './toast-container.component';\nexport * from './options/toast-registry.options';\nexport * from './toast.directive';\nexport * from './toast.service';\n\nexport const TOASTS = [ToastContainerComponent];\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DateTz, IDateTz } from \"@open-rlb/date-tz\";\n\n@Pipe({\n name: 'dtz',\n standalone: false\n})\nexport class DateTzPipe implements PipeTransform {\n\n transform(value?: IDateTz, ...args: (string | boolean)[]): string {\n const format = args[0] as string || 'YYYY-MM-DDTHH:mm';\n const tz = args[1] as boolean || false;\n if (value) {\n value = new DateTz(value);\n }\n if (!value) return '';\n return `${value.toString?.(format) || ''}${tz ? ' (' + value.timezone + ')' : ''}`;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'monthFormatter', standalone: false })\nexport class MonthFormatterPipe implements PipeTransform {\n private readonly months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n\n transform(value: string): string {\n if (!value) return '';\n const parts = value.trim().split(' ');\n if (parts.length < 2) return value;\n const day = parts[0];\n const monthIndex = parseInt(parts[1], 10) - 1;\n if (isNaN(monthIndex) || monthIndex < 0 || monthIndex > 11) {\n return value;\n }\n const month = this.months[monthIndex];\n const rest = parts.slice(2).join(' ');\n return `${day} ${month}${rest ? ' ' + rest : ''}`;\n }\n}\n","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\nimport { DateTz } from \"@open-rlb/date-tz\";\nimport { CalendarView } from \"../interfaces/calendar-view.type\";\nimport { addDays, getToday } from \"../utils/calendar-date-utils\";\n\n@Component({\n\tselector: 'rlb-calendar-header',\n\ttemplateUrl: './calendar-header.component.html',\n\tstyleUrls: ['./calendar-header.component.scss'],\n\tstandalone: false\n})\nexport class CalendarHeaderComponent {\n\t@Input() view: CalendarView = 'month';\n @Input() currentDate!: DateTz\n @Output() dateChange = new EventEmitter<DateTz>();\n\t@Output() viewChange = new EventEmitter<CalendarView>();\n\n\tnext() {\n\t\tswitch (this.view) {\n\t\t\tcase 'week':\n const nextWeek = addDays(this.currentDate, 7)\n this.dateChange.emit(new DateTz(nextWeek));\n break;\n case 'month':\n const nextMonth = new DateTz(this.currentDate)\n .set(1, 'day')\n .add(1, 'month');\n\n this.dateChange.emit(new DateTz(nextMonth));\n break;\n\t\t\tdefault:\n\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n prev() {\n\t\tswitch (this.view) {\n\t\t\tcase 'week':\n const pastWeek = addDays(this.currentDate, -7)\n this.dateChange.emit(new DateTz(pastWeek));\n break;\n case 'month':\n const pastMonth = new DateTz(this.currentDate)\n .set(1, 'day')\n .add(-1, 'month');\n \n this.dateChange.emit(new DateTz(pastMonth));\n break;\n\t\t\tdefault:\n\n break;\n\t\t}\n\t}\n\n today() {\n\t\tswitch (this.view) {\n\t\t\tcase 'week':\n\t\t\tdefault:\n\t\t\t\tconst today = getToday()\n\t\t\t\tthis.dateChange.emit(today);\n\t\t\t\tbreak;\n\t\t}\n\t}\n}\n","<div class=\"d-flex justify-content-between align-items-center mb-3\">\n\t<div class=\"d-flex gap-1\">\n\t\t<button rlb-button outline (click)=\"prev()\">\n\t\t\t<i class=\"bi bi-chevron-left\"></i>\n\t\t</button>\n\t\t<button rlb-button outline (click)=\"today()\">Today</button>\n\t\t<button rlb-button outline (click)=\"next()\">\n\t\t\t<i class=\"bi-chevron-right\"></i>\n\t\t</button>\n\t</div>\n\n <h5 class=\"mb-0\">{{ currentDate | dtz:'DD MM yyyy' | monthFormatter }} {{ currentDate.timezone }}</h5>\n\n\t<rlb-dropdown>\n\t\t<button rlb-button outline rlb-dropdown>{{ view | titlecase }}</button>\n\t\t<ul rlb-dropdown-menu [placement]=\"'right'\">\n\t\t\t<li rlb-dropdown-item (click)=\"viewChange.emit('day')\" >Day</li>\n\t\t\t<li rlb-dropdown-item (click)=\"viewChange.emit('week')\">Week</li>\n\t\t\t<li rlb-dropdown-item (click)=\"viewChange.emit('month')\">Month</li>\n\t\t</ul>\n\t</rlb-dropdown>\n</div>\n","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\nimport { CalendarEvent, CalendarEventWithLayout } from \"../interfaces/calendar-event.interface\";\nimport { CalendarView } from \"../interfaces/calendar-view.type\";\n\n@Component({\n selector: 'rlb-calendar-event',\n templateUrl: 'calendar-event.component.html',\n styleUrls: ['./calendar-event.component.scss'],\n standalone: false,\n})\nexport class CalendarEventComponent {\n @Input({ required: true }) event!: CalendarEventWithLayout;\n @Input({ required: true }) view!: CalendarView;\n @Output() eventClick = new EventEmitter<CalendarEvent | undefined>();\n @Output() eventContainerClick = new EventEmitter<CalendarEventWithLayout[] | undefined>();\n\n get classes(): string[] {\n const baseColor = this.event.color || 'primary';\n const classes = ['calendar-event', 'shadow-sm'];\n\n switch (this.view) {\n case 'week':\n classes.push('mode-week');\n break;\n case 'month':\n classes.push('mode-month');\n break;\n }\n\n if (this.event.isContinuedAfter) {\n classes.push('rounded-bottom-0', 'border-bottom-0');\n }\n\n if (this.event.isContinuedBefore) {\n classes.push('rounded-top-0', 'border-top-0', 'opacity-75');\n }\n\n\n if (this.event.isOverflowIndicator) {\n classes.push('overflow-indicator', 'bg-light', 'text-dark', 'border');\n } else {\n classes.push(`bg-${baseColor}`);\n if (['light', 'warning', 'white'].includes(baseColor)) {\n classes.push('text-dark');\n } else {\n classes.push('text-white');\n }\n }\n return classes;\n }\n\n onClick(e: Event) {\n e.preventDefault();\n e.stopPropagation();\n e.stopImmediatePropagation()\n\n if (this.event.isOverflowIndicator && this.event.overflowEvents) {\n this.eventContainerClick.emit(this.event.overflowEvents)\n } else {\n this.eventClick.emit(this.event);\n }\n }\n}\n","<div [ngClass]=\"classes\"\n (click)=\"onClick($event)\">\n\n <ng-container *ngIf=\"!event.isOverflowIndicator\">\n <strong>{{ event.title }}</strong>\n <div class=\"small opacity-75\">\n {{ event.start | dtz:'HH:mm' }} - {{ event.end | dtz:'HH:mm' }}\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"event.isOverflowIndicator\">\n +{{ event.overlapCount }} more\n </ng-container>\n</div>\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { formatDate } from '@angular/common';\nimport { IDateTz } from \"@open-rlb/date-tz\";\n\n@Pipe({\n name: 'dayOfWeek',\n standalone: false\n})\nexport class DayOfWeekPipe implements PipeTransform {\n\n /**\n * @param value IDateTz\n * @param format 'long' (Friday), 'short' (Fri), 'narrow' (F)\n * @param locale Language, default = 'en-US'\n */\n transform(value: IDateTz | null | undefined, format: 'long' | 'short' | 'narrow' = 'long', locale: string = 'en-US'): string {\n if (!value || typeof value.timestamp !== 'number') {\n return '';\n }\n\n let pattern = 'EEEE';\n if (format === 'short') pattern = 'EEE';\n if (format === 'narrow') pattern = 'EEEEE';\n\n try {\n return formatDate(\n value.timestamp,\n pattern,\n locale,\n value.timezone || undefined\n );\n } catch (error) {\n console.error('DayOfWeekPipe error:', error);\n return '';\n }\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n SimpleChanges,\n ViewChild\n} from \"@angular/core\";\nimport { IDateTz } from \"@open-rlb/date-tz\";\nimport { CalendarView } from \"../../interfaces/calendar-view.type\";\nimport { CalendarEvent, CalendarEventWithLayout } from \"../../interfaces/calendar-event.interface\";\nimport { DateTz } from \"@open-rlb/date-tz/date-tz\";\nimport { getToday, isToday } from \"../../utils/calendar-date-utils\";\nimport { CdkDragDrop } from \"@angular/cdk/drag-drop\";\n\n\n@Component({\n selector: 'rlb-calendar-week-grid',\n templateUrl: './calendar-week-grid.component.html',\n styleUrls: ['./calendar-week-grid.component.scss'],\n standalone: false,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CalendarWeekGridComponent implements OnChanges, OnDestroy, AfterViewInit {\n @Input() view!: CalendarView;\n @Input() currentDate!: IDateTz;\n @Input() events: CalendarEvent[] = [];\n @Output() eventClick = new EventEmitter<CalendarEvent | undefined>();\n @Output() eventContainerClick = new EventEmitter<CalendarEvent[] | undefined>();\n @Output() eventChange = new EventEmitter<CalendarEvent>();\n\n days: IDateTz[] = [];\n timeSlots: string[] = [];\n processedEvents: Map<number, CalendarEventWithLayout[]> = new Map();\n\n @ViewChild('scrollBody', { static: false }) scrollBodyRef!: ElementRef<HTMLDivElement>;\n @ViewChild('headerRow', { static: false }) headerRowRef!: ElementRef<HTMLDivElement>;\n scrollbarWidth: number = 0;\n\n now: DateTz;\n private nowInterval: any;\n\n // CONFIG CONSTANTS\n readonly ROW_HEIGHT = 110; // px for a full hour slot\n readonly MAX_BODY_HEIGHT: number = 30; // rem\n readonly MIN_HEADER_HEIGHT = 3.5 // rem\n private readonly MAX_VISIBLE_COLUMNS = 4;\n private readonly SNAP_MINUTES = 15;\n\n\n constructor(\n private cd: ChangeDetectorRef,\n ) {\n this.now = getToday()\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['view'] || changes['currentDate']) {\n if (this.view === 'week') {\n this.buildWeekGrid(this.currentDate);\n this.buildTimeSlots();\n }\n }\n\n if (changes['events']) {\n this.events = changes['events'].currentValue as CalendarEvent[];\n this.processAllEvents();\n }\n }\n\n ngAfterViewInit() {\n this.updateScrollbarWidth();\n window.addEventListener('resize', this.onResize);\n this.cd.detectChanges();\n }\n\n ngOnDestroy() {\n this.stopNowTimer();\n window.removeEventListener('resize', this.onResize);\n }\n\n // arrow function to keep \"this\" context\n private onResize = () => {\n this.updateScrollbarWidth();\n }\n\n private updateScrollbarWidth() {\n if (this.scrollBodyRef) {\n const el = this.scrollBodyRef.nativeElement;\n this.scrollbarWidth = el.offsetWidth - el.clientWidth;\n }\n }\n\n onBodyScroll(event: Event) {\n if (this.headerRowRef && this.scrollBodyRef) {\n this.headerRowRef.nativeElement.scrollLeft = this.scrollBodyRef.nativeElement.scrollLeft;\n }\n }\n\n trackByEventId(index: number, item: CalendarEventWithLayout): string | number {\n return item.id\n }\n\n onEventDrop(event: CdkDragDrop<IDateTz, any, CalendarEventWithLayout>) {\n const movedEvent = event.item.data as CalendarEventWithLayout;\n const newDay = event.container.data;\n\n const originalTopPx = this.calculateEventTop(movedEvent);\n\n const dragDistancePx = event.distance.y;\n\n const newTopPx = originalTopPx + dragDistancePx;\n\n const rawMinutesFromStart = (newTopPx / this.ROW_HEIGHT) * 60;\n\n const snappedMinutes = Math.round(rawMinutesFromStart / this.SNAP_MINUTES) * this.SNAP_MINUTES;\n\n const validMinutes = Math.max(0, snappedMinutes);\n\n const newStart = new DateTz(newDay)\n .set(0, 'hour')\n .set(0, 'minute')\n .add(validMinutes, 'minute')\n .stripSecMillis!();\n\n const durationMs = movedEvent.end.timestamp - movedEvent.start.timestamp;\n const newEnd = new DateTz(newStart.timestamp + durationMs).stripSecMillis();\n\n if (newStart.timestamp !== movedEvent.start.timestamp) {\n const updatedEvent: CalendarEvent = {\n ...movedEvent,\n start: newStart,\n end: newEnd,\n };\n\n this.eventChange.emit(updatedEvent);\n }\n }\n\n getEventsForDay(day: IDateTz): CalendarEventWithLayout[] {\n const dayTs = new DateTz(day.timestamp, 'UTC').set(0, 'hour').set(0, 'minute').stripSecMillis().timestamp;\n return this.processedEvents.get(dayTs) || [];\n }\n\n calculateEventTop(event: CalendarEventWithLayout): number {\n const startOfDay = new DateTz(event.start).set(0, 'hour').set(0, 'minute').stripSecMillis();\n const diffMs = event.start.timestamp - startOfDay.timestamp;\n const diffMinutes = diffMs / (1000 * 60);\n return (diffMinutes / 60) * this.ROW_HEIGHT;\n }\n\n calculateEventHeight(event: CalendarEventWithLayout): number {\n const durationMs = event.end.timestamp - event.start.timestamp;\n const durationMinutes = durationMs / (1000 * 60);\n return (durationMinutes / 60) * this.ROW_HEIGHT;\n }\n\n getNowTop(): number {\n const hours = this.now.hour;\n const minutes = this.now.minute;\n return ((hours * 60) + minutes) / 60 * this.ROW_HEIGHT;\n }\n\n isToday(date: IDateTz): boolean {\n return isToday(date)\n }\n\n private startNowTimer() {\n this.nowInterval = setInterval(() => {\n this.now = getToday();\n }, 60 * 1000); // every minute\n }\n\n private stopNowTimer() {\n if (this.nowInterval) {\n clearInterval(this.nowInterval);\n }\n }\n\n private buildWeekGrid(currentDate: IDateTz) {\n const dayOfWeek = currentDate.dayOfWeek!; // 0 = Sunday, 1 = Monday ...\n\n // Week init (monday)\n const start = new DateTz(currentDate.timestamp, 'UTC')\n .add!(-(dayOfWeek - 1), 'day') // clone or create new for start date\n .set!(0, 'hour')\n .set!(0, 'minute')\n .stripSecMillis!();\n\n this.days = [];\n for (let i = 0; i < 7; i++) {\n this.days.push(new DateTz(start.timestamp, 'UTC').add(i, 'day'));\n }\n this.startNowTimer();\n }\n\n private buildTimeSlots() {\n const slots: string[] = [];\n for (let h = 0; h < 24; h++) {\n slots.push(`${h.toString().padStart(2, '0')}:00`);\n }\n this.timeSlots = slots;\n }\n\n private isOverlapping(eventA: CalendarEvent, eventB: CalendarEvent): boolean {\n const startA = eventA.start.timestamp;\n const endA = eventA.end.timestamp;\n const startB = eventB.start.timestamp;\n const endB = eventB.end.timestamp;\n return startA < endB && startB < endA;\n }\n\n private processAllEvents() {\n this.processedEvents.clear();\n\n const eventsByDay = new Map<number, CalendarEventWithLayout[]>();\n\n for (const event of this.events) {\n const originalStart = new DateTz(event.start).stripSecMillis!();\n const originalEnd = new DateTz(event.end).stripSecMillis!();\n\n let currentChunkStart: IDateTz = new DateTz(originalStart);\n\n while (currentChunkStart.timestamp < originalEnd.timestamp) {\n const startOfNextDay = new DateTz(currentChunkStart)\n .set(0, 'hour')\n .set(0, 'minute')\n .add(1, 'day')\n .stripSecMillis!();\n\n const chunkEndTimestamp = Math.min(originalEnd.timestamp, startOfNextDay.timestamp);\n const chunkEnd = new DateTz(chunkEndTimestamp);\n\n const currentDayStart = new DateTz(currentChunkStart)\n .set(0, 'hour')\n .set(0, 'minute')\n .stripSecMillis!();\n\n const dayTimestamp = currentDayStart.timestamp;\n\n const visualEvent: CalendarEventWithLayout = {\n ...event,\n start: currentChunkStart,\n end: chunkEnd,\n isContinuedBefore: currentChunkStart.timestamp > originalStart.timestamp,\n isContinuedAfter: chunkEnd.timestamp < originalEnd.timestamp,\n left: 0,\n width: 0\n };\n\n if (!eventsByDay.has(dayTimestamp)) {\n eventsByDay.set(dayTimestamp, []);\n }\n\n eventsByDay.get(dayTimestamp)!.push(visualEvent);\n\n currentChunkStart = startOfNextDay;\n }\n }\n\n for (const [dayTimestamp, dayEvents] of eventsByDay.entries()) {\n\n const sortedDayEvents = this.sortEventsStable(dayEvents);\n\n const groups = this.groupEventsByConflicts(sortedDayEvents);\n const eventsWithLayout: CalendarEventWithLayout[] = [];\n\n for (const group of groups) {\n const groupLayouts = this.resolveConflictGroupLayout(group);\n eventsWithLayout.push(...groupLayouts);\n }\n\n this.processedEvents.set(dayTimestamp, eventsWithLayout);\n }\n }\n\n private groupEventsByConflicts(dayEvents: CalendarEvent[]): CalendarEvent[][] {\n if (dayEvents.length === 0) return [];\n\n const groups: CalendarEvent[][] = [];\n const visited = new Map<CalendarEvent, boolean>();\n\n for (const event of dayEvents) {\n if (visited.get(event)) continue;\n\n const currentGroup: CalendarEvent[] = [];\n const queue: CalendarEvent[] = [event];\n visited.set(event, true);\n\n while (queue.length > 0) {\n const current = queue.shift()!;\n currentGroup.push(current);\n\n for (const other of dayEvents) {\n if (!visited.get(other) && this.isOverlapping(current, other)) {\n visited.set(other, true);\n queue.push(other);\n }\n }\n }\n groups.push(currentGroup);\n }\n return groups;\n }\n\n private resolveConflictGroupLayout(groupEvents: CalendarEvent[]): CalendarEventWithLayout[] {\n if (!groupEvents || groupEvents.length === 0) return [];\n\n const columns: CalendarEventWithLayout[][] = [];\n\n const columnLastEndTimes: number[] = [];\n\n for (const event of groupEvents) {\n let assignedCol = -1;\n\n for (let i = 0; i < columnLastEndTimes.length; i++) {\n if (columnLastEndTimes[i] <= event.start.timestamp) {\n assignedCol = i;\n break;\n }\n }\n\n if (assignedCol === -1) {\n assignedCol = columns.length;\n columns.push([]);\n columnLastEndTimes.push(0);\n }\n\n columns[assignedCol].push(event as CalendarEventWithLayout);\n columnLastEndTimes[assignedCol] = event.end.timestamp;\n }\n\n const totalColumns = columns.length;\n\n const resultEvents: CalendarEventWithLayout[] = [];\n\n\n // Case 1: All visible\n if (totalColumns <= this.MAX_VISIBLE_COLUMNS) {\n const colWidth = 100 / totalColumns;\n\n columns.forEach((colEvents, colIndex) => {\n colEvents.forEach(event => {\n resultEvents.push({\n ...event,\n left: colIndex * colWidth,\n width: colWidth\n });\n });\n });\n }\n // Case 2 (Overflow)\n else {\n const visibleColsCount = this.MAX_VISIBLE_COLUMNS - 1;\n const colWidth = 100 / this.MAX_VISIBLE_COLUMNS;\n const hiddenEvents: CalendarEventWithLayout[] = [];\n\n for (let i = 0; i < visibleColsCount; i++) {\n columns[i].forEach(event => {\n resultEvents.push({\n ...event,\n left: i * colWidth,\n width: colWidth\n });\n });\n }\n\n for (let i = visibleColsCount; i < totalColumns; i++) {\n columns[i].forEach(event => {\n hiddenEvents.push({\n ...event,\n left: visibleColsCount * colWidth,\n width: colWidth\n });\n });\n }\n\n if (hiddenEvents.length > 0) {\n const minStart = hiddenEvents.reduce((min, e) => Math.min(min, e.start.timestamp), Infinity);\n const maxEnd = hiddenEvents.reduce((max, e) => Math.max(max, e.end.timestamp), -Infinity);\n\n resultEvents.push({\n id: -9999,\n title: `+${hiddenEvents.length} more`,\n start: new DateTz(minStart),\n end: new DateTz(maxEnd),\n color: 'light',\n left: visibleColsCount * colWidth,\n width: colWidth,\n isOverflowIndicator: true,\n overflowEvents: hiddenEvents,\n overlapCount: hiddenEvents.length\n });\n }\n }\n\n return resultEvents;\n }\n\n private sortEventsStable(events: CalendarEvent[]): CalendarEvent[] {\n return [...events].sort((a, b) => {\n const diff = a.start.timestamp - b.start.timestamp;\n if (diff !== 0) return diff;\n\n const durA = a.end.timestamp - a.start.timestamp;\n const durB = b.end.timestamp - b.start.timestamp;\n if (durB !== durA) return durB - durA;\n\n const idA = a.id ? a.id.toString() : a.title;\n const idB = b.id ? b.id.toString() : b.title;\n return idA.localeCompare(idB);\n });\n }\n}\n","<div class=\"calendar-wrapper d-flex flex-column\">\n\n <!-- HEADER WRAPPER -->\n <div #headerRow\n class=\"header-container overflow-hidden flex-shrink-0 border-bottom bg-body-tertiary\"\n [style.padding-right.px]=\"scrollbarWidth\">\n\n <div class=\"header-row d-flex\" [style.min-height.rem]=\"MIN_HEADER_HEIGHT\">\n\n <div class=\"time-gutter border-end flex-shrink-0\"></div>\n\n <div class=\"days-header d-flex flex-grow-1\">\n <div *ngFor=\"let day of days\"\n class=\"day-cell text-center p-2 border-end\"\n [class.text-primary]=\"isToday(day)\"\n [class.fw-bold]=\"isToday(day)\"\n [class.bg-primary]=\"isToday(day)\"\n >\n <div class=\"small text-uppercase text-body-secondary\">{{ day | dayOfWeek: 'short' }}</div>\n <div class=\"h5 m-0\">{{ day | dtz:'DD' }}</div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- BODY WRAPPER -->\n <div #scrollBody\n class=\"calendar-body flex-grow-1 overflow-auto bg-body position-relative\"\n (scroll)=\"onBodyScroll($event)\" [style.max-height.rem]=\"MAX_BODY_HEIGHT\">\n\n <div class=\"body-row d-flex position-relative\">\n\n <!-- SIDEBAR (Sticky Left) -->\n <div class=\"time-sidebar sticky-start flex-shrink-0 border-end\">\n <div *ngFor=\"let time of timeSlots; let i = index\"\n class=\"time-slot-label small text-body-secondary d-flex align-items-start justify-content-center\"\n [style.height.px]=\"ROW_HEIGHT\">\n <span *ngIf=\"i !== 0\" style=\"transform: translateY(-50%)\">\n {{ time }}\n </span>\n </div>\n </div>\n\n <!-- GRID AND EVENTS -->\n <div class=\"grid-layer flex-grow-1 position-relative\">\n\n <!-- LAYER 1: Grid -->\n <div class=\"background-grid position-absolute w-100 h-100 top-0 start-0 z-0\">\n <div *ngFor=\"let time of timeSlots\"\n class=\"grid-row border-bottom\"\n [style.height.px]=\"ROW_HEIGHT\">\n </div>\n </div>\n\n <!-- Layer 2: Events -->\n <div class=\"events-container d-flex h-100 w-100 position-relative z-1\" cdkDropListGroup>\n <div *ngFor=\"let day of days\"\n class=\"day-column position-relative border-end h-100\"\n cdkDropList\n [cdkDropListSortingDisabled]=\"true\"\n [cdkDropListData]=\"day\"\n (cdkDropListDropped)=\"onEventDrop($event)\"\n (click)=\"eventClick.emit()\"\n >\n\n <rlb-calendar-event\n *ngFor=\"let event of getEventsForDay(day); trackBy: trackByEventId\"\n [view]=\"view\"\n [event]=\"event\"\n [style.top.px]=\"calculateEventTop(event)\"\n [style.height.px]=\"calculateEventHeight(event)\"\n [style.left.%]=\"event.left\"\n [style.width.%]=\"event.width\"\n (eventClick)=\"eventClick.emit($event)\"\n (eventContainerClick)=\"eventContainerClick.emit($event)\"\n cdkDrag\n [cdkDragData]=\"event\"\n [cdkDragDisabled]=\"event.isOverflowIndicator\"\n class=\"position-absolute\"\n >\n <div *cdkDragPlaceholder style=\"opacity: 0\"></div>\n </rlb-calendar-event>\n\n <div *ngIf=\"isToday(day)\"\n class=\"now-line\"\n [style.top.px]=\"getNowTop()\">\n </div>\n\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport { CdkDragDrop } from '@angular/cdk/drag-drop';\nimport { DateTz, IDateTz } from \"@open-rlb/date-tz\";\nimport { CalendarEvent, CalendarEventWithLayout } from \"../../interfaces/calendar-event.interface\";\nimport { CalendarView } from \"../../interfaces/calendar-view.type\";\nimport { isToday } from \"../../utils/calendar-date-utils\";\n\n// Extend the layout interface for internal rendering logic\ninterface MonthViewEvent extends CalendarEventWithLayout {\n isSpacer?: boolean; // Invisible block to maintain vertical rhythm\n isHidden?: boolean; // Flag for logic (though we mostly slice array)\n originalStart: IDateTz; // Needed for DnD calculations\n originalEnd: IDateTz;\n}\n\ninterface DaySlot {\n date: IDateTz;\n events: MonthViewEvent[];\n hasOverflow: boolean;\n overflowCount: number;\n overflowEvents: CalendarEvent[];\n}\n\nconst MAX_EVENTS_PER_CELL = 3;\nconst DAYS_IN_GRID = 42; // 6 weeks * 7 days\n\n@Component({\n selector: 'rlb-calendar-month-grid',\n templateUrl: './calendar-month-grid.component.html',\n styleUrls: ['./calendar-month-grid.component.scss'],\n standalone: false,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CalendarMonthGridComponent implements OnChanges, AfterViewInit, OnDestroy {\n\n @Input() view!: CalendarView;\n @Input() currentDate!: IDateTz;\n @Input() events: CalendarEvent[] = [];\n\n @Output() eventClick = new EventEmitter<CalendarEvent | undefined>();\n @Output() eventContainerClick = new EventEmitter<CalendarEvent[] | undefined>();\n @Output() eventChange = new EventEmitter<CalendarEvent>();\n\n @ViewChild('scrollBody', { static: false }) scrollBodyRef!: ElementRef<HTMLDivElement>;\n @ViewChild('headerRow', { static: false }) headerRowRef!: ElementRef<HTMLDivElement>;\n\n scrollbarWidth: number = 0;\n\n weeks: DaySlot[][] = [];\n weekDaysHeader: IDateTz[] = [];\n readonly MAX_BODY_HEIGHT: number = 30; // rem\n readonly MIN_ROW_HEIGHT = 110; // px for a full hour slot\n readonly MIN_HEADER_HEIGHT = 3.5 // rem\n\n constructor() {}\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['currentDate'] || changes['view'] || changes['events']) {\n this.buildMonthGrid();\n }\n }\n\n ngAfterViewInit() {\n this.updateScrollbarWidth();\n window.addEventListener('resize', this.onResize);\n }\n\n ngOnDestroy() {\n window.removeEventListener('resize', this.onResize);\n }\n\n private onResize = () => {\n this.updateScrollbarWidth();\n }\n\n onBodyScroll(event: Event) {\n if (this.headerRowRef && this.scrollBodyRef) {\n this.headerRowRef.nativeElement.scrollLeft = this.scrollBodyRef.nativeElement.scrollLeft;\n }\n }\n\n private updateScrollbarWidth() {\n if (this.scrollBodyRef) {\n const el = this.scrollBodyRef.nativeElement;\n this.scrollbarWidth = el.offsetWidth - el.clientWidth;\n }\n }\n\n\n // --- Helpers ---\n\n isToday(date: IDateTz): boolean {\n return isToday(date);\n }\n\n isCurrentMonth(date: IDateTz): boolean {\n return date.month === this.currentDate.month;\n }\n\n trackByDay(_index: number, item: DaySlot): number {\n return item.date.timestamp;\n }\n\n trackByEvent(index: number, item: MonthViewEvent): string | number {\n // Unique ID for spacers is crucial for Angular rendering performance\n return item.id || `spacer-${index}`;\n }\n\n // --- Core Logic ---\n\n private buildMonthGrid() {\n // 1. Calculate Grid Boundaries\n const current = new DateTz(this.currentDate);\n // Find the first day of the month\n const startOfMonth = new DateTz(current).set(1, 'day').set(0, 'hour').set(0, 'minute').stripSecMillis();\n\n // Calculate offset to find the start of the grid (e.g. Monday)\n const dayOfWeek = startOfMonth.dayOfWeek as number; // 0 = Sun, 1 = Mon...\n // Adjust logic based on your locale start of week (assuming Monday start here)\n const offset = dayOfWeek === 0 ? 6 : dayOfWeek - 1;\n\n const gridStart = new DateTz(startOfMonth).add(-offset, 'day');\n\n // 2. Generate Days\n const days: IDateTz[] = [];\n let iter: IDateTz = new DateTz(gridStart);\n\n for (let i = 0; i < DAYS_IN_GRID; i++) {\n days.push(iter);\n iter = new DateTz(iter).add(1, 'day');\n }\n\n // Header is just the first week\n this.weekDaysHeader = days.slice(0, 7);\n\n // 3. Process Events (Slotting Algorithm)\n const slotsMap = this.calculateEventSlots(days, this.events);\n\n // 4. Build View Model (Weeks & Overflow logic)\n this.weeks = [];\n for (let i = 0; i < DAYS_IN_GRID; i += 7) {\n const weekDays = days.slice(i, i + 7);\n\n const row: DaySlot[] = weekDays.map(day => {\n const slots = slotsMap.get(day.timestamp) || [];\n const totalSlots = slots.length;\n\n let visibleEvents: MonthViewEvent[];\n let overflowEvents: CalendarEvent[] = [];\n let hasOverflow = false;\n\n if (totalSlots > MAX_EVENTS_PER_CELL) {\n hasOverflow = true;\n // Leave room for the \"+ More\" button\n const cutOffIndex = MAX_EVENTS_PER_CELL - 1;\n visibleEvents = slots.slice(0, cutOffIndex);\n\n // Collect all *real* events that are hidden (excluding spacers)\n // We start looking from cutOffIndex to the end\n for (let k = cutOffIndex; k < totalSlots; k++) {\n const ev = slots[k];\n // We only care about real events for the popup/modal\n if (ev && !ev.isSpacer) {\n overflowEvents.push(ev);\n }\n }\n } else {\n visibleEvents = slots;\n }\n\n return {\n date: day,\n events: visibleEvents,\n hasOverflow,\n overflowCount: overflowEvents.length,\n overflowEvents: overflowEvents\n };\n });\n\n this.weeks.push(row);\n }\n }\n\n /**\n * \"Tetris\" Algorithm:\n * Places events into rows so that long events maintain their vertical position across days.\n */\n private calculateEventSlots(days: IDateTz[], events: CalendarEvent[]): Map<number, MonthViewEvent[]> {\n const dayMap = new Map<number, MonthViewEvent[]>();\n days.forEach(d => dayMap.set(d.timestamp, []));\n\n // Sort: Longest events first, then by start time\n const sortedEvents = [...events].sort((a, b) => {\n const durA = a.end.timestamp - a.start.timestamp;\n const durB = b.end.timestamp - b.start.timestamp;\n if (durB !== durA) return durB - durA;\n return a.start.timestamp - b.start.timestamp;\n });\n\n const gridStartTs = days[0].timestamp;\n const lastDay = days[days.length - 1];\n // End of grid is the start of the next day after the last cell\n const gridEndTs = new DateTz(lastDay).add(1, 'day').timestamp;\n\n for (const event of sortedEvents) {\n // Normalize start to beginning of day\n const evtStart = new DateTz(event.start).set(0, 'hour').set(0, 'minute').stripSecMillis();\n const evtEndRaw = new DateTz(event.end).stripSecMillis();\n\n // Normalize end.\n // If ends at 00:00, it effectively ends at the previous day visually.\n // Else, round up to the end of that day.\n let evtEnd: IDateTz;\n const isMidnight = evtEndRaw.hour === 0 && evtEndRaw.minute === 0;\n\n if (evtEndRaw.timestamp > evtStart.timestamp && isMidnight) {\n evtEnd = evtEndRaw; // Keeps it clean for comparison, effectively 00:00 of next day\n } else {\n // Round to start of next day to cover full day\n evtEnd = new DateTz(evtEndRaw).set(0, 'hour').set(0, 'minute').add(1, 'day').stripSecMillis!();\n }\n\n // Skip if completely outside grid\n if (evtEnd.timestamp <= gridStartTs || evtStart.timestamp >= gridEndTs) {\n continue;\n }\n\n // Find which grid indices this event occupies\n const daysIndices: number[] = [];\n for (let i = 0; i < days.length; i++) {\n const dTs = days[i].timestamp;\n // Check intersection: [DayStart, DayEnd) overlaps [EventStart, EventEnd)\n if (dTs >= evtStart.timestamp && dTs < evtEnd.timestamp) {\n daysIndices.push(i);\n }\n }\n\n if (daysIndices.length === 0) continue;\n\n // Find the first available row index (visual height) common to ALL occupied days\n let rowIndex = 0;\n let available = false;\n\n while (!available) {\n let collision = false;\n for (const idx of daysIndices) {\n const dTs = days[idx].timestamp;\n const slots = dayMap.get(dTs)!;\n // Check if slot is occupied\n if (slots[rowIndex] !== undefined) {\n collision = true;\n break;\n }\n }\n if (!collision) {\n available = true;\n } else {\n rowIndex++;\n }\n }\n\n // Place the event segments\n daysIndices.forEach((idx, i) => {\n const dTs = days[idx].timestamp;\n const slots = dayMap.get(dTs)!;\n\n // Fill gaps with spacers up to rowIndex\n while (slots.length < rowIndex) {\n slots.push({ isSpacer: true, id: -1 } as MonthViewEvent);\n }\n\n const isFirstRenderDay = (i === 0);\n const isLastRenderDay = (i === daysIndices.length - 1);\n\n // Visual flags for rounding corners\n const isContinuedBefore = !isFirstRenderDay || (evtStart.timestamp < days[daysIndices[0]].timestamp);\n const currentDayEndTs = new DateTz(dTs).add(1, 'day').timestamp;\n const isContinuedAfter = !isLastRenderDay || (evtEnd.timestamp > currentDayEndTs);\n\n const eventView: MonthViewEvent = {\n ...event,\n // Override start/end for the specific cell (crucial for DnD to know the cell context)\n start: new DateTz(dTs),\n end: new DateTz(currentDayEndTs),\n originalStart: event.start,\n originalEnd: event.end,\n isContinuedBefore,\n isContinuedAfter,\n left: 0,\n width: 100\n };\n\n slots[rowIndex] = eventView;\n });\n }\n\n return dayMap;\n }\n\n // --- Drag and Drop ---\n\n onEventDrop(event: CdkDragDrop<IDateTz, any, MonthViewEvent>) {\n const movedSegment = event.item.data;\n const targetDate = event.container.data;\n\n // Calculate time difference\n const diffMs = targetDate.timestamp - movedSegment.start.timestamp;\n\n // Use original dates to prevent shifting due to segmentation\n const sourceStart = movedSegment.originalStart;\n const sourceEnd = movedSegment.originalEnd;\n\n // Create new dates\n const newStartTs = sourceStart.timestamp + diffMs;\n const newEndTs = sourceEnd.timestamp + diffMs;\n\n // Create clean object (Immutability pattern)\n // Destructure to remove layout specific props like isSpacer, originalStart, etc.\n const { isSpacer, isHidden, isContinuedBefore, isContinuedAfter, originalStart, originalEnd, left, width, ...baseEvent } = movedSegment;\n\n const updatedEvent: CalendarEvent = {\n ...baseEvent,\n start: new DateTz(newStartTs, sourceStart.timezone).stripSecMillis(),\n end: new DateTz(newEndTs, sourceEnd.timezone).stripSecMillis()\n };\n\n this.eventChange.emit(updatedEvent);\n }\n}\n","<div class=\"d-flex flex-column w-100 bg-body user-select-none month-view-root\" [style.max-height.rem]=\"MAX_BODY_HEIGHT\">\n\n <!-- SCROLL CONTAINER -->\n <div class=\"calendar-scroller flex-grow-1 overflow-auto bg-body position-relative\">\n\n <!-- 1. Header Row (Fixed) -->\n <div class=\"d-flex flex-shrink-0 border-bottom bg-body-tertiary sticky-top\"\n [style.min-height.rem]=\"MIN_HEADER_HEIGHT\">\n <div *ngFor=\"let day of weekDaysHeader\"\n class=\"flex-fill text-center py-2 border-end fw-bold text-secondary text-uppercase w-0 my-auto h6\"\n >\n {{ day | dayOfWeek:'short' }}\n </div>\n </div>\n\n <!-- 2. Grid Body (Scrollable) -->\n <div class=\"d-flex flex-column flex-grow-1 border-start overflow-y-auto min-height-0\">\n\n <div class=\"d-flex flex-column\" cdkDropListGroup>\n <div *ngFor=\"let week of weeks;\"\n class=\"d-flex border-bottom min-h-row\"\n style=\"flex: 1 0 auto;\"\n [style.min-height.px]=\"MIN_ROW_HEIGHT\"\n >\n\n <div *ngFor=\"let slot of week;\"\n class=\"flex-fill border-end p-1 d-flex flex-column position-relative\"\n style=\"width: 0\"\n [class.bg-light]=\"!isCurrentMonth(slot.date)\"\n cdkDropList\n [cdkDropListData]=\"slot.date\"\n (cdkDropListDropped)=\"onEventDrop($event)\"\n (click)=\"eventClick.emit()\"\n >\n <!-- Date Number -->\n <div class=\"d-flex justify-content-center mb-1\">\n <span class=\"day-number d-flex align-items-center justify-content-center\"\n [class.today]=\"isToday(slot.date)\">\n {{ slot.date | dtz:'DD' }}\n </span>\n </div>\n\n <!-- Events Stack -->\n <div class=\"d-flex flex-column gap-1 w-100\">\n <ng-container *ngFor=\"let event of slot.events; trackBy: trackByEvent\">\n\n <!-- Spacer -->\n <div *ngIf=\"event.isSpacer\" class=\"event-spacer\"></div>\n\n <!-- Event -->\n <rlb-calendar-event\n *ngIf=\"!event.isSpacer\"\n [event]=\"event\"\n class=\"w-100\"\n cdkDrag\n [cdkDragData]=\"event\"\n (eventClick)=\"eventClick.emit($event)\"\n [view]=\"view\"\n >\n <!-- Drag Preview (Optional but nice) -->\n <div *cdkDragPlaceholder style=\"opacity: 0\"></div>\n <ng-template cdkDragPreview matchSize class=\"rlb-calendar-drag-preview\">\n <rlb-calendar-event\n [event]=\"event\"\n [view]=\"view\"\n style=\"box-sizing: border-box;\"\n >\n </rlb-calendar-event>\n </ng-template>\n </rlb-calendar-event>\n\n </ng-container>\n </div>\n\n <!-- Overflow (+N more) -->\n <div *ngIf=\"slot.hasOverflow\"\n class=\"mt-1 small text-secondary text-center cursor-pointer p-1 rounded hover-bg\"\n (click)=\"$event.stopPropagation(); eventContainerClick.emit(slot.overflowEvents)\">\n +{{ slot.overflowCount }} more\n </div>\n </div>\n\n </div>\n </div>\n </div>\n\n </div>\n</div>\n","import { Component, EventEmitter, Input, OnChanges, OnDestroy, Output, SimpleChanges } from \"@angular/core\";\nimport { CalendarEvent } from \"../interfaces/calendar-event.interface\";\nimport { IDateTz } from \"@open-rlb/date-tz\";\nimport { CalendarView } from \"../interfaces/calendar-view.type\";\n\n@Component({\n\tselector: 'rlb-calendar-grid',\n\ttemplateUrl: './calendar-grid.component.html',\n\tstyleUrls: ['./calendar-grid.component.scss'],\n standalone: false,\n})\nexport class CalendarGrid implements OnChanges, OnDestroy {\n\t@Input() view!: CalendarView;\n\t@Input() currentDate!: IDateTz;\n\t@Input() events: CalendarEvent[] = [];\n @Output() eventClick = new EventEmitter<CalendarEvent | undefined>();\n @Output() eventContainerClick = new EventEmitter<CalendarEvent[] | undefined>();\n @Output() eventChange = new EventEmitter<CalendarEvent>();\n\n constructor(\n\t) {\n }\n\n ngOnChanges(changes: SimpleChanges) {\n\n\t}\n\n ngOnDestroy() {\n\t}\n}\n","<ng-container [ngSwitch]=\"view\">\n\t<ng-container *ngSwitchCase=\"'week'\">\n <rlb-calendar-week-grid\n [view]=\"view\"\n [currentDate]=\"currentDate\"\n [events]=\"events\"\n (eventClick)=\"eventClick.emit($event)\"\n (eventContainerClick)=\"eventContainerClick.emit($event)\"\n (eventChange)=\"eventChange.emit($event)\"\n />\n\t</ng-container>\n <ng-container *ngSwitchCase=\"'month'\">\n <rlb-calendar-month-grid\n [view]=\"view\"\n [currentDate]=\"currentDate\"\n [events]=\"events\"\n (eventClick)=\"eventClick.emit($event)\"\n (eventContainerClick)=\"eventContainerClick.emit($event)\"\n (eventChange)=\"eventChange.emit($event)\"\n />\n </ng-container>\n\t<ng-container *ngSwitchDefault>\n\t\tnot implemented yet\n\t</ng-container>\n</ng-container>\n","import { booleanAttribute, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from \"@angular/core\";\nimport { CalendarEvent } from \"./interfaces/calendar-event.interface\";\nimport { DateTz } from \"@open-rlb/date-tz\";\nimport { CalendarChangeEvent, CalendarView } from \"./interfaces/calendar-view.type\";\nimport { ModalService } from \"../modals/modal.service\";\nimport { UniqueIdService } from \"../../shared/unique-id.service\";\nimport { filter, map, of, switchMap, take } from \"rxjs\";\nimport { getToday } from \"./utils/calendar-date-utils\";\nimport { ModalResult } from \"../modals\";\nimport { CalendarOverflowEventsDialogResult } from \"./calendar-dialogs\";\nimport { ToastService } from \"../toast\";\nimport { ModalType } from \"../../shared/types\";\n\n\n@Component({\n\tselector: \"rlb-calendar\",\n\ttemplateUrl: \"./calendar.component.html\",\n\tstyleUrls: [\"./calendar.component.scss\"],\n\tstandalone: false\n})\nexport class CalendarComponent implements OnChanges {\n\n @Input({ alias: 'view' }) view: CalendarView = 'week';\n\n\t@Input({ alias: 'events' }) events: CalendarEvent[] = [];\n\n @Input({ alias: 'current-date' }) currentDate: DateTz;\n\n\t@Input({ alias: 'loading', transform: booleanAttribute }) loading = false;\n\n\t@Input({ alias: 'show-toolbar', transform: booleanAttribute }) showToolbar = true;\n\n @Output('date-change') dateChange = new EventEmitter<CalendarChangeEvent>();\n\t@Output('view-change') viewChange = new EventEmitter<CalendarChangeEvent>();\n\t@Output('event-click') eventClick = new EventEmitter<CalendarEvent>();\n\n // private userTimeZone: string = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\tprivate dateFormat: string = 'YYYY-MM-DD HH:mm:ss';\n\n constructor(\n private modals: ModalService,\n private unique: UniqueIdService,\n private toasts: ToastService,\n ) {\n this.currentDate = getToday();\n\t}\n\n ngOnChanges(changes: SimpleChanges) {\n\t\tif (changes['currentDate']) {\n const incomingDate = changes['currentDate'].currentValue as DateTz;\n\t\t\tthis.currentDate = incomingDate;\n\t\t}\n\n if (changes['events']) {\n\t\t\tthis.events = changes['events'].currentValue as CalendarEvent[];\n\t\t}\n\t}\n\n // DnD event\n onEventChange(eventToEdit: CalendarEvent) {\n const idx = this.events.findIndex((event) => event.id === eventToEdit.id);\n this.events[idx] = eventToEdit\n this.events = [...this.events];\n this.toasts.openToast(\n 'toast-c-1',\n 'rlb-calendar-toast',\n {\n title: 'Success!',\n content: 'Event edited successfully.',\n type: 'success',\n }\n ).pipe(\n take(1)\n ).subscribe()\n }\n\n onEventContainerClick(events: CalendarEvent[] | undefined) {\n this.modals.openModal(\n 'rlb-calendar-overlow-events-container',\n {\n title: 'Overflow events',\n ok: 'OK',\n type: 'success',\n content: events\n }\n ).pipe(\n take(1),\n filter((modalResult: ModalResult<CalendarOverflowEventsDialogResult>) => modalResult.reason === 'ok'),\n switchMap((modalResult) => {\n const action = modalResult.result.action\n const event = modalResult.result.event;\n if (action === 'delete') {\n return this.modals.openConfirmModal(\n \"Event delete\",\n \"Are you sure you want to delete this event?\",\n \"\",\n \"Ok\",\n \"Cancel\"\n ).pipe(\n take(1),\n filter((deleteConfirmResult) => deleteConfirmResult.reason === 'ok'),\n map(result => ({ action, modalResult: result, event }))\n )\n } else {\n return this.openEditEventDialog(event).pipe(\n map(result => ({ action, modalResult: result, event }))\n );\n }\n }),\n switchMap(({ action, modalResult, event }) => {\n if (action === 'delete' && modalResult.reason === 'ok' || action === 'edit' && modalResult.reason === 'cancel') {\n this.events = [...this.events.filter(entry => event.id !== entry.id),]\n return of({ action: 'delete' })\n }\n\n if (action === 'edit' && modalResult.reason === 'ok') {\n const idx = this.events.findIndex((entry) => event.id === entry.id);\n this.events[idx] = modalResult.result;\n this.events = [...this.events];\n return of({ action: 'edit' })\n }\n\n return of(null)\n }),\n switchMap((result) => {\n if (result) {\n let content = '';\n let type: ModalType = 'success'\n switch (result.action) {\n case 'delete':\n content = 'Event deleted successfully.';\n type = 'warning';\n break;\n case 'edit':\n content = 'Event edited successfully.';\n type = 'info'\n break;\n case 'create':\n content = 'Event created successfully.';\n break;\n }\n return this.toasts.openToast(\n 'toast-c-1',\n 'rlb-calendar-toast',\n {\n title: 'Success!',\n content,\n type,\n }\n ).pipe(\n take(1)\n )\n }\n return of(null)\n })\n ).subscribe()\n }\n\n onEventClick(eventToEdit?: CalendarEvent) {\n if (eventToEdit) {\n this.eventClick.emit(eventToEdit)\n }\n\n this.openEditEventDialog(eventToEdit).pipe(\n switchMap((modalResult) => {\n const newEvent = modalResult.result;\n let result = null\n if (modalResult.reason === 'cancel' && eventToEdit) {\n this.events = [...this.events.filter(event => event.id !== eventToEdit.id),]\n result = { action: 'delete' }\n return of(result)\n }\n\n if (modalResult.reason === 'cancel' || modalResult.reason === 'close' || modalResult.reason === undefined) {\n return of(result)\n }\n\n if (eventToEdit) {\n const idx = this.events.findIndex((event) => event.id === eventToEdit.id);\n this.events[idx] = newEvent\n result = { action: 'edit' }\n } else {\n this.events.push(newEvent)\n result = { action: 'create' }\n }\n\n this.events = [...this.events];\n return of(result)\n }),\n switchMap((result) => {\n if (result) {\n let content = '';\n let type: ModalType = 'success'\n switch (result.action) {\n case 'delete':\n content = 'Event deleted successfully.';\n type = 'warning';\n break;\n case 'edit':\n content = 'Event edited successfully.';\n type = 'info'\n break;\n case 'create':\n content = 'Event created successfully.';\n break;\n }\n return this.toasts.openToast(\n 'toast-c-1',\n 'rlb-calendar-toast',\n {\n title: 'Success!',\n content,\n type,\n }\n ).pipe(\n take(1)\n )\n }\n return of(null)\n })\n ).subscribe()\n }\n\n setDate(date: DateTz) {\n\t\tthis.currentDate = date;\n\t\tthis.dateChange.emit({ date, view: this.view });\n\t}\n\n setView(view: CalendarView) {\n\t\tthis.view = view;\n\t\tthis.viewChange.emit({ date: this.currentDate, view })\n\t}\n\n generateTestEvents(): void {\n const events: any[] = [];\n\n const now = getToday()\n\n events.push({\n color: 'primary',\n title: 'Today 1.5h (11:00-12:30)',\n start: new DateTz(now).convertToTimezone('UTC').set!(11, 'hour').set!(0, 'minute'),\n end: new DateTz(now).convertToTimezone('UTC').set!(12, 'hour').set!(30, 'minute'),\n });\n\n events.push({\n color: 'danger',\n title: 'Today 1h (11:00-12:00)',\n start: new DateTz(now).cloneToTimezone('UTC').set(11, 'hour').set(0, 'minute'),\n end: new DateTz(now).cloneToTimezone('UTC').set(12, 'hour').set(0, 'minute'),\n });\n\n events.push({\n color: 'success',\n title: 'Today 1.5h (11:30-12:30)',\n start: new DateTz(now).cloneToTimezone('UTC').set(11, 'hour').set(30, 'minute'),\n end: new DateTz(now).cloneToTimezone('UTC').set(12, 'hour').set(30, 'minute'),\n });\n\n events.push({\n color: 'info',\n title: 'Today 1.5h (11:00-12:30)',\n start: new DateTz(now).cloneToTimezone('UTC').set(11, 'hour').set(0, 'minute'),\n end: new DateTz(now).cloneToTimezone('UTC').set(12, 'hour').set(30, 'minute'),\n });\n\n events.push({\n color: 'warning',\n title: 'Today 1.75h (11:15-12:30)',\n start: new DateTz(now).cloneToTimezone('UTC').set(11, 'hour').set(15, 'minute'),\n end: new DateTz(now).cloneToTimezone('UTC').set(12, 'hour').set(30, 'minute'),\n });\n\n events.push({\n color: 'secondary',\n title: 'Today 1.75h (10:45-12:30)',\n start: new DateTz(now).cloneToTimezone('UTC').set(10, 'hour').set(45, 'minute'),\n end: new DateTz(now).cloneToTimezone('UTC').set(12, 'hour').set(30, 'minute'),\n });\n\n\n events.push({\n color: 'danger',\n title: 'Today 0.5h test 2 (11:30-12:00)',\n start: new DateTz(now).cloneToTimezone('UTC').set(11, 'hour').set(30, 'minute'),\n end: new DateTz(now).cloneToTimezone('UTC').set(12, 'hour').set(0, 'minute'),\n });\n\n events.push({\n color: 'success',\n title: 'Today 1.75h test 3 (10:15-12:00)',\n start: new DateTz(now).cloneToTimezone('UTC').set(10, 'hour').set(15, 'minute'),\n end: new DateTz(now).cloneToTimezone('UTC').set(12, 'hour').set(0, 'minute'),\n });\n\n events.push({\n color: 'warning',\n title: 'Today 1.5h test 4 (12:00-13:30)',\n start: new DateTz(now).cloneToTimezone('UTC').set(12, 'hour').set(0, 'minute'),\n end: new DateTz(now).cloneToTimezone('UTC').set(13, 'hour').set(30, 'minute'),\n });\n\n events.push({\n color: 'primary',\n title: 'Today 0.5h test 4 (13:30-14:00)',\n start: new DateTz(now).cloneToTimezone('UTC').set(13, 'hour').set(30, 'minute'),\n end: new DateTz(now).cloneToTimezone('UTC').set(14, 'hour').set(0, 'minute'),\n });\n\n // Today from 15:15 to 16:00\n\n events.push({\n color: 'danger',\n title: 'Today 45min (15:15-16:00)',\n start: new DateTz(now).cloneToTimezone('UTC').set(15, 'hour').set(15, 'minute'),\n end: new DateTz(now).cloneToTimezone('UTC').set(16, 'hour').set(0, 'minute'),\n });\n\n events.push({\n color: 'primary',\n title: 'Today 45min 2 (15:15-16:00)',\n start: new DateTz(now).cloneToTimezone('UTC').set(15, 'hour').set(15, 'minute'),\n end: new DateTz(now).cloneToTimezone('UTC').set(16, 'hour').set(0, 'minute'),\n });\n\n\n // === 2. Event \"Tomorrow\" (currentDate + 1 day) ===\n const tomorrowBase = new DateTz(now).add(1, 'day');\n events.push({\n color: 'info',\n title: 'Tomorrow 2h (09:00-11:00)',\n start: new DateTz(tomorrowBase).convertToTimezone('UTC').set!(9, 'hour').set!(0, 'minute'),\n end: new DateTz(tomorrowBase).convertToTimezone('UTC').set!(11, 'hour').set!(0, 'minute'),\n });\n\n\n // === 3. Event after tomorrow (currentDate + 2 days) ===\n const dayAfterTomorrowBase = new DateTz(now).add(2, 'day');\n events.push({\n color: 'success',\n title: 'After Tomorrow 1h (17:00-18:00)',\n start: new DateTz(dayAfterTomorrowBase).convertToTimezone('UTC').set!(17, 'hour').set!(0, 'minute'),\n end: new DateTz(dayAfterTomorrowBase).convertToTimezone('UTC').set!(18, 'hour').set!(0, 'minute'),\n });\n\n\n // === 4. Event (currentDate - 1 day) ===\n const yesterdayBase = new DateTz(now).add(-1, 'day');\n\n events.push({\n color: 'warning',\n title: 'Yesterday 2h (14:00-16:00)',\n start: new DateTz(yesterdayBase).convertToTimezone('UTC').set!(14, 'hour').set!(0, 'minute'),\n end: new DateTz(yesterdayBase).convertToTimezone('UTC').set!(16, 'hour').set!(0, 'minute'),\n });\n\n // === 5. Event \"Cross day\" ===\n const dayBeforeYesterdayBase = new DateTz(now).add(-2, 'day');\n const dayBeforeYesterdayEndBase = new DateTz(now).add(-1, 'day');\n events.push({\n color: 'secondary',\n title: 'Cross Day (22:00 -> 02:00)',\n start: new DateTz(dayBeforeYesterdayBase).convertToTimezone('UTC').set!(22, 'hour').set!(0, 'minute').stripSecMillis(),\n end: new DateTz(dayBeforeYesterdayEndBase).convertToTimezone('UTC').set!(2, 'hour').set!(0, 'minute').stripSecMillis(),\n });\n\n this.events = events.map((event) => {\n return {\n ...event,\n id: this.unique.id\n }\n })\n\t}\n\n private openEditEventDialog(eventToEdit?: CalendarEvent) {\n return this.modals.openModal<CalendarEvent | undefined, CalendarEvent>('rlb-calendar-event-create-edit', {\n title: eventToEdit ? 'Edit event' : 'Create event',\n content: eventToEdit,\n ok: 'OK',\n type: 'success',\n }).pipe(\n take(1)\n )\n }\n}\n","<div class=\"rlb-calendar\">\n\t<div class=\"my-3 d-flex align-items-center justify-content-between\">\n <button class=\"ms-auto\" rlb-button outline (click)=\"generateTestEvents()\">Generate events</button>\n\t</div>\n\t<rlb-calendar-header\n\t\t*ngIf=\"showToolbar\"\n\t\t[view]=\"view\"\n\t\t[currentDate]=\"currentDate\"\n\t\t(viewChange)=\"setView($event)\"\n\t\t(dateChange)=\"setDate($event)\">\n\t</rlb-calendar-header>\n\n\t<rlb-calendar-grid\n\t\t[events]=\"events\"\n\t\t[view]=\"view\"\n\t\t[currentDate]=\"currentDate\"\n (eventClick)=\"onEventClick($event)\"\n (eventContainerClick)=\"onEventContainerClick($event)\"\n (eventChange)=\"onEventChange($event)\"\n >\n\t</rlb-calendar-grid>\n</div>\n","import { CalendarComponent } from \"./calendar.component\";\nimport { CalendarHeaderComponent } from \"./header/calendar-header.component\";\nimport { CalendarGrid } from \"./grid/calendar-grid.component\";\nimport { CalendarWeekGridComponent } from \"./grid/week/calendar-week-grid.component\";\nimport { CalendarEventComponent } from \"./event/calendar-event.component\";\nimport { CalendarMonthGridComponent } from \"./grid/month/calendar-month-grid.component\";\n\nexport * from './calendar.component';\nexport * from './header/calendar-header.component';\nexport * from './grid/calendar-grid.component';\nexport * from './grid/week/calendar-week-grid.component';\nexport * from './grid/month/calendar-month-grid.component'\nexport * from './event/calendar-event.component'\n\nexport * from './interfaces/calendar-event.interface';\n\n\nexport const CALENDAR_COMPONENTS = [\n\tCalendarComponent,\n\tCalendarHeaderComponent,\n\tCalendarGrid,\n CalendarWeekGridComponent,\n CalendarMonthGridComponent,\n CalendarEventComponent\n];\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'rlb-chat-container',\n template: `<ng-content />`,\n host: { class: 'chat-bubble__wrap' },\n standalone: false\n})\nexport class ChatContainerComponent { }\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { VisibilityEventBase } from '../../shared/types';\n\n@Component({\n selector: 'rlb-chat-item',\n template: `\n <div [id]=\"id\" class=\"chat-bubble-item\" [class.left]=\"position==='left'\" [class.right]=\"position==='right'\">\n <button *ngIf=\"canReply && position === 'right'\" class=\"reply-button\" (click)=\"replyClick($event)\">\n <i class=\"bi bi-reply-fill\"></i>\n </button>\n <div class=\"avatar small\" *ngIf=\"position === 'left'\">\n <img [src]=\"avatar\" alt=\"avatar\">\n </div>\n <div class=\"text\">\n <div class=\"replied-message\" *ngIf=\"replayText\">\n <span class=\"name\">{{replaySubject}}</span>\n <p>{{replayText}}</p>\n </div>\n <div>\n <ng-content/>\n </div>\n <i class=\"bi bi-check-all float-end\"></i>\n <span class=\"time float-end\">{{ dateTime | date:'dd/MM HH:mm:ss' }}</span>\n <rlb-dropdown direction=\"up\" class=\"reaction\">\n <a rlb-button rlb-dropdown *ngIf=\"!reaction\"\n autoClose=\"manual\" class=\"reaction add p-1\"\n [class.right]=\"position==='right'\" [class.left]=\"position==='left'\"\n (status-changed)=\"this.reactionSelector.emit($event)\">\n <i class=\"bi bi-plus m-0 p-0\"></i>\n </a>\n <rlb-dropdown-container>\n <ng-content select=\"[reaction-picker]\" />\n </rlb-dropdown-container>\n </rlb-dropdown>\n <span class=\"reaction\" *ngIf=\"reaction\" [class.right]=\"position==='right'\" [class.left]=\"position==='left'\" (click)=\"reactionClick.emit('remove')\">{{reaction}}</span>\n </div>\n <div class=\"avatar small\" *ngIf=\"position === 'right'\">\n <img [src]=\"avatar\" alt=\"avatar\">\n </div>\n <button *ngIf=\"canReply && position === 'left'\" class=\"reply-button\" (click)=\"replyClick($event)\">\n <i class=\"bi bi-reply-fill\"></i>\n </button>\n </div>\n `,\n host: { '[class.ms-auto]': 'position === \"right\"' },\n standalone: false\n})\nexport class ChatItemComponent {\n\n @Input({ alias: 'id' }) id?: string = '';\n @Input({ alias: 'avatar' }) avatar?: string = '';\n @Input({ alias: 'text' }) text: string = '';\n @Input({ alias: 'date-time' }) dateTime?: Date | number = new Date();\n\n @Input({ alias: 'replay-text' }) replayText?: string;\n @Input({ alias: 'replay-subject' }) replaySubject?: string;\n @Input({ alias: 'replay-id' }) replayId?: string;\n\n @Input({ alias: 'position' }) position?: 'left' | 'right' = 'left';\n @Input({ alias: 'reaction' }) reaction?: string;\n\n @Output('reply') reply = new EventEmitter();\n @Output('reaction-click') reactionClick = new EventEmitter();\n @Input({ alias: 'can-reply' }) canReply?: boolean = false;\n @Output('reaction-selector') reactionSelector = new EventEmitter<VisibilityEventBase>();\n\n replyClick(event: MouseEvent) {\n event?.stopPropagation();\n event?.preventDefault();\n this.reply.emit(this.replayId);\n }\n}\n","import { Component, Input, booleanAttribute, numberAttribute } from '@angular/core';\nimport { Color } from '../../shared/types';\n\n@Component({\n selector: 'rlb-list-item-image',\n template: `\n <div class=\"d-flex\">\n <rlb-avatar *ngIf=\"avatar\" [src]=\"avatar\" [size]=\"avatarSize\" />\n <i *ngIf=\"!avatar && icon\" [class]=\"icon\" style=\"font-size: {{avatarSize}}px;\"></i>\n <div class=\"ps-2 flex-grow-1\">\n <div class=\"fw-bold\">{{ username }}</div>\n <span *ngIf=\"line1\" class=\"d-block\">{{ line1 }}</span>\n <span *ngIf=\"line2\" class=\"d-block\">{{ line2 }}</span>\n </div>\n <div *ngIf=\"counter || counterEmpty\">\n <span *ngIf=\"counterEmpty\" rlb-badge [pill]=\"counterPill\" [color]=\"counterColor\" [border]=\"counterBorder\">&nbsp;</span>\n <span *ngIf=\"!counterEmpty\"rlb-badge [pill]=\"counterPill\" [color]=\"counterColor\" [border]=\"counterBorder\">{{ counter }}</span>\n </div>\n </div>\n `,\n host: {\n class: 'list-group-item',\n '[class.disabled]': 'disabled',\n '[class.list-group-item-action]': 'disabled !== true',\n '[class.active]': 'active',\n '[attr.aria-current]': 'active',\n },\n standalone: false\n})\nexport class ListItemImageComponent {\n @Input({ transform: booleanAttribute, alias: 'active', }) active!: boolean;\n @Input({ transform: booleanAttribute, alias: 'disabled', }) disabled!: boolean;\n @Input({ transform: booleanAttribute, alias: 'counter-empty', }) counterEmpty?: string;\n @Input({ transform: booleanAttribute, alias: 'counter-pill', }) counterPill?: boolean;\n @Input({ transform: booleanAttribute, alias: 'counter-border', }) counterBorder?: boolean;\n @Input({ transform: numberAttribute, alias: 'avatar-size', }) avatarSize?: number = 50;\n @Input({ alias: 'username' }) username?: string;\n @Input({ alias: 'line-1' }) line1?: string;\n @Input({ alias: 'line-2' }) line2?: string;\n @Input({ alias: 'avatar' }) avatar?: string;\n @Input({ alias: 'counter' }) counter?: number | string;\n @Input({ alias: 'counter-color' }) counterColor?: Color | undefined;\n @Input({ alias: 'icon' }) icon?: string;\n}\n","import {\n Component,\n Input,\n booleanAttribute,\n} from '@angular/core';\n\n@Component({\n selector: 'rlb-list-item',\n template: `<ng-content></ng-content>`,\n host: {\n class: 'list-group-item',\n '[class.disabled]': 'disabled',\n '[class.list-group-item-action]': 'action',\n '[class.active]': 'active',\n '[attr.aria-current]': 'active',\n },\n standalone: false\n})\nexport class ListItemComponent {\n @Input({ alias: 'active', transform: booleanAttribute }) active?: boolean;\n @Input({ alias: 'disabled', transform: booleanAttribute }) disabled?: boolean;\n @Input({ alias: 'action', transform: booleanAttribute }) action?: boolean;\n\n constructor() { }\n}\n","import {\n Component,\n ContentChildren,\n DoCheck,\n Input,\n QueryList,\n booleanAttribute,\n} from '@angular/core';\nimport { ListItemComponent } from './list-item.component';\n\n@Component({\n selector: 'rlb-list',\n template: `<ng-content select=\"rlb-list-item, rlb-list-item-image\"></ng-content>`,\n host: {\n class: 'list-group',\n '[class.list-group-numbered]': 'numbered',\n '[class.list-group-flush]': 'flush',\n '[class.list-group-horizontal]': 'horizontal',\n '[class.disabled]': 'disabled',\n },\n standalone: false\n})\nexport class ListComponent implements DoCheck {\n @Input({ alias: 'disabled', transform: booleanAttribute }) disabled?: boolean;\n @Input({ alias: 'numbered', transform: booleanAttribute }) numbered?: boolean;\n @Input({ alias: 'flush', transform: booleanAttribute }) flush?: boolean;\n @Input({ alias: 'horizontal', transform: booleanAttribute }) horizontal?: boolean;\n\n @ContentChildren(ListItemComponent) children!: QueryList<ListItemComponent>;\n\n constructor() { }\n\n ngDoCheck() {\n this.children?.forEach((child) => {\n child.disabled = this.disabled;\n });\n }\n}\n","import {\n\tbooleanAttribute,\n\tComponent,\n\tEventEmitter,\n\tInput,\n\tOnInit,\n\tOutput,\n\tTemplateRef,\n\tViewChild,\n\tViewContainerRef,\n} from '@angular/core';\n\n@Component({\n\tselector: 'rlb-navbar-dropdown-item',\n template: ` <ng-template #template>\n <li class=\"nav-item\" [class.dropdown]=\"dropdown\">\n <a\n class=\"nav-link {{ cssClass }}\"\n [class.dropdown-toggle]=\"dropdown\"\n [attr.role]=\"(dropdown || toggle) ? 'button' : undefined\"\n [attr.data-bs-toggle]=\"dropdown ? 'dropdown' : undefined\"\n [attr.aria-expanded]=\"(dropdown || toggle) ? 'false' : undefined\"\n [attr.data-bs-auto-close]=\"_autoClose\"\n [href]=\"(dropdown || toggle) ? '#' : href\"\n (click)=\"click.emit($event)\"\n >\n <ng-content select=\":not(rlb-dropdown-container)\"></ng-content>\n </a>\n <ng-content select=\"rlb-dropdown-container\"></ng-content>\n </li>\n </ng-template>`,\n standalone: false\n})\nexport class NavbarDropdownItemComponent implements OnInit {\n element!: HTMLElement;\n\n @Input({ alias: 'disabled', transform: booleanAttribute }) disabled?: boolean;\n @Input({ alias: 'dropdown', transform: booleanAttribute }) dropdown?: boolean;\n @Input({ alias: 'href' }) href?: string;\n @Input({ alias: 'class' }) cssClass?: string;\n @Input({ alias: 'toggle' }) toggle?: | 'offcanvas' | 'collapse' | 'tab' | 'pill' | 'buttons-group';\n @Input({ alias: 'auto-close' }) autoClose!: 'default' | 'inside' | 'outside' | 'manual';\n\n @Output() click = new EventEmitter<MouseEvent>();\n\n get _autoClose() {\n switch (this.autoClose) {\n case 'default':\n return 'true';\n case 'inside':\n return 'inside';\n case 'outside':\n return 'outside';\n case 'manual':\n return 'false';\n }\n }\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n\n constructor(private viewContainerRef: ViewContainerRef) { }\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import {\n\tbooleanAttribute,\n\tComponent,\n\tEventEmitter,\n\tInput,\n\tOnInit,\n\tOutput,\n\tTemplateRef,\n\tViewChild,\n\tViewContainerRef,\n} from '@angular/core';\n\n@Component({\n\tselector: 'rlb-navbar-item',\n template: ` <ng-template #template>\n\t\t\t<li class=\"nav-item\">\n <a\n class=\"nav-link {{ cssClass }}\"\n\t\t\t\t[routerLink]=\"routerLink\"\n\t\t\t\trouterLinkActive='active'\n (click)=\"click.emit($event)\"\n >\n <ng-content select=\":not(rlb-dropdown-container)\"></ng-content>\n </a>\n </li>\n </ng-template>`,\n standalone: false\n})\nexport class NavbarItemComponent implements OnInit {\n element!: HTMLElement;\n\n @Input({ alias: 'disabled', transform: booleanAttribute }) disabled?: boolean;\n\t@Input({ alias: 'router-link' }) routerLink?: string;\n @Input({ alias: 'class' }) cssClass?: string;\n\n\n @Output() click = new EventEmitter<MouseEvent>();\n\t\n\t@ViewChild('template', { static: true }) template!: TemplateRef<any>;\n\n constructor(private viewContainerRef: ViewContainerRef) { }\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { NavbarItemComponent } from \"./navbar-item.component\";\nimport { startWith, Subject, takeUntil } from \"rxjs\";\n\n@Component({\n selector: 'rlb-navbar-items',\n template: ` <ng-template #template>\n <ul\n class=\"navbar-nav {{ cssClass }}\"\n [class.navbar-nav-scroll]=\"scroll\"\n [style.--bs-scroll-height]=\"scroll\"\n >\n <ng-content\n\t\t\t\tselect=\"rlb-navbar-item, rlb-navbar-dropdown-item, rlb-navbar-separator, ng-container\"\n />\n </ul>\n </ng-template>`,\n standalone: false\n})\nexport class NavbarItemsComponent implements OnInit, AfterContentInit, OnDestroy {\n @Input({ alias: 'scroll' }) scroll?: string;\n @Input({ alias: 'class' }) cssClass?: string;\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n element!: HTMLElement;\n\n @ContentChildren(NavbarItemComponent, { descendants: true })\n menuItems!: QueryList<NavbarItemComponent>;\n\n @Output() click = new EventEmitter<MouseEvent>();\n\n private destroy$ = new Subject<void>();\n\n constructor(private viewContainerRef: ViewContainerRef) { }\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n\n ngAfterContentInit() {\n this.menuItems.changes.pipe(\n startWith(this.menuItems), // handles initial list\n takeUntil(this.destroy$)\n ).subscribe((items: QueryList<NavbarItemComponent>) => {\n items.forEach(item => {\n item.click.pipe(takeUntil(this.destroy$)).subscribe(event => this.click.emit(event));\n });\n });\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import {\n Component,\n ViewChild,\n TemplateRef,\n ViewContainerRef,\n OnInit,\n Input,\n} from '@angular/core';\n\n@Component({\n selector: 'rlb-navbar-separator',\n template: ` <ng-template #template>\n <li class=\"nav-item separator {{ cssClass }}\"></li>\n </ng-template>`,\n standalone: false\n})\nexport class NavbarSeparatorComponent implements OnInit {\n element!: HTMLElement;\n\n @Input({ alias: 'class' }) cssClass?: string = '';\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n\n constructor(private viewContainerRef: ViewContainerRef) { }\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import {\n Component,\n ViewChild,\n TemplateRef,\n ViewContainerRef,\n Input,\n} from '@angular/core';\n\n@Component({\n selector: 'rlb-navbar-text',\n template: ` <ng-template #template>\n <span class=\"navbar-text {{ cssClass }}\">\n <ng-content />\n </span>\n </ng-template>`,\n standalone: false\n})\nexport class NavbarTextComponent {\n element!: HTMLElement;\n\n @Input({ alias: 'class' }) cssClass?: string = '';\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n\n constructor(private viewContainerRef: ViewContainerRef) { }\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import {\n AfterContentInit,\n booleanAttribute,\n Component,\n ContentChildren,\n Input,\n OnDestroy,\n OnInit,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { Color } from '../../../shared/types';\nimport { UniqueIdService } from '../../../shared/unique-id.service';\nimport { NavbarItemsComponent } from \"./navbar-items.component\";\nimport { startWith, Subject, takeUntil } from \"rxjs\";\nimport { Collapse } from \"bootstrap\";\n\n@Component({\n selector: 'rlb-navbar',\n template: ` <ng-template #template>\n <nav\n class=\"navbar px-2 bg-{{ color }} {{ placement }} {{ _navExpand }} {{ cssClass }}\"\n [attr.data-bs-theme]=\"dark\"\n >\n <div class=\"container-fluid\">\n <ng-content\n select=\"[rlb-navbar-brand], [rlb-button][toggle], rlb-navbar-separator\"\n />\n <button\n\t\t\t\t\tclass=\"navbar-toggler\"\n\t\t\t\t\t[class.d-none]=\"!enableDropdownToggler\"\n type=\"button\"\n rlb-button\n toggle=\"collapse\"\n [toggle-target]=\"navId\"\n aria-label=\"Toggle navigation\"\n >\n\t\t\t\t\t<span class=\"navbar-toggler-icon\"></span>\n </button>\n <div class=\"collapse navbar-collapse\" [id]=\"navId\">\n\t\t\t\t\t<div class=\"p-3 d-flex w-100 flex-column flex-lg-row\">\n\t\t\t\t\t\t<ng-content\n\t\t\t\t\t\t\tselect=\"rlb-navbar-items, rlb-navbar-form, rlb-navbar-text, rlb-navbar-separator\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n </div>\n </div>\n </nav>\n </ng-template>`,\n standalone: false\n})\nexport class NavbarComponent implements OnInit, AfterContentInit, OnDestroy {\n element!: HTMLElement;\n private _navId: string;\n private destroy$: Subject<void> = new Subject<void>();\n\n public get navId(): string {\n return this._navId;\n }\n get _navExpand(): string | undefined {\n if (!this.expand) return undefined;\n else if (this.expand === 'always') return 'navbar-expand';\n else return `navbar-expand-${this.expand}`;\n }\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n @ContentChildren(NavbarItemsComponent, { descendants: true })\n navbarItemsGroups!: QueryList<NavbarItemsComponent>;\n\n @Input({ alias: 'dark', transform: booleanAttribute }) dark?: boolean;\n @Input({ alias: 'color' }) color?: Color;\n @Input({ alias: 'placement' }) placement?: 'fixed-top' | 'fixed-bottom' | 'sticky-top' | 'sticky-bottom';\n @Input({ alias: 'expand' }) expand?: 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'always';\n @Input({ alias: 'class' }) cssClass?: string = '';\n\t@Input({ alias: 'enable-dropdown-toggler', transform: booleanAttribute }) enableDropdownToggler: boolean = true;\n\n constructor(\n private idService: UniqueIdService,\n private viewContainerRef: ViewContainerRef,\n ) {\n this._navId = `nav${this.idService.id}`;\n }\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n\n ngAfterContentInit() {\n this.navbarItemsGroups.changes.pipe(\n startWith(this.navbarItemsGroups),\n takeUntil(this.destroy$)\n ).subscribe((groups: QueryList<NavbarItemsComponent>) => {\n groups.forEach(group => {\n group.click.pipe(\n takeUntil(this.destroy$),\n ).subscribe(() => this.closeMobileMenu());\n });\n });\n }\n\n ngOnDestroy () {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private closeMobileMenu() {\n const collapseEl = this.element?.querySelector('.navbar-collapse');\n if (collapseEl && collapseEl.classList.contains('show')) {\n const bsCollapse = Collapse.getOrCreateInstance(collapseEl);\n bsCollapse.hide();\n }\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'rlb-offcanvas-body',\n template: `<ng-content></ng-content>`,\n host: { class: 'offcanvas-body' },\n standalone: false\n})\nexport class OffcanvasBodyComponent {}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n\tselector: 'rlb-offcanvas-header',\n\ttemplate: `\n\t\t<ng-content select=\"[rlb-offcanvas-title]\"></ng-content>\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclass=\"btn-close\"\n\t\t\tdata-bs-dismiss=\"offcanvas\"\n\t\t\t[attr.data-bs-target]=\"_offcanvasId\"\n\t\t\taria-label=\"Close\"\n\t\t></button>\n\t`,\n\thost: {\n\t\tclass: 'offcanvas-header d-flex justify-content-between align-items-center'\n\t},\n\tstandalone: false\n})\nexport class OffcanvasHeaderComponent {\n\t@Input() set offcanvasId(offcanvasId: string) {\n\t\tthis._offcanvasId = `#${offcanvasId}`;\n\t}\n\t\n\t_offcanvasId: string = ''\n}\n","import { Component } from '@angular/core';\n\n// TODO\n// Ask if we need this component, RlbOffcanvasTitleDirective should be more flexible and useful\n\n@Component({\n selector: 'h*[rlb-offcanvas-title]',\n template: `<ng-content></ng-content>`,\n host: { class: 'offcanvas-title' },\n standalone: false\n})\nexport class OffcanvasTitleComponent {}\n","import {\n booleanAttribute,\n Component,\n DOCUMENT,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\nimport { Offcanvas } from 'bootstrap';\nimport { VisibilityEvent } from '../../shared/types';\nimport { ToggleAbstractComponent } from '../abstract/toggle-abstract.component';\n\n@Component({\n selector: 'rlb-offcanvas',\n template: `\n <ng-content select=\"rlb-offcanvas-header\"></ng-content>\n <ng-content select=\"rlb-offcanvas-body\"></ng-content>\n `,\n host: {\n tabindex: '-1',\n '[id]': 'id',\n '[class.offcanvas]': '!responsive',\n '[class.offcanvas-sm]': 'responsive === \"sm\"',\n '[class.offcanvas-md]': 'responsive === \"md\"',\n '[class.offcanvas-lg]': 'responsive === \"lg\"',\n '[class.offcanvas-xl]': 'responsive === \"xl\"',\n '[class.offcanvas-xxl]': 'responsive === \"xxl\"',\n '[class.offcanvas-start]': 'placement === \"start\"',\n '[class.offcanvas-end]': 'placement === \"end\"',\n '[class.offcanvas-top]': 'placement === \"top\"',\n '[class.offcanvas-bottom]': 'placement === \"bottom\"',\n },\n standalone: false\n})\nexport class OffcanvasComponent\n extends ToggleAbstractComponent<Offcanvas>\n implements OnInit, OnDestroy {\n\n @Input({ alias: `id`, required: true }) id!: string;\n @Input({ alias: 'body-scroll', transform: booleanAttribute }) bodyScroll?: boolean;\n @Input({ alias: 'scroll-backup', transform: booleanAttribute }) scrollBackup?: boolean;\n @Input({ alias: 'close-manual', transform: booleanAttribute }) closeManual?: boolean;\n @Input({ alias: 'placement' }) placement?: 'start' | 'end' | 'top' | 'bottom' = 'start';\n @Input({ alias: 'responsive' }) responsive?: 'sm' | 'md' | 'lg' | 'xl' | 'xxl';\n @Input() override status?: VisibilityEvent;\n\n @Output() override statusChange = new EventEmitter<VisibilityEvent>();\n\t\n\tconstructor(elementRef: ElementRef<HTMLElement>, @Inject(DOCUMENT) private document: Document) {\n super(elementRef);\n }\n\t\n\toverride ngOnInit(elemnt?: HTMLElement | Element) {\n\t\tsuper.ngOnInit(elemnt);\n\t\t\n\t\tconst nativeEl = this.elementRef?.nativeElement;\n\t\t\n\t\tif (nativeEl && nativeEl.parentElement !== this.document.body) {\n\t\t\tthis.document.body.appendChild(nativeEl);\n\t\t}\n\t}\n \n override ngOnDestroy() {\n super.ngOnDestroy();\n \n const nativeEl = this.elementRef?.nativeElement;\n \n if (nativeEl && nativeEl.parentElement === this.document.body) {\n this.document.body.removeChild(nativeEl);\n }\n }\n \n override getOrCreateInstance(element: HTMLElement): Offcanvas {\n\t\tconst existingInstance = Offcanvas.getInstance(element);\n\t\tif (existingInstance) {\n\t\t\texistingInstance.dispose();\n\t\t}\n\t\t\n\t\treturn Offcanvas.getOrCreateInstance(element, {\n\t\t\tscroll: this.bodyScroll ?? false,\n keyboard: !this.closeManual,\n\t\t\tbackdrop: this.closeManual ? 'static' : true\n\t\t});\n }\n\n override get eventPrefix(): string {\n return 'bs.offcanvas';\n }\n}\n","import {\n Component,\n Input,\n ViewContainerRef,\n OnInit,\n ViewChild,\n TemplateRef,\n booleanAttribute,\n} from '@angular/core';\n\n@Component({\n selector: 'rlb-pagination-item',\n template: `\n <ng-template #template>\n <li class=\"page-item {{ cssClass }}\" [class.disabled]=\"disabled\" [class.active]=\"active\">\n <a class=\"page-link d-block\" *ngIf=\"isIcon; else e\" [attr.disabled]=\"disabled\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </a>\n <ng-template #e>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-template>\n </li>\n </ng-template>\n <ng-template #content><ng-content /></ng-template>\n `,\n standalone: false\n})\nexport class PaginationItemComponent implements OnInit {\n element!: HTMLElement;\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n\n @Input({ alias: 'isIcon', transform: booleanAttribute }) isIcon?: boolean;\n @Input({ alias: 'disabled', transform: booleanAttribute, }) disabled?: boolean;\n @Input({ alias: 'active', transform: booleanAttribute, }) active?: boolean;\n @Input({ alias: 'class' }) cssClass?: string = '';\n\n constructor(private viewContainerRef: ViewContainerRef) { }\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import {\n Component,\n Input,\n ViewContainerRef,\n OnInit,\n ViewChild,\n TemplateRef,\n QueryList,\n ContentChildren,\n} from '@angular/core';\nimport { PaginationItemComponent } from './pagination-item.component';\n\n@Component({\n selector: 'rlb-pagination',\n template: ` <ng-template #template>\n <nav>\n <ul\n class=\"pagination {{ cssClass }}\"\n [class.pagination-sm]=\"size === 'sm'\"\n [class.pagination-lg]=\"size === 'lg'\"\n [class.justify-content-start]=\"alignment === 'start'\"\n [class.justify-content-center]=\"alignment === 'center'\"\n [class.justify-content-end]=\"alignment === 'end'\"\n >\n <ng-content select=\"rlb-pagination-item\" />\n </ul>\n </nav>\n </ng-template>`,\n standalone: false\n})\nexport class PaginationComponent implements OnInit {\n element!: HTMLElement;\n\n @Input({ alias: 'class' }) cssClass?: string = '';\n @Input() size?: 'sm' | 'md' | 'lg';\n @Input() alignment?: 'start' | 'center' | 'end';\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n @ContentChildren(PaginationItemComponent)\n children!: QueryList<PaginationItemComponent>;\n\n constructor(private viewContainerRef: ViewContainerRef) {}\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n\tselector: 'rlb-placeholder-line',\n\ttemplate: ``,\n\tstandalone: false,\n})\nexport class RlbPlaceholderLineComponent {\n\t@Input() size: 'xs' | 'sm' | 'md' | 'lg' = 'md';\n\t@Input() color: string = 'secondary';\n\t@Input() width: string = '100%';\n\t@Input() height?: string;\n\t@Input() rounded: boolean = true;\n\t\n\t@HostBinding('class') get hostClasses(): string {\n\t\tconst classes = ['placeholder', `bg-${this.color}`];\n\t\t\n\t\tif (this.size !== 'md') {\n\t\t\tclasses.push(`placeholder-${this.size}`);\n\t\t}\n\t\t\n\t\tif (this.rounded) {\n\t\t\tclasses.push('rounded');\n\t\t}\n\t\t\n\t\treturn classes.join(' ');\n\t}\n\t\n\t@HostBinding('style.width') get styleWidth() {\n\t\treturn this.width;\n\t}\n\t\n\t@HostBinding('style.height') get styleHeight() {\n\t\treturn this.height ?? null;\n\t}\n\t\n\t@HostBinding('style.display') display = 'block';\n\t@HostBinding('style.margin-bottom') marginBottom = '0.5rem';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n\tselector: 'rlb-placeholder',\n\ttemplate: `\n\t\t<div [ngClass]=\"containerClass\">\n\t\t\t<ng-content/>\n\t\t</div>`,\n\tstandalone: false\n})\nexport class RlbPlaceholderComponent {\n\t@Input() animation: 'glow' | 'wave' | 'none' = 'none';\n\t\n\tget containerClass(): string | string[] {\n\t\tif (this.animation === 'none') return [];\n\t\treturn `placeholder-${this.animation}`;\n\t}\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n\tselector: 'rlb-placeholder-text',\n\tstandalone: false,\n\ttemplate: `\n <rlb-placeholder [animation]=\"animation\">\n <rlb-placeholder-line\n *ngFor=\"let w of computedWidths\"\n [size]=\"size\"\n [color]=\"color\"\n [width]=\"w\"\n [rounded]=\"rounded\"\n [height]=\"height\"\n ></rlb-placeholder-line>\n </rlb-placeholder>\n `,\n})\nexport class RlbPlaceholderTextComponent {\n\t@Input() lines: number = 1;\n\t@Input() size: 'xs' | 'sm' | 'md' | 'lg' = 'md';\n\t@Input() color: string = 'secondary';\n\t@Input() animation: 'glow' | 'wave' | 'none' = 'none';\n\t@Input() width: string | string[] = '100%';\n\t@Input() height?: string;\n\t@Input() rounded: boolean = true;\n\t\n\tget computedWidths(): string[] {\n\t\tif (Array.isArray(this.width)) {\n\t\t\treturn Array.from({ length: this.lines }).map((_, i) => this.width[i] ?? '100%');\n\t\t}\n\t\treturn Array.from({ length: this.lines }).map(() => this.width as string);\n\t}\n}\n","import { Directive, DoCheck, ElementRef, Input, Renderer2, } from '@angular/core';\nimport { Color } from '../../shared/types';\n\n// TODO do we need this directive?\n// component has more potential and flexibility\n@Directive({\n selector: '[rlb-placeholder]',\n standalone: false\n})\nexport class PlaceholderDirective implements DoCheck {\n @Input({ alias: 'placeholder-color' }) color?: Color;\n @Input({ alias: 'placeholder-size' }) size?: 'xs' | 'sm' | 'md' | 'lg' = 'md';\n @Input({ alias: 'placeholder-animation' }) animation?: 'glow' | 'fade' | 'none' = 'none';\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n ) { }\n\n ngDoCheck() {\n this.renderer.addClass(this.elementRef.nativeElement, 'placeholder');\n if (this.color) {\n this.renderer.addClass(this.elementRef.nativeElement, `bg-${this.color}`);\n }\n if (this.size && this.size !== 'md') {\n this.renderer.addClass(\n this.elementRef.nativeElement,\n `placeholder-${this.size}`,\n );\n }\n if (this.animation && this.animation !== 'none') {\n this.renderer.addClass(\n this.elementRef.nativeElement,\n `placeholder-${this.animation}`,\n );\n }\n }\n}\n","import {\n AfterViewInit,\n booleanAttribute,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { ScrollSpy } from 'bootstrap';\n\n@Directive({\n selector: '[rlb-scrollspy]',\n host: {\n '[attr.data-bs-spy]': \"'scroll'\",\n '[attr.data-bs-target]': 'target',\n '[attr.tabindex]': '0',\n '[attr.data-bs-root-margin]': 'rootMargin',\n '[attr.data-bs-smooth-scroll]': 'smooth',\n '[style.height]': \"height\",\n '[style.overflow-y]': \"'auto'\"\n },\n standalone: false\n})\nexport class ScrollspyDirective implements AfterViewInit, OnDestroy, OnChanges {\n @Input({ alias: 'rlb-scrollspy-target', required: true }) target?: string;\n @Input({ alias: 'scroll-smooth', transform: booleanAttribute }) smooth?: boolean = true;\n @Input({ alias: 'scroll-root-margin' }) rootMargin?: string = '';\n @Input({ alias: 'height' }) height?: string = '200px';\n @Input({ alias: 'scroll-threshold' }) threshold?: Array<number> = [];\n @Output('scroll-change') scroll: EventEmitter<Event> = new EventEmitter<Event>();\n \n private scrollSpy!: ScrollSpy;\n \n constructor(private elementRef: ElementRef<HTMLElement>) {\n }\n \n ngAfterViewInit() {\n this.scrollSpy = ScrollSpy.getOrCreateInstance(\n this.elementRef.nativeElement,\n {\n target: this.target,\n rootMargin: this.rootMargin,\n threshold: this.threshold,\n },\n );\n this.elementRef.nativeElement.addEventListener(\n 'activate.bs.scrollspy',\n this.__scroll_handler,\n );\n }\n \n ngOnDestroy() {\n this.elementRef.nativeElement.removeEventListener(\n 'activate.bs.scrollspy',\n this.__scroll_handler,\n );\n this.scrollSpy?.dispose();\n }\n \n ngOnChanges(changes: SimpleChanges): void {\n this.scrollSpy?.refresh();\n }\n \n private __scroll_handler = (event: Event) => {\n this.scroll.emit(event);\n }\n}\n","import {\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n OnInit,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewContainerRef\n} from \"@angular/core\";\nimport { UniqueIdService } from \"../../shared/unique-id.service\";\nimport { Router } from \"@angular/router\";\nimport { CollapseComponent } from \"../collapse/collapse.component\";\n\n\n@Component({\n selector: 'rlb-sidebar-item',\n template: `\n\t\t<ng-template #template>\n <li *ngIf=\"title\" (click)=\"onItemClick($event)\" class=\"menu-title\">{{ title }}</li>\n <li *ngIf=\"!title\" (click)=\"onItemClick($event)\">\n\t\t\t\t<a\n\t\t\t\t\t[badge]=\"badgeCounter && badgeCounter > 0 ? badgeCounter?.toString(): undefined\"\n\t\t\t\t\t*ngIf=\"children?.length\" href=\"javascript:void(0);\"\n\t\t\t\t\tclass=\"is-parent has-arrow\"\n\t\t\t\t\ttoggle=\"collapse\"\n\t\t\t\t\t[toggle-target]=\"'side-item' + _id\"\n\t\t\t\t>\n\t\t\t\t\t<i *ngIf=\"icon\" [class]=\"icon\"></i>\n\t\t\t\t\t<span>{{ label }}</span>\n\t\t\t\t</a>\n\t\t\t\t<rlb-collapse [id]=\"'side-item' + _id\">\n\t\t\t\t\t<ul class=\"sub-menu\" aria-expanded=\"false\">\n\t\t\t\t\t\t<ng-content select=\"rlb-sidebar-item\"></ng-content>\n\t\t\t\t\t</ul>\n\t\t\t\t</rlb-collapse>\n\t\t\t\t<a\n\t\t\t\t\t*ngIf=\"!children?.length\"\n\t\t\t\t\t[routerLink]=\"link\"\n\t\t\t\t\t[badge]=\"badgeCounter && badgeCounter > 0 ? badgeCounter?.toString(): undefined\"\n\t\t\t\t\tclass=\"side-nav-link-ref\"\n\t\t\t\t\trouterLinkActive=\"active\"\n\t\t\t\t>\n\t\t\t\t\t<i *ngIf=\"icon\" [class]=\"icon\"></i>\n\t\t\t\t\t<ng-content></ng-content>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t</ng-template>\n\t`,\n standalone: false\n})\nexport class SidebarItemComponent implements OnInit {\n element!: HTMLElement;\n @Input() title?: string | undefined;\n @Input() icon?: string | undefined;\n @Input() label?: string | undefined;\n @Input() link?: any[] | string | null | undefined;\n\t@Input() badgeCounter?: number;\n\n @Output() click = new EventEmitter<MouseEvent>();\n\n @ContentChildren(SidebarItemComponent) children!: QueryList<SidebarItemComponent>;\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n\t@ViewChild(CollapseComponent) collapseComponent?: CollapseComponent;\n\n constructor(\n private viewContainerRef: ViewContainerRef,\n\t\tprivate uniqueIdService: UniqueIdService,\n\t\tprivate router: Router\n ) { }\n\n _id: string = '';\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n this._id = this.uniqueIdService.id;\n }\n\n onItemClick(event: MouseEvent) {\n event.stopPropagation();\n this.click.emit(event);\n }\n}\n","import {\n booleanAttribute,\n Directive,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Renderer2,\n SimpleChanges,\n} from '@angular/core';\nimport { Tooltip } from 'bootstrap';\n\n@Directive({\n selector: '[tooltip]',\n standalone: false\n})\nexport class TooltipDirective implements OnInit, OnChanges, OnDestroy {\n static bsInit = false;\n private _tooltip: Tooltip | undefined;\n @Input({ alias: 'tooltip', required: true }) tooltip!: string | null | undefined;\n @Input({ alias: 'tooltip-placement' }) placement!: 'top' | 'bottom' | 'left' | 'right';\n @Input({ alias: 'tooltip-class' }) customClass!: string;\n @Input({ alias: 'tooltip-html', transform: booleanAttribute }) html?: boolean;\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n ) { }\n\n ngOnDestroy(): void {\n if (this._tooltip) {\n this._tooltip.dispose();\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['tooltip']) {\n if (this.tooltip) {\n this._tooltip?.enable();\n this._tooltip?.setContent({ '.tooltip-inner': this.tooltip || '' });\n } else {\n this._tooltip?.disable();\n }\n }\n if (changes['placement']) {\n if (this.placement) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'data-bs-placement', this.placement);\n this._tooltip?.update();\n }\n }\n if (changes['customClass']) {\n if (this.customClass) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'data-bs-custom-class', this.customClass);\n this._tooltip?.update();\n }\n }\n if (changes['html']) {\n if (this.html) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'data-bs-html', 'true');\n this._tooltip?.update();\n }\n }\n }\n\n ngOnInit() {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'data-bs-toggle', 'tooltip',);\n if (this.placement) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'data-bs-placement', this.placement);\n }\n if (this.customClass) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'data-bs-custom-class', this.customClass);\n }\n if (this.tooltip) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'data-bs-title', this.tooltip);\n }\n if (this.html) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'data-bs-html', 'true');\n }\n this._tooltip = new Tooltip(this.elementRef.nativeElement);\n }\n}\n","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'rlb-sidebar',\n\ttemplate: `\n\t\t<div class=\"vertical-menu\" [class.d-none]=\"isCollapsed\" [class.rounded-2]=\"rounded\">\n\t\t\t<div id=\"sidebar-menu\" class=\"w-100 h-100 overflow-y-auto\">\n\t\t\t\t<ul class=\"metismenu list-unstyled\" id=\"side-menu\" #sideMenu>\n\t\t\t\t\t<ng-content select=\"rlb-sidebar-item\"></ng-content>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t</div>\n\t\t<div role=\"button\"\n\t\t\t\t class=\"sidebar-toggle\"\n\t\t\t\t [tooltip]=\"!isCollapsed ? 'Hide' : 'Show'\"\n\t\t\t\t [tooltip-placement]=\"!isCollapsed ? 'top' : 'left'\"\n\t\t\t\t [tooltip-class]=\"'sidebar-toggler-tooltip'\"\n\t\t\t\t (click)=\"toggleSidebar()\">\n\t\t\t<i [class.bi-chevron-double-left]=\"!isCollapsed\" [class.bi-chevron-double-right]=\"isCollapsed\"\n\t\t\t\t class=\"bi \"></i>\n\t\t</div>\n\t`,\n standalone: false\n})\n\n/**\n * Sidebar component\n */\nexport class SidebarComponent {\n menu: any;\n data: any;\n @ViewChild('sideMenu') sideMenu!: ElementRef;\n\tisCollapsed: boolean = false;\n\t\n\t@Input({ alias: 'rounded', required: false }) rounded: boolean = false\n\n constructor() {\n }\n\t\n\ttoggleSidebar() {\n\t\tthis.isCollapsed = !this.isCollapsed;\n\t\tconst sidebar = document.getElementById('sidebar');\n\t\tconst content = document.querySelector('.rlb-content') as HTMLElement;\n\t\tif (content) {\n\t\t\tcontent.classList.toggle('expanded', this.isCollapsed);\n\t\t}\n\t\t\n\t\tif (sidebar) {\n\t\t\tsidebar.classList.toggle('collapsed', this.isCollapsed);\n\t\t}\n\t}\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'rlb-tab-content',\n host: { class: 'tab-content' },\n template: `<ng-content select=\"rlb-tab-pane\" />`,\n standalone: false\n})\nexport class TabContentComponent {}\n","import { Component, Input, booleanAttribute } from '@angular/core';\n\n@Component({\n selector: 'rlb-tab-pane',\n host: {\n class: 'tab-pane',\n '[class.active]': 'active',\n '[class.fade]': 'fade',\n '[attr.id]': 'id',\n tabindex: '0',\n role: 'tabpanel',\n '[attr.aria-labelledby]': 'id + \"-rlb-tab\"',\n },\n template: `<ng-content />`,\n standalone: false\n})\nexport class TabPaneComponent {\n @Input({ alias: 'id', required: true }) id!: string;\n @Input({ alias: 'active', transform: booleanAttribute }) active?: boolean;\n @Input({ alias: 'fade', transform: booleanAttribute }) fade?: boolean;\n}\n","import {\n Component,\n Input,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n booleanAttribute,\n} from '@angular/core';\n\n@Component({\n selector: 'rlb-tab',\n template: ` <ng-template #template>\n <li class=\"nav-item {{ cssClass }}\" role=\"presentation\">\n <button\n class=\"nav-link\"\n type=\"button\"\n role=\"tab\"\n [class.active]=\"active\"\n [disabled]=\"disabled\"\n toggle=\"tab\"\n [attr.id]=\"target + '-rlb-tab'\"\n [toggle-target]=\"target\"\n [attr.aria-selected]=\"active\"\n >\n <ng-content></ng-content>\n </button>\n </li>\n </ng-template>`,\n host: {\n '[attr.class]': 'undefined',\n '[attr.id]': 'undefined',\n },\n standalone: false\n})\nexport class TabComponent {\n element!: HTMLElement;\n\n @Input({ alias: 'active', transform: booleanAttribute }) active?: boolean;\n @Input({ transform: booleanAttribute }) disabled?: boolean;\n @Input({ alias: 'target', required: true }) target!: string;\n @Input({ alias: 'class' }) cssClass?: string = '';\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n\n constructor(private viewContainerRef: ViewContainerRef) { }\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import {\n Component,\n Input,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n ElementRef,\n booleanAttribute,\n} from '@angular/core';\n\n@Component({\n selector: 'rlb-tabs',\n template: ` <ng-template #template>\n <ul\n role=\"tablist\"\n [attr.id]=\"id ? id : undefined\"\n [class]=\"'nav {{ cssClass }}'\"\n [class.justify-content-center]=\"horizontalAlignment === 'center'\"\n [class.justify-content-end]=\"horizontalAlignment === 'end'\"\n [class.flex-column]=\"vertical\"\n [class.nav-pills]=\"view === 'pills'\"\n [class.nav-underline]=\"view === 'underline'\"\n [class.nav-tabs]=\"view === 'tab'\"\n [class.nav-fill]=\"fill === 'fill'\"\n [class.nav-justified]=\"fill === 'justified'\"\n >\n <ng-content select=\"rlb-tab\" />\n </ul>\n </ng-template>`,\n standalone: false\n})\nexport class TabsComponent {\n element!: HTMLElement;\n\n @Input({ alias: 'horizontal-alignment' }) horizontalAlignment?: 'center' | 'end';\n @Input({ alias: 'view' }) view?: 'tab' | 'pills' | 'underline' | 'none' = 'tab';\n @Input({ alias: 'vertical', transform: booleanAttribute }) vertical?: boolean;\n @Input({ alias: 'fill' }) fill?: 'fill' | 'justified';\n @Input({ alias: 'id' }) id?: string;\n @Input({ alias: 'class' }) cssClass?: string = '';\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n\n constructor(\n private viewContainerRef: ViewContainerRef,\n private elementRef: ElementRef<HTMLElement>,\n ) {\n elementRef.nativeElement.remove();\n }\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import {\n Directive,\n ElementRef,\n Renderer2,\n Input,\n DoCheck,\n AfterViewInit,\n} from '@angular/core';\nimport { Popover } from 'bootstrap';\n\n@Directive({\n selector: '[popover]',\n standalone: false\n})\nexport class PopoverDirective implements DoCheck, AfterViewInit {\n static bsInit = false;\n\n @Input({ alias: 'popover', required: true }) popover!: string | undefined;\n @Input({ alias: 'popover-placement' }) placement!: 'top' | 'bottom' | 'left' | 'right';\n @Input({ alias: 'popover-class' }) customClass!: string;\n @Input({ alias: 'popover-title' }) title!: string;\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n ) { }\n\n ngDoCheck() {\n this.renderer.setAttribute(\n this.elementRef.nativeElement,\n 'data-bs-toggle',\n 'popover',\n );\n if (this.placement) {\n this.renderer.setAttribute(\n this.elementRef.nativeElement,\n 'data-bs-placement',\n this.placement,\n );\n }\n if (this.customClass) {\n this.renderer.setAttribute(\n this.elementRef.nativeElement,\n 'data-bs-custom-class',\n this.customClass,\n );\n }\n if (this.title) {\n this.renderer.setAttribute(\n this.elementRef.nativeElement,\n 'data-bs-title',\n this.title,\n );\n }\n if (this.popover) {\n this.renderer.setAttribute(\n this.elementRef.nativeElement,\n 'data-bs-content',\n this.popover,\n );\n }\n }\n\n ngAfterViewInit() {\n new Popover(this.elementRef.nativeElement);\n }\n}\n","import { AccordionBodyComponent } from './accordions/accordion-body.component';\nimport { AccordionHeaderComponent } from './accordions/accordion-header.component';\nimport { AccordionItemComponent } from './accordions/accordion-item.component';\nimport { AccordionComponent } from './accordions/accordion.component';\nimport { AlertComponent } from './alerts/alert.component';\nimport { BadgeComponent } from './badges/badge.component';\nimport { BadgeDirective } from './badges/badge.directive';\nimport { BreadcrumbComponent } from './breadcrumb/breadcrumb.component';\nimport { ButtonGroupComponent } from './buttons/boutton-group.component';\nimport { ButtonToolbarComponent } from './buttons/boutton-toolbar.component';\nimport { ButtonCloseComponent } from './buttons/buttons-close.component';\nimport { ButtonComponent } from './buttons/buttons.component';\nimport { ToggleDirective } from './buttons/toggle.directive';\nimport { CardBodyComponent } from './cards/card-body.component';\nimport { CardFooterComponent } from './cards/card-footer.component';\nimport { CardGroupComponent } from './cards/card-group.component';\nimport { CardHeaderComponent } from './cards/card-header.component';\nimport { CardImageComponent } from './cards/card-image.component';\nimport { CardLinkComponent } from './cards/card-link.component';\nimport { CardSubtitleComponent } from './cards/card-subtitle.component';\nimport { CardTextComponent } from './cards/card-text.component';\nimport { CardTitleComponent } from './cards/card-title.component';\nimport { CardComponent } from './cards/card.component';\nimport { CarouselCaptionComponent } from './carousel/carousel-caption.component';\nimport { CarouselSlideComponent } from './carousel/carousel-slide.component';\nimport { CarouselComponent } from './carousel/carousel.component';\nimport { CollapseComponent } from './collapse/collapse.component';\nimport { DropdownContainerComponent } from './dropdown/dropdown-container.component';\nimport { DropdownMenuItemComponent } from './dropdown/dropdown-menu-item.component';\nimport { DropdownComponent } from './dropdown/dropdown.component';\nimport { DropdownDirective } from './dropdown/dropdown.directive';\nimport { ProgressComponent } from './loaders/progress.component';\nimport { SpinnerComponent } from './loaders/spinner.component';\nimport { MODALS } from './modals';\nimport { NavItemComponent } from './navigation/nav/nav-item.component';\nimport { NavComponent } from './navigation/nav/nav.component';\nimport { NavbarBrandDirective } from './navigation/navbar/navbar-brand.directive';\nimport { NavbarFormComponent } from './navigation/navbar/navbar-form.component';\n\nimport { AvatarComponent } from './avatar/avatar.component';\nimport { RlbFabComponent } from \"./buttons/fab/fab.component\";\nimport { CALENDAR_COMPONENTS } from \"./calendar\";\nimport { ChatContainerComponent } from './chat/chat-container.component';\nimport { ChatItemComponent } from './chat/chat-item.component';\nimport { ListItemImageComponent } from './list/list-item-image.component';\nimport { ListItemComponent } from './list/list-item.component';\nimport { ListComponent } from './list/list.component';\nimport { NavbarDropdownItemComponent } from './navigation/navbar/navbar-dropdown-item.component';\nimport { NavbarItemComponent } from \"./navigation/navbar/navbar-item.component\";\nimport { NavbarItemsComponent } from './navigation/navbar/navbar-items.component';\nimport { NavbarSeparatorComponent } from './navigation/navbar/navbar-separator.component';\nimport { NavbarTextComponent } from './navigation/navbar/navbar-text.component';\nimport { NavbarComponent } from './navigation/navbar/navbar.component';\nimport { OffcanvasBodyComponent } from './offcanvas/offcanvas-body.component';\nimport { OffcanvasHeaderComponent } from './offcanvas/offcanvas-header.component';\nimport { OffcanvasTitleComponent } from './offcanvas/offcanvas-title.component';\nimport { OffcanvasComponent } from './offcanvas/offcanvas.component';\nimport { PaginationItemComponent } from './pagination/pagination-item.component';\nimport { PaginationComponent } from './pagination/pagination.component';\nimport { RlbPlaceholderLineComponent } from \"./placeholder/placeholder-line.component\";\nimport { RlbPlaceholderTextComponent } from \"./placeholder/placeholder-text.component\";\nimport { RlbPlaceholderComponent } from \"./placeholder/placeholder.component\";\nimport { PlaceholderDirective } from './placeholder/placeholder.directive';\nimport { ScrollspyDirective } from './scrollspy/scrollspy.directive';\nimport { SidebarItemComponent } from './sidebar/sidebar-item.component';\nimport { SidebarComponent } from './sidebar/sidebar.component';\nimport { TabContentComponent } from './tabs/tab-content.component';\nimport { TabPaneComponent } from './tabs/tab-pane.component';\nimport { TabComponent } from './tabs/tab.component';\nimport { TabsComponent } from './tabs/tabs.component';\nimport { TOASTS } from './toast';\nimport { PopoverDirective } from './tooltips/popover.directive';\nimport { TooltipDirective } from './tooltips/tooltip.directive';\n\nexport * from './accordions/accordion-body.component';\nexport * from './accordions/accordion-header.component';\nexport * from './accordions/accordion-item.component';\nexport * from './accordions/accordion.component';\nexport * from './alerts/alert.component';\nexport * from './avatar/avatar.component';\nexport * from './badges/badge.component';\nexport * from './badges/badge.directive';\nexport * from './breadcrumb/breadcrumb.component';\nexport * from './buttons/boutton-group.component';\nexport * from './buttons/boutton-toolbar.component';\nexport * from './buttons/buttons-close.component';\nexport * from './buttons/buttons.component';\nexport * from './buttons/fab/fab.component';\nexport * from './buttons/toggle.directive';\nexport * from './calendar/';\nexport * from './cards/card-body.component';\nexport * from './cards/card-footer.component';\nexport * from './cards/card-group.component';\nexport * from './cards/card-header.component';\nexport * from './cards/card-image.component';\nexport * from './cards/card-link.component';\nexport * from './cards/card-subtitle.component';\nexport * from './cards/card-text.component';\nexport * from './cards/card-title.component';\nexport * from './cards/card.component';\nexport * from './carousel/carousel-caption.component';\nexport * from './carousel/carousel-slide.component';\nexport * from './carousel/carousel.component';\nexport * from './chat/chat-container.component';\nexport * from './chat/chat-item.component';\nexport * from './collapse/collapse.component';\nexport * from './dropdown/dropdown-container.component';\nexport * from './dropdown/dropdown-menu-item.component';\nexport * from './dropdown/dropdown.component';\nexport * from './dropdown/dropdown.directive';\nexport * from './list/list-item-image.component';\nexport * from './list/list-item.component';\nexport * from './list/list.component';\nexport * from './loaders/progress.component';\nexport * from './loaders/spinner.component';\nexport * from './modals';\nexport * from './navigation/nav/nav-item.component';\nexport * from './navigation/nav/nav.component';\nexport * from './navigation/navbar/navbar-brand.directive';\nexport * from './navigation/navbar/navbar-dropdown-item.component';\nexport * from './navigation/navbar/navbar-form.component';\nexport * from './navigation/navbar/navbar-item.component';\nexport * from './navigation/navbar/navbar-items.component';\nexport * from './navigation/navbar/navbar-separator.component';\nexport * from './navigation/navbar/navbar-text.component';\nexport * from './navigation/navbar/navbar.component';\nexport * from './offcanvas/offcanvas-body.component';\nexport * from './offcanvas/offcanvas-header.component';\nexport * from './offcanvas/offcanvas-title.component';\nexport * from './offcanvas/offcanvas.component';\nexport * from './pagination/pagination-item.component';\nexport * from './pagination/pagination.component';\nexport * from './placeholder/placeholder-line.component';\nexport * from './placeholder/placeholder-text.component';\nexport * from './placeholder/placeholder.component';\nexport * from './placeholder/placeholder.directive';\nexport * from './scrollspy/scrollspy.directive';\nexport * from './sidebar/sidebar-item.component';\nexport * from './sidebar/sidebar.component';\nexport * from './tabs/tab-content.component';\nexport * from './tabs/tab-pane.component';\nexport * from './tabs/tab.component';\nexport * from './tabs/tabs.component';\nexport * from './toast';\nexport * from './tooltips/popover.directive';\nexport * from './tooltips/tooltip.directive';\n\n\nexport const COMPONENTS = [\n AlertComponent,\n BreadcrumbComponent,\n AccordionComponent,\n AccordionItemComponent,\n AccordionHeaderComponent,\n AccordionBodyComponent,\n ButtonComponent,\n ButtonCloseComponent,\n ButtonGroupComponent,\n ButtonToolbarComponent,\n RlbFabComponent,\n BadgeDirective,\n BadgeComponent,\n CardBodyComponent,\n CardFooterComponent,\n CardGroupComponent,\n CardHeaderComponent,\n CardImageComponent,\n CardLinkComponent,\n CardSubtitleComponent,\n CardTextComponent,\n CardTitleComponent,\n CardComponent,\n SpinnerComponent,\n ProgressComponent,\n TooltipDirective,\n PopoverDirective,\n PlaceholderDirective,\n CollapseComponent,\n DropdownComponent,\n DropdownContainerComponent,\n DropdownMenuItemComponent,\n DropdownDirective,\n NavbarBrandDirective,\n NavbarComponent,\n NavbarFormComponent,\n NavbarTextComponent,\n NavbarItemsComponent,\n NavbarDropdownItemComponent,\n NavbarItemComponent,\n NavbarSeparatorComponent,\n OffcanvasComponent,\n OffcanvasHeaderComponent,\n OffcanvasTitleComponent,\n OffcanvasBodyComponent,\n ToggleDirective,\n SidebarComponent,\n SidebarItemComponent,\n NavComponent,\n NavItemComponent,\n TabsComponent,\n TabComponent,\n TabContentComponent,\n TabPaneComponent,\n PaginationItemComponent,\n PaginationComponent,\n ScrollspyDirective,\n CarouselComponent,\n CarouselCaptionComponent,\n CarouselSlideComponent,\n ListComponent,\n ListItemComponent,\n ListItemImageComponent,\n AvatarComponent,\n ChatContainerComponent,\n ChatItemComponent,\n RlbPlaceholderComponent,\n RlbPlaceholderLineComponent,\n RlbPlaceholderTextComponent,\n ...[MODALS],\n ...[TOASTS],\n ...[CALENDAR_COMPONENTS]\n];\n","import {\n booleanAttribute,\n Component,\n EmbeddedViewRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n TemplateRef,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\n\n@Component({\n selector: 'rlb-dt-action',\n template: `\n <ng-template #template>\n <li (click)=\"onClick($event)\" [routerLink]=\"routerLink\">\n <button class=\"dropdown-item\" type=\"button\" [disabled]=\"disabled\">\n <ng-content />\n </button>\n </li>\n </ng-template>`,\n standalone: false\n})\nexport class DataTableActionComponent implements OnInit {\n @Input({ alias: 'disabled', transform: booleanAttribute }) disabled?: boolean = false;\n @Input() routerLink?: any[] | string | null | undefined\n @Output() click: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n element!: HTMLElement;\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n constructor(private viewContainerRef: ViewContainerRef) { }\n private temp!: EmbeddedViewRef<any>;\n\n get _view() {\n return this.temp\n }\n\n ngOnInit() {\n this.temp = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = this.temp.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n\n onClick(e: MouseEvent) {\n e?.preventDefault();\n this.click.emit(e);\n }\n}\n","import {\n AfterContentInit,\n AfterViewInit,\n booleanAttribute,\n Component,\n ContentChildren,\n EmbeddedViewRef,\n Input,\n OnDestroy,\n OnInit,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { DataTableActionComponent } from './dt-action.component';\nimport { Subscription } from \"rxjs\";\n\n@Component({\n selector: 'rlb-dt-actions',\n template: `\n <ng-template #template>\n <div class=\"dropdown\">\n <button\n class=\"btn btn-outline py-0 pe-2 float-end\"\n [disabled]=\"_disabled\"\n type=\"button\"\n data-bs-toggle=\"dropdown\"\n aria-expanded=\"false\">\n <i class=\"bi bi-three-dots\"></i>\n </button>\n <ul class=\"dropdown-menu\">\n <ng-container #projectedActions></ng-container>\n </ul>\n </div>\n\n </ng-template>\n `,\n standalone: false\n})\nexport class DataTableActionsComponent implements OnInit, AfterViewInit, AfterContentInit, OnDestroy {\n element!: HTMLElement;\n private temp!: EmbeddedViewRef<any>;\n\n @Input({ alias: 'disabled', transform: booleanAttribute }) disabled?: boolean = false;\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n @ContentChildren(DataTableActionComponent) actions!: QueryList<DataTableActionComponent>;\n @ViewChild('projectedActions', { read: ViewContainerRef }) _projectedActions!: ViewContainerRef;\n private _actionsSubscription: Subscription | undefined;\n\n constructor(private viewContainerRef: ViewContainerRef) { }\n\n get _disabled() {\n if (this.disabled) return true;\n if (!this.actions || this.actions.length === 0) return false;\n return !this.actions.toArray().some((o) => !o.disabled);\n }\n\n get _view() {\n return this.temp\n }\n\n ngOnInit() {\n this.temp = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = this.temp.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n\n ngAfterContentInit() {\n this._actionsSubscription = this.actions.changes.subscribe(() => {\n this._renderActions();\n });\n }\n\n ngOnDestroy() {\n if (this._actionsSubscription) {\n this._actionsSubscription.unsubscribe();\n }\n }\n\n ngAfterViewInit() {\n this._renderActions();\n }\n\n private _renderActions() {\n if (this._projectedActions && this.actions) {\n for (let i = this._projectedActions?.length; i > 0; i--) {\n this._projectedActions.detach();\n }\n this.actions?.forEach((action) => {\n this._projectedActions.insert(action._view);\n });\n }\n }\n}\n","import {\n Component,\n EmbeddedViewRef,\n Input,\n numberAttribute,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\n\n@Component({\n selector: 'rlb-dt-cell',\n template: `\n <ng-template #template>\n <td [colSpan]=\"colSpan\" [class]=\"cssClass\" [style]=\"cssStyle\">\n <ng-content></ng-content>\n </td>\n </ng-template>`,\n standalone: false\n})\nexport class DataTableCellComponent implements OnInit {\n\n @Input({ alias: 'col-span', transform: numberAttribute }) colSpan?: string;\n @Input({ alias: 'class' }) cssClass?: string\n @Input({ alias: 'style' }) cssStyle?: string;\n element!: HTMLElement;\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n constructor(private viewContainerRef: ViewContainerRef) { }\n private temp!: EmbeddedViewRef<any>;\n\n get _view() {\n return this.temp\n }\n\n ngOnInit() {\n this.temp = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = this.temp.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import {\n booleanAttribute,\n Component,\n EmbeddedViewRef,\n Input,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\n@Component({\n selector: 'rlb-dt-header',\n template: `\n <ng-template #template>\n <th [class]=\"cssClass\" [style]=\"cssStyle\">\n <ng-content></ng-content>\n </th>\n </ng-template>`,\n standalone: false\n})\nexport class DataTableHeaderComponent implements OnInit {\n @Input() field!: string;\n @Input() type!: 'number' | 'string';\n @Input({ alias: 'sortable', transform: booleanAttribute }) sortable?: boolean;\n @Input({ alias: 'filtrable', transform: booleanAttribute }) filtrable?: boolean;\n @Input({ alias: 'class' }) cssClass?: string\n @Input({ alias: 'style' }) cssStyle?: string;\n\n element!: HTMLElement;\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n constructor(private viewContainerRef: ViewContainerRef) { }\n private temp!: EmbeddedViewRef<any>;\n\n get _view() {\n return this.temp\n }\n\n ngOnInit() {\n this.temp = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = this.temp.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import {\n AfterContentInit,\n AfterViewInit,\n Component,\n ContentChildren,\n EmbeddedViewRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { DataTableActionsComponent } from './dt-actions.component';\nimport { Subscription } from \"rxjs\";\n\n@Component({\n selector: 'rlb-dt-row',\n template: `\n <ng-template #template>\n <tr [class]=\"cssClass\" [style]=\"cssStyle\" (click)=\"rowClick.emit($event)\">\n <ng-content select=\"rlb-dt-cell\"></ng-content>\n <rlb-dt-cell *ngIf=\"hasActions\">\n <ng-container #projectedActions></ng-container>\n </rlb-dt-cell>\n </tr>\n </ng-template>`,\n standalone: false\n})\nexport class DataTableRowComponent implements AfterViewInit, OnInit, AfterContentInit, OnDestroy {\n @Input({ alias: 'class' }) cssClass?: string\n @Input({ alias: 'style' }) cssStyle?: string;\n hasActions: boolean = true\n\n @Output() rowClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n @ViewChild('projectedActions', { read: ViewContainerRef }) _projectedActions!: ViewContainerRef;\n @ContentChildren(DataTableActionsComponent) public actionsBlock!: QueryList<DataTableActionsComponent>;\n\n element!: HTMLElement;\n private temp!: EmbeddedViewRef<any>;\n private _actionsBlockSubscription: Subscription | undefined;\n\n constructor(private viewContainerRef: ViewContainerRef) { }\n\n get _view() {\n return this.temp\n }\n\n\n ngOnInit() {\n this.temp = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = this.temp.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n\n ngAfterContentInit() {\n this._actionsBlockSubscription = this.actionsBlock.changes.subscribe(() => {\n this._renderActions();\n });\n this.hasActions = !!this.actionsBlock.length;\n }\n\n ngAfterViewInit() {\n this._renderActions();\n }\n\n ngOnDestroy() {\n if (this._actionsBlockSubscription) {\n this._actionsBlockSubscription.unsubscribe();\n }\n }\n\n private _renderActions() {\n if (this.hasActions && this._projectedActions) {\n for (let i = this._projectedActions.length; i > 0; i--) {\n this._projectedActions.detach();\n }\n if (this.actionsBlock.first) {\n this._projectedActions.insert(this.actionsBlock.first._view);\n }\n }\n }\n}\n","import { Injectable, Optional, Self } from '@angular/core';\nimport { ControlValueAccessor, NgControl, ValidationErrors, } from '@angular/forms';\nimport { UniqueIdService } from '../../shared/unique-id.service';\n\n@Injectable()\nexport abstract class AbstractComponent<T = any>\n implements ControlValueAccessor {\n public abstract disabled?: boolean;\n protected abstract userDefinedId: string;\n protected onTouched: Function = () => { };\n\tprotected onChanged: Function = (v: T) => {\n\t};\n public value!: T;\n private _id!: string;\n public get id(): string {\n return this.userDefinedId || this._id;\n }\n constructor(\n idService: UniqueIdService,\n @Self() @Optional() public control?: NgControl,\n ) {\n this._id = idService.id;\n if (this.control) {\n this.control.valueAccessor = this;\n }\n }\n\n protected setValue(val: T) {\n this.value = val;\n this.onChanged?.(val);\n }\n\n touch() {\n this.onTouched();\n }\n\n writeValue(val: T): void {\n this.value = val;\n this.onWrite(val);\n }\n\t\n\tregisterOnChange(fn: (v: T) => void): void {\n this.onChanged = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n get invalid(): boolean {\n return this.control?.invalid || false;\n }\n\n get showError(): boolean {\n if (!this.control) return false;\n const { dirty, touched } = this.control;\n return this.invalid ? dirty || touched || false : false;\n }\n\n get errors(): ValidationErrors {\n return this.control?.errors || {};\n }\n\n onWrite(data: T) { };\n}\n","import { Component, Input, ViewContainerRef, Injector, TemplateRef, ViewChild, OnInit, EmbeddedViewRef, booleanAttribute } from '@angular/core';\nimport { WrappedComponent } from '../../shared/wrapped.component';\nimport { HostWrapper } from '../../shared/host-wrapper';\n\n@Component({\n selector: 'rlb-option',\n template: `\n <ng-template #template>\n <option\n [attr.disabled]=\"disabled ? true : undefined\"\n [attr.value]=\"value\"\n >\n <ng-content></ng-content>\n </option>\n </ng-template>\n <ng-content></ng-content>`,\n standalone: false\n})\nexport class OptionComponent implements OnInit {\n private temp!: EmbeddedViewRef<any>;\n\n @Input({ alias: 'disabled', transform: booleanAttribute }) disabled?: boolean;\n @Input({ alias: 'value' }) value?: string | number | null;\n @Input({ alias: 'class' }) cssValue?: string | number | null;\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n constructor(private viewContainerRef: ViewContainerRef) { }\n\n get _view() {\n return this.temp\n }\n\n ngOnInit() {\n this.temp = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n }\n}\n","import { InjectionToken } from '@angular/core';\n\n\nexport interface RlbTranslationService {\n\tinstant(key: string, params?: { [key: string]: any }): string;\n}\n\nexport const RLB_TRANSLATION_SERVICE = new InjectionToken<RlbTranslationService>(\n\t'RLB_TRANSLATION_SERVICE_TOKEN'\n);","import { Component, Inject, Input, Optional } from \"@angular/core\";\nimport { ValidationErrors } from \"@angular/forms\";\nimport { RLB_TRANSLATION_SERVICE, RlbTranslationService } from \"../../shared/i18-abstraction\";\n\n@Component({\n selector: 'rlb-input-validation',\n host: { class: 'invalid-feedback' },\n\ttemplate: `\n\t\t<ng-container *ngIf=\"errors\">\n\t\t\t<span *ngFor=\"let errorKey of getErrorKeys(errors)\">\n\t\t\t\t{{ getTranslatedError(errorKey, errors[errorKey]) }}\n\t\t\t</span>\n\t\t</ng-container>\n\t`,\n standalone: false\n})\nexport class InputValidationComponent {\n @Input({ alias: 'errors' }) public errors!: ValidationErrors;\n\t\n\tconstructor(\n\t\t@Optional() @Inject(RLB_TRANSLATION_SERVICE) private translationService: RlbTranslationService | null\n\t) {\n\t}\n\t\n\tgetErrorKeys(errors: ValidationErrors | null | undefined): string[] {\n\t\tif (!errors) return [];\n\t\treturn Object.keys(errors);\n\t}\n\t\n\tgetTranslatedError(errorKey: string, errorValue: any): string {\n\t\tconst i18nKey = `common.form.validation.${errorKey}`; // Create i18n key ex: 'common.form.validation.required'\n\t\t\n\t\tif (this.translationService) {\n\t\t\treturn this.translationService.instant(i18nKey, errorValue);\n\t\t}\n\t\t\n\t\t// fallback\n\t\treturn `${i18nKey}: ${JSON.stringify(errorValue)}`;\n\t}\n}\n","import {\n AfterContentChecked,\n booleanAttribute,\n Component,\n ContentChildren,\n DoCheck,\n ElementRef,\n Input,\n numberAttribute,\n Optional,\n QueryList,\n Self,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { AbstractComponent } from './abstract-field.component';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { OptionComponent } from './options.component';\n\n@Component({\n selector: 'rlb-select',\n template: `\n <ng-content select=\"[before]\"></ng-content>\n <div class=\"input-group has-validation\">\n <select\n #select\n class=\"form-select d-inline-block\"\n [id]=\"id\"\n [attr.disabled]=\"disabled ? true : undefined\"\n [attr.readonly]=\"readonly ? true : undefined\"\n [attr.multiple]=\"multiple ? true : undefined\"\n [class.form-select-lg]=\"size === 'large'\"\n [class.form-select-sm]=\"size === 'small'\"\n [attr.placeholder]=\"placeholder\"\n [attr.size]=\"display\"\n (blur)=\"touch()\"\n\t\t\t\t[ngClass]=\"{\n 'is-invalid': control?.touched && control?.invalid && enableValidation,\n 'is-valid': control?.touched && control?.valid && enableValidation\n }\"\n (change)=\"update($event.target)\"\n >\n <option *ngIf=\"placeholder\" selected disabled>{{ placeholder }}</option>\n <ng-container #projectedDisplayOptions></ng-container>\n </select>\n\t\t\t<rlb-input-validation *ngIf=\"errors && showError\" [errors]=\"errors\"/>\n\t\t</div>\n <ng-content select=\"[after]\"></ng-content>`,\n standalone: false\n})\nexport class SelectComponent\n extends AbstractComponent<string | string[]>\n implements DoCheck, ControlValueAccessor, AfterContentChecked {\n @Input({ alias: 'placeholder' }) placeholder?: string;\n @Input({ alias: 'size' }) size?: 'small' | 'large';\n @Input({ alias: 'disabled', transform: booleanAttribute }) disabled?: boolean;\n @Input({ alias: 'readonly', transform: booleanAttribute }) readonly?: boolean;\n @Input({ alias: 'multiple', transform: booleanAttribute }) multiple?: boolean;\n @Input({ alias: 'display', transform: numberAttribute }) display?: number;\n @Input({ alias: 'id', transform: (v: string) => v || '' }) userDefinedId: string = '';\n @Input({ transform: booleanAttribute, alias: 'enable-validation' }) enableValidation? = false;\n\n @ViewChild('select') el!: ElementRef<HTMLSelectElement>;\n\n constructor(\n idService: UniqueIdService,\n @Self() @Optional() override control?: NgControl,\n ) {\n super(idService, control);\n }\n\n update(ev: EventTarget | null) {\n if (!this.disabled) {\n const t = ev as HTMLSelectElement;\n if (this.multiple) {\n const selected = Array.from(t.selectedOptions)\n .filter((o) => o.selected)\n .map((o) => o.value);\n this.setValue(selected);\n } else {\n this.setValue(t?.value);\n }\n }\n }\n\n ngAfterContentChecked(): void {\n this.onWrite(this.value);\n }\n\n override onWrite(data: string | string[]): void {\n if (this.el && this.el.nativeElement) {\n if (this.multiple) {\n if (!Array.isArray(data)) data = [data];\n const opt = Array.from(this.el.nativeElement.options);\n opt.forEach((o) => {\n o.selected = data.includes(o.value);\n });\n }\n else {\n if (data === undefined || data === null) return;\n if (Array.isArray(data) && data.length) data = data[0];\n const opt = Array.from(this.el.nativeElement.options);\n const val = opt.find((o) => o.value == data);\n if (val) val.selected = true;\n }\n }\n }\n\n @ContentChildren(OptionComponent) options!: QueryList<OptionComponent>;\n @ViewChild('projectedDisplayOptions', { read: ViewContainerRef })\n _projectedDisplayOptions!: ViewContainerRef;\n\n ngDoCheck() {\n if (this._projectedDisplayOptions && this.options) {\n for (let i = this._projectedDisplayOptions?.length; i > 0; i--) {\n this._projectedDisplayOptions.detach();\n }\n this.options.forEach((option) => {\n this._projectedDisplayOptions?.insert(option._view);\n });\n }\n }\n}\n","import {\n AfterContentInit,\n AfterViewInit,\n booleanAttribute,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n numberAttribute,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { DataTableHeaderComponent } from './dt-header.component';\nimport { DataTableRowComponent } from './dt-row.component';\nimport { Subscription } from \"rxjs\";\n\nexport interface TableDataQuery {\n pagination?: { size: number };\n sorting?: { column: string; direction: string };\n filter?: { [k: string]: number | string | boolean };\n}\n\nexport interface PaginationEvent {\n page: number;\n size: number;\n}\n\n@Component({\n selector: 'rlb-dt-table',\n templateUrl: './dt-table.component.html',\n standalone: false\n})\nexport class DataTableComponent implements OnInit, AfterViewInit, AfterContentInit, OnDestroy {\n @Input({ alias: 'title' }) title?: string;\n @Input({ alias: 'creation-strategy' }) creationStrategy: 'none' | 'modal' | 'page' = 'none';\n @Input({ alias: 'creation-url' }) creationUrl!: any[] | string | null | undefined;\n @Input({ alias: 'items' }) items!: any[];\n @Input({ alias: 'pagination-mode' }) paginationMode?: 'none' | 'load-more' | 'pages' = 'none';\n @Input({ alias: 'loading', transform: booleanAttribute }) loading?: boolean;\n @Input({ alias: 'table-hover', transform: booleanAttribute }) tableHover?: boolean;\n @Input({ alias: 'table-striped', transform: booleanAttribute }) tableStriped?: boolean = true; // default true to keep main table styling\n @Input({ alias: 'table-striped-columns', transform: booleanAttribute }) tableStripedColumns?: boolean;\n @Input({ alias: 'table-bordered', transform: booleanAttribute }) tableBordered?: boolean;\n @Input({ alias: 'table-borderless', transform: booleanAttribute }) tableBorderless?: boolean;\n @Input({ alias: 'table-small', transform: booleanAttribute }) tableSmall?: boolean;\n @Input({ alias: 'show-refresh', transform: booleanAttribute }) showRefresh?: boolean;\n @Input({ alias: 'total-items', transform: numberAttribute }) totalItems?: number;\n @Input({ alias: 'current-page', transform: numberAttribute }) currentPage?: number;\n @Input({ alias: 'page-size', transform: numberAttribute }) pageSize?: number;\n @Input() showActions: 'row' | 'head' = 'row';\n\n @Input() loadMoreLabel: string = 'Load more';\n\n @Output('create-item') createItem: EventEmitter<void> = new EventEmitter();\n @Output('refresh-item') refreshItem: EventEmitter<void> = new EventEmitter();\n @Output('load-more') loadMore: EventEmitter<void> = new EventEmitter();\n @Output('current-pageChange') currentPageChange: EventEmitter<number> = new EventEmitter();\n @Output('page-sizeChange') pageSizeChange: EventEmitter<number> = new EventEmitter();\n @Output('pagination') pagination: EventEmitter<{ page: number; size: number }> = new EventEmitter();\n\n @ViewChild('projectedDisplayColumns', { read: ViewContainerRef }) _projectedDisplayColumns!: ViewContainerRef;\n @ContentChildren(DataTableRowComponent) public rows!: QueryList<DataTableRowComponent>;\n @ContentChildren(DataTableHeaderComponent) columns!: QueryList<DataTableHeaderComponent>;\n\n private subscription: Subscription | undefined\n\n ngOnInit() {\n this.currentPage = 1;\n this.pageSize = 20;\n }\n\n get pages() {\n return Math.ceil((this.totalItems || 0) / (this.pageSize || 1));\n }\n\n get hasActions() {\n return (\n this.rows?.toArray()?.some((o) => o.hasActions) ||\n this.showActions !== 'row'\n );\n }\n\n ngAfterViewInit() {\n this._renderHeaders();\n }\n\n ngAfterContentInit() {\n this.subscription = this.columns.changes.subscribe(() => {\n this._renderHeaders()\n })\n }\n\n ngOnDestroy() {\n this.subscription?.unsubscribe()\n }\n\n private _renderHeaders() {\n if (this._projectedDisplayColumns) {\n for (let i = this._projectedDisplayColumns.length; i > 0; i--) {\n this._projectedDisplayColumns.detach();\n }\n this.columns.forEach((column) => {\n this._projectedDisplayColumns.insert(column._view);\n });\n }\n }\n\n get cols() {\n return this.columns.length + (this.showActions !== 'row' ? 1 : 0);\n }\n\n getTableClasses(): string[] {\n const classes = ['table'];\n\n if (this.tableStriped) {\n classes.push('table-striped');\n }\n\n if (this.tableStripedColumns) {\n classes.push('table-striped-columns');\n }\n\n if (this.tableHover) {\n classes.push('table-hover');\n }\n\n if (this.tableBordered) {\n classes.push('table-bordered');\n }\n\n if (this.tableBorderless) {\n classes.push('table-borderless');\n }\n\n if (this.tableSmall) {\n classes.push('table-small');\n }\n\n return classes;\n }\n\n selectSize() {\n this.currentPageChange.emit(1);\n this.pageSizeChange.emit(parseInt(this.pageSize as any));\n this.pagination.emit({ page: 1, size: this.pageSize ? parseInt(this.pageSize as any) : 20 });\n }\n\n\n selectPage(ev: MouseEvent, page: number) {\n ev?.preventDefault();\n ev?.stopPropagation();\n if (page === this.currentPage || this.loading) return;\n this.currentPageChange.emit(page);\n this.pagination.emit({ page, size: this.pageSize ? parseInt(this.pageSize as any) : 20 });\n }\n\n next(ev: MouseEvent) {\n ev?.preventDefault();\n ev?.stopPropagation();\n if (this.currentPage === this.pages || this.loading) return;\n this.currentPageChange.emit((this.currentPage || 1) + 1);\n this.pagination.emit({\n page: ((this.currentPage || 1) + 1),\n size: this.pageSize ? parseInt(this.pageSize as any) : 20\n });\n }\n\n prev(ev: MouseEvent) {\n ev?.preventDefault();\n ev?.stopPropagation();\n if (this.currentPage === 1 || this.loading) return;\n this.currentPageChange.emit((this.currentPage || 1) - 1);\n this.pagination.emit({\n page: ((this.currentPage || 1) - 1),\n size: this.pageSize ? parseInt(this.pageSize as any) : 20\n });\n }\n\n onPgWeel(ev: WheelEvent) {\n ev.preventDefault();\n const t = ev.target as HTMLElement;\n const c = t.parentElement?.parentElement\n c?.scrollBy({ left: ev.deltaY < 0 ? -15 : 15 });\n }\n}\n","<div class=\"row\" *ngIf=\"creationStrategy !== 'none' || title || showRefresh\">\n <div class=\"col\">\n <h3 *ngIf=\"title\" class=\"float-start\">{{ title }}</h3>\n <ng-container *ngIf=\"showRefresh\">\n <button type=\"button\" class=\"btn btn-outline-primary float-end mb-2 me-3\" (click)=\"refreshItem.emit()\"\n [disabled]=\"loading\">\n <i class=\"fa-solid fa-arrows-rotate\"></i>\n </button>\n </ng-container>\n <ng-container *ngIf=\"creationStrategy === 'page'\">\n <button type=\"button\" class=\"btn btn-outline-primary float-end mb-2 me-3\" [routerLink]=\"creationUrl\">\n <i class=\"fa-solid fa-plus\"></i>\n </button>\n </ng-container>\n <ng-container *ngIf=\"creationStrategy === 'modal'\">\n <button type=\"button\" class=\"btn btn-outline-primary float-end mb-2 me-3\" (click)=\"createItem.emit()\">\n <i class=\"fa-solid fa-plus\"></i>\n </button>\n </ng-container>\n </div>\n</div>\n<div class=\"table-responsive\">\n <table [ngClass]=\"getTableClasses()\">\n\t\t<thead>\n\t\t<tr>\n\t\t\t<ng-container #projectedDisplayColumns></ng-container>\n\t\t\t<th *ngIf=\"hasActions\">\n <span class=\"float-end pe-2\">\n Actions\n </span>\n\t\t\t</th>\n\t\t</tr>\n\t\t</thead>\n\t\t<tbody>\n\t\t<ng-content *ngIf=\"!loading\" select=\"rlb-dt-row\"/>\n\t\t<rlb-dt-row *ngIf=\"!loading && items?.length === 0\" class=\"text-center\">\n\t\t\t<rlb-dt-cell [col-span]=\"cols\" style=\"border: 0\">\n\t\t\t\t<ng-content select=\"rlb-dt-noitems\"/>\n\t\t\t</rlb-dt-cell>\n\t\t</rlb-dt-row>\n\t\t<rlb-dt-row *ngIf=\"loading\" class=\"text-center\">\n\t\t\t<rlb-dt-cell [col-span]=\"cols\" style=\"border: 0\">\n\t\t\t\t<ng-content select=\"rlb-dt-loading\"/>\n\t\t\t</rlb-dt-cell>\n\t\t</rlb-dt-row>\n\t\t</tbody>\n\t\t<tfoot *ngIf=\"pagination && paginationMode !== 'none'\">\n\t\t<rlb-dt-row>\n\t\t\t<rlb-dt-cell [col-span]=\"hasActions ? cols+1: cols\" style=\"border: 0\">\n\t\t\t\t<button *ngIf=\"paginationMode === 'load-more'\" type=\"button\" class=\"btn btn-primary float-end btn-sm mt-2\"\n\t\t\t\t\t\t\t\t[disabled]=\"loading\" (click)=\"loadMore.emit()\">\n\t\t\t\t\t{{ loadMoreLabel }}\n\t\t\t\t</button>\n\t\t\t\t<ng-container *ngIf=\"paginationMode === 'pages'\">\n\t\t\t\t\t<nav aria-label=\"Page navigation example\">\n\t\t\t\t\t\t<ul class=\"pagination float-end pagination-sm\">\n\t\t\t\t\t\t\t<li class=\"page-item\">\n\t\t\t\t\t\t\t\t<a class=\"page-link d-block\" [class.disabled]=\"currentPage === 1\" href=\"#\" aria-label=\"Previous\"\n\t\t\t\t\t\t\t\t\t (click)=\"prev($event)\">\n\t\t\t\t\t\t\t\t\t<span aria-hidden=\"true\">&laquo;</span>\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t<span class=\"d-flex overflow-x-hidden overflow-y-hidden\" (wheel)=\"onPgWeel($event)\"\n\t\t\t\t\t\t\t\t\t\tstyle=\"max-width: 200px;\">\n <ng-container *ngFor=\"let page of [].constructor(pages); let i = index\">\n <li class=\"page-item\" [class.active]=\"currentPage === i+1\">\n <a class=\"page-link d-block\" href=\"#\" (click)=\"selectPage($event, i+1)\">{{i+1}}</a>\n </li>\n </ng-container>\n </span>\n\t\t\t\t\t\t\t<li class=\"page-item\">\n\t\t\t\t\t\t\t\t<a class=\"page-link d-block\" [class.disabled]=\"currentPage === pages\" href=\"#\" aria-label=\"Next\"\n\t\t\t\t\t\t\t\t\t (click)=\"next($event)\">\n\t\t\t\t\t\t\t\t\t<span aria-hidden=\"true\">&raquo;</span>\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t<ul class=\"ps-0 float-end me-3\">\n\t\t\t\t\t\t\t<rlb-select size=\"small\" [(ngModel)]=\"pageSize\" (ngModelChange)=\"selectSize()\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t[disabled]=\"items.length === 0\">\n\t\t\t\t\t\t\t\t<rlb-option [value]=\"10\">10</rlb-option>\n\t\t\t\t\t\t\t\t<rlb-option [value]=\"20\">20</rlb-option>\n\t\t\t\t\t\t\t\t<rlb-option [value]=\"50\">50</rlb-option>\n\t\t\t\t\t\t\t\t<rlb-option [value]=\"100\">100</rlb-option>\n\t\t\t\t\t\t\t</rlb-select>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</nav>\n\t\t\t\t</ng-container>\n\t\t\t</rlb-dt-cell>\n\t\t</rlb-dt-row>\n\t\t</tfoot>\n\t</table>\n</div>\n","import { Component, EmbeddedViewRef, OnInit, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';\n\n@Component({\n selector: 'rlb-dt-loading',\n template: `\n <ng-template #template>\n <ng-content></ng-content>\n </ng-template>`,\n standalone: false\n})\nexport class DataTableLoadingComponent implements OnInit {\n\n element!: HTMLElement;\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n constructor(private viewContainerRef: ViewContainerRef) { }\n private temp!: EmbeddedViewRef<any>;\n\n get _view() {\n return this.temp\n }\n\n ngOnInit() {\n this.temp = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = this.temp.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import { Component, EmbeddedViewRef, OnInit, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';\n\n@Component({\n selector: 'rlb-dt-noitems',\n template: `\n <ng-template #template>\n <ng-content></ng-content>\n </ng-template>`,\n standalone: false\n})\nexport class DataTableNoItemsComponent implements OnInit {\n\n element!: HTMLElement;\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n constructor(private viewContainerRef: ViewContainerRef) { }\n private temp!: EmbeddedViewRef<any>;\n\n get _view() {\n return this.temp\n }\n\n ngOnInit() {\n this.temp = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = this.temp.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","export * from './dt-action.component';\nexport * from './dt-actions.component';\nexport * from './dt-cell.component';\nexport * from './dt-header.component';\nexport * from './dt-row.component';\nexport * from './dt-table.component';\nexport * from './dt-loading.component';\nexport * from './dt-noitems.component';\n\nimport { DataTableActionComponent } from './dt-action.component';\nimport { DataTableActionsComponent } from './dt-actions.component';\nimport { DataTableCellComponent } from './dt-cell.component';\nimport { DataTableHeaderComponent } from './dt-header.component';\nimport { DataTableLoadingComponent } from './dt-loading.component';\nimport { DataTableNoItemsComponent } from './dt-noitems.component';\nimport { DataTableRowComponent } from './dt-row.component';\nimport { DataTableComponent } from './dt-table.component';\n\nexport const TABLE = [\n DataTableActionComponent,\n DataTableActionsComponent,\n DataTableCellComponent,\n DataTableHeaderComponent,\n DataTableRowComponent,\n DataTableComponent,\n DataTableLoadingComponent,\n DataTableNoItemsComponent\n];\n","import {\n booleanAttribute,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n numberAttribute,\n Output,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { AbstractComponent } from './abstract-field.component';\nimport { AutocompleteItem } from \"./autocomplete-model\";\n\n@Component({\n\ttemplate: '',\n\tstandalone: false\n})\nexport abstract class AbstractAutocompleteComponent\n extends AbstractComponent<AutocompleteItem>\n\timplements ControlValueAccessor {\n\n\tacLoading: boolean = false;\n\tprotected typingTimeout: any; // protected, to gain access to child classes\n\tisOpen = false;\n\n\tprotected suggestionsList: AutocompleteItem[] = [];\n\tprotected activeIndex: number = -1;\n\n\t// COMMON INPUT/OUTPUT\n\t@Input({ transform: booleanAttribute, alias: 'disabled' }) disabled? = false;\n\t@Input({ transform: booleanAttribute, alias: 'readonly' }) readonly? = false;\n\t@Input({ transform: booleanAttribute, alias: 'loading' }) loading?: boolean = false;\n\t@Input({ transform: numberAttribute, alias: 'max-height' }) maxHeight?: number = 200;\n\t@Input({ alias: 'placeholder' }) placeholder?: string = '';\n\t@Input() size?: 'small' | 'large' | undefined;\n\t@Input({ alias: 'id', transform: (v: string) => v || '' }) userDefinedId: string = '';\n\t@Input({ alias: 'chars-to-search', transform: numberAttribute }) charsToSearch: number = 3;\n\n\t@ViewChild('field', { read: ElementRef, static: false }) el!: ElementRef<HTMLInputElement>;\n\t@ViewChild('autocomplete', { read: ElementRef, static: false }) dropdown!: ElementRef<HTMLElement>;\n @Output() selected: EventEmitter<AutocompleteItem> = new EventEmitter<AutocompleteItem>();\n\n protected abstract getSuggestions(query: string): void;\n\n protected abstract getItemText(data?: AutocompleteItem): string;\n\n protected constructor(\n\t\tidService: UniqueIdService,\n\t\tprotected readonly renderer: Renderer2, // protected, to gain access to child classes\n\t\tcontrol?: NgControl,\n\t) {\n\t\tsuper(idService, control);\n\t}\n\n // =========================================================================\n\t// HTML FORM LOGIC\n\t// =========================================================================\n\n override onWrite(data?: AutocompleteItem): void {\n\t\tif (this.el && this.el.nativeElement) {\n\t\t\t// this.el.nativeElement.value = this.getItemText(data);\n\t\t\tif (typeof data === 'object' && data !== null) {\n this.el.nativeElement.value = this.getItemText(data);\n\t\t\t} else {\n\t\t\t\tthis.el.nativeElement.value = '';\n\t\t\t}\n\t\t}\n\t}\n\n // =========================================================================\n\t// INPUT HANDLING\n\t// =========================================================================\n\n update(ev: EventTarget | null) {\n\t\tconst t = ev as HTMLInputElement;\n\t\tconst inputValue = t?.value || '';\n\n // this.value = inputValue as any;\n const valueToPropagate = inputValue === '' ? { text: '', value: '' } : inputValue;\n this.setValue(valueToPropagate as any);\n\n if (this.control && this.control.control) {\n\t\t\tthis.control.control.markAsDirty();\n\t\t\tthis.control.control.updateValueAndValidity();\n\t\t}\n\n if (this.typingTimeout) {\n\t\t\tclearTimeout(this.typingTimeout);\n\t\t}\n\n this.typingTimeout = setTimeout(() => {\n\t\t\tif (!this.disabled) {\n\t\t\t\tthis.getSuggestions(inputValue); // Call specific for a class\n\t\t\t}\n\t\t}, 500);\n\t}\n\n onEnter(ev: EventTarget | null) {\n\t\tconst t = ev as HTMLInputElement;\n\t\tif (!this.disabled && t && t.value) {\n\t\t\t//this.setValue(t?.value);\n\t\t\tthis.closeDropdown();\n\t\t}\n\t}\n\n // =========================================================================\n\t// COMMON NAVIGATE AND SELECT LOGIC\n\t// =========================================================================\n\n @HostListener('document:keydown', ['$event'])\n\tonKeyDown(event: KeyboardEvent) {\n\t\tif (!this.isOpen || this.suggestionsList.length === 0) {\n\t\t\tif (event.key === 'Enter') {\n\t\t\t\tthis.onEnter(this.el?.nativeElement);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n switch (event.key) {\n\t\t\tcase 'ArrowDown':\n\t\t\t\tevent.preventDefault();\n\t\t\t\tthis.navigate(1);\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowUp':\n\t\t\t\tevent.preventDefault();\n\t\t\t\tthis.navigate(-1);\n\t\t\t\tbreak;\n\t\t\tcase 'Enter':\n\t\t\t\tevent.preventDefault();\n\t\t\t\tthis.selectActiveItem();\n\t\t\t\tbreak;\n\t\t\tcase 'Escape':\n\t\t\t\tthis.closeDropdown();\n\t\t\t\tthis.el?.nativeElement?.blur();\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n navigate(step: 1 | -1) {\n\t\tlet newIndex = this.activeIndex + step;\n\n if (newIndex >= this.suggestionsList.length) {\n\t\t\tnewIndex = 0;\n\t\t} else if (newIndex < 0) {\n\t\t\tnewIndex = this.suggestionsList.length - 1;\n\t\t}\n\n this.setActiveItem(newIndex);\n\t}\n\n setActiveItem(index: number) {\n\t\tif (this.activeIndex !== -1 && this.dropdown.nativeElement.children[this.activeIndex]) {\n\t\t\tconst oldItem = this.dropdown.nativeElement.children[this.activeIndex];\n\t\t\tthis.renderer.removeClass(oldItem, 'active');\n\t\t}\n\n this.activeIndex = index;\n\n if (this.activeIndex !== -1 && this.dropdown.nativeElement.children[this.activeIndex]) {\n\t\t\tconst newItem = this.dropdown.nativeElement.children[this.activeIndex];\n\t\t\tthis.renderer.addClass(newItem, 'active');\n\t\t\tnewItem.scrollIntoView({ block: 'nearest' });\n\t\t}\n\t}\n\n selectActiveItem() {\n\t\tif (this.activeIndex !== -1) {\n\t\t\tconst itemData = this.suggestionsList[this.activeIndex];\n\t\t\tthis.selected.emit(itemData);\n\n this.setValue(itemData);\n\n if (this.el && this.el.nativeElement) {\n\t\t\t\tthis.el.nativeElement.value = itemData.text;\n\t\t\t}\n\n if (this.typingTimeout) {\n\t\t\t\tclearTimeout(this.typingTimeout);\n\t\t\t}\n\n this.closeDropdown();\n\t\t} else {\n\t\t\tthis.onEnter(this.el?.nativeElement);\n\t\t}\n\t}\n\n // =========================================================================\n\t// DROPDOWN MANAGEMENT (COMMON)\n\t// =========================================================================\n\n openDropdown() {\n\t\tif (!this.dropdown || !this.dropdown.nativeElement || this.isOpen) return;\n\t\tthis.renderer.setStyle(this.dropdown.nativeElement, 'display', 'block');\n\t\t// this.renderer.addClass(this.dropdown.nativeElement, 'show');\n\t\tthis.isOpen = true;\n\t}\n\n closeDropdown() {\n\t\tif (!this.dropdown || !this.dropdown.nativeElement || !this.isOpen) return;\n\t\tthis.renderer.setStyle(this.dropdown.nativeElement, 'display', 'none');\n\t\tthis.isOpen = false;\n\t\tthis.clearDropdown();\n\t\tthis.acLoading = false;\n\t\tthis.activeIndex = -1;\n\t\tthis.suggestionsList = [];\n\t}\n\n clearDropdown() {\n\t\tif (!this.dropdown || !this.dropdown.nativeElement) return;\n\t\twhile (this.dropdown.nativeElement.firstChild) {\n\t\t\tthis.dropdown.nativeElement.removeChild(this.dropdown.nativeElement.lastChild!);\n\t\t}\n\t}\n\n // protected setValueSilent(val: string) {\n\t// \tthis.value = val as any;\n\t//\n\t// \tif (this.control && this.control.control) {\n\t// \t\tthis.control.control.setValue(val, { emitEvent: false });\n\t// \t}\n\t// }\n\n protected renderAc(suggestions: Array<AutocompleteItem | string>) {\n\t\tif (!this.dropdown || !this.dropdown.nativeElement) return;\n\t\tthis.clearDropdown();\n\t\tthis.suggestionsList = [];\n\t\tthis.activeIndex = -1;\n\n const normalizedSuggestions = suggestions.map(suggestion =>\n\t\t\ttypeof suggestion === 'string' ? { text: suggestion, value: suggestion } : suggestion\n\t\t);\n\n this.suggestionsList = normalizedSuggestions;\n\n if (!this.suggestionsList || this.suggestionsList.length === 0) {\n\t\t\tconst el = this.renderer.createElement('a');\n\t\t\tthis.renderer.addClass(el, 'dropdown-item');\n\t\t\tthis.renderer.addClass(el, 'disabled');\n\t\t\tthis.renderer.addClass(el, 'text-center');\n\t\t\tthis.renderer.setAttribute(el, 'disabled', 'true');\n\t\t\tthis.renderer.appendChild(el, this.renderer.createText('No suggestions'));\n\t\t\tthis.renderer.appendChild(this.dropdown.nativeElement, el);\n\t\t\treturn;\n\t\t}\n\n for (let i = 0; i < this.suggestionsList.length; i++) {\n\t\t\tconst itemData = this.suggestionsList[i];\n\n const el = this.renderer.createElement('a');\n\t\t\tthis.renderer.addClass(el, 'dropdown-item');\n\n if (itemData.iconClass) {\n\t\t\t\tconst icon = this.renderer.createElement('i');\n\n const classes = itemData.iconClass.split(/\\s+/);\n\t\t\t\tfor (const cls of classes) {\n\t\t\t\t\tif (cls) {\n\t\t\t\t\t\t// Angular renderer.addClass() method DOES NOT support expression like this: this.renderer.addClass(icon, 'bi bi-check')\n\t\t\t\t\t\t// it causes silent runtime error\n\t\t\t\t\t\t// Instead we should split it, and add one by one\n\t\t\t\t\t\tthis.renderer.addClass(icon, cls);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.renderer.addClass(icon, 'me-2');\n\t\t\t\tthis.renderer.appendChild(el, icon);\n\t\t\t}\n\n this.renderer.appendChild(el, this.renderer.createText(itemData.text));\n\n this.renderer.listen(el, 'click', (ev: Event) => {\n\t\t\t\tthis.activeIndex = i;\n\t\t\t\tthis.selectActiveItem();\n\t\t\t\tev.stopPropagation();\n\t\t\t});\n\t\t\tthis.renderer.appendChild(this.dropdown.nativeElement, el);\n\t\t}\n\t}\n}\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\nimport { AutocompleteItem } from \"../inputs\";\n\nexport function requiredAutocompleteValue(): ValidatorFn {\n\treturn (control: AbstractControl): ValidationErrors | null => {\n\t\tconst value = control.value;\n\t\t\n\t\tif (value === null || value === undefined) {\n\t\t\treturn { required: true };\n\t\t}\n\t\t\n\t\tif (typeof value === 'object' && value !== null && 'value' in value) {\n\t\t\tconst item = value as AutocompleteItem;\n\t\t\tif (item.value === null || item.value === undefined || item.value.trim() === '') {\n\t\t\t\treturn { required: true };\n\t\t\t}\n\t\t} else if (typeof value === 'string') {\n\t\t\tif (value.trim() === '') {\n\t\t\t\treturn { required: true };\n\t\t\t}\n\t\t}\n\t\t\n\t\treturn null;\n\t};\n}","import { booleanAttribute, Component, Input, Optional, Renderer2, Self } from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { AutocompleteItem } from \"./autocomplete-model\";\nimport { AbstractAutocompleteComponent } from \"./abstract-autocomplete.component\";\n\n@Component({\n selector: 'rlb-autocomplete-country-dial-code',\n template: `\n <ng-content select=\"[before]\"></ng-content>\n <div class=\"input-group has-validation\">\n <input\n #field\n [id]=\"id\"\n class=\"form-control\"\n type=\"text\"\n\t\t\t\t[attr.autocomplete]=\"'off'\"\n\t\t\t\t[attr.disabled]=\"disabled ? true : undefined\"\n [attr.readonly]=\"readonly ? true : undefined\"\n [attr.placeholder]=\"placeholder\"\n [class.form-control-lg]=\"size === 'large'\"\n [class.form-control-sm]=\"size === 'small'\"\n (blur)=\"touch()\"\n\t\t\t\t[ngClass]=\"{\n 'is-invalid': control?.touched && control?.invalid,\n 'is-valid': control?.touched && control?.valid\n }\"\n (input)=\"update($event.target)\"\n />\n\t\t\t<rlb-input-validation *ngIf=\"errors && showError\" [errors]=\"errors\"/>\n\t\t</div>\n\t\t<rlb-progress\n\t\t\t*ngIf=\"loading || acLoading\"\n\t\t\t[height]=\"2\"\n\t\t\t[infinite]=\"loading || acLoading\"\n\t\t\tcolor=\"primary\"\n\t\t\tclass=\"w-100\"\n\t\t/>\n <ng-content select=\"[after]\"></ng-content>\n <div\n #autocomplete\n [id]=\"id+'-ac'\"\n class=\"dropdown-menu overflow-y-auto w-100 position-relative\"\n aria-labelledby=\"dropdownMenu\"\n [style.max-height.px]=\"maxHeight\">\n </div>\n `,\n standalone: false\n})\nexport class AutocompleteCountryDialCodeComponent\n\textends AbstractAutocompleteComponent\n implements ControlValueAccessor {\n\t\n\t@Input({ transform: booleanAttribute, alias: 'enable-flag-icons' }) enableFlagIcons?: boolean = true;\n\t\n\tconstructor(\n\t\tidService: UniqueIdService,\n\t\trenderer: Renderer2,\n\t\t@Self() @Optional() override control?: NgControl,\n\t) {\n\t\tsuper(idService, renderer, control);\n\t}\n\t\n\tprotected override getSuggestions(query: string) {\n\t\tthis.clearDropdown();\n\t\tthis.activeIndex = -1;\n\t\t\n\t\tif (query && query.length > 0) {\n\t\t\tthis.openDropdown();\n\t\t\tconst suggestions = this.getCountries().filter(o => {\n\t\t\t\tconst _c = o as { text: string, value: string; };\n\t\t\t\treturn _c.text.toLowerCase().startsWith(query.toLowerCase());\n\t\t\t});\n\t\t\tthis.renderAc(suggestions);\n\t\t} else {\n\t\t\tthis.closeDropdown();\n\t\t}\n\t}\n\t\n\tprotected override getItemText(data?: AutocompleteItem | string): string {\n\t\tconst h = this.getCountries().find(c => {\n\t\t\tif (typeof c === 'object') {\n\t\t\t\tconst _c = c as { text: string, value: string; };\n\t\t\t\treturn _c.value === (typeof data === 'object' ? data?.value : data) ? _c.text : '';\n\t\t\t}\n\t\t\treturn false;\n\t\t});\n\t\treturn (typeof h === 'object' ? h.text : '');\n\t}\n\t\n\tgetCountries(): AutocompleteItem[] {\n\t\tif (this.enableFlagIcons) {\n\t\t\treturn this._countries.map((country) => {\n\t\t\t\treturn {\n\t\t\t\t\t...country,\n\t\t\t\t\ticonClass: `fi fi-${country.data.toLowerCase()}`,\n\t\t\t\t}\n\t\t\t})\n\t\t} else {\n\t\t\treturn this._countries;\n\t\t}\n\t}\n\t\n\tprivate _countries: AutocompleteItem[] = [\n\t\t{\n\t\t\t\"text\": \"Afghanistan\",\n\t\t\t\"value\": \"+93\",\n\t\t\t\"data\": \"AF\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Aland Islands\",\n\t\t\t\"value\": \"+358\",\n\t\t\t\"data\": \"AX\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Albania\",\n\t\t\t\"value\": \"+355\",\n\t\t\t\"data\": \"AL\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Algeria\",\n\t\t\t\"value\": \"+213\",\n\t\t\t\"data\": \"DZ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"AmericanSamoa\",\n\t\t\t\"value\": \"+1684\",\n\t\t\t\"data\": \"AS\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Andorra\",\n\t\t\t\"value\": \"+376\",\n\t\t\t\"data\": \"AD\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Angola\",\n\t\t\t\"value\": \"+244\",\n\t\t\t\"data\": \"AO\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Anguilla\",\n\t\t\t\"value\": \"+1264\",\n\t\t\t\"data\": \"AI\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Antarctica\",\n\t\t\t\"value\": \"+672\",\n\t\t\t\"data\": \"AQ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Antigua and Barbuda\",\n\t\t\t\"value\": \"+1268\",\n\t\t\t\"data\": \"AG\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Argentina\",\n\t\t\t\"value\": \"+54\",\n\t\t\t\"data\": \"AR\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Armenia\",\n\t\t\t\"value\": \"+374\",\n\t\t\t\"data\": \"AM\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Aruba\",\n\t\t\t\"value\": \"+297\",\n\t\t\t\"data\": \"AW\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Australia\",\n\t\t\t\"value\": \"+61\",\n\t\t\t\"data\": \"AU\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Austria\",\n\t\t\t\"value\": \"+43\",\n\t\t\t\"data\": \"AT\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Azerbaijan\",\n\t\t\t\"value\": \"+994\",\n\t\t\t\"data\": \"AZ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Bahamas\",\n\t\t\t\"value\": \"+1242\",\n\t\t\t\"data\": \"BS\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Bahrain\",\n\t\t\t\"value\": \"+973\",\n\t\t\t\"data\": \"BH\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Bangladesh\",\n\t\t\t\"value\": \"+880\",\n\t\t\t\"data\": \"BD\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Barbados\",\n\t\t\t\"value\": \"+1246\",\n\t\t\t\"data\": \"BB\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Belarus\",\n\t\t\t\"value\": \"+375\",\n\t\t\t\"data\": \"BY\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Belgium\",\n\t\t\t\"value\": \"+32\",\n\t\t\t\"data\": \"BE\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Belize\",\n\t\t\t\"value\": \"+501\",\n\t\t\t\"data\": \"BZ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Benin\",\n\t\t\t\"value\": \"+229\",\n\t\t\t\"data\": \"BJ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Bermuda\",\n\t\t\t\"value\": \"+1441\",\n\t\t\t\"data\": \"BM\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Bhutan\",\n\t\t\t\"value\": \"+975\",\n\t\t\t\"data\": \"BT\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Bolivia, Plurinational State of\",\n\t\t\t\"value\": \"+591\",\n\t\t\t\"data\": \"BO\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Bosnia and Herzegovina\",\n\t\t\t\"value\": \"+387\",\n\t\t\t\"data\": \"BA\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Botswana\",\n\t\t\t\"value\": \"+267\",\n\t\t\t\"data\": \"BW\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Brazil\",\n\t\t\t\"value\": \"+55\",\n\t\t\t\"data\": \"BR\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"British Indian Ocean Territory\",\n\t\t\t\"value\": \"+246\",\n\t\t\t\"data\": \"IO\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Brunei Darussalam\",\n\t\t\t\"value\": \"+673\",\n\t\t\t\"data\": \"BN\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Bulgaria\",\n\t\t\t\"value\": \"+359\",\n\t\t\t\"data\": \"BG\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Burkina Faso\",\n\t\t\t\"value\": \"+226\",\n\t\t\t\"data\": \"BF\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Burundi\",\n\t\t\t\"value\": \"+257\",\n\t\t\t\"data\": \"BI\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Cambodia\",\n\t\t\t\"value\": \"+855\",\n\t\t\t\"data\": \"KH\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Cameroon\",\n\t\t\t\"value\": \"+237\",\n\t\t\t\"data\": \"CM\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Canada\",\n\t\t\t\"value\": \"+1\",\n\t\t\t\"data\": \"CA\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Cape Verde\",\n\t\t\t\"value\": \"+238\",\n\t\t\t\"data\": \"CV\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Cayman Islands\",\n\t\t\t\"value\": \"+ 345\",\n\t\t\t\"data\": \"KY\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Central African Republic\",\n\t\t\t\"value\": \"+236\",\n\t\t\t\"data\": \"CF\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Chad\",\n\t\t\t\"value\": \"+235\",\n\t\t\t\"data\": \"TD\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Chile\",\n\t\t\t\"value\": \"+56\",\n\t\t\t\"data\": \"CL\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"China\",\n\t\t\t\"value\": \"+86\",\n\t\t\t\"data\": \"CN\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Christmas Island\",\n\t\t\t\"value\": \"+61\",\n\t\t\t\"data\": \"CX\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Cocos (Keeling) Islands\",\n\t\t\t\"value\": \"+61\",\n\t\t\t\"data\": \"CC\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Colombia\",\n\t\t\t\"value\": \"+57\",\n\t\t\t\"data\": \"CO\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Comoros\",\n\t\t\t\"value\": \"+269\",\n\t\t\t\"data\": \"KM\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Congo\",\n\t\t\t\"value\": \"+242\",\n\t\t\t\"data\": \"CG\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Congo, The Democratic Republic of the Congo\",\n\t\t\t\"value\": \"+243\",\n\t\t\t\"data\": \"CD\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Cook Islands\",\n\t\t\t\"value\": \"+682\",\n\t\t\t\"data\": \"CK\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Costa Rica\",\n\t\t\t\"value\": \"+506\",\n\t\t\t\"data\": \"CR\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Cote d'Ivoire\",\n\t\t\t\"value\": \"+225\",\n\t\t\t\"data\": \"CI\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Croatia\",\n\t\t\t\"value\": \"+385\",\n\t\t\t\"data\": \"HR\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Cuba\",\n\t\t\t\"value\": \"+53\",\n\t\t\t\"data\": \"CU\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Cyprus\",\n\t\t\t\"value\": \"+357\",\n\t\t\t\"data\": \"CY\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Czech Republic\",\n\t\t\t\"value\": \"+420\",\n\t\t\t\"data\": \"CZ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Denmark\",\n\t\t\t\"value\": \"+45\",\n\t\t\t\"data\": \"DK\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Djibouti\",\n\t\t\t\"value\": \"+253\",\n\t\t\t\"data\": \"DJ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Dominica\",\n\t\t\t\"value\": \"+1767\",\n\t\t\t\"data\": \"DM\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Dominican Republic\",\n\t\t\t\"value\": \"+1849\",\n\t\t\t\"data\": \"DO\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Ecuador\",\n\t\t\t\"value\": \"+593\",\n\t\t\t\"data\": \"EC\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Egypt\",\n\t\t\t\"value\": \"+20\",\n\t\t\t\"data\": \"EG\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"El Salvador\",\n\t\t\t\"value\": \"+503\",\n\t\t\t\"data\": \"SV\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Equatorial Guinea\",\n\t\t\t\"value\": \"+240\",\n\t\t\t\"data\": \"GQ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Eritrea\",\n\t\t\t\"value\": \"+291\",\n\t\t\t\"data\": \"ER\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Estonia\",\n\t\t\t\"value\": \"+372\",\n\t\t\t\"data\": \"EE\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Ethiopia\",\n\t\t\t\"value\": \"+251\",\n\t\t\t\"data\": \"ET\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Falkland Islands (Malvinas)\",\n\t\t\t\"value\": \"+500\",\n\t\t\t\"data\": \"FK\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Faroe Islands\",\n\t\t\t\"value\": \"+298\",\n\t\t\t\"data\": \"FO\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Fiji\",\n\t\t\t\"value\": \"+679\",\n\t\t\t\"data\": \"FJ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Finland\",\n\t\t\t\"value\": \"+358\",\n\t\t\t\"data\": \"FI\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"France\",\n\t\t\t\"value\": \"+33\",\n\t\t\t\"data\": \"FR\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"French Guiana\",\n\t\t\t\"value\": \"+594\",\n\t\t\t\"data\": \"GF\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"French Polynesia\",\n\t\t\t\"value\": \"+689\",\n\t\t\t\"data\": \"PF\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Gabon\",\n\t\t\t\"value\": \"+241\",\n\t\t\t\"data\": \"GA\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Gambia\",\n\t\t\t\"value\": \"+220\",\n\t\t\t\"data\": \"GM\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Georgia\",\n\t\t\t\"value\": \"+995\",\n\t\t\t\"data\": \"GE\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Germany\",\n\t\t\t\"value\": \"+49\",\n\t\t\t\"data\": \"DE\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Ghana\",\n\t\t\t\"value\": \"+233\",\n\t\t\t\"data\": \"GH\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Gibraltar\",\n\t\t\t\"value\": \"+350\",\n\t\t\t\"data\": \"GI\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Greece\",\n\t\t\t\"value\": \"+30\",\n\t\t\t\"data\": \"GR\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Greenland\",\n\t\t\t\"value\": \"+299\",\n\t\t\t\"data\": \"GL\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Grenada\",\n\t\t\t\"value\": \"+1473\",\n\t\t\t\"data\": \"GD\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Guadeloupe\",\n\t\t\t\"value\": \"+590\",\n\t\t\t\"data\": \"GP\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Guam\",\n\t\t\t\"value\": \"+1671\",\n\t\t\t\"data\": \"GU\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Guatemala\",\n\t\t\t\"value\": \"+502\",\n\t\t\t\"data\": \"GT\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Guernsey\",\n\t\t\t\"value\": \"+44\",\n\t\t\t\"data\": \"GG\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Guinea\",\n\t\t\t\"value\": \"+224\",\n\t\t\t\"data\": \"GN\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Guinea-Bissau\",\n\t\t\t\"value\": \"+245\",\n\t\t\t\"data\": \"GW\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Guyana\",\n\t\t\t\"value\": \"+595\",\n\t\t\t\"data\": \"GY\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Haiti\",\n\t\t\t\"value\": \"+509\",\n\t\t\t\"data\": \"HT\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Holy See (Vatican City State)\",\n\t\t\t\"value\": \"+379\",\n\t\t\t\"data\": \"VA\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Honduras\",\n\t\t\t\"value\": \"+504\",\n\t\t\t\"data\": \"HN\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Hong Kong\",\n\t\t\t\"value\": \"+852\",\n\t\t\t\"data\": \"HK\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Hungary\",\n\t\t\t\"value\": \"+36\",\n\t\t\t\"data\": \"HU\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Iceland\",\n\t\t\t\"value\": \"+354\",\n\t\t\t\"data\": \"IS\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"India\",\n\t\t\t\"value\": \"+91\",\n\t\t\t\"data\": \"IN\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Indonesia\",\n\t\t\t\"value\": \"+62\",\n\t\t\t\"data\": \"ID\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Iran, Islamic Republic of Persian Gulf\",\n\t\t\t\"value\": \"+98\",\n\t\t\t\"data\": \"IR\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Iraq\",\n\t\t\t\"value\": \"+964\",\n\t\t\t\"data\": \"IQ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Ireland\",\n\t\t\t\"value\": \"+353\",\n\t\t\t\"data\": \"IE\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Isle of Man\",\n\t\t\t\"value\": \"+44\",\n\t\t\t\"data\": \"IM\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Israel\",\n\t\t\t\"value\": \"+972\",\n\t\t\t\"data\": \"IL\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Italy\",\n\t\t\t\"value\": \"+39\",\n\t\t\t\"data\": \"IT\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Jamaica\",\n\t\t\t\"value\": \"+1876\",\n\t\t\t\"data\": \"JM\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Japan\",\n\t\t\t\"value\": \"+81\",\n\t\t\t\"data\": \"JP\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Jersey\",\n\t\t\t\"value\": \"+44\",\n\t\t\t\"data\": \"JE\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Jordan\",\n\t\t\t\"value\": \"+962\",\n\t\t\t\"data\": \"JO\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Kazakhstan\",\n\t\t\t\"value\": \"+77\",\n\t\t\t\"data\": \"KZ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Kenya\",\n\t\t\t\"value\": \"+254\",\n\t\t\t\"data\": \"KE\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Kiribati\",\n\t\t\t\"value\": \"+686\",\n\t\t\t\"data\": \"KI\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Korea, Democratic People's Republic of Korea\",\n\t\t\t\"value\": \"+850\",\n\t\t\t\"data\": \"KP\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Korea, Republic of South Korea\",\n\t\t\t\"value\": \"+82\",\n\t\t\t\"data\": \"KR\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Kuwait\",\n\t\t\t\"value\": \"+965\",\n\t\t\t\"data\": \"KW\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Kyrgyzstan\",\n\t\t\t\"value\": \"+996\",\n\t\t\t\"data\": \"KG\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Laos\",\n\t\t\t\"value\": \"+856\",\n\t\t\t\"data\": \"LA\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Latvia\",\n\t\t\t\"value\": \"+371\",\n\t\t\t\"data\": \"LV\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Lebanon\",\n\t\t\t\"value\": \"+961\",\n\t\t\t\"data\": \"LB\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Lesotho\",\n\t\t\t\"value\": \"+266\",\n\t\t\t\"data\": \"LS\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Liberia\",\n\t\t\t\"value\": \"+231\",\n\t\t\t\"data\": \"LR\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Libyan Arab Jamahiriya\",\n\t\t\t\"value\": \"+218\",\n\t\t\t\"data\": \"LY\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Liechtenstein\",\n\t\t\t\"value\": \"+423\",\n\t\t\t\"data\": \"LI\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Lithuania\",\n\t\t\t\"value\": \"+370\",\n\t\t\t\"data\": \"LT\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Luxembourg\",\n\t\t\t\"value\": \"+352\",\n\t\t\t\"data\": \"LU\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Macao\",\n\t\t\t\"value\": \"+853\",\n\t\t\t\"data\": \"MO\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Macedonia\",\n\t\t\t\"value\": \"+389\",\n\t\t\t\"data\": \"MK\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Madagascar\",\n\t\t\t\"value\": \"+261\",\n\t\t\t\"data\": \"MG\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Malawi\",\n\t\t\t\"value\": \"+265\",\n\t\t\t\"data\": \"MW\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Malaysia\",\n\t\t\t\"value\": \"+60\",\n\t\t\t\"data\": \"MY\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Maldives\",\n\t\t\t\"value\": \"+960\",\n\t\t\t\"data\": \"MV\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Mali\",\n\t\t\t\"value\": \"+223\",\n\t\t\t\"data\": \"ML\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Malta\",\n\t\t\t\"value\": \"+356\",\n\t\t\t\"data\": \"MT\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Marshall Islands\",\n\t\t\t\"value\": \"+692\",\n\t\t\t\"data\": \"MH\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Martinique\",\n\t\t\t\"value\": \"+596\",\n\t\t\t\"data\": \"MQ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Mauritania\",\n\t\t\t\"value\": \"+222\",\n\t\t\t\"data\": \"MR\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Mauritius\",\n\t\t\t\"value\": \"+230\",\n\t\t\t\"data\": \"MU\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Mayotte\",\n\t\t\t\"value\": \"+262\",\n\t\t\t\"data\": \"YT\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Mexico\",\n\t\t\t\"value\": \"+52\",\n\t\t\t\"data\": \"MX\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Micronesia, Federated States of Micronesia\",\n\t\t\t\"value\": \"+691\",\n\t\t\t\"data\": \"FM\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Moldova\",\n\t\t\t\"value\": \"+373\",\n\t\t\t\"data\": \"MD\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Monaco\",\n\t\t\t\"value\": \"+377\",\n\t\t\t\"data\": \"MC\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Mongolia\",\n\t\t\t\"value\": \"+976\",\n\t\t\t\"data\": \"MN\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Montenegro\",\n\t\t\t\"value\": \"+382\",\n\t\t\t\"data\": \"ME\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Montserrat\",\n\t\t\t\"value\": \"+1664\",\n\t\t\t\"data\": \"MS\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Morocco\",\n\t\t\t\"value\": \"+212\",\n\t\t\t\"data\": \"MA\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Mozambique\",\n\t\t\t\"value\": \"+258\",\n\t\t\t\"data\": \"MZ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Myanmar\",\n\t\t\t\"value\": \"+95\",\n\t\t\t\"data\": \"MM\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Namibia\",\n\t\t\t\"value\": \"+264\",\n\t\t\t\"data\": \"NA\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Nauru\",\n\t\t\t\"value\": \"+674\",\n\t\t\t\"data\": \"NR\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Nepal\",\n\t\t\t\"value\": \"+977\",\n\t\t\t\"data\": \"NP\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Netherlands\",\n\t\t\t\"value\": \"+31\",\n\t\t\t\"data\": \"NL\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Netherlands Antilles\",\n\t\t\t\"value\": \"+599\",\n\t\t\t\"data\": \"AN\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"New Caledonia\",\n\t\t\t\"value\": \"+687\",\n\t\t\t\"data\": \"NC\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"New Zealand\",\n\t\t\t\"value\": \"+64\",\n\t\t\t\"data\": \"NZ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Nicaragua\",\n\t\t\t\"value\": \"+505\",\n\t\t\t\"data\": \"NI\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Niger\",\n\t\t\t\"value\": \"+227\",\n\t\t\t\"data\": \"NE\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Nigeria\",\n\t\t\t\"value\": \"+234\",\n\t\t\t\"data\": \"NG\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Niue\",\n\t\t\t\"value\": \"+683\",\n\t\t\t\"data\": \"NU\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Norfolk Island\",\n\t\t\t\"value\": \"+672\",\n\t\t\t\"data\": \"NF\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Northern Mariana Islands\",\n\t\t\t\"value\": \"+1670\",\n\t\t\t\"data\": \"MP\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Norway\",\n\t\t\t\"value\": \"+47\",\n\t\t\t\"data\": \"NO\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Oman\",\n\t\t\t\"value\": \"+968\",\n\t\t\t\"data\": \"OM\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Pakistan\",\n\t\t\t\"value\": \"+92\",\n\t\t\t\"data\": \"PK\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Palau\",\n\t\t\t\"value\": \"+680\",\n\t\t\t\"data\": \"PW\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Palestinian Territory, Occupied\",\n\t\t\t\"value\": \"+970\",\n\t\t\t\"data\": \"PS\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Panama\",\n\t\t\t\"value\": \"+507\",\n\t\t\t\"data\": \"PA\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Papua New Guinea\",\n\t\t\t\"value\": \"+675\",\n\t\t\t\"data\": \"PG\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Paraguay\",\n\t\t\t\"value\": \"+595\",\n\t\t\t\"data\": \"PY\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Peru\",\n\t\t\t\"value\": \"+51\",\n\t\t\t\"data\": \"PE\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Philippines\",\n\t\t\t\"value\": \"+63\",\n\t\t\t\"data\": \"PH\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Pitcairn\",\n\t\t\t\"value\": \"+872\",\n\t\t\t\"data\": \"PN\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Poland\",\n\t\t\t\"value\": \"+48\",\n\t\t\t\"data\": \"PL\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Portugal\",\n\t\t\t\"value\": \"+351\",\n\t\t\t\"data\": \"PT\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Puerto Rico\",\n\t\t\t\"value\": \"+1939\",\n\t\t\t\"data\": \"PR\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Qatar\",\n\t\t\t\"value\": \"+974\",\n\t\t\t\"data\": \"QA\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Romania\",\n\t\t\t\"value\": \"+40\",\n\t\t\t\"data\": \"RO\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Russia\",\n\t\t\t\"value\": \"+7\",\n\t\t\t\"data\": \"RU\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Rwanda\",\n\t\t\t\"value\": \"+250\",\n\t\t\t\"data\": \"RW\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Reunion\",\n\t\t\t\"value\": \"+262\",\n\t\t\t\"data\": \"RE\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Saint Barthelemy\",\n\t\t\t\"value\": \"+590\",\n\t\t\t\"data\": \"BL\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Saint Helena, Ascension and Tristan Da Cunha\",\n\t\t\t\"value\": \"+290\",\n\t\t\t\"data\": \"SH\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Saint Kitts and Nevis\",\n\t\t\t\"value\": \"+1869\",\n\t\t\t\"data\": \"KN\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Saint Lucia\",\n\t\t\t\"value\": \"+1758\",\n\t\t\t\"data\": \"LC\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Saint Martin\",\n\t\t\t\"value\": \"+590\",\n\t\t\t\"data\": \"MF\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Saint Pierre and Miquelon\",\n\t\t\t\"value\": \"+508\",\n\t\t\t\"data\": \"PM\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Saint Vincent and the Grenadines\",\n\t\t\t\"value\": \"+1784\",\n\t\t\t\"data\": \"VC\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Samoa\",\n\t\t\t\"value\": \"+685\",\n\t\t\t\"data\": \"WS\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"San Marino\",\n\t\t\t\"value\": \"+378\",\n\t\t\t\"data\": \"SM\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Sao Tome and Principe\",\n\t\t\t\"value\": \"+239\",\n\t\t\t\"data\": \"ST\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Saudi Arabia\",\n\t\t\t\"value\": \"+966\",\n\t\t\t\"data\": \"SA\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Senegal\",\n\t\t\t\"value\": \"+221\",\n\t\t\t\"data\": \"SN\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Serbia\",\n\t\t\t\"value\": \"+381\",\n\t\t\t\"data\": \"RS\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Seychelles\",\n\t\t\t\"value\": \"+248\",\n\t\t\t\"data\": \"SC\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Sierra Leone\",\n\t\t\t\"value\": \"+232\",\n\t\t\t\"data\": \"SL\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Singapore\",\n\t\t\t\"value\": \"+65\",\n\t\t\t\"data\": \"SG\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Slovakia\",\n\t\t\t\"value\": \"+421\",\n\t\t\t\"data\": \"SK\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Slovenia\",\n\t\t\t\"value\": \"+386\",\n\t\t\t\"data\": \"SI\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Solomon Islands\",\n\t\t\t\"value\": \"+677\",\n\t\t\t\"data\": \"SB\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Somalia\",\n\t\t\t\"value\": \"+252\",\n\t\t\t\"data\": \"SO\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"South Africa\",\n\t\t\t\"value\": \"+27\",\n\t\t\t\"data\": \"ZA\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"South Sudan\",\n\t\t\t\"value\": \"+211\",\n\t\t\t\"data\": \"SS\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"South Georgia and the South Sandwich Islands\",\n\t\t\t\"value\": \"+500\",\n\t\t\t\"data\": \"GS\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Spain\",\n\t\t\t\"value\": \"+34\",\n\t\t\t\"data\": \"ES\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Sri Lanka\",\n\t\t\t\"value\": \"+94\",\n\t\t\t\"data\": \"LK\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Sudan\",\n\t\t\t\"value\": \"+249\",\n\t\t\t\"data\": \"SD\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Suriname\",\n\t\t\t\"value\": \"+597\",\n\t\t\t\"data\": \"SR\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Svalbard and Jan Mayen\",\n\t\t\t\"value\": \"+47\",\n\t\t\t\"data\": \"SJ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Swaziland\",\n\t\t\t\"value\": \"+268\",\n\t\t\t\"data\": \"SZ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Sweden\",\n\t\t\t\"value\": \"+46\",\n\t\t\t\"data\": \"SE\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Switzerland\",\n\t\t\t\"value\": \"+41\",\n\t\t\t\"data\": \"CH\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Syrian Arab Republic\",\n\t\t\t\"value\": \"+963\",\n\t\t\t\"data\": \"SY\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Taiwan\",\n\t\t\t\"value\": \"+886\",\n\t\t\t\"data\": \"TW\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Tajikistan\",\n\t\t\t\"value\": \"+992\",\n\t\t\t\"data\": \"TJ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Tanzania, United Republic of Tanzania\",\n\t\t\t\"value\": \"+255\",\n\t\t\t\"data\": \"TZ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Thailand\",\n\t\t\t\"value\": \"+66\",\n\t\t\t\"data\": \"TH\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Timor-Leste\",\n\t\t\t\"value\": \"+670\",\n\t\t\t\"data\": \"TL\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Togo\",\n\t\t\t\"value\": \"+228\",\n\t\t\t\"data\": \"TG\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Tokelau\",\n\t\t\t\"value\": \"+690\",\n\t\t\t\"data\": \"TK\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Tonga\",\n\t\t\t\"value\": \"+676\",\n\t\t\t\"data\": \"TO\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Trinidad and Tobago\",\n\t\t\t\"value\": \"+1868\",\n\t\t\t\"data\": \"TT\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Tunisia\",\n\t\t\t\"value\": \"+216\",\n\t\t\t\"data\": \"TN\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Turkey\",\n\t\t\t\"value\": \"+90\",\n\t\t\t\"data\": \"TR\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Turkmenistan\",\n\t\t\t\"value\": \"+993\",\n\t\t\t\"data\": \"TM\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Turks and Caicos Islands\",\n\t\t\t\"value\": \"+1649\",\n\t\t\t\"data\": \"TC\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Tuvalu\",\n\t\t\t\"value\": \"+688\",\n\t\t\t\"data\": \"TV\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Uganda\",\n\t\t\t\"value\": \"+256\",\n\t\t\t\"data\": \"UG\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Ukraine\",\n\t\t\t\"value\": \"+380\",\n\t\t\t\"data\": \"UA\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"United Arab Emirates\",\n\t\t\t\"value\": \"+971\",\n\t\t\t\"data\": \"AE\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"United Kingdom\",\n\t\t\t\"value\": \"+44\",\n\t\t\t\"data\": \"GB\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"United States\",\n\t\t\t\"value\": \"+1\",\n\t\t\t\"data\": \"US\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Uruguay\",\n\t\t\t\"value\": \"+598\",\n\t\t\t\"data\": \"UY\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Uzbekistan\",\n\t\t\t\"value\": \"+998\",\n\t\t\t\"data\": \"UZ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Vanuatu\",\n\t\t\t\"value\": \"+678\",\n\t\t\t\"data\": \"VU\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Venezuela, Bolivarian Republic of Venezuela\",\n\t\t\t\"value\": \"+58\",\n\t\t\t\"data\": \"VE\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Vietnam\",\n\t\t\t\"value\": \"+84\",\n\t\t\t\"data\": \"VN\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Virgin Islands, British\",\n\t\t\t\"value\": \"+1284\",\n\t\t\t\"data\": \"VG\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Virgin Islands, U.S.\",\n\t\t\t\"value\": \"+1340\",\n\t\t\t\"data\": \"VI\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Wallis and Futuna\",\n\t\t\t\"value\": \"+681\",\n\t\t\t\"data\": \"WF\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Yemen\",\n\t\t\t\"value\": \"+967\",\n\t\t\t\"data\": \"YE\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Zambia\",\n\t\t\t\"value\": \"+260\",\n\t\t\t\"data\": \"ZM\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Zimbabwe\",\n\t\t\t\"value\": \"+263\",\n\t\t\t\"data\": \"ZW\"\n\t\t}\n\t]\n\n}\n","import { booleanAttribute, Component, Input, Optional, Renderer2, Self } from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { AbstractAutocompleteComponent } from \"./abstract-autocomplete.component\";\nimport { AutocompleteItem } from \"./autocomplete-model\";\n\n@Component({\n selector: 'rlb-autocomplete-country',\n template: `\n <ng-content select=\"[before]\"></ng-content>\n <div class=\"input-group has-validation\">\n <input\n #field\n [id]=\"id\"\n class=\"form-control\"\n type=\"text\"\n\t\t\t\t[attr.autocomplete]=\"'off'\"\n\t\t\t\t[attr.disabled]=\"disabled ? true : undefined\"\n [attr.readonly]=\"readonly ? true : undefined\"\n [attr.placeholder]=\"placeholder\"\n [class.form-control-lg]=\"size === 'large'\"\n [class.form-control-sm]=\"size === 'small'\"\n (blur)=\"touch()\"\n\t\t\t\t[ngClass]=\"{\n \t\t\t\t'is-invalid': control?.touched && control?.invalid && enableValidation,\n \t\t\t\t'is-valid': control?.touched && control?.valid && enableValidation\n\t\t\t\t}\"\n (input)=\"update($event.target)\"\n />\n\t\t\t<rlb-input-validation *ngIf=\"errors && showError\" [errors]=\"errors\"/>\n\t\t</div>\n\t\t<rlb-progress\n\t\t\t*ngIf=\"loading || acLoading\"\n\t\t\t[height]=\"2\"\n\t\t\t[infinite]=\"loading || acLoading\"\n\t\t\tcolor=\"primary\"\n\t\t\tclass=\"w-100\"\n\t\t/>\n <ng-content select=\"[after]\"></ng-content>\n <div\n #autocomplete\n [id]=\"id+'-ac'\"\n class=\"dropdown-menu overflow-y-auto w-100 position-relative\"\n aria-labelledby=\"dropdownMenu\"\n [style.max-height.px]=\"maxHeight\">\n </div>\n `,\n standalone: false\n})\nexport class AutocompleteCountryComponent\n\textends AbstractAutocompleteComponent\n implements ControlValueAccessor {\n\n\t@Input({ transform: booleanAttribute, alias: 'enable-flag-icons' }) enableFlagIcons?: boolean = false;\n @Input({ transform: booleanAttribute, alias: 'enable-validation' }) enableValidation? = false;\n\n\n constructor(\n\t\tidService: UniqueIdService,\n\t\trenderer: Renderer2,\n\t\t@Self() @Optional() override control?: NgControl,\n\t) {\n\t\tsuper(idService, renderer, control);\n\t}\n\n protected override getSuggestions(query: string) {\n\t\tthis.clearDropdown();\n\t\tthis.activeIndex = -1;\n\n if (query && query.length > 0) {\n\t\t\tthis.openDropdown();\n\t\t\tconst suggestions = this.getCountries().filter(o => {\n\t\t\t\tconst _c = o as { text: string, value: string; };\n\t\t\t\treturn _c.text.toLowerCase().startsWith(query.toLowerCase());\n\t\t\t});\n\t\t\tthis.renderAc(suggestions);\n\t\t} else {\n\t\t\tthis.closeDropdown();\n\t\t}\n\t}\n\n protected override getItemText(data?: AutocompleteItem | string): string {\n\t\tconst h = this.getCountries().find(c => {\n\t\t\tif (typeof c === 'object') {\n\t\t\t\tconst _c = c as { text: string, value: string; };\n\t\t\t\treturn _c.value === (typeof data === 'object' ? data?.value : data) ? _c.text : '';\n\t\t\t}\n\t\t\treturn false;\n\t\t});\n\t\treturn (typeof h === 'object' ? h.text : '');\n\t}\n\n getCountries(): AutocompleteItem[] {\n\t\tif (this.enableFlagIcons) {\n\t\t\treturn this._countries.map((country) => {\n\t\t\t\treturn {\n\t\t\t\t\t...country,\n\t\t\t\t\ticonClass: `fi fi-${country.value.toLowerCase()}`,\n\t\t\t\t}\n\t\t\t})\n\t\t} else {\n\t\t\treturn this._countries;\n\t\t}\n\t}\n\n private _countries: AutocompleteItem[] = [\n { \"text\": \"Afghanistan\", \"value\": \"AF\" },\n { \"text\": \"Albania\", \"value\": \"AL\" },\n { \"text\": \"Algeria\", \"value\": \"DZ\" },\n { \"text\": \"Andorra\", \"value\": \"AD\" },\n { \"text\": \"Angola\", \"value\": \"AO\" },\n { \"text\": \"Antigua and Barbuda\", \"value\": \"AG\" },\n { \"text\": \"Argentina\", \"value\": \"AR\" },\n { \"text\": \"Armenia\", \"value\": \"AM\" },\n { \"text\": \"Aruba\", \"value\": \"AW\" },\n { \"text\": \"Australia\", \"value\": \"AU\" },\n { \"text\": \"Austria\", \"value\": \"AT\" },\n { \"text\": \"Azerbaijan\", \"value\": \"AZ\" },\n { \"text\": \"Bahamas\", \"value\": \"BS\" },\n { \"text\": \"Bahrain\", \"value\": \"BH\" },\n { \"text\": \"Bangladesh\", \"value\": \"BD\" },\n { \"text\": \"Barbados\", \"value\": \"BB\" },\n { \"text\": \"Belarus\", \"value\": \"BY\" },\n { \"text\": \"Belgium\", \"value\": \"BE\" },\n { \"text\": \"Belize\", \"value\": \"BZ\" },\n { \"text\": \"Benin\", \"value\": \"BJ\" },\n { \"text\": \"Bhutan\", \"value\": \"BT\" },\n { \"text\": \"Bolivia\", \"value\": \"BO\" },\n { \"text\": \"Bosnia and Herzegovina\", \"value\": \"BA\" },\n { \"text\": \"Botswana\", \"value\": \"BW\" },\n { \"text\": \"Brazil\", \"value\": \"BR\" },\n { \"text\": \"Brunei\", \"value\": \"BN\" },\n { \"text\": \"Bulgaria\", \"value\": \"BG\" },\n { \"text\": \"Burkina Faso\", \"value\": \"BF\" },\n { \"text\": \"Burundi\", \"value\": \"BI\" },\n { \"text\": \"Cabo Verde\", \"value\": \"CV\" },\n { \"text\": \"Cambodia\", \"value\": \"KH\" },\n { \"text\": \"Cameroon\", \"value\": \"CM\" },\n { \"text\": \"Canada\", \"value\": \"CA\" },\n { \"text\": \"Central African Republic\", \"value\": \"CF\" },\n { \"text\": \"Chad\", \"value\": \"TD\" },\n { \"text\": \"Chile\", \"value\": \"CL\" },\n { \"text\": \"China\", \"value\": \"CN\" },\n { \"text\": \"Colombia\", \"value\": \"CO\" },\n { \"text\": \"Comoros\", \"value\": \"KM\" },\n { \"text\": \"Congo (Congo-Brazzaville)\", \"value\": \"CG\" },\n { \"text\": \"Costa Rica\", \"value\": \"CR\" },\n { \"text\": \"Croatia\", \"value\": \"HR\" },\n { \"text\": \"Cuba\", \"value\": \"CU\" },\n { \"text\": \"Cyprus\", \"value\": \"CY\" },\n { \"text\": \"Czechia (Czech Republic)\", \"value\": \"CZ\" },\n { \"text\": \"Republic of Congo\", \"value\": \"CD\" },\n { \"text\": \"Denmark\", \"value\": \"DK\" },\n { \"text\": \"Djibouti\", \"value\": \"DJ\" },\n { \"text\": \"Dominica\", \"value\": \"DM\" },\n { \"text\": \"Dominican Republic\", \"value\": \"DO\" },\n { \"text\": \"Ecuador\", \"value\": \"EC\" },\n { \"text\": \"Egypt\", \"value\": \"EG\" },\n { \"text\": \"El Salvador\", \"value\": \"SV\" },\n { \"text\": \"Equatorial Guinea\", \"value\": \"GQ\" },\n { \"text\": \"Eritrea\", \"value\": \"ER\" },\n { \"text\": \"Estonia\", \"value\": \"EE\" },\n { \"text\": \"Eswatini (\\\"Swaziland\\\")\", \"value\": \"SZ\" },\n { \"text\": \"Ethiopia\", \"value\": \"ET\" },\n { \"text\": \"Fiji\", \"value\": \"FJ\" },\n { \"text\": \"Finland\", \"value\": \"FI\" },\n { \"text\": \"France\", \"value\": \"FR\" },\n { \"text\": \"Gabon\", \"value\": \"GA\" },\n { \"text\": \"Gambia\", \"value\": \"GM\" },\n { \"text\": \"Georgia\", \"value\": \"GE\" },\n { \"text\": \"Germany\", \"value\": \"DE\" },\n { \"text\": \"Ghana\", \"value\": \"GH\" },\n { \"text\": \"Greece\", \"value\": \"GR\" },\n { \"text\": \"Grenada\", \"value\": \"GD\" },\n { \"text\": \"Guatemala\", \"value\": \"GT\" },\n { \"text\": \"Guinea\", \"value\": \"GN\" },\n { \"text\": \"Guinea-Bissau\", \"value\": \"GW\" },\n { \"text\": \"Guyana\", \"value\": \"GY\" },\n { \"text\": \"Haiti\", \"value\": \"HT\" },\n { \"text\": \"Holy See\", \"value\": \"VA\" },\n { \"text\": \"Honduras\", \"value\": \"HN\" },\n { \"text\": \"Hong Kong\", \"value\": \"HK\" },\n { \"text\": \"Hungary\", \"value\": \"HU\" },\n { \"text\": \"Iceland\", \"value\": \"IS\" },\n { \"text\": \"India\", \"value\": \"IN\" },\n { \"text\": \"Indonesia\", \"value\": \"ID\" },\n { \"text\": \"Iran\", \"value\": \"IR\" },\n { \"text\": \"Iraq\", \"value\": \"IQ\" },\n { \"text\": \"Ireland\", \"value\": \"IE\" },\n { \"text\": \"Israel\", \"value\": \"IL\" },\n { \"text\": \"Italy\", \"value\": \"IT\" },\n { \"text\": \"Jamaica\", \"value\": \"JM\" },\n { \"text\": \"Japan\", \"value\": \"JP\" },\n { \"text\": \"Jordan\", \"value\": \"JO\" },\n { \"text\": \"Kazakhstan\", \"value\": \"KZ\" },\n { \"text\": \"Kenya\", \"value\": \"KE\" },\n { \"text\": \"Kiribati\", \"value\": \"KI\" },\n { \"text\": \"Kuwait\", \"value\": \"KW\" },\n { \"text\": \"Kyrgyzstan\", \"value\": \"KG\" },\n { \"text\": \"Laos\", \"value\": \"LA\" },\n { \"text\": \"Latvia\", \"value\": \"LV\" },\n { \"text\": \"Lebanon\", \"value\": \"LB\" },\n { \"text\": \"Lesotho\", \"value\": \"LS\" },\n { \"text\": \"Liberia\", \"value\": \"LR\" },\n { \"text\": \"Libya\", \"value\": \"LY\" },\n { \"text\": \"Liechtenstein\", \"value\": \"LI\" },\n { \"text\": \"Lithuania\", \"value\": \"LT\" },\n { \"text\": \"Luxembourg\", \"value\": \"LU\" },\n { \"text\": \"Madagascar\", \"value\": \"MG\" },\n { \"text\": \"Malawi\", \"value\": \"MW\" },\n { \"text\": \"Malaysia\", \"value\": \"MY\" },\n { \"text\": \"Maldives\", \"value\": \"MV\" },\n { \"text\": \"Mali\", \"value\": \"ML\" },\n { \"text\": \"Malta\", \"value\": \"MT\" },\n { \"text\": \"Marshall Islands\", \"value\": \"MH\" },\n { \"text\": \"Mauritania\", \"value\": \"MR\" },\n { \"text\": \"Mauritius\", \"value\": \"MU\" },\n { \"text\": \"Mexico\", \"value\": \"MX\" },\n { \"text\": \"Micronesia\", \"value\": \"FM\" },\n { \"text\": \"Moldova\", \"value\": \"MD\" },\n { \"text\": \"Monaco\", \"value\": \"MC\" },\n { \"text\": \"Mongolia\", \"value\": \"MN\" },\n { \"text\": \"Montenegro\", \"value\": \"ME\" },\n { \"text\": \"Morocco\", \"value\": \"MA\" },\n { \"text\": \"Mozambique\", \"value\": \"MZ\" },\n { \"text\": \"Myanmar (Burma)\", \"value\": \"MM\" },\n { \"text\": \"Namibia\", \"value\": \"NA\" },\n { \"text\": \"Nauru\", \"value\": \"NR\" },\n { \"text\": \"Nepal\", \"value\": \"NP\" },\n { \"text\": \"Netherlands\", \"value\": \"NL\" },\n { \"text\": \"New Zealand\", \"value\": \"NZ\" },\n { \"text\": \"Nicaragua\", \"value\": \"NI\" },\n { \"text\": \"Niger\", \"value\": \"NE\" },\n { \"text\": \"Nigeria\", \"value\": \"NG\" },\n { \"text\": \"North Korea\", \"value\": \"KP\" },\n { \"text\": \"North Macedonia\", \"value\": \"MK\" },\n { \"text\": \"Norway\", \"value\": \"NO\" },\n { \"text\": \"Oman\", \"value\": \"OM\" },\n { \"text\": \"Pakistan\", \"value\": \"PK\" },\n { \"text\": \"Palau\", \"value\": \"PW\" },\n { \"text\": \"Palestine State\", \"value\": \"PS\" },\n { \"text\": \"Panama\", \"value\": \"PA\" },\n { \"text\": \"Papua New Guinea\", \"value\": \"PG\" },\n { \"text\": \"Paraguay\", \"value\": \"PY\" },\n { \"text\": \"Peru\", \"value\": \"PE\" },\n { \"text\": \"Philippines\", \"value\": \"PH\" },\n { \"text\": \"Poland\", \"value\": \"PL\" },\n { \"text\": \"Puerto Rico\", \"value\": \"PR\" },\n { \"text\": \"Portugal\", \"value\": \"PT\" },\n { \"text\": \"Qatar\", \"value\": \"QA\" },\n { \"text\": \"Romania\", \"value\": \"RO\" },\n { \"text\": \"Russia\", \"value\": \"RU\" },\n { \"text\": \"Rwanda\", \"value\": \"RW\" },\n { \"text\": \"St. Kitts and Nevis\", \"value\": \"KN\" },\n { \"text\": \"St. Lucia\", \"value\": \"LC\" },\n { \"text\": \"St. Vincent and Grenadines\", \"value\": \"VC\" },\n { \"text\": \"Samoa\", \"value\": \"WS\" },\n { \"text\": \"San Marino\", \"value\": \"SM\" },\n { \"text\": \"Sao Tome and Principe\", \"value\": \"ST\" },\n { \"text\": \"Saudi Arabia\", \"value\": \"SA\" },\n { \"text\": \"Senegal\", \"value\": \"SN\" },\n { \"text\": \"Serbia\", \"value\": \"RS\" },\n { \"text\": \"Seychelles\", \"value\": \"SC\" },\n { \"text\": \"Sierra Leone\", \"value\": \"SL\" },\n { \"text\": \"Singapore\", \"value\": \"SG\" },\n { \"text\": \"Slovakia\", \"value\": \"SK\" },\n { \"text\": \"Slovenia\", \"value\": \"SI\" },\n { \"text\": \"Solomon Islands\", \"value\": \"SB\" },\n { \"text\": \"Somalia\", \"value\": \"SO\" },\n { \"text\": \"South Africa\", \"value\": \"ZA\" },\n { \"text\": \"South Korea\", \"value\": \"KR\" },\n { \"text\": \"South Sudan\", \"value\": \"SS\" },\n { \"text\": \"Spain\", \"value\": \"ES\" },\n { \"text\": \"Sri Lanka\", \"value\": \"LK\" },\n { \"text\": \"Sudan\", \"value\": \"SD\" },\n { \"text\": \"Suriname\", \"value\": \"SR\" },\n { \"text\": \"Sweden\", \"value\": \"SE\" },\n { \"text\": \"Switzerland\", \"value\": \"CH\" },\n { \"text\": \"Syria\", \"value\": \"SY\" },\n { \"text\": \"Taiwan \", \"value\": \"TW\" },\n { \"text\": \"Tajikistan\", \"value\": \"TJ\" },\n { \"text\": \"Tanzania\", \"value\": \"TZ\" },\n { \"text\": \"Thailand\", \"value\": \"TH\" },\n { \"text\": \"Timor-Leste\", \"value\": \"TL\" },\n { \"text\": \"Togo\", \"value\": \"TG\" },\n { \"text\": \"Tonga\", \"value\": \"TO\" },\n { \"text\": \"Trinidad and Tobago\", \"value\": \"TT\" },\n { \"text\": \"Tunisia\", \"value\": \"TN\" },\n { \"text\": \"Turkey\", \"value\": \"TR\" },\n { \"text\": \"Turkmenistan\", \"value\": \"TM\" },\n { \"text\": \"Tuvalu\", \"value\": \"TV\" },\n { \"text\": \"Uganda\", \"value\": \"UG\" },\n { \"text\": \"Ukraine\", \"value\": \"UA\" },\n { \"text\": \"United Arab Emirates\", \"value\": \"AE\" },\n { \"text\": \"United Kingdom\", \"value\": \"GB\" },\n { \"text\": \"United States of America\", \"value\": \"US\" },\n { \"text\": \"Uruguay\", \"value\": \"UY\" },\n { \"text\": \"Uzbekistan\", \"value\": \"UZ\" },\n { \"text\": \"Vanuatu\", \"value\": \"VU\" },\n { \"text\": \"Venezuela\", \"value\": \"VE\" },\n { \"text\": \"Vietnam\", \"value\": \"VN\" },\n { \"text\": \"Yemen\", \"value\": \"YE\" },\n { \"text\": \"Zambia\", \"value\": \"ZM\" },\n { \"text\": \"Zimbabwe\", \"value\": \"ZW\" }\n ];\n\n}\n","import { booleanAttribute, Component, Input, Optional, Renderer2, Self } from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { DateTz } from '@open-rlb/date-tz';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { AutocompleteItem } from \"./autocomplete-model\";\nimport { AbstractAutocompleteComponent } from \"./abstract-autocomplete.component\";\n\n@Component({\n selector: 'rlb-autocomplete-timezones',\n template: `\n <ng-content select=\"[before]\"></ng-content>\n <div class=\"input-group has-validation\">\n <input\n #field\n [id]=\"id\"\n class=\"form-control\"\n type=\"text\"\n [attr.disabled]=\"disabled ? true : undefined\"\n [attr.readonly]=\"readonly ? true : undefined\"\n [attr.placeholder]=\"placeholder\"\n\t\t\t\t[attr.autocomplete]=\"'off'\"\n\t\t\t\t[class.form-control-lg]=\"size === 'large'\"\n [class.form-control-sm]=\"size === 'small'\"\n (blur)=\"touch()\"\n\t\t\t\t[ngClass]=\"{\n 'is-invalid': control?.touched && control?.invalid,\n 'is-valid': control?.touched && control?.valid\n }\"\n (input)=\"update($event.target)\"\n />\n\t\t\t<rlb-input-validation *ngIf=\"errors && showError\" [errors]=\"errors\"/>\n\t\t</div>\n\t\t<rlb-progress\n\t\t\t*ngIf=\"loading || acLoading\"\n\t\t\t[height]=\"2\"\n\t\t\t[infinite]=\"loading || acLoading\"\n\t\t\tcolor=\"primary\"\n\t\t\tclass=\"w-100\"\n\t\t/>\n <ng-content select=\"[after]\"></ng-content>\n <div\n #autocomplete\n [id]=\"id+'-ac'\"\n class=\"dropdown-menu overflow-y-auto w-100 position-relative\"\n aria-labelledby=\"dropdownMenu\"\n [style.max-height.px]=\"maxHeight\">\n </div>\n `,\n standalone: false\n})\nexport class AutocompleteTimezonesComponent\n\textends AbstractAutocompleteComponent\n implements ControlValueAccessor {\n\n\t@Input({ transform: booleanAttribute, alias: 'enable-flag-icons' }) enableFlagIcons?: boolean = false;\n\n constructor(\n\t\tidService: UniqueIdService,\n\t\trenderer: Renderer2,\n\t\t@Self() @Optional() override control?: NgControl,\n\t) {\n\t\tsuper(idService, renderer, control);\n\t}\n\n protected override getSuggestions(query: string) {\n\t\tthis.clearDropdown();\n\t\tthis.activeIndex = -1;\n\n if (query && query.length > 0) {\n\t\t\tthis.openDropdown();\n const timezones = DateTz.timezones()\n const suggestions = timezones.filter(o => {\n\t\t\t\treturn o.toLowerCase().includes(query.toLowerCase());\n\t\t\t});\n\t\t\tthis.renderAc(suggestions);\n\t\t} else {\n\t\t\tthis.closeDropdown();\n\t\t}\n\t}\n\n protected override getItemText(data?: AutocompleteItem | string): string {\n\t\tif (typeof data === 'object' && data !== null && 'text' in data) {\n\t\t\treturn (data as AutocompleteItem).text || '';\n\t\t} else if (typeof data === 'string') {\n\t\t\treturn data || '';\n\t\t}\n\t\treturn '';\n\t}\n}\n","import {\n booleanAttribute,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n numberAttribute,\n Optional,\n Output,\n Renderer2,\n Self,\n ViewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { lastValueFrom, Observable } from 'rxjs';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { AbstractComponent } from './abstract-field.component';\nimport { AutocompleteFn, AutocompleteItem } from \"./autocomplete-model\";\n\n\n@Component({\n selector: 'rlb-autocomplete',\n template: `\n <ng-content select=\"[before]\"></ng-content>\n <div class=\"input-group has-validation\">\n <input\n #field\n [id]=\"id\"\n class=\"form-control\"\n [type]=\"type\"\n [attr.disabled]=\"disabled ? true : undefined\"\n [attr.readonly]=\"readonly ? true : undefined\"\n [attr.placeholder]=\"placeholder\"\n [class.form-control-lg]=\"size === 'large'\"\n [class.form-control-sm]=\"size === 'small'\"\n [value]=\"getText(value)\"\n (blur)=\"touch()\"\n\t\t\t\t[ngClass]=\"{\n 'is-invalid': control?.touched && control?.invalid && enableValidation,\n 'is-valid': control?.touched && control?.valid && enableValidation\n }\"\n (input)=\"update($event.target)\"\n (keyup.enter)=\"onEnter($event.target)\"\n />\n <rlb-input-validation *ngIf=\"errors && showError && enableValidation\" [errors]=\"errors\"/>\n\t\t</div>\n\t\t<rlb-progress\n\t\t\t*ngIf=\"loading || acLoading\"\n\t\t\t[height]=\"2\"\n\t\t\t[infinite]=\"loading || acLoading\"\n\t\t\tcolor=\"primary\"\n\t\t\tclass=\"w-100\"\n\t\t/>\n <ng-content select=\"[after]\"></ng-content>\n <div\n #autocomplete\n [id]=\"id+'-ac'\"\n class=\"dropdown-menu overflow-y-auto w-100 position-absolute\"\n aria-labelledby=\"dropdownMenu\"\n [style.max-height.px]=\"maxHeight\"\n [style.width]=\"'fit-content !important'\"\n [style.max-width.px]=\"menuMaxWidth\"></div>\n `,\n standalone: false,\n host: {\n style: 'position: relative;',\n }\n})\nexport class AutocompleteComponent\n extends AbstractComponent<AutocompleteItem>\n implements ControlValueAccessor {\n acLoading: boolean = false;\n\tprivate typingTimeout: any;\n\tisOpen = false;\n\n\t@Input({ transform: booleanAttribute, alias: 'disabled' }) disabled? = false;\n @Input({ transform: booleanAttribute, alias: 'readonly' }) readonly? = false;\n @Input({ transform: booleanAttribute, alias: 'loading' }) loading?: boolean = false;\n @Input({ transform: numberAttribute, alias: 'max-height' }) maxHeight?: number = 200;\n @Input({ alias: 'placeholder' }) placeholder?: string = '';\n @Input({ alias: 'autocomplete' }) autocomplete: AutocompleteFn = () => { return []; };\n @Input({ alias: 'type' }) type?: 'text' | 'email' | 'number' | 'password' | 'search' | 'tel' | 'url' | string = 'text';\n @Input() size?: 'small' | 'large' | undefined;\n @Input({ alias: 'chars-to-search', transform: numberAttribute }) charsToSearch: number = 3;\n @Input({ alias: 'menu-max-width', transform: numberAttribute }) menuMaxWidth: number = 400;\n @Input({ alias: 'id', transform: (v: string) => v || '' }) userDefinedId: string = '';\n @Input({ transform: booleanAttribute, alias: 'enable-validation' }) enableValidation? = false;\n\n @ViewChild('field') el!: ElementRef<HTMLInputElement>;\n @ViewChild('autocomplete') dropdown!: ElementRef<HTMLElement>;\n @Output() selected: EventEmitter<AutocompleteItem> = new EventEmitter<AutocompleteItem>();\n\n @HostListener('document:pointerdown', ['$event'])\n\tonDocumentPointerDown(event: PointerEvent) {\n\t\tthis.handleOutsideEvent(event);\n\t}\n\n @HostListener('document:keydown.escape', ['$event'])\n\tonEscape(event: KeyboardEvent) {\n\t\tif (this.isOpen) {\n\t\t\tthis.closeDropdown();\n\t\t\tthis.el?.nativeElement?.blur();\n\t\t}\n\t}\n\n constructor(\n idService: UniqueIdService,\n private readonly renderer: Renderer2,\n\t\tprivate readonly hostRef: ElementRef<HTMLElement>,\n\t\t@Self() @Optional() override control?: NgControl,\n ) {\n super(idService, control);\n }\n\n update(ev: EventTarget | null) {\n if (this.typingTimeout) {\n clearTimeout(this.typingTimeout);\n }\n this.typingTimeout = setTimeout(() => {\n if (!this.disabled) {\n const t = ev as HTMLInputElement;\n this.manageSuggestions(t?.value);\n }\n }, 500);\n }\n\n override onWrite(data: AutocompleteItem): void {\n if (this.el && this.el.nativeElement) {\n if (typeof data === 'string') {\n this.el.nativeElement.value = data;\n } else {\n this.el.nativeElement.value = data?.text;\n }\n }\n }\n\n manageSuggestions(data: string) {\n\t\tthis.clearDropdown();\n\t\tif (data && data.length >= this.charsToSearch) {\n\t\t\tthis.openDropdown();\n\t\t\tconst suggestions = this.autocomplete(data);\n\t\t\tif (suggestions instanceof Promise) {\n\t\t\t\tthis.acLoading = true;\n\t\t\t\tsuggestions.then(s => this.renderAc(s)).finally(() => (this.acLoading = false));\n\t\t\t} else if (suggestions instanceof Observable) {\n\t\t\t\tthis.acLoading = true;\n\t\t\t\tlastValueFrom(suggestions).then(s => this.renderAc(s)).finally(() => (this.acLoading = false));\n\t\t\t} else {\n\t\t\t\tthis.renderAc(suggestions);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.closeDropdown();\n\t\t}\n\t}\n\n renderAc(suggestions: Array<string | AutocompleteItem>) {\n\t\tthis.clearDropdown();\n\t\tif (!suggestions || suggestions.length === 0) {\n\t\t\tconst el = this.renderer.createElement('a');\n\t\t\tthis.renderer.addClass(el, 'dropdown-item');\n\t\t\tthis.renderer.addClass(el, 'disabled');\n\t\t\tthis.renderer.addClass(el, 'text-center');\n\t\t\tthis.renderer.setAttribute(el, 'disabled', 'true');\n\t\t\tthis.renderer.appendChild(el, this.renderer.createText('No suggestions'));\n\t\t\tthis.renderer.appendChild(this.dropdown.nativeElement, el);\n\t\t\treturn;\n\t\t}\n\n for (const suggestion of suggestions) {\n\t\t\tconst itemData: AutocompleteItem = typeof suggestion === 'string'\n\t\t\t\t? { text: suggestion, value: suggestion }\n\t\t\t\t: suggestion;\n\n const el = this.renderer.createElement('a');\n\t\t\tthis.renderer.addClass(el, 'dropdown-item');\n\n if (itemData.iconClass) {\n\t\t\t\tconst icon = this.renderer.createElement('i');\n\n const classes = itemData.iconClass.split(/\\s+/);\n\t\t\t\tfor (const cls of classes) {\n\t\t\t\t\tif (cls) {\n\t\t\t\t\t\t// Angular renderer.addClass() method DOES NOT support expression like this: this.renderer.addClass(icon, 'bi bi-check')\n\t\t\t\t\t\t// it causes silent runtime error\n\t\t\t\t\t\t// Instead we should split it, and add one by one\n\t\t\t\t\t\tthis.renderer.addClass(icon, cls);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.renderer.addClass(icon, 'me-2');\n\t\t\t\tthis.renderer.appendChild(el, icon);\n\t\t\t}\n\n this.renderer.appendChild(el, this.renderer.createText(itemData.text));\n\n this.renderer.listen(el, 'click', (ev: Event) => {\n\t\t\t\tthis.selected.emit(itemData);\n\t\t\t\tthis.setValue(itemData);\n\t\t\t\tthis.closeDropdown();\n\t\t\t\tev.stopPropagation();\n\t\t\t});\n\t\t\tthis.renderer.appendChild(this.dropdown.nativeElement, el);\n\t\t}\n\t}\n\n\n onEnter(ev: EventTarget | null) {\n const t = ev as HTMLInputElement;\n if (!this.disabled && t && t.value) {\n\t\t\tconst item: AutocompleteItem = {\n\t\t\t\ttext: t.value,\n\t\t\t\tvalue: t.value\n\t\t\t};\n\t\t\tthis.setValue(item);\n this.renderer.setStyle(this.dropdown.nativeElement, 'display', 'none');\n }\n }\n\n getText(d: AutocompleteItem) {\n\t\tif (d == null) return '';\n return typeof d === 'string' ? d : d?.text;\n }\n\n private handleOutsideEvent(event: Event) {\n\t\tconst target = event.target as HTMLElement;\n\n const path: EventTarget[] = (event as any).composedPath ? (event as any).composedPath() : [];\n\n const clickedInsideHost = this.hostRef?.nativeElement?.contains(target);\n\t\tconst clickedInsideDropdown = this.dropdown?.nativeElement?.contains ? this.dropdown.nativeElement.contains(target) : false;\n\t\tconst clickedInPath = path.length ? path.some(p => p === this.hostRef.nativeElement || p === this.dropdown.nativeElement) : false;\n\n if (!(clickedInsideHost || clickedInsideDropdown || clickedInPath)) {\n\t\t\tthis.closeDropdown();\n\t\t}\n\t}\n\n openDropdown() {\n\t\tif (!this.dropdown || this.isOpen) return;\n\t\tthis.renderer.setStyle(this.dropdown.nativeElement, 'display', 'block');\n\t\tthis.isOpen = true;\n\t}\n\n closeDropdown() {\n\t\tif (!this.dropdown || !this.isOpen) return;\n\t\tthis.renderer.setStyle(this.dropdown.nativeElement, 'display', 'none');\n\t\tthis.isOpen = false;\n\t\tthis.clearDropdown();\n\t\tthis.acLoading = false;\n\t}\n\n clearDropdown() {\n\t\tif (!this.dropdown) return;\n\t\twhile (this.dropdown.nativeElement.firstChild) {\n\t\t\tthis.dropdown.nativeElement.removeChild(this.dropdown.nativeElement.lastChild!);\n\t\t}\n\t}\n}\n","import {\n Component,\n ElementRef,\n Input,\n Optional,\n Self,\n ViewChild,\n ViewRef,\n booleanAttribute,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { AbstractComponent } from './abstract-field.component';\nimport { UniqueIdService } from '../../shared/unique-id.service';\n\n@Component({\n selector: 'rlb-checkbox',\n template: `\n <ng-content select=\"[before]\"></ng-content>\n <div class=\"input-group has-validation\">\n <input\n #field\n class=\"form-check-input\"\n type=\"checkbox\"\n [id]=\"id\"\n [attr.disabled]=\"disabled ? true : undefined\"\n [attr.readonly]=\"readonly ? true : undefined\"\n [value]=\"value\"\n (blur)=\"touch()\"\n [ngClass]=\"{ 'is-invalid': control?.touched && control?.invalid }\"\n (input)=\"update($event.target)\"\n />\n <div class=\"invalid-feedback\">\n {{ errors | json }}\n </div>\n <ng-content select=\"[after]\"></ng-content>\n </div>`,\n standalone: false\n})\nexport class CheckboxComponent\n extends AbstractComponent<boolean | undefined>\n implements ControlValueAccessor {\n @Input({ alias: 'disabled', transform: booleanAttribute }) disabled? = false;\n @Input({ alias: 'readonly', transform: booleanAttribute }) readonly? = false;\n @Input({ alias: 'indeterminate', transform: booleanAttribute }) indeterminate?: boolean = false;\n @ViewChild('field', { read: ElementRef }) el!: ElementRef<HTMLInputElement>;\n @Input({ alias: 'id', transform: (v: string) => v || '' }) userDefinedId: string = '';\n \n constructor(\n idService: UniqueIdService,\n @Self() @Optional() override control?: NgControl,\n ) {\n super(idService, control);\n }\n\n update(ev: EventTarget | null) {\n if (!this.disabled) {\n const t = ev as HTMLInputElement;\n this.setValue(t?.checked);\n }\n }\n\n override onWrite(data: boolean | undefined): void {\n if (this.el && this.el.nativeElement) {\n if (this.indeterminate && (typeof data === 'undefined' || data === null)) {\n this.el.nativeElement.indeterminate = true;\n } else {\n if (data === undefined || data === null) return;\n if (typeof data === 'string') {\n this.el.nativeElement.checked = /^true$/i.test(data);\n }\n else {\n this.el.nativeElement.checked = data;\n }\n }\n }\n }\n\n override writeValue(val: boolean | undefined): void {\n if (this.indeterminate && this.el) {\n if (typeof val === 'undefined' || val === null) {\n this.el.nativeElement.indeterminate = true;\n } else {\n this.el.nativeElement.indeterminate = false;\n }\n }\n if (!this.indeterminate) {\n val = val || false;\n }\n super.writeValue(val);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n Optional,\n Self,\n ViewChild,\n booleanAttribute,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { AbstractComponent } from './abstract-field.component';\nimport { UniqueIdService } from '../../shared/unique-id.service';\n\n@Component({\n selector: 'rlb-color',\n template: `\n <ng-content select=\"[before]\"></ng-content>\n <div class=\"input-group has-validation\">\n <input\n #field\n [id]=\"id\"\n class=\"form-control form-control-color\"\n type=\"color\"\n [attr.disabled]=\"disabled ? true : undefined\"\n [attr.readonly]=\"readonly ? true : undefined\"\n [class.form-control-lg]=\"size === 'large'\"\n [class.form-control-sm]=\"size === 'small'\"\n [value]=\"value\"\n (blur)=\"touch()\"\n [ngClass]=\"{ 'is-invalid': control?.touched && control?.invalid }\"\n (input)=\"update($event.target)\"\n />\n <div class=\"invalid-feedback\">\n {{ errors | json }}\n </div>\n </div>\n <ng-content select=\"[after]\"></ng-content>`,\n standalone: false\n})\nexport class ColorComponent\n extends AbstractComponent<string>\n implements ControlValueAccessor {\n @Input({ alias: 'disabled', transform: booleanAttribute }) disabled?: boolean;\n @Input({ alias: 'readonly', transform: booleanAttribute }) readonly?: boolean;\n @Input({ alias: 'size' }) size?: 'small' | 'large';\n @Input({ alias: 'id', transform: (v: string) => v || '' }) userDefinedId: string = '';\n\n @ViewChild('field') el!: ElementRef<HTMLInputElement>;\n\n constructor(\n idService: UniqueIdService,\n @Self() @Optional() override control?: NgControl,\n ) {\n super(idService, control);\n }\n\n update(ev: EventTarget | null) {\n if (!this.disabled) {\n const t = ev as HTMLInputElement;\n this.setValue(t?.value);\n }\n }\n\n override onWrite(data: string): void {\n if (this.el && this.el.nativeElement) {\n this.el.nativeElement.value = data;\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n Optional,\n Self,\n ViewChild,\n booleanAttribute,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { AbstractComponent } from './abstract-field.component';\nimport { UniqueIdService } from '../../shared/unique-id.service';\n\n@Component({\n selector: 'rlb-datalist',\n template: `\n <ng-content select=\"[before]\"></ng-content>\n <div class=\"input-group has-validation\">\n <input\n #field\n [id]=\"id\"\n class=\"form-control\"\n [attr.disabled]=\"disabled ? true : undefined\"\n [attr.readonly]=\"readonly ? true : undefined\"\n [attr.placeholder]=\"placeholder\"\n [attr.list]=\"'list-' + id\"\n [class.form-control-lg]=\"size === 'large'\"\n [class.form-control-sm]=\"size === 'small'\"\n [value]=\"value || ''\"\n (blur)=\"touch()\"\n [ngClass]=\"{ 'is-invalid': control?.touched && control?.invalid }\"\n (input)=\"update($event.target)\"\n />\n <datalist [id]=\"'list-' + id\">\n <ng-content></ng-content>\n </datalist>\n <div class=\"invalid-feedback\">\n {{ errors | json }}\n </div>\n </div>\n <ng-content select=\"[after]\"></ng-content>`,\n standalone: false\n})\nexport class DatalistComponent\n extends AbstractComponent<string>\n implements ControlValueAccessor {\n @Input({ alias: 'disabled', transform: booleanAttribute }) disabled?: boolean = false;\n @Input({ alias: 'readonly', transform: booleanAttribute }) readonly?: boolean = false;\n @Input({ alias: 'placeholder' }) placeholder?: string;\n @Input({ alias: 'size' }) size?: 'small' | 'large' | undefined = undefined;\n @ViewChild('field') el!: ElementRef<HTMLInputElement>;\n @Input({ alias: 'id', transform: (v: string) => v || '' }) userDefinedId: string = '';\n \n constructor(\n idService: UniqueIdService,\n @Self() @Optional() override control?: NgControl,\n ) {\n super(idService, control);\n }\n\n update(ev: EventTarget | null) {\n if (!this.disabled) {\n const t = ev as HTMLInputElement;\n this.setValue(t?.value);\n }\n }\n\n override onWrite(data: string): void {\n if (this.el && this.el.nativeElement) {\n this.el.nativeElement.value = data;\n }\n }\n}\n","import {\n Directive,\n Output,\n Input,\n EventEmitter,\n HostBinding,\n HostListener,\n booleanAttribute\n} from '@angular/core';\n\n@Directive({\n selector: '[rlb-dnd]',\n standalone: false\n})\nexport class DndDirective {\n @Input({ alias: 'multiple', transform: booleanAttribute }) multi: boolean = false;\n\n @Output() fileDropped = new EventEmitter<File[]>();\n\n @HostBinding('class.fileover') fileOver!: boolean;\n @HostListener('dragover', ['$event']) onDragOver(evt: DragEvent) {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver = true;\n }\n\n @HostListener('dragleave', ['$event']) public onDragLeave(evt: DragEvent) {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver = false;\n }\n\n @HostListener('drop', ['$event']) public ondrop(evt: DragEvent) {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver = false;\n let files = evt.dataTransfer?.files;\n if (files && files.length > 1) {\n if (!this.multi) {\n const _f = []\n for (let i = 0; i < files.length; i++) _f.push(files[i]);\n this.fileDropped.emit(_f);\n }\n else {\n this.fileDropped.emit([files[0]]);\n }\n }\n }\n}\n","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild, booleanAttribute } from '@angular/core';\n\n@Component({\n selector: 'rlb-file-dnd',\n template: `\n <div class=\"rlb-file-dnd\" rlb-dnd [multiple]=\"multiple\" (fileDropped)=\"onFileDropped($event)\">\n <input type=\"file\" #fileDropRef id=\"fileDropRef\" [attr.multiple]=\"multiple?'':undefined\" (change)=\"fileBrowseHandler($event)\" />\n <i class=\"bi bi-upload\"></i>\n <h3>{{ data.content?.drag }}</h3>\n <h3>-</h3>\n <label class=\"btn btn-primary\" for=\"fileDropRef\">{{ data.content?.button }}</label>\n </div>\n <div class=\"rlb-file-dnd-list\">\n <div class=\"single-file\" *ngFor=\"let file of files; let i = index\">\n <i class=\"bi bi-file-earmark-image\" style=\"font-size: 36px;\"></i>\n <div class=\"info\">\n <span class=\"d-block name\"> {{ file.name }} </span>\n <span class=\"d-block size\">{{ formatBytes(file.size) }}</span>\n <rlb-progress [height]=\"3\" [value]=\"10\" animated ></rlb-progress>\n </div>\n <button rlb-button outline class=\"p-0 mb-auto border-0\">\n <i class=\"bi bi-trash\" (click)=\"deleteFile(file)\"></i>\n </button>\n </div>\n </div>`,\n standalone: false\n})\nexport class FileDndComponent {\n files: File[] = [];\n\n @Input({ alias: 'multiple', transform: booleanAttribute }) multiple: boolean = false;\n @Input({ alias: 'data' }) data: any = {};\n @Input({ alias: 'id', transform: (v: string) => v || '' }) userDefinedId: string = '';\n \n @Output('files') filesChange = new EventEmitter<File[]>();\n\n @ViewChild(\"fileDropRef\", { static: false }) fileDropEl!: ElementRef;\n\n\n onFileDropped(files: File[]) {\n if (this.multiple) {\n this.files = files;\n }\n else {\n this.files = [files[files.length - 1]];\n }\n this.filesChange.emit(this.files);\n this.fileDropEl.nativeElement.value = \"\";\n }\n\n fileBrowseHandler(event: Event) {\n const _target = event.target as HTMLInputElement;\n if (_target.files && _target.files?.length) {\n let _f: File[] = []\n if (this.multiple) {\n for (let i = 0; i < _target.files.length; i++) _f.push(_target.files[i])\n } else {\n for (let i = 0; i < _target.files.length; i++) _f = [_target.files[i]]\n }\n this.files = _f;\n this.filesChange.emit(this.files);\n this.fileDropEl.nativeElement.value = \"\";\n }\n }\n\n deleteFile(index: File) {\n this.files.splice(this.files.indexOf(index), 1);\n this.filesChange.emit(this.files);\n }\n\n formatBytes(bytes: number, decimals: number = 2) {\n if (bytes === 0) {\n return \"0 Bytes\";\n }\n const k = 1024;\n const dm = decimals <= 0 ? 0 : decimals;\n const sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + \" \" + sizes[i];\n }\n}\n","import { booleanAttribute, Component, ElementRef, Input, Optional, Self, ViewChild, } from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { AbstractComponent } from './abstract-field.component';\nimport { UniqueIdService } from '../../shared/unique-id.service';\n\n@Component({\n selector: 'rlb-file',\n host: {\n class: 'd-flex flex-grow-1 flex-shrink-1 flex-auto',\n },\n template: `\n <ng-content select=\"[before]\"></ng-content>\n <div class=\"input-group has-validation\">\n <input\n #field\n [id]=\"id\"\n type=\"file\"\n class=\"form-control\"\n [attr.disabled]=\"disabled ? true : undefined\"\n [attr.readonly]=\"readonly ? true : undefined\"\n [attr.multiple]=\"multiple ? true : undefined\"\n [attr.accept]=\"accept ? accept : undefined\"\n [class.form-control-lg]=\"size === 'large'\"\n [class.form-control-sm]=\"size === 'small'\"\n (blur)=\"touch()\"\n [ngClass]=\"{ 'is-invalid': control?.touched && control?.invalid }\"\n\t\t\t\t(change)=\"onFileChange($event)\"\n\t\t\t/>\n <div class=\"invalid-feedback\">\n {{ errors | json }}\n </div>\n </div>\n <ng-content select=\"[after]\"></ng-content>`,\n standalone: false\n})\nexport class FileComponent\n\textends AbstractComponent<File | File[] | null>\n implements ControlValueAccessor {\n @Input({ alias: 'disabled', transform: booleanAttribute, }) disabled? = false;\n @Input({ alias: 'readonly', transform: booleanAttribute }) readonly? = false;\n @Input({ alias: 'multiple', transform: booleanAttribute, }) multiple?: boolean;\n @Input({ alias: 'size' }) size?: 'small' | 'large';\n @Input({ alias: 'accept' }) accept?: string | undefined;\n @Input({ alias: 'id', transform: (v: string) => v || '' }) userDefinedId: string = '';\n\n @ViewChild('field') el!: ElementRef<HTMLInputElement>;\n\n constructor(\n idService: UniqueIdService,\n @Self() @Optional() override control?: NgControl,\n ) {\n super(idService, control);\n }\n\t\n\tonFileChange(ev: Event) {\n\t\tif (!this.disabled) {\n\t\t\tconst input = ev.target as HTMLInputElement;\n\t\t\tif (!input.files) {\n\t\t\t\tthis.setValue(null);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.setValue(this.multiple ? Array.from(input.files) : input.files[0]);\n\t\t}\n\t}\n\t\n\toverride onWrite(data: File | File[] | null): void {\n if (this.el && this.el.nativeElement) {\n\t\t\tthis.el.nativeElement.value = '';\n }\n }\n}\n","import {\n Directive,\n ElementRef,\n Renderer2,\n Input,\n DoCheck,\n} from '@angular/core';\nimport { UniqueIdService } from '../../shared/unique-id.service';\n\n@Directive({\n selector: '[helpText]',\n standalone: false\n})\nexport class HelpText implements DoCheck {\n private uniqueId: string;\n\n @Input({ alias: 'helpText' }) helpText!: string;\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n private idService: UniqueIdService,\n ) {\n this.uniqueId = idService.id;\n }\n\n ngDoCheck() {\n if (this.helpText) {\n const input = this.elementRef.nativeElement.querySelector('input');\n this.renderer.setAttribute(\n input,\n 'aria-labelledby',\n 'help-text-' + this.uniqueId,\n );\n const textHelp = this.renderer.createElement('div');\n this.renderer.addClass(textHelp, 'form-text');\n this.renderer.setAttribute(textHelp, 'id', 'help-text-' + this.uniqueId);\n this.renderer.appendChild(\n textHelp,\n this.renderer.createText(this.helpText),\n );\n this.renderer.insertBefore(input.parentNode, textHelp, input.nextSibling);\n }\n }\n}\n","import {\n AfterViewInit,\n booleanAttribute,\n Component,\n ElementRef,\n Input,\n numberAttribute,\n OnInit,\n Optional,\n Self,\n TemplateRef,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { DateTz, IDateTz } from '@open-rlb/date-tz';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { AbstractComponent } from './abstract-field.component';\n\n@Component({\n selector: 'rlb-input',\n template: `\n <ng-template #template>\n <ng-content select=\"[before]\"></ng-content>\n <input\n #field\n [id]=\"id\"\n class=\"form-control\"\n [type]=\"_type\"\n [name]=\"name\"\n [attr.max]=\"type === 'number' && max !== null && max !== undefined ? max : undefined\"\n [attr.min]=\"type === 'number' && min !== null && min !== undefined ? min : undefined\"\n [attr.step]=\"type === 'number' && step !== null && step !== undefined ? step : undefined\"\n [attr.disabled]=\"disabled ? true : undefined\"\n [attr.readonly]=\"readonly ? true : undefined\"\n [attr.placeholder]=\"placeholder\"\n [class.form-control-lg]=\"size === 'large'\"\n [class.form-control-sm]=\"size === 'small'\"\n [value]=\"value || ''\"\n (blur)=\"touch()\"\n\t\t\t\t[ngClass]=\"{\n 'is-invalid': control?.touched && control?.invalid && enableValidation,\n 'is-valid': control?.touched && control?.valid && enableValidation\n }\"\n (input)=\"update($event.target)\"\n />\n\t\t<rlb-input-validation *ngIf=\"!extValidation && showError\" [errors]=\"errors\"/>\n <ng-content select=\"[after]\"></ng-content>\n </ng-template>`,\n standalone: false\n})\nexport class InputComponent\n extends AbstractComponent<any>\n implements OnInit, AfterViewInit {\n @Input({ alias: 'disabled', transform: booleanAttribute, }) disabled?: boolean;\n @Input({ alias: 'readonly', transform: booleanAttribute, }) readonly?: boolean;\n @Input({ alias: 'before-text', transform: booleanAttribute, }) beforeText?: boolean;\n @Input({ alias: 'placeholder' }) placeholder?: string;\n @Input({ alias: 'type' }) type?: 'text' | 'email' | 'number' | 'password' | 'search' | 'tel' | 'url' | 'datetime-local' | string = 'text';\n @Input({ alias: 'size' }) size?: 'small' | 'large';\n @Input({ alias: 'name' }) name?: string;\n @Input({ alias: 'max', transform: numberAttribute }) max?: number;\n @Input({ alias: 'min', transform: numberAttribute }) min?: number;\n @Input({ alias: 'step', transform: numberAttribute }) step?: number;\n @Input({ alias: 'date-type' }) dateType?: 'date' | 'string' | 'number' | 'date-tz' | string;\n @Input({ alias: 'timezone' }) timezone?: string = 'UTC';\n @Input({ alias: 'id', transform: (v: string) => v || '' }) userDefinedId: string = '';\n\t@Input({ alias: 'extValidation', transform: booleanAttribute, }) extValidation: boolean = false;\n @Input({ transform: booleanAttribute, alias: 'enable-validation' }) enableValidation? = false;\n\n get _type(): string {\n if (this.type === 'number') return 'text';\n return this.type || 'text';\n }\n\n @ViewChild('field') el!: ElementRef<HTMLInputElement>;\n\n constructor(private viewContainerRef: ViewContainerRef, idService: UniqueIdService, @Self() @Optional() override control?: NgControl) {\n super(idService, control);\n }\n\n update(ev: EventTarget | null) {\n if (!this.disabled) {\n if (this.type === 'number') {\n const t = ev as HTMLInputElement;\n const val = this.removeNonDigits(t?.value);\n if (!val) t.value = '';\n const comma = val.includes('.');\n let v = parseFloat(val);\n if (!isNaN(v)) {\n if (this.max && v > this.max) {\n v = this.max;\n }\n if (this.min && v < this.min) {\n v = this.min;\n }\n let text = v.toString() + (comma ? '.' : '');\n const firstDotIndex = text.indexOf('.');\n if (firstDotIndex !== -1) {\n text = (text.match(/\\./g) || [])?.length > 1 ? text.slice(0, firstDotIndex + 1) + text.slice(firstDotIndex + 1).replace(/\\./g, '') : text;\n }\n this.onChanged?.(parseFloat(text));\n t.value = text;\n return;\n }\n } if (this.type === 'datetime-local') {\n if (this.dateType === 'string') {\n const t = ev as HTMLInputElement;\n this.onChanged?.(t?.value || '');\n } else if (this.dateType === 'number') {\n const t = ev as HTMLInputElement;\n this.onChanged?.(Date.parse(t?.value + ':00'));\n } else if (this.dateType === 'date') {\n const t = ev as HTMLInputElement;\n this.onChanged?.(new Date(Date.parse(t?.value + ':00')));\n } else if (this.dateType === 'date-tz') {\n const t = ev as HTMLInputElement;\n const d = DateTz.parse(t?.value, 'YYYY-MM-DDTHH:mm', this.timezone);\n this.onChanged?.(d);\n }\n }\n else {\n const t = ev as HTMLInputElement;\n this.setValue(t?.value || '');\n }\n }\n }\n\n override onWrite(data: string): void {\n if (this.el && this.el.nativeElement) {\n if (this.type === 'number') {\n\t\t\t\tif (data === '' || data === null || data === undefined) {\n\t\t\t\t\tthis.value = '';\n\t\t\t\t\tthis.el.nativeElement.value = '';\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n let val = parseFloat(this.removeNonDigits(data));\n\n if (this.max && val > this.max) {\n val = this.max;\n }\n if (this.min && val < this.min) {\n val = this.min;\n }\n this.value = data;\n this.el.nativeElement.value = val.toString();\n return;\n } if (this.type === 'datetime-local') {\n if (this.dateType === 'string') {\n this.value = data;\n this.el.nativeElement.value = data || '';\n } else if (this.dateType === 'date') {\n const d: Date = data as any;\n this.value = `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, '0')}-${String(d.getDate()).padStart(2, '0')}T${String(d.getHours()).padStart(2, '0')}:${String(d.getMinutes()).padStart(2, '0')}`;\n this.el.nativeElement.value = this.value;\n } else if (this.dateType === 'number') {\n const d: Date = new Date(data);\n this.value = `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, '0')}-${String(d.getDate()).padStart(2, '0')}T${String(d.getHours()).padStart(2, '0')}:${String(d.getMinutes()).padStart(2, '0')}`;\n this.el.nativeElement.value = this.value;\n } else if (this.dateType === 'date-tz') {\n let d: IDateTz = data as any;\n if (!d?.timestamp) return;\n if (!d?.timezone) d.timezone = this.timezone;\n d = new DateTz(d);\n this.value = `${d.toString?.(\"YYYY-MM-DDTHH:mm\")}`;\n this.el.nativeElement.value = this.value;\n }\n }\n else {\n this.value = data;\n this.el.nativeElement.value = data || '';\n }\n }\n }\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n //this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n\n ngAfterViewInit() {\n this.onWrite(this.value || '');\n }\n\n removeNonDigits(value: string): string {\n const filtered = value.toString().match(/[0-9,.]/g)?.join('') || '';\n const standardized = filtered.replace(/,/g, '.');\n const [integerPart, ...fractionalParts] = standardized.split('.');\n const result = fractionalParts.length > 0 ? `${integerPart}.${fractionalParts.join('')}` : integerPart;\n return result;\n }\n\n}\n","import {\n AfterContentInit,\n booleanAttribute,\n Component,\n ContentChild,\n ContentChildren,\n Input,\n QueryList\n} from '@angular/core';\nimport { InputComponent } from './input.component';\nimport { ValidationErrors } from '@angular/forms';\nimport { InputValidationComponent } from './input-validation.component';\n\n@Component({\n selector: 'rlb-input-group',\n host: {\n '[class.has-validation]': 'validate',\n '[class.input-group]': '!text',\n '[class.input-group-text]': 'text',\n '[class.input-group-sm]': 'size === \"small\"',\n '[class.input-group-lg]': 'size === \"large\"',\n },\n template: `<ng-content></ng-content>`,\n standalone: false\n})\nexport class InputGroupComponent implements AfterContentInit {\n\n @Input({ alias: 'text', transform: booleanAttribute }) text?: boolean\n @Input({ alias: 'validate', transform: booleanAttribute }) validate?: boolean = false\n @Input({ alias: 'size' }) size?: 'small' | 'large'\n\n validations: ValidationErrors = {};\n\n @ContentChildren(InputComponent) inputs!: QueryList<InputComponent>;\n @ContentChild(InputValidationComponent) validation!: InputValidationComponent;\n ngAfterContentInit(): void {\n if (this.validate) {\n for (const input of this.inputs.toArray()) {\n input.extValidation = true;\n if (input.errors && input.name) {\n this.validations[input.name] = input.errors;\n }\n }\n if (this.validation) {\n this.validation.errors = this.validations;\n }\n }\n }\n}\n","import {\n Component,\n Input,\n ContentChildren,\n QueryList,\n ViewContainerRef,\n ViewChildren,\n ElementRef,\n DoCheck,\n booleanAttribute,\n ViewChild,\n} from '@angular/core';\nimport { AbstractComponent } from './abstract-field.component';\nimport { ControlValueAccessor } from '@angular/forms';\nimport { OptionComponent } from './options.component';\n\n@Component({\n selector: 'rlb-radio',\n template: `\n <div class=\"input-group has-validation\">\n <ng-content select=\"[before]\"></ng-content>\n <ng-container *ngFor=\"let option of options; index as i\">\n <div class=\"form-check\">\n <input\n #field\n [attr.disabled]=\"disabled ? true : undefined\"\n [attr.readonly]=\"readonly ? true : undefined\"\n class=\"form-check-input {{option.cssValue}}\"\n type=\"radio\"\n [name]=\"id + '-radio'\"\n [id]=\"id + '-radio-' + i\"\n [value]=\"option.value\"\n [checked]=\"value === option.value\"\n (blur)=\"touch()\"\n [ngClass]=\"{ 'is-invalid': control?.touched && control?.invalid }\"\n (change)=\"update($event.target)\"\n />\n <span #content></span>\n </div>\n </ng-container> \n <ng-content select=\"[after]\"></ng-content>\n <div class=\"invalid-feedback\">\n {{ errors | json }}\n </div>\n </div>`,\n standalone: false\n})\nexport class RadioComponent\n extends AbstractComponent<string>\n implements DoCheck, ControlValueAccessor {\n @Input({ alias: 'disabled', transform: booleanAttribute }) disabled?: boolean = false;\n @Input({ alias: 'readonly', transform: booleanAttribute }) readonly?: boolean = false;\n @Input({ alias: 'id', transform: (v: string) => v || '' }) userDefinedId: string = '';\n \n @ContentChildren(OptionComponent) options!: QueryList<OptionComponent>;\n @ViewChildren('content', { read: ViewContainerRef }) contents!: QueryList<ViewContainerRef>;\n @ViewChild('field') el!: ElementRef<HTMLInputElement>;\n\n ngDoCheck() {\n for (const content of (this.contents || [])) {\n content?.detach();\n }\n this.options?.forEach((option, i) => {\n this.contents.get(i)?.insert(option._view);\n });\n }\n\n update(ev: EventTarget | null) {\n if (!this.disabled) {\n const t = ev as HTMLInputElement;\n this.setValue(t?.value);\n }\n }\n\n override onWrite(data: string): void {\n if (this.el && this.el.nativeElement) {\n this.el.nativeElement.value = data;\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n Optional,\n Self,\n ViewChild,\n booleanAttribute,\n numberAttribute,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { AbstractComponent } from './abstract-field.component';\nimport { UniqueIdService } from '../../shared/unique-id.service';\n\n@Component({\n selector: 'rlb-range',\n host: {\n class: 'd-flex flex-grow-1 flex-shrink-1 flex-auto',\n },\n template: `\n <ng-content select=\"[before]\"></ng-content>\n <div class=\"input-group has-validation\">\n <input\n #field\n [id]=\"id\"\n class=\"form-range\"\n type=\"range\"\n [attr.disabled]=\"disabled ? true : undefined\"\n [attr.readonly]=\"readonly ? true : undefined\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.step]=\"step\"\n (blur)=\"touch()\"\n [ngClass]=\"{ 'is-invalid': control?.touched && control?.invalid }\"\n (input)=\"update($event.target)\"\n />\n <div class=\"invalid-feedback\">\n {{ errors | json }}\n </div>\n </div>\n <ng-content select=\"[after]\"></ng-content>`,\n standalone: false\n})\nexport class RangeComponent\n extends AbstractComponent<string>\n implements ControlValueAccessor {\n @Input({ alias: 'disabled', transform: booleanAttribute }) disabled?: boolean = false;\n @Input({ alias: 'readonly', transform: booleanAttribute }) readonly?: boolean = false;\n @Input({ alias: 'min', transform: numberAttribute }) min?: number | undefined = undefined;\n @Input({ alias: 'max', transform: numberAttribute }) max?: number | undefined = undefined;\n @Input({ alias: 'step', transform: numberAttribute }) step?: number | undefined = undefined;\n @Input({ alias: 'id', transform: (v: string) => v || '' }) userDefinedId: string = '';\n \n @ViewChild('field') el!: ElementRef<HTMLInputElement>;\n\n constructor(\n idService: UniqueIdService,\n @Self() @Optional() override control?: NgControl,\n ) {\n super(idService, control);\n }\n\n update(ev: EventTarget | null) {\n if (!this.disabled) {\n const t = ev as HTMLInputElement;\n this.setValue(t?.value);\n }\n }\n\n override onWrite(data: string): void {\n if (this.el && this.el.nativeElement) {\n this.el.nativeElement.value = data;\n }\n }\n}\n","import {\n Component,\n ElementRef,\n Input,\n Optional,\n Self,\n ViewChild,\n booleanAttribute, AfterViewInit,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { AbstractComponent } from './abstract-field.component';\nimport { UniqueIdService } from '../../shared/unique-id.service';\n\n@Component({\n selector: 'rlb-switch',\n template: `\n <div class=\"d-flex align-items-center gap-2\">\n <ng-content select=\"[before]\"></ng-content>\n\n <div class=\"form-check form-switch m-0\">\n <input\n #field\n class=\"form-check-input\"\n type=\"checkbox\"\n [id]=\"id\"\n [attr.disabled]=\"disabled ? true : undefined\"\n [attr.readonly]=\"readonly ? true : undefined\"\n (blur)=\"touch()\"\n [ngClass]=\"{ 'is-invalid': control?.touched && control?.invalid }\"\n (input)=\"update($event.target)\"\n />\n </div>\n\n <ng-content select=\"[after]\"></ng-content>\n </div>\n `,\n standalone: false\n})\nexport class SwitchComponent\n extends AbstractComponent<boolean>\n implements ControlValueAccessor, AfterViewInit {\n @Input({ transform: booleanAttribute, alias: 'disabled' }) disabled?: boolean;\n @Input({ transform: booleanAttribute, alias: 'readonly' }) readonly?: boolean;\n @Input({ alias: 'size' }) size?: 'small' | 'large';\n @Input({ alias: 'id', transform: (v: string) => v || '' }) userDefinedId: string = '';\n\n @ViewChild('field') el!: ElementRef<HTMLInputElement>;\n\n private data!: boolean;\n\n constructor(\n idService: UniqueIdService,\n @Self() @Optional() override control?: NgControl,\n ) {\n super(idService, control);\n }\n\n update(ev: EventTarget | null) {\n if (!this.disabled) {\n const t = ev as HTMLInputElement;\n this.setValue(t?.checked);\n }\n }\n\n override onWrite(data: boolean): void {\n this.data = data\n }\n\n ngAfterViewInit() {\n if (this.el && this.el.nativeElement) {\n if (this.data === undefined || this.data === null) return;\n if (typeof this.data === 'string') {\n this.el.nativeElement.checked = /^true$/i.test(this.data);\n }\n else {\n this.el.nativeElement.checked = this.data;\n }\n }\n }\n}\n","import {\n Component,\n ElementRef,\n Input,\n Optional,\n Self,\n ViewChild,\n booleanAttribute,\n numberAttribute,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { AbstractComponent } from './abstract-field.component';\nimport { UniqueIdService } from '../../shared/unique-id.service';\n\n@Component({\n selector: 'rlb-textarea',\n template: `\n <ng-content select=\"[before]\"></ng-content>\n <div class=\"input-group has-validation\">\n <textarea\n #field\n [id]=\"id\"\n class=\"form-control\"\n [rows]=\"rows\"\n [attr.rows]=\"rows\"\n [attr.disabled]=\"disabled ? true : undefined\"\n [attr.readonly]=\"readonly ? true : undefined\"\n [attr.placeholder]=\"placeholder\"\n [class.form-select-lg]=\"size === 'large'\"\n [class.form-select-sm]=\"size === 'small'\"\n (blur)=\"touch()\"\n [ngClass]=\"{ 'is-invalid': control?.touched && control?.invalid }\"\n (input)=\"update($event.target)\"\n ></textarea>\n <div class=\"invalid-feedback\">\n {{ errors | json }}\n </div>\n </div>\n <ng-content select=\"[after]\"></ng-content>`,\n standalone: false\n})\nexport class TextAreaComponent\n extends AbstractComponent<string>\n implements ControlValueAccessor {\n @Input({ transform: booleanAttribute, alias: 'disabled' }) disabled? = false;\n @Input({ transform: booleanAttribute, alias: 'readonly' }) readonly? = false;\n @Input({ alias: 'placeholder' }) placeholder?: string;\n @Input({ alias: 'size' }) size?: 'small' | 'large';\n @Input({ alias: 'rows', transform: numberAttribute }) rows: number = 3;\n @Input({ alias: 'id', transform: (v: string) => v || '' }) userDefinedId: string = ''; \n\n @ViewChild('field', { read: ElementRef }) el!: ElementRef<HTMLTextAreaElement>;\n\n constructor(\n idService: UniqueIdService,\n @Self() @Optional() override control?: NgControl,\n ) {\n super(idService, control);\n }\n\n update(ev: EventTarget | null) {\n if (!this.disabled) {\n const t = ev as HTMLInputElement;\n this.setValue(t?.value);\n }\n }\n\n override onWrite(data: string): void {\n if (this.el && this.el.nativeElement) {\n this.el.nativeElement.value = data;\n }\n }\n}\n","export * from './abstract-field.component';\nexport * from './abstract-autocomplete.component'\nexport * from './autocomplete-model'\nexport * from '../rlb-validators/required-autocomplete-validator'\n\nexport * from './autocomplete-country-dial-code.component'\nexport * from './autocomplete-country.component';\nexport * from './autocomplete-timezones.component';\nexport * from './autocomplete.component';\nexport * from './checkbox.component';\nexport * from './color.component';\nexport * from './datalist.component';\nexport * from './dnd-file.component';\nexport * from './dnd.directive';\nexport * from './file.component';\nexport * from './help-text.directive';\nexport * from './input-group.component';\nexport * from './input-validation.component';\nexport * from './input.component';\nexport * from './options.component';\nexport * from './radio.component';\nexport * from './range.component';\nexport * from './select.component';\nexport * from './switch.component';\nexport * from './text-area.component';\n\nimport { AutocompleteCountryDialCodeComponent } from './autocomplete-country-dial-code.component';\nimport { AutocompleteCountryComponent } from './autocomplete-country.component';\nimport { AutocompleteTimezonesComponent } from './autocomplete-timezones.component';\nimport { AutocompleteComponent } from './autocomplete.component';\nimport { CheckboxComponent } from './checkbox.component';\nimport { ColorComponent } from './color.component';\nimport { DatalistComponent } from './datalist.component';\nimport { FileDndComponent } from './dnd-file.component';\nimport { DndDirective } from './dnd.directive';\nimport { FileComponent } from './file.component';\nimport { HelpText } from './help-text.directive';\nimport { InputGroupComponent } from './input-group.component';\nimport { InputValidationComponent } from './input-validation.component';\nimport { InputComponent } from './input.component';\nimport { OptionComponent } from './options.component';\nimport { RadioComponent } from './radio.component';\nimport { RangeComponent } from './range.component';\nimport { SelectComponent } from './select.component';\nimport { SwitchComponent } from './switch.component';\nimport { TextAreaComponent } from './text-area.component';\n\nexport const INPUTS = [\n AutocompleteComponent,\n CheckboxComponent,\n InputComponent,\n SwitchComponent,\n TextAreaComponent,\n ColorComponent,\n DatalistComponent,\n RangeComponent,\n SelectComponent,\n RadioComponent,\n OptionComponent,\n FileComponent,\n InputGroupComponent,\n HelpText,\n DndDirective,\n FileDndComponent,\n InputValidationComponent,\n\n AutocompleteCountryComponent,\n\tAutocompleteTimezonesComponent,\n\tAutocompleteCountryDialCodeComponent\n];\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n ViewChild,\n booleanAttribute,\n} from '@angular/core';\nimport { FormControl, FormGroup, NgForm, Validators } from '@angular/forms';\nimport { FormFieldsDefinition, FormField, IForm } from './form-fields';\n\n@Component({\n selector: 'rlb-form-fields',\n templateUrl: './rlb-form-fields.component.html',\n styleUrls: ['./rlb-form-fields.component.scss'],\n standalone: false\n})\nexport class FormFieldsComponent implements IForm, OnChanges {\n public filterForm!: FormGroup;\n\n @Input({ alias: 'title' }) public title!: string;\n @Input({ alias: 'sub-title' }) public subTitle!: string;\n @Input({ alias: 'no-submit', transform: booleanAttribute }) public noSubmit?: boolean;\n @Input({ alias: 'no-card', transform: booleanAttribute }) public noCard?: boolean;\n @Input({ alias: 'fields' }) public fields?: FormFieldsDefinition;\n\n @Output() public submit: EventEmitter<any> = new EventEmitter();\n\n @ViewChild('ngForm') form!: NgForm;\n\n get _fields() {\n if (!this.fields) return [];\n return Object.keys(this.fields).map((o) => {\n return { property: o, ...this.fields?.[o] } as FormField;\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (\n changes['fields'].previousValue !== changes['fields'].currentValue ||\n changes['fields'].isFirstChange()\n ) {\n this.buildForm();\n }\n }\n\n private buildForm() {\n if (!this.fields) return;\n const formGroup = {} as { [k: string]: FormControl };\n for (const field of this._fields) {\n formGroup[field.property] = new FormControl(\n field.property,\n field.validators,\n );\n }\n this.filterForm = new FormGroup(formGroup);\n }\n\n onFilterSubmit() {\n if (this.filterForm.valid) {\n this.submit.emit(this.filterForm.value);\n }\n }\n\n identify(index: number, el: FormField): string {\n return el.property;\n }\n\n isText(t: string) {\n return [\n 'text',\n 'email',\n 'number',\n 'password',\n 'search',\n 'tel',\n 'url',\n 'string',\n ].includes(t);\n }\n\n isSwitch(t: string) {\n return ['switch'].includes(t);\n }\n\n submitForm() {\n this.form.onSubmit({} as Event);\n }\n}\n","<ng-container *ngIf=\"noCard; else card\">\n <ng-container [ngTemplateOutlet]=\"form\"></ng-container>\n</ng-container>\n\n<ng-template #card>\n <div class=\"card mb-3\">\n <div class=\"card-body\">\n <h5 class=\"card-title\" *ngIf=\"title\">{{ title | translate }}</h5>\n <p class=\"card-text\" *ngIf=\"subTitle\">{{ subTitle | translate }}</p>\n <ng-container [ngTemplateOutlet]=\"form\"></ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-template #form>\n <form\n *ngIf=\"filterForm\"\n [formGroup]=\"filterForm\"\n [class.was-validated]=\"ngForm.submitted\"\n class=\"needs-validation\"\n #ngForm=\"ngForm\"\n (ngSubmit)=\"onFilterSubmit()\"\n >\n <div class=\"row\">\n <div\n class=\"col\"\n [ngClass]=\"input.cols\"\n *ngFor=\"let input of _fields; trackBy: identify\"\n >\n <div class=\"mb-3\">\n <ng-container *ngIf=\"isText(input.type)\">\n <rlb-input\n [formControlName]=\"input.property\"\n [type]=\"input.type\"\n [placeholder]=\"input.name | translate\"\n >\n <ng-container *ngIf=\"input.label\" before>\n <span #after [innerHTML]=\"\">\n {{ input.label | translate }}\n </span>\n </ng-container>\n </rlb-input>\n </ng-container>\n <ng-container *ngIf=\"isSwitch(input.type)\">\n <rlb-switch\n [formControlName]=\"input.property\"\n />\n </ng-container>\n </div>\n </div>\n </div>\n <ng-container *ngIf=\"!noSubmit\">\n <div class=\"row\">\n <div class=\"col\">\n <button\n class=\"btn btn-primary float-end\"\n [disabled]=\"!filterForm.valid\"\n >\n {{ \"common.filter\" | translate }}\n </button>\n </div>\n </div>\n </ng-container>\n </form>\n</ng-template>\n","import { DateTzPipe } from './date-tz.pipe';\nimport { MonthFormatterPipe } from \"./month-formatter.pipe\";\nimport { DayOfWeekPipe } from \"./day-formatter.pipe\";\n\nexport * from './date-tz.pipe';\nexport * from './month-formatter.pipe';\nexport * from './day-formatter.pipe';\n\nexport const PIPES = [\n DateTzPipe,\n MonthFormatterPipe,\n DayOfWeekPipe\n];\n","import { Type } from '@angular/core';\nimport { ComponentInfo } from './data/component-info';\n\nexport class GenericComponent implements ComponentInfo {\n constructor(public component: Type<any>) {}\n public name!: string;\n public data!: any;\n}\n","import { ComponentHostDirective } from './component-host.directive';\n\nexport * from './data/component-creation-options';\nexport * from './data/component-data';\nexport * from './data/component-info';\nexport * from './builder.component';\nexport * from './component-host.directive';\nexport * from './generic.component';\n\nexport const COMPONENT_BUILDER = [ComponentHostDirective];\n","import { CdkDrag, CdkDragPlaceholder, CdkDragPreview, CdkDropList, CdkDropListGroup } from \"@angular/cdk/drag-drop\";\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { COMPONENTS } from './components';\nimport { TABLE } from './data/datatable';\nimport { INPUTS } from './forms/inputs';\nimport { FormFieldsComponent } from './forms/rlb-form-fields/rlb-form-fields.component';\nimport { PIPES } from './pipes';\nimport { COMPONENT_BUILDER } from './shared/component-builder';\n\n@NgModule({\n declarations: [\n ...TABLE,\n ...INPUTS,\n ...COMPONENTS,\n ...COMPONENT_BUILDER,\n ...PIPES,\n FormFieldsComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TranslateModule,\n RouterModule,\n CdkDrag,\n CdkDropListGroup,\n CdkDropList,\n CdkDragPlaceholder,\n CdkDragPreview\n ],\n exports: [\n ...TABLE,\n ...INPUTS,\n ...COMPONENTS,\n ...PIPES,\n FormFieldsComponent\n ],\n providers: [],\n})\nexport class RlbBootstrapModule { }\n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport { IModal, ModalData, ModalDirective } from '../components';\nimport { SearchModalInput } from './search-modal.data';\nimport { RlbBootstrapModule } from '../rlb-bootstrap.module';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n imports: [RlbBootstrapModule, FormsModule, CommonModule],\n standalone: true,\n template: ` <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{ data.title }}</h5>\n <button\n type=\"button\"\n class=\"btn-close\"\n aria-label=\"Close\"\n data-modal-reason=\"close\"\n ></button>\n </div>\n <div class=\"modal-body\">\n <h6>{{ data.content.searchText }}</h6>\n <rlb-input\n class=\"search-input\"\n [placeholder]=\"data.content.placeholder\"\n [(ngModel)]=\"searchText\"\n (keyup.enter)=\"onEnter()\"\n >\n <button\n #btn\n after\n rlb-button\n outline\n data-modal-reason=\"ok\"\n (click)=\"textSel()\"\n >\n <i class=\"bi bi-search\"></i>\n </button>\n </rlb-input>\n </div>`,\n hostDirectives: [\n {\n directive: ModalDirective,\n inputs: ['id', 'data-instance', 'data-options'],\n },\n ]\n})\nexport class SearchModalComponent\n implements IModal<SearchModalInput, string>, OnInit {\n @ViewChild('btn') btn!: ElementRef<HTMLElement>;\n\n data!: ModalData<SearchModalInput>;\n valid?: boolean = true;\n result?: string;\n searchText?: string;\n\n textSel() {\n this.result = this.searchText;\n }\n\n onEnter() { }\n\n ngOnInit(): void { }\n}\n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport { IModal, ModalData, ModalDirective } from '../components';\nimport { SearchModalInput } from './search-modal.data';\nimport { RlbBootstrapModule } from '../rlb-bootstrap.module';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { CommonModalData } from './common-modal.data';\n\n@Component({\n standalone: true,\n imports: [ModalDirective, RlbBootstrapModule, FormsModule, CommonModule],\n template: `\n <div [class]=\"'modal-header' + headerColor\">\n <h5 class=\"modal-title\">{{ data.title }}</h5>\n <button type=\"button\" class=\"btn-close\" aria-label=\"Close\" data-modal-reason=\"close\"></button>\n </div>\n <div class=\"modal-body\">\n <h6 *ngIf=\"data.content?.header\">\n {{ data.content.header }}\n </h6>\n <span>\n {{ data.content.body }}\n </span>\n </div>\n <div class=\"modal-footer\">\n <button *ngIf=\"data.cancel\" class=\"me-2\" rlb-button outline data-modal-reason=\"cancel\">\n {{ data.cancel }}\n </button>\n <button rlb-button data-modal-reason=\"ok\" [disabled]=\"!valid\">\n {{ data.ok }}\n </button>\n </div>\n `,\n hostDirectives: [\n {\n directive: ModalDirective,\n inputs: ['id', 'data-instance', 'data-options'],\n },\n ]\n})\nexport class CommonModalComponent\n implements IModal<CommonModalData, void>, OnInit {\n @ViewChild('btn') btn!: ElementRef<HTMLElement>;\n\n data!: ModalData<CommonModalData>;\n valid?: boolean = true;\n searchText?: string;\n\n get headerColor() {\n return this.data.type ? ` bg-${this.data.type}` : '';\n }\n\n onEnter() { }\n\n ngOnInit(): void { }\n}\n","export function createArrayProxy<T>(backingArray: T[], values: T[]): T[] {\n return new Proxy(backingArray, {\n get(target: T[], prop: string | number | symbol, receiver) {\n return target.includes(values[Number(prop)]);\n },\n set(target: T[], prop: string | number | symbol, value: T, receiver) {\n if (value) {\n if (!target.includes(values[Number(prop)])) {\n target.push(values[Number(prop)]);\n }\n } else {\n target.splice(target.indexOf(values[Number(prop)]), 1);\n }\n return true;\n },\n });\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\n\nexport const dateRangeValidator: ValidatorFn = (group: AbstractControl): ValidationErrors | null => {\n const startControl = group.get('start');\n const endControl = group.get('end');\n\n if (!startControl || !endControl || !startControl.value || !endControl.value) {\n return null;\n }\n\n const start = startControl.value.timestamp;\n const end = endControl.value.timestamp\n\n if (end < start) {\n startControl.setErrors({ invalidDateRange: true })\n endControl.setErrors({ invalidDateRange: true })\n return { invalidDateRange: true };\n }\n\n startControl.setErrors(null);\n endControl.setErrors(null);\n return null;\n};\n","import { Component, OnDestroy, OnInit } from \"@angular/core\";\nimport { CalendarEvent, IModal, ModalData, ModalDirective } from '../../../index';\nimport { RlbBootstrapModule } from \"../../../../rlb-bootstrap.module\";\nimport { FormBuilder, FormGroup, ReactiveFormsModule, Validators } from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\nimport { Color } from \"../../../../shared/types\";\nimport { Subject, takeUntil } from \"rxjs\";\nimport { UniqueIdService } from \"../../../../shared/unique-id.service\";\nimport { IDateTz } from \"@open-rlb/date-tz\";\nimport { dateRangeValidator } from \"./event-date-validator\";\n\n@Component({\n\tstandalone: true,\n\ttemplate: `\n\t\t<div [class]=\"'modal-header' + headerColor\">\n <h5 class=\"modal-title\">{{ data.title }}</h5>\n\t\t\t<button type=\"button\" class=\"btn-close\" aria-label=\"Close\" data-modal-reason=\"close\"></button>\n\t\t</div>\n <div class=\"modal-body\" [formGroup]=\"form\">\n <rlb-input enable-validation formControlName=\"title\">\n <label before>Event title</label>\n </rlb-input>\n <rlb-input enable-validation type=\"datetime-local\" date-type=\"date-tz\" formControlName=\"start\">\n <label before class=\"mt-3\">Event start</label>\n </rlb-input>\n <rlb-input enable-validation type=\"datetime-local\" date-type=\"date-tz\" formControlName=\"end\">\n <label before class=\"mt-3\">Event end</label>\n </rlb-input>\n <rlb-select enable-validation [placeholder]=\"'Choose event color'\" formControlName=\"color\">\n <label before class=\"mt-3\">Event color</label>\n <ng-container *ngFor=\"let color of colors\">\n <rlb-option [value]=\"color\">\n {{ color }}\n </rlb-option>\n </ng-container>\n </rlb-select>\n </div>\n\t\t<div class=\"modal-footer\">\n <button\n type=\"button\"\n class=\"btn \"\n data-modal-reason=\"cancel\"\n [ngClass]=\"{ 'btn-secondary': !eventToEdit, 'btn-danger': eventToEdit }\"\n >\n {{ eventToEdit ? 'Delete event' : 'Close' }}\n\t\t\t</button>\n <button type=\"button\" [disabled]=\"!valid\" class=\"btn btn-primary\" data-modal-reason=\"ok\">\n\t\t\t\tSave changes\n\t\t\t</button>\n\t\t</div>\n\t`,\n\thostDirectives: [\n\t\t{\n\t\t\tdirective: ModalDirective,\n\t\t\tinputs: ['id', 'data-instance', 'data-options'],\n\t\t},\n\t],\n imports: [RlbBootstrapModule, CommonModule, ReactiveFormsModule],\n})\nexport class EventCreateEditComponent implements IModal<CalendarEvent | undefined, CalendarEvent>, OnInit, OnDestroy {\n data!: ModalData<CalendarEvent>;\n result?: CalendarEvent;\n form!: FormGroup;\n colors: Color[] = [\n 'primary',\n 'secondary',\n 'success',\n 'warning',\n 'danger',\n 'info',\n 'light',\n 'dark',\n ]\n\n eventToEdit!: CalendarEvent;\n\n destroy$ = new Subject<void>();\n\n constructor(private fb: FormBuilder, private unique: UniqueIdService) {\n }\n\n ngOnInit() {\n this.eventToEdit = this.data.content\n this.form = this.fb.group({\n id: [this.eventToEdit ? this.eventToEdit.id : this.unique.id],\n title: [this.eventToEdit ? this.eventToEdit.title : \"\", Validators.required],\n start: [this.eventToEdit ? this.eventToEdit.start : \"\", Validators.required],\n end: [this.eventToEdit ? this.eventToEdit.end : \"\", Validators.required],\n color: [this.eventToEdit ? this.eventToEdit.color : \"\", Validators.required],\n }, { validators: dateRangeValidator })\n\n this.form.valueChanges.pipe(\n takeUntil(this.destroy$)\n ).subscribe((value: CalendarEvent) => {\n this.result = this.handleFormValueChange(value)\n })\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n }\n\n get headerColor() {\n\t\treturn this.data.type ? ` bg-${this.data.type}` : '';\n\t}\n\n get valid(): boolean {\n return !this.form.pristine && this.form.valid\n }\n\n private handleFormValueChange(formValue: CalendarEvent): CalendarEvent {\n const start = this.roundToQuarter(formValue.start);\n const end = this.roundToQuarter(formValue.end);\n return {\n ...formValue,\n start,\n end\n } as CalendarEvent;\n }\n\n private roundToQuarter(date?: IDateTz): IDateTz | string {\n if (date) {\n const minutes = date.minute!;\n const roundedMinutes = Math.round(minutes / 15) * 15;\n return date.set!(roundedMinutes, 'minute');\n }\n\n return \"\"\n }\n}\n","import { Component, OnInit } from \"@angular/core\";\nimport { CalendarEvent, IModal, ModalData, ModalDirective } from '../../../index';\nimport { CommonModule } from \"@angular/common\";\nimport { RlbBootstrapModule } from \"../../../../rlb-bootstrap.module\";\n\n@Component({\n standalone: true,\n template: `\n\t\t<div [class]=\"'modal-header' + headerColor\">\n <h5 class=\"modal-title\">{{ data.title }}</h5>\n\t\t\t<button type=\"button\" class=\"btn-close\" aria-label=\"Close\" data-modal-reason=\"close\"></button>\n\t\t</div>\n <div class=\"modal-body\">\n <div class=\"d-flex flex-column gap-1 overflow-y-auto p-3\" [style.height.rem]=\"containerHeightRem\">\n <rlb-card class=\"mb-0 shadow-lg rounded\" [border]=\"event.color\" *ngFor=\"let event of data.content\">\n <rlb-card-body class=\"d-flex align-items-center justify-content-between\">\n <div>\n <span rlb-badge pill [color]=\"event.color\">&nbsp;</span>\n <span>\n {{ event.title }}\n </span>\n </div>\n <div class=\"d-flex align-items-center gap-2\">\n <rlb-fab\n (click)=\"closeDialog(event, 'edit')\"\n data-modal-reason=\"ok\"\n class=\"align-self-end\"\n size=\"xs\"\n outline\n >\n <i class=\"bi bi-pencil\"></i>\n </rlb-fab>\n <rlb-fab\n (click)=\"closeDialog(event, 'delete')\"\n data-modal-reason=\"ok\"\n class=\"align-self-end\"\n size=\"xs\"\n color=\"danger\"\n outline\n >\n <i class=\"bi bi-trash\"></i>\n </rlb-fab>\n </div>\n </rlb-card-body>\n </rlb-card>\n </div>\n </div>\n\t\t<div class=\"modal-footer\">\n <button\n rlb-button\n color=\"secondary\"\n data-modal-reason=\"cancel\"\n >\n {{ 'Close' }}\n\t\t\t</button>\n\t\t</div>\n\t`,\n hostDirectives: [\n {\n directive: ModalDirective,\n inputs: ['id', 'data-instance', 'data-options'],\n },\n ],\n imports: [CommonModule, RlbBootstrapModule]\n})\nexport class CalendarOverflowEventsContainerComponent implements IModal<CalendarEvent[], CalendarOverflowEventsDialogResult>, OnInit {\n data!: ModalData<CalendarEvent[]>;\n containerHeightRem = 25;\n result: CalendarOverflowEventsDialogResult = {\n action: '' as CalendarOverflowEventDialogActionType,\n event: undefined as unknown as CalendarEvent\n };\n\n get headerColor() {\n return this.data.type ? ` bg-${this.data.type}` : '';\n }\n\n get valid(): boolean {\n return true\n }\n\n ngOnInit() {\n }\n\n closeDialog(event: CalendarEvent, action: CalendarOverflowEventDialogActionType) {\n this.result = { event, action }\n }\n}\n\nexport interface CalendarOverflowEventsDialogResult {\n action: CalendarOverflowEventDialogActionType,\n event: CalendarEvent\n}\n\nexport type CalendarOverflowEventDialogActionType = 'delete' | 'edit'\n","import { Component } from '@angular/core';\nimport { ToastDirective } from \"../../../toast/toast.directive\";\nimport { IToast } from \"../../../toast/data/toast\";\nimport { ToastData } from \"../../../toast/data/toast-data\";\nimport { CommonModule } from \"@angular/common\";\nimport { RlbBootstrapModule } from \"../../../../rlb-bootstrap.module\";\n\n@Component({\n template: `\n <div class=\"toast-header\">\n <strong class=\"me-auto\">{{data.title}}</strong>\n <small *ngIf=\"data.subtitle\"> {{data.subtitle }}</small>\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"toast\" aria-label=\"Close\"></button>\n </div>\n <div class=\"toast-body\">{{data.content}}</div>\n `,\n hostDirectives: [\n {\n directive: ToastDirective,\n inputs: ['id', 'data-instance', 'data-options'],\n },\n ],\n standalone: true,\n imports: [CommonModule, RlbBootstrapModule]\n})\nexport class CalendarToastComponent implements IToast<string, void> {\n data!: ToastData<string>;\n valid?: boolean = true;\n result?: any;\n}\n\n","/*\n * Public API Surface of ng-bootstrap\n */\n\nimport { EnvironmentProviders, Provider } from '@angular/core';\nimport {\n CalendarOverflowEventsContainerComponent,\n CalendarToastComponent,\n CommonModalComponent,\n EventCreateEditComponent,\n ModalRegistryOptions,\n RlbBootstrapModule,\n SearchModalComponent,\n ToastRegistryOptions\n} from './public-api';\n\n\nexport * from './lib/components';\nexport * from './lib/data/datatable';\nexport * from './lib/forms/inputs';\nexport * from './lib/forms/rlb-form-fields/rlb-form-fields.component';\nexport * from './lib/pipes';\nexport * from './lib/rlb-bootstrap.module';\n\nexport * from './lib/interfaces';\nexport * from './lib/modals';\nexport * from './lib/shared/i18-abstraction';\nexport * from './lib/shared/types';\nexport * from './lib/shared/unique-id.service';\nexport * from './lib/utils';\n\nexport * from './lib/components/calendar/calendar-dialogs/index';\n\nexport function provideRlbBootstrap(): (EnvironmentProviders | Provider)[] {\n return [\n RlbBootstrapModule,\n {\n provide: ModalRegistryOptions, useValue: {\n modals: {\n 'rlb-search': SearchModalComponent,\n 'rlb-common': CommonModalComponent,\n 'rlb-calendar-event-create-edit': EventCreateEditComponent,\n 'rlb-calendar-overlow-events-container': CalendarOverflowEventsContainerComponent\n }\n } as ModalRegistryOptions, multi: true\n },\n {\n provide: ToastRegistryOptions,\n useValue: {\n toasts: {\n \"rlb-calendar-toast\": CalendarToastComponent\n }\n },\n multi: true,\n },\n ];\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ButtonToolbarComponent","i1.ButtonComponent","i2.ToggleDirective","i1.UniqueIdService","i2","i1.ModalRegistryOptions","i3.UniqueIdService","i1.InnerModalService","i2.ComponentHostDirective","i1","i2.ButtonComponent","i1.ToastRegistryOptions","i2.UniqueIdService","i1.InnerToastService","i2.DropdownComponent","i3.DropdownContainerComponent","i4.DropdownMenuItemComponent","i5.DropdownDirective","i6","i7.DateTzPipe","i8.MonthFormatterPipe","i2.DateTzPipe","DateTz","i3.CalendarEventComponent","i4.DateTzPipe","i5.DayOfWeekPipe","i2.CalendarWeekGridComponent","i3.CalendarMonthGridComponent","i1.ModalService","i3.ToastService","i4","i5.ButtonComponent","i6.CalendarHeaderComponent","i7.CalendarGrid","i3.DropdownComponent","i4.DropdownContainerComponent","i2.BadgeComponent","i3.AvatarComponent","i3.ToggleDirective","i2.RlbPlaceholderComponent","i3.RlbPlaceholderLineComponent","i3","i4.BadgeDirective","i5.CollapseComponent","i6.ToggleDirective","i1.TooltipDirective","i1.ToggleDirective","i2.DataTableCellComponent","i4.InputValidationComponent","i4.DataTableCellComponent","i5.DataTableRowComponent","i6.SelectComponent","i7.OptionComponent","i5.ProgressComponent","i2.DndDirective","i3.ButtonComponent","i4.ProgressComponent","i3.InputComponent","i4.SwitchComponent","i1.DataTableActionComponent","i2.DataTableActionsComponent","i3.DataTableCellComponent","i4.DataTableHeaderComponent","i6.DataTableComponent","i7.DataTableLoadingComponent","i8.DataTableNoItemsComponent","i9.AutocompleteComponent","i10.CheckboxComponent","i11.InputComponent","i12.SwitchComponent","i13.TextAreaComponent","i14.ColorComponent","i15.DatalistComponent","i16.RangeComponent","i17.SelectComponent","i18.RadioComponent","i19.OptionComponent","i20.FileComponent","i21.InputGroupComponent","i22.HelpText","i23.DndDirective","i24.FileDndComponent","i25.InputValidationComponent","i26.AutocompleteCountryComponent","i27.AutocompleteTimezonesComponent","i28.AutocompleteCountryDialCodeComponent","i29.AlertComponent","i30.BreadcrumbComponent","i31.AccordionComponent","i32.AccordionItemComponent","i33.AccordionHeaderComponent","i34.AccordionBodyComponent","i35.ButtonComponent","i36.ButtonCloseComponent","i37.ButtonGroupComponent","i38.ButtonToolbarComponent","i39.RlbFabComponent","i40.BadgeDirective","i41.BadgeComponent","i42.CardBodyComponent","i43.CardFooterComponent","i44.CardGroupComponent","i45.CardHeaderComponent","i46.CardImageComponent","i47.CardLinkComponent","i48.CardSubtitleComponent","i49.CardTextComponent","i50.CardTitleComponent","i51.CardComponent","i52.SpinnerComponent","i53.ProgressComponent","i54.TooltipDirective","i55.PopoverDirective","i56.PlaceholderDirective","i57.CollapseComponent","i58.DropdownComponent","i59.DropdownContainerComponent","i60.DropdownMenuItemComponent","i61.DropdownDirective","i62.NavbarBrandDirective","i63.NavbarComponent","i64.NavbarFormComponent","i65.NavbarTextComponent","i66.NavbarItemsComponent","i67.NavbarDropdownItemComponent","i68.NavbarItemComponent","i69.NavbarSeparatorComponent","i70.OffcanvasComponent","i71.OffcanvasHeaderComponent","i72.OffcanvasTitleComponent","i73.OffcanvasBodyComponent","i74.ToggleDirective","i75.SidebarComponent","i76.SidebarItemComponent","i77.NavComponent","i78.NavItemComponent","i79.TabsComponent","i80.TabComponent","i81.TabContentComponent","i82.TabPaneComponent","i83.PaginationItemComponent","i84.PaginationComponent","i85.ScrollspyDirective","i86.CarouselComponent","i87.CarouselCaptionComponent","i88.CarouselSlideComponent","i89.ListComponent","i90.ListItemComponent","i91.ListItemImageComponent","i92.AvatarComponent","i93.ChatContainerComponent","i94.ChatItemComponent","i95.RlbPlaceholderComponent","i96.RlbPlaceholderLineComponent","i97.RlbPlaceholderTextComponent","i98.ModalContainerComponent","i99.ToastContainerComponent","i100.CalendarComponent","i101.CalendarHeaderComponent","i102.CalendarGrid","i103.CalendarWeekGridComponent","i104.CalendarMonthGridComponent","i105.CalendarEventComponent","i106.ComponentHostDirective","i107.DateTzPipe","i108.MonthFormatterPipe","i109.DayOfWeekPipe","i1.ModalDirective","i2.InputComponent","i3.ModalDirective","i4.InputComponent","i5.SelectComponent","i6.OptionComponent","i7","i4.RlbFabComponent","i5.BadgeComponent","i6.CardBodyComponent","i7.CardComponent","i1.ToastDirective"],"mappings":"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"}
1
+ {"version":3,"file":"open-rlb-ng-bootstrap.mjs","sources":["../../../../projects/rlb/ng-bootstrap/src/lib/components/accordions/accordion-body.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/buttons/buttons.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/buttons/boutton-toolbar.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/buttons/toggle.directive.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/accordions/accordion-header.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/abstract/toggle-abstract.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/shared/unique-id.service.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/accordions/accordion-item.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/accordions/accordion.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/alerts/alert.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/badges/badge.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/badges/badge.directive.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/breadcrumb/breadcrumb.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/buttons/boutton-group.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/buttons/buttons-close.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/cards/card-body.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/cards/card-footer.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/cards/card-group.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/cards/card-header.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/cards/card-image.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/cards/card-link.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/cards/card-subtitle.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/cards/card-text.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/cards/card-title.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/cards/card.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/carousel/carousel-caption.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/carousel/carousel-slide.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/carousel/carousel.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/collapse/collapse.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/dropdown/dropdown-container.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/dropdown/dropdown-menu-item.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/dropdown/dropdown.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/dropdown/dropdown.directive.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/loaders/progress.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/loaders/spinner.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/shared/component-builder/builder.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/shared/component-builder/component-host.directive.ts","../../../../projects/rlb/ng-bootstrap/src/lib/shared/abstract.registry.service.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/modals/options/modal-registry.options.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/modals/inner-modal.service.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/modals/modal-container.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/modals/modal.directive.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/modals/modal.service.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/modals/index.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/navigation/nav/nav-item.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/navigation/nav/nav.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/navigation/navbar/navbar-brand.directive.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/navigation/navbar/navbar-form.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/avatar/avatar.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/buttons/fab/fab.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/buttons/fab/fab.component.html","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/utils/calendar-date-utils.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/toast/options/toast-registry.options.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/toast/inner-toast.service.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/toast/toast-container.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/toast/toast.directive.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/toast/toast.service.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/toast/index.ts","../../../../projects/rlb/ng-bootstrap/src/lib/pipes/date-tz.pipe.ts","../../../../projects/rlb/ng-bootstrap/src/lib/pipes/month-formatter.pipe.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/header/calendar-header.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/header/calendar-header.component.html","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/event/calendar-event.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/event/calendar-event.component.html","../../../../projects/rlb/ng-bootstrap/src/lib/pipes/day-formatter.pipe.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/grid/week/calendar-week-grid.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/grid/week/calendar-week-grid.component.html","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/grid/month/calendar-month-grid.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/grid/month/calendar-month-grid.component.html","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/grid/calendar-grid.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/grid/calendar-grid.component.html","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/calendar.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/calendar.component.html","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/index.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/chat/chat-container.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/chat/chat-item.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/list/list-item-image.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/list/list-item.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/list/list.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/navigation/navbar/navbar-dropdown-item.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/navigation/navbar/navbar-item.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/navigation/navbar/navbar-items.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/navigation/navbar/navbar-separator.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/navigation/navbar/navbar-text.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/navigation/navbar/navbar.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/offcanvas/offcanvas-body.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/offcanvas/offcanvas-header.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/offcanvas/offcanvas-title.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/offcanvas/offcanvas.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/pagination/pagination-item.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/pagination/pagination.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/placeholder/placeholder-line.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/placeholder/placeholder.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/placeholder/placeholder-text.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/placeholder/placeholder.directive.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/scrollspy/scrollspy.directive.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/sidebar/sidebar-item.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/tooltips/tooltip.directive.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/sidebar/sidebar.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/tabs/tab-content.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/tabs/tab-pane.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/tabs/tab.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/tabs/tabs.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/tooltips/popover.directive.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/index.ts","../../../../projects/rlb/ng-bootstrap/src/lib/data/datatable/dt-action.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/data/datatable/dt-actions.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/data/datatable/dt-cell.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/data/datatable/dt-header.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/data/datatable/dt-row.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/abstract-field.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/options.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/shared/i18-abstraction.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/input-validation.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/select.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/data/datatable/dt-table.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/data/datatable/dt-table.component.html","../../../../projects/rlb/ng-bootstrap/src/lib/data/datatable/dt-loading.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/data/datatable/dt-noitems.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/data/datatable/index.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/abstract-autocomplete.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/rlb-validators/required-autocomplete-validator.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/autocomplete-country-dial-code.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/autocomplete-country.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/autocomplete-timezones.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/autocomplete.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/checkbox.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/color.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/datalist.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/dnd.directive.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/dnd-file.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/file.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/help-text.directive.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/input.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/input-group.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/radio.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/range.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/switch.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/text-area.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/inputs/index.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/rlb-form-fields/rlb-form-fields.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/forms/rlb-form-fields/rlb-form-fields.component.html","../../../../projects/rlb/ng-bootstrap/src/lib/pipes/index.ts","../../../../projects/rlb/ng-bootstrap/src/lib/shared/component-builder/generic.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/shared/component-builder/index.ts","../../../../projects/rlb/ng-bootstrap/src/lib/rlb-bootstrap.module.ts","../../../../projects/rlb/ng-bootstrap/src/lib/modals/search-modal.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/modals/common-modal.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/utils/array-proxy.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/calendar-dialogs/calendar-event-create-edit/event-date-validator.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/calendar-dialogs/calendar-event-create-edit/event-create-edit.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/calendar-dialogs/calendar-overflow-events-container/calendar-overflow-events-container.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/calendar-dialogs/calendar-toast/calendar-toast.component.ts","../../../../projects/rlb/ng-bootstrap/src/public-api.ts","../../../../projects/rlb/ng-bootstrap/src/open-rlb-ng-bootstrap.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'div[rlb-accordion-body]',\n template: ` <div class=\"accordion-body\">\n <ng-content></ng-content>\n </div>`,\n host: {\n class: 'accordion-collapse collapse',\n '[class.show]': 'expanded',\n '[id]': 'itemId',\n },\n standalone: false\n})\nexport class AccordionBodyComponent {\n public parentId!: string;\n public itemId!: string;\n public expanded: boolean = false;\n}\n","import { Component, Input, booleanAttribute } from '@angular/core';\nimport { Color, Size } from '../../shared/types';\n\n@Component({\n selector: 'button[rlb-button], a[rlb-button]',\n template: `<ng-content></ng-content>`,\n host: {\n '[class]': 'mainClass',\n '[attr.disabled]': 'disabled?true:undefined',\n },\n standalone: false\n})\nexport class ButtonComponent {\n @Input({ alias: 'color' }) color?: Color = 'primary';\n @Input({ alias: 'size' }) size?: Size = 'md';\n @Input({ alias: 'disabled', transform: booleanAttribute, }) disabled?: boolean;\n @Input({ alias: 'outline', transform: booleanAttribute, }) outline?: boolean;\n @Input({ alias: 'isLink', transform: booleanAttribute, }) isLink?: boolean;\n\n get mainClass() {\n let style = '';\n if (!this.isLink) {\n style = 'btn';\n if (this.color) {\n if (this.outline) {\n style += ` btn-outline-${this.color}`;\n } else {\n style += ` btn-${this.color}`;\n }\n }\n if (this.size !== 'md') {\n style += ` btn-${this.size}`;\n }\n } else {\n style = 'btn btn-link';\n if (this.color) {\n style += ` link-${this.color}`;\n }\n }\n return style;\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'rlb-button-toolbar',\n template: `<ng-content></ng-content>`,\n host: {\n class: 'btn-toolbar',\n 'attr.role': 'toolbar',\n },\n standalone: false\n})\nexport class ButtonToolbarComponent {\n @Input({ alias: 'orientation' }) orientation: 'horizontal' | 'vertical' = 'horizontal';\n @Input({ alias: 'size' }) size: 'sm' | 'md' | 'lg' = 'md';\n}\n","import {\n\tbooleanAttribute,\n\tDirective,\n\tDoCheck,\n\tElementRef,\n\tHost,\n\tInput,\n\tOptional,\n\tRenderer2,\n\tSelf\n} from '@angular/core';\nimport { ButtonToolbarComponent } from './boutton-toolbar.component';\n\n@Directive({\n selector: `\n button[toggle],\n a[toggle],\n rlb-navbar-item[toggle],\n rlb-button-toolbar[toggle]`,\n standalone: false\n})\nexport class ToggleDirective implements DoCheck {\n\t@Input({\n\t\talias: 'toggle',\n\t\trequired: true\n\t}) toggle?: 'offcanvas' | 'collapse' | 'tab' | 'pill' | 'dropdown' | 'buttons-group';\n @Input({ alias: 'toggle-target', required: true }) target!: string;\n @Input({ transform: booleanAttribute, alias: 'collapsed' }) collapsed?: boolean;\n @Input({ alias: 'auto-close' }) autoClose!: 'default' | 'inside' | 'outside' | 'manual';\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n @Host() @Self() @Optional() public buttonToolbar: ButtonToolbarComponent,\n ) { }\n\n ngDoCheck() {\n let element: HTMLElement;\n if (this.buttonToolbar) {\n element = this.elementRef.nativeElement;\n } else {\n element = this.elementRef.nativeElement;\n }\n\t\t\n\t\tif (this.toggle)\n this.renderer.setAttribute(element, 'data-bs-toggle', this.toggle);\n if (this.autoClose === 'default') {\n this.renderer.setAttribute(\n this.elementRef.nativeElement,\n 'data-bs-auto-close',\n 'true',\n );\n }\n if (this.autoClose === 'inside') {\n this.renderer.setAttribute(\n this.elementRef.nativeElement,\n 'data-bs-auto-close',\n 'inside',\n );\n }\n if (this.autoClose === 'outside') {\n this.renderer.setAttribute(\n this.elementRef.nativeElement,\n 'data-bs-auto-close',\n 'outside',\n );\n }\n if (this.autoClose === 'manual') {\n this.renderer.setAttribute(\n this.elementRef.nativeElement,\n 'data-bs-auto-close',\n 'false',\n );\n }\n if (this.collapsed === true) {\n this.renderer.addClass(element, 'collapsed');\n this.renderer.setAttribute(element, 'aria-expanded', 'false');\n } else if (this.collapsed === false) {\n this.renderer.removeClass(element, 'collapsed');\n this.renderer.setAttribute(element, 'aria-expanded', 'true');\n }\n this.renderer.setAttribute(element, 'aria-controls', this.target);\n\n if (this.toggle === 'dropdown' && this.target === '#') {\n this.renderer.setAttribute(element, 'href', '#');\n } else if (element?.nodeName.toLowerCase() === 'a') {\n this.renderer.setAttribute(element, 'href', `#${this.target}`);\n } else {\n this.renderer.setAttribute(element, 'data-bs-target', `#${this.target}`);\n }\n }\n}\n","import { Component, Input, SimpleChanges, OnChanges } from '@angular/core';\n\n@Component({\n selector: 'rlb-accordion-header',\n template: `\n <button class=\"accordion-button\" rlb-button toggle=\"collapse\" [toggle-target]=\"itemId\" [collapsed]=\"!expanded\">\n <ng-content></ng-content>\n </button>`,\n host: { class: 'accordion-header' },\n standalone: false\n})\nexport class AccordionHeaderComponent {\n public parentId!: string;\n public itemId!: string;\n public expanded: boolean = false;\n}\n","import {\n AfterContentChecked,\n ElementRef,\n EventEmitter,\n Injectable,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges\n} from '@angular/core';\nimport { VisibilityEvent } from '../../shared/types';\n\nabstract class _bs_component {\n abstract dispose(): void;\n abstract show(): void;\n abstract hide(): void;\n abstract toggle(): void;\n static getOrCreateInstance: (element: HTMLElement) => _bs_component;\n}\n\n@Injectable()\nexport abstract class ToggleAbstractComponent<T extends _bs_component>\n implements OnInit, OnDestroy, OnChanges, AfterContentChecked {\n protected _component!: T | undefined;\n protected htmlElement!: HTMLElement | Element | undefined;\n abstract get eventPrefix(): string;\n\n abstract getOrCreateInstance(element: HTMLElement | Element): T;\n abstract statusChange: EventEmitter<VisibilityEvent>;\n abstract status?: VisibilityEvent;\n\t\n\tconstructor(protected elementRef?: ElementRef<HTMLElement>) {\n\t}\n\n ngOnInit(elemnt?: HTMLElement | Element): void {\n this.htmlElement = elemnt || this.elementRef?.nativeElement;\n if (!this.htmlElement) throw new Error(`ElementRef not defined`);\n\t\tthis._addEventListeners();\n this._component = this.getOrCreateInstance(this.htmlElement);\n }\n\n ngOnDestroy(elemnt?: HTMLElement | Element): void {\n this.htmlElement = elemnt || this.elementRef?.nativeElement;\n if (!this.htmlElement) throw new Error(`ElementRef not defined`);\n\t\tthis._removeEventListeners();\n\t\tthis._component?.dispose();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['status'] && changes['status'].currentValue) {\n switch (changes['status'].currentValue) {\n case `hidden`:\n this.status = `hide`;\n this._component?.hide();\n break;\n case `shown`:\n this.status = `show`;\n this._component?.show();\n break;\n }\n }\n }\n\n ngAfterContentChecked(): void {\n if (this.status === 'show') {\n this.ensureInstance();\n this._component?.show();\n } else if (this.status === 'hide') {\n this.ensureInstance();\n this._component?.hide();\n }\n }\n\n open() {\n\t\tthis.ensureInstance();\n\t\tthis._component?.show();\n }\n\n close() {\n\t\tthis.ensureInstance();\n this._component?.hide();\n }\n\n toggle() {\n\t\tthis.ensureInstance();\n this._component?.toggle();\n }\n\t\n\tprotected ensureInstance(): void {\n if (!this._component && this.htmlElement) {\n this._component = this.getOrCreateInstance(this.htmlElement);\n }\n\t}\n\t\n\tprivate _addEventListeners(): void {\n\t\tthis.htmlElement?.addEventListener(`hide.${this.eventPrefix}`, this._openChange_f);\n\t\tthis.htmlElement?.addEventListener(`hidden.${this.eventPrefix}`, this._openChange_f);\n\t\tthis.htmlElement?.addEventListener(`hidePrevented.${this.eventPrefix}`, this._openChange_f);\n\t\tthis.htmlElement?.addEventListener(`show.${this.eventPrefix}`, this._openChange_f);\n\t\tthis.htmlElement?.addEventListener(`shown.${this.eventPrefix}`, this._openChange_f);\n\t}\n\t\n\tprivate _removeEventListeners(): void {\n\t\tthis.htmlElement?.removeEventListener(`hide.${this.eventPrefix}`, this._openChange_f);\n\t\tthis.htmlElement?.removeEventListener(`hidden.${this.eventPrefix}`, this._openChange_f);\n\t\tthis.htmlElement?.removeEventListener(`hidePrevented.${this.eventPrefix}`, this._openChange_f);\n\t\tthis.htmlElement?.removeEventListener(`show.${this.eventPrefix}`, this._openChange_f);\n\t\tthis.htmlElement?.removeEventListener(`shown.${this.eventPrefix}`, this._openChange_f);\n\t}\n\n private _openChange_f = (e: Event) => {\n if (e.target !== this.htmlElement) return;\n \n switch (e.type) {\n case `hide.${this.eventPrefix}`:\n this.status = `hide`;\n this.statusChange.emit(`hide`);\n break;\n case `hidden.${this.eventPrefix}`:\n this.status = 'hidden';\n this.statusChange.emit(`hidden`);\n break;\n case `hidePrevented.${this.eventPrefix}`:\n this.status = 'hidePrevented';\n this.statusChange.emit(`hidePrevented`);\n break;\n case `show.${this.eventPrefix}`:\n this.status = 'show';\n this.statusChange.emit(`show`);\n break;\n case `shown.${this.eventPrefix}`:\n this.status = 'shown';\n this.statusChange.emit(`shown`);\n break;\n }\n };\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UniqueIdService {\n private _id: number;\n\n constructor() {\n this._id = 0;\n }\n\n public get id() {\n this._id++;\n return `-${this._id}`;\n }\n}\n","import {\n booleanAttribute,\n Component,\n ContentChild,\n DoCheck,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewContainerRef\n} from '@angular/core';\nimport { AccordionHeaderComponent } from './accordion-header.component';\nimport { AccordionBodyComponent } from './accordion-body.component';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { ToggleAbstractComponent } from '../abstract/toggle-abstract.component';\nimport { Collapse } from 'bootstrap';\nimport { VisibilityEvent } from '../../shared/types';\n\n@Component({\n selector: 'div[rlb-accordion-item]',\n template: `\n <ng-content select=\"rlb-accordion-header\"></ng-content>\n <ng-content select=\"[rlb-accordion-body]\"></ng-content>\n `,\n host: { class: 'accordion-item' },\n standalone: false\n})\nexport class AccordionItemComponent\n extends ToggleAbstractComponent<Collapse>\n implements DoCheck, OnInit {\n\n element!: HTMLElement;\n public parentId!: string;\n public alwaysOpen?: boolean = false;\n\n @Input({ alias: 'name' }) public name?: string;\n @Input({ transform: booleanAttribute, alias: 'expanded' }) expanded: boolean = false;\n @Input({ alias: 'class' }) cssClass?: string = '';\n @Input({ alias: 'style' }) style?: string;\n @Input({ alias: 'status' }) override status: VisibilityEvent = 'hidden';\n\n @Output('statusChange') override statusChange = new EventEmitter<VisibilityEvent>();\n\n\n @ContentChild(AccordionHeaderComponent) public header!: AccordionHeaderComponent;\n @ContentChild(AccordionBodyComponent) public body!: AccordionBodyComponent;\n\n constructor(\n elementRef: ElementRef<HTMLElement>,\n private viewContainerRef: ViewContainerRef,\n private idService: UniqueIdService\n ) {\n super(elementRef);\n }\n\n override ngOnInit(): void {\n const element = this.elementRef?.nativeElement.querySelector('.accordion-collapse') as HTMLElement\n super.ngOnInit(element);\n \n if (this.expanded) {\n this.open();\n }\n }\n\n ngDoCheck(): void {\n if (this.parentId) {\n if (!this.name) {\n this.name = `${this.parentId}-item${this.idService.id}`;\n }\n \n const isOpen = this.status === 'show' || this.status === 'shown';\n\n if (this.header) {\n this.header.parentId = this.parentId;\n this.header.itemId = this.name;\n this.header.expanded = isOpen;\n }\n\n if (this.body) {\n this.body.parentId = this.parentId;\n this.body.itemId = this.name;\n this.body.expanded = isOpen;\n }\n }\n }\n \n override getOrCreateInstance(element: HTMLElement): Collapse {\n return Collapse.getOrCreateInstance(element, { toggle: false });\n }\n\n override get eventPrefix(): string {\n return 'bs.collapse';\n }\n}\n","import {\n AfterContentInit,\n booleanAttribute,\n Component,\n ContentChildren,\n DoCheck,\n Input,\n OnDestroy,\n QueryList,\n} from '@angular/core';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { AccordionItemComponent } from './accordion-item.component';\nimport { Subscription } from \"rxjs\";\n\n@Component({\n selector: 'rlb-accordion',\n template: `<ng-content select=\"[rlb-accordion-item]\"></ng-content>`,\n host: {\n class: 'accordion',\n '[class.accordion-flush]': 'flush',\n '[id]': 'id',\n },\n standalone: false\n})\nexport class AccordionComponent implements DoCheck, AfterContentInit, OnDestroy {\n @Input({ alias: 'flush', transform: booleanAttribute }) flush?: boolean = false;\n @Input({ alias: 'always-open', transform: booleanAttribute }) alwaysOpen?: boolean = false;\n @Input({ alias: 'id' }) id!: string;\n \n private subs: Subscription[] = [];\n\n @ContentChildren(AccordionItemComponent) public items!: QueryList<AccordionItemComponent>;\n constructor(private idService: UniqueIdService) { }\n\n ngDoCheck(): void {\n if (!this.id) {\n this.id = `accordion${this.idService.id}`;\n }\n\n if (this.items) {\n this.items.forEach((item) => {\n item.parentId = this.id;\n item.alwaysOpen = this.alwaysOpen;\n });\n }\n }\n \n ngAfterContentInit(): void {\n this.attachItemHandlers();\n this.enforceInitialState();\n this.items.changes.subscribe(() => {\n this.attachItemHandlers();\n this.enforceInitialState();\n });\n }\n \n ngOnDestroy(): void {\n this.cleanup();\n }\n \n private attachItemHandlers(): void {\n this.cleanup();\n \n this.items?.forEach((item) => {\n item.parentId = this.id;\n item.alwaysOpen = this.alwaysOpen;\n \n const sub = item.statusChange.subscribe((ev) => {\n if (!this.alwaysOpen && (ev === 'show' || ev === 'shown')) {\n this.items.forEach((other) => {\n if (other !== item && (other.status === 'show' || other.status === 'shown')) {\n other.close();\n }\n });\n }\n });\n \n this.subs.push(sub);\n });\n }\n \n private enforceInitialState(): void {\n if (!this.items) return;\n \n if (this.alwaysOpen) {\n return;\n }\n \n const opened = this.items.filter(\n (i) => i.expanded || i.status === 'show' || i.status === 'shown'\n );\n \n if (opened.length > 1) {\n opened.slice(1).forEach((i) => i.close());\n }\n }\n \n private cleanup(): void {\n this.subs.forEach((s) => s.unsubscribe());\n this.subs = [];\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n ViewContainerRef,\n TemplateRef,\n booleanAttribute,\n} from '@angular/core';\nimport { Color } from '../../shared/types';\n\n@Component({\n selector: 'rlb-alert',\n template: ` <ng-template #template>\n <div class=\"alert alert-{{ color }} {{ cssClass }}\" role=\"alert\">\n <ng-content></ng-content>\n <button\n *ngIf=\"dismissible\"\n type=\"button\"\n class=\"btn-close\"\n data-bs-dismiss=\"alert\"\n aria-label=\"Close\"\n (click)=\"dismissed.emit()\"\n ></button>\n </div>\n </ng-template>`,\n standalone: false\n})\nexport class AlertComponent {\n element!: HTMLElement;\n\n @Input({ alias: 'color' }) color: Color = 'primary';\n @Input({alias: 'dismissible', transform: booleanAttribute}) dismissible?: boolean;\n @Input({ alias: 'class' }) cssClass?: string = '';\n\n @Output() dismissed: EventEmitter<void> = new EventEmitter<void>();\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n\n constructor(private viewContainerRef: ViewContainerRef) { }\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import {\n Component,\n Renderer2,\n Input,\n ViewChild,\n ViewContainerRef,\n TemplateRef,\n booleanAttribute,\n} from '@angular/core';\nimport { Color } from '../../shared/types';\n\n@Component({\n selector: 'span[rlb-badge], img[rlb-badge]',\n template: `\n <ng-template #template>\n <span [class]=\"style\">\n <ng-content></ng-content>\n <span *ngIf=\"hiddenText\" class=\"visually-hidden\">{{ hiddenText }}</span>\n </span>\n </ng-template>`,\n standalone: false\n})\nexport class BadgeComponent {\n element!: HTMLElement;\n\n @Input({ alias: 'pill', transform: booleanAttribute }) pill!: | boolean;\n @Input({ alias: 'color' }) color?: Color = 'primary';\n @Input({ alias: 'hidden-text' }) hiddenText?: string;\n @Input({ alias: 'border', transform: booleanAttribute }) border?: boolean;\n @Input({ alias: 'class' }) cssClass?: string = '';\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n\n constructor(private viewContainerRef: ViewContainerRef) { }\n\n get style() {\n let style = 'badge';\n if (this.pill) {\n style += ` rounded-pill`;\n }\n if (this.color) {\n style += ` bg-${this.color}`;\n }\n if (this.border) {\n style += ` border`;\n }\n return style += (this.cssClass ? ` ${this.cssClass}` : '');\n }\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import {\n\tAfterViewInit,\n\tbooleanAttribute,\n\tDirective,\n\tDoCheck,\n\tElementRef,\n\tInput,\n\tnumberAttribute,\n\tRenderer2,\n} from '@angular/core';\nimport { Color } from '../../shared/types';\n\n@Directive({\n selector: '[badge]',\n standalone: false\n})\nexport class BadgeDirective implements AfterViewInit, DoCheck {\n\tprivate _badge?: string;\n\t@Input({ alias: 'badge' })\n\tset badge(value: string | undefined) {\n\t\tthis._badge = value;\n\t\tthis.updateBadge();\n\t}\n\t\n\tget badge() {\n\t\treturn this._badge;\n\t}\n @Input({ alias: 'badge-pill', transform: booleanAttribute }) pill!: boolean;\n @Input({ alias: 'badge-border', transform: booleanAttribute }) border!: boolean;\n @Input({ alias: 'badge-top', transform: numberAttribute }) top!: number;\n @Input({ alias: 'badge-start', transform: numberAttribute }) start!: number;\n @Input({ alias: 'badge-color' }) color: Color = 'danger';\n @Input({ alias: 'hidden-text' }) hiddenText!: string;\n\n private badgeContent!: any;\n private badgeElement!: HTMLElement;\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n ) { }\n\n ngDoCheck(): void {\n if (this.badge) {\n if (this.badgeContent) {\n this.badgeContent.data = this.badge;\n this.badgeElement.style.display = 'inline';\n }\n } else {\n if (this.badgeContent) {\n this.badgeElement.style.display = 'none';\n }\n }\n }\n\n ngAfterViewInit() {\n\t\tif (!this.badge) return;\n\t\tthis.createBadgeElement()\n }\n\t\n\tprivate updateBadge() {\n\t\tif (!this.badgeElement) return;\n\t\tif (this.badge) {\n\t\t\tif (this.badgeContent) {\n\t\t\t\tthis.badgeContent.data = this.badge;\n\t\t\t\tthis.badgeElement.style.display = 'inline';\n\t\t\t} else {\n\t\t\t\tthis.badgeContent = this.renderer.createText(this.badge);\n\t\t\t\tthis.renderer.appendChild(this.badgeElement, this.badgeContent);\n\t\t\t\tthis.badgeElement.style.display = 'inline';\n\t\t\t}\n\t\t} else if (this.badgeElement) {\n\t\t\tthis.badgeElement.style.display = 'none';\n\t\t}\n\t}\n\t\n\tprivate createBadgeElement() {\n\t\tthis.badgeElement = this.renderer.createElement('span');\n\t\t\n\t\tif (this.top || this.start || this.top === 0 || this.start === 0) {\n\t\t\tthis.renderer.addClass(this.badgeElement, 'position-absolute');\n\t\t\tif (this.top || this.top === 0) {\n\t\t\t\tthis.renderer.addClass(this.badgeElement, `top-${this.top}`);\n\t\t\t}\n\t\t\tif (this.start || this.start === 0) {\n\t\t\t\tthis.renderer.addClass(this.badgeElement, `start-${this.start}`);\n\t\t\t}\n\t\t\tthis.renderer.addClass(this.badgeElement, 'translate-middle');\n\t\t}\n\t\tthis.renderer.addClass(this.badgeElement, 'badge');\n\t\tif (this.pill) {\n\t\t\tthis.renderer.addClass(this.badgeElement, 'rounded-pill');\n\t\t}\n\t\tif (this.border) {\n\t\t\tthis.renderer.addClass(this.badgeElement, 'rounded-border');\n\t\t}\n\t\tif (this.color) {\n\t\t\tthis.renderer.addClass(this.badgeElement, `bg-${this.color}`);\n\t\t}\n\t\tif (this.badge) {\n\t\t\tthis.badgeContent = this.renderer.createText(this.badge);\n\t\t\tthis.renderer.appendChild(this.badgeElement, this.badgeContent);\n\t\t} else {\n\t\t\tif (this.top || this.start || this.top === 0 || this.start === 0) {\n\t\t\t\tthis.renderer.addClass(this.badgeElement, `p-2`);\n\t\t\t} else {\n\t\t\t\tthis.renderer.addClass(this.badgeElement, `ps-0`);\n\t\t\t\tthis.renderer.addClass(this.badgeElement, `ms-2`);\n\t\t\t}\n\t\t\tthis.renderer.addClass(this.badgeElement, `border`);\n\t\t\tthis.renderer.addClass(this.badgeElement, `border-light`);\n\t\t\tthis.renderer.addClass(this.badgeElement, `rounded-circle`);\n\t\t\tif (!this.hiddenText) {\n\t\t\t\tconst text = this.renderer.createElement('span');\n\t\t\t\tthis.renderer.addClass(text, 'visually-hidden');\n\t\t\t\tthis.renderer.appendChild(this.badgeElement, text);\n\t\t\t}\n\t\t}\n\t\tif (this.hiddenText) {\n\t\t\tconst text = this.renderer.createElement('span');\n\t\t\tthis.renderer.addClass(text, 'visually-hidden');\n\t\t\tthis.renderer.appendChild(\n\t\t\t\ttext,\n\t\t\t\tthis.renderer.createText(this.hiddenText),\n\t\t\t);\n\t\t\tthis.renderer.appendChild(this.badgeElement, text);\n\t\t}\n\t\tthis.renderer.appendChild(this.elementRef.nativeElement, this.badgeElement);\n\t}\n}\n","import { Component, Input } from '@angular/core';\n\nexport interface BreadcrumbItem {\n label: string;\n link?: string;\n}\n\n@Component({\n selector: 'rlb-breadcrumb',\n template: ` <nav\n aria-label=\"breadcrumb\"\n style=\"--bs-breadcrumb-divider: '{{ divider }}';\"\n >\n\t\t\t<ol class=\"breadcrumb\" [ngClass]=\"cssClasses\">\n <ng-container *ngFor=\"let item of items; last as last\">\n <li class=\"breadcrumb-item\" [ngClass]=\"{ active: !last }\">\n\t\t\t\t\t<a *ngIf=\"!last\" [routerLink]=\"item.link\">{{ item.label }}</a>\n <span *ngIf=\"last\">{{ item.label }}</span>\n </li>\n </ng-container>\n </ol>\n </nav>`,\n standalone: false\n})\nexport class BreadcrumbComponent {\n @Input({ alias: 'divider' }) divider?: string = '>';\n @Input({ alias: 'items' }) items?: BreadcrumbItem[] = [];\n\t@Input({ alias: 'cssClasses' }) cssClasses: string = '';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'rlb-button-group',\n template: `<ng-content></ng-content>`,\n host: {\n '[class.btn-group]': 'orientation !== \"vertical\"',\n '[class.btn-group-vertical]': 'orientation === \"vertical\"',\n '[class.btn-group-sm]': 'size === \"sm\"',\n '[class.btn-group-lg]': 'size === \"lg\"',\n 'attr.role': 'group',\n },\n standalone: false\n})\nexport class ButtonGroupComponent {\n @Input({ alias: 'orientation' }) orientation: 'horizontal' | 'vertical' = 'horizontal';\n @Input({ alias: 'size' }) size: 'sm' | 'md' | 'lg' = 'md';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'button[rlb-button-close], a[rlb-button-close]',\n template: `<ng-content></ng-content>`,\n host: {\n class: 'btn-close',\n 'attr.type': 'button',\n 'attr.aria-label': 'Close',\n },\n standalone: false\n})\nexport class ButtonCloseComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'rlb-card-body',\n template: ` <ng-content select=\"[rlb-card-title]\" />\n <ng-content select=\"[rlb-card-subtitle]\" />\n <ng-content select=\"[rlb-card-text],[rlb-card-link]\" />\n <ng-content />`,\n host: {\n class: 'card-body',\n '[class.card-img-overlay]': 'overlay',\n },\n standalone: false\n})\nexport class CardBodyComponent {\n overlay?: boolean = false;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'rlb-card-footer',\n template: `<ng-content />`,\n host: { class: 'card-footer' },\n standalone: false\n})\nexport class CardFooterComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'rlb-card-group',\n template: `<ng-content select=\"rlb-card\" />`,\n host: { class: 'card-group' },\n standalone: false\n})\nexport class CardGroupComponent {\n overlay: boolean = false;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'rlb-card-header',\n template: `<ng-content />`,\n host: { class: 'card-header' },\n standalone: false\n})\nexport class CardHeaderComponent {}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'img[rlb-card-image]',\n template: ``,\n host: {\n '[class.card-img-top]': 'position === \"top\" && !overlay',\n '[class.card-img-bottom]': 'position === \"bottom\" && !overlay',\n '[class.card-img]': 'overlay',\n },\n standalone: false\n})\nexport class CardImageComponent {\n @Input({ alias: 'position' }) position: 'top' | 'bottom' = 'top';\n overlay?: boolean = false;\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'a[rlb-card-link]',\n template: `<ng-content />`,\n host: { class: 'card-link' },\n standalone: false\n})\nexport class CardLinkComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'h*[rlb-card-subtitle]',\n template: `<ng-content />`,\n host: { class: 'card-subtitle mb-2 text-body-secondary' },\n standalone: false\n})\nexport class CardSubtitleComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'p[rlb-card-text]',\n template: `<ng-content />`,\n host: { class: 'card-text' },\n standalone: false\n})\nexport class CardTextComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'h*[rlb-card-title]',\n template: `<ng-content />`,\n host: { class: 'card-title' },\n standalone: false\n})\nexport class CardTitleComponent {}\n","import {\n Component,\n Input,\n ContentChild,\n DoCheck,\n booleanAttribute,\n} from '@angular/core';\nimport { Color, TextAlignment } from '../../shared/types';\nimport { CardBodyComponent } from './card-body.component';\nimport { CardImageComponent } from './card-image.component';\n\n@Component({\n selector: 'rlb-card',\n template: `\n <ng-content\n select=\"rlb-card-header,[rlb-card-image]:not([position='bottom'])\"\n />\n <ng-content select=\"rlb-card-body, ul[rlb-list]\" />\n <ng-content select=\"rlb-card-footer,[rlb-card-image][position='bottom']\" />\n `,\n host: {\n class: 'card',\n '[class.text-center]': 'align === \"center\"',\n '[class.text-end]': 'align === \"right\"',\n '[class.text-bg-primary]': 'background === \"primary\"',\n '[class.text-bg-secondary]': 'background === \"secondary\"',\n '[class.text-bg-success]': 'background === \"success\"',\n '[class.text-bg-danger]': 'background === \"danger\"',\n '[class.text-bg-warning]': 'background === \"warning\"',\n '[class.text-bg-info]': 'background === \"info\"',\n '[class.text-bg-light]': 'background === \"light\"',\n '[class.text-bg-dark]': 'background === \"dark\"',\n '[class.border-primary]': 'border === \"primary\"',\n '[class.border-secondary]': 'border === \"secondary\"',\n '[class.border-success]': 'border === \"success\"',\n '[class.border-danger]': 'border === \"danger\"',\n '[class.border-warning]': 'border === \"warning\"',\n '[class.border-info]': 'border === \"info\"',\n '[class.border-light]': 'border === \"light\"',\n '[class.border-dark]': 'border === \"dark\"',\n },\n standalone: false\n})\nexport class CardComponent implements DoCheck {\n @Input({ alias: 'align' }) align?: TextAlignment = 'left';\n @Input({ alias: 'overlay', transform: booleanAttribute }) overlay?: boolean;\n @Input({ alias: 'background' }) background?: Color;\n @Input({ alias: 'border' }) border?: Color;\n\n @ContentChild(CardBodyComponent) public body!: CardBodyComponent;\n @ContentChild(CardImageComponent) public image!: CardImageComponent;\n\n ngDoCheck(): void {\n if (this.body) {\n this.body.overlay = this.overlay;\n }\n if (this.image) {\n this.image.overlay = this.overlay;\n }\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'rlb-carousel-caption',\n template: `<ng-content></ng-content>`,\n host: { class: 'carousel-caption' },\n standalone: false\n})\nexport class CarouselCaptionComponent {}\n","import { booleanAttribute, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'rlb-carousel-slide',\n template: ` <ng-content></ng-content>\n <ng-content select=\"rlb-carousel-caption\"></ng-content>`,\n host: {\n class: 'carousel-item',\n \"[class.active]\": 'active'\n },\n standalone: false\n})\nexport class CarouselSlideComponent {\n @Input({ alias: 'active', transform: booleanAttribute }) active: boolean = false;\n @Input({ alias: 'id' }) id: string = '';\n}","import { AfterViewInit, Component, ContentChildren, DoCheck, ElementRef, EventEmitter, Input, OnDestroy, Output, QueryList, booleanAttribute, numberAttribute } from '@angular/core';\nimport { Carousel } from 'bootstrap';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { CarouselSlideComponent } from './carousel-slide.component';\n\n@Component({\n selector: 'rlb-carousel',\n template: `\n <ng-container *ngIf=\"!hideIndicators\">\n <div class=\"carousel-indicators\">\n <ng-container *ngFor=\"let item of items; let i = index\">\n <button\n type=\"button\"\n [class.active]=\"item.active\"\n [attr.data-bs-target]=\"'#' + id\"\n [attr.data-bs-slide-to]=\"i\"\n [attr.aria-label]=\"'Slide ' + (i + 1)\"\n ></button>\n </ng-container>\n </div>\n </ng-container>\n <div class=\"carousel-inner\">\n <ng-content select=\"rlb-carousel-slide\" />\n </div>\n <button\n *ngIf=\"!hideControls\"\n class=\"carousel-control-prev\"\n type=\"button\"\n [attr.data-bs-target]=\"'#' + id\"\n data-bs-slide=\"prev\"\n >\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button\n *ngIf=\"!hideControls\"\n class=\"carousel-control-next\"\n type=\"button\"\n [attr.data-bs-target]=\"'#' + id\"\n data-bs-slide=\"next\"\n >\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n `,\n host: {\n class: 'carousel slide',\n '[class.carousel-fade]': 'crossFade',\n '[id]': 'id',\n '[attr.data-bs-ride]': 'autoplay === \"auto\" ? \"carousel\" : autoplay === \"manual\" ? \"true\": undefined',\n '[attr.data-bs-touch]': 'noTouch ? undefined : true',\n '[attr.data-bs-interval]': 'interval',\n '[attr.data-bs-keyboard]': '!keyboard ? \"false\" : undefined',\n '[attr.data-bs-wrap]': '!wrap ? \"false\" : undefined',\n '[attr.data-bs-pause]': 'pause === false ? \"false\" : undefined',\n },\n standalone: false\n})\nexport class CarouselComponent implements DoCheck, OnDestroy, AfterViewInit {\n @ContentChildren(CarouselSlideComponent) public items!: QueryList<CarouselSlideComponent>;\n @Input() id!: string;\n\n @Input({ transform: booleanAttribute, alias: 'hide-indicators' }) hideIndicators?: boolean;\n @Input({ transform: booleanAttribute, alias: 'hide-controls' }) hideControls?: boolean;\n @Input({ transform: booleanAttribute, alias: 'cross-fade' }) crossFade?: boolean = false;\n @Input('autoplay') autoplay?: 'auto' | 'manual' | 'none' = 'auto';\n @Input('interval') interval?: number = 500;\n @Input('pause') pauseProp?: false | 'hover' = 'hover';\n @Input({ transform: booleanAttribute, alias: 'wrap' }) wrap?: boolean = true;\n @Input({ transform: booleanAttribute, alias: 'no-touch' }) noTouch?: boolean = false;\n @Input({ transform: booleanAttribute, alias: 'keyboard' }) keyboard?: boolean = true;\n @Output('slid') slid?: EventEmitter<Carousel.Event> = new EventEmitter<Carousel.Event>();\n @Output('slide') slide?: EventEmitter<Carousel.Event> = new EventEmitter<Carousel.Event>();\n @Output('current-slideChange') currentSlideChange: EventEmitter<number> = new EventEmitter<number>();\n @Output('slide-count') slideCountChange: EventEmitter<number> = new EventEmitter<number>();\n\n @Input({ alias: 'current-slide', transform: numberAttribute }) set currentSlide(index: number) {\n this._currentSlide = index;\n this.carousel?.to(index);\n }\n\n get currentSlide(): number {\n return this._currentSlide;\n }\n\n\n private carousel!: Carousel;\n private _currentSlide: number = 0;\n\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n private idService: UniqueIdService,\n ) { }\n\n ngOnDestroy(): void {\n this.carousel?.dispose();\n this.elementRef.nativeElement.removeEventListener(\n 'slid.bs.carousel',\n this.__event_slid_handler,\n );\n this.elementRef.nativeElement.removeEventListener(\n 'slide.bs.carousel',\n this.__event_slide_handler,\n );\n }\n\n ngDoCheck(): void {\n if (!this.id) {\n this.id = `carousel${this.idService.id}`;\n }\n }\n\n ngAfterViewInit(): void {\n this.carousel = Carousel.getOrCreateInstance(\n this.elementRef.nativeElement,\n {\n interval: this.interval,\n keyboard: this.keyboard,\n ride: this.adaptRide(this.autoplay),\n touch: this.noTouch ? false : true,\n wrap: this.wrap,\n pause: this.pauseProp,\n },\n );\n this.carousel.to(this._currentSlide);\n this.slideCountChange.emit(this.items.length);\n this.elementRef.nativeElement.addEventListener('slid.bs.carousel', e => this.__event_slid_handler(e));\n this.elementRef.nativeElement.addEventListener('slide.bs.carousel', e => this.__event_slid_handler(e));\n }\n\n private __event_slid_handler(e: any): void {\n this.currentSlideChange?.emit(e.to as number);\n this.slid?.emit(e as Carousel.Event);\n }\n\n private __event_slide_handler(e: unknown): void {\n this.slide?.emit(e as Carousel.Event);\n }\n\n public prev(): void {\n this.carousel?.prev();\n }\n\n public next(): void {\n this.carousel?.next();\n }\n\n public pause(): void {\n this.carousel?.pause();\n }\n\n public cycle(): void {\n this.carousel?.cycle();\n }\n\n public to(index: number): void {\n this.carousel?.to(index);\n }\n\n get slideCount(): number {\n return this.items.length;\n }\n\n adaptRide(o?: 'auto' | 'manual' | 'none') {\n if (o === 'auto') return 'carousel';\n if (o === 'manual') return true;\n if (o === 'none') return false;\n return undefined;\n }\n}\n","import { Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';\nimport { Collapse } from 'bootstrap';\nimport { ToggleAbstractComponent } from '../abstract/toggle-abstract.component';\nimport { VisibilityEvent } from '../../shared/types';\n\n@Component({\n selector: 'rlb-collapse',\n template: ` <div\n\t\t#collapseRef\n class=\"collapse\"\n [id]=\"id\"\n [class.collapse-horizontal]=\"orientation === 'horizontal'\"\n >\n <ng-content></ng-content>\n </div>`,\n host: { '[attr.id]': 'undefined' },\n standalone: false\n})\nexport class CollapseComponent\n extends ToggleAbstractComponent<Collapse>\n implements OnInit, OnDestroy {\n\n @Input({ alias: `id`, required: true }) id!: string;\n @Input({ alias: 'orientation' }) orientation?: 'horizontal' | 'vertical' = 'vertical';\n @Input({ alias: 'status' }) override status?: VisibilityEvent;\n\n @Output('statusChange') override statusChange = new EventEmitter<VisibilityEvent>();\n\t\n\t@ViewChild('collapseRef', { static: true }) collapseRef!: ElementRef<HTMLElement>;\n\n constructor(elementRef: ElementRef<HTMLElement>) {\n super(elementRef);\n }\n\t\n\toverride ngOnInit(elemnt?: HTMLElement | Element) {\n\t\tsuper.ngOnInit(this.collapseRef.nativeElement);\n\t}\n\t\n\toverride getOrCreateInstance(element: HTMLElement): Collapse {\n return Collapse.getOrCreateInstance(element, { toggle: false });\n }\n\n override get eventPrefix(): string {\n return 'bs.collapse';\n }\n}\n","import { Component, ElementRef, Input } from '@angular/core';\n\n@Component({\n selector: 'ul[rlb-dropdown-menu], rlb-dropdown-container',\n template: ` <ng-content *ngIf=\"isList\" select=\"li[rlb-dropdown-item]\" />\n <ng-content *ngIf=\"!isList\" />`,\n host: {\n class: 'dropdown-menu',\n '[class.dropdown-menu-end]': 'placement === \"right\"',\n '[class.dropdown-menu-start]': 'placement === \"left\"',\n '[class.dropdown-menu-sm-end]': 'placementSm === \"right\"',\n '[class.dropdown-menu-sm-start]': 'placementSm === \"left\"',\n '[class.dropdown-menu-md-end]': 'placementMd === \"right\"',\n '[class.dropdown-menu-md-start]': 'placementMd === \"left\"',\n '[class.dropdown-menu-lg-end]': 'placementLg === \"right\"',\n '[class.dropdown-menu-lg-start]': 'placementLg === \"left\"',\n '[class.dropdown-menu-xl-end]': 'placementXl === \"right\"',\n '[class.dropdown-menu-xl-start]': 'placementXl === \"left\"',\n '[class.dropdown-menu-xxl-end]': 'placementXxl === \"right\"',\n '[class.dropdown-menu-xxl-start]': 'placementXxl === \"left\"',\n '[style.border]': 'isList ? null : \"none\"',\n '[style.padding]': 'isList ? null : \"0px\"',\n },\n standalone: false\n})\nexport class DropdownContainerComponent {\n isList: boolean = false;\n \n @Input({ alias: 'placement' }) public placement!: 'left' | 'right';\n @Input({ alias: 'placement-sm' }) public placementSm!: 'left' | 'right'\n @Input({ alias: 'placement-md' }) public placementMd!: 'left' | 'right'\n @Input({ alias: 'placement-lg' }) public placementLg!: 'left' | 'right'\n @Input({ alias: 'placement-xl' }) public placementXl!: 'left' | 'right'\n @Input({ alias: 'placement-xxl' }) public placementXxl!: 'left' | 'right'\n\n constructor(\n private elementRef: ElementRef,\n ) {\n if (this.elementRef.nativeElement.nodeName.toLowerCase() === 'ul') {\n this.isList = true;\n }\n }\n}\n","import { booleanAttribute, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'li[rlb-dropdown-item]',\n\ttemplate: `\n\t\t<span\n\t\t\t*ngIf=\"!link && !divider && !header\"\n\t\t\tclass=\"dropdown-item \"\n\t\t\trole=\"button\"\n\t\t\t[class.active]=\"active\"\n\t\t\t[class.disabled]=\"disabled\"\n\t\t\t[class.text-wrap]=\"textWrap\"\n\t\t\t[class.text-break]=\"textWrap\"\n\t\t\t[attr.aria-current]=\"active\"\n\t\t\t[attr.aria-disabled]=\"disabled\"\n\t\t>\n\t\t\t\t<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\t\t\t</span>\n\t\t<a\n\t\t\t*ngIf=\"link\"\n\t\t\tclass=\"dropdown-item \"\n\t\t\t[routerLink]=\"link\"\n [class.active]=\"active\"\n [class.disabled]=\"disabled\"\n\t\t\t[class.text-wrap]=\"textWrap\"\n\t\t\t[class.text-break]=\"textWrap\"\n [attr.aria-current]=\"active\"\n [attr.aria-disabled]=\"disabled\"\n >\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </a>\n <h6 *ngIf=\"header\" class=\"dropdown-header\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </h6>\n <hr *ngIf=\"divider\" class=\"dropdown-divider\" />\n <ng-template #content><ng-content /></ng-template>`,\n standalone: false\n})\nexport class DropdownMenuItemComponent {\n @Input({ alias: 'active', transform: booleanAttribute }) active?: boolean;\n @Input({ alias: 'disabled', transform: booleanAttribute }) disabled?: boolean;\n @Input({ alias: 'header', transform: booleanAttribute }) header?: boolean;\n @Input({ alias: 'divider', transform: booleanAttribute }) divider?: boolean;\n\t@Input({ alias: 'link' }) link?: string = '';\n\t@Input({ alias: 'text-wrap', transform: booleanAttribute }) textWrap?: boolean;\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'rlb-dropdown',\n template: `\n <ng-content select=\"a[rlb-dropdown], button[rlb-dropdown]\" />\n <ng-content select=\"[rlb-dropdown-menu], rlb-dropdown-container\" />\n `,\n host: {\n '[class.dropdown]': 'direction === \"down\"',\n '[class.dropdown-center]': 'direction === \"down-center\"',\n '[class.dropup]': 'direction === \"up\" || direction === \"up-center\"',\n '[class.dropup-center]': 'direction === \"up-center\"',\n '[class.dropstart]': 'direction === \"left\"',\n '[class.dropend]': 'direction === \"right\"',\n },\n standalone: false\n})\nexport class DropdownComponent {\n @Input({ alias: 'direction' }) direction: 'up' | 'down' | 'left' | 'right' | 'up-center' | 'down-center' = 'down';\n}\n","import {\n Directive,\n DoCheck,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n} from '@angular/core';\nimport { Dropdown } from 'bootstrap';\nimport { VisibilityEventBase } from '../../shared/types';\nimport { ComponentOptions } from \"bootstrap/js/dist/base-component\";\n\n@Directive({\n selector: 'a[rlb-dropdown], button[rlb-dropdown], span[rlb-badge][rlb-dropdown]',\n standalone: false\n})\nexport class DropdownDirective implements DoCheck, OnInit, OnDestroy {\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n ) { }\n private _dropdown: Dropdown | undefined;\n private listeners: (() => void)[] = [];\n @Input({ alias: 'offset' }) offset: number[] = [];\n @Input({ alias: 'auto-close' }) autoClose: 'default' | 'inside' | 'outside' | 'manual' = 'default';\n @Output('status-changed') statusChanged = new EventEmitter<VisibilityEventBase>();\n\n ngOnInit(): void {\n \n switch (this.autoClose) {\n case 'default':\n this.renderer.setAttribute(\n this.elementRef.nativeElement,\n 'data-bs-auto-close',\n 'true',\n );\n break;\n case 'inside':\n this.renderer.setAttribute(\n this.elementRef.nativeElement,\n 'data-bs-auto-close',\n 'inside',\n );\n break;\n case 'outside':\n this.renderer.setAttribute(\n this.elementRef.nativeElement,\n 'data-bs-auto-close',\n 'outside',\n );\n break;\n case 'manual':\n this.renderer.setAttribute(\n this.elementRef.nativeElement,\n 'data-bs-auto-close',\n 'false',\n );\n break;\n }\n \n const dropdownOptions: ComponentOptions = {\n offset: this.offset,\n // bootstrap offset functionality is offered by popper.js library\n // it requires \"display: dynamic\" (default bootstrap value = static)\n display: this.offset.length ? 'dynamic' : 'static'\n }\n \n // add a custom class to customize css behavior\n if (dropdownOptions[\"display\"] === 'dynamic') {\n this.renderer.addClass(this.elementRef.nativeElement, 'dropdown-dynamic');\n } else {\n this.renderer.addClass(this.elementRef.nativeElement, 'dropdown-static');\n }\n \n this._dropdown = Dropdown.getOrCreateInstance(this.elementRef.nativeElement, dropdownOptions);\n // this.elementRef.nativeElement.addEventListener('show.bs.dropdown', () => {\n // this.statusChanged.emit('show');\n // })\n // this.elementRef.nativeElement.addEventListener('shown.bs.dropdown', () => {\n // this.statusChanged.emit('shown');\n // })\n // this.elementRef.nativeElement.addEventListener('hide.bs.dropdown', () => {\n // this.statusChanged.emit('hide');\n // })\n // this.elementRef.nativeElement.addEventListener('hidden.bs.dropdown', () => {\n // this.statusChanged.emit('hidden');\n // })\n \n // event handlers via Renderer2.listen (returns unsubscribe fn)\n const el = this.elementRef.nativeElement;\n this.listeners.push(\n this.renderer.listen(el, 'show.bs.dropdown', () => this.statusChanged.emit('show')),\n this.renderer.listen(el, 'shown.bs.dropdown', () => this.statusChanged.emit('shown')),\n this.renderer.listen(el, 'hide.bs.dropdown', () => this.statusChanged.emit('hide')),\n this.renderer.listen(el, 'hidden.bs.dropdown', () => this.statusChanged.emit('hidden')),\n );\n }\n\n ngDoCheck() {\n this.renderer.addClass(this.elementRef.nativeElement, 'dropdown-toggle');\n this.renderer.setAttribute(\n this.elementRef.nativeElement,\n 'data-bs-toggle',\n 'dropdown',\n );\n if (this.elementRef.nativeElement.nodeName.toLowerCase() === 'a') {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'href', `#`);\n }\n }\n \n ngOnDestroy() {\n // clean up event listeners\n this.listeners.forEach(unsub => unsub());\n this.listeners = [];\n \n // bootstrap cleanup\n this._dropdown?.dispose();\n }\n}\n","import { Component, Input, booleanAttribute, numberAttribute } from '@angular/core';\nimport { Color } from '../../shared/types';\n\n@Component({\n selector: 'rlb-progress',\n template: `\n <div\n class=\"progress-bar {{ color && !infinite? 'bg-' + color : '' }} {{ textColor? 'text-' + textColor : '' }}\"\n [class.progress-bar-animated]=\"animated\"\n [class.progress-bar-striped]=\"striped\"\n [class.infinite-progress]=\"infinite\"\n [style.background-color]=\"infinite? 'unset' : null\"\n [style.width.%]=\"infinite? max :getPercentValue()\">\n <div *ngIf=\"infinite\" class=\"inner bg-{{color}}\"></div>\n <span *ngIf=\"showValue; else e\">\n {{ getPercentValue() }}\n </span>\n <ng-template #e>\n <ng-content></ng-content>\n </ng-template>\n </div>`,\n host: {\n class: 'progress',\n 'attr.role': 'progressbar',\n '[attr.aria-valuenow]': 'getPercentValue()',\n 'aria-valuemin': '0',\n '[attr.aria-valuemax]': 'max',\n '[attr.aria-valuemin]': 'min',\n '[attr.aria-label]': 'ariaLabel',\n '[style.height.px]': 'height',\n },\n standalone: false\n})\nexport class ProgressComponent {\n\n @Input({ alias: 'max', transform: numberAttribute }) max: number = 100;\n @Input({ alias: 'min', transform: numberAttribute }) min: number = 0;\n @Input({ alias: 'value', transform: numberAttribute }) value = 0;\n @Input({ alias: 'height', transform: numberAttribute }) height!: number;\n @Input({ alias: 'animated', transform: booleanAttribute }) animated?: boolean = false;\n @Input({ alias: 'striped', transform: booleanAttribute }) striped?: boolean = false;\n @Input({ alias: 'infinite', transform: booleanAttribute }) infinite?: boolean = false;\n @Input({ alias: 'aria-label' }) ariaLabel!: string;\n @Input({ alias: 'showValue', transform: booleanAttribute }) showValue?: boolean = false;\n @Input({ alias: 'color' }) color: Color = 'primary';\n @Input({ alias: 'text-color' }) textColor!: Color;\n\n getPercentValue() {\n return ((this.value - this.min) / (this.max - this.min)) * 100;\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Color } from '../../shared/types';\n\n@Component({\n selector: 'rlb-spinner',\n template: `<span class=\"visually-hidden\">Loading...</span>`,\n host: {\n '[class.spinner-border]': 'style === \"border\"',\n '[class.spinner-grow]': 'style === \"grow\"',\n '[class.spinner-border-sm]': 'size === \"sm\" && style === \"border\"',\n '[class.spinner-grow-sm]': 'size === \"sm\" && style === \"grow\"',\n '[class.spinner-border-lg]': 'size === \"lg\" && style === \"border\"',\n '[class.spinner-grow-lg]': 'size === \"lg\" && style === \"grow\"',\n role: 'status',\n '[class]': \"'text-'+color\",\n },\n standalone: false\n})\nexport class SpinnerComponent {\n @Input({ alias: 'style' }) style?: 'grow' | 'border' = 'border';\n @Input({ alias: 'color' }) color?: Color = 'primary';\n @Input({ alias: 'size' }) size?: 'sm' | 'md' | 'lg' = 'md';\n}\n","import { ComponentRef, Injectable, Type } from '@angular/core';\nimport { ComponentHostDirective } from './component-host.directive';\nimport { ComponentInfo } from './data/component-info';\nimport { GenericComponent } from './generic.component';\nimport { AbstractRegistryService } from '../abstract.registry.service';\nimport { ComponentCreationOptions } from './data/component-creation-options';\n\n@Injectable()\nexport abstract class BuilderComponent<\n T extends AbstractRegistryService<Function>,\n> {\n abstract component: ComponentHostDirective;\n abstract builderId: string;\n\n constructor(protected registryService: T) {}\n\n public buildComponent<Data = any, Options = any>(\n component: ComponentInfo<string, Data>,\n creationOptions?: ComponentCreationOptions,\n componentOptions?: Options,\n ): ComponentRef<GenericComponent> | null {\n if (component.name) {\n const componentType = this.registryService.get(\n component.name,\n ) as Type<any>;\n const componentRef =\n this.component.viewContainerRef.createComponent<GenericComponent>(\n componentType,\n );\n componentRef.instance.data = component.data;\n if (creationOptions?.setInstance === true) {\n componentRef.setInput(\n creationOptions?.instanceInputName || 'data-instance',\n componentRef.instance,\n );\n }\n if (componentOptions) {\n componentRef.setInput('data-options', componentOptions);\n }\n if (creationOptions && creationOptions.inputs) {\n for (const key in creationOptions.inputs) {\n componentRef.setInput(key, creationOptions.inputs[key]);\n }\n }\n return componentRef;\n }\n return null;\n }\n}\n","import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[component-host]',\n standalone: false\n})\nexport class ComponentHostDirective {\n constructor(public viewContainerRef: ViewContainerRef) {}\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport abstract class AbstractRegistryService<T extends Function> {\n protected registry: Map<string, T> = new Map();\n\n public get(name: string | null | undefined) {\n if (!name) return;\n const type = this.registry.get(name);\n if (!type) throw new Error(`Component ${name} not found in registry`);\n return type;\n }\n\n protected add(name: string, type: T,) {\n if (!type) throw new Error('Component type is required');\n if (!name) throw new Error('Component name is required');\n let _name: string = this.dasherizeString(name);\n this.registry.set(_name, type);\n }\n\n protected dasherizeName(type: Function) {\n let name: string = type?.prototype?.constructor?.name;\n name = name.startsWith('_') ? name.slice(1) : name;\n return this.dasherizeString(name);\n }\n\n protected dasherizeString(val: string): string {\n if (!val) '';\n return val.replace(\n /[A-Z]/g,\n (char, index) => (index !== 0 ? '-' : '') + char.toLowerCase(),\n );\n }\n}\n","import { Injectable, Type } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ModalRegistryOptions {\n public modals!: { [name: string]: Type<any> };\n}\n","import { MediaMatcher } from '@angular/cdk/layout';\nimport { ComponentRef, Injectable, Type } from '@angular/core';\nimport { Observable, of, Subject } from 'rxjs';\nimport { AbstractRegistryService } from '../../shared/abstract.registry.service';\nimport { BuilderComponent } from '../../shared/component-builder';\nimport { GenericComponent } from '../../shared/component-builder/generic.component';\nimport { ModalCloseReason } from '../../shared/types';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { ModalData } from './data/modal-data';\nimport { ModalOptions } from './data/modal-options';\nimport { ModalResult } from './data/modal-resutl';\nimport { ModalRegistryOptions } from './options/modal-registry.options';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class InnerModalService extends AbstractRegistryService<Type<any>> {\n\n private allModals: { id: string; modal: ComponentRef<GenericComponent>, subject: Subject<ModalResult<any>>; }[] = [];\n private builders: BuilderComponent<InnerModalService>[] = [];\n\n registerBuilder(builder: BuilderComponent<InnerModalService>) {\n if (this.builders.length > 0) {\n throw new Error(\n 'Only one modal builder is supported. Please remove the others.',\n );\n }\n this.builders.push(builder);\n }\n\n removeBuilder(builderId: string) {\n this.builders = this.builders.filter((_) => false);\n }\n\n getBuilder(): BuilderComponent<InnerModalService> {\n if (this.builders.length === 0) {\n throw new Error('No modal builder is registered.');\n }\n return this.builders[0];\n }\n\n constructor(\n options: ModalRegistryOptions,\n private mediaMatcher: MediaMatcher,\n private uniqueIdService: UniqueIdService,\n ) {\n super();\n if (Array.isArray(options)) {\n const modals = (options as ModalRegistryOptions[])\n .reverse()\n .map((o) => o.modals)\n .flat();\n for (const modal of modals) {\n Object.keys(modal).forEach((k) => this.add(k, modal[k]));\n }\n } else {\n if (options && options.modals) {\n Object.keys(options.modals).forEach((k) => this.add(k, options.modals[k]));\n }\n }\n }\n\n public openModal<Input = any, Output = any>(\n name: string,\n data: ModalData<Input>,\n options?: ModalOptions,\n ): Observable<ModalResult<Output>> {\n const modalId = `rlb-modal${this.uniqueIdService.id}`;\n const modal = this.getBuilder().buildComponent<\n ModalData<Input>,\n ModalOptions\n >(\n {\n name,\n data,\n },\n {\n inputs: { id: modalId },\n setInstance: true,\n },\n options,\n );\n this.allModals.push({ id: modalId, modal: modal!, subject: new Subject<ModalResult<Output>>() });\n const subject = this.allModals.find((d) => d.id === modalId)?.subject;\n if (!subject) {\n return of({ reason: 'cancel', result: undefined } as ModalResult<Output>);\n }\n return subject.asObservable();\n }\n\n public eventModal(\n event: string,\n reason: ModalCloseReason,\n id: string,\n result: any,\n ): void {\n if (event === 'hidden') {\n const modal = this.allModals.find((d) => d.id === id);\n if (modal) {\n modal.modal.destroy();\n this.allModals = this.allModals.filter((d) => d.id !== id);\n }\n modal?.subject.next({ reason, result });\n modal?.subject.complete();\n }\n }\n}\n","import { Component, Input, OnDestroy, ViewChild } from '@angular/core';\nimport { BuilderComponent } from '../../shared/component-builder/builder.component';\nimport { InnerModalService } from './inner-modal.service';\nimport { ComponentHostDirective } from '../../shared/component-builder/component-host.directive';\n@Component({\n selector: 'rlb-modal-container',\n template: `<ng-template component-host></ng-template>`,\n standalone: false\n})\nexport class ModalContainerComponent\n extends BuilderComponent<InnerModalService>\n implements OnDestroy {\n\n @Input({ alias: 'id' }) builderId!: string;\n\n @ViewChild(ComponentHostDirective, { static: true }) component!: ComponentHostDirective;\n\n constructor(private modalService: InnerModalService) {\n super(modalService);\n this.modalService.registerBuilder(this);\n }\n\n ngOnDestroy(): void {\n this.modalService.removeBuilder(this.builderId);\n }\n}\n","import { AfterViewInit, Directive, ElementRef, Input, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { Modal } from 'bootstrap';\nimport { ModalCloseReason } from '../../shared/types';\nimport { IModal } from './data/modal';\nimport { ModalOptions } from './data/modal-options';\nimport { InnerModalService } from './inner-modal.service';\n\n@Directive({\n selector: '[rlb-modal]',\n standalone: true,\n})\nexport class ModalDirective implements OnDestroy, AfterViewInit, OnInit {\n private bsModal!: Modal;\n private modalElement!: HTMLElement;\n private dialogElement!: HTMLElement;\n private contentElement!: HTMLElement;\n private _reasonButtons!: NodeListOf<HTMLButtonElement> | null;\n private _modalReason!: ModalCloseReason;\n\n @Input({ alias: 'id' }) id!: string;\n @Input({ alias: 'data-instance' }) instance!: IModal;\n @Input({ alias: 'data-options' }) options!: ModalOptions;\n\n constructor(\n private el: ElementRef,\n private renderer: Renderer2,\n private innerModalService: InnerModalService,\n ) { }\n\n ngOnInit(): void {\n // Check prop existence\n // This approach permits to handle empty string '' case\n const hasContent =\n Object.prototype.hasOwnProperty.call(this.instance.data, 'content') &&\n this.instance.data.content !== undefined;\n\n if (hasContent) {\n const content = this.instance.data.content;\n // If content is Object / Array we handle it as a deep copy\n if (content !== null && typeof content === 'object') {\n this.instance.result = structuredClone(content);\n } else {\n // otherwise assign as is\n this.instance.result = content;\n }\n } else {\n // default fallback\n this.instance.result = {};\n }\n }\n\n ngAfterViewInit(): void {\n const cont = this.el.nativeElement.parentNode;\n this.modalElement = this.renderer.createElement('div');\n this.dialogElement = this.renderer.createElement('div');\n this.contentElement = this.el.nativeElement;\n this.renderer.appendChild(cont, this.modalElement);\n this.renderer.appendChild(this.modalElement, this.dialogElement);\n this.renderer.appendChild(this.dialogElement, this.contentElement);\n this.renderer.addClass(this.modalElement, 'modal');\n this.renderer.addClass(this.modalElement, 'fade');\n this.renderer.setAttribute(this.modalElement, 'id', `${this.id}`);\n this.renderer.setAttribute(this.modalElement, 'tabindex', '-1');\n this.renderer.addClass(this.dialogElement, 'modal-dialog');\n this.renderer.addClass(this.contentElement, 'modal-content');\n if (this.options?.backdrop) {\n this.renderer.setAttribute(\n this.modalElement,\n 'data-bs-backdrop',\n `${this.options.backdrop}`,\n );\n }\n if (this.options?.keyboard) {\n this.renderer.setAttribute(\n this.modalElement,\n 'data-bs-keyboard',\n `${this.options.keyboard}`,\n );\n }\n if (this.options?.animation === false) {\n this.renderer.removeClass(this.modalElement, 'fade');\n }\n if (this.options?.scrollable) {\n this.renderer.addClass(this.dialogElement, 'modal-dialog-scrollable');\n }\n if (this.options?.verticalcentered) {\n this.renderer.addClass(this.dialogElement, 'modal-dialog-centered');\n }\n if (this.options?.size) {\n this.renderer.addClass(this.dialogElement, `modal-${this.options.size}`);\n }\n if (this.options?.fullscreen === true) {\n this.renderer.addClass(this.dialogElement, `modal-fullscreen`);\n }\n if (\n typeof this.options?.fullscreen === 'string' &&\n this.options?.fullscreen\n ) {\n this.renderer.addClass(\n this.dialogElement,\n `modal-fullscreen-${this.options.fullscreen}`,\n );\n }\n this.modalElement.addEventListener(`hide.bs.modal`, this._openChange_f);\n this.modalElement.addEventListener(`hidden.bs.modal`, this._openChange_f);\n this.modalElement.addEventListener(\n `hidePrevented.bs.modal`,\n this._openChange_f,\n );\n this.modalElement.addEventListener(`show.bs.modal`, this._openChange_f);\n this.modalElement.addEventListener(`shown.bs.modal`, this._openChange_f);\n this.initButtons();\n this.bsModal = Modal.getOrCreateInstance(this.modalElement, {\n backdrop: this.options?.backdrop || true,\n keyboard: this.options?.keyboard || true,\n focus: this.options?.focus || true,\n });\n this.bsModal.show();\n }\n\n ngOnDestroy(): void {\n this.modalElement.removeEventListener(`hide.bs.modal`, this._openChange_f);\n this.modalElement.removeEventListener(\n `hidden.bs.modal`,\n this._openChange_f,\n );\n this.modalElement.removeEventListener(\n `hidePrevented.bs.modal`,\n this._openChange_f,\n );\n this.modalElement.removeEventListener(`show.bs.modal`, this._openChange_f);\n this.modalElement.removeEventListener(`shown.bs.modal`, this._openChange_f);\n // this._reasonButtons?.forEach((btn) => {\n // btn.removeEventListener('click', null);\n // });\n this.bsModal?.dispose();\n this.modalElement.remove();\n }\n\n private _openChange_f = (e: Event) => {\n this.innerModalService.eventModal(\n e.type.replace('.bs.modal', ''),\n this._modalReason,\n this.id,\n this.instance?.result,\n );\n };\n\n show() {\n this.bsModal?.show();\n }\n hide(reason?: ModalCloseReason) {\n if (reason) {\n this._modalReason = reason;\n }\n this.bsModal?.hide();\n }\n\n initButtons(): void {\n this._reasonButtons = this.contentElement.querySelectorAll(\n '[data-modal-reason]',\n );\n if (this._reasonButtons && this._reasonButtons.length > 0) {\n this._reasonButtons.forEach((btn) => {\n btn.addEventListener('click', () => {\n this._modalReason = btn.getAttribute(\n 'data-modal-reason',\n ) as ModalCloseReason;\n if (this._modalReason === 'cancel' || this._modalReason === 'close') {\n this.bsModal?.hide();\n }\n if (this._modalReason === 'ok') {\n if (this.instance.valid) {\n this.bsModal?.hide();\n }\n }\n });\n });\n }\n }\n}\n","import { Observable } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { InnerModalService } from './inner-modal.service';\nimport { ModalData } from './data/modal-data';\nimport { ModalResult } from './data/modal-resutl';\nimport { ModalOptions } from './data/modal-options';\nimport { CommonModalData } from '../../modals/common-modal.data';\nimport { ModalType } from '../../shared/types';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ModalService {\n constructor(private modalService: InnerModalService) { }\n\n public openModal<Input = any, Output = any>(\n name: string,\n data: ModalData<Input>,\n options?: ModalOptions,\n ): Observable<ModalResult<Output>> {\n return this.modalService.openModal<Input, Output>(name, data, options);\n }\n\n public openSimpleModal(title: string, body: string, header?: string, ok?: string, type?: ModalType, options?: ModalOptions) {\n return this.openModal<CommonModalData, void>('rlb-common', {\n title,\n content: {\n header,\n body,\n },\n ok,\n type\n }, options);\n }\n\n public openConfirmModal(title: string, body: string, header?: string, ok?: string, cancel?: string, type?: ModalType, options?: ModalOptions) {\n return this.openModal<CommonModalData, void>('rlb-common', {\n title,\n content: {\n header,\n body,\n },\n ok,\n cancel,\n type\n }, options);\n }\n}\n","import { ModalContainerComponent } from './modal-container.component';\n\nexport * from './data/modal-data';\nexport * from './data/modal-options';\nexport * from './data/modal';\nexport * from './data/modal-resutl';\nexport * from './modal-container.component';\nexport * from './options/modal-registry.options';\nexport * from './modal.directive';\nexport * from './modal.service';\n\nexport const MODALS = [ModalContainerComponent];\n","import { booleanAttribute, Component, Input, OnInit, TemplateRef, ViewChild, ViewContainerRef, } from '@angular/core';\n\n@Component({\n selector: 'rlb-nav-item',\n template: ` <ng-template #template>\n <li class=\"nav-item {{ cssClass }}\">\n <a\n class=\"nav-link\"\n [class.active]=\"active\"\n [attr.href]=\"href || '#'\"\n\t\t\t\t[class.disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled ? 'true' : undefined\"\n >\n <ng-content />\n </a>\n </li>\n </ng-template>`,\n standalone: false\n})\nexport class NavItemComponent implements OnInit {\n element!: HTMLElement;\n\n @Input({ alias: 'href' }) href?: string | any[] | null | undefined = '#';\n @Input({ alias: 'active', transform: booleanAttribute }) active?: boolean;\n @Input({ alias: 'disabled', transform: booleanAttribute }) disabled?: boolean;\n @Input({ alias: 'class' }) cssClass?: string = '';\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n\n constructor(private viewContainerRef: ViewContainerRef) { }\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import {\n\tComponent,\n\tElementRef,\n\tInput,\n\tTemplateRef,\n\tViewChild,\n\tViewContainerRef,\n\tbooleanAttribute, OnInit,\n} from '@angular/core';\n\n@Component({\n selector: 'rlb-nav',\n template: ` <ng-template #template>\n <ul\n [attr.id]=\"id ? id : undefined\"\n class=\"nav nav-underline {{ cssClass }}\"\n [class.justify-content-center]=\"horizontalAlignment === 'center'\"\n [class.justify-content-end]=\"horizontalAlignment === 'end'\"\n [class.flex-column]=\"vertical\"\n [class.nav-pills]=\"pills\"\n [class.nav-fill]=\"fill\"\n >\n <ng-content select=\"rlb-nav-item\" />\n </ul>\n </ng-template>`,\n host: {\n '[attr.class]': 'undefined',\n '[attr.id]': 'undefined',\n },\n standalone: false\n})\nexport class NavComponent implements OnInit {\n element!: HTMLElement;\n\n @Input({ alias: 'horizontal-alignment' }) horizontalAlignment?: 'center' | 'end';\n @Input({ alias: 'vertical', transform: booleanAttribute }) vertical?: boolean;\n @Input({ alias: 'fill', transform: booleanAttribute }) fill?: boolean;\n @Input({ alias: 'pills', transform: booleanAttribute }) pills?: boolean;\n @Input({ alias: 'id' }) id!: string;\n @Input({ alias: 'class' }) cssClass?: string = '';\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n\n constructor(\n private viewContainerRef: ViewContainerRef,\n private elementRef: ElementRef<HTMLElement>,\n ) {\n elementRef.nativeElement.remove();\n }\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import { Directive, ElementRef, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[rlb-navbar-brand]',\n standalone: false\n})\nexport class NavbarBrandDirective {\n constructor(elementRef: ElementRef, renderer: Renderer2) {\n renderer.addClass(elementRef.nativeElement, 'navbar-brand');\n }\n}\n","import { Component, Input, TemplateRef, ViewChild, ViewContainerRef, } from '@angular/core';\n\n@Component({\n selector: 'rlb-navbar-form',\n template: ` <ng-template #template>\n\t\t\t<form [attr.role]=\"role\" class=\"d-flex ms-lg-auto mb-2 mb-lg-0 {{ cssClass }}\">\n <ng-content />\n </form>\n </ng-template>`,\n standalone: false\n})\nexport class NavbarFormComponent {\n element!: HTMLElement;\n\n @Input({ alias: 'role' }) role!: string;\n @Input({ alias: 'class' }) cssClass?: string = '';\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n constructor(private viewContainerRef: ViewContainerRef) { }\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n Component,\n Input,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n numberAttribute,\n} from '@angular/core';\n\n@Component({\n selector: 'rlb-avatar',\n template: `\n <ng-template #template>\n <img\n *ngIf=\"src\"\n [src]=\"src\"\n alt=\"Avatar\"\n [class]=\"cssClass\"\n [style.vertical-align]=\"'middle'\"\n [style.width.px]=\"size\"\n [style.width.px]=\"size\"\n [style.height.px]=\"size\"\n [style.border]=\"'2px solid #cbcbcb'\"\n [style.border-radius]=\"_borderRadius\"\n />\n </ng-template>\n `,\n standalone: false\n})\nexport class AvatarComponent {\n element!: HTMLElement;\n\n @Input({ alias: 'size', transform: numberAttribute }) size?: number = 50;\n @Input({ alias: 'shape' }) shape?: 'circle' | 'round' | 'square' = 'circle';\n @Input({ alias: 'src' }) src?: string;\n @Input({ alias: 'class' }) cssClass?: string = '';\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n\n constructor(private viewContainerRef: ViewContainerRef) { }\n\n get _borderRadius() {\n switch (this.shape) {\n case 'circle':\n return '50%';\n case 'round':\n return '5px';\n case 'square':\n return '0px';\n default:\n return '50%';\n }\n }\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import { booleanAttribute, Component, Input } from '@angular/core';\nimport { Color } from \"../../../shared/types\";\n\n@Component({\n selector: 'rlb-fab',\n templateUrl: './fab.component.html',\n styleUrls: ['./fab.component.scss'],\n standalone: false,\n})\nexport class RlbFabComponent {\n @Input() color: Color = 'primary';\n\n @Input() size: 'xs' | 'sm' | 'md' | 'lg' = 'md';\n\n @Input({ transform: booleanAttribute }) disabled = false;\n @Input({ transform: booleanAttribute }) outline = false;\n \n @Input() position: 'br' | 'bl' | 'tr' | 'tl' | undefined = undefined;\n\n get positionClass() {\n let classes = '';\n if (this.position) {\n classes += 'position-fixed ';\n switch (this.position) {\n case 'bl':\n classes += 'fab-bottom-left';\n break;\n case 'tr':\n classes += 'fab-top-right';\n break;\n case 'tl':\n classes += 'fab-top-left';\n break;\n default:\n classes += 'fab-bottom-right';\n }\n }\n return classes\n }\n\n get sizeClass() {\n switch (this.size) {\n case 'xs': return 'fab-xs';\n case 'sm': return 'fab-sm';\n case 'lg': return 'fab-lg';\n default: return 'fab-md';\n }\n }\n}\n\n","<button\n rlb-button\n [color]=\"color\"\n [disabled]=\"disabled\"\n [outline]=\"outline\"\n class=\"fab-button d-flex align-items-center justify-content-center\"\n [ngClass]=\"[sizeClass, positionClass]\"\n>\n <ng-content></ng-content>\n</button>\n","import { DateTz, IDateTz } from '@open-rlb/date-tz';\n\nexport function isSameDay(a: IDateTz, b: IDateTz): boolean {\n return a.yearUTC === b.yearUTC &&\n a.monthUTC === b.monthUTC &&\n a.dayUTC === b.dayUTC;\n}\n\nexport function addDays(date: DateTz, days: number): DateTz {\n return new DateTz(date.add!(days, 'day'));\n}\n\nexport function startOfMonth(date: IDateTz): DateTz {\n\tconst d = new DateTz(date);\n\treturn d.set(1, 'day');\n}\n\n// export function endOfMonth(date: IDateTz): DateTz {\n// \tconst d = new DateTz(date.timestamp, 'UTC');\n// \treturn d.add(1, 'month').set(1, 'day').add(-1, 'day');\n// }\n\nexport function isToday(date: IDateTz): boolean {\n const today = getToday()\n\n return date.yearUTC === today.yearUTC &&\n date.monthUTC === today.monthUTC &&\n date.dayUTC === today.dayUTC;\n}\n\nexport function getToday(): DateTz {\n const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n const today = DateTz.now(timezone);\n\treturn today\n}\n","import { Injectable, Type } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ToastRegistryOptions {\n public toasts!: { [name: string]: Type<any> };\n}\n","import { ComponentRef, Injectable, Type } from '@angular/core';\nimport { Observable, filter, map, Subject, of } from 'rxjs';\nimport { ToastData } from './data/toast-data';\nimport { AbstractRegistryService } from '../../shared/abstract.registry.service';\nimport { ToastRegistryOptions } from './options/toast-registry.options';\nimport { GenericComponent } from '../../shared/component-builder/generic.component';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { ModalCloseReason } from '../../shared/types';\nimport { ToastResult } from './data/toast-resutl';\nimport { BuilderComponent } from '../../shared/component-builder';\nimport { ModalOptions } from '../modals';\nimport { ToastOptions } from './data/toast-options';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class InnerToastService extends AbstractRegistryService<Type<any>> {\n\n private allModals: { id: string; toast: ComponentRef<GenericComponent>, subject: Subject<ToastResult<any>> }[] = [];\n private builders: BuilderComponent<InnerToastService>[] = [];\n\n registerBuilder(builder: BuilderComponent<InnerToastService>) {\n this.builders.push(builder);\n }\n\n removeBuilder(builderId: string) {\n this.builders = this.builders.filter((b) => b.builderId !== builderId);\n }\n\n getBuilder(builderId: string): BuilderComponent<InnerToastService> {\n if (!builderId) throw new Error('builderId is required');\n const count = this.builders.filter((b) => b.builderId === builderId).length;\n if (count === 0) throw new Error(`builderId not found: ${builderId}`);\n if (count > 1)\n console.warn(\n `Toast builderId is not unique: ${builderId}. Will use the first one.`,\n );\n return this.builders.find(\n (b) => b.builderId === builderId,\n ) as BuilderComponent<InnerToastService>;\n }\n\n constructor(\n options: ToastRegistryOptions,\n private uniqueIdService: UniqueIdService,\n ) {\n super();\n if (Array.isArray(options)) {\n const toasts = (options as ToastRegistryOptions[])\n .reverse()\n .map((o) => o.toasts)\n .flat();\n for (const toast of toasts) {\n Object.keys(toast).forEach((k) => this.add(k, toast[k]))\n }\n } else {\n if (options && options.toasts) {\n Object.keys(options.toasts).forEach((k) => this.add(k, options.toasts[k]))\n }\n }\n }\n\n public openToast<Input = any, Output = any>(\n builderId: string,\n componentName: string,\n data: ToastData<Input>,\n options?: ToastOptions,\n ): Observable<ToastResult<Output> | null> {\n const toastId = `rlb-toast${this.uniqueIdService.id}`;\n const toast = this.getBuilder(builderId).buildComponent<\n ToastData<Input>,\n ToastOptions\n >(\n {\n name: componentName,\n data,\n },\n {\n inputs: { id: toastId },\n setInstance: true,\n },\n options,\n );\n this.allModals.push({ id: toastId, toast: toast!, subject: new Subject<ToastResult<Output>>() });\n const subject = this.allModals.find((d) => d.id === toastId)?.subject;\n if (!subject) {\n return of({ reason: 'cancel', result: undefined } as ToastResult<Output>);\n }\n return subject.asObservable();\n }\n\n public eventToast(\n event: string,\n reason: ModalCloseReason,\n id: string,\n result: any,\n ): void {\n if (event === 'hidden') {\n const toast = this.allModals.find((d) => d.id === id);\n if (toast) {\n toast.toast.destroy();\n this.allModals = this.allModals.filter((d) => d.id !== id);\n }\n toast?.subject.next({ reason, result });\n toast?.subject.complete();\n }\n }\n}\n","import { Component, Input, OnDestroy, ViewChild } from '@angular/core';\nimport { BuilderComponent } from '../../shared/component-builder/builder.component';\nimport { InnerToastService } from './inner-toast.service';\nimport { ComponentHostDirective } from '../../shared/component-builder/component-host.directive';\nimport { ToastData } from './data/toast-data';\n\n@Component({\n selector: 'rlb-toast-container',\n template: `<ng-template component-host></ng-template>`,\n host: { class: 'toast-container' },\n standalone: false\n})\nexport class ToastContainerComponent\n extends BuilderComponent<InnerToastService>\n implements OnDestroy {\n @Input({ alias: 'id', required: true }) builderId!: string;\n\n @ViewChild(ComponentHostDirective, { static: true }) component!: ComponentHostDirective;\n\n constructor(private toastService: InnerToastService) {\n super(toastService);\n this.toastService.registerBuilder(this);\n }\n\n ngOnDestroy(): void {\n this.toastService.removeBuilder(this.builderId);\n }\n}\n","import {\n Directive,\n ElementRef,\n Renderer2,\n Input,\n OnDestroy,\n DoCheck,\n AfterViewInit,\n} from '@angular/core';\nimport { Toast } from 'bootstrap';\nimport { InnerToastService } from './inner-toast.service';\nimport { ToastCloseReason } from '../../shared/types';\nimport { IToast } from './data/toast';\nimport { ToastOptions } from './data/toast-options';\n\n@Directive({\n selector: '[rlb-toast]',\n standalone: true,\n})\nexport class ToastDirective implements OnDestroy, AfterViewInit {\n @Input({ alias: 'id' }) id!: string;\n @Input({ alias: 'data-instance' }) instance!: IToast;\n @Input({ alias: 'data-options' }) options!: ToastOptions;\n\n private bsToast!: Toast;\n private contentElement!: HTMLElement;\n private _reasonButtons!: NodeListOf<HTMLButtonElement> | null;\n private _toastReason!: ToastCloseReason;\n\n constructor(\n private el: ElementRef,\n private renderer: Renderer2,\n private innerToastService: InnerToastService,\n ) { }\n\n ngAfterViewInit(): void {\n const cont = this.el.nativeElement.parentNode;\n this.contentElement = this.renderer.createElement('div');\n this.renderer.addClass(this.contentElement, 'toast');\n this.renderer.setAttribute(this.contentElement, 'id', `${this.id}`);\n this.renderer.setAttribute(this.contentElement, 'role', 'alert');\n this.renderer.setAttribute(this.contentElement, 'aria-live', 'assertive');\n this.renderer.setAttribute(this.contentElement, 'aria-atomic', 'true');\n if (this.options?.color) {\n this.renderer.addClass(\n this.contentElement,\n `text-bg-${this.options.color}`,\n );\n }\n if (this.options?.classes) {\n for (const c of this.options.classes) {\n this.renderer.addClass(this.contentElement, c.trim());\n }\n }\n while (this.el.nativeElement.children.length > 0) {\n this.renderer.appendChild(\n this.contentElement,\n this.el.nativeElement.children[0],\n );\n }\n this.renderer.appendChild(cont, this.contentElement);\n this.el.nativeElement.remove();\n this.contentElement.addEventListener(`hide.bs.toast`, this._openChange_f);\n this.contentElement.addEventListener(`hidden.bs.toast`, this._openChange_f);\n this.contentElement.addEventListener(`show.bs.toast`, this._openChange_f);\n this.contentElement.addEventListener(`shown.bs.toast`, this._openChange_f);\n this.initButtons();\n this.bsToast = Toast.getOrCreateInstance(this.contentElement, {\n animation: this.options?.animation || true,\n autohide: this.options?.autohide || true,\n delay: this.options?.delay || 5000,\n });\n this.bsToast.show();\n }\n\n ngOnDestroy(): void {\n this.contentElement.removeEventListener(\n `hide.bs.toast`,\n this._openChange_f,\n );\n this.contentElement.removeEventListener(\n `hidden.bs.toast`,\n this._openChange_f,\n );\n this.contentElement.removeEventListener(\n `show.bs.toast`,\n this._openChange_f,\n );\n this.contentElement.removeEventListener(\n `shown.bs.toast`,\n this._openChange_f,\n );\n // this._reasonButtons?.forEach((btn) => {\n // btn.removeEventListener('click', null);\n // });\n this.bsToast?.dispose();\n }\n\n private _openChange_f = (e: Event) => {\n this.innerToastService.eventToast(\n e.type.replace('.bs.toast', ''),\n this._toastReason,\n this.id,\n this.instance?.result,\n );\n };\n\n initButtons(): void {\n this._reasonButtons = this.contentElement.querySelectorAll(\n '[data-toast-reason]',\n );\n if (this._reasonButtons && this._reasonButtons.length > 0) {\n this._reasonButtons.forEach((btn) => {\n btn.addEventListener('click', () => {\n this._toastReason = btn.getAttribute(\n 'data-toast-reason',\n ) as ToastCloseReason;\n if (this._toastReason === 'cancel' || this._toastReason === 'close') {\n this.bsToast?.hide();\n }\n if (this._toastReason === 'ok') {\n if (this.instance.valid) {\n this.bsToast?.hide();\n }\n }\n });\n });\n }\n }\n}\n","import { Observable } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { InnerToastService } from './inner-toast.service';\nimport { ToastData } from './data/toast-data';\nimport { ToastResult } from './data/toast-resutl';\nimport { ToastOptions } from './data/toast-options';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ToastService {\n constructor(private modalService: InnerToastService) {}\n\n public openToast<Input = any, Output = any>(\n containerId: string,\n name: string,\n data: ToastData<Input>,\n options?: ToastOptions,\n ): Observable<ToastResult<Output> | null> {\n return this.modalService.openToast<Input, Output>(\n containerId,\n name,\n data,\n options,\n );\n }\n}\n","import { ToastContainerComponent } from './toast-container.component';\n\nexport * from './data/toast-data';\nexport * from './data/toast-options';\nexport * from './data/toast';\nexport * from './data/toast-resutl';\nexport * from './toast-container.component';\nexport * from './options/toast-registry.options';\nexport * from './toast.directive';\nexport * from './toast.service';\n\nexport const TOASTS = [ToastContainerComponent];\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DateTz, IDateTz } from \"@open-rlb/date-tz\";\n\n@Pipe({\n name: 'dtz',\n standalone: false\n})\nexport class DateTzPipe implements PipeTransform {\n\n transform(value?: IDateTz, ...args: (string | boolean)[]): string {\n const format = args[0] as string || 'YYYY-MM-DDTHH:mm';\n const tz = args[1] as boolean || false;\n if (value) {\n value = new DateTz(value);\n }\n if (!value) return '';\n return `${value.toString?.(format) || ''}${tz ? ' (' + value.timezone + ')' : ''}`;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'monthFormatter', standalone: false })\nexport class MonthFormatterPipe implements PipeTransform {\n private readonly months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n\n transform(value: string): string {\n if (!value) return '';\n const parts = value.trim().split(' ');\n if (parts.length < 2) return value;\n const day = parts[0];\n const monthIndex = parseInt(parts[1], 10) - 1;\n if (isNaN(monthIndex) || monthIndex < 0 || monthIndex > 11) {\n return value;\n }\n const month = this.months[monthIndex];\n const rest = parts.slice(2).join(' ');\n return `${day} ${month}${rest ? ' ' + rest : ''}`;\n }\n}\n","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\nimport { DateTz } from \"@open-rlb/date-tz\";\nimport { CalendarView } from \"../interfaces/calendar-view.type\";\nimport { addDays, getToday } from \"../utils/calendar-date-utils\";\n\n@Component({\n\tselector: 'rlb-calendar-header',\n\ttemplateUrl: './calendar-header.component.html',\n\tstyleUrls: ['./calendar-header.component.scss'],\n\tstandalone: false\n})\nexport class CalendarHeaderComponent {\n\t@Input() view: CalendarView = 'month';\n @Input() currentDate!: DateTz\n @Output() dateChange = new EventEmitter<DateTz>();\n\t@Output() viewChange = new EventEmitter<CalendarView>();\n\n\tnext() {\n\t\tswitch (this.view) {\n\t\t\tcase 'week':\n const nextWeek = addDays(this.currentDate, 7)\n this.dateChange.emit(new DateTz(nextWeek));\n break;\n case 'month':\n const nextMonth = new DateTz(this.currentDate)\n .set(1, 'day')\n .add(1, 'month');\n\n this.dateChange.emit(new DateTz(nextMonth));\n break;\n\t\t\tdefault:\n\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n prev() {\n\t\tswitch (this.view) {\n\t\t\tcase 'week':\n const pastWeek = addDays(this.currentDate, -7)\n this.dateChange.emit(new DateTz(pastWeek));\n break;\n case 'month':\n const pastMonth = new DateTz(this.currentDate)\n .set(1, 'day')\n .add(-1, 'month');\n \n this.dateChange.emit(new DateTz(pastMonth));\n break;\n\t\t\tdefault:\n\n break;\n\t\t}\n\t}\n\n today() {\n\t\tswitch (this.view) {\n\t\t\tcase 'week':\n\t\t\tdefault:\n\t\t\t\tconst today = getToday()\n\t\t\t\tthis.dateChange.emit(today);\n\t\t\t\tbreak;\n\t\t}\n\t}\n}\n","<div class=\"d-flex justify-content-between align-items-center mb-3\">\n\t<div class=\"d-flex gap-1\">\n\t\t<button rlb-button outline (click)=\"prev()\">\n\t\t\t<i class=\"bi bi-chevron-left\"></i>\n\t\t</button>\n\t\t<button rlb-button outline (click)=\"today()\">Today</button>\n\t\t<button rlb-button outline (click)=\"next()\">\n\t\t\t<i class=\"bi-chevron-right\"></i>\n\t\t</button>\n\t</div>\n\n <h5 class=\"mb-0\">{{ currentDate | dtz:'DD MM yyyy' | monthFormatter }} {{ currentDate.timezone }}</h5>\n\n\t<rlb-dropdown>\n\t\t<button rlb-button outline rlb-dropdown>{{ view | titlecase }}</button>\n\t\t<ul rlb-dropdown-menu [placement]=\"'right'\">\n\t\t\t<li rlb-dropdown-item (click)=\"viewChange.emit('day')\" >Day</li>\n\t\t\t<li rlb-dropdown-item (click)=\"viewChange.emit('week')\">Week</li>\n\t\t\t<li rlb-dropdown-item (click)=\"viewChange.emit('month')\">Month</li>\n\t\t</ul>\n\t</rlb-dropdown>\n</div>\n","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\nimport { CalendarEvent, CalendarEventWithLayout } from \"../interfaces/calendar-event.interface\";\nimport { CalendarView } from \"../interfaces/calendar-view.type\";\n\n@Component({\n selector: 'rlb-calendar-event',\n templateUrl: 'calendar-event.component.html',\n styleUrls: ['./calendar-event.component.scss'],\n standalone: false,\n})\nexport class CalendarEventComponent {\n @Input({ required: true }) event!: CalendarEventWithLayout;\n @Input({ required: true }) view!: CalendarView;\n @Output() eventClick = new EventEmitter<CalendarEvent | undefined>();\n @Output() eventContainerClick = new EventEmitter<CalendarEventWithLayout[] | undefined>();\n\n get classes(): string[] {\n const baseColor = this.event.color || 'primary';\n const classes = ['calendar-event', 'shadow-sm'];\n\n switch (this.view) {\n case 'week':\n classes.push('mode-week');\n break;\n case 'month':\n classes.push('mode-month');\n break;\n }\n\n if (this.event.isContinuedAfter) {\n classes.push('rounded-bottom-0', 'border-bottom-0');\n }\n\n if (this.event.isContinuedBefore) {\n classes.push('rounded-top-0', 'border-top-0', 'opacity-75');\n }\n\n\n if (this.event.isOverflowIndicator) {\n classes.push('overflow-indicator', 'bg-light', 'text-dark', 'border');\n } else {\n classes.push(`bg-${baseColor}`);\n if (['light', 'warning', 'white'].includes(baseColor)) {\n classes.push('text-dark');\n } else {\n classes.push('text-white');\n }\n }\n return classes;\n }\n\n onClick(e: Event) {\n e.preventDefault();\n e.stopPropagation();\n e.stopImmediatePropagation()\n\n if (this.event.isOverflowIndicator && this.event.overflowEvents) {\n this.eventContainerClick.emit(this.event.overflowEvents)\n } else {\n this.eventClick.emit(this.event);\n }\n }\n}\n","<div [ngClass]=\"classes\"\n (click)=\"onClick($event)\">\n\n <ng-container *ngIf=\"!event.isOverflowIndicator\">\n <strong>{{ event.title }}</strong>\n <div class=\"small opacity-75\">\n {{ event.start | dtz:'HH:mm' }} - {{ event.end | dtz:'HH:mm' }}\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"event.isOverflowIndicator\">\n +{{ event.overlapCount }} more\n </ng-container>\n</div>\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { formatDate } from '@angular/common';\nimport { IDateTz } from \"@open-rlb/date-tz\";\n\n@Pipe({\n name: 'dayOfWeek',\n standalone: false\n})\nexport class DayOfWeekPipe implements PipeTransform {\n\n /**\n * @param value IDateTz\n * @param format 'long' (Friday), 'short' (Fri), 'narrow' (F)\n * @param locale Language, default = 'en-US'\n */\n transform(value: IDateTz | null | undefined, format: 'long' | 'short' | 'narrow' = 'long', locale: string = 'en-US'): string {\n if (!value || typeof value.timestamp !== 'number') {\n return '';\n }\n\n let pattern = 'EEEE';\n if (format === 'short') pattern = 'EEE';\n if (format === 'narrow') pattern = 'EEEEE';\n\n try {\n return formatDate(\n value.timestamp,\n pattern,\n locale,\n value.timezone || undefined\n );\n } catch (error) {\n console.error('DayOfWeekPipe error:', error);\n return '';\n }\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n SimpleChanges,\n ViewChild\n} from \"@angular/core\";\nimport { IDateTz } from \"@open-rlb/date-tz\";\nimport { CalendarView } from \"../../interfaces/calendar-view.type\";\nimport { CalendarEvent, CalendarEventWithLayout } from \"../../interfaces/calendar-event.interface\";\nimport { DateTz } from \"@open-rlb/date-tz/date-tz\";\nimport { getToday, isToday } from \"../../utils/calendar-date-utils\";\nimport { CdkDragDrop } from \"@angular/cdk/drag-drop\";\n\n\n@Component({\n selector: 'rlb-calendar-week-grid',\n templateUrl: './calendar-week-grid.component.html',\n styleUrls: ['./calendar-week-grid.component.scss'],\n standalone: false,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CalendarWeekGridComponent implements OnChanges, OnDestroy, AfterViewInit {\n @Input() view!: CalendarView;\n @Input() currentDate!: IDateTz;\n @Input() events: CalendarEvent[] = [];\n @Output() eventClick = new EventEmitter<CalendarEvent | undefined>();\n @Output() eventContainerClick = new EventEmitter<CalendarEvent[] | undefined>();\n @Output() eventChange = new EventEmitter<CalendarEvent>();\n\n days: IDateTz[] = [];\n timeSlots: string[] = [];\n processedEvents: Map<number, CalendarEventWithLayout[]> = new Map();\n\n @ViewChild('scrollBody', { static: false }) scrollBodyRef!: ElementRef<HTMLDivElement>;\n @ViewChild('headerRow', { static: false }) headerRowRef!: ElementRef<HTMLDivElement>;\n scrollbarWidth: number = 0;\n\n now: DateTz;\n private nowInterval: any;\n\n // CONFIG CONSTANTS\n readonly ROW_HEIGHT = 110; // px for a full hour slot\n readonly MAX_BODY_HEIGHT: number = 30; // rem\n readonly MIN_HEADER_HEIGHT = 3.5 // rem\n private readonly MAX_VISIBLE_COLUMNS = 4;\n private readonly SNAP_MINUTES = 15;\n\n\n constructor(\n private cd: ChangeDetectorRef,\n ) {\n this.now = getToday()\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['view'] || changes['currentDate']) {\n if (this.view === 'week') {\n this.buildWeekGrid(this.currentDate);\n this.buildTimeSlots();\n }\n }\n\n if (changes['events']) {\n this.events = changes['events'].currentValue as CalendarEvent[];\n this.processAllEvents();\n }\n }\n\n ngAfterViewInit() {\n this.updateScrollbarWidth();\n window.addEventListener('resize', this.onResize);\n this.cd.detectChanges();\n }\n\n ngOnDestroy() {\n this.stopNowTimer();\n window.removeEventListener('resize', this.onResize);\n }\n\n // arrow function to keep \"this\" context\n private onResize = () => {\n this.updateScrollbarWidth();\n }\n\n private updateScrollbarWidth() {\n if (this.scrollBodyRef) {\n const el = this.scrollBodyRef.nativeElement;\n this.scrollbarWidth = el.offsetWidth - el.clientWidth;\n }\n }\n\n onBodyScroll(event: Event) {\n if (this.headerRowRef && this.scrollBodyRef) {\n this.headerRowRef.nativeElement.scrollLeft = this.scrollBodyRef.nativeElement.scrollLeft;\n }\n }\n\n trackByEventId(index: number, item: CalendarEventWithLayout): string | number {\n return item.id\n }\n\n onEventDrop(event: CdkDragDrop<IDateTz, any, CalendarEventWithLayout>) {\n const movedEvent = event.item.data as CalendarEventWithLayout;\n const newDay = event.container.data;\n\n const originalTopPx = this.calculateEventTop(movedEvent);\n\n const dragDistancePx = event.distance.y;\n\n const newTopPx = originalTopPx + dragDistancePx;\n\n const rawMinutesFromStart = (newTopPx / this.ROW_HEIGHT) * 60;\n\n const snappedMinutes = Math.round(rawMinutesFromStart / this.SNAP_MINUTES) * this.SNAP_MINUTES;\n\n const validMinutes = Math.max(0, snappedMinutes);\n\n const newStart = new DateTz(newDay)\n .set(0, 'hour')\n .set(0, 'minute')\n .add(validMinutes, 'minute')\n .stripSecMillis!();\n\n const durationMs = movedEvent.end.timestamp - movedEvent.start.timestamp;\n const newEnd = new DateTz(newStart.timestamp + durationMs).stripSecMillis();\n\n if (newStart.timestamp !== movedEvent.start.timestamp) {\n const updatedEvent: CalendarEvent = {\n ...movedEvent,\n start: newStart,\n end: newEnd,\n };\n\n this.eventChange.emit(updatedEvent);\n }\n }\n\n getEventsForDay(day: IDateTz): CalendarEventWithLayout[] {\n const dayTs = new DateTz(day.timestamp, 'UTC').set(0, 'hour').set(0, 'minute').stripSecMillis().timestamp;\n return this.processedEvents.get(dayTs) || [];\n }\n\n calculateEventTop(event: CalendarEventWithLayout): number {\n const startOfDay = new DateTz(event.start).set(0, 'hour').set(0, 'minute').stripSecMillis();\n const diffMs = event.start.timestamp - startOfDay.timestamp;\n const diffMinutes = diffMs / (1000 * 60);\n return (diffMinutes / 60) * this.ROW_HEIGHT;\n }\n\n calculateEventHeight(event: CalendarEventWithLayout): number {\n const durationMs = event.end.timestamp - event.start.timestamp;\n const durationMinutes = durationMs / (1000 * 60);\n return (durationMinutes / 60) * this.ROW_HEIGHT;\n }\n\n getNowTop(): number {\n const hours = this.now.hour;\n const minutes = this.now.minute;\n return ((hours * 60) + minutes) / 60 * this.ROW_HEIGHT;\n }\n\n isToday(date: IDateTz): boolean {\n return isToday(date)\n }\n\n private startNowTimer() {\n this.nowInterval = setInterval(() => {\n this.now = getToday();\n }, 60 * 1000); // every minute\n }\n\n private stopNowTimer() {\n if (this.nowInterval) {\n clearInterval(this.nowInterval);\n }\n }\n\n private buildWeekGrid(currentDate: IDateTz) {\n const dayOfWeek = currentDate.dayOfWeek!; // 0 = Sunday, 1 = Monday ...\n\n // Week init (monday)\n const start = new DateTz(currentDate.timestamp, 'UTC')\n .add!(-(dayOfWeek - 1), 'day') // clone or create new for start date\n .set!(0, 'hour')\n .set!(0, 'minute')\n .stripSecMillis!();\n\n this.days = [];\n for (let i = 0; i < 7; i++) {\n this.days.push(new DateTz(start.timestamp, 'UTC').add(i, 'day'));\n }\n this.startNowTimer();\n }\n\n private buildTimeSlots() {\n const slots: string[] = [];\n for (let h = 0; h < 24; h++) {\n slots.push(`${h.toString().padStart(2, '0')}:00`);\n }\n this.timeSlots = slots;\n }\n\n private isOverlapping(eventA: CalendarEvent, eventB: CalendarEvent): boolean {\n const startA = eventA.start.timestamp;\n const endA = eventA.end.timestamp;\n const startB = eventB.start.timestamp;\n const endB = eventB.end.timestamp;\n return startA < endB && startB < endA;\n }\n\n private processAllEvents() {\n this.processedEvents.clear();\n\n const eventsByDay = new Map<number, CalendarEventWithLayout[]>();\n\n for (const event of this.events) {\n const originalStart = new DateTz(event.start).stripSecMillis!();\n const originalEnd = new DateTz(event.end).stripSecMillis!();\n\n let currentChunkStart: IDateTz = new DateTz(originalStart);\n\n while (currentChunkStart.timestamp < originalEnd.timestamp) {\n const startOfNextDay = new DateTz(currentChunkStart)\n .set(0, 'hour')\n .set(0, 'minute')\n .add(1, 'day')\n .stripSecMillis!();\n\n const chunkEndTimestamp = Math.min(originalEnd.timestamp, startOfNextDay.timestamp);\n const chunkEnd = new DateTz(chunkEndTimestamp);\n\n const currentDayStart = new DateTz(currentChunkStart)\n .set(0, 'hour')\n .set(0, 'minute')\n .stripSecMillis!();\n\n const dayTimestamp = currentDayStart.timestamp;\n\n const visualEvent: CalendarEventWithLayout = {\n ...event,\n start: currentChunkStart,\n end: chunkEnd,\n isContinuedBefore: currentChunkStart.timestamp > originalStart.timestamp,\n isContinuedAfter: chunkEnd.timestamp < originalEnd.timestamp,\n left: 0,\n width: 0\n };\n\n if (!eventsByDay.has(dayTimestamp)) {\n eventsByDay.set(dayTimestamp, []);\n }\n\n eventsByDay.get(dayTimestamp)!.push(visualEvent);\n\n currentChunkStart = startOfNextDay;\n }\n }\n\n for (const [dayTimestamp, dayEvents] of eventsByDay.entries()) {\n\n const sortedDayEvents = this.sortEventsStable(dayEvents);\n\n const groups = this.groupEventsByConflicts(sortedDayEvents);\n const eventsWithLayout: CalendarEventWithLayout[] = [];\n\n for (const group of groups) {\n const groupLayouts = this.resolveConflictGroupLayout(group);\n eventsWithLayout.push(...groupLayouts);\n }\n\n this.processedEvents.set(dayTimestamp, eventsWithLayout);\n }\n }\n\n private groupEventsByConflicts(dayEvents: CalendarEvent[]): CalendarEvent[][] {\n if (dayEvents.length === 0) return [];\n\n const groups: CalendarEvent[][] = [];\n const visited = new Map<CalendarEvent, boolean>();\n\n for (const event of dayEvents) {\n if (visited.get(event)) continue;\n\n const currentGroup: CalendarEvent[] = [];\n const queue: CalendarEvent[] = [event];\n visited.set(event, true);\n\n while (queue.length > 0) {\n const current = queue.shift()!;\n currentGroup.push(current);\n\n for (const other of dayEvents) {\n if (!visited.get(other) && this.isOverlapping(current, other)) {\n visited.set(other, true);\n queue.push(other);\n }\n }\n }\n groups.push(currentGroup);\n }\n return groups;\n }\n\n private resolveConflictGroupLayout(groupEvents: CalendarEvent[]): CalendarEventWithLayout[] {\n if (!groupEvents || groupEvents.length === 0) return [];\n\n const columns: CalendarEventWithLayout[][] = [];\n\n const columnLastEndTimes: number[] = [];\n\n for (const event of groupEvents) {\n let assignedCol = -1;\n\n for (let i = 0; i < columnLastEndTimes.length; i++) {\n if (columnLastEndTimes[i] <= event.start.timestamp) {\n assignedCol = i;\n break;\n }\n }\n\n if (assignedCol === -1) {\n assignedCol = columns.length;\n columns.push([]);\n columnLastEndTimes.push(0);\n }\n\n columns[assignedCol].push(event as CalendarEventWithLayout);\n columnLastEndTimes[assignedCol] = event.end.timestamp;\n }\n\n const totalColumns = columns.length;\n\n const resultEvents: CalendarEventWithLayout[] = [];\n\n\n // Case 1: All visible\n if (totalColumns <= this.MAX_VISIBLE_COLUMNS) {\n const colWidth = 100 / totalColumns;\n\n columns.forEach((colEvents, colIndex) => {\n colEvents.forEach(event => {\n resultEvents.push({\n ...event,\n left: colIndex * colWidth,\n width: colWidth\n });\n });\n });\n }\n // Case 2 (Overflow)\n else {\n const visibleColsCount = this.MAX_VISIBLE_COLUMNS - 1;\n const colWidth = 100 / this.MAX_VISIBLE_COLUMNS;\n const hiddenEvents: CalendarEventWithLayout[] = [];\n\n for (let i = 0; i < visibleColsCount; i++) {\n columns[i].forEach(event => {\n resultEvents.push({\n ...event,\n left: i * colWidth,\n width: colWidth\n });\n });\n }\n\n for (let i = visibleColsCount; i < totalColumns; i++) {\n columns[i].forEach(event => {\n hiddenEvents.push({\n ...event,\n left: visibleColsCount * colWidth,\n width: colWidth\n });\n });\n }\n\n if (hiddenEvents.length > 0) {\n const minStart = hiddenEvents.reduce((min, e) => Math.min(min, e.start.timestamp), Infinity);\n const maxEnd = hiddenEvents.reduce((max, e) => Math.max(max, e.end.timestamp), -Infinity);\n\n resultEvents.push({\n id: -9999,\n title: `+${hiddenEvents.length} more`,\n start: new DateTz(minStart),\n end: new DateTz(maxEnd),\n color: 'light',\n left: visibleColsCount * colWidth,\n width: colWidth,\n isOverflowIndicator: true,\n overflowEvents: hiddenEvents,\n overlapCount: hiddenEvents.length\n });\n }\n }\n\n return resultEvents;\n }\n\n private sortEventsStable(events: CalendarEvent[]): CalendarEvent[] {\n return [...events].sort((a, b) => {\n const diff = a.start.timestamp - b.start.timestamp;\n if (diff !== 0) return diff;\n\n const durA = a.end.timestamp - a.start.timestamp;\n const durB = b.end.timestamp - b.start.timestamp;\n if (durB !== durA) return durB - durA;\n\n const idA = a.id ? a.id.toString() : a.title;\n const idB = b.id ? b.id.toString() : b.title;\n return idA.localeCompare(idB);\n });\n }\n}\n","<div class=\"calendar-wrapper d-flex flex-column\">\n\n <!-- HEADER WRAPPER -->\n <div #headerRow\n class=\"header-container overflow-hidden flex-shrink-0 border-bottom bg-body-tertiary\"\n [style.padding-right.px]=\"scrollbarWidth\">\n\n <div class=\"header-row d-flex\" [style.min-height.rem]=\"MIN_HEADER_HEIGHT\">\n\n <div class=\"time-gutter border-end flex-shrink-0\"></div>\n\n <div class=\"days-header d-flex flex-grow-1\">\n <div *ngFor=\"let day of days\"\n class=\"day-cell text-center p-2 border-end\"\n [class.text-primary]=\"isToday(day)\"\n [class.fw-bold]=\"isToday(day)\"\n [class.bg-primary]=\"isToday(day)\"\n >\n <div class=\"small text-uppercase text-body-secondary\">{{ day | dayOfWeek: 'short' }}</div>\n <div class=\"h5 m-0\">{{ day | dtz:'DD' }}</div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- BODY WRAPPER -->\n <div #scrollBody\n class=\"calendar-body flex-grow-1 overflow-auto bg-body position-relative\"\n (scroll)=\"onBodyScroll($event)\" [style.max-height.rem]=\"MAX_BODY_HEIGHT\">\n\n <div class=\"body-row d-flex position-relative\">\n\n <!-- SIDEBAR (Sticky Left) -->\n <div class=\"time-sidebar sticky-start flex-shrink-0 border-end\">\n <div *ngFor=\"let time of timeSlots; let i = index\"\n class=\"time-slot-label small text-body-secondary d-flex align-items-start justify-content-center\"\n [style.height.px]=\"ROW_HEIGHT\">\n <span *ngIf=\"i !== 0\" style=\"transform: translateY(-50%)\">\n {{ time }}\n </span>\n </div>\n </div>\n\n <!-- GRID AND EVENTS -->\n <div class=\"grid-layer flex-grow-1 position-relative\">\n\n <!-- LAYER 1: Grid -->\n <div class=\"background-grid position-absolute w-100 h-100 top-0 start-0 z-0\">\n <div *ngFor=\"let time of timeSlots\"\n class=\"grid-row border-bottom\"\n [style.height.px]=\"ROW_HEIGHT\">\n </div>\n </div>\n\n <!-- Layer 2: Events -->\n <div class=\"events-container d-flex h-100 w-100 position-relative z-1\" cdkDropListGroup>\n <div *ngFor=\"let day of days\"\n class=\"day-column position-relative border-end h-100\"\n cdkDropList\n [cdkDropListSortingDisabled]=\"true\"\n [cdkDropListData]=\"day\"\n (cdkDropListDropped)=\"onEventDrop($event)\"\n (click)=\"eventClick.emit()\"\n >\n\n <rlb-calendar-event\n *ngFor=\"let event of getEventsForDay(day); trackBy: trackByEventId\"\n [view]=\"view\"\n [event]=\"event\"\n [style.top.px]=\"calculateEventTop(event)\"\n [style.height.px]=\"calculateEventHeight(event)\"\n [style.left.%]=\"event.left\"\n [style.width.%]=\"event.width\"\n (eventClick)=\"eventClick.emit($event)\"\n (eventContainerClick)=\"eventContainerClick.emit($event)\"\n cdkDrag\n [cdkDragData]=\"event\"\n [cdkDragDisabled]=\"event.isOverflowIndicator\"\n class=\"position-absolute\"\n >\n <div *cdkDragPlaceholder style=\"opacity: 0\"></div>\n </rlb-calendar-event>\n\n <div *ngIf=\"isToday(day)\"\n class=\"now-line\"\n [style.top.px]=\"getNowTop()\">\n </div>\n\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport { CdkDragDrop } from '@angular/cdk/drag-drop';\nimport { DateTz, IDateTz } from \"@open-rlb/date-tz\";\nimport { CalendarEvent, CalendarEventWithLayout } from \"../../interfaces/calendar-event.interface\";\nimport { CalendarView } from \"../../interfaces/calendar-view.type\";\nimport { isToday } from \"../../utils/calendar-date-utils\";\n\n// Extend the layout interface for internal rendering logic\ninterface MonthViewEvent extends CalendarEventWithLayout {\n isSpacer?: boolean; // Invisible block to maintain vertical rhythm\n isHidden?: boolean; // Flag for logic (though we mostly slice array)\n originalStart: IDateTz; // Needed for DnD calculations\n originalEnd: IDateTz;\n}\n\ninterface DaySlot {\n date: IDateTz;\n events: MonthViewEvent[];\n hasOverflow: boolean;\n overflowCount: number;\n overflowEvents: CalendarEvent[];\n}\n\nconst MAX_EVENTS_PER_CELL = 3;\nconst DAYS_IN_GRID = 42; // 6 weeks * 7 days\n\n@Component({\n selector: 'rlb-calendar-month-grid',\n templateUrl: './calendar-month-grid.component.html',\n styleUrls: ['./calendar-month-grid.component.scss'],\n standalone: false,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CalendarMonthGridComponent implements OnChanges, AfterViewInit, OnDestroy {\n\n @Input() view!: CalendarView;\n @Input() currentDate!: IDateTz;\n @Input() events: CalendarEvent[] = [];\n\n @Output() eventClick = new EventEmitter<CalendarEvent | undefined>();\n @Output() eventContainerClick = new EventEmitter<CalendarEvent[] | undefined>();\n @Output() eventChange = new EventEmitter<CalendarEvent>();\n\n @ViewChild('scrollBody', { static: false }) scrollBodyRef!: ElementRef<HTMLDivElement>;\n @ViewChild('headerRow', { static: false }) headerRowRef!: ElementRef<HTMLDivElement>;\n\n scrollbarWidth: number = 0;\n\n weeks: DaySlot[][] = [];\n weekDaysHeader: IDateTz[] = [];\n readonly MAX_BODY_HEIGHT: number = 30; // rem\n readonly MIN_ROW_HEIGHT = 110; // px for a full hour slot\n readonly MIN_HEADER_HEIGHT = 3.5 // rem\n\n constructor() {}\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['currentDate'] || changes['view'] || changes['events']) {\n this.buildMonthGrid();\n }\n }\n\n ngAfterViewInit() {\n this.updateScrollbarWidth();\n window.addEventListener('resize', this.onResize);\n }\n\n ngOnDestroy() {\n window.removeEventListener('resize', this.onResize);\n }\n\n private onResize = () => {\n this.updateScrollbarWidth();\n }\n\n onBodyScroll(event: Event) {\n if (this.headerRowRef && this.scrollBodyRef) {\n this.headerRowRef.nativeElement.scrollLeft = this.scrollBodyRef.nativeElement.scrollLeft;\n }\n }\n\n private updateScrollbarWidth() {\n if (this.scrollBodyRef) {\n const el = this.scrollBodyRef.nativeElement;\n this.scrollbarWidth = el.offsetWidth - el.clientWidth;\n }\n }\n\n\n // --- Helpers ---\n\n isToday(date: IDateTz): boolean {\n return isToday(date);\n }\n\n isCurrentMonth(date: IDateTz): boolean {\n return date.month === this.currentDate.month;\n }\n\n trackByDay(_index: number, item: DaySlot): number {\n return item.date.timestamp;\n }\n\n trackByEvent(index: number, item: MonthViewEvent): string | number {\n // Unique ID for spacers is crucial for Angular rendering performance\n return item.id || `spacer-${index}`;\n }\n\n // --- Core Logic ---\n\n private buildMonthGrid() {\n // 1. Calculate Grid Boundaries\n const current = new DateTz(this.currentDate);\n // Find the first day of the month\n const startOfMonth = new DateTz(current).set(1, 'day').set(0, 'hour').set(0, 'minute').stripSecMillis();\n\n // Calculate offset to find the start of the grid (e.g. Monday)\n const dayOfWeek = startOfMonth.dayOfWeek as number; // 0 = Sun, 1 = Mon...\n // Adjust logic based on your locale start of week (assuming Monday start here)\n const offset = dayOfWeek === 0 ? 6 : dayOfWeek - 1;\n\n const gridStart = new DateTz(startOfMonth).add(-offset, 'day');\n\n // 2. Generate Days\n const days: IDateTz[] = [];\n let iter: IDateTz = new DateTz(gridStart);\n\n for (let i = 0; i < DAYS_IN_GRID; i++) {\n days.push(iter);\n iter = new DateTz(iter).add(1, 'day');\n }\n\n // Header is just the first week\n this.weekDaysHeader = days.slice(0, 7);\n\n // 3. Process Events (Slotting Algorithm)\n const slotsMap = this.calculateEventSlots(days, this.events);\n\n // 4. Build View Model (Weeks & Overflow logic)\n this.weeks = [];\n for (let i = 0; i < DAYS_IN_GRID; i += 7) {\n const weekDays = days.slice(i, i + 7);\n\n const row: DaySlot[] = weekDays.map(day => {\n const slots = slotsMap.get(day.timestamp) || [];\n const totalSlots = slots.length;\n\n let visibleEvents: MonthViewEvent[];\n let overflowEvents: CalendarEvent[] = [];\n let hasOverflow = false;\n\n if (totalSlots > MAX_EVENTS_PER_CELL) {\n hasOverflow = true;\n // Leave room for the \"+ More\" button\n const cutOffIndex = MAX_EVENTS_PER_CELL - 1;\n visibleEvents = slots.slice(0, cutOffIndex);\n\n // Collect all *real* events that are hidden (excluding spacers)\n // We start looking from cutOffIndex to the end\n for (let k = cutOffIndex; k < totalSlots; k++) {\n const ev = slots[k];\n // We only care about real events for the popup/modal\n if (ev && !ev.isSpacer) {\n overflowEvents.push(ev);\n }\n }\n } else {\n visibleEvents = slots;\n }\n\n return {\n date: day,\n events: visibleEvents,\n hasOverflow,\n overflowCount: overflowEvents.length,\n overflowEvents: overflowEvents\n };\n });\n\n this.weeks.push(row);\n }\n }\n\n /**\n * \"Tetris\" Algorithm:\n * Places events into rows so that long events maintain their vertical position across days.\n */\n private calculateEventSlots(days: IDateTz[], events: CalendarEvent[]): Map<number, MonthViewEvent[]> {\n const dayMap = new Map<number, MonthViewEvent[]>();\n days.forEach(d => dayMap.set(d.timestamp, []));\n\n // Sort: Longest events first, then by start time\n const sortedEvents = [...events].sort((a, b) => {\n const durA = a.end.timestamp - a.start.timestamp;\n const durB = b.end.timestamp - b.start.timestamp;\n if (durB !== durA) return durB - durA;\n return a.start.timestamp - b.start.timestamp;\n });\n\n const gridStartTs = days[0].timestamp;\n const lastDay = days[days.length - 1];\n // End of grid is the start of the next day after the last cell\n const gridEndTs = new DateTz(lastDay).add(1, 'day').timestamp;\n\n for (const event of sortedEvents) {\n // Normalize start to beginning of day\n const evtStart = new DateTz(event.start).set(0, 'hour').set(0, 'minute').stripSecMillis();\n const evtEndRaw = new DateTz(event.end).stripSecMillis();\n\n // Normalize end.\n // If ends at 00:00, it effectively ends at the previous day visually.\n // Else, round up to the end of that day.\n let evtEnd: IDateTz;\n const isMidnight = evtEndRaw.hour === 0 && evtEndRaw.minute === 0;\n\n if (evtEndRaw.timestamp > evtStart.timestamp && isMidnight) {\n evtEnd = evtEndRaw; // Keeps it clean for comparison, effectively 00:00 of next day\n } else {\n // Round to start of next day to cover full day\n evtEnd = new DateTz(evtEndRaw).set(0, 'hour').set(0, 'minute').add(1, 'day').stripSecMillis!();\n }\n\n // Skip if completely outside grid\n if (evtEnd.timestamp <= gridStartTs || evtStart.timestamp >= gridEndTs) {\n continue;\n }\n\n // Find which grid indices this event occupies\n const daysIndices: number[] = [];\n for (let i = 0; i < days.length; i++) {\n const dTs = days[i].timestamp;\n // Check intersection: [DayStart, DayEnd) overlaps [EventStart, EventEnd)\n if (dTs >= evtStart.timestamp && dTs < evtEnd.timestamp) {\n daysIndices.push(i);\n }\n }\n\n if (daysIndices.length === 0) continue;\n\n // Find the first available row index (visual height) common to ALL occupied days\n let rowIndex = 0;\n let available = false;\n\n while (!available) {\n let collision = false;\n for (const idx of daysIndices) {\n const dTs = days[idx].timestamp;\n const slots = dayMap.get(dTs)!;\n // Check if slot is occupied\n if (slots[rowIndex] !== undefined) {\n collision = true;\n break;\n }\n }\n if (!collision) {\n available = true;\n } else {\n rowIndex++;\n }\n }\n\n // Place the event segments\n daysIndices.forEach((idx, i) => {\n const dTs = days[idx].timestamp;\n const slots = dayMap.get(dTs)!;\n\n // Fill gaps with spacers up to rowIndex\n while (slots.length < rowIndex) {\n slots.push({ isSpacer: true, id: -1 } as MonthViewEvent);\n }\n\n const isFirstRenderDay = (i === 0);\n const isLastRenderDay = (i === daysIndices.length - 1);\n\n // Visual flags for rounding corners\n const isContinuedBefore = !isFirstRenderDay || (evtStart.timestamp < days[daysIndices[0]].timestamp);\n const currentDayEndTs = new DateTz(dTs).add(1, 'day').timestamp;\n const isContinuedAfter = !isLastRenderDay || (evtEnd.timestamp > currentDayEndTs);\n\n const eventView: MonthViewEvent = {\n ...event,\n // Override start/end for the specific cell (crucial for DnD to know the cell context)\n start: new DateTz(dTs),\n end: new DateTz(currentDayEndTs),\n originalStart: event.start,\n originalEnd: event.end,\n isContinuedBefore,\n isContinuedAfter,\n left: 0,\n width: 100\n };\n\n slots[rowIndex] = eventView;\n });\n }\n\n return dayMap;\n }\n\n // --- Drag and Drop ---\n\n onEventDrop(event: CdkDragDrop<IDateTz, any, MonthViewEvent>) {\n const movedSegment = event.item.data;\n const targetDate = event.container.data;\n\n // Calculate time difference\n const diffMs = targetDate.timestamp - movedSegment.start.timestamp;\n\n // Use original dates to prevent shifting due to segmentation\n const sourceStart = movedSegment.originalStart;\n const sourceEnd = movedSegment.originalEnd;\n\n // Create new dates\n const newStartTs = sourceStart.timestamp + diffMs;\n const newEndTs = sourceEnd.timestamp + diffMs;\n\n // Create clean object (Immutability pattern)\n // Destructure to remove layout specific props like isSpacer, originalStart, etc.\n const { isSpacer, isHidden, isContinuedBefore, isContinuedAfter, originalStart, originalEnd, left, width, ...baseEvent } = movedSegment;\n\n const updatedEvent: CalendarEvent = {\n ...baseEvent,\n start: new DateTz(newStartTs, sourceStart.timezone).stripSecMillis(),\n end: new DateTz(newEndTs, sourceEnd.timezone).stripSecMillis()\n };\n\n this.eventChange.emit(updatedEvent);\n }\n}\n","<div class=\"d-flex flex-column w-100 bg-body user-select-none month-view-root\" [style.max-height.rem]=\"MAX_BODY_HEIGHT\">\n\n <!-- SCROLL CONTAINER -->\n <div class=\"calendar-scroller flex-grow-1 overflow-auto bg-body position-relative\">\n\n <!-- 1. Header Row (Fixed) -->\n <div class=\"d-flex flex-shrink-0 border-bottom bg-body-tertiary sticky-top\"\n [style.min-height.rem]=\"MIN_HEADER_HEIGHT\">\n <div *ngFor=\"let day of weekDaysHeader\"\n class=\"flex-fill text-center py-2 border-end fw-bold text-secondary text-uppercase w-0 my-auto h6\"\n >\n {{ day | dayOfWeek:'short' }}\n </div>\n </div>\n\n <!-- 2. Grid Body (Scrollable) -->\n <div class=\"d-flex flex-column flex-grow-1 border-start overflow-y-auto min-height-0\">\n\n <div class=\"d-flex flex-column\" cdkDropListGroup>\n <div *ngFor=\"let week of weeks;\"\n class=\"d-flex border-bottom min-h-row\"\n style=\"flex: 1 0 auto;\"\n [style.min-height.px]=\"MIN_ROW_HEIGHT\"\n >\n\n <div *ngFor=\"let slot of week;\"\n class=\"flex-fill border-end p-1 d-flex flex-column position-relative\"\n style=\"width: 0\"\n [class.bg-light]=\"!isCurrentMonth(slot.date)\"\n cdkDropList\n [cdkDropListData]=\"slot.date\"\n (cdkDropListDropped)=\"onEventDrop($event)\"\n (click)=\"eventClick.emit()\"\n >\n <!-- Date Number -->\n <div class=\"d-flex justify-content-center mb-1\">\n <span class=\"day-number d-flex align-items-center justify-content-center\"\n [class.today]=\"isToday(slot.date)\">\n {{ slot.date | dtz:'DD' }}\n </span>\n </div>\n\n <!-- Events Stack -->\n <div class=\"d-flex flex-column gap-1 w-100\">\n <ng-container *ngFor=\"let event of slot.events; trackBy: trackByEvent\">\n\n <!-- Spacer -->\n <div *ngIf=\"event.isSpacer\" class=\"event-spacer\"></div>\n\n <!-- Event -->\n <rlb-calendar-event\n *ngIf=\"!event.isSpacer\"\n [event]=\"event\"\n class=\"w-100\"\n cdkDrag\n [cdkDragData]=\"event\"\n (eventClick)=\"eventClick.emit($event)\"\n [view]=\"view\"\n >\n <!-- Drag Preview (Optional but nice) -->\n <div *cdkDragPlaceholder style=\"opacity: 0\"></div>\n <ng-template cdkDragPreview matchSize class=\"rlb-calendar-drag-preview\">\n <rlb-calendar-event\n [event]=\"event\"\n [view]=\"view\"\n style=\"box-sizing: border-box;\"\n >\n </rlb-calendar-event>\n </ng-template>\n </rlb-calendar-event>\n\n </ng-container>\n </div>\n\n <!-- Overflow (+N more) -->\n <div *ngIf=\"slot.hasOverflow\"\n class=\"mt-1 small text-secondary text-center cursor-pointer p-1 rounded hover-bg\"\n (click)=\"$event.stopPropagation(); eventContainerClick.emit(slot.overflowEvents)\">\n +{{ slot.overflowCount }} more\n </div>\n </div>\n\n </div>\n </div>\n </div>\n\n </div>\n</div>\n","import { Component, EventEmitter, Input, OnChanges, OnDestroy, Output, SimpleChanges } from \"@angular/core\";\nimport { CalendarEvent } from \"../interfaces/calendar-event.interface\";\nimport { IDateTz } from \"@open-rlb/date-tz\";\nimport { CalendarView } from \"../interfaces/calendar-view.type\";\n\n@Component({\n\tselector: 'rlb-calendar-grid',\n\ttemplateUrl: './calendar-grid.component.html',\n\tstyleUrls: ['./calendar-grid.component.scss'],\n standalone: false,\n})\nexport class CalendarGrid implements OnChanges, OnDestroy {\n\t@Input() view!: CalendarView;\n\t@Input() currentDate!: IDateTz;\n\t@Input() events: CalendarEvent[] = [];\n @Output() eventClick = new EventEmitter<CalendarEvent | undefined>();\n @Output() eventContainerClick = new EventEmitter<CalendarEvent[] | undefined>();\n @Output() eventChange = new EventEmitter<CalendarEvent>();\n\n constructor(\n\t) {\n }\n\n ngOnChanges(changes: SimpleChanges) {\n\n\t}\n\n ngOnDestroy() {\n\t}\n}\n","<ng-container [ngSwitch]=\"view\">\n\t<ng-container *ngSwitchCase=\"'week'\">\n <rlb-calendar-week-grid\n [view]=\"view\"\n [currentDate]=\"currentDate\"\n [events]=\"events\"\n (eventClick)=\"eventClick.emit($event)\"\n (eventContainerClick)=\"eventContainerClick.emit($event)\"\n (eventChange)=\"eventChange.emit($event)\"\n />\n\t</ng-container>\n <ng-container *ngSwitchCase=\"'month'\">\n <rlb-calendar-month-grid\n [view]=\"view\"\n [currentDate]=\"currentDate\"\n [events]=\"events\"\n (eventClick)=\"eventClick.emit($event)\"\n (eventContainerClick)=\"eventContainerClick.emit($event)\"\n (eventChange)=\"eventChange.emit($event)\"\n />\n </ng-container>\n\t<ng-container *ngSwitchDefault>\n\t\tnot implemented yet\n\t</ng-container>\n</ng-container>\n","import { booleanAttribute, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from \"@angular/core\";\nimport { CalendarEvent } from \"./interfaces/calendar-event.interface\";\nimport { DateTz } from \"@open-rlb/date-tz\";\nimport { CalendarChangeEvent, CalendarView } from \"./interfaces/calendar-view.type\";\nimport { ModalService } from \"../modals/modal.service\";\nimport { UniqueIdService } from \"../../shared/unique-id.service\";\nimport { filter, map, of, switchMap, take } from \"rxjs\";\nimport { getToday } from \"./utils/calendar-date-utils\";\nimport { ModalResult } from \"../modals\";\nimport { CalendarOverflowEventsDialogResult } from \"./calendar-dialogs\";\nimport { ToastService } from \"../toast\";\nimport { ModalType } from \"../../shared/types\";\n\n\n@Component({\n\tselector: \"rlb-calendar\",\n\ttemplateUrl: \"./calendar.component.html\",\n\tstyleUrls: [\"./calendar.component.scss\"],\n\tstandalone: false\n})\nexport class CalendarComponent implements OnChanges {\n\n @Input({ alias: 'view' }) view: CalendarView = 'week';\n\n\t@Input({ alias: 'events' }) events: CalendarEvent[] = [];\n\n @Input({ alias: 'current-date' }) currentDate: DateTz;\n\n\t@Input({ alias: 'loading', transform: booleanAttribute }) loading = false;\n\n\t@Input({ alias: 'show-toolbar', transform: booleanAttribute }) showToolbar = true;\n\n @Output('date-change') dateChange = new EventEmitter<CalendarChangeEvent>();\n\t@Output('view-change') viewChange = new EventEmitter<CalendarChangeEvent>();\n\t@Output('event-click') eventClick = new EventEmitter<CalendarEvent>();\n\n // private userTimeZone: string = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\tprivate dateFormat: string = 'YYYY-MM-DD HH:mm:ss';\n\n constructor(\n private modals: ModalService,\n private unique: UniqueIdService,\n private toasts: ToastService,\n ) {\n this.currentDate = getToday();\n\t}\n\n ngOnChanges(changes: SimpleChanges) {\n\t\tif (changes['currentDate']) {\n const incomingDate = changes['currentDate'].currentValue as DateTz;\n\t\t\tthis.currentDate = incomingDate;\n\t\t}\n\n if (changes['events']) {\n\t\t\tthis.events = changes['events'].currentValue as CalendarEvent[];\n\t\t}\n\t}\n\n // DnD event\n onEventChange(eventToEdit: CalendarEvent) {\n const idx = this.events.findIndex((event) => event.id === eventToEdit.id);\n this.events[idx] = eventToEdit\n this.events = [...this.events];\n this.toasts.openToast(\n 'toast-c-1',\n 'rlb-calendar-toast',\n {\n title: 'Success!',\n content: 'Event edited successfully.',\n type: 'success',\n }\n ).pipe(\n take(1)\n ).subscribe()\n }\n\n onEventContainerClick(events: CalendarEvent[] | undefined) {\n this.modals.openModal(\n 'rlb-calendar-overlow-events-container',\n {\n title: 'Overflow events',\n ok: 'OK',\n type: 'success',\n content: events\n }\n ).pipe(\n take(1),\n filter((modalResult: ModalResult<CalendarOverflowEventsDialogResult>) => modalResult.reason === 'ok'),\n switchMap((modalResult) => {\n const action = modalResult.result.action\n const event = modalResult.result.event;\n if (action === 'delete') {\n return this.modals.openConfirmModal(\n \"Event delete\",\n \"Are you sure you want to delete this event?\",\n \"\",\n \"Ok\",\n \"Cancel\"\n ).pipe(\n take(1),\n filter((deleteConfirmResult) => deleteConfirmResult.reason === 'ok'),\n map(result => ({ action, modalResult: result, event }))\n )\n } else {\n return this.openEditEventDialog(event).pipe(\n map(result => ({ action, modalResult: result, event }))\n );\n }\n }),\n switchMap(({ action, modalResult, event }) => {\n if (action === 'delete' && modalResult.reason === 'ok' || action === 'edit' && modalResult.reason === 'cancel') {\n this.events = [...this.events.filter(entry => event.id !== entry.id),]\n return of({ action: 'delete' })\n }\n\n if (action === 'edit' && modalResult.reason === 'ok') {\n const idx = this.events.findIndex((entry) => event.id === entry.id);\n this.events[idx] = modalResult.result;\n this.events = [...this.events];\n return of({ action: 'edit' })\n }\n\n return of(null)\n }),\n switchMap((result) => {\n if (result) {\n let content = '';\n let type: ModalType = 'success'\n switch (result.action) {\n case 'delete':\n content = 'Event deleted successfully.';\n type = 'warning';\n break;\n case 'edit':\n content = 'Event edited successfully.';\n type = 'info'\n break;\n case 'create':\n content = 'Event created successfully.';\n break;\n }\n return this.toasts.openToast(\n 'toast-c-1',\n 'rlb-calendar-toast',\n {\n title: 'Success!',\n content,\n type,\n }\n ).pipe(\n take(1)\n )\n }\n return of(null)\n })\n ).subscribe()\n }\n\n onEventClick(eventToEdit?: CalendarEvent) {\n if (eventToEdit) {\n this.eventClick.emit(eventToEdit)\n }\n\n this.openEditEventDialog(eventToEdit).pipe(\n switchMap((modalResult) => {\n const newEvent = modalResult.result;\n let result = null\n if (modalResult.reason === 'cancel' && eventToEdit) {\n this.events = [...this.events.filter(event => event.id !== eventToEdit.id),]\n result = { action: 'delete' }\n return of(result)\n }\n\n if (modalResult.reason === 'cancel' || modalResult.reason === 'close' || modalResult.reason === undefined) {\n return of(result)\n }\n\n if (eventToEdit) {\n const idx = this.events.findIndex((event) => event.id === eventToEdit.id);\n this.events[idx] = newEvent\n result = { action: 'edit' }\n } else {\n this.events.push(newEvent)\n result = { action: 'create' }\n }\n\n this.events = [...this.events];\n return of(result)\n }),\n switchMap((result) => {\n if (result) {\n let content = '';\n let type: ModalType = 'success'\n switch (result.action) {\n case 'delete':\n content = 'Event deleted successfully.';\n type = 'warning';\n break;\n case 'edit':\n content = 'Event edited successfully.';\n type = 'info'\n break;\n case 'create':\n content = 'Event created successfully.';\n break;\n }\n return this.toasts.openToast(\n 'toast-c-1',\n 'rlb-calendar-toast',\n {\n title: 'Success!',\n content,\n type,\n }\n ).pipe(\n take(1)\n )\n }\n return of(null)\n })\n ).subscribe()\n }\n\n setDate(date: DateTz) {\n\t\tthis.currentDate = date;\n\t\tthis.dateChange.emit({ date, view: this.view });\n\t}\n\n setView(view: CalendarView) {\n\t\tthis.view = view;\n\t\tthis.viewChange.emit({ date: this.currentDate, view })\n\t}\n\n generateTestEvents(): void {\n const events: any[] = [];\n\n const now = getToday()\n\n events.push({\n color: 'primary',\n title: 'Today 1.5h (11:00-12:30)',\n start: new DateTz(now).convertToTimezone('UTC').set!(11, 'hour').set!(0, 'minute'),\n end: new DateTz(now).convertToTimezone('UTC').set!(12, 'hour').set!(30, 'minute'),\n });\n\n events.push({\n color: 'danger',\n title: 'Today 1h (11:00-12:00)',\n start: new DateTz(now).cloneToTimezone('UTC').set(11, 'hour').set(0, 'minute'),\n end: new DateTz(now).cloneToTimezone('UTC').set(12, 'hour').set(0, 'minute'),\n });\n\n events.push({\n color: 'success',\n title: 'Today 1.5h (11:30-12:30)',\n start: new DateTz(now).cloneToTimezone('UTC').set(11, 'hour').set(30, 'minute'),\n end: new DateTz(now).cloneToTimezone('UTC').set(12, 'hour').set(30, 'minute'),\n });\n\n events.push({\n color: 'info',\n title: 'Today 1.5h (11:00-12:30)',\n start: new DateTz(now).cloneToTimezone('UTC').set(11, 'hour').set(0, 'minute'),\n end: new DateTz(now).cloneToTimezone('UTC').set(12, 'hour').set(30, 'minute'),\n });\n\n events.push({\n color: 'warning',\n title: 'Today 1.75h (11:15-12:30)',\n start: new DateTz(now).cloneToTimezone('UTC').set(11, 'hour').set(15, 'minute'),\n end: new DateTz(now).cloneToTimezone('UTC').set(12, 'hour').set(30, 'minute'),\n });\n\n events.push({\n color: 'secondary',\n title: 'Today 1.75h (10:45-12:30)',\n start: new DateTz(now).cloneToTimezone('UTC').set(10, 'hour').set(45, 'minute'),\n end: new DateTz(now).cloneToTimezone('UTC').set(12, 'hour').set(30, 'minute'),\n });\n\n\n events.push({\n color: 'danger',\n title: 'Today 0.5h test 2 (11:30-12:00)',\n start: new DateTz(now).cloneToTimezone('UTC').set(11, 'hour').set(30, 'minute'),\n end: new DateTz(now).cloneToTimezone('UTC').set(12, 'hour').set(0, 'minute'),\n });\n\n events.push({\n color: 'success',\n title: 'Today 1.75h test 3 (10:15-12:00)',\n start: new DateTz(now).cloneToTimezone('UTC').set(10, 'hour').set(15, 'minute'),\n end: new DateTz(now).cloneToTimezone('UTC').set(12, 'hour').set(0, 'minute'),\n });\n\n events.push({\n color: 'warning',\n title: 'Today 1.5h test 4 (12:00-13:30)',\n start: new DateTz(now).cloneToTimezone('UTC').set(12, 'hour').set(0, 'minute'),\n end: new DateTz(now).cloneToTimezone('UTC').set(13, 'hour').set(30, 'minute'),\n });\n\n events.push({\n color: 'primary',\n title: 'Today 0.5h test 4 (13:30-14:00)',\n start: new DateTz(now).cloneToTimezone('UTC').set(13, 'hour').set(30, 'minute'),\n end: new DateTz(now).cloneToTimezone('UTC').set(14, 'hour').set(0, 'minute'),\n });\n\n // Today from 15:15 to 16:00\n\n events.push({\n color: 'danger',\n title: 'Today 45min (15:15-16:00)',\n start: new DateTz(now).cloneToTimezone('UTC').set(15, 'hour').set(15, 'minute'),\n end: new DateTz(now).cloneToTimezone('UTC').set(16, 'hour').set(0, 'minute'),\n });\n\n events.push({\n color: 'primary',\n title: 'Today 45min 2 (15:15-16:00)',\n start: new DateTz(now).cloneToTimezone('UTC').set(15, 'hour').set(15, 'minute'),\n end: new DateTz(now).cloneToTimezone('UTC').set(16, 'hour').set(0, 'minute'),\n });\n\n\n // === 2. Event \"Tomorrow\" (currentDate + 1 day) ===\n const tomorrowBase = new DateTz(now).add(1, 'day');\n events.push({\n color: 'info',\n title: 'Tomorrow 2h (09:00-11:00)',\n start: new DateTz(tomorrowBase).convertToTimezone('UTC').set!(9, 'hour').set!(0, 'minute'),\n end: new DateTz(tomorrowBase).convertToTimezone('UTC').set!(11, 'hour').set!(0, 'minute'),\n });\n\n\n // === 3. Event after tomorrow (currentDate + 2 days) ===\n const dayAfterTomorrowBase = new DateTz(now).add(2, 'day');\n events.push({\n color: 'success',\n title: 'After Tomorrow 1h (17:00-18:00)',\n start: new DateTz(dayAfterTomorrowBase).convertToTimezone('UTC').set!(17, 'hour').set!(0, 'minute'),\n end: new DateTz(dayAfterTomorrowBase).convertToTimezone('UTC').set!(18, 'hour').set!(0, 'minute'),\n });\n\n\n // === 4. Event (currentDate - 1 day) ===\n const yesterdayBase = new DateTz(now).add(-1, 'day');\n\n events.push({\n color: 'warning',\n title: 'Yesterday 2h (14:00-16:00)',\n start: new DateTz(yesterdayBase).convertToTimezone('UTC').set!(14, 'hour').set!(0, 'minute'),\n end: new DateTz(yesterdayBase).convertToTimezone('UTC').set!(16, 'hour').set!(0, 'minute'),\n });\n\n // === 5. Event \"Cross day\" ===\n const dayBeforeYesterdayBase = new DateTz(now).add(-2, 'day');\n const dayBeforeYesterdayEndBase = new DateTz(now).add(-1, 'day');\n events.push({\n color: 'secondary',\n title: 'Cross Day (22:00 -> 02:00)',\n start: new DateTz(dayBeforeYesterdayBase).convertToTimezone('UTC').set!(22, 'hour').set!(0, 'minute').stripSecMillis(),\n end: new DateTz(dayBeforeYesterdayEndBase).convertToTimezone('UTC').set!(2, 'hour').set!(0, 'minute').stripSecMillis(),\n });\n\n this.events = events.map((event) => {\n return {\n ...event,\n id: this.unique.id\n }\n })\n\t}\n\n private openEditEventDialog(eventToEdit?: CalendarEvent) {\n return this.modals.openModal<CalendarEvent | undefined, CalendarEvent>('rlb-calendar-event-create-edit', {\n title: eventToEdit ? 'Edit event' : 'Create event',\n content: eventToEdit,\n ok: 'OK',\n type: 'success',\n }).pipe(\n take(1)\n )\n }\n}\n","<div class=\"rlb-calendar\">\n\t<div class=\"my-3 d-flex align-items-center justify-content-between\">\n <button class=\"ms-auto\" rlb-button outline (click)=\"generateTestEvents()\">Generate events</button>\n\t</div>\n\t<rlb-calendar-header\n\t\t*ngIf=\"showToolbar\"\n\t\t[view]=\"view\"\n\t\t[currentDate]=\"currentDate\"\n\t\t(viewChange)=\"setView($event)\"\n\t\t(dateChange)=\"setDate($event)\">\n\t</rlb-calendar-header>\n\n\t<rlb-calendar-grid\n\t\t[events]=\"events\"\n\t\t[view]=\"view\"\n\t\t[currentDate]=\"currentDate\"\n (eventClick)=\"onEventClick($event)\"\n (eventContainerClick)=\"onEventContainerClick($event)\"\n (eventChange)=\"onEventChange($event)\"\n >\n\t</rlb-calendar-grid>\n</div>\n","import { CalendarComponent } from \"./calendar.component\";\nimport { CalendarHeaderComponent } from \"./header/calendar-header.component\";\nimport { CalendarGrid } from \"./grid/calendar-grid.component\";\nimport { CalendarWeekGridComponent } from \"./grid/week/calendar-week-grid.component\";\nimport { CalendarEventComponent } from \"./event/calendar-event.component\";\nimport { CalendarMonthGridComponent } from \"./grid/month/calendar-month-grid.component\";\n\nexport * from './calendar.component';\nexport * from './header/calendar-header.component';\nexport * from './grid/calendar-grid.component';\nexport * from './grid/week/calendar-week-grid.component';\nexport * from './grid/month/calendar-month-grid.component'\nexport * from './event/calendar-event.component'\n\nexport * from './interfaces/calendar-event.interface';\n\n\nexport const CALENDAR_COMPONENTS = [\n\tCalendarComponent,\n\tCalendarHeaderComponent,\n\tCalendarGrid,\n CalendarWeekGridComponent,\n CalendarMonthGridComponent,\n CalendarEventComponent\n];\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'rlb-chat-container',\n template: `<ng-content />`,\n host: { class: 'chat-bubble__wrap' },\n standalone: false\n})\nexport class ChatContainerComponent { }\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { VisibilityEventBase } from '../../shared/types';\n\n@Component({\n selector: 'rlb-chat-item',\n template: `\n <div [id]=\"id\" class=\"chat-bubble-item\" [class.left]=\"position==='left'\" [class.right]=\"position==='right'\">\n <button *ngIf=\"canReply && position === 'right'\" class=\"reply-button\" (click)=\"replyClick($event)\">\n <i class=\"bi bi-reply-fill\"></i>\n </button>\n <div class=\"avatar small\" *ngIf=\"position === 'left'\">\n <img [src]=\"avatar\" alt=\"avatar\">\n </div>\n <div class=\"text\">\n <div class=\"replied-message\" *ngIf=\"replayText\">\n <span class=\"name\">{{replaySubject}}</span>\n <p>{{replayText}}</p>\n </div>\n <div>\n <ng-content/>\n </div>\n <i class=\"bi bi-check-all float-end\"></i>\n <span class=\"time float-end\">{{ dateTime | date:'dd/MM HH:mm:ss' }}</span>\n <rlb-dropdown direction=\"up\" class=\"reaction\">\n <a rlb-button rlb-dropdown *ngIf=\"!reaction\"\n autoClose=\"manual\" class=\"reaction add p-1\"\n [class.right]=\"position==='right'\" [class.left]=\"position==='left'\"\n (status-changed)=\"this.reactionSelector.emit($event)\">\n <i class=\"bi bi-plus m-0 p-0\"></i>\n </a>\n <rlb-dropdown-container>\n <ng-content select=\"[reaction-picker]\" />\n </rlb-dropdown-container>\n </rlb-dropdown>\n <span class=\"reaction\" *ngIf=\"reaction\" [class.right]=\"position==='right'\" [class.left]=\"position==='left'\" (click)=\"reactionClick.emit('remove')\">{{reaction}}</span>\n </div>\n <div class=\"avatar small\" *ngIf=\"position === 'right'\">\n <img [src]=\"avatar\" alt=\"avatar\">\n </div>\n <button *ngIf=\"canReply && position === 'left'\" class=\"reply-button\" (click)=\"replyClick($event)\">\n <i class=\"bi bi-reply-fill\"></i>\n </button>\n </div>\n `,\n host: { '[class.ms-auto]': 'position === \"right\"' },\n standalone: false\n})\nexport class ChatItemComponent {\n\n @Input({ alias: 'id' }) id?: string = '';\n @Input({ alias: 'avatar' }) avatar?: string = '';\n @Input({ alias: 'text' }) text: string = '';\n @Input({ alias: 'date-time' }) dateTime?: Date | number = new Date();\n\n @Input({ alias: 'replay-text' }) replayText?: string;\n @Input({ alias: 'replay-subject' }) replaySubject?: string;\n @Input({ alias: 'replay-id' }) replayId?: string;\n\n @Input({ alias: 'position' }) position?: 'left' | 'right' = 'left';\n @Input({ alias: 'reaction' }) reaction?: string;\n\n @Output('reply') reply = new EventEmitter();\n @Output('reaction-click') reactionClick = new EventEmitter();\n @Input({ alias: 'can-reply' }) canReply?: boolean = false;\n @Output('reaction-selector') reactionSelector = new EventEmitter<VisibilityEventBase>();\n\n replyClick(event: MouseEvent) {\n event?.stopPropagation();\n event?.preventDefault();\n this.reply.emit(this.replayId);\n }\n}\n","import { Component, Input, booleanAttribute, numberAttribute } from '@angular/core';\nimport { Color } from '../../shared/types';\n\n@Component({\n selector: 'rlb-list-item-image',\n template: `\n <div class=\"d-flex\">\n <rlb-avatar *ngIf=\"avatar\" [src]=\"avatar\" [size]=\"avatarSize\" />\n <i *ngIf=\"!avatar && icon\" [class]=\"icon\" style=\"font-size: {{avatarSize}}px;\"></i>\n <div class=\"ps-2 flex-grow-1\">\n <div class=\"fw-bold\">{{ username }}</div>\n <span *ngIf=\"line1\" class=\"d-block\">{{ line1 }}</span>\n <span *ngIf=\"line2\" class=\"d-block\">{{ line2 }}</span>\n </div>\n <div *ngIf=\"counter || counterEmpty\">\n <span *ngIf=\"counterEmpty\" rlb-badge [pill]=\"counterPill\" [color]=\"counterColor\" [border]=\"counterBorder\">&nbsp;</span>\n <span *ngIf=\"!counterEmpty\"rlb-badge [pill]=\"counterPill\" [color]=\"counterColor\" [border]=\"counterBorder\">{{ counter }}</span>\n </div>\n </div>\n `,\n host: {\n class: 'list-group-item',\n '[class.disabled]': 'disabled',\n '[class.list-group-item-action]': 'disabled !== true',\n '[class.active]': 'active',\n '[attr.aria-current]': 'active',\n },\n standalone: false\n})\nexport class ListItemImageComponent {\n @Input({ transform: booleanAttribute, alias: 'active', }) active!: boolean;\n @Input({ transform: booleanAttribute, alias: 'disabled', }) disabled!: boolean;\n @Input({ transform: booleanAttribute, alias: 'counter-empty', }) counterEmpty?: string;\n @Input({ transform: booleanAttribute, alias: 'counter-pill', }) counterPill?: boolean;\n @Input({ transform: booleanAttribute, alias: 'counter-border', }) counterBorder?: boolean;\n @Input({ transform: numberAttribute, alias: 'avatar-size', }) avatarSize?: number = 50;\n @Input({ alias: 'username' }) username?: string;\n @Input({ alias: 'line-1' }) line1?: string;\n @Input({ alias: 'line-2' }) line2?: string;\n @Input({ alias: 'avatar' }) avatar?: string;\n @Input({ alias: 'counter' }) counter?: number | string;\n @Input({ alias: 'counter-color' }) counterColor?: Color | undefined;\n @Input({ alias: 'icon' }) icon?: string;\n}\n","import {\n Component,\n Input,\n booleanAttribute,\n} from '@angular/core';\n\n@Component({\n selector: 'rlb-list-item',\n template: `<ng-content></ng-content>`,\n host: {\n class: 'list-group-item',\n '[class.disabled]': 'disabled',\n '[class.list-group-item-action]': 'action',\n '[class.active]': 'active',\n '[attr.aria-current]': 'active',\n },\n standalone: false\n})\nexport class ListItemComponent {\n @Input({ alias: 'active', transform: booleanAttribute }) active?: boolean;\n @Input({ alias: 'disabled', transform: booleanAttribute }) disabled?: boolean;\n @Input({ alias: 'action', transform: booleanAttribute }) action?: boolean;\n\n constructor() { }\n}\n","import {\n Component,\n ContentChildren,\n DoCheck,\n Input,\n QueryList,\n booleanAttribute,\n} from '@angular/core';\nimport { ListItemComponent } from './list-item.component';\n\n@Component({\n selector: 'rlb-list',\n template: `<ng-content select=\"rlb-list-item, rlb-list-item-image\"></ng-content>`,\n host: {\n class: 'list-group',\n '[class.list-group-numbered]': 'numbered',\n '[class.list-group-flush]': 'flush',\n '[class.list-group-horizontal]': 'horizontal',\n '[class.disabled]': 'disabled',\n },\n standalone: false\n})\nexport class ListComponent implements DoCheck {\n @Input({ alias: 'disabled', transform: booleanAttribute }) disabled?: boolean;\n @Input({ alias: 'numbered', transform: booleanAttribute }) numbered?: boolean;\n @Input({ alias: 'flush', transform: booleanAttribute }) flush?: boolean;\n @Input({ alias: 'horizontal', transform: booleanAttribute }) horizontal?: boolean;\n\n @ContentChildren(ListItemComponent) children!: QueryList<ListItemComponent>;\n\n constructor() { }\n\n ngDoCheck() {\n this.children?.forEach((child) => {\n child.disabled = this.disabled;\n });\n }\n}\n","import {\n\tbooleanAttribute,\n\tComponent,\n\tEventEmitter,\n\tInput,\n\tOnInit,\n\tOutput,\n\tTemplateRef,\n\tViewChild,\n\tViewContainerRef,\n} from '@angular/core';\n\n@Component({\n\tselector: 'rlb-navbar-dropdown-item',\n template: ` <ng-template #template>\n <li class=\"nav-item\" [class.dropdown]=\"dropdown\">\n <a\n class=\"nav-link {{ cssClass }}\"\n [class.dropdown-toggle]=\"dropdown\"\n [attr.role]=\"(dropdown || toggle) ? 'button' : undefined\"\n [attr.data-bs-toggle]=\"dropdown ? 'dropdown' : undefined\"\n [attr.aria-expanded]=\"(dropdown || toggle) ? 'false' : undefined\"\n [attr.data-bs-auto-close]=\"_autoClose\"\n [href]=\"(dropdown || toggle) ? '#' : href\"\n (click)=\"click.emit($event)\"\n >\n <ng-content select=\":not(rlb-dropdown-container)\"></ng-content>\n </a>\n <ng-content select=\"rlb-dropdown-container\"></ng-content>\n </li>\n </ng-template>`,\n standalone: false\n})\nexport class NavbarDropdownItemComponent implements OnInit {\n element!: HTMLElement;\n\n @Input({ alias: 'disabled', transform: booleanAttribute }) disabled?: boolean;\n @Input({ alias: 'dropdown', transform: booleanAttribute }) dropdown?: boolean;\n @Input({ alias: 'href' }) href?: string;\n @Input({ alias: 'class' }) cssClass?: string;\n @Input({ alias: 'toggle' }) toggle?: | 'offcanvas' | 'collapse' | 'tab' | 'pill' | 'buttons-group';\n @Input({ alias: 'auto-close' }) autoClose!: 'default' | 'inside' | 'outside' | 'manual';\n\n @Output() click = new EventEmitter<MouseEvent>();\n\n get _autoClose() {\n switch (this.autoClose) {\n case 'default':\n return 'true';\n case 'inside':\n return 'inside';\n case 'outside':\n return 'outside';\n case 'manual':\n return 'false';\n }\n }\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n\n constructor(private viewContainerRef: ViewContainerRef) { }\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import {\n\tbooleanAttribute,\n\tComponent,\n\tEventEmitter,\n\tInput,\n\tOnInit,\n\tOutput,\n\tTemplateRef,\n\tViewChild,\n\tViewContainerRef,\n} from '@angular/core';\n\n@Component({\n\tselector: 'rlb-navbar-item',\n template: ` <ng-template #template>\n\t\t\t<li class=\"nav-item\">\n <a\n class=\"nav-link {{ cssClass }}\"\n\t\t\t\t[routerLink]=\"routerLink\"\n\t\t\t\trouterLinkActive='active'\n (click)=\"click.emit($event)\"\n >\n <ng-content select=\":not(rlb-dropdown-container)\"></ng-content>\n </a>\n </li>\n </ng-template>`,\n standalone: false\n})\nexport class NavbarItemComponent implements OnInit {\n element!: HTMLElement;\n\n @Input({ alias: 'disabled', transform: booleanAttribute }) disabled?: boolean;\n\t@Input({ alias: 'router-link' }) routerLink?: string;\n @Input({ alias: 'class' }) cssClass?: string;\n\n\n @Output() click = new EventEmitter<MouseEvent>();\n\t\n\t@ViewChild('template', { static: true }) template!: TemplateRef<any>;\n\n constructor(private viewContainerRef: ViewContainerRef) { }\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { NavbarItemComponent } from \"./navbar-item.component\";\nimport { startWith, Subject, takeUntil } from \"rxjs\";\n\n@Component({\n selector: 'rlb-navbar-items',\n template: ` <ng-template #template>\n <ul\n class=\"navbar-nav {{ cssClass }}\"\n [class.navbar-nav-scroll]=\"scroll\"\n [style.--bs-scroll-height]=\"scroll\"\n >\n <ng-content\n\t\t\t\tselect=\"rlb-navbar-item, rlb-navbar-dropdown-item, rlb-navbar-separator, ng-container\"\n />\n </ul>\n </ng-template>`,\n standalone: false\n})\nexport class NavbarItemsComponent implements OnInit, AfterContentInit, OnDestroy {\n @Input({ alias: 'scroll' }) scroll?: string;\n @Input({ alias: 'class' }) cssClass?: string;\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n element!: HTMLElement;\n\n @ContentChildren(NavbarItemComponent, { descendants: true })\n menuItems!: QueryList<NavbarItemComponent>;\n\n @Output() click = new EventEmitter<MouseEvent>();\n\n private destroy$ = new Subject<void>();\n\n constructor(private viewContainerRef: ViewContainerRef) { }\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n\n ngAfterContentInit() {\n this.menuItems.changes.pipe(\n startWith(this.menuItems), // handles initial list\n takeUntil(this.destroy$)\n ).subscribe((items: QueryList<NavbarItemComponent>) => {\n items.forEach(item => {\n item.click.pipe(takeUntil(this.destroy$)).subscribe(event => this.click.emit(event));\n });\n });\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import {\n Component,\n ViewChild,\n TemplateRef,\n ViewContainerRef,\n OnInit,\n Input,\n} from '@angular/core';\n\n@Component({\n selector: 'rlb-navbar-separator',\n template: ` <ng-template #template>\n <li class=\"nav-item separator {{ cssClass }}\"></li>\n </ng-template>`,\n standalone: false\n})\nexport class NavbarSeparatorComponent implements OnInit {\n element!: HTMLElement;\n\n @Input({ alias: 'class' }) cssClass?: string = '';\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n\n constructor(private viewContainerRef: ViewContainerRef) { }\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import {\n Component,\n ViewChild,\n TemplateRef,\n ViewContainerRef,\n Input,\n} from '@angular/core';\n\n@Component({\n selector: 'rlb-navbar-text',\n template: ` <ng-template #template>\n <span class=\"navbar-text {{ cssClass }}\">\n <ng-content />\n </span>\n </ng-template>`,\n standalone: false\n})\nexport class NavbarTextComponent {\n element!: HTMLElement;\n\n @Input({ alias: 'class' }) cssClass?: string = '';\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n\n constructor(private viewContainerRef: ViewContainerRef) { }\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import {\n AfterContentInit,\n booleanAttribute,\n Component,\n ContentChildren,\n Input,\n OnDestroy,\n OnInit,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { Color } from '../../../shared/types';\nimport { UniqueIdService } from '../../../shared/unique-id.service';\nimport { NavbarItemsComponent } from \"./navbar-items.component\";\nimport { startWith, Subject, takeUntil } from \"rxjs\";\nimport { Collapse } from \"bootstrap\";\n\n@Component({\n selector: 'rlb-navbar',\n template: ` <ng-template #template>\n <nav\n class=\"navbar px-2 bg-{{ color }} {{ placement }} {{ _navExpand }} {{ cssClass }}\"\n [attr.data-bs-theme]=\"dark\"\n >\n <div class=\"container-fluid\">\n <ng-content\n select=\"[rlb-navbar-brand], [rlb-button][toggle], rlb-navbar-separator\"\n />\n <button\n\t\t\t\t\tclass=\"navbar-toggler\"\n\t\t\t\t\t[class.d-none]=\"!enableDropdownToggler\"\n type=\"button\"\n rlb-button\n toggle=\"collapse\"\n [toggle-target]=\"navId\"\n aria-label=\"Toggle navigation\"\n >\n\t\t\t\t\t<span class=\"navbar-toggler-icon\"></span>\n </button>\n <div class=\"collapse navbar-collapse\" [id]=\"navId\">\n\t\t\t\t\t<div class=\"p-3 d-flex w-100 flex-column flex-lg-row\">\n\t\t\t\t\t\t<ng-content\n\t\t\t\t\t\t\tselect=\"rlb-navbar-items, rlb-navbar-form, rlb-navbar-text, rlb-navbar-separator\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n </div>\n </div>\n </nav>\n </ng-template>`,\n standalone: false\n})\nexport class NavbarComponent implements OnInit, AfterContentInit, OnDestroy {\n element!: HTMLElement;\n private _navId: string;\n private destroy$: Subject<void> = new Subject<void>();\n\n public get navId(): string {\n return this._navId;\n }\n get _navExpand(): string | undefined {\n if (!this.expand) return undefined;\n else if (this.expand === 'always') return 'navbar-expand';\n else return `navbar-expand-${this.expand}`;\n }\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n @ContentChildren(NavbarItemsComponent, { descendants: true })\n navbarItemsGroups!: QueryList<NavbarItemsComponent>;\n\n @Input({ alias: 'dark', transform: booleanAttribute }) dark?: boolean;\n @Input({ alias: 'color' }) color?: Color;\n @Input({ alias: 'placement' }) placement?: 'fixed-top' | 'fixed-bottom' | 'sticky-top' | 'sticky-bottom';\n @Input({ alias: 'expand' }) expand?: 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'always';\n @Input({ alias: 'class' }) cssClass?: string = '';\n\t@Input({ alias: 'enable-dropdown-toggler', transform: booleanAttribute }) enableDropdownToggler: boolean = true;\n\n constructor(\n private idService: UniqueIdService,\n private viewContainerRef: ViewContainerRef,\n ) {\n this._navId = `nav${this.idService.id}`;\n }\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n\n ngAfterContentInit() {\n this.navbarItemsGroups.changes.pipe(\n startWith(this.navbarItemsGroups),\n takeUntil(this.destroy$)\n ).subscribe((groups: QueryList<NavbarItemsComponent>) => {\n groups.forEach(group => {\n group.click.pipe(\n takeUntil(this.destroy$),\n ).subscribe(() => this.closeMobileMenu());\n });\n });\n }\n\n ngOnDestroy () {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private closeMobileMenu() {\n const collapseEl = this.element?.querySelector('.navbar-collapse');\n if (collapseEl && collapseEl.classList.contains('show')) {\n const bsCollapse = Collapse.getOrCreateInstance(collapseEl);\n bsCollapse.hide();\n }\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'rlb-offcanvas-body',\n template: `<ng-content></ng-content>`,\n host: { class: 'offcanvas-body' },\n standalone: false\n})\nexport class OffcanvasBodyComponent {}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n\tselector: 'rlb-offcanvas-header',\n\ttemplate: `\n\t\t<ng-content select=\"[rlb-offcanvas-title]\"></ng-content>\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclass=\"btn-close\"\n\t\t\tdata-bs-dismiss=\"offcanvas\"\n\t\t\t[attr.data-bs-target]=\"_offcanvasId\"\n\t\t\taria-label=\"Close\"\n\t\t></button>\n\t`,\n\thost: {\n\t\tclass: 'offcanvas-header d-flex justify-content-between align-items-center'\n\t},\n\tstandalone: false\n})\nexport class OffcanvasHeaderComponent {\n\t@Input() set offcanvasId(offcanvasId: string) {\n\t\tthis._offcanvasId = `#${offcanvasId}`;\n\t}\n\t\n\t_offcanvasId: string = ''\n}\n","import { Component } from '@angular/core';\n\n// TODO\n// Ask if we need this component, RlbOffcanvasTitleDirective should be more flexible and useful\n\n@Component({\n selector: 'h*[rlb-offcanvas-title]',\n template: `<ng-content></ng-content>`,\n host: { class: 'offcanvas-title' },\n standalone: false\n})\nexport class OffcanvasTitleComponent {}\n","import {\n booleanAttribute,\n Component,\n DOCUMENT,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\nimport { Offcanvas } from 'bootstrap';\nimport { VisibilityEvent } from '../../shared/types';\nimport { ToggleAbstractComponent } from '../abstract/toggle-abstract.component';\n\n@Component({\n selector: 'rlb-offcanvas',\n template: `\n <ng-content select=\"rlb-offcanvas-header\"></ng-content>\n <ng-content select=\"rlb-offcanvas-body\"></ng-content>\n `,\n host: {\n tabindex: '-1',\n '[id]': 'id',\n '[class.offcanvas]': '!responsive',\n '[class.offcanvas-sm]': 'responsive === \"sm\"',\n '[class.offcanvas-md]': 'responsive === \"md\"',\n '[class.offcanvas-lg]': 'responsive === \"lg\"',\n '[class.offcanvas-xl]': 'responsive === \"xl\"',\n '[class.offcanvas-xxl]': 'responsive === \"xxl\"',\n '[class.offcanvas-start]': 'placement === \"start\"',\n '[class.offcanvas-end]': 'placement === \"end\"',\n '[class.offcanvas-top]': 'placement === \"top\"',\n '[class.offcanvas-bottom]': 'placement === \"bottom\"',\n },\n standalone: false\n})\nexport class OffcanvasComponent\n extends ToggleAbstractComponent<Offcanvas>\n implements OnInit, OnDestroy {\n\n @Input({ alias: `id`, required: true }) id!: string;\n @Input({ alias: 'body-scroll', transform: booleanAttribute }) bodyScroll?: boolean;\n @Input({ alias: 'scroll-backup', transform: booleanAttribute }) scrollBackup?: boolean;\n @Input({ alias: 'close-manual', transform: booleanAttribute }) closeManual?: boolean;\n @Input({ alias: 'placement' }) placement?: 'start' | 'end' | 'top' | 'bottom' = 'start';\n @Input({ alias: 'responsive' }) responsive?: 'sm' | 'md' | 'lg' | 'xl' | 'xxl';\n @Input() override status?: VisibilityEvent;\n\n @Output() override statusChange = new EventEmitter<VisibilityEvent>();\n\t\n\tconstructor(elementRef: ElementRef<HTMLElement>, @Inject(DOCUMENT) private document: Document) {\n super(elementRef);\n }\n\t\n\toverride ngOnInit(elemnt?: HTMLElement | Element) {\n\t\tsuper.ngOnInit(elemnt);\n\t\t\n\t\tconst nativeEl = this.elementRef?.nativeElement;\n\t\t\n\t\tif (nativeEl && nativeEl.parentElement !== this.document.body) {\n\t\t\tthis.document.body.appendChild(nativeEl);\n\t\t}\n\t}\n \n override ngOnDestroy() {\n super.ngOnDestroy();\n \n const nativeEl = this.elementRef?.nativeElement;\n \n if (nativeEl && nativeEl.parentElement === this.document.body) {\n this.document.body.removeChild(nativeEl);\n }\n }\n \n override getOrCreateInstance(element: HTMLElement): Offcanvas {\n\t\tconst existingInstance = Offcanvas.getInstance(element);\n\t\tif (existingInstance) {\n\t\t\texistingInstance.dispose();\n\t\t}\n\t\t\n\t\treturn Offcanvas.getOrCreateInstance(element, {\n\t\t\tscroll: this.bodyScroll ?? false,\n keyboard: !this.closeManual,\n\t\t\tbackdrop: this.closeManual ? 'static' : true\n\t\t});\n }\n\n override get eventPrefix(): string {\n return 'bs.offcanvas';\n }\n}\n","import {\n Component,\n Input,\n ViewContainerRef,\n OnInit,\n ViewChild,\n TemplateRef,\n booleanAttribute,\n} from '@angular/core';\n\n@Component({\n selector: 'rlb-pagination-item',\n template: `\n <ng-template #template>\n <li class=\"page-item {{ cssClass }}\" [class.disabled]=\"disabled\" [class.active]=\"active\">\n <a class=\"page-link d-block\" *ngIf=\"isIcon; else e\" [attr.disabled]=\"disabled\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </a>\n <ng-template #e>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-template>\n </li>\n </ng-template>\n <ng-template #content><ng-content /></ng-template>\n `,\n standalone: false\n})\nexport class PaginationItemComponent implements OnInit {\n element!: HTMLElement;\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n\n @Input({ alias: 'isIcon', transform: booleanAttribute }) isIcon?: boolean;\n @Input({ alias: 'disabled', transform: booleanAttribute, }) disabled?: boolean;\n @Input({ alias: 'active', transform: booleanAttribute, }) active?: boolean;\n @Input({ alias: 'class' }) cssClass?: string = '';\n\n constructor(private viewContainerRef: ViewContainerRef) { }\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import {\n Component,\n Input,\n ViewContainerRef,\n OnInit,\n ViewChild,\n TemplateRef,\n QueryList,\n ContentChildren,\n} from '@angular/core';\nimport { PaginationItemComponent } from './pagination-item.component';\n\n@Component({\n selector: 'rlb-pagination',\n template: ` <ng-template #template>\n <nav>\n <ul\n class=\"pagination {{ cssClass }}\"\n [class.pagination-sm]=\"size === 'sm'\"\n [class.pagination-lg]=\"size === 'lg'\"\n [class.justify-content-start]=\"alignment === 'start'\"\n [class.justify-content-center]=\"alignment === 'center'\"\n [class.justify-content-end]=\"alignment === 'end'\"\n >\n <ng-content select=\"rlb-pagination-item\" />\n </ul>\n </nav>\n </ng-template>`,\n standalone: false\n})\nexport class PaginationComponent implements OnInit {\n element!: HTMLElement;\n\n @Input({ alias: 'class' }) cssClass?: string = '';\n @Input() size?: 'sm' | 'md' | 'lg';\n @Input() alignment?: 'start' | 'center' | 'end';\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n @ContentChildren(PaginationItemComponent)\n children!: QueryList<PaginationItemComponent>;\n\n constructor(private viewContainerRef: ViewContainerRef) {}\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n\tselector: 'rlb-placeholder-line',\n\ttemplate: ``,\n\tstandalone: false,\n})\nexport class RlbPlaceholderLineComponent {\n\t@Input() size: 'xs' | 'sm' | 'md' | 'lg' = 'md';\n\t@Input() color: string = 'secondary';\n\t@Input() width: string = '100%';\n\t@Input() height?: string;\n\t@Input() rounded: boolean = true;\n\t\n\t@HostBinding('class') get hostClasses(): string {\n\t\tconst classes = ['placeholder', `bg-${this.color}`];\n\t\t\n\t\tif (this.size !== 'md') {\n\t\t\tclasses.push(`placeholder-${this.size}`);\n\t\t}\n\t\t\n\t\tif (this.rounded) {\n\t\t\tclasses.push('rounded');\n\t\t}\n\t\t\n\t\treturn classes.join(' ');\n\t}\n\t\n\t@HostBinding('style.width') get styleWidth() {\n\t\treturn this.width;\n\t}\n\t\n\t@HostBinding('style.height') get styleHeight() {\n\t\treturn this.height ?? null;\n\t}\n\t\n\t@HostBinding('style.display') display = 'block';\n\t@HostBinding('style.margin-bottom') marginBottom = '0.5rem';\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n\tselector: 'rlb-placeholder',\n\ttemplate: `\n\t\t<div [ngClass]=\"containerClass\">\n\t\t\t<ng-content/>\n\t\t</div>`,\n\tstandalone: false\n})\nexport class RlbPlaceholderComponent {\n\t@Input() animation: 'glow' | 'wave' | 'none' = 'none';\n\t\n\tget containerClass(): string | string[] {\n\t\tif (this.animation === 'none') return [];\n\t\treturn `placeholder-${this.animation}`;\n\t}\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n\tselector: 'rlb-placeholder-text',\n\tstandalone: false,\n\ttemplate: `\n <rlb-placeholder [animation]=\"animation\">\n <rlb-placeholder-line\n *ngFor=\"let w of computedWidths\"\n [size]=\"size\"\n [color]=\"color\"\n [width]=\"w\"\n [rounded]=\"rounded\"\n [height]=\"height\"\n ></rlb-placeholder-line>\n </rlb-placeholder>\n `,\n})\nexport class RlbPlaceholderTextComponent {\n\t@Input() lines: number = 1;\n\t@Input() size: 'xs' | 'sm' | 'md' | 'lg' = 'md';\n\t@Input() color: string = 'secondary';\n\t@Input() animation: 'glow' | 'wave' | 'none' = 'none';\n\t@Input() width: string | string[] = '100%';\n\t@Input() height?: string;\n\t@Input() rounded: boolean = true;\n\t\n\tget computedWidths(): string[] {\n\t\tif (Array.isArray(this.width)) {\n\t\t\treturn Array.from({ length: this.lines }).map((_, i) => this.width[i] ?? '100%');\n\t\t}\n\t\treturn Array.from({ length: this.lines }).map(() => this.width as string);\n\t}\n}\n","import { Directive, DoCheck, ElementRef, Input, Renderer2, } from '@angular/core';\nimport { Color } from '../../shared/types';\n\n// TODO do we need this directive?\n// component has more potential and flexibility\n@Directive({\n selector: '[rlb-placeholder]',\n standalone: false\n})\nexport class PlaceholderDirective implements DoCheck {\n @Input({ alias: 'placeholder-color' }) color?: Color;\n @Input({ alias: 'placeholder-size' }) size?: 'xs' | 'sm' | 'md' | 'lg' = 'md';\n @Input({ alias: 'placeholder-animation' }) animation?: 'glow' | 'fade' | 'none' = 'none';\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n ) { }\n\n ngDoCheck() {\n this.renderer.addClass(this.elementRef.nativeElement, 'placeholder');\n if (this.color) {\n this.renderer.addClass(this.elementRef.nativeElement, `bg-${this.color}`);\n }\n if (this.size && this.size !== 'md') {\n this.renderer.addClass(\n this.elementRef.nativeElement,\n `placeholder-${this.size}`,\n );\n }\n if (this.animation && this.animation !== 'none') {\n this.renderer.addClass(\n this.elementRef.nativeElement,\n `placeholder-${this.animation}`,\n );\n }\n }\n}\n","import {\n AfterViewInit,\n booleanAttribute,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { ScrollSpy } from 'bootstrap';\n\n@Directive({\n selector: '[rlb-scrollspy]',\n host: {\n '[attr.data-bs-spy]': \"'scroll'\",\n '[attr.data-bs-target]': 'target',\n '[attr.tabindex]': '0',\n '[attr.data-bs-root-margin]': 'rootMargin',\n '[attr.data-bs-smooth-scroll]': 'smooth',\n '[style.height]': \"height\",\n '[style.overflow-y]': \"'auto'\"\n },\n standalone: false\n})\nexport class ScrollspyDirective implements AfterViewInit, OnDestroy, OnChanges {\n @Input({ alias: 'rlb-scrollspy-target', required: true }) target?: string;\n @Input({ alias: 'scroll-smooth', transform: booleanAttribute }) smooth?: boolean = true;\n @Input({ alias: 'scroll-root-margin' }) rootMargin?: string = '';\n @Input({ alias: 'height' }) height?: string = '200px';\n @Input({ alias: 'scroll-threshold' }) threshold?: Array<number> = [];\n @Output('scroll-change') scroll: EventEmitter<Event> = new EventEmitter<Event>();\n \n private scrollSpy!: ScrollSpy;\n \n constructor(private elementRef: ElementRef<HTMLElement>) {\n }\n \n ngAfterViewInit() {\n this.scrollSpy = ScrollSpy.getOrCreateInstance(\n this.elementRef.nativeElement,\n {\n target: this.target,\n rootMargin: this.rootMargin,\n threshold: this.threshold,\n },\n );\n this.elementRef.nativeElement.addEventListener(\n 'activate.bs.scrollspy',\n this.__scroll_handler,\n );\n }\n \n ngOnDestroy() {\n this.elementRef.nativeElement.removeEventListener(\n 'activate.bs.scrollspy',\n this.__scroll_handler,\n );\n this.scrollSpy?.dispose();\n }\n \n ngOnChanges(changes: SimpleChanges): void {\n this.scrollSpy?.refresh();\n }\n \n private __scroll_handler = (event: Event) => {\n this.scroll.emit(event);\n }\n}\n","import {\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n OnInit,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewContainerRef\n} from \"@angular/core\";\nimport { UniqueIdService } from \"../../shared/unique-id.service\";\nimport { Router } from \"@angular/router\";\nimport { CollapseComponent } from \"../collapse/collapse.component\";\n\n\n@Component({\n selector: 'rlb-sidebar-item',\n template: `\n\t\t<ng-template #template>\n <li *ngIf=\"title\" (click)=\"onItemClick($event)\" class=\"menu-title\">{{ title }}</li>\n <li *ngIf=\"!title\" (click)=\"onItemClick($event)\">\n\t\t\t\t<a\n\t\t\t\t\t[badge]=\"badgeCounter && badgeCounter > 0 ? badgeCounter?.toString(): undefined\"\n\t\t\t\t\t*ngIf=\"children?.length\" href=\"javascript:void(0);\"\n\t\t\t\t\tclass=\"is-parent has-arrow\"\n\t\t\t\t\ttoggle=\"collapse\"\n\t\t\t\t\t[toggle-target]=\"'side-item' + _id\"\n\t\t\t\t>\n\t\t\t\t\t<i *ngIf=\"icon\" [class]=\"icon\"></i>\n\t\t\t\t\t<span>{{ label }}</span>\n\t\t\t\t</a>\n\t\t\t\t<rlb-collapse [id]=\"'side-item' + _id\">\n\t\t\t\t\t<ul class=\"sub-menu\" aria-expanded=\"false\">\n\t\t\t\t\t\t<ng-content select=\"rlb-sidebar-item\"></ng-content>\n\t\t\t\t\t</ul>\n\t\t\t\t</rlb-collapse>\n\t\t\t\t<a\n\t\t\t\t\t*ngIf=\"!children?.length\"\n\t\t\t\t\t[routerLink]=\"link\"\n\t\t\t\t\t[badge]=\"badgeCounter && badgeCounter > 0 ? badgeCounter?.toString(): undefined\"\n\t\t\t\t\tclass=\"side-nav-link-ref\"\n\t\t\t\t\trouterLinkActive=\"active\"\n\t\t\t\t>\n\t\t\t\t\t<i *ngIf=\"icon\" [class]=\"icon\"></i>\n\t\t\t\t\t<ng-content></ng-content>\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t</ng-template>\n\t`,\n standalone: false\n})\nexport class SidebarItemComponent implements OnInit {\n element!: HTMLElement;\n @Input() title?: string | undefined;\n @Input() icon?: string | undefined;\n @Input() label?: string | undefined;\n @Input() link?: any[] | string | null | undefined;\n\t@Input() badgeCounter?: number;\n\n @Output() click = new EventEmitter<MouseEvent>();\n\n @ContentChildren(SidebarItemComponent) children!: QueryList<SidebarItemComponent>;\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n\t@ViewChild(CollapseComponent) collapseComponent?: CollapseComponent;\n\n constructor(\n private viewContainerRef: ViewContainerRef,\n\t\tprivate uniqueIdService: UniqueIdService,\n\t\tprivate router: Router\n ) { }\n\n _id: string = '';\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n this._id = this.uniqueIdService.id;\n }\n\n onItemClick(event: MouseEvent) {\n event.stopPropagation();\n this.click.emit(event);\n }\n}\n","import {\n booleanAttribute,\n Directive,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Renderer2,\n SimpleChanges,\n} from '@angular/core';\nimport { Tooltip } from 'bootstrap';\n\n@Directive({\n selector: '[tooltip]',\n standalone: false\n})\nexport class TooltipDirective implements OnInit, OnChanges, OnDestroy {\n static bsInit = false;\n private _tooltip: Tooltip | undefined;\n @Input({ alias: 'tooltip', required: true }) tooltip!: string | null | undefined;\n @Input({ alias: 'tooltip-placement' }) placement!: 'top' | 'bottom' | 'left' | 'right';\n @Input({ alias: 'tooltip-class' }) customClass!: string;\n @Input({ alias: 'tooltip-html', transform: booleanAttribute }) html?: boolean;\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n ) { }\n\n ngOnDestroy(): void {\n if (this._tooltip) {\n this._tooltip.dispose();\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['tooltip']) {\n if (this.tooltip) {\n this._tooltip?.enable();\n this._tooltip?.setContent({ '.tooltip-inner': this.tooltip || '' });\n } else {\n this._tooltip?.disable();\n }\n }\n if (changes['placement']) {\n if (this.placement) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'data-bs-placement', this.placement);\n this._tooltip?.update();\n }\n }\n if (changes['customClass']) {\n if (this.customClass) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'data-bs-custom-class', this.customClass);\n this._tooltip?.update();\n }\n }\n if (changes['html']) {\n if (this.html) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'data-bs-html', 'true');\n this._tooltip?.update();\n }\n }\n }\n\n ngOnInit() {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'data-bs-toggle', 'tooltip',);\n if (this.placement) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'data-bs-placement', this.placement);\n }\n if (this.customClass) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'data-bs-custom-class', this.customClass);\n }\n if (this.tooltip) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'data-bs-title', this.tooltip);\n }\n if (this.html) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'data-bs-html', 'true');\n }\n this._tooltip = new Tooltip(this.elementRef.nativeElement);\n }\n}\n","import { Component, ElementRef, HostListener, Input, OnInit, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'rlb-sidebar',\n\ttemplate: `\n\t\t<div class=\"vertical-menu\" [class.rounded-2]=\"rounded\">\n\t\t\t<div id=\"sidebar-menu\" class=\"w-100 h-100 overflow-y-auto\">\n\t\t\t\t<ul class=\"metismenu list-unstyled\" id=\"side-menu\" #sideMenu>\n\t\t\t\t\t<ng-content select=\"rlb-sidebar-item\"></ng-content>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t</div>\n\t\t<div role=\"button\"\n\t\t\t\t class=\"sidebar-toggle\"\n\t\t\t\t [tooltip]=\"!isCollapsed ? 'Hide' : 'Show'\"\n\t\t\t\t [tooltip-placement]=\"!isCollapsed ? 'top' : 'left'\"\n\t\t\t\t [tooltip-class]=\"'sidebar-toggler-tooltip'\"\n\t\t\t\t (click)=\"toggleSidebar()\">\n\t\t\t<i [class.bi-chevron-double-left]=\"!isCollapsed\" [class.bi-chevron-double-right]=\"isCollapsed\"\n\t\t\t\t class=\"bi \"></i>\n\t\t</div>\n\t`,\n standalone: false\n})\n\n/**\n * Sidebar component\n */\nexport class SidebarComponent implements OnInit {\n menu: any;\n data: any;\n @ViewChild('sideMenu') sideMenu!: ElementRef;\n\tisCollapsed: boolean = false;\n\n\t@Input({ alias: 'rounded', required: false }) rounded: boolean = false\n\n @HostListener('window:resize', ['$event'])\n onResize() {\n this.checkBreakpoint();\n }\n\n constructor() {\n }\n\n ngOnInit() {\n this.checkBreakpoint();\n }\n\n toggleSidebar() {\n this.setCollapsed(!this.isCollapsed);\n }\n\n private setCollapsed(collapsed: boolean) {\n this.isCollapsed = collapsed;\n\n const sidebar = document.getElementById('sidebar');\n const content = document.querySelector('.rlb-content') as HTMLElement;\n\n content?.classList.toggle('expanded', collapsed);\n sidebar?.classList.toggle('collapsed', collapsed);\n }\n\n private checkBreakpoint() {\n const shouldCollapse = window.innerWidth <= 992;\n this.setCollapsed(shouldCollapse);\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'rlb-tab-content',\n host: { class: 'tab-content' },\n template: `<ng-content select=\"rlb-tab-pane\" />`,\n standalone: false\n})\nexport class TabContentComponent {}\n","import { Component, Input, booleanAttribute } from '@angular/core';\n\n@Component({\n selector: 'rlb-tab-pane',\n host: {\n class: 'tab-pane',\n '[class.active]': 'active',\n '[class.fade]': 'fade',\n '[attr.id]': 'id',\n tabindex: '0',\n role: 'tabpanel',\n '[attr.aria-labelledby]': 'id + \"-rlb-tab\"',\n },\n template: `<ng-content />`,\n standalone: false\n})\nexport class TabPaneComponent {\n @Input({ alias: 'id', required: true }) id!: string;\n @Input({ alias: 'active', transform: booleanAttribute }) active?: boolean;\n @Input({ alias: 'fade', transform: booleanAttribute }) fade?: boolean;\n}\n","import {\n Component,\n Input,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n booleanAttribute,\n} from '@angular/core';\n\n@Component({\n selector: 'rlb-tab',\n template: ` <ng-template #template>\n <li class=\"nav-item {{ cssClass }}\" role=\"presentation\">\n <button\n class=\"nav-link\"\n type=\"button\"\n role=\"tab\"\n [class.active]=\"active\"\n [disabled]=\"disabled\"\n toggle=\"tab\"\n [attr.id]=\"target + '-rlb-tab'\"\n [toggle-target]=\"target\"\n [attr.aria-selected]=\"active\"\n >\n <ng-content></ng-content>\n </button>\n </li>\n </ng-template>`,\n host: {\n '[attr.class]': 'undefined',\n '[attr.id]': 'undefined',\n },\n standalone: false\n})\nexport class TabComponent {\n element!: HTMLElement;\n\n @Input({ alias: 'active', transform: booleanAttribute }) active?: boolean;\n @Input({ transform: booleanAttribute }) disabled?: boolean;\n @Input({ alias: 'target', required: true }) target!: string;\n @Input({ alias: 'class' }) cssClass?: string = '';\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n\n constructor(private viewContainerRef: ViewContainerRef) { }\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import {\n Component,\n Input,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n ElementRef,\n booleanAttribute,\n} from '@angular/core';\n\n@Component({\n selector: 'rlb-tabs',\n template: ` <ng-template #template>\n <ul\n role=\"tablist\"\n [attr.id]=\"id ? id : undefined\"\n [class]=\"'nav {{ cssClass }}'\"\n [class.justify-content-center]=\"horizontalAlignment === 'center'\"\n [class.justify-content-end]=\"horizontalAlignment === 'end'\"\n [class.flex-column]=\"vertical\"\n [class.nav-pills]=\"view === 'pills'\"\n [class.nav-underline]=\"view === 'underline'\"\n [class.nav-tabs]=\"view === 'tab'\"\n [class.nav-fill]=\"fill === 'fill'\"\n [class.nav-justified]=\"fill === 'justified'\"\n >\n <ng-content select=\"rlb-tab\" />\n </ul>\n </ng-template>`,\n standalone: false\n})\nexport class TabsComponent {\n element!: HTMLElement;\n\n @Input({ alias: 'horizontal-alignment' }) horizontalAlignment?: 'center' | 'end';\n @Input({ alias: 'view' }) view?: 'tab' | 'pills' | 'underline' | 'none' = 'tab';\n @Input({ alias: 'vertical', transform: booleanAttribute }) vertical?: boolean;\n @Input({ alias: 'fill' }) fill?: 'fill' | 'justified';\n @Input({ alias: 'id' }) id?: string;\n @Input({ alias: 'class' }) cssClass?: string = '';\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n\n constructor(\n private viewContainerRef: ViewContainerRef,\n private elementRef: ElementRef<HTMLElement>,\n ) {\n elementRef.nativeElement.remove();\n }\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import {\n Directive,\n ElementRef,\n Renderer2,\n Input,\n DoCheck,\n AfterViewInit,\n} from '@angular/core';\nimport { Popover } from 'bootstrap';\n\n@Directive({\n selector: '[popover]',\n standalone: false\n})\nexport class PopoverDirective implements DoCheck, AfterViewInit {\n static bsInit = false;\n\n @Input({ alias: 'popover', required: true }) popover!: string | undefined;\n @Input({ alias: 'popover-placement' }) placement!: 'top' | 'bottom' | 'left' | 'right';\n @Input({ alias: 'popover-class' }) customClass!: string;\n @Input({ alias: 'popover-title' }) title!: string;\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n ) { }\n\n ngDoCheck() {\n this.renderer.setAttribute(\n this.elementRef.nativeElement,\n 'data-bs-toggle',\n 'popover',\n );\n if (this.placement) {\n this.renderer.setAttribute(\n this.elementRef.nativeElement,\n 'data-bs-placement',\n this.placement,\n );\n }\n if (this.customClass) {\n this.renderer.setAttribute(\n this.elementRef.nativeElement,\n 'data-bs-custom-class',\n this.customClass,\n );\n }\n if (this.title) {\n this.renderer.setAttribute(\n this.elementRef.nativeElement,\n 'data-bs-title',\n this.title,\n );\n }\n if (this.popover) {\n this.renderer.setAttribute(\n this.elementRef.nativeElement,\n 'data-bs-content',\n this.popover,\n );\n }\n }\n\n ngAfterViewInit() {\n new Popover(this.elementRef.nativeElement);\n }\n}\n","import { AccordionBodyComponent } from './accordions/accordion-body.component';\nimport { AccordionHeaderComponent } from './accordions/accordion-header.component';\nimport { AccordionItemComponent } from './accordions/accordion-item.component';\nimport { AccordionComponent } from './accordions/accordion.component';\nimport { AlertComponent } from './alerts/alert.component';\nimport { BadgeComponent } from './badges/badge.component';\nimport { BadgeDirective } from './badges/badge.directive';\nimport { BreadcrumbComponent } from './breadcrumb/breadcrumb.component';\nimport { ButtonGroupComponent } from './buttons/boutton-group.component';\nimport { ButtonToolbarComponent } from './buttons/boutton-toolbar.component';\nimport { ButtonCloseComponent } from './buttons/buttons-close.component';\nimport { ButtonComponent } from './buttons/buttons.component';\nimport { ToggleDirective } from './buttons/toggle.directive';\nimport { CardBodyComponent } from './cards/card-body.component';\nimport { CardFooterComponent } from './cards/card-footer.component';\nimport { CardGroupComponent } from './cards/card-group.component';\nimport { CardHeaderComponent } from './cards/card-header.component';\nimport { CardImageComponent } from './cards/card-image.component';\nimport { CardLinkComponent } from './cards/card-link.component';\nimport { CardSubtitleComponent } from './cards/card-subtitle.component';\nimport { CardTextComponent } from './cards/card-text.component';\nimport { CardTitleComponent } from './cards/card-title.component';\nimport { CardComponent } from './cards/card.component';\nimport { CarouselCaptionComponent } from './carousel/carousel-caption.component';\nimport { CarouselSlideComponent } from './carousel/carousel-slide.component';\nimport { CarouselComponent } from './carousel/carousel.component';\nimport { CollapseComponent } from './collapse/collapse.component';\nimport { DropdownContainerComponent } from './dropdown/dropdown-container.component';\nimport { DropdownMenuItemComponent } from './dropdown/dropdown-menu-item.component';\nimport { DropdownComponent } from './dropdown/dropdown.component';\nimport { DropdownDirective } from './dropdown/dropdown.directive';\nimport { ProgressComponent } from './loaders/progress.component';\nimport { SpinnerComponent } from './loaders/spinner.component';\nimport { MODALS } from './modals';\nimport { NavItemComponent } from './navigation/nav/nav-item.component';\nimport { NavComponent } from './navigation/nav/nav.component';\nimport { NavbarBrandDirective } from './navigation/navbar/navbar-brand.directive';\nimport { NavbarFormComponent } from './navigation/navbar/navbar-form.component';\n\nimport { AvatarComponent } from './avatar/avatar.component';\nimport { RlbFabComponent } from \"./buttons/fab/fab.component\";\nimport { CALENDAR_COMPONENTS } from \"./calendar\";\nimport { ChatContainerComponent } from './chat/chat-container.component';\nimport { ChatItemComponent } from './chat/chat-item.component';\nimport { ListItemImageComponent } from './list/list-item-image.component';\nimport { ListItemComponent } from './list/list-item.component';\nimport { ListComponent } from './list/list.component';\nimport { NavbarDropdownItemComponent } from './navigation/navbar/navbar-dropdown-item.component';\nimport { NavbarItemComponent } from \"./navigation/navbar/navbar-item.component\";\nimport { NavbarItemsComponent } from './navigation/navbar/navbar-items.component';\nimport { NavbarSeparatorComponent } from './navigation/navbar/navbar-separator.component';\nimport { NavbarTextComponent } from './navigation/navbar/navbar-text.component';\nimport { NavbarComponent } from './navigation/navbar/navbar.component';\nimport { OffcanvasBodyComponent } from './offcanvas/offcanvas-body.component';\nimport { OffcanvasHeaderComponent } from './offcanvas/offcanvas-header.component';\nimport { OffcanvasTitleComponent } from './offcanvas/offcanvas-title.component';\nimport { OffcanvasComponent } from './offcanvas/offcanvas.component';\nimport { PaginationItemComponent } from './pagination/pagination-item.component';\nimport { PaginationComponent } from './pagination/pagination.component';\nimport { RlbPlaceholderLineComponent } from \"./placeholder/placeholder-line.component\";\nimport { RlbPlaceholderTextComponent } from \"./placeholder/placeholder-text.component\";\nimport { RlbPlaceholderComponent } from \"./placeholder/placeholder.component\";\nimport { PlaceholderDirective } from './placeholder/placeholder.directive';\nimport { ScrollspyDirective } from './scrollspy/scrollspy.directive';\nimport { SidebarItemComponent } from './sidebar/sidebar-item.component';\nimport { SidebarComponent } from './sidebar/sidebar.component';\nimport { TabContentComponent } from './tabs/tab-content.component';\nimport { TabPaneComponent } from './tabs/tab-pane.component';\nimport { TabComponent } from './tabs/tab.component';\nimport { TabsComponent } from './tabs/tabs.component';\nimport { TOASTS } from './toast';\nimport { PopoverDirective } from './tooltips/popover.directive';\nimport { TooltipDirective } from './tooltips/tooltip.directive';\n\nexport * from './accordions/accordion-body.component';\nexport * from './accordions/accordion-header.component';\nexport * from './accordions/accordion-item.component';\nexport * from './accordions/accordion.component';\nexport * from './alerts/alert.component';\nexport * from './avatar/avatar.component';\nexport * from './badges/badge.component';\nexport * from './badges/badge.directive';\nexport * from './breadcrumb/breadcrumb.component';\nexport * from './buttons/boutton-group.component';\nexport * from './buttons/boutton-toolbar.component';\nexport * from './buttons/buttons-close.component';\nexport * from './buttons/buttons.component';\nexport * from './buttons/fab/fab.component';\nexport * from './buttons/toggle.directive';\nexport * from './calendar/';\nexport * from './cards/card-body.component';\nexport * from './cards/card-footer.component';\nexport * from './cards/card-group.component';\nexport * from './cards/card-header.component';\nexport * from './cards/card-image.component';\nexport * from './cards/card-link.component';\nexport * from './cards/card-subtitle.component';\nexport * from './cards/card-text.component';\nexport * from './cards/card-title.component';\nexport * from './cards/card.component';\nexport * from './carousel/carousel-caption.component';\nexport * from './carousel/carousel-slide.component';\nexport * from './carousel/carousel.component';\nexport * from './chat/chat-container.component';\nexport * from './chat/chat-item.component';\nexport * from './collapse/collapse.component';\nexport * from './dropdown/dropdown-container.component';\nexport * from './dropdown/dropdown-menu-item.component';\nexport * from './dropdown/dropdown.component';\nexport * from './dropdown/dropdown.directive';\nexport * from './list/list-item-image.component';\nexport * from './list/list-item.component';\nexport * from './list/list.component';\nexport * from './loaders/progress.component';\nexport * from './loaders/spinner.component';\nexport * from './modals';\nexport * from './navigation/nav/nav-item.component';\nexport * from './navigation/nav/nav.component';\nexport * from './navigation/navbar/navbar-brand.directive';\nexport * from './navigation/navbar/navbar-dropdown-item.component';\nexport * from './navigation/navbar/navbar-form.component';\nexport * from './navigation/navbar/navbar-item.component';\nexport * from './navigation/navbar/navbar-items.component';\nexport * from './navigation/navbar/navbar-separator.component';\nexport * from './navigation/navbar/navbar-text.component';\nexport * from './navigation/navbar/navbar.component';\nexport * from './offcanvas/offcanvas-body.component';\nexport * from './offcanvas/offcanvas-header.component';\nexport * from './offcanvas/offcanvas-title.component';\nexport * from './offcanvas/offcanvas.component';\nexport * from './pagination/pagination-item.component';\nexport * from './pagination/pagination.component';\nexport * from './placeholder/placeholder-line.component';\nexport * from './placeholder/placeholder-text.component';\nexport * from './placeholder/placeholder.component';\nexport * from './placeholder/placeholder.directive';\nexport * from './scrollspy/scrollspy.directive';\nexport * from './sidebar/sidebar-item.component';\nexport * from './sidebar/sidebar.component';\nexport * from './tabs/tab-content.component';\nexport * from './tabs/tab-pane.component';\nexport * from './tabs/tab.component';\nexport * from './tabs/tabs.component';\nexport * from './toast';\nexport * from './tooltips/popover.directive';\nexport * from './tooltips/tooltip.directive';\n\n\nexport const COMPONENTS = [\n AlertComponent,\n BreadcrumbComponent,\n AccordionComponent,\n AccordionItemComponent,\n AccordionHeaderComponent,\n AccordionBodyComponent,\n ButtonComponent,\n ButtonCloseComponent,\n ButtonGroupComponent,\n ButtonToolbarComponent,\n RlbFabComponent,\n BadgeDirective,\n BadgeComponent,\n CardBodyComponent,\n CardFooterComponent,\n CardGroupComponent,\n CardHeaderComponent,\n CardImageComponent,\n CardLinkComponent,\n CardSubtitleComponent,\n CardTextComponent,\n CardTitleComponent,\n CardComponent,\n SpinnerComponent,\n ProgressComponent,\n TooltipDirective,\n PopoverDirective,\n PlaceholderDirective,\n CollapseComponent,\n DropdownComponent,\n DropdownContainerComponent,\n DropdownMenuItemComponent,\n DropdownDirective,\n NavbarBrandDirective,\n NavbarComponent,\n NavbarFormComponent,\n NavbarTextComponent,\n NavbarItemsComponent,\n NavbarDropdownItemComponent,\n NavbarItemComponent,\n NavbarSeparatorComponent,\n OffcanvasComponent,\n OffcanvasHeaderComponent,\n OffcanvasTitleComponent,\n OffcanvasBodyComponent,\n ToggleDirective,\n SidebarComponent,\n SidebarItemComponent,\n NavComponent,\n NavItemComponent,\n TabsComponent,\n TabComponent,\n TabContentComponent,\n TabPaneComponent,\n PaginationItemComponent,\n PaginationComponent,\n ScrollspyDirective,\n CarouselComponent,\n CarouselCaptionComponent,\n CarouselSlideComponent,\n ListComponent,\n ListItemComponent,\n ListItemImageComponent,\n AvatarComponent,\n ChatContainerComponent,\n ChatItemComponent,\n RlbPlaceholderComponent,\n RlbPlaceholderLineComponent,\n RlbPlaceholderTextComponent,\n ...[MODALS],\n ...[TOASTS],\n ...[CALENDAR_COMPONENTS]\n];\n","import {\n booleanAttribute,\n Component,\n EmbeddedViewRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n TemplateRef,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\n\n@Component({\n selector: 'rlb-dt-action',\n template: `\n <ng-template #template>\n <li (click)=\"onClick($event)\" [routerLink]=\"routerLink\">\n <button class=\"dropdown-item\" type=\"button\" [disabled]=\"disabled\">\n <ng-content />\n </button>\n </li>\n </ng-template>`,\n standalone: false\n})\nexport class DataTableActionComponent implements OnInit {\n @Input({ alias: 'disabled', transform: booleanAttribute }) disabled?: boolean = false;\n @Input() routerLink?: any[] | string | null | undefined\n @Output() click: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n element!: HTMLElement;\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n constructor(private viewContainerRef: ViewContainerRef) { }\n private temp!: EmbeddedViewRef<any>;\n\n get _view() {\n return this.temp\n }\n\n ngOnInit() {\n this.temp = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = this.temp.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n\n onClick(e: MouseEvent) {\n e?.preventDefault();\n this.click.emit(e);\n }\n}\n","import {\n AfterContentInit,\n AfterViewInit,\n booleanAttribute,\n Component,\n ContentChildren,\n EmbeddedViewRef,\n Input,\n OnDestroy,\n OnInit,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { DataTableActionComponent } from './dt-action.component';\nimport { Subscription } from \"rxjs\";\n\n@Component({\n selector: 'rlb-dt-actions',\n template: `\n <ng-template #template>\n <div class=\"dropdown\">\n <button\n class=\"btn btn-outline py-0 pe-2 float-end\"\n [disabled]=\"_disabled\"\n type=\"button\"\n data-bs-toggle=\"dropdown\"\n aria-expanded=\"false\">\n <i class=\"bi bi-three-dots\"></i>\n </button>\n <ul class=\"dropdown-menu\">\n <ng-container #projectedActions></ng-container>\n </ul>\n </div>\n\n </ng-template>\n `,\n standalone: false\n})\nexport class DataTableActionsComponent implements OnInit, AfterViewInit, AfterContentInit, OnDestroy {\n element!: HTMLElement;\n private temp!: EmbeddedViewRef<any>;\n\n @Input({ alias: 'disabled', transform: booleanAttribute }) disabled?: boolean = false;\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n @ContentChildren(DataTableActionComponent) actions!: QueryList<DataTableActionComponent>;\n @ViewChild('projectedActions', { read: ViewContainerRef }) _projectedActions!: ViewContainerRef;\n private _actionsSubscription: Subscription | undefined;\n\n constructor(private viewContainerRef: ViewContainerRef) { }\n\n get _disabled() {\n if (this.disabled) return true;\n if (!this.actions || this.actions.length === 0) return false;\n return !this.actions.toArray().some((o) => !o.disabled);\n }\n\n get _view() {\n return this.temp\n }\n\n ngOnInit() {\n this.temp = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = this.temp.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n\n ngAfterContentInit() {\n this._actionsSubscription = this.actions.changes.subscribe(() => {\n this._renderActions();\n });\n }\n\n ngOnDestroy() {\n if (this._actionsSubscription) {\n this._actionsSubscription.unsubscribe();\n }\n }\n\n ngAfterViewInit() {\n this._renderActions();\n }\n\n private _renderActions() {\n if (this._projectedActions && this.actions) {\n for (let i = this._projectedActions?.length; i > 0; i--) {\n this._projectedActions.detach();\n }\n this.actions?.forEach((action) => {\n this._projectedActions.insert(action._view);\n });\n }\n }\n}\n","import {\n Component,\n EmbeddedViewRef,\n Input,\n numberAttribute,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\n\n@Component({\n selector: 'rlb-dt-cell',\n template: `\n <ng-template #template>\n <td [colSpan]=\"colSpan\" [class]=\"cssClass\" [style]=\"cssStyle\">\n <ng-content></ng-content>\n </td>\n </ng-template>`,\n standalone: false\n})\nexport class DataTableCellComponent implements OnInit {\n\n @Input({ alias: 'col-span', transform: numberAttribute }) colSpan?: string;\n @Input({ alias: 'class' }) cssClass?: string\n @Input({ alias: 'style' }) cssStyle?: string;\n element!: HTMLElement;\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n constructor(private viewContainerRef: ViewContainerRef) { }\n private temp!: EmbeddedViewRef<any>;\n\n get _view() {\n return this.temp\n }\n\n ngOnInit() {\n this.temp = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = this.temp.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import {\n booleanAttribute,\n Component,\n EmbeddedViewRef,\n Input,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\n@Component({\n selector: 'rlb-dt-header',\n template: `\n <ng-template #template>\n <th [class]=\"cssClass\" [style]=\"cssStyle\">\n <ng-content></ng-content>\n </th>\n </ng-template>`,\n standalone: false\n})\nexport class DataTableHeaderComponent implements OnInit {\n @Input() field!: string;\n @Input() type!: 'number' | 'string';\n @Input({ alias: 'sortable', transform: booleanAttribute }) sortable?: boolean;\n @Input({ alias: 'filtrable', transform: booleanAttribute }) filtrable?: boolean;\n @Input({ alias: 'class' }) cssClass?: string\n @Input({ alias: 'style' }) cssStyle?: string;\n\n element!: HTMLElement;\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n constructor(private viewContainerRef: ViewContainerRef) { }\n private temp!: EmbeddedViewRef<any>;\n\n get _view() {\n return this.temp\n }\n\n ngOnInit() {\n this.temp = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = this.temp.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import {\n AfterContentInit,\n AfterViewInit,\n Component,\n ContentChildren,\n EmbeddedViewRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { DataTableActionsComponent } from './dt-actions.component';\nimport { Subscription } from \"rxjs\";\n\n@Component({\n selector: 'rlb-dt-row',\n template: `\n <ng-template #template>\n <tr [class]=\"cssClass\" [style]=\"cssStyle\" (click)=\"rowClick.emit($event)\">\n <ng-content select=\"rlb-dt-cell\"></ng-content>\n <rlb-dt-cell *ngIf=\"hasActions\">\n <ng-container #projectedActions></ng-container>\n </rlb-dt-cell>\n </tr>\n </ng-template>`,\n standalone: false\n})\nexport class DataTableRowComponent implements AfterViewInit, OnInit, AfterContentInit, OnDestroy {\n @Input({ alias: 'class' }) cssClass?: string\n @Input({ alias: 'style' }) cssStyle?: string;\n hasActions: boolean = true\n\n @Output() rowClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n @ViewChild('projectedActions', { read: ViewContainerRef }) _projectedActions!: ViewContainerRef;\n @ContentChildren(DataTableActionsComponent) public actionsBlock!: QueryList<DataTableActionsComponent>;\n\n element!: HTMLElement;\n private temp!: EmbeddedViewRef<any>;\n private _actionsBlockSubscription: Subscription | undefined;\n\n constructor(private viewContainerRef: ViewContainerRef) { }\n\n get _view() {\n return this.temp\n }\n\n\n ngOnInit() {\n this.temp = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = this.temp.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n\n ngAfterContentInit() {\n this._actionsBlockSubscription = this.actionsBlock.changes.subscribe(() => {\n this._renderActions();\n });\n this.hasActions = !!this.actionsBlock.length;\n }\n\n ngAfterViewInit() {\n this._renderActions();\n }\n\n ngOnDestroy() {\n if (this._actionsBlockSubscription) {\n this._actionsBlockSubscription.unsubscribe();\n }\n }\n\n private _renderActions() {\n if (this.hasActions && this._projectedActions) {\n for (let i = this._projectedActions.length; i > 0; i--) {\n this._projectedActions.detach();\n }\n if (this.actionsBlock.first) {\n this._projectedActions.insert(this.actionsBlock.first._view);\n }\n }\n }\n}\n","import { Injectable, Optional, Self } from '@angular/core';\nimport { ControlValueAccessor, NgControl, ValidationErrors, } from '@angular/forms';\nimport { UniqueIdService } from '../../shared/unique-id.service';\n\n@Injectable()\nexport abstract class AbstractComponent<T = any>\n implements ControlValueAccessor {\n public abstract disabled?: boolean;\n protected abstract userDefinedId: string;\n protected onTouched: Function = () => { };\n\tprotected onChanged: Function = (v: T) => {\n\t};\n public value!: T;\n private _id!: string;\n public get id(): string {\n return this.userDefinedId || this._id;\n }\n constructor(\n idService: UniqueIdService,\n @Self() @Optional() public control?: NgControl,\n ) {\n this._id = idService.id;\n if (this.control) {\n this.control.valueAccessor = this;\n }\n }\n\n protected setValue(val: T) {\n this.value = val;\n this.onChanged?.(val);\n }\n\n touch() {\n this.onTouched();\n }\n\n writeValue(val: T): void {\n this.value = val;\n this.onWrite(val);\n }\n\t\n\tregisterOnChange(fn: (v: T) => void): void {\n this.onChanged = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n get invalid(): boolean {\n return this.control?.invalid || false;\n }\n\n get showError(): boolean {\n if (!this.control) return false;\n const { dirty, touched } = this.control;\n return this.invalid ? dirty || touched || false : false;\n }\n\n get errors(): ValidationErrors {\n return this.control?.errors || {};\n }\n\n onWrite(data: T) { };\n}\n","import { Component, Input, ViewContainerRef, Injector, TemplateRef, ViewChild, OnInit, EmbeddedViewRef, booleanAttribute } from '@angular/core';\nimport { WrappedComponent } from '../../shared/wrapped.component';\nimport { HostWrapper } from '../../shared/host-wrapper';\n\n@Component({\n selector: 'rlb-option',\n template: `\n <ng-template #template>\n <option\n [attr.disabled]=\"disabled ? true : undefined\"\n [attr.value]=\"value\"\n >\n <ng-content></ng-content>\n </option>\n </ng-template>\n <ng-content></ng-content>`,\n standalone: false\n})\nexport class OptionComponent implements OnInit {\n private temp!: EmbeddedViewRef<any>;\n\n @Input({ alias: 'disabled', transform: booleanAttribute }) disabled?: boolean;\n @Input({ alias: 'value' }) value?: string | number | null;\n @Input({ alias: 'class' }) cssValue?: string | number | null;\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n constructor(private viewContainerRef: ViewContainerRef) { }\n\n get _view() {\n return this.temp\n }\n\n ngOnInit() {\n this.temp = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n }\n}\n","import { InjectionToken } from '@angular/core';\n\n\nexport interface RlbTranslationService {\n\tinstant(key: string, params?: { [key: string]: any }): string;\n}\n\nexport const RLB_TRANSLATION_SERVICE = new InjectionToken<RlbTranslationService>(\n\t'RLB_TRANSLATION_SERVICE_TOKEN'\n);","import { Component, Inject, Input, Optional } from \"@angular/core\";\nimport { ValidationErrors } from \"@angular/forms\";\nimport { RLB_TRANSLATION_SERVICE, RlbTranslationService } from \"../../shared/i18-abstraction\";\n\n@Component({\n selector: 'rlb-input-validation',\n host: { class: 'invalid-feedback' },\n\ttemplate: `\n\t\t<ng-container *ngIf=\"errors\">\n\t\t\t<span *ngFor=\"let errorKey of getErrorKeys(errors)\">\n\t\t\t\t{{ getTranslatedError(errorKey, errors[errorKey]) }}\n\t\t\t</span>\n\t\t</ng-container>\n\t`,\n standalone: false\n})\nexport class InputValidationComponent {\n @Input({ alias: 'errors' }) public errors!: ValidationErrors;\n\t\n\tconstructor(\n\t\t@Optional() @Inject(RLB_TRANSLATION_SERVICE) private translationService: RlbTranslationService | null\n\t) {\n\t}\n\t\n\tgetErrorKeys(errors: ValidationErrors | null | undefined): string[] {\n\t\tif (!errors) return [];\n\t\treturn Object.keys(errors);\n\t}\n\t\n\tgetTranslatedError(errorKey: string, errorValue: any): string {\n\t\tconst i18nKey = `common.form.validation.${errorKey}`; // Create i18n key ex: 'common.form.validation.required'\n\t\t\n\t\tif (this.translationService) {\n\t\t\treturn this.translationService.instant(i18nKey, errorValue);\n\t\t}\n\t\t\n\t\t// fallback\n\t\treturn `${i18nKey}: ${JSON.stringify(errorValue)}`;\n\t}\n}\n","import {\n AfterContentChecked,\n booleanAttribute,\n Component,\n ContentChildren,\n DoCheck,\n ElementRef,\n Input,\n numberAttribute,\n Optional,\n QueryList,\n Self,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { AbstractComponent } from './abstract-field.component';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { OptionComponent } from './options.component';\n\n@Component({\n selector: 'rlb-select',\n template: `\n <ng-content select=\"[before]\"></ng-content>\n <div class=\"input-group has-validation\">\n <select\n #select\n class=\"form-select d-inline-block\"\n [id]=\"id\"\n [attr.disabled]=\"disabled ? true : undefined\"\n [attr.readonly]=\"readonly ? true : undefined\"\n [attr.multiple]=\"multiple ? true : undefined\"\n [class.form-select-lg]=\"size === 'large'\"\n [class.form-select-sm]=\"size === 'small'\"\n [attr.placeholder]=\"placeholder\"\n [attr.size]=\"display\"\n (blur)=\"touch()\"\n\t\t\t\t[ngClass]=\"{\n 'is-invalid': control?.touched && control?.invalid && enableValidation,\n 'is-valid': control?.touched && control?.valid && enableValidation\n }\"\n (change)=\"update($event.target)\"\n >\n <option *ngIf=\"placeholder\" selected disabled>{{ placeholder }}</option>\n <ng-container #projectedDisplayOptions></ng-container>\n </select>\n\t\t\t<rlb-input-validation *ngIf=\"errors && showError\" [errors]=\"errors\"/>\n\t\t</div>\n <ng-content select=\"[after]\"></ng-content>`,\n standalone: false\n})\nexport class SelectComponent\n extends AbstractComponent<string | string[]>\n implements DoCheck, ControlValueAccessor, AfterContentChecked {\n @Input({ alias: 'placeholder' }) placeholder?: string;\n @Input({ alias: 'size' }) size?: 'small' | 'large';\n @Input({ alias: 'disabled', transform: booleanAttribute }) disabled?: boolean;\n @Input({ alias: 'readonly', transform: booleanAttribute }) readonly?: boolean;\n @Input({ alias: 'multiple', transform: booleanAttribute }) multiple?: boolean;\n @Input({ alias: 'display', transform: numberAttribute }) display?: number;\n @Input({ alias: 'id', transform: (v: string) => v || '' }) userDefinedId: string = '';\n @Input({ transform: booleanAttribute, alias: 'enable-validation' }) enableValidation? = false;\n\n @ViewChild('select') el!: ElementRef<HTMLSelectElement>;\n\n constructor(\n idService: UniqueIdService,\n @Self() @Optional() override control?: NgControl,\n ) {\n super(idService, control);\n }\n\n update(ev: EventTarget | null) {\n if (!this.disabled) {\n const t = ev as HTMLSelectElement;\n if (this.multiple) {\n const selected = Array.from(t.selectedOptions)\n .filter((o) => o.selected)\n .map((o) => o.value);\n this.setValue(selected);\n } else {\n this.setValue(t?.value);\n }\n }\n }\n\n ngAfterContentChecked(): void {\n this.onWrite(this.value);\n }\n\n override onWrite(data: string | string[]): void {\n if (this.el && this.el.nativeElement) {\n if (this.multiple) {\n if (!Array.isArray(data)) data = [data];\n const opt = Array.from(this.el.nativeElement.options);\n opt.forEach((o) => {\n o.selected = data.includes(o.value);\n });\n }\n else {\n if (data === undefined || data === null) return;\n if (Array.isArray(data) && data.length) data = data[0];\n const opt = Array.from(this.el.nativeElement.options);\n const val = opt.find((o) => o.value == data);\n if (val) val.selected = true;\n }\n }\n }\n\n @ContentChildren(OptionComponent) options!: QueryList<OptionComponent>;\n @ViewChild('projectedDisplayOptions', { read: ViewContainerRef })\n _projectedDisplayOptions!: ViewContainerRef;\n\n ngDoCheck() {\n if (this._projectedDisplayOptions && this.options) {\n for (let i = this._projectedDisplayOptions?.length; i > 0; i--) {\n this._projectedDisplayOptions.detach();\n }\n this.options.forEach((option) => {\n this._projectedDisplayOptions?.insert(option._view);\n });\n }\n }\n}\n","import {\n AfterContentInit,\n AfterViewInit,\n booleanAttribute,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n numberAttribute,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { DataTableHeaderComponent } from './dt-header.component';\nimport { DataTableRowComponent } from './dt-row.component';\nimport { Subscription } from \"rxjs\";\n\nexport interface TableDataQuery {\n pagination?: { size: number };\n sorting?: { column: string; direction: string };\n filter?: { [k: string]: number | string | boolean };\n}\n\nexport interface PaginationEvent {\n page: number;\n size: number;\n}\n\n@Component({\n selector: 'rlb-dt-table',\n templateUrl: './dt-table.component.html',\n standalone: false\n})\nexport class DataTableComponent implements OnInit, AfterViewInit, AfterContentInit, OnDestroy {\n @Input({ alias: 'title' }) title?: string;\n @Input({ alias: 'creation-strategy' }) creationStrategy: 'none' | 'modal' | 'page' = 'none';\n @Input({ alias: 'creation-url' }) creationUrl!: any[] | string | null | undefined;\n @Input({ alias: 'items' }) items!: any[];\n @Input({ alias: 'pagination-mode' }) paginationMode?: 'none' | 'load-more' | 'pages' = 'none';\n @Input({ alias: 'loading', transform: booleanAttribute }) loading?: boolean;\n @Input({ alias: 'table-hover', transform: booleanAttribute }) tableHover?: boolean;\n @Input({ alias: 'table-striped', transform: booleanAttribute }) tableStriped?: boolean = true; // default true to keep main table styling\n @Input({ alias: 'table-striped-columns', transform: booleanAttribute }) tableStripedColumns?: boolean;\n @Input({ alias: 'table-bordered', transform: booleanAttribute }) tableBordered?: boolean;\n @Input({ alias: 'table-borderless', transform: booleanAttribute }) tableBorderless?: boolean;\n @Input({ alias: 'table-small', transform: booleanAttribute }) tableSmall?: boolean;\n @Input({ alias: 'show-refresh', transform: booleanAttribute }) showRefresh?: boolean;\n @Input({ alias: 'total-items', transform: numberAttribute }) totalItems?: number;\n @Input({ alias: 'current-page', transform: numberAttribute }) currentPage?: number;\n @Input({ alias: 'page-size', transform: numberAttribute }) pageSize?: number;\n @Input() showActions: 'row' | 'head' = 'row';\n\n @Input() loadMoreLabel: string = 'Load more';\n\n @Output('create-item') createItem: EventEmitter<void> = new EventEmitter();\n @Output('refresh-item') refreshItem: EventEmitter<void> = new EventEmitter();\n @Output('load-more') loadMore: EventEmitter<void> = new EventEmitter();\n @Output('current-pageChange') currentPageChange: EventEmitter<number> = new EventEmitter();\n @Output('page-sizeChange') pageSizeChange: EventEmitter<number> = new EventEmitter();\n @Output('pagination') pagination: EventEmitter<{ page: number; size: number }> = new EventEmitter();\n\n @ViewChild('projectedDisplayColumns', { read: ViewContainerRef }) _projectedDisplayColumns!: ViewContainerRef;\n @ContentChildren(DataTableRowComponent) public rows!: QueryList<DataTableRowComponent>;\n @ContentChildren(DataTableHeaderComponent) columns!: QueryList<DataTableHeaderComponent>;\n\n private subscription: Subscription | undefined\n\n ngOnInit() {\n this.currentPage = 1;\n this.pageSize = 20;\n }\n\n get pages() {\n return Math.ceil((this.totalItems || 0) / (this.pageSize || 1));\n }\n\n get hasActions() {\n return (\n this.rows?.toArray()?.some((o) => o.hasActions) ||\n this.showActions !== 'row'\n );\n }\n\n ngAfterViewInit() {\n this._renderHeaders();\n }\n\n ngAfterContentInit() {\n this.subscription = this.columns.changes.subscribe(() => {\n this._renderHeaders()\n })\n }\n\n ngOnDestroy() {\n this.subscription?.unsubscribe()\n }\n\n private _renderHeaders() {\n if (this._projectedDisplayColumns) {\n for (let i = this._projectedDisplayColumns.length; i > 0; i--) {\n this._projectedDisplayColumns.detach();\n }\n this.columns.forEach((column) => {\n this._projectedDisplayColumns.insert(column._view);\n });\n }\n }\n\n get cols() {\n return this.columns.length + (this.showActions !== 'row' ? 1 : 0);\n }\n\n getTableClasses(): string[] {\n const classes = ['table'];\n\n if (this.tableStriped) {\n classes.push('table-striped');\n }\n\n if (this.tableStripedColumns) {\n classes.push('table-striped-columns');\n }\n\n if (this.tableHover) {\n classes.push('table-hover');\n }\n\n if (this.tableBordered) {\n classes.push('table-bordered');\n }\n\n if (this.tableBorderless) {\n classes.push('table-borderless');\n }\n\n if (this.tableSmall) {\n classes.push('table-small');\n }\n\n return classes;\n }\n\n selectSize() {\n this.currentPageChange.emit(1);\n this.pageSizeChange.emit(parseInt(this.pageSize as any));\n this.pagination.emit({ page: 1, size: this.pageSize ? parseInt(this.pageSize as any) : 20 });\n }\n\n\n selectPage(ev: MouseEvent, page: number) {\n ev?.preventDefault();\n ev?.stopPropagation();\n if (page === this.currentPage || this.loading) return;\n this.currentPageChange.emit(page);\n this.pagination.emit({ page, size: this.pageSize ? parseInt(this.pageSize as any) : 20 });\n }\n\n next(ev: MouseEvent) {\n ev?.preventDefault();\n ev?.stopPropagation();\n if (this.currentPage === this.pages || this.loading) return;\n this.currentPageChange.emit((this.currentPage || 1) + 1);\n this.pagination.emit({\n page: ((this.currentPage || 1) + 1),\n size: this.pageSize ? parseInt(this.pageSize as any) : 20\n });\n }\n\n prev(ev: MouseEvent) {\n ev?.preventDefault();\n ev?.stopPropagation();\n if (this.currentPage === 1 || this.loading) return;\n this.currentPageChange.emit((this.currentPage || 1) - 1);\n this.pagination.emit({\n page: ((this.currentPage || 1) - 1),\n size: this.pageSize ? parseInt(this.pageSize as any) : 20\n });\n }\n\n onPgWeel(ev: WheelEvent) {\n ev.preventDefault();\n const t = ev.target as HTMLElement;\n const c = t.parentElement?.parentElement\n c?.scrollBy({ left: ev.deltaY < 0 ? -15 : 15 });\n }\n}\n","<div class=\"row\" *ngIf=\"creationStrategy !== 'none' || title || showRefresh\">\n <div class=\"col\">\n <h3 *ngIf=\"title\" class=\"float-start\">{{ title }}</h3>\n <ng-container *ngIf=\"showRefresh\">\n <button type=\"button\" class=\"btn btn-outline-primary float-end mb-2 me-3\" (click)=\"refreshItem.emit()\"\n [disabled]=\"loading\">\n <i class=\"fa-solid fa-arrows-rotate\"></i>\n </button>\n </ng-container>\n <ng-container *ngIf=\"creationStrategy === 'page'\">\n <button type=\"button\" class=\"btn btn-outline-primary float-end mb-2 me-3\" [routerLink]=\"creationUrl\">\n <i class=\"fa-solid fa-plus\"></i>\n </button>\n </ng-container>\n <ng-container *ngIf=\"creationStrategy === 'modal'\">\n <button type=\"button\" class=\"btn btn-outline-primary float-end mb-2 me-3\" (click)=\"createItem.emit()\">\n <i class=\"fa-solid fa-plus\"></i>\n </button>\n </ng-container>\n </div>\n</div>\n<div class=\"table-responsive\">\n <table [ngClass]=\"getTableClasses()\">\n\t\t<thead>\n\t\t<tr>\n\t\t\t<ng-container #projectedDisplayColumns></ng-container>\n\t\t\t<th *ngIf=\"hasActions\">\n <span class=\"float-end pe-2\">\n Actions\n </span>\n\t\t\t</th>\n\t\t</tr>\n\t\t</thead>\n\t\t<tbody>\n\t\t<ng-content *ngIf=\"!loading\" select=\"rlb-dt-row\"/>\n\t\t<rlb-dt-row *ngIf=\"!loading && items?.length === 0\" class=\"text-center\">\n\t\t\t<rlb-dt-cell [col-span]=\"cols\" style=\"border: 0\">\n\t\t\t\t<ng-content select=\"rlb-dt-noitems\"/>\n\t\t\t</rlb-dt-cell>\n\t\t</rlb-dt-row>\n\t\t<rlb-dt-row *ngIf=\"loading\" class=\"text-center\">\n\t\t\t<rlb-dt-cell [col-span]=\"cols\" style=\"border: 0\">\n\t\t\t\t<ng-content select=\"rlb-dt-loading\"/>\n\t\t\t</rlb-dt-cell>\n\t\t</rlb-dt-row>\n\t\t</tbody>\n\t\t<tfoot *ngIf=\"pagination && paginationMode !== 'none'\">\n\t\t<rlb-dt-row>\n\t\t\t<rlb-dt-cell [col-span]=\"hasActions ? cols+1: cols\" style=\"border: 0\">\n\t\t\t\t<button *ngIf=\"paginationMode === 'load-more'\" type=\"button\" class=\"btn btn-primary float-end btn-sm mt-2\"\n\t\t\t\t\t\t\t\t[disabled]=\"loading\" (click)=\"loadMore.emit()\">\n\t\t\t\t\t{{ loadMoreLabel }}\n\t\t\t\t</button>\n\t\t\t\t<ng-container *ngIf=\"paginationMode === 'pages'\">\n\t\t\t\t\t<nav aria-label=\"Page navigation example\">\n\t\t\t\t\t\t<ul class=\"pagination float-end pagination-sm\">\n\t\t\t\t\t\t\t<li class=\"page-item\">\n\t\t\t\t\t\t\t\t<a class=\"page-link d-block\" [class.disabled]=\"currentPage === 1\" href=\"#\" aria-label=\"Previous\"\n\t\t\t\t\t\t\t\t\t (click)=\"prev($event)\">\n\t\t\t\t\t\t\t\t\t<span aria-hidden=\"true\">&laquo;</span>\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t<span class=\"d-flex overflow-x-hidden overflow-y-hidden\" (wheel)=\"onPgWeel($event)\"\n\t\t\t\t\t\t\t\t\t\tstyle=\"max-width: 200px;\">\n <ng-container *ngFor=\"let page of [].constructor(pages); let i = index\">\n <li class=\"page-item\" [class.active]=\"currentPage === i+1\">\n <a class=\"page-link d-block\" href=\"#\" (click)=\"selectPage($event, i+1)\">{{i+1}}</a>\n </li>\n </ng-container>\n </span>\n\t\t\t\t\t\t\t<li class=\"page-item\">\n\t\t\t\t\t\t\t\t<a class=\"page-link d-block\" [class.disabled]=\"currentPage === pages\" href=\"#\" aria-label=\"Next\"\n\t\t\t\t\t\t\t\t\t (click)=\"next($event)\">\n\t\t\t\t\t\t\t\t\t<span aria-hidden=\"true\">&raquo;</span>\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t<ul class=\"ps-0 float-end me-3\">\n\t\t\t\t\t\t\t<rlb-select size=\"small\" [(ngModel)]=\"pageSize\" (ngModelChange)=\"selectSize()\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t[disabled]=\"items.length === 0\">\n\t\t\t\t\t\t\t\t<rlb-option [value]=\"10\">10</rlb-option>\n\t\t\t\t\t\t\t\t<rlb-option [value]=\"20\">20</rlb-option>\n\t\t\t\t\t\t\t\t<rlb-option [value]=\"50\">50</rlb-option>\n\t\t\t\t\t\t\t\t<rlb-option [value]=\"100\">100</rlb-option>\n\t\t\t\t\t\t\t</rlb-select>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</nav>\n\t\t\t\t</ng-container>\n\t\t\t</rlb-dt-cell>\n\t\t</rlb-dt-row>\n\t\t</tfoot>\n\t</table>\n</div>\n","import { Component, EmbeddedViewRef, OnInit, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';\n\n@Component({\n selector: 'rlb-dt-loading',\n template: `\n <ng-template #template>\n <ng-content></ng-content>\n </ng-template>`,\n standalone: false\n})\nexport class DataTableLoadingComponent implements OnInit {\n\n element!: HTMLElement;\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n constructor(private viewContainerRef: ViewContainerRef) { }\n private temp!: EmbeddedViewRef<any>;\n\n get _view() {\n return this.temp\n }\n\n ngOnInit() {\n this.temp = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = this.temp.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","import { Component, EmbeddedViewRef, OnInit, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';\n\n@Component({\n selector: 'rlb-dt-noitems',\n template: `\n <ng-template #template>\n <ng-content></ng-content>\n </ng-template>`,\n standalone: false\n})\nexport class DataTableNoItemsComponent implements OnInit {\n\n element!: HTMLElement;\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n constructor(private viewContainerRef: ViewContainerRef) { }\n private temp!: EmbeddedViewRef<any>;\n\n get _view() {\n return this.temp\n }\n\n ngOnInit() {\n this.temp = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n this.element = this.temp.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n}\n","export * from './dt-action.component';\nexport * from './dt-actions.component';\nexport * from './dt-cell.component';\nexport * from './dt-header.component';\nexport * from './dt-row.component';\nexport * from './dt-table.component';\nexport * from './dt-loading.component';\nexport * from './dt-noitems.component';\n\nimport { DataTableActionComponent } from './dt-action.component';\nimport { DataTableActionsComponent } from './dt-actions.component';\nimport { DataTableCellComponent } from './dt-cell.component';\nimport { DataTableHeaderComponent } from './dt-header.component';\nimport { DataTableLoadingComponent } from './dt-loading.component';\nimport { DataTableNoItemsComponent } from './dt-noitems.component';\nimport { DataTableRowComponent } from './dt-row.component';\nimport { DataTableComponent } from './dt-table.component';\n\nexport const TABLE = [\n DataTableActionComponent,\n DataTableActionsComponent,\n DataTableCellComponent,\n DataTableHeaderComponent,\n DataTableRowComponent,\n DataTableComponent,\n DataTableLoadingComponent,\n DataTableNoItemsComponent\n];\n","import {\n booleanAttribute,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n numberAttribute,\n Output,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { AbstractComponent } from './abstract-field.component';\nimport { AutocompleteItem } from \"./autocomplete-model\";\n\n@Component({\n\ttemplate: '',\n\tstandalone: false\n})\nexport abstract class AbstractAutocompleteComponent\n extends AbstractComponent<AutocompleteItem>\n\timplements ControlValueAccessor {\n\n\tacLoading: boolean = false;\n\tprotected typingTimeout: any; // protected, to gain access to child classes\n\tisOpen = false;\n\n\tprotected suggestionsList: AutocompleteItem[] = [];\n\tprotected activeIndex: number = -1;\n\n\t// COMMON INPUT/OUTPUT\n\t@Input({ transform: booleanAttribute, alias: 'disabled' }) disabled? = false;\n\t@Input({ transform: booleanAttribute, alias: 'readonly' }) readonly? = false;\n\t@Input({ transform: booleanAttribute, alias: 'loading' }) loading?: boolean = false;\n\t@Input({ transform: numberAttribute, alias: 'max-height' }) maxHeight?: number = 200;\n\t@Input({ alias: 'placeholder' }) placeholder?: string = '';\n\t@Input() size?: 'small' | 'large' | undefined;\n\t@Input({ alias: 'id', transform: (v: string) => v || '' }) userDefinedId: string = '';\n\t@Input({ alias: 'chars-to-search', transform: numberAttribute }) charsToSearch: number = 3;\n\n\t@ViewChild('field', { read: ElementRef, static: false }) el!: ElementRef<HTMLInputElement>;\n\t@ViewChild('autocomplete', { read: ElementRef, static: false }) dropdown!: ElementRef<HTMLElement>;\n @Output() selected: EventEmitter<AutocompleteItem> = new EventEmitter<AutocompleteItem>();\n\n protected abstract getSuggestions(query: string): void;\n\n protected abstract getItemText(data?: AutocompleteItem): string;\n\n protected constructor(\n\t\tidService: UniqueIdService,\n\t\tprotected readonly renderer: Renderer2, // protected, to gain access to child classes\n\t\tcontrol?: NgControl,\n\t) {\n\t\tsuper(idService, control);\n\t}\n\n // =========================================================================\n\t// HTML FORM LOGIC\n\t// =========================================================================\n\n override onWrite(data?: AutocompleteItem): void {\n\t\tif (this.el && this.el.nativeElement) {\n\t\t\t// this.el.nativeElement.value = this.getItemText(data);\n\t\t\tif (typeof data === 'object' && data !== null) {\n this.el.nativeElement.value = this.getItemText(data);\n\t\t\t} else {\n\t\t\t\tthis.el.nativeElement.value = '';\n\t\t\t}\n\t\t}\n\t}\n\n // =========================================================================\n\t// INPUT HANDLING\n\t// =========================================================================\n\n update(ev: EventTarget | null) {\n\t\tconst t = ev as HTMLInputElement;\n\t\tconst inputValue = t?.value || '';\n\n // this.value = inputValue as any;\n const valueToPropagate = inputValue === '' ? { text: '', value: '' } : inputValue;\n this.setValue(valueToPropagate as any);\n\n if (this.control && this.control.control) {\n\t\t\tthis.control.control.markAsDirty();\n\t\t\tthis.control.control.updateValueAndValidity();\n\t\t}\n\n if (this.typingTimeout) {\n\t\t\tclearTimeout(this.typingTimeout);\n\t\t}\n\n this.typingTimeout = setTimeout(() => {\n\t\t\tif (!this.disabled) {\n\t\t\t\tthis.getSuggestions(inputValue); // Call specific for a class\n\t\t\t}\n\t\t}, 500);\n\t}\n\n onEnter(ev: EventTarget | null) {\n\t\tconst t = ev as HTMLInputElement;\n\t\tif (!this.disabled && t && t.value) {\n\t\t\t//this.setValue(t?.value);\n\t\t\tthis.closeDropdown();\n\t\t}\n\t}\n\n // =========================================================================\n\t// COMMON NAVIGATE AND SELECT LOGIC\n\t// =========================================================================\n\n @HostListener('document:keydown', ['$event'])\n\tonKeyDown(event: KeyboardEvent) {\n\t\tif (!this.isOpen || this.suggestionsList.length === 0) {\n\t\t\tif (event.key === 'Enter') {\n\t\t\t\tthis.onEnter(this.el?.nativeElement);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n switch (event.key) {\n\t\t\tcase 'ArrowDown':\n\t\t\t\tevent.preventDefault();\n\t\t\t\tthis.navigate(1);\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowUp':\n\t\t\t\tevent.preventDefault();\n\t\t\t\tthis.navigate(-1);\n\t\t\t\tbreak;\n\t\t\tcase 'Enter':\n\t\t\t\tevent.preventDefault();\n\t\t\t\tthis.selectActiveItem();\n\t\t\t\tbreak;\n\t\t\tcase 'Escape':\n\t\t\t\tthis.closeDropdown();\n\t\t\t\tthis.el?.nativeElement?.blur();\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n navigate(step: 1 | -1) {\n\t\tlet newIndex = this.activeIndex + step;\n\n if (newIndex >= this.suggestionsList.length) {\n\t\t\tnewIndex = 0;\n\t\t} else if (newIndex < 0) {\n\t\t\tnewIndex = this.suggestionsList.length - 1;\n\t\t}\n\n this.setActiveItem(newIndex);\n\t}\n\n setActiveItem(index: number) {\n\t\tif (this.activeIndex !== -1 && this.dropdown.nativeElement.children[this.activeIndex]) {\n\t\t\tconst oldItem = this.dropdown.nativeElement.children[this.activeIndex];\n\t\t\tthis.renderer.removeClass(oldItem, 'active');\n\t\t}\n\n this.activeIndex = index;\n\n if (this.activeIndex !== -1 && this.dropdown.nativeElement.children[this.activeIndex]) {\n\t\t\tconst newItem = this.dropdown.nativeElement.children[this.activeIndex];\n\t\t\tthis.renderer.addClass(newItem, 'active');\n\t\t\tnewItem.scrollIntoView({ block: 'nearest' });\n\t\t}\n\t}\n\n selectActiveItem() {\n\t\tif (this.activeIndex !== -1) {\n\t\t\tconst itemData = this.suggestionsList[this.activeIndex];\n\t\t\tthis.selected.emit(itemData);\n\n this.setValue(itemData);\n\n if (this.el && this.el.nativeElement) {\n\t\t\t\tthis.el.nativeElement.value = itemData.text;\n\t\t\t}\n\n if (this.typingTimeout) {\n\t\t\t\tclearTimeout(this.typingTimeout);\n\t\t\t}\n\n this.closeDropdown();\n\t\t} else {\n\t\t\tthis.onEnter(this.el?.nativeElement);\n\t\t}\n\t}\n\n // =========================================================================\n\t// DROPDOWN MANAGEMENT (COMMON)\n\t// =========================================================================\n\n openDropdown() {\n\t\tif (!this.dropdown || !this.dropdown.nativeElement || this.isOpen) return;\n\t\tthis.renderer.setStyle(this.dropdown.nativeElement, 'display', 'block');\n\t\t// this.renderer.addClass(this.dropdown.nativeElement, 'show');\n\t\tthis.isOpen = true;\n\t}\n\n closeDropdown() {\n\t\tif (!this.dropdown || !this.dropdown.nativeElement || !this.isOpen) return;\n\t\tthis.renderer.setStyle(this.dropdown.nativeElement, 'display', 'none');\n\t\tthis.isOpen = false;\n\t\tthis.clearDropdown();\n\t\tthis.acLoading = false;\n\t\tthis.activeIndex = -1;\n\t\tthis.suggestionsList = [];\n\t}\n\n clearDropdown() {\n\t\tif (!this.dropdown || !this.dropdown.nativeElement) return;\n\t\twhile (this.dropdown.nativeElement.firstChild) {\n\t\t\tthis.dropdown.nativeElement.removeChild(this.dropdown.nativeElement.lastChild!);\n\t\t}\n\t}\n\n // protected setValueSilent(val: string) {\n\t// \tthis.value = val as any;\n\t//\n\t// \tif (this.control && this.control.control) {\n\t// \t\tthis.control.control.setValue(val, { emitEvent: false });\n\t// \t}\n\t// }\n\n protected renderAc(suggestions: Array<AutocompleteItem | string>) {\n\t\tif (!this.dropdown || !this.dropdown.nativeElement) return;\n\t\tthis.clearDropdown();\n\t\tthis.suggestionsList = [];\n\t\tthis.activeIndex = -1;\n\n const normalizedSuggestions = suggestions.map(suggestion =>\n\t\t\ttypeof suggestion === 'string' ? { text: suggestion, value: suggestion } : suggestion\n\t\t);\n\n this.suggestionsList = normalizedSuggestions;\n\n if (!this.suggestionsList || this.suggestionsList.length === 0) {\n\t\t\tconst el = this.renderer.createElement('a');\n\t\t\tthis.renderer.addClass(el, 'dropdown-item');\n\t\t\tthis.renderer.addClass(el, 'disabled');\n\t\t\tthis.renderer.addClass(el, 'text-center');\n\t\t\tthis.renderer.setAttribute(el, 'disabled', 'true');\n\t\t\tthis.renderer.appendChild(el, this.renderer.createText('No suggestions'));\n\t\t\tthis.renderer.appendChild(this.dropdown.nativeElement, el);\n\t\t\treturn;\n\t\t}\n\n for (let i = 0; i < this.suggestionsList.length; i++) {\n\t\t\tconst itemData = this.suggestionsList[i];\n\n const el = this.renderer.createElement('a');\n\t\t\tthis.renderer.addClass(el, 'dropdown-item');\n\n if (itemData.iconClass) {\n\t\t\t\tconst icon = this.renderer.createElement('i');\n\n const classes = itemData.iconClass.split(/\\s+/);\n\t\t\t\tfor (const cls of classes) {\n\t\t\t\t\tif (cls) {\n\t\t\t\t\t\t// Angular renderer.addClass() method DOES NOT support expression like this: this.renderer.addClass(icon, 'bi bi-check')\n\t\t\t\t\t\t// it causes silent runtime error\n\t\t\t\t\t\t// Instead we should split it, and add one by one\n\t\t\t\t\t\tthis.renderer.addClass(icon, cls);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.renderer.addClass(icon, 'me-2');\n\t\t\t\tthis.renderer.appendChild(el, icon);\n\t\t\t}\n\n this.renderer.appendChild(el, this.renderer.createText(itemData.text));\n\n this.renderer.listen(el, 'click', (ev: Event) => {\n\t\t\t\tthis.activeIndex = i;\n\t\t\t\tthis.selectActiveItem();\n\t\t\t\tev.stopPropagation();\n\t\t\t});\n\t\t\tthis.renderer.appendChild(this.dropdown.nativeElement, el);\n\t\t}\n\t}\n}\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\nimport { AutocompleteItem } from \"../inputs\";\n\nexport function requiredAutocompleteValue(): ValidatorFn {\n\treturn (control: AbstractControl): ValidationErrors | null => {\n\t\tconst value = control.value;\n\t\t\n\t\tif (value === null || value === undefined) {\n\t\t\treturn { required: true };\n\t\t}\n\t\t\n\t\tif (typeof value === 'object' && value !== null && 'value' in value) {\n\t\t\tconst item = value as AutocompleteItem;\n\t\t\tif (item.value === null || item.value === undefined || item.value.trim() === '') {\n\t\t\t\treturn { required: true };\n\t\t\t}\n\t\t} else if (typeof value === 'string') {\n\t\t\tif (value.trim() === '') {\n\t\t\t\treturn { required: true };\n\t\t\t}\n\t\t}\n\t\t\n\t\treturn null;\n\t};\n}","import { booleanAttribute, Component, Input, Optional, Renderer2, Self } from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { AutocompleteItem } from \"./autocomplete-model\";\nimport { AbstractAutocompleteComponent } from \"./abstract-autocomplete.component\";\n\n@Component({\n selector: 'rlb-autocomplete-country-dial-code',\n template: `\n <ng-content select=\"[before]\"></ng-content>\n <div class=\"input-group has-validation\">\n <input\n #field\n [id]=\"id\"\n class=\"form-control\"\n type=\"text\"\n\t\t\t\t[attr.autocomplete]=\"'off'\"\n\t\t\t\t[attr.disabled]=\"disabled ? true : undefined\"\n [attr.readonly]=\"readonly ? true : undefined\"\n [attr.placeholder]=\"placeholder\"\n [class.form-control-lg]=\"size === 'large'\"\n [class.form-control-sm]=\"size === 'small'\"\n (blur)=\"touch()\"\n\t\t\t\t[ngClass]=\"{\n 'is-invalid': control?.touched && control?.invalid,\n 'is-valid': control?.touched && control?.valid\n }\"\n (input)=\"update($event.target)\"\n />\n\t\t\t<rlb-input-validation *ngIf=\"errors && showError\" [errors]=\"errors\"/>\n\t\t</div>\n\t\t<rlb-progress\n\t\t\t*ngIf=\"loading || acLoading\"\n\t\t\t[height]=\"2\"\n\t\t\t[infinite]=\"loading || acLoading\"\n\t\t\tcolor=\"primary\"\n\t\t\tclass=\"w-100\"\n\t\t/>\n <ng-content select=\"[after]\"></ng-content>\n <div\n #autocomplete\n [id]=\"id+'-ac'\"\n class=\"dropdown-menu overflow-y-auto w-100 position-relative\"\n aria-labelledby=\"dropdownMenu\"\n [style.max-height.px]=\"maxHeight\">\n </div>\n `,\n standalone: false\n})\nexport class AutocompleteCountryDialCodeComponent\n\textends AbstractAutocompleteComponent\n implements ControlValueAccessor {\n\t\n\t@Input({ transform: booleanAttribute, alias: 'enable-flag-icons' }) enableFlagIcons?: boolean = true;\n\t\n\tconstructor(\n\t\tidService: UniqueIdService,\n\t\trenderer: Renderer2,\n\t\t@Self() @Optional() override control?: NgControl,\n\t) {\n\t\tsuper(idService, renderer, control);\n\t}\n\t\n\tprotected override getSuggestions(query: string) {\n\t\tthis.clearDropdown();\n\t\tthis.activeIndex = -1;\n\t\t\n\t\tif (query && query.length > 0) {\n\t\t\tthis.openDropdown();\n\t\t\tconst suggestions = this.getCountries().filter(o => {\n\t\t\t\tconst _c = o as { text: string, value: string; };\n\t\t\t\treturn _c.text.toLowerCase().startsWith(query.toLowerCase());\n\t\t\t});\n\t\t\tthis.renderAc(suggestions);\n\t\t} else {\n\t\t\tthis.closeDropdown();\n\t\t}\n\t}\n\t\n\tprotected override getItemText(data?: AutocompleteItem | string): string {\n\t\tconst h = this.getCountries().find(c => {\n\t\t\tif (typeof c === 'object') {\n\t\t\t\tconst _c = c as { text: string, value: string; };\n\t\t\t\treturn _c.value === (typeof data === 'object' ? data?.value : data) ? _c.text : '';\n\t\t\t}\n\t\t\treturn false;\n\t\t});\n\t\treturn (typeof h === 'object' ? h.text : '');\n\t}\n\t\n\tgetCountries(): AutocompleteItem[] {\n\t\tif (this.enableFlagIcons) {\n\t\t\treturn this._countries.map((country) => {\n\t\t\t\treturn {\n\t\t\t\t\t...country,\n\t\t\t\t\ticonClass: `fi fi-${country.data.toLowerCase()}`,\n\t\t\t\t}\n\t\t\t})\n\t\t} else {\n\t\t\treturn this._countries;\n\t\t}\n\t}\n\t\n\tprivate _countries: AutocompleteItem[] = [\n\t\t{\n\t\t\t\"text\": \"Afghanistan\",\n\t\t\t\"value\": \"+93\",\n\t\t\t\"data\": \"AF\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Aland Islands\",\n\t\t\t\"value\": \"+358\",\n\t\t\t\"data\": \"AX\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Albania\",\n\t\t\t\"value\": \"+355\",\n\t\t\t\"data\": \"AL\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Algeria\",\n\t\t\t\"value\": \"+213\",\n\t\t\t\"data\": \"DZ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"AmericanSamoa\",\n\t\t\t\"value\": \"+1684\",\n\t\t\t\"data\": \"AS\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Andorra\",\n\t\t\t\"value\": \"+376\",\n\t\t\t\"data\": \"AD\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Angola\",\n\t\t\t\"value\": \"+244\",\n\t\t\t\"data\": \"AO\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Anguilla\",\n\t\t\t\"value\": \"+1264\",\n\t\t\t\"data\": \"AI\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Antarctica\",\n\t\t\t\"value\": \"+672\",\n\t\t\t\"data\": \"AQ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Antigua and Barbuda\",\n\t\t\t\"value\": \"+1268\",\n\t\t\t\"data\": \"AG\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Argentina\",\n\t\t\t\"value\": \"+54\",\n\t\t\t\"data\": \"AR\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Armenia\",\n\t\t\t\"value\": \"+374\",\n\t\t\t\"data\": \"AM\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Aruba\",\n\t\t\t\"value\": \"+297\",\n\t\t\t\"data\": \"AW\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Australia\",\n\t\t\t\"value\": \"+61\",\n\t\t\t\"data\": \"AU\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Austria\",\n\t\t\t\"value\": \"+43\",\n\t\t\t\"data\": \"AT\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Azerbaijan\",\n\t\t\t\"value\": \"+994\",\n\t\t\t\"data\": \"AZ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Bahamas\",\n\t\t\t\"value\": \"+1242\",\n\t\t\t\"data\": \"BS\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Bahrain\",\n\t\t\t\"value\": \"+973\",\n\t\t\t\"data\": \"BH\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Bangladesh\",\n\t\t\t\"value\": \"+880\",\n\t\t\t\"data\": \"BD\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Barbados\",\n\t\t\t\"value\": \"+1246\",\n\t\t\t\"data\": \"BB\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Belarus\",\n\t\t\t\"value\": \"+375\",\n\t\t\t\"data\": \"BY\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Belgium\",\n\t\t\t\"value\": \"+32\",\n\t\t\t\"data\": \"BE\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Belize\",\n\t\t\t\"value\": \"+501\",\n\t\t\t\"data\": \"BZ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Benin\",\n\t\t\t\"value\": \"+229\",\n\t\t\t\"data\": \"BJ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Bermuda\",\n\t\t\t\"value\": \"+1441\",\n\t\t\t\"data\": \"BM\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Bhutan\",\n\t\t\t\"value\": \"+975\",\n\t\t\t\"data\": \"BT\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Bolivia, Plurinational State of\",\n\t\t\t\"value\": \"+591\",\n\t\t\t\"data\": \"BO\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Bosnia and Herzegovina\",\n\t\t\t\"value\": \"+387\",\n\t\t\t\"data\": \"BA\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Botswana\",\n\t\t\t\"value\": \"+267\",\n\t\t\t\"data\": \"BW\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Brazil\",\n\t\t\t\"value\": \"+55\",\n\t\t\t\"data\": \"BR\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"British Indian Ocean Territory\",\n\t\t\t\"value\": \"+246\",\n\t\t\t\"data\": \"IO\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Brunei Darussalam\",\n\t\t\t\"value\": \"+673\",\n\t\t\t\"data\": \"BN\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Bulgaria\",\n\t\t\t\"value\": \"+359\",\n\t\t\t\"data\": \"BG\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Burkina Faso\",\n\t\t\t\"value\": \"+226\",\n\t\t\t\"data\": \"BF\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Burundi\",\n\t\t\t\"value\": \"+257\",\n\t\t\t\"data\": \"BI\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Cambodia\",\n\t\t\t\"value\": \"+855\",\n\t\t\t\"data\": \"KH\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Cameroon\",\n\t\t\t\"value\": \"+237\",\n\t\t\t\"data\": \"CM\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Canada\",\n\t\t\t\"value\": \"+1\",\n\t\t\t\"data\": \"CA\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Cape Verde\",\n\t\t\t\"value\": \"+238\",\n\t\t\t\"data\": \"CV\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Cayman Islands\",\n\t\t\t\"value\": \"+ 345\",\n\t\t\t\"data\": \"KY\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Central African Republic\",\n\t\t\t\"value\": \"+236\",\n\t\t\t\"data\": \"CF\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Chad\",\n\t\t\t\"value\": \"+235\",\n\t\t\t\"data\": \"TD\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Chile\",\n\t\t\t\"value\": \"+56\",\n\t\t\t\"data\": \"CL\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"China\",\n\t\t\t\"value\": \"+86\",\n\t\t\t\"data\": \"CN\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Christmas Island\",\n\t\t\t\"value\": \"+61\",\n\t\t\t\"data\": \"CX\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Cocos (Keeling) Islands\",\n\t\t\t\"value\": \"+61\",\n\t\t\t\"data\": \"CC\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Colombia\",\n\t\t\t\"value\": \"+57\",\n\t\t\t\"data\": \"CO\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Comoros\",\n\t\t\t\"value\": \"+269\",\n\t\t\t\"data\": \"KM\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Congo\",\n\t\t\t\"value\": \"+242\",\n\t\t\t\"data\": \"CG\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Congo, The Democratic Republic of the Congo\",\n\t\t\t\"value\": \"+243\",\n\t\t\t\"data\": \"CD\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Cook Islands\",\n\t\t\t\"value\": \"+682\",\n\t\t\t\"data\": \"CK\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Costa Rica\",\n\t\t\t\"value\": \"+506\",\n\t\t\t\"data\": \"CR\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Cote d'Ivoire\",\n\t\t\t\"value\": \"+225\",\n\t\t\t\"data\": \"CI\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Croatia\",\n\t\t\t\"value\": \"+385\",\n\t\t\t\"data\": \"HR\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Cuba\",\n\t\t\t\"value\": \"+53\",\n\t\t\t\"data\": \"CU\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Cyprus\",\n\t\t\t\"value\": \"+357\",\n\t\t\t\"data\": \"CY\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Czech Republic\",\n\t\t\t\"value\": \"+420\",\n\t\t\t\"data\": \"CZ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Denmark\",\n\t\t\t\"value\": \"+45\",\n\t\t\t\"data\": \"DK\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Djibouti\",\n\t\t\t\"value\": \"+253\",\n\t\t\t\"data\": \"DJ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Dominica\",\n\t\t\t\"value\": \"+1767\",\n\t\t\t\"data\": \"DM\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Dominican Republic\",\n\t\t\t\"value\": \"+1849\",\n\t\t\t\"data\": \"DO\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Ecuador\",\n\t\t\t\"value\": \"+593\",\n\t\t\t\"data\": \"EC\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Egypt\",\n\t\t\t\"value\": \"+20\",\n\t\t\t\"data\": \"EG\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"El Salvador\",\n\t\t\t\"value\": \"+503\",\n\t\t\t\"data\": \"SV\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Equatorial Guinea\",\n\t\t\t\"value\": \"+240\",\n\t\t\t\"data\": \"GQ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Eritrea\",\n\t\t\t\"value\": \"+291\",\n\t\t\t\"data\": \"ER\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Estonia\",\n\t\t\t\"value\": \"+372\",\n\t\t\t\"data\": \"EE\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Ethiopia\",\n\t\t\t\"value\": \"+251\",\n\t\t\t\"data\": \"ET\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Falkland Islands (Malvinas)\",\n\t\t\t\"value\": \"+500\",\n\t\t\t\"data\": \"FK\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Faroe Islands\",\n\t\t\t\"value\": \"+298\",\n\t\t\t\"data\": \"FO\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Fiji\",\n\t\t\t\"value\": \"+679\",\n\t\t\t\"data\": \"FJ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Finland\",\n\t\t\t\"value\": \"+358\",\n\t\t\t\"data\": \"FI\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"France\",\n\t\t\t\"value\": \"+33\",\n\t\t\t\"data\": \"FR\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"French Guiana\",\n\t\t\t\"value\": \"+594\",\n\t\t\t\"data\": \"GF\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"French Polynesia\",\n\t\t\t\"value\": \"+689\",\n\t\t\t\"data\": \"PF\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Gabon\",\n\t\t\t\"value\": \"+241\",\n\t\t\t\"data\": \"GA\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Gambia\",\n\t\t\t\"value\": \"+220\",\n\t\t\t\"data\": \"GM\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Georgia\",\n\t\t\t\"value\": \"+995\",\n\t\t\t\"data\": \"GE\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Germany\",\n\t\t\t\"value\": \"+49\",\n\t\t\t\"data\": \"DE\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Ghana\",\n\t\t\t\"value\": \"+233\",\n\t\t\t\"data\": \"GH\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Gibraltar\",\n\t\t\t\"value\": \"+350\",\n\t\t\t\"data\": \"GI\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Greece\",\n\t\t\t\"value\": \"+30\",\n\t\t\t\"data\": \"GR\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Greenland\",\n\t\t\t\"value\": \"+299\",\n\t\t\t\"data\": \"GL\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Grenada\",\n\t\t\t\"value\": \"+1473\",\n\t\t\t\"data\": \"GD\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Guadeloupe\",\n\t\t\t\"value\": \"+590\",\n\t\t\t\"data\": \"GP\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Guam\",\n\t\t\t\"value\": \"+1671\",\n\t\t\t\"data\": \"GU\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Guatemala\",\n\t\t\t\"value\": \"+502\",\n\t\t\t\"data\": \"GT\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Guernsey\",\n\t\t\t\"value\": \"+44\",\n\t\t\t\"data\": \"GG\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Guinea\",\n\t\t\t\"value\": \"+224\",\n\t\t\t\"data\": \"GN\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Guinea-Bissau\",\n\t\t\t\"value\": \"+245\",\n\t\t\t\"data\": \"GW\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Guyana\",\n\t\t\t\"value\": \"+595\",\n\t\t\t\"data\": \"GY\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Haiti\",\n\t\t\t\"value\": \"+509\",\n\t\t\t\"data\": \"HT\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Holy See (Vatican City State)\",\n\t\t\t\"value\": \"+379\",\n\t\t\t\"data\": \"VA\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Honduras\",\n\t\t\t\"value\": \"+504\",\n\t\t\t\"data\": \"HN\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Hong Kong\",\n\t\t\t\"value\": \"+852\",\n\t\t\t\"data\": \"HK\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Hungary\",\n\t\t\t\"value\": \"+36\",\n\t\t\t\"data\": \"HU\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Iceland\",\n\t\t\t\"value\": \"+354\",\n\t\t\t\"data\": \"IS\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"India\",\n\t\t\t\"value\": \"+91\",\n\t\t\t\"data\": \"IN\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Indonesia\",\n\t\t\t\"value\": \"+62\",\n\t\t\t\"data\": \"ID\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Iran, Islamic Republic of Persian Gulf\",\n\t\t\t\"value\": \"+98\",\n\t\t\t\"data\": \"IR\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Iraq\",\n\t\t\t\"value\": \"+964\",\n\t\t\t\"data\": \"IQ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Ireland\",\n\t\t\t\"value\": \"+353\",\n\t\t\t\"data\": \"IE\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Isle of Man\",\n\t\t\t\"value\": \"+44\",\n\t\t\t\"data\": \"IM\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Israel\",\n\t\t\t\"value\": \"+972\",\n\t\t\t\"data\": \"IL\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Italy\",\n\t\t\t\"value\": \"+39\",\n\t\t\t\"data\": \"IT\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Jamaica\",\n\t\t\t\"value\": \"+1876\",\n\t\t\t\"data\": \"JM\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Japan\",\n\t\t\t\"value\": \"+81\",\n\t\t\t\"data\": \"JP\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Jersey\",\n\t\t\t\"value\": \"+44\",\n\t\t\t\"data\": \"JE\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Jordan\",\n\t\t\t\"value\": \"+962\",\n\t\t\t\"data\": \"JO\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Kazakhstan\",\n\t\t\t\"value\": \"+77\",\n\t\t\t\"data\": \"KZ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Kenya\",\n\t\t\t\"value\": \"+254\",\n\t\t\t\"data\": \"KE\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Kiribati\",\n\t\t\t\"value\": \"+686\",\n\t\t\t\"data\": \"KI\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Korea, Democratic People's Republic of Korea\",\n\t\t\t\"value\": \"+850\",\n\t\t\t\"data\": \"KP\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Korea, Republic of South Korea\",\n\t\t\t\"value\": \"+82\",\n\t\t\t\"data\": \"KR\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Kuwait\",\n\t\t\t\"value\": \"+965\",\n\t\t\t\"data\": \"KW\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Kyrgyzstan\",\n\t\t\t\"value\": \"+996\",\n\t\t\t\"data\": \"KG\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Laos\",\n\t\t\t\"value\": \"+856\",\n\t\t\t\"data\": \"LA\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Latvia\",\n\t\t\t\"value\": \"+371\",\n\t\t\t\"data\": \"LV\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Lebanon\",\n\t\t\t\"value\": \"+961\",\n\t\t\t\"data\": \"LB\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Lesotho\",\n\t\t\t\"value\": \"+266\",\n\t\t\t\"data\": \"LS\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Liberia\",\n\t\t\t\"value\": \"+231\",\n\t\t\t\"data\": \"LR\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Libyan Arab Jamahiriya\",\n\t\t\t\"value\": \"+218\",\n\t\t\t\"data\": \"LY\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Liechtenstein\",\n\t\t\t\"value\": \"+423\",\n\t\t\t\"data\": \"LI\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Lithuania\",\n\t\t\t\"value\": \"+370\",\n\t\t\t\"data\": \"LT\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Luxembourg\",\n\t\t\t\"value\": \"+352\",\n\t\t\t\"data\": \"LU\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Macao\",\n\t\t\t\"value\": \"+853\",\n\t\t\t\"data\": \"MO\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Macedonia\",\n\t\t\t\"value\": \"+389\",\n\t\t\t\"data\": \"MK\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Madagascar\",\n\t\t\t\"value\": \"+261\",\n\t\t\t\"data\": \"MG\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Malawi\",\n\t\t\t\"value\": \"+265\",\n\t\t\t\"data\": \"MW\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Malaysia\",\n\t\t\t\"value\": \"+60\",\n\t\t\t\"data\": \"MY\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Maldives\",\n\t\t\t\"value\": \"+960\",\n\t\t\t\"data\": \"MV\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Mali\",\n\t\t\t\"value\": \"+223\",\n\t\t\t\"data\": \"ML\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Malta\",\n\t\t\t\"value\": \"+356\",\n\t\t\t\"data\": \"MT\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Marshall Islands\",\n\t\t\t\"value\": \"+692\",\n\t\t\t\"data\": \"MH\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Martinique\",\n\t\t\t\"value\": \"+596\",\n\t\t\t\"data\": \"MQ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Mauritania\",\n\t\t\t\"value\": \"+222\",\n\t\t\t\"data\": \"MR\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Mauritius\",\n\t\t\t\"value\": \"+230\",\n\t\t\t\"data\": \"MU\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Mayotte\",\n\t\t\t\"value\": \"+262\",\n\t\t\t\"data\": \"YT\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Mexico\",\n\t\t\t\"value\": \"+52\",\n\t\t\t\"data\": \"MX\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Micronesia, Federated States of Micronesia\",\n\t\t\t\"value\": \"+691\",\n\t\t\t\"data\": \"FM\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Moldova\",\n\t\t\t\"value\": \"+373\",\n\t\t\t\"data\": \"MD\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Monaco\",\n\t\t\t\"value\": \"+377\",\n\t\t\t\"data\": \"MC\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Mongolia\",\n\t\t\t\"value\": \"+976\",\n\t\t\t\"data\": \"MN\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Montenegro\",\n\t\t\t\"value\": \"+382\",\n\t\t\t\"data\": \"ME\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Montserrat\",\n\t\t\t\"value\": \"+1664\",\n\t\t\t\"data\": \"MS\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Morocco\",\n\t\t\t\"value\": \"+212\",\n\t\t\t\"data\": \"MA\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Mozambique\",\n\t\t\t\"value\": \"+258\",\n\t\t\t\"data\": \"MZ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Myanmar\",\n\t\t\t\"value\": \"+95\",\n\t\t\t\"data\": \"MM\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Namibia\",\n\t\t\t\"value\": \"+264\",\n\t\t\t\"data\": \"NA\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Nauru\",\n\t\t\t\"value\": \"+674\",\n\t\t\t\"data\": \"NR\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Nepal\",\n\t\t\t\"value\": \"+977\",\n\t\t\t\"data\": \"NP\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Netherlands\",\n\t\t\t\"value\": \"+31\",\n\t\t\t\"data\": \"NL\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Netherlands Antilles\",\n\t\t\t\"value\": \"+599\",\n\t\t\t\"data\": \"AN\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"New Caledonia\",\n\t\t\t\"value\": \"+687\",\n\t\t\t\"data\": \"NC\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"New Zealand\",\n\t\t\t\"value\": \"+64\",\n\t\t\t\"data\": \"NZ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Nicaragua\",\n\t\t\t\"value\": \"+505\",\n\t\t\t\"data\": \"NI\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Niger\",\n\t\t\t\"value\": \"+227\",\n\t\t\t\"data\": \"NE\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Nigeria\",\n\t\t\t\"value\": \"+234\",\n\t\t\t\"data\": \"NG\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Niue\",\n\t\t\t\"value\": \"+683\",\n\t\t\t\"data\": \"NU\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Norfolk Island\",\n\t\t\t\"value\": \"+672\",\n\t\t\t\"data\": \"NF\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Northern Mariana Islands\",\n\t\t\t\"value\": \"+1670\",\n\t\t\t\"data\": \"MP\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Norway\",\n\t\t\t\"value\": \"+47\",\n\t\t\t\"data\": \"NO\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Oman\",\n\t\t\t\"value\": \"+968\",\n\t\t\t\"data\": \"OM\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Pakistan\",\n\t\t\t\"value\": \"+92\",\n\t\t\t\"data\": \"PK\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Palau\",\n\t\t\t\"value\": \"+680\",\n\t\t\t\"data\": \"PW\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Palestinian Territory, Occupied\",\n\t\t\t\"value\": \"+970\",\n\t\t\t\"data\": \"PS\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Panama\",\n\t\t\t\"value\": \"+507\",\n\t\t\t\"data\": \"PA\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Papua New Guinea\",\n\t\t\t\"value\": \"+675\",\n\t\t\t\"data\": \"PG\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Paraguay\",\n\t\t\t\"value\": \"+595\",\n\t\t\t\"data\": \"PY\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Peru\",\n\t\t\t\"value\": \"+51\",\n\t\t\t\"data\": \"PE\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Philippines\",\n\t\t\t\"value\": \"+63\",\n\t\t\t\"data\": \"PH\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Pitcairn\",\n\t\t\t\"value\": \"+872\",\n\t\t\t\"data\": \"PN\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Poland\",\n\t\t\t\"value\": \"+48\",\n\t\t\t\"data\": \"PL\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Portugal\",\n\t\t\t\"value\": \"+351\",\n\t\t\t\"data\": \"PT\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Puerto Rico\",\n\t\t\t\"value\": \"+1939\",\n\t\t\t\"data\": \"PR\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Qatar\",\n\t\t\t\"value\": \"+974\",\n\t\t\t\"data\": \"QA\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Romania\",\n\t\t\t\"value\": \"+40\",\n\t\t\t\"data\": \"RO\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Russia\",\n\t\t\t\"value\": \"+7\",\n\t\t\t\"data\": \"RU\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Rwanda\",\n\t\t\t\"value\": \"+250\",\n\t\t\t\"data\": \"RW\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Reunion\",\n\t\t\t\"value\": \"+262\",\n\t\t\t\"data\": \"RE\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Saint Barthelemy\",\n\t\t\t\"value\": \"+590\",\n\t\t\t\"data\": \"BL\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Saint Helena, Ascension and Tristan Da Cunha\",\n\t\t\t\"value\": \"+290\",\n\t\t\t\"data\": \"SH\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Saint Kitts and Nevis\",\n\t\t\t\"value\": \"+1869\",\n\t\t\t\"data\": \"KN\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Saint Lucia\",\n\t\t\t\"value\": \"+1758\",\n\t\t\t\"data\": \"LC\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Saint Martin\",\n\t\t\t\"value\": \"+590\",\n\t\t\t\"data\": \"MF\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Saint Pierre and Miquelon\",\n\t\t\t\"value\": \"+508\",\n\t\t\t\"data\": \"PM\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Saint Vincent and the Grenadines\",\n\t\t\t\"value\": \"+1784\",\n\t\t\t\"data\": \"VC\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Samoa\",\n\t\t\t\"value\": \"+685\",\n\t\t\t\"data\": \"WS\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"San Marino\",\n\t\t\t\"value\": \"+378\",\n\t\t\t\"data\": \"SM\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Sao Tome and Principe\",\n\t\t\t\"value\": \"+239\",\n\t\t\t\"data\": \"ST\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Saudi Arabia\",\n\t\t\t\"value\": \"+966\",\n\t\t\t\"data\": \"SA\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Senegal\",\n\t\t\t\"value\": \"+221\",\n\t\t\t\"data\": \"SN\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Serbia\",\n\t\t\t\"value\": \"+381\",\n\t\t\t\"data\": \"RS\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Seychelles\",\n\t\t\t\"value\": \"+248\",\n\t\t\t\"data\": \"SC\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Sierra Leone\",\n\t\t\t\"value\": \"+232\",\n\t\t\t\"data\": \"SL\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Singapore\",\n\t\t\t\"value\": \"+65\",\n\t\t\t\"data\": \"SG\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Slovakia\",\n\t\t\t\"value\": \"+421\",\n\t\t\t\"data\": \"SK\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Slovenia\",\n\t\t\t\"value\": \"+386\",\n\t\t\t\"data\": \"SI\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Solomon Islands\",\n\t\t\t\"value\": \"+677\",\n\t\t\t\"data\": \"SB\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Somalia\",\n\t\t\t\"value\": \"+252\",\n\t\t\t\"data\": \"SO\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"South Africa\",\n\t\t\t\"value\": \"+27\",\n\t\t\t\"data\": \"ZA\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"South Sudan\",\n\t\t\t\"value\": \"+211\",\n\t\t\t\"data\": \"SS\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"South Georgia and the South Sandwich Islands\",\n\t\t\t\"value\": \"+500\",\n\t\t\t\"data\": \"GS\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Spain\",\n\t\t\t\"value\": \"+34\",\n\t\t\t\"data\": \"ES\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Sri Lanka\",\n\t\t\t\"value\": \"+94\",\n\t\t\t\"data\": \"LK\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Sudan\",\n\t\t\t\"value\": \"+249\",\n\t\t\t\"data\": \"SD\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Suriname\",\n\t\t\t\"value\": \"+597\",\n\t\t\t\"data\": \"SR\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Svalbard and Jan Mayen\",\n\t\t\t\"value\": \"+47\",\n\t\t\t\"data\": \"SJ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Swaziland\",\n\t\t\t\"value\": \"+268\",\n\t\t\t\"data\": \"SZ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Sweden\",\n\t\t\t\"value\": \"+46\",\n\t\t\t\"data\": \"SE\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Switzerland\",\n\t\t\t\"value\": \"+41\",\n\t\t\t\"data\": \"CH\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Syrian Arab Republic\",\n\t\t\t\"value\": \"+963\",\n\t\t\t\"data\": \"SY\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Taiwan\",\n\t\t\t\"value\": \"+886\",\n\t\t\t\"data\": \"TW\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Tajikistan\",\n\t\t\t\"value\": \"+992\",\n\t\t\t\"data\": \"TJ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Tanzania, United Republic of Tanzania\",\n\t\t\t\"value\": \"+255\",\n\t\t\t\"data\": \"TZ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Thailand\",\n\t\t\t\"value\": \"+66\",\n\t\t\t\"data\": \"TH\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Timor-Leste\",\n\t\t\t\"value\": \"+670\",\n\t\t\t\"data\": \"TL\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Togo\",\n\t\t\t\"value\": \"+228\",\n\t\t\t\"data\": \"TG\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Tokelau\",\n\t\t\t\"value\": \"+690\",\n\t\t\t\"data\": \"TK\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Tonga\",\n\t\t\t\"value\": \"+676\",\n\t\t\t\"data\": \"TO\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Trinidad and Tobago\",\n\t\t\t\"value\": \"+1868\",\n\t\t\t\"data\": \"TT\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Tunisia\",\n\t\t\t\"value\": \"+216\",\n\t\t\t\"data\": \"TN\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Turkey\",\n\t\t\t\"value\": \"+90\",\n\t\t\t\"data\": \"TR\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Turkmenistan\",\n\t\t\t\"value\": \"+993\",\n\t\t\t\"data\": \"TM\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Turks and Caicos Islands\",\n\t\t\t\"value\": \"+1649\",\n\t\t\t\"data\": \"TC\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Tuvalu\",\n\t\t\t\"value\": \"+688\",\n\t\t\t\"data\": \"TV\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Uganda\",\n\t\t\t\"value\": \"+256\",\n\t\t\t\"data\": \"UG\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Ukraine\",\n\t\t\t\"value\": \"+380\",\n\t\t\t\"data\": \"UA\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"United Arab Emirates\",\n\t\t\t\"value\": \"+971\",\n\t\t\t\"data\": \"AE\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"United Kingdom\",\n\t\t\t\"value\": \"+44\",\n\t\t\t\"data\": \"GB\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"United States\",\n\t\t\t\"value\": \"+1\",\n\t\t\t\"data\": \"US\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Uruguay\",\n\t\t\t\"value\": \"+598\",\n\t\t\t\"data\": \"UY\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Uzbekistan\",\n\t\t\t\"value\": \"+998\",\n\t\t\t\"data\": \"UZ\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Vanuatu\",\n\t\t\t\"value\": \"+678\",\n\t\t\t\"data\": \"VU\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Venezuela, Bolivarian Republic of Venezuela\",\n\t\t\t\"value\": \"+58\",\n\t\t\t\"data\": \"VE\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Vietnam\",\n\t\t\t\"value\": \"+84\",\n\t\t\t\"data\": \"VN\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Virgin Islands, British\",\n\t\t\t\"value\": \"+1284\",\n\t\t\t\"data\": \"VG\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Virgin Islands, U.S.\",\n\t\t\t\"value\": \"+1340\",\n\t\t\t\"data\": \"VI\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Wallis and Futuna\",\n\t\t\t\"value\": \"+681\",\n\t\t\t\"data\": \"WF\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Yemen\",\n\t\t\t\"value\": \"+967\",\n\t\t\t\"data\": \"YE\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Zambia\",\n\t\t\t\"value\": \"+260\",\n\t\t\t\"data\": \"ZM\"\n\t\t},\n\t\t{\n\t\t\t\"text\": \"Zimbabwe\",\n\t\t\t\"value\": \"+263\",\n\t\t\t\"data\": \"ZW\"\n\t\t}\n\t]\n\n}\n","import { booleanAttribute, Component, Input, Optional, Renderer2, Self } from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { AbstractAutocompleteComponent } from \"./abstract-autocomplete.component\";\nimport { AutocompleteItem } from \"./autocomplete-model\";\n\n@Component({\n selector: 'rlb-autocomplete-country',\n template: `\n <ng-content select=\"[before]\"></ng-content>\n <div class=\"input-group has-validation\">\n <input\n #field\n [id]=\"id\"\n class=\"form-control\"\n type=\"text\"\n\t\t\t\t[attr.autocomplete]=\"'off'\"\n\t\t\t\t[attr.disabled]=\"disabled ? true : undefined\"\n [attr.readonly]=\"readonly ? true : undefined\"\n [attr.placeholder]=\"placeholder\"\n [class.form-control-lg]=\"size === 'large'\"\n [class.form-control-sm]=\"size === 'small'\"\n (blur)=\"touch()\"\n\t\t\t\t[ngClass]=\"{\n \t\t\t\t'is-invalid': control?.touched && control?.invalid && enableValidation,\n \t\t\t\t'is-valid': control?.touched && control?.valid && enableValidation\n\t\t\t\t}\"\n (input)=\"update($event.target)\"\n />\n\t\t\t<rlb-input-validation *ngIf=\"errors && showError\" [errors]=\"errors\"/>\n\t\t</div>\n\t\t<rlb-progress\n\t\t\t*ngIf=\"loading || acLoading\"\n\t\t\t[height]=\"2\"\n\t\t\t[infinite]=\"loading || acLoading\"\n\t\t\tcolor=\"primary\"\n\t\t\tclass=\"w-100\"\n\t\t/>\n <ng-content select=\"[after]\"></ng-content>\n <div\n #autocomplete\n [id]=\"id+'-ac'\"\n class=\"dropdown-menu overflow-y-auto w-100 position-relative\"\n aria-labelledby=\"dropdownMenu\"\n [style.max-height.px]=\"maxHeight\">\n </div>\n `,\n standalone: false\n})\nexport class AutocompleteCountryComponent\n\textends AbstractAutocompleteComponent\n implements ControlValueAccessor {\n\n\t@Input({ transform: booleanAttribute, alias: 'enable-flag-icons' }) enableFlagIcons?: boolean = false;\n @Input({ transform: booleanAttribute, alias: 'enable-validation' }) enableValidation? = false;\n\n\n constructor(\n\t\tidService: UniqueIdService,\n\t\trenderer: Renderer2,\n\t\t@Self() @Optional() override control?: NgControl,\n\t) {\n\t\tsuper(idService, renderer, control);\n\t}\n\n protected override getSuggestions(query: string) {\n\t\tthis.clearDropdown();\n\t\tthis.activeIndex = -1;\n\n if (query && query.length > 0) {\n\t\t\tthis.openDropdown();\n\t\t\tconst suggestions = this.getCountries().filter(o => {\n\t\t\t\tconst _c = o as { text: string, value: string; };\n\t\t\t\treturn _c.text.toLowerCase().startsWith(query.toLowerCase());\n\t\t\t});\n\t\t\tthis.renderAc(suggestions);\n\t\t} else {\n\t\t\tthis.closeDropdown();\n\t\t}\n\t}\n\n protected override getItemText(data?: AutocompleteItem | string): string {\n\t\tconst h = this.getCountries().find(c => {\n\t\t\tif (typeof c === 'object') {\n\t\t\t\tconst _c = c as { text: string, value: string; };\n\t\t\t\treturn _c.value === (typeof data === 'object' ? data?.value : data) ? _c.text : '';\n\t\t\t}\n\t\t\treturn false;\n\t\t});\n\t\treturn (typeof h === 'object' ? h.text : '');\n\t}\n\n getCountries(): AutocompleteItem[] {\n\t\tif (this.enableFlagIcons) {\n\t\t\treturn this._countries.map((country) => {\n\t\t\t\treturn {\n\t\t\t\t\t...country,\n\t\t\t\t\ticonClass: `fi fi-${country.value.toLowerCase()}`,\n\t\t\t\t}\n\t\t\t})\n\t\t} else {\n\t\t\treturn this._countries;\n\t\t}\n\t}\n\n private _countries: AutocompleteItem[] = [\n { \"text\": \"Afghanistan\", \"value\": \"AF\" },\n { \"text\": \"Albania\", \"value\": \"AL\" },\n { \"text\": \"Algeria\", \"value\": \"DZ\" },\n { \"text\": \"Andorra\", \"value\": \"AD\" },\n { \"text\": \"Angola\", \"value\": \"AO\" },\n { \"text\": \"Antigua and Barbuda\", \"value\": \"AG\" },\n { \"text\": \"Argentina\", \"value\": \"AR\" },\n { \"text\": \"Armenia\", \"value\": \"AM\" },\n { \"text\": \"Aruba\", \"value\": \"AW\" },\n { \"text\": \"Australia\", \"value\": \"AU\" },\n { \"text\": \"Austria\", \"value\": \"AT\" },\n { \"text\": \"Azerbaijan\", \"value\": \"AZ\" },\n { \"text\": \"Bahamas\", \"value\": \"BS\" },\n { \"text\": \"Bahrain\", \"value\": \"BH\" },\n { \"text\": \"Bangladesh\", \"value\": \"BD\" },\n { \"text\": \"Barbados\", \"value\": \"BB\" },\n { \"text\": \"Belarus\", \"value\": \"BY\" },\n { \"text\": \"Belgium\", \"value\": \"BE\" },\n { \"text\": \"Belize\", \"value\": \"BZ\" },\n { \"text\": \"Benin\", \"value\": \"BJ\" },\n { \"text\": \"Bhutan\", \"value\": \"BT\" },\n { \"text\": \"Bolivia\", \"value\": \"BO\" },\n { \"text\": \"Bosnia and Herzegovina\", \"value\": \"BA\" },\n { \"text\": \"Botswana\", \"value\": \"BW\" },\n { \"text\": \"Brazil\", \"value\": \"BR\" },\n { \"text\": \"Brunei\", \"value\": \"BN\" },\n { \"text\": \"Bulgaria\", \"value\": \"BG\" },\n { \"text\": \"Burkina Faso\", \"value\": \"BF\" },\n { \"text\": \"Burundi\", \"value\": \"BI\" },\n { \"text\": \"Cabo Verde\", \"value\": \"CV\" },\n { \"text\": \"Cambodia\", \"value\": \"KH\" },\n { \"text\": \"Cameroon\", \"value\": \"CM\" },\n { \"text\": \"Canada\", \"value\": \"CA\" },\n { \"text\": \"Central African Republic\", \"value\": \"CF\" },\n { \"text\": \"Chad\", \"value\": \"TD\" },\n { \"text\": \"Chile\", \"value\": \"CL\" },\n { \"text\": \"China\", \"value\": \"CN\" },\n { \"text\": \"Colombia\", \"value\": \"CO\" },\n { \"text\": \"Comoros\", \"value\": \"KM\" },\n { \"text\": \"Congo (Congo-Brazzaville)\", \"value\": \"CG\" },\n { \"text\": \"Costa Rica\", \"value\": \"CR\" },\n { \"text\": \"Croatia\", \"value\": \"HR\" },\n { \"text\": \"Cuba\", \"value\": \"CU\" },\n { \"text\": \"Cyprus\", \"value\": \"CY\" },\n { \"text\": \"Czechia (Czech Republic)\", \"value\": \"CZ\" },\n { \"text\": \"Republic of Congo\", \"value\": \"CD\" },\n { \"text\": \"Denmark\", \"value\": \"DK\" },\n { \"text\": \"Djibouti\", \"value\": \"DJ\" },\n { \"text\": \"Dominica\", \"value\": \"DM\" },\n { \"text\": \"Dominican Republic\", \"value\": \"DO\" },\n { \"text\": \"Ecuador\", \"value\": \"EC\" },\n { \"text\": \"Egypt\", \"value\": \"EG\" },\n { \"text\": \"El Salvador\", \"value\": \"SV\" },\n { \"text\": \"Equatorial Guinea\", \"value\": \"GQ\" },\n { \"text\": \"Eritrea\", \"value\": \"ER\" },\n { \"text\": \"Estonia\", \"value\": \"EE\" },\n { \"text\": \"Eswatini (\\\"Swaziland\\\")\", \"value\": \"SZ\" },\n { \"text\": \"Ethiopia\", \"value\": \"ET\" },\n { \"text\": \"Fiji\", \"value\": \"FJ\" },\n { \"text\": \"Finland\", \"value\": \"FI\" },\n { \"text\": \"France\", \"value\": \"FR\" },\n { \"text\": \"Gabon\", \"value\": \"GA\" },\n { \"text\": \"Gambia\", \"value\": \"GM\" },\n { \"text\": \"Georgia\", \"value\": \"GE\" },\n { \"text\": \"Germany\", \"value\": \"DE\" },\n { \"text\": \"Ghana\", \"value\": \"GH\" },\n { \"text\": \"Greece\", \"value\": \"GR\" },\n { \"text\": \"Grenada\", \"value\": \"GD\" },\n { \"text\": \"Guatemala\", \"value\": \"GT\" },\n { \"text\": \"Guinea\", \"value\": \"GN\" },\n { \"text\": \"Guinea-Bissau\", \"value\": \"GW\" },\n { \"text\": \"Guyana\", \"value\": \"GY\" },\n { \"text\": \"Haiti\", \"value\": \"HT\" },\n { \"text\": \"Holy See\", \"value\": \"VA\" },\n { \"text\": \"Honduras\", \"value\": \"HN\" },\n { \"text\": \"Hong Kong\", \"value\": \"HK\" },\n { \"text\": \"Hungary\", \"value\": \"HU\" },\n { \"text\": \"Iceland\", \"value\": \"IS\" },\n { \"text\": \"India\", \"value\": \"IN\" },\n { \"text\": \"Indonesia\", \"value\": \"ID\" },\n { \"text\": \"Iran\", \"value\": \"IR\" },\n { \"text\": \"Iraq\", \"value\": \"IQ\" },\n { \"text\": \"Ireland\", \"value\": \"IE\" },\n { \"text\": \"Israel\", \"value\": \"IL\" },\n { \"text\": \"Italy\", \"value\": \"IT\" },\n { \"text\": \"Jamaica\", \"value\": \"JM\" },\n { \"text\": \"Japan\", \"value\": \"JP\" },\n { \"text\": \"Jordan\", \"value\": \"JO\" },\n { \"text\": \"Kazakhstan\", \"value\": \"KZ\" },\n { \"text\": \"Kenya\", \"value\": \"KE\" },\n { \"text\": \"Kiribati\", \"value\": \"KI\" },\n { \"text\": \"Kuwait\", \"value\": \"KW\" },\n { \"text\": \"Kyrgyzstan\", \"value\": \"KG\" },\n { \"text\": \"Laos\", \"value\": \"LA\" },\n { \"text\": \"Latvia\", \"value\": \"LV\" },\n { \"text\": \"Lebanon\", \"value\": \"LB\" },\n { \"text\": \"Lesotho\", \"value\": \"LS\" },\n { \"text\": \"Liberia\", \"value\": \"LR\" },\n { \"text\": \"Libya\", \"value\": \"LY\" },\n { \"text\": \"Liechtenstein\", \"value\": \"LI\" },\n { \"text\": \"Lithuania\", \"value\": \"LT\" },\n { \"text\": \"Luxembourg\", \"value\": \"LU\" },\n { \"text\": \"Madagascar\", \"value\": \"MG\" },\n { \"text\": \"Malawi\", \"value\": \"MW\" },\n { \"text\": \"Malaysia\", \"value\": \"MY\" },\n { \"text\": \"Maldives\", \"value\": \"MV\" },\n { \"text\": \"Mali\", \"value\": \"ML\" },\n { \"text\": \"Malta\", \"value\": \"MT\" },\n { \"text\": \"Marshall Islands\", \"value\": \"MH\" },\n { \"text\": \"Mauritania\", \"value\": \"MR\" },\n { \"text\": \"Mauritius\", \"value\": \"MU\" },\n { \"text\": \"Mexico\", \"value\": \"MX\" },\n { \"text\": \"Micronesia\", \"value\": \"FM\" },\n { \"text\": \"Moldova\", \"value\": \"MD\" },\n { \"text\": \"Monaco\", \"value\": \"MC\" },\n { \"text\": \"Mongolia\", \"value\": \"MN\" },\n { \"text\": \"Montenegro\", \"value\": \"ME\" },\n { \"text\": \"Morocco\", \"value\": \"MA\" },\n { \"text\": \"Mozambique\", \"value\": \"MZ\" },\n { \"text\": \"Myanmar (Burma)\", \"value\": \"MM\" },\n { \"text\": \"Namibia\", \"value\": \"NA\" },\n { \"text\": \"Nauru\", \"value\": \"NR\" },\n { \"text\": \"Nepal\", \"value\": \"NP\" },\n { \"text\": \"Netherlands\", \"value\": \"NL\" },\n { \"text\": \"New Zealand\", \"value\": \"NZ\" },\n { \"text\": \"Nicaragua\", \"value\": \"NI\" },\n { \"text\": \"Niger\", \"value\": \"NE\" },\n { \"text\": \"Nigeria\", \"value\": \"NG\" },\n { \"text\": \"North Korea\", \"value\": \"KP\" },\n { \"text\": \"North Macedonia\", \"value\": \"MK\" },\n { \"text\": \"Norway\", \"value\": \"NO\" },\n { \"text\": \"Oman\", \"value\": \"OM\" },\n { \"text\": \"Pakistan\", \"value\": \"PK\" },\n { \"text\": \"Palau\", \"value\": \"PW\" },\n { \"text\": \"Palestine State\", \"value\": \"PS\" },\n { \"text\": \"Panama\", \"value\": \"PA\" },\n { \"text\": \"Papua New Guinea\", \"value\": \"PG\" },\n { \"text\": \"Paraguay\", \"value\": \"PY\" },\n { \"text\": \"Peru\", \"value\": \"PE\" },\n { \"text\": \"Philippines\", \"value\": \"PH\" },\n { \"text\": \"Poland\", \"value\": \"PL\" },\n { \"text\": \"Puerto Rico\", \"value\": \"PR\" },\n { \"text\": \"Portugal\", \"value\": \"PT\" },\n { \"text\": \"Qatar\", \"value\": \"QA\" },\n { \"text\": \"Romania\", \"value\": \"RO\" },\n { \"text\": \"Russia\", \"value\": \"RU\" },\n { \"text\": \"Rwanda\", \"value\": \"RW\" },\n { \"text\": \"St. Kitts and Nevis\", \"value\": \"KN\" },\n { \"text\": \"St. Lucia\", \"value\": \"LC\" },\n { \"text\": \"St. Vincent and Grenadines\", \"value\": \"VC\" },\n { \"text\": \"Samoa\", \"value\": \"WS\" },\n { \"text\": \"San Marino\", \"value\": \"SM\" },\n { \"text\": \"Sao Tome and Principe\", \"value\": \"ST\" },\n { \"text\": \"Saudi Arabia\", \"value\": \"SA\" },\n { \"text\": \"Senegal\", \"value\": \"SN\" },\n { \"text\": \"Serbia\", \"value\": \"RS\" },\n { \"text\": \"Seychelles\", \"value\": \"SC\" },\n { \"text\": \"Sierra Leone\", \"value\": \"SL\" },\n { \"text\": \"Singapore\", \"value\": \"SG\" },\n { \"text\": \"Slovakia\", \"value\": \"SK\" },\n { \"text\": \"Slovenia\", \"value\": \"SI\" },\n { \"text\": \"Solomon Islands\", \"value\": \"SB\" },\n { \"text\": \"Somalia\", \"value\": \"SO\" },\n { \"text\": \"South Africa\", \"value\": \"ZA\" },\n { \"text\": \"South Korea\", \"value\": \"KR\" },\n { \"text\": \"South Sudan\", \"value\": \"SS\" },\n { \"text\": \"Spain\", \"value\": \"ES\" },\n { \"text\": \"Sri Lanka\", \"value\": \"LK\" },\n { \"text\": \"Sudan\", \"value\": \"SD\" },\n { \"text\": \"Suriname\", \"value\": \"SR\" },\n { \"text\": \"Sweden\", \"value\": \"SE\" },\n { \"text\": \"Switzerland\", \"value\": \"CH\" },\n { \"text\": \"Syria\", \"value\": \"SY\" },\n { \"text\": \"Taiwan \", \"value\": \"TW\" },\n { \"text\": \"Tajikistan\", \"value\": \"TJ\" },\n { \"text\": \"Tanzania\", \"value\": \"TZ\" },\n { \"text\": \"Thailand\", \"value\": \"TH\" },\n { \"text\": \"Timor-Leste\", \"value\": \"TL\" },\n { \"text\": \"Togo\", \"value\": \"TG\" },\n { \"text\": \"Tonga\", \"value\": \"TO\" },\n { \"text\": \"Trinidad and Tobago\", \"value\": \"TT\" },\n { \"text\": \"Tunisia\", \"value\": \"TN\" },\n { \"text\": \"Turkey\", \"value\": \"TR\" },\n { \"text\": \"Turkmenistan\", \"value\": \"TM\" },\n { \"text\": \"Tuvalu\", \"value\": \"TV\" },\n { \"text\": \"Uganda\", \"value\": \"UG\" },\n { \"text\": \"Ukraine\", \"value\": \"UA\" },\n { \"text\": \"United Arab Emirates\", \"value\": \"AE\" },\n { \"text\": \"United Kingdom\", \"value\": \"GB\" },\n { \"text\": \"United States of America\", \"value\": \"US\" },\n { \"text\": \"Uruguay\", \"value\": \"UY\" },\n { \"text\": \"Uzbekistan\", \"value\": \"UZ\" },\n { \"text\": \"Vanuatu\", \"value\": \"VU\" },\n { \"text\": \"Venezuela\", \"value\": \"VE\" },\n { \"text\": \"Vietnam\", \"value\": \"VN\" },\n { \"text\": \"Yemen\", \"value\": \"YE\" },\n { \"text\": \"Zambia\", \"value\": \"ZM\" },\n { \"text\": \"Zimbabwe\", \"value\": \"ZW\" }\n ];\n\n}\n","import { booleanAttribute, Component, Input, Optional, Renderer2, Self } from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { DateTz } from '@open-rlb/date-tz';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { AutocompleteItem } from \"./autocomplete-model\";\nimport { AbstractAutocompleteComponent } from \"./abstract-autocomplete.component\";\n\n@Component({\n selector: 'rlb-autocomplete-timezones',\n template: `\n <ng-content select=\"[before]\"></ng-content>\n <div class=\"input-group has-validation\">\n <input\n #field\n [id]=\"id\"\n class=\"form-control\"\n type=\"text\"\n [attr.disabled]=\"disabled ? true : undefined\"\n [attr.readonly]=\"readonly ? true : undefined\"\n [attr.placeholder]=\"placeholder\"\n\t\t\t\t[attr.autocomplete]=\"'off'\"\n\t\t\t\t[class.form-control-lg]=\"size === 'large'\"\n [class.form-control-sm]=\"size === 'small'\"\n (blur)=\"touch()\"\n\t\t\t\t[ngClass]=\"{\n 'is-invalid': control?.touched && control?.invalid,\n 'is-valid': control?.touched && control?.valid\n }\"\n (input)=\"update($event.target)\"\n />\n\t\t\t<rlb-input-validation *ngIf=\"errors && showError\" [errors]=\"errors\"/>\n\t\t</div>\n\t\t<rlb-progress\n\t\t\t*ngIf=\"loading || acLoading\"\n\t\t\t[height]=\"2\"\n\t\t\t[infinite]=\"loading || acLoading\"\n\t\t\tcolor=\"primary\"\n\t\t\tclass=\"w-100\"\n\t\t/>\n <ng-content select=\"[after]\"></ng-content>\n <div\n #autocomplete\n [id]=\"id+'-ac'\"\n class=\"dropdown-menu overflow-y-auto w-100 position-relative\"\n aria-labelledby=\"dropdownMenu\"\n [style.max-height.px]=\"maxHeight\">\n </div>\n `,\n standalone: false\n})\nexport class AutocompleteTimezonesComponent\n\textends AbstractAutocompleteComponent\n implements ControlValueAccessor {\n\n\t@Input({ transform: booleanAttribute, alias: 'enable-flag-icons' }) enableFlagIcons?: boolean = false;\n\n constructor(\n\t\tidService: UniqueIdService,\n\t\trenderer: Renderer2,\n\t\t@Self() @Optional() override control?: NgControl,\n\t) {\n\t\tsuper(idService, renderer, control);\n\t}\n\n protected override getSuggestions(query: string) {\n\t\tthis.clearDropdown();\n\t\tthis.activeIndex = -1;\n\n if (query && query.length > 0) {\n\t\t\tthis.openDropdown();\n const timezones = DateTz.timezones()\n const suggestions = timezones.filter(o => {\n\t\t\t\treturn o.toLowerCase().includes(query.toLowerCase());\n\t\t\t});\n\t\t\tthis.renderAc(suggestions);\n\t\t} else {\n\t\t\tthis.closeDropdown();\n\t\t}\n\t}\n\n protected override getItemText(data?: AutocompleteItem | string): string {\n\t\tif (typeof data === 'object' && data !== null && 'text' in data) {\n\t\t\treturn (data as AutocompleteItem).text || '';\n\t\t} else if (typeof data === 'string') {\n\t\t\treturn data || '';\n\t\t}\n\t\treturn '';\n\t}\n}\n","import {\n booleanAttribute,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n numberAttribute,\n Optional,\n Output,\n Renderer2,\n Self,\n ViewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { lastValueFrom, Observable } from 'rxjs';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { AbstractComponent } from './abstract-field.component';\nimport { AutocompleteFn, AutocompleteItem } from \"./autocomplete-model\";\n\n\n@Component({\n selector: 'rlb-autocomplete',\n template: `\n <ng-content select=\"[before]\"></ng-content>\n <div class=\"input-group has-validation\">\n <input\n #field\n [id]=\"id\"\n class=\"form-control\"\n [type]=\"type\"\n [attr.disabled]=\"disabled ? true : undefined\"\n [attr.readonly]=\"readonly ? true : undefined\"\n [attr.placeholder]=\"placeholder\"\n [class.form-control-lg]=\"size === 'large'\"\n [class.form-control-sm]=\"size === 'small'\"\n [value]=\"getText(value)\"\n (blur)=\"touch()\"\n\t\t\t\t[ngClass]=\"{\n 'is-invalid': control?.touched && control?.invalid && enableValidation,\n 'is-valid': control?.touched && control?.valid && enableValidation\n }\"\n (input)=\"update($event.target)\"\n (keyup.enter)=\"onEnter($event.target)\"\n />\n <rlb-input-validation *ngIf=\"errors && showError && enableValidation\" [errors]=\"errors\"/>\n\t\t</div>\n\t\t<rlb-progress\n\t\t\t*ngIf=\"loading || acLoading\"\n\t\t\t[height]=\"2\"\n\t\t\t[infinite]=\"loading || acLoading\"\n\t\t\tcolor=\"primary\"\n\t\t\tclass=\"w-100\"\n\t\t/>\n <ng-content select=\"[after]\"></ng-content>\n <div\n #autocomplete\n [id]=\"id+'-ac'\"\n class=\"dropdown-menu overflow-y-auto w-100 position-absolute\"\n aria-labelledby=\"dropdownMenu\"\n [style.max-height.px]=\"maxHeight\"\n [style.width]=\"'fit-content !important'\"\n [style.max-width.px]=\"menuMaxWidth\"></div>\n `,\n standalone: false,\n host: {\n style: 'position: relative;',\n }\n})\nexport class AutocompleteComponent\n extends AbstractComponent<AutocompleteItem>\n implements ControlValueAccessor {\n acLoading: boolean = false;\n\tprivate typingTimeout: any;\n\tisOpen = false;\n\n\t@Input({ transform: booleanAttribute, alias: 'disabled' }) disabled? = false;\n @Input({ transform: booleanAttribute, alias: 'readonly' }) readonly? = false;\n @Input({ transform: booleanAttribute, alias: 'loading' }) loading?: boolean = false;\n @Input({ transform: numberAttribute, alias: 'max-height' }) maxHeight?: number = 200;\n @Input({ alias: 'placeholder' }) placeholder?: string = '';\n @Input({ alias: 'autocomplete' }) autocomplete: AutocompleteFn = () => { return []; };\n @Input({ alias: 'type' }) type?: 'text' | 'email' | 'number' | 'password' | 'search' | 'tel' | 'url' | string = 'text';\n @Input() size?: 'small' | 'large' | undefined;\n @Input({ alias: 'chars-to-search', transform: numberAttribute }) charsToSearch: number = 3;\n @Input({ alias: 'menu-max-width', transform: numberAttribute }) menuMaxWidth: number = 400;\n @Input({ alias: 'id', transform: (v: string) => v || '' }) userDefinedId: string = '';\n @Input({ transform: booleanAttribute, alias: 'enable-validation' }) enableValidation? = false;\n\n @ViewChild('field') el!: ElementRef<HTMLInputElement>;\n @ViewChild('autocomplete') dropdown!: ElementRef<HTMLElement>;\n @Output() selected: EventEmitter<AutocompleteItem> = new EventEmitter<AutocompleteItem>();\n\n @HostListener('document:pointerdown', ['$event'])\n\tonDocumentPointerDown(event: PointerEvent) {\n\t\tthis.handleOutsideEvent(event);\n\t}\n\n @HostListener('document:keydown.escape', ['$event'])\n\tonEscape(event: KeyboardEvent) {\n\t\tif (this.isOpen) {\n\t\t\tthis.closeDropdown();\n\t\t\tthis.el?.nativeElement?.blur();\n\t\t}\n\t}\n\n constructor(\n idService: UniqueIdService,\n private readonly renderer: Renderer2,\n\t\tprivate readonly hostRef: ElementRef<HTMLElement>,\n\t\t@Self() @Optional() override control?: NgControl,\n ) {\n super(idService, control);\n }\n\n update(ev: EventTarget | null) {\n if (this.typingTimeout) {\n clearTimeout(this.typingTimeout);\n }\n this.typingTimeout = setTimeout(() => {\n if (!this.disabled) {\n const t = ev as HTMLInputElement;\n this.manageSuggestions(t?.value);\n }\n }, 500);\n }\n\n override onWrite(data: AutocompleteItem): void {\n if (this.el && this.el.nativeElement) {\n if (typeof data === 'string') {\n this.el.nativeElement.value = data;\n } else {\n this.el.nativeElement.value = data?.text;\n }\n }\n }\n\n manageSuggestions(data: string) {\n\t\tthis.clearDropdown();\n\t\tif (data && data.length >= this.charsToSearch) {\n\t\t\tthis.openDropdown();\n\t\t\tconst suggestions = this.autocomplete(data);\n\t\t\tif (suggestions instanceof Promise) {\n\t\t\t\tthis.acLoading = true;\n\t\t\t\tsuggestions.then(s => this.renderAc(s)).finally(() => (this.acLoading = false));\n\t\t\t} else if (suggestions instanceof Observable) {\n\t\t\t\tthis.acLoading = true;\n\t\t\t\tlastValueFrom(suggestions).then(s => this.renderAc(s)).finally(() => (this.acLoading = false));\n\t\t\t} else {\n\t\t\t\tthis.renderAc(suggestions);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.closeDropdown();\n\t\t}\n\t}\n\n renderAc(suggestions: Array<string | AutocompleteItem>) {\n\t\tthis.clearDropdown();\n\t\tif (!suggestions || suggestions.length === 0) {\n\t\t\tconst el = this.renderer.createElement('a');\n\t\t\tthis.renderer.addClass(el, 'dropdown-item');\n\t\t\tthis.renderer.addClass(el, 'disabled');\n\t\t\tthis.renderer.addClass(el, 'text-center');\n\t\t\tthis.renderer.setAttribute(el, 'disabled', 'true');\n\t\t\tthis.renderer.appendChild(el, this.renderer.createText('No suggestions'));\n\t\t\tthis.renderer.appendChild(this.dropdown.nativeElement, el);\n\t\t\treturn;\n\t\t}\n\n for (const suggestion of suggestions) {\n\t\t\tconst itemData: AutocompleteItem = typeof suggestion === 'string'\n\t\t\t\t? { text: suggestion, value: suggestion }\n\t\t\t\t: suggestion;\n\n const el = this.renderer.createElement('a');\n\t\t\tthis.renderer.addClass(el, 'dropdown-item');\n\n if (itemData.iconClass) {\n\t\t\t\tconst icon = this.renderer.createElement('i');\n\n const classes = itemData.iconClass.split(/\\s+/);\n\t\t\t\tfor (const cls of classes) {\n\t\t\t\t\tif (cls) {\n\t\t\t\t\t\t// Angular renderer.addClass() method DOES NOT support expression like this: this.renderer.addClass(icon, 'bi bi-check')\n\t\t\t\t\t\t// it causes silent runtime error\n\t\t\t\t\t\t// Instead we should split it, and add one by one\n\t\t\t\t\t\tthis.renderer.addClass(icon, cls);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.renderer.addClass(icon, 'me-2');\n\t\t\t\tthis.renderer.appendChild(el, icon);\n\t\t\t}\n\n this.renderer.appendChild(el, this.renderer.createText(itemData.text));\n\n this.renderer.listen(el, 'click', (ev: Event) => {\n\t\t\t\tthis.selected.emit(itemData);\n\t\t\t\tthis.setValue(itemData);\n\t\t\t\tthis.closeDropdown();\n\t\t\t\tev.stopPropagation();\n\t\t\t});\n\t\t\tthis.renderer.appendChild(this.dropdown.nativeElement, el);\n\t\t}\n\t}\n\n\n onEnter(ev: EventTarget | null) {\n const t = ev as HTMLInputElement;\n if (!this.disabled && t && t.value) {\n\t\t\tconst item: AutocompleteItem = {\n\t\t\t\ttext: t.value,\n\t\t\t\tvalue: t.value\n\t\t\t};\n\t\t\tthis.setValue(item);\n this.renderer.setStyle(this.dropdown.nativeElement, 'display', 'none');\n }\n }\n\n getText(d: AutocompleteItem) {\n\t\tif (d == null) return '';\n return typeof d === 'string' ? d : d?.text;\n }\n\n private handleOutsideEvent(event: Event) {\n\t\tconst target = event.target as HTMLElement;\n\n const path: EventTarget[] = (event as any).composedPath ? (event as any).composedPath() : [];\n\n const clickedInsideHost = this.hostRef?.nativeElement?.contains(target);\n\t\tconst clickedInsideDropdown = this.dropdown?.nativeElement?.contains ? this.dropdown.nativeElement.contains(target) : false;\n\t\tconst clickedInPath = path.length ? path.some(p => p === this.hostRef.nativeElement || p === this.dropdown.nativeElement) : false;\n\n if (!(clickedInsideHost || clickedInsideDropdown || clickedInPath)) {\n\t\t\tthis.closeDropdown();\n\t\t}\n\t}\n\n openDropdown() {\n\t\tif (!this.dropdown || this.isOpen) return;\n\t\tthis.renderer.setStyle(this.dropdown.nativeElement, 'display', 'block');\n\t\tthis.isOpen = true;\n\t}\n\n closeDropdown() {\n\t\tif (!this.dropdown || !this.isOpen) return;\n\t\tthis.renderer.setStyle(this.dropdown.nativeElement, 'display', 'none');\n\t\tthis.isOpen = false;\n\t\tthis.clearDropdown();\n\t\tthis.acLoading = false;\n\t}\n\n clearDropdown() {\n\t\tif (!this.dropdown) return;\n\t\twhile (this.dropdown.nativeElement.firstChild) {\n\t\t\tthis.dropdown.nativeElement.removeChild(this.dropdown.nativeElement.lastChild!);\n\t\t}\n\t}\n}\n","import {\n Component,\n ElementRef,\n Input,\n Optional,\n Self,\n ViewChild,\n ViewRef,\n booleanAttribute,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { AbstractComponent } from './abstract-field.component';\nimport { UniqueIdService } from '../../shared/unique-id.service';\n\n@Component({\n selector: 'rlb-checkbox',\n template: `\n <ng-content select=\"[before]\"></ng-content>\n <div class=\"input-group has-validation\">\n <input\n #field\n class=\"form-check-input\"\n type=\"checkbox\"\n [id]=\"id\"\n [attr.disabled]=\"disabled ? true : undefined\"\n [attr.readonly]=\"readonly ? true : undefined\"\n [value]=\"value\"\n (blur)=\"touch()\"\n [ngClass]=\"{ 'is-invalid': control?.touched && control?.invalid }\"\n (input)=\"update($event.target)\"\n />\n <div class=\"invalid-feedback\">\n {{ errors | json }}\n </div>\n <ng-content select=\"[after]\"></ng-content>\n </div>`,\n standalone: false\n})\nexport class CheckboxComponent\n extends AbstractComponent<boolean | undefined>\n implements ControlValueAccessor {\n @Input({ alias: 'disabled', transform: booleanAttribute }) disabled? = false;\n @Input({ alias: 'readonly', transform: booleanAttribute }) readonly? = false;\n @Input({ alias: 'indeterminate', transform: booleanAttribute }) indeterminate?: boolean = false;\n @ViewChild('field', { read: ElementRef }) el!: ElementRef<HTMLInputElement>;\n @Input({ alias: 'id', transform: (v: string) => v || '' }) userDefinedId: string = '';\n \n constructor(\n idService: UniqueIdService,\n @Self() @Optional() override control?: NgControl,\n ) {\n super(idService, control);\n }\n\n update(ev: EventTarget | null) {\n if (!this.disabled) {\n const t = ev as HTMLInputElement;\n this.setValue(t?.checked);\n }\n }\n\n override onWrite(data: boolean | undefined): void {\n if (this.el && this.el.nativeElement) {\n if (this.indeterminate && (typeof data === 'undefined' || data === null)) {\n this.el.nativeElement.indeterminate = true;\n } else {\n if (data === undefined || data === null) return;\n if (typeof data === 'string') {\n this.el.nativeElement.checked = /^true$/i.test(data);\n }\n else {\n this.el.nativeElement.checked = data;\n }\n }\n }\n }\n\n override writeValue(val: boolean | undefined): void {\n if (this.indeterminate && this.el) {\n if (typeof val === 'undefined' || val === null) {\n this.el.nativeElement.indeterminate = true;\n } else {\n this.el.nativeElement.indeterminate = false;\n }\n }\n if (!this.indeterminate) {\n val = val || false;\n }\n super.writeValue(val);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n Optional,\n Self,\n ViewChild,\n booleanAttribute,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { AbstractComponent } from './abstract-field.component';\nimport { UniqueIdService } from '../../shared/unique-id.service';\n\n@Component({\n selector: 'rlb-color',\n template: `\n <ng-content select=\"[before]\"></ng-content>\n <div class=\"input-group has-validation\">\n <input\n #field\n [id]=\"id\"\n class=\"form-control form-control-color\"\n type=\"color\"\n [attr.disabled]=\"disabled ? true : undefined\"\n [attr.readonly]=\"readonly ? true : undefined\"\n [class.form-control-lg]=\"size === 'large'\"\n [class.form-control-sm]=\"size === 'small'\"\n [value]=\"value\"\n (blur)=\"touch()\"\n [ngClass]=\"{ 'is-invalid': control?.touched && control?.invalid }\"\n (input)=\"update($event.target)\"\n />\n <div class=\"invalid-feedback\">\n {{ errors | json }}\n </div>\n </div>\n <ng-content select=\"[after]\"></ng-content>`,\n standalone: false\n})\nexport class ColorComponent\n extends AbstractComponent<string>\n implements ControlValueAccessor {\n @Input({ alias: 'disabled', transform: booleanAttribute }) disabled?: boolean;\n @Input({ alias: 'readonly', transform: booleanAttribute }) readonly?: boolean;\n @Input({ alias: 'size' }) size?: 'small' | 'large';\n @Input({ alias: 'id', transform: (v: string) => v || '' }) userDefinedId: string = '';\n\n @ViewChild('field') el!: ElementRef<HTMLInputElement>;\n\n constructor(\n idService: UniqueIdService,\n @Self() @Optional() override control?: NgControl,\n ) {\n super(idService, control);\n }\n\n update(ev: EventTarget | null) {\n if (!this.disabled) {\n const t = ev as HTMLInputElement;\n this.setValue(t?.value);\n }\n }\n\n override onWrite(data: string): void {\n if (this.el && this.el.nativeElement) {\n this.el.nativeElement.value = data;\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n Optional,\n Self,\n ViewChild,\n booleanAttribute,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { AbstractComponent } from './abstract-field.component';\nimport { UniqueIdService } from '../../shared/unique-id.service';\n\n@Component({\n selector: 'rlb-datalist',\n template: `\n <ng-content select=\"[before]\"></ng-content>\n <div class=\"input-group has-validation\">\n <input\n #field\n [id]=\"id\"\n class=\"form-control\"\n [attr.disabled]=\"disabled ? true : undefined\"\n [attr.readonly]=\"readonly ? true : undefined\"\n [attr.placeholder]=\"placeholder\"\n [attr.list]=\"'list-' + id\"\n [class.form-control-lg]=\"size === 'large'\"\n [class.form-control-sm]=\"size === 'small'\"\n [value]=\"value || ''\"\n (blur)=\"touch()\"\n [ngClass]=\"{ 'is-invalid': control?.touched && control?.invalid }\"\n (input)=\"update($event.target)\"\n />\n <datalist [id]=\"'list-' + id\">\n <ng-content></ng-content>\n </datalist>\n <div class=\"invalid-feedback\">\n {{ errors | json }}\n </div>\n </div>\n <ng-content select=\"[after]\"></ng-content>`,\n standalone: false\n})\nexport class DatalistComponent\n extends AbstractComponent<string>\n implements ControlValueAccessor {\n @Input({ alias: 'disabled', transform: booleanAttribute }) disabled?: boolean = false;\n @Input({ alias: 'readonly', transform: booleanAttribute }) readonly?: boolean = false;\n @Input({ alias: 'placeholder' }) placeholder?: string;\n @Input({ alias: 'size' }) size?: 'small' | 'large' | undefined = undefined;\n @ViewChild('field') el!: ElementRef<HTMLInputElement>;\n @Input({ alias: 'id', transform: (v: string) => v || '' }) userDefinedId: string = '';\n \n constructor(\n idService: UniqueIdService,\n @Self() @Optional() override control?: NgControl,\n ) {\n super(idService, control);\n }\n\n update(ev: EventTarget | null) {\n if (!this.disabled) {\n const t = ev as HTMLInputElement;\n this.setValue(t?.value);\n }\n }\n\n override onWrite(data: string): void {\n if (this.el && this.el.nativeElement) {\n this.el.nativeElement.value = data;\n }\n }\n}\n","import {\n Directive,\n Output,\n Input,\n EventEmitter,\n HostBinding,\n HostListener,\n booleanAttribute\n} from '@angular/core';\n\n@Directive({\n selector: '[rlb-dnd]',\n standalone: false\n})\nexport class DndDirective {\n @Input({ alias: 'multiple', transform: booleanAttribute }) multi: boolean = false;\n\n @Output() fileDropped = new EventEmitter<File[]>();\n\n @HostBinding('class.fileover') fileOver!: boolean;\n @HostListener('dragover', ['$event']) onDragOver(evt: DragEvent) {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver = true;\n }\n\n @HostListener('dragleave', ['$event']) public onDragLeave(evt: DragEvent) {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver = false;\n }\n\n @HostListener('drop', ['$event']) public ondrop(evt: DragEvent) {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver = false;\n let files = evt.dataTransfer?.files;\n if (files && files.length > 1) {\n if (!this.multi) {\n const _f = []\n for (let i = 0; i < files.length; i++) _f.push(files[i]);\n this.fileDropped.emit(_f);\n }\n else {\n this.fileDropped.emit([files[0]]);\n }\n }\n }\n}\n","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild, booleanAttribute } from '@angular/core';\n\n@Component({\n selector: 'rlb-file-dnd',\n template: `\n <div class=\"rlb-file-dnd\" rlb-dnd [multiple]=\"multiple\" (fileDropped)=\"onFileDropped($event)\">\n <input type=\"file\" #fileDropRef id=\"fileDropRef\" [attr.multiple]=\"multiple?'':undefined\" (change)=\"fileBrowseHandler($event)\" />\n <i class=\"bi bi-upload\"></i>\n <h3>{{ data.content?.drag }}</h3>\n <h3>-</h3>\n <label class=\"btn btn-primary\" for=\"fileDropRef\">{{ data.content?.button }}</label>\n </div>\n <div class=\"rlb-file-dnd-list\">\n <div class=\"single-file\" *ngFor=\"let file of files; let i = index\">\n <i class=\"bi bi-file-earmark-image\" style=\"font-size: 36px;\"></i>\n <div class=\"info\">\n <span class=\"d-block name\"> {{ file.name }} </span>\n <span class=\"d-block size\">{{ formatBytes(file.size) }}</span>\n <rlb-progress [height]=\"3\" [value]=\"10\" animated ></rlb-progress>\n </div>\n <button rlb-button outline class=\"p-0 mb-auto border-0\">\n <i class=\"bi bi-trash\" (click)=\"deleteFile(file)\"></i>\n </button>\n </div>\n </div>`,\n standalone: false\n})\nexport class FileDndComponent {\n files: File[] = [];\n\n @Input({ alias: 'multiple', transform: booleanAttribute }) multiple: boolean = false;\n @Input({ alias: 'data' }) data: any = {};\n @Input({ alias: 'id', transform: (v: string) => v || '' }) userDefinedId: string = '';\n \n @Output('files') filesChange = new EventEmitter<File[]>();\n\n @ViewChild(\"fileDropRef\", { static: false }) fileDropEl!: ElementRef;\n\n\n onFileDropped(files: File[]) {\n if (this.multiple) {\n this.files = files;\n }\n else {\n this.files = [files[files.length - 1]];\n }\n this.filesChange.emit(this.files);\n this.fileDropEl.nativeElement.value = \"\";\n }\n\n fileBrowseHandler(event: Event) {\n const _target = event.target as HTMLInputElement;\n if (_target.files && _target.files?.length) {\n let _f: File[] = []\n if (this.multiple) {\n for (let i = 0; i < _target.files.length; i++) _f.push(_target.files[i])\n } else {\n for (let i = 0; i < _target.files.length; i++) _f = [_target.files[i]]\n }\n this.files = _f;\n this.filesChange.emit(this.files);\n this.fileDropEl.nativeElement.value = \"\";\n }\n }\n\n deleteFile(index: File) {\n this.files.splice(this.files.indexOf(index), 1);\n this.filesChange.emit(this.files);\n }\n\n formatBytes(bytes: number, decimals: number = 2) {\n if (bytes === 0) {\n return \"0 Bytes\";\n }\n const k = 1024;\n const dm = decimals <= 0 ? 0 : decimals;\n const sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + \" \" + sizes[i];\n }\n}\n","import { booleanAttribute, Component, ElementRef, Input, Optional, Self, ViewChild, } from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { AbstractComponent } from './abstract-field.component';\nimport { UniqueIdService } from '../../shared/unique-id.service';\n\n@Component({\n selector: 'rlb-file',\n host: {\n class: 'd-flex flex-grow-1 flex-shrink-1 flex-auto',\n },\n template: `\n <ng-content select=\"[before]\"></ng-content>\n <div class=\"input-group has-validation\">\n <input\n #field\n [id]=\"id\"\n type=\"file\"\n class=\"form-control\"\n [attr.disabled]=\"disabled ? true : undefined\"\n [attr.readonly]=\"readonly ? true : undefined\"\n [attr.multiple]=\"multiple ? true : undefined\"\n [attr.accept]=\"accept ? accept : undefined\"\n [class.form-control-lg]=\"size === 'large'\"\n [class.form-control-sm]=\"size === 'small'\"\n (blur)=\"touch()\"\n [ngClass]=\"{ 'is-invalid': control?.touched && control?.invalid }\"\n\t\t\t\t(change)=\"onFileChange($event)\"\n\t\t\t/>\n <div class=\"invalid-feedback\">\n {{ errors | json }}\n </div>\n </div>\n <ng-content select=\"[after]\"></ng-content>`,\n standalone: false\n})\nexport class FileComponent\n\textends AbstractComponent<File | File[] | null>\n implements ControlValueAccessor {\n @Input({ alias: 'disabled', transform: booleanAttribute, }) disabled? = false;\n @Input({ alias: 'readonly', transform: booleanAttribute }) readonly? = false;\n @Input({ alias: 'multiple', transform: booleanAttribute, }) multiple?: boolean;\n @Input({ alias: 'size' }) size?: 'small' | 'large';\n @Input({ alias: 'accept' }) accept?: string | undefined;\n @Input({ alias: 'id', transform: (v: string) => v || '' }) userDefinedId: string = '';\n\n @ViewChild('field') el!: ElementRef<HTMLInputElement>;\n\n constructor(\n idService: UniqueIdService,\n @Self() @Optional() override control?: NgControl,\n ) {\n super(idService, control);\n }\n\t\n\tonFileChange(ev: Event) {\n\t\tif (!this.disabled) {\n\t\t\tconst input = ev.target as HTMLInputElement;\n\t\t\tif (!input.files) {\n\t\t\t\tthis.setValue(null);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.setValue(this.multiple ? Array.from(input.files) : input.files[0]);\n\t\t}\n\t}\n\t\n\toverride onWrite(data: File | File[] | null): void {\n if (this.el && this.el.nativeElement) {\n\t\t\tthis.el.nativeElement.value = '';\n }\n }\n}\n","import {\n Directive,\n ElementRef,\n Renderer2,\n Input,\n DoCheck,\n} from '@angular/core';\nimport { UniqueIdService } from '../../shared/unique-id.service';\n\n@Directive({\n selector: '[helpText]',\n standalone: false\n})\nexport class HelpText implements DoCheck {\n private uniqueId: string;\n\n @Input({ alias: 'helpText' }) helpText!: string;\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n private idService: UniqueIdService,\n ) {\n this.uniqueId = idService.id;\n }\n\n ngDoCheck() {\n if (this.helpText) {\n const input = this.elementRef.nativeElement.querySelector('input');\n this.renderer.setAttribute(\n input,\n 'aria-labelledby',\n 'help-text-' + this.uniqueId,\n );\n const textHelp = this.renderer.createElement('div');\n this.renderer.addClass(textHelp, 'form-text');\n this.renderer.setAttribute(textHelp, 'id', 'help-text-' + this.uniqueId);\n this.renderer.appendChild(\n textHelp,\n this.renderer.createText(this.helpText),\n );\n this.renderer.insertBefore(input.parentNode, textHelp, input.nextSibling);\n }\n }\n}\n","import {\n AfterViewInit,\n booleanAttribute,\n Component,\n ElementRef,\n Input,\n numberAttribute,\n OnInit,\n Optional,\n Self,\n TemplateRef,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { DateTz, IDateTz } from '@open-rlb/date-tz';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { AbstractComponent } from './abstract-field.component';\n\n@Component({\n selector: 'rlb-input',\n template: `\n <ng-template #template>\n <ng-content select=\"[before]\"></ng-content>\n <input\n #field\n [id]=\"id\"\n class=\"form-control\"\n [type]=\"_type\"\n [name]=\"name\"\n [attr.max]=\"type === 'number' && max !== null && max !== undefined ? max : undefined\"\n [attr.min]=\"type === 'number' && min !== null && min !== undefined ? min : undefined\"\n [attr.step]=\"type === 'number' && step !== null && step !== undefined ? step : undefined\"\n [attr.disabled]=\"disabled ? true : undefined\"\n [attr.readonly]=\"readonly ? true : undefined\"\n [attr.placeholder]=\"placeholder\"\n [class.form-control-lg]=\"size === 'large'\"\n [class.form-control-sm]=\"size === 'small'\"\n [value]=\"value || ''\"\n (blur)=\"touch()\"\n\t\t\t\t[ngClass]=\"{\n 'is-invalid': control?.touched && control?.invalid && enableValidation,\n 'is-valid': control?.touched && control?.valid && enableValidation\n }\"\n (input)=\"update($event.target)\"\n />\n\t\t<rlb-input-validation *ngIf=\"!extValidation && showError\" [errors]=\"errors\"/>\n <ng-content select=\"[after]\"></ng-content>\n </ng-template>`,\n standalone: false\n})\nexport class InputComponent\n extends AbstractComponent<any>\n implements OnInit, AfterViewInit {\n @Input({ alias: 'disabled', transform: booleanAttribute, }) disabled?: boolean;\n @Input({ alias: 'readonly', transform: booleanAttribute, }) readonly?: boolean;\n @Input({ alias: 'before-text', transform: booleanAttribute, }) beforeText?: boolean;\n @Input({ alias: 'placeholder' }) placeholder?: string;\n @Input({ alias: 'type' }) type?: 'text' | 'email' | 'number' | 'password' | 'search' | 'tel' | 'url' | 'datetime-local' | string = 'text';\n @Input({ alias: 'size' }) size?: 'small' | 'large';\n @Input({ alias: 'name' }) name?: string;\n @Input({ alias: 'max', transform: numberAttribute }) max?: number;\n @Input({ alias: 'min', transform: numberAttribute }) min?: number;\n @Input({ alias: 'step', transform: numberAttribute }) step?: number;\n @Input({ alias: 'date-type' }) dateType?: 'date' | 'string' | 'number' | 'date-tz' | string;\n @Input({ alias: 'timezone' }) timezone?: string = 'UTC';\n @Input({ alias: 'id', transform: (v: string) => v || '' }) userDefinedId: string = '';\n\t@Input({ alias: 'extValidation', transform: booleanAttribute, }) extValidation: boolean = false;\n @Input({ transform: booleanAttribute, alias: 'enable-validation' }) enableValidation? = false;\n\n get _type(): string {\n if (this.type === 'number') return 'text';\n return this.type || 'text';\n }\n\n @ViewChild('field') el!: ElementRef<HTMLInputElement>;\n\n constructor(private viewContainerRef: ViewContainerRef, idService: UniqueIdService, @Self() @Optional() override control?: NgControl) {\n super(idService, control);\n }\n\n update(ev: EventTarget | null) {\n if (!this.disabled) {\n if (this.type === 'number') {\n const t = ev as HTMLInputElement;\n const val = this.removeNonDigits(t?.value);\n if (!val) t.value = '';\n const comma = val.includes('.');\n let v = parseFloat(val);\n if (!isNaN(v)) {\n if (this.max && v > this.max) {\n v = this.max;\n }\n if (this.min && v < this.min) {\n v = this.min;\n }\n let text = v.toString() + (comma ? '.' : '');\n const firstDotIndex = text.indexOf('.');\n if (firstDotIndex !== -1) {\n text = (text.match(/\\./g) || [])?.length > 1 ? text.slice(0, firstDotIndex + 1) + text.slice(firstDotIndex + 1).replace(/\\./g, '') : text;\n }\n this.onChanged?.(parseFloat(text));\n t.value = text;\n return;\n }\n } if (this.type === 'datetime-local') {\n if (this.dateType === 'string') {\n const t = ev as HTMLInputElement;\n this.onChanged?.(t?.value || '');\n } else if (this.dateType === 'number') {\n const t = ev as HTMLInputElement;\n this.onChanged?.(Date.parse(t?.value + ':00'));\n } else if (this.dateType === 'date') {\n const t = ev as HTMLInputElement;\n this.onChanged?.(new Date(Date.parse(t?.value + ':00')));\n } else if (this.dateType === 'date-tz') {\n const t = ev as HTMLInputElement;\n const d = DateTz.parse(t?.value, 'YYYY-MM-DDTHH:mm', this.timezone);\n this.onChanged?.(d);\n }\n }\n else {\n const t = ev as HTMLInputElement;\n this.setValue(t?.value || '');\n }\n }\n }\n\n override onWrite(data: string): void {\n if (this.el && this.el.nativeElement) {\n if (this.type === 'number') {\n\t\t\t\tif (data === '' || data === null || data === undefined) {\n\t\t\t\t\tthis.value = '';\n\t\t\t\t\tthis.el.nativeElement.value = '';\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n let val = parseFloat(this.removeNonDigits(data));\n\n if (this.max && val > this.max) {\n val = this.max;\n }\n if (this.min && val < this.min) {\n val = this.min;\n }\n this.value = data;\n this.el.nativeElement.value = val.toString();\n return;\n } if (this.type === 'datetime-local') {\n if (this.dateType === 'string') {\n this.value = data;\n this.el.nativeElement.value = data || '';\n } else if (this.dateType === 'date') {\n const d: Date = data as any;\n this.value = `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, '0')}-${String(d.getDate()).padStart(2, '0')}T${String(d.getHours()).padStart(2, '0')}:${String(d.getMinutes()).padStart(2, '0')}`;\n this.el.nativeElement.value = this.value;\n } else if (this.dateType === 'number') {\n const d: Date = new Date(data);\n this.value = `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, '0')}-${String(d.getDate()).padStart(2, '0')}T${String(d.getHours()).padStart(2, '0')}:${String(d.getMinutes()).padStart(2, '0')}`;\n this.el.nativeElement.value = this.value;\n } else if (this.dateType === 'date-tz') {\n let d: IDateTz = data as any;\n if (!d?.timestamp) return;\n if (!d?.timezone) d.timezone = this.timezone;\n d = new DateTz(d);\n this.value = `${d.toString?.(\"YYYY-MM-DDTHH:mm\")}`;\n this.el.nativeElement.value = this.value;\n }\n }\n else {\n this.value = data;\n this.el.nativeElement.value = data || '';\n }\n }\n }\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(\n this.template,\n );\n //this.element = templateView.rootNodes[0];\n this.viewContainerRef.element.nativeElement.remove();\n }\n\n ngAfterViewInit() {\n this.onWrite(this.value || '');\n }\n\n removeNonDigits(value: string): string {\n const filtered = value.toString().match(/[0-9,.]/g)?.join('') || '';\n const standardized = filtered.replace(/,/g, '.');\n const [integerPart, ...fractionalParts] = standardized.split('.');\n const result = fractionalParts.length > 0 ? `${integerPart}.${fractionalParts.join('')}` : integerPart;\n return result;\n }\n\n}\n","import {\n AfterContentInit,\n booleanAttribute,\n Component,\n ContentChild,\n ContentChildren,\n Input,\n QueryList\n} from '@angular/core';\nimport { InputComponent } from './input.component';\nimport { ValidationErrors } from '@angular/forms';\nimport { InputValidationComponent } from './input-validation.component';\n\n@Component({\n selector: 'rlb-input-group',\n host: {\n '[class.has-validation]': 'validate',\n '[class.input-group]': '!text',\n '[class.input-group-text]': 'text',\n '[class.input-group-sm]': 'size === \"small\"',\n '[class.input-group-lg]': 'size === \"large\"',\n },\n template: `<ng-content></ng-content>`,\n standalone: false\n})\nexport class InputGroupComponent implements AfterContentInit {\n\n @Input({ alias: 'text', transform: booleanAttribute }) text?: boolean\n @Input({ alias: 'validate', transform: booleanAttribute }) validate?: boolean = false\n @Input({ alias: 'size' }) size?: 'small' | 'large'\n\n validations: ValidationErrors = {};\n\n @ContentChildren(InputComponent) inputs!: QueryList<InputComponent>;\n @ContentChild(InputValidationComponent) validation!: InputValidationComponent;\n ngAfterContentInit(): void {\n if (this.validate) {\n for (const input of this.inputs.toArray()) {\n input.extValidation = true;\n if (input.errors && input.name) {\n this.validations[input.name] = input.errors;\n }\n }\n if (this.validation) {\n this.validation.errors = this.validations;\n }\n }\n }\n}\n","import {\n Component,\n Input,\n ContentChildren,\n QueryList,\n ViewContainerRef,\n ViewChildren,\n ElementRef,\n DoCheck,\n booleanAttribute,\n ViewChild,\n} from '@angular/core';\nimport { AbstractComponent } from './abstract-field.component';\nimport { ControlValueAccessor } from '@angular/forms';\nimport { OptionComponent } from './options.component';\n\n@Component({\n selector: 'rlb-radio',\n template: `\n <div class=\"input-group has-validation\">\n <ng-content select=\"[before]\"></ng-content>\n <ng-container *ngFor=\"let option of options; index as i\">\n <div class=\"form-check\">\n <input\n #field\n [attr.disabled]=\"disabled ? true : undefined\"\n [attr.readonly]=\"readonly ? true : undefined\"\n class=\"form-check-input {{option.cssValue}}\"\n type=\"radio\"\n [name]=\"id + '-radio'\"\n [id]=\"id + '-radio-' + i\"\n [value]=\"option.value\"\n [checked]=\"value === option.value\"\n (blur)=\"touch()\"\n [ngClass]=\"{ 'is-invalid': control?.touched && control?.invalid }\"\n (change)=\"update($event.target)\"\n />\n <span #content></span>\n </div>\n </ng-container> \n <ng-content select=\"[after]\"></ng-content>\n <div class=\"invalid-feedback\">\n {{ errors | json }}\n </div>\n </div>`,\n standalone: false\n})\nexport class RadioComponent\n extends AbstractComponent<string>\n implements DoCheck, ControlValueAccessor {\n @Input({ alias: 'disabled', transform: booleanAttribute }) disabled?: boolean = false;\n @Input({ alias: 'readonly', transform: booleanAttribute }) readonly?: boolean = false;\n @Input({ alias: 'id', transform: (v: string) => v || '' }) userDefinedId: string = '';\n \n @ContentChildren(OptionComponent) options!: QueryList<OptionComponent>;\n @ViewChildren('content', { read: ViewContainerRef }) contents!: QueryList<ViewContainerRef>;\n @ViewChild('field') el!: ElementRef<HTMLInputElement>;\n\n ngDoCheck() {\n for (const content of (this.contents || [])) {\n content?.detach();\n }\n this.options?.forEach((option, i) => {\n this.contents.get(i)?.insert(option._view);\n });\n }\n\n update(ev: EventTarget | null) {\n if (!this.disabled) {\n const t = ev as HTMLInputElement;\n this.setValue(t?.value);\n }\n }\n\n override onWrite(data: string): void {\n if (this.el && this.el.nativeElement) {\n this.el.nativeElement.value = data;\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n Optional,\n Self,\n ViewChild,\n booleanAttribute,\n numberAttribute,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { AbstractComponent } from './abstract-field.component';\nimport { UniqueIdService } from '../../shared/unique-id.service';\n\n@Component({\n selector: 'rlb-range',\n host: {\n class: 'd-flex flex-grow-1 flex-shrink-1 flex-auto',\n },\n template: `\n <ng-content select=\"[before]\"></ng-content>\n <div class=\"input-group has-validation\">\n <input\n #field\n [id]=\"id\"\n class=\"form-range\"\n type=\"range\"\n [attr.disabled]=\"disabled ? true : undefined\"\n [attr.readonly]=\"readonly ? true : undefined\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.step]=\"step\"\n (blur)=\"touch()\"\n [ngClass]=\"{ 'is-invalid': control?.touched && control?.invalid }\"\n (input)=\"update($event.target)\"\n />\n <div class=\"invalid-feedback\">\n {{ errors | json }}\n </div>\n </div>\n <ng-content select=\"[after]\"></ng-content>`,\n standalone: false\n})\nexport class RangeComponent\n extends AbstractComponent<string>\n implements ControlValueAccessor {\n @Input({ alias: 'disabled', transform: booleanAttribute }) disabled?: boolean = false;\n @Input({ alias: 'readonly', transform: booleanAttribute }) readonly?: boolean = false;\n @Input({ alias: 'min', transform: numberAttribute }) min?: number | undefined = undefined;\n @Input({ alias: 'max', transform: numberAttribute }) max?: number | undefined = undefined;\n @Input({ alias: 'step', transform: numberAttribute }) step?: number | undefined = undefined;\n @Input({ alias: 'id', transform: (v: string) => v || '' }) userDefinedId: string = '';\n \n @ViewChild('field') el!: ElementRef<HTMLInputElement>;\n\n constructor(\n idService: UniqueIdService,\n @Self() @Optional() override control?: NgControl,\n ) {\n super(idService, control);\n }\n\n update(ev: EventTarget | null) {\n if (!this.disabled) {\n const t = ev as HTMLInputElement;\n this.setValue(t?.value);\n }\n }\n\n override onWrite(data: string): void {\n if (this.el && this.el.nativeElement) {\n this.el.nativeElement.value = data;\n }\n }\n}\n","import {\n AfterViewInit,\n booleanAttribute,\n Component,\n ElementRef,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { AbstractComponent } from './abstract-field.component';\nimport { UniqueIdService } from '../../shared/unique-id.service';\n\n@Component({\n selector: 'rlb-switch',\n template: `\n <div class=\"d-flex align-items-center gap-2\">\n <ng-content select=\"[before]\"></ng-content>\n\n <div class=\"form-check form-switch m-0\">\n <input\n #field\n class=\"form-check-input\"\n type=\"checkbox\"\n [id]=\"id\"\n [attr.disabled]=\"disabled ? true : undefined\"\n [attr.readonly]=\"readonly ? true : undefined\"\n (blur)=\"touch()\"\n [ngClass]=\"{ 'is-invalid': control?.touched && control?.invalid }\"\n (input)=\"update($event.target)\"\n />\n </div>\n\n <ng-content select=\"[after]\"></ng-content>\n </div>\n `,\n standalone: false\n})\nexport class SwitchComponent\n extends AbstractComponent<boolean>\n implements ControlValueAccessor, AfterViewInit {\n @Input({ transform: booleanAttribute, alias: 'disabled' }) disabled?: boolean;\n @Input({ transform: booleanAttribute, alias: 'readonly' }) readonly?: boolean;\n @Input({ alias: 'size' }) size?: 'small' | 'large';\n @Input({ alias: 'id', transform: (v: string) => v || '' }) userDefinedId: string = '';\n\n @ViewChild('field') el!: ElementRef<HTMLInputElement>;\n\n private data!: boolean;\n\n constructor(\n idService: UniqueIdService,\n @Self() @Optional() override control?: NgControl,\n ) {\n super(idService, control);\n }\n\n update(ev: EventTarget | null) {\n if (!this.disabled) {\n const t = ev as HTMLInputElement;\n this.setValue(t?.checked);\n }\n }\n\n override onWrite(data: boolean): void {\n this.data = data;\n this.updateInternalValue()\n }\n\n ngAfterViewInit() {\n this.updateInternalValue()\n }\n\n private updateInternalValue(): void {\n if (this.el && this.el.nativeElement) {\n if (this.data === undefined || this.data === null) return;\n if (typeof this.data === 'string') {\n this.el.nativeElement.checked = /^true$/i.test(this.data);\n }\n else {\n this.el.nativeElement.checked = this.data;\n }\n }\n }\n}\n","import {\n Component,\n ElementRef,\n Input,\n Optional,\n Self,\n ViewChild,\n booleanAttribute,\n numberAttribute,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { AbstractComponent } from './abstract-field.component';\nimport { UniqueIdService } from '../../shared/unique-id.service';\n\n@Component({\n selector: 'rlb-textarea',\n template: `\n <ng-content select=\"[before]\"></ng-content>\n <div class=\"input-group has-validation\">\n <textarea\n #field\n [id]=\"id\"\n class=\"form-control\"\n [rows]=\"rows\"\n [attr.rows]=\"rows\"\n [attr.disabled]=\"disabled ? true : undefined\"\n [attr.readonly]=\"readonly ? true : undefined\"\n [attr.placeholder]=\"placeholder\"\n [class.form-select-lg]=\"size === 'large'\"\n [class.form-select-sm]=\"size === 'small'\"\n (blur)=\"touch()\"\n [ngClass]=\"{ 'is-invalid': control?.touched && control?.invalid }\"\n (input)=\"update($event.target)\"\n ></textarea>\n <div class=\"invalid-feedback\">\n {{ errors | json }}\n </div>\n </div>\n <ng-content select=\"[after]\"></ng-content>`,\n standalone: false\n})\nexport class TextAreaComponent\n extends AbstractComponent<string>\n implements ControlValueAccessor {\n @Input({ transform: booleanAttribute, alias: 'disabled' }) disabled? = false;\n @Input({ transform: booleanAttribute, alias: 'readonly' }) readonly? = false;\n @Input({ alias: 'placeholder' }) placeholder?: string;\n @Input({ alias: 'size' }) size?: 'small' | 'large';\n @Input({ alias: 'rows', transform: numberAttribute }) rows: number = 3;\n @Input({ alias: 'id', transform: (v: string) => v || '' }) userDefinedId: string = ''; \n\n @ViewChild('field', { read: ElementRef }) el!: ElementRef<HTMLTextAreaElement>;\n\n constructor(\n idService: UniqueIdService,\n @Self() @Optional() override control?: NgControl,\n ) {\n super(idService, control);\n }\n\n update(ev: EventTarget | null) {\n if (!this.disabled) {\n const t = ev as HTMLInputElement;\n this.setValue(t?.value);\n }\n }\n\n override onWrite(data: string): void {\n if (this.el && this.el.nativeElement) {\n this.el.nativeElement.value = data;\n }\n }\n}\n","export * from './abstract-field.component';\nexport * from './abstract-autocomplete.component'\nexport * from './autocomplete-model'\nexport * from '../rlb-validators/required-autocomplete-validator'\n\nexport * from './autocomplete-country-dial-code.component'\nexport * from './autocomplete-country.component';\nexport * from './autocomplete-timezones.component';\nexport * from './autocomplete.component';\nexport * from './checkbox.component';\nexport * from './color.component';\nexport * from './datalist.component';\nexport * from './dnd-file.component';\nexport * from './dnd.directive';\nexport * from './file.component';\nexport * from './help-text.directive';\nexport * from './input-group.component';\nexport * from './input-validation.component';\nexport * from './input.component';\nexport * from './options.component';\nexport * from './radio.component';\nexport * from './range.component';\nexport * from './select.component';\nexport * from './switch.component';\nexport * from './text-area.component';\n\nimport { AutocompleteCountryDialCodeComponent } from './autocomplete-country-dial-code.component';\nimport { AutocompleteCountryComponent } from './autocomplete-country.component';\nimport { AutocompleteTimezonesComponent } from './autocomplete-timezones.component';\nimport { AutocompleteComponent } from './autocomplete.component';\nimport { CheckboxComponent } from './checkbox.component';\nimport { ColorComponent } from './color.component';\nimport { DatalistComponent } from './datalist.component';\nimport { FileDndComponent } from './dnd-file.component';\nimport { DndDirective } from './dnd.directive';\nimport { FileComponent } from './file.component';\nimport { HelpText } from './help-text.directive';\nimport { InputGroupComponent } from './input-group.component';\nimport { InputValidationComponent } from './input-validation.component';\nimport { InputComponent } from './input.component';\nimport { OptionComponent } from './options.component';\nimport { RadioComponent } from './radio.component';\nimport { RangeComponent } from './range.component';\nimport { SelectComponent } from './select.component';\nimport { SwitchComponent } from './switch.component';\nimport { TextAreaComponent } from './text-area.component';\n\nexport const INPUTS = [\n AutocompleteComponent,\n CheckboxComponent,\n InputComponent,\n SwitchComponent,\n TextAreaComponent,\n ColorComponent,\n DatalistComponent,\n RangeComponent,\n SelectComponent,\n RadioComponent,\n OptionComponent,\n FileComponent,\n InputGroupComponent,\n HelpText,\n DndDirective,\n FileDndComponent,\n InputValidationComponent,\n\n AutocompleteCountryComponent,\n\tAutocompleteTimezonesComponent,\n\tAutocompleteCountryDialCodeComponent\n];\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n ViewChild,\n booleanAttribute,\n} from '@angular/core';\nimport { FormControl, FormGroup, NgForm, Validators } from '@angular/forms';\nimport { FormFieldsDefinition, FormField, IForm } from './form-fields';\n\n@Component({\n selector: 'rlb-form-fields',\n templateUrl: './rlb-form-fields.component.html',\n styleUrls: ['./rlb-form-fields.component.scss'],\n standalone: false\n})\nexport class FormFieldsComponent implements IForm, OnChanges {\n public filterForm!: FormGroup;\n\n @Input({ alias: 'title' }) public title!: string;\n @Input({ alias: 'sub-title' }) public subTitle!: string;\n @Input({ alias: 'no-submit', transform: booleanAttribute }) public noSubmit?: boolean;\n @Input({ alias: 'no-card', transform: booleanAttribute }) public noCard?: boolean;\n @Input({ alias: 'fields' }) public fields?: FormFieldsDefinition;\n\n @Output() public submit: EventEmitter<any> = new EventEmitter();\n\n @ViewChild('ngForm') form!: NgForm;\n\n get _fields() {\n if (!this.fields) return [];\n return Object.keys(this.fields).map((o) => {\n return { property: o, ...this.fields?.[o] } as FormField;\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (\n changes['fields'].previousValue !== changes['fields'].currentValue ||\n changes['fields'].isFirstChange()\n ) {\n this.buildForm();\n }\n }\n\n private buildForm() {\n if (!this.fields) return;\n const formGroup = {} as { [k: string]: FormControl };\n for (const field of this._fields) {\n formGroup[field.property] = new FormControl(\n field.property,\n field.validators,\n );\n }\n this.filterForm = new FormGroup(formGroup);\n }\n\n onFilterSubmit() {\n if (this.filterForm.valid) {\n this.submit.emit(this.filterForm.value);\n }\n }\n\n identify(index: number, el: FormField): string {\n return el.property;\n }\n\n isText(t: string) {\n return [\n 'text',\n 'email',\n 'number',\n 'password',\n 'search',\n 'tel',\n 'url',\n 'string',\n ].includes(t);\n }\n\n isSwitch(t: string) {\n return ['switch'].includes(t);\n }\n\n submitForm() {\n this.form.onSubmit({} as Event);\n }\n}\n","<ng-container *ngIf=\"noCard; else card\">\n <ng-container [ngTemplateOutlet]=\"form\"></ng-container>\n</ng-container>\n\n<ng-template #card>\n <div class=\"card mb-3\">\n <div class=\"card-body\">\n <h5 class=\"card-title\" *ngIf=\"title\">{{ title | translate }}</h5>\n <p class=\"card-text\" *ngIf=\"subTitle\">{{ subTitle | translate }}</p>\n <ng-container [ngTemplateOutlet]=\"form\"></ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-template #form>\n <form\n *ngIf=\"filterForm\"\n [formGroup]=\"filterForm\"\n [class.was-validated]=\"ngForm.submitted\"\n class=\"needs-validation\"\n #ngForm=\"ngForm\"\n (ngSubmit)=\"onFilterSubmit()\"\n >\n <div class=\"row\">\n <div\n class=\"col\"\n [ngClass]=\"input.cols\"\n *ngFor=\"let input of _fields; trackBy: identify\"\n >\n <div class=\"mb-3\">\n <ng-container *ngIf=\"isText(input.type)\">\n <rlb-input\n [formControlName]=\"input.property\"\n [type]=\"input.type\"\n [placeholder]=\"input.name | translate\"\n >\n <ng-container *ngIf=\"input.label\" before>\n <span #after [innerHTML]=\"\">\n {{ input.label | translate }}\n </span>\n </ng-container>\n </rlb-input>\n </ng-container>\n <ng-container *ngIf=\"isSwitch(input.type)\">\n <rlb-switch\n [formControlName]=\"input.property\"\n />\n </ng-container>\n </div>\n </div>\n </div>\n <ng-container *ngIf=\"!noSubmit\">\n <div class=\"row\">\n <div class=\"col\">\n <button\n class=\"btn btn-primary float-end\"\n [disabled]=\"!filterForm.valid\"\n >\n {{ \"common.filter\" | translate }}\n </button>\n </div>\n </div>\n </ng-container>\n </form>\n</ng-template>\n","import { DateTzPipe } from './date-tz.pipe';\nimport { MonthFormatterPipe } from \"./month-formatter.pipe\";\nimport { DayOfWeekPipe } from \"./day-formatter.pipe\";\n\nexport * from './date-tz.pipe';\nexport * from './month-formatter.pipe';\nexport * from './day-formatter.pipe';\n\nexport const PIPES = [\n DateTzPipe,\n MonthFormatterPipe,\n DayOfWeekPipe\n];\n","import { Type } from '@angular/core';\nimport { ComponentInfo } from './data/component-info';\n\nexport class GenericComponent implements ComponentInfo {\n constructor(public component: Type<any>) {}\n public name!: string;\n public data!: any;\n}\n","import { ComponentHostDirective } from './component-host.directive';\n\nexport * from './data/component-creation-options';\nexport * from './data/component-data';\nexport * from './data/component-info';\nexport * from './builder.component';\nexport * from './component-host.directive';\nexport * from './generic.component';\n\nexport const COMPONENT_BUILDER = [ComponentHostDirective];\n","import { CdkDrag, CdkDragPlaceholder, CdkDragPreview, CdkDropList, CdkDropListGroup } from \"@angular/cdk/drag-drop\";\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { COMPONENTS } from './components';\nimport { TABLE } from './data/datatable';\nimport { INPUTS } from './forms/inputs';\nimport { FormFieldsComponent } from './forms/rlb-form-fields/rlb-form-fields.component';\nimport { PIPES } from './pipes';\nimport { COMPONENT_BUILDER } from './shared/component-builder';\n\n@NgModule({\n declarations: [\n ...TABLE,\n ...INPUTS,\n ...COMPONENTS,\n ...COMPONENT_BUILDER,\n ...PIPES,\n FormFieldsComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TranslateModule,\n RouterModule,\n CdkDrag,\n CdkDropListGroup,\n CdkDropList,\n CdkDragPlaceholder,\n CdkDragPreview\n ],\n exports: [\n ...TABLE,\n ...INPUTS,\n ...COMPONENTS,\n ...PIPES,\n FormFieldsComponent\n ],\n providers: [],\n})\nexport class RlbBootstrapModule { }\n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport { IModal, ModalData, ModalDirective } from '../components';\nimport { SearchModalInput } from './search-modal.data';\nimport { RlbBootstrapModule } from '../rlb-bootstrap.module';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n imports: [RlbBootstrapModule, FormsModule, CommonModule],\n standalone: true,\n template: ` <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{ data.title }}</h5>\n <button\n type=\"button\"\n class=\"btn-close\"\n aria-label=\"Close\"\n data-modal-reason=\"close\"\n ></button>\n </div>\n <div class=\"modal-body\">\n <h6>{{ data.content.searchText }}</h6>\n <rlb-input\n class=\"search-input\"\n [placeholder]=\"data.content.placeholder\"\n [(ngModel)]=\"searchText\"\n (keyup.enter)=\"onEnter()\"\n >\n <button\n #btn\n after\n rlb-button\n outline\n data-modal-reason=\"ok\"\n (click)=\"textSel()\"\n >\n <i class=\"bi bi-search\"></i>\n </button>\n </rlb-input>\n </div>`,\n hostDirectives: [\n {\n directive: ModalDirective,\n inputs: ['id', 'data-instance', 'data-options'],\n },\n ]\n})\nexport class SearchModalComponent\n implements IModal<SearchModalInput, string>, OnInit {\n @ViewChild('btn') btn!: ElementRef<HTMLElement>;\n\n data!: ModalData<SearchModalInput>;\n valid?: boolean = true;\n result?: string;\n searchText?: string;\n\n textSel() {\n this.result = this.searchText;\n }\n\n onEnter() { }\n\n ngOnInit(): void { }\n}\n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport { IModal, ModalData, ModalDirective } from '../components';\nimport { SearchModalInput } from './search-modal.data';\nimport { RlbBootstrapModule } from '../rlb-bootstrap.module';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { CommonModalData } from './common-modal.data';\n\n@Component({\n standalone: true,\n imports: [ModalDirective, RlbBootstrapModule, FormsModule, CommonModule],\n template: `\n <div [class]=\"'modal-header' + headerColor\">\n <h5 class=\"modal-title\">{{ data.title }}</h5>\n <button type=\"button\" class=\"btn-close\" aria-label=\"Close\" data-modal-reason=\"close\"></button>\n </div>\n <div class=\"modal-body\">\n <h6 *ngIf=\"data.content?.header\">\n {{ data.content.header }}\n </h6>\n <span>\n {{ data.content.body }}\n </span>\n </div>\n <div class=\"modal-footer\">\n <button *ngIf=\"data.cancel\" class=\"me-2\" rlb-button outline data-modal-reason=\"cancel\">\n {{ data.cancel }}\n </button>\n <button rlb-button data-modal-reason=\"ok\" [disabled]=\"!valid\">\n {{ data.ok }}\n </button>\n </div>\n `,\n hostDirectives: [\n {\n directive: ModalDirective,\n inputs: ['id', 'data-instance', 'data-options'],\n },\n ]\n})\nexport class CommonModalComponent\n implements IModal<CommonModalData, void>, OnInit {\n @ViewChild('btn') btn!: ElementRef<HTMLElement>;\n\n data!: ModalData<CommonModalData>;\n valid?: boolean = true;\n searchText?: string;\n\n get headerColor() {\n return this.data.type ? ` bg-${this.data.type}` : '';\n }\n\n onEnter() { }\n\n ngOnInit(): void { }\n}\n","export function createArrayProxy<T>(backingArray: T[], values: T[]): T[] {\n return new Proxy(backingArray, {\n get(target: T[], prop: string | number | symbol, receiver) {\n return target.includes(values[Number(prop)]);\n },\n set(target: T[], prop: string | number | symbol, value: T, receiver) {\n if (value) {\n if (!target.includes(values[Number(prop)])) {\n target.push(values[Number(prop)]);\n }\n } else {\n target.splice(target.indexOf(values[Number(prop)]), 1);\n }\n return true;\n },\n });\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\n\nexport const dateRangeValidator: ValidatorFn = (group: AbstractControl): ValidationErrors | null => {\n const startControl = group.get('start');\n const endControl = group.get('end');\n\n if (!startControl || !endControl || !startControl.value || !endControl.value) {\n return null;\n }\n\n const start = startControl.value.timestamp;\n const end = endControl.value.timestamp\n\n if (end < start) {\n startControl.setErrors({ invalidDateRange: true })\n endControl.setErrors({ invalidDateRange: true })\n return { invalidDateRange: true };\n }\n\n startControl.setErrors(null);\n endControl.setErrors(null);\n return null;\n};\n","import { Component, OnDestroy, OnInit } from \"@angular/core\";\nimport { CalendarEvent, IModal, ModalData, ModalDirective } from '../../../index';\nimport { RlbBootstrapModule } from \"../../../../rlb-bootstrap.module\";\nimport { FormBuilder, FormGroup, ReactiveFormsModule, Validators } from \"@angular/forms\";\nimport { CommonModule } from \"@angular/common\";\nimport { Color } from \"../../../../shared/types\";\nimport { Subject, takeUntil } from \"rxjs\";\nimport { UniqueIdService } from \"../../../../shared/unique-id.service\";\nimport { IDateTz } from \"@open-rlb/date-tz\";\nimport { dateRangeValidator } from \"./event-date-validator\";\n\n@Component({\n\tstandalone: true,\n\ttemplate: `\n\t\t<div [class]=\"'modal-header' + headerColor\">\n <h5 class=\"modal-title\">{{ data.title }}</h5>\n\t\t\t<button type=\"button\" class=\"btn-close\" aria-label=\"Close\" data-modal-reason=\"close\"></button>\n\t\t</div>\n <div class=\"modal-body\" [formGroup]=\"form\">\n <rlb-input enable-validation formControlName=\"title\">\n <label before>Event title</label>\n </rlb-input>\n <rlb-input enable-validation type=\"datetime-local\" date-type=\"date-tz\" formControlName=\"start\">\n <label before class=\"mt-3\">Event start</label>\n </rlb-input>\n <rlb-input enable-validation type=\"datetime-local\" date-type=\"date-tz\" formControlName=\"end\">\n <label before class=\"mt-3\">Event end</label>\n </rlb-input>\n <rlb-select enable-validation [placeholder]=\"'Choose event color'\" formControlName=\"color\">\n <label before class=\"mt-3\">Event color</label>\n <ng-container *ngFor=\"let color of colors\">\n <rlb-option [value]=\"color\">\n {{ color }}\n </rlb-option>\n </ng-container>\n </rlb-select>\n </div>\n\t\t<div class=\"modal-footer\">\n <button\n type=\"button\"\n class=\"btn \"\n data-modal-reason=\"cancel\"\n [ngClass]=\"{ 'btn-secondary': !eventToEdit, 'btn-danger': eventToEdit }\"\n >\n {{ eventToEdit ? 'Delete event' : 'Close' }}\n\t\t\t</button>\n <button type=\"button\" [disabled]=\"!valid\" class=\"btn btn-primary\" data-modal-reason=\"ok\">\n\t\t\t\tSave changes\n\t\t\t</button>\n\t\t</div>\n\t`,\n\thostDirectives: [\n\t\t{\n\t\t\tdirective: ModalDirective,\n\t\t\tinputs: ['id', 'data-instance', 'data-options'],\n\t\t},\n\t],\n imports: [RlbBootstrapModule, CommonModule, ReactiveFormsModule],\n})\nexport class EventCreateEditComponent implements IModal<CalendarEvent | undefined, CalendarEvent>, OnInit, OnDestroy {\n data!: ModalData<CalendarEvent>;\n result?: CalendarEvent;\n form!: FormGroup;\n colors: Color[] = [\n 'primary',\n 'secondary',\n 'success',\n 'warning',\n 'danger',\n 'info',\n 'light',\n 'dark',\n ]\n\n eventToEdit!: CalendarEvent;\n\n destroy$ = new Subject<void>();\n\n constructor(private fb: FormBuilder, private unique: UniqueIdService) {\n }\n\n ngOnInit() {\n this.eventToEdit = this.data.content\n this.form = this.fb.group({\n id: [this.eventToEdit ? this.eventToEdit.id : this.unique.id],\n title: [this.eventToEdit ? this.eventToEdit.title : \"\", Validators.required],\n start: [this.eventToEdit ? this.eventToEdit.start : \"\", Validators.required],\n end: [this.eventToEdit ? this.eventToEdit.end : \"\", Validators.required],\n color: [this.eventToEdit ? this.eventToEdit.color : \"\", Validators.required],\n }, { validators: dateRangeValidator })\n\n this.form.valueChanges.pipe(\n takeUntil(this.destroy$)\n ).subscribe((value: CalendarEvent) => {\n this.result = this.handleFormValueChange(value)\n })\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n }\n\n get headerColor() {\n\t\treturn this.data.type ? ` bg-${this.data.type}` : '';\n\t}\n\n get valid(): boolean {\n return !this.form.pristine && this.form.valid\n }\n\n private handleFormValueChange(formValue: CalendarEvent): CalendarEvent {\n const start = this.roundToQuarter(formValue.start);\n const end = this.roundToQuarter(formValue.end);\n return {\n ...formValue,\n start,\n end\n } as CalendarEvent;\n }\n\n private roundToQuarter(date?: IDateTz): IDateTz | string {\n if (date) {\n const minutes = date.minute!;\n const roundedMinutes = Math.round(minutes / 15) * 15;\n return date.set!(roundedMinutes, 'minute');\n }\n\n return \"\"\n }\n}\n","import { Component, OnInit } from \"@angular/core\";\nimport { CalendarEvent, IModal, ModalData, ModalDirective } from '../../../index';\nimport { CommonModule } from \"@angular/common\";\nimport { RlbBootstrapModule } from \"../../../../rlb-bootstrap.module\";\n\n@Component({\n standalone: true,\n template: `\n\t\t<div [class]=\"'modal-header' + headerColor\">\n <h5 class=\"modal-title\">{{ data.title }}</h5>\n\t\t\t<button type=\"button\" class=\"btn-close\" aria-label=\"Close\" data-modal-reason=\"close\"></button>\n\t\t</div>\n <div class=\"modal-body\">\n <div class=\"d-flex flex-column gap-1 overflow-y-auto p-3\" [style.height.rem]=\"containerHeightRem\">\n <rlb-card class=\"mb-0 shadow-lg rounded\" [border]=\"event.color\" *ngFor=\"let event of data.content\">\n <rlb-card-body class=\"d-flex align-items-center justify-content-between\">\n <div>\n <span rlb-badge pill [color]=\"event.color\">&nbsp;</span>\n <span>\n {{ event.title }}\n </span>\n </div>\n <div class=\"d-flex align-items-center gap-2\">\n <rlb-fab\n (click)=\"closeDialog(event, 'edit')\"\n data-modal-reason=\"ok\"\n class=\"align-self-end\"\n size=\"xs\"\n outline\n >\n <i class=\"bi bi-pencil\"></i>\n </rlb-fab>\n <rlb-fab\n (click)=\"closeDialog(event, 'delete')\"\n data-modal-reason=\"ok\"\n class=\"align-self-end\"\n size=\"xs\"\n color=\"danger\"\n outline\n >\n <i class=\"bi bi-trash\"></i>\n </rlb-fab>\n </div>\n </rlb-card-body>\n </rlb-card>\n </div>\n </div>\n\t\t<div class=\"modal-footer\">\n <button\n rlb-button\n color=\"secondary\"\n data-modal-reason=\"cancel\"\n >\n {{ 'Close' }}\n\t\t\t</button>\n\t\t</div>\n\t`,\n hostDirectives: [\n {\n directive: ModalDirective,\n inputs: ['id', 'data-instance', 'data-options'],\n },\n ],\n imports: [CommonModule, RlbBootstrapModule]\n})\nexport class CalendarOverflowEventsContainerComponent implements IModal<CalendarEvent[], CalendarOverflowEventsDialogResult>, OnInit {\n data!: ModalData<CalendarEvent[]>;\n containerHeightRem = 25;\n result: CalendarOverflowEventsDialogResult = {\n action: '' as CalendarOverflowEventDialogActionType,\n event: undefined as unknown as CalendarEvent\n };\n\n get headerColor() {\n return this.data.type ? ` bg-${this.data.type}` : '';\n }\n\n get valid(): boolean {\n return true\n }\n\n ngOnInit() {\n }\n\n closeDialog(event: CalendarEvent, action: CalendarOverflowEventDialogActionType) {\n this.result = { event, action }\n }\n}\n\nexport interface CalendarOverflowEventsDialogResult {\n action: CalendarOverflowEventDialogActionType,\n event: CalendarEvent\n}\n\nexport type CalendarOverflowEventDialogActionType = 'delete' | 'edit'\n","import { Component } from '@angular/core';\nimport { ToastDirective } from \"../../../toast/toast.directive\";\nimport { IToast } from \"../../../toast/data/toast\";\nimport { ToastData } from \"../../../toast/data/toast-data\";\nimport { CommonModule } from \"@angular/common\";\nimport { RlbBootstrapModule } from \"../../../../rlb-bootstrap.module\";\n\n@Component({\n template: `\n <div class=\"toast-header\">\n <strong class=\"me-auto\">{{data.title}}</strong>\n <small *ngIf=\"data.subtitle\"> {{data.subtitle }}</small>\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"toast\" aria-label=\"Close\"></button>\n </div>\n <div class=\"toast-body\">{{data.content}}</div>\n `,\n hostDirectives: [\n {\n directive: ToastDirective,\n inputs: ['id', 'data-instance', 'data-options'],\n },\n ],\n standalone: true,\n imports: [CommonModule, RlbBootstrapModule]\n})\nexport class CalendarToastComponent implements IToast<string, void> {\n data!: ToastData<string>;\n valid?: boolean = true;\n result?: any;\n}\n\n","/*\n * Public API Surface of ng-bootstrap\n */\n\nimport { EnvironmentProviders, Provider } from '@angular/core';\nimport {\n CalendarOverflowEventsContainerComponent,\n CalendarToastComponent,\n CommonModalComponent,\n EventCreateEditComponent,\n ModalRegistryOptions,\n RlbBootstrapModule,\n SearchModalComponent,\n ToastRegistryOptions\n} from './public-api';\n\n\nexport * from './lib/components';\nexport * from './lib/data/datatable';\nexport * from './lib/forms/inputs';\nexport * from './lib/forms/rlb-form-fields/rlb-form-fields.component';\nexport * from './lib/pipes';\nexport * from './lib/rlb-bootstrap.module';\n\nexport * from './lib/interfaces';\nexport * from './lib/modals';\nexport * from './lib/shared/i18-abstraction';\nexport * from './lib/shared/types';\nexport * from './lib/shared/unique-id.service';\nexport * from './lib/utils';\n\nexport * from './lib/components/calendar/calendar-dialogs/index';\n\nexport function provideRlbBootstrap(): (EnvironmentProviders | Provider)[] {\n return [\n RlbBootstrapModule,\n {\n provide: ModalRegistryOptions, useValue: {\n modals: {\n 'rlb-search': SearchModalComponent,\n 'rlb-common': CommonModalComponent,\n 'rlb-calendar-event-create-edit': EventCreateEditComponent,\n 'rlb-calendar-overlow-events-container': CalendarOverflowEventsContainerComponent\n }\n } as ModalRegistryOptions, multi: true\n },\n {\n provide: ToastRegistryOptions,\n useValue: {\n toasts: {\n \"rlb-calendar-toast\": CalendarToastComponent\n }\n },\n multi: true,\n },\n ];\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ButtonToolbarComponent","i1.ButtonComponent","i2.ToggleDirective","i1.UniqueIdService","i2","i1.ModalRegistryOptions","i3.UniqueIdService","i1.InnerModalService","i2.ComponentHostDirective","i1","i2.ButtonComponent","i1.ToastRegistryOptions","i2.UniqueIdService","i1.InnerToastService","i2.DropdownComponent","i3.DropdownContainerComponent","i4.DropdownMenuItemComponent","i5.DropdownDirective","i6","i7.DateTzPipe","i8.MonthFormatterPipe","i2.DateTzPipe","DateTz","i3.CalendarEventComponent","i4.DateTzPipe","i5.DayOfWeekPipe","i2.CalendarWeekGridComponent","i3.CalendarMonthGridComponent","i1.ModalService","i3.ToastService","i4","i5.ButtonComponent","i6.CalendarHeaderComponent","i7.CalendarGrid","i3.DropdownComponent","i4.DropdownContainerComponent","i2.BadgeComponent","i3.AvatarComponent","i3.ToggleDirective","i2.RlbPlaceholderComponent","i3.RlbPlaceholderLineComponent","i3","i4.BadgeDirective","i5.CollapseComponent","i6.ToggleDirective","i1.TooltipDirective","i1.ToggleDirective","i2.DataTableCellComponent","i4.InputValidationComponent","i4.DataTableCellComponent","i5.DataTableRowComponent","i6.SelectComponent","i7.OptionComponent","i5.ProgressComponent","i2.DndDirective","i3.ButtonComponent","i4.ProgressComponent","i3.InputComponent","i4.SwitchComponent","i1.DataTableActionComponent","i2.DataTableActionsComponent","i3.DataTableCellComponent","i4.DataTableHeaderComponent","i6.DataTableComponent","i7.DataTableLoadingComponent","i8.DataTableNoItemsComponent","i9.AutocompleteComponent","i10.CheckboxComponent","i11.InputComponent","i12.SwitchComponent","i13.TextAreaComponent","i14.ColorComponent","i15.DatalistComponent","i16.RangeComponent","i17.SelectComponent","i18.RadioComponent","i19.OptionComponent","i20.FileComponent","i21.InputGroupComponent","i22.HelpText","i23.DndDirective","i24.FileDndComponent","i25.InputValidationComponent","i26.AutocompleteCountryComponent","i27.AutocompleteTimezonesComponent","i28.AutocompleteCountryDialCodeComponent","i29.AlertComponent","i30.BreadcrumbComponent","i31.AccordionComponent","i32.AccordionItemComponent","i33.AccordionHeaderComponent","i34.AccordionBodyComponent","i35.ButtonComponent","i36.ButtonCloseComponent","i37.ButtonGroupComponent","i38.ButtonToolbarComponent","i39.RlbFabComponent","i40.BadgeDirective","i41.BadgeComponent","i42.CardBodyComponent","i43.CardFooterComponent","i44.CardGroupComponent","i45.CardHeaderComponent","i46.CardImageComponent","i47.CardLinkComponent","i48.CardSubtitleComponent","i49.CardTextComponent","i50.CardTitleComponent","i51.CardComponent","i52.SpinnerComponent","i53.ProgressComponent","i54.TooltipDirective","i55.PopoverDirective","i56.PlaceholderDirective","i57.CollapseComponent","i58.DropdownComponent","i59.DropdownContainerComponent","i60.DropdownMenuItemComponent","i61.DropdownDirective","i62.NavbarBrandDirective","i63.NavbarComponent","i64.NavbarFormComponent","i65.NavbarTextComponent","i66.NavbarItemsComponent","i67.NavbarDropdownItemComponent","i68.NavbarItemComponent","i69.NavbarSeparatorComponent","i70.OffcanvasComponent","i71.OffcanvasHeaderComponent","i72.OffcanvasTitleComponent","i73.OffcanvasBodyComponent","i74.ToggleDirective","i75.SidebarComponent","i76.SidebarItemComponent","i77.NavComponent","i78.NavItemComponent","i79.TabsComponent","i80.TabComponent","i81.TabContentComponent","i82.TabPaneComponent","i83.PaginationItemComponent","i84.PaginationComponent","i85.ScrollspyDirective","i86.CarouselComponent","i87.CarouselCaptionComponent","i88.CarouselSlideComponent","i89.ListComponent","i90.ListItemComponent","i91.ListItemImageComponent","i92.AvatarComponent","i93.ChatContainerComponent","i94.ChatItemComponent","i95.RlbPlaceholderComponent","i96.RlbPlaceholderLineComponent","i97.RlbPlaceholderTextComponent","i98.ModalContainerComponent","i99.ToastContainerComponent","i100.CalendarComponent","i101.CalendarHeaderComponent","i102.CalendarGrid","i103.CalendarWeekGridComponent","i104.CalendarMonthGridComponent","i105.CalendarEventComponent","i106.ComponentHostDirective","i107.DateTzPipe","i108.MonthFormatterPipe","i109.DayOfWeekPipe","i1.ModalDirective","i2.InputComponent","i3.ModalDirective","i4.InputComponent","i5.SelectComponent","i6.OptionComponent","i7","i4.RlbFabComponent","i5.BadgeComponent","i6.CardBodyComponent","i7.CardComponent","i1.ToastDirective"],"mappings":"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"}