@koobiq/components 18.12.0 → 18.13.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/alert/alert-tokens.scss +4 -4
- package/breadcrumbs/breadcrumbs-tokens.scss +9 -0
- package/breadcrumbs/breadcrumbs.d.ts +117 -0
- package/breadcrumbs/breadcrumbs.module.d.ts +7 -0
- package/breadcrumbs/breadcrumbs.scss +149 -0
- package/breadcrumbs/index.d.ts +1 -0
- package/breadcrumbs/public-api.d.ts +2 -0
- package/checkbox/checkbox-tokens.scss +2 -2
- package/core/common-behaviors/index.d.ts +1 -0
- package/core/common-behaviors/size.d.ts +4 -0
- package/core/option/_optgroup-theme.scss +5 -4
- package/core/option/optgroup.d.ts +1 -0
- package/core/option/optgroup.scss +4 -1
- package/core/option/option-tokens.scss +1 -0
- package/core/option/option.scss +1 -0
- package/core/pop-up/constants.d.ts +5 -0
- package/core/selection/pseudo-checkbox/pseudo-checkbox-tokens.scss +2 -2
- package/core/styles/common/_list.scss +0 -1
- package/core/styles/theming/_theming.scss +1 -3
- package/dropdown/_dropdown-theme.scss +2 -0
- package/dropdown/dropdown-item.scss +2 -0
- package/dropdown/dropdown-tokens.scss +1 -0
- package/dropdown/dropdown.scss +0 -2
- package/ellipsis-center/ellipsis-center.directive.d.ts +2 -1
- package/esm2022/alert/alert.component.mjs +2 -2
- package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +4 -6
- package/esm2022/breadcrumbs/breadcrumbs.mjs +218 -0
- package/esm2022/breadcrumbs/breadcrumbs.module.mjs +31 -0
- package/esm2022/breadcrumbs/index.mjs +2 -0
- package/esm2022/breadcrumbs/koobiq-components-breadcrumbs.mjs +5 -0
- package/esm2022/breadcrumbs/public-api.mjs +3 -0
- package/esm2022/checkbox/checkbox.mjs +2 -2
- package/esm2022/core/common-behaviors/index.mjs +1 -1
- package/esm2022/core/common-behaviors/size.mjs +2 -0
- package/esm2022/core/option/optgroup.mjs +4 -3
- package/esm2022/core/option/option.mjs +2 -2
- package/esm2022/core/pop-up/constants.mjs +6 -1
- package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +2 -2
- package/esm2022/core/version.mjs +2 -2
- package/esm2022/datepicker/datepicker.component.mjs +6 -4
- package/esm2022/dropdown/dropdown-item.component.mjs +2 -2
- package/esm2022/dropdown/dropdown-trigger.directive.mjs +3 -1
- package/esm2022/dropdown/dropdown.component.mjs +3 -3
- package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +6 -3
- package/esm2022/file-upload/multiple-file-upload.component.mjs +2 -2
- package/esm2022/file-upload/single-file-upload.component.mjs +2 -2
- package/esm2022/form-field/form-field.mjs +2 -2
- package/esm2022/list/list-selection.component.mjs +2 -2
- package/esm2022/list/list.component.mjs +2 -2
- package/esm2022/progress-spinner/progress-spinner.component.mjs +1 -1
- package/esm2022/radio/radio.component.mjs +2 -2
- package/esm2022/select/select.component.mjs +3 -3
- package/esm2022/timezone/timezone-option.component.mjs +2 -2
- package/esm2022/toggle/toggle.component.mjs +3 -3
- package/esm2022/tree/toggle.mjs +2 -2
- package/esm2022/tree/tree-option.component.mjs +2 -2
- package/esm2022/tree/tree-selection.component.mjs +2 -2
- package/esm2022/tree/tree.mjs +2 -2
- package/esm2022/tree-select/tree-select.component.mjs +5 -5
- package/fesm2022/koobiq-components-alert.mjs +2 -2
- package/fesm2022/koobiq-components-autocomplete.mjs +3 -5
- package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
- package/fesm2022/koobiq-components-breadcrumbs.mjs +253 -0
- package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -0
- package/fesm2022/koobiq-components-checkbox.mjs +2 -2
- package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +14 -8
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +5 -3
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +6 -5
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-ellipsis-center.mjs +5 -2
- package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-file-upload.mjs +4 -4
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +2 -2
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +4 -4
- package/fesm2022/koobiq-components-progress-spinner.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 +2 -2
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-timezone.mjs +2 -2
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-toggle.mjs +2 -2
- package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +4 -4
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +8 -8
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/file-upload/file-upload-tokens.scss +2 -2
- package/form-field/form-field-tokens.scss +5 -1
- package/list/list.scss +2 -0
- package/package.json +12 -6
- package/radio/radio-tokens.scss +1 -1
- package/schematics/ng-add/index.js +4 -4
- package/toggle/toggle-tokens.scss +1 -1
- package/tree/tree-option.scss +1 -1
- package/tree/tree-tokens.scss +1 -0
- package/tree-select/tree-select-tokens.scss +4 -0
package/alert/alert-tokens.scss
CHANGED
|
@@ -58,16 +58,16 @@
|
|
|
58
58
|
--kbq-alert-colored-contrast-container-background: var(--kbq-background-contrast-fade);
|
|
59
59
|
--kbq-alert-colored-contrast-container-title: var(--kbq-foreground-contrast);
|
|
60
60
|
--kbq-alert-colored-contrast-container-text: var(--kbq-foreground-contrast);
|
|
61
|
-
--kbq-alert-colored-error-container-background: var(--kbq-background-error-
|
|
61
|
+
--kbq-alert-colored-error-container-background: var(--kbq-background-error-less);
|
|
62
62
|
--kbq-alert-colored-error-container-title: var(--kbq-foreground-contrast);
|
|
63
63
|
--kbq-alert-colored-error-container-text: var(--kbq-foreground-contrast);
|
|
64
|
-
--kbq-alert-colored-warning-container-background: var(--kbq-background-warning-
|
|
64
|
+
--kbq-alert-colored-warning-container-background: var(--kbq-background-warning-less);
|
|
65
65
|
--kbq-alert-colored-warning-container-title: var(--kbq-foreground-contrast);
|
|
66
66
|
--kbq-alert-colored-warning-container-text: var(--kbq-foreground-contrast);
|
|
67
|
-
--kbq-alert-colored-success-container-background: var(--kbq-background-success-
|
|
67
|
+
--kbq-alert-colored-success-container-background: var(--kbq-background-success-less);
|
|
68
68
|
--kbq-alert-colored-success-container-title: var(--kbq-foreground-contrast);
|
|
69
69
|
--kbq-alert-colored-success-container-text: var(--kbq-foreground-contrast);
|
|
70
|
-
--kbq-alert-colored-theme-container-background: var(--kbq-background-theme-
|
|
70
|
+
--kbq-alert-colored-theme-container-background: var(--kbq-background-theme-less);
|
|
71
71
|
--kbq-alert-colored-theme-container-title: var(--kbq-foreground-contrast);
|
|
72
72
|
--kbq-alert-colored-theme-container-text: var(--kbq-foreground-contrast);
|
|
73
73
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
:where(.kbq-breadcrumbs) {
|
|
2
|
+
--kbq-breadcrumb-item-horizontal-padding: var(--kbq-size-xs);
|
|
3
|
+
--kbq-breadcrumb-item-height: var(--kbq-size-3xl);
|
|
4
|
+
--kbq-breadcrumb-item-expand-horizontal-padding: var(--kbq-size-s);
|
|
5
|
+
--kbq-breadcrumb-expand-icon-color: var(--kbq-icon-contrast-fade);
|
|
6
|
+
--kbq-breadcrumb-item-border-radius: var(--kbq-size-xs);
|
|
7
|
+
--kbq-breadcrumb-item-icon-color: var(--kbq-icon-contrast-fade);
|
|
8
|
+
--kbq-breadcrumbs-gap: 0;
|
|
9
|
+
}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { AfterContentInit, InjectionToken, OnInit, Provider, QueryList, TemplateRef } from '@angular/core';
|
|
2
|
+
import { RouterLink } from '@angular/router';
|
|
3
|
+
import { KbqButtonStyles } from '@koobiq/components/button';
|
|
4
|
+
import { KbqComponentColors, KbqDefaultSizes, PopUpPlacements } from '@koobiq/components/core';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@radix-ng/primitives/roving-focus";
|
|
7
|
+
export type KbqBreadcrumbsConfiguration = {
|
|
8
|
+
/**
|
|
9
|
+
* Specifies the maximum number of breadcrumb items to display.
|
|
10
|
+
* - If a number is provided, only that many items will be shown.
|
|
11
|
+
* - If `null`, no limit is applied, and all breadcrumb items are displayed.
|
|
12
|
+
*/
|
|
13
|
+
max: number | null;
|
|
14
|
+
size: KbqDefaultSizes;
|
|
15
|
+
};
|
|
16
|
+
/** Breadcrumbs options global configuration provider. */
|
|
17
|
+
export declare const KBQ_BREADCRUMBS_CONFIGURATION: InjectionToken<KbqBreadcrumbsConfiguration>;
|
|
18
|
+
/** Utility provider for `KBQ_BREADCRUMBS_CONFIGURATION`. */
|
|
19
|
+
export declare const provideKbqBreadcrumbsConfiguration: (configuration: KbqBreadcrumbsConfiguration) => Provider;
|
|
20
|
+
export declare class KbqBreadcrumbsSeparator {
|
|
21
|
+
readonly templateRef: TemplateRef<any>;
|
|
22
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KbqBreadcrumbsSeparator, never>;
|
|
23
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqBreadcrumbsSeparator, "ng-template[kbqBreadcrumbsSeparator]", never, {}, {}, never, never, true, never>;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Directive to style and configure buttons used as breadcrumb items.
|
|
27
|
+
* - Inherits focus management behavior from `RdxRovingFocusItemDirective`.
|
|
28
|
+
* - Optionally injects `KbqButton` to customize its style for breadcrumb usage.
|
|
29
|
+
*/
|
|
30
|
+
export declare class KbqBreadcrumbButton implements OnInit {
|
|
31
|
+
private readonly button;
|
|
32
|
+
ngOnInit(): void;
|
|
33
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KbqBreadcrumbButton, never>;
|
|
34
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqBreadcrumbButton, "[kbq-button][kbqBreadcrumb]", never, {}, {}, never, never, true, [{ directive: typeof i1.RdxRovingFocusItemDirective; inputs: {}; outputs: {}; }]>;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Directive provides a way to define a custom template for breadcrumb rendering, leveraging TemplateRef
|
|
38
|
+
*
|
|
39
|
+
*/
|
|
40
|
+
export declare class KbqBreadcrumbView {
|
|
41
|
+
readonly templateRef: TemplateRef<any>;
|
|
42
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KbqBreadcrumbView, never>;
|
|
43
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqBreadcrumbView, "[kbqBreadcrumbView]", never, {}, {}, never, never, true, never>;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Component represents an individual breadcrumb item with optional support for router navigation and styling.
|
|
47
|
+
*/
|
|
48
|
+
export declare class KbqBreadcrumbItem {
|
|
49
|
+
/**
|
|
50
|
+
* The text displayed for the breadcrumb item.
|
|
51
|
+
* This text will be shown if breadcrumb item is hidden in dropdown.
|
|
52
|
+
*/
|
|
53
|
+
text: string;
|
|
54
|
+
/**
|
|
55
|
+
* Indicates whether the breadcrumb item is disabled.
|
|
56
|
+
*/
|
|
57
|
+
disabled: boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Indicates whether the breadcrumb item is the current/active item.
|
|
60
|
+
* Defaults to `false`.
|
|
61
|
+
*/
|
|
62
|
+
current: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* A reference to a custom template provided for the breadcrumb item content.
|
|
65
|
+
* The template can be used to override the default appearance of the breadcrumb.
|
|
66
|
+
*/
|
|
67
|
+
customTemplateRef: TemplateRef<any>;
|
|
68
|
+
/**
|
|
69
|
+
* An optional `RouterLink` instance for navigating to a specific route.
|
|
70
|
+
* Injected from the host element, if available and projecting to the hidden breadcrumb item in dropdown.
|
|
71
|
+
*/
|
|
72
|
+
readonly routerLink: RouterLink | null;
|
|
73
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KbqBreadcrumbItem, never>;
|
|
74
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<KbqBreadcrumbItem, "kbq-breadcrumb-item", never, { "text": { "alias": "text"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "current": { "alias": "current"; "required": false; }; }, {}, ["customTemplateRef"], ["*"], true, never>;
|
|
75
|
+
static ngAcceptInputType_disabled: unknown;
|
|
76
|
+
static ngAcceptInputType_current: unknown;
|
|
77
|
+
}
|
|
78
|
+
export declare class KbqBreadcrumbs implements AfterContentInit {
|
|
79
|
+
protected readonly configuration: KbqBreadcrumbsConfiguration;
|
|
80
|
+
/**
|
|
81
|
+
* Size of the breadcrumbs. Affects font size.
|
|
82
|
+
* Default value is taken from the global configuration.
|
|
83
|
+
*/
|
|
84
|
+
size: KbqDefaultSizes;
|
|
85
|
+
/**
|
|
86
|
+
* Maximum number of visible breadcrumb items.
|
|
87
|
+
* Remaining items are collapsed into a dropdown if the total exceeds this value.
|
|
88
|
+
* Default value is taken from the global configuration.
|
|
89
|
+
*/
|
|
90
|
+
max: number | null;
|
|
91
|
+
/**
|
|
92
|
+
* Indicates whether the breadcrumbs are disabled.
|
|
93
|
+
* When disabled, user interactions are blocked.
|
|
94
|
+
*/
|
|
95
|
+
disabled: boolean;
|
|
96
|
+
protected readonly separator?: TemplateRef<any>;
|
|
97
|
+
protected readonly items: QueryList<KbqBreadcrumbItem>;
|
|
98
|
+
/**
|
|
99
|
+
* Ensures at least minimum number of breadcrumb items are shown.
|
|
100
|
+
*
|
|
101
|
+
* This prevents the appearance of unnecessary expand button that would hide only a single breadcrumb.
|
|
102
|
+
*/
|
|
103
|
+
readonly minVisibleItems = 2;
|
|
104
|
+
private readonly destroyRef;
|
|
105
|
+
private readonly cdr;
|
|
106
|
+
protected readonly KbqComponentColors: typeof KbqComponentColors;
|
|
107
|
+
protected readonly KbqButtonStyles: typeof KbqButtonStyles;
|
|
108
|
+
protected readonly PopUpPlacements: typeof PopUpPlacements;
|
|
109
|
+
/** @docs-private */
|
|
110
|
+
protected get hiddenBreadcrumbItems(): KbqBreadcrumbItem[];
|
|
111
|
+
/** @docs-private */
|
|
112
|
+
protected get visibleBreadcrumbItems(): KbqBreadcrumbItem[];
|
|
113
|
+
ngAfterContentInit(): void;
|
|
114
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KbqBreadcrumbs, never>;
|
|
115
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<KbqBreadcrumbs, "kbq-breadcrumbs,[kbq-breadcrumbs]", never, { "size": { "alias": "size"; "required": false; }; "max": { "alias": "max"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, ["separator", "items"], never, true, [{ directive: typeof i1.RdxRovingFocusGroupDirective; inputs: {}; outputs: {}; }]>;
|
|
116
|
+
static ngAcceptInputType_disabled: unknown;
|
|
117
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./breadcrumbs";
|
|
3
|
+
export declare class KbqBreadcrumbsModule {
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KbqBreadcrumbsModule, never>;
|
|
5
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<KbqBreadcrumbsModule, never, [typeof i1.KbqBreadcrumbs, typeof i1.KbqBreadcrumbItem, typeof i1.KbqBreadcrumbView, typeof i1.KbqBreadcrumbsSeparator, typeof i1.KbqBreadcrumbButton], [typeof i1.KbqBreadcrumbs, typeof i1.KbqBreadcrumbItem, typeof i1.KbqBreadcrumbView, typeof i1.KbqBreadcrumbsSeparator, typeof i1.KbqBreadcrumbButton]>;
|
|
6
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<KbqBreadcrumbsModule>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
@use '../core/styles/common/tokens';
|
|
2
|
+
@use '../core/styles/common/vendor-prefixes';
|
|
3
|
+
|
|
4
|
+
.kbq-breadcrumbs {
|
|
5
|
+
display: flex;
|
|
6
|
+
align-items: center;
|
|
7
|
+
gap: var(--kbq-breadcrumbs-gap);
|
|
8
|
+
|
|
9
|
+
.kbq-breadcrumb-item {
|
|
10
|
+
&.kbq-button,
|
|
11
|
+
&.kbq-button-icon {
|
|
12
|
+
--kbq-button-size-height: var(--kbq-breadcrumb-item-height);
|
|
13
|
+
--kbq-button-size-horizontal-padding: var(--kbq-breadcrumb-item-horizontal-padding);
|
|
14
|
+
--kbq-button-size-border-radius: var(--kbq-breadcrumb-item-border-radius);
|
|
15
|
+
--kbq-button-transparent-contrast-fade-on-foreground: var(--kbq-foreground-contrast-secondary);
|
|
16
|
+
--kbq-button-transparent-contrast-fade-on-right-icon: var(--kbq-breadcrumb-item-icon-color);
|
|
17
|
+
--kbq-button-transparent-contrast-fade-on-left-icon: var(--kbq-breadcrumb-item-icon-color);
|
|
18
|
+
|
|
19
|
+
&[aria-current='page'] {
|
|
20
|
+
--kbq-button-transparent-contrast-fade-on-states-disabled-foreground: var(--kbq-foreground-contrast);
|
|
21
|
+
|
|
22
|
+
&.kbq-disabled {
|
|
23
|
+
--kbq-button-transparent-contrast-fade-on-states-disabled-left-icon: var(
|
|
24
|
+
--kbq-breadcrumb-item-icon-color
|
|
25
|
+
);
|
|
26
|
+
--kbq-button-transparent-contrast-fade-on-states-disabled-right-icon: var(
|
|
27
|
+
--kbq-breadcrumb-item-icon-color
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
&.kbq-dropdown-trigger {
|
|
34
|
+
&.kbq-button,
|
|
35
|
+
&.kbq-button-icon {
|
|
36
|
+
&:not(.kbq-disabled) {
|
|
37
|
+
&:hover,
|
|
38
|
+
&.kbq-hover,
|
|
39
|
+
&.cdk-keyboard-focused {
|
|
40
|
+
.kbq-icon {
|
|
41
|
+
--kbq-button-transparent-contrast-fade-on-left-icon: var(
|
|
42
|
+
--kbq-states-icon-contrast-fade-hover
|
|
43
|
+
);
|
|
44
|
+
--kbq-button-transparent-contrast-fade-on-right-icon: var(
|
|
45
|
+
--kbq-states-icon-contrast-fade-hover
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
&:active,
|
|
51
|
+
&.kbq-active {
|
|
52
|
+
.kbq-icon {
|
|
53
|
+
--kbq-button-transparent-contrast-fade-on-left-icon: var(
|
|
54
|
+
--kbq-states-icon-contrast-fade-active
|
|
55
|
+
);
|
|
56
|
+
--kbq-button-transparent-contrast-fade-on-right-icon: var(
|
|
57
|
+
--kbq-states-icon-contrast-fade-active
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.kbq-breadcrumb__expand {
|
|
67
|
+
&.kbq-button-icon {
|
|
68
|
+
--kbq-button-icon-size-horizontal-padding: var(--kbq-breadcrumb-item-expand-horizontal-padding);
|
|
69
|
+
--kbq-button-transparent-contrast-fade-on-left-icon: var(--kbq-breadcrumb-expand-icon-color);
|
|
70
|
+
|
|
71
|
+
.kbq-icon {
|
|
72
|
+
--kbq-breadcrumb-expand-icon-color: var(--kbq-icon-contrast-fade);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
&:not(.kbq-disabled) {
|
|
76
|
+
&:hover,
|
|
77
|
+
&.kbq-hover,
|
|
78
|
+
&.cdk-keyboard-focused {
|
|
79
|
+
.kbq-icon {
|
|
80
|
+
--kbq-breadcrumb-expand-icon-color: var(--kbq-states-icon-contrast-fade-hover);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
&:active,
|
|
85
|
+
&.kbq-active {
|
|
86
|
+
.kbq-icon {
|
|
87
|
+
--kbq-breadcrumb-expand-icon-color: var(--kbq-states-icon-contrast-fade-active);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.kbq-breadcrumb_current {
|
|
95
|
+
.kbq-button,
|
|
96
|
+
.kbq-button-icon {
|
|
97
|
+
&.kbq-button_transparent.kbq-contrast {
|
|
98
|
+
--kbq-button-transparent-contrast-fade-on-foreground: var(--kbq-foreground-contrast);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
color: var(--kbq-foreground-contrast);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// typography
|
|
106
|
+
.kbq-breadcrumb__separator {
|
|
107
|
+
@include vendor-prefixes.user-select(none);
|
|
108
|
+
@include tokens.kbq-typography-level-to-styles-css-variables(typography, text-big);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
&.kbq-breadcrumbs_compact {
|
|
112
|
+
.kbq-breadcrumb-item {
|
|
113
|
+
&.kbq-button,
|
|
114
|
+
&.kbq-button-icon {
|
|
115
|
+
--kbq-breadcrumb-item-height: var(--kbq-size-xxl);
|
|
116
|
+
@include tokens.kbq-typography-level-to-styles-css-variables(typography, text-normal);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.kbq-breadcrumb__expand {
|
|
121
|
+
&.kbq-button-icon {
|
|
122
|
+
--kbq-breadcrumb-item-expand-horizontal-padding: var(--kbq-size-xxs);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
&.kbq-breadcrumbs_normal {
|
|
128
|
+
.kbq-breadcrumb-item {
|
|
129
|
+
&.kbq-button,
|
|
130
|
+
&.kbq-button-icon {
|
|
131
|
+
--kbq-button-size-horizontal-padding: var(--kbq-breadcrumb-item-horizontal-padding);
|
|
132
|
+
|
|
133
|
+
@include tokens.kbq-typography-level-to-styles-css-variables(typography, text-big);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
&.kbq-breadcrumbs_big {
|
|
139
|
+
.kbq-button,
|
|
140
|
+
.kbq-button-icon {
|
|
141
|
+
--kbq-button-size-height: var(--kbq-breadcrumb-item-height);
|
|
142
|
+
@include tokens.kbq-typography-level-to-styles-css-variables(typography, subheading);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.kbq-breadcrumb-item__link-behavior {
|
|
148
|
+
text-decoration: none;
|
|
149
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './public-api';
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
--kbq-checkbox-error-default-border: var(--kbq-line-error);
|
|
38
38
|
--kbq-checkbox-error-default-color: var(--kbq-icon-white);
|
|
39
39
|
--kbq-checkbox-error-default-text: var(--kbq-foreground-contrast);
|
|
40
|
-
--kbq-checkbox-error-default-background: var(--kbq-
|
|
40
|
+
--kbq-checkbox-error-default-background: var(--kbq-background-error-less);
|
|
41
41
|
--kbq-checkbox-error-default-caption: var(--kbq-foreground-contrast-secondary);
|
|
42
42
|
--kbq-checkbox-error-states-hover-border: var(--kbq-line-error);
|
|
43
43
|
--kbq-checkbox-error-states-hover-background: var(--kbq-states-background-error-fade-hover);
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
--kbq-checkbox-error-states-checked-hover-border: transparent;
|
|
47
47
|
--kbq-checkbox-error-states-checked-hover-background: var(--kbq-states-background-error-hover);
|
|
48
48
|
--kbq-checkbox-error-states-focused-border: var(--kbq-line-error);
|
|
49
|
-
--kbq-checkbox-error-states-focused-background: var(--kbq-
|
|
49
|
+
--kbq-checkbox-error-states-focused-background: var(--kbq-background-error-less);
|
|
50
50
|
--kbq-checkbox-error-states-focused-outline: 1px solid var(--kbq-states-line-focus-error);
|
|
51
51
|
--kbq-checkbox-error-states-checked-focused-border: var(--kbq-states-line-focus-error);
|
|
52
52
|
--kbq-checkbox-error-states-checked-focused-background: var(--kbq-background-error);
|
|
@@ -3,5 +3,6 @@ export { CanColor, CanColorCtor, KbqComponentColors, mixinColor, ThemePalette }
|
|
|
3
3
|
export { KBQ_SANITY_CHECKS, KbqCommonModule } from './common-module';
|
|
4
4
|
export { CanDisable, CanDisableCtor, mixinDisabled } from './disabled';
|
|
5
5
|
export { CanUpdateErrorState, CanUpdateErrorStateCtor, mixinErrorState } from './error-state';
|
|
6
|
+
export { KbqDefaultSizes } from './size';
|
|
6
7
|
export { HasTabIndex, HasTabIndexCtor, mixinTabIndex } from './tabindex';
|
|
7
8
|
export declare const KBQ_PARENT_ANIMATION_COMPONENT: InjectionToken<any>;
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
@use '../styles/common/tokens'
|
|
1
|
+
@use '../styles/common/tokens';
|
|
2
2
|
|
|
3
3
|
@mixin kbq-optgroup-theme() {
|
|
4
4
|
.kbq-optgroup-label {
|
|
5
|
-
color: var(--kbq-foreground-contrast);
|
|
5
|
+
--kbq-optgroup-label-color: var(--kbq-foreground-contrast-secondary);
|
|
6
|
+
color: var(--kbq-optgroup-label-color);
|
|
6
7
|
}
|
|
7
8
|
|
|
8
9
|
.kbq-disabled .kbq-optgroup-label {
|
|
9
|
-
color: var(--kbq-states-foreground-disabled);
|
|
10
|
+
--kbq-optgroup-label-color: var(--kbq-states-foreground-disabled);
|
|
10
11
|
}
|
|
11
12
|
}
|
|
12
13
|
|
|
13
14
|
@mixin kbq-optgroup-typography() {
|
|
14
15
|
.kbq-optgroup-label {
|
|
15
|
-
@include kbq-typography-level-to-styles-css-variables(typography,
|
|
16
|
+
@include tokens.kbq-typography-level-to-styles-css-variables(typography, caps-compact-strong);
|
|
16
17
|
}
|
|
17
18
|
}
|
|
@@ -6,6 +6,7 @@ export declare class KbqOptgroupBase {
|
|
|
6
6
|
export declare const KbqOptgroupMixinBase: CanDisableCtor & typeof KbqOptgroupBase;
|
|
7
7
|
/**
|
|
8
8
|
* Component that is used to group instances of `kbq-option`.
|
|
9
|
+
* When options aren't provided as `ng-content`, used as a Group Header with styling.
|
|
9
10
|
*/
|
|
10
11
|
export declare class KbqOptgroup extends KbqOptgroupMixinBase implements CanDisable {
|
|
11
12
|
label: string;
|
|
@@ -4,7 +4,10 @@
|
|
|
4
4
|
@use './optgroup-theme' as *;
|
|
5
5
|
|
|
6
6
|
.kbq-optgroup-label {
|
|
7
|
-
|
|
7
|
+
display: flex;
|
|
8
|
+
align-items: center;
|
|
9
|
+
box-sizing: border-box;
|
|
10
|
+
padding: var(--kbq-size-s) var(--kbq-size-l) var(--kbq-size-s) var(--kbq-size-m);
|
|
8
11
|
|
|
9
12
|
@include vendor-prefixes.user-select(none);
|
|
10
13
|
cursor: default;
|
package/core/option/option.scss
CHANGED
|
@@ -38,3 +38,8 @@ export declare enum PopUpSizes {
|
|
|
38
38
|
Normal = "medium",
|
|
39
39
|
Large = "large"
|
|
40
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Default value when configuring overlay in popups (Autocomplete, Datepicker, Dropdown, Select, Tags Autocomplete,
|
|
43
|
+
* Tags Input, Timezone, TreeSelect).
|
|
44
|
+
*/
|
|
45
|
+
export declare const defaultOffsetY: number;
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
--kbq-checkbox-error-default-border: var(--kbq-line-error);
|
|
38
38
|
--kbq-checkbox-error-default-color: var(--kbq-icon-white);
|
|
39
39
|
--kbq-checkbox-error-default-text: var(--kbq-foreground-contrast);
|
|
40
|
-
--kbq-checkbox-error-default-background: var(--kbq-
|
|
40
|
+
--kbq-checkbox-error-default-background: var(--kbq-background-error-less);
|
|
41
41
|
--kbq-checkbox-error-default-caption: var(--kbq-foreground-contrast-secondary);
|
|
42
42
|
--kbq-checkbox-error-states-hover-border: var(--kbq-line-error);
|
|
43
43
|
--kbq-checkbox-error-states-hover-background: var(--kbq-states-background-error-fade-hover);
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
--kbq-checkbox-error-states-checked-hover-border: transparent;
|
|
47
47
|
--kbq-checkbox-error-states-checked-hover-background: var(--kbq-states-background-error-hover);
|
|
48
48
|
--kbq-checkbox-error-states-focused-border: var(--kbq-line-error);
|
|
49
|
-
--kbq-checkbox-error-states-focused-background: var(--kbq-
|
|
49
|
+
--kbq-checkbox-error-states-focused-background: var(--kbq-background-error-less);
|
|
50
50
|
--kbq-checkbox-error-states-focused-outline: 1px solid var(--kbq-states-line-focus-error);
|
|
51
51
|
--kbq-checkbox-error-states-checked-focused-border: var(--kbq-states-line-focus-error);
|
|
52
52
|
--kbq-checkbox-error-states-checked-focused-background: var(--kbq-background-error);
|
|
@@ -151,9 +151,7 @@
|
|
|
151
151
|
error-hover: map.get($tokens, '#{$scheme}-states-background-error-hover'),
|
|
152
152
|
error-active: map.get($tokens, '#{$scheme}-states-background-error-active'),
|
|
153
153
|
error-fade-hover: map.get($tokens, '#{$scheme}-states-background-error-fade-hover'),
|
|
154
|
-
error-fade-active: map.get($tokens, '#{$scheme}-states-background-error-fade-active')
|
|
155
|
-
// будет удалено, после удаления из компонентов ↓
|
|
156
|
-
error-less: map.get($tokens, '#{$scheme}-states-background-error-less')
|
|
154
|
+
error-fade-active: map.get($tokens, '#{$scheme}-states-background-error-fade-active')
|
|
157
155
|
);
|
|
158
156
|
}
|
|
159
157
|
|
|
@@ -56,6 +56,7 @@
|
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
.kbq-dropdown__group-header {
|
|
59
|
+
// @deprecated, use <kbq-optgroup label="Label" /> instead. Will be removed in the next major release
|
|
59
60
|
&.kbq-dropdown__group-header_small {
|
|
60
61
|
color: var(--kbq-foreground-contrast-secondary);
|
|
61
62
|
}
|
|
@@ -79,6 +80,7 @@
|
|
|
79
80
|
.kbq-dropdown__group-header {
|
|
80
81
|
@include kbq-typography-level-to-styles-css-variables(typography, big-strong);
|
|
81
82
|
|
|
83
|
+
// @deprecated, use <kbq-optgroup label="Label" /> instead. Will be removed in the next major release
|
|
82
84
|
&.kbq-dropdown__group-header_small {
|
|
83
85
|
@include kbq-typography-level-to-styles-css-variables(typography, caps-compact-strong);
|
|
84
86
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
.kbq-dropdown-item {
|
|
4
4
|
width: 100%;
|
|
5
|
+
border-radius: var(--kbq-dropdown-item-border-radius);
|
|
5
6
|
|
|
6
7
|
@include common.user-select(none);
|
|
7
8
|
@include common.kbq-list-item-base();
|
|
@@ -45,6 +46,7 @@
|
|
|
45
46
|
@include common.user-select(none);
|
|
46
47
|
@include common.kbq-list-header-base();
|
|
47
48
|
|
|
49
|
+
// @deprecated, use <kbq-optgroup label="Label" /> instead. Will be removed in the next major release
|
|
48
50
|
&.kbq-dropdown__group-header_small {
|
|
49
51
|
@include common.kbq-list-subheading-base();
|
|
50
52
|
}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
/* THEME TOKENS */
|
|
9
9
|
--kbq-dropdown-container-background: var(--kbq-background-card);
|
|
10
10
|
--kbq-dropdown-container-shadow: var(--kbq-shadow-popup);
|
|
11
|
+
--kbq-dropdown-item-border-radius: var(--kbq-size-xs);
|
|
11
12
|
/* LIST THEME TOKENS */
|
|
12
13
|
@include list-tokens.list-theme-tokens;
|
|
13
14
|
}
|
package/dropdown/dropdown.scss
CHANGED
|
@@ -6,6 +6,7 @@ export declare class KbqEllipsisCenterDirective extends KbqTooltipTrigger implem
|
|
|
6
6
|
private renderer;
|
|
7
7
|
set kbqEllipsisCenter(value: string);
|
|
8
8
|
minVisibleLength: number;
|
|
9
|
+
charWidth: number;
|
|
9
10
|
readonly resizeStream: Subject<Event>;
|
|
10
11
|
private _kbqEllipsisCenter;
|
|
11
12
|
private resizeSubscription;
|
|
@@ -15,7 +16,7 @@ export declare class KbqEllipsisCenterDirective extends KbqTooltipTrigger implem
|
|
|
15
16
|
ngOnDestroy(): void;
|
|
16
17
|
private refresh;
|
|
17
18
|
static ɵfac: i0.ɵɵFactoryDeclaration<KbqEllipsisCenterDirective, never>;
|
|
18
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqEllipsisCenterDirective, "[kbqEllipsisCenter]", never, { "kbqEllipsisCenter": { "alias": "kbqEllipsisCenter"; "required": false; }; "minVisibleLength": { "alias": "minVisibleLength"; "required": false; }; }, {}, never, never, false, never>;
|
|
19
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqEllipsisCenterDirective, "[kbqEllipsisCenter]", never, { "kbqEllipsisCenter": { "alias": "kbqEllipsisCenter"; "required": false; }; "minVisibleLength": { "alias": "minVisibleLength"; "required": false; }; "charWidth": { "alias": "charWidth"; "required": false; }; }, {}, never, never, false, never>;
|
|
19
20
|
}
|
|
20
21
|
export declare class KbqEllipsisCenterModule {
|
|
21
22
|
static ɵfac: i0.ɵɵFactoryDeclaration<KbqEllipsisCenterModule, never>;
|