@koobiq/components 18.19.0 → 18.21.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 (148) hide show
  1. package/breadcrumbs/breadcrumbs-tokens.scss +1 -0
  2. package/breadcrumbs/breadcrumbs.d.ts +13 -2
  3. package/breadcrumbs/breadcrumbs.scss +72 -18
  4. package/button/button-tokens.scss +1 -1
  5. package/button/button.scss +2 -15
  6. package/checkbox/checkbox-tokens.scss +2 -0
  7. package/checkbox/checkbox.scss +4 -4
  8. package/core/formatters/date/formatter.d.ts +3 -2
  9. package/core/locales/locale-service.d.ts +5 -1
  10. package/core/option/option-tokens.scss +5 -1
  11. package/core/option/option.scss +6 -4
  12. package/core/styles/common/_list.scss +2 -9
  13. package/core/styles/common/_select.scss +6 -0
  14. package/core/styles/common/_tokens.scss +1 -1
  15. package/core/styles/theming/scrollbar-tokens.scss +10 -4
  16. package/dl/dl.component.d.ts +1 -0
  17. package/dropdown/dropdown.scss +20 -5
  18. package/esm2022/breadcrumbs/breadcrumbs.mjs +18 -7
  19. package/esm2022/button/button.component.mjs +2 -2
  20. package/esm2022/button-toggle/button-toggle.component.mjs +2 -2
  21. package/esm2022/checkbox/checkbox.mjs +2 -2
  22. package/esm2022/core/formatters/date/formatter.mjs +13 -4
  23. package/esm2022/core/locales/en-US.mjs +29 -29
  24. package/esm2022/core/locales/es-LA.mjs +29 -29
  25. package/esm2022/core/locales/fa-IR.mjs +29 -29
  26. package/esm2022/core/locales/locale-service.mjs +38 -3
  27. package/esm2022/core/locales/pt-BR.mjs +29 -29
  28. package/esm2022/core/locales/tk-TM.mjs +29 -29
  29. package/esm2022/core/locales/zh-CN.mjs +29 -29
  30. package/esm2022/core/option/option.mjs +2 -2
  31. package/esm2022/core/pop-up/pop-up-trigger.mjs +2 -2
  32. package/esm2022/core/version.mjs +2 -2
  33. package/esm2022/dl/dl.component.mjs +6 -4
  34. package/esm2022/dropdown/dropdown-item.component.mjs +2 -2
  35. package/esm2022/dropdown/dropdown.component.mjs +3 -3
  36. package/esm2022/filter-bar/filter-bar.mjs +3 -3
  37. package/esm2022/filter-bar/filters.mjs +3 -3
  38. package/esm2022/filter-bar/pipes/pipe-date.mjs +37 -22
  39. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +38 -23
  40. package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +3 -3
  41. package/esm2022/filter-bar/pipes/pipe-select.mjs +3 -3
  42. package/esm2022/filter-bar/pipes/pipe-text.mjs +4 -4
  43. package/esm2022/form-field/form-field.mjs +2 -2
  44. package/esm2022/form-field/validate.directive.mjs +19 -9
  45. package/esm2022/input/input-number.mjs +2 -2
  46. package/esm2022/list/list-selection.component.mjs +15 -12
  47. package/esm2022/list/list.component.mjs +2 -2
  48. package/esm2022/navbar/navbar-item.component.mjs +6 -9
  49. package/esm2022/navbar/navbar.component.mjs +2 -2
  50. package/esm2022/navbar/vertical-navbar.component.mjs +18 -16
  51. package/esm2022/overflow-items/overflow-items.mjs +24 -3
  52. package/esm2022/popover/popover-confirm.component.mjs +3 -3
  53. package/esm2022/popover/popover.component.mjs +3 -3
  54. package/esm2022/progress-spinner/progress-spinner.component.mjs +2 -2
  55. package/esm2022/radio/radio.component.mjs +2 -2
  56. package/esm2022/scrollbar/scrollbar.component.mjs +3 -3
  57. package/esm2022/select/select.component.mjs +3 -3
  58. package/esm2022/sidepanel/sidepanel-container.component.mjs +3 -3
  59. package/esm2022/sidepanel/sidepanel-directives.mjs +16 -5
  60. package/esm2022/tags/tag.component.mjs +2 -2
  61. package/esm2022/textarea/textarea.component.mjs +35 -9
  62. package/esm2022/timezone/timezone-option.component.mjs +2 -2
  63. package/esm2022/timezone/timezone-select.component.mjs +2 -2
  64. package/esm2022/top-bar/top-bar.mjs +2 -2
  65. package/esm2022/tree/tree-option.component.mjs +2 -2
  66. package/esm2022/tree/tree-selection.component.mjs +7 -2
  67. package/esm2022/tree-select/tree-select.component.mjs +3 -3
  68. package/fesm2022/koobiq-components-breadcrumbs.mjs +18 -7
  69. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  70. package/fesm2022/koobiq-components-button-toggle.mjs +2 -2
  71. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  72. package/fesm2022/koobiq-components-button.mjs +2 -2
  73. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  74. package/fesm2022/koobiq-components-checkbox.mjs +2 -2
  75. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  76. package/fesm2022/koobiq-components-core.mjs +1014 -972
  77. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  78. package/fesm2022/koobiq-components-dl.mjs +5 -3
  79. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  80. package/fesm2022/koobiq-components-dropdown.mjs +4 -4
  81. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  82. package/fesm2022/koobiq-components-filter-bar.mjs +84 -54
  83. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  84. package/fesm2022/koobiq-components-form-field.mjs +17 -8
  85. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  86. package/fesm2022/koobiq-components-input.mjs +1 -1
  87. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  88. package/fesm2022/koobiq-components-list.mjs +16 -13
  89. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  90. package/fesm2022/koobiq-components-navbar.mjs +24 -25
  91. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  92. package/fesm2022/koobiq-components-overflow-items.mjs +24 -3
  93. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  94. package/fesm2022/koobiq-components-popover.mjs +4 -4
  95. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  96. package/fesm2022/koobiq-components-progress-spinner.mjs +2 -2
  97. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  98. package/fesm2022/koobiq-components-radio.mjs +2 -2
  99. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  100. package/fesm2022/koobiq-components-scrollbar.mjs +2 -2
  101. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  102. package/fesm2022/koobiq-components-select.mjs +2 -2
  103. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  104. package/fesm2022/koobiq-components-sidepanel.mjs +17 -6
  105. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  106. package/fesm2022/koobiq-components-tags.mjs +2 -2
  107. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  108. package/fesm2022/koobiq-components-textarea.mjs +34 -8
  109. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  110. package/fesm2022/koobiq-components-timezone.mjs +4 -4
  111. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  112. package/fesm2022/koobiq-components-top-bar.mjs +2 -2
  113. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  114. package/fesm2022/koobiq-components-tree-select.mjs +2 -2
  115. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  116. package/fesm2022/koobiq-components-tree.mjs +8 -3
  117. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  118. package/filter-bar/filter-bar.scss +1 -0
  119. package/filter-bar/pipes/pipe-date.d.ts +3 -1
  120. package/filter-bar/pipes/pipe-date.scss +7 -0
  121. package/filter-bar/pipes/pipe-datetime.d.ts +3 -1
  122. package/form-field/_form-field-theme.scss +7 -3
  123. package/form-field/validate.directive.d.ts +4 -2
  124. package/link/_link-theme.scss +6 -16
  125. package/list/list.scss +2 -3
  126. package/navbar/navbar-item.component.d.ts +1 -2
  127. package/navbar/vertical-navbar.component.d.ts +4 -1
  128. package/overflow-items/overflow-items.d.ts +17 -1
  129. package/package.json +6 -6
  130. package/prebuilt-themes/dark-theme.css +1 -1
  131. package/prebuilt-themes/light-theme.css +1 -1
  132. package/prebuilt-themes/theme.css +1 -1
  133. package/progress-spinner/progress-spinner.scss +10 -4
  134. package/radio/radio-tokens.scss +7 -3
  135. package/radio/radio.scss +19 -15
  136. package/schematics/ng-add/index.js +4 -4
  137. package/scrollbar/scrollbar-tokens.scss +10 -4
  138. package/select/_select-theme.scss +4 -1
  139. package/sidepanel/sidepanel-directives.d.ts +6 -1
  140. package/sidepanel/sidepanel.scss +9 -3
  141. package/tags/tag.scss +3 -0
  142. package/textarea/textarea.component.d.ts +16 -3
  143. package/textarea/textarea.scss +4 -0
  144. package/timezone/timezone-option-tokens.scss +3 -2
  145. package/top-bar/top-bar-tokens.scss +2 -2
  146. package/top-bar/top-bar.scss +1 -1
  147. package/tree/tree-option.scss +2 -1
  148. package/tree-select/_tree-select-theme.scss +4 -1
@@ -1,4 +1,4 @@
1
- .kbq-scrollbar-component {
1
+ :where(.kbq-scrollbar-component) {
2
2
  --kbq-scrollbar-size-track-dimension: var(--kbq-size-l);
3
3
  --kbq-scrollbar-size-track-padding-vertical: var(--kbq-size-3xs);
4
4
  --kbq-scrollbar-size-track-padding-horizontal: var(--kbq-size-3xs);
@@ -6,9 +6,9 @@
6
6
  --kbq-scrollbar-size-thumb-min-size: var(--kbq-size-xl);
7
7
  --kbq-scrollbar-size-thumb-border-radius: var(--kbq-size-s);
8
8
  /* THEME TOKENS */
9
- --kbq-scrollbar-thumb-default-background: var(--kbq-icon-contrast-fade);
10
- --kbq-scrollbar-thumb-hover-background: var(--kbq-states-icon-contrast-fade-hover);
11
- --kbq-scrollbar-thumb-active-background: var(--kbq-states-icon-contrast-fade-active);
9
+ --kbq-scrollbar-thumb-default-background: var(--kbq-palette-grey-50-a32);
10
+ --kbq-scrollbar-thumb-hover-background: var(--kbq-palette-grey-50-a48);
11
+ --kbq-scrollbar-thumb-active-background: var(--kbq-palette-grey-20-a55);
12
12
  --kbq-scrollbar-thumb-disabled-background: var(--kbq-states-icon-disabled);
13
13
  --kbq-scrollbar-track-default-border: transparent;
14
14
  --kbq-scrollbar-track-default-background: transparent;
@@ -17,3 +17,9 @@
17
17
  --kbq-scrollbar-track-active-border: transparent;
18
18
  --kbq-scrollbar-track-active-background: transparent;
19
19
  }
20
+
21
+ :where(.kbq-dark .kbq-scrollbar-component) {
22
+ --kbq-scrollbar-thumb-default-background: var(--kbq-palette-grey-50-a48);
23
+ --kbq-scrollbar-thumb-hover-background: var(--kbq-palette-grey-50-a60);
24
+ --kbq-scrollbar-thumb-active-background: var(--kbq-palette-grey-50-a80);
25
+ }
@@ -6,7 +6,10 @@
6
6
  .kbq-select {
7
7
  color: var(--kbq-foreground-contrast);
8
8
 
9
- &.ng-invalid {
9
+ // Invalid by `KbqValidateDirective`
10
+ &.kbq-control_has-validate-directive.ng-invalid,
11
+ // Invalid by control `ErrorStateMatcher`
12
+ &.kbq-invalid {
10
13
  color: var(--kbq-error-default);
11
14
 
12
15
  .kbq-select__placeholder {
@@ -21,9 +21,14 @@ export declare class KbqSidepanelClose implements OnInit, OnChanges {
21
21
  * Header of a sidepanel.
22
22
  */
23
23
  export declare class KbqSidepanelHeader {
24
+ /** Add button for close sidepanel. Default false */
24
25
  closeable: boolean;
26
+ /** Enables text truncation. Default true */
27
+ truncateText: boolean;
25
28
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqSidepanelHeader, never>;
26
- static ɵcmp: i0.ɵɵComponentDeclaration<KbqSidepanelHeader, "kbq-sidepanel-header", never, { "closeable": { "alias": "closeable"; "required": false; }; }, {}, never, ["*"], false, never>;
29
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqSidepanelHeader, "kbq-sidepanel-header", never, { "closeable": { "alias": "closeable"; "required": false; }; "truncateText": { "alias": "truncateText"; "required": false; }; }, {}, never, ["*"], false, never>;
30
+ static ngAcceptInputType_closeable: unknown;
31
+ static ngAcceptInputType_truncateText: unknown;
27
32
  }
28
33
  /**
29
34
  * Scrollable content container of a sidepanel.
@@ -115,7 +115,7 @@
115
115
 
116
116
  .kbq-sidepanel-header {
117
117
  display: flex;
118
- align-items: center;
118
+ align-items: baseline;
119
119
  justify-content: space-between;
120
120
 
121
121
  flex-flow: row nowrap;
@@ -127,12 +127,18 @@
127
127
  .kbq-sidepanel-close {
128
128
  margin-left: var(--kbq-sidepanel-size-close-button-margin-left);
129
129
  }
130
+
131
+ &.kbq-sidepanel-header_truncate-text {
132
+ align-items: center;
133
+
134
+ .kbq-sidepanel-title {
135
+ @include common.kbq-truncate-line();
136
+ }
137
+ }
130
138
  }
131
139
 
132
140
  .kbq-sidepanel-title {
133
141
  flex: 1;
134
-
135
- @include common.kbq-truncate-line();
136
142
  }
137
143
 
138
144
  .kbq-sidepanel-body {
package/tags/tag.scss CHANGED
@@ -1,6 +1,9 @@
1
1
  @use '../core/styles/common/tokens' as *;
2
+ @use '../core/styles/common/vendor-prefixes';
2
3
 
3
4
  .kbq-tag {
5
+ @include vendor-prefixes.user-select(none);
6
+
4
7
  position: relative;
5
8
 
6
9
  display: inline-block;
@@ -27,9 +27,15 @@ export declare class KbqTextarea extends KbqTextareaMixinBase implements KbqForm
27
27
  protected elementRef: ElementRef;
28
28
  private parent;
29
29
  private ngZone;
30
+ /** Parameter enables or disables the ability to automatically increase the height.
31
+ * If set to false, the textarea becomes vertically resizable. */
32
+ set canGrow(value: boolean);
33
+ get canGrow(): boolean;
30
34
  protected readonly isBrowser: boolean;
31
35
  protected readonly renderer: Renderer2;
32
- canGrow: boolean;
36
+ private _canGrow;
37
+ /** Maximum number of lines to which the textarea will grow. Default unlimited */
38
+ maxRows: number;
33
39
  /** An object used to control when error messages are shown. */
34
40
  errorStateMatcher: ErrorStateMatcher;
35
41
  /**
@@ -64,6 +70,8 @@ export declare class KbqTextarea extends KbqTextareaMixinBase implements KbqForm
64
70
  * @docs-private
65
71
  */
66
72
  placeholder: string;
73
+ /** Distance from the last line to the bottom border */
74
+ freeRowsHeight: number;
67
75
  /**
68
76
  * Implemented as part of KbqFormFieldControl.
69
77
  * @docs-private
@@ -76,6 +84,9 @@ export declare class KbqTextarea extends KbqTextareaMixinBase implements KbqForm
76
84
  */
77
85
  get value(): string;
78
86
  set value(value: string);
87
+ /** Flag that will be set to true when the maximum number of lines is reached.
88
+ * Maximum number of rows can be set using the maxRows input. */
89
+ get maxRowLimitReached(): boolean;
79
90
  protected uid: string;
80
91
  protected previousNativeValue: any;
81
92
  private _disabled;
@@ -84,8 +95,8 @@ export declare class KbqTextarea extends KbqTextareaMixinBase implements KbqForm
84
95
  private valueAccessor;
85
96
  private growSubscription;
86
97
  private lineHeight;
87
- private freeRowsHeight;
88
98
  private minHeight;
99
+ private rowsCount;
89
100
  constructor(elementRef: ElementRef, ngControl: NgControl, parentForm: NgForm, parentFormGroup: FormGroupDirective, defaultErrorStateMatcher: ErrorStateMatcher, inputValueAccessor: any, parent: any, ngZone: NgZone);
90
101
  ngOnInit(): void;
91
102
  ngOnChanges(): void;
@@ -113,5 +124,7 @@ export declare class KbqTextarea extends KbqTextareaMixinBase implements KbqForm
113
124
  /** Checks whether the textarea is invalid based on the native validation. */
114
125
  protected isBadInput(): boolean;
115
126
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqTextarea, [null, { optional: true; self: true; }, { optional: true; }, { optional: true; }, null, { optional: true; self: true; }, { optional: true; host: true; }, null]>;
116
- static ɵdir: i0.ɵɵDirectiveDeclaration<KbqTextarea, "textarea[kbqTextarea]", ["kbqTextarea"], { "canGrow": { "alias": "canGrow"; "required": false; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "id": { "alias": "id"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, {}, never, never, false, never>;
127
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KbqTextarea, "textarea[kbqTextarea]", ["kbqTextarea"], { "canGrow": { "alias": "canGrow"; "required": false; }; "maxRows": { "alias": "maxRows"; "required": false; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "id": { "alias": "id"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "freeRowsHeight": { "alias": "freeRowsHeight"; "required": false; }; "required": { "alias": "required"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, {}, never, never, false, never>;
128
+ static ngAcceptInputType_canGrow: unknown;
129
+ static ngAcceptInputType_freeRowsHeight: unknown;
117
130
  }
@@ -30,6 +30,10 @@
30
30
  resize: vertical;
31
31
  min-height: var(--kbq-textarea-size-min-height);
32
32
  }
33
+
34
+ &.kbq-textarea_max-row-limit-reached {
35
+ resize: unset;
36
+ }
33
37
  }
34
38
 
35
39
  /* remove default red border for HTML5 validation invalid fields in Firefox */
@@ -1,4 +1,5 @@
1
1
  @use '../list/list-tokens';
2
+ @use '../core/option/option-tokens';
2
3
 
3
4
  .kbq-timezone-select__panel {
4
5
  --kbq-select-size-single-padding-left: var(--kbq-size-m);
@@ -8,7 +9,7 @@
8
9
  --kbq-select-size-multiple-padding-left: var(--kbq-size-xxs);
9
10
  --kbq-select-size-multiple-padding-right: var(--kbq-size-xxs);
10
11
  --kbq-select-size-multiple-content-gap: var(--kbq-size-xxs);
11
- --kbq-timezone-option-size-padding: 6px 10px;
12
+ --kbq-timezone-option-size-padding: var(--kbq-size-xxs) 10px;
12
13
  --kbq-timezone-option-size-column-gap: 16px;
13
14
  --kbq-timezone-option-size-height: auto;
14
15
  --kbq-timezone-option-size-max-height: 5em;
@@ -20,5 +21,5 @@
20
21
  --kbq-timezone-option-caption: var(--kbq-foreground-contrast-secondary);
21
22
  --kbq-timezone-option-optgroup-label: var(--kbq-foreground-contrast-secondary);
22
23
  /* LIST THEME TOKENS */
23
- @include list-tokens.list-theme-tokens;
24
+ @extend %kbq-option-geometry-tokens;
24
25
  }
@@ -2,8 +2,8 @@
2
2
  --kbq-top-bar-position: sticky;
3
3
  --kbq-top-bar-background: var(--kbq-background-bg);
4
4
  --kbq-top-bar-spacer-min-width: 80px;
5
- --kbq-top-bar-padding-vertical: var(--kbq-size-l);
6
- --kbq-top-bar-padding-horizontal: var(--kbq-size-l);
5
+ --kbq-top-bar-padding-vertical: var(--kbq-size-xl);
6
+ --kbq-top-bar-padding-horizontal: var(--kbq-size-xxl);
7
7
  --kbq-top-bar-border-radius: 0;
8
8
  --kbq-top-bar-left-gap: 0;
9
9
  --kbq-top-bar-right-gap: var(--kbq-size-s);
@@ -10,7 +10,7 @@
10
10
  position: var(--kbq-top-bar-position);
11
11
  background-color: var(--kbq-top-bar-background);
12
12
  padding: var(--kbq-top-bar-padding-vertical) var(--kbq-top-bar-padding-horizontal);
13
- border: var(--kbq-top-bar-border-radius);
13
+ border-radius: var(--kbq-top-bar-border-radius);
14
14
 
15
15
  .kbq-top-bar-spacer {
16
16
  height: 100%;
@@ -1,8 +1,9 @@
1
1
  @use '../core/styles/common';
2
2
  @use '../core/styles/common/tokens' as *;
3
+ @use '../core/styles/common/vendor-prefixes';
3
4
 
4
5
  .kbq-tree-option {
5
- @include common.kbq-no-select;
6
+ @include vendor-prefixes.user-select(none);
6
7
 
7
8
  box-sizing: border-box;
8
9
 
@@ -4,7 +4,10 @@
4
4
  .kbq-tree-select {
5
5
  color: var(--kbq-foreground-contrast);
6
6
 
7
- &.ng-invalid {
7
+ // Invalid by `KbqValidateDirective`
8
+ &.kbq-control_has-validate-directive.ng-invalid,
9
+ // Invalid by control `ErrorStateMatcher`
10
+ &.kbq-invalid {
8
11
  color: var(--kbq-error-default);
9
12
 
10
13
  .kbq-select__placeholder {