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

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 (256) hide show
  1. package/alert/_alert-theme.scss +19 -33
  2. package/alert/alert.component.scss +49 -141
  3. package/autocomplete/_autocomplete-theme.scss +3 -2
  4. package/autocomplete/autocomplete.scss +7 -14
  5. package/badge/_badge-theme.scss +31 -45
  6. package/badge/badge.component.scss +18 -38
  7. package/button/_button-base.scss +7 -13
  8. package/button/_button-theme.scss +29 -85
  9. package/button/button.component.d.ts +3 -2
  10. package/button/button.scss +7 -16
  11. package/button-toggle/_button-toggle-theme.scss +18 -18
  12. package/button-toggle/button-toggle.scss +14 -34
  13. package/card/_card-theme.scss +19 -17
  14. package/card/card.component.scss +2 -4
  15. package/checkbox/_checkbox-theme.scss +44 -43
  16. package/checkbox/checkbox.scss +23 -21
  17. package/code-block/_code-block-theme.scss +27 -26
  18. package/code-block/actionbar.component.scss +7 -18
  19. package/code-block/code-block.scss +21 -66
  20. package/core/form-field/form-field-ref.d.ts +2 -0
  21. package/core/forms/_forms-theme.scss +4 -7
  22. package/core/forms/_forms.scss +13 -42
  23. package/core/locales/locale-service.d.ts +1 -0
  24. package/core/option/_optgroup-theme.scss +4 -5
  25. package/core/option/_option-action-theme.scss +7 -7
  26. package/core/option/_option-theme.scss +16 -20
  27. package/core/select/common.d.ts +35 -0
  28. package/core/select/index.d.ts +1 -0
  29. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +16 -19
  30. package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +9 -8
  31. package/core/styles/common/_groups.scss +3 -5
  32. package/core/styles/common/_list.scss +14 -18
  33. package/core/styles/common/_popup.scss +5 -4
  34. package/core/styles/common/_select.scss +11 -16
  35. package/core/styles/common/_tokens.scss +30 -9
  36. package/core/styles/theming/_components-theming.scss +151 -131
  37. package/core/styles/visual/_layout.scss +14 -16
  38. package/datepicker/_datepicker-theme.scss +24 -39
  39. package/datepicker/calendar-body.scss +3 -8
  40. package/datepicker/calendar-header.scss +4 -9
  41. package/datepicker/calendar.scss +5 -16
  42. package/datepicker/datepicker-content.scss +4 -12
  43. package/datepicker/datepicker-input.scss +0 -4
  44. package/datepicker/datepicker-toggle.scss +3 -2
  45. package/divider/_divider-theme.scss +3 -1
  46. package/divider/divider.scss +9 -25
  47. package/dl/_dl-theme.scss +5 -6
  48. package/dl/dl.scss +5 -19
  49. package/dropdown/_dropdown-theme.scss +21 -21
  50. package/dropdown/dropdown-item.scss +5 -11
  51. package/dropdown/dropdown-trigger.directive.d.ts +2 -2
  52. package/dropdown/dropdown.scss +6 -14
  53. package/esm2022/alert/alert.component.mjs +2 -2
  54. package/esm2022/badge/badge.component.mjs +2 -2
  55. package/esm2022/button/button.component.mjs +13 -6
  56. package/esm2022/button-toggle/button-toggle.component.mjs +2 -2
  57. package/esm2022/checkbox/checkbox.mjs +2 -2
  58. package/esm2022/code-block/actionbar.component.mjs +2 -2
  59. package/esm2022/code-block/code-block.component.mjs +2 -2
  60. package/esm2022/core/form-field/form-field-ref.mjs +1 -1
  61. package/esm2022/core/locales/locale-service.mjs +5 -2
  62. package/esm2022/core/option/option.mjs +2 -2
  63. package/esm2022/core/select/common.mjs +120 -0
  64. package/esm2022/core/select/index.mjs +2 -1
  65. package/esm2022/core/version.mjs +2 -2
  66. package/esm2022/datepicker/calendar-header.component.mjs +1 -1
  67. package/esm2022/dropdown/dropdown-item.component.mjs +2 -2
  68. package/esm2022/dropdown/dropdown-trigger.directive.mjs +4 -4
  69. package/esm2022/file-upload/multiple-file-upload.component.mjs +2 -2
  70. package/esm2022/file-upload/single-file-upload.component.mjs +2 -2
  71. package/esm2022/form-field/form-field.mjs +2 -2
  72. package/esm2022/form-field/hint.mjs +2 -2
  73. package/esm2022/form-field/password-hint.mjs +2 -2
  74. package/esm2022/icon/icon-item.component.mjs +16 -6
  75. package/esm2022/list/list-selection.component.mjs +2 -2
  76. package/esm2022/list/list.component.mjs +2 -2
  77. package/esm2022/markdown/markdown.component.mjs +2 -2
  78. package/esm2022/navbar/navbar-item.component.mjs +2 -2
  79. package/esm2022/navbar/navbar.component.mjs +2 -2
  80. package/esm2022/navbar/vertical-navbar.component.mjs +2 -2
  81. package/esm2022/popover/popover-confirm.component.mjs +3 -3
  82. package/esm2022/popover/popover.component.mjs +3 -3
  83. package/esm2022/radio/radio.component.mjs +2 -2
  84. package/esm2022/scrollbar/scrollbar.component.mjs +2 -2
  85. package/esm2022/select/select.component.mjs +18 -114
  86. package/esm2022/select/select.module.mjs +28 -28
  87. package/esm2022/table/table.component.mjs +2 -2
  88. package/esm2022/tabs/tab-group.component.mjs +54 -12
  89. package/esm2022/tabs/tab-header.component.mjs +2 -2
  90. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +2 -2
  91. package/esm2022/tags/tag-default-options.mjs +1 -1
  92. package/esm2022/tags/tag-input.mjs +17 -3
  93. package/esm2022/tags/tag-list.component.mjs +2 -2
  94. package/esm2022/tags/tag.component.mjs +2 -2
  95. package/esm2022/timepicker/timepicker.directive.mjs +10 -2
  96. package/esm2022/timezone/timezone-option.component.mjs +2 -2
  97. package/esm2022/timezone/timezone-select.component.mjs +5 -5
  98. package/esm2022/title/title.directive.mjs +2 -2
  99. package/esm2022/toast/toast.component.mjs +3 -3
  100. package/esm2022/toast/toast.service.mjs +17 -12
  101. package/esm2022/tooltip/tooltip.component.mjs +2 -2
  102. package/esm2022/tree/tree-option.component.mjs +2 -2
  103. package/esm2022/tree-select/tree-select.component.mjs +9 -37
  104. package/esm2022/tree-select/tree-select.module.mjs +31 -11
  105. package/fesm2022/koobiq-components-alert.mjs +2 -2
  106. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  107. package/fesm2022/koobiq-components-badge.mjs +2 -2
  108. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  109. package/fesm2022/koobiq-components-button-toggle.mjs +2 -2
  110. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  111. package/fesm2022/koobiq-components-button.mjs +12 -5
  112. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  113. package/fesm2022/koobiq-components-checkbox.mjs +2 -2
  114. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  115. package/fesm2022/koobiq-components-code-block.mjs +4 -4
  116. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  117. package/fesm2022/koobiq-components-core.mjs +124 -7
  118. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  119. package/fesm2022/koobiq-components-datepicker.mjs +1 -1
  120. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  121. package/fesm2022/koobiq-components-dropdown.mjs +5 -5
  122. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  123. package/fesm2022/koobiq-components-file-upload.mjs +4 -4
  124. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  125. package/fesm2022/koobiq-components-form-field.mjs +6 -6
  126. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  127. package/fesm2022/koobiq-components-icon.mjs +14 -4
  128. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  129. package/fesm2022/koobiq-components-list.mjs +4 -4
  130. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  131. package/fesm2022/koobiq-components-markdown.mjs +2 -2
  132. package/fesm2022/koobiq-components-navbar.mjs +6 -6
  133. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  134. package/fesm2022/koobiq-components-popover.mjs +4 -4
  135. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  136. package/fesm2022/koobiq-components-radio.mjs +2 -2
  137. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  138. package/fesm2022/koobiq-components-scrollbar.mjs +2 -2
  139. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  140. package/fesm2022/koobiq-components-select.mjs +46 -142
  141. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  142. package/fesm2022/koobiq-components-table.mjs +2 -2
  143. package/fesm2022/koobiq-components-tabs.mjs +56 -14
  144. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  145. package/fesm2022/koobiq-components-tags.mjs +20 -7
  146. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  147. package/fesm2022/koobiq-components-timepicker.mjs +9 -1
  148. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  149. package/fesm2022/koobiq-components-timezone.mjs +6 -6
  150. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  151. package/fesm2022/koobiq-components-title.mjs +1 -1
  152. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  153. package/fesm2022/koobiq-components-toast.mjs +19 -13
  154. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  155. package/fesm2022/koobiq-components-tooltip.mjs +2 -2
  156. package/fesm2022/koobiq-components-tree-select.mjs +37 -44
  157. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  158. package/fesm2022/koobiq-components-tree.mjs +2 -2
  159. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  160. package/file-upload/_file-upload-theme.scss +109 -68
  161. package/file-upload/file-upload.scss +0 -5
  162. package/file-upload/multiple-file-upload.component.scss +35 -99
  163. package/file-upload/single-file-upload.component.scss +12 -31
  164. package/form-field/_form-field-theme.scss +32 -34
  165. package/form-field/_hint-theme.scss +16 -19
  166. package/form-field/cleaner.scss +3 -8
  167. package/form-field/form-field.scss +11 -12
  168. package/form-field/hint.scss +5 -7
  169. package/form-field/password-toggle.scss +3 -9
  170. package/form-field/stepper.scss +4 -10
  171. package/icon/_icon-button-theme.scss +35 -35
  172. package/icon/_icon-item-theme.scss +46 -31
  173. package/icon/_icon-theme.scss +9 -15
  174. package/icon/icon-button.scss +5 -17
  175. package/icon/icon-item.component.d.ts +3 -1
  176. package/icon/icon-item.scss +12 -7
  177. package/icon/icon.scss +0 -5
  178. package/input/_input-theme.scss +2 -3
  179. package/input/input.scss +2 -1
  180. package/link/_link-theme.scss +25 -42
  181. package/list/_list-theme.scss +18 -17
  182. package/list/list.scss +3 -5
  183. package/loader-overlay/_loader-overlay-theme.scss +13 -16
  184. package/loader-overlay/loader-overlay.scss +9 -32
  185. package/markdown/_markdown-theme.scss +41 -44
  186. package/markdown/markdown.scss +38 -88
  187. package/modal/_modal-confirm.scss +2 -6
  188. package/modal/_modal-theme.scss +11 -12
  189. package/modal/modal.scss +18 -24
  190. package/navbar/_navbar-item_horizontal.scss +28 -28
  191. package/navbar/_navbar-item_vertical.scss +31 -30
  192. package/navbar/_navbar-theme.scss +21 -22
  193. package/navbar/navbar-brand.scss +24 -26
  194. package/navbar/navbar-divider.scss +4 -7
  195. package/navbar/navbar-item.scss +11 -13
  196. package/navbar/navbar.scss +2 -5
  197. package/navbar/vertical-navbar.scss +3 -5
  198. package/package.json +9 -9
  199. package/popover/_popover-theme.scss +9 -16
  200. package/popover/popover.scss +18 -24
  201. package/prebuilt-themes/dark-theme.css +1 -1
  202. package/prebuilt-themes/light-theme.css +1 -1
  203. package/progress-bar/_progress-bar-theme.scss +7 -10
  204. package/progress-bar/progress-bar.scss +6 -18
  205. package/progress-spinner/_progress-spinner-theme.scss +6 -7
  206. package/progress-spinner/progress-spinner.scss +8 -17
  207. package/radio/_radio-theme.scss +29 -37
  208. package/radio/radio.scss +20 -39
  209. package/risk-level/_risk-level-theme.scss +25 -30
  210. package/risk-level/risk-level.component.scss +5 -8
  211. package/schematics/ng-add/index.js +6 -6
  212. package/scrollbar/_scrollbar-component-theme.scss +14 -17
  213. package/scrollbar/scrollbar.component.scss +13 -20
  214. package/select/_select-theme.scss +14 -15
  215. package/select/select.component.d.ts +2 -32
  216. package/select/select.module.d.ts +1 -1
  217. package/select/select.scss +3 -10
  218. package/sidepanel/_sidepanel-theme.scss +8 -9
  219. package/sidepanel/sidepanel.scss +19 -30
  220. package/splitter/_splitter-theme.scss +3 -3
  221. package/table/_table-theme.scss +9 -8
  222. package/table/table.scss +12 -12
  223. package/tabs/_tabs-common.scss +4 -7
  224. package/tabs/_tabs-theme.scss +77 -44
  225. package/tabs/tab-group.component.d.ts +9 -3
  226. package/tabs/tab-group.scss +2 -7
  227. package/tabs/tab-header.scss +0 -4
  228. package/tabs/tab-nav-bar/tab-nav-bar.scss +2 -7
  229. package/tags/_tag-theme.scss +23 -26
  230. package/tags/tag-default-options.d.ts +1 -0
  231. package/tags/tag-input.d.ts +7 -1
  232. package/tags/tag-list.scss +6 -5
  233. package/tags/tag.scss +6 -9
  234. package/textarea/_textarea-theme.scss +2 -4
  235. package/textarea/textarea.scss +4 -6
  236. package/timepicker/timepicker.scss +2 -7
  237. package/timezone/_timezone-option-theme.scss +8 -9
  238. package/timezone/timezone-option.component.scss +5 -7
  239. package/timezone/timezone-select.component.d.ts +2 -1
  240. package/timezone/timezone-select.component.scss +2 -3
  241. package/toast/_toast-theme.scss +15 -14
  242. package/toast/toast-container.component.scss +4 -7
  243. package/toast/toast.component.scss +20 -25
  244. package/toast/toast.service.d.ts +8 -4
  245. package/toggle/_toggle-theme.scss +48 -42
  246. package/toggle/toggle.scss +9 -21
  247. package/tooltip/_tooltip-theme.scss +13 -16
  248. package/tooltip/tooltip.scss +8 -10
  249. package/tree/_tree-theme.scss +20 -22
  250. package/tree/toggle.scss +3 -5
  251. package/tree/tree-option.scss +5 -6
  252. package/tree-select/_tree-select-theme.scss +12 -14
  253. package/tree-select/tree-select.component.d.ts +4 -17
  254. package/tree-select/tree-select.module.d.ts +1 -2
  255. package/tree-select/tree-select.scss +1 -5
  256. package/core/styles/_variables.scss +0 -1
@@ -1,47 +1,62 @@
1
1
  @use 'sass:map';
2
2
 
3
3
  @use '../core/styles/theming/theming' as *;
4
+ @use '../core/styles/common/tokens' as *;
4
5
 
6
+ @mixin kbq-icon-item-style($component, $type, $style-name) {
7
+ $style: map.get($component, $type, $style-name);
8
+ $base: icon-item-filled-#{$type}-#{$type}-#{$style-name};
5
9
 
6
- @mixin kbq-icon-item-theme($themeObj) {
7
- $icon-item: map.get(map.get($themeObj, components), icon-item);
10
+ color: kbq-css-variable(#{$base}-color, map.get($component, $type, $style-name, color));
11
+ background: kbq-css-variable(#{$base}-background, map.get($component, $type, $style-name, background));
12
+ }
8
13
 
9
- $theme: map.get($icon-item, theme);
10
- $contrast: map.get($icon-item, contrast);
11
- $fade-contrast: map.get($icon-item, fade-contrast);
12
- $error: map.get($icon-item, error);
13
- $warning: map.get($icon-item, warning);
14
- $success: map.get($icon-item, success);
14
+ @mixin kbq-icon-item-theme($theme) {
15
+ $icon-item: map.get($theme, components, icon-item);
15
16
 
16
- .kbq-icon-item {
17
- &.kbq-theme {
18
- color: map.get($theme, color);
19
- background: map.get($theme, background);
20
- }
17
+ .kbq-icon-item.kbq-icon-item_filled {
18
+ &.kbq-icon-item_fade-off {
19
+ &.kbq-theme {
20
+ @include kbq-icon-item-style($icon-item, fade-off, theme);
21
+ }
21
22
 
22
- &.kbq-contrast {
23
- color: map.get($contrast, color);
24
- background: map.get($contrast, background);
25
- }
23
+ &.kbq-contrast {
24
+ @include kbq-icon-item-style($icon-item, fade-off, contrast);
25
+ }
26
26
 
27
- &.kbq-contrast-fade {
28
- color: map.get($fade-contrast, color);
29
- background: map.get($fade-contrast, background);
30
- }
27
+ &.kbq-error {
28
+ @include kbq-icon-item-style($icon-item, fade-off, error);
29
+ }
31
30
 
32
- &.kbq-error {
33
- color: map.get($error, color);
34
- background: map.get($error, background);
35
- }
31
+ &.kbq-warning {
32
+ @include kbq-icon-item-style($icon-item, fade-off, warning);
33
+ }
36
34
 
37
- &.kbq-warning {
38
- color: map.get($warning, color);
39
- background: map.get($warning, background);
35
+ &.kbq-success {
36
+ @include kbq-icon-item-style($icon-item, fade-off, success);
37
+ }
40
38
  }
41
39
 
42
- &.kbq-success {
43
- color: map.get($success, color);
44
- background: map.get($success, background);
40
+ &.kbq-icon-item_fade-on {
41
+ &.kbq-theme {
42
+ @include kbq-icon-item-style($icon-item, fade-on, theme);
43
+ }
44
+
45
+ &.kbq-contrast {
46
+ @include kbq-icon-item-style($icon-item, fade-on, contrast);
47
+ }
48
+
49
+ &.kbq-error {
50
+ @include kbq-icon-item-style($icon-item, fade-on, error);
51
+ }
52
+
53
+ &.kbq-warning {
54
+ @include kbq-icon-item-style($icon-item, fade-on, warning);
55
+ }
56
+
57
+ &.kbq-success {
58
+ @include kbq-icon-item-style($icon-item, fade-on, success);
59
+ }
45
60
  }
46
61
  }
47
62
  }
@@ -1,41 +1,35 @@
1
1
  @use 'sass:map';
2
2
 
3
3
  @use '../core/styles/theming/theming' as *;
4
+ @use '../core/styles/common/tokens' as *;
4
5
 
5
6
 
6
- @mixin kbq-icon-theme($themeObj) {
7
- $icon: map.get(map.get($themeObj, components), icon);
8
-
9
- $theme: map.get($icon, theme);
10
- $contrast: map.get($icon, contrast);
11
- $fade-contrast: map.get($icon, fade-contrast);
12
- $error: map.get($icon, error);
13
- $warning: map.get($icon, warning);
14
- $success: map.get($icon, success);
7
+ @mixin kbq-icon-theme($theme) {
8
+ $icon: map.get($theme, components, icon);
15
9
 
16
10
  .kbq-icon:not(.kbq-icon-button, .kbq-icon-item) {
17
11
  &.kbq-theme {
18
- color: map.get($theme, color);
12
+ color: kbq-css-variable(icon-theme-color, map.get($icon, theme, color));
19
13
  }
20
14
 
21
15
  &.kbq-contrast {
22
- color: map.get($contrast, color);
16
+ color: kbq-css-variable(icon-contrast-color, map.get($icon, contrast, color));
23
17
  }
24
18
 
25
19
  &.kbq-contrast-fade {
26
- color: map.get($fade-contrast, color);
20
+ color: kbq-css-variable(icon-fade-contrast-color, map.get($icon, fade-contrast, color));
27
21
  }
28
22
 
29
23
  &.kbq-error {
30
- color: map.get($error, color);
24
+ color: kbq-css-variable(icon-error-color, map.get($icon, error, color));
31
25
  }
32
26
 
33
27
  &.kbq-warning {
34
- color: map.get($warning, color);
28
+ color: kbq-css-variable(icon-warning-color, map.get($icon, warning, color));
35
29
  }
36
30
 
37
31
  &.kbq-success {
38
- color: map.get($success, color);
32
+ color: kbq-css-variable(icon-success-color, map.get($icon, success, color));
39
33
  }
40
34
  }
41
35
  }
@@ -1,10 +1,7 @@
1
1
  @use 'sass:meta';
2
2
  @use 'sass:map';
3
3
 
4
- @use '../core/styles/tokens';
5
-
6
-
7
- $tokens: meta.module-variables(tokens) !default;
4
+ @use '../core/styles/common/tokens' as *;
8
5
 
9
6
 
10
7
  .kbq-icon-button {
@@ -13,21 +10,12 @@ $tokens: meta.module-variables(tokens) !default;
13
10
  }
14
11
 
15
12
  padding:
16
- var(--kbq-icon-button-size-small-vertical-padding, map-get($tokens, icon-button-size-small-vertical-padding))
17
- var(
18
- --kbq-icon-button-size-small-horizontal-padding,
19
- map-get($tokens, icon-button-size-small-horizontal-padding)
20
- );
13
+ kbq-css-variable(icon-button-size-small-vertical-padding)
14
+ kbq-css-variable(icon-button-size-small-horizontal-padding);
21
15
 
22
16
  &.kbq-icon-button_small {
23
17
  padding:
24
- var(
25
- --kbq-icon-button-size-normal-vertical-padding,
26
- map-get($tokens, icon-button-size-normal-vertical-padding)
27
- )
28
- var(
29
- --kbq-icon-button-size-normal-horizontal-padding,
30
- map-get($tokens, icon-button-size-normal-horizontal-padding)
31
- );
18
+ kbq-css-variable(icon-button-size-normal-vertical-padding)
19
+ kbq-css-variable(icon-button-size-normal-horizontal-padding);
32
20
  }
33
21
  }
@@ -5,7 +5,9 @@ import * as i0 from "@angular/core";
5
5
  export declare class KbqIconItem extends KbqIcon implements CanColor {
6
6
  protected changeDetectorRef: ChangeDetectorRef;
7
7
  name: string;
8
+ fade: boolean;
9
+ big: boolean;
8
10
  constructor(elementRef: ElementRef, iconName: string, formField: KbqFormFieldRef, changeDetectorRef: ChangeDetectorRef);
9
11
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqIconItem, [null, { attribute: "kbq-icon-item"; }, { optional: true; }, null]>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<KbqIconItem, "[kbq-icon-item]", never, { "color": { "alias": "color"; "required": false; }; }, {}, never, ["*"], false, never>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqIconItem, "[kbq-icon-item]", never, { "color": { "alias": "color"; "required": false; }; "fade": { "alias": "fade"; "required": false; }; "big": { "alias": "big"; "required": false; }; }, {}, never, ["*"], false, never>;
11
13
  }
@@ -1,10 +1,7 @@
1
1
  @use 'sass:meta';
2
2
  @use 'sass:map';
3
3
 
4
- @use '../core/styles/tokens';
5
-
6
-
7
- $tokens: meta.module-variables(tokens) !default;
4
+ @use '../core/styles/common/tokens' as *;
8
5
 
9
6
 
10
7
  .kbq-icon-item {
@@ -12,7 +9,15 @@ $tokens: meta.module-variables(tokens) !default;
12
9
 
13
10
  border-radius: 50%;
14
11
 
15
- padding:
16
- var(--kbq-icon-item-size-vertical-padding, map-get($tokens, icon-item-size-vertical-padding))
17
- var(--kbq-icon-item-size-horizontal-padding, map-get($tokens, icon-item-size-horizontal-padding));
12
+ &.kbq-icon-item_normal {
13
+ padding:
14
+ kbq-css-variable(icon-item-size-normal-vertical-padding)
15
+ kbq-css-variable(icon-item-size-normal-horizontal-padding);
16
+ }
17
+
18
+ &.kbq-icon-item_big {
19
+ padding:
20
+ kbq-css-variable(icon-item-size-big-vertical-padding)
21
+ kbq-css-variable(icon-item-size-big-horizontal-padding);
22
+ }
18
23
  }
package/icon/icon.scss CHANGED
@@ -1,11 +1,6 @@
1
1
  @use 'sass:meta';
2
2
  @use 'sass:map';
3
3
 
4
- @use '../core/styles/tokens';
5
-
6
-
7
- $tokens: meta.module-variables(tokens) !default;
8
-
9
4
 
10
5
  .kbq-icon-rotate_90 {
11
6
  transform: rotate(90deg);
@@ -2,14 +2,13 @@
2
2
  @use 'sass:map';
3
3
 
4
4
  @use '../core/styles/typography/typography-utils' as *;
5
+ @use '../core/styles/common/tokens' as *;
5
6
 
6
7
 
7
8
  @mixin kbq-input-typography($config) {
8
- $tokens: map.get($config, tokens);
9
-
10
9
  .kbq-input,
11
10
  .kbq-input.kbq-input-password::placeholder {
12
- @include kbq-typography-level-to-styles($config, map.get($tokens, input-font-text));
11
+ @include kbq-typography-css-variables(input, text);
13
12
  }
14
13
 
15
14
  .kbq-input.kbq-input-password {
package/input/input.scss CHANGED
@@ -4,6 +4,7 @@
4
4
  @use '../core/styles/common/input';
5
5
 
6
6
  @use '../core/styles/tokens';
7
+ @use '../core/styles/common/tokens' as *;
7
8
 
8
9
 
9
10
  $tokens: meta.module-variables(tokens) !default;
@@ -27,7 +28,7 @@ $tokens: meta.module-variables(tokens) !default;
27
28
  var(--kbq-input-size-padding-vertical, map.get($tokens, input-size-padding-vertical)) -
28
29
  var(--kbq-form-field-size-border-width, map.get($tokens, form-field-size-border-width))
29
30
  )
30
- var(--kbq-input-size-padding-horizontal, map.get($tokens, input-size-padding-horizontal));
31
+ kbq-css-variable(input-size-padding-horizontal);
31
32
  }
32
33
 
33
34
  input.kbq-input[type="number"] {
@@ -2,6 +2,7 @@
2
2
  @use 'sass:map';
3
3
 
4
4
  @use '../core/styles/typography/typography-utils' as *;
5
+ @use '../core/styles/common/tokens' as *;
5
6
 
6
7
 
7
8
  @mixin kbq-link-geometry($tokens) {
@@ -10,9 +11,7 @@
10
11
  text-decoration: none;
11
12
  cursor: pointer;
12
13
 
13
- outline-offset: var(
14
- --kbq-link-size-state-focused-outline-offset, map.get($tokens, link-size-state-focused-outline-offset)
15
- );
14
+ outline-offset: kbq-css-variable(link-size-state-focused-outline-offset);
16
15
 
17
16
  &:focus {
18
17
  outline: none;
@@ -26,30 +25,22 @@
26
25
 
27
26
  &.kbq-text-with-icon .kbq-link__text {
28
27
  &:not(:first-child) {
29
- margin-left: var(
30
- --kbq-link-size-normal-content-padding, map.get($tokens, link-size-normal-content-padding)
31
- );
28
+ margin-left: kbq-css-variable(link-size-normal-content-padding);
32
29
  }
33
30
 
34
31
  &:not(:last-child) {
35
- margin-right: var(
36
- --kbq-link-size-normal-content-padding, map.get($tokens, link-size-normal-content-padding)
37
- );
32
+ margin-right: kbq-css-variable(link-size-normal-content-padding);
38
33
  }
39
34
  }
40
35
 
41
36
  &.kbq-link_compact {
42
37
  &.kbq-text-with-icon .kbq-link__text {
43
38
  &:not(:first-child) {
44
- margin-left: var(
45
- --kbq-link-size-compact-content-padding, map.get($tokens, link-size-compact-content-padding)
46
- );
39
+ margin-left: kbq-css-variable(link-size-compact-content-padding);
47
40
  }
48
41
 
49
42
  &:not(:last-child) {
50
- margin-right: var(
51
- --kbq-link-size-compact-content-padding, map.get($tokens, link-size-compact-content-padding)
52
- );
43
+ margin-right: kbq-css-variable(link-size-compact-content-padding);
53
44
  }
54
45
  }
55
46
  }
@@ -58,11 +49,11 @@
58
49
  &.kbq-link_big {
59
50
  &.kbq-text-with-icon .kbq-link__text {
60
51
  &:not(:first-child) {
61
- margin-left: var(--kbq-link-size-big-content-padding, map.get($tokens, link-size-big-content-padding));
52
+ margin-left: kbq-css-variable(link-size-big-content-padding);
62
53
  }
63
54
 
64
55
  &:not(:last-child) {
65
- margin-right: var(--kbq-link-size-big-content-padding, map.get($tokens, link-size-big-content-padding));
56
+ margin-right: kbq-css-variable(link-size-big-content-padding);
66
57
  }
67
58
  }
68
59
  }
@@ -84,16 +75,18 @@
84
75
  /* stylelint-enable no-descending-specificity */
85
76
  }
86
77
 
87
- @mixin kbq-link-state($state) {
88
- color: map.get($state, text);
78
+ @mixin kbq-link-state($component, $state-name) {
79
+ $state: map.get($component, $state-name);
80
+
81
+ color: kbq-css-variable(link-#{$state-name}-text, map.get($state, text));
89
82
 
90
83
  &.kbq-text-only,
91
84
  &.kbq-text-with-icon .kbq-link__text {
92
- border-bottom-color: map.get($state, border-bottom);
85
+ border-bottom-color: kbq-css-variable(link-#{$state-name}-border-bottom, map.get($state, border-bottom));
93
86
  }
94
87
 
95
88
  & .kbq-icon {
96
- color: map.get($state, text) !important;
89
+ color: kbq-css-variable(link-#{$state-name}-text, map.get($state, text)) !important;
97
90
  }
98
91
  }
99
92
 
@@ -105,51 +98,43 @@
105
98
  .kbq-link {
106
99
  @include kbq-link-geometry($tokens);
107
100
 
108
- $default: map.get($link, default);
109
- @include kbq-link-state($default);
101
+ @include kbq-link-state($link, default);
110
102
 
111
103
  transition: color ease-out 300ms;
112
104
 
113
105
  &:hover {
114
106
  transition: color 0ms;
115
107
 
116
- $hover: map.get($link, hover);
117
- @include kbq-link-state($hover);
108
+ @include kbq-link-state($link, state-hover);
118
109
  }
119
110
 
120
111
  &:active,
121
112
  &.kbq-active {
122
- $active: map.get($link, active);
123
- @include kbq-link-state($active);
113
+ @include kbq-link-state($link, state-active);
124
114
  }
125
115
 
126
116
  &.kbq-link_use-visited:not(.kbq-disabled):visited {
127
- $visited: map.get($link, visited);
128
- @include kbq-link-state($visited);
117
+ @include kbq-link-state($link, state-visited);
129
118
 
130
119
  &:hover {
131
- $visited-hover: map.get($link, visited-hover);
132
- @include kbq-link-state($visited-hover);
120
+ @include kbq-link-state($link, state-visited-hover);
133
121
  }
134
122
 
135
123
  &:active,
136
124
  &.kbq-active {
137
- $visited-active: map.get($link, visited-active);
138
- @include kbq-link-state($visited-active);
125
+ @include kbq-link-state($link, state-visited-active);
139
126
  }
140
127
  }
141
128
 
142
129
  &.cdk-keyboard-focused {
143
- $focused: map.get($link, focused);
144
- outline: map.get($focused, outline) solid;
130
+ outline: kbq-css-variable(link-state-focused-outline, map.get($link, state-focused, outline)) solid;
145
131
  }
146
132
 
147
133
  &.kbq-disabled {
148
134
  cursor: default;
149
135
  pointer-events: none;
150
136
 
151
- $disabled: map.get($link, disabled);
152
- @include kbq-link-state($disabled);
137
+ @include kbq-link-state($link, state-disabled);
153
138
  }
154
139
 
155
140
  @media print {
@@ -169,10 +154,8 @@
169
154
  }
170
155
 
171
156
  @mixin kbq-link-typography($config) {
172
- $tokens: map.get($config, tokens);
173
-
174
157
  .kbq-link {
175
- @include kbq-typography-level-to-styles($config, map.get($tokens, link-font-normal));
158
+ @include kbq-typography-css-variables(link, normal);
176
159
 
177
160
  & .kbq-icon {
178
161
  line-height: inherit;
@@ -181,10 +164,10 @@
181
164
  }
182
165
 
183
166
  .kbq-link.kbq-link_compact {
184
- @include kbq-typography-level-to-styles($config, map.get($tokens, link-font-compact));
167
+ @include kbq-typography-css-variables(link, compact);
185
168
  }
186
169
 
187
170
  .kbq-link.kbq-link_big {
188
- @include kbq-typography-level-to-styles($config, map.get($tokens, link-font-big));
171
+ @include kbq-typography-css-variables(link, big);
189
172
  }
190
173
  }
@@ -2,66 +2,67 @@
2
2
  @use 'sass:map';
3
3
 
4
4
  @use '../core/styles/typography/typography-utils' as *;
5
+ @use '../core/styles/common/tokens' as *;
5
6
 
6
7
 
7
- @mixin kbq-list-item($state) {
8
- background: map.get($state, container-background);
8
+ @mixin kbq-list-item($component, $state-name) {
9
+ $state: map.get($component, $state-name);
10
+
11
+ background: kbq-css-variable(list-#{$state-name}-container-background, map.get($state, container-background));
9
12
 
10
13
  .kbq-list-text {
11
- color: map.get($state, text);
14
+ color: kbq-css-variable(list-#{$state-name}-text, map.get($state, text));
12
15
  }
13
16
 
14
17
  .kbq-icon {
15
- color: map.get($state, icon);
18
+ color: kbq-css-variable(list-#{$state-name}-icon, map.get($state, icon));
16
19
  }
17
20
 
18
21
  .kbq-option-action .kbq-icon {
19
- color: map.get($state, icon-button);
22
+ color: kbq-css-variable(list-#{$state-name}-icon-button, map.get($state, icon-button));
20
23
  }
21
24
 
22
25
  .kbq-list-option-caption {
23
- color: map.get($state, caption);
26
+ color: kbq-css-variable(list-#{$state-name}-caption, map.get($state, caption));
24
27
  }
25
28
  }
26
29
 
27
30
  @mixin kbq-list-theme($theme) {
28
- $list-item: map.get(map.get($theme, components), list-item);
31
+ $list-item: map.get($theme, components, list-item);
29
32
 
30
33
  .kbq-list-option {
31
- @include kbq-list-item(map.get($list-item, default));
34
+ @include kbq-list-item($list-item, default);
32
35
 
33
36
  &:hover:not(.kbq-disabled) {
34
- @include kbq-list-item(map.get($list-item, hover));
37
+ @include kbq-list-item($list-item, states-hover);
35
38
  }
36
39
 
37
40
  &.kbq-focused {
38
- border-color: map.get(map.get($list-item, focused), focus-outline);
41
+ border-color: map.get($list-item, states-focused, focus-outline);
39
42
  }
40
43
 
41
44
  &.kbq-selected {
42
- @include kbq-list-item(map.get($list-item, selected));
45
+ @include kbq-list-item($list-item, states-selected);
43
46
 
44
47
  &:hover:not(.kbq-disabled) {
45
- @include kbq-list-item(map.get($list-item, selected-hover));
48
+ @include kbq-list-item($list-item, states-selected-hover);
46
49
  }
47
50
  }
48
51
 
49
52
  &.kbq-disabled {
50
- @include kbq-list-item(map.get($list-item, disabled));
53
+ @include kbq-list-item($list-item, states-disabled);
51
54
  }
52
55
  }
53
56
  }
54
57
 
55
58
  @mixin kbq-list-typography($config) {
56
- $tokens: map.get($config, tokens);
57
-
58
59
  .kbq-list-item,
59
60
  .kbq-list-option {
60
- @include kbq-typography-level-to-styles($config, map.get($tokens, list-font-text));
61
+ @include kbq-typography-css-variables(list, text);
61
62
 
62
63
  .kbq-list-text {
63
64
  .kbq-list-option-caption {
64
- @include kbq-typography-level-to-styles($config, map.get($tokens, list-font-caption));
65
+ @include kbq-typography-css-variables(list, caption);
65
66
  }
66
67
  }
67
68
  }
package/list/list.scss CHANGED
@@ -3,15 +3,10 @@
3
3
 
4
4
  @use '../core/styles/common/list';
5
5
 
6
- @use '../core/styles/tokens';
7
-
8
-
9
- $tokens: meta.module-variables(tokens) !default;
10
6
 
11
7
  .kbq-list,
12
8
  .kbq-list-selection {
13
9
  display: block;
14
-
15
10
  outline: none;
16
11
  }
17
12
 
@@ -27,11 +22,14 @@ $tokens: meta.module-variables(tokens) !default;
27
22
 
28
23
  & .kbq-option-action {
29
24
  display: none;
25
+ height: 20px;
26
+ align-items: center;
30
27
  }
31
28
 
32
29
  &:not(.kbq-disabled):hover,
33
30
  &:not(.kbq-disabled).kbq-focused,
34
31
  &:not(.kbq-disabled).kbq-action-button-focused {
32
+
35
33
  & .kbq-option-action {
36
34
  display: flex;
37
35
  }
@@ -2,64 +2,61 @@
2
2
  @use 'sass:map';
3
3
 
4
4
  @use '../core/styles/typography/typography-utils' as *;
5
+ @use '../core/styles/common/tokens' as *;
5
6
 
6
7
 
7
8
  @mixin kbq-loader-overlay-theme($theme) {
8
9
  $loader-overlay: map.get(map.get($theme, components), loader-overlay);
9
10
 
10
11
  .kbq-loader-overlay_filled {
11
- $filled: map.get($loader-overlay, filled);
12
-
13
12
  &.kbq-loader-overlay {
14
- background: map.get($filled, background);
13
+ background: kbq-css-variable(
14
+ loader-overlay-filled-background, map.get($loader-overlay, filled, background));
15
15
  }
16
16
 
17
17
  & .kbq-loader-overlay-text {
18
- color: map.get($filled, text);
18
+ color: kbq-css-variable(loader-overlay-filled-text, map.get($loader-overlay, filled, text));
19
19
  }
20
20
 
21
21
  & .kbq-loader-overlay-caption {
22
- color: map.get($filled, caption);
22
+ color: kbq-css-variable(loader-overlay-filled-caption, map.get($loader-overlay, filled, caption));
23
23
  }
24
24
  }
25
25
 
26
26
  .kbq-loader-overlay_transparent {
27
- $transparent: map.get($loader-overlay, transparent);
28
-
29
27
  &.kbq-loader-overlay {
30
- background: map.get($transparent, background);
28
+ background: kbq-css-variable(
29
+ loader-overlay-transparent-background, map.get($loader-overlay, transparent, background));
31
30
  }
32
31
 
33
32
  & .kbq-loader-overlay-text {
34
- color: map.get($transparent, text);
33
+ color: kbq-css-variable(loader-overlay-transparent-text, map.get($loader-overlay, transparent, text));
35
34
  }
36
35
 
37
36
  & .kbq-loader-overlay-caption {
38
- color: map.get($transparent, caption);
37
+ color: kbq-css-variable(loader-overlay-transparent-caption, map.get($loader-overlay, transparent, caption));
39
38
  }
40
39
  }
41
40
  }
42
41
 
43
42
  @mixin kbq-loader-overlay-typography($config) {
44
- $tokens: map.get($config, tokens);
45
-
46
43
  .kbq-loader-overlay_big {
47
44
  & .kbq-loader-overlay-text {
48
- @include kbq-typography-level-to-styles($config, map.get($tokens, loader-overlay-font-big-text));
45
+ @include kbq-typography-css-variables(loader-overlay, big-text);
49
46
  }
50
47
 
51
48
  & .kbq-loader-overlay-caption {
52
- @include kbq-typography-level-to-styles($config, map.get($tokens, loader-overlay-font-big-caption));
49
+ @include kbq-typography-css-variables(loader-overlay, big-caption);
53
50
  }
54
51
  }
55
52
 
56
53
  .kbq-loader-overlay_compact {
57
54
  & .kbq-loader-overlay-text {
58
- @include kbq-typography-level-to-styles($config, map.get($tokens, loader-overlay-font-compact-text));
55
+ @include kbq-typography-css-variables(loader-overlay, compact-text);
59
56
  }
60
57
 
61
58
  & .kbq-loader-overlay-caption {
62
- @include kbq-typography-level-to-styles($config, map.get($tokens, loader-overlay-font-compact-caption));
59
+ @include kbq-typography-css-variables(loader-overlay, compact-caption);
63
60
  }
64
61
  }
65
62
  }