@koobiq/components 19.4.1 → 19.6.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/LICENSE +1 -1
- package/accordion/accordion-content.d.ts +1 -1
- package/accordion/accordion-content.directive.d.ts +22 -7
- package/accordion/accordion-header.directive.d.ts +2 -2
- package/accordion/accordion-item.d.ts +74 -3
- package/accordion/accordion-trigger.component.d.ts +15 -2
- package/accordion/accordion-trigger.directive.d.ts +13 -5
- package/accordion/accordion.component.d.ts +67 -6
- package/accordion/accordion.component.scss +9 -27
- package/accordion/public-api.d.ts +0 -2
- package/actions-panel/actions-panel-container.scss +6 -0
- package/actions-panel/actions-panel-tokens.scss +4 -1
- package/autocomplete/autocomplete.component.d.ts +6 -1
- package/autocomplete/autocomplete.module.d.ts +1 -1
- package/autocomplete/autocomplete.scss +14 -3
- package/badge/badge-tokens.scss +3 -3
- package/button/button-group.d.ts +45 -0
- package/button/button-group.scss +17 -0
- package/button/button.component.d.ts +3 -0
- package/button/button.module.d.ts +2 -1
- package/button/public-api.d.ts +1 -0
- package/button-toggle/button-toggle-tokens.scss +1 -1
- package/checkbox/checkbox.d.ts +5 -4
- package/checkbox/checkbox.scss +5 -5
- package/clamped-text/clamped-list.d.ts +41 -0
- package/clamped-text/clamped-text.d.ts +10 -6
- package/clamped-text/constants.d.ts +21 -1
- package/clamped-text/index.d.ts +1 -0
- package/clamped-text/module.d.ts +2 -1
- package/code-block/code-block-tokens.scss +35 -16
- package/code-block/code-block.d.ts +17 -5
- package/code-block/code-block.module.d.ts +1 -1
- package/code-block/code-block.scss +1 -0
- package/code-block/types.d.ts +9 -0
- package/core/common-behaviors/flex.d.ts +4 -0
- package/core/common-behaviors/index.d.ts +1 -0
- package/core/error/error-state-matcher.d.ts +10 -0
- package/core/form-field/form-field-ref.d.ts +3 -1
- package/core/forms/_forms.scss +10 -3
- package/core/locales/en-US.d.ts +2 -0
- package/core/locales/es-LA.d.ts +2 -0
- package/core/locales/locale-service.d.ts +10 -0
- package/core/locales/pt-BR.d.ts +2 -0
- package/core/locales/ru-RU.d.ts +2 -0
- package/core/locales/tk-TM.d.ts +2 -0
- package/core/locales/types.d.ts +2 -0
- package/core/option/_option-action-theme.scss +1 -0
- package/core/option/_option-theme.scss +4 -17
- package/core/option/action-container.scss +4 -6
- package/core/option/option.d.ts +5 -1
- package/core/option/option.scss +5 -0
- package/core/pop-up/pop-up-trigger.d.ts +11 -2
- package/core/select/common.d.ts +4 -4
- package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +2 -2
- package/core/styles/common/_groups-mixins.scss +79 -0
- package/core/styles/common/_groups.scss +4 -34
- package/core/styles/common/_overlay.scss +5 -1
- package/core/styles/common/_select.scss +4 -0
- package/core/styles/theming/scrollbar-tokens.scss +6 -6
- package/core/styles/visual/_layout.scss +0 -2
- package/core/utils/utils.d.ts +2 -0
- package/datepicker/datepicker-input.directive.d.ts +1 -0
- package/dropdown/dropdown-trigger.directive.d.ts +5 -0
- package/dropdown/dropdown.component.d.ts +2 -1
- package/ellipsis-center/ellipsis-center.directive.d.ts +0 -1
- package/fesm2022/koobiq-components-accordion.mjs +301 -237
- package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
- package/fesm2022/koobiq-components-actions-panel.mjs +12 -12
- package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-alert.mjs +16 -16
- package/fesm2022/koobiq-components-app-switcher.mjs +25 -25
- package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
- package/fesm2022/koobiq-components-autocomplete.mjs +39 -23
- package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
- package/fesm2022/koobiq-components-badge.mjs +14 -14
- package/fesm2022/koobiq-components-badge.mjs.map +1 -1
- package/fesm2022/koobiq-components-breadcrumbs.mjs +25 -25
- package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +12 -12
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-button.mjs +146 -24
- package/fesm2022/koobiq-components-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-checkbox.mjs +18 -20
- package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
- package/fesm2022/koobiq-components-clamped-text.mjs +134 -47
- package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +54 -22
- package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
- package/fesm2022/koobiq-components-content-panel.mjs +28 -28
- package/fesm2022/koobiq-components-core.mjs +313 -257
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +40 -64
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-divider.mjs +7 -7
- package/fesm2022/koobiq-components-dl.mjs +13 -13
- package/fesm2022/koobiq-components-dropdown.mjs +48 -23
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-dynamic-translation.mjs +13 -13
- package/fesm2022/koobiq-components-ellipsis-center.mjs +8 -9
- package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-empty-state.mjs +19 -19
- package/fesm2022/koobiq-components-file-upload.mjs +39 -39
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-filter-bar.mjs +118 -106
- package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +77 -65
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-icon.mjs +32 -28
- package/fesm2022/koobiq-components-icon.mjs.map +1 -1
- package/fesm2022/koobiq-components-inline-edit.mjs +115 -65
- package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
- package/fesm2022/koobiq-components-input.mjs +28 -26
- package/fesm2022/koobiq-components-input.mjs.map +1 -1
- package/fesm2022/koobiq-components-link.mjs +23 -17
- package/fesm2022/koobiq-components-link.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +19 -19
- package/fesm2022/koobiq-components-loader-overlay.mjs +28 -19
- package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
- package/fesm2022/koobiq-components-markdown.mjs +54 -22
- package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +96 -63
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar-ic.mjs +34 -34
- package/fesm2022/koobiq-components-navbar.mjs +53 -46
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-notification-center.mjs +16 -16
- package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-overflow-items.mjs +29 -17
- package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +52 -23
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-bar.mjs +13 -13
- package/fesm2022/koobiq-components-progress-spinner.mjs +14 -14
- package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
- package/fesm2022/koobiq-components-radio.mjs +10 -10
- package/fesm2022/koobiq-components-resizer.mjs +10 -10
- package/fesm2022/koobiq-components-risk-level.mjs +7 -7
- package/fesm2022/koobiq-components-scrollbar.mjs +12 -12
- package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-search-expandable.mjs +17 -8
- package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +342 -58
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidebar.mjs +13 -13
- package/fesm2022/koobiq-components-sidepanel.mjs +50 -41
- package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
- package/fesm2022/koobiq-components-skeleton.mjs +62 -13
- package/fesm2022/koobiq-components-skeleton.mjs.map +1 -1
- package/fesm2022/koobiq-components-split-button.mjs +9 -9
- package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-splitter.mjs +16 -16
- package/fesm2022/koobiq-components-table.mjs +10 -10
- package/fesm2022/koobiq-components-tabs.mjs +54 -54
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +44 -47
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-textarea.mjs +10 -9
- package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
- package/fesm2022/koobiq-components-time-range.mjs +25 -25
- package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
- package/fesm2022/koobiq-components-timepicker.mjs +10 -10
- package/fesm2022/koobiq-components-timezone.mjs +26 -26
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-title.mjs +8 -9
- package/fesm2022/koobiq-components-title.mjs.map +1 -1
- package/fesm2022/koobiq-components-toast.mjs +16 -16
- package/fesm2022/koobiq-components-toggle.mjs +12 -9
- package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-tooltip.mjs +95 -52
- package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
- package/fesm2022/koobiq-components-top-bar.mjs +15 -15
- package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +15 -12
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +64 -52
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/fesm2022/koobiq-components-username.mjs +28 -28
- package/fesm2022/koobiq-components-username.mjs.map +1 -1
- package/filter-bar/filter-search.d.ts +10 -1
- package/filter-bar/pipes/pipe-date.scss +5 -16
- package/form-field/form-field.d.ts +25 -1
- package/form-field/form-field.scss +26 -2
- package/icon/icon-button.component.d.ts +3 -0
- package/icon/icon-button.scss +4 -0
- package/inline-edit/inline-edit-tokens.scss +3 -3
- package/inline-edit/inline-edit.d.ts +31 -11
- package/inline-edit/inline-edit.scss +28 -30
- package/input/input-password.d.ts +1 -0
- package/input/input.d.ts +1 -0
- package/link/_link-theme.scss +18 -8
- package/link/link-tokens.scss +9 -6
- package/link/link.component.d.ts +9 -5
- package/loader-overlay/_loader-overlay-theme.scss +12 -0
- package/loader-overlay/loader-overlay-tokens.scss +1 -0
- package/loader-overlay/loader-overlay.component.d.ts +7 -1
- package/markdown/_markdown-theme.scss +3 -31
- package/markdown/markdown-tokens.scss +0 -11
- package/markdown/markdown.component.d.ts +12 -7
- package/markdown/markdown.scss +0 -11
- package/modal/modal-ref.class.d.ts +1 -0
- package/modal/modal.component.d.ts +14 -8
- package/modal/modal.scss +1 -0
- package/modal/modal.type.d.ts +5 -0
- package/navbar/navbar-item.component.d.ts +3 -1
- package/navbar/navbar.scss +3 -0
- package/overflow-items/overflow-items.d.ts +8 -2
- package/package.json +4 -5
- package/popover/popover.component.d.ts +15 -2
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/light-theme.css +1 -1
- package/prebuilt-themes/theme.css +1 -1
- package/progress-spinner/progress-spinner.scss +1 -0
- package/schematics/ng-add/index.js +4 -6
- package/scrollbar/scrollbar-tokens.scss +7 -7
- package/search-expandable/search-expandable.d.ts +6 -2
- package/select/public-api.d.ts +1 -0
- package/select/select-common.d.ts +30 -0
- package/select/select.component.d.ts +193 -29
- package/select/select.module.d.ts +3 -2
- package/sidepanel/_sidepanel-theme.scss +1 -7
- package/sidepanel/sidepanel-config.d.ts +10 -2
- package/sidepanel/sidepanel.service.d.ts +0 -1
- package/skeleton/skeleton.d.ts +12 -3
- package/skeleton/skeleton.scss +22 -7
- package/split-button/_split-button-theme.scss +2 -1
- package/tabs/_tabs-common.scss +2 -1
- package/tags/tag-input.d.ts +4 -3
- package/tags/tag-list.component.d.ts +1 -0
- package/tags/tag-tokens.scss +4 -4
- package/textarea/textarea.component.d.ts +1 -0
- package/title/title.directive.d.ts +0 -1
- package/toggle/toggle.component.d.ts +4 -3
- package/tooltip/tooltip-tokens.scss +4 -4
- package/tooltip/tooltip.component.d.ts +22 -2
- package/top-bar/top-bar.scss +3 -0
- package/tree/_tree-theme.scss +0 -19
- package/tree/tree-option.component.d.ts +9 -3
- package/tree/tree-option.scss +9 -5
- package/tree/tree-selection.component.d.ts +2 -0
- package/tree-select/tree-select.component.d.ts +1 -0
- package/accordion/accordion-item.directive.d.ts +0 -72
- package/accordion/accordion-root.directive.d.ts +0 -64
package/core/option/option.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AfterViewChecked, ChangeDetectorRef, ElementRef, EventEmitter, InjectionToken, OnDestroy, QueryList } from '@angular/core';
|
|
2
|
+
import { ActiveDescendantKeyManager } from '@koobiq/cdk/a11y';
|
|
2
3
|
import { Subject } from 'rxjs';
|
|
3
4
|
import { KbqTitleTextRef } from '../title';
|
|
4
5
|
import { KbqOptgroup } from './optgroup';
|
|
@@ -18,6 +19,7 @@ export interface KbqOptionParentComponent {
|
|
|
18
19
|
multiple?: boolean;
|
|
19
20
|
multiSelection?: boolean;
|
|
20
21
|
withVirtualScroll?: boolean;
|
|
22
|
+
keyManager?: ActiveDescendantKeyManager<KbqOption>;
|
|
21
23
|
setSelectedOptionsByClick: (option: KbqOption) => void;
|
|
22
24
|
}
|
|
23
25
|
/**
|
|
@@ -61,7 +63,7 @@ export declare class KbqVirtualOption extends KbqOptionBase {
|
|
|
61
63
|
export declare class KbqOption extends KbqOptionBase implements AfterViewChecked, OnDestroy, KbqTitleTextRef {
|
|
62
64
|
private readonly elementRef;
|
|
63
65
|
private readonly changeDetectorRef;
|
|
64
|
-
|
|
66
|
+
protected readonly parent: KbqOptionParentComponent;
|
|
65
67
|
readonly group: KbqOptgroup;
|
|
66
68
|
textElement: ElementRef;
|
|
67
69
|
/** The form value of the option. */
|
|
@@ -133,6 +135,8 @@ export declare class KbqOption extends KbqOptionBase implements AfterViewChecked
|
|
|
133
135
|
selectViaInteraction(): void;
|
|
134
136
|
getTabIndex(): string;
|
|
135
137
|
getHostElement(): HTMLElement;
|
|
138
|
+
/** @docs-private */
|
|
139
|
+
protected onMouseenter(): void;
|
|
136
140
|
static ɵfac: i0.ɵɵFactoryDeclaration<KbqOption, [null, null, { optional: true; }, { optional: true; }]>;
|
|
137
141
|
static ɵcmp: i0.ɵɵComponentDeclaration<KbqOption, "kbq-option", ["kbqOption"], { "value": { "alias": "value"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; "userSelect": { "alias": "userSelect"; "required": false; }; "showCheckbox": { "alias": "showCheckbox"; "required": false; }; "viewValue": { "alias": "viewValue"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "onSelectionChange": "onSelectionChange"; }, never, ["kbq-pseudo-checkbox", "*"], true, never>;
|
|
138
142
|
static ngAcceptInputType_selectable: unknown;
|
package/core/option/option.scss
CHANGED
|
@@ -6,6 +6,11 @@
|
|
|
6
6
|
@include list.kbq-list-item-base();
|
|
7
7
|
@include vendor-prefixes.user-select(none);
|
|
8
8
|
|
|
9
|
+
& > .kbq-pseudo-checkbox {
|
|
10
|
+
margin-top: var(--kbq-size-3xs);
|
|
11
|
+
align-self: baseline;
|
|
12
|
+
}
|
|
13
|
+
|
|
9
14
|
border-radius: var(--kbq-option-border-radius);
|
|
10
15
|
|
|
11
16
|
&:not(.kbq-disabled) {
|
|
@@ -19,7 +19,12 @@ export declare abstract class KbqPopUpTrigger<T> implements OnInit, OnDestroy {
|
|
|
19
19
|
protected readonly destroyRef: DestroyRef;
|
|
20
20
|
protected readonly scrollable: CdkScrollable | null;
|
|
21
21
|
protected abstract scrollStrategy: () => ScrollStrategy;
|
|
22
|
-
|
|
22
|
+
/** @docs-private */
|
|
23
|
+
protected externalNativeElement: HTMLElement;
|
|
24
|
+
private popUpChangeDetectorRef;
|
|
25
|
+
get isOpen(): boolean;
|
|
26
|
+
set isOpen(value: boolean);
|
|
27
|
+
private _isOpen;
|
|
23
28
|
enterDelay: number;
|
|
24
29
|
leaveDelay: number;
|
|
25
30
|
triggerName: string;
|
|
@@ -66,7 +71,7 @@ export declare abstract class KbqPopUpTrigger<T> implements OnInit, OnDestroy {
|
|
|
66
71
|
keydownHandler(event: KeyboardEvent): void;
|
|
67
72
|
touchendHandler(): void;
|
|
68
73
|
show(delay?: number): void;
|
|
69
|
-
hide
|
|
74
|
+
hide(delay?: number): void;
|
|
70
75
|
detach: () => void;
|
|
71
76
|
/** Create the overlay config and position strategy */
|
|
72
77
|
createOverlay(): OverlayRef;
|
|
@@ -77,6 +82,10 @@ export declare abstract class KbqPopUpTrigger<T> implements OnInit, OnDestroy {
|
|
|
77
82
|
/** Updates the position of the current popover. */
|
|
78
83
|
updatePosition(reapplyPosition?: boolean): void;
|
|
79
84
|
focus(): void;
|
|
85
|
+
/** @docs-private */
|
|
86
|
+
getNativeElement(): HTMLElement;
|
|
87
|
+
/** @docs-private */
|
|
88
|
+
setExternalNativeElement(value: HTMLElement): void;
|
|
80
89
|
/**
|
|
81
90
|
* Returns a list of positions that are aligned with the element's dimensions and offsets.
|
|
82
91
|
* @protected
|
package/core/select/common.d.ts
CHANGED
|
@@ -12,6 +12,10 @@ export declare class KbqSelectMatcher {
|
|
|
12
12
|
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqSelectMatcher, "kbq-select-matcher, [kbq-select-matcher]", never, { "useDefaultHandlers": { "alias": "useDefaultHandlers"; "required": false; }; }, {}, never, never, true, never>;
|
|
13
13
|
static ngAcceptInputType_useDefaultHandlers: unknown;
|
|
14
14
|
}
|
|
15
|
+
export declare class KbqSelectSearchEmptyResult {
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KbqSelectSearchEmptyResult, never>;
|
|
17
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqSelectSearchEmptyResult, "[kbq-select-search-empty-result]", ["kbqSelectSearchEmptyResult"], {}, {}, never, never, true, never>;
|
|
18
|
+
}
|
|
15
19
|
export declare class KbqSelectFooter {
|
|
16
20
|
static ɵfac: i0.ɵɵFactoryDeclaration<KbqSelectFooter, never>;
|
|
17
21
|
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqSelectFooter, "kbq-select-footer, [kbq-select-footer]", never, {}, {}, never, never, true, never>;
|
|
@@ -34,10 +38,6 @@ export declare class KbqSelectSearch implements AfterContentInit, OnDestroy {
|
|
|
34
38
|
static ɵfac: i0.ɵɵFactoryDeclaration<KbqSelectSearch, [{ optional: true; }]>;
|
|
35
39
|
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqSelectSearch, "[kbqSelectSearch]", ["kbqSelectSearch"], {}, {}, never, never, true, never>;
|
|
36
40
|
}
|
|
37
|
-
export declare class KbqSelectSearchEmptyResult {
|
|
38
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<KbqSelectSearchEmptyResult, never>;
|
|
39
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqSelectSearchEmptyResult, "[kbq-select-search-empty-result]", ["kbqSelectSearchEmptyResult"], {}, {}, never, never, true, never>;
|
|
40
|
-
}
|
|
41
41
|
/**
|
|
42
42
|
* Abstract class representing a customizable select component with an overlay.
|
|
43
43
|
*
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
@use 'sass:map';
|
|
2
|
+
|
|
3
|
+
@mixin border-top-radius($radius) {
|
|
4
|
+
border-top-right-radius: $radius;
|
|
5
|
+
border-top-left-radius: $radius;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
@mixin border-bottom-radius($radius) {
|
|
9
|
+
border-bottom-right-radius: $radius;
|
|
10
|
+
border-bottom-left-radius: $radius;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
@mixin border-right-radius($radius) {
|
|
14
|
+
border-bottom-right-radius: $radius;
|
|
15
|
+
border-top-right-radius: $radius;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@mixin border-left-radius($radius) {
|
|
19
|
+
border-bottom-left-radius: $radius;
|
|
20
|
+
border-top-left-radius: $radius;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
@mixin group($item-selector: kbq-group-item) {
|
|
24
|
+
& {
|
|
25
|
+
display: flex;
|
|
26
|
+
flex-direction: row;
|
|
27
|
+
|
|
28
|
+
&_justified {
|
|
29
|
+
> #{$item-selector} {
|
|
30
|
+
width: 100%;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
#{$item-selector} + #{$item-selector} {
|
|
35
|
+
margin-left: calc(-1 * #{var(--kbq-size-border-width)});
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
& > #{$item-selector}:first-child:not(:last-child) {
|
|
39
|
+
@include border-right-radius(0);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
& > #{$item-selector}:last-child:not(:first-child) {
|
|
43
|
+
@include border-left-radius(0);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
& > #{$item-selector}:not(:first-child):not(:last-child) {
|
|
47
|
+
border-radius: 0;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
@mixin vertical-group($item-selector: kbq-group-item) {
|
|
53
|
+
& {
|
|
54
|
+
display: flex;
|
|
55
|
+
flex-direction: column;
|
|
56
|
+
|
|
57
|
+
> #{$item-selector} {
|
|
58
|
+
&:first-child:not(:last-child) {
|
|
59
|
+
@include border-bottom-radius(0);
|
|
60
|
+
|
|
61
|
+
border-top-right-radius: var(--kbq-size-border-radius);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
&:last-child:not(:first-child) {
|
|
65
|
+
@include border-top-radius(0);
|
|
66
|
+
|
|
67
|
+
border-bottom-left-radius: var(--kbq-size-border-radius);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
&:not(:first-child):not(:last-child) {
|
|
71
|
+
border-radius: 0;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
#{$item-selector} + #{$item-selector} {
|
|
76
|
+
margin-top: calc(-1 * #{var(--kbq-size-border-width)});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
@use './groups-mixins';
|
|
2
|
+
|
|
1
3
|
@mixin border-top-radius($radius) {
|
|
2
4
|
border-top: {
|
|
3
5
|
right-radius: $radius;
|
|
@@ -27,38 +29,21 @@
|
|
|
27
29
|
}
|
|
28
30
|
|
|
29
31
|
.kbq-group {
|
|
30
|
-
|
|
31
|
-
flex-direction: row;
|
|
32
|
-
|
|
33
|
-
.kbq-group_justified {
|
|
34
|
-
> .kbq-group-item {
|
|
35
|
-
width: 100%;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
.kbq-group-item + .kbq-group-item {
|
|
40
|
-
margin-left: calc(-1 * #{var(--kbq-size-border-width)});
|
|
41
|
-
}
|
|
32
|
+
@include groups-mixins.group();
|
|
42
33
|
|
|
43
34
|
& > .kbq-group-item:first-child:not(:last-child) {
|
|
44
|
-
@include border-right-radius(0);
|
|
45
|
-
|
|
46
35
|
> .kbq-form-field__container {
|
|
47
36
|
@include border-right-radius(0);
|
|
48
37
|
}
|
|
49
38
|
}
|
|
50
39
|
|
|
51
40
|
& > .kbq-group-item:last-child:not(:first-child) {
|
|
52
|
-
@include border-left-radius(0);
|
|
53
|
-
|
|
54
41
|
> .kbq-form-field__container {
|
|
55
42
|
@include border-left-radius(0);
|
|
56
43
|
}
|
|
57
44
|
}
|
|
58
45
|
|
|
59
46
|
& > .kbq-group-item:not(:first-child):not(:last-child) {
|
|
60
|
-
border-radius: 0;
|
|
61
|
-
|
|
62
47
|
> .kbq-form-field__container {
|
|
63
48
|
border-radius: 0;
|
|
64
49
|
}
|
|
@@ -66,40 +51,25 @@
|
|
|
66
51
|
}
|
|
67
52
|
|
|
68
53
|
.kbq-vertical-group {
|
|
69
|
-
|
|
70
|
-
flex-direction: column;
|
|
54
|
+
@include groups-mixins.vertical-group();
|
|
71
55
|
|
|
72
56
|
> .kbq-group-item {
|
|
73
57
|
&:first-child:not(:last-child) {
|
|
74
|
-
@include border-bottom-radius(0);
|
|
75
|
-
|
|
76
|
-
border-top-right-radius: var(--kbq-size-border-radius);
|
|
77
|
-
|
|
78
58
|
> .kbq-form-field__container {
|
|
79
59
|
@include border-bottom-radius(0);
|
|
80
60
|
}
|
|
81
61
|
}
|
|
82
62
|
|
|
83
63
|
&:last-child:not(:first-child) {
|
|
84
|
-
@include border-top-radius(0);
|
|
85
|
-
|
|
86
|
-
border-bottom-left-radius: var(--kbq-size-border-radius);
|
|
87
|
-
|
|
88
64
|
> .kbq-form-field__container {
|
|
89
65
|
@include border-top-radius(0);
|
|
90
66
|
}
|
|
91
67
|
}
|
|
92
68
|
|
|
93
69
|
&:not(:first-child):not(:last-child) {
|
|
94
|
-
border-radius: 0;
|
|
95
|
-
|
|
96
70
|
> .kbq-form-field__container {
|
|
97
71
|
border-radius: 0;
|
|
98
72
|
}
|
|
99
73
|
}
|
|
100
74
|
}
|
|
101
|
-
|
|
102
|
-
.kbq-group-item + .kbq-group-item {
|
|
103
|
-
margin-top: calc(-1 * #{var(--kbq-size-border-width)});
|
|
104
|
-
}
|
|
105
75
|
}
|
|
@@ -9,7 +9,7 @@ $overlay-backdrop-z-index: 1000 !default;
|
|
|
9
9
|
$overlay-backdrop-color: rgba(0, 0, 0, 0.5) !default;
|
|
10
10
|
|
|
11
11
|
// Default backdrop animation is based on the Material Design swift-ease-out.
|
|
12
|
-
$backdrop-animation-duration:
|
|
12
|
+
$backdrop-animation-duration: 300ms !default;
|
|
13
13
|
$backdrop-animation-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1) !default;
|
|
14
14
|
|
|
15
15
|
/// Emits structural styles required for cdk/overlay to function.
|
|
@@ -75,6 +75,10 @@ $backdrop-animation-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1) !default;
|
|
|
75
75
|
// todo перепроверить
|
|
76
76
|
margin: 0;
|
|
77
77
|
padding: 0;
|
|
78
|
+
|
|
79
|
+
&.cdk-overlay-pane_ignore-pointer-events {
|
|
80
|
+
pointer-events: none !important;
|
|
81
|
+
}
|
|
78
82
|
}
|
|
79
83
|
|
|
80
84
|
.cdk-overlay-backdrop {
|
|
@@ -182,10 +182,14 @@
|
|
|
182
182
|
display: flex;
|
|
183
183
|
flex-direction: row;
|
|
184
184
|
align-items: center;
|
|
185
|
+
justify-content: center;
|
|
185
186
|
box-sizing: border-box;
|
|
186
187
|
|
|
187
188
|
position: relative;
|
|
188
189
|
|
|
190
|
+
margin-bottom: var(--kbq-size-3xl);
|
|
191
|
+
margin-top: var(--kbq-size-3xl);
|
|
192
|
+
|
|
189
193
|
max-width: 100%;
|
|
190
194
|
height: var(--kbq-option-size-height, var(--kbq-size-3xl));
|
|
191
195
|
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
--kbq-scrollbar-size-thumb-min-size: var(--kbq-size-xl);
|
|
7
7
|
--kbq-scrollbar-size-thumb-border-radius: var(--kbq-size-s);
|
|
8
8
|
/* THEME TOKENS */
|
|
9
|
-
--kbq-scrollbar-thumb-default-background: var(--kbq-palette-grey-50-a32);
|
|
10
|
-
--kbq-scrollbar-thumb-hover-background: var(--kbq-palette-grey-50-a48);
|
|
11
|
-
--kbq-scrollbar-thumb-active-background: var(--kbq-palette-grey-20-a55);
|
|
9
|
+
--kbq-scrollbar-thumb-default-background: var(--kbq-semantic-contrast-a3, var(--kbq-palette-grey-50-a32));
|
|
10
|
+
--kbq-scrollbar-thumb-hover-background: var(--kbq-semantic-contrast-a4, var(--kbq-palette-grey-50-a48));
|
|
11
|
+
--kbq-scrollbar-thumb-active-background: var(--kbq-semantic-contrast-a5, var(--kbq-palette-grey-20-a55));
|
|
12
12
|
--kbq-scrollbar-thumb-disabled-background: var(--kbq-states-icon-disabled);
|
|
13
13
|
--kbq-scrollbar-track-default-border: transparent;
|
|
14
14
|
--kbq-scrollbar-track-default-background: transparent;
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
:where(.kbq-dark .kbq-scrollbar) {
|
|
22
|
-
--kbq-scrollbar-thumb-default-background: var(--kbq-palette-grey-50-a48);
|
|
23
|
-
--kbq-scrollbar-thumb-hover-background: var(--kbq-palette-grey-50-a60);
|
|
24
|
-
--kbq-scrollbar-thumb-active-background: var(--kbq-palette-grey-50-a80);
|
|
22
|
+
--kbq-scrollbar-thumb-default-background: var(--kbq-semantic-dark-contrast-a9, var(--kbq-palette-grey-50-a48));
|
|
23
|
+
--kbq-scrollbar-thumb-hover-background: var(--kbq-semantic-dark-contrast-a10, var(--kbq-palette-grey-50-a60));
|
|
24
|
+
--kbq-scrollbar-thumb-active-background: var(--kbq-semantic-dark-contrast-a11, var(--kbq-palette-grey-50-a80));
|
|
25
25
|
}
|
package/core/utils/utils.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export declare const isUndefined: (value: unknown) => value is undefined;
|
|
|
5
5
|
export declare const isNull: (value: unknown) => value is null;
|
|
6
6
|
/** Whether the value is HTMLElement. */
|
|
7
7
|
export declare const isHtmlElement: (value: unknown) => value is HTMLElement;
|
|
8
|
+
/** Whether the value is Element. */
|
|
9
|
+
export declare const isElement: (value: unknown) => value is Element;
|
|
8
10
|
/** Whether the value is HTMLElement or null. */
|
|
9
11
|
export declare const isHtmlElementOrNull: (value: unknown) => value is HTMLElement | null;
|
|
10
12
|
/**
|
|
@@ -49,6 +49,7 @@ export declare class KbqDatepickerInput<D> implements KbqFormFieldControl<D>, Co
|
|
|
49
49
|
protected readonly formField: KbqFormField | null;
|
|
50
50
|
/** @docs-private */
|
|
51
51
|
protected readonly localeService: import("@koobiq/components/core").KbqLocaleService | null;
|
|
52
|
+
private readonly useLegacyValidation;
|
|
52
53
|
/** @docs-private */
|
|
53
54
|
protected readonly externalConfiguration: unknown;
|
|
54
55
|
protected configuration: any;
|
|
@@ -33,6 +33,8 @@ export declare class KbqDropdownTrigger implements AfterContentInit, OnDestroy {
|
|
|
33
33
|
private _dir;
|
|
34
34
|
private changeDetectorRef;
|
|
35
35
|
private focusMonitor?;
|
|
36
|
+
private readonly overlayContainer;
|
|
37
|
+
private readonly renderer;
|
|
36
38
|
protected readonly isBrowser: boolean;
|
|
37
39
|
private readonly window;
|
|
38
40
|
lastDestroyReason: DropdownCloseReason;
|
|
@@ -67,6 +69,7 @@ export declare class KbqDropdownTrigger implements AfterContentInit, OnDestroy {
|
|
|
67
69
|
private overlayRef;
|
|
68
70
|
private closeSubscription;
|
|
69
71
|
private hoverSubscription;
|
|
72
|
+
private classAddedToOverlayContainer;
|
|
70
73
|
constructor(overlay: Overlay, elementRef: ElementRef<HTMLElement>, viewContainerRef: ViewContainerRef, scrollStrategy: any, parent: KbqDropdown, dropdownItemInstance: KbqDropdownItem, _dir: Directionality, changeDetectorRef: ChangeDetectorRef, focusMonitor?: FocusMonitor | undefined);
|
|
71
74
|
ngAfterContentInit(): void;
|
|
72
75
|
ngOnDestroy(): void;
|
|
@@ -137,6 +140,8 @@ export declare class KbqDropdownTrigger implements AfterContentInit, OnDestroy {
|
|
|
137
140
|
/** Gets the portal that should be attached to the overlay. */
|
|
138
141
|
private getPortal;
|
|
139
142
|
private getWidth;
|
|
143
|
+
private addClassToOverlayContainer;
|
|
144
|
+
private removeClassFromOverlayContainer;
|
|
140
145
|
static ɵfac: i0.ɵɵFactoryDeclaration<KbqDropdownTrigger, [null, null, null, null, { optional: true; }, { optional: true; self: true; }, { optional: true; }, null, null]>;
|
|
141
146
|
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqDropdownTrigger, "[kbqDropdownTriggerFor]", ["kbqDropdownTrigger"], { "offsetX": { "alias": "offsetX"; "required": false; }; "offsetY": { "alias": "offsetY"; "required": false; }; "data": { "alias": "kbqDropdownTriggerData"; "required": false; }; "openByArrowDown": { "alias": "openByArrowDown"; "required": false; }; "restoreFocus": { "alias": "kbqDropdownTriggerRestoreFocus"; "required": false; }; "dropdown": { "alias": "kbqDropdownTriggerFor"; "required": false; }; }, { "dropdownOpened": "dropdownOpened"; "dropdownClosed": "dropdownClosed"; }, never, never, true, never>;
|
|
142
147
|
static ngAcceptInputType_offsetX: unknown;
|
|
@@ -15,6 +15,7 @@ export declare class KbqDropdown implements AfterContentInit, KbqDropdownPanel,
|
|
|
15
15
|
private elementRef;
|
|
16
16
|
private ngZone;
|
|
17
17
|
private defaultOptions;
|
|
18
|
+
private search?;
|
|
18
19
|
navigationWithWrap: boolean;
|
|
19
20
|
/** Position of the dropdown in the X axis. */
|
|
20
21
|
get xPosition(): DropdownPositionX;
|
|
@@ -121,5 +122,5 @@ export declare class KbqDropdown implements AfterContentInit, KbqDropdownPanel,
|
|
|
121
122
|
*/
|
|
122
123
|
private updateDirectDescendants;
|
|
123
124
|
static ɵfac: i0.ɵɵFactoryDeclaration<KbqDropdown, never>;
|
|
124
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<KbqDropdown, "kbq-dropdown", ["kbqDropdown"], { "navigationWithWrap": { "alias": "navigationWithWrap"; "required": false; }; "xPosition": { "alias": "xPosition"; "required": false; }; "yPosition": { "alias": "yPosition"; "required": false; }; "overlapTriggerY": { "alias": "overlapTriggerY"; "required": false; }; "overlapTriggerX": { "alias": "overlapTriggerX"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "panelClass": { "alias": "class"; "required": false; }; "backdropClass": { "alias": "backdropClass"; "required": false; }; }, { "closed": "closed"; }, ["lazyContent", "items"], ["*", "[kbqDropdownStaticContent]"], true, never>;
|
|
125
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<KbqDropdown, "kbq-dropdown", ["kbqDropdown"], { "navigationWithWrap": { "alias": "navigationWithWrap"; "required": false; }; "xPosition": { "alias": "xPosition"; "required": false; }; "yPosition": { "alias": "yPosition"; "required": false; }; "overlapTriggerY": { "alias": "overlapTriggerY"; "required": false; }; "overlapTriggerX": { "alias": "overlapTriggerX"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "panelClass": { "alias": "class"; "required": false; }; "backdropClass": { "alias": "backdropClass"; "required": false; }; }, { "closed": "closed"; }, ["search", "lazyContent", "items"], ["*", "[kbqDropdownStaticContent]"], true, never>;
|
|
125
126
|
}
|
|
@@ -3,7 +3,6 @@ import { KbqTooltipTrigger } from '@koobiq/components/tooltip';
|
|
|
3
3
|
import { Subject } from 'rxjs';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class KbqEllipsisCenterDirective extends KbqTooltipTrigger implements OnInit, AfterViewInit, OnDestroy {
|
|
6
|
-
private renderer;
|
|
7
6
|
private cdr;
|
|
8
7
|
set kbqEllipsisCenter(value: string);
|
|
9
8
|
minVisibleLength: number;
|