@basis-ng/primitives 0.0.1-alpha.39 → 0.0.1-alpha.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,13 +1,5 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
|
-
export declare class
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
*/
|
|
6
|
-
readonly bordered: import("@angular/core").InputSignal<boolean>;
|
|
7
|
-
/**
|
|
8
|
-
* The maximum width of the input.
|
|
9
|
-
*/
|
|
10
|
-
readonly maxWidth: import("@angular/core").InputSignal<string>;
|
|
11
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<InputGroup, never>;
|
|
12
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<InputGroup, "b-input-group", never, { "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
2
|
+
export declare class InputGroupComponent {
|
|
3
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<InputGroupComponent, never>;
|
|
4
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<InputGroupComponent, "b-input-group", never, {}, {}, never, ["*"], true, never>;
|
|
13
5
|
}
|
|
@@ -1589,30 +1589,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImpor
|
|
|
1589
1589
|
}]
|
|
1590
1590
|
}] });
|
|
1591
1591
|
|
|
1592
|
-
class InputGroup {
|
|
1593
|
-
/**
|
|
1594
|
-
* Whether the input group elements are separated by a border.
|
|
1595
|
-
*/
|
|
1596
|
-
bordered = input(true);
|
|
1597
|
-
/**
|
|
1598
|
-
* The maximum width of the input.
|
|
1599
|
-
*/
|
|
1600
|
-
maxWidth = input('');
|
|
1601
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: InputGroup, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1602
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.7", type: InputGroup, isStandalone: true, selector: "b-input-group", inputs: { bordered: { classPropertyName: "bordered", publicName: "bordered", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.bordered": "bordered()", "style.max-width": "maxWidth()" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
|
|
1603
|
-
}
|
|
1604
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: InputGroup, decorators: [{
|
|
1605
|
-
type: Component,
|
|
1606
|
-
args: [{
|
|
1607
|
-
selector: 'b-input-group',
|
|
1608
|
-
template: `<ng-content />`,
|
|
1609
|
-
host: {
|
|
1610
|
-
'[class.bordered]': 'bordered()',
|
|
1611
|
-
'[style.max-width]': 'maxWidth()',
|
|
1612
|
-
},
|
|
1613
|
-
}]
|
|
1614
|
-
}] });
|
|
1615
|
-
|
|
1616
1592
|
class Range {
|
|
1617
1593
|
/**
|
|
1618
1594
|
* Current value of the range.
|
|
@@ -2951,6 +2927,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImpor
|
|
|
2951
2927
|
args: ['window:resize']
|
|
2952
2928
|
}] } });
|
|
2953
2929
|
|
|
2930
|
+
class InputGroupComponent {
|
|
2931
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: InputGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2932
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.7", type: InputGroupComponent, isStandalone: true, selector: "b-input-group", ngImport: i0, template: `<ng-content />`, isInline: true });
|
|
2933
|
+
}
|
|
2934
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: InputGroupComponent, decorators: [{
|
|
2935
|
+
type: Component,
|
|
2936
|
+
args: [{
|
|
2937
|
+
selector: 'b-input-group',
|
|
2938
|
+
template: `<ng-content />`,
|
|
2939
|
+
}]
|
|
2940
|
+
}] });
|
|
2941
|
+
|
|
2954
2942
|
/*
|
|
2955
2943
|
* Public API Surface of basis-ng
|
|
2956
2944
|
*/
|
|
@@ -2960,5 +2948,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImpor
|
|
|
2960
2948
|
* Generated bundle index. Do not edit.
|
|
2961
2949
|
*/
|
|
2962
2950
|
|
|
2963
|
-
export { Alert, Badge, BottomSheet, Button, ButtonGroup, Checkbox, ColorPicker, ComboboxComponent, CommandComponent, CommandOptionsComponent, Icon, InViewportDirective, InViewportService, Input,
|
|
2951
|
+
export { Alert, Badge, BottomSheet, Button, ButtonGroup, Checkbox, ColorPicker, ComboboxComponent, CommandComponent, CommandOptionsComponent, Icon, InViewportDirective, InViewportService, Input, InputGroupComponent, LazyContentDirective, Menu, MenuGroupComponent, MenuItemCheckboxComponent, MenuItemComponent, MenuItemRadioComponent, MenuLabel, MenuTrigger, OptionComponent, OverlayDirective, OverlayTriggerDirective, Range, ResponsiveService, Row, RowItem, SelectComponent, SelectOptionsComponent, SideSheet, Spinner, Switch, TabComponent, Table, TabsComponent, Textarea, ThemeService, TooltipDirective, Tree, TreeNode };
|
|
2964
2952
|
//# sourceMappingURL=basis-ng-primitives.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basis-ng-primitives.mjs","sources":["../../../projects/primitives/src/core/services/theme.service.ts","../../../projects/primitives/src/core/components/button/button.component.ts","../../../projects/primitives/src/core/components/button-group/button-group.component.ts","../../../projects/primitives/src/shared/directives/lazy-content.directive.ts","../../../projects/primitives/src/core/components/input/input.component.ts","../../../projects/primitives/src/shared/components/option.component.ts","../../../projects/primitives/src/core/components/select/select-options.component.ts","../../../projects/primitives/src/core/components/icon/icon.component.ts","../../../projects/primitives/src/core/directives/overlay-trigger.directive.ts","../../../projects/primitives/src/core/directives/overlay.directive.ts","../../../projects/primitives/src/core/components/select/select.component.ts","../../../projects/primitives/src/core/components/spinner/spinner.component.ts","../../../projects/primitives/src/core/components/spinner/spinner.component.html","../../../projects/primitives/src/core/components/switch/switch.component.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.component.ts","../../../projects/primitives/src/core/components/tabs/tabs.component.ts","../../../projects/primitives/src/core/services/in-viewport.service.ts","../../../projects/primitives/src/core/directives/in-viewport.directive.ts","../../../projects/primitives/src/core/components/side-sheet/side-sheet.component.ts","../../../projects/primitives/src/core/components/side-sheet/side-sheet.component.html","../../../projects/primitives/src/core/components/bottom-sheet/bottom-sheet.component.ts","../../../projects/primitives/src/core/components/bottom-sheet/bottom-sheet.component.html","../../../projects/primitives/src/core/services/responsive.service.ts","../../../projects/primitives/src/core/components/badge/badge.component.ts","../../../projects/primitives/src/core/components/checkbox/checkbox.component.ts","../../../projects/primitives/src/core/components/textarea/textarea.component.ts","../../../projects/primitives/src/core/components/input-group/input-group.component.ts","../../../projects/primitives/src/core/components/range/range.component.ts","../../../projects/primitives/src/shared/services/utils.service.ts","../../../projects/primitives/src/core/components/tooltip/tooltip.component.ts","../../../projects/primitives/src/core/components/tooltip/tooltip.directive.ts","../../../projects/primitives/src/core/components/color-picker/color-picker.component.ts","../../../projects/primitives/src/core/components/tree/shared/components/tree-node/tree-node.component.ts","../../../projects/primitives/src/core/components/tree/shared/components/tree-node/tree-node.component.html","../../../projects/primitives/src/core/components/tree/tree.component.ts","../../../projects/primitives/src/core/components/menu/menu.component.ts","../../../projects/primitives/src/core/components/menu/shared/components/menu-label/menu-label.component.ts","../../../projects/primitives/src/core/components/menu/shared/components/menu-item/menu-item.component.ts","../../../projects/primitives/src/core/components/menu/shared/components/menu-group/menu-group.component.ts","../../../projects/primitives/src/core/components/menu/shared/components/menu-item-checkbox/menu-item-checkbox.component.ts","../../../projects/primitives/src/core/components/menu/shared/components/menu-item-radio/menu-item-radio.component.ts","../../../projects/primitives/src/core/components/menu/shared/directives/menu-trigger.directive.ts","../../../projects/primitives/src/core/components/alert/alert.component.ts","../../../projects/primitives/src/core/components/alert/alert.component.html","../../../projects/primitives/src/core/components/command/command-options.component.ts","../../../projects/primitives/src/core/components/command/command.component.ts","../../../projects/primitives/src/core/components/combobox/combobox.component.ts","../../../projects/primitives/src/public-api.ts","../../../projects/primitives/src/basis-ng-primitives.ts"],"sourcesContent":["import { Injectable, Renderer2, RendererFactory2, inject } from '@angular/core';\r\nimport { signal } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ThemeService {\r\n /**\r\n * Signal representing the current theme.\r\n *\r\n * Possible values:\r\n * - `'light'`: Light theme.\r\n * - `'dark'`: Dark theme.\r\n * - `'auto'`: Automatically determine the theme.\r\n */\r\n readonly theme = signal<'light' | 'dark' | 'auto'>('auto');\r\n\r\n /**\r\n * Renderer2 instance for manipulating the DOM.\r\n * Used to set the `data-theme` attribute on the document root (`<html>`).\r\n */\r\n private renderer: Renderer2;\r\n\r\n /**\r\n * RendererFactory2 instance for creating Renderer2 instances.\r\n * Injected to create the renderer.\r\n */\r\n private rendererFactory = inject(RendererFactory2);\r\n\r\n constructor() {\r\n this.renderer = this.rendererFactory.createRenderer(null, null);\r\n }\r\n\r\n /**\r\n * Applies the specified theme to the document root (`<html>`).\r\n *\r\n * @param theme - The theme to apply. Possible values:\r\n * - `'light'`: Apply the light theme.\r\n * - `'dark'`: Apply the dark theme.\r\n * - `'auto'`: Remove the theme attribute and let the system decide.\r\n */\r\n applyTheme(theme: 'light' | 'dark' | 'auto'): void {\r\n this.theme.set(theme);\r\n if (theme === 'auto') {\r\n this.removeTheme();\r\n return;\r\n }\r\n this.renderer.setAttribute(document.documentElement, 'data-theme', theme);\r\n }\r\n\r\n /**\r\n * Toggles the theme between `'light'` and `'dark'`.\r\n * If the current theme is `'light'`, it switches to `'dark'`, and vice versa.\r\n */\r\n toggleTheme(): void {\r\n this.applyTheme(this.theme() === 'light' ? 'dark' : 'light');\r\n }\r\n\r\n /**\r\n * Removes the `data-theme` attribute from the document body.\r\n * This is used when the theme is set to `'auto'`.\r\n */\r\n removeTheme(): void {\r\n this.renderer.removeAttribute(document.documentElement, 'data-theme');\r\n }\r\n}\r\n","import { Component, ElementRef, inject, input } from '@angular/core';\r\n\r\n/**\r\n * Button component that provides various styles and configurations.\r\n */\r\n@Component({\r\n selector: 'button[b-button]',\r\n template: ` <ng-content />`,\r\n host: {\r\n '[class]': 'variant() + \" size-\" + size()',\r\n '[class.active]': 'activeEnabled()',\r\n '[class.squared]': 'squared()',\r\n },\r\n})\r\nexport class Button {\r\n /**\r\n * Defines the visual style of the button.\r\n *\r\n * @defaultValue 'primary'\r\n */\r\n readonly variant = input<'primary' | 'secondary' | 'ghost' | 'outlined'>(\r\n 'primary'\r\n );\r\n\r\n /**\r\n * Specifies the size of the button.\r\n *\r\n * @defaultValue '2'\r\n */\r\n readonly size = input<'1' | '2' | '3'>('2');\r\n\r\n /**\r\n * Determines whether the button has an active state enabled.\r\n *\r\n * @defaultValue true\r\n */\r\n readonly activeEnabled = input(true);\r\n\r\n /**\r\n * Indicates whether the button should have squared corners.\r\n *\r\n * @defaultValue false\r\n */\r\n readonly squared = input(false);\r\n\r\n /**\r\n * Reference to the host DOM element.\r\n */\r\n el = inject(ElementRef);\r\n}\r\n","import { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'b-button-group',\r\n template: `<ng-content />`,\r\n host: {\r\n class: 'button-group',\r\n '[class.spaced]': 'spaced()',\r\n },\r\n})\r\nexport class ButtonGroup {\r\n /**\r\n * Whether the buttons should be spaced.\r\n */\r\n readonly spaced = input<boolean>(false);\r\n}\r\n","import { Directive, inject, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[b-lazy]',\r\n standalone: true,\r\n})\r\nexport class LazyContentDirective {\r\n tpl = inject(TemplateRef);\r\n}\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n computed,\r\n ElementRef,\r\n inject,\r\n input,\r\n} from '@angular/core';\r\nimport { NgModel } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'input[b-input]',\r\n template: ``,\r\n host: {\r\n '[type]': 'type()',\r\n '[style.max-width]': 'maxWidth()',\r\n '(input)': 'onInput($event)',\r\n '(blur)': 'onBlur($event)',\r\n '[class]': ' \"size-\" + size() ',\r\n },\r\n})\r\nexport class Input implements AfterViewInit {\r\n /**\r\n * The type of the input.\r\n */\r\n readonly type = input<'text' | 'number' | 'password' | 'email'>('text');\r\n\r\n /**\r\n * The maximum width of the input.\r\n */\r\n readonly maxWidth = input<string>('');\r\n\r\n /**\r\n * The number of decimal places for number input.\r\n */\r\n readonly decimals = input<number>(2);\r\n\r\n /**\r\n * The type of number input (integer or decimal).\r\n */\r\n readonly numberType = input<'integer' | 'decimal'>('integer');\r\n\r\n /**\r\n * Whether the input type is number.\r\n */\r\n readonly isNumberType = computed(() => this.type() === 'number');\r\n\r\n /**\r\n * Reference to the input element.\r\n */\r\n readonly el = inject<ElementRef<HTMLInputElement>>(ElementRef);\r\n\r\n /**\r\n * Reference to the ngModel directive.\r\n */\r\n private ngModel = inject(NgModel, { optional: true });\r\n\r\n /**\r\n * The size of the input.\r\n */\r\n readonly size = input<'1' | '2' | '3'>('2');\r\n\r\n /**\r\n * After the view has been initialized, set the value of the select.\r\n */\r\n ngAfterViewInit(): void {\r\n const value = this.el.nativeElement.value || this.ngModel?.model;\r\n if (this.isNumberType()) {\r\n const formattedValue = this.formatNumber(value) || '';\r\n this.setValue(formattedValue);\r\n }\r\n }\r\n\r\n /**\r\n * Sets the value of the input element.\r\n * @param value The value to set.\r\n */\r\n setValue(value: string): void {\r\n this.el.nativeElement.value = value;\r\n }\r\n\r\n /**\r\n * Handles the input event.\r\n * @param event The input event.\r\n */\r\n onInput(event: Event): void {\r\n const target = event.target as HTMLInputElement;\r\n\r\n // If the input is not of number type, update the value and emit the value change event.\r\n if (!this.isNumberType()) {\r\n this.setValue(target.value);\r\n }\r\n }\r\n\r\n /**\r\n * The blur event handler.\r\n * @param event - The blur event.\r\n */\r\n onBlur(event: any): void {\r\n // If the input is of number type, format the value and emit the value change event.\r\n if (this.isNumberType()) {\r\n const formattedValue = this.formatNumber(event.target.value);\r\n this.setValue(formattedValue || '');\r\n }\r\n }\r\n\r\n /**\r\n * Formats the number value.\r\n * @param value - The value to format.\r\n * @returns The formatted value.\r\n */\r\n formatNumber(value: string | null) {\r\n if (value) {\r\n const numericValue = Number(value);\r\n return this.numberType() === 'integer'\r\n ? Math.round(numericValue).toString()\r\n : numericValue.toFixed(this.decimals());\r\n } else {\r\n return null;\r\n }\r\n }\r\n}\r\n","import { CdkOption } from '@angular/cdk/listbox';\r\nimport { Component, ElementRef, inject } from '@angular/core';\r\n\r\n/**\r\n * Component representing an individual option in a select or combobox.\r\n * This component integrates with Angular CDK Option to manage the option's state and behavior.\r\n */\r\n@Component({\r\n selector: 'li[b-option]',\r\n imports: [],\r\n template: `<ng-content />`,\r\n hostDirectives: [\r\n {\r\n directive: CdkOption,\r\n inputs: ['cdkOption: value'],\r\n },\r\n ],\r\n})\r\nexport class OptionComponent {\r\n /**\r\n * The `ElementRef` of the option.\r\n * This provides direct access to the DOM element of the option.\r\n */\r\n el = inject(ElementRef);\r\n\r\n /**\r\n * The `CdkOption` instance associated with this option.\r\n * This provides methods and properties for managing the option's state, such as selection and value.\r\n */\r\n cdkOption = inject(CdkOption);\r\n}\r\n","import { CdkListbox } from '@angular/cdk/listbox';\r\nimport {\r\n Component,\r\n contentChildren,\r\n ElementRef,\r\n inject,\r\n input,\r\n output,\r\n signal,\r\n} from '@angular/core';\r\nimport { OptionComponent } from '../../../shared/components/option.component';\r\n\r\n/**\r\n * Component representing the list of options in a select.\r\n * This component integrates with Angular CDK Listbox to manage options and their selection.\r\n */\r\n@Component({\r\n selector: 'ul[b-select-options]',\r\n imports: [],\r\n template: `<ng-content />`,\r\n hostDirectives: [\r\n {\r\n directive: CdkListbox,\r\n inputs: ['cdkListboxValue'],\r\n outputs: ['cdkListboxValueChange'],\r\n },\r\n ],\r\n host: {\r\n '[cdkListboxValue]': 'value()',\r\n '(cdkListboxValueChange)': 'handleValueChange($event.value)',\r\n '[style.max-height]': 'maxHeight()',\r\n '(keydown.enter)': 'closeEmitter.emit()',\r\n },\r\n})\r\nexport class SelectOptionsComponent {\r\n /**\r\n * Signal representing the selected values in the listbox.\r\n * This is an array of strings corresponding to the selected option values.\r\n */\r\n readonly value = signal<string[]>([]);\r\n\r\n /**\r\n * Event emitter triggered when the dropdown should close.\r\n * This is used to notify the parent component to close the dropdown.\r\n */\r\n closeEmitter = output();\r\n\r\n /**\r\n * Reference to the host element of the component.\r\n * This provides access to the DOM element of the options list.\r\n */\r\n el = inject(ElementRef);\r\n\r\n /**\r\n * Input for setting the maximum height of the dropdown.\r\n * Defaults to '300px'. This controls the vertical size of the dropdown.\r\n */\r\n readonly maxHeight = input<string>('300px');\r\n\r\n /**\r\n * Reference to the CDK Listbox directive.\r\n * This is used to manage the options and their selection state.\r\n */\r\n listBox = inject(CdkListbox);\r\n\r\n /**\r\n * Reference to the list of options in the dropdown.\r\n * This is a collection of `OptionComponent` instances representing the available options.\r\n */\r\n readonly options = contentChildren(OptionComponent);\r\n\r\n /**\r\n * Handles changes to the selected value in the listbox.\r\n * This method updates the `value` signal, emits the `closeEmitter` event,\r\n * and ensures the parent component is notified of the selection change.\r\n *\r\n * @param value - The new array of selected values.\r\n */\r\n handleValueChange(value: string[]) {\r\n this.value.set(value);\r\n this.closeEmitter.emit();\r\n }\r\n}\r\n","import { Component, computed, inject, input } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { createElement, icons } from 'lucide';\r\n\r\n@Component({\r\n selector: 'i[b-icon]',\r\n imports: [],\r\n template: ``,\r\n host: {\r\n '[innerHTML]': 'iconSvg()',\r\n },\r\n})\r\nexport class Icon {\r\n /**\r\n * The sanitizer service.\r\n */\r\n private sanitizer = inject(DomSanitizer);\r\n\r\n /**\r\n * The icon of the text field.\r\n */\r\n readonly icon = input.required<string>();\r\n\r\n /**\r\n * The size of the icon.\r\n */\r\n readonly size = input(24);\r\n\r\n /**\r\n * The stroke of the icon.\r\n */\r\n readonly strokeWidth = input(1.8);\r\n\r\n /**\r\n * The color of the icon.\r\n */\r\n readonly color = input<string>('var(--foreground, #798194)');\r\n\r\n /**\r\n * The svg of the icon.\r\n */\r\n readonly iconSvg = computed(() => {\r\n if (!(icons as any)[this.icon()]) {\r\n console.error(`Icon '${this.icon()}' not found in Lucide icons.`);\r\n return this.sanitizer.bypassSecurityTrustHtml('');\r\n }\r\n\r\n const iconSvg = createElement((icons as any)[this.icon()], {\r\n width: this.size(),\r\n height: this.size(),\r\n stroke: this.color(),\r\n 'stroke-width': this.strokeWidth(),\r\n });\r\n return this.sanitizer.bypassSecurityTrustHtml(iconSvg.outerHTML);\r\n });\r\n}\r\n","import { CdkOverlayOrigin } from '@angular/cdk/overlay';\r\nimport { Directive, ElementRef, inject } from '@angular/core';\r\n\r\n/**\r\n * Directive to mark an element as a trigger for an overlay.\r\n * Integrates with Angular CDK's `CdkOverlayOrigin` to provide\r\n * a reference point for overlay positioning.\r\n */\r\n@Directive({\r\n selector: '[bOverlayTrigger]',\r\n hostDirectives: [CdkOverlayOrigin],\r\n exportAs: 'bOverlayTrigger',\r\n})\r\nexport class OverlayTriggerDirective {\r\n /**\r\n * Reference to the `CdkOverlayOrigin` instance.\r\n * Used as the origin point for overlay positioning.\r\n */\r\n trigger = inject(CdkOverlayOrigin);\r\n\r\n /**\r\n * Reference to the `ElementRef` of the host element.\r\n * This is used to access the native DOM element.\r\n */\r\n el = inject(ElementRef);\r\n}\r\n","import {\r\n CdkConnectedOverlay,\r\n ConnectedPosition,\r\n ConnectionPositionPair,\r\n Overlay,\r\n} from '@angular/cdk/overlay';\r\nimport {\r\n computed,\r\n Directive,\r\n effect,\r\n inject,\r\n input,\r\n signal,\r\n} from '@angular/core';\r\nimport { OverlayTriggerDirective, Position } from '../../public-api';\r\n\r\n/**\r\n * Directive to manage overlay behavior and positioning.\r\n * Integrates with Angular CDK's `CdkConnectedOverlay` to provide\r\n * flexible overlay positioning and triggering mechanisms.\r\n */\r\n@Directive({\r\n selector: '[bOverlay]',\r\n hostDirectives: [\r\n {\r\n directive: CdkConnectedOverlay,\r\n inputs: [\r\n 'cdkConnectedOverlayWidth: width',\r\n 'cdkConnectedOverlayMinWidth: minWidth',\r\n 'cdkConnectedOverlayHasBackdrop: hasBackdrop',\r\n 'cdkConnectedOverlayBackdropClass: customBackdropClass',\r\n ],\r\n outputs: [\r\n 'backdropClick: backdropClick',\r\n 'detach: detach',\r\n 'attach: attach',\r\n 'overlayOutsideClick: outsideClick',\r\n 'positionChange: positionChange',\r\n ],\r\n },\r\n ],\r\n host: {\r\n '(positionChange)': 'connectedPositionPair.set($event.connectionPair)',\r\n },\r\n})\r\nexport class OverlayDirective {\r\n /**\r\n * Controls whether the overlay is open.\r\n * @default false\r\n */\r\n readonly open = input(false);\r\n\r\n /**\r\n * The trigger directive that activates the overlay.\r\n * This input is required.\r\n */\r\n readonly trigger = input.required<OverlayTriggerDirective>();\r\n\r\n /**\r\n * Delay in milliseconds before closing the overlay.\r\n * @default 0\r\n */\r\n readonly closeDelay = input(0);\r\n\r\n /**\r\n * A computed map of positions to their corresponding `ConnectedPosition` configurations.\r\n */\r\n readonly positionsMap = computed<Record<Position, ConnectedPosition>>(() => ({\r\n 'top-left': {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n },\r\n 'top-center': {\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'bottom',\r\n },\r\n 'top-right': {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'bottom',\r\n },\r\n 'bottom-left': {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n 'bottom-center': {\r\n originX: 'center',\r\n originY: 'bottom',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n },\r\n 'bottom-right': {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n },\r\n 'left-top': {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n },\r\n 'left-center': {\r\n originX: 'start',\r\n originY: 'center',\r\n overlayX: 'end',\r\n overlayY: 'center',\r\n },\r\n 'left-bottom': {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'end',\r\n overlayY: 'bottom',\r\n },\r\n 'right-top': {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n 'right-center': {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'center',\r\n },\r\n 'right-bottom': {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n },\r\n }));\r\n\r\n /**\r\n * List of positions for the overlay.\r\n * @default ['bottom-left']\r\n */\r\n readonly positions = input<Position[]>(['bottom-left']);\r\n\r\n /**\r\n * Computed list of `ConnectedPosition` objects based on the `positions` input.\r\n */\r\n readonly connectedPositions = computed<ConnectedPosition[]>(() =>\r\n this.positions().map(position => this.positionsMap()[position])\r\n );\r\n\r\n /**\r\n * Signal to track the currently active `ConnectionPositionPair`.\r\n */\r\n readonly connectedPositionPair = signal<ConnectionPositionPair | undefined>(\r\n undefined\r\n );\r\n\r\n /**\r\n * Injected instance of `CdkConnectedOverlay`.\r\n */\r\n cdkConnectedOverlay = inject(CdkConnectedOverlay);\r\n\r\n /**\r\n * Injected instance of `Overlay`.\r\n */\r\n overlay = inject(Overlay);\r\n\r\n /**\r\n * Computed direction of the overlay based on the active position pair.\r\n */\r\n readonly direction = computed(() => {\r\n const pair = this.connectedPositionPair();\r\n if (!pair) return undefined;\r\n\r\n return Object.entries(this.positionsMap())\r\n .find(\r\n ([, position]) =>\r\n position.originX === pair.originX &&\r\n position.originY === pair.originY &&\r\n position.overlayX === pair.overlayX &&\r\n position.overlayY === pair.overlayY\r\n )?.[0]\r\n .split('-')[0];\r\n });\r\n\r\n /**\r\n * Flag to indicate if this is the first load of the overlay.\r\n */\r\n firstLoad = true;\r\n\r\n /**\r\n * Constructor to initialize the directive and set up reactive effects.\r\n */\r\n constructor() {\r\n effect(() => {\r\n this.handleOrigin();\r\n this.handleConnectedPositions();\r\n this.handleOpen();\r\n });\r\n }\r\n\r\n /**\r\n * Handles the origin of the overlay.\r\n * This method sets the `cdkConnectedOverlay.origin` to the trigger element.\r\n */\r\n handleOrigin(): void {\r\n this.cdkConnectedOverlay.origin = this.trigger().trigger;\r\n }\r\n\r\n /**\r\n * Handles the connected positions for the overlay.\r\n * This method updates the `cdkConnectedOverlay` positions based on the current state.\r\n */\r\n handleConnectedPositions(): void {\r\n this.cdkConnectedOverlay.positions = this.connectedPositions();\r\n }\r\n\r\n /**\r\n * Handles the opening and closing of the overlay based on the `open` input.\r\n * Determines whether to open or close the overlay and invokes the appropriate method.\r\n */\r\n handleOpen(): void {\r\n if (this.open()) {\r\n this.handleOverlayOpen();\r\n } else {\r\n this.handleOverlayClose();\r\n }\r\n }\r\n\r\n /**\r\n * Opens the overlay and applies the appropriate direction class.\r\n * Ensures the overlay is attached and styled correctly.\r\n */\r\n private handleOverlayOpen(): void {\r\n this.cdkConnectedOverlay.attachOverlay();\r\n this.applyDirectionClass();\r\n }\r\n\r\n /**\r\n * Closes the overlay with optional animation and cleanup.\r\n * If it's the first load, detaches the overlay immediately without animation.\r\n */\r\n private handleOverlayClose(): void {\r\n if (this.firstLoad) {\r\n this.detachOverlayWithCleanup();\r\n this.firstLoad = false;\r\n return;\r\n }\r\n\r\n const firstChild = this.getFirstChild();\r\n\r\n if (!firstChild) {\r\n this.detachOverlayWithCleanup();\r\n return;\r\n }\r\n\r\n firstChild.classList.add('b-overlay-leave');\r\n setTimeout(\r\n () => this.detachOverlayWithCleanup(firstChild),\r\n this.closeDelay()\r\n );\r\n }\r\n\r\n /**\r\n * Retrieves the first child element of the overlay pane.\r\n * @returns The first child element or `null` if not found.\r\n */\r\n private getFirstChild(): Element | null {\r\n return (\r\n this.cdkConnectedOverlay.overlayRef?.overlayElement.querySelector(\r\n '.cdk-overlay-pane > *'\r\n ) || null\r\n );\r\n }\r\n\r\n /**\r\n * Applies the direction class to the overlay's first child element.\r\n * Cleans up any existing direction-related classes before applying the new one.\r\n */\r\n private applyDirectionClass(): void {\r\n const firstChild = this.getFirstChild();\r\n if (!firstChild) return;\r\n\r\n this.cleanOverlayClasses(firstChild);\r\n const direction = this.direction();\r\n if (direction) {\r\n firstChild.classList.add(`b-overlay-${direction}`);\r\n }\r\n }\r\n\r\n /**\r\n * Detaches the overlay and performs cleanup operations.\r\n * Optionally cleans up classes from a provided element.\r\n * @param element The element to clean up classes from (optional).\r\n */\r\n private detachOverlayWithCleanup(element?: Element): void {\r\n this.cdkConnectedOverlay.detachOverlay();\r\n\r\n if (element) {\r\n this.cleanOverlayClasses(element);\r\n }\r\n\r\n this.trigger().el.nativeElement.focus();\r\n }\r\n\r\n /**\r\n * Removes overlay-related classes from the specified element.\r\n * @param element The element to remove classes from.\r\n */\r\n private cleanOverlayClasses(element: Element): void {\r\n const classesToRemove = [\r\n 'b-overlay-leave',\r\n 'b-overlay-top',\r\n 'b-overlay-bottom',\r\n 'b-overlay-left',\r\n 'b-overlay-right',\r\n ];\r\n\r\n element.classList.remove(...classesToRemove);\r\n }\r\n}\r\n","import {\r\n Component,\r\n computed,\r\n contentChild,\r\n HostListener,\r\n input,\r\n linkedSignal,\r\n model,\r\n OnInit,\r\n signal,\r\n viewChild,\r\n} from '@angular/core';\r\nimport { SelectOptionsComponent } from './select-options.component';\r\nimport { Button } from '../button/button.component';\r\nimport { Icon } from '../icon/icon.component';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { forwardRef } from '@angular/core';\r\nimport { OverlayTriggerDirective } from '../../directives/overlay-trigger.directive';\r\nimport { OverlayDirective } from '../../directives/overlay.directive';\r\n\r\n/**\r\n * Component representing a custom select dropdown.\r\n * This component provides a button to toggle the dropdown and displays the selected option(s).\r\n */\r\n@Component({\r\n selector: 'b-select',\r\n imports: [Button, Icon, OverlayTriggerDirective, OverlayDirective],\r\n template: ` <button\r\n b-button\r\n variant=\"outlined\"\r\n (click)=\"isOpen.set(!isOpen())\"\r\n (keydown.arrowUp)=\"!isOpen() && isOpen.set(true)\"\r\n (keydown.arrowDown)=\"!isOpen() && isOpen.set(true)\"\r\n [activeEnabled]=\"false\"\r\n bOverlayTrigger\r\n #trigger=\"bOverlayTrigger\">\r\n {{ content() }}\r\n <i b-icon icon=\"ChevronDown\" [size]=\"16\"></i>\r\n </button>\r\n <ng-template\r\n bOverlay\r\n [trigger]=\"trigger\"\r\n [open]=\"isOpen()\"\r\n [minWidth]=\"buttonWidth()\"\r\n [positions]=\"['bottom-left', 'bottom-right', 'top-left', 'top-right']\"\r\n [closeDelay]=\"closeDelay()\"\r\n (attach)=\"onOverlayAttached()\"\r\n (outsideClick)=\"isOpen.set(false)\"\r\n (detach)=\"isOpen.set(false)\">\r\n <ng-content />\r\n </ng-template>`,\r\n host: {\r\n '[class.disabled]': 'disabled()',\r\n },\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => SelectComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class SelectComponent implements OnInit, ControlValueAccessor {\r\n /**\r\n * Placeholder text displayed when no option is selected.\r\n * Defaults to 'Select an option'.\r\n */\r\n readonly placeholder = input<string>('Select an option');\r\n\r\n /**\r\n * Signal indicating whether the dropdown is currently open.\r\n */\r\n readonly isOpen = signal(false);\r\n\r\n /**\r\n * Reference to the button element used to toggle the dropdown.\r\n * This is used for managing focus and interactions.\r\n */\r\n readonly button = viewChild(Button);\r\n\r\n /**\r\n * Reference to the content component of the dropdown.\r\n * This contains the list of selectable options.\r\n */\r\n readonly optionsList = contentChild(SelectOptionsComponent);\r\n\r\n /**\r\n * Computed signal representing the selected values from the dropdown.\r\n * This is linked to the value of the `OptionsListComponent`.\r\n */\r\n readonly value = linkedSignal(() => this.optionsList()?.value());\r\n\r\n /**\r\n * Linked signal for the width of the button element.\r\n * This is used to set the width of the dropdown overlay.\r\n */\r\n readonly buttonWidth = linkedSignal(\r\n () => this.button()?.el.nativeElement.offsetWidth\r\n );\r\n\r\n /**\r\n * Model indicating whether the select component is disabled.\r\n * When disabled, the dropdown cannot be opened or interacted with.\r\n */\r\n readonly disabled = model(false);\r\n\r\n /**\r\n * Computed signal representing the options available in the dropdown.\r\n * This retrieves the options from the `OptionsListComponent`.\r\n */\r\n readonly options = computed(() => this.optionsList()?.options());\r\n\r\n /**\r\n * Computed signal representing the content of the selected option(s).\r\n * If no option is selected, it returns the placeholder text.\r\n */\r\n readonly content = computed(() => {\r\n const selected = this.value();\r\n if (selected && selected.length > 0) {\r\n return this.options()?.reduce((acc, option) => {\r\n if (selected.includes(option.cdkOption.value)) {\r\n return acc\r\n ? acc + ', ' + option.el.nativeElement.innerText\r\n : option.el.nativeElement.innerText;\r\n }\r\n return acc;\r\n }, '');\r\n } else {\r\n return this.placeholder();\r\n }\r\n });\r\n\r\n /**\r\n * Signal representing the delay before closing the dropdown.\r\n * This is used to provide a smooth transition when closing the dropdown.\r\n */\r\n readonly closeDelay = signal(150);\r\n\r\n /**\r\n * Lifecycle hook that is called after the component is initialized.\r\n * It sets up the necessary subscriptions for handling value changes.\r\n */\r\n ngOnInit(): void {\r\n this.handleSelectedValueChange();\r\n }\r\n\r\n /**\r\n * Subscribes to the `closeEmitter` of the `OptionsListComponent` to handle\r\n * changes to the selected value. This ensures the dropdown closes and the\r\n * value is propagated to Angular Forms.\r\n */\r\n handleSelectedValueChange() {\r\n this.optionsList()?.closeEmitter.subscribe(() => {\r\n this.onChange(this.value()!);\r\n this.onTouched();\r\n this.isOpen.set(false);\r\n });\r\n }\r\n\r\n /**\r\n * Focuses the options list when the overlay is attached.\r\n */\r\n onOverlayAttached() {\r\n this.buttonWidth.set(this.button()?.el.nativeElement.offsetWidth);\r\n this.optionsList()?.el.nativeElement.focus();\r\n }\r\n\r\n /**\r\n * Sets the width of the dropdown overlay based on the button's width.\r\n * This ensures that the dropdown aligns properly with the button.\r\n */\r\n @HostListener('window:resize')\r\n setButtonWidth() {\r\n this.buttonWidth.set(this.button()?.el.nativeElement.offsetWidth);\r\n }\r\n\r\n // Control Value Accessor methods\r\n\r\n /**\r\n * Callback function to propagate changes to the model.\r\n * This is called whenever the value changes.\r\n */\r\n private onChange: (value: string[]) => void = () => undefined;\r\n\r\n /**\r\n * Callback function to mark the component as touched.\r\n * This is called when the component loses focus.\r\n */\r\n private onTouched: () => void = () => undefined;\r\n\r\n /**\r\n * Writes a new value to the component.\r\n * This method is called by Angular Forms to update the value of the select component.\r\n * @param value - The new value to set.\r\n */\r\n writeValue(value: string[]): void {\r\n if (value) {\r\n value.forEach(value => {\r\n this.optionsList()?.listBox?.selectValue(value);\r\n });\r\n this.value.set(value);\r\n }\r\n }\r\n\r\n /**\r\n * Registers a callback function to be called when the value changes.\r\n * @param fn - The callback function.\r\n */\r\n registerOnChange(fn: (value: string[]) => void): void {\r\n this.onChange = fn;\r\n }\r\n\r\n /**\r\n * Registers a callback function to be called when the component is touched.\r\n * @param fn - The callback function.\r\n */\r\n registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n /**\r\n * Sets the disabled state of the component.\r\n * This method is called by Angular Forms to enable or disable the component.\r\n * @param isDisabled - A boolean indicating whether the component should be disabled.\r\n */\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled.set(isDisabled);\r\n }\r\n}\r\n","import { Component, input } from '@angular/core';\r\nimport { NgStyle } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'b-spinner',\r\n imports: [NgStyle],\r\n templateUrl: './spinner.component.html',\r\n})\r\nexport class Spinner {\r\n readonly active = input<boolean>(true);\r\n readonly color = input<string>('var(--foreground)');\r\n readonly backgroundColor = input<string>('transparent');\r\n readonly size = input<number>(20);\r\n}\r\n","@if (active()) {\r\n <section [ngStyle]=\"{ background: backgroundColor() }\" class=\"background\">\r\n <svg\r\n [attr.height]=\"size()\"\r\n [attr.width]=\"size()\"\r\n preserveAspectRatio=\"xMidYMid\"\r\n style=\"\r\n shape-rendering: auto;\r\n display: block;\r\n background: rgba(122, 122, 122, 0);\r\n \"\r\n viewBox=\"0 0 100 100\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g>\r\n <g transform=\"rotate(0 50 50)\">\r\n <rect\r\n [attr.fill]=\"color()\"\r\n height=\"20\"\r\n rx=\"3\"\r\n ry=\"3.2800000000000002\"\r\n width=\"6\"\r\n x=\"47\"\r\n y=\"10\">\r\n <animate\r\n attributeName=\"opacity\"\r\n begin=\"-0.9166666666666666s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n repeatCount=\"indefinite\"\r\n values=\"1;0\" />\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(30 50 50)\">\r\n <rect\r\n [attr.fill]=\"color()\"\r\n height=\"20\"\r\n rx=\"3\"\r\n ry=\"3.2800000000000002\"\r\n width=\"6\"\r\n x=\"47\"\r\n y=\"10\">\r\n <animate\r\n attributeName=\"opacity\"\r\n begin=\"-0.8333333333333334s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n repeatCount=\"indefinite\"\r\n values=\"1;0\" />\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(60 50 50)\">\r\n <rect\r\n [attr.fill]=\"color()\"\r\n height=\"20\"\r\n rx=\"3\"\r\n ry=\"3.2800000000000002\"\r\n width=\"6\"\r\n x=\"47\"\r\n y=\"10\">\r\n <animate\r\n attributeName=\"opacity\"\r\n begin=\"-0.75s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n repeatCount=\"indefinite\"\r\n values=\"1;0\" />\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(90 50 50)\">\r\n <rect\r\n [attr.fill]=\"color()\"\r\n height=\"20\"\r\n rx=\"3\"\r\n ry=\"3.2800000000000002\"\r\n width=\"6\"\r\n x=\"47\"\r\n y=\"10\">\r\n <animate\r\n attributeName=\"opacity\"\r\n begin=\"-0.6666666666666666s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n repeatCount=\"indefinite\"\r\n values=\"1;0\" />\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(120 50 50)\">\r\n <rect\r\n [attr.fill]=\"color()\"\r\n height=\"20\"\r\n rx=\"3\"\r\n ry=\"3.2800000000000002\"\r\n width=\"6\"\r\n x=\"47\"\r\n y=\"10\">\r\n <animate\r\n attributeName=\"opacity\"\r\n begin=\"-0.5833333333333334s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n repeatCount=\"indefinite\"\r\n values=\"1;0\" />\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(150 50 50)\">\r\n <rect\r\n [attr.fill]=\"color()\"\r\n height=\"20\"\r\n rx=\"3\"\r\n ry=\"3.2800000000000002\"\r\n width=\"6\"\r\n x=\"47\"\r\n y=\"10\">\r\n <animate\r\n attributeName=\"opacity\"\r\n begin=\"-0.5s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n repeatCount=\"indefinite\"\r\n values=\"1;0\" />\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(180 50 50)\">\r\n <rect\r\n [attr.fill]=\"color()\"\r\n height=\"20\"\r\n rx=\"3\"\r\n ry=\"3.2800000000000002\"\r\n width=\"6\"\r\n x=\"47\"\r\n y=\"10\">\r\n <animate\r\n attributeName=\"opacity\"\r\n begin=\"-0.4166666666666667s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n repeatCount=\"indefinite\"\r\n values=\"1;0\" />\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(210 50 50)\">\r\n <rect\r\n [attr.fill]=\"color()\"\r\n height=\"20\"\r\n rx=\"3\"\r\n ry=\"3.2800000000000002\"\r\n width=\"6\"\r\n x=\"47\"\r\n y=\"10\">\r\n <animate\r\n attributeName=\"opacity\"\r\n begin=\"-0.3333333333333333s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n repeatCount=\"indefinite\"\r\n values=\"1;0\" />\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(240 50 50)\">\r\n <rect\r\n [attr.fill]=\"color()\"\r\n height=\"20\"\r\n rx=\"3\"\r\n ry=\"3.2800000000000002\"\r\n width=\"6\"\r\n x=\"47\"\r\n y=\"10\">\r\n <animate\r\n attributeName=\"opacity\"\r\n begin=\"-0.25s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n repeatCount=\"indefinite\"\r\n values=\"1;0\" />\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(270 50 50)\">\r\n <rect\r\n [attr.fill]=\"color()\"\r\n height=\"20\"\r\n rx=\"3\"\r\n ry=\"3.2800000000000002\"\r\n width=\"6\"\r\n x=\"47\"\r\n y=\"10\">\r\n <animate\r\n attributeName=\"opacity\"\r\n begin=\"-0.16666666666666666s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n repeatCount=\"indefinite\"\r\n values=\"1;0\" />\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(300 50 50)\">\r\n <rect\r\n [attr.fill]=\"color()\"\r\n height=\"20\"\r\n rx=\"3\"\r\n ry=\"3.2800000000000002\"\r\n width=\"6\"\r\n x=\"47\"\r\n y=\"10\">\r\n <animate\r\n attributeName=\"opacity\"\r\n begin=\"-0.08333333333333333s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n repeatCount=\"indefinite\"\r\n values=\"1;0\" />\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(330 50 50)\">\r\n <rect\r\n [attr.fill]=\"color()\"\r\n height=\"20\"\r\n rx=\"3\"\r\n ry=\"3.2800000000000002\"\r\n width=\"6\"\r\n x=\"47\"\r\n y=\"10\">\r\n <animate\r\n attributeName=\"opacity\"\r\n begin=\"0s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n repeatCount=\"indefinite\"\r\n values=\"1;0\" />\r\n </rect>\r\n </g>\r\n <g />\r\n </g>\r\n </svg>\r\n </section>\r\n}\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n inject,\r\n input,\r\n model,\r\n output,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'input[b-switch]',\r\n template: ``,\r\n host: {\r\n '[attr.role]': 'switch',\r\n '[attr.checked]': 'value()',\r\n '[attr.aria-checked]': 'value()',\r\n '(click)': 'toggleValue()',\r\n '[class]': 'size()',\r\n '(keydown.enter)': 'toggleValue()',\r\n '(keydown.arrowleft)': 'setValue(false)',\r\n '(keydown.arrowright)': 'setValue(true)',\r\n },\r\n})\r\nexport class Switch implements AfterViewInit {\r\n /**\r\n * Value of the switch.\r\n */\r\n readonly value = model<boolean>(false);\r\n\r\n /**\r\n * The size of the switch.\r\n */\r\n readonly size = input<'default' | 'large'>('default');\r\n\r\n /**\r\n * Reference to the switch element.\r\n */\r\n el = inject(ElementRef);\r\n\r\n /**\r\n * Event emitted when the value changes.\r\n */\r\n valueChange = output<boolean>();\r\n\r\n /**\r\n * Initializes the switch value after the view is initialized.\r\n */\r\n ngAfterViewInit() {\r\n this.value.set(this.el.nativeElement.checked);\r\n }\r\n\r\n /**\r\n * Toggles the value of the switch.\r\n */\r\n toggleValue() {\r\n const newValue = !this.value();\r\n this.value.set(newValue);\r\n this.valueChange.emit(newValue);\r\n }\r\n\r\n /**\r\n * Sets the value of the switch.\r\n * @param newValue - The new value to set.\r\n */\r\n setValue(newValue: boolean) {\r\n this.value.set(newValue);\r\n this.valueChange.emit(newValue);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'b-table',\r\n templateUrl: './table.component.html',\r\n})\r\nexport class Table {}\r\n","<ng-content select=\"[b-row-header]\" />\r\n<ng-content select=\"[b-row-subheader]\" />\r\n<div class=\"scroll-section\">\r\n <ng-content />\r\n</div>\r\n","import { Component, input } from '@angular/core';\r\nimport { NgClass } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'b-row',\r\n imports: [NgClass],\r\n templateUrl: './row.component.html',\r\n})\r\nexport class Row {\r\n readonly header = input<boolean>(false);\r\n readonly subheader = input<boolean>(false);\r\n readonly clickable = input<boolean>(false);\r\n readonly highlighted = input<boolean>(false);\r\n}\r\n","<div\r\n class=\"row-container\"\r\n [ngClass]=\"{\r\n clickable: clickable(),\r\n header: header(),\r\n subheader: subheader(),\r\n highlighted: highlighted(),\r\n }\">\r\n <ng-content />\r\n</div>\r\n","import { Component, computed, input } from '@angular/core';\r\nimport { NgStyle } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'b-row-item',\r\n imports: [NgStyle],\r\n templateUrl: './row-item.component.html',\r\n})\r\nexport class RowItem {\r\n readonly widthPx = input<number>();\r\n readonly alignedLeft = input<boolean>(false);\r\n readonly isHeader = input<boolean>(false);\r\n readonly style = computed(() => {\r\n return {\r\n width: `${this.widthPx()}px`,\r\n justifyContent: this.alignedLeft() ? 'flex-start' : 'center',\r\n };\r\n });\r\n}\r\n","<div [ngStyle]=\"style()\" class=\"row-item-container\">\r\n <ng-content />\r\n</div>\r\n","import { CdkOption } from '@angular/cdk/listbox';\r\nimport { Component, inject } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'b-tab',\r\n imports: [],\r\n template: `<ng-content />`,\r\n hostDirectives: [\r\n {\r\n directive: CdkOption,\r\n inputs: ['cdkOption: value'],\r\n },\r\n ],\r\n})\r\nexport class TabComponent {\r\n /**\r\n * Reference to the injected CDK Option instance.\r\n */\r\n cdkOption = inject(CdkOption);\r\n}\r\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\r\nimport { CdkListbox } from '@angular/cdk/listbox';\r\nimport {\r\n Component,\r\n computed,\r\n contentChildren,\r\n inject,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { TabComponent } from './tab.component';\r\n\r\n@Component({\r\n selector: 'b-tabs',\r\n imports: [],\r\n template: `<ng-content />`,\r\n hostDirectives: [CdkListbox],\r\n host: {\r\n '(keydown.arrowLeft)': 'previousTab()',\r\n '(keydown.arrowUp)': 'previousTab()',\r\n '(keydown.arrowRight)': 'nextTab()',\r\n '(keydown.arrowDown)': 'nextTab()',\r\n },\r\n})\r\nexport class TabsComponent implements OnInit {\r\n /**\r\n * Reference to the injected CDK Listbox instance.\r\n */\r\n cdkListbox = inject(CdkListbox);\r\n /**\r\n * Collection of child options within the listbox.\r\n */\r\n readonly tabs = contentChildren(TabComponent);\r\n\r\n /**\r\n * Collection of cdk options within the listbox.\r\n */\r\n readonly cdkOptions = computed(() => this.tabs().map(tab => tab.cdkOption));\r\n\r\n /**\r\n * Key manager for handling keyboard navigation and active descendant management.\r\n */\r\n readonly listKeyManager = computed(() =>\r\n new ActiveDescendantKeyManager(this.cdkOptions())\r\n .withWrap()\r\n .withHorizontalOrientation('ltr')\r\n );\r\n\r\n previousTab() {\r\n this.listKeyManager().setPreviousItemActive();\r\n }\r\n\r\n nextTab() {\r\n this.listKeyManager().setNextItemActive();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.cdkListbox.useActiveDescendant = true;\r\n this.cdkListbox.orientation = 'horizontal';\r\n }\r\n}\r\n","import { Injectable, signal } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class InViewportService {\r\n readonly elements = signal<Record<string, boolean>>({});\r\n observer!: IntersectionObserver;\r\n\r\n /**\r\n * Register an element to be tracked by the service.\r\n * @param {string} id - The id of the element to register.\r\n */\r\n registerElement(\r\n id: string,\r\n nativeElement: HTMLElement,\r\n initialVisibility: boolean\r\n ): void {\r\n if (!(id in this.elements())) {\r\n this.elements.set({ ...this.elements(), [id]: initialVisibility });\r\n\r\n // Create an IntersectionObserver to track the element's visibility.\r\n this.observer = new IntersectionObserver(entries => {\r\n entries.forEach(entry => {\r\n const isVisible = entry.isIntersecting;\r\n this.updateElementVisibility(id, isVisible);\r\n });\r\n });\r\n\r\n // Start observing the element.\r\n this.observer.observe(nativeElement);\r\n }\r\n }\r\n\r\n /**\r\n * Unregister an element from being tracked by the service.\r\n * @param {string} id - The id of the element to unregister.\r\n */\r\n unregisterElement(id: string): void {\r\n if (id in this.elements()) {\r\n delete this.elements()[id];\r\n this.observer.disconnect();\r\n }\r\n }\r\n\r\n /**\r\n * Update the visibility of an element.\r\n * @param {string} id - The id of the element to update.\r\n * @param {boolean} isVisible - The new visibility state of the element.\r\n */\r\n updateElementVisibility(id: string, isVisible: boolean): void {\r\n this.elements.set({ ...this.elements(), [id]: isVisible });\r\n }\r\n}\r\n","import { Directive, ElementRef, inject, input, OnDestroy } from '@angular/core';\r\nimport { afterNextRender } from '@angular/core'; // Importante\r\nimport { InViewportService } from '../services/in-viewport.service';\r\n\r\n@Directive({\r\n selector: '[b-in-viewport]',\r\n})\r\nexport class InViewportDirective implements OnDestroy {\r\n readonly inViewportId = input.required<string>();\r\n readonly inViewportInitialVisibility = input<boolean>(false);\r\n el = inject(ElementRef);\r\n inViewportService = inject(InViewportService);\r\n\r\n constructor() {\r\n afterNextRender({\r\n write: () => {\r\n this.inViewportService.registerElement(\r\n this.inViewportId(),\r\n this.el.nativeElement,\r\n this.inViewportInitialVisibility()\r\n );\r\n },\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.inViewportService.unregisterElement(this.inViewportId());\r\n }\r\n}\r\n","import {\r\n Component,\r\n input,\r\n output,\r\n computed,\r\n model,\r\n inject,\r\n ElementRef,\r\n HostListener,\r\n} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n/**\r\n * A sliding sheet component that can be positioned on either side of the screen.\r\n * The sheet slides in from the left or right edge and includes an overlay backdrop.\r\n *\r\n * @selector b-side-sheet\r\n */\r\n@Component({\r\n selector: 'b-side-sheet',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './side-sheet.component.html',\r\n host: {\r\n '[class.left]': 'isLeft()',\r\n '[class.right]': '!isLeft()',\r\n '[class.open]': 'isOpen()',\r\n '[style.width]': 'width()',\r\n },\r\n})\r\nexport class SideSheet {\r\n /**\r\n * Indicates whether the side sheet is open.\r\n */\r\n readonly isOpen = model(false);\r\n\r\n /**\r\n * Specifies the side of the screen where the sheet is positioned.\r\n * Can be either 'left' or 'right'.\r\n */\r\n readonly side = input<'left' | 'right'>('right');\r\n\r\n /**\r\n * Specifies the width of the side sheet.\r\n */\r\n readonly width = input('300px');\r\n\r\n /**\r\n * Computes whether the side sheet is positioned on the left side.\r\n */\r\n readonly isLeft = computed(() => this.side() === 'left');\r\n\r\n /**\r\n * Computes whether the side sheet is positioned on the right side.\r\n */\r\n readonly isRight = computed(() => this.side() === 'right');\r\n\r\n /**\r\n * Event emitted when the side sheet is closed.\r\n */\r\n closeSheet = output<void>();\r\n\r\n /**\r\n * Reference to the host element of the side sheet.\r\n */\r\n private readonly el = inject(ElementRef);\r\n\r\n /**\r\n * Closes the side sheet when clicking outside of it.\r\n *\r\n * @param event - The click event.\r\n */\r\n @HostListener('document:click', ['$event'])\r\n closeOnOutsideClick(event: Event) {\r\n if (this.isOpen() && !this.el.nativeElement.contains(event.target)) {\r\n this.isOpen.set(false);\r\n }\r\n }\r\n}\r\n","<button class=\"close-button\" (click)=\"isOpen.set(false)\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"19\"\r\n height=\"19\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"0.094rem\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n class=\"lucide lucide-x\">\r\n <path d=\"M18 6 6 18\" />\r\n <path d=\"m6 6 12 12\" />\r\n </svg>\r\n</button>\r\n<ng-content />\r\n","import {\r\n Component,\r\n input,\r\n output,\r\n model,\r\n signal,\r\n computed,\r\n inject,\r\n ElementRef,\r\n HostListener,\r\n} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'b-bottom-sheet',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './bottom-sheet.component.html',\r\n host: {\r\n '[style.height]': 'height()',\r\n '[class.dragging]': 'isDragging()',\r\n '[style.transform]': 'transform()',\r\n '[class.open]': 'isOpen()',\r\n },\r\n})\r\nexport class BottomSheet {\r\n /**\r\n * Indicates whether the bottom sheet is open.\r\n */\r\n readonly isOpen = model(false);\r\n\r\n /**\r\n * The height of the bottom sheet.\r\n */\r\n readonly height = input('30dvh');\r\n\r\n /**\r\n * Event emitted when the bottom sheet is closed.\r\n */\r\n closeSheet = output<void>();\r\n\r\n /**\r\n * Indicates whether a drag event is in progress.\r\n */\r\n private readonly isDragging = signal(false);\r\n\r\n /**\r\n * The starting Y position of the drag event.\r\n */\r\n readonly startY = signal(0);\r\n\r\n /**\r\n * The current Y translation of the bottom sheet in percentage.\r\n */\r\n private readonly translateY = signal(100);\r\n\r\n /**\r\n * The threshold for closing the bottom sheet, in percentage.\r\n */\r\n readonly closeThreshold = input(30);\r\n\r\n /**\r\n * The computed transform property for the bottom sheet.\r\n */\r\n readonly transform = computed(() =>\r\n this.isDragging()\r\n ? `translateY(${this.translateY()}%)`\r\n : this.isOpen()\r\n ? 'translateY(0%)'\r\n : 'translateY(100%)'\r\n );\r\n\r\n /**\r\n * The reference to the Bottom Sheet DOM element.\r\n */\r\n private readonly el = inject(ElementRef);\r\n\r\n /**\r\n * Closes the bottom sheet when clicking outside of it.\r\n * @param event The click event.\r\n */\r\n @HostListener('document:click', ['$event'])\r\n closeOnOutsideClick(event: Event) {\r\n if (this.isOpen() && !this.el.nativeElement.contains(event.target)) {\r\n this.isOpen.set(false);\r\n this.closeSheet.emit();\r\n }\r\n }\r\n\r\n /**\r\n * Starts the drag event for the bottom sheet.\r\n * @param event The pointer event that starts the drag.\r\n */\r\n startDrag(event: PointerEvent) {\r\n this.isDragging.set(true);\r\n this.startY.set(event.clientY);\r\n // Initialize translateY based on the current state:\r\n this.translateY.set(this.isOpen() ? 0 : 100);\r\n // Disable text selection for better UX\r\n document.body.style.userSelect = 'none';\r\n\r\n const move = (e: PointerEvent) => this.updateDrag(e.clientY);\r\n const end = () => {\r\n this.isDragging.set(false);\r\n this.snapToOpenOrClose();\r\n\r\n // Restore text selection\r\n document.body.style.userSelect = '';\r\n\r\n window.removeEventListener('pointermove', move);\r\n window.removeEventListener('pointerup', end);\r\n };\r\n\r\n window.addEventListener('pointermove', move, { passive: false });\r\n window.addEventListener('pointerup', end);\r\n }\r\n\r\n /**\r\n * Updates the drag position of the bottom sheet.\r\n * @param clientY The current Y position of the pointer.\r\n */\r\n updateDrag(clientY: number) {\r\n const deltaPx = clientY - this.startY();\r\n const sheetHeight = this.el.nativeElement.offsetHeight;\r\n // Convert the pixel delta to a percentage relative to the sheet height\r\n const deltaPercent = (deltaPx / sheetHeight) * 100;\r\n // If open, the initial position is 0%; if closed, it is 100%\r\n const newPos = Math.min(\r\n 100,\r\n Math.max(0, this.isOpen() ? 0 + deltaPercent : 100 + deltaPercent)\r\n );\r\n this.translateY.set(newPos);\r\n }\r\n\r\n /**\r\n * Snaps the bottom sheet to either open or closed state based on the drag position.\r\n */\r\n snapToOpenOrClose() {\r\n if (this.translateY() > this.closeThreshold()) {\r\n this.isOpen.set(false);\r\n } else {\r\n this.isOpen.set(true);\r\n }\r\n }\r\n}\r\n","<div class=\"drag-section\" (pointerdown)=\"startDrag($event)\">\r\n <div class=\"drag-indicator\"></div>\r\n</div>\r\n<ng-content />\r\n","import { Injectable, signal, computed, afterRenderEffect } from '@angular/core';\r\n\r\n/**\r\n * Interface that defines the breakpoints for different device types\r\n */\r\nexport interface DeviceBreakpoints {\r\n /** Maximum width for mobile devices in pixels */\r\n mobile: number;\r\n /** Maximum width for tablet devices in pixels */\r\n tablet: number;\r\n /** Maximum width for desktop devices in pixels */\r\n desktop: number;\r\n}\r\n\r\n/** Available device types */\r\nexport type DeviceType = 'mobile' | 'tablet' | 'desktop';\r\n\r\n/**\r\n * Service that handles responsive design functionality\r\n * Detects current device type based on window width and configurable breakpoints\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ResponsiveService {\r\n /** Signal that holds the breakpoint configuration */\r\n private readonly breakpoints = signal<DeviceBreakpoints>({\r\n mobile: 576,\r\n tablet: 992,\r\n desktop: 1200,\r\n });\r\n\r\n /** Signal that holds the current window width */\r\n private readonly windowWidth = signal<number>(0);\r\n\r\n /**\r\n * Computed signal that returns the current device type based on window width\r\n * @returns The current device type ('mobile', 'tablet', or 'desktop')\r\n */\r\n readonly currentDevice = computed<DeviceType>(() => {\r\n const width = this.windowWidth();\r\n const breaks = this.breakpoints();\r\n\r\n if (width < breaks.mobile) {\r\n return 'mobile';\r\n }\r\n if (width < breaks.tablet) {\r\n return 'tablet';\r\n }\r\n return 'desktop';\r\n });\r\n\r\n constructor() {\r\n afterRenderEffect(() => {\r\n this.initializeWindowWidth();\r\n this.setupResizeListener();\r\n });\r\n }\r\n\r\n /**\r\n * Initializes the window width signal with the current window inner width\r\n * Only called in browser environment\r\n */\r\n private initializeWindowWidth(): void {\r\n this.windowWidth.set(window.innerWidth);\r\n }\r\n\r\n /**\r\n * Sets up the resize event listener to update window width\r\n * Only called in browser environment\r\n */\r\n private setupResizeListener(): void {\r\n window.addEventListener('resize', () => {\r\n this.windowWidth.set(window.innerWidth);\r\n });\r\n }\r\n\r\n /**\r\n * Updates the breakpoint configuration\r\n * @param newBreakpoints - Partial breakpoint configuration to update\r\n */\r\n updateBreakpoints(newBreakpoints: Partial<DeviceBreakpoints>): void {\r\n this.breakpoints.update(current => ({\r\n ...current,\r\n ...newBreakpoints,\r\n }));\r\n }\r\n}\r\n","import { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'span[b-badge]',\r\n template: `<ng-content />`,\r\n host: {\r\n '[class]': 'variant() + \" size-\" + size()',\r\n },\r\n})\r\nexport class Badge {\r\n /** The variant of the badge. */\r\n readonly variant = input<'primary' | 'secondary' | 'ghost' | 'outlined'>(\r\n 'primary'\r\n );\r\n\r\n /** The size of the badge. */\r\n readonly size = input<'small' | 'default'>('default');\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n inject,\r\n model,\r\n output,\r\n AfterViewInit,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'input[b-checkbox]',\r\n template: ``,\r\n host: {\r\n '[attr.role]': 'checkbox',\r\n '[attr.checked]': 'value()',\r\n '[attr.aria-checked]': 'value()',\r\n '(click)': 'toggleValue()',\r\n '(keydown.enter)': 'toggleValue()',\r\n '(keydown.space)': 'toggleValue()',\r\n },\r\n})\r\nexport class Checkbox implements AfterViewInit {\r\n /**\r\n * Value of the checkbox.\r\n */\r\n readonly value = model<boolean>(false);\r\n\r\n /**\r\n * Reference to the checkbox element.\r\n */\r\n el = inject(ElementRef);\r\n\r\n /**\r\n * Event emitted when the value changes.\r\n */\r\n valueChange = output<boolean>();\r\n\r\n /**\r\n * Initializes the checkbox value after the view is initialized.\r\n */\r\n ngAfterViewInit() {\r\n this.value.set(this.el.nativeElement.checked);\r\n }\r\n\r\n /**\r\n * Toggles the value of the checkbox.\r\n */\r\n toggleValue() {\r\n const newValue = !this.value();\r\n this.value.set(newValue);\r\n this.valueChange.emit(newValue);\r\n }\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n inject,\r\n input,\r\n model,\r\n output,\r\n signal,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'textarea[b-textarea]',\r\n template: ``,\r\n host: {\r\n '[placeholder]': 'placeholder() || \"\"',\r\n '[rows]': 'rows()',\r\n '[cols]': 'cols()',\r\n '[class.ng-invalid]': 'invalid()',\r\n '[class.disabled]': 'disabled()',\r\n '(input)': 'onInput($event)',\r\n '(focus)': 'focused.set(true)',\r\n '(blur)': 'focused.set(false)',\r\n },\r\n})\r\nexport class Textarea {\r\n /**\r\n * The placeholder text for the textarea.\r\n */\r\n readonly placeholder = input<string>('');\r\n\r\n /**\r\n * The value of the textarea.\r\n */\r\n readonly value = signal<string | null>(null);\r\n\r\n /**\r\n * The number of rows for the textarea.\r\n */\r\n readonly rows = input<number>(3);\r\n\r\n /**\r\n * The number of columns for the textarea.\r\n */\r\n readonly cols = input<number>(30);\r\n\r\n /**\r\n * Whether the textarea is invalid.\r\n */\r\n readonly invalid = model<boolean>(false);\r\n\r\n /**\r\n * Whether the textarea is disabled.\r\n */\r\n readonly disabled = model<boolean>(false);\r\n\r\n /**\r\n * Whether the textarea is focused.\r\n * This will be used by the Label component.\r\n */\r\n readonly focused = signal<boolean>(false);\r\n\r\n /**\r\n * Event emitted when the value changes.\r\n */\r\n valueChange = output<string | null>();\r\n\r\n /**\r\n * Reference to the textarea element.\r\n */\r\n readonly el = inject<ElementRef<HTMLTextAreaElement>>(ElementRef);\r\n\r\n /**\r\n * Handles the input event.\r\n * @param event The input event.\r\n */\r\n onInput(event: Event): void {\r\n const target = event.target as HTMLTextAreaElement;\r\n this.value.set(target.value);\r\n this.valueChange.emit(target.value);\r\n }\r\n}\r\n","import { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'b-input-group',\r\n template: `<ng-content />`,\r\n host: {\r\n '[class.bordered]': 'bordered()',\r\n '[style.max-width]': 'maxWidth()',\r\n },\r\n})\r\nexport class InputGroup {\r\n /**\r\n * Whether the input group elements are separated by a border.\r\n */\r\n readonly bordered = input<boolean>(true);\r\n\r\n /**\r\n * The maximum width of the input.\r\n */\r\n readonly maxWidth = input<string>('');\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n inject,\r\n model,\r\n input,\r\n AfterViewInit,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'input[b-range]',\r\n template: ``,\r\n host: {\r\n '[attr.value]': 'value()',\r\n '[style.max-width]': 'maxWidth()',\r\n '(input)': 'onInput($event)',\r\n },\r\n})\r\nexport class Range implements AfterViewInit {\r\n /**\r\n * Current value of the range.\r\n */\r\n readonly value = model<string>('0');\r\n\r\n /**\r\n * Maximum width of the range slider.\r\n */\r\n readonly maxWidth = input<string>('100%');\r\n\r\n /**\r\n * Reference to the range element.\r\n */\r\n el = inject(ElementRef);\r\n\r\n /**\r\n * Initializes the range value after the view is initialized.\r\n */\r\n ngAfterViewInit() {\r\n this.value.set(this.el.nativeElement.value);\r\n }\r\n\r\n /**\r\n * Handles the input event to update the value.\r\n */\r\n onInput(event: Event) {\r\n this.value.set((event.target as HTMLInputElement).value);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n/**\r\n * Utility service for common operations.\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UtilsService {\r\n private debounceTimers = new Map<string, any>();\r\n\r\n /**\r\n * Executes a function after a delay, canceling any previous calls with the same key.\r\n *\r\n * @param key - Unique key to identify the debounce timer.\r\n * @param func - The function to debounce.\r\n * @param delay - The delay in milliseconds before executing the function.\r\n */\r\n debounce(key: string, func: () => void, delay: number): void {\r\n clearTimeout(this.debounceTimers.get(key));\r\n this.debounceTimers.set(key, setTimeout(func, delay));\r\n }\r\n\r\n /**\r\n * Cancels the debounce timer for a specific key.\r\n *\r\n * @param key - Unique key to identify the debounce timer.\r\n */\r\n stopDebounce(key: string): void {\r\n clearTimeout(this.debounceTimers.get(key));\r\n this.debounceTimers.delete(key);\r\n }\r\n}\r\n","import { NgTemplateOutlet } from '@angular/common';\r\nimport { Component, computed, signal, TemplateRef } from '@angular/core';\r\nimport { Direction } from '../../../shared/types/direction.type';\r\n\r\n/**\r\n * Tooltip component used to display content or templates in a tooltip overlay.\r\n */\r\n@Component({\r\n selector: 'b-tooltip',\r\n standalone: true,\r\n template: `\r\n @if (isString()) {\r\n {{ content() }}\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"template()\" />\r\n }\r\n `,\r\n imports: [NgTemplateOutlet],\r\n host: {\r\n '[class]': '\"b-tooltip-\" + direction() + \" size-\" + size()',\r\n '[class.b-tooltip-leave]': 'leaving()',\r\n },\r\n})\r\nexport class TooltipComponent {\r\n /**\r\n * Specifies the size of the tooltip.\r\n *\r\n * @defaultValue '2'\r\n */\r\n readonly size = signal<'1' | '2' | '3'>('2');\r\n\r\n /**\r\n * Direction of the tooltip (e.g., top, bottom, left, right).\r\n */\r\n readonly direction = signal<Direction | undefined>(undefined);\r\n\r\n /**\r\n * Indicates whether the tooltip is leaving (for animation purposes).\r\n */\r\n readonly leaving = signal(false);\r\n\r\n /**\r\n * Content of the tooltip, which can be a string or a template.\r\n */\r\n readonly content = signal<string | TemplateRef<any>>('');\r\n\r\n /**\r\n * Determines if the content is a string.\r\n */\r\n readonly isString = computed(() => typeof this.content() === 'string');\r\n\r\n /**\r\n * Returns the template if the content is not a string.\r\n */\r\n readonly template = computed(() => {\r\n if (this.isString()) {\r\n return null;\r\n }\r\n return this.content() as TemplateRef<any>;\r\n });\r\n}\r\n","import {\r\n CdkOverlayOrigin,\r\n ConnectedPosition,\r\n Overlay,\r\n OverlayConfig,\r\n OverlayRef,\r\n} from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport {\r\n computed,\r\n Directive,\r\n effect,\r\n inject,\r\n input,\r\n signal,\r\n TemplateRef,\r\n OnDestroy,\r\n ComponentRef,\r\n} from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { Direction } from '../../../shared/types/direction.type';\r\nimport { UtilsService } from '../../../shared/services/utils.service';\r\nimport { Position } from '../../../public-api';\r\nimport { TooltipComponent } from './tooltip.component';\r\n\r\n/**\r\n * Directive to attach a tooltip to an element.\r\n */\r\n@Directive({\r\n selector: '[bTooltip]',\r\n hostDirectives: [CdkOverlayOrigin],\r\n host: {\r\n '(mouseenter)': 'hover() && show()',\r\n '(mouseleave)': 'hover() && hide()',\r\n '(focus)': 'focus() && show()',\r\n '(blur)': 'focus() && hide()',\r\n },\r\n})\r\nexport class TooltipDirective implements OnDestroy {\r\n /**\r\n * Tooltip content, which can be a string or a template.\r\n *\r\n * @alias bTooltip\r\n */\r\n readonly content = input<string | TemplateRef<any>>('', {\r\n alias: 'bTooltip',\r\n });\r\n\r\n /**\r\n * Specifies the size of the tooltip.\r\n *\r\n * @defaultValue '2'\r\n */\r\n readonly size = input<'1' | '2' | '3'>('2');\r\n\r\n /**\r\n * Overlay origin for positioning the tooltip.\r\n */\r\n origin = inject(CdkOverlayOrigin);\r\n\r\n /**\r\n * Overlay service for creating and managing overlays.\r\n */\r\n overlay = inject(Overlay);\r\n\r\n /**\r\n * Utility service for common operations.\r\n */\r\n utils = inject(UtilsService);\r\n\r\n /**\r\n * Whether the tooltip should appear on hover.\r\n *\r\n * @defaultValue true\r\n */\r\n readonly hover = input(true);\r\n\r\n /**\r\n * Whether the tooltip should appear on focus.\r\n *\r\n * @defaultValue false\r\n */\r\n readonly focus = input(false);\r\n\r\n /**\r\n * Reference to the overlay instance.\r\n */\r\n readonly overlayRef = signal<OverlayRef | null>(null);\r\n\r\n /**\r\n * Map of positions for the tooltip.\r\n */\r\n readonly positionsMap = signal<Record<Position, ConnectedPosition>>({\r\n 'top-left': {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n },\r\n 'top-center': {\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'bottom',\r\n },\r\n 'top-right': {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'bottom',\r\n },\r\n 'bottom-left': {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n 'bottom-center': {\r\n originX: 'center',\r\n originY: 'bottom',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n },\r\n 'bottom-right': {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n },\r\n 'left-top': {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n },\r\n 'left-center': {\r\n originX: 'start',\r\n originY: 'center',\r\n overlayX: 'end',\r\n overlayY: 'center',\r\n },\r\n 'left-bottom': {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'end',\r\n overlayY: 'bottom',\r\n },\r\n 'right-top': {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n 'right-center': {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'center',\r\n },\r\n 'right-bottom': {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n },\r\n });\r\n\r\n /**\r\n * List of positions for the tooltip.\r\n *\r\n * @defaultValue ['bottom-center']\r\n */\r\n readonly positions = input<Position[]>(['bottom-center']);\r\n\r\n /**\r\n * Computed connected positions based on the positions input.\r\n */\r\n readonly connectedPositions = computed<ConnectedPosition[]>(() =>\r\n this.positions().map(position => this.positionsMap()[position])\r\n );\r\n\r\n /**\r\n * Delay before showing the tooltip.\r\n *\r\n * @defaultValue 0\r\n */\r\n readonly showDelay = input<number>(0);\r\n\r\n /**\r\n * Delay before hiding the tooltip.\r\n *\r\n * @defaultValue 150\r\n */\r\n readonly hideDelay = input<number>(150);\r\n\r\n /**\r\n * Currently connected position of the tooltip.\r\n */\r\n readonly connectedPosition = signal<ConnectedPosition | null>(null);\r\n\r\n /**\r\n * Direction of the tooltip based on the connected position.\r\n */\r\n readonly direction = computed<Direction>(() => {\r\n const pair = this.connectedPosition();\r\n return Object.entries(this.positionsMap())\r\n .find(\r\n ([, position]) =>\r\n position.originX === pair?.originX &&\r\n position.originY === pair?.originY &&\r\n position.overlayX === pair?.overlayX &&\r\n position.overlayY === pair?.overlayY\r\n )?.[0]\r\n .split('-')[0] as Direction;\r\n });\r\n\r\n /**\r\n * Subscription to position change events.\r\n */\r\n private positionChangeSubscription: Subscription | null = null;\r\n\r\n /**\r\n * Reference to the tooltip component instance.\r\n */\r\n readonly componentRef = signal<ComponentRef<TooltipComponent> | undefined>(\r\n undefined\r\n );\r\n\r\n /**\r\n * Shows the tooltip.\r\n */\r\n show(): void {\r\n if (this.overlayRef()?.hasAttached()) {\r\n return;\r\n }\r\n\r\n this.utils.debounce(\r\n 'tooltip-show',\r\n () => {\r\n const positionStrategy = this.overlay\r\n .position()\r\n .flexibleConnectedTo(this.origin.elementRef)\r\n .withPositions(this.connectedPositions())\r\n .withPush(true);\r\n\r\n // Subscribe to position change events\r\n this.positionChangeSubscription =\r\n positionStrategy.positionChanges.subscribe(change => {\r\n this.connectedPosition.set(change.connectionPair);\r\n });\r\n\r\n const overlayConfig = new OverlayConfig({\r\n positionStrategy,\r\n scrollStrategy: this.overlay.scrollStrategies.close(),\r\n });\r\n\r\n if (!this.overlayRef()) {\r\n this.overlayRef.set(this.overlay.create(overlayConfig));\r\n }\r\n\r\n const componentPortal = new ComponentPortal(TooltipComponent);\r\n this.componentRef.set(this.overlayRef()?.attach(componentPortal));\r\n\r\n // Reset the leaving state and direction to ensure animations play\r\n const instance = this.componentRef()?.instance;\r\n instance?.leaving.set(false);\r\n instance?.direction.set(this.direction());\r\n instance?.content.set(this.content());\r\n instance?.size.set(this.size());\r\n\r\n // Trigger reflow to ensure CSS animations are applied\r\n void this.overlayRef()?.overlayElement.offsetHeight;\r\n },\r\n this.showDelay()\r\n );\r\n }\r\n\r\n /**\r\n * Hides the tooltip.\r\n */\r\n hide(): void {\r\n if (!this.overlayRef()?.hasAttached()) {\r\n return; // Avoid detaching if not attached\r\n }\r\n\r\n this.componentRef()?.instance.leaving.set(true);\r\n\r\n this.utils.debounce(\r\n 'tooltip-hide',\r\n () => this.overlayRef()?.detach(),\r\n this.hideDelay()\r\n );\r\n }\r\n\r\n /**\r\n * Cleans up resources when the directive is destroyed.\r\n */\r\n ngOnDestroy() {\r\n this.hide();\r\n // Unsubscribe from position change events\r\n this.positionChangeSubscription?.unsubscribe();\r\n this.positionChangeSubscription = null;\r\n }\r\n\r\n constructor() {\r\n effect(() => this.componentRef()?.instance.direction.set(this.direction()));\r\n }\r\n}\r\n","import {\r\n Component,\r\n computed,\r\n contentChild,\r\n input,\r\n signal,\r\n AfterViewInit,\r\n inject,\r\n ElementRef,\r\n} from '@angular/core';\r\nimport { ControlContainer, NgModel } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'input[b-color-picker]',\r\n imports: [],\r\n template: ``,\r\n host: {\r\n '[class.focused]': 'focused()',\r\n '[style.max-width]': 'maxWidth()',\r\n '[style.--value]': 'valueWithSingleQuotes()',\r\n '[style.--text-color]': 'textColor()',\r\n '[class.show-color]': 'showColor()',\r\n '(focus)': 'focused.set(true)',\r\n '(blur)': 'focused.set(false)',\r\n '(input)': 'value.set($event.target.value)',\r\n },\r\n})\r\nexport class ColorPicker implements AfterViewInit {\r\n /**\r\n * Specifies the maximum width of the input.\r\n */\r\n readonly maxWidth = input('');\r\n\r\n /**\r\n * Represents the value of the input.\r\n */\r\n readonly value = signal<string>('#ffffff');\r\n\r\n /**\r\n * Computed signal for the text color with single quotes.\r\n */\r\n readonly valueWithSingleQuotes = computed(() => {\r\n return `'${this.value()}'`;\r\n });\r\n\r\n /**\r\n * A computed signal that dynamically calculates the text color based on the resolved value.\r\n */\r\n readonly textColor = computed(() => {\r\n const backgroundColor = this.resolveColor(this.value());\r\n const hex = backgroundColor.replace('#', '');\r\n const r = parseInt(hex.substring(0, 2), 16);\r\n const g = parseInt(hex.substring(2, 4), 16);\r\n const b = parseInt(hex.substring(4, 6), 16);\r\n\r\n const luminance = 0.2126 * r + 0.7152 * g + 0.0722 * b;\r\n return luminance > 128 ? '#000000' : '#FFFFFF';\r\n });\r\n\r\n /**\r\n * Indicates whether the input is focused.\r\n */\r\n readonly focused = signal<boolean>(false);\r\n\r\n /**\r\n * A reference to the `NgModel` directive.\r\n */\r\n private readonly ngModel = contentChild<NgModel>(NgModel);\r\n\r\n /**\r\n * Indicates whether to show the color value.\r\n */\r\n readonly showColor = input<boolean>(true);\r\n\r\n /**\r\n * A reference to the native element.\r\n */\r\n el = inject(ElementRef);\r\n\r\n /**\r\n * A reference to the control container.\r\n */\r\n private controlContainer = inject(ControlContainer, { optional: true });\r\n\r\n /**\r\n * Lifecycle hook that is called after the view has been initialized.\r\n * Sets the initial value of the picker and attaches event listeners.\r\n */\r\n ngAfterViewInit(): void {\r\n const formControl = this.controlContainer?.control?.get(\r\n this.el.nativeElement.getAttribute('formControlName')\r\n );\r\n\r\n // Inicializa el valor del signal\r\n this.value.set(\r\n this.el?.nativeElement.value || this.ngModel()?.value || '#000000'\r\n );\r\n\r\n // Suscríbete a los cambios del FormControl\r\n formControl?.valueChanges.subscribe((newValue: string) => {\r\n this.value.set(newValue || '#000000');\r\n });\r\n }\r\n\r\n /**\r\n * Resolves a color value, handling cases like `transparent` or `color-mix`.\r\n * @param value The input color value.\r\n * @returns A valid hexadecimal color.\r\n */\r\n resolveColor(value: string): string {\r\n // Handle `color-mix` values\r\n const colorMixMatch = value.match(\r\n /color-mix\\(in srgb, (#[0-9a-fA-F]{6}), (#[0-9a-fA-F]{6}) (\\d+)%\\)/\r\n );\r\n if (colorMixMatch) {\r\n const [, color1, color2, percentage] = colorMixMatch;\r\n return this.calculateColorMix(\r\n color1,\r\n color2,\r\n parseInt(percentage, 10) / 100\r\n );\r\n }\r\n\r\n // Handle `transparent` values\r\n if (value === 'transparent') {\r\n return '#ffffff'; // Default to white for transparency\r\n }\r\n\r\n return value; // Return the original value if no special cases\r\n }\r\n\r\n /**\r\n * Calculates the result of a `color-mix` operation.\r\n * @param color1 The first color in hexadecimal format.\r\n * @param color2 The second color in hexadecimal format.\r\n * @param percentage The mix percentage for the second color.\r\n * @returns The resulting mixed color in hexadecimal format.\r\n */\r\n calculateColorMix(\r\n color1: string,\r\n color2: string,\r\n percentage: number\r\n ): string {\r\n const hexToRgb = (hex: string) => {\r\n const bigint = parseInt(hex.replace('#', ''), 16);\r\n return {\r\n r: (bigint >> 16) & 255,\r\n g: (bigint >> 8) & 255,\r\n b: bigint & 255,\r\n };\r\n };\r\n\r\n const rgbToHex = (r: number, g: number, b: number) =>\r\n `#${((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)}`;\r\n\r\n const rgb1 = hexToRgb(color1);\r\n const rgb2 = hexToRgb(color2);\r\n\r\n const r = Math.round(rgb1.r * (1 - percentage) + rgb2.r * percentage);\r\n const g = Math.round(rgb1.g * (1 - percentage) + rgb2.g * percentage);\r\n const b = Math.round(rgb1.b * (1 - percentage) + rgb2.b * percentage);\r\n\r\n return rgbToHex(r, g, b);\r\n }\r\n}\r\n","import { CdkDrag, CdkDragHandle } from '@angular/cdk/drag-drop';\r\nimport {\r\n Component,\r\n contentChild,\r\n inject,\r\n model,\r\n OnInit,\r\n output,\r\n} from '@angular/core';\r\nimport { Tree } from '../../../tree.component';\r\nimport { Icon } from '../../../../icon/icon.component';\r\n\r\n/**\r\n * Represents a tree node component that can be extended, collapsed,\r\n * and optionally supports drag-and-drop functionality.\r\n */\r\n@Component({\r\n selector: 'b-tree-node',\r\n imports: [Icon, CdkDragHandle],\r\n templateUrl: './tree-node.component.html',\r\n hostDirectives: [\r\n {\r\n directive: CdkDrag,\r\n inputs: ['cdkDragDisabled: disabled'],\r\n },\r\n ],\r\n})\r\nexport class TreeNode implements OnInit {\r\n /**\r\n * Indicates whether the node is extended (expanded).\r\n */\r\n readonly extended = model(false);\r\n\r\n /**\r\n * Reference to the `CdkDrag` directive for drag-and-drop functionality.\r\n */\r\n protected node = inject(CdkDrag);\r\n\r\n /**\r\n * Reference to a nested `Tree` component, if present.\r\n */\r\n readonly nestedTree = contentChild(Tree);\r\n\r\n /**\r\n * Emits an event when the node is closed.\r\n */\r\n closeEmitter = output<void>();\r\n\r\n /**\r\n * Lifecycle hook that is called after the component is initialized.\r\n */\r\n ngOnInit(): void {\r\n this.node.lockAxis = 'y';\r\n }\r\n\r\n /**\r\n * Updates the disabled state of the node.\r\n * @param disabled - Whether the node should be disabled.\r\n */\r\n handleNodeDisability(disabled: boolean): void {\r\n this.node.disabled = disabled;\r\n }\r\n\r\n /**\r\n * Toggles the extended (expanded) state of the node.\r\n * Emits a close event if the node is collapsed and contains a nested tree.\r\n */\r\n handleExtension(): void {\r\n const isExtended = this.extended();\r\n this.extended.set(!isExtended);\r\n\r\n if (isExtended && this.nestedTree()) {\r\n this.closeEmitter.emit();\r\n }\r\n }\r\n}\r\n","<section>\r\n @if (!node.disabled) {\r\n <i b-icon icon=\"GripVertical\" [size]=\"15\" cdkDragHandle></i>\r\n }\r\n <div\r\n class=\"projected-content\"\r\n (click)=\"nestedTree() && handleExtension()\"\r\n (keydown.enter)=\"nestedTree() && handleExtension()\"\r\n (keydown.space)=\"nestedTree() && handleExtension()\"\r\n role=\"button\"\r\n tabindex=\"0\">\r\n <ng-content />\r\n </div>\r\n @if (nestedTree()) {\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\"\r\n height=\"20\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\">\r\n <path d=\"m6 9 6 6 6-6\" />\r\n </svg>\r\n }\r\n</section>\r\n@if (nestedTree() && extended()) {\r\n <div class=\"nested\">\r\n <ng-content select=\"b-tree\" />\r\n </div>\r\n}\r\n","import {\r\n CdkDragDrop,\r\n CdkDropList,\r\n CdkDropListGroup,\r\n} from '@angular/cdk/drag-drop';\r\nimport {\r\n Component,\r\n contentChildren,\r\n effect,\r\n inject,\r\n input,\r\n OnInit,\r\n output,\r\n} from '@angular/core';\r\nimport { TreeNode } from './shared/components/tree-node/tree-node.component';\r\n\r\n/**\r\n * Represents a tree component that supports drag-and-drop functionality\r\n * and manages nested tree nodes.\r\n */\r\n@Component({\r\n selector: 'b-tree',\r\n template: `<ng-content />`,\r\n host: {\r\n '(cdkDropListDropped)': 'dropEmitter.emit($event)',\r\n '[style.max-width]': 'maxWidth()',\r\n },\r\n hostDirectives: [\r\n {\r\n directive: CdkDropList,\r\n inputs: ['id', 'cdkDropListConnectedTo: connectedTo'],\r\n outputs: ['cdkDropListDropped'],\r\n },\r\n CdkDropListGroup,\r\n ],\r\n})\r\nexport class Tree implements OnInit {\r\n /**\r\n * The ID of the tree component.\r\n */\r\n readonly maxWidth = input<string>('100%');\r\n /**\r\n * Determines whether the tree is draggable.\r\n */\r\n readonly draggable = input(false);\r\n\r\n /**\r\n * Reference to the `CdkDropList` directive used for drag-and-drop.\r\n */\r\n private tree = inject(CdkDropList);\r\n\r\n /**\r\n * Collection of nested `TreeNode` components.\r\n */\r\n private readonly nestedNodes = contentChildren(TreeNode);\r\n\r\n /**\r\n * Determines whether to close nodes recursively.\r\n */\r\n readonly closeRecursively = input(false);\r\n\r\n /**\r\n * Emits an event when a drop occurs in the tree.\r\n */\r\n dropEmitter = output<CdkDragDrop<string[]>>();\r\n\r\n /**\r\n * Initializes the `Tree` component and sets up reactive effects.\r\n */\r\n constructor() {\r\n effect(() => {\r\n this.handleTreeDisability();\r\n });\r\n }\r\n\r\n /**\r\n * Lifecycle hook that is called after the component is initialized.\r\n */\r\n ngOnInit(): void {\r\n if (this.closeRecursively()) this.handleCloseRecursively();\r\n }\r\n\r\n /**\r\n * Updates the disabled state of the tree and its nested nodes.\r\n */\r\n private handleTreeDisability(): void {\r\n const isDisabled = !this.draggable();\r\n this.tree.disabled = isDisabled;\r\n\r\n this.nestedNodes().forEach(node => {\r\n node.handleNodeDisability(isDisabled);\r\n });\r\n }\r\n\r\n /**\r\n * Sets up recursive closing behavior for nested nodes.\r\n */\r\n handleCloseRecursively(): void {\r\n this.nestedNodes().forEach(node => {\r\n node.closeEmitter.subscribe(() => {\r\n this.closeNestedNodes();\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Closes all nested nodes recursively.\r\n */\r\n closeNestedNodes(): void {\r\n this.nestedNodes().forEach(node => {\r\n node.extended.set(false);\r\n node.nestedTree()?.closeNestedNodes();\r\n });\r\n }\r\n}\r\n","import { CdkMenu } from '@angular/cdk/menu';\r\nimport { Component } from '@angular/core';\r\n\r\n/**\r\n * Represents a menu component that can optionally float.\r\n */\r\n@Component({\r\n selector: 'b-menu',\r\n imports: [],\r\n template: `<ng-content />`,\r\n hostDirectives: [CdkMenu],\r\n})\r\nexport class Menu {}\r\n","import { Component } from '@angular/core';\r\n\r\n/**\r\n * Represents a label for a menu.\r\n */\r\n@Component({\r\n selector: 'b-menu-label',\r\n imports: [],\r\n template: `<ng-content />`,\r\n})\r\nexport class MenuLabel {}\r\n","import { CdkMenuItem } from '@angular/cdk/menu';\r\nimport { Component } from '@angular/core';\r\n\r\n/**\r\n * Represents a menu item with support for typeahead and disabled states.\r\n */\r\n@Component({\r\n selector: 'button[b-menu-item]',\r\n imports: [],\r\n template: `<ng-content />`,\r\n hostDirectives: [\r\n {\r\n directive: CdkMenuItem,\r\n inputs: [\r\n 'cdkMenuItemDisabled: disabled',\r\n 'cdkMenuitemTypeaheadLabel: typeaheadLabel',\r\n ],\r\n outputs: ['cdkMenuItemTriggered: triggered'],\r\n },\r\n ],\r\n})\r\nexport class MenuItemComponent {}\r\n","import { CdkMenuGroup } from '@angular/cdk/menu';\r\nimport { Component } from '@angular/core';\r\n\r\n/**\r\n * Represents a group of menu items.\r\n */\r\n@Component({\r\n selector: 'b-menu-group',\r\n imports: [],\r\n template: `<ng-content />`,\r\n hostDirectives: [CdkMenuGroup],\r\n})\r\nexport class MenuGroupComponent {}\r\n","import { CdkMenuItemCheckbox } from '@angular/cdk/menu';\r\nimport { Component } from '@angular/core';\r\n\r\n/**\r\n * Represents a checkbox menu item.\r\n */\r\n@Component({\r\n selector: 'button[b-menu-item-checkbox]',\r\n imports: [],\r\n template: `<ng-content />`,\r\n hostDirectives: [\r\n {\r\n directive: CdkMenuItemCheckbox,\r\n inputs: [\r\n 'cdkMenuItemDisabled: disabled',\r\n 'cdkMenuitemTypeaheadLabel: typeaheadLabel',\r\n 'cdkMenuItemChecked: active',\r\n ],\r\n outputs: ['cdkMenuItemTriggered: triggered'],\r\n },\r\n ],\r\n})\r\nexport class MenuItemCheckboxComponent {}\r\n","import { CdkMenuItemRadio } from '@angular/cdk/menu';\r\nimport { Component } from '@angular/core';\r\n\r\n/**\r\n * Represents a radio menu item.\r\n */\r\n@Component({\r\n selector: 'button[b-menu-item-radio]',\r\n imports: [],\r\n template: `<ng-content />`,\r\n hostDirectives: [\r\n {\r\n directive: CdkMenuItemRadio,\r\n inputs: [\r\n 'cdkMenuItemDisabled: disabled',\r\n 'cdkMenuitemTypeaheadLabel: typeaheadLabel',\r\n 'cdkMenuItemChecked: active',\r\n ],\r\n outputs: ['cdkMenuItemTriggered: triggered'],\r\n },\r\n ],\r\n})\r\nexport class MenuItemRadioComponent {}\r\n","import { CdkMenuTrigger } from '@angular/cdk/menu';\r\nimport { Directive, inject, input, OnInit } from '@angular/core';\r\nimport { ConnectedPosition } from '@angular/cdk/overlay';\r\nimport { Position } from '../../../../../shared/types/position.type';\r\n\r\n@Directive({\r\n selector: '[menuTriggerFor]',\r\n hostDirectives: [\r\n {\r\n directive: CdkMenuTrigger,\r\n inputs: ['cdkMenuTriggerFor: menuTriggerFor'],\r\n },\r\n ],\r\n})\r\nexport class MenuTrigger implements OnInit {\r\n trigger = inject(CdkMenuTrigger);\r\n readonly menuTriggerPosition = input<Position>('right-top');\r\n readonly submenu = input(false);\r\n\r\n ngOnInit(): void {\r\n this.setPosition();\r\n }\r\n\r\n setPosition(): void {\r\n const positionMap: Record<Position, ConnectedPosition> = {\r\n 'top-left': {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n offsetY: !this.submenu() ? -5 : undefined,\r\n },\r\n 'top-center': {\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'bottom',\r\n offsetY: !this.submenu() ? -5 : undefined,\r\n },\r\n 'top-right': {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'bottom',\r\n offsetY: !this.submenu() ? -5 : undefined,\r\n },\r\n 'bottom-left': {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n offsetY: !this.submenu() ? 5 : undefined,\r\n },\r\n 'bottom-center': {\r\n originX: 'center',\r\n originY: 'bottom',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n offsetY: !this.submenu() ? 5 : undefined,\r\n },\r\n 'bottom-right': {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n offsetY: !this.submenu() ? 5 : undefined,\r\n },\r\n 'left-top': {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n offsetX: !this.submenu() ? -5 : undefined,\r\n },\r\n 'left-center': {\r\n originX: 'start',\r\n originY: 'center',\r\n overlayX: 'end',\r\n overlayY: 'center',\r\n offsetX: !this.submenu() ? -5 : undefined,\r\n },\r\n 'left-bottom': {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'end',\r\n overlayY: 'bottom',\r\n offsetX: !this.submenu() ? -5 : undefined,\r\n },\r\n 'right-top': {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n offsetX: !this.submenu() ? 5 : undefined,\r\n },\r\n 'right-center': {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'center',\r\n offsetX: !this.submenu() ? 5 : undefined,\r\n },\r\n 'right-bottom': {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n offsetX: !this.submenu() ? 5 : undefined,\r\n },\r\n };\r\n\r\n const connectedPosition = positionMap[this.menuTriggerPosition()];\r\n this.trigger.menuPosition = [connectedPosition];\r\n }\r\n}\r\n","import { Component, computed, input, output } from '@angular/core';\r\nimport { Icon } from '../icon/icon.component';\r\n\r\n@Component({\r\n selector: 'b-alert',\r\n templateUrl: './alert.component.html',\r\n imports: [Icon],\r\n host: {\r\n '[class]': 'type()',\r\n '[style.max-width]': 'maxWidth()',\r\n },\r\n})\r\nexport class Alert {\r\n /** The type of the alert. */\r\n readonly type = input<'success' | 'error' | 'warning' | 'info'>('info');\r\n\r\n /** The title of the alert. */\r\n readonly title = input<string | null>(null);\r\n\r\n /** The icon of the alert. */\r\n readonly icon = input<string | null>(null);\r\n\r\n /** Whether the alert is dismissible. */\r\n readonly dismissible = input(false);\r\n\r\n /** Event emitted when the alert is dismissed. */\r\n readonly dismissed = output<void>();\r\n\r\n /** The maximum width of the alert. */\r\n readonly maxWidth = input<string | null>(null);\r\n\r\n /** The color foreground of the alert. */\r\n readonly colorForeground = computed(() => {\r\n return this.type() === 'info'\r\n ? 'var(--secondary-foreground)'\r\n : `var(--${this.type()}-foreground)`;\r\n });\r\n\r\n dismiss(): void {\r\n this.dismissed.emit();\r\n }\r\n}\r\n","@if (icon()) {\r\n <div class=\"icon\">\r\n <i b-icon [icon]=\"icon()!\" [size]=\"20\" [color]=\"colorForeground()\"></i>\r\n </div>\r\n}\r\n<div class=\"content\">\r\n @if (title()) {\r\n <div class=\"title\">\r\n {{ title() }}\r\n </div>\r\n }\r\n\r\n <div class=\"body\">\r\n <ng-content />\r\n </div>\r\n</div>\r\n@if (dismissible()) {\r\n <button class=\"close-btn\" (click)=\"dismiss()\">\r\n <i b-icon icon=\"X\" [size]=\"20\" [color]=\"colorForeground()\"></i>\r\n </button>\r\n}\r\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\r\nimport { CdkListbox, CdkOption } from '@angular/cdk/listbox';\r\nimport {\r\n Component,\r\n computed,\r\n contentChildren,\r\n inject,\r\n OnInit,\r\n output,\r\n signal,\r\n} from '@angular/core';\r\n\r\n/**\r\n * Component representing a list of command options.\r\n * It uses Angular CDK's listbox and option utilities for accessibility and keyboard navigation.\r\n */\r\n@Component({\r\n selector: 'ul[b-command-options]',\r\n imports: [],\r\n template: `<ng-content />`,\r\n hostDirectives: [\r\n {\r\n directive: CdkListbox,\r\n outputs: ['cdkListboxValueChange'],\r\n },\r\n ],\r\n host: {\r\n '(cdkListboxValueChange)': 'selectOption($event.value)',\r\n '(keydown.enter)': 'closeEmitter.emit()',\r\n },\r\n})\r\nexport class CommandOptionsComponent implements OnInit {\r\n /**\r\n * Collection of child options within the listbox.\r\n */\r\n readonly options = contentChildren(CdkOption);\r\n\r\n /**\r\n * Key manager for handling keyboard navigation and active descendant management.\r\n */\r\n readonly listKeyManager = computed(() =>\r\n new ActiveDescendantKeyManager(this.options())\r\n .withWrap()\r\n .withVerticalOrientation()\r\n );\r\n\r\n /**\r\n * Signal representing the currently selected values.\r\n */\r\n readonly value = signal<string[]>([]);\r\n\r\n /**\r\n * Signal representing the currently highlighted option.\r\n */\r\n readonly highlightedOption = signal('1');\r\n\r\n /**\r\n * Reference to the injected CDK Listbox instance.\r\n */\r\n cdkListbox = inject(CdkListbox);\r\n\r\n /**\r\n * Emitter for closing the command options.\r\n */\r\n closeEmitter = output();\r\n\r\n /**\r\n * Lifecycle hook that initializes the component.\r\n * Enables the use of active descendant for the listbox.\r\n */\r\n ngOnInit(): void {\r\n this.cdkListbox.useActiveDescendant = true;\r\n }\r\n\r\n /**\r\n * Selects the currently active option and updates the listbox value.\r\n */\r\n selectOption(value?: string[]): void {\r\n const selectValue = value\r\n ? value\r\n : (this.listKeyManager().activeItem?.value ?? []);\r\n this.value.set(selectValue);\r\n this.cdkListbox.value = this.value();\r\n this.closeEmitter.emit();\r\n }\r\n\r\n /**\r\n * Moves the active item to the next option and updates the highlighted option.\r\n */\r\n nextOption(): void {\r\n this.listKeyManager().setNextItemActive();\r\n this.highlightedOption.set(this.listKeyManager().activeItem?.value ?? '');\r\n this.updateHighlightedOption();\r\n }\r\n\r\n /**\r\n * Moves the active item to the previous option and updates the highlighted option.\r\n */\r\n previousOption(): void {\r\n this.listKeyManager().setPreviousItemActive();\r\n this.highlightedOption.set(this.listKeyManager().activeItem?.value ?? '');\r\n this.updateHighlightedOption();\r\n }\r\n\r\n /**\r\n * Updates the CSS class of options to reflect the currently highlighted option.\r\n */\r\n updateHighlightedOption(): void {\r\n this.options().forEach(option => {\r\n if (option.value === this.highlightedOption()) {\r\n option.element.classList.add('cdk-option-highlighted');\r\n } else {\r\n option.element.classList.remove('cdk-option-highlighted');\r\n }\r\n });\r\n }\r\n}\r\n","import {\r\n Component,\r\n computed,\r\n contentChild,\r\n ElementRef,\r\n inject,\r\n input,\r\n signal,\r\n} from '@angular/core';\r\nimport { Input } from '../input/input.component';\r\nimport { CdkTrapFocus } from '@angular/cdk/a11y';\r\nimport { CommandOptionsComponent } from './command-options.component';\r\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\r\n\r\n/**\r\n * Component representing a command input with associated options.\r\n * It provides keyboard navigation and focus trapping for accessibility.\r\n */\r\n@Component({\r\n selector: 'b-command',\r\n imports: [Input, CdkTrapFocus],\r\n template: `<input\r\n type=\"text\"\r\n b-input\r\n cdkTrapFocus\r\n [cdkTrapFocusAutoCapture]=\"isDesktop()\"\r\n #trappedInput\r\n (keydown.arrowDown)=\"commandOptions()?.nextOption()\"\r\n (keydown.arrowUp)=\"commandOptions()?.previousOption()\"\r\n (keydown.enter)=\"commandOptions()?.selectOption()\"\r\n (blur)=\"isDesktop() && trappedInput.el.nativeElement.focus()\" />\r\n <ng-content />`,\r\n host: {\r\n '[style.maxHeight]': 'maxHeight()',\r\n },\r\n})\r\nexport class CommandComponent {\r\n /**\r\n * Reference to the child `CommandOptionsComponent` if present.\r\n * Used to interact with the options for navigation and selection.\r\n */\r\n readonly commandOptions = contentChild(CommandOptionsComponent);\r\n\r\n /**\r\n * Input representing the maximum height of the component.\r\n * This can be used to control the visual appearance of the command component.\r\n */\r\n readonly maxHeight = input('300px');\r\n\r\n /**\r\n * Computed signal representing the selected value from the command options.\r\n * This is linked to the value of the `CommandOptionsComponent`.\r\n */\r\n readonly value = computed(() => this.commandOptions()?.value());\r\n\r\n /**\r\n * Computed signal representing the options available in the command options.\r\n * This is linked to the options of the `CommandOptionsComponent`.\r\n */\r\n readonly options = computed(() => this.commandOptions()?.options());\r\n\r\n /**\r\n * Reference to the BreakpointObserver service for responsive design.\r\n */\r\n breakpointObserver = inject(BreakpointObserver);\r\n\r\n /**\r\n * Signal representing whether the current viewport is desktop or not.\r\n * This is determined by checking if the Handset breakpoint is matched.\r\n */\r\n readonly isDesktop = signal(\r\n !this.breakpointObserver.isMatched(Breakpoints.Handset)\r\n );\r\n\r\n /**\r\n * Reference to the host element of the component.\r\n * This provides access to the DOM element of the command component.\r\n */\r\n el = inject(ElementRef);\r\n}\r\n","import {\r\n Component,\r\n computed,\r\n contentChild,\r\n HostListener,\r\n input,\r\n linkedSignal,\r\n model,\r\n OnInit,\r\n signal,\r\n viewChild,\r\n} from '@angular/core';\r\nimport { Button } from '../button/button.component';\r\nimport { Icon } from '../icon/icon.component';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { forwardRef } from '@angular/core';\r\nimport { CommandComponent } from '../command/command.component';\r\nimport { OverlayTriggerDirective } from '../../directives/overlay-trigger.directive';\r\nimport { OverlayDirective } from '../../directives/overlay.directive';\r\n\r\n/**\r\n * Component representing a combobox dropdown.\r\n * This component provides a button to toggle the dropdown and displays the selected option(s) with an input field.\r\n */\r\n@Component({\r\n selector: 'b-combobox',\r\n imports: [Button, Icon, OverlayTriggerDirective, OverlayDirective],\r\n template: ` <button\r\n b-button\r\n variant=\"outlined\"\r\n (click)=\"isOpen.set(!isOpen())\"\r\n (keydown.arrowUp)=\"!isOpen() && isOpen.set(true)\"\r\n (keydown.arrowDown)=\"!isOpen() && isOpen.set(true)\"\r\n [activeEnabled]=\"false\"\r\n bOverlayTrigger\r\n #trigger=\"bOverlayTrigger\">\r\n {{ content() }}\r\n <i b-icon icon=\"ChevronDown\" [size]=\"16\"></i>\r\n </button>\r\n <ng-template\r\n bOverlay\r\n [trigger]=\"trigger\"\r\n [open]=\"isOpen()\"\r\n [minWidth]=\"buttonWidth()\"\r\n [positions]=\"['bottom-left', 'bottom-right', 'top-left', 'top-right']\"\r\n [closeDelay]=\"closeDelay()\"\r\n (attach)=\"onOverlayAttached()\"\r\n (outsideClick)=\"isOpen.set(false)\"\r\n (detach)=\"isOpen.set(false)\">\r\n <ng-content />\r\n </ng-template>`,\r\n host: {\r\n '[class.disabled]': 'disabled()',\r\n },\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => ComboboxComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class ComboboxComponent implements OnInit, ControlValueAccessor {\r\n /**\r\n * Placeholder text displayed when no option is selected.\r\n * Defaults to 'Select an option'.\r\n */\r\n readonly placeholder = input<string>('Select an option');\r\n\r\n /**\r\n * Signal indicating whether the dropdown is currently open.\r\n */\r\n readonly isOpen = signal(false);\r\n\r\n /**\r\n * Reference to the button element used to toggle the dropdown.\r\n * This is used for managing focus and interactions.\r\n */\r\n readonly button = viewChild(Button);\r\n\r\n /**\r\n * Reference to the content component of the dropdown.\r\n * This contains the list of selectable options.\r\n */\r\n readonly command = contentChild(CommandComponent);\r\n\r\n /**\r\n * Computed signal representing the selected values from the dropdown.\r\n * This is linked to the value of the `CommandComponent`.\r\n */\r\n readonly value = linkedSignal(() => this.command()?.value());\r\n\r\n /**\r\n * Linked signal for the width of the button element.\r\n * This is used to set the width of the dropdown overlay.\r\n */\r\n readonly buttonWidth = linkedSignal(\r\n () => this.button()?.el.nativeElement.offsetWidth\r\n );\r\n\r\n /**\r\n * Model indicating whether the combobox component is disabled.\r\n * When disabled, the dropdown cannot be opened or interacted with.\r\n */\r\n readonly disabled = model(false);\r\n\r\n /**\r\n * Computed signal representing the options available in the dropdown.\r\n * This retrieves the options from the `CommandComponent`.\r\n */\r\n readonly options = computed(() => this.command()?.options());\r\n\r\n /**\r\n * Computed signal representing the content of the selected option(s).\r\n * If no option is selected, it returns the placeholder text.\r\n */\r\n readonly content = computed(() => {\r\n const selected = this.value();\r\n if (selected && selected.length > 0) {\r\n return this.options()?.reduce((acc, option) => {\r\n if (selected.includes(option.value)) {\r\n return acc ? acc + ', ' + option.getLabel() : option.getLabel();\r\n }\r\n return acc;\r\n }, '');\r\n } else {\r\n return this.placeholder();\r\n }\r\n });\r\n\r\n /**\r\n * Signal representing the delay before closing the dropdown.\r\n * This is used to provide a smooth transition when closing the dropdown.\r\n */\r\n readonly closeDelay = signal(150);\r\n\r\n /**\r\n * Lifecycle hook that is called after the component is initialized.\r\n * It sets up the necessary subscriptions for handling value changes.\r\n */\r\n ngOnInit(): void {\r\n this.handleSelectedValueChange();\r\n }\r\n\r\n /**\r\n * Subscribes to the `closeEmitter` of the `CommandComponent` to handle\r\n * changes to the selected value. This ensures the dropdown closes and the\r\n * value is propagated to Angular Forms.\r\n */\r\n handleSelectedValueChange() {\r\n this.command()\r\n ?.commandOptions()\r\n ?.closeEmitter.subscribe(() => {\r\n this.onChange(this.value()!);\r\n this.onTouched();\r\n this.isOpen.set(false);\r\n });\r\n }\r\n\r\n /**\r\n * Focuses the input element within the command component when the overlay is attached.\r\n */\r\n onOverlayAttached() {\r\n this.buttonWidth.set(this.button()?.el.nativeElement.offsetWidth);\r\n this.command()?.el.nativeElement.querySelector('input')?.focus();\r\n }\r\n\r\n /**\r\n * Sets the width of the button element when the window is resized.\r\n * This ensures that the dropdown overlay matches the width of the button.\r\n */\r\n @HostListener('window:resize')\r\n setButtonWidth() {\r\n this.buttonWidth.set(this.button()?.el.nativeElement.offsetWidth);\r\n }\r\n\r\n // Control Value Accessor methods\r\n\r\n /**\r\n * Callback function to propagate changes to the model.\r\n * This is called whenever the value changes.\r\n */\r\n private onChange: (value: string[]) => void = () => undefined;\r\n\r\n /**\r\n * Callback function to mark the component as touched.\r\n * This is called when the component loses focus.\r\n */\r\n private onTouched: () => void = () => undefined;\r\n\r\n /**\r\n * Writes a new value to the component.\r\n * This method is called by Angular Forms to update the value of the combobox component.\r\n * @param value - The new value to set.\r\n */\r\n writeValue(value: string[]): void {\r\n if (value) {\r\n value.forEach(value => {\r\n this.command()?.commandOptions()?.cdkListbox?.selectValue(value);\r\n });\r\n this.value.set(value);\r\n }\r\n }\r\n\r\n /**\r\n * Registers a callback function to be called when the value changes.\r\n * @param fn - The callback function.\r\n */\r\n registerOnChange(fn: (value: string[]) => void): void {\r\n this.onChange = fn;\r\n }\r\n\r\n /**\r\n * Registers a callback function to be called when the component is touched.\r\n * @param fn - The callback function.\r\n */\r\n registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n /**\r\n * Sets the disabled state of the component.\r\n * This method is called by Angular Forms to enable or disable the component.\r\n * @param isDisabled - A boolean indicating whether the component should be disabled.\r\n */\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled.set(isDisabled);\r\n }\r\n}\r\n","/*\r\n * Public API Surface of basis-ng\r\n */\r\n\r\n/* Theme Service */\r\nexport * from './core/services/theme.service';\r\n\r\n/* Button */\r\nexport * from './core/components/button/button.component';\r\nexport * from './core/components/button-group/button-group.component';\r\n\r\n/* Directives */\r\nexport * from './shared/directives/lazy-content.directive';\r\n\r\n/* Input */\r\nexport * from './core/components/input/input.component';\r\n\r\n/* Select */\r\nexport * from './core/components/select/select.component';\r\nexport * from './core/components/select/select-options.component';\r\nexport * from './shared/components/option.component';\r\n\r\n/* Spinner */\r\nexport * from './core/components/spinner/spinner.component';\r\n\r\n/* Switch */\r\nexport * from './core/components/switch/switch.component';\r\n\r\n/* Table */\r\nexport * from './core/components/table/table.component';\r\nexport * from './core/components/table/components/row/row.component';\r\nexport * from './core/components/table/components/row/components/row-item/row-item.component';\r\n\r\n/* Tabs */\r\nexport * from './core/components/tabs/tabs.component';\r\nexport * from './core/components/tabs/tab.component';\r\n\r\n/* InViewport */\r\nexport * from './core/directives/in-viewport.directive';\r\nexport * from './core/services/in-viewport.service';\r\n\r\n/* Side Sheet */\r\nexport * from './core/components/side-sheet/side-sheet.component';\r\n\r\n/* Bottom Sheet */\r\nexport * from './core/components/bottom-sheet/bottom-sheet.component';\r\n\r\n/* Responsive */\r\nexport * from './core/services/responsive.service';\r\n\r\n/* Icon */\r\nexport * from './core/components/icon/icon.component';\r\n\r\n/* Badge */\r\nexport * from './core/components/badge/badge.component';\r\n\r\n/* Checkbox */\r\nexport * from './core/components/checkbox/checkbox.component';\r\n\r\n/* Textarea */\r\nexport * from './core/components/textarea/textarea.component';\r\n\r\n/* Input Group */\r\nexport * from './core/components/input-group/input-group.component';\r\n\r\n/* Range */\r\nexport * from './core/components/range/range.component';\r\n\r\n/* Badge */\r\nexport * from './core/components/badge/badge.component';\r\n\r\n/* Tooltip */\r\nexport * from './core/components/tooltip/tooltip.directive';\r\n\r\n/* Color Picker */\r\nexport * from './core/components/color-picker/color-picker.component';\r\n\r\n/* Tree */\r\nexport * from './core/components/tree/tree.component';\r\nexport * from './core/components/tree/shared/components/tree-node/tree-node.component';\r\n\r\n/* Menu */\r\nexport * from './core/components/menu/menu.component';\r\nexport * from './core/components/menu/shared/components/menu-label/menu-label.component';\r\nexport * from './core/components/menu/shared/components/menu-item/menu-item.component';\r\nexport * from './core/components/menu/shared/components/menu-group/menu-group.component';\r\nexport * from './core/components/menu/shared/components/menu-item-checkbox/menu-item-checkbox.component';\r\nexport * from './core/components/menu/shared/components/menu-item-radio/menu-item-radio.component';\r\nexport * from './core/components/menu/shared/directives/menu-trigger.directive';\r\n\r\n/* Alert */\r\nexport * from './core/components/alert/alert.component';\r\n\r\n/* Types */\r\n\r\n/* Position */\r\nexport * from './shared/types/position.type';\r\n\r\n/* Command */\r\nexport * from './core/components/command/command.component';\r\nexport * from './core/components/command/command-options.component';\r\n\r\n/* Combobox */\r\nexport * from './core/components/combobox/combobox.component';\r\n\r\n/* Overlay */\r\nexport * from './core/directives/overlay-trigger.directive';\r\nexport * from './core/directives/overlay.directive';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"basis-ng-primitives.mjs","sources":["../../../projects/primitives/src/core/services/theme.service.ts","../../../projects/primitives/src/core/components/button/button.component.ts","../../../projects/primitives/src/core/components/button-group/button-group.component.ts","../../../projects/primitives/src/shared/directives/lazy-content.directive.ts","../../../projects/primitives/src/core/components/input/input.component.ts","../../../projects/primitives/src/shared/components/option.component.ts","../../../projects/primitives/src/core/components/select/select-options.component.ts","../../../projects/primitives/src/core/components/icon/icon.component.ts","../../../projects/primitives/src/core/directives/overlay-trigger.directive.ts","../../../projects/primitives/src/core/directives/overlay.directive.ts","../../../projects/primitives/src/core/components/select/select.component.ts","../../../projects/primitives/src/core/components/spinner/spinner.component.ts","../../../projects/primitives/src/core/components/spinner/spinner.component.html","../../../projects/primitives/src/core/components/switch/switch.component.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.component.ts","../../../projects/primitives/src/core/components/tabs/tabs.component.ts","../../../projects/primitives/src/core/services/in-viewport.service.ts","../../../projects/primitives/src/core/directives/in-viewport.directive.ts","../../../projects/primitives/src/core/components/side-sheet/side-sheet.component.ts","../../../projects/primitives/src/core/components/side-sheet/side-sheet.component.html","../../../projects/primitives/src/core/components/bottom-sheet/bottom-sheet.component.ts","../../../projects/primitives/src/core/components/bottom-sheet/bottom-sheet.component.html","../../../projects/primitives/src/core/services/responsive.service.ts","../../../projects/primitives/src/core/components/badge/badge.component.ts","../../../projects/primitives/src/core/components/checkbox/checkbox.component.ts","../../../projects/primitives/src/core/components/textarea/textarea.component.ts","../../../projects/primitives/src/core/components/range/range.component.ts","../../../projects/primitives/src/shared/services/utils.service.ts","../../../projects/primitives/src/core/components/tooltip/tooltip.component.ts","../../../projects/primitives/src/core/components/tooltip/tooltip.directive.ts","../../../projects/primitives/src/core/components/color-picker/color-picker.component.ts","../../../projects/primitives/src/core/components/tree/shared/components/tree-node/tree-node.component.ts","../../../projects/primitives/src/core/components/tree/shared/components/tree-node/tree-node.component.html","../../../projects/primitives/src/core/components/tree/tree.component.ts","../../../projects/primitives/src/core/components/menu/menu.component.ts","../../../projects/primitives/src/core/components/menu/shared/components/menu-label/menu-label.component.ts","../../../projects/primitives/src/core/components/menu/shared/components/menu-item/menu-item.component.ts","../../../projects/primitives/src/core/components/menu/shared/components/menu-group/menu-group.component.ts","../../../projects/primitives/src/core/components/menu/shared/components/menu-item-checkbox/menu-item-checkbox.component.ts","../../../projects/primitives/src/core/components/menu/shared/components/menu-item-radio/menu-item-radio.component.ts","../../../projects/primitives/src/core/components/menu/shared/directives/menu-trigger.directive.ts","../../../projects/primitives/src/core/components/alert/alert.component.ts","../../../projects/primitives/src/core/components/alert/alert.component.html","../../../projects/primitives/src/core/components/command/command-options.component.ts","../../../projects/primitives/src/core/components/command/command.component.ts","../../../projects/primitives/src/core/components/combobox/combobox.component.ts","../../../projects/primitives/src/core/components/input-group/input-group.component.ts","../../../projects/primitives/src/public-api.ts","../../../projects/primitives/src/basis-ng-primitives.ts"],"sourcesContent":["import { Injectable, Renderer2, RendererFactory2, inject } from '@angular/core';\r\nimport { signal } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ThemeService {\r\n /**\r\n * Signal representing the current theme.\r\n *\r\n * Possible values:\r\n * - `'light'`: Light theme.\r\n * - `'dark'`: Dark theme.\r\n * - `'auto'`: Automatically determine the theme.\r\n */\r\n readonly theme = signal<'light' | 'dark' | 'auto'>('auto');\r\n\r\n /**\r\n * Renderer2 instance for manipulating the DOM.\r\n * Used to set the `data-theme` attribute on the document root (`<html>`).\r\n */\r\n private renderer: Renderer2;\r\n\r\n /**\r\n * RendererFactory2 instance for creating Renderer2 instances.\r\n * Injected to create the renderer.\r\n */\r\n private rendererFactory = inject(RendererFactory2);\r\n\r\n constructor() {\r\n this.renderer = this.rendererFactory.createRenderer(null, null);\r\n }\r\n\r\n /**\r\n * Applies the specified theme to the document root (`<html>`).\r\n *\r\n * @param theme - The theme to apply. Possible values:\r\n * - `'light'`: Apply the light theme.\r\n * - `'dark'`: Apply the dark theme.\r\n * - `'auto'`: Remove the theme attribute and let the system decide.\r\n */\r\n applyTheme(theme: 'light' | 'dark' | 'auto'): void {\r\n this.theme.set(theme);\r\n if (theme === 'auto') {\r\n this.removeTheme();\r\n return;\r\n }\r\n this.renderer.setAttribute(document.documentElement, 'data-theme', theme);\r\n }\r\n\r\n /**\r\n * Toggles the theme between `'light'` and `'dark'`.\r\n * If the current theme is `'light'`, it switches to `'dark'`, and vice versa.\r\n */\r\n toggleTheme(): void {\r\n this.applyTheme(this.theme() === 'light' ? 'dark' : 'light');\r\n }\r\n\r\n /**\r\n * Removes the `data-theme` attribute from the document body.\r\n * This is used when the theme is set to `'auto'`.\r\n */\r\n removeTheme(): void {\r\n this.renderer.removeAttribute(document.documentElement, 'data-theme');\r\n }\r\n}\r\n","import { Component, ElementRef, inject, input } from '@angular/core';\r\n\r\n/**\r\n * Button component that provides various styles and configurations.\r\n */\r\n@Component({\r\n selector: 'button[b-button]',\r\n template: ` <ng-content />`,\r\n host: {\r\n '[class]': 'variant() + \" size-\" + size()',\r\n '[class.active]': 'activeEnabled()',\r\n '[class.squared]': 'squared()',\r\n },\r\n})\r\nexport class Button {\r\n /**\r\n * Defines the visual style of the button.\r\n *\r\n * @defaultValue 'primary'\r\n */\r\n readonly variant = input<'primary' | 'secondary' | 'ghost' | 'outlined'>(\r\n 'primary'\r\n );\r\n\r\n /**\r\n * Specifies the size of the button.\r\n *\r\n * @defaultValue '2'\r\n */\r\n readonly size = input<'1' | '2' | '3'>('2');\r\n\r\n /**\r\n * Determines whether the button has an active state enabled.\r\n *\r\n * @defaultValue true\r\n */\r\n readonly activeEnabled = input(true);\r\n\r\n /**\r\n * Indicates whether the button should have squared corners.\r\n *\r\n * @defaultValue false\r\n */\r\n readonly squared = input(false);\r\n\r\n /**\r\n * Reference to the host DOM element.\r\n */\r\n el = inject(ElementRef);\r\n}\r\n","import { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'b-button-group',\r\n template: `<ng-content />`,\r\n host: {\r\n class: 'button-group',\r\n '[class.spaced]': 'spaced()',\r\n },\r\n})\r\nexport class ButtonGroup {\r\n /**\r\n * Whether the buttons should be spaced.\r\n */\r\n readonly spaced = input<boolean>(false);\r\n}\r\n","import { Directive, inject, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[b-lazy]',\r\n standalone: true,\r\n})\r\nexport class LazyContentDirective {\r\n tpl = inject(TemplateRef);\r\n}\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n computed,\r\n ElementRef,\r\n inject,\r\n input,\r\n} from '@angular/core';\r\nimport { NgModel } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'input[b-input]',\r\n template: ``,\r\n host: {\r\n '[type]': 'type()',\r\n '[style.max-width]': 'maxWidth()',\r\n '(input)': 'onInput($event)',\r\n '(blur)': 'onBlur($event)',\r\n '[class]': ' \"size-\" + size() ',\r\n },\r\n})\r\nexport class Input implements AfterViewInit {\r\n /**\r\n * The type of the input.\r\n */\r\n readonly type = input<'text' | 'number' | 'password' | 'email'>('text');\r\n\r\n /**\r\n * The maximum width of the input.\r\n */\r\n readonly maxWidth = input<string>('');\r\n\r\n /**\r\n * The number of decimal places for number input.\r\n */\r\n readonly decimals = input<number>(2);\r\n\r\n /**\r\n * The type of number input (integer or decimal).\r\n */\r\n readonly numberType = input<'integer' | 'decimal'>('integer');\r\n\r\n /**\r\n * Whether the input type is number.\r\n */\r\n readonly isNumberType = computed(() => this.type() === 'number');\r\n\r\n /**\r\n * Reference to the input element.\r\n */\r\n readonly el = inject<ElementRef<HTMLInputElement>>(ElementRef);\r\n\r\n /**\r\n * Reference to the ngModel directive.\r\n */\r\n private ngModel = inject(NgModel, { optional: true });\r\n\r\n /**\r\n * The size of the input.\r\n */\r\n readonly size = input<'1' | '2' | '3'>('2');\r\n\r\n /**\r\n * After the view has been initialized, set the value of the select.\r\n */\r\n ngAfterViewInit(): void {\r\n const value = this.el.nativeElement.value || this.ngModel?.model;\r\n if (this.isNumberType()) {\r\n const formattedValue = this.formatNumber(value) || '';\r\n this.setValue(formattedValue);\r\n }\r\n }\r\n\r\n /**\r\n * Sets the value of the input element.\r\n * @param value The value to set.\r\n */\r\n setValue(value: string): void {\r\n this.el.nativeElement.value = value;\r\n }\r\n\r\n /**\r\n * Handles the input event.\r\n * @param event The input event.\r\n */\r\n onInput(event: Event): void {\r\n const target = event.target as HTMLInputElement;\r\n\r\n // If the input is not of number type, update the value and emit the value change event.\r\n if (!this.isNumberType()) {\r\n this.setValue(target.value);\r\n }\r\n }\r\n\r\n /**\r\n * The blur event handler.\r\n * @param event - The blur event.\r\n */\r\n onBlur(event: any): void {\r\n // If the input is of number type, format the value and emit the value change event.\r\n if (this.isNumberType()) {\r\n const formattedValue = this.formatNumber(event.target.value);\r\n this.setValue(formattedValue || '');\r\n }\r\n }\r\n\r\n /**\r\n * Formats the number value.\r\n * @param value - The value to format.\r\n * @returns The formatted value.\r\n */\r\n formatNumber(value: string | null) {\r\n if (value) {\r\n const numericValue = Number(value);\r\n return this.numberType() === 'integer'\r\n ? Math.round(numericValue).toString()\r\n : numericValue.toFixed(this.decimals());\r\n } else {\r\n return null;\r\n }\r\n }\r\n}\r\n","import { CdkOption } from '@angular/cdk/listbox';\r\nimport { Component, ElementRef, inject } from '@angular/core';\r\n\r\n/**\r\n * Component representing an individual option in a select or combobox.\r\n * This component integrates with Angular CDK Option to manage the option's state and behavior.\r\n */\r\n@Component({\r\n selector: 'li[b-option]',\r\n imports: [],\r\n template: `<ng-content />`,\r\n hostDirectives: [\r\n {\r\n directive: CdkOption,\r\n inputs: ['cdkOption: value'],\r\n },\r\n ],\r\n})\r\nexport class OptionComponent {\r\n /**\r\n * The `ElementRef` of the option.\r\n * This provides direct access to the DOM element of the option.\r\n */\r\n el = inject(ElementRef);\r\n\r\n /**\r\n * The `CdkOption` instance associated with this option.\r\n * This provides methods and properties for managing the option's state, such as selection and value.\r\n */\r\n cdkOption = inject(CdkOption);\r\n}\r\n","import { CdkListbox } from '@angular/cdk/listbox';\r\nimport {\r\n Component,\r\n contentChildren,\r\n ElementRef,\r\n inject,\r\n input,\r\n output,\r\n signal,\r\n} from '@angular/core';\r\nimport { OptionComponent } from '../../../shared/components/option.component';\r\n\r\n/**\r\n * Component representing the list of options in a select.\r\n * This component integrates with Angular CDK Listbox to manage options and their selection.\r\n */\r\n@Component({\r\n selector: 'ul[b-select-options]',\r\n imports: [],\r\n template: `<ng-content />`,\r\n hostDirectives: [\r\n {\r\n directive: CdkListbox,\r\n inputs: ['cdkListboxValue'],\r\n outputs: ['cdkListboxValueChange'],\r\n },\r\n ],\r\n host: {\r\n '[cdkListboxValue]': 'value()',\r\n '(cdkListboxValueChange)': 'handleValueChange($event.value)',\r\n '[style.max-height]': 'maxHeight()',\r\n '(keydown.enter)': 'closeEmitter.emit()',\r\n },\r\n})\r\nexport class SelectOptionsComponent {\r\n /**\r\n * Signal representing the selected values in the listbox.\r\n * This is an array of strings corresponding to the selected option values.\r\n */\r\n readonly value = signal<string[]>([]);\r\n\r\n /**\r\n * Event emitter triggered when the dropdown should close.\r\n * This is used to notify the parent component to close the dropdown.\r\n */\r\n closeEmitter = output();\r\n\r\n /**\r\n * Reference to the host element of the component.\r\n * This provides access to the DOM element of the options list.\r\n */\r\n el = inject(ElementRef);\r\n\r\n /**\r\n * Input for setting the maximum height of the dropdown.\r\n * Defaults to '300px'. This controls the vertical size of the dropdown.\r\n */\r\n readonly maxHeight = input<string>('300px');\r\n\r\n /**\r\n * Reference to the CDK Listbox directive.\r\n * This is used to manage the options and their selection state.\r\n */\r\n listBox = inject(CdkListbox);\r\n\r\n /**\r\n * Reference to the list of options in the dropdown.\r\n * This is a collection of `OptionComponent` instances representing the available options.\r\n */\r\n readonly options = contentChildren(OptionComponent);\r\n\r\n /**\r\n * Handles changes to the selected value in the listbox.\r\n * This method updates the `value` signal, emits the `closeEmitter` event,\r\n * and ensures the parent component is notified of the selection change.\r\n *\r\n * @param value - The new array of selected values.\r\n */\r\n handleValueChange(value: string[]) {\r\n this.value.set(value);\r\n this.closeEmitter.emit();\r\n }\r\n}\r\n","import { Component, computed, inject, input } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { createElement, icons } from 'lucide';\r\n\r\n@Component({\r\n selector: 'i[b-icon]',\r\n imports: [],\r\n template: ``,\r\n host: {\r\n '[innerHTML]': 'iconSvg()',\r\n },\r\n})\r\nexport class Icon {\r\n /**\r\n * The sanitizer service.\r\n */\r\n private sanitizer = inject(DomSanitizer);\r\n\r\n /**\r\n * The icon of the text field.\r\n */\r\n readonly icon = input.required<string>();\r\n\r\n /**\r\n * The size of the icon.\r\n */\r\n readonly size = input(24);\r\n\r\n /**\r\n * The stroke of the icon.\r\n */\r\n readonly strokeWidth = input(1.8);\r\n\r\n /**\r\n * The color of the icon.\r\n */\r\n readonly color = input<string>('var(--foreground, #798194)');\r\n\r\n /**\r\n * The svg of the icon.\r\n */\r\n readonly iconSvg = computed(() => {\r\n if (!(icons as any)[this.icon()]) {\r\n console.error(`Icon '${this.icon()}' not found in Lucide icons.`);\r\n return this.sanitizer.bypassSecurityTrustHtml('');\r\n }\r\n\r\n const iconSvg = createElement((icons as any)[this.icon()], {\r\n width: this.size(),\r\n height: this.size(),\r\n stroke: this.color(),\r\n 'stroke-width': this.strokeWidth(),\r\n });\r\n return this.sanitizer.bypassSecurityTrustHtml(iconSvg.outerHTML);\r\n });\r\n}\r\n","import { CdkOverlayOrigin } from '@angular/cdk/overlay';\r\nimport { Directive, ElementRef, inject } from '@angular/core';\r\n\r\n/**\r\n * Directive to mark an element as a trigger for an overlay.\r\n * Integrates with Angular CDK's `CdkOverlayOrigin` to provide\r\n * a reference point for overlay positioning.\r\n */\r\n@Directive({\r\n selector: '[bOverlayTrigger]',\r\n hostDirectives: [CdkOverlayOrigin],\r\n exportAs: 'bOverlayTrigger',\r\n})\r\nexport class OverlayTriggerDirective {\r\n /**\r\n * Reference to the `CdkOverlayOrigin` instance.\r\n * Used as the origin point for overlay positioning.\r\n */\r\n trigger = inject(CdkOverlayOrigin);\r\n\r\n /**\r\n * Reference to the `ElementRef` of the host element.\r\n * This is used to access the native DOM element.\r\n */\r\n el = inject(ElementRef);\r\n}\r\n","import {\r\n CdkConnectedOverlay,\r\n ConnectedPosition,\r\n ConnectionPositionPair,\r\n Overlay,\r\n} from '@angular/cdk/overlay';\r\nimport {\r\n computed,\r\n Directive,\r\n effect,\r\n inject,\r\n input,\r\n signal,\r\n} from '@angular/core';\r\nimport { OverlayTriggerDirective, Position } from '../../public-api';\r\n\r\n/**\r\n * Directive to manage overlay behavior and positioning.\r\n * Integrates with Angular CDK's `CdkConnectedOverlay` to provide\r\n * flexible overlay positioning and triggering mechanisms.\r\n */\r\n@Directive({\r\n selector: '[bOverlay]',\r\n hostDirectives: [\r\n {\r\n directive: CdkConnectedOverlay,\r\n inputs: [\r\n 'cdkConnectedOverlayWidth: width',\r\n 'cdkConnectedOverlayMinWidth: minWidth',\r\n 'cdkConnectedOverlayHasBackdrop: hasBackdrop',\r\n 'cdkConnectedOverlayBackdropClass: customBackdropClass',\r\n ],\r\n outputs: [\r\n 'backdropClick: backdropClick',\r\n 'detach: detach',\r\n 'attach: attach',\r\n 'overlayOutsideClick: outsideClick',\r\n 'positionChange: positionChange',\r\n ],\r\n },\r\n ],\r\n host: {\r\n '(positionChange)': 'connectedPositionPair.set($event.connectionPair)',\r\n },\r\n})\r\nexport class OverlayDirective {\r\n /**\r\n * Controls whether the overlay is open.\r\n * @default false\r\n */\r\n readonly open = input(false);\r\n\r\n /**\r\n * The trigger directive that activates the overlay.\r\n * This input is required.\r\n */\r\n readonly trigger = input.required<OverlayTriggerDirective>();\r\n\r\n /**\r\n * Delay in milliseconds before closing the overlay.\r\n * @default 0\r\n */\r\n readonly closeDelay = input(0);\r\n\r\n /**\r\n * A computed map of positions to their corresponding `ConnectedPosition` configurations.\r\n */\r\n readonly positionsMap = computed<Record<Position, ConnectedPosition>>(() => ({\r\n 'top-left': {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n },\r\n 'top-center': {\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'bottom',\r\n },\r\n 'top-right': {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'bottom',\r\n },\r\n 'bottom-left': {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n 'bottom-center': {\r\n originX: 'center',\r\n originY: 'bottom',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n },\r\n 'bottom-right': {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n },\r\n 'left-top': {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n },\r\n 'left-center': {\r\n originX: 'start',\r\n originY: 'center',\r\n overlayX: 'end',\r\n overlayY: 'center',\r\n },\r\n 'left-bottom': {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'end',\r\n overlayY: 'bottom',\r\n },\r\n 'right-top': {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n 'right-center': {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'center',\r\n },\r\n 'right-bottom': {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n },\r\n }));\r\n\r\n /**\r\n * List of positions for the overlay.\r\n * @default ['bottom-left']\r\n */\r\n readonly positions = input<Position[]>(['bottom-left']);\r\n\r\n /**\r\n * Computed list of `ConnectedPosition` objects based on the `positions` input.\r\n */\r\n readonly connectedPositions = computed<ConnectedPosition[]>(() =>\r\n this.positions().map(position => this.positionsMap()[position])\r\n );\r\n\r\n /**\r\n * Signal to track the currently active `ConnectionPositionPair`.\r\n */\r\n readonly connectedPositionPair = signal<ConnectionPositionPair | undefined>(\r\n undefined\r\n );\r\n\r\n /**\r\n * Injected instance of `CdkConnectedOverlay`.\r\n */\r\n cdkConnectedOverlay = inject(CdkConnectedOverlay);\r\n\r\n /**\r\n * Injected instance of `Overlay`.\r\n */\r\n overlay = inject(Overlay);\r\n\r\n /**\r\n * Computed direction of the overlay based on the active position pair.\r\n */\r\n readonly direction = computed(() => {\r\n const pair = this.connectedPositionPair();\r\n if (!pair) return undefined;\r\n\r\n return Object.entries(this.positionsMap())\r\n .find(\r\n ([, position]) =>\r\n position.originX === pair.originX &&\r\n position.originY === pair.originY &&\r\n position.overlayX === pair.overlayX &&\r\n position.overlayY === pair.overlayY\r\n )?.[0]\r\n .split('-')[0];\r\n });\r\n\r\n /**\r\n * Flag to indicate if this is the first load of the overlay.\r\n */\r\n firstLoad = true;\r\n\r\n /**\r\n * Constructor to initialize the directive and set up reactive effects.\r\n */\r\n constructor() {\r\n effect(() => {\r\n this.handleOrigin();\r\n this.handleConnectedPositions();\r\n this.handleOpen();\r\n });\r\n }\r\n\r\n /**\r\n * Handles the origin of the overlay.\r\n * This method sets the `cdkConnectedOverlay.origin` to the trigger element.\r\n */\r\n handleOrigin(): void {\r\n this.cdkConnectedOverlay.origin = this.trigger().trigger;\r\n }\r\n\r\n /**\r\n * Handles the connected positions for the overlay.\r\n * This method updates the `cdkConnectedOverlay` positions based on the current state.\r\n */\r\n handleConnectedPositions(): void {\r\n this.cdkConnectedOverlay.positions = this.connectedPositions();\r\n }\r\n\r\n /**\r\n * Handles the opening and closing of the overlay based on the `open` input.\r\n * Determines whether to open or close the overlay and invokes the appropriate method.\r\n */\r\n handleOpen(): void {\r\n if (this.open()) {\r\n this.handleOverlayOpen();\r\n } else {\r\n this.handleOverlayClose();\r\n }\r\n }\r\n\r\n /**\r\n * Opens the overlay and applies the appropriate direction class.\r\n * Ensures the overlay is attached and styled correctly.\r\n */\r\n private handleOverlayOpen(): void {\r\n this.cdkConnectedOverlay.attachOverlay();\r\n this.applyDirectionClass();\r\n }\r\n\r\n /**\r\n * Closes the overlay with optional animation and cleanup.\r\n * If it's the first load, detaches the overlay immediately without animation.\r\n */\r\n private handleOverlayClose(): void {\r\n if (this.firstLoad) {\r\n this.detachOverlayWithCleanup();\r\n this.firstLoad = false;\r\n return;\r\n }\r\n\r\n const firstChild = this.getFirstChild();\r\n\r\n if (!firstChild) {\r\n this.detachOverlayWithCleanup();\r\n return;\r\n }\r\n\r\n firstChild.classList.add('b-overlay-leave');\r\n setTimeout(\r\n () => this.detachOverlayWithCleanup(firstChild),\r\n this.closeDelay()\r\n );\r\n }\r\n\r\n /**\r\n * Retrieves the first child element of the overlay pane.\r\n * @returns The first child element or `null` if not found.\r\n */\r\n private getFirstChild(): Element | null {\r\n return (\r\n this.cdkConnectedOverlay.overlayRef?.overlayElement.querySelector(\r\n '.cdk-overlay-pane > *'\r\n ) || null\r\n );\r\n }\r\n\r\n /**\r\n * Applies the direction class to the overlay's first child element.\r\n * Cleans up any existing direction-related classes before applying the new one.\r\n */\r\n private applyDirectionClass(): void {\r\n const firstChild = this.getFirstChild();\r\n if (!firstChild) return;\r\n\r\n this.cleanOverlayClasses(firstChild);\r\n const direction = this.direction();\r\n if (direction) {\r\n firstChild.classList.add(`b-overlay-${direction}`);\r\n }\r\n }\r\n\r\n /**\r\n * Detaches the overlay and performs cleanup operations.\r\n * Optionally cleans up classes from a provided element.\r\n * @param element The element to clean up classes from (optional).\r\n */\r\n private detachOverlayWithCleanup(element?: Element): void {\r\n this.cdkConnectedOverlay.detachOverlay();\r\n\r\n if (element) {\r\n this.cleanOverlayClasses(element);\r\n }\r\n\r\n this.trigger().el.nativeElement.focus();\r\n }\r\n\r\n /**\r\n * Removes overlay-related classes from the specified element.\r\n * @param element The element to remove classes from.\r\n */\r\n private cleanOverlayClasses(element: Element): void {\r\n const classesToRemove = [\r\n 'b-overlay-leave',\r\n 'b-overlay-top',\r\n 'b-overlay-bottom',\r\n 'b-overlay-left',\r\n 'b-overlay-right',\r\n ];\r\n\r\n element.classList.remove(...classesToRemove);\r\n }\r\n}\r\n","import {\r\n Component,\r\n computed,\r\n contentChild,\r\n HostListener,\r\n input,\r\n linkedSignal,\r\n model,\r\n OnInit,\r\n signal,\r\n viewChild,\r\n} from '@angular/core';\r\nimport { SelectOptionsComponent } from './select-options.component';\r\nimport { Button } from '../button/button.component';\r\nimport { Icon } from '../icon/icon.component';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { forwardRef } from '@angular/core';\r\nimport { OverlayTriggerDirective } from '../../directives/overlay-trigger.directive';\r\nimport { OverlayDirective } from '../../directives/overlay.directive';\r\n\r\n/**\r\n * Component representing a custom select dropdown.\r\n * This component provides a button to toggle the dropdown and displays the selected option(s).\r\n */\r\n@Component({\r\n selector: 'b-select',\r\n imports: [Button, Icon, OverlayTriggerDirective, OverlayDirective],\r\n template: ` <button\r\n b-button\r\n variant=\"outlined\"\r\n (click)=\"isOpen.set(!isOpen())\"\r\n (keydown.arrowUp)=\"!isOpen() && isOpen.set(true)\"\r\n (keydown.arrowDown)=\"!isOpen() && isOpen.set(true)\"\r\n [activeEnabled]=\"false\"\r\n bOverlayTrigger\r\n #trigger=\"bOverlayTrigger\">\r\n {{ content() }}\r\n <i b-icon icon=\"ChevronDown\" [size]=\"16\"></i>\r\n </button>\r\n <ng-template\r\n bOverlay\r\n [trigger]=\"trigger\"\r\n [open]=\"isOpen()\"\r\n [minWidth]=\"buttonWidth()\"\r\n [positions]=\"['bottom-left', 'bottom-right', 'top-left', 'top-right']\"\r\n [closeDelay]=\"closeDelay()\"\r\n (attach)=\"onOverlayAttached()\"\r\n (outsideClick)=\"isOpen.set(false)\"\r\n (detach)=\"isOpen.set(false)\">\r\n <ng-content />\r\n </ng-template>`,\r\n host: {\r\n '[class.disabled]': 'disabled()',\r\n },\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => SelectComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class SelectComponent implements OnInit, ControlValueAccessor {\r\n /**\r\n * Placeholder text displayed when no option is selected.\r\n * Defaults to 'Select an option'.\r\n */\r\n readonly placeholder = input<string>('Select an option');\r\n\r\n /**\r\n * Signal indicating whether the dropdown is currently open.\r\n */\r\n readonly isOpen = signal(false);\r\n\r\n /**\r\n * Reference to the button element used to toggle the dropdown.\r\n * This is used for managing focus and interactions.\r\n */\r\n readonly button = viewChild(Button);\r\n\r\n /**\r\n * Reference to the content component of the dropdown.\r\n * This contains the list of selectable options.\r\n */\r\n readonly optionsList = contentChild(SelectOptionsComponent);\r\n\r\n /**\r\n * Computed signal representing the selected values from the dropdown.\r\n * This is linked to the value of the `OptionsListComponent`.\r\n */\r\n readonly value = linkedSignal(() => this.optionsList()?.value());\r\n\r\n /**\r\n * Linked signal for the width of the button element.\r\n * This is used to set the width of the dropdown overlay.\r\n */\r\n readonly buttonWidth = linkedSignal(\r\n () => this.button()?.el.nativeElement.offsetWidth\r\n );\r\n\r\n /**\r\n * Model indicating whether the select component is disabled.\r\n * When disabled, the dropdown cannot be opened or interacted with.\r\n */\r\n readonly disabled = model(false);\r\n\r\n /**\r\n * Computed signal representing the options available in the dropdown.\r\n * This retrieves the options from the `OptionsListComponent`.\r\n */\r\n readonly options = computed(() => this.optionsList()?.options());\r\n\r\n /**\r\n * Computed signal representing the content of the selected option(s).\r\n * If no option is selected, it returns the placeholder text.\r\n */\r\n readonly content = computed(() => {\r\n const selected = this.value();\r\n if (selected && selected.length > 0) {\r\n return this.options()?.reduce((acc, option) => {\r\n if (selected.includes(option.cdkOption.value)) {\r\n return acc\r\n ? acc + ', ' + option.el.nativeElement.innerText\r\n : option.el.nativeElement.innerText;\r\n }\r\n return acc;\r\n }, '');\r\n } else {\r\n return this.placeholder();\r\n }\r\n });\r\n\r\n /**\r\n * Signal representing the delay before closing the dropdown.\r\n * This is used to provide a smooth transition when closing the dropdown.\r\n */\r\n readonly closeDelay = signal(150);\r\n\r\n /**\r\n * Lifecycle hook that is called after the component is initialized.\r\n * It sets up the necessary subscriptions for handling value changes.\r\n */\r\n ngOnInit(): void {\r\n this.handleSelectedValueChange();\r\n }\r\n\r\n /**\r\n * Subscribes to the `closeEmitter` of the `OptionsListComponent` to handle\r\n * changes to the selected value. This ensures the dropdown closes and the\r\n * value is propagated to Angular Forms.\r\n */\r\n handleSelectedValueChange() {\r\n this.optionsList()?.closeEmitter.subscribe(() => {\r\n this.onChange(this.value()!);\r\n this.onTouched();\r\n this.isOpen.set(false);\r\n });\r\n }\r\n\r\n /**\r\n * Focuses the options list when the overlay is attached.\r\n */\r\n onOverlayAttached() {\r\n this.buttonWidth.set(this.button()?.el.nativeElement.offsetWidth);\r\n this.optionsList()?.el.nativeElement.focus();\r\n }\r\n\r\n /**\r\n * Sets the width of the dropdown overlay based on the button's width.\r\n * This ensures that the dropdown aligns properly with the button.\r\n */\r\n @HostListener('window:resize')\r\n setButtonWidth() {\r\n this.buttonWidth.set(this.button()?.el.nativeElement.offsetWidth);\r\n }\r\n\r\n // Control Value Accessor methods\r\n\r\n /**\r\n * Callback function to propagate changes to the model.\r\n * This is called whenever the value changes.\r\n */\r\n private onChange: (value: string[]) => void = () => undefined;\r\n\r\n /**\r\n * Callback function to mark the component as touched.\r\n * This is called when the component loses focus.\r\n */\r\n private onTouched: () => void = () => undefined;\r\n\r\n /**\r\n * Writes a new value to the component.\r\n * This method is called by Angular Forms to update the value of the select component.\r\n * @param value - The new value to set.\r\n */\r\n writeValue(value: string[]): void {\r\n if (value) {\r\n value.forEach(value => {\r\n this.optionsList()?.listBox?.selectValue(value);\r\n });\r\n this.value.set(value);\r\n }\r\n }\r\n\r\n /**\r\n * Registers a callback function to be called when the value changes.\r\n * @param fn - The callback function.\r\n */\r\n registerOnChange(fn: (value: string[]) => void): void {\r\n this.onChange = fn;\r\n }\r\n\r\n /**\r\n * Registers a callback function to be called when the component is touched.\r\n * @param fn - The callback function.\r\n */\r\n registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n /**\r\n * Sets the disabled state of the component.\r\n * This method is called by Angular Forms to enable or disable the component.\r\n * @param isDisabled - A boolean indicating whether the component should be disabled.\r\n */\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled.set(isDisabled);\r\n }\r\n}\r\n","import { Component, input } from '@angular/core';\r\nimport { NgStyle } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'b-spinner',\r\n imports: [NgStyle],\r\n templateUrl: './spinner.component.html',\r\n})\r\nexport class Spinner {\r\n readonly active = input<boolean>(true);\r\n readonly color = input<string>('var(--foreground)');\r\n readonly backgroundColor = input<string>('transparent');\r\n readonly size = input<number>(20);\r\n}\r\n","@if (active()) {\r\n <section [ngStyle]=\"{ background: backgroundColor() }\" class=\"background\">\r\n <svg\r\n [attr.height]=\"size()\"\r\n [attr.width]=\"size()\"\r\n preserveAspectRatio=\"xMidYMid\"\r\n style=\"\r\n shape-rendering: auto;\r\n display: block;\r\n background: rgba(122, 122, 122, 0);\r\n \"\r\n viewBox=\"0 0 100 100\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g>\r\n <g transform=\"rotate(0 50 50)\">\r\n <rect\r\n [attr.fill]=\"color()\"\r\n height=\"20\"\r\n rx=\"3\"\r\n ry=\"3.2800000000000002\"\r\n width=\"6\"\r\n x=\"47\"\r\n y=\"10\">\r\n <animate\r\n attributeName=\"opacity\"\r\n begin=\"-0.9166666666666666s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n repeatCount=\"indefinite\"\r\n values=\"1;0\" />\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(30 50 50)\">\r\n <rect\r\n [attr.fill]=\"color()\"\r\n height=\"20\"\r\n rx=\"3\"\r\n ry=\"3.2800000000000002\"\r\n width=\"6\"\r\n x=\"47\"\r\n y=\"10\">\r\n <animate\r\n attributeName=\"opacity\"\r\n begin=\"-0.8333333333333334s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n repeatCount=\"indefinite\"\r\n values=\"1;0\" />\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(60 50 50)\">\r\n <rect\r\n [attr.fill]=\"color()\"\r\n height=\"20\"\r\n rx=\"3\"\r\n ry=\"3.2800000000000002\"\r\n width=\"6\"\r\n x=\"47\"\r\n y=\"10\">\r\n <animate\r\n attributeName=\"opacity\"\r\n begin=\"-0.75s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n repeatCount=\"indefinite\"\r\n values=\"1;0\" />\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(90 50 50)\">\r\n <rect\r\n [attr.fill]=\"color()\"\r\n height=\"20\"\r\n rx=\"3\"\r\n ry=\"3.2800000000000002\"\r\n width=\"6\"\r\n x=\"47\"\r\n y=\"10\">\r\n <animate\r\n attributeName=\"opacity\"\r\n begin=\"-0.6666666666666666s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n repeatCount=\"indefinite\"\r\n values=\"1;0\" />\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(120 50 50)\">\r\n <rect\r\n [attr.fill]=\"color()\"\r\n height=\"20\"\r\n rx=\"3\"\r\n ry=\"3.2800000000000002\"\r\n width=\"6\"\r\n x=\"47\"\r\n y=\"10\">\r\n <animate\r\n attributeName=\"opacity\"\r\n begin=\"-0.5833333333333334s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n repeatCount=\"indefinite\"\r\n values=\"1;0\" />\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(150 50 50)\">\r\n <rect\r\n [attr.fill]=\"color()\"\r\n height=\"20\"\r\n rx=\"3\"\r\n ry=\"3.2800000000000002\"\r\n width=\"6\"\r\n x=\"47\"\r\n y=\"10\">\r\n <animate\r\n attributeName=\"opacity\"\r\n begin=\"-0.5s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n repeatCount=\"indefinite\"\r\n values=\"1;0\" />\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(180 50 50)\">\r\n <rect\r\n [attr.fill]=\"color()\"\r\n height=\"20\"\r\n rx=\"3\"\r\n ry=\"3.2800000000000002\"\r\n width=\"6\"\r\n x=\"47\"\r\n y=\"10\">\r\n <animate\r\n attributeName=\"opacity\"\r\n begin=\"-0.4166666666666667s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n repeatCount=\"indefinite\"\r\n values=\"1;0\" />\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(210 50 50)\">\r\n <rect\r\n [attr.fill]=\"color()\"\r\n height=\"20\"\r\n rx=\"3\"\r\n ry=\"3.2800000000000002\"\r\n width=\"6\"\r\n x=\"47\"\r\n y=\"10\">\r\n <animate\r\n attributeName=\"opacity\"\r\n begin=\"-0.3333333333333333s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n repeatCount=\"indefinite\"\r\n values=\"1;0\" />\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(240 50 50)\">\r\n <rect\r\n [attr.fill]=\"color()\"\r\n height=\"20\"\r\n rx=\"3\"\r\n ry=\"3.2800000000000002\"\r\n width=\"6\"\r\n x=\"47\"\r\n y=\"10\">\r\n <animate\r\n attributeName=\"opacity\"\r\n begin=\"-0.25s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n repeatCount=\"indefinite\"\r\n values=\"1;0\" />\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(270 50 50)\">\r\n <rect\r\n [attr.fill]=\"color()\"\r\n height=\"20\"\r\n rx=\"3\"\r\n ry=\"3.2800000000000002\"\r\n width=\"6\"\r\n x=\"47\"\r\n y=\"10\">\r\n <animate\r\n attributeName=\"opacity\"\r\n begin=\"-0.16666666666666666s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n repeatCount=\"indefinite\"\r\n values=\"1;0\" />\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(300 50 50)\">\r\n <rect\r\n [attr.fill]=\"color()\"\r\n height=\"20\"\r\n rx=\"3\"\r\n ry=\"3.2800000000000002\"\r\n width=\"6\"\r\n x=\"47\"\r\n y=\"10\">\r\n <animate\r\n attributeName=\"opacity\"\r\n begin=\"-0.08333333333333333s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n repeatCount=\"indefinite\"\r\n values=\"1;0\" />\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(330 50 50)\">\r\n <rect\r\n [attr.fill]=\"color()\"\r\n height=\"20\"\r\n rx=\"3\"\r\n ry=\"3.2800000000000002\"\r\n width=\"6\"\r\n x=\"47\"\r\n y=\"10\">\r\n <animate\r\n attributeName=\"opacity\"\r\n begin=\"0s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n repeatCount=\"indefinite\"\r\n values=\"1;0\" />\r\n </rect>\r\n </g>\r\n <g />\r\n </g>\r\n </svg>\r\n </section>\r\n}\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n inject,\r\n input,\r\n model,\r\n output,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'input[b-switch]',\r\n template: ``,\r\n host: {\r\n '[attr.role]': 'switch',\r\n '[attr.checked]': 'value()',\r\n '[attr.aria-checked]': 'value()',\r\n '(click)': 'toggleValue()',\r\n '[class]': 'size()',\r\n '(keydown.enter)': 'toggleValue()',\r\n '(keydown.arrowleft)': 'setValue(false)',\r\n '(keydown.arrowright)': 'setValue(true)',\r\n },\r\n})\r\nexport class Switch implements AfterViewInit {\r\n /**\r\n * Value of the switch.\r\n */\r\n readonly value = model<boolean>(false);\r\n\r\n /**\r\n * The size of the switch.\r\n */\r\n readonly size = input<'default' | 'large'>('default');\r\n\r\n /**\r\n * Reference to the switch element.\r\n */\r\n el = inject(ElementRef);\r\n\r\n /**\r\n * Event emitted when the value changes.\r\n */\r\n valueChange = output<boolean>();\r\n\r\n /**\r\n * Initializes the switch value after the view is initialized.\r\n */\r\n ngAfterViewInit() {\r\n this.value.set(this.el.nativeElement.checked);\r\n }\r\n\r\n /**\r\n * Toggles the value of the switch.\r\n */\r\n toggleValue() {\r\n const newValue = !this.value();\r\n this.value.set(newValue);\r\n this.valueChange.emit(newValue);\r\n }\r\n\r\n /**\r\n * Sets the value of the switch.\r\n * @param newValue - The new value to set.\r\n */\r\n setValue(newValue: boolean) {\r\n this.value.set(newValue);\r\n this.valueChange.emit(newValue);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'b-table',\r\n templateUrl: './table.component.html',\r\n})\r\nexport class Table {}\r\n","<ng-content select=\"[b-row-header]\" />\r\n<ng-content select=\"[b-row-subheader]\" />\r\n<div class=\"scroll-section\">\r\n <ng-content />\r\n</div>\r\n","import { Component, input } from '@angular/core';\r\nimport { NgClass } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'b-row',\r\n imports: [NgClass],\r\n templateUrl: './row.component.html',\r\n})\r\nexport class Row {\r\n readonly header = input<boolean>(false);\r\n readonly subheader = input<boolean>(false);\r\n readonly clickable = input<boolean>(false);\r\n readonly highlighted = input<boolean>(false);\r\n}\r\n","<div\r\n class=\"row-container\"\r\n [ngClass]=\"{\r\n clickable: clickable(),\r\n header: header(),\r\n subheader: subheader(),\r\n highlighted: highlighted(),\r\n }\">\r\n <ng-content />\r\n</div>\r\n","import { Component, computed, input } from '@angular/core';\r\nimport { NgStyle } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'b-row-item',\r\n imports: [NgStyle],\r\n templateUrl: './row-item.component.html',\r\n})\r\nexport class RowItem {\r\n readonly widthPx = input<number>();\r\n readonly alignedLeft = input<boolean>(false);\r\n readonly isHeader = input<boolean>(false);\r\n readonly style = computed(() => {\r\n return {\r\n width: `${this.widthPx()}px`,\r\n justifyContent: this.alignedLeft() ? 'flex-start' : 'center',\r\n };\r\n });\r\n}\r\n","<div [ngStyle]=\"style()\" class=\"row-item-container\">\r\n <ng-content />\r\n</div>\r\n","import { CdkOption } from '@angular/cdk/listbox';\r\nimport { Component, inject } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'b-tab',\r\n imports: [],\r\n template: `<ng-content />`,\r\n hostDirectives: [\r\n {\r\n directive: CdkOption,\r\n inputs: ['cdkOption: value'],\r\n },\r\n ],\r\n})\r\nexport class TabComponent {\r\n /**\r\n * Reference to the injected CDK Option instance.\r\n */\r\n cdkOption = inject(CdkOption);\r\n}\r\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\r\nimport { CdkListbox } from '@angular/cdk/listbox';\r\nimport {\r\n Component,\r\n computed,\r\n contentChildren,\r\n inject,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { TabComponent } from './tab.component';\r\n\r\n@Component({\r\n selector: 'b-tabs',\r\n imports: [],\r\n template: `<ng-content />`,\r\n hostDirectives: [CdkListbox],\r\n host: {\r\n '(keydown.arrowLeft)': 'previousTab()',\r\n '(keydown.arrowUp)': 'previousTab()',\r\n '(keydown.arrowRight)': 'nextTab()',\r\n '(keydown.arrowDown)': 'nextTab()',\r\n },\r\n})\r\nexport class TabsComponent implements OnInit {\r\n /**\r\n * Reference to the injected CDK Listbox instance.\r\n */\r\n cdkListbox = inject(CdkListbox);\r\n /**\r\n * Collection of child options within the listbox.\r\n */\r\n readonly tabs = contentChildren(TabComponent);\r\n\r\n /**\r\n * Collection of cdk options within the listbox.\r\n */\r\n readonly cdkOptions = computed(() => this.tabs().map(tab => tab.cdkOption));\r\n\r\n /**\r\n * Key manager for handling keyboard navigation and active descendant management.\r\n */\r\n readonly listKeyManager = computed(() =>\r\n new ActiveDescendantKeyManager(this.cdkOptions())\r\n .withWrap()\r\n .withHorizontalOrientation('ltr')\r\n );\r\n\r\n previousTab() {\r\n this.listKeyManager().setPreviousItemActive();\r\n }\r\n\r\n nextTab() {\r\n this.listKeyManager().setNextItemActive();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.cdkListbox.useActiveDescendant = true;\r\n this.cdkListbox.orientation = 'horizontal';\r\n }\r\n}\r\n","import { Injectable, signal } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class InViewportService {\r\n readonly elements = signal<Record<string, boolean>>({});\r\n observer!: IntersectionObserver;\r\n\r\n /**\r\n * Register an element to be tracked by the service.\r\n * @param {string} id - The id of the element to register.\r\n */\r\n registerElement(\r\n id: string,\r\n nativeElement: HTMLElement,\r\n initialVisibility: boolean\r\n ): void {\r\n if (!(id in this.elements())) {\r\n this.elements.set({ ...this.elements(), [id]: initialVisibility });\r\n\r\n // Create an IntersectionObserver to track the element's visibility.\r\n this.observer = new IntersectionObserver(entries => {\r\n entries.forEach(entry => {\r\n const isVisible = entry.isIntersecting;\r\n this.updateElementVisibility(id, isVisible);\r\n });\r\n });\r\n\r\n // Start observing the element.\r\n this.observer.observe(nativeElement);\r\n }\r\n }\r\n\r\n /**\r\n * Unregister an element from being tracked by the service.\r\n * @param {string} id - The id of the element to unregister.\r\n */\r\n unregisterElement(id: string): void {\r\n if (id in this.elements()) {\r\n delete this.elements()[id];\r\n this.observer.disconnect();\r\n }\r\n }\r\n\r\n /**\r\n * Update the visibility of an element.\r\n * @param {string} id - The id of the element to update.\r\n * @param {boolean} isVisible - The new visibility state of the element.\r\n */\r\n updateElementVisibility(id: string, isVisible: boolean): void {\r\n this.elements.set({ ...this.elements(), [id]: isVisible });\r\n }\r\n}\r\n","import { Directive, ElementRef, inject, input, OnDestroy } from '@angular/core';\r\nimport { afterNextRender } from '@angular/core'; // Importante\r\nimport { InViewportService } from '../services/in-viewport.service';\r\n\r\n@Directive({\r\n selector: '[b-in-viewport]',\r\n})\r\nexport class InViewportDirective implements OnDestroy {\r\n readonly inViewportId = input.required<string>();\r\n readonly inViewportInitialVisibility = input<boolean>(false);\r\n el = inject(ElementRef);\r\n inViewportService = inject(InViewportService);\r\n\r\n constructor() {\r\n afterNextRender({\r\n write: () => {\r\n this.inViewportService.registerElement(\r\n this.inViewportId(),\r\n this.el.nativeElement,\r\n this.inViewportInitialVisibility()\r\n );\r\n },\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.inViewportService.unregisterElement(this.inViewportId());\r\n }\r\n}\r\n","import {\r\n Component,\r\n input,\r\n output,\r\n computed,\r\n model,\r\n inject,\r\n ElementRef,\r\n HostListener,\r\n} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n/**\r\n * A sliding sheet component that can be positioned on either side of the screen.\r\n * The sheet slides in from the left or right edge and includes an overlay backdrop.\r\n *\r\n * @selector b-side-sheet\r\n */\r\n@Component({\r\n selector: 'b-side-sheet',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './side-sheet.component.html',\r\n host: {\r\n '[class.left]': 'isLeft()',\r\n '[class.right]': '!isLeft()',\r\n '[class.open]': 'isOpen()',\r\n '[style.width]': 'width()',\r\n },\r\n})\r\nexport class SideSheet {\r\n /**\r\n * Indicates whether the side sheet is open.\r\n */\r\n readonly isOpen = model(false);\r\n\r\n /**\r\n * Specifies the side of the screen where the sheet is positioned.\r\n * Can be either 'left' or 'right'.\r\n */\r\n readonly side = input<'left' | 'right'>('right');\r\n\r\n /**\r\n * Specifies the width of the side sheet.\r\n */\r\n readonly width = input('300px');\r\n\r\n /**\r\n * Computes whether the side sheet is positioned on the left side.\r\n */\r\n readonly isLeft = computed(() => this.side() === 'left');\r\n\r\n /**\r\n * Computes whether the side sheet is positioned on the right side.\r\n */\r\n readonly isRight = computed(() => this.side() === 'right');\r\n\r\n /**\r\n * Event emitted when the side sheet is closed.\r\n */\r\n closeSheet = output<void>();\r\n\r\n /**\r\n * Reference to the host element of the side sheet.\r\n */\r\n private readonly el = inject(ElementRef);\r\n\r\n /**\r\n * Closes the side sheet when clicking outside of it.\r\n *\r\n * @param event - The click event.\r\n */\r\n @HostListener('document:click', ['$event'])\r\n closeOnOutsideClick(event: Event) {\r\n if (this.isOpen() && !this.el.nativeElement.contains(event.target)) {\r\n this.isOpen.set(false);\r\n }\r\n }\r\n}\r\n","<button class=\"close-button\" (click)=\"isOpen.set(false)\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"19\"\r\n height=\"19\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"0.094rem\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n class=\"lucide lucide-x\">\r\n <path d=\"M18 6 6 18\" />\r\n <path d=\"m6 6 12 12\" />\r\n </svg>\r\n</button>\r\n<ng-content />\r\n","import {\r\n Component,\r\n input,\r\n output,\r\n model,\r\n signal,\r\n computed,\r\n inject,\r\n ElementRef,\r\n HostListener,\r\n} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'b-bottom-sheet',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './bottom-sheet.component.html',\r\n host: {\r\n '[style.height]': 'height()',\r\n '[class.dragging]': 'isDragging()',\r\n '[style.transform]': 'transform()',\r\n '[class.open]': 'isOpen()',\r\n },\r\n})\r\nexport class BottomSheet {\r\n /**\r\n * Indicates whether the bottom sheet is open.\r\n */\r\n readonly isOpen = model(false);\r\n\r\n /**\r\n * The height of the bottom sheet.\r\n */\r\n readonly height = input('30dvh');\r\n\r\n /**\r\n * Event emitted when the bottom sheet is closed.\r\n */\r\n closeSheet = output<void>();\r\n\r\n /**\r\n * Indicates whether a drag event is in progress.\r\n */\r\n private readonly isDragging = signal(false);\r\n\r\n /**\r\n * The starting Y position of the drag event.\r\n */\r\n readonly startY = signal(0);\r\n\r\n /**\r\n * The current Y translation of the bottom sheet in percentage.\r\n */\r\n private readonly translateY = signal(100);\r\n\r\n /**\r\n * The threshold for closing the bottom sheet, in percentage.\r\n */\r\n readonly closeThreshold = input(30);\r\n\r\n /**\r\n * The computed transform property for the bottom sheet.\r\n */\r\n readonly transform = computed(() =>\r\n this.isDragging()\r\n ? `translateY(${this.translateY()}%)`\r\n : this.isOpen()\r\n ? 'translateY(0%)'\r\n : 'translateY(100%)'\r\n );\r\n\r\n /**\r\n * The reference to the Bottom Sheet DOM element.\r\n */\r\n private readonly el = inject(ElementRef);\r\n\r\n /**\r\n * Closes the bottom sheet when clicking outside of it.\r\n * @param event The click event.\r\n */\r\n @HostListener('document:click', ['$event'])\r\n closeOnOutsideClick(event: Event) {\r\n if (this.isOpen() && !this.el.nativeElement.contains(event.target)) {\r\n this.isOpen.set(false);\r\n this.closeSheet.emit();\r\n }\r\n }\r\n\r\n /**\r\n * Starts the drag event for the bottom sheet.\r\n * @param event The pointer event that starts the drag.\r\n */\r\n startDrag(event: PointerEvent) {\r\n this.isDragging.set(true);\r\n this.startY.set(event.clientY);\r\n // Initialize translateY based on the current state:\r\n this.translateY.set(this.isOpen() ? 0 : 100);\r\n // Disable text selection for better UX\r\n document.body.style.userSelect = 'none';\r\n\r\n const move = (e: PointerEvent) => this.updateDrag(e.clientY);\r\n const end = () => {\r\n this.isDragging.set(false);\r\n this.snapToOpenOrClose();\r\n\r\n // Restore text selection\r\n document.body.style.userSelect = '';\r\n\r\n window.removeEventListener('pointermove', move);\r\n window.removeEventListener('pointerup', end);\r\n };\r\n\r\n window.addEventListener('pointermove', move, { passive: false });\r\n window.addEventListener('pointerup', end);\r\n }\r\n\r\n /**\r\n * Updates the drag position of the bottom sheet.\r\n * @param clientY The current Y position of the pointer.\r\n */\r\n updateDrag(clientY: number) {\r\n const deltaPx = clientY - this.startY();\r\n const sheetHeight = this.el.nativeElement.offsetHeight;\r\n // Convert the pixel delta to a percentage relative to the sheet height\r\n const deltaPercent = (deltaPx / sheetHeight) * 100;\r\n // If open, the initial position is 0%; if closed, it is 100%\r\n const newPos = Math.min(\r\n 100,\r\n Math.max(0, this.isOpen() ? 0 + deltaPercent : 100 + deltaPercent)\r\n );\r\n this.translateY.set(newPos);\r\n }\r\n\r\n /**\r\n * Snaps the bottom sheet to either open or closed state based on the drag position.\r\n */\r\n snapToOpenOrClose() {\r\n if (this.translateY() > this.closeThreshold()) {\r\n this.isOpen.set(false);\r\n } else {\r\n this.isOpen.set(true);\r\n }\r\n }\r\n}\r\n","<div class=\"drag-section\" (pointerdown)=\"startDrag($event)\">\r\n <div class=\"drag-indicator\"></div>\r\n</div>\r\n<ng-content />\r\n","import { Injectable, signal, computed, afterRenderEffect } from '@angular/core';\r\n\r\n/**\r\n * Interface that defines the breakpoints for different device types\r\n */\r\nexport interface DeviceBreakpoints {\r\n /** Maximum width for mobile devices in pixels */\r\n mobile: number;\r\n /** Maximum width for tablet devices in pixels */\r\n tablet: number;\r\n /** Maximum width for desktop devices in pixels */\r\n desktop: number;\r\n}\r\n\r\n/** Available device types */\r\nexport type DeviceType = 'mobile' | 'tablet' | 'desktop';\r\n\r\n/**\r\n * Service that handles responsive design functionality\r\n * Detects current device type based on window width and configurable breakpoints\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ResponsiveService {\r\n /** Signal that holds the breakpoint configuration */\r\n private readonly breakpoints = signal<DeviceBreakpoints>({\r\n mobile: 576,\r\n tablet: 992,\r\n desktop: 1200,\r\n });\r\n\r\n /** Signal that holds the current window width */\r\n private readonly windowWidth = signal<number>(0);\r\n\r\n /**\r\n * Computed signal that returns the current device type based on window width\r\n * @returns The current device type ('mobile', 'tablet', or 'desktop')\r\n */\r\n readonly currentDevice = computed<DeviceType>(() => {\r\n const width = this.windowWidth();\r\n const breaks = this.breakpoints();\r\n\r\n if (width < breaks.mobile) {\r\n return 'mobile';\r\n }\r\n if (width < breaks.tablet) {\r\n return 'tablet';\r\n }\r\n return 'desktop';\r\n });\r\n\r\n constructor() {\r\n afterRenderEffect(() => {\r\n this.initializeWindowWidth();\r\n this.setupResizeListener();\r\n });\r\n }\r\n\r\n /**\r\n * Initializes the window width signal with the current window inner width\r\n * Only called in browser environment\r\n */\r\n private initializeWindowWidth(): void {\r\n this.windowWidth.set(window.innerWidth);\r\n }\r\n\r\n /**\r\n * Sets up the resize event listener to update window width\r\n * Only called in browser environment\r\n */\r\n private setupResizeListener(): void {\r\n window.addEventListener('resize', () => {\r\n this.windowWidth.set(window.innerWidth);\r\n });\r\n }\r\n\r\n /**\r\n * Updates the breakpoint configuration\r\n * @param newBreakpoints - Partial breakpoint configuration to update\r\n */\r\n updateBreakpoints(newBreakpoints: Partial<DeviceBreakpoints>): void {\r\n this.breakpoints.update(current => ({\r\n ...current,\r\n ...newBreakpoints,\r\n }));\r\n }\r\n}\r\n","import { Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'span[b-badge]',\r\n template: `<ng-content />`,\r\n host: {\r\n '[class]': 'variant() + \" size-\" + size()',\r\n },\r\n})\r\nexport class Badge {\r\n /** The variant of the badge. */\r\n readonly variant = input<'primary' | 'secondary' | 'ghost' | 'outlined'>(\r\n 'primary'\r\n );\r\n\r\n /** The size of the badge. */\r\n readonly size = input<'small' | 'default'>('default');\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n inject,\r\n model,\r\n output,\r\n AfterViewInit,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'input[b-checkbox]',\r\n template: ``,\r\n host: {\r\n '[attr.role]': 'checkbox',\r\n '[attr.checked]': 'value()',\r\n '[attr.aria-checked]': 'value()',\r\n '(click)': 'toggleValue()',\r\n '(keydown.enter)': 'toggleValue()',\r\n '(keydown.space)': 'toggleValue()',\r\n },\r\n})\r\nexport class Checkbox implements AfterViewInit {\r\n /**\r\n * Value of the checkbox.\r\n */\r\n readonly value = model<boolean>(false);\r\n\r\n /**\r\n * Reference to the checkbox element.\r\n */\r\n el = inject(ElementRef);\r\n\r\n /**\r\n * Event emitted when the value changes.\r\n */\r\n valueChange = output<boolean>();\r\n\r\n /**\r\n * Initializes the checkbox value after the view is initialized.\r\n */\r\n ngAfterViewInit() {\r\n this.value.set(this.el.nativeElement.checked);\r\n }\r\n\r\n /**\r\n * Toggles the value of the checkbox.\r\n */\r\n toggleValue() {\r\n const newValue = !this.value();\r\n this.value.set(newValue);\r\n this.valueChange.emit(newValue);\r\n }\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n inject,\r\n input,\r\n model,\r\n output,\r\n signal,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'textarea[b-textarea]',\r\n template: ``,\r\n host: {\r\n '[placeholder]': 'placeholder() || \"\"',\r\n '[rows]': 'rows()',\r\n '[cols]': 'cols()',\r\n '[class.ng-invalid]': 'invalid()',\r\n '[class.disabled]': 'disabled()',\r\n '(input)': 'onInput($event)',\r\n '(focus)': 'focused.set(true)',\r\n '(blur)': 'focused.set(false)',\r\n },\r\n})\r\nexport class Textarea {\r\n /**\r\n * The placeholder text for the textarea.\r\n */\r\n readonly placeholder = input<string>('');\r\n\r\n /**\r\n * The value of the textarea.\r\n */\r\n readonly value = signal<string | null>(null);\r\n\r\n /**\r\n * The number of rows for the textarea.\r\n */\r\n readonly rows = input<number>(3);\r\n\r\n /**\r\n * The number of columns for the textarea.\r\n */\r\n readonly cols = input<number>(30);\r\n\r\n /**\r\n * Whether the textarea is invalid.\r\n */\r\n readonly invalid = model<boolean>(false);\r\n\r\n /**\r\n * Whether the textarea is disabled.\r\n */\r\n readonly disabled = model<boolean>(false);\r\n\r\n /**\r\n * Whether the textarea is focused.\r\n * This will be used by the Label component.\r\n */\r\n readonly focused = signal<boolean>(false);\r\n\r\n /**\r\n * Event emitted when the value changes.\r\n */\r\n valueChange = output<string | null>();\r\n\r\n /**\r\n * Reference to the textarea element.\r\n */\r\n readonly el = inject<ElementRef<HTMLTextAreaElement>>(ElementRef);\r\n\r\n /**\r\n * Handles the input event.\r\n * @param event The input event.\r\n */\r\n onInput(event: Event): void {\r\n const target = event.target as HTMLTextAreaElement;\r\n this.value.set(target.value);\r\n this.valueChange.emit(target.value);\r\n }\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n inject,\r\n model,\r\n input,\r\n AfterViewInit,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'input[b-range]',\r\n template: ``,\r\n host: {\r\n '[attr.value]': 'value()',\r\n '[style.max-width]': 'maxWidth()',\r\n '(input)': 'onInput($event)',\r\n },\r\n})\r\nexport class Range implements AfterViewInit {\r\n /**\r\n * Current value of the range.\r\n */\r\n readonly value = model<string>('0');\r\n\r\n /**\r\n * Maximum width of the range slider.\r\n */\r\n readonly maxWidth = input<string>('100%');\r\n\r\n /**\r\n * Reference to the range element.\r\n */\r\n el = inject(ElementRef);\r\n\r\n /**\r\n * Initializes the range value after the view is initialized.\r\n */\r\n ngAfterViewInit() {\r\n this.value.set(this.el.nativeElement.value);\r\n }\r\n\r\n /**\r\n * Handles the input event to update the value.\r\n */\r\n onInput(event: Event) {\r\n this.value.set((event.target as HTMLInputElement).value);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n/**\r\n * Utility service for common operations.\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UtilsService {\r\n private debounceTimers = new Map<string, any>();\r\n\r\n /**\r\n * Executes a function after a delay, canceling any previous calls with the same key.\r\n *\r\n * @param key - Unique key to identify the debounce timer.\r\n * @param func - The function to debounce.\r\n * @param delay - The delay in milliseconds before executing the function.\r\n */\r\n debounce(key: string, func: () => void, delay: number): void {\r\n clearTimeout(this.debounceTimers.get(key));\r\n this.debounceTimers.set(key, setTimeout(func, delay));\r\n }\r\n\r\n /**\r\n * Cancels the debounce timer for a specific key.\r\n *\r\n * @param key - Unique key to identify the debounce timer.\r\n */\r\n stopDebounce(key: string): void {\r\n clearTimeout(this.debounceTimers.get(key));\r\n this.debounceTimers.delete(key);\r\n }\r\n}\r\n","import { NgTemplateOutlet } from '@angular/common';\r\nimport { Component, computed, signal, TemplateRef } from '@angular/core';\r\nimport { Direction } from '../../../shared/types/direction.type';\r\n\r\n/**\r\n * Tooltip component used to display content or templates in a tooltip overlay.\r\n */\r\n@Component({\r\n selector: 'b-tooltip',\r\n standalone: true,\r\n template: `\r\n @if (isString()) {\r\n {{ content() }}\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"template()\" />\r\n }\r\n `,\r\n imports: [NgTemplateOutlet],\r\n host: {\r\n '[class]': '\"b-tooltip-\" + direction() + \" size-\" + size()',\r\n '[class.b-tooltip-leave]': 'leaving()',\r\n },\r\n})\r\nexport class TooltipComponent {\r\n /**\r\n * Specifies the size of the tooltip.\r\n *\r\n * @defaultValue '2'\r\n */\r\n readonly size = signal<'1' | '2' | '3'>('2');\r\n\r\n /**\r\n * Direction of the tooltip (e.g., top, bottom, left, right).\r\n */\r\n readonly direction = signal<Direction | undefined>(undefined);\r\n\r\n /**\r\n * Indicates whether the tooltip is leaving (for animation purposes).\r\n */\r\n readonly leaving = signal(false);\r\n\r\n /**\r\n * Content of the tooltip, which can be a string or a template.\r\n */\r\n readonly content = signal<string | TemplateRef<any>>('');\r\n\r\n /**\r\n * Determines if the content is a string.\r\n */\r\n readonly isString = computed(() => typeof this.content() === 'string');\r\n\r\n /**\r\n * Returns the template if the content is not a string.\r\n */\r\n readonly template = computed(() => {\r\n if (this.isString()) {\r\n return null;\r\n }\r\n return this.content() as TemplateRef<any>;\r\n });\r\n}\r\n","import {\r\n CdkOverlayOrigin,\r\n ConnectedPosition,\r\n Overlay,\r\n OverlayConfig,\r\n OverlayRef,\r\n} from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport {\r\n computed,\r\n Directive,\r\n effect,\r\n inject,\r\n input,\r\n signal,\r\n TemplateRef,\r\n OnDestroy,\r\n ComponentRef,\r\n} from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { Direction } from '../../../shared/types/direction.type';\r\nimport { UtilsService } from '../../../shared/services/utils.service';\r\nimport { Position } from '../../../public-api';\r\nimport { TooltipComponent } from './tooltip.component';\r\n\r\n/**\r\n * Directive to attach a tooltip to an element.\r\n */\r\n@Directive({\r\n selector: '[bTooltip]',\r\n hostDirectives: [CdkOverlayOrigin],\r\n host: {\r\n '(mouseenter)': 'hover() && show()',\r\n '(mouseleave)': 'hover() && hide()',\r\n '(focus)': 'focus() && show()',\r\n '(blur)': 'focus() && hide()',\r\n },\r\n})\r\nexport class TooltipDirective implements OnDestroy {\r\n /**\r\n * Tooltip content, which can be a string or a template.\r\n *\r\n * @alias bTooltip\r\n */\r\n readonly content = input<string | TemplateRef<any>>('', {\r\n alias: 'bTooltip',\r\n });\r\n\r\n /**\r\n * Specifies the size of the tooltip.\r\n *\r\n * @defaultValue '2'\r\n */\r\n readonly size = input<'1' | '2' | '3'>('2');\r\n\r\n /**\r\n * Overlay origin for positioning the tooltip.\r\n */\r\n origin = inject(CdkOverlayOrigin);\r\n\r\n /**\r\n * Overlay service for creating and managing overlays.\r\n */\r\n overlay = inject(Overlay);\r\n\r\n /**\r\n * Utility service for common operations.\r\n */\r\n utils = inject(UtilsService);\r\n\r\n /**\r\n * Whether the tooltip should appear on hover.\r\n *\r\n * @defaultValue true\r\n */\r\n readonly hover = input(true);\r\n\r\n /**\r\n * Whether the tooltip should appear on focus.\r\n *\r\n * @defaultValue false\r\n */\r\n readonly focus = input(false);\r\n\r\n /**\r\n * Reference to the overlay instance.\r\n */\r\n readonly overlayRef = signal<OverlayRef | null>(null);\r\n\r\n /**\r\n * Map of positions for the tooltip.\r\n */\r\n readonly positionsMap = signal<Record<Position, ConnectedPosition>>({\r\n 'top-left': {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n },\r\n 'top-center': {\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'bottom',\r\n },\r\n 'top-right': {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'bottom',\r\n },\r\n 'bottom-left': {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n 'bottom-center': {\r\n originX: 'center',\r\n originY: 'bottom',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n },\r\n 'bottom-right': {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n },\r\n 'left-top': {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n },\r\n 'left-center': {\r\n originX: 'start',\r\n originY: 'center',\r\n overlayX: 'end',\r\n overlayY: 'center',\r\n },\r\n 'left-bottom': {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'end',\r\n overlayY: 'bottom',\r\n },\r\n 'right-top': {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n },\r\n 'right-center': {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'center',\r\n },\r\n 'right-bottom': {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n },\r\n });\r\n\r\n /**\r\n * List of positions for the tooltip.\r\n *\r\n * @defaultValue ['bottom-center']\r\n */\r\n readonly positions = input<Position[]>(['bottom-center']);\r\n\r\n /**\r\n * Computed connected positions based on the positions input.\r\n */\r\n readonly connectedPositions = computed<ConnectedPosition[]>(() =>\r\n this.positions().map(position => this.positionsMap()[position])\r\n );\r\n\r\n /**\r\n * Delay before showing the tooltip.\r\n *\r\n * @defaultValue 0\r\n */\r\n readonly showDelay = input<number>(0);\r\n\r\n /**\r\n * Delay before hiding the tooltip.\r\n *\r\n * @defaultValue 150\r\n */\r\n readonly hideDelay = input<number>(150);\r\n\r\n /**\r\n * Currently connected position of the tooltip.\r\n */\r\n readonly connectedPosition = signal<ConnectedPosition | null>(null);\r\n\r\n /**\r\n * Direction of the tooltip based on the connected position.\r\n */\r\n readonly direction = computed<Direction>(() => {\r\n const pair = this.connectedPosition();\r\n return Object.entries(this.positionsMap())\r\n .find(\r\n ([, position]) =>\r\n position.originX === pair?.originX &&\r\n position.originY === pair?.originY &&\r\n position.overlayX === pair?.overlayX &&\r\n position.overlayY === pair?.overlayY\r\n )?.[0]\r\n .split('-')[0] as Direction;\r\n });\r\n\r\n /**\r\n * Subscription to position change events.\r\n */\r\n private positionChangeSubscription: Subscription | null = null;\r\n\r\n /**\r\n * Reference to the tooltip component instance.\r\n */\r\n readonly componentRef = signal<ComponentRef<TooltipComponent> | undefined>(\r\n undefined\r\n );\r\n\r\n /**\r\n * Shows the tooltip.\r\n */\r\n show(): void {\r\n if (this.overlayRef()?.hasAttached()) {\r\n return;\r\n }\r\n\r\n this.utils.debounce(\r\n 'tooltip-show',\r\n () => {\r\n const positionStrategy = this.overlay\r\n .position()\r\n .flexibleConnectedTo(this.origin.elementRef)\r\n .withPositions(this.connectedPositions())\r\n .withPush(true);\r\n\r\n // Subscribe to position change events\r\n this.positionChangeSubscription =\r\n positionStrategy.positionChanges.subscribe(change => {\r\n this.connectedPosition.set(change.connectionPair);\r\n });\r\n\r\n const overlayConfig = new OverlayConfig({\r\n positionStrategy,\r\n scrollStrategy: this.overlay.scrollStrategies.close(),\r\n });\r\n\r\n if (!this.overlayRef()) {\r\n this.overlayRef.set(this.overlay.create(overlayConfig));\r\n }\r\n\r\n const componentPortal = new ComponentPortal(TooltipComponent);\r\n this.componentRef.set(this.overlayRef()?.attach(componentPortal));\r\n\r\n // Reset the leaving state and direction to ensure animations play\r\n const instance = this.componentRef()?.instance;\r\n instance?.leaving.set(false);\r\n instance?.direction.set(this.direction());\r\n instance?.content.set(this.content());\r\n instance?.size.set(this.size());\r\n\r\n // Trigger reflow to ensure CSS animations are applied\r\n void this.overlayRef()?.overlayElement.offsetHeight;\r\n },\r\n this.showDelay()\r\n );\r\n }\r\n\r\n /**\r\n * Hides the tooltip.\r\n */\r\n hide(): void {\r\n if (!this.overlayRef()?.hasAttached()) {\r\n return; // Avoid detaching if not attached\r\n }\r\n\r\n this.componentRef()?.instance.leaving.set(true);\r\n\r\n this.utils.debounce(\r\n 'tooltip-hide',\r\n () => this.overlayRef()?.detach(),\r\n this.hideDelay()\r\n );\r\n }\r\n\r\n /**\r\n * Cleans up resources when the directive is destroyed.\r\n */\r\n ngOnDestroy() {\r\n this.hide();\r\n // Unsubscribe from position change events\r\n this.positionChangeSubscription?.unsubscribe();\r\n this.positionChangeSubscription = null;\r\n }\r\n\r\n constructor() {\r\n effect(() => this.componentRef()?.instance.direction.set(this.direction()));\r\n }\r\n}\r\n","import {\r\n Component,\r\n computed,\r\n contentChild,\r\n input,\r\n signal,\r\n AfterViewInit,\r\n inject,\r\n ElementRef,\r\n} from '@angular/core';\r\nimport { ControlContainer, NgModel } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'input[b-color-picker]',\r\n imports: [],\r\n template: ``,\r\n host: {\r\n '[class.focused]': 'focused()',\r\n '[style.max-width]': 'maxWidth()',\r\n '[style.--value]': 'valueWithSingleQuotes()',\r\n '[style.--text-color]': 'textColor()',\r\n '[class.show-color]': 'showColor()',\r\n '(focus)': 'focused.set(true)',\r\n '(blur)': 'focused.set(false)',\r\n '(input)': 'value.set($event.target.value)',\r\n },\r\n})\r\nexport class ColorPicker implements AfterViewInit {\r\n /**\r\n * Specifies the maximum width of the input.\r\n */\r\n readonly maxWidth = input('');\r\n\r\n /**\r\n * Represents the value of the input.\r\n */\r\n readonly value = signal<string>('#ffffff');\r\n\r\n /**\r\n * Computed signal for the text color with single quotes.\r\n */\r\n readonly valueWithSingleQuotes = computed(() => {\r\n return `'${this.value()}'`;\r\n });\r\n\r\n /**\r\n * A computed signal that dynamically calculates the text color based on the resolved value.\r\n */\r\n readonly textColor = computed(() => {\r\n const backgroundColor = this.resolveColor(this.value());\r\n const hex = backgroundColor.replace('#', '');\r\n const r = parseInt(hex.substring(0, 2), 16);\r\n const g = parseInt(hex.substring(2, 4), 16);\r\n const b = parseInt(hex.substring(4, 6), 16);\r\n\r\n const luminance = 0.2126 * r + 0.7152 * g + 0.0722 * b;\r\n return luminance > 128 ? '#000000' : '#FFFFFF';\r\n });\r\n\r\n /**\r\n * Indicates whether the input is focused.\r\n */\r\n readonly focused = signal<boolean>(false);\r\n\r\n /**\r\n * A reference to the `NgModel` directive.\r\n */\r\n private readonly ngModel = contentChild<NgModel>(NgModel);\r\n\r\n /**\r\n * Indicates whether to show the color value.\r\n */\r\n readonly showColor = input<boolean>(true);\r\n\r\n /**\r\n * A reference to the native element.\r\n */\r\n el = inject(ElementRef);\r\n\r\n /**\r\n * A reference to the control container.\r\n */\r\n private controlContainer = inject(ControlContainer, { optional: true });\r\n\r\n /**\r\n * Lifecycle hook that is called after the view has been initialized.\r\n * Sets the initial value of the picker and attaches event listeners.\r\n */\r\n ngAfterViewInit(): void {\r\n const formControl = this.controlContainer?.control?.get(\r\n this.el.nativeElement.getAttribute('formControlName')\r\n );\r\n\r\n // Inicializa el valor del signal\r\n this.value.set(\r\n this.el?.nativeElement.value || this.ngModel()?.value || '#000000'\r\n );\r\n\r\n // Suscríbete a los cambios del FormControl\r\n formControl?.valueChanges.subscribe((newValue: string) => {\r\n this.value.set(newValue || '#000000');\r\n });\r\n }\r\n\r\n /**\r\n * Resolves a color value, handling cases like `transparent` or `color-mix`.\r\n * @param value The input color value.\r\n * @returns A valid hexadecimal color.\r\n */\r\n resolveColor(value: string): string {\r\n // Handle `color-mix` values\r\n const colorMixMatch = value.match(\r\n /color-mix\\(in srgb, (#[0-9a-fA-F]{6}), (#[0-9a-fA-F]{6}) (\\d+)%\\)/\r\n );\r\n if (colorMixMatch) {\r\n const [, color1, color2, percentage] = colorMixMatch;\r\n return this.calculateColorMix(\r\n color1,\r\n color2,\r\n parseInt(percentage, 10) / 100\r\n );\r\n }\r\n\r\n // Handle `transparent` values\r\n if (value === 'transparent') {\r\n return '#ffffff'; // Default to white for transparency\r\n }\r\n\r\n return value; // Return the original value if no special cases\r\n }\r\n\r\n /**\r\n * Calculates the result of a `color-mix` operation.\r\n * @param color1 The first color in hexadecimal format.\r\n * @param color2 The second color in hexadecimal format.\r\n * @param percentage The mix percentage for the second color.\r\n * @returns The resulting mixed color in hexadecimal format.\r\n */\r\n calculateColorMix(\r\n color1: string,\r\n color2: string,\r\n percentage: number\r\n ): string {\r\n const hexToRgb = (hex: string) => {\r\n const bigint = parseInt(hex.replace('#', ''), 16);\r\n return {\r\n r: (bigint >> 16) & 255,\r\n g: (bigint >> 8) & 255,\r\n b: bigint & 255,\r\n };\r\n };\r\n\r\n const rgbToHex = (r: number, g: number, b: number) =>\r\n `#${((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)}`;\r\n\r\n const rgb1 = hexToRgb(color1);\r\n const rgb2 = hexToRgb(color2);\r\n\r\n const r = Math.round(rgb1.r * (1 - percentage) + rgb2.r * percentage);\r\n const g = Math.round(rgb1.g * (1 - percentage) + rgb2.g * percentage);\r\n const b = Math.round(rgb1.b * (1 - percentage) + rgb2.b * percentage);\r\n\r\n return rgbToHex(r, g, b);\r\n }\r\n}\r\n","import { CdkDrag, CdkDragHandle } from '@angular/cdk/drag-drop';\r\nimport {\r\n Component,\r\n contentChild,\r\n inject,\r\n model,\r\n OnInit,\r\n output,\r\n} from '@angular/core';\r\nimport { Tree } from '../../../tree.component';\r\nimport { Icon } from '../../../../icon/icon.component';\r\n\r\n/**\r\n * Represents a tree node component that can be extended, collapsed,\r\n * and optionally supports drag-and-drop functionality.\r\n */\r\n@Component({\r\n selector: 'b-tree-node',\r\n imports: [Icon, CdkDragHandle],\r\n templateUrl: './tree-node.component.html',\r\n hostDirectives: [\r\n {\r\n directive: CdkDrag,\r\n inputs: ['cdkDragDisabled: disabled'],\r\n },\r\n ],\r\n})\r\nexport class TreeNode implements OnInit {\r\n /**\r\n * Indicates whether the node is extended (expanded).\r\n */\r\n readonly extended = model(false);\r\n\r\n /**\r\n * Reference to the `CdkDrag` directive for drag-and-drop functionality.\r\n */\r\n protected node = inject(CdkDrag);\r\n\r\n /**\r\n * Reference to a nested `Tree` component, if present.\r\n */\r\n readonly nestedTree = contentChild(Tree);\r\n\r\n /**\r\n * Emits an event when the node is closed.\r\n */\r\n closeEmitter = output<void>();\r\n\r\n /**\r\n * Lifecycle hook that is called after the component is initialized.\r\n */\r\n ngOnInit(): void {\r\n this.node.lockAxis = 'y';\r\n }\r\n\r\n /**\r\n * Updates the disabled state of the node.\r\n * @param disabled - Whether the node should be disabled.\r\n */\r\n handleNodeDisability(disabled: boolean): void {\r\n this.node.disabled = disabled;\r\n }\r\n\r\n /**\r\n * Toggles the extended (expanded) state of the node.\r\n * Emits a close event if the node is collapsed and contains a nested tree.\r\n */\r\n handleExtension(): void {\r\n const isExtended = this.extended();\r\n this.extended.set(!isExtended);\r\n\r\n if (isExtended && this.nestedTree()) {\r\n this.closeEmitter.emit();\r\n }\r\n }\r\n}\r\n","<section>\r\n @if (!node.disabled) {\r\n <i b-icon icon=\"GripVertical\" [size]=\"15\" cdkDragHandle></i>\r\n }\r\n <div\r\n class=\"projected-content\"\r\n (click)=\"nestedTree() && handleExtension()\"\r\n (keydown.enter)=\"nestedTree() && handleExtension()\"\r\n (keydown.space)=\"nestedTree() && handleExtension()\"\r\n role=\"button\"\r\n tabindex=\"0\">\r\n <ng-content />\r\n </div>\r\n @if (nestedTree()) {\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\"\r\n height=\"20\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\">\r\n <path d=\"m6 9 6 6 6-6\" />\r\n </svg>\r\n }\r\n</section>\r\n@if (nestedTree() && extended()) {\r\n <div class=\"nested\">\r\n <ng-content select=\"b-tree\" />\r\n </div>\r\n}\r\n","import {\r\n CdkDragDrop,\r\n CdkDropList,\r\n CdkDropListGroup,\r\n} from '@angular/cdk/drag-drop';\r\nimport {\r\n Component,\r\n contentChildren,\r\n effect,\r\n inject,\r\n input,\r\n OnInit,\r\n output,\r\n} from '@angular/core';\r\nimport { TreeNode } from './shared/components/tree-node/tree-node.component';\r\n\r\n/**\r\n * Represents a tree component that supports drag-and-drop functionality\r\n * and manages nested tree nodes.\r\n */\r\n@Component({\r\n selector: 'b-tree',\r\n template: `<ng-content />`,\r\n host: {\r\n '(cdkDropListDropped)': 'dropEmitter.emit($event)',\r\n '[style.max-width]': 'maxWidth()',\r\n },\r\n hostDirectives: [\r\n {\r\n directive: CdkDropList,\r\n inputs: ['id', 'cdkDropListConnectedTo: connectedTo'],\r\n outputs: ['cdkDropListDropped'],\r\n },\r\n CdkDropListGroup,\r\n ],\r\n})\r\nexport class Tree implements OnInit {\r\n /**\r\n * The ID of the tree component.\r\n */\r\n readonly maxWidth = input<string>('100%');\r\n /**\r\n * Determines whether the tree is draggable.\r\n */\r\n readonly draggable = input(false);\r\n\r\n /**\r\n * Reference to the `CdkDropList` directive used for drag-and-drop.\r\n */\r\n private tree = inject(CdkDropList);\r\n\r\n /**\r\n * Collection of nested `TreeNode` components.\r\n */\r\n private readonly nestedNodes = contentChildren(TreeNode);\r\n\r\n /**\r\n * Determines whether to close nodes recursively.\r\n */\r\n readonly closeRecursively = input(false);\r\n\r\n /**\r\n * Emits an event when a drop occurs in the tree.\r\n */\r\n dropEmitter = output<CdkDragDrop<string[]>>();\r\n\r\n /**\r\n * Initializes the `Tree` component and sets up reactive effects.\r\n */\r\n constructor() {\r\n effect(() => {\r\n this.handleTreeDisability();\r\n });\r\n }\r\n\r\n /**\r\n * Lifecycle hook that is called after the component is initialized.\r\n */\r\n ngOnInit(): void {\r\n if (this.closeRecursively()) this.handleCloseRecursively();\r\n }\r\n\r\n /**\r\n * Updates the disabled state of the tree and its nested nodes.\r\n */\r\n private handleTreeDisability(): void {\r\n const isDisabled = !this.draggable();\r\n this.tree.disabled = isDisabled;\r\n\r\n this.nestedNodes().forEach(node => {\r\n node.handleNodeDisability(isDisabled);\r\n });\r\n }\r\n\r\n /**\r\n * Sets up recursive closing behavior for nested nodes.\r\n */\r\n handleCloseRecursively(): void {\r\n this.nestedNodes().forEach(node => {\r\n node.closeEmitter.subscribe(() => {\r\n this.closeNestedNodes();\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Closes all nested nodes recursively.\r\n */\r\n closeNestedNodes(): void {\r\n this.nestedNodes().forEach(node => {\r\n node.extended.set(false);\r\n node.nestedTree()?.closeNestedNodes();\r\n });\r\n }\r\n}\r\n","import { CdkMenu } from '@angular/cdk/menu';\r\nimport { Component } from '@angular/core';\r\n\r\n/**\r\n * Represents a menu component that can optionally float.\r\n */\r\n@Component({\r\n selector: 'b-menu',\r\n imports: [],\r\n template: `<ng-content />`,\r\n hostDirectives: [CdkMenu],\r\n})\r\nexport class Menu {}\r\n","import { Component } from '@angular/core';\r\n\r\n/**\r\n * Represents a label for a menu.\r\n */\r\n@Component({\r\n selector: 'b-menu-label',\r\n imports: [],\r\n template: `<ng-content />`,\r\n})\r\nexport class MenuLabel {}\r\n","import { CdkMenuItem } from '@angular/cdk/menu';\r\nimport { Component } from '@angular/core';\r\n\r\n/**\r\n * Represents a menu item with support for typeahead and disabled states.\r\n */\r\n@Component({\r\n selector: 'button[b-menu-item]',\r\n imports: [],\r\n template: `<ng-content />`,\r\n hostDirectives: [\r\n {\r\n directive: CdkMenuItem,\r\n inputs: [\r\n 'cdkMenuItemDisabled: disabled',\r\n 'cdkMenuitemTypeaheadLabel: typeaheadLabel',\r\n ],\r\n outputs: ['cdkMenuItemTriggered: triggered'],\r\n },\r\n ],\r\n})\r\nexport class MenuItemComponent {}\r\n","import { CdkMenuGroup } from '@angular/cdk/menu';\r\nimport { Component } from '@angular/core';\r\n\r\n/**\r\n * Represents a group of menu items.\r\n */\r\n@Component({\r\n selector: 'b-menu-group',\r\n imports: [],\r\n template: `<ng-content />`,\r\n hostDirectives: [CdkMenuGroup],\r\n})\r\nexport class MenuGroupComponent {}\r\n","import { CdkMenuItemCheckbox } from '@angular/cdk/menu';\r\nimport { Component } from '@angular/core';\r\n\r\n/**\r\n * Represents a checkbox menu item.\r\n */\r\n@Component({\r\n selector: 'button[b-menu-item-checkbox]',\r\n imports: [],\r\n template: `<ng-content />`,\r\n hostDirectives: [\r\n {\r\n directive: CdkMenuItemCheckbox,\r\n inputs: [\r\n 'cdkMenuItemDisabled: disabled',\r\n 'cdkMenuitemTypeaheadLabel: typeaheadLabel',\r\n 'cdkMenuItemChecked: active',\r\n ],\r\n outputs: ['cdkMenuItemTriggered: triggered'],\r\n },\r\n ],\r\n})\r\nexport class MenuItemCheckboxComponent {}\r\n","import { CdkMenuItemRadio } from '@angular/cdk/menu';\r\nimport { Component } from '@angular/core';\r\n\r\n/**\r\n * Represents a radio menu item.\r\n */\r\n@Component({\r\n selector: 'button[b-menu-item-radio]',\r\n imports: [],\r\n template: `<ng-content />`,\r\n hostDirectives: [\r\n {\r\n directive: CdkMenuItemRadio,\r\n inputs: [\r\n 'cdkMenuItemDisabled: disabled',\r\n 'cdkMenuitemTypeaheadLabel: typeaheadLabel',\r\n 'cdkMenuItemChecked: active',\r\n ],\r\n outputs: ['cdkMenuItemTriggered: triggered'],\r\n },\r\n ],\r\n})\r\nexport class MenuItemRadioComponent {}\r\n","import { CdkMenuTrigger } from '@angular/cdk/menu';\r\nimport { Directive, inject, input, OnInit } from '@angular/core';\r\nimport { ConnectedPosition } from '@angular/cdk/overlay';\r\nimport { Position } from '../../../../../shared/types/position.type';\r\n\r\n@Directive({\r\n selector: '[menuTriggerFor]',\r\n hostDirectives: [\r\n {\r\n directive: CdkMenuTrigger,\r\n inputs: ['cdkMenuTriggerFor: menuTriggerFor'],\r\n },\r\n ],\r\n})\r\nexport class MenuTrigger implements OnInit {\r\n trigger = inject(CdkMenuTrigger);\r\n readonly menuTriggerPosition = input<Position>('right-top');\r\n readonly submenu = input(false);\r\n\r\n ngOnInit(): void {\r\n this.setPosition();\r\n }\r\n\r\n setPosition(): void {\r\n const positionMap: Record<Position, ConnectedPosition> = {\r\n 'top-left': {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n offsetY: !this.submenu() ? -5 : undefined,\r\n },\r\n 'top-center': {\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'bottom',\r\n offsetY: !this.submenu() ? -5 : undefined,\r\n },\r\n 'top-right': {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'bottom',\r\n offsetY: !this.submenu() ? -5 : undefined,\r\n },\r\n 'bottom-left': {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n offsetY: !this.submenu() ? 5 : undefined,\r\n },\r\n 'bottom-center': {\r\n originX: 'center',\r\n originY: 'bottom',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n offsetY: !this.submenu() ? 5 : undefined,\r\n },\r\n 'bottom-right': {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n offsetY: !this.submenu() ? 5 : undefined,\r\n },\r\n 'left-top': {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n offsetX: !this.submenu() ? -5 : undefined,\r\n },\r\n 'left-center': {\r\n originX: 'start',\r\n originY: 'center',\r\n overlayX: 'end',\r\n overlayY: 'center',\r\n offsetX: !this.submenu() ? -5 : undefined,\r\n },\r\n 'left-bottom': {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'end',\r\n overlayY: 'bottom',\r\n offsetX: !this.submenu() ? -5 : undefined,\r\n },\r\n 'right-top': {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n offsetX: !this.submenu() ? 5 : undefined,\r\n },\r\n 'right-center': {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'center',\r\n offsetX: !this.submenu() ? 5 : undefined,\r\n },\r\n 'right-bottom': {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n offsetX: !this.submenu() ? 5 : undefined,\r\n },\r\n };\r\n\r\n const connectedPosition = positionMap[this.menuTriggerPosition()];\r\n this.trigger.menuPosition = [connectedPosition];\r\n }\r\n}\r\n","import { Component, computed, input, output } from '@angular/core';\r\nimport { Icon } from '../icon/icon.component';\r\n\r\n@Component({\r\n selector: 'b-alert',\r\n templateUrl: './alert.component.html',\r\n imports: [Icon],\r\n host: {\r\n '[class]': 'type()',\r\n '[style.max-width]': 'maxWidth()',\r\n },\r\n})\r\nexport class Alert {\r\n /** The type of the alert. */\r\n readonly type = input<'success' | 'error' | 'warning' | 'info'>('info');\r\n\r\n /** The title of the alert. */\r\n readonly title = input<string | null>(null);\r\n\r\n /** The icon of the alert. */\r\n readonly icon = input<string | null>(null);\r\n\r\n /** Whether the alert is dismissible. */\r\n readonly dismissible = input(false);\r\n\r\n /** Event emitted when the alert is dismissed. */\r\n readonly dismissed = output<void>();\r\n\r\n /** The maximum width of the alert. */\r\n readonly maxWidth = input<string | null>(null);\r\n\r\n /** The color foreground of the alert. */\r\n readonly colorForeground = computed(() => {\r\n return this.type() === 'info'\r\n ? 'var(--secondary-foreground)'\r\n : `var(--${this.type()}-foreground)`;\r\n });\r\n\r\n dismiss(): void {\r\n this.dismissed.emit();\r\n }\r\n}\r\n","@if (icon()) {\r\n <div class=\"icon\">\r\n <i b-icon [icon]=\"icon()!\" [size]=\"20\" [color]=\"colorForeground()\"></i>\r\n </div>\r\n}\r\n<div class=\"content\">\r\n @if (title()) {\r\n <div class=\"title\">\r\n {{ title() }}\r\n </div>\r\n }\r\n\r\n <div class=\"body\">\r\n <ng-content />\r\n </div>\r\n</div>\r\n@if (dismissible()) {\r\n <button class=\"close-btn\" (click)=\"dismiss()\">\r\n <i b-icon icon=\"X\" [size]=\"20\" [color]=\"colorForeground()\"></i>\r\n </button>\r\n}\r\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\r\nimport { CdkListbox, CdkOption } from '@angular/cdk/listbox';\r\nimport {\r\n Component,\r\n computed,\r\n contentChildren,\r\n inject,\r\n OnInit,\r\n output,\r\n signal,\r\n} from '@angular/core';\r\n\r\n/**\r\n * Component representing a list of command options.\r\n * It uses Angular CDK's listbox and option utilities for accessibility and keyboard navigation.\r\n */\r\n@Component({\r\n selector: 'ul[b-command-options]',\r\n imports: [],\r\n template: `<ng-content />`,\r\n hostDirectives: [\r\n {\r\n directive: CdkListbox,\r\n outputs: ['cdkListboxValueChange'],\r\n },\r\n ],\r\n host: {\r\n '(cdkListboxValueChange)': 'selectOption($event.value)',\r\n '(keydown.enter)': 'closeEmitter.emit()',\r\n },\r\n})\r\nexport class CommandOptionsComponent implements OnInit {\r\n /**\r\n * Collection of child options within the listbox.\r\n */\r\n readonly options = contentChildren(CdkOption);\r\n\r\n /**\r\n * Key manager for handling keyboard navigation and active descendant management.\r\n */\r\n readonly listKeyManager = computed(() =>\r\n new ActiveDescendantKeyManager(this.options())\r\n .withWrap()\r\n .withVerticalOrientation()\r\n );\r\n\r\n /**\r\n * Signal representing the currently selected values.\r\n */\r\n readonly value = signal<string[]>([]);\r\n\r\n /**\r\n * Signal representing the currently highlighted option.\r\n */\r\n readonly highlightedOption = signal('1');\r\n\r\n /**\r\n * Reference to the injected CDK Listbox instance.\r\n */\r\n cdkListbox = inject(CdkListbox);\r\n\r\n /**\r\n * Emitter for closing the command options.\r\n */\r\n closeEmitter = output();\r\n\r\n /**\r\n * Lifecycle hook that initializes the component.\r\n * Enables the use of active descendant for the listbox.\r\n */\r\n ngOnInit(): void {\r\n this.cdkListbox.useActiveDescendant = true;\r\n }\r\n\r\n /**\r\n * Selects the currently active option and updates the listbox value.\r\n */\r\n selectOption(value?: string[]): void {\r\n const selectValue = value\r\n ? value\r\n : (this.listKeyManager().activeItem?.value ?? []);\r\n this.value.set(selectValue);\r\n this.cdkListbox.value = this.value();\r\n this.closeEmitter.emit();\r\n }\r\n\r\n /**\r\n * Moves the active item to the next option and updates the highlighted option.\r\n */\r\n nextOption(): void {\r\n this.listKeyManager().setNextItemActive();\r\n this.highlightedOption.set(this.listKeyManager().activeItem?.value ?? '');\r\n this.updateHighlightedOption();\r\n }\r\n\r\n /**\r\n * Moves the active item to the previous option and updates the highlighted option.\r\n */\r\n previousOption(): void {\r\n this.listKeyManager().setPreviousItemActive();\r\n this.highlightedOption.set(this.listKeyManager().activeItem?.value ?? '');\r\n this.updateHighlightedOption();\r\n }\r\n\r\n /**\r\n * Updates the CSS class of options to reflect the currently highlighted option.\r\n */\r\n updateHighlightedOption(): void {\r\n this.options().forEach(option => {\r\n if (option.value === this.highlightedOption()) {\r\n option.element.classList.add('cdk-option-highlighted');\r\n } else {\r\n option.element.classList.remove('cdk-option-highlighted');\r\n }\r\n });\r\n }\r\n}\r\n","import {\r\n Component,\r\n computed,\r\n contentChild,\r\n ElementRef,\r\n inject,\r\n input,\r\n signal,\r\n} from '@angular/core';\r\nimport { Input } from '../input/input.component';\r\nimport { CdkTrapFocus } from '@angular/cdk/a11y';\r\nimport { CommandOptionsComponent } from './command-options.component';\r\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\r\n\r\n/**\r\n * Component representing a command input with associated options.\r\n * It provides keyboard navigation and focus trapping for accessibility.\r\n */\r\n@Component({\r\n selector: 'b-command',\r\n imports: [Input, CdkTrapFocus],\r\n template: `<input\r\n type=\"text\"\r\n b-input\r\n cdkTrapFocus\r\n [cdkTrapFocusAutoCapture]=\"isDesktop()\"\r\n #trappedInput\r\n (keydown.arrowDown)=\"commandOptions()?.nextOption()\"\r\n (keydown.arrowUp)=\"commandOptions()?.previousOption()\"\r\n (keydown.enter)=\"commandOptions()?.selectOption()\"\r\n (blur)=\"isDesktop() && trappedInput.el.nativeElement.focus()\" />\r\n <ng-content />`,\r\n host: {\r\n '[style.maxHeight]': 'maxHeight()',\r\n },\r\n})\r\nexport class CommandComponent {\r\n /**\r\n * Reference to the child `CommandOptionsComponent` if present.\r\n * Used to interact with the options for navigation and selection.\r\n */\r\n readonly commandOptions = contentChild(CommandOptionsComponent);\r\n\r\n /**\r\n * Input representing the maximum height of the component.\r\n * This can be used to control the visual appearance of the command component.\r\n */\r\n readonly maxHeight = input('300px');\r\n\r\n /**\r\n * Computed signal representing the selected value from the command options.\r\n * This is linked to the value of the `CommandOptionsComponent`.\r\n */\r\n readonly value = computed(() => this.commandOptions()?.value());\r\n\r\n /**\r\n * Computed signal representing the options available in the command options.\r\n * This is linked to the options of the `CommandOptionsComponent`.\r\n */\r\n readonly options = computed(() => this.commandOptions()?.options());\r\n\r\n /**\r\n * Reference to the BreakpointObserver service for responsive design.\r\n */\r\n breakpointObserver = inject(BreakpointObserver);\r\n\r\n /**\r\n * Signal representing whether the current viewport is desktop or not.\r\n * This is determined by checking if the Handset breakpoint is matched.\r\n */\r\n readonly isDesktop = signal(\r\n !this.breakpointObserver.isMatched(Breakpoints.Handset)\r\n );\r\n\r\n /**\r\n * Reference to the host element of the component.\r\n * This provides access to the DOM element of the command component.\r\n */\r\n el = inject(ElementRef);\r\n}\r\n","import {\r\n Component,\r\n computed,\r\n contentChild,\r\n HostListener,\r\n input,\r\n linkedSignal,\r\n model,\r\n OnInit,\r\n signal,\r\n viewChild,\r\n} from '@angular/core';\r\nimport { Button } from '../button/button.component';\r\nimport { Icon } from '../icon/icon.component';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { forwardRef } from '@angular/core';\r\nimport { CommandComponent } from '../command/command.component';\r\nimport { OverlayTriggerDirective } from '../../directives/overlay-trigger.directive';\r\nimport { OverlayDirective } from '../../directives/overlay.directive';\r\n\r\n/**\r\n * Component representing a combobox dropdown.\r\n * This component provides a button to toggle the dropdown and displays the selected option(s) with an input field.\r\n */\r\n@Component({\r\n selector: 'b-combobox',\r\n imports: [Button, Icon, OverlayTriggerDirective, OverlayDirective],\r\n template: ` <button\r\n b-button\r\n variant=\"outlined\"\r\n (click)=\"isOpen.set(!isOpen())\"\r\n (keydown.arrowUp)=\"!isOpen() && isOpen.set(true)\"\r\n (keydown.arrowDown)=\"!isOpen() && isOpen.set(true)\"\r\n [activeEnabled]=\"false\"\r\n bOverlayTrigger\r\n #trigger=\"bOverlayTrigger\">\r\n {{ content() }}\r\n <i b-icon icon=\"ChevronDown\" [size]=\"16\"></i>\r\n </button>\r\n <ng-template\r\n bOverlay\r\n [trigger]=\"trigger\"\r\n [open]=\"isOpen()\"\r\n [minWidth]=\"buttonWidth()\"\r\n [positions]=\"['bottom-left', 'bottom-right', 'top-left', 'top-right']\"\r\n [closeDelay]=\"closeDelay()\"\r\n (attach)=\"onOverlayAttached()\"\r\n (outsideClick)=\"isOpen.set(false)\"\r\n (detach)=\"isOpen.set(false)\">\r\n <ng-content />\r\n </ng-template>`,\r\n host: {\r\n '[class.disabled]': 'disabled()',\r\n },\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => ComboboxComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class ComboboxComponent implements OnInit, ControlValueAccessor {\r\n /**\r\n * Placeholder text displayed when no option is selected.\r\n * Defaults to 'Select an option'.\r\n */\r\n readonly placeholder = input<string>('Select an option');\r\n\r\n /**\r\n * Signal indicating whether the dropdown is currently open.\r\n */\r\n readonly isOpen = signal(false);\r\n\r\n /**\r\n * Reference to the button element used to toggle the dropdown.\r\n * This is used for managing focus and interactions.\r\n */\r\n readonly button = viewChild(Button);\r\n\r\n /**\r\n * Reference to the content component of the dropdown.\r\n * This contains the list of selectable options.\r\n */\r\n readonly command = contentChild(CommandComponent);\r\n\r\n /**\r\n * Computed signal representing the selected values from the dropdown.\r\n * This is linked to the value of the `CommandComponent`.\r\n */\r\n readonly value = linkedSignal(() => this.command()?.value());\r\n\r\n /**\r\n * Linked signal for the width of the button element.\r\n * This is used to set the width of the dropdown overlay.\r\n */\r\n readonly buttonWidth = linkedSignal(\r\n () => this.button()?.el.nativeElement.offsetWidth\r\n );\r\n\r\n /**\r\n * Model indicating whether the combobox component is disabled.\r\n * When disabled, the dropdown cannot be opened or interacted with.\r\n */\r\n readonly disabled = model(false);\r\n\r\n /**\r\n * Computed signal representing the options available in the dropdown.\r\n * This retrieves the options from the `CommandComponent`.\r\n */\r\n readonly options = computed(() => this.command()?.options());\r\n\r\n /**\r\n * Computed signal representing the content of the selected option(s).\r\n * If no option is selected, it returns the placeholder text.\r\n */\r\n readonly content = computed(() => {\r\n const selected = this.value();\r\n if (selected && selected.length > 0) {\r\n return this.options()?.reduce((acc, option) => {\r\n if (selected.includes(option.value)) {\r\n return acc ? acc + ', ' + option.getLabel() : option.getLabel();\r\n }\r\n return acc;\r\n }, '');\r\n } else {\r\n return this.placeholder();\r\n }\r\n });\r\n\r\n /**\r\n * Signal representing the delay before closing the dropdown.\r\n * This is used to provide a smooth transition when closing the dropdown.\r\n */\r\n readonly closeDelay = signal(150);\r\n\r\n /**\r\n * Lifecycle hook that is called after the component is initialized.\r\n * It sets up the necessary subscriptions for handling value changes.\r\n */\r\n ngOnInit(): void {\r\n this.handleSelectedValueChange();\r\n }\r\n\r\n /**\r\n * Subscribes to the `closeEmitter` of the `CommandComponent` to handle\r\n * changes to the selected value. This ensures the dropdown closes and the\r\n * value is propagated to Angular Forms.\r\n */\r\n handleSelectedValueChange() {\r\n this.command()\r\n ?.commandOptions()\r\n ?.closeEmitter.subscribe(() => {\r\n this.onChange(this.value()!);\r\n this.onTouched();\r\n this.isOpen.set(false);\r\n });\r\n }\r\n\r\n /**\r\n * Focuses the input element within the command component when the overlay is attached.\r\n */\r\n onOverlayAttached() {\r\n this.buttonWidth.set(this.button()?.el.nativeElement.offsetWidth);\r\n this.command()?.el.nativeElement.querySelector('input')?.focus();\r\n }\r\n\r\n /**\r\n * Sets the width of the button element when the window is resized.\r\n * This ensures that the dropdown overlay matches the width of the button.\r\n */\r\n @HostListener('window:resize')\r\n setButtonWidth() {\r\n this.buttonWidth.set(this.button()?.el.nativeElement.offsetWidth);\r\n }\r\n\r\n // Control Value Accessor methods\r\n\r\n /**\r\n * Callback function to propagate changes to the model.\r\n * This is called whenever the value changes.\r\n */\r\n private onChange: (value: string[]) => void = () => undefined;\r\n\r\n /**\r\n * Callback function to mark the component as touched.\r\n * This is called when the component loses focus.\r\n */\r\n private onTouched: () => void = () => undefined;\r\n\r\n /**\r\n * Writes a new value to the component.\r\n * This method is called by Angular Forms to update the value of the combobox component.\r\n * @param value - The new value to set.\r\n */\r\n writeValue(value: string[]): void {\r\n if (value) {\r\n value.forEach(value => {\r\n this.command()?.commandOptions()?.cdkListbox?.selectValue(value);\r\n });\r\n this.value.set(value);\r\n }\r\n }\r\n\r\n /**\r\n * Registers a callback function to be called when the value changes.\r\n * @param fn - The callback function.\r\n */\r\n registerOnChange(fn: (value: string[]) => void): void {\r\n this.onChange = fn;\r\n }\r\n\r\n /**\r\n * Registers a callback function to be called when the component is touched.\r\n * @param fn - The callback function.\r\n */\r\n registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n /**\r\n * Sets the disabled state of the component.\r\n * This method is called by Angular Forms to enable or disable the component.\r\n * @param isDisabled - A boolean indicating whether the component should be disabled.\r\n */\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled.set(isDisabled);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'b-input-group',\r\n template: `<ng-content />`,\r\n})\r\nexport class InputGroupComponent {}\r\n","/*\r\n * Public API Surface of basis-ng\r\n */\r\n\r\n/* Theme Service */\r\nexport * from './core/services/theme.service';\r\n\r\n/* Button */\r\nexport * from './core/components/button/button.component';\r\nexport * from './core/components/button-group/button-group.component';\r\n\r\n/* Directives */\r\nexport * from './shared/directives/lazy-content.directive';\r\n\r\n/* Input */\r\nexport * from './core/components/input/input.component';\r\n\r\n/* Select */\r\nexport * from './core/components/select/select.component';\r\nexport * from './core/components/select/select-options.component';\r\nexport * from './shared/components/option.component';\r\n\r\n/* Spinner */\r\nexport * from './core/components/spinner/spinner.component';\r\n\r\n/* Switch */\r\nexport * from './core/components/switch/switch.component';\r\n\r\n/* Table */\r\nexport * from './core/components/table/table.component';\r\nexport * from './core/components/table/components/row/row.component';\r\nexport * from './core/components/table/components/row/components/row-item/row-item.component';\r\n\r\n/* Tabs */\r\nexport * from './core/components/tabs/tabs.component';\r\nexport * from './core/components/tabs/tab.component';\r\n\r\n/* InViewport */\r\nexport * from './core/directives/in-viewport.directive';\r\nexport * from './core/services/in-viewport.service';\r\n\r\n/* Side Sheet */\r\nexport * from './core/components/side-sheet/side-sheet.component';\r\n\r\n/* Bottom Sheet */\r\nexport * from './core/components/bottom-sheet/bottom-sheet.component';\r\n\r\n/* Responsive */\r\nexport * from './core/services/responsive.service';\r\n\r\n/* Icon */\r\nexport * from './core/components/icon/icon.component';\r\n\r\n/* Badge */\r\nexport * from './core/components/badge/badge.component';\r\n\r\n/* Checkbox */\r\nexport * from './core/components/checkbox/checkbox.component';\r\n\r\n/* Textarea */\r\nexport * from './core/components/textarea/textarea.component';\r\n\r\n/* Range */\r\nexport * from './core/components/range/range.component';\r\n\r\n/* Badge */\r\nexport * from './core/components/badge/badge.component';\r\n\r\n/* Tooltip */\r\nexport * from './core/components/tooltip/tooltip.directive';\r\n\r\n/* Color Picker */\r\nexport * from './core/components/color-picker/color-picker.component';\r\n\r\n/* Tree */\r\nexport * from './core/components/tree/tree.component';\r\nexport * from './core/components/tree/shared/components/tree-node/tree-node.component';\r\n\r\n/* Menu */\r\nexport * from './core/components/menu/menu.component';\r\nexport * from './core/components/menu/shared/components/menu-label/menu-label.component';\r\nexport * from './core/components/menu/shared/components/menu-item/menu-item.component';\r\nexport * from './core/components/menu/shared/components/menu-group/menu-group.component';\r\nexport * from './core/components/menu/shared/components/menu-item-checkbox/menu-item-checkbox.component';\r\nexport * from './core/components/menu/shared/components/menu-item-radio/menu-item-radio.component';\r\nexport * from './core/components/menu/shared/directives/menu-trigger.directive';\r\n\r\n/* Alert */\r\nexport * from './core/components/alert/alert.component';\r\n\r\n/* Types */\r\n\r\n/* Position */\r\nexport * from './shared/types/position.type';\r\n\r\n/* Command */\r\nexport * from './core/components/command/command.component';\r\nexport * from './core/components/command/command-options.component';\r\n\r\n/* Combobox */\r\nexport * from './core/components/combobox/combobox.component';\r\n\r\n/* Overlay */\r\nexport * from './core/directives/overlay-trigger.directive';\r\nexport * from './core/directives/overlay.directive';\r\n\r\n/* Input Group */\r\nexport * from './core/components/input-group/input-group.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
|
@@ -22,7 +22,6 @@ export * from './core/components/icon/icon.component';
|
|
|
22
22
|
export * from './core/components/badge/badge.component';
|
|
23
23
|
export * from './core/components/checkbox/checkbox.component';
|
|
24
24
|
export * from './core/components/textarea/textarea.component';
|
|
25
|
-
export * from './core/components/input-group/input-group.component';
|
|
26
25
|
export * from './core/components/range/range.component';
|
|
27
26
|
export * from './core/components/badge/badge.component';
|
|
28
27
|
export * from './core/components/tooltip/tooltip.directive';
|
|
@@ -43,3 +42,4 @@ export * from './core/components/command/command-options.component';
|
|
|
43
42
|
export * from './core/components/combobox/combobox.component';
|
|
44
43
|
export * from './core/directives/overlay-trigger.directive';
|
|
45
44
|
export * from './core/directives/overlay.directive';
|
|
45
|
+
export * from './core/components/input-group/input-group.component';
|