@koobiq/components 17.5.0 → 17.6.1

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 (148) hide show
  1. package/button/button-tokens.scss +2 -3
  2. package/code-block/_code-block-theme.scss +124 -143
  3. package/code-block/code-block-tokens.scss +400 -0
  4. package/code-block/code-block.scss +4 -2
  5. package/core/services/theme.service.d.ts +16 -0
  6. package/core/styles/_koobiq-theme.scss +3 -58
  7. package/divider/_divider-theme.scss +2 -4
  8. package/divider/divider-tokens.scss +14 -0
  9. package/divider/divider.scss +4 -0
  10. package/dl/_dl-theme.scss +4 -6
  11. package/dl/dl-tokens.scss +32 -0
  12. package/dl/dl.scss +5 -0
  13. package/dropdown/dropdown-tokens.scss +0 -1
  14. package/empty-state/_empty-state-theme.scss +6 -9
  15. package/empty-state/empty-state-tokens.scss +68 -0
  16. package/empty-state/empty-state.scss +5 -0
  17. package/esm2022/button/button.component.mjs +2 -2
  18. package/esm2022/code-block/code-block.component.mjs +3 -3
  19. package/esm2022/core/services/theme.service.mjs +20 -3
  20. package/esm2022/core/version.mjs +2 -2
  21. package/esm2022/divider/divider.component.mjs +3 -3
  22. package/esm2022/dl/dl.component.mjs +3 -3
  23. package/esm2022/empty-state/empty-state.component.mjs +3 -3
  24. package/esm2022/file-upload/multiple-file-upload.component.mjs +3 -3
  25. package/esm2022/file-upload/single-file-upload.component.mjs +3 -3
  26. package/esm2022/form-field/form-field.mjs +2 -2
  27. package/esm2022/form-field/password-hint.mjs +8 -5
  28. package/esm2022/list/list-selection.component.mjs +3 -3
  29. package/esm2022/list/list.component.mjs +3 -3
  30. package/esm2022/loader-overlay/loader-overlay.component.mjs +3 -3
  31. package/esm2022/markdown/markdown.component.mjs +3 -3
  32. package/esm2022/modal/modal.component.mjs +3 -3
  33. package/esm2022/navbar/navbar-item.component.mjs +2 -2
  34. package/esm2022/navbar/navbar.component.mjs +3 -3
  35. package/esm2022/popover/popover-confirm.component.mjs +3 -3
  36. package/esm2022/popover/popover.component.mjs +3 -3
  37. package/esm2022/table/table.component.mjs +3 -3
  38. package/esm2022/timezone/timezone-option.component.mjs +3 -3
  39. package/esm2022/timezone/timezone-select.component.mjs +3 -3
  40. package/esm2022/toast/toast.component.mjs +3 -3
  41. package/esm2022/toggle/toggle.component.mjs +3 -3
  42. package/esm2022/tooltip/tooltip.component.mjs +3 -3
  43. package/esm2022/tree/toggle.mjs +3 -3
  44. package/esm2022/tree/tree-option.component.mjs +3 -3
  45. package/esm2022/tree/tree-selection.component.mjs +3 -3
  46. package/esm2022/tree/tree.mjs +3 -3
  47. package/esm2022/tree-select/tree-select.component.mjs +3 -3
  48. package/fesm2022/koobiq-components-button.mjs +2 -2
  49. package/fesm2022/koobiq-components-code-block.mjs +2 -2
  50. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  51. package/fesm2022/koobiq-components-core.mjs +21 -4
  52. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  53. package/fesm2022/koobiq-components-divider.mjs +2 -2
  54. package/fesm2022/koobiq-components-divider.mjs.map +1 -1
  55. package/fesm2022/koobiq-components-dl.mjs +2 -2
  56. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  57. package/fesm2022/koobiq-components-empty-state.mjs +2 -2
  58. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
  59. package/fesm2022/koobiq-components-file-upload.mjs +4 -4
  60. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  61. package/fesm2022/koobiq-components-form-field.mjs +9 -6
  62. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  63. package/fesm2022/koobiq-components-list.mjs +4 -4
  64. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  65. package/fesm2022/koobiq-components-loader-overlay.mjs +2 -2
  66. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  67. package/fesm2022/koobiq-components-markdown.mjs +2 -2
  68. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  69. package/fesm2022/koobiq-components-modal.mjs +2 -2
  70. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  71. package/fesm2022/koobiq-components-navbar.mjs +4 -4
  72. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  73. package/fesm2022/koobiq-components-popover.mjs +4 -4
  74. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  75. package/fesm2022/koobiq-components-table.mjs +2 -2
  76. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  77. package/fesm2022/koobiq-components-timezone.mjs +4 -4
  78. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  79. package/fesm2022/koobiq-components-toast.mjs +2 -2
  80. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  81. package/fesm2022/koobiq-components-toggle.mjs +2 -2
  82. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  83. package/fesm2022/koobiq-components-tooltip.mjs +2 -2
  84. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  85. package/fesm2022/koobiq-components-tree-select.mjs +2 -2
  86. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  87. package/fesm2022/koobiq-components-tree.mjs +8 -8
  88. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  89. package/file-upload/_file-upload-theme.scss +29 -112
  90. package/file-upload/file-upload-tokens.scss +159 -0
  91. package/file-upload/file-upload.scss +4 -2
  92. package/form-field/form-field-tokens.scss +1 -1
  93. package/icon/icon-button-tokens.scss +0 -1
  94. package/link/link-tokens.scss +1 -1
  95. package/list/_list-theme.scss +14 -25
  96. package/list/list-tokens.scss +100 -0
  97. package/list/list.scss +5 -0
  98. package/loader-overlay/_loader-overlay-theme.scss +8 -23
  99. package/loader-overlay/loader-overlay-tokens.scss +58 -0
  100. package/loader-overlay/loader-overlay.scss +4 -5
  101. package/markdown/_markdown-theme.scss +29 -43
  102. package/markdown/markdown-tokens.scss +252 -0
  103. package/markdown/markdown.scss +0 -6
  104. package/modal/_modal-confirm.scss +0 -3
  105. package/modal/_modal-theme.scss +10 -12
  106. package/modal/modal-tokens.scss +53 -0
  107. package/modal/modal.scss +5 -0
  108. package/navbar/_navbar-theme.scss +15 -25
  109. package/navbar/navbar-divider.scss +0 -3
  110. package/navbar/navbar-item.scss +0 -3
  111. package/navbar/navbar-tokens.scss +83 -0
  112. package/navbar/navbar.scss +5 -3
  113. package/navbar/vertical-navbar.scss +0 -3
  114. package/package.json +6 -6
  115. package/popover/_popover-theme.scss +9 -16
  116. package/popover/popover-tokens.scss +60 -0
  117. package/popover/popover.scss +4 -5
  118. package/prebuilt-themes/dark-theme.css +1 -1
  119. package/prebuilt-themes/light-theme.css +1 -1
  120. package/schematics/ng-add/index.js +4 -4
  121. package/table/_table-theme.scss +7 -15
  122. package/table/table-tokens.scss +37 -0
  123. package/table/table.scss +4 -1
  124. package/textarea/_textarea-theme.scss +1 -1
  125. package/textarea/textarea-tokens.scss +14 -0
  126. package/textarea/textarea.scss +1 -0
  127. package/timezone/_timezone-option-theme.scss +5 -7
  128. package/timezone/timezone-option-tokens.scss +51 -0
  129. package/timezone/timezone-option.component.scss +5 -0
  130. package/timezone/timezone-select.component.scss +5 -0
  131. package/toast/_toast-theme.scss +11 -15
  132. package/toast/toast-tokens.scss +75 -0
  133. package/toast/toast.component.scss +4 -1
  134. package/toggle/_toggle-theme.scss +21 -41
  135. package/toggle/toggle-tokens.scss +142 -0
  136. package/toggle/toggle.scss +4 -1
  137. package/tooltip/_tooltip-theme.scss +13 -23
  138. package/tooltip/tooltip-tokens.scss +63 -0
  139. package/tooltip/tooltip.scss +5 -0
  140. package/tree/_tree-theme.scss +14 -21
  141. package/tree/toggle.scss +5 -0
  142. package/tree/tree-option.scss +0 -5
  143. package/tree/tree-selection.scss +5 -0
  144. package/tree/tree-tokens.scss +94 -0
  145. package/tree/tree.scss +5 -0
  146. package/tree-select/_tree-select-theme.scss +9 -16
  147. package/tree-select/tree-select-tokens.scss +59 -0
  148. package/tree-select/tree-select.scss +5 -0
@@ -52,13 +52,13 @@ function ngAdd(options) {
52
52
  }
53
53
  // Installing dependencies
54
54
  addPackageToPackageJson(tree, '@angular/cdk', "^17.2.0");
55
- addPackageToPackageJson(tree, '@koobiq/cdk', "^17.5.0");
56
- addPackageToPackageJson(tree, '@koobiq/angular-luxon-adapter', "^17.5.0");
55
+ addPackageToPackageJson(tree, '@koobiq/cdk', "^17.6.1");
56
+ addPackageToPackageJson(tree, '@koobiq/angular-luxon-adapter', "^17.6.1");
57
57
  addPackageToPackageJson(tree, '@koobiq/date-formatter', "^3.1.2");
58
58
  addPackageToPackageJson(tree, '@koobiq/date-adapter', "^3.1.2");
59
59
  addPackageToPackageJson(tree, '@koobiq/icons', "^7.1.1");
60
- addPackageToPackageJson(tree, '@koobiq/tokens-builder', "^3.5.0");
61
- addPackageToPackageJson(tree, '@koobiq/design-tokens', "^3.5.0");
60
+ addPackageToPackageJson(tree, '@koobiq/tokens-builder', "^3.5.1");
61
+ addPackageToPackageJson(tree, '@koobiq/design-tokens', "^3.5.1");
62
62
  addPackageToPackageJson(tree, '@messageformat/core', "^3.0.1");
63
63
  addPackageToPackageJson(tree, 'luxon', "^3.4.4");
64
64
  addPackageToPackageJson(tree, 'marked', "^9.0.0");
@@ -1,20 +1,15 @@
1
1
  @use 'sass:meta';
2
2
  @use 'sass:map';
3
3
 
4
- @use '../core/styles/typography/typography-utils' as *;
5
4
  @use '../core/styles/common/tokens' as *;
6
5
 
7
- @mixin kbq-table-theme($theme) {
8
- $foreground: map.get($theme, foreground);
9
- $states-background: map.get($theme, states, background);
10
- $line: map.get($theme, line);
11
-
6
+ @mixin kbq-table-theme() {
12
7
  .kbq-table {
13
8
  & > thead {
14
- color: kbq-css-variable(foreground-contrast-secondary, map.get($foreground, contrast-secondary));
9
+ color: kbq-css-variable(foreground-contrast-secondary);
15
10
 
16
11
  & > tr > th {
17
- border-bottom-color: kbq-css-variable(line-contrast-less, map.get($line, contrast-less));
12
+ border-bottom-color: kbq-css-variable(line-contrast-less);
18
13
  }
19
14
  }
20
15
 
@@ -22,14 +17,11 @@
22
17
  & > tr {
23
18
  & > th,
24
19
  & > td {
25
- color: kbq-css-variable(foreground-contrast, map.get($foreground, contrast));
20
+ color: kbq-css-variable(foreground-contrast);
26
21
  }
27
22
 
28
23
  &:hover td {
29
- background-color: kbq-css-variable(
30
- states-background-transparent-hover,
31
- map.get($states-background, transparent-hover)
32
- );
24
+ background-color: kbq-css-variable(states-background-transparent-hover);
33
25
  }
34
26
  }
35
27
  }
@@ -38,14 +30,14 @@
38
30
  & > tbody > tr {
39
31
  & th,
40
32
  & td {
41
- border-bottom-color: kbq-css-variable(line-contrast-less, map.get($line, contrast-less));
33
+ border-bottom-color: kbq-css-variable(line-contrast-less);
42
34
  }
43
35
  }
44
36
  }
45
37
  }
46
38
  }
47
39
 
48
- @mixin kbq-table-typography($config) {
40
+ @mixin kbq-table-typography() {
49
41
  .kbq-table {
50
42
  & > thead {
51
43
  & > tr > th {
@@ -0,0 +1,37 @@
1
+ .kbq-table {
2
+ --kbq-table-size-border-width: 1px;
3
+ --kbq-table-size-row-padding-vertical: 10px;
4
+ --kbq-table-size-row-padding-horizontal: 8px;
5
+ --kbq-table-font-header-font-size: 14px;
6
+ --kbq-table-font-header-line-height: 20px;
7
+ --kbq-table-font-header-letter-spacing: -0.006em;
8
+ --kbq-table-font-header-font-weight: normal;
9
+ --kbq-table-font-header-font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial,
10
+ sans-serif;
11
+ --kbq-table-font-header-text-transform: null;
12
+ --kbq-table-font-header-font-feature-settings: 'calt', 'kern', 'liga', 'ss01', 'ss04';
13
+ --kbq-table-font-body-font-size: 14px;
14
+ --kbq-table-font-body-line-height: 20px;
15
+ --kbq-table-font-body-letter-spacing: -0.006em;
16
+ --kbq-table-font-body-font-weight: normal;
17
+ --kbq-table-font-body-font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial,
18
+ sans-serif;
19
+ --kbq-table-font-body-text-transform: null;
20
+ --kbq-table-font-body-font-feature-settings: 'calt', 'ss01', 'ss04', 'tnum';
21
+ }
22
+
23
+ :where(.kbq-light, .theme-light, .kbq-theme-light) {
24
+ --kbq-foreground-contrast: hsla(229, 15%, 15%, 100%);
25
+ --kbq-foreground-contrast-secondary: hsla(229, 15%, 50%, 100%);
26
+ --kbq-foreground-contrast-tertiary: hsla(229, 15%, 60%, 100%);
27
+ --kbq-line-contrast-less: hsla(229, 15%, 6%, 12%);
28
+ --kbq-states-background-transparent-hover: hsla(229, 15%, 50%, 8%);
29
+ }
30
+
31
+ :where(.kbq-dark, .theme-dark, .kbq-theme-dark) {
32
+ --kbq-foreground-contrast: hsla(229, 15%, 80%, 100%);
33
+ --kbq-foreground-contrast-secondary: hsla(229, 15%, 60%, 100%);
34
+ --kbq-foreground-contrast-tertiary: hsla(229, 15%, 45%, 100%);
35
+ --kbq-line-contrast-less: hsla(229, 15%, 22%, 100%);
36
+ --kbq-states-background-transparent-hover: hsla(229, 15%, 50%, 16%);
37
+ }
package/table/table.scss CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  @use '../core/styles/common/tokens' as *;
5
5
 
6
- $tokens: meta.module-variables(tokens) !default;
6
+ @use './table-theme' as *;
7
7
 
8
8
  .kbq-table {
9
9
  border-spacing: 0;
@@ -73,3 +73,6 @@ $tokens: meta.module-variables(tokens) !default;
73
73
  }
74
74
  }
75
75
  }
76
+
77
+ @include kbq-table-theme();
78
+ @include kbq-table-typography();
@@ -3,7 +3,7 @@
3
3
 
4
4
  @use '../core/styles/common/tokens' as *;
5
5
 
6
- @mixin kbq-textarea-typography($config) {
6
+ @mixin kbq-textarea-typography() {
7
7
  .kbq-textarea {
8
8
  @include kbq-typography-css-variables(textarea, default);
9
9
  }
@@ -0,0 +1,14 @@
1
+ .kbq-textarea {
2
+ --kbq-textarea-size-min-height: 64px;
3
+ --kbq-textarea-size-max-height: 96px;
4
+ --kbq-textarea-size-padding-vertical: 6px;
5
+ --kbq-textarea-size-padding-horizontal: 12px;
6
+ --kbq-textarea-font-default-font-size: 14px;
7
+ --kbq-textarea-font-default-line-height: 20px;
8
+ --kbq-textarea-font-default-letter-spacing: -0.006em;
9
+ --kbq-textarea-font-default-font-weight: normal;
10
+ --kbq-textarea-font-default-font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue',
11
+ Arial, sans-serif;
12
+ --kbq-textarea-font-default-text-transform: null;
13
+ --kbq-textarea-font-default-font-feature-settings: 'calt', 'kern', 'liga', 'ss01', 'ss04';
14
+ }
@@ -2,6 +2,7 @@
2
2
  @use 'sass:map';
3
3
 
4
4
  @use '../core/styles/common/tokens' as *;
5
+ @use './textarea-tokens' as *;
5
6
 
6
7
  .kbq-textarea {
7
8
  display: inline-block;
@@ -4,24 +4,22 @@
4
4
  @use '../core/styles/typography/typography-utils' as *;
5
5
  @use '../core/styles/common/tokens' as *;
6
6
 
7
- @mixin kbq-timezone-option-theme($theme) {
8
- $timezone: map.get(map.get($theme, components), timezone);
9
-
7
+ @mixin kbq-timezone-option-theme() {
10
8
  .kbq-timezone-option__offset,
11
9
  .kbq-timezone-option__city {
12
- color: kbq-css-variable(timezone-option-text, map.get($timezone, text));
10
+ color: kbq-css-variable(timezone-option-text);
13
11
  }
14
12
 
15
13
  .kbq-timezone-option__cities {
16
- color: kbq-css-variable(timezone-option-caption, map.get($timezone, caption));
14
+ color: kbq-css-variable(timezone-option-caption);
17
15
  }
18
16
 
19
17
  .kbq-timezone-select__panel.kbq-select__panel .kbq-optgroup-label {
20
- color: kbq-css-variable(timezone-option-optgroup-label, map.get($timezone, optgroup-label));
18
+ color: kbq-css-variable(timezone-option-optgroup-label);
21
19
  }
22
20
  }
23
21
 
24
- @mixin kbq-timezone-option-typography($config) {
22
+ @mixin kbq-timezone-option-typography() {
25
23
  .kbq-timezone-option__offset {
26
24
  @include kbq-typography-css-variables(timezone-option, offset-text);
27
25
  }
@@ -0,0 +1,51 @@
1
+ .kbq-timezone-select__panel {
2
+ --kbq-timezone-option-size-padding: 6px 10px;
3
+ --kbq-timezone-option-size-column-gap: 16px;
4
+ --kbq-timezone-option-size-height: auto;
5
+ --kbq-timezone-option-size-max-height: 5em;
6
+ --kbq-timezone-option-size-optgroup-label-padding: 12px 12px 4px 12px;
7
+ --kbq-timezone-option-font-text-font-size: 14px;
8
+ --kbq-timezone-option-font-text-line-height: 20px;
9
+ --kbq-timezone-option-font-text-letter-spacing: -0.006em;
10
+ --kbq-timezone-option-font-text-font-weight: normal;
11
+ --kbq-timezone-option-font-text-font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue',
12
+ Arial, sans-serif;
13
+ --kbq-timezone-option-font-text-text-transform: null;
14
+ --kbq-timezone-option-font-text-font-feature-settings: 'calt', 'ss01', 'ss04', 'tnum';
15
+ --kbq-timezone-option-font-offset-text-font-size: 14px;
16
+ --kbq-timezone-option-font-offset-text-line-height: 20px;
17
+ --kbq-timezone-option-font-offset-text-letter-spacing: -0.006em;
18
+ --kbq-timezone-option-font-offset-text-font-weight: normal;
19
+ --kbq-timezone-option-font-offset-text-font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI',
20
+ 'Helvetica Neue', Arial, sans-serif;
21
+ --kbq-timezone-option-font-offset-text-text-transform: null;
22
+ --kbq-timezone-option-font-offset-text-font-feature-settings: 'calt', 'ss01', 'ss04', 'tnum';
23
+ --kbq-timezone-option-font-caption-font-size: 12px;
24
+ --kbq-timezone-option-font-caption-line-height: 16px;
25
+ --kbq-timezone-option-font-caption-letter-spacing: normal;
26
+ --kbq-timezone-option-font-caption-font-weight: normal;
27
+ --kbq-timezone-option-font-caption-font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI',
28
+ 'Helvetica Neue', Arial, sans-serif;
29
+ --kbq-timezone-option-font-caption-text-transform: null;
30
+ --kbq-timezone-option-font-caption-font-feature-settings: 'calt', 'kern', 'liga', 'ss01', 'ss04';
31
+ --kbq-timezone-option-font-optgroup-label-font-size: 12px;
32
+ --kbq-timezone-option-font-optgroup-label-line-height: 16px;
33
+ --kbq-timezone-option-font-optgroup-label-letter-spacing: 1px;
34
+ --kbq-timezone-option-font-optgroup-label-font-weight: 500;
35
+ --kbq-timezone-option-font-optgroup-label-font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI',
36
+ 'Helvetica Neue', Arial, sans-serif;
37
+ --kbq-timezone-option-font-optgroup-label-text-transform: uppercase;
38
+ --kbq-timezone-option-font-optgroup-label-font-feature-settings: 'calt', 'case', 'kern', 'liga', 'ss01', 'ss04';
39
+ }
40
+
41
+ :where(.kbq-light, .theme-light, .kbq-theme-light) {
42
+ --kbq-timezone-option-text: hsla(229, 15%, 15%, 100%);
43
+ --kbq-timezone-option-caption: hsla(229, 15%, 50%, 100%);
44
+ --kbq-timezone-option-optgroup-label: hsla(229, 15%, 50%, 100%);
45
+ }
46
+
47
+ :where(.kbq-dark, .theme-dark, .kbq-theme-dark) {
48
+ --kbq-timezone-option-text: hsla(229, 15%, 80%, 100%);
49
+ --kbq-timezone-option-caption: hsla(229, 15%, 60%, 100%);
50
+ --kbq-timezone-option-optgroup-label: hsla(229, 15%, 60%, 100%);
51
+ }
@@ -3,6 +3,8 @@
3
3
 
4
4
  @use '../core/styles/common/tokens' as *;
5
5
 
6
+ @use './timezone-option-theme' as *;
7
+
6
8
  .kbq-timezone-option.kbq-option {
7
9
  display: flex;
8
10
  flex-direction: row;
@@ -34,3 +36,6 @@
34
36
  .kbq-select__panel .kbq-timezone-option {
35
37
  height: kbq-css-variable(timezone-option-size-height);
36
38
  }
39
+
40
+ @include kbq-timezone-option-theme();
41
+ @include kbq-timezone-option-typography();
@@ -3,9 +3,14 @@
3
3
 
4
4
  @use '../core/styles/common/tokens' as *;
5
5
 
6
+ @use './timezone-option-theme' as *;
7
+
6
8
  .kbq-timezone-select__panel.kbq-select__panel {
7
9
  .kbq-optgroup-label {
8
10
  display: block;
9
11
  padding: kbq-css-variable(timezone-option-size-optgroup-label-padding);
10
12
  }
11
13
  }
14
+
15
+ @include kbq-timezone-option-theme();
16
+ @include kbq-timezone-option-typography();
@@ -4,45 +4,41 @@
4
4
  @use '../core/styles/typography/typography-utils' as *;
5
5
  @use '../core/styles/common/tokens' as *;
6
6
 
7
- @mixin kbq-toast($component, $style-name) {
8
- $style: map.get($component, $style-name);
7
+ @mixin kbq-toast($style-name) {
8
+ box-shadow: kbq-css-variable(toast-#{$style-name}-container-shadow);
9
9
 
10
- box-shadow: kbq-css-variable(toast-#{$style-name}-container-box-shadow, map.get($style, box-shadow));
11
-
12
- background: kbq-css-variable(toast-#{$style-name}-container-background, map.get($style, background));
10
+ background: kbq-css-variable(toast-#{$style-name}-container-background);
13
11
 
14
12
  .kbq-toast__title {
15
- color: kbq-css-variable(toast-#{$style-name}-container-title, map.get($style, title));
13
+ color: kbq-css-variable(toast-#{$style-name}-container-title);
16
14
  }
17
15
 
18
16
  .kbq-toast__text {
19
- color: kbq-css-variable(toast-#{$style-name}-container-text, map.get($style, text));
17
+ color: kbq-css-variable(toast-#{$style-name}-container-text);
20
18
  }
21
19
  }
22
20
 
23
- @mixin kbq-toast-theme($theme) {
24
- $toast: map.get($theme, components, toast);
25
-
21
+ @mixin kbq-toast-theme() {
26
22
  .kbq-toast {
27
23
  &.kbq-toast_contrast {
28
- @include kbq-toast($toast, contrast);
24
+ @include kbq-toast(contrast);
29
25
  }
30
26
 
31
27
  &.kbq-toast_success {
32
- @include kbq-toast($toast, success);
28
+ @include kbq-toast(success);
33
29
  }
34
30
 
35
31
  &.kbq-toast_warning {
36
- @include kbq-toast($toast, warning);
32
+ @include kbq-toast(warning);
37
33
  }
38
34
 
39
35
  &.kbq-toast_error {
40
- @include kbq-toast($toast, error);
36
+ @include kbq-toast(error);
41
37
  }
42
38
  }
43
39
  }
44
40
 
45
- @mixin kbq-toast-typography($config) {
41
+ @mixin kbq-toast-typography() {
46
42
  .kbq-toast {
47
43
  @include kbq-typography-css-variables(toast, text);
48
44
  }
@@ -0,0 +1,75 @@
1
+ .kbq-toast {
2
+ --kbq-toast-size-container-width: 360px;
3
+ --kbq-toast-size-container-border-radius: 8px;
4
+ --kbq-toast-size-container-padding-left: 12px;
5
+ --kbq-toast-size-container-padding-right: 8px;
6
+ --kbq-toast-size-content-padding-top: 16px;
7
+ --kbq-toast-size-content-padding-bottom: 16px;
8
+ --kbq-toast-size-caption-padding-bottom: 4px;
9
+ --kbq-toast-size-icon-width: 16px;
10
+ --kbq-toast-size-icon-height: 16px;
11
+ --kbq-toast-size-icon-margin-right: 8px;
12
+ --kbq-toast-size-icon-border-radius: 50%;
13
+ --kbq-toast-size-close-button-margin-top: 12px;
14
+ --kbq-toast-size-close-button-margin-right: 4px;
15
+ --kbq-toast-size-button-stack-padding-top: 8px;
16
+ --kbq-toast-size-button-stack-content-gap-horizontal: 12px;
17
+ --kbq-toast-font-title-font-size: 14px;
18
+ --kbq-toast-font-title-line-height: 20px;
19
+ --kbq-toast-font-title-letter-spacing: -0.006em;
20
+ --kbq-toast-font-title-font-weight: normal;
21
+ --kbq-toast-font-title-font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial,
22
+ sans-serif;
23
+ --kbq-toast-font-title-text-transform: null;
24
+ --kbq-toast-font-title-font-feature-settings: 'calt', 'kern', 'liga', 'ss01', 'ss04';
25
+ --kbq-toast-font-text-font-size: 14px;
26
+ --kbq-toast-font-text-line-height: 20px;
27
+ --kbq-toast-font-text-letter-spacing: -0.006em;
28
+ --kbq-toast-font-text-font-weight: normal;
29
+ --kbq-toast-font-text-font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial,
30
+ sans-serif;
31
+ --kbq-toast-font-text-text-transform: null;
32
+ --kbq-toast-font-text-font-feature-settings: 'calt', 'kern', 'liga', 'ss01', 'ss04';
33
+ }
34
+
35
+ :where(.kbq-light, .theme-light, .kbq-theme-light) {
36
+ --kbq-toast-contrast-container-background: hsla(229, 15%, 100%, 100%);
37
+ --kbq-toast-contrast-container-title: hsla(229, 15%, 15%, 100%);
38
+ --kbq-toast-contrast-container-text: hsla(229, 15%, 50%, 100%);
39
+ --kbq-toast-contrast-container-shadow: 0 0 0 1px hsla(229, 15%, 6%, 3%), 0 2px 8px hsla(229, 15%, 6%, 6%),
40
+ 0 3px 8px hsla(229, 15%, 6%, 12%);
41
+ --kbq-toast-error-container-background: hsla(229, 15%, 100%, 100%);
42
+ --kbq-toast-error-container-title: hsla(229, 15%, 15%, 100%);
43
+ --kbq-toast-error-container-text: hsla(229, 15%, 50%, 100%);
44
+ --kbq-toast-error-container-shadow: 0 0 0 1px hsla(229, 15%, 6%, 3%), 0 2px 8px hsla(229, 15%, 6%, 6%),
45
+ 0 3px 8px hsla(229, 15%, 6%, 12%);
46
+ --kbq-toast-warning-container-background: hsla(229, 15%, 100%, 100%);
47
+ --kbq-toast-warning-container-title: hsla(229, 15%, 15%, 100%);
48
+ --kbq-toast-warning-container-text: hsla(229, 15%, 50%, 100%);
49
+ --kbq-toast-warning-container-shadow: 0 0 0 1px hsla(229, 15%, 6%, 3%), 0 2px 8px hsla(229, 15%, 6%, 6%),
50
+ 0 3px 8px hsla(229, 15%, 6%, 12%);
51
+ --kbq-toast-success-container-background: hsla(229, 15%, 100%, 100%);
52
+ --kbq-toast-success-container-title: hsla(229, 15%, 15%, 100%);
53
+ --kbq-toast-success-container-text: hsla(229, 15%, 50%, 100%);
54
+ --kbq-toast-success-container-shadow: 0 0 0 1px hsla(229, 15%, 6%, 3%), 0 2px 8px hsla(229, 15%, 6%, 6%),
55
+ 0 3px 8px hsla(229, 15%, 6%, 12%);
56
+ }
57
+
58
+ :where(.kbq-dark, .theme-dark, .kbq-theme-dark) {
59
+ --kbq-toast-contrast-container-background: hsla(229, 15%, 15%, 100%);
60
+ --kbq-toast-contrast-container-title: hsla(229, 15%, 80%, 100%);
61
+ --kbq-toast-contrast-container-text: hsla(229, 15%, 60%, 100%);
62
+ --kbq-toast-contrast-container-shadow: 0 0 0 1px hsla(229, 100%, 85%, 15%);
63
+ --kbq-toast-error-container-background: hsla(229, 15%, 15%, 100%);
64
+ --kbq-toast-error-container-title: hsla(229, 15%, 80%, 100%);
65
+ --kbq-toast-error-container-text: hsla(229, 15%, 60%, 100%);
66
+ --kbq-toast-error-container-shadow: 0 0 0 1px hsla(229, 100%, 85%, 15%);
67
+ --kbq-toast-warning-container-background: hsla(229, 15%, 15%, 100%);
68
+ --kbq-toast-warning-container-title: hsla(229, 15%, 80%, 100%);
69
+ --kbq-toast-warning-container-text: hsla(229, 15%, 60%, 100%);
70
+ --kbq-toast-warning-container-shadow: 0 0 0 1px hsla(229, 100%, 85%, 15%);
71
+ --kbq-toast-success-container-background: hsla(229, 15%, 15%, 100%);
72
+ --kbq-toast-success-container-title: hsla(229, 15%, 80%, 100%);
73
+ --kbq-toast-success-container-text: hsla(229, 15%, 60%, 100%);
74
+ --kbq-toast-success-container-shadow: 0 0 0 1px hsla(229, 100%, 85%, 15%);
75
+ }
@@ -3,7 +3,7 @@
3
3
 
4
4
  @use '../core/styles/common/tokens' as *;
5
5
 
6
- $tokens: meta.module-variables(tokens) !default;
6
+ @use './toast-theme' as *;
7
7
 
8
8
  .kbq-toast {
9
9
  display: flex;
@@ -98,3 +98,6 @@ $tokens: meta.module-variables(tokens) !default;
98
98
  );
99
99
  margin-right: kbq-css-variable(toast-size-close-button-margin-right);
100
100
  }
101
+
102
+ @include kbq-toast-theme();
103
+ @include kbq-toast-typography();
@@ -1,95 +1,75 @@
1
1
  @use 'sass:meta';
2
2
  @use 'sass:map';
3
3
 
4
- @use '../core/styles/theming/theming' as *;
5
- @use '../core/styles/typography/typography-utils' as *;
6
4
  @use '../core/styles/common/tokens' as *;
7
5
 
8
- @mixin kbq-toggle-state($component, $type, $state-name) {
9
- $state: map.get($component, $type, $state-name);
6
+ @mixin kbq-toggle-state($type, $state-name) {
10
7
  $base: toggle-#{$type}-#{$state-name};
11
8
 
12
9
  .kbq-toggle-bar {
13
- border-color: kbq-css-variable(#{$base}-border, map.get($state, border));
14
- background: kbq-css-variable(#{$base}-background, map.get($state, background));
10
+ border-color: kbq-css-variable(#{$base}-border);
11
+ background: kbq-css-variable(#{$base}-background);
15
12
  }
16
13
 
17
14
  .kbq-toggle__circle {
18
- background: kbq-css-variable(#{$base}-circle-background, map.get($state, circle-background));
15
+ background: kbq-css-variable(#{$base}-circle-background);
19
16
  }
20
17
  }
21
18
 
22
- @mixin kbq-toggle-color($component, $type) {
23
- @include kbq-toggle-state($component, $type, default);
19
+ @mixin kbq-toggle-color($type) {
20
+ @include kbq-toggle-state($type, default);
24
21
 
25
22
  &:hover {
26
- @include kbq-toggle-state($component, $type, states-hover);
23
+ @include kbq-toggle-state($type, states-hover);
27
24
  }
28
25
 
29
26
  &.kbq-active {
30
- @include kbq-toggle-state($component, $type, states-checked);
27
+ @include kbq-toggle-state($type, states-checked);
31
28
  }
32
29
 
33
30
  &.kbq-active:hover {
34
- @include kbq-toggle-state($component, $type, states-checked-hover);
31
+ @include kbq-toggle-state($type, states-checked-hover);
35
32
  }
36
33
 
37
34
  &.cdk-keyboard-focused {
38
- @include kbq-toggle-state($component, $type, states-focused);
35
+ @include kbq-toggle-state($type, states-focused);
39
36
 
40
37
  & .kbq-toggle-bar {
41
- border-color: kbq-css-variable(
42
- toggle-#{$type}-states-focused-focus-outline,
43
- map.get($component, $type, states-focused, focus-outline)
44
- );
45
- box-shadow: 0 0 0.1px 1px
46
- kbq-css-variable(
47
- toggle-#{$type}-states-focused-focus-outline,
48
- map.get($component, $type, states-focused, focus-outline)
49
- );
38
+ border-color: kbq-css-variable(toggle-#{$type}-states-focused-focus-outline);
39
+ box-shadow: 0 0 0.1px 1px kbq-css-variable(toggle-#{$type}-states-focused-focus-outline);
50
40
  }
51
41
  }
52
42
 
53
43
  &.kbq-active.cdk-keyboard-focused {
54
- @include kbq-toggle-state($component, $type, states-checked-focused);
44
+ @include kbq-toggle-state($type, states-checked-focused);
55
45
 
56
46
  & .kbq-toggle-bar {
57
- border-color: kbq-css-variable(
58
- toggle-#{$type}-states-checked-focused-focus-outline,
59
- map.get($component, $type, states-checked-focused, focus-outline)
60
- );
61
- box-shadow: 0 0 0.1px 1px
62
- kbq-css-variable(
63
- toggle-#{$type}-states-checked-focused-focus-outline,
64
- map.get($component, $type, states-checked-focused, focus-outline)
65
- );
47
+ border-color: kbq-css-variable(toggle-#{$type}-states-checked-focused-focus-outline);
48
+ box-shadow: 0 0 0.1px 1px kbq-css-variable(toggle-#{$type}-states-checked-focused-focus-outline);
66
49
  }
67
50
  }
68
51
 
69
52
  &.kbq-disabled,
70
53
  &.kbq-active.kbq-disabled {
71
- @include kbq-toggle-state($component, $type, states-disabled);
54
+ @include kbq-toggle-state($type, states-disabled);
72
55
  }
73
56
  }
74
57
 
75
- @mixin kbq-toggle-theme($theme) {
76
- $toggle: map.get($theme, components, toggle);
77
- $foreground: map.get($theme, foreground);
78
-
58
+ @mixin kbq-toggle-theme() {
79
59
  .kbq-toggle {
80
- @include kbq-toggle-color($toggle, theme);
60
+ @include kbq-toggle-color(theme);
81
61
 
82
62
  &.kbq-error {
83
- @include kbq-toggle-color($toggle, error);
63
+ @include kbq-toggle-color(error);
84
64
  }
85
65
 
86
66
  &.kbq-disabled {
87
- color: kbq-css-variable(foreground-text-disabled, map.get($foreground, text-disabled));
67
+ color: kbq-css-variable(foreground-text-disabled);
88
68
  }
89
69
  }
90
70
  }
91
71
 
92
- @mixin kbq-toggle-typography($config) {
72
+ @mixin kbq-toggle-typography() {
93
73
  .kbq-toggle:not(.kbq-toggle_big) {
94
74
  @include kbq-typography-css-variables(toggle, normal-label);
95
75