@koobiq/components 17.4.0 → 17.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (255) hide show
  1. package/alert/_alert-theme.scss +16 -20
  2. package/alert/alert-tokens.scss +132 -0
  3. package/alert/alert.component.scss +5 -0
  4. package/autocomplete/_autocomplete-theme.scss +3 -5
  5. package/autocomplete/autocomplete-tokens.scss +16 -0
  6. package/autocomplete/autocomplete.scss +4 -0
  7. package/badge/_badge-theme.scss +22 -25
  8. package/badge/badge-tokens.scss +185 -0
  9. package/badge/badge.component.scss +5 -0
  10. package/button/_button-theme.scss +20 -29
  11. package/button/button-tokens.scss +278 -0
  12. package/button/button.scss +5 -0
  13. package/button-toggle/_button-toggle-theme.scss +16 -28
  14. package/button-toggle/button-toggle-tokens.scss +78 -0
  15. package/button-toggle/button-toggle.scss +7 -2
  16. package/checkbox/_checkbox-theme.scss +27 -58
  17. package/checkbox/checkbox-tokens.scss +140 -0
  18. package/checkbox/checkbox.scss +6 -4
  19. package/code-block/_code-block-theme.scss +124 -143
  20. package/code-block/code-block-tokens.scss +400 -0
  21. package/code-block/code-block.scss +4 -2
  22. package/core/highlight/_highlight-theme.scss +1 -1
  23. package/core/pop-up/pop-up-styles.d.ts +2 -2
  24. package/core/pop-up/pop-up-trigger.d.ts +8 -9
  25. package/core/pop-up/pop-up.d.ts +3 -3
  26. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +12 -15
  27. package/core/selection/pseudo-checkbox/pseudo-checkbox-tokens.scss +140 -0
  28. package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +3 -2
  29. package/core/services/theme.service.d.ts +16 -0
  30. package/core/styles/_koobiq-theme.scss +6 -100
  31. package/datepicker/_datepicker-theme.scss +17 -43
  32. package/datepicker/calendar.scss +0 -3
  33. package/datepicker/datepicker-content.scss +5 -6
  34. package/datepicker/datepicker-tokens.scss +59 -0
  35. package/divider/_divider-theme.scss +2 -4
  36. package/divider/divider-tokens.scss +14 -0
  37. package/divider/divider.scss +4 -0
  38. package/dl/_dl-theme.scss +4 -6
  39. package/dl/dl-tokens.scss +32 -0
  40. package/dl/dl.scss +5 -0
  41. package/dropdown/_dropdown-theme.scss +15 -24
  42. package/dropdown/dropdown-tokens.scss +111 -0
  43. package/dropdown/dropdown.scss +5 -0
  44. package/ellipsis-center/ellipsis-center.directive.d.ts +2 -6
  45. package/empty-state/_empty-state-theme.scss +6 -9
  46. package/empty-state/empty-state-tokens.scss +68 -0
  47. package/empty-state/empty-state.scss +5 -0
  48. package/esm2022/alert/alert.component.mjs +3 -3
  49. package/esm2022/autocomplete/autocomplete.component.mjs +3 -3
  50. package/esm2022/badge/badge.component.mjs +3 -3
  51. package/esm2022/button/button.component.mjs +3 -3
  52. package/esm2022/button-toggle/button-toggle.component.mjs +3 -3
  53. package/esm2022/checkbox/checkbox.mjs +3 -3
  54. package/esm2022/code-block/code-block.component.mjs +3 -3
  55. package/esm2022/core/common-behaviors/common-module.mjs +2 -2
  56. package/esm2022/core/pop-up/pop-up-styles.mjs +7 -9
  57. package/esm2022/core/pop-up/pop-up-trigger.mjs +13 -16
  58. package/esm2022/core/pop-up/pop-up.mjs +7 -6
  59. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +3 -3
  60. package/esm2022/core/services/theme.service.mjs +20 -3
  61. package/esm2022/core/version.mjs +2 -2
  62. package/esm2022/datepicker/datepicker.component.mjs +3 -3
  63. package/esm2022/divider/divider.component.mjs +3 -3
  64. package/esm2022/dl/dl.component.mjs +3 -3
  65. package/esm2022/dropdown/dropdown.component.mjs +3 -3
  66. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +12 -23
  67. package/esm2022/empty-state/empty-state.component.mjs +3 -3
  68. package/esm2022/file-upload/multiple-file-upload.component.mjs +3 -3
  69. package/esm2022/file-upload/single-file-upload.component.mjs +3 -3
  70. package/esm2022/form-field/form-field.mjs +3 -3
  71. package/esm2022/form-field/hint.mjs +3 -3
  72. package/esm2022/form-field/password-hint.mjs +10 -7
  73. package/esm2022/form-field/password-toggle.mjs +10 -21
  74. package/esm2022/icon/icon-button.component.mjs +3 -3
  75. package/esm2022/icon/icon-item.component.mjs +3 -3
  76. package/esm2022/icon/icon.component.mjs +3 -3
  77. package/esm2022/list/list-selection.component.mjs +3 -3
  78. package/esm2022/list/list.component.mjs +3 -3
  79. package/esm2022/loader-overlay/loader-overlay.component.mjs +3 -3
  80. package/esm2022/markdown/markdown.component.mjs +3 -3
  81. package/esm2022/modal/modal-ref.class.mjs +1 -1
  82. package/esm2022/modal/modal.component.mjs +3 -3
  83. package/esm2022/modal/modal.service.mjs +16 -8
  84. package/esm2022/modal/modal.type.mjs +1 -1
  85. package/esm2022/navbar/navbar-item.component.mjs +17 -31
  86. package/esm2022/navbar/navbar.component.mjs +3 -3
  87. package/esm2022/popover/popover-confirm.component.mjs +13 -22
  88. package/esm2022/popover/popover.component.mjs +24 -31
  89. package/esm2022/select/select-option.directive.mjs +7 -18
  90. package/esm2022/table/table.component.mjs +3 -3
  91. package/esm2022/timezone/timezone-option.component.mjs +3 -3
  92. package/esm2022/timezone/timezone-option.directive.mjs +7 -18
  93. package/esm2022/timezone/timezone-select.component.mjs +3 -3
  94. package/esm2022/title/title.directive.mjs +7 -18
  95. package/esm2022/toast/toast.component.mjs +3 -3
  96. package/esm2022/toggle/toggle.component.mjs +3 -3
  97. package/esm2022/tooltip/tooltip.component.mjs +28 -47
  98. package/esm2022/tree/toggle.mjs +3 -3
  99. package/esm2022/tree/tree-option.component.mjs +3 -3
  100. package/esm2022/tree/tree-selection.component.mjs +3 -3
  101. package/esm2022/tree/tree.mjs +3 -3
  102. package/esm2022/tree-select/tree-select.component.mjs +3 -3
  103. package/fesm2022/koobiq-components-alert.mjs +2 -2
  104. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  105. package/fesm2022/koobiq-components-autocomplete.mjs +2 -2
  106. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  107. package/fesm2022/koobiq-components-badge.mjs +2 -2
  108. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  109. package/fesm2022/koobiq-components-button-toggle.mjs +2 -2
  110. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  111. package/fesm2022/koobiq-components-button.mjs +2 -2
  112. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  113. package/fesm2022/koobiq-components-checkbox.mjs +2 -2
  114. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  115. package/fesm2022/koobiq-components-code-block.mjs +2 -2
  116. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  117. package/fesm2022/koobiq-components-core.mjs +49 -35
  118. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  119. package/fesm2022/koobiq-components-datepicker.mjs +2 -2
  120. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  121. package/fesm2022/koobiq-components-divider.mjs +2 -2
  122. package/fesm2022/koobiq-components-divider.mjs.map +1 -1
  123. package/fesm2022/koobiq-components-dl.mjs +2 -2
  124. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  125. package/fesm2022/koobiq-components-dropdown.mjs +2 -2
  126. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  127. package/fesm2022/koobiq-components-ellipsis-center.mjs +11 -19
  128. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  129. package/fesm2022/koobiq-components-empty-state.mjs +2 -2
  130. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
  131. package/fesm2022/koobiq-components-file-upload.mjs +4 -4
  132. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  133. package/fesm2022/koobiq-components-form-field.mjs +33 -37
  134. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  135. package/fesm2022/koobiq-components-icon.mjs +6 -6
  136. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  137. package/fesm2022/koobiq-components-list.mjs +4 -4
  138. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  139. package/fesm2022/koobiq-components-loader-overlay.mjs +2 -2
  140. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  141. package/fesm2022/koobiq-components-markdown.mjs +2 -2
  142. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  143. package/fesm2022/koobiq-components-modal.mjs +17 -9
  144. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  145. package/fesm2022/koobiq-components-navbar.mjs +17 -29
  146. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  147. package/fesm2022/koobiq-components-popover.mjs +33 -44
  148. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  149. package/fesm2022/koobiq-components-select.mjs +14 -20
  150. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  151. package/fesm2022/koobiq-components-table.mjs +2 -2
  152. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  153. package/fesm2022/koobiq-components-timezone.mjs +13 -20
  154. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  155. package/fesm2022/koobiq-components-title.mjs +6 -14
  156. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  157. package/fesm2022/koobiq-components-toast.mjs +2 -2
  158. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  159. package/fesm2022/koobiq-components-toggle.mjs +2 -2
  160. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  161. package/fesm2022/koobiq-components-tooltip.mjs +27 -44
  162. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  163. package/fesm2022/koobiq-components-tree-select.mjs +2 -2
  164. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  165. package/fesm2022/koobiq-components-tree.mjs +8 -8
  166. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  167. package/file-upload/_file-upload-theme.scss +29 -112
  168. package/file-upload/file-upload-tokens.scss +159 -0
  169. package/file-upload/file-upload.scss +4 -2
  170. package/form-field/_form-field-theme.scss +21 -47
  171. package/form-field/_hint-theme.scss +13 -17
  172. package/form-field/form-field-tokens.scss +69 -0
  173. package/form-field/form-field.scss +4 -2
  174. package/form-field/hint-tokens.scss +60 -0
  175. package/form-field/hint.scss +5 -0
  176. package/form-field/password-toggle.d.ts +3 -6
  177. package/icon/_icon-button-theme.scss +27 -65
  178. package/icon/_icon-item-theme.scss +14 -17
  179. package/icon/_icon-theme.scss +7 -12
  180. package/icon/icon-button-tokens.scss +67 -0
  181. package/icon/icon-button.scss +4 -0
  182. package/icon/icon-item-tokens.scss +52 -0
  183. package/icon/icon-item.scss +4 -0
  184. package/icon/icon-tokens.scss +17 -0
  185. package/icon/icon.scss +4 -0
  186. package/input/_input-theme.scss +1 -5
  187. package/input/input-tokens.scss +12 -0
  188. package/input/input.scss +4 -5
  189. package/link/_link-theme.scss +18 -26
  190. package/link/link-tokens.scss +67 -0
  191. package/list/_list-theme.scss +14 -25
  192. package/list/list-tokens.scss +100 -0
  193. package/list/list.scss +5 -0
  194. package/loader-overlay/_loader-overlay-theme.scss +8 -23
  195. package/loader-overlay/loader-overlay-tokens.scss +58 -0
  196. package/loader-overlay/loader-overlay.scss +4 -5
  197. package/markdown/_markdown-theme.scss +29 -43
  198. package/markdown/markdown-tokens.scss +252 -0
  199. package/markdown/markdown.scss +6 -6
  200. package/modal/_modal-confirm.scss +0 -3
  201. package/modal/_modal-theme.scss +10 -12
  202. package/modal/modal-ref.class.d.ts +2 -2
  203. package/modal/modal-tokens.scss +53 -0
  204. package/modal/modal.component.d.ts +2 -2
  205. package/modal/modal.scss +5 -0
  206. package/modal/modal.service.d.ts +12 -7
  207. package/modal/modal.type.d.ts +3 -0
  208. package/navbar/_navbar-theme.scss +15 -25
  209. package/navbar/navbar-divider.scss +0 -3
  210. package/navbar/navbar-item.component.d.ts +5 -7
  211. package/navbar/navbar-item.scss +0 -3
  212. package/navbar/navbar-tokens.scss +83 -0
  213. package/navbar/navbar.scss +5 -3
  214. package/navbar/vertical-navbar.scss +0 -3
  215. package/package.json +7 -7
  216. package/popover/_popover-theme.scss +9 -16
  217. package/popover/popover-confirm.component.d.ts +3 -6
  218. package/popover/popover-tokens.scss +60 -0
  219. package/popover/popover.component.d.ts +4 -6
  220. package/popover/popover.scss +4 -5
  221. package/prebuilt-themes/dark-theme.css +1 -1
  222. package/prebuilt-themes/light-theme.css +1 -1
  223. package/schematics/ng-add/index.js +4 -4
  224. package/select/select-option.directive.d.ts +3 -6
  225. package/table/_table-theme.scss +7 -15
  226. package/table/table-tokens.scss +37 -0
  227. package/table/table.scss +4 -1
  228. package/textarea/_textarea-theme.scss +1 -1
  229. package/textarea/textarea-tokens.scss +14 -0
  230. package/textarea/textarea.scss +1 -0
  231. package/timezone/_timezone-option-theme.scss +5 -7
  232. package/timezone/timezone-option-tokens.scss +51 -0
  233. package/timezone/timezone-option.component.scss +5 -0
  234. package/timezone/timezone-option.directive.d.ts +3 -6
  235. package/timezone/timezone-select.component.scss +5 -0
  236. package/title/title.directive.d.ts +3 -6
  237. package/toast/_toast-theme.scss +11 -15
  238. package/toast/toast-tokens.scss +75 -0
  239. package/toast/toast.component.scss +4 -1
  240. package/toggle/_toggle-theme.scss +21 -41
  241. package/toggle/toggle-tokens.scss +142 -0
  242. package/toggle/toggle.scss +4 -1
  243. package/tooltip/_tooltip-theme.scss +13 -23
  244. package/tooltip/tooltip-tokens.scss +63 -0
  245. package/tooltip/tooltip.component.d.ts +8 -11
  246. package/tooltip/tooltip.scss +5 -0
  247. package/tree/_tree-theme.scss +14 -21
  248. package/tree/toggle.scss +5 -0
  249. package/tree/tree-option.scss +0 -5
  250. package/tree/tree-selection.scss +5 -0
  251. package/tree/tree-tokens.scss +94 -0
  252. package/tree/tree.scss +5 -0
  253. package/tree-select/_tree-select-theme.scss +9 -16
  254. package/tree-select/tree-select-tokens.scss +59 -0
  255. package/tree-select/tree-select.scss +5 -0
@@ -1,103 +1,89 @@
1
- @use 'sass:meta';
2
- @use 'sass:map';
3
-
4
- @use '../core/styles/theming/theming' as *;
5
- @use '../core/styles/typography/typography-utils' as *;
6
1
  @use '../core/styles/common/tokens' as *;
7
2
 
8
- @mixin kbq-markdown-theme($theme) {
9
- $markdown: map.get($theme, components, markdown);
3
+ @use './markdown-tokens';
10
4
 
5
+ @mixin kbq-markdown-theme() {
11
6
  .kbq-markdown {
12
- color: kbq-css-variable(foreground-contrast, map.get($theme, foreground, contrast));
13
- background: kbq-css-variable(background-bg, map.get($theme, background, bg));
7
+ color: kbq-css-variable(foreground-contrast);
8
+ background: kbq-css-variable(background-bg);
14
9
 
15
10
  // h1, h2, h3, h4, h5, h6
16
11
  @for $i from 1 through 6 {
17
12
  .kbq-markdown__h#{$i} {
18
- color: kbq-css-variable(markdown-h#{$i}-color, map.get($markdown, h#{$i}-color));
13
+ color: kbq-css-variable(markdown-h#{$i}-color);
19
14
  }
20
15
  }
21
16
 
22
17
  .kbq-markdown__p {
23
- color: kbq-css-variable(markdown-p-color, map.get($markdown, p-color));
18
+ color: kbq-css-variable(markdown-p-color);
24
19
  }
25
20
 
26
21
  .kbq-markdown__ul,
27
22
  .kbq-markdown__ol {
28
- color: kbq-css-variable(markdown-list-color, map.get($markdown, list-color));
23
+ color: kbq-css-variable(markdown-list-color);
29
24
  }
30
25
 
31
26
  .kbq-markdown__blockquote {
32
- color: kbq-css-variable(markdown-blockquote-text, map.get($markdown, blockquote-text));
33
- background: kbq-css-variable(markdown-blockquote-background, map.get($markdown, blockquote-background));
34
- border-color: kbq-css-variable(markdown-blockquote-border, map.get($markdown, blockquote-border));
35
- border-left-color: kbq-css-variable(markdown-blockquote-line, map.get($markdown, blockquote-line));
27
+ color: kbq-css-variable(markdown-blockquote-text);
28
+ background: kbq-css-variable(markdown-blockquote-background);
29
+ border-color: kbq-css-variable(markdown-blockquote-border);
30
+ border-left-color: kbq-css-variable(markdown-blockquote-line);
36
31
  }
37
32
 
38
33
  .kbq-markdown__pre,
39
34
  .kbq-markdown__p > .kbq-markdown__code {
40
- color: kbq-css-variable(markdown-code-text, map.get($markdown, code-text));
41
- background-color: kbq-css-variable(markdown-code-background, map.get($markdown, code-background));
42
- border-color: kbq-css-variable(markdown-code-border, map.get($markdown, code-border));
35
+ color: kbq-css-variable(markdown-code-text);
36
+ background-color: kbq-css-variable(markdown-code-background);
37
+ border-color: kbq-css-variable(markdown-code-border);
43
38
  }
44
39
 
45
40
  .kbq-markdown__a {
46
- color: kbq-css-variable(markdown-link-text, map.get($markdown, link-text));
47
- border-bottom-color: kbq-css-variable(markdown-link-border-bottom, map.get($markdown, link-border-bottom));
41
+ color: kbq-css-variable(markdown-link-text);
42
+ border-bottom-color: kbq-css-variable(markdown-link-border-bottom);
48
43
 
49
44
  &:visited {
50
- color: kbq-css-variable(markdown-link-state-visited-text, map.get($markdown, link-state-visited-text));
51
- border-bottom-color: kbq-css-variable(
52
- markdown-link-state-visited-border-bottom,
53
- map.get($markdown, link-state-visited-border-bottom)
54
- );
45
+ color: kbq-css-variable(markdown-link-state-visited-text);
46
+ border-bottom-color: kbq-css-variable(markdown-link-state-visited-border-bottom);
55
47
  }
56
48
 
57
49
  &:hover {
58
- color: kbq-css-variable(markdown-link-state-hover-text, map.get($markdown, link-state-hover-text));
50
+ color: kbq-css-variable(markdown-link-state-hover-text);
59
51
  transition: color 0ms;
60
- border-bottom-color: kbq-css-variable(
61
- markdown-link-state-hover-border-bottom,
62
- map.get($markdown, link-state-hover-border-bottom)
63
- );
52
+ border-bottom-color: kbq-css-variable(markdown-link-state-hover-border-bottom);
64
53
  }
65
54
 
66
55
  &:active {
67
- color: kbq-css-variable(markdown-link-state-active, map.get($markdown, link-state-active-text));
56
+ color: kbq-css-variable(markdown-link-state-active);
68
57
  }
69
58
 
70
59
  &:focus {
71
- outline: kbq-css-variable(
72
- markdown-link-state-focused-outline,
73
- map.get($markdown, link-state-focused-outline)
74
- )
75
- solid kbq-css-variable(markdown-link-size-state-focused-outline-width);
60
+ outline: kbq-css-variable(markdown-link-state-focused-outline) solid
61
+ kbq-css-variable(markdown-link-size-state-focused-outline-width);
76
62
 
77
63
  outline-offset: kbq-css-variable(markdown-link-size-state-focused-outline-offset);
78
64
  }
79
65
  }
80
66
 
81
67
  .kbq-markdown__img + em {
82
- color: kbq-css-variable(markdown-image-caption-text, map.get($markdown, image-caption-text));
68
+ color: kbq-css-variable(markdown-image-caption-text);
83
69
  }
84
70
 
85
71
  .kbq-markdown__hr {
86
- border-bottom-color: kbq-css-variable(markdown-hr-color, map.get($markdown, hr-color));
72
+ border-bottom-color: kbq-css-variable(markdown-hr-color);
87
73
  }
88
74
 
89
75
  .kbq-markdown__table > .kbq-markdown__thead {
90
- color: kbq-css-variable(markdown-table-header, map.get($markdown, table-header));
91
- border-bottom-color: kbq-css-variable(markdown-table-border, map.get($markdown, table-border));
76
+ color: kbq-css-variable(markdown-table-header);
77
+ border-bottom-color: kbq-css-variable(markdown-table-border);
92
78
  }
93
79
 
94
80
  .kbq-markdown__table > .kbq-markdown__tbody {
95
- color: kbq-css-variable(markdown-table-body, map.get($markdown, table-body));
81
+ color: kbq-css-variable(markdown-table-body);
96
82
  }
97
83
  }
98
84
  }
99
85
 
100
- @mixin kbq-markdown-typography($config) {
86
+ @mixin kbq-markdown-typography() {
101
87
  .kbq-markdown {
102
88
  // h1, h2, h3, h4, h5, h6
103
89
  @for $i from 1 through 6 {
@@ -0,0 +1,252 @@
1
+ .kbq-markdown {
2
+ --kbq-markdown-h1-size-max-width: 650px;
3
+ --kbq-markdown-h1-size-margin-top: 0;
4
+ --kbq-markdown-h1-size-margin-bottom: 16px;
5
+ --kbq-markdown-h1-font-default-font-size: 36px;
6
+ --kbq-markdown-h1-font-default-line-height: 44px;
7
+ --kbq-markdown-h1-font-default-letter-spacing: normal;
8
+ --kbq-markdown-h1-font-default-font-weight: 400;
9
+ --kbq-markdown-h1-font-default-font-family: 'TT-Positive', Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI',
10
+ 'Helvetica Neue', Arial, sans-serif;
11
+ --kbq-markdown-h1-font-default-text-transform: null;
12
+ --kbq-markdown-h1-font-default-font-feature-settings: 'calt', 'kern', 'liga';
13
+ --kbq-markdown-h2-size-max-width: 650px;
14
+ --kbq-markdown-h2-size-margin-top: 24px;
15
+ --kbq-markdown-h2-size-margin-bottom: 12px;
16
+ --kbq-markdown-h2-font-default-font-size: 24px;
17
+ --kbq-markdown-h2-font-default-line-height: 32px;
18
+ --kbq-markdown-h2-font-default-letter-spacing: normal;
19
+ --kbq-markdown-h2-font-default-font-weight: 700;
20
+ --kbq-markdown-h2-font-default-font-family: 'TT-Positive', Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI',
21
+ 'Helvetica Neue', Arial, sans-serif;
22
+ --kbq-markdown-h2-font-default-text-transform: null;
23
+ --kbq-markdown-h2-font-default-font-feature-settings: 'calt', 'kern', 'liga';
24
+ --kbq-markdown-h3-size-max-width: 650px;
25
+ --kbq-markdown-h3-size-margin-top: 24px;
26
+ --kbq-markdown-h3-size-margin-bottom: 12px;
27
+ --kbq-markdown-h3-font-default-font-size: 20px;
28
+ --kbq-markdown-h3-font-default-line-height: 28px;
29
+ --kbq-markdown-h3-font-default-letter-spacing: normal;
30
+ --kbq-markdown-h3-font-default-font-weight: 700;
31
+ --kbq-markdown-h3-font-default-font-family: 'TT-Positive', Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI',
32
+ 'Helvetica Neue', Arial, sans-serif;
33
+ --kbq-markdown-h3-font-default-text-transform: null;
34
+ --kbq-markdown-h3-font-default-font-feature-settings: 'calt', 'kern', 'liga';
35
+ --kbq-markdown-h4-size-max-width: 650px;
36
+ --kbq-markdown-h4-size-margin-top: 24px;
37
+ --kbq-markdown-h4-size-margin-bottom: 12px;
38
+ --kbq-markdown-h4-font-default-font-size: 18px;
39
+ --kbq-markdown-h4-font-default-line-height: 26px;
40
+ --kbq-markdown-h4-font-default-letter-spacing: normal;
41
+ --kbq-markdown-h4-font-default-font-weight: 700;
42
+ --kbq-markdown-h4-font-default-font-family: 'TT-Positive', Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI',
43
+ 'Helvetica Neue', Arial, sans-serif;
44
+ --kbq-markdown-h4-font-default-text-transform: null;
45
+ --kbq-markdown-h4-font-default-font-feature-settings: 'calt', 'kern', 'liga';
46
+ --kbq-markdown-h5-size-max-width: 650px;
47
+ --kbq-markdown-h5-size-margin-top: 24px;
48
+ --kbq-markdown-h5-size-margin-bottom: 8px;
49
+ --kbq-markdown-h5-font-default-font-size: 16px;
50
+ --kbq-markdown-h5-font-default-line-height: 24px;
51
+ --kbq-markdown-h5-font-default-letter-spacing: -0.011em;
52
+ --kbq-markdown-h5-font-default-font-weight: 700;
53
+ --kbq-markdown-h5-font-default-font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue',
54
+ Arial, sans-serif;
55
+ --kbq-markdown-h5-font-default-text-transform: null;
56
+ --kbq-markdown-h5-font-default-font-feature-settings: 'calt', 'kern', 'liga', 'ss01', 'ss04';
57
+ --kbq-markdown-h6-size-max-width: 650px;
58
+ --kbq-markdown-h6-size-margin-top: 24px;
59
+ --kbq-markdown-h6-size-margin-bottom: 8px;
60
+ --kbq-markdown-h6-font-default-font-size: 14px;
61
+ --kbq-markdown-h6-font-default-line-height: 20px;
62
+ --kbq-markdown-h6-font-default-letter-spacing: 0.08em;
63
+ --kbq-markdown-h6-font-default-font-weight: 500;
64
+ --kbq-markdown-h6-font-default-font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue',
65
+ Arial, sans-serif;
66
+ --kbq-markdown-h6-font-default-text-transform: uppercase;
67
+ --kbq-markdown-h6-font-default-font-feature-settings: 'calt', 'case', 'kern', 'liga', 'ss01', 'ss04';
68
+ --kbq-markdown-p-size-max-width: 650px;
69
+ --kbq-markdown-p-size-margin-top: 12px;
70
+ --kbq-markdown-p-size-margin-bottom: 12px;
71
+ --kbq-markdown-p-font-default-font-size: 16px;
72
+ --kbq-markdown-p-font-default-line-height: 24px;
73
+ --kbq-markdown-p-font-default-letter-spacing: -0.011em;
74
+ --kbq-markdown-p-font-default-font-weight: normal;
75
+ --kbq-markdown-p-font-default-font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue',
76
+ Arial, sans-serif;
77
+ --kbq-markdown-p-font-default-text-transform: null;
78
+ --kbq-markdown-p-font-default-font-feature-settings: 'calt', 'kern', 'liga', 'ss01', 'ss04';
79
+ --kbq-markdown-list-size-max-width: 650px;
80
+ --kbq-markdown-list-size-margin-top: 12px;
81
+ --kbq-markdown-list-size-margin-bottom: 12px;
82
+ --kbq-markdown-list-size-margin-top-after-paragraph: -8px;
83
+ --kbq-markdown-list-size-ol-number-padding-right: 4px;
84
+ --kbq-markdown-list-size-ul-padding: 0 0 0 24px;
85
+ --kbq-markdown-list-size-item-margin-bottom: 4px;
86
+ --kbq-markdown-list-font-default-font-size: 16px;
87
+ --kbq-markdown-list-font-default-line-height: 24px;
88
+ --kbq-markdown-list-font-default-letter-spacing: -0.011em;
89
+ --kbq-markdown-list-font-default-font-weight: normal;
90
+ --kbq-markdown-list-font-default-font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue',
91
+ Arial, sans-serif;
92
+ --kbq-markdown-list-font-default-text-transform: null;
93
+ --kbq-markdown-list-font-default-font-feature-settings: 'calt', 'kern', 'liga', 'ss01', 'ss04';
94
+ --kbq-markdown-blockquote-size-max-width: 650px;
95
+ --kbq-markdown-blockquote-size-margin-top: 12px;
96
+ --kbq-markdown-blockquote-size-margin-bottom: 12px;
97
+ --kbq-markdown-blockquote-size-padding: 2px 12px;
98
+ --kbq-markdown-blockquote-size-line-width: 4px;
99
+ --kbq-markdown-blockquote-size-border-radius: 0;
100
+ --kbq-markdown-blockquote-size-border-width: 0;
101
+ --kbq-markdown-blockquote-font-default-font-size: 16px;
102
+ --kbq-markdown-blockquote-font-default-line-height: 24px;
103
+ --kbq-markdown-blockquote-font-default-letter-spacing: -0.011em;
104
+ --kbq-markdown-blockquote-font-default-font-weight: normal;
105
+ --kbq-markdown-blockquote-font-default-font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI',
106
+ 'Helvetica Neue', Arial, sans-serif;
107
+ --kbq-markdown-blockquote-font-default-text-transform: null;
108
+ --kbq-markdown-blockquote-font-default-font-feature-settings: 'calt', 'kern', 'liga', 'ss01', 'ss04';
109
+ --kbq-markdown-code-size-max-width: 650px;
110
+ --kbq-markdown-code-size-multiline-margin-top: 12px;
111
+ --kbq-markdown-code-size-multiline-margin-bottom: 24px;
112
+ --kbq-markdown-code-size-inline-padding: 0 4px;
113
+ --kbq-markdown-code-size-multiline-padding: 12px 16px;
114
+ --kbq-markdown-code-size-border-radius: 8px;
115
+ --kbq-markdown-code-size-border-width: 1px;
116
+ --kbq-markdown-code-font-default-font-size: 16px;
117
+ --kbq-markdown-code-font-default-line-height: 24px;
118
+ --kbq-markdown-code-font-default-letter-spacing: normal;
119
+ --kbq-markdown-code-font-default-font-weight: normal;
120
+ --kbq-markdown-code-font-default-font-family: 'JetBrains Mono', 'Roboto Mono', 'Consolas', 'Menlo', 'Monaco',
121
+ monospace;
122
+ --kbq-markdown-code-font-default-text-transform: null;
123
+ --kbq-markdown-code-font-default-font-feature-settings: initial;
124
+ --kbq-markdown-link-size-icon-margin: 2px;
125
+ --kbq-markdown-link-size-state-focused-outline-offset: 0px;
126
+ --kbq-markdown-link-size-state-focused-outline-width: 2px;
127
+ --kbq-markdown-link-font-default-font-size: 16px;
128
+ --kbq-markdown-link-font-default-line-height: 24px;
129
+ --kbq-markdown-link-font-default-letter-spacing: -0.011em;
130
+ --kbq-markdown-link-font-default-font-weight: normal;
131
+ --kbq-markdown-link-font-default-font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue',
132
+ Arial, sans-serif;
133
+ --kbq-markdown-link-font-default-text-transform: null;
134
+ --kbq-markdown-link-font-default-font-feature-settings: 'calt', 'kern', 'liga', 'ss01', 'ss04';
135
+ --kbq-markdown-image-size-max-width: 650px;
136
+ --kbq-markdown-image-size-margin-top: 12px;
137
+ --kbq-markdown-image-size-margin-bottom: 12px;
138
+ --kbq-markdown-image-size-caption-margin-top: -8px;
139
+ --kbq-markdown-image-size-caption-margin-bottom: 24px;
140
+ --kbq-markdown-image-font-caption-font-size: 14px;
141
+ --kbq-markdown-image-font-caption-line-height: 20px;
142
+ --kbq-markdown-image-font-caption-letter-spacing: -0.006em;
143
+ --kbq-markdown-image-font-caption-font-weight: normal;
144
+ --kbq-markdown-image-font-caption-font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI',
145
+ 'Helvetica Neue', Arial, sans-serif;
146
+ --kbq-markdown-image-font-caption-text-transform: null;
147
+ --kbq-markdown-image-font-caption-font-feature-settings: 'calt', 'kern', 'liga', 'ss01', 'ss04';
148
+ --kbq-markdown-hr-size-width: 1px;
149
+ --kbq-markdown-hr-size-margin-vertical: 24px;
150
+ --kbq-markdown-table-size-border-width: 1px;
151
+ --kbq-markdown-table-size-padding: 8px;
152
+ --kbq-markdown-table-size-margin-bottom: 12px;
153
+ --kbq-markdown-table-font-header-font-size: 14px;
154
+ --kbq-markdown-table-font-header-line-height: 20px;
155
+ --kbq-markdown-table-font-header-letter-spacing: -0.006em;
156
+ --kbq-markdown-table-font-header-font-weight: normal;
157
+ --kbq-markdown-table-font-header-font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue',
158
+ Arial, sans-serif;
159
+ --kbq-markdown-table-font-header-text-transform: null;
160
+ --kbq-markdown-table-font-header-font-feature-settings: 'calt', 'ss01', 'ss04', 'tnum';
161
+ --kbq-markdown-table-font-body-font-size: 16px;
162
+ --kbq-markdown-table-font-body-line-height: 24px;
163
+ --kbq-markdown-table-font-body-letter-spacing: normal;
164
+ --kbq-markdown-table-font-body-font-weight: normal;
165
+ --kbq-markdown-table-font-body-font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue',
166
+ Arial, sans-serif;
167
+ --kbq-markdown-table-font-body-text-transform: null;
168
+ --kbq-markdown-table-font-body-font-feature-settings: 'calt', 'ss01', 'ss04', 'tnum';
169
+ --kbq-markdown-size-max-width: 650px;
170
+ --kbq-markdown-font-default-font-size: 16px;
171
+ --kbq-markdown-font-default-line-height: 24px;
172
+ --kbq-markdown-font-default-letter-spacing: -0.011em;
173
+ --kbq-markdown-font-default-font-weight: normal;
174
+ --kbq-markdown-font-default-font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue',
175
+ Arial, sans-serif;
176
+ --kbq-markdown-font-default-text-transform: null;
177
+ --kbq-markdown-font-default-font-feature-settings: 'calt', 'kern', 'liga', 'ss01', 'ss04';
178
+ }
179
+
180
+ :where(.kbq-light, .theme-light, .kbq-theme-light) {
181
+ --kbq-background-bg: hsla(0, 0%, 100%, 100%);
182
+ --kbq-background-bg-secondary: hsla(229, 15%, 95%, 100%);
183
+ --kbq-background-bg-tertiary: hsla(229, 15%, 97%, 100%);
184
+ --kbq-foreground-contrast: hsla(229, 15%, 15%, 100%);
185
+ --kbq-foreground-contrast-secondary: hsla(229, 15%, 50%, 100%);
186
+ --kbq-foreground-contrast-tertiary: hsla(229, 15%, 60%, 100%);
187
+ --kbq-markdown-h1-color: hsla(229, 15%, 15%, 100%);
188
+ --kbq-markdown-h2-color: hsla(229, 15%, 15%, 100%);
189
+ --kbq-markdown-h3-color: hsla(229, 15%, 15%, 100%);
190
+ --kbq-markdown-h4-color: hsla(229, 15%, 15%, 100%);
191
+ --kbq-markdown-h5-color: hsla(229, 15%, 15%, 100%);
192
+ --kbq-markdown-h6-color: hsla(229, 15%, 15%, 100%);
193
+ --kbq-markdown-p-color: hsla(229, 15%, 15%, 100%);
194
+ --kbq-markdown-list-color: hsla(229, 15%, 15%, 100%);
195
+ --kbq-markdown-blockquote-text: hsla(229, 15%, 15%, 100%);
196
+ --kbq-markdown-blockquote-line: hsla(229, 15%, 80%, 100%);
197
+ --kbq-markdown-blockquote-background: transparent;
198
+ --kbq-markdown-blockquote-border: transparent;
199
+ --kbq-markdown-code-text: hsla(229, 15%, 15%, 100%);
200
+ --kbq-markdown-code-background: hsla(229, 15%, 95%, 100%);
201
+ --kbq-markdown-code-border: hsla(229, 15%, 6%, 12%);
202
+ --kbq-markdown-link-text: hsla(216, 100%, 50%, 100%);
203
+ --kbq-markdown-link-border-bottom: hsla(216, 100%, 85%, 100%);
204
+ --kbq-markdown-link-state-visited-text: hsla(277, 72%, 45%, 100%);
205
+ --kbq-markdown-link-state-visited-border-bottom: hsla(277, 72%, 80%, 100%);
206
+ --kbq-markdown-link-state-hover-text: hsla(216, 100%, 45%, 100%);
207
+ --kbq-markdown-link-state-hover-border-bottom: hsla(216, 100%, 85%, 100%);
208
+ --kbq-markdown-link-state-active: hsla(216, 100%, 40%, 100%);
209
+ --kbq-markdown-link-state-focused-outline: hsla(216, 100%, 60%, 100%);
210
+ --kbq-markdown-image-caption-text: hsla(229, 15%, 50%, 100%);
211
+ --kbq-markdown-hr-color: hsla(229, 15%, 6%, 12%);
212
+ --kbq-markdown-table-header: hsla(229, 15%, 50%, 100%);
213
+ --kbq-markdown-table-body: hsla(229, 15%, 15%, 100%);
214
+ --kbq-markdown-table-border: hsla(229, 15%, 6%, 12%);
215
+ }
216
+
217
+ :where(.kbq-dark, .theme-dark, .kbq-theme-dark) {
218
+ --kbq-background-bg: hsla(229, 15%, 12%, 100%);
219
+ --kbq-background-bg-secondary: hsla(229, 15%, 16%, 100%);
220
+ --kbq-background-bg-tertiary: hsla(229, 15%, 14%, 100%);
221
+ --kbq-foreground-contrast: hsla(229, 15%, 80%, 100%);
222
+ --kbq-foreground-contrast-secondary: hsla(229, 15%, 60%, 100%);
223
+ --kbq-foreground-contrast-tertiary: hsla(229, 15%, 45%, 100%);
224
+ --kbq-markdown-h1-color: hsla(229, 15%, 80%, 100%);
225
+ --kbq-markdown-h2-color: hsla(229, 15%, 80%, 100%);
226
+ --kbq-markdown-h3-color: hsla(229, 15%, 80%, 100%);
227
+ --kbq-markdown-h4-color: hsla(229, 15%, 80%, 100%);
228
+ --kbq-markdown-h5-color: hsla(229, 15%, 80%, 100%);
229
+ --kbq-markdown-h6-color: hsla(229, 15%, 80%, 100%);
230
+ --kbq-markdown-p-color: hsla(229, 15%, 80%, 100%);
231
+ --kbq-markdown-list-color: hsla(229, 15%, 80%, 100%);
232
+ --kbq-markdown-blockquote-text: hsla(229, 15%, 80%, 100%);
233
+ --kbq-markdown-blockquote-line: hsla(229, 15%, 30%, 100%);
234
+ --kbq-markdown-blockquote-background: transparent;
235
+ --kbq-markdown-blockquote-border: transparent;
236
+ --kbq-markdown-code-text: hsla(229, 15%, 80%, 100%);
237
+ --kbq-markdown-code-background: hsla(229, 15%, 95%, 100%);
238
+ --kbq-markdown-code-border: hsla(229, 15%, 22%, 100%);
239
+ --kbq-markdown-link-text: hsla(216, 100%, 65%, 100%);
240
+ --kbq-markdown-link-border-bottom: hsla(216, 100%, 27%, 100%);
241
+ --kbq-markdown-link-state-visited-text: hsla(277, 72%, 50%, 100%);
242
+ --kbq-markdown-link-state-visited-border-bottom: hsla(277, 72%, 30%, 100%);
243
+ --kbq-markdown-link-state-hover-text: hsla(216, 100%, 65%, 100%);
244
+ --kbq-markdown-link-state-hover-border-bottom: hsla(216, 100%, 27%, 100%);
245
+ --kbq-markdown-link-state-active: hsla(216, 100%, 70%, 100%);
246
+ --kbq-markdown-link-state-focused-outline: hsla(216, 100%, 60%, 100%);
247
+ --kbq-markdown-image-caption-text: hsla(229, 15%, 50%, 100%);
248
+ --kbq-markdown-hr-color: hsla(229, 15%, 22%, 100%);
249
+ --kbq-markdown-table-header: hsla(229, 15%, 50%, 100%);
250
+ --kbq-markdown-table-body: hsla(229, 15%, 80%, 100%);
251
+ --kbq-markdown-table-border: hsla(229, 15%, 22%, 100%);
252
+ }
@@ -1,11 +1,5 @@
1
- @use 'sass:meta';
2
- @use 'sass:map';
3
-
4
- @use '../core/styles/tokens';
5
1
  @use '../core/styles/common/tokens' as *;
6
2
 
7
- $tokens: meta.module-variables(tokens) !default;
8
-
9
3
  .kbq-markdown {
10
4
  display: block;
11
5
 
@@ -22,6 +16,12 @@ $tokens: meta.module-variables(tokens) !default;
22
16
  .kbq-markdown__h#{$i} {
23
17
  margin-top: kbq-css-variable(markdown-h#{$i}-size-margin-top);
24
18
  margin-bottom: kbq-css-variable(markdown-h#{$i}-size-margin-bottom);
19
+
20
+ @for $i from 1 through 6 {
21
+ & + .kbq-markdown__h#{$i} {
22
+ margin-top: 0;
23
+ }
24
+ }
25
25
  }
26
26
  }
27
27
 
@@ -1,6 +1,3 @@
1
- @use 'sass:meta';
2
- @use 'sass:map';
3
-
4
1
  @use '../core/styles/common/tokens' as *;
5
2
 
6
3
  .kbq-confirm {
@@ -4,43 +4,41 @@
4
4
  @use '../core/styles/typography/typography-utils' as *;
5
5
  @use '../core/styles/common/tokens' as *;
6
6
 
7
- @mixin kbq-modal-theme($theme) {
8
- $modal: map.get(map.get($theme, components), modal);
9
-
7
+ @mixin kbq-modal-theme() {
10
8
  .kbq-modal {
11
- background: kbq-css-variable(modal-container-background, map.get($modal, container-background));
12
- box-shadow: kbq-css-variable(modal-container-box-shadow, map.get($modal, container-box-shadow));
9
+ background: kbq-css-variable(modal-container-background);
10
+ box-shadow: kbq-css-variable(modal-container-box-shadow);
13
11
 
14
12
  .kbq-modal-header {
15
13
  & .kbq-modal-title {
16
- color: kbq-css-variable(modal-header-text-color, map.get($modal, header));
14
+ color: kbq-css-variable(modal-header-text-color);
17
15
  }
18
16
 
19
17
  & .kbq-modal-close {
20
- color: kbq-css-variable(modal-close-button-color, map.get($modal, close-button));
18
+ color: kbq-css-variable(modal-close-button-color);
21
19
  }
22
20
  }
23
21
 
24
22
  .kbq-modal-content {
25
- color: kbq-css-variable(modal-content-text-color, map.get($modal, content));
23
+ color: kbq-css-variable(modal-content-text-color);
26
24
  }
27
25
 
28
26
  // FIXME: default token doesn't exist
29
27
  .kbq-modal-header.kbq-modal-body_top-overflow {
30
- box-shadow: kbq-css-variable(modal-body-top-shadow, map.get($modal, body-top-shadow));
28
+ box-shadow: kbq-css-variable(modal-body-top-shadow);
31
29
  }
32
30
  // FIXME: default token doesn't exist
33
31
  .kbq-modal-footer.kbq-modal-body_bottom-overflow {
34
- box-shadow: kbq-css-variable(modal-body-bottom-shadow, map.get($modal, body-bottom-shadow));
32
+ box-shadow: kbq-css-variable(modal-body-bottom-shadow);
35
33
  }
36
34
  }
37
35
 
38
36
  .kbq-modal-mask {
39
- background-color: kbq-css-variable(modal-overlay-background, map.get($modal, overlay));
37
+ background-color: kbq-css-variable(modal-overlay-background);
40
38
  }
41
39
  }
42
40
 
43
- @mixin kbq-modal-typography($config) {
41
+ @mixin kbq-modal-typography() {
44
42
  .kbq-modal-title {
45
43
  @include kbq-typography-css-variables(modal, header);
46
44
  }
@@ -4,9 +4,9 @@ import { KbqModalComponent } from './modal.component';
4
4
  * API class that public to users to handle the modal instance.
5
5
  * KbqModalRef is aim to avoid accessing to the modal instance directly by users.
6
6
  */
7
- export declare abstract class KbqModalRef<C = any, R = any> {
7
+ export declare abstract class KbqModalRef<C = any, R = unknown> {
8
8
  abstract afterOpen: Observable<void>;
9
- abstract afterClose: Observable<R>;
9
+ abstract afterClose: Observable<R | undefined>;
10
10
  abstract open(): void;
11
11
  abstract close(result?: R): void;
12
12
  abstract destroy(result?: R): void;
@@ -0,0 +1,53 @@
1
+ .kbq-modal {
2
+ --kbq-modal-size-small-width: 400px;
3
+ --kbq-modal-size-medium-width: 640px;
4
+ --kbq-modal-size-large-width: 960px;
5
+ --kbq-modal-size-border-radius: 8px;
6
+ --kbq-modal-size-header-padding-vertical: 16px;
7
+ --kbq-modal-size-header-padding-left: 24px;
8
+ --kbq-modal-size-header-padding-right: 48px;
9
+ --kbq-modal-size-close-button-margin-left: 8px;
10
+ --kbq-modal-size-content-padding-horizontal: 24px;
11
+ --kbq-modal-size-content-padding-top: 0;
12
+ --kbq-modal-size-content-padding-bottom: 8px;
13
+ --kbq-modal-size-content-padding-top-without-header: 24px;
14
+ --kbq-modal-size-content-padding-bottom-without-footer: 40px;
15
+ --kbq-modal-size-footer-padding-horizontal: 24px;
16
+ --kbq-modal-size-footer-padding-vertical: 20px;
17
+ --kbq-modal-size-footer-content-gap-horizontal: 16px;
18
+ --kbq-modal-font-header-font-size: 20px;
19
+ --kbq-modal-font-header-line-height: 28px;
20
+ --kbq-modal-font-header-letter-spacing: normal;
21
+ --kbq-modal-font-header-font-weight: 700;
22
+ --kbq-modal-font-header-font-family: 'TT-Positive', Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI',
23
+ 'Helvetica Neue', Arial, sans-serif;
24
+ --kbq-modal-font-header-text-transform: null;
25
+ --kbq-modal-font-header-font-feature-settings: 'calt', 'kern', 'liga';
26
+ --kbq-modal-font-content-font-size: 14px;
27
+ --kbq-modal-font-content-line-height: 20px;
28
+ --kbq-modal-font-content-letter-spacing: -0.006em;
29
+ --kbq-modal-font-content-font-weight: normal;
30
+ --kbq-modal-font-content-font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial,
31
+ sans-serif;
32
+ --kbq-modal-font-content-text-transform: null;
33
+ --kbq-modal-font-content-font-feature-settings: 'calt', 'kern', 'liga', 'ss01', 'ss04';
34
+ }
35
+
36
+ :where(.kbq-light, .theme-light, .kbq-theme-light) {
37
+ --kbq-modal-overlay-background: hsla(229, 15%, 20%, 32%);
38
+ --kbq-modal-container-background: hsla(229, 15%, 100%, 100%);
39
+ --kbq-modal-container-box-shadow: 0 0 0 1px hsla(229, 15%, 6%, 3%), 0 3px 16px hsla(229, 15%, 6%, 6%),
40
+ 0 4px 32px hsla(229, 15%, 6%, 12%);
41
+ --kbq-modal-close-button-color: hsla(229, 15%, 15%, 100%);
42
+ --kbq-modal-header-text-color: hsla(229, 15%, 15%, 100%);
43
+ --kbq-modal-content-text-color: hsla(229, 15%, 15%, 100%);
44
+ }
45
+
46
+ :where(.kbq-dark, .theme-dark, .kbq-theme-dark) {
47
+ --kbq-modal-overlay-background: hsla(229, 15%, 6%, 64%);
48
+ --kbq-modal-container-background: hsla(229, 15%, 15%, 100%);
49
+ --kbq-modal-container-box-shadow: 0 0 0 1px hsla(229, 100%, 85%, 15%);
50
+ --kbq-modal-close-button-color: hsla(229, 15%, 80%, 100%);
51
+ --kbq-modal-header-text-color: hsla(229, 15%, 80%, 100%);
52
+ --kbq-modal-content-text-color: hsla(229, 15%, 80%, 100%);
53
+ }
@@ -47,7 +47,7 @@ export declare class KbqModalComponent<T = any, R = any> extends KbqModalRef<T,
47
47
  kbqMaskStyle: object;
48
48
  kbqBodyStyle: object;
49
49
  kbqAfterOpen: EventEmitter<void>;
50
- kbqAfterClose: EventEmitter<R>;
50
+ kbqAfterClose: EventEmitter<R | undefined>;
51
51
  kbqOkText: string;
52
52
  kbqOkType: KbqComponentColors;
53
53
  kbqRestoreFocus: boolean;
@@ -70,7 +70,7 @@ export declare class KbqModalComponent<T = any, R = any> extends KbqModalRef<T,
70
70
  modalAnimationClassMap: object;
71
71
  transformOrigin: string;
72
72
  get afterOpen(): Observable<void>;
73
- get afterClose(): Observable<R>;
73
+ get afterClose(): Observable<R | undefined>;
74
74
  get okText(): string;
75
75
  get cancelText(): string;
76
76
  get hidden(): boolean;
package/modal/modal.scss CHANGED
@@ -5,6 +5,8 @@
5
5
 
6
6
  @use './modal-confirm';
7
7
 
8
+ @use './modal-theme' as *;
9
+
8
10
  .kbq-modal {
9
11
  box-sizing: border-box;
10
12
 
@@ -143,3 +145,6 @@
143
145
  .kbq-modal-open {
144
146
  overflow: hidden;
145
147
  }
148
+
149
+ @include kbq-modal-theme();
150
+ @include kbq-modal-typography();
@@ -1,16 +1,20 @@
1
1
  import { Overlay } from '@angular/cdk/overlay';
2
+ import { InjectionToken, Injector } from '@angular/core';
2
3
  import { Observable } from 'rxjs';
3
4
  import { KbqModalControlService } from './modal-control.service';
4
5
  import { KbqModalRef } from './modal-ref.class';
5
6
  import { KbqModalComponent } from './modal.component';
6
7
  import { ConfirmType, IModalOptionsForService } from './modal.type';
7
8
  import * as i0 from "@angular/core";
9
+ /** Injection token that can be used to access the data that was passed in to a modal. */
10
+ export declare const KBQ_MODAL_DATA: InjectionToken<unknown>;
8
11
  export declare class ModalBuilderForService {
9
12
  private readonly overlay;
10
13
  readonly options: IModalOptionsForService;
14
+ private readonly injector;
11
15
  private modalRef;
12
16
  private overlayRef;
13
- constructor(overlay: Overlay, options?: IModalOptionsForService);
17
+ constructor(overlay: Overlay, options: IModalOptionsForService, injector: Injector);
14
18
  getInstance(): KbqModalComponent | null;
15
19
  destroyModal(): void;
16
20
  private changeProps;
@@ -19,15 +23,16 @@ export declare class ModalBuilderForService {
19
23
  export declare class KbqModalService {
20
24
  private readonly overlay;
21
25
  private readonly modalControl;
26
+ private injector;
22
27
  get openModals(): KbqModalRef[];
23
28
  get afterAllClose(): Observable<void>;
24
- constructor(overlay: Overlay, modalControl: KbqModalControlService);
29
+ constructor(overlay: Overlay, modalControl: KbqModalControlService, injector: Injector);
25
30
  closeAll(): void;
26
- create<C, R>(options?: IModalOptionsForService<C>): KbqModalRef<C, R>;
27
- confirm<C, R>(options?: IModalOptionsForService<C>, confirmType?: ConfirmType): KbqModalRef<C, R>;
28
- open<C, R>(options?: IModalOptionsForService<C>): KbqModalRef<C, R>;
29
- success<C, R>(options?: IModalOptionsForService<C>): KbqModalRef<C, R>;
30
- delete<C, R>(options?: IModalOptionsForService<C>): KbqModalRef<C, R>;
31
+ create<C, R = unknown>(options?: IModalOptionsForService<C>): KbqModalRef<C, R>;
32
+ confirm<C, R = unknown>(options?: IModalOptionsForService<C>, confirmType?: ConfirmType): KbqModalRef<C, R>;
33
+ open<C, R = unknown>(options?: IModalOptionsForService<C>): KbqModalRef<C, R>;
34
+ success<C, R = unknown>(options?: IModalOptionsForService<C>): KbqModalRef<C, R>;
35
+ delete<C, R = unknown>(options?: IModalOptionsForService<C>): KbqModalRef<C, R>;
31
36
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqModalService, never>;
32
37
  static ɵprov: i0.ɵɵInjectableDeclaration<KbqModalService>;
33
38
  }
@@ -19,6 +19,7 @@ export interface ModalOptions<C = any, R = any> {
19
19
  kbqTitle?: string | TemplateRef<{}>;
20
20
  kbqContent?: string | TemplateRef<{}> | Type<C>;
21
21
  kbqComponent?: Type<C>;
22
+ /** deprecated. Use field data and KBQ_MODAL_DATA */
22
23
  kbqComponentParams?: any;
23
24
  kbqClosable?: boolean;
24
25
  kbqMask?: boolean;
@@ -38,6 +39,8 @@ export interface ModalOptions<C = any, R = any> {
38
39
  kbqCancelText?: string;
39
40
  kbqCancelLoading?: boolean;
40
41
  kbqOnCancel?: EventEmitter<C> | OnClickCallback<C>;
42
+ /** Data being injected into the child component. */
43
+ data?: any;
41
44
  }
42
45
  export interface IModalOptionsForService<T = any> extends ModalOptions<T> {
43
46
  kbqOnOk?: OnClickCallback<T>;