@koobiq/components 17.0.0-rc.7 → 17.0.0-rc.8

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 (134) hide show
  1. package/alert/alert.component.scss +12 -9
  2. package/badge/badge.component.scss +7 -7
  3. package/button-toggle/button-toggle.scss +5 -2
  4. package/card/_card-theme.scss +1 -1
  5. package/checkbox/checkbox.scss +10 -3
  6. package/code-block/_code-block-theme.scss +1 -1
  7. package/core/form-field/form-field-ref.d.ts +2 -0
  8. package/core/locales/locale-service.d.ts +1 -0
  9. package/core/select/common.d.ts +35 -0
  10. package/core/select/index.d.ts +1 -0
  11. package/dropdown/dropdown-item.scss +2 -0
  12. package/dropdown/dropdown-trigger.directive.d.ts +2 -2
  13. package/esm2022/alert/alert.component.mjs +2 -2
  14. package/esm2022/badge/badge.component.mjs +2 -2
  15. package/esm2022/button/button.component.mjs +2 -2
  16. package/esm2022/button-toggle/button-toggle.component.mjs +2 -2
  17. package/esm2022/checkbox/checkbox.mjs +2 -2
  18. package/esm2022/code-block/code-block.component.mjs +1 -1
  19. package/esm2022/core/form-field/form-field-ref.mjs +1 -1
  20. package/esm2022/core/locales/locale-service.mjs +5 -2
  21. package/esm2022/core/option/option.mjs +2 -2
  22. package/esm2022/core/select/common.mjs +120 -0
  23. package/esm2022/core/select/index.mjs +2 -1
  24. package/esm2022/core/version.mjs +2 -2
  25. package/esm2022/datepicker/calendar-header.component.mjs +1 -1
  26. package/esm2022/dropdown/dropdown-item.component.mjs +2 -2
  27. package/esm2022/dropdown/dropdown-trigger.directive.mjs +4 -4
  28. package/esm2022/file-upload/multiple-file-upload.component.mjs +2 -2
  29. package/esm2022/file-upload/single-file-upload.component.mjs +2 -2
  30. package/esm2022/form-field/form-field.mjs +2 -2
  31. package/esm2022/form-field/hint.mjs +2 -2
  32. package/esm2022/form-field/password-hint.mjs +2 -2
  33. package/esm2022/list/list-selection.component.mjs +2 -2
  34. package/esm2022/list/list.component.mjs +2 -2
  35. package/esm2022/navbar/navbar.component.mjs +2 -2
  36. package/esm2022/navbar/vertical-navbar.component.mjs +2 -2
  37. package/esm2022/popover/popover-confirm.component.mjs +3 -3
  38. package/esm2022/popover/popover.component.mjs +3 -3
  39. package/esm2022/radio/radio.component.mjs +2 -2
  40. package/esm2022/scrollbar/scrollbar.component.mjs +2 -2
  41. package/esm2022/select/select.component.mjs +18 -114
  42. package/esm2022/select/select.module.mjs +28 -28
  43. package/esm2022/table/table.component.mjs +2 -2
  44. package/esm2022/tabs/tab-group.component.mjs +54 -12
  45. package/esm2022/tabs/tab-header.component.mjs +2 -2
  46. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +2 -2
  47. package/esm2022/tags/tag-default-options.mjs +1 -1
  48. package/esm2022/tags/tag-input.mjs +17 -3
  49. package/esm2022/tags/tag-list.component.mjs +2 -2
  50. package/esm2022/tags/tag.component.mjs +2 -2
  51. package/esm2022/timezone/timezone-option.component.mjs +2 -2
  52. package/esm2022/timezone/timezone-select.component.mjs +5 -5
  53. package/esm2022/toast/toast.component.mjs +3 -3
  54. package/esm2022/toast/toast.service.mjs +17 -12
  55. package/esm2022/tooltip/tooltip.component.mjs +2 -2
  56. package/esm2022/tree/tree-option.component.mjs +2 -2
  57. package/esm2022/tree-select/tree-select.component.mjs +9 -37
  58. package/esm2022/tree-select/tree-select.module.mjs +31 -11
  59. package/fesm2022/koobiq-components-alert.mjs +2 -2
  60. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  61. package/fesm2022/koobiq-components-badge.mjs +2 -2
  62. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  63. package/fesm2022/koobiq-components-button-toggle.mjs +2 -2
  64. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  65. package/fesm2022/koobiq-components-button.mjs +2 -2
  66. package/fesm2022/koobiq-components-checkbox.mjs +2 -2
  67. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  68. package/fesm2022/koobiq-components-code-block.mjs +1 -1
  69. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  70. package/fesm2022/koobiq-components-core.mjs +124 -7
  71. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  72. package/fesm2022/koobiq-components-datepicker.mjs +1 -1
  73. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  74. package/fesm2022/koobiq-components-dropdown.mjs +5 -5
  75. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  76. package/fesm2022/koobiq-components-file-upload.mjs +4 -4
  77. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  78. package/fesm2022/koobiq-components-form-field.mjs +6 -6
  79. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  80. package/fesm2022/koobiq-components-list.mjs +4 -4
  81. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  82. package/fesm2022/koobiq-components-navbar.mjs +4 -4
  83. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  84. package/fesm2022/koobiq-components-popover.mjs +4 -4
  85. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  86. package/fesm2022/koobiq-components-radio.mjs +2 -2
  87. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  88. package/fesm2022/koobiq-components-scrollbar.mjs +2 -2
  89. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  90. package/fesm2022/koobiq-components-select.mjs +46 -142
  91. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  92. package/fesm2022/koobiq-components-table.mjs +2 -2
  93. package/fesm2022/koobiq-components-tabs.mjs +56 -14
  94. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  95. package/fesm2022/koobiq-components-tags.mjs +20 -7
  96. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  97. package/fesm2022/koobiq-components-timezone.mjs +6 -6
  98. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  99. package/fesm2022/koobiq-components-toast.mjs +19 -13
  100. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  101. package/fesm2022/koobiq-components-tooltip.mjs +2 -2
  102. package/fesm2022/koobiq-components-tree-select.mjs +37 -44
  103. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  104. package/fesm2022/koobiq-components-tree.mjs +2 -2
  105. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  106. package/file-upload/multiple-file-upload.component.scss +9 -7
  107. package/form-field/_form-field-theme.scss +2 -2
  108. package/form-field/hint.scss +2 -0
  109. package/icon/_icon-button-theme.scss +2 -2
  110. package/list/list.scss +3 -1
  111. package/navbar/_navbar-item_horizontal.scss +5 -2
  112. package/navbar/_navbar-item_vertical.scss +5 -5
  113. package/navbar/navbar-brand.scss +1 -1
  114. package/navbar/navbar-item.scss +6 -0
  115. package/package.json +6 -6
  116. package/prebuilt-themes/dark-theme.css +1 -1
  117. package/prebuilt-themes/light-theme.css +1 -1
  118. package/radio/radio.scss +3 -1
  119. package/schematics/ng-add/index.js +4 -4
  120. package/scrollbar/scrollbar.component.scss +6 -0
  121. package/select/select.component.d.ts +2 -32
  122. package/select/select.module.d.ts +1 -1
  123. package/tabs/tab-group.component.d.ts +9 -3
  124. package/tags/_tag-theme.scss +2 -2
  125. package/tags/tag-default-options.d.ts +1 -0
  126. package/tags/tag-input.d.ts +7 -1
  127. package/timezone/timezone-select.component.d.ts +2 -1
  128. package/toast/toast.component.scss +1 -1
  129. package/toast/toast.service.d.ts +8 -4
  130. package/toggle/_toggle-theme.scss +2 -2
  131. package/tree-select/_tree-select-theme.scss +1 -1
  132. package/tree-select/tree-select.component.d.ts +4 -17
  133. package/tree-select/tree-select.module.d.ts +1 -2
  134. package/tree-select/tree-select.scss +1 -1
package/radio/radio.scss CHANGED
@@ -71,6 +71,7 @@ $tokens: meta.module-variables(tokens) !default;
71
71
  }
72
72
 
73
73
  left: 0;
74
+ top: var(--kbq-radio-size-normal-top, map.get($tokens, radio-size-normal-top));
74
75
 
75
76
  width: kbq-css-variable(radio-size-normal-outer-size);
76
77
  height: kbq-css-variable(radio-size-normal-outer-size);
@@ -113,7 +114,8 @@ $tokens: meta.module-variables(tokens) !default;
113
114
  );
114
115
 
115
116
  .kbq-radio-button__outer-circle {
116
- top: 2px;
117
+
118
+ top: var(--kbq-radio-size-big-top, map.get($tokens, radio-size-big-top));
117
119
 
118
120
  width: kbq-css-variable(radio-size-big-outer-size);
119
121
  height: kbq-css-variable(radio-size-big-outer-size);
@@ -52,13 +52,13 @@ function ngAdd(options) {
52
52
  }
53
53
  // Installing dependencies
54
54
  addPackageToPackageJson(tree, '@angular/cdk', "^17.2.0");
55
- addPackageToPackageJson(tree, '@koobiq/cdk', "^17.0.0-rc.7");
56
- addPackageToPackageJson(tree, '@koobiq/angular-luxon-adapter', "^17.0.0-rc.7");
55
+ addPackageToPackageJson(tree, '@koobiq/cdk', "^17.0.0-rc.8");
56
+ addPackageToPackageJson(tree, '@koobiq/angular-luxon-adapter', "^17.0.0-rc.8");
57
57
  addPackageToPackageJson(tree, '@koobiq/date-formatter', "^3.1.2");
58
58
  addPackageToPackageJson(tree, '@koobiq/date-adapter', "^3.1.2");
59
59
  addPackageToPackageJson(tree, '@koobiq/icons', "^7.1.1");
60
- addPackageToPackageJson(tree, '@koobiq/tokens-builder', "^3.0.0-rc.9");
61
- addPackageToPackageJson(tree, '@koobiq/design-tokens', "^3.0.0-rc.9");
60
+ addPackageToPackageJson(tree, '@koobiq/tokens-builder', "^3.0.0-rc.11");
61
+ addPackageToPackageJson(tree, '@koobiq/design-tokens', "^3.0.0-rc.11");
62
62
  addPackageToPackageJson(tree, '@messageformat/core', "^3.0.1");
63
63
  addPackageToPackageJson(tree, 'luxon', "^3.4.4");
64
64
  addPackageToPackageJson(tree, 'marked', "^9.0.0");
@@ -62,6 +62,12 @@
62
62
  }
63
63
  }
64
64
 
65
+ [data-overlayscrollbars-contents] {
66
+ &:focus-visible {
67
+ outline: none;
68
+ }
69
+ }
70
+
65
71
 
66
72
  // core
67
73
  .os-size-observer,
@@ -5,11 +5,10 @@ import { CdkVirtualForOf } from '@angular/cdk/scrolling';
5
5
  import { AfterContentInit, AfterViewInit, ChangeDetectorRef, DoCheck, ElementRef, EventEmitter, NgZone, OnChanges, OnDestroy, OnInit, QueryList, Renderer2, SimpleChanges, TemplateRef } from '@angular/core';
6
6
  import { ControlValueAccessor, FormGroupDirective, NgControl, NgForm } from '@angular/forms';
7
7
  import { ActiveDescendantKeyManager } from '@koobiq/cdk/a11y';
8
- import { CanDisable, CanDisableCtor, CanUpdateErrorState, CanUpdateErrorStateCtor, ErrorStateMatcher, HasTabIndex, HasTabIndexCtor, KbqOptgroup, KbqOption, KbqOptionSelectionChange, KbqLocaleService, KbqOptionBase } from '@koobiq/components/core';
8
+ import { CanDisable, CanDisableCtor, CanUpdateErrorState, CanUpdateErrorStateCtor, ErrorStateMatcher, HasTabIndex, HasTabIndexCtor, KbqOptgroup, KbqOption, KbqOptionSelectionChange, KbqLocaleService, KbqOptionBase, KbqSelectTrigger, KbqSelectMatcher, KbqSelectSearch } from '@koobiq/components/core';
9
9
  import { KbqCleaner, KbqFormField, KbqFormFieldControl } from '@koobiq/components/form-field';
10
- import { KbqInput } from '@koobiq/components/input';
11
10
  import { KbqTag } from '@koobiq/components/tags';
12
- import { Observable, Subject, Subscription } from 'rxjs';
11
+ import { Observable, Subject } from 'rxjs';
13
12
  import * as i0 from "@angular/core";
14
13
  /** Change event object that is emitted when the select value has changed. */
15
14
  export declare class KbqSelectChange {
@@ -17,35 +16,6 @@ export declare class KbqSelectChange {
17
16
  value: any;
18
17
  constructor(source: KbqSelect, value: any);
19
18
  }
20
- export declare class KbqSelectFooter {
21
- static ɵfac: i0.ɵɵFactoryDeclaration<KbqSelectFooter, never>;
22
- static ɵdir: i0.ɵɵDirectiveDeclaration<KbqSelectFooter, "kbq-select-footer, [kbq-select-footer]", never, {}, {}, never, never, false, never>;
23
- }
24
- export declare class KbqSelectSearch implements AfterContentInit, OnDestroy {
25
- input: KbqInput;
26
- searchChangesSubscription: Subscription;
27
- isSearchChanged: boolean;
28
- constructor(formField: KbqFormField);
29
- focus(): void;
30
- reset(): void;
31
- ngAfterContentInit(): void;
32
- ngOnDestroy(): void;
33
- handleKeydown(event: KeyboardEvent): void;
34
- static ɵfac: i0.ɵɵFactoryDeclaration<KbqSelectSearch, never>;
35
- static ɵdir: i0.ɵɵDirectiveDeclaration<KbqSelectSearch, "[kbqSelectSearch]", ["kbqSelectSearch"], {}, {}, ["input"], never, false, never>;
36
- }
37
- export declare class KbqSelectSearchEmptyResult {
38
- static ɵfac: i0.ɵɵFactoryDeclaration<KbqSelectSearchEmptyResult, never>;
39
- static ɵdir: i0.ɵɵDirectiveDeclaration<KbqSelectSearchEmptyResult, "[kbq-select-search-empty-result]", ["kbqSelectSearchEmptyResult"], {}, {}, never, never, false, never>;
40
- }
41
- export declare class KbqSelectTrigger {
42
- static ɵfac: i0.ɵɵFactoryDeclaration<KbqSelectTrigger, never>;
43
- static ɵdir: i0.ɵɵDirectiveDeclaration<KbqSelectTrigger, "kbq-select-trigger, [kbq-select-trigger]", never, {}, {}, never, never, false, never>;
44
- }
45
- export declare class KbqSelectMatcher {
46
- static ɵfac: i0.ɵɵFactoryDeclaration<KbqSelectMatcher, never>;
47
- static ɵdir: i0.ɵɵDirectiveDeclaration<KbqSelectMatcher, "kbq-select-matcher, [kbq-select-matcher]", never, {}, {}, never, never, false, never>;
48
- }
49
19
  /** @docs-private */
50
20
  export declare class KbqSelectBase {
51
21
  elementRef: ElementRef;
@@ -10,6 +10,6 @@ import * as i8 from "@koobiq/components/tooltip";
10
10
  import * as i9 from "@koobiq/components/form-field";
11
11
  export declare class KbqSelectModule {
12
12
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqSelectModule, never>;
13
- static ɵmod: i0.ɵɵNgModuleDeclaration<KbqSelectModule, [typeof i1.KbqSelect, typeof i1.KbqSelectSearch, typeof i1.KbqSelectSearchEmptyResult, typeof i1.KbqSelectTrigger, typeof i1.KbqSelectMatcher, typeof i2.KbqOptionTooltip, typeof i1.KbqSelectFooter], [typeof i3.CommonModule, typeof i4.OverlayModule, typeof i5.KbqOptionModule, typeof i6.KbqIconModule, typeof i7.KbqTagsModule, typeof i8.KbqToolTipModule], [typeof i9.KbqFormFieldModule, typeof i1.KbqSelect, typeof i1.KbqSelectSearch, typeof i1.KbqSelectSearchEmptyResult, typeof i1.KbqSelectTrigger, typeof i1.KbqSelectMatcher, typeof i1.KbqSelectFooter, typeof i2.KbqOptionTooltip, typeof i5.KbqOptionModule, typeof i3.CommonModule]>;
13
+ static ɵmod: i0.ɵɵNgModuleDeclaration<KbqSelectModule, [typeof i1.KbqSelect, typeof i2.KbqOptionTooltip], [typeof i3.CommonModule, typeof i4.OverlayModule, typeof i5.KbqOptionModule, typeof i6.KbqIconModule, typeof i7.KbqTagsModule, typeof i8.KbqToolTipModule, typeof i5.KbqSelectSearch, typeof i5.KbqSelectFooter, typeof i5.KbqSelectMatcher, typeof i5.KbqSelectTrigger, typeof i5.KbqSelectSearchEmptyResult], [typeof i9.KbqFormFieldModule, typeof i1.KbqSelect, typeof i2.KbqOptionTooltip, typeof i5.KbqOptionModule, typeof i3.CommonModule, typeof i5.KbqSelectSearch, typeof i5.KbqSelectFooter, typeof i5.KbqSelectMatcher, typeof i5.KbqSelectTrigger, typeof i5.KbqSelectSearchEmptyResult]>;
14
14
  static ɵinj: i0.ɵɵInjectorDeclaration<KbqSelectModule>;
15
15
  }
@@ -43,6 +43,7 @@ export declare class KbqTabGroupBase {
43
43
  }
44
44
  /** @docs-private */
45
45
  export declare const KbqTabGroupMixinBase: CanDisableCtor & typeof KbqTabGroupBase;
46
+ export type KbqTabSelectBy = string | number | ((tabs: KbqTab[]) => KbqTab | null);
46
47
  /**
47
48
  * Tab-group component. Supports basic tab pairs (label + content) and includes
48
49
  * keyboard navigation.
@@ -64,20 +65,23 @@ export declare class KbqTabGroup extends KbqTabGroupMixinBase implements AfterCo
64
65
  get selectedIndex(): number | null;
65
66
  set selectedIndex(value: number | null);
66
67
  private _selectedIndex;
68
+ get activeTab(): KbqTab | null;
69
+ set activeTab(value: KbqTabSelectBy | null);
67
70
  /** Position of the tab header. */
68
71
  headerPosition: KbqTabHeaderPosition;
69
72
  /** Duration for the tab animation. Must be a valid CSS value (e.g. 600ms). */
70
73
  animationDuration: string;
71
74
  /** Output to enable support for two-way binding on `[(selectedIndex)]` */
72
75
  readonly selectedIndexChange: EventEmitter<number>;
76
+ /** Event emitted when the tab selection has changed. */
77
+ readonly activeTabChange: EventEmitter<string | number | KbqTab>;
73
78
  /** Event emitted when focus has changed within a tab group. */
74
79
  readonly focusChange: EventEmitter<KbqTabChangeEvent>;
75
80
  /** Event emitted when the body animation has completed */
76
81
  readonly animationDone: EventEmitter<void>;
77
82
  /** Event emitted when the tab selection has changed. */
78
83
  readonly selectedTabChange: EventEmitter<KbqTabChangeEvent>;
79
- /** The tab index that should be selected after the content has been checked. */
80
- private indexToSelect;
84
+ private attributeToSelectBy;
81
85
  /** Snapshot of the height of the tab body wrapper before another tab is activated. */
82
86
  private tabBodyWrapperHeight;
83
87
  /** Subscription to tabs being added/removed. */
@@ -114,6 +118,7 @@ export declare class KbqTabGroup extends KbqTabGroupMixinBase implements AfterCo
114
118
  handleClick(tab: KbqTab, tabHeader: KbqTabHeader, index: number): void;
115
119
  /** Retrieves the tabindex for the tab. */
116
120
  getTabIndex(tab: KbqTab, index: number): number | null;
121
+ onSelectFocusedIndex($event: number): void;
117
122
  private checkOverflow;
118
123
  private createChangeEvent;
119
124
  /**
@@ -126,6 +131,7 @@ export declare class KbqTabGroup extends KbqTabGroupMixinBase implements AfterCo
126
131
  private subscribeToResize;
127
132
  /** Clamps the given index to the bounds of 0 and the tabs length. */
128
133
  private clampTabIndex;
134
+ private getTabIndexToSelect;
129
135
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqTabGroup, [null, null, { attribute: "vertical"; }, { optional: true; }]>;
130
- static ɵcmp: i0.ɵɵComponentDeclaration<KbqTabGroup, "kbq-tab-group", ["kbqTabGroup"], { "disabled": { "alias": "disabled"; "required": false; }; "transparent": { "alias": "transparent"; "required": false; }; "onSurface": { "alias": "onSurface"; "required": false; }; "dynamicHeight": { "alias": "dynamicHeight"; "required": false; }; "selectedIndex": { "alias": "selectedIndex"; "required": false; }; "headerPosition": { "alias": "headerPosition"; "required": false; }; "animationDuration": { "alias": "animationDuration"; "required": false; }; }, { "selectedIndexChange": "selectedIndexChange"; "focusChange": "focusChange"; "animationDone": "animationDone"; "selectedTabChange": "selectedTabChange"; }, ["tabs"], never, false, never>;
136
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqTabGroup, "kbq-tab-group", ["kbqTabGroup"], { "disabled": { "alias": "disabled"; "required": false; }; "transparent": { "alias": "transparent"; "required": false; }; "onSurface": { "alias": "onSurface"; "required": false; }; "dynamicHeight": { "alias": "dynamicHeight"; "required": false; }; "selectedIndex": { "alias": "selectedIndex"; "required": false; }; "activeTab": { "alias": "activeTab"; "required": false; }; "headerPosition": { "alias": "headerPosition"; "required": false; }; "animationDuration": { "alias": "animationDuration"; "required": false; }; }, { "selectedIndexChange": "selectedIndexChange"; "activeTabChange": "activeTabChange"; "focusChange": "focusChange"; "animationDone": "animationDone"; "selectedTabChange": "selectedTabChange"; }, ["tabs"], never, false, never>;
131
137
  }
@@ -34,8 +34,8 @@
34
34
  @include kbq-tag-state($component, $type, focus);
35
35
 
36
36
  box-shadow:
37
- inset 0 0 0 1px kbq-css-variable(tag-#{$type}-focus-outline, map.get($component, $type, focus, outline)),
38
- 0 0 0 1px kbq-css-variable(tag-#{$type}-focus-outline, map.get($component, $type, focus, outline));
37
+ inset 0 0 0.1px 1px kbq-css-variable(tag-#{$type}-focus-outline, map.get($component, $type, focus, outline)),
38
+ 0 0 0.1px 1px kbq-css-variable(tag-#{$type}-focus-outline, map.get($component, $type, focus, outline));
39
39
  }
40
40
 
41
41
  &.kbq-disabled {
@@ -7,6 +7,7 @@ export interface KbqTagsDefaultOptions {
7
7
  separators?: {
8
8
  [key: number]: KbqTagSeparator;
9
9
  };
10
+ addOnPaste?: boolean;
10
11
  }
11
12
  /** Injection token to be used to override the default options for the chips module. */
12
13
  export declare const KBQ_TAGS_DEFAULT_OPTIONS: InjectionToken<KbqTagsDefaultOptions>;
@@ -56,6 +56,12 @@ export declare class KbqTagInput implements KbqTagTextControl, OnChanges {
56
56
  get addOnBlur(): boolean;
57
57
  set addOnBlur(value: boolean);
58
58
  private _addOnBlur;
59
+ /**
60
+ * Whether the tagEnd event will be emitted when the text pasted.
61
+ */
62
+ get addOnPaste(): boolean;
63
+ set addOnPaste(value: boolean);
64
+ private _addOnPaste;
59
65
  /** Whether the input is disabled. */
60
66
  get disabled(): boolean;
61
67
  set disabled(value: boolean);
@@ -88,5 +94,5 @@ export declare class KbqTagInput implements KbqTagTextControl, OnChanges {
88
94
  /** Checks whether a keycode is one of the configured separators. */
89
95
  private isSeparatorKey;
90
96
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqTagInput, [null, null, null, { optional: true; self: true; }, { optional: true; self: true; }, { optional: true; self: true; }]>;
91
- static ɵdir: i0.ɵɵDirectiveDeclaration<KbqTagInput, "input[kbqTagInputFor]", ["kbqTagInput", "kbqTagInputFor"], { "separatorKeyCodes": { "alias": "kbqTagInputSeparatorKeyCodes"; "required": false; }; "distinct": { "alias": "distinct"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "id": { "alias": "id"; "required": false; }; "tagList": { "alias": "kbqTagInputFor"; "required": false; }; "addOnBlur": { "alias": "kbqTagInputAddOnBlur"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "tagEnd": "kbqTagInputTokenEnd"; }, never, never, false, never>;
97
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KbqTagInput, "input[kbqTagInputFor]", ["kbqTagInput", "kbqTagInputFor"], { "separatorKeyCodes": { "alias": "kbqTagInputSeparatorKeyCodes"; "required": false; }; "distinct": { "alias": "distinct"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "id": { "alias": "id"; "required": false; }; "tagList": { "alias": "kbqTagInputFor"; "required": false; }; "addOnBlur": { "alias": "kbqTagInputAddOnBlur"; "required": false; }; "addOnPaste": { "alias": "kbqTagInputAddOnPaste"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "tagEnd": "kbqTagInputTokenEnd"; }, never, never, false, never>;
92
98
  }
@@ -1,5 +1,6 @@
1
+ import { KbqSelectSearch } from '@koobiq/components/core';
1
2
  import { KbqCleaner } from '@koobiq/components/form-field';
2
- import { KbqSelect, KbqSelectSearch } from '@koobiq/components/select';
3
+ import { KbqSelect } from '@koobiq/components/select';
3
4
  import * as i0 from "@angular/core";
4
5
  export declare class KbqTimezoneSelectTrigger {
5
6
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqTimezoneSelectTrigger, never>;
@@ -26,7 +26,7 @@ $tokens: meta.module-variables(tokens) !default;
26
26
  height: kbq-css-variable(toast-size-icon-height);
27
27
  max-height: kbq-css-variable(toast-size-icon-height);
28
28
 
29
- border-radius: kbq-css-variable(toast-size-border-raius);
29
+ border-radius: kbq-css-variable(toast-size-border-radius);
30
30
 
31
31
  margin-right: kbq-css-variable(toast-size-icon-margin-right);
32
32
 
@@ -1,16 +1,17 @@
1
1
  import { AnimationEvent } from '@angular/animations';
2
2
  import { Overlay, OverlayContainer } from '@angular/cdk/overlay';
3
- import { Injector, ComponentRef, TemplateRef, EmbeddedViewRef, InjectionToken } from '@angular/core';
3
+ import { Injector, ComponentRef, TemplateRef, EmbeddedViewRef, InjectionToken, NgZone, OnDestroy } from '@angular/core';
4
4
  import { BehaviorSubject } from 'rxjs';
5
5
  import { KbqToastComponent } from './toast.component';
6
6
  import { KbqToastData, KbqToastConfig } from './toast.type';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare const KBQ_TOAST_FACTORY: InjectionToken<unknown>;
9
9
  export declare const defaultToastConfig: KbqToastConfig;
10
- export declare class KbqToastService<T extends KbqToastComponent = KbqToastComponent> {
10
+ export declare class KbqToastService<T extends KbqToastComponent = KbqToastComponent> implements OnDestroy {
11
11
  private overlay;
12
12
  private injector;
13
13
  private overlayContainer;
14
+ private ngZone;
14
15
  private toastFactory;
15
16
  private toastConfig;
16
17
  get toasts(): ComponentRef<T>[];
@@ -18,12 +19,15 @@ export declare class KbqToastService<T extends KbqToastComponent = KbqToastCompo
18
19
  readonly hovered: BehaviorSubject<boolean>;
19
20
  readonly focused: BehaviorSubject<boolean>;
20
21
  readonly animation: BehaviorSubject<AnimationEvent | null>;
22
+ timer: import("rxjs").Observable<number>;
21
23
  private containerInstance;
22
24
  private overlayRef;
23
25
  private portal;
26
+ private timerSubscription;
24
27
  private toastsDict;
25
28
  private templatesDict;
26
- constructor(overlay: Overlay, injector: Injector, overlayContainer: OverlayContainer, toastFactory: any, toastConfig: KbqToastConfig);
29
+ constructor(overlay: Overlay, injector: Injector, overlayContainer: OverlayContainer, ngZone: NgZone, toastFactory: any, toastConfig: KbqToastConfig);
30
+ ngOnDestroy(): void;
27
31
  show(data: KbqToastData, duration?: number, onTop?: boolean): {
28
32
  ref: ComponentRef<T>;
29
33
  id: number;
@@ -50,6 +54,6 @@ export declare class KbqToastService<T extends KbqToastComponent = KbqToastCompo
50
54
  private getBottomRight;
51
55
  private getCenter;
52
56
  private getGlobalOverlayPosition;
53
- static ɵfac: i0.ɵɵFactoryDeclaration<KbqToastService<any>, [null, null, null, null, { optional: true; }]>;
57
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqToastService<any>, [null, null, null, null, null, { optional: true; }]>;
54
58
  static ɵprov: i0.ɵɵInjectableDeclaration<KbqToastService<any>>;
55
59
  }
@@ -43,7 +43,7 @@
43
43
  toggle-#{$type}-states-focused-focus-outline,
44
44
  map.get($component, $type, states-focused, focus-outline)
45
45
  );
46
- box-shadow: 0 0 0 1px kbq-css-variable(
46
+ box-shadow: 0 0 0.1px 1px kbq-css-variable(
47
47
  toggle-#{$type}-states-focused-focus-outline,
48
48
  map.get($component, $type, states-focused, focus-outline)
49
49
  );
@@ -58,7 +58,7 @@
58
58
  toggle-#{$type}-states-checked-focused-focus-outline,
59
59
  map.get($component, $type, states-checked-focused, focus-outline)
60
60
  );
61
- box-shadow: 0 0 0 1px kbq-css-variable(
61
+ box-shadow: 0 0 0.1px 1px kbq-css-variable(
62
62
  toggle-#{$type}-states-checked-focused-focus-outline,
63
63
  map.get($component, $type, states-checked-focused, focus-outline)
64
64
  );
@@ -35,7 +35,7 @@
35
35
  box-shadow: kbq-css-variable(select-panel-shadow, map.get($select-panel, shadow));
36
36
  background: kbq-css-variable(select-panel-background, map.get($select-panel, background));
37
37
 
38
- & .kbq-tree-select__footer {
38
+ & .kbq-select__footer {
39
39
  border-color: kbq-css-variable(divider-color, map.get($divider, color));
40
40
  }
41
41
  }
@@ -3,9 +3,8 @@ import { SelectionModel } from '@angular/cdk/collections';
3
3
  import { CdkConnectedOverlay, ConnectedPosition, ViewportRuler } from '@angular/cdk/overlay';
4
4
  import { AfterContentInit, AfterViewInit, ChangeDetectorRef, DoCheck, ElementRef, EventEmitter, NgZone, OnChanges, OnDestroy, OnInit, QueryList, Renderer2, SimpleChanges, TemplateRef } from '@angular/core';
5
5
  import { ControlValueAccessor, FormGroupDirective, NgControl, NgForm } from '@angular/forms';
6
- import { CanDisable, CanUpdateErrorState, ErrorStateMatcher, HasTabIndex, CanDisableCtor, HasTabIndexCtor, CanUpdateErrorStateCtor } from '@koobiq/components/core';
6
+ import { CanDisable, CanUpdateErrorState, ErrorStateMatcher, HasTabIndex, CanDisableCtor, HasTabIndexCtor, CanUpdateErrorStateCtor, KbqSelectSearch, KbqSelectTrigger, KbqSelectMatcher } from '@koobiq/components/core';
7
7
  import { KbqCleaner, KbqFormField, KbqFormFieldControl } from '@koobiq/components/form-field';
8
- import { KbqSelectSearch } from '@koobiq/components/select';
9
8
  import { KbqTag } from '@koobiq/components/tags';
10
9
  import { KbqTreeSelection, KbqTreeOption } from '@koobiq/components/tree';
11
10
  import { Observable, Subject } from 'rxjs';
@@ -22,18 +21,6 @@ export declare class KbqTreeSelectChange {
22
21
  isUserInput: boolean;
23
22
  constructor(source: KbqTreeSelect, value: any, isUserInput?: boolean);
24
23
  }
25
- export declare class KbqTreeSelectTrigger {
26
- static ɵfac: i0.ɵɵFactoryDeclaration<KbqTreeSelectTrigger, never>;
27
- static ɵdir: i0.ɵɵDirectiveDeclaration<KbqTreeSelectTrigger, "kbq-tree-select-trigger,[kbq-tree-select-trigger]", never, {}, {}, never, never, false, never>;
28
- }
29
- export declare class KbqTreeSelectMatcher {
30
- static ɵfac: i0.ɵɵFactoryDeclaration<KbqTreeSelectMatcher, never>;
31
- static ɵdir: i0.ɵɵDirectiveDeclaration<KbqTreeSelectMatcher, "kbq-tree-select-matcher", never, {}, {}, never, never, false, never>;
32
- }
33
- export declare class KbqTreeSelectFooter {
34
- static ɵfac: i0.ɵɵFactoryDeclaration<KbqTreeSelectFooter, never>;
35
- static ɵdir: i0.ɵɵDirectiveDeclaration<KbqTreeSelectFooter, "kbq-tree-select-footer, [kbq-tree-select-footer]", never, {}, {}, never, never, false, never>;
36
- }
37
24
  /** @docs-private */
38
25
  declare class KbqTreeSelectBase {
39
26
  elementRef: ElementRef;
@@ -94,8 +81,8 @@ export declare class KbqTreeSelect extends KbqTreeSelectMixinBase implements Aft
94
81
  tags: QueryList<KbqTag>;
95
82
  cleaner: KbqCleaner;
96
83
  /** User-supplied override of the trigger element. */
97
- customTrigger: KbqTreeSelectTrigger;
98
- customMatcher: KbqTreeSelectMatcher;
84
+ customTrigger: KbqSelectTrigger;
85
+ customMatcher: KbqSelectMatcher;
99
86
  customTagTemplateRef: TemplateRef<any>;
100
87
  tree: KbqTreeSelection;
101
88
  search: KbqSelectSearch;
@@ -285,6 +272,6 @@ export declare class KbqTreeSelect extends KbqTreeSelectMixinBase implements Aft
285
272
  private _compareWith;
286
273
  private subscribeOnSearchChanges;
287
274
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqTreeSelect, [null, null, null, null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; self: true; }]>;
288
- static ɵcmp: i0.ɵɵComponentDeclaration<KbqTreeSelect, "kbq-tree-select", ["kbqTreeSelect"], { "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "hiddenItemsText": { "alias": "hiddenItemsText"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "backdropClass": { "alias": "backdropClass"; "required": false; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; "sortComparator": { "alias": "sortComparator"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "autoSelect": { "alias": "autoSelect"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "id": { "alias": "id"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "hiddenItemsTextFormatter": { "alias": "hiddenItemsTextFormatter"; "required": false; }; }, { "openedChange": "openedChange"; "openedStream": "opened"; "closedStream": "closed"; "selectionChange": "selectionChange"; "valueChange": "valueChange"; }, ["cleaner", "customTrigger", "customMatcher", "customTagTemplateRef", "tree", "search"], ["kbq-tree-select-trigger", "kbq-cleaner", "kbq-tree-select-matcher, [kbq-tree-select-matcher]", "[kbqSelectSearch]", "[kbq-select-search-empty-result]", "kbq-tree-selection", "kbq-tree-select-footer,[kbq-tree-select-footer]"], false, never>;
275
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqTreeSelect, "kbq-tree-select", ["kbqTreeSelect"], { "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "hiddenItemsText": { "alias": "hiddenItemsText"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "backdropClass": { "alias": "backdropClass"; "required": false; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; "sortComparator": { "alias": "sortComparator"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "autoSelect": { "alias": "autoSelect"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "id": { "alias": "id"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "hiddenItemsTextFormatter": { "alias": "hiddenItemsTextFormatter"; "required": false; }; }, { "openedChange": "openedChange"; "openedStream": "opened"; "closedStream": "closed"; "selectionChange": "selectionChange"; "valueChange": "valueChange"; }, ["cleaner", "customTrigger", "customMatcher", "customTagTemplateRef", "tree", "search"], ["kbq-select-trigger", "kbq-cleaner", "kbq-select-matcher, [kbq-select-matcher]", "[kbqSelectSearch]", "[kbq-select-search-empty-result]", "kbq-tree-selection", "kbq-select-footer,[kbq-tree-select-footer]"], false, never>;
289
276
  }
290
277
  export {};
@@ -6,9 +6,8 @@ import * as i4 from "@koobiq/components/tree";
6
6
  import * as i5 from "@koobiq/components/icon";
7
7
  import * as i6 from "@koobiq/components/tags";
8
8
  import * as i7 from "@koobiq/components/core";
9
- import * as i8 from "@koobiq/components/select";
10
9
  export declare class KbqTreeSelectModule {
11
10
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqTreeSelectModule, never>;
12
- static ɵmod: i0.ɵɵNgModuleDeclaration<KbqTreeSelectModule, [typeof i1.KbqTreeSelect, typeof i1.KbqTreeSelectTrigger, typeof i1.KbqTreeSelectMatcher, typeof i1.KbqTreeSelectFooter], [typeof i2.CommonModule, typeof i3.OverlayModule, typeof i4.KbqTreeModule, typeof i5.KbqIconModule, typeof i6.KbqTagsModule, typeof i7.KbqPseudoCheckboxModule, typeof i8.KbqSelectModule], [typeof i1.KbqTreeSelect, typeof i1.KbqTreeSelectTrigger, typeof i1.KbqTreeSelectMatcher, typeof i1.KbqTreeSelectFooter, typeof i2.CommonModule]>;
11
+ static ɵmod: i0.ɵɵNgModuleDeclaration<KbqTreeSelectModule, [typeof i1.KbqTreeSelect], [typeof i2.CommonModule, typeof i3.OverlayModule, typeof i4.KbqTreeModule, typeof i5.KbqIconModule, typeof i6.KbqTagsModule, typeof i7.KbqPseudoCheckboxModule, typeof i7.KbqSelectSearch, typeof i7.KbqSelectFooter, typeof i7.KbqSelectMatcher, typeof i7.KbqSelectTrigger, typeof i7.KbqSelectSearchEmptyResult], [typeof i1.KbqTreeSelect, typeof i2.CommonModule, typeof i7.KbqSelectSearch, typeof i7.KbqSelectFooter, typeof i7.KbqSelectMatcher, typeof i7.KbqSelectTrigger, typeof i7.KbqSelectSearchEmptyResult]>;
13
12
  static ɵinj: i0.ɵɵInjectorDeclaration<KbqTreeSelectModule>;
14
13
  }
@@ -12,7 +12,7 @@
12
12
  .kbq-tree-select__panel {
13
13
  @extend %kbq-select-panel;
14
14
 
15
- & .kbq-tree-select__footer {
15
+ & .kbq-select__footer {
16
16
  @extend %kbq-select-footer;
17
17
  }
18
18
  }