@spartan-ng/brain 0.0.1-alpha.404 → 0.0.1-alpha.406
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/alert-dialog/lib/brn-alert-dialog-trigger.directive.d.ts +3 -2
- package/command/lib/brn-command-item.directive.d.ts +2 -0
- package/command/lib/brn-command-search-input.directive.d.ts +15 -7
- package/dialog/index.d.ts +1 -0
- package/dialog/lib/brn-dialog-close.directive.d.ts +2 -4
- package/dialog/lib/brn-dialog-content.directive.d.ts +3 -3
- package/dialog/lib/brn-dialog-overlay.component.d.ts +3 -2
- package/dialog/lib/brn-dialog-token.d.ts +8 -0
- package/dialog/lib/brn-dialog-trigger.directive.d.ts +5 -2
- package/dialog/lib/brn-dialog.component.d.ts +52 -31
- package/esm2022/alert-dialog/lib/brn-alert-dialog-trigger.directive.mjs +16 -9
- package/esm2022/alert-dialog/lib/brn-alert-dialog.component.mjs +5 -5
- package/esm2022/command/lib/brn-command-item.directive.mjs +8 -4
- package/esm2022/command/lib/brn-command-search-input.directive.mjs +50 -18
- package/esm2022/command/lib/brn-command.directive.mjs +12 -10
- package/esm2022/dialog/index.mjs +2 -1
- package/esm2022/dialog/lib/brn-dialog-close.directive.mjs +6 -11
- package/esm2022/dialog/lib/brn-dialog-content.directive.mjs +19 -19
- package/esm2022/dialog/lib/brn-dialog-overlay.component.mjs +13 -9
- package/esm2022/dialog/lib/brn-dialog-token.mjs +15 -0
- package/esm2022/dialog/lib/brn-dialog-trigger.directive.mjs +16 -8
- package/esm2022/dialog/lib/brn-dialog.component.mjs +112 -133
- package/esm2022/popover/lib/brn-popover-trigger.directive.mjs +19 -13
- package/esm2022/popover/lib/brn-popover.component.mjs +36 -40
- package/esm2022/select/lib/brn-select.component.mjs +5 -3
- package/esm2022/sheet/lib/brn-sheet-trigger.directive.mjs +8 -9
- package/esm2022/sheet/lib/brn-sheet.component.mjs +27 -25
- package/fesm2022/spartan-ng-brain-alert-dialog.mjs +18 -11
- package/fesm2022/spartan-ng-brain-alert-dialog.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-command.mjs +66 -28
- package/fesm2022/spartan-ng-brain-command.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-dialog.mjs +170 -171
- package/fesm2022/spartan-ng-brain-dialog.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-popover.mjs +52 -50
- package/fesm2022/spartan-ng-brain-popover.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-select.mjs +4 -2
- package/fesm2022/spartan-ng-brain-select.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-sheet.mjs +32 -31
- package/fesm2022/spartan-ng-brain-sheet.mjs.map +1 -1
- package/hlm-tailwind-preset.css +43 -0
- package/package.json +2 -1
- package/popover/lib/brn-popover-trigger.directive.d.ts +2 -2
- package/popover/lib/brn-popover.component.d.ts +3 -6
- package/select/lib/brn-select.component.d.ts +3 -2
- package/sheet/lib/brn-sheet-trigger.directive.d.ts +2 -2
- package/sheet/lib/brn-sheet.component.d.ts +4 -3
|
@@ -2,7 +2,8 @@ import { BrnDialogTriggerDirective } from '@spartan-ng/brain/dialog';
|
|
|
2
2
|
import type { BrnAlertDialogComponent } from './brn-alert-dialog.component';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class BrnAlertDialogTriggerDirective extends BrnDialogTriggerDirective {
|
|
5
|
-
|
|
5
|
+
readonly brnAlertDialogTriggerFor: import("@angular/core").InputSignal<BrnAlertDialogComponent | undefined>;
|
|
6
|
+
constructor();
|
|
6
7
|
static ɵfac: i0.ɵɵFactoryDeclaration<BrnAlertDialogTriggerDirective, never>;
|
|
7
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<BrnAlertDialogTriggerDirective, "button[brnAlertDialogTrigger],button[brnAlertDialogTriggerFor]", never, { "brnAlertDialogTriggerFor": { "alias": "brnAlertDialogTriggerFor"; "required": false; }; }, {}, never, never, true, never>;
|
|
8
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<BrnAlertDialogTriggerDirective, "button[brnAlertDialogTrigger],button[brnAlertDialogTriggerFor]", never, { "brnAlertDialogTriggerFor": { "alias": "brnAlertDialogTriggerFor"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
8
9
|
}
|
|
@@ -26,6 +26,8 @@ export declare class BrnCommandItemDirective implements Highlightable, OnInit {
|
|
|
26
26
|
readonly selected: import("@angular/core").OutputEmitterRef<void>;
|
|
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
|
+
/** @internal Get the value of the item, with check if it has been initialized to avoid errors */
|
|
30
|
+
safeValue: import("@angular/core").Signal<string>;
|
|
29
31
|
/** @internal Get the display value */
|
|
30
32
|
getLabel(): string;
|
|
31
33
|
/** @internal */
|
|
@@ -1,16 +1,24 @@
|
|
|
1
|
+
import { ElementRef, Renderer2 } from '@angular/core';
|
|
2
|
+
import { DefaultValueAccessor } from '@angular/forms';
|
|
1
3
|
import * as i0 from "@angular/core";
|
|
2
|
-
export declare class BrnCommandSearchInputDirective {
|
|
4
|
+
export declare class BrnCommandSearchInputDirective extends DefaultValueAccessor {
|
|
5
|
+
private readonly elementRef;
|
|
3
6
|
private readonly _command;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
+
/** The initial value of the search input */
|
|
8
|
+
readonly value: import("@angular/core").InputSignal<string>;
|
|
9
|
+
/** @internal The mutable value of the search input */
|
|
10
|
+
readonly mutableValue: import("@angular/core").Signal<import("@angular/core").WritableSignal<string>>;
|
|
11
|
+
/** @internal The "real" value of the search input */
|
|
12
|
+
readonly valueState: import("@angular/core").Signal<string>;
|
|
7
13
|
/** The id of the active option */
|
|
8
14
|
protected readonly _activeDescendant: import("@angular/core").WritableSignal<string | undefined>;
|
|
9
|
-
constructor();
|
|
15
|
+
constructor(renderer: Renderer2, elementRef: ElementRef, compositionMode: boolean);
|
|
10
16
|
/** Listen for changes to the input value */
|
|
11
17
|
protected onInput(): void;
|
|
12
18
|
/** Listen for keydown events */
|
|
13
19
|
protected onKeyDown(event: KeyboardEvent): void;
|
|
14
|
-
|
|
15
|
-
|
|
20
|
+
/** CONROL VALUE ACCESSOR */
|
|
21
|
+
writeValue(value: string | null): void;
|
|
22
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BrnCommandSearchInputDirective, [null, null, { optional: true; }]>;
|
|
23
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<BrnCommandSearchInputDirective, "input[brnCommandSearchInput]", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
16
24
|
}
|
package/dialog/index.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ export * from './lib/brn-dialog-overlay.component';
|
|
|
21
21
|
export * from './lib/brn-dialog-ref';
|
|
22
22
|
export * from './lib/brn-dialog-state';
|
|
23
23
|
export * from './lib/brn-dialog-title.directive';
|
|
24
|
+
export * from './lib/brn-dialog-token';
|
|
24
25
|
export * from './lib/brn-dialog-trigger.directive';
|
|
25
26
|
export * from './lib/brn-dialog-utils';
|
|
26
27
|
export * from './lib/brn-dialog.component';
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { type NumberInput } from '@angular/cdk/coercion';
|
|
2
1
|
import * as i0 from "@angular/core";
|
|
3
2
|
export declare class BrnDialogCloseDirective {
|
|
4
3
|
private readonly _brnDialogRef;
|
|
5
|
-
|
|
6
|
-
set delay(value: NumberInput);
|
|
4
|
+
readonly delay: import("@angular/core").InputSignalWithTransform<number | undefined, number>;
|
|
7
5
|
close(): void;
|
|
8
6
|
static ɵfac: i0.ɵɵFactoryDeclaration<BrnDialogCloseDirective, never>;
|
|
9
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<BrnDialogCloseDirective, "button[brnDialogClose]", never, { "delay": { "alias": "delay"; "required": false; }; }, {}, never, never, true, never>;
|
|
7
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<BrnDialogCloseDirective, "button[brnDialogClose]", never, { "delay": { "alias": "delay"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
10
8
|
}
|
|
@@ -4,9 +4,9 @@ export declare class BrnDialogContentDirective<T> {
|
|
|
4
4
|
private readonly _brnDialogRef;
|
|
5
5
|
private readonly _template;
|
|
6
6
|
readonly state: import("@angular/core").Signal<import("@spartan-ng/brain/dialog").BrnDialogState>;
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
readonly className: import("@angular/core").InputSignal<string | null | undefined>;
|
|
8
|
+
readonly context: import("@angular/core").InputSignal<T | undefined>;
|
|
9
9
|
constructor();
|
|
10
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<BrnDialogContentDirective<any>, never>;
|
|
11
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<BrnDialogContentDirective<any>, "[brnDialogContent]", never, { "
|
|
11
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<BrnDialogContentDirective<any>, "[brnDialogContent]", never, { "className": { "alias": "class"; "required": false; "isSignal": true; }; "context": { "alias": "context"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
12
12
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
export declare class BrnDialogOverlayComponent {
|
|
3
3
|
private readonly _brnDialog;
|
|
4
|
-
|
|
4
|
+
readonly className: import("@angular/core").InputSignal<string | null | undefined>;
|
|
5
5
|
setClassToCustomElement(newClass: string): void;
|
|
6
|
+
constructor();
|
|
6
7
|
static ɵfac: i0.ɵɵFactoryDeclaration<BrnDialogOverlayComponent, never>;
|
|
7
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<BrnDialogOverlayComponent, "brn-dialog-overlay", never, { "
|
|
8
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BrnDialogOverlayComponent, "brn-dialog-overlay", never, { "className": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
8
9
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ValueProvider } from '@angular/core';
|
|
2
|
+
export interface BrnDialogDefaultOptions {
|
|
3
|
+
/** The delay in milliseconds before the dialog closes. */
|
|
4
|
+
closeDelay?: number;
|
|
5
|
+
}
|
|
6
|
+
export declare const defaultOptions: BrnDialogDefaultOptions;
|
|
7
|
+
export declare function provideBrnDialogDefaultOptions(options: Partial<BrnDialogDefaultOptions>): ValueProvider;
|
|
8
|
+
export declare function injectBrnDialogDefaultOptions(): BrnDialogDefaultOptions;
|
|
@@ -9,8 +9,11 @@ export declare class BrnDialogTriggerDirective {
|
|
|
9
9
|
readonly id: import("@angular/core").InputSignal<string>;
|
|
10
10
|
readonly state: Signal<BrnDialogState>;
|
|
11
11
|
readonly dialogId: string;
|
|
12
|
-
|
|
12
|
+
readonly brnDialogTriggerFor: import("@angular/core").InputSignal<BrnDialogComponent | undefined>;
|
|
13
|
+
readonly mutableBrnDialogTriggerFor: Signal<import("@angular/core").WritableSignal<BrnDialogComponent | undefined>>;
|
|
14
|
+
readonly brnDialogTriggerForState: Signal<BrnDialogComponent | undefined>;
|
|
15
|
+
constructor();
|
|
13
16
|
open(): void;
|
|
14
17
|
static ɵfac: i0.ɵɵFactoryDeclaration<BrnDialogTriggerDirective, never>;
|
|
15
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<BrnDialogTriggerDirective, "button[brnDialogTrigger],button[brnDialogTriggerFor]", ["brnDialogTrigger"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; "brnDialogTriggerFor": { "alias": "brnDialogTriggerFor"; "required": false; }; }, {}, never, never, true, never>;
|
|
18
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<BrnDialogTriggerDirective, "button[brnDialogTrigger],button[brnDialogTriggerFor]", ["brnDialogTrigger"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; "brnDialogTriggerFor": { "alias": "brnDialogTriggerFor"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
16
19
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { type
|
|
3
|
-
import { type ElementRef, EventEmitter, type TemplateRef } from '@angular/core';
|
|
1
|
+
import { OverlayPositionBuilder, ScrollStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay';
|
|
2
|
+
import { type TemplateRef } from '@angular/core';
|
|
4
3
|
import { type BrnDialogOptions } from './brn-dialog-options';
|
|
5
4
|
import type { BrnDialogState } from './brn-dialog-state';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
@@ -10,31 +9,59 @@ export declare class BrnDialogComponent {
|
|
|
10
9
|
readonly positionBuilder: OverlayPositionBuilder;
|
|
11
10
|
readonly ssos: ScrollStrategyOptions;
|
|
12
11
|
private readonly _injector;
|
|
12
|
+
protected readonly _defaultOptions: import("./brn-dialog-token").BrnDialogDefaultOptions;
|
|
13
13
|
private _context;
|
|
14
|
-
|
|
14
|
+
readonly stateComputed: import("@angular/core").Signal<BrnDialogState>;
|
|
15
15
|
private _contentTemplate;
|
|
16
16
|
private readonly _dialogRef;
|
|
17
17
|
private _dialogStateEffectRef?;
|
|
18
|
-
readonly
|
|
19
|
-
readonly
|
|
20
|
-
readonly
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
18
|
+
private readonly _backdropClass;
|
|
19
|
+
private readonly _panelClass;
|
|
20
|
+
readonly closed: import("@angular/core").OutputEmitterRef<any>;
|
|
21
|
+
readonly stateChanged: import("@angular/core").OutputEmitterRef<BrnDialogState>;
|
|
22
|
+
readonly state: import("@angular/core").InputSignal<BrnDialogState | null>;
|
|
23
|
+
readonly role: import("@angular/core").InputSignal<"dialog" | "alertdialog">;
|
|
24
|
+
readonly mutableRole: import("@angular/core").Signal<import("@angular/core").WritableSignal<"dialog" | "alertdialog">>;
|
|
25
|
+
private readonly _roleState;
|
|
26
|
+
readonly hasBackdrop: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
27
|
+
protected readonly _mutableHasBackdrop: import("@angular/core").Signal<import("@angular/core").WritableSignal<boolean>>;
|
|
28
|
+
protected readonly _hasBackdropState: import("@angular/core").Signal<boolean>;
|
|
29
|
+
readonly positionStrategy: import("@angular/core").InputSignal<import("@angular/cdk/overlay").PositionStrategy | null | undefined>;
|
|
30
|
+
readonly mutablePositionStrategy: import("@angular/core").Signal<import("@angular/core").WritableSignal<import("@angular/cdk/overlay").PositionStrategy | null | undefined>>;
|
|
31
|
+
private readonly _positionStrategyState;
|
|
32
|
+
readonly scrollStrategy: import("@angular/core").InputSignal<ScrollStrategy | "close" | "reposition" | null | undefined>;
|
|
33
|
+
readonly mutableScrollStrategy: import("@angular/core").Signal<import("@angular/core").WritableSignal<ScrollStrategy | "close" | "reposition" | null | undefined>>;
|
|
34
|
+
private readonly _scrollStrategyState;
|
|
35
|
+
protected _options: import("@angular/core").Signal<Partial<BrnDialogOptions>>;
|
|
36
|
+
constructor();
|
|
37
|
+
readonly restoreFocus: import("@angular/core").InputSignal<string | boolean | import("@angular/core").ElementRef<any>>;
|
|
38
|
+
readonly closeOnOutsidePointerEvents: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
39
|
+
readonly mutableCloseOnOutsidePointerEvents: import("@angular/core").Signal<import("@angular/core").WritableSignal<boolean>>;
|
|
40
|
+
private readonly _closeOnOutsidePointerEventsState;
|
|
41
|
+
readonly closeOnBackdropClick: import("@angular/core").InputSignalWithTransform<boolean | undefined, unknown>;
|
|
42
|
+
readonly mutableCloseOnBackdropClick: import("@angular/core").Signal<import("@angular/core").WritableSignal<boolean | undefined>>;
|
|
43
|
+
private readonly _closeOnBackdropClickState;
|
|
44
|
+
readonly attachTo: import("@angular/core").InputSignal<import("@angular/cdk/overlay").FlexibleConnectedPositionStrategyOrigin | null | undefined>;
|
|
45
|
+
readonly mutableAttachTo: import("@angular/core").Signal<import("@angular/core").WritableSignal<import("@angular/cdk/overlay").FlexibleConnectedPositionStrategyOrigin | null | undefined>>;
|
|
46
|
+
private readonly _attachToState;
|
|
47
|
+
readonly attachPositions: import("@angular/core").InputSignal<import("@angular/cdk/overlay").ConnectedPosition[]>;
|
|
48
|
+
readonly mutableAttachPositions: import("@angular/core").Signal<import("@angular/core").WritableSignal<import("@angular/cdk/overlay").ConnectedPosition[]>>;
|
|
49
|
+
private readonly _attachPositionsState;
|
|
50
|
+
readonly autoFocus: import("@angular/core").InputSignal<string>;
|
|
51
|
+
readonly closeDelay: import("@angular/core").InputSignalWithTransform<number, unknown>;
|
|
52
|
+
readonly disableClose: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
53
|
+
readonly ariaDescribedBy: import("@angular/core").InputSignal<string | null | undefined>;
|
|
54
|
+
private readonly _mutableAriaDescribedBy;
|
|
55
|
+
private readonly _ariaDescribedByState;
|
|
56
|
+
readonly ariaLabelledBy: import("@angular/core").InputSignal<string | null | undefined>;
|
|
57
|
+
private readonly _mutableAriaLabelledBy;
|
|
58
|
+
private readonly _ariaLabelledByState;
|
|
59
|
+
readonly ariaLabel: import("@angular/core").InputSignal<string | null | undefined>;
|
|
60
|
+
private readonly _mutableAriaLabel;
|
|
61
|
+
private readonly _ariaLabelState;
|
|
62
|
+
readonly ariaModal: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
63
|
+
private readonly _mutableAriaModal;
|
|
64
|
+
private readonly _ariaModalState;
|
|
38
65
|
open<DialogContext>(): void;
|
|
39
66
|
close(result: any, delay?: number): void;
|
|
40
67
|
registerTemplate(template: TemplateRef<unknown>): void;
|
|
@@ -46,11 +73,5 @@ export declare class BrnDialogComponent {
|
|
|
46
73
|
setAriaLabel(ariaLabel: string | null | undefined): void;
|
|
47
74
|
setAriaModal(ariaModal: boolean): void;
|
|
48
75
|
static ɵfac: i0.ɵɵFactoryDeclaration<BrnDialogComponent, never>;
|
|
49
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<BrnDialogComponent, "brn-dialog", ["brnDialog"], { "
|
|
50
|
-
static ngAcceptInputType_hasBackdrop: unknown;
|
|
51
|
-
static ngAcceptInputType_closeOnOutsidePointerEvents: unknown;
|
|
52
|
-
static ngAcceptInputType_closeOnBackdropClick: unknown;
|
|
53
|
-
static ngAcceptInputType_closeDelay: unknown;
|
|
54
|
-
static ngAcceptInputType_disableClose: unknown;
|
|
55
|
-
static ngAcceptInputType_ariaModal: unknown;
|
|
76
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BrnDialogComponent, "brn-dialog", ["brnDialog"], { "state": { "alias": "state"; "required": false; "isSignal": true; }; "role": { "alias": "role"; "required": false; "isSignal": true; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; "isSignal": true; }; "positionStrategy": { "alias": "positionStrategy"; "required": false; "isSignal": true; }; "scrollStrategy": { "alias": "scrollStrategy"; "required": false; "isSignal": true; }; "restoreFocus": { "alias": "restoreFocus"; "required": false; "isSignal": true; }; "closeOnOutsidePointerEvents": { "alias": "closeOnOutsidePointerEvents"; "required": false; "isSignal": true; }; "closeOnBackdropClick": { "alias": "closeOnBackdropClick"; "required": false; "isSignal": true; }; "attachTo": { "alias": "attachTo"; "required": false; "isSignal": true; }; "attachPositions": { "alias": "attachPositions"; "required": false; "isSignal": true; }; "autoFocus": { "alias": "autoFocus"; "required": false; "isSignal": true; }; "closeDelay": { "alias": "closeDelay"; "required": false; "isSignal": true; }; "disableClose": { "alias": "disableClose"; "required": false; "isSignal": true; }; "ariaDescribedBy": { "alias": "aria-describedby"; "required": false; "isSignal": true; }; "ariaLabelledBy": { "alias": "aria-labelledby"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "ariaModal": { "alias": "aria-modal"; "required": false; "isSignal": true; }; }, { "closed": "closed"; "stateChanged": "stateChanged"; }, never, ["*"], true, never>;
|
|
56
77
|
}
|
|
@@ -1,12 +1,21 @@
|
|
|
1
|
-
import { Directive,
|
|
1
|
+
import { Directive, effect, input, untracked } from '@angular/core';
|
|
2
2
|
import { BrnDialogTriggerDirective } from '@spartan-ng/brain/dialog';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class BrnAlertDialogTriggerDirective extends BrnDialogTriggerDirective {
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
brnAlertDialogTriggerFor = input();
|
|
6
|
+
constructor() {
|
|
7
|
+
super();
|
|
8
|
+
effect(() => {
|
|
9
|
+
const brnDialog = this.brnAlertDialogTriggerFor();
|
|
10
|
+
untracked(() => {
|
|
11
|
+
if (brnDialog) {
|
|
12
|
+
this.mutableBrnDialogTriggerFor().set(brnDialog);
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
});
|
|
7
16
|
}
|
|
8
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnAlertDialogTriggerDirective, deps:
|
|
9
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
17
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnAlertDialogTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
18
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.5", type: BrnAlertDialogTriggerDirective, isStandalone: true, selector: "button[brnAlertDialogTrigger],button[brnAlertDialogTriggerFor]", inputs: { brnAlertDialogTriggerFor: { classPropertyName: "brnAlertDialogTriggerFor", publicName: "brnAlertDialogTriggerFor", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "aria-haspopup": "dialog" }, properties: { "id": "id()", "attr.aria-expanded": "state() === 'open' ? 'true': 'false'", "attr.data-state": "state()", "attr.aria-controls": "dialogId" } }, usesInheritance: true, ngImport: i0 });
|
|
10
19
|
}
|
|
11
20
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnAlertDialogTriggerDirective, decorators: [{
|
|
12
21
|
type: Directive,
|
|
@@ -21,7 +30,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
21
30
|
'[attr.aria-controls]': 'dialogId',
|
|
22
31
|
},
|
|
23
32
|
}]
|
|
24
|
-
}],
|
|
25
|
-
|
|
26
|
-
}] } });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWFsZXJ0LWRpYWxvZy10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vYWxlcnQtZGlhbG9nL3NyYy9saWIvYnJuLWFsZXJ0LWRpYWxvZy10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFjckUsTUFBTSxPQUFPLDhCQUErQixTQUFRLHlCQUF5QjtJQUM1RSxJQUNXLHdCQUF3QixDQUFDLFNBQWtDO1FBQ3JFLEtBQUssQ0FBQyxtQkFBbUIsR0FBRyxTQUFTLENBQUM7SUFDdkMsQ0FBQzswSEFKVyw4QkFBOEI7OEdBQTlCLDhCQUE4Qjs7MkZBQTlCLDhCQUE4QjtrQkFYMUMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsZ0VBQWdFO29CQUMxRSxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNMLE1BQU0sRUFBRSxNQUFNO3dCQUNkLGVBQWUsRUFBRSxRQUFRO3dCQUN6QixzQkFBc0IsRUFBRSxzQ0FBc0M7d0JBQzlELG1CQUFtQixFQUFFLFNBQVM7d0JBQzlCLHNCQUFzQixFQUFFLFVBQVU7cUJBQ2xDO2lCQUNEOzhCQUdXLHdCQUF3QjtzQkFEbEMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJybkRpYWxvZ1RyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICdAc3BhcnRhbi1uZy9icmFpbi9kaWFsb2cnO1xuaW1wb3J0IHR5cGUgeyBCcm5BbGVydERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vYnJuLWFsZXJ0LWRpYWxvZy5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdidXR0b25bYnJuQWxlcnREaWFsb2dUcmlnZ2VyXSxidXR0b25bYnJuQWxlcnREaWFsb2dUcmlnZ2VyRm9yXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3Q6IHtcblx0XHQnW2lkXSc6ICdpZCgpJyxcblx0XHQnYXJpYS1oYXNwb3B1cCc6ICdkaWFsb2cnLFxuXHRcdCdbYXR0ci5hcmlhLWV4cGFuZGVkXSc6IFwic3RhdGUoKSA9PT0gJ29wZW4nID8gJ3RydWUnOiAnZmFsc2UnXCIsXG5cdFx0J1thdHRyLmRhdGEtc3RhdGVdJzogJ3N0YXRlKCknLFxuXHRcdCdbYXR0ci5hcmlhLWNvbnRyb2xzXSc6ICdkaWFsb2dJZCcsXG5cdH0sXG59KVxuZXhwb3J0IGNsYXNzIEJybkFsZXJ0RGlhbG9nVHJpZ2dlckRpcmVjdGl2ZSBleHRlbmRzIEJybkRpYWxvZ1RyaWdnZXJEaXJlY3RpdmUge1xuXHRASW5wdXQoKVxuXHRwdWJsaWMgc2V0IGJybkFsZXJ0RGlhbG9nVHJpZ2dlckZvcihicm5EaWFsb2c6IEJybkFsZXJ0RGlhbG9nQ29tcG9uZW50KSB7XG5cdFx0c3VwZXIuYnJuRGlhbG9nVHJpZ2dlckZvciA9IGJybkRpYWxvZztcblx0fVxufVxuIl19
|
|
33
|
+
}], ctorParameters: () => [] });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWFsZXJ0LWRpYWxvZy10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vYWxlcnQtZGlhbG9nL3NyYy9saWIvYnJuLWFsZXJ0LWRpYWxvZy10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQWNyRSxNQUFNLE9BQU8sOEJBQStCLFNBQVEseUJBQXlCO0lBQzVELHdCQUF3QixHQUFHLEtBQUssRUFBdUMsQ0FBQztJQUV4RjtRQUNDLEtBQUssRUFBRSxDQUFDO1FBQ1IsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNYLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQ2xELFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxTQUFTLEVBQUUsQ0FBQztvQkFDZixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ2xELENBQUM7WUFDRixDQUFDLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQzswSEFiVyw4QkFBOEI7OEdBQTlCLDhCQUE4Qjs7MkZBQTlCLDhCQUE4QjtrQkFYMUMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsZ0VBQWdFO29CQUMxRSxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNMLE1BQU0sRUFBRSxNQUFNO3dCQUNkLGVBQWUsRUFBRSxRQUFRO3dCQUN6QixzQkFBc0IsRUFBRSxzQ0FBc0M7d0JBQzlELG1CQUFtQixFQUFFLFNBQVM7d0JBQzlCLHNCQUFzQixFQUFFLFVBQVU7cUJBQ2xDO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBlZmZlY3QsIGlucHV0LCB1bnRyYWNrZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJybkRpYWxvZ1RyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICdAc3BhcnRhbi1uZy9icmFpbi9kaWFsb2cnO1xuaW1wb3J0IHR5cGUgeyBCcm5BbGVydERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vYnJuLWFsZXJ0LWRpYWxvZy5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdidXR0b25bYnJuQWxlcnREaWFsb2dUcmlnZ2VyXSxidXR0b25bYnJuQWxlcnREaWFsb2dUcmlnZ2VyRm9yXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3Q6IHtcblx0XHQnW2lkXSc6ICdpZCgpJyxcblx0XHQnYXJpYS1oYXNwb3B1cCc6ICdkaWFsb2cnLFxuXHRcdCdbYXR0ci5hcmlhLWV4cGFuZGVkXSc6IFwic3RhdGUoKSA9PT0gJ29wZW4nID8gJ3RydWUnOiAnZmFsc2UnXCIsXG5cdFx0J1thdHRyLmRhdGEtc3RhdGVdJzogJ3N0YXRlKCknLFxuXHRcdCdbYXR0ci5hcmlhLWNvbnRyb2xzXSc6ICdkaWFsb2dJZCcsXG5cdH0sXG59KVxuZXhwb3J0IGNsYXNzIEJybkFsZXJ0RGlhbG9nVHJpZ2dlckRpcmVjdGl2ZSBleHRlbmRzIEJybkRpYWxvZ1RyaWdnZXJEaXJlY3RpdmUge1xuXHRwdWJsaWMgcmVhZG9ubHkgYnJuQWxlcnREaWFsb2dUcmlnZ2VyRm9yID0gaW5wdXQ8QnJuQWxlcnREaWFsb2dDb21wb25lbnQgfCB1bmRlZmluZWQ+KCk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0c3VwZXIoKTtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3QgYnJuRGlhbG9nID0gdGhpcy5icm5BbGVydERpYWxvZ1RyaWdnZXJGb3IoKTtcblx0XHRcdHVudHJhY2tlZCgoKSA9PiB7XG5cdFx0XHRcdGlmIChicm5EaWFsb2cpIHtcblx0XHRcdFx0XHR0aGlzLm11dGFibGVCcm5EaWFsb2dUcmlnZ2VyRm9yKCkuc2V0KGJybkRpYWxvZyk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9XG59XG4iXX0=
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component,
|
|
1
|
+
import { ChangeDetectionStrategy, Component, forwardRef, ViewEncapsulation } from '@angular/core';
|
|
2
2
|
import { BrnDialogComponent } from '@spartan-ng/brain/dialog';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class BrnAlertDialogComponent extends BrnDialogComponent {
|
|
5
5
|
constructor() {
|
|
6
6
|
super();
|
|
7
|
-
this.
|
|
8
|
-
this.
|
|
9
|
-
this.
|
|
7
|
+
this.mutableCloseOnOutsidePointerEvents().set(false);
|
|
8
|
+
this.mutableCloseOnBackdropClick().set(false);
|
|
9
|
+
this.mutableRole().set('alertdialog');
|
|
10
10
|
}
|
|
11
11
|
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnAlertDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
12
12
|
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: BrnAlertDialogComponent, isStandalone: true, selector: "brn-alert-dialog", providers: [
|
|
@@ -37,4 +37,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
37
37
|
exportAs: 'brnAlertDialog',
|
|
38
38
|
}]
|
|
39
39
|
}], ctorParameters: () => [] });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWFsZXJ0LWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2FsZXJ0LWRpYWxvZy9zcmMvbGliL2Jybi1hbGVydC1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQWtCOUQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGtCQUFrQjtJQUM5RDtRQUNDLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLGtDQUFrQyxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7MEhBTlcsdUJBQXVCOzhHQUF2Qix1QkFBdUIsK0RBVnhCO1lBQ1Y7Z0JBQ0MsT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsRUFBQzthQUN0RDtTQUNELCtFQVJTOztFQUVUOzsyRkFXVyx1QkFBdUI7a0JBaEJuQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7O0VBRVQ7b0JBQ0QsU0FBUyxFQUFFO3dCQUNWOzRCQUNDLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFdBQVcsRUFBRSxVQUFVLEVBQUMsR0FBRyxFQUFFLHdCQUF3QixFQUFDO3lCQUN0RDtxQkFDRDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgZm9yd2FyZFJlZiwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJybkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJ0BzcGFydGFuLW5nL2JyYWluL2RpYWxvZyc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2Jybi1hbGVydC1kaWFsb2cnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZy1jb250ZW50IC8+XG5cdGAsXG5cdHByb3ZpZGVyczogW1xuXHRcdHtcblx0XHRcdHByb3ZpZGU6IEJybkRpYWxvZ0NvbXBvbmVudCxcblx0XHRcdHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEJybkFsZXJ0RGlhbG9nQ29tcG9uZW50KSxcblx0XHR9LFxuXHRdLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0ZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcblx0ZXhwb3J0QXM6ICdicm5BbGVydERpYWxvZycsXG59KVxuZXhwb3J0IGNsYXNzIEJybkFsZXJ0RGlhbG9nQ29tcG9uZW50IGV4dGVuZHMgQnJuRGlhbG9nQ29tcG9uZW50IHtcblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0c3VwZXIoKTtcblx0XHR0aGlzLm11dGFibGVDbG9zZU9uT3V0c2lkZVBvaW50ZXJFdmVudHMoKS5zZXQoZmFsc2UpO1xuXHRcdHRoaXMubXV0YWJsZUNsb3NlT25CYWNrZHJvcENsaWNrKCkuc2V0KGZhbHNlKTtcblx0XHR0aGlzLm11dGFibGVSb2xlKCkuc2V0KCdhbGVydGRpYWxvZycpO1xuXHR9XG59XG4iXX0=
|
|
@@ -32,14 +32,18 @@ export class BrnCommandItemDirective {
|
|
|
32
32
|
selected = output();
|
|
33
33
|
/** @internal Determine if this item is visible based on the current search query */
|
|
34
34
|
visible = computed(() => {
|
|
35
|
+
return this._command.filter()(this.safeValue(), this._command.search());
|
|
36
|
+
});
|
|
37
|
+
/** @internal Get the value of the item, with check if it has been initialized to avoid errors */
|
|
38
|
+
safeValue = computed(() => {
|
|
35
39
|
if (!this._initialized()) {
|
|
36
|
-
return
|
|
40
|
+
return '';
|
|
37
41
|
}
|
|
38
|
-
return this.
|
|
42
|
+
return this.value();
|
|
39
43
|
});
|
|
40
44
|
/** @internal Get the display value */
|
|
41
45
|
getLabel() {
|
|
42
|
-
return this.
|
|
46
|
+
return this.safeValue();
|
|
43
47
|
}
|
|
44
48
|
/** @internal */
|
|
45
49
|
setActiveStyles() {
|
|
@@ -85,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
85
89
|
type: HostListener,
|
|
86
90
|
args: ['click']
|
|
87
91
|
}] } });
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNvbW1hbmQtaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2NvbW1hbmQvc3JjL2xpYi9icm4tY29tbWFuZC1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQ04sZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUVMLE1BQU0sRUFDTixXQUFXLEVBQ1gsTUFBTSxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQWtCdkQsTUFBTSxPQUFPLHVCQUF1QjtJQUMzQixNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUVOLFNBQVMsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFaEMsV0FBVyxHQUFHLE1BQU0sQ0FBMEIsVUFBVSxDQUFDLENBQUM7SUFFM0UsbUNBQW1DO0lBQ2xCLFFBQVEsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO0lBRS9DLCtCQUErQjtJQUNmLEVBQUUsR0FBRyxLQUFLLENBQUMsb0JBQW9CLHVCQUF1QixDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVoRixzQ0FBc0M7SUFDdEIsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztJQUVqRCxvQ0FBb0M7SUFDcEIsU0FBUyxHQUFHLEtBQUssQ0FBd0IsS0FBSyxFQUFFO1FBQy9ELEtBQUssRUFBRSxVQUFVO1FBQ2pCLFNBQVMsRUFBRSxnQkFBZ0I7S0FDM0IsQ0FBQyxDQUFDO0lBRUgsdUVBQXVFO0lBQ3ZFLElBQVcsUUFBUTtRQUNsQixPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQ7O09BRUc7SUFDYyxZQUFZLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTlDLG9DQUFvQztJQUNqQixNQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTFDLHVDQUF1QztJQUN2QixRQUFRLEdBQUcsTUFBTSxFQUFRLENBQUM7SUFFMUMsb0ZBQW9GO0lBQ3BFLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUMsQ0FBQyxDQUFDO0lBRUgsaUdBQWlHO0lBQzFGLFNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQztZQUMxQixPQUFPLEVBQUUsQ0FBQztRQUNYLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNyQixDQUFDLENBQUMsQ0FBQztJQUVILHNDQUFzQztJQUMvQixRQUFRO1FBQ2QsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELGdCQUFnQjtJQUNoQixlQUFlO1FBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdEIsNkJBQTZCO1FBQzdCLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDckUsQ0FBQztJQUNGLENBQUM7SUFFRCxnQkFBZ0I7SUFDaEIsaUJBQWlCO1FBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFHUyxPQUFPO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxRQUFRO1FBQ1AsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQzswSEEvRVcsdUJBQXVCOzhHQUF2Qix1QkFBdUIsMHpCQWJ4QixDQUFDLHFCQUFxQixDQUFDLHVCQUF1QixDQUFDLENBQUM7OzJGQWEvQyx1QkFBdUI7a0JBaEJuQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUUsQ0FBQyxxQkFBcUIseUJBQXlCLENBQUM7b0JBQzNELElBQUksRUFBRTt3QkFDTCxJQUFJLEVBQUUsUUFBUTt3QkFDZCxJQUFJLEVBQUUsUUFBUTt3QkFDZCxRQUFRLEVBQUUsSUFBSTt3QkFDZCxNQUFNLEVBQUUsTUFBTTt3QkFDZCxpQkFBaUIsRUFBRSwyQkFBMkI7d0JBQzlDLG1CQUFtQixFQUFFLFNBQVM7d0JBQzlCLG9CQUFvQixFQUFFLHdCQUF3Qjt3QkFDOUMsc0JBQXNCLEVBQUUsVUFBVTt3QkFDbEMsc0JBQXNCLEVBQUUsc0JBQXNCO3FCQUM5QztpQkFDRDs4QkF5RVUsT0FBTztzQkFEaEIsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGlnaGxpZ2h0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuXHRib29sZWFuQXR0cmlidXRlLFxuXHRjb21wdXRlZCxcblx0RGlyZWN0aXZlLFxuXHRFbGVtZW50UmVmLFxuXHRIb3N0TGlzdGVuZXIsXG5cdGluamVjdCxcblx0aW5wdXQsXG5cdE9uSW5pdCxcblx0b3V0cHV0LFxuXHRQTEFURk9STV9JRCxcblx0c2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHByb3ZpZGVCcm5Db21tYW5kSXRlbSB9IGZyb20gJy4vYnJuLWNvbW1hbmQtaXRlbS50b2tlbic7XG5pbXBvcnQgeyBpbmplY3RCcm5Db21tYW5kIH0gZnJvbSAnLi9icm4tY29tbWFuZC50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ2J1dHRvblticm5Db21tYW5kSXRlbV0nLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRwcm92aWRlcnM6IFtwcm92aWRlQnJuQ29tbWFuZEl0ZW0oQnJuQ29tbWFuZEl0ZW1EaXJlY3RpdmUpXSxcblx0aG9zdDoge1xuXHRcdHR5cGU6ICdidXR0b24nLFxuXHRcdHJvbGU6ICdvcHRpb24nLFxuXHRcdHRhYkluZGV4OiAnLTEnLFxuXHRcdCdbaWRdJzogJ2lkKCknLFxuXHRcdCdbYXR0ci5kaXNhYmxlZF0nOiAnX2Rpc2FibGVkKCkgPyB0cnVlIDogbnVsbCcsXG5cdFx0J1thdHRyLmRhdGEtdmFsdWVdJzogJ3ZhbHVlKCknLFxuXHRcdCdbYXR0ci5kYXRhLWhpZGRlbl0nOiBcIiF2aXNpYmxlKCkgPyAnJyA6IG51bGxcIixcblx0XHQnW2F0dHIuYXJpYS1zZWxlY3RlZF0nOiAnYWN0aXZlKCknLFxuXHRcdCdbYXR0ci5kYXRhLXNlbGVjdGVkXSc6IFwiYWN0aXZlKCkgPyAnJyA6IG51bGxcIixcblx0fSxcbn0pXG5leHBvcnQgY2xhc3MgQnJuQ29tbWFuZEl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBIaWdobGlnaHRhYmxlLCBPbkluaXQge1xuXHRwcml2YXRlIHN0YXRpYyBfaWQgPSAwO1xuXG5cdHByaXZhdGUgcmVhZG9ubHkgX3BsYXRmb3JtID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcblxuXHRwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcblxuXHQvKiogQWNjZXNzIHRoZSBjb21tYW5kIGNvbXBvbmVudCAqL1xuXHRwcml2YXRlIHJlYWRvbmx5IF9jb21tYW5kID0gaW5qZWN0QnJuQ29tbWFuZCgpO1xuXG5cdC8qKiBBIHVuaXF1ZSBpZCBmb3IgdGhlIGl0ZW0gKi9cblx0cHVibGljIHJlYWRvbmx5IGlkID0gaW5wdXQoYGJybi1jb21tYW5kLWl0ZW0tJHtCcm5Db21tYW5kSXRlbURpcmVjdGl2ZS5faWQrK31gKTtcblxuXHQvKiogVGhlIHZhbHVlIHRoaXMgaXRlbSByZXByZXNlbnRzLiAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgdmFsdWUgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG5cblx0LyoqIFdoZXRoZXIgdGhlIGl0ZW0gaXMgZGlzYWJsZWQuICovXG5cdHB1YmxpYyByZWFkb25seSBfZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuLCBCb29sZWFuSW5wdXQ+KGZhbHNlLCB7XG5cdFx0YWxpYXM6ICdkaXNhYmxlZCcsXG5cdFx0dHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuXHR9KTtcblxuXHQvKiogRXhwb3NlIGRpc2FibGVkIGFzIGEgdmFsdWUgLSB1c2VkIGJ5IHRoZSBIaWdobGlnaHRhYmxlIGludGVyZmFjZSAqL1xuXHRwdWJsaWMgZ2V0IGRpc2FibGVkKCkge1xuXHRcdHJldHVybiB0aGlzLl9kaXNhYmxlZCgpO1xuXHR9XG5cblx0LyoqIFdoZXRoZXIgdGhlIGl0ZW0gaXMgaW5pdGlhbGl6ZWQsIHRoaXMgaXMgdG8gcHJldmVudCBhY2Nlc3NpbmcgdGhlIHZhbHVlLWlucHV0IGJlZm9yZSB0aGUgY29tcG9uZW50IGlzIGluaXRpYWxpemVkLlxuXHQgKiBUaGUgYnJuLWNvbW1hbmQtZW1wdHkgZGlyZWN0aXZlIGFjY2Vzc2VzIHRoZSB2YWx1ZSBiZWZvcmUgdGhlIGNvbXBvbmVudCBpcyBpbml0aWFsaXplZCwgd2hpY2ggY2F1c2VzIGFuIGVycm9yLlxuXHQgKi9cblx0cHJpdmF0ZSByZWFkb25seSBfaW5pdGlhbGl6ZWQgPSBzaWduYWwoZmFsc2UpO1xuXG5cdC8qKiBXaGV0aGVyIHRoZSBpdGVtIGlzIHNlbGVjdGVkLiAqL1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgYWN0aXZlID0gc2lnbmFsKGZhbHNlKTtcblxuXHQvKiogRW1pdHMgd2hlbiB0aGUgaXRlbSBpcyBzZWxlY3RlZC4gKi9cblx0cHVibGljIHJlYWRvbmx5IHNlbGVjdGVkID0gb3V0cHV0PHZvaWQ+KCk7XG5cblx0LyoqIEBpbnRlcm5hbCBEZXRlcm1pbmUgaWYgdGhpcyBpdGVtIGlzIHZpc2libGUgYmFzZWQgb24gdGhlIGN1cnJlbnQgc2VhcmNoIHF1ZXJ5ICovXG5cdHB1YmxpYyByZWFkb25seSB2aXNpYmxlID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdHJldHVybiB0aGlzLl9jb21tYW5kLmZpbHRlcigpKHRoaXMuc2FmZVZhbHVlKCksIHRoaXMuX2NvbW1hbmQuc2VhcmNoKCkpO1xuXHR9KTtcblxuXHQvKiogQGludGVybmFsIEdldCB0aGUgdmFsdWUgb2YgdGhlIGl0ZW0sIHdpdGggY2hlY2sgaWYgaXQgaGFzIGJlZW4gaW5pdGlhbGl6ZWQgdG8gYXZvaWQgZXJyb3JzICovXG5cdHB1YmxpYyBzYWZlVmFsdWUgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0aWYgKCF0aGlzLl9pbml0aWFsaXplZCgpKSB7XG5cdFx0XHRyZXR1cm4gJyc7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLnZhbHVlKCk7XG5cdH0pO1xuXG5cdC8qKiBAaW50ZXJuYWwgR2V0IHRoZSBkaXNwbGF5IHZhbHVlICovXG5cdHB1YmxpYyBnZXRMYWJlbCgpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLnNhZmVWYWx1ZSgpO1xuXHR9XG5cblx0LyoqIEBpbnRlcm5hbCAqL1xuXHRzZXRBY3RpdmVTdHlsZXMoKTogdm9pZCB7XG5cdFx0dGhpcy5hY3RpdmUuc2V0KHRydWUpO1xuXG5cdFx0Ly8gZW5zdXJlIHRoZSBpdGVtIGlzIGluIHZpZXdcblx0XHRpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5fcGxhdGZvcm0pKSB7XG5cdFx0XHR0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBibG9jazogJ25lYXJlc3QnIH0pO1xuXHRcdH1cblx0fVxuXG5cdC8qKiBAaW50ZXJuYWwgKi9cblx0c2V0SW5hY3RpdmVTdHlsZXMoKTogdm9pZCB7XG5cdFx0dGhpcy5hY3RpdmUuc2V0KGZhbHNlKTtcblx0fVxuXG5cdEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcblx0cHJvdGVjdGVkIG9uQ2xpY2soKTogdm9pZCB7XG5cdFx0dGhpcy5fY29tbWFuZC5rZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0odGhpcyk7XG5cdFx0dGhpcy5zZWxlY3RlZC5lbWl0KCk7XG5cdH1cblxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcblx0XHR0aGlzLl9pbml0aWFsaXplZC5zZXQodHJ1ZSk7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -1,49 +1,81 @@
|
|
|
1
|
-
import { Directive, ElementRef,
|
|
1
|
+
import { computed, Directive, effect, ElementRef, Inject, input, Optional, Renderer2, signal } from '@angular/core';
|
|
2
2
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
|
+
import { COMPOSITION_BUFFER_MODE, DefaultValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
4
|
import { startWith } from 'rxjs/operators';
|
|
4
5
|
import { provideBrnCommandSearchInput } from './brn-command-search-input.token';
|
|
5
6
|
import { injectBrnCommand } from './brn-command.token';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
|
-
export class BrnCommandSearchInputDirective {
|
|
8
|
+
export class BrnCommandSearchInputDirective extends DefaultValueAccessor {
|
|
9
|
+
elementRef;
|
|
8
10
|
_command = injectBrnCommand();
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
value
|
|
11
|
+
/** The initial value of the search input */
|
|
12
|
+
value = input('');
|
|
13
|
+
/** @internal The mutable value of the search input */
|
|
14
|
+
mutableValue = computed(() => signal(this.value()));
|
|
15
|
+
/** @internal The "real" value of the search input */
|
|
16
|
+
valueState = computed(() => this.mutableValue()());
|
|
12
17
|
/** The id of the active option */
|
|
13
18
|
_activeDescendant = signal(undefined);
|
|
14
|
-
constructor() {
|
|
19
|
+
constructor(renderer, elementRef, compositionMode) {
|
|
20
|
+
super(renderer, elementRef, compositionMode);
|
|
21
|
+
this.elementRef = elementRef;
|
|
15
22
|
this._command.keyManager.change
|
|
16
23
|
.pipe(startWith(this._command.keyManager.activeItemIndex), takeUntilDestroyed())
|
|
17
24
|
.subscribe(() => this._activeDescendant.set(this._command.keyManager.activeItem?.id()));
|
|
25
|
+
effect(() => {
|
|
26
|
+
this.elementRef.nativeElement.value = this.valueState();
|
|
27
|
+
});
|
|
18
28
|
}
|
|
19
29
|
/** Listen for changes to the input value */
|
|
20
30
|
onInput() {
|
|
21
|
-
this.
|
|
31
|
+
this.mutableValue().set(this.elementRef.nativeElement.value);
|
|
22
32
|
}
|
|
23
33
|
/** Listen for keydown events */
|
|
24
34
|
onKeyDown(event) {
|
|
25
35
|
this._command.keyManager.onKeydown(event);
|
|
26
36
|
}
|
|
27
|
-
/**
|
|
28
|
-
|
|
37
|
+
/** CONROL VALUE ACCESSOR */
|
|
38
|
+
writeValue(value) {
|
|
39
|
+
super.writeValue(value);
|
|
40
|
+
if (value) {
|
|
41
|
+
this.mutableValue().set(value);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandSearchInputDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: COMPOSITION_BUFFER_MODE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
45
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.5", type: BrnCommandSearchInputDirective, isStandalone: true, selector: "input[brnCommandSearchInput]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "combobox", "aria-autocomplete": "list" }, listeners: { "keydown": "onKeyDown($event)", "input": "onInput()" }, properties: { "attr.aria-activedescendant": "_activeDescendant()" } }, providers: [
|
|
46
|
+
provideBrnCommandSearchInput(BrnCommandSearchInputDirective),
|
|
47
|
+
{
|
|
48
|
+
provide: NG_VALUE_ACCESSOR,
|
|
49
|
+
useExisting: BrnCommandSearchInputDirective,
|
|
50
|
+
multi: true,
|
|
51
|
+
},
|
|
52
|
+
], usesInheritance: true, ngImport: i0 });
|
|
29
53
|
}
|
|
30
54
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandSearchInputDirective, decorators: [{
|
|
31
55
|
type: Directive,
|
|
32
56
|
args: [{
|
|
33
57
|
selector: 'input[brnCommandSearchInput]',
|
|
34
58
|
standalone: true,
|
|
35
|
-
providers: [
|
|
59
|
+
providers: [
|
|
60
|
+
provideBrnCommandSearchInput(BrnCommandSearchInputDirective),
|
|
61
|
+
{
|
|
62
|
+
provide: NG_VALUE_ACCESSOR,
|
|
63
|
+
useExisting: BrnCommandSearchInputDirective,
|
|
64
|
+
multi: true,
|
|
65
|
+
},
|
|
66
|
+
],
|
|
36
67
|
host: {
|
|
37
68
|
role: 'combobox',
|
|
38
69
|
'aria-autocomplete': 'list',
|
|
39
70
|
'[attr.aria-activedescendant]': '_activeDescendant()',
|
|
71
|
+
'(keydown)': 'onKeyDown($event)',
|
|
72
|
+
'(input)': 'onInput()',
|
|
40
73
|
},
|
|
41
74
|
}]
|
|
42
|
-
}], ctorParameters: () => [
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNvbW1hbmQtc2VhcmNoLWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vY29tbWFuZC9zcmMvbGliL2Jybi1jb21tYW5kLXNlYXJjaC1pbnB1dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQVl2RCxNQUFNLE9BQU8sOEJBQThCO0lBQ3pCLFFBQVEsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzlCLFdBQVcsR0FBRyxNQUFNLENBQStCLFVBQVUsQ0FBQyxDQUFDO0lBRWhGLDhDQUE4QztJQUM5QixLQUFLLEdBQUcsTUFBTSxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBRTNDLGtDQUFrQztJQUNmLGlCQUFpQixHQUFHLE1BQU0sQ0FBcUIsU0FBUyxDQUFDLENBQUM7SUFFN0U7UUFDQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNO2FBQzdCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQzthQUMvRSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFRCw0Q0FBNEM7SUFFbEMsT0FBTztRQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsZ0NBQWdDO0lBRXRCLFNBQVMsQ0FBQyxLQUFvQjtRQUN2QyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQzswSEExQlcsOEJBQThCOzhHQUE5Qiw4QkFBOEIsZ1NBUC9CLENBQUMsNEJBQTRCLENBQUMsOEJBQThCLENBQUMsQ0FBQzs7MkZBTzdELDhCQUE4QjtrQkFWMUMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsOEJBQThCO29CQUN4QyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFLENBQUMsNEJBQTRCLGdDQUFnQyxDQUFDO29CQUN6RSxJQUFJLEVBQUU7d0JBQ0wsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLG1CQUFtQixFQUFFLE1BQU07d0JBQzNCLDhCQUE4QixFQUFFLHFCQUFxQjtxQkFDckQ7aUJBQ0Q7d0RBbUJVLE9BQU87c0JBRGhCLFlBQVk7dUJBQUMsT0FBTztnQkFPWCxTQUFTO3NCQURsQixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgcHJvdmlkZUJybkNvbW1hbmRTZWFyY2hJbnB1dCB9IGZyb20gJy4vYnJuLWNvbW1hbmQtc2VhcmNoLWlucHV0LnRva2VuJztcbmltcG9ydCB7IGluamVjdEJybkNvbW1hbmQgfSBmcm9tICcuL2Jybi1jb21tYW5kLnRva2VuJztcblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnaW5wdXRbYnJuQ29tbWFuZFNlYXJjaElucHV0XScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHByb3ZpZGVyczogW3Byb3ZpZGVCcm5Db21tYW5kU2VhcmNoSW5wdXQoQnJuQ29tbWFuZFNlYXJjaElucHV0RGlyZWN0aXZlKV0sXG5cdGhvc3Q6IHtcblx0XHRyb2xlOiAnY29tYm9ib3gnLFxuXHRcdCdhcmlhLWF1dG9jb21wbGV0ZSc6ICdsaXN0Jyxcblx0XHQnW2F0dHIuYXJpYS1hY3RpdmVkZXNjZW5kYW50XSc6ICdfYWN0aXZlRGVzY2VuZGFudCgpJyxcblx0fSxcbn0pXG5leHBvcnQgY2xhc3MgQnJuQ29tbWFuZFNlYXJjaElucHV0RGlyZWN0aXZlIHtcblx0cHJpdmF0ZSByZWFkb25seSBfY29tbWFuZCA9IGluamVjdEJybkNvbW1hbmQoKTtcblx0cHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcblxuXHQvKiogQGludGVybmFsIEV4cG9zZSB0aGUgY3VycmVudCB0ZXh0IHZhbHVlICovXG5cdHB1YmxpYyByZWFkb25seSB2YWx1ZSA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcblxuXHQvKiogVGhlIGlkIG9mIHRoZSBhY3RpdmUgb3B0aW9uICovXG5cdHByb3RlY3RlZCByZWFkb25seSBfYWN0aXZlRGVzY2VuZGFudCA9IHNpZ25hbDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0dGhpcy5fY29tbWFuZC5rZXlNYW5hZ2VyLmNoYW5nZVxuXHRcdFx0LnBpcGUoc3RhcnRXaXRoKHRoaXMuX2NvbW1hbmQua2V5TWFuYWdlci5hY3RpdmVJdGVtSW5kZXgpLCB0YWtlVW50aWxEZXN0cm95ZWQoKSlcblx0XHRcdC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fYWN0aXZlRGVzY2VuZGFudC5zZXQodGhpcy5fY29tbWFuZC5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0/LmlkKCkpKTtcblx0fVxuXG5cdC8qKiBMaXN0ZW4gZm9yIGNoYW5nZXMgdG8gdGhlIGlucHV0IHZhbHVlICovXG5cdEBIb3N0TGlzdGVuZXIoJ2lucHV0Jylcblx0cHJvdGVjdGVkIG9uSW5wdXQoKTogdm9pZCB7XG5cdFx0dGhpcy52YWx1ZS5zZXQodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlKTtcblx0fVxuXG5cdC8qKiBMaXN0ZW4gZm9yIGtleWRvd24gZXZlbnRzICovXG5cdEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuXHRwcm90ZWN0ZWQgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG5cdFx0dGhpcy5fY29tbWFuZC5rZXlNYW5hZ2VyLm9uS2V5ZG93bihldmVudCk7XG5cdH1cbn1cbiJdfQ==
|
|
75
|
+
}], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
76
|
+
type: Optional
|
|
77
|
+
}, {
|
|
78
|
+
type: Inject,
|
|
79
|
+
args: [COMPOSITION_BUFFER_MODE]
|
|
80
|
+
}] }] });
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNvbW1hbmQtc2VhcmNoLWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vY29tbWFuZC9zcmMvbGliL2Jybi1jb21tYW5kLXNlYXJjaC1pbnB1dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFxQnZELE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxvQkFBb0I7SUFpQnJEO0lBaEJELFFBQVEsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO0lBRS9DLDRDQUE0QztJQUM1QixLQUFLLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBRTFDLHNEQUFzRDtJQUN0QyxZQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRXBFLHFEQUFxRDtJQUNyQyxVQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFbkUsa0NBQWtDO0lBQ2YsaUJBQWlCLEdBQUcsTUFBTSxDQUFxQixTQUFTLENBQUMsQ0FBQztJQUU3RSxZQUNDLFFBQW1CLEVBQ0YsVUFBc0IsRUFDTSxlQUF3QjtRQUVyRSxLQUFLLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUg1QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBSXZDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU07YUFDN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO2FBQy9FLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDekYsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNYLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBQ0QsNENBQTRDO0lBQ2xDLE9BQU87UUFDaEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsZ0NBQWdDO0lBQ3RCLFNBQVMsQ0FBQyxLQUFvQjtRQUN2QyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELDRCQUE0QjtJQUNuQixVQUFVLENBQUMsS0FBb0I7UUFDdkMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDO0lBQ0YsQ0FBQzswSEE1Q1csOEJBQThCLHFFQWtCckIsdUJBQXVCOzhHQWxCaEMsOEJBQThCLG9hQWhCL0I7WUFDViw0QkFBNEIsQ0FBQyw4QkFBOEIsQ0FBQztZQUM1RDtnQkFDQyxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsOEJBQThCO2dCQUMzQyxLQUFLLEVBQUUsSUFBSTthQUNYO1NBQ0Q7OzJGQVNXLDhCQUE4QjtrQkFuQjFDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLDhCQUE4QjtvQkFDeEMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRTt3QkFDViw0QkFBNEIsZ0NBQWdDO3dCQUM1RDs0QkFDQyxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLGdDQUFnQzs0QkFDM0MsS0FBSyxFQUFFLElBQUk7eUJBQ1g7cUJBQ0Q7b0JBQ0QsSUFBSSxFQUFFO3dCQUNMLElBQUksRUFBRSxVQUFVO3dCQUNoQixtQkFBbUIsRUFBRSxNQUFNO3dCQUMzQiw4QkFBOEIsRUFBRSxxQkFBcUI7d0JBQ3JELFdBQVcsRUFBRSxtQkFBbUI7d0JBQ2hDLFNBQVMsRUFBRSxXQUFXO3FCQUN0QjtpQkFDRDs7MEJBbUJFLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIERpcmVjdGl2ZSwgZWZmZWN0LCBFbGVtZW50UmVmLCBJbmplY3QsIGlucHV0LCBPcHRpb25hbCwgUmVuZGVyZXIyLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IENPTVBPU0lUSU9OX0JVRkZFUl9NT0RFLCBEZWZhdWx0VmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBwcm92aWRlQnJuQ29tbWFuZFNlYXJjaElucHV0IH0gZnJvbSAnLi9icm4tY29tbWFuZC1zZWFyY2gtaW5wdXQudG9rZW4nO1xuaW1wb3J0IHsgaW5qZWN0QnJuQ29tbWFuZCB9IGZyb20gJy4vYnJuLWNvbW1hbmQudG9rZW4nO1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdpbnB1dFticm5Db21tYW5kU2VhcmNoSW5wdXRdJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0cHJvdmlkZXJzOiBbXG5cdFx0cHJvdmlkZUJybkNvbW1hbmRTZWFyY2hJbnB1dChCcm5Db21tYW5kU2VhcmNoSW5wdXREaXJlY3RpdmUpLFxuXHRcdHtcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuXHRcdFx0dXNlRXhpc3Rpbmc6IEJybkNvbW1hbmRTZWFyY2hJbnB1dERpcmVjdGl2ZSxcblx0XHRcdG11bHRpOiB0cnVlLFxuXHRcdH0sXG5cdF0sXG5cdGhvc3Q6IHtcblx0XHRyb2xlOiAnY29tYm9ib3gnLFxuXHRcdCdhcmlhLWF1dG9jb21wbGV0ZSc6ICdsaXN0Jyxcblx0XHQnW2F0dHIuYXJpYS1hY3RpdmVkZXNjZW5kYW50XSc6ICdfYWN0aXZlRGVzY2VuZGFudCgpJyxcblx0XHQnKGtleWRvd24pJzogJ29uS2V5RG93bigkZXZlbnQpJyxcblx0XHQnKGlucHV0KSc6ICdvbklucHV0KCknLFxuXHR9LFxufSlcbmV4cG9ydCBjbGFzcyBCcm5Db21tYW5kU2VhcmNoSW5wdXREaXJlY3RpdmUgZXh0ZW5kcyBEZWZhdWx0VmFsdWVBY2Nlc3NvciB7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2NvbW1hbmQgPSBpbmplY3RCcm5Db21tYW5kKCk7XG5cblx0LyoqIFRoZSBpbml0aWFsIHZhbHVlIG9mIHRoZSBzZWFyY2ggaW5wdXQgKi9cblx0cHVibGljIHJlYWRvbmx5IHZhbHVlID0gaW5wdXQ8c3RyaW5nPignJyk7XG5cblx0LyoqIEBpbnRlcm5hbCBUaGUgbXV0YWJsZSB2YWx1ZSBvZiB0aGUgc2VhcmNoIGlucHV0ICovXG5cdHB1YmxpYyByZWFkb25seSBtdXRhYmxlVmFsdWUgPSBjb21wdXRlZCgoKSA9PiBzaWduYWwodGhpcy52YWx1ZSgpKSk7XG5cblx0LyoqIEBpbnRlcm5hbCBUaGUgXCJyZWFsXCIgdmFsdWUgb2YgdGhlIHNlYXJjaCBpbnB1dCAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgdmFsdWVTdGF0ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMubXV0YWJsZVZhbHVlKCkoKSk7XG5cblx0LyoqIFRoZSBpZCBvZiB0aGUgYWN0aXZlIG9wdGlvbiAqL1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgX2FjdGl2ZURlc2NlbmRhbnQgPSBzaWduYWw8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG5cdGNvbnN0cnVjdG9yKFxuXHRcdHJlbmRlcmVyOiBSZW5kZXJlcjIsXG5cdFx0cHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuXHRcdEBPcHRpb25hbCgpIEBJbmplY3QoQ09NUE9TSVRJT05fQlVGRkVSX01PREUpIGNvbXBvc2l0aW9uTW9kZTogYm9vbGVhbixcblx0KSB7XG5cdFx0c3VwZXIocmVuZGVyZXIsIGVsZW1lbnRSZWYsIGNvbXBvc2l0aW9uTW9kZSk7XG5cdFx0dGhpcy5fY29tbWFuZC5rZXlNYW5hZ2VyLmNoYW5nZVxuXHRcdFx0LnBpcGUoc3RhcnRXaXRoKHRoaXMuX2NvbW1hbmQua2V5TWFuYWdlci5hY3RpdmVJdGVtSW5kZXgpLCB0YWtlVW50aWxEZXN0cm95ZWQoKSlcblx0XHRcdC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fYWN0aXZlRGVzY2VuZGFudC5zZXQodGhpcy5fY29tbWFuZC5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0/LmlkKCkpKTtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0dGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLnZhbHVlU3RhdGUoKTtcblx0XHR9KTtcblx0fVxuXHQvKiogTGlzdGVuIGZvciBjaGFuZ2VzIHRvIHRoZSBpbnB1dCB2YWx1ZSAqL1xuXHRwcm90ZWN0ZWQgb25JbnB1dCgpOiB2b2lkIHtcblx0XHR0aGlzLm11dGFibGVWYWx1ZSgpLnNldCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSk7XG5cdH1cblxuXHQvKiogTGlzdGVuIGZvciBrZXlkb3duIGV2ZW50cyAqL1xuXHRwcm90ZWN0ZWQgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG5cdFx0dGhpcy5fY29tbWFuZC5rZXlNYW5hZ2VyLm9uS2V5ZG93bihldmVudCk7XG5cdH1cblxuXHQvKiogQ09OUk9MIFZBTFVFIEFDQ0VTU09SICovXG5cdG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcblx0XHRzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcblx0XHRpZiAodmFsdWUpIHtcblx0XHRcdHRoaXMubXV0YWJsZVZhbHVlKCkuc2V0KHZhbHVlKTtcblx0XHR9XG5cdH1cbn1cbiJdfQ==
|