@koobiq/components 18.26.0 → 18.27.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 (152) 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/typography/_typography.scss +2 -0
  18. package/core/styles/visual/_layout-media.scss +1 -0
  19. package/core/styles/visual/_layout.scss +2 -0
  20. package/dropdown/_dropdown-theme.scss +1 -1
  21. package/esm2022/alert/alert.component.mjs +3 -2
  22. package/esm2022/badge/badge.component.mjs +2 -2
  23. package/esm2022/breadcrumbs/breadcrumbs.mjs +3 -3
  24. package/esm2022/button/button.component.mjs +2 -2
  25. package/esm2022/button-toggle/button-toggle.component.mjs +2 -2
  26. package/esm2022/core/locales/en-US.mjs +3 -2
  27. package/esm2022/core/locales/es-LA.mjs +3 -2
  28. package/esm2022/core/locales/fa-IR.mjs +3 -2
  29. package/esm2022/core/locales/pt-BR.mjs +3 -2
  30. package/esm2022/core/locales/ru-RU.mjs +3 -2
  31. package/esm2022/core/locales/tk-TM.mjs +3 -2
  32. package/esm2022/core/locales/zh-CN.mjs +3 -2
  33. package/esm2022/core/option/action.mjs +2 -2
  34. package/esm2022/core/option/option.mjs +9 -5
  35. package/esm2022/core/pop-up/pop-up-trigger.mjs +7 -4
  36. package/esm2022/core/version.mjs +2 -2
  37. package/esm2022/datepicker/calendar-header.component.mjs +1 -1
  38. package/esm2022/dropdown/dropdown.component.mjs +3 -3
  39. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +1 -2
  40. package/esm2022/file-upload/multiple-file-upload.component.mjs +2 -2
  41. package/esm2022/file-upload/single-file-upload.component.mjs +2 -2
  42. package/esm2022/filter-bar/filter-bar.mjs +3 -3
  43. package/esm2022/filter-bar/filter-bar.types.mjs +4 -1
  44. package/esm2022/filter-bar/pipe-add.mjs +2 -2
  45. package/esm2022/filter-bar/pipes/base-pipe.mjs +2 -2
  46. package/esm2022/filter-bar/pipes/pipe-button.mjs +13 -6
  47. package/esm2022/filter-bar/pipes/pipe-date.mjs +2 -2
  48. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +2 -2
  49. package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +46 -5
  50. package/esm2022/filter-bar/pipes/pipe-readonly.mjs +71 -0
  51. package/esm2022/filter-bar/pipes/pipe-select.mjs +2 -2
  52. package/esm2022/filter-bar/pipes/pipe-state.mjs +9 -2
  53. package/esm2022/filter-bar/pipes/pipe-text.mjs +2 -2
  54. package/esm2022/filter-bar/public-api.mjs +2 -1
  55. package/esm2022/form-field/form-field.mjs +2 -2
  56. package/esm2022/form-field/hint.mjs +2 -2
  57. package/esm2022/form-field/password-hint.mjs +2 -2
  58. package/esm2022/input/input-number.mjs +2 -2
  59. package/esm2022/list/list-selection.component.mjs +2 -2
  60. package/esm2022/list/list.component.mjs +2 -2
  61. package/esm2022/navbar/navbar-item.component.mjs +6 -4
  62. package/esm2022/navbar/navbar.component.mjs +4 -4
  63. package/esm2022/navbar/vertical-navbar.component.mjs +5 -4
  64. package/esm2022/select/select.component.mjs +7 -3
  65. package/esm2022/timezone/timezone-option.component.mjs +2 -2
  66. package/esm2022/toast/toast-container.component.mjs +2 -2
  67. package/esm2022/toast/toast.component.mjs +3 -3
  68. package/esm2022/toast/toast.service.mjs +18 -15
  69. package/esm2022/toast/toast.type.mjs +19 -2
  70. package/esm2022/toggle/toggle.component.mjs +18 -12
  71. package/esm2022/tree/toggle.mjs +2 -2
  72. package/esm2022/tree/tree-selection.component.mjs +2 -2
  73. package/esm2022/tree/tree.mjs +2 -2
  74. package/esm2022/tree-select/tree-select.component.mjs +6 -2
  75. package/fesm2022/koobiq-components-alert.mjs +2 -1
  76. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  77. package/fesm2022/koobiq-components-badge.mjs +2 -2
  78. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  79. package/fesm2022/koobiq-components-breadcrumbs.mjs +2 -2
  80. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  81. package/fesm2022/koobiq-components-button-toggle.mjs +2 -2
  82. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  83. package/fesm2022/koobiq-components-button.mjs +2 -2
  84. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  85. package/fesm2022/koobiq-components-core.mjs +31 -17
  86. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  87. package/fesm2022/koobiq-components-datepicker.mjs +1 -1
  88. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  89. package/fesm2022/koobiq-components-dropdown.mjs +2 -2
  90. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  91. package/fesm2022/koobiq-components-ellipsis-center.mjs +0 -1
  92. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  93. package/fesm2022/koobiq-components-file-upload.mjs +4 -4
  94. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  95. package/fesm2022/koobiq-components-filter-bar.mjs +139 -22
  96. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  97. package/fesm2022/koobiq-components-form-field.mjs +6 -6
  98. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  99. package/fesm2022/koobiq-components-input.mjs +1 -1
  100. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  101. package/fesm2022/koobiq-components-list.mjs +4 -4
  102. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  103. package/fesm2022/koobiq-components-navbar.mjs +11 -9
  104. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  105. package/fesm2022/koobiq-components-select.mjs +6 -2
  106. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  107. package/fesm2022/koobiq-components-timezone.mjs +2 -2
  108. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  109. package/fesm2022/koobiq-components-toast.mjs +40 -20
  110. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  111. package/fesm2022/koobiq-components-toggle.mjs +16 -10
  112. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  113. package/fesm2022/koobiq-components-tree-select.mjs +5 -1
  114. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  115. package/fesm2022/koobiq-components-tree.mjs +6 -6
  116. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  117. package/file-upload/_file-upload-theme.scss +9 -7
  118. package/file-upload/file-upload.scss +3 -0
  119. package/file-upload/multiple-file-upload.component.scss +2 -0
  120. package/file-upload/single-file-upload.component.scss +2 -0
  121. package/filter-bar/_filter-bar-theme.scss +1 -1
  122. package/filter-bar/filter-bar.types.d.ts +6 -3
  123. package/filter-bar/pipes/pipe-button.d.ts +4 -1
  124. package/filter-bar/pipes/pipe-multi-select.d.ts +15 -1
  125. package/filter-bar/pipes/pipe-readonly.d.ts +7 -0
  126. package/filter-bar/pipes/pipe-state.d.ts +6 -0
  127. package/filter-bar/public-api.d.ts +1 -0
  128. package/form-field/_form-field-theme.scss +2 -2
  129. package/form-field/_hint-theme.scss +1 -1
  130. package/link/_link-theme.scss +1 -1
  131. package/list/_list-theme.scss +2 -2
  132. package/markdown/markdown.scss +2 -0
  133. package/modal/modal.scss +2 -0
  134. package/navbar/_navbar-theme.scss +1 -1
  135. package/package.json +4 -4
  136. package/prebuilt-themes/dark-theme.css +1 -1
  137. package/prebuilt-themes/light-theme.css +1 -1
  138. package/prebuilt-themes/theme.css +1 -1
  139. package/schematics/ng-add/index.js +2 -2
  140. package/scrollbar/scrollbar.component.scss +2 -0
  141. package/select/select.component.d.ts +1 -0
  142. package/sidepanel/sidepanel.scss +1 -0
  143. package/tabs/_tabs-theme.scss +1 -1
  144. package/tags/_tag-theme.scss +1 -1
  145. package/toast/toast-container.component.scss +29 -3
  146. package/toast/toast-tokens.scss +5 -1
  147. package/toast/toast.service.d.ts +0 -1
  148. package/toast/toast.type.d.ts +12 -2
  149. package/toggle/toggle.component.d.ts +6 -2
  150. package/toggle/toggle.scss +3 -0
  151. package/tree/_tree-theme.scss +4 -4
  152. 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 {
@@ -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,10 +85,11 @@ export interface KbqPipe {
83
85
  type: KbqPipeType;
84
86
  value: unknown | null;
85
87
  search?: boolean;
88
+ selectAll?: boolean;
86
89
  required: boolean;
87
- cleanable: boolean;
88
- removable: boolean;
89
- disabled: boolean;
90
+ cleanable?: boolean;
91
+ removable?: boolean;
92
+ disabled?: boolean;
90
93
  }
91
94
  export interface KbqPipeData<V> extends KbqPipe {
92
95
  value: V | null;
@@ -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,5 +1,6 @@
1
- import { OnInit } from '@angular/core';
1
+ import { 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';
@@ -12,13 +13,26 @@ export declare class KbqPipeMultiSelectComponent extends KbqBasePipe<KbqSelectVa
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 */
20
29
  onSelect(item: KbqSelectValue[]): void;
30
+ /** @docs-private */
21
31
  onClear(): void;
32
+ /** @docs-private */
33
+ toggleSelectionAllByEnterKey(): void;
34
+ /** @docs-private */
35
+ toggleSelectionAll(): void;
22
36
  /** Comparator of selected options */
23
37
  compareByValue: (o1: any, o2: any) => boolean;
24
38
  /** 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
+ }
@@ -1,9 +1,15 @@
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
14
  set state(pipe: T | null);
9
15
  get state(): T | null;
@@ -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 {
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.27.0",
4
4
  "description": "koobiq",
5
5
  "repository": {
6
6
  "type": "git",
@@ -24,9 +24,9 @@
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.27.0",
28
+ "@koobiq/angular-moment-adapter": "18.27.0",
29
+ "@koobiq/angular-luxon-adapter": "18.27.0",
30
30
  "@koobiq/date-formatter": "^3.2.3",
31
31
  "@koobiq/icons": "^9.4.0",
32
32
  "@koobiq/tokens-builder": "3.11.0",