@koobiq/components 16.0.0-beta.2 → 16.0.0-beta.6

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 (191) hide show
  1. package/autocomplete/autocomplete.scss +0 -3
  2. package/button/_button-theme.scss +20 -9
  3. package/button/button.scss +5 -2
  4. package/core/common-behaviors/color.d.ts +1 -1
  5. package/core/forms/_forms-theme.scss +4 -4
  6. package/core/forms/_forms.scss +1 -3
  7. package/core/option/_option-theme.scss +39 -16
  8. package/core/option/action.scss +3 -4
  9. package/core/option/option.scss +6 -51
  10. package/core/styles/_koobiq-theme.scss +3 -0
  11. package/core/styles/common/_list.scss +123 -0
  12. package/core/styles/common/_select.scss +218 -0
  13. package/core/styles/theming/_components-theming.scss +414 -47
  14. package/dropdown/_dropdown-theme.scss +30 -37
  15. package/dropdown/dropdown-item.component.d.ts +1 -1
  16. package/dropdown/dropdown-item.scss +18 -40
  17. package/dropdown/dropdown.scss +16 -39
  18. package/esm2022/alert/alert.component.mjs +1 -1
  19. package/esm2022/autocomplete/autocomplete.component.mjs +2 -2
  20. package/esm2022/badge/badge.component.mjs +1 -1
  21. package/esm2022/button/button.component.mjs +2 -2
  22. package/esm2022/code-block/code-block.component.mjs +3 -3
  23. package/esm2022/core/common-behaviors/color.mjs +1 -1
  24. package/esm2022/core/option/action.mjs +5 -5
  25. package/esm2022/core/option/option.mjs +3 -3
  26. package/esm2022/core/overlay/overlay-position-map.mjs +2 -1
  27. package/esm2022/core/version.mjs +2 -2
  28. package/esm2022/dropdown/dropdown-item.component.mjs +3 -3
  29. package/esm2022/dropdown/dropdown.component.mjs +3 -3
  30. package/esm2022/file-upload/multiple-file-upload.component.mjs +2 -2
  31. package/esm2022/file-upload/single-file-upload.component.mjs +2 -2
  32. package/esm2022/form-field/form-field.mjs +6 -9
  33. package/esm2022/form-field/password-hint.mjs +13 -4
  34. package/esm2022/form-field/password-toggle.mjs +7 -3
  35. package/esm2022/icon/icon.component.mjs +3 -3
  36. package/esm2022/list/list-selection.component.mjs +20 -7
  37. package/esm2022/list/list.component.mjs +2 -2
  38. package/esm2022/list/list.module.mjs +8 -4
  39. package/esm2022/loader-overlay/loader-overlay.component.mjs +20 -19
  40. package/esm2022/modal/modal.component.mjs +8 -21
  41. package/esm2022/modal/modal.module.mjs +13 -7
  42. package/esm2022/navbar/navbar-item.component.mjs +13 -13
  43. package/esm2022/progress-spinner/progress-spinner.component.mjs +1 -1
  44. package/esm2022/radio/radio.component.mjs +3 -2
  45. package/esm2022/risk-level/index.mjs +2 -0
  46. package/esm2022/risk-level/koobiq-components-risk-level.mjs +5 -0
  47. package/esm2022/risk-level/public-api.mjs +3 -0
  48. package/esm2022/risk-level/risk-level.component.mjs +40 -0
  49. package/esm2022/risk-level/risk-level.module.mjs +28 -0
  50. package/esm2022/select/select.component.mjs +7 -8
  51. package/esm2022/sidepanel/sidepanel-container.component.mjs +3 -3
  52. package/esm2022/sidepanel/sidepanel-directives.mjs +7 -9
  53. package/esm2022/sidepanel/sidepanel.module.mjs +10 -4
  54. package/esm2022/tabs/paginated-tab-header.mjs +11 -2
  55. package/esm2022/tabs/tab-group.component.mjs +16 -21
  56. package/esm2022/tabs/tab-header.component.mjs +2 -2
  57. package/esm2022/tabs/tab-label-wrapper.directive.mjs +3 -3
  58. package/esm2022/tabs/tab-label.directive.mjs +3 -3
  59. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +17 -7
  60. package/esm2022/tabs/tabs.module.mjs +2 -6
  61. package/esm2022/tags/tag-default-options.mjs +1 -1
  62. package/esm2022/tags/tag-input.mjs +10 -8
  63. package/esm2022/tags/tag-list.component.mjs +10 -6
  64. package/esm2022/tags/tag.component.mjs +5 -5
  65. package/esm2022/timezone/timezone-option.component.mjs +3 -3
  66. package/esm2022/timezone/timezone-select.component.mjs +2 -2
  67. package/esm2022/title/title.directive.mjs +2 -2
  68. package/esm2022/toast/toast-container.component.mjs +2 -2
  69. package/esm2022/toast/toast.component.mjs +25 -13
  70. package/esm2022/toast/toast.module.mjs +14 -5
  71. package/esm2022/toast/toast.type.mjs +6 -1
  72. package/esm2022/tree/padding.directive.mjs +4 -4
  73. package/esm2022/tree/toggle.mjs +5 -4
  74. package/esm2022/tree/tree-option.component.mjs +5 -7
  75. package/esm2022/tree/tree.module.mjs +13 -4
  76. package/esm2022/tree-select/tree-select.component.mjs +16 -10
  77. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  78. package/fesm2022/koobiq-components-autocomplete.mjs +2 -2
  79. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  80. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  81. package/fesm2022/koobiq-components-button.mjs +2 -2
  82. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  83. package/fesm2022/koobiq-components-code-block.mjs +2 -2
  84. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  85. package/fesm2022/koobiq-components-core.mjs +8 -7
  86. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  87. package/fesm2022/koobiq-components-dropdown.mjs +4 -4
  88. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  89. package/fesm2022/koobiq-components-file-upload.mjs +4 -4
  90. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  91. package/fesm2022/koobiq-components-form-field.mjs +22 -13
  92. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  93. package/fesm2022/koobiq-components-icon.mjs +2 -2
  94. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  95. package/fesm2022/koobiq-components-list.mjs +28 -11
  96. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  97. package/fesm2022/koobiq-components-loader-overlay.mjs +19 -18
  98. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  99. package/fesm2022/koobiq-components-modal.mjs +18 -25
  100. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  101. package/fesm2022/koobiq-components-navbar.mjs +12 -12
  102. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  103. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  104. package/fesm2022/koobiq-components-radio.mjs +2 -1
  105. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  106. package/fesm2022/koobiq-components-risk-level.mjs +72 -0
  107. package/fesm2022/koobiq-components-risk-level.mjs.map +1 -0
  108. package/fesm2022/koobiq-components-select.mjs +6 -7
  109. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  110. package/fesm2022/koobiq-components-sidepanel.mjs +18 -13
  111. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  112. package/fesm2022/koobiq-components-tabs.mjs +48 -38
  113. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  114. package/fesm2022/koobiq-components-tags.mjs +22 -16
  115. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  116. package/fesm2022/koobiq-components-timezone.mjs +4 -4
  117. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  118. package/fesm2022/koobiq-components-title.mjs +1 -1
  119. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  120. package/fesm2022/koobiq-components-toast.mjs +41 -15
  121. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  122. package/fesm2022/koobiq-components-tree-select.mjs +15 -9
  123. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  124. package/fesm2022/koobiq-components-tree.mjs +28 -20
  125. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  126. package/form-field/_form-field-theme.scss +2 -2
  127. package/form-field/form-field.d.ts +0 -1
  128. package/form-field/password-hint.d.ts +6 -3
  129. package/form-field/password-toggle.d.ts +1 -0
  130. package/input/_input-theme.scss +2 -1
  131. package/input/input.scss +3 -1
  132. package/link/_link-theme.scss +1 -3
  133. package/list/_list-theme.scss +35 -15
  134. package/list/list-selection.component.d.ts +5 -1
  135. package/list/list.module.d.ts +1 -1
  136. package/list/list.scss +3 -12
  137. package/loader-overlay/_loader-overlay-theme.scss +43 -11
  138. package/loader-overlay/loader-overlay.component.d.ts +6 -5
  139. package/loader-overlay/loader-overlay.scss +53 -22
  140. package/modal/_modal-confirm.scss +20 -28
  141. package/modal/_modal-theme.scss +5 -35
  142. package/modal/modal.component.d.ts +3 -6
  143. package/modal/modal.module.d.ts +2 -1
  144. package/modal/modal.scss +38 -35
  145. package/navbar/navbar-item.component.d.ts +3 -2
  146. package/package.json +9 -3
  147. package/prebuilt-themes/dark-theme.css +1 -1
  148. package/prebuilt-themes/light-theme.css +1 -1
  149. package/progress-spinner/progress-spinner.component.d.ts +2 -2
  150. package/risk-level/README.md +0 -0
  151. package/risk-level/_risk-level-theme.scss +88 -0
  152. package/risk-level/index.d.ts +1 -0
  153. package/risk-level/public-api.d.ts +2 -0
  154. package/risk-level/risk-level.component.d.ts +18 -0
  155. package/risk-level/risk-level.component.scss +26 -0
  156. package/risk-level/risk-level.module.d.ts +10 -0
  157. package/select/_select-theme.scss +8 -0
  158. package/select/select.scss +6 -190
  159. package/sidepanel/_sidepanel-theme.scss +6 -41
  160. package/sidepanel/sidepanel-directives.d.ts +0 -2
  161. package/sidepanel/sidepanel.scss +33 -35
  162. package/tabs/_tabs-common.scss +27 -146
  163. package/tabs/_tabs-theme.scss +81 -175
  164. package/tabs/paginated-tab-header.d.ts +1 -0
  165. package/tabs/tab-group.component.d.ts +5 -8
  166. package/tabs/tab-group.scss +10 -10
  167. package/tabs/tab-header.scss +2 -24
  168. package/tabs/tab-label-wrapper.directive.d.ts +1 -1
  169. package/tabs/tab-label.directive.d.ts +1 -1
  170. package/tabs/tab-nav-bar/tab-nav-bar.d.ts +3 -1
  171. package/tabs/tab-nav-bar/tab-nav-bar.scss +9 -16
  172. package/tabs/tabs.module.d.ts +1 -1
  173. package/tags/_tag-theme.scss +0 -24
  174. package/tags/tag-default-options.d.ts +4 -0
  175. package/tags/tag-list.component.d.ts +1 -0
  176. package/tags/tag-list.scss +20 -16
  177. package/tags/tag.component.d.ts +1 -1
  178. package/toast/_toast-theme.scss +21 -33
  179. package/toast/toast-container.component.scss +2 -1
  180. package/toast/toast.component.d.ts +4 -1
  181. package/toast/toast.component.scss +41 -34
  182. package/toast/toast.module.d.ts +1 -1
  183. package/toast/toast.type.d.ts +8 -5
  184. package/tree/_tree-theme.scss +46 -34
  185. package/tree/tree-option.component.d.ts +0 -1
  186. package/tree/tree-option.scss +34 -23
  187. package/tree/tree.module.d.ts +2 -1
  188. package/tree-select/_tree-select-theme.scss +9 -1
  189. package/tree-select/tree-select.component.d.ts +5 -3
  190. package/tree-select/tree-select.scss +5 -194
  191. package/list/_list-base.scss +0 -54
@@ -103,10 +103,10 @@
103
103
  $tokens: map.get($config, tokens);
104
104
 
105
105
  .kbq-form-field {
106
- @include kbq-typography-level-to-styles($config, map.get($tokens, form-field-font-label));
106
+ @include kbq-typography-level-to-styles($config, map.get($tokens, form-field-font-text));
107
107
  }
108
108
 
109
- .kbq-form-field__hint > .kbq-hint {
109
+ .kbq-form-field__hint > .kbq-hint .kbq-hint__text {
110
110
  @include kbq-typography-level-to-styles($config, map.get($tokens, form-field-hint-font-text));
111
111
  }
112
112
  }
@@ -36,7 +36,6 @@ export declare class KbqFormField extends KbqFormFieldMixinBase implements After
36
36
  canCleanerClearByEsc: boolean;
37
37
  private $unsubscribe;
38
38
  get hasHint(): boolean;
39
- get hasPasswordStrengthError(): boolean;
40
39
  get hasSuffix(): boolean;
41
40
  get hasPrefix(): boolean;
42
41
  get hasCleaner(): boolean;
@@ -1,4 +1,5 @@
1
- import { AfterContentInit, ChangeDetectorRef } from '@angular/core';
1
+ import { AfterContentInit, ChangeDetectorRef, QueryList } from '@angular/core';
2
+ import { KbqFormField } from './form-field';
2
3
  import * as i0 from "@angular/core";
3
4
  export declare enum PasswordRules {
4
5
  Length = 0,
@@ -14,6 +15,7 @@ export declare const regExpPasswordValidator: {
14
15
  3: RegExp;
15
16
  4: RegExp;
16
17
  };
18
+ export declare const hasPasswordStrengthError: (passwordHints: QueryList<KbqPasswordHint>) => boolean;
17
19
  export declare class KbqPasswordHint implements AfterContentInit {
18
20
  private changeDetectorRef;
19
21
  private formField;
@@ -22,6 +24,7 @@ export declare class KbqPasswordHint implements AfterContentInit {
22
24
  min: number;
23
25
  max: number;
24
26
  regex: RegExp | null;
27
+ viewFormField?: KbqFormField;
25
28
  hasError: boolean;
26
29
  checked: boolean;
27
30
  get icon(): string;
@@ -35,6 +38,6 @@ export declare class KbqPasswordHint implements AfterContentInit {
35
38
  private checkRegexRule;
36
39
  private checkSpecialSymbolsRegexRule;
37
40
  private isValueChanged;
38
- static ɵfac: i0.ɵɵFactoryDeclaration<KbqPasswordHint, never>;
39
- static ɵcmp: i0.ɵɵComponentDeclaration<KbqPasswordHint, "kbq-password-hint", never, { "id": { "alias": "id"; "required": false; }; "rule": { "alias": "rule"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "regex": { "alias": "regex"; "required": false; }; }, {}, never, ["*"], false, never>;
41
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqPasswordHint, [null, { optional: true; }]>;
42
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqPasswordHint, "kbq-password-hint", never, { "id": { "alias": "id"; "required": false; }; "rule": { "alias": "rule"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "regex": { "alias": "regex"; "required": false; }; "viewFormField": { "alias": "viewFormField"; "required": false; }; }, {}, never, ["*"], false, never>;
40
43
  }
@@ -11,6 +11,7 @@ export declare class KbqPasswordToggle extends KbqTooltipTrigger {
11
11
  kbqTooltipHidden: string | TemplateRef<any>;
12
12
  get hidden(): boolean;
13
13
  get icon(): string;
14
+ get visibility(): string;
14
15
  constructor(overlay: Overlay, elementRef: ElementRef, ngZone: NgZone, scrollDispatcher: ScrollDispatcher, hostView: ViewContainerRef, scrollStrategy: any, direction: Directionality, formField: KbqFormFieldRef);
15
16
  toggle(event: KeyboardEvent): void;
16
17
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqPasswordToggle, [null, null, null, null, null, null, { optional: true; }, null]>;
@@ -7,7 +7,8 @@
7
7
  @mixin kbq-input-typography($config) {
8
8
  $tokens: map.get($config, tokens);
9
9
 
10
- .kbq-input {
10
+ .kbq-input,
11
+ .kbq-input.kbq-input-password::placeholder {
11
12
  @include kbq-typography-level-to-styles($config, map.get($tokens, input-font-text));
12
13
  }
13
14
  }
package/input/input.scss CHANGED
@@ -14,6 +14,8 @@ $tokens: meta.module-variables(tokens) !default;
14
14
  display: inline-block;
15
15
  box-sizing: border-box;
16
16
 
17
+ text-overflow: ellipsis;
18
+
17
19
  width: 100%;
18
20
  min-height: calc(
19
21
  var(--kbq-form-field-size-height, map.get($tokens, form-field-size-height)) -
@@ -25,7 +27,7 @@ $tokens: meta.module-variables(tokens) !default;
25
27
  var(--kbq-input-size-padding-vertical, map.get($tokens, input-size-padding-vertical)) -
26
28
  var(--kbq-form-field-size-border-width, map.get($tokens, form-field-size-border-width))
27
29
  )
28
- var(--kbq-input-size-padding-horizontal, map.get($tokens, input-size-padding-horizontal));;
30
+ var(--kbq-input-size-padding-horizontal, map.get($tokens, input-size-padding-horizontal));
29
31
  }
30
32
 
31
33
  input.kbq-input[type="number"] {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
  @mixin kbq-link($foreground, $link, $tokens) {
8
- display: inline-block;
8
+ display: inline;
9
9
 
10
10
  color: map.get($link, text);
11
11
  text-decoration: none;
@@ -69,8 +69,6 @@
69
69
  }
70
70
 
71
71
  &.kbq-link_pseudo {
72
- display: inline;
73
-
74
72
  &.kbq-text-only,
75
73
  &.kbq-text-with-icon .kbq-link__text {
76
74
  border-bottom: none !important;
@@ -4,35 +4,51 @@
4
4
  @use '../core/styles/typography/typography-utils' as *;
5
5
 
6
6
 
7
- @mixin kbq-list-theme($theme) {
8
- $foreground: map.get($theme, foreground);
9
- $background: map.get($theme, background);
7
+ @mixin kbq-list-item($state) {
8
+ background: map.get($state, container-background);
10
9
 
11
- .kbq-list-item,
12
- .kbq-list-option {
13
- color: map.get($foreground, text);
10
+ .kbq-list-text {
11
+ color: map.get($state, text);
12
+ }
13
+
14
+ .kbq-icon {
15
+ color: map.get($state, icon);
16
+ }
17
+
18
+ .kbq-option-action .kbq-icon {
19
+ color: map.get($state, icon-button);
20
+ }
21
+
22
+ .kbq-list-option-caption {
23
+ color: map.get($state, caption);
14
24
  }
25
+ }
26
+
27
+ @mixin kbq-list-theme($theme) {
28
+ $list-item: map.get(map.get($theme, components), list-item);
15
29
 
16
30
  .kbq-list-option {
17
- outline: none;
31
+ @include kbq-list-item(map.get($list-item, default));
18
32
 
19
- &:hover {
20
- background: map.get($background, overlay-hover);
33
+ &:hover:not(.kbq-disabled):not([disabled]) {
34
+ @include kbq-list-item(map.get($list-item, hover));
21
35
  }
22
36
 
23
37
  &.kbq-focused {
24
- border-color: map.get(map.get($theme, states), focused-color);
38
+ border-color: map.get(map.get($list-item, focused), focus-outline);
25
39
  }
26
40
 
27
41
  &.kbq-selected {
28
- background: map.get(map.get($theme, states), selected-color);
42
+ @include kbq-list-item(map.get($list-item, selected));
43
+
44
+ &:hover:not(.kbq-disabled):not([disabled]) {
45
+ @include kbq-list-item(map.get($list-item, selected-hover));
46
+ }
29
47
  }
30
48
 
31
49
  &.kbq-disabled,
32
50
  &[disabled] {
33
- background: transparent;
34
-
35
- color: map.get($foreground, text-disabled);
51
+ @include kbq-list-item(map.get($list-item, disabled));
36
52
  }
37
53
  }
38
54
  }
@@ -42,6 +58,10 @@
42
58
 
43
59
  .kbq-list-item,
44
60
  .kbq-list-option {
45
- @include kbq-typography-level-to-styles($config, map.get($tokens, list-font-item));
61
+ @include kbq-typography-level-to-styles($config, map.get($tokens, list-font-text));
62
+ }
63
+
64
+ .kbq-list-option-caption {
65
+ @include kbq-typography-level-to-styles($config, map.get($tokens, list-font-caption));
46
66
  }
47
67
  }
@@ -116,6 +116,10 @@ export declare class KbqListSelection extends KbqListSelectionMixinBase implemen
116
116
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqListSelection, [null, null, { attribute: "multiple"; }, { optional: true; }]>;
117
117
  static ɵcmp: i0.ɵɵComponentDeclaration<KbqListSelection, "kbq-list-selection", ["mcListSelection"], { "disabled": { "alias": "disabled"; "required": false; }; "autoSelect": { "alias": "autoSelect"; "required": false; }; "noUnselectLast": { "alias": "noUnselectLast"; "required": false; }; "horizontal": { "alias": "horizontal"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; }, { "onSelectAll": "onSelectAll"; "onCopy": "onCopy"; "selectionChange": "selectionChange"; }, ["options"], ["*"], false, never>;
118
118
  }
119
+ export declare class KbqListOptionCaption {
120
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqListOptionCaption, never>;
121
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KbqListOptionCaption, "[kbq-list-option-caption]", never, {}, {}, never, never, false, never>;
122
+ }
119
123
  /**
120
124
  * Component for list-options of selection-list. Each list-option can automatically
121
125
  * generate a checkbox and can put current item into the selectionModel of selection-list
@@ -168,5 +172,5 @@ export declare class KbqListOption implements OnDestroy, OnInit, IFocusableOptio
168
172
  blur(): void;
169
173
  getHostElement(): HTMLElement;
170
174
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqListOption, [null, null, null, null, { optional: true; }]>;
171
- static ɵcmp: i0.ɵɵComponentDeclaration<KbqListOption, "kbq-list-option", ["mcListOption"], { "checkboxPosition": { "alias": "checkboxPosition"; "required": false; }; "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "showCheckbox": { "alias": "showCheckbox"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; }, {}, ["actionButton", "tooltipTrigger", "dropdownTrigger"], ["[kbq-icon]", "*", "kbq-option-action"], false, never>;
175
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqListOption, "kbq-list-option", ["kbqListOption"], { "checkboxPosition": { "alias": "checkboxPosition"; "required": false; }; "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "showCheckbox": { "alias": "showCheckbox"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; }, {}, ["actionButton", "tooltipTrigger", "dropdownTrigger"], ["[kbq-icon]", "*", "[kbq-list-option-caption]", "kbq-option-action"], false, never>;
172
176
  }
@@ -6,6 +6,6 @@ import * as i4 from "@angular/cdk/a11y";
6
6
  import * as i5 from "@koobiq/components/core";
7
7
  export declare class KbqListModule {
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqListModule, never>;
9
- static ɵmod: i0.ɵɵNgModuleDeclaration<KbqListModule, [typeof i1.KbqList, typeof i2.KbqListSelection, typeof i1.KbqListItem, typeof i2.KbqListOption], [typeof i3.CommonModule, typeof i4.A11yModule, typeof i5.KbqPseudoCheckboxModule, typeof i5.KbqLineModule, typeof i5.KbqOptionModule], [typeof i1.KbqList, typeof i2.KbqListSelection, typeof i1.KbqListItem, typeof i2.KbqListOption, typeof i5.KbqOptionModule]>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<KbqListModule, [typeof i1.KbqList, typeof i2.KbqListSelection, typeof i1.KbqListItem, typeof i2.KbqListOption, typeof i2.KbqListOptionCaption], [typeof i3.CommonModule, typeof i4.A11yModule, typeof i5.KbqPseudoCheckboxModule, typeof i5.KbqLineModule, typeof i5.KbqOptionModule], [typeof i1.KbqList, typeof i2.KbqListSelection, typeof i1.KbqListItem, typeof i2.KbqListOption, typeof i2.KbqListOptionCaption, typeof i5.KbqOptionModule]>;
10
10
  static ɵinj: i0.ɵɵInjectorDeclaration<KbqListModule>;
11
11
  }
package/list/list.scss CHANGED
@@ -1,7 +1,6 @@
1
1
  @use 'sass:meta';
2
2
  @use 'sass:map';
3
3
 
4
- @use 'list-base';
5
4
  @use '../core/styles/common/list';
6
5
 
7
6
  @use '../core/styles/tokens';
@@ -20,18 +19,10 @@ $tokens: meta.module-variables(tokens) !default;
20
19
  .kbq-list-option {
21
20
  @include list.kbq-no-select;
22
21
 
23
- @include list-base.kbq-list-item-base();
22
+ @include list.kbq-list-item-base();
24
23
 
25
- &.kbq-progress:after {
26
- top: -2px;
27
- right: -2px;
28
- bottom: -2px;
29
- left: -2px;
30
- }
31
-
32
- & .kbq-pseudo-checkbox,
33
- & .kbq-icon {
34
- margin-right: var(--kbq-list-size-icon-right-margin, map.get($tokens, list-size-icon-right-margin));
24
+ &:not(.kbq-disabled):not([disabled]) {
25
+ cursor: pointer;
35
26
  }
36
27
 
37
28
  & .kbq-option-action {
@@ -7,28 +7,60 @@
7
7
  @mixin kbq-loader-overlay-theme($theme) {
8
8
  $loader-overlay: map.get(map.get($theme, components), loader-overlay);
9
9
 
10
- .kbq-loader-overlay {
11
- background: map.get($loader-overlay, background);
12
- }
10
+ .kbq-loader-overlay_filled {
11
+ $filled: map.get($loader-overlay, filled);
12
+
13
+ &.kbq-loader-overlay {
14
+ background: map.get($filled, background);
15
+ }
13
16
 
14
- .kbq-loader-overlay-text {
15
- color: map.get($loader-overlay, text);
17
+ & .kbq-loader-overlay-text {
18
+ color: map.get($filled, text);
19
+ }
20
+
21
+ & .kbq-loader-overlay-caption {
22
+ color: map.get($filled, caption);
23
+ }
16
24
  }
17
25
 
18
- .kbq-loader-overlay-caption {
19
- color: map.get($loader-overlay, caption);
26
+ .kbq-loader-overlay_transparent {
27
+ $transparent: map.get($loader-overlay, transparent);
28
+
29
+ &.kbq-loader-overlay {
30
+ background: map.get($transparent, background);
31
+ }
32
+
33
+ & .kbq-loader-overlay-text {
34
+ color: map.get($transparent, text);
35
+ }
36
+
37
+ & .kbq-loader-overlay-caption {
38
+ color: map.get($transparent, caption);
39
+ }
20
40
  }
21
41
  }
22
42
 
23
43
  @mixin kbq-loader-overlay-typography($config) {
24
44
  $tokens: map.get($config, tokens);
25
45
 
26
- .kbq-loader-overlay-text {
27
- @include kbq-typography-level-to-styles($config, map.get($tokens, loader-overlay-font-text));
46
+ .kbq-loader-overlay_big {
47
+ & .kbq-loader-overlay-text {
48
+ @include kbq-typography-level-to-styles($config, map.get($tokens, loader-overlay-font-big-text));
49
+ }
50
+
51
+ & .kbq-loader-overlay-caption {
52
+ @include kbq-typography-level-to-styles($config, map.get($tokens, loader-overlay-font-big-caption));
53
+ }
28
54
  }
29
55
 
30
- .kbq-loader-overlay-caption {
31
- @include kbq-typography-level-to-styles($config, map.get($tokens, loader-overlay-font-caption));
56
+ .kbq-loader-overlay_compact {
57
+ & .kbq-loader-overlay-text {
58
+ @include kbq-typography-level-to-styles($config, map.get($tokens, loader-overlay-font-compact-text));
59
+ }
60
+
61
+ & .kbq-loader-overlay-caption {
62
+ @include kbq-typography-level-to-styles($config, map.get($tokens, loader-overlay-font-compact-caption));
63
+ }
32
64
  }
33
65
  }
34
66
 
@@ -15,20 +15,21 @@ export declare class KbqLoaderOverlayCaption {
15
15
  export declare class KbqLoaderOverlay implements OnInit, OnDestroy {
16
16
  private elementRef;
17
17
  private renderer;
18
- private fixedTop;
19
18
  text: string;
20
19
  caption: string;
20
+ compact: boolean;
21
+ transparent: boolean;
21
22
  get isExternalIndicator(): boolean;
22
23
  get isExternalText(): boolean;
23
24
  get isExternalCaption(): boolean;
24
- get isFixedTop(): boolean;
25
25
  get isEmpty(): boolean;
26
+ get spinnerSize(): string;
26
27
  externalIndicator: KbqLoaderOverlayIndicator | null;
27
28
  externalText: KbqLoaderOverlayText | null;
28
29
  externalCaption: KbqLoaderOverlayCaption | null;
29
- constructor(elementRef: ElementRef, renderer: Renderer2, fixedTop: string | null);
30
+ constructor(elementRef: ElementRef, renderer: Renderer2);
30
31
  ngOnInit(): void;
31
32
  ngOnDestroy(): void;
32
- static ɵfac: i0.ɵɵFactoryDeclaration<KbqLoaderOverlay, [null, null, { attribute: "fixed-top"; optional: true; }]>;
33
- static ɵcmp: i0.ɵɵComponentDeclaration<KbqLoaderOverlay, "kbq-loader-overlay", never, { "text": { "alias": "text"; "required": false; }; "caption": { "alias": "caption"; "required": false; }; }, {}, ["externalIndicator", "externalText", "externalCaption"], ["[kbq-loader-overlay-indicator]", "[kbq-loader-overlay-text]", "[kbq-loader-overlay-caption]"], false, never>;
33
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqLoaderOverlay, never>;
34
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqLoaderOverlay, "kbq-loader-overlay", never, { "text": { "alias": "text"; "required": false; }; "caption": { "alias": "caption"; "required": false; }; "compact": { "alias": "compact"; "required": false; }; "transparent": { "alias": "transparent"; "required": false; }; }, {}, ["externalIndicator", "externalText", "externalCaption"], ["[kbq-loader-overlay-indicator]", "[kbq-loader-overlay-text]", "[kbq-loader-overlay-caption]"], false, never>;
34
35
  }
@@ -10,6 +10,13 @@ $tokens: meta.module-variables(tokens) !default;
10
10
  position: relative;
11
11
  }
12
12
 
13
+ .kbq-loader-overlay-text,
14
+ .kbq-loader-overlay-caption {
15
+ max-width: 90%;
16
+
17
+ text-align: center;
18
+ }
19
+
13
20
  .kbq-loader-overlay {
14
21
  position: absolute;
15
22
 
@@ -34,31 +41,55 @@ $tokens: meta.module-variables(tokens) !default;
34
41
  max-width: 80%;
35
42
  }
36
43
 
37
- &.kbq-loader-overlay_fixed-top {
38
- justify-content: unset;
39
-
40
- & .kbq-loader-overlay__container {
41
- margin-top: map.get($tokens, loader-overlay-size-fixed-top-padding);
44
+ &.kbq-loader-overlay_big {
45
+ padding-left: var(
46
+ --kbq-loader-overlay-size-big-overlay-padding-horizontal,
47
+ map.get($tokens, loader-overlay-size-big-overlay-padding-horizontal)
48
+ );
49
+
50
+ padding-right: var(
51
+ --kbq-loader-overlay-size-big-overlay-padding-horizontal,
52
+ map.get($tokens, loader-overlay-size-big-overlay-padding-horizontal)
53
+ );
54
+
55
+ & .kbq-progress-spinner {
56
+ margin-bottom: var(
57
+ --kbq-loader-overlay-size-big-loader-margin-bottom,
58
+ map.get($tokens, loader-overlay-size-big-loader-margin-bottom)
59
+ );
42
60
  }
43
- }
44
61
 
45
- &.kbq-loader-overlay_center:not(.kbq-loader-overlay_empty) .kbq-loader-overlay__container {
46
- transform: translateY(map.get($tokens, loader-overlay-size-center-optical-compensation));
62
+ & .kbq-loader-overlay-text {
63
+ margin-bottom: var(
64
+ --kbq-loader-overlay-size-big-content-content-gap-vertical,
65
+ map.get($tokens, loader-overlay-size-big-content-content-gap-vertical)
66
+ );
67
+ }
47
68
  }
48
- }
49
-
50
- .kbq-loader-overlay-text {
51
- margin-top: map.get($tokens, size-s);
52
69
 
53
- max-width: map.get($tokens, loader-overlay-size-text-max-width);
54
-
55
- text-align: center;
56
- }
57
-
58
- .kbq-loader-overlay-caption {
59
- margin-top: map.get($tokens, size-3xs);
60
-
61
- max-width: map.get($tokens, loader-overlay-size-text-max-width);
70
+ &.kbq-loader-overlay_compact {
71
+ padding-left: var(
72
+ --kbq-loader-overlay-size-compact-overlay-padding-horizontal,
73
+ map.get($tokens, loader-overlay-size-compact-overlay-padding-horizontal)
74
+ );
75
+
76
+ padding-right: var(
77
+ --kbq-loader-overlay-size-compact-overlay-padding-horizontal,
78
+ map.get($tokens, loader-overlay-size-compact-overlay-padding-horizontal)
79
+ );
80
+
81
+ & .kbq-progress-spinner {
82
+ margin-bottom: var(
83
+ --kbq-loader-overlay-size-compact-loader-margin-bottom,
84
+ map.get($tokens, loader-overlay-size-compact-loader-margin-bottom)
85
+ );
86
+ }
62
87
 
63
- text-align: center;
88
+ & .kbq-loader-overlay-text {
89
+ margin-bottom: var(
90
+ --kbq-loader-overlay-size-compact-content-content-gap-vertical,
91
+ map.get($tokens, loader-overlay-size-compact-content-content-gap-vertical)
92
+ );
93
+ }
94
+ }
64
95
  }
@@ -8,7 +8,7 @@ $tokens: meta.module-variables(tokens) !default;
8
8
 
9
9
  .kbq-confirm {
10
10
  .kbq-modal-header {
11
- display: none;
11
+
12
12
  }
13
13
 
14
14
  .kbq-modal-close {
@@ -16,38 +16,30 @@ $tokens: meta.module-variables(tokens) !default;
16
16
  }
17
17
 
18
18
  .kbq-modal-body {
19
- padding: var(--kbq-modal-confirm-size-padding, map.get($tokens, modal-confirm-size-padding));
20
- }
19
+ padding-right: var(
20
+ --kbq-modal-size-content-padding-horizontal, map.get($tokens, modal-size-content-padding-horizontal)
21
+ );
21
22
 
22
- // TODO
23
- &-body-wrapper {
24
- //.clearfix()
25
- zoom: 1;
23
+ padding-left: var(
24
+ --kbq-modal-size-content-padding-horizontal, map.get($tokens, modal-size-content-padding-horizontal)
25
+ );
26
26
 
27
- &:before,
28
- &:after {
29
- content: "";
30
- display: table;
31
- }
32
-
33
- &:after {
34
- clear: both;
35
- }
27
+ padding-bottom: var(
28
+ --kbq-modal-size-content-padding-bottom, map.get($tokens, modal-size-content-padding-bottom)
29
+ );
36
30
  }
37
31
 
38
- &-body {
39
- .kbq-confirm-title {
40
- display: block;
41
- overflow: auto;
42
- }
43
- }
32
+ .kbq-confirm-footer {
33
+ display: flex;
44
34
 
45
- .kbq-confirm-btns {
46
- border-radius: var(--kbq-modal-footer-size-border-radius, map.get($tokens, modal-footer-size-border-radius));
47
- text-align: right;
35
+ padding:
36
+ var(--kbq-modal-size-footer-padding-top, map.get($tokens, modal-size-footer-padding-top))
37
+ var(--kbq-modal-size-footer-padding-horizontal, map.get($tokens, modal-size-footer-padding-horizontalt))
38
+ var(--kbq-modal-size-footer-padding-bottom, map.get($tokens, modal-size-footer-padding-bottom))
39
+ var(--kbq-modal-size-footer-padding-horizontal, map.get($tokens, modal-size-footer-padding-horizontal));
48
40
 
49
- button + button, button:only-child {
50
- margin: 16px;
51
- }
41
+ gap: var(
42
+ --kbq-modal-size-footer-content-gap-horizontal, map.get($tokens, modal-size-footer-content-gap-horizontal)
43
+ );
52
44
  }
53
45
  }
@@ -11,9 +11,11 @@
11
11
  $background: map.get($theme, background);
12
12
 
13
13
  $modal: map.get(map.get($theme, components), modal);
14
- $popup: map.get(map.get($theme, components), popup);
15
14
 
16
15
  .kbq-modal {
16
+ background: map.get($modal, container-background);
17
+ box-shadow: map.get($modal, container-box-shadow);
18
+
17
19
  .kbq-modal-content {
18
20
  // У модалки должен быть фон background. Чтобы поповеры и дропдауны было видно поверх модалки
19
21
  background-color: map.get($background, background);
@@ -26,9 +28,6 @@
26
28
  }
27
29
 
28
30
  .kbq-modal-header {
29
- border-bottom-width: var(--kbq-modal-size-border-width, map.get($tokens, modal-size-border-width));
30
- border-bottom-style: solid;
31
- border-bottom-color: map.get($modal, header-border);
32
31
  }
33
32
 
34
33
  .kbq-modal-header.kbq-modal-body_top-overflow {
@@ -40,51 +39,22 @@
40
39
  }
41
40
 
42
41
  .kbq-modal-footer {
43
- border-top-width: var(--kbq-modal-size-border-width, map.get($tokens, modal-size-border-width));
44
- border-top-style: solid;
45
- border-top-color: map.get($modal, footer-border);
46
-
47
- background-color: map.get($popup, footer-background);
48
- }
49
-
50
- .kbq-modal-close {
51
- border: var(--kbq-modal-size-border-width, map.get($tokens, modal-size-border-width)) solid transparent;
52
-
53
- &:hover {
54
- .kbq-button-overlay {
55
- background: map.get($background, overlay-hover);
56
- }
57
-
58
- .kbq-icon {
59
- color: inherit;
60
- }
61
- }
62
42
  }
63
43
  }
64
44
 
65
45
  .kbq-modal-mask {
66
46
  background-color: map.get($modal, background-mask);
67
47
  }
68
-
69
- .kbq-confirm {
70
- .kbq-confirm-btns {
71
- border-top-width: var(--kbq-modal-size-border-width, map.get($tokens, modal-size-border-width));
72
- border-top-style: solid;
73
- border-top-color: map.get($modal, footer-border);
74
-
75
- background-color: map.get($popup, footer-background);
76
- }
77
- }
78
48
  }
79
49
 
80
50
  @mixin kbq-modal-typography($config) {
81
51
  $tokens: map.get($config, tokens);
82
52
 
83
53
  .kbq-modal-title {
84
- @include kbq-typography-level-to-styles($config, map.get($tokens, modal-header-font-default));
54
+ @include kbq-typography-level-to-styles($config, map.get($tokens, modal-font-header));
85
55
  }
86
56
 
87
57
  .kbq-modal-body {
88
- @include kbq-typography-level-to-styles($config, map.get($tokens, modal-body-font-default));
58
+ @include kbq-typography-level-to-styles($config, map.get($tokens, modal-font-content));
89
59
  }
90
60
  }
@@ -1,6 +1,6 @@
1
1
  import { Overlay, OverlayRef } from '@angular/cdk/overlay';
2
2
  import { AfterViewInit, ChangeDetectorRef, ComponentFactoryResolver, ComponentRef, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, QueryList, Renderer2, SimpleChanges, TemplateRef, Type, ViewContainerRef } from '@angular/core';
3
- import { ThemePalette } from '@koobiq/components/core';
3
+ import { KbqComponentColors } from '@koobiq/components/core';
4
4
  import { Observable } from 'rxjs';
5
5
  import { KbqModalControlService } from './modal-control.service';
6
6
  import { KbqModalRef } from './modal-ref.class';
@@ -16,7 +16,7 @@ export declare class KbqModalComponent<T = any, R = any> extends KbqModalRef<T,
16
16
  private modalControl;
17
17
  private changeDetector;
18
18
  private document;
19
- themePalette: typeof ThemePalette;
19
+ componentColors: typeof KbqComponentColors;
20
20
  mcModalType: ModalType;
21
21
  mcComponent: Type<T>;
22
22
  mcContent: string | TemplateRef<{}> | Type<T>;
@@ -48,7 +48,7 @@ export declare class KbqModalComponent<T = any, R = any> extends KbqModalRef<T,
48
48
  mcAfterOpen: EventEmitter<void>;
49
49
  mcAfterClose: EventEmitter<R>;
50
50
  mcOkText: string;
51
- mcOkType: string;
51
+ mcOkType: KbqComponentColors;
52
52
  mcRestoreFocus: boolean;
53
53
  get mcOkLoading(): boolean;
54
54
  set mcOkLoading(value: boolean);
@@ -63,8 +63,6 @@ export declare class KbqModalComponent<T = any, R = any> extends KbqModalRef<T,
63
63
  bodyContainer: ViewContainerRef;
64
64
  autoFocusedButtons: QueryList<ElementRef>;
65
65
  modalBody: ElementRef;
66
- isTopOverflow: boolean;
67
- isBottomOverflow: boolean;
68
66
  maskAnimationClassMap: object;
69
67
  modalAnimationClassMap: object;
70
68
  transformOrigin: string;
@@ -83,7 +81,6 @@ export declare class KbqModalComponent<T = any, R = any> extends KbqModalRef<T,
83
81
  ngOnChanges(changes: SimpleChanges): void;
84
82
  ngAfterViewInit(): void;
85
83
  ngOnDestroy(): void;
86
- checkOverflow(): void;
87
84
  open(): void;
88
85
  close(result?: R): void;
89
86
  destroy(result?: R): void;
@@ -7,8 +7,9 @@ import * as i5 from "@angular/cdk/overlay";
7
7
  import * as i6 from "@angular/cdk/a11y";
8
8
  import * as i7 from "@koobiq/components/button";
9
9
  import * as i8 from "@koobiq/components/icon";
10
+ import * as i9 from "@koobiq/components/title";
10
11
  export declare class KbqModalModule {
11
12
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqModalModule, never>;
12
- static ɵmod: i0.ɵɵNgModuleDeclaration<KbqModalModule, [typeof i1.KbqModalComponent, typeof i2.KbqModalTitle, typeof i2.KbqModalBody, typeof i2.KbqModalFooter, typeof i3.CssUnitPipe, typeof i2.KbqModalMainAction], [typeof i4.CommonModule, typeof i5.OverlayModule, typeof i6.A11yModule, typeof i7.KbqButtonModule, typeof i8.KbqIconModule], [typeof i1.KbqModalComponent, typeof i2.KbqModalTitle, typeof i2.KbqModalBody, typeof i2.KbqModalFooter, typeof i2.KbqModalMainAction]>;
13
+ static ɵmod: i0.ɵɵNgModuleDeclaration<KbqModalModule, [typeof i1.KbqModalComponent, typeof i2.KbqModalTitle, typeof i2.KbqModalBody, typeof i2.KbqModalFooter, typeof i3.CssUnitPipe, typeof i2.KbqModalMainAction], [typeof i4.CommonModule, typeof i5.OverlayModule, typeof i6.A11yModule, typeof i7.KbqButtonModule, typeof i8.KbqIconModule, typeof i9.KbqTitleModule], [typeof i1.KbqModalComponent, typeof i2.KbqModalTitle, typeof i2.KbqModalBody, typeof i2.KbqModalFooter, typeof i2.KbqModalMainAction]>;
13
14
  static ɵinj: i0.ɵɵInjectorDeclaration<KbqModalModule>;
14
15
  }