@koobiq/components 18.26.0 → 18.28.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 (182) hide show
  1. package/badge/_badge-theme.scss +1 -1
  2. package/breadcrumbs/breadcrumbs.scss +0 -1
  3. package/button/_button-theme.scss +1 -1
  4. package/button-toggle/_button-toggle-theme.scss +1 -1
  5. package/code-block/code-block.scss +2 -0
  6. package/core/locales/en-US.d.ts +1 -0
  7. package/core/locales/es-LA.d.ts +1 -0
  8. package/core/locales/fa-IR.d.ts +1 -0
  9. package/core/locales/locale-service.d.ts +7 -0
  10. package/core/locales/pt-BR.d.ts +1 -0
  11. package/core/locales/ru-RU.d.ts +1 -0
  12. package/core/locales/tk-TM.d.ts +1 -0
  13. package/core/locales/zh-CN.d.ts +1 -0
  14. package/core/option/_option-action-theme.scss +3 -3
  15. package/core/option/_option-theme.scss +1 -1
  16. package/core/option/option.d.ts +3 -1
  17. package/core/styles/theming/_components-theming.scss +343 -206
  18. package/core/styles/typography/_typography.scss +2 -0
  19. package/core/styles/visual/_layout-media.scss +1 -0
  20. package/core/styles/visual/_layout.scss +2 -0
  21. package/datepicker/datepicker-module.d.ts +1 -1
  22. package/dropdown/_dropdown-theme.scss +1 -1
  23. package/empty-state/empty-state.module.d.ts +1 -1
  24. package/esm2022/alert/alert.component.mjs +3 -2
  25. package/esm2022/badge/badge.component.mjs +2 -2
  26. package/esm2022/breadcrumbs/breadcrumbs.mjs +3 -3
  27. package/esm2022/button/button.component.mjs +2 -2
  28. package/esm2022/button-toggle/button-toggle.component.mjs +2 -2
  29. package/esm2022/core/locales/en-US.mjs +3 -2
  30. package/esm2022/core/locales/es-LA.mjs +3 -2
  31. package/esm2022/core/locales/fa-IR.mjs +3 -2
  32. package/esm2022/core/locales/pt-BR.mjs +3 -2
  33. package/esm2022/core/locales/ru-RU.mjs +3 -2
  34. package/esm2022/core/locales/tk-TM.mjs +3 -2
  35. package/esm2022/core/locales/zh-CN.mjs +3 -2
  36. package/esm2022/core/option/action.mjs +2 -2
  37. package/esm2022/core/option/option.mjs +9 -5
  38. package/esm2022/core/pop-up/pop-up-trigger.mjs +7 -4
  39. package/esm2022/core/version.mjs +2 -2
  40. package/esm2022/datepicker/calendar-header.component.mjs +1 -1
  41. package/esm2022/datepicker/calendar.component.mjs +2 -1
  42. package/esm2022/datepicker/datepicker-module.mjs +1 -4
  43. package/esm2022/dropdown/dropdown.component.mjs +3 -3
  44. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +1 -2
  45. package/esm2022/empty-state/empty-state.module.mjs +1 -3
  46. package/esm2022/file-upload/multiple-file-upload.component.mjs +2 -2
  47. package/esm2022/file-upload/single-file-upload.component.mjs +2 -2
  48. package/esm2022/filter-bar/filter-bar.mjs +11 -7
  49. package/esm2022/filter-bar/filter-bar.types.mjs +4 -1
  50. package/esm2022/filter-bar/pipe-add.mjs +2 -2
  51. package/esm2022/filter-bar/pipes/base-pipe.mjs +5 -3
  52. package/esm2022/filter-bar/pipes/pipe-button.mjs +13 -6
  53. package/esm2022/filter-bar/pipes/pipe-date.mjs +3 -3
  54. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +3 -3
  55. package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +54 -5
  56. package/esm2022/filter-bar/pipes/pipe-readonly.mjs +68 -0
  57. package/esm2022/filter-bar/pipes/pipe-select.mjs +12 -3
  58. package/esm2022/filter-bar/pipes/pipe-state.mjs +12 -5
  59. package/esm2022/filter-bar/pipes/pipe-text.mjs +3 -3
  60. package/esm2022/filter-bar/public-api.mjs +2 -1
  61. package/esm2022/form-field/form-field.mjs +2 -2
  62. package/esm2022/form-field/hint.mjs +2 -2
  63. package/esm2022/form-field/password-hint.mjs +2 -2
  64. package/esm2022/input/input-number.mjs +2 -2
  65. package/esm2022/list/list-selection.component.mjs +2 -2
  66. package/esm2022/list/list.component.mjs +2 -2
  67. package/esm2022/markdown/markdown.component.mjs +2 -2
  68. package/esm2022/navbar/navbar-item.component.mjs +6 -4
  69. package/esm2022/navbar/navbar.component.mjs +4 -4
  70. package/esm2022/navbar/vertical-navbar.component.mjs +5 -4
  71. package/esm2022/select/select.component.mjs +12 -5
  72. package/esm2022/tabs/tab-nav-bar.mjs +4 -4
  73. package/esm2022/textarea/textarea.component.mjs +5 -4
  74. package/esm2022/timezone/timezone-option.component.mjs +2 -2
  75. package/esm2022/toast/toast-container.component.mjs +2 -2
  76. package/esm2022/toast/toast.component.mjs +3 -3
  77. package/esm2022/toast/toast.service.mjs +18 -15
  78. package/esm2022/toast/toast.type.mjs +19 -2
  79. package/esm2022/toggle/toggle.component.mjs +18 -12
  80. package/esm2022/tree/toggle.mjs +2 -2
  81. package/esm2022/tree/tree-selection.component.mjs +2 -2
  82. package/esm2022/tree/tree.mjs +2 -2
  83. package/esm2022/tree-select/tree-select.component.mjs +12 -4
  84. package/fesm2022/koobiq-components-alert.mjs +2 -1
  85. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  86. package/fesm2022/koobiq-components-badge.mjs +2 -2
  87. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  88. package/fesm2022/koobiq-components-breadcrumbs.mjs +2 -2
  89. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  90. package/fesm2022/koobiq-components-button-toggle.mjs +2 -2
  91. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  92. package/fesm2022/koobiq-components-button.mjs +2 -2
  93. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  94. package/fesm2022/koobiq-components-core.mjs +31 -17
  95. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  96. package/fesm2022/koobiq-components-datepicker.mjs +2 -4
  97. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  98. package/fesm2022/koobiq-components-dropdown.mjs +2 -2
  99. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  100. package/fesm2022/koobiq-components-ellipsis-center.mjs +0 -1
  101. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  102. package/fesm2022/koobiq-components-empty-state.mjs +0 -2
  103. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
  104. package/fesm2022/koobiq-components-file-upload.mjs +4 -4
  105. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  106. package/fesm2022/koobiq-components-filter-bar.mjs +168 -33
  107. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  108. package/fesm2022/koobiq-components-form-field.mjs +6 -6
  109. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  110. package/fesm2022/koobiq-components-input.mjs +1 -1
  111. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  112. package/fesm2022/koobiq-components-list.mjs +4 -4
  113. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  114. package/fesm2022/koobiq-components-markdown.mjs +2 -2
  115. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  116. package/fesm2022/koobiq-components-navbar.mjs +11 -9
  117. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  118. package/fesm2022/koobiq-components-select.mjs +11 -4
  119. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  120. package/fesm2022/koobiq-components-tabs.mjs +3 -3
  121. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  122. package/fesm2022/koobiq-components-textarea.mjs +4 -3
  123. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  124. package/fesm2022/koobiq-components-timezone.mjs +2 -2
  125. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  126. package/fesm2022/koobiq-components-toast.mjs +40 -20
  127. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  128. package/fesm2022/koobiq-components-toggle.mjs +16 -10
  129. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  130. package/fesm2022/koobiq-components-tree-select.mjs +11 -3
  131. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  132. package/fesm2022/koobiq-components-tree.mjs +6 -6
  133. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  134. package/file-upload/_file-upload-theme.scss +9 -7
  135. package/file-upload/file-upload.scss +3 -0
  136. package/file-upload/multiple-file-upload.component.scss +2 -0
  137. package/file-upload/single-file-upload.component.scss +2 -0
  138. package/filter-bar/_filter-bar-theme.scss +1 -1
  139. package/filter-bar/filter-bar.d.ts +4 -2
  140. package/filter-bar/filter-bar.types.d.ts +5 -1
  141. package/filter-bar/pipes/base-pipe.d.ts +3 -1
  142. package/filter-bar/pipes/base-pipe.scss +1 -1
  143. package/filter-bar/pipes/pipe-button.d.ts +4 -1
  144. package/filter-bar/pipes/pipe-multi-select.d.ts +18 -2
  145. package/filter-bar/pipes/pipe-readonly.d.ts +7 -0
  146. package/filter-bar/pipes/pipe-readonly.scss +18 -0
  147. package/filter-bar/pipes/pipe-select.d.ts +5 -2
  148. package/filter-bar/pipes/pipe-state.d.ts +7 -1
  149. package/filter-bar/public-api.d.ts +1 -0
  150. package/form-field/_form-field-theme.scss +2 -2
  151. package/form-field/_hint-theme.scss +1 -1
  152. package/link/_link-theme.scss +1 -1
  153. package/list/_list-theme.scss +2 -2
  154. package/markdown/markdown.scss +3 -1
  155. package/modal/modal.scss +2 -0
  156. package/navbar/_navbar-theme.scss +1 -1
  157. package/package.json +5 -5
  158. package/prebuilt-themes/dark-theme.css +1 -1
  159. package/prebuilt-themes/light-theme.css +1 -1
  160. package/prebuilt-themes/theme.css +1 -1
  161. package/schematics/migrations/css-selectors/README.md +1 -1
  162. package/schematics/migrations/deprecated-icons/README.md +3 -3
  163. package/schematics/migrations/empty-state-size-attr/README.md +2 -2
  164. package/schematics/migrations/loader-overlay-size-attr/README.md +2 -2
  165. package/schematics/migrations/new-icons-pack/README.md +3 -3
  166. package/schematics/ng-add/index.js +6 -6
  167. package/scrollbar/scrollbar.component.scss +2 -0
  168. package/select/select.component.d.ts +1 -0
  169. package/sidepanel/sidepanel.scss +1 -0
  170. package/tabs/_tabs-theme.scss +1 -1
  171. package/tabs/tab-nav-bar.d.ts +1 -1
  172. package/tags/_tag-theme.scss +1 -1
  173. package/textarea/textarea.component.d.ts +1 -1
  174. package/toast/toast-container.component.scss +29 -3
  175. package/toast/toast-tokens.scss +5 -1
  176. package/toast/toast.component.scss +2 -1
  177. package/toast/toast.service.d.ts +0 -1
  178. package/toast/toast.type.d.ts +12 -2
  179. package/toggle/toggle.component.d.ts +6 -2
  180. package/toggle/toggle.scss +3 -0
  181. package/tree/_tree-theme.scss +4 -4
  182. package/tree-select/tree-select.component.d.ts +1 -0
@@ -1,3 +1,5 @@
1
+ // @TODO should remove "selector-class-pattern" rule ignore (#DS-3753)
2
+ /* stylelint-disable selector-class-pattern */
1
3
  @use '../core/styles/common/tokens';
2
4
 
3
5
  @mixin kbq-file-upload-theme() {
@@ -26,7 +28,7 @@
26
28
  }
27
29
 
28
30
  :not(.kbq-link),
29
- .kbq-icon {
31
+ .kbq-icon.kbq-empty {
30
32
  color: var(--kbq-file-upload-single-states-error-text-block-color);
31
33
  }
32
34
  }
@@ -36,7 +38,7 @@
36
38
  border-color: var(--kbq-file-upload-single-states-disabled-container-border) !important;
37
39
 
38
40
  &,
39
- .kbq-icon,
41
+ .kbq-icon.kbq-empty,
40
42
  .kbq-link {
41
43
  color: var(--kbq-file-upload-single-states-disabled-container-border);
42
44
  }
@@ -77,7 +79,7 @@
77
79
  border-color: var(--kbq-file-upload-multiple-states-disabled-container-border) !important;
78
80
 
79
81
  &,
80
- .kbq-icon,
82
+ .kbq-icon.kbq-empty,
81
83
  .kbq-link {
82
84
  color: var(--kbq-file-upload-multiple-states-disabled-container-border);
83
85
  }
@@ -95,7 +97,7 @@
95
97
  border-color: var(--kbq-line-error) !important;
96
98
 
97
99
  :not(.kbq-link),
98
- .kbq-icon {
100
+ .kbq-icon.kbq-empty {
99
101
  color: var(--kbq-foreground-error);
100
102
  }
101
103
  }
@@ -105,7 +107,7 @@
105
107
  background-color: var(--kbq-background-error-less);
106
108
 
107
109
  :not(.kbq-link),
108
- .kbq-icon {
110
+ .kbq-icon.kbq-empty {
109
111
  color: var(--kbq-foreground-error);
110
112
  }
111
113
  }
@@ -113,11 +115,11 @@
113
115
  }
114
116
 
115
117
  .multiple__uploaded-item {
116
- & .kbq-file-upload__file .kbq-icon {
118
+ & .kbq-file-upload__file .kbq-icon.kbq-empty {
117
119
  color: var(--kbq-file-upload-multiple-default-left-icon-color);
118
120
  }
119
121
 
120
- & .kbq-file-upload__action .kbq-icon {
122
+ & .kbq-file-upload__action .kbq-icon.kbq-empty {
121
123
  color: var(--kbq-file-upload-multiple-default-icon-button-color);
122
124
  }
123
125
  }
@@ -1,3 +1,6 @@
1
+ // @TODO should remove "selector-class-pattern" rule ignore (#DS-3753)
2
+ /* stylelint-disable selector-class-pattern */
3
+
1
4
  @use './file-upload-theme' as theme;
2
5
 
3
6
  .kbq-file-upload {
@@ -1,3 +1,5 @@
1
+ // @TODO should remove "selector-class-pattern" rule ignore (#DS-3753)
2
+ /* stylelint-disable selector-class-pattern */
1
3
  @use '../core/styles/common/tokens' as *;
2
4
 
3
5
  // todo нужно рефакторить со стилями тут сложно
@@ -1,3 +1,5 @@
1
+ // @TODO should remove "selector-class-pattern" rule ignore (#DS-3753)
2
+ /* stylelint-disable selector-class-pattern */
1
3
  @use '../core/styles/common/tokens' as *;
2
4
 
3
5
  .kbq-single-file-upload .kbq-file-upload {
@@ -7,7 +7,7 @@
7
7
  }
8
8
 
9
9
  @mixin _icon($left-icon, $right-icon) {
10
- .kbq-icon {
10
+ .kbq-icon.kbq-empty {
11
11
  color: $left-icon;
12
12
 
13
13
  &.kbq-icon_left {
@@ -20,8 +20,8 @@ export declare class KbqFilterBar {
20
20
  set filter(value: KbqFilter | null);
21
21
  private _filter;
22
22
  /** An array of templates that are used when adding a pipe. Also contains lists of options to select (values). */
23
- set pipeTemplates(value: KbqPipeTemplate[]);
24
23
  get pipeTemplates(): KbqPipeTemplate[];
24
+ set pipeTemplates(value: KbqPipeTemplate[]);
25
25
  private _templates;
26
26
  /**
27
27
  * Event that emits whenever the raw value of the filter changes. This is here primarily
@@ -33,6 +33,8 @@ export declare class KbqFilterBar {
33
33
  readonly onChangePipe: EventEmitter<KbqPipe>;
34
34
  /** Event that emits whenever the pipe deleted. */
35
35
  readonly onRemovePipe: EventEmitter<KbqPipe>;
36
+ /** Event that emits whenever the select or multiselect pipe closed. */
37
+ readonly onClosePipe: EventEmitter<KbqPipe>;
36
38
  /** Whether the current filter is saved and changed */
37
39
  get isSavedAndChanged(): boolean;
38
40
  /** Whether the current filter is saved */
@@ -65,5 +67,5 @@ export declare class KbqFilterBar {
65
67
  private updateLocaleParams;
66
68
  private initDefaultParams;
67
69
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqFilterBar, never>;
68
- static ɵcmp: i0.ɵɵComponentDeclaration<KbqFilterBar, "kbq-filter-bar, [kbq-filter-bar]", never, { "filter": { "alias": "filter"; "required": false; }; "pipeTemplates": { "alias": "pipeTemplates"; "required": false; }; }, { "filterChange": "filterChange"; "onChangePipe": "onChangePipe"; "onRemovePipe": "onRemovePipe"; }, ["filters", "filterReset"], ["kbq-filters", "*", "kbq-pipe-add", "kbq-filter-reset", "kbq-filter-search, [kbq-filter-search]", "kbq-filter-refresher, [kbq-filter-refresher]"], true, never>;
70
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqFilterBar, "kbq-filter-bar, [kbq-filter-bar]", never, { "filter": { "alias": "filter"; "required": false; }; "pipeTemplates": { "alias": "pipeTemplates"; "required": false; }; }, { "filterChange": "filterChange"; "onChangePipe": "onChangePipe"; "onRemovePipe": "onRemovePipe"; "onClosePipe": "onClosePipe"; }, ["filters", "filterReset"], ["kbq-filters", "*", "kbq-pipe-add", "kbq-filter-reset", "kbq-filter-search, [kbq-filter-search]", "kbq-filter-refresher, [kbq-filter-refresher]"], true, never>;
69
71
  }
@@ -34,6 +34,7 @@ export declare const KBQ_FILTER_BAR_DEFAULT_CONFIGURATION: {
34
34
  removeButtonTooltip: string;
35
35
  applyButton: string;
36
36
  emptySearchResult: string;
37
+ selectAll: string;
37
38
  };
38
39
  datePipe: {
39
40
  customPeriod: string;
@@ -51,6 +52,7 @@ export declare const KBQ_FILTER_BAR_PIPES: InjectionToken<any>;
51
52
  export declare const kbqFilterBarPipesProvider: () => Provider;
52
53
  /** list of pipe types available out of the box */
53
54
  export declare enum KbqPipeTypes {
55
+ ReadOnly = "readonly",
54
56
  Text = "text",
55
57
  Select = "select",
56
58
  MultiSelect = "multiselect",
@@ -83,7 +85,9 @@ export interface KbqPipe {
83
85
  type: KbqPipeType;
84
86
  value: unknown | null;
85
87
  search?: boolean;
86
- required: boolean;
88
+ selectAll?: boolean;
89
+ /** @deprecated use cleanable = false and removable = false instead */
90
+ required?: boolean;
87
91
  cleanable: boolean;
88
92
  removable: boolean;
89
93
  disabled: boolean;
@@ -1,4 +1,4 @@
1
- import { AfterViewInit, ChangeDetectorRef, ElementRef, InjectionToken, TemplateRef } from '@angular/core';
1
+ import { AfterViewInit, ChangeDetectorRef, DestroyRef, ElementRef, InjectionToken, TemplateRef } from '@angular/core';
2
2
  import { Subject } from 'rxjs';
3
3
  import { KbqFilterBar } from '../filter-bar';
4
4
  import { KbqPipeData, KbqPipeTemplate, KbqPipeType } from '../filter-bar.types';
@@ -17,6 +17,8 @@ export declare abstract class KbqBasePipe<V> implements AfterViewInit {
17
17
  protected readonly filterBar: KbqFilterBar | null;
18
18
  /** @docs-private */
19
19
  protected readonly changeDetectorRef: ChangeDetectorRef;
20
+ /** @docs-private */
21
+ protected readonly destroyRef: DestroyRef;
20
22
  /** values to select from the pipe template */
21
23
  protected values: any;
22
24
  /** TemplateRef for selecting an option */
@@ -47,7 +47,7 @@
47
47
  }
48
48
 
49
49
  .kbq-select:not(:hover, .kbq-active),
50
- .kbq-button:not(:hover, .kbq-active) {
50
+ .kbq-button:not(:hover, .kbq-active, [disabled]) {
51
51
  & + .kbq-pipe-button:not(:hover, .kbq-active)::after {
52
52
  content: '';
53
53
  position: absolute;
@@ -9,10 +9,13 @@ export declare class KbqPipeButton {
9
9
  protected readonly filterBar: KbqFilterBar;
10
10
  /** @docs-private */
11
11
  protected readonly changeDetectorRef: ChangeDetectorRef;
12
+ /** enables/disables read-only state */
13
+ readonly: boolean;
12
14
  /** localized data
13
15
  * @docs-private */
14
16
  get localeData(): any;
15
17
  constructor();
16
18
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqPipeButton, never>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<KbqPipeButton, "kbq-pipe-button", never, {}, {}, never, never, true, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqPipeButton, "kbq-pipe-button", never, { "readonly": { "alias": "readonly"; "required": false; }; }, {}, never, never, true, never>;
20
+ static ngAcceptInputType_readonly: unknown;
18
21
  }
@@ -1,24 +1,40 @@
1
- import { OnInit } from '@angular/core';
1
+ import { AfterViewInit, OnInit, QueryList } from '@angular/core';
2
2
  import { UntypedFormControl } from '@angular/forms';
3
+ import { KbqOption, KbqPseudoCheckboxState } from '@koobiq/components/core';
3
4
  import { KbqSelect } from '@koobiq/components/select';
4
5
  import { Observable } from 'rxjs';
5
6
  import { KbqSelectValue } from '../filter-bar.types';
6
7
  import { KbqBasePipe } from './base-pipe';
7
8
  import * as i0 from "@angular/core";
8
- export declare class KbqPipeMultiSelectComponent extends KbqBasePipe<KbqSelectValue[]> implements OnInit {
9
+ export declare class KbqPipeMultiSelectComponent extends KbqBasePipe<KbqSelectValue[]> implements AfterViewInit, OnInit {
9
10
  /** control for search options */
10
11
  searchControl: UntypedFormControl;
11
12
  /** filtered by search options */
12
13
  filteredOptions: Observable<any[]>;
13
14
  /** @docs-private */
14
15
  select: KbqSelect;
16
+ /** @docs-private */
17
+ options: QueryList<KbqOption>;
15
18
  /** selected value */
16
19
  get selected(): KbqSelectValue[] | null;
17
20
  /** Whether the current pipe is empty. */
18
21
  get isEmpty(): boolean;
22
+ /** state for checkbox 'select all'. */
23
+ get checkboxState(): KbqPseudoCheckboxState;
24
+ private get visibleOptions();
25
+ private get allOptionsSelected();
26
+ /** @docs-private */
19
27
  ngOnInit(): void;
28
+ /** @docs-private */
29
+ ngAfterViewInit(): void;
30
+ /** @docs-private */
20
31
  onSelect(item: KbqSelectValue[]): void;
32
+ /** @docs-private */
21
33
  onClear(): void;
34
+ /** @docs-private */
35
+ toggleSelectionAllByEnterKey(): void;
36
+ /** @docs-private */
37
+ toggleSelectionAll(): void;
22
38
  /** Comparator of selected options */
23
39
  compareByValue: (o1: any, o2: any) => boolean;
24
40
  /** opens select */
@@ -0,0 +1,7 @@
1
+ import { KbqBasePipe } from './base-pipe';
2
+ import * as i0 from "@angular/core";
3
+ export declare class KbqPipeReadonlyComponent extends KbqBasePipe<string | null> {
4
+ open(): void;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqPipeReadonlyComponent, never>;
6
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqPipeReadonlyComponent, "kbq-pipe-readonly", never, {}, {}, never, never, true, never>;
7
+ }
@@ -0,0 +1,18 @@
1
+ .kbq-pipe.kbq-pipe__readonly {
2
+ & .kbq-button {
3
+ cursor: default;
4
+ }
5
+
6
+ &:not(.kbq-pipe_cleanable) {
7
+ & .kbq-button-icon.kbq-button_filled:not(:hover),
8
+ & .kbq-button.kbq-button_filled,
9
+ & .kbq-button.kbq-button_filled:hover {
10
+ background: var(--kbq-states-background-disabled);
11
+ }
12
+
13
+ & .kbq-pipe__name,
14
+ & .kbq-pipe__value {
15
+ color: var(--kbq-states-foreground-disabled);
16
+ }
17
+ }
18
+ }
@@ -1,11 +1,11 @@
1
- import { OnInit } from '@angular/core';
1
+ import { AfterViewInit, OnInit } from '@angular/core';
2
2
  import { UntypedFormControl } from '@angular/forms';
3
3
  import { KbqSelect } from '@koobiq/components/select';
4
4
  import { Observable } from 'rxjs';
5
5
  import { KbqSelectValue } from '../filter-bar.types';
6
6
  import { KbqBasePipe } from './base-pipe';
7
7
  import * as i0 from "@angular/core";
8
- export declare class KbqPipeSelectComponent extends KbqBasePipe<KbqSelectValue> implements OnInit {
8
+ export declare class KbqPipeSelectComponent extends KbqBasePipe<KbqSelectValue> implements AfterViewInit, OnInit {
9
9
  /** control for search options */
10
10
  searchControl: UntypedFormControl;
11
11
  /** filtered by search options */
@@ -16,7 +16,10 @@ export declare class KbqPipeSelectComponent extends KbqBasePipe<KbqSelectValue>
16
16
  get selected(): KbqSelectValue | null;
17
17
  /** Whether the current pipe is empty. */
18
18
  get isEmpty(): boolean;
19
+ /** @docs-private */
19
20
  ngOnInit(): void;
21
+ /** @docs-private */
22
+ ngAfterViewInit(): void;
20
23
  onSelect(item: KbqSelectValue): void;
21
24
  /** Comparator of selected options */
22
25
  compareByValue: (o1: any, o2: any) => boolean;
@@ -1,12 +1,18 @@
1
1
  import { OnInit } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class KbqPipeState<T> implements OnInit {
4
+ /** @docs-private */
4
5
  private readonly destroyRef;
6
+ /** @docs-private */
5
7
  private readonly button;
8
+ /** @docs-private */
6
9
  private readonly pipe;
10
+ /** KbqFilterBar instance
11
+ * @docs-private */
12
+ private readonly filterBar;
7
13
  /** calculates and updates styles of button from pipe state */
8
- set state(pipe: T | null);
9
14
  get state(): T | null;
15
+ set state(pipe: T | null);
10
16
  private _state;
11
17
  ngOnInit(): void;
12
18
  private updateState;
@@ -13,6 +13,7 @@ export * from './pipes/pipe-button';
13
13
  export * from './pipes/pipe-date';
14
14
  export * from './pipes/pipe-datetime';
15
15
  export * from './pipes/pipe-multi-select';
16
+ export * from './pipes/pipe-readonly';
16
17
  export * from './pipes/pipe-select';
17
18
  export * from './pipes/pipe-state';
18
19
  export * from './pipes/pipe-text';
@@ -77,7 +77,7 @@
77
77
  &.kbq-disabled {
78
78
  @include kbq-form-field-state(states-disabled);
79
79
 
80
- .kbq-icon {
80
+ .kbq-icon.kbq-empty {
81
81
  color: var(--kbq-form-field-states-disabled-text);
82
82
  -webkit-text-fill-color: var(--kbq-form-field-states-disabled-text);
83
83
  }
@@ -86,7 +86,7 @@
86
86
 
87
87
  .kbq-form-field__prefix,
88
88
  .kbq-form-field__suffix {
89
- .kbq-icon {
89
+ .kbq-icon.kbq-empty {
90
90
  color: var(--kbq-icon-contrast-fade);
91
91
  }
92
92
  }
@@ -4,7 +4,7 @@
4
4
  @mixin kbq-hint-color($type, $style-name) {
5
5
  color: var(--kbq-hint-#{$type}-#{$style-name}-text);
6
6
 
7
- & .kbq-icon {
7
+ & .kbq-icon.kbq-empty {
8
8
  color: var(--kbq-hint-#{$type}-#{$style-name}-icon) !important;
9
9
  }
10
10
  }
@@ -108,7 +108,7 @@
108
108
  }
109
109
  }
110
110
 
111
- & .kbq-icon {
111
+ & .kbq-icon.kbq-empty {
112
112
  color: var(--kbq-#{$base-path}-text) !important;
113
113
  }
114
114
  }
@@ -7,11 +7,11 @@
7
7
  color: var(--kbq-list-#{$state-name}-text-color);
8
8
  }
9
9
 
10
- .kbq-icon {
10
+ .kbq-icon.kbq-empty {
11
11
  color: var(--kbq-list-#{$state-name}-icon-color);
12
12
  }
13
13
 
14
- .kbq-option-action .kbq-icon {
14
+ .kbq-option-action .kbq-icon.kbq-empty {
15
15
  color: var(--kbq-list-#{$state-name}-icon-button-color);
16
16
  }
17
17
 
@@ -1,3 +1,5 @@
1
+ // @TODO should remove "selector-class-pattern" rule ignore (#DS-3753)
2
+ /* stylelint-disable selector-class-pattern */
1
3
  @use '../core/styles/common/tokens' as *;
2
4
 
3
5
  .kbq-markdown {
@@ -122,7 +124,7 @@
122
124
  border-radius: var(--kbq-markdown-code-size-border-radius);
123
125
  }
124
126
 
125
- .kbq-markdown__code {
127
+ .kbq-markdown__code:not(.kbq-markdown__pre > .kbq-markdown__code) {
126
128
  white-space: nowrap;
127
129
  padding: var(--kbq-markdown-code-size-inline-padding);
128
130
  }
package/modal/modal.scss CHANGED
@@ -1,3 +1,5 @@
1
+ // @TODO should remove "selector-class-pattern" rule ignore (#DS-3753)
2
+ /* stylelint-disable selector-class-pattern */
1
3
  @use '../core/styles/common/tokens' as *;
2
4
 
3
5
  @use './modal-confirm';
@@ -12,7 +12,7 @@
12
12
  color: var(--kbq-navbar-item-#{$state-name}-content-text);
13
13
  }
14
14
 
15
- & > .kbq-icon {
15
+ & > .kbq-icon.kbq-empty {
16
16
  color: var(--kbq-navbar-item-#{$state-name}-content-icon-left) !important;
17
17
  }
18
18
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@koobiq/components",
3
- "version": "18.26.0",
3
+ "version": "18.28.0",
4
4
  "description": "koobiq",
5
5
  "repository": {
6
6
  "type": "git",
@@ -24,13 +24,13 @@
24
24
  "@angular/cdk": "^18.0.0",
25
25
  "@angular/core": "^18.0.0",
26
26
  "@angular/forms": "^18.0.0",
27
- "@koobiq/cdk": "18.26.0",
28
- "@koobiq/angular-moment-adapter": "18.26.0",
29
- "@koobiq/angular-luxon-adapter": "18.26.0",
27
+ "@koobiq/cdk": "18.28.0",
28
+ "@koobiq/angular-moment-adapter": "18.28.0",
29
+ "@koobiq/angular-luxon-adapter": "18.28.0",
30
30
  "@koobiq/date-formatter": "^3.2.3",
31
31
  "@koobiq/icons": "^9.4.0",
32
32
  "@koobiq/tokens-builder": "3.11.0",
33
- "@koobiq/design-tokens": "3.12.1",
33
+ "@koobiq/design-tokens": "3.13.2",
34
34
  "@radix-ng/primitives": "^0.23.0"
35
35
  },
36
36
  "dependencies": {