@koobiq/components 17.0.0-rc.4 → 17.0.0-rc.6

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.
Files changed (75) hide show
  1. package/alert/_alert-theme.scss +28 -16
  2. package/alert/alert.component.scss +140 -41
  3. package/code-block/README.md +1 -0
  4. package/code-block/code-block.scss +9 -0
  5. package/core/option/_option-action-theme.scss +6 -8
  6. package/core/styles/theming/_components-theming.scss +7 -0
  7. package/core/styles/theming/_theming.scss +1 -4
  8. package/dropdown/_dropdown-theme.scss +9 -3
  9. package/esm2022/alert/alert.component.mjs +2 -2
  10. package/esm2022/code-block/code-block.component.mjs +2 -2
  11. package/esm2022/core/version.mjs +2 -2
  12. package/esm2022/datepicker/datepicker-animations.mjs +2 -2
  13. package/esm2022/input/input-number.mjs +2 -2
  14. package/esm2022/modal/modal.component.mjs +4 -4
  15. package/esm2022/navbar/vertical-navbar.component.mjs +2 -2
  16. package/esm2022/select/select.component.mjs +34 -7
  17. package/esm2022/splitter/splitter.component.mjs +2 -2
  18. package/esm2022/table/table.component.mjs +29 -6
  19. package/esm2022/table/table.module.mjs +14 -6
  20. package/esm2022/tabs/tab-body.component.mjs +1 -1
  21. package/esm2022/tabs/tab-group.component.mjs +2 -2
  22. package/esm2022/tags/tag.component.mjs +2 -2
  23. package/esm2022/timepicker/timepicker.directive.mjs +2 -2
  24. package/esm2022/tree/tree-base.mjs +2 -2
  25. package/fesm2022/koobiq-components-alert.mjs +2 -2
  26. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  27. package/fesm2022/koobiq-components-code-block.mjs +2 -2
  28. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  29. package/fesm2022/koobiq-components-core.mjs +1 -1
  30. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  31. package/fesm2022/koobiq-components-datepicker.mjs +1 -1
  32. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  33. package/fesm2022/koobiq-components-input.mjs +1 -1
  34. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  35. package/fesm2022/koobiq-components-modal.mjs +3 -3
  36. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  37. package/fesm2022/koobiq-components-navbar.mjs +2 -2
  38. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  39. package/fesm2022/koobiq-components-select.mjs +34 -7
  40. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  41. package/fesm2022/koobiq-components-splitter.mjs +1 -1
  42. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  43. package/fesm2022/koobiq-components-table.mjs +41 -10
  44. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  45. package/fesm2022/koobiq-components-tabs.mjs +1 -1
  46. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  47. package/fesm2022/koobiq-components-tags.mjs +1 -1
  48. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  49. package/fesm2022/koobiq-components-timepicker.mjs +1 -1
  50. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  51. package/fesm2022/koobiq-components-tree.mjs +1 -1
  52. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  53. package/icon/_icon-item-theme.scss +6 -0
  54. package/icon/_icon-theme.scss +5 -0
  55. package/input/_input-theme.scss +4 -0
  56. package/list/_list-theme.scss +5 -3
  57. package/modal/modal.component.d.ts +1 -1
  58. package/modal/modal.scss +1 -1
  59. package/navbar/vertical-navbar.scss +1 -0
  60. package/package.json +7 -7
  61. package/popover/README.md +1 -0
  62. package/prebuilt-themes/dark-theme.css +1 -1
  63. package/prebuilt-themes/light-theme.css +1 -1
  64. package/schematics/ng-add/index.js +5 -5
  65. package/select/select.component.d.ts +5 -1
  66. package/table/_table-theme.scss +10 -10
  67. package/table/table.component.d.ts +8 -1
  68. package/table/table.module.d.ts +1 -1
  69. package/table/table.scss +39 -40
  70. package/tabs/tab-body.component.d.ts +1 -1
  71. package/tabs/tab-nav-bar/tab-nav-bar.scss +0 -1
  72. package/tags/tag.component.d.ts +1 -1
  73. package/textarea/textarea.scss +2 -2
  74. package/timepicker/timepicker.directive.d.ts +1 -1
  75. package/tree/tree-base.d.ts +1 -1
@@ -1,72 +1,84 @@
1
1
  @use 'sass:meta';
2
2
  @use 'sass:map';
3
3
 
4
- @use '../core/styles/common/tokens' as *;
5
4
  @use '../core/styles/typography/typography-utils' as *;
6
5
 
7
6
 
8
- @mixin kbq-alert($component, $style-name, $color-name) {
9
- $style: map.get($component, $style-name);
7
+ @mixin kbq-alert-default($style) {
8
+ background: map.get($style, background);
10
9
 
11
- background: cssVar('alert-light-#{$style-name}-#{$color-name}-container-background');
10
+ .kbq-alert__title {
11
+ color: map.get($style, title);
12
+ }
13
+
14
+ .kbq-alert__text {
15
+ color: map.get($style, text);
16
+ }
17
+ }
18
+
19
+ @mixin kbq-alert-colored($style) {
20
+ background: map.get($style, background);
12
21
 
13
22
  .kbq-alert__title {
14
- color: cssVar('alert-light-#{$style-name}-#{$color-name}-container-title');
23
+ color: map.get($style, title);
15
24
  }
16
25
 
17
26
  .kbq-alert__text {
18
- color: cssVar('alert-light-#{$style-name}-#{$color-name}-container-text');
27
+ color: map.get($style, text);
19
28
  }
20
29
  }
21
30
 
22
31
  @mixin kbq-alert-theme($theme) {
23
32
  $alert: map.get(map.get($theme, components), alert);
24
33
 
34
+ $default: map.get($alert, default);
35
+ $colored: map.get($alert, colored);
36
+
25
37
  .kbq-alert__close:focus {
26
38
  outline: none;
27
39
  }
28
40
 
29
41
  .kbq-alert.kbq-alert_default {
30
42
  &.kbq-alert_contrast {
31
- @include kbq-alert($alert, default, contrast);
43
+ @include kbq-alert-default(map.get($default, contrast));
32
44
  }
33
45
 
34
46
  &.kbq-alert_error {
35
- @include kbq-alert($alert, default, error);
47
+ @include kbq-alert-default(map.get($default, error));
36
48
  }
37
49
 
38
50
  &.kbq-alert_warning {
39
- @include kbq-alert($alert, default, warning);
51
+ @include kbq-alert-default(map.get($default, warning));
40
52
  }
41
53
 
42
54
  &.kbq-alert_success {
43
- @include kbq-alert($alert, default, success);
55
+ @include kbq-alert-default(map.get($default, success));
44
56
  }
45
57
 
46
58
  &.kbq-alert_theme {
47
- @include kbq-alert($alert, default, theme);
59
+ @include kbq-alert-default(map.get($default, theme));
48
60
  }
49
61
  }
50
62
 
51
63
  .kbq-alert.kbq-alert_colored {
52
64
  &.kbq-alert_contrast {
53
- @include kbq-alert($alert, colored, contrast);
65
+ @include kbq-alert-colored(map.get($colored, contrast));
54
66
  }
55
67
 
56
68
  &.kbq-alert_error {
57
- @include kbq-alert($alert, colored, error);
69
+ @include kbq-alert-colored(map.get($colored, error));
58
70
  }
59
71
 
60
72
  &.kbq-alert_warning {
61
- @include kbq-alert($alert, colored, warning);
73
+ @include kbq-alert-colored(map.get($colored, warning));
62
74
  }
63
75
 
64
76
  &.kbq-alert_success {
65
- @include kbq-alert($alert, colored, success);
77
+ @include kbq-alert-colored(map.get($colored, success));
66
78
  }
67
79
 
68
80
  &.kbq-alert_theme {
69
- @include kbq-alert($alert, colored, theme);
81
+ @include kbq-alert-colored(map.get($colored, theme));
70
82
  }
71
83
  }
72
84
  }
@@ -1,7 +1,7 @@
1
1
  @use 'sass:meta';
2
2
  @use 'sass:map';
3
3
 
4
- @use '../core/styles/common/tokens' as *;
4
+ @use '../core/styles/tokens';
5
5
 
6
6
 
7
7
  $tokens: meta.module-variables(tokens) !default;
@@ -12,7 +12,7 @@ $tokens: meta.module-variables(tokens) !default;
12
12
  box-sizing: border-box;
13
13
 
14
14
  & .kbq-alert__content_title {
15
- margin-bottom: cssVar(size-xxs);
15
+ margin-bottom: map.get($tokens, size-xxs);
16
16
  }
17
17
  }
18
18
 
@@ -25,90 +25,189 @@ $tokens: meta.module-variables(tokens) !default;
25
25
  }
26
26
 
27
27
  .kbq-alert.kbq-alert_normal {
28
- border-radius: cssVar(alert-size-normal-container-border-radius);
28
+ border-radius: var(
29
+ --kbq-alert-size-normal-container-border-radius,
30
+ map.get($tokens, alert-size-normal-container-border-radius)
31
+ );
29
32
 
30
33
  padding:
31
- cssVar(alert-size-normal-container-padding-top)
32
- cssVar(alert-size-normal-container-padding-right)
33
- cssVar(alert-size-normal-container-padding-bottom)
34
- cssVar(alert-size-normal-container-padding-left);
34
+ var(
35
+ --kbq-alert-size-normal-container-padding-top,
36
+ map.get($tokens, alert-size-normal-container-padding-top)
37
+ )
38
+ var(
39
+ --kbq-alert-size-normal-container-padding-right,
40
+ map.get($tokens, alert-size-normal-container-padding-right)
41
+ )
42
+ var(
43
+ --kbq-alert-size-normal-container-padding-bottom,
44
+ map.get($tokens, alert-size-normal-container-padding-bottom)
45
+ )
46
+ var(
47
+ --kbq-alert-size-normal-container-padding-left,
48
+ map.get($tokens, alert-size-normal-container-padding-left)
49
+ );
35
50
 
36
51
  & .kbq-alert__icon {
37
52
  margin:
38
- cssVar(alert-size-normal-icon-margin-top)
39
- cssVar(alert-size-normal-icon-margin-right)
40
- cssVar(alert-size-normal-icon-margin-bottom)
41
- cssVar(alert-size-normal-icon-margin-left);
53
+ var(--kbq-alert-size-normal-icon-margin-top, map.get($tokens, alert-size-normal-icon-margin-top))
54
+ var(--kbq-alert-size-normal-icon-margin-right, map.get($tokens, alert-size-normal-icon-margin-right))
55
+ var(--kbq-alert-size-normal-icon-margin-bottom, map.get($tokens, alert-size-normal-icon-margin-bottom))
56
+ var(--kbq-alert-size-normal-icon-margin-left, map.get($tokens, alert-size-normal-icon-margin-left));
42
57
 
43
58
  &.kbq-alert__icon_title .kbq-icon {
44
- margin-top: cssVar(alert-size-normal-icon-margin-addon-title);
59
+ margin-top: var(
60
+ --kbq-alert-size-normal-icon-margin-addon-title,
61
+ map.get($tokens, alert-size-normal-icon-margin-addon-title)
62
+ );
45
63
  }
64
+
65
+ display: inline-flex;
66
+ align-items: flex-start;
46
67
  }
47
68
 
48
69
  & .kbq-alert__content {
49
70
  padding:
50
- cssVar(alert-size-normal-content-padding-top)
51
- cssVar(alert-size-normal-content-padding-right)
52
- cssVar(alert-size-normal-content-padding-bottom)
53
- cssVar(alert-size-normal-content-padding-left);
71
+ var(
72
+ --kbq-alert-size-normal-content-padding-top,
73
+ map.get($tokens, alert-size-normal-content-padding-top)
74
+ )
75
+ var(
76
+ --kbq-alert-size-normal-content-padding-right,
77
+ map.get($tokens, alert-size-normal-content-padding-right)
78
+ )
79
+ var(
80
+ --kbq-alert-size-normal-content-padding-bottom,
81
+ map.get($tokens, alert-size-normal-content-padding-bottom)
82
+ )
83
+ var(
84
+ --kbq-alert-size-normal-content-padding-left,
85
+ map.get($tokens, alert-size-normal-content-padding-left)
86
+ );
54
87
  }
55
88
 
56
89
  & .kbq-alert__title {
57
- margin-bottom: cssVar(alert-size-normal-title-margin-bottom);
90
+ margin-bottom: var(
91
+ --kbq-alert-size-normal-title-margin-bottom,
92
+ map.get($tokens, alert-size-normal-title-margin-bottom)
93
+ );
58
94
  }
59
95
 
60
96
  & .kbq-alert__button-stack {
61
- padding-top: cssVar(alert-size-normal-button-stack-padding-top);
62
-
63
- padding-bottom: cssVar(alert-size-normal-button-stack-padding-bottom);
97
+ padding-top: var(
98
+ --kbq-alert-size-normal-button-stack-padding-top,
99
+ map.get($tokens, alert-size-normal-button-stack-padding-top)
100
+ );
101
+
102
+ padding-bottom: var(
103
+ --kbq-alert-size-normal-button-stack-padding-bottom,
104
+ map.get($tokens, alert-size-normal-button-stack-padding-bottom)
105
+ );
64
106
  }
65
107
 
66
108
  & .kbq-alert__close-button {
67
- margin-top: cssVar(alert-size-normal-close-button-margin-top);
68
- margin-left: cssVar(alert-size-normal-close-button-margin-left);
109
+ margin-top: var(
110
+ --kbq-alert-size-normal-close-button-margin-top,
111
+ map.get($tokens, alert-size-normal-close-button-margin-top)
112
+ );
113
+ margin-left: var(
114
+ --kbq-alert-size-normal-close-button-margin-left,
115
+ map.get($tokens, alert-size-normal-close-button-margin-left)
116
+ );
69
117
  }
70
118
  }
71
119
 
72
120
  .kbq-alert.kbq-alert_compact {
73
- border-radius: cssVar(alert-size-compact-container-border-radius);
121
+ border-radius: var(
122
+ --kbq-alert-size-compact-container-border-radius,
123
+ map.get($tokens, alert-size-compact-container-border-radius)
124
+ );
74
125
 
75
126
  padding:
76
- cssVar(alert-size-compact-container-padding-top)
77
- cssVar(alert-size-compact-container-padding-right)
78
- cssVar(alert-size-compact-container-padding-bottom)
79
- cssVar(alert-size-compact-container-padding-left);
127
+ var(
128
+ --kbq-alert-size-compact-container-padding-top,
129
+ map.get($tokens, alert-size-compact-container-padding-top)
130
+ )
131
+ var(
132
+ --kbq-alert-size-compact-container-padding-right,
133
+ map.get($tokens, alert-size-compact-container-padding-right)
134
+ )
135
+ var(
136
+ --kbq-alert-size-compact-container-padding-bottom,
137
+ map.get($tokens, alert-size-compact-container-padding-bottom)
138
+ )
139
+ var(
140
+ --kbq-alert-size-compact-container-padding-left,
141
+ map.get($tokens, alert-size-compact-container-padding-left)
142
+ );
80
143
 
81
144
  & .kbq-alert__icon {
82
- margin-top: cssVar(alert-size-compact-icon-margin-top);
145
+ margin-top: var(--kbq-alert-size-compact-icon-margin-top, map.get($tokens, alert-size-compact-icon-margin-top));
83
146
 
84
- margin-right: cssVar(alert-size-compact-icon-margin-right);
147
+ margin-right: var(
148
+ --kbq-alert-size-compact-icon-margin-right,
149
+ map.get($tokens, alert-size-compact-icon-margin-right)
150
+ );
85
151
 
86
152
  &.kbq-alert__icon_title .kbq-icon {
87
- margin-top: cssVar(alert-size-compact-icon-margin-addon-title);
153
+ margin-top: var(
154
+ --kbq-alert-size-compact-icon-margin-addon-title,
155
+ map.get($tokens, alert-size-compact-icon-margin-addon-title)
156
+ );
88
157
  }
158
+
159
+ display: inline-flex;
160
+ align-items: flex-start;
89
161
  }
90
162
 
91
163
  & .kbq-alert__content {
92
164
  padding:
93
- cssVar(alert-size-compact-content-padding-top)
94
- cssVar(alert-size-compact-content-padding-right)
95
- cssVar(alert-size-compact-content-padding-bottom)
96
- cssVar(alert-size-compact-content-padding-left);
165
+ var(
166
+ --kbq-alert-size-compact-content-padding-top,
167
+ map.get($tokens, alert-size-compact-content-padding-top)
168
+ )
169
+ var(
170
+ --kbq-alert-size-compact-content-padding-right,
171
+ map.get($tokens, alert-size-compact-content-padding-right)
172
+ )
173
+ var(
174
+ --kbq-alert-size-compact-content-padding-bottom,
175
+ map.get($tokens, alert-size-compact-content-padding-bottom)
176
+ )
177
+ var(
178
+ --kbq-alert-size-compact-content-padding-left,
179
+ map.get($tokens, alert-size-compact-content-padding-left)
180
+ );
97
181
  }
98
182
 
99
183
  & .kbq-alert__title {
100
- margin-bottom: cssVar(alert-size-compact-title-margin-bottom);
184
+ margin-bottom: var(
185
+ --kbq-alert-size-compact-title-margin-bottom,
186
+ map.get($tokens, alert-size-compact-title-margin-bottom)
187
+ );
101
188
  }
102
189
 
103
190
  & .kbq-alert__button-stack {
104
- padding-top: cssVar(alert-size-compact-button-stack-padding-top);
105
-
106
- padding-bottom: cssVar(alert-size-compact-button-stack-padding-bottom);
191
+ padding-top: var(
192
+ --kbq-alert-size-compact-button-stack-padding-top,
193
+ map.get($tokens, alert-size-compact-button-stack-padding-top)
194
+ );
195
+
196
+ padding-bottom: var(
197
+ --kbq-alert-size-compact-button-stack-padding-bottom,
198
+ map.get($tokens, alert-size-compact-button-stack-padding-bottom)
199
+ );
107
200
  }
108
201
 
109
202
  & .kbq-alert__close-button {
110
- margin-top: cssVar(alert-size-compact-close-button-margin-top);
111
-
112
- margin-left: cssVar(alert-size-compact-close-button-margin-left);
203
+ margin-top: var(
204
+ --kbq-alert-size-compact-close-button-margin-top,
205
+ map.get($tokens, alert-size-compact-close-button-margin-top)
206
+ );
207
+
208
+ margin-left: var(
209
+ --kbq-alert-size-compact-close-button-margin-left,
210
+ map.get($tokens, alert-size-compact-close-button-margin-left)
211
+ );
113
212
  }
114
213
  }
@@ -16,6 +16,7 @@
16
16
 
17
17
  ## Example
18
18
 
19
+ <!-- cspell:ignore Э́йяфьядлайё̀кюдль, Эйяфьядлайёкюдль -->
19
20
  ```html
20
21
  <ng-template #customContent>
21
22
  Э́йяфьядлайё̀кюдль — шестой по величине ледник Исландии. Расположен на юге Исландии в 125 км к востоку от Рейкьявика. Под этим ледником находится одноимённый вулкан конической формы.
@@ -53,6 +53,15 @@ $border-width: var(
53
53
  border-radius: $border-radius $border-radius 0 0;
54
54
  }
55
55
 
56
+ &:has(.kbq-code-block__show-more) {
57
+ .kbq-code-block__code {
58
+ & > code {
59
+ padding-bottom: map.get($tokens, size-3xl) !important;
60
+ overflow-x: scroll;
61
+ }
62
+ }
63
+ }
64
+
56
65
  .kbq-code-block__code {
57
66
  > code {
58
67
  padding:
@@ -8,9 +8,7 @@
8
8
  $foreground: map.get($theme, foreground);
9
9
  $background: map.get($theme, background);
10
10
 
11
- $secondary: map.get($theme, secondary);
12
-
13
- $is-dark: map.get($theme, is-dark);
11
+ $states: map.get($theme, states);
14
12
 
15
13
  .kbq-option-action {
16
14
  &.cdk-keyboard-focused {
@@ -20,22 +18,22 @@
20
18
  &:active,
21
19
  &.kbq-pressed {
22
20
  & .kbq-icon {
23
- color: kbq-color($secondary, if($is-dark, 70, 30));
21
+ color: map.get(map.get($states, icon), contrast-fade);
24
22
  }
25
23
 
26
- background-color: kbq-color($secondary, A16);
24
+ background-color: map.get($background, transparent);
27
25
  }
28
26
 
29
27
  &:hover .kbq-icon {
30
- color: kbq-color($secondary, if($is-dark, 70, 30));
28
+ color: map.get(map.get($states, icon), contrast-fade-hover);
31
29
  }
32
30
 
33
31
  &.kbq-disabled {
34
32
  & .kbq-icon {
35
- color: kbq-color($secondary, if($is-dark, 30, 70));
33
+ color: map.get(map.get($states, icon), disabled);
36
34
  }
37
35
 
38
- background-color: transparent;
36
+ background-color: map.get($background, transparent);
39
37
  }
40
38
  }
41
39
  }
@@ -855,6 +855,9 @@
855
855
  error: (
856
856
  color: map-get($tokens, 'icon-#{$scheme}-error-color')
857
857
  ),
858
+ warning: (
859
+ color: map-get($tokens, 'icon-#{$scheme}-warning-color')
860
+ ),
858
861
  success: (
859
862
  color: map-get($tokens, 'icon-#{$scheme}-success-color')
860
863
  )
@@ -877,6 +880,10 @@
877
880
  color: map-get($tokens, 'icon-item-#{$scheme}-error-color'),
878
881
  background: map-get($tokens, 'icon-item-#{$scheme}-error-background')
879
882
  ),
883
+ warning: (
884
+ color: map-get($tokens, 'icon-item-#{$scheme}-warning-color'),
885
+ background: map-get($tokens, 'icon-item-#{$scheme}-warning-background')
886
+ ),
880
887
  success: (
881
888
  color: map-get($tokens, 'icon-item-#{$scheme}-success-color'),
882
889
  background: map-get($tokens, 'icon-item-#{$scheme}-success-background')
@@ -94,8 +94,6 @@
94
94
  error-less: map.get($tokens, '#{$scheme}-background-error-less'),
95
95
  success: map.get($tokens, '#{$scheme}-background-success'),
96
96
  success-fade: map.get($tokens, '#{$scheme}-background-success-fade'),
97
- // surfacce — удалить после удаления из компонентов
98
- surface: map.get($tokens, '#{$scheme}-background-surface'),
99
97
  theme: map.get($tokens, '#{$scheme}-background-theme'),
100
98
  theme-fade: map.get($tokens, '#{$scheme}-background-theme-fade'),
101
99
  warning: map.get($tokens, '#{$scheme}-background-warning'),
@@ -122,6 +120,7 @@
122
120
  theme: map.get($tokens, '#{$scheme}-icon-theme'),
123
121
  contrast: map.get($tokens, '#{$scheme}-icon-contrast'),
124
122
  contrast-fade: map.get($tokens, '#{$scheme}-icon-contrast-fade'),
123
+ contrast-fade-hover: map.get($tokens, '#{$scheme}-icon-contrast-fade-hover'),
125
124
  success: map.get($tokens, '#{$scheme}-icon-success'),
126
125
  warning: map.get($tokens, '#{$scheme}-icon-warning'),
127
126
  error: map.get($tokens, '#{$scheme}-icon-error'),
@@ -271,7 +270,6 @@
271
270
  purple: _theme_palette($tokens, $scheme, purple),
272
271
 
273
272
  // будет удалено, после удаления из компонентов ↓
274
- secondary: _theme_palette($tokens, $scheme, secondary),
275
273
  info: _theme_palette($tokens, $scheme, info),
276
274
  // будет удалено, после удаления из компонентов ↑
277
275
 
@@ -304,7 +302,6 @@
304
302
  purple: _theme_palette($tokens, $scheme, purple),
305
303
 
306
304
  // будет удалено, после удаления из компонентов ↓
307
- secondary: _theme_palette($tokens, $scheme, secondary),
308
305
  info: _theme_palette($tokens, $scheme, info),
309
306
  // будет удалено, после удаления из компонентов ↑
310
307
 
@@ -50,6 +50,12 @@
50
50
  }
51
51
  }
52
52
 
53
+ .kbq-dropdown__group-header {
54
+ &.kbq-dropdown__group-header_small {
55
+ color: map.get(map.get($theme, foreground), contrast-secondary);
56
+ }
57
+ }
58
+
53
59
  .kbq-dropdown-item-overlay {
54
60
  background: transparent;
55
61
  }
@@ -61,10 +67,10 @@
61
67
  .kbq-dropdown-item,
62
68
  .kbq-dropdown__content {
63
69
  @include kbq-typography-level-to-styles($config, map.get($tokens, list-font-text));
64
- }
65
70
 
66
- .kbq-dropdown-item__caption {
67
- @include kbq-typography-level-to-styles($config, map.get($tokens, list-font-caption));
71
+ .kbq-dropdown-item__caption {
72
+ @include kbq-typography-level-to-styles($config, map.get($tokens, list-font-caption));
73
+ }
68
74
  }
69
75
 
70
76
  .kbq-dropdown__group-header {
@@ -76,7 +76,7 @@ export class KbqAlert {
76
76
  }
77
77
  }
78
78
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqAlert, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
79
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqAlert, selector: "kbq-alert", inputs: { compact: "compact", alertStyle: "alertStyle", alertColor: "alertColor" }, host: { properties: { "class": "alertColor", "class.kbq-alert_normal": "!compact", "class.kbq-alert_compact": "compact", "class.kbq-alert_default": "!isColored", "class.kbq-alert_colored": "isColored", "class.kbq-alert_dismissible": "closeButton" }, classAttribute: "kbq-alert" }, queries: [{ propertyName: "iconItem", first: true, predicate: KbqIconItem, descendants: true }, { propertyName: "icon", first: true, predicate: KbqIcon, descendants: true }, { propertyName: "title", first: true, predicate: KbqAlertTitle, descendants: true }, { propertyName: "control", first: true, predicate: KbqAlertControl, descendants: true }, { propertyName: "closeButton", first: true, predicate: KbqAlertCloseButton, descendants: true }], ngImport: i0, template: "<div class=\"kbq-alert__icon\" [class.kbq-alert__icon_title]=\"title\" *ngIf=\"iconItem || icon\">\n <ng-content select=\"[kbq-icon-item],[kbq-icon]\"></ng-content>\n</div>\n\n<div class=\"kbq-alert__content\" [class.kbq-alert__content_title]=\"title\">\n <ng-content select=\"[kbq-alert-title]\"></ng-content>\n\n <div class=\"kbq-alert__text\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"kbq-alert__button-stack\" *ngIf=\"control\">\n <ng-content select=\"[kbq-alert-control]\"></ng-content>\n </div>\n</div>\n\n<div class=\"kbq-alert__close-button\" [hidden]=\"!closeButton\">\n <ng-content select=\"[kbq-alert-close-button]\"></ng-content>\n</div>\n", styles: [".kbq-alert{display:flex;box-sizing:border-box}.kbq-alert .kbq-alert__content_title{margin-bottom:var(--kbq-size-xxs, 4px)}.kbq-alert__content{display:flex;flex-direction:column;flex:1;justify-content:center}.kbq-alert.kbq-alert_normal{border-radius:var(--kbq-alert-size-normal-container-border-radius, 12px);padding:var(--kbq-alert-size-normal-container-padding-top, 0) var(--kbq-alert-size-normal-container-padding-right, 8px) var(--kbq-alert-size-normal-container-padding-bottom, 0) var(--kbq-alert-size-normal-container-padding-left, 8px)}.kbq-alert.kbq-alert_normal .kbq-alert__icon{margin:var(--kbq-alert-size-normal-icon-margin-top, 16px) var(--kbq-alert-size-normal-icon-margin-right, 0) var(--kbq-alert-size-normal-icon-margin-bottom, 16px) var(--kbq-alert-size-normal-icon-margin-left, 12px)}.kbq-alert.kbq-alert_normal .kbq-alert__icon.kbq-alert__icon_title .kbq-icon{margin-top:var(--kbq-alert-size-normal-icon-margin-addon-title, 2px)}.kbq-alert.kbq-alert_normal .kbq-alert__content{padding:var(--kbq-alert-size-normal-content-padding-top, 16px) var(--kbq-alert-size-normal-content-padding-right, 8px) var(--kbq-alert-size-normal-content-padding-bottom, 16px) var(--kbq-alert-size-normal-content-padding-left, 12px)}.kbq-alert.kbq-alert_normal .kbq-alert__title{margin-bottom:var(--kbq-alert-size-normal-title-margin-bottom, 4px)}.kbq-alert.kbq-alert_normal .kbq-alert__button-stack{padding-top:var(--kbq-alert-size-normal-button-stack-padding-top, 6px);padding-bottom:var(--kbq-alert-size-normal-button-stack-padding-bottom, 2px)}.kbq-alert.kbq-alert_normal .kbq-alert__close-button{margin-top:var(--kbq-alert-size-normal-close-button-margin-top, 8px);margin-left:var(--kbq-alert-size-normal-close-button-margin-left, 2px)}.kbq-alert.kbq-alert_compact{border-radius:var(--kbq-alert-size-compact-container-border-radius, 12px);padding:var(--kbq-alert-size-compact-container-padding-top, 0) var(--kbq-alert-size-compact-container-padding-right, 8px) var(--kbq-alert-size-compact-container-padding-bottom, 0) var(--kbq-alert-size-compact-container-padding-left, 16px)}.kbq-alert.kbq-alert_compact .kbq-alert__icon{margin-top:var(--kbq-alert-size-compact-icon-margin-top, 12px);margin-right:var(--kbq-alert-size-compact-icon-margin-right, 8px)}.kbq-alert.kbq-alert_compact .kbq-alert__icon.kbq-alert__icon_title .kbq-icon{margin-top:var(--kbq-alert-size-compact-icon-margin-addon-title, 2px)}.kbq-alert.kbq-alert_compact .kbq-alert__content{padding:var(--kbq-alert-size-compact-content-padding-top, 12px) var(--kbq-alert-size-compact-content-padding-right, 0) var(--kbq-alert-size-compact-content-padding-bottom, 12px) var(--kbq-alert-size-compact-content-padding-left, 0)}.kbq-alert.kbq-alert_compact .kbq-alert__title{margin-bottom:var(--kbq-alert-size-compact-title-margin-bottom, 2px)}.kbq-alert.kbq-alert_compact .kbq-alert__button-stack{padding-top:var(--kbq-alert-size-compact-button-stack-padding-top, 8px);padding-bottom:var(--kbq-alert-size-compact-button-stack-padding-bottom, 2px)}.kbq-alert.kbq-alert_compact .kbq-alert__close-button{margin-top:var(--kbq-alert-size-compact-close-button-margin-top, 8px);margin-left:var(--kbq-alert-size-compact-close-button-margin-left, 2px)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
79
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqAlert, selector: "kbq-alert", inputs: { compact: "compact", alertStyle: "alertStyle", alertColor: "alertColor" }, host: { properties: { "class": "alertColor", "class.kbq-alert_normal": "!compact", "class.kbq-alert_compact": "compact", "class.kbq-alert_default": "!isColored", "class.kbq-alert_colored": "isColored", "class.kbq-alert_dismissible": "closeButton" }, classAttribute: "kbq-alert" }, queries: [{ propertyName: "iconItem", first: true, predicate: KbqIconItem, descendants: true }, { propertyName: "icon", first: true, predicate: KbqIcon, descendants: true }, { propertyName: "title", first: true, predicate: KbqAlertTitle, descendants: true }, { propertyName: "control", first: true, predicate: KbqAlertControl, descendants: true }, { propertyName: "closeButton", first: true, predicate: KbqAlertCloseButton, descendants: true }], ngImport: i0, template: "<div class=\"kbq-alert__icon\" [class.kbq-alert__icon_title]=\"title\" *ngIf=\"iconItem || icon\">\n <ng-content select=\"[kbq-icon-item],[kbq-icon]\"></ng-content>\n</div>\n\n<div class=\"kbq-alert__content\" [class.kbq-alert__content_title]=\"title\">\n <ng-content select=\"[kbq-alert-title]\"></ng-content>\n\n <div class=\"kbq-alert__text\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"kbq-alert__button-stack\" *ngIf=\"control\">\n <ng-content select=\"[kbq-alert-control]\"></ng-content>\n </div>\n</div>\n\n<div class=\"kbq-alert__close-button\" [hidden]=\"!closeButton\">\n <ng-content select=\"[kbq-alert-close-button]\"></ng-content>\n</div>\n", styles: [".kbq-alert{display:flex;box-sizing:border-box}.kbq-alert .kbq-alert__content_title{margin-bottom:4px}.kbq-alert__content{display:flex;flex-direction:column;flex:1;justify-content:center}.kbq-alert.kbq-alert_normal{border-radius:var(--kbq-alert-size-normal-container-border-radius, 12px);padding:var(--kbq-alert-size-normal-container-padding-top, 0) var(--kbq-alert-size-normal-container-padding-right, 8px) var(--kbq-alert-size-normal-container-padding-bottom, 0) var(--kbq-alert-size-normal-container-padding-left, 8px)}.kbq-alert.kbq-alert_normal .kbq-alert__icon{margin:var(--kbq-alert-size-normal-icon-margin-top, 16px) var(--kbq-alert-size-normal-icon-margin-right, 0) var(--kbq-alert-size-normal-icon-margin-bottom, 16px) var(--kbq-alert-size-normal-icon-margin-left, 12px);display:inline-flex;align-items:flex-start}.kbq-alert.kbq-alert_normal .kbq-alert__icon.kbq-alert__icon_title .kbq-icon{margin-top:var(--kbq-alert-size-normal-icon-margin-addon-title, 2px)}.kbq-alert.kbq-alert_normal .kbq-alert__content{padding:var(--kbq-alert-size-normal-content-padding-top, 16px) var(--kbq-alert-size-normal-content-padding-right, 8px) var(--kbq-alert-size-normal-content-padding-bottom, 16px) var(--kbq-alert-size-normal-content-padding-left, 12px)}.kbq-alert.kbq-alert_normal .kbq-alert__title{margin-bottom:var(--kbq-alert-size-normal-title-margin-bottom, 4px)}.kbq-alert.kbq-alert_normal .kbq-alert__button-stack{padding-top:var(--kbq-alert-size-normal-button-stack-padding-top, 6px);padding-bottom:var(--kbq-alert-size-normal-button-stack-padding-bottom, 2px)}.kbq-alert.kbq-alert_normal .kbq-alert__close-button{margin-top:var(--kbq-alert-size-normal-close-button-margin-top, 8px);margin-left:var(--kbq-alert-size-normal-close-button-margin-left, 2px)}.kbq-alert.kbq-alert_compact{border-radius:var(--kbq-alert-size-compact-container-border-radius, 12px);padding:var(--kbq-alert-size-compact-container-padding-top, 0) var(--kbq-alert-size-compact-container-padding-right, 8px) var(--kbq-alert-size-compact-container-padding-bottom, 0) var(--kbq-alert-size-compact-container-padding-left, 16px)}.kbq-alert.kbq-alert_compact .kbq-alert__icon{margin-top:var(--kbq-alert-size-compact-icon-margin-top, 12px);margin-right:var(--kbq-alert-size-compact-icon-margin-right, 8px);display:inline-flex;align-items:flex-start}.kbq-alert.kbq-alert_compact .kbq-alert__icon.kbq-alert__icon_title .kbq-icon{margin-top:var(--kbq-alert-size-compact-icon-margin-addon-title, 2px)}.kbq-alert.kbq-alert_compact .kbq-alert__content{padding:var(--kbq-alert-size-compact-content-padding-top, 12px) var(--kbq-alert-size-compact-content-padding-right, 8px) var(--kbq-alert-size-compact-content-padding-bottom, 12px) var(--kbq-alert-size-compact-content-padding-left, 0)}.kbq-alert.kbq-alert_compact .kbq-alert__title{margin-bottom:var(--kbq-alert-size-compact-title-margin-bottom, 2px)}.kbq-alert.kbq-alert_compact .kbq-alert__button-stack{padding-top:var(--kbq-alert-size-compact-button-stack-padding-top, 8px);padding-bottom:var(--kbq-alert-size-compact-button-stack-padding-bottom, 2px)}.kbq-alert.kbq-alert_compact .kbq-alert__close-button{margin-top:var(--kbq-alert-size-compact-close-button-margin-top, 8px);margin-left:var(--kbq-alert-size-compact-close-button-margin-left, 2px)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
80
80
  }
81
81
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqAlert, decorators: [{
82
82
  type: Component,
@@ -88,7 +88,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImpor
88
88
  '[class.kbq-alert_default]': '!isColored',
89
89
  '[class.kbq-alert_colored]': 'isColored',
90
90
  '[class.kbq-alert_dismissible]': 'closeButton'
91
- }, template: "<div class=\"kbq-alert__icon\" [class.kbq-alert__icon_title]=\"title\" *ngIf=\"iconItem || icon\">\n <ng-content select=\"[kbq-icon-item],[kbq-icon]\"></ng-content>\n</div>\n\n<div class=\"kbq-alert__content\" [class.kbq-alert__content_title]=\"title\">\n <ng-content select=\"[kbq-alert-title]\"></ng-content>\n\n <div class=\"kbq-alert__text\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"kbq-alert__button-stack\" *ngIf=\"control\">\n <ng-content select=\"[kbq-alert-control]\"></ng-content>\n </div>\n</div>\n\n<div class=\"kbq-alert__close-button\" [hidden]=\"!closeButton\">\n <ng-content select=\"[kbq-alert-close-button]\"></ng-content>\n</div>\n", styles: [".kbq-alert{display:flex;box-sizing:border-box}.kbq-alert .kbq-alert__content_title{margin-bottom:var(--kbq-size-xxs, 4px)}.kbq-alert__content{display:flex;flex-direction:column;flex:1;justify-content:center}.kbq-alert.kbq-alert_normal{border-radius:var(--kbq-alert-size-normal-container-border-radius, 12px);padding:var(--kbq-alert-size-normal-container-padding-top, 0) var(--kbq-alert-size-normal-container-padding-right, 8px) var(--kbq-alert-size-normal-container-padding-bottom, 0) var(--kbq-alert-size-normal-container-padding-left, 8px)}.kbq-alert.kbq-alert_normal .kbq-alert__icon{margin:var(--kbq-alert-size-normal-icon-margin-top, 16px) var(--kbq-alert-size-normal-icon-margin-right, 0) var(--kbq-alert-size-normal-icon-margin-bottom, 16px) var(--kbq-alert-size-normal-icon-margin-left, 12px)}.kbq-alert.kbq-alert_normal .kbq-alert__icon.kbq-alert__icon_title .kbq-icon{margin-top:var(--kbq-alert-size-normal-icon-margin-addon-title, 2px)}.kbq-alert.kbq-alert_normal .kbq-alert__content{padding:var(--kbq-alert-size-normal-content-padding-top, 16px) var(--kbq-alert-size-normal-content-padding-right, 8px) var(--kbq-alert-size-normal-content-padding-bottom, 16px) var(--kbq-alert-size-normal-content-padding-left, 12px)}.kbq-alert.kbq-alert_normal .kbq-alert__title{margin-bottom:var(--kbq-alert-size-normal-title-margin-bottom, 4px)}.kbq-alert.kbq-alert_normal .kbq-alert__button-stack{padding-top:var(--kbq-alert-size-normal-button-stack-padding-top, 6px);padding-bottom:var(--kbq-alert-size-normal-button-stack-padding-bottom, 2px)}.kbq-alert.kbq-alert_normal .kbq-alert__close-button{margin-top:var(--kbq-alert-size-normal-close-button-margin-top, 8px);margin-left:var(--kbq-alert-size-normal-close-button-margin-left, 2px)}.kbq-alert.kbq-alert_compact{border-radius:var(--kbq-alert-size-compact-container-border-radius, 12px);padding:var(--kbq-alert-size-compact-container-padding-top, 0) var(--kbq-alert-size-compact-container-padding-right, 8px) var(--kbq-alert-size-compact-container-padding-bottom, 0) var(--kbq-alert-size-compact-container-padding-left, 16px)}.kbq-alert.kbq-alert_compact .kbq-alert__icon{margin-top:var(--kbq-alert-size-compact-icon-margin-top, 12px);margin-right:var(--kbq-alert-size-compact-icon-margin-right, 8px)}.kbq-alert.kbq-alert_compact .kbq-alert__icon.kbq-alert__icon_title .kbq-icon{margin-top:var(--kbq-alert-size-compact-icon-margin-addon-title, 2px)}.kbq-alert.kbq-alert_compact .kbq-alert__content{padding:var(--kbq-alert-size-compact-content-padding-top, 12px) var(--kbq-alert-size-compact-content-padding-right, 0) var(--kbq-alert-size-compact-content-padding-bottom, 12px) var(--kbq-alert-size-compact-content-padding-left, 0)}.kbq-alert.kbq-alert_compact .kbq-alert__title{margin-bottom:var(--kbq-alert-size-compact-title-margin-bottom, 2px)}.kbq-alert.kbq-alert_compact .kbq-alert__button-stack{padding-top:var(--kbq-alert-size-compact-button-stack-padding-top, 8px);padding-bottom:var(--kbq-alert-size-compact-button-stack-padding-bottom, 2px)}.kbq-alert.kbq-alert_compact .kbq-alert__close-button{margin-top:var(--kbq-alert-size-compact-close-button-margin-top, 8px);margin-left:var(--kbq-alert-size-compact-close-button-margin-left, 2px)}\n"] }]
91
+ }, template: "<div class=\"kbq-alert__icon\" [class.kbq-alert__icon_title]=\"title\" *ngIf=\"iconItem || icon\">\n <ng-content select=\"[kbq-icon-item],[kbq-icon]\"></ng-content>\n</div>\n\n<div class=\"kbq-alert__content\" [class.kbq-alert__content_title]=\"title\">\n <ng-content select=\"[kbq-alert-title]\"></ng-content>\n\n <div class=\"kbq-alert__text\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"kbq-alert__button-stack\" *ngIf=\"control\">\n <ng-content select=\"[kbq-alert-control]\"></ng-content>\n </div>\n</div>\n\n<div class=\"kbq-alert__close-button\" [hidden]=\"!closeButton\">\n <ng-content select=\"[kbq-alert-close-button]\"></ng-content>\n</div>\n", styles: [".kbq-alert{display:flex;box-sizing:border-box}.kbq-alert .kbq-alert__content_title{margin-bottom:4px}.kbq-alert__content{display:flex;flex-direction:column;flex:1;justify-content:center}.kbq-alert.kbq-alert_normal{border-radius:var(--kbq-alert-size-normal-container-border-radius, 12px);padding:var(--kbq-alert-size-normal-container-padding-top, 0) var(--kbq-alert-size-normal-container-padding-right, 8px) var(--kbq-alert-size-normal-container-padding-bottom, 0) var(--kbq-alert-size-normal-container-padding-left, 8px)}.kbq-alert.kbq-alert_normal .kbq-alert__icon{margin:var(--kbq-alert-size-normal-icon-margin-top, 16px) var(--kbq-alert-size-normal-icon-margin-right, 0) var(--kbq-alert-size-normal-icon-margin-bottom, 16px) var(--kbq-alert-size-normal-icon-margin-left, 12px);display:inline-flex;align-items:flex-start}.kbq-alert.kbq-alert_normal .kbq-alert__icon.kbq-alert__icon_title .kbq-icon{margin-top:var(--kbq-alert-size-normal-icon-margin-addon-title, 2px)}.kbq-alert.kbq-alert_normal .kbq-alert__content{padding:var(--kbq-alert-size-normal-content-padding-top, 16px) var(--kbq-alert-size-normal-content-padding-right, 8px) var(--kbq-alert-size-normal-content-padding-bottom, 16px) var(--kbq-alert-size-normal-content-padding-left, 12px)}.kbq-alert.kbq-alert_normal .kbq-alert__title{margin-bottom:var(--kbq-alert-size-normal-title-margin-bottom, 4px)}.kbq-alert.kbq-alert_normal .kbq-alert__button-stack{padding-top:var(--kbq-alert-size-normal-button-stack-padding-top, 6px);padding-bottom:var(--kbq-alert-size-normal-button-stack-padding-bottom, 2px)}.kbq-alert.kbq-alert_normal .kbq-alert__close-button{margin-top:var(--kbq-alert-size-normal-close-button-margin-top, 8px);margin-left:var(--kbq-alert-size-normal-close-button-margin-left, 2px)}.kbq-alert.kbq-alert_compact{border-radius:var(--kbq-alert-size-compact-container-border-radius, 12px);padding:var(--kbq-alert-size-compact-container-padding-top, 0) var(--kbq-alert-size-compact-container-padding-right, 8px) var(--kbq-alert-size-compact-container-padding-bottom, 0) var(--kbq-alert-size-compact-container-padding-left, 16px)}.kbq-alert.kbq-alert_compact .kbq-alert__icon{margin-top:var(--kbq-alert-size-compact-icon-margin-top, 12px);margin-right:var(--kbq-alert-size-compact-icon-margin-right, 8px);display:inline-flex;align-items:flex-start}.kbq-alert.kbq-alert_compact .kbq-alert__icon.kbq-alert__icon_title .kbq-icon{margin-top:var(--kbq-alert-size-compact-icon-margin-addon-title, 2px)}.kbq-alert.kbq-alert_compact .kbq-alert__content{padding:var(--kbq-alert-size-compact-content-padding-top, 12px) var(--kbq-alert-size-compact-content-padding-right, 8px) var(--kbq-alert-size-compact-content-padding-bottom, 12px) var(--kbq-alert-size-compact-content-padding-left, 0)}.kbq-alert.kbq-alert_compact .kbq-alert__title{margin-bottom:var(--kbq-alert-size-compact-title-margin-bottom, 2px)}.kbq-alert.kbq-alert_compact .kbq-alert__button-stack{padding-top:var(--kbq-alert-size-compact-button-stack-padding-top, 8px);padding-bottom:var(--kbq-alert-size-compact-button-stack-padding-bottom, 2px)}.kbq-alert.kbq-alert_compact .kbq-alert__close-button{margin-top:var(--kbq-alert-size-compact-close-button-margin-top, 8px);margin-left:var(--kbq-alert-size-compact-close-button-margin-left, 2px)}\n"] }]
92
92
  }], propDecorators: { iconItem: [{
93
93
  type: ContentChild,
94
94
  args: [KbqIconItem]