@open-rlb/ng-bootstrap 3.1.2 → 3.1.3
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/shared/breakpoint.service.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/interfaces/calendar-layout.interface.ts","../../../../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/day/calendar-day-grid.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/grid/day/calendar-day-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.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/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.service.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/data/datatable/dt-noitems.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/data/datatable/dt-loading.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/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-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, signal } 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 = signal<string | undefined>(undefined);\n public itemId = signal<string | undefined>(undefined);\n public expanded = signal(false);\n}\n","import {\n booleanAttribute,\n Component,\n input,\n} 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 color = input<Color | undefined>('primary');\n size = input<Size | undefined>('md');\n disabled = input(false, { transform: booleanAttribute });\n outline = input(false, { transform: booleanAttribute });\n isLink = input(false, { transform: booleanAttribute });\n\n mainClass() {\n let style = '';\n const isLink = this.isLink();\n const color = this.color();\n const outline = this.outline();\n const size = this.size();\n\n if (!isLink) {\n style = 'btn';\n if (color) {\n if (outline) {\n style += ` btn-outline-${color}`;\n } else {\n style += ` btn-${color}`;\n }\n }\n if (size !== 'md') {\n style += ` btn-${size}`;\n }\n } else {\n style = 'btn btn-link';\n if (color) {\n style += ` link-${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 orientation = input<'horizontal' | 'vertical'>('horizontal', { alias: 'orientation' });\n size = input<'sm' | 'md' | 'lg'>('md', { alias: 'size' });\n}\n","import {\n booleanAttribute,\n Directive,\n effect,\n ElementRef,\n Host,\n input,\n Optional,\n Renderer2,\n Self\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 {\n toggle = input.required<'offcanvas' | 'collapse' | 'tab' | 'pill' | 'dropdown' | 'buttons-group'>({ alias: 'toggle' });\n target = input.required<string>({ alias: 'toggle-target' });\n collapsed = input(false, { transform: booleanAttribute });\n autoClose = input<'default' | 'inside' | 'outside' | 'manual'>('default', { alias: 'auto-close' });\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n @Host() @Self() @Optional() public buttonToolbar: ButtonToolbarComponent,\n ) {\n effect(() => {\n const element = this.elementRef.nativeElement;\n const toggle = this.toggle();\n const target = this.target();\n const collapsed = this.collapsed();\n const autoClose = this.autoClose();\n\n this.renderer.setAttribute(element, 'data-bs-toggle', toggle);\n\n if (autoClose === 'default') {\n this.renderer.setAttribute(element, 'data-bs-auto-close', 'true');\n } else if (autoClose === 'inside') {\n this.renderer.setAttribute(element, 'data-bs-auto-close', 'inside');\n } else if (autoClose === 'outside') {\n this.renderer.setAttribute(element, 'data-bs-auto-close', 'outside');\n } else if (autoClose === 'manual') {\n this.renderer.setAttribute(element, 'data-bs-auto-close', 'false');\n }\n\n if (collapsed === true) {\n this.renderer.addClass(element, 'collapsed');\n this.renderer.setAttribute(element, 'aria-expanded', 'false');\n } else {\n this.renderer.removeClass(element, 'collapsed');\n this.renderer.setAttribute(element, 'aria-expanded', 'true');\n }\n\n this.renderer.setAttribute(element, 'aria-controls', target);\n\n if (toggle === 'dropdown' && target === '#') {\n this.renderer.setAttribute(element, 'href', '#');\n } else if (element?.nodeName.toLowerCase() === 'a') {\n this.renderer.setAttribute(element, 'href', `#${target}`);\n } else {\n this.renderer.setAttribute(element, 'data-bs-target', `#${target}`);\n }\n });\n }\n}\n","import { Component, signal } 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 = signal<string | undefined>(undefined);\n public itemId = signal<string | undefined>(undefined);\n public expanded = signal(false);\n}\n","import {\n AfterContentChecked,\n ElementRef,\n Injectable,\n OnDestroy,\n OnInit,\n OutputEmitterRef\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, 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: OutputEmitterRef<VisibilityEvent>;\n abstract status?: VisibilityEvent;\n\n constructor(protected elementRef?: ElementRef<HTMLElement>) {\n }\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 this._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 this._removeEventListeners();\n this._component?.dispose();\n }\n\n // We handle status changes via inputs/effects in children or by manual calls\n // The original ngOnChanges was used to react to status input changes.\n // Children will now use model() or effects to achieve this.\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 this.ensureInstance();\n this._component?.show();\n }\n\n close() {\n this.ensureInstance();\n this._component?.hide();\n }\n\n toggle() {\n this.ensureInstance();\n this._component?.toggle();\n }\n\n protected ensureInstance(): void {\n if (!this._component && this.htmlElement) {\n this._component = this.getOrCreateInstance(this.htmlElement);\n }\n }\n\n private _addEventListeners(): void {\n this.htmlElement?.addEventListener(`hide.${this.eventPrefix}`, this._openChange_f);\n this.htmlElement?.addEventListener(`hidden.${this.eventPrefix}`, this._openChange_f);\n this.htmlElement?.addEventListener(`hidePrevented.${this.eventPrefix}`, this._openChange_f);\n this.htmlElement?.addEventListener(`show.${this.eventPrefix}`, this._openChange_f);\n this.htmlElement?.addEventListener(`shown.${this.eventPrefix}`, this._openChange_f);\n }\n\n private _removeEventListeners(): void {\n this.htmlElement?.removeEventListener(`hide.${this.eventPrefix}`, this._openChange_f);\n this.htmlElement?.removeEventListener(`hidden.${this.eventPrefix}`, this._openChange_f);\n this.htmlElement?.removeEventListener(`hidePrevented.${this.eventPrefix}`, this._openChange_f);\n this.htmlElement?.removeEventListener(`show.${this.eventPrefix}`, this._openChange_f);\n this.htmlElement?.removeEventListener(`shown.${this.eventPrefix}`, this._openChange_f);\n }\n\n protected _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 computed,\n contentChild,\n effect,\n ElementRef,\n input,\n OnInit,\n output,\n signal,\n ViewContainerRef,\n} from '@angular/core';\nimport { Collapse } from 'bootstrap';\nimport { VisibilityEvent } from '../../shared/types';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { ToggleAbstractComponent } from '../abstract/toggle-abstract.component';\nimport { AccordionBodyComponent } from './accordion-body.component';\nimport { AccordionHeaderComponent } from './accordion-header.component';\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 OnInit {\n\n element!: HTMLElement;\n public parentId = signal<string | undefined>(undefined);\n public alwaysOpen = signal(false);\n\n name = input<string | undefined>(undefined, { alias: 'name' });\n expanded = input(false, { alias: 'expanded', transform: booleanAttribute });\n cssClass = input('', { alias: 'class' });\n style = input<string | undefined>(undefined, { alias: 'style' });\n // We use a property for status because the base class updates it.\n // We'll sync it with an input via effect if provided.\n public override status: VisibilityEvent = 'hidden';\n public override statusChange = output<VisibilityEvent>({ alias: 'statusChange' });\n\n header = contentChild(AccordionHeaderComponent);\n body = contentChild(AccordionBodyComponent);\n\n private _internalName = signal('');\n effectiveName = computed(() => {\n const pId = this.parentId();\n if (!pId) return '';\n return this.name() || `${pId}-${this._internalName()}`;\n });\n\n constructor(\n elementRef: ElementRef<HTMLElement>,\n private viewContainerRef: ViewContainerRef,\n private idService: UniqueIdService\n ) {\n super(elementRef);\n this._internalName.set(`item${this.idService.id}`);\n\n effect(() => {\n const pId = this.parentId();\n const name = this.effectiveName();\n if (pId && name) {\n const isOpen = this.status === 'show' || this.status === 'shown';\n const header = this.header();\n const body = this.body();\n\n if (header) {\n header.parentId.set(pId);\n header.itemId.set(name);\n header.expanded.set(isOpen);\n }\n\n if (body) {\n body.parentId.set(pId);\n body.itemId.set(name);\n body.expanded.set(isOpen);\n }\n }\n });\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 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 booleanAttribute,\n Component,\n computed,\n contentChildren,\n effect,\n input,\n OnDestroy,\n OutputRefSubscription,\n signal,\n} from '@angular/core';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { AccordionItemComponent } from './accordion-item.component';\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]': 'effectiveId()',\n },\n standalone: false\n})\nexport class AccordionComponent implements OnDestroy {\n flush = input(false, { alias: 'flush', transform: booleanAttribute });\n alwaysOpen = input(false, { alias: 'always-open', transform: booleanAttribute });\n id = input<string | undefined>(undefined, { alias: 'id' });\n\n private _internalId = signal('');\n effectiveId = computed(() => this.id() || this._internalId());\n\n private subs: OutputRefSubscription[] = [];\n\n items = contentChildren(AccordionItemComponent);\n\n constructor(private idService: UniqueIdService) {\n this._internalId.set(`accordion${this.idService.id}`);\n\n effect(() => {\n this.syncItems();\n });\n }\n\n private syncItems(): void {\n const items = this.items();\n const id = this.effectiveId();\n const alwaysOpen = this.alwaysOpen();\n\n items.forEach((item) => {\n item.parentId.set(id);\n item.alwaysOpen.set(alwaysOpen);\n });\n\n this.attachItemHandlers();\n this.enforceInitialState();\n }\n\n ngOnDestroy(): void {\n this.cleanup();\n }\n\n private attachItemHandlers(): void {\n this.cleanup();\n const items = this.items();\n const alwaysOpen = this.alwaysOpen();\n const id = this.effectiveId();\n\n items.forEach((item) => {\n item.parentId.set(id);\n item.alwaysOpen.set(alwaysOpen);\n\n const sub = item.statusChange.subscribe((ev) => {\n if (!alwaysOpen && (ev === 'show' || ev === 'shown')) {\n 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 const items = this.items();\n if (items.length === 0) return;\n\n if (this.alwaysOpen()) {\n return;\n }\n\n const opened = 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 booleanAttribute,\n Component,\n input,\n OnInit,\n output,\n TemplateRef,\n viewChild,\n ViewContainerRef,\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 @if (dismissible()) {\n <button\n type=\"button\"\n class=\"btn-close\"\n data-bs-dismiss=\"alert\"\n aria-label=\"Close\"\n (click)=\"dismissed.emit()\"\n ></button>\n }\n </div>\n </ng-template>`,\n standalone: false\n})\nexport class AlertComponent implements OnInit {\n element!: HTMLElement;\n\n color = input<Color>('primary', { alias: 'color' });\n dismissible = input(false, { alias: 'dismissible', transform: booleanAttribute });\n cssClass = input<string | undefined>(undefined, { alias: 'class' });\n\n dismissed = output<void>();\n\n template = viewChild.required<TemplateRef<any>>('template');\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 booleanAttribute,\n Component,\n computed,\n input,\n OnInit,\n TemplateRef,\n viewChild,\n ViewContainerRef,\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 @if (hiddenText()) {\n <span class=\"visually-hidden\">{{ hiddenText() }}</span>\n }\n </span>\n </ng-template>`,\n standalone: false\n})\nexport class BadgeComponent implements OnInit {\n element!: HTMLElement;\n\n pill = input(false, { alias: 'pill', transform: booleanAttribute });\n color = input<Color | undefined>('primary', { alias: 'color' });\n hiddenText = input<string | undefined>(undefined, { alias: 'hidden-text' });\n border = input(false, { alias: 'border', transform: booleanAttribute });\n cssClass = input<string | undefined>('', { alias: 'class' });\n\n template = viewChild.required<TemplateRef<any>>('template');\n\n style = computed(() => {\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 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 AfterViewInit,\n booleanAttribute,\n Directive,\n effect,\n ElementRef,\n input,\n numberAttribute,\n Renderer2,\n} from '@angular/core';\nimport { Color } from '../../shared/types';\n\n@Directive({\n selector: '[badge]',\n standalone: false,\n})\nexport class BadgeDirective implements AfterViewInit {\n badge = input<string | number | undefined>(undefined, { alias: 'badge' });\n pill = input(false, { alias: 'badge-pill', transform: booleanAttribute });\n border = input(false, { alias: 'badge-border', transform: booleanAttribute });\n top = input<number | undefined, unknown>(undefined, {\n alias: 'badge-top',\n transform: numberAttribute,\n });\n start = input<number | undefined, unknown>(undefined, {\n alias: 'badge-start',\n transform: numberAttribute,\n });\n color = input<Color>('danger', { alias: 'badge-color' });\n hiddenText = input<string | undefined>(undefined, { alias: 'hidden-text' });\n dot = input(false, { alias: 'badge-dot', transform: booleanAttribute });\n\n private badgeContent!: any;\n private badgeElement!: HTMLElement;\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n ) {\n effect(() => {\n this.updateBadge();\n });\n }\n\n ngAfterViewInit() {\n this.createBadgeElement();\n }\n\n private updateBadge() {\n if (!this.badgeElement) return;\n const badgeValue = this.castToString(this.badge());\n if (badgeValue) {\n if (this.badgeContent) {\n this.badgeContent.data = badgeValue;\n this.badgeElement.style.display = 'inline';\n } else {\n this.badgeContent = this.renderer.createText(badgeValue);\n this.renderer.appendChild(this.badgeElement, this.badgeContent);\n this.badgeElement.style.display = 'inline';\n }\n } else {\n this.badgeElement.style.display = 'none';\n }\n }\n\n private createBadgeElement() {\n this.badgeElement = this.renderer.createElement('span');\n\n const top = this.top();\n const start = this.start();\n const color = this.color();\n const pill = this.pill();\n const border = this.border();\n const hiddenText = this.hiddenText();\n const badgeValue = this.castToString(this.badge());\n\n if (top || start || top === 0 || start === 0) {\n this.renderer.addClass(this.badgeElement, 'position-absolute');\n if (top || top === 0) {\n this.renderer.addClass(this.badgeElement, `top-${top}`);\n }\n if (start || start === 0) {\n this.renderer.addClass(this.badgeElement, `start-${start}`);\n }\n this.renderer.addClass(this.badgeElement, 'translate-middle');\n }\n this.renderer.addClass(this.badgeElement, 'badge');\n if (pill) {\n this.renderer.addClass(this.badgeElement, 'rounded-pill');\n }\n if (border) {\n this.renderer.addClass(this.badgeElement, 'rounded-border');\n }\n if (color) {\n this.renderer.addClass(this.badgeElement, `bg-${color}`);\n }\n if (badgeValue) {\n this.badgeContent = this.renderer.createText(badgeValue);\n this.renderer.appendChild(this.badgeElement, this.badgeContent);\n } else if (this.dot()) {\n if (top || start || top === 0 || start === 0) {\n this.renderer.addClass(this.badgeElement, `p-2`);\n } else {\n this.renderer.addClass(this.badgeElement, `ps-0`);\n this.renderer.addClass(this.badgeElement, `ms-2`);\n }\n this.renderer.addClass(this.badgeElement, `border`);\n this.renderer.addClass(this.badgeElement, `border-light`);\n this.renderer.addClass(this.badgeElement, `rounded-circle`);\n if (!hiddenText) {\n const text = this.renderer.createElement('span');\n this.renderer.addClass(text, 'visually-hidden');\n this.renderer.appendChild(this.badgeElement, text);\n }\n } else {\n this.badgeElement.style.display = 'none';\n }\n if (hiddenText) {\n const text = this.renderer.createElement('span');\n this.renderer.addClass(text, 'visually-hidden');\n this.renderer.appendChild(text, this.renderer.createText(hiddenText));\n this.renderer.appendChild(this.badgeElement, text);\n }\n this.renderer.appendChild(this.elementRef.nativeElement, this.badgeElement);\n }\n\n private castToString(value: string | number | undefined): string {\n if (value && typeof value === 'number') {\n return value.toString();\n } else {\n return value as string;\n }\n }\n}\n","import { Component, input } from '@angular/core';\n\nexport interface BreadcrumbItem {\n id: string;\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 <ol class=\"breadcrumb\" [class]=\"cssClasses()\">\n @for (item of items(); track item.link; let last = $last) {\n <li class=\"breadcrumb-item\" [class.active]=\"!last\">\n @if (!last) {\n <a [routerLink]=\"item.link\">{{ item.label }}</a>\n }\n @if (last) {\n <span>{{ item.label }}</span>\n }\n </li>\n }\n </ol>\n </nav>`,\n standalone: false,\n})\nexport class BreadcrumbComponent {\n divider = input('>', { alias: 'divider' });\n items = input<BreadcrumbItem[]>([], { alias: 'items' });\n cssClasses = input('', { alias: 'cssClasses' });\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 orientation = input<'horizontal' | 'vertical'>('horizontal', { alias: 'orientation' });\n size = input<'sm' | 'md' | 'lg'>('md', { alias: 'size' });\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, signal } 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 = signal(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, signal } 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 position = input<'top' | 'bottom'>('top', { alias: 'position' });\n overlay = signal(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 booleanAttribute,\n Component,\n contentChild,\n effect,\n input,\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 {\n align = input<TextAlignment | undefined>('left', { alias: 'align' });\n overlay = input(false, { alias: 'overlay', transform: booleanAttribute });\n background = input<Color | undefined>(undefined, { alias: 'background' });\n border = input<Color | undefined>(undefined, { alias: 'border' });\n\n body = contentChild(CardBodyComponent);\n image = contentChild(CardImageComponent);\n\n constructor() {\n effect(() => {\n const isOverlay = this.overlay() ?? false;\n const body = this.body();\n if (body) {\n body.overlay.set(isOverlay);\n }\n const image = this.image();\n if (image) {\n image.overlay.set(isOverlay);\n }\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 active = input(false, { alias: 'active', transform: booleanAttribute });\n id = input('', { alias: 'id' });\n}","import {\n AfterViewInit,\n booleanAttribute,\n Component,\n computed,\n contentChildren,\n effect,\n ElementRef,\n input,\n model,\n numberAttribute,\n OnDestroy,\n output,\n} 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 @if (!hideIndicators()) {\n <div class=\"carousel-indicators\">\n @for (item of items(); track item; 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 }\n </div>\n }\n <div class=\"carousel-inner\">\n <ng-content select=\"rlb-carousel-slide\" />\n </div>\n @if (!hideControls()) {\n <button\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 }\n @if (!hideControls()) {\n <button\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 `,\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]': 'pauseProp() === false ? \"false\" : undefined',\n },\n standalone: false\n})\nexport class CarouselComponent implements OnDestroy, AfterViewInit {\n items = contentChildren(CarouselSlideComponent);\n\n _id = input<string | undefined>(undefined, { alias: 'id' });\n id = computed(() => this._id() || `carousel${this.idService.id}`);\n\n hideIndicators = input(false, { alias: 'hide-indicators', transform: booleanAttribute });\n hideControls = input(false, { alias: 'hide-controls', transform: booleanAttribute });\n crossFade = input(false, { alias: 'cross-fade', transform: booleanAttribute });\n autoplay = input<'auto' | 'manual' | 'none'>('auto');\n interval = input(500, { transform: numberAttribute });\n pauseProp = input<false | 'hover' | undefined>('hover', { alias: 'pause' });\n wrap = input(true, { transform: booleanAttribute });\n noTouch = input(false, { alias: 'no-touch', transform: booleanAttribute });\n keyboard = input(true, { transform: booleanAttribute });\n\n slid = output<Carousel.Event>();\n slide = output<Carousel.Event>();\n currentSlide = model(0, { alias: 'current-slide' });\n slideCountChange = output<number>({ alias: 'slide-count' });\n\n private carousel!: Carousel;\n\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n private idService: UniqueIdService,\n ) {\n effect(() => {\n const index = this.currentSlide();\n this.carousel?.to(index);\n });\n\n effect(() => {\n this.slideCountChange.emit(this.items().length);\n });\n }\n\n ngOnDestroy(): void {\n if (this.carousel) {\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\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() as any,\n },\n );\n this.carousel.to(this.currentSlide());\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_slide_handler(e));\n }\n\n private __event_slid_handler = (e: any): void => {\n this.currentSlide.set(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, input, OnDestroy, OnInit, output, ViewChild } from '@angular/core';\nimport { Collapse } from 'bootstrap';\nimport { VisibilityEvent } from '../../shared/types';\nimport { ToggleAbstractComponent } from '../abstract/toggle-abstract.component';\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 id = input.required<string>({ alias: 'id' });\n orientation = input<'horizontal' | 'vertical'>('vertical', { alias: 'orientation' });\n\n public override status: VisibilityEvent = 'hidden';\n public override statusChange = output<VisibilityEvent>({ alias: 'statusChange' });\n\n @ViewChild('collapseRef', { static: true }) collapseRef!: ElementRef<HTMLElement>;\n\n constructor(elementRef: ElementRef<HTMLElement>) {\n super(elementRef);\n }\n\n override ngOnInit(elemnt?: HTMLElement | Element) {\n super.ngOnInit(this.collapseRef.nativeElement);\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 { Component, ElementRef, input } from '@angular/core';\n\n@Component({\n selector: 'ul[rlb-dropdown-menu], rlb-dropdown-container',\n template: ` @if (isList) {\n <ng-content select=\"li[rlb-dropdown-item]\" />\n}\n@if (!isList) {\n <ng-content />\n}`,\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 placement = input<'left' | 'right' | undefined>(undefined, { alias: 'placement' });\n placementSm = input<'left' | 'right' | undefined>(undefined, { alias: 'placement-sm' });\n placementMd = input<'left' | 'right' | undefined>(undefined, { alias: 'placement-md' });\n placementLg = input<'left' | 'right' | undefined>(undefined, { alias: 'placement-lg' });\n placementXl = input<'left' | 'right' | undefined>(undefined, { alias: 'placement-xl' });\n placementXxl = input<'left' | 'right' | undefined>(undefined, { alias: 'placement-xxl' });\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\tselector: 'li[rlb-dropdown-item]',\n\ttemplate: `\n\t\t@if (!link() && !divider() && !header()) {\n\t\t <span\n\t\t class=\"dropdown-item \"\n\t\t role=\"button\"\n\t\t [class.active]=\"active()\"\n\t\t [class.disabled]=\"disabled()\"\n\t\t [class.text-wrap]=\"textWrap()\"\n\t\t [class.text-break]=\"textWrap()\"\n\t\t [attr.aria-current]=\"active()\"\n\t\t [attr.aria-disabled]=\"disabled()\"\n\t\t >\n\t\t <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\t\t </span>\n\t\t}\n\t\t@if (link()) {\n\t\t <a\n\t\t class=\"dropdown-item \"\n\t\t [routerLink]=\"link()\"\n\t\t [class.active]=\"active()\"\n\t\t [class.disabled]=\"disabled()\"\n\t\t [class.text-wrap]=\"textWrap()\"\n\t\t [class.text-break]=\"textWrap()\"\n\t\t [attr.aria-current]=\"active()\"\n\t\t [attr.aria-disabled]=\"disabled()\"\n\t\t >\n\t\t <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\t\t </a>\n\t\t}\n\t\t@if (header()) {\n\t\t <h6 class=\"dropdown-header\">\n\t\t <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\t\t </h6>\n\t\t}\n\t\t@if (divider()) {\n\t\t <hr class=\"dropdown-divider\" />\n\t\t}\n\t\t<ng-template #content><ng-content /></ng-template>`,\n\tstandalone: false\n})\nexport class DropdownMenuItemComponent {\n\tactive = input(false, { alias: 'active', transform: booleanAttribute });\n\tdisabled = input(false, { alias: 'disabled', transform: booleanAttribute });\n\theader = input(false, { alias: 'header', transform: booleanAttribute });\n\tdivider = input(false, { alias: 'divider', transform: booleanAttribute });\n\tlink = input<string | undefined>(undefined, { alias: 'link' });\n\ttextWrap = input(false, { alias: 'text-wrap', transform: booleanAttribute });\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 direction = input<'up' | 'down' | 'left' | 'right' | 'up-center' | 'down-center'>('down', { alias: 'direction' });\n}\n","import {\n Directive,\n ElementRef,\n OnDestroy,\n OnInit,\n Renderer2,\n effect,\n input,\n output,\n} from '@angular/core';\nimport { Dropdown } from 'bootstrap';\nimport { ComponentOptions } from \"bootstrap/js/dist/base-component\";\nimport { VisibilityEventBase } from '../../shared/types';\n\n@Directive({\n selector: 'a[rlb-dropdown], button[rlb-dropdown], span[rlb-badge][rlb-dropdown]',\n standalone: false\n})\nexport class DropdownDirective implements OnInit, OnDestroy {\n private _dropdown: Dropdown | undefined;\n private listeners: (() => void)[] = [];\n\n offset = input<number[]>([], { alias: 'offset' });\n autoClose = input<'default' | 'inside' | 'outside' | 'manual'>('default', { alias: 'auto-close' });\n statusChanged = output<VisibilityEventBase>({ alias: 'status-changed' });\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n ) {\n effect(() => {\n this.renderer.addClass(this.elementRef.nativeElement, 'dropdown-toggle');\n this.renderer.setAttribute(this.elementRef.nativeElement, 'data-bs-toggle', 'dropdown');\n\n if (this.elementRef.nativeElement.nodeName.toLowerCase() === 'a') {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'href', `#`);\n }\n });\n\n effect(() => {\n const scale = this.autoClose();\n let value = 'true';\n switch (scale) {\n case 'inside': value = 'inside'; break;\n case 'outside': value = 'outside'; break;\n case 'manual': value = 'false'; break;\n }\n this.renderer.setAttribute(this.elementRef.nativeElement, 'data-bs-auto-close', value);\n });\n }\n\n ngOnInit(): void {\n const dropdownOptions: ComponentOptions = {\n offset: this.offset(),\n display: this.offset().length ? 'dynamic' : 'static'\n };\n\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\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 ngOnDestroy() {\n this.listeners.forEach(unsub => unsub());\n this.listeners = [];\n this._dropdown?.dispose();\n }\n}\n","import { booleanAttribute, Component, computed, input, 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() : percentValue()\">\n @if (infinite()) {\n <div class=\"inner bg-{{color()}}\"></div>\n }\n @if (showValue()) {\n <span>\n {{ percentValue() }}\n </span>\n } @else {\n <ng-content></ng-content>\n }\n </div>`,\n host: {\n class: 'progress',\n 'attr.role': 'progressbar',\n '[attr.aria-valuenow]': 'percentValue()',\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 max = input(100, { alias: 'max', transform: numberAttribute });\n min = input(0, { alias: 'min', transform: numberAttribute });\n value = input(0, { alias: 'value', transform: numberAttribute });\n height = input<number | undefined, unknown>(undefined, { alias: 'height', transform: numberAttribute });\n animated = input(false, { alias: 'animated', transform: booleanAttribute });\n striped = input(false, { alias: 'striped', transform: booleanAttribute });\n infinite = input(false, { alias: 'infinite', transform: booleanAttribute });\n ariaLabel = input<string | undefined>(undefined, { alias: 'aria-label' });\n showValue = input(false, { alias: 'showValue', transform: booleanAttribute });\n color = input<Color>('primary', { alias: 'color' });\n textColor = input<Color | undefined>(undefined, { alias: 'text-color' });\n\n percentValue = computed(() => {\n return ((this.value() - this.min()) / (this.max() - this.min())) * 100;\n });\n}\n","import { Component, input } 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 style = input<'grow' | 'border'>('border', { alias: 'style' });\n color = input<Color>('primary', { alias: 'color' });\n size = input<'sm' | 'md' | 'lg'>('md', { alias: 'size' });\n}\n","import { ComponentRef, Injectable, Signal, Type } from '@angular/core';\nimport { AbstractRegistryService } from '../abstract.registry.service';\nimport { ComponentHostDirective } from './component-host.directive';\nimport { ComponentCreationOptions } from './data/component-creation-options';\nimport { ComponentInfo } from './data/component-info';\nimport { GenericComponent } from './generic.component';\n\n@Injectable()\nexport abstract class BuilderComponent<\n T extends AbstractRegistryService<Function>,\n> {\n abstract component: ComponentHostDirective;\n abstract builderId: string | Signal<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.setInput('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 { ComponentHostDirective } from '../../shared/component-builder/component-host.directive';\nimport { InnerModalService } from './inner-modal.service';\n\n@Component({\n selector: 'rlb-modal-container',\n template: `\n <ng-template component-host></ng-template>\n `,\n standalone: false,\n})\nexport class ModalContainerComponent\n extends BuilderComponent<InnerModalService>\n implements OnDestroy\n{\n builderId = input.required<string>({ alias: 'id' });\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 { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\nimport { Injectable } from '@angular/core';\nimport { map, Observable, shareReplay } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BreakpointService {\n /**\n * Observable that emits true when the screen width is <= 992px.\n * This corresponds to the BS992 breakpoint used in the sidebar.\n */\n isMobile$: Observable<boolean> = this.breakpointObserver\n .observe(['(max-width: 992px)'])\n .pipe(\n map((state: BreakpointState) => state.matches),\n shareReplay(1)\n );\n\n constructor(private breakpointObserver: BreakpointObserver) { }\n\n /**\n * Returns the current mobile state.\n */\n get isMobile(): boolean {\n return this.breakpointObserver.isMatched('(max-width: 992px)');\n }\n}\n","import { AfterViewInit, Directive, effect, ElementRef, input, isSignal, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { Modal } from 'bootstrap';\nimport { BreakpointService } from '../../shared/breakpoint.service';\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 private triggerElement: HTMLElement | null = null;\n\n id = input.required<string>({ alias: 'id' });\n instance = input.required<IModal>({ alias: 'data-instance' });\n options = input<ModalOptions | undefined>(undefined, { alias: 'data-options' });\n\n\n constructor(\n private el: ElementRef,\n private renderer: Renderer2,\n private innerModalService: InnerModalService,\n private breakpointService: BreakpointService,\n ) {\n effect(() => {\n const opts = this.options();\n if (this.modalElement && this.dialogElement) {\n // Toggle backdrop/keyboard/etc.\n // For simplicity, we mostly set these once, but we can reactive-ly update some classes\n if (opts?.scrollable) {\n this.renderer.addClass(this.dialogElement, 'modal-dialog-scrollable');\n } else {\n this.renderer.removeClass(this.dialogElement, 'modal-dialog-scrollable');\n }\n\n if (opts?.verticalcentered) {\n this.renderer.addClass(this.dialogElement, 'modal-dialog-centered');\n } else {\n this.renderer.removeClass(this.dialogElement, 'modal-dialog-centered');\n }\n }\n });\n }\n\n ngOnInit(): void {\n this.triggerElement = document.activeElement as HTMLElement;\n\n const inst = this.instance();\n // Check prop existence\n const instanceData = typeof inst.data === 'function' ? (inst.data as any)() : inst.data;\n\n const hasContent =\n instanceData &&\n Object.prototype.hasOwnProperty.call(instanceData, 'content') &&\n instanceData.content !== undefined;\n\n if (hasContent) {\n const content = instanceData.content;\n // If content is Object / Array we handle it as a deep copy\n if (content !== null && typeof content === 'object') {\n inst.result = structuredClone(content);\n } else {\n // otherwise assign as is\n inst.result = content;\n }\n } else if (inst) {\n // default fallback\n inst.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\n const opts = this.options();\n if (opts?.backdrop) {\n this.renderer.setAttribute(\n this.modalElement,\n 'data-bs-backdrop',\n `${opts.backdrop}`,\n );\n }\n if (opts?.keyboard) {\n this.renderer.setAttribute(\n this.modalElement,\n 'data-bs-keyboard',\n `${opts.keyboard}`,\n );\n }\n if (opts?.animation === false) {\n this.renderer.removeClass(this.modalElement, 'fade');\n }\n if (opts?.scrollable) {\n this.renderer.addClass(this.dialogElement, 'modal-dialog-scrollable');\n }\n if (opts?.verticalcentered) {\n this.renderer.addClass(this.dialogElement, 'modal-dialog-centered');\n }\n if (opts?.size) {\n this.renderer.addClass(this.dialogElement, `modal-${opts.size}`);\n }\n\n const isFullscreenUndefined = opts?.fullscreen === undefined;\n if (isFullscreenUndefined && this.breakpointService.isMobile) {\n this.renderer.addClass(this.dialogElement, `modal-fullscreen`);\n }\n\n if (opts?.fullscreen === true) {\n this.renderer.addClass(this.dialogElement, `modal-fullscreen`);\n }\n if (\n typeof opts?.fullscreen === 'string' &&\n opts?.fullscreen\n ) {\n this.renderer.addClass(\n this.dialogElement,\n `modal-fullscreen-${opts.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: opts?.backdrop || true,\n keyboard: opts?.keyboard || true,\n focus: opts?.focus || true,\n });\n this.bsModal.show();\n }\n\n ngOnDestroy(): void {\n if (this.modalElement) {\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 }\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 this.triggerElement?.focus();\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 this.triggerElement?.focus();\n }\n if (this._modalReason === 'ok') {\n const inst = this.instance();\n const isValid = isSignal(inst.valid) ? inst.valid() : inst.valid;\n\n if (isValid !== false) { // Default to true if undefined\n this.bsModal?.hide();\n this.triggerElement?.focus();\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 {\n booleanAttribute,\n Component,\n input,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} 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.aria-current]=\"active() ? 'page' : undefined\"\n [class.disabled]=\"disabled()\"\n [attr.disabled]=\"disabled() ? true : null\"\n [attr.href]=\"href() || null\"\n >\n <ng-content></ng-content>\n </a>\n </li>\n </ng-template>`,\n standalone: false\n})\nexport class NavItemComponent implements OnInit {\n element!: HTMLElement;\n\n active = input(false, { alias: 'active', transform: booleanAttribute });\n disabled = input(false, { transform: booleanAttribute });\n cssClass = input('', { alias: 'class' });\n href = input<string | undefined>(undefined);\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 booleanAttribute,\n Component,\n computed,\n ElementRef,\n input,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\n@Component({\n selector: 'rlb-nav',\n template: ` <ng-template #template>\n <ul\n class=\"nav {{ cssClass() }}\"\n [class.nav-tabs]=\"effectiveView() === 'tab' || effectiveView() === 'tabs'\"\n [class.nav-pills]=\"effectiveView() === 'pills'\"\n [class.nav-underline]=\"effectiveView() === 'underline'\"\n [class.nav-fill]=\"effectiveFill() === 'fill'\"\n [class.nav-justified]=\"effectiveFill() === 'justified'\"\n [class.flex-column]=\"vertical()\"\n [class.justify-content-center]=\"horizontalAlignment() === 'center'\"\n [class.justify-content-end]=\"horizontalAlignment() === 'end'\"\n >\n <ng-content select=\"rlb-nav-item\" />\n </ul>\n </ng-template>`,\n standalone: false\n})\nexport class NavComponent implements OnInit {\n element!: HTMLElement;\n\n horizontalAlignment = input<'center' | 'end' | undefined>(undefined, { alias: 'horizontal-alignment' });\n view = input<'tab' | 'tabs' | 'pills' | 'underline' | 'none'>('tab', { alias: 'view' });\n pills = input(false, { transform: booleanAttribute });\n tabs = input(false, { transform: booleanAttribute });\n underline = input(false, { transform: booleanAttribute });\n\n vertical = input(false, { alias: 'vertical', transform: booleanAttribute });\n\n fill = input<'fill' | 'justified' | boolean | undefined, any>(undefined, {\n alias: 'fill',\n transform: (v: any) => {\n if (v === 'fill' || v === 'justified') return v;\n return booleanAttribute(v);\n }\n });\n\n cssClass = input('', { alias: 'class' });\n\n effectiveView = computed(() => {\n if (this.pills()) return 'pills';\n if (this.tabs()) return 'tab';\n if (this.underline()) return 'underline';\n return this.view();\n });\n\n effectiveFill = computed(() => {\n const val = this.fill();\n if (val === 'fill' || val === 'justified') return val;\n return val === true ? 'fill' : undefined;\n });\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, OnInit, 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 implements OnInit {\n element!: HTMLElement;\n\n role = input<string | undefined>(undefined);\n cssClass = input('', { alias: 'class' });\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 {\n Component,\n computed,\n input,\n numberAttribute,\n OnInit,\n TemplateRef,\n viewChild,\n ViewContainerRef,\n} from '@angular/core';\n\n@Component({\n selector: 'rlb-avatar',\n template: `\n <ng-template #template>\n @if (src()) {\n <img\n [src]=\"src()!\"\n alt=\"Avatar\"\n [class]=\"cssClass()\"\n [style.vertical-align]=\"'middle'\"\n [style.width.px]=\"size()\"\n [style.height.px]=\"size()\"\n [style.border]=\"'2px solid #cbcbcb'\"\n [style.border-radius]=\"_borderRadius()\"\n />\n }\n </ng-template>\n `,\n standalone: false\n})\nexport class AvatarComponent implements OnInit {\n element!: HTMLElement;\n\n size = input<number, unknown>(50, { alias: 'size', transform: numberAttribute });\n shape = input<'circle' | 'round' | 'square'>('circle', { alias: 'shape' });\n src = input<string | undefined>(undefined, { alias: 'src' });\n cssClass = input<string | undefined>('', { alias: 'class' });\n\n template = viewChild.required<TemplateRef<any>>('template');\n\n constructor(private viewContainerRef: ViewContainerRef) { }\n\n _borderRadius = computed(() => {\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, computed, 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 color = input<Color>('primary');\n\n size = input<'xs' | 'sm' | 'md' | 'lg'>('md');\n\n disabled = input(false, { transform: booleanAttribute });\n outline = input(false, { transform: booleanAttribute });\n\n position = input<'br' | 'bl' | 'tr' | 'tl' | undefined>(undefined);\n\n positionClass = computed(() => {\n let classes = '';\n const pos = this.position();\n if (pos) {\n classes += 'position-fixed ';\n switch (pos) {\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 sizeClass = computed(() => {\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 rlb-button [color]=\"color()\" [disabled]=\"disabled()\" [outline]=\"outline()\"\n class=\"fab-button d-flex align-items-center justify-content-center\" [class]=\"[sizeClass(), positionClass()]\">\n <ng-content></ng-content>\n</button>","export interface CalendarLayout {\n rowHeight: number; // px, default 110\n maxBodyHeight: number; // rem, default 30\n minHeaderHeight: number; // rem, default 3.5\n}\n\nexport const DEFAULT_CALENDAR_LAYOUT: CalendarLayout = {\n rowHeight: 110,\n maxBodyHeight: 30,\n minHeaderHeight: 3.5\n};\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: IDateTz, days: number): IDateTz {\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, isSignal, Type } from '@angular/core';\nimport { Observable, of, Subject } 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 { ToastOptions } from './data/toast-options';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class InnerToastService extends AbstractRegistryService<Type<any>> {\n private allModals: {\n id: string;\n toast: ComponentRef<GenericComponent>;\n subject: Subject<ToastResult<any>>;\n }[] = [];\n private builders: BuilderComponent<InnerToastService>[] = [];\n\n // Helper method to safely extract the string ID\n private getBuilderId(builder: BuilderComponent<InnerToastService>): string {\n return isSignal(builder.builderId) ? builder.builderId() : builder.builderId;\n }\n\n registerBuilder(builder: BuilderComponent<InnerToastService>) {\n this.builders.push(builder);\n }\n\n removeBuilder(builderId: string) {\n this.builders = this.builders.filter(b => this.getBuilderId(b) !== builderId);\n }\n\n getBuilder(builderId: string): BuilderComponent<InnerToastService> {\n if (!builderId) throw new Error('builderId is required');\n\n const matchingBuilders = this.builders.filter(b => this.getBuilderId(b) === builderId);\n const count = matchingBuilders.length;\n\n if (count === 0) throw new Error(`builderId not found: ${builderId}`);\n\n if (count > 1) {\n console.warn(`Toast builderId is not unique: ${builderId}. Will use the first one.`);\n }\n\n return matchingBuilders[0];\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<ToastData<Input>, ToastOptions>(\n {\n name: componentName,\n data,\n },\n {\n inputs: { id: toastId },\n setInstance: true,\n },\n options,\n );\n this.allModals.push({\n id: toastId,\n toast: toast!,\n subject: new Subject<ToastResult<Output>>(),\n });\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(event: string, reason: ModalCloseReason, id: string, result: any): 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 { ComponentHostDirective } from '../../shared/component-builder/component-host.directive';\nimport { InnerToastService } from './inner-toast.service';\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 builderId = input.required<string>({ alias: 'id' });\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 AfterViewInit,\n Directive,\n ElementRef,\n input,\n isSignal,\n OnDestroy,\n Renderer2,\n} from '@angular/core';\nimport { Toast } from 'bootstrap';\nimport { ToastCloseReason } from '../../shared/types';\nimport { IToast } from './data/toast';\nimport { ToastOptions } from './data/toast-options';\nimport { InnerToastService } from './inner-toast.service';\n\n@Directive({\n selector: '[rlb-toast]',\n standalone: true,\n})\nexport class ToastDirective implements OnDestroy, AfterViewInit {\n id = input.required<string>({ alias: 'id' });\n instance = input.required<IToast>({ alias: 'data-instance' });\n options = input<ToastOptions>({}, { alias: 'data-options' });\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\n const opts = this.options();\n if (opts?.color) {\n this.renderer.addClass(this.contentElement, `text-bg-${opts.color}`);\n }\n if (opts?.classes) {\n for (const c of opts.classes) {\n this.renderer.addClass(this.contentElement, c.trim());\n }\n }\n while (this.el.nativeElement.children.length > 0) {\n this.renderer.appendChild(this.contentElement, this.el.nativeElement.children[0]);\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: opts?.animation || true,\n autohide: opts?.autohide || true,\n delay: opts?.delay || 5000,\n });\n this.bsToast.show();\n }\n\n ngOnDestroy(): void {\n if (this.contentElement) {\n this.contentElement.removeEventListener(`hide.bs.toast`, this._openChange_f);\n this.contentElement.removeEventListener(`hidden.bs.toast`, this._openChange_f);\n this.contentElement.removeEventListener(`show.bs.toast`, this._openChange_f);\n this.contentElement.removeEventListener(`shown.bs.toast`, this._openChange_f);\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('[data-toast-reason]');\n if (this._reasonButtons && this._reasonButtons.length > 0) {\n this._reasonButtons.forEach(btn => {\n btn.addEventListener('click', () => {\n this._toastReason = btn.getAttribute('data-toast-reason') as ToastCloseReason;\n if (this._toastReason === 'cancel' || this._toastReason === 'close') {\n this.bsToast?.hide();\n }\n if (this._toastReason === 'ok') {\n const inst = this.instance();\n const isValid = isSignal(inst.valid) ? inst.valid() : inst.valid;\n if (isValid !== false) {\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, input, output } from \"@angular/core\";\nimport { DateTz, IDateTz } from \"@open-rlb/date-tz\";\nimport { CalendarView } from \"../interfaces/calendar-view.type\";\nimport { addDays, getToday } from \"../utils/calendar-date-utils\";\n\n@Component({\n selector: 'rlb-calendar-header',\n templateUrl: './calendar-header.component.html',\n styleUrls: ['./calendar-header.component.scss'],\n standalone: false\n})\nexport class CalendarHeaderComponent {\n view = input<CalendarView>('month');\n currentDate = input.required<IDateTz>();\n dateChange = output<DateTz>();\n viewChange = output<CalendarView>();\n\n next() {\n switch (this.view()) {\n case '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 this.dateChange.emit(new DateTz(nextMonth));\n break;\n case 'day':\n const nextDay = addDays(this.currentDate(), 1);\n this.dateChange.emit(new DateTz(nextDay));\n break;\n default:\n break;\n }\n }\n\n prev() {\n switch (this.view()) {\n case '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 this.dateChange.emit(new DateTz(pastMonth));\n break;\n case 'day':\n const nextDay = addDays(this.currentDate(), -1);\n this.dateChange.emit(new DateTz(nextDay));\n break;\n default:\n\n break;\n }\n }\n\n today() {\n switch (this.view()) {\n case 'week':\n default:\n const today = getToday();\n this.dateChange.emit(today);\n break;\n }\n }\n\n setView(view: CalendarView) {\n this.viewChange.emit(view);\n }\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\t<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)=\"setView('day')\">Day</li>\n\t\t\t<li rlb-dropdown-item (click)=\"setView('week')\">Week</li>\n\t\t\t<li rlb-dropdown-item (click)=\"setView('month')\">Month</li>\n\t\t</ul>\n\t</rlb-dropdown>\n</div>","import { Component, computed, 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 event = input.required<CalendarEventWithLayout>();\n view = input.required<CalendarView>();\n eventClick = output<CalendarEvent | undefined>();\n eventContainerClick = output<CalendarEventWithLayout[] | undefined>();\n\n classes = computed(() => {\n const event = this.event();\n const view = this.view();\n const baseColor = event.color || 'primary';\n const classes = ['calendar-event', 'shadow-sm'];\n\n switch (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 (event.isContinuedAfter) {\n classes.push('rounded-bottom-0', 'border-bottom-0');\n }\n\n if (event.isContinuedBefore) {\n classes.push('rounded-top-0', 'border-top-0', 'opacity-75');\n }\n\n\n if (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 const event = this.event();\n e.preventDefault();\n e.stopPropagation();\n e.stopImmediatePropagation();\n\n if (event.isOverflowIndicator && event.overflowEvents) {\n this.eventContainerClick.emit(event.overflowEvents);\n } else {\n this.eventClick.emit(event);\n }\n }\n}\n","<div [ngClass]=\"classes()\" (click)=\"onClick($event)\">\n\n @if (!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 }\n\n @if (event().isOverflowIndicator) {\n +{{ event().overlapCount }} more\n }\n</div>","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 Component,\n effect,\n ElementRef,\n input,\n OnDestroy,\n output,\n signal,\n viewChild\n} from \"@angular/core\";\nimport { IDateTz } from \"@open-rlb/date-tz\";\nimport { DateTz } from \"@open-rlb/date-tz/date-tz\";\nimport { CalendarEvent, CalendarEventWithLayout } from \"../../interfaces/calendar-event.interface\";\nimport { CalendarLayout } from \"../../interfaces/calendar-layout.interface\";\nimport { CalendarView } from \"../../interfaces/calendar-view.type\";\nimport { getToday, isToday } from \"../../utils/calendar-date-utils\";\n\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 OnDestroy, AfterViewInit {\n view = input.required<CalendarView>();\n currentDate = input.required<IDateTz>();\n events = input<CalendarEvent[]>([]);\n layout = input.required<CalendarLayout>();\n\n eventClick = output<CalendarEvent | undefined>();\n eventContainerClick = output<CalendarEvent[] | undefined>();\n eventChange = output<CalendarEvent>();\n\n days = signal<IDateTz[]>([]);\n timeSlots = signal<string[]>([]);\n processedEvents = signal<Map<number, CalendarEventWithLayout[]>>(new Map());\n\n scrollBodyRef = viewChild<ElementRef<HTMLDivElement>>('scrollBody');\n headerRowRef = viewChild<ElementRef<HTMLDivElement>>('headerRow');\n scrollbarWidth = signal(0);\n\n now = signal<DateTz>(getToday());\n private nowInterval: any;\n\n // CONFIG CONSTANTS (Replaced by Layout Input)\n private readonly MAX_VISIBLE_COLUMNS = 4;\n private readonly SNAP_MINUTES = 15;\n\n\n constructor() {\n effect(() => {\n if (this.view() === 'week') {\n this.buildWeekGrid(this.currentDate());\n this.buildTimeSlots();\n }\n });\n\n effect(() => {\n this.processAllEvents(this.events());\n });\n }\n\n ngAfterViewInit() {\n this.updateScrollbarWidth();\n window.addEventListener('resize', this.onResize);\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 const scrollBody = this.scrollBodyRef();\n if (scrollBody) {\n const el = scrollBody.nativeElement;\n this.scrollbarWidth.set(el.offsetWidth - el.clientWidth);\n }\n }\n\n onBodyScroll(event: Event) {\n const headerRow = this.headerRowRef();\n const scrollBody = this.scrollBodyRef();\n if (headerRow && scrollBody) {\n headerRow.nativeElement.scrollLeft = scrollBody.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 const dragDistancePx = event.distance.y;\n const newTopPx = originalTopPx + dragDistancePx;\n\n const rawMinutesFromStart = (newTopPx / this.layout().rowHeight) * 60;\n const snappedMinutes = Math.round(rawMinutesFromStart / this.SNAP_MINUTES) * this.SNAP_MINUTES;\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.layout().rowHeight;\n }\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.layout().rowHeight;\n }\n\n\n getNowTop(): number {\n const now = this.now();\n const hours = now.hour;\n const minutes = now.minute;\n return ((hours * 60) + minutes) / 60 * this.layout().rowHeight;\n }\n\n\n isToday(date: IDateTz): boolean {\n return isToday(date);\n }\n\n private startNowTimer() {\n if (this.nowInterval) return;\n this.nowInterval = setInterval(() => {\n this.now.set(getToday());\n }, 60 * 1000); // every minute\n }\n\n private stopNowTimer() {\n if (this.nowInterval) {\n clearInterval(this.nowInterval);\n this.nowInterval = null;\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 const newDays: IDateTz[] = [];\n for (let i = 0; i < 7; i++) {\n newDays.push(new DateTz(start.timestamp, 'UTC').add(i, 'day'));\n }\n this.days.set(newDays);\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.set(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(events: CalendarEvent[]) {\n const eventsByDay = new Map<number, CalendarEventWithLayout[]>();\n\n for (const event of 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 const newProcessedEvents = new Map<number, CalendarEventWithLayout[]>();\n for (const [dayTimestamp, dayEvents] of eventsByDay.entries()) {\n\n const sortedDayEvents = this.sortEventsStable(dayEvents);\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 newProcessedEvents.set(dayTimestamp, eventsWithLayout);\n }\n this.processedEvents.set(newProcessedEvents);\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 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 const resultEvents: CalendarEventWithLayout[] = [];\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 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]=\"layout().minHeaderHeight\">\n\n <div class=\"time-gutter border-end flex-shrink-0\"></div>\n\n <div class=\"days-header d-flex flex-grow-1\">\n @for (day of days(); track day.timestamp) {\n <div class=\"day-cell text-center p-2 border-end\" [class.text-primary]=\"isToday(day)\"\n [class.fw-bold]=\"isToday(day)\" [class.bg-primary]=\"isToday(day)\">\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 }\n </div>\n </div>\n </div>\n\n <!-- BODY WRAPPER -->\n <div #scrollBody class=\"calendar-body flex-grow-1 overflow-auto bg-body position-relative\"\n (scroll)=\"onBodyScroll($event)\" [style.max-height.rem]=\"layout().maxBodyHeight\">\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 @for (time of timeSlots(); track time; let i = $index) {\n <div class=\"time-slot-label small text-body-secondary d-flex align-items-start justify-content-center\"\n [style.height.px]=\"layout().rowHeight\">\n @if (i !== 0) {\n <span style=\"transform: translateY(-50%)\">\n {{ time }}\n </span>\n }\n </div>\n }\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 @for (time of timeSlots(); track time) {\n <div class=\"grid-row border-bottom\" [style.height.px]=\"layout().rowHeight\">\n </div>\n }\n </div>\n\n <!-- Layer 2: Events -->\n <div class=\"events-container d-flex h-100 w-100 position-relative z-1\" cdkDropListGroup>\n @for (day of days(); track day.timestamp) {\n <div class=\"day-column position-relative border-end h-100\" cdkDropList [cdkDropListSortingDisabled]=\"true\"\n [cdkDropListData]=\"day\" (cdkDropListDropped)=\"onEventDrop($event)\" (click)=\"eventClick.emit(undefined)\">\n @for (event of getEventsForDay(day); track trackByEventId($index, event)) {\n <rlb-calendar-event [view]=\"view()\" [event]=\"event\" [style.top.px]=\"calculateEventTop(event)\"\n [style.height.px]=\"calculateEventHeight(event)\" [style.left.%]=\"event.left\" [style.width.%]=\"event.width\"\n (eventClick)=\"eventClick.emit($event)\" (eventContainerClick)=\"eventContainerClick.emit($event)\" cdkDrag\n [cdkDragData]=\"event\" [cdkDragDisabled]=\"event.isOverflowIndicator\" class=\"position-absolute\">\n <div *cdkDragPlaceholder style=\"opacity: 0\"></div>\n </rlb-calendar-event>\n }\n @if (isToday(day)) {\n <div class=\"now-line\" [style.top.px]=\"getNowTop()\">\n </div>\n }\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n</div>","import { CdkDragDrop } from \"@angular/cdk/drag-drop\";\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n effect,\n ElementRef,\n input,\n OnDestroy,\n output,\n signal,\n viewChild\n} from \"@angular/core\";\nimport { IDateTz } from \"@open-rlb/date-tz\";\nimport { DateTz } from \"@open-rlb/date-tz/date-tz\";\nimport { CalendarEvent, CalendarEventWithLayout } from \"../../interfaces/calendar-event.interface\";\nimport { CalendarLayout } from \"../../interfaces/calendar-layout.interface\";\nimport { CalendarView } from \"../../interfaces/calendar-view.type\";\nimport { getToday, isToday } from \"../../utils/calendar-date-utils\";\n\n\n\n@Component({\n selector: 'rlb-calendar-day-grid',\n templateUrl: './calendar-day-grid.component.html',\n styleUrls: ['./calendar-day-grid.component.scss'],\n standalone: false,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CalendarDayGridComponent implements OnDestroy, AfterViewInit {\n view = input.required<CalendarView>();\n currentDate = input.required<IDateTz>();\n events = input<CalendarEvent[]>([]);\n layout = input.required<CalendarLayout>();\n\n eventClick = output<CalendarEvent | undefined>();\n eventContainerClick = output<CalendarEvent[] | undefined>();\n eventChange = output<CalendarEvent>();\n\n day = signal<IDateTz>(getToday());\n timeSlots = signal<string[]>([]);\n processedEvents = signal<CalendarEventWithLayout[]>([]);\n\n scrollBodyRef = viewChild<ElementRef<HTMLDivElement>>('scrollBody');\n\n now = signal<DateTz>(getToday());\n private nowInterval: any;\n\n // CONFIG CONSTANTS (Replaced by Layout Input)\n private readonly MAX_VISIBLE_COLUMNS = 10; // More columns allow in day view\n private readonly SNAP_MINUTES = 15;\n\n\n\n constructor() {\n effect(() => {\n if (this.view() === 'day') {\n this.buildDayGrid(this.currentDate());\n this.buildTimeSlots();\n }\n });\n\n effect(() => {\n this.processAllEvents(this.events(), this.currentDate());\n });\n }\n\n ngAfterViewInit() { }\n\n ngOnDestroy() {\n this.stopNowTimer();\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 // For day view, the container data is the single day we are viewing\n const newDay = this.day();\n\n const originalTopPx = this.calculateEventTop(movedEvent);\n const dragDistancePx = event.distance.y;\n const newTopPx = originalTopPx + dragDistancePx;\n\n const rawMinutesFromStart = (newTopPx / this.layout().rowHeight) * 60;\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 calculateEventTop(event: CalendarEventWithLayout): number {\n const startOfDay = new DateTz(this.day()).set(0, 'hour').set(0, 'minute').stripSecMillis();\n // Use event.start directly, but ensure we are calculating relative to THIS day\n // If event starts on previous day, we should clamp?\n // Logic from week grid handles \"chunks\", here we assume processAllEvents has given us the chunk for this day.\n\n let eventStart = event.start;\n if (eventStart.timestamp < startOfDay.timestamp) {\n eventStart = startOfDay;\n }\n\n const diffMs = eventStart.timestamp - startOfDay.timestamp;\n const diffMinutes = diffMs / (1000 * 60);\n return (diffMinutes / 60) * this.layout().rowHeight;\n }\n\n\n calculateEventHeight(event: CalendarEventWithLayout): number {\n // If event continues to next day, visual end is midnight.\n // Logic from week grid's 'processAllEvents' handled chunking, so here specific event chunk should be correct.\n const durationMs = event.end.timestamp - event.start.timestamp;\n const durationMinutes = durationMs / (1000 * 60);\n return (durationMinutes / 60) * this.layout().rowHeight;\n }\n\n\n getNowTop(): number {\n const now = this.now();\n const hours = now.hour;\n const minutes = now.minute;\n return ((hours * 60) + minutes) / 60 * this.layout().rowHeight;\n }\n\n\n isToday(date: IDateTz): boolean {\n return isToday(date);\n }\n\n private startNowTimer() {\n this.stopNowTimer(); // clear existing if any\n this.nowInterval = setInterval(() => {\n this.now.set(getToday());\n }, 60 * 1000); // every minute\n }\n\n private stopNowTimer() {\n if (this.nowInterval) {\n clearInterval(this.nowInterval);\n }\n }\n\n private buildDayGrid(currentDate: IDateTz) {\n this.day.set(new DateTz(currentDate.timestamp, 'UTC'));\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.set(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(events: CalendarEvent[], day: IDateTz) {\n if (!day) return;\n\n // Filter events for this day\n const dayStart = new DateTz(day).set(0, 'hour').set(0, 'minute').stripSecMillis!();\n const dayEnd = new DateTz(day).set(0, 'hour').set(0, 'minute').add(1, 'day').stripSecMillis!();\n\n const dayEvents: CalendarEventWithLayout[] = [];\n\n for (const event of events) {\n // Check overlap with the day\n if (event.end.timestamp > dayStart.timestamp && event.start.timestamp < dayEnd.timestamp) {\n\n let visualStart = event.start;\n let visualEnd = event.end;\n let isContinuedBefore = false;\n let isContinuedAfter = false;\n\n if (visualStart.timestamp < dayStart.timestamp) {\n visualStart = dayStart;\n isContinuedBefore = true;\n }\n if (visualEnd.timestamp > dayEnd.timestamp) {\n visualEnd = dayEnd;\n isContinuedAfter = true;\n }\n\n dayEvents.push({\n ...event,\n start: visualStart,\n end: visualEnd,\n isContinuedBefore,\n isContinuedAfter,\n left: 0,\n width: 0\n });\n }\n }\n\n const sortedDayEvents = this.sortEventsStable(dayEvents);\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(eventsWithLayout);\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 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 const resultEvents: CalendarEventWithLayout[] = [];\n\n // All events share the width equally\n // If needed we can expand visible max columns, but day view usually has space\n const colWidth = 100 / Math.max(1, 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 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","@if (day()) {\n<div class=\"calendar-wrapper d-flex flex-column\">\n <!-- HEADER WRAPPER -->\n <!-- For day view, we just show the date at top? Or maybe just keep it simple with body since main header has date -->\n <!-- Mimicking structure of Week View but single column -->\n <div class=\"header-container overflow-hidden flex-shrink-0 border-bottom bg-body-tertiary\">\n <div class=\"header-row d-flex\" [style.min-height.rem]=\"layout().minHeaderHeight\">\n <div class=\"time-gutter border-end flex-shrink-0\"></div>\n <div class=\"day-cell p-2 flex-grow-1\" [class.text-primary]=\"isToday(day())\" [class.fw-bold]=\"isToday(day())\"\n [class.bg-primary]=\"isToday(day())\">\n <div class=\"small text-uppercase text-body-secondary h-100 d-flex align-items-center justify-content-center\">{{\n day() | dayOfWeek: 'long' }}</div>\n </div>\n </div>\n </div>\n <!-- BODY WRAPPER -->\n <div #scrollBody class=\"calendar-body flex-grow-1 overflow-auto bg-body position-relative\"\n [style.max-height.rem]=\"layout().maxBodyHeight\">\n <div class=\"body-row d-flex position-relative\">\n <!-- SIDEBAR (Sticky Left) -->\n <div class=\"time-sidebar sticky-start flex-shrink-0 border-end\">\n @for (time of timeSlots(); track time; let i = $index) {\n <div class=\"time-slot-label small text-body-secondary d-flex align-items-start justify-content-center\"\n [style.height.px]=\"layout().rowHeight\">\n @if (i !== 0) {\n <span style=\"transform: translateY(-50%)\">\n {{ time }}\n </span>\n }\n </div>\n }\n </div>\n <!-- GRID AND EVENTS -->\n <div class=\"grid-layer flex-grow-1 position-relative\">\n <!-- LAYER 1: Grid -->\n <div class=\"background-grid position-absolute w-100 h-100 top-0 start-0 z-0\">\n @for (time of timeSlots(); track time) {\n <div class=\"grid-row border-bottom\" [style.height.px]=\"layout().rowHeight\">\n </div>\n }\n </div>\n <!-- Layer 2: Events -->\n <div class=\"events-container d-flex h-100 w-100 position-relative z-1\" cdkDropListGroup>\n <div class=\"day-column position-relative h-100 w-100\" cdkDropList [cdkDropListSortingDisabled]=\"true\"\n [cdkDropListData]=\"day()\" (cdkDropListDropped)=\"onEventDrop($event)\" (click)=\"eventClick.emit(undefined)\">\n @for (event of processedEvents(); track trackByEventId($index, event)) {\n <rlb-calendar-event [view]=\"view()\" [event]=\"event\" [style.top.px]=\"calculateEventTop(event)\"\n [style.height.px]=\"calculateEventHeight(event)\" [style.left.%]=\"event.left\" [style.width.%]=\"event.width\"\n (eventClick)=\"eventClick.emit($event)\" (eventContainerClick)=\"eventContainerClick.emit($event)\" cdkDrag\n [cdkDragData]=\"event\" class=\"position-absolute\">\n <div *cdkDragPlaceholder style=\"opacity: 0\"></div>\n </rlb-calendar-event>\n }\n @if (isToday(day())) {\n <div class=\"now-line\" [style.top.px]=\"getNowTop()\">\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n}","import { CdkDragDrop } from '@angular/cdk/drag-drop';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n effect,\n ElementRef,\n input,\n OnDestroy,\n output,\n signal,\n viewChild\n} from '@angular/core';\nimport { DateTz, IDateTz } from \"@open-rlb/date-tz\";\nimport { CalendarEvent, CalendarEventWithLayout } from \"../../interfaces/calendar-event.interface\";\nimport { CalendarLayout } from \"../../interfaces/calendar-layout.interface\";\nimport { CalendarView } from \"../../interfaces/calendar-view.type\";\nimport { isToday } from \"../../utils/calendar-date-utils\";\n\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 AfterViewInit, OnDestroy {\n\n view = input.required<CalendarView>();\n currentDate = input.required<IDateTz>();\n events = input<CalendarEvent[]>([]);\n layout = input.required<CalendarLayout>();\n\n\n eventClick = output<CalendarEvent | undefined>();\n eventContainerClick = output<CalendarEvent[] | undefined>();\n eventChange = output<CalendarEvent>();\n\n scrollBodyRef = viewChild<ElementRef<HTMLDivElement>>('scrollBody');\n headerRowRef = viewChild<ElementRef<HTMLDivElement>>('headerRow');\n\n scrollbarWidth = signal(0);\n\n weeks = signal<DaySlot[][]>([]);\n weekDaysHeader = signal<IDateTz[]>([]);\n\n constructor() {\n effect(() => {\n // Accessing signals to register dependency\n this.currentDate();\n this.view();\n this.events();\n this.buildMonthGrid();\n });\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 const headerRow = this.headerRowRef();\n const scrollBody = this.scrollBodyRef();\n if (headerRow && scrollBody) {\n headerRow.nativeElement.scrollLeft = scrollBody.nativeElement.scrollLeft;\n }\n }\n\n private updateScrollbarWidth() {\n const scrollBody = this.scrollBodyRef();\n if (scrollBody) {\n const el = scrollBody.nativeElement;\n this.scrollbarWidth.set(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.set(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 const newWeeks: DaySlot[][] = [];\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 newWeeks.push(row);\n }\n\n this.weeks.set(newWeeks);\n\n // Defer scrollbar calculation to after the view updates\n setTimeout(() => {\n this.updateScrollbarWidth();\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\">\n <!-- 1. Header Row (Fixed) -->\n <div #headerRow class=\"d-flex flex-shrink-0 border-bottom bg-body-tertiary overflow-hidden\"\n [style.min-height.rem]=\"layout().minHeaderHeight\" [style.padding-right.px]=\"scrollbarWidth()\">\n @for (day of weekDaysHeader(); track day) {\n <div class=\"flex-fill text-center py-2 border-end fw-bold text-secondary text-uppercase w-0 my-auto h6\">\n {{ day | dayOfWeek:'short' }}\n </div>\n }\n </div>\n\n <!-- SCROLL CONTAINER -->\n <div #scrollBody class=\"calendar-scroller flex-grow-1 overflow-auto bg-body position-relative\"\n [style.max-height.rem]=\"layout().maxBodyHeight\" (scroll)=\"onBodyScroll($event)\">\n\n <!-- 2. Grid Body (Scrollable) -->\n <div class=\"d-flex flex-column flex-grow-1 border-start min-height-0\">\n\n <div class=\"d-flex flex-column\" cdkDropListGroup>\n @for (week of weeks(); track week) {\n <div class=\"d-flex border-bottom min-h-row\" style=\"flex: 1 0 auto;\" [style.min-height.px]=\"layout().rowHeight\">\n @for (slot of week; track slot) {\n <div class=\"flex-fill border-end p-1 d-flex flex-column position-relative\" style=\"width: 0\"\n [class.bg-light]=\"!isCurrentMonth(slot.date)\" cdkDropList [cdkDropListData]=\"slot.date\"\n (cdkDropListDropped)=\"onEventDrop($event)\" (click)=\"eventClick.emit(undefined)\">\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 <!-- Events Stack -->\n <div class=\"d-flex flex-column gap-1 w-100\">\n @for (event of slot.events; track trackByEvent($index, event)) {\n <!-- Spacer -->\n @if (event.isSpacer) {\n <div class=\"event-spacer\"></div>\n }\n <!-- Event -->\n @if (!event.isSpacer) {\n <rlb-calendar-event [event]=\"event\" class=\"w-100\" cdkDrag [cdkDragData]=\"event\"\n (eventClick)=\"eventClick.emit($event)\" [view]=\"view()\">\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 [event]=\"event\" [view]=\"view()\" style=\"box-sizing: border-box;\">\n </rlb-calendar-event>\n </ng-template>\n </rlb-calendar-event>\n }\n }\n </div>\n <!-- Overflow (+N more) -->\n @if (slot.hasOverflow) {\n <div 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 }\n </div>\n }\n </div>\n }\n </div>\n </div>\n\n </div>\n</div>","import { Component, input, OnDestroy, output } from \"@angular/core\";\nimport { IDateTz } from \"@open-rlb/date-tz\";\nimport { CalendarEvent } from \"../interfaces/calendar-event.interface\";\nimport { CalendarLayout } from \"../interfaces/calendar-layout.interface\";\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\tstandalone: false,\n})\nexport class CalendarGrid implements OnDestroy {\n\tview = input.required<CalendarView>();\n\tcurrentDate = input.required<IDateTz>();\n\tevents = input<CalendarEvent[]>([]);\n\tlayout = input.required<CalendarLayout>();\n\n\teventClick = output<CalendarEvent | undefined>();\n\teventContainerClick = output<CalendarEvent[] | undefined>();\n\teventChange = output<CalendarEvent>();\n\n\tconstructor() { }\n\n\tngOnDestroy() { }\n}\n","@switch (view()) {\n@case ('week') {\n<rlb-calendar-week-grid [view]=\"view()\" [currentDate]=\"currentDate()\" [events]=\"events()\" [layout]=\"layout()\"\n (eventClick)=\"eventClick.emit($event)\" (eventContainerClick)=\"eventContainerClick.emit($event)\"\n (eventChange)=\"eventChange.emit($event)\" />\n}\n@case ('month') {\n<rlb-calendar-month-grid [view]=\"view()\" [currentDate]=\"currentDate()\" [events]=\"events()\" [layout]=\"layout()\"\n (eventClick)=\"eventClick.emit($event)\" (eventContainerClick)=\"eventContainerClick.emit($event)\"\n (eventChange)=\"eventChange.emit($event)\" />\n}\n@case ('day') {\n<rlb-calendar-day-grid [view]=\"view()\" [currentDate]=\"currentDate()\" [events]=\"events()\" [layout]=\"layout()\"\n (eventClick)=\"eventClick.emit($event)\" (eventContainerClick)=\"eventContainerClick.emit($event)\"\n (eventChange)=\"eventChange.emit($event)\" />\n}\n@default {\nnot implemented yet\n}\n}","import { booleanAttribute, Component, computed, input, model, output } from '@angular/core';\nimport { DateTz, IDateTz } from '@open-rlb/date-tz';\nimport { filter, map, of, switchMap, take } from 'rxjs';\nimport { ModalType } from '../../shared/types';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { ModalResult } from '../modals';\nimport { ModalService } from '../modals/modal.service';\nimport { ToastService } from '../toast';\nimport { CalendarOverflowEventsDialogResult } from './calendar-dialogs';\nimport { CalendarEvent } from './interfaces/calendar-event.interface';\nimport { CalendarLayout, DEFAULT_CALENDAR_LAYOUT } from './interfaces/calendar-layout.interface';\nimport { CalendarChangeEvent, CalendarView } from './interfaces/calendar-view.type';\nimport { getToday } from './utils/calendar-date-utils';\n\n@Component({\n selector: 'rlb-calendar',\n templateUrl: './calendar.component.html',\n styleUrls: ['./calendar.component.scss'],\n standalone: false,\n})\nexport class CalendarComponent {\n view = model<CalendarView>('week', { alias: 'view' });\n\n // Internal mutable copy of events for local modifications\n events = model<CalendarEvent[]>([], { alias: 'events' });\n\n currentDate = model<IDateTz>(getToday(), {\n alias: 'current-date',\n });\n // currentDateChange = output<IDateTz>({ alias: 'current-date-change' });\n\n loading = input(false, { alias: 'loading', transform: booleanAttribute });\n\n showToolbar = input(true, {\n alias: 'show-toolbar',\n transform: booleanAttribute,\n });\n\n layout = input<Partial<CalendarLayout>>({}, { alias: 'layout' });\n\n mergedLayout = computed(() => ({\n ...DEFAULT_CALENDAR_LAYOUT,\n ...this.layout(),\n }));\n\n dateChange = output<CalendarChangeEvent>({ alias: 'date-change' });\n viewChange = output<CalendarChangeEvent>({ alias: 'view-change' });\n eventClick = output<CalendarEvent>({ alias: 'event-click' });\n\n constructor(\n private modals: ModalService,\n private unique: UniqueIdService,\n private toasts: ToastService,\n ) {}\n\n // DnD event\n onEventChange(eventToEdit: CalendarEvent) {\n const currentEvents = [...this.events()];\n const idx = currentEvents.findIndex(event => event.id === eventToEdit.id);\n if (idx !== -1) {\n currentEvents[idx] = eventToEdit;\n this.events.set(currentEvents);\n this.toasts\n .openToast('toast-c-1', 'rlb-calendar-toast', {\n title: 'Success!',\n content: 'Event edited successfully.',\n type: 'success',\n })\n .pipe(take(1))\n .subscribe();\n }\n }\n\n onEventContainerClick(events: CalendarEvent[] | undefined) {\n this.modals\n .openModal('rlb-calendar-overlow-events-container', {\n title: 'Overflow events',\n ok: 'OK',\n type: 'success',\n content: events,\n })\n .pipe(\n take(1),\n filter(\n (modalResult: ModalResult<CalendarOverflowEventsDialogResult>) =>\n modalResult.reason === 'ok',\n ),\n switchMap(modalResult => {\n const action = modalResult.result.action;\n const event = modalResult.result.event;\n if (action === 'delete') {\n return this.modals\n .openConfirmModal(\n 'Event delete',\n 'Are you sure you want to delete this event?',\n '',\n 'Ok',\n 'Cancel',\n )\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 (\n (action === 'delete' && modalResult.reason === 'ok') ||\n (action === 'edit' && modalResult.reason === 'cancel')\n ) {\n this.events.set([...this.events().filter(entry => event.id !== entry.id)]);\n return of({ action: 'delete' });\n }\n\n if (action === 'edit' && modalResult.reason === 'ok') {\n const currentEvents = [...this.events()];\n const idx = currentEvents.findIndex(entry => event.id === entry.id);\n if (idx !== -1 && modalResult.result) {\n currentEvents[idx] = modalResult.result as any;\n this.events.set(currentEvents);\n }\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\n .openToast('toast-c-1', 'rlb-calendar-toast', {\n title: 'Success!',\n content,\n type,\n })\n .pipe(take(1));\n }\n return of(null);\n }),\n )\n .subscribe();\n }\n\n onEventClick(eventToEdit?: CalendarEvent) {\n if (eventToEdit) {\n this.eventClick.emit(eventToEdit);\n }\n\n this.openEditEventDialog(eventToEdit)\n .pipe(\n switchMap(modalResult => {\n const newEvent = modalResult.result;\n let result = null;\n if (modalResult.reason === 'cancel' && eventToEdit) {\n this.events.set([...this.events().filter(event => event.id !== eventToEdit.id)]);\n result = { action: 'delete' };\n return of(result);\n }\n\n if (\n modalResult.reason === 'cancel' ||\n modalResult.reason === 'close' ||\n modalResult.reason === undefined\n ) {\n return of(result);\n }\n\n const currentEvents = [...this.events()];\n if (eventToEdit) {\n const idx = currentEvents.findIndex(entry => eventToEdit.id === entry.id);\n if (idx !== -1 && modalResult.result) {\n currentEvents[idx] = newEvent;\n result = { action: 'edit' };\n }\n } else {\n currentEvents.push(newEvent);\n result = { action: 'create' };\n }\n\n this.events.set(currentEvents);\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\n .openToast('toast-c-1', 'rlb-calendar-toast', {\n title: 'Success!',\n content,\n type,\n })\n .pipe(take(1));\n }\n return of(null);\n }),\n )\n .subscribe();\n }\n\n setDate(date: DateTz) {\n this.currentDate.set(date);\n this.dateChange.emit({ date, view: this.view() });\n }\n\n setView(view: CalendarView) {\n this.view.set(view);\n this.viewChange.emit({ date: this.currentDate(), view });\n }\n\n private openEditEventDialog(eventToEdit?: CalendarEvent) {\n return this.modals\n .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 })\n .pipe(take(1));\n }\n}\n","<div class=\"rlb-calendar\">\n\n @if (showToolbar()) {\n <rlb-calendar-header\n [view]=\"view()\"\n [currentDate]=\"currentDate()\"\n (viewChange)=\"setView($event)\"\n (dateChange)=\"setDate($event)\"\n >\n </rlb-calendar-header>\n }\n\n @if (loading()) {\n <rlb-progress [infinite]=\"true\" [animated]=\"true\" [height]=\"3\" [showValue]=\"false\">\n </rlb-progress>\n } @else {\n <rlb-calendar-grid\n [events]=\"events()\"\n [view]=\"view()\"\n [currentDate]=\"currentDate()\"\n [layout]=\"mergedLayout()\"\n (eventClick)=\"onEventClick($event)\"\n (eventContainerClick)=\"onEventContainerClick($event)\"\n (eventChange)=\"onEventChange($event)\"\n >\n </rlb-calendar-grid>\n }\n</div>\n","import { CalendarComponent } from \"./calendar.component\";\nimport { CalendarEventComponent } from \"./event/calendar-event.component\";\nimport { CalendarGrid } from \"./grid/calendar-grid.component\";\nimport { CalendarDayGridComponent } from \"./grid/day/calendar-day-grid.component\";\nimport { CalendarMonthGridComponent } from \"./grid/month/calendar-month-grid.component\";\nimport { CalendarWeekGridComponent } from \"./grid/week/calendar-week-grid.component\";\nimport { CalendarHeaderComponent } from \"./header/calendar-header.component\";\n\nexport * from './calendar.component';\nexport * from './event/calendar-event.component';\nexport * from './grid/calendar-grid.component';\nexport * from './grid/day/calendar-day-grid.component';\nexport * from './grid/month/calendar-month-grid.component';\nexport * from './grid/week/calendar-week-grid.component';\nexport * from './header/calendar-header.component';\n\nexport * from './interfaces/calendar-event.interface';\n\n\nexport const CALENDAR_COMPONENTS = [\n CalendarComponent,\n CalendarHeaderComponent,\n CalendarGrid,\n CalendarWeekGridComponent,\n CalendarDayGridComponent,\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 { booleanAttribute, Component, 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 @if (canReply() && position() === 'right') {\n <button class=\"reply-button\" (click)=\"replyClick($event)\">\n <i class=\"bi bi-reply-fill\"></i>\n </button>\n }\n @if (position() === 'left') {\n <div class=\"avatar small\">\n <img [src]=\"avatar()\" alt=\"avatar\">\n </div>\n }\n <div class=\"text\">\n @if (replayText()) {\n <div class=\"replied-message\">\n <span class=\"name\">{{ replaySubject() }}</span>\n <p>{{ replayText() }}</p>\n </div>\n }\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 @if (!reaction()) {\n <a rlb-button rlb-dropdown\n autoClose=\"manual\" class=\"reaction add p-1\"\n [class.right]=\"position() === 'right'\" [class.left]=\"position() === 'left'\"\n (status-changed)=\"reactionSelector.emit($event)\">\n <i class=\"bi bi-plus m-0 p-0\"></i>\n </a>\n }\n <rlb-dropdown-container>\n <ng-content select=\"[reaction-picker]\" />\n </rlb-dropdown-container>\n </rlb-dropdown>\n @if (reaction()) {\n <span class=\"reaction\" [class.right]=\"position() === 'right'\" [class.left]=\"position() === 'left'\" (click)=\"reactionClick.emit('remove')\">{{ reaction() }}</span>\n }\n </div>\n @if (position() === 'right') {\n <div class=\"avatar small\">\n <img [src]=\"avatar()\" alt=\"avatar\">\n </div>\n }\n @if (canReply() && position() === 'left') {\n <button class=\"reply-button\" (click)=\"replyClick($event)\">\n <i class=\"bi bi-reply-fill\"></i>\n </button>\n }\n </div>\n `,\n host: { '[class.ms-auto]': 'position() === \"right\"' },\n standalone: false\n})\nexport class ChatItemComponent {\n id = input('', { alias: 'id' });\n avatar = input('', { alias: 'avatar' });\n text = input('', { alias: 'text' });\n dateTime = input<Date | number | undefined>(new Date(), { alias: 'date-time' });\n\n replayText = input<string | undefined>(undefined, { alias: 'replay-text' });\n replaySubject = input<string | undefined>(undefined, { alias: 'replay-subject' });\n replayId = input<string | undefined>(undefined, { alias: 'replay-id' });\n\n position = input<'left' | 'right'>('left', { alias: 'position' });\n reaction = input<string | undefined>(undefined, { alias: 'reaction' });\n\n reply = output<string | undefined>();\n reactionClick = output<string>();\n canReply = input(false, { alias: 'can-reply', transform: booleanAttribute });\n reactionSelector = output<VisibilityEventBase>();\n\n replyClick(event: MouseEvent) {\n event?.stopPropagation();\n event?.preventDefault();\n this.reply.emit(this.replayId());\n }\n}\n","import {\n booleanAttribute,\n Component,\n input,\n} from '@angular/core';\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 {\n disabled = input(false, { transform: booleanAttribute });\n numbered = input(false, { transform: booleanAttribute });\n flush = input(false, { transform: booleanAttribute });\n horizontal = input(false, { transform: booleanAttribute });\n}\n","import {\n booleanAttribute,\n Component,\n computed,\n inject,\n input,\n numberAttribute\n} from '@angular/core';\nimport { Color } from '../../shared/types';\nimport { ListComponent } from './list.component';\n\n@Component({\n selector: 'rlb-list-item-image',\n template: `\n <div class=\"d-flex\">\n @if (avatar()) {\n <rlb-avatar [src]=\"avatar()!\" [size]=\"avatarSize()\" />\n }\n @if (!avatar() && icon()) {\n <i [class]=\"icon()\" [style.font-size.px]=\"avatarSize()\"></i>\n }\n <div class=\"ps-2 flex-grow-1\">\n <div class=\"fw-bold\">{{ username() }}</div>\n @if (line1()) {\n <span class=\"d-block\">{{ line1() }}</span>\n }\n @if (line2()) {\n <span class=\"d-block\">{{ line2() }}</span>\n }\n </div>\n @if (counter() !== undefined || counterEmpty()) {\n <div>\n @if (counterEmpty()) {\n <span rlb-badge [pill]=\"counterPill()\" [color]=\"counterColor()\" [border]=\"counterBorder()\"> </span>\n } @else {\n <span rlb-badge [pill]=\"counterPill()\" [color]=\"counterColor()\" [border]=\"counterBorder()\">{{ counter() }}</span>\n }\n </div>\n }\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 private parent = inject(ListComponent, { optional: true });\n\n active = input(false, { transform: booleanAttribute });\n disabledInput = input(false, { alias: 'disabled', transform: booleanAttribute });\n counterEmpty = input(false, { transform: booleanAttribute, alias: 'counter-empty' });\n counterPill = input(false, { transform: booleanAttribute, alias: 'counter-pill' });\n counterBorder = input(false, { transform: booleanAttribute, alias: 'counter-border' });\n avatarSize = input(50, { transform: numberAttribute, alias: 'avatar-size' });\n username = input<string | undefined>(undefined);\n line1 = input<string | undefined>(undefined, { alias: 'line-1' });\n line2 = input<string | undefined>(undefined, { alias: 'line-2' });\n avatar = input<string | undefined>(undefined);\n counter = input<number | string | undefined>(undefined);\n counterColor = input<Color | undefined>(undefined, { alias: 'counter-color' });\n icon = input<string | undefined>(undefined);\n\n disabled = computed(() => this.disabledInput() || this.parent?.disabled() || false);\n}\n","import {\n booleanAttribute,\n Component,\n computed,\n inject,\n input\n} from '@angular/core';\nimport { ListComponent } from './list.component';\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 private parent = inject(ListComponent, { optional: true });\n\n active = input(false, { transform: booleanAttribute });\n disabledInput = input(false, { alias: 'disabled', transform: booleanAttribute });\n action = input(false, { transform: booleanAttribute });\n\n disabled = computed(() => this.disabledInput() || this.parent?.disabled() || false);\n}\n","import {\n booleanAttribute,\n Component,\n computed,\n input,\n OnInit,\n output,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\n@Component({\n selector: '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 disabled = input(false, { alias: 'disabled', transform: booleanAttribute });\n dropdown = input(false, { alias: 'dropdown', transform: booleanAttribute });\n href = input<string | undefined>(undefined);\n cssClass = input('', { alias: 'class' });\n toggle = input<'offcanvas' | 'collapse' | 'tab' | 'pill' | 'buttons-group' | undefined>(undefined);\n autoClose = input<'default' | 'inside' | 'outside' | 'manual'>('default', { alias: 'auto-close' });\n\n click = output<MouseEvent>();\n\n _autoClose = computed(() => {\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 default:\n return 'true';\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 booleanAttribute,\n Component,\n input,\n OnInit,\n output,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\n@Component({\n selector: 'rlb-navbar-item',\n template: ` <ng-template #template>\n <li class=\"nav-item\">\n <a\n class=\"nav-link {{ cssClass() }}\"\n [routerLink]=\"routerLink()\"\n routerLinkActive=\"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 disabled = input(false, { alias: 'disabled', transform: booleanAttribute });\n routerLink = input<string | undefined>(undefined, { alias: 'router-link' });\n cssClass = input('', { alias: 'class' });\n\n click = output<MouseEvent>();\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 Component,\n contentChildren,\n effect,\n input,\n OnDestroy,\n OnInit,\n output,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { Subject } from \"rxjs\";\nimport { NavbarItemComponent } from \"./navbar-item.component\";\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 scroll = input<string | undefined>(undefined);\n cssClass = input('', { alias: 'class' });\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n element!: HTMLElement;\n\n menuItems = contentChildren(NavbarItemComponent, { descendants: true });\n\n click = output<MouseEvent>();\n\n private destroy$ = new Subject<void>();\n\n constructor(private viewContainerRef: ViewContainerRef) {\n effect(() => {\n const items = this.menuItems();\n items.forEach(item => {\n item.click.subscribe(event => this.click.emit(event));\n });\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 ngAfterContentInit() {\n // Migrated to effect()\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import {\n Component,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\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 cssClass = input('', { alias: 'class' });\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 OnInit,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\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 implements OnInit {\n element!: HTMLElement;\n\n cssClass = input('', { alias: 'class' });\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 computed,\n contentChildren,\n effect,\n input,\n OnDestroy,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { Collapse } from 'bootstrap';\nimport { Subject } from 'rxjs';\nimport { Color } from '../../../shared/types';\nimport { UniqueIdService } from '../../../shared/unique-id.service';\nimport { NavbarItemsComponent } from './navbar-items.component';\n\n@Component({\n selector: 'rlb-navbar',\n template: ` <ng-template #template>\n <nav\n class=\"navbar px-2 bg-{{ color() }} {{ placement() }} {{\n _navExpand()\n }} {{ cssClass() }}\"\n [attr.data-bs-theme]=\"dark() ? 'dark' : 'light'\"\n >\n <div class=\"container-fluid\">\n <ng-content\n select=\"[rlb-navbar-brand], [rlb-button][toggle], rlb-navbar-separator\"\n />\n <button\n class=\"navbar-toggler\"\n [class.d-none]=\"!enableDropdownToggler()\"\n type=\"button\"\n rlb-button\n toggle=\"collapse\"\n [toggle-target]=\"navId\"\n aria-label=\"Toggle navigation\"\n >\n <span class=\"navbar-toggler-icon\"></span>\n </button>\n <div class=\"collapse navbar-collapse\" [id]=\"navId\">\n <div class=\"p-3 d-flex w-100 flex-column flex-lg-row\">\n <ng-content\n select=\"rlb-navbar-items, rlb-navbar-form, rlb-navbar-text, rlb-navbar-separator\"\n />\n </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 public readonly navId: string;\n private destroy$ = new Subject<void>();\n\n _navExpand = computed(() => {\n const exp = this.expand();\n if (!exp) return '';\n else if (exp === 'always') return 'navbar-expand';\n else return `navbar-expand-${exp}`;\n });\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n navbarItemsGroups = contentChildren(NavbarItemsComponent, {\n descendants: true,\n });\n\n dark = input(true, { alias: 'dark', transform: booleanAttribute });\n color = input<Color | undefined>(undefined);\n placement = input<\n 'fixed-top' | 'fixed-bottom' | 'sticky-top' | 'sticky-bottom' | undefined\n >(undefined);\n expand = input<'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'always' | undefined>(\n undefined,\n );\n cssClass = input('', { alias: 'class' });\n enableDropdownToggler = input(true, {\n alias: 'enable-dropdown-toggler',\n transform: booleanAttribute,\n });\n\n constructor(\n private idService: UniqueIdService,\n private viewContainerRef: ViewContainerRef,\n ) {\n this.navId = `nav${this.idService.id}`;\n\n effect(() => {\n const groups = this.navbarItemsGroups();\n groups.forEach((group) => {\n // Since output() is not a Signal, we still need to subscribe,\n // but we can manage the subscription here more cleanly.\n // However, output().subscribe returns OutputRefSubscription which we should track.\n group.click.subscribe(() => this.closeMobileMenu());\n });\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 ngAfterContentInit() {\n // Logic moved to effect() for reactivity to content changes\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, computed, 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\toffcanvasId = input<string>('');\n\n\t_offcanvasId = computed(() => `#${this.offcanvasId()}`);\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 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 id = input.required<string>({ alias: 'id' });\n bodyScroll = input(false, { alias: 'body-scroll', transform: booleanAttribute });\n scrollBackup = input(false, { alias: 'scroll-backup', transform: booleanAttribute });\n closeManual = input(false, { alias: 'close-manual', transform: booleanAttribute });\n placement = input<'start' | 'end' | 'top' | 'bottom'>('start', { alias: 'placement' });\n responsive = input<'sm' | 'md' | 'lg' | 'xl' | 'xxl' | undefined>(undefined, { alias: 'responsive' });\n\n public override status: VisibilityEvent = 'hidden';\n public override statusChange = output<VisibilityEvent>({ alias: 'statusChange' });\n\n constructor(elementRef: ElementRef<HTMLElement>, @Inject(DOCUMENT) private document: Document) {\n super(elementRef);\n }\n\n override ngOnInit(elemnt?: HTMLElement | Element) {\n super.ngOnInit(elemnt);\n\n const nativeEl = this.elementRef?.nativeElement;\n\n if (nativeEl && nativeEl.parentElement !== this.document.body) {\n this.document.body.appendChild(nativeEl);\n }\n }\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 const existingInstance = Offcanvas.getInstance(element);\n if (existingInstance) {\n existingInstance.dispose();\n }\n\n return Offcanvas.getOrCreateInstance(element, {\n scroll: this.bodyScroll() ?? false,\n keyboard: !this.closeManual(),\n backdrop: this.closeManual() ? 'static' : true\n });\n }\n\n override get eventPrefix(): string {\n return 'bs.offcanvas';\n }\n}\n","import {\n Component,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n booleanAttribute,\n input,\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 @if (isIcon()) {\n <a class=\"page-link d-block\" [attr.disabled]=\"disabled() ? true : null\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </a>\n } @else {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n }\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 isIcon = input(false, { alias: 'isIcon', transform: booleanAttribute });\n disabled = input(false, { alias: 'disabled', transform: booleanAttribute });\n active = input(false, { alias: 'active', transform: booleanAttribute });\n cssClass = input('', { alias: 'class' });\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 OnInit,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n contentChildren,\n input,\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 cssClass = input('', { alias: 'class' });\n size = input<'sm' | 'md' | 'lg' | undefined>(undefined);\n alignment = input<'start' | 'center' | 'end' | undefined>(undefined);\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n children = contentChildren(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, computed, input } from '@angular/core';\n\n@Component({\n\tselector: 'rlb-placeholder-line',\n\ttemplate: ``,\n\thost: {\n\t\t'[class]': 'hostClasses()',\n\t\t'[style.width]': 'width()',\n\t\t'[style.height]': 'height() ?? null',\n\t\t'[style.display]': '\"block\"',\n\t\t'[style.margin-bottom]': '\"0.5rem\"',\n\t},\n\tstandalone: false,\n})\nexport class RlbPlaceholderLineComponent {\n\tsize = input<'xs' | 'sm' | 'md' | 'lg'>('md');\n\tcolor = input('secondary');\n\twidth = input('100%');\n\theight = input<string | undefined>(undefined);\n\trounded = input(true);\n\n\thostClasses = computed(() => {\n\t\tconst classes = ['placeholder', `bg-${this.color()}`];\n\n\t\tif (this.size() !== 'md') {\n\t\t\tclasses.push(`placeholder-${this.size()}`);\n\t\t}\n\n\t\tif (this.rounded()) {\n\t\t\tclasses.push('rounded');\n\t\t}\n\n\t\treturn classes.join(' ');\n\t});\n}\n","import { Component, computed, input } from '@angular/core';\n\n@Component({\n\tselector: 'rlb-placeholder',\n\ttemplate: `\n\t\t<div [class]=\"containerClass()\">\n\t\t\t<ng-content/>\n\t\t</div>`,\n\tstandalone: false\n})\nexport class RlbPlaceholderComponent {\n\tanimation = input<'glow' | 'wave' | 'none'>('none');\n\n\tcontainerClass = computed(() => {\n\t\tif (this.animation() === 'none') return [];\n\t\treturn `placeholder-${this.animation()}`;\n\t});\n}\n","import { Component, computed, input } from '@angular/core';\n\n@Component({\n\tselector: 'rlb-placeholder-text',\n\tstandalone: false,\n\ttemplate: `\n <rlb-placeholder [animation]=\"animation()\">\n @for (w of computedWidths(); track w) {\n <rlb-placeholder-line\n [size]=\"size()\"\n [color]=\"color()\"\n [width]=\"w\"\n [rounded]=\"rounded()\"\n [height]=\"height()\"\n ></rlb-placeholder-line>\n }\n </rlb-placeholder>\n `,\n})\nexport class RlbPlaceholderTextComponent {\n\tlines = input(1);\n\tsize = input<'xs' | 'sm' | 'md' | 'lg'>('md');\n\tcolor = input('secondary');\n\tanimation = input<'glow' | 'wave' | 'none'>('none');\n\twidth = input<string | string[]>('100%');\n\theight = input<string | undefined>(undefined);\n\trounded = input(true);\n\n\tcomputedWidths = computed(() => {\n\t\tconst lines = this.lines();\n\t\tconst width = this.width();\n\t\tif (Array.isArray(width)) {\n\t\t\treturn Array.from({ length: lines }).map((_, i) => width[i] ?? '100%');\n\t\t}\n\t\treturn Array.from({ length: lines }).map(() => width as string);\n\t});\n}\n","import { Directive, input, } from '@angular/core';\nimport { Color } from '../../shared/types';\n\n@Directive({\n selector: '[rlb-placeholder]',\n host: {\n class: 'placeholder',\n '[class]': \"color() ? 'bg-' + color() : ''\",\n '[class.placeholder-xs]': \"size() === 'xs'\",\n '[class.placeholder-sm]': \"size() === 'sm'\",\n '[class.placeholder-lg]': \"size() === 'lg'\",\n '[class.placeholder-glow]': \"animation() === 'glow'\",\n '[class.placeholder-fade]': \"animation() === 'fade'\",\n },\n standalone: false\n})\nexport class PlaceholderDirective {\n color = input<Color | undefined>(undefined, { alias: 'placeholder-color' });\n size = input<'xs' | 'sm' | 'md' | 'lg'>('md', { alias: 'placeholder-size' });\n animation = input<'glow' | 'fade' | 'none'>('none', { alias: 'placeholder-animation' });\n}\n","import {\n AfterViewInit,\n booleanAttribute,\n Directive,\n effect,\n ElementRef,\n input,\n OnDestroy,\n output,\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 {\n target = input.required<string>({ alias: 'rlb-scrollspy-target' });\n smooth = input(true, { alias: 'scroll-smooth', transform: booleanAttribute });\n rootMargin = input('', { alias: 'scroll-root-margin' });\n height = input('200px', { alias: 'height' });\n threshold = input<Array<number>>([], { alias: 'scroll-threshold' });\n scroll = output<Event>({ alias: 'scroll-change' });\n\n private scrollSpy!: ScrollSpy;\n\n constructor(private elementRef: ElementRef<HTMLElement>) {\n effect(() => {\n // Accessing signals to track changes\n this.target();\n this.rootMargin();\n this.threshold();\n\n // Refresh ScrollSpy if it exists\n this.scrollSpy?.refresh();\n });\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 private __scroll_handler = (event: Event) => {\n this.scroll.emit(event);\n };\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SidebarService {\n private itemClickedSource = new Subject<void>();\n itemClicked$ = this.itemClickedSource.asObservable();\n\n notifyItemClicked() {\n this.itemClickedSource.next();\n }\n}\n","import {\n Component,\n contentChildren,\n input,\n OnInit,\n output,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { Router } from '@angular/router';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { CollapseComponent } from '../collapse/collapse.component';\nimport { SidebarService } from './sidebar.service';\n\n@Component({\n selector: 'rlb-sidebar-item',\n template: `\n <ng-template #template>\n @if (title()) {\n <li (click)=\"onItemClick($event)\" class=\"menu-title\">{{ title() }}</li>\n }\n @if (!title()) {\n <li (click)=\"onItemClick($event)\">\n @if (children().length) {\n <a\n [badge]=\"\n badgeCounter() && badgeCounter()! > 0\n ? badgeCounter()!.toString()\n : undefined\n \"\n href=\"javascript:void(0);\"\n class=\"is-parent has-arrow\"\n toggle=\"collapse\"\n [toggle-target]=\"'side-item' + _id\"\n >\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n <span>{{ label() }}</span>\n </a>\n }\n <rlb-collapse [id]=\"'side-item' + _id\">\n <ul class=\"sub-menu\" aria-expanded=\"false\">\n <ng-content select=\"rlb-sidebar-item\"></ng-content>\n </ul>\n </rlb-collapse>\n @if (!children().length) {\n <a\n [routerLink]=\"link()\"\n [badge]=\"\n badgeCounter() && badgeCounter()! > 0\n ? badgeCounter()\n : undefined\n \"\n class=\"side-nav-link-ref\"\n routerLinkActive=\"active\"\n >\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n <ng-content></ng-content>\n </a>\n }\n </li>\n }\n </ng-template>\n `,\n standalone: false,\n})\nexport class SidebarItemComponent implements OnInit {\n element!: HTMLElement;\n title = input<string | undefined>(undefined);\n icon = input<string | undefined>(undefined);\n label = input<string | undefined>(undefined);\n link = input<any[] | string | null | undefined>(undefined);\n badgeCounter = input<number | undefined>(undefined);\n\n click = output<MouseEvent>();\n\n children = contentChildren(SidebarItemComponent);\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n collapseComponent = ViewChild(CollapseComponent);\n\n constructor(\n private viewContainerRef: ViewContainerRef,\n private uniqueIdService: UniqueIdService,\n private router: Router,\n private sidebarService: SidebarService,\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 if (!this.title() && this.children().length === 0) {\n this.sidebarService.notifyItemClicked();\n }\n }\n}\n","import {\n booleanAttribute,\n Directive,\n effect,\n ElementRef,\n input,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { Tooltip } from 'bootstrap';\n\n@Directive({\n selector: '[tooltip]',\n standalone: false,\n})\nexport class TooltipDirective implements OnInit, OnDestroy {\n private _tooltip: Tooltip | undefined;\n\n tooltip = input<string | null | undefined>(undefined, { alias: 'tooltip' });\n placement = input<'top' | 'bottom' | 'left' | 'right'>('top', { alias: 'tooltip-placement' });\n customClass = input('', { alias: 'tooltip-class' });\n html = input(false, { alias: 'tooltip-html', transform: booleanAttribute });\n\n constructor(private elementRef: ElementRef<HTMLElement>) {\n // We only need one effect to handle dynamic changes to the title text.\n effect(() => {\n const title = this.tooltip();\n\n if (this._tooltip) {\n if (title) {\n this._tooltip.enable();\n this._tooltip.setContent({ '.tooltip-inner': title });\n } else {\n this._tooltip.disable();\n }\n }\n });\n }\n\n ngOnInit() {\n this._tooltip = new Tooltip(this.elementRef.nativeElement, {\n title: this.tooltip() || '',\n placement: this.placement(),\n customClass: this.customClass(),\n html: this.html(),\n });\n }\n\n ngOnDestroy(): void {\n if (this._tooltip) {\n this._tooltip.dispose();\n }\n }\n}\n","import {\n booleanAttribute,\n Component,\n effect,\n ElementRef,\n input,\n OnDestroy,\n OnInit,\n signal,\n ViewChild,\n} from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { Subscription } from 'rxjs';\nimport { BreakpointService } from '../../shared/breakpoint.service';\nimport { SidebarService } from './sidebar.service';\n\n@Component({\n selector: 'rlb-sidebar',\n template: `\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, OnDestroy {\n menu: any;\n data: any;\n @ViewChild('sideMenu') sideMenu!: ElementRef;\n isCollapsed = signal(false);\n\n private subscription: Subscription = new Subscription();\n\n rounded = input(false, { alias: 'rounded', transform: booleanAttribute });\n private isMobile = toSignal(this.breakpointService.isMobile$);\n\n constructor(\n private sidebarService: SidebarService,\n private breakpointService: BreakpointService\n ) {\n effect(() => {\n const mobile = this.isMobile();\n if (mobile !== undefined) {\n this.setCollapsed(mobile);\n }\n });\n }\n\n ngOnInit() {\n this.subscription.add(\n this.sidebarService.itemClicked$.subscribe(() => {\n if (this.breakpointService.isMobile) {\n this.setCollapsed(true);\n }\n })\n );\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n\n toggleSidebar() {\n this.setCollapsed(!this.isCollapsed());\n }\n\n private setCollapsed(collapsed: boolean) {\n this.isCollapsed.set(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","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 { booleanAttribute, Component, input } 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 id = input.required<string>({ alias: 'id' });\n active = input(false, { alias: 'active', transform: booleanAttribute });\n fade = input(false, { alias: 'fade', transform: booleanAttribute });\n}\n","import {\n Component,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n booleanAttribute,\n input,\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 active = input(false, { alias: 'active', transform: booleanAttribute });\n disabled = input(false, { transform: booleanAttribute });\n target = input.required<string>({ alias: 'target' });\n cssClass = input('', { alias: 'class' });\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 ElementRef,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n booleanAttribute,\n input,\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 horizontalAlignment = input<'center' | 'end' | undefined>(undefined, { alias: 'horizontal-alignment' });\n view = input<'tab' | 'pills' | 'underline' | 'none'>('tab', { alias: 'view' });\n vertical = input(false, { alias: 'vertical', transform: booleanAttribute });\n fill = input<'fill' | 'justified' | undefined>(undefined, { alias: 'fill' });\n id = input<string | undefined>(undefined, { alias: 'id' });\n cssClass = input('', { alias: 'class' });\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 AfterViewInit,\n Directive,\n ElementRef,\n Renderer2,\n effect,\n input,\n} from '@angular/core';\nimport { Popover } from 'bootstrap';\n\n@Directive({\n selector: '[popover]',\n standalone: false\n})\nexport class PopoverDirective implements AfterViewInit {\n static bsInit = false;\n private _popover: Popover | undefined;\n\n popover = input<string | undefined>(undefined, { alias: 'popover' });\n placement = input<'top' | 'bottom' | 'left' | 'right'>('top', { alias: 'popover-placement' });\n customClass = input('', { alias: 'popover-class' });\n title = input('', { alias: 'popover-title' });\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n ) {\n effect(() => {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'data-bs-toggle', 'popover');\n });\n\n effect(() => {\n const p = this.placement();\n if (p) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'data-bs-placement', p);\n this._popover?.update();\n }\n });\n\n effect(() => {\n const c = this.customClass();\n if (c) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'data-bs-custom-class', c);\n this._popover?.update();\n }\n });\n\n effect(() => {\n const t = this.title();\n if (t) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'data-bs-title', t);\n this._popover?.update();\n }\n });\n\n effect(() => {\n const content = this.popover();\n if (content) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'data-bs-content', content);\n this._popover?.update();\n }\n });\n }\n\n ngAfterViewInit() {\n this._popover = 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 input,\n output,\n TemplateRef,\n viewChild,\n} from '@angular/core';\n\n@Component({\n selector: 'rlb-dt-action',\n template: `\n <ng-template #template>\n <li\n (click)=\"onClick($event)\"\n [routerLink]=\"routerLink()\"\n >\n <button\n class=\"dropdown-item\"\n type=\"button\"\n [disabled]=\"disabled()\"\n >\n <ng-content />\n </button>\n </li>\n </ng-template>\n `,\n standalone: false,\n})\nexport class DataTableActionComponent {\n disabled = input(false, { alias: 'disabled', transform: booleanAttribute });\n routerLink = input<any[] | string | null | undefined>(undefined, { alias: 'routerLink' });\n clicked = output<MouseEvent>({ alias: 'click' });\n\n element!: HTMLElement;\n template = viewChild.required<TemplateRef<any>>('template');\n\n private temp!: EmbeddedViewRef<any>;\n\n get _view() {\n return this.temp;\n }\n\n constructor() {}\n\n onClick(e: MouseEvent) {\n e?.preventDefault();\n this.clicked.emit(e);\n }\n}\n","import {\n booleanAttribute,\n Component,\n contentChildren,\n input,\n TemplateRef,\n viewChild,\n} from '@angular/core';\nimport { DataTableActionComponent } from './dt-action.component';\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 data-bs-popper-config='{\"strategy\":\"fixed\"}'\n aria-expanded=\"false\"\n >\n <i class=\"bi bi-three-dots\"></i>\n </button>\n <ul class=\"dropdown-menu\">\n <!-- Delegate rendering to Angular instead of manual ViewContainerRef manipulation -->\n @for (action of actions(); track $index) {\n <ng-container *ngTemplateOutlet=\"action.template()\"></ng-container>\n }\n </ul>\n </div>\n </ng-template>\n `,\n standalone: false,\n})\nexport class DataTableActionsComponent {\n disabled = input(false, { alias: 'disabled', transform: booleanAttribute });\n\n public template = viewChild.required<TemplateRef<any>>('template');\n actions = contentChildren(DataTableActionComponent);\n\n _disabled() {\n if (this.disabled()) return true;\n const actions = this.actions();\n if (!actions || actions.length === 0) return false;\n return !actions.some(o => !o.disabled());\n }\n}\n","import { Component, input, numberAttribute, TemplateRef, viewChild } from '@angular/core';\n\n@Component({\n selector: 'rlb-dt-cell',\n template: `\n <ng-template #template>\n <td\n [colSpan]=\"colSpan()\"\n [class]=\"cssClass()\"\n [style]=\"cssStyle()\"\n >\n <ng-content></ng-content>\n </td>\n </ng-template>\n `,\n standalone: false,\n})\nexport class DataTableCellComponent {\n colSpan = input<number, unknown>(undefined, { alias: 'col-span', transform: numberAttribute });\n cssClass = input<string | undefined>(undefined, { alias: 'class' });\n cssStyle = input<string | undefined>(undefined, { alias: 'style' });\n\n template = viewChild.required<TemplateRef<any>>('template');\n}\n","import {\n booleanAttribute,\n Component,\n EmbeddedViewRef,\n input,\n TemplateRef,\n viewChild,\n} from '@angular/core';\n\n@Component({\n selector: 'rlb-dt-header',\n template: `\n <ng-template #template>\n <th\n [class]=\"cssClass()\"\n [style]=\"cssStyle()\"\n >\n <ng-content></ng-content>\n </th>\n </ng-template>\n `,\n standalone: false,\n})\nexport class DataTableHeaderComponent {\n field = input<string | undefined>(undefined);\n type = input<'number' | 'string' | undefined>(undefined);\n sortable = input(false, { transform: booleanAttribute });\n filtrable = input(false, { transform: booleanAttribute });\n cssClass = input<string | undefined>(undefined, { alias: 'class' });\n cssStyle = input<string | undefined>(undefined, { alias: 'style' });\n\n element!: HTMLElement;\n template = viewChild.required<TemplateRef<any>>('template');\n\n private temp!: EmbeddedViewRef<any>;\n\n get _view() {\n return this.temp;\n }\n\n constructor() {}\n}\n","import {\n Component,\n computed,\n contentChildren,\n input,\n output,\n TemplateRef,\n viewChild,\n} from '@angular/core';\nimport { DataTableActionsComponent } from './dt-actions.component';\nimport { DataTableCellComponent } from './dt-cell.component';\n\n@Component({\n selector: 'rlb-dt-row',\n template: `\n <ng-template #template>\n <tr\n [class]=\"cssClass()\"\n [style]=\"cssStyle()\"\n (click)=\"rowClick.emit($event)\"\n >\n <!-- Loop and render cells natively -->\n @for (cell of cells(); track $index) {\n <ng-container *ngTemplateOutlet=\"cell.template()\"></ng-container>\n }\n\n @if (hasActions()) {\n <td>\n <!-- Loop and render actions natively -->\n @for (actionBlock of actionsBlock(); track $index) {\n <ng-container *ngTemplateOutlet=\"actionBlock.template()\"></ng-container>\n }\n </td>\n }\n </tr>\n </ng-template>\n `,\n standalone: false,\n})\nexport class DataTableRowComponent {\n cssClass = input<string | undefined>(undefined, { alias: 'class' });\n cssStyle = input<string | undefined>(undefined, { alias: 'style' });\n rowClick = output<MouseEvent>();\n\n template = viewChild.required<TemplateRef<any>>('template');\n\n actionsBlock = contentChildren(DataTableActionsComponent);\n cells = contentChildren(DataTableCellComponent);\n\n hasActions = computed(() => this.actionsBlock().length > 0);\n}\n","import { Component, EmbeddedViewRef, TemplateRef, viewChild } 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 `,\n standalone: false,\n})\nexport class DataTableNoItemsComponent {\n element!: HTMLElement;\n template = viewChild.required<TemplateRef<any>>('template');\n private temp!: EmbeddedViewRef<any>;\n\n get _view() {\n return this.temp;\n }\n\n constructor() {}\n}\n","import { Component, EmbeddedViewRef, TemplateRef, viewChild } 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 `,\n standalone: false,\n})\nexport class DataTableLoadingComponent {\n element!: HTMLElement;\n template = viewChild.required<TemplateRef<any>>('template');\n private temp!: EmbeddedViewRef<any>;\n\n get _view() {\n return this.temp;\n }\n\n constructor() {}\n}\n","import {\n computed,\n Injectable,\n InputSignal,\n ModelSignal,\n Optional,\n Self,\n signal,\n Signal,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { UniqueIdService } from '../../shared/unique-id.service';\n\n@Injectable()\nexport abstract class AbstractComponent<T = any> implements ControlValueAccessor {\n public abstract disabled?: boolean | Signal<boolean | undefined> | ModelSignal<boolean>;\n\n protected abstract userDefinedId: string | InputSignal<string> | ModelSignal<string>;\n protected onTouched: Function = () => {};\n protected onChanged: Function = (v: T) => {};\n public value!: T;\n private _id!: string;\n public get id(): string {\n const userDefinedIdValue =\n typeof this.userDefinedId === 'function' ? (this.userDefinedId as any)() : this.userDefinedId;\n return (userDefinedIdValue as string) || 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\n registerOnChange(fn: (v: T) => void): void {\n this.onChanged = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n protected cvaDisabled = signal(false);\n\n setDisabledState?(isDisabled: boolean): void {\n this.cvaDisabled.set(isDisabled);\n }\n\n invalid = computed(() => {\n return this.control?.invalid || false;\n });\n\n showError = computed(() => {\n if (!this.control) return false;\n const { dirty, touched } = this.control;\n return this.invalid() ? dirty || touched || false : false;\n });\n\n errors = computed(() => {\n return this.control?.errors || {};\n });\n\n onWrite(data: T) {}\n}\n","import { booleanAttribute, Component, input, TemplateRef, viewChild } from '@angular/core';\n\n@Component({\n selector: 'rlb-option',\n template: `\n <ng-template #content>\n <ng-content></ng-content>\n </ng-template>\n\n <!-- wrap the content in an <option> tag for SelectComponent -->\n <ng-template #element>\n <option\n [value]=\"value()\"\n [disabled]=\"disabled()\"\n >\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </option>\n </ng-template>\n `,\n standalone: false,\n})\nexport class OptionComponent {\n value = input.required<string | number | null>();\n disabled = input(false, { transform: booleanAttribute });\n\n // 'template' is used by SelectComponent (contains <option> tag)\n template = viewChild.required<TemplateRef<any>>('element');\n\n contentTemplate = viewChild.required<TemplateRef<any>>('content');\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, model, Optional } from \"@angular/core\";\nimport { ValidationErrors } from \"@angular/forms\";\nimport { RLB_TRANSLATION_SERVICE, RlbTranslationService } from \"../../shared/i18-abstraction\";\n\n@Component({\n\tselector: 'rlb-input-validation',\n\thost: { class: 'invalid-feedback' },\n\ttemplate: `\n\t\t@if (errors()) {\n\t\t @for (errorKey of getErrorKeys(errors()); track errorKey) {\n\t\t <span>\n\t\t {{ getTranslatedError(errorKey, errors()[errorKey]) }}\n\t\t </span>\n\t\t }\n\t\t}\n\t\t`,\n\tstandalone: false\n})\nexport class InputValidationComponent {\n\terrors = model<ValidationErrors>({}, { alias: 'errors' });\n\n\tconstructor(\n\t\t@Optional() @Inject(RLB_TRANSLATION_SERVICE) private translationService: RlbTranslationService | null\n\t) {\n\t}\n\n\tgetErrorKeys(errors: ValidationErrors | null | undefined): string[] {\n\t\tif (!errors) return [];\n\t\treturn Object.keys(errors);\n\t}\n\n\tgetTranslatedError(errorKey: string, errorValue: any): string {\n\t\tconst i18nKey = `common.form.validation.${errorKey}`; // Create i18n key ex: 'common.form.validation.required'\n\n\t\tif (this.translationService) {\n\t\t\treturn this.translationService.instant(i18nKey, errorValue);\n\t\t}\n\n\t\t// fallback\n\t\treturn `${i18nKey}: ${JSON.stringify(errorValue)}`;\n\t}\n}\n","import {\n booleanAttribute,\n Component,\n contentChildren,\n effect,\n ElementRef,\n input,\n InputSignal,\n numberAttribute,\n Optional,\n Self,\n untracked,\n viewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { AbstractComponent } from './abstract-field.component';\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 [class.is-invalid]=\"control?.touched && control?.invalid && enableValidation()\"\n [class.is-valid]=\"control?.touched && control?.valid && enableValidation()\"\n (change)=\"update($event.target)\"\n >\n @if (placeholder()) {\n <option\n selected\n disabled\n >\n {{ placeholder() }}\n </option>\n }\n <ng-container #projectedDisplayOptions></ng-container>\n </select>\n @if (errors() && showError()) {\n <rlb-input-validation [errors]=\"errors()\" />\n }\n </div>\n <ng-content select=\"[after]\"></ng-content>\n `,\n standalone: false,\n})\nexport class SelectComponent\n extends AbstractComponent<string | string[]>\n implements ControlValueAccessor\n{\n placeholder = input<string | undefined>(undefined, { alias: 'placeholder' });\n size = input<'small' | 'large' | undefined>(undefined, { alias: 'size' });\n // Cast to specific InputSignal type to satisfy AbstractComponent which expects boolean | undefined\n disabled = input(false, {\n alias: 'disabled',\n transform: booleanAttribute,\n }) as unknown as InputSignal<boolean | undefined>;\n readonly = input(false, { alias: 'readonly', transform: booleanAttribute });\n multiple = input(false, { alias: 'multiple', transform: booleanAttribute });\n display = input<number, unknown>(undefined, { alias: 'display', transform: numberAttribute });\n userDefinedId = input('', {\n alias: 'id',\n transform: (v: string) => v || '',\n }) as unknown as InputSignal<string>; // Abstract expects InputSignal<string> strictly, but inference might vary\n enableValidation = input(false, { transform: booleanAttribute, alias: 'enable-validation' });\n\n el = viewChild.required<ElementRef<HTMLSelectElement>>('select');\n _projectedDisplayOptions = viewChild('projectedDisplayOptions', {\n read: ViewContainerRef,\n });\n options = contentChildren(OptionComponent);\n\n constructor(\n idService: UniqueIdService,\n @Self() @Optional() override control?: NgControl,\n ) {\n super(idService, control);\n\n effect(() => {\n const vcr = this._projectedDisplayOptions(); // The ViewContainerRef in the Select\n const options = this.options(); // The list of OptionComponents\n\n if (!vcr) return;\n\n vcr.clear();\n\n options.forEach(opt => {\n vcr.createEmbeddedView(opt.template());\n });\n\n untracked(() => {\n this.onWrite(this.value);\n });\n });\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 override onWrite(data: string | string[]): void {\n const el = this.el?.();\n if (el && el.nativeElement) {\n if (this.multiple()) {\n if (!Array.isArray(data)) data = [data];\n const opt = Array.from(el.nativeElement.options);\n opt.forEach(o => {\n o.selected = data.includes(o.value);\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(el.nativeElement.options);\n const val = opt.find(o => o.value == data);\n if (val) val.selected = true;\n }\n }\n }\n}\n","import {\n booleanAttribute,\n Component,\n computed,\n contentChildren,\n effect,\n input,\n numberAttribute,\n OnDestroy,\n OnInit,\n output,\n viewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { DataTableHeaderComponent } from './dt-header.component';\nimport { DataTableRowComponent } from './dt-row.component';\nimport { DataTableNoItemsComponent } from './dt-noitems.component';\nimport { DataTableLoadingComponent } from './dt-loading.component';\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, OnDestroy {\n title = input<string | undefined>(undefined);\n creationStrategy = input<'none' | 'modal' | 'page'>('none', { alias: 'creation-strategy' });\n creationUrl = input<any[] | string | null | undefined>(undefined, { alias: 'creation-url' });\n items = input<any[]>([]);\n paginationMode = input<'none' | 'load-more' | 'pages'>('none', { alias: 'pagination-mode' });\n loading = input(false, { transform: booleanAttribute });\n tableHover = input(false, { alias: 'table-hover', transform: booleanAttribute });\n tableStriped = input(true, { alias: 'table-striped', transform: booleanAttribute });\n tableStripedColumns = input(false, {\n alias: 'table-striped-columns',\n transform: booleanAttribute,\n });\n tableBordered = input(false, { alias: 'table-bordered', transform: booleanAttribute });\n tableBorderless = input(false, { alias: 'table-borderless', transform: booleanAttribute });\n tableSmall = input(false, { alias: 'table-small', transform: booleanAttribute });\n showRefresh = input(false, { alias: 'show-refresh', transform: booleanAttribute });\n totalItems = input(undefined, { alias: 'total-items', transform: numberAttribute });\n currentPage = input(undefined, { alias: 'current-page', transform: numberAttribute });\n pageSize = input(undefined, { alias: 'page-size', transform: numberAttribute });\n showActions = input<'row' | 'head'>('row');\n loadMoreLabel = input('Load more');\n\n createItem = output<void>({ alias: 'create-item' });\n refreshItem = output<void>({ alias: 'refresh-item' });\n loadMore = output<void>({ alias: 'load-more' });\n currentPageChange = output<number>({ alias: 'current-pageChange' });\n pageSizeChange = output<number>({ alias: 'page-sizeChange' });\n pagination = output<{\n page: number;\n size: number;\n }>({ alias: 'pagination' });\n\n _projectedDisplayColumns = viewChild('projectedDisplayColumns', {\n read: ViewContainerRef,\n });\n\n rows = contentChildren(DataTableRowComponent);\n columns = contentChildren(DataTableHeaderComponent);\n\n _projectedNoItems = viewChild('projectedNoItems', { read: ViewContainerRef });\n _projectedLoading = viewChild('projectedLoading', { read: ViewContainerRef });\n _projectedRows = viewChild('projectedRows', { read: ViewContainerRef });\n\n noItemsBlock = contentChildren(DataTableNoItemsComponent);\n loadingBlock = contentChildren(DataTableLoadingComponent);\n\n readonly MAX_VISIBLE_PAGES = 7;\n\n constructor() {\n effect(() => {\n this._renderHeaders();\n this._renderNoItems();\n this._renderLoading();\n this._renderRows();\n });\n }\n\n ngOnInit() {\n // defaults handled by input initial values or logic\n }\n\n pages = computed(() => Math.ceil((this.totalItems() || 0) / (this.pageSize() || 1)));\n\n hasActions = computed(\n () => this.rows().some(o => o.hasActions()) || this.showActions() !== 'row',\n );\n\n visiblePages = computed(() => {\n const total = this.pages();\n const current = this.currentPage() || 1;\n const pages: (number | string)[] = [];\n\n if (total <= this.MAX_VISIBLE_PAGES) {\n for (let i = 1; i <= total; i++) pages.push(i);\n } else {\n if (current <= 4) {\n pages.push(1, 2, 3, 4, 5, '...', total);\n } else if (current >= total - 3) {\n pages.push(1, '...', total - 4, total - 3, total - 2, total - 1, total);\n } else {\n pages.push(1, '...', current - 1, current, current + 1, '...', total);\n }\n }\n\n return pages;\n });\n\n ngOnDestroy() {\n // Effect cleanup\n }\n\n private _renderRows() {\n const container = this._projectedRows();\n const rows = this.rows();\n if (container) {\n container.clear();\n rows.forEach(row => {\n const template = row.template();\n if (template) {\n container.createEmbeddedView(template);\n }\n });\n }\n }\n\n private _renderNoItems() {\n const container = this._projectedNoItems();\n const block = this.noItemsBlock()[0];\n if (container && block) {\n container.clear();\n container.createEmbeddedView(block.template());\n }\n }\n\n private _renderLoading() {\n const container = this._projectedLoading();\n const block = this.loadingBlock()[0];\n if (container && block) {\n container.clear();\n container.createEmbeddedView(block.template());\n }\n }\n\n private _renderHeaders() {\n const container = this._projectedDisplayColumns();\n if (container) {\n container.clear();\n this.columns().forEach(column => {\n // Use the template to create a new view\n container.createEmbeddedView(column.template());\n });\n }\n }\n\n cols = computed(() => this.columns().length + (this.hasActions() ? 1 : 0));\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 onPageSizeChange(newSize: number) {\n this.currentPageChange.emit(1);\n this.pageSizeChange.emit(newSize);\n this.pagination.emit({\n page: 1,\n size: newSize,\n });\n }\n\n selectPage(ev: MouseEvent, page: number | string) {\n ev?.preventDefault();\n ev?.stopPropagation();\n if (typeof page !== 'number' || page === this.currentPage() || this.loading()) return;\n this.currentPageChange.emit(page);\n this.pagination.emit({\n page,\n size: this.pageSize() ? parseInt(this.pageSize() as any) : 20,\n });\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","@if (creationStrategy() !== 'none' || title() || showRefresh()) {\n<div class=\"row\">\n <div class=\"col\">\n @if (title()) {\n <h3 class=\"float-start\">{{ title() }}</h3>\n }\n @if (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 }\n @if (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 }\n @if (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 }\n </div>\n</div>\n}\n<div class=\"table-responsive\">\n <table [ngClass]=\"getTableClasses()\">\n <thead>\n <tr>\n <ng-container #projectedDisplayColumns></ng-container>\n @if (hasActions()) {\n <th>\n <span class=\"float-end pe-2\">\n Actions\n </span>\n </th>\n }\n </tr>\n </thead>\n <tbody>\n @if (!loading()) {\n <!-- ng-container for standard structural projected rows -->\n <ng-container #projectedRows></ng-container>\n }\n\n <!-- 2. For internal states native HTML tr/td -->\n @if (!loading() && items().length === 0 && rows().length === 0) {\n <tr class=\"text-center\">\n <td [attr.colspan]=\"cols()\" style=\"border: 0\">\n <ng-container #projectedNoItems></ng-container>\n </td>\n </tr>\n }\n\n @if (loading()) {\n <tr class=\"text-center\">\n <td [attr.colspan]=\"cols()\" style=\"border: 0\">\n <ng-container #projectedLoading></ng-container>\n </td>\n </tr>\n }\n </tbody>\n @if (paginationMode() !== 'none') {\n <tfoot>\n <tr>\n <td [attr.colspan]=\"cols()\" style=\"border: 0\">\n @if (paginationMode() === 'load-more') {\n <button type=\"button\" class=\"btn btn-primary float-end btn-sm mt-2\" [disabled]=\"loading()\"\n (click)=\"loadMore.emit()\">\n {{ loadMoreLabel() }}\n </button>\n }\n @if (paginationMode() === 'pages') {\n <nav aria-label=\"Page navigation example\">\n <ul class=\"pagination float-end pagination-sm\">\n <li class=\"page-item\">\n <a class=\"page-link d-block\" [class.disabled]=\"currentPage() === 1\" href=\"#\" aria-label=\"Previous\"\n (click)=\"prev($event)\">\n <span aria-hidden=\"true\">«</span>\n </a>\n </li>\n @for (page of visiblePages(); track page) {\n <li class=\"page-item\" [class.active]=\"currentPage() === page\" [class.disabled]=\"page === '...'\">\n <a class=\"page-link d-block\" href=\"#\" (click)=\"selectPage($event, page)\">\n {{ page }}\n </a>\n </li>\n }\n <li class=\"page-item\">\n <a class=\"page-link d-block\" [class.disabled]=\"currentPage() === pages()\" href=\"#\" aria-label=\"Next\"\n (click)=\"next($event)\">\n <span aria-hidden=\"true\">»</span>\n </a>\n </li>\n </ul>\n <ul class=\"ps-0 float-end me-3\">\n <rlb-select size=\"small\" [ngModel]=\"pageSize()\" (ngModelChange)=\"onPageSizeChange($event)\"\n [disabled]=\"items().length === 0\">\n <rlb-option [value]=\"10\">10</rlb-option>\n <rlb-option [value]=\"20\">20</rlb-option>\n <rlb-option [value]=\"50\">50</rlb-option>\n <rlb-option [value]=\"100\">100</rlb-option>\n </rlb-select>\n </ul>\n </nav>\n }\n </td>\n </tr>\n </tfoot>\n }\n </table>\n</div>","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 computed,\n Directive,\n effect,\n ElementRef,\n HostListener,\n input,\n InputSignal,\n numberAttribute,\n output,\n Renderer2,\n signal,\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@Directive()\nexport abstract class AbstractAutocompleteComponent\n extends AbstractComponent<AutocompleteItem>\n implements ControlValueAccessor\n{\n acLoading = signal(false);\n protected typingTimeout: any; // protected, to gain access to child classes\n isOpen = false;\n\n protected suggestionsList: AutocompleteItem[] = [];\n protected activeIndex = signal(-1);\n\n // COMMON INPUT/OUTPUT\n disabled = input(false, {\n transform: booleanAttribute,\n }) as unknown as InputSignal<boolean | undefined>;\n\n isDisabled = computed(() => this.disabled() || this.cvaDisabled());\n readonly = input(false, { transform: booleanAttribute });\n loading = input(false, { transform: booleanAttribute });\n maxHeight = input(200, { transform: numberAttribute, alias: 'max-height' });\n placeholder = input('', { alias: 'placeholder' });\n size = input<'small' | 'large' | undefined>(undefined);\n\n userDefinedId = input('', {\n alias: 'id',\n transform: (v: string) => v || '',\n }) as unknown as InputSignal<string>;\n charsToSearch = input(3, {\n alias: 'chars-to-search',\n transform: numberAttribute,\n });\n\n dropdownEl = viewChild<ElementRef<HTMLElement>>('autocomplete');\n selected = output<AutocompleteItem>();\n private _el = viewChild<ElementRef<HTMLInputElement>>('field');\n private _pendingValue: AutocompleteItem | string | undefined = undefined;\n\n get el() {\n return this._el();\n }\n\n get dropdown(): ElementRef<HTMLElement> {\n return this.dropdownEl()!;\n }\n\n protected abstract getSuggestions(query: string): void;\n\n protected abstract getItemText(data?: AutocompleteItem): string;\n\n protected constructor(\n idService: UniqueIdService,\n protected readonly renderer: Renderer2, // protected, to gain access to child classes\n control?: NgControl,\n ) {\n super(idService, control);\n\n // This effect runs automatically whenever _el changes (e.g., becomes defined)\n effect(() => {\n const el = this._el();\n if (el && this._pendingValue !== undefined) {\n this.applyValueToInput(this._pendingValue);\n this._pendingValue = undefined;\n }\n });\n }\n\n // =========================================================================\n // HTML FORM LOGIC\n // =========================================================================\n\n override onWrite(data?: AutocompleteItem | string): void {\n const el = this._el();\n if (el) {\n this.applyValueToInput(data);\n } else {\n // View not ready yet, store it for the effect above\n this._pendingValue = data;\n }\n }\n\n private applyValueToInput(data?: AutocompleteItem | string): void {\n const nativeEl = this._el()?.nativeElement;\n if (nativeEl) {\n nativeEl.value = data ? this.getItemText(data as any) : '';\n }\n }\n\n // =========================================================================\n // INPUT HANDLING\n // =========================================================================\n\n update(ev: EventTarget | null) {\n const t = ev as HTMLInputElement;\n const inputValue = t?.value || '';\n\n const valueToPropagate =\n inputValue === ''\n ? { text: '', value: '' }\n : { text: inputValue, value: inputValue };\n this.setValue(valueToPropagate as any);\n\n if (this.control && this.control.control) {\n this.control.control.markAsDirty();\n this.control.control.updateValueAndValidity();\n }\n\n if (this.typingTimeout) {\n clearTimeout(this.typingTimeout);\n }\n\n this.typingTimeout = setTimeout(() => {\n if (!this.isDisabled()) {\n this.getSuggestions(inputValue);\n }\n }, 500);\n }\n\n onEnter(ev: EventTarget | null) {\n const t = ev as HTMLInputElement;\n if (!this.isDisabled() && t && t.value) {\n //this.setValue(t?.value);\n this.closeDropdown();\n }\n }\n\n // =========================================================================\n // COMMON NAVIGATE AND SELECT LOGIC\n // =========================================================================\n\n @HostListener('document:keydown', ['$event'])\n onKeyDown(event: KeyboardEvent) {\n if (!this.isOpen || this.suggestionsList.length === 0) {\n if (event.key === 'Enter') {\n this.onEnter(this.el?.nativeElement || null);\n }\n return;\n }\n\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n this.navigate(1);\n break;\n case 'ArrowUp':\n event.preventDefault();\n this.navigate(-1);\n break;\n case 'Enter':\n event.preventDefault();\n this.selectActiveItem();\n break;\n case 'Escape':\n this.closeDropdown();\n this.el?.nativeElement?.blur();\n break;\n }\n }\n\n navigate(step: 1 | -1) {\n let newIndex = this.activeIndex() + step;\n\n if (newIndex >= this.suggestionsList.length) {\n newIndex = 0;\n } else if (newIndex < 0) {\n newIndex = this.suggestionsList.length - 1;\n }\n\n this.setActiveItem(newIndex);\n }\n\n setActiveItem(index: number) {\n if (\n this.activeIndex() !== -1 &&\n this.dropdown.nativeElement.children[this.activeIndex()]\n ) {\n const oldItem = this.dropdown.nativeElement.children[this.activeIndex()];\n this.renderer.removeClass(oldItem, 'active');\n }\n\n this.activeIndex.set(index);\n\n const dropdown = this.dropdownEl();\n if (\n this.activeIndex() !== -1 &&\n dropdown &&\n dropdown.nativeElement.children[this.activeIndex()]\n ) {\n const newItem = dropdown.nativeElement.children[this.activeIndex()];\n this.renderer.addClass(newItem, 'active');\n newItem.scrollIntoView({ block: 'nearest' });\n }\n }\n\n selectActiveItem() {\n if (this.activeIndex() !== -1) {\n const itemData = this.suggestionsList[this.activeIndex()];\n this.selected.emit(itemData);\n\n this.setValue(itemData);\n\n if (this.el && this.el.nativeElement) {\n this.el.nativeElement.value = itemData.text;\n }\n\n if (this.typingTimeout) {\n clearTimeout(this.typingTimeout);\n }\n\n this.closeDropdown();\n } else {\n this.onEnter(this.el?.nativeElement || null);\n }\n }\n\n // =========================================================================\n // DROPDOWN MANAGEMENT (COMMON)\n // =========================================================================\n\n openDropdown() {\n const dropdown = this.dropdownEl();\n if (!dropdown) return;\n\n // Always ensure the display is set, even if isOpen was already true\n this.renderer.setStyle(dropdown.nativeElement, 'display', 'block');\n this.isOpen = true;\n }\n\n closeDropdown() {\n const dropdown = this.dropdownEl();\n if (!dropdown) return;\n\n this.renderer.setStyle(dropdown.nativeElement, 'display', 'none');\n this.isOpen = false;\n this.clearDropdown();\n this.acLoading.set(false);\n }\n\n clearDropdown() {\n const dropdown = this.dropdownEl();\n if (!dropdown) return;\n\n dropdown.nativeElement.innerHTML = '';\n }\n\n protected renderAc(suggestions: Array<AutocompleteItem | string>) {\n const dropdown = this.dropdownEl();\n if (!dropdown) return;\n\n this.clearDropdown();\n this.suggestionsList = suggestions.map((s) =>\n typeof s === 'string' ? { text: s, value: s } : s,\n );\n\n if (this.suggestionsList.length === 0) {\n const el = this.renderer.createElement('a');\n this.renderer.addClass(el, 'dropdown-item');\n this.renderer.addClass(el, 'disabled');\n this.renderer.appendChild(el, this.renderer.createText('No suggestions'));\n this.renderer.appendChild(dropdown.nativeElement, el);\n return;\n }\n\n this.suggestionsList.forEach((item, i) => {\n const el = this.renderer.createElement('a');\n this.renderer.addClass(el, 'dropdown-item');\n this.renderer.appendChild(el, this.renderer.createText(item.text));\n\n this.renderer.listen(el, 'click', (ev) => {\n this.activeIndex.set(i);\n this.selectActiveItem();\n ev.stopPropagation();\n });\n this.renderer.appendChild(dropdown.nativeElement, el);\n });\n }\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 { AbstractAutocompleteComponent } from \"./abstract-autocomplete.component\";\nimport { AutocompleteItem } from \"./autocomplete-model\";\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 position-relative\">\n <input\n #field\n [id]=\"id\"\n class=\"form-control\"\n type=\"text\"\n [attr.autocomplete]=\"'off'\"\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 (blur)=\"touch()\"\n [ngClass]=\"{\n 'is-invalid': control?.touched && control?.invalid,\n 'is-valid': control?.touched && control?.valid,\n }\"\n (input)=\"update($event.target)\"\n />\n @if (errors() && showError()) {\n <rlb-input-validation [errors]=\"errors()\" />\n }\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=\"z-index: 1000; top: 100%;\"\n ></div>\n </div>\n @if (loading() || acLoading()) {\n <rlb-progress\n [height]=\"2\"\n [infinite]=\"loading() || acLoading()\"\n color=\"primary\"\n class=\"w-100\"\n />\n }\n <ng-content select=\"[after]\"></ng-content>\n `,\n standalone: false,\n})\nexport class AutocompleteCountryDialCodeComponent\n extends AbstractAutocompleteComponent\n implements ControlValueAccessor\n{\n enableFlagIcons = input(true, { transform: booleanAttribute, alias: 'enable-flag-icons' });\n\n constructor(\n idService: UniqueIdService,\n renderer: Renderer2,\n @Self() @Optional() override control?: NgControl,\n ) {\n super(idService, renderer, control);\n }\n\n protected override getSuggestions(query: string) {\n this.clearDropdown();\n this.activeIndex.set(-1);\n\n if (query && query.length > 0) {\n this.openDropdown();\n const suggestions = this.getCountries().filter(o => {\n const _c = o as { text: string; value: string };\n return _c.text.toLowerCase().startsWith(query.toLowerCase());\n });\n this.renderAc(suggestions);\n } else {\n this.closeDropdown();\n }\n }\n\n protected override getItemText(data?: AutocompleteItem | string): string {\n const valueToFind = typeof data === 'object' ? data?.value : data;\n const h = this.getCountries().find(c => {\n if (typeof c === 'object') {\n const _c = c as { text: string; value: string };\n return _c.value === valueToFind;\n }\n return false;\n });\n return typeof h === 'object' ? h.text : typeof data === 'string' ? data : '';\n }\n\n getCountries(): AutocompleteItem[] {\n if (this.enableFlagIcons()) {\n return this._countries.map(country => {\n return {\n ...country,\n iconClass: `fi fi-${country.data.toLowerCase()}`,\n };\n });\n } else {\n return this._countries;\n }\n }\n\n private _countries: AutocompleteItem[] = [\n {\n text: 'Afghanistan',\n value: '+93',\n data: 'AF',\n },\n {\n text: 'Aland Islands',\n value: '+358',\n data: 'AX',\n },\n {\n text: 'Albania',\n value: '+355',\n data: 'AL',\n },\n {\n text: 'Algeria',\n value: '+213',\n data: 'DZ',\n },\n {\n text: 'AmericanSamoa',\n value: '+1684',\n data: 'AS',\n },\n {\n text: 'Andorra',\n value: '+376',\n data: 'AD',\n },\n {\n text: 'Angola',\n value: '+244',\n data: 'AO',\n },\n {\n text: 'Anguilla',\n value: '+1264',\n data: 'AI',\n },\n {\n text: 'Antarctica',\n value: '+672',\n data: 'AQ',\n },\n {\n text: 'Antigua and Barbuda',\n value: '+1268',\n data: 'AG',\n },\n {\n text: 'Argentina',\n value: '+54',\n data: 'AR',\n },\n {\n text: 'Armenia',\n value: '+374',\n data: 'AM',\n },\n {\n text: 'Aruba',\n value: '+297',\n data: 'AW',\n },\n {\n text: 'Australia',\n value: '+61',\n data: 'AU',\n },\n {\n text: 'Austria',\n value: '+43',\n data: 'AT',\n },\n {\n text: 'Azerbaijan',\n value: '+994',\n data: 'AZ',\n },\n {\n text: 'Bahamas',\n value: '+1242',\n data: 'BS',\n },\n {\n text: 'Bahrain',\n value: '+973',\n data: 'BH',\n },\n {\n text: 'Bangladesh',\n value: '+880',\n data: 'BD',\n },\n {\n text: 'Barbados',\n value: '+1246',\n data: 'BB',\n },\n {\n text: 'Belarus',\n value: '+375',\n data: 'BY',\n },\n {\n text: 'Belgium',\n value: '+32',\n data: 'BE',\n },\n {\n text: 'Belize',\n value: '+501',\n data: 'BZ',\n },\n {\n text: 'Benin',\n value: '+229',\n data: 'BJ',\n },\n {\n text: 'Bermuda',\n value: '+1441',\n data: 'BM',\n },\n {\n text: 'Bhutan',\n value: '+975',\n data: 'BT',\n },\n {\n text: 'Bolivia, Plurinational State of',\n value: '+591',\n data: 'BO',\n },\n {\n text: 'Bosnia and Herzegovina',\n value: '+387',\n data: 'BA',\n },\n {\n text: 'Botswana',\n value: '+267',\n data: 'BW',\n },\n {\n text: 'Brazil',\n value: '+55',\n data: 'BR',\n },\n {\n text: 'British Indian Ocean Territory',\n value: '+246',\n data: 'IO',\n },\n {\n text: 'Brunei Darussalam',\n value: '+673',\n data: 'BN',\n },\n {\n text: 'Bulgaria',\n value: '+359',\n data: 'BG',\n },\n {\n text: 'Burkina Faso',\n value: '+226',\n data: 'BF',\n },\n {\n text: 'Burundi',\n value: '+257',\n data: 'BI',\n },\n {\n text: 'Cambodia',\n value: '+855',\n data: 'KH',\n },\n {\n text: 'Cameroon',\n value: '+237',\n data: 'CM',\n },\n {\n text: 'Canada',\n value: '+1',\n data: 'CA',\n },\n {\n text: 'Cape Verde',\n value: '+238',\n data: 'CV',\n },\n {\n text: 'Cayman Islands',\n value: '+ 345',\n data: 'KY',\n },\n {\n text: 'Central African Republic',\n value: '+236',\n data: 'CF',\n },\n {\n text: 'Chad',\n value: '+235',\n data: 'TD',\n },\n {\n text: 'Chile',\n value: '+56',\n data: 'CL',\n },\n {\n text: 'China',\n value: '+86',\n data: 'CN',\n },\n {\n text: 'Christmas Island',\n value: '+61',\n data: 'CX',\n },\n {\n text: 'Cocos (Keeling) Islands',\n value: '+61',\n data: 'CC',\n },\n {\n text: 'Colombia',\n value: '+57',\n data: 'CO',\n },\n {\n text: 'Comoros',\n value: '+269',\n data: 'KM',\n },\n {\n text: 'Congo',\n value: '+242',\n data: 'CG',\n },\n {\n text: 'Congo, The Democratic Republic of the Congo',\n value: '+243',\n data: 'CD',\n },\n {\n text: 'Cook Islands',\n value: '+682',\n data: 'CK',\n },\n {\n text: 'Costa Rica',\n value: '+506',\n data: 'CR',\n },\n {\n text: \"Cote d'Ivoire\",\n value: '+225',\n data: 'CI',\n },\n {\n text: 'Croatia',\n value: '+385',\n data: 'HR',\n },\n {\n text: 'Cuba',\n value: '+53',\n data: 'CU',\n },\n {\n text: 'Cyprus',\n value: '+357',\n data: 'CY',\n },\n {\n text: 'Czech Republic',\n value: '+420',\n data: 'CZ',\n },\n {\n text: 'Denmark',\n value: '+45',\n data: 'DK',\n },\n {\n text: 'Djibouti',\n value: '+253',\n data: 'DJ',\n },\n {\n text: 'Dominica',\n value: '+1767',\n data: 'DM',\n },\n {\n text: 'Dominican Republic',\n value: '+1849',\n data: 'DO',\n },\n {\n text: 'Ecuador',\n value: '+593',\n data: 'EC',\n },\n {\n text: 'Egypt',\n value: '+20',\n data: 'EG',\n },\n {\n text: 'El Salvador',\n value: '+503',\n data: 'SV',\n },\n {\n text: 'Equatorial Guinea',\n value: '+240',\n data: 'GQ',\n },\n {\n text: 'Eritrea',\n value: '+291',\n data: 'ER',\n },\n {\n text: 'Estonia',\n value: '+372',\n data: 'EE',\n },\n {\n text: 'Ethiopia',\n value: '+251',\n data: 'ET',\n },\n {\n text: 'Falkland Islands (Malvinas)',\n value: '+500',\n data: 'FK',\n },\n {\n text: 'Faroe Islands',\n value: '+298',\n data: 'FO',\n },\n {\n text: 'Fiji',\n value: '+679',\n data: 'FJ',\n },\n {\n text: 'Finland',\n value: '+358',\n data: 'FI',\n },\n {\n text: 'France',\n value: '+33',\n data: 'FR',\n },\n {\n text: 'French Guiana',\n value: '+594',\n data: 'GF',\n },\n {\n text: 'French Polynesia',\n value: '+689',\n data: 'PF',\n },\n {\n text: 'Gabon',\n value: '+241',\n data: 'GA',\n },\n {\n text: 'Gambia',\n value: '+220',\n data: 'GM',\n },\n {\n text: 'Georgia',\n value: '+995',\n data: 'GE',\n },\n {\n text: 'Germany',\n value: '+49',\n data: 'DE',\n },\n {\n text: 'Ghana',\n value: '+233',\n data: 'GH',\n },\n {\n text: 'Gibraltar',\n value: '+350',\n data: 'GI',\n },\n {\n text: 'Greece',\n value: '+30',\n data: 'GR',\n },\n {\n text: 'Greenland',\n value: '+299',\n data: 'GL',\n },\n {\n text: 'Grenada',\n value: '+1473',\n data: 'GD',\n },\n {\n text: 'Guadeloupe',\n value: '+590',\n data: 'GP',\n },\n {\n text: 'Guam',\n value: '+1671',\n data: 'GU',\n },\n {\n text: 'Guatemala',\n value: '+502',\n data: 'GT',\n },\n {\n text: 'Guernsey',\n value: '+44',\n data: 'GG',\n },\n {\n text: 'Guinea',\n value: '+224',\n data: 'GN',\n },\n {\n text: 'Guinea-Bissau',\n value: '+245',\n data: 'GW',\n },\n {\n text: 'Guyana',\n value: '+595',\n data: 'GY',\n },\n {\n text: 'Haiti',\n value: '+509',\n data: 'HT',\n },\n {\n text: 'Holy See (Vatican City State)',\n value: '+379',\n data: 'VA',\n },\n {\n text: 'Honduras',\n value: '+504',\n data: 'HN',\n },\n {\n text: 'Hong Kong',\n value: '+852',\n data: 'HK',\n },\n {\n text: 'Hungary',\n value: '+36',\n data: 'HU',\n },\n {\n text: 'Iceland',\n value: '+354',\n data: 'IS',\n },\n {\n text: 'India',\n value: '+91',\n data: 'IN',\n },\n {\n text: 'Indonesia',\n value: '+62',\n data: 'ID',\n },\n {\n text: 'Iran, Islamic Republic of Persian Gulf',\n value: '+98',\n data: 'IR',\n },\n {\n text: 'Iraq',\n value: '+964',\n data: 'IQ',\n },\n {\n text: 'Ireland',\n value: '+353',\n data: 'IE',\n },\n {\n text: 'Isle of Man',\n value: '+44',\n data: 'IM',\n },\n {\n text: 'Israel',\n value: '+972',\n data: 'IL',\n },\n {\n text: 'Italy',\n value: '+39',\n data: 'IT',\n },\n {\n text: 'Jamaica',\n value: '+1876',\n data: 'JM',\n },\n {\n text: 'Japan',\n value: '+81',\n data: 'JP',\n },\n {\n text: 'Jersey',\n value: '+44',\n data: 'JE',\n },\n {\n text: 'Jordan',\n value: '+962',\n data: 'JO',\n },\n {\n text: 'Kazakhstan',\n value: '+77',\n data: 'KZ',\n },\n {\n text: 'Kenya',\n value: '+254',\n data: 'KE',\n },\n {\n text: 'Kiribati',\n value: '+686',\n data: 'KI',\n },\n {\n text: \"Korea, Democratic People's Republic of Korea\",\n value: '+850',\n data: 'KP',\n },\n {\n text: 'Korea, Republic of South Korea',\n value: '+82',\n data: 'KR',\n },\n {\n text: 'Kuwait',\n value: '+965',\n data: 'KW',\n },\n {\n text: 'Kyrgyzstan',\n value: '+996',\n data: 'KG',\n },\n {\n text: 'Laos',\n value: '+856',\n data: 'LA',\n },\n {\n text: 'Latvia',\n value: '+371',\n data: 'LV',\n },\n {\n text: 'Lebanon',\n value: '+961',\n data: 'LB',\n },\n {\n text: 'Lesotho',\n value: '+266',\n data: 'LS',\n },\n {\n text: 'Liberia',\n value: '+231',\n data: 'LR',\n },\n {\n text: 'Libyan Arab Jamahiriya',\n value: '+218',\n data: 'LY',\n },\n {\n text: 'Liechtenstein',\n value: '+423',\n data: 'LI',\n },\n {\n text: 'Lithuania',\n value: '+370',\n data: 'LT',\n },\n {\n text: 'Luxembourg',\n value: '+352',\n data: 'LU',\n },\n {\n text: 'Macao',\n value: '+853',\n data: 'MO',\n },\n {\n text: 'Macedonia',\n value: '+389',\n data: 'MK',\n },\n {\n text: 'Madagascar',\n value: '+261',\n data: 'MG',\n },\n {\n text: 'Malawi',\n value: '+265',\n data: 'MW',\n },\n {\n text: 'Malaysia',\n value: '+60',\n data: 'MY',\n },\n {\n text: 'Maldives',\n value: '+960',\n data: 'MV',\n },\n {\n text: 'Mali',\n value: '+223',\n data: 'ML',\n },\n {\n text: 'Malta',\n value: '+356',\n data: 'MT',\n },\n {\n text: 'Marshall Islands',\n value: '+692',\n data: 'MH',\n },\n {\n text: 'Martinique',\n value: '+596',\n data: 'MQ',\n },\n {\n text: 'Mauritania',\n value: '+222',\n data: 'MR',\n },\n {\n text: 'Mauritius',\n value: '+230',\n data: 'MU',\n },\n {\n text: 'Mayotte',\n value: '+262',\n data: 'YT',\n },\n {\n text: 'Mexico',\n value: '+52',\n data: 'MX',\n },\n {\n text: 'Micronesia, Federated States of Micronesia',\n value: '+691',\n data: 'FM',\n },\n {\n text: 'Moldova, Republic of Moldova',\n value: '+373',\n data: 'MD',\n },\n {\n text: 'Monaco',\n value: '+377',\n data: 'MC',\n },\n {\n text: 'Mongolia',\n value: '+976',\n data: 'MN',\n },\n {\n text: 'Montenegro',\n value: '+382',\n data: 'ME',\n },\n {\n text: 'Montserrat',\n value: '+1664',\n data: 'MS',\n },\n {\n text: 'Morocco',\n value: '+212',\n data: 'MA',\n },\n {\n text: 'Mozambique',\n value: '+258',\n data: 'MZ',\n },\n {\n text: 'Myanmar',\n value: '+95',\n data: 'MM',\n },\n {\n text: 'Namibia',\n value: '+264',\n data: 'NA',\n },\n {\n text: 'Nauru',\n value: '+674',\n data: 'NR',\n },\n {\n text: 'Nepal',\n value: '+977',\n data: 'NP',\n },\n {\n text: 'Netherlands',\n value: '+31',\n data: 'NL',\n },\n {\n text: 'Netherlands Antilles',\n value: '+599',\n data: 'AN',\n },\n {\n text: 'New Caledonia',\n value: '+687',\n data: 'NC',\n },\n {\n text: 'New Zealand',\n value: '+64',\n data: 'NZ',\n },\n {\n text: 'Nicaragua',\n value: '+505',\n data: 'NI',\n },\n {\n text: 'Niger',\n value: '+227',\n data: 'NE',\n },\n {\n text: 'Nigeria',\n value: '+234',\n data: 'NG',\n },\n {\n text: 'Niue',\n value: '+683',\n data: 'NU',\n },\n {\n text: 'Norfolk Island',\n value: '+672',\n data: 'NF',\n },\n {\n text: 'Northern Mariana Islands',\n value: '+1670',\n data: 'MP',\n },\n {\n text: 'Norway',\n value: '+47',\n data: 'NO',\n },\n {\n text: 'Oman',\n value: '+968',\n data: 'OM',\n },\n {\n text: 'Pakistan',\n value: '+92',\n data: 'PK',\n },\n {\n text: 'Palau',\n value: '+680',\n data: 'PW',\n },\n {\n text: 'Palestinian Territory, Occupied',\n value: '+970',\n data: 'PS',\n },\n {\n text: 'Panama',\n value: '+507',\n data: 'PA',\n },\n {\n text: 'Papua New Guinea',\n value: '+675',\n data: 'PG',\n },\n {\n text: 'Paraguay',\n value: '+595',\n data: 'PY',\n },\n {\n text: 'Peru',\n value: '+51',\n data: 'PE',\n },\n {\n text: 'Philippines',\n value: '+63',\n data: 'PH',\n },\n {\n text: 'Pitcairn',\n value: '+870',\n data: 'PN',\n },\n {\n text: 'Poland',\n value: '+48',\n data: 'PL',\n },\n {\n text: 'Portugal',\n value: '+351',\n data: 'PT',\n },\n {\n text: 'Puerto Rico',\n value: '+1787',\n data: 'PR',\n },\n {\n text: 'Qatar',\n value: '+974',\n data: 'QA',\n },\n {\n text: 'Reunion',\n value: '+262',\n data: 'RE',\n },\n {\n text: 'Romania',\n value: '+40',\n data: 'RO',\n },\n {\n text: 'Russian Federation',\n value: '+7',\n data: 'RU',\n },\n {\n text: 'Rwanda',\n value: '+250',\n data: 'RW',\n },\n {\n text: 'Saint Barthelemy',\n value: '+590',\n data: 'BL',\n },\n {\n text: 'Saint Helena',\n value: '+290',\n data: 'SH',\n },\n {\n text: 'Saint Kitts and Nevis',\n value: '+1869',\n data: 'KN',\n },\n {\n text: 'Saint Lucia',\n value: '+1758',\n data: 'LC',\n },\n {\n text: 'Saint Martin',\n value: '+590',\n data: 'MF',\n },\n {\n text: 'Saint Pierre and Miquelon',\n value: '+508',\n data: 'PM',\n },\n {\n text: 'Saint Vincent and the Grenadines',\n value: '+1784',\n data: 'VC',\n },\n {\n text: 'Samoa',\n value: '+685',\n data: 'WS',\n },\n {\n text: 'San Marino',\n value: '+378',\n data: 'SM',\n },\n {\n text: 'Sao Tome and Principe',\n value: '+239',\n data: 'ST',\n },\n {\n text: 'Saudi Arabia',\n value: '+966',\n data: 'SA',\n },\n {\n text: 'Senegal',\n value: '+221',\n data: 'SN',\n },\n {\n text: 'Serbia',\n value: '+381',\n data: 'RS',\n },\n {\n text: 'Seychelles',\n value: '+248',\n data: 'SC',\n },\n {\n text: 'Sierra Leone',\n value: '+232',\n data: 'SL',\n },\n {\n text: 'Singapore',\n value: '+65',\n data: 'SG',\n },\n {\n text: 'Slovakia',\n value: '+421',\n data: 'SK',\n },\n {\n text: 'Slovenia',\n value: '+386',\n data: 'SI',\n },\n {\n text: 'Solomon Islands',\n value: '+677',\n data: 'SB',\n },\n {\n text: 'Somalia',\n value: '+252',\n data: 'SO',\n },\n {\n text: 'South Africa',\n value: '+27',\n data: 'ZA',\n },\n {\n text: 'South Georgia and the South Sandwich Islands',\n value: '+500',\n data: 'GS',\n },\n {\n text: 'Spain',\n value: '+34',\n data: 'ES',\n },\n {\n text: 'Sri Lanka',\n value: '+94',\n data: 'LK',\n },\n {\n text: 'Sudan',\n value: '+249',\n data: 'SD',\n },\n {\n text: 'Suriname',\n value: '+597',\n data: 'SR',\n },\n {\n text: 'Svalbard and Jan Mayen',\n value: '+47',\n data: 'SJ',\n },\n {\n text: 'Swaziland',\n value: '+268',\n data: 'SZ',\n },\n {\n text: 'Sweden',\n value: '+46',\n data: 'SE',\n },\n {\n text: 'Switzerland',\n value: '+41',\n data: 'CH',\n },\n {\n text: 'Syrian Arab Republic',\n value: '+963',\n data: 'SY',\n },\n {\n text: 'Taiwan, Province of China',\n value: '+886',\n data: 'TW',\n },\n {\n text: 'Tajikistan',\n value: '+992',\n data: 'TJ',\n },\n {\n text: 'Tanzania, United Republic of',\n value: '+255',\n data: 'TZ',\n },\n {\n text: 'Thailand',\n value: '+66',\n data: 'TH',\n },\n {\n text: 'Timor-Leste',\n value: '+670',\n data: 'TL',\n },\n {\n text: 'Togo',\n value: '+228',\n data: 'TG',\n },\n {\n text: 'Tokelau',\n value: '+690',\n data: 'TK',\n },\n {\n text: 'Tonga',\n value: '+676',\n data: 'TO',\n },\n {\n text: 'Trinidad and Tobago',\n value: '+1868',\n data: 'TT',\n },\n {\n text: 'Tunisia',\n value: '+216',\n data: 'TN',\n },\n {\n text: 'Turkey',\n value: '+90',\n data: 'TR',\n },\n {\n text: 'Turkmenistan',\n value: '+993',\n data: 'TM',\n },\n {\n text: 'Turks and Caicos Islands',\n value: '+1649',\n data: 'TC',\n },\n {\n text: 'Tuvalu',\n value: '+688',\n data: 'TV',\n },\n {\n text: 'Uganda',\n value: '+256',\n data: 'UG',\n },\n {\n text: 'Ukraine',\n value: '+380',\n data: 'UA',\n },\n {\n text: 'United Arab Emirates',\n value: '+971',\n data: 'AE',\n },\n {\n text: 'United Kingdom',\n value: '+44',\n data: 'GB',\n },\n {\n text: 'United States',\n value: '+1',\n data: 'US',\n },\n {\n text: 'United States Minor Outlying Islands',\n value: '+1',\n data: 'UM',\n },\n {\n text: 'Uruguay',\n value: '+598',\n data: 'UY',\n },\n {\n text: 'Uzbekistan',\n value: '+998',\n data: 'UZ',\n },\n {\n text: 'Vanuatu',\n value: '+678',\n data: 'VU',\n },\n {\n text: 'Venezuela, Bolivarian Republic of',\n value: '+58',\n data: 'VE',\n },\n {\n text: 'Viet Nam',\n value: '+84',\n data: 'VN',\n },\n {\n text: 'Virgin Islands, British',\n value: '+1284',\n data: 'VG',\n },\n {\n text: 'Virgin Islands, U.S.',\n value: '+1340',\n data: 'VI',\n },\n {\n text: 'Wallis and Futuna',\n value: '+681',\n data: 'WF',\n },\n {\n text: 'Western Sahara',\n value: '+212',\n data: 'EH',\n },\n {\n text: 'Yemen',\n value: '+967',\n data: 'YE',\n },\n {\n text: 'Zambia',\n value: '+260',\n data: 'ZM',\n },\n {\n text: 'Zimbabwe',\n value: '+263',\n data: 'ZW',\n },\n ];\n}\n","import {\n booleanAttribute,\n Component,\n input,\n Optional,\n Renderer2,\n Self,\n} 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 position-relative\">\n <input\n #field\n [id]=\"id\"\n class=\"form-control\"\n type=\"text\"\n [attr.autocomplete]=\"'off'\"\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 (blur)=\"touch()\"\n [ngClass]=\"{\n 'is-invalid':\n control?.touched && control?.invalid && enableValidation(),\n 'is-valid': control?.touched && control?.valid && enableValidation(),\n }\"\n (input)=\"update($event.target)\"\n />\n @if (errors() && showError()) {\n <rlb-input-validation [errors]=\"errors()\" />\n }\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=\"z-index: 1000; top: 100%;\"\n ></div>\n </div>\n @if (loading() || acLoading()) {\n <rlb-progress\n [height]=\"2\"\n [infinite]=\"loading() || acLoading()\"\n color=\"primary\"\n class=\"w-100\"\n />\n }\n <ng-content select=\"[after]\"></ng-content>\n `,\n standalone: false,\n})\nexport class AutocompleteCountryComponent\n extends AbstractAutocompleteComponent\n implements ControlValueAccessor\n{\n enableFlagIcons = input(false, {\n transform: booleanAttribute,\n alias: 'enable-flag-icons',\n });\n enableValidation = input(false, {\n transform: booleanAttribute,\n alias: 'enable-validation',\n });\n\n constructor(\n idService: UniqueIdService,\n renderer: Renderer2,\n @Self() @Optional() override control?: NgControl,\n ) {\n super(idService, renderer, control);\n }\n\n protected override getSuggestions(query: string) {\n this.clearDropdown();\n this.activeIndex.set(-1);\n\n if (query && query.length > 0) {\n this.openDropdown();\n const suggestions = this.getCountries().filter((o) => {\n const _c = o as { text: string; value: string };\n return _c.text.toLowerCase().startsWith(query.toLowerCase());\n });\n this.renderAc(suggestions);\n } else {\n this.closeDropdown();\n }\n }\n\n protected override getItemText(data?: AutocompleteItem | string): string {\n const valueToFind = typeof data === 'object' ? data?.value : data;\n const h = this.getCountries().find((c) => {\n if (typeof c === 'object') {\n const _c = c as { text: string; value: string };\n return _c.value === valueToFind;\n }\n return false;\n });\n return typeof h === 'object'\n ? h.text\n : typeof data === 'string'\n ? data\n : '';\n }\n\n getCountries(): AutocompleteItem[] {\n if (this.enableFlagIcons()) {\n return this._countries.map((country) => {\n return {\n ...country,\n iconClass: `fi fi-${country.value.toLowerCase()}`,\n };\n });\n } else {\n return this._countries;\n }\n }\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","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 { AbstractAutocompleteComponent } from './abstract-autocomplete.component';\nimport { AutocompleteItem } from './autocomplete-model';\n\n@Component({\n selector: 'rlb-autocomplete-timezones',\n template: `\n <ng-content select=\"[before]\"></ng-content>\n <div class=\"input-group has-validation position-relative\">\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 [attr.autocomplete]=\"'off'\"\n [class.form-control-lg]=\"size() === 'large'\"\n [class.form-control-sm]=\"size() === 'small'\"\n (blur)=\"touch()\"\n [ngClass]=\"{\n 'is-invalid': control?.touched && control?.invalid,\n 'is-valid': control?.touched && control?.valid,\n }\"\n (input)=\"update($event.target)\"\n />\n @if (errors() && showError()) {\n <rlb-input-validation [errors]=\"errors()\" />\n }\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=\"z-index: 1000; top: 100%;\"\n ></div>\n </div>\n @if (loading() || acLoading()) {\n <rlb-progress\n [height]=\"2\"\n [infinite]=\"loading() || acLoading()\"\n color=\"primary\"\n class=\"w-100\"\n />\n }\n <ng-content select=\"[after]\"></ng-content>\n `,\n standalone: false,\n})\nexport class AutocompleteTimezonesComponent\n extends AbstractAutocompleteComponent\n implements ControlValueAccessor {\n enableFlagIcons = input(false, {\n transform: booleanAttribute,\n alias: 'enable-flag-icons',\n });\n\n constructor(\n idService: UniqueIdService,\n renderer: Renderer2,\n @Self() @Optional() override control?: NgControl,\n ) {\n super(idService, renderer, control);\n }\n\n protected override getSuggestions(query: string) {\n this.clearDropdown();\n this.activeIndex.set(-1);\n\n if (query && query.length > 0) {\n this.openDropdown();\n const timezones = DateTz.timezones();\n const suggestions = timezones.filter((o) => {\n return o.toLowerCase().includes(query.toLowerCase());\n });\n this.renderAc(suggestions);\n } else {\n this.closeDropdown();\n }\n }\n\n protected override getItemText(data?: AutocompleteItem | string): string {\n if (typeof data === 'object' && data !== null && 'text' in data) {\n return (data as AutocompleteItem).text || '';\n } else if (typeof data === 'string') {\n return data;\n }\n return '';\n }\n}\n","import {\n booleanAttribute,\n Component,\n ElementRef,\n HostListener,\n input,\n model,\n numberAttribute,\n Optional,\n output,\n Renderer2,\n Self,\n signal,\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.autocomplete]=\"inputAutocomplete()\"\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 @if (errors() && showError() && enableValidation()) {\n <rlb-input-validation [errors]=\"errors()\"/>\n }\n </div>\n @if (loading() || acLoading()) {\n <rlb-progress\n [height]=\"2\"\n [infinite]=\"loading() || acLoading()\"\n color=\"primary\"\n class=\"w-100\"\n />\n }\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 = signal(false);\n private typingTimeout: any;\n isOpen = signal(false);\n\n disabled = model(false);\n readonly = input(false, { transform: booleanAttribute, alias: 'readonly' });\n loading = input(false, { transform: booleanAttribute, alias: 'loading' });\n maxHeight = input(200, { transform: numberAttribute, alias: 'max-height' });\n placeholder = input('', { alias: 'placeholder' });\n autocomplete = input<AutocompleteFn>(() => { return []; }, { alias: 'autocomplete' });\n type = input<'text' | 'email' | 'number' | 'password' | 'search' | 'tel' | 'url' | string>('text', { alias: 'type' });\n size = input<'small' | 'large' | undefined>(undefined);\n charsToSearch = input(3, { alias: 'chars-to-search', transform: numberAttribute });\n menuMaxWidth = input(400, { alias: 'menu-max-width', transform: numberAttribute });\n userDefinedId = input('', { alias: 'id', transform: (v: string) => v || '' });\n enableValidation = input(false, { transform: booleanAttribute, alias: 'enable-validation' });\n inputAutocomplete = input('one-time-code');\n\n el = viewChild<ElementRef<HTMLInputElement>>('field');\n dropdown = viewChild<ElementRef<HTMLElement>>('autocomplete');\n selected = output<AutocompleteItem>();\n\n @HostListener('document:pointerdown', ['$event'])\n onDocumentPointerDown(event: PointerEvent) {\n this.handleOutsideEvent(event);\n }\n\n @HostListener('document:keydown.escape', ['$event'])\n onEscape(event: Event) {\n if (this.isOpen()) {\n this.closeDropdown();\n this.el()?.nativeElement?.blur();\n }\n }\n\n constructor(\n idService: UniqueIdService,\n private readonly renderer: Renderer2,\n private readonly hostRef: ElementRef<HTMLElement>,\n @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 const field = this.el();\n if (field && field.nativeElement) {\n if (typeof data === 'string') {\n field.nativeElement.value = data;\n } else {\n field.nativeElement.value = data?.text;\n }\n }\n }\n\n manageSuggestions(data: string) {\n this.clearDropdown();\n if (data && data.length >= this.charsToSearch()) {\n this.openDropdown();\n const suggestions = this.autocomplete()(data);\n if (suggestions instanceof Promise) {\n this.acLoading.set(true);\n suggestions.then(s => this.renderAc(s)).finally(() => (this.acLoading.set(false)));\n } else if (suggestions instanceof Observable) {\n this.acLoading.set(true);\n lastValueFrom(suggestions).then(s => this.renderAc(s)).finally(() => (this.acLoading.set(false)));\n } else {\n this.renderAc(suggestions);\n }\n } else {\n this.closeDropdown();\n }\n }\n\n renderAc(suggestions: Array<string | AutocompleteItem>) {\n const dropdown = this.dropdown();\n if (!dropdown) return;\n this.clearDropdown();\n if (!suggestions || suggestions.length === 0) {\n const el = this.renderer.createElement('a');\n this.renderer.addClass(el, 'dropdown-item');\n this.renderer.addClass(el, 'disabled');\n this.renderer.addClass(el, 'text-center');\n this.renderer.setAttribute(el, 'disabled', 'true');\n this.renderer.appendChild(el, this.renderer.createText('No suggestions'));\n this.renderer.appendChild(dropdown.nativeElement, el);\n return;\n }\n\n for (const suggestion of suggestions) {\n const itemData: AutocompleteItem = typeof suggestion === 'string'\n ? { text: suggestion, value: suggestion }\n : suggestion;\n\n const el = this.renderer.createElement('a');\n this.renderer.addClass(el, 'dropdown-item');\n\n if (itemData.iconClass) {\n const icon = this.renderer.createElement('i');\n\n const classes = itemData.iconClass.split(/\\s+/);\n for (const cls of classes) {\n if (cls) {\n this.renderer.addClass(icon, cls);\n }\n }\n this.renderer.addClass(icon, 'me-2');\n this.renderer.appendChild(el, icon);\n }\n\n this.renderer.appendChild(el, this.renderer.createText(itemData.text));\n\n this.renderer.listen(el, 'click', (ev: Event) => {\n this.selected.emit(itemData);\n this.setValue(itemData);\n this.closeDropdown();\n ev.stopPropagation();\n });\n this.renderer.appendChild(dropdown.nativeElement, el);\n }\n }\n\n\n onEnter(ev: EventTarget | null) {\n const t = ev as HTMLInputElement;\n const dropdown = this.dropdown();\n if (!this.disabled() && t && t.value && dropdown) {\n const item: AutocompleteItem = {\n text: t.value,\n value: t.value\n };\n this.setValue(item);\n this.renderer.setStyle(dropdown.nativeElement, 'display', 'none');\n }\n }\n\n getText(d: AutocompleteItem) {\n if (d == null) return '';\n return typeof d === 'string' ? d : d?.text;\n }\n\n private handleOutsideEvent(event: Event) {\n const target = event.target as HTMLElement;\n const dropdown = this.dropdown();\n\n const path: EventTarget[] = (event as any).composedPath ? (event as any).composedPath() : [];\n\n const clickedInsideHost = this.hostRef?.nativeElement?.contains(target);\n const clickedInsideDropdown = dropdown?.nativeElement?.contains ? dropdown.nativeElement.contains(target) : false;\n const clickedInPath = path.length ? path.some(p => p === this.hostRef.nativeElement || (dropdown && p === dropdown.nativeElement)) : false;\n\n if (!(clickedInsideHost || clickedInsideDropdown || clickedInPath)) {\n this.closeDropdown();\n }\n }\n\n openDropdown() {\n const dropdown = this.dropdown();\n if (!dropdown || this.isOpen()) return;\n this.renderer.setStyle(dropdown.nativeElement, 'display', 'block');\n this.isOpen.set(true);\n }\n\n closeDropdown() {\n const dropdown = this.dropdown();\n if (!dropdown || !this.isOpen()) return;\n this.renderer.setStyle(dropdown.nativeElement, 'display', 'none');\n this.isOpen.set(false);\n this.clearDropdown();\n this.acLoading.set(false);\n }\n\n clearDropdown() {\n const dropdown = this.dropdown();\n if (!dropdown) return;\n while (dropdown.nativeElement.firstChild) {\n dropdown.nativeElement.removeChild(dropdown.nativeElement.lastChild!);\n }\n }\n}\n","import {\n booleanAttribute,\n Component,\n computed,\n ElementRef,\n input,\n InputSignal,\n Optional,\n Self,\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';\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]=\"isDisabled() ? 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 @if (errors() && (control?.touched || control?.dirty)) {\n <div class=\"invalid-feedback d-block\">\n {{ errors() | json }}\n </div>\n }\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 disabled = input(false, { transform: booleanAttribute }) as unknown as InputSignal<boolean | undefined>;\n readonly = input(false, { transform: booleanAttribute });\n indeterminate = input(false, { transform: booleanAttribute });\n userDefinedId = input('', { alias: 'id' });\n\n el = viewChild.required<ElementRef<HTMLInputElement>>('field');\n\n isDisabled = computed(() => this.disabled() || this.cvaDisabled());\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.isDisabled()) {\n const t = ev as HTMLInputElement;\n this.setValue(t?.checked);\n }\n }\n\n override onWrite(data: boolean | undefined): void {\n const el = this.el();\n if (el && el.nativeElement) {\n if (this.indeterminate() && (typeof data === 'undefined' || data === null)) {\n el.nativeElement.indeterminate = true;\n } else {\n if (data === undefined || data === null) return;\n if (typeof data === 'string') {\n el.nativeElement.checked = /^true$/i.test(data);\n }\n else {\n el.nativeElement.checked = data;\n }\n }\n }\n }\n\n override writeValue(val: boolean | undefined): void {\n const el = this.el();\n if (this.indeterminate() && el) {\n if (typeof val === 'undefined' || val === null) {\n el.nativeElement.indeterminate = true;\n } else {\n el.nativeElement.indeterminate = false;\n }\n }\n if (!this.indeterminate()) {\n val = val || false;\n }\n super.writeValue(val);\n }\n}\n","import {\n booleanAttribute,\n Component,\n ElementRef,\n input,\n InputSignal,\n Optional,\n Self,\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';\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 @if (errors() && showError()) {\n <rlb-input-validation [errors]=\"errors()\"/>\n }\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 disabled = input(false, { transform: booleanAttribute }) as unknown as InputSignal<boolean | undefined>;\n readonly = input(false, { transform: booleanAttribute });\n size = input<'small' | 'large' | undefined>(undefined);\n userDefinedId = input('', { alias: 'id', transform: (v: string) => v || '' });\n\n el = viewChild<ElementRef<HTMLInputElement>>('field');\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 const el = this.el();\n if (el && el.nativeElement) {\n el.nativeElement.value = data;\n }\n }\n}\n","import {\n booleanAttribute,\n Component,\n ElementRef,\n input,\n InputSignal,\n Optional,\n Self,\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';\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 @if (errors() && showError()) {\n <rlb-input-validation [errors]=\"errors()\"/>\n }\n </div>\n <ng-content select=\"[after]\"></ng-content>`,\n standalone: false\n})\nexport class DatalistComponent\n extends AbstractComponent<string>\n implements ControlValueAccessor {\n disabled = input(false, { transform: booleanAttribute }) as unknown as InputSignal<boolean | undefined>;\n readonly = input(false, { transform: booleanAttribute });\n placeholder = input<string | undefined>(undefined);\n size = input<'small' | 'large' | undefined>(undefined);\n userDefinedId = input('', { alias: 'id', transform: (v: string) => v || '' });\n\n el = viewChild<ElementRef<HTMLInputElement>>('field');\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 const el = this.el();\n if (el && el.nativeElement) {\n el.nativeElement.value = data;\n }\n }\n}\n","import {\n booleanAttribute,\n Directive,\n input,\n output,\n signal\n} from '@angular/core';\n\n@Directive({\n selector: '[rlb-dnd]',\n standalone: false,\n host: {\n '[class.fileover]': 'fileOver()',\n '(dragover)': 'onDragOver($event)',\n '(dragleave)': 'onDragLeave($event)',\n '(drop)': 'onDrop($event)'\n }\n})\nexport class DndDirective {\n multi = input(false, { alias: 'multiple', transform: booleanAttribute });\n\n fileDropped = output<File[]>();\n\n fileOver = signal(false);\n\n onDragOver(evt: DragEvent) {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver.set(true);\n }\n\n onDragLeave(evt: DragEvent) {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver.set(false);\n }\n\n onDrop(evt: DragEvent) {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver.set(false);\n let files = evt.dataTransfer?.files;\n if (files && files.length > 0) {\n const _f: File[] = [];\n if (files.length > 1 && !this.multi()) {\n _f.push(files[0]);\n }\n else {\n for (let i = 0; i < files.length; i++) _f.push(files[i]);\n }\n this.fileDropped.emit(_f);\n }\n }\n}\n","import { booleanAttribute, Component, ElementRef, input, output, viewChild } 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 @for (file of files; track file; let i = $index) {\n <div class=\"single-file\">\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 }\n </div>`,\n standalone: false\n})\nexport class FileDndComponent {\n files: File[] = [];\n\n multiple = input(false, { transform: booleanAttribute });\n data = input<any>({});\n userDefinedId = input('', { alias: 'id', transform: (v: string) => v || '' });\n\n filesChange = output<File[]>({ alias: 'files' });\n\n fileDropEl = viewChild<ElementRef<HTMLInputElement>>('fileDropRef');\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 const el = this.fileDropEl();\n if (el) {\n el.nativeElement.value = \"\";\n }\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 const el = this.fileDropEl();\n if (el) {\n el.nativeElement.value = \"\";\n }\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 {\n booleanAttribute,\n Component,\n ElementRef,\n input,\n InputSignal,\n Optional,\n Self,\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';\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 (change)=\"onFileChange($event)\"\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 FileComponent\n extends AbstractComponent<File | File[] | null>\n implements ControlValueAccessor {\n disabled = input(false, { transform: booleanAttribute }) as unknown as InputSignal<boolean | undefined>;\n readonly = input(false, { transform: booleanAttribute });\n multiple = input(false, { transform: booleanAttribute });\n size = input<'small' | 'large' | undefined>(undefined);\n accept = input<string | undefined>(undefined);\n userDefinedId = input('', { alias: 'id', transform: (v: string) => v || '' });\n\n el = viewChild<ElementRef<HTMLInputElement>>('field');\n\n constructor(\n idService: UniqueIdService,\n @Self() @Optional() override control?: NgControl,\n ) {\n super(idService, control);\n }\n\n onFileChange(ev: Event) {\n if (!this.disabled()) {\n const input = ev.target as HTMLInputElement;\n if (!input.files) {\n this.setValue(null);\n return;\n }\n this.setValue(this.multiple() ? Array.from(input.files) : input.files[0]);\n }\n }\n\n override onWrite(data: File | File[] | null): void {\n const el = this.el();\n if (el && el.nativeElement) {\n el.nativeElement.value = '';\n }\n }\n}\n","import {\n Directive,\n ElementRef,\n Renderer2,\n effect,\n input,\n} from '@angular/core';\nimport { UniqueIdService } from '../../shared/unique-id.service';\n\n@Directive({\n selector: '[helpText]',\n standalone: false\n})\nexport class HelpText {\n private uniqueId: string;\n\n helpText = input<string>('', { alias: 'helpText' });\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n idService: UniqueIdService,\n ) {\n this.uniqueId = idService.id;\n\n effect(() => {\n const text = this.helpText();\n if (text) {\n const input = this.elementRef.nativeElement.querySelector('input');\n if (!input) return;\n\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(text),\n );\n this.renderer.insertBefore(input.parentNode, textHelp, input.nextSibling);\n }\n });\n }\n}\n","import {\n AfterViewInit,\n booleanAttribute,\n Component,\n computed,\n ElementRef,\n input,\n numberAttribute,\n OnInit,\n Optional,\n Self,\n signal,\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]=\"\n type() === 'number' && max() !== null && max() !== undefined ? max() : undefined\n \"\n [attr.min]=\"\n type() === 'number' && min() !== null && min() !== undefined ? min() : undefined\n \"\n [attr.step]=\"\n type() === 'number' && step() !== null && step() !== undefined ? step() : undefined\n \"\n [attr.disabled]=\"isDisabled() ? 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 [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 @if (!_extValidation() && showError()) {\n <rlb-input-validation [errors]=\"errors()\" />\n }\n <ng-content select=\"[after]\"></ng-content>\n </ng-template>\n `,\n standalone: false,\n})\nexport class InputComponent extends AbstractComponent<any> implements OnInit, AfterViewInit {\n disabled = input(false, {\n transform: booleanAttribute,\n });\n readonly = input(false, { transform: booleanAttribute });\n beforeText = input(false, {\n alias: 'before-text',\n transform: booleanAttribute,\n });\n placeholder = input<string | undefined>(undefined);\n type = input<string>('text');\n size = input<'small' | 'large' | undefined>(undefined);\n name = input<string | undefined>(undefined);\n max = input(undefined, { transform: numberAttribute });\n min = input(undefined, { transform: numberAttribute });\n step = input(undefined, { transform: numberAttribute });\n dateType = input<'date' | 'string' | 'number' | 'date-tz' | string | undefined>(undefined, {\n alias: 'date-type',\n });\n timezone = input('UTC');\n userDefinedId = input('', { alias: 'id' });\n extValidation = input(false, { transform: booleanAttribute });\n enableValidation = input(false, {\n alias: 'enable-validation',\n transform: booleanAttribute,\n });\n\n protected _forceExtValidation = signal(false);\n protected _extValidation = computed(() => this.extValidation() || this._forceExtValidation());\n\n setExtValidation(val: boolean) {\n this._forceExtValidation.set(val);\n }\n\n protected _type = computed(() => {\n if (this.type() === 'number') return 'text';\n return this.type() || 'text';\n });\n\n isDisabled = computed(() => this.disabled() || this.cvaDisabled());\n\n el = viewChild<ElementRef<HTMLInputElement>>('field');\n template = viewChild.required<TemplateRef<any>>('template');\n\n constructor(\n private viewContainerRef: ViewContainerRef,\n idService: UniqueIdService,\n @Self() @Optional() override control?: NgControl,\n ) {\n super(idService, control);\n }\n\n update(ev: EventTarget | null) {\n if (!this.isDisabled()) {\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() !== undefined && v > this.max()!) {\n v = this.max()!;\n }\n if (this.min() !== undefined && 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 =\n (text.match(/\\./g) || [])?.length > 1\n ? text.slice(0, firstDotIndex + 1) +\n text.slice(firstDotIndex + 1).replace(/\\./g, '')\n : text;\n }\n this.onChanged?.(parseFloat(text));\n t.value = text;\n return;\n }\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 } else {\n const t = ev as HTMLInputElement;\n this.setValue(t?.value || '');\n }\n }\n }\n\n override onWrite(data: string): void {\n const el = this.el();\n\n // If the view isn't ready yet, just store the value and exit.\n // ngAfterViewInit will call this method again once el() is available.\n if (!el || !el.nativeElement) {\n this.value = data;\n return;\n }\n\n if (el && el.nativeElement) {\n if (this.type() === 'number') {\n if (data === '' || data === null || data === undefined) {\n this.value = '';\n el.nativeElement.value = '';\n return;\n }\n\n let val = parseFloat(this.removeNonDigits(data));\n\n if (this.max() !== undefined && val > this.max()!) {\n val = this.max()!;\n }\n if (this.min() !== undefined && val < this.min()!) {\n val = this.min()!;\n }\n this.value = data;\n el.nativeElement.value = val.toString();\n return;\n }\n if (this.type() === 'datetime-local') {\n if (this.dateType() === 'string') {\n this.value = data;\n 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 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 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 el.nativeElement.value = this.value;\n }\n } else {\n this.value = data;\n el.nativeElement.value = data || '';\n }\n }\n }\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(this.template());\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 =\n value\n .toString()\n .match(/[0-9,.]/g)\n ?.join('') || '';\n const standardized = filtered.replace(/,/g, '.');\n const [integerPart, ...fractionalParts] = standardized.split('.');\n const result =\n fractionalParts.length > 0 ? `${integerPart}.${fractionalParts.join('')}` : integerPart;\n return result;\n }\n}\n","import {\n booleanAttribute,\n Component,\n contentChild,\n contentChildren,\n effect,\n input,\n} from '@angular/core';\nimport { ValidationErrors } from '@angular/forms';\nimport { InputValidationComponent } from './input-validation.component';\nimport { InputComponent } from './input.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 {\n\n text = input(false, { alias: 'text', transform: booleanAttribute });\n validate = input(false, { alias: 'validate', transform: booleanAttribute });\n size = input<'small' | 'large' | undefined>(undefined);\n\n validations: ValidationErrors = {};\n\n inputs = contentChildren(InputComponent);\n validation = contentChild(InputValidationComponent);\n\n constructor() {\n effect(() => {\n if (this.validate()) {\n const inputs = this.inputs();\n const validation = this.validation();\n\n const aggregatedErrors: ValidationErrors = {};\n for (const input of inputs) {\n input.setExtValidation(true);\n const name = input.name();\n const errors = input.errors();\n if (errors && Object.keys(errors).length > 0 && name) {\n aggregatedErrors[name] = errors;\n }\n }\n this.validations = aggregatedErrors;\n\n if (validation) {\n validation.errors.set(this.validations);\n }\n }\n });\n }\n}\n","import {\n booleanAttribute,\n Component,\n contentChildren,\n effect,\n ElementRef,\n input,\n InputSignal,\n Optional,\n Self,\n viewChild,\n viewChildren,\n ViewContainerRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { AbstractComponent } from './abstract-field.component';\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\n @for (option of options(); track option; let i = $index) {\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\"\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 <!-- We use this span as an anchor to insert the Option text -->\n <label\n class=\"form-check-label\"\n [for]=\"id + '-radio-' + i\"\n >\n <span #content></span>\n </label>\n </div>\n }\n\n <ng-content select=\"[after]\"></ng-content>\n <div class=\"invalid-feedback\">\n {{ errors() | json }}\n </div>\n </div>\n `,\n standalone: false,\n})\nexport class RadioComponent extends AbstractComponent<string> implements ControlValueAccessor {\n disabled = input(false, { transform: booleanAttribute }) as unknown as InputSignal<\n boolean | undefined\n >;\n readonly = input(false, { transform: booleanAttribute });\n userDefinedId = input('', { alias: 'id', transform: (v: string) => v || '' });\n\n options = contentChildren(OptionComponent);\n contents = viewChildren('content', { read: ViewContainerRef });\n el = viewChild<ElementRef<HTMLInputElement>>('field');\n\n constructor(\n idService: UniqueIdService,\n @Self() @Optional() override control?: NgControl,\n ) {\n super(idService, control);\n\n effect(() => {\n const options = this.options();\n const contents = this.contents();\n\n if (options.length > 0 && contents.length === options.length) {\n contents.forEach((vcr, i) => {\n vcr.clear(); // Clear previous view\n\n const option = options[i];\n if (option) {\n vcr.createEmbeddedView(option.contentTemplate());\n }\n });\n }\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 const el = this.el();\n if (el && el.nativeElement) {\n el.nativeElement.value = data;\n }\n }\n}\n","import {\n booleanAttribute,\n Component,\n computed,\n ElementRef,\n input,\n InputSignal,\n numberAttribute,\n Optional,\n Self,\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';\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]=\"isDisabled() ? 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 disabled = input(false, { transform: booleanAttribute }) as unknown as InputSignal<boolean | undefined>;\n readonly = input(false, { transform: booleanAttribute });\n min = input(undefined, { transform: numberAttribute });\n max = input(undefined, { transform: numberAttribute });\n step = input(undefined, { transform: numberAttribute });\n userDefinedId = input('', { alias: 'id' });\n\n el = viewChild.required<ElementRef<HTMLInputElement>>('field');\n\n isDisabled = computed(() => this.disabled() || this.cvaDisabled());\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.isDisabled()) {\n const t = ev as HTMLInputElement;\n this.setValue(t?.value);\n }\n }\n\n override onWrite(data: string): void {\n const el = this.el();\n if (el && el.nativeElement) {\n el.nativeElement.value = data;\n }\n }\n}\n","import {\n AfterViewInit,\n booleanAttribute,\n Component,\n computed,\n ElementRef,\n input,\n Optional,\n Self,\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';\n\n@Component({\n selector: 'rlb-switch',\n template: `\n <div class=\"d-flex align-items-center gap-2\">\n @if (errors() && showError() && (control?.touched || control?.dirty)) {\n <div class=\"invalid-feedback d-block\">\n {{ errors() | json }}\n </div>\n }\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]=\"isDisabled() ? 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{\n disabled = input(false, {\n transform: booleanAttribute,\n });\n readonly = input(false, { transform: booleanAttribute });\n size = input<'small' | 'large' | undefined>(undefined);\n userDefinedId = input('', { alias: 'id' });\n\n el = viewChild.required<ElementRef<HTMLInputElement>>('field');\n\n isDisabled = computed(() => this.disabled() || this.cvaDisabled());\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.isDisabled()) {\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 const el = this.el();\n if (el && el.nativeElement) {\n if (this.data === undefined || this.data === null) return;\n if (typeof this.data === 'string') {\n el.nativeElement.checked = /^true$/i.test(this.data);\n } else {\n el.nativeElement.checked = this.data;\n }\n }\n }\n}\n","import {\n booleanAttribute,\n Component,\n computed,\n ElementRef,\n input,\n InputSignal,\n numberAttribute,\n Optional,\n Self,\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';\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]=\"isDisabled() ? 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 @if (errors() && showError()) {\n <rlb-input-validation [errors]=\"errors()\"/>\n }\n </div>\n <ng-content select=\"[after]\"></ng-content>`,\n standalone: false\n})\nexport class TextAreaComponent\n extends AbstractComponent<string>\n implements ControlValueAccessor {\n disabled = input(false, { transform: booleanAttribute }) as unknown as InputSignal<boolean | undefined>;\n readonly = input(false, { transform: booleanAttribute });\n placeholder = input<string | undefined>(undefined);\n size = input<'small' | 'large' | undefined>(undefined);\n rows = input(3, { transform: numberAttribute });\n userDefinedId = input('', { alias: 'id' });\n\n el = viewChild<ElementRef<HTMLTextAreaElement>>('field');\n\n isDisabled = computed(() => this.disabled() || this.cvaDisabled());\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.isDisabled()) {\n const t = ev as HTMLInputElement;\n this.setValue(t?.value);\n }\n }\n\n override onWrite(data: string): void {\n const el = this.el();\n if (el && el.nativeElement) {\n 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 booleanAttribute,\n Component,\n computed,\n effect,\n input,\n output,\n signal,\n viewChild,\n} from '@angular/core';\nimport { FormControl, FormGroup, NgForm } from '@angular/forms';\nimport { FormField, FormFieldsDefinition, 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 {\n public filterForm = signal<FormGroup | undefined>(undefined);\n\n title = input<string>('', { alias: 'title' });\n subTitle = input<string>('', { alias: 'sub-title' });\n noSubmit = input(false, { alias: 'no-submit', transform: booleanAttribute });\n noCard = input(false, { alias: 'no-card', transform: booleanAttribute });\n fields = input<FormFieldsDefinition | undefined>(undefined, { alias: 'fields' });\n\n submit = output<any>();\n\n form = viewChild<NgForm>('ngForm');\n\n _fields = computed(() => {\n const fieldsData = this.fields();\n if (!fieldsData) return [];\n return Object.keys(fieldsData).map((o) => {\n return { property: o, ...(fieldsData as any)[o] } as FormField;\n });\n });\n\n constructor() {\n effect(() => {\n this.buildForm(this.fields());\n });\n }\n\n private buildForm(fieldsData: FormFieldsDefinition | undefined) {\n if (!fieldsData) {\n this.filterForm.set(undefined);\n return;\n }\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.set(new FormGroup(formGroup));\n }\n\n onFilterSubmit() {\n const form = this.filterForm();\n if (form && form.valid) {\n this.submit.emit(form.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","@if (noCard()) {\n<ng-container [ngTemplateOutlet]=\"formTemplate\"></ng-container>\n} @else {\n<div class=\"card mb-3\">\n <div class=\"card-body\">\n @if (title()) {\n <h5 class=\"card-title\">{{ title() | translate }}</h5>\n }\n @if (subTitle()) {\n <p class=\"card-text\">{{ subTitle() | translate }}</p>\n }\n <ng-container [ngTemplateOutlet]=\"formTemplate\"></ng-container>\n </div>\n</div>\n}\n\n\n<ng-template #formTemplate>\n @if (filterForm()) {\n <form [formGroup]=\"filterForm()!\" [class.was-validated]=\"ngForm.submitted\" class=\"needs-validation\" #ngForm=\"ngForm\"\n (ngSubmit)=\"onFilterSubmit()\">\n <div class=\"row\">\n @for (inputItem of _fields(); track identify($index, inputItem)) {\n <div class=\"col\" [ngClass]=\"inputItem.cols\">\n <div class=\"mb-3\">\n @if (isText(inputItem.type)) {\n <rlb-input [formControlName]=\"inputItem.property\" [type]=\"inputItem.type\"\n [placeholder]=\"inputItem.name | translate\">\n @if (inputItem.label) {\n <ng-container before>\n <span #after>\n {{ inputItem.label | translate }}\n </span>\n </ng-container>\n }\n </rlb-input>\n }\n @if (isSwitch(inputItem.type)) {\n <rlb-switch [formControlName]=\"inputItem.property\" />\n }\n </div>\n </div>\n }\n </div>\n @if (!noSubmit()) {\n <div class=\"row\">\n <div class=\"col\">\n <button class=\"btn btn-primary float-end\" [disabled]=\"!filterForm()!.valid\">\n {{ \"common.filter\" | translate }}\n </button>\n </div>\n </div>\n }\n </form>\n }\n</ng-template>","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 {\n Component,\n ElementRef,\n input,\n OnInit,\n signal,\n ViewChild,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { IModal, ModalData, ModalDirective } from '../components';\nimport { RlbBootstrapModule } from '../rlb-bootstrap.module';\nimport { SearchModalInput } from './search-modal.data';\n\n@Component({\n imports: [RlbBootstrapModule, FormsModule],\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{\n @ViewChild('btn') btn!: ElementRef<HTMLElement>;\n\n data = input<ModalData<SearchModalInput>>({} as any);\n valid = signal(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 {\n Component,\n computed,\n ElementRef,\n input,\n OnInit,\n signal,\n ViewChild,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { IModal, ModalData, ModalDirective } from '../components';\nimport { RlbBootstrapModule } from '../rlb-bootstrap.module';\n\nimport { CommonModalData } from './common-modal.data';\n\n@Component({\n standalone: true,\n imports: [RlbBootstrapModule, FormsModule],\n template: `\n <div [class]=\"'modal-header' + headerColor()\">\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 @if (data().content.header) {\n <h6>\n {{ data().content.header }}\n </h6>\n }\n <span>\n {{ data().content.body }}\n </span>\n </div>\n <div class=\"modal-footer\">\n @if (data().cancel) {\n <button class=\"me-2\" rlb-button outline data-modal-reason=\"cancel\">\n {{ data().cancel }}\n </button>\n }\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{\n @ViewChild('btn') btn!: ElementRef<HTMLElement>;\n\n data = input<ModalData<CommonModalData>>({\n title: '',\n content: { header: '', body: '' },\n });\n valid = signal(true);\n\n // Computed for header color\n headerColor = computed(() =>\n this.data()?.type ? ` bg-${this.data()?.type}` : '',\n );\n\n searchText?: string;\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 { Component, computed, input, OnDestroy, OnInit, signal } from '@angular/core';\nimport { FormBuilder, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { Subject, takeUntil } from 'rxjs';\nimport { RlbBootstrapModule } from '../../../../rlb-bootstrap.module';\nimport { UniqueIdService } from '../../../../shared/unique-id.service';\nimport { IModal } from '../../../modals/data/modal';\nimport { ModalData } from '../../../modals/data/modal-data';\nimport { ModalDirective } from '../../../modals/modal.directive';\nimport { CalendarEvent } from '../../interfaces/calendar-event.interface';\n\n@Component({\n standalone: true,\n imports: [RlbBootstrapModule, ReactiveFormsModule],\n template: `\n <div [formGroup]=\"form\">\n <div [class]=\"'modal-header' + headerColor()\">\n <h5 class=\"modal-title\">\n @if (eventToEdit?.id) {\n Edit Event\n } @else {\n Create Event\n }\n </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 <rlb-input\n formControlName=\"title\"\n placeholder=\"Event Title\"\n class=\"mb-3\"\n >\n <label before>Title</label>\n </rlb-input>\n\n <div class=\"row mb-3\">\n <div class=\"col\">\n <rlb-input\n type=\"datetime-local\"\n formControlName=\"start\"\n >\n <label before>Start Date</label>\n </rlb-input>\n </div>\n <div class=\"col\">\n <rlb-input\n type=\"datetime-local\"\n formControlName=\"end\"\n >\n <label before>End Date</label>\n </rlb-input>\n </div>\n </div>\n\n <div class=\"row mb-3\">\n <div class=\"col\">\n <rlb-switch formControlName=\"allDay\">\n <label before>All Day</label>\n </rlb-switch>\n </div>\n <div class=\"col\">\n <rlb-select formControlName=\"color\">\n <label before>Color</label>\n @for (c of colors; track c.value) {\n <rlb-option [value]=\"c.value\">{{ c.name }}</rlb-option>\n }\n </rlb-select>\n </div>\n </div>\n </div>\n <div class=\"modal-footer\">\n <button\n type=\"button\"\n class=\"btn btn-secondary me-2\"\n data-modal-reason=\"cancel\"\n >\n Cancel\n </button>\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n data-modal-reason=\"ok\"\n >\n Save\n </button>\n </div>\n </div>\n `,\n hostDirectives: [\n {\n directive: ModalDirective,\n inputs: ['id', 'data-instance', 'data-options'],\n },\n ],\n})\nexport class EventCreateEditComponent\n implements IModal<CalendarEvent | undefined, CalendarEvent>, OnInit, OnDestroy\n{\n data = input<ModalData<CalendarEvent | undefined>>({} as any);\n result?: CalendarEvent;\n\n private _valid = signal(false);\n valid = this._valid.asReadonly();\n\n headerColor = computed(() => {\n return this.data()?.type ? ` bg-${this.data().type}` : '';\n });\n\n private destroy$ = new Subject<void>();\n public form!: FormGroup;\n public eventToEdit?: CalendarEvent;\n\n public colors = [\n { name: 'Primary', value: 'primary' },\n { name: 'Secondary', value: 'secondary' },\n { name: 'Success', value: 'success' },\n { name: 'Danger', value: 'danger' },\n { name: 'Warning', value: 'warning' },\n { name: 'Info', value: 'info' },\n { name: 'Light', value: 'light' },\n { name: 'Dark', value: 'dark' },\n ];\n\n constructor(\n private fb: FormBuilder,\n private unique: UniqueIdService,\n ) {}\n\n ngOnInit(): void {\n this.eventToEdit = this.data()?.content;\n this.form = this.fb.group({\n id: [this.eventToEdit?.id || this.unique.id],\n title: [this.eventToEdit?.title || '', Validators.required],\n start: [this.eventToEdit?.start || '', Validators.required],\n end: [this.eventToEdit?.end || '', Validators.required],\n allDay: [this.eventToEdit?.allDay || false],\n color: [this.eventToEdit?.color || 'primary'],\n });\n\n this.form.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value: CalendarEvent) => {\n this.result = this.handleFormValueChange(value);\n this._valid.set(!this.form.pristine && this.form.valid);\n });\n }\n\n private handleFormValueChange(value: CalendarEvent): CalendarEvent {\n return {\n ...value,\n };\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { Component, computed, input } from '@angular/core';\nimport { RlbBootstrapModule } from '../../../../rlb-bootstrap.module';\nimport { IModal } from '../../../modals/data/modal';\nimport { ModalData } from '../../../modals/data/modal-data';\nimport { ModalDirective } from '../../../modals/modal.directive';\nimport {\n CalendarEvent,\n CalendarEventWithLayout,\n} from '../../interfaces/calendar-event.interface';\n\nexport interface CalendarOverflowEventsDialogResult {\n action: 'edit' | 'delete' | 'close';\n event: CalendarEvent;\n}\n\n@Component({\n standalone: true,\n template: `\n <div [class]=\"'modal-header' + headerColor()\">\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 <div class=\"d-flex flex-column\">\n @for (event of eventsWithLayout(); track event.id) {\n <div class=\"d-flex align-items-center mb-1\">\n <rlb-calendar-event\n class=\"flex-grow-1\"\n view=\"month\"\n [event]=\"event\"\n />\n <button\n class=\"btn btn-sm btn-outline-primary ms-1\"\n data-modal-reason=\"ok\"\n (click)=\"result = { action: 'edit', event: event }\"\n >\n <i class=\"bi bi-pencil\"></i>\n </button>\n <button\n class=\"btn btn-sm btn-outline-danger ms-1\"\n data-modal-reason=\"ok\"\n (click)=\"result = { action: 'delete', event: event }\"\n >\n <i class=\"bi bi-trash\"></i>\n </button>\n </div>\n }\n </div>\n </div>\n <div class=\"modal-footer\">\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n data-modal-reason=\"cancel\"\n >\n Close\n </button>\n </div>\n `,\n hostDirectives: [\n {\n directive: ModalDirective,\n inputs: ['id', 'data-instance', 'data-options'],\n },\n ],\n imports: [RlbBootstrapModule],\n})\nexport class CalendarOverflowEventsContainerComponent implements IModal<\n CalendarEvent[],\n CalendarOverflowEventsDialogResult\n> {\n data = input<ModalData<CalendarEvent[]>>({} as any);\n result?: CalendarOverflowEventsDialogResult;\n\n eventsWithLayout = computed(() => {\n return (this.data()?.content || []).map(\n (event) =>\n ({\n ...event,\n left: 0,\n width: 100,\n }) as CalendarEventWithLayout,\n );\n });\n\n headerColor = computed(() => {\n return this.data()?.type ? ` bg-${this.data().type}` : '';\n });\n}\n","import { Component, input, signal } from '@angular/core';\nimport { IToast } from \"../../../toast/data/toast\";\nimport { ToastData } from \"../../../toast/data/toast-data\";\nimport { ToastDirective } from \"../../../toast/toast.directive\";\n\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 @if (data().subtitle) {\n <small> {{data().subtitle }}</small>\n }\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: [RlbBootstrapModule]\n})\nexport class CalendarToastComponent implements IToast<string, void> {\n data = input.required<ToastData<string>>();\n valid = signal(true);\n result?: any;\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","i1","i1.ModalRegistryOptions","i2","i3.UniqueIdService","i1.InnerModalService","i2.ComponentHostDirective","i2.BreakpointService","i1.ToastRegistryOptions","i2.UniqueIdService","i1.InnerToastService","i2.DropdownComponent","i3.DropdownContainerComponent","i4.DropdownMenuItemComponent","i5.DropdownDirective","i6","i7.DateTzPipe","i8.MonthFormatterPipe","i2.DateTzPipe","DateTz","i2.CalendarEventComponent","i3.DateTzPipe","i4.DayOfWeekPipe","i3.DayOfWeekPipe","i1.CalendarWeekGridComponent","i2.CalendarDayGridComponent","i3.CalendarMonthGridComponent","i1.ModalService","i3.ToastService","i4.ProgressComponent","i5.CalendarHeaderComponent","i6.CalendarGrid","i4.DropdownDirective","i5","i1.BadgeComponent","i2.AvatarComponent","i2.ButtonComponent","i3.ToggleDirective","i1.RlbPlaceholderComponent","i2.RlbPlaceholderLineComponent","i3.SidebarService","i4.BadgeDirective","i5.CollapseComponent","i6.ToggleDirective","i1.SidebarService","i3.TooltipDirective","i1.ToggleDirective","i3.InputValidationComponent","i3","i4.SelectComponent","i5.OptionComponent","i4.InputValidationComponent","i5.ProgressComponent","i1.DndDirective","i3.ProgressComponent","i3.InputComponent","i4.SwitchComponent","i1.DataTableActionComponent","i2.DataTableActionsComponent","i3.DataTableCellComponent","i4.DataTableHeaderComponent","i5.DataTableRowComponent","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.CalendarDayGridComponent","i105.CalendarMonthGridComponent","i106.CalendarEventComponent","i107.ComponentHostDirective","i108.DateTzPipe","i109.MonthFormatterPipe","i110.DayOfWeekPipe","i1.ModalDirective","i4","i3.ModalDirective","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/shared/breakpoint.service.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/interfaces/calendar-layout.interface.ts","../../../../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/day/calendar-day-grid.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/components/calendar/grid/day/calendar-day-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.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/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.service.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/data/datatable/dt-noitems.component.ts","../../../../projects/rlb/ng-bootstrap/src/lib/data/datatable/dt-loading.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/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-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, signal } 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 = signal<string | undefined>(undefined);\n public itemId = signal<string | undefined>(undefined);\n public expanded = signal(false);\n}\n","import {\n booleanAttribute,\n Component,\n input,\n} 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 color = input<Color | undefined>('primary');\n size = input<Size | undefined>('md');\n disabled = input(false, { transform: booleanAttribute });\n outline = input(false, { transform: booleanAttribute });\n isLink = input(false, { transform: booleanAttribute });\n\n mainClass() {\n let style = '';\n const isLink = this.isLink();\n const color = this.color();\n const outline = this.outline();\n const size = this.size();\n\n if (!isLink) {\n style = 'btn';\n if (color) {\n if (outline) {\n style += ` btn-outline-${color}`;\n } else {\n style += ` btn-${color}`;\n }\n }\n if (size !== 'md') {\n style += ` btn-${size}`;\n }\n } else {\n style = 'btn btn-link';\n if (color) {\n style += ` link-${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 orientation = input<'horizontal' | 'vertical'>('horizontal', { alias: 'orientation' });\n size = input<'sm' | 'md' | 'lg'>('md', { alias: 'size' });\n}\n","import {\n booleanAttribute,\n Directive,\n effect,\n ElementRef,\n Host,\n input,\n Optional,\n Renderer2,\n Self\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 {\n toggle = input.required<'offcanvas' | 'collapse' | 'tab' | 'pill' | 'dropdown' | 'buttons-group'>({ alias: 'toggle' });\n target = input.required<string>({ alias: 'toggle-target' });\n collapsed = input(false, { transform: booleanAttribute });\n autoClose = input<'default' | 'inside' | 'outside' | 'manual'>('default', { alias: 'auto-close' });\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n @Host() @Self() @Optional() public buttonToolbar: ButtonToolbarComponent,\n ) {\n effect(() => {\n const element = this.elementRef.nativeElement;\n const toggle = this.toggle();\n const target = this.target();\n const collapsed = this.collapsed();\n const autoClose = this.autoClose();\n\n this.renderer.setAttribute(element, 'data-bs-toggle', toggle);\n\n if (autoClose === 'default') {\n this.renderer.setAttribute(element, 'data-bs-auto-close', 'true');\n } else if (autoClose === 'inside') {\n this.renderer.setAttribute(element, 'data-bs-auto-close', 'inside');\n } else if (autoClose === 'outside') {\n this.renderer.setAttribute(element, 'data-bs-auto-close', 'outside');\n } else if (autoClose === 'manual') {\n this.renderer.setAttribute(element, 'data-bs-auto-close', 'false');\n }\n\n if (collapsed === true) {\n this.renderer.addClass(element, 'collapsed');\n this.renderer.setAttribute(element, 'aria-expanded', 'false');\n } else {\n this.renderer.removeClass(element, 'collapsed');\n this.renderer.setAttribute(element, 'aria-expanded', 'true');\n }\n\n this.renderer.setAttribute(element, 'aria-controls', target);\n\n if (toggle === 'dropdown' && target === '#') {\n this.renderer.setAttribute(element, 'href', '#');\n } else if (element?.nodeName.toLowerCase() === 'a') {\n this.renderer.setAttribute(element, 'href', `#${target}`);\n } else {\n this.renderer.setAttribute(element, 'data-bs-target', `#${target}`);\n }\n });\n }\n}\n","import { Component, signal } 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 = signal<string | undefined>(undefined);\n public itemId = signal<string | undefined>(undefined);\n public expanded = signal(false);\n}\n","import {\n AfterContentChecked,\n ElementRef,\n Injectable,\n OnDestroy,\n OnInit,\n OutputEmitterRef\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, 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: OutputEmitterRef<VisibilityEvent>;\n abstract status?: VisibilityEvent;\n\n constructor(protected elementRef?: ElementRef<HTMLElement>) {\n }\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 this._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 this._removeEventListeners();\n this._component?.dispose();\n }\n\n // We handle status changes via inputs/effects in children or by manual calls\n // The original ngOnChanges was used to react to status input changes.\n // Children will now use model() or effects to achieve this.\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 this.ensureInstance();\n this._component?.show();\n }\n\n close() {\n this.ensureInstance();\n this._component?.hide();\n }\n\n toggle() {\n this.ensureInstance();\n this._component?.toggle();\n }\n\n protected ensureInstance(): void {\n if (!this._component && this.htmlElement) {\n this._component = this.getOrCreateInstance(this.htmlElement);\n }\n }\n\n private _addEventListeners(): void {\n this.htmlElement?.addEventListener(`hide.${this.eventPrefix}`, this._openChange_f);\n this.htmlElement?.addEventListener(`hidden.${this.eventPrefix}`, this._openChange_f);\n this.htmlElement?.addEventListener(`hidePrevented.${this.eventPrefix}`, this._openChange_f);\n this.htmlElement?.addEventListener(`show.${this.eventPrefix}`, this._openChange_f);\n this.htmlElement?.addEventListener(`shown.${this.eventPrefix}`, this._openChange_f);\n }\n\n private _removeEventListeners(): void {\n this.htmlElement?.removeEventListener(`hide.${this.eventPrefix}`, this._openChange_f);\n this.htmlElement?.removeEventListener(`hidden.${this.eventPrefix}`, this._openChange_f);\n this.htmlElement?.removeEventListener(`hidePrevented.${this.eventPrefix}`, this._openChange_f);\n this.htmlElement?.removeEventListener(`show.${this.eventPrefix}`, this._openChange_f);\n this.htmlElement?.removeEventListener(`shown.${this.eventPrefix}`, this._openChange_f);\n }\n\n protected _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 computed,\n contentChild,\n effect,\n ElementRef,\n input,\n OnInit,\n output,\n signal,\n ViewContainerRef,\n} from '@angular/core';\nimport { Collapse } from 'bootstrap';\nimport { VisibilityEvent } from '../../shared/types';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { ToggleAbstractComponent } from '../abstract/toggle-abstract.component';\nimport { AccordionBodyComponent } from './accordion-body.component';\nimport { AccordionHeaderComponent } from './accordion-header.component';\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 OnInit {\n\n element!: HTMLElement;\n public parentId = signal<string | undefined>(undefined);\n public alwaysOpen = signal(false);\n\n name = input<string | undefined>(undefined, { alias: 'name' });\n expanded = input(false, { alias: 'expanded', transform: booleanAttribute });\n cssClass = input('', { alias: 'class' });\n style = input<string | undefined>(undefined, { alias: 'style' });\n // We use a property for status because the base class updates it.\n // We'll sync it with an input via effect if provided.\n public override status: VisibilityEvent = 'hidden';\n public override statusChange = output<VisibilityEvent>({ alias: 'statusChange' });\n\n header = contentChild(AccordionHeaderComponent);\n body = contentChild(AccordionBodyComponent);\n\n private _internalName = signal('');\n effectiveName = computed(() => {\n const pId = this.parentId();\n if (!pId) return '';\n return this.name() || `${pId}-${this._internalName()}`;\n });\n\n constructor(\n elementRef: ElementRef<HTMLElement>,\n private viewContainerRef: ViewContainerRef,\n private idService: UniqueIdService\n ) {\n super(elementRef);\n this._internalName.set(`item${this.idService.id}`);\n\n effect(() => {\n const pId = this.parentId();\n const name = this.effectiveName();\n if (pId && name) {\n const isOpen = this.status === 'show' || this.status === 'shown';\n const header = this.header();\n const body = this.body();\n\n if (header) {\n header.parentId.set(pId);\n header.itemId.set(name);\n header.expanded.set(isOpen);\n }\n\n if (body) {\n body.parentId.set(pId);\n body.itemId.set(name);\n body.expanded.set(isOpen);\n }\n }\n });\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 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 booleanAttribute,\n Component,\n computed,\n contentChildren,\n effect,\n input,\n OnDestroy,\n OutputRefSubscription,\n signal,\n} from '@angular/core';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { AccordionItemComponent } from './accordion-item.component';\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]': 'effectiveId()',\n },\n standalone: false\n})\nexport class AccordionComponent implements OnDestroy {\n flush = input(false, { alias: 'flush', transform: booleanAttribute });\n alwaysOpen = input(false, { alias: 'always-open', transform: booleanAttribute });\n id = input<string | undefined>(undefined, { alias: 'id' });\n\n private _internalId = signal('');\n effectiveId = computed(() => this.id() || this._internalId());\n\n private subs: OutputRefSubscription[] = [];\n\n items = contentChildren(AccordionItemComponent);\n\n constructor(private idService: UniqueIdService) {\n this._internalId.set(`accordion${this.idService.id}`);\n\n effect(() => {\n this.syncItems();\n });\n }\n\n private syncItems(): void {\n const items = this.items();\n const id = this.effectiveId();\n const alwaysOpen = this.alwaysOpen();\n\n items.forEach((item) => {\n item.parentId.set(id);\n item.alwaysOpen.set(alwaysOpen);\n });\n\n this.attachItemHandlers();\n this.enforceInitialState();\n }\n\n ngOnDestroy(): void {\n this.cleanup();\n }\n\n private attachItemHandlers(): void {\n this.cleanup();\n const items = this.items();\n const alwaysOpen = this.alwaysOpen();\n const id = this.effectiveId();\n\n items.forEach((item) => {\n item.parentId.set(id);\n item.alwaysOpen.set(alwaysOpen);\n\n const sub = item.statusChange.subscribe((ev) => {\n if (!alwaysOpen && (ev === 'show' || ev === 'shown')) {\n 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 const items = this.items();\n if (items.length === 0) return;\n\n if (this.alwaysOpen()) {\n return;\n }\n\n const opened = 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 booleanAttribute,\n Component,\n input,\n OnInit,\n output,\n TemplateRef,\n viewChild,\n ViewContainerRef,\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 @if (dismissible()) {\n <button\n type=\"button\"\n class=\"btn-close\"\n data-bs-dismiss=\"alert\"\n aria-label=\"Close\"\n (click)=\"dismissed.emit()\"\n ></button>\n }\n </div>\n </ng-template>`,\n standalone: false\n})\nexport class AlertComponent implements OnInit {\n element!: HTMLElement;\n\n color = input<Color>('primary', { alias: 'color' });\n dismissible = input(false, { alias: 'dismissible', transform: booleanAttribute });\n cssClass = input<string | undefined>(undefined, { alias: 'class' });\n\n dismissed = output<void>();\n\n template = viewChild.required<TemplateRef<any>>('template');\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 booleanAttribute,\n Component,\n computed,\n input,\n OnInit,\n TemplateRef,\n viewChild,\n ViewContainerRef,\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 @if (hiddenText()) {\n <span class=\"visually-hidden\">{{ hiddenText() }}</span>\n }\n </span>\n </ng-template>`,\n standalone: false\n})\nexport class BadgeComponent implements OnInit {\n element!: HTMLElement;\n\n pill = input(false, { alias: 'pill', transform: booleanAttribute });\n color = input<Color | undefined>('primary', { alias: 'color' });\n hiddenText = input<string | undefined>(undefined, { alias: 'hidden-text' });\n border = input(false, { alias: 'border', transform: booleanAttribute });\n cssClass = input<string | undefined>('', { alias: 'class' });\n\n template = viewChild.required<TemplateRef<any>>('template');\n\n style = computed(() => {\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 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 AfterViewInit,\n booleanAttribute,\n Directive,\n effect,\n ElementRef,\n input,\n numberAttribute,\n Renderer2,\n} from '@angular/core';\nimport { Color } from '../../shared/types';\n\n@Directive({\n selector: '[badge]',\n standalone: false,\n})\nexport class BadgeDirective implements AfterViewInit {\n badge = input<string | number | undefined>(undefined, { alias: 'badge' });\n pill = input(false, { alias: 'badge-pill', transform: booleanAttribute });\n border = input(false, { alias: 'badge-border', transform: booleanAttribute });\n top = input<number | undefined, unknown>(undefined, {\n alias: 'badge-top',\n transform: numberAttribute,\n });\n start = input<number | undefined, unknown>(undefined, {\n alias: 'badge-start',\n transform: numberAttribute,\n });\n color = input<Color>('danger', { alias: 'badge-color' });\n hiddenText = input<string | undefined>(undefined, { alias: 'hidden-text' });\n dot = input(false, { alias: 'badge-dot', transform: booleanAttribute });\n\n private badgeContent!: any;\n private badgeElement!: HTMLElement;\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n ) {\n effect(() => {\n this.updateBadge();\n });\n }\n\n ngAfterViewInit() {\n this.createBadgeElement();\n }\n\n private updateBadge() {\n if (!this.badgeElement) return;\n const badgeValue = this.castToString(this.badge());\n if (badgeValue) {\n if (this.badgeContent) {\n this.badgeContent.data = badgeValue;\n this.badgeElement.style.display = 'inline';\n } else {\n this.badgeContent = this.renderer.createText(badgeValue);\n this.renderer.appendChild(this.badgeElement, this.badgeContent);\n this.badgeElement.style.display = 'inline';\n }\n } else {\n this.badgeElement.style.display = 'none';\n }\n }\n\n private createBadgeElement() {\n this.badgeElement = this.renderer.createElement('span');\n\n const top = this.top();\n const start = this.start();\n const color = this.color();\n const pill = this.pill();\n const border = this.border();\n const hiddenText = this.hiddenText();\n const badgeValue = this.castToString(this.badge());\n\n if (top || start || top === 0 || start === 0) {\n this.renderer.addClass(this.badgeElement, 'position-absolute');\n if (top || top === 0) {\n this.renderer.addClass(this.badgeElement, `top-${top}`);\n }\n if (start || start === 0) {\n this.renderer.addClass(this.badgeElement, `start-${start}`);\n }\n this.renderer.addClass(this.badgeElement, 'translate-middle');\n }\n this.renderer.addClass(this.badgeElement, 'badge');\n if (pill) {\n this.renderer.addClass(this.badgeElement, 'rounded-pill');\n }\n if (border) {\n this.renderer.addClass(this.badgeElement, 'rounded-border');\n }\n if (color) {\n this.renderer.addClass(this.badgeElement, `bg-${color}`);\n }\n if (badgeValue) {\n this.badgeContent = this.renderer.createText(badgeValue);\n this.renderer.appendChild(this.badgeElement, this.badgeContent);\n } else if (this.dot()) {\n if (top || start || top === 0 || start === 0) {\n this.renderer.addClass(this.badgeElement, `p-2`);\n } else {\n this.renderer.addClass(this.badgeElement, `ps-0`);\n this.renderer.addClass(this.badgeElement, `ms-2`);\n }\n this.renderer.addClass(this.badgeElement, `border`);\n this.renderer.addClass(this.badgeElement, `border-light`);\n this.renderer.addClass(this.badgeElement, `rounded-circle`);\n if (!hiddenText) {\n const text = this.renderer.createElement('span');\n this.renderer.addClass(text, 'visually-hidden');\n this.renderer.appendChild(this.badgeElement, text);\n }\n } else {\n this.badgeElement.style.display = 'none';\n }\n if (hiddenText) {\n const text = this.renderer.createElement('span');\n this.renderer.addClass(text, 'visually-hidden');\n this.renderer.appendChild(text, this.renderer.createText(hiddenText));\n this.renderer.appendChild(this.badgeElement, text);\n }\n this.renderer.appendChild(this.elementRef.nativeElement, this.badgeElement);\n }\n\n private castToString(value: string | number | undefined): string {\n if (value && typeof value === 'number') {\n return value.toString();\n } else {\n return value as string;\n }\n }\n}\n","import { Component, input } from '@angular/core';\n\nexport interface BreadcrumbItem {\n id: string;\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 <ol class=\"breadcrumb\" [class]=\"cssClasses()\">\n @for (item of items(); track item.link; let last = $last) {\n <li class=\"breadcrumb-item\" [class.active]=\"!last\">\n @if (!last) {\n <a [routerLink]=\"item.link\">{{ item.label }}</a>\n }\n @if (last) {\n <span>{{ item.label }}</span>\n }\n </li>\n }\n </ol>\n </nav>`,\n standalone: false,\n})\nexport class BreadcrumbComponent {\n divider = input('>', { alias: 'divider' });\n items = input<BreadcrumbItem[]>([], { alias: 'items' });\n cssClasses = input('', { alias: 'cssClasses' });\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 orientation = input<'horizontal' | 'vertical'>('horizontal', { alias: 'orientation' });\n size = input<'sm' | 'md' | 'lg'>('md', { alias: 'size' });\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, signal } 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 = signal(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, signal } 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 position = input<'top' | 'bottom'>('top', { alias: 'position' });\n overlay = signal(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 booleanAttribute,\n Component,\n contentChild,\n effect,\n input,\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 {\n align = input<TextAlignment | undefined>('left', { alias: 'align' });\n overlay = input(false, { alias: 'overlay', transform: booleanAttribute });\n background = input<Color | undefined>(undefined, { alias: 'background' });\n border = input<Color | undefined>(undefined, { alias: 'border' });\n\n body = contentChild(CardBodyComponent);\n image = contentChild(CardImageComponent);\n\n constructor() {\n effect(() => {\n const isOverlay = this.overlay() ?? false;\n const body = this.body();\n if (body) {\n body.overlay.set(isOverlay);\n }\n const image = this.image();\n if (image) {\n image.overlay.set(isOverlay);\n }\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 active = input(false, { alias: 'active', transform: booleanAttribute });\n id = input('', { alias: 'id' });\n}","import {\n AfterViewInit,\n booleanAttribute,\n Component,\n computed,\n contentChildren,\n effect,\n ElementRef,\n input,\n model,\n numberAttribute,\n OnDestroy,\n output,\n} 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 @if (!hideIndicators()) {\n <div class=\"carousel-indicators\">\n @for (item of items(); track item; 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 }\n </div>\n }\n <div class=\"carousel-inner\">\n <ng-content select=\"rlb-carousel-slide\" />\n </div>\n @if (!hideControls()) {\n <button\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 }\n @if (!hideControls()) {\n <button\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 `,\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]': 'pauseProp() === false ? \"false\" : undefined',\n },\n standalone: false\n})\nexport class CarouselComponent implements OnDestroy, AfterViewInit {\n items = contentChildren(CarouselSlideComponent);\n\n _id = input<string | undefined>(undefined, { alias: 'id' });\n id = computed(() => this._id() || `carousel${this.idService.id}`);\n\n hideIndicators = input(false, { alias: 'hide-indicators', transform: booleanAttribute });\n hideControls = input(false, { alias: 'hide-controls', transform: booleanAttribute });\n crossFade = input(false, { alias: 'cross-fade', transform: booleanAttribute });\n autoplay = input<'auto' | 'manual' | 'none'>('auto');\n interval = input(500, { transform: numberAttribute });\n pauseProp = input<false | 'hover' | undefined>('hover', { alias: 'pause' });\n wrap = input(true, { transform: booleanAttribute });\n noTouch = input(false, { alias: 'no-touch', transform: booleanAttribute });\n keyboard = input(true, { transform: booleanAttribute });\n\n slid = output<Carousel.Event>();\n slide = output<Carousel.Event>();\n currentSlide = model(0, { alias: 'current-slide' });\n slideCountChange = output<number>({ alias: 'slide-count' });\n\n private carousel!: Carousel;\n\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n private idService: UniqueIdService,\n ) {\n effect(() => {\n const index = this.currentSlide();\n this.carousel?.to(index);\n });\n\n effect(() => {\n this.slideCountChange.emit(this.items().length);\n });\n }\n\n ngOnDestroy(): void {\n if (this.carousel) {\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\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() as any,\n },\n );\n this.carousel.to(this.currentSlide());\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_slide_handler(e));\n }\n\n private __event_slid_handler = (e: any): void => {\n this.currentSlide.set(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, input, OnDestroy, OnInit, output, ViewChild } from '@angular/core';\nimport { Collapse } from 'bootstrap';\nimport { VisibilityEvent } from '../../shared/types';\nimport { ToggleAbstractComponent } from '../abstract/toggle-abstract.component';\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 id = input.required<string>({ alias: 'id' });\n orientation = input<'horizontal' | 'vertical'>('vertical', { alias: 'orientation' });\n\n public override status: VisibilityEvent = 'hidden';\n public override statusChange = output<VisibilityEvent>({ alias: 'statusChange' });\n\n @ViewChild('collapseRef', { static: true }) collapseRef!: ElementRef<HTMLElement>;\n\n constructor(elementRef: ElementRef<HTMLElement>) {\n super(elementRef);\n }\n\n override ngOnInit(elemnt?: HTMLElement | Element) {\n super.ngOnInit(this.collapseRef.nativeElement);\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 { Component, ElementRef, input } from '@angular/core';\n\n@Component({\n selector: 'ul[rlb-dropdown-menu], rlb-dropdown-container',\n template: ` @if (isList) {\n <ng-content select=\"li[rlb-dropdown-item]\" />\n}\n@if (!isList) {\n <ng-content />\n}`,\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 placement = input<'left' | 'right' | undefined>(undefined, { alias: 'placement' });\n placementSm = input<'left' | 'right' | undefined>(undefined, { alias: 'placement-sm' });\n placementMd = input<'left' | 'right' | undefined>(undefined, { alias: 'placement-md' });\n placementLg = input<'left' | 'right' | undefined>(undefined, { alias: 'placement-lg' });\n placementXl = input<'left' | 'right' | undefined>(undefined, { alias: 'placement-xl' });\n placementXxl = input<'left' | 'right' | undefined>(undefined, { alias: 'placement-xxl' });\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\tselector: 'li[rlb-dropdown-item]',\n\ttemplate: `\n\t\t@if (!link() && !divider() && !header()) {\n\t\t <span\n\t\t class=\"dropdown-item \"\n\t\t role=\"button\"\n\t\t [class.active]=\"active()\"\n\t\t [class.disabled]=\"disabled()\"\n\t\t [class.text-wrap]=\"textWrap()\"\n\t\t [class.text-break]=\"textWrap()\"\n\t\t [attr.aria-current]=\"active()\"\n\t\t [attr.aria-disabled]=\"disabled()\"\n\t\t >\n\t\t <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\t\t </span>\n\t\t}\n\t\t@if (link()) {\n\t\t <a\n\t\t class=\"dropdown-item \"\n\t\t [routerLink]=\"link()\"\n\t\t [class.active]=\"active()\"\n\t\t [class.disabled]=\"disabled()\"\n\t\t [class.text-wrap]=\"textWrap()\"\n\t\t [class.text-break]=\"textWrap()\"\n\t\t [attr.aria-current]=\"active()\"\n\t\t [attr.aria-disabled]=\"disabled()\"\n\t\t >\n\t\t <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\t\t </a>\n\t\t}\n\t\t@if (header()) {\n\t\t <h6 class=\"dropdown-header\">\n\t\t <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\t\t </h6>\n\t\t}\n\t\t@if (divider()) {\n\t\t <hr class=\"dropdown-divider\" />\n\t\t}\n\t\t<ng-template #content><ng-content /></ng-template>`,\n\tstandalone: false\n})\nexport class DropdownMenuItemComponent {\n\tactive = input(false, { alias: 'active', transform: booleanAttribute });\n\tdisabled = input(false, { alias: 'disabled', transform: booleanAttribute });\n\theader = input(false, { alias: 'header', transform: booleanAttribute });\n\tdivider = input(false, { alias: 'divider', transform: booleanAttribute });\n\tlink = input<string | undefined>(undefined, { alias: 'link' });\n\ttextWrap = input(false, { alias: 'text-wrap', transform: booleanAttribute });\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 direction = input<'up' | 'down' | 'left' | 'right' | 'up-center' | 'down-center'>('down', { alias: 'direction' });\n}\n","import {\n Directive,\n ElementRef,\n OnDestroy,\n OnInit,\n Renderer2,\n effect,\n input,\n output,\n} from '@angular/core';\nimport { Dropdown } from 'bootstrap';\nimport { ComponentOptions } from \"bootstrap/js/dist/base-component\";\nimport { VisibilityEventBase } from '../../shared/types';\n\n@Directive({\n selector: 'a[rlb-dropdown], button[rlb-dropdown], span[rlb-badge][rlb-dropdown]',\n standalone: false\n})\nexport class DropdownDirective implements OnInit, OnDestroy {\n private _dropdown: Dropdown | undefined;\n private listeners: (() => void)[] = [];\n\n offset = input<number[]>([], { alias: 'offset' });\n autoClose = input<'default' | 'inside' | 'outside' | 'manual'>('default', { alias: 'auto-close' });\n statusChanged = output<VisibilityEventBase>({ alias: 'status-changed' });\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n ) {\n effect(() => {\n this.renderer.addClass(this.elementRef.nativeElement, 'dropdown-toggle');\n this.renderer.setAttribute(this.elementRef.nativeElement, 'data-bs-toggle', 'dropdown');\n\n if (this.elementRef.nativeElement.nodeName.toLowerCase() === 'a') {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'href', `#`);\n }\n });\n\n effect(() => {\n const scale = this.autoClose();\n let value = 'true';\n switch (scale) {\n case 'inside': value = 'inside'; break;\n case 'outside': value = 'outside'; break;\n case 'manual': value = 'false'; break;\n }\n this.renderer.setAttribute(this.elementRef.nativeElement, 'data-bs-auto-close', value);\n });\n }\n\n ngOnInit(): void {\n const dropdownOptions: ComponentOptions = {\n offset: this.offset(),\n display: this.offset().length ? 'dynamic' : 'static'\n };\n\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\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 ngOnDestroy() {\n this.listeners.forEach(unsub => unsub());\n this.listeners = [];\n this._dropdown?.dispose();\n }\n}\n","import { booleanAttribute, Component, computed, input, 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() : percentValue()\">\n @if (infinite()) {\n <div class=\"inner bg-{{color()}}\"></div>\n }\n @if (showValue()) {\n <span>\n {{ percentValue() }}\n </span>\n } @else {\n <ng-content></ng-content>\n }\n </div>`,\n host: {\n class: 'progress',\n 'attr.role': 'progressbar',\n '[attr.aria-valuenow]': 'percentValue()',\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 max = input(100, { alias: 'max', transform: numberAttribute });\n min = input(0, { alias: 'min', transform: numberAttribute });\n value = input(0, { alias: 'value', transform: numberAttribute });\n height = input<number | undefined, unknown>(undefined, { alias: 'height', transform: numberAttribute });\n animated = input(false, { alias: 'animated', transform: booleanAttribute });\n striped = input(false, { alias: 'striped', transform: booleanAttribute });\n infinite = input(false, { alias: 'infinite', transform: booleanAttribute });\n ariaLabel = input<string | undefined>(undefined, { alias: 'aria-label' });\n showValue = input(false, { alias: 'showValue', transform: booleanAttribute });\n color = input<Color>('primary', { alias: 'color' });\n textColor = input<Color | undefined>(undefined, { alias: 'text-color' });\n\n percentValue = computed(() => {\n return ((this.value() - this.min()) / (this.max() - this.min())) * 100;\n });\n}\n","import { Component, input } 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 style = input<'grow' | 'border'>('border', { alias: 'style' });\n color = input<Color>('primary', { alias: 'color' });\n size = input<'sm' | 'md' | 'lg'>('md', { alias: 'size' });\n}\n","import { ComponentRef, Injectable, Signal, Type } from '@angular/core';\nimport { AbstractRegistryService } from '../abstract.registry.service';\nimport { ComponentHostDirective } from './component-host.directive';\nimport { ComponentCreationOptions } from './data/component-creation-options';\nimport { ComponentInfo } from './data/component-info';\nimport { GenericComponent } from './generic.component';\n\n@Injectable()\nexport abstract class BuilderComponent<\n T extends AbstractRegistryService<Function>,\n> {\n abstract component: ComponentHostDirective;\n abstract builderId: string | Signal<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.setInput('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 { ComponentHostDirective } from '../../shared/component-builder/component-host.directive';\nimport { InnerModalService } from './inner-modal.service';\n\n@Component({\n selector: 'rlb-modal-container',\n template: `\n <ng-template component-host></ng-template>\n `,\n standalone: false,\n})\nexport class ModalContainerComponent\n extends BuilderComponent<InnerModalService>\n implements OnDestroy\n{\n builderId = input.required<string>({ alias: 'id' });\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 { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\nimport { Injectable } from '@angular/core';\nimport { map, Observable, shareReplay } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BreakpointService {\n /**\n * Observable that emits true when the screen width is <= 992px.\n * This corresponds to the BS992 breakpoint used in the sidebar.\n */\n isMobile$: Observable<boolean> = this.breakpointObserver\n .observe(['(max-width: 992px)'])\n .pipe(\n map((state: BreakpointState) => state.matches),\n shareReplay(1)\n );\n\n constructor(private breakpointObserver: BreakpointObserver) { }\n\n /**\n * Returns the current mobile state.\n */\n get isMobile(): boolean {\n return this.breakpointObserver.isMatched('(max-width: 992px)');\n }\n}\n","import { AfterViewInit, Directive, effect, ElementRef, input, isSignal, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { Modal } from 'bootstrap';\nimport { BreakpointService } from '../../shared/breakpoint.service';\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 private triggerElement: HTMLElement | null = null;\n\n id = input.required<string>({ alias: 'id' });\n instance = input.required<IModal>({ alias: 'data-instance' });\n options = input<ModalOptions | undefined>(undefined, { alias: 'data-options' });\n\n\n constructor(\n private el: ElementRef,\n private renderer: Renderer2,\n private innerModalService: InnerModalService,\n private breakpointService: BreakpointService,\n ) {\n effect(() => {\n const opts = this.options();\n if (this.modalElement && this.dialogElement) {\n // Toggle backdrop/keyboard/etc.\n // For simplicity, we mostly set these once, but we can reactive-ly update some classes\n if (opts?.scrollable) {\n this.renderer.addClass(this.dialogElement, 'modal-dialog-scrollable');\n } else {\n this.renderer.removeClass(this.dialogElement, 'modal-dialog-scrollable');\n }\n\n if (opts?.verticalcentered) {\n this.renderer.addClass(this.dialogElement, 'modal-dialog-centered');\n } else {\n this.renderer.removeClass(this.dialogElement, 'modal-dialog-centered');\n }\n }\n });\n }\n\n ngOnInit(): void {\n this.triggerElement = document.activeElement as HTMLElement;\n\n const inst = this.instance();\n // Check prop existence\n const instanceData = typeof inst.data === 'function' ? (inst.data as any)() : inst.data;\n\n const hasContent =\n instanceData &&\n Object.prototype.hasOwnProperty.call(instanceData, 'content') &&\n instanceData.content !== undefined;\n\n if (hasContent) {\n const content = instanceData.content;\n // If content is Object / Array we handle it as a deep copy\n if (content !== null && typeof content === 'object') {\n inst.result = structuredClone(content);\n } else {\n // otherwise assign as is\n inst.result = content;\n }\n } else if (inst) {\n // default fallback\n inst.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\n const opts = this.options();\n if (opts?.backdrop) {\n this.renderer.setAttribute(\n this.modalElement,\n 'data-bs-backdrop',\n `${opts.backdrop}`,\n );\n }\n if (opts?.keyboard) {\n this.renderer.setAttribute(\n this.modalElement,\n 'data-bs-keyboard',\n `${opts.keyboard}`,\n );\n }\n if (opts?.animation === false) {\n this.renderer.removeClass(this.modalElement, 'fade');\n }\n if (opts?.scrollable) {\n this.renderer.addClass(this.dialogElement, 'modal-dialog-scrollable');\n }\n if (opts?.verticalcentered) {\n this.renderer.addClass(this.dialogElement, 'modal-dialog-centered');\n }\n if (opts?.size) {\n this.renderer.addClass(this.dialogElement, `modal-${opts.size}`);\n }\n\n const isFullscreenUndefined = opts?.fullscreen === undefined;\n if (isFullscreenUndefined && this.breakpointService.isMobile) {\n this.renderer.addClass(this.dialogElement, `modal-fullscreen`);\n }\n\n if (opts?.fullscreen === true) {\n this.renderer.addClass(this.dialogElement, `modal-fullscreen`);\n }\n if (\n typeof opts?.fullscreen === 'string' &&\n opts?.fullscreen\n ) {\n this.renderer.addClass(\n this.dialogElement,\n `modal-fullscreen-${opts.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: opts?.backdrop || true,\n keyboard: opts?.keyboard || true,\n focus: opts?.focus || true,\n });\n this.bsModal.show();\n }\n\n ngOnDestroy(): void {\n if (this.modalElement) {\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 }\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 this.triggerElement?.focus();\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 this.triggerElement?.focus();\n }\n if (this._modalReason === 'ok') {\n const inst = this.instance();\n const isValid = isSignal(inst.valid) ? inst.valid() : inst.valid;\n\n if (isValid !== false) { // Default to true if undefined\n this.bsModal?.hide();\n this.triggerElement?.focus();\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 {\n booleanAttribute,\n Component,\n input,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} 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.aria-current]=\"active() ? 'page' : undefined\"\n [class.disabled]=\"disabled()\"\n [attr.disabled]=\"disabled() ? true : null\"\n [attr.href]=\"href() || null\"\n >\n <ng-content></ng-content>\n </a>\n </li>\n </ng-template>`,\n standalone: false\n})\nexport class NavItemComponent implements OnInit {\n element!: HTMLElement;\n\n active = input(false, { alias: 'active', transform: booleanAttribute });\n disabled = input(false, { transform: booleanAttribute });\n cssClass = input('', { alias: 'class' });\n href = input<string | undefined>(undefined);\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 booleanAttribute,\n Component,\n computed,\n ElementRef,\n input,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\n@Component({\n selector: 'rlb-nav',\n template: ` <ng-template #template>\n <ul\n class=\"nav {{ cssClass() }}\"\n [class.nav-tabs]=\"effectiveView() === 'tab' || effectiveView() === 'tabs'\"\n [class.nav-pills]=\"effectiveView() === 'pills'\"\n [class.nav-underline]=\"effectiveView() === 'underline'\"\n [class.nav-fill]=\"effectiveFill() === 'fill'\"\n [class.nav-justified]=\"effectiveFill() === 'justified'\"\n [class.flex-column]=\"vertical()\"\n [class.justify-content-center]=\"horizontalAlignment() === 'center'\"\n [class.justify-content-end]=\"horizontalAlignment() === 'end'\"\n >\n <ng-content select=\"rlb-nav-item\" />\n </ul>\n </ng-template>`,\n standalone: false\n})\nexport class NavComponent implements OnInit {\n element!: HTMLElement;\n\n horizontalAlignment = input<'center' | 'end' | undefined>(undefined, { alias: 'horizontal-alignment' });\n view = input<'tab' | 'tabs' | 'pills' | 'underline' | 'none'>('tab', { alias: 'view' });\n pills = input(false, { transform: booleanAttribute });\n tabs = input(false, { transform: booleanAttribute });\n underline = input(false, { transform: booleanAttribute });\n\n vertical = input(false, { alias: 'vertical', transform: booleanAttribute });\n\n fill = input<'fill' | 'justified' | boolean | undefined, any>(undefined, {\n alias: 'fill',\n transform: (v: any) => {\n if (v === 'fill' || v === 'justified') return v;\n return booleanAttribute(v);\n }\n });\n\n cssClass = input('', { alias: 'class' });\n\n effectiveView = computed(() => {\n if (this.pills()) return 'pills';\n if (this.tabs()) return 'tab';\n if (this.underline()) return 'underline';\n return this.view();\n });\n\n effectiveFill = computed(() => {\n const val = this.fill();\n if (val === 'fill' || val === 'justified') return val;\n return val === true ? 'fill' : undefined;\n });\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, OnInit, 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 implements OnInit {\n element!: HTMLElement;\n\n role = input<string | undefined>(undefined);\n cssClass = input('', { alias: 'class' });\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 {\n Component,\n computed,\n input,\n numberAttribute,\n OnInit,\n TemplateRef,\n viewChild,\n ViewContainerRef,\n} from '@angular/core';\n\n@Component({\n selector: 'rlb-avatar',\n template: `\n <ng-template #template>\n @if (src()) {\n <img\n [src]=\"src()!\"\n alt=\"Avatar\"\n [class]=\"cssClass()\"\n [style.vertical-align]=\"'middle'\"\n [style.width.px]=\"size()\"\n [style.height.px]=\"size()\"\n [style.border]=\"'2px solid #cbcbcb'\"\n [style.border-radius]=\"_borderRadius()\"\n />\n }\n </ng-template>\n `,\n standalone: false\n})\nexport class AvatarComponent implements OnInit {\n element!: HTMLElement;\n\n size = input<number, unknown>(50, { alias: 'size', transform: numberAttribute });\n shape = input<'circle' | 'round' | 'square'>('circle', { alias: 'shape' });\n src = input<string | undefined>(undefined, { alias: 'src' });\n cssClass = input<string | undefined>('', { alias: 'class' });\n\n template = viewChild.required<TemplateRef<any>>('template');\n\n constructor(private viewContainerRef: ViewContainerRef) { }\n\n _borderRadius = computed(() => {\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, computed, 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 color = input<Color>('primary');\n\n size = input<'xs' | 'sm' | 'md' | 'lg'>('md');\n\n disabled = input(false, { transform: booleanAttribute });\n outline = input(false, { transform: booleanAttribute });\n\n position = input<'br' | 'bl' | 'tr' | 'tl' | undefined>(undefined);\n\n positionClass = computed(() => {\n let classes = '';\n const pos = this.position();\n if (pos) {\n classes += 'position-fixed ';\n switch (pos) {\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 sizeClass = computed(() => {\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 rlb-button [color]=\"color()\" [disabled]=\"disabled()\" [outline]=\"outline()\"\n class=\"fab-button d-flex align-items-center justify-content-center\" [class]=\"[sizeClass(), positionClass()]\">\n <ng-content></ng-content>\n</button>","export interface CalendarLayout {\n rowHeight: number; // px, default 110\n maxBodyHeight: number; // rem, default 30\n minHeaderHeight: number; // rem, default 3.5\n}\n\nexport const DEFAULT_CALENDAR_LAYOUT: CalendarLayout = {\n rowHeight: 110,\n maxBodyHeight: 30,\n minHeaderHeight: 3.5\n};\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: IDateTz, days: number): IDateTz {\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, isSignal, Type } from '@angular/core';\nimport { Observable, of, Subject } 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 { ToastOptions } from './data/toast-options';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class InnerToastService extends AbstractRegistryService<Type<any>> {\n private allModals: {\n id: string;\n toast: ComponentRef<GenericComponent>;\n subject: Subject<ToastResult<any>>;\n }[] = [];\n private builders: BuilderComponent<InnerToastService>[] = [];\n\n // Helper method to safely extract the string ID\n private getBuilderId(builder: BuilderComponent<InnerToastService>): string {\n return isSignal(builder.builderId) ? builder.builderId() : builder.builderId;\n }\n\n registerBuilder(builder: BuilderComponent<InnerToastService>) {\n this.builders.push(builder);\n }\n\n removeBuilder(builderId: string) {\n this.builders = this.builders.filter(b => this.getBuilderId(b) !== builderId);\n }\n\n getBuilder(builderId: string): BuilderComponent<InnerToastService> {\n if (!builderId) throw new Error('builderId is required');\n\n const matchingBuilders = this.builders.filter(b => this.getBuilderId(b) === builderId);\n const count = matchingBuilders.length;\n\n if (count === 0) throw new Error(`builderId not found: ${builderId}`);\n\n if (count > 1) {\n console.warn(`Toast builderId is not unique: ${builderId}. Will use the first one.`);\n }\n\n return matchingBuilders[0];\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<ToastData<Input>, ToastOptions>(\n {\n name: componentName,\n data,\n },\n {\n inputs: { id: toastId },\n setInstance: true,\n },\n options,\n );\n this.allModals.push({\n id: toastId,\n toast: toast!,\n subject: new Subject<ToastResult<Output>>(),\n });\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(event: string, reason: ModalCloseReason, id: string, result: any): 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 { ComponentHostDirective } from '../../shared/component-builder/component-host.directive';\nimport { InnerToastService } from './inner-toast.service';\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 builderId = input.required<string>({ alias: 'id' });\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 AfterViewInit,\n Directive,\n ElementRef,\n input,\n isSignal,\n OnDestroy,\n Renderer2,\n} from '@angular/core';\nimport { Toast } from 'bootstrap';\nimport { ToastCloseReason } from '../../shared/types';\nimport { IToast } from './data/toast';\nimport { ToastOptions } from './data/toast-options';\nimport { InnerToastService } from './inner-toast.service';\n\n@Directive({\n selector: '[rlb-toast]',\n standalone: true,\n})\nexport class ToastDirective implements OnDestroy, AfterViewInit {\n id = input.required<string>({ alias: 'id' });\n instance = input.required<IToast>({ alias: 'data-instance' });\n options = input<ToastOptions>({}, { alias: 'data-options' });\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\n const opts = this.options();\n if (opts?.color) {\n this.renderer.addClass(this.contentElement, `text-bg-${opts.color}`);\n }\n if (opts?.classes) {\n for (const c of opts.classes) {\n this.renderer.addClass(this.contentElement, c.trim());\n }\n }\n while (this.el.nativeElement.children.length > 0) {\n this.renderer.appendChild(this.contentElement, this.el.nativeElement.children[0]);\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: opts?.animation || true,\n autohide: opts?.autohide || true,\n delay: opts?.delay || 5000,\n });\n this.bsToast.show();\n }\n\n ngOnDestroy(): void {\n if (this.contentElement) {\n this.contentElement.removeEventListener(`hide.bs.toast`, this._openChange_f);\n this.contentElement.removeEventListener(`hidden.bs.toast`, this._openChange_f);\n this.contentElement.removeEventListener(`show.bs.toast`, this._openChange_f);\n this.contentElement.removeEventListener(`shown.bs.toast`, this._openChange_f);\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('[data-toast-reason]');\n if (this._reasonButtons && this._reasonButtons.length > 0) {\n this._reasonButtons.forEach(btn => {\n btn.addEventListener('click', () => {\n this._toastReason = btn.getAttribute('data-toast-reason') as ToastCloseReason;\n if (this._toastReason === 'cancel' || this._toastReason === 'close') {\n this.bsToast?.hide();\n }\n if (this._toastReason === 'ok') {\n const inst = this.instance();\n const isValid = isSignal(inst.valid) ? inst.valid() : inst.valid;\n if (isValid !== false) {\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, input, output } from \"@angular/core\";\nimport { DateTz, IDateTz } from \"@open-rlb/date-tz\";\nimport { CalendarView } from \"../interfaces/calendar-view.type\";\nimport { addDays, getToday } from \"../utils/calendar-date-utils\";\n\n@Component({\n selector: 'rlb-calendar-header',\n templateUrl: './calendar-header.component.html',\n styleUrls: ['./calendar-header.component.scss'],\n standalone: false\n})\nexport class CalendarHeaderComponent {\n view = input<CalendarView>('month');\n currentDate = input.required<IDateTz>();\n dateChange = output<DateTz>();\n viewChange = output<CalendarView>();\n\n next() {\n switch (this.view()) {\n case '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 this.dateChange.emit(new DateTz(nextMonth));\n break;\n case 'day':\n const nextDay = addDays(this.currentDate(), 1);\n this.dateChange.emit(new DateTz(nextDay));\n break;\n default:\n break;\n }\n }\n\n prev() {\n switch (this.view()) {\n case '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 this.dateChange.emit(new DateTz(pastMonth));\n break;\n case 'day':\n const nextDay = addDays(this.currentDate(), -1);\n this.dateChange.emit(new DateTz(nextDay));\n break;\n default:\n\n break;\n }\n }\n\n today() {\n switch (this.view()) {\n case 'week':\n default:\n const today = getToday();\n this.dateChange.emit(today);\n break;\n }\n }\n\n setView(view: CalendarView) {\n this.viewChange.emit(view);\n }\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\t<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)=\"setView('day')\">Day</li>\n\t\t\t<li rlb-dropdown-item (click)=\"setView('week')\">Week</li>\n\t\t\t<li rlb-dropdown-item (click)=\"setView('month')\">Month</li>\n\t\t</ul>\n\t</rlb-dropdown>\n</div>","import { Component, computed, 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 event = input.required<CalendarEventWithLayout>();\n view = input.required<CalendarView>();\n eventClick = output<CalendarEvent | undefined>();\n eventContainerClick = output<CalendarEventWithLayout[] | undefined>();\n\n classes = computed(() => {\n const event = this.event();\n const view = this.view();\n const baseColor = event.color || 'primary';\n const classes = ['calendar-event', 'shadow-sm'];\n\n switch (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 (event.isContinuedAfter) {\n classes.push('rounded-bottom-0', 'border-bottom-0');\n }\n\n if (event.isContinuedBefore) {\n classes.push('rounded-top-0', 'border-top-0', 'opacity-75');\n }\n\n\n if (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 const event = this.event();\n e.preventDefault();\n e.stopPropagation();\n e.stopImmediatePropagation();\n\n if (event.isOverflowIndicator && event.overflowEvents) {\n this.eventContainerClick.emit(event.overflowEvents);\n } else {\n this.eventClick.emit(event);\n }\n }\n}\n","<div [ngClass]=\"classes()\" (click)=\"onClick($event)\">\n\n @if (!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 }\n\n @if (event().isOverflowIndicator) {\n +{{ event().overlapCount }} more\n }\n</div>","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 Component,\n effect,\n ElementRef,\n input,\n OnDestroy,\n output,\n signal,\n viewChild\n} from \"@angular/core\";\nimport { IDateTz } from \"@open-rlb/date-tz\";\nimport { DateTz } from \"@open-rlb/date-tz/date-tz\";\nimport { CalendarEvent, CalendarEventWithLayout } from \"../../interfaces/calendar-event.interface\";\nimport { CalendarLayout } from \"../../interfaces/calendar-layout.interface\";\nimport { CalendarView } from \"../../interfaces/calendar-view.type\";\nimport { getToday, isToday } from \"../../utils/calendar-date-utils\";\n\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 OnDestroy, AfterViewInit {\n view = input.required<CalendarView>();\n currentDate = input.required<IDateTz>();\n events = input<CalendarEvent[]>([]);\n layout = input.required<CalendarLayout>();\n\n eventClick = output<CalendarEvent | undefined>();\n eventContainerClick = output<CalendarEvent[] | undefined>();\n eventChange = output<CalendarEvent>();\n\n days = signal<IDateTz[]>([]);\n timeSlots = signal<string[]>([]);\n processedEvents = signal<Map<number, CalendarEventWithLayout[]>>(new Map());\n\n scrollBodyRef = viewChild<ElementRef<HTMLDivElement>>('scrollBody');\n headerRowRef = viewChild<ElementRef<HTMLDivElement>>('headerRow');\n scrollbarWidth = signal(0);\n\n now = signal<DateTz>(getToday());\n private nowInterval: any;\n\n // CONFIG CONSTANTS (Replaced by Layout Input)\n private readonly MAX_VISIBLE_COLUMNS = 4;\n private readonly SNAP_MINUTES = 15;\n\n\n constructor() {\n effect(() => {\n if (this.view() === 'week') {\n this.buildWeekGrid(this.currentDate());\n this.buildTimeSlots();\n }\n });\n\n effect(() => {\n this.processAllEvents(this.events());\n });\n }\n\n ngAfterViewInit() {\n this.updateScrollbarWidth();\n window.addEventListener('resize', this.onResize);\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 const scrollBody = this.scrollBodyRef();\n if (scrollBody) {\n const el = scrollBody.nativeElement;\n this.scrollbarWidth.set(el.offsetWidth - el.clientWidth);\n }\n }\n\n onBodyScroll(event: Event) {\n const headerRow = this.headerRowRef();\n const scrollBody = this.scrollBodyRef();\n if (headerRow && scrollBody) {\n headerRow.nativeElement.scrollLeft = scrollBody.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 const dragDistancePx = event.distance.y;\n const newTopPx = originalTopPx + dragDistancePx;\n\n const rawMinutesFromStart = (newTopPx / this.layout().rowHeight) * 60;\n const snappedMinutes = Math.round(rawMinutesFromStart / this.SNAP_MINUTES) * this.SNAP_MINUTES;\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.layout().rowHeight;\n }\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.layout().rowHeight;\n }\n\n\n getNowTop(): number {\n const now = this.now();\n const hours = now.hour;\n const minutes = now.minute;\n return ((hours * 60) + minutes) / 60 * this.layout().rowHeight;\n }\n\n\n isToday(date: IDateTz): boolean {\n return isToday(date);\n }\n\n private startNowTimer() {\n if (this.nowInterval) return;\n this.nowInterval = setInterval(() => {\n this.now.set(getToday());\n }, 60 * 1000); // every minute\n }\n\n private stopNowTimer() {\n if (this.nowInterval) {\n clearInterval(this.nowInterval);\n this.nowInterval = null;\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 const newDays: IDateTz[] = [];\n for (let i = 0; i < 7; i++) {\n newDays.push(new DateTz(start.timestamp, 'UTC').add(i, 'day'));\n }\n this.days.set(newDays);\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.set(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(events: CalendarEvent[]) {\n const eventsByDay = new Map<number, CalendarEventWithLayout[]>();\n\n for (const event of 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 const newProcessedEvents = new Map<number, CalendarEventWithLayout[]>();\n for (const [dayTimestamp, dayEvents] of eventsByDay.entries()) {\n\n const sortedDayEvents = this.sortEventsStable(dayEvents);\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 newProcessedEvents.set(dayTimestamp, eventsWithLayout);\n }\n this.processedEvents.set(newProcessedEvents);\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 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 const resultEvents: CalendarEventWithLayout[] = [];\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 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]=\"layout().minHeaderHeight\">\n\n <div class=\"time-gutter border-end flex-shrink-0\"></div>\n\n <div class=\"days-header d-flex flex-grow-1\">\n @for (day of days(); track day.timestamp) {\n <div class=\"day-cell text-center p-2 border-end\" [class.text-primary]=\"isToday(day)\"\n [class.fw-bold]=\"isToday(day)\" [class.bg-primary]=\"isToday(day)\">\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 }\n </div>\n </div>\n </div>\n\n <!-- BODY WRAPPER -->\n <div #scrollBody class=\"calendar-body flex-grow-1 overflow-auto bg-body position-relative\"\n (scroll)=\"onBodyScroll($event)\" [style.max-height.rem]=\"layout().maxBodyHeight\">\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 @for (time of timeSlots(); track time; let i = $index) {\n <div class=\"time-slot-label small text-body-secondary d-flex align-items-start justify-content-center\"\n [style.height.px]=\"layout().rowHeight\">\n @if (i !== 0) {\n <span style=\"transform: translateY(-50%)\">\n {{ time }}\n </span>\n }\n </div>\n }\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 @for (time of timeSlots(); track time) {\n <div class=\"grid-row border-bottom\" [style.height.px]=\"layout().rowHeight\">\n </div>\n }\n </div>\n\n <!-- Layer 2: Events -->\n <div class=\"events-container d-flex h-100 w-100 position-relative z-1\" cdkDropListGroup>\n @for (day of days(); track day.timestamp) {\n <div class=\"day-column position-relative border-end h-100\" cdkDropList [cdkDropListSortingDisabled]=\"true\"\n [cdkDropListData]=\"day\" (cdkDropListDropped)=\"onEventDrop($event)\" (click)=\"eventClick.emit(undefined)\">\n @for (event of getEventsForDay(day); track trackByEventId($index, event)) {\n <rlb-calendar-event [view]=\"view()\" [event]=\"event\" [style.top.px]=\"calculateEventTop(event)\"\n [style.height.px]=\"calculateEventHeight(event)\" [style.left.%]=\"event.left\" [style.width.%]=\"event.width\"\n (eventClick)=\"eventClick.emit($event)\" (eventContainerClick)=\"eventContainerClick.emit($event)\" cdkDrag\n [cdkDragData]=\"event\" [cdkDragDisabled]=\"event.isOverflowIndicator\" class=\"position-absolute\">\n <div *cdkDragPlaceholder style=\"opacity: 0\"></div>\n </rlb-calendar-event>\n }\n @if (isToday(day)) {\n <div class=\"now-line\" [style.top.px]=\"getNowTop()\">\n </div>\n }\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n</div>","import { CdkDragDrop } from \"@angular/cdk/drag-drop\";\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n effect,\n ElementRef,\n input,\n OnDestroy,\n output,\n signal,\n viewChild\n} from \"@angular/core\";\nimport { IDateTz } from \"@open-rlb/date-tz\";\nimport { DateTz } from \"@open-rlb/date-tz/date-tz\";\nimport { CalendarEvent, CalendarEventWithLayout } from \"../../interfaces/calendar-event.interface\";\nimport { CalendarLayout } from \"../../interfaces/calendar-layout.interface\";\nimport { CalendarView } from \"../../interfaces/calendar-view.type\";\nimport { getToday, isToday } from \"../../utils/calendar-date-utils\";\n\n\n\n@Component({\n selector: 'rlb-calendar-day-grid',\n templateUrl: './calendar-day-grid.component.html',\n styleUrls: ['./calendar-day-grid.component.scss'],\n standalone: false,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CalendarDayGridComponent implements OnDestroy, AfterViewInit {\n view = input.required<CalendarView>();\n currentDate = input.required<IDateTz>();\n events = input<CalendarEvent[]>([]);\n layout = input.required<CalendarLayout>();\n\n eventClick = output<CalendarEvent | undefined>();\n eventContainerClick = output<CalendarEvent[] | undefined>();\n eventChange = output<CalendarEvent>();\n\n day = signal<IDateTz>(getToday());\n timeSlots = signal<string[]>([]);\n processedEvents = signal<CalendarEventWithLayout[]>([]);\n\n scrollBodyRef = viewChild<ElementRef<HTMLDivElement>>('scrollBody');\n\n now = signal<DateTz>(getToday());\n private nowInterval: any;\n\n // CONFIG CONSTANTS (Replaced by Layout Input)\n private readonly MAX_VISIBLE_COLUMNS = 10; // More columns allow in day view\n private readonly SNAP_MINUTES = 15;\n\n\n\n constructor() {\n effect(() => {\n if (this.view() === 'day') {\n this.buildDayGrid(this.currentDate());\n this.buildTimeSlots();\n }\n });\n\n effect(() => {\n this.processAllEvents(this.events(), this.currentDate());\n });\n }\n\n ngAfterViewInit() { }\n\n ngOnDestroy() {\n this.stopNowTimer();\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 // For day view, the container data is the single day we are viewing\n const newDay = this.day();\n\n const originalTopPx = this.calculateEventTop(movedEvent);\n const dragDistancePx = event.distance.y;\n const newTopPx = originalTopPx + dragDistancePx;\n\n const rawMinutesFromStart = (newTopPx / this.layout().rowHeight) * 60;\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 calculateEventTop(event: CalendarEventWithLayout): number {\n const startOfDay = new DateTz(this.day()).set(0, 'hour').set(0, 'minute').stripSecMillis();\n // Use event.start directly, but ensure we are calculating relative to THIS day\n // If event starts on previous day, we should clamp?\n // Logic from week grid handles \"chunks\", here we assume processAllEvents has given us the chunk for this day.\n\n let eventStart = event.start;\n if (eventStart.timestamp < startOfDay.timestamp) {\n eventStart = startOfDay;\n }\n\n const diffMs = eventStart.timestamp - startOfDay.timestamp;\n const diffMinutes = diffMs / (1000 * 60);\n return (diffMinutes / 60) * this.layout().rowHeight;\n }\n\n\n calculateEventHeight(event: CalendarEventWithLayout): number {\n // If event continues to next day, visual end is midnight.\n // Logic from week grid's 'processAllEvents' handled chunking, so here specific event chunk should be correct.\n const durationMs = event.end.timestamp - event.start.timestamp;\n const durationMinutes = durationMs / (1000 * 60);\n return (durationMinutes / 60) * this.layout().rowHeight;\n }\n\n\n getNowTop(): number {\n const now = this.now();\n const hours = now.hour;\n const minutes = now.minute;\n return ((hours * 60) + minutes) / 60 * this.layout().rowHeight;\n }\n\n\n isToday(date: IDateTz): boolean {\n return isToday(date);\n }\n\n private startNowTimer() {\n this.stopNowTimer(); // clear existing if any\n this.nowInterval = setInterval(() => {\n this.now.set(getToday());\n }, 60 * 1000); // every minute\n }\n\n private stopNowTimer() {\n if (this.nowInterval) {\n clearInterval(this.nowInterval);\n }\n }\n\n private buildDayGrid(currentDate: IDateTz) {\n this.day.set(new DateTz(currentDate.timestamp, 'UTC'));\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.set(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(events: CalendarEvent[], day: IDateTz) {\n if (!day) return;\n\n // Filter events for this day\n const dayStart = new DateTz(day).set(0, 'hour').set(0, 'minute').stripSecMillis!();\n const dayEnd = new DateTz(day).set(0, 'hour').set(0, 'minute').add(1, 'day').stripSecMillis!();\n\n const dayEvents: CalendarEventWithLayout[] = [];\n\n for (const event of events) {\n // Check overlap with the day\n if (event.end.timestamp > dayStart.timestamp && event.start.timestamp < dayEnd.timestamp) {\n\n let visualStart = event.start;\n let visualEnd = event.end;\n let isContinuedBefore = false;\n let isContinuedAfter = false;\n\n if (visualStart.timestamp < dayStart.timestamp) {\n visualStart = dayStart;\n isContinuedBefore = true;\n }\n if (visualEnd.timestamp > dayEnd.timestamp) {\n visualEnd = dayEnd;\n isContinuedAfter = true;\n }\n\n dayEvents.push({\n ...event,\n start: visualStart,\n end: visualEnd,\n isContinuedBefore,\n isContinuedAfter,\n left: 0,\n width: 0\n });\n }\n }\n\n const sortedDayEvents = this.sortEventsStable(dayEvents);\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(eventsWithLayout);\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 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 const resultEvents: CalendarEventWithLayout[] = [];\n\n // All events share the width equally\n // If needed we can expand visible max columns, but day view usually has space\n const colWidth = 100 / Math.max(1, 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 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","@if (day()) {\n<div class=\"calendar-wrapper d-flex flex-column\">\n <!-- HEADER WRAPPER -->\n <!-- For day view, we just show the date at top? Or maybe just keep it simple with body since main header has date -->\n <!-- Mimicking structure of Week View but single column -->\n <div class=\"header-container overflow-hidden flex-shrink-0 border-bottom bg-body-tertiary\">\n <div class=\"header-row d-flex\" [style.min-height.rem]=\"layout().minHeaderHeight\">\n <div class=\"time-gutter border-end flex-shrink-0\"></div>\n <div class=\"day-cell p-2 flex-grow-1\" [class.text-primary]=\"isToday(day())\" [class.fw-bold]=\"isToday(day())\"\n [class.bg-primary]=\"isToday(day())\">\n <div class=\"small text-uppercase text-body-secondary h-100 d-flex align-items-center justify-content-center\">{{\n day() | dayOfWeek: 'long' }}</div>\n </div>\n </div>\n </div>\n <!-- BODY WRAPPER -->\n <div #scrollBody class=\"calendar-body flex-grow-1 overflow-auto bg-body position-relative\"\n [style.max-height.rem]=\"layout().maxBodyHeight\">\n <div class=\"body-row d-flex position-relative\">\n <!-- SIDEBAR (Sticky Left) -->\n <div class=\"time-sidebar sticky-start flex-shrink-0 border-end\">\n @for (time of timeSlots(); track time; let i = $index) {\n <div class=\"time-slot-label small text-body-secondary d-flex align-items-start justify-content-center\"\n [style.height.px]=\"layout().rowHeight\">\n @if (i !== 0) {\n <span style=\"transform: translateY(-50%)\">\n {{ time }}\n </span>\n }\n </div>\n }\n </div>\n <!-- GRID AND EVENTS -->\n <div class=\"grid-layer flex-grow-1 position-relative\">\n <!-- LAYER 1: Grid -->\n <div class=\"background-grid position-absolute w-100 h-100 top-0 start-0 z-0\">\n @for (time of timeSlots(); track time) {\n <div class=\"grid-row border-bottom\" [style.height.px]=\"layout().rowHeight\">\n </div>\n }\n </div>\n <!-- Layer 2: Events -->\n <div class=\"events-container d-flex h-100 w-100 position-relative z-1\" cdkDropListGroup>\n <div class=\"day-column position-relative h-100 w-100\" cdkDropList [cdkDropListSortingDisabled]=\"true\"\n [cdkDropListData]=\"day()\" (cdkDropListDropped)=\"onEventDrop($event)\" (click)=\"eventClick.emit(undefined)\">\n @for (event of processedEvents(); track trackByEventId($index, event)) {\n <rlb-calendar-event [view]=\"view()\" [event]=\"event\" [style.top.px]=\"calculateEventTop(event)\"\n [style.height.px]=\"calculateEventHeight(event)\" [style.left.%]=\"event.left\" [style.width.%]=\"event.width\"\n (eventClick)=\"eventClick.emit($event)\" (eventContainerClick)=\"eventContainerClick.emit($event)\" cdkDrag\n [cdkDragData]=\"event\" class=\"position-absolute\">\n <div *cdkDragPlaceholder style=\"opacity: 0\"></div>\n </rlb-calendar-event>\n }\n @if (isToday(day())) {\n <div class=\"now-line\" [style.top.px]=\"getNowTop()\">\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n}","import { CdkDragDrop } from '@angular/cdk/drag-drop';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n effect,\n ElementRef,\n input,\n OnDestroy,\n output,\n signal,\n viewChild\n} from '@angular/core';\nimport { DateTz, IDateTz } from \"@open-rlb/date-tz\";\nimport { CalendarEvent, CalendarEventWithLayout } from \"../../interfaces/calendar-event.interface\";\nimport { CalendarLayout } from \"../../interfaces/calendar-layout.interface\";\nimport { CalendarView } from \"../../interfaces/calendar-view.type\";\nimport { isToday } from \"../../utils/calendar-date-utils\";\n\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 AfterViewInit, OnDestroy {\n\n view = input.required<CalendarView>();\n currentDate = input.required<IDateTz>();\n events = input<CalendarEvent[]>([]);\n layout = input.required<CalendarLayout>();\n\n\n eventClick = output<CalendarEvent | undefined>();\n eventContainerClick = output<CalendarEvent[] | undefined>();\n eventChange = output<CalendarEvent>();\n\n scrollBodyRef = viewChild<ElementRef<HTMLDivElement>>('scrollBody');\n headerRowRef = viewChild<ElementRef<HTMLDivElement>>('headerRow');\n\n scrollbarWidth = signal(0);\n\n weeks = signal<DaySlot[][]>([]);\n weekDaysHeader = signal<IDateTz[]>([]);\n\n constructor() {\n effect(() => {\n // Accessing signals to register dependency\n this.currentDate();\n this.view();\n this.events();\n this.buildMonthGrid();\n });\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 const headerRow = this.headerRowRef();\n const scrollBody = this.scrollBodyRef();\n if (headerRow && scrollBody) {\n headerRow.nativeElement.scrollLeft = scrollBody.nativeElement.scrollLeft;\n }\n }\n\n private updateScrollbarWidth() {\n const scrollBody = this.scrollBodyRef();\n if (scrollBody) {\n const el = scrollBody.nativeElement;\n this.scrollbarWidth.set(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.set(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 const newWeeks: DaySlot[][] = [];\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 newWeeks.push(row);\n }\n\n this.weeks.set(newWeeks);\n\n // Defer scrollbar calculation to after the view updates\n setTimeout(() => {\n this.updateScrollbarWidth();\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\">\n <!-- 1. Header Row (Fixed) -->\n <div #headerRow class=\"d-flex flex-shrink-0 border-bottom bg-body-tertiary overflow-hidden\"\n [style.min-height.rem]=\"layout().minHeaderHeight\" [style.padding-right.px]=\"scrollbarWidth()\">\n @for (day of weekDaysHeader(); track day) {\n <div class=\"flex-fill text-center py-2 border-end fw-bold text-secondary text-uppercase w-0 my-auto h6\">\n {{ day | dayOfWeek:'short' }}\n </div>\n }\n </div>\n\n <!-- SCROLL CONTAINER -->\n <div #scrollBody class=\"calendar-scroller flex-grow-1 overflow-auto bg-body position-relative\"\n [style.max-height.rem]=\"layout().maxBodyHeight\" (scroll)=\"onBodyScroll($event)\">\n\n <!-- 2. Grid Body (Scrollable) -->\n <div class=\"d-flex flex-column flex-grow-1 border-start min-height-0\">\n\n <div class=\"d-flex flex-column\" cdkDropListGroup>\n @for (week of weeks(); track week) {\n <div class=\"d-flex border-bottom min-h-row\" style=\"flex: 1 0 auto;\" [style.min-height.px]=\"layout().rowHeight\">\n @for (slot of week; track slot) {\n <div class=\"flex-fill border-end p-1 d-flex flex-column position-relative\" style=\"width: 0\"\n [class.bg-light]=\"!isCurrentMonth(slot.date)\" cdkDropList [cdkDropListData]=\"slot.date\"\n (cdkDropListDropped)=\"onEventDrop($event)\" (click)=\"eventClick.emit(undefined)\">\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 <!-- Events Stack -->\n <div class=\"d-flex flex-column gap-1 w-100\">\n @for (event of slot.events; track trackByEvent($index, event)) {\n <!-- Spacer -->\n @if (event.isSpacer) {\n <div class=\"event-spacer\"></div>\n }\n <!-- Event -->\n @if (!event.isSpacer) {\n <rlb-calendar-event [event]=\"event\" class=\"w-100\" cdkDrag [cdkDragData]=\"event\"\n (eventClick)=\"eventClick.emit($event)\" [view]=\"view()\">\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 [event]=\"event\" [view]=\"view()\" style=\"box-sizing: border-box;\">\n </rlb-calendar-event>\n </ng-template>\n </rlb-calendar-event>\n }\n }\n </div>\n <!-- Overflow (+N more) -->\n @if (slot.hasOverflow) {\n <div 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 }\n </div>\n }\n </div>\n }\n </div>\n </div>\n\n </div>\n</div>","import { Component, input, OnDestroy, output } from \"@angular/core\";\nimport { IDateTz } from \"@open-rlb/date-tz\";\nimport { CalendarEvent } from \"../interfaces/calendar-event.interface\";\nimport { CalendarLayout } from \"../interfaces/calendar-layout.interface\";\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\tstandalone: false,\n})\nexport class CalendarGrid implements OnDestroy {\n\tview = input.required<CalendarView>();\n\tcurrentDate = input.required<IDateTz>();\n\tevents = input<CalendarEvent[]>([]);\n\tlayout = input.required<CalendarLayout>();\n\n\teventClick = output<CalendarEvent | undefined>();\n\teventContainerClick = output<CalendarEvent[] | undefined>();\n\teventChange = output<CalendarEvent>();\n\n\tconstructor() { }\n\n\tngOnDestroy() { }\n}\n","@switch (view()) {\n@case ('week') {\n<rlb-calendar-week-grid [view]=\"view()\" [currentDate]=\"currentDate()\" [events]=\"events()\" [layout]=\"layout()\"\n (eventClick)=\"eventClick.emit($event)\" (eventContainerClick)=\"eventContainerClick.emit($event)\"\n (eventChange)=\"eventChange.emit($event)\" />\n}\n@case ('month') {\n<rlb-calendar-month-grid [view]=\"view()\" [currentDate]=\"currentDate()\" [events]=\"events()\" [layout]=\"layout()\"\n (eventClick)=\"eventClick.emit($event)\" (eventContainerClick)=\"eventContainerClick.emit($event)\"\n (eventChange)=\"eventChange.emit($event)\" />\n}\n@case ('day') {\n<rlb-calendar-day-grid [view]=\"view()\" [currentDate]=\"currentDate()\" [events]=\"events()\" [layout]=\"layout()\"\n (eventClick)=\"eventClick.emit($event)\" (eventContainerClick)=\"eventContainerClick.emit($event)\"\n (eventChange)=\"eventChange.emit($event)\" />\n}\n@default {\nnot implemented yet\n}\n}","import { booleanAttribute, Component, computed, input, model, output } from '@angular/core';\nimport { DateTz, IDateTz } from '@open-rlb/date-tz';\nimport { filter, map, of, switchMap, take } from 'rxjs';\nimport { ModalType } from '../../shared/types';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { ModalResult } from '../modals';\nimport { ModalService } from '../modals/modal.service';\nimport { ToastService } from '../toast';\nimport { CalendarOverflowEventsDialogResult } from './calendar-dialogs';\nimport { CalendarEvent } from './interfaces/calendar-event.interface';\nimport { CalendarLayout, DEFAULT_CALENDAR_LAYOUT } from './interfaces/calendar-layout.interface';\nimport { CalendarChangeEvent, CalendarView } from './interfaces/calendar-view.type';\nimport { getToday } from './utils/calendar-date-utils';\n\n@Component({\n selector: 'rlb-calendar',\n templateUrl: './calendar.component.html',\n styleUrls: ['./calendar.component.scss'],\n standalone: false,\n})\nexport class CalendarComponent {\n view = model<CalendarView>('week', { alias: 'view' });\n\n // Internal mutable copy of events for local modifications\n events = model<CalendarEvent[]>([], { alias: 'events' });\n\n currentDate = model<IDateTz>(getToday(), {\n alias: 'current-date',\n });\n // currentDateChange = output<IDateTz>({ alias: 'current-date-change' });\n\n loading = input(false, { alias: 'loading', transform: booleanAttribute });\n\n showToolbar = input(true, {\n alias: 'show-toolbar',\n transform: booleanAttribute,\n });\n\n layout = input<Partial<CalendarLayout>>({}, { alias: 'layout' });\n\n mergedLayout = computed(() => ({\n ...DEFAULT_CALENDAR_LAYOUT,\n ...this.layout(),\n }));\n\n dateChange = output<CalendarChangeEvent>({ alias: 'date-change' });\n viewChange = output<CalendarChangeEvent>({ alias: 'view-change' });\n eventClick = output<CalendarEvent>({ alias: 'event-click' });\n\n constructor(\n private modals: ModalService,\n private unique: UniqueIdService,\n private toasts: ToastService,\n ) {}\n\n // DnD event\n onEventChange(eventToEdit: CalendarEvent) {\n const currentEvents = [...this.events()];\n const idx = currentEvents.findIndex(event => event.id === eventToEdit.id);\n if (idx !== -1) {\n currentEvents[idx] = eventToEdit;\n this.events.set(currentEvents);\n this.toasts\n .openToast('toast-c-1', 'rlb-calendar-toast', {\n title: 'Success!',\n content: 'Event edited successfully.',\n type: 'success',\n })\n .pipe(take(1))\n .subscribe();\n }\n }\n\n onEventContainerClick(events: CalendarEvent[] | undefined) {\n this.modals\n .openModal('rlb-calendar-overlow-events-container', {\n title: 'Overflow events',\n ok: 'OK',\n type: 'success',\n content: events,\n })\n .pipe(\n take(1),\n filter(\n (modalResult: ModalResult<CalendarOverflowEventsDialogResult>) =>\n modalResult.reason === 'ok',\n ),\n switchMap(modalResult => {\n const action = modalResult.result.action;\n const event = modalResult.result.event;\n if (action === 'delete') {\n return this.modals\n .openConfirmModal(\n 'Event delete',\n 'Are you sure you want to delete this event?',\n '',\n 'Ok',\n 'Cancel',\n )\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 (\n (action === 'delete' && modalResult.reason === 'ok') ||\n (action === 'edit' && modalResult.reason === 'cancel')\n ) {\n this.events.set([...this.events().filter(entry => event.id !== entry.id)]);\n return of({ action: 'delete' });\n }\n\n if (action === 'edit' && modalResult.reason === 'ok') {\n const currentEvents = [...this.events()];\n const idx = currentEvents.findIndex(entry => event.id === entry.id);\n if (idx !== -1 && modalResult.result) {\n currentEvents[idx] = modalResult.result as any;\n this.events.set(currentEvents);\n }\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\n .openToast('toast-c-1', 'rlb-calendar-toast', {\n title: 'Success!',\n content,\n type,\n })\n .pipe(take(1));\n }\n return of(null);\n }),\n )\n .subscribe();\n }\n\n onEventClick(eventToEdit?: CalendarEvent) {\n if (eventToEdit) {\n this.eventClick.emit(eventToEdit);\n }\n\n this.openEditEventDialog(eventToEdit)\n .pipe(\n switchMap(modalResult => {\n const newEvent = modalResult.result;\n let result = null;\n if (modalResult.reason === 'cancel' && eventToEdit) {\n this.events.set([...this.events().filter(event => event.id !== eventToEdit.id)]);\n result = { action: 'delete' };\n return of(result);\n }\n\n if (\n modalResult.reason === 'cancel' ||\n modalResult.reason === 'close' ||\n modalResult.reason === undefined\n ) {\n return of(result);\n }\n\n const currentEvents = [...this.events()];\n if (eventToEdit) {\n const idx = currentEvents.findIndex(entry => eventToEdit.id === entry.id);\n if (idx !== -1 && modalResult.result) {\n currentEvents[idx] = newEvent;\n result = { action: 'edit' };\n }\n } else {\n currentEvents.push(newEvent);\n result = { action: 'create' };\n }\n\n this.events.set(currentEvents);\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\n .openToast('toast-c-1', 'rlb-calendar-toast', {\n title: 'Success!',\n content,\n type,\n })\n .pipe(take(1));\n }\n return of(null);\n }),\n )\n .subscribe();\n }\n\n setDate(date: DateTz) {\n this.currentDate.set(date);\n this.dateChange.emit({ date, view: this.view() });\n }\n\n setView(view: CalendarView) {\n this.view.set(view);\n this.viewChange.emit({ date: this.currentDate(), view });\n }\n\n private openEditEventDialog(eventToEdit?: CalendarEvent) {\n return this.modals\n .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 })\n .pipe(take(1));\n }\n}\n","<div class=\"rlb-calendar\">\n\n @if (showToolbar()) {\n <rlb-calendar-header\n [view]=\"view()\"\n [currentDate]=\"currentDate()\"\n (viewChange)=\"setView($event)\"\n (dateChange)=\"setDate($event)\"\n >\n </rlb-calendar-header>\n }\n\n @if (loading()) {\n <rlb-progress [infinite]=\"true\" [animated]=\"true\" [height]=\"3\" [showValue]=\"false\">\n </rlb-progress>\n } @else {\n <rlb-calendar-grid\n [events]=\"events()\"\n [view]=\"view()\"\n [currentDate]=\"currentDate()\"\n [layout]=\"mergedLayout()\"\n (eventClick)=\"onEventClick($event)\"\n (eventContainerClick)=\"onEventContainerClick($event)\"\n (eventChange)=\"onEventChange($event)\"\n >\n </rlb-calendar-grid>\n }\n</div>\n","import { CalendarComponent } from \"./calendar.component\";\nimport { CalendarEventComponent } from \"./event/calendar-event.component\";\nimport { CalendarGrid } from \"./grid/calendar-grid.component\";\nimport { CalendarDayGridComponent } from \"./grid/day/calendar-day-grid.component\";\nimport { CalendarMonthGridComponent } from \"./grid/month/calendar-month-grid.component\";\nimport { CalendarWeekGridComponent } from \"./grid/week/calendar-week-grid.component\";\nimport { CalendarHeaderComponent } from \"./header/calendar-header.component\";\n\nexport * from './calendar.component';\nexport * from './event/calendar-event.component';\nexport * from './grid/calendar-grid.component';\nexport * from './grid/day/calendar-day-grid.component';\nexport * from './grid/month/calendar-month-grid.component';\nexport * from './grid/week/calendar-week-grid.component';\nexport * from './header/calendar-header.component';\n\nexport * from './interfaces/calendar-event.interface';\n\n\nexport const CALENDAR_COMPONENTS = [\n CalendarComponent,\n CalendarHeaderComponent,\n CalendarGrid,\n CalendarWeekGridComponent,\n CalendarDayGridComponent,\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 { booleanAttribute, Component, 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 @if (canReply() && position() === 'right') {\n <button class=\"reply-button\" (click)=\"replyClick($event)\">\n <i class=\"bi bi-reply-fill\"></i>\n </button>\n }\n @if (position() === 'left') {\n <div class=\"avatar small\">\n <img [src]=\"avatar()\" alt=\"avatar\">\n </div>\n }\n <div class=\"text\">\n @if (replayText()) {\n <div class=\"replied-message\">\n <span class=\"name\">{{ replaySubject() }}</span>\n <p>{{ replayText() }}</p>\n </div>\n }\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 @if (!reaction()) {\n <a rlb-button rlb-dropdown\n autoClose=\"manual\" class=\"reaction add p-1\"\n [class.right]=\"position() === 'right'\" [class.left]=\"position() === 'left'\"\n (status-changed)=\"reactionSelector.emit($event)\">\n <i class=\"bi bi-plus m-0 p-0\"></i>\n </a>\n }\n <rlb-dropdown-container>\n <ng-content select=\"[reaction-picker]\" />\n </rlb-dropdown-container>\n </rlb-dropdown>\n @if (reaction()) {\n <span class=\"reaction\" [class.right]=\"position() === 'right'\" [class.left]=\"position() === 'left'\" (click)=\"reactionClick.emit('remove')\">{{ reaction() }}</span>\n }\n </div>\n @if (position() === 'right') {\n <div class=\"avatar small\">\n <img [src]=\"avatar()\" alt=\"avatar\">\n </div>\n }\n @if (canReply() && position() === 'left') {\n <button class=\"reply-button\" (click)=\"replyClick($event)\">\n <i class=\"bi bi-reply-fill\"></i>\n </button>\n }\n </div>\n `,\n host: { '[class.ms-auto]': 'position() === \"right\"' },\n standalone: false\n})\nexport class ChatItemComponent {\n id = input('', { alias: 'id' });\n avatar = input('', { alias: 'avatar' });\n text = input('', { alias: 'text' });\n dateTime = input<Date | number | undefined>(new Date(), { alias: 'date-time' });\n\n replayText = input<string | undefined>(undefined, { alias: 'replay-text' });\n replaySubject = input<string | undefined>(undefined, { alias: 'replay-subject' });\n replayId = input<string | undefined>(undefined, { alias: 'replay-id' });\n\n position = input<'left' | 'right'>('left', { alias: 'position' });\n reaction = input<string | undefined>(undefined, { alias: 'reaction' });\n\n reply = output<string | undefined>();\n reactionClick = output<string>();\n canReply = input(false, { alias: 'can-reply', transform: booleanAttribute });\n reactionSelector = output<VisibilityEventBase>();\n\n replyClick(event: MouseEvent) {\n event?.stopPropagation();\n event?.preventDefault();\n this.reply.emit(this.replayId());\n }\n}\n","import {\n booleanAttribute,\n Component,\n input,\n} from '@angular/core';\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 {\n disabled = input(false, { transform: booleanAttribute });\n numbered = input(false, { transform: booleanAttribute });\n flush = input(false, { transform: booleanAttribute });\n horizontal = input(false, { transform: booleanAttribute });\n}\n","import {\n booleanAttribute,\n Component,\n computed,\n inject,\n input,\n numberAttribute\n} from '@angular/core';\nimport { Color } from '../../shared/types';\nimport { ListComponent } from './list.component';\n\n@Component({\n selector: 'rlb-list-item-image',\n template: `\n <div class=\"d-flex\">\n @if (avatar()) {\n <rlb-avatar [src]=\"avatar()!\" [size]=\"avatarSize()\" />\n }\n @if (!avatar() && icon()) {\n <i [class]=\"icon()\" [style.font-size.px]=\"avatarSize()\"></i>\n }\n <div class=\"ps-2 flex-grow-1\">\n <div class=\"fw-bold\">{{ username() }}</div>\n @if (line1()) {\n <span class=\"d-block\">{{ line1() }}</span>\n }\n @if (line2()) {\n <span class=\"d-block\">{{ line2() }}</span>\n }\n </div>\n @if (counter() !== undefined || counterEmpty()) {\n <div>\n @if (counterEmpty()) {\n <span rlb-badge [pill]=\"counterPill()\" [color]=\"counterColor()\" [border]=\"counterBorder()\"> </span>\n } @else {\n <span rlb-badge [pill]=\"counterPill()\" [color]=\"counterColor()\" [border]=\"counterBorder()\">{{ counter() }}</span>\n }\n </div>\n }\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 private parent = inject(ListComponent, { optional: true });\n\n active = input(false, { transform: booleanAttribute });\n disabledInput = input(false, { alias: 'disabled', transform: booleanAttribute });\n counterEmpty = input(false, { transform: booleanAttribute, alias: 'counter-empty' });\n counterPill = input(false, { transform: booleanAttribute, alias: 'counter-pill' });\n counterBorder = input(false, { transform: booleanAttribute, alias: 'counter-border' });\n avatarSize = input(50, { transform: numberAttribute, alias: 'avatar-size' });\n username = input<string | undefined>(undefined);\n line1 = input<string | undefined>(undefined, { alias: 'line-1' });\n line2 = input<string | undefined>(undefined, { alias: 'line-2' });\n avatar = input<string | undefined>(undefined);\n counter = input<number | string | undefined>(undefined);\n counterColor = input<Color | undefined>(undefined, { alias: 'counter-color' });\n icon = input<string | undefined>(undefined);\n\n disabled = computed(() => this.disabledInput() || this.parent?.disabled() || false);\n}\n","import {\n booleanAttribute,\n Component,\n computed,\n inject,\n input\n} from '@angular/core';\nimport { ListComponent } from './list.component';\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 private parent = inject(ListComponent, { optional: true });\n\n active = input(false, { transform: booleanAttribute });\n disabledInput = input(false, { alias: 'disabled', transform: booleanAttribute });\n action = input(false, { transform: booleanAttribute });\n\n disabled = computed(() => this.disabledInput() || this.parent?.disabled() || false);\n}\n","import {\n booleanAttribute,\n Component,\n computed,\n input,\n OnInit,\n output,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\n@Component({\n selector: '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 disabled = input(false, { alias: 'disabled', transform: booleanAttribute });\n dropdown = input(false, { alias: 'dropdown', transform: booleanAttribute });\n href = input<string | undefined>(undefined);\n cssClass = input('', { alias: 'class' });\n toggle = input<'offcanvas' | 'collapse' | 'tab' | 'pill' | 'buttons-group' | undefined>(undefined);\n autoClose = input<'default' | 'inside' | 'outside' | 'manual'>('default', { alias: 'auto-close' });\n\n click = output<MouseEvent>();\n\n _autoClose = computed(() => {\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 default:\n return 'true';\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 booleanAttribute,\n Component,\n input,\n OnInit,\n output,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\n@Component({\n selector: 'rlb-navbar-item',\n template: ` <ng-template #template>\n <li class=\"nav-item\">\n <a\n class=\"nav-link {{ cssClass() }}\"\n [routerLink]=\"routerLink()\"\n routerLinkActive=\"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 disabled = input(false, { alias: 'disabled', transform: booleanAttribute });\n routerLink = input<string | undefined>(undefined, { alias: 'router-link' });\n cssClass = input('', { alias: 'class' });\n\n click = output<MouseEvent>();\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 Component,\n contentChildren,\n effect,\n input,\n OnDestroy,\n OnInit,\n output,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { Subject } from \"rxjs\";\nimport { NavbarItemComponent } from \"./navbar-item.component\";\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 scroll = input<string | undefined>(undefined);\n cssClass = input('', { alias: 'class' });\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n element!: HTMLElement;\n\n menuItems = contentChildren(NavbarItemComponent, { descendants: true });\n\n click = output<MouseEvent>();\n\n private destroy$ = new Subject<void>();\n\n constructor(private viewContainerRef: ViewContainerRef) {\n effect(() => {\n const items = this.menuItems();\n items.forEach(item => {\n item.click.subscribe(event => this.click.emit(event));\n });\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 ngAfterContentInit() {\n // Migrated to effect()\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import {\n Component,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\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 cssClass = input('', { alias: 'class' });\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 OnInit,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\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 implements OnInit {\n element!: HTMLElement;\n\n cssClass = input('', { alias: 'class' });\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 computed,\n contentChildren,\n effect,\n input,\n OnDestroy,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { Collapse } from 'bootstrap';\nimport { Subject } from 'rxjs';\nimport { Color } from '../../../shared/types';\nimport { UniqueIdService } from '../../../shared/unique-id.service';\nimport { NavbarItemsComponent } from './navbar-items.component';\n\n@Component({\n selector: 'rlb-navbar',\n template: ` <ng-template #template>\n <nav\n class=\"navbar px-2 bg-{{ color() }} {{ placement() }} {{\n _navExpand()\n }} {{ cssClass() }}\"\n [attr.data-bs-theme]=\"dark() ? 'dark' : 'light'\"\n >\n <div class=\"container-fluid\">\n <ng-content\n select=\"[rlb-navbar-brand], [rlb-button][toggle], rlb-navbar-separator\"\n />\n <button\n class=\"navbar-toggler\"\n [class.d-none]=\"!enableDropdownToggler()\"\n type=\"button\"\n rlb-button\n toggle=\"collapse\"\n [toggle-target]=\"navId\"\n aria-label=\"Toggle navigation\"\n >\n <span class=\"navbar-toggler-icon\"></span>\n </button>\n <div class=\"collapse navbar-collapse\" [id]=\"navId\">\n <div class=\"p-3 d-flex w-100 flex-column flex-lg-row\">\n <ng-content\n select=\"rlb-navbar-items, rlb-navbar-form, rlb-navbar-text, rlb-navbar-separator\"\n />\n </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 public readonly navId: string;\n private destroy$ = new Subject<void>();\n\n _navExpand = computed(() => {\n const exp = this.expand();\n if (!exp) return '';\n else if (exp === 'always') return 'navbar-expand';\n else return `navbar-expand-${exp}`;\n });\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n navbarItemsGroups = contentChildren(NavbarItemsComponent, {\n descendants: true,\n });\n\n dark = input(true, { alias: 'dark', transform: booleanAttribute });\n color = input<Color | undefined>(undefined);\n placement = input<\n 'fixed-top' | 'fixed-bottom' | 'sticky-top' | 'sticky-bottom' | undefined\n >(undefined);\n expand = input<'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'always' | undefined>(\n undefined,\n );\n cssClass = input('', { alias: 'class' });\n enableDropdownToggler = input(true, {\n alias: 'enable-dropdown-toggler',\n transform: booleanAttribute,\n });\n\n constructor(\n private idService: UniqueIdService,\n private viewContainerRef: ViewContainerRef,\n ) {\n this.navId = `nav${this.idService.id}`;\n\n effect(() => {\n const groups = this.navbarItemsGroups();\n groups.forEach((group) => {\n // Since output() is not a Signal, we still need to subscribe,\n // but we can manage the subscription here more cleanly.\n // However, output().subscribe returns OutputRefSubscription which we should track.\n group.click.subscribe(() => this.closeMobileMenu());\n });\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 ngAfterContentInit() {\n // Logic moved to effect() for reactivity to content changes\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, computed, 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\toffcanvasId = input<string>('');\n\n\t_offcanvasId = computed(() => `#${this.offcanvasId()}`);\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 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 id = input.required<string>({ alias: 'id' });\n bodyScroll = input(false, { alias: 'body-scroll', transform: booleanAttribute });\n scrollBackup = input(false, { alias: 'scroll-backup', transform: booleanAttribute });\n closeManual = input(false, { alias: 'close-manual', transform: booleanAttribute });\n placement = input<'start' | 'end' | 'top' | 'bottom'>('start', { alias: 'placement' });\n responsive = input<'sm' | 'md' | 'lg' | 'xl' | 'xxl' | undefined>(undefined, { alias: 'responsive' });\n\n public override status: VisibilityEvent = 'hidden';\n public override statusChange = output<VisibilityEvent>({ alias: 'statusChange' });\n\n constructor(elementRef: ElementRef<HTMLElement>, @Inject(DOCUMENT) private document: Document) {\n super(elementRef);\n }\n\n override ngOnInit(elemnt?: HTMLElement | Element) {\n super.ngOnInit(elemnt);\n\n const nativeEl = this.elementRef?.nativeElement;\n\n if (nativeEl && nativeEl.parentElement !== this.document.body) {\n this.document.body.appendChild(nativeEl);\n }\n }\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 const existingInstance = Offcanvas.getInstance(element);\n if (existingInstance) {\n existingInstance.dispose();\n }\n\n return Offcanvas.getOrCreateInstance(element, {\n scroll: this.bodyScroll() ?? false,\n keyboard: !this.closeManual(),\n backdrop: this.closeManual() ? 'static' : true\n });\n }\n\n override get eventPrefix(): string {\n return 'bs.offcanvas';\n }\n}\n","import {\n Component,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n booleanAttribute,\n input,\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 @if (isIcon()) {\n <a class=\"page-link d-block\" [attr.disabled]=\"disabled() ? true : null\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </a>\n } @else {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n }\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 isIcon = input(false, { alias: 'isIcon', transform: booleanAttribute });\n disabled = input(false, { alias: 'disabled', transform: booleanAttribute });\n active = input(false, { alias: 'active', transform: booleanAttribute });\n cssClass = input('', { alias: 'class' });\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 OnInit,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n contentChildren,\n input,\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 cssClass = input('', { alias: 'class' });\n size = input<'sm' | 'md' | 'lg' | undefined>(undefined);\n alignment = input<'start' | 'center' | 'end' | undefined>(undefined);\n\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n children = contentChildren(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, computed, input } from '@angular/core';\n\n@Component({\n\tselector: 'rlb-placeholder-line',\n\ttemplate: ``,\n\thost: {\n\t\t'[class]': 'hostClasses()',\n\t\t'[style.width]': 'width()',\n\t\t'[style.height]': 'height() ?? null',\n\t\t'[style.display]': '\"block\"',\n\t\t'[style.margin-bottom]': '\"0.5rem\"',\n\t},\n\tstandalone: false,\n})\nexport class RlbPlaceholderLineComponent {\n\tsize = input<'xs' | 'sm' | 'md' | 'lg'>('md');\n\tcolor = input('secondary');\n\twidth = input('100%');\n\theight = input<string | undefined>(undefined);\n\trounded = input(true);\n\n\thostClasses = computed(() => {\n\t\tconst classes = ['placeholder', `bg-${this.color()}`];\n\n\t\tif (this.size() !== 'md') {\n\t\t\tclasses.push(`placeholder-${this.size()}`);\n\t\t}\n\n\t\tif (this.rounded()) {\n\t\t\tclasses.push('rounded');\n\t\t}\n\n\t\treturn classes.join(' ');\n\t});\n}\n","import { Component, computed, input } from '@angular/core';\n\n@Component({\n\tselector: 'rlb-placeholder',\n\ttemplate: `\n\t\t<div [class]=\"containerClass()\">\n\t\t\t<ng-content/>\n\t\t</div>`,\n\tstandalone: false\n})\nexport class RlbPlaceholderComponent {\n\tanimation = input<'glow' | 'wave' | 'none'>('none');\n\n\tcontainerClass = computed(() => {\n\t\tif (this.animation() === 'none') return [];\n\t\treturn `placeholder-${this.animation()}`;\n\t});\n}\n","import { Component, computed, input } from '@angular/core';\n\n@Component({\n\tselector: 'rlb-placeholder-text',\n\tstandalone: false,\n\ttemplate: `\n <rlb-placeholder [animation]=\"animation()\">\n @for (w of computedWidths(); track w) {\n <rlb-placeholder-line\n [size]=\"size()\"\n [color]=\"color()\"\n [width]=\"w\"\n [rounded]=\"rounded()\"\n [height]=\"height()\"\n ></rlb-placeholder-line>\n }\n </rlb-placeholder>\n `,\n})\nexport class RlbPlaceholderTextComponent {\n\tlines = input(1);\n\tsize = input<'xs' | 'sm' | 'md' | 'lg'>('md');\n\tcolor = input('secondary');\n\tanimation = input<'glow' | 'wave' | 'none'>('none');\n\twidth = input<string | string[]>('100%');\n\theight = input<string | undefined>(undefined);\n\trounded = input(true);\n\n\tcomputedWidths = computed(() => {\n\t\tconst lines = this.lines();\n\t\tconst width = this.width();\n\t\tif (Array.isArray(width)) {\n\t\t\treturn Array.from({ length: lines }).map((_, i) => width[i] ?? '100%');\n\t\t}\n\t\treturn Array.from({ length: lines }).map(() => width as string);\n\t});\n}\n","import { Directive, input, } from '@angular/core';\nimport { Color } from '../../shared/types';\n\n@Directive({\n selector: '[rlb-placeholder]',\n host: {\n class: 'placeholder',\n '[class]': \"color() ? 'bg-' + color() : ''\",\n '[class.placeholder-xs]': \"size() === 'xs'\",\n '[class.placeholder-sm]': \"size() === 'sm'\",\n '[class.placeholder-lg]': \"size() === 'lg'\",\n '[class.placeholder-glow]': \"animation() === 'glow'\",\n '[class.placeholder-fade]': \"animation() === 'fade'\",\n },\n standalone: false\n})\nexport class PlaceholderDirective {\n color = input<Color | undefined>(undefined, { alias: 'placeholder-color' });\n size = input<'xs' | 'sm' | 'md' | 'lg'>('md', { alias: 'placeholder-size' });\n animation = input<'glow' | 'fade' | 'none'>('none', { alias: 'placeholder-animation' });\n}\n","import {\n AfterViewInit,\n booleanAttribute,\n Directive,\n effect,\n ElementRef,\n input,\n OnDestroy,\n output,\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 {\n target = input.required<string>({ alias: 'rlb-scrollspy-target' });\n smooth = input(true, { alias: 'scroll-smooth', transform: booleanAttribute });\n rootMargin = input('', { alias: 'scroll-root-margin' });\n height = input('200px', { alias: 'height' });\n threshold = input<Array<number>>([], { alias: 'scroll-threshold' });\n scroll = output<Event>({ alias: 'scroll-change' });\n\n private scrollSpy!: ScrollSpy;\n\n constructor(private elementRef: ElementRef<HTMLElement>) {\n effect(() => {\n // Accessing signals to track changes\n this.target();\n this.rootMargin();\n this.threshold();\n\n // Refresh ScrollSpy if it exists\n this.scrollSpy?.refresh();\n });\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 private __scroll_handler = (event: Event) => {\n this.scroll.emit(event);\n };\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SidebarService {\n private itemClickedSource = new Subject<void>();\n itemClicked$ = this.itemClickedSource.asObservable();\n\n notifyItemClicked() {\n this.itemClickedSource.next();\n }\n}\n","import {\n Component,\n contentChildren,\n input,\n OnInit,\n output,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { Router } from '@angular/router';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { CollapseComponent } from '../collapse/collapse.component';\nimport { SidebarService } from './sidebar.service';\n\n@Component({\n selector: 'rlb-sidebar-item',\n template: `\n <ng-template #template>\n @if (title()) {\n <li (click)=\"onItemClick($event)\" class=\"menu-title\">{{ title() }}</li>\n }\n @if (!title()) {\n <li (click)=\"onItemClick($event)\">\n @if (children().length) {\n <a\n [badge]=\"\n badgeCounter() && badgeCounter()! > 0\n ? badgeCounter()!.toString()\n : undefined\n \"\n href=\"javascript:void(0);\"\n class=\"is-parent has-arrow\"\n toggle=\"collapse\"\n [toggle-target]=\"'side-item' + _id\"\n >\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n <span>{{ label() }}</span>\n </a>\n }\n <rlb-collapse [id]=\"'side-item' + _id\">\n <ul class=\"sub-menu\" aria-expanded=\"false\">\n <ng-content select=\"rlb-sidebar-item\"></ng-content>\n </ul>\n </rlb-collapse>\n @if (!children().length) {\n <a\n [routerLink]=\"link()\"\n [badge]=\"\n badgeCounter() && badgeCounter()! > 0\n ? badgeCounter()\n : undefined\n \"\n class=\"side-nav-link-ref\"\n routerLinkActive=\"active\"\n >\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n <ng-content></ng-content>\n </a>\n }\n </li>\n }\n </ng-template>\n `,\n standalone: false,\n})\nexport class SidebarItemComponent implements OnInit {\n element!: HTMLElement;\n title = input<string | undefined>(undefined);\n icon = input<string | undefined>(undefined);\n label = input<string | undefined>(undefined);\n link = input<any[] | string | null | undefined>(undefined);\n badgeCounter = input<number | undefined>(undefined);\n\n click = output<MouseEvent>();\n\n children = contentChildren(SidebarItemComponent);\n @ViewChild('template', { static: true }) template!: TemplateRef<any>;\n collapseComponent = ViewChild(CollapseComponent);\n\n constructor(\n private viewContainerRef: ViewContainerRef,\n private uniqueIdService: UniqueIdService,\n private router: Router,\n private sidebarService: SidebarService,\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 if (!this.title() && this.children().length === 0) {\n this.sidebarService.notifyItemClicked();\n }\n }\n}\n","import {\n booleanAttribute,\n Directive,\n effect,\n ElementRef,\n input,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { Tooltip } from 'bootstrap';\n\n@Directive({\n selector: '[tooltip]',\n standalone: false,\n})\nexport class TooltipDirective implements OnInit, OnDestroy {\n private _tooltip: Tooltip | undefined;\n\n tooltip = input<string | null | undefined>(undefined, { alias: 'tooltip' });\n placement = input<'top' | 'bottom' | 'left' | 'right'>('top', { alias: 'tooltip-placement' });\n customClass = input('', { alias: 'tooltip-class' });\n html = input(false, { alias: 'tooltip-html', transform: booleanAttribute });\n\n constructor(private elementRef: ElementRef<HTMLElement>) {\n // We only need one effect to handle dynamic changes to the title text.\n effect(() => {\n const title = this.tooltip();\n\n if (this._tooltip) {\n if (title) {\n this._tooltip.enable();\n this._tooltip.setContent({ '.tooltip-inner': title });\n } else {\n this._tooltip.disable();\n }\n }\n });\n }\n\n ngOnInit() {\n this._tooltip = new Tooltip(this.elementRef.nativeElement, {\n title: this.tooltip() || '',\n placement: this.placement(),\n customClass: this.customClass(),\n html: this.html(),\n });\n }\n\n ngOnDestroy(): void {\n if (this._tooltip) {\n this._tooltip.dispose();\n }\n }\n}\n","import {\n booleanAttribute,\n Component,\n effect,\n ElementRef,\n input,\n OnDestroy,\n OnInit,\n signal,\n ViewChild,\n} from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { Subscription } from 'rxjs';\nimport { BreakpointService } from '../../shared/breakpoint.service';\nimport { SidebarService } from './sidebar.service';\n\n@Component({\n selector: 'rlb-sidebar',\n template: `\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, OnDestroy {\n menu: any;\n data: any;\n @ViewChild('sideMenu') sideMenu!: ElementRef;\n isCollapsed = signal(false);\n\n private subscription: Subscription = new Subscription();\n\n rounded = input(false, { alias: 'rounded', transform: booleanAttribute });\n private isMobile = toSignal(this.breakpointService.isMobile$);\n\n constructor(\n private sidebarService: SidebarService,\n private breakpointService: BreakpointService\n ) {\n effect(() => {\n const mobile = this.isMobile();\n if (mobile !== undefined) {\n this.setCollapsed(mobile);\n }\n });\n }\n\n ngOnInit() {\n this.subscription.add(\n this.sidebarService.itemClicked$.subscribe(() => {\n if (this.breakpointService.isMobile) {\n this.setCollapsed(true);\n }\n })\n );\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n\n toggleSidebar() {\n this.setCollapsed(!this.isCollapsed());\n }\n\n private setCollapsed(collapsed: boolean) {\n this.isCollapsed.set(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","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 { booleanAttribute, Component, input } 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 id = input.required<string>({ alias: 'id' });\n active = input(false, { alias: 'active', transform: booleanAttribute });\n fade = input(false, { alias: 'fade', transform: booleanAttribute });\n}\n","import {\n Component,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n booleanAttribute,\n input,\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 active = input(false, { alias: 'active', transform: booleanAttribute });\n disabled = input(false, { transform: booleanAttribute });\n target = input.required<string>({ alias: 'target' });\n cssClass = input('', { alias: 'class' });\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 ElementRef,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n booleanAttribute,\n input,\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 horizontalAlignment = input<'center' | 'end' | undefined>(undefined, { alias: 'horizontal-alignment' });\n view = input<'tab' | 'pills' | 'underline' | 'none'>('tab', { alias: 'view' });\n vertical = input(false, { alias: 'vertical', transform: booleanAttribute });\n fill = input<'fill' | 'justified' | undefined>(undefined, { alias: 'fill' });\n id = input<string | undefined>(undefined, { alias: 'id' });\n cssClass = input('', { alias: 'class' });\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 AfterViewInit,\n Directive,\n ElementRef,\n Renderer2,\n effect,\n input,\n} from '@angular/core';\nimport { Popover } from 'bootstrap';\n\n@Directive({\n selector: '[popover]',\n standalone: false\n})\nexport class PopoverDirective implements AfterViewInit {\n static bsInit = false;\n private _popover: Popover | undefined;\n\n popover = input<string | undefined>(undefined, { alias: 'popover' });\n placement = input<'top' | 'bottom' | 'left' | 'right'>('top', { alias: 'popover-placement' });\n customClass = input('', { alias: 'popover-class' });\n title = input('', { alias: 'popover-title' });\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n ) {\n effect(() => {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'data-bs-toggle', 'popover');\n });\n\n effect(() => {\n const p = this.placement();\n if (p) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'data-bs-placement', p);\n this._popover?.update();\n }\n });\n\n effect(() => {\n const c = this.customClass();\n if (c) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'data-bs-custom-class', c);\n this._popover?.update();\n }\n });\n\n effect(() => {\n const t = this.title();\n if (t) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'data-bs-title', t);\n this._popover?.update();\n }\n });\n\n effect(() => {\n const content = this.popover();\n if (content) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'data-bs-content', content);\n this._popover?.update();\n }\n });\n }\n\n ngAfterViewInit() {\n this._popover = 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 input,\n output,\n TemplateRef,\n viewChild,\n} from '@angular/core';\n\n@Component({\n selector: 'rlb-dt-action',\n template: `\n <ng-template #template>\n <li\n (click)=\"onClick($event)\"\n [routerLink]=\"routerLink()\"\n >\n <button\n class=\"dropdown-item\"\n type=\"button\"\n [disabled]=\"disabled()\"\n >\n <ng-content />\n </button>\n </li>\n </ng-template>\n `,\n standalone: false,\n})\nexport class DataTableActionComponent {\n disabled = input(false, { alias: 'disabled', transform: booleanAttribute });\n routerLink = input<any[] | string | null | undefined>(undefined, { alias: 'routerLink' });\n clicked = output<MouseEvent>({ alias: 'click' });\n\n element!: HTMLElement;\n template = viewChild.required<TemplateRef<any>>('template');\n\n private temp!: EmbeddedViewRef<any>;\n\n get _view() {\n return this.temp;\n }\n\n constructor() {}\n\n onClick(e: MouseEvent) {\n e?.preventDefault();\n this.clicked.emit(e);\n }\n}\n","import {\n booleanAttribute,\n Component,\n contentChildren,\n input,\n TemplateRef,\n viewChild,\n} from '@angular/core';\nimport { DataTableActionComponent } from './dt-action.component';\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 data-bs-popper-config='{\"strategy\":\"fixed\"}'\n aria-expanded=\"false\"\n >\n <i class=\"bi bi-three-dots\"></i>\n </button>\n <ul class=\"dropdown-menu\">\n <!-- Delegate rendering to Angular instead of manual ViewContainerRef manipulation -->\n @for (action of actions(); track $index) {\n <ng-container *ngTemplateOutlet=\"action.template()\"></ng-container>\n }\n </ul>\n </div>\n </ng-template>\n `,\n standalone: false,\n})\nexport class DataTableActionsComponent {\n disabled = input(false, { alias: 'disabled', transform: booleanAttribute });\n\n public template = viewChild.required<TemplateRef<any>>('template');\n actions = contentChildren(DataTableActionComponent);\n\n _disabled() {\n if (this.disabled()) return true;\n const actions = this.actions();\n if (!actions || actions.length === 0) return false;\n return !actions.some(o => !o.disabled());\n }\n}\n","import { Component, input, numberAttribute, TemplateRef, viewChild } from '@angular/core';\n\n@Component({\n selector: 'rlb-dt-cell',\n template: `\n <ng-template #template>\n <td\n [colSpan]=\"colSpan()\"\n [class]=\"cssClass()\"\n [style]=\"cssStyle()\"\n >\n <ng-content></ng-content>\n </td>\n </ng-template>\n `,\n standalone: false,\n})\nexport class DataTableCellComponent {\n colSpan = input<number, unknown>(undefined, { alias: 'col-span', transform: numberAttribute });\n cssClass = input<string | undefined>(undefined, { alias: 'class' });\n cssStyle = input<string | undefined>(undefined, { alias: 'style' });\n\n template = viewChild.required<TemplateRef<any>>('template');\n}\n","import {\n booleanAttribute,\n Component,\n EmbeddedViewRef,\n input,\n TemplateRef,\n viewChild,\n} from '@angular/core';\n\n@Component({\n selector: 'rlb-dt-header',\n template: `\n <ng-template #template>\n <th\n [class]=\"cssClass()\"\n [style]=\"cssStyle()\"\n >\n <ng-content></ng-content>\n </th>\n </ng-template>\n `,\n standalone: false,\n})\nexport class DataTableHeaderComponent {\n field = input<string | undefined>(undefined);\n type = input<'number' | 'string' | undefined>(undefined);\n sortable = input(false, { transform: booleanAttribute });\n filtrable = input(false, { transform: booleanAttribute });\n cssClass = input<string | undefined>(undefined, { alias: 'class' });\n cssStyle = input<string | undefined>(undefined, { alias: 'style' });\n\n element!: HTMLElement;\n template = viewChild.required<TemplateRef<any>>('template');\n\n private temp!: EmbeddedViewRef<any>;\n\n get _view() {\n return this.temp;\n }\n\n constructor() {}\n}\n","import {\n Component,\n computed,\n contentChildren,\n input,\n output,\n TemplateRef,\n viewChild,\n} from '@angular/core';\nimport { DataTableActionsComponent } from './dt-actions.component';\nimport { DataTableCellComponent } from './dt-cell.component';\n\n@Component({\n selector: 'rlb-dt-row',\n template: `\n <ng-template #template>\n <tr\n [class]=\"cssClass()\"\n [style]=\"cssStyle()\"\n (click)=\"rowClick.emit($event)\"\n >\n <!-- Loop and render cells natively -->\n @for (cell of cells(); track $index) {\n <ng-container *ngTemplateOutlet=\"cell.template()\"></ng-container>\n }\n\n @if (hasActions()) {\n <td>\n <!-- Loop and render actions natively -->\n @for (actionBlock of actionsBlock(); track $index) {\n <ng-container *ngTemplateOutlet=\"actionBlock.template()\"></ng-container>\n }\n </td>\n }\n </tr>\n </ng-template>\n `,\n standalone: false,\n})\nexport class DataTableRowComponent {\n cssClass = input<string | undefined>(undefined, { alias: 'class' });\n cssStyle = input<string | undefined>(undefined, { alias: 'style' });\n rowClick = output<MouseEvent>();\n\n template = viewChild.required<TemplateRef<any>>('template');\n\n actionsBlock = contentChildren(DataTableActionsComponent);\n cells = contentChildren(DataTableCellComponent);\n\n hasActions = computed(() => this.actionsBlock().length > 0);\n}\n","import { Component, EmbeddedViewRef, TemplateRef, viewChild } 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 `,\n standalone: false,\n})\nexport class DataTableNoItemsComponent {\n element!: HTMLElement;\n template = viewChild.required<TemplateRef<any>>('template');\n private temp!: EmbeddedViewRef<any>;\n\n get _view() {\n return this.temp;\n }\n\n constructor() {}\n}\n","import { Component, EmbeddedViewRef, TemplateRef, viewChild } 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 `,\n standalone: false,\n})\nexport class DataTableLoadingComponent {\n element!: HTMLElement;\n template = viewChild.required<TemplateRef<any>>('template');\n private temp!: EmbeddedViewRef<any>;\n\n get _view() {\n return this.temp;\n }\n\n constructor() {}\n}\n","import {\n computed,\n Injectable,\n InputSignal,\n ModelSignal,\n Optional,\n Self,\n signal,\n Signal,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { UniqueIdService } from '../../shared/unique-id.service';\n\n@Injectable()\nexport abstract class AbstractComponent<T = any> implements ControlValueAccessor {\n public abstract disabled?: boolean | Signal<boolean | undefined> | ModelSignal<boolean>;\n\n protected abstract userDefinedId: string | InputSignal<string> | ModelSignal<string>;\n protected onTouched: Function = () => {};\n protected onChanged: Function = (v: T) => {};\n public value!: T;\n private _id!: string;\n public get id(): string {\n const userDefinedIdValue =\n typeof this.userDefinedId === 'function' ? (this.userDefinedId as any)() : this.userDefinedId;\n return (userDefinedIdValue as string) || 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\n registerOnChange(fn: (v: T) => void): void {\n this.onChanged = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n protected cvaDisabled = signal(false);\n\n setDisabledState?(isDisabled: boolean): void {\n this.cvaDisabled.set(isDisabled);\n }\n\n invalid = computed(() => {\n return this.control?.invalid || false;\n });\n\n showError = computed(() => {\n if (!this.control) return false;\n const { dirty, touched } = this.control;\n return this.invalid() ? dirty || touched || false : false;\n });\n\n errors = computed(() => {\n return this.control?.errors || {};\n });\n\n onWrite(data: T) {}\n}\n","import { booleanAttribute, Component, input, TemplateRef, viewChild } from '@angular/core';\n\n@Component({\n selector: 'rlb-option',\n template: `\n <ng-template #content>\n <ng-content></ng-content>\n </ng-template>\n\n <!-- wrap the content in an <option> tag for SelectComponent -->\n <ng-template #element>\n <option\n [value]=\"value()\"\n [disabled]=\"disabled()\"\n >\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </option>\n </ng-template>\n `,\n standalone: false,\n})\nexport class OptionComponent {\n value = input.required<string | number | null | undefined>();\n disabled = input(false, { transform: booleanAttribute });\n\n // 'template' is used by SelectComponent (contains <option> tag)\n template = viewChild.required<TemplateRef<any>>('element');\n\n contentTemplate = viewChild.required<TemplateRef<any>>('content');\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, model, Optional } from \"@angular/core\";\nimport { ValidationErrors } from \"@angular/forms\";\nimport { RLB_TRANSLATION_SERVICE, RlbTranslationService } from \"../../shared/i18-abstraction\";\n\n@Component({\n\tselector: 'rlb-input-validation',\n\thost: { class: 'invalid-feedback' },\n\ttemplate: `\n\t\t@if (errors()) {\n\t\t @for (errorKey of getErrorKeys(errors()); track errorKey) {\n\t\t <span>\n\t\t {{ getTranslatedError(errorKey, errors()[errorKey]) }}\n\t\t </span>\n\t\t }\n\t\t}\n\t\t`,\n\tstandalone: false\n})\nexport class InputValidationComponent {\n\terrors = model<ValidationErrors>({}, { alias: 'errors' });\n\n\tconstructor(\n\t\t@Optional() @Inject(RLB_TRANSLATION_SERVICE) private translationService: RlbTranslationService | null\n\t) {\n\t}\n\n\tgetErrorKeys(errors: ValidationErrors | null | undefined): string[] {\n\t\tif (!errors) return [];\n\t\treturn Object.keys(errors);\n\t}\n\n\tgetTranslatedError(errorKey: string, errorValue: any): string {\n\t\tconst i18nKey = `common.form.validation.${errorKey}`; // Create i18n key ex: 'common.form.validation.required'\n\n\t\tif (this.translationService) {\n\t\t\treturn this.translationService.instant(i18nKey, errorValue);\n\t\t}\n\n\t\t// fallback\n\t\treturn `${i18nKey}: ${JSON.stringify(errorValue)}`;\n\t}\n}\n","import {\n booleanAttribute,\n Component,\n contentChildren,\n effect,\n ElementRef,\n input,\n InputSignal,\n numberAttribute,\n Optional,\n Self,\n untracked,\n viewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { AbstractComponent } from './abstract-field.component';\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 [class.is-invalid]=\"control?.touched && control?.invalid && enableValidation()\"\n [class.is-valid]=\"control?.touched && control?.valid && enableValidation()\"\n (change)=\"update($event.target)\"\n >\n @if (placeholder()) {\n <option\n selected\n disabled\n >\n {{ placeholder() }}\n </option>\n }\n <ng-container #projectedDisplayOptions></ng-container>\n </select>\n @if (errors() && showError()) {\n <rlb-input-validation [errors]=\"errors()\" />\n }\n </div>\n <ng-content select=\"[after]\"></ng-content>\n `,\n standalone: false,\n})\nexport class SelectComponent\n extends AbstractComponent<string | string[]>\n implements ControlValueAccessor\n{\n placeholder = input<string | undefined>(undefined, { alias: 'placeholder' });\n size = input<'small' | 'large' | undefined>(undefined, { alias: 'size' });\n // Cast to specific InputSignal type to satisfy AbstractComponent which expects boolean | undefined\n disabled = input(false, {\n alias: 'disabled',\n transform: booleanAttribute,\n }) as unknown as InputSignal<boolean | undefined>;\n readonly = input(false, { alias: 'readonly', transform: booleanAttribute });\n multiple = input(false, { alias: 'multiple', transform: booleanAttribute });\n display = input<number, unknown>(undefined, { alias: 'display', transform: numberAttribute });\n userDefinedId = input('', {\n alias: 'id',\n transform: (v: string) => v || '',\n }) as unknown as InputSignal<string>; // Abstract expects InputSignal<string> strictly, but inference might vary\n enableValidation = input(false, { transform: booleanAttribute, alias: 'enable-validation' });\n\n el = viewChild.required<ElementRef<HTMLSelectElement>>('select');\n _projectedDisplayOptions = viewChild('projectedDisplayOptions', {\n read: ViewContainerRef,\n });\n options = contentChildren(OptionComponent);\n\n constructor(\n idService: UniqueIdService,\n @Self() @Optional() override control?: NgControl,\n ) {\n super(idService, control);\n\n effect(() => {\n const vcr = this._projectedDisplayOptions(); // The ViewContainerRef in the Select\n const options = this.options(); // The list of OptionComponents\n\n if (!vcr) return;\n\n vcr.clear();\n\n options.forEach(opt => {\n vcr.createEmbeddedView(opt.template());\n });\n\n untracked(() => {\n this.onWrite(this.value);\n });\n });\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 override onWrite(data: string | string[]): void {\n const el = this.el?.();\n if (el && el.nativeElement) {\n if (this.multiple()) {\n if (!Array.isArray(data)) data = [data];\n const opt = Array.from(el.nativeElement.options);\n opt.forEach(o => {\n o.selected = data.includes(o.value);\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(el.nativeElement.options);\n const val = opt.find(o => o.value == data);\n if (val) val.selected = true;\n }\n }\n }\n}\n","import {\n booleanAttribute,\n Component,\n computed,\n contentChildren,\n effect,\n input,\n numberAttribute,\n OnDestroy,\n OnInit,\n output,\n viewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { DataTableHeaderComponent } from './dt-header.component';\nimport { DataTableRowComponent } from './dt-row.component';\nimport { DataTableNoItemsComponent } from './dt-noitems.component';\nimport { DataTableLoadingComponent } from './dt-loading.component';\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, OnDestroy {\n title = input<string | undefined>(undefined);\n creationStrategy = input<'none' | 'modal' | 'page'>('none', { alias: 'creation-strategy' });\n creationUrl = input<any[] | string | null | undefined>(undefined, { alias: 'creation-url' });\n items = input<any[]>([]);\n paginationMode = input<'none' | 'load-more' | 'pages'>('none', { alias: 'pagination-mode' });\n loading = input(false, { transform: booleanAttribute });\n tableHover = input(false, { alias: 'table-hover', transform: booleanAttribute });\n tableStriped = input(true, { alias: 'table-striped', transform: booleanAttribute });\n tableStripedColumns = input(false, {\n alias: 'table-striped-columns',\n transform: booleanAttribute,\n });\n tableBordered = input(false, { alias: 'table-bordered', transform: booleanAttribute });\n tableBorderless = input(false, { alias: 'table-borderless', transform: booleanAttribute });\n tableSmall = input(false, { alias: 'table-small', transform: booleanAttribute });\n showRefresh = input(false, { alias: 'show-refresh', transform: booleanAttribute });\n totalItems = input(undefined, { alias: 'total-items', transform: numberAttribute });\n currentPage = input(undefined, { alias: 'current-page', transform: numberAttribute });\n pageSize = input(undefined, { alias: 'page-size', transform: numberAttribute });\n showActions = input<'row' | 'head'>('row');\n loadMoreLabel = input('Load more');\n\n createItem = output<void>({ alias: 'create-item' });\n refreshItem = output<void>({ alias: 'refresh-item' });\n loadMore = output<void>({ alias: 'load-more' });\n currentPageChange = output<number>({ alias: 'current-pageChange' });\n pageSizeChange = output<number>({ alias: 'page-sizeChange' });\n pagination = output<{\n page: number;\n size: number;\n }>({ alias: 'pagination' });\n\n _projectedDisplayColumns = viewChild('projectedDisplayColumns', {\n read: ViewContainerRef,\n });\n\n rows = contentChildren(DataTableRowComponent);\n columns = contentChildren(DataTableHeaderComponent);\n\n _projectedNoItems = viewChild('projectedNoItems', { read: ViewContainerRef });\n _projectedLoading = viewChild('projectedLoading', { read: ViewContainerRef });\n _projectedRows = viewChild('projectedRows', { read: ViewContainerRef });\n\n noItemsBlock = contentChildren(DataTableNoItemsComponent);\n loadingBlock = contentChildren(DataTableLoadingComponent);\n\n readonly MAX_VISIBLE_PAGES = 7;\n\n constructor() {\n effect(() => {\n this._renderHeaders();\n this._renderNoItems();\n this._renderLoading();\n this._renderRows();\n });\n }\n\n ngOnInit() {\n // defaults handled by input initial values or logic\n }\n\n pages = computed(() => Math.ceil((this.totalItems() || 0) / (this.pageSize() || 1)));\n\n hasActions = computed(\n () => this.rows().some(o => o.hasActions()) || this.showActions() !== 'row',\n );\n\n visiblePages = computed(() => {\n const total = this.pages();\n const current = this.currentPage() || 1;\n const pages: (number | string)[] = [];\n\n if (total <= this.MAX_VISIBLE_PAGES) {\n for (let i = 1; i <= total; i++) pages.push(i);\n } else {\n if (current <= 4) {\n pages.push(1, 2, 3, 4, 5, '...', total);\n } else if (current >= total - 3) {\n pages.push(1, '...', total - 4, total - 3, total - 2, total - 1, total);\n } else {\n pages.push(1, '...', current - 1, current, current + 1, '...', total);\n }\n }\n\n return pages;\n });\n\n ngOnDestroy() {\n // Effect cleanup\n }\n\n private _renderRows() {\n const container = this._projectedRows();\n const rows = this.rows();\n if (container) {\n container.clear();\n rows.forEach(row => {\n const template = row.template();\n if (template) {\n container.createEmbeddedView(template);\n }\n });\n }\n }\n\n private _renderNoItems() {\n const container = this._projectedNoItems();\n const block = this.noItemsBlock()[0];\n if (container && block) {\n container.clear();\n container.createEmbeddedView(block.template());\n }\n }\n\n private _renderLoading() {\n const container = this._projectedLoading();\n const block = this.loadingBlock()[0];\n if (container && block) {\n container.clear();\n container.createEmbeddedView(block.template());\n }\n }\n\n private _renderHeaders() {\n const container = this._projectedDisplayColumns();\n if (container) {\n container.clear();\n this.columns().forEach(column => {\n // Use the template to create a new view\n container.createEmbeddedView(column.template());\n });\n }\n }\n\n cols = computed(() => this.columns().length + (this.hasActions() ? 1 : 0));\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 onPageSizeChange(newSize: number) {\n this.currentPageChange.emit(1);\n this.pageSizeChange.emit(newSize);\n this.pagination.emit({\n page: 1,\n size: newSize,\n });\n }\n\n selectPage(ev: MouseEvent, page: number | string) {\n ev?.preventDefault();\n ev?.stopPropagation();\n if (typeof page !== 'number' || page === this.currentPage() || this.loading()) return;\n this.currentPageChange.emit(page);\n this.pagination.emit({\n page,\n size: this.pageSize() ? parseInt(this.pageSize() as any) : 20,\n });\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","@if (creationStrategy() !== 'none' || title() || showRefresh()) {\n<div class=\"row\">\n <div class=\"col\">\n @if (title()) {\n <h3 class=\"float-start\">{{ title() }}</h3>\n }\n @if (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 }\n @if (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 }\n @if (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 }\n </div>\n</div>\n}\n<div class=\"table-responsive\">\n <table [ngClass]=\"getTableClasses()\">\n <thead>\n <tr>\n <ng-container #projectedDisplayColumns></ng-container>\n @if (hasActions()) {\n <th>\n <span class=\"float-end pe-2\">\n Actions\n </span>\n </th>\n }\n </tr>\n </thead>\n <tbody>\n @if (!loading()) {\n <!-- ng-container for standard structural projected rows -->\n <ng-container #projectedRows></ng-container>\n }\n\n <!-- 2. For internal states native HTML tr/td -->\n @if (!loading() && items().length === 0 && rows().length === 0) {\n <tr class=\"text-center\">\n <td [attr.colspan]=\"cols()\" style=\"border: 0\">\n <ng-container #projectedNoItems></ng-container>\n </td>\n </tr>\n }\n\n @if (loading()) {\n <tr class=\"text-center\">\n <td [attr.colspan]=\"cols()\" style=\"border: 0\">\n <ng-container #projectedLoading></ng-container>\n </td>\n </tr>\n }\n </tbody>\n @if (paginationMode() !== 'none') {\n <tfoot>\n <tr>\n <td [attr.colspan]=\"cols()\" style=\"border: 0\">\n @if (paginationMode() === 'load-more') {\n <button type=\"button\" class=\"btn btn-primary float-end btn-sm mt-2\" [disabled]=\"loading()\"\n (click)=\"loadMore.emit()\">\n {{ loadMoreLabel() }}\n </button>\n }\n @if (paginationMode() === 'pages') {\n <nav aria-label=\"Page navigation example\">\n <ul class=\"pagination float-end pagination-sm\">\n <li class=\"page-item\">\n <a class=\"page-link d-block\" [class.disabled]=\"currentPage() === 1\" href=\"#\" aria-label=\"Previous\"\n (click)=\"prev($event)\">\n <span aria-hidden=\"true\">«</span>\n </a>\n </li>\n @for (page of visiblePages(); track page) {\n <li class=\"page-item\" [class.active]=\"currentPage() === page\" [class.disabled]=\"page === '...'\">\n <a class=\"page-link d-block\" href=\"#\" (click)=\"selectPage($event, page)\">\n {{ page }}\n </a>\n </li>\n }\n <li class=\"page-item\">\n <a class=\"page-link d-block\" [class.disabled]=\"currentPage() === pages()\" href=\"#\" aria-label=\"Next\"\n (click)=\"next($event)\">\n <span aria-hidden=\"true\">»</span>\n </a>\n </li>\n </ul>\n <ul class=\"ps-0 float-end me-3\">\n <rlb-select size=\"small\" [ngModel]=\"pageSize()\" (ngModelChange)=\"onPageSizeChange($event)\"\n [disabled]=\"items().length === 0\">\n <rlb-option [value]=\"10\">10</rlb-option>\n <rlb-option [value]=\"20\">20</rlb-option>\n <rlb-option [value]=\"50\">50</rlb-option>\n <rlb-option [value]=\"100\">100</rlb-option>\n </rlb-select>\n </ul>\n </nav>\n }\n </td>\n </tr>\n </tfoot>\n }\n </table>\n</div>","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 computed,\n Directive,\n effect,\n ElementRef,\n HostListener,\n input,\n InputSignal,\n numberAttribute,\n output,\n Renderer2,\n signal,\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@Directive()\nexport abstract class AbstractAutocompleteComponent\n extends AbstractComponent<AutocompleteItem>\n implements ControlValueAccessor\n{\n acLoading = signal(false);\n protected typingTimeout: any; // protected, to gain access to child classes\n isOpen = false;\n\n protected suggestionsList: AutocompleteItem[] = [];\n protected activeIndex = signal(-1);\n\n // COMMON INPUT/OUTPUT\n disabled = input(false, {\n transform: booleanAttribute,\n }) as unknown as InputSignal<boolean | undefined>;\n\n isDisabled = computed(() => this.disabled() || this.cvaDisabled());\n readonly = input(false, { transform: booleanAttribute });\n loading = input(false, { transform: booleanAttribute });\n maxHeight = input(200, { transform: numberAttribute, alias: 'max-height' });\n placeholder = input('', { alias: 'placeholder' });\n size = input<'small' | 'large' | undefined>(undefined);\n\n userDefinedId = input('', {\n alias: 'id',\n transform: (v: string) => v || '',\n }) as unknown as InputSignal<string>;\n charsToSearch = input(3, {\n alias: 'chars-to-search',\n transform: numberAttribute,\n });\n\n dropdownEl = viewChild<ElementRef<HTMLElement>>('autocomplete');\n selected = output<AutocompleteItem>();\n private _el = viewChild<ElementRef<HTMLInputElement>>('field');\n private _pendingValue: AutocompleteItem | string | undefined = undefined;\n\n get el() {\n return this._el();\n }\n\n get dropdown(): ElementRef<HTMLElement> {\n return this.dropdownEl()!;\n }\n\n protected abstract getSuggestions(query: string): void;\n\n protected abstract getItemText(data?: AutocompleteItem): string;\n\n protected constructor(\n idService: UniqueIdService,\n protected readonly renderer: Renderer2, // protected, to gain access to child classes\n control?: NgControl,\n ) {\n super(idService, control);\n\n // This effect runs automatically whenever _el changes (e.g., becomes defined)\n effect(() => {\n const el = this._el();\n if (el && this._pendingValue !== undefined) {\n this.applyValueToInput(this._pendingValue);\n this._pendingValue = undefined;\n }\n });\n }\n\n // =========================================================================\n // HTML FORM LOGIC\n // =========================================================================\n\n override onWrite(data?: AutocompleteItem | string): void {\n const el = this._el();\n if (el) {\n this.applyValueToInput(data);\n } else {\n // View not ready yet, store it for the effect above\n this._pendingValue = data;\n }\n }\n\n private applyValueToInput(data?: AutocompleteItem | string): void {\n const nativeEl = this._el()?.nativeElement;\n if (nativeEl) {\n nativeEl.value = data ? this.getItemText(data as any) : '';\n }\n }\n\n // =========================================================================\n // INPUT HANDLING\n // =========================================================================\n\n update(ev: EventTarget | null) {\n const t = ev as HTMLInputElement;\n const inputValue = t?.value || '';\n\n const valueToPropagate =\n inputValue === ''\n ? { text: '', value: '' }\n : { text: inputValue, value: inputValue };\n this.setValue(valueToPropagate as any);\n\n if (this.control && this.control.control) {\n this.control.control.markAsDirty();\n this.control.control.updateValueAndValidity();\n }\n\n if (this.typingTimeout) {\n clearTimeout(this.typingTimeout);\n }\n\n this.typingTimeout = setTimeout(() => {\n if (!this.isDisabled()) {\n this.getSuggestions(inputValue);\n }\n }, 500);\n }\n\n onEnter(ev: EventTarget | null) {\n const t = ev as HTMLInputElement;\n if (!this.isDisabled() && t && t.value) {\n //this.setValue(t?.value);\n this.closeDropdown();\n }\n }\n\n // =========================================================================\n // COMMON NAVIGATE AND SELECT LOGIC\n // =========================================================================\n\n @HostListener('document:keydown', ['$event'])\n onKeyDown(event: KeyboardEvent) {\n if (!this.isOpen || this.suggestionsList.length === 0) {\n if (event.key === 'Enter') {\n this.onEnter(this.el?.nativeElement || null);\n }\n return;\n }\n\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n this.navigate(1);\n break;\n case 'ArrowUp':\n event.preventDefault();\n this.navigate(-1);\n break;\n case 'Enter':\n event.preventDefault();\n this.selectActiveItem();\n break;\n case 'Escape':\n this.closeDropdown();\n this.el?.nativeElement?.blur();\n break;\n }\n }\n\n navigate(step: 1 | -1) {\n let newIndex = this.activeIndex() + step;\n\n if (newIndex >= this.suggestionsList.length) {\n newIndex = 0;\n } else if (newIndex < 0) {\n newIndex = this.suggestionsList.length - 1;\n }\n\n this.setActiveItem(newIndex);\n }\n\n setActiveItem(index: number) {\n if (\n this.activeIndex() !== -1 &&\n this.dropdown.nativeElement.children[this.activeIndex()]\n ) {\n const oldItem = this.dropdown.nativeElement.children[this.activeIndex()];\n this.renderer.removeClass(oldItem, 'active');\n }\n\n this.activeIndex.set(index);\n\n const dropdown = this.dropdownEl();\n if (\n this.activeIndex() !== -1 &&\n dropdown &&\n dropdown.nativeElement.children[this.activeIndex()]\n ) {\n const newItem = dropdown.nativeElement.children[this.activeIndex()];\n this.renderer.addClass(newItem, 'active');\n newItem.scrollIntoView({ block: 'nearest' });\n }\n }\n\n selectActiveItem() {\n if (this.activeIndex() !== -1) {\n const itemData = this.suggestionsList[this.activeIndex()];\n this.selected.emit(itemData);\n\n this.setValue(itemData);\n\n if (this.el && this.el.nativeElement) {\n this.el.nativeElement.value = itemData.text;\n }\n\n if (this.typingTimeout) {\n clearTimeout(this.typingTimeout);\n }\n\n this.closeDropdown();\n } else {\n this.onEnter(this.el?.nativeElement || null);\n }\n }\n\n // =========================================================================\n // DROPDOWN MANAGEMENT (COMMON)\n // =========================================================================\n\n openDropdown() {\n const dropdown = this.dropdownEl();\n if (!dropdown) return;\n\n // Always ensure the display is set, even if isOpen was already true\n this.renderer.setStyle(dropdown.nativeElement, 'display', 'block');\n this.isOpen = true;\n }\n\n closeDropdown() {\n const dropdown = this.dropdownEl();\n if (!dropdown) return;\n\n this.renderer.setStyle(dropdown.nativeElement, 'display', 'none');\n this.isOpen = false;\n this.clearDropdown();\n this.acLoading.set(false);\n }\n\n clearDropdown() {\n const dropdown = this.dropdownEl();\n if (!dropdown) return;\n\n dropdown.nativeElement.innerHTML = '';\n }\n\n protected renderAc(suggestions: Array<AutocompleteItem | string>) {\n const dropdown = this.dropdownEl();\n if (!dropdown) return;\n\n this.clearDropdown();\n this.suggestionsList = suggestions.map((s) =>\n typeof s === 'string' ? { text: s, value: s } : s,\n );\n\n if (this.suggestionsList.length === 0) {\n const el = this.renderer.createElement('a');\n this.renderer.addClass(el, 'dropdown-item');\n this.renderer.addClass(el, 'disabled');\n this.renderer.appendChild(el, this.renderer.createText('No suggestions'));\n this.renderer.appendChild(dropdown.nativeElement, el);\n return;\n }\n\n this.suggestionsList.forEach((item, i) => {\n const el = this.renderer.createElement('a');\n this.renderer.addClass(el, 'dropdown-item');\n this.renderer.appendChild(el, this.renderer.createText(item.text));\n\n this.renderer.listen(el, 'click', (ev) => {\n this.activeIndex.set(i);\n this.selectActiveItem();\n ev.stopPropagation();\n });\n this.renderer.appendChild(dropdown.nativeElement, el);\n });\n }\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 { AbstractAutocompleteComponent } from \"./abstract-autocomplete.component\";\nimport { AutocompleteItem } from \"./autocomplete-model\";\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 position-relative\">\n <input\n #field\n [id]=\"id\"\n class=\"form-control\"\n type=\"text\"\n [attr.autocomplete]=\"'off'\"\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 (blur)=\"touch()\"\n [ngClass]=\"{\n 'is-invalid': control?.touched && control?.invalid,\n 'is-valid': control?.touched && control?.valid,\n }\"\n (input)=\"update($event.target)\"\n />\n @if (errors() && showError()) {\n <rlb-input-validation [errors]=\"errors()\" />\n }\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=\"z-index: 1000; top: 100%;\"\n ></div>\n </div>\n @if (loading() || acLoading()) {\n <rlb-progress\n [height]=\"2\"\n [infinite]=\"loading() || acLoading()\"\n color=\"primary\"\n class=\"w-100\"\n />\n }\n <ng-content select=\"[after]\"></ng-content>\n `,\n standalone: false,\n})\nexport class AutocompleteCountryDialCodeComponent\n extends AbstractAutocompleteComponent\n implements ControlValueAccessor\n{\n enableFlagIcons = input(true, { transform: booleanAttribute, alias: 'enable-flag-icons' });\n\n constructor(\n idService: UniqueIdService,\n renderer: Renderer2,\n @Self() @Optional() override control?: NgControl,\n ) {\n super(idService, renderer, control);\n }\n\n protected override getSuggestions(query: string) {\n this.clearDropdown();\n this.activeIndex.set(-1);\n\n if (query && query.length > 0) {\n this.openDropdown();\n const suggestions = this.getCountries().filter(o => {\n const _c = o as { text: string; value: string };\n return _c.text.toLowerCase().startsWith(query.toLowerCase());\n });\n this.renderAc(suggestions);\n } else {\n this.closeDropdown();\n }\n }\n\n protected override getItemText(data?: AutocompleteItem | string): string {\n const valueToFind = typeof data === 'object' ? data?.value : data;\n const h = this.getCountries().find(c => {\n if (typeof c === 'object') {\n const _c = c as { text: string; value: string };\n return _c.value === valueToFind;\n }\n return false;\n });\n return typeof h === 'object' ? h.text : typeof data === 'string' ? data : '';\n }\n\n getCountries(): AutocompleteItem[] {\n if (this.enableFlagIcons()) {\n return this._countries.map(country => {\n return {\n ...country,\n iconClass: `fi fi-${country.data.toLowerCase()}`,\n };\n });\n } else {\n return this._countries;\n }\n }\n\n private _countries: AutocompleteItem[] = [\n {\n text: 'Afghanistan',\n value: '+93',\n data: 'AF',\n },\n {\n text: 'Aland Islands',\n value: '+358',\n data: 'AX',\n },\n {\n text: 'Albania',\n value: '+355',\n data: 'AL',\n },\n {\n text: 'Algeria',\n value: '+213',\n data: 'DZ',\n },\n {\n text: 'AmericanSamoa',\n value: '+1684',\n data: 'AS',\n },\n {\n text: 'Andorra',\n value: '+376',\n data: 'AD',\n },\n {\n text: 'Angola',\n value: '+244',\n data: 'AO',\n },\n {\n text: 'Anguilla',\n value: '+1264',\n data: 'AI',\n },\n {\n text: 'Antarctica',\n value: '+672',\n data: 'AQ',\n },\n {\n text: 'Antigua and Barbuda',\n value: '+1268',\n data: 'AG',\n },\n {\n text: 'Argentina',\n value: '+54',\n data: 'AR',\n },\n {\n text: 'Armenia',\n value: '+374',\n data: 'AM',\n },\n {\n text: 'Aruba',\n value: '+297',\n data: 'AW',\n },\n {\n text: 'Australia',\n value: '+61',\n data: 'AU',\n },\n {\n text: 'Austria',\n value: '+43',\n data: 'AT',\n },\n {\n text: 'Azerbaijan',\n value: '+994',\n data: 'AZ',\n },\n {\n text: 'Bahamas',\n value: '+1242',\n data: 'BS',\n },\n {\n text: 'Bahrain',\n value: '+973',\n data: 'BH',\n },\n {\n text: 'Bangladesh',\n value: '+880',\n data: 'BD',\n },\n {\n text: 'Barbados',\n value: '+1246',\n data: 'BB',\n },\n {\n text: 'Belarus',\n value: '+375',\n data: 'BY',\n },\n {\n text: 'Belgium',\n value: '+32',\n data: 'BE',\n },\n {\n text: 'Belize',\n value: '+501',\n data: 'BZ',\n },\n {\n text: 'Benin',\n value: '+229',\n data: 'BJ',\n },\n {\n text: 'Bermuda',\n value: '+1441',\n data: 'BM',\n },\n {\n text: 'Bhutan',\n value: '+975',\n data: 'BT',\n },\n {\n text: 'Bolivia, Plurinational State of',\n value: '+591',\n data: 'BO',\n },\n {\n text: 'Bosnia and Herzegovina',\n value: '+387',\n data: 'BA',\n },\n {\n text: 'Botswana',\n value: '+267',\n data: 'BW',\n },\n {\n text: 'Brazil',\n value: '+55',\n data: 'BR',\n },\n {\n text: 'British Indian Ocean Territory',\n value: '+246',\n data: 'IO',\n },\n {\n text: 'Brunei Darussalam',\n value: '+673',\n data: 'BN',\n },\n {\n text: 'Bulgaria',\n value: '+359',\n data: 'BG',\n },\n {\n text: 'Burkina Faso',\n value: '+226',\n data: 'BF',\n },\n {\n text: 'Burundi',\n value: '+257',\n data: 'BI',\n },\n {\n text: 'Cambodia',\n value: '+855',\n data: 'KH',\n },\n {\n text: 'Cameroon',\n value: '+237',\n data: 'CM',\n },\n {\n text: 'Canada',\n value: '+1',\n data: 'CA',\n },\n {\n text: 'Cape Verde',\n value: '+238',\n data: 'CV',\n },\n {\n text: 'Cayman Islands',\n value: '+ 345',\n data: 'KY',\n },\n {\n text: 'Central African Republic',\n value: '+236',\n data: 'CF',\n },\n {\n text: 'Chad',\n value: '+235',\n data: 'TD',\n },\n {\n text: 'Chile',\n value: '+56',\n data: 'CL',\n },\n {\n text: 'China',\n value: '+86',\n data: 'CN',\n },\n {\n text: 'Christmas Island',\n value: '+61',\n data: 'CX',\n },\n {\n text: 'Cocos (Keeling) Islands',\n value: '+61',\n data: 'CC',\n },\n {\n text: 'Colombia',\n value: '+57',\n data: 'CO',\n },\n {\n text: 'Comoros',\n value: '+269',\n data: 'KM',\n },\n {\n text: 'Congo',\n value: '+242',\n data: 'CG',\n },\n {\n text: 'Congo, The Democratic Republic of the Congo',\n value: '+243',\n data: 'CD',\n },\n {\n text: 'Cook Islands',\n value: '+682',\n data: 'CK',\n },\n {\n text: 'Costa Rica',\n value: '+506',\n data: 'CR',\n },\n {\n text: \"Cote d'Ivoire\",\n value: '+225',\n data: 'CI',\n },\n {\n text: 'Croatia',\n value: '+385',\n data: 'HR',\n },\n {\n text: 'Cuba',\n value: '+53',\n data: 'CU',\n },\n {\n text: 'Cyprus',\n value: '+357',\n data: 'CY',\n },\n {\n text: 'Czech Republic',\n value: '+420',\n data: 'CZ',\n },\n {\n text: 'Denmark',\n value: '+45',\n data: 'DK',\n },\n {\n text: 'Djibouti',\n value: '+253',\n data: 'DJ',\n },\n {\n text: 'Dominica',\n value: '+1767',\n data: 'DM',\n },\n {\n text: 'Dominican Republic',\n value: '+1849',\n data: 'DO',\n },\n {\n text: 'Ecuador',\n value: '+593',\n data: 'EC',\n },\n {\n text: 'Egypt',\n value: '+20',\n data: 'EG',\n },\n {\n text: 'El Salvador',\n value: '+503',\n data: 'SV',\n },\n {\n text: 'Equatorial Guinea',\n value: '+240',\n data: 'GQ',\n },\n {\n text: 'Eritrea',\n value: '+291',\n data: 'ER',\n },\n {\n text: 'Estonia',\n value: '+372',\n data: 'EE',\n },\n {\n text: 'Ethiopia',\n value: '+251',\n data: 'ET',\n },\n {\n text: 'Falkland Islands (Malvinas)',\n value: '+500',\n data: 'FK',\n },\n {\n text: 'Faroe Islands',\n value: '+298',\n data: 'FO',\n },\n {\n text: 'Fiji',\n value: '+679',\n data: 'FJ',\n },\n {\n text: 'Finland',\n value: '+358',\n data: 'FI',\n },\n {\n text: 'France',\n value: '+33',\n data: 'FR',\n },\n {\n text: 'French Guiana',\n value: '+594',\n data: 'GF',\n },\n {\n text: 'French Polynesia',\n value: '+689',\n data: 'PF',\n },\n {\n text: 'Gabon',\n value: '+241',\n data: 'GA',\n },\n {\n text: 'Gambia',\n value: '+220',\n data: 'GM',\n },\n {\n text: 'Georgia',\n value: '+995',\n data: 'GE',\n },\n {\n text: 'Germany',\n value: '+49',\n data: 'DE',\n },\n {\n text: 'Ghana',\n value: '+233',\n data: 'GH',\n },\n {\n text: 'Gibraltar',\n value: '+350',\n data: 'GI',\n },\n {\n text: 'Greece',\n value: '+30',\n data: 'GR',\n },\n {\n text: 'Greenland',\n value: '+299',\n data: 'GL',\n },\n {\n text: 'Grenada',\n value: '+1473',\n data: 'GD',\n },\n {\n text: 'Guadeloupe',\n value: '+590',\n data: 'GP',\n },\n {\n text: 'Guam',\n value: '+1671',\n data: 'GU',\n },\n {\n text: 'Guatemala',\n value: '+502',\n data: 'GT',\n },\n {\n text: 'Guernsey',\n value: '+44',\n data: 'GG',\n },\n {\n text: 'Guinea',\n value: '+224',\n data: 'GN',\n },\n {\n text: 'Guinea-Bissau',\n value: '+245',\n data: 'GW',\n },\n {\n text: 'Guyana',\n value: '+595',\n data: 'GY',\n },\n {\n text: 'Haiti',\n value: '+509',\n data: 'HT',\n },\n {\n text: 'Holy See (Vatican City State)',\n value: '+379',\n data: 'VA',\n },\n {\n text: 'Honduras',\n value: '+504',\n data: 'HN',\n },\n {\n text: 'Hong Kong',\n value: '+852',\n data: 'HK',\n },\n {\n text: 'Hungary',\n value: '+36',\n data: 'HU',\n },\n {\n text: 'Iceland',\n value: '+354',\n data: 'IS',\n },\n {\n text: 'India',\n value: '+91',\n data: 'IN',\n },\n {\n text: 'Indonesia',\n value: '+62',\n data: 'ID',\n },\n {\n text: 'Iran, Islamic Republic of Persian Gulf',\n value: '+98',\n data: 'IR',\n },\n {\n text: 'Iraq',\n value: '+964',\n data: 'IQ',\n },\n {\n text: 'Ireland',\n value: '+353',\n data: 'IE',\n },\n {\n text: 'Isle of Man',\n value: '+44',\n data: 'IM',\n },\n {\n text: 'Israel',\n value: '+972',\n data: 'IL',\n },\n {\n text: 'Italy',\n value: '+39',\n data: 'IT',\n },\n {\n text: 'Jamaica',\n value: '+1876',\n data: 'JM',\n },\n {\n text: 'Japan',\n value: '+81',\n data: 'JP',\n },\n {\n text: 'Jersey',\n value: '+44',\n data: 'JE',\n },\n {\n text: 'Jordan',\n value: '+962',\n data: 'JO',\n },\n {\n text: 'Kazakhstan',\n value: '+77',\n data: 'KZ',\n },\n {\n text: 'Kenya',\n value: '+254',\n data: 'KE',\n },\n {\n text: 'Kiribati',\n value: '+686',\n data: 'KI',\n },\n {\n text: \"Korea, Democratic People's Republic of Korea\",\n value: '+850',\n data: 'KP',\n },\n {\n text: 'Korea, Republic of South Korea',\n value: '+82',\n data: 'KR',\n },\n {\n text: 'Kuwait',\n value: '+965',\n data: 'KW',\n },\n {\n text: 'Kyrgyzstan',\n value: '+996',\n data: 'KG',\n },\n {\n text: 'Laos',\n value: '+856',\n data: 'LA',\n },\n {\n text: 'Latvia',\n value: '+371',\n data: 'LV',\n },\n {\n text: 'Lebanon',\n value: '+961',\n data: 'LB',\n },\n {\n text: 'Lesotho',\n value: '+266',\n data: 'LS',\n },\n {\n text: 'Liberia',\n value: '+231',\n data: 'LR',\n },\n {\n text: 'Libyan Arab Jamahiriya',\n value: '+218',\n data: 'LY',\n },\n {\n text: 'Liechtenstein',\n value: '+423',\n data: 'LI',\n },\n {\n text: 'Lithuania',\n value: '+370',\n data: 'LT',\n },\n {\n text: 'Luxembourg',\n value: '+352',\n data: 'LU',\n },\n {\n text: 'Macao',\n value: '+853',\n data: 'MO',\n },\n {\n text: 'Macedonia',\n value: '+389',\n data: 'MK',\n },\n {\n text: 'Madagascar',\n value: '+261',\n data: 'MG',\n },\n {\n text: 'Malawi',\n value: '+265',\n data: 'MW',\n },\n {\n text: 'Malaysia',\n value: '+60',\n data: 'MY',\n },\n {\n text: 'Maldives',\n value: '+960',\n data: 'MV',\n },\n {\n text: 'Mali',\n value: '+223',\n data: 'ML',\n },\n {\n text: 'Malta',\n value: '+356',\n data: 'MT',\n },\n {\n text: 'Marshall Islands',\n value: '+692',\n data: 'MH',\n },\n {\n text: 'Martinique',\n value: '+596',\n data: 'MQ',\n },\n {\n text: 'Mauritania',\n value: '+222',\n data: 'MR',\n },\n {\n text: 'Mauritius',\n value: '+230',\n data: 'MU',\n },\n {\n text: 'Mayotte',\n value: '+262',\n data: 'YT',\n },\n {\n text: 'Mexico',\n value: '+52',\n data: 'MX',\n },\n {\n text: 'Micronesia, Federated States of Micronesia',\n value: '+691',\n data: 'FM',\n },\n {\n text: 'Moldova, Republic of Moldova',\n value: '+373',\n data: 'MD',\n },\n {\n text: 'Monaco',\n value: '+377',\n data: 'MC',\n },\n {\n text: 'Mongolia',\n value: '+976',\n data: 'MN',\n },\n {\n text: 'Montenegro',\n value: '+382',\n data: 'ME',\n },\n {\n text: 'Montserrat',\n value: '+1664',\n data: 'MS',\n },\n {\n text: 'Morocco',\n value: '+212',\n data: 'MA',\n },\n {\n text: 'Mozambique',\n value: '+258',\n data: 'MZ',\n },\n {\n text: 'Myanmar',\n value: '+95',\n data: 'MM',\n },\n {\n text: 'Namibia',\n value: '+264',\n data: 'NA',\n },\n {\n text: 'Nauru',\n value: '+674',\n data: 'NR',\n },\n {\n text: 'Nepal',\n value: '+977',\n data: 'NP',\n },\n {\n text: 'Netherlands',\n value: '+31',\n data: 'NL',\n },\n {\n text: 'Netherlands Antilles',\n value: '+599',\n data: 'AN',\n },\n {\n text: 'New Caledonia',\n value: '+687',\n data: 'NC',\n },\n {\n text: 'New Zealand',\n value: '+64',\n data: 'NZ',\n },\n {\n text: 'Nicaragua',\n value: '+505',\n data: 'NI',\n },\n {\n text: 'Niger',\n value: '+227',\n data: 'NE',\n },\n {\n text: 'Nigeria',\n value: '+234',\n data: 'NG',\n },\n {\n text: 'Niue',\n value: '+683',\n data: 'NU',\n },\n {\n text: 'Norfolk Island',\n value: '+672',\n data: 'NF',\n },\n {\n text: 'Northern Mariana Islands',\n value: '+1670',\n data: 'MP',\n },\n {\n text: 'Norway',\n value: '+47',\n data: 'NO',\n },\n {\n text: 'Oman',\n value: '+968',\n data: 'OM',\n },\n {\n text: 'Pakistan',\n value: '+92',\n data: 'PK',\n },\n {\n text: 'Palau',\n value: '+680',\n data: 'PW',\n },\n {\n text: 'Palestinian Territory, Occupied',\n value: '+970',\n data: 'PS',\n },\n {\n text: 'Panama',\n value: '+507',\n data: 'PA',\n },\n {\n text: 'Papua New Guinea',\n value: '+675',\n data: 'PG',\n },\n {\n text: 'Paraguay',\n value: '+595',\n data: 'PY',\n },\n {\n text: 'Peru',\n value: '+51',\n data: 'PE',\n },\n {\n text: 'Philippines',\n value: '+63',\n data: 'PH',\n },\n {\n text: 'Pitcairn',\n value: '+870',\n data: 'PN',\n },\n {\n text: 'Poland',\n value: '+48',\n data: 'PL',\n },\n {\n text: 'Portugal',\n value: '+351',\n data: 'PT',\n },\n {\n text: 'Puerto Rico',\n value: '+1787',\n data: 'PR',\n },\n {\n text: 'Qatar',\n value: '+974',\n data: 'QA',\n },\n {\n text: 'Reunion',\n value: '+262',\n data: 'RE',\n },\n {\n text: 'Romania',\n value: '+40',\n data: 'RO',\n },\n {\n text: 'Russian Federation',\n value: '+7',\n data: 'RU',\n },\n {\n text: 'Rwanda',\n value: '+250',\n data: 'RW',\n },\n {\n text: 'Saint Barthelemy',\n value: '+590',\n data: 'BL',\n },\n {\n text: 'Saint Helena',\n value: '+290',\n data: 'SH',\n },\n {\n text: 'Saint Kitts and Nevis',\n value: '+1869',\n data: 'KN',\n },\n {\n text: 'Saint Lucia',\n value: '+1758',\n data: 'LC',\n },\n {\n text: 'Saint Martin',\n value: '+590',\n data: 'MF',\n },\n {\n text: 'Saint Pierre and Miquelon',\n value: '+508',\n data: 'PM',\n },\n {\n text: 'Saint Vincent and the Grenadines',\n value: '+1784',\n data: 'VC',\n },\n {\n text: 'Samoa',\n value: '+685',\n data: 'WS',\n },\n {\n text: 'San Marino',\n value: '+378',\n data: 'SM',\n },\n {\n text: 'Sao Tome and Principe',\n value: '+239',\n data: 'ST',\n },\n {\n text: 'Saudi Arabia',\n value: '+966',\n data: 'SA',\n },\n {\n text: 'Senegal',\n value: '+221',\n data: 'SN',\n },\n {\n text: 'Serbia',\n value: '+381',\n data: 'RS',\n },\n {\n text: 'Seychelles',\n value: '+248',\n data: 'SC',\n },\n {\n text: 'Sierra Leone',\n value: '+232',\n data: 'SL',\n },\n {\n text: 'Singapore',\n value: '+65',\n data: 'SG',\n },\n {\n text: 'Slovakia',\n value: '+421',\n data: 'SK',\n },\n {\n text: 'Slovenia',\n value: '+386',\n data: 'SI',\n },\n {\n text: 'Solomon Islands',\n value: '+677',\n data: 'SB',\n },\n {\n text: 'Somalia',\n value: '+252',\n data: 'SO',\n },\n {\n text: 'South Africa',\n value: '+27',\n data: 'ZA',\n },\n {\n text: 'South Georgia and the South Sandwich Islands',\n value: '+500',\n data: 'GS',\n },\n {\n text: 'Spain',\n value: '+34',\n data: 'ES',\n },\n {\n text: 'Sri Lanka',\n value: '+94',\n data: 'LK',\n },\n {\n text: 'Sudan',\n value: '+249',\n data: 'SD',\n },\n {\n text: 'Suriname',\n value: '+597',\n data: 'SR',\n },\n {\n text: 'Svalbard and Jan Mayen',\n value: '+47',\n data: 'SJ',\n },\n {\n text: 'Swaziland',\n value: '+268',\n data: 'SZ',\n },\n {\n text: 'Sweden',\n value: '+46',\n data: 'SE',\n },\n {\n text: 'Switzerland',\n value: '+41',\n data: 'CH',\n },\n {\n text: 'Syrian Arab Republic',\n value: '+963',\n data: 'SY',\n },\n {\n text: 'Taiwan, Province of China',\n value: '+886',\n data: 'TW',\n },\n {\n text: 'Tajikistan',\n value: '+992',\n data: 'TJ',\n },\n {\n text: 'Tanzania, United Republic of',\n value: '+255',\n data: 'TZ',\n },\n {\n text: 'Thailand',\n value: '+66',\n data: 'TH',\n },\n {\n text: 'Timor-Leste',\n value: '+670',\n data: 'TL',\n },\n {\n text: 'Togo',\n value: '+228',\n data: 'TG',\n },\n {\n text: 'Tokelau',\n value: '+690',\n data: 'TK',\n },\n {\n text: 'Tonga',\n value: '+676',\n data: 'TO',\n },\n {\n text: 'Trinidad and Tobago',\n value: '+1868',\n data: 'TT',\n },\n {\n text: 'Tunisia',\n value: '+216',\n data: 'TN',\n },\n {\n text: 'Turkey',\n value: '+90',\n data: 'TR',\n },\n {\n text: 'Turkmenistan',\n value: '+993',\n data: 'TM',\n },\n {\n text: 'Turks and Caicos Islands',\n value: '+1649',\n data: 'TC',\n },\n {\n text: 'Tuvalu',\n value: '+688',\n data: 'TV',\n },\n {\n text: 'Uganda',\n value: '+256',\n data: 'UG',\n },\n {\n text: 'Ukraine',\n value: '+380',\n data: 'UA',\n },\n {\n text: 'United Arab Emirates',\n value: '+971',\n data: 'AE',\n },\n {\n text: 'United Kingdom',\n value: '+44',\n data: 'GB',\n },\n {\n text: 'United States',\n value: '+1',\n data: 'US',\n },\n {\n text: 'United States Minor Outlying Islands',\n value: '+1',\n data: 'UM',\n },\n {\n text: 'Uruguay',\n value: '+598',\n data: 'UY',\n },\n {\n text: 'Uzbekistan',\n value: '+998',\n data: 'UZ',\n },\n {\n text: 'Vanuatu',\n value: '+678',\n data: 'VU',\n },\n {\n text: 'Venezuela, Bolivarian Republic of',\n value: '+58',\n data: 'VE',\n },\n {\n text: 'Viet Nam',\n value: '+84',\n data: 'VN',\n },\n {\n text: 'Virgin Islands, British',\n value: '+1284',\n data: 'VG',\n },\n {\n text: 'Virgin Islands, U.S.',\n value: '+1340',\n data: 'VI',\n },\n {\n text: 'Wallis and Futuna',\n value: '+681',\n data: 'WF',\n },\n {\n text: 'Western Sahara',\n value: '+212',\n data: 'EH',\n },\n {\n text: 'Yemen',\n value: '+967',\n data: 'YE',\n },\n {\n text: 'Zambia',\n value: '+260',\n data: 'ZM',\n },\n {\n text: 'Zimbabwe',\n value: '+263',\n data: 'ZW',\n },\n ];\n}\n","import {\n booleanAttribute,\n Component,\n input,\n Optional,\n Renderer2,\n Self,\n} 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 position-relative\">\n <input\n #field\n [id]=\"id\"\n class=\"form-control\"\n type=\"text\"\n [attr.autocomplete]=\"'off'\"\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 (blur)=\"touch()\"\n [ngClass]=\"{\n 'is-invalid':\n control?.touched && control?.invalid && enableValidation(),\n 'is-valid': control?.touched && control?.valid && enableValidation(),\n }\"\n (input)=\"update($event.target)\"\n />\n @if (errors() && showError()) {\n <rlb-input-validation [errors]=\"errors()\" />\n }\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=\"z-index: 1000; top: 100%;\"\n ></div>\n </div>\n @if (loading() || acLoading()) {\n <rlb-progress\n [height]=\"2\"\n [infinite]=\"loading() || acLoading()\"\n color=\"primary\"\n class=\"w-100\"\n />\n }\n <ng-content select=\"[after]\"></ng-content>\n `,\n standalone: false,\n})\nexport class AutocompleteCountryComponent\n extends AbstractAutocompleteComponent\n implements ControlValueAccessor\n{\n enableFlagIcons = input(false, {\n transform: booleanAttribute,\n alias: 'enable-flag-icons',\n });\n enableValidation = input(false, {\n transform: booleanAttribute,\n alias: 'enable-validation',\n });\n\n constructor(\n idService: UniqueIdService,\n renderer: Renderer2,\n @Self() @Optional() override control?: NgControl,\n ) {\n super(idService, renderer, control);\n }\n\n protected override getSuggestions(query: string) {\n this.clearDropdown();\n this.activeIndex.set(-1);\n\n if (query && query.length > 0) {\n this.openDropdown();\n const suggestions = this.getCountries().filter((o) => {\n const _c = o as { text: string; value: string };\n return _c.text.toLowerCase().startsWith(query.toLowerCase());\n });\n this.renderAc(suggestions);\n } else {\n this.closeDropdown();\n }\n }\n\n protected override getItemText(data?: AutocompleteItem | string): string {\n const valueToFind = typeof data === 'object' ? data?.value : data;\n const h = this.getCountries().find((c) => {\n if (typeof c === 'object') {\n const _c = c as { text: string; value: string };\n return _c.value === valueToFind;\n }\n return false;\n });\n return typeof h === 'object'\n ? h.text\n : typeof data === 'string'\n ? data\n : '';\n }\n\n getCountries(): AutocompleteItem[] {\n if (this.enableFlagIcons()) {\n return this._countries.map((country) => {\n return {\n ...country,\n iconClass: `fi fi-${country.value.toLowerCase()}`,\n };\n });\n } else {\n return this._countries;\n }\n }\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","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 { AbstractAutocompleteComponent } from './abstract-autocomplete.component';\nimport { AutocompleteItem } from './autocomplete-model';\n\n@Component({\n selector: 'rlb-autocomplete-timezones',\n template: `\n <ng-content select=\"[before]\"></ng-content>\n <div class=\"input-group has-validation position-relative\">\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 [attr.autocomplete]=\"'off'\"\n [class.form-control-lg]=\"size() === 'large'\"\n [class.form-control-sm]=\"size() === 'small'\"\n (blur)=\"touch()\"\n [ngClass]=\"{\n 'is-invalid': control?.touched && control?.invalid,\n 'is-valid': control?.touched && control?.valid,\n }\"\n (input)=\"update($event.target)\"\n />\n @if (errors() && showError()) {\n <rlb-input-validation [errors]=\"errors()\" />\n }\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=\"z-index: 1000; top: 100%;\"\n ></div>\n </div>\n @if (loading() || acLoading()) {\n <rlb-progress\n [height]=\"2\"\n [infinite]=\"loading() || acLoading()\"\n color=\"primary\"\n class=\"w-100\"\n />\n }\n <ng-content select=\"[after]\"></ng-content>\n `,\n standalone: false,\n})\nexport class AutocompleteTimezonesComponent\n extends AbstractAutocompleteComponent\n implements ControlValueAccessor {\n enableFlagIcons = input(false, {\n transform: booleanAttribute,\n alias: 'enable-flag-icons',\n });\n\n constructor(\n idService: UniqueIdService,\n renderer: Renderer2,\n @Self() @Optional() override control?: NgControl,\n ) {\n super(idService, renderer, control);\n }\n\n protected override getSuggestions(query: string) {\n this.clearDropdown();\n this.activeIndex.set(-1);\n\n if (query && query.length > 0) {\n this.openDropdown();\n const timezones = DateTz.timezones();\n const suggestions = timezones.filter((o) => {\n return o.toLowerCase().includes(query.toLowerCase());\n });\n this.renderAc(suggestions);\n } else {\n this.closeDropdown();\n }\n }\n\n protected override getItemText(data?: AutocompleteItem | string): string {\n if (typeof data === 'object' && data !== null && 'text' in data) {\n return (data as AutocompleteItem).text || '';\n } else if (typeof data === 'string') {\n return data;\n }\n return '';\n }\n}\n","import {\n booleanAttribute,\n Component,\n ElementRef,\n HostListener,\n input,\n model,\n numberAttribute,\n Optional,\n output,\n Renderer2,\n Self,\n signal,\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.autocomplete]=\"inputAutocomplete()\"\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 @if (errors() && showError() && enableValidation()) {\n <rlb-input-validation [errors]=\"errors()\"/>\n }\n </div>\n @if (loading() || acLoading()) {\n <rlb-progress\n [height]=\"2\"\n [infinite]=\"loading() || acLoading()\"\n color=\"primary\"\n class=\"w-100\"\n />\n }\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 = signal(false);\n private typingTimeout: any;\n isOpen = signal(false);\n\n disabled = model(false);\n readonly = input(false, { transform: booleanAttribute, alias: 'readonly' });\n loading = input(false, { transform: booleanAttribute, alias: 'loading' });\n maxHeight = input(200, { transform: numberAttribute, alias: 'max-height' });\n placeholder = input('', { alias: 'placeholder' });\n autocomplete = input<AutocompleteFn>(() => { return []; }, { alias: 'autocomplete' });\n type = input<'text' | 'email' | 'number' | 'password' | 'search' | 'tel' | 'url' | string>('text', { alias: 'type' });\n size = input<'small' | 'large' | undefined>(undefined);\n charsToSearch = input(3, { alias: 'chars-to-search', transform: numberAttribute });\n menuMaxWidth = input(400, { alias: 'menu-max-width', transform: numberAttribute });\n userDefinedId = input('', { alias: 'id', transform: (v: string) => v || '' });\n enableValidation = input(false, { transform: booleanAttribute, alias: 'enable-validation' });\n inputAutocomplete = input('one-time-code');\n\n el = viewChild<ElementRef<HTMLInputElement>>('field');\n dropdown = viewChild<ElementRef<HTMLElement>>('autocomplete');\n selected = output<AutocompleteItem>();\n\n @HostListener('document:pointerdown', ['$event'])\n onDocumentPointerDown(event: PointerEvent) {\n this.handleOutsideEvent(event);\n }\n\n @HostListener('document:keydown.escape', ['$event'])\n onEscape(event: Event) {\n if (this.isOpen()) {\n this.closeDropdown();\n this.el()?.nativeElement?.blur();\n }\n }\n\n constructor(\n idService: UniqueIdService,\n private readonly renderer: Renderer2,\n private readonly hostRef: ElementRef<HTMLElement>,\n @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 const field = this.el();\n if (field && field.nativeElement) {\n if (typeof data === 'string') {\n field.nativeElement.value = data;\n } else {\n field.nativeElement.value = data?.text;\n }\n }\n }\n\n manageSuggestions(data: string) {\n this.clearDropdown();\n if (data && data.length >= this.charsToSearch()) {\n this.openDropdown();\n const suggestions = this.autocomplete()(data);\n if (suggestions instanceof Promise) {\n this.acLoading.set(true);\n suggestions.then(s => this.renderAc(s)).finally(() => (this.acLoading.set(false)));\n } else if (suggestions instanceof Observable) {\n this.acLoading.set(true);\n lastValueFrom(suggestions).then(s => this.renderAc(s)).finally(() => (this.acLoading.set(false)));\n } else {\n this.renderAc(suggestions);\n }\n } else {\n this.closeDropdown();\n }\n }\n\n renderAc(suggestions: Array<string | AutocompleteItem>) {\n const dropdown = this.dropdown();\n if (!dropdown) return;\n this.clearDropdown();\n if (!suggestions || suggestions.length === 0) {\n const el = this.renderer.createElement('a');\n this.renderer.addClass(el, 'dropdown-item');\n this.renderer.addClass(el, 'disabled');\n this.renderer.addClass(el, 'text-center');\n this.renderer.setAttribute(el, 'disabled', 'true');\n this.renderer.appendChild(el, this.renderer.createText('No suggestions'));\n this.renderer.appendChild(dropdown.nativeElement, el);\n return;\n }\n\n for (const suggestion of suggestions) {\n const itemData: AutocompleteItem = typeof suggestion === 'string'\n ? { text: suggestion, value: suggestion }\n : suggestion;\n\n const el = this.renderer.createElement('a');\n this.renderer.addClass(el, 'dropdown-item');\n\n if (itemData.iconClass) {\n const icon = this.renderer.createElement('i');\n\n const classes = itemData.iconClass.split(/\\s+/);\n for (const cls of classes) {\n if (cls) {\n this.renderer.addClass(icon, cls);\n }\n }\n this.renderer.addClass(icon, 'me-2');\n this.renderer.appendChild(el, icon);\n }\n\n this.renderer.appendChild(el, this.renderer.createText(itemData.text));\n\n this.renderer.listen(el, 'click', (ev: Event) => {\n this.selected.emit(itemData);\n this.setValue(itemData);\n this.closeDropdown();\n ev.stopPropagation();\n });\n this.renderer.appendChild(dropdown.nativeElement, el);\n }\n }\n\n\n onEnter(ev: EventTarget | null) {\n const t = ev as HTMLInputElement;\n const dropdown = this.dropdown();\n if (!this.disabled() && t && t.value && dropdown) {\n const item: AutocompleteItem = {\n text: t.value,\n value: t.value\n };\n this.setValue(item);\n this.renderer.setStyle(dropdown.nativeElement, 'display', 'none');\n }\n }\n\n getText(d: AutocompleteItem) {\n if (d == null) return '';\n return typeof d === 'string' ? d : d?.text;\n }\n\n private handleOutsideEvent(event: Event) {\n const target = event.target as HTMLElement;\n const dropdown = this.dropdown();\n\n const path: EventTarget[] = (event as any).composedPath ? (event as any).composedPath() : [];\n\n const clickedInsideHost = this.hostRef?.nativeElement?.contains(target);\n const clickedInsideDropdown = dropdown?.nativeElement?.contains ? dropdown.nativeElement.contains(target) : false;\n const clickedInPath = path.length ? path.some(p => p === this.hostRef.nativeElement || (dropdown && p === dropdown.nativeElement)) : false;\n\n if (!(clickedInsideHost || clickedInsideDropdown || clickedInPath)) {\n this.closeDropdown();\n }\n }\n\n openDropdown() {\n const dropdown = this.dropdown();\n if (!dropdown || this.isOpen()) return;\n this.renderer.setStyle(dropdown.nativeElement, 'display', 'block');\n this.isOpen.set(true);\n }\n\n closeDropdown() {\n const dropdown = this.dropdown();\n if (!dropdown || !this.isOpen()) return;\n this.renderer.setStyle(dropdown.nativeElement, 'display', 'none');\n this.isOpen.set(false);\n this.clearDropdown();\n this.acLoading.set(false);\n }\n\n clearDropdown() {\n const dropdown = this.dropdown();\n if (!dropdown) return;\n while (dropdown.nativeElement.firstChild) {\n dropdown.nativeElement.removeChild(dropdown.nativeElement.lastChild!);\n }\n }\n}\n","import {\n booleanAttribute,\n Component,\n computed,\n ElementRef,\n input,\n InputSignal,\n Optional,\n Self,\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';\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]=\"isDisabled() ? 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 @if (errors() && (control?.touched || control?.dirty)) {\n <div class=\"invalid-feedback d-block\">\n {{ errors() | json }}\n </div>\n }\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 disabled = input(false, { transform: booleanAttribute }) as unknown as InputSignal<boolean | undefined>;\n readonly = input(false, { transform: booleanAttribute });\n indeterminate = input(false, { transform: booleanAttribute });\n userDefinedId = input('', { alias: 'id' });\n\n el = viewChild.required<ElementRef<HTMLInputElement>>('field');\n\n isDisabled = computed(() => this.disabled() || this.cvaDisabled());\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.isDisabled()) {\n const t = ev as HTMLInputElement;\n this.setValue(t?.checked);\n }\n }\n\n override onWrite(data: boolean | undefined): void {\n const el = this.el();\n if (el && el.nativeElement) {\n if (this.indeterminate() && (typeof data === 'undefined' || data === null)) {\n el.nativeElement.indeterminate = true;\n } else {\n if (data === undefined || data === null) return;\n if (typeof data === 'string') {\n el.nativeElement.checked = /^true$/i.test(data);\n }\n else {\n el.nativeElement.checked = data;\n }\n }\n }\n }\n\n override writeValue(val: boolean | undefined): void {\n const el = this.el();\n if (this.indeterminate() && el) {\n if (typeof val === 'undefined' || val === null) {\n el.nativeElement.indeterminate = true;\n } else {\n el.nativeElement.indeterminate = false;\n }\n }\n if (!this.indeterminate()) {\n val = val || false;\n }\n super.writeValue(val);\n }\n}\n","import {\n booleanAttribute,\n Component,\n ElementRef,\n input,\n InputSignal,\n Optional,\n Self,\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';\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 @if (errors() && showError()) {\n <rlb-input-validation [errors]=\"errors()\"/>\n }\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 disabled = input(false, { transform: booleanAttribute }) as unknown as InputSignal<boolean | undefined>;\n readonly = input(false, { transform: booleanAttribute });\n size = input<'small' | 'large' | undefined>(undefined);\n userDefinedId = input('', { alias: 'id', transform: (v: string) => v || '' });\n\n el = viewChild<ElementRef<HTMLInputElement>>('field');\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 const el = this.el();\n if (el && el.nativeElement) {\n el.nativeElement.value = data;\n }\n }\n}\n","import {\n booleanAttribute,\n Component,\n ElementRef,\n input,\n InputSignal,\n Optional,\n Self,\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';\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 @if (errors() && showError()) {\n <rlb-input-validation [errors]=\"errors()\"/>\n }\n </div>\n <ng-content select=\"[after]\"></ng-content>`,\n standalone: false\n})\nexport class DatalistComponent\n extends AbstractComponent<string>\n implements ControlValueAccessor {\n disabled = input(false, { transform: booleanAttribute }) as unknown as InputSignal<boolean | undefined>;\n readonly = input(false, { transform: booleanAttribute });\n placeholder = input<string | undefined>(undefined);\n size = input<'small' | 'large' | undefined>(undefined);\n userDefinedId = input('', { alias: 'id', transform: (v: string) => v || '' });\n\n el = viewChild<ElementRef<HTMLInputElement>>('field');\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 const el = this.el();\n if (el && el.nativeElement) {\n el.nativeElement.value = data;\n }\n }\n}\n","import {\n booleanAttribute,\n Directive,\n input,\n output,\n signal\n} from '@angular/core';\n\n@Directive({\n selector: '[rlb-dnd]',\n standalone: false,\n host: {\n '[class.fileover]': 'fileOver()',\n '(dragover)': 'onDragOver($event)',\n '(dragleave)': 'onDragLeave($event)',\n '(drop)': 'onDrop($event)'\n }\n})\nexport class DndDirective {\n multi = input(false, { alias: 'multiple', transform: booleanAttribute });\n\n fileDropped = output<File[]>();\n\n fileOver = signal(false);\n\n onDragOver(evt: DragEvent) {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver.set(true);\n }\n\n onDragLeave(evt: DragEvent) {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver.set(false);\n }\n\n onDrop(evt: DragEvent) {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver.set(false);\n let files = evt.dataTransfer?.files;\n if (files && files.length > 0) {\n const _f: File[] = [];\n if (files.length > 1 && !this.multi()) {\n _f.push(files[0]);\n }\n else {\n for (let i = 0; i < files.length; i++) _f.push(files[i]);\n }\n this.fileDropped.emit(_f);\n }\n }\n}\n","import { booleanAttribute, Component, ElementRef, input, output, viewChild } 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 @for (file of files; track file; let i = $index) {\n <div class=\"single-file\">\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 }\n </div>`,\n standalone: false\n})\nexport class FileDndComponent {\n files: File[] = [];\n\n multiple = input(false, { transform: booleanAttribute });\n data = input<any>({});\n userDefinedId = input('', { alias: 'id', transform: (v: string) => v || '' });\n\n filesChange = output<File[]>({ alias: 'files' });\n\n fileDropEl = viewChild<ElementRef<HTMLInputElement>>('fileDropRef');\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 const el = this.fileDropEl();\n if (el) {\n el.nativeElement.value = \"\";\n }\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 const el = this.fileDropEl();\n if (el) {\n el.nativeElement.value = \"\";\n }\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 {\n booleanAttribute,\n Component,\n ElementRef,\n input,\n InputSignal,\n Optional,\n Self,\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';\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 (change)=\"onFileChange($event)\"\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 FileComponent\n extends AbstractComponent<File | File[] | null>\n implements ControlValueAccessor {\n disabled = input(false, { transform: booleanAttribute }) as unknown as InputSignal<boolean | undefined>;\n readonly = input(false, { transform: booleanAttribute });\n multiple = input(false, { transform: booleanAttribute });\n size = input<'small' | 'large' | undefined>(undefined);\n accept = input<string | undefined>(undefined);\n userDefinedId = input('', { alias: 'id', transform: (v: string) => v || '' });\n\n el = viewChild<ElementRef<HTMLInputElement>>('field');\n\n constructor(\n idService: UniqueIdService,\n @Self() @Optional() override control?: NgControl,\n ) {\n super(idService, control);\n }\n\n onFileChange(ev: Event) {\n if (!this.disabled()) {\n const input = ev.target as HTMLInputElement;\n if (!input.files) {\n this.setValue(null);\n return;\n }\n this.setValue(this.multiple() ? Array.from(input.files) : input.files[0]);\n }\n }\n\n override onWrite(data: File | File[] | null): void {\n const el = this.el();\n if (el && el.nativeElement) {\n el.nativeElement.value = '';\n }\n }\n}\n","import {\n Directive,\n ElementRef,\n Renderer2,\n effect,\n input,\n} from '@angular/core';\nimport { UniqueIdService } from '../../shared/unique-id.service';\n\n@Directive({\n selector: '[helpText]',\n standalone: false\n})\nexport class HelpText {\n private uniqueId: string;\n\n helpText = input<string>('', { alias: 'helpText' });\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n idService: UniqueIdService,\n ) {\n this.uniqueId = idService.id;\n\n effect(() => {\n const text = this.helpText();\n if (text) {\n const input = this.elementRef.nativeElement.querySelector('input');\n if (!input) return;\n\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(text),\n );\n this.renderer.insertBefore(input.parentNode, textHelp, input.nextSibling);\n }\n });\n }\n}\n","import {\n AfterViewInit,\n booleanAttribute,\n Component,\n computed,\n ElementRef,\n input,\n numberAttribute,\n OnInit,\n Optional,\n Self,\n signal,\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]=\"\n type() === 'number' && max() !== null && max() !== undefined ? max() : undefined\n \"\n [attr.min]=\"\n type() === 'number' && min() !== null && min() !== undefined ? min() : undefined\n \"\n [attr.step]=\"\n type() === 'number' && step() !== null && step() !== undefined ? step() : undefined\n \"\n [attr.disabled]=\"isDisabled() ? 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 [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 @if (!_extValidation() && showError()) {\n <rlb-input-validation [errors]=\"errors()\" />\n }\n <ng-content select=\"[after]\"></ng-content>\n </ng-template>\n `,\n standalone: false,\n})\nexport class InputComponent extends AbstractComponent<any> implements OnInit, AfterViewInit {\n disabled = input(false, {\n transform: booleanAttribute,\n });\n readonly = input(false, { transform: booleanAttribute });\n beforeText = input(false, {\n alias: 'before-text',\n transform: booleanAttribute,\n });\n placeholder = input<string | undefined>(undefined);\n type = input<string>('text');\n size = input<'small' | 'large' | undefined>(undefined);\n name = input<string | undefined>(undefined);\n max = input(undefined, { transform: numberAttribute });\n min = input(undefined, { transform: numberAttribute });\n step = input(undefined, { transform: numberAttribute });\n dateType = input<'date' | 'string' | 'number' | 'date-tz' | string | undefined>(undefined, {\n alias: 'date-type',\n });\n timezone = input('UTC');\n userDefinedId = input('', { alias: 'id' });\n extValidation = input(false, { transform: booleanAttribute });\n enableValidation = input(false, {\n alias: 'enable-validation',\n transform: booleanAttribute,\n });\n\n protected _forceExtValidation = signal(false);\n protected _extValidation = computed(() => this.extValidation() || this._forceExtValidation());\n\n setExtValidation(val: boolean) {\n this._forceExtValidation.set(val);\n }\n\n protected _type = computed(() => {\n if (this.type() === 'number') return 'text';\n return this.type() || 'text';\n });\n\n isDisabled = computed(() => this.disabled() || this.cvaDisabled());\n\n el = viewChild<ElementRef<HTMLInputElement>>('field');\n template = viewChild.required<TemplateRef<any>>('template');\n\n constructor(\n private viewContainerRef: ViewContainerRef,\n idService: UniqueIdService,\n @Self() @Optional() override control?: NgControl,\n ) {\n super(idService, control);\n }\n\n update(ev: EventTarget | null) {\n if (!this.isDisabled()) {\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() !== undefined && v > this.max()!) {\n v = this.max()!;\n }\n if (this.min() !== undefined && 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 =\n (text.match(/\\./g) || [])?.length > 1\n ? text.slice(0, firstDotIndex + 1) +\n text.slice(firstDotIndex + 1).replace(/\\./g, '')\n : text;\n }\n this.onChanged?.(parseFloat(text));\n t.value = text;\n return;\n }\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 } else {\n const t = ev as HTMLInputElement;\n this.setValue(t?.value || '');\n }\n }\n }\n\n override onWrite(data: string): void {\n const el = this.el();\n\n // If the view isn't ready yet, just store the value and exit.\n // ngAfterViewInit will call this method again once el() is available.\n if (!el || !el.nativeElement) {\n this.value = data;\n return;\n }\n\n if (el && el.nativeElement) {\n if (this.type() === 'number') {\n if (data === '' || data === null || data === undefined) {\n this.value = '';\n el.nativeElement.value = '';\n return;\n }\n\n let val = parseFloat(this.removeNonDigits(data));\n\n if (this.max() !== undefined && val > this.max()!) {\n val = this.max()!;\n }\n if (this.min() !== undefined && val < this.min()!) {\n val = this.min()!;\n }\n this.value = data;\n el.nativeElement.value = val.toString();\n return;\n }\n if (this.type() === 'datetime-local') {\n if (this.dateType() === 'string') {\n this.value = data;\n 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 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 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 el.nativeElement.value = this.value;\n }\n } else {\n this.value = data;\n el.nativeElement.value = data || '';\n }\n }\n }\n\n ngOnInit() {\n const templateView = this.viewContainerRef.createEmbeddedView(this.template());\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 =\n value\n .toString()\n .match(/[0-9,.]/g)\n ?.join('') || '';\n const standardized = filtered.replace(/,/g, '.');\n const [integerPart, ...fractionalParts] = standardized.split('.');\n const result =\n fractionalParts.length > 0 ? `${integerPart}.${fractionalParts.join('')}` : integerPart;\n return result;\n }\n}\n","import {\n booleanAttribute,\n Component,\n contentChild,\n contentChildren,\n effect,\n input,\n} from '@angular/core';\nimport { ValidationErrors } from '@angular/forms';\nimport { InputValidationComponent } from './input-validation.component';\nimport { InputComponent } from './input.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 {\n\n text = input(false, { alias: 'text', transform: booleanAttribute });\n validate = input(false, { alias: 'validate', transform: booleanAttribute });\n size = input<'small' | 'large' | undefined>(undefined);\n\n validations: ValidationErrors = {};\n\n inputs = contentChildren(InputComponent);\n validation = contentChild(InputValidationComponent);\n\n constructor() {\n effect(() => {\n if (this.validate()) {\n const inputs = this.inputs();\n const validation = this.validation();\n\n const aggregatedErrors: ValidationErrors = {};\n for (const input of inputs) {\n input.setExtValidation(true);\n const name = input.name();\n const errors = input.errors();\n if (errors && Object.keys(errors).length > 0 && name) {\n aggregatedErrors[name] = errors;\n }\n }\n this.validations = aggregatedErrors;\n\n if (validation) {\n validation.errors.set(this.validations);\n }\n }\n });\n }\n}\n","import {\n booleanAttribute,\n Component,\n contentChildren,\n effect,\n ElementRef,\n input,\n InputSignal,\n Optional,\n Self,\n viewChild,\n viewChildren,\n ViewContainerRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { UniqueIdService } from '../../shared/unique-id.service';\nimport { AbstractComponent } from './abstract-field.component';\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\n @for (option of options(); track option; let i = $index) {\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\"\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 <!-- We use this span as an anchor to insert the Option text -->\n <label\n class=\"form-check-label\"\n [for]=\"id + '-radio-' + i\"\n >\n <span #content></span>\n </label>\n </div>\n }\n\n <ng-content select=\"[after]\"></ng-content>\n <div class=\"invalid-feedback\">\n {{ errors() | json }}\n </div>\n </div>\n `,\n standalone: false,\n})\nexport class RadioComponent extends AbstractComponent<string> implements ControlValueAccessor {\n disabled = input(false, { transform: booleanAttribute }) as unknown as InputSignal<\n boolean | undefined\n >;\n readonly = input(false, { transform: booleanAttribute });\n userDefinedId = input('', { alias: 'id', transform: (v: string) => v || '' });\n\n options = contentChildren(OptionComponent);\n contents = viewChildren('content', { read: ViewContainerRef });\n el = viewChild<ElementRef<HTMLInputElement>>('field');\n\n constructor(\n idService: UniqueIdService,\n @Self() @Optional() override control?: NgControl,\n ) {\n super(idService, control);\n\n effect(() => {\n const options = this.options();\n const contents = this.contents();\n\n if (options.length > 0 && contents.length === options.length) {\n contents.forEach((vcr, i) => {\n vcr.clear(); // Clear previous view\n\n const option = options[i];\n if (option) {\n vcr.createEmbeddedView(option.contentTemplate());\n }\n });\n }\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 const el = this.el();\n if (el && el.nativeElement) {\n el.nativeElement.value = data;\n }\n }\n}\n","import {\n booleanAttribute,\n Component,\n computed,\n ElementRef,\n input,\n InputSignal,\n numberAttribute,\n Optional,\n Self,\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';\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]=\"isDisabled() ? 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 disabled = input(false, { transform: booleanAttribute }) as unknown as InputSignal<boolean | undefined>;\n readonly = input(false, { transform: booleanAttribute });\n min = input(undefined, { transform: numberAttribute });\n max = input(undefined, { transform: numberAttribute });\n step = input(undefined, { transform: numberAttribute });\n userDefinedId = input('', { alias: 'id' });\n\n el = viewChild.required<ElementRef<HTMLInputElement>>('field');\n\n isDisabled = computed(() => this.disabled() || this.cvaDisabled());\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.isDisabled()) {\n const t = ev as HTMLInputElement;\n this.setValue(t?.value);\n }\n }\n\n override onWrite(data: string): void {\n const el = this.el();\n if (el && el.nativeElement) {\n el.nativeElement.value = data;\n }\n }\n}\n","import {\n AfterViewInit,\n booleanAttribute,\n Component,\n computed,\n ElementRef,\n input,\n Optional,\n Self,\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';\n\n@Component({\n selector: 'rlb-switch',\n template: `\n <div class=\"d-flex align-items-center gap-2\">\n @if (errors() && showError() && (control?.touched || control?.dirty)) {\n <div class=\"invalid-feedback d-block\">\n {{ errors() | json }}\n </div>\n }\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]=\"isDisabled() ? 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{\n disabled = input(false, {\n transform: booleanAttribute,\n });\n readonly = input(false, { transform: booleanAttribute });\n size = input<'small' | 'large' | undefined>(undefined);\n userDefinedId = input('', { alias: 'id' });\n\n el = viewChild.required<ElementRef<HTMLInputElement>>('field');\n\n isDisabled = computed(() => this.disabled() || this.cvaDisabled());\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.isDisabled()) {\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 const el = this.el();\n if (el && el.nativeElement) {\n if (this.data === undefined || this.data === null) return;\n if (typeof this.data === 'string') {\n el.nativeElement.checked = /^true$/i.test(this.data);\n } else {\n el.nativeElement.checked = this.data;\n }\n }\n }\n}\n","import {\n booleanAttribute,\n Component,\n computed,\n ElementRef,\n input,\n InputSignal,\n numberAttribute,\n Optional,\n Self,\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';\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]=\"isDisabled() ? 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 @if (errors() && showError()) {\n <rlb-input-validation [errors]=\"errors()\"/>\n }\n </div>\n <ng-content select=\"[after]\"></ng-content>`,\n standalone: false\n})\nexport class TextAreaComponent\n extends AbstractComponent<string>\n implements ControlValueAccessor {\n disabled = input(false, { transform: booleanAttribute }) as unknown as InputSignal<boolean | undefined>;\n readonly = input(false, { transform: booleanAttribute });\n placeholder = input<string | undefined>(undefined);\n size = input<'small' | 'large' | undefined>(undefined);\n rows = input(3, { transform: numberAttribute });\n userDefinedId = input('', { alias: 'id' });\n\n el = viewChild<ElementRef<HTMLTextAreaElement>>('field');\n\n isDisabled = computed(() => this.disabled() || this.cvaDisabled());\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.isDisabled()) {\n const t = ev as HTMLInputElement;\n this.setValue(t?.value);\n }\n }\n\n override onWrite(data: string): void {\n const el = this.el();\n if (el && el.nativeElement) {\n 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 booleanAttribute,\n Component,\n computed,\n effect,\n input,\n output,\n signal,\n viewChild,\n} from '@angular/core';\nimport { FormControl, FormGroup, NgForm } from '@angular/forms';\nimport { FormField, FormFieldsDefinition, 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 {\n public filterForm = signal<FormGroup | undefined>(undefined);\n\n title = input<string>('', { alias: 'title' });\n subTitle = input<string>('', { alias: 'sub-title' });\n noSubmit = input(false, { alias: 'no-submit', transform: booleanAttribute });\n noCard = input(false, { alias: 'no-card', transform: booleanAttribute });\n fields = input<FormFieldsDefinition | undefined>(undefined, { alias: 'fields' });\n\n submit = output<any>();\n\n form = viewChild<NgForm>('ngForm');\n\n _fields = computed(() => {\n const fieldsData = this.fields();\n if (!fieldsData) return [];\n return Object.keys(fieldsData).map((o) => {\n return { property: o, ...(fieldsData as any)[o] } as FormField;\n });\n });\n\n constructor() {\n effect(() => {\n this.buildForm(this.fields());\n });\n }\n\n private buildForm(fieldsData: FormFieldsDefinition | undefined) {\n if (!fieldsData) {\n this.filterForm.set(undefined);\n return;\n }\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.set(new FormGroup(formGroup));\n }\n\n onFilterSubmit() {\n const form = this.filterForm();\n if (form && form.valid) {\n this.submit.emit(form.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","@if (noCard()) {\n<ng-container [ngTemplateOutlet]=\"formTemplate\"></ng-container>\n} @else {\n<div class=\"card mb-3\">\n <div class=\"card-body\">\n @if (title()) {\n <h5 class=\"card-title\">{{ title() | translate }}</h5>\n }\n @if (subTitle()) {\n <p class=\"card-text\">{{ subTitle() | translate }}</p>\n }\n <ng-container [ngTemplateOutlet]=\"formTemplate\"></ng-container>\n </div>\n</div>\n}\n\n\n<ng-template #formTemplate>\n @if (filterForm()) {\n <form [formGroup]=\"filterForm()!\" [class.was-validated]=\"ngForm.submitted\" class=\"needs-validation\" #ngForm=\"ngForm\"\n (ngSubmit)=\"onFilterSubmit()\">\n <div class=\"row\">\n @for (inputItem of _fields(); track identify($index, inputItem)) {\n <div class=\"col\" [ngClass]=\"inputItem.cols\">\n <div class=\"mb-3\">\n @if (isText(inputItem.type)) {\n <rlb-input [formControlName]=\"inputItem.property\" [type]=\"inputItem.type\"\n [placeholder]=\"inputItem.name | translate\">\n @if (inputItem.label) {\n <ng-container before>\n <span #after>\n {{ inputItem.label | translate }}\n </span>\n </ng-container>\n }\n </rlb-input>\n }\n @if (isSwitch(inputItem.type)) {\n <rlb-switch [formControlName]=\"inputItem.property\" />\n }\n </div>\n </div>\n }\n </div>\n @if (!noSubmit()) {\n <div class=\"row\">\n <div class=\"col\">\n <button class=\"btn btn-primary float-end\" [disabled]=\"!filterForm()!.valid\">\n {{ \"common.filter\" | translate }}\n </button>\n </div>\n </div>\n }\n </form>\n }\n</ng-template>","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 {\n Component,\n ElementRef,\n input,\n OnInit,\n signal,\n ViewChild,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { IModal, ModalData, ModalDirective } from '../components';\nimport { RlbBootstrapModule } from '../rlb-bootstrap.module';\nimport { SearchModalInput } from './search-modal.data';\n\n@Component({\n imports: [RlbBootstrapModule, FormsModule],\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{\n @ViewChild('btn') btn!: ElementRef<HTMLElement>;\n\n data = input<ModalData<SearchModalInput>>({} as any);\n valid = signal(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 {\n Component,\n computed,\n ElementRef,\n input,\n OnInit,\n signal,\n ViewChild,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { IModal, ModalData, ModalDirective } from '../components';\nimport { RlbBootstrapModule } from '../rlb-bootstrap.module';\n\nimport { CommonModalData } from './common-modal.data';\n\n@Component({\n standalone: true,\n imports: [RlbBootstrapModule, FormsModule],\n template: `\n <div [class]=\"'modal-header' + headerColor()\">\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 @if (data().content.header) {\n <h6>\n {{ data().content.header }}\n </h6>\n }\n <span>\n {{ data().content.body }}\n </span>\n </div>\n <div class=\"modal-footer\">\n @if (data().cancel) {\n <button class=\"me-2\" rlb-button outline data-modal-reason=\"cancel\">\n {{ data().cancel }}\n </button>\n }\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{\n @ViewChild('btn') btn!: ElementRef<HTMLElement>;\n\n data = input<ModalData<CommonModalData>>({\n title: '',\n content: { header: '', body: '' },\n });\n valid = signal(true);\n\n // Computed for header color\n headerColor = computed(() =>\n this.data()?.type ? ` bg-${this.data()?.type}` : '',\n );\n\n searchText?: string;\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 { Component, computed, input, OnDestroy, OnInit, signal } from '@angular/core';\nimport { FormBuilder, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { Subject, takeUntil } from 'rxjs';\nimport { RlbBootstrapModule } from '../../../../rlb-bootstrap.module';\nimport { UniqueIdService } from '../../../../shared/unique-id.service';\nimport { IModal } from '../../../modals/data/modal';\nimport { ModalData } from '../../../modals/data/modal-data';\nimport { ModalDirective } from '../../../modals/modal.directive';\nimport { CalendarEvent } from '../../interfaces/calendar-event.interface';\n\n@Component({\n standalone: true,\n imports: [RlbBootstrapModule, ReactiveFormsModule],\n template: `\n <div [formGroup]=\"form\">\n <div [class]=\"'modal-header' + headerColor()\">\n <h5 class=\"modal-title\">\n @if (eventToEdit?.id) {\n Edit Event\n } @else {\n Create Event\n }\n </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 <rlb-input\n formControlName=\"title\"\n placeholder=\"Event Title\"\n class=\"mb-3\"\n >\n <label before>Title</label>\n </rlb-input>\n\n <div class=\"row mb-3\">\n <div class=\"col\">\n <rlb-input\n type=\"datetime-local\"\n formControlName=\"start\"\n >\n <label before>Start Date</label>\n </rlb-input>\n </div>\n <div class=\"col\">\n <rlb-input\n type=\"datetime-local\"\n formControlName=\"end\"\n >\n <label before>End Date</label>\n </rlb-input>\n </div>\n </div>\n\n <div class=\"row mb-3\">\n <div class=\"col\">\n <rlb-switch formControlName=\"allDay\">\n <label before>All Day</label>\n </rlb-switch>\n </div>\n <div class=\"col\">\n <rlb-select formControlName=\"color\">\n <label before>Color</label>\n @for (c of colors; track c.value) {\n <rlb-option [value]=\"c.value\">{{ c.name }}</rlb-option>\n }\n </rlb-select>\n </div>\n </div>\n </div>\n <div class=\"modal-footer\">\n <button\n type=\"button\"\n class=\"btn btn-secondary me-2\"\n data-modal-reason=\"cancel\"\n >\n Cancel\n </button>\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n data-modal-reason=\"ok\"\n >\n Save\n </button>\n </div>\n </div>\n `,\n hostDirectives: [\n {\n directive: ModalDirective,\n inputs: ['id', 'data-instance', 'data-options'],\n },\n ],\n})\nexport class EventCreateEditComponent\n implements IModal<CalendarEvent | undefined, CalendarEvent>, OnInit, OnDestroy\n{\n data = input<ModalData<CalendarEvent | undefined>>({} as any);\n result?: CalendarEvent;\n\n private _valid = signal(false);\n valid = this._valid.asReadonly();\n\n headerColor = computed(() => {\n return this.data()?.type ? ` bg-${this.data().type}` : '';\n });\n\n private destroy$ = new Subject<void>();\n public form!: FormGroup;\n public eventToEdit?: CalendarEvent;\n\n public colors = [\n { name: 'Primary', value: 'primary' },\n { name: 'Secondary', value: 'secondary' },\n { name: 'Success', value: 'success' },\n { name: 'Danger', value: 'danger' },\n { name: 'Warning', value: 'warning' },\n { name: 'Info', value: 'info' },\n { name: 'Light', value: 'light' },\n { name: 'Dark', value: 'dark' },\n ];\n\n constructor(\n private fb: FormBuilder,\n private unique: UniqueIdService,\n ) {}\n\n ngOnInit(): void {\n this.eventToEdit = this.data()?.content;\n this.form = this.fb.group({\n id: [this.eventToEdit?.id || this.unique.id],\n title: [this.eventToEdit?.title || '', Validators.required],\n start: [this.eventToEdit?.start || '', Validators.required],\n end: [this.eventToEdit?.end || '', Validators.required],\n allDay: [this.eventToEdit?.allDay || false],\n color: [this.eventToEdit?.color || 'primary'],\n });\n\n this.form.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value: CalendarEvent) => {\n this.result = this.handleFormValueChange(value);\n this._valid.set(!this.form.pristine && this.form.valid);\n });\n }\n\n private handleFormValueChange(value: CalendarEvent): CalendarEvent {\n return {\n ...value,\n };\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { Component, computed, input } from '@angular/core';\nimport { RlbBootstrapModule } from '../../../../rlb-bootstrap.module';\nimport { IModal } from '../../../modals/data/modal';\nimport { ModalData } from '../../../modals/data/modal-data';\nimport { ModalDirective } from '../../../modals/modal.directive';\nimport {\n CalendarEvent,\n CalendarEventWithLayout,\n} from '../../interfaces/calendar-event.interface';\n\nexport interface CalendarOverflowEventsDialogResult {\n action: 'edit' | 'delete' | 'close';\n event: CalendarEvent;\n}\n\n@Component({\n standalone: true,\n template: `\n <div [class]=\"'modal-header' + headerColor()\">\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 <div class=\"d-flex flex-column\">\n @for (event of eventsWithLayout(); track event.id) {\n <div class=\"d-flex align-items-center mb-1\">\n <rlb-calendar-event\n class=\"flex-grow-1\"\n view=\"month\"\n [event]=\"event\"\n />\n <button\n class=\"btn btn-sm btn-outline-primary ms-1\"\n data-modal-reason=\"ok\"\n (click)=\"result = { action: 'edit', event: event }\"\n >\n <i class=\"bi bi-pencil\"></i>\n </button>\n <button\n class=\"btn btn-sm btn-outline-danger ms-1\"\n data-modal-reason=\"ok\"\n (click)=\"result = { action: 'delete', event: event }\"\n >\n <i class=\"bi bi-trash\"></i>\n </button>\n </div>\n }\n </div>\n </div>\n <div class=\"modal-footer\">\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n data-modal-reason=\"cancel\"\n >\n Close\n </button>\n </div>\n `,\n hostDirectives: [\n {\n directive: ModalDirective,\n inputs: ['id', 'data-instance', 'data-options'],\n },\n ],\n imports: [RlbBootstrapModule],\n})\nexport class CalendarOverflowEventsContainerComponent implements IModal<\n CalendarEvent[],\n CalendarOverflowEventsDialogResult\n> {\n data = input<ModalData<CalendarEvent[]>>({} as any);\n result?: CalendarOverflowEventsDialogResult;\n\n eventsWithLayout = computed(() => {\n return (this.data()?.content || []).map(\n (event) =>\n ({\n ...event,\n left: 0,\n width: 100,\n }) as CalendarEventWithLayout,\n );\n });\n\n headerColor = computed(() => {\n return this.data()?.type ? ` bg-${this.data().type}` : '';\n });\n}\n","import { Component, input, signal } from '@angular/core';\nimport { IToast } from \"../../../toast/data/toast\";\nimport { ToastData } from \"../../../toast/data/toast-data\";\nimport { ToastDirective } from \"../../../toast/toast.directive\";\n\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 @if (data().subtitle) {\n <small> {{data().subtitle }}</small>\n }\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: [RlbBootstrapModule]\n})\nexport class CalendarToastComponent implements IToast<string, void> {\n data = input.required<ToastData<string>>();\n valid = signal(true);\n result?: any;\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","i1","i1.ModalRegistryOptions","i2","i3.UniqueIdService","i1.InnerModalService","i2.ComponentHostDirective","i2.BreakpointService","i1.ToastRegistryOptions","i2.UniqueIdService","i1.InnerToastService","i2.DropdownComponent","i3.DropdownContainerComponent","i4.DropdownMenuItemComponent","i5.DropdownDirective","i6","i7.DateTzPipe","i8.MonthFormatterPipe","i2.DateTzPipe","DateTz","i2.CalendarEventComponent","i3.DateTzPipe","i4.DayOfWeekPipe","i3.DayOfWeekPipe","i1.CalendarWeekGridComponent","i2.CalendarDayGridComponent","i3.CalendarMonthGridComponent","i1.ModalService","i3.ToastService","i4.ProgressComponent","i5.CalendarHeaderComponent","i6.CalendarGrid","i4.DropdownDirective","i5","i1.BadgeComponent","i2.AvatarComponent","i2.ButtonComponent","i3.ToggleDirective","i1.RlbPlaceholderComponent","i2.RlbPlaceholderLineComponent","i3.SidebarService","i4.BadgeDirective","i5.CollapseComponent","i6.ToggleDirective","i1.SidebarService","i3.TooltipDirective","i1.ToggleDirective","i3.InputValidationComponent","i3","i4.SelectComponent","i5.OptionComponent","i4.InputValidationComponent","i5.ProgressComponent","i1.DndDirective","i3.ProgressComponent","i3.InputComponent","i4.SwitchComponent","i1.DataTableActionComponent","i2.DataTableActionsComponent","i3.DataTableCellComponent","i4.DataTableHeaderComponent","i5.DataTableRowComponent","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.CalendarDayGridComponent","i105.CalendarMonthGridComponent","i106.CalendarEventComponent","i107.ComponentHostDirective","i108.DateTzPipe","i109.MonthFormatterPipe","i110.DayOfWeekPipe","i1.ModalDirective","i4","i3.ModalDirective","i1.ToastDirective"],"mappings":"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"}
|