@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
@@ -2,99 +2,85 @@
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-alert-default($style) {
8
- background: map.get($style, background);
8
+ @mixin kbq-alert-style($component, $type, $style-name) {
9
+ $style: map.get($component, $type, $style-name);
9
10
 
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);
11
+ background: kbq-css-variable(alert-#{$type}-#{$style-name}-background, map.get($style, background));
21
12
 
22
13
  .kbq-alert__title {
23
- color: map.get($style, title);
14
+ color: kbq-css-variable(alert-#{$type}-#{$style-name}-title, map.get($style, title));
24
15
  }
25
16
 
26
17
  .kbq-alert__text {
27
- color: map.get($style, text);
18
+ color: kbq-css-variable(alert-#{$type}-#{$style-name}-text, map.get($style, text));
28
19
  }
29
20
  }
30
21
 
31
22
  @mixin kbq-alert-theme($theme) {
32
23
  $alert: map.get(map.get($theme, components), alert);
33
24
 
34
- $default: map.get($alert, default);
35
- $colored: map.get($alert, colored);
36
-
37
25
  .kbq-alert__close:focus {
38
26
  outline: none;
39
27
  }
40
28
 
41
29
  .kbq-alert.kbq-alert_default {
42
30
  &.kbq-alert_contrast {
43
- @include kbq-alert-default(map.get($default, contrast));
31
+ @include kbq-alert-style($alert, default, contrast);
44
32
  }
45
33
 
46
34
  &.kbq-alert_error {
47
- @include kbq-alert-default(map.get($default, error));
35
+ @include kbq-alert-style($alert, default, error);
48
36
  }
49
37
 
50
38
  &.kbq-alert_warning {
51
- @include kbq-alert-default(map.get($default, warning));
39
+ @include kbq-alert-style($alert, default, warning);
52
40
  }
53
41
 
54
42
  &.kbq-alert_success {
55
- @include kbq-alert-default(map.get($default, success));
43
+ @include kbq-alert-style($alert, default, success);
56
44
  }
57
45
 
58
46
  &.kbq-alert_theme {
59
- @include kbq-alert-default(map.get($default, theme));
47
+ @include kbq-alert-style($alert, default, theme);
60
48
  }
61
49
  }
62
50
 
63
51
  .kbq-alert.kbq-alert_colored {
64
52
  &.kbq-alert_contrast {
65
- @include kbq-alert-colored(map.get($colored, contrast));
53
+ @include kbq-alert-style($alert, colored, contrast);
66
54
  }
67
55
 
68
56
  &.kbq-alert_error {
69
- @include kbq-alert-colored(map.get($colored, error));
57
+ @include kbq-alert-style($alert, colored, error);
70
58
  }
71
59
 
72
60
  &.kbq-alert_warning {
73
- @include kbq-alert-colored(map.get($colored, warning));
61
+ @include kbq-alert-style($alert, colored, warning);
74
62
  }
75
63
 
76
64
  &.kbq-alert_success {
77
- @include kbq-alert-colored(map.get($colored, success));
65
+ @include kbq-alert-style($alert, colored, success);
78
66
  }
79
67
 
80
68
  &.kbq-alert_theme {
81
- @include kbq-alert-colored(map.get($colored, theme));
69
+ @include kbq-alert-style($alert, colored, theme);
82
70
  }
83
71
  }
84
72
  }
85
73
 
86
74
  @mixin kbq-alert-typography($config) {
87
- $tokens: map.get($config, tokens);
88
-
89
75
  .kbq-alert {
90
- @include kbq-typography-level-to-styles($config, map.get($tokens, alert-font-text));
76
+ @include kbq-typography-css-variables(alert, text);
91
77
 
92
78
  .kbq-alert__title {
93
- @include kbq-typography-level-to-styles($config, map.get($tokens, alert-font-title));
79
+ @include kbq-typography-css-variables(alert, title);
94
80
  }
95
81
 
96
82
  &.kbq-alert_compact .kbq-alert__title {
97
- @include kbq-typography-level-to-styles($config, map.get($tokens, alert-font-title-compact));
83
+ @include kbq-typography-css-variables(alert, title-compact);
98
84
  }
99
85
  }
100
86
  }
@@ -1,18 +1,16 @@
1
1
  @use 'sass:meta';
2
2
  @use 'sass:map';
3
3
 
4
- @use '../core/styles/tokens';
4
+ @use '../core/styles/common/tokens' as *;
5
5
 
6
6
 
7
- $tokens: meta.module-variables(tokens) !default;
8
-
9
7
  .kbq-alert {
10
8
  display: flex;
11
9
 
12
10
  box-sizing: border-box;
13
11
 
14
12
  & .kbq-alert__content_title {
15
- margin-bottom: map.get($tokens, size-xxs);
13
+ margin-bottom: kbq-css-variable(size-xxs);
16
14
  }
17
15
  }
18
16
 
@@ -25,41 +23,25 @@ $tokens: meta.module-variables(tokens) !default;
25
23
  }
26
24
 
27
25
  .kbq-alert.kbq-alert_normal {
28
- border-radius: var(
29
- --kbq-alert-size-normal-container-border-radius,
30
- map.get($tokens, alert-size-normal-container-border-radius)
31
- );
26
+ border-radius: kbq-css-variable(alert-size-normal-container-border-radius);
32
27
 
33
28
  padding:
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
- );
29
+ kbq-css-variable(alert-size-normal-container-padding-top)
30
+ kbq-css-variable(alert-size-normal-container-padding-right)
31
+ kbq-css-variable(alert-size-normal-container-padding-bottom)
32
+ kbq-css-variable(alert-size-normal-container-padding-left);
50
33
 
51
34
  & .kbq-alert__icon {
52
35
  margin:
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));
57
-
58
- &.kbq-alert__icon_title .kbq-icon {
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
- );
36
+ kbq-css-variable(alert-size-normal-no-title-icon-margin-top)
37
+ kbq-css-variable(alert-size-normal-icon-margin-right)
38
+ kbq-css-variable(alert-size-normal-icon-margin-bottom)
39
+ kbq-css-variable(alert-size-normal-icon-margin-left);
40
+
41
+ &.kbq-alert__icon_title {
42
+ margin-top: kbq-css-variable(alert-size-normal-icon-margin-top);
43
+
44
+ padding-top: kbq-css-variable(alert-size-normal-no-title-icon-padding-top);
63
45
  }
64
46
 
65
47
  display: inline-flex;
@@ -68,92 +50,47 @@ $tokens: meta.module-variables(tokens) !default;
68
50
 
69
51
  & .kbq-alert__content {
70
52
  padding:
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
- );
53
+ kbq-css-variable(alert-size-normal-content-padding-top)
54
+ kbq-css-variable(alert-size-normal-content-padding-right)
55
+ kbq-css-variable(alert-size-normal-content-padding-bottom)
56
+ kbq-css-variable(alert-size-normal-content-padding-left);
87
57
  }
88
58
 
89
59
  & .kbq-alert__title {
90
- margin-bottom: var(
91
- --kbq-alert-size-normal-title-margin-bottom,
92
- map.get($tokens, alert-size-normal-title-margin-bottom)
93
- );
60
+ margin-bottom: kbq-css-variable(alert-size-normal-title-margin-bottom);
94
61
  }
95
62
 
96
63
  & .kbq-alert__button-stack {
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
+ padding-top: kbq-css-variable(alert-size-normal-button-stack-padding-top);
65
+ padding-bottom: kbq-css-variable(alert-size-normal-button-stack-padding-bottom);
106
66
  }
107
67
 
108
68
  & .kbq-alert__close-button {
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
+ margin-top: kbq-css-variable(alert-size-normal-close-button-margin-top);
70
+ margin-left: kbq-css-variable(alert-size-normal-close-button-margin-left);
117
71
  }
118
72
  }
119
73
 
120
74
  .kbq-alert.kbq-alert_compact {
121
- border-radius: var(
122
- --kbq-alert-size-compact-container-border-radius,
123
- map.get($tokens, alert-size-compact-container-border-radius)
124
- );
75
+ border-radius: kbq-css-variable(alert-size-compact-container-border-radius);
125
76
 
126
77
  padding:
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
- );
78
+ kbq-css-variable(alert-size-compact-container-padding-top)
79
+ kbq-css-variable(alert-size-compact-container-padding-right)
80
+ kbq-css-variable(alert-size-compact-container-padding-bottom)
81
+ kbq-css-variable(alert-size-compact-container-padding-left);
143
82
 
144
83
  & .kbq-alert__icon {
145
- margin-top: var(--kbq-alert-size-compact-icon-margin-top, map.get($tokens, alert-size-compact-icon-margin-top));
146
-
147
- margin-right: var(
148
- --kbq-alert-size-compact-icon-margin-right,
149
- map.get($tokens, alert-size-compact-icon-margin-right)
150
- );
151
-
152
- &.kbq-alert__icon_title .kbq-icon {
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
- );
84
+
85
+ margin-top: kbq-css-variable(alert-size-compact-no-title-icon-margin-top);
86
+ margin-right: kbq-css-variable(alert-size-compact-icon-margin-right);
87
+
88
+ padding-top: kbq-css-variable(alert-size-compact-no-title-icon-padding-top);
89
+
90
+ &.kbq-alert__icon_title {
91
+ margin-top: kbq-css-variable(alert-size-compact-icon-margin-top);
92
+
93
+ padding-top: kbq-css-variable(alert-size-compact-icon-padding-top);
157
94
  }
158
95
 
159
96
  display: inline-flex;
@@ -162,52 +99,23 @@ $tokens: meta.module-variables(tokens) !default;
162
99
 
163
100
  & .kbq-alert__content {
164
101
  padding:
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
- );
102
+ kbq-css-variable(alert-size-compact-content-padding-top)
103
+ kbq-css-variable(alert-size-compact-content-padding-right)
104
+ kbq-css-variable(alert-size-compact-content-padding-bottom)
105
+ kbq-css-variable(alert-size-compact-content-padding-left);
181
106
  }
182
107
 
183
108
  & .kbq-alert__title {
184
- margin-bottom: var(
185
- --kbq-alert-size-compact-title-margin-bottom,
186
- map.get($tokens, alert-size-compact-title-margin-bottom)
187
- );
109
+ margin-bottom: kbq-css-variable(alert-size-compact-title-margin-bottom);
188
110
  }
189
111
 
190
112
  & .kbq-alert__button-stack {
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
- );
113
+ padding-top: kbq-css-variable(alert-size-compact-button-stack-padding-top);
114
+ padding-bottom: kbq-css-variable(alert-size-compact-button-stack-padding-bottom);
200
115
  }
201
116
 
202
117
  & .kbq-alert__close-button {
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
- );
118
+ margin-top: kbq-css-variable(alert-size-compact-close-button-margin-top);
119
+ margin-left: kbq-css-variable(alert-size-compact-close-button-margin-left);
212
120
  }
213
121
  }
@@ -2,13 +2,14 @@
2
2
 
3
3
  @use '../core/styles/common/popup';
4
4
  @use '../core/styles/theming/theming';
5
+ @use '../core/styles/common/tokens' as *;
5
6
 
6
7
 
7
8
  @mixin kbq-autocomplete-theme($theme) {
8
9
  $select-panel: map.get(map.get($theme, components), select-panel);
9
10
 
10
11
  .kbq-autocomplete-panel {
11
- box-shadow: map.get($select-panel, shadow);
12
- background: map.get($select-panel, background);
12
+ box-shadow: kbq-css-variable(select-panel-shadow, map.get($select-panel, shadow));
13
+ background: kbq-css-variable(select-panel-background, map.get($select-panel, background));
13
14
  }
14
15
  }
@@ -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-autocomplete-panel {
@@ -21,16 +18,12 @@ $tokens: meta.module-variables(tokens) !default;
21
18
  width: 100%;
22
19
  max-width: none;
23
20
 
24
- max-height: var(--kbq-autocomplete-size-panel-max-height, map.get($tokens, autocomplete-size-panel-max-height));
21
+ max-height: kbq-css-variable(autocomplete-size-panel-max-height);
25
22
 
26
- border-bottom-left-radius: var(
27
- --kbq-autocomplete-size-panel-border-radius, map.get($tokens, autocomplete-size-panel-border-radius)
28
- );
29
- border-bottom-right-radius: var(
30
- --kbq-autocomplete-size-panel-border-radius, map.get($tokens, autocomplete-size-panel-border-radius)
31
- );
23
+ border-bottom-left-radius: kbq-css-variable(autocomplete-size-panel-border-radius);
24
+ border-bottom-right-radius: kbq-css-variable(autocomplete-size-panel-border-radius);
32
25
 
33
- padding: var(--kbq-autocomplete-size-panel-padding, map.get($tokens, autocomplete-size-panel-padding));
26
+ padding: kbq-css-variable(autocomplete-size-panel-padding);
34
27
 
35
28
  &.kbq-autocomplete_visible {
36
29
  visibility: visible;
@@ -42,8 +35,8 @@ $tokens: meta.module-variables(tokens) !default;
42
35
 
43
36
  .kbq-autocomplete-panel-above & {
44
37
  border-radius:
45
- var(--kbq-autocomplete-size-panel-border-radius, map.get($tokens, autocomplete-size-panel-border-radius))
46
- var(--kbq-autocomplete-size-panel-border-radius, map.get($tokens, autocomplete-size-panel-border-radius))
38
+ kbq-css-variable(autocomplete-size-panel-border-radius)
39
+ kbq-css-variable(autocomplete-size-panel-border-radius)
47
40
  0 0;
48
41
  }
49
42
 
@@ -2,122 +2,108 @@
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-badge-style($badge) {
8
- color: map.get($badge, color);
9
- background: map.get($badge, background);
8
+ @mixin kbq-badge-style($component, $type, $sub-type, $style-name) {
9
+ $style: map.get($component, $type, $sub-type, $style-name);
10
+
11
+ color: kbq-css-variable(badge-#{$type}-#{$sub-type}-#{$style-name}-color, map.get($style, color));
12
+ background: kbq-css-variable(badge-#{$type}-#{$sub-type}-#{$style-name}-background, map.get($style, background));
10
13
 
11
14
  & .kbq-badge-caption {
12
- color: map.get($badge, caption);
15
+ color: kbq-css-variable(badge-#{$type}-#{$sub-type}-#{$style-name}-caption, map.get($style, caption));
13
16
  }
14
17
 
15
18
  & .kbq-icon {
16
- color: map.get($badge, icon) !important;
19
+ color: kbq-css-variable(badge-#{$type}-#{$sub-type}-#{$style-name}-icon, map.get($style, icon)) !important;
17
20
  }
18
- }
19
-
20
- @mixin kbq-badge-filled-color($badge) {
21
- @include kbq-badge-style($badge);
22
-
23
- border: transparent;
24
- }
25
-
26
- @mixin kbq-badge-outline-color($badge) {
27
- @include kbq-badge-style($badge);
28
21
 
29
- border-color: map.get($badge, border);
22
+ @if $type == filled {
23
+ border: transparent;
24
+ } @else {
25
+ border-color: map.get($component, border);
26
+ }
30
27
  }
31
28
 
32
29
  @mixin kbq-badge-theme($theme) {
33
30
  $badge: map.get(map.get($theme, components), badge);
34
31
 
35
- $filled: map.get($badge, filled);
36
- $outline: map.get($badge, outline);
37
-
38
32
  .kbq-badge-filled {
39
- $fade-on: map.get($filled, fade-on);
40
-
41
33
  &.kbq-badge_fade-contrast {
42
- @include kbq-badge-filled-color(map.get($fade-on, contrast));
34
+ @include kbq-badge-style($badge, filled, fade-on, contrast);
43
35
  }
44
36
 
45
37
  &.kbq-badge_fade-theme {
46
- @include kbq-badge-filled-color(map.get($fade-on, theme));
38
+ @include kbq-badge-style($badge, filled, fade-on, theme);
47
39
  }
48
40
 
49
41
  &.kbq-badge_fade-success {
50
- @include kbq-badge-filled-color(map.get($fade-on, success));
42
+ @include kbq-badge-style($badge, filled, fade-on, success);
51
43
  }
52
44
 
53
45
  &.kbq-badge_fade-warning {
54
- @include kbq-badge-filled-color(map.get($fade-on, warning));
46
+ @include kbq-badge-style($badge, filled, fade-on, warning);
55
47
  }
56
48
 
57
49
  &.kbq-badge_fade-error {
58
- @include kbq-badge-filled-color(map.get($fade-on, error));
50
+ @include kbq-badge-style($badge, filled, fade-on, error);
59
51
  }
60
52
 
61
- $fade-off: map.get($filled, fade-off);
62
-
63
53
  &.kbq-badge_theme {
64
- @include kbq-badge-filled-color(map.get($fade-off, theme));
54
+ @include kbq-badge-style($badge, filled, fade-off, theme);
65
55
  }
66
56
 
67
57
  &.kbq-badge_success {
68
- @include kbq-badge-filled-color(map.get($fade-off, success));
58
+ @include kbq-badge-style($badge, filled, fade-off, success);
69
59
  }
70
60
 
71
61
  &.kbq-badge_warning {
72
- @include kbq-badge-filled-color(map.get($fade-off, warning));
62
+ @include kbq-badge-style($badge, filled, fade-off, warning);
73
63
  }
74
64
 
75
65
  &.kbq-badge_error {
76
- @include kbq-badge-filled-color(map.get($fade-off, error));
66
+ @include kbq-badge-style($badge, filled, fade-off, error);
77
67
  }
78
68
  }
79
69
 
80
70
  .kbq-badge-outline {
81
- $fade-on: map.get($outline, fade-on);
82
-
83
71
  &.kbq-badge_fade-contrast {
84
- @include kbq-badge-outline-color(map.get($fade-on, contrast));
72
+ @include kbq-badge-style($badge, outline, fade-on, contrast);
85
73
  }
86
74
 
87
75
  &.kbq-badge_fade-theme {
88
- @include kbq-badge-outline-color(map.get($fade-on, theme));
76
+ @include kbq-badge-style($badge, outline, fade-on, theme);
89
77
  }
90
78
 
91
79
  &.kbq-badge_fade-success {
92
- @include kbq-badge-outline-color(map.get($fade-on, success));
80
+ @include kbq-badge-style($badge, outline, fade-on, success);
93
81
  }
94
82
 
95
83
  &.kbq-badge_fade-warning {
96
- @include kbq-badge-outline-color(map.get($fade-on, warning));
84
+ @include kbq-badge-style($badge, outline, fade-on, warning);
97
85
  }
98
86
 
99
87
  &.kbq-badge_fade-error {
100
- @include kbq-badge-outline-color(map.get($fade-on, error));
88
+ @include kbq-badge-style($badge, outline, fade-on, error);
101
89
  }
102
90
  }
103
91
  }
104
92
 
105
93
  @mixin kbq-badge-typography($config) {
106
- $tokens: map.get($config, tokens);
107
-
108
94
  .kbq-badge {
109
- @include kbq-typography-level-to-styles($config, map.get($tokens, badge-font-normal-default));
95
+ @include kbq-typography-css-variables(badge, normal-default);
110
96
 
111
97
  & .kbq-badge-caption {
112
- @include kbq-typography-level-to-styles($config, map.get($tokens, badge-font-normal-caption));
98
+ @include kbq-typography-css-variables(badge, normal-caption);
113
99
  }
114
100
  }
115
101
 
116
102
  .kbq-badge_compact {
117
- @include kbq-typography-level-to-styles($config, map.get($tokens, badge-font-compact-default));
103
+ @include kbq-typography-css-variables(badge, compact-default);
118
104
 
119
105
  & .kbq-badge-caption {
120
- @include kbq-typography-level-to-styles($config, map.get($tokens, badge-font-compact-caption));
106
+ @include kbq-typography-css-variables(badge, compact-caption);
121
107
  }
122
108
  }
123
109
  }