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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. package/alert/_alert-theme.scss +19 -33
  2. package/alert/alert.component.scss +49 -141
  3. package/autocomplete/_autocomplete-theme.scss +3 -2
  4. package/autocomplete/autocomplete.scss +7 -14
  5. package/badge/_badge-theme.scss +31 -45
  6. package/badge/badge.component.scss +18 -38
  7. package/button/_button-base.scss +7 -13
  8. package/button/_button-theme.scss +29 -85
  9. package/button/button.component.d.ts +3 -2
  10. package/button/button.scss +7 -16
  11. package/button-toggle/_button-toggle-theme.scss +18 -18
  12. package/button-toggle/button-toggle.scss +14 -34
  13. package/card/_card-theme.scss +19 -17
  14. package/card/card.component.scss +2 -4
  15. package/checkbox/_checkbox-theme.scss +44 -43
  16. package/checkbox/checkbox.scss +23 -21
  17. package/code-block/_code-block-theme.scss +27 -26
  18. package/code-block/actionbar.component.scss +7 -18
  19. package/code-block/code-block.scss +21 -66
  20. package/core/form-field/form-field-ref.d.ts +2 -0
  21. package/core/forms/_forms-theme.scss +4 -7
  22. package/core/forms/_forms.scss +13 -42
  23. package/core/locales/locale-service.d.ts +1 -0
  24. package/core/option/_optgroup-theme.scss +4 -5
  25. package/core/option/_option-action-theme.scss +7 -7
  26. package/core/option/_option-theme.scss +16 -20
  27. package/core/select/common.d.ts +35 -0
  28. package/core/select/index.d.ts +1 -0
  29. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +16 -19
  30. package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +9 -8
  31. package/core/styles/common/_groups.scss +3 -5
  32. package/core/styles/common/_list.scss +14 -18
  33. package/core/styles/common/_popup.scss +5 -4
  34. package/core/styles/common/_select.scss +11 -16
  35. package/core/styles/common/_tokens.scss +30 -9
  36. package/core/styles/theming/_components-theming.scss +151 -131
  37. package/core/styles/visual/_layout.scss +14 -16
  38. package/datepicker/_datepicker-theme.scss +24 -39
  39. package/datepicker/calendar-body.scss +3 -8
  40. package/datepicker/calendar-header.scss +4 -9
  41. package/datepicker/calendar.scss +5 -16
  42. package/datepicker/datepicker-content.scss +4 -12
  43. package/datepicker/datepicker-input.scss +0 -4
  44. package/datepicker/datepicker-toggle.scss +3 -2
  45. package/divider/_divider-theme.scss +3 -1
  46. package/divider/divider.scss +9 -25
  47. package/dl/_dl-theme.scss +5 -6
  48. package/dl/dl.scss +5 -19
  49. package/dropdown/_dropdown-theme.scss +21 -21
  50. package/dropdown/dropdown-item.scss +5 -11
  51. package/dropdown/dropdown-trigger.directive.d.ts +2 -2
  52. package/dropdown/dropdown.scss +6 -14
  53. package/esm2022/alert/alert.component.mjs +2 -2
  54. package/esm2022/badge/badge.component.mjs +2 -2
  55. package/esm2022/button/button.component.mjs +13 -6
  56. package/esm2022/button-toggle/button-toggle.component.mjs +2 -2
  57. package/esm2022/checkbox/checkbox.mjs +2 -2
  58. package/esm2022/code-block/actionbar.component.mjs +2 -2
  59. package/esm2022/code-block/code-block.component.mjs +2 -2
  60. package/esm2022/core/form-field/form-field-ref.mjs +1 -1
  61. package/esm2022/core/locales/locale-service.mjs +5 -2
  62. package/esm2022/core/option/option.mjs +2 -2
  63. package/esm2022/core/select/common.mjs +120 -0
  64. package/esm2022/core/select/index.mjs +2 -1
  65. package/esm2022/core/version.mjs +2 -2
  66. package/esm2022/datepicker/calendar-header.component.mjs +1 -1
  67. package/esm2022/dropdown/dropdown-item.component.mjs +2 -2
  68. package/esm2022/dropdown/dropdown-trigger.directive.mjs +4 -4
  69. package/esm2022/file-upload/multiple-file-upload.component.mjs +2 -2
  70. package/esm2022/file-upload/single-file-upload.component.mjs +2 -2
  71. package/esm2022/form-field/form-field.mjs +2 -2
  72. package/esm2022/form-field/hint.mjs +2 -2
  73. package/esm2022/form-field/password-hint.mjs +2 -2
  74. package/esm2022/icon/icon-item.component.mjs +16 -6
  75. package/esm2022/list/list-selection.component.mjs +2 -2
  76. package/esm2022/list/list.component.mjs +2 -2
  77. package/esm2022/markdown/markdown.component.mjs +2 -2
  78. package/esm2022/navbar/navbar-item.component.mjs +2 -2
  79. package/esm2022/navbar/navbar.component.mjs +2 -2
  80. package/esm2022/navbar/vertical-navbar.component.mjs +2 -2
  81. package/esm2022/popover/popover-confirm.component.mjs +3 -3
  82. package/esm2022/popover/popover.component.mjs +3 -3
  83. package/esm2022/radio/radio.component.mjs +2 -2
  84. package/esm2022/scrollbar/scrollbar.component.mjs +2 -2
  85. package/esm2022/select/select.component.mjs +18 -114
  86. package/esm2022/select/select.module.mjs +28 -28
  87. package/esm2022/table/table.component.mjs +2 -2
  88. package/esm2022/tabs/tab-group.component.mjs +54 -12
  89. package/esm2022/tabs/tab-header.component.mjs +2 -2
  90. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +2 -2
  91. package/esm2022/tags/tag-default-options.mjs +1 -1
  92. package/esm2022/tags/tag-input.mjs +17 -3
  93. package/esm2022/tags/tag-list.component.mjs +2 -2
  94. package/esm2022/tags/tag.component.mjs +2 -2
  95. package/esm2022/timepicker/timepicker.directive.mjs +10 -2
  96. package/esm2022/timezone/timezone-option.component.mjs +2 -2
  97. package/esm2022/timezone/timezone-select.component.mjs +5 -5
  98. package/esm2022/title/title.directive.mjs +2 -2
  99. package/esm2022/toast/toast.component.mjs +3 -3
  100. package/esm2022/toast/toast.service.mjs +17 -12
  101. package/esm2022/tooltip/tooltip.component.mjs +2 -2
  102. package/esm2022/tree/tree-option.component.mjs +2 -2
  103. package/esm2022/tree-select/tree-select.component.mjs +9 -37
  104. package/esm2022/tree-select/tree-select.module.mjs +31 -11
  105. package/fesm2022/koobiq-components-alert.mjs +2 -2
  106. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  107. package/fesm2022/koobiq-components-badge.mjs +2 -2
  108. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  109. package/fesm2022/koobiq-components-button-toggle.mjs +2 -2
  110. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  111. package/fesm2022/koobiq-components-button.mjs +12 -5
  112. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  113. package/fesm2022/koobiq-components-checkbox.mjs +2 -2
  114. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  115. package/fesm2022/koobiq-components-code-block.mjs +4 -4
  116. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  117. package/fesm2022/koobiq-components-core.mjs +124 -7
  118. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  119. package/fesm2022/koobiq-components-datepicker.mjs +1 -1
  120. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  121. package/fesm2022/koobiq-components-dropdown.mjs +5 -5
  122. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  123. package/fesm2022/koobiq-components-file-upload.mjs +4 -4
  124. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  125. package/fesm2022/koobiq-components-form-field.mjs +6 -6
  126. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  127. package/fesm2022/koobiq-components-icon.mjs +14 -4
  128. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  129. package/fesm2022/koobiq-components-list.mjs +4 -4
  130. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  131. package/fesm2022/koobiq-components-markdown.mjs +2 -2
  132. package/fesm2022/koobiq-components-navbar.mjs +6 -6
  133. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  134. package/fesm2022/koobiq-components-popover.mjs +4 -4
  135. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  136. package/fesm2022/koobiq-components-radio.mjs +2 -2
  137. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  138. package/fesm2022/koobiq-components-scrollbar.mjs +2 -2
  139. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  140. package/fesm2022/koobiq-components-select.mjs +46 -142
  141. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  142. package/fesm2022/koobiq-components-table.mjs +2 -2
  143. package/fesm2022/koobiq-components-tabs.mjs +56 -14
  144. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  145. package/fesm2022/koobiq-components-tags.mjs +20 -7
  146. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  147. package/fesm2022/koobiq-components-timepicker.mjs +9 -1
  148. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  149. package/fesm2022/koobiq-components-timezone.mjs +6 -6
  150. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  151. package/fesm2022/koobiq-components-title.mjs +1 -1
  152. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  153. package/fesm2022/koobiq-components-toast.mjs +19 -13
  154. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  155. package/fesm2022/koobiq-components-tooltip.mjs +2 -2
  156. package/fesm2022/koobiq-components-tree-select.mjs +37 -44
  157. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  158. package/fesm2022/koobiq-components-tree.mjs +2 -2
  159. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  160. package/file-upload/_file-upload-theme.scss +109 -68
  161. package/file-upload/file-upload.scss +0 -5
  162. package/file-upload/multiple-file-upload.component.scss +35 -99
  163. package/file-upload/single-file-upload.component.scss +12 -31
  164. package/form-field/_form-field-theme.scss +32 -34
  165. package/form-field/_hint-theme.scss +16 -19
  166. package/form-field/cleaner.scss +3 -8
  167. package/form-field/form-field.scss +11 -12
  168. package/form-field/hint.scss +5 -7
  169. package/form-field/password-toggle.scss +3 -9
  170. package/form-field/stepper.scss +4 -10
  171. package/icon/_icon-button-theme.scss +35 -35
  172. package/icon/_icon-item-theme.scss +46 -31
  173. package/icon/_icon-theme.scss +9 -15
  174. package/icon/icon-button.scss +5 -17
  175. package/icon/icon-item.component.d.ts +3 -1
  176. package/icon/icon-item.scss +12 -7
  177. package/icon/icon.scss +0 -5
  178. package/input/_input-theme.scss +2 -3
  179. package/input/input.scss +2 -1
  180. package/link/_link-theme.scss +25 -42
  181. package/list/_list-theme.scss +18 -17
  182. package/list/list.scss +3 -5
  183. package/loader-overlay/_loader-overlay-theme.scss +13 -16
  184. package/loader-overlay/loader-overlay.scss +9 -32
  185. package/markdown/_markdown-theme.scss +41 -44
  186. package/markdown/markdown.scss +38 -88
  187. package/modal/_modal-confirm.scss +2 -6
  188. package/modal/_modal-theme.scss +11 -12
  189. package/modal/modal.scss +18 -24
  190. package/navbar/_navbar-item_horizontal.scss +28 -28
  191. package/navbar/_navbar-item_vertical.scss +31 -30
  192. package/navbar/_navbar-theme.scss +21 -22
  193. package/navbar/navbar-brand.scss +24 -26
  194. package/navbar/navbar-divider.scss +4 -7
  195. package/navbar/navbar-item.scss +11 -13
  196. package/navbar/navbar.scss +2 -5
  197. package/navbar/vertical-navbar.scss +3 -5
  198. package/package.json +9 -9
  199. package/popover/_popover-theme.scss +9 -16
  200. package/popover/popover.scss +18 -24
  201. package/prebuilt-themes/dark-theme.css +1 -1
  202. package/prebuilt-themes/light-theme.css +1 -1
  203. package/progress-bar/_progress-bar-theme.scss +7 -10
  204. package/progress-bar/progress-bar.scss +6 -18
  205. package/progress-spinner/_progress-spinner-theme.scss +6 -7
  206. package/progress-spinner/progress-spinner.scss +8 -17
  207. package/radio/_radio-theme.scss +29 -37
  208. package/radio/radio.scss +20 -39
  209. package/risk-level/_risk-level-theme.scss +25 -30
  210. package/risk-level/risk-level.component.scss +5 -8
  211. package/schematics/ng-add/index.js +6 -6
  212. package/scrollbar/_scrollbar-component-theme.scss +14 -17
  213. package/scrollbar/scrollbar.component.scss +13 -20
  214. package/select/_select-theme.scss +14 -15
  215. package/select/select.component.d.ts +2 -32
  216. package/select/select.module.d.ts +1 -1
  217. package/select/select.scss +3 -10
  218. package/sidepanel/_sidepanel-theme.scss +8 -9
  219. package/sidepanel/sidepanel.scss +19 -30
  220. package/splitter/_splitter-theme.scss +3 -3
  221. package/table/_table-theme.scss +9 -8
  222. package/table/table.scss +12 -12
  223. package/tabs/_tabs-common.scss +4 -7
  224. package/tabs/_tabs-theme.scss +77 -44
  225. package/tabs/tab-group.component.d.ts +9 -3
  226. package/tabs/tab-group.scss +2 -7
  227. package/tabs/tab-header.scss +0 -4
  228. package/tabs/tab-nav-bar/tab-nav-bar.scss +2 -7
  229. package/tags/_tag-theme.scss +23 -26
  230. package/tags/tag-default-options.d.ts +1 -0
  231. package/tags/tag-input.d.ts +7 -1
  232. package/tags/tag-list.scss +6 -5
  233. package/tags/tag.scss +6 -9
  234. package/textarea/_textarea-theme.scss +2 -4
  235. package/textarea/textarea.scss +4 -6
  236. package/timepicker/timepicker.scss +2 -7
  237. package/timezone/_timezone-option-theme.scss +8 -9
  238. package/timezone/timezone-option.component.scss +5 -7
  239. package/timezone/timezone-select.component.d.ts +2 -1
  240. package/timezone/timezone-select.component.scss +2 -3
  241. package/toast/_toast-theme.scss +15 -14
  242. package/toast/toast-container.component.scss +4 -7
  243. package/toast/toast.component.scss +20 -25
  244. package/toast/toast.service.d.ts +8 -4
  245. package/toggle/_toggle-theme.scss +48 -42
  246. package/toggle/toggle.scss +9 -21
  247. package/tooltip/_tooltip-theme.scss +13 -16
  248. package/tooltip/tooltip.scss +8 -10
  249. package/tree/_tree-theme.scss +20 -22
  250. package/tree/toggle.scss +3 -5
  251. package/tree/tree-option.scss +5 -6
  252. package/tree-select/_tree-select-theme.scss +12 -14
  253. package/tree-select/tree-select.component.d.ts +4 -17
  254. package/tree-select/tree-select.module.d.ts +1 -2
  255. package/tree-select/tree-select.scss +1 -5
  256. package/core/styles/_variables.scss +0 -1
@@ -3,11 +3,9 @@
3
3
 
4
4
  @use '../../styles/common/rtl';
5
5
 
6
- @use '../tokens';
6
+ @use '../common/tokens' as *;
7
7
 
8
8
 
9
- $tokens: meta.module-variables(tokens) !default;
10
-
11
9
  /*
12
10
  * Responsive attributes
13
11
  *
@@ -456,19 +454,19 @@ $tokens: meta.module-variables(tokens) !default;
456
454
 
457
455
  @mixin layout-indents() {
458
456
  $sizes: (
459
- '3xs': map.get($tokens, size-3xs),
460
- 'xxs': map.get($tokens, size-xxs),
461
- 'xs': map.get($tokens, size-xs),
462
- 's': map.get($tokens, size-s),
463
- 'm': map.get($tokens, size-m),
464
- 'l': map.get($tokens, size-l),
465
- 'xl': map.get($tokens, size-xl),
466
- 'xxl': map.get($tokens, size-xxl),
467
- '3xl': map.get($tokens, size-3xl),
468
- '4xl': map.get($tokens, size-4xl),
469
- '5xl': map.get($tokens, size-5xl),
470
- '6xl': map.get($tokens, size-6xl),
471
- '7xl': map.get($tokens, size-7xl)
457
+ '3xs': kbq-css-variable(size-3xs),
458
+ 'xxs': kbq-css-variable(size-xxs),
459
+ 'xs': kbq-css-variable(size-xs),
460
+ 's': kbq-css-variable(size-s),
461
+ 'm': kbq-css-variable(size-m),
462
+ 'l': kbq-css-variable(size-l),
463
+ 'xl': kbq-css-variable(size-xl),
464
+ 'xxl': kbq-css-variable(size-xxl),
465
+ '3xl': kbq-css-variable(size-3xl),
466
+ '4xl': kbq-css-variable(size-4xl),
467
+ '5xl': kbq-css-variable(size-5xl),
468
+ '6xl': kbq-css-variable(size-6xl),
469
+ '7xl': kbq-css-variable(size-7xl)
472
470
  );
473
471
 
474
472
  $indents: 'padding', 'margin';
@@ -3,85 +3,70 @@
3
3
 
4
4
  @use '../core/styles/theming/theming';
5
5
  @use '../core/styles/typography/typography-utils' as *;
6
+ @use '../core/styles/common/tokens' as *;
6
7
 
7
8
 
8
- $kbq-datepicker-selected-fade-amount: 0.6;
9
- $kbq-datepicker-today-fade-amount: 0.2;
10
-
11
9
  @mixin kbq-datepicker-theme($theme) {
12
10
  $datepicker: map.get(map.get($theme, components), datepicker);
13
11
 
14
- $container: map.get($datepicker, container);
15
- $header: map.get($datepicker, header);
16
- $cell: map.get($datepicker, cell);
17
-
18
12
  .kbq-datepicker__content {
19
- background: map.get($container, background);
20
- box-shadow: map.get($container, box-shadow);
13
+ background: kbq-css-variable(datepicker-container-background, map.get($datepicker, container, background));
14
+ box-shadow: kbq-css-variable(datepicker-container-bo-shadow, map.get($datepicker, container, box-shadow));
21
15
  }
22
16
 
23
17
  .kbq-calendar__table-header {
24
- color: map.get($header, text);
18
+ color: kbq-css-variable(datepicker-header-text, map.get($datepicker, header, text));
25
19
  }
26
20
 
27
21
  .kbq-calendar__table-header-divider::after {
28
- background: map.get($header, divider);
22
+ background: kbq-css-variable(datepicker-header-divider, map.get($datepicker, header, divider));
29
23
  }
30
24
 
31
25
  .kbq-calendar__body-cell-content {
32
- $default: map.get($cell, default);
33
-
34
- background: map.get($default, background);
35
- color: map.get($default, text);
26
+ background: kbq-css-variable(
27
+ datepicker-cell-default-background, map.get($datepicker, cell, default, background));
28
+ color: kbq-css-variable(datepicker-cell-default-text, map.get($datepicker, cell, default, text));
36
29
 
37
30
  &.kbq-calendar__body-today {
38
- $today: map.get($cell, today);
39
-
40
- background: map.get($today, background);
41
- color: map.get($today, text);
31
+ background: kbq-css-variable(
32
+ datepicker-cell-today-background, map.get($datepicker, cell, today, background));
33
+ color: kbq-css-variable(datepicker-cell-today-text, map.get($datepicker, cell, today, text));
42
34
  }
43
35
 
44
36
  &:hover:not(.kbq-disabled) {
45
- $hover: map.get($cell, hover);
46
-
47
- background: map.get($hover, background);
37
+ background: kbq-css-variable(
38
+ datepicker-cell-hover-background, map.get($datepicker, cell, hover, background));
48
39
  }
49
40
 
50
41
  &:active:not(.kbq-disabled) {
51
- $active: map.get($cell, active);
52
-
53
- background: map.get($active, background);
42
+ background: kbq-css-variable(
43
+ datepicker-cell-active-background, map.get($datepicker, cell, active, background));
54
44
  }
55
45
 
56
46
  &.kbq-selected:not(.kbq-disabled) {
57
- $selected: map.get($cell, selected);
58
-
59
- background: map.get($selected, background);
60
- color: map.get($selected, text);
47
+ background: kbq-css-variable(
48
+ datepicker-cell-selected-background, map.get($datepicker, cell, selected, background));
49
+ color: kbq-css-variable(datepicker-cell-selected-text, map.get($datepicker, cell, selected, text));
61
50
 
62
51
  &:hover {
63
- $selected-hover: map.get($cell, selected-hover);
64
-
65
- background: map.get($selected-hover, background);
52
+ background: kbq-css-variable(
53
+ datepicker-cell-selected-hover-background, map.get($datepicker, cell, selected-hover, background));
66
54
  }
67
55
  }
68
56
 
69
57
  &.kbq-disabled {
70
- $disabled: map.get($cell, disabled);
71
-
72
- background: map.get($disabled, background);
58
+ background: kbq-css-variable(
59
+ datepicker-cell-disabled-background, map.get($datepicker, cell, disabled, background));
73
60
  }
74
61
  }
75
62
  }
76
63
 
77
64
  @mixin kbq-datepicker-typography($config) {
78
- $tokens: map.get($config, tokens);
79
-
80
65
  .kbq-calendar {
81
- @include kbq-typography-level-to-styles($config, map.get($tokens, datepicker-font-text));
66
+ @include kbq-typography-css-variables(datepicker, text);
82
67
  }
83
68
 
84
69
  .kbq-calendar__table-header th {
85
- @include kbq-typography-level-to-styles($config, map.get($tokens, datepicker-font-text));
70
+ @include kbq-typography-css-variables(datepicker, text);
86
71
  }
87
72
  }
@@ -2,6 +2,7 @@
2
2
  @use 'sass:map';
3
3
 
4
4
  @use '../core/styles/tokens';
5
+ @use '../core/styles/common/tokens' as *;
5
6
 
6
7
 
7
8
  $tokens: meta.module-variables(tokens) !default;
@@ -33,14 +34,8 @@ $tokens: meta.module-variables(tokens) !default;
33
34
  // Prevents text being off-center on Android.
34
35
  line-height: 1;
35
36
 
36
- border-radius: var(
37
- --kbq-datepicker-size-grid-cell-border-radius,
38
- map.get($tokens, datepicker-size-grid-cell-border-radius)
39
- );
37
+ border-radius: kbq-css-variable(datepicker-size-grid-cell-border-radius);
40
38
 
41
- margin-bottom: var(
42
- --kbq-datepicker-size-grid-content-gap-vertical,
43
- map.get($tokens, datepicker-size-grid-content-gap-vertical)
44
- );
39
+ margin-bottom: kbq-css-variable(datepicker-size-grid-content-gap-vertical);
45
40
  }
46
41
 
@@ -2,6 +2,7 @@
2
2
  @use 'sass:map';
3
3
 
4
4
  @use '../core/styles/tokens';
5
+ @use '../core/styles/common/tokens' as *;
5
6
 
6
7
 
7
8
  $tokens: meta.module-variables(tokens) !default;
@@ -11,17 +12,11 @@ $tokens: meta.module-variables(tokens) !default;
11
12
  flex-direction: row;
12
13
  justify-content: space-between;
13
14
 
14
- padding-right: var(
15
- --kbq-datepicker-size-header-padding-horizontal, map.get($tokens, datepicker-size-header-padding-horizontal)
16
- );
15
+ padding-right: kbq-css-variable(datepicker-size-header-padding-horizontal);
17
16
 
18
- padding-left: var(
19
- --kbq-datepicker-size-header-padding-horizontal, map.get($tokens, datepicker-size-header-padding-horizontal)
20
- );
17
+ padding-left: kbq-css-variable(datepicker-size-header-padding-horizontal);
21
18
 
22
- margin-bottom: var(
23
- --kbq-datepicker-size-header-margin-bottom, map.get($tokens, datepicker-size-header-margin-bottom)
24
- );
19
+ margin-bottom: kbq-css-variable(datepicker-size-header-margin-bottom);
25
20
  }
26
21
 
27
22
  .kbq-calendar-header__select {
@@ -2,6 +2,7 @@
2
2
  @use 'sass:map';
3
3
 
4
4
  @use '../core/styles/tokens';
5
+ @use '../core/styles/common/tokens' as *;
5
6
 
6
7
 
7
8
  $tokens: meta.module-variables(tokens) !default;
@@ -11,15 +12,9 @@ $tokens: meta.module-variables(tokens) !default;
11
12
  }
12
13
 
13
14
  .kbq-calendar__content {
14
- padding-right: var(
15
- --kbq-datepicker-size-grid-padding-horizontal,
16
- map.get($tokens, datepicker-size-grid-padding-horizontal)
17
- );
15
+ padding-right: kbq-css-variable(datepicker-size-grid-padding-horizontal);
18
16
 
19
- padding-left: var(
20
- --kbq-datepicker-size-grid-padding-horizontal,
21
- map.get($tokens, datepicker-size-grid-padding-horizontal)
22
- );
17
+ padding-left: kbq-css-variable(datepicker-size-grid-padding-horizontal);
23
18
 
24
19
  outline: none;
25
20
  }
@@ -38,10 +33,7 @@ $tokens: meta.module-variables(tokens) !default;
38
33
  position: relative;
39
34
 
40
35
  box-sizing: border-box;
41
- height: var(
42
- --kbq-datepicker-size-grid-content-gap-vertical,
43
- map.get($tokens, datepicker-size-grid-content-gap-vertical)
44
- );;
36
+ height: kbq-css-variable(datepicker-size-grid-content-gap-vertical);;
45
37
 
46
38
  $horizontal-padding: map.get($tokens, datepicker-size-grid-padding-horizontal);
47
39
  // We use an absolutely positioned pseudo-element as the divider line for the table header so we
@@ -54,10 +46,7 @@ $tokens: meta.module-variables(tokens) !default;
54
46
  left: calc(-1 * var(--kbq-datepicker-size-grid-padding-horizontal, #{$horizontal-padding}));
55
47
  right: calc(-1 * var(--kbq-datepicker-size-grid-padding-horizontal, #{$horizontal-padding}));
56
48
 
57
- height: var(
58
- --kbq-datepicker-size-grid-divider-height,
59
- map.get($tokens, datepicker-size-grid-divider-height)
60
- );
49
+ height: kbq-css-variable(datepicker-size-grid-divider-height);
61
50
  }
62
51
  }
63
52
  }
@@ -2,6 +2,7 @@
2
2
  @use 'sass:map';
3
3
 
4
4
  @use '../core/styles/tokens';
5
+ @use '../core/styles/common/tokens' as *;
5
6
 
6
7
 
7
8
  $tokens: meta.module-variables(tokens) !default;
@@ -18,23 +19,14 @@ $kbq-datepicker-non-touch-calendar-height: 270px;
18
19
  .kbq-datepicker__content {
19
20
  display: block;
20
21
 
21
- border-radius: var(
22
- --kbq-datepicker-size-container-border-radius,
23
- map.get($tokens, datepicker-size-container-border-radius)
24
- );
22
+ border-radius: kbq-css-variable(datepicker-size-container-border-radius);
25
23
 
26
24
  .kbq-calendar {
27
25
  width: $kbq-datepicker-non-touch-calendar-width;
28
26
  height: $kbq-datepicker-non-touch-calendar-height;
29
27
 
30
- padding-top: var(
31
- --kbq-datepicker-size-container-padding-vertical,
32
- map.get($tokens, datepicker-size-container-padding-vertical)
33
- );
28
+ padding-top: kbq-css-variable(datepicker-size-container-padding-vertical);
34
29
 
35
- padding-bottom: var(
36
- --kbq-datepicker-size-container-padding-vertical,
37
- map.get($tokens, datepicker-size-container-padding-vertical)
38
- );
30
+ padding-bottom: kbq-css-variable(datepicker-size-container-padding-vertical);
39
31
  }
40
32
  }
@@ -1,10 +1,6 @@
1
1
  @use 'sass:meta';
2
2
  @use 'sass:map';
3
3
 
4
- @use '../core/styles/tokens';
5
-
6
-
7
- $tokens: meta.module-variables(tokens) !default;
8
4
 
9
5
  .kbq-form-field-type-datepicker {
10
6
  width: auto;
@@ -2,6 +2,7 @@
2
2
  @use 'sass:map';
3
3
 
4
4
  @use '../core/styles/tokens';
5
+ @use '../core/styles/common/tokens' as *;
5
6
 
6
7
 
7
8
  $tokens: meta.module-variables(tokens) !default;
@@ -11,8 +12,8 @@ $tokens: meta.module-variables(tokens) !default;
11
12
  }
12
13
 
13
14
  .kbq-datepicker-toggle__button.kbq-button-icon {
14
- width: var(--kbq-datepicker-toggle-size-width, map.get($tokens, datepicker-toggle-size-width));
15
- height: var(--kbq-datepicker-toggle-size-height, map.get($tokens, datepicker-toggle-size-height));
15
+ width: kbq-css-variable(datepicker-toggle-size-width);
16
+ height: kbq-css-variable(datepicker-toggle-size-height);
16
17
  margin-left: 2px;
17
18
  }
18
19
 
@@ -1,10 +1,12 @@
1
1
  @use 'sass:map';
2
2
 
3
+ @use '../core/styles/common/tokens' as *;
4
+
3
5
 
4
6
  @mixin kbq-divider-theme($theme) {
5
7
  $divider: map.get(map.get($theme, components), divider);
6
8
 
7
9
  .kbq-divider {
8
- background: map.get($divider, color);
10
+ background: kbq-css-variable(divider-color, map.get($divider, color));
9
11
  }
10
12
  }
@@ -1,10 +1,7 @@
1
1
  @use 'sass:meta';
2
2
  @use 'sass:map';
3
3
 
4
- @use '../core/styles/tokens';
5
-
6
-
7
- $tokens: meta.module-variables(tokens) !default;
4
+ @use '../core/styles/common/tokens' as *;
8
5
 
9
6
 
10
7
  .kbq-divider {
@@ -12,36 +9,23 @@ $tokens: meta.module-variables(tokens) !default;
12
9
  margin: 0;
13
10
 
14
11
  &.kbq-divider_horizontal {
15
- height: var(--kbq-divider-size-horizontal-width, map.get($tokens, divider-size-horizontal-width));
12
+ height: kbq-css-variable(divider-size-horizontal-width);
16
13
 
17
14
  &.kbq-divider_paddings {
18
- margin-top: var(
19
- --kbq-divider-size-horizontal-margin-vertical,
20
- map.get($tokens, divider-size-horizontal-margin-vertical)
21
- );
22
-
23
- margin-bottom: var(
24
- --kbq-divider-size-horizontal-margin-vertical,
25
- map.get($tokens, divider-size-horizontal-margin-vertical)
26
- );
15
+ margin-top: kbq-css-variable(divider-size-horizontal-margin-vertical);
16
+
17
+ margin-bottom: kbq-css-variable(divider-size-horizontal-margin-vertical);
27
18
  }
28
19
  }
29
20
 
30
21
  &.kbq-divider_vertical {
31
- width: var(--kbq-divider-size-vertical-width, map.get($tokens, divider-size-vertical-width));
22
+ width: kbq-css-variable(divider-size-vertical-width);
32
23
  height: 100%;
33
24
 
34
25
  &.kbq-divider_paddings {
35
- margin-left: var(
36
- --kbq-divider-size-vertical-margin-horizontal,
37
- map.get($tokens, divider-size-vertical-margin-horizontal)
38
- );
39
-
40
- margin-right: var(
41
- --kbq-divider-size-vertical-margin-horizontal,
42
- map.get($tokens, divider-size-vertical-margin-horizontal)
43
- );
26
+ margin-left: kbq-css-variable(divider-size-vertical-margin-horizontal);
27
+
28
+ margin-right: kbq-css-variable(divider-size-vertical-margin-horizontal);
44
29
  }
45
30
  }
46
-
47
31
  }
package/dl/_dl-theme.scss CHANGED
@@ -2,30 +2,29 @@
2
2
  @use 'sass:map';
3
3
 
4
4
  @use '../core/styles/typography/typography-utils' as *;
5
+ @use '../core/styles/common/tokens' as *;
5
6
 
6
7
 
7
8
  @mixin kbq-dl-theme($theme) {
8
9
  $dl: map.get(map.get($theme, components), dl);
9
10
 
10
11
  .kbq-dt {
11
- color: map.get($dl, dt);
12
+ color: kbq-css-variable(dl-dt, map.get($dl, dt));
12
13
  }
13
14
 
14
15
  .kbq-dd {
15
- color: map.get($dl, dd);
16
+ color: kbq-css-variable(dl-dd, map.get($dl, dd));
16
17
  }
17
18
  }
18
19
 
19
20
  @mixin kbq-dl-typography($config) {
20
- $tokens: map.get($config, tokens);
21
-
22
21
  .kbq-dl {
23
22
  & .kbq-dt {
24
- @include kbq-typography-level-to-styles($config, map.get($tokens, description-list-font-term));
23
+ @include kbq-typography-css-variables(description-list, term);
25
24
  }
26
25
 
27
26
  & .kbq-dd {
28
- @include kbq-typography-level-to-styles($config, map.get($tokens, description-list-font-description));
27
+ @include kbq-typography-css-variables(description-list, description);
29
28
  }
30
29
  }
31
30
  }
package/dl/dl.scss CHANGED
@@ -1,21 +1,13 @@
1
1
  @use 'sass:meta';
2
2
  @use 'sass:map';
3
3
 
4
- @use '../core/styles/tokens';
4
+ @use '../core/styles/common/tokens' as *;
5
5
 
6
6
 
7
- $tokens: meta.module-variables(tokens) !default;
8
-
9
7
  .kbq-dl {
10
8
  display: grid;
11
- column-gap: var(
12
- --kbq-description-list-size-horizontal-content-gap-horizontal,
13
- map.get($tokens, description-list-size-horizontal-content-gap-horizontal)
14
- );
15
- row-gap: var(
16
- --kbq-description-list-size-horizontal-gap-vertical,
17
- map.get($tokens, description-list-size-horizontal-gap-vertical)
18
- );
9
+ column-gap: kbq-css-variable(description-list-size-horizontal-content-gap-horizontal);
10
+ row-gap: kbq-css-variable(description-list-size-horizontal-gap-vertical);
19
11
 
20
12
  grid-template-columns: repeat(4, 1fr);
21
13
 
@@ -42,10 +34,7 @@ $tokens: meta.module-variables(tokens) !default;
42
34
  &.kbq-dl_vertical {
43
35
  grid-template-columns: repeat(1, 1fr);
44
36
 
45
- row-gap: var(
46
- --kbq-description-list-size-vertical-content-gap-vertical,
47
- map.get($tokens, description-list-size-vertical-content-gap-vertical)
48
- );
37
+ row-gap: kbq-css-variable(description-list-size-vertical-content-gap-vertical);
49
38
 
50
39
  .kbq-dt,
51
40
  .kbq-dd {
@@ -53,10 +42,7 @@ $tokens: meta.module-variables(tokens) !default;
53
42
  }
54
43
 
55
44
  .kbq-dd {
56
- margin-bottom: var(
57
- --kbq-description-list-size-vertical-gap-vertical,
58
- map.get($tokens, description-list-size-vertical-gap-vertical)
59
- );
45
+ margin-bottom: kbq-css-variable(description-list-size-vertical-gap-vertical);
60
46
  }
61
47
  }
62
48
  }
@@ -3,56 +3,58 @@
3
3
 
4
4
  @use '../core/styles/theming/theming' as *;
5
5
  @use '../core/styles/typography/typography-utils' as *;
6
+ @use '../core/styles/common/tokens' as *;
6
7
 
7
8
 
8
- @mixin kbq-dropdown-item-state($state) {
9
- background: map.get($state, container-background);
10
- color: map.get($state, text);
9
+ @mixin kbq-dropdown-item-state($component, $style-name) {
10
+ $state: map.get($component, $style-name);
11
+
12
+ background: kbq-css-variable(list-#{$style-name}-container-background, map.get($state, container-background));
13
+ color: kbq-css-variable(list-#{$style-name}-text, map.get($state, text));
11
14
 
12
15
  .kbq-dropdown-item__caption {
13
- color: map.get($state, caption);
16
+ color: kbq-css-variable(list-#{$style-name}-caption, map.get($state, caption));
14
17
  }
15
18
  }
16
19
 
17
20
  @mixin kbq-dropdown-theme($theme) {
18
21
  $dropdown: map.get(map.get($theme, components), dropdown);
19
- $divider: map.get(map.get($theme, components), divider);
20
22
 
21
23
  .kbq-dropdown__panel {
22
- box-shadow: map.get($dropdown, box-shadow);
23
- background: map.get($dropdown, background);
24
+ box-shadow: kbq-css-variable(dropdown-box-shadow, map.get($dropdown, box-shadow));
25
+ background: kbq-css-variable(dropdown-background, map.get($dropdown, background));
24
26
  }
25
27
 
26
28
  .kbq-dropdown-item {
27
- $dropdown-item: map.get(map.get($theme, components), list-item);
29
+ $list-item: map.get(map.get($theme, components), list-item);
28
30
 
29
- @include kbq-dropdown-item-state(map.get($dropdown-item, default));
31
+ @include kbq-dropdown-item-state($list-item, default);
30
32
 
31
33
  &.kbq-dropdown-item_highlighted,
32
34
  &:hover:not(.kbq-disabled) {
33
- @include kbq-dropdown-item-state(map.get($dropdown-item, hover));
35
+ @include kbq-dropdown-item-state($list-item, states-hover);
34
36
  }
35
37
 
36
38
  &.cdk-keyboard-focused {
37
- border-color: map.get(map.get($dropdown-item, focused), focus-outline);
39
+ border-color: kbq-css-variable(list-focused-focus-outline, map.get($list-item, focused, focus-outline));
38
40
  }
39
41
 
40
42
  &.kbq-selected {
41
- @include kbq-dropdown-item-state(map.get($dropdown-item, selected));
43
+ @include kbq-dropdown-item-state($list-item, states-selected);
42
44
 
43
45
  &:hover:not(.kbq-disabled) {
44
- @include kbq-dropdown-item-state(map.get($dropdown-item, selected-hover));
46
+ @include kbq-dropdown-item-state($list-item, states-selected-hover);
45
47
  }
46
48
  }
47
49
 
48
50
  &.kbq-disabled {
49
- @include kbq-dropdown-item-state(map.get($dropdown-item, disabled));
51
+ @include kbq-dropdown-item-state($list-item, states-disabled);
50
52
  }
51
53
  }
52
54
 
53
55
  .kbq-dropdown__group-header {
54
56
  &.kbq-dropdown__group-header_small {
55
- color: map.get(map.get($theme, foreground), contrast-secondary);
57
+ color: kbq-css-variable(foreground-contrast-secondary, map.get($theme, foreground, contrast-secondary));
56
58
  }
57
59
  }
58
60
 
@@ -62,22 +64,20 @@
62
64
  }
63
65
 
64
66
  @mixin kbq-dropdown-typography($config) {
65
- $tokens: map.get($config, tokens);
66
-
67
67
  .kbq-dropdown-item,
68
68
  .kbq-dropdown__content {
69
- @include kbq-typography-level-to-styles($config, map.get($tokens, list-font-text));
69
+ @include kbq-typography-css-variables(list, text);
70
70
 
71
71
  .kbq-dropdown-item__caption {
72
- @include kbq-typography-level-to-styles($config, map.get($tokens, list-font-caption));
72
+ @include kbq-typography-css-variables(list, caption);
73
73
  }
74
74
  }
75
75
 
76
76
  .kbq-dropdown__group-header {
77
- @include kbq-typography-level-to-styles($config, map.get($tokens, list-font-header));
77
+ @include kbq-typography-css-variables(list, header);
78
78
 
79
79
  &.kbq-dropdown__group-header_small {
80
- @include kbq-typography-level-to-styles($config, map.get($tokens, list-font-subheading));
80
+ @include kbq-typography-css-variables(list, subheading);
81
81
  }
82
82
  }
83
83
  }
@@ -3,12 +3,12 @@
3
3
 
4
4
  @use '../core/styles/common';
5
5
 
6
- @use '../core/styles/tokens';
6
+ @use '../core/styles/common/tokens' as *;
7
7
 
8
8
 
9
- $tokens: meta.module-variables(tokens) !default;
10
-
11
9
  .kbq-dropdown-item {
10
+ width: 100%;
11
+
12
12
  @include common.user-select(none);
13
13
  @include common.kbq-list-item-base();
14
14
 
@@ -19,19 +19,13 @@ $tokens: meta.module-variables(tokens) !default;
19
19
  text-align: left;
20
20
 
21
21
  & > .kbq-icon:first-child {
22
- $outline-width: map.get($tokens, list-size-container-focus-outline-width);
23
- $padding-vertical: map.get($tokens, list-size-container-padding-vertical);
24
-
25
22
  align-self: flex-start;
26
23
 
27
- margin-top: var(--kbq-list-size-container-padding-vertical, $padding-vertical);
24
+ margin-top: kbq-css-variable(list-size-container-padding-vertical);
28
25
  }
29
26
 
30
27
  & .kbq-dropdown-item__caption {
31
- padding-top: var(
32
- --kbq-list-size-container-content-gap-vertical,
33
- map.get($tokens, list-size-container-content-gap-vertical)
34
- );
28
+ padding-top: kbq-css-variable(list-size-container-content-gap-vertical);
35
29
  }
36
30
  }
37
31
 
@@ -31,7 +31,7 @@ export declare class KbqDropdownTrigger implements AfterContentInit, OnDestroy {
31
31
  private parent;
32
32
  private dropdownItemInstance;
33
33
  private _dir;
34
- private changeDetecotrRef;
34
+ private changeDetectorRef;
35
35
  private focusMonitor?;
36
36
  lastDestroyReason: DropdownCloseReason;
37
37
  /** Data to be passed along to any lazily-rendered content. */
@@ -61,7 +61,7 @@ export declare class KbqDropdownTrigger implements AfterContentInit, OnDestroy {
61
61
  private overlayRef;
62
62
  private closeSubscription;
63
63
  private hoverSubscription;
64
- constructor(overlay: Overlay, elementRef: ElementRef<HTMLElement>, viewContainerRef: ViewContainerRef, scrollStrategy: any, parent: KbqDropdown, dropdownItemInstance: KbqDropdownItem, _dir: Directionality, changeDetecotrRef: ChangeDetectorRef, focusMonitor?: FocusMonitor | undefined);
64
+ constructor(overlay: Overlay, elementRef: ElementRef<HTMLElement>, viewContainerRef: ViewContainerRef, scrollStrategy: any, parent: KbqDropdown, dropdownItemInstance: KbqDropdownItem, _dir: Directionality, changeDetectorRef: ChangeDetectorRef, focusMonitor?: FocusMonitor | undefined);
65
65
  ngAfterContentInit(): void;
66
66
  ngOnDestroy(): void;
67
67
  /** Whether the dropdown triggers a nested dropdown or a top-level one. */