@koobiq/components 19.4.1 → 19.6.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 (242) hide show
  1. package/LICENSE +1 -1
  2. package/accordion/accordion-content.d.ts +1 -1
  3. package/accordion/accordion-content.directive.d.ts +22 -7
  4. package/accordion/accordion-header.directive.d.ts +2 -2
  5. package/accordion/accordion-item.d.ts +74 -3
  6. package/accordion/accordion-trigger.component.d.ts +15 -2
  7. package/accordion/accordion-trigger.directive.d.ts +13 -5
  8. package/accordion/accordion.component.d.ts +67 -6
  9. package/accordion/accordion.component.scss +9 -27
  10. package/accordion/public-api.d.ts +0 -2
  11. package/actions-panel/actions-panel-container.scss +6 -0
  12. package/actions-panel/actions-panel-tokens.scss +4 -1
  13. package/autocomplete/autocomplete.component.d.ts +6 -1
  14. package/autocomplete/autocomplete.module.d.ts +1 -1
  15. package/autocomplete/autocomplete.scss +14 -3
  16. package/badge/badge-tokens.scss +3 -3
  17. package/button/button-group.d.ts +45 -0
  18. package/button/button-group.scss +17 -0
  19. package/button/button.component.d.ts +3 -0
  20. package/button/button.module.d.ts +2 -1
  21. package/button/public-api.d.ts +1 -0
  22. package/button-toggle/button-toggle-tokens.scss +1 -1
  23. package/checkbox/checkbox.d.ts +5 -4
  24. package/checkbox/checkbox.scss +5 -5
  25. package/clamped-text/clamped-list.d.ts +41 -0
  26. package/clamped-text/clamped-text.d.ts +10 -6
  27. package/clamped-text/constants.d.ts +21 -1
  28. package/clamped-text/index.d.ts +1 -0
  29. package/clamped-text/module.d.ts +2 -1
  30. package/code-block/code-block-tokens.scss +35 -16
  31. package/code-block/code-block.d.ts +17 -5
  32. package/code-block/code-block.module.d.ts +1 -1
  33. package/code-block/code-block.scss +1 -0
  34. package/code-block/types.d.ts +9 -0
  35. package/core/common-behaviors/flex.d.ts +4 -0
  36. package/core/common-behaviors/index.d.ts +1 -0
  37. package/core/error/error-state-matcher.d.ts +10 -0
  38. package/core/form-field/form-field-ref.d.ts +3 -1
  39. package/core/forms/_forms.scss +10 -3
  40. package/core/locales/en-US.d.ts +2 -0
  41. package/core/locales/es-LA.d.ts +2 -0
  42. package/core/locales/locale-service.d.ts +10 -0
  43. package/core/locales/pt-BR.d.ts +2 -0
  44. package/core/locales/ru-RU.d.ts +2 -0
  45. package/core/locales/tk-TM.d.ts +2 -0
  46. package/core/locales/types.d.ts +2 -0
  47. package/core/option/_option-action-theme.scss +1 -0
  48. package/core/option/_option-theme.scss +4 -17
  49. package/core/option/action-container.scss +4 -6
  50. package/core/option/option.d.ts +5 -1
  51. package/core/option/option.scss +5 -0
  52. package/core/pop-up/pop-up-trigger.d.ts +11 -2
  53. package/core/select/common.d.ts +4 -4
  54. package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +2 -2
  55. package/core/styles/common/_groups-mixins.scss +79 -0
  56. package/core/styles/common/_groups.scss +4 -34
  57. package/core/styles/common/_overlay.scss +5 -1
  58. package/core/styles/common/_select.scss +4 -0
  59. package/core/styles/theming/scrollbar-tokens.scss +6 -6
  60. package/core/styles/visual/_layout.scss +0 -2
  61. package/core/utils/utils.d.ts +2 -0
  62. package/datepicker/datepicker-input.directive.d.ts +1 -0
  63. package/dropdown/dropdown-trigger.directive.d.ts +5 -0
  64. package/dropdown/dropdown.component.d.ts +2 -1
  65. package/ellipsis-center/ellipsis-center.directive.d.ts +0 -1
  66. package/fesm2022/koobiq-components-accordion.mjs +301 -237
  67. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  68. package/fesm2022/koobiq-components-actions-panel.mjs +12 -12
  69. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  70. package/fesm2022/koobiq-components-alert.mjs +16 -16
  71. package/fesm2022/koobiq-components-app-switcher.mjs +25 -25
  72. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
  73. package/fesm2022/koobiq-components-autocomplete.mjs +39 -23
  74. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  75. package/fesm2022/koobiq-components-badge.mjs +14 -14
  76. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  77. package/fesm2022/koobiq-components-breadcrumbs.mjs +25 -25
  78. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  79. package/fesm2022/koobiq-components-button-toggle.mjs +12 -12
  80. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  81. package/fesm2022/koobiq-components-button.mjs +146 -24
  82. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  83. package/fesm2022/koobiq-components-checkbox.mjs +18 -20
  84. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  85. package/fesm2022/koobiq-components-clamped-text.mjs +134 -47
  86. package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
  87. package/fesm2022/koobiq-components-code-block.mjs +54 -22
  88. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  89. package/fesm2022/koobiq-components-content-panel.mjs +28 -28
  90. package/fesm2022/koobiq-components-core.mjs +313 -257
  91. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  92. package/fesm2022/koobiq-components-datepicker.mjs +40 -64
  93. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  94. package/fesm2022/koobiq-components-divider.mjs +7 -7
  95. package/fesm2022/koobiq-components-dl.mjs +13 -13
  96. package/fesm2022/koobiq-components-dropdown.mjs +48 -23
  97. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  98. package/fesm2022/koobiq-components-dynamic-translation.mjs +13 -13
  99. package/fesm2022/koobiq-components-ellipsis-center.mjs +8 -9
  100. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  101. package/fesm2022/koobiq-components-empty-state.mjs +19 -19
  102. package/fesm2022/koobiq-components-file-upload.mjs +39 -39
  103. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  104. package/fesm2022/koobiq-components-filter-bar.mjs +118 -106
  105. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  106. package/fesm2022/koobiq-components-form-field.mjs +77 -65
  107. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  108. package/fesm2022/koobiq-components-icon.mjs +32 -28
  109. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  110. package/fesm2022/koobiq-components-inline-edit.mjs +115 -65
  111. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  112. package/fesm2022/koobiq-components-input.mjs +28 -26
  113. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  114. package/fesm2022/koobiq-components-link.mjs +23 -17
  115. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  116. package/fesm2022/koobiq-components-list.mjs +19 -19
  117. package/fesm2022/koobiq-components-loader-overlay.mjs +28 -19
  118. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  119. package/fesm2022/koobiq-components-markdown.mjs +54 -22
  120. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  121. package/fesm2022/koobiq-components-modal.mjs +96 -63
  122. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  123. package/fesm2022/koobiq-components-navbar-ic.mjs +34 -34
  124. package/fesm2022/koobiq-components-navbar.mjs +53 -46
  125. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  126. package/fesm2022/koobiq-components-notification-center.mjs +16 -16
  127. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
  128. package/fesm2022/koobiq-components-overflow-items.mjs +29 -17
  129. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  130. package/fesm2022/koobiq-components-popover.mjs +52 -23
  131. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  132. package/fesm2022/koobiq-components-progress-bar.mjs +13 -13
  133. package/fesm2022/koobiq-components-progress-spinner.mjs +14 -14
  134. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  135. package/fesm2022/koobiq-components-radio.mjs +10 -10
  136. package/fesm2022/koobiq-components-resizer.mjs +10 -10
  137. package/fesm2022/koobiq-components-risk-level.mjs +7 -7
  138. package/fesm2022/koobiq-components-scrollbar.mjs +12 -12
  139. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  140. package/fesm2022/koobiq-components-search-expandable.mjs +17 -8
  141. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
  142. package/fesm2022/koobiq-components-select.mjs +342 -58
  143. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  144. package/fesm2022/koobiq-components-sidebar.mjs +13 -13
  145. package/fesm2022/koobiq-components-sidepanel.mjs +50 -41
  146. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  147. package/fesm2022/koobiq-components-skeleton.mjs +62 -13
  148. package/fesm2022/koobiq-components-skeleton.mjs.map +1 -1
  149. package/fesm2022/koobiq-components-split-button.mjs +9 -9
  150. package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
  151. package/fesm2022/koobiq-components-splitter.mjs +16 -16
  152. package/fesm2022/koobiq-components-table.mjs +10 -10
  153. package/fesm2022/koobiq-components-tabs.mjs +54 -54
  154. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  155. package/fesm2022/koobiq-components-tags.mjs +44 -47
  156. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  157. package/fesm2022/koobiq-components-textarea.mjs +10 -9
  158. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  159. package/fesm2022/koobiq-components-time-range.mjs +25 -25
  160. package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
  161. package/fesm2022/koobiq-components-timepicker.mjs +10 -10
  162. package/fesm2022/koobiq-components-timezone.mjs +26 -26
  163. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  164. package/fesm2022/koobiq-components-title.mjs +8 -9
  165. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  166. package/fesm2022/koobiq-components-toast.mjs +16 -16
  167. package/fesm2022/koobiq-components-toggle.mjs +12 -9
  168. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  169. package/fesm2022/koobiq-components-tooltip.mjs +95 -52
  170. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  171. package/fesm2022/koobiq-components-top-bar.mjs +15 -15
  172. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  173. package/fesm2022/koobiq-components-tree-select.mjs +15 -12
  174. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  175. package/fesm2022/koobiq-components-tree.mjs +64 -52
  176. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  177. package/fesm2022/koobiq-components-username.mjs +28 -28
  178. package/fesm2022/koobiq-components-username.mjs.map +1 -1
  179. package/filter-bar/filter-search.d.ts +10 -1
  180. package/filter-bar/pipes/pipe-date.scss +5 -16
  181. package/form-field/form-field.d.ts +25 -1
  182. package/form-field/form-field.scss +26 -2
  183. package/icon/icon-button.component.d.ts +3 -0
  184. package/icon/icon-button.scss +4 -0
  185. package/inline-edit/inline-edit-tokens.scss +3 -3
  186. package/inline-edit/inline-edit.d.ts +31 -11
  187. package/inline-edit/inline-edit.scss +28 -30
  188. package/input/input-password.d.ts +1 -0
  189. package/input/input.d.ts +1 -0
  190. package/link/_link-theme.scss +18 -8
  191. package/link/link-tokens.scss +9 -6
  192. package/link/link.component.d.ts +9 -5
  193. package/loader-overlay/_loader-overlay-theme.scss +12 -0
  194. package/loader-overlay/loader-overlay-tokens.scss +1 -0
  195. package/loader-overlay/loader-overlay.component.d.ts +7 -1
  196. package/markdown/_markdown-theme.scss +3 -31
  197. package/markdown/markdown-tokens.scss +0 -11
  198. package/markdown/markdown.component.d.ts +12 -7
  199. package/markdown/markdown.scss +0 -11
  200. package/modal/modal-ref.class.d.ts +1 -0
  201. package/modal/modal.component.d.ts +14 -8
  202. package/modal/modal.scss +1 -0
  203. package/modal/modal.type.d.ts +5 -0
  204. package/navbar/navbar-item.component.d.ts +3 -1
  205. package/navbar/navbar.scss +3 -0
  206. package/overflow-items/overflow-items.d.ts +8 -2
  207. package/package.json +4 -5
  208. package/popover/popover.component.d.ts +15 -2
  209. package/prebuilt-themes/dark-theme.css +1 -1
  210. package/prebuilt-themes/light-theme.css +1 -1
  211. package/prebuilt-themes/theme.css +1 -1
  212. package/progress-spinner/progress-spinner.scss +1 -0
  213. package/schematics/ng-add/index.js +4 -6
  214. package/scrollbar/scrollbar-tokens.scss +7 -7
  215. package/search-expandable/search-expandable.d.ts +6 -2
  216. package/select/public-api.d.ts +1 -0
  217. package/select/select-common.d.ts +30 -0
  218. package/select/select.component.d.ts +193 -29
  219. package/select/select.module.d.ts +3 -2
  220. package/sidepanel/_sidepanel-theme.scss +1 -7
  221. package/sidepanel/sidepanel-config.d.ts +10 -2
  222. package/sidepanel/sidepanel.service.d.ts +0 -1
  223. package/skeleton/skeleton.d.ts +12 -3
  224. package/skeleton/skeleton.scss +22 -7
  225. package/split-button/_split-button-theme.scss +2 -1
  226. package/tabs/_tabs-common.scss +2 -1
  227. package/tags/tag-input.d.ts +4 -3
  228. package/tags/tag-list.component.d.ts +1 -0
  229. package/tags/tag-tokens.scss +4 -4
  230. package/textarea/textarea.component.d.ts +1 -0
  231. package/title/title.directive.d.ts +0 -1
  232. package/toggle/toggle.component.d.ts +4 -3
  233. package/tooltip/tooltip-tokens.scss +4 -4
  234. package/tooltip/tooltip.component.d.ts +22 -2
  235. package/top-bar/top-bar.scss +3 -0
  236. package/tree/_tree-theme.scss +0 -19
  237. package/tree/tree-option.component.d.ts +9 -3
  238. package/tree/tree-option.scss +9 -5
  239. package/tree/tree-selection.component.d.ts +2 -0
  240. package/tree-select/tree-select.component.d.ts +1 -0
  241. package/accordion/accordion-item.directive.d.ts +0 -72
  242. package/accordion/accordion-root.directive.d.ts +0 -64
@@ -1,4 +1,5 @@
1
1
  import { AfterViewChecked, ChangeDetectorRef, ElementRef, EventEmitter, InjectionToken, OnDestroy, QueryList } from '@angular/core';
2
+ import { ActiveDescendantKeyManager } from '@koobiq/cdk/a11y';
2
3
  import { Subject } from 'rxjs';
3
4
  import { KbqTitleTextRef } from '../title';
4
5
  import { KbqOptgroup } from './optgroup';
@@ -18,6 +19,7 @@ export interface KbqOptionParentComponent {
18
19
  multiple?: boolean;
19
20
  multiSelection?: boolean;
20
21
  withVirtualScroll?: boolean;
22
+ keyManager?: ActiveDescendantKeyManager<KbqOption>;
21
23
  setSelectedOptionsByClick: (option: KbqOption) => void;
22
24
  }
23
25
  /**
@@ -61,7 +63,7 @@ export declare class KbqVirtualOption extends KbqOptionBase {
61
63
  export declare class KbqOption extends KbqOptionBase implements AfterViewChecked, OnDestroy, KbqTitleTextRef {
62
64
  private readonly elementRef;
63
65
  private readonly changeDetectorRef;
64
- private readonly parent;
66
+ protected readonly parent: KbqOptionParentComponent;
65
67
  readonly group: KbqOptgroup;
66
68
  textElement: ElementRef;
67
69
  /** The form value of the option. */
@@ -133,6 +135,8 @@ export declare class KbqOption extends KbqOptionBase implements AfterViewChecked
133
135
  selectViaInteraction(): void;
134
136
  getTabIndex(): string;
135
137
  getHostElement(): HTMLElement;
138
+ /** @docs-private */
139
+ protected onMouseenter(): void;
136
140
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqOption, [null, null, { optional: true; }, { optional: true; }]>;
137
141
  static ɵcmp: i0.ɵɵComponentDeclaration<KbqOption, "kbq-option", ["kbqOption"], { "value": { "alias": "value"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; "userSelect": { "alias": "userSelect"; "required": false; }; "showCheckbox": { "alias": "showCheckbox"; "required": false; }; "viewValue": { "alias": "viewValue"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "onSelectionChange": "onSelectionChange"; }, never, ["kbq-pseudo-checkbox", "*"], true, never>;
138
142
  static ngAcceptInputType_selectable: unknown;
@@ -6,6 +6,11 @@
6
6
  @include list.kbq-list-item-base();
7
7
  @include vendor-prefixes.user-select(none);
8
8
 
9
+ & > .kbq-pseudo-checkbox {
10
+ margin-top: var(--kbq-size-3xs);
11
+ align-self: baseline;
12
+ }
13
+
9
14
  border-radius: var(--kbq-option-border-radius);
10
15
 
11
16
  &:not(.kbq-disabled) {
@@ -19,7 +19,12 @@ export declare abstract class KbqPopUpTrigger<T> implements OnInit, OnDestroy {
19
19
  protected readonly destroyRef: DestroyRef;
20
20
  protected readonly scrollable: CdkScrollable | null;
21
21
  protected abstract scrollStrategy: () => ScrollStrategy;
22
- isOpen: boolean;
22
+ /** @docs-private */
23
+ protected externalNativeElement: HTMLElement;
24
+ private popUpChangeDetectorRef;
25
+ get isOpen(): boolean;
26
+ set isOpen(value: boolean);
27
+ private _isOpen;
23
28
  enterDelay: number;
24
29
  leaveDelay: number;
25
30
  triggerName: string;
@@ -66,7 +71,7 @@ export declare abstract class KbqPopUpTrigger<T> implements OnInit, OnDestroy {
66
71
  keydownHandler(event: KeyboardEvent): void;
67
72
  touchendHandler(): void;
68
73
  show(delay?: number): void;
69
- hide: (delay?: number) => void;
74
+ hide(delay?: number): void;
70
75
  detach: () => void;
71
76
  /** Create the overlay config and position strategy */
72
77
  createOverlay(): OverlayRef;
@@ -77,6 +82,10 @@ export declare abstract class KbqPopUpTrigger<T> implements OnInit, OnDestroy {
77
82
  /** Updates the position of the current popover. */
78
83
  updatePosition(reapplyPosition?: boolean): void;
79
84
  focus(): void;
85
+ /** @docs-private */
86
+ getNativeElement(): HTMLElement;
87
+ /** @docs-private */
88
+ setExternalNativeElement(value: HTMLElement): void;
80
89
  /**
81
90
  * Returns a list of positions that are aligned with the element's dimensions and offsets.
82
91
  * @protected
@@ -12,6 +12,10 @@ export declare class KbqSelectMatcher {
12
12
  static ɵdir: i0.ɵɵDirectiveDeclaration<KbqSelectMatcher, "kbq-select-matcher, [kbq-select-matcher]", never, { "useDefaultHandlers": { "alias": "useDefaultHandlers"; "required": false; }; }, {}, never, never, true, never>;
13
13
  static ngAcceptInputType_useDefaultHandlers: unknown;
14
14
  }
15
+ export declare class KbqSelectSearchEmptyResult {
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<KbqSelectSearchEmptyResult, never>;
17
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KbqSelectSearchEmptyResult, "[kbq-select-search-empty-result]", ["kbqSelectSearchEmptyResult"], {}, {}, never, never, true, never>;
18
+ }
15
19
  export declare class KbqSelectFooter {
16
20
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqSelectFooter, never>;
17
21
  static ɵdir: i0.ɵɵDirectiveDeclaration<KbqSelectFooter, "kbq-select-footer, [kbq-select-footer]", never, {}, {}, never, never, true, never>;
@@ -34,10 +38,6 @@ export declare class KbqSelectSearch implements AfterContentInit, OnDestroy {
34
38
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqSelectSearch, [{ optional: true; }]>;
35
39
  static ɵdir: i0.ɵɵDirectiveDeclaration<KbqSelectSearch, "[kbqSelectSearch]", ["kbqSelectSearch"], {}, {}, never, never, true, never>;
36
40
  }
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, true, never>;
40
- }
41
41
  /**
42
42
  * Abstract class representing a customizable select component with an overlay.
43
43
  *
@@ -24,8 +24,8 @@
24
24
  vertical-align: middle;
25
25
  flex-shrink: 0;
26
26
 
27
- & .kbq-checkbox-checkmark,
28
- & .kbq-checkbox-mixedmark {
27
+ .kbq-checkbox-checkmark,
28
+ .kbq-checkbox-mixedmark {
29
29
  display: none;
30
30
  }
31
31
 
@@ -0,0 +1,79 @@
1
+ @use 'sass:map';
2
+
3
+ @mixin border-top-radius($radius) {
4
+ border-top-right-radius: $radius;
5
+ border-top-left-radius: $radius;
6
+ }
7
+
8
+ @mixin border-bottom-radius($radius) {
9
+ border-bottom-right-radius: $radius;
10
+ border-bottom-left-radius: $radius;
11
+ }
12
+
13
+ @mixin border-right-radius($radius) {
14
+ border-bottom-right-radius: $radius;
15
+ border-top-right-radius: $radius;
16
+ }
17
+
18
+ @mixin border-left-radius($radius) {
19
+ border-bottom-left-radius: $radius;
20
+ border-top-left-radius: $radius;
21
+ }
22
+
23
+ @mixin group($item-selector: kbq-group-item) {
24
+ & {
25
+ display: flex;
26
+ flex-direction: row;
27
+
28
+ &_justified {
29
+ > #{$item-selector} {
30
+ width: 100%;
31
+ }
32
+ }
33
+
34
+ #{$item-selector} + #{$item-selector} {
35
+ margin-left: calc(-1 * #{var(--kbq-size-border-width)});
36
+ }
37
+
38
+ & > #{$item-selector}:first-child:not(:last-child) {
39
+ @include border-right-radius(0);
40
+ }
41
+
42
+ & > #{$item-selector}:last-child:not(:first-child) {
43
+ @include border-left-radius(0);
44
+ }
45
+
46
+ & > #{$item-selector}:not(:first-child):not(:last-child) {
47
+ border-radius: 0;
48
+ }
49
+ }
50
+ }
51
+
52
+ @mixin vertical-group($item-selector: kbq-group-item) {
53
+ & {
54
+ display: flex;
55
+ flex-direction: column;
56
+
57
+ > #{$item-selector} {
58
+ &:first-child:not(:last-child) {
59
+ @include border-bottom-radius(0);
60
+
61
+ border-top-right-radius: var(--kbq-size-border-radius);
62
+ }
63
+
64
+ &:last-child:not(:first-child) {
65
+ @include border-top-radius(0);
66
+
67
+ border-bottom-left-radius: var(--kbq-size-border-radius);
68
+ }
69
+
70
+ &:not(:first-child):not(:last-child) {
71
+ border-radius: 0;
72
+ }
73
+ }
74
+
75
+ #{$item-selector} + #{$item-selector} {
76
+ margin-top: calc(-1 * #{var(--kbq-size-border-width)});
77
+ }
78
+ }
79
+ }
@@ -1,3 +1,5 @@
1
+ @use './groups-mixins';
2
+
1
3
  @mixin border-top-radius($radius) {
2
4
  border-top: {
3
5
  right-radius: $radius;
@@ -27,38 +29,21 @@
27
29
  }
28
30
 
29
31
  .kbq-group {
30
- display: flex;
31
- flex-direction: row;
32
-
33
- .kbq-group_justified {
34
- > .kbq-group-item {
35
- width: 100%;
36
- }
37
- }
38
-
39
- .kbq-group-item + .kbq-group-item {
40
- margin-left: calc(-1 * #{var(--kbq-size-border-width)});
41
- }
32
+ @include groups-mixins.group();
42
33
 
43
34
  & > .kbq-group-item:first-child:not(:last-child) {
44
- @include border-right-radius(0);
45
-
46
35
  > .kbq-form-field__container {
47
36
  @include border-right-radius(0);
48
37
  }
49
38
  }
50
39
 
51
40
  & > .kbq-group-item:last-child:not(:first-child) {
52
- @include border-left-radius(0);
53
-
54
41
  > .kbq-form-field__container {
55
42
  @include border-left-radius(0);
56
43
  }
57
44
  }
58
45
 
59
46
  & > .kbq-group-item:not(:first-child):not(:last-child) {
60
- border-radius: 0;
61
-
62
47
  > .kbq-form-field__container {
63
48
  border-radius: 0;
64
49
  }
@@ -66,40 +51,25 @@
66
51
  }
67
52
 
68
53
  .kbq-vertical-group {
69
- display: flex;
70
- flex-direction: column;
54
+ @include groups-mixins.vertical-group();
71
55
 
72
56
  > .kbq-group-item {
73
57
  &:first-child:not(:last-child) {
74
- @include border-bottom-radius(0);
75
-
76
- border-top-right-radius: var(--kbq-size-border-radius);
77
-
78
58
  > .kbq-form-field__container {
79
59
  @include border-bottom-radius(0);
80
60
  }
81
61
  }
82
62
 
83
63
  &:last-child:not(:first-child) {
84
- @include border-top-radius(0);
85
-
86
- border-bottom-left-radius: var(--kbq-size-border-radius);
87
-
88
64
  > .kbq-form-field__container {
89
65
  @include border-top-radius(0);
90
66
  }
91
67
  }
92
68
 
93
69
  &:not(:first-child):not(:last-child) {
94
- border-radius: 0;
95
-
96
70
  > .kbq-form-field__container {
97
71
  border-radius: 0;
98
72
  }
99
73
  }
100
74
  }
101
-
102
- .kbq-group-item + .kbq-group-item {
103
- margin-top: calc(-1 * #{var(--kbq-size-border-width)});
104
- }
105
75
  }
@@ -9,7 +9,7 @@ $overlay-backdrop-z-index: 1000 !default;
9
9
  $overlay-backdrop-color: rgba(0, 0, 0, 0.5) !default;
10
10
 
11
11
  // Default backdrop animation is based on the Material Design swift-ease-out.
12
- $backdrop-animation-duration: 400ms !default;
12
+ $backdrop-animation-duration: 300ms !default;
13
13
  $backdrop-animation-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1) !default;
14
14
 
15
15
  /// Emits structural styles required for cdk/overlay to function.
@@ -75,6 +75,10 @@ $backdrop-animation-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1) !default;
75
75
  // todo перепроверить
76
76
  margin: 0;
77
77
  padding: 0;
78
+
79
+ &.cdk-overlay-pane_ignore-pointer-events {
80
+ pointer-events: none !important;
81
+ }
78
82
  }
79
83
 
80
84
  .cdk-overlay-backdrop {
@@ -182,10 +182,14 @@
182
182
  display: flex;
183
183
  flex-direction: row;
184
184
  align-items: center;
185
+ justify-content: center;
185
186
  box-sizing: border-box;
186
187
 
187
188
  position: relative;
188
189
 
190
+ margin-bottom: var(--kbq-size-3xl);
191
+ margin-top: var(--kbq-size-3xl);
192
+
189
193
  max-width: 100%;
190
194
  height: var(--kbq-option-size-height, var(--kbq-size-3xl));
191
195
 
@@ -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-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);
9
+ --kbq-scrollbar-thumb-default-background: var(--kbq-semantic-contrast-a3, var(--kbq-palette-grey-50-a32));
10
+ --kbq-scrollbar-thumb-hover-background: var(--kbq-semantic-contrast-a4, var(--kbq-palette-grey-50-a48));
11
+ --kbq-scrollbar-thumb-active-background: var(--kbq-semantic-contrast-a5, 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;
@@ -19,7 +19,7 @@
19
19
  }
20
20
 
21
21
  :where(.kbq-dark .kbq-scrollbar) {
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);
22
+ --kbq-scrollbar-thumb-default-background: var(--kbq-semantic-dark-contrast-a9, var(--kbq-palette-grey-50-a48));
23
+ --kbq-scrollbar-thumb-hover-background: var(--kbq-semantic-dark-contrast-a10, var(--kbq-palette-grey-50-a60));
24
+ --kbq-scrollbar-thumb-active-background: var(--kbq-semantic-dark-contrast-a11, var(--kbq-palette-grey-50-a80));
25
25
  }
@@ -2,8 +2,6 @@
2
2
 
3
3
  @use '../../styles/common/rtl';
4
4
 
5
- @use '../common/tokens' as *;
6
-
7
5
  /*
8
6
  * Responsive attributes
9
7
  *
@@ -5,6 +5,8 @@ export declare const isUndefined: (value: unknown) => value is undefined;
5
5
  export declare const isNull: (value: unknown) => value is null;
6
6
  /** Whether the value is HTMLElement. */
7
7
  export declare const isHtmlElement: (value: unknown) => value is HTMLElement;
8
+ /** Whether the value is Element. */
9
+ export declare const isElement: (value: unknown) => value is Element;
8
10
  /** Whether the value is HTMLElement or null. */
9
11
  export declare const isHtmlElementOrNull: (value: unknown) => value is HTMLElement | null;
10
12
  /**
@@ -49,6 +49,7 @@ export declare class KbqDatepickerInput<D> implements KbqFormFieldControl<D>, Co
49
49
  protected readonly formField: KbqFormField | null;
50
50
  /** @docs-private */
51
51
  protected readonly localeService: import("@koobiq/components/core").KbqLocaleService | null;
52
+ private readonly useLegacyValidation;
52
53
  /** @docs-private */
53
54
  protected readonly externalConfiguration: unknown;
54
55
  protected configuration: any;
@@ -33,6 +33,8 @@ export declare class KbqDropdownTrigger implements AfterContentInit, OnDestroy {
33
33
  private _dir;
34
34
  private changeDetectorRef;
35
35
  private focusMonitor?;
36
+ private readonly overlayContainer;
37
+ private readonly renderer;
36
38
  protected readonly isBrowser: boolean;
37
39
  private readonly window;
38
40
  lastDestroyReason: DropdownCloseReason;
@@ -67,6 +69,7 @@ export declare class KbqDropdownTrigger implements AfterContentInit, OnDestroy {
67
69
  private overlayRef;
68
70
  private closeSubscription;
69
71
  private hoverSubscription;
72
+ private classAddedToOverlayContainer;
70
73
  constructor(overlay: Overlay, elementRef: ElementRef<HTMLElement>, viewContainerRef: ViewContainerRef, scrollStrategy: any, parent: KbqDropdown, dropdownItemInstance: KbqDropdownItem, _dir: Directionality, changeDetectorRef: ChangeDetectorRef, focusMonitor?: FocusMonitor | undefined);
71
74
  ngAfterContentInit(): void;
72
75
  ngOnDestroy(): void;
@@ -137,6 +140,8 @@ export declare class KbqDropdownTrigger implements AfterContentInit, OnDestroy {
137
140
  /** Gets the portal that should be attached to the overlay. */
138
141
  private getPortal;
139
142
  private getWidth;
143
+ private addClassToOverlayContainer;
144
+ private removeClassFromOverlayContainer;
140
145
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqDropdownTrigger, [null, null, null, null, { optional: true; }, { optional: true; self: true; }, { optional: true; }, null, null]>;
141
146
  static ɵdir: i0.ɵɵDirectiveDeclaration<KbqDropdownTrigger, "[kbqDropdownTriggerFor]", ["kbqDropdownTrigger"], { "offsetX": { "alias": "offsetX"; "required": false; }; "offsetY": { "alias": "offsetY"; "required": false; }; "data": { "alias": "kbqDropdownTriggerData"; "required": false; }; "openByArrowDown": { "alias": "openByArrowDown"; "required": false; }; "restoreFocus": { "alias": "kbqDropdownTriggerRestoreFocus"; "required": false; }; "dropdown": { "alias": "kbqDropdownTriggerFor"; "required": false; }; }, { "dropdownOpened": "dropdownOpened"; "dropdownClosed": "dropdownClosed"; }, never, never, true, never>;
142
147
  static ngAcceptInputType_offsetX: unknown;
@@ -15,6 +15,7 @@ export declare class KbqDropdown implements AfterContentInit, KbqDropdownPanel,
15
15
  private elementRef;
16
16
  private ngZone;
17
17
  private defaultOptions;
18
+ private search?;
18
19
  navigationWithWrap: boolean;
19
20
  /** Position of the dropdown in the X axis. */
20
21
  get xPosition(): DropdownPositionX;
@@ -121,5 +122,5 @@ export declare class KbqDropdown implements AfterContentInit, KbqDropdownPanel,
121
122
  */
122
123
  private updateDirectDescendants;
123
124
  static ɵfac: i0.ɵɵFactoryDeclaration<KbqDropdown, never>;
124
- static ɵcmp: i0.ɵɵComponentDeclaration<KbqDropdown, "kbq-dropdown", ["kbqDropdown"], { "navigationWithWrap": { "alias": "navigationWithWrap"; "required": false; }; "xPosition": { "alias": "xPosition"; "required": false; }; "yPosition": { "alias": "yPosition"; "required": false; }; "overlapTriggerY": { "alias": "overlapTriggerY"; "required": false; }; "overlapTriggerX": { "alias": "overlapTriggerX"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "panelClass": { "alias": "class"; "required": false; }; "backdropClass": { "alias": "backdropClass"; "required": false; }; }, { "closed": "closed"; }, ["lazyContent", "items"], ["*", "[kbqDropdownStaticContent]"], true, never>;
125
+ static ɵcmp: i0.ɵɵComponentDeclaration<KbqDropdown, "kbq-dropdown", ["kbqDropdown"], { "navigationWithWrap": { "alias": "navigationWithWrap"; "required": false; }; "xPosition": { "alias": "xPosition"; "required": false; }; "yPosition": { "alias": "yPosition"; "required": false; }; "overlapTriggerY": { "alias": "overlapTriggerY"; "required": false; }; "overlapTriggerX": { "alias": "overlapTriggerX"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "panelClass": { "alias": "class"; "required": false; }; "backdropClass": { "alias": "backdropClass"; "required": false; }; }, { "closed": "closed"; }, ["search", "lazyContent", "items"], ["*", "[kbqDropdownStaticContent]"], true, never>;
125
126
  }
@@ -3,7 +3,6 @@ import { KbqTooltipTrigger } from '@koobiq/components/tooltip';
3
3
  import { Subject } from 'rxjs';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class KbqEllipsisCenterDirective extends KbqTooltipTrigger implements OnInit, AfterViewInit, OnDestroy {
6
- private renderer;
7
6
  private cdr;
8
7
  set kbqEllipsisCenter(value: string);
9
8
  minVisibleLength: number;