@koobiq/components 20.0.0 → 20.2.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/accordion/_accordion-theme.scss +1 -1
- package/accordion/accordion-tokens.scss +1 -0
- package/accordion/{accordion-trigger.component.scss → accordion-trigger.scss} +4 -18
- package/accordion/{accordion.component.scss → accordion.scss} +12 -5
- package/accordion/index.d.ts +215 -119
- package/actions-panel/index.d.ts +1 -0
- package/alert/_alert-theme.scss +14 -4
- package/alert/alert-tokens.scss +4 -4
- package/alert/alert.component.scss +24 -13
- package/alert/index.d.ts +63 -29
- package/app-switcher/app-switcher-dropdown-app.scss +2 -0
- package/autocomplete/autocomplete.scss +2 -1
- package/autocomplete/index.d.ts +35 -29
- package/badge/index.d.ts +2 -3
- package/breadcrumbs/breadcrumbs.scss +4 -0
- package/breadcrumbs/index.d.ts +2 -1
- package/button/button-group.scss +42 -2
- package/button-toggle/button-toggle.scss +23 -0
- package/button-toggle/index.d.ts +3 -1
- package/checkbox/checkbox.scss +5 -4
- package/clamped-text/index.d.ts +4 -2
- package/core/index.d.ts +515 -21
- package/core/styles/_core.scss +2 -0
- package/core/styles/common/_animation.scss +35 -24
- package/core/styles/common/_connected-overlay.scss +36 -0
- package/core/styles/common/_select.scss +7 -2
- package/core/styles/theming/_components-theming.scss +1 -1
- package/core/styles/theming/_scrollbar-theme.scss +4 -0
- package/datepicker/_datepicker-theme.scss +1 -1
- package/datepicker/datepicker-toggle.scss +3 -3
- package/dl/index.d.ts +1 -0
- package/dropdown/dropdown-item.scss +16 -0
- package/dropdown/dropdown-tokens.scss +2 -1
- package/dropdown/dropdown.scss +11 -2
- package/dropdown/index.d.ts +73 -6
- package/fesm2022/koobiq-components-accordion.mjs +406 -303
- package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
- package/fesm2022/koobiq-components-actions-panel.mjs +15 -6
- package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-alert.mjs +88 -48
- package/fesm2022/koobiq-components-alert.mjs.map +1 -1
- package/fesm2022/koobiq-components-app-switcher.mjs +7 -7
- package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
- package/fesm2022/koobiq-components-autocomplete.mjs +37 -23
- package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
- package/fesm2022/koobiq-components-badge.mjs +5 -4
- package/fesm2022/koobiq-components-badge.mjs.map +1 -1
- package/fesm2022/koobiq-components-breadcrumbs.mjs +6 -4
- package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +9 -6
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-button.mjs +4 -4
- package/fesm2022/koobiq-components-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-checkbox.mjs +2 -2
- package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
- package/fesm2022/koobiq-components-clamped-text.mjs +9 -0
- package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +5 -1
- package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +544 -113
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +13 -10
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-dl.mjs +3 -2
- package/fesm2022/koobiq-components-dl.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +105 -31
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-file-upload.mjs +33 -22
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-filter-bar.mjs +1169 -782
- package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-flag.mjs +66 -0
- package/fesm2022/koobiq-components-flag.mjs.map +1 -0
- package/fesm2022/koobiq-components-form-field.mjs +6 -6
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-icon.mjs +16 -7
- package/fesm2022/koobiq-components-icon.mjs.map +1 -1
- package/fesm2022/koobiq-components-inline-edit.mjs +30 -7
- package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +39 -20
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-loader-overlay.mjs +2 -2
- package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +9 -5
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +123 -27
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-notification-center.mjs +193 -19
- package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-overflow-items.mjs +12 -4
- package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +9 -4
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-bar.mjs +2 -2
- package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-spinner.mjs +2 -2
- package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
- package/fesm2022/koobiq-components-radio.mjs +3 -7
- package/fesm2022/koobiq-components-radio.mjs.map +1 -1
- package/fesm2022/koobiq-components-search-expandable.mjs +43 -8
- package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +72 -59
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidebar.mjs +4 -0
- package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidepanel.mjs +3 -3
- package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
- package/fesm2022/koobiq-components-skeleton.mjs +2 -2
- package/fesm2022/koobiq-components-skeleton.mjs.map +1 -1
- package/fesm2022/koobiq-components-split-button.mjs +5 -12
- package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-splitter.mjs +6 -2
- package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
- package/fesm2022/koobiq-components-table.mjs +8 -6
- package/fesm2022/koobiq-components-table.mjs.map +1 -1
- package/fesm2022/koobiq-components-tabs.mjs +42 -18
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +8 -1
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-textarea.mjs +7 -14
- package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
- package/fesm2022/koobiq-components-time-range.mjs +4 -4
- package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
- package/fesm2022/koobiq-components-timepicker.mjs +3 -4
- package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-timezone.mjs +9 -5
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-title.mjs +132 -14
- package/fesm2022/koobiq-components-title.mjs.map +1 -1
- package/fesm2022/koobiq-components-toast.mjs +1 -1
- package/fesm2022/koobiq-components-toast.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-tooltip.mjs +168 -8
- package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +79 -38
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +67 -41
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/fesm2022/koobiq-components-username.mjs +16 -3
- package/fesm2022/koobiq-components-username.mjs.map +1 -1
- package/file-upload/file-upload-tokens.scss +1 -0
- package/file-upload/index.d.ts +10 -7
- package/filter-bar/_filter-bar-theme.scss +82 -0
- package/filter-bar/filter-bar-tokens.scss +9 -0
- package/filter-bar/filter-bar.scss +10 -4
- package/filter-bar/filter-refresher.scss +1 -1
- package/filter-bar/filters.scss +25 -20
- package/filter-bar/index.d.ts +764 -336
- package/filter-bar/pipes/base-pipe.scss +12 -44
- package/filter-bar/pipes/pipe-date.scss +20 -14
- package/filter-bar/pipes/pipe-input.scss +10 -0
- package/filter-bar/pipes/pipe-multi-tree-select.scss +5 -3
- package/filter-bar/pipes/pipe-multiselect.scss +5 -3
- package/filter-bar/pipes/pipe-readonly.scss +4 -13
- package/filter-bar/pipes/pipe-select.scss +3 -1
- package/filter-bar/pipes/pipe-tree-select.scss +3 -1
- package/flag/flag.scss +53 -0
- package/flag/index.d.ts +44 -0
- package/icon/icon-button.scss +3 -1
- package/icon/icon-item-tokens.scss +1 -1
- package/icon/index.d.ts +15 -2
- package/inline-edit/index.d.ts +5 -0
- package/inline-edit/inline-edit.scss +7 -7
- package/link/link-tokens.scss +2 -2
- package/list/index.d.ts +11 -2
- package/loader-overlay/loader-overlay-tokens.scss +1 -1
- package/modal/_modal-animation.scss +6 -6
- package/modal/_modal-theme.scss +5 -0
- package/modal/index.d.ts +3 -1
- package/modal/modal.scss +15 -0
- package/navbar/_navbar-item_vertical.scss +7 -5
- package/navbar/index.d.ts +39 -4
- package/navbar/navbar-brand.scss +17 -7
- package/navbar/navbar-item.scss +9 -0
- package/notification-center/_notification-center-theme.scss +2 -1
- package/notification-center/index.d.ts +89 -3
- package/notification-center/notification-center.scss +42 -4
- package/notification-center/notification-item.scss +3 -2
- package/overflow-items/index.d.ts +1 -0
- package/package.json +7 -3
- 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-bar/progress-bar.scss +4 -0
- package/progress-spinner/progress-spinner.scss +5 -1
- package/radio/index.d.ts +1 -5
- package/radio/radio.scss +18 -4
- package/schematics/collection.json +15 -0
- package/schematics/migrations/alert-signals/README.md +64 -0
- package/schematics/migrations/alert-signals/data.js +70 -0
- package/schematics/migrations/alert-signals/index.js +350 -0
- package/schematics/migrations/alert-signals/schema.json +20 -0
- package/schematics/migrations/autocomplete-panel-width-auto/README.md +68 -0
- package/schematics/migrations/autocomplete-panel-width-auto/index.js +70 -0
- package/schematics/migrations/autocomplete-panel-width-auto/schema.json +15 -0
- package/schematics/migrations/filter-bar-signals/README.md +66 -0
- package/schematics/migrations/filter-bar-signals/data.js +72 -0
- package/schematics/migrations/filter-bar-signals/index.js +316 -0
- package/schematics/migrations/filter-bar-signals/schema.json +20 -0
- package/schematics/migrations.json +15 -0
- package/schematics/ng-add/index.js +1 -1
- package/schematics/utils/angular-parsing.js +11 -2
- package/search-expandable/index.d.ts +3 -0
- package/select/index.d.ts +59 -24
- package/sidebar/index.d.ts +1 -0
- package/skeleton/skeleton.scss +4 -0
- package/split-button/_split-button-theme.scss +2 -2
- package/splitter/_splitter-theme.scss +2 -2
- package/splitter/index.d.ts +1 -0
- package/table/_table-theme.scss +4 -0
- package/table/index.d.ts +3 -2
- package/tabs/_tabs-common.scss +60 -31
- package/tabs/_tabs-theme.scss +12 -0
- package/tabs/index.d.ts +4 -2
- package/tabs/tab-header.scss +15 -0
- package/tabs/tab-nav-bar.scss +4 -0
- package/tabs/tabs-tokens.scss +2 -1
- package/textarea/index.d.ts +0 -1
- package/time-range/time-range.scss +0 -8
- package/timepicker/timepicker.scss +2 -2
- package/timezone/index.d.ts +2 -3
- package/title/index.d.ts +92 -2
- package/tooltip/index.d.ts +124 -7
- package/tree/_tree-theme.scss +2 -7
- package/tree/index.d.ts +19 -4
- package/tree/toggle.scss +5 -0
- package/tree/tree-option.scss +0 -4
- package/tree-select/_tree-select-theme.scss +1 -1
- package/tree-select/index.d.ts +53 -22
- package/username/index.d.ts +20 -2
|
@@ -12,6 +12,11 @@
|
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
+
.kbq-alert__icon {
|
|
16
|
+
display: inline-flex;
|
|
17
|
+
align-items: flex-start;
|
|
18
|
+
}
|
|
19
|
+
|
|
15
20
|
.kbq-alert__content {
|
|
16
21
|
display: flex;
|
|
17
22
|
flex-direction: column;
|
|
@@ -30,14 +35,13 @@
|
|
|
30
35
|
margin: var(--kbq-alert-size-normal-no-title-icon-margin-top) var(--kbq-alert-size-normal-icon-margin-right)
|
|
31
36
|
var(--kbq-alert-size-normal-icon-margin-bottom) var(--kbq-alert-size-normal-icon-margin-left);
|
|
32
37
|
|
|
38
|
+
padding-top: var(--kbq-alert-size-normal-no-title-icon-padding-top);
|
|
39
|
+
|
|
33
40
|
&.kbq-alert__icon_title {
|
|
34
41
|
margin-top: var(--kbq-alert-size-normal-icon-margin-top);
|
|
35
42
|
|
|
36
|
-
padding-top: var(--kbq-alert-size-normal-
|
|
43
|
+
padding-top: var(--kbq-alert-size-normal-icon-padding-top);
|
|
37
44
|
}
|
|
38
|
-
|
|
39
|
-
display: inline-flex;
|
|
40
|
-
align-items: flex-start;
|
|
41
45
|
}
|
|
42
46
|
|
|
43
47
|
& .kbq-alert__content {
|
|
@@ -50,12 +54,17 @@
|
|
|
50
54
|
}
|
|
51
55
|
|
|
52
56
|
& .kbq-alert__button-stack {
|
|
57
|
+
display: flex;
|
|
58
|
+
flex-wrap: wrap;
|
|
59
|
+
align-items: center;
|
|
60
|
+
gap: var(--kbq-size-m);
|
|
61
|
+
|
|
53
62
|
padding-top: var(--kbq-alert-size-normal-button-stack-padding-top);
|
|
54
63
|
padding-bottom: var(--kbq-alert-size-normal-button-stack-padding-bottom);
|
|
55
64
|
}
|
|
56
65
|
|
|
57
66
|
& .kbq-alert__button-stack_has-button {
|
|
58
|
-
padding-top:
|
|
67
|
+
padding-top: var(--kbq-size-m);
|
|
59
68
|
}
|
|
60
69
|
|
|
61
70
|
& .kbq-alert__close-button {
|
|
@@ -63,8 +72,8 @@
|
|
|
63
72
|
margin-left: var(--kbq-alert-size-normal-close-button-margin-left);
|
|
64
73
|
|
|
65
74
|
.kbq-icon-button {
|
|
66
|
-
--kbq-icon-button-size-normal-horizontal-padding:
|
|
67
|
-
--kbq-icon-button-size-normal-vertical-padding:
|
|
75
|
+
--kbq-icon-button-size-normal-horizontal-padding: var(--kbq-size-xxs);
|
|
76
|
+
--kbq-icon-button-size-normal-vertical-padding: var(--kbq-size-xxs);
|
|
68
77
|
}
|
|
69
78
|
}
|
|
70
79
|
}
|
|
@@ -86,9 +95,6 @@
|
|
|
86
95
|
|
|
87
96
|
padding-top: var(--kbq-alert-size-compact-icon-padding-top);
|
|
88
97
|
}
|
|
89
|
-
|
|
90
|
-
display: inline-flex;
|
|
91
|
-
align-items: flex-start;
|
|
92
98
|
}
|
|
93
99
|
|
|
94
100
|
& .kbq-alert__content {
|
|
@@ -101,12 +107,17 @@
|
|
|
101
107
|
}
|
|
102
108
|
|
|
103
109
|
& .kbq-alert__button-stack {
|
|
110
|
+
display: flex;
|
|
111
|
+
flex-wrap: wrap;
|
|
112
|
+
align-items: center;
|
|
113
|
+
gap: var(--kbq-size-m);
|
|
114
|
+
|
|
104
115
|
padding-top: var(--kbq-alert-size-compact-button-stack-padding-top);
|
|
105
116
|
padding-bottom: var(--kbq-alert-size-compact-button-stack-padding-bottom);
|
|
106
117
|
}
|
|
107
118
|
|
|
108
119
|
& .kbq-alert__button-stack_has-button {
|
|
109
|
-
padding-top:
|
|
120
|
+
padding-top: var(--kbq-size-m);
|
|
110
121
|
}
|
|
111
122
|
|
|
112
123
|
& .kbq-alert__close-button {
|
|
@@ -114,8 +125,8 @@
|
|
|
114
125
|
margin-left: var(--kbq-alert-size-compact-close-button-margin-left);
|
|
115
126
|
|
|
116
127
|
.kbq-icon-button {
|
|
117
|
-
--kbq-icon-button-size-normal-horizontal-padding:
|
|
118
|
-
--kbq-icon-button-size-normal-vertical-padding:
|
|
128
|
+
--kbq-icon-button-size-normal-horizontal-padding: var(--kbq-size-xxs);
|
|
129
|
+
--kbq-icon-button-size-normal-vertical-padding: var(--kbq-size-xxs);
|
|
119
130
|
}
|
|
120
131
|
}
|
|
121
132
|
}
|
package/alert/index.d.ts
CHANGED
|
@@ -1,54 +1,88 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import { AfterContentInit } from '@angular/core';
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
3
2
|
import { KbqButton } from '@koobiq/components/button';
|
|
4
3
|
import { KbqIconItem, KbqIcon } from '@koobiq/components/icon';
|
|
5
|
-
import * as i1 from '@angular/cdk/a11y';
|
|
6
|
-
import * as i2 from '@angular/cdk/platform';
|
|
7
4
|
|
|
5
|
+
/** Visual style of an alert. */
|
|
8
6
|
declare enum KbqAlertStyles {
|
|
7
|
+
/** Neutral background; the status is conveyed by the icon color only. */
|
|
9
8
|
Default = "default",
|
|
9
|
+
/** Colored background matching the status — use to draw attention when a default alert gets lost on screen. */
|
|
10
10
|
Colored = "colored"
|
|
11
11
|
}
|
|
12
|
+
/** Status conveyed by an alert. Drives the background (colored style) and the auto-tinted status icon. */
|
|
12
13
|
declare enum KbqAlertColors {
|
|
13
14
|
Error = "error",
|
|
14
15
|
Warning = "warning",
|
|
15
16
|
Success = "success",
|
|
16
17
|
Info = "info"
|
|
17
18
|
}
|
|
19
|
+
/** Marks the projected alert heading. */
|
|
18
20
|
declare class KbqAlertTitle {
|
|
19
|
-
static ɵfac:
|
|
20
|
-
static ɵdir:
|
|
21
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqAlertTitle, never>;
|
|
22
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqAlertTitle, "[kbq-alert-title]", ["kbqAlertTitle"], {}, {}, never, never, true, never>;
|
|
21
23
|
}
|
|
24
|
+
/** Marks the projected close control (place it on a native `<button>` with an accessible name). */
|
|
22
25
|
declare class KbqAlertCloseButton {
|
|
23
|
-
static ɵfac:
|
|
24
|
-
static ɵdir:
|
|
26
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqAlertCloseButton, never>;
|
|
27
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqAlertCloseButton, "[kbq-alert-close-button]", ["kbqAlertCloseButton"], {}, {}, never, never, true, never>;
|
|
25
28
|
}
|
|
29
|
+
/** Marks a projected action control (link or button) shown in the alert's button stack. */
|
|
26
30
|
declare class KbqAlertControl {
|
|
27
|
-
static ɵfac:
|
|
28
|
-
static ɵdir:
|
|
31
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqAlertControl, never>;
|
|
32
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqAlertControl, "[kbq-alert-control]", ["kbqAlertControl"], {}, {}, never, never, true, never>;
|
|
29
33
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
private
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
34
|
+
/**
|
|
35
|
+
* Shows important information on a page. Can carry a hint, signal a status change, or indicate a problem.
|
|
36
|
+
*
|
|
37
|
+
* ```html
|
|
38
|
+
* <kbq-alert [alertColor]="'error'" [alertStyle]="'colored'">Something went wrong</kbq-alert>
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* For a dynamically inserted alert, add `role="alert"` (or `aria-live`) on the host so assistive
|
|
42
|
+
* technology announces it — see the component guide.
|
|
43
|
+
*/
|
|
44
|
+
declare class KbqAlert {
|
|
45
|
+
/** @docs-private */
|
|
46
|
+
protected readonly iconItem: _angular_core.Signal<KbqIconItem | undefined>;
|
|
47
|
+
/** @docs-private */
|
|
48
|
+
protected readonly icon: _angular_core.Signal<KbqIcon | undefined>;
|
|
49
|
+
/** @docs-private */
|
|
50
|
+
protected readonly button: _angular_core.Signal<KbqButton | undefined>;
|
|
51
|
+
/** @docs-private */
|
|
52
|
+
protected readonly title: _angular_core.Signal<KbqAlertTitle | undefined>;
|
|
53
|
+
/** @docs-private */
|
|
54
|
+
protected readonly control: _angular_core.Signal<KbqAlertControl | undefined>;
|
|
55
|
+
/** @docs-private */
|
|
56
|
+
protected readonly closeButton: _angular_core.Signal<KbqAlertCloseButton | undefined>;
|
|
57
|
+
/** Whether the alert uses the denser compact size. */
|
|
58
|
+
readonly compact: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
59
|
+
/** Visual style — neutral `default` or the attention-drawing `colored` background. */
|
|
60
|
+
readonly alertStyle: _angular_core.InputSignal<"default" | "colored">;
|
|
61
|
+
/**
|
|
62
|
+
* Status of the alert. Drives the background in the `colored` style and auto-tints an uncolored
|
|
63
|
+
* projected status icon to the matching color (`info` icons become `contrast`).
|
|
64
|
+
* @default 'info'
|
|
65
|
+
*/
|
|
66
|
+
readonly alertColor: _angular_core.InputSignalWithTransform<"error" | "warning" | "success" | "info", "error" | "warning" | "success" | "info" | null | undefined>;
|
|
67
|
+
/** Emitted when the projected close control is activated. The consumer is responsible for hiding the alert. */
|
|
68
|
+
readonly closed: _angular_core.OutputEmitterRef<void>;
|
|
69
|
+
/** @docs-private */
|
|
70
|
+
protected readonly alertColorClass: _angular_core.Signal<string>;
|
|
71
|
+
/** @docs-private */
|
|
72
|
+
protected readonly isColored: _angular_core.Signal<boolean>;
|
|
73
|
+
/** The projected status icon, whichever slot it came from. @docs-private */
|
|
74
|
+
protected readonly projectedIcon: _angular_core.Signal<KbqIcon | undefined>;
|
|
75
|
+
/** Last color this component auto-assigned to the icon; lets us correct color on change without ignoring consumer's color. */
|
|
76
|
+
private lastAutoColor;
|
|
77
|
+
constructor();
|
|
78
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqAlert, never>;
|
|
79
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqAlert, "kbq-alert", ["kbqAlert"], { "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "alertStyle": { "alias": "alertStyle"; "required": false; "isSignal": true; }; "alertColor": { "alias": "alertColor"; "required": false; "isSignal": true; }; }, { "closed": "closed"; }, ["iconItem", "icon", "button", "title", "control", "closeButton"], ["[kbq-icon-item],[kbq-icon]", "[kbq-alert-title]", "*", "[kbq-alert-control]", "[kbq-alert-close-button]"], true, never>;
|
|
46
80
|
}
|
|
47
81
|
|
|
48
82
|
declare class KbqAlertModule {
|
|
49
|
-
static ɵfac:
|
|
50
|
-
static ɵmod:
|
|
51
|
-
static ɵinj:
|
|
83
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqAlertModule, never>;
|
|
84
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<KbqAlertModule, never, [typeof KbqAlert, typeof KbqAlertTitle, typeof KbqAlertCloseButton, typeof KbqAlertControl], [typeof KbqAlert, typeof KbqAlertTitle, typeof KbqAlertCloseButton, typeof KbqAlertControl]>;
|
|
85
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<KbqAlertModule>;
|
|
52
86
|
}
|
|
53
87
|
|
|
54
88
|
export { KbqAlert, KbqAlertCloseButton, KbqAlertColors, KbqAlertControl, KbqAlertModule, KbqAlertStyles, KbqAlertTitle };
|
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
min-height: 50px;
|
|
10
10
|
|
|
11
11
|
border-radius: var(--kbq-size-xs);
|
|
12
|
+
// base transparent border so the .cdk-keyboard-focused border-color renders a focus ring (matches list-item-base)
|
|
13
|
+
border: var(--kbq-size-3xs) solid transparent;
|
|
12
14
|
|
|
13
15
|
@include common.user-select(none);
|
|
14
16
|
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
box-sizing: border-box;
|
|
15
15
|
min-width: 100%;
|
|
16
16
|
width: 100%;
|
|
17
|
-
|
|
17
|
+
// See `%kbq-select-panel` — same soft cap, same token.
|
|
18
|
+
max-width: var(--kbq-panel-size-width-max, 640px);
|
|
18
19
|
|
|
19
20
|
border-radius: var(--kbq-autocomplete-size-panel-border-radius, var(--kbq-size-border-radius));
|
|
20
21
|
max-height: var(--kbq-autocomplete-size-panel-max-height);
|
package/autocomplete/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { ElementRef, AfterContentInit, TemplateRef, QueryList, InjectionToken, Provider, AfterViewInit, OnDestroy } from '@angular/core';
|
|
3
3
|
import * as i2 from '@angular/cdk/overlay';
|
|
4
4
|
import { ScrollStrategy, Overlay } from '@angular/cdk/overlay';
|
|
5
5
|
import { ControlValueAccessor } from '@angular/forms';
|
|
6
6
|
import * as i1 from '@koobiq/components/core';
|
|
7
|
-
import { ActiveDescendantKeyManager, KbqOption, KbqOptgroup, KeyboardNavigationHandler, KbqOptionSelectionChange } from '@koobiq/components/core';
|
|
7
|
+
import { ActiveDescendantKeyManager, KbqOption, KbqOptgroup, KbqPanelWidth, KbqPanelMaxWidth, KeyboardNavigationHandler, KbqOptionSelectionChange } from '@koobiq/components/core';
|
|
8
8
|
import { Observable } from 'rxjs';
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -13,14 +13,14 @@ import { Observable } from 'rxjs';
|
|
|
13
13
|
*/
|
|
14
14
|
declare class KbqAutocompleteOrigin {
|
|
15
15
|
elementRef: ElementRef<HTMLElement>;
|
|
16
|
-
static ɵfac:
|
|
17
|
-
static ɵdir:
|
|
16
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqAutocompleteOrigin, never>;
|
|
17
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqAutocompleteOrigin, "[kbqAutocompleteOrigin]", ["kbqAutocompleteOrigin"], {}, {}, never, never, true, never>;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
/** Footer that is rendered below the autocomplete options panel. */
|
|
21
21
|
declare class KbqAutocompleteFooter {
|
|
22
|
-
static ɵfac:
|
|
23
|
-
static ɵdir:
|
|
22
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqAutocompleteFooter, never>;
|
|
23
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqAutocompleteFooter, "[kbqAutocompleteFooter], kbq-autocomplete-footer", never, {}, {}, never, never, true, never>;
|
|
24
24
|
}
|
|
25
25
|
declare class KbqAutocompleteSelectedEvent {
|
|
26
26
|
source: KbqAutocomplete;
|
|
@@ -46,28 +46,36 @@ declare class KbqAutocomplete implements AfterContentInit {
|
|
|
46
46
|
keyManager: ActiveDescendantKeyManager<KbqOption>;
|
|
47
47
|
/** Whether the autocomplete panel should be visible, depending on option length. */
|
|
48
48
|
showPanel: boolean;
|
|
49
|
-
readonly template:
|
|
50
|
-
readonly panel:
|
|
49
|
+
readonly template: _angular_core.Signal<TemplateRef<any>>;
|
|
50
|
+
readonly panel: _angular_core.Signal<ElementRef<any>>;
|
|
51
51
|
options: QueryList<KbqOption>;
|
|
52
|
-
readonly optionGroups:
|
|
52
|
+
readonly optionGroups: _angular_core.Signal<readonly KbqOptgroup[]>;
|
|
53
53
|
/** Function that maps an option's control value to its display value in the trigger. */
|
|
54
54
|
displayWith: ((value: any) => string) | null;
|
|
55
55
|
/**
|
|
56
|
-
* Specify the width of the autocomplete panel.
|
|
57
|
-
*
|
|
56
|
+
* Specify the width of the autocomplete panel. If set to `auto`, the panel will match the width of
|
|
57
|
+
* its host, but will never be narrower than `panelMinWidth`. Any other CSS sizing value is used as an
|
|
58
|
+
* exact width, and `panelMinWidth` is not applied. When not set, the panel sizes to its content and is
|
|
59
|
+
* at least as wide as its host.
|
|
58
60
|
*/
|
|
59
|
-
panelWidth:
|
|
61
|
+
readonly panelWidth: _angular_core.InputSignal<KbqPanelWidth | undefined>;
|
|
60
62
|
/**
|
|
61
63
|
* Minimum width of the panel in pixels.
|
|
62
64
|
* When panelWidth is not set, the panel will be at least as wide as its host and no less than panelMinWidth.
|
|
63
65
|
*/
|
|
64
|
-
panelMinWidth: number
|
|
66
|
+
readonly panelMinWidth: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
67
|
+
/**
|
|
68
|
+
* Maximum width of the panel in pixels. Caps how far the panel grows with its content — it never makes
|
|
69
|
+
* the panel narrower than its host, and never clamps an explicit `panelWidth`.
|
|
70
|
+
* When null, the `--kbq-panel-size-width-max` token applies.
|
|
71
|
+
*/
|
|
72
|
+
readonly panelMaxWidth: _angular_core.InputSignalWithTransform<KbqPanelMaxWidth, unknown>;
|
|
65
73
|
/** Event that is emitted whenever an option from the list is selected. */
|
|
66
|
-
readonly optionSelected:
|
|
74
|
+
readonly optionSelected: _angular_core.OutputEmitterRef<KbqAutocompleteSelectedEvent>;
|
|
67
75
|
/** Event that is emitted when the autocomplete panel is opened. */
|
|
68
|
-
readonly opened:
|
|
76
|
+
readonly opened: _angular_core.OutputEmitterRef<void>;
|
|
69
77
|
/** Event that is emitted when the autocomplete panel is closed. */
|
|
70
|
-
readonly closed:
|
|
78
|
+
readonly closed: _angular_core.OutputEmitterRef<void>;
|
|
71
79
|
/**
|
|
72
80
|
* Takes classes set on the host kbq-autocomplete element and applies them to the panel
|
|
73
81
|
* inside the overlay container to allow for easy styling.
|
|
@@ -96,9 +104,8 @@ declare class KbqAutocomplete implements AfterContentInit {
|
|
|
96
104
|
emitSelectEvent(option: KbqOption): void;
|
|
97
105
|
onKeydown(event: KeyboardEvent): any;
|
|
98
106
|
private updateFocusClass;
|
|
99
|
-
static ɵfac:
|
|
100
|
-
static ɵcmp:
|
|
101
|
-
static ngAcceptInputType_panelMinWidth: unknown;
|
|
107
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqAutocomplete, never>;
|
|
108
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqAutocomplete, "kbq-autocomplete", ["kbqAutocomplete"], { "displayWith": { "alias": "displayWith"; "required": false; }; "panelWidth": { "alias": "panelWidth"; "required": false; "isSignal": true; }; "panelMinWidth": { "alias": "panelMinWidth"; "required": false; "isSignal": true; }; "panelMaxWidth": { "alias": "panelMaxWidth"; "required": false; "isSignal": true; }; "classList": { "alias": "class"; "required": false; }; "autoActiveFirstOption": { "alias": "autoActiveFirstOption"; "required": false; }; "openOnFocus": { "alias": "openOnFocus"; "required": false; }; }, { "optionSelected": "optionSelected"; "opened": "opened"; "closed": "closed"; }, ["optionGroups", "options"], ["*", "[kbqAutocompleteFooter], kbq-autocomplete-footer"], true, never>;
|
|
102
109
|
}
|
|
103
110
|
|
|
104
111
|
/**
|
|
@@ -141,17 +148,17 @@ declare class KbqAutocompleteTrigger implements AfterViewInit, ControlValueAcces
|
|
|
141
148
|
get activeOption(): KbqOption | null;
|
|
142
149
|
get panelOpen(): boolean;
|
|
143
150
|
/** The autocomplete panel to be attached to this trigger. */
|
|
144
|
-
readonly autocomplete:
|
|
151
|
+
readonly autocomplete: _angular_core.InputSignal<KbqAutocomplete>;
|
|
145
152
|
/**
|
|
146
153
|
* Reference relative to which to position the autocomplete panel.
|
|
147
154
|
* Defaults to the autocomplete trigger element.
|
|
148
155
|
*/
|
|
149
|
-
readonly connectedTo:
|
|
156
|
+
readonly connectedTo: _angular_core.InputSignal<KbqAutocompleteOrigin>;
|
|
150
157
|
/**
|
|
151
158
|
* `autocomplete` attribute to be set on the input element.
|
|
152
159
|
* @docs-private
|
|
153
160
|
*/
|
|
154
|
-
readonly autocompleteAttribute:
|
|
161
|
+
readonly autocompleteAttribute: _angular_core.InputSignal<string>;
|
|
155
162
|
/**
|
|
156
163
|
* Whether the autocomplete is disabled. When disabled, the element will
|
|
157
164
|
* act as a regular input and the user won't be able to open the panel.
|
|
@@ -163,7 +170,7 @@ declare class KbqAutocompleteTrigger implements AfterViewInit, ControlValueAcces
|
|
|
163
170
|
* Determines whether the blur event is triggered outside the specific target
|
|
164
171
|
* @returns A boolean indicating if the blur event happened outside the target element
|
|
165
172
|
*/
|
|
166
|
-
readonly onInputBlur:
|
|
173
|
+
readonly onInputBlur: _angular_core.InputSignal<(event: FocusEvent) => boolean>;
|
|
167
174
|
private _autocompleteDisabled;
|
|
168
175
|
private overlayAttached;
|
|
169
176
|
private overlayRef;
|
|
@@ -242,7 +249,6 @@ declare class KbqAutocompleteTrigger implements AfterViewInit, ControlValueAcces
|
|
|
242
249
|
private getOverlayConfig;
|
|
243
250
|
private getOverlayPosition;
|
|
244
251
|
private getConnectedElement;
|
|
245
|
-
private getPanelMinWidth;
|
|
246
252
|
private getOverlaySize;
|
|
247
253
|
private getHostWidth;
|
|
248
254
|
/**
|
|
@@ -251,14 +257,14 @@ declare class KbqAutocompleteTrigger implements AfterViewInit, ControlValueAcces
|
|
|
251
257
|
*/
|
|
252
258
|
private resetActiveItem;
|
|
253
259
|
private canOpen;
|
|
254
|
-
static ɵfac:
|
|
255
|
-
static ɵdir:
|
|
260
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqAutocompleteTrigger, never>;
|
|
261
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqAutocompleteTrigger, "input[kbqAutocomplete], textarea[kbqAutocomplete]", ["kbqAutocompleteTrigger"], { "autocomplete": { "alias": "kbqAutocomplete"; "required": false; "isSignal": true; }; "connectedTo": { "alias": "kbqAutocompleteConnectedTo"; "required": false; "isSignal": true; }; "autocompleteAttribute": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "autocompleteDisabled": { "alias": "kbqAutocompleteDisabled"; "required": false; }; "onInputBlur": { "alias": "kbqAutocompleteOnBlur"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
256
262
|
}
|
|
257
263
|
|
|
258
264
|
declare class KbqAutocompleteModule {
|
|
259
|
-
static ɵfac:
|
|
260
|
-
static ɵmod:
|
|
261
|
-
static ɵinj:
|
|
265
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqAutocompleteModule, never>;
|
|
266
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<KbqAutocompleteModule, never, [typeof i1.KbqOptionModule, typeof i2.OverlayModule, typeof KbqAutocomplete, typeof KbqAutocompleteTrigger, typeof KbqAutocompleteOrigin, typeof KbqAutocompleteFooter], [typeof KbqAutocomplete, typeof i1.KbqOptionModule, typeof KbqAutocompleteTrigger, typeof KbqAutocompleteOrigin, typeof KbqAutocompleteFooter]>;
|
|
267
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<KbqAutocompleteModule>;
|
|
262
268
|
}
|
|
263
269
|
|
|
264
270
|
export { AUTOCOMPLETE_PANEL_HEIGHT, KBQ_AUTOCOMPLETE_DEFAULT_OPTIONS, KBQ_AUTOCOMPLETE_DEFAULT_OPTIONS_FACTORY, KBQ_AUTOCOMPLETE_SCROLL_STRATEGY, KBQ_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY, KBQ_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER, KBQ_AUTOCOMPLETE_VALUE_ACCESSOR, KbqAutocomplete, KbqAutocompleteFooter, KbqAutocompleteModule, KbqAutocompleteOrigin, KbqAutocompleteSelectedEvent, KbqAutocompleteTrigger, getKbqAutocompleteMissingPanelError };
|
package/badge/index.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { AfterContentInit } from '@angular/core';
|
|
3
2
|
import { KbqIconItem } from '@koobiq/components/icon';
|
|
4
3
|
import * as i1 from '@angular/cdk/a11y';
|
|
5
4
|
import * as i2 from '@angular/cdk/platform';
|
|
@@ -25,14 +24,14 @@ declare const leftIconClassName = "kbq-icon_left";
|
|
|
25
24
|
declare const rightIconClassName = "kbq-icon_right";
|
|
26
25
|
declare const badgeLeftIconClassName = "kbq-badge-icon_left";
|
|
27
26
|
declare const badgeRightIconClassName = "kbq-badge-icon_right";
|
|
28
|
-
declare class KbqBadgeCssStyler
|
|
27
|
+
declare class KbqBadgeCssStyler {
|
|
29
28
|
private renderer;
|
|
30
29
|
private cdr;
|
|
31
30
|
readonly icons: i0.Signal<readonly any[]>;
|
|
32
31
|
nativeElement: HTMLElement;
|
|
33
32
|
isIconButton: boolean;
|
|
34
33
|
constructor();
|
|
35
|
-
|
|
34
|
+
/** @docs-private */
|
|
36
35
|
updateClassModifierForIcons(): void;
|
|
37
36
|
static ɵfac: i0.ɵɵFactoryDeclaration<KbqBadgeCssStyler, never>;
|
|
38
37
|
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqBadgeCssStyler, "kbq-badge", never, {}, {}, ["icons"], never, true, never>;
|
|
@@ -73,6 +73,10 @@
|
|
|
73
73
|
--kbq-button-size-border-radius: var(--kbq-breadcrumb-item-border-radius);
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
+
&.kbq-dropdown-trigger {
|
|
77
|
+
--kbq-dropdown-trigger-horizontal-padding: var(--kbq-breadcrumb-item-horizontal-padding);
|
|
78
|
+
}
|
|
79
|
+
|
|
76
80
|
&:focus-visible {
|
|
77
81
|
outline-offset: unset;
|
|
78
82
|
}
|
package/breadcrumbs/index.d.ts
CHANGED
|
@@ -211,6 +211,7 @@ declare class KbqBreadcrumbs {
|
|
|
211
211
|
protected readonly separator?: TemplateRef<any>;
|
|
212
212
|
protected readonly items: _angular_core.Signal<readonly KbqBreadcrumbItem[]>;
|
|
213
213
|
private readonly breadcrumbsResult;
|
|
214
|
+
private readonly resultDropdownTrigger;
|
|
214
215
|
private readonly result;
|
|
215
216
|
private readonly overflowItems;
|
|
216
217
|
private readonly overflowItemsDir;
|
|
@@ -230,7 +231,7 @@ declare class KbqBreadcrumbs {
|
|
|
230
231
|
constructor();
|
|
231
232
|
private enforceMaxVisible;
|
|
232
233
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqBreadcrumbs, never>;
|
|
233
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqBreadcrumbs, "kbq-breadcrumbs,[kbq-breadcrumbs]", never, { "firstItemNegativeMargin": { "alias": "firstItemNegativeMargin"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "wrapMode": { "alias": "wrapMode"; "required": false; "isSignal": true; }; }, {}, ["items", "separator"],
|
|
234
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqBreadcrumbs, "kbq-breadcrumbs,[kbq-breadcrumbs]", never, { "firstItemNegativeMargin": { "alias": "firstItemNegativeMargin"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "wrapMode": { "alias": "wrapMode"; "required": false; "isSignal": true; }; }, {}, ["items", "separator"], never, true, [{ directive: typeof RdxRovingFocusGroupDirective; inputs: {}; outputs: {}; }]>;
|
|
234
235
|
}
|
|
235
236
|
|
|
236
237
|
declare class KbqBreadcrumbsModule {
|
package/button/button-group.scss
CHANGED
|
@@ -3,15 +3,55 @@
|
|
|
3
3
|
.kbq-button-group {
|
|
4
4
|
&.kbq-button-group_horizontal {
|
|
5
5
|
@include groups-mixins.group(':is(.kbq-button, .kbq-button-icon)');
|
|
6
|
+
|
|
7
|
+
& > :is(.kbq-button, .kbq-button-icon):not(:last-child, .cdk-keyboard-focused) {
|
|
8
|
+
border-right-color: transparent;
|
|
9
|
+
}
|
|
6
10
|
}
|
|
7
11
|
|
|
8
12
|
&.kbq-button-group_vertical {
|
|
9
13
|
@include groups-mixins.vertical-group(':is(.kbq-button, .kbq-button-icon)');
|
|
14
|
+
|
|
15
|
+
& > :is(.kbq-button, .kbq-button-icon):not(:last-child, .cdk-keyboard-focused) {
|
|
16
|
+
border-bottom-color: transparent;
|
|
17
|
+
}
|
|
10
18
|
}
|
|
11
19
|
|
|
12
20
|
&:not(:has(> :not(.kbq-contrast-fade.kbq-button_filled))),
|
|
13
21
|
&:not(:has(> :not(.kbq-contrast.kbq-button_filled))) {
|
|
14
|
-
|
|
15
|
-
|
|
22
|
+
:is(.kbq-button, .kbq-button-icon) {
|
|
23
|
+
background-clip: padding-box !important;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
&.kbq-contrast-fade.kbq-button-group-root_filled {
|
|
28
|
+
// internal css variable, so don't prefixed with kbq
|
|
29
|
+
--button-group-divider-color: var(--kbq-line-contrast-fade);
|
|
30
|
+
|
|
31
|
+
&.kbq-button-group_horizontal {
|
|
32
|
+
:is(.kbq-button, .kbq-button-icon):not(:first-child)::before {
|
|
33
|
+
content: '';
|
|
34
|
+
position: absolute;
|
|
35
|
+
// offset by -1px because absolute positioning is relative to the padding edge,
|
|
36
|
+
// but the visual junction sits 1px to the left in the transparent border area
|
|
37
|
+
left: calc(-1 * var(--kbq-size-border-width));
|
|
38
|
+
top: 0;
|
|
39
|
+
bottom: 0;
|
|
40
|
+
width: var(--kbq-size-border-width);
|
|
41
|
+
background: var(--button-group-divider-color);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
&.kbq-button-group_vertical {
|
|
46
|
+
:is(.kbq-button, .kbq-button-icon):not(:first-child)::before {
|
|
47
|
+
content: '';
|
|
48
|
+
position: absolute;
|
|
49
|
+
top: calc(-1 * var(--kbq-size-border-width));
|
|
50
|
+
left: 0;
|
|
51
|
+
right: 0;
|
|
52
|
+
height: var(--kbq-size-border-width);
|
|
53
|
+
background: var(--button-group-divider-color);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
16
56
|
}
|
|
17
57
|
}
|
|
@@ -54,6 +54,7 @@
|
|
|
54
54
|
|
|
55
55
|
.kbq-button-toggle-wrapper {
|
|
56
56
|
display: inline-flex;
|
|
57
|
+
justify-content: center;
|
|
57
58
|
|
|
58
59
|
text-overflow: ellipsis;
|
|
59
60
|
overflow: hidden;
|
|
@@ -81,6 +82,28 @@
|
|
|
81
82
|
}
|
|
82
83
|
}
|
|
83
84
|
}
|
|
85
|
+
|
|
86
|
+
&.kbq-button-toggle-group_stretched {
|
|
87
|
+
width: 100%;
|
|
88
|
+
|
|
89
|
+
.kbq-button-toggle {
|
|
90
|
+
flex: 1;
|
|
91
|
+
|
|
92
|
+
> .kbq-button,
|
|
93
|
+
> .kbq-button-icon {
|
|
94
|
+
width: 100%;
|
|
95
|
+
flex: 1;
|
|
96
|
+
|
|
97
|
+
.kbq-button-wrapper {
|
|
98
|
+
justify-content: center;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.kbq-button-toggle-wrapper {
|
|
102
|
+
display: block;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
84
107
|
}
|
|
85
108
|
|
|
86
109
|
.kbq-button-toggle_vertical {
|
package/button-toggle/index.d.ts
CHANGED
|
@@ -32,6 +32,8 @@ declare class KbqButtonToggleGroup implements ControlValueAccessor, OnInit, Afte
|
|
|
32
32
|
/** Whether the toggle group is vertical. */
|
|
33
33
|
get vertical(): boolean;
|
|
34
34
|
set vertical(value: boolean);
|
|
35
|
+
/** Whether the toggle group stretches to fill its container width, with toggles sharing equal space. */
|
|
36
|
+
readonly stretched: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
35
37
|
/** Value of the toggle group. */
|
|
36
38
|
get value(): any;
|
|
37
39
|
set value(newValue: any);
|
|
@@ -101,7 +103,7 @@ declare class KbqButtonToggleGroup implements ControlValueAccessor, OnInit, Afte
|
|
|
101
103
|
/** Selects a value if there's a toggle that corresponds to it. */
|
|
102
104
|
private selectValue;
|
|
103
105
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqButtonToggleGroup, never>;
|
|
104
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqButtonToggleGroup, "kbq-button-toggle-group", ["kbqButtonToggleGroup"], { "vertical": { "alias": "vertical"; "required": false; }; "value": { "alias": "value"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "valueChange": "valueChange"; "change": "change"; }, ["buttonToggles"], never, true, never>;
|
|
106
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqButtonToggleGroup, "kbq-button-toggle-group", ["kbqButtonToggleGroup"], { "vertical": { "alias": "vertical"; "required": false; }; "stretched": { "alias": "stretched"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "valueChange": "valueChange"; "change": "change"; }, ["buttonToggles"], never, true, never>;
|
|
105
107
|
}
|
|
106
108
|
/** Single button inside of a toggle group. */
|
|
107
109
|
declare class KbqButtonToggle implements OnInit, AfterContentInit, AfterViewInit, OnDestroy {
|
package/checkbox/checkbox.scss
CHANGED
|
@@ -32,9 +32,7 @@
|
|
|
32
32
|
|
|
33
33
|
max-width: calc(100% - var(--padding));
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
// (e.g. pointer by default, regular when disabled), instead of the browser default.
|
|
37
|
-
cursor: inherit;
|
|
35
|
+
cursor: pointer;
|
|
38
36
|
|
|
39
37
|
padding-top: var(--kbq-checkbox-size-normal-padding-top);
|
|
40
38
|
|
|
@@ -56,7 +54,6 @@
|
|
|
56
54
|
.kbq-checkbox {
|
|
57
55
|
display: inline-block;
|
|
58
56
|
|
|
59
|
-
cursor: pointer;
|
|
60
57
|
-webkit-tap-highlight-color: transparent;
|
|
61
58
|
|
|
62
59
|
max-width: 100%;
|
|
@@ -89,6 +86,10 @@
|
|
|
89
86
|
&.kbq-disabled {
|
|
90
87
|
cursor: default;
|
|
91
88
|
|
|
89
|
+
.kbq-checkbox__layout {
|
|
90
|
+
cursor: default;
|
|
91
|
+
}
|
|
92
|
+
|
|
92
93
|
.kbq-checkbox__frame {
|
|
93
94
|
box-shadow: none;
|
|
94
95
|
}
|
package/clamped-text/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as _koobiq_components_core from '@koobiq/components/core';
|
|
2
2
|
import { KbqClampedTextLocaleConfig } from '@koobiq/components/core';
|
|
3
3
|
import * as _angular_core from '@angular/core';
|
|
4
|
-
import { Signal, InjectionToken, Provider, AfterViewInit, ElementRef } from '@angular/core';
|
|
4
|
+
import { Signal, InjectionToken, Provider, OnInit, AfterViewInit, ElementRef } from '@angular/core';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Default maximum number of visible rows for the clamped text component
|
|
@@ -76,7 +76,7 @@ declare class KbqClampedListTrigger {
|
|
|
76
76
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqClampedListTrigger, "[kbqClampedListTrigger]", ["kbqClampedListTrigger"], {}, {}, never, never, true, never>;
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
declare class KbqClampedText implements KbqClamped, AfterViewInit {
|
|
79
|
+
declare class KbqClampedText implements KbqClamped, OnInit, AfterViewInit {
|
|
80
80
|
/**
|
|
81
81
|
* Max rows before text is clamped.
|
|
82
82
|
* @default kbqClampedTextDefaultMaxRows
|
|
@@ -109,6 +109,7 @@ declare class KbqClampedText implements KbqClamped, AfterViewInit {
|
|
|
109
109
|
private readonly destroyRef;
|
|
110
110
|
private readonly elementRef;
|
|
111
111
|
private readonly resizeObserver;
|
|
112
|
+
private readonly platform;
|
|
112
113
|
/**
|
|
113
114
|
* Clamped text locale configuration.
|
|
114
115
|
* @docs-private
|
|
@@ -119,6 +120,7 @@ declare class KbqClampedText implements KbqClamped, AfterViewInit {
|
|
|
119
120
|
*/
|
|
120
121
|
private isEventFromToggle;
|
|
121
122
|
constructor();
|
|
123
|
+
ngOnInit(): void;
|
|
122
124
|
ngAfterViewInit(): void;
|
|
123
125
|
/** @docs-private */
|
|
124
126
|
toggle(event: Event): void;
|