@koobiq/components 16.0.0-beta.2 → 16.0.0-beta.5

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 (164) hide show
  1. package/autocomplete/autocomplete.scss +0 -3
  2. package/button/button.scss +5 -2
  3. package/core/common-behaviors/color.d.ts +1 -1
  4. package/core/forms/_forms-theme.scss +4 -4
  5. package/core/forms/_forms.scss +1 -3
  6. package/core/option/_option-theme.scss +39 -16
  7. package/core/option/action.scss +3 -4
  8. package/core/option/option.scss +6 -51
  9. package/core/styles/_koobiq-theme.scss +3 -0
  10. package/core/styles/common/_list.scss +123 -0
  11. package/core/styles/common/_select.scss +218 -0
  12. package/core/styles/theming/_components-theming.scss +414 -47
  13. package/dropdown/_dropdown-theme.scss +30 -37
  14. package/dropdown/dropdown-item.component.d.ts +1 -1
  15. package/dropdown/dropdown-item.scss +18 -40
  16. package/dropdown/dropdown.scss +16 -39
  17. package/esm2022/alert/alert.component.mjs +1 -1
  18. package/esm2022/autocomplete/autocomplete.component.mjs +2 -2
  19. package/esm2022/badge/badge.component.mjs +1 -1
  20. package/esm2022/button/button.component.mjs +2 -2
  21. package/esm2022/code-block/code-block.component.mjs +3 -3
  22. package/esm2022/core/common-behaviors/color.mjs +1 -1
  23. package/esm2022/core/option/action.mjs +5 -5
  24. package/esm2022/core/option/option.mjs +3 -3
  25. package/esm2022/core/overlay/overlay-position-map.mjs +2 -1
  26. package/esm2022/core/version.mjs +2 -2
  27. package/esm2022/dropdown/dropdown-item.component.mjs +3 -3
  28. package/esm2022/dropdown/dropdown.component.mjs +3 -3
  29. package/esm2022/file-upload/multiple-file-upload.component.mjs +2 -2
  30. package/esm2022/file-upload/single-file-upload.component.mjs +2 -2
  31. package/esm2022/form-field/form-field.mjs +4 -4
  32. package/esm2022/form-field/password-toggle.mjs +2 -2
  33. package/esm2022/icon/icon.component.mjs +3 -3
  34. package/esm2022/list/list-selection.component.mjs +20 -7
  35. package/esm2022/list/list.component.mjs +2 -2
  36. package/esm2022/list/list.module.mjs +8 -4
  37. package/esm2022/loader-overlay/loader-overlay.component.mjs +20 -19
  38. package/esm2022/modal/modal.component.mjs +6 -20
  39. package/esm2022/progress-spinner/progress-spinner.component.mjs +1 -1
  40. package/esm2022/risk-level/index.mjs +2 -0
  41. package/esm2022/risk-level/koobiq-components-risk-level.mjs +5 -0
  42. package/esm2022/risk-level/public-api.mjs +3 -0
  43. package/esm2022/risk-level/risk-level.component.mjs +40 -0
  44. package/esm2022/risk-level/risk-level.module.mjs +28 -0
  45. package/esm2022/select/select.component.mjs +4 -4
  46. package/esm2022/sidepanel/sidepanel-container.component.mjs +3 -3
  47. package/esm2022/sidepanel/sidepanel-directives.mjs +7 -9
  48. package/esm2022/tabs/tab-group.component.mjs +16 -21
  49. package/esm2022/tabs/tab-header.component.mjs +2 -2
  50. package/esm2022/tabs/tab-label-wrapper.directive.mjs +3 -3
  51. package/esm2022/tabs/tab-label.directive.mjs +3 -3
  52. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +17 -7
  53. package/esm2022/tabs/tabs.module.mjs +2 -6
  54. package/esm2022/tags/tag-list.component.mjs +2 -2
  55. package/esm2022/timezone/timezone-option.component.mjs +3 -3
  56. package/esm2022/timezone/timezone-select.component.mjs +2 -2
  57. package/esm2022/toast/toast-container.component.mjs +2 -2
  58. package/esm2022/toast/toast.component.mjs +25 -13
  59. package/esm2022/toast/toast.module.mjs +14 -5
  60. package/esm2022/toast/toast.type.mjs +6 -1
  61. package/esm2022/tree/padding.directive.mjs +4 -4
  62. package/esm2022/tree/toggle.mjs +5 -4
  63. package/esm2022/tree/tree-option.component.mjs +4 -7
  64. package/esm2022/tree/tree.module.mjs +13 -4
  65. package/esm2022/tree-select/tree-select.component.mjs +16 -10
  66. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  67. package/fesm2022/koobiq-components-autocomplete.mjs +2 -2
  68. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  69. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  70. package/fesm2022/koobiq-components-button.mjs +2 -2
  71. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  72. package/fesm2022/koobiq-components-code-block.mjs +2 -2
  73. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  74. package/fesm2022/koobiq-components-core.mjs +8 -7
  75. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  76. package/fesm2022/koobiq-components-dropdown.mjs +4 -4
  77. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  78. package/fesm2022/koobiq-components-file-upload.mjs +4 -4
  79. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  80. package/fesm2022/koobiq-components-form-field.mjs +4 -4
  81. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  82. package/fesm2022/koobiq-components-icon.mjs +2 -2
  83. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  84. package/fesm2022/koobiq-components-list.mjs +28 -11
  85. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  86. package/fesm2022/koobiq-components-loader-overlay.mjs +19 -18
  87. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  88. package/fesm2022/koobiq-components-modal.mjs +5 -19
  89. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  90. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  91. package/fesm2022/koobiq-components-risk-level.mjs +72 -0
  92. package/fesm2022/koobiq-components-risk-level.mjs.map +1 -0
  93. package/fesm2022/koobiq-components-select.mjs +3 -3
  94. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  95. package/fesm2022/koobiq-components-sidepanel.mjs +9 -10
  96. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  97. package/fesm2022/koobiq-components-tabs.mjs +38 -37
  98. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  99. package/fesm2022/koobiq-components-tags.mjs +2 -2
  100. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  101. package/fesm2022/koobiq-components-timezone.mjs +4 -4
  102. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  103. package/fesm2022/koobiq-components-toast.mjs +41 -15
  104. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  105. package/fesm2022/koobiq-components-tree-select.mjs +15 -9
  106. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  107. package/fesm2022/koobiq-components-tree.mjs +27 -20
  108. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  109. package/form-field/_form-field-theme.scss +2 -2
  110. package/input/input.scss +3 -1
  111. package/link/_link-theme.scss +1 -3
  112. package/list/_list-theme.scss +35 -15
  113. package/list/list-selection.component.d.ts +5 -1
  114. package/list/list.module.d.ts +1 -1
  115. package/list/list.scss +3 -12
  116. package/loader-overlay/_loader-overlay-theme.scss +43 -11
  117. package/loader-overlay/loader-overlay.component.d.ts +6 -5
  118. package/loader-overlay/loader-overlay.scss +53 -22
  119. package/modal/_modal-confirm.scss +20 -28
  120. package/modal/_modal-theme.scss +5 -35
  121. package/modal/modal.component.d.ts +3 -6
  122. package/modal/modal.scss +32 -36
  123. package/package.json +9 -3
  124. package/prebuilt-themes/dark-theme.css +1 -1
  125. package/prebuilt-themes/light-theme.css +1 -1
  126. package/progress-spinner/progress-spinner.component.d.ts +2 -2
  127. package/risk-level/README.md +0 -0
  128. package/risk-level/_risk-level-theme.scss +88 -0
  129. package/risk-level/index.d.ts +1 -0
  130. package/risk-level/public-api.d.ts +2 -0
  131. package/risk-level/risk-level.component.d.ts +18 -0
  132. package/risk-level/risk-level.component.scss +26 -0
  133. package/risk-level/risk-level.module.d.ts +10 -0
  134. package/select/_select-theme.scss +8 -0
  135. package/select/select.scss +5 -189
  136. package/sidepanel/_sidepanel-theme.scss +6 -41
  137. package/sidepanel/sidepanel-directives.d.ts +0 -2
  138. package/sidepanel/sidepanel.scss +33 -35
  139. package/tabs/_tabs-common.scss +27 -146
  140. package/tabs/_tabs-theme.scss +81 -175
  141. package/tabs/tab-group.component.d.ts +5 -8
  142. package/tabs/tab-group.scss +10 -10
  143. package/tabs/tab-header.scss +2 -24
  144. package/tabs/tab-label-wrapper.directive.d.ts +1 -1
  145. package/tabs/tab-label.directive.d.ts +1 -1
  146. package/tabs/tab-nav-bar/tab-nav-bar.d.ts +3 -1
  147. package/tabs/tab-nav-bar/tab-nav-bar.scss +9 -16
  148. package/tabs/tabs.module.d.ts +1 -1
  149. package/tags/_tag-theme.scss +0 -24
  150. package/tags/tag-list.scss +20 -16
  151. package/toast/_toast-theme.scss +21 -33
  152. package/toast/toast-container.component.scss +2 -1
  153. package/toast/toast.component.d.ts +4 -1
  154. package/toast/toast.component.scss +41 -34
  155. package/toast/toast.module.d.ts +1 -1
  156. package/toast/toast.type.d.ts +8 -5
  157. package/tree/_tree-theme.scss +46 -34
  158. package/tree/tree-option.component.d.ts +0 -1
  159. package/tree/tree-option.scss +34 -23
  160. package/tree/tree.module.d.ts +2 -1
  161. package/tree-select/_tree-select-theme.scss +9 -1
  162. package/tree-select/tree-select.component.d.ts +5 -3
  163. package/tree-select/tree-select.scss +5 -194
  164. package/list/_list-base.scss +0 -54
@@ -6,33 +6,6 @@
6
6
 
7
7
  $tokens: meta.module-variables(tokens) !default;
8
8
 
9
- %base-focus-frame {
10
- display: block;
11
- content: "";
12
-
13
- position: absolute;
14
-
15
- top: 0;
16
- right: calc(-1 * var(--kbq-tabs-size-border-width, #{map.get($tokens, tabs-size-border-width)}));
17
- bottom: calc(-1 * var(--kbq-tabs-size-border-width, #{map.get($tokens, tabs-size-border-width)}));
18
- left: calc(-1 * var(--kbq-tabs-size-border-width, #{map.get($tokens, tabs-size-border-width)}));
19
- }
20
-
21
- %horizontal-focus {
22
- &:after {
23
- border: {
24
- width: calc(var(--kbq-tabs-size-border-width, #{map.get($tokens, tabs-size-border-width)}) * 2);
25
- style: solid;
26
- top: {
27
- left-radius: var(--kbq-tabs-size-border-radius, #{map.get($tokens, tabs-size-border-radius)});
28
- right-radius: var(--kbq-tabs-size-border-radius, #{map.get($tokens, tabs-size-border-radius)});
29
- }
30
- };
31
-
32
- border-bottom-color: transparent;
33
- }
34
- }
35
-
36
9
 
37
10
  @mixin tab-label {
38
11
  position: relative;
@@ -43,101 +16,59 @@ $tokens: meta.module-variables(tokens) !default;
43
16
  justify-content: center;
44
17
  align-items: center;
45
18
 
46
- height: var(--kbq-tabs-size-height, map.get($tokens, tabs-size-height));
47
-
48
19
  text-align: center;
49
20
  white-space: nowrap;
50
21
 
51
22
  cursor: pointer;
52
23
 
53
- padding: {
54
- right: var(--kbq-tabs-size-padding-horizontal, map.get($tokens, tabs-size-padding-horizontal));
55
- left: var(--kbq-tabs-size-padding-horizontal, map.get($tokens, tabs-size-padding-horizontal));
24
+ $padding-vertical: map.get($tokens, tabs-size-tab-item-padding-vertical);
25
+ $padding-horizontal: map.get($tokens, tabs-size-tab-item-padding-horizontal);
26
+ $border-width: map.get($tokens, tabs-size-tab-item-focus-outline-width);
27
+
28
+ padding:
29
+ calc(
30
+ var(--kbq-tabs-size-tab-item-padding-vertical, $padding-vertical) -
31
+ var(--kbq-tabs-size-tab-item-focus-outline-width, $border-width)
32
+ )
33
+ calc(
34
+ var(--kbq-tabs-size-tab-item-padding-horizontal, $padding-horizontal) -
35
+ var(--kbq-tabs-size-tab-item-focus-outline-width, $border-width)
36
+ );
37
+
38
+ border: {
39
+ width: var(--kbq-tabs-size-tab-item-focus-outline-width, $border-width);
40
+ style: solid;
41
+ color: transparent;
42
+ radius: var(
43
+ --kbq-tabs-size-tab-item-border-radius, map.get($tokens, tabs-size-tab-item-border-radius)
44
+ );
56
45
  }
57
46
 
58
47
  outline: none;
59
48
 
60
- &.kbq-active {
49
+ &.kbq-selected {
61
50
  cursor: default;
62
-
63
- &:before {
64
- display: block;
65
- content: "";
66
-
67
- position: absolute;
68
- }
69
51
  }
70
52
 
71
53
  &.cdk-keyboard-focused {
72
54
  z-index: 1;
73
-
74
- &:after {
75
- @extend %base-focus-frame;
76
- }
77
- }
78
-
79
- &:first-child.cdk-keyboard-focused:after {
80
- left: 0;
81
- }
82
-
83
- &:last-child.cdk-keyboard-focused:after {
84
- right: 0;
85
55
  }
86
56
 
87
57
  &[disabled] {
88
58
  pointer-events: none;
89
59
  }
90
60
 
91
- & .kbq-tab-label__content > .kbq-icon {
92
- &.kbq-icon_left {
93
- margin-right: var(--kbq-tabs-size-label-icon-margin, map.get($tokens, tabs-size-label-icon-margin));
94
- }
95
-
96
- &.kbq-icon_right {
97
- margin-left: var(--kbq-tabs-size-label-icon-margin, map.get($tokens, tabs-size-label-icon-margin));
98
- }
99
- }
100
-
101
- &.kbq-tab-label_horizontal {
102
- border-bottom: {
103
- width: var(--kbq-tabs-size-border-width, map.get($tokens, tabs-size-border-width));
104
- style: solid;
105
- }
106
-
107
- &.kbq-active:before {
108
- bottom: calc(-1 * var(--kbq-tabs-size-border-width, #{map.get($tokens, tabs-size-border-width)}));
109
- left: 0;
110
- right: 0;
111
-
112
- height: var(--kbq-tabs-size-highlight-height, #{map.get($tokens, tabs-size-highlight-height)});
113
- }
61
+ & .kbq-tab-label__content {
62
+ display: flex;
114
63
 
115
- &.cdk-keyboard-focused:after {
116
- @extend %horizontal-focus;
117
- }
64
+ gap: var(
65
+ --kbq-tabs-size-tab-item-content-gap-horizontal, map.get($tokens, tabs-size-tab-item-content-gap-horizontal)
66
+ );
118
67
  }
119
68
 
120
69
  &.kbq-tab-label_vertical {
121
70
  justify-content: flex-start;
122
71
 
123
- &.kbq-active:before {
124
- top: 0;
125
- bottom: 0;
126
- left: calc(-1 * var(--kbq-tabs-size-border-width, #{map.get($tokens, tabs-size-border-width)}));
127
-
128
- width: var(--kbq-tabs-size-highlight-height, #{map.get($tokens, tabs-size-highlight-height) + 1px});
129
- }
130
-
131
- &.cdk-keyboard-focused:after {
132
- right: 0;
133
- left: 0;
134
-
135
- border: {
136
- width: calc(var(--kbq-tabs-size-border-width, #{map.get($tokens, tabs-size-border-width)}) * 2);
137
- style: solid;
138
- }
139
- }
140
-
141
72
  & .kbq-tab-label__content {
142
73
  overflow: hidden;
143
74
  text-overflow: ellipsis;
@@ -145,53 +76,3 @@ $tokens: meta.module-variables(tokens) !default;
145
76
  }
146
77
  }
147
78
  }
148
-
149
- @mixin tab-label-old {
150
- border-bottom: {
151
- width: var(--kbq-tabs-size-border-width, map.get($tokens, tabs-size-border-width));
152
- style: solid;
153
- }
154
-
155
- border: {
156
- width: var(--kbq-tabs-size-border-width, #{map.get($tokens, tabs-size-border-width)});
157
- style: solid;
158
-
159
- top: {
160
- left-radius: var(--kbq-tabs-size-border-radius, #{map.get($tokens, tabs-size-border-radius)});
161
- right-radius: var(--kbq-tabs-size-border-radius, #{map.get($tokens, tabs-size-border-radius)});
162
- }
163
-
164
- left: none;
165
- left-color: transparent;
166
- right: none;
167
- right-color: transparent;
168
- }
169
-
170
- &.kbq-active {
171
- border: {
172
- width: var(--kbq-tabs-size-border-width, #{map.get($tokens, tabs-size-border-width)});
173
- style: solid;
174
- }
175
-
176
- padding-right: calc(
177
- var(--kbq-tabs-size-padding-horizontal, #{map.get($tokens, tabs-size-padding-horizontal)}) -
178
- var(--kbq-tabs-size-border-width, #{map.get($tokens, tabs-size-border-width)})
179
- );
180
-
181
- padding-left: calc(
182
- var(--kbq-tabs-size-padding-horizontal, #{map.get($tokens, tabs-size-padding-horizontal)}) -
183
- var(--kbq-tabs-size-border-width, #{map.get($tokens, tabs-size-border-width)})
184
- );
185
-
186
- &.cdk-keyboard-focused:after {
187
- right: calc(-2 * var(--kbq-tabs-size-border-width, #{map.get($tokens, tabs-size-border-width)}));
188
- left: calc(-2 * var(--kbq-tabs-size-border-width, #{map.get($tokens, tabs-size-border-width)}));
189
- }
190
- }
191
-
192
- &.cdk-keyboard-focused:after {
193
- @extend %horizontal-focus;
194
-
195
- top: -1px
196
- }
197
- }
@@ -4,237 +4,143 @@
4
4
  @use '../core/styles/typography/typography-utils' as *;
5
5
 
6
6
 
7
- //noinspection ALL
8
- @mixin kbq-tabs-theme($theme) {
9
- $foreground: map.get($theme, foreground);
10
- $background: map.get($theme, background);
7
+ @mixin kbq-tab-item-state($state) {
8
+ background: map.get($state, background);
9
+ color: map.get($state, text);
11
10
 
12
- $states: map.get($theme, states);
11
+ & .kbq-icon {
12
+ color: map.get($state, icon);
13
+ }
14
+ }
13
15
 
14
- $tabs: map.get(map.get($theme, components), tabs);
15
- $vertical-tabs: map.get(map.get($theme, components), vertical-tabs);
16
+ @mixin kbq-tab-item-style($tab-item) {
17
+ @include kbq-tab-item-state(map.get($tab-item, default));
16
18
 
17
- .kbq-tab-group_vertical .kbq-tab-header__content {
18
- border-right-color: map.get($foreground, divider);
19
+ &:hover:not([disabled]) {
20
+ @include kbq-tab-item-state(map.get($tab-item, hover));
19
21
  }
20
22
 
21
- .kbq-tab-header__pagination {
22
- border-bottom-color: map.get($tabs, border);
23
+ &.kbq-selected {
24
+ @include kbq-tab-item-state(map.get($tab-item, selected));
23
25
 
24
26
  &:hover {
25
- background: map.get($background, overlay-hover);
26
-
27
- & .kbq-icon {
28
- color: map.get($foreground, text);
29
- }
30
- }
31
-
32
- &:active {
33
- background: map.get($foreground, divider);
34
- }
35
-
36
- &.kbq-tab-header__pagination_before {
37
- border-right-color: map.get($foreground, divider);
38
- }
39
-
40
- &.kbq-tab-header__pagination_after {
41
- border-left-color: map.get($foreground, divider);
42
- }
43
-
44
- &[disabled],
45
- &.kbq-disabled {
46
- pointer-events: none;
47
-
48
- & .kbq-icon {
49
- color: map.get($foreground, text-disabled);
50
- }
27
+ @include kbq-tab-item-state(map.get($tab-item, selected-hover));
51
28
  }
52
29
  }
53
30
 
54
- /* stylelint-disable no-descending-specificity */
55
- .kbq-tab-label_old {
56
- color: map.get($foreground, text);
57
-
58
- border-top-color: transparent;
59
- border-bottom-color: map.get($tabs, border);
60
-
61
- &.cdk-keyboard-focused:after {
62
- border-color: map.get(map.get($theme, states), focused-color);
63
- border-bottom-color: transparent;
64
- }
65
-
66
- &.kbq-tab-label_empty {
67
- color: map.get($tabs, state-empty-text);
68
-
69
- & .kbq-icon {
70
- color: map.get($tabs, state-empty-icon);
71
- }
72
- }
73
-
74
- &:hover {
75
- background: map.get($background, overlay-hover);
76
-
77
- color: map.get($tabs, state-hover-text);
31
+ &.cdk-keyboard-focused {
32
+ border-color: map.get(map.get($tab-item, focused), border-color);
33
+ }
78
34
 
79
- & .kbq-icon {
80
- color: map.get($tabs, state-hover-icon);
81
- }
82
- }
35
+ &[disabled] {
36
+ @include kbq-tab-item-state(map.get($tab-item, disabled));
83
37
 
84
- &.kbq-active {
85
- border: {
86
- color: map.get($tabs, border);
87
- bottom-color: transparent;
88
- }
38
+ &.kbq-selected {
39
+ @include kbq-tab-item-state(map.get($tab-item, selected-disabled));
89
40
  }
41
+ }
42
+ }
90
43
 
91
- &[disabled],
92
- &.kbq-disabled {
93
- cursor: default;
94
-
95
- color: map.get($tabs, state-disabled-text);
96
-
97
- & .kbq-icon {
98
- color: map.get($tabs, state-disabled-icon);
99
- }
100
- }
44
+ @mixin kbq-tab-stack-style($tab-stack) {
45
+ .kbq-tab-header {
46
+ background: map.get($tab-stack, background);
101
47
  }
48
+ }
102
49
 
103
- .kbq-tab-link,
104
- .kbq-tab-label_horizontal {
105
- color: map.get($tabs, state-normal-text);
50
+ //noinspection ALL
51
+ @mixin kbq-tabs-theme($theme) {
52
+ $tab-item: map.get(map.get($theme, components), tab-item);
106
53
 
107
- & .kbq-icon {
108
- color: map.get($tabs, state-normal-icon);
109
- }
54
+ $tab-stack: map.get(map.get($theme, components), tab-stack);
110
55
 
111
- border-bottom-color: map.get($tabs, border);
56
+ $tab-stack_filled: map.get($tab-stack, filled);
57
+ $tab-item_filled: map.get($tab-item, filled);
112
58
 
113
- &.cdk-keyboard-focused:after {
114
- border-color: map.get(map.get($theme, states), focused-color);
115
- border-bottom-color: transparent;
116
- }
59
+ $tab-stack_transparent: map.get($tab-stack, transparent);
60
+ $tab-item_transparent: map.get($tab-item, transparent);
117
61
 
118
- &.kbq-tab-label_empty {
119
- color: map.get($tabs, state-empty-text);
62
+ .kbq-tab-group {
63
+ &.kbq-tab-group_filled {
64
+ &.kbq-tab-group_on-background {
65
+ @include kbq-tab-stack-style(map.get($tab-stack_filled, on-background));
120
66
 
121
- & .kbq-icon {
122
- color: map.get($tabs, state-empty-icon);
67
+ & .kbq-tab-label {
68
+ @include kbq-tab-item-style(map.get($tab-item_filled, on-background));
69
+ }
123
70
  }
124
- }
125
-
126
- &.kbq-active {
127
- border-bottom-color: transparent;
128
71
 
129
- color: map.get($tabs, state-normal-text);
130
-
131
- & .kbq-icon {
132
- color: map.get($tabs, state-normal-icon);
133
- }
72
+ &.kbq-tab-group_on-surface {
73
+ @include kbq-tab-stack-style(map.get($tab-stack_filled, on-surface));
134
74
 
135
- &:before {
136
- background-color: map.get($tabs, state-active-marker);
75
+ & .kbq-tab-label {
76
+ @include kbq-tab-item-style(map.get($tab-item_filled, on-background));
77
+ }
137
78
  }
138
79
  }
139
80
 
140
- &:hover {
141
- background: map.get($background, overlay-hover);
142
-
143
- color: map.get($tabs, state-hover-text);
81
+ &.kbq-tab-group_transparent {
82
+ &.kbq-tab-group_on-background {
83
+ @include kbq-tab-stack-style(map.get($tab-stack_transparent, on-background));
144
84
 
145
- & .kbq-icon {
146
- color: map.get($tabs, state-hover-icon);
85
+ & .kbq-tab-label {
86
+ @include kbq-tab-item-style(map.get($tab-item_transparent, on-background));
87
+ }
147
88
  }
148
- }
149
89
 
150
- &[disabled],
151
- &.kbq-disabled {
152
- cursor: default;
90
+ &.kbq-tab-group_on-surface {
91
+ @include kbq-tab-stack-style(map.get($tab-stack_transparent, on-surface));
153
92
 
154
- color: map.get($tabs, state-disabled-text);
155
-
156
- &:before {
157
- opacity: map.get($tabs, state-disabled-marker-opacity);
158
- }
159
-
160
- & .kbq-icon {
161
- color: map.get($tabs, state-disabled-icon);
93
+ & .kbq-tab-label {
94
+ @include kbq-tab-item-style(map.get($tab-item_transparent, on-background));
95
+ }
162
96
  }
163
97
  }
164
98
  }
165
99
 
166
- .kbq-tab-label_vertical {
167
- background: map.get($vertical-tabs, state-normal-background);
168
- color: map.get($tabs, state-normal-text);
100
+ .kbq-tab-nav-bar {
101
+ &.kbq-tab-nav-bar_filled {
102
+ &.kbq-tab-nav-bar_on-background {
103
+ @include kbq-tab-stack-style(map.get($tab-stack_filled, on-background));
169
104
 
170
- & .kbq-icon {
171
- color: map.get($tabs, state-normal-icon);
172
- }
173
-
174
- &.cdk-keyboard-focused:after {
175
- border-color: map.get(map.get($theme, states), focused-color);
176
- }
177
-
178
- &.kbq-tab-label_empty {
179
- color: map.get($tabs, state-empty-text);
180
-
181
- & .kbq-icon {
182
- color: map.get($tabs, state-empty-icon);
105
+ & .kbq-tab-link {
106
+ @include kbq-tab-item-style(map.get($tab-item_filled, on-background));
107
+ }
183
108
  }
184
- }
185
-
186
- &:hover {
187
- background: map.get($vertical-tabs, state-hover-background);
188
109
 
189
- color: map.get($tabs, state-hover-text);
110
+ &.kbq-tab-nav-bar_on-surface {
111
+ @include kbq-tab-stack-style(map.get($tab-stack_filled, on-surface));
190
112
 
191
- & .kbq-icon {
192
- color: map.get($tabs, state-hover-icon);
113
+ & .kbq-tab-link {
114
+ @include kbq-tab-item-style(map.get($tab-item_filled, on-background));
115
+ }
193
116
  }
194
117
  }
195
118
 
196
- &.kbq-active {
197
- color: map.get($tabs, state-normal-text);
198
- background: map.get($states, selected-color);
199
-
200
- & .kbq-icon {
201
- color: map.get($tabs, state-normal-icon);
202
- }
203
-
204
- &:before {
205
- background-color: map.get($tabs, state-active-marker);
206
- }
119
+ &.kbq-tab-nav-bar_transparent {
120
+ &.kbq-tab-nav-bar_on-background {
121
+ @include kbq-tab-stack-style(map.get($tab-stack_transparent, on-background));
207
122
 
208
- &:hover {
209
- background: map.get($vertical-tabs, state-hover-selected-background);
210
-
211
- & .kbq-icon {
212
- color: map.get($tabs, state-hover-icon);
123
+ & .kbq-tab-link {
124
+ @include kbq-tab-item-style(map.get($tab-item_transparent, on-background));
213
125
  }
214
126
  }
215
- }
216
127
 
217
- &[disabled],
218
- &.kbq-disabled {
219
- cursor: default;
220
- background: map.get($vertical-tabs, state-normal-background);
128
+ &.kbq-tab-nav-bar_on-surface {
129
+ @include kbq-tab-stack-style(map.get($tab-stack_transparent, on-surface));
221
130
 
222
- color: map.get($tabs, state-disabled-text);
223
-
224
- & .kbq-icon {
225
- color: map.get($tabs, state-disabled-icon);
131
+ & .kbq-tab-link {
132
+ @include kbq-tab-item-style(map.get($tab-item_transparent, on-background));
133
+ }
226
134
  }
227
135
  }
228
136
  }
229
- /* stylelint-enable no-descending-specificity */
230
137
  }
231
138
 
232
139
  @mixin kbq-tabs-typography($config) {
233
140
  $tokens: map.get($config, tokens);
234
141
 
235
142
  .kbq-tab-label,
236
- .kbq-tab-label_old,
237
143
  .kbq-tab-link {
238
- @include kbq-typography-level-to-styles($config, map.get($tokens, tabs-font-default));
144
+ @include kbq-typography-level-to-styles($config, map.get($tokens, tabs-font-text));
239
145
  }
240
146
  }
@@ -4,10 +4,6 @@ import { Subject } from 'rxjs';
4
4
  import { KbqTabHeader } from './tab-header.component';
5
5
  import { KbqTab } from './tab.component';
6
6
  import * as i0 from "@angular/core";
7
- export declare class KbqOldTabsCssStyler {
8
- static ɵfac: i0.ɵɵFactoryDeclaration<KbqOldTabsCssStyler, never>;
9
- static ɵdir: i0.ɵɵDirectiveDeclaration<KbqOldTabsCssStyler, "kbq-tab-group[kbq-old-tabs]", never, {}, {}, never, never, false, never>;
10
- }
11
7
  export declare class KbqAlignTabsCenterCssStyler {
12
8
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqAlignTabsCenterCssStyler, never>;
13
9
  static ɵdir: i0.ɵɵDirectiveDeclaration<KbqAlignTabsCenterCssStyler, "kbq-tab-group[kbq-align-tabs-center], [kbq-tab-nav-bar][kbq-align-tabs-center]", never, {}, {}, never, never, false, never>;
@@ -54,11 +50,12 @@ export declare const KbqTabGroupMixinBase: CanDisableCtor & typeof KbqTabGroupBa
54
50
  export declare class KbqTabGroup extends KbqTabGroupMixinBase implements AfterContentInit, AfterViewInit, AfterContentChecked, OnDestroy {
55
51
  private readonly changeDetectorRef;
56
52
  readonly resizeStream: Subject<Event>;
57
- oldTab: boolean;
58
53
  vertical: boolean;
59
54
  tabs: QueryList<KbqTab>;
60
55
  tabBodyWrapper: ElementRef;
61
56
  tabHeader: KbqTabHeader;
57
+ transparent: boolean;
58
+ onSurface: boolean;
62
59
  /** Whether the tab group should grow to the size of the active tab. */
63
60
  get dynamicHeight(): boolean;
64
61
  set dynamicHeight(value: boolean);
@@ -90,7 +87,7 @@ export declare class KbqTabGroup extends KbqTabGroupMixinBase implements AfterCo
90
87
  private resizeSubscription;
91
88
  private readonly groupId;
92
89
  private readonly resizeDebounceInterval;
93
- constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, lightTabs: string, vertical: string, defaultConfig?: IKbqTabsConfig);
90
+ constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, vertical: string, defaultConfig?: IKbqTabsConfig);
94
91
  /**
95
92
  * After the content is checked, this component knows what tabs have been defined
96
93
  * and what the selected index should be. This is where we can know exactly what position
@@ -129,6 +126,6 @@ export declare class KbqTabGroup extends KbqTabGroupMixinBase implements AfterCo
129
126
  private subscribeToResize;
130
127
  /** Clamps the given index to the bounds of 0 and the tabs length. */
131
128
  private clampTabIndex;
132
- static ɵfac: i0.ɵɵFactoryDeclaration<KbqTabGroup, [null, null, { attribute: "kbq-old-tabs"; }, { attribute: "vertical"; }, { optional: true; }]>;
133
- static ɵcmp: i0.ɵɵComponentDeclaration<KbqTabGroup, "kbq-tab-group", ["mcTabGroup"], { "disabled": { "alias": "disabled"; "required": false; }; "dynamicHeight": { "alias": "dynamicHeight"; "required": false; }; "selectedIndex": { "alias": "selectedIndex"; "required": false; }; "headerPosition": { "alias": "headerPosition"; "required": false; }; "animationDuration": { "alias": "animationDuration"; "required": false; }; }, { "selectedIndexChange": "selectedIndexChange"; "focusChange": "focusChange"; "animationDone": "animationDone"; "selectedTabChange": "selectedTabChange"; }, ["tabs"], never, false, never>;
129
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqTabGroup, [null, null, { attribute: "vertical"; }, { optional: true; }]>;
130
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqTabGroup, "kbq-tab-group", ["kbqTabGroup"], { "disabled": { "alias": "disabled"; "required": false; }; "transparent": { "alias": "transparent"; "required": false; }; "onSurface": { "alias": "onSurface"; "required": false; }; "dynamicHeight": { "alias": "dynamicHeight"; "required": false; }; "selectedIndex": { "alias": "selectedIndex"; "required": false; }; "headerPosition": { "alias": "headerPosition"; "required": false; }; "animationDuration": { "alias": "animationDuration"; "required": false; }; }, { "selectedIndexChange": "selectedIndexChange"; "focusChange": "focusChange"; "animationDone": "animationDone"; "selectedTabChange": "selectedTabChange"; }, ["tabs"], never, false, never>;
134
131
  }
@@ -23,14 +23,15 @@ $tokens: meta.module-variables(tokens) !default;
23
23
  .kbq-tab-group_vertical {
24
24
  flex-direction: row;
25
25
 
26
+ .kbq-tab-list__content {
27
+ gap: var(
28
+ --kbq-tabs-size-tab-stack-vertical-content-gap-vartical,
29
+ map.get($tokens, tabs-size-tab-stack-vertical-content-gap-vertical)
30
+ ) 0;
31
+ }
32
+
26
33
  & .kbq-tab-header__content {
27
34
  overflow-y: auto;
28
-
29
- padding-top: 8px;
30
- padding-bottom: 1px;
31
-
32
- border-right-width: var(--kbq-tabs-size-border-width, #{map.get($tokens, tabs-size-border-width)});
33
- border-right-style: solid;
34
35
  }
35
36
  }
36
37
 
@@ -46,13 +47,12 @@ $tokens: meta.module-variables(tokens) !default;
46
47
  display: block;
47
48
  overflow: hidden;
48
49
 
49
- // Fix for auto content wrapping in IE11
50
- flex-basis: 100%;
51
-
52
50
  &.kbq-tab-body__active {
51
+ position: relative;
52
+
53
53
  overflow-x: hidden;
54
54
  overflow-y: auto;
55
- position: relative;
55
+
56
56
  z-index: 1;
57
57
  flex-grow: 1;
58
58
  }
@@ -47,24 +47,9 @@ $tokens: meta.module-variables(tokens) !default;
47
47
  padding-left: 12px;
48
48
  padding-right: 12px;
49
49
 
50
- border: {
51
- bottom-style: solid;
52
- bottom-width: var(--kbq-tabs-size-border-width, map.get($tokens, tabs-size-border-width));
53
- };
54
-
55
- &.kbq-tab-header__pagination_before {
56
- border: {
57
- right-style: solid;
58
- right-width: var(--kbq-tabs-size-border-width, map.get($tokens, tabs-size-border-width));
59
- };
60
- }
50
+ &.kbq-tab-header__pagination_before {}
61
51
 
62
- &.kbq-tab-header__pagination_after {
63
- border: {
64
- left-style: solid;
65
- left-width: var(--kbq-tabs-size-border-width, map.get($tokens, tabs-size-border-width));
66
- };
67
- }
52
+ &.kbq-tab-header__pagination_after {}
68
53
 
69
54
  .kbq-tab-header__pagination-controls_enabled & {
70
55
  display: flex;
@@ -91,14 +76,7 @@ $tokens: meta.module-variables(tokens) !default;
91
76
  .kbq-tab-label {
92
77
  @include tab-label;
93
78
  @include vendor-prefixes.user-select(none);
94
- }
95
-
96
- .kbq-tab-label_old {
97
- @include tab-label-old;
98
- }
99
79
 
100
- .kbq-tab-label,
101
- .kbq-tab-label_old {
102
80
  .kbq-tab-group_stretch-labels & {
103
81
  flex-basis: 0;
104
82
  flex-grow: 1;
@@ -27,5 +27,5 @@ export declare class KbqTabLabelWrapper extends KbqTabLabelWrapperMixinBase impl
27
27
  getInnerText(): any;
28
28
  private addClassModifierForIcons;
29
29
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqTabLabelWrapper, never>;
30
- static ɵdir: i0.ɵɵDirectiveDeclaration<KbqTabLabelWrapper, "[mcTabLabelWrapper]", never, { "disabled": { "alias": "disabled"; "required": false; }; "tab": { "alias": "tab"; "required": false; }; }, {}, ["labelContent"], never, false, never>;
30
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KbqTabLabelWrapper, "[kbqTabLabelWrapper]", never, { "disabled": { "alias": "disabled"; "required": false; }; "tab": { "alias": "tab"; "required": false; }; }, {}, ["labelContent"], never, false, never>;
31
31
  }
@@ -5,5 +5,5 @@ export declare const KBQ_TAB_LABEL: InjectionToken<KbqTabLabel>;
5
5
  /** Used to flag tab labels for use with the portal directive */
6
6
  export declare class KbqTabLabel extends CdkPortal {
7
7
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqTabLabel, never>;
8
- static ɵdir: i0.ɵɵDirectiveDeclaration<KbqTabLabel, "[kbq-tab-label], [mcTabLabel]", never, {}, {}, never, never, false, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KbqTabLabel, "[kbq-tab-label], [kbqTabLabel]", never, {}, {}, never, never, false, never>;
9
9
  }