@koobiq/components 18.2.0 → 18.3.0
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/core/common-behaviors/error-state.d.ts +1 -1
- package/core/error/error-state-matcher.d.ts +26 -0
- package/core/form-field/form-field-ref.d.ts +7 -0
- package/core/forms/index.d.ts +1 -0
- package/core/forms/validators.d.ts +86 -0
- package/core/locales/locale-service.d.ts +11 -0
- package/core/option/action.d.ts +1 -1
- package/core/pop-up/pop-up-trigger.d.ts +3 -3
- package/core/public-api.d.ts +1 -2
- package/core/validation/validation.d.ts +1 -0
- package/esm2022/core/common-behaviors/error-state.mjs +1 -1
- package/esm2022/core/error/error-state-matcher.mjs +43 -0
- package/esm2022/core/form-field/form-field-ref.mjs +4 -1
- package/esm2022/core/forms/index.mjs +2 -1
- package/esm2022/core/forms/validators.mjs +132 -0
- package/esm2022/core/locales/locale-service.mjs +30 -1
- package/esm2022/core/option/action.mjs +5 -8
- package/esm2022/core/pop-up/pop-up-trigger.mjs +12 -12
- package/esm2022/core/public-api.mjs +2 -3
- package/esm2022/core/validation/validation.mjs +2 -1
- package/esm2022/core/version.mjs +2 -2
- package/esm2022/datepicker/calendar-header.component.mjs +5 -6
- package/esm2022/file-upload/single-file-upload.component.mjs +3 -3
- package/esm2022/form-field/form-field-control.mjs +1 -1
- package/esm2022/form-field/form-field.mjs +7 -8
- package/esm2022/icon/icon.component.mjs +2 -2
- package/esm2022/icon/icon.module.mjs +1 -1
- package/esm2022/input/input-number.mjs +74 -80
- package/esm2022/list/list-selection.component.mjs +8 -12
- package/esm2022/navbar/navbar-item.component.mjs +6 -9
- package/esm2022/navbar/navbar.component.mjs +12 -13
- package/esm2022/popover/popover-confirm.component.mjs +3 -3
- package/esm2022/select/select.component.mjs +15 -14
- package/esm2022/select/select.module.mjs +3 -7
- package/esm2022/tabs/paginated-tab-header.mjs +10 -12
- package/esm2022/tags/tag-list.component.mjs +9 -11
- package/esm2022/toast/toast.component.mjs +5 -6
- package/esm2022/tree/padding.directive.mjs +3 -9
- package/esm2022/tree/tree-base.mjs +5 -8
- package/esm2022/tree/tree-selection.component.mjs +10 -13
- package/esm2022/tree-select/tree-select.component.mjs +13 -13
- package/fesm2022/koobiq-components-core.mjs +205 -27
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +8 -9
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-file-upload.mjs +2 -2
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +6 -7
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-icon.mjs +1 -1
- package/fesm2022/koobiq-components-icon.mjs.map +1 -1
- package/fesm2022/koobiq-components-input.mjs +74 -80
- package/fesm2022/koobiq-components-input.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +7 -11
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +13 -18
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +3 -3
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +18 -20
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tabs.mjs +9 -11
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +7 -9
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-toast.mjs +4 -5
- package/fesm2022/koobiq-components-toast.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +12 -12
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +13 -24
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/form-field/form-field-control.d.ts +3 -2
- package/form-field/form-field.d.ts +1 -1
- package/form-field/hint.scss +0 -3
- package/input/input-number.d.ts +24 -14
- package/list/list-selection.component.d.ts +2 -4
- package/navbar/navbar-item.component.d.ts +2 -3
- package/navbar/navbar.component.d.ts +7 -5
- package/package.json +6 -5
- package/schematics/ng-add/index.js +4 -4
- package/select/select.component.d.ts +1 -2
- package/select/select.module.d.ts +1 -2
- package/tabs/paginated-tab-header.d.ts +1 -3
- package/tags/tag-list.component.d.ts +1 -2
- package/toast/toast.component.d.ts +0 -1
- package/tree/padding.directive.d.ts +2 -4
- package/tree/tree-base.d.ts +2 -3
- package/tree/tree-selection.component.d.ts +2 -4
- package/tree-select/tree-select.component.d.ts +1 -2
- package/core/error/error-options.d.ts +0 -14
- package/core/label/label-options.d.ts +0 -13
- package/esm2022/core/error/error-options.mjs +0 -26
- package/esm2022/core/label/label-options.mjs +0 -4
|
@@ -5,7 +5,7 @@ export declare abstract class KbqFormFieldControl<T> {
|
|
|
5
5
|
/** The value of the control. */
|
|
6
6
|
value: T | null;
|
|
7
7
|
/**
|
|
8
|
-
* Stream that emits whenever the state of the control changes such that the parent `
|
|
8
|
+
* Stream that emits whenever the state of the control changes such that the parent `KbqFormField`
|
|
9
9
|
* needs to run change detection.
|
|
10
10
|
*/
|
|
11
11
|
readonly stateChanges: Observable<void>;
|
|
@@ -33,5 +33,6 @@ export declare abstract class KbqFormFieldControl<T> {
|
|
|
33
33
|
readonly controlType?: string;
|
|
34
34
|
/** Handles a click on the control's container. */
|
|
35
35
|
abstract onContainerClick(event: MouseEvent): void;
|
|
36
|
-
|
|
36
|
+
/** Focuses the control. */
|
|
37
|
+
abstract focus(options?: FocusOptions): void;
|
|
37
38
|
}
|
|
@@ -34,7 +34,7 @@ export declare class KbqFormField extends KbqFormFieldMixinBase implements After
|
|
|
34
34
|
labelId: string;
|
|
35
35
|
hovered: boolean;
|
|
36
36
|
canCleanerClearByEsc: boolean;
|
|
37
|
-
private
|
|
37
|
+
private readonly destroyRef;
|
|
38
38
|
get hasFocus(): boolean;
|
|
39
39
|
get hasHint(): boolean;
|
|
40
40
|
get hasSuffix(): boolean;
|
package/form-field/hint.scss
CHANGED
package/input/input-number.d.ts
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ElementRef, EventEmitter, OnDestroy, Renderer2 } from '@angular/core';
|
|
2
2
|
import { ControlValueAccessor } from '@angular/forms';
|
|
3
3
|
import { KbqLocaleService } from '@koobiq/components/core';
|
|
4
4
|
import { KbqFormFieldControl } from '@koobiq/components/form-field';
|
|
5
5
|
import { Subject } from 'rxjs';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
|
+
export declare const KBQ_INPUT_NUMBER_DEFAULT_CONFIGURATION: {
|
|
8
|
+
groupSeparator: string[];
|
|
9
|
+
fractionSeparator: string;
|
|
10
|
+
startFormattingFrom: number;
|
|
11
|
+
};
|
|
7
12
|
export declare const BIG_STEP = 10;
|
|
8
13
|
export declare const SMALL_STEP = 1;
|
|
9
14
|
export declare function normalizeSplitter(value: string): string;
|
|
@@ -13,10 +18,10 @@ export declare function isDigit(value: string): boolean;
|
|
|
13
18
|
export declare function getPrecision(value: number): number;
|
|
14
19
|
export declare function add(value1: number, value2: number): number;
|
|
15
20
|
export declare const KBQ_NUMBER_INPUT_VALUE_ACCESSOR: any;
|
|
16
|
-
export declare class KbqNumberInput implements KbqFormFieldControl<any>, ControlValueAccessor,
|
|
21
|
+
export declare class KbqNumberInput implements KbqFormFieldControl<any>, ControlValueAccessor, OnDestroy {
|
|
17
22
|
private elementRef;
|
|
18
23
|
private readonly renderer;
|
|
19
|
-
private localeService
|
|
24
|
+
private localeService?;
|
|
20
25
|
/** Emits when the value changes (either due to user input or programmatic change). */
|
|
21
26
|
valueChange: EventEmitter<number | null>;
|
|
22
27
|
/** Emits when the disabled state has changed */
|
|
@@ -28,6 +33,10 @@ export declare class KbqNumberInput implements KbqFormFieldControl<any>, Control
|
|
|
28
33
|
required: boolean;
|
|
29
34
|
errorState: boolean;
|
|
30
35
|
controlType?: string | undefined;
|
|
36
|
+
/**
|
|
37
|
+
* Allows input and pasting of integers only.
|
|
38
|
+
*/
|
|
39
|
+
integer: boolean;
|
|
31
40
|
bigStep: number;
|
|
32
41
|
step: number;
|
|
33
42
|
min: number;
|
|
@@ -47,13 +56,12 @@ export declare class KbqNumberInput implements KbqFormFieldControl<any>, Control
|
|
|
47
56
|
get nativeElement(): HTMLInputElement;
|
|
48
57
|
get viewValue(): string;
|
|
49
58
|
get ngControl(): any;
|
|
59
|
+
protected get fractionSeparator(): string;
|
|
60
|
+
protected get groupSeparator(): string[];
|
|
50
61
|
private control;
|
|
51
|
-
private
|
|
52
|
-
private numberLocaleConfig;
|
|
62
|
+
private config;
|
|
53
63
|
private valueFromPaste;
|
|
54
|
-
|
|
55
|
-
constructor(elementRef: ElementRef, renderer: Renderer2, step: string, bigStep: string, min: string, max: string, localeService: KbqLocaleService);
|
|
56
|
-
ngAfterContentInit(): void;
|
|
64
|
+
constructor(elementRef: ElementRef, renderer: Renderer2, step: string, bigStep: string, min: string, max: string, localeService?: KbqLocaleService | undefined);
|
|
57
65
|
ngOnDestroy(): void;
|
|
58
66
|
onContainerClick(): void;
|
|
59
67
|
focus(): void;
|
|
@@ -68,18 +76,20 @@ export declare class KbqNumberInput implements KbqFormFieldControl<any>, Control
|
|
|
68
76
|
onPaste(event: ClipboardEvent): void;
|
|
69
77
|
stepUp(step: number): void;
|
|
70
78
|
stepDown(step: number): void;
|
|
79
|
+
private initDefaultParams;
|
|
80
|
+
private isCtrlV;
|
|
81
|
+
private isCtrlX;
|
|
82
|
+
private isCtrlZ;
|
|
83
|
+
private isPeriod;
|
|
71
84
|
private cvaOnChange;
|
|
72
85
|
private setViewValue;
|
|
73
86
|
private viewToModelUpdate;
|
|
74
87
|
private formatViewValue;
|
|
75
88
|
private formatNumber;
|
|
76
89
|
private createLocalizedNumberFromParts;
|
|
77
|
-
/**
|
|
78
|
-
* Method that returns a string representation of a number without localized separators
|
|
79
|
-
*/
|
|
80
|
-
private normalizeNumber;
|
|
81
90
|
private updateLocaleParams;
|
|
82
|
-
private checkAndNormalizeLocalizedNumber;
|
|
83
91
|
static ɵfac: i0.ɵɵFactoryDeclaration<KbqNumberInput, [null, null, { attribute: "step"; }, { attribute: "big-step"; }, { attribute: "min"; }, { attribute: "max"; }, { optional: true; }]>;
|
|
84
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqNumberInput, "input[kbqNumberInput]", ["kbqNumericalInput"], { "bigStep": { "alias": "bigStep"; "required": false; }; "step": { "alias": "step"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "withThousandSeparator": { "alias": "withThousandSeparator"; "required": false; }; "startFormattingFrom": { "alias": "startFormattingFrom"; "required": false; }; "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, false, never>;
|
|
92
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqNumberInput, "input[kbqNumberInput]", ["kbqNumericalInput"], { "integer": { "alias": "integer"; "required": false; }; "bigStep": { "alias": "bigStep"; "required": false; }; "step": { "alias": "step"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "withThousandSeparator": { "alias": "withThousandSeparator"; "required": false; }; "startFormattingFrom": { "alias": "startFormattingFrom"; "required": false; }; "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, false, never>;
|
|
93
|
+
static ngAcceptInputType_integer: unknown;
|
|
94
|
+
static ngAcceptInputType_withThousandSeparator: unknown;
|
|
85
95
|
}
|
|
@@ -34,7 +34,7 @@ export declare class KbqListSelectionBase {
|
|
|
34
34
|
}
|
|
35
35
|
/** @docs-private */
|
|
36
36
|
export declare const KbqListSelectionMixinBase: CanDisableCtor & HasTabIndexCtor & typeof KbqListSelectionBase;
|
|
37
|
-
export declare class KbqListSelection extends KbqListSelectionMixinBase implements CanDisable, HasTabIndex, AfterContentInit, ControlValueAccessor
|
|
37
|
+
export declare class KbqListSelection extends KbqListSelectionMixinBase implements CanDisable, HasTabIndex, AfterContentInit, ControlValueAccessor {
|
|
38
38
|
private changeDetectorRef;
|
|
39
39
|
private clipboard;
|
|
40
40
|
keyManager: FocusKeyManager<KbqListOption>;
|
|
@@ -60,8 +60,7 @@ export declare class KbqListSelection extends KbqListSelectionMixinBase implemen
|
|
|
60
60
|
get optionFocusChanges(): Observable<KbqOptionEvent>;
|
|
61
61
|
get optionBlurChanges(): Observable<KbqOptionEvent>;
|
|
62
62
|
_value: string[] | null;
|
|
63
|
-
|
|
64
|
-
private readonly destroyed;
|
|
63
|
+
private readonly destroyRef;
|
|
65
64
|
private optionFocusSubscription;
|
|
66
65
|
private optionBlurSubscription;
|
|
67
66
|
constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, multiple: MultipleMode, clipboard: Clipboard);
|
|
@@ -72,7 +71,6 @@ export declare class KbqListSelection extends KbqListSelectionMixinBase implemen
|
|
|
72
71
|
*/
|
|
73
72
|
compareWith: (o1: any, o2: any) => boolean;
|
|
74
73
|
ngAfterContentInit(): void;
|
|
75
|
-
ngOnDestroy(): void;
|
|
76
74
|
focus(): void;
|
|
77
75
|
blur(): void;
|
|
78
76
|
selectAll(): void;
|
|
@@ -35,16 +35,15 @@ export declare class KbqNavbarTitle implements AfterViewInit {
|
|
|
35
35
|
static ɵfac: i0.ɵɵFactoryDeclaration<KbqNavbarTitle, never>;
|
|
36
36
|
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqNavbarTitle, "kbq-navbar-title, [kbq-navbar-title]", never, {}, {}, never, never, false, never>;
|
|
37
37
|
}
|
|
38
|
-
export declare class KbqNavbarBrand implements AfterContentInit
|
|
38
|
+
export declare class KbqNavbarBrand implements AfterContentInit {
|
|
39
39
|
private navbar;
|
|
40
40
|
logo: KbqNavbarLogo;
|
|
41
41
|
title: KbqNavbarTitle;
|
|
42
42
|
hovered: boolean;
|
|
43
43
|
get hasBento(): boolean;
|
|
44
|
-
private
|
|
44
|
+
private readonly destroyRef;
|
|
45
45
|
constructor(navbar: KbqVerticalNavbar);
|
|
46
46
|
ngAfterContentInit(): void;
|
|
47
|
-
ngOnDestroy(): void;
|
|
48
47
|
static ɵfac: i0.ɵɵFactoryDeclaration<KbqNavbarBrand, [{ optional: true; }]>;
|
|
49
48
|
static ɵcmp: i0.ɵɵComponentDeclaration<KbqNavbarBrand, "kbq-navbar-brand, [kbq-navbar-brand]", ["kbqNavbarBrand"], {}, {}, ["logo", "title"], ["*"], false, never>;
|
|
50
49
|
}
|
|
@@ -6,8 +6,9 @@ import { KbqNavbarFocusableItem, KbqNavbarFocusableItemEvent, KbqNavbarItem, Kbq
|
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export type KbqNavbarContainerPositionType = 'left' | 'right';
|
|
8
8
|
export declare class KbqFocusableComponent implements AfterContentInit, OnDestroy {
|
|
9
|
-
protected changeDetectorRef: ChangeDetectorRef;
|
|
10
|
-
|
|
9
|
+
protected readonly changeDetectorRef: ChangeDetectorRef;
|
|
10
|
+
protected readonly elementRef: ElementRef;
|
|
11
|
+
protected readonly focusMonitor: FocusMonitor;
|
|
11
12
|
focusableItems: QueryList<KbqNavbarFocusableItem>;
|
|
12
13
|
keyManager: FocusKeyManager<KbqNavbarFocusableItem>;
|
|
13
14
|
get tabIndex(): any;
|
|
@@ -15,10 +16,9 @@ export declare class KbqFocusableComponent implements AfterContentInit, OnDestro
|
|
|
15
16
|
private _tabIndex;
|
|
16
17
|
get optionFocusChanges(): Observable<KbqNavbarFocusableItemEvent>;
|
|
17
18
|
get optionBlurChanges(): Observable<KbqNavbarFocusableItemEvent>;
|
|
18
|
-
|
|
19
|
+
private readonly destroyRef;
|
|
19
20
|
private optionFocusSubscription;
|
|
20
21
|
private optionBlurSubscription;
|
|
21
|
-
private focusMonitorSubscription;
|
|
22
22
|
constructor(changeDetectorRef: ChangeDetectorRef, elementRef: ElementRef, focusMonitor: FocusMonitor);
|
|
23
23
|
ngAfterContentInit(): void;
|
|
24
24
|
ngOnDestroy(): void;
|
|
@@ -38,7 +38,9 @@ export declare class KbqNavbarContainer {
|
|
|
38
38
|
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqNavbarContainer, "kbq-navbar-container", never, {}, {}, never, never, false, never>;
|
|
39
39
|
}
|
|
40
40
|
export declare class KbqNavbar extends KbqFocusableComponent implements AfterViewInit, AfterContentInit, OnDestroy {
|
|
41
|
-
|
|
41
|
+
protected readonly elementRef: ElementRef;
|
|
42
|
+
protected readonly changeDetectorRef: ChangeDetectorRef;
|
|
43
|
+
protected readonly focusMonitor: FocusMonitor;
|
|
42
44
|
rectangleElements: QueryList<KbqNavbarRectangleElement>;
|
|
43
45
|
navbarItems: QueryList<KbqNavbarItem>;
|
|
44
46
|
readonly resizeStream: Subject<Event>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@koobiq/components",
|
|
3
|
-
"version": "18.
|
|
3
|
+
"version": "18.3.0",
|
|
4
4
|
"description": "koobiq",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -22,11 +22,12 @@
|
|
|
22
22
|
"homepage": "https://github.com/koobiq/angular-components#readme",
|
|
23
23
|
"peerDependencies": {
|
|
24
24
|
"@angular/cdk": "^18.0.0",
|
|
25
|
+
"@angular/core": "^18.0.0",
|
|
25
26
|
"@angular/forms": "^18.0.0",
|
|
26
|
-
"@koobiq/cdk": "18.
|
|
27
|
-
"@koobiq/angular-moment-adapter": "18.
|
|
28
|
-
"@koobiq/angular-luxon-adapter": "18.
|
|
29
|
-
"@koobiq/date-formatter": "^3.1.
|
|
27
|
+
"@koobiq/cdk": "18.3.0",
|
|
28
|
+
"@koobiq/angular-moment-adapter": "18.3.0",
|
|
29
|
+
"@koobiq/angular-luxon-adapter": "18.3.0",
|
|
30
|
+
"@koobiq/date-formatter": "^3.1.3",
|
|
30
31
|
"@koobiq/icons": "^9.0.0",
|
|
31
32
|
"@koobiq/tokens-builder": "3.7.3",
|
|
32
33
|
"@koobiq/design-tokens": "3.7.3",
|
|
@@ -42,10 +42,10 @@ function ngAdd(options) {
|
|
|
42
42
|
}
|
|
43
43
|
// Installing dependencies
|
|
44
44
|
utils_packageConfig.addPackageToPackageJson(tree, '@angular/cdk', "^18.2.6");
|
|
45
|
-
utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/cdk', "^18.
|
|
46
|
-
utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/angular-luxon-adapter', "^18.
|
|
47
|
-
utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/date-formatter', "^3.1.
|
|
48
|
-
utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/date-adapter', "^3.1.
|
|
45
|
+
utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/cdk', "^18.3.0");
|
|
46
|
+
utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/angular-luxon-adapter', "^18.3.0");
|
|
47
|
+
utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/date-formatter', "^3.1.3");
|
|
48
|
+
utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/date-adapter', "^3.1.3");
|
|
49
49
|
utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/icons', "^9.1.0");
|
|
50
50
|
utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/tokens-builder', "^3.7.3");
|
|
51
51
|
utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/design-tokens', "^3.7.3");
|
|
@@ -171,8 +171,7 @@ export declare class KbqSelect extends KbqSelectMixinBase implements AfterConten
|
|
|
171
171
|
/** Unique id for this input. */
|
|
172
172
|
private readonly uid;
|
|
173
173
|
private visibleChanges;
|
|
174
|
-
|
|
175
|
-
private readonly destroy;
|
|
174
|
+
private readonly destroyRef;
|
|
176
175
|
constructor(_changeDetectorRef: ChangeDetectorRef, _ngZone: NgZone, _renderer: Renderer2, defaultErrorStateMatcher: ErrorStateMatcher, elementRef: ElementRef, overlayContainer: OverlayContainer, _dir: Directionality, parentForm: NgForm, parentFormGroup: FormGroupDirective, parentFormField: KbqFormField, ngControl: NgControl, scrollStrategyFactory: any, localeService?: KbqLocaleService | undefined);
|
|
177
176
|
ngOnInit(): void;
|
|
178
177
|
ngAfterContentInit(): void;
|
|
@@ -7,9 +7,8 @@ import * as i5 from "@koobiq/components/icon";
|
|
|
7
7
|
import * as i6 from "@koobiq/components/tags";
|
|
8
8
|
import * as i7 from "@koobiq/components/tooltip";
|
|
9
9
|
import * as i8 from "@angular/common";
|
|
10
|
-
import * as i9 from "@koobiq/components/form-field";
|
|
11
10
|
export declare class KbqSelectModule {
|
|
12
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<KbqSelectModule, never>;
|
|
13
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<KbqSelectModule, [typeof i1.KbqSelect, typeof i2.KbqOptionTooltip], [typeof i3.OverlayModule, typeof i4.KbqOptionModule, typeof i5.KbqIconModule, typeof i6.KbqTagsModule, typeof i7.KbqToolTipModule, typeof i4.KbqSelectSearch, typeof i4.KbqSelectFooter, typeof i4.KbqSelectMatcher, typeof i4.KbqSelectTrigger, typeof i4.KbqSelectSearchEmptyResult, typeof i8.NgClass, typeof i8.NgTemplateOutlet], [typeof
|
|
12
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<KbqSelectModule, [typeof i1.KbqSelect, typeof i2.KbqOptionTooltip], [typeof i3.OverlayModule, typeof i4.KbqOptionModule, typeof i5.KbqIconModule, typeof i6.KbqTagsModule, typeof i7.KbqToolTipModule, typeof i4.KbqSelectSearch, typeof i4.KbqSelectFooter, typeof i4.KbqSelectMatcher, typeof i4.KbqSelectTrigger, typeof i4.KbqSelectSearchEmptyResult, typeof i8.NgClass, typeof i8.NgTemplateOutlet], [typeof i1.KbqSelect, typeof i2.KbqOptionTooltip, typeof i4.KbqOptionModule, typeof i4.KbqSelectSearch, typeof i4.KbqSelectFooter, typeof i4.KbqSelectMatcher, typeof i4.KbqSelectTrigger, typeof i4.KbqSelectSearchEmptyResult]>;
|
|
14
13
|
static ɵinj: i0.ɵɵInjectorDeclaration<KbqSelectModule>;
|
|
15
14
|
}
|
|
@@ -3,7 +3,6 @@ import { Direction, Directionality } from '@angular/cdk/bidi';
|
|
|
3
3
|
import { Platform } from '@angular/cdk/platform';
|
|
4
4
|
import { ViewportRuler } from '@angular/cdk/scrolling';
|
|
5
5
|
import { AfterContentChecked, AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, NgZone, OnDestroy, QueryList } from '@angular/core';
|
|
6
|
-
import { Subject } from 'rxjs';
|
|
7
6
|
import * as i0 from "@angular/core";
|
|
8
7
|
/**
|
|
9
8
|
* The directions that scrolling can go in when the header's tabs exceed the header width. 'After'
|
|
@@ -60,8 +59,7 @@ export declare abstract class KbqPaginatedTabHeader implements AfterContentCheck
|
|
|
60
59
|
* layout recalculations if it's known that pagination won't be required.
|
|
61
60
|
*/
|
|
62
61
|
disablePagination: boolean;
|
|
63
|
-
|
|
64
|
-
protected readonly destroyed: Subject<void>;
|
|
62
|
+
private readonly destroyRef;
|
|
65
63
|
protected vertical: boolean;
|
|
66
64
|
/**
|
|
67
65
|
* The number of tab labels that are displayed on the header. When this changes, the header
|
|
@@ -145,8 +145,6 @@ export declare class KbqTagList extends KbqTagListMixinBase implements KbqFormFi
|
|
|
145
145
|
* appropriate tag that should receive focus until the array of tags updated completely.
|
|
146
146
|
*/
|
|
147
147
|
private lastDestroyedTagIndex;
|
|
148
|
-
/** Subject that emits when the component has been destroyed. */
|
|
149
|
-
private destroyed;
|
|
150
148
|
/** Subscription to focus changes in the tags. */
|
|
151
149
|
private tagFocusSubscription;
|
|
152
150
|
/** Subscription to blur changes in the tags. */
|
|
@@ -155,6 +153,7 @@ export declare class KbqTagList extends KbqTagListMixinBase implements KbqFormFi
|
|
|
155
153
|
private tagSelectionSubscription;
|
|
156
154
|
/** Subscription to remove changes in tags. */
|
|
157
155
|
private tagRemoveSubscription;
|
|
156
|
+
private readonly destroyRef;
|
|
158
157
|
constructor(elementRef: ElementRef<HTMLElement>, changeDetectorRef: ChangeDetectorRef, defaultErrorStateMatcher: ErrorStateMatcher, dir: Directionality, parentForm: NgForm, parentFormGroup: FormGroupDirective, ngControl: NgControl);
|
|
159
158
|
ngAfterContentInit(): void;
|
|
160
159
|
ngOnInit(): void;
|
|
@@ -27,7 +27,6 @@ export declare class KbqToastComponent implements OnDestroy {
|
|
|
27
27
|
[x: string]: boolean;
|
|
28
28
|
};
|
|
29
29
|
get isFocusedOrHovered(): boolean;
|
|
30
|
-
private destroyed;
|
|
31
30
|
constructor(data: KbqToastData, service: KbqToastService, elementRef: ElementRef, focusMonitor: FocusMonitor);
|
|
32
31
|
ngOnDestroy(): void;
|
|
33
32
|
close(): void;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Directionality } from '@angular/cdk/bidi';
|
|
2
|
-
import { AfterViewInit, ElementRef,
|
|
2
|
+
import { AfterViewInit, ElementRef, Renderer2 } from '@angular/core';
|
|
3
3
|
import { KbqTreeBase, KbqTreeNode } from './tree-base';
|
|
4
4
|
import { KbqTreeOption } from './tree-option.component';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class KbqTreeNodePadding<T> implements
|
|
6
|
+
export declare class KbqTreeNodePadding<T> implements AfterViewInit {
|
|
7
7
|
protected treeNode: KbqTreeNode<T>;
|
|
8
8
|
protected tree: KbqTreeBase<T>;
|
|
9
9
|
private renderer;
|
|
@@ -22,10 +22,8 @@ export declare class KbqTreeNodePadding<T> implements OnDestroy, AfterViewInit {
|
|
|
22
22
|
baseLeftPadding: number;
|
|
23
23
|
withIcon: boolean;
|
|
24
24
|
iconWidth: number;
|
|
25
|
-
private destroyed;
|
|
26
25
|
constructor(treeNode: KbqTreeNode<T>, tree: KbqTreeBase<T>, renderer: Renderer2, element: ElementRef<HTMLElement>, option: KbqTreeOption, dir: Directionality);
|
|
27
26
|
ngAfterViewInit(): void;
|
|
28
|
-
ngOnDestroy(): void;
|
|
29
27
|
paddingIndent(): string | null;
|
|
30
28
|
/**
|
|
31
29
|
* This has been extracted to a util because of TS 4 and VE.
|
package/tree/tree-base.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CollectionViewer, DataSource } from '@angular/cdk/collections';
|
|
2
|
-
import { AfterContentChecked, ChangeDetectorRef, ElementRef, IterableDiffer, IterableDiffers, OnDestroy, OnInit, QueryList, TrackByFunction, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { AfterContentChecked, ChangeDetectorRef, DestroyRef, ElementRef, IterableDiffer, IterableDiffers, OnDestroy, OnInit, QueryList, TrackByFunction, ViewContainerRef } from '@angular/core';
|
|
3
3
|
import { IFocusableOption } from '@koobiq/cdk/a11y';
|
|
4
4
|
import { BehaviorSubject, Observable, Subject } from 'rxjs';
|
|
5
5
|
import { TreeControl } from './control/tree-control';
|
|
@@ -30,8 +30,6 @@ export declare class KbqTreeBase<T> implements AfterContentChecked, CollectionVi
|
|
|
30
30
|
}>;
|
|
31
31
|
/** Differ used to find the changes in the data provided by the data source. */
|
|
32
32
|
protected dataDiffer: IterableDiffer<T>;
|
|
33
|
-
/** Subject that emits when the component has been destroyed. */
|
|
34
|
-
private onDestroy;
|
|
35
33
|
/** Stores the node definition that does not have a when predicate. */
|
|
36
34
|
private defaultNodeDef;
|
|
37
35
|
/** Data subscription */
|
|
@@ -46,6 +44,7 @@ export declare class KbqTreeBase<T> implements AfterContentChecked, CollectionVi
|
|
|
46
44
|
get dataSource(): DataSource<T> | Observable<T[]> | T[];
|
|
47
45
|
set dataSource(dataSource: DataSource<T> | Observable<T[]> | T[]);
|
|
48
46
|
private _dataSource;
|
|
47
|
+
protected readonly destroyRef: DestroyRef;
|
|
49
48
|
constructor(differs: IterableDiffers, changeDetectorRef: ChangeDetectorRef);
|
|
50
49
|
ngOnInit(): void;
|
|
51
50
|
ngOnDestroy(): void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Clipboard } from '@angular/cdk/clipboard';
|
|
2
2
|
import { SelectionModel } from '@angular/cdk/collections';
|
|
3
|
-
import { AfterContentInit, ChangeDetectorRef, ElementRef, EventEmitter, IterableDiffer, IterableDiffers,
|
|
3
|
+
import { AfterContentInit, ChangeDetectorRef, ElementRef, EventEmitter, IterableDiffer, IterableDiffers, QueryList, ViewContainerRef } from '@angular/core';
|
|
4
4
|
import { ControlValueAccessor } from '@angular/forms';
|
|
5
5
|
import { FocusKeyManager } from '@koobiq/cdk/a11y';
|
|
6
6
|
import { CanDisable, HasTabIndex, MultipleMode } from '@koobiq/components/core';
|
|
@@ -36,7 +36,7 @@ interface SelectionModelOption {
|
|
|
36
36
|
id: number | string;
|
|
37
37
|
value: string;
|
|
38
38
|
}
|
|
39
|
-
export declare class KbqTreeSelection extends KbqTreeBase<any> implements ControlValueAccessor, AfterContentInit, CanDisable, HasTabIndex
|
|
39
|
+
export declare class KbqTreeSelection extends KbqTreeBase<any> implements ControlValueAccessor, AfterContentInit, CanDisable, HasTabIndex {
|
|
40
40
|
private elementRef;
|
|
41
41
|
private scheduler;
|
|
42
42
|
private clipboard;
|
|
@@ -72,12 +72,10 @@ export declare class KbqTreeSelection extends KbqTreeBase<any> implements Contro
|
|
|
72
72
|
private _tabIndex;
|
|
73
73
|
get showCheckbox(): boolean;
|
|
74
74
|
get isEmpty(): boolean;
|
|
75
|
-
private readonly destroy;
|
|
76
75
|
private optionFocusSubscription;
|
|
77
76
|
private optionBlurSubscription;
|
|
78
77
|
constructor(elementRef: ElementRef, scheduler: AsyncScheduler, differs: IterableDiffers, changeDetectorRef: ChangeDetectorRef, multiple: MultipleMode, clipboard: Clipboard);
|
|
79
78
|
ngAfterContentInit(): void;
|
|
80
|
-
ngOnDestroy(): void;
|
|
81
79
|
focus($event: any): void;
|
|
82
80
|
highlightSelectedOption(): void;
|
|
83
81
|
blur(): void;
|
|
@@ -166,9 +166,8 @@ export declare class KbqTreeSelect extends KbqTreeSelectMixinBase implements Aft
|
|
|
166
166
|
private scrollTop;
|
|
167
167
|
/** Unique id for this input. */
|
|
168
168
|
private readonly uid;
|
|
169
|
-
/** Emits whenever the component is destroyed. */
|
|
170
|
-
private readonly destroy;
|
|
171
169
|
private tempValues;
|
|
170
|
+
private readonly destroyRef;
|
|
172
171
|
constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, viewportRuler: ViewportRuler, ngZone: NgZone, renderer: Renderer2, defaultErrorStateMatcher: ErrorStateMatcher, scrollStrategyFactory: any, dir: Directionality, parentForm: NgForm, parentFormGroup: FormGroupDirective, parentFormField: KbqFormField, ngControl: NgControl, localeService?: KbqLocaleService | undefined);
|
|
173
172
|
ngOnInit(): void;
|
|
174
173
|
ngAfterContentInit(): void;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { FormGroupDirective, NgForm, UntypedFormControl } from '@angular/forms';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/** Error state matcher that matches when a control is invalid and dirty. */
|
|
4
|
-
export declare class ShowOnDirtyErrorStateMatcher implements ErrorStateMatcher {
|
|
5
|
-
isErrorState(control: UntypedFormControl | null, form: FormGroupDirective | NgForm | null): boolean;
|
|
6
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ShowOnDirtyErrorStateMatcher, never>;
|
|
7
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<ShowOnDirtyErrorStateMatcher>;
|
|
8
|
-
}
|
|
9
|
-
/** Provider that defines how form controls behave with regards to displaying error messages. */
|
|
10
|
-
export declare class ErrorStateMatcher {
|
|
11
|
-
isErrorState(control: UntypedFormControl | null, form: FormGroupDirective | NgForm | null): boolean;
|
|
12
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ErrorStateMatcher, never>;
|
|
13
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<ErrorStateMatcher>;
|
|
14
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
/** InjectionToken that can be used to specify the global label options. */
|
|
3
|
-
export declare const KBQ_LABEL_GLOBAL_OPTIONS: InjectionToken<LabelOptions>;
|
|
4
|
-
/** Type for the available floatLabel values. */
|
|
5
|
-
export type FloatLabelType = 'always' | 'never' | 'auto';
|
|
6
|
-
/** Configurable options for floating labels. */
|
|
7
|
-
export interface LabelOptions {
|
|
8
|
-
/**
|
|
9
|
-
* Whether the label should float `always`, `never`, or `auto` (only when necessary).
|
|
10
|
-
* Default behavior is assumed to be `auto`.
|
|
11
|
-
*/
|
|
12
|
-
float?: FloatLabelType;
|
|
13
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/** Error state matcher that matches when a control is invalid and dirty. */
|
|
4
|
-
export class ShowOnDirtyErrorStateMatcher {
|
|
5
|
-
isErrorState(control, form) {
|
|
6
|
-
return !!(control && control.invalid && (control.dirty || (form && form.submitted)));
|
|
7
|
-
}
|
|
8
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ShowOnDirtyErrorStateMatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
9
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ShowOnDirtyErrorStateMatcher }); }
|
|
10
|
-
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ShowOnDirtyErrorStateMatcher, decorators: [{
|
|
12
|
-
type: Injectable
|
|
13
|
-
}] });
|
|
14
|
-
/** Provider that defines how form controls behave with regards to displaying error messages. */
|
|
15
|
-
export class ErrorStateMatcher {
|
|
16
|
-
isErrorState(control, form) {
|
|
17
|
-
return !!(control && control.invalid && (control.touched || (form && form.submitted)));
|
|
18
|
-
}
|
|
19
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ErrorStateMatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
20
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ErrorStateMatcher, providedIn: 'root' }); }
|
|
21
|
-
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ErrorStateMatcher, decorators: [{
|
|
23
|
-
type: Injectable,
|
|
24
|
-
args: [{ providedIn: 'root' }]
|
|
25
|
-
}] });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3Itb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29yZS9lcnJvci9lcnJvci1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzNDLDRFQUE0RTtBQUU1RSxNQUFNLE9BQU8sNEJBQTRCO0lBQ3JDLFlBQVksQ0FBQyxPQUFrQyxFQUFFLElBQXdDO1FBQ3JGLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekYsQ0FBQztpSUFIUSw0QkFBNEI7cUlBQTVCLDRCQUE0Qjs7MkZBQTVCLDRCQUE0QjtrQkFEeEMsVUFBVTs7QUFPWCxnR0FBZ0c7QUFFaEcsTUFBTSxPQUFPLGlCQUFpQjtJQUMxQixZQUFZLENBQUMsT0FBa0MsRUFBRSxJQUF3QztRQUNyRixPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNGLENBQUM7aUlBSFEsaUJBQWlCO3FJQUFqQixpQkFBaUIsY0FESixNQUFNOzsyRkFDbkIsaUJBQWlCO2tCQUQ3QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cERpcmVjdGl2ZSwgTmdGb3JtLCBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8qKiBFcnJvciBzdGF0ZSBtYXRjaGVyIHRoYXQgbWF0Y2hlcyB3aGVuIGEgY29udHJvbCBpcyBpbnZhbGlkIGFuZCBkaXJ0eS4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTaG93T25EaXJ0eUVycm9yU3RhdGVNYXRjaGVyIGltcGxlbWVudHMgRXJyb3JTdGF0ZU1hdGNoZXIge1xuICAgIGlzRXJyb3JTdGF0ZShjb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wgfCBudWxsLCBmb3JtOiBGb3JtR3JvdXBEaXJlY3RpdmUgfCBOZ0Zvcm0gfCBudWxsKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIShjb250cm9sICYmIGNvbnRyb2wuaW52YWxpZCAmJiAoY29udHJvbC5kaXJ0eSB8fCAoZm9ybSAmJiBmb3JtLnN1Ym1pdHRlZCkpKTtcbiAgICB9XG59XG5cbi8qKiBQcm92aWRlciB0aGF0IGRlZmluZXMgaG93IGZvcm0gY29udHJvbHMgYmVoYXZlIHdpdGggcmVnYXJkcyB0byBkaXNwbGF5aW5nIGVycm9yIG1lc3NhZ2VzLiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBFcnJvclN0YXRlTWF0Y2hlciB7XG4gICAgaXNFcnJvclN0YXRlKGNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCB8IG51bGwsIGZvcm06IEZvcm1Hcm91cERpcmVjdGl2ZSB8IE5nRm9ybSB8IG51bGwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhKGNvbnRyb2wgJiYgY29udHJvbC5pbnZhbGlkICYmIChjb250cm9sLnRvdWNoZWQgfHwgKGZvcm0gJiYgZm9ybS5zdWJtaXR0ZWQpKSk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
/** InjectionToken that can be used to specify the global label options. */
|
|
3
|
-
export const KBQ_LABEL_GLOBAL_OPTIONS = new InjectionToken('kbq-label-global-options');
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwtb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29yZS9sYWJlbC9sYWJlbC1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsMkVBQTJFO0FBQzNFLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLElBQUksY0FBYyxDQUFlLDBCQUEwQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKiogSW5qZWN0aW9uVG9rZW4gdGhhdCBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IHRoZSBnbG9iYWwgbGFiZWwgb3B0aW9ucy4gKi9cbmV4cG9ydCBjb25zdCBLQlFfTEFCRUxfR0xPQkFMX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48TGFiZWxPcHRpb25zPigna2JxLWxhYmVsLWdsb2JhbC1vcHRpb25zJyk7XG5cbi8qKiBUeXBlIGZvciB0aGUgYXZhaWxhYmxlIGZsb2F0TGFiZWwgdmFsdWVzLiAqL1xuZXhwb3J0IHR5cGUgRmxvYXRMYWJlbFR5cGUgPSAnYWx3YXlzJyB8ICduZXZlcicgfCAnYXV0byc7XG5cbi8qKiBDb25maWd1cmFibGUgb3B0aW9ucyBmb3IgZmxvYXRpbmcgbGFiZWxzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBMYWJlbE9wdGlvbnMge1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGxhYmVsIHNob3VsZCBmbG9hdCBgYWx3YXlzYCwgYG5ldmVyYCwgb3IgYGF1dG9gIChvbmx5IHdoZW4gbmVjZXNzYXJ5KS5cbiAgICAgKiBEZWZhdWx0IGJlaGF2aW9yIGlzIGFzc3VtZWQgdG8gYmUgYGF1dG9gLlxuICAgICAqL1xuICAgIGZsb2F0PzogRmxvYXRMYWJlbFR5cGU7XG59XG4iXX0=
|