@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
@@ -34,6 +34,7 @@
34
34
  .kbq-pipe__popover {
35
35
  .kbq-popover__container {
36
36
  min-width: 320px;
37
+ max-width: 320px;
37
38
  }
38
39
 
39
40
  .kbq-popover__content {
@@ -19,12 +19,13 @@ export declare class KbqPipeDateComponent<D> extends KbqBasePipe<KbqDateTimeValu
19
19
  get formattedValue(): string;
20
20
  get disabled(): boolean;
21
21
  get start(): any;
22
+ get defaultStart(): any;
22
23
  get end(): any;
24
+ get defaultEnd(): any;
23
25
  get isEmpty(): boolean;
24
26
  popover: KbqPopoverTrigger;
25
27
  listSelection: import("@angular/core").Signal<KbqListSelection>;
26
28
  returnButton: import("@angular/core").Signal<KbqButton>;
27
- constructor();
28
29
  onKeydown($event: KeyboardEvent): void;
29
30
  onApplyPeriod(): void;
30
31
  onSelect(item: KbqDateTimeValue): void;
@@ -36,6 +37,7 @@ export declare class KbqPipeDateComponent<D> extends KbqBasePipe<KbqDateTimeValu
36
37
  onFocusStartInput(): void;
37
38
  onFocusEndInput(): void;
38
39
  hideCalendars(): void;
40
+ private initFormGroup;
39
41
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqPipeDateComponent<any>, never>;
40
42
  static ɵcmp: i0.ɵɵComponentDeclaration<KbqPipeDateComponent<any>, "kbq-pipe-date", never, {}, {}, never, never, true, never>;
41
43
  }
@@ -4,6 +4,10 @@
4
4
  @use '../../datepicker/datepicker-tokens' as *;
5
5
 
6
6
  .kbq-pipe-date__popover {
7
+ &.kbq-popover.kbq-popover_medium {
8
+ margin-top: var(--kbq-size-xxs);
9
+ }
10
+
7
11
  & .kbq-popover__container {
8
12
  max-height: unset;
9
13
  }
@@ -16,6 +20,9 @@
16
20
  margin: var(--kbq-size-xxs) 0;
17
21
 
18
22
  & .kbq-list-option {
23
+ margin-left: var(--kbq-size-xxs);
24
+ margin-right: var(--kbq-size-xxs);
25
+
19
26
  & .kbq-list-text {
20
27
  display: flex;
21
28
  flex-direction: row;
@@ -19,12 +19,13 @@ export declare class KbqPipeDatetimeComponent<D> extends KbqBasePipe<KbqDateTime
19
19
  get formattedValue(): string;
20
20
  get disabled(): boolean;
21
21
  get start(): any;
22
+ get defaultStart(): any;
22
23
  get end(): any;
24
+ get defaultEnd(): any;
23
25
  get isEmpty(): boolean;
24
26
  popover: KbqPopoverTrigger;
25
27
  listSelection: import("@angular/core").Signal<KbqListSelection>;
26
28
  returnButton: import("@angular/core").Signal<KbqButton>;
27
- constructor();
28
29
  onKeydown($event: KeyboardEvent): void;
29
30
  onApplyPeriod(): void;
30
31
  onSelect(item: KbqDateTimeValue): void;
@@ -36,6 +37,7 @@ export declare class KbqPipeDatetimeComponent<D> extends KbqBasePipe<KbqDateTime
36
37
  onFocusStartInput(): void;
37
38
  onFocusEndInput(): void;
38
39
  hideCalendars(): void;
40
+ private initFormGroup;
39
41
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqPipeDatetimeComponent<any>, never>;
40
42
  static ɵcmp: i0.ɵɵComponentDeclaration<KbqPipeDatetimeComponent<any>, "kbq-pipe-datetime", never, {}, {}, never, never, true, never>;
41
43
  }
@@ -40,8 +40,10 @@
40
40
  }
41
41
  }
42
42
 
43
+ // Invalid by control `ErrorStateMatcher`
43
44
  &.kbq-form-field_invalid,
44
- &.ng-invalid {
45
+ // Invalid by `KbqValidateDirective`
46
+ &.kbq-form-field_has-validate-directive.ng-invalid {
45
47
  @include kbq-form-field-state(states-error);
46
48
  }
47
49
 
@@ -60,11 +62,13 @@
60
62
  }
61
63
  }
62
64
 
65
+ // Invalid by control `ErrorStateMatcher`
63
66
  &.kbq-form-field_invalid,
64
- &.ng-invalid {
67
+ // Invalid by `KbqValidateDirective`
68
+ &.kbq-form-field_has-validate-directive.ng-invalid {
65
69
  @include kbq-form-field-state(states-error);
66
70
 
67
- & .kbq-form-field__container {
71
+ &.cdk-focused .kbq-form-field__container {
68
72
  box-shadow: 0 0 0.1px 1px var(--kbq-form-field-states-error-focused-focus-outline);
69
73
  }
70
74
  }
@@ -1,6 +1,7 @@
1
1
  import { AfterContentInit, ChangeDetectorRef } from '@angular/core';
2
2
  import { AbstractControl, FormGroupDirective, NgControl, NgForm, Validator, ValidatorFn } from '@angular/forms';
3
3
  import { KbqValidationOptions } from '@koobiq/components/core';
4
+ import { KbqFormField } from './form-field';
4
5
  import { KbqFormFieldControl } from './form-field-control';
5
6
  import * as i0 from "@angular/core";
6
7
  /**
@@ -31,13 +32,14 @@ export declare class KbqValidateDirective implements AfterContentInit {
31
32
  private parentFormGroup;
32
33
  private mcValidation;
33
34
  private cdr;
35
+ private readonly parentFormField;
34
36
  get isNgModel(): boolean;
35
37
  get isFormControlName(): boolean;
36
38
  get isFormControl(): boolean;
37
39
  get validationControl(): any;
38
40
  get parent(): NgForm;
39
41
  get hasNotSubmittedParent(): boolean;
40
- constructor(formFieldControl: KbqFormFieldControl<any>, rawValidators: Validator[], ngControl: NgControl, parentForm: NgForm, parentFormGroup: FormGroupDirective, mcValidation: KbqValidationOptions, cdr: ChangeDetectorRef);
42
+ constructor(formFieldControl: KbqFormFieldControl<any>, rawValidators: Validator[], ngControl: NgControl, parentForm: NgForm, parentFormGroup: FormGroupDirective, mcValidation: KbqValidationOptions, cdr: ChangeDetectorRef, parentFormField: KbqFormField | null);
41
43
  ngAfterContentInit(): void;
42
44
  setValidState(control: AbstractControl, validator: ValidatorFn): void;
43
45
  /** This function do next:
@@ -48,6 +50,6 @@ export declare class KbqValidateDirective implements AfterContentInit {
48
50
  setMosaicValidation(): void;
49
51
  setMosaicValidationForModelControl(): void;
50
52
  setMosaicValidationForFormControl(): void;
51
- static ɵfac: i0.ɵɵFactoryDeclaration<KbqValidateDirective, [null, { optional: true; self: true; }, { optional: true; self: true; }, { optional: true; }, { optional: true; }, { optional: true; }, null]>;
53
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqValidateDirective, [null, { optional: true; self: true; }, { optional: true; self: true; }, { optional: true; }, { optional: true; }, { optional: true; }, null, { optional: true; host: true; }]>;
52
54
  static ɵdir: i0.ɵɵDirectiveDeclaration<KbqValidateDirective, " input[kbqInput], input[kbqNumberInput], input[kbqInputPassword], input[kbqTimepicker], input[kbqDatepicker], textarea[kbqTextarea], kbq-select, kbq-tree-select, kbq-tag-list ", ["KbqValidate"], {}, {}, never, never, false, never>;
53
55
  }
@@ -14,11 +14,11 @@
14
14
  outline: none;
15
15
  }
16
16
 
17
- &.kbq-text-only:not(.kbq-text-with-dot),
18
- &.kbq-text-with-icon .kbq-link__text,
19
- &.kbq-text-with-dot .kbq-link__text {
17
+ &.kbq-text-only,
18
+ & .kbq-link__text {
20
19
  border-bottom-style: solid;
21
20
  border-bottom-width: 1px;
21
+ border-bottom-color: transparent;
22
22
  }
23
23
 
24
24
  &.kbq-text-with-icon {
@@ -60,15 +60,6 @@
60
60
  }
61
61
  }
62
62
 
63
- &.kbq-link_no-underline,
64
- &.kbq-link_pseudo {
65
- &.kbq-text-only,
66
- &.kbq-text-with-icon .kbq-link__text,
67
- &.kbq-text-with-dot .kbq-link__text {
68
- border-bottom-color: transparent;
69
- }
70
- }
71
-
72
63
  &.kbq-text-with-icon.kbq-link_external {
73
64
  .kbq-link__text:not(:last-child) {
74
65
  margin-right: 1px;
@@ -101,10 +92,9 @@
101
92
 
102
93
  color: var(--kbq-#{$base-path}-text);
103
94
 
104
- &:not(.kbq-link_pseudo) {
105
- &.kbq-text-only,
106
- &.kbq-text-with-icon .kbq-link__text,
107
- &.kbq-text-with-dot .kbq-link__text {
95
+ &:not(.kbq-link_pseudo, .kbq-link_no-underline) {
96
+ &.kbq-text-only:not(.kbq-text-with-dot),
97
+ & .kbq-link__text {
108
98
  border-bottom-color: var(--kbq-#{$base-path}-border-bottom);
109
99
  }
110
100
  }
package/list/list.scss CHANGED
@@ -1,6 +1,6 @@
1
1
  @use '../core/styles/common/list';
2
2
  @use '../core/styles/common/tokens' as *;
3
-
3
+ @use '../core/styles/common/vendor-prefixes';
4
4
  @use './list-theme' as *;
5
5
 
6
6
  .kbq-list,
@@ -11,8 +11,7 @@
11
11
 
12
12
  .kbq-list-item,
13
13
  .kbq-list-option {
14
- @include list.kbq-no-select;
15
-
14
+ @include vendor-prefixes.user-select(none);
16
15
  @include list.kbq-list-item-base();
17
16
 
18
17
  border-radius: var(--kbq-size-border-radius);
@@ -116,8 +116,8 @@ export declare class KbqNavbarItem extends KbqTooltipTrigger implements AfterCon
116
116
  get trigger(): string;
117
117
  set trigger(value: string);
118
118
  set collapsed(value: boolean);
119
+ get isCollapsed(): boolean;
119
120
  private _collapsed;
120
- isCollapsed: boolean;
121
121
  get croppedText(): string;
122
122
  get collapsable(): boolean;
123
123
  set collapsable(value: boolean);
@@ -134,7 +134,6 @@ export declare class KbqNavbarItem extends KbqTooltipTrigger implements AfterCon
134
134
  updateTooltip(): void;
135
135
  getTitleWidth(): number;
136
136
  onKeyDown($event: KeyboardEvent): void;
137
- private updateCollapsedState;
138
137
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqNavbarItem, [null, null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
139
138
  static ɵcmp: i0.ɵɵComponentDeclaration<KbqNavbarItem, "kbq-navbar-item, [kbq-navbar-item]", ["kbqNavbarItem"], { "collapsedText": { "alias": "collapsedText"; "required": false; }; "trigger": { "alias": "kbqTrigger"; "required": false; }; "collapsable": { "alias": "collapsable"; "required": false; }; }, {}, ["title", "icon"], ["[kbq-icon]", "kbq-navbar-title, [kbq-navbar-title]", "*"], false, never>;
140
139
  }
@@ -20,7 +20,10 @@ export declare class KbqVerticalNavbar extends KbqFocusableComponent implements
20
20
  onKeyDown(event: KeyboardEvent): void;
21
21
  private updateExpandedStateForItems;
22
22
  private updateTooltipForItems;
23
- private setItemsState;
23
+ private setItemsVerticalStateAndUpdateExpandedState;
24
+ private setItemVerticalStateAndUpdateExpandedState;
25
+ private setItemVerticalState;
26
+ private updateItemExpandedState;
24
27
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqVerticalNavbar, never>;
25
28
  static ɵcmp: i0.ɵɵComponentDeclaration<KbqVerticalNavbar, "kbq-vertical-navbar", ["KbqVerticalNavbar"], { "openOver": { "alias": "openOver"; "required": false; }; "expanded": { "alias": "expanded"; "required": false; }; }, {}, ["bento", "rectangleElements", "items"], ["[kbq-navbar-container], kbq-navbar-container", "[kbq-navbar-toggle], kbq-navbar-toggle"], false, never>;
26
29
  }
@@ -49,8 +49,18 @@ export declare class KbqOverflowItem extends ElementVisibilityManager {
49
49
  * Unique identifier for the item.
50
50
  */
51
51
  readonly id: import("@angular/core").InputSignal<unknown>;
52
+ /**
53
+ * Defines the order in which the item is processed in the overflow container,
54
+ * without changing its original position in the `QueryList`.
55
+ */
56
+ readonly order: import("@angular/core").InputSignalWithTransform<number | null, unknown>;
57
+ /**
58
+ * Element with this attribute will be ignored when hiding and will always remain visible.
59
+ * @default false
60
+ */
61
+ readonly alwaysVisible: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
52
62
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqOverflowItem, never>;
53
- static ɵdir: i0.ɵɵDirectiveDeclaration<KbqOverflowItem, "[kbqOverflowItem]", ["kbqOverflowItem"], { "id": { "alias": "kbqOverflowItem"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
63
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KbqOverflowItem, "[kbqOverflowItem]", ["kbqOverflowItem"], { "id": { "alias": "kbqOverflowItem"; "required": true; "isSignal": true; }; "order": { "alias": "order"; "required": false; "isSignal": true; }; "alwaysVisible": { "alias": "alwaysVisible"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
54
64
  }
55
65
  /**
56
66
  * Directive for managing the visibility of items that overflow the container.
@@ -93,6 +103,12 @@ export declare class KbqOverflowItems {
93
103
  private readonly renderer;
94
104
  private readonly document;
95
105
  constructor();
106
+ /**
107
+ * Returns a list of items sorted by their specified `order` value.
108
+ * If an item does not have an `order` defined, its index is used as a fallback.
109
+ * This ensures a stable order while allowing custom positioning.
110
+ */
111
+ private getSortedItemsByOrder;
96
112
  /**
97
113
  * Calculates the visibility of items, based on the container width and `reverseOverflowOrder` property.
98
114
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@koobiq/components",
3
- "version": "18.19.0",
3
+ "version": "18.21.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.19.0",
28
- "@koobiq/angular-moment-adapter": "18.19.0",
29
- "@koobiq/angular-luxon-adapter": "18.19.0",
27
+ "@koobiq/cdk": "18.21.0",
28
+ "@koobiq/angular-moment-adapter": "18.21.0",
29
+ "@koobiq/angular-luxon-adapter": "18.21.0",
30
30
  "@koobiq/date-formatter": "^3.2.3",
31
- "@koobiq/icons": "^9.3.0",
31
+ "@koobiq/icons": "^9.4.0",
32
32
  "@koobiq/tokens-builder": "3.11.0",
33
- "@koobiq/design-tokens": "3.11.2",
33
+ "@koobiq/design-tokens": "3.12.1",
34
34
  "@radix-ng/primitives": "^0.14.0"
35
35
  },
36
36
  "dependencies": {