@koobiq/components 17.3.0 → 17.5.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 (158) hide show
  1. package/alert/_alert-theme.scss +16 -20
  2. package/alert/alert-tokens.scss +132 -0
  3. package/alert/alert.component.scss +11 -6
  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 +212 -212
  20. package/core/highlight/_highlight-theme.scss +1 -1
  21. package/core/pop-up/pop-up-styles.d.ts +2 -2
  22. package/core/pop-up/pop-up-trigger.d.ts +8 -9
  23. package/core/pop-up/pop-up.d.ts +3 -3
  24. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +12 -15
  25. package/core/selection/pseudo-checkbox/pseudo-checkbox-tokens.scss +140 -0
  26. package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +3 -2
  27. package/core/styles/_koobiq-theme.scss +3 -42
  28. package/core/styles/theming/_theming.scss +1 -0
  29. package/datepicker/_datepicker-theme.scss +17 -43
  30. package/datepicker/calendar-header.component.d.ts +1 -0
  31. package/datepicker/calendar.scss +0 -3
  32. package/datepicker/datepicker-content.scss +5 -6
  33. package/datepicker/datepicker-tokens.scss +59 -0
  34. package/dropdown/_dropdown-theme.scss +15 -24
  35. package/dropdown/dropdown-tokens.scss +111 -0
  36. package/dropdown/dropdown.scss +5 -0
  37. package/ellipsis-center/ellipsis-center.directive.d.ts +2 -6
  38. package/esm2022/alert/alert.component.mjs +3 -3
  39. package/esm2022/autocomplete/autocomplete.component.mjs +3 -3
  40. package/esm2022/badge/badge.component.mjs +3 -3
  41. package/esm2022/button/button.component.mjs +3 -3
  42. package/esm2022/button-toggle/button-toggle.component.mjs +3 -3
  43. package/esm2022/checkbox/checkbox.mjs +3 -3
  44. package/esm2022/core/common-behaviors/common-module.mjs +2 -2
  45. package/esm2022/core/pop-up/pop-up-styles.mjs +7 -9
  46. package/esm2022/core/pop-up/pop-up-trigger.mjs +13 -16
  47. package/esm2022/core/pop-up/pop-up.mjs +7 -6
  48. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +3 -3
  49. package/esm2022/core/version.mjs +2 -2
  50. package/esm2022/datepicker/calendar-header.component.mjs +7 -3
  51. package/esm2022/datepicker/datepicker.component.mjs +3 -3
  52. package/esm2022/dropdown/dropdown.component.mjs +3 -3
  53. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +12 -23
  54. package/esm2022/form-field/form-field.mjs +3 -3
  55. package/esm2022/form-field/hint.mjs +3 -3
  56. package/esm2022/form-field/password-hint.mjs +2 -2
  57. package/esm2022/form-field/password-toggle.mjs +10 -21
  58. package/esm2022/form-field/stepper.mjs +2 -2
  59. package/esm2022/icon/icon-button.component.mjs +3 -3
  60. package/esm2022/icon/icon-item.component.mjs +3 -3
  61. package/esm2022/icon/icon.component.mjs +3 -3
  62. package/esm2022/markdown/markdown.component.mjs +2 -2
  63. package/esm2022/modal/modal-ref.class.mjs +1 -1
  64. package/esm2022/modal/modal.component.mjs +1 -1
  65. package/esm2022/modal/modal.service.mjs +19 -13
  66. package/esm2022/modal/modal.type.mjs +1 -1
  67. package/esm2022/navbar/navbar-item.component.mjs +16 -30
  68. package/esm2022/popover/popover-confirm.component.mjs +13 -22
  69. package/esm2022/popover/popover.component.mjs +71 -34
  70. package/esm2022/popover/popover.module.mjs +6 -4
  71. package/esm2022/select/select-option.directive.mjs +7 -18
  72. package/esm2022/timezone/timezone-option.directive.mjs +7 -18
  73. package/esm2022/title/title.directive.mjs +7 -18
  74. package/esm2022/tooltip/tooltip.component.mjs +26 -45
  75. package/fesm2022/koobiq-components-alert.mjs +2 -2
  76. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  77. package/fesm2022/koobiq-components-autocomplete.mjs +2 -2
  78. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  79. package/fesm2022/koobiq-components-badge.mjs +2 -2
  80. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  81. package/fesm2022/koobiq-components-button-toggle.mjs +2 -2
  82. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  83. package/fesm2022/koobiq-components-button.mjs +2 -2
  84. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  85. package/fesm2022/koobiq-components-checkbox.mjs +2 -2
  86. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  87. package/fesm2022/koobiq-components-core.mjs +29 -32
  88. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  89. package/fesm2022/koobiq-components-datepicker.mjs +8 -4
  90. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  91. package/fesm2022/koobiq-components-dropdown.mjs +2 -2
  92. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  93. package/fesm2022/koobiq-components-ellipsis-center.mjs +11 -19
  94. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  95. package/fesm2022/koobiq-components-form-field.mjs +27 -34
  96. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  97. package/fesm2022/koobiq-components-icon.mjs +6 -6
  98. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  99. package/fesm2022/koobiq-components-markdown.mjs +2 -2
  100. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  101. package/fesm2022/koobiq-components-modal.mjs +18 -12
  102. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  103. package/fesm2022/koobiq-components-navbar.mjs +14 -26
  104. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  105. package/fesm2022/koobiq-components-popover.mjs +86 -53
  106. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  107. package/fesm2022/koobiq-components-select.mjs +14 -20
  108. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  109. package/fesm2022/koobiq-components-timezone.mjs +10 -17
  110. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  111. package/fesm2022/koobiq-components-title.mjs +6 -14
  112. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  113. package/fesm2022/koobiq-components-tooltip.mjs +25 -42
  114. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  115. package/form-field/_form-field-theme.scss +21 -47
  116. package/form-field/_hint-theme.scss +13 -17
  117. package/form-field/form-field-tokens.scss +69 -0
  118. package/form-field/form-field.scss +4 -2
  119. package/form-field/hint-tokens.scss +60 -0
  120. package/form-field/hint.scss +5 -0
  121. package/form-field/password-toggle.d.ts +3 -6
  122. package/form-field/stepper.scss +4 -0
  123. package/icon/_icon-button-theme.scss +27 -65
  124. package/icon/_icon-item-theme.scss +14 -17
  125. package/icon/_icon-theme.scss +7 -12
  126. package/icon/icon-button-tokens.scss +67 -0
  127. package/icon/icon-button.scss +4 -0
  128. package/icon/icon-item-tokens.scss +52 -0
  129. package/icon/icon-item.scss +4 -0
  130. package/icon/icon-tokens.scss +17 -0
  131. package/icon/icon.scss +4 -0
  132. package/input/_input-theme.scss +1 -5
  133. package/input/input-tokens.scss +12 -0
  134. package/input/input.scss +4 -5
  135. package/link/_link-theme.scss +18 -26
  136. package/link/link-tokens.scss +67 -0
  137. package/markdown/markdown.scss +11 -6
  138. package/modal/modal-ref.class.d.ts +3 -3
  139. package/modal/modal.component.d.ts +2 -2
  140. package/modal/modal.service.d.ts +16 -11
  141. package/modal/modal.type.d.ts +9 -6
  142. package/navbar/_navbar-theme.scss +2 -2
  143. package/navbar/navbar-item.component.d.ts +5 -7
  144. package/package.json +13 -9
  145. package/popover/_popover-theme.scss +5 -0
  146. package/popover/popover-confirm.component.d.ts +3 -6
  147. package/popover/popover.component.d.ts +20 -9
  148. package/popover/popover.module.d.ts +3 -1
  149. package/popover/popover.scss +32 -0
  150. package/prebuilt-themes/dark-theme.css +1 -1
  151. package/prebuilt-themes/light-theme.css +1 -1
  152. package/schematics/ng-add/index.js +4 -4
  153. package/select/select-option.directive.d.ts +3 -6
  154. package/splitter/splitter.scss +3 -3
  155. package/table/_table-theme.scss +2 -2
  156. package/timezone/timezone-option.directive.d.ts +3 -6
  157. package/title/title.directive.d.ts +3 -6
  158. package/tooltip/tooltip.component.d.ts +8 -11
@@ -3,9 +3,7 @@
3
3
  @use '../core/styles/theming/theming' as *;
4
4
  @use '../core/styles/common/tokens' as *;
5
5
 
6
- @mixin kbq-icon-button-theme($theme) {
7
- $icon-button: map.get($theme, components, icon-button);
8
-
6
+ @mixin kbq-icon-button-theme() {
9
7
  .kbq-icon-button {
10
8
  &:focus {
11
9
  outline: none;
@@ -13,147 +11,111 @@
13
11
 
14
12
  // FIXME: move to unified mixin
15
13
  &.kbq-theme {
16
- color: kbq-css-variable(icon-button-theme-default, map.get($icon-button, theme, default));
14
+ color: kbq-css-variable(icon-button-theme-default);
17
15
 
18
16
  &:active,
19
17
  &.kbq-active {
20
- color: kbq-css-variable(icon-button-theme-states-active, map.get($icon-button, theme, state-active));
18
+ color: kbq-css-variable(icon-button-theme-states-active);
21
19
  }
22
20
 
23
21
  &:not(.kbq-disabled):hover {
24
- color: kbq-css-variable(icon-button-theme-states-hover, map.get($icon-button, theme, state-hover));
22
+ color: kbq-css-variable(icon-button-theme-states-hover);
25
23
  }
26
24
 
27
25
  &.kbq-disabled {
28
- color: kbq-css-variable(
29
- icon-button-theme-states-disabled,
30
- map.get($icon-button, theme, state-disabled)
31
- );
26
+ color: kbq-css-variable(icon-button-theme-states-disabled);
32
27
  }
33
28
  }
34
29
 
35
30
  &.kbq-contrast {
36
- color: kbq-css-variable(icon-button-contrast-default, map.get($icon-button, contrast, default));
31
+ color: kbq-css-variable(icon-button-contrast-default);
37
32
 
38
33
  &:active,
39
34
  &.kbq-active {
40
- color: kbq-css-variable(
41
- icon-button-contrast-states-active,
42
- map.get($icon-button, contrast, state-active)
43
- );
35
+ color: kbq-css-variable(icon-button-contrast-states-active);
44
36
  }
45
37
 
46
38
  &:not(.kbq-disabled):hover {
47
- color: kbq-css-variable(
48
- icon-button-contrast-states-hover,
49
- map.get($icon-button, contrast, state-hover)
50
- );
39
+ color: kbq-css-variable(icon-button-contrast-states-hover);
51
40
  }
52
41
 
53
42
  &.kbq-disabled {
54
- color: kbq-css-variable(
55
- icon-button-contrast-states-disabled,
56
- map.get($icon-button, contrast, state-disabled)
57
- );
43
+ color: kbq-css-variable(icon-button-contrast-states-disabled);
58
44
  }
59
45
  }
60
46
 
61
47
  &.kbq-contrast-fade {
62
- color: kbq-css-variable(icon-button-fade-contrast-default, map.get($icon-button, fade-contrast, default));
48
+ color: kbq-css-variable(icon-button-fade-contrast-default);
63
49
 
64
50
  &:active,
65
51
  &.kbq-active {
66
- color: kbq-css-variable(
67
- icon-button-fade-contrast-states-active,
68
- map.get($icon-button, fade-contrast, state-active)
69
- );
52
+ color: kbq-css-variable(icon-button-fade-contrast-states-active);
70
53
  }
71
54
 
72
55
  &:not(.kbq-disabled):hover {
73
- color: kbq-css-variable(
74
- icon-button-fade-contrast-states-hover,
75
- map.get($icon-button, fade-contrast, state-hover)
76
- );
56
+ color: kbq-css-variable(icon-button-fade-contrast-states-hover);
77
57
  }
78
58
 
79
59
  &.kbq-disabled {
80
- color: kbq-css-variable(
81
- icon-button-fade-contrast-states-disabled,
82
- map.get($icon-button, fade-contrast, state-disabled)
83
- );
60
+ color: kbq-css-variable(icon-button-fade-contrast-states-disabled);
84
61
  }
85
62
  }
86
63
 
87
64
  &.kbq-error {
88
- color: kbq-css-variable(icon-button-error-default, map.get($icon-button, error, default));
65
+ color: kbq-css-variable(icon-button-error-default);
89
66
 
90
67
  &:active,
91
68
  &.kbq-active {
92
- color: kbq-css-variable(icon-button-error-states-active, map.get($icon-button, error, state-active));
69
+ color: kbq-css-variable(icon-button-error-states-active);
93
70
  }
94
71
 
95
72
  &:not(.kbq-disabled):hover {
96
- color: kbq-css-variable(icon-button-error-states-hover, map.get($icon-button, error, state-hover));
73
+ color: kbq-css-variable(icon-button-error-states-hover);
97
74
  }
98
75
 
99
76
  &.kbq-disabled {
100
- color: kbq-css-variable(
101
- icon-button-error-states-disabled,
102
- map.get($icon-button, error, state-disabled)
103
- );
77
+ color: kbq-css-variable(icon-button-error-states-disabled);
104
78
  }
105
79
  }
106
80
 
107
81
  &.kbq-success {
108
- color: kbq-css-variable(icon-button-success-default, map.get($icon-button, success, default));
82
+ color: kbq-css-variable(icon-button-success-default);
109
83
 
110
84
  &:active,
111
85
  &.kbq-active {
112
- color: kbq-css-variable(
113
- icon-button-success-states-active,
114
- map.get($icon-button, success, state-active)
115
- );
86
+ color: kbq-css-variable(icon-button-success-states-active);
116
87
  }
117
88
 
118
89
  &:not(.kbq-disabled):hover {
119
- color: kbq-css-variable(icon-button-success-states-hover, map.get($icon-button, success, state-hover));
90
+ color: kbq-css-variable(icon-button-success-states-hover);
120
91
  }
121
92
 
122
93
  &.kbq-disabled {
123
- color: kbq-css-variable(
124
- icon-button-success-states-disabled,
125
- map.get($icon-button, success, state-disabled)
126
- );
94
+ color: kbq-css-variable(icon-button-success-states-disabled);
127
95
  }
128
96
  }
129
97
 
130
98
  &.kbq-warning {
131
- color: kbq-css-variable(icon-button-warning-default, map.get($icon-button, warning, default));
99
+ color: kbq-css-variable(icon-button-warning-default);
132
100
 
133
101
  &:active,
134
102
  &.kbq-active {
135
- color: kbq-css-variable(
136
- icon-button-warning-states-active,
137
- map.get($icon-button, warning, state-active)
138
- );
103
+ color: kbq-css-variable(icon-button-warning-states-active);
139
104
  }
140
105
 
141
106
  &:not(.kbq-disabled):hover {
142
- color: kbq-css-variable(icon-button-warning-states-hover, map.get($icon-button, warning, state-hover));
107
+ color: kbq-css-variable(icon-button-warning-states-hover);
143
108
  }
144
109
 
145
110
  &.kbq-disabled {
146
- color: kbq-css-variable(
147
- icon-button-warning-states-disabled,
148
- map.get($icon-button, warning, state-disabled)
149
- );
111
+ color: kbq-css-variable(icon-button-warning-states-disabled);
150
112
  }
151
113
  }
152
114
 
153
115
  &.cdk-keyboard-focused {
154
116
  box-shadow:
155
- inset 0 0 0.1px 1px kbq-css-variable(states-focused-color, map.get($theme, states, focused-color)),
156
- 0 0 0.1px 1px kbq-css-variable(states-focused-color, map.get($theme, states, focused-color));
117
+ inset 0 0 0.1px 1px kbq-css-variable(states-focused-color),
118
+ 0 0 0.1px 1px kbq-css-variable(states-focused-color);
157
119
  }
158
120
  }
159
121
  }
@@ -3,59 +3,56 @@
3
3
  @use '../core/styles/theming/theming' as *;
4
4
  @use '../core/styles/common/tokens' as *;
5
5
 
6
- @mixin kbq-icon-item-style($component, $type, $style-name) {
7
- $style: map.get($component, $type, $style-name);
6
+ @mixin kbq-icon-item-style($type, $style-name) {
8
7
  $base: icon-item-filled-#{$type}-#{$style-name};
9
8
 
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));
9
+ color: kbq-css-variable(#{$base}-color);
10
+ background: kbq-css-variable(#{$base}-background);
12
11
  }
13
12
 
14
- @mixin kbq-icon-item-theme($theme) {
15
- $icon-item: map.get($theme, components, icon-item);
16
-
13
+ @mixin kbq-icon-item-theme() {
17
14
  .kbq-icon-item.kbq-icon-item_filled {
18
15
  &.kbq-icon-item_fade-off {
19
16
  &.kbq-theme {
20
- @include kbq-icon-item-style($icon-item, fade-off, theme);
17
+ @include kbq-icon-item-style(fade-off, theme);
21
18
  }
22
19
 
23
20
  &.kbq-contrast {
24
- @include kbq-icon-item-style($icon-item, fade-off, contrast);
21
+ @include kbq-icon-item-style(fade-off, contrast);
25
22
  }
26
23
 
27
24
  &.kbq-error {
28
- @include kbq-icon-item-style($icon-item, fade-off, error);
25
+ @include kbq-icon-item-style(fade-off, error);
29
26
  }
30
27
 
31
28
  &.kbq-warning {
32
- @include kbq-icon-item-style($icon-item, fade-off, warning);
29
+ @include kbq-icon-item-style(fade-off, warning);
33
30
  }
34
31
 
35
32
  &.kbq-success {
36
- @include kbq-icon-item-style($icon-item, fade-off, success);
33
+ @include kbq-icon-item-style(fade-off, success);
37
34
  }
38
35
  }
39
36
 
40
37
  &.kbq-icon-item_fade-on {
41
38
  &.kbq-theme {
42
- @include kbq-icon-item-style($icon-item, fade-on, theme);
39
+ @include kbq-icon-item-style(fade-on, theme);
43
40
  }
44
41
 
45
42
  &.kbq-contrast {
46
- @include kbq-icon-item-style($icon-item, fade-on, contrast);
43
+ @include kbq-icon-item-style(fade-on, contrast);
47
44
  }
48
45
 
49
46
  &.kbq-error {
50
- @include kbq-icon-item-style($icon-item, fade-on, error);
47
+ @include kbq-icon-item-style(fade-on, error);
51
48
  }
52
49
 
53
50
  &.kbq-warning {
54
- @include kbq-icon-item-style($icon-item, fade-on, warning);
51
+ @include kbq-icon-item-style(fade-on, warning);
55
52
  }
56
53
 
57
54
  &.kbq-success {
58
- @include kbq-icon-item-style($icon-item, fade-on, success);
55
+ @include kbq-icon-item-style(fade-on, success);
59
56
  }
60
57
  }
61
58
  }
@@ -1,34 +1,29 @@
1
- @use 'sass:map';
2
-
3
- @use '../core/styles/theming/theming' as *;
4
1
  @use '../core/styles/common/tokens' as *;
5
2
 
6
- @mixin kbq-icon-theme($theme) {
7
- $icon: map.get($theme, components, icon);
8
-
3
+ @mixin kbq-icon-theme() {
9
4
  .kbq-icon:not(.kbq-icon-button, .kbq-icon-item) {
10
5
  &.kbq-theme {
11
- color: kbq-css-variable(icon-theme-color, map.get($icon, theme, color));
6
+ color: kbq-css-variable(icon-theme-color);
12
7
  }
13
8
 
14
9
  &.kbq-contrast {
15
- color: kbq-css-variable(icon-contrast-color, map.get($icon, contrast, color));
10
+ color: kbq-css-variable(icon-contrast-color);
16
11
  }
17
12
 
18
13
  &.kbq-contrast-fade {
19
- color: kbq-css-variable(icon-fade-contrast-color, map.get($icon, fade-contrast, color));
14
+ color: kbq-css-variable(icon-fade-contrast-color);
20
15
  }
21
16
 
22
17
  &.kbq-error {
23
- color: kbq-css-variable(icon-error-color, map.get($icon, error, color));
18
+ color: kbq-css-variable(icon-error-color);
24
19
  }
25
20
 
26
21
  &.kbq-warning {
27
- color: kbq-css-variable(icon-warning-color, map.get($icon, warning, color));
22
+ color: kbq-css-variable(icon-warning-color);
28
23
  }
29
24
 
30
25
  &.kbq-success {
31
- color: kbq-css-variable(icon-success-color, map.get($icon, success, color));
26
+ color: kbq-css-variable(icon-success-color);
32
27
  }
33
28
  }
34
29
  }
@@ -0,0 +1,67 @@
1
+ .kbq-icon-button {
2
+ --kbq-icon-button-size-horizontal-padding: 8px;
3
+ --kbq-icon-button-size-left-icon-padding: 6px;
4
+ --kbq-icon-button-size-normal-horizontal-padding: 0;
5
+ --kbq-icon-button-size-normal-vertical-padding: 0;
6
+ --kbq-icon-button-size-small-horizontal-padding: 4px;
7
+ --kbq-icon-button-size-small-vertical-padding: 4px;
8
+ }
9
+
10
+ :where(.kbq-light, .theme-light, .kbq-theme-light) {
11
+ // TODO: remove after all settled, should be assigned via css-tokens.css (#DS-2846)
12
+ --kbq-states-focused-color: hsla(216, 100%, 50%, 100%);
13
+ --kbq-states-focused-color-error: hsla(7, 97%, 50%, 100%);
14
+ --kbq-icon-button-theme-default: hsla(216, 100%, 50%, 100%);
15
+ --kbq-icon-button-theme-states-hover: hsla(216, 100%, 45%, 100%);
16
+ --kbq-icon-button-theme-states-active: hsla(216, 100%, 40%, 100%);
17
+ --kbq-icon-button-theme-states-disabled: hsla(229, 15%, 15%, 32%);
18
+ --kbq-icon-button-contrast-default: hsla(229, 15%, 15%, 100%);
19
+ --kbq-icon-button-contrast-states-hover: hsla(229, 15%, 10%, 100%);
20
+ --kbq-icon-button-contrast-states-active: hsla(229, 15%, 10%, 100%);
21
+ --kbq-icon-button-contrast-states-disabled: hsla(229, 15%, 15%, 32%);
22
+ --kbq-icon-button-fade-contrast-default: hsla(229, 15%, 60%, 100%);
23
+ --kbq-icon-button-fade-contrast-states-hover: hsla(229, 15%, 50%, 100%);
24
+ --kbq-icon-button-fade-contrast-states-active: hsla(229, 15%, 40%, 100%);
25
+ --kbq-icon-button-fade-contrast-states-disabled: hsla(229, 15%, 15%, 32%);
26
+ --kbq-icon-button-error-default: hsla(7, 97%, 45%, 100%);
27
+ --kbq-icon-button-error-states-hover: hsla(7, 97%, 45%, 100%);
28
+ --kbq-icon-button-error-states-active: hsla(7, 97%, 40%, 100%);
29
+ --kbq-icon-button-error-states-disabled: hsla(229, 15%, 15%, 32%);
30
+ --kbq-icon-button-success-default: hsla(104, 64%, 40%, 100%);
31
+ --kbq-icon-button-success-states-hover: hsla(104, 64%, 40%, 100%);
32
+ --kbq-icon-button-success-states-active: hsla(104, 64%, 30%, 100%);
33
+ --kbq-icon-button-success-states-disabled: hsla(229, 15%, 15%, 32%);
34
+ --kbq-icon-button-warning-default: hsla(38, 100%, 42%, 100%);
35
+ --kbq-icon-button-warning-states-hover: hsla(38, 100%, 45%, 100%);
36
+ --kbq-icon-button-warning-states-active: hsla(38, 100%, 42%, 100%);
37
+ --kbq-icon-button-warning-states-disabled: hsla(229, 15%, 15%, 32%);
38
+ }
39
+
40
+ :where(.kbq-dark, .theme-dark, .kbq-theme-dark) {
41
+ --kbq-states-focused-color: hsla(216, 100%, 50%, 100%);
42
+ --kbq-states-focused-color-error: hsla(7, 97%, 50%, 100%);
43
+ --kbq-icon-button-theme-default: hsla(216, 100%, 65%, 100%);
44
+ --kbq-icon-button-theme-states-hover: hsla(216, 100%, 45%, 100%);
45
+ --kbq-icon-button-theme-states-active: hsla(216, 100%, 40%, 100%);
46
+ --kbq-icon-button-theme-states-disabled: hsla(229, 15%, 30%, 100%);
47
+ --kbq-icon-button-contrast-default: hsla(229, 15%, 80%, 100%);
48
+ --kbq-icon-button-contrast-states-hover: hsla(229, 15%, 90%, 100%);
49
+ --kbq-icon-button-contrast-states-active: hsla(229, 15%, 80%, 100%);
50
+ --kbq-icon-button-contrast-states-disabled: hsla(229, 15%, 30%, 100%);
51
+ --kbq-icon-button-fade-contrast-default: hsla(229, 15%, 45%, 100%);
52
+ --kbq-icon-button-fade-contrast-states-hover: hsla(229, 15%, 50%, 100%);
53
+ --kbq-icon-button-fade-contrast-states-active: hsla(229, 15%, 40%, 100%);
54
+ --kbq-icon-button-fade-contrast-states-disabled: hsla(229, 15%, 30%, 100%);
55
+ --kbq-icon-button-error-default: hsla(7, 97%, 60%, 100%);
56
+ --kbq-icon-button-error-states-hover: hsla(7, 97%, 50%, 100%);
57
+ --kbq-icon-button-error-states-active: hsla(7, 97%, 40%, 100%);
58
+ --kbq-icon-button-error-states-disabled: hsla(229, 15%, 30%, 100%);
59
+ --kbq-icon-button-success-default: hsla(104, 64%, 45%, 100%);
60
+ --kbq-icon-button-success-states-hover: hsla(104, 64%, 40%, 100%);
61
+ --kbq-icon-button-success-states-active: hsla(104, 64%, 30%, 100%);
62
+ --kbq-icon-button-success-states-disabled: hsla(229, 15%, 30%, 100%);
63
+ --kbq-icon-button-warning-default: hsla(38, 100%, 60%, 100%);
64
+ --kbq-icon-button-warning-states-hover: hsla(38, 100%, 45%, 100%);
65
+ --kbq-icon-button-warning-states-active: hsla(38, 100%, 42%, 100%);
66
+ --kbq-icon-button-warning-states-disabled: hsla(229, 15%, 30%, 100%);
67
+ }
@@ -3,6 +3,8 @@
3
3
 
4
4
  @use '../core/styles/common/tokens' as *;
5
5
 
6
+ @use './icon-button-theme' as *;
7
+
6
8
  .kbq-icon-button {
7
9
  &:not(.kbq-disabled) {
8
10
  cursor: pointer;
@@ -16,3 +18,5 @@
16
18
  kbq-css-variable(icon-button-size-small-horizontal-padding);
17
19
  }
18
20
  }
21
+
22
+ @include kbq-icon-button-theme();
@@ -0,0 +1,52 @@
1
+ .kbq-icon-item {
2
+ --kbq-icon-item-size-normal-horizontal-padding: 8px;
3
+ --kbq-icon-item-size-normal-vertical-padding: 8px;
4
+ --kbq-icon-item-size-big-horizontal-padding: 16px;
5
+ --kbq-icon-item-size-big-vertical-padding: 16px;
6
+ }
7
+
8
+ :where(.kbq-light, .theme-light, .kbq-theme-light) {
9
+ --kbq-icon-item-filled-fade-off-theme-color: hsla(0, 0%, 100%, 100%);
10
+ --kbq-icon-item-filled-fade-off-theme-background: hsla(216, 100%, 50%, 100%);
11
+ --kbq-icon-item-filled-fade-off-contrast-color: hsla(229, 15%, 100%, 100%);
12
+ --kbq-icon-item-filled-fade-off-contrast-background: hsla(229, 15%, 25%, 100%);
13
+ --kbq-icon-item-filled-fade-off-error-color: hsla(0, 0%, 100%, 100%);
14
+ --kbq-icon-item-filled-fade-off-error-background: hsla(7, 97%, 60%, 100%);
15
+ --kbq-icon-item-filled-fade-off-warning-color: hsla(0, 0%, 100%, 100%);
16
+ --kbq-icon-item-filled-fade-off-warning-background: hsla(38, 100%, 50%, 100%);
17
+ --kbq-icon-item-filled-fade-off-success-color: hsla(0, 0%, 100%, 100%);
18
+ --kbq-icon-item-filled-fade-off-success-background: hsla(104, 64%, 45%, 100%);
19
+ --kbq-icon-item-filled-fade-on-theme-color: hsla(216, 100%, 50%, 100%);
20
+ --kbq-icon-item-filled-fade-on-theme-background: hsla(216, 100%, 85%, 100%);
21
+ --kbq-icon-item-filled-fade-on-contrast-color: hsla(229, 15%, 15%, 100%);
22
+ --kbq-icon-item-filled-fade-on-contrast-background: hsla(229, 15%, 92%, 100%);
23
+ --kbq-icon-item-filled-fade-on-error-color: hsla(7, 97%, 45%, 100%);
24
+ --kbq-icon-item-filled-fade-on-error-background: hsla(7, 97%, 90%, 100%);
25
+ --kbq-icon-item-filled-fade-on-warning-color: hsla(38, 100%, 42%, 100%);
26
+ --kbq-icon-item-filled-fade-on-warning-background: hsla(38, 100%, 85%, 100%);
27
+ --kbq-icon-item-filled-fade-on-success-color: hsla(104, 64%, 40%, 100%);
28
+ --kbq-icon-item-filled-fade-on-success-background: hsla(104, 64%, 80%, 100%);
29
+ }
30
+
31
+ :where(.kbq-dark, .theme-dark, .kbq-theme-dark) {
32
+ --kbq-icon-item-filled-fade-off-theme-color: hsla(0, 0%, 100%, 100%);
33
+ --kbq-icon-item-filled-fade-off-theme-background: hsla(216, 100%, 50%, 100%);
34
+ --kbq-icon-item-filled-fade-off-contrast-color: hsla(229, 15%, 15%, 100%);
35
+ --kbq-icon-item-filled-fade-off-contrast-background: hsla(229, 15%, 90%, 100%);
36
+ --kbq-icon-item-filled-fade-off-error-color: hsla(0, 0%, 100%, 100%);
37
+ --kbq-icon-item-filled-fade-off-error-background: hsla(7, 97%, 41%, 100%);
38
+ --kbq-icon-item-filled-fade-off-warning-color: hsla(0, 0%, 100%, 100%);
39
+ --kbq-icon-item-filled-fade-off-warning-background: hsla(38, 100%, 39%, 100%);
40
+ --kbq-icon-item-filled-fade-off-success-color: hsla(0, 0%, 100%, 100%);
41
+ --kbq-icon-item-filled-fade-off-success-background: hsla(104, 64%, 40%, 100%);
42
+ --kbq-icon-item-filled-fade-on-theme-color: hsla(216, 100%, 65%, 100%);
43
+ --kbq-icon-item-filled-fade-on-theme-background: hsla(216, 100%, 20%, 100%);
44
+ --kbq-icon-item-filled-fade-on-contrast-color: hsla(229, 15%, 80%, 100%);
45
+ --kbq-icon-item-filled-fade-on-contrast-background: hsla(229, 15%, 25%, 100%);
46
+ --kbq-icon-item-filled-fade-on-error-color: hsla(7, 97%, 60%, 100%);
47
+ --kbq-icon-item-filled-fade-on-error-background: hsla(7, 97%, 15%, 100%);
48
+ --kbq-icon-item-filled-fade-on-warning-color: hsla(38, 100%, 60%, 100%);
49
+ --kbq-icon-item-filled-fade-on-warning-background: hsla(38, 100%, 14%, 100%);
50
+ --kbq-icon-item-filled-fade-on-success-color: hsla(104, 64%, 45%, 100%);
51
+ --kbq-icon-item-filled-fade-on-success-background: hsla(104, 64%, 12%, 100%);
52
+ }
@@ -3,6 +3,8 @@
3
3
 
4
4
  @use '../core/styles/common/tokens' as *;
5
5
 
6
+ @use './icon-item-theme' as *;
7
+
6
8
  .kbq-icon-item {
7
9
  box-sizing: border-box;
8
10
 
@@ -18,3 +20,5 @@
18
20
  kbq-css-variable(icon-item-size-big-horizontal-padding);
19
21
  }
20
22
  }
23
+
24
+ @include kbq-icon-item-theme();
@@ -0,0 +1,17 @@
1
+ :where(.kbq-light, .theme-light, .kbq-theme-light) {
2
+ --kbq-icon-theme-color: hsla(216, 100%, 50%, 100%);
3
+ --kbq-icon-contrast-color: hsla(229, 15%, 15%, 100%);
4
+ --kbq-icon-fade-contrast-color: hsla(229, 15%, 60%, 100%);
5
+ --kbq-icon-error-color: hsla(7, 97%, 45%, 100%);
6
+ --kbq-icon-success-color: hsla(104, 64%, 40%, 100%);
7
+ --kbq-icon-warning-color: hsla(38, 100%, 42%, 100%);
8
+ }
9
+
10
+ :where(.kbq-dark, .theme-dark, .kbq-theme-dark) {
11
+ --kbq-icon-theme-color: hsla(216, 100%, 65%, 100%);
12
+ --kbq-icon-contrast-color: hsla(229, 15%, 80%, 100%);
13
+ --kbq-icon-fade-contrast-color: hsla(229, 15%, 45%, 100%);
14
+ --kbq-icon-error-color: hsla(7, 97%, 60%, 100%);
15
+ --kbq-icon-success-color: hsla(104, 64%, 45%, 100%);
16
+ --kbq-icon-warning-color: hsla(38, 100%, 60%, 100%);
17
+ }
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