@koobiq/components 18.15.0 → 18.16.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/autocomplete/autocomplete.component.d.ts +5 -2
- package/core/option/_option-theme.scss +7 -5
- package/core/pop-up/focus-trap-strategy.d.ts +5 -0
- package/core/pop-up/index.d.ts +1 -0
- package/core/pop-up/pop-up-trigger.d.ts +1 -0
- package/datepicker/calendar-header.component.d.ts +2 -8
- package/esm2022/autocomplete/autocomplete.component.mjs +18 -6
- package/esm2022/core/option/option.mjs +2 -2
- package/esm2022/core/pop-up/focus-trap-strategy.mjs +6 -0
- package/esm2022/core/pop-up/index.mjs +2 -1
- package/esm2022/core/pop-up/pop-up-trigger.mjs +5 -1
- package/esm2022/core/version.mjs +2 -2
- package/esm2022/datepicker/calendar-header.component.mjs +5 -8
- package/esm2022/form-field/form-field.mjs +10 -4
- package/esm2022/form-field/validate.directive.mjs +3 -2
- package/esm2022/list/list-selection.component.mjs +17 -9
- package/esm2022/list/list.component.mjs +2 -2
- package/esm2022/markdown/markdown.service.mjs +12 -3
- package/esm2022/modal/modal.component.mjs +4 -3
- package/esm2022/popover/popover.component.mjs +13 -4
- package/esm2022/popover/popover.module.mjs +7 -4
- package/esm2022/radio/radio.component.mjs +2 -2
- package/esm2022/select/select.component.mjs +8 -5
- package/esm2022/select/select.module.mjs +8 -4
- package/esm2022/tabs/tab-header.component.mjs +2 -2
- package/esm2022/tabs/tab-nav-bar.mjs +3 -3
- package/esm2022/timezone/timezone-option.component.mjs +2 -2
- package/esm2022/timezone/timezone-select.component.mjs +4 -3
- package/esm2022/timezone/timezone.module.mjs +8 -4
- package/esm2022/tooltip/tooltip.component.mjs +2 -2
- package/esm2022/tree/toggle.mjs +2 -2
- package/esm2022/tree/tree-selection.component.mjs +13 -4
- package/esm2022/tree/tree.mjs +2 -2
- package/esm2022/tree-select/tree-select.component.mjs +9 -7
- package/esm2022/tree-select/tree-select.module.mjs +8 -4
- package/fesm2022/koobiq-components-autocomplete.mjs +20 -10
- package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +14 -4
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +4 -7
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +11 -4
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +19 -12
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-markdown.mjs +11 -2
- package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +3 -2
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +18 -8
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-radio.mjs +2 -2
- package/fesm2022/koobiq-components-radio.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +14 -7
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tabs.mjs +4 -4
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-timezone.mjs +12 -7
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-tooltip.mjs +1 -1
- package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +15 -9
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +15 -6
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/form-field/_form-field-theme.scss +23 -10
- package/form-field/form-field.d.ts +3 -1
- package/form-field/validate.directive.d.ts +1 -1
- package/list/_list-theme.scss +6 -4
- package/list/list-selection.component.d.ts +12 -8
- package/markdown/markdown.service.d.ts +11 -2
- package/modal/_modal-theme.scss +1 -1
- package/modal/modal.scss +1 -1
- package/package.json +6 -6
- package/popover/popover.component.d.ts +4 -0
- package/radio/_radio-theme.scss +12 -2
- package/schematics/ng-add/index.js +5 -18
- package/select/select.component.d.ts +1 -1
- package/select/select.module.d.ts +2 -1
- package/tabs/_tabs-common.scss +14 -0
- package/tabs/tab-header.scss +0 -14
- package/timezone/timezone.module.d.ts +2 -1
- package/tree/_tree-theme.scss +10 -7
- package/tree/tree-selection.component.d.ts +6 -2
- package/tree-select/tree-select.component.d.ts +1 -1
- package/tree-select/tree-select.module.d.ts +2 -1
|
@@ -40,20 +40,33 @@
|
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
&.cdk-keyboard-focused {
|
|
44
|
-
@include kbq-form-field-state(states-focused);
|
|
45
|
-
|
|
46
|
-
& .kbq-form-field__container {
|
|
47
|
-
box-shadow: 0 0 0.1px 1px var(--kbq-form-field-states-focused-focus-outline);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
43
|
&.kbq-form-field_invalid,
|
|
52
44
|
&.ng-invalid {
|
|
53
45
|
@include kbq-form-field-state(states-error);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
&.kbq-form-field-type-input,
|
|
49
|
+
&.kbq-form-field-type-textarea,
|
|
50
|
+
&.kbq-form-field-type-timepicker,
|
|
51
|
+
&.kbq-form-field-type-datepicker,
|
|
52
|
+
&.kbq-form-field-type-input-password,
|
|
53
|
+
&.kbq-form-field-type-tag-list,
|
|
54
|
+
&.kbq-form-field-type-select.cdk-keyboard-focused {
|
|
55
|
+
&.cdk-focused {
|
|
56
|
+
@include kbq-form-field-state(states-focused);
|
|
57
|
+
|
|
58
|
+
& .kbq-form-field__container {
|
|
59
|
+
box-shadow: 0 0 0.1px 1px var(--kbq-form-field-states-focused-focus-outline);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
&.kbq-form-field_invalid,
|
|
64
|
+
&.ng-invalid {
|
|
65
|
+
@include kbq-form-field-state(states-error);
|
|
54
66
|
|
|
55
|
-
|
|
56
|
-
|
|
67
|
+
& .kbq-form-field__container {
|
|
68
|
+
box-shadow: 0 0 0.1px 1px var(--kbq-form-field-states-error-focused-focus-outline);
|
|
69
|
+
}
|
|
57
70
|
}
|
|
58
71
|
}
|
|
59
72
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FocusMonitor } from '@angular/cdk/a11y';
|
|
1
|
+
import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';
|
|
2
2
|
import { AfterContentChecked, AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef, OnDestroy, QueryList } from '@angular/core';
|
|
3
3
|
import { NgControl } from '@angular/forms';
|
|
4
4
|
import { CanColor, CanColorCtor } from '@koobiq/components/core';
|
|
@@ -35,6 +35,8 @@ export declare class KbqFormField extends KbqFormFieldMixinBase implements After
|
|
|
35
35
|
hovered: boolean;
|
|
36
36
|
canCleanerClearByEsc: boolean;
|
|
37
37
|
private readonly destroyRef;
|
|
38
|
+
get focusOrigin(): FocusOrigin;
|
|
39
|
+
private _focusOrigin;
|
|
38
40
|
get hasFocus(): boolean;
|
|
39
41
|
get hasHint(): boolean;
|
|
40
42
|
get hasSuffix(): boolean;
|
|
@@ -49,5 +49,5 @@ export declare class KbqValidateDirective implements AfterContentInit {
|
|
|
49
49
|
setMosaicValidationForModelControl(): void;
|
|
50
50
|
setMosaicValidationForFormControl(): void;
|
|
51
51
|
static ɵfac: i0.ɵɵFactoryDeclaration<KbqValidateDirective, [null, { optional: true; self: true; }, { optional: true; self: true; }, { optional: true; }, { optional: true; }, { optional: true; }, null]>;
|
|
52
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqValidateDirective, " input[kbqInput], input[kbqInputPassword], input[kbqTimepicker], input[kbqDatepicker], textarea[kbqTextarea], kbq-select, kbq-tree-select, kbq-tag-list ", ["KbqValidate"], {}, {}, never, never, false, never>;
|
|
52
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqValidateDirective, " input[kbqInput], input[kbqNumberInput], input[kbqInputPassword], input[kbqTimepicker], input[kbqDatepicker], textarea[kbqTextarea], kbq-select, kbq-tree-select, kbq-tag-list ", ["KbqValidate"], {}, {}, never, never, false, never>;
|
|
53
53
|
}
|
package/list/_list-theme.scss
CHANGED
|
@@ -28,10 +28,6 @@
|
|
|
28
28
|
@include kbq-list-item(states-hover);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
&.kbq-focused {
|
|
32
|
-
border-color: var(--kbq-list-states-focused-focus-outline-color);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
31
|
&.kbq-selected {
|
|
36
32
|
@include kbq-list-item(states-selected);
|
|
37
33
|
|
|
@@ -54,6 +50,12 @@
|
|
|
54
50
|
border-top-right-radius: 0;
|
|
55
51
|
}
|
|
56
52
|
}
|
|
53
|
+
|
|
54
|
+
.kbq-list-selection.cdk-keyboard-focused {
|
|
55
|
+
& .kbq-list-option.kbq-focused {
|
|
56
|
+
border-color: var(--kbq-list-states-focused-focus-outline-color);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
57
59
|
}
|
|
58
60
|
|
|
59
61
|
@mixin kbq-list-typography() {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { FocusMonitor } from '@angular/cdk/a11y';
|
|
1
2
|
import { Clipboard } from '@angular/cdk/clipboard';
|
|
2
3
|
import { SelectionModel } from '@angular/cdk/collections';
|
|
3
|
-
import { AfterContentInit, ChangeDetectorRef, ElementRef, EventEmitter, NgZone, OnDestroy, OnInit, QueryList } from '@angular/core';
|
|
4
|
+
import { AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, NgZone, OnDestroy, OnInit, QueryList } from '@angular/core';
|
|
4
5
|
import { ControlValueAccessor } from '@angular/forms';
|
|
5
6
|
import { FocusKeyManager, IFocusableOption } from '@koobiq/cdk/a11y';
|
|
6
7
|
import { CanDisable, CanDisableCtor, HasTabIndex, HasTabIndexCtor, KbqOptgroup, KbqOptionActionComponent, KbqTitleTextRef, MultipleMode } from '@koobiq/components/core';
|
|
@@ -34,9 +35,10 @@ export declare class KbqListSelectionBase {
|
|
|
34
35
|
}
|
|
35
36
|
/** @docs-private */
|
|
36
37
|
export declare const KbqListSelectionMixinBase: CanDisableCtor & HasTabIndexCtor & typeof KbqListSelectionBase;
|
|
37
|
-
export declare class KbqListSelection extends KbqListSelectionMixinBase implements CanDisable, HasTabIndex, AfterContentInit, ControlValueAccessor {
|
|
38
|
+
export declare class KbqListSelection extends KbqListSelectionMixinBase implements CanDisable, HasTabIndex, AfterContentInit, AfterViewInit, OnDestroy, ControlValueAccessor {
|
|
38
39
|
private changeDetectorRef;
|
|
39
40
|
private clipboard;
|
|
41
|
+
protected readonly focusMonitor: FocusMonitor;
|
|
40
42
|
keyManager: FocusKeyManager<KbqListOption>;
|
|
41
43
|
options: QueryList<KbqListOption>;
|
|
42
44
|
readonly onSelectAll: EventEmitter<KbqListSelectAllEvent<KbqListOption>>;
|
|
@@ -53,6 +55,12 @@ export declare class KbqListSelection extends KbqListSelectionMixinBase implemen
|
|
|
53
55
|
get tabIndex(): any;
|
|
54
56
|
set tabIndex(value: any);
|
|
55
57
|
private _tabIndex;
|
|
58
|
+
/**
|
|
59
|
+
* Function used for comparing an option against the selected value when determining which
|
|
60
|
+
* options should appear as selected. The first argument is the value of an options. The second
|
|
61
|
+
* one is a value from the selected value. A boolean must be returned.
|
|
62
|
+
*/
|
|
63
|
+
compareWith: (o1: any, o2: any) => boolean;
|
|
56
64
|
userTabIndex: number | null;
|
|
57
65
|
get showCheckbox(): boolean;
|
|
58
66
|
readonly selectionChange: EventEmitter<KbqListSelectionChange>;
|
|
@@ -64,13 +72,9 @@ export declare class KbqListSelection extends KbqListSelectionMixinBase implemen
|
|
|
64
72
|
private optionFocusSubscription;
|
|
65
73
|
private optionBlurSubscription;
|
|
66
74
|
constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, multiple: MultipleMode, clipboard: Clipboard);
|
|
67
|
-
/**
|
|
68
|
-
* Function used for comparing an option against the selected value when determining which
|
|
69
|
-
* options should appear as selected. The first argument is the value of an options. The second
|
|
70
|
-
* one is a value from the selected value. A boolean must be returned.
|
|
71
|
-
*/
|
|
72
|
-
compareWith: (o1: any, o2: any) => boolean;
|
|
73
75
|
ngAfterContentInit(): void;
|
|
76
|
+
ngAfterViewInit(): void;
|
|
77
|
+
ngOnDestroy(): void;
|
|
74
78
|
focus(): void;
|
|
75
79
|
blur(): void;
|
|
76
80
|
selectAll(): void;
|
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
import { MarkedOptions } from 'marked';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
3
|
+
/**
|
|
4
|
+
* Service for converting Markdown into HTML.
|
|
5
|
+
*/
|
|
4
6
|
export declare class KbqMarkdownService {
|
|
5
|
-
/**
|
|
7
|
+
/**
|
|
8
|
+
* Converts a given Markdown string into HTML.
|
|
9
|
+
* NOTE! Method does not sanitize the output HTML string.
|
|
10
|
+
*
|
|
11
|
+
* @param markdown - The Markdown string to be converted.
|
|
12
|
+
* @param options - Optional MarkedOptions to customize the parsing behavior.
|
|
13
|
+
* @returns The transformed HTML string.
|
|
14
|
+
*/
|
|
6
15
|
parseToHtml(markdown: string, options?: MarkedOptions): string;
|
|
7
16
|
private transform;
|
|
8
17
|
static ɵfac: i0.ɵɵFactoryDeclaration<KbqMarkdownService, never>;
|
package/modal/_modal-theme.scss
CHANGED
package/modal/modal.scss
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@koobiq/components",
|
|
3
|
-
"version": "18.
|
|
3
|
+
"version": "18.16.0",
|
|
4
4
|
"description": "koobiq",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -24,13 +24,13 @@
|
|
|
24
24
|
"@angular/cdk": "^18.0.0",
|
|
25
25
|
"@angular/core": "^18.0.0",
|
|
26
26
|
"@angular/forms": "^18.0.0",
|
|
27
|
-
"@koobiq/cdk": "18.
|
|
28
|
-
"@koobiq/angular-moment-adapter": "18.
|
|
29
|
-
"@koobiq/angular-luxon-adapter": "18.
|
|
27
|
+
"@koobiq/cdk": "18.16.0",
|
|
28
|
+
"@koobiq/angular-moment-adapter": "18.16.0",
|
|
29
|
+
"@koobiq/angular-luxon-adapter": "18.16.0",
|
|
30
30
|
"@koobiq/date-formatter": "^3.1.4",
|
|
31
31
|
"@koobiq/icons": "^9.2.0",
|
|
32
|
-
"@koobiq/tokens-builder": "3.
|
|
33
|
-
"@koobiq/design-tokens": "3.
|
|
32
|
+
"@koobiq/tokens-builder": "3.11.0",
|
|
33
|
+
"@koobiq/design-tokens": "3.11.2",
|
|
34
34
|
"@radix-ng/primitives": "^0.14.0"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CdkTrapFocus } from '@angular/cdk/a11y';
|
|
1
2
|
import { CdkScrollable, Overlay, OverlayConfig, ScrollStrategy } from '@angular/cdk/overlay';
|
|
2
3
|
import { AfterContentInit, AfterViewInit, ElementRef, EventEmitter, InjectionToken, TemplateRef, Type } from '@angular/core';
|
|
3
4
|
import { KbqComponentColors, KbqPopUp, KbqPopUpTrigger, PopUpPlacements, PopUpSizes } from '@koobiq/components/core';
|
|
@@ -6,9 +7,11 @@ export declare class KbqPopoverComponent extends KbqPopUp implements AfterViewIn
|
|
|
6
7
|
prefix: string;
|
|
7
8
|
header: string | TemplateRef<any>;
|
|
8
9
|
footer: string | TemplateRef<any>;
|
|
10
|
+
trigger: KbqPopoverTrigger;
|
|
9
11
|
isTrapFocus: boolean;
|
|
10
12
|
hasCloseButton: boolean;
|
|
11
13
|
popoverContent: ElementRef<HTMLDivElement>;
|
|
14
|
+
cdkTrapFocus: CdkTrapFocus;
|
|
12
15
|
private debounceTime;
|
|
13
16
|
private readonly destroyRef;
|
|
14
17
|
isContentTopOverflow: boolean;
|
|
@@ -18,6 +21,7 @@ export declare class KbqPopoverComponent extends KbqPopUp implements AfterViewIn
|
|
|
18
21
|
checkContentOverflow(contentElement: HTMLElement): void;
|
|
19
22
|
updateClassMap(placement: string, customClass: string, size: PopUpSizes): void;
|
|
20
23
|
updateTrapFocus(isTrapFocus: boolean): void;
|
|
24
|
+
onEscape(): void;
|
|
21
25
|
protected readonly componentColors: typeof KbqComponentColors;
|
|
22
26
|
static ɵfac: i0.ɵɵFactoryDeclaration<KbqPopoverComponent, never>;
|
|
23
27
|
static ɵcmp: i0.ɵɵComponentDeclaration<KbqPopoverComponent, "kbq-popover-component", never, {}, {}, never, never, false, never>;
|
package/radio/_radio-theme.scss
CHANGED
|
@@ -6,8 +6,6 @@
|
|
|
6
6
|
& .kbq-radio-button__outer-circle {
|
|
7
7
|
border-color: var(--kbq-#{$base-path}-outer-circle-border);
|
|
8
8
|
background: var(--kbq-#{$base-path}-outer-circle-background);
|
|
9
|
-
// FIXME: move under &.cdk-keyboard-focused, because used only for focused state.
|
|
10
|
-
box-shadow: var(--kbq-#{$base-path}-outer-circle-shadow);
|
|
11
9
|
}
|
|
12
10
|
|
|
13
11
|
& .kbq-radio-button__inner-circle {
|
|
@@ -28,12 +26,24 @@
|
|
|
28
26
|
|
|
29
27
|
&.cdk-keyboard-focused {
|
|
30
28
|
@include kbq-radio-state($type-name, states-focused);
|
|
29
|
+
|
|
30
|
+
& .kbq-radio-button__outer-circle {
|
|
31
|
+
box-shadow: var(--kbq-radio-#{$type-name}-states-focused-outer-circle-shadow);
|
|
32
|
+
}
|
|
31
33
|
}
|
|
32
34
|
|
|
33
35
|
&.kbq-selected:not(.kbq-disabled) {
|
|
34
36
|
@include kbq-radio-state($type-name, states-checked);
|
|
35
37
|
}
|
|
36
38
|
|
|
39
|
+
&.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) {
|
|
40
|
+
@include kbq-radio-state($type-name, states-checked-focused);
|
|
41
|
+
|
|
42
|
+
& .kbq-radio-button__outer-circle {
|
|
43
|
+
box-shadow: var(--kbq-radio-#{$type-name}-states-checked-focused-outer-circle-shadow);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
37
47
|
&.kbq-selected.kbq-disabled {
|
|
38
48
|
@include kbq-radio-state($type-name, states-checked-disabled);
|
|
39
49
|
}
|
|
@@ -11,19 +11,6 @@ function noProject(project) {
|
|
|
11
11
|
return `Unable to find project '${project}' in the workspace`;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
const VERSIONS = {
|
|
15
|
-
ANGULAR_CDK: '^0.0.0',
|
|
16
|
-
KOOBIQ_CDK: '^0.0.0',
|
|
17
|
-
KOOBIQ_ANGULAR_LUXON_ADAPTER: '^0.0.0',
|
|
18
|
-
KOOBIQ_DATE_FORMATTER: '^0.0.0',
|
|
19
|
-
KOOBIQ_DATE_ADAPTER: '^0.0.0',
|
|
20
|
-
KOOBIQ_ICONS: '^0.0.0',
|
|
21
|
-
KOOBIQ_TOKENS_BUILDER: '^0.0.0',
|
|
22
|
-
KOOBIQ_DESIGN_TOKENS: '^0.0.0',
|
|
23
|
-
MESSAGEFORMAT_CORE: '^0.0.0',
|
|
24
|
-
RADIX_NG: '^0.0.0',
|
|
25
|
-
LUXON: '^0.0.0'
|
|
26
|
-
};
|
|
27
14
|
/**
|
|
28
15
|
* This is executed when `ng add @koobiq/components` is run.
|
|
29
16
|
* It installs all dependencies in the 'package.json' and runs 'ng-add-setup-project' schematic.
|
|
@@ -40,15 +27,15 @@ function ngAdd(options) {
|
|
|
40
27
|
}
|
|
41
28
|
// Installing dependencies
|
|
42
29
|
utils_packageConfig.addPackageToPackageJson(tree, '@angular/cdk', "^18.2.6");
|
|
43
|
-
utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/cdk', "^18.
|
|
44
|
-
utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/angular-luxon-adapter', "^18.
|
|
30
|
+
utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/cdk', "^18.16.0");
|
|
31
|
+
utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/angular-luxon-adapter', "^18.16.0");
|
|
45
32
|
utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/date-formatter', "^3.2.0");
|
|
46
33
|
utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/date-adapter', "^3.2.0");
|
|
47
34
|
utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/icons', "^9.2.0");
|
|
48
|
-
utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/tokens-builder', "^3.
|
|
49
|
-
utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/design-tokens', "^3.
|
|
35
|
+
utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/tokens-builder', "^3.11.0");
|
|
36
|
+
utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/design-tokens', "^3.11.2");
|
|
50
37
|
utils_packageConfig.addPackageToPackageJson(tree, '@messageformat/core', "^3.0.1");
|
|
51
|
-
utils_packageConfig.addPackageToPackageJson(tree, '@radix-ng/primitives',
|
|
38
|
+
utils_packageConfig.addPackageToPackageJson(tree, '@radix-ng/primitives', "^0.20.2");
|
|
52
39
|
utils_packageConfig.addPackageToPackageJson(tree, 'luxon', "^3.4.4");
|
|
53
40
|
};
|
|
54
41
|
}
|
|
@@ -340,7 +340,7 @@ export declare class KbqSelect extends KbqSelectMixinBase implements AfterConten
|
|
|
340
340
|
private _compareWith;
|
|
341
341
|
private getTotalVisibleItems;
|
|
342
342
|
private buildTriggerClone;
|
|
343
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<KbqSelect, [null, null, null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; self: true; }, null, { optional: true; }]>;
|
|
343
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KbqSelect, [null, null, null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; host: true; }, { optional: true; self: true; }, null, { optional: true; }]>;
|
|
344
344
|
static ɵcmp: i0.ɵɵComponentDeclaration<KbqSelect, "kbq-select", ["kbqSelect"], { "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "hiddenItemsText": { "alias": "hiddenItemsText"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "backdropClass": { "alias": "backdropClass"; "required": false; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; "sortComparator": { "alias": "sortComparator"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "panelWidth": { "alias": "panelWidth"; "required": false; }; "panelMinWidth": { "alias": "panelMinWidth"; "required": false; }; "value": { "alias": "value"; "required": false; }; "id": { "alias": "id"; "required": false; }; "hiddenItemsTextFormatter": { "alias": "hiddenItemsTextFormatter"; "required": false; }; }, { "openedChange": "openedChange"; "openedStream": "opened"; "closedStream": "closed"; "selectionChange": "selectionChange"; "valueChange": "valueChange"; }, ["footer", "cdkVirtualForOf", "customTrigger", "customMatcher", "customTagTemplateRef", "cleaner", "search", "options", "optionGroups"], ["kbq-select-matcher, [kbq-select-matcher]", "kbq-select-trigger, [kbq-select-trigger]", "kbq-cleaner", "[kbqSelectSearch]", "[kbq-select-search-empty-result]", "*", "kbq-select-footer,[kbq-select-footer]"], false, never>;
|
|
345
345
|
static ngAcceptInputType_multiple: unknown;
|
|
346
346
|
static ngAcceptInputType_panelMinWidth: unknown;
|
|
@@ -7,8 +7,9 @@ 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 "@angular/cdk/a11y";
|
|
10
11
|
export declare class KbqSelectModule {
|
|
11
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<KbqSelectModule, never>;
|
|
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]>;
|
|
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 i9.A11yModule], [typeof i1.KbqSelect, typeof i2.KbqOptionTooltip, typeof i4.KbqOptionModule, typeof i4.KbqSelectSearch, typeof i4.KbqSelectFooter, typeof i4.KbqSelectMatcher, typeof i4.KbqSelectTrigger, typeof i4.KbqSelectSearchEmptyResult]>;
|
|
13
14
|
static ɵinj: i0.ɵɵInjectorDeclaration<KbqSelectModule>;
|
|
14
15
|
}
|
package/tabs/_tabs-common.scss
CHANGED
|
@@ -112,6 +112,20 @@
|
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
+
.kbq-tab-header_underlined:not(.kbq-tab-header_vertical) .kbq-tab-list__content {
|
|
116
|
+
padding: 8px 0;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.kbq-tab-header_underlined:not(.kbq-tab-header_vertical):after {
|
|
120
|
+
content: '';
|
|
121
|
+
position: absolute;
|
|
122
|
+
left: 0;
|
|
123
|
+
bottom: 0;
|
|
124
|
+
right: 0;
|
|
125
|
+
height: 1px;
|
|
126
|
+
background: var(--kbq-line-contrast-less);
|
|
127
|
+
}
|
|
128
|
+
|
|
115
129
|
.kbq-tab-list__active-tab-underline {
|
|
116
130
|
display: none;
|
|
117
131
|
}
|
package/tabs/tab-header.scss
CHANGED
|
@@ -26,20 +26,6 @@
|
|
|
26
26
|
flex-direction: column;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
.kbq-tab-header_underlined:not(.kbq-tab-header_vertical) .kbq-tab-list__content {
|
|
30
|
-
padding: 8px 0;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
.kbq-tab-header_underlined:not(.kbq-tab-header_vertical):after {
|
|
34
|
-
content: '';
|
|
35
|
-
position: absolute;
|
|
36
|
-
left: 0;
|
|
37
|
-
bottom: 0;
|
|
38
|
-
right: 0;
|
|
39
|
-
height: 1px;
|
|
40
|
-
background: var(--kbq-line-contrast-less);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
29
|
.kbq-tab-header__container {
|
|
44
30
|
display: flex;
|
|
45
31
|
flex-grow: 1;
|
|
@@ -12,8 +12,9 @@ import * as i10 from "@koobiq/components/icon";
|
|
|
12
12
|
import * as i11 from "@koobiq/components/tags";
|
|
13
13
|
import * as i12 from "@koobiq/components/tooltip";
|
|
14
14
|
import * as i13 from "@angular/common";
|
|
15
|
+
import * as i14 from "@angular/cdk/a11y";
|
|
15
16
|
export declare class KbqTimezoneModule {
|
|
16
17
|
static ɵfac: i0.ɵɵFactoryDeclaration<KbqTimezoneModule, never>;
|
|
17
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<KbqTimezoneModule, [typeof i1.UtcOffsetPipe, typeof i2.CitiesByFilterPipe, typeof i3.KbqTimezoneSelect, typeof i4.KbqTimezoneOption, typeof i5.KbqTimezoneOptionTooltip, typeof i3.KbqTimezoneSelectTrigger], [typeof i6.OverlayModule, typeof i7.KbqFormFieldModule, typeof i8.KbqOptionModule, typeof i9.KbqSelectModule, typeof i10.KbqIconModule, typeof i11.KbqTagsModule, typeof i12.KbqToolTipModule, typeof i8.KbqHighlightModule, typeof i13.NgClass, typeof i13.KeyValuePipe], [typeof i3.KbqTimezoneSelect, typeof i4.KbqTimezoneOption, typeof i5.KbqTimezoneOptionTooltip, typeof i3.KbqTimezoneSelectTrigger]>;
|
|
18
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<KbqTimezoneModule, [typeof i1.UtcOffsetPipe, typeof i2.CitiesByFilterPipe, typeof i3.KbqTimezoneSelect, typeof i4.KbqTimezoneOption, typeof i5.KbqTimezoneOptionTooltip, typeof i3.KbqTimezoneSelectTrigger], [typeof i6.OverlayModule, typeof i7.KbqFormFieldModule, typeof i8.KbqOptionModule, typeof i9.KbqSelectModule, typeof i10.KbqIconModule, typeof i11.KbqTagsModule, typeof i12.KbqToolTipModule, typeof i8.KbqHighlightModule, typeof i13.NgClass, typeof i13.KeyValuePipe, typeof i14.A11yModule], [typeof i3.KbqTimezoneSelect, typeof i4.KbqTimezoneOption, typeof i5.KbqTimezoneOptionTooltip, typeof i3.KbqTimezoneSelectTrigger]>;
|
|
18
19
|
static ɵinj: i0.ɵɵInjectorDeclaration<KbqTimezoneModule>;
|
|
19
20
|
}
|
package/tree/_tree-theme.scss
CHANGED
|
@@ -24,8 +24,10 @@
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
@mixin kbq-tree-theme() {
|
|
27
|
-
.kbq-tree-selection
|
|
28
|
-
|
|
27
|
+
.kbq-tree-selection {
|
|
28
|
+
&:focus {
|
|
29
|
+
outline: none;
|
|
30
|
+
}
|
|
29
31
|
}
|
|
30
32
|
|
|
31
33
|
.kbq-tree-option {
|
|
@@ -35,11 +37,6 @@
|
|
|
35
37
|
@include kbq-tree-option(states-hover);
|
|
36
38
|
}
|
|
37
39
|
|
|
38
|
-
&.kbq-focused,
|
|
39
|
-
&.kbq-active {
|
|
40
|
-
border-color: var(--kbq-tree-states-focused-focus-outline-color);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
40
|
&.kbq-selected {
|
|
44
41
|
@include kbq-tree-option(states-selected);
|
|
45
42
|
|
|
@@ -56,6 +53,12 @@
|
|
|
56
53
|
}
|
|
57
54
|
}
|
|
58
55
|
}
|
|
56
|
+
|
|
57
|
+
.cdk-keyboard-focused {
|
|
58
|
+
& .kbq-tree-option.kbq-focused {
|
|
59
|
+
border-color: var(--kbq-tree-states-focused-focus-outline-color);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
59
62
|
}
|
|
60
63
|
|
|
61
64
|
@mixin kbq-tree-typography() {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { FocusMonitor } from '@angular/cdk/a11y';
|
|
1
2
|
import { Clipboard } from '@angular/cdk/clipboard';
|
|
2
3
|
import { SelectionModel } from '@angular/cdk/collections';
|
|
3
|
-
import { AfterContentInit, ChangeDetectorRef, ElementRef, EventEmitter, IterableDiffer, IterableDiffers, QueryList, ViewContainerRef } from '@angular/core';
|
|
4
|
+
import { AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, IterableDiffer, IterableDiffers, OnDestroy, QueryList, ViewContainerRef } from '@angular/core';
|
|
4
5
|
import { ControlValueAccessor } from '@angular/forms';
|
|
5
6
|
import { FocusKeyManager } from '@koobiq/cdk/a11y';
|
|
6
7
|
import { CanDisable, HasTabIndex, MultipleMode } from '@koobiq/components/core';
|
|
@@ -36,10 +37,11 @@ interface SelectionModelOption {
|
|
|
36
37
|
id: number | string;
|
|
37
38
|
value: string;
|
|
38
39
|
}
|
|
39
|
-
export declare class KbqTreeSelection extends KbqTreeBase<any> implements ControlValueAccessor, AfterContentInit, CanDisable, HasTabIndex {
|
|
40
|
+
export declare class KbqTreeSelection extends KbqTreeBase<any> implements ControlValueAccessor, AfterContentInit, AfterViewInit, OnDestroy, CanDisable, HasTabIndex {
|
|
40
41
|
private elementRef;
|
|
41
42
|
private scheduler;
|
|
42
43
|
private clipboard;
|
|
44
|
+
protected readonly focusMonitor: FocusMonitor;
|
|
43
45
|
renderedOptions: QueryList<KbqTreeOption>;
|
|
44
46
|
keyManager: FocusKeyManager<KbqTreeOption>;
|
|
45
47
|
selectionModel: SelectionModel<SelectionModelOption>;
|
|
@@ -75,7 +77,9 @@ export declare class KbqTreeSelection extends KbqTreeBase<any> implements Contro
|
|
|
75
77
|
private optionFocusSubscription;
|
|
76
78
|
private optionBlurSubscription;
|
|
77
79
|
constructor(elementRef: ElementRef, scheduler: AsyncScheduler, differs: IterableDiffers, changeDetectorRef: ChangeDetectorRef, multiple: MultipleMode, clipboard: Clipboard);
|
|
80
|
+
ngAfterViewInit(): void;
|
|
78
81
|
ngAfterContentInit(): void;
|
|
82
|
+
ngOnDestroy(): void;
|
|
79
83
|
focus($event: any): void;
|
|
80
84
|
highlightSelectedOption(): void;
|
|
81
85
|
blur(): void;
|
|
@@ -296,7 +296,7 @@ export declare class KbqTreeSelect extends KbqTreeSelectMixinBase implements Aft
|
|
|
296
296
|
/** Scrolls the active option into view. */
|
|
297
297
|
private scrollActiveOptionIntoView;
|
|
298
298
|
private subscribeOnSearchChanges;
|
|
299
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<KbqTreeSelect, [null, null, null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; self: true; }, { optional: true; }]>;
|
|
299
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KbqTreeSelect, [null, null, null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; host: true; }, { optional: true; self: true; }, { optional: true; }]>;
|
|
300
300
|
static ɵcmp: i0.ɵɵComponentDeclaration<KbqTreeSelect, "kbq-tree-select", ["kbqTreeSelect"], { "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "hiddenItemsText": { "alias": "hiddenItemsText"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "backdropClass": { "alias": "backdropClass"; "required": false; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; "sortComparator": { "alias": "sortComparator"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "autoSelect": { "alias": "autoSelect"; "required": false; }; "id": { "alias": "id"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "panelWidth": { "alias": "panelWidth"; "required": false; }; "hiddenItemsTextFormatter": { "alias": "hiddenItemsTextFormatter"; "required": false; }; }, { "openedChange": "openedChange"; "openedStream": "opened"; "closedStream": "closed"; "selectionChange": "selectionChange"; "valueChange": "valueChange"; }, ["cleaner", "customTrigger", "customMatcher", "customTagTemplateRef", "tree", "search"], ["kbq-select-matcher, [kbq-select-matcher]", "kbq-select-trigger", "kbq-cleaner", "[kbqSelectSearch]", "[kbq-select-search-empty-result]", "kbq-tree-selection", "kbq-select-footer,[kbq-tree-select-footer]"], false, never>;
|
|
301
301
|
}
|
|
302
302
|
export {};
|
|
@@ -6,8 +6,9 @@ import * as i4 from "@koobiq/components/icon";
|
|
|
6
6
|
import * as i5 from "@koobiq/components/tags";
|
|
7
7
|
import * as i6 from "@koobiq/components/core";
|
|
8
8
|
import * as i7 from "@angular/common";
|
|
9
|
+
import * as i8 from "@angular/cdk/a11y";
|
|
9
10
|
export declare class KbqTreeSelectModule {
|
|
10
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<KbqTreeSelectModule, never>;
|
|
11
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<KbqTreeSelectModule, [typeof i1.KbqTreeSelect], [typeof i2.OverlayModule, typeof i3.KbqTreeModule, typeof i4.KbqIconModule, typeof i5.KbqTagsModule, typeof i6.KbqPseudoCheckboxModule, typeof i6.KbqSelectSearch, typeof i6.KbqSelectFooter, typeof i6.KbqSelectMatcher, typeof i6.KbqSelectTrigger, typeof i6.KbqSelectSearchEmptyResult, typeof i7.NgClass, typeof i7.NgTemplateOutlet], [typeof i1.KbqTreeSelect, typeof i6.KbqSelectSearch, typeof i6.KbqSelectFooter, typeof i6.KbqSelectMatcher, typeof i6.KbqSelectTrigger, typeof i6.KbqSelectSearchEmptyResult]>;
|
|
12
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<KbqTreeSelectModule, [typeof i1.KbqTreeSelect], [typeof i2.OverlayModule, typeof i3.KbqTreeModule, typeof i4.KbqIconModule, typeof i5.KbqTagsModule, typeof i6.KbqPseudoCheckboxModule, typeof i6.KbqSelectSearch, typeof i6.KbqSelectFooter, typeof i6.KbqSelectMatcher, typeof i6.KbqSelectTrigger, typeof i6.KbqSelectSearchEmptyResult, typeof i7.NgClass, typeof i7.NgTemplateOutlet, typeof i8.A11yModule], [typeof i1.KbqTreeSelect, typeof i6.KbqSelectSearch, typeof i6.KbqSelectFooter, typeof i6.KbqSelectMatcher, typeof i6.KbqSelectTrigger, typeof i6.KbqSelectSearchEmptyResult]>;
|
|
12
13
|
static ɵinj: i0.ɵɵInjectorDeclaration<KbqTreeSelectModule>;
|
|
13
14
|
}
|