@basis-ng/primitives 0.0.1-alpha.96 → 0.0.1-alpha.97
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.
|
@@ -2031,7 +2031,7 @@ class Tooltip {
|
|
|
2031
2031
|
handlePanelClasses() {
|
|
2032
2032
|
this.overlay().cdkConnectedOverlay.panelClass = [
|
|
2033
2033
|
`b-tooltip-size-${this.size()}`,
|
|
2034
|
-
`b-variant-${this.variant()}`,
|
|
2034
|
+
`b-tooltip-variant-${this.variant()}`,
|
|
2035
2035
|
];
|
|
2036
2036
|
}
|
|
2037
2037
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: Tooltip, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basis-ng-primitives.mjs","sources":["../../../projects/primitives/src/core/services/theme-manager.ts","../../../projects/primitives/src/core/components/button/button.ts","../../../projects/primitives/src/core/components/button-group/button-group.ts","../../../projects/primitives/src/shared/directives/lazy-content.directive.ts","../../../projects/primitives/src/core/components/input/input.ts","../../../projects/primitives/src/core/directives/connected-overlay.ts","../../../projects/primitives/src/core/components/select/shared/components/select-trigger.ts","../../../projects/primitives/src/core/components/select/shared/components/select-value.ts","../../../projects/primitives/src/core/components/select/shared/components/select-content.ts","../../../projects/primitives/src/core/components/select/select.ts","../../../projects/primitives/src/shared/components/option.component.ts","../../../projects/primitives/src/core/components/select/shared/directives/select-filter.ts","../../../projects/primitives/src/core/components/spinner/spinner.ts","../../../projects/primitives/src/core/components/switch/switch.ts","../../../projects/primitives/src/core/components/table/table.component.ts","../../../projects/primitives/src/core/components/table/table.component.html","../../../projects/primitives/src/core/components/table/components/row/row.component.ts","../../../projects/primitives/src/core/components/table/components/row/row.component.html","../../../projects/primitives/src/core/components/table/components/row/components/row-item/row-item.component.ts","../../../projects/primitives/src/core/components/table/components/row/components/row-item/row-item.component.html","../../../projects/primitives/src/core/components/tabs/tab.ts","../../../projects/primitives/src/core/components/tabs/tabs.ts","../../../projects/primitives/src/core/components/sheet/sheet.ts","../../../projects/primitives/src/core/components/drawer/drawer.component.ts","../../../projects/primitives/src/core/components/drawer/drawer.component.html","../../../projects/primitives/src/core/services/responsive-manager.ts","../../../projects/primitives/src/core/components/otp/otp.ts","../../../projects/primitives/src/core/components/badge/badge.ts","../../../projects/primitives/src/core/components/checkbox/checkbox.ts","../../../projects/primitives/src/core/components/textarea/textarea.ts","../../../projects/primitives/src/core/components/range/range.ts","../../../projects/primitives/src/core/components/tooltip/shared/directives/tooltip-trigger.ts","../../../projects/primitives/src/core/components/tooltip/shared/components/tooltip-content.ts","../../../projects/primitives/src/core/components/tooltip/tooltip.ts","../../../projects/primitives/src/core/components/color-picker/color-picker.ts","../../../projects/primitives/src/core/components/tree/shared/components/tree-node/tree-node.ts","../../../projects/primitives/src/core/components/tree/tree.ts","../../../projects/primitives/src/core/components/menu/menu.ts","../../../projects/primitives/src/core/components/menu/shared/components/menu-group.ts","../../../projects/primitives/src/core/components/menu/shared/components/menu-label.ts","../../../projects/primitives/src/core/components/menu/shared/components/menu-item.ts","../../../projects/primitives/src/core/components/menu/shared/components/menu-item-checkbox.ts","../../../projects/primitives/src/core/components/menu/shared/components/menu-item-radio.ts","../../../projects/primitives/src/core/components/menu/shared/directives/menu-trigger.directive.ts","../../../projects/primitives/src/core/components/alert/alert.ts","../../../projects/primitives/src/core/components/command/command-options.component.ts","../../../projects/primitives/src/shared/services/utils.ts","../../../projects/primitives/src/core/components/command/command.component.ts","../../../projects/primitives/src/core/directives/overlay-origin.ts","../../../projects/primitives/src/core/components/input-group/input-group.ts","../../../projects/primitives/src/core/components/dialog/dialog-content.ts","../../../projects/primitives/src/core/services/dialog-manager.ts","../../../projects/primitives/src/core/directives/dialog.ts","../../../projects/primitives/src/core/components/card/card.ts","../../../projects/primitives/src/core/components/card/card-header.ts","../../../projects/primitives/src/core/components/card/card-title.ts","../../../projects/primitives/src/core/components/card/card-description.ts","../../../projects/primitives/src/core/components/card/card-content.ts","../../../projects/primitives/src/core/components/card/card-footer.ts","../../../projects/primitives/src/core/services/translation-manager.ts","../../../projects/primitives/src/core/pipes/translate.pipe.ts","../../../projects/primitives/src/public-api.ts","../../../projects/primitives/src/basis-ng-primitives.ts"],"sourcesContent":["import {\n Injectable,\n Renderer2,\n RendererFactory2,\n inject,\n PLATFORM_ID,\n} from '@angular/core';\nimport { signal } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ThemeManager {\n /**\n * Signal representing the current theme.\n *\n * Possible values:\n * - `'light'`: Light theme.\n * - `'dark'`: Dark theme.\n * - `'auto'`: Automatically determine the theme.\n */\n readonly theme = signal<'light' | 'dark' | 'auto'>('auto');\n\n /**\n * Renderer2 instance for manipulating the DOM.\n * Used to set the `data-theme` attribute on the document root (`<html>`).\n */\n private renderer: Renderer2;\n\n /**\n * RendererFactory2 instance for creating Renderer2 instances.\n * Injected to create the renderer.\n */\n private rendererFactory = inject(RendererFactory2);\n\n /**\n * PLATFORM_ID token to identify the platform.\n */\n private platformId = inject(PLATFORM_ID);\n\n /**\n * Flag indicating whether the application is running in a browser.\n */\n private isBrowser = isPlatformBrowser(this.platformId);\n\n constructor() {\n this.renderer = this.rendererFactory.createRenderer(null, null);\n }\n\n /**\n * Applies the specified theme to the document root (`<html>`).\n *\n * @param theme - The theme to apply. Possible values:\n * - `'light'`: Apply the light theme.\n * - `'dark'`: Apply the dark theme.\n * - `'auto'`: Remove the theme attribute and let the system decide.\n */\n applyTheme(theme: 'light' | 'dark' | 'auto'): void {\n this.theme.set(theme);\n if (theme === 'auto') {\n this.removeTheme();\n return;\n }\n if (this.isBrowser) {\n // Safe DOM access only in browser\n this.renderer.setAttribute(document.documentElement, 'data-theme', theme);\n }\n }\n\n /**\n * Toggles the theme between `'light'` and `'dark'`.\n * If the current theme is `'light'`, it switches to `'dark'`, and vice versa.\n */\n toggleTheme(): void {\n this.applyTheme(this.theme() === 'light' ? 'dark' : 'light');\n }\n\n /**\n * Removes the `data-theme` attribute from the document body.\n * This is used when the theme is set to `'auto'`.\n */\n removeTheme(): void {\n if (this.isBrowser) {\n this.renderer.removeAttribute(document.documentElement, 'data-theme');\n }\n }\n}\n","import { Component, ElementRef, inject, input } from '@angular/core';\n\n/**\n * Defines the available visual variants for the button component.\n * @public\n */\ntype ButtonVariant =\n | 'primary'\n | 'secondary'\n | 'ghost'\n | 'outlined'\n | 'destructive';\n\n/**\n * Defines the available sizes for the button component.\n * @public\n */\ntype ButtonSize = 'sm' | 'md' | 'lg';\n\n/**\n * Button component for displaying a clickable button element with configurable variant, size, and shape.\n *\n * @public\n */\n@Component({\n selector: 'button[b-button]',\n template: ` <ng-content /> `,\n host: {\n '[class.b-button-variant-primary]': 'variant() === \"primary\"',\n '[class.b-button-variant-secondary]': 'variant() === \"secondary\"',\n '[class.b-button-variant-ghost]': 'variant() === \"ghost\"',\n '[class.b-button-variant-outlined]': 'variant() === \"outlined\"',\n '[class.b-button-variant-destructive]': 'variant() === \"destructive\"',\n '[class.b-button-size-sm]': 'size() === \"sm\"',\n '[class.b-button-size-md]': 'size() === \"md\"',\n '[class.b-button-size-lg]': 'size() === \"lg\"',\n '[class.b-button-squared]': 'squared()',\n },\n})\nexport class Button {\n /**\n * The visual variant of the button.\n *\n * @defaultValue 'primary'\n */\n readonly variant = input<ButtonVariant>('primary');\n\n /**\n * The size of the button.\n *\n * @defaultValue 'md'\n */\n readonly size = input<ButtonSize>('md');\n\n /**\n * If true, the button will have squared edges.\n *\n * @defaultValue false\n */\n readonly squared = input<boolean>(false);\n\n /**\n * Reference to the underlying DOM element.\n */\n el = inject(ElementRef);\n}\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'b-button-group',\n template: `<ng-content />`,\n host: {\n class: 'button-group',\n '[class.spaced]': 'spaced()',\n },\n})\nexport class ButtonGroup {\n /**\n * Whether the buttons should be spaced.\n *\n * @defaultValue false\n */\n readonly spaced = input<boolean>(false);\n}\n","import { Directive, inject, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[b-lazy]',\n standalone: true,\n})\nexport class LazyContentDirective {\n tpl = inject(TemplateRef);\n}\n","import {\n AfterViewInit,\n Component,\n computed,\n ElementRef,\n inject,\n input,\n} from '@angular/core';\nimport { NgModel } from '@angular/forms';\n\n@Component({\n selector: 'input[b-input]',\n template: ``,\n host: {\n '[type]': 'type()',\n '(input)': 'onInput($event)',\n '(blur)': 'onBlur($event)',\n '[class.b-input-size-sm]': 'size() === \"sm\"',\n '[class.b-input-size-md]': 'size() === \"md\"',\n '[class.b-input-size-lg]': 'size() === \"lg\"',\n },\n exportAs: 'bInput',\n})\nexport class Input implements AfterViewInit {\n /**\n * The type of the input.\n */\n readonly type = input<'text' | 'number' | 'password' | 'email'>('text');\n\n /**\n * The number of decimal places for number input.\n */\n readonly decimals = input<number>(2);\n\n /**\n * The type of number input (integer or decimal).\n */\n readonly numberType = input<'integer' | 'decimal'>('integer');\n\n /**\n * Whether the input type is number.\n */\n readonly isNumberType = computed(() => this.type() === 'number');\n\n /**\n * Reference to the input element.\n */\n readonly el = inject<ElementRef<HTMLInputElement>>(ElementRef);\n\n /**\n * Reference to the ngModel directive.\n */\n private ngModel = inject(NgModel, { optional: true });\n\n /**\n * The size of the input.\n */\n readonly size = input<'sm' | 'md' | 'lg'>('md');\n\n /**\n * After the view has been initialized, set the value of the select.\n */\n ngAfterViewInit(): void {\n const value = this.el.nativeElement.value || this.ngModel?.model;\n if (this.isNumberType()) {\n const formattedValue = this.formatNumber(value) || '';\n this.setValue(formattedValue);\n }\n }\n\n /**\n * Sets the value of the input element.\n * @param value The value to set.\n */\n setValue(value: string): void {\n this.el.nativeElement.value = value;\n }\n\n /**\n * Handles the input event.\n * @param event The input event.\n */\n onInput(event: Event): void {\n const target = event.target as HTMLInputElement;\n\n // If the input is not of number type, update the value and emit the value change event.\n if (!this.isNumberType()) {\n this.setValue(target.value);\n }\n }\n\n /**\n * The blur event handler.\n * @param event - The blur event.\n */\n onBlur(event: any): void {\n // If the input is of number type, format the value and emit the value change event.\n if (this.isNumberType()) {\n const formattedValue = this.formatNumber(event.target.value);\n this.setValue(formattedValue || '');\n }\n }\n\n /**\n * Formats the number value.\n * @param value - The value to format.\n * @returns The formatted value.\n */\n formatNumber(value: string | null) {\n if (value) {\n const numericValue = Number(value);\n return this.numberType() === 'integer'\n ? Math.round(numericValue).toString()\n : numericValue.toFixed(this.decimals());\n } else {\n return null;\n }\n }\n\n /**\n * Método público para disparar el formateo como si se hiciera blur.\n */\n blur(): void {\n if (this.isNumberType()) {\n const value = this.el.nativeElement.value;\n const formattedValue = this.formatNumber(value);\n this.setValue(formattedValue || '');\n }\n }\n}\n","import {\n CdkConnectedOverlay,\n ConnectedPosition,\n ConnectionPositionPair,\n Overlay,\n} from '@angular/cdk/overlay';\nimport {\n computed,\n Directive,\n effect,\n inject,\n input,\n linkedSignal,\n model,\n output,\n} from '@angular/core';\nimport { OverlayOrigin } from './overlay-origin';\nimport { Position } from '../../shared/types/position.type';\n\n/**\n * Directive to manage overlay behavior and positioning.\n * Integrates with Angular CDK's `CdkConnectedOverlay` to provide\n * flexible overlay positioning and triggering mechanisms.\n */\n@Directive({\n selector: '[bConnectedOverlay]',\n hostDirectives: [\n {\n directive: CdkConnectedOverlay,\n inputs: [\n 'cdkConnectedOverlayWidth: width',\n 'cdkConnectedOverlayMinWidth: minWidth',\n 'cdkConnectedOverlayBackdropClass: customBackdropClass',\n 'cdkConnectedOverlayPanelClass: panelClass',\n ],\n outputs: [\n 'detach: detach',\n 'attach: attach',\n 'overlayOutsideClick: outsideClick',\n 'backdropClick: backdropClick',\n 'positionChange: positionChange',\n ],\n },\n ],\n host: {\n '(positionChange)': 'connectedPositionPair.set($event.connectionPair)',\n '(detach)': 'detachEmitter.emit()',\n '(attach)': 'attachEmitter.emit()',\n '(outsideClick)': 'outsideClickEmitter.emit()',\n '(backdropClick)': 'backdropClickEmitter.emit()',\n },\n})\nexport class ConnectedOverlay {\n /**\n * Controls whether the overlay is open.\n * @default false\n */\n readonly open = model(false);\n\n /**\n * The trigger directive that activates the overlay.\n * This input is required.\n */\n readonly trigger = input.required<OverlayOrigin>();\n\n /**\n * A computed map of positions to their corresponding `ConnectedPosition` configurations.\n */\n readonly positionsMap = computed<Record<Position, ConnectedPosition>>(() => ({\n 'top-left': {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetX: 0,\n offsetY: -4,\n },\n 'top-center': {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetX: 0,\n offsetY: -4,\n },\n 'top-right': {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetX: 0,\n offsetY: -4,\n },\n 'bottom-left': {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetX: 0,\n offsetY: 4,\n },\n 'bottom-center': {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetX: 0,\n offsetY: 4,\n },\n 'bottom-right': {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: 0,\n offsetY: 4,\n },\n 'left-top': {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: -4,\n offsetY: 0,\n },\n 'left-center': {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n offsetX: -4,\n offsetY: 0,\n },\n 'left-bottom': {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetX: -4,\n offsetY: 0,\n },\n 'right-top': {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n offsetX: 4,\n offsetY: 0,\n },\n 'right-center': {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n offsetX: 4,\n offsetY: 0,\n },\n 'right-bottom': {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetX: 4,\n offsetY: 0,\n },\n }));\n\n /**\n * List of positions for the overlay.\n * @default ['bottom-left']\n */\n readonly positions = input<Position[]>(['bottom-left']);\n\n /**\n * Controls whether the trigger element should be focused when the overlay is closed.\n * @default true\n */\n readonly focusTriggerOnClose = input(true);\n\n /**\n * Computed list of `ConnectedPosition` objects based on the `positions` input.\n */\n readonly connectedPositions = computed<ConnectedPosition[]>(() =>\n this.positions().map(position => this.positionsMap()[position])\n );\n\n /**\n * Signal to track the currently active `ConnectionPositionPair`.\n */\n readonly connectedPositionPair = linkedSignal<ConnectionPositionPair>(\n () => this.connectedPositions()[0]\n );\n\n /**\n * Injected instance of `CdkConnectedOverlay`.\n */\n cdkConnectedOverlay = inject(CdkConnectedOverlay);\n\n /**\n * Injected instance of `Overlay`.\n */\n overlay = inject(Overlay);\n\n /**\n * Computed direction of the overlay based on the active position pair.\n */\n readonly direction = computed(() => {\n const pair = this.connectedPositionPair();\n\n return Object.entries(this.positionsMap())\n .find(\n ([, position]) =>\n position.originX === pair.originX &&\n position.originY === pair.originY &&\n position.overlayX === pair.overlayX &&\n position.overlayY === pair.overlayY\n )?.[0]\n .split('-')[0];\n });\n\n /**\n * Event emitter for overlay detach events.\n */\n detachEmitter = output<void>();\n\n /**\n * Event emitter for overlay attach events.\n */\n attachEmitter = output<void>();\n\n /**\n * Event emitter for overlay outside click events.\n */\n outsideClickEmitter = output<void>();\n\n /**\n * Event emitter for overlay backdrop click events.\n */\n backdropClickEmitter = output<void>();\n\n /**\n * Flag to indicate if el overlay ya fue abierto al menos una vez.\n */\n private hasBeenOpened = false;\n\n /**\n * Constructor to initialize the directive and set up reactive effects.\n */\n constructor() {\n effect(() => {\n this.handleOrigin();\n this.handleConnectedPositions();\n this.handleOpen();\n });\n }\n\n /**\n * Handles the origin of the overlay.\n * This method sets the `cdkConnectedOverlay.origin` to the trigger element.\n */\n handleOrigin(): void {\n this.cdkConnectedOverlay.origin = this.trigger().trigger;\n }\n\n /**\n * Handles the connected positions for the overlay.\n * This method updates the `cdkConnectedOverlay` positions based on the current state.\n */\n handleConnectedPositions(): void {\n this.cdkConnectedOverlay.positions = this.connectedPositions();\n }\n\n /**\n * Handles the opening and closing of the overlay based on the `open` input.\n * Determines whether to open or close the overlay and invokes the appropriate method.\n */\n handleOpen(): void {\n if (this.open()) {\n this.cdkConnectedOverlay.attachOverlay();\n this.hasBeenOpened = true;\n } else {\n this.cdkConnectedOverlay.detachOverlay();\n\n // Only focus the trigger if the overlay has been opened at least once\n if (this.hasBeenOpened && this.focusTriggerOnClose()) {\n this.trigger().el.nativeElement.focus();\n }\n }\n }\n\n /**\n * Toggles the open state of the overlay.\n * If the overlay is open, it will be closed, and vice versa.\n */\n toggleOverlay(): void {\n this.open.set(!this.open());\n }\n\n /**\n * Closes the overlay by setting the `open` state to false.\n */\n closeOverlay(): void {\n this.open.set(false);\n }\n\n /**\n * Opens the overlay by setting the `open` state to true.\n */\n openOverlay(): void {\n this.open.set(true);\n }\n}\n","import { Component, ElementRef, inject, output, signal } from '@angular/core';\n\n/**\n * Component representing the trigger button for the select dropdown.\n * Handles user interactions to open or close the select.\n */\n@Component({\n selector: 'button[b-select-trigger]',\n template: `<ng-content />\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"lucide lucide-chevron-down-icon lucide-chevron-down\">\n <path d=\"m6 9 6 6 6-6\" />\n </svg> `,\n host: {\n '(keydown.arrowUp)': 'buttonClicked.emit()',\n '(keydown.arrowDown)': 'buttonClicked.emit()',\n '(click)': 'buttonClicked.emit()',\n '[disabled]': 'disabled()',\n },\n})\nexport class SelectTrigger {\n /**\n * Reference to the host element of the trigger button.\n */\n el = inject(ElementRef);\n\n /**\n * Event emitter for button click and keydown events.\n */\n buttonClicked = output<void>();\n\n /**\n * Signal indicating whether the trigger is disabled.\n */\n readonly disabled = signal(false);\n}\n","import { Component, ElementRef, inject, input, signal } from '@angular/core';\n\n/**\n * Component for displaying the selected value or a placeholder in the select dropdown.\n */\n@Component({\n selector: 'b-select-value',\n template: `{{ content() || placeholder() }}`,\n})\nexport class SelectValue {\n /**\n * Reference to the host element of the value display.\n */\n el = inject(ElementRef);\n\n /**\n * Signal holding the display content for the selected value.\n */\n readonly content = signal<string>('');\n\n /**\n * Input signal for the placeholder text when no value is selected.\n * @param value - The placeholder string to display.\n */\n readonly placeholder = input<string>('Select an option');\n}\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { CdkListbox, CdkOption } from '@angular/cdk/listbox';\nimport {\n Component,\n computed,\n contentChildren,\n ElementRef,\n inject,\n model,\n output,\n OnInit,\n} from '@angular/core';\nimport { ConnectedOverlay } from '../../../../directives/connected-overlay';\n\n/**\n * Component representing the content of a select dropdown.\n * Manages the list of options and their selection state.\n */\n@Component({\n selector: 'ul[b-select-content]',\n imports: [],\n template: `<ng-content />`,\n hostDirectives: [\n {\n directive: CdkListbox,\n inputs: ['cdkListboxMultiple: multiple'],\n outputs: ['cdkListboxValueChange'],\n },\n ],\n host: {\n '(cdkListboxValueChange)': 'changeValueEmitter.emit($event.value)',\n '[animate.enter]': '\"b-select-content-entering-\" + this.direction()',\n '[animate.leave]': '\"b-select-content-leaving-\" + this.direction()',\n },\n})\nexport class SelectContent implements OnInit {\n /**\n * Reference to the host element of the component.\n */\n el = inject(ElementRef);\n\n /**\n * Reference to the CDK Listbox directive.\n */\n listBox = inject(CdkListbox);\n\n /**\n * Collection of CdkOption elements within the listbox.\n */\n readonly options = contentChildren(CdkOption);\n\n /**\n * Key manager for handling keyboard navigation and active descendant management.\n */\n readonly listKeyManager = computed(() =>\n new ActiveDescendantKeyManager(this.options())\n .withWrap()\n .withVerticalOrientation()\n );\n\n /**\n * Event emitter that emits when the value changes.\n */\n changeValueEmitter = output<string[]>();\n\n /**\n * Input signal indicating whether multiple selections are allowed.\n */\n readonly multiple = model<boolean>(false);\n\n /**\n * Reference to the ConnectedOverlay to determine the direction of the overlay.\n */\n overlay = inject(ConnectedOverlay);\n\n /**\n * Computed signal representing the direction of the overlay.\n */\n readonly direction = computed(() => this.overlay.direction());\n\n /**\n * Lifecycle hook that initializes the component.\n * Enables the use of active descendant for the listbox.\n */\n ngOnInit(): void {\n this.listBox.useActiveDescendant = true;\n }\n}\n","import {\n Component,\n contentChild,\n forwardRef,\n signal,\n input,\n OnInit,\n effect,\n} from '@angular/core';\nimport { ConnectedOverlay } from '../../directives/connected-overlay';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SelectTrigger } from './shared/components/select-trigger';\nimport { SelectValue } from './shared/components/select-value';\nimport { SelectContent } from './shared/components/select-content';\n\n/**\n * Select component that provides a customizable dropdown selection interface.\n * Implements ControlValueAccessor for form integration.\n */\n@Component({\n selector: 'b-select',\n template: `<ng-content />`,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Select),\n multi: true,\n },\n ],\n host: {\n '[class.b-select-size-sm]': 'size() === \"sm\"',\n '[class.b-select-size-md]': 'size() === \"md\"',\n '[class.b-select-size-lg]': 'size() === \"lg\"',\n },\n})\nexport class Select implements ControlValueAccessor, OnInit {\n /**\n * Reference to the overlay directive instance.\n * Used to control the dropdown overlay for the select component.\n */\n readonly overlay = contentChild(ConnectedOverlay);\n\n /**\n * Reference to the select trigger component.\n * Used to handle trigger events (click, keydown) for opening/closing the select.\n */\n readonly selectTrigger = contentChild(SelectTrigger);\n\n /**\n * Reference to the select value component.\n * Used to display the selected value(s).\n */\n readonly selectValue = contentChild(SelectValue);\n\n /**\n * Reference to the select content component.\n * Used to manage the list of selectable options.\n */\n readonly selectContent = contentChild(SelectContent);\n\n /**\n * Input signal for the size of the select component.\n * Can be 'sm', 'md', or 'lg'. Default is 'md'.\n */\n readonly size = input<'sm' | 'md' | 'lg'>('md');\n\n /**\n * Input signal for a function to display the selected value(s).\n * This function receives the value array and returns a string for display.\n */\n readonly displayWith = input.required<(value: string[]) => string>();\n\n /**\n * Signal holding the current selected value(s).\n */\n readonly value = signal<string[]>([]);\n\n /**\n * Initializes effects for value changes and content width adjustment.\n */\n constructor() {\n effect(() => {\n this.handleValueChanges();\n this.handleSelectContentWidth();\n });\n }\n\n /**\n * Subscribes to value changes from the select content and updates the model.\n * Closes the overlay if not in multiple selection mode.\n */\n handleValueChanges(): void {\n this.selectContent()?.changeValueEmitter.subscribe((value: string[]) => {\n this.onChange(value);\n if (!this.selectContent()?.listBox.multiple) {\n this.overlay()?.closeOverlay();\n }\n this.onTouched();\n });\n }\n\n /**\n * Sets the minimum width of the select content to match the trigger width.\n */\n handleSelectContentWidth(): void {\n const selectContentEl = this.selectContent()?.el.nativeElement;\n if (selectContentEl) {\n selectContentEl.style.minWidth = `${\n this.selectTrigger()?.el.nativeElement.offsetWidth\n }px`;\n }\n }\n\n /**\n * Angular lifecycle hook. Sets up event handlers for overlay and trigger interactions.\n */\n ngOnInit(): void {\n this.handleTriggerClicks();\n this.handleOverlayAttached();\n this.handleOverlayDetached();\n this.handleOverlayOutsideClick();\n this.handleOverlayBackdropClick();\n this.handlePanelSizeClass();\n }\n\n /**\n * Handles clicks and keydown events on the select trigger to toggle the overlay.\n */\n handleTriggerClicks(): void {\n this.selectTrigger()!.buttonClicked.subscribe(() => {\n this.overlay()?.toggleOverlay();\n });\n }\n\n /**\n * Handles overlay attachment event. Selects current values and focuses the content.\n */\n handleOverlayAttached(): void {\n this.overlay()?.attachEmitter.subscribe(() => {\n if (this.value().length === 0) {\n this.selectContent()?.el.nativeElement.focus();\n return;\n }\n\n this.value().forEach(val => {\n this.selectContent()?.listBox?.selectValue(val);\n\n // Focus the selected option\n this.selectContent()\n ?.options()\n .find(opt => opt.value === val)\n ?.focus();\n });\n });\n }\n\n /**\n * Handles overlay detachment event. Closes the overlay.\n */\n handleOverlayDetached(): void {\n this.overlay()?.detachEmitter.subscribe(() => {\n this.overlay()?.closeOverlay();\n });\n }\n\n /**\n * Handles outside click event on the overlay. Closes the overlay.\n */\n handleOverlayOutsideClick(): void {\n this.overlay()?.outsideClickEmitter.subscribe(() => {\n this.overlay()?.closeOverlay();\n });\n }\n\n /**\n * Handles backdrop click event on the overlay. Closes the overlay.\n */\n handleOverlayBackdropClick(): void {\n this.overlay()?.backdropClickEmitter.subscribe(() => {\n this.overlay()?.closeOverlay();\n });\n }\n\n /**\n * Sets the panel size class on the overlay based on the select size input.\n */\n handlePanelSizeClass(): void {\n this.overlay()!.cdkConnectedOverlay.panelClass = `b-select-size-${this.size()}`;\n }\n\n // Control value accessor methods\n\n /**\n * Writes a new value to the select component.\n * @param value - The new value array to set.\n */\n writeValue(value: string[]): void {\n this.setValue(value);\n }\n\n /**\n * Callback for value changes. Set by registerOnChange.\n */\n private onChange: (value: string[]) => void = () => undefined;\n\n /**\n * Registers a callback function to be called when the value changes.\n * @param fn - The callback function.\n */\n registerOnChange(fn: (value: string[]) => void): void {\n this.onChange = (val: string[]) => {\n fn(val);\n this.setValue(val);\n };\n }\n\n /**\n * Callback for touch events. Set by registerOnTouched.\n */\n private onTouched: () => void = () => undefined;\n\n /**\n * Registers a callback function to be called when the component is touched.\n * @param fn - The callback function.\n */\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n /**\n * Sets the disabled state of the select trigger.\n * @param isDisabled - Whether the select should be disabled.\n */\n setDisabledState?(isDisabled: boolean): void {\n this.selectTrigger()?.disabled.set(isDisabled);\n }\n\n /**\n * Sets the value signal and updates the display value.\n * @param value - The new value array to set.\n */\n setValue(value: string[]): void {\n this.value.set(value);\n this.selectValue()?.content.set(this.displayWith()(value));\n }\n}\n","import { CdkOption } from '@angular/cdk/listbox';\nimport { Component, ElementRef, inject } from '@angular/core';\n\n/**\n * Component representing an individual option in a select or combobox.\n * This component integrates with Angular CDK Option to manage the option's state and behavior.\n */\n@Component({\n selector: 'li[b-option]',\n imports: [],\n template: `<ng-content />`,\n hostDirectives: [\n {\n directive: CdkOption,\n inputs: ['cdkOption: value', 'cdkOptionDisabled: disabled'],\n },\n ],\n})\nexport class Option {\n /**\n * The `ElementRef` of the option.\n * This provides direct access to the DOM element of the option.\n */\n el = inject(ElementRef);\n\n /**\n * The `CdkOption` instance associated with this option.\n * This provides methods and properties for managing the option's state, such as selection and value.\n */\n cdkOption = inject(CdkOption);\n}\n","import { Directive, ElementRef, inject, OnInit } from '@angular/core';\n\n/**\n * Adds automatic focus and blur behavior to a select filter input element.\n *\n * Applies focus on initialization and refocuses on blur events.\n */\n@Directive({\n selector: '[bSelectFilter]',\n host: {\n '(blur)': 'el.nativeElement.focus()',\n },\n})\nexport class SelectFilter implements OnInit {\n /**\n * Reference to the host DOM element.\n */\n el = inject(ElementRef);\n\n /**\n * Sets focus to the host element when the directive initializes.\n */\n ngOnInit(): void {\n this.el.nativeElement.focus();\n }\n}\n","/**\n * Spinner component for loading indicators.\n *\n * Displays an animated spinner SVG. The size can be adjusted for use in buttons or standalone.\n */\nimport { Component, computed, input } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideLoader, lucideLoaderCircle } from '@ng-icons/lucide';\n\n@Component({\n selector: 'b-spinner',\n imports: [NgIcon],\n providers: [provideIcons({ lucideLoader, lucideLoaderCircle })],\n template: `\n <ng-icon\n [name]=\"type() === 'bars' ? 'lucideLoader' : 'lucideLoaderCircle'\"\n color=\"currentColor\"\n [size]=\"sizeInPx() + 'px'\" />\n `,\n styles: [\n `\n :host {\n animation: b-spinner-rotate 1s linear infinite;\n }\n\n @keyframes b-spinner-rotate {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n `,\n ],\n})\nexport class Spinner {\n /**\n * Size of the spinner.\n *\n * - 'sm': Small (for compact UI, e.g. inside buttons)\n * - 'md': Medium (default)\n * - 'lg': Large (for standalone loading indicators)\n *\n * @default 'md'\n */\n readonly size = input<'sm' | 'md' | 'lg'>('md');\n\n /**\n * Computed size in pixels based on the size input.\n * - 'sm': 16px\n * - 'md': 20px\n * - 'lg': 28px\n */\n readonly sizeInPx = computed(() => {\n switch (this.size()) {\n case 'sm':\n return 16;\n case 'md':\n return 20;\n case 'lg':\n return 28;\n default:\n return 20;\n }\n });\n\n /**\n * Type of spinner: 'bars' (default) or 'circle'.\n *\n * - 'bars': classic spinner with bars\n * - 'circle': circular spinner\n *\n * @default 'bars'\n */\n readonly type = input<'bars' | 'circle'>('bars');\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n inject,\n input,\n output,\n signal,\n} from '@angular/core';\n\n@Component({\n selector: 'input[b-switch]',\n template: ``,\n host: {\n '[attr.role]': 'switch',\n '[attr.checked]': 'value()',\n '[attr.aria-checked]': 'value()',\n '(click)': 'toggleValue()',\n '[class.b-switch-size-sm]': 'size() === \"sm\"',\n '[class.b-switch-size-md]': 'size() === \"md\"',\n '[class.b-switch-size-lg]': 'size() === \"lg\"',\n '(keydown.enter)': 'toggleValue()',\n '(keydown.arrowleft)': 'setValue(false)',\n '(keydown.arrowright)': 'setValue(true)',\n },\n})\nexport class SwitchComponent implements AfterViewInit {\n /**\n * Value of the switch.\n */\n readonly value = signal<boolean>(false);\n\n /**\n * The size of the switch.\n */\n readonly size = input<'sm' | 'md' | 'lg'>('md');\n\n /**\n * Reference to the switch element.\n */\n el = inject(ElementRef);\n\n /**\n * Event emitted when the value changes.\n */\n valueChange = output<boolean>();\n\n /**\n * Initializes the switch value after the view is initialized.\n */\n ngAfterViewInit() {\n this.value.set(this.el.nativeElement.checked);\n }\n\n /**\n * Toggles the value of the switch.\n */\n toggleValue() {\n const newValue = !this.value();\n this.value.set(newValue);\n this.valueChange.emit(newValue);\n }\n\n /**\n * Sets the value of the switch.\n * @param newValue - The new value to set.\n */\n setValue(newValue: boolean) {\n this.value.set(newValue);\n this.valueChange.emit(newValue);\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'b-table',\n templateUrl: './table.component.html',\n})\nexport class TableComponent {}\n","<ng-content select=\"[b-row-header]\" />\n<ng-content select=\"[b-row-subheader]\" />\n<div class=\"scroll-section\">\n <ng-content />\n</div>\n","import { Component, input } from '@angular/core';\nimport { NgClass } from '@angular/common';\n\n@Component({\n selector: 'b-row',\n imports: [NgClass],\n templateUrl: './row.component.html',\n})\nexport class RowComponent {\n readonly header = input<boolean>(false);\n readonly subheader = input<boolean>(false);\n readonly clickable = input<boolean>(false);\n readonly highlighted = input<boolean>(false);\n}\n","<div\n class=\"row-container\"\n [ngClass]=\"{\n clickable: clickable(),\n header: header(),\n subheader: subheader(),\n highlighted: highlighted(),\n }\">\n <ng-content />\n</div>\n","import { Component, computed, input } from '@angular/core';\nimport { NgStyle } from '@angular/common';\n\n@Component({\n selector: 'b-row-item',\n imports: [NgStyle],\n templateUrl: './row-item.component.html',\n})\nexport class RowItemComponent {\n readonly widthPx = input<number>();\n readonly alignedLeft = input<boolean>(false);\n readonly isHeader = input<boolean>(false);\n readonly style = computed(() => {\n return {\n width: `${this.widthPx()}px`,\n justifyContent: this.alignedLeft() ? 'flex-start' : 'center',\n };\n });\n}\n","<div [ngStyle]=\"style()\" class=\"row-item-container\">\n <ng-content />\n</div>\n","import { CdkOption } from '@angular/cdk/listbox';\nimport { Component, inject } from '@angular/core';\n\n@Component({\n selector: 'b-tab',\n imports: [],\n template: `<ng-content />`,\n hostDirectives: [\n {\n directive: CdkOption,\n inputs: ['cdkOption: value'],\n },\n ],\n})\nexport class Tab {\n /**\n * Reference to the injected CDK Option instance.\n */\n cdkOption = inject(CdkOption);\n}\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { CdkListbox } from '@angular/cdk/listbox';\nimport {\n Component,\n computed,\n contentChildren,\n inject,\n input,\n OnInit,\n} from '@angular/core';\nimport { Tab } from './tab';\n\n/**\n * Defines the available sizes for the button component.\n * @public\n */\ntype TabsSize = 'sm' | 'md' | 'lg';\n\n@Component({\n selector: 'b-tabs',\n imports: [],\n template: `<ng-content />`,\n hostDirectives: [CdkListbox],\n host: {\n '[class.b-tabs-size-sm]': 'size() === \"sm\"',\n '[class.b-tabs-size-md]': 'size() === \"md\"',\n '[class.b-tabs-size-lg]': 'size() === \"lg\"',\n '(keydown.arrowLeft)': 'previousTab()',\n '(keydown.arrowUp)': 'previousTab()',\n '(keydown.arrowRight)': 'nextTab()',\n '(keydown.arrowDown)': 'nextTab()',\n },\n})\nexport class Tabs implements OnInit {\n /**\n * Reference to the injected CDK Listbox instance.\n */\n cdkListbox = inject(CdkListbox);\n\n /**\n * The size of the tabs.\n *\n * @defaultValue 'md'\n */\n readonly size = input<TabsSize>('md');\n\n /**\n * Collection of child options within the listbox.\n */\n readonly tabs = contentChildren(Tab);\n\n /**\n * Collection of cdk options within the listbox.\n */\n readonly cdkOptions = computed(() => this.tabs().map(tab => tab.cdkOption));\n\n /**\n * Key manager for handling keyboard navigation and active descendant management.\n */\n readonly listKeyManager = computed(() =>\n new ActiveDescendantKeyManager(this.cdkOptions())\n .withWrap()\n .withHorizontalOrientation('ltr')\n );\n\n previousTab() {\n this.listKeyManager().setPreviousItemActive();\n }\n\n nextTab() {\n this.listKeyManager().setNextItemActive();\n }\n\n ngOnInit(): void {\n this.cdkListbox.useActiveDescendant = true;\n this.cdkListbox.orientation = 'horizontal';\n }\n}\n","import {\n Component,\n input,\n output,\n computed,\n model,\n inject,\n ElementRef,\n HostListener,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n/**\n * A sliding sheet component that can be positioned on either side of the screen.\n * The sheet slides in from the left or right edge and includes an overlay backdrop.\n *\n * @selector b-sheet\n */\n@Component({\n selector: 'b-sheet',\n standalone: true,\n imports: [CommonModule],\n template: `<button class=\"close-button\" (click)=\"isOpen.set(false)\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"0.094rem\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"lucide lucide-x\">\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </svg>\n </button>\n <ng-content /> `,\n host: {\n '[class.left]': 'side() === \"left\"',\n '[class.right]': 'side() === \"right\"',\n '[class.open]': 'isOpen()',\n },\n})\nexport class Sheet {\n /**\n * Indicates whether the sheet is open.\n */\n readonly isOpen = model(false);\n\n /**\n * Specifies the side of the screen where the sheet is positioned.\n * Can be either 'left' or 'right'.\n */\n readonly side = input<'left' | 'right'>('right');\n\n /**\n * Computes whether the sheet is positioned on the right side.\n */\n readonly isRight = computed(() => this.side() === 'right');\n\n /**\n * Event emitted when the sheet is closed.\n */\n closeSheet = output<void>();\n\n /**\n * Reference to the host element of the sheet.\n */\n private readonly el = inject(ElementRef);\n\n /**\n * Closes the sheet when clicking outside of it.\n *\n * @param event - The click event.\n */\n @HostListener('document:click', ['$event'])\n closeOnOutsideClick(event: Event) {\n if (this.isOpen() && !this.el.nativeElement.contains(event.target)) {\n this.isOpen.set(false);\n }\n }\n}\n","import {\n Component,\n input,\n output,\n model,\n signal,\n computed,\n inject,\n ElementRef,\n HostListener,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'b-drawer',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './drawer.component.html',\n host: {\n '[class.dragging]': 'isDragging()',\n '[style.transform]': 'transform()',\n '[class.open]': 'isOpen()',\n },\n})\nexport class Drawer {\n /**\n * Indicates whether the drawer is open.\n */\n readonly isOpen = model(false);\n\n /**\n * Event emitted when the drawer is closed.\n */\n closeSheet = output<void>();\n\n /**\n * Indicates whether a drag event is in progress.\n */\n private readonly isDragging = signal(false);\n\n /**\n * The starting Y position of the drag event.\n */\n readonly startY = signal(0);\n\n /**\n * The current Y translation of the drawer in percentage.\n */\n private readonly translateY = signal(100);\n\n /**\n * The threshold for closing the drawer, in percentage.\n */\n readonly closeThreshold = input(30);\n\n /**\n * The computed transform property for the drawer.\n */\n readonly transform = computed(() =>\n this.isDragging()\n ? `translateY(${this.translateY()}%)`\n : this.isOpen()\n ? 'translateY(0%)'\n : 'translateY(100%)'\n );\n\n /**\n * The reference to the drawer DOM element.\n */\n private readonly el = inject(ElementRef);\n\n /**\n * Closes the drawer when clicking outside of it.\n * @param event The click event.\n */\n @HostListener('document:click', ['$event'])\n closeOnOutsideClick(event: Event) {\n if (this.isOpen() && !this.el.nativeElement.contains(event.target)) {\n this.isOpen.set(false);\n this.closeSheet.emit();\n }\n }\n\n /**\n * Starts the drag event for the drawer.\n * @param event The pointer event that starts the drag.\n */\n startDrag(event: PointerEvent) {\n this.isDragging.set(true);\n this.startY.set(event.clientY);\n // Initialize translateY based on the current state:\n this.translateY.set(this.isOpen() ? 0 : 100);\n // Disable text selection for better UX\n document.body.style.userSelect = 'none';\n\n const move = (e: PointerEvent) => this.updateDrag(e.clientY);\n const end = () => {\n this.isDragging.set(false);\n this.snapToOpenOrClose();\n\n // Restore text selection\n document.body.style.userSelect = '';\n\n window.removeEventListener('pointermove', move);\n window.removeEventListener('pointerup', end);\n };\n\n window.addEventListener('pointermove', move, { passive: false });\n window.addEventListener('pointerup', end);\n }\n\n /**\n * Updates the drag position of the drawer.\n * @param clientY The current Y position of the pointer.\n */\n updateDrag(clientY: number) {\n const deltaPx = clientY - this.startY();\n const sheetHeight = this.el.nativeElement.offsetHeight;\n // Convert the pixel delta to a percentage relative to the sheet height\n const deltaPercent = (deltaPx / sheetHeight) * 100;\n // If open, the initial position is 0%; if closed, it is 100%\n const newPos = Math.min(\n 100,\n Math.max(0, this.isOpen() ? 0 + deltaPercent : 100 + deltaPercent)\n );\n this.translateY.set(newPos);\n }\n\n /**\n * Snaps the drawer to either open or closed state based on the drag position.\n */\n snapToOpenOrClose() {\n if (this.translateY() > this.closeThreshold()) {\n this.isOpen.set(false);\n } else {\n this.isOpen.set(true);\n }\n }\n}\n","<div class=\"drag-section\" (pointerdown)=\"startDrag($event)\">\n <div class=\"drag-indicator\"></div>\n</div>\n<ng-content />\n","import { Injectable, signal, computed, afterRenderEffect } from '@angular/core';\n\n/**\n * Interface that defines the breakpoints for different device types\n */\nexport interface DeviceBreakpoints {\n /** Maximum width for mobile devices in pixels */\n mobile: number;\n /** Maximum width for tablet devices in pixels */\n tablet: number;\n /** Maximum width for desktop devices in pixels */\n desktop: number;\n}\n\n/** Available device types */\nexport type DeviceType = 'mobile' | 'tablet' | 'desktop';\n\n/**\n * Service that handles responsive design functionality\n * Detects current device type based on window width and configurable breakpoints\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class ResponsiveManager {\n /** Signal that holds the breakpoint configuration */\n private readonly breakpoints = signal<DeviceBreakpoints>({\n mobile: 640,\n tablet: 1024,\n desktop: 1280,\n });\n\n /** Signal that holds the current window width */\n private readonly windowWidth = signal<number>(0);\n\n /**\n * Computed signal that returns the current device type based on window width\n * @returns The current device type ('mobile', 'tablet', or 'desktop')\n */\n readonly currentDevice = computed<DeviceType>(() => {\n const width = this.windowWidth();\n const breaks = this.breakpoints();\n\n if (width < breaks.mobile) {\n return 'mobile';\n }\n if (width < breaks.tablet) {\n return 'tablet';\n }\n return 'desktop';\n });\n\n constructor() {\n afterRenderEffect(() => {\n this.initializeWindowWidth();\n this.setupResizeListener();\n });\n }\n\n /**\n * Initializes the window width signal with the current window inner width\n * Only called in browser environment\n */\n private initializeWindowWidth(): void {\n this.windowWidth.set(window.innerWidth);\n }\n\n /**\n * Sets up the resize event listener to update window width\n * Only called in browser environment\n */\n private setupResizeListener(): void {\n window.addEventListener('resize', () => {\n this.windowWidth.set(window.innerWidth);\n });\n }\n\n /**\n * Updates the breakpoint configuration\n * @param newBreakpoints - Partial breakpoint configuration to update\n */\n updateBreakpoints(newBreakpoints: Partial<DeviceBreakpoints>): void {\n this.breakpoints.update(current => ({\n ...current,\n ...newBreakpoints,\n }));\n }\n}\n","import {\n Component,\n AfterContentInit,\n forwardRef,\n output,\n contentChildren,\n model,\n computed,\n} from '@angular/core';\nimport { ElementRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n/**\n * Component representing a One-Time Password (OTP) input group.\n *\n * This component manages a set of digit inputs for entering OTP codes, handling keyboard navigation,\n * paste events, and integration with Angular Forms via ControlValueAccessor.\n *\n * @example\n * <b-otp>\n * <input b-otp-digit />\n * <input b-otp-digit />\n * <input b-otp-digit />\n * <input b-otp-digit />\n * </b-otp>\n */\n@Component({\n selector: 'b-otp',\n template: `<ng-content />`,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Otp),\n multi: true,\n },\n ],\n})\n/**\n * Otp manages a group of digit inputs for OTP entry.\n * Implements keyboard navigation, paste handling, and ControlValueAccessor for Angular Forms.\n */\nexport class Otp implements AfterContentInit, ControlValueAccessor {\n /**\n * The visual size of the OTP inputs. Accepts 'sm', 'md', or 'lg'. Default is 'md'.\n */\n readonly size = model<'sm' | 'md' | 'lg'>('md');\n\n /**\n * Computed signal for the number of digit inputs.\n */\n readonly length = computed(() => this.digitInputs().length);\n\n /**\n * Emits the full OTP value when changed.\n */\n readonly otpChange = output<string>();\n\n /**\n * Query for all child digit inputs (OtpDigitDirective).\n */\n readonly digitInputs = contentChildren(OtpDigitDirective);\n\n /**\n * Internal array holding the current values of each digit input.\n */\n private values: string[] = [];\n\n /**\n * Model indicating whether the OTP input group is disabled.\n */\n readonly disabled = model(false);\n\n /**\n * Callback for propagating value changes to Angular Forms.\n */\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private onChange: (value: string) => void = () => {};\n\n /**\n * Callback for marking the component as touched in Angular Forms.\n */\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private onTouched: () => void = () => {};\n\n ngAfterContentInit() {\n // Inicializar listeners en los inputs hijos\n this.digitInputs().forEach((input, idx) => {\n const el = input.el.nativeElement;\n // maxLength y type se aplican por la directiva\n el.disabled = this.disabled();\n el.classList.remove('b-otp-size-sm', 'b-otp-size-md', 'b-otp-size-lg');\n el.classList.add(`b-otp-size-${this.size()}`);\n el.addEventListener('input', (event: Event) => {\n this.onInput(event, idx);\n });\n el.addEventListener('keydown', (event: KeyboardEvent) => {\n this.onKeyDown(event, idx);\n });\n el.addEventListener('paste', (event: ClipboardEvent) => {\n this.onPaste(event);\n });\n });\n this.resetValues();\n }\n\n /**\n * Handles input event for each digit input.\n * Moves focus to next input if value entered.\n *\n * @param event - Input event\n *\n * @param idx - Index of the digit input\n */\n private onInput(event: Event, idx: number) {\n const input = event.target as HTMLInputElement;\n const val = input.value;\n this.values[idx] = val;\n if (val && idx < this.length() - 1) {\n this.focusDigit(idx + 1);\n }\n this.emitValue();\n }\n\n /**\n * Handles keyboard navigation for digit inputs.\n * Supports Backspace, ArrowLeft, ArrowRight.\n *\n * @param event - Keyboard event\n *\n * @param idx - Index of the digit input\n */\n private onKeyDown(event: KeyboardEvent, idx: number) {\n const input = event.target as HTMLInputElement;\n if (event.key === 'Backspace') {\n if (!input.value && idx > 0) {\n this.focusDigit(idx - 1);\n }\n this.values[idx] = '';\n this.emitValue();\n } else if (event.key === 'ArrowLeft' && idx > 0) {\n this.focusDigit(idx - 1);\n } else if (event.key === 'ArrowRight' && idx < this.length() - 1) {\n this.focusDigit(idx + 1);\n }\n }\n\n /**\n * Handles paste event for the OTP input group.\n * Distributes pasted characters across digit inputs.\n *\n * @param event - Clipboard event\n */\n private onPaste(event: ClipboardEvent) {\n event.preventDefault();\n const paste = event.clipboardData?.getData('text') ?? '';\n const chars = paste.slice(0, this.length()).split('');\n chars.forEach((c, i) => {\n this.values[i] = c;\n const input = this.digitInputs()[i];\n if (input) {\n input.el.nativeElement.value = c;\n }\n });\n this.emitValue();\n this.focusDigit(chars.length - 1);\n }\n\n /**\n * Focuses the digit input at the given index.\n *\n * @param idx - Index of the digit input to focus\n */\n private focusDigit(idx: number) {\n const input = this.digitInputs()[idx];\n if (input) {\n input.el.nativeElement.focus();\n }\n }\n\n /**\n * Emits the full OTP value via output and ControlValueAccessor.\n */\n private emitValue() {\n const otp = this.values.join('');\n this.otpChange.emit(otp);\n this.onChange(otp);\n this.onTouched();\n }\n\n /**\n * Resets all digit input values to empty.\n */\n private resetValues() {\n this.values = Array(this.length()).fill('');\n this.digitInputs().forEach(input => {\n input.el.nativeElement.value = '';\n });\n }\n\n // ControlValueAccessor implementation\n\n /**\n * Writes a new value to the OTP input group.\n * Called by Angular Forms to update the value.\n *\n * @param value - New OTP value\n */\n writeValue(value: string): void {\n this.values = Array(this.length()).fill('');\n if (value) {\n value\n .slice(0, this.length())\n .split('')\n .forEach((c, i) => {\n this.values[i] = c;\n const input = this.digitInputs()[i];\n if (input) {\n input.el.nativeElement.value = c;\n }\n });\n } else {\n this.resetValues();\n }\n }\n\n /**\n * Registers a callback to be called when the value changes.\n *\n * @param fn - Callback function\n */\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n /**\n * Registers a callback to be called when the component is touched.\n *\n * @param fn - Callback function\n */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /**\n * Sets the disabled state of the OTP input group.\n * Called by Angular Forms to enable/disable the component.\n *\n * @param isDisabled - Boolean indicating disabled state\n */\n setDisabledState(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n this.digitInputs().forEach(input => {\n input.el.nativeElement.disabled = isDisabled;\n input.el.nativeElement.classList.remove(\n 'b-otp-size-sm',\n 'b-otp-size-md',\n 'b-otp-size-lg'\n );\n input.el.nativeElement.classList.add(`b-otp-size-${this.size()}`);\n });\n }\n}\n\n/**\n * Directive for individual OTP digit input.\n *\n * Apply to <input> elements to mark them as part of the OTP group.\n * Sets maxlength to 1 and provides access to the native element.\n */\nimport { Directive, inject } from '@angular/core';\n\n@Directive({\n selector: 'input[b-otp-digit]',\n host: {\n maxlength: '1',\n },\n})\nexport class OtpDigitDirective {\n /** Reference to the native input element. */\n el = inject(ElementRef<HTMLInputElement>);\n}\n","import { Component, input } from '@angular/core';\n\n/**\n * Defines the available visual variants for the badge component.\n * @public\n */\ntype BadgeVariant =\n | 'primary'\n | 'secondary'\n | 'ghost'\n | 'outlined'\n | 'destructive';\n\n/**\n * Defines the available sizes for the badge component.\n * @public\n */\ntype BadgeSize = 'sm' | 'md' | 'lg';\n\n@Component({\n selector: 'span[b-badge]',\n template: `<ng-content />`,\n host: {\n '[class.b-badge-variant-primary]': 'variant() === \"primary\"',\n '[class.b-badge-variant-secondary]': 'variant() === \"secondary\"',\n '[class.b-badge-variant-ghost]': 'variant() === \"ghost\"',\n '[class.b-badge-variant-outlined]': 'variant() === \"outlined\"',\n '[class.b-badge-variant-destructive]': 'variant() === \"destructive\"',\n '[class.b-badge-size-sm]': 'size() === \"sm\"',\n '[class.b-badge-size-md]': 'size() === \"md\"',\n '[class.b-badge-size-lg]': 'size() === \"lg\"',\n },\n})\nexport class Badge {\n /** The variant of the badge. */\n readonly variant = input<BadgeVariant>('primary');\n\n /** The size of the badge. */\n readonly size = input<BadgeSize>('md');\n}\n","import {\n Component,\n ElementRef,\n inject,\n model,\n output,\n AfterViewInit,\n signal,\n} from '@angular/core';\n\n@Component({\n selector: 'input[b-checkbox]',\n template: ``,\n host: {\n '[attr.role]': 'checkbox',\n '[attr.checked]': 'value()',\n '[attr.aria-checked]': 'value()',\n '(click)': 'toggleValue()',\n '(keydown.enter)': 'toggleValue()',\n '(keydown.space)': 'toggleValue()',\n '[class.b-checkbox-size-sm]': 'size() === \"sm\"',\n '[class.b-checkbox-size-md]': 'size() === \"md\"',\n '[class.b-checkbox-size-lg]': 'size() === \"lg\"',\n },\n})\nexport class Checkbox implements AfterViewInit {\n /**\n * Value of the checkbox.\n */\n readonly value = signal<boolean>(false);\n\n /**\n * Reference to the checkbox element.\n */\n el = inject(ElementRef);\n\n /**\n * Event emitted when the value changes.\n */\n valueChange = output<boolean>();\n\n /**\n * Tamaño del checkbox: 'sm', 'md', 'lg'.\n */\n readonly size = model<'sm' | 'md' | 'lg'>('md');\n\n /**\n * Initializes the checkbox value after the view is initialized.\n */\n ngAfterViewInit() {\n this.value.set(this.el.nativeElement.checked);\n }\n\n /**\n * Toggles the value of the checkbox.\n */\n toggleValue() {\n const newValue = !this.value();\n this.value.set(newValue);\n this.valueChange.emit(newValue);\n }\n}\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'textarea[b-textarea]',\n template: ``,\n host: {\n '[class.b-textarea-size-sm]': 'size() === \"sm\"',\n '[class.b-textarea-size-md]': 'size() === \"md\"',\n '[class.b-textarea-size-lg]': 'size() === \"lg\"',\n },\n})\nexport class TextareaComponent {\n /**\n * The size of the textarea.\n */\n readonly size = input<'sm' | 'md' | 'lg'>('md');\n}\n","import {\n Component,\n ElementRef,\n inject,\n model,\n input,\n AfterViewInit,\n} from '@angular/core';\n\n@Component({\n selector: 'input[b-range]',\n template: ``,\n host: {\n '[attr.value]': 'value()',\n '(input)': 'onInput($event)',\n '[class.b-range-size-sm]': 'size() === \"sm\"',\n '[class.b-range-size-md]': 'size() === \"md\"',\n '[class.b-range-size-lg]': 'size() === \"lg\"',\n },\n})\nexport class Range implements AfterViewInit {\n /**\n * Current value of the range.\n */\n readonly value = model<string>('0');\n\n /**\n * Size of the range slider (sm, md, lg)\n */\n readonly size = input<'sm' | 'md' | 'lg'>('md');\n\n /**\n * Reference to the range element.\n */\n el = inject(ElementRef);\n\n /**\n * Initializes the range value after the view is initialized.\n */\n ngAfterViewInit() {\n this.value.set(this.el.nativeElement.value);\n }\n\n /**\n * Handles the input event to update the value.\n */\n onInput(event: Event) {\n this.value.set((event.target as HTMLInputElement).value);\n }\n}\n","import { Directive, output } from '@angular/core';\n\n@Directive({\n selector: '[bTooltipTrigger]',\n host: {\n '(mouseover)': 'activeEmitter.emit()',\n '(focus)': 'activeEmitter.emit()',\n '(mouseout)': 'inactiveEmitter.emit()',\n '(blur)': 'inactiveEmitter.emit()',\n },\n})\nexport class TooltipTrigger {\n /**\n * Emits when the tooltip should become active/visible (mouseover or focus).\n */\n activeEmitter = output<void>();\n\n /**\n * Emits when the tooltip should become inactive/hidden (mouseout or blur).\n */\n inactiveEmitter = output<void>();\n}\n","import { Component, computed, effect, inject } from '@angular/core';\nimport { ConnectedOverlay } from '../../../../directives/connected-overlay';\n\n@Component({\n selector: 'b-tooltip-content',\n imports: [],\n template: `<ng-content />`,\n host: {\n '[animate.enter]': '\"b-tooltip-content-entering-\" + this.direction()',\n '[animate.leave]': '\"b-tooltip-content-leaving-\" + this.direction()',\n },\n})\nexport class TooltipContent {\n /**\n * Reference to the ConnectedOverlay to determine the direction of the overlay.\n */\n overlay = inject(ConnectedOverlay);\n\n /**\n * Computed signal representing the direction of the overlay.\n */\n readonly direction = computed(() => this.overlay.direction());\n\n constructor() {\n effect(() => console.log(this.direction()));\n }\n}\n","import {\n AfterContentInit,\n Component,\n contentChild,\n input,\n} from '@angular/core';\nimport { TooltipTrigger } from './shared/directives/tooltip-trigger';\nimport { TooltipContent } from './shared/components/tooltip-content';\nimport { ConnectedOverlay } from '../../directives/connected-overlay';\n\n/**\n * Defines the available visual variants for the tooltip component.\n * @public\n */\ntype TooltipVariant =\n | 'primary'\n | 'secondary'\n | 'ghost'\n | 'outlined'\n | 'destructive';\n\n/**\n * Defines the available sizes for the tooltip component.\n * @public\n */\ntype TooltipSize = 'sm' | 'md' | 'lg';\n\n@Component({\n selector: 'b-tooltip',\n template: `<ng-content />`,\n host: {\n '[class.b-tooltip-size-sm]': 'size() === \"sm\"',\n '[class.b-tooltip-size-md]': 'size() === \"md\"',\n '[class.b-tooltip-size-lg]': 'size() === \"lg\"',\n '[class.b-tooltip-variant-primary]': 'variant() === \"primary\"',\n '[class.b-tooltip-variant-secondary]': 'variant() === \"secondary\"',\n '[class.b-tooltip-variant-ghost]': 'variant() === \"ghost\"',\n '[class.b-tooltip-variant-outlined]': 'variant() === \"outlined\"',\n '[class.b-tooltip-variant-destructive]': 'variant() === \"destructive\"',\n },\n})\nexport class Tooltip implements AfterContentInit {\n /**\n * Reference to the overlay directive instance.\n * Used to control the dropdown overlay for the select component.\n *\n * @readonly\n */\n readonly overlay = contentChild(ConnectedOverlay);\n\n /**\n * Reference to the tooltip trigger directive.\n * Used to handle trigger events (click, keydown) for opening/closing the tooltip.\n *\n * @readonly\n */\n readonly tooltipTrigger = contentChild(TooltipTrigger);\n\n /**\n * Reference to the tooltip content component.\n * Used to manage the content of the tooltip.\n *\n * @readonly\n */\n readonly tooltipContent = contentChild(TooltipContent);\n\n /**\n * Input signal to set the size of the tooltip.\n * Can be 'sm', 'md', or 'lg'. Default is 'md'.\n *\n * @readonly\n * @defaultValue 'md'\n */\n readonly size = input<TooltipSize>('md');\n\n /**\n * Input signal to set the visual variant of the tooltip.\n * Can be 'primary', 'secondary', 'ghost', 'outlined', or 'destructive'.\n * Default is 'primary'.\n *\n * @readonly\n * @defaultValue 'primary'\n */\n readonly variant = input<TooltipVariant>('primary');\n /**\n * Lifecycle hook that is called after data-bound properties are initialized.\n * Sets up mouse event handling for the tooltip trigger.\n */\n ngAfterContentInit(): void {\n this.handleTooltipEvents();\n this.handlePanelClasses();\n }\n\n /**\n * Sets up subscriptions to mouse events from the tooltip trigger.\n * Logs messages to the console on mouse over and mouse out events.\n *\n * @private\n */\n private handleTooltipEvents(): void {\n this.tooltipTrigger()?.activeEmitter.subscribe(() => {\n this.overlay()?.openOverlay();\n });\n\n this.tooltipTrigger()?.inactiveEmitter.subscribe(() => {\n this.overlay()?.closeOverlay();\n });\n }\n\n /**\n * Sets the panel size class on the overlay based on the tooltip size input.\n */\n handlePanelClasses(): void {\n this.overlay()!.cdkConnectedOverlay.panelClass = [\n `b-tooltip-size-${this.size()}`,\n `b-variant-${this.variant()}`,\n ];\n }\n}\n","import {\n Component,\n computed,\n contentChild,\n input,\n signal,\n AfterViewInit,\n inject,\n ElementRef,\n} from '@angular/core';\nimport { ControlContainer, NgModel } from '@angular/forms';\n\n@Component({\n selector: 'input[b-color-picker]',\n imports: [],\n template: ``,\n host: {\n '[class.focused]': 'focused()',\n '[style.--value]': 'valueWithSingleQuotes()',\n '[style.--text-color]': 'textColor()',\n '[class.show-color]': 'showColor()',\n '(focus)': 'focused.set(true)',\n '(blur)': 'focused.set(false)',\n '(input)': 'value.set($event.target.value)',\n '[class.b-color-picker-size-sm]': 'size() === \"sm\"',\n '[class.b-color-picker-size-md]': 'size() === \"md\"',\n '[class.b-color-picker-size-lg]': 'size() === \"lg\"',\n },\n})\nexport class ColorPicker implements AfterViewInit {\n /**\n * Represents the value of the input.\n */\n readonly value = signal<string>('#ffffff');\n\n /**\n * Computed signal for the text color with single quotes.\n */\n readonly valueWithSingleQuotes = computed(() => {\n return `'${this.value()}'`;\n });\n\n /**\n * A computed signal that dynamically calculates the text color based on the resolved value.\n */\n readonly textColor = computed(() => {\n const backgroundColor = this.resolveColor(this.value());\n const hex = backgroundColor.replace('#', '');\n const r = parseInt(hex.substring(0, 2), 16);\n const g = parseInt(hex.substring(2, 4), 16);\n const b = parseInt(hex.substring(4, 6), 16);\n\n const luminance = 0.2126 * r + 0.7152 * g + 0.0722 * b;\n return luminance > 128 ? '#000000' : '#FFFFFF';\n });\n\n /**\n * Indicates whether the input is focused.\n */\n readonly focused = signal<boolean>(false);\n\n /**\n * A reference to the `NgModel` directive.\n */\n private readonly ngModel = contentChild<NgModel>(NgModel);\n\n /**\n * Indicates whether to show the color value.\n */\n readonly showColor = input<boolean>(true);\n\n /**\n * The size of the color picker input.\n */\n readonly size = input<'sm' | 'md' | 'lg'>('md');\n\n /**\n * A reference to the native element.\n */\n el = inject(ElementRef);\n\n /**\n * A reference to the control container.\n */\n private controlContainer = inject(ControlContainer, { optional: true });\n\n /**\n * Lifecycle hook that is called after the view has been initialized.\n * Sets the initial value of the picker and attaches event listeners.\n */\n ngAfterViewInit(): void {\n const formControl = this.controlContainer?.control?.get(\n this.el.nativeElement.getAttribute('formControlName')\n );\n\n // Inicializa el valor del signal\n this.value.set(\n this.el?.nativeElement.value || this.ngModel()?.value || '#000000'\n );\n\n // Suscríbete a los cambios del FormControl\n formControl?.valueChanges.subscribe((newValue: string) => {\n this.value.set(newValue || '#000000');\n });\n }\n\n /**\n * Resolves a color value, handling cases like `transparent` or `color-mix`.\n * @param value The input color value.\n * @returns A valid hexadecimal color.\n */\n resolveColor(value: string): string {\n // Handle `color-mix` values\n const colorMixMatch = value.match(\n /color-mix\\(in srgb, (#[0-9a-fA-F]{6}), (#[0-9a-fA-F]{6}) (\\d+)%\\)/\n );\n if (colorMixMatch) {\n const [, color1, color2, percentage] = colorMixMatch;\n return this.calculateColorMix(\n color1,\n color2,\n parseInt(percentage, 10) / 100\n );\n }\n\n // Handle `transparent` values\n if (value === 'transparent') {\n return '#ffffff'; // Default to white for transparency\n }\n\n return value; // Return the original value if no special cases\n }\n\n /**\n * Calculates the result of a `color-mix` operation.\n * @param color1 The first color in hexadecimal format.\n * @param color2 The second color in hexadecimal format.\n * @param percentage The mix percentage for the second color.\n * @returns The resulting mixed color in hexadecimal format.\n */\n calculateColorMix(\n color1: string,\n color2: string,\n percentage: number\n ): string {\n const hexToRgb = (hex: string) => {\n const bigint = parseInt(hex.replace('#', ''), 16);\n return {\n r: (bigint >> 16) & 255,\n g: (bigint >> 8) & 255,\n b: bigint & 255,\n };\n };\n\n const rgbToHex = (r: number, g: number, b: number) =>\n `#${((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)}`;\n\n const rgb1 = hexToRgb(color1);\n const rgb2 = hexToRgb(color2);\n\n const r = Math.round(rgb1.r * (1 - percentage) + rgb2.r * percentage);\n const g = Math.round(rgb1.g * (1 - percentage) + rgb2.g * percentage);\n const b = Math.round(rgb1.b * (1 - percentage) + rgb2.b * percentage);\n\n return rgbToHex(r, g, b);\n }\n}\n","import { CdkDrag, CdkDragHandle } from '@angular/cdk/drag-drop';\nimport {\n Component,\n contentChild,\n inject,\n model,\n OnInit,\n output,\n} from '@angular/core';\nimport { Tree } from '../../../tree';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideGripVertical } from '@ng-icons/lucide';\n\n/**\n * Represents a tree node component that can be extended, collapsed,\n * and optionally supports drag-and-drop functionality.\n */\n@Component({\n selector: 'b-tree-node',\n imports: [CdkDragHandle, NgIcon],\n template: `<section>\n @if (!node.disabled) {\n <ng-icon\n name=\"lucideGripVertical\"\n size=\"16\"\n color=\"currentColor\"\n cdkDragHandle />\n }\n <div\n class=\"projected-content\"\n (click)=\"nestedTree() && handleExtension()\"\n (keydown.enter)=\"nestedTree() && handleExtension()\"\n (keydown.space)=\"nestedTree() && handleExtension()\"\n role=\"button\"\n tabindex=\"0\">\n <ng-content />\n </div>\n @if (nestedTree()) {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n }\n </section>\n @if (nestedTree() && extended()) {\n <div class=\"nested\">\n <ng-content select=\"b-tree\" />\n </div>\n } `,\n hostDirectives: [\n {\n directive: CdkDrag,\n inputs: ['cdkDragDisabled: disabled'],\n },\n ],\n providers: [\n provideIcons({\n lucideGripVertical,\n }),\n ],\n})\nexport class TreeNode implements OnInit {\n /**\n * Indicates whether the node is extended (expanded).\n */\n readonly extended = model(false);\n\n /**\n * Reference to the `CdkDrag` directive for drag-and-drop functionality.\n */\n protected node = inject(CdkDrag);\n\n /**\n * Reference to a nested `Tree` component, if present.\n */\n readonly nestedTree = contentChild(Tree);\n\n /**\n * Emits an event when the node is closed.\n */\n closeEmitter = output<void>();\n\n /**\n * Lifecycle hook that is called after the component is initialized.\n */\n ngOnInit(): void {\n this.node.lockAxis = 'y';\n }\n\n /**\n * Updates the disabled state of the node.\n * @param disabled - Whether the node should be disabled.\n */\n handleNodeDisability(disabled: boolean): void {\n this.node.disabled = disabled;\n }\n\n /**\n * Toggles the extended (expanded) state of the node.\n * Emits a close event if the node is collapsed and contains a nested tree.\n */\n handleExtension(): void {\n const isExtended = this.extended();\n this.extended.set(!isExtended);\n\n if (isExtended && this.nestedTree()) {\n this.closeEmitter.emit();\n }\n }\n}\n","import {\n CdkDragDrop,\n CdkDropList,\n CdkDropListGroup,\n} from '@angular/cdk/drag-drop';\nimport {\n Component,\n contentChildren,\n effect,\n inject,\n input,\n OnInit,\n output,\n} from '@angular/core';\nimport { TreeNode } from './shared/components/tree-node/tree-node';\n\n/**\n * Represents a tree component that supports drag-and-drop functionality\n * and manages nested tree nodes.\n */\n@Component({\n selector: 'b-tree',\n template: `<ng-content />`,\n host: {\n '(cdkDropListDropped)': 'dropEmitter.emit($event)',\n },\n hostDirectives: [\n {\n directive: CdkDropList,\n inputs: ['id', 'cdkDropListConnectedTo: connectedTo'],\n outputs: ['cdkDropListDropped'],\n },\n CdkDropListGroup,\n ],\n})\nexport class Tree implements OnInit {\n /**\n * Determines whether the tree is draggable.\n */\n readonly draggable = input(false);\n\n /**\n * Reference to the `CdkDropList` directive used for drag-and-drop.\n */\n private tree = inject(CdkDropList);\n\n /**\n * Collection of nested `TreeNode` components.\n */\n private readonly nestedNodes = contentChildren(TreeNode);\n\n /**\n * Determines whether to close nodes recursively.\n */\n readonly closeRecursively = input(false);\n\n /**\n * Emits an event when a drop occurs in the tree.\n */\n dropEmitter = output<CdkDragDrop<string[]>>();\n\n /**\n * Initializes the `Tree` component and sets up reactive effects.\n */\n constructor() {\n effect(() => {\n this.handleTreeDisability();\n });\n }\n\n /**\n * Lifecycle hook that is called after the component is initialized.\n */\n ngOnInit(): void {\n if (this.closeRecursively()) this.handleCloseRecursively();\n }\n\n /**\n * Updates the disabled state of the tree and its nested nodes.\n */\n private handleTreeDisability(): void {\n const isDisabled = !this.draggable();\n this.tree.disabled = isDisabled;\n\n this.nestedNodes().forEach(node => {\n node.handleNodeDisability(isDisabled);\n });\n }\n\n /**\n * Sets up recursive closing behavior for nested nodes.\n */\n handleCloseRecursively(): void {\n this.nestedNodes().forEach(node => {\n node.closeEmitter.subscribe(() => {\n this.closeNestedNodes();\n });\n });\n }\n\n /**\n * Closes all nested nodes recursively.\n */\n closeNestedNodes(): void {\n this.nestedNodes().forEach(node => {\n node.extended.set(false);\n node.nestedTree()?.closeNestedNodes();\n });\n }\n}\n","import { CdkMenu } from '@angular/cdk/menu';\nimport { Component, input } from '@angular/core';\n\n/**\n * Represents a menu component that can optionally float.\n */\n@Component({\n selector: 'b-menu',\n template: `<ng-content />`,\n hostDirectives: [CdkMenu],\n host: {\n '[class.b-menu-size-sm]': \"size() === 'sm'\",\n '[class.b-menu-size-md]': \"size() === 'md'\",\n '[class.b-menu-size-lg]': \"size() === 'lg'\",\n },\n})\nexport class Menu {\n readonly size = input<'sm' | 'md' | 'lg'>('md');\n}\n","import { CdkMenuGroup } from '@angular/cdk/menu';\nimport { Component } from '@angular/core';\n\n/**\n * Represents a group of menu items.\n */\n@Component({\n selector: 'b-menu-group',\n template: `<ng-content />`,\n hostDirectives: [CdkMenuGroup],\n})\nexport class MenuGroup {}\n","import { Component } from '@angular/core';\n\n/**\n * Represents a label for a menu.\n */\n@Component({\n selector: 'b-menu-label',\n template: `<ng-content />`,\n})\nexport class MenuLabel {}\n","import { CdkMenuItem } from '@angular/cdk/menu';\nimport { Component, input } from '@angular/core';\n\n/**\n * Represents a menu item with support for typeahead and disabled states.\n */\n@Component({\n selector: 'button[b-menu-item]',\n template: `<ng-content />`,\n hostDirectives: [\n {\n directive: CdkMenuItem,\n inputs: [\n 'cdkMenuItemDisabled: disabled',\n 'cdkMenuitemTypeaheadLabel: typeaheadLabel',\n ],\n outputs: ['cdkMenuItemTriggered: triggered'],\n },\n ],\n host: {\n '[class.squared]': 'squared()',\n },\n})\nexport class MenuItem {\n /**\n * Input to set the squared state of the menu item.\n */\n readonly squared = input(false);\n}\n","import { CdkMenuItemCheckbox } from '@angular/cdk/menu';\nimport { Component, input } from '@angular/core';\n\n/**\n * Represents a checkbox menu item.\n */\n@Component({\n selector: 'button[b-menu-item-checkbox]',\n template: `<ng-content />`,\n hostDirectives: [\n {\n directive: CdkMenuItemCheckbox,\n inputs: [\n 'cdkMenuItemDisabled: disabled',\n 'cdkMenuitemTypeaheadLabel: typeaheadLabel',\n 'cdkMenuItemChecked: active',\n ],\n outputs: ['cdkMenuItemTriggered: triggered'],\n },\n ],\n host: {\n '[class.squared]': 'squared()',\n },\n})\nexport class MenuItemCheckbox {\n /**\n * Input to set the squared state of the menu item.\n */\n readonly squared = input(false);\n}\n","import { CdkMenuItemRadio } from '@angular/cdk/menu';\nimport { Component, input } from '@angular/core';\n\n/**\n * Represents a radio menu item.\n */\n@Component({\n selector: 'button[b-menu-item-radio]',\n template: `<ng-content />`,\n hostDirectives: [\n {\n directive: CdkMenuItemRadio,\n inputs: [\n 'cdkMenuItemDisabled: disabled',\n 'cdkMenuitemTypeaheadLabel: typeaheadLabel',\n 'cdkMenuItemChecked: active',\n ],\n outputs: ['cdkMenuItemTriggered: triggered'],\n },\n ],\n host: {\n '[class.squared]': 'squared()',\n },\n})\nexport class MenuItemRadio {\n /**\n * Input to set the squared state of the menu item.\n */\n readonly squared = input(false);\n}\n","import { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { Directive, inject, input, OnInit } from '@angular/core';\nimport { ConnectedPosition } from '@angular/cdk/overlay';\nimport { Position } from '../../../../../shared/types/position.type';\n\n@Directive({\n selector: '[menuTriggerFor]',\n hostDirectives: [\n {\n directive: CdkMenuTrigger,\n inputs: ['cdkMenuTriggerFor: menuTriggerFor'],\n },\n ],\n})\nexport class MenuTriggerDirective implements OnInit {\n trigger = inject(CdkMenuTrigger);\n readonly menuTriggerPosition = input<Position | Position[]>('right-top');\n readonly submenu = input(false);\n\n ngOnInit(): void {\n this.setPosition();\n }\n\n setPosition(): void {\n const positionMap: Record<Position, ConnectedPosition> = {\n 'top-left': {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: !this.submenu() ? -5 : undefined,\n },\n 'top-center': {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: !this.submenu() ? -5 : undefined,\n },\n 'top-right': {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetY: !this.submenu() ? -5 : undefined,\n },\n 'bottom-left': {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: !this.submenu() ? 5 : undefined,\n },\n 'bottom-center': {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetY: !this.submenu() ? 5 : undefined,\n },\n 'bottom-right': {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: !this.submenu() ? 5 : undefined,\n },\n 'left-top': {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: !this.submenu() ? -5 : undefined,\n },\n 'left-center': {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n offsetX: !this.submenu() ? -5 : undefined,\n },\n 'left-bottom': {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetX: !this.submenu() ? -5 : undefined,\n },\n 'right-top': {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n offsetX: !this.submenu() ? 5 : undefined,\n },\n 'right-center': {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n offsetX: !this.submenu() ? 5 : undefined,\n },\n 'right-bottom': {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetX: !this.submenu() ? 5 : undefined,\n },\n };\n\n const pos = this.menuTriggerPosition();\n if (Array.isArray(pos)) {\n this.trigger.menuPosition = pos.map(p => positionMap[p]);\n } else {\n this.trigger.menuPosition = [positionMap[pos]];\n }\n }\n}\n","import { Component, input, output } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideX } from '@ng-icons/lucide';\n\n@Component({\n selector: 'b-alert',\n template: `\n @if (icon()) {\n <div class=\"icon\">\n <ng-icon [name]=\"icon()!\" size=\"20\" color=\"currentColor\" />\n </div>\n }\n <div class=\"content\">\n @if (title()) {\n <div class=\"title\">{{ title() }}</div>\n }\n <div class=\"body\">\n <ng-content />\n </div>\n </div>\n @if (dismissible()) {\n <button class=\"close-btn\" (click)=\"dismiss()\" aria-label=\"Close\">\n <ng-icon name=\"lucideX\" size=\"16\" color=\"currentColor\" />\n </button>\n }\n `,\n imports: [NgIcon],\n host: {\n '[class]': 'type()',\n },\n providers: [provideIcons({ lucideX })],\n})\nexport class Alert {\n /** The type of the alert. */\n readonly type = input<'success' | 'error' | 'warning' | 'info'>('info');\n\n /** The title of the alert. */\n readonly title = input<string | null>(null);\n\n /** The icon name for ng-icon. */\n readonly icon = input<string | null>(null);\n\n /** Whether the alert is dismissible. */\n readonly dismissible = input(false);\n\n /** Event emitted when the alert is dismissed. */\n readonly dismissed = output<void>();\n\n dismiss(): void {\n this.dismissed.emit();\n }\n}\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { CdkListbox, CdkOption } from '@angular/cdk/listbox';\nimport {\n Component,\n computed,\n contentChildren,\n inject,\n input,\n OnInit,\n output,\n signal,\n} from '@angular/core';\n\n/**\n * Component representing a list of command options.\n * It uses Angular CDK's listbox and option utilities for accessibility and keyboard navigation.\n */\n@Component({\n selector: 'ul[b-command-options]',\n imports: [],\n template: `<ng-content />\n @if (options().length === 0) {\n <div class=\"no-options-message\">\n {{ noOptionsMessage() }}\n </div>\n }`,\n hostDirectives: [\n {\n directive: CdkListbox,\n inputs: ['cdkListboxValue', 'cdkListboxMultiple: multiple'],\n outputs: ['cdkListboxValueChange'],\n },\n ],\n host: {\n '[cdkListboxValue]': 'value()',\n '[cdkListboxMultiple]': 'multiple()',\n '(cdkListboxValueChange)': 'handleValueChange($event.value)',\n '(keydown.enter)': 'onEnter()',\n },\n})\nexport class CommandOptionsComponent implements OnInit {\n /**\n * Collection of child options within the listbox.\n */\n readonly options = contentChildren(CdkOption);\n\n /**\n * Key manager for handling keyboard navigation and active descendant management.\n */\n readonly listKeyManager = computed(() =>\n new ActiveDescendantKeyManager(this.options())\n .withWrap()\n .withVerticalOrientation()\n );\n\n /**\n * Signal representing the currently selected values.\n */\n readonly value = signal<string[]>([]);\n\n /**\n * Signal representing the currently highlighted option.\n */\n readonly highlightedOption = signal('1');\n\n /**\n * No options message displayed when there are no available options in the dropdown.\n */\n readonly noOptionsMessage = input<string>('');\n\n /**\n * Reference to the injected CDK Listbox instance.\n */\n cdkListbox = inject(CdkListbox);\n\n /**\n * Emitter for closing the command options.\n */\n closeEmitter = output();\n\n /**\n * Signal indicando si se permite selección múltiple.\n */\n readonly multiple = input<boolean>(false);\n\n /**\n * Lifecycle hook that initializes the component.\n * Enables the use of active descendant for the listbox.\n */\n ngOnInit(): void {\n this.cdkListbox.useActiveDescendant = true;\n }\n\n /**\n * Selects the currently active option and updates the listbox value.\n */\n selectOption(value?: string[]): void {\n const selectValue = value\n ? value\n : (this.listKeyManager().activeItem?.value ?? []);\n // If the selectValue is an empty array or contains only an empty string, clear the selection\n if (selectValue.length === 1 && selectValue[0] === '') {\n this.value.set([]);\n this.cdkListbox.value = [];\n this.closeEmitter.emit();\n return;\n }\n this.value.set(selectValue);\n this.cdkListbox.value = this.value();\n this.closeEmitter.emit();\n }\n\n /**\n * Moves the active item to the next option and updates the highlighted option.\n */\n nextOption(): void {\n this.listKeyManager().setNextItemActive();\n this.highlightedOption.set(this.listKeyManager().activeItem?.value ?? '');\n this.updateHighlightedOption();\n }\n\n /**\n * Moves the active item to the previous option and updates the highlighted option.\n */\n previousOption(): void {\n this.listKeyManager().setPreviousItemActive();\n this.highlightedOption.set(this.listKeyManager().activeItem?.value ?? '');\n this.updateHighlightedOption();\n }\n\n /**\n * Updates the CSS class of options to reflect the currently highlighted option.\n */\n updateHighlightedOption(): void {\n this.options().forEach(option => {\n if (option.value === this.highlightedOption()) {\n option.element.classList.add('cdk-option-highlighted');\n } else {\n option.element.classList.remove('cdk-option-highlighted');\n }\n });\n }\n\n handleValueChange(value: string[]) {\n // If the value is an empty array or contains a single empty string, clear the selection.\n if (value.length === 1 && value[0] === '') {\n this.value.set([]);\n if (!this.multiple()) {\n this.closeEmitter.emit();\n }\n return;\n }\n this.value.set(value);\n if (!this.multiple()) {\n this.closeEmitter.emit();\n }\n }\n\n onEnter() {\n if (!this.multiple()) {\n this.closeEmitter.emit();\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\n/**\n * Utility service for common operations.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class Utils {\n private debounceTimers = new Map<string, any>();\n\n /**\n * Executes a function after a delay, canceling any previous calls with the same key.\n *\n * @param key - Unique key to identify the debounce timer.\n * @param func - The function to debounce.\n * @param delay - The delay in milliseconds before executing the function.\n */\n debounce(key: string, func: () => void, delay: number): void {\n clearTimeout(this.debounceTimers.get(key));\n this.debounceTimers.set(key, setTimeout(func, delay));\n }\n\n /**\n * Cancels the debounce timer for a specific key.\n *\n * @param key - Unique key to identify the debounce timer.\n */\n stopDebounce(key: string): void {\n clearTimeout(this.debounceTimers.get(key));\n this.debounceTimers.delete(key);\n }\n}\n","import {\n Component,\n computed,\n contentChild,\n ElementRef,\n inject,\n input,\n signal,\n output,\n OnDestroy,\n} from '@angular/core';\nimport { CdkTrapFocus } from '@angular/cdk/a11y';\nimport { CommandOptionsComponent } from './command-options.component';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { Input } from '../input/input';\nimport { Utils } from '../../../shared/services/utils';\n\n/**\n * Component representing a command input with associated options.\n * It provides keyboard navigation and focus trapping for accessibility.\n */\n@Component({\n selector: 'b-command',\n imports: [Input, CdkTrapFocus],\n template: `<input\n type=\"text\"\n b-input\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"isDesktop()\"\n #trappedInput\n (keydown.arrowDown)=\"commandOptions()?.nextOption()\"\n (keydown.arrowUp)=\"commandOptions()?.previousOption()\"\n (keydown.enter)=\"commandOptions()?.selectOption()\"\n (blur)=\"isDesktop() && trappedInput.el.nativeElement.focus()\"\n (input)=\"onInput($event)\" />\n <ng-content />`,\n host: {\n '[style.maxHeight]': 'maxHeight()',\n },\n})\nexport class CommandComponent implements OnDestroy {\n /**\n * Reference to the child `CommandOptionsComponent` if present.\n * Used to interact with the options for navigation and selection.\n */\n readonly commandOptions = contentChild(CommandOptionsComponent);\n\n /**\n * Input representing the maximum height of the component.\n * This can be used to control the visual appearance of the command component.\n */\n readonly maxHeight = input('300px');\n\n /**\n * Computed signal representing the selected value from the command options.\n * This is linked to the value of the `CommandOptionsComponent`.\n */\n readonly value = computed(() => this.commandOptions()?.value());\n\n /**\n * Computed signal representing the options available in the command options.\n * This is linked to the options of the `CommandOptionsComponent`.\n */\n readonly options = computed(() => this.commandOptions()?.options());\n\n /**\n * Reference to the BreakpointObserver service for responsive design.\n */\n breakpointObserver = inject(BreakpointObserver);\n\n /**\n * Signal representing whether the current viewport is desktop or not.\n * This is determined by checking if the Handset breakpoint is matched.\n */\n readonly isDesktop = signal(\n !this.breakpointObserver.isMatched(Breakpoints.Handset)\n );\n\n /**\n * Reference to the host element of the component.\n * This provides access to the DOM element of the command component.\n */\n el = inject(ElementRef);\n\n /**\n * Output that emits the current input value.\n */\n readonly inputValueChange = output<string>();\n\n /**\n * Input to control debounce time (ms) for valueChange emission.\n */\n readonly debounce = input(0);\n\n /**\n * Reference to the Utils for debounce logic.\n */\n private utils = inject(Utils);\n\n /**\n * Unique key for debounce timer.\n */\n private readonly debounceKey = 'command-input';\n\n /**\n * Handler for input event, emits value with debounce if set.\n */\n onInput(event: Event) {\n const value = (event.target as HTMLInputElement).value;\n const debounceMs = this.debounce();\n if (debounceMs && debounceMs > 0) {\n this.utils.debounce(\n this.debounceKey,\n () => this.inputValueChange.emit(value),\n debounceMs\n );\n } else {\n this.inputValueChange.emit(value);\n }\n }\n\n ngOnDestroy() {\n this.utils.stopDebounce(this.debounceKey);\n }\n}\n","import { CdkOverlayOrigin } from '@angular/cdk/overlay';\nimport { Directive, ElementRef, inject } from '@angular/core';\n\n/**\n * Directive to mark an element as a trigger for an overlay.\n * Integrates with Angular CDK's `CdkOverlayOrigin` to provide\n * a reference point for overlay positioning.\n */\n@Directive({\n selector: '[bOverlayOrigin]',\n hostDirectives: [CdkOverlayOrigin],\n exportAs: 'bOverlayOrigin',\n})\nexport class OverlayOrigin {\n /**\n * Reference to the `CdkOverlayOrigin` instance.\n * Used as the origin point for overlay positioning.\n */\n trigger = inject(CdkOverlayOrigin);\n\n /**\n * Reference to the `ElementRef` of the host element.\n * This is used to access the native DOM element.\n */\n el = inject(ElementRef);\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'b-input-group',\n template: `<ng-content />`,\n})\nexport class InputGroup {}\n","import {\n Component,\n inject,\n OnInit,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { CdkPortalOutlet } from '@angular/cdk/portal';\nimport { CdkDialogContainer, DialogRef } from '@angular/cdk/dialog';\nimport { DialogConfig, DialogManager } from '../../services/dialog-manager';\n\n/** Dialog content container that renders projected portal content for a dialog instance.\n *\n * @remarks Extends CdkDialogContainer to integrate with Angular CDK dialog infrastructure.\n */\n@Component({\n selector: 'b-dialog-content',\n template: `<ng-template cdkPortalOutlet />`,\n encapsulation: ViewEncapsulation.None,\n imports: [CdkPortalOutlet],\n host: {\n '[class.leaving]': 'leaving()',\n },\n})\nexport class DialogContent extends CdkDialogContainer implements OnInit {\n /** Reference to the active dialog instance used to control lifecycle and closing. */\n dialogRef = inject(DialogRef);\n\n /** Service that orchestrates opening and closing of dialog instances. */\n dialogManager = inject(DialogManager);\n\n /** Tracks whether the dialog is in its leaving (closing) animation state. */\n readonly leaving = signal(false);\n\n /** Initializes the dialog content component by calling the superclass constructor. */\n constructor() {\n super();\n }\n\n /** Initializes component logic and subscribes to dialog events. */\n ngOnInit(): void {\n this.handleDialogEvents();\n }\n\n /** Handles all dialog behavioral event subscriptions based on provided configuration data. */\n handleDialogEvents(): void {\n const data = this._config?.data as DialogConfig | undefined;\n\n if (!data) {\n return;\n }\n\n this.handleBackdropClose(data);\n this.handleEscapeKeyClose(data);\n }\n\n /** Subscribes to backdrop clicks to close the dialog when enabled in config.\n *\n * @param data - Dialog configuration containing close behavior flags.\n */\n handleBackdropClose(data: DialogConfig): void {\n if (data.closeOnBackdropClick) {\n this.dialogRef.backdropClick.subscribe((): void => {\n this.dialogManager.closeDialog(this.dialogRef.id);\n });\n }\n }\n\n /** Subscribes to keydown events to close the dialog on Escape key when enabled.\n *\n * @param data - Dialog configuration containing close behavior flags.\n */\n handleEscapeKeyClose(data: DialogConfig): void {\n if (data.closeOnEscapeKey) {\n this.dialogRef.keydownEvents.subscribe((event: KeyboardEvent): void => {\n if (event.key === 'Escape') {\n this.dialogManager.closeDialog(this.dialogRef.id);\n }\n });\n }\n }\n}\n","import { Dialog } from '@angular/cdk/dialog';\nimport { inject, Injectable, TemplateRef } from '@angular/core';\nimport { DialogContent } from '../components/dialog/dialog-content';\nimport { Utils } from '../../shared/services/utils';\n\n/**\n * Represents the template and configuration registered for a dialog instance.\n */\nexport interface DialogData {\n /** Template reference rendered inside the dialog. */\n template: TemplateRef<any>;\n /** Configuration applied when opening the dialog. */\n config: DialogConfig;\n}\n\n/**\n * Configuration options that control dialog behavior and interaction.\n */\nexport interface DialogConfig {\n /** Whether a backdrop is displayed behind the dialog. */\n hasBackdrop: boolean;\n /** Whether focus is restored to the previously focused element after close. */\n restoreFocus: boolean;\n /** Delay in milliseconds before the dialog finishes closing. */\n closeDelay: number;\n /** Whether clicking the backdrop should request dialog closure. */\n closeOnBackdropClick: boolean;\n /** Whether pressing the Escape key should request dialog closure. */\n closeOnEscapeKey: boolean;\n}\n\n/**\n * Provides registration and lifecycle control for application dialogs.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DialogManager {\n /** Angular CDK dialog service used to manage overlay instances. */\n private readonly dialog = inject(Dialog);\n\n /** Utility service used for debounced close behavior. */\n private readonly utils = inject(Utils);\n\n /** Registry mapping dialog identifiers to their data. */\n private readonly dialogs = new Map<string, DialogData>();\n\n /**\n * Registers a dialog definition under a unique identifier, overwriting any existing entry.\n *\n * @param id - Unique identifier for the dialog.\n * @param data - Template and configuration to register.\n */\n registerDialog(id: string, data: DialogData): void {\n if (this.dialogs.has(id)) {\n console.warn(\n `[DialogManager] Dialog with id \"${id}\" is already registered. Overwriting.`\n );\n }\n this.dialogs.set(id, data);\n }\n\n /**\n * Removes a previously registered dialog definition.\n *\n * @param id - Identifier of the dialog to remove.\n */\n removeDialog(id: string): void {\n this.dialogs.delete(id);\n }\n\n /**\n * Opens a dialog using its registered template and configuration.\n *\n * @param id - Identifier of the dialog to open.\n * @throws Error - When no dialog is registered with the provided identifier.\n */\n openDialog(id: string): void {\n const dialogData = this.dialogs.get(id);\n if (!dialogData) {\n throw new Error(\n `[DialogManager] Dialog with id \"${id}\" not found. Ensure the bDialog directive is applied correctly.`\n );\n }\n this.dialog.open(dialogData.template, {\n id: id,\n disableClose: true,\n restoreFocus: dialogData.config.restoreFocus,\n backdropClass: 'b-dialog-content-backdrop',\n container: DialogContent,\n data: dialogData.config,\n });\n }\n\n /**\n * Closes a dialog by identifier applying any configured close delay.\n *\n * @param id - Identifier of the dialog to close.\n */\n closeDialog(id: string): void {\n const config = this.dialogs.get(id)?.config;\n if (!config) {\n console.warn(\n `[DialogManager] Attempted to close dialog with id \"${id}\", but no open dialog with that id was found.`\n );\n return;\n }\n const dialogRef = this.dialog.getDialogById(id);\n if (dialogRef) {\n const container = dialogRef.containerInstance as any;\n if (container && container.leaving) {\n container.leaving.set(true);\n }\n this.utils.debounce(\n 'close-dialog-' + id,\n () => {\n dialogRef.close();\n if (container && container.leaving) {\n container.leaving.set(false);\n }\n },\n config.closeDelay\n );\n } else {\n console.warn(\n `[DialogManager] Attempted to close dialog with id \"${id}\", but no open dialog with that id was found.`\n );\n }\n }\n\n /**\n * Closes all currently open dialogs immediately.\n */\n closeAllDialogs(): void {\n this.dialog.closeAll();\n }\n}\n","import {\n computed,\n Directive,\n inject,\n input,\n OnDestroy,\n OnInit,\n TemplateRef,\n output,\n} from '@angular/core';\nimport { DialogData, DialogManager } from '../services/dialog-manager';\n\n/**\n * Directive that registers and controls a dialog template instance.\n *\n * Registers itself in the {@link DialogManager} on init and exposes open/close APIs.\n */\n@Directive({\n selector: '[bDialog]',\n exportAs: 'bDialog',\n host: {\n '(keydown.escape)': 'closeOnEscapeKey() ? close() : null',\n },\n})\nexport class Dialog implements OnInit, OnDestroy {\n /**\n * Unique dialog identifier bound from the `bDialog` attribute.\n */\n readonly id = input.required<string>({ alias: 'bDialog' });\n\n /**\n * Whether the dialog renders a backdrop element.\n *\n * @defaultValue true\n */\n readonly hasBackdrop = input<boolean>(true);\n\n /**\n * Closes the dialog when the user clicks on the backdrop.\n *\n * @defaultValue true\n */\n readonly closeOnBackdropClick = input<boolean>(true);\n\n /**\n * Closes the dialog when the Escape key is pressed while focused inside.\n *\n * @defaultValue true\n */\n readonly closeOnEscapeKey = input<boolean>(true);\n\n /**\n * Restores focus to the previously focused element after the dialog closes.\n *\n * @defaultValue true\n */\n readonly restoreFocus = input<boolean>(true);\n\n /**\n * Delay in milliseconds before the dialog is fully closed (useful for animations).\n *\n * @defaultValue 150\n */\n readonly closeDelay = input<number>(150);\n\n /**\n * Computed dialog data passed to the service containing template and configuration.\n */\n readonly data = computed<DialogData>(() => ({\n template: this.templateRef,\n config: {\n hasBackdrop: this.hasBackdrop(),\n restoreFocus: this.restoreFocus(),\n closeDelay: this.closeDelay(),\n closeOnBackdropClick: this.closeOnBackdropClick(),\n closeOnEscapeKey: this.closeOnEscapeKey(),\n },\n }));\n\n /**\n * Delay in milliseconds before opening the dialog (for entrance timing / animations).\n *\n * @defaultValue 0\n */\n readonly openDelay = input<number>(0);\n\n /**\n * Event emitted after the dialog has been programmatically or automatically closed.\n */\n readonly closed = output<void>();\n\n /**\n * Reference to the dialog service handling registration and state.\n */\n private readonly dialogManager = inject(DialogManager);\n\n /**\n * Template reference representing the dialog content projected when opened.\n */\n private readonly templateRef = inject(TemplateRef<any>);\n\n /**\n * Lifecycle hook that registers the dialog with the dialog service.\n */\n ngOnInit() {\n this.dialogManager.registerDialog(this.id(), this.data());\n }\n\n /**\n * Opens the dialog via the dialog service using its identifier.\n */\n open(): void {\n this.dialogManager.openDialog(this.id());\n }\n\n /**\n * Closes the dialog and emits the `closed` output.\n */\n close(): void {\n this.dialogManager.closeDialog(this.id());\n this.closed.emit();\n }\n\n /**\n * Lifecycle hook that removes the dialog from the dialog service registry.\n */\n ngOnDestroy(): void {\n this.dialogManager.removeDialog(this.id());\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'b-card',\n template: ` <ng-content /> `,\n})\nexport class Card {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'b-card-header',\n template: ` <ng-content /> `,\n})\nexport class CardHeader {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'b-card-title',\n template: ` <ng-content /> `,\n})\nexport class CardTitle {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'b-card-description',\n template: ` <ng-content /> `,\n})\nexport class CardDescription {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'b-card-content',\n template: ` <ng-content /> `,\n})\nexport class CardContent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'b-card-footer',\n template: ` <ng-content /> `,\n})\nexport class CardFooter {}\n","import { Injectable, signal, computed, inject } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\n/**\n * Dictionary type for translations.\n * Maps language codes to key-value pairs of translation strings.\n */\nexport type TranslationDictionary = Record<string, Record<string, string>>;\n\n/**\n * Service for managing translations and language switching.\n *\n * @remarks\n * - Loads language files via HTTP.\n * - Provides reactive signals for language and dictionary.\n * - Use `translate(key)` to get the translated string for the current language.\n *\n * @example\n * ```typescript\n * translationManager.setLanguage('es');\n * translationManager.translate('home.title');\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class TranslationManager {\n /** Current language code. */\n private readonly _language = signal<string>('en');\n\n /** Dictionary of translations. */\n private readonly _dictionary = signal<TranslationDictionary>({});\n\n /** Reactive signal for current language. */\n readonly language = computed(() => this._language());\n\n /** Reactive signal for current dictionary. */\n readonly dictionary = computed(() => this._dictionary());\n\n /** HttpClient for loading language files. */\n private http = inject(HttpClient);\n\n /**\n * Sets the current language and loads its dictionary.\n * @param lang - Language code (e.g., 'en', 'es').\n */\n setLanguage(lang: string): void {\n this._language.set(lang);\n this.loadLanguage(lang);\n }\n\n /**\n * Sets the translation dictionary directly.\n * @param dict - Translation dictionary object.\n */\n setDictionary(dict: TranslationDictionary): void {\n this._dictionary.set(dict);\n }\n\n /**\n * Translates a key using the current language.\n * @param key - Dot-separated translation key (e.g., 'home.title').\n * @returns Translated string or the key if not found.\n */\n translate(key: string): string {\n const lang = this._language();\n const dict = this._dictionary();\n const value = this.resolveKey(dict[lang], key);\n return value ?? key;\n }\n\n /**\n * Resolves a dot-separated key in an object.\n * @param obj - Object to resolve key in.\n * @param key - Dot-separated key string.\n * @returns Value or undefined if not found.\n */\n private resolveKey(obj: any, key: string): string | undefined {\n if (!obj) return undefined;\n return key\n .split('.')\n .reduce(\n (acc, part) => (acc && acc[part] !== undefined ? acc[part] : undefined),\n obj\n );\n }\n\n /**\n * Loads a language file via HTTP and updates the dictionary.\n * @param lang - Language code to load.\n */\n loadLanguage(lang: string): void {\n this.http.get<Record<string, string>>(`/lang/${lang}.json`).subscribe({\n next: translations => {\n const dict = { ...this._dictionary() };\n dict[lang] = translations;\n this._dictionary.set(dict);\n },\n error: () => {\n // If loading fails, do not update the dictionary\n },\n });\n }\n}\n","import { Pipe, PipeTransform, inject, ChangeDetectorRef } from '@angular/core';\nimport { TranslationManager } from '../services/translation-manager';\n\n@Pipe({\n name: 'translate',\n pure: false,\n})\nexport class TranslatePipe implements PipeTransform {\n private translationManager = inject(TranslationManager);\n private cdr = inject(ChangeDetectorRef);\n private lastLang: string | undefined;\n\n transform(key: string): string {\n const lang = this.translationManager.language();\n if (lang !== this.lastLang) {\n this.lastLang = lang;\n this.cdr.markForCheck();\n }\n return this.translationManager.translate(key);\n }\n}\n","/*\n * Public API Surface of basis-ng\n */\n\n/* Theme Manager */\nexport * from './core/services/theme-manager';\n\n/* Button */\nexport * from './core/components/button/button';\nexport * from './core/components/button-group/button-group';\n\n/* Directives */\nexport * from './shared/directives/lazy-content.directive';\n\n/* Input */\nexport * from './core/components/input/input';\n\n/* Select */\nexport * from './core/components/select/select';\nexport * from './core/components/select/shared/components/select-trigger';\nexport * from './core/components/select/shared/components/select-value';\nexport * from './core/components/select/shared/components/select-content';\nexport * from './shared/components/option.component';\nexport * from './core/components/select/shared/directives/select-filter';\n\n/* Spinner */\nexport * from './core/components/spinner/spinner';\n\n/* Switch */\nexport * from './core/components/switch/switch';\n\n/* Table */\nexport * from './core/components/table/table.component';\nexport * from './core/components/table/components/row/row.component';\nexport * from './core/components/table/components/row/components/row-item/row-item.component';\n\n/* Tabs */\nexport * from './core/components/tabs/tabs';\nexport * from './core/components/tabs/tab';\n\n/* Sheet */\nexport * from './core/components/sheet/sheet';\n\n/* Drawer */\nexport * from './core/components/drawer/drawer.component';\n\n/* Responsive */\nexport * from './core/services/responsive-manager';\n\n/* OTP */\nexport * from './core/components/otp/otp';\n\n/* Badge */\nexport * from './core/components/badge/badge';\n\n/* Checkbox */\nexport * from './core/components/checkbox/checkbox';\n\n/* Textarea */\nexport * from './core/components/textarea/textarea';\n\n/* Range */\nexport * from './core/components/range/range';\n\n/* Badge */\nexport * from './core/components/badge/badge';\n\n/* Tooltip */\nexport * from './core/components/tooltip/tooltip';\nexport * from './core/components/tooltip/shared/directives/tooltip-trigger';\nexport * from './core/components/tooltip/shared/components/tooltip-content';\n\n/* Color Picker */\nexport * from './core/components/color-picker/color-picker';\n\n/* Tree */\nexport * from './core/components/tree/tree';\nexport * from './core/components/tree/shared/components/tree-node/tree-node';\n\n/* Menu */\nexport * from './core/components/menu/menu';\nexport * from './core/components/menu/shared/components/menu-group';\nexport * from './core/components/menu/shared/components/menu-label';\nexport * from './core/components/menu/shared/components/menu-item';\nexport * from './core/components/menu/shared/components/menu-item-checkbox';\nexport * from './core/components/menu/shared/components/menu-item-radio';\nexport * from './core/components/menu/shared/directives/menu-trigger.directive';\n\n/* Alert */\nexport * from './core/components/alert/alert';\n\n/* Command */\nexport * from './core/components/command/command.component';\nexport * from './core/components/command/command-options.component';\n/* Overlay */\nexport * from './core/directives/overlay-origin';\nexport * from './core/directives/connected-overlay';\n\n/* Input Group */\nexport * from './core/components/input-group/input-group';\n\n/* Dialog */\nexport * from './core/services/dialog-manager';\nexport * from './core/directives/dialog';\n\n/* Card */\nexport * from './core/components/card/card';\nexport * from './core/components/card/card-header';\nexport * from './core/components/card/card-title';\nexport * from './core/components/card/card-description';\nexport * from './core/components/card/card-content';\nexport * from './core/components/card/card-footer';\n\n/* Translation Manager */\nexport * from './core/services/translation-manager';\n\n// pipe\nexport * from './core/pipes/translate.pipe';\n\n/* Types */\n\n/* Position */\nexport * from './shared/types/position.type';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","Dialog"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"basis-ng-primitives.mjs","sources":["../../../projects/primitives/src/core/services/theme-manager.ts","../../../projects/primitives/src/core/components/button/button.ts","../../../projects/primitives/src/core/components/button-group/button-group.ts","../../../projects/primitives/src/shared/directives/lazy-content.directive.ts","../../../projects/primitives/src/core/components/input/input.ts","../../../projects/primitives/src/core/directives/connected-overlay.ts","../../../projects/primitives/src/core/components/select/shared/components/select-trigger.ts","../../../projects/primitives/src/core/components/select/shared/components/select-value.ts","../../../projects/primitives/src/core/components/select/shared/components/select-content.ts","../../../projects/primitives/src/core/components/select/select.ts","../../../projects/primitives/src/shared/components/option.component.ts","../../../projects/primitives/src/core/components/select/shared/directives/select-filter.ts","../../../projects/primitives/src/core/components/spinner/spinner.ts","../../../projects/primitives/src/core/components/switch/switch.ts","../../../projects/primitives/src/core/components/table/table.component.ts","../../../projects/primitives/src/core/components/table/table.component.html","../../../projects/primitives/src/core/components/table/components/row/row.component.ts","../../../projects/primitives/src/core/components/table/components/row/row.component.html","../../../projects/primitives/src/core/components/table/components/row/components/row-item/row-item.component.ts","../../../projects/primitives/src/core/components/table/components/row/components/row-item/row-item.component.html","../../../projects/primitives/src/core/components/tabs/tab.ts","../../../projects/primitives/src/core/components/tabs/tabs.ts","../../../projects/primitives/src/core/components/sheet/sheet.ts","../../../projects/primitives/src/core/components/drawer/drawer.component.ts","../../../projects/primitives/src/core/components/drawer/drawer.component.html","../../../projects/primitives/src/core/services/responsive-manager.ts","../../../projects/primitives/src/core/components/otp/otp.ts","../../../projects/primitives/src/core/components/badge/badge.ts","../../../projects/primitives/src/core/components/checkbox/checkbox.ts","../../../projects/primitives/src/core/components/textarea/textarea.ts","../../../projects/primitives/src/core/components/range/range.ts","../../../projects/primitives/src/core/components/tooltip/shared/directives/tooltip-trigger.ts","../../../projects/primitives/src/core/components/tooltip/shared/components/tooltip-content.ts","../../../projects/primitives/src/core/components/tooltip/tooltip.ts","../../../projects/primitives/src/core/components/color-picker/color-picker.ts","../../../projects/primitives/src/core/components/tree/shared/components/tree-node/tree-node.ts","../../../projects/primitives/src/core/components/tree/tree.ts","../../../projects/primitives/src/core/components/menu/menu.ts","../../../projects/primitives/src/core/components/menu/shared/components/menu-group.ts","../../../projects/primitives/src/core/components/menu/shared/components/menu-label.ts","../../../projects/primitives/src/core/components/menu/shared/components/menu-item.ts","../../../projects/primitives/src/core/components/menu/shared/components/menu-item-checkbox.ts","../../../projects/primitives/src/core/components/menu/shared/components/menu-item-radio.ts","../../../projects/primitives/src/core/components/menu/shared/directives/menu-trigger.directive.ts","../../../projects/primitives/src/core/components/alert/alert.ts","../../../projects/primitives/src/core/components/command/command-options.component.ts","../../../projects/primitives/src/shared/services/utils.ts","../../../projects/primitives/src/core/components/command/command.component.ts","../../../projects/primitives/src/core/directives/overlay-origin.ts","../../../projects/primitives/src/core/components/input-group/input-group.ts","../../../projects/primitives/src/core/components/dialog/dialog-content.ts","../../../projects/primitives/src/core/services/dialog-manager.ts","../../../projects/primitives/src/core/directives/dialog.ts","../../../projects/primitives/src/core/components/card/card.ts","../../../projects/primitives/src/core/components/card/card-header.ts","../../../projects/primitives/src/core/components/card/card-title.ts","../../../projects/primitives/src/core/components/card/card-description.ts","../../../projects/primitives/src/core/components/card/card-content.ts","../../../projects/primitives/src/core/components/card/card-footer.ts","../../../projects/primitives/src/core/services/translation-manager.ts","../../../projects/primitives/src/core/pipes/translate.pipe.ts","../../../projects/primitives/src/public-api.ts","../../../projects/primitives/src/basis-ng-primitives.ts"],"sourcesContent":["import {\n Injectable,\n Renderer2,\n RendererFactory2,\n inject,\n PLATFORM_ID,\n} from '@angular/core';\nimport { signal } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ThemeManager {\n /**\n * Signal representing the current theme.\n *\n * Possible values:\n * - `'light'`: Light theme.\n * - `'dark'`: Dark theme.\n * - `'auto'`: Automatically determine the theme.\n */\n readonly theme = signal<'light' | 'dark' | 'auto'>('auto');\n\n /**\n * Renderer2 instance for manipulating the DOM.\n * Used to set the `data-theme` attribute on the document root (`<html>`).\n */\n private renderer: Renderer2;\n\n /**\n * RendererFactory2 instance for creating Renderer2 instances.\n * Injected to create the renderer.\n */\n private rendererFactory = inject(RendererFactory2);\n\n /**\n * PLATFORM_ID token to identify the platform.\n */\n private platformId = inject(PLATFORM_ID);\n\n /**\n * Flag indicating whether the application is running in a browser.\n */\n private isBrowser = isPlatformBrowser(this.platformId);\n\n constructor() {\n this.renderer = this.rendererFactory.createRenderer(null, null);\n }\n\n /**\n * Applies the specified theme to the document root (`<html>`).\n *\n * @param theme - The theme to apply. Possible values:\n * - `'light'`: Apply the light theme.\n * - `'dark'`: Apply the dark theme.\n * - `'auto'`: Remove the theme attribute and let the system decide.\n */\n applyTheme(theme: 'light' | 'dark' | 'auto'): void {\n this.theme.set(theme);\n if (theme === 'auto') {\n this.removeTheme();\n return;\n }\n if (this.isBrowser) {\n // Safe DOM access only in browser\n this.renderer.setAttribute(document.documentElement, 'data-theme', theme);\n }\n }\n\n /**\n * Toggles the theme between `'light'` and `'dark'`.\n * If the current theme is `'light'`, it switches to `'dark'`, and vice versa.\n */\n toggleTheme(): void {\n this.applyTheme(this.theme() === 'light' ? 'dark' : 'light');\n }\n\n /**\n * Removes the `data-theme` attribute from the document body.\n * This is used when the theme is set to `'auto'`.\n */\n removeTheme(): void {\n if (this.isBrowser) {\n this.renderer.removeAttribute(document.documentElement, 'data-theme');\n }\n }\n}\n","import { Component, ElementRef, inject, input } from '@angular/core';\n\n/**\n * Defines the available visual variants for the button component.\n * @public\n */\ntype ButtonVariant =\n | 'primary'\n | 'secondary'\n | 'ghost'\n | 'outlined'\n | 'destructive';\n\n/**\n * Defines the available sizes for the button component.\n * @public\n */\ntype ButtonSize = 'sm' | 'md' | 'lg';\n\n/**\n * Button component for displaying a clickable button element with configurable variant, size, and shape.\n *\n * @public\n */\n@Component({\n selector: 'button[b-button]',\n template: ` <ng-content /> `,\n host: {\n '[class.b-button-variant-primary]': 'variant() === \"primary\"',\n '[class.b-button-variant-secondary]': 'variant() === \"secondary\"',\n '[class.b-button-variant-ghost]': 'variant() === \"ghost\"',\n '[class.b-button-variant-outlined]': 'variant() === \"outlined\"',\n '[class.b-button-variant-destructive]': 'variant() === \"destructive\"',\n '[class.b-button-size-sm]': 'size() === \"sm\"',\n '[class.b-button-size-md]': 'size() === \"md\"',\n '[class.b-button-size-lg]': 'size() === \"lg\"',\n '[class.b-button-squared]': 'squared()',\n },\n})\nexport class Button {\n /**\n * The visual variant of the button.\n *\n * @defaultValue 'primary'\n */\n readonly variant = input<ButtonVariant>('primary');\n\n /**\n * The size of the button.\n *\n * @defaultValue 'md'\n */\n readonly size = input<ButtonSize>('md');\n\n /**\n * If true, the button will have squared edges.\n *\n * @defaultValue false\n */\n readonly squared = input<boolean>(false);\n\n /**\n * Reference to the underlying DOM element.\n */\n el = inject(ElementRef);\n}\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'b-button-group',\n template: `<ng-content />`,\n host: {\n class: 'button-group',\n '[class.spaced]': 'spaced()',\n },\n})\nexport class ButtonGroup {\n /**\n * Whether the buttons should be spaced.\n *\n * @defaultValue false\n */\n readonly spaced = input<boolean>(false);\n}\n","import { Directive, inject, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[b-lazy]',\n standalone: true,\n})\nexport class LazyContentDirective {\n tpl = inject(TemplateRef);\n}\n","import {\n AfterViewInit,\n Component,\n computed,\n ElementRef,\n inject,\n input,\n} from '@angular/core';\nimport { NgModel } from '@angular/forms';\n\n@Component({\n selector: 'input[b-input]',\n template: ``,\n host: {\n '[type]': 'type()',\n '(input)': 'onInput($event)',\n '(blur)': 'onBlur($event)',\n '[class.b-input-size-sm]': 'size() === \"sm\"',\n '[class.b-input-size-md]': 'size() === \"md\"',\n '[class.b-input-size-lg]': 'size() === \"lg\"',\n },\n exportAs: 'bInput',\n})\nexport class Input implements AfterViewInit {\n /**\n * The type of the input.\n */\n readonly type = input<'text' | 'number' | 'password' | 'email'>('text');\n\n /**\n * The number of decimal places for number input.\n */\n readonly decimals = input<number>(2);\n\n /**\n * The type of number input (integer or decimal).\n */\n readonly numberType = input<'integer' | 'decimal'>('integer');\n\n /**\n * Whether the input type is number.\n */\n readonly isNumberType = computed(() => this.type() === 'number');\n\n /**\n * Reference to the input element.\n */\n readonly el = inject<ElementRef<HTMLInputElement>>(ElementRef);\n\n /**\n * Reference to the ngModel directive.\n */\n private ngModel = inject(NgModel, { optional: true });\n\n /**\n * The size of the input.\n */\n readonly size = input<'sm' | 'md' | 'lg'>('md');\n\n /**\n * After the view has been initialized, set the value of the select.\n */\n ngAfterViewInit(): void {\n const value = this.el.nativeElement.value || this.ngModel?.model;\n if (this.isNumberType()) {\n const formattedValue = this.formatNumber(value) || '';\n this.setValue(formattedValue);\n }\n }\n\n /**\n * Sets the value of the input element.\n * @param value The value to set.\n */\n setValue(value: string): void {\n this.el.nativeElement.value = value;\n }\n\n /**\n * Handles the input event.\n * @param event The input event.\n */\n onInput(event: Event): void {\n const target = event.target as HTMLInputElement;\n\n // If the input is not of number type, update the value and emit the value change event.\n if (!this.isNumberType()) {\n this.setValue(target.value);\n }\n }\n\n /**\n * The blur event handler.\n * @param event - The blur event.\n */\n onBlur(event: any): void {\n // If the input is of number type, format the value and emit the value change event.\n if (this.isNumberType()) {\n const formattedValue = this.formatNumber(event.target.value);\n this.setValue(formattedValue || '');\n }\n }\n\n /**\n * Formats the number value.\n * @param value - The value to format.\n * @returns The formatted value.\n */\n formatNumber(value: string | null) {\n if (value) {\n const numericValue = Number(value);\n return this.numberType() === 'integer'\n ? Math.round(numericValue).toString()\n : numericValue.toFixed(this.decimals());\n } else {\n return null;\n }\n }\n\n /**\n * Método público para disparar el formateo como si se hiciera blur.\n */\n blur(): void {\n if (this.isNumberType()) {\n const value = this.el.nativeElement.value;\n const formattedValue = this.formatNumber(value);\n this.setValue(formattedValue || '');\n }\n }\n}\n","import {\n CdkConnectedOverlay,\n ConnectedPosition,\n ConnectionPositionPair,\n Overlay,\n} from '@angular/cdk/overlay';\nimport {\n computed,\n Directive,\n effect,\n inject,\n input,\n linkedSignal,\n model,\n output,\n} from '@angular/core';\nimport { OverlayOrigin } from './overlay-origin';\nimport { Position } from '../../shared/types/position.type';\n\n/**\n * Directive to manage overlay behavior and positioning.\n * Integrates with Angular CDK's `CdkConnectedOverlay` to provide\n * flexible overlay positioning and triggering mechanisms.\n */\n@Directive({\n selector: '[bConnectedOverlay]',\n hostDirectives: [\n {\n directive: CdkConnectedOverlay,\n inputs: [\n 'cdkConnectedOverlayWidth: width',\n 'cdkConnectedOverlayMinWidth: minWidth',\n 'cdkConnectedOverlayBackdropClass: customBackdropClass',\n 'cdkConnectedOverlayPanelClass: panelClass',\n ],\n outputs: [\n 'detach: detach',\n 'attach: attach',\n 'overlayOutsideClick: outsideClick',\n 'backdropClick: backdropClick',\n 'positionChange: positionChange',\n ],\n },\n ],\n host: {\n '(positionChange)': 'connectedPositionPair.set($event.connectionPair)',\n '(detach)': 'detachEmitter.emit()',\n '(attach)': 'attachEmitter.emit()',\n '(outsideClick)': 'outsideClickEmitter.emit()',\n '(backdropClick)': 'backdropClickEmitter.emit()',\n },\n})\nexport class ConnectedOverlay {\n /**\n * Controls whether the overlay is open.\n * @default false\n */\n readonly open = model(false);\n\n /**\n * The trigger directive that activates the overlay.\n * This input is required.\n */\n readonly trigger = input.required<OverlayOrigin>();\n\n /**\n * A computed map of positions to their corresponding `ConnectedPosition` configurations.\n */\n readonly positionsMap = computed<Record<Position, ConnectedPosition>>(() => ({\n 'top-left': {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetX: 0,\n offsetY: -4,\n },\n 'top-center': {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetX: 0,\n offsetY: -4,\n },\n 'top-right': {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetX: 0,\n offsetY: -4,\n },\n 'bottom-left': {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetX: 0,\n offsetY: 4,\n },\n 'bottom-center': {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetX: 0,\n offsetY: 4,\n },\n 'bottom-right': {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: 0,\n offsetY: 4,\n },\n 'left-top': {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: -4,\n offsetY: 0,\n },\n 'left-center': {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n offsetX: -4,\n offsetY: 0,\n },\n 'left-bottom': {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetX: -4,\n offsetY: 0,\n },\n 'right-top': {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n offsetX: 4,\n offsetY: 0,\n },\n 'right-center': {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n offsetX: 4,\n offsetY: 0,\n },\n 'right-bottom': {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetX: 4,\n offsetY: 0,\n },\n }));\n\n /**\n * List of positions for the overlay.\n * @default ['bottom-left']\n */\n readonly positions = input<Position[]>(['bottom-left']);\n\n /**\n * Controls whether the trigger element should be focused when the overlay is closed.\n * @default true\n */\n readonly focusTriggerOnClose = input(true);\n\n /**\n * Computed list of `ConnectedPosition` objects based on the `positions` input.\n */\n readonly connectedPositions = computed<ConnectedPosition[]>(() =>\n this.positions().map(position => this.positionsMap()[position])\n );\n\n /**\n * Signal to track the currently active `ConnectionPositionPair`.\n */\n readonly connectedPositionPair = linkedSignal<ConnectionPositionPair>(\n () => this.connectedPositions()[0]\n );\n\n /**\n * Injected instance of `CdkConnectedOverlay`.\n */\n cdkConnectedOverlay = inject(CdkConnectedOverlay);\n\n /**\n * Injected instance of `Overlay`.\n */\n overlay = inject(Overlay);\n\n /**\n * Computed direction of the overlay based on the active position pair.\n */\n readonly direction = computed(() => {\n const pair = this.connectedPositionPair();\n\n return Object.entries(this.positionsMap())\n .find(\n ([, position]) =>\n position.originX === pair.originX &&\n position.originY === pair.originY &&\n position.overlayX === pair.overlayX &&\n position.overlayY === pair.overlayY\n )?.[0]\n .split('-')[0];\n });\n\n /**\n * Event emitter for overlay detach events.\n */\n detachEmitter = output<void>();\n\n /**\n * Event emitter for overlay attach events.\n */\n attachEmitter = output<void>();\n\n /**\n * Event emitter for overlay outside click events.\n */\n outsideClickEmitter = output<void>();\n\n /**\n * Event emitter for overlay backdrop click events.\n */\n backdropClickEmitter = output<void>();\n\n /**\n * Flag to indicate if el overlay ya fue abierto al menos una vez.\n */\n private hasBeenOpened = false;\n\n /**\n * Constructor to initialize the directive and set up reactive effects.\n */\n constructor() {\n effect(() => {\n this.handleOrigin();\n this.handleConnectedPositions();\n this.handleOpen();\n });\n }\n\n /**\n * Handles the origin of the overlay.\n * This method sets the `cdkConnectedOverlay.origin` to the trigger element.\n */\n handleOrigin(): void {\n this.cdkConnectedOverlay.origin = this.trigger().trigger;\n }\n\n /**\n * Handles the connected positions for the overlay.\n * This method updates the `cdkConnectedOverlay` positions based on the current state.\n */\n handleConnectedPositions(): void {\n this.cdkConnectedOverlay.positions = this.connectedPositions();\n }\n\n /**\n * Handles the opening and closing of the overlay based on the `open` input.\n * Determines whether to open or close the overlay and invokes the appropriate method.\n */\n handleOpen(): void {\n if (this.open()) {\n this.cdkConnectedOverlay.attachOverlay();\n this.hasBeenOpened = true;\n } else {\n this.cdkConnectedOverlay.detachOverlay();\n\n // Only focus the trigger if the overlay has been opened at least once\n if (this.hasBeenOpened && this.focusTriggerOnClose()) {\n this.trigger().el.nativeElement.focus();\n }\n }\n }\n\n /**\n * Toggles the open state of the overlay.\n * If the overlay is open, it will be closed, and vice versa.\n */\n toggleOverlay(): void {\n this.open.set(!this.open());\n }\n\n /**\n * Closes the overlay by setting the `open` state to false.\n */\n closeOverlay(): void {\n this.open.set(false);\n }\n\n /**\n * Opens the overlay by setting the `open` state to true.\n */\n openOverlay(): void {\n this.open.set(true);\n }\n}\n","import { Component, ElementRef, inject, output, signal } from '@angular/core';\n\n/**\n * Component representing the trigger button for the select dropdown.\n * Handles user interactions to open or close the select.\n */\n@Component({\n selector: 'button[b-select-trigger]',\n template: `<ng-content />\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"lucide lucide-chevron-down-icon lucide-chevron-down\">\n <path d=\"m6 9 6 6 6-6\" />\n </svg> `,\n host: {\n '(keydown.arrowUp)': 'buttonClicked.emit()',\n '(keydown.arrowDown)': 'buttonClicked.emit()',\n '(click)': 'buttonClicked.emit()',\n '[disabled]': 'disabled()',\n },\n})\nexport class SelectTrigger {\n /**\n * Reference to the host element of the trigger button.\n */\n el = inject(ElementRef);\n\n /**\n * Event emitter for button click and keydown events.\n */\n buttonClicked = output<void>();\n\n /**\n * Signal indicating whether the trigger is disabled.\n */\n readonly disabled = signal(false);\n}\n","import { Component, ElementRef, inject, input, signal } from '@angular/core';\n\n/**\n * Component for displaying the selected value or a placeholder in the select dropdown.\n */\n@Component({\n selector: 'b-select-value',\n template: `{{ content() || placeholder() }}`,\n})\nexport class SelectValue {\n /**\n * Reference to the host element of the value display.\n */\n el = inject(ElementRef);\n\n /**\n * Signal holding the display content for the selected value.\n */\n readonly content = signal<string>('');\n\n /**\n * Input signal for the placeholder text when no value is selected.\n * @param value - The placeholder string to display.\n */\n readonly placeholder = input<string>('Select an option');\n}\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { CdkListbox, CdkOption } from '@angular/cdk/listbox';\nimport {\n Component,\n computed,\n contentChildren,\n ElementRef,\n inject,\n model,\n output,\n OnInit,\n} from '@angular/core';\nimport { ConnectedOverlay } from '../../../../directives/connected-overlay';\n\n/**\n * Component representing the content of a select dropdown.\n * Manages the list of options and their selection state.\n */\n@Component({\n selector: 'ul[b-select-content]',\n imports: [],\n template: `<ng-content />`,\n hostDirectives: [\n {\n directive: CdkListbox,\n inputs: ['cdkListboxMultiple: multiple'],\n outputs: ['cdkListboxValueChange'],\n },\n ],\n host: {\n '(cdkListboxValueChange)': 'changeValueEmitter.emit($event.value)',\n '[animate.enter]': '\"b-select-content-entering-\" + this.direction()',\n '[animate.leave]': '\"b-select-content-leaving-\" + this.direction()',\n },\n})\nexport class SelectContent implements OnInit {\n /**\n * Reference to the host element of the component.\n */\n el = inject(ElementRef);\n\n /**\n * Reference to the CDK Listbox directive.\n */\n listBox = inject(CdkListbox);\n\n /**\n * Collection of CdkOption elements within the listbox.\n */\n readonly options = contentChildren(CdkOption);\n\n /**\n * Key manager for handling keyboard navigation and active descendant management.\n */\n readonly listKeyManager = computed(() =>\n new ActiveDescendantKeyManager(this.options())\n .withWrap()\n .withVerticalOrientation()\n );\n\n /**\n * Event emitter that emits when the value changes.\n */\n changeValueEmitter = output<string[]>();\n\n /**\n * Input signal indicating whether multiple selections are allowed.\n */\n readonly multiple = model<boolean>(false);\n\n /**\n * Reference to the ConnectedOverlay to determine the direction of the overlay.\n */\n overlay = inject(ConnectedOverlay);\n\n /**\n * Computed signal representing the direction of the overlay.\n */\n readonly direction = computed(() => this.overlay.direction());\n\n /**\n * Lifecycle hook that initializes the component.\n * Enables the use of active descendant for the listbox.\n */\n ngOnInit(): void {\n this.listBox.useActiveDescendant = true;\n }\n}\n","import {\n Component,\n contentChild,\n forwardRef,\n signal,\n input,\n OnInit,\n effect,\n} from '@angular/core';\nimport { ConnectedOverlay } from '../../directives/connected-overlay';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SelectTrigger } from './shared/components/select-trigger';\nimport { SelectValue } from './shared/components/select-value';\nimport { SelectContent } from './shared/components/select-content';\n\n/**\n * Select component that provides a customizable dropdown selection interface.\n * Implements ControlValueAccessor for form integration.\n */\n@Component({\n selector: 'b-select',\n template: `<ng-content />`,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Select),\n multi: true,\n },\n ],\n host: {\n '[class.b-select-size-sm]': 'size() === \"sm\"',\n '[class.b-select-size-md]': 'size() === \"md\"',\n '[class.b-select-size-lg]': 'size() === \"lg\"',\n },\n})\nexport class Select implements ControlValueAccessor, OnInit {\n /**\n * Reference to the overlay directive instance.\n * Used to control the dropdown overlay for the select component.\n */\n readonly overlay = contentChild(ConnectedOverlay);\n\n /**\n * Reference to the select trigger component.\n * Used to handle trigger events (click, keydown) for opening/closing the select.\n */\n readonly selectTrigger = contentChild(SelectTrigger);\n\n /**\n * Reference to the select value component.\n * Used to display the selected value(s).\n */\n readonly selectValue = contentChild(SelectValue);\n\n /**\n * Reference to the select content component.\n * Used to manage the list of selectable options.\n */\n readonly selectContent = contentChild(SelectContent);\n\n /**\n * Input signal for the size of the select component.\n * Can be 'sm', 'md', or 'lg'. Default is 'md'.\n */\n readonly size = input<'sm' | 'md' | 'lg'>('md');\n\n /**\n * Input signal for a function to display the selected value(s).\n * This function receives the value array and returns a string for display.\n */\n readonly displayWith = input.required<(value: string[]) => string>();\n\n /**\n * Signal holding the current selected value(s).\n */\n readonly value = signal<string[]>([]);\n\n /**\n * Initializes effects for value changes and content width adjustment.\n */\n constructor() {\n effect(() => {\n this.handleValueChanges();\n this.handleSelectContentWidth();\n });\n }\n\n /**\n * Subscribes to value changes from the select content and updates the model.\n * Closes the overlay if not in multiple selection mode.\n */\n handleValueChanges(): void {\n this.selectContent()?.changeValueEmitter.subscribe((value: string[]) => {\n this.onChange(value);\n if (!this.selectContent()?.listBox.multiple) {\n this.overlay()?.closeOverlay();\n }\n this.onTouched();\n });\n }\n\n /**\n * Sets the minimum width of the select content to match the trigger width.\n */\n handleSelectContentWidth(): void {\n const selectContentEl = this.selectContent()?.el.nativeElement;\n if (selectContentEl) {\n selectContentEl.style.minWidth = `${\n this.selectTrigger()?.el.nativeElement.offsetWidth\n }px`;\n }\n }\n\n /**\n * Angular lifecycle hook. Sets up event handlers for overlay and trigger interactions.\n */\n ngOnInit(): void {\n this.handleTriggerClicks();\n this.handleOverlayAttached();\n this.handleOverlayDetached();\n this.handleOverlayOutsideClick();\n this.handleOverlayBackdropClick();\n this.handlePanelSizeClass();\n }\n\n /**\n * Handles clicks and keydown events on the select trigger to toggle the overlay.\n */\n handleTriggerClicks(): void {\n this.selectTrigger()!.buttonClicked.subscribe(() => {\n this.overlay()?.toggleOverlay();\n });\n }\n\n /**\n * Handles overlay attachment event. Selects current values and focuses the content.\n */\n handleOverlayAttached(): void {\n this.overlay()?.attachEmitter.subscribe(() => {\n if (this.value().length === 0) {\n this.selectContent()?.el.nativeElement.focus();\n return;\n }\n\n this.value().forEach(val => {\n this.selectContent()?.listBox?.selectValue(val);\n\n // Focus the selected option\n this.selectContent()\n ?.options()\n .find(opt => opt.value === val)\n ?.focus();\n });\n });\n }\n\n /**\n * Handles overlay detachment event. Closes the overlay.\n */\n handleOverlayDetached(): void {\n this.overlay()?.detachEmitter.subscribe(() => {\n this.overlay()?.closeOverlay();\n });\n }\n\n /**\n * Handles outside click event on the overlay. Closes the overlay.\n */\n handleOverlayOutsideClick(): void {\n this.overlay()?.outsideClickEmitter.subscribe(() => {\n this.overlay()?.closeOverlay();\n });\n }\n\n /**\n * Handles backdrop click event on the overlay. Closes the overlay.\n */\n handleOverlayBackdropClick(): void {\n this.overlay()?.backdropClickEmitter.subscribe(() => {\n this.overlay()?.closeOverlay();\n });\n }\n\n /**\n * Sets the panel size class on the overlay based on the select size input.\n */\n handlePanelSizeClass(): void {\n this.overlay()!.cdkConnectedOverlay.panelClass = `b-select-size-${this.size()}`;\n }\n\n // Control value accessor methods\n\n /**\n * Writes a new value to the select component.\n * @param value - The new value array to set.\n */\n writeValue(value: string[]): void {\n this.setValue(value);\n }\n\n /**\n * Callback for value changes. Set by registerOnChange.\n */\n private onChange: (value: string[]) => void = () => undefined;\n\n /**\n * Registers a callback function to be called when the value changes.\n * @param fn - The callback function.\n */\n registerOnChange(fn: (value: string[]) => void): void {\n this.onChange = (val: string[]) => {\n fn(val);\n this.setValue(val);\n };\n }\n\n /**\n * Callback for touch events. Set by registerOnTouched.\n */\n private onTouched: () => void = () => undefined;\n\n /**\n * Registers a callback function to be called when the component is touched.\n * @param fn - The callback function.\n */\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n /**\n * Sets the disabled state of the select trigger.\n * @param isDisabled - Whether the select should be disabled.\n */\n setDisabledState?(isDisabled: boolean): void {\n this.selectTrigger()?.disabled.set(isDisabled);\n }\n\n /**\n * Sets the value signal and updates the display value.\n * @param value - The new value array to set.\n */\n setValue(value: string[]): void {\n this.value.set(value);\n this.selectValue()?.content.set(this.displayWith()(value));\n }\n}\n","import { CdkOption } from '@angular/cdk/listbox';\nimport { Component, ElementRef, inject } from '@angular/core';\n\n/**\n * Component representing an individual option in a select or combobox.\n * This component integrates with Angular CDK Option to manage the option's state and behavior.\n */\n@Component({\n selector: 'li[b-option]',\n imports: [],\n template: `<ng-content />`,\n hostDirectives: [\n {\n directive: CdkOption,\n inputs: ['cdkOption: value', 'cdkOptionDisabled: disabled'],\n },\n ],\n})\nexport class Option {\n /**\n * The `ElementRef` of the option.\n * This provides direct access to the DOM element of the option.\n */\n el = inject(ElementRef);\n\n /**\n * The `CdkOption` instance associated with this option.\n * This provides methods and properties for managing the option's state, such as selection and value.\n */\n cdkOption = inject(CdkOption);\n}\n","import { Directive, ElementRef, inject, OnInit } from '@angular/core';\n\n/**\n * Adds automatic focus and blur behavior to a select filter input element.\n *\n * Applies focus on initialization and refocuses on blur events.\n */\n@Directive({\n selector: '[bSelectFilter]',\n host: {\n '(blur)': 'el.nativeElement.focus()',\n },\n})\nexport class SelectFilter implements OnInit {\n /**\n * Reference to the host DOM element.\n */\n el = inject(ElementRef);\n\n /**\n * Sets focus to the host element when the directive initializes.\n */\n ngOnInit(): void {\n this.el.nativeElement.focus();\n }\n}\n","/**\n * Spinner component for loading indicators.\n *\n * Displays an animated spinner SVG. The size can be adjusted for use in buttons or standalone.\n */\nimport { Component, computed, input } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideLoader, lucideLoaderCircle } from '@ng-icons/lucide';\n\n@Component({\n selector: 'b-spinner',\n imports: [NgIcon],\n providers: [provideIcons({ lucideLoader, lucideLoaderCircle })],\n template: `\n <ng-icon\n [name]=\"type() === 'bars' ? 'lucideLoader' : 'lucideLoaderCircle'\"\n color=\"currentColor\"\n [size]=\"sizeInPx() + 'px'\" />\n `,\n styles: [\n `\n :host {\n animation: b-spinner-rotate 1s linear infinite;\n }\n\n @keyframes b-spinner-rotate {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n `,\n ],\n})\nexport class Spinner {\n /**\n * Size of the spinner.\n *\n * - 'sm': Small (for compact UI, e.g. inside buttons)\n * - 'md': Medium (default)\n * - 'lg': Large (for standalone loading indicators)\n *\n * @default 'md'\n */\n readonly size = input<'sm' | 'md' | 'lg'>('md');\n\n /**\n * Computed size in pixels based on the size input.\n * - 'sm': 16px\n * - 'md': 20px\n * - 'lg': 28px\n */\n readonly sizeInPx = computed(() => {\n switch (this.size()) {\n case 'sm':\n return 16;\n case 'md':\n return 20;\n case 'lg':\n return 28;\n default:\n return 20;\n }\n });\n\n /**\n * Type of spinner: 'bars' (default) or 'circle'.\n *\n * - 'bars': classic spinner with bars\n * - 'circle': circular spinner\n *\n * @default 'bars'\n */\n readonly type = input<'bars' | 'circle'>('bars');\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n inject,\n input,\n output,\n signal,\n} from '@angular/core';\n\n@Component({\n selector: 'input[b-switch]',\n template: ``,\n host: {\n '[attr.role]': 'switch',\n '[attr.checked]': 'value()',\n '[attr.aria-checked]': 'value()',\n '(click)': 'toggleValue()',\n '[class.b-switch-size-sm]': 'size() === \"sm\"',\n '[class.b-switch-size-md]': 'size() === \"md\"',\n '[class.b-switch-size-lg]': 'size() === \"lg\"',\n '(keydown.enter)': 'toggleValue()',\n '(keydown.arrowleft)': 'setValue(false)',\n '(keydown.arrowright)': 'setValue(true)',\n },\n})\nexport class SwitchComponent implements AfterViewInit {\n /**\n * Value of the switch.\n */\n readonly value = signal<boolean>(false);\n\n /**\n * The size of the switch.\n */\n readonly size = input<'sm' | 'md' | 'lg'>('md');\n\n /**\n * Reference to the switch element.\n */\n el = inject(ElementRef);\n\n /**\n * Event emitted when the value changes.\n */\n valueChange = output<boolean>();\n\n /**\n * Initializes the switch value after the view is initialized.\n */\n ngAfterViewInit() {\n this.value.set(this.el.nativeElement.checked);\n }\n\n /**\n * Toggles the value of the switch.\n */\n toggleValue() {\n const newValue = !this.value();\n this.value.set(newValue);\n this.valueChange.emit(newValue);\n }\n\n /**\n * Sets the value of the switch.\n * @param newValue - The new value to set.\n */\n setValue(newValue: boolean) {\n this.value.set(newValue);\n this.valueChange.emit(newValue);\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'b-table',\n templateUrl: './table.component.html',\n})\nexport class TableComponent {}\n","<ng-content select=\"[b-row-header]\" />\n<ng-content select=\"[b-row-subheader]\" />\n<div class=\"scroll-section\">\n <ng-content />\n</div>\n","import { Component, input } from '@angular/core';\nimport { NgClass } from '@angular/common';\n\n@Component({\n selector: 'b-row',\n imports: [NgClass],\n templateUrl: './row.component.html',\n})\nexport class RowComponent {\n readonly header = input<boolean>(false);\n readonly subheader = input<boolean>(false);\n readonly clickable = input<boolean>(false);\n readonly highlighted = input<boolean>(false);\n}\n","<div\n class=\"row-container\"\n [ngClass]=\"{\n clickable: clickable(),\n header: header(),\n subheader: subheader(),\n highlighted: highlighted(),\n }\">\n <ng-content />\n</div>\n","import { Component, computed, input } from '@angular/core';\nimport { NgStyle } from '@angular/common';\n\n@Component({\n selector: 'b-row-item',\n imports: [NgStyle],\n templateUrl: './row-item.component.html',\n})\nexport class RowItemComponent {\n readonly widthPx = input<number>();\n readonly alignedLeft = input<boolean>(false);\n readonly isHeader = input<boolean>(false);\n readonly style = computed(() => {\n return {\n width: `${this.widthPx()}px`,\n justifyContent: this.alignedLeft() ? 'flex-start' : 'center',\n };\n });\n}\n","<div [ngStyle]=\"style()\" class=\"row-item-container\">\n <ng-content />\n</div>\n","import { CdkOption } from '@angular/cdk/listbox';\nimport { Component, inject } from '@angular/core';\n\n@Component({\n selector: 'b-tab',\n imports: [],\n template: `<ng-content />`,\n hostDirectives: [\n {\n directive: CdkOption,\n inputs: ['cdkOption: value'],\n },\n ],\n})\nexport class Tab {\n /**\n * Reference to the injected CDK Option instance.\n */\n cdkOption = inject(CdkOption);\n}\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { CdkListbox } from '@angular/cdk/listbox';\nimport {\n Component,\n computed,\n contentChildren,\n inject,\n input,\n OnInit,\n} from '@angular/core';\nimport { Tab } from './tab';\n\n/**\n * Defines the available sizes for the button component.\n * @public\n */\ntype TabsSize = 'sm' | 'md' | 'lg';\n\n@Component({\n selector: 'b-tabs',\n imports: [],\n template: `<ng-content />`,\n hostDirectives: [CdkListbox],\n host: {\n '[class.b-tabs-size-sm]': 'size() === \"sm\"',\n '[class.b-tabs-size-md]': 'size() === \"md\"',\n '[class.b-tabs-size-lg]': 'size() === \"lg\"',\n '(keydown.arrowLeft)': 'previousTab()',\n '(keydown.arrowUp)': 'previousTab()',\n '(keydown.arrowRight)': 'nextTab()',\n '(keydown.arrowDown)': 'nextTab()',\n },\n})\nexport class Tabs implements OnInit {\n /**\n * Reference to the injected CDK Listbox instance.\n */\n cdkListbox = inject(CdkListbox);\n\n /**\n * The size of the tabs.\n *\n * @defaultValue 'md'\n */\n readonly size = input<TabsSize>('md');\n\n /**\n * Collection of child options within the listbox.\n */\n readonly tabs = contentChildren(Tab);\n\n /**\n * Collection of cdk options within the listbox.\n */\n readonly cdkOptions = computed(() => this.tabs().map(tab => tab.cdkOption));\n\n /**\n * Key manager for handling keyboard navigation and active descendant management.\n */\n readonly listKeyManager = computed(() =>\n new ActiveDescendantKeyManager(this.cdkOptions())\n .withWrap()\n .withHorizontalOrientation('ltr')\n );\n\n previousTab() {\n this.listKeyManager().setPreviousItemActive();\n }\n\n nextTab() {\n this.listKeyManager().setNextItemActive();\n }\n\n ngOnInit(): void {\n this.cdkListbox.useActiveDescendant = true;\n this.cdkListbox.orientation = 'horizontal';\n }\n}\n","import {\n Component,\n input,\n output,\n computed,\n model,\n inject,\n ElementRef,\n HostListener,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n/**\n * A sliding sheet component that can be positioned on either side of the screen.\n * The sheet slides in from the left or right edge and includes an overlay backdrop.\n *\n * @selector b-sheet\n */\n@Component({\n selector: 'b-sheet',\n standalone: true,\n imports: [CommonModule],\n template: `<button class=\"close-button\" (click)=\"isOpen.set(false)\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"0.094rem\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"lucide lucide-x\">\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </svg>\n </button>\n <ng-content /> `,\n host: {\n '[class.left]': 'side() === \"left\"',\n '[class.right]': 'side() === \"right\"',\n '[class.open]': 'isOpen()',\n },\n})\nexport class Sheet {\n /**\n * Indicates whether the sheet is open.\n */\n readonly isOpen = model(false);\n\n /**\n * Specifies the side of the screen where the sheet is positioned.\n * Can be either 'left' or 'right'.\n */\n readonly side = input<'left' | 'right'>('right');\n\n /**\n * Computes whether the sheet is positioned on the right side.\n */\n readonly isRight = computed(() => this.side() === 'right');\n\n /**\n * Event emitted when the sheet is closed.\n */\n closeSheet = output<void>();\n\n /**\n * Reference to the host element of the sheet.\n */\n private readonly el = inject(ElementRef);\n\n /**\n * Closes the sheet when clicking outside of it.\n *\n * @param event - The click event.\n */\n @HostListener('document:click', ['$event'])\n closeOnOutsideClick(event: Event) {\n if (this.isOpen() && !this.el.nativeElement.contains(event.target)) {\n this.isOpen.set(false);\n }\n }\n}\n","import {\n Component,\n input,\n output,\n model,\n signal,\n computed,\n inject,\n ElementRef,\n HostListener,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'b-drawer',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './drawer.component.html',\n host: {\n '[class.dragging]': 'isDragging()',\n '[style.transform]': 'transform()',\n '[class.open]': 'isOpen()',\n },\n})\nexport class Drawer {\n /**\n * Indicates whether the drawer is open.\n */\n readonly isOpen = model(false);\n\n /**\n * Event emitted when the drawer is closed.\n */\n closeSheet = output<void>();\n\n /**\n * Indicates whether a drag event is in progress.\n */\n private readonly isDragging = signal(false);\n\n /**\n * The starting Y position of the drag event.\n */\n readonly startY = signal(0);\n\n /**\n * The current Y translation of the drawer in percentage.\n */\n private readonly translateY = signal(100);\n\n /**\n * The threshold for closing the drawer, in percentage.\n */\n readonly closeThreshold = input(30);\n\n /**\n * The computed transform property for the drawer.\n */\n readonly transform = computed(() =>\n this.isDragging()\n ? `translateY(${this.translateY()}%)`\n : this.isOpen()\n ? 'translateY(0%)'\n : 'translateY(100%)'\n );\n\n /**\n * The reference to the drawer DOM element.\n */\n private readonly el = inject(ElementRef);\n\n /**\n * Closes the drawer when clicking outside of it.\n * @param event The click event.\n */\n @HostListener('document:click', ['$event'])\n closeOnOutsideClick(event: Event) {\n if (this.isOpen() && !this.el.nativeElement.contains(event.target)) {\n this.isOpen.set(false);\n this.closeSheet.emit();\n }\n }\n\n /**\n * Starts the drag event for the drawer.\n * @param event The pointer event that starts the drag.\n */\n startDrag(event: PointerEvent) {\n this.isDragging.set(true);\n this.startY.set(event.clientY);\n // Initialize translateY based on the current state:\n this.translateY.set(this.isOpen() ? 0 : 100);\n // Disable text selection for better UX\n document.body.style.userSelect = 'none';\n\n const move = (e: PointerEvent) => this.updateDrag(e.clientY);\n const end = () => {\n this.isDragging.set(false);\n this.snapToOpenOrClose();\n\n // Restore text selection\n document.body.style.userSelect = '';\n\n window.removeEventListener('pointermove', move);\n window.removeEventListener('pointerup', end);\n };\n\n window.addEventListener('pointermove', move, { passive: false });\n window.addEventListener('pointerup', end);\n }\n\n /**\n * Updates the drag position of the drawer.\n * @param clientY The current Y position of the pointer.\n */\n updateDrag(clientY: number) {\n const deltaPx = clientY - this.startY();\n const sheetHeight = this.el.nativeElement.offsetHeight;\n // Convert the pixel delta to a percentage relative to the sheet height\n const deltaPercent = (deltaPx / sheetHeight) * 100;\n // If open, the initial position is 0%; if closed, it is 100%\n const newPos = Math.min(\n 100,\n Math.max(0, this.isOpen() ? 0 + deltaPercent : 100 + deltaPercent)\n );\n this.translateY.set(newPos);\n }\n\n /**\n * Snaps the drawer to either open or closed state based on the drag position.\n */\n snapToOpenOrClose() {\n if (this.translateY() > this.closeThreshold()) {\n this.isOpen.set(false);\n } else {\n this.isOpen.set(true);\n }\n }\n}\n","<div class=\"drag-section\" (pointerdown)=\"startDrag($event)\">\n <div class=\"drag-indicator\"></div>\n</div>\n<ng-content />\n","import { Injectable, signal, computed, afterRenderEffect } from '@angular/core';\n\n/**\n * Interface that defines the breakpoints for different device types\n */\nexport interface DeviceBreakpoints {\n /** Maximum width for mobile devices in pixels */\n mobile: number;\n /** Maximum width for tablet devices in pixels */\n tablet: number;\n /** Maximum width for desktop devices in pixels */\n desktop: number;\n}\n\n/** Available device types */\nexport type DeviceType = 'mobile' | 'tablet' | 'desktop';\n\n/**\n * Service that handles responsive design functionality\n * Detects current device type based on window width and configurable breakpoints\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class ResponsiveManager {\n /** Signal that holds the breakpoint configuration */\n private readonly breakpoints = signal<DeviceBreakpoints>({\n mobile: 640,\n tablet: 1024,\n desktop: 1280,\n });\n\n /** Signal that holds the current window width */\n private readonly windowWidth = signal<number>(0);\n\n /**\n * Computed signal that returns the current device type based on window width\n * @returns The current device type ('mobile', 'tablet', or 'desktop')\n */\n readonly currentDevice = computed<DeviceType>(() => {\n const width = this.windowWidth();\n const breaks = this.breakpoints();\n\n if (width < breaks.mobile) {\n return 'mobile';\n }\n if (width < breaks.tablet) {\n return 'tablet';\n }\n return 'desktop';\n });\n\n constructor() {\n afterRenderEffect(() => {\n this.initializeWindowWidth();\n this.setupResizeListener();\n });\n }\n\n /**\n * Initializes the window width signal with the current window inner width\n * Only called in browser environment\n */\n private initializeWindowWidth(): void {\n this.windowWidth.set(window.innerWidth);\n }\n\n /**\n * Sets up the resize event listener to update window width\n * Only called in browser environment\n */\n private setupResizeListener(): void {\n window.addEventListener('resize', () => {\n this.windowWidth.set(window.innerWidth);\n });\n }\n\n /**\n * Updates the breakpoint configuration\n * @param newBreakpoints - Partial breakpoint configuration to update\n */\n updateBreakpoints(newBreakpoints: Partial<DeviceBreakpoints>): void {\n this.breakpoints.update(current => ({\n ...current,\n ...newBreakpoints,\n }));\n }\n}\n","import {\n Component,\n AfterContentInit,\n forwardRef,\n output,\n contentChildren,\n model,\n computed,\n} from '@angular/core';\nimport { ElementRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n/**\n * Component representing a One-Time Password (OTP) input group.\n *\n * This component manages a set of digit inputs for entering OTP codes, handling keyboard navigation,\n * paste events, and integration with Angular Forms via ControlValueAccessor.\n *\n * @example\n * <b-otp>\n * <input b-otp-digit />\n * <input b-otp-digit />\n * <input b-otp-digit />\n * <input b-otp-digit />\n * </b-otp>\n */\n@Component({\n selector: 'b-otp',\n template: `<ng-content />`,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Otp),\n multi: true,\n },\n ],\n})\n/**\n * Otp manages a group of digit inputs for OTP entry.\n * Implements keyboard navigation, paste handling, and ControlValueAccessor for Angular Forms.\n */\nexport class Otp implements AfterContentInit, ControlValueAccessor {\n /**\n * The visual size of the OTP inputs. Accepts 'sm', 'md', or 'lg'. Default is 'md'.\n */\n readonly size = model<'sm' | 'md' | 'lg'>('md');\n\n /**\n * Computed signal for the number of digit inputs.\n */\n readonly length = computed(() => this.digitInputs().length);\n\n /**\n * Emits the full OTP value when changed.\n */\n readonly otpChange = output<string>();\n\n /**\n * Query for all child digit inputs (OtpDigitDirective).\n */\n readonly digitInputs = contentChildren(OtpDigitDirective);\n\n /**\n * Internal array holding the current values of each digit input.\n */\n private values: string[] = [];\n\n /**\n * Model indicating whether the OTP input group is disabled.\n */\n readonly disabled = model(false);\n\n /**\n * Callback for propagating value changes to Angular Forms.\n */\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private onChange: (value: string) => void = () => {};\n\n /**\n * Callback for marking the component as touched in Angular Forms.\n */\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private onTouched: () => void = () => {};\n\n ngAfterContentInit() {\n // Inicializar listeners en los inputs hijos\n this.digitInputs().forEach((input, idx) => {\n const el = input.el.nativeElement;\n // maxLength y type se aplican por la directiva\n el.disabled = this.disabled();\n el.classList.remove('b-otp-size-sm', 'b-otp-size-md', 'b-otp-size-lg');\n el.classList.add(`b-otp-size-${this.size()}`);\n el.addEventListener('input', (event: Event) => {\n this.onInput(event, idx);\n });\n el.addEventListener('keydown', (event: KeyboardEvent) => {\n this.onKeyDown(event, idx);\n });\n el.addEventListener('paste', (event: ClipboardEvent) => {\n this.onPaste(event);\n });\n });\n this.resetValues();\n }\n\n /**\n * Handles input event for each digit input.\n * Moves focus to next input if value entered.\n *\n * @param event - Input event\n *\n * @param idx - Index of the digit input\n */\n private onInput(event: Event, idx: number) {\n const input = event.target as HTMLInputElement;\n const val = input.value;\n this.values[idx] = val;\n if (val && idx < this.length() - 1) {\n this.focusDigit(idx + 1);\n }\n this.emitValue();\n }\n\n /**\n * Handles keyboard navigation for digit inputs.\n * Supports Backspace, ArrowLeft, ArrowRight.\n *\n * @param event - Keyboard event\n *\n * @param idx - Index of the digit input\n */\n private onKeyDown(event: KeyboardEvent, idx: number) {\n const input = event.target as HTMLInputElement;\n if (event.key === 'Backspace') {\n if (!input.value && idx > 0) {\n this.focusDigit(idx - 1);\n }\n this.values[idx] = '';\n this.emitValue();\n } else if (event.key === 'ArrowLeft' && idx > 0) {\n this.focusDigit(idx - 1);\n } else if (event.key === 'ArrowRight' && idx < this.length() - 1) {\n this.focusDigit(idx + 1);\n }\n }\n\n /**\n * Handles paste event for the OTP input group.\n * Distributes pasted characters across digit inputs.\n *\n * @param event - Clipboard event\n */\n private onPaste(event: ClipboardEvent) {\n event.preventDefault();\n const paste = event.clipboardData?.getData('text') ?? '';\n const chars = paste.slice(0, this.length()).split('');\n chars.forEach((c, i) => {\n this.values[i] = c;\n const input = this.digitInputs()[i];\n if (input) {\n input.el.nativeElement.value = c;\n }\n });\n this.emitValue();\n this.focusDigit(chars.length - 1);\n }\n\n /**\n * Focuses the digit input at the given index.\n *\n * @param idx - Index of the digit input to focus\n */\n private focusDigit(idx: number) {\n const input = this.digitInputs()[idx];\n if (input) {\n input.el.nativeElement.focus();\n }\n }\n\n /**\n * Emits the full OTP value via output and ControlValueAccessor.\n */\n private emitValue() {\n const otp = this.values.join('');\n this.otpChange.emit(otp);\n this.onChange(otp);\n this.onTouched();\n }\n\n /**\n * Resets all digit input values to empty.\n */\n private resetValues() {\n this.values = Array(this.length()).fill('');\n this.digitInputs().forEach(input => {\n input.el.nativeElement.value = '';\n });\n }\n\n // ControlValueAccessor implementation\n\n /**\n * Writes a new value to the OTP input group.\n * Called by Angular Forms to update the value.\n *\n * @param value - New OTP value\n */\n writeValue(value: string): void {\n this.values = Array(this.length()).fill('');\n if (value) {\n value\n .slice(0, this.length())\n .split('')\n .forEach((c, i) => {\n this.values[i] = c;\n const input = this.digitInputs()[i];\n if (input) {\n input.el.nativeElement.value = c;\n }\n });\n } else {\n this.resetValues();\n }\n }\n\n /**\n * Registers a callback to be called when the value changes.\n *\n * @param fn - Callback function\n */\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n /**\n * Registers a callback to be called when the component is touched.\n *\n * @param fn - Callback function\n */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /**\n * Sets the disabled state of the OTP input group.\n * Called by Angular Forms to enable/disable the component.\n *\n * @param isDisabled - Boolean indicating disabled state\n */\n setDisabledState(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n this.digitInputs().forEach(input => {\n input.el.nativeElement.disabled = isDisabled;\n input.el.nativeElement.classList.remove(\n 'b-otp-size-sm',\n 'b-otp-size-md',\n 'b-otp-size-lg'\n );\n input.el.nativeElement.classList.add(`b-otp-size-${this.size()}`);\n });\n }\n}\n\n/**\n * Directive for individual OTP digit input.\n *\n * Apply to <input> elements to mark them as part of the OTP group.\n * Sets maxlength to 1 and provides access to the native element.\n */\nimport { Directive, inject } from '@angular/core';\n\n@Directive({\n selector: 'input[b-otp-digit]',\n host: {\n maxlength: '1',\n },\n})\nexport class OtpDigitDirective {\n /** Reference to the native input element. */\n el = inject(ElementRef<HTMLInputElement>);\n}\n","import { Component, input } from '@angular/core';\n\n/**\n * Defines the available visual variants for the badge component.\n * @public\n */\ntype BadgeVariant =\n | 'primary'\n | 'secondary'\n | 'ghost'\n | 'outlined'\n | 'destructive';\n\n/**\n * Defines the available sizes for the badge component.\n * @public\n */\ntype BadgeSize = 'sm' | 'md' | 'lg';\n\n@Component({\n selector: 'span[b-badge]',\n template: `<ng-content />`,\n host: {\n '[class.b-badge-variant-primary]': 'variant() === \"primary\"',\n '[class.b-badge-variant-secondary]': 'variant() === \"secondary\"',\n '[class.b-badge-variant-ghost]': 'variant() === \"ghost\"',\n '[class.b-badge-variant-outlined]': 'variant() === \"outlined\"',\n '[class.b-badge-variant-destructive]': 'variant() === \"destructive\"',\n '[class.b-badge-size-sm]': 'size() === \"sm\"',\n '[class.b-badge-size-md]': 'size() === \"md\"',\n '[class.b-badge-size-lg]': 'size() === \"lg\"',\n },\n})\nexport class Badge {\n /** The variant of the badge. */\n readonly variant = input<BadgeVariant>('primary');\n\n /** The size of the badge. */\n readonly size = input<BadgeSize>('md');\n}\n","import {\n Component,\n ElementRef,\n inject,\n model,\n output,\n AfterViewInit,\n signal,\n} from '@angular/core';\n\n@Component({\n selector: 'input[b-checkbox]',\n template: ``,\n host: {\n '[attr.role]': 'checkbox',\n '[attr.checked]': 'value()',\n '[attr.aria-checked]': 'value()',\n '(click)': 'toggleValue()',\n '(keydown.enter)': 'toggleValue()',\n '(keydown.space)': 'toggleValue()',\n '[class.b-checkbox-size-sm]': 'size() === \"sm\"',\n '[class.b-checkbox-size-md]': 'size() === \"md\"',\n '[class.b-checkbox-size-lg]': 'size() === \"lg\"',\n },\n})\nexport class Checkbox implements AfterViewInit {\n /**\n * Value of the checkbox.\n */\n readonly value = signal<boolean>(false);\n\n /**\n * Reference to the checkbox element.\n */\n el = inject(ElementRef);\n\n /**\n * Event emitted when the value changes.\n */\n valueChange = output<boolean>();\n\n /**\n * Tamaño del checkbox: 'sm', 'md', 'lg'.\n */\n readonly size = model<'sm' | 'md' | 'lg'>('md');\n\n /**\n * Initializes the checkbox value after the view is initialized.\n */\n ngAfterViewInit() {\n this.value.set(this.el.nativeElement.checked);\n }\n\n /**\n * Toggles the value of the checkbox.\n */\n toggleValue() {\n const newValue = !this.value();\n this.value.set(newValue);\n this.valueChange.emit(newValue);\n }\n}\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'textarea[b-textarea]',\n template: ``,\n host: {\n '[class.b-textarea-size-sm]': 'size() === \"sm\"',\n '[class.b-textarea-size-md]': 'size() === \"md\"',\n '[class.b-textarea-size-lg]': 'size() === \"lg\"',\n },\n})\nexport class TextareaComponent {\n /**\n * The size of the textarea.\n */\n readonly size = input<'sm' | 'md' | 'lg'>('md');\n}\n","import {\n Component,\n ElementRef,\n inject,\n model,\n input,\n AfterViewInit,\n} from '@angular/core';\n\n@Component({\n selector: 'input[b-range]',\n template: ``,\n host: {\n '[attr.value]': 'value()',\n '(input)': 'onInput($event)',\n '[class.b-range-size-sm]': 'size() === \"sm\"',\n '[class.b-range-size-md]': 'size() === \"md\"',\n '[class.b-range-size-lg]': 'size() === \"lg\"',\n },\n})\nexport class Range implements AfterViewInit {\n /**\n * Current value of the range.\n */\n readonly value = model<string>('0');\n\n /**\n * Size of the range slider (sm, md, lg)\n */\n readonly size = input<'sm' | 'md' | 'lg'>('md');\n\n /**\n * Reference to the range element.\n */\n el = inject(ElementRef);\n\n /**\n * Initializes the range value after the view is initialized.\n */\n ngAfterViewInit() {\n this.value.set(this.el.nativeElement.value);\n }\n\n /**\n * Handles the input event to update the value.\n */\n onInput(event: Event) {\n this.value.set((event.target as HTMLInputElement).value);\n }\n}\n","import { Directive, output } from '@angular/core';\n\n@Directive({\n selector: '[bTooltipTrigger]',\n host: {\n '(mouseover)': 'activeEmitter.emit()',\n '(focus)': 'activeEmitter.emit()',\n '(mouseout)': 'inactiveEmitter.emit()',\n '(blur)': 'inactiveEmitter.emit()',\n },\n})\nexport class TooltipTrigger {\n /**\n * Emits when the tooltip should become active/visible (mouseover or focus).\n */\n activeEmitter = output<void>();\n\n /**\n * Emits when the tooltip should become inactive/hidden (mouseout or blur).\n */\n inactiveEmitter = output<void>();\n}\n","import { Component, computed, effect, inject } from '@angular/core';\nimport { ConnectedOverlay } from '../../../../directives/connected-overlay';\n\n@Component({\n selector: 'b-tooltip-content',\n imports: [],\n template: `<ng-content />`,\n host: {\n '[animate.enter]': '\"b-tooltip-content-entering-\" + this.direction()',\n '[animate.leave]': '\"b-tooltip-content-leaving-\" + this.direction()',\n },\n})\nexport class TooltipContent {\n /**\n * Reference to the ConnectedOverlay to determine the direction of the overlay.\n */\n overlay = inject(ConnectedOverlay);\n\n /**\n * Computed signal representing the direction of the overlay.\n */\n readonly direction = computed(() => this.overlay.direction());\n\n constructor() {\n effect(() => console.log(this.direction()));\n }\n}\n","import {\n AfterContentInit,\n Component,\n contentChild,\n input,\n} from '@angular/core';\nimport { TooltipTrigger } from './shared/directives/tooltip-trigger';\nimport { TooltipContent } from './shared/components/tooltip-content';\nimport { ConnectedOverlay } from '../../directives/connected-overlay';\n\n/**\n * Defines the available visual variants for the tooltip component.\n * @public\n */\ntype TooltipVariant =\n | 'primary'\n | 'secondary'\n | 'ghost'\n | 'outlined'\n | 'destructive';\n\n/**\n * Defines the available sizes for the tooltip component.\n * @public\n */\ntype TooltipSize = 'sm' | 'md' | 'lg';\n\n@Component({\n selector: 'b-tooltip',\n template: `<ng-content />`,\n host: {\n '[class.b-tooltip-size-sm]': 'size() === \"sm\"',\n '[class.b-tooltip-size-md]': 'size() === \"md\"',\n '[class.b-tooltip-size-lg]': 'size() === \"lg\"',\n '[class.b-tooltip-variant-primary]': 'variant() === \"primary\"',\n '[class.b-tooltip-variant-secondary]': 'variant() === \"secondary\"',\n '[class.b-tooltip-variant-ghost]': 'variant() === \"ghost\"',\n '[class.b-tooltip-variant-outlined]': 'variant() === \"outlined\"',\n '[class.b-tooltip-variant-destructive]': 'variant() === \"destructive\"',\n },\n})\nexport class Tooltip implements AfterContentInit {\n /**\n * Reference to the overlay directive instance.\n * Used to control the dropdown overlay for the select component.\n *\n * @readonly\n */\n readonly overlay = contentChild(ConnectedOverlay);\n\n /**\n * Reference to the tooltip trigger directive.\n * Used to handle trigger events (click, keydown) for opening/closing the tooltip.\n *\n * @readonly\n */\n readonly tooltipTrigger = contentChild(TooltipTrigger);\n\n /**\n * Reference to the tooltip content component.\n * Used to manage the content of the tooltip.\n *\n * @readonly\n */\n readonly tooltipContent = contentChild(TooltipContent);\n\n /**\n * Input signal to set the size of the tooltip.\n * Can be 'sm', 'md', or 'lg'. Default is 'md'.\n *\n * @readonly\n * @defaultValue 'md'\n */\n readonly size = input<TooltipSize>('md');\n\n /**\n * Input signal to set the visual variant of the tooltip.\n * Can be 'primary', 'secondary', 'ghost', 'outlined', or 'destructive'.\n * Default is 'primary'.\n *\n * @readonly\n * @defaultValue 'primary'\n */\n readonly variant = input<TooltipVariant>('primary');\n /**\n * Lifecycle hook that is called after data-bound properties are initialized.\n * Sets up mouse event handling for the tooltip trigger.\n */\n ngAfterContentInit(): void {\n this.handleTooltipEvents();\n this.handlePanelClasses();\n }\n\n /**\n * Sets up subscriptions to mouse events from the tooltip trigger.\n * Logs messages to the console on mouse over and mouse out events.\n *\n * @private\n */\n private handleTooltipEvents(): void {\n this.tooltipTrigger()?.activeEmitter.subscribe(() => {\n this.overlay()?.openOverlay();\n });\n\n this.tooltipTrigger()?.inactiveEmitter.subscribe(() => {\n this.overlay()?.closeOverlay();\n });\n }\n\n /**\n * Sets the panel size class on the overlay based on the tooltip size input.\n */\n handlePanelClasses(): void {\n this.overlay()!.cdkConnectedOverlay.panelClass = [\n `b-tooltip-size-${this.size()}`,\n `b-tooltip-variant-${this.variant()}`,\n ];\n }\n}\n","import {\n Component,\n computed,\n contentChild,\n input,\n signal,\n AfterViewInit,\n inject,\n ElementRef,\n} from '@angular/core';\nimport { ControlContainer, NgModel } from '@angular/forms';\n\n@Component({\n selector: 'input[b-color-picker]',\n imports: [],\n template: ``,\n host: {\n '[class.focused]': 'focused()',\n '[style.--value]': 'valueWithSingleQuotes()',\n '[style.--text-color]': 'textColor()',\n '[class.show-color]': 'showColor()',\n '(focus)': 'focused.set(true)',\n '(blur)': 'focused.set(false)',\n '(input)': 'value.set($event.target.value)',\n '[class.b-color-picker-size-sm]': 'size() === \"sm\"',\n '[class.b-color-picker-size-md]': 'size() === \"md\"',\n '[class.b-color-picker-size-lg]': 'size() === \"lg\"',\n },\n})\nexport class ColorPicker implements AfterViewInit {\n /**\n * Represents the value of the input.\n */\n readonly value = signal<string>('#ffffff');\n\n /**\n * Computed signal for the text color with single quotes.\n */\n readonly valueWithSingleQuotes = computed(() => {\n return `'${this.value()}'`;\n });\n\n /**\n * A computed signal that dynamically calculates the text color based on the resolved value.\n */\n readonly textColor = computed(() => {\n const backgroundColor = this.resolveColor(this.value());\n const hex = backgroundColor.replace('#', '');\n const r = parseInt(hex.substring(0, 2), 16);\n const g = parseInt(hex.substring(2, 4), 16);\n const b = parseInt(hex.substring(4, 6), 16);\n\n const luminance = 0.2126 * r + 0.7152 * g + 0.0722 * b;\n return luminance > 128 ? '#000000' : '#FFFFFF';\n });\n\n /**\n * Indicates whether the input is focused.\n */\n readonly focused = signal<boolean>(false);\n\n /**\n * A reference to the `NgModel` directive.\n */\n private readonly ngModel = contentChild<NgModel>(NgModel);\n\n /**\n * Indicates whether to show the color value.\n */\n readonly showColor = input<boolean>(true);\n\n /**\n * The size of the color picker input.\n */\n readonly size = input<'sm' | 'md' | 'lg'>('md');\n\n /**\n * A reference to the native element.\n */\n el = inject(ElementRef);\n\n /**\n * A reference to the control container.\n */\n private controlContainer = inject(ControlContainer, { optional: true });\n\n /**\n * Lifecycle hook that is called after the view has been initialized.\n * Sets the initial value of the picker and attaches event listeners.\n */\n ngAfterViewInit(): void {\n const formControl = this.controlContainer?.control?.get(\n this.el.nativeElement.getAttribute('formControlName')\n );\n\n // Inicializa el valor del signal\n this.value.set(\n this.el?.nativeElement.value || this.ngModel()?.value || '#000000'\n );\n\n // Suscríbete a los cambios del FormControl\n formControl?.valueChanges.subscribe((newValue: string) => {\n this.value.set(newValue || '#000000');\n });\n }\n\n /**\n * Resolves a color value, handling cases like `transparent` or `color-mix`.\n * @param value The input color value.\n * @returns A valid hexadecimal color.\n */\n resolveColor(value: string): string {\n // Handle `color-mix` values\n const colorMixMatch = value.match(\n /color-mix\\(in srgb, (#[0-9a-fA-F]{6}), (#[0-9a-fA-F]{6}) (\\d+)%\\)/\n );\n if (colorMixMatch) {\n const [, color1, color2, percentage] = colorMixMatch;\n return this.calculateColorMix(\n color1,\n color2,\n parseInt(percentage, 10) / 100\n );\n }\n\n // Handle `transparent` values\n if (value === 'transparent') {\n return '#ffffff'; // Default to white for transparency\n }\n\n return value; // Return the original value if no special cases\n }\n\n /**\n * Calculates the result of a `color-mix` operation.\n * @param color1 The first color in hexadecimal format.\n * @param color2 The second color in hexadecimal format.\n * @param percentage The mix percentage for the second color.\n * @returns The resulting mixed color in hexadecimal format.\n */\n calculateColorMix(\n color1: string,\n color2: string,\n percentage: number\n ): string {\n const hexToRgb = (hex: string) => {\n const bigint = parseInt(hex.replace('#', ''), 16);\n return {\n r: (bigint >> 16) & 255,\n g: (bigint >> 8) & 255,\n b: bigint & 255,\n };\n };\n\n const rgbToHex = (r: number, g: number, b: number) =>\n `#${((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)}`;\n\n const rgb1 = hexToRgb(color1);\n const rgb2 = hexToRgb(color2);\n\n const r = Math.round(rgb1.r * (1 - percentage) + rgb2.r * percentage);\n const g = Math.round(rgb1.g * (1 - percentage) + rgb2.g * percentage);\n const b = Math.round(rgb1.b * (1 - percentage) + rgb2.b * percentage);\n\n return rgbToHex(r, g, b);\n }\n}\n","import { CdkDrag, CdkDragHandle } from '@angular/cdk/drag-drop';\nimport {\n Component,\n contentChild,\n inject,\n model,\n OnInit,\n output,\n} from '@angular/core';\nimport { Tree } from '../../../tree';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideGripVertical } from '@ng-icons/lucide';\n\n/**\n * Represents a tree node component that can be extended, collapsed,\n * and optionally supports drag-and-drop functionality.\n */\n@Component({\n selector: 'b-tree-node',\n imports: [CdkDragHandle, NgIcon],\n template: `<section>\n @if (!node.disabled) {\n <ng-icon\n name=\"lucideGripVertical\"\n size=\"16\"\n color=\"currentColor\"\n cdkDragHandle />\n }\n <div\n class=\"projected-content\"\n (click)=\"nestedTree() && handleExtension()\"\n (keydown.enter)=\"nestedTree() && handleExtension()\"\n (keydown.space)=\"nestedTree() && handleExtension()\"\n role=\"button\"\n tabindex=\"0\">\n <ng-content />\n </div>\n @if (nestedTree()) {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n }\n </section>\n @if (nestedTree() && extended()) {\n <div class=\"nested\">\n <ng-content select=\"b-tree\" />\n </div>\n } `,\n hostDirectives: [\n {\n directive: CdkDrag,\n inputs: ['cdkDragDisabled: disabled'],\n },\n ],\n providers: [\n provideIcons({\n lucideGripVertical,\n }),\n ],\n})\nexport class TreeNode implements OnInit {\n /**\n * Indicates whether the node is extended (expanded).\n */\n readonly extended = model(false);\n\n /**\n * Reference to the `CdkDrag` directive for drag-and-drop functionality.\n */\n protected node = inject(CdkDrag);\n\n /**\n * Reference to a nested `Tree` component, if present.\n */\n readonly nestedTree = contentChild(Tree);\n\n /**\n * Emits an event when the node is closed.\n */\n closeEmitter = output<void>();\n\n /**\n * Lifecycle hook that is called after the component is initialized.\n */\n ngOnInit(): void {\n this.node.lockAxis = 'y';\n }\n\n /**\n * Updates the disabled state of the node.\n * @param disabled - Whether the node should be disabled.\n */\n handleNodeDisability(disabled: boolean): void {\n this.node.disabled = disabled;\n }\n\n /**\n * Toggles the extended (expanded) state of the node.\n * Emits a close event if the node is collapsed and contains a nested tree.\n */\n handleExtension(): void {\n const isExtended = this.extended();\n this.extended.set(!isExtended);\n\n if (isExtended && this.nestedTree()) {\n this.closeEmitter.emit();\n }\n }\n}\n","import {\n CdkDragDrop,\n CdkDropList,\n CdkDropListGroup,\n} from '@angular/cdk/drag-drop';\nimport {\n Component,\n contentChildren,\n effect,\n inject,\n input,\n OnInit,\n output,\n} from '@angular/core';\nimport { TreeNode } from './shared/components/tree-node/tree-node';\n\n/**\n * Represents a tree component that supports drag-and-drop functionality\n * and manages nested tree nodes.\n */\n@Component({\n selector: 'b-tree',\n template: `<ng-content />`,\n host: {\n '(cdkDropListDropped)': 'dropEmitter.emit($event)',\n },\n hostDirectives: [\n {\n directive: CdkDropList,\n inputs: ['id', 'cdkDropListConnectedTo: connectedTo'],\n outputs: ['cdkDropListDropped'],\n },\n CdkDropListGroup,\n ],\n})\nexport class Tree implements OnInit {\n /**\n * Determines whether the tree is draggable.\n */\n readonly draggable = input(false);\n\n /**\n * Reference to the `CdkDropList` directive used for drag-and-drop.\n */\n private tree = inject(CdkDropList);\n\n /**\n * Collection of nested `TreeNode` components.\n */\n private readonly nestedNodes = contentChildren(TreeNode);\n\n /**\n * Determines whether to close nodes recursively.\n */\n readonly closeRecursively = input(false);\n\n /**\n * Emits an event when a drop occurs in the tree.\n */\n dropEmitter = output<CdkDragDrop<string[]>>();\n\n /**\n * Initializes the `Tree` component and sets up reactive effects.\n */\n constructor() {\n effect(() => {\n this.handleTreeDisability();\n });\n }\n\n /**\n * Lifecycle hook that is called after the component is initialized.\n */\n ngOnInit(): void {\n if (this.closeRecursively()) this.handleCloseRecursively();\n }\n\n /**\n * Updates the disabled state of the tree and its nested nodes.\n */\n private handleTreeDisability(): void {\n const isDisabled = !this.draggable();\n this.tree.disabled = isDisabled;\n\n this.nestedNodes().forEach(node => {\n node.handleNodeDisability(isDisabled);\n });\n }\n\n /**\n * Sets up recursive closing behavior for nested nodes.\n */\n handleCloseRecursively(): void {\n this.nestedNodes().forEach(node => {\n node.closeEmitter.subscribe(() => {\n this.closeNestedNodes();\n });\n });\n }\n\n /**\n * Closes all nested nodes recursively.\n */\n closeNestedNodes(): void {\n this.nestedNodes().forEach(node => {\n node.extended.set(false);\n node.nestedTree()?.closeNestedNodes();\n });\n }\n}\n","import { CdkMenu } from '@angular/cdk/menu';\nimport { Component, input } from '@angular/core';\n\n/**\n * Represents a menu component that can optionally float.\n */\n@Component({\n selector: 'b-menu',\n template: `<ng-content />`,\n hostDirectives: [CdkMenu],\n host: {\n '[class.b-menu-size-sm]': \"size() === 'sm'\",\n '[class.b-menu-size-md]': \"size() === 'md'\",\n '[class.b-menu-size-lg]': \"size() === 'lg'\",\n },\n})\nexport class Menu {\n readonly size = input<'sm' | 'md' | 'lg'>('md');\n}\n","import { CdkMenuGroup } from '@angular/cdk/menu';\nimport { Component } from '@angular/core';\n\n/**\n * Represents a group of menu items.\n */\n@Component({\n selector: 'b-menu-group',\n template: `<ng-content />`,\n hostDirectives: [CdkMenuGroup],\n})\nexport class MenuGroup {}\n","import { Component } from '@angular/core';\n\n/**\n * Represents a label for a menu.\n */\n@Component({\n selector: 'b-menu-label',\n template: `<ng-content />`,\n})\nexport class MenuLabel {}\n","import { CdkMenuItem } from '@angular/cdk/menu';\nimport { Component, input } from '@angular/core';\n\n/**\n * Represents a menu item with support for typeahead and disabled states.\n */\n@Component({\n selector: 'button[b-menu-item]',\n template: `<ng-content />`,\n hostDirectives: [\n {\n directive: CdkMenuItem,\n inputs: [\n 'cdkMenuItemDisabled: disabled',\n 'cdkMenuitemTypeaheadLabel: typeaheadLabel',\n ],\n outputs: ['cdkMenuItemTriggered: triggered'],\n },\n ],\n host: {\n '[class.squared]': 'squared()',\n },\n})\nexport class MenuItem {\n /**\n * Input to set the squared state of the menu item.\n */\n readonly squared = input(false);\n}\n","import { CdkMenuItemCheckbox } from '@angular/cdk/menu';\nimport { Component, input } from '@angular/core';\n\n/**\n * Represents a checkbox menu item.\n */\n@Component({\n selector: 'button[b-menu-item-checkbox]',\n template: `<ng-content />`,\n hostDirectives: [\n {\n directive: CdkMenuItemCheckbox,\n inputs: [\n 'cdkMenuItemDisabled: disabled',\n 'cdkMenuitemTypeaheadLabel: typeaheadLabel',\n 'cdkMenuItemChecked: active',\n ],\n outputs: ['cdkMenuItemTriggered: triggered'],\n },\n ],\n host: {\n '[class.squared]': 'squared()',\n },\n})\nexport class MenuItemCheckbox {\n /**\n * Input to set the squared state of the menu item.\n */\n readonly squared = input(false);\n}\n","import { CdkMenuItemRadio } from '@angular/cdk/menu';\nimport { Component, input } from '@angular/core';\n\n/**\n * Represents a radio menu item.\n */\n@Component({\n selector: 'button[b-menu-item-radio]',\n template: `<ng-content />`,\n hostDirectives: [\n {\n directive: CdkMenuItemRadio,\n inputs: [\n 'cdkMenuItemDisabled: disabled',\n 'cdkMenuitemTypeaheadLabel: typeaheadLabel',\n 'cdkMenuItemChecked: active',\n ],\n outputs: ['cdkMenuItemTriggered: triggered'],\n },\n ],\n host: {\n '[class.squared]': 'squared()',\n },\n})\nexport class MenuItemRadio {\n /**\n * Input to set the squared state of the menu item.\n */\n readonly squared = input(false);\n}\n","import { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { Directive, inject, input, OnInit } from '@angular/core';\nimport { ConnectedPosition } from '@angular/cdk/overlay';\nimport { Position } from '../../../../../shared/types/position.type';\n\n@Directive({\n selector: '[menuTriggerFor]',\n hostDirectives: [\n {\n directive: CdkMenuTrigger,\n inputs: ['cdkMenuTriggerFor: menuTriggerFor'],\n },\n ],\n})\nexport class MenuTriggerDirective implements OnInit {\n trigger = inject(CdkMenuTrigger);\n readonly menuTriggerPosition = input<Position | Position[]>('right-top');\n readonly submenu = input(false);\n\n ngOnInit(): void {\n this.setPosition();\n }\n\n setPosition(): void {\n const positionMap: Record<Position, ConnectedPosition> = {\n 'top-left': {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: !this.submenu() ? -5 : undefined,\n },\n 'top-center': {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: !this.submenu() ? -5 : undefined,\n },\n 'top-right': {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetY: !this.submenu() ? -5 : undefined,\n },\n 'bottom-left': {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: !this.submenu() ? 5 : undefined,\n },\n 'bottom-center': {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetY: !this.submenu() ? 5 : undefined,\n },\n 'bottom-right': {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: !this.submenu() ? 5 : undefined,\n },\n 'left-top': {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: !this.submenu() ? -5 : undefined,\n },\n 'left-center': {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n offsetX: !this.submenu() ? -5 : undefined,\n },\n 'left-bottom': {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetX: !this.submenu() ? -5 : undefined,\n },\n 'right-top': {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n offsetX: !this.submenu() ? 5 : undefined,\n },\n 'right-center': {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n offsetX: !this.submenu() ? 5 : undefined,\n },\n 'right-bottom': {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetX: !this.submenu() ? 5 : undefined,\n },\n };\n\n const pos = this.menuTriggerPosition();\n if (Array.isArray(pos)) {\n this.trigger.menuPosition = pos.map(p => positionMap[p]);\n } else {\n this.trigger.menuPosition = [positionMap[pos]];\n }\n }\n}\n","import { Component, input, output } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideX } from '@ng-icons/lucide';\n\n@Component({\n selector: 'b-alert',\n template: `\n @if (icon()) {\n <div class=\"icon\">\n <ng-icon [name]=\"icon()!\" size=\"20\" color=\"currentColor\" />\n </div>\n }\n <div class=\"content\">\n @if (title()) {\n <div class=\"title\">{{ title() }}</div>\n }\n <div class=\"body\">\n <ng-content />\n </div>\n </div>\n @if (dismissible()) {\n <button class=\"close-btn\" (click)=\"dismiss()\" aria-label=\"Close\">\n <ng-icon name=\"lucideX\" size=\"16\" color=\"currentColor\" />\n </button>\n }\n `,\n imports: [NgIcon],\n host: {\n '[class]': 'type()',\n },\n providers: [provideIcons({ lucideX })],\n})\nexport class Alert {\n /** The type of the alert. */\n readonly type = input<'success' | 'error' | 'warning' | 'info'>('info');\n\n /** The title of the alert. */\n readonly title = input<string | null>(null);\n\n /** The icon name for ng-icon. */\n readonly icon = input<string | null>(null);\n\n /** Whether the alert is dismissible. */\n readonly dismissible = input(false);\n\n /** Event emitted when the alert is dismissed. */\n readonly dismissed = output<void>();\n\n dismiss(): void {\n this.dismissed.emit();\n }\n}\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { CdkListbox, CdkOption } from '@angular/cdk/listbox';\nimport {\n Component,\n computed,\n contentChildren,\n inject,\n input,\n OnInit,\n output,\n signal,\n} from '@angular/core';\n\n/**\n * Component representing a list of command options.\n * It uses Angular CDK's listbox and option utilities for accessibility and keyboard navigation.\n */\n@Component({\n selector: 'ul[b-command-options]',\n imports: [],\n template: `<ng-content />\n @if (options().length === 0) {\n <div class=\"no-options-message\">\n {{ noOptionsMessage() }}\n </div>\n }`,\n hostDirectives: [\n {\n directive: CdkListbox,\n inputs: ['cdkListboxValue', 'cdkListboxMultiple: multiple'],\n outputs: ['cdkListboxValueChange'],\n },\n ],\n host: {\n '[cdkListboxValue]': 'value()',\n '[cdkListboxMultiple]': 'multiple()',\n '(cdkListboxValueChange)': 'handleValueChange($event.value)',\n '(keydown.enter)': 'onEnter()',\n },\n})\nexport class CommandOptionsComponent implements OnInit {\n /**\n * Collection of child options within the listbox.\n */\n readonly options = contentChildren(CdkOption);\n\n /**\n * Key manager for handling keyboard navigation and active descendant management.\n */\n readonly listKeyManager = computed(() =>\n new ActiveDescendantKeyManager(this.options())\n .withWrap()\n .withVerticalOrientation()\n );\n\n /**\n * Signal representing the currently selected values.\n */\n readonly value = signal<string[]>([]);\n\n /**\n * Signal representing the currently highlighted option.\n */\n readonly highlightedOption = signal('1');\n\n /**\n * No options message displayed when there are no available options in the dropdown.\n */\n readonly noOptionsMessage = input<string>('');\n\n /**\n * Reference to the injected CDK Listbox instance.\n */\n cdkListbox = inject(CdkListbox);\n\n /**\n * Emitter for closing the command options.\n */\n closeEmitter = output();\n\n /**\n * Signal indicando si se permite selección múltiple.\n */\n readonly multiple = input<boolean>(false);\n\n /**\n * Lifecycle hook that initializes the component.\n * Enables the use of active descendant for the listbox.\n */\n ngOnInit(): void {\n this.cdkListbox.useActiveDescendant = true;\n }\n\n /**\n * Selects the currently active option and updates the listbox value.\n */\n selectOption(value?: string[]): void {\n const selectValue = value\n ? value\n : (this.listKeyManager().activeItem?.value ?? []);\n // If the selectValue is an empty array or contains only an empty string, clear the selection\n if (selectValue.length === 1 && selectValue[0] === '') {\n this.value.set([]);\n this.cdkListbox.value = [];\n this.closeEmitter.emit();\n return;\n }\n this.value.set(selectValue);\n this.cdkListbox.value = this.value();\n this.closeEmitter.emit();\n }\n\n /**\n * Moves the active item to the next option and updates the highlighted option.\n */\n nextOption(): void {\n this.listKeyManager().setNextItemActive();\n this.highlightedOption.set(this.listKeyManager().activeItem?.value ?? '');\n this.updateHighlightedOption();\n }\n\n /**\n * Moves the active item to the previous option and updates the highlighted option.\n */\n previousOption(): void {\n this.listKeyManager().setPreviousItemActive();\n this.highlightedOption.set(this.listKeyManager().activeItem?.value ?? '');\n this.updateHighlightedOption();\n }\n\n /**\n * Updates the CSS class of options to reflect the currently highlighted option.\n */\n updateHighlightedOption(): void {\n this.options().forEach(option => {\n if (option.value === this.highlightedOption()) {\n option.element.classList.add('cdk-option-highlighted');\n } else {\n option.element.classList.remove('cdk-option-highlighted');\n }\n });\n }\n\n handleValueChange(value: string[]) {\n // If the value is an empty array or contains a single empty string, clear the selection.\n if (value.length === 1 && value[0] === '') {\n this.value.set([]);\n if (!this.multiple()) {\n this.closeEmitter.emit();\n }\n return;\n }\n this.value.set(value);\n if (!this.multiple()) {\n this.closeEmitter.emit();\n }\n }\n\n onEnter() {\n if (!this.multiple()) {\n this.closeEmitter.emit();\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\n/**\n * Utility service for common operations.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class Utils {\n private debounceTimers = new Map<string, any>();\n\n /**\n * Executes a function after a delay, canceling any previous calls with the same key.\n *\n * @param key - Unique key to identify the debounce timer.\n * @param func - The function to debounce.\n * @param delay - The delay in milliseconds before executing the function.\n */\n debounce(key: string, func: () => void, delay: number): void {\n clearTimeout(this.debounceTimers.get(key));\n this.debounceTimers.set(key, setTimeout(func, delay));\n }\n\n /**\n * Cancels the debounce timer for a specific key.\n *\n * @param key - Unique key to identify the debounce timer.\n */\n stopDebounce(key: string): void {\n clearTimeout(this.debounceTimers.get(key));\n this.debounceTimers.delete(key);\n }\n}\n","import {\n Component,\n computed,\n contentChild,\n ElementRef,\n inject,\n input,\n signal,\n output,\n OnDestroy,\n} from '@angular/core';\nimport { CdkTrapFocus } from '@angular/cdk/a11y';\nimport { CommandOptionsComponent } from './command-options.component';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { Input } from '../input/input';\nimport { Utils } from '../../../shared/services/utils';\n\n/**\n * Component representing a command input with associated options.\n * It provides keyboard navigation and focus trapping for accessibility.\n */\n@Component({\n selector: 'b-command',\n imports: [Input, CdkTrapFocus],\n template: `<input\n type=\"text\"\n b-input\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"isDesktop()\"\n #trappedInput\n (keydown.arrowDown)=\"commandOptions()?.nextOption()\"\n (keydown.arrowUp)=\"commandOptions()?.previousOption()\"\n (keydown.enter)=\"commandOptions()?.selectOption()\"\n (blur)=\"isDesktop() && trappedInput.el.nativeElement.focus()\"\n (input)=\"onInput($event)\" />\n <ng-content />`,\n host: {\n '[style.maxHeight]': 'maxHeight()',\n },\n})\nexport class CommandComponent implements OnDestroy {\n /**\n * Reference to the child `CommandOptionsComponent` if present.\n * Used to interact with the options for navigation and selection.\n */\n readonly commandOptions = contentChild(CommandOptionsComponent);\n\n /**\n * Input representing the maximum height of the component.\n * This can be used to control the visual appearance of the command component.\n */\n readonly maxHeight = input('300px');\n\n /**\n * Computed signal representing the selected value from the command options.\n * This is linked to the value of the `CommandOptionsComponent`.\n */\n readonly value = computed(() => this.commandOptions()?.value());\n\n /**\n * Computed signal representing the options available in the command options.\n * This is linked to the options of the `CommandOptionsComponent`.\n */\n readonly options = computed(() => this.commandOptions()?.options());\n\n /**\n * Reference to the BreakpointObserver service for responsive design.\n */\n breakpointObserver = inject(BreakpointObserver);\n\n /**\n * Signal representing whether the current viewport is desktop or not.\n * This is determined by checking if the Handset breakpoint is matched.\n */\n readonly isDesktop = signal(\n !this.breakpointObserver.isMatched(Breakpoints.Handset)\n );\n\n /**\n * Reference to the host element of the component.\n * This provides access to the DOM element of the command component.\n */\n el = inject(ElementRef);\n\n /**\n * Output that emits the current input value.\n */\n readonly inputValueChange = output<string>();\n\n /**\n * Input to control debounce time (ms) for valueChange emission.\n */\n readonly debounce = input(0);\n\n /**\n * Reference to the Utils for debounce logic.\n */\n private utils = inject(Utils);\n\n /**\n * Unique key for debounce timer.\n */\n private readonly debounceKey = 'command-input';\n\n /**\n * Handler for input event, emits value with debounce if set.\n */\n onInput(event: Event) {\n const value = (event.target as HTMLInputElement).value;\n const debounceMs = this.debounce();\n if (debounceMs && debounceMs > 0) {\n this.utils.debounce(\n this.debounceKey,\n () => this.inputValueChange.emit(value),\n debounceMs\n );\n } else {\n this.inputValueChange.emit(value);\n }\n }\n\n ngOnDestroy() {\n this.utils.stopDebounce(this.debounceKey);\n }\n}\n","import { CdkOverlayOrigin } from '@angular/cdk/overlay';\nimport { Directive, ElementRef, inject } from '@angular/core';\n\n/**\n * Directive to mark an element as a trigger for an overlay.\n * Integrates with Angular CDK's `CdkOverlayOrigin` to provide\n * a reference point for overlay positioning.\n */\n@Directive({\n selector: '[bOverlayOrigin]',\n hostDirectives: [CdkOverlayOrigin],\n exportAs: 'bOverlayOrigin',\n})\nexport class OverlayOrigin {\n /**\n * Reference to the `CdkOverlayOrigin` instance.\n * Used as the origin point for overlay positioning.\n */\n trigger = inject(CdkOverlayOrigin);\n\n /**\n * Reference to the `ElementRef` of the host element.\n * This is used to access the native DOM element.\n */\n el = inject(ElementRef);\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'b-input-group',\n template: `<ng-content />`,\n})\nexport class InputGroup {}\n","import {\n Component,\n inject,\n OnInit,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { CdkPortalOutlet } from '@angular/cdk/portal';\nimport { CdkDialogContainer, DialogRef } from '@angular/cdk/dialog';\nimport { DialogConfig, DialogManager } from '../../services/dialog-manager';\n\n/** Dialog content container that renders projected portal content for a dialog instance.\n *\n * @remarks Extends CdkDialogContainer to integrate with Angular CDK dialog infrastructure.\n */\n@Component({\n selector: 'b-dialog-content',\n template: `<ng-template cdkPortalOutlet />`,\n encapsulation: ViewEncapsulation.None,\n imports: [CdkPortalOutlet],\n host: {\n '[class.leaving]': 'leaving()',\n },\n})\nexport class DialogContent extends CdkDialogContainer implements OnInit {\n /** Reference to the active dialog instance used to control lifecycle and closing. */\n dialogRef = inject(DialogRef);\n\n /** Service that orchestrates opening and closing of dialog instances. */\n dialogManager = inject(DialogManager);\n\n /** Tracks whether the dialog is in its leaving (closing) animation state. */\n readonly leaving = signal(false);\n\n /** Initializes the dialog content component by calling the superclass constructor. */\n constructor() {\n super();\n }\n\n /** Initializes component logic and subscribes to dialog events. */\n ngOnInit(): void {\n this.handleDialogEvents();\n }\n\n /** Handles all dialog behavioral event subscriptions based on provided configuration data. */\n handleDialogEvents(): void {\n const data = this._config?.data as DialogConfig | undefined;\n\n if (!data) {\n return;\n }\n\n this.handleBackdropClose(data);\n this.handleEscapeKeyClose(data);\n }\n\n /** Subscribes to backdrop clicks to close the dialog when enabled in config.\n *\n * @param data - Dialog configuration containing close behavior flags.\n */\n handleBackdropClose(data: DialogConfig): void {\n if (data.closeOnBackdropClick) {\n this.dialogRef.backdropClick.subscribe((): void => {\n this.dialogManager.closeDialog(this.dialogRef.id);\n });\n }\n }\n\n /** Subscribes to keydown events to close the dialog on Escape key when enabled.\n *\n * @param data - Dialog configuration containing close behavior flags.\n */\n handleEscapeKeyClose(data: DialogConfig): void {\n if (data.closeOnEscapeKey) {\n this.dialogRef.keydownEvents.subscribe((event: KeyboardEvent): void => {\n if (event.key === 'Escape') {\n this.dialogManager.closeDialog(this.dialogRef.id);\n }\n });\n }\n }\n}\n","import { Dialog } from '@angular/cdk/dialog';\nimport { inject, Injectable, TemplateRef } from '@angular/core';\nimport { DialogContent } from '../components/dialog/dialog-content';\nimport { Utils } from '../../shared/services/utils';\n\n/**\n * Represents the template and configuration registered for a dialog instance.\n */\nexport interface DialogData {\n /** Template reference rendered inside the dialog. */\n template: TemplateRef<any>;\n /** Configuration applied when opening the dialog. */\n config: DialogConfig;\n}\n\n/**\n * Configuration options that control dialog behavior and interaction.\n */\nexport interface DialogConfig {\n /** Whether a backdrop is displayed behind the dialog. */\n hasBackdrop: boolean;\n /** Whether focus is restored to the previously focused element after close. */\n restoreFocus: boolean;\n /** Delay in milliseconds before the dialog finishes closing. */\n closeDelay: number;\n /** Whether clicking the backdrop should request dialog closure. */\n closeOnBackdropClick: boolean;\n /** Whether pressing the Escape key should request dialog closure. */\n closeOnEscapeKey: boolean;\n}\n\n/**\n * Provides registration and lifecycle control for application dialogs.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DialogManager {\n /** Angular CDK dialog service used to manage overlay instances. */\n private readonly dialog = inject(Dialog);\n\n /** Utility service used for debounced close behavior. */\n private readonly utils = inject(Utils);\n\n /** Registry mapping dialog identifiers to their data. */\n private readonly dialogs = new Map<string, DialogData>();\n\n /**\n * Registers a dialog definition under a unique identifier, overwriting any existing entry.\n *\n * @param id - Unique identifier for the dialog.\n * @param data - Template and configuration to register.\n */\n registerDialog(id: string, data: DialogData): void {\n if (this.dialogs.has(id)) {\n console.warn(\n `[DialogManager] Dialog with id \"${id}\" is already registered. Overwriting.`\n );\n }\n this.dialogs.set(id, data);\n }\n\n /**\n * Removes a previously registered dialog definition.\n *\n * @param id - Identifier of the dialog to remove.\n */\n removeDialog(id: string): void {\n this.dialogs.delete(id);\n }\n\n /**\n * Opens a dialog using its registered template and configuration.\n *\n * @param id - Identifier of the dialog to open.\n * @throws Error - When no dialog is registered with the provided identifier.\n */\n openDialog(id: string): void {\n const dialogData = this.dialogs.get(id);\n if (!dialogData) {\n throw new Error(\n `[DialogManager] Dialog with id \"${id}\" not found. Ensure the bDialog directive is applied correctly.`\n );\n }\n this.dialog.open(dialogData.template, {\n id: id,\n disableClose: true,\n restoreFocus: dialogData.config.restoreFocus,\n backdropClass: 'b-dialog-content-backdrop',\n container: DialogContent,\n data: dialogData.config,\n });\n }\n\n /**\n * Closes a dialog by identifier applying any configured close delay.\n *\n * @param id - Identifier of the dialog to close.\n */\n closeDialog(id: string): void {\n const config = this.dialogs.get(id)?.config;\n if (!config) {\n console.warn(\n `[DialogManager] Attempted to close dialog with id \"${id}\", but no open dialog with that id was found.`\n );\n return;\n }\n const dialogRef = this.dialog.getDialogById(id);\n if (dialogRef) {\n const container = dialogRef.containerInstance as any;\n if (container && container.leaving) {\n container.leaving.set(true);\n }\n this.utils.debounce(\n 'close-dialog-' + id,\n () => {\n dialogRef.close();\n if (container && container.leaving) {\n container.leaving.set(false);\n }\n },\n config.closeDelay\n );\n } else {\n console.warn(\n `[DialogManager] Attempted to close dialog with id \"${id}\", but no open dialog with that id was found.`\n );\n }\n }\n\n /**\n * Closes all currently open dialogs immediately.\n */\n closeAllDialogs(): void {\n this.dialog.closeAll();\n }\n}\n","import {\n computed,\n Directive,\n inject,\n input,\n OnDestroy,\n OnInit,\n TemplateRef,\n output,\n} from '@angular/core';\nimport { DialogData, DialogManager } from '../services/dialog-manager';\n\n/**\n * Directive that registers and controls a dialog template instance.\n *\n * Registers itself in the {@link DialogManager} on init and exposes open/close APIs.\n */\n@Directive({\n selector: '[bDialog]',\n exportAs: 'bDialog',\n host: {\n '(keydown.escape)': 'closeOnEscapeKey() ? close() : null',\n },\n})\nexport class Dialog implements OnInit, OnDestroy {\n /**\n * Unique dialog identifier bound from the `bDialog` attribute.\n */\n readonly id = input.required<string>({ alias: 'bDialog' });\n\n /**\n * Whether the dialog renders a backdrop element.\n *\n * @defaultValue true\n */\n readonly hasBackdrop = input<boolean>(true);\n\n /**\n * Closes the dialog when the user clicks on the backdrop.\n *\n * @defaultValue true\n */\n readonly closeOnBackdropClick = input<boolean>(true);\n\n /**\n * Closes the dialog when the Escape key is pressed while focused inside.\n *\n * @defaultValue true\n */\n readonly closeOnEscapeKey = input<boolean>(true);\n\n /**\n * Restores focus to the previously focused element after the dialog closes.\n *\n * @defaultValue true\n */\n readonly restoreFocus = input<boolean>(true);\n\n /**\n * Delay in milliseconds before the dialog is fully closed (useful for animations).\n *\n * @defaultValue 150\n */\n readonly closeDelay = input<number>(150);\n\n /**\n * Computed dialog data passed to the service containing template and configuration.\n */\n readonly data = computed<DialogData>(() => ({\n template: this.templateRef,\n config: {\n hasBackdrop: this.hasBackdrop(),\n restoreFocus: this.restoreFocus(),\n closeDelay: this.closeDelay(),\n closeOnBackdropClick: this.closeOnBackdropClick(),\n closeOnEscapeKey: this.closeOnEscapeKey(),\n },\n }));\n\n /**\n * Delay in milliseconds before opening the dialog (for entrance timing / animations).\n *\n * @defaultValue 0\n */\n readonly openDelay = input<number>(0);\n\n /**\n * Event emitted after the dialog has been programmatically or automatically closed.\n */\n readonly closed = output<void>();\n\n /**\n * Reference to the dialog service handling registration and state.\n */\n private readonly dialogManager = inject(DialogManager);\n\n /**\n * Template reference representing the dialog content projected when opened.\n */\n private readonly templateRef = inject(TemplateRef<any>);\n\n /**\n * Lifecycle hook that registers the dialog with the dialog service.\n */\n ngOnInit() {\n this.dialogManager.registerDialog(this.id(), this.data());\n }\n\n /**\n * Opens the dialog via the dialog service using its identifier.\n */\n open(): void {\n this.dialogManager.openDialog(this.id());\n }\n\n /**\n * Closes the dialog and emits the `closed` output.\n */\n close(): void {\n this.dialogManager.closeDialog(this.id());\n this.closed.emit();\n }\n\n /**\n * Lifecycle hook that removes the dialog from the dialog service registry.\n */\n ngOnDestroy(): void {\n this.dialogManager.removeDialog(this.id());\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'b-card',\n template: ` <ng-content /> `,\n})\nexport class Card {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'b-card-header',\n template: ` <ng-content /> `,\n})\nexport class CardHeader {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'b-card-title',\n template: ` <ng-content /> `,\n})\nexport class CardTitle {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'b-card-description',\n template: ` <ng-content /> `,\n})\nexport class CardDescription {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'b-card-content',\n template: ` <ng-content /> `,\n})\nexport class CardContent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'b-card-footer',\n template: ` <ng-content /> `,\n})\nexport class CardFooter {}\n","import { Injectable, signal, computed, inject } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\n/**\n * Dictionary type for translations.\n * Maps language codes to key-value pairs of translation strings.\n */\nexport type TranslationDictionary = Record<string, Record<string, string>>;\n\n/**\n * Service for managing translations and language switching.\n *\n * @remarks\n * - Loads language files via HTTP.\n * - Provides reactive signals for language and dictionary.\n * - Use `translate(key)` to get the translated string for the current language.\n *\n * @example\n * ```typescript\n * translationManager.setLanguage('es');\n * translationManager.translate('home.title');\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class TranslationManager {\n /** Current language code. */\n private readonly _language = signal<string>('en');\n\n /** Dictionary of translations. */\n private readonly _dictionary = signal<TranslationDictionary>({});\n\n /** Reactive signal for current language. */\n readonly language = computed(() => this._language());\n\n /** Reactive signal for current dictionary. */\n readonly dictionary = computed(() => this._dictionary());\n\n /** HttpClient for loading language files. */\n private http = inject(HttpClient);\n\n /**\n * Sets the current language and loads its dictionary.\n * @param lang - Language code (e.g., 'en', 'es').\n */\n setLanguage(lang: string): void {\n this._language.set(lang);\n this.loadLanguage(lang);\n }\n\n /**\n * Sets the translation dictionary directly.\n * @param dict - Translation dictionary object.\n */\n setDictionary(dict: TranslationDictionary): void {\n this._dictionary.set(dict);\n }\n\n /**\n * Translates a key using the current language.\n * @param key - Dot-separated translation key (e.g., 'home.title').\n * @returns Translated string or the key if not found.\n */\n translate(key: string): string {\n const lang = this._language();\n const dict = this._dictionary();\n const value = this.resolveKey(dict[lang], key);\n return value ?? key;\n }\n\n /**\n * Resolves a dot-separated key in an object.\n * @param obj - Object to resolve key in.\n * @param key - Dot-separated key string.\n * @returns Value or undefined if not found.\n */\n private resolveKey(obj: any, key: string): string | undefined {\n if (!obj) return undefined;\n return key\n .split('.')\n .reduce(\n (acc, part) => (acc && acc[part] !== undefined ? acc[part] : undefined),\n obj\n );\n }\n\n /**\n * Loads a language file via HTTP and updates the dictionary.\n * @param lang - Language code to load.\n */\n loadLanguage(lang: string): void {\n this.http.get<Record<string, string>>(`/lang/${lang}.json`).subscribe({\n next: translations => {\n const dict = { ...this._dictionary() };\n dict[lang] = translations;\n this._dictionary.set(dict);\n },\n error: () => {\n // If loading fails, do not update the dictionary\n },\n });\n }\n}\n","import { Pipe, PipeTransform, inject, ChangeDetectorRef } from '@angular/core';\nimport { TranslationManager } from '../services/translation-manager';\n\n@Pipe({\n name: 'translate',\n pure: false,\n})\nexport class TranslatePipe implements PipeTransform {\n private translationManager = inject(TranslationManager);\n private cdr = inject(ChangeDetectorRef);\n private lastLang: string | undefined;\n\n transform(key: string): string {\n const lang = this.translationManager.language();\n if (lang !== this.lastLang) {\n this.lastLang = lang;\n this.cdr.markForCheck();\n }\n return this.translationManager.translate(key);\n }\n}\n","/*\n * Public API Surface of basis-ng\n */\n\n/* Theme Manager */\nexport * from './core/services/theme-manager';\n\n/* Button */\nexport * from './core/components/button/button';\nexport * from './core/components/button-group/button-group';\n\n/* Directives */\nexport * from './shared/directives/lazy-content.directive';\n\n/* Input */\nexport * from './core/components/input/input';\n\n/* Select */\nexport * from './core/components/select/select';\nexport * from './core/components/select/shared/components/select-trigger';\nexport * from './core/components/select/shared/components/select-value';\nexport * from './core/components/select/shared/components/select-content';\nexport * from './shared/components/option.component';\nexport * from './core/components/select/shared/directives/select-filter';\n\n/* Spinner */\nexport * from './core/components/spinner/spinner';\n\n/* Switch */\nexport * from './core/components/switch/switch';\n\n/* Table */\nexport * from './core/components/table/table.component';\nexport * from './core/components/table/components/row/row.component';\nexport * from './core/components/table/components/row/components/row-item/row-item.component';\n\n/* Tabs */\nexport * from './core/components/tabs/tabs';\nexport * from './core/components/tabs/tab';\n\n/* Sheet */\nexport * from './core/components/sheet/sheet';\n\n/* Drawer */\nexport * from './core/components/drawer/drawer.component';\n\n/* Responsive */\nexport * from './core/services/responsive-manager';\n\n/* OTP */\nexport * from './core/components/otp/otp';\n\n/* Badge */\nexport * from './core/components/badge/badge';\n\n/* Checkbox */\nexport * from './core/components/checkbox/checkbox';\n\n/* Textarea */\nexport * from './core/components/textarea/textarea';\n\n/* Range */\nexport * from './core/components/range/range';\n\n/* Badge */\nexport * from './core/components/badge/badge';\n\n/* Tooltip */\nexport * from './core/components/tooltip/tooltip';\nexport * from './core/components/tooltip/shared/directives/tooltip-trigger';\nexport * from './core/components/tooltip/shared/components/tooltip-content';\n\n/* Color Picker */\nexport * from './core/components/color-picker/color-picker';\n\n/* Tree */\nexport * from './core/components/tree/tree';\nexport * from './core/components/tree/shared/components/tree-node/tree-node';\n\n/* Menu */\nexport * from './core/components/menu/menu';\nexport * from './core/components/menu/shared/components/menu-group';\nexport * from './core/components/menu/shared/components/menu-label';\nexport * from './core/components/menu/shared/components/menu-item';\nexport * from './core/components/menu/shared/components/menu-item-checkbox';\nexport * from './core/components/menu/shared/components/menu-item-radio';\nexport * from './core/components/menu/shared/directives/menu-trigger.directive';\n\n/* Alert */\nexport * from './core/components/alert/alert';\n\n/* Command */\nexport * from './core/components/command/command.component';\nexport * from './core/components/command/command-options.component';\n/* Overlay */\nexport * from './core/directives/overlay-origin';\nexport * from './core/directives/connected-overlay';\n\n/* Input Group */\nexport * from './core/components/input-group/input-group';\n\n/* Dialog */\nexport * from './core/services/dialog-manager';\nexport * from './core/directives/dialog';\n\n/* Card */\nexport * from './core/components/card/card';\nexport * from './core/components/card/card-header';\nexport * from './core/components/card/card-title';\nexport * from './core/components/card/card-description';\nexport * from './core/components/card/card-content';\nexport * from './core/components/card/card-footer';\n\n/* Translation Manager */\nexport * from './core/services/translation-manager';\n\n// pipe\nexport * from './core/pipes/translate.pipe';\n\n/* Types */\n\n/* Position */\nexport * from './shared/types/position.type';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","Dialog"],"mappings":"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"}
|
package/package.json
CHANGED