@spartan-ng/brain 0.0.1-alpha.519 → 0.0.1-alpha.520
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/lib/brn-accordion.d.ts +3 -3
- package/alert-dialog/lib/brn-alert-dialog.d.ts +1 -1
- package/autocomplete/lib/brn-autocomplete-item.d.ts +2 -2
- package/autocomplete/lib/brn-autocomplete-item.token.d.ts +2 -2
- package/autocomplete/lib/brn-autocomplete-search-input.token.d.ts +1 -1
- package/autocomplete/lib/brn-autocomplete.d.ts +1 -1
- package/autocomplete/lib/brn-autocomplete.token.d.ts +1 -1
- package/avatar/lib/image/brn-avatar-image.d.ts +1 -1
- package/button/lib/brn-button.d.ts +1 -1
- package/calendar/lib/brn-calendar-week.d.ts +1 -1
- package/calendar/lib/brn-calendar-weekday.d.ts +1 -1
- package/calendar/lib/brn-calendar.d.ts +3 -3
- package/calendar/lib/brn-calendar.token.d.ts +2 -2
- package/calendar/lib/i18n/calendar-i18n.d.ts +1 -1
- package/calendar/lib/mode/brn-calendar-multiple.d.ts +3 -3
- package/calendar/lib/mode/brn-calendar-range.d.ts +3 -3
- package/checkbox/lib/brn-checkbox.d.ts +3 -3
- package/collapsible/lib/brn-collapsible-content.d.ts +1 -1
- package/collapsible/lib/brn-collapsible.d.ts +1 -1
- package/command/lib/brn-command-item.d.ts +4 -4
- package/command/lib/brn-command-item.token.d.ts +1 -1
- package/command/lib/brn-command-search-input.token.d.ts +1 -1
- package/command/lib/brn-command.d.ts +2 -2
- package/command/lib/brn-command.token.d.ts +1 -1
- package/date-time/lib/date-adapter.d.ts +1 -1
- package/date-time-luxon/lib/date-adapter.d.ts +1 -1
- package/dialog/lib/brn-dialog-ref.d.ts +1 -1
- package/dialog/lib/brn-dialog-token.d.ts +2 -2
- package/dialog/lib/brn-dialog.d.ts +2 -2
- package/fesm2022/spartan-ng-brain-accordion.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-alert-dialog.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-autocomplete.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-avatar.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-button.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-calendar.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-checkbox.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-collapsible.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-command.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-date-time-luxon.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-date-time.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-dialog.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-forms.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-hover-card.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-input-group.mjs +37 -0
- package/fesm2022/spartan-ng-brain-input-group.mjs.map +1 -0
- package/fesm2022/spartan-ng-brain-input-otp.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-menu.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-popover.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-progress.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-radio-group.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-select.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-separator.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-slider.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-switch.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-tabs.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-toggle-group.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-toggle.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-tooltip.mjs.map +1 -1
- package/forms/lib/error-options.d.ts +1 -1
- package/hlm-tailwind-preset.js +10 -0
- package/hover-card/lib/brn-hover-card-content.service.d.ts +1 -1
- package/hover-card/lib/createHoverObservable.d.ts +1 -1
- package/input-group/README.md +3 -0
- package/input-group/index.d.ts +3 -0
- package/input-group/lib/brn-affixes.d.ts +14 -0
- package/input-otp/lib/brn-input-otp-slot.d.ts +1 -1
- package/input-otp/lib/brn-input-otp.d.ts +3 -3
- package/input-otp/lib/brn-input-otp.token.d.ts +2 -2
- package/menu/lib/brn-context-menu-trigger.d.ts +1 -1
- package/menu/lib/brn-menu-align.d.ts +1 -1
- package/menu/lib/brn-menu-trigger.d.ts +1 -1
- package/package.json +5 -1
- package/popover/lib/brn-popover.d.ts +1 -1
- package/progress/lib/brn-progress.d.ts +2 -2
- package/progress/lib/brn-progress.token.d.ts +1 -1
- package/radio-group/lib/brn-radio-group.d.ts +3 -3
- package/radio-group/lib/brn-radio-group.token.d.ts +1 -1
- package/radio-group/lib/brn-radio.d.ts +1 -1
- package/select/lib/brn-select-content.d.ts +1 -1
- package/select/lib/brn-select-content.token.d.ts +1 -1
- package/select/lib/brn-select-option.d.ts +1 -1
- package/select/lib/brn-select-trigger.d.ts +1 -1
- package/select/lib/brn-select.d.ts +3 -3
- package/select/lib/brn-select.token.d.ts +1 -1
- package/separator/lib/brn-separator.d.ts +1 -1
- package/slider/lib/brn-slider-tick.d.ts +1 -1
- package/slider/lib/brn-slider-track.token.d.ts +1 -1
- package/slider/lib/brn-slider.d.ts +4 -4
- package/slider/lib/brn-slider.token.d.ts +1 -1
- package/switch/lib/brn-switch.d.ts +3 -3
- package/tabs/lib/brn-tabs-content.d.ts +1 -1
- package/tabs/lib/brn-tabs-list.d.ts +1 -1
- package/tabs/lib/brn-tabs-paginated-list.d.ts +2 -2
- package/tabs/lib/brn-tabs-trigger.d.ts +2 -2
- package/tabs/lib/brn-tabs.d.ts +2 -2
- package/toggle/lib/brn-toggle.d.ts +1 -1
- package/toggle-group/lib/brn-toggle-group.d.ts +2 -2
- package/toggle-group/lib/brn-toggle-group.token.d.ts +1 -1
- package/toggle-group/lib/brn-toggle-item.d.ts +1 -1
- package/tooltip/lib/brn-tooltip.token.d.ts +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { FocusableOption } from '@angular/cdk/a11y';
|
|
2
|
-
import { BooleanInput } from '@angular/cdk/coercion';
|
|
1
|
+
import { type FocusableOption } from '@angular/cdk/a11y';
|
|
2
|
+
import { type BooleanInput } from '@angular/cdk/coercion';
|
|
3
3
|
import { type AfterContentInit, type OnDestroy } from '@angular/core';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class BrnAccordionItem {
|
|
@@ -38,7 +38,7 @@ export declare class BrnAccordion implements AfterContentInit, OnDestroy {
|
|
|
38
38
|
private readonly _openItemIds;
|
|
39
39
|
readonly openItemIds: import("@angular/core").Signal<number[]>;
|
|
40
40
|
readonly state: import("@angular/core").Signal<"open" | "closed">;
|
|
41
|
-
triggers: import("@angular/core").Signal<readonly BrnAccordionTrigger[]>;
|
|
41
|
+
readonly triggers: import("@angular/core").Signal<readonly BrnAccordionTrigger[]>;
|
|
42
42
|
/**
|
|
43
43
|
* Whether the accordion is in single or multiple mode.
|
|
44
44
|
* @default 'single'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BrnDialog, BrnDialogDefaultOptions } from '@spartan-ng/brain/dialog';
|
|
1
|
+
import { BrnDialog, type BrnDialogDefaultOptions } from '@spartan-ng/brain/dialog';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare const BRN_ALERT_DIALOG_DEFAULT_OPTIONS: Partial<BrnDialogDefaultOptions>;
|
|
4
4
|
export declare class BrnAlertDialog extends BrnDialog {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Highlightable } from '@angular/cdk/a11y';
|
|
2
|
-
import { BooleanInput } from '@angular/cdk/coercion';
|
|
1
|
+
import type { Highlightable } from '@angular/cdk/a11y';
|
|
2
|
+
import type { BooleanInput } from '@angular/cdk/coercion';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class BrnAutocompleteItem<T> implements Highlightable {
|
|
5
5
|
private static _id;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ExistingProvider, InjectionToken, Type } from '@angular/core';
|
|
2
|
-
import { BrnAutocompleteItem } from './brn-autocomplete-item';
|
|
1
|
+
import { type ExistingProvider, InjectionToken, type Type } from '@angular/core';
|
|
2
|
+
import type { BrnAutocompleteItem } from './brn-autocomplete-item';
|
|
3
3
|
export declare const BrnAutocompleteItemToken: InjectionToken<BrnAutocompleteItem<unknown>>;
|
|
4
4
|
export declare function provideBrnAutocompleteItem<T>(autocomplete: Type<BrnAutocompleteItem<T>>): ExistingProvider;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ExistingProvider, InjectionToken, Type } from '@angular/core';
|
|
1
|
+
import { type ExistingProvider, InjectionToken, type Type } from '@angular/core';
|
|
2
2
|
import type { BrnAutocompleteSearchInput } from './brn-autocomplete-search-input';
|
|
3
3
|
export declare const BrnAutocompleteSearchInputToken: InjectionToken<BrnAutocompleteSearchInput>;
|
|
4
4
|
export declare function provideBrnAutocompleteSearchInput(autocomplete: Type<BrnAutocompleteSearchInput>): ExistingProvider;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';
|
|
2
|
-
import { BrnAutocompleteItem } from './brn-autocomplete-item';
|
|
2
|
+
import type { BrnAutocompleteItem } from './brn-autocomplete-item';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class BrnAutocomplete<T> {
|
|
5
5
|
private static _id;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ExistingProvider, InjectionToken, Type } from '@angular/core';
|
|
1
|
+
import { type ExistingProvider, InjectionToken, type Type } from '@angular/core';
|
|
2
2
|
import type { BrnAutocomplete } from './brn-autocomplete';
|
|
3
3
|
export declare const BrnAutocompleteToken: InjectionToken<BrnAutocomplete<unknown>>;
|
|
4
4
|
export declare function provideBrnAutocomplete<T>(autocomplete: Type<BrnAutocomplete<T>>): ExistingProvider;
|
|
@@ -3,7 +3,7 @@ export declare class BrnAvatarImage {
|
|
|
3
3
|
private readonly _loaded;
|
|
4
4
|
protected _onError(): void;
|
|
5
5
|
protected _onLoad(): void;
|
|
6
|
-
canShow: import("@angular/core").Signal<boolean>;
|
|
6
|
+
readonly canShow: import("@angular/core").Signal<boolean>;
|
|
7
7
|
static ɵfac: i0.ɵɵFactoryDeclaration<BrnAvatarImage, never>;
|
|
8
8
|
static ɵdir: i0.ɵɵDirectiveDeclaration<BrnAvatarImage, "img[brnAvatarImage]", ["avatarImage"], {}, {}, never, never, true, never>;
|
|
9
9
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BooleanInput } from '@angular/cdk/coercion';
|
|
1
|
+
import type { BooleanInput } from '@angular/cdk/coercion';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare class BrnButton {
|
|
4
4
|
readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, BooleanInput>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { BooleanInput, NumberInput } from '@angular/cdk/coercion';
|
|
1
|
+
import type { BooleanInput, NumberInput } from '@angular/cdk/coercion';
|
|
2
2
|
import { BrnCalendarCellButton } from './brn-calendar-cell-button';
|
|
3
3
|
import { BrnCalendarHeader } from './brn-calendar-header';
|
|
4
|
-
import { BrnCalendarBase } from './brn-calendar.token';
|
|
5
|
-
import { Weekday } from './i18n/calendar-i18n';
|
|
4
|
+
import { type BrnCalendarBase } from './brn-calendar.token';
|
|
5
|
+
import { type Weekday } from './i18n/calendar-i18n';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export declare class BrnCalendar<T> implements BrnCalendarBase<T> {
|
|
8
8
|
private readonly _i18n;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ExistingProvider, InjectionToken, Signal, Type, WritableSignal } from '@angular/core';
|
|
2
|
-
import { BrnCalendarHeader } from './brn-calendar-header';
|
|
1
|
+
import { type ExistingProvider, InjectionToken, type Signal, type Type, type WritableSignal } from '@angular/core';
|
|
2
|
+
import type { BrnCalendarHeader } from './brn-calendar-header';
|
|
3
3
|
export interface BrnCalendarBase<T> {
|
|
4
4
|
isSelected: (date: T) => boolean;
|
|
5
5
|
selectDate: (date: T) => void;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { BooleanInput, NumberInput } from '@angular/cdk/coercion';
|
|
1
|
+
import type { BooleanInput, NumberInput } from '@angular/cdk/coercion';
|
|
2
2
|
import { BrnCalendarCellButton } from '../brn-calendar-cell-button';
|
|
3
3
|
import { BrnCalendarHeader } from '../brn-calendar-header';
|
|
4
|
-
import { BrnCalendarBase } from '../brn-calendar.token';
|
|
5
|
-
import { Weekday } from '../i18n/calendar-i18n';
|
|
4
|
+
import { type BrnCalendarBase } from '../brn-calendar.token';
|
|
5
|
+
import { type Weekday } from '../i18n/calendar-i18n';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export declare class BrnCalendarMulti<T> implements BrnCalendarBase<T> {
|
|
8
8
|
private readonly _i18n;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { BooleanInput, NumberInput } from '@angular/cdk/coercion';
|
|
1
|
+
import type { BooleanInput, NumberInput } from '@angular/cdk/coercion';
|
|
2
2
|
import { BrnCalendarCellButton } from '../brn-calendar-cell-button';
|
|
3
3
|
import { BrnCalendarHeader } from '../brn-calendar-header';
|
|
4
|
-
import { BrnCalendarBase } from '../brn-calendar.token';
|
|
5
|
-
import { Weekday } from '../i18n/calendar-i18n';
|
|
4
|
+
import { type BrnCalendarBase } from '../brn-calendar.token';
|
|
5
|
+
import { type Weekday } from '../i18n/calendar-i18n';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export declare class BrnCalendarRange<T> implements BrnCalendarBase<T> {
|
|
8
8
|
private readonly _i18n;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { BooleanInput } from '@angular/cdk/coercion';
|
|
1
|
+
import type { BooleanInput } from '@angular/cdk/coercion';
|
|
2
2
|
import { type AfterContentInit, ElementRef, type OnDestroy } from '@angular/core';
|
|
3
|
-
import { ControlValueAccessor } from '@angular/forms';
|
|
4
|
-
import { ChangeFn, TouchFn } from '@spartan-ng/brain/forms';
|
|
3
|
+
import { type ControlValueAccessor } from '@angular/forms';
|
|
4
|
+
import type { ChangeFn, TouchFn } from '@spartan-ng/brain/forms';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export declare const BRN_CHECKBOX_VALUE_ACCESSOR: {
|
|
7
7
|
provide: import("@angular/core").InjectionToken<readonly ControlValueAccessor[]>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Highlightable } from '@angular/cdk/a11y';
|
|
2
|
-
import { BooleanInput } from '@angular/cdk/coercion';
|
|
3
|
-
import { OnInit } from '@angular/core';
|
|
1
|
+
import type { Highlightable } from '@angular/cdk/a11y';
|
|
2
|
+
import type { BooleanInput } from '@angular/cdk/coercion';
|
|
3
|
+
import { type OnInit } from '@angular/core';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class BrnCommandItem implements Highlightable, OnInit {
|
|
6
6
|
private static _id;
|
|
@@ -27,7 +27,7 @@ export declare class BrnCommandItem implements Highlightable, OnInit {
|
|
|
27
27
|
/** @internal Determine if this item is visible based on the current search query */
|
|
28
28
|
readonly visible: import("@angular/core").Signal<boolean>;
|
|
29
29
|
/** @internal Get the value of the item, with check if it has been initialized to avoid errors */
|
|
30
|
-
safeValue: import("@angular/core").Signal<string>;
|
|
30
|
+
readonly safeValue: import("@angular/core").Signal<string>;
|
|
31
31
|
/** @internal Get the display value */
|
|
32
32
|
getLabel(): string;
|
|
33
33
|
/** @internal */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ExistingProvider, InjectionToken, Type } from '@angular/core';
|
|
1
|
+
import { type ExistingProvider, InjectionToken, type Type } from '@angular/core';
|
|
2
2
|
import type { BrnCommandItem } from './brn-command-item';
|
|
3
3
|
export declare const BrnCommandItemToken: InjectionToken<BrnCommandItem>;
|
|
4
4
|
export declare function provideBrnCommandItem(command: Type<BrnCommandItem>): ExistingProvider;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ExistingProvider, InjectionToken, Type } from '@angular/core';
|
|
1
|
+
import { type ExistingProvider, InjectionToken, type Type } from '@angular/core';
|
|
2
2
|
import type { BrnCommandSearchInput } from './brn-command-search-input';
|
|
3
3
|
export declare const BrnCommandSearchInputToken: InjectionToken<BrnCommandSearchInput>;
|
|
4
4
|
export declare function provideBrnCommandSearchInput(command: Type<BrnCommandSearchInput>): ExistingProvider;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';
|
|
2
|
-
import { AfterViewInit } from '@angular/core';
|
|
3
|
-
import { CommandFilter } from './brn-command.token';
|
|
2
|
+
import { type AfterViewInit } from '@angular/core';
|
|
3
|
+
import { type CommandFilter } from './brn-command.token';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class BrnCommand implements AfterViewInit {
|
|
6
6
|
private static _id;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ExistingProvider, InjectionToken, Type, ValueProvider } from '@angular/core';
|
|
1
|
+
import { type ExistingProvider, InjectionToken, type Type, type ValueProvider } from '@angular/core';
|
|
2
2
|
import type { BrnCommand } from './brn-command';
|
|
3
3
|
export declare const BrnCommandToken: InjectionToken<BrnCommand>;
|
|
4
4
|
export declare function provideBrnCommand(command: Type<BrnCommand>): ExistingProvider;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ClassProvider, InjectionToken, Type } from '@angular/core';
|
|
1
|
+
import { type ClassProvider, InjectionToken, type Type } from '@angular/core';
|
|
2
2
|
/**
|
|
3
3
|
* An abstraction that can be used to create and modify date time objects
|
|
4
4
|
* immutably regardless of the underlying implementation.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BrnDateAdapter, BrnDateUnits, BrnDuration } from '@spartan-ng/brain/date-time';
|
|
1
|
+
import type { BrnDateAdapter, BrnDateUnits, BrnDuration } from '@spartan-ng/brain/date-time';
|
|
2
2
|
import { DateTime } from 'luxon';
|
|
3
3
|
export declare class BrnLuxonDateAdapter implements BrnDateAdapter<DateTime> {
|
|
4
4
|
now(): DateTime<true>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { DialogRef } from '@angular/cdk/dialog';
|
|
2
2
|
import type { Signal, WritableSignal } from '@angular/core';
|
|
3
|
-
import { Observable } from 'rxjs';
|
|
3
|
+
import { type Observable } from 'rxjs';
|
|
4
4
|
import type { BrnDialogOptions } from './brn-dialog-options';
|
|
5
5
|
import type { BrnDialogState } from './brn-dialog-state';
|
|
6
6
|
export declare class BrnDialogRef<DialogResult = any> {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ValueProvider } from '@angular/core';
|
|
2
|
-
import { BrnDialogOptions } from './brn-dialog-options';
|
|
1
|
+
import { type ValueProvider } from '@angular/core';
|
|
2
|
+
import type { BrnDialogOptions } from './brn-dialog-options';
|
|
3
3
|
export interface BrnDialogDefaultOptions {
|
|
4
4
|
/** A connected position as specified by the user. */
|
|
5
5
|
attachPositions: BrnDialogOptions['attachPositions'];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { OverlayPositionBuilder, ScrollStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay';
|
|
1
|
+
import { OverlayPositionBuilder, type ScrollStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay';
|
|
2
2
|
import { type TemplateRef } from '@angular/core';
|
|
3
|
-
import {
|
|
3
|
+
import type { BrnDialogOptions } from './brn-dialog-options';
|
|
4
4
|
import type { BrnDialogState } from './brn-dialog-state';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export declare class BrnDialog {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spartan-ng-brain-accordion.mjs","sources":["../../../../libs/brain/accordion/src/lib/brn-accordion.ts","../../../../libs/brain/accordion/src/lib/brn-accordion-content.ts","../../../../libs/brain/accordion/src/index.ts","../../../../libs/brain/accordion/src/spartan-ng-brain-accordion.ts"],"sourcesContent":["import { FocusableOption, FocusKeyManager, FocusMonitor } from '@angular/cdk/a11y';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n\ttype AfterContentInit,\n\tcomputed,\n\tcontentChildren,\n\tDirective,\n\teffect,\n\tElementRef,\n\tHostListener,\n\tinject,\n\tinput,\n\tisDevMode,\n\ttype OnDestroy,\n\tsignal,\n\tuntracked,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { fromEvent } from 'rxjs';\n\n@Directive({\n\tselector: '[brnAccordionItem]',\n\thost: {\n\t\t'[attr.data-state]': 'state()',\n\t},\n\texportAs: 'brnAccordionItem',\n})\nexport class BrnAccordionItem {\n\tprivate static _itemIdGenerator = 0;\n\tpublic readonly id = ++BrnAccordionItem._itemIdGenerator;\n\tprivate readonly _accordion = inject(BrnAccordion);\n\t/**\n\t * Whether the accordion item is opened or closed.\n\t * @default false\n\t */\n\tpublic readonly isOpened = input<boolean, BooleanInput>(false, { transform: coerceBooleanProperty });\n\tpublic readonly state = computed(() => (this._accordion.openItemIds().includes(this.id) ? 'open' : 'closed'));\n\n\tconstructor() {\n\t\tif (!this._accordion) {\n\t\t\tthrow Error('Accordion item can only be used inside an Accordion. Add brnAccordion to ancestor.');\n\t\t}\n\t\teffect(() => {\n\t\t\tconst isOpened = this.isOpened();\n\t\t\tuntracked(() => {\n\t\t\t\tif (isOpened) {\n\t\t\t\t\tthis._accordion.openItem(this.id);\n\t\t\t\t} else {\n\t\t\t\t\tthis._accordion.closeItem(this.id);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n}\n\n@Directive({\n\tselector: '[brnAccordionTrigger]',\n\thost: {\n\t\t'[attr.data-state]': 'state()',\n\t\t'[attr.aria-expanded]': 'state() === \"open\"',\n\t\t'[attr.aria-controls]': 'ariaControls',\n\t\t'[id]': 'id',\n\t\t'[attr.role]': '\"button\"',\n\t},\n})\nexport class BrnAccordionTrigger implements FocusableOption {\n\tprivate readonly _accordion = inject(BrnAccordion);\n\tprivate readonly _item = inject(BrnAccordionItem);\n\tprivate readonly _el = inject(ElementRef<HTMLElement>);\n\n\tpublic readonly state = this._item.state;\n\tpublic readonly id = `brn-accordion-trigger-${this._item.id}`;\n\tpublic readonly ariaControls = `brn-accordion-content-${this._item.id}`;\n\tconstructor() {\n\t\tif (!this._accordion) throw Error('Accordion trigger requires a parent Accordion.');\n\t\tif (!this._item) throw Error('Accordion trigger requires a parent AccordionItem.');\n\t\tthis.validateAriaStructure();\n\n\t\tfromEvent(this._el.nativeElement, 'focus')\n\t\t\t.pipe(takeUntilDestroyed())\n\t\t\t.subscribe(() => {\n\t\t\t\tthis._accordion.setActiveItem(this);\n\t\t\t});\n\t}\n\n\t@HostListener('click', ['$event'])\n\t@HostListener('keyup.space', ['$event'])\n\t@HostListener('keyup.enter', ['$event'])\n\tprotected toggle(event: Event): void {\n\t\tevent.preventDefault();\n\t\tthis._accordion.toggleItem(this._item.id);\n\t}\n\n\tpublic focus() {\n\t\tthis._el.nativeElement.focus();\n\t}\n\n\tprivate validateAriaStructure(): void {\n\t\tconst element = this._el.nativeElement;\n\n\t\tconst isButton = element.tagName === 'BUTTON';\n\t\tconst hasButtonRole = element.getAttribute('role') === 'button';\n\n\t\tif (!isButton && !hasButtonRole) {\n\t\t\tthrow Error(\n\t\t\t\t`BrnAccordionTrigger: The trigger element must be a <button> or have role=\"button\". ` +\n\t\t\t\t\t`Found: <${element.tagName.toLowerCase()}>`,\n\t\t\t);\n\t\t}\n\n\t\tconst parent = element.parentElement;\n\t\tif (!parent) {\n\t\t\tconst message = 'BrnAccordionTrigger: The trigger button must be wrapped in a heading element.';\n\t\t\tif (isDevMode()) {\n\t\t\t\tthrow Error(message);\n\t\t\t} else {\n\t\t\t\tconsole.warn(message);\n\t\t\t}\n\t\t}\n\n\t\tconst isNativeHeading = /^H[1-6]$/.test(parent.tagName);\n\t\tconst hasHeadingRole = parent.getAttribute('role') === 'heading';\n\n\t\tif (!isNativeHeading && !hasHeadingRole) {\n\t\t\tthrow Error(\n\t\t\t\t`BrnAccordionTrigger: The trigger button must be wrapped in a heading element ` +\n\t\t\t\t\t`(h1-h6) or an element with role=\"heading\". Found parent: <${parent.tagName.toLowerCase()}>`,\n\t\t\t);\n\t\t}\n\n\t\tif (hasHeadingRole && !parent.hasAttribute('aria-level')) {\n\t\t\tthrow Error('BrnAccordionTrigger: Elements with role=\"heading\" must have an aria-level attribute.');\n\t\t}\n\t}\n}\n\nconst HORIZONTAL_KEYS_TO_PREVENT_DEFAULT = [\n\t'ArrowLeft',\n\t'ArrowRight',\n\t'PageDown',\n\t'PageUp',\n\t'Home',\n\t'End',\n\t' ',\n\t'Enter',\n] as const;\n\nconst VERTICAL_KEYS_TO_PREVENT_DEFAULT = [\n\t'ArrowUp',\n\t'ArrowDown',\n\t'PageDown',\n\t'PageUp',\n\t'Home',\n\t'End',\n\t' ',\n\t'Enter',\n] as const;\n\n@Directive({\n\tselector: '[brnAccordion]',\n\thost: {\n\t\t'[attr.data-state]': 'state()',\n\t\t'[attr.data-orientation]': 'orientation()',\n\t},\n\texportAs: 'brnAccordion',\n})\nexport class BrnAccordion implements AfterContentInit, OnDestroy {\n\tprivate readonly _el = inject(ElementRef<HTMLElement>);\n\tprivate readonly _focusMonitor = inject(FocusMonitor);\n\tprivate readonly _keyManager = computed(() =>\n\t\tnew FocusKeyManager<BrnAccordionTrigger>(this.triggers())\n\t\t\t.withHomeAndEnd()\n\t\t\t.withPageUpDown()\n\t\t\t.withWrap()\n\t\t\t.withHorizontalOrientation(this.orientation() === 'vertical' ? null : (this.dir() ?? 'ltr'))\n\t\t\t.withVerticalOrientation(this.orientation() === 'vertical'),\n\t);\n\n\tprivate readonly _focused = signal<boolean>(false);\n\tprivate readonly _openItemIds = signal<number[]>([]);\n\tpublic readonly openItemIds = this._openItemIds.asReadonly();\n\tpublic readonly state = computed(() => (this._openItemIds().length > 0 ? 'open' : 'closed'));\n\n\tpublic triggers = contentChildren(BrnAccordionTrigger, { descendants: true });\n\n\t/**\n\t * Whether the accordion is in single or multiple mode.\n\t * @default 'single'\n\t */\n\tpublic readonly type = input<'single' | 'multiple'>('single');\n\t/**\n\t * The direction of the accordion, either 'ltr' (left-to-right) or 'rtl' (right-to-left).\n\t * @default null\n\t */\n\tpublic readonly dir = input<'ltr' | 'rtl' | null>(null);\n\t/**\n\t * The orientation of the accordion, either 'horizontal' or 'vertical'.\n\t * @default 'vertical'\n\t */\n\tpublic readonly orientation = input<'horizontal' | 'vertical'>('vertical');\n\n\tpublic ngAfterContentInit() {\n\t\tthis._el.nativeElement.addEventListener('keydown', (event: KeyboardEvent) => {\n\t\t\tif (this.shouldIgnoreEvent(event)) return;\n\t\t\tthis._keyManager()?.onKeydown(event);\n\t\t\tthis.preventDefaultEvents(event);\n\t\t});\n\t\tthis._focusMonitor.monitor(this._el, true).subscribe((origin) => this._focused.set(origin !== null));\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._focusMonitor.stopMonitoring(this._el);\n\t}\n\n\tpublic setActiveItem(item: BrnAccordionTrigger) {\n\t\tthis._keyManager()?.setActiveItem(item);\n\t}\n\n\tpublic toggleItem(id: number) {\n\t\tif (this._openItemIds().includes(id)) {\n\t\t\tthis.closeItem(id);\n\t\t\treturn;\n\t\t}\n\t\tthis.openItem(id);\n\t}\n\n\tpublic openItem(id: number) {\n\t\tif (this.type() === 'single') {\n\t\t\tthis._openItemIds.set([id]);\n\t\t\treturn;\n\t\t}\n\t\tthis._openItemIds.update((ids) => (ids.includes(id) ? ids : [...ids, id]));\n\t}\n\n\tpublic closeItem(id: number) {\n\t\tthis._openItemIds.update((ids) => ids.filter((openId) => openId !== id));\n\t}\n\n\tprivate isEditableTarget(el: EventTarget | null): boolean {\n\t\tconst node = el as HTMLElement | null;\n\t\tif (!node) return false;\n\n\t\tconst tag = node.tagName;\n\t\tif (tag === 'INPUT' || tag === 'TEXTAREA' || tag === 'SELECT') return true;\n\t\tif (node.isContentEditable) return true;\n\n\t\tconst role = node.getAttribute?.('role') ?? '';\n\t\tif (/^(textbox|searchbox|combobox|listbox|grid|tree|menu|spinbutton|slider)$/.test(role)) return true;\n\n\t\tconst editableAncestor = node.closest?.(\n\t\t\t'input, textarea, select, [contenteditable=\"\"], [contenteditable=\"true\"], ' +\n\t\t\t\t'[role=\"textbox\"], [role=\"searchbox\"], [role=\"combobox\"], [role=\"listbox\"], ' +\n\t\t\t\t'[role=\"grid\"], [role=\"tree\"], [role=\"menu\"], [role=\"spinbutton\"], [role=\"slider\"]',\n\t\t);\n\t\treturn !!editableAncestor;\n\t}\n\n\tprivate shouldIgnoreEvent(e: KeyboardEvent): boolean {\n\t\tif (e.defaultPrevented) return true; // another handler already acted\n\t\tif (e.ctrlKey || e.metaKey || e.altKey) return true; // let shortcuts through\n\t\treturn this.isEditableTarget(e.target); // don't steal from editable/ARIA widgets\n\t}\n\n\tprivate preventDefaultEvents(event: KeyboardEvent) {\n\t\tif (event.defaultPrevented) return;\n\t\tif (!this._focused()) return;\n\t\tif (!('key' in event)) return;\n\n\t\tconst keys: readonly string[] =\n\t\t\tthis.orientation() === 'horizontal' ? HORIZONTAL_KEYS_TO_PREVENT_DEFAULT : VERTICAL_KEYS_TO_PREVENT_DEFAULT;\n\n\t\tif (keys.includes(event.key) && event.code !== 'NumpadEnter') {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n}\n","import {\n\tChangeDetectionStrategy,\n\tComponent,\n\tViewEncapsulation,\n\tcomputed,\n\tinject,\n\tinput,\n\tlinkedSignal,\n} from '@angular/core';\nimport type { CustomElementClassSettable } from '@spartan-ng/brain/core';\nimport type { ClassValue } from 'clsx';\nimport { BrnAccordionItem } from './brn-accordion';\n\n@Component({\n\tselector: 'brn-accordion-content',\n\thost: {\n\t\t'[attr.data-state]': 'state()',\n\t\t'[attr.aria-labelledby]': 'ariaLabeledBy',\n\t\trole: 'region',\n\t\t'[id]': 'id',\n\t},\n\ttemplate: `\n\t\t<div [attr.inert]=\"_addInert()\" style=\"overflow: hidden\">\n\t\t\t<p [class]=\"_contentClass()\">\n\t\t\t\t<ng-content />\n\t\t\t</p>\n\t\t</div>\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class BrnAccordionContent implements CustomElementClassSettable {\n\tprivate readonly _item = inject(BrnAccordionItem);\n\n\tpublic readonly state = this._item.state;\n\tpublic readonly id = `brn-accordion-content-${this._item.id}`;\n\tpublic readonly ariaLabeledBy = `brn-accordion-trigger-${this._item.id}`;\n\n\tprotected readonly _addInert = computed(() => (this.state() === 'closed' ? true : undefined));\n\t/**\n\t * The class to be applied to the content element.\n\t */\n\tpublic readonly contentClass = input<ClassValue>('');\n\n\tprotected readonly _contentClass = linkedSignal(() => this.contentClass());\n\n\tconstructor() {\n\t\tif (!this._item) {\n\t\t\tthrow Error('Accordion Content can only be used inside an AccordionItem. Add brnAccordionItem to parent.');\n\t\t}\n\t}\n\n\tpublic setClassToCustomElement(classes: ClassValue) {\n\t\tthis._contentClass.set(classes);\n\t}\n}\n","import { BrnAccordion, BrnAccordionItem, BrnAccordionTrigger } from './lib/brn-accordion';\nimport { BrnAccordionContent } from './lib/brn-accordion-content';\n\nexport * from './lib/brn-accordion';\nexport * from './lib/brn-accordion-content';\n\nexport const BrnAccordionImports = [BrnAccordion, BrnAccordionContent, BrnAccordionItem, BrnAccordionTrigger] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spartan-ng-brain-accordion.mjs","sources":["../../../../libs/brain/accordion/src/lib/brn-accordion.ts","../../../../libs/brain/accordion/src/lib/brn-accordion-content.ts","../../../../libs/brain/accordion/src/index.ts","../../../../libs/brain/accordion/src/spartan-ng-brain-accordion.ts"],"sourcesContent":["import { type FocusableOption, FocusKeyManager, FocusMonitor } from '@angular/cdk/a11y';\nimport { type BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n\ttype AfterContentInit,\n\tcomputed,\n\tcontentChildren,\n\tDirective,\n\teffect,\n\tElementRef,\n\tHostListener,\n\tinject,\n\tinput,\n\tisDevMode,\n\ttype OnDestroy,\n\tsignal,\n\tuntracked,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { fromEvent } from 'rxjs';\n\n@Directive({\n\tselector: '[brnAccordionItem]',\n\thost: {\n\t\t'[attr.data-state]': 'state()',\n\t},\n\texportAs: 'brnAccordionItem',\n})\nexport class BrnAccordionItem {\n\tprivate static _itemIdGenerator = 0;\n\tpublic readonly id = ++BrnAccordionItem._itemIdGenerator;\n\tprivate readonly _accordion = inject(BrnAccordion);\n\t/**\n\t * Whether the accordion item is opened or closed.\n\t * @default false\n\t */\n\tpublic readonly isOpened = input<boolean, BooleanInput>(false, { transform: coerceBooleanProperty });\n\tpublic readonly state = computed(() => (this._accordion.openItemIds().includes(this.id) ? 'open' : 'closed'));\n\n\tconstructor() {\n\t\tif (!this._accordion) {\n\t\t\tthrow Error('Accordion item can only be used inside an Accordion. Add brnAccordion to ancestor.');\n\t\t}\n\t\teffect(() => {\n\t\t\tconst isOpened = this.isOpened();\n\t\t\tuntracked(() => {\n\t\t\t\tif (isOpened) {\n\t\t\t\t\tthis._accordion.openItem(this.id);\n\t\t\t\t} else {\n\t\t\t\t\tthis._accordion.closeItem(this.id);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n}\n\n@Directive({\n\tselector: '[brnAccordionTrigger]',\n\thost: {\n\t\t'[attr.data-state]': 'state()',\n\t\t'[attr.aria-expanded]': 'state() === \"open\"',\n\t\t'[attr.aria-controls]': 'ariaControls',\n\t\t'[id]': 'id',\n\t\t'[attr.role]': '\"button\"',\n\t},\n})\nexport class BrnAccordionTrigger implements FocusableOption {\n\tprivate readonly _accordion = inject(BrnAccordion);\n\tprivate readonly _item = inject(BrnAccordionItem);\n\tprivate readonly _el = inject(ElementRef<HTMLElement>);\n\n\tpublic readonly state = this._item.state;\n\tpublic readonly id = `brn-accordion-trigger-${this._item.id}`;\n\tpublic readonly ariaControls = `brn-accordion-content-${this._item.id}`;\n\tconstructor() {\n\t\tif (!this._accordion) throw Error('Accordion trigger requires a parent Accordion.');\n\t\tif (!this._item) throw Error('Accordion trigger requires a parent AccordionItem.');\n\t\tthis.validateAriaStructure();\n\n\t\tfromEvent(this._el.nativeElement, 'focus')\n\t\t\t.pipe(takeUntilDestroyed())\n\t\t\t.subscribe(() => {\n\t\t\t\tthis._accordion.setActiveItem(this);\n\t\t\t});\n\t}\n\n\t@HostListener('click', ['$event'])\n\t@HostListener('keyup.space', ['$event'])\n\t@HostListener('keyup.enter', ['$event'])\n\tprotected toggle(event: Event): void {\n\t\tevent.preventDefault();\n\t\tthis._accordion.toggleItem(this._item.id);\n\t}\n\n\tpublic focus() {\n\t\tthis._el.nativeElement.focus();\n\t}\n\n\tprivate validateAriaStructure(): void {\n\t\tconst element = this._el.nativeElement;\n\n\t\tconst isButton = element.tagName === 'BUTTON';\n\t\tconst hasButtonRole = element.getAttribute('role') === 'button';\n\n\t\tif (!isButton && !hasButtonRole) {\n\t\t\tthrow Error(\n\t\t\t\t`BrnAccordionTrigger: The trigger element must be a <button> or have role=\"button\". ` +\n\t\t\t\t\t`Found: <${element.tagName.toLowerCase()}>`,\n\t\t\t);\n\t\t}\n\n\t\tconst parent = element.parentElement;\n\t\tif (!parent) {\n\t\t\tconst message = 'BrnAccordionTrigger: The trigger button must be wrapped in a heading element.';\n\t\t\tif (isDevMode()) {\n\t\t\t\tthrow Error(message);\n\t\t\t} else {\n\t\t\t\tconsole.warn(message);\n\t\t\t}\n\t\t}\n\n\t\tconst isNativeHeading = /^H[1-6]$/.test(parent.tagName);\n\t\tconst hasHeadingRole = parent.getAttribute('role') === 'heading';\n\n\t\tif (!isNativeHeading && !hasHeadingRole) {\n\t\t\tthrow Error(\n\t\t\t\t`BrnAccordionTrigger: The trigger button must be wrapped in a heading element ` +\n\t\t\t\t\t`(h1-h6) or an element with role=\"heading\". Found parent: <${parent.tagName.toLowerCase()}>`,\n\t\t\t);\n\t\t}\n\n\t\tif (hasHeadingRole && !parent.hasAttribute('aria-level')) {\n\t\t\tthrow Error('BrnAccordionTrigger: Elements with role=\"heading\" must have an aria-level attribute.');\n\t\t}\n\t}\n}\n\nconst HORIZONTAL_KEYS_TO_PREVENT_DEFAULT = [\n\t'ArrowLeft',\n\t'ArrowRight',\n\t'PageDown',\n\t'PageUp',\n\t'Home',\n\t'End',\n\t' ',\n\t'Enter',\n] as const;\n\nconst VERTICAL_KEYS_TO_PREVENT_DEFAULT = [\n\t'ArrowUp',\n\t'ArrowDown',\n\t'PageDown',\n\t'PageUp',\n\t'Home',\n\t'End',\n\t' ',\n\t'Enter',\n] as const;\n\n@Directive({\n\tselector: '[brnAccordion]',\n\thost: {\n\t\t'[attr.data-state]': 'state()',\n\t\t'[attr.data-orientation]': 'orientation()',\n\t},\n\texportAs: 'brnAccordion',\n})\nexport class BrnAccordion implements AfterContentInit, OnDestroy {\n\tprivate readonly _el = inject(ElementRef<HTMLElement>);\n\tprivate readonly _focusMonitor = inject(FocusMonitor);\n\tprivate readonly _keyManager = computed(() =>\n\t\tnew FocusKeyManager<BrnAccordionTrigger>(this.triggers())\n\t\t\t.withHomeAndEnd()\n\t\t\t.withPageUpDown()\n\t\t\t.withWrap()\n\t\t\t.withHorizontalOrientation(this.orientation() === 'vertical' ? null : (this.dir() ?? 'ltr'))\n\t\t\t.withVerticalOrientation(this.orientation() === 'vertical'),\n\t);\n\n\tprivate readonly _focused = signal<boolean>(false);\n\tprivate readonly _openItemIds = signal<number[]>([]);\n\tpublic readonly openItemIds = this._openItemIds.asReadonly();\n\tpublic readonly state = computed(() => (this._openItemIds().length > 0 ? 'open' : 'closed'));\n\n\tpublic readonly triggers = contentChildren(BrnAccordionTrigger, { descendants: true });\n\n\t/**\n\t * Whether the accordion is in single or multiple mode.\n\t * @default 'single'\n\t */\n\tpublic readonly type = input<'single' | 'multiple'>('single');\n\t/**\n\t * The direction of the accordion, either 'ltr' (left-to-right) or 'rtl' (right-to-left).\n\t * @default null\n\t */\n\tpublic readonly dir = input<'ltr' | 'rtl' | null>(null);\n\t/**\n\t * The orientation of the accordion, either 'horizontal' or 'vertical'.\n\t * @default 'vertical'\n\t */\n\tpublic readonly orientation = input<'horizontal' | 'vertical'>('vertical');\n\n\tpublic ngAfterContentInit() {\n\t\tthis._el.nativeElement.addEventListener('keydown', (event: KeyboardEvent) => {\n\t\t\tif (this.shouldIgnoreEvent(event)) return;\n\t\t\tthis._keyManager()?.onKeydown(event);\n\t\t\tthis.preventDefaultEvents(event);\n\t\t});\n\t\tthis._focusMonitor.monitor(this._el, true).subscribe((origin) => this._focused.set(origin !== null));\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._focusMonitor.stopMonitoring(this._el);\n\t}\n\n\tpublic setActiveItem(item: BrnAccordionTrigger) {\n\t\tthis._keyManager()?.setActiveItem(item);\n\t}\n\n\tpublic toggleItem(id: number) {\n\t\tif (this._openItemIds().includes(id)) {\n\t\t\tthis.closeItem(id);\n\t\t\treturn;\n\t\t}\n\t\tthis.openItem(id);\n\t}\n\n\tpublic openItem(id: number) {\n\t\tif (this.type() === 'single') {\n\t\t\tthis._openItemIds.set([id]);\n\t\t\treturn;\n\t\t}\n\t\tthis._openItemIds.update((ids) => (ids.includes(id) ? ids : [...ids, id]));\n\t}\n\n\tpublic closeItem(id: number) {\n\t\tthis._openItemIds.update((ids) => ids.filter((openId) => openId !== id));\n\t}\n\n\tprivate isEditableTarget(el: EventTarget | null): boolean {\n\t\tconst node = el as HTMLElement | null;\n\t\tif (!node) return false;\n\n\t\tconst tag = node.tagName;\n\t\tif (tag === 'INPUT' || tag === 'TEXTAREA' || tag === 'SELECT') return true;\n\t\tif (node.isContentEditable) return true;\n\n\t\tconst role = node.getAttribute?.('role') ?? '';\n\t\tif (/^(textbox|searchbox|combobox|listbox|grid|tree|menu|spinbutton|slider)$/.test(role)) return true;\n\n\t\tconst editableAncestor = node.closest?.(\n\t\t\t'input, textarea, select, [contenteditable=\"\"], [contenteditable=\"true\"], ' +\n\t\t\t\t'[role=\"textbox\"], [role=\"searchbox\"], [role=\"combobox\"], [role=\"listbox\"], ' +\n\t\t\t\t'[role=\"grid\"], [role=\"tree\"], [role=\"menu\"], [role=\"spinbutton\"], [role=\"slider\"]',\n\t\t);\n\t\treturn !!editableAncestor;\n\t}\n\n\tprivate shouldIgnoreEvent(e: KeyboardEvent): boolean {\n\t\tif (e.defaultPrevented) return true; // another handler already acted\n\t\tif (e.ctrlKey || e.metaKey || e.altKey) return true; // let shortcuts through\n\t\treturn this.isEditableTarget(e.target); // don't steal from editable/ARIA widgets\n\t}\n\n\tprivate preventDefaultEvents(event: KeyboardEvent) {\n\t\tif (event.defaultPrevented) return;\n\t\tif (!this._focused()) return;\n\t\tif (!('key' in event)) return;\n\n\t\tconst keys: readonly string[] =\n\t\t\tthis.orientation() === 'horizontal' ? HORIZONTAL_KEYS_TO_PREVENT_DEFAULT : VERTICAL_KEYS_TO_PREVENT_DEFAULT;\n\n\t\tif (keys.includes(event.key) && event.code !== 'NumpadEnter') {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n}\n","import {\n\tChangeDetectionStrategy,\n\tComponent,\n\tViewEncapsulation,\n\tcomputed,\n\tinject,\n\tinput,\n\tlinkedSignal,\n} from '@angular/core';\nimport type { CustomElementClassSettable } from '@spartan-ng/brain/core';\nimport type { ClassValue } from 'clsx';\nimport { BrnAccordionItem } from './brn-accordion';\n\n@Component({\n\tselector: 'brn-accordion-content',\n\thost: {\n\t\t'[attr.data-state]': 'state()',\n\t\t'[attr.aria-labelledby]': 'ariaLabeledBy',\n\t\trole: 'region',\n\t\t'[id]': 'id',\n\t},\n\ttemplate: `\n\t\t<div [attr.inert]=\"_addInert()\" style=\"overflow: hidden\">\n\t\t\t<p [class]=\"_contentClass()\">\n\t\t\t\t<ng-content />\n\t\t\t</p>\n\t\t</div>\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class BrnAccordionContent implements CustomElementClassSettable {\n\tprivate readonly _item = inject(BrnAccordionItem);\n\n\tpublic readonly state = this._item.state;\n\tpublic readonly id = `brn-accordion-content-${this._item.id}`;\n\tpublic readonly ariaLabeledBy = `brn-accordion-trigger-${this._item.id}`;\n\n\tprotected readonly _addInert = computed(() => (this.state() === 'closed' ? true : undefined));\n\t/**\n\t * The class to be applied to the content element.\n\t */\n\tpublic readonly contentClass = input<ClassValue>('');\n\n\tprotected readonly _contentClass = linkedSignal(() => this.contentClass());\n\n\tconstructor() {\n\t\tif (!this._item) {\n\t\t\tthrow Error('Accordion Content can only be used inside an AccordionItem. Add brnAccordionItem to parent.');\n\t\t}\n\t}\n\n\tpublic setClassToCustomElement(classes: ClassValue) {\n\t\tthis._contentClass.set(classes);\n\t}\n}\n","import { BrnAccordion, BrnAccordionItem, BrnAccordionTrigger } from './lib/brn-accordion';\nimport { BrnAccordionContent } from './lib/brn-accordion-content';\n\nexport * from './lib/brn-accordion';\nexport * from './lib/brn-accordion-content';\n\nexport const BrnAccordionImports = [BrnAccordion, BrnAccordionContent, BrnAccordionItem, BrnAccordionTrigger] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spartan-ng-brain-alert-dialog.mjs","sources":["../../../../libs/brain/alert-dialog/src/lib/brn-alert-dialog.ts","../../../../libs/brain/alert-dialog/src/lib/brn-alert-dialog-content.ts","../../../../libs/brain/alert-dialog/src/lib/brn-alert-dialog-description.ts","../../../../libs/brain/alert-dialog/src/lib/brn-alert-dialog-overlay.ts","../../../../libs/brain/alert-dialog/src/lib/brn-alert-dialog-title.ts","../../../../libs/brain/alert-dialog/src/lib/brn-alert-dialog-trigger.ts","../../../../libs/brain/alert-dialog/src/index.ts","../../../../libs/brain/alert-dialog/src/spartan-ng-brain-alert-dialog.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, ViewEncapsulation } from '@angular/core';\nimport { BrnDialog, BrnDialogDefaultOptions, provideBrnDialogDefaultOptions } from '@spartan-ng/brain/dialog';\n\nexport const BRN_ALERT_DIALOG_DEFAULT_OPTIONS: Partial<BrnDialogDefaultOptions> = {\n\tcloseOnBackdropClick: false,\n\tcloseOnOutsidePointerEvents: false,\n\trole: 'alertdialog',\n};\n\n@Component({\n\tselector: 'brn-alert-dialog',\n\ttemplate: `\n\t\t<ng-content />\n\t`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: BrnDialog,\n\t\t\tuseExisting: forwardRef(() => BrnAlertDialog),\n\t\t},\n\t\tprovideBrnDialogDefaultOptions(BRN_ALERT_DIALOG_DEFAULT_OPTIONS),\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\texportAs: 'brnAlertDialog',\n})\nexport class BrnAlertDialog extends BrnDialog {}\n","import { Directive } from '@angular/core';\nimport { provideExposesStateProviderExisting } from '@spartan-ng/brain/core';\nimport { BrnDialogContent } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnAlertDialogContent]',\n\tproviders: [provideExposesStateProviderExisting(() => BrnAlertDialogContent)],\n})\nexport class BrnAlertDialogContent<T> extends BrnDialogContent<T> {}\n","import { Directive } from '@angular/core';\nimport { BrnDialogDescription } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnAlertDialogDescription]',\n\thost: {\n\t\t'[id]': '_id()',\n\t},\n})\nexport class BrnAlertDialogDescription extends BrnDialogDescription {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { provideCustomClassSettableExisting } from '@spartan-ng/brain/core';\nimport { BrnDialogOverlay } from '@spartan-ng/brain/dialog';\n\n@Component({\n\tselector: 'brn-alert-dialog-overlay',\n\tproviders: [provideCustomClassSettableExisting(() => BrnAlertDialogOverlay)],\n\ttemplate: '',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class BrnAlertDialogOverlay extends BrnDialogOverlay {}\n","import { Directive } from '@angular/core';\nimport { BrnDialogTitle } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnAlertDialogTitle]',\n\thost: {\n\t\t'[id]': '_id()',\n\t},\n})\nexport class BrnAlertDialogTitle extends BrnDialogTitle {}\n","import { Directive, effect, input, untracked } from '@angular/core';\nimport { BrnDialogTrigger } from '@spartan-ng/brain/dialog';\nimport type { BrnAlertDialog } from './brn-alert-dialog';\n\n@Directive({\n\tselector: 'button[brnAlertDialogTrigger],button[brnAlertDialogTriggerFor]',\n\thost: {\n\t\t'[id]': 'id()',\n\t\t'aria-haspopup': 'dialog',\n\t\t'[attr.aria-expanded]': \"state() === 'open' ? 'true': 'false'\",\n\t\t'[attr.data-state]': 'state()',\n\t\t'[attr.aria-controls]': 'dialogId',\n\t\t'[type]': 'type()',\n\t},\n})\nexport class BrnAlertDialogTrigger extends BrnDialogTrigger {\n\tpublic readonly brnAlertDialogTriggerFor = input<BrnAlertDialog | undefined>();\n\tpublic readonly type = input<'button' | 'submit' | 'reset'>('button');\n\n\tconstructor() {\n\t\tsuper();\n\t\teffect(() => {\n\t\t\tconst brnDialog = this.brnAlertDialogTriggerFor();\n\t\t\tuntracked(() => {\n\t\t\t\tif (brnDialog) {\n\t\t\t\t\tthis.mutableBrnDialogTriggerFor().set(brnDialog);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n}\n","import { BrnAlertDialog } from './lib/brn-alert-dialog';\nimport { BrnAlertDialogContent } from './lib/brn-alert-dialog-content';\nimport { BrnAlertDialogDescription } from './lib/brn-alert-dialog-description';\nimport { BrnAlertDialogOverlay } from './lib/brn-alert-dialog-overlay';\nimport { BrnAlertDialogTitle } from './lib/brn-alert-dialog-title';\nimport { BrnAlertDialogTrigger } from './lib/brn-alert-dialog-trigger';\n\nexport * from './lib/brn-alert-dialog';\nexport * from './lib/brn-alert-dialog-content';\nexport * from './lib/brn-alert-dialog-description';\nexport * from './lib/brn-alert-dialog-overlay';\nexport * from './lib/brn-alert-dialog-title';\nexport * from './lib/brn-alert-dialog-trigger';\n\nexport const BrnAlertDialogImports = [\n\tBrnAlertDialog,\n\tBrnAlertDialogOverlay,\n\tBrnAlertDialogTrigger,\n\tBrnAlertDialogContent,\n\tBrnAlertDialogTitle,\n\tBrnAlertDialogDescription,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spartan-ng-brain-alert-dialog.mjs","sources":["../../../../libs/brain/alert-dialog/src/lib/brn-alert-dialog.ts","../../../../libs/brain/alert-dialog/src/lib/brn-alert-dialog-content.ts","../../../../libs/brain/alert-dialog/src/lib/brn-alert-dialog-description.ts","../../../../libs/brain/alert-dialog/src/lib/brn-alert-dialog-overlay.ts","../../../../libs/brain/alert-dialog/src/lib/brn-alert-dialog-title.ts","../../../../libs/brain/alert-dialog/src/lib/brn-alert-dialog-trigger.ts","../../../../libs/brain/alert-dialog/src/index.ts","../../../../libs/brain/alert-dialog/src/spartan-ng-brain-alert-dialog.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, ViewEncapsulation } from '@angular/core';\nimport { BrnDialog, type BrnDialogDefaultOptions, provideBrnDialogDefaultOptions } from '@spartan-ng/brain/dialog';\n\nexport const BRN_ALERT_DIALOG_DEFAULT_OPTIONS: Partial<BrnDialogDefaultOptions> = {\n\tcloseOnBackdropClick: false,\n\tcloseOnOutsidePointerEvents: false,\n\trole: 'alertdialog',\n};\n\n@Component({\n\tselector: 'brn-alert-dialog',\n\ttemplate: `\n\t\t<ng-content />\n\t`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: BrnDialog,\n\t\t\tuseExisting: forwardRef(() => BrnAlertDialog),\n\t\t},\n\t\tprovideBrnDialogDefaultOptions(BRN_ALERT_DIALOG_DEFAULT_OPTIONS),\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\texportAs: 'brnAlertDialog',\n})\nexport class BrnAlertDialog extends BrnDialog {}\n","import { Directive } from '@angular/core';\nimport { provideExposesStateProviderExisting } from '@spartan-ng/brain/core';\nimport { BrnDialogContent } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnAlertDialogContent]',\n\tproviders: [provideExposesStateProviderExisting(() => BrnAlertDialogContent)],\n})\nexport class BrnAlertDialogContent<T> extends BrnDialogContent<T> {}\n","import { Directive } from '@angular/core';\nimport { BrnDialogDescription } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnAlertDialogDescription]',\n\thost: {\n\t\t'[id]': '_id()',\n\t},\n})\nexport class BrnAlertDialogDescription extends BrnDialogDescription {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { provideCustomClassSettableExisting } from '@spartan-ng/brain/core';\nimport { BrnDialogOverlay } from '@spartan-ng/brain/dialog';\n\n@Component({\n\tselector: 'brn-alert-dialog-overlay',\n\tproviders: [provideCustomClassSettableExisting(() => BrnAlertDialogOverlay)],\n\ttemplate: '',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class BrnAlertDialogOverlay extends BrnDialogOverlay {}\n","import { Directive } from '@angular/core';\nimport { BrnDialogTitle } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnAlertDialogTitle]',\n\thost: {\n\t\t'[id]': '_id()',\n\t},\n})\nexport class BrnAlertDialogTitle extends BrnDialogTitle {}\n","import { Directive, effect, input, untracked } from '@angular/core';\nimport { BrnDialogTrigger } from '@spartan-ng/brain/dialog';\nimport type { BrnAlertDialog } from './brn-alert-dialog';\n\n@Directive({\n\tselector: 'button[brnAlertDialogTrigger],button[brnAlertDialogTriggerFor]',\n\thost: {\n\t\t'[id]': 'id()',\n\t\t'aria-haspopup': 'dialog',\n\t\t'[attr.aria-expanded]': \"state() === 'open' ? 'true': 'false'\",\n\t\t'[attr.data-state]': 'state()',\n\t\t'[attr.aria-controls]': 'dialogId',\n\t\t'[type]': 'type()',\n\t},\n})\nexport class BrnAlertDialogTrigger extends BrnDialogTrigger {\n\tpublic readonly brnAlertDialogTriggerFor = input<BrnAlertDialog | undefined>();\n\tpublic readonly type = input<'button' | 'submit' | 'reset'>('button');\n\n\tconstructor() {\n\t\tsuper();\n\t\teffect(() => {\n\t\t\tconst brnDialog = this.brnAlertDialogTriggerFor();\n\t\t\tuntracked(() => {\n\t\t\t\tif (brnDialog) {\n\t\t\t\t\tthis.mutableBrnDialogTriggerFor().set(brnDialog);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n}\n","import { BrnAlertDialog } from './lib/brn-alert-dialog';\nimport { BrnAlertDialogContent } from './lib/brn-alert-dialog-content';\nimport { BrnAlertDialogDescription } from './lib/brn-alert-dialog-description';\nimport { BrnAlertDialogOverlay } from './lib/brn-alert-dialog-overlay';\nimport { BrnAlertDialogTitle } from './lib/brn-alert-dialog-title';\nimport { BrnAlertDialogTrigger } from './lib/brn-alert-dialog-trigger';\n\nexport * from './lib/brn-alert-dialog';\nexport * from './lib/brn-alert-dialog-content';\nexport * from './lib/brn-alert-dialog-description';\nexport * from './lib/brn-alert-dialog-overlay';\nexport * from './lib/brn-alert-dialog-title';\nexport * from './lib/brn-alert-dialog-trigger';\n\nexport const BrnAlertDialogImports = [\n\tBrnAlertDialog,\n\tBrnAlertDialogOverlay,\n\tBrnAlertDialogTrigger,\n\tBrnAlertDialogContent,\n\tBrnAlertDialogTitle,\n\tBrnAlertDialogDescription,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAGO,MAAM,gCAAgC,GAAqC;AACjF,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,2BAA2B,EAAE,KAAK;AAClC,IAAA,IAAI,EAAE,aAAa;;AAmBd,MAAO,cAAe,SAAQ,SAAS,CAAA;0HAAhC,cAAc,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAd,uBAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,SAAA,EAXf;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,SAAS;AAClB,gBAAA,WAAW,EAAE,UAAU,EAAC,MAAM,cAAc,EAAC;AAC7C,aAAA;YACD,8BAA8B,CAAC,gCAAgC,CAAC;SAChE,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EATS;;AAET,CAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAYW,cAAc,EAAA,UAAA,EAAA,CAAA;kBAhB1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,QAAQ,EAAE;;AAET,CAAA,CAAA;AACD,oBAAA,SAAS,EAAE;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,SAAS;AAClB,4BAAA,WAAW,EAAE,UAAU,EAAC,oBAAoB,EAAC;AAC7C,yBAAA;wBACD,8BAA8B,CAAC,gCAAgC,CAAC;AAChE,qBAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,iBAAA;;;AChBK,MAAO,qBAAyB,SAAQ,gBAAmB,CAAA;0HAApD,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;8GAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,SAAA,EAFtB,CAAC,mCAAmC,EAAC,MAAM,qBAAqB,EAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAEjE,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,yBAAyB;oBACnC,SAAS,EAAE,CAAC,mCAAmC,EAAC,MAAK,qBAAsB,EAAC,CAAC;AAC7E,iBAAA;;;ACEK,MAAO,yBAA0B,SAAQ,oBAAoB,CAAA;0HAAtD,yBAAyB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;8GAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,6BAA6B;AACvC,oBAAA,IAAI,EAAE;AACL,wBAAA,MAAM,EAAE,OAAO;AACf,qBAAA;AACD,iBAAA;;;ACGK,MAAO,qBAAsB,SAAQ,gBAAgB,CAAA;0HAA9C,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;8GAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,SAAA,EALtB,CAAC,kCAAkC,EAAC,MAAM,qBAAqB,EAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAClE,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAIA,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAPjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,0BAA0B;oBACpC,SAAS,EAAE,CAAC,kCAAkC,EAAC,MAAK,qBAAsB,EAAC,CAAC;AAC5E,oBAAA,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,iBAAA;;;ACDK,MAAO,mBAAoB,SAAQ,cAAc,CAAA;0HAA1C,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;8GAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAN/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,IAAI,EAAE;AACL,wBAAA,MAAM,EAAE,OAAO;AACf,qBAAA;AACD,iBAAA;;;ACOK,MAAO,qBAAsB,SAAQ,gBAAgB,CAAA;IAC1C,wBAAwB,GAAG,KAAK,EAA8B;AAC9D,IAAA,IAAI,GAAG,KAAK,CAAgC,QAAQ,CAAC;AAErE,IAAA,WAAA,GAAA;AACC,QAAA,KAAK,EAAE;QACP,MAAM,CAAC,MAAK;AACX,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,wBAAwB,EAAE;YACjD,SAAS,CAAC,MAAK;gBACd,IAAI,SAAS,EAAE;oBACd,IAAI,CAAC,0BAA0B,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC;;AAElD,aAAC,CAAC;AACH,SAAC,CAAC;;0HAbS,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;8GAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gEAAA,EAAA,MAAA,EAAA,EAAA,wBAAA,EAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,UAAA,EAAA,0BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,QAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,oBAAA,EAAA,sCAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAXjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,gEAAgE;AAC1E,oBAAA,IAAI,EAAE;AACL,wBAAA,MAAM,EAAE,MAAM;AACd,wBAAA,eAAe,EAAE,QAAQ;AACzB,wBAAA,sBAAsB,EAAE,sCAAsC;AAC9D,wBAAA,mBAAmB,EAAE,SAAS;AAC9B,wBAAA,sBAAsB,EAAE,UAAU;AAClC,wBAAA,QAAQ,EAAE,QAAQ;AAClB,qBAAA;AACD,iBAAA;;;ACAM,MAAM,qBAAqB,GAAG;IACpC,cAAc;IACd,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;IACrB,mBAAmB;IACnB,yBAAyB;;;ACpB1B;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spartan-ng-brain-autocomplete.mjs","sources":["../../../../libs/brain/autocomplete/src/lib/brn-autocomplete-item.token.ts","../../../../libs/brain/autocomplete/src/lib/brn-autocomplete-search-input.token.ts","../../../../libs/brain/autocomplete/src/lib/brn-autocomplete.token.ts","../../../../libs/brain/autocomplete/src/lib/brn-autocomplete-search-input.ts","../../../../libs/brain/autocomplete/src/lib/brn-autocomplete.ts","../../../../libs/brain/autocomplete/src/lib/brn-autocomplete-empty.ts","../../../../libs/brain/autocomplete/src/lib/brn-autocomplete-group.ts","../../../../libs/brain/autocomplete/src/lib/brn-autocomplete-item.ts","../../../../libs/brain/autocomplete/src/lib/brn-autocomplete-list.ts","../../../../libs/brain/autocomplete/src/index.ts","../../../../libs/brain/autocomplete/src/spartan-ng-brain-autocomplete.ts"],"sourcesContent":["import { ExistingProvider, InjectionToken, Type } from '@angular/core';\nimport { BrnAutocompleteItem } from './brn-autocomplete-item';\n\nexport const BrnAutocompleteItemToken = new InjectionToken<BrnAutocompleteItem<unknown>>('BrnAutocompleteItemToken');\n\nexport function provideBrnAutocompleteItem<T>(autocomplete: Type<BrnAutocompleteItem<T>>): ExistingProvider {\n\treturn { provide: BrnAutocompleteItemToken, useExisting: autocomplete };\n}\n","import { ExistingProvider, InjectionToken, Type } from '@angular/core';\nimport type { BrnAutocompleteSearchInput } from './brn-autocomplete-search-input';\n\nexport const BrnAutocompleteSearchInputToken = new InjectionToken<BrnAutocompleteSearchInput>(\n\t'BrnAutocompleteSearchInputToken',\n);\n\nexport function provideBrnAutocompleteSearchInput(autocomplete: Type<BrnAutocompleteSearchInput>): ExistingProvider {\n\treturn { provide: BrnAutocompleteSearchInputToken, useExisting: autocomplete };\n}\n","import { ExistingProvider, inject, InjectionToken, Type } from '@angular/core';\nimport type { BrnAutocomplete } from './brn-autocomplete';\n\nexport const BrnAutocompleteToken = new InjectionToken<BrnAutocomplete<unknown>>('BrnAutocompleteToken');\n\nexport function provideBrnAutocomplete<T>(autocomplete: Type<BrnAutocomplete<T>>): ExistingProvider {\n\treturn { provide: BrnAutocompleteToken, useExisting: autocomplete };\n}\n\nexport function injectBrnAutocomplete<T>(): BrnAutocomplete<T> {\n\treturn inject(BrnAutocompleteToken) as BrnAutocomplete<T>;\n}\n","import {\n\tDirective,\n\teffect,\n\tElementRef,\n\tforwardRef,\n\tInject,\n\tinput,\n\tlinkedSignal,\n\tOptional,\n\tRenderer2,\n\tsignal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { COMPOSITION_BUFFER_MODE, DefaultValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { startWith } from 'rxjs/operators';\nimport { provideBrnAutocompleteSearchInput } from './brn-autocomplete-search-input.token';\nimport { injectBrnAutocomplete } from './brn-autocomplete.token';\n\n@Directive({\n\tselector: 'input[brnAutocompleteSearchInput]',\n\tproviders: [\n\t\tprovideBrnAutocompleteSearchInput(BrnAutocompleteSearchInput),\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => BrnAutocompleteSearchInput),\n\t\t\tmulti: true,\n\t\t},\n\t],\n\thost: {\n\t\trole: 'combobox',\n\t\t'aria-autocomplete': 'list',\n\t\t'[attr.aria-activedescendant]': '_activeDescendant()',\n\t\t'(keydown)': 'onKeyDown($event)',\n\t\t'(input)': 'onInput()',\n\t},\n})\nexport class BrnAutocompleteSearchInput extends DefaultValueAccessor {\n\tprivate readonly _autocomplete = injectBrnAutocomplete();\n\n\t/** The initial value of the search input */\n\tpublic readonly value = input<string>('');\n\n\t/** @internal The \"real\" value of the search input */\n\tpublic readonly valueState = linkedSignal(() => this.value());\n\n\t/** The id of the active option */\n\tprotected readonly _activeDescendant = signal<string | undefined>(undefined);\n\n\tconstructor(\n\t\trenderer: Renderer2,\n\t\tprivate readonly elementRef: ElementRef,\n\t\t@Optional() @Inject(COMPOSITION_BUFFER_MODE) compositionMode: boolean,\n\t) {\n\t\tsuper(renderer, elementRef, compositionMode);\n\t\tthis._autocomplete.keyManager.change\n\t\t\t.pipe(startWith(this._autocomplete.keyManager.activeItemIndex), takeUntilDestroyed())\n\t\t\t.subscribe(() => this._activeDescendant.set(this._autocomplete.keyManager.activeItem?.id()));\n\n\t\teffect(() => {\n\t\t\tthis.elementRef.nativeElement.value = this.valueState();\n\t\t});\n\t}\n\t/** Listen for changes to the input value */\n\tprotected onInput(): void {\n\t\tthis.valueState.set(this.elementRef.nativeElement.value);\n\t}\n\n\t/** Listen for keydown events */\n\tprotected onKeyDown(event: KeyboardEvent): void {\n\t\tthis._autocomplete.keyManager.onKeydown(event);\n\t}\n\n\t/** CONROL VALUE ACCESSOR */\n\toverride writeValue(value: string | null): void {\n\t\tsuper.writeValue(value);\n\t\tif (value) {\n\t\t\tthis.valueState.set(value);\n\t\t}\n\t}\n}\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport {\n\tcomputed,\n\tcontentChild,\n\tcontentChildren,\n\tDirective,\n\teffect,\n\tinject,\n\tInjector,\n\tinput,\n\toutput,\n\tuntracked,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { BrnPopover } from '@spartan-ng/brain/popover';\nimport { BrnAutocompleteItem } from './brn-autocomplete-item';\nimport { BrnAutocompleteItemToken } from './brn-autocomplete-item.token';\nimport { BrnAutocompleteSearchInput } from './brn-autocomplete-search-input';\nimport { provideBrnAutocomplete } from './brn-autocomplete.token';\n\n@Directive({\n\tselector: '[brnAutocomplete]',\n\tproviders: [provideBrnAutocomplete(BrnAutocomplete)],\n\thost: {\n\t\t'[id]': 'id()',\n\t\t'(keydown.enter)': 'selectActiveItem()',\n\t},\n})\nexport class BrnAutocomplete<T> {\n\tprivate static _id = 0;\n\n\tprivate readonly _injector = inject(Injector);\n\n\t/** The id of the autocomplete */\n\tpublic readonly id = input<string>(`brn-autocomplete-${++BrnAutocomplete._id}`);\n\n\t/** when the selection has changed */\n\tpublic readonly valueChange = output<T>();\n\n\t/** @internal The search query */\n\tpublic readonly search = computed(() => this._searchInput()?.valueState() ?? '');\n\n\t/** Access the popover if present */\n\tprivate readonly _brnPopover = inject(BrnPopover, { optional: true });\n\n\t/** Access the search input if present */\n\tprivate readonly _searchInput = contentChild(BrnAutocompleteSearchInput, {\n\t\tdescendants: true,\n\t});\n\n\t/** @internal Access all the items within the autocomplete */\n\tpublic readonly items = contentChildren<BrnAutocompleteItem<T>>(BrnAutocompleteItemToken, {\n\t\tdescendants: true,\n\t});\n\n\t/** @internal The key manager for managing active descendant */\n\tpublic readonly keyManager = new ActiveDescendantKeyManager(this.items, this._injector);\n\n\tconstructor() {\n\t\tthis.keyManager\n\t\t\t.withVerticalOrientation()\n\t\t\t.withHomeAndEnd()\n\t\t\t.withWrap()\n\t\t\t.skipPredicate((item) => item.disabled);\n\n\t\teffect(() => {\n\t\t\tconst items = this.items();\n\n\t\t\tuntracked(() => {\n\t\t\t\tconst activeItem = this.keyManager.activeItem;\n\t\t\t\tif (!activeItem || !items.includes(activeItem) || items[0] !== activeItem) {\n\t\t\t\t\tthis.keyManager.setFirstItemActive();\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tthis.keyManager.change.pipe(takeUntilDestroyed()).subscribe(() => {\n\t\t\tconst value = this.keyManager.activeItem?.value();\n\t\t\tif (value) {\n\t\t\t\tthis.valueChange.emit(value);\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected selectActiveItem(): void {\n\t\tif (this._brnPopover?.stateComputed() === 'open') {\n\t\t\tthis.keyManager.activeItem?.selected.emit();\n\t\t}\n\t}\n}\n","import { computed, Directive, effect, inject, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { injectBrnAutocomplete } from './brn-autocomplete.token';\n\n@Directive({\n\tselector: '[brnAutocompleteEmpty]',\n})\nexport class BrnAutocompleteEmpty {\n\tprivate readonly _templateRef = inject<TemplateRef<void>>(TemplateRef);\n\tprivate readonly _viewContainerRef = inject(ViewContainerRef);\n\tprivate readonly _autocomplete = injectBrnAutocomplete();\n\n\t/** Determine if the autocomplete has any items */\n\tprivate readonly _visible = computed(() => this._autocomplete.items().length > 0);\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tif (this._visible()) {\n\t\t\t\tthis._viewContainerRef.clear();\n\t\t\t} else {\n\t\t\t\tthis._viewContainerRef.createEmbeddedView(this._templateRef);\n\t\t\t}\n\t\t});\n\t}\n}\n","import { Directive, input } from '@angular/core';\n\n@Directive({\n\tselector: '[brnAutocompleteGroup]',\n\thost: {\n\t\trole: 'group',\n\t\t'[id]': 'id()',\n\t},\n})\nexport class BrnAutocompleteGroup {\n\tprivate static _id = 0;\n\n\t/** The id of the autocomplete list */\n\tpublic readonly id = input<string>(`brn-autocomplete-group-${++BrnAutocompleteGroup._id}`);\n}\n","import { Highlightable } from '@angular/cdk/a11y';\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport { isPlatformBrowser } from '@angular/common';\nimport { booleanAttribute, Directive, ElementRef, inject, input, output, PLATFORM_ID, signal } from '@angular/core';\nimport { provideBrnAutocompleteItem } from './brn-autocomplete-item.token';\nimport { injectBrnAutocomplete } from './brn-autocomplete.token';\n\n@Directive({\n\tselector: 'button[brnAutocompleteItem]',\n\tproviders: [provideBrnAutocompleteItem(BrnAutocompleteItem)],\n\thost: {\n\t\ttype: 'button',\n\t\trole: 'option',\n\t\ttabIndex: '-1',\n\t\t'[id]': 'id()',\n\t\t'[attr.disabled]': '_disabled() ? true : null',\n\t\t'[attr.data-disabled]': '_disabled() ? \"\" : null',\n\t\t'[attr.data-value]': 'value()',\n\t\t'[attr.aria-selected]': '_active()',\n\t\t'[attr.data-selected]': \"_active() ? '' : null\",\n\t\t'(click)': 'onClick()',\n\t\t'(mouseenter)': 'activate()',\n\t},\n})\nexport class BrnAutocompleteItem<T> implements Highlightable {\n\tprivate static _id = 0;\n\n\tprivate readonly _platform = inject(PLATFORM_ID);\n\n\tprivate readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\t/** Access the autocomplete component */\n\tprivate readonly _autocomplete = injectBrnAutocomplete<T>();\n\n\t/** A unique id for the item */\n\tpublic readonly id = input(`brn-autocomplete-item-${++BrnAutocompleteItem._id}`);\n\n\t/** The value this item represents. */\n\tpublic readonly value = input.required<T>();\n\n\t/** Whether the item is disabled. */\n\t// eslint-disable-next-line @typescript-eslint/naming-convention\n\tpublic readonly _disabled = input<boolean, BooleanInput>(false, {\n\t\talias: 'disabled',\n\t\ttransform: booleanAttribute,\n\t});\n\n\t/** Expose disabled as a value - used by the Highlightable interface */\n\tpublic get disabled() {\n\t\treturn this._disabled();\n\t}\n\n\t/** Whether the item is selected. */\n\tprotected readonly _active = signal(false);\n\n\t/** Emits when the item is selected. */\n\tpublic readonly selected = output<void>();\n\n\t/** @internal Get the display value */\n\tpublic getLabel(): string {\n\t\treturn this._elementRef.nativeElement.textContent?.trim() ?? '';\n\t}\n\n\t/** @internal */\n\tsetActiveStyles(): void {\n\t\tthis._active.set(true);\n\n\t\t// ensure the item is in view\n\t\tif (isPlatformBrowser(this._platform)) {\n\t\t\tthis._elementRef.nativeElement.scrollIntoView({ block: 'nearest' });\n\t\t}\n\t}\n\n\t/** @internal */\n\tsetInactiveStyles(): void {\n\t\tthis._active.set(false);\n\t}\n\n\tprotected onClick(): void {\n\t\tthis._autocomplete.keyManager.setActiveItem(this);\n\t\tthis.selected.emit();\n\t}\n\n\tprotected activate(): void {\n\t\tif (this._disabled()) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._autocomplete.keyManager.setActiveItem(this);\n\t}\n}\n","import { Directive, input } from '@angular/core';\n\n@Directive({\n\tselector: '[brnAutocompleteList]',\n\thost: {\n\t\trole: 'listbox',\n\t\t'[id]': 'id()',\n\t},\n})\nexport class BrnAutocompleteList {\n\tprivate static _id = 0;\n\n\t/** The id of the command list */\n\tpublic readonly id = input<string>(`brn-autocomplete-list-${++BrnAutocompleteList._id}`);\n}\n","import { BrnAutocomplete } from './lib/brn-autocomplete';\nimport { BrnAutocompleteEmpty } from './lib/brn-autocomplete-empty';\nimport { BrnAutocompleteGroup } from './lib/brn-autocomplete-group';\nimport { BrnAutocompleteItem } from './lib/brn-autocomplete-item';\nimport { BrnAutocompleteList } from './lib/brn-autocomplete-list';\nimport { BrnAutocompleteSearchInput } from './lib/brn-autocomplete-search-input';\n\nexport * from './lib/brn-autocomplete';\nexport * from './lib/brn-autocomplete-empty';\nexport * from './lib/brn-autocomplete-group';\nexport * from './lib/brn-autocomplete-item';\nexport * from './lib/brn-autocomplete-item.token';\nexport * from './lib/brn-autocomplete-list';\nexport * from './lib/brn-autocomplete-search-input';\nexport * from './lib/brn-autocomplete-search-input.token';\nexport * from './lib/brn-autocomplete.token';\n\nexport const BrnAutocompleteImports = [\n\tBrnAutocomplete,\n\tBrnAutocompleteEmpty,\n\tBrnAutocompleteGroup,\n\tBrnAutocompleteItem,\n\tBrnAutocompleteList,\n\tBrnAutocompleteSearchInput,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spartan-ng-brain-autocomplete.mjs","sources":["../../../../libs/brain/autocomplete/src/lib/brn-autocomplete-item.token.ts","../../../../libs/brain/autocomplete/src/lib/brn-autocomplete-search-input.token.ts","../../../../libs/brain/autocomplete/src/lib/brn-autocomplete.token.ts","../../../../libs/brain/autocomplete/src/lib/brn-autocomplete-search-input.ts","../../../../libs/brain/autocomplete/src/lib/brn-autocomplete.ts","../../../../libs/brain/autocomplete/src/lib/brn-autocomplete-empty.ts","../../../../libs/brain/autocomplete/src/lib/brn-autocomplete-group.ts","../../../../libs/brain/autocomplete/src/lib/brn-autocomplete-item.ts","../../../../libs/brain/autocomplete/src/lib/brn-autocomplete-list.ts","../../../../libs/brain/autocomplete/src/index.ts","../../../../libs/brain/autocomplete/src/spartan-ng-brain-autocomplete.ts"],"sourcesContent":["import { type ExistingProvider, InjectionToken, type Type } from '@angular/core';\nimport type { BrnAutocompleteItem } from './brn-autocomplete-item';\n\nexport const BrnAutocompleteItemToken = new InjectionToken<BrnAutocompleteItem<unknown>>('BrnAutocompleteItemToken');\n\nexport function provideBrnAutocompleteItem<T>(autocomplete: Type<BrnAutocompleteItem<T>>): ExistingProvider {\n\treturn { provide: BrnAutocompleteItemToken, useExisting: autocomplete };\n}\n","import { type ExistingProvider, InjectionToken, type Type } from '@angular/core';\nimport type { BrnAutocompleteSearchInput } from './brn-autocomplete-search-input';\n\nexport const BrnAutocompleteSearchInputToken = new InjectionToken<BrnAutocompleteSearchInput>(\n\t'BrnAutocompleteSearchInputToken',\n);\n\nexport function provideBrnAutocompleteSearchInput(autocomplete: Type<BrnAutocompleteSearchInput>): ExistingProvider {\n\treturn { provide: BrnAutocompleteSearchInputToken, useExisting: autocomplete };\n}\n","import { type ExistingProvider, inject, InjectionToken, type Type } from '@angular/core';\nimport type { BrnAutocomplete } from './brn-autocomplete';\n\nexport const BrnAutocompleteToken = new InjectionToken<BrnAutocomplete<unknown>>('BrnAutocompleteToken');\n\nexport function provideBrnAutocomplete<T>(autocomplete: Type<BrnAutocomplete<T>>): ExistingProvider {\n\treturn { provide: BrnAutocompleteToken, useExisting: autocomplete };\n}\n\nexport function injectBrnAutocomplete<T>(): BrnAutocomplete<T> {\n\treturn inject(BrnAutocompleteToken) as BrnAutocomplete<T>;\n}\n","import {\n\tDirective,\n\teffect,\n\tElementRef,\n\tforwardRef,\n\tInject,\n\tinput,\n\tlinkedSignal,\n\tOptional,\n\tRenderer2,\n\tsignal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { COMPOSITION_BUFFER_MODE, DefaultValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { startWith } from 'rxjs/operators';\nimport { provideBrnAutocompleteSearchInput } from './brn-autocomplete-search-input.token';\nimport { injectBrnAutocomplete } from './brn-autocomplete.token';\n\n@Directive({\n\tselector: 'input[brnAutocompleteSearchInput]',\n\tproviders: [\n\t\tprovideBrnAutocompleteSearchInput(BrnAutocompleteSearchInput),\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => BrnAutocompleteSearchInput),\n\t\t\tmulti: true,\n\t\t},\n\t],\n\thost: {\n\t\trole: 'combobox',\n\t\t'aria-autocomplete': 'list',\n\t\t'[attr.aria-activedescendant]': '_activeDescendant()',\n\t\t'(keydown)': 'onKeyDown($event)',\n\t\t'(input)': 'onInput()',\n\t},\n})\nexport class BrnAutocompleteSearchInput extends DefaultValueAccessor {\n\tprivate readonly _autocomplete = injectBrnAutocomplete();\n\n\t/** The initial value of the search input */\n\tpublic readonly value = input<string>('');\n\n\t/** @internal The \"real\" value of the search input */\n\tpublic readonly valueState = linkedSignal(() => this.value());\n\n\t/** The id of the active option */\n\tprotected readonly _activeDescendant = signal<string | undefined>(undefined);\n\n\tconstructor(\n\t\trenderer: Renderer2,\n\t\tprivate readonly elementRef: ElementRef,\n\t\t@Optional() @Inject(COMPOSITION_BUFFER_MODE) compositionMode: boolean,\n\t) {\n\t\tsuper(renderer, elementRef, compositionMode);\n\t\tthis._autocomplete.keyManager.change\n\t\t\t.pipe(startWith(this._autocomplete.keyManager.activeItemIndex), takeUntilDestroyed())\n\t\t\t.subscribe(() => this._activeDescendant.set(this._autocomplete.keyManager.activeItem?.id()));\n\n\t\teffect(() => {\n\t\t\tthis.elementRef.nativeElement.value = this.valueState();\n\t\t});\n\t}\n\t/** Listen for changes to the input value */\n\tprotected onInput(): void {\n\t\tthis.valueState.set(this.elementRef.nativeElement.value);\n\t}\n\n\t/** Listen for keydown events */\n\tprotected onKeyDown(event: KeyboardEvent): void {\n\t\tthis._autocomplete.keyManager.onKeydown(event);\n\t}\n\n\t/** CONROL VALUE ACCESSOR */\n\toverride writeValue(value: string | null): void {\n\t\tsuper.writeValue(value);\n\t\tif (value) {\n\t\t\tthis.valueState.set(value);\n\t\t}\n\t}\n}\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport {\n\tcomputed,\n\tcontentChild,\n\tcontentChildren,\n\tDirective,\n\teffect,\n\tinject,\n\tInjector,\n\tinput,\n\toutput,\n\tuntracked,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { BrnPopover } from '@spartan-ng/brain/popover';\nimport type { BrnAutocompleteItem } from './brn-autocomplete-item';\nimport { BrnAutocompleteItemToken } from './brn-autocomplete-item.token';\nimport { BrnAutocompleteSearchInput } from './brn-autocomplete-search-input';\nimport { provideBrnAutocomplete } from './brn-autocomplete.token';\n\n@Directive({\n\tselector: '[brnAutocomplete]',\n\tproviders: [provideBrnAutocomplete(BrnAutocomplete)],\n\thost: {\n\t\t'[id]': 'id()',\n\t\t'(keydown.enter)': 'selectActiveItem()',\n\t},\n})\nexport class BrnAutocomplete<T> {\n\tprivate static _id = 0;\n\n\tprivate readonly _injector = inject(Injector);\n\n\t/** The id of the autocomplete */\n\tpublic readonly id = input<string>(`brn-autocomplete-${++BrnAutocomplete._id}`);\n\n\t/** when the selection has changed */\n\tpublic readonly valueChange = output<T>();\n\n\t/** @internal The search query */\n\tpublic readonly search = computed(() => this._searchInput()?.valueState() ?? '');\n\n\t/** Access the popover if present */\n\tprivate readonly _brnPopover = inject(BrnPopover, { optional: true });\n\n\t/** Access the search input if present */\n\tprivate readonly _searchInput = contentChild(BrnAutocompleteSearchInput, {\n\t\tdescendants: true,\n\t});\n\n\t/** @internal Access all the items within the autocomplete */\n\tpublic readonly items = contentChildren<BrnAutocompleteItem<T>>(BrnAutocompleteItemToken, {\n\t\tdescendants: true,\n\t});\n\n\t/** @internal The key manager for managing active descendant */\n\tpublic readonly keyManager = new ActiveDescendantKeyManager(this.items, this._injector);\n\n\tconstructor() {\n\t\tthis.keyManager\n\t\t\t.withVerticalOrientation()\n\t\t\t.withHomeAndEnd()\n\t\t\t.withWrap()\n\t\t\t.skipPredicate((item) => item.disabled);\n\n\t\teffect(() => {\n\t\t\tconst items = this.items();\n\n\t\t\tuntracked(() => {\n\t\t\t\tconst activeItem = this.keyManager.activeItem;\n\t\t\t\tif (!activeItem || !items.includes(activeItem) || items[0] !== activeItem) {\n\t\t\t\t\tthis.keyManager.setFirstItemActive();\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tthis.keyManager.change.pipe(takeUntilDestroyed()).subscribe(() => {\n\t\t\tconst value = this.keyManager.activeItem?.value();\n\t\t\tif (value) {\n\t\t\t\tthis.valueChange.emit(value);\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected selectActiveItem(): void {\n\t\tif (this._brnPopover?.stateComputed() === 'open') {\n\t\t\tthis.keyManager.activeItem?.selected.emit();\n\t\t}\n\t}\n}\n","import { computed, Directive, effect, inject, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { injectBrnAutocomplete } from './brn-autocomplete.token';\n\n@Directive({\n\tselector: '[brnAutocompleteEmpty]',\n})\nexport class BrnAutocompleteEmpty {\n\tprivate readonly _templateRef = inject<TemplateRef<void>>(TemplateRef);\n\tprivate readonly _viewContainerRef = inject(ViewContainerRef);\n\tprivate readonly _autocomplete = injectBrnAutocomplete();\n\n\t/** Determine if the autocomplete has any items */\n\tprivate readonly _visible = computed(() => this._autocomplete.items().length > 0);\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tif (this._visible()) {\n\t\t\t\tthis._viewContainerRef.clear();\n\t\t\t} else {\n\t\t\t\tthis._viewContainerRef.createEmbeddedView(this._templateRef);\n\t\t\t}\n\t\t});\n\t}\n}\n","import { Directive, input } from '@angular/core';\n\n@Directive({\n\tselector: '[brnAutocompleteGroup]',\n\thost: {\n\t\trole: 'group',\n\t\t'[id]': 'id()',\n\t},\n})\nexport class BrnAutocompleteGroup {\n\tprivate static _id = 0;\n\n\t/** The id of the autocomplete list */\n\tpublic readonly id = input<string>(`brn-autocomplete-group-${++BrnAutocompleteGroup._id}`);\n}\n","import type { Highlightable } from '@angular/cdk/a11y';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport { isPlatformBrowser } from '@angular/common';\nimport { booleanAttribute, Directive, ElementRef, inject, input, output, PLATFORM_ID, signal } from '@angular/core';\nimport { provideBrnAutocompleteItem } from './brn-autocomplete-item.token';\nimport { injectBrnAutocomplete } from './brn-autocomplete.token';\n\n@Directive({\n\tselector: 'button[brnAutocompleteItem]',\n\tproviders: [provideBrnAutocompleteItem(BrnAutocompleteItem)],\n\thost: {\n\t\ttype: 'button',\n\t\trole: 'option',\n\t\ttabIndex: '-1',\n\t\t'[id]': 'id()',\n\t\t'[attr.disabled]': '_disabled() ? true : null',\n\t\t'[attr.data-disabled]': '_disabled() ? \"\" : null',\n\t\t'[attr.data-value]': 'value()',\n\t\t'[attr.aria-selected]': '_active()',\n\t\t'[attr.data-selected]': \"_active() ? '' : null\",\n\t\t'(click)': 'onClick()',\n\t\t'(mouseenter)': 'activate()',\n\t},\n})\nexport class BrnAutocompleteItem<T> implements Highlightable {\n\tprivate static _id = 0;\n\n\tprivate readonly _platform = inject(PLATFORM_ID);\n\n\tprivate readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\t/** Access the autocomplete component */\n\tprivate readonly _autocomplete = injectBrnAutocomplete<T>();\n\n\t/** A unique id for the item */\n\tpublic readonly id = input(`brn-autocomplete-item-${++BrnAutocompleteItem._id}`);\n\n\t/** The value this item represents. */\n\tpublic readonly value = input.required<T>();\n\n\t/** Whether the item is disabled. */\n\t// eslint-disable-next-line @typescript-eslint/naming-convention\n\tpublic readonly _disabled = input<boolean, BooleanInput>(false, {\n\t\talias: 'disabled',\n\t\ttransform: booleanAttribute,\n\t});\n\n\t/** Expose disabled as a value - used by the Highlightable interface */\n\tpublic get disabled() {\n\t\treturn this._disabled();\n\t}\n\n\t/** Whether the item is selected. */\n\tprotected readonly _active = signal(false);\n\n\t/** Emits when the item is selected. */\n\tpublic readonly selected = output<void>();\n\n\t/** @internal Get the display value */\n\tpublic getLabel(): string {\n\t\treturn this._elementRef.nativeElement.textContent?.trim() ?? '';\n\t}\n\n\t/** @internal */\n\tsetActiveStyles(): void {\n\t\tthis._active.set(true);\n\n\t\t// ensure the item is in view\n\t\tif (isPlatformBrowser(this._platform)) {\n\t\t\tthis._elementRef.nativeElement.scrollIntoView({ block: 'nearest' });\n\t\t}\n\t}\n\n\t/** @internal */\n\tsetInactiveStyles(): void {\n\t\tthis._active.set(false);\n\t}\n\n\tprotected onClick(): void {\n\t\tthis._autocomplete.keyManager.setActiveItem(this);\n\t\tthis.selected.emit();\n\t}\n\n\tprotected activate(): void {\n\t\tif (this._disabled()) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._autocomplete.keyManager.setActiveItem(this);\n\t}\n}\n","import { Directive, input } from '@angular/core';\n\n@Directive({\n\tselector: '[brnAutocompleteList]',\n\thost: {\n\t\trole: 'listbox',\n\t\t'[id]': 'id()',\n\t},\n})\nexport class BrnAutocompleteList {\n\tprivate static _id = 0;\n\n\t/** The id of the command list */\n\tpublic readonly id = input<string>(`brn-autocomplete-list-${++BrnAutocompleteList._id}`);\n}\n","import { BrnAutocomplete } from './lib/brn-autocomplete';\nimport { BrnAutocompleteEmpty } from './lib/brn-autocomplete-empty';\nimport { BrnAutocompleteGroup } from './lib/brn-autocomplete-group';\nimport { BrnAutocompleteItem } from './lib/brn-autocomplete-item';\nimport { BrnAutocompleteList } from './lib/brn-autocomplete-list';\nimport { BrnAutocompleteSearchInput } from './lib/brn-autocomplete-search-input';\n\nexport * from './lib/brn-autocomplete';\nexport * from './lib/brn-autocomplete-empty';\nexport * from './lib/brn-autocomplete-group';\nexport * from './lib/brn-autocomplete-item';\nexport * from './lib/brn-autocomplete-item.token';\nexport * from './lib/brn-autocomplete-list';\nexport * from './lib/brn-autocomplete-search-input';\nexport * from './lib/brn-autocomplete-search-input.token';\nexport * from './lib/brn-autocomplete.token';\n\nexport const BrnAutocompleteImports = [\n\tBrnAutocomplete,\n\tBrnAutocompleteEmpty,\n\tBrnAutocompleteGroup,\n\tBrnAutocompleteItem,\n\tBrnAutocompleteList,\n\tBrnAutocompleteSearchInput,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|