@koobiq/components 17.4.0 → 17.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (255) hide show
  1. package/alert/_alert-theme.scss +16 -20
  2. package/alert/alert-tokens.scss +132 -0
  3. package/alert/alert.component.scss +5 -0
  4. package/autocomplete/_autocomplete-theme.scss +3 -5
  5. package/autocomplete/autocomplete-tokens.scss +16 -0
  6. package/autocomplete/autocomplete.scss +4 -0
  7. package/badge/_badge-theme.scss +22 -25
  8. package/badge/badge-tokens.scss +185 -0
  9. package/badge/badge.component.scss +5 -0
  10. package/button/_button-theme.scss +20 -29
  11. package/button/button-tokens.scss +278 -0
  12. package/button/button.scss +5 -0
  13. package/button-toggle/_button-toggle-theme.scss +16 -28
  14. package/button-toggle/button-toggle-tokens.scss +78 -0
  15. package/button-toggle/button-toggle.scss +7 -2
  16. package/checkbox/_checkbox-theme.scss +27 -58
  17. package/checkbox/checkbox-tokens.scss +140 -0
  18. package/checkbox/checkbox.scss +6 -4
  19. package/code-block/_code-block-theme.scss +124 -143
  20. package/code-block/code-block-tokens.scss +400 -0
  21. package/code-block/code-block.scss +4 -2
  22. package/core/highlight/_highlight-theme.scss +1 -1
  23. package/core/pop-up/pop-up-styles.d.ts +2 -2
  24. package/core/pop-up/pop-up-trigger.d.ts +8 -9
  25. package/core/pop-up/pop-up.d.ts +3 -3
  26. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +12 -15
  27. package/core/selection/pseudo-checkbox/pseudo-checkbox-tokens.scss +140 -0
  28. package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +3 -2
  29. package/core/services/theme.service.d.ts +16 -0
  30. package/core/styles/_koobiq-theme.scss +6 -100
  31. package/datepicker/_datepicker-theme.scss +17 -43
  32. package/datepicker/calendar.scss +0 -3
  33. package/datepicker/datepicker-content.scss +5 -6
  34. package/datepicker/datepicker-tokens.scss +59 -0
  35. package/divider/_divider-theme.scss +2 -4
  36. package/divider/divider-tokens.scss +14 -0
  37. package/divider/divider.scss +4 -0
  38. package/dl/_dl-theme.scss +4 -6
  39. package/dl/dl-tokens.scss +32 -0
  40. package/dl/dl.scss +5 -0
  41. package/dropdown/_dropdown-theme.scss +15 -24
  42. package/dropdown/dropdown-tokens.scss +111 -0
  43. package/dropdown/dropdown.scss +5 -0
  44. package/ellipsis-center/ellipsis-center.directive.d.ts +2 -6
  45. package/empty-state/_empty-state-theme.scss +6 -9
  46. package/empty-state/empty-state-tokens.scss +68 -0
  47. package/empty-state/empty-state.scss +5 -0
  48. package/esm2022/alert/alert.component.mjs +3 -3
  49. package/esm2022/autocomplete/autocomplete.component.mjs +3 -3
  50. package/esm2022/badge/badge.component.mjs +3 -3
  51. package/esm2022/button/button.component.mjs +3 -3
  52. package/esm2022/button-toggle/button-toggle.component.mjs +3 -3
  53. package/esm2022/checkbox/checkbox.mjs +3 -3
  54. package/esm2022/code-block/code-block.component.mjs +3 -3
  55. package/esm2022/core/common-behaviors/common-module.mjs +2 -2
  56. package/esm2022/core/pop-up/pop-up-styles.mjs +7 -9
  57. package/esm2022/core/pop-up/pop-up-trigger.mjs +13 -16
  58. package/esm2022/core/pop-up/pop-up.mjs +7 -6
  59. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +3 -3
  60. package/esm2022/core/services/theme.service.mjs +20 -3
  61. package/esm2022/core/version.mjs +2 -2
  62. package/esm2022/datepicker/datepicker.component.mjs +3 -3
  63. package/esm2022/divider/divider.component.mjs +3 -3
  64. package/esm2022/dl/dl.component.mjs +3 -3
  65. package/esm2022/dropdown/dropdown.component.mjs +3 -3
  66. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +12 -23
  67. package/esm2022/empty-state/empty-state.component.mjs +3 -3
  68. package/esm2022/file-upload/multiple-file-upload.component.mjs +3 -3
  69. package/esm2022/file-upload/single-file-upload.component.mjs +3 -3
  70. package/esm2022/form-field/form-field.mjs +3 -3
  71. package/esm2022/form-field/hint.mjs +3 -3
  72. package/esm2022/form-field/password-hint.mjs +10 -7
  73. package/esm2022/form-field/password-toggle.mjs +10 -21
  74. package/esm2022/icon/icon-button.component.mjs +3 -3
  75. package/esm2022/icon/icon-item.component.mjs +3 -3
  76. package/esm2022/icon/icon.component.mjs +3 -3
  77. package/esm2022/list/list-selection.component.mjs +3 -3
  78. package/esm2022/list/list.component.mjs +3 -3
  79. package/esm2022/loader-overlay/loader-overlay.component.mjs +3 -3
  80. package/esm2022/markdown/markdown.component.mjs +3 -3
  81. package/esm2022/modal/modal-ref.class.mjs +1 -1
  82. package/esm2022/modal/modal.component.mjs +3 -3
  83. package/esm2022/modal/modal.service.mjs +16 -8
  84. package/esm2022/modal/modal.type.mjs +1 -1
  85. package/esm2022/navbar/navbar-item.component.mjs +17 -31
  86. package/esm2022/navbar/navbar.component.mjs +3 -3
  87. package/esm2022/popover/popover-confirm.component.mjs +13 -22
  88. package/esm2022/popover/popover.component.mjs +24 -31
  89. package/esm2022/select/select-option.directive.mjs +7 -18
  90. package/esm2022/table/table.component.mjs +3 -3
  91. package/esm2022/timezone/timezone-option.component.mjs +3 -3
  92. package/esm2022/timezone/timezone-option.directive.mjs +7 -18
  93. package/esm2022/timezone/timezone-select.component.mjs +3 -3
  94. package/esm2022/title/title.directive.mjs +7 -18
  95. package/esm2022/toast/toast.component.mjs +3 -3
  96. package/esm2022/toggle/toggle.component.mjs +3 -3
  97. package/esm2022/tooltip/tooltip.component.mjs +28 -47
  98. package/esm2022/tree/toggle.mjs +3 -3
  99. package/esm2022/tree/tree-option.component.mjs +3 -3
  100. package/esm2022/tree/tree-selection.component.mjs +3 -3
  101. package/esm2022/tree/tree.mjs +3 -3
  102. package/esm2022/tree-select/tree-select.component.mjs +3 -3
  103. package/fesm2022/koobiq-components-alert.mjs +2 -2
  104. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  105. package/fesm2022/koobiq-components-autocomplete.mjs +2 -2
  106. package/fesm2022/koobiq-components-autocomplete.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 +2 -2
  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 +2 -2
  116. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  117. package/fesm2022/koobiq-components-core.mjs +49 -35
  118. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  119. package/fesm2022/koobiq-components-datepicker.mjs +2 -2
  120. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  121. package/fesm2022/koobiq-components-divider.mjs +2 -2
  122. package/fesm2022/koobiq-components-divider.mjs.map +1 -1
  123. package/fesm2022/koobiq-components-dl.mjs +2 -2
  124. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  125. package/fesm2022/koobiq-components-dropdown.mjs +2 -2
  126. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  127. package/fesm2022/koobiq-components-ellipsis-center.mjs +11 -19
  128. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  129. package/fesm2022/koobiq-components-empty-state.mjs +2 -2
  130. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
  131. package/fesm2022/koobiq-components-file-upload.mjs +4 -4
  132. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  133. package/fesm2022/koobiq-components-form-field.mjs +33 -37
  134. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  135. package/fesm2022/koobiq-components-icon.mjs +6 -6
  136. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  137. package/fesm2022/koobiq-components-list.mjs +4 -4
  138. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  139. package/fesm2022/koobiq-components-loader-overlay.mjs +2 -2
  140. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  141. package/fesm2022/koobiq-components-markdown.mjs +2 -2
  142. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  143. package/fesm2022/koobiq-components-modal.mjs +17 -9
  144. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  145. package/fesm2022/koobiq-components-navbar.mjs +17 -29
  146. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  147. package/fesm2022/koobiq-components-popover.mjs +33 -44
  148. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  149. package/fesm2022/koobiq-components-select.mjs +14 -20
  150. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  151. package/fesm2022/koobiq-components-table.mjs +2 -2
  152. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  153. package/fesm2022/koobiq-components-timezone.mjs +13 -20
  154. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  155. package/fesm2022/koobiq-components-title.mjs +6 -14
  156. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  157. package/fesm2022/koobiq-components-toast.mjs +2 -2
  158. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  159. package/fesm2022/koobiq-components-toggle.mjs +2 -2
  160. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  161. package/fesm2022/koobiq-components-tooltip.mjs +27 -44
  162. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  163. package/fesm2022/koobiq-components-tree-select.mjs +2 -2
  164. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  165. package/fesm2022/koobiq-components-tree.mjs +8 -8
  166. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  167. package/file-upload/_file-upload-theme.scss +29 -112
  168. package/file-upload/file-upload-tokens.scss +159 -0
  169. package/file-upload/file-upload.scss +4 -2
  170. package/form-field/_form-field-theme.scss +21 -47
  171. package/form-field/_hint-theme.scss +13 -17
  172. package/form-field/form-field-tokens.scss +69 -0
  173. package/form-field/form-field.scss +4 -2
  174. package/form-field/hint-tokens.scss +60 -0
  175. package/form-field/hint.scss +5 -0
  176. package/form-field/password-toggle.d.ts +3 -6
  177. package/icon/_icon-button-theme.scss +27 -65
  178. package/icon/_icon-item-theme.scss +14 -17
  179. package/icon/_icon-theme.scss +7 -12
  180. package/icon/icon-button-tokens.scss +67 -0
  181. package/icon/icon-button.scss +4 -0
  182. package/icon/icon-item-tokens.scss +52 -0
  183. package/icon/icon-item.scss +4 -0
  184. package/icon/icon-tokens.scss +17 -0
  185. package/icon/icon.scss +4 -0
  186. package/input/_input-theme.scss +1 -5
  187. package/input/input-tokens.scss +12 -0
  188. package/input/input.scss +4 -5
  189. package/link/_link-theme.scss +18 -26
  190. package/link/link-tokens.scss +67 -0
  191. package/list/_list-theme.scss +14 -25
  192. package/list/list-tokens.scss +100 -0
  193. package/list/list.scss +5 -0
  194. package/loader-overlay/_loader-overlay-theme.scss +8 -23
  195. package/loader-overlay/loader-overlay-tokens.scss +58 -0
  196. package/loader-overlay/loader-overlay.scss +4 -5
  197. package/markdown/_markdown-theme.scss +29 -43
  198. package/markdown/markdown-tokens.scss +252 -0
  199. package/markdown/markdown.scss +6 -6
  200. package/modal/_modal-confirm.scss +0 -3
  201. package/modal/_modal-theme.scss +10 -12
  202. package/modal/modal-ref.class.d.ts +2 -2
  203. package/modal/modal-tokens.scss +53 -0
  204. package/modal/modal.component.d.ts +2 -2
  205. package/modal/modal.scss +5 -0
  206. package/modal/modal.service.d.ts +12 -7
  207. package/modal/modal.type.d.ts +3 -0
  208. package/navbar/_navbar-theme.scss +15 -25
  209. package/navbar/navbar-divider.scss +0 -3
  210. package/navbar/navbar-item.component.d.ts +5 -7
  211. package/navbar/navbar-item.scss +0 -3
  212. package/navbar/navbar-tokens.scss +83 -0
  213. package/navbar/navbar.scss +5 -3
  214. package/navbar/vertical-navbar.scss +0 -3
  215. package/package.json +7 -7
  216. package/popover/_popover-theme.scss +9 -16
  217. package/popover/popover-confirm.component.d.ts +3 -6
  218. package/popover/popover-tokens.scss +60 -0
  219. package/popover/popover.component.d.ts +4 -6
  220. package/popover/popover.scss +4 -5
  221. package/prebuilt-themes/dark-theme.css +1 -1
  222. package/prebuilt-themes/light-theme.css +1 -1
  223. package/schematics/ng-add/index.js +4 -4
  224. package/select/select-option.directive.d.ts +3 -6
  225. package/table/_table-theme.scss +7 -15
  226. package/table/table-tokens.scss +37 -0
  227. package/table/table.scss +4 -1
  228. package/textarea/_textarea-theme.scss +1 -1
  229. package/textarea/textarea-tokens.scss +14 -0
  230. package/textarea/textarea.scss +1 -0
  231. package/timezone/_timezone-option-theme.scss +5 -7
  232. package/timezone/timezone-option-tokens.scss +51 -0
  233. package/timezone/timezone-option.component.scss +5 -0
  234. package/timezone/timezone-option.directive.d.ts +3 -6
  235. package/timezone/timezone-select.component.scss +5 -0
  236. package/title/title.directive.d.ts +3 -6
  237. package/toast/_toast-theme.scss +11 -15
  238. package/toast/toast-tokens.scss +75 -0
  239. package/toast/toast.component.scss +4 -1
  240. package/toggle/_toggle-theme.scss +21 -41
  241. package/toggle/toggle-tokens.scss +142 -0
  242. package/toggle/toggle.scss +4 -1
  243. package/tooltip/_tooltip-theme.scss +13 -23
  244. package/tooltip/tooltip-tokens.scss +63 -0
  245. package/tooltip/tooltip.component.d.ts +8 -11
  246. package/tooltip/tooltip.scss +5 -0
  247. package/tree/_tree-theme.scss +14 -21
  248. package/tree/toggle.scss +5 -0
  249. package/tree/tree-option.scss +0 -5
  250. package/tree/tree-selection.scss +5 -0
  251. package/tree/tree-tokens.scss +94 -0
  252. package/tree/tree.scss +5 -0
  253. package/tree-select/_tree-select-theme.scss +9 -16
  254. package/tree-select/tree-select-tokens.scss +59 -0
  255. package/tree-select/tree-select.scss +5 -0
package/icon/icon.scss CHANGED
@@ -1,6 +1,8 @@
1
1
  @use 'sass:meta';
2
2
  @use 'sass:map';
3
3
 
4
+ @use './icon-theme' as *;
5
+
4
6
  .kbq-icon-rotate_90 {
5
7
  transform: rotate(90deg);
6
8
  }
@@ -24,3 +26,5 @@
24
26
  .kbq-icon-flip-vh {
25
27
  transform: scale(-1);
26
28
  }
29
+
30
+ @include kbq-icon-theme();
@@ -1,10 +1,6 @@
1
- @use 'sass:meta';
2
- @use 'sass:map';
3
-
4
- @use '../core/styles/typography/typography-utils' as *;
5
1
  @use '../core/styles/common/tokens' as *;
6
2
 
7
- @mixin kbq-input-typography($config) {
3
+ @mixin kbq-input-typography() {
8
4
  .kbq-input,
9
5
  .kbq-input.kbq-input-password::placeholder {
10
6
  @include kbq-typography-css-variables(input, text);
@@ -0,0 +1,12 @@
1
+ .kbq-input {
2
+ --kbq-input-size-padding-horizontal: 12px;
3
+ --kbq-input-size-padding-vertical: 6px;
4
+ --kbq-input-font-text-font-size: 14px;
5
+ --kbq-input-font-text-line-height: 20px;
6
+ --kbq-input-font-text-letter-spacing: -0.006em;
7
+ --kbq-input-font-text-font-weight: normal;
8
+ --kbq-input-font-text-font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial,
9
+ sans-serif;
10
+ --kbq-input-font-text-text-transform: null;
11
+ --kbq-input-font-text-font-feature-settings: 'calt', 'kern', 'liga', 'ss01', 'ss04';
12
+ }
package/input/input.scss CHANGED
@@ -1,11 +1,8 @@
1
- @use 'sass:meta';
2
- @use 'sass:map';
3
-
4
1
  @use '../core/styles/common/input';
5
-
6
- @use '../core/styles/tokens';
7
2
  @use '../core/styles/common/tokens' as *;
8
3
 
4
+ @use './input-theme' as *;
5
+
9
6
  .kbq-input {
10
7
  @include input.kbq-reset-input();
11
8
 
@@ -42,3 +39,5 @@ input.kbq-input:invalid {
42
39
  input.kbq-input::placeholder {
43
40
  opacity: 1;
44
41
  }
42
+
43
+ @include kbq-input-typography();
@@ -1,10 +1,8 @@
1
- @use 'sass:meta';
2
- @use 'sass:map';
3
-
4
- @use '../core/styles/typography/typography-utils' as *;
5
1
  @use '../core/styles/common/tokens' as *;
6
2
 
7
- @mixin kbq-link-geometry($tokens) {
3
+ @use './link-tokens';
4
+
5
+ @mixin kbq-link-geometry() {
8
6
  display: inline;
9
7
 
10
8
  text-decoration: none;
@@ -67,73 +65,67 @@
67
65
  }
68
66
  }
69
67
 
70
- @mixin kbq-link-state($component, $state-name: null) {
71
- $state: $component;
68
+ @mixin kbq-link-state($state-name: null) {
72
69
  $base-path: link;
73
70
 
74
71
  @if $state-name {
75
- $state: map.get($component, $state-name);
76
72
  $base-path: link-#{$state-name};
77
73
  }
78
74
 
79
- color: kbq-css-variable(#{$base-path}-text, map.get($state, text));
75
+ color: kbq-css-variable(#{$base-path}-text);
80
76
 
81
77
  &.kbq-text-only,
82
78
  &.kbq-text-with-icon .kbq-link__text,
83
79
  &.kbq-text-with-dot .kbq-link__text {
84
- border-bottom-color: kbq-css-variable(#{$base-path}-border-bottom, map.get($state, border-bottom));
80
+ border-bottom-color: kbq-css-variable(#{$base-path}-border-bottom);
85
81
  }
86
82
 
87
83
  & .kbq-icon {
88
- color: kbq-css-variable(#{$base-path}-text, map.get($state, text)) !important;
84
+ color: kbq-css-variable(#{$base-path}-text) !important;
89
85
  }
90
86
  }
91
87
 
92
- @mixin kbq-link-theme($theme) {
93
- $link: map.get(map.get($theme, components), link);
94
-
95
- $tokens: map.get($theme, tokens);
96
-
88
+ @mixin kbq-link-theme() {
97
89
  .kbq-link {
98
- @include kbq-link-geometry($tokens);
90
+ @include kbq-link-geometry();
99
91
 
100
- @include kbq-link-state($link);
92
+ @include kbq-link-state();
101
93
 
102
94
  transition: color ease-out 300ms;
103
95
 
104
96
  &:hover {
105
97
  transition: color 0ms;
106
98
 
107
- @include kbq-link-state($link, state-hover);
99
+ @include kbq-link-state(state-hover);
108
100
  }
109
101
 
110
102
  &:active,
111
103
  &.kbq-active {
112
- @include kbq-link-state($link, state-active);
104
+ @include kbq-link-state(state-active);
113
105
  }
114
106
 
115
107
  &.kbq-link_use-visited:not(.kbq-disabled):visited {
116
- @include kbq-link-state($link, state-visited);
108
+ @include kbq-link-state(state-visited);
117
109
 
118
110
  &:hover {
119
- @include kbq-link-state($link, state-visited-hover);
111
+ @include kbq-link-state(state-visited-hover);
120
112
  }
121
113
 
122
114
  &:active,
123
115
  &.kbq-active {
124
- @include kbq-link-state($link, state-visited-active);
116
+ @include kbq-link-state(state-visited-active);
125
117
  }
126
118
  }
127
119
 
128
120
  &.cdk-keyboard-focused {
129
- outline: kbq-css-variable(link-state-focused-outline, map.get($link, state-focused, outline)) solid;
121
+ outline: kbq-css-variable(link-state-focused-outline) solid;
130
122
  }
131
123
 
132
124
  &.kbq-disabled {
133
125
  cursor: default;
134
126
  pointer-events: none;
135
127
 
136
- @include kbq-link-state($link, state-disabled);
128
+ @include kbq-link-state(state-disabled);
137
129
  }
138
130
 
139
131
  @media print {
@@ -153,7 +145,7 @@
153
145
  }
154
146
  }
155
147
 
156
- @mixin kbq-link-typography($config) {
148
+ @mixin kbq-link-typography() {
157
149
  .kbq-link {
158
150
  @include kbq-typography-css-variables(link, normal);
159
151
 
@@ -0,0 +1,67 @@
1
+ .kbq-link {
2
+ --kbq-link-size-state-focused-outline-offset: 0px;
3
+ --kbq-link-size-state-focused-outline-width: 2px;
4
+ --kbq-link-size-compact-content-padding: 2px;
5
+ --kbq-link-size-normal-content-padding: 2px;
6
+ --kbq-link-size-big-content-padding: 4px;
7
+ --kbq-link-font-compact-font-size: 12px;
8
+ --kbq-link-font-compact-line-height: 16px;
9
+ --kbq-link-font-compact-letter-spacing: normal;
10
+ --kbq-link-font-compact-font-weight: normal;
11
+ --kbq-link-font-compact-font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial,
12
+ sans-serif;
13
+ --kbq-link-font-compact-text-transform: null;
14
+ --kbq-link-font-compact-font-feature-settings: 'calt', 'kern', 'liga', 'ss01', 'ss04';
15
+ --kbq-link-font-normal-font-size: 14px;
16
+ --kbq-link-font-normal-line-height: 20px;
17
+ --kbq-link-font-normal-letter-spacing: -0.006em;
18
+ --kbq-link-font-normal-font-weight: normal;
19
+ --kbq-link-font-normal-font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial,
20
+ sans-serif;
21
+ --kbq-link-font-normal-text-transform: null;
22
+ --kbq-link-font-normal-font-feature-settings: 'calt', 'kern', 'liga', 'ss01', 'ss04';
23
+ --kbq-link-font-big-font-size: 16px;
24
+ --kbq-link-font-big-line-height: 24px;
25
+ --kbq-link-font-big-letter-spacing: -0.011em;
26
+ --kbq-link-font-big-font-weight: normal;
27
+ --kbq-link-font-big-font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial,
28
+ sans-serif;
29
+ --kbq-link-font-big-text-transform: null;
30
+ --kbq-link-font-big-font-feature-settings: 'calt', 'kern', 'liga', 'ss01', 'ss04';
31
+ }
32
+
33
+ :where(.kbq-light, .theme-light, .kbq-theme-light) {
34
+ --kbq-link-text: hsla(216, 100%, 50%, 100%);
35
+ --kbq-link-border-bottom: hsla(216, 100%, 85%, 100%);
36
+ --kbq-link-state-visited-text: hsla(277, 72%, 45%, 100%);
37
+ --kbq-link-state-visited-border-bottom: hsla(277, 72%, 80%, 100%);
38
+ --kbq-link-state-visited-hover-text: hsla(277, 72%, 40%, 100%);
39
+ --kbq-link-state-visited-hover-border-bottom: hsla(277, 72%, 80%, 100%);
40
+ --kbq-link-state-visited-active-text: hsla(277, 72%, 35%, 100%);
41
+ --kbq-link-state-visited-active-border-bottom: hsla(277, 72%, 80%, 100%);
42
+ --kbq-link-state-hover-text: hsla(216, 100%, 45%, 100%);
43
+ --kbq-link-state-hover-border-bottom: hsla(216, 100%, 85%, 100%);
44
+ --kbq-link-state-active-text: hsla(216, 100%, 40%, 100%);
45
+ --kbq-link-state-active-border-bottom: hsla(216, 100%, 85%, 100%);
46
+ --kbq-link-state-focused-outline: hsla(216, 100%, 60%, 100%);
47
+ --kbq-link-state-disabled-text: hsla(229, 15%, 15%, 32%);
48
+ --kbq-link-state-disabled-border-bottom: hsla(229, 15%, 15%, 32%);
49
+ }
50
+
51
+ :where(.kbq-dark, .theme-dark, .kbq-theme-dark) {
52
+ --kbq-link-text: hsla(216, 100%, 65%, 100%);
53
+ --kbq-link-border-bottom: hsla(216, 100%, 27%, 100%);
54
+ --kbq-link-state-visited-text: hsla(277, 72%, 50%, 100%);
55
+ --kbq-link-state-visited-border-bottom: hsla(277, 72%, 30%, 100%);
56
+ --kbq-link-state-visited-hover-text: hsla(277, 72%, 55%, 100%);
57
+ --kbq-link-state-visited-hover-border-bottom: hsla(277, 72%, 30%, 100%);
58
+ --kbq-link-state-visited-active-text: hsla(277, 72%, 60%, 100%);
59
+ --kbq-link-state-visited-active-border-bottom: hsla(277, 72%, 30%, 100%);
60
+ --kbq-link-state-hover-text: hsla(216, 100%, 65%, 100%);
61
+ --kbq-link-state-hover-border-bottom: hsla(216, 100%, 27%, 100%);
62
+ --kbq-link-state-active-text: hsla(216, 100%, 70%, 100%);
63
+ --kbq-link-state-active-border-bottom: hsla(216, 100%, 27%, 100%);
64
+ --kbq-link-state-focused-outline: hsla(216, 100%, 60%, 100%);
65
+ --kbq-link-state-disabled-text: hsla(229, 15%, 40%, 100%);
66
+ --kbq-link-state-disabled-border-bottom: hsla(229, 15%, 50%, 32%);
67
+ }
@@ -1,63 +1,52 @@
1
- @use 'sass:meta';
2
- @use 'sass:map';
3
-
4
- @use '../core/styles/typography/typography-utils' as *;
5
1
  @use '../core/styles/common/tokens' as *;
6
2
 
7
- @mixin kbq-list-item($component, $state-name) {
8
- $state: map.get($component, $state-name);
9
-
10
- background: kbq-css-variable(list-#{$state-name}-container-background, map.get($state, container-background));
3
+ @mixin kbq-list-item($state-name) {
4
+ background: kbq-css-variable(list-#{$state-name}-container-background);
11
5
 
12
6
  .kbq-list-text {
13
- color: kbq-css-variable(list-#{$state-name}-text-color, map.get($state, text));
7
+ color: kbq-css-variable(list-#{$state-name}-text-color);
14
8
  }
15
9
 
16
10
  .kbq-icon {
17
- color: kbq-css-variable(list-#{$state-name}-icon-color, map.get($state, icon));
11
+ color: kbq-css-variable(list-#{$state-name}-icon-color);
18
12
  }
19
13
 
20
14
  .kbq-option-action .kbq-icon {
21
- color: kbq-css-variable(list-#{$state-name}-icon-button-color, map.get($state, icon-button));
15
+ color: kbq-css-variable(list-#{$state-name}-icon-button-color);
22
16
  }
23
17
 
24
18
  .kbq-list-option-caption {
25
- color: kbq-css-variable(list-#{$state-name}-caption-color, map.get($state, caption));
19
+ color: kbq-css-variable(list-#{$state-name}-caption-color);
26
20
  }
27
21
  }
28
22
 
29
- @mixin kbq-list-theme($theme) {
30
- $list-item: map.get($theme, components, list-item);
31
-
23
+ @mixin kbq-list-theme() {
32
24
  .kbq-list-option {
33
- @include kbq-list-item($list-item, default);
25
+ @include kbq-list-item(default);
34
26
 
35
27
  &:hover:not(.kbq-disabled) {
36
- @include kbq-list-item($list-item, states-hover);
28
+ @include kbq-list-item(states-hover);
37
29
  }
38
30
 
39
31
  &.kbq-focused {
40
- border-color: kbq-css-variable(
41
- list-states-focused-focus-outline-color,
42
- map.get($list-item, states-focused, focus-outline)
43
- );
32
+ border-color: kbq-css-variable(list-states-focused-focus-outline-color);
44
33
  }
45
34
 
46
35
  &.kbq-selected {
47
- @include kbq-list-item($list-item, states-selected);
36
+ @include kbq-list-item(states-selected);
48
37
 
49
38
  &:hover:not(.kbq-disabled) {
50
- @include kbq-list-item($list-item, states-selected-hover);
39
+ @include kbq-list-item(states-selected-hover);
51
40
  }
52
41
  }
53
42
 
54
43
  &.kbq-disabled {
55
- @include kbq-list-item($list-item, states-disabled);
44
+ @include kbq-list-item(states-disabled);
56
45
  }
57
46
  }
58
47
  }
59
48
 
60
- @mixin kbq-list-typography($config) {
49
+ @mixin kbq-list-typography() {
61
50
  .kbq-list-item,
62
51
  .kbq-list-option {
63
52
  @include kbq-typography-css-variables(list, text);
@@ -0,0 +1,100 @@
1
+ .kbq-list,
2
+ .kbq-list-selection {
3
+ --kbq-list-size-container-padding-left: 12px;
4
+ --kbq-list-size-container-padding-right: 12px;
5
+ --kbq-list-size-container-padding-vertical: 6px;
6
+ --kbq-list-size-container-content-gap-horizontal: 8px;
7
+ --kbq-list-size-container-content-gap-vertical: 2px;
8
+ --kbq-list-size-container-focus-outline-width: 2px;
9
+ --kbq-list-size-text-padding-vertical: 0;
10
+ --kbq-list-size-header-padding-top: 8px;
11
+ --kbq-list-size-header-padding-bottom: 4px;
12
+ --kbq-list-size-header-padding-horizontal: 12px;
13
+ --kbq-list-size-subheading-padding-top: 12px;
14
+ --kbq-list-size-subheading-padding-bottom: 4px;
15
+ --kbq-list-size-subheading-padding-horizontal: 12px;
16
+ --kbq-list-font-text-font-size: 14px;
17
+ --kbq-list-font-text-line-height: 20px;
18
+ --kbq-list-font-text-letter-spacing: -0.006em;
19
+ --kbq-list-font-text-font-weight: normal;
20
+ --kbq-list-font-text-font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial,
21
+ sans-serif;
22
+ --kbq-list-font-text-text-transform: null;
23
+ --kbq-list-font-text-font-feature-settings: 'calt', 'kern', 'liga', 'ss01', 'ss04';
24
+ --kbq-list-font-caption-font-size: 12px;
25
+ --kbq-list-font-caption-line-height: 16px;
26
+ --kbq-list-font-caption-letter-spacing: normal;
27
+ --kbq-list-font-caption-font-weight: normal;
28
+ --kbq-list-font-caption-font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial,
29
+ sans-serif;
30
+ --kbq-list-font-caption-text-transform: null;
31
+ --kbq-list-font-caption-font-feature-settings: 'calt', 'kern', 'liga', 'ss01', 'ss04';
32
+ --kbq-list-font-header-font-size: 16px;
33
+ --kbq-list-font-header-line-height: 24px;
34
+ --kbq-list-font-header-letter-spacing: -0.011em;
35
+ --kbq-list-font-header-font-weight: 600;
36
+ --kbq-list-font-header-font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial,
37
+ sans-serif;
38
+ --kbq-list-font-header-text-transform: null;
39
+ --kbq-list-font-header-font-feature-settings: 'calt', 'kern', 'liga', 'ss01', 'ss04';
40
+ --kbq-list-font-subheading-font-size: 12px;
41
+ --kbq-list-font-subheading-line-height: 16px;
42
+ --kbq-list-font-subheading-letter-spacing: 1px;
43
+ --kbq-list-font-subheading-font-weight: 500;
44
+ --kbq-list-font-subheading-font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue',
45
+ Arial, sans-serif;
46
+ --kbq-list-font-subheading-text-transform: uppercase;
47
+ --kbq-list-font-subheading-font-feature-settings: 'calt', 'case', 'kern', 'liga', 'ss01', 'ss04';
48
+ }
49
+
50
+ :where(.kbq-light, .theme-light, .kbq-theme-light) {
51
+ --kbq-list-default-container-background: transparent;
52
+ --kbq-list-default-text-color: hsla(229, 15%, 15%, 100%);
53
+ --kbq-list-default-icon-color: hsla(229, 15%, 15%, 100%);
54
+ --kbq-list-default-icon-button-color: hsla(229, 15%, 60%, 100%);
55
+ --kbq-list-default-caption-color: hsla(229, 15%, 50%, 100%);
56
+ --kbq-list-states-hover-container-background: hsla(229, 15%, 50%, 8%);
57
+ --kbq-list-states-hover-text-color: hsla(229, 15%, 15%, 100%);
58
+ --kbq-list-states-hover-icon-color: hsla(229, 15%, 15%, 100%);
59
+ --kbq-list-states-hover-icon-button-color: hsla(229, 15%, 60%, 100%);
60
+ --kbq-list-states-selected-container-background: hsla(216, 100%, 94%, 100%);
61
+ --kbq-list-states-selected-text-color: hsla(229, 15%, 15%, 100%);
62
+ --kbq-list-states-selected-icon-color: hsla(229, 15%, 15%, 100%);
63
+ --kbq-list-states-selected-icon-button-color: hsla(229, 15%, 60%, 100%);
64
+ --kbq-list-states-selected-hover-container-background: hsla(216, 100%, 90%, 100%);
65
+ --kbq-list-states-selected-hover-text-color: hsla(229, 15%, 15%, 100%);
66
+ --kbq-list-states-selected-hover-icon-color: hsla(229, 15%, 15%, 100%);
67
+ --kbq-list-states-selected-hover-icon-button-color: hsla(229, 15%, 60%, 100%);
68
+ --kbq-list-states-focused-focus-outline-color: hsla(216, 100%, 60%, 100%);
69
+ --kbq-list-states-disabled-container-background: transparent;
70
+ --kbq-list-states-disabled-text-color: hsla(229, 15%, 15%, 32%);
71
+ --kbq-list-states-disabled-icon-color: hsla(229, 15%, 15%, 32%);
72
+ --kbq-list-states-disabled-icon-button-color: hsla(229, 15%, 15%, 32%);
73
+ --kbq-list-states-disabled-caption-color: hsla(229, 15%, 15%, 32%);
74
+ }
75
+
76
+ :where(.kbq-dark, .theme-dark, .kbq-theme-dark) {
77
+ --kbq-list-default-container-background: transparent;
78
+ --kbq-list-default-text-color: hsla(229, 15%, 80%, 100%);
79
+ --kbq-list-default-icon-color: hsla(229, 15%, 80%, 100%);
80
+ --kbq-list-default-icon-button-color: hsla(229, 15%, 45%, 100%);
81
+ --kbq-list-default-caption-color: hsla(229, 15%, 60%, 100%);
82
+ --kbq-list-states-hover-container-background: hsla(229, 15%, 50%, 16%);
83
+ --kbq-list-states-hover-text-color: hsla(229, 15%, 80%, 100%);
84
+ --kbq-list-states-hover-icon-color: hsla(229, 15%, 80%, 100%);
85
+ --kbq-list-states-hover-icon-button-color: hsla(229, 15%, 45%, 100%);
86
+ --kbq-list-states-selected-container-background: hsla(216, 100%, 18%, 100%);
87
+ --kbq-list-states-selected-text-color: hsla(229, 15%, 80%, 100%);
88
+ --kbq-list-states-selected-icon-color: hsla(229, 15%, 80%, 100%);
89
+ --kbq-list-states-selected-icon-button-color: hsla(229, 15%, 45%, 100%);
90
+ --kbq-list-states-selected-hover-container-background: hsla(216, 100%, 15%, 100%);
91
+ --kbq-list-states-selected-hover-text-color: hsla(229, 15%, 80%, 100%);
92
+ --kbq-list-states-selected-hover-icon-color: hsla(229, 15%, 80%, 100%);
93
+ --kbq-list-states-selected-hover-icon-button-color: hsla(229, 15%, 45%, 100%);
94
+ --kbq-list-states-focused-focus-outline-color: hsla(216, 100%, 60%, 100%);
95
+ --kbq-list-states-disabled-container-background: transparent;
96
+ --kbq-list-states-disabled-text-color: hsla(229, 15%, 40%, 100%);
97
+ --kbq-list-states-disabled-icon-color: hsla(229, 15%, 30%, 100%);
98
+ --kbq-list-states-disabled-icon-button-color: hsla(229, 15%, 30%, 100%);
99
+ --kbq-list-states-disabled-caption-color: hsla(229, 15%, 40%, 100%);
100
+ }
package/list/list.scss CHANGED
@@ -4,6 +4,8 @@
4
4
  @use '../core/styles/common/list';
5
5
  @use '../core/styles/common/tokens' as *;
6
6
 
7
+ @use './list-theme' as *;
8
+
7
9
  .kbq-list,
8
10
  .kbq-list-selection {
9
11
  display: block;
@@ -34,3 +36,6 @@
34
36
  }
35
37
  }
36
38
  }
39
+
40
+ @include kbq-list-theme();
41
+ @include kbq-list-typography();
@@ -1,52 +1,37 @@
1
- @use 'sass:meta';
2
- @use 'sass:map';
3
-
4
- @use '../core/styles/typography/typography-utils' as *;
5
1
  @use '../core/styles/common/tokens' as *;
6
2
 
7
- @mixin kbq-loader-overlay-theme($theme) {
8
- $loader-overlay: map.get(map.get($theme, components), loader-overlay);
9
-
3
+ @mixin kbq-loader-overlay-theme() {
10
4
  // FIXME: move to unified mixin if necessary
11
5
  .kbq-loader-overlay_filled {
12
6
  &.kbq-loader-overlay {
13
- background: kbq-css-variable(
14
- loader-overlay-filled-overlay-background,
15
- map.get($loader-overlay, filled, background)
16
- );
7
+ background: kbq-css-variable(loader-overlay-filled-overlay-background);
17
8
  }
18
9
 
19
10
  & .kbq-loader-overlay-text {
20
- color: kbq-css-variable(loader-overlay-filled-text-color, map.get($loader-overlay, filled, text));
11
+ color: kbq-css-variable(loader-overlay-filled-text-color);
21
12
  }
22
13
 
23
14
  & .kbq-loader-overlay-caption {
24
- color: kbq-css-variable(loader-overlay-filled-caption-color, map.get($loader-overlay, filled, caption));
15
+ color: kbq-css-variable(loader-overlay-filled-caption-color);
25
16
  }
26
17
  }
27
18
 
28
19
  .kbq-loader-overlay_transparent {
29
20
  &.kbq-loader-overlay {
30
- background: kbq-css-variable(
31
- loader-overlay-transparent-overlay-background,
32
- map.get($loader-overlay, transparent, background)
33
- );
21
+ background: kbq-css-variable(loader-overlay-transparent-overlay-background);
34
22
  }
35
23
 
36
24
  & .kbq-loader-overlay-text {
37
- color: kbq-css-variable(loader-overlay-transparent-text-color, map.get($loader-overlay, transparent, text));
25
+ color: kbq-css-variable(loader-overlay-transparent-text-color);
38
26
  }
39
27
 
40
28
  & .kbq-loader-overlay-caption {
41
- color: kbq-css-variable(
42
- loader-overlay-transparent-caption-color,
43
- map.get($loader-overlay, transparent, caption)
44
- );
29
+ color: kbq-css-variable(loader-overlay-transparent-caption-color);
45
30
  }
46
31
  }
47
32
  }
48
33
 
49
- @mixin kbq-loader-overlay-typography($config) {
34
+ @mixin kbq-loader-overlay-typography() {
50
35
  .kbq-loader-overlay_big {
51
36
  & .kbq-loader-overlay-text {
52
37
  @include kbq-typography-css-variables(loader-overlay, big-text);
@@ -0,0 +1,58 @@
1
+ .kbq-loader-overlay {
2
+ --kbq-loader-overlay-size-big-overlay-padding-horizontal: 32px;
3
+ --kbq-loader-overlay-size-big-loader-margin-bottom: 24px;
4
+ --kbq-loader-overlay-size-big-content-content-gap-vertical: 4px;
5
+ --kbq-loader-overlay-size-compact-overlay-padding-horizontal: 32px;
6
+ --kbq-loader-overlay-size-compact-loader-margin-bottom: 8px;
7
+ --kbq-loader-overlay-size-compact-content-content-gap-vertical: 2px;
8
+ --kbq-loader-overlay-font-big-text-font-size: 18px;
9
+ --kbq-loader-overlay-font-big-text-line-height: 26px;
10
+ --kbq-loader-overlay-font-big-text-letter-spacing: normal;
11
+ --kbq-loader-overlay-font-big-text-font-weight: 600;
12
+ --kbq-loader-overlay-font-big-text-font-family: 'TT-Positive', Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI',
13
+ 'Helvetica Neue', Arial, sans-serif;
14
+ --kbq-loader-overlay-font-big-text-text-transform: null;
15
+ --kbq-loader-overlay-font-big-text-font-feature-settings: 'calt', 'kern', 'liga';
16
+ --kbq-loader-overlay-font-big-caption-font-size: 14px;
17
+ --kbq-loader-overlay-font-big-caption-line-height: 20px;
18
+ --kbq-loader-overlay-font-big-caption-letter-spacing: -0.006em;
19
+ --kbq-loader-overlay-font-big-caption-font-weight: normal;
20
+ --kbq-loader-overlay-font-big-caption-font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI',
21
+ 'Helvetica Neue', Arial, sans-serif;
22
+ --kbq-loader-overlay-font-big-caption-text-transform: null;
23
+ --kbq-loader-overlay-font-big-caption-font-feature-settings: 'calt', 'kern', 'liga', 'ss01', 'ss04';
24
+ --kbq-loader-overlay-font-compact-text-font-size: 14px;
25
+ --kbq-loader-overlay-font-compact-text-line-height: 20px;
26
+ --kbq-loader-overlay-font-compact-text-letter-spacing: -0.006em;
27
+ --kbq-loader-overlay-font-compact-text-font-weight: normal;
28
+ --kbq-loader-overlay-font-compact-text-font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI',
29
+ 'Helvetica Neue', Arial, sans-serif;
30
+ --kbq-loader-overlay-font-compact-text-text-transform: null;
31
+ --kbq-loader-overlay-font-compact-text-font-feature-settings: 'calt', 'kern', 'liga', 'ss01', 'ss04';
32
+ --kbq-loader-overlay-font-compact-caption-font-size: 12px;
33
+ --kbq-loader-overlay-font-compact-caption-line-height: 16px;
34
+ --kbq-loader-overlay-font-compact-caption-letter-spacing: normal;
35
+ --kbq-loader-overlay-font-compact-caption-font-weight: normal;
36
+ --kbq-loader-overlay-font-compact-caption-font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI',
37
+ 'Helvetica Neue', Arial, sans-serif;
38
+ --kbq-loader-overlay-font-compact-caption-text-transform: null;
39
+ --kbq-loader-overlay-font-compact-caption-font-feature-settings: 'calt', 'kern', 'liga', 'ss01', 'ss04';
40
+ }
41
+
42
+ :where(.kbq-light, .theme-light, .kbq-theme-light) {
43
+ --kbq-loader-overlay-transparent-overlay-background: hsla(229, 15%, 99%, 88%);
44
+ --kbq-loader-overlay-transparent-text-color: hsla(229, 15%, 15%, 100%);
45
+ --kbq-loader-overlay-transparent-caption-color: hsla(229, 15%, 50%, 100%);
46
+ --kbq-loader-overlay-filled-overlay-background: hsla(0, 0%, 100%, 100%);
47
+ --kbq-loader-overlay-filled-text-color: hsla(229, 15%, 15%, 100%);
48
+ --kbq-loader-overlay-filled-caption-color: hsla(229, 15%, 50%, 100%);
49
+ }
50
+
51
+ :where(.kbq-dark, .theme-dark, .kbq-theme-dark) {
52
+ --kbq-loader-overlay-transparent-overlay-background: hsla(229, 15%, 12%, 80%);
53
+ --kbq-loader-overlay-transparent-text-color: hsla(229, 15%, 80%, 100%);
54
+ --kbq-loader-overlay-transparent-caption-color: hsla(229, 15%, 60%, 100%);
55
+ --kbq-loader-overlay-filled-overlay-background: hsla(229, 15%, 12%, 100%);
56
+ --kbq-loader-overlay-filled-text-color: hsla(229, 15%, 80%, 100%);
57
+ --kbq-loader-overlay-filled-caption-color: hsla(229, 15%, 60%, 100%);
58
+ }
@@ -1,10 +1,6 @@
1
- @use 'sass:meta';
2
- @use 'sass:map';
3
-
4
- @use '../core/styles/tokens';
5
1
  @use '../core/styles/common/tokens' as *;
6
2
 
7
- $tokens: meta.module-variables(tokens) !default;
3
+ @use './loader-overlay-theme' as *;
8
4
 
9
5
  .kbq-loader-overlay_parent {
10
6
  position: relative;
@@ -72,3 +68,6 @@ $tokens: meta.module-variables(tokens) !default;
72
68
  }
73
69
  }
74
70
  }
71
+
72
+ @include kbq-loader-overlay-theme();
73
+ @include kbq-loader-overlay-typography();