@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
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { forwardRef, ContentChildren, SkipSelf, Directive, inject, ChangeDetectorRef, signal, effect, numberAttribute, booleanAttribute, Input, ViewChild, ChangeDetectionStrategy, ViewEncapsulation, Component, contentChildren, input, NgModule } from '@angular/core';
|
|
3
|
+
import { leftIconClassName, rightIconClassName, getNodesWithoutComments, KbqColorDirective, KbqComponentColors, KBQ_TITLE_TEXT_REF } from '@koobiq/components/core';
|
|
1
4
|
import * as i1 from '@angular/cdk/a11y';
|
|
2
5
|
import { A11yModule } from '@angular/cdk/a11y';
|
|
3
6
|
import { CdkObserveContent, ObserversModule } from '@angular/cdk/observers';
|
|
4
|
-
import
|
|
5
|
-
import { forwardRef, ContentChildren, SkipSelf, Directive, inject, ChangeDetectorRef, numberAttribute, booleanAttribute, Input, ViewChild, ChangeDetectionStrategy, ViewEncapsulation, Component, NgModule } from '@angular/core';
|
|
6
|
-
import { leftIconClassName, rightIconClassName, getNodesWithoutComments, KbqColorDirective, KbqComponentColors, KBQ_TITLE_TEXT_REF } from '@koobiq/components/core';
|
|
7
|
+
import { toObservable } from '@angular/core/rxjs-interop';
|
|
7
8
|
import { KbqIcon } from '@koobiq/components/icon';
|
|
8
9
|
import { KbqDropdownTrigger } from '@koobiq/components/dropdown';
|
|
9
10
|
import { PlatformModule } from '@angular/cdk/platform';
|
|
@@ -60,10 +61,10 @@ class KbqButtonCssStyler {
|
|
|
60
61
|
});
|
|
61
62
|
}
|
|
62
63
|
}
|
|
63
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
64
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.
|
|
64
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: KbqButtonCssStyler, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
65
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: KbqButtonCssStyler, isStandalone: true, selector: "[kbq-button]", host: { properties: { "class.kbq-button": "!isIconButton", "class.kbq-button-icon": "isIconButton" } }, queries: [{ propertyName: "icons", predicate: i0.forwardRef(() => KbqIcon) }], ngImport: i0 }); }
|
|
65
66
|
}
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: KbqButtonCssStyler, decorators: [{
|
|
67
68
|
type: Directive,
|
|
68
69
|
args: [{
|
|
69
70
|
selector: '[kbq-button]',
|
|
@@ -86,12 +87,13 @@ class KbqButton extends KbqColorDirective {
|
|
|
86
87
|
this._kbqStyle = value || KbqButtonStyles.Filled;
|
|
87
88
|
this.changeDetectorRef.markForCheck();
|
|
88
89
|
}
|
|
90
|
+
// @todo 20 In the next major release this feature will be replaced on the input signal.
|
|
91
|
+
/** Whether the button is disabled. */
|
|
89
92
|
get disabled() {
|
|
90
93
|
return this._disabled;
|
|
91
94
|
}
|
|
92
95
|
set disabled(value) {
|
|
93
|
-
this.
|
|
94
|
-
this._disabled ? this.stopFocusMonitor() : this.runFocusMonitor();
|
|
96
|
+
this.disabledSignal.set(value);
|
|
95
97
|
}
|
|
96
98
|
get tabIndex() {
|
|
97
99
|
return this.disabled ? -1 : this._tabIndex;
|
|
@@ -106,10 +108,14 @@ class KbqButton extends KbqColorDirective {
|
|
|
106
108
|
this.changeDetectorRef = inject(ChangeDetectorRef);
|
|
107
109
|
this.hasFocus = false;
|
|
108
110
|
this._kbqStyle = KbqButtonStyles.Filled;
|
|
109
|
-
|
|
111
|
+
/** @docs-private */
|
|
112
|
+
this.disabledSignal = signal(false);
|
|
110
113
|
this._tabIndex = 0;
|
|
111
114
|
this.color = KbqComponentColors.ContrastFade;
|
|
112
115
|
this.setDefaultColor(KbqComponentColors.ContrastFade);
|
|
116
|
+
// @todo 20 In the next major release this line will be deleted.
|
|
117
|
+
toObservable(this.disabledSignal).subscribe((value) => (this._disabled = value));
|
|
118
|
+
effect(() => (this.disabledSignal() ? this.stopFocusMonitor() : this.runFocusMonitor()));
|
|
113
119
|
}
|
|
114
120
|
ngAfterViewInit() {
|
|
115
121
|
this.runFocusMonitor();
|
|
@@ -151,12 +157,12 @@ class KbqButton extends KbqColorDirective {
|
|
|
151
157
|
stopFocusMonitor() {
|
|
152
158
|
this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);
|
|
153
159
|
}
|
|
154
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
155
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.
|
|
160
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: KbqButton, deps: [{ token: i1.FocusMonitor }, { token: KbqButtonCssStyler }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
161
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.20", type: KbqButton, isStandalone: true, selector: "[kbq-button]", inputs: { kbqStyle: "kbqStyle", disabled: ["disabled", "disabled", booleanAttribute], tabIndex: ["tabIndex", "tabIndex", numberAttribute] }, host: { listeners: { "focus": "onFocus($event)", "blur": "onBlur()" }, properties: { "attr.disabled": "disabled || null", "class.kbq-disabled": "disabled", "attr.tabIndex": "tabIndex", "class": "kbqStyle" } }, providers: [
|
|
156
162
|
{ provide: KBQ_TITLE_TEXT_REF, useExisting: KbqButton }
|
|
157
163
|
], viewQueries: [{ propertyName: "textElement", first: true, predicate: ["kbqTitleText"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span #kbqTitleText class=\"kbq-button-wrapper\" (cdkObserveContent)=\"projectContentChanged()\">\n <ng-content />\n</span>\n<span class=\"kbq-button-overlay\" (click)=\"haltDisabledEvents($event)\"></span>\n", styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:64px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 12px,#ffffff1a 12px 22px,#0000000a 22px 34px,#ffffff1a 34px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-button,.kbq-light-button,.kbq-button-icon{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;position:relative;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;margin:0;height:var(--kbq-button-size-height);min-height:var(--kbq-button-size-height);white-space:nowrap;text-decoration:none;text-align:center;vertical-align:baseline;border:var(--kbq-button-size-border-width) solid transparent;border-radius:var(--kbq-button-size-border-radius)}.kbq-button::-moz-focus-inner,.kbq-light-button::-moz-focus-inner,.kbq-button-icon::-moz-focus-inner{border:0}.kbq-button:focus,.kbq-light-button:focus,.kbq-button-icon:focus{outline:none}.kbq-disabled.kbq-button,.kbq-disabled.kbq-light-button,.kbq-disabled.kbq-button-icon{cursor:default}.cdk-focused.kbq-button,.cdk-focused.kbq-light-button,.cdk-focused.kbq-button-icon{z-index:1}.kbq-button .kbq-button-wrapper,.kbq-light-button .kbq-button-wrapper,.kbq-button-icon .kbq-button-wrapper{display:flex;align-items:center}.kbq-button .kbq-icon_left,.kbq-light-button .kbq-icon_left,.kbq-button-icon .kbq-icon_left{margin-right:var(--kbq-button-size-content-padding)}.kbq-button .kbq-icon_right,.kbq-light-button .kbq-icon_right,.kbq-button-icon .kbq-icon_right{margin-left:var(--kbq-button-size-content-padding)}.kbq-button{padding-left:calc(var(--kbq-button-size-horizontal-padding) - var(--kbq-button-size-border-width));padding-right:calc(var(--kbq-button-size-horizontal-padding) - var(--kbq-button-size-border-width))}.kbq-button-icon{padding-left:calc(var(--kbq-button-icon-size-horizontal-padding) - var(--kbq-button-size-border-width));padding-right:calc(var(--kbq-button-icon-size-horizontal-padding) - var(--kbq-button-size-border-width))}.kbq-button-overlay{position:absolute;top:calc(-1 * var(--kbq-button-size-border-width));left:calc(-1 * var(--kbq-button-size-border-width));right:calc(-1 * var(--kbq-button-size-border-width));bottom:calc(-1 * var(--kbq-button-size-border-width));border-radius:inherit}.kbq-button-overlay{display:none}.kbq-button,.kbq-button-icon{-webkit-font-smoothing:antialiased}.kbq-button.kbq-button_filled.kbq-contrast,.kbq-button-icon.kbq-button_filled.kbq-contrast{border-color:var(--kbq-button-filled-contrast-fade-off-border);color:var(--kbq-button-filled-contrast-fade-off-foreground);background:var(--kbq-button-filled-contrast-fade-off-background)}.kbq-button.kbq-button_filled.kbq-contrast .kbq-icon.kbq-empty,.kbq-button-icon.kbq-button_filled.kbq-contrast .kbq-icon.kbq-empty,.kbq-button.kbq-button_filled.kbq-contrast .kbq-icon.kbq-empty.kbq-icon_left,.kbq-button-icon.kbq-button_filled.kbq-contrast .kbq-icon.kbq-empty.kbq-icon_left{color:var(--kbq-button-filled-contrast-fade-off-left-icon)}.kbq-button.kbq-button_filled.kbq-contrast .kbq-icon.kbq-empty.kbq-icon_right,.kbq-button-icon.kbq-button_filled.kbq-contrast .kbq-icon.kbq-empty.kbq-icon_right{color:var(--kbq-button-filled-contrast-fade-off-right-icon)}.kbq-button.kbq-button_filled.kbq-contrast:hover:not(.kbq-disabled),.kbq-button.kbq-button_filled.kbq-contrast.kbq-hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_filled.kbq-contrast:hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_filled.kbq-contrast.kbq-hover:not(.kbq-disabled){background:var(--kbq-button-filled-contrast-fade-off-states-hover-background)}.kbq-button.kbq-button_filled.kbq-contrast:active:not(.kbq-disabled),.kbq-button.kbq-button_filled.kbq-contrast.kbq-active:not(.kbq-disabled),.kbq-button-icon.kbq-button_filled.kbq-contrast:active:not(.kbq-disabled),.kbq-button-icon.kbq-button_filled.kbq-contrast.kbq-active:not(.kbq-disabled){background:var(--kbq-button-filled-contrast-fade-off-states-active-background)}.kbq-button.kbq-button_filled.kbq-contrast.kbq-disabled,.kbq-button-icon.kbq-button_filled.kbq-contrast.kbq-disabled{color:var(--kbq-button-filled-contrast-fade-off-states-disabled-foreground);background:var(--kbq-button-filled-contrast-fade-off-states-disabled-background);border-color:var(--kbq-button-filled-contrast-fade-off-states-disabled-border)}.kbq-button.kbq-button_filled.kbq-contrast.kbq-disabled .kbq-icon.kbq-empty,.kbq-button-icon.kbq-button_filled.kbq-contrast.kbq-disabled .kbq-icon.kbq-empty,.kbq-button.kbq-button_filled.kbq-contrast.kbq-disabled .kbq-icon.kbq-empty.kbq-icon_left,.kbq-button-icon.kbq-button_filled.kbq-contrast.kbq-disabled .kbq-icon.kbq-empty.kbq-icon_left{color:var(--kbq-button-filled-contrast-fade-off-states-disabled-left-icon)}.kbq-button.kbq-button_filled.kbq-contrast.kbq-disabled .kbq-icon.kbq-empty.kbq-icon_right,.kbq-button-icon.kbq-button_filled.kbq-contrast.kbq-disabled .kbq-icon.kbq-empty.kbq-icon_right{color:var(--kbq-button-filled-contrast-fade-off-states-disabled-right-icon)}.kbq-button.kbq-button_filled.kbq-contrast-fade,.kbq-button-icon.kbq-button_filled.kbq-contrast-fade{border-color:var(--kbq-button-filled-contrast-fade-on-border);color:var(--kbq-button-filled-contrast-fade-on-foreground);background:var(--kbq-button-filled-contrast-fade-on-background)}.kbq-button.kbq-button_filled.kbq-contrast-fade .kbq-icon.kbq-empty,.kbq-button-icon.kbq-button_filled.kbq-contrast-fade .kbq-icon.kbq-empty,.kbq-button.kbq-button_filled.kbq-contrast-fade .kbq-icon.kbq-empty.kbq-icon_left,.kbq-button-icon.kbq-button_filled.kbq-contrast-fade .kbq-icon.kbq-empty.kbq-icon_left{color:var(--kbq-button-filled-contrast-fade-on-left-icon)}.kbq-button.kbq-button_filled.kbq-contrast-fade .kbq-icon.kbq-empty.kbq-icon_right,.kbq-button-icon.kbq-button_filled.kbq-contrast-fade .kbq-icon.kbq-empty.kbq-icon_right{color:var(--kbq-button-filled-contrast-fade-on-right-icon)}.kbq-button.kbq-button_filled.kbq-contrast-fade:hover:not(.kbq-disabled),.kbq-button.kbq-button_filled.kbq-contrast-fade.kbq-hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_filled.kbq-contrast-fade:hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_filled.kbq-contrast-fade.kbq-hover:not(.kbq-disabled){background:var(--kbq-button-filled-contrast-fade-on-states-hover-background)}.kbq-button.kbq-button_filled.kbq-contrast-fade:active:not(.kbq-disabled),.kbq-button.kbq-button_filled.kbq-contrast-fade.kbq-active:not(.kbq-disabled),.kbq-button-icon.kbq-button_filled.kbq-contrast-fade:active:not(.kbq-disabled),.kbq-button-icon.kbq-button_filled.kbq-contrast-fade.kbq-active:not(.kbq-disabled){background:var(--kbq-button-filled-contrast-fade-on-states-active-background)}.kbq-button.kbq-button_filled.kbq-contrast-fade.kbq-disabled,.kbq-button-icon.kbq-button_filled.kbq-contrast-fade.kbq-disabled{color:var(--kbq-button-filled-contrast-fade-on-states-disabled-foreground);background:var(--kbq-button-filled-contrast-fade-on-states-disabled-background);border-color:var(--kbq-button-filled-contrast-fade-on-states-disabled-border)}.kbq-button.kbq-button_filled.kbq-contrast-fade.kbq-disabled .kbq-icon.kbq-empty,.kbq-button-icon.kbq-button_filled.kbq-contrast-fade.kbq-disabled .kbq-icon.kbq-empty,.kbq-button.kbq-button_filled.kbq-contrast-fade.kbq-disabled .kbq-icon.kbq-empty.kbq-icon_left,.kbq-button-icon.kbq-button_filled.kbq-contrast-fade.kbq-disabled .kbq-icon.kbq-empty.kbq-icon_left{color:var(--kbq-button-filled-contrast-fade-on-states-disabled-left-icon)}.kbq-button.kbq-button_filled.kbq-contrast-fade.kbq-disabled .kbq-icon.kbq-empty.kbq-icon_right,.kbq-button-icon.kbq-button_filled.kbq-contrast-fade.kbq-disabled .kbq-icon.kbq-empty.kbq-icon_right{color:var(--kbq-button-filled-contrast-fade-on-states-disabled-right-icon)}.kbq-button.kbq-button_outline.kbq-theme-fade,.kbq-button-icon.kbq-button_outline.kbq-theme-fade{border-color:var(--kbq-button-outline-theme-fade-on-border);color:var(--kbq-button-outline-theme-fade-on-foreground);background:var(--kbq-button-outline-theme-fade-on-background)}.kbq-button.kbq-button_outline.kbq-theme-fade .kbq-icon.kbq-empty,.kbq-button-icon.kbq-button_outline.kbq-theme-fade .kbq-icon.kbq-empty,.kbq-button.kbq-button_outline.kbq-theme-fade .kbq-icon.kbq-empty.kbq-icon_left,.kbq-button-icon.kbq-button_outline.kbq-theme-fade .kbq-icon.kbq-empty.kbq-icon_left{color:var(--kbq-button-outline-theme-fade-on-left-icon)}.kbq-button.kbq-button_outline.kbq-theme-fade .kbq-icon.kbq-empty.kbq-icon_right,.kbq-button-icon.kbq-button_outline.kbq-theme-fade .kbq-icon.kbq-empty.kbq-icon_right{color:var(--kbq-button-outline-theme-fade-on-right-icon)}.kbq-button.kbq-button_outline.kbq-theme-fade:hover:not(.kbq-disabled),.kbq-button.kbq-button_outline.kbq-theme-fade.kbq-hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_outline.kbq-theme-fade:hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_outline.kbq-theme-fade.kbq-hover:not(.kbq-disabled){background:var(--kbq-button-outline-theme-fade-on-states-hover-background)}.kbq-button.kbq-button_outline.kbq-theme-fade:active:not(.kbq-disabled),.kbq-button.kbq-button_outline.kbq-theme-fade.kbq-active:not(.kbq-disabled),.kbq-button-icon.kbq-button_outline.kbq-theme-fade:active:not(.kbq-disabled),.kbq-button-icon.kbq-button_outline.kbq-theme-fade.kbq-active:not(.kbq-disabled){background:var(--kbq-button-outline-theme-fade-on-states-active-background)}.kbq-button.kbq-button_outline.kbq-theme-fade.kbq-disabled,.kbq-button-icon.kbq-button_outline.kbq-theme-fade.kbq-disabled{color:var(--kbq-button-outline-theme-fade-on-states-disabled-foreground);background:var(--kbq-button-outline-theme-fade-on-states-disabled-background);border-color:var(--kbq-button-outline-theme-fade-on-states-disabled-border)}.kbq-button.kbq-button_outline.kbq-theme-fade.kbq-disabled .kbq-icon.kbq-empty,.kbq-button-icon.kbq-button_outline.kbq-theme-fade.kbq-disabled .kbq-icon.kbq-empty,.kbq-button.kbq-button_outline.kbq-theme-fade.kbq-disabled .kbq-icon.kbq-empty.kbq-icon_left,.kbq-button-icon.kbq-button_outline.kbq-theme-fade.kbq-disabled .kbq-icon.kbq-empty.kbq-icon_left{color:var(--kbq-button-outline-theme-fade-on-states-disabled-left-icon)}.kbq-button.kbq-button_outline.kbq-theme-fade.kbq-disabled .kbq-icon.kbq-empty.kbq-icon_right,.kbq-button-icon.kbq-button_outline.kbq-theme-fade.kbq-disabled .kbq-icon.kbq-empty.kbq-icon_right{color:var(--kbq-button-outline-theme-fade-on-states-disabled-right-icon)}.kbq-button.kbq-button_outline.kbq-contrast-fade,.kbq-button-icon.kbq-button_outline.kbq-contrast-fade{border-color:var(--kbq-button-outline-contrast-fade-on-border);color:var(--kbq-button-outline-contrast-fade-on-foreground);background:var(--kbq-button-outline-contrast-fade-on-background)}.kbq-button.kbq-button_outline.kbq-contrast-fade .kbq-icon.kbq-empty,.kbq-button-icon.kbq-button_outline.kbq-contrast-fade .kbq-icon.kbq-empty,.kbq-button.kbq-button_outline.kbq-contrast-fade .kbq-icon.kbq-empty.kbq-icon_left,.kbq-button-icon.kbq-button_outline.kbq-contrast-fade .kbq-icon.kbq-empty.kbq-icon_left{color:var(--kbq-button-outline-contrast-fade-on-left-icon)}.kbq-button.kbq-button_outline.kbq-contrast-fade .kbq-icon.kbq-empty.kbq-icon_right,.kbq-button-icon.kbq-button_outline.kbq-contrast-fade .kbq-icon.kbq-empty.kbq-icon_right{color:var(--kbq-button-outline-contrast-fade-on-right-icon)}.kbq-button.kbq-button_outline.kbq-contrast-fade:hover:not(.kbq-disabled),.kbq-button.kbq-button_outline.kbq-contrast-fade.kbq-hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_outline.kbq-contrast-fade:hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_outline.kbq-contrast-fade.kbq-hover:not(.kbq-disabled){background:var(--kbq-button-outline-contrast-fade-on-states-hover-background)}.kbq-button.kbq-button_outline.kbq-contrast-fade:active:not(.kbq-disabled),.kbq-button.kbq-button_outline.kbq-contrast-fade.kbq-active:not(.kbq-disabled),.kbq-button-icon.kbq-button_outline.kbq-contrast-fade:active:not(.kbq-disabled),.kbq-button-icon.kbq-button_outline.kbq-contrast-fade.kbq-active:not(.kbq-disabled){background:var(--kbq-button-outline-contrast-fade-on-states-active-background)}.kbq-button.kbq-button_outline.kbq-contrast-fade.kbq-disabled,.kbq-button-icon.kbq-button_outline.kbq-contrast-fade.kbq-disabled{color:var(--kbq-button-outline-contrast-fade-on-states-disabled-foreground);background:var(--kbq-button-outline-contrast-fade-on-states-disabled-background);border-color:var(--kbq-button-outline-contrast-fade-on-states-disabled-border)}.kbq-button.kbq-button_outline.kbq-contrast-fade.kbq-disabled .kbq-icon.kbq-empty,.kbq-button-icon.kbq-button_outline.kbq-contrast-fade.kbq-disabled .kbq-icon.kbq-empty,.kbq-button.kbq-button_outline.kbq-contrast-fade.kbq-disabled .kbq-icon.kbq-empty.kbq-icon_left,.kbq-button-icon.kbq-button_outline.kbq-contrast-fade.kbq-disabled .kbq-icon.kbq-empty.kbq-icon_left{color:var(--kbq-button-outline-contrast-fade-on-states-disabled-left-icon)}.kbq-button.kbq-button_outline.kbq-contrast-fade.kbq-disabled .kbq-icon.kbq-empty.kbq-icon_right,.kbq-button-icon.kbq-button_outline.kbq-contrast-fade.kbq-disabled .kbq-icon.kbq-empty.kbq-icon_right{color:var(--kbq-button-outline-contrast-fade-on-states-disabled-right-icon)}.kbq-button.kbq-button_transparent.kbq-theme,.kbq-button-icon.kbq-button_transparent.kbq-theme{border-color:var(--kbq-button-transparent-theme-fade-on-border);color:var(--kbq-button-transparent-theme-fade-on-foreground);background:var(--kbq-button-transparent-theme-fade-on-background)}.kbq-button.kbq-button_transparent.kbq-theme .kbq-icon.kbq-empty,.kbq-button-icon.kbq-button_transparent.kbq-theme .kbq-icon.kbq-empty,.kbq-button.kbq-button_transparent.kbq-theme .kbq-icon.kbq-empty.kbq-icon_left,.kbq-button-icon.kbq-button_transparent.kbq-theme .kbq-icon.kbq-empty.kbq-icon_left{color:var(--kbq-button-transparent-theme-fade-on-left-icon)}.kbq-button.kbq-button_transparent.kbq-theme .kbq-icon.kbq-empty.kbq-icon_right,.kbq-button-icon.kbq-button_transparent.kbq-theme .kbq-icon.kbq-empty.kbq-icon_right{color:var(--kbq-button-transparent-theme-fade-on-right-icon)}.kbq-button.kbq-button_transparent.kbq-theme:hover:not(.kbq-disabled),.kbq-button.kbq-button_transparent.kbq-theme.kbq-hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_transparent.kbq-theme:hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_transparent.kbq-theme.kbq-hover:not(.kbq-disabled){background:var(--kbq-button-transparent-theme-fade-on-states-hover-background)}.kbq-button.kbq-button_transparent.kbq-theme:active:not(.kbq-disabled),.kbq-button.kbq-button_transparent.kbq-theme.kbq-active:not(.kbq-disabled),.kbq-button-icon.kbq-button_transparent.kbq-theme:active:not(.kbq-disabled),.kbq-button-icon.kbq-button_transparent.kbq-theme.kbq-active:not(.kbq-disabled){background:var(--kbq-button-transparent-theme-fade-on-states-active-background)}.kbq-button.kbq-button_transparent.kbq-theme.kbq-disabled,.kbq-button-icon.kbq-button_transparent.kbq-theme.kbq-disabled{color:var(--kbq-button-transparent-theme-fade-on-states-disabled-foreground);background:var(--kbq-button-transparent-theme-fade-on-states-disabled-background);border-color:var(--kbq-button-transparent-theme-fade-on-states-disabled-border)}.kbq-button.kbq-button_transparent.kbq-theme.kbq-disabled .kbq-icon.kbq-empty,.kbq-button-icon.kbq-button_transparent.kbq-theme.kbq-disabled .kbq-icon.kbq-empty,.kbq-button.kbq-button_transparent.kbq-theme.kbq-disabled .kbq-icon.kbq-empty.kbq-icon_left,.kbq-button-icon.kbq-button_transparent.kbq-theme.kbq-disabled .kbq-icon.kbq-empty.kbq-icon_left{color:var(--kbq-button-transparent-theme-fade-on-states-disabled-left-icon)}.kbq-button.kbq-button_transparent.kbq-theme.kbq-disabled .kbq-icon.kbq-empty.kbq-icon_right,.kbq-button-icon.kbq-button_transparent.kbq-theme.kbq-disabled .kbq-icon.kbq-empty.kbq-icon_right{color:var(--kbq-button-transparent-theme-fade-on-states-disabled-right-icon)}.kbq-button.kbq-button_transparent.kbq-contrast,.kbq-button-icon.kbq-button_transparent.kbq-contrast{border-color:var(--kbq-button-transparent-contrast-fade-on-border);color:var(--kbq-button-transparent-contrast-fade-on-foreground);background:var(--kbq-button-transparent-contrast-fade-on-background)}.kbq-button.kbq-button_transparent.kbq-contrast .kbq-icon.kbq-empty,.kbq-button-icon.kbq-button_transparent.kbq-contrast .kbq-icon.kbq-empty,.kbq-button.kbq-button_transparent.kbq-contrast .kbq-icon.kbq-empty.kbq-icon_left,.kbq-button-icon.kbq-button_transparent.kbq-contrast .kbq-icon.kbq-empty.kbq-icon_left{color:var(--kbq-button-transparent-contrast-fade-on-left-icon)}.kbq-button.kbq-button_transparent.kbq-contrast .kbq-icon.kbq-empty.kbq-icon_right,.kbq-button-icon.kbq-button_transparent.kbq-contrast .kbq-icon.kbq-empty.kbq-icon_right{color:var(--kbq-button-transparent-contrast-fade-on-right-icon)}.kbq-button.kbq-button_transparent.kbq-contrast:hover:not(.kbq-disabled),.kbq-button.kbq-button_transparent.kbq-contrast.kbq-hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_transparent.kbq-contrast:hover:not(.kbq-disabled),.kbq-button-icon.kbq-button_transparent.kbq-contrast.kbq-hover:not(.kbq-disabled){background:var(--kbq-button-transparent-contrast-fade-on-states-hover-background)}.kbq-button.kbq-button_transparent.kbq-contrast:active:not(.kbq-disabled),.kbq-button.kbq-button_transparent.kbq-contrast.kbq-active:not(.kbq-disabled),.kbq-button-icon.kbq-button_transparent.kbq-contrast:active:not(.kbq-disabled),.kbq-button-icon.kbq-button_transparent.kbq-contrast.kbq-active:not(.kbq-disabled){background:var(--kbq-button-transparent-contrast-fade-on-states-active-background)}.kbq-button.kbq-button_transparent.kbq-contrast.kbq-disabled,.kbq-button-icon.kbq-button_transparent.kbq-contrast.kbq-disabled{color:var(--kbq-button-transparent-contrast-fade-on-states-disabled-foreground);background:var(--kbq-button-transparent-contrast-fade-on-states-disabled-background);border-color:var(--kbq-button-transparent-contrast-fade-on-states-disabled-border)}.kbq-button.kbq-button_transparent.kbq-contrast.kbq-disabled .kbq-icon.kbq-empty,.kbq-button-icon.kbq-button_transparent.kbq-contrast.kbq-disabled .kbq-icon.kbq-empty,.kbq-button.kbq-button_transparent.kbq-contrast.kbq-disabled .kbq-icon.kbq-empty.kbq-icon_left,.kbq-button-icon.kbq-button_transparent.kbq-contrast.kbq-disabled .kbq-icon.kbq-empty.kbq-icon_left{color:var(--kbq-button-transparent-contrast-fade-on-states-disabled-left-icon)}.kbq-button.kbq-button_transparent.kbq-contrast.kbq-disabled .kbq-icon.kbq-empty.kbq-icon_right,.kbq-button-icon.kbq-button_transparent.kbq-contrast.kbq-disabled .kbq-icon.kbq-empty.kbq-icon_right{color:var(--kbq-button-transparent-contrast-fade-on-states-disabled-right-icon)}.kbq-button.kbq-button_filled.cdk-keyboard-focused,.kbq-button.kbq-button_outline.cdk-keyboard-focused,.kbq-button.kbq-button_transparent.cdk-keyboard-focused,.kbq-button-icon.kbq-button_filled.cdk-keyboard-focused,.kbq-button-icon.kbq-button_outline.cdk-keyboard-focused,.kbq-button-icon.kbq-button_transparent.cdk-keyboard-focused{outline:1px solid var(--kbq-states-line-focus-theme);border-color:var(--kbq-states-line-focus-theme)}.kbq-button,.kbq-button-icon{font-size:var(--kbq-typography-text-normal-medium-font-size);font-style:var(--kbq-typography-text-normal-medium-font-style);font-weight:var(--kbq-typography-text-normal-medium-font-weight);line-height:var(--kbq-typography-text-normal-medium-line-height);font-family:var(--kbq-typography-text-normal-medium-font-family);text-transform:var(--kbq-typography-text-normal-medium-text-transform);font-feature-settings:var(--kbq-typography-text-normal-medium-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-medium-letter-spacing)}.kbq-button-icon.kbq-button-wrapper .kbq-icon{line-height:var(--kbq-typography-body-line-height)}\n", ".kbq-button,.kbq-button-icon{--kbq-button-size-height: var(--kbq-size-3xl);--kbq-button-size-border-width: var(--kbq-size-border-width);--kbq-button-size-border-radius: var(--kbq-size-border-radius);--kbq-button-size-horizontal-padding: var(--kbq-size-m);--kbq-button-size-content-padding: var(--kbq-size-xs);--kbq-button-icon-size-horizontal-padding: var(--kbq-size-s);--kbq-button-icon-size-vertical-padding: var(--kbq-size-s);--kbq-button-icon-size-content-padding: var(--kbq-size-xxs);--kbq-button-filled-contrast-fade-off-background: var(--kbq-background-contrast);--kbq-button-filled-contrast-fade-off-border: transparent;--kbq-button-filled-contrast-fade-off-foreground: var(--kbq-foreground-on-contrast);--kbq-button-filled-contrast-fade-off-left-icon: var(--kbq-icon-on-contrast);--kbq-button-filled-contrast-fade-off-right-icon: var(--kbq-icon-on-contrast);--kbq-button-filled-contrast-fade-off-states-hover-background: var(--kbq-states-background-contrast-hover);--kbq-button-filled-contrast-fade-off-states-active-background: var(--kbq-states-background-contrast-active);--kbq-button-filled-contrast-fade-off-states-active-hover-background: var(--kbq-states-background-contrast-active);--kbq-button-filled-contrast-fade-off-states-disabled-background: var(--kbq-states-background-disabled);--kbq-button-filled-contrast-fade-off-states-disabled-border: transparent;--kbq-button-filled-contrast-fade-off-states-disabled-foreground: var(--kbq-states-foreground-disabled);--kbq-button-filled-contrast-fade-off-states-disabled-left-icon: var(--kbq-states-foreground-disabled);--kbq-button-filled-contrast-fade-off-states-disabled-right-icon: var(--kbq-states-foreground-disabled);--kbq-button-filled-contrast-fade-on-background: var(--kbq-background-contrast-fade);--kbq-button-filled-contrast-fade-on-border: transparent;--kbq-button-filled-contrast-fade-on-foreground: var(--kbq-foreground-contrast);--kbq-button-filled-contrast-fade-on-left-icon: var(--kbq-icon-contrast);--kbq-button-filled-contrast-fade-on-right-icon: var(--kbq-icon-contrast);--kbq-button-filled-contrast-fade-on-states-hover-background: var(--kbq-states-background-contrast-fade-hover);--kbq-button-filled-contrast-fade-on-states-active-background: var(--kbq-states-background-contrast-fade-active);--kbq-button-filled-contrast-fade-on-states-active-hover-background: var( --kbq-states-background-contrast-fade-active );--kbq-button-filled-contrast-fade-on-states-disabled-background: var(--kbq-states-background-disabled);--kbq-button-filled-contrast-fade-on-states-disabled-border: transparent;--kbq-button-filled-contrast-fade-on-states-disabled-foreground: var(--kbq-states-foreground-disabled);--kbq-button-filled-contrast-fade-on-states-disabled-left-icon: var(--kbq-states-foreground-disabled);--kbq-button-filled-contrast-fade-on-states-disabled-right-icon: var(--kbq-states-foreground-disabled);--kbq-button-outline-theme-fade-on-background: transparent;--kbq-button-outline-theme-fade-on-border: var(--kbq-line-theme-fade);--kbq-button-outline-theme-fade-on-foreground: var(--kbq-foreground-theme);--kbq-button-outline-theme-fade-on-left-icon: var(--kbq-icon-theme);--kbq-button-outline-theme-fade-on-right-icon: var(--kbq-icon-theme);--kbq-button-outline-theme-fade-on-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-button-outline-theme-fade-on-states-hover-border: var(--kbq-line-theme-fade);--kbq-button-outline-theme-fade-on-states-hover-foreground: var(--kbq-foreground-theme);--kbq-button-outline-theme-fade-on-states-hover-left-icon: var(--kbq-icon-theme);--kbq-button-outline-theme-fade-on-states-hover-right-icon: var(--kbq-icon-theme);--kbq-button-outline-theme-fade-on-states-active-background: var(--kbq-states-background-transparent-active);--kbq-button-outline-theme-fade-on-states-active-border: var(--kbq-line-theme-fade);--kbq-button-outline-theme-fade-on-states-active-foreground: var(--kbq-foreground-theme);--kbq-button-outline-theme-fade-on-states-active-left-icon: var(--kbq-icon-theme);--kbq-button-outline-theme-fade-on-states-active-right-icon: var(--kbq-icon-theme);--kbq-button-outline-theme-fade-on-states-active-hover-background: var(--kbq-states-background-transparent-active);--kbq-button-outline-theme-fade-on-states-active-hover-border: var(--kbq-line-theme-fade);--kbq-button-outline-theme-fade-on-states-active-hover-foreground: var(--kbq-foreground-theme);--kbq-button-outline-theme-fade-on-states-active-hover-left-icon: var(--kbq-icon-theme);--kbq-button-outline-theme-fade-on-states-active-hover-right-icon: var(--kbq-icon-theme);--kbq-button-outline-theme-fade-on-states-disabled-background: transparent;--kbq-button-outline-theme-fade-on-states-disabled-border: var(--kbq-states-line-disabled);--kbq-button-outline-theme-fade-on-states-disabled-foreground: var(--kbq-states-foreground-disabled);--kbq-button-outline-theme-fade-on-states-disabled-left-icon: var(--kbq-states-icon-disabled);--kbq-button-outline-theme-fade-on-states-disabled-right-icon: var(--kbq-states-icon-disabled);--kbq-button-outline-contrast-fade-on-background: transparent;--kbq-button-outline-contrast-fade-on-border: var(--kbq-line-contrast-fade);--kbq-button-outline-contrast-fade-on-foreground: var(--kbq-foreground-contrast);--kbq-button-outline-contrast-fade-on-left-icon: var(--kbq-icon-contrast);--kbq-button-outline-contrast-fade-on-right-icon: var(--kbq-icon-contrast);--kbq-button-outline-contrast-fade-on-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-button-outline-contrast-fade-on-states-hover-border: var(--kbq-line-contrast-fade);--kbq-button-outline-contrast-fade-on-states-hover-foreground: var(--kbq-foreground-contrast);--kbq-button-outline-contrast-fade-on-states-hover-left-icon: var(--kbq-icon-contrast);--kbq-button-outline-contrast-fade-on-states-hover-right-icon: var(--kbq-icon-contrast);--kbq-button-outline-contrast-fade-on-states-active-background: var(--kbq-states-background-transparent-active);--kbq-button-outline-contrast-fade-on-states-active-border: var(--kbq-line-contrast-fade);--kbq-button-outline-contrast-fade-on-states-active-foreground: var(--kbq-foreground-contrast);--kbq-button-outline-contrast-fade-on-states-active-left-icon: var(--kbq-icon-contrast);--kbq-button-outline-contrast-fade-on-states-active-right-icon: var(--kbq-icon-contrast);--kbq-button-outline-contrast-fade-on-states-active-hover-background: var( --kbq-states-background-transparent-active );--kbq-button-outline-contrast-fade-on-states-active-hover-border: var(--kbq-line-contrast-fade);--kbq-button-outline-contrast-fade-on-states-active-hover-foreground: var(--kbq-foreground-contrast);--kbq-button-outline-contrast-fade-on-states-active-hover-left-icon: var(--kbq-icon-contrast);--kbq-button-outline-contrast-fade-on-states-active-hover-right-icon: var(--kbq-icon-contrast);--kbq-button-outline-contrast-fade-on-states-disabled-background: transparent;--kbq-button-outline-contrast-fade-on-states-disabled-border: var(--kbq-states-line-disabled);--kbq-button-outline-contrast-fade-on-states-disabled-foreground: var(--kbq-states-foreground-disabled);--kbq-button-outline-contrast-fade-on-states-disabled-left-icon: var(--kbq-states-icon-disabled);--kbq-button-outline-contrast-fade-on-states-disabled-right-icon: var(--kbq-states-icon-disabled);--kbq-button-transparent-theme-fade-on-border: transparent;--kbq-button-transparent-theme-fade-on-foreground: var(--kbq-foreground-theme);--kbq-button-transparent-theme-fade-on-background: transparent;--kbq-button-transparent-theme-fade-on-left-icon: var(--kbq-icon-theme);--kbq-button-transparent-theme-fade-on-right-icon: var(--kbq-icon-theme);--kbq-button-transparent-theme-fade-on-states-hover-border: transparent;--kbq-button-transparent-theme-fade-on-states-hover-foreground: var(--kbq-foreground-theme);--kbq-button-transparent-theme-fade-on-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-button-transparent-theme-fade-on-states-hover-left-icon: var(--kbq-icon-theme);--kbq-button-transparent-theme-fade-on-states-hover-right-icon: var(--kbq-icon-theme);--kbq-button-transparent-theme-fade-on-states-active-border: transparent;--kbq-button-transparent-theme-fade-on-states-active-foreground: var(--kbq-foreground-theme);--kbq-button-transparent-theme-fade-on-states-active-background: var(--kbq-states-background-transparent-active);--kbq-button-transparent-theme-fade-on-states-active-left-icon: var(--kbq-icon-theme);--kbq-button-transparent-theme-fade-on-states-active-right-icon: var(--kbq-icon-theme);--kbq-button-transparent-theme-fade-on-states-active-hover-border: transparent;--kbq-button-transparent-theme-fade-on-states-active-hover-foreground: var(--kbq-foreground-theme);--kbq-button-transparent-theme-fade-on-states-active-hover-background: var( --kbq-states-background-transparent-active );--kbq-button-transparent-theme-fade-on-states-active-hover-left-icon: var(--kbq-icon-theme);--kbq-button-transparent-theme-fade-on-states-active-hover-right-icon: var(--kbq-icon-theme);--kbq-button-transparent-theme-fade-on-states-disabled-border: transparent;--kbq-button-transparent-theme-fade-on-states-disabled-foreground: var(--kbq-states-foreground-disabled);--kbq-button-transparent-theme-fade-on-states-disabled-background: transparent;--kbq-button-transparent-theme-fade-on-states-disabled-left-icon: var(--kbq-states-icon-disabled);--kbq-button-transparent-theme-fade-on-states-disabled-right-icon: var(--kbq-states-icon-disabled);--kbq-button-transparent-contrast-fade-on-border: transparent;--kbq-button-transparent-contrast-fade-on-foreground: var(--kbq-foreground-contrast);--kbq-button-transparent-contrast-fade-on-background: transparent;--kbq-button-transparent-contrast-fade-on-left-icon: var(--kbq-icon-contrast);--kbq-button-transparent-contrast-fade-on-right-icon: var(--kbq-icon-contrast);--kbq-button-transparent-contrast-fade-on-states-hover-border: transparent;--kbq-button-transparent-contrast-fade-on-states-hover-foreground: var(--kbq-foreground-contrast);--kbq-button-transparent-contrast-fade-on-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-button-transparent-contrast-fade-on-states-hover-left-icon: var(--kbq-icon-contrast);--kbq-button-transparent-contrast-fade-on-states-hover-right-icon: var(--kbq-icon-contrast);--kbq-button-transparent-contrast-fade-on-states-active-border: transparent;--kbq-button-transparent-contrast-fade-on-states-active-foreground: var(--kbq-foreground-contrast);--kbq-button-transparent-contrast-fade-on-states-active-background: var(--kbq-states-background-transparent-active);--kbq-button-transparent-contrast-fade-on-states-active-left-icon: var(--kbq-icon-contrast);--kbq-button-transparent-contrast-fade-on-states-active-right-icon: var(--kbq-icon-contrast);--kbq-button-transparent-contrast-fade-on-states-active-hover-border: transparent;--kbq-button-transparent-contrast-fade-on-states-active-hover-foreground: var(--kbq-foreground-contrast);--kbq-button-transparent-contrast-fade-on-states-active-hover-background: var( --kbq-states-background-transparent-active );--kbq-button-transparent-contrast-fade-on-states-active-hover-left-icon: var(--kbq-icon-contrast);--kbq-button-transparent-contrast-fade-on-states-active-hover-right-icon: var(--kbq-icon-contrast);--kbq-button-transparent-contrast-fade-on-states-disabled-border: transparent;--kbq-button-transparent-contrast-fade-on-states-disabled-foreground: var(--kbq-states-foreground-disabled);--kbq-button-transparent-contrast-fade-on-states-disabled-background: transparent;--kbq-button-transparent-contrast-fade-on-states-disabled-left-icon: var(--kbq-states-icon-disabled);--kbq-button-transparent-contrast-fade-on-states-disabled-right-icon: var(--kbq-states-icon-disabled)}\n"], dependencies: [{ kind: "directive", type: CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
158
164
|
}
|
|
159
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
165
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: KbqButton, decorators: [{
|
|
160
166
|
type: Component,
|
|
161
167
|
args: [{ selector: '[kbq-button]', imports: [
|
|
162
168
|
CdkObserveContent
|
|
@@ -183,6 +189,114 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
183
189
|
args: [{ transform: numberAttribute }]
|
|
184
190
|
}] } });
|
|
185
191
|
|
|
192
|
+
/**
|
|
193
|
+
* Root directive that groups related buttons,
|
|
194
|
+
* propagating a shared style, color, and disabled state to every nested button
|
|
195
|
+
*/
|
|
196
|
+
class KbqButtonGroupRoot extends KbqColorDirective {
|
|
197
|
+
/**
|
|
198
|
+
* Style applied to the group and propagated to every nested button.
|
|
199
|
+
* individual button's style preserved but updated when group input changed.
|
|
200
|
+
*/
|
|
201
|
+
get kbqStyle() {
|
|
202
|
+
return this._kbqStyle && `kbq-button-group-root_${this._kbqStyle}`;
|
|
203
|
+
}
|
|
204
|
+
set kbqStyle(value) {
|
|
205
|
+
this._kbqStyle = value || KbqButtonStyles.Filled;
|
|
206
|
+
this.updateStyle(this._kbqStyle, this.buttons?.());
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Color applied to the group and propagated to every nested button.
|
|
210
|
+
* individual button's color preserved but updated when group input changed.
|
|
211
|
+
*/
|
|
212
|
+
get color() {
|
|
213
|
+
return this._color;
|
|
214
|
+
}
|
|
215
|
+
set color(value) {
|
|
216
|
+
if (!value)
|
|
217
|
+
return;
|
|
218
|
+
super.color = value;
|
|
219
|
+
this.updateColor(this.color, this.buttons?.());
|
|
220
|
+
}
|
|
221
|
+
/** Whether the root is disabled. */
|
|
222
|
+
get disabled() {
|
|
223
|
+
return this._disabled;
|
|
224
|
+
}
|
|
225
|
+
set disabled(value) {
|
|
226
|
+
this._disabled = value;
|
|
227
|
+
this.updateDisabledState(this._disabled, this.buttons?.());
|
|
228
|
+
}
|
|
229
|
+
constructor() {
|
|
230
|
+
super();
|
|
231
|
+
this.buttons = contentChildren(KbqButton);
|
|
232
|
+
this._kbqStyle = '';
|
|
233
|
+
this.color = KbqComponentColors.ContrastFade;
|
|
234
|
+
this.setDefaultColor(KbqComponentColors.ContrastFade);
|
|
235
|
+
effect(() => {
|
|
236
|
+
const buttons = this.buttons();
|
|
237
|
+
this.updateColor(this.color, buttons);
|
|
238
|
+
this.updateStyle(this._kbqStyle, buttons);
|
|
239
|
+
this.updateDisabledState(this.disabled, buttons);
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
updateColor(color, buttons) {
|
|
243
|
+
buttons?.forEach((button) => (button.color = color));
|
|
244
|
+
}
|
|
245
|
+
updateStyle(style, buttons) {
|
|
246
|
+
buttons?.forEach((button) => (button.kbqStyle = style));
|
|
247
|
+
}
|
|
248
|
+
updateDisabledState(state, buttons) {
|
|
249
|
+
if (state === undefined)
|
|
250
|
+
return;
|
|
251
|
+
buttons?.forEach((button) => (button.disabled = state));
|
|
252
|
+
}
|
|
253
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: KbqButtonGroupRoot, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
254
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.2.20", type: KbqButtonGroupRoot, isStandalone: true, selector: "[kbqButtonGroupRoot]", inputs: { kbqStyle: "kbqStyle", color: "color", disabled: ["disabled", "disabled", booleanAttribute] }, host: { properties: { "class": "kbqStyle" } }, queries: [{ propertyName: "buttons", predicate: KbqButton, isSignal: true }], usesInheritance: true, ngImport: i0 }); }
|
|
255
|
+
}
|
|
256
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: KbqButtonGroupRoot, decorators: [{
|
|
257
|
+
type: Directive,
|
|
258
|
+
args: [{
|
|
259
|
+
selector: '[kbqButtonGroupRoot]',
|
|
260
|
+
host: {
|
|
261
|
+
'[class]': 'kbqStyle'
|
|
262
|
+
}
|
|
263
|
+
}]
|
|
264
|
+
}], ctorParameters: () => [], propDecorators: { kbqStyle: [{
|
|
265
|
+
type: Input
|
|
266
|
+
}], color: [{
|
|
267
|
+
type: Input
|
|
268
|
+
}], disabled: [{
|
|
269
|
+
type: Input,
|
|
270
|
+
args: [{ transform: booleanAttribute }]
|
|
271
|
+
}] } });
|
|
272
|
+
/** Groups and styling related `KbqButton`s into a single visual unit. */
|
|
273
|
+
class KbqButtonGroup {
|
|
274
|
+
constructor() {
|
|
275
|
+
/**
|
|
276
|
+
* Layout direction: `'horizontal'` or `'vertical'`
|
|
277
|
+
* @default 'horizontal'
|
|
278
|
+
*/
|
|
279
|
+
this.orientation = input('horizontal');
|
|
280
|
+
}
|
|
281
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: KbqButtonGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
282
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.20", type: KbqButtonGroup, isStandalone: true, selector: "kbq-button-group, [kbq-button-group]", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "group" }, properties: { "class": "\"kbq-button-group_\" + orientation()", "attr.aria-orientation": "orientation()" }, classAttribute: "kbq-button-group" }, hostDirectives: [{ directive: KbqButtonGroupRoot, inputs: ["color", "color", "kbqStyle", "kbqStyle", "disabled", "disabled"] }], ngImport: i0, template: `
|
|
283
|
+
<ng-content />
|
|
284
|
+
`, isInline: true, styles: [".kbq-button-group.kbq-button-group_horizontal{display:flex;flex-direction:row}.kbq-button-group.kbq-button-group_horizontal_justified>:is(.kbq-button,.kbq-button-icon){width:100%}.kbq-button-group.kbq-button-group_horizontal :is(.kbq-button,.kbq-button-icon)+:is(.kbq-button,.kbq-button-icon){margin-left:calc(-1 * var(--kbq-size-border-width))}.kbq-button-group.kbq-button-group_horizontal>:is(.kbq-button,.kbq-button-icon):first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-button-group.kbq-button-group_horizontal>:is(.kbq-button,.kbq-button-icon):last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-button-group.kbq-button-group_horizontal>:is(.kbq-button,.kbq-button-icon):not(:first-child):not(:last-child){border-radius:0}.kbq-button-group.kbq-button-group_vertical{display:flex;flex-direction:column}.kbq-button-group.kbq-button-group_vertical>:is(.kbq-button,.kbq-button-icon):first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-size-border-radius)}.kbq-button-group.kbq-button-group_vertical>:is(.kbq-button,.kbq-button-icon):last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-size-border-radius)}.kbq-button-group.kbq-button-group_vertical>:is(.kbq-button,.kbq-button-icon):not(:first-child):not(:last-child){border-radius:0}.kbq-button-group.kbq-button-group_vertical :is(.kbq-button,.kbq-button-icon)+:is(.kbq-button,.kbq-button-icon){margin-top:calc(-1 * var(--kbq-size-border-width))}.kbq-button-group:not(:has(>:not(.kbq-contrast-fade.kbq-button_filled))),.kbq-button-group:not(:has(>:not(.kbq-contrast.kbq-button_filled))){gap:var(--kbq-size-3xs)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
285
|
+
}
|
|
286
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: KbqButtonGroup, decorators: [{
|
|
287
|
+
type: Component,
|
|
288
|
+
args: [{ selector: 'kbq-button-group, [kbq-button-group]', template: `
|
|
289
|
+
<ng-content />
|
|
290
|
+
`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
291
|
+
role: 'group',
|
|
292
|
+
class: 'kbq-button-group',
|
|
293
|
+
'[class]': '"kbq-button-group_" + orientation()',
|
|
294
|
+
'[attr.aria-orientation]': 'orientation()'
|
|
295
|
+
}, hostDirectives: [
|
|
296
|
+
{ directive: KbqButtonGroupRoot, inputs: ['color', 'kbqStyle', 'disabled'] }
|
|
297
|
+
], styles: [".kbq-button-group.kbq-button-group_horizontal{display:flex;flex-direction:row}.kbq-button-group.kbq-button-group_horizontal_justified>:is(.kbq-button,.kbq-button-icon){width:100%}.kbq-button-group.kbq-button-group_horizontal :is(.kbq-button,.kbq-button-icon)+:is(.kbq-button,.kbq-button-icon){margin-left:calc(-1 * var(--kbq-size-border-width))}.kbq-button-group.kbq-button-group_horizontal>:is(.kbq-button,.kbq-button-icon):first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-button-group.kbq-button-group_horizontal>:is(.kbq-button,.kbq-button-icon):last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-button-group.kbq-button-group_horizontal>:is(.kbq-button,.kbq-button-icon):not(:first-child):not(:last-child){border-radius:0}.kbq-button-group.kbq-button-group_vertical{display:flex;flex-direction:column}.kbq-button-group.kbq-button-group_vertical>:is(.kbq-button,.kbq-button-icon):first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-size-border-radius)}.kbq-button-group.kbq-button-group_vertical>:is(.kbq-button,.kbq-button-icon):last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-size-border-radius)}.kbq-button-group.kbq-button-group_vertical>:is(.kbq-button,.kbq-button-icon):not(:first-child):not(:last-child){border-radius:0}.kbq-button-group.kbq-button-group_vertical :is(.kbq-button,.kbq-button-icon)+:is(.kbq-button,.kbq-button-icon){margin-top:calc(-1 * var(--kbq-size-border-width))}.kbq-button-group:not(:has(>:not(.kbq-contrast-fade.kbq-button_filled))),.kbq-button-group:not(:has(>:not(.kbq-contrast.kbq-button_filled))){gap:var(--kbq-size-3xs)}\n"] }]
|
|
298
|
+
}] });
|
|
299
|
+
|
|
186
300
|
/**
|
|
187
301
|
* This directive enhances `kbq-button` elements acting as dropdown triggers,
|
|
188
302
|
* visually indicating the active state with the `kbq-active` class,
|
|
@@ -194,10 +308,10 @@ class KbqButtonDropdownTrigger {
|
|
|
194
308
|
constructor() {
|
|
195
309
|
this.dropdownTrigger = inject(KbqDropdownTrigger);
|
|
196
310
|
}
|
|
197
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
198
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.
|
|
311
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: KbqButtonDropdownTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
312
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: KbqButtonDropdownTrigger, isStandalone: true, selector: "[kbq-button][kbqDropdownTriggerFor]", host: { properties: { "class.kbq-active": "dropdownTrigger.opened" } }, ngImport: i0 }); }
|
|
199
313
|
}
|
|
200
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
314
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: KbqButtonDropdownTrigger, decorators: [{
|
|
201
315
|
type: Directive,
|
|
202
316
|
args: [{
|
|
203
317
|
selector: `[kbq-button][kbqDropdownTriggerFor]`,
|
|
@@ -208,20 +322,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
208
322
|
}] });
|
|
209
323
|
|
|
210
324
|
class KbqButtonModule {
|
|
211
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
212
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.
|
|
325
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: KbqButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
326
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.20", ngImport: i0, type: KbqButtonModule, imports: [A11yModule,
|
|
213
327
|
PlatformModule,
|
|
214
328
|
ObserversModule,
|
|
215
329
|
KbqButtonDropdownTrigger,
|
|
216
330
|
KbqButton,
|
|
217
|
-
KbqButtonCssStyler], exports: [KbqButton,
|
|
218
331
|
KbqButtonCssStyler,
|
|
219
|
-
|
|
220
|
-
|
|
332
|
+
KbqButtonGroup,
|
|
333
|
+
KbqButtonGroupRoot], exports: [KbqButton,
|
|
334
|
+
KbqButtonCssStyler,
|
|
335
|
+
KbqButtonDropdownTrigger,
|
|
336
|
+
KbqButtonGroup,
|
|
337
|
+
KbqButtonGroupRoot] }); }
|
|
338
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: KbqButtonModule, imports: [A11yModule,
|
|
221
339
|
PlatformModule,
|
|
222
340
|
ObserversModule] }); }
|
|
223
341
|
}
|
|
224
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
342
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: KbqButtonModule, decorators: [{
|
|
225
343
|
type: NgModule,
|
|
226
344
|
args: [{
|
|
227
345
|
imports: [
|
|
@@ -230,12 +348,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
230
348
|
ObserversModule,
|
|
231
349
|
KbqButtonDropdownTrigger,
|
|
232
350
|
KbqButton,
|
|
233
|
-
KbqButtonCssStyler
|
|
351
|
+
KbqButtonCssStyler,
|
|
352
|
+
KbqButtonGroup,
|
|
353
|
+
KbqButtonGroupRoot
|
|
234
354
|
],
|
|
235
355
|
exports: [
|
|
236
356
|
KbqButton,
|
|
237
357
|
KbqButtonCssStyler,
|
|
238
|
-
KbqButtonDropdownTrigger
|
|
358
|
+
KbqButtonDropdownTrigger,
|
|
359
|
+
KbqButtonGroup,
|
|
360
|
+
KbqButtonGroupRoot
|
|
239
361
|
]
|
|
240
362
|
}]
|
|
241
363
|
}] });
|
|
@@ -244,5 +366,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
244
366
|
* Generated bundle index. Do not edit.
|
|
245
367
|
*/
|
|
246
368
|
|
|
247
|
-
export { KbqButton, KbqButtonCssStyler, KbqButtonDropdownTrigger, KbqButtonModule, KbqButtonStyles, buttonLeftIconClassName, buttonRightIconClassName };
|
|
369
|
+
export { KbqButton, KbqButtonCssStyler, KbqButtonDropdownTrigger, KbqButtonGroup, KbqButtonGroupRoot, KbqButtonModule, KbqButtonStyles, buttonLeftIconClassName, buttonRightIconClassName };
|
|
248
370
|
//# sourceMappingURL=koobiq-components-button.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"koobiq-components-button.mjs","sources":["../../../packages/components/button/button.component.ts","../../../packages/components/button/button.component.html","../../../packages/components/button/button.dropdown-trigger.directive.ts","../../../packages/components/button/button.module.ts","../../../packages/components/button/koobiq-components-button.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport { CdkObserveContent } from '@angular/cdk/observers';\nimport {\n AfterContentInit,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n forwardRef,\n inject,\n Input,\n numberAttribute,\n OnDestroy,\n QueryList,\n Renderer2,\n SkipSelf,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n getNodesWithoutComments,\n KBQ_TITLE_TEXT_REF,\n KbqColorDirective,\n KbqComponentColors,\n KbqTitleTextRef,\n leftIconClassName,\n rightIconClassName\n} from '@koobiq/components/core';\nimport { KbqIcon } from '@koobiq/components/icon';\n\nexport enum KbqButtonStyles {\n Filled = 'filled',\n Outline = 'outline',\n Transparent = 'transparent'\n}\n\nexport const buttonLeftIconClassName = 'kbq-button-icon_left';\nexport const buttonRightIconClassName = 'kbq-button-icon_right';\n\n@Directive({\n selector: '[kbq-button]',\n host: {\n '[class.kbq-button]': '!isIconButton',\n '[class.kbq-button-icon]': 'isIconButton'\n }\n})\nexport class KbqButtonCssStyler implements AfterContentInit {\n @ContentChildren(forwardRef(() => KbqIcon)) icons: QueryList<KbqIcon>;\n\n nativeElement: HTMLElement;\n\n isIconButton: boolean = false;\n\n constructor(\n elementRef: ElementRef<HTMLElement>,\n private renderer: Renderer2,\n @SkipSelf() private cdr: ChangeDetectorRef\n ) {\n this.nativeElement = elementRef.nativeElement;\n }\n\n ngAfterContentInit() {\n this.updateClassModifierForIcons();\n }\n\n updateClassModifierForIcons() {\n this.renderer.removeClass(this.nativeElement, buttonLeftIconClassName);\n this.renderer.removeClass(this.nativeElement, buttonRightIconClassName);\n this.icons\n .map((item) => item.getHostElement())\n .forEach((iconHostElement) => {\n this.renderer.removeClass(iconHostElement, leftIconClassName);\n this.renderer.removeClass(iconHostElement, rightIconClassName);\n });\n\n const twoIcons = 2;\n const filteredNodesWithoutComments = getNodesWithoutComments(\n this.nativeElement.querySelector('.kbq-button-wrapper')!.childNodes as NodeList\n );\n\n const currentIsIconButtonValue =\n !!this.icons.length &&\n this.icons.length === filteredNodesWithoutComments.length &&\n this.icons.length <= twoIcons;\n\n if (currentIsIconButtonValue !== this.isIconButton) {\n this.isIconButton = currentIsIconButtonValue;\n this.cdr.detectChanges();\n }\n\n if (this.icons.length && filteredNodesWithoutComments.length > 1) {\n this.icons\n .map((item) => item.getHostElement())\n .forEach((iconHostElement) => {\n const iconIndex = filteredNodesWithoutComments.findIndex((node) => node === iconHostElement);\n\n if (iconIndex === 0) {\n this.renderer.addClass(iconHostElement, leftIconClassName);\n this.renderer.addClass(this.nativeElement, buttonLeftIconClassName);\n }\n\n if (iconIndex === filteredNodesWithoutComments.length - 1) {\n this.renderer.addClass(iconHostElement, rightIconClassName);\n this.renderer.addClass(this.nativeElement, buttonRightIconClassName);\n }\n });\n }\n }\n}\n\n@Component({\n selector: '[kbq-button]',\n imports: [\n CdkObserveContent\n ],\n templateUrl: './button.component.html',\n styleUrls: ['./button.scss', './button-tokens.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.disabled]': 'disabled || null',\n '[class.kbq-disabled]': 'disabled',\n '[attr.tabIndex]': 'tabIndex',\n '[class]': 'kbqStyle',\n '(focus)': 'onFocus($event)',\n '(blur)': 'onBlur()'\n },\n providers: [\n { provide: KBQ_TITLE_TEXT_REF, useExisting: KbqButton }]\n})\nexport class KbqButton extends KbqColorDirective implements OnDestroy, AfterViewInit, KbqTitleTextRef {\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n\n hasFocus: boolean = false;\n\n @ViewChild('kbqTitleText', { static: false }) textElement: ElementRef;\n\n @Input()\n get kbqStyle(): string {\n return `kbq-button_${this._kbqStyle}`;\n }\n\n set kbqStyle(value: string | KbqButtonStyles) {\n this._kbqStyle = value || KbqButtonStyles.Filled;\n\n this.changeDetectorRef.markForCheck();\n }\n\n private _kbqStyle: string | KbqButtonStyles = KbqButtonStyles.Filled;\n\n @Input({ transform: booleanAttribute })\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = value;\n\n this._disabled ? this.stopFocusMonitor() : this.runFocusMonitor();\n }\n\n private _disabled: boolean = false;\n\n @Input({ transform: numberAttribute })\n get tabIndex(): number {\n return this.disabled ? -1 : this._tabIndex;\n }\n\n set tabIndex(value: number) {\n this._tabIndex = value;\n }\n\n private _tabIndex = 0;\n\n constructor(\n private focusMonitor: FocusMonitor,\n private styler: KbqButtonCssStyler\n ) {\n super();\n\n this.color = KbqComponentColors.ContrastFade;\n this.setDefaultColor(KbqComponentColors.ContrastFade);\n }\n\n ngAfterViewInit(): void {\n this.runFocusMonitor();\n }\n\n ngOnDestroy() {\n this.stopFocusMonitor();\n }\n\n onFocus($event) {\n $event.stopPropagation();\n\n this.hasFocus = true;\n }\n\n onBlur() {\n this.hasFocus = false;\n }\n\n getHostElement() {\n return this.elementRef.nativeElement;\n }\n\n focus(): void {\n this.hasFocus = true;\n\n this.getHostElement().focus();\n }\n\n focusViaKeyboard(): void {\n this.hasFocus = true;\n\n this.focusMonitor.focusVia(this.getHostElement(), 'keyboard');\n }\n\n haltDisabledEvents(event: Event) {\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n event.stopPropagation();\n }\n }\n\n projectContentChanged() {\n this.styler.updateClassModifierForIcons();\n }\n\n private runFocusMonitor() {\n this.focusMonitor.monitor(this.elementRef.nativeElement, true);\n }\n\n private stopFocusMonitor() {\n this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);\n }\n}\n","<span #kbqTitleText class=\"kbq-button-wrapper\" (cdkObserveContent)=\"projectContentChanged()\">\n <ng-content />\n</span>\n<span class=\"kbq-button-overlay\" (click)=\"haltDisabledEvents($event)\"></span>\n","import { Directive, inject } from '@angular/core';\nimport { KbqDropdownTrigger } from '@koobiq/components/dropdown';\n\n/**\n * This directive enhances `kbq-button` elements acting as dropdown triggers,\n * visually indicating the active state with the `kbq-active` class,\n * following Koobiq Design System.\n *\n * The directive relies on a separate `KbqDropdownTrigger` directive to get dropdown's state.\n */\n@Directive({\n selector: `[kbq-button][kbqDropdownTriggerFor]`,\n host: {\n '[class.kbq-active]': 'dropdownTrigger.opened'\n }\n})\nexport class KbqButtonDropdownTrigger {\n dropdownTrigger = inject(KbqDropdownTrigger);\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { ObserversModule } from '@angular/cdk/observers';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { NgModule } from '@angular/core';\nimport { KbqButton, KbqButtonCssStyler } from './button.component';\nimport { KbqButtonDropdownTrigger } from './button.dropdown-trigger.directive';\n\n@NgModule({\n imports: [\n A11yModule,\n PlatformModule,\n ObserversModule,\n KbqButtonDropdownTrigger,\n KbqButton,\n KbqButtonCssStyler\n ],\n exports: [\n KbqButton,\n KbqButtonCssStyler,\n KbqButtonDropdownTrigger\n ]\n})\nexport class KbqButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"koobiq-components-button.mjs","sources":["../../../packages/components/button/button.component.ts","../../../packages/components/button/button.component.html","../../../packages/components/button/button-group.ts","../../../packages/components/button/button.dropdown-trigger.directive.ts","../../../packages/components/button/button.module.ts","../../../packages/components/button/koobiq-components-button.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport { CdkObserveContent } from '@angular/cdk/observers';\nimport {\n AfterContentInit,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n effect,\n ElementRef,\n forwardRef,\n inject,\n Input,\n numberAttribute,\n OnDestroy,\n QueryList,\n Renderer2,\n signal,\n SkipSelf,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport {\n getNodesWithoutComments,\n KBQ_TITLE_TEXT_REF,\n KbqColorDirective,\n KbqComponentColors,\n KbqTitleTextRef,\n leftIconClassName,\n rightIconClassName\n} from '@koobiq/components/core';\nimport { KbqIcon } from '@koobiq/components/icon';\n\nexport enum KbqButtonStyles {\n Filled = 'filled',\n Outline = 'outline',\n Transparent = 'transparent'\n}\n\nexport const buttonLeftIconClassName = 'kbq-button-icon_left';\nexport const buttonRightIconClassName = 'kbq-button-icon_right';\n\n@Directive({\n selector: '[kbq-button]',\n host: {\n '[class.kbq-button]': '!isIconButton',\n '[class.kbq-button-icon]': 'isIconButton'\n }\n})\nexport class KbqButtonCssStyler implements AfterContentInit {\n @ContentChildren(forwardRef(() => KbqIcon)) icons: QueryList<KbqIcon>;\n\n nativeElement: HTMLElement;\n\n isIconButton: boolean = false;\n\n constructor(\n elementRef: ElementRef<HTMLElement>,\n private renderer: Renderer2,\n @SkipSelf() private cdr: ChangeDetectorRef\n ) {\n this.nativeElement = elementRef.nativeElement;\n }\n\n ngAfterContentInit() {\n this.updateClassModifierForIcons();\n }\n\n updateClassModifierForIcons() {\n this.renderer.removeClass(this.nativeElement, buttonLeftIconClassName);\n this.renderer.removeClass(this.nativeElement, buttonRightIconClassName);\n this.icons\n .map((item) => item.getHostElement())\n .forEach((iconHostElement) => {\n this.renderer.removeClass(iconHostElement, leftIconClassName);\n this.renderer.removeClass(iconHostElement, rightIconClassName);\n });\n\n const twoIcons = 2;\n const filteredNodesWithoutComments = getNodesWithoutComments(\n this.nativeElement.querySelector('.kbq-button-wrapper')!.childNodes as NodeList\n );\n\n const currentIsIconButtonValue =\n !!this.icons.length &&\n this.icons.length === filteredNodesWithoutComments.length &&\n this.icons.length <= twoIcons;\n\n if (currentIsIconButtonValue !== this.isIconButton) {\n this.isIconButton = currentIsIconButtonValue;\n this.cdr.detectChanges();\n }\n\n if (this.icons.length && filteredNodesWithoutComments.length > 1) {\n this.icons\n .map((item) => item.getHostElement())\n .forEach((iconHostElement) => {\n const iconIndex = filteredNodesWithoutComments.findIndex((node) => node === iconHostElement);\n\n if (iconIndex === 0) {\n this.renderer.addClass(iconHostElement, leftIconClassName);\n this.renderer.addClass(this.nativeElement, buttonLeftIconClassName);\n }\n\n if (iconIndex === filteredNodesWithoutComments.length - 1) {\n this.renderer.addClass(iconHostElement, rightIconClassName);\n this.renderer.addClass(this.nativeElement, buttonRightIconClassName);\n }\n });\n }\n }\n}\n\n@Component({\n selector: '[kbq-button]',\n imports: [\n CdkObserveContent\n ],\n templateUrl: './button.component.html',\n styleUrls: ['./button.scss', './button-tokens.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.disabled]': 'disabled || null',\n '[class.kbq-disabled]': 'disabled',\n '[attr.tabIndex]': 'tabIndex',\n '[class]': 'kbqStyle',\n '(focus)': 'onFocus($event)',\n '(blur)': 'onBlur()'\n },\n providers: [\n { provide: KBQ_TITLE_TEXT_REF, useExisting: KbqButton }]\n})\nexport class KbqButton extends KbqColorDirective implements OnDestroy, AfterViewInit, KbqTitleTextRef {\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n\n hasFocus: boolean = false;\n\n @ViewChild('kbqTitleText', { static: false }) textElement: ElementRef;\n\n @Input()\n get kbqStyle(): string {\n return `kbq-button_${this._kbqStyle}`;\n }\n\n set kbqStyle(value: string | KbqButtonStyles) {\n this._kbqStyle = value || KbqButtonStyles.Filled;\n\n this.changeDetectorRef.markForCheck();\n }\n\n private _kbqStyle: string | KbqButtonStyles = KbqButtonStyles.Filled;\n\n // @todo 20 In the next major release this feature will be replaced on the input signal.\n /** Whether the button is disabled. */\n @Input({ transform: booleanAttribute })\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this.disabledSignal.set(value);\n }\n\n // @todo 20 In the next major release this line will be deleted.\n private _disabled: boolean;\n\n /** @docs-private */\n readonly disabledSignal = signal(false);\n\n @Input({ transform: numberAttribute })\n get tabIndex(): number {\n return this.disabled ? -1 : this._tabIndex;\n }\n\n set tabIndex(value: number) {\n this._tabIndex = value;\n }\n\n private _tabIndex = 0;\n\n constructor(\n private focusMonitor: FocusMonitor,\n private styler: KbqButtonCssStyler\n ) {\n super();\n\n this.color = KbqComponentColors.ContrastFade;\n this.setDefaultColor(KbqComponentColors.ContrastFade);\n\n // @todo 20 In the next major release this line will be deleted.\n toObservable(this.disabledSignal).subscribe((value) => (this._disabled = value));\n\n effect(() => (this.disabledSignal() ? this.stopFocusMonitor() : this.runFocusMonitor()));\n }\n\n ngAfterViewInit(): void {\n this.runFocusMonitor();\n }\n\n ngOnDestroy() {\n this.stopFocusMonitor();\n }\n\n onFocus($event) {\n $event.stopPropagation();\n\n this.hasFocus = true;\n }\n\n onBlur() {\n this.hasFocus = false;\n }\n\n getHostElement() {\n return this.elementRef.nativeElement;\n }\n\n focus(): void {\n this.hasFocus = true;\n\n this.getHostElement().focus();\n }\n\n focusViaKeyboard(): void {\n this.hasFocus = true;\n\n this.focusMonitor.focusVia(this.getHostElement(), 'keyboard');\n }\n\n haltDisabledEvents(event: Event) {\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n event.stopPropagation();\n }\n }\n\n projectContentChanged() {\n this.styler.updateClassModifierForIcons();\n }\n\n private runFocusMonitor() {\n this.focusMonitor.monitor(this.elementRef.nativeElement, true);\n }\n\n private stopFocusMonitor() {\n this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);\n }\n}\n","<span #kbqTitleText class=\"kbq-button-wrapper\" (cdkObserveContent)=\"projectContentChanged()\">\n <ng-content />\n</span>\n<span class=\"kbq-button-overlay\" (click)=\"haltDisabledEvents($event)\"></span>\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n contentChildren,\n Directive,\n effect,\n Input,\n input,\n ViewEncapsulation\n} from '@angular/core';\nimport { KbqColorDirective, KbqComponentColors, KbqOrientation, ThemePalette } from '@koobiq/components/core';\nimport { KbqButton, KbqButtonStyles } from './button.component';\n\n/**\n * Root directive that groups related buttons,\n * propagating a shared style, color, and disabled state to every nested button\n */\n@Directive({\n selector: '[kbqButtonGroupRoot]',\n host: {\n '[class]': 'kbqStyle'\n }\n})\nexport class KbqButtonGroupRoot extends KbqColorDirective {\n private readonly buttons = contentChildren(KbqButton);\n /**\n * Style applied to the group and propagated to every nested button.\n * individual button's style preserved but updated when group input changed.\n */\n @Input()\n get kbqStyle(): string {\n return this._kbqStyle && `kbq-button-group-root_${this._kbqStyle}`;\n }\n\n set kbqStyle(value: KbqButtonStyles | string) {\n this._kbqStyle = value || KbqButtonStyles.Filled;\n\n this.updateStyle(this._kbqStyle, this.buttons?.());\n }\n\n private _kbqStyle: string | KbqButtonStyles = '';\n\n /**\n * Color applied to the group and propagated to every nested button.\n * individual button's color preserved but updated when group input changed.\n */\n @Input()\n get color(): KbqComponentColors | ThemePalette | string {\n return this._color;\n }\n\n set color(value: KbqComponentColors | ThemePalette | string) {\n if (!value) return;\n\n super.color = value;\n\n this.updateColor(this.color, this.buttons?.());\n }\n\n /** Whether the root is disabled. */\n @Input({ transform: booleanAttribute })\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = value;\n\n this.updateDisabledState(this._disabled, this.buttons?.());\n }\n\n /** @docs-private */\n protected _disabled: boolean;\n\n constructor() {\n super();\n\n this.color = KbqComponentColors.ContrastFade;\n this.setDefaultColor(KbqComponentColors.ContrastFade);\n\n effect(() => {\n const buttons = this.buttons();\n\n this.updateColor(this.color, buttons);\n this.updateStyle(this._kbqStyle, buttons);\n this.updateDisabledState(this.disabled, buttons);\n });\n }\n\n private updateColor(color: KbqComponentColors | ThemePalette | string, buttons?: readonly KbqButton[]) {\n buttons?.forEach((button: KbqButton) => (button.color = color));\n }\n\n private updateStyle(style: KbqButtonStyles | string, buttons?: readonly KbqButton[]) {\n buttons?.forEach((button: KbqButton) => (button.kbqStyle = style));\n }\n\n private updateDisabledState(state: boolean, buttons?: readonly KbqButton[]) {\n if (state === undefined) return;\n\n buttons?.forEach((button: KbqButton) => (button.disabled = state));\n }\n}\n\n/** Groups and styling related `KbqButton`s into a single visual unit. */\n@Component({\n selector: 'kbq-button-group, [kbq-button-group]',\n template: `\n <ng-content />\n `,\n styleUrls: ['./button-group.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'group',\n class: 'kbq-button-group',\n '[class]': '\"kbq-button-group_\" + orientation()',\n '[attr.aria-orientation]': 'orientation()'\n },\n hostDirectives: [\n { directive: KbqButtonGroupRoot, inputs: ['color', 'kbqStyle', 'disabled'] }]\n})\nexport class KbqButtonGroup {\n /**\n * Layout direction: `'horizontal'` or `'vertical'`\n * @default 'horizontal'\n */\n readonly orientation = input<KbqOrientation>('horizontal');\n}\n","import { Directive, inject } from '@angular/core';\nimport { KbqDropdownTrigger } from '@koobiq/components/dropdown';\n\n/**\n * This directive enhances `kbq-button` elements acting as dropdown triggers,\n * visually indicating the active state with the `kbq-active` class,\n * following Koobiq Design System.\n *\n * The directive relies on a separate `KbqDropdownTrigger` directive to get dropdown's state.\n */\n@Directive({\n selector: `[kbq-button][kbqDropdownTriggerFor]`,\n host: {\n '[class.kbq-active]': 'dropdownTrigger.opened'\n }\n})\nexport class KbqButtonDropdownTrigger {\n dropdownTrigger = inject(KbqDropdownTrigger);\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { ObserversModule } from '@angular/cdk/observers';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { NgModule } from '@angular/core';\nimport { KbqButtonGroup, KbqButtonGroupRoot } from './button-group';\nimport { KbqButton, KbqButtonCssStyler } from './button.component';\nimport { KbqButtonDropdownTrigger } from './button.dropdown-trigger.directive';\n\n@NgModule({\n imports: [\n A11yModule,\n PlatformModule,\n ObserversModule,\n KbqButtonDropdownTrigger,\n KbqButton,\n KbqButtonCssStyler,\n KbqButtonGroup,\n KbqButtonGroupRoot\n ],\n exports: [\n KbqButton,\n KbqButtonCssStyler,\n KbqButtonDropdownTrigger,\n KbqButtonGroup,\n KbqButtonGroupRoot\n ]\n})\nexport class KbqButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|