@koobiq/components 19.1.0 → 19.2.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 (55) hide show
  1. package/app-switcher/app-switcher.d.ts +7 -1
  2. package/core/locales/en-US.d.ts +0 -4
  3. package/core/locales/es-LA.d.ts +0 -4
  4. package/core/locales/locale-service.d.ts +0 -20
  5. package/core/locales/pt-BR.d.ts +0 -4
  6. package/core/locales/ru-RU.d.ts +0 -4
  7. package/core/locales/tk-TM.d.ts +0 -4
  8. package/core/locales/types.d.ts +0 -4
  9. package/core/styles/common/_animation.scss +2 -1
  10. package/dropdown/dropdown.scss +3 -1
  11. package/fesm2022/koobiq-components-app-switcher.mjs +42 -15
  12. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
  13. package/fesm2022/koobiq-components-button.mjs +2 -2
  14. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  15. package/fesm2022/koobiq-components-core.mjs +13 -33
  16. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  17. package/fesm2022/koobiq-components-dropdown.mjs +2 -2
  18. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  19. package/fesm2022/koobiq-components-file-upload.mjs +15 -23
  20. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  21. package/fesm2022/koobiq-components-filter-bar.mjs +88 -28
  22. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  23. package/fesm2022/koobiq-components-form-field.mjs +1 -1
  24. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  25. package/fesm2022/koobiq-components-navbar.mjs +6 -6
  26. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  27. package/fesm2022/koobiq-components-popover.mjs +8 -4
  28. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  29. package/fesm2022/koobiq-components-sidepanel.mjs +2 -2
  30. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  31. package/fesm2022/koobiq-components-title.mjs +2 -2
  32. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  33. package/fesm2022/koobiq-components-toggle.mjs +2 -2
  34. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  35. package/fesm2022/koobiq-components-tree.mjs +8 -8
  36. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  37. package/fesm2022/koobiq-components-username.mjs +2 -2
  38. package/fesm2022/koobiq-components-username.mjs.map +1 -1
  39. package/file-upload/_file-upload-theme.scss +0 -256
  40. package/file-upload/file-upload-tokens.scss +25 -18
  41. package/file-upload/file-upload.scss +8 -4
  42. package/file-upload/multiple-file-upload.component.d.ts +2 -6
  43. package/file-upload/multiple-file-upload.component.scss +209 -91
  44. package/file-upload/primitives/file-drop.d.ts +1 -2
  45. package/file-upload/single-file-upload.component.d.ts +0 -1
  46. package/file-upload/single-file-upload.component.scss +117 -36
  47. package/filter-bar/filter-bar-button.d.ts +5 -0
  48. package/filter-bar/filters.d.ts +38 -6
  49. package/navbar/_navbar-item_vertical.scss +8 -0
  50. package/navbar/navbar-brand.scss +2 -2
  51. package/package.json +4 -4
  52. package/popover/popover.component.d.ts +3 -1
  53. package/schematics/ng-add/index.js +2 -2
  54. package/tree/_tree-theme.scss +11 -5
  55. package/tree/tree-option.scss +1 -0
@@ -1,12 +1,21 @@
1
- import { EventEmitter, OnInit } from '@angular/core';
1
+ import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';
2
+ import { DestroyRef, ElementRef, EventEmitter, OnInit } from '@angular/core';
2
3
  import { FormControl, UntypedFormControl } from '@angular/forms';
3
- import { KbqButtonStyles } from '@koobiq/components/button';
4
+ import { KbqButton, KbqButtonStyles } from '@koobiq/components/button';
4
5
  import { KbqComponentColors, PopUpPlacements, PopUpSizes } from '@koobiq/components/core';
6
+ import { KbqDropdownTrigger } from '@koobiq/components/dropdown';
7
+ import { KbqPopoverTrigger } from '@koobiq/components/popover';
5
8
  import { Observable } from 'rxjs';
6
9
  import { KbqFilterBar } from './filter-bar';
7
10
  import { KbqFilter, KbqSaveFilterError, KbqSaveFilterEvent } from './filter-bar.types';
8
11
  import * as i0 from "@angular/core";
9
12
  export declare class KbqFilters implements OnInit {
13
+ /** @docs-private */
14
+ protected readonly elementRef: ElementRef<any>;
15
+ /** @docs-private */
16
+ protected readonly destroyRef: DestroyRef;
17
+ /** @docs-private */
18
+ protected readonly focusMonitor: FocusMonitor;
10
19
  /** @docs-private */
11
20
  protected readonly placements: typeof PopUpPlacements;
12
21
  /** @docs-private */
@@ -17,9 +26,18 @@ export declare class KbqFilters implements OnInit {
17
26
  protected readonly filterBar: KbqFilterBar;
18
27
  /** @docs-private */
19
28
  private readonly changeDetectorRef;
20
- private button;
21
- private popover;
22
- private dropdown;
29
+ /** @docs-private */
30
+ protected mainButton: KbqButton;
31
+ /** @docs-private */
32
+ protected saveNewFilterButton: KbqButton;
33
+ /** @docs-private */
34
+ protected filterActionsButton: KbqButton;
35
+ /** @docs-private */
36
+ protected popover: KbqPopoverTrigger;
37
+ /** @docs-private */
38
+ protected dropdown: KbqDropdownTrigger;
39
+ /** @docs-private */
40
+ protected filterActionsDropdown: KbqDropdownTrigger;
23
41
  private search;
24
42
  private newFilterName;
25
43
  private saveFilterButton;
@@ -29,6 +47,8 @@ export declare class KbqFilters implements OnInit {
29
47
  filteredOptions: Observable<KbqFilter[]>;
30
48
  /** @docs-private */
31
49
  popoverSize: PopUpSizes;
50
+ /** @docs-private */
51
+ popoverOffset: number;
32
52
  /** new filter name for saving */
33
53
  filterName: FormControl<string | null>;
34
54
  /** true if saving a new filter, false if saving changes in filter */
@@ -54,6 +74,8 @@ export declare class KbqFilters implements OnInit {
54
74
  get popoverHeader(): string;
55
75
  /** Component state. true if opened dropdown or popup */
56
76
  get opened(): boolean;
77
+ /** Component state. true if opened dropdown or popup of filterActions */
78
+ get filterActionsOpened(): boolean;
57
79
  /** Selected filter */
58
80
  get filter(): KbqFilter | null;
59
81
  /** Component state. True if 'filters' input contains no elements. */
@@ -61,8 +83,15 @@ export declare class KbqFilters implements OnInit {
61
83
  /** localized data
62
84
  * @docs-private */
63
85
  get localeData(): any;
86
+ /** Current focus origin state.
87
+ * @docs-private */
88
+ get focusOrigin(): FocusOrigin;
89
+ private _focusOrigin;
90
+ private focusedElementBeforeOpen;
64
91
  constructor();
65
92
  ngOnInit(): void;
93
+ /** @docs-private */
94
+ focusedElementBeforeIs(button: KbqButton): boolean;
66
95
  selectFilter(filter: KbqFilter): void;
67
96
  saveChanges(): void;
68
97
  saveAsNew(event?: Event): void;
@@ -71,7 +100,9 @@ export declare class KbqFilters implements OnInit {
71
100
  preparePopover(): void;
72
101
  openSaveAsNewFilterPopover(): void;
73
102
  openChangeFilterNamePopover(): void;
74
- closePopover: () => void;
103
+ /** @docs-private */
104
+ saveFocusedElement(button?: KbqButton): void;
105
+ closePopover: (restoreFocus?: boolean) => void;
75
106
  /** @docs-private */
76
107
  stopEventPropagation(event: Event): void;
77
108
  /** @docs-private */
@@ -79,6 +110,7 @@ export declare class KbqFilters implements OnInit {
79
110
  /** @docs-private */
80
111
  onDropdownOpen(): void;
81
112
  resetFilterChanges(): void;
113
+ removeFilter(): void;
82
114
  /** Hide the popup and restore focus.
83
115
  * Use this method in the onSave, onSaveAsNew, or onChangeFilter events after the data has been successfully saved. */
84
116
  filterSavedSuccessfully(): void;
@@ -31,6 +31,14 @@
31
31
  top: var(--kbq-size-s);
32
32
  bottom: 0;
33
33
  }
34
+
35
+ & + .kbq-navbar-brand.kbq-vertical {
36
+ padding: var(--kbq-size-xxs) var(--kbq-size-m) var(--kbq-size-m);
37
+
38
+ &:after {
39
+ top: 0;
40
+ }
41
+ }
34
42
  }
35
43
 
36
44
  &.kbq-expanded {
@@ -54,10 +54,10 @@ a.kbq-navbar-brand {
54
54
  flex-direction: row;
55
55
  align-items: center;
56
56
 
57
- padding: var(--kbq-size-xxs) var(--kbq-size-m) var(--kbq-size-m);
57
+ padding: var(--kbq-size-m);
58
58
 
59
59
  &:after {
60
- top: 0;
60
+ top: var(--kbq-size-s);
61
61
  right: var(--kbq-size-s);
62
62
  bottom: var(--kbq-size-s);
63
63
  left: var(--kbq-size-s);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@koobiq/components",
3
- "version": "19.1.0",
3
+ "version": "19.2.0",
4
4
  "description": "koobiq",
5
5
  "repository": {
6
6
  "type": "git",
@@ -24,9 +24,9 @@
24
24
  "@angular/cdk": "^19.0.0",
25
25
  "@angular/core": "^19.0.0",
26
26
  "@angular/forms": "^19.0.0",
27
- "@koobiq/cdk": "19.1.0",
28
- "@koobiq/angular-moment-adapter": "19.1.0",
29
- "@koobiq/angular-luxon-adapter": "19.1.0",
27
+ "@koobiq/cdk": "19.2.0",
28
+ "@koobiq/angular-moment-adapter": "19.2.0",
29
+ "@koobiq/angular-luxon-adapter": "19.2.0",
30
30
  "@koobiq/date-formatter": "^3.2.3",
31
31
  "@koobiq/icons": "^11.1.3",
32
32
  "@koobiq/tokens-builder": "3.11.0",
@@ -1,6 +1,6 @@
1
1
  import { CdkTrapFocus } from '@angular/cdk/a11y';
2
2
  import { CdkScrollable, Overlay, OverlayConfig, ScrollStrategy } from '@angular/cdk/overlay';
3
- import { AfterContentInit, AfterViewInit, ElementRef, EventEmitter, InjectionToken, OnInit, TemplateRef, Type } from '@angular/core';
3
+ import { AfterContentInit, AfterViewInit, DestroyRef, ElementRef, EventEmitter, InjectionToken, OnInit, TemplateRef, Type } from '@angular/core';
4
4
  import { KbqComponentColors, KbqPopUp, KbqPopUpPlacementValues, KbqPopUpSizeValues, KbqPopUpTrigger, KbqStickToWindowPlacementValues } from '@koobiq/components/core';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare const defaultOffsetYWithArrow = 8;
@@ -94,6 +94,8 @@ export declare class KbqPopoverTrigger extends KbqPopUpTrigger<KbqPopoverCompone
94
94
  set closeOnScroll(value: boolean);
95
95
  private _closeOnScroll;
96
96
  get hasClickTrigger(): boolean;
97
+ /** @docs-private */
98
+ get instanceDestroyRef(): DestroyRef;
97
99
  backdropClass: string;
98
100
  arrow: boolean;
99
101
  offset: number | null;
@@ -27,8 +27,8 @@ function ngAdd(options) {
27
27
  }
28
28
  // Installing dependencies
29
29
  utils_packageConfig.addPackageToPackageJson(tree, '@angular/cdk', "^19.2.19");
30
- utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/cdk', "^19.1.0");
31
- utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/angular-luxon-adapter', "^19.1.0");
30
+ utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/cdk', "^19.2.0");
31
+ utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/angular-luxon-adapter', "^19.2.0");
32
32
  utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/date-formatter', "^3.4.0");
33
33
  utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/date-adapter', "^3.4.0");
34
34
  utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/icons', "^11.2.0");
@@ -37,11 +37,13 @@
37
37
 
38
38
  &:not(.kbq-disabled) {
39
39
  &:hover,
40
+ &.kbq-hovered,
40
41
  &.kbq-action-button-focused {
41
42
  @include kbq-tree-option(states-hover);
42
43
  }
43
44
 
44
- &:active {
45
+ &:active,
46
+ &.kbq-active {
45
47
  --kbq-option-background: var(--kbq-tree-states-active-container-background);
46
48
 
47
49
  background: var(--kbq-tree-states-active-container-background);
@@ -50,11 +52,13 @@
50
52
  &.kbq-selected {
51
53
  @include kbq-tree-option(states-selected);
52
54
 
53
- &:hover {
55
+ &:hover,
56
+ &.kbq-hovered {
54
57
  @include kbq-tree-option(states-selected-hover);
55
58
  }
56
59
 
57
- &:active {
60
+ &:active,
61
+ &.kbq-active {
58
62
  --kbq-option-background: var(--kbq-tree-states-selected-active-container-background);
59
63
 
60
64
  background: var(--kbq-tree-states-selected-active-container-background);
@@ -65,11 +69,13 @@
65
69
  &.kbq-tree-option_multiple.kbq-selected {
66
70
  background: var(--kbq-tree-multiple-states-selected-container-background);
67
71
 
68
- &:hover {
72
+ &:hover,
73
+ &.kbq-hovered {
69
74
  background: var(--kbq-tree-multiple-states-selected-hover-container-background);
70
75
  }
71
76
 
72
- &:active {
77
+ &:active,
78
+ &.kbq-active {
73
79
  background: var(--kbq-tree-multiple-states-selected-active-container-background);
74
80
  }
75
81
  }
@@ -58,6 +58,7 @@
58
58
  cursor: pointer;
59
59
 
60
60
  &:hover,
61
+ &.kbq-hovered,
61
62
  &.kbq-action-button-focused {
62
63
  & .kbq-action-container {
63
64
  display: flex;