@koobiq/components 18.36.0 → 18.37.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.
- package/autocomplete/autocomplete.scss +2 -17
- package/breadcrumbs/breadcrumbs.d.ts +2 -1
- package/breadcrumbs/breadcrumbs.scss +4 -4
- package/button/button.component.d.ts +1 -0
- package/button-toggle/button-toggle.scss +0 -2
- package/content-panel/content-panel.d.ts +1 -1
- package/content-panel/index.d.ts +0 -1
- package/core/common-behaviors/hover.d.ts +15 -0
- package/core/common-behaviors/index.d.ts +1 -1
- package/core/locales/formatters.d.ts +0 -72
- package/core/locales/index.d.ts +0 -2
- package/core/locales/locale-service.d.ts +0 -392
- package/core/option/option.d.ts +3 -2
- package/core/select/common.d.ts +3 -1
- package/core/styles/common/_select.scss +20 -0
- package/core/styles/typography/_typography.scss +23 -82
- package/datepicker/datepicker-module.d.ts +2 -1
- package/dropdown/dropdown-item.scss +8 -7
- package/dropdown/dropdown.scss +5 -14
- package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +4 -4
- package/esm2022/breadcrumbs/breadcrumbs.mjs +46 -37
- package/esm2022/button/button.component.mjs +6 -4
- package/esm2022/button-toggle/button-toggle.component.mjs +2 -2
- package/esm2022/code-block/code-block-highlight.mjs +6 -1
- package/esm2022/content-panel/content-panel.mjs +2 -2
- package/esm2022/content-panel/index.mjs +1 -2
- package/esm2022/core/common-behaviors/color.mjs +2 -1
- package/esm2022/core/common-behaviors/common-module.mjs +2 -1
- package/esm2022/core/common-behaviors/disabled.mjs +2 -1
- package/esm2022/core/common-behaviors/error-state.mjs +2 -1
- package/esm2022/core/common-behaviors/hover.mjs +34 -0
- package/esm2022/core/common-behaviors/index.mjs +2 -2
- package/esm2022/core/common-behaviors/tabindex.mjs +2 -1
- package/esm2022/core/form-field/field-sizing-content.mjs +5 -2
- package/esm2022/core/formatters/number/formatter.mjs +2 -2
- package/esm2022/core/locales/es-LA.mjs +10 -10
- package/esm2022/core/locales/formatters.mjs +1 -73
- package/esm2022/core/locales/index.mjs +1 -3
- package/esm2022/core/locales/locale-service.mjs +2 -8
- package/esm2022/core/locales/pt-BR.mjs +19 -19
- package/esm2022/core/locales/tk-TM.mjs +24 -24
- package/esm2022/core/option/option.mjs +10 -6
- package/esm2022/core/pop-up/pop-up-trigger.mjs +2 -1
- package/esm2022/core/select/common.mjs +10 -4
- package/esm2022/core/version.mjs +2 -2
- package/esm2022/datepicker/calendar-header.component.mjs +5 -4
- package/esm2022/datepicker/datepicker-module.mjs +7 -4
- package/esm2022/dropdown/dropdown-item.component.mjs +2 -2
- package/esm2022/dropdown/dropdown.component.mjs +3 -3
- package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +5 -2
- package/esm2022/file-upload/file-drop.mjs +5 -3
- package/esm2022/file-upload/multiple-file-upload.component.mjs +9 -13
- package/esm2022/file-upload/single-file-upload.component.mjs +9 -4
- package/esm2022/filter-bar/filter-bar.mjs +6 -2
- package/esm2022/filter-bar/filter-search.mjs +3 -3
- package/esm2022/filter-bar/filters.mjs +10 -5
- package/esm2022/filter-bar/pipe-add.mjs +3 -2
- package/esm2022/filter-bar/pipes/base-pipe.mjs +11 -3
- package/esm2022/filter-bar/pipes/pipe-date.mjs +3 -3
- package/esm2022/filter-bar/pipes/pipe-datetime.mjs +3 -3
- package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +5 -4
- package/esm2022/filter-bar/pipes/pipe-multi-tree-select.mjs +2 -2
- package/esm2022/filter-bar/pipes/pipe-select.mjs +2 -2
- package/esm2022/filter-bar/pipes/pipe-text.mjs +2 -2
- package/esm2022/filter-bar/pipes/pipe-title.mjs +24 -19
- package/esm2022/filter-bar/pipes/pipe-tree-select.mjs +2 -2
- package/esm2022/form-field/fieldset.mjs +2 -2
- package/esm2022/form-field/form-field.mjs +2 -2
- package/esm2022/form-field/stepper.mjs +41 -10
- package/esm2022/inline-edit/inline-edit.mjs +9 -5
- package/esm2022/input/input-number.mjs +7 -6
- package/esm2022/input/input.module.mjs +7 -4
- package/esm2022/list/list-selection.component.mjs +31 -15
- package/esm2022/markdown/markdown.component.mjs +7 -7
- package/esm2022/modal/modal-util.mjs +7 -3
- package/esm2022/modal/modal.component.mjs +2 -2
- package/esm2022/modal/modal.service.mjs +2 -1
- package/esm2022/navbar/navbar-item.component.mjs +5 -7
- package/esm2022/navbar/navbar.component.mjs +8 -4
- package/esm2022/navbar/vertical-navbar.component.mjs +2 -2
- package/esm2022/navbar-ic/navbar-ic-header.mjs +20 -4
- package/esm2022/navbar-ic/navbar-ic-item.mjs +7 -8
- package/esm2022/navbar-ic/navbar-ic.animation.mjs +10 -2
- package/esm2022/navbar-ic/navbar-ic.mjs +33 -9
- package/esm2022/popover/popover-confirm.component.mjs +3 -3
- package/esm2022/popover/popover.component.mjs +17 -4
- package/esm2022/resizer/index.mjs +3 -0
- package/esm2022/resizer/koobiq-components-resizer.mjs +5 -0
- package/esm2022/resizer/module.mjs +17 -0
- package/esm2022/resizer/resizer.mjs +135 -0
- package/esm2022/scrollbar/scrollbar.directive.mjs +4 -3
- package/esm2022/search-expandable/search-expandable.mjs +5 -5
- package/esm2022/select/select.component.mjs +2 -14
- package/esm2022/select/select.module.mjs +8 -4
- package/esm2022/sidepanel/sidepanel-container.component.mjs +3 -3
- package/esm2022/split-button/split-button.mjs +47 -6
- package/esm2022/tags/tag-input.mjs +24 -28
- package/esm2022/tags/tag-list.component.mjs +76 -87
- package/esm2022/tags/tag.component.mjs +29 -34
- package/esm2022/textarea/textarea.module.mjs +5 -4
- package/esm2022/time-range/constants.mjs +22 -1
- package/esm2022/time-range/time-range-editor.mjs +11 -6
- package/esm2022/time-range/time-range-title-as-form-field.mjs +2 -1
- package/esm2022/time-range/time-range.mjs +8 -3
- package/esm2022/time-range/time-range.service.mjs +43 -106
- package/esm2022/time-range/types.mjs +1 -1
- package/esm2022/timepicker/timepicker.module.mjs +5 -4
- package/esm2022/timezone/timezone-option.component.mjs +2 -2
- package/esm2022/timezone/timezone.module.mjs +6 -4
- package/esm2022/title/title.directive.mjs +6 -2
- package/esm2022/toggle/toggle.component.mjs +3 -3
- package/esm2022/top-bar/top-bar.mjs +2 -2
- package/esm2022/tree/tree-option.component.mjs +7 -6
- package/esm2022/tree/tree-selection.component.mjs +23 -13
- package/esm2022/tree-select/tree-select.component.mjs +97 -79
- package/esm2022/tree-select/tree-select.module.mjs +7 -4
- package/fesm2022/koobiq-components-autocomplete.mjs +3 -3
- package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
- package/fesm2022/koobiq-components-breadcrumbs.mjs +45 -36
- package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +2 -2
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-button.mjs +5 -3
- package/fesm2022/koobiq-components-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +5 -0
- package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
- package/fesm2022/koobiq-components-content-panel.mjs +3 -137
- package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +90 -478
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +8 -5
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +4 -4
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-ellipsis-center.mjs +4 -1
- package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-file-upload.mjs +19 -17
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-filter-bar.mjs +64 -41
- package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +44 -17
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-inline-edit.mjs +8 -4
- package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
- package/fesm2022/koobiq-components-input.mjs +12 -9
- package/fesm2022/koobiq-components-input.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +30 -14
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-markdown.mjs +6 -6
- package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +9 -4
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar-ic.mjs +70 -26
- package/fesm2022/koobiq-components-navbar-ic.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +13 -11
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +18 -5
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-resizer.mjs +156 -0
- package/fesm2022/koobiq-components-resizer.mjs.map +1 -0
- package/fesm2022/koobiq-components-scrollbar.mjs +3 -2
- package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-search-expandable.mjs +4 -4
- package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +8 -17
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidepanel.mjs +2 -2
- package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
- package/fesm2022/koobiq-components-split-button.mjs +46 -5
- package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +125 -146
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-textarea.mjs +4 -4
- package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
- package/fesm2022/koobiq-components-time-range.mjs +81 -112
- package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
- package/fesm2022/koobiq-components-timepicker.mjs +4 -4
- package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-timezone.mjs +7 -5
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-title.mjs +5 -1
- package/fesm2022/koobiq-components-title.mjs.map +1 -1
- package/fesm2022/koobiq-components-toggle.mjs +2 -2
- package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-top-bar.mjs +2 -2
- package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +102 -82
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +28 -17
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/file-upload/_file-upload-theme.scss +32 -34
- package/file-upload/file-upload-tokens.scss +1 -2
- package/file-upload/file-upload.scss +4 -7
- package/file-upload/multiple-file-upload.component.d.ts +1 -1
- package/file-upload/multiple-file-upload.component.scss +12 -14
- package/file-upload/single-file-upload.component.d.ts +1 -0
- package/file-upload/single-file-upload.component.scss +5 -7
- package/filter-bar/filter-bar.d.ts +3 -1
- package/filter-bar/filter-search.scss +1 -3
- package/filter-bar/filters.d.ts +1 -0
- package/filter-bar/pipes/base-pipe.d.ts +5 -1
- package/filter-bar/pipes/pipe-date.scss +4 -2
- package/filter-bar/pipes/pipe-title.d.ts +2 -0
- package/form-field/fieldset-tokens.scss +2 -1
- package/form-field/form-field-tokens.scss +2 -2
- package/form-field/form-field.scss +9 -1
- package/form-field/stepper.d.ts +28 -6
- package/inline-edit/inline-edit.d.ts +5 -1
- package/input/input.module.d.ts +2 -1
- package/list/list-selection.component.d.ts +12 -1
- package/markdown/_markdown-theme.scss +0 -1
- package/markdown/markdown.scss +2 -4
- package/modal/modal-tokens.scss +2 -1
- package/modal/modal-util.d.ts +5 -2
- package/modal/modal.scss +3 -4
- package/navbar/_navbar-item_vertical.scss +10 -0
- package/navbar/navbar-brand.scss +5 -2
- package/navbar/vertical-navbar.scss +1 -0
- package/navbar-ic/navbar-ic-header.d.ts +3 -2
- package/navbar-ic/navbar-ic-header.scss +0 -4
- package/navbar-ic/navbar-ic-item.d.ts +1 -0
- package/navbar-ic/navbar-ic-item.scss +0 -4
- package/navbar-ic/navbar-ic.animation.d.ts +1 -0
- package/navbar-ic/navbar-ic.d.ts +7 -0
- package/package.json +16 -10
- package/popover/popover-tokens.scss +1 -0
- package/popover/popover.component.d.ts +5 -1
- package/popover/popover.scss +3 -4
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/light-theme.css +1 -1
- package/prebuilt-themes/theme.css +1 -1
- package/resizer/index.d.ts +2 -0
- package/resizer/module.d.ts +7 -0
- package/{content-panel/resizable.d.ts → resizer/resizer.d.ts} +18 -13
- package/schematics/collection.json +5 -0
- package/schematics/migrations/icons-replacement/README.md +93 -0
- package/schematics/migrations/icons-replacement/data.js +92 -0
- package/schematics/migrations/icons-replacement/index.js +84 -0
- package/schematics/migrations/icons-replacement/schema.json +32 -0
- package/schematics/ng-add/index.js +6 -6
- package/scrollbar/scrollbar.component.scss +2 -3
- package/select/select.module.d.ts +2 -1
- package/select/select.scss +1 -17
- package/sidepanel/sidepanel-tokens.scss +2 -0
- package/sidepanel/sidepanel.scss +2 -0
- package/split-button/_split-button-theme.scss +89 -34
- package/split-button/split-button.d.ts +11 -5
- package/split-button/split-button.scss +40 -51
- package/tags/tag-input.d.ts +16 -7
- package/tags/tag-list.component.d.ts +44 -21
- package/tags/tag-list.scss +13 -14
- package/tags/tag.component.d.ts +20 -15
- package/textarea/textarea-tokens.scss +6 -1
- package/textarea/textarea.module.d.ts +2 -1
- package/textarea/textarea.scss +4 -0
- package/time-range/constants.d.ts +12 -1
- package/time-range/time-range-editor.d.ts +7 -9
- package/time-range/time-range-title-as-form-field.d.ts +1 -0
- package/time-range/time-range.d.ts +5 -2
- package/time-range/time-range.service.d.ts +7 -11
- package/time-range/types.d.ts +37 -11
- package/timepicker/timepicker.module.d.ts +2 -1
- package/timezone/timezone-option.component.scss +6 -0
- package/timezone/timezone.module.d.ts +1 -1
- package/toggle/_toggle-theme.scss +8 -5
- package/toggle/toggle-tokens.scss +0 -1
- package/toggle/toggle.scss +11 -15
- package/top-bar/top-bar-tokens.scss +1 -1
- package/top-bar/top-bar.scss +3 -0
- package/tree/tree-option.component.d.ts +1 -0
- package/tree/tree-selection.component.d.ts +11 -2
- package/tree-select/tree-select.component.d.ts +5 -5
- package/tree-select/tree-select.module.d.ts +2 -1
- package/tree-select/tree-select.scss +4 -0
- package/core/common-behaviors/hovered.d.ts +0 -13
- package/core/locales/fa-IR.d.ts +0 -162
- package/core/locales/zh-CN.d.ts +0 -162
- package/esm2022/content-panel/resizable.mjs +0 -138
- package/esm2022/core/common-behaviors/hovered.mjs +0 -31
- package/esm2022/core/locales/fa-IR.mjs +0 -173
- package/esm2022/core/locales/zh-CN.mjs +0 -161
|
@@ -9,8 +9,8 @@ import { kbqInjectNativeElement, KBQ_WINDOW, KbqRectangleItem, PopUpTriggers, Po
|
|
|
9
9
|
import { KbqDropdownTrigger } from '@koobiq/components/dropdown';
|
|
10
10
|
import { KbqNotificationCenterTrigger } from '@koobiq/components/notification-center';
|
|
11
11
|
import { KbqPopoverTrigger } from '@koobiq/components/popover';
|
|
12
|
-
import { Subject, merge, BehaviorSubject,
|
|
13
|
-
import { take, startWith } from 'rxjs/operators';
|
|
12
|
+
import { Subject, merge, BehaviorSubject, filter, EMPTY, timer } from 'rxjs';
|
|
13
|
+
import { take, startWith, delay, switchMap, tap, takeUntil, distinctUntilChanged } from 'rxjs/operators';
|
|
14
14
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
15
15
|
import { Platform, PlatformModule } from '@angular/cdk/platform';
|
|
16
16
|
import { KbqButton, KbqButtonCssStyler } from '@koobiq/components/button';
|
|
@@ -19,6 +19,22 @@ import { KbqIcon, KbqIconModule } from '@koobiq/components/icon';
|
|
|
19
19
|
import { KbqTooltipTrigger, TooltipModifier, KbqToolTipModule } from '@koobiq/components/tooltip';
|
|
20
20
|
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
21
21
|
|
|
22
|
+
function toggleNavbarIcAnimation() {
|
|
23
|
+
return trigger('toggle', [
|
|
24
|
+
state('0', style({ width: '64px' })),
|
|
25
|
+
state('1', style({ width: '240px' })),
|
|
26
|
+
transition('0 <=> 1', animate('200ms cubic-bezier(0.4, 0, 0.2, 1)'))
|
|
27
|
+
]);
|
|
28
|
+
}
|
|
29
|
+
function toggleNavbarIcItemAnimation() {
|
|
30
|
+
return trigger('toggle', [
|
|
31
|
+
state('expanded', style({ opacity: 1, marginLeft: 0 })),
|
|
32
|
+
state('collapsed', style({ opacity: 0, marginLeft: '-8px' })),
|
|
33
|
+
transition('collapsed => expanded', animate('200ms 150ms cubic-bezier(0.4, 0, 0.2, 1)')),
|
|
34
|
+
transition('expanded => collapsed', animate('200ms cubic-bezier(0.4, 0, 0.2, 1)'))
|
|
35
|
+
]);
|
|
36
|
+
}
|
|
37
|
+
|
|
22
38
|
/**
|
|
23
39
|
* The maximum number of characters that can be placed in a title without being wrapped.
|
|
24
40
|
*/
|
|
@@ -233,10 +249,7 @@ class KbqNavbarIcItem extends KbqTooltipTrigger {
|
|
|
233
249
|
return this.title?.text;
|
|
234
250
|
}
|
|
235
251
|
get disabled() {
|
|
236
|
-
|
|
237
|
-
return this._disabled;
|
|
238
|
-
}
|
|
239
|
-
return !this.collapsed && !this.hasCroppedText;
|
|
252
|
+
return this.collapsed || !this.hasCroppedText || this._disabled;
|
|
240
253
|
}
|
|
241
254
|
set disabled(value) {
|
|
242
255
|
this._disabled = coerceBooleanProperty(value);
|
|
@@ -253,6 +266,7 @@ class KbqNavbarIcItem extends KbqTooltipTrigger {
|
|
|
253
266
|
constructor() {
|
|
254
267
|
super();
|
|
255
268
|
this.rectangleElement = inject(KbqRectangleItem);
|
|
269
|
+
this.navbar = inject(KbqNavbarIc);
|
|
256
270
|
this.navbarFocusableItem = inject(KbqNavbarIcFocusableItem);
|
|
257
271
|
this.changeDetectorRef = inject(ChangeDetectorRef);
|
|
258
272
|
this.dropdownTrigger = inject(KbqDropdownTrigger, { optional: true });
|
|
@@ -262,7 +276,7 @@ class KbqNavbarIcItem extends KbqTooltipTrigger {
|
|
|
262
276
|
this.dropdownTrigger.openByArrowDown = false;
|
|
263
277
|
}
|
|
264
278
|
this.rectangleElement.state.subscribe(() => {
|
|
265
|
-
this.collapsed = this.rectangleElement.collapsed;
|
|
279
|
+
this.disabled = this.collapsed = this.rectangleElement.collapsed;
|
|
266
280
|
this.changeDetectorRef.markForCheck();
|
|
267
281
|
});
|
|
268
282
|
this._trigger = `${PopUpTriggers.Hover}`;
|
|
@@ -303,7 +317,7 @@ class KbqNavbarIcItem extends KbqTooltipTrigger {
|
|
|
303
317
|
}
|
|
304
318
|
}
|
|
305
319
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqNavbarIcItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
306
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: KbqNavbarIcItem, isStandalone: true, selector: "kbq-navbar-ic-item, [kbq-navbar-ic-item]", inputs: { trigger: ["kbqTrigger", "trigger"] }, host: { listeners: { "keydown": "onKeyDown($event)" }, properties: { "class.kbq-navbar-ic-item_with-title": "!!title" }, classAttribute: "kbq-navbar-ic-item" }, queries: [{ propertyName: "title", first: true, predicate: KbqNavbarIcTitle, descendants: true }, { propertyName: "icon", first: true, predicate: KbqIcon, descendants: true }, { propertyName: "button", first: true, predicate: KbqButtonCssStyler, descendants: true }], exportAs: ["kbqNavbarIcItem"], usesInheritance: true, hostDirectives: [{ directive: i1.KbqRectangleItem }], ngImport: i0, template: "<div class=\"kbq-navbar-ic-item__inner\">\n <ng-content select=\"[kbq-icon]\" />\n\n @if (title && !collapsed) {\n <div class=\"kbq-navbar-ic-item__title-container\">\n <ng-content select=\"[kbqNavbarIcTitle]\" />\n\n @if (showDropDownAngle) {\n <i kbq-icon=\"kbq-chevron-right_16\" class=\"kbq-navbar-ic-item__arrow-icon\"></i>\n }\n </div>\n }\n\n <ng-content />\n</div>\n", styles: [".kbq-navbar-ic-item{box-sizing:border-box;display:flex;padding:var(--kbq-size-3xs) var(--kbq-size-m)}.kbq-navbar-ic-item .kbq-icon{min-width:var(--kbq-size-l);min-height:var(--kbq-size-l)}.kbq-navbar-ic-item .kbq-navbar-ic-item__title-container{gap:var(--kbq-size-m)}.kbq-navbar-ic-item.kbq-collapsed .kbq-badge{position:absolute;z-index:1;top:0;right:0}.kbq-navbar-ic-item
|
|
320
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: KbqNavbarIcItem, isStandalone: true, selector: "kbq-navbar-ic-item, [kbq-navbar-ic-item]", inputs: { trigger: ["kbqTrigger", "trigger"] }, host: { listeners: { "keydown": "onKeyDown($event)" }, properties: { "class.kbq-navbar-ic-item_with-title": "!!title" }, classAttribute: "kbq-navbar-ic-item" }, queries: [{ propertyName: "title", first: true, predicate: KbqNavbarIcTitle, descendants: true }, { propertyName: "icon", first: true, predicate: KbqIcon, descendants: true }, { propertyName: "button", first: true, predicate: KbqButtonCssStyler, descendants: true }], exportAs: ["kbqNavbarIcItem"], usesInheritance: true, hostDirectives: [{ directive: i1.KbqRectangleItem }], ngImport: i0, template: "<div class=\"kbq-navbar-ic-item__inner\">\n <ng-content select=\"[kbq-icon]\" />\n\n @if (title && !collapsed) {\n <div class=\"kbq-navbar-ic-item__title-container\" [@toggle]=\"navbar.state.value\">\n <ng-content select=\"[kbqNavbarIcTitle]\" />\n\n @if (showDropDownAngle) {\n <i kbq-icon=\"kbq-chevron-right_16\" class=\"kbq-navbar-ic-item__arrow-icon\"></i>\n }\n </div>\n }\n\n <ng-content />\n</div>\n", styles: [".kbq-navbar-ic-item{box-sizing:border-box;display:flex;padding:var(--kbq-size-3xs) var(--kbq-size-m)}.kbq-navbar-ic-item .kbq-icon{min-width:var(--kbq-size-l);min-height:var(--kbq-size-l)}.kbq-navbar-ic-item .kbq-navbar-ic-item__title-container{gap:var(--kbq-size-m)}.kbq-navbar-ic-item.kbq-collapsed .kbq-badge{position:absolute;z-index:1;top:0;right:0}.kbq-navbar-ic-item>.kbq-icon{display:flex;justify-content:center;align-items:center}.kbq-navbar-ic-item__inner{position:relative;display:flex;align-items:center;height:36px;width:100%;max-width:calc(100% - var(--kbq-size-xxl));gap:var(--kbq-size-m);padding-left:var(--kbq-size-m);padding-right:var(--kbq-size-m);border-radius:var(--kbq-navbar-ic-item-size-content-border-radius)}.kbq-navbar-ic-title{display:inline-block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kbq-navbar-ic-item__title-container{display:flex;flex-direction:row;flex:1 1 auto;justify-content:space-between;min-width:0}.kbq-navbar-ic-item__title-container .kbq-icon{align-self:center}a.kbq-navbar-ic-item,a.kbq-navbar-ic-title{text-decoration:none}.kbq-navbar-ic-item [kbq-button],.kbq-navbar-ic-header [kbq-button],.kbq-navbar-ic-toggle [kbq-button]{z-index:1}.kbq-navbar-ic-toggle .kbq-navbar-ic-item__inner{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}\n"], dependencies: [{ kind: "component", type: KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }], animations: [toggleNavbarIcItemAnimation()], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
307
321
|
}
|
|
308
322
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqNavbarIcItem, decorators: [{
|
|
309
323
|
type: Component,
|
|
@@ -311,7 +325,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
311
325
|
class: 'kbq-navbar-ic-item',
|
|
312
326
|
'[class.kbq-navbar-ic-item_with-title]': '!!title',
|
|
313
327
|
'(keydown)': 'onKeyDown($event)'
|
|
314
|
-
}, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, hostDirectives: [KbqRectangleItem], imports: [KbqIcon], template: "<div class=\"kbq-navbar-ic-item__inner\">\n <ng-content select=\"[kbq-icon]\" />\n\n @if (title && !collapsed) {\n <div class=\"kbq-navbar-ic-item__title-container\">\n <ng-content select=\"[kbqNavbarIcTitle]\" />\n\n @if (showDropDownAngle) {\n <i kbq-icon=\"kbq-chevron-right_16\" class=\"kbq-navbar-ic-item__arrow-icon\"></i>\n }\n </div>\n }\n\n <ng-content />\n</div>\n", styles: [".kbq-navbar-ic-item{box-sizing:border-box;display:flex;padding:var(--kbq-size-3xs) var(--kbq-size-m)}.kbq-navbar-ic-item .kbq-icon{min-width:var(--kbq-size-l);min-height:var(--kbq-size-l)}.kbq-navbar-ic-item .kbq-navbar-ic-item__title-container{gap:var(--kbq-size-m)}.kbq-navbar-ic-item.kbq-collapsed .kbq-badge{position:absolute;z-index:1;top:0;right:0}.kbq-navbar-ic-item
|
|
328
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, hostDirectives: [KbqRectangleItem], imports: [KbqIcon], animations: [toggleNavbarIcItemAnimation()], template: "<div class=\"kbq-navbar-ic-item__inner\">\n <ng-content select=\"[kbq-icon]\" />\n\n @if (title && !collapsed) {\n <div class=\"kbq-navbar-ic-item__title-container\" [@toggle]=\"navbar.state.value\">\n <ng-content select=\"[kbqNavbarIcTitle]\" />\n\n @if (showDropDownAngle) {\n <i kbq-icon=\"kbq-chevron-right_16\" class=\"kbq-navbar-ic-item__arrow-icon\"></i>\n }\n </div>\n }\n\n <ng-content />\n</div>\n", styles: [".kbq-navbar-ic-item{box-sizing:border-box;display:flex;padding:var(--kbq-size-3xs) var(--kbq-size-m)}.kbq-navbar-ic-item .kbq-icon{min-width:var(--kbq-size-l);min-height:var(--kbq-size-l)}.kbq-navbar-ic-item .kbq-navbar-ic-item__title-container{gap:var(--kbq-size-m)}.kbq-navbar-ic-item.kbq-collapsed .kbq-badge{position:absolute;z-index:1;top:0;right:0}.kbq-navbar-ic-item>.kbq-icon{display:flex;justify-content:center;align-items:center}.kbq-navbar-ic-item__inner{position:relative;display:flex;align-items:center;height:36px;width:100%;max-width:calc(100% - var(--kbq-size-xxl));gap:var(--kbq-size-m);padding-left:var(--kbq-size-m);padding-right:var(--kbq-size-m);border-radius:var(--kbq-navbar-ic-item-size-content-border-radius)}.kbq-navbar-ic-title{display:inline-block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kbq-navbar-ic-item__title-container{display:flex;flex-direction:row;flex:1 1 auto;justify-content:space-between;min-width:0}.kbq-navbar-ic-item__title-container .kbq-icon{align-self:center}a.kbq-navbar-ic-item,a.kbq-navbar-ic-title{text-decoration:none}.kbq-navbar-ic-item [kbq-button],.kbq-navbar-ic-header [kbq-button],.kbq-navbar-ic-toggle [kbq-button]{z-index:1}.kbq-navbar-ic-toggle .kbq-navbar-ic-item__inner{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}\n"] }]
|
|
315
329
|
}], ctorParameters: () => [], propDecorators: { title: [{
|
|
316
330
|
type: ContentChild,
|
|
317
331
|
args: [KbqNavbarIcTitle]
|
|
@@ -394,19 +408,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
394
408
|
}, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [KbqIcon], hostDirectives: [KbqRectangleItem], styles: [".kbq-navbar-ic-container{display:flex;flex-shrink:0;flex-direction:column;justify-content:space-between}.kbq-navbar-ic{display:flex;position:relative}.kbq-navbar-ic .kbq-navbar-ic-container+.kbq-navbar-ic-container{padding-top:var(--kbq-size-xxl);padding-bottom:var(--kbq-size-m)}.kbq-navbar-ic .kbq-navbar-ic__top-layer{position:absolute;z-index:998;display:flex;flex-direction:column;justify-content:space-between;min-height:100%}.kbq-navbar-ic .kbq-navbar-ic__top-layer{background-color:var(--kbq-navbar-ic-background);box-shadow:var(--kbq-navbar-ic-border)}.kbq-navbar-ic-item,.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive,.kbq-navbar-ic-toggle{cursor:pointer}.kbq-navbar-ic-item .kbq-navbar-ic-item__inner,.kbq-navbar-ic-item .kbq-navbar-ic-header__inner,.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive .kbq-navbar-ic-item__inner,.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive .kbq-navbar-ic-header__inner,.kbq-navbar-ic-toggle .kbq-navbar-ic-item__inner,.kbq-navbar-ic-toggle .kbq-navbar-ic-header__inner{background:var(--kbq-navbar-ic-item-default-content-background)}.kbq-navbar-ic-item .kbq-navbar-ic-title,.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive .kbq-navbar-ic-title,.kbq-navbar-ic-toggle .kbq-navbar-ic-title{color:var(--kbq-navbar-ic-item-default-content-text)}.kbq-navbar-ic-item>.kbq-icon.kbq-empty,.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive>.kbq-icon.kbq-empty,.kbq-navbar-ic-toggle>.kbq-icon.kbq-empty{color:var(--kbq-navbar-ic-item-default-content-icon-left)}.kbq-navbar-ic-item .kbq-navbar-ic-item__arrow-icon,.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive .kbq-navbar-ic-item__arrow-icon,.kbq-navbar-ic-toggle .kbq-navbar-ic-item__arrow-icon{color:var(--kbq-navbar-ic-item-default-content-icon-right)}.kbq-navbar-ic-item:not(.kbq-disabled):hover .kbq-navbar-ic-item__inner,.kbq-navbar-ic-item:not(.kbq-disabled):hover .kbq-navbar-ic-header__inner,.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive:not(.kbq-disabled):hover .kbq-navbar-ic-item__inner,.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive:not(.kbq-disabled):hover .kbq-navbar-ic-header__inner,.kbq-navbar-ic-toggle:not(.kbq-disabled):hover .kbq-navbar-ic-item__inner,.kbq-navbar-ic-toggle:not(.kbq-disabled):hover .kbq-navbar-ic-header__inner{background:var(--kbq-navbar-ic-item-states-hover-content-background)}.kbq-navbar-ic-item:not(.kbq-disabled):hover .kbq-navbar-ic-title,.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive:not(.kbq-disabled):hover .kbq-navbar-ic-title,.kbq-navbar-ic-toggle:not(.kbq-disabled):hover .kbq-navbar-ic-title{color:var(--kbq-navbar-ic-item-states-hover-content-text)}.kbq-navbar-ic-item:not(.kbq-disabled):hover>.kbq-icon.kbq-empty,.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive:not(.kbq-disabled):hover>.kbq-icon.kbq-empty,.kbq-navbar-ic-toggle:not(.kbq-disabled):hover>.kbq-icon.kbq-empty{color:var(--kbq-navbar-ic-item-states-hover-content-icon-left)}.kbq-navbar-ic-item:not(.kbq-disabled):hover .kbq-navbar-ic-item__arrow-icon,.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive:not(.kbq-disabled):hover .kbq-navbar-ic-item__arrow-icon,.kbq-navbar-ic-toggle:not(.kbq-disabled):hover .kbq-navbar-ic-item__arrow-icon{color:var(--kbq-navbar-ic-item-states-hover-content-icon-right)}.kbq-navbar-ic-item:not(.kbq-disabled).cdk-keyboard-focused,.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive:not(.kbq-disabled).cdk-keyboard-focused,.kbq-navbar-ic-toggle:not(.kbq-disabled).cdk-keyboard-focused{outline:none}.kbq-navbar-ic-item:not(.kbq-disabled).cdk-keyboard-focused .kbq-navbar-ic-item__inner,.kbq-navbar-ic-item:not(.kbq-disabled).cdk-keyboard-focused .kbq-navbar-ic-header__inner,.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive:not(.kbq-disabled).cdk-keyboard-focused .kbq-navbar-ic-item__inner,.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive:not(.kbq-disabled).cdk-keyboard-focused .kbq-navbar-ic-header__inner,.kbq-navbar-ic-toggle:not(.kbq-disabled).cdk-keyboard-focused .kbq-navbar-ic-item__inner,.kbq-navbar-ic-toggle:not(.kbq-disabled).cdk-keyboard-focused .kbq-navbar-ic-header__inner{box-shadow:inset 0 0 0 2px var(--kbq-states-line-focus-theme)}.kbq-navbar-ic-item:not(.kbq-disabled).kbq-active .kbq-navbar-ic-item__inner,.kbq-navbar-ic-item:not(.kbq-disabled).kbq-active .kbq-navbar-ic-header__inner,.kbq-navbar-ic-item:not(.kbq-disabled):active .kbq-navbar-ic-item__inner,.kbq-navbar-ic-item:not(.kbq-disabled):active .kbq-navbar-ic-header__inner,.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive:not(.kbq-disabled).kbq-active .kbq-navbar-ic-item__inner,.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive:not(.kbq-disabled).kbq-active .kbq-navbar-ic-header__inner,.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive:not(.kbq-disabled):active .kbq-navbar-ic-item__inner,.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive:not(.kbq-disabled):active .kbq-navbar-ic-header__inner,.kbq-navbar-ic-toggle:not(.kbq-disabled).kbq-active .kbq-navbar-ic-item__inner,.kbq-navbar-ic-toggle:not(.kbq-disabled).kbq-active .kbq-navbar-ic-header__inner,.kbq-navbar-ic-toggle:not(.kbq-disabled):active .kbq-navbar-ic-item__inner,.kbq-navbar-ic-toggle:not(.kbq-disabled):active .kbq-navbar-ic-header__inner{background:var(--kbq-navbar-ic-item-states-selected-content-background)}.kbq-navbar-ic-item:not(.kbq-disabled).kbq-active .kbq-navbar-ic-title,.kbq-navbar-ic-item:not(.kbq-disabled):active .kbq-navbar-ic-title,.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive:not(.kbq-disabled).kbq-active .kbq-navbar-ic-title,.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive:not(.kbq-disabled):active .kbq-navbar-ic-title,.kbq-navbar-ic-toggle:not(.kbq-disabled).kbq-active .kbq-navbar-ic-title,.kbq-navbar-ic-toggle:not(.kbq-disabled):active .kbq-navbar-ic-title{color:var(--kbq-navbar-ic-item-states-selected-content-text)}.kbq-navbar-ic-item:not(.kbq-disabled).kbq-active>.kbq-icon.kbq-empty,.kbq-navbar-ic-item:not(.kbq-disabled):active>.kbq-icon.kbq-empty,.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive:not(.kbq-disabled).kbq-active>.kbq-icon.kbq-empty,.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive:not(.kbq-disabled):active>.kbq-icon.kbq-empty,.kbq-navbar-ic-toggle:not(.kbq-disabled).kbq-active>.kbq-icon.kbq-empty,.kbq-navbar-ic-toggle:not(.kbq-disabled):active>.kbq-icon.kbq-empty{color:var(--kbq-navbar-ic-item-states-selected-content-icon-left)}.kbq-navbar-ic-item:not(.kbq-disabled).kbq-active .kbq-navbar-ic-item__arrow-icon,.kbq-navbar-ic-item:not(.kbq-disabled):active .kbq-navbar-ic-item__arrow-icon,.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive:not(.kbq-disabled).kbq-active .kbq-navbar-ic-item__arrow-icon,.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive:not(.kbq-disabled):active .kbq-navbar-ic-item__arrow-icon,.kbq-navbar-ic-toggle:not(.kbq-disabled).kbq-active .kbq-navbar-ic-item__arrow-icon,.kbq-navbar-ic-toggle:not(.kbq-disabled):active .kbq-navbar-ic-item__arrow-icon{color:var(--kbq-navbar-ic-item-states-selected-content-icon-right)}.kbq-navbar-ic-item.kbq-disabled,.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive.kbq-disabled,.kbq-navbar-ic-toggle.kbq-disabled{pointer-events:none;cursor:default}.kbq-navbar-ic-item.kbq-disabled .kbq-navbar-ic-item__inner,.kbq-navbar-ic-item.kbq-disabled .kbq-navbar-ic-header__inner,.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive.kbq-disabled .kbq-navbar-ic-item__inner,.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive.kbq-disabled .kbq-navbar-ic-header__inner,.kbq-navbar-ic-toggle.kbq-disabled .kbq-navbar-ic-item__inner,.kbq-navbar-ic-toggle.kbq-disabled .kbq-navbar-ic-header__inner{background:var(--kbq-navbar-ic-item-states-disabled-content-background)}.kbq-navbar-ic-item.kbq-disabled .kbq-navbar-ic-title,.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive.kbq-disabled .kbq-navbar-ic-title,.kbq-navbar-ic-toggle.kbq-disabled .kbq-navbar-ic-title{color:var(--kbq-navbar-ic-item-states-disabled-content-text)}.kbq-navbar-ic-item.kbq-disabled>.kbq-icon.kbq-empty,.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive.kbq-disabled>.kbq-icon.kbq-empty,.kbq-navbar-ic-toggle.kbq-disabled>.kbq-icon.kbq-empty{color:var(--kbq-navbar-ic-item-states-disabled-content-icon-left)}.kbq-navbar-ic-item.kbq-disabled .kbq-navbar-ic-item__arrow-icon,.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive.kbq-disabled .kbq-navbar-ic-item__arrow-icon,.kbq-navbar-ic-toggle.kbq-disabled .kbq-navbar-ic-item__arrow-icon{color:var(--kbq-navbar-ic-item-states-disabled-content-icon-right)}.kbq-navbar-ic-divider{background:var(--kbq-line-contrast-less)}.kbq-navbar-ic-title{font-size:var(--kbq-typography-text-normal-medium-font-size);font-style:var(--kbq-typography-text-normal-medium-font-style);font-weight:var(--kbq-typography-text-normal-medium-font-weight);line-height:var(--kbq-typography-text-normal-medium-line-height);font-family:var(--kbq-typography-text-normal-medium-font-family);text-transform:var(--kbq-typography-text-normal-medium-text-transform);font-feature-settings:var(--kbq-typography-text-normal-medium-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-medium-letter-spacing)}.kbq-navbar-ic-header .kbq-navbar-ic-title{font-size:var(--kbq-typography-text-big-strong-font-size);font-style:var(--kbq-typography-text-big-strong-font-style);font-weight:var(--kbq-typography-text-big-strong-font-weight);line-height:var(--kbq-typography-text-big-strong-line-height);font-family:var(--kbq-typography-text-big-strong-font-family);text-transform:var(--kbq-typography-text-big-strong-text-transform);font-feature-settings:var(--kbq-typography-text-big-strong-font-feature-settings);letter-spacing:var(--kbq-typography-text-big-strong-letter-spacing)}.kbq-navbar-ic-header .kbq-navbar-ic-title.kbq-navbar-ic-title_text-overflown{font-size:var(--kbq-typography-text-compact-strong-font-size);font-style:var(--kbq-typography-text-compact-strong-font-style);font-weight:var(--kbq-typography-text-compact-strong-font-weight);line-height:var(--kbq-typography-text-compact-strong-line-height);font-family:var(--kbq-typography-text-compact-strong-font-family);text-transform:var(--kbq-typography-text-compact-strong-text-transform);font-feature-settings:var(--kbq-typography-text-compact-strong-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-strong-letter-spacing);line-height:12px}\n"] }]
|
|
395
409
|
}], ctorParameters: () => [] });
|
|
396
410
|
|
|
397
|
-
function toggleNavbarIcAnimation() {
|
|
398
|
-
return trigger('toggle', [
|
|
399
|
-
state('0', style({ width: '64px' })),
|
|
400
|
-
state('1', style({ width: '240px' })),
|
|
401
|
-
transition('0 <=> 1', animate('150ms ease-out'))
|
|
402
|
-
]);
|
|
403
|
-
}
|
|
404
|
-
|
|
405
411
|
var KbqExpandEvents;
|
|
406
412
|
(function (KbqExpandEvents) {
|
|
407
413
|
KbqExpandEvents[KbqExpandEvents["toggle"] = 0] = "toggle";
|
|
408
414
|
KbqExpandEvents[KbqExpandEvents["hoverOrFocus"] = 1] = "hoverOrFocus";
|
|
409
415
|
})(KbqExpandEvents || (KbqExpandEvents = {}));
|
|
416
|
+
/** minimum timeout to use KBQ_ENTER_DELAY */
|
|
417
|
+
const KBQ_MIN_TIMEOUT_FOR_ENTER_DELAY = 2000;
|
|
418
|
+
/** delay before open navbar-ic */
|
|
419
|
+
const KBQ_ENTER_DELAY = 400;
|
|
410
420
|
/** default configuration of navbar-ic */
|
|
411
421
|
/** @docs-private */
|
|
412
422
|
const KBQ_NAVBAR_IC_DEFAULT_CONFIGURATION = ruRULocaleData.navbarIc;
|
|
@@ -529,6 +539,7 @@ class KbqNavbarIc extends KbqFocusable {
|
|
|
529
539
|
}
|
|
530
540
|
set expanded(value) {
|
|
531
541
|
this._expanded = value;
|
|
542
|
+
this.state.next(value || this.pinned || this.hasOpenedPopUp ? 'expanded' : 'collapsed');
|
|
532
543
|
this.updateExpandedStateForItems();
|
|
533
544
|
}
|
|
534
545
|
get hasOpenedPopUp() {
|
|
@@ -548,6 +559,7 @@ class KbqNavbarIc extends KbqFocusable {
|
|
|
548
559
|
/** @docs-private */
|
|
549
560
|
this.localeService = inject(KBQ_LOCALE_SERVICE, { optional: true });
|
|
550
561
|
this.externalConfiguration = inject(KBQ_NAVBAR_IC_CONFIGURATION, { optional: true });
|
|
562
|
+
this.state = new BehaviorSubject(null);
|
|
551
563
|
/** @docs-private */
|
|
552
564
|
this.rectangleElements = contentChildren(forwardRef(() => KbqRectangleItem), { descendants: true });
|
|
553
565
|
/** @docs-private */
|
|
@@ -580,17 +592,32 @@ class KbqNavbarIc extends KbqFocusable {
|
|
|
580
592
|
this.configuration = this.externalConfiguration || this.localeService?.getParams('navbarIc');
|
|
581
593
|
this.changeDetectorRef.markForCheck();
|
|
582
594
|
};
|
|
583
|
-
this.animationDone.pipe(takeUntilDestroyed()).subscribe(this.updateTooltipForItems);
|
|
584
595
|
effect(this.updateExpandedStateForItems);
|
|
585
|
-
|
|
586
|
-
.pipe(takeUntilDestroyed())
|
|
587
|
-
.subscribe((
|
|
588
|
-
if (this.
|
|
596
|
+
this.focused
|
|
597
|
+
.pipe(delay(0), filter(() => !this.pinned || !this.hasOpenedPopUp), takeUntilDestroyed())
|
|
598
|
+
.subscribe((focused) => {
|
|
599
|
+
if (this.hovered.value)
|
|
589
600
|
return;
|
|
590
601
|
this.expandEvent = KbqExpandEvents.hoverOrFocus;
|
|
591
|
-
this.expanded =
|
|
602
|
+
this.expanded = focused;
|
|
592
603
|
this.changeDetectorRef.markForCheck();
|
|
593
604
|
});
|
|
605
|
+
this.hovered
|
|
606
|
+
.pipe(filter(() => !this.pinned), switchMap((hovered) => {
|
|
607
|
+
if (!hovered) {
|
|
608
|
+
if (this.expanded) {
|
|
609
|
+
this.lastOpeningTime = Date.now();
|
|
610
|
+
}
|
|
611
|
+
this.expanded = false;
|
|
612
|
+
return EMPTY;
|
|
613
|
+
}
|
|
614
|
+
return timer(this.getExpandDelay()).pipe(tap(() => {
|
|
615
|
+
this.expandEvent = KbqExpandEvents.hoverOrFocus;
|
|
616
|
+
this.expanded = true;
|
|
617
|
+
this.changeDetectorRef.markForCheck();
|
|
618
|
+
}), takeUntil(this.hovered.pipe(filter((h) => !h))));
|
|
619
|
+
}), takeUntilDestroyed())
|
|
620
|
+
.subscribe();
|
|
594
621
|
this.focusMonitor.monitor(this.elementRef, true).subscribe((focusOrigin) => {
|
|
595
622
|
this.focused.next(focusOrigin === 'keyboard');
|
|
596
623
|
});
|
|
@@ -630,6 +657,9 @@ class KbqNavbarIc extends KbqFocusable {
|
|
|
630
657
|
this.keyManager.onKeydown(event);
|
|
631
658
|
}
|
|
632
659
|
}
|
|
660
|
+
getExpandDelay() {
|
|
661
|
+
return Date.now() - this.lastOpeningTime < KBQ_MIN_TIMEOUT_FOR_ENTER_DELAY ? 0 : KBQ_ENTER_DELAY;
|
|
662
|
+
}
|
|
633
663
|
initDefaultParams() {
|
|
634
664
|
this.configuration = KBQ_NAVBAR_IC_DEFAULT_CONFIGURATION;
|
|
635
665
|
}
|
|
@@ -686,6 +716,7 @@ class KbqNavbarIcHeader extends KbqTooltipTrigger {
|
|
|
686
716
|
this.navbar = inject(KbqNavbarIc);
|
|
687
717
|
this.nativeElement = kbqInjectNativeElement();
|
|
688
718
|
this.destroyRef = inject(DestroyRef);
|
|
719
|
+
this.changeDetectorRef = inject(ChangeDetectorRef);
|
|
689
720
|
this._trigger = `${PopUpTriggers.Hover}`;
|
|
690
721
|
this.arrow = false;
|
|
691
722
|
this.offset = -8;
|
|
@@ -695,6 +726,9 @@ class KbqNavbarIcHeader extends KbqTooltipTrigger {
|
|
|
695
726
|
this.navbar?.animationDone
|
|
696
727
|
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
697
728
|
.subscribe(() => this.title?.checkTextOverflown());
|
|
729
|
+
this.navbar.state.pipe(distinctUntilChanged(), takeUntilDestroyed(this.destroyRef)).subscribe(() => {
|
|
730
|
+
this.changeDetectorRef.detectChanges();
|
|
731
|
+
});
|
|
698
732
|
this.title?.checkTextOverflown();
|
|
699
733
|
if (this.title?.isTextOverflown) {
|
|
700
734
|
this.content = this.titleText;
|
|
@@ -703,20 +737,30 @@ class KbqNavbarIcHeader extends KbqTooltipTrigger {
|
|
|
703
737
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqNavbarIcHeader, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
704
738
|
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: KbqNavbarIcHeader, isStandalone: true, selector: "kbq-navbar-ic-header, [kbq-navbar-ic-header]", host: { properties: { "class.kbq-navbar-ic-header_interactive": "isLink" }, classAttribute: "kbq-navbar-ic-header" }, queries: [{ propertyName: "logo", first: true, predicate: KbqNavbarIcLogo, descendants: true }, { propertyName: "title", first: true, predicate: KbqNavbarIcTitle, descendants: true }], exportAs: ["kbqNavbarIcHeader"], usesInheritance: true, ngImport: i0, template: `
|
|
705
739
|
<div class="kbq-navbar-ic-header__inner">
|
|
740
|
+
<ng-content select="[kbqNavbarIcLogo]" />
|
|
741
|
+
|
|
742
|
+
<div [@toggle]="navbar.state.value">
|
|
743
|
+
<ng-content select="[kbqNavbarIcTitle]" />
|
|
744
|
+
</div>
|
|
706
745
|
<ng-content />
|
|
707
746
|
</div>
|
|
708
|
-
`, isInline: true, styles: [".kbq-navbar-ic-header{display:block;margin-top:var(--kbq-size-l);margin-bottom:var(--kbq-size-l);padding:var(--kbq-size-3xs) var(--kbq-size-m)}.kbq-navbar-ic-header .kbq-navbar-ic-header__inner{display:flex;flex-direction:row;padding:var(--kbq-size-xs) var(--kbq-size-s);gap:var(--kbq-size-s);border-radius:var(--kbq-navbar-ic-item-size-content-border-radius)}.kbq-navbar-ic-header .kbq-navbar-ic-logo{display:flex;align-self:center}.kbq-navbar-ic-header .kbq-navbar-ic-title{display:block;align-items:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kbq-navbar-ic-header .kbq-navbar-ic-title.kbq-navbar-ic-title_text-overflown{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal}.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive{cursor:pointer}
|
|
747
|
+
`, isInline: true, styles: [".kbq-navbar-ic-header{display:block;margin-top:var(--kbq-size-l);margin-bottom:var(--kbq-size-l);padding:var(--kbq-size-3xs) var(--kbq-size-m)}.kbq-navbar-ic-header .kbq-navbar-ic-header__inner{display:flex;flex-direction:row;padding:var(--kbq-size-xs) var(--kbq-size-s);gap:var(--kbq-size-s);border-radius:var(--kbq-navbar-ic-item-size-content-border-radius)}.kbq-navbar-ic-header .kbq-navbar-ic-logo{display:flex;align-self:center}.kbq-navbar-ic-header .kbq-navbar-ic-title{display:block;align-items:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kbq-navbar-ic-header .kbq-navbar-ic-title.kbq-navbar-ic-title_text-overflown{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal}.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive{cursor:pointer}a.kbq-navbar-ic-header{text-decoration:none}\n"], animations: [toggleNavbarIcItemAnimation()], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
709
748
|
}
|
|
710
749
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqNavbarIcHeader, decorators: [{
|
|
711
750
|
type: Component,
|
|
712
751
|
args: [{ standalone: true, selector: 'kbq-navbar-ic-header, [kbq-navbar-ic-header]', exportAs: 'kbqNavbarIcHeader', template: `
|
|
713
752
|
<div class="kbq-navbar-ic-header__inner">
|
|
753
|
+
<ng-content select="[kbqNavbarIcLogo]" />
|
|
754
|
+
|
|
755
|
+
<div [@toggle]="navbar.state.value">
|
|
756
|
+
<ng-content select="[kbqNavbarIcTitle]" />
|
|
757
|
+
</div>
|
|
714
758
|
<ng-content />
|
|
715
759
|
</div>
|
|
716
760
|
`, host: {
|
|
717
761
|
class: 'kbq-navbar-ic-header',
|
|
718
762
|
'[class.kbq-navbar-ic-header_interactive]': 'isLink'
|
|
719
|
-
}, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".kbq-navbar-ic-header{display:block;margin-top:var(--kbq-size-l);margin-bottom:var(--kbq-size-l);padding:var(--kbq-size-3xs) var(--kbq-size-m)}.kbq-navbar-ic-header .kbq-navbar-ic-header__inner{display:flex;flex-direction:row;padding:var(--kbq-size-xs) var(--kbq-size-s);gap:var(--kbq-size-s);border-radius:var(--kbq-navbar-ic-item-size-content-border-radius)}.kbq-navbar-ic-header .kbq-navbar-ic-logo{display:flex;align-self:center}.kbq-navbar-ic-header .kbq-navbar-ic-title{display:block;align-items:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kbq-navbar-ic-header .kbq-navbar-ic-title.kbq-navbar-ic-title_text-overflown{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal}.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive{cursor:pointer}
|
|
763
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, animations: [toggleNavbarIcItemAnimation()], styles: [".kbq-navbar-ic-header{display:block;margin-top:var(--kbq-size-l);margin-bottom:var(--kbq-size-l);padding:var(--kbq-size-3xs) var(--kbq-size-m)}.kbq-navbar-ic-header .kbq-navbar-ic-header__inner{display:flex;flex-direction:row;padding:var(--kbq-size-xs) var(--kbq-size-s);gap:var(--kbq-size-s);border-radius:var(--kbq-navbar-ic-item-size-content-border-radius)}.kbq-navbar-ic-header .kbq-navbar-ic-logo{display:flex;align-self:center}.kbq-navbar-ic-header .kbq-navbar-ic-title{display:block;align-items:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kbq-navbar-ic-header .kbq-navbar-ic-title.kbq-navbar-ic-title_text-overflown{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal}.kbq-navbar-ic-header.kbq-navbar-ic-header_interactive{cursor:pointer}a.kbq-navbar-ic-header{text-decoration:none}\n"] }]
|
|
720
764
|
}], ctorParameters: () => [], propDecorators: { logo: [{
|
|
721
765
|
type: ContentChild,
|
|
722
766
|
args: [KbqNavbarIcLogo]
|
|
@@ -793,5 +837,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
793
837
|
* Generated bundle index. Do not edit.
|
|
794
838
|
*/
|
|
795
839
|
|
|
796
|
-
export { KBQ_NAVBAR_IC_CONFIGURATION, KBQ_NAVBAR_IC_DEFAULT_CONFIGURATION, KbqExpandEvents, KbqFocusable, KbqNavbarIc, KbqNavbarIcContainer, KbqNavbarIcDivider, KbqNavbarIcFocusableItem, KbqNavbarIcHeader, KbqNavbarIcItem, KbqNavbarIcLogo, KbqNavbarIcModule, KbqNavbarIcTitle, KbqNavbarIcToggle, kbqMaxSymbolsInHeaderTitle };
|
|
840
|
+
export { KBQ_ENTER_DELAY, KBQ_MIN_TIMEOUT_FOR_ENTER_DELAY, KBQ_NAVBAR_IC_CONFIGURATION, KBQ_NAVBAR_IC_DEFAULT_CONFIGURATION, KbqExpandEvents, KbqFocusable, KbqNavbarIc, KbqNavbarIcContainer, KbqNavbarIcDivider, KbqNavbarIcFocusableItem, KbqNavbarIcHeader, KbqNavbarIcItem, KbqNavbarIcLogo, KbqNavbarIcModule, KbqNavbarIcTitle, KbqNavbarIcToggle, kbqMaxSymbolsInHeaderTitle };
|
|
797
841
|
//# sourceMappingURL=koobiq-components-navbar-ic.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"koobiq-components-navbar-ic.mjs","sources":["../../../packages/components/navbar-ic/navbar-ic-item.ts","../../../packages/components/navbar-ic/navbar-ic-item.html","../../../packages/components/navbar-ic/navbar-ic.animation.ts","../../../packages/components/navbar-ic/navbar-ic.ts","../../../packages/components/navbar-ic/navbar-ic-header.ts","../../../packages/components/navbar-ic/navbar-ic.module.ts","../../../packages/components/navbar-ic/koobiq-components-navbar-ic.ts"],"sourcesContent":["import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Platform } from '@angular/cdk/platform';\nimport {\n AfterContentInit,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n Directive,\n ElementRef,\n inject,\n Input,\n NgZone,\n OnDestroy,\n ViewEncapsulation\n} from '@angular/core';\nimport { IFocusableOption } from '@koobiq/cdk/a11y';\nimport { ENTER, RIGHT_ARROW, SPACE } from '@koobiq/cdk/keycodes';\nimport { KbqButton, KbqButtonCssStyler } from '@koobiq/components/button';\nimport {\n KBQ_WINDOW,\n kbqInjectNativeElement,\n KbqRectangleItem,\n PopUpPlacements,\n PopUpTriggers\n} from '@koobiq/components/core';\nimport { KbqDropdownTrigger } from '@koobiq/components/dropdown';\nimport { KbqFormField } from '@koobiq/components/form-field';\nimport { KbqIcon } from '@koobiq/components/icon';\nimport { KbqTooltipTrigger, TooltipModifier } from '@koobiq/components/tooltip';\nimport { Subject } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { KbqNavbarIc } from './navbar-ic';\n\n/**\n * The maximum number of characters that can be placed in a title without being wrapped.\n */\nexport const kbqMaxSymbolsInHeaderTitle = 22;\n\nexport interface KbqNavbarFocusableItemEvent {\n item: KbqNavbarIcFocusableItem;\n}\n\n@Directive({\n standalone: true,\n selector: '[kbqNavbarIcLogo]',\n host: {\n class: 'kbq-navbar-ic-logo'\n }\n})\nexport class KbqNavbarIcLogo {}\n\n@Directive({\n standalone: true,\n selector: '[kbqNavbarIcTitle]',\n host: {\n class: 'kbq-navbar-ic-title',\n '[class.kbq-navbar-ic-title_text-overflown]': 'isTextOverflown',\n\n '(mouseenter)': 'hovered.next(true)',\n '(mouseleave)': 'hovered.next(false)'\n }\n})\nexport class KbqNavbarIcTitle implements AfterViewInit {\n protected readonly isBrowser = inject(Platform).isBrowser;\n protected readonly nativeElement = kbqInjectNativeElement();\n private readonly window = inject(KBQ_WINDOW);\n\n readonly hovered = new Subject<boolean>();\n\n outerElementWidth: number;\n isTextOverflown: boolean = false;\n\n get text(): string {\n return this.nativeElement.textContent || '';\n }\n\n get isOverflown() {\n return this.nativeElement.scrollWidth > this.nativeElement.clientWidth;\n }\n\n ngAfterViewInit(): void {\n this.outerElementWidth = this.getOuterElementWidth();\n\n this.checkTextOverflown();\n }\n\n getOuterElementWidth(): number {\n if (!this.isBrowser) return 0;\n\n const { width, marginLeft, marginRight } = this.window.getComputedStyle(this.nativeElement);\n\n return [width, marginLeft, marginRight].reduce((acc, item) => acc + parseInt(item) || 0, 0);\n }\n\n checkTextOverflown() {\n this.isTextOverflown = this.text.length > kbqMaxSymbolsInHeaderTitle;\n }\n}\n\n@Directive({\n standalone: true,\n selector: '[kbqNavbarIcDivider]',\n host: {\n class: 'kbq-navbar-ic-divider'\n }\n})\nexport class KbqNavbarIcDivider {}\n\n@Directive({\n standalone: true,\n selector:\n 'kbq-navbar-ic-item, [kbq-navbar-ic-item], kbq-navbar-ic-header, [kbq-navbar-ic-header], kbq-navbar-ic-toggle',\n host: {\n '[attr.tabindex]': '-1',\n '[attr.disabled]': 'disabled || null',\n\n class: 'kbq-navbar-ic-focusable-item',\n '[class.kbq-disabled]': 'disabled',\n\n '(focus)': 'focusHandler()',\n '(blur)': 'blurHandler()'\n }\n})\nexport class KbqNavbarIcFocusableItem implements AfterContentInit, AfterViewInit, OnDestroy, IFocusableOption {\n protected readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n protected readonly changeDetector = inject(ChangeDetectorRef);\n protected readonly focusMonitor = inject(FocusMonitor);\n protected readonly ngZone = inject(NgZone);\n\n /** @docs-private */\n @ContentChild(KbqNavbarIcTitle) title: KbqNavbarIcTitle;\n /** @docs-private */\n @ContentChild(KbqButton) button: KbqButton;\n /** @docs-private */\n @ContentChild(KbqFormField) formField: KbqFormField;\n\n get tooltip(): KbqTooltipTrigger {\n return this._tooltip;\n }\n\n private _tooltip: KbqTooltipTrigger;\n\n readonly onFocus = new Subject<KbqNavbarFocusableItemEvent>();\n\n readonly onBlur = new Subject<KbqNavbarFocusableItemEvent>();\n\n get hasFocus(): boolean {\n return this._hasFocus;\n }\n\n set hasFocus(value: boolean) {\n this._hasFocus = value;\n }\n\n private _hasFocus: boolean = false;\n\n /** Whether the item is disabled. */\n @Input({ transform: booleanAttribute })\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n if (value !== this._disabled) {\n this._disabled = value;\n this.changeDetector.markForCheck();\n }\n }\n\n private _disabled = false;\n\n ngAfterViewInit(): void {\n this.focusMonitor.monitor(this.elementRef);\n }\n\n ngAfterContentInit(): void {\n if (this.button) {\n this.button.tabIndex = -1;\n }\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n\n setTooltip(value: KbqTooltipTrigger) {\n this._tooltip = value;\n }\n\n focus(origin?: FocusOrigin): void {\n if (this.disabled || this.hasFocus) {\n return;\n }\n\n if (origin === 'keyboard') {\n this.focusMonitor.focusVia(this.elementRef, origin);\n }\n\n this.tooltip?.show();\n this.focusHandler();\n }\n\n /** @docs-private */\n focusHandler() {\n if (this.disabled || this.hasFocus) return;\n\n this.onFocus.next({ item: this });\n\n this.hasFocus = true;\n\n this.changeDetector.markForCheck();\n\n this.elementRef.nativeElement.focus();\n }\n\n /** @docs-private */\n blurHandler(): void {\n // When animations are enabled, Angular may end up removing the option from the DOM a little\n // earlier than usual, causing it to be blurred and throwing off the logic in the list\n // that moves focus not the next item. To work around the issue, we defer marking the option\n // as not focused until the next time the zone stabilizes.\n this.ngZone.onStable\n .asObservable()\n .pipe(take(1))\n .subscribe(() => {\n this.ngZone.run(() => {\n this._hasFocus = false;\n\n this.tooltip?.hide();\n\n if (this.button?.hasFocus) {\n return;\n }\n\n this.onBlur.next({ item: this });\n });\n });\n }\n\n getLabel(): string {\n return this.title?.text || '';\n }\n}\n\n@Component({\n standalone: true,\n selector: 'kbq-navbar-ic-item, [kbq-navbar-ic-item]',\n exportAs: 'kbqNavbarIcItem',\n templateUrl: './navbar-ic-item.html',\n styleUrl: './navbar-ic-item.scss',\n host: {\n class: 'kbq-navbar-ic-item',\n '[class.kbq-navbar-ic-item_with-title]': '!!title',\n\n '(keydown)': 'onKeyDown($event)'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [KbqRectangleItem],\n imports: [KbqIcon]\n})\nexport class KbqNavbarIcItem extends KbqTooltipTrigger implements AfterContentInit {\n readonly rectangleElement = inject(KbqRectangleItem);\n readonly navbarFocusableItem = inject(KbqNavbarIcFocusableItem);\n\n private changeDetectorRef = inject(ChangeDetectorRef);\n private dropdownTrigger = inject(KbqDropdownTrigger, { optional: true });\n private tooltip = inject(KbqTooltipTrigger, { optional: true });\n\n /** @docs-private */\n @ContentChild(KbqNavbarIcTitle) title: KbqNavbarIcTitle;\n /** @docs-private */\n @ContentChild(KbqIcon) icon: KbqIcon;\n /** @docs-private */\n @ContentChild(KbqButtonCssStyler) button: KbqButtonCssStyler;\n\n @Input('kbqTrigger')\n get trigger(): string {\n return this._trigger;\n }\n\n set trigger(value: string) {\n if (value) {\n this._trigger = value;\n\n this.initListeners();\n }\n }\n\n set collapsed(value: boolean) {\n if (this._collapsed !== value) {\n this._collapsed = value;\n\n this.updateTooltip();\n }\n }\n\n private _collapsed = false;\n\n get croppedText(): string {\n return this.title?.isOverflown ? this.titleText : '';\n }\n\n get titleText(): string {\n return this.title?.text;\n }\n\n get disabled(): boolean {\n if (this._disabled !== undefined) {\n return this._disabled;\n }\n\n return !this.collapsed && !this.hasCroppedText;\n }\n\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n get hasDropDownTrigger(): boolean {\n return !!this.dropdownTrigger;\n }\n\n get showDropDownAngle(): boolean {\n return this.hasDropDownTrigger && !this.collapsed;\n }\n\n get hasCroppedText(): boolean {\n return !!this.title?.isOverflown;\n }\n\n constructor() {\n super();\n\n if (this.dropdownTrigger) {\n this.dropdownTrigger.openByArrowDown = false;\n }\n\n this.rectangleElement.state.subscribe(() => {\n this.collapsed = this.rectangleElement.collapsed;\n\n this.changeDetectorRef.markForCheck();\n });\n\n this._trigger = `${PopUpTriggers.Hover}`;\n\n this.navbarFocusableItem.setTooltip(this);\n\n if (this.tooltip) {\n this.tooltip.arrow = false;\n this.tooltip.offset = 0;\n\n this.tooltip['overlayConfig'].panelClass = 'kbq-tooltip-panel_horizontal-navbar';\n }\n }\n\n ngAfterContentInit(): void {\n if (this.dropdownTrigger?.dropdown) {\n this.dropdownTrigger.dropdown.overlapTriggerX = false;\n this.dropdownTrigger.dropdown.overlapTriggerY = true;\n // needs to shift dropdown to the left by 8 pixels\n this.dropdownTrigger.offsetX = -8;\n }\n\n this.updateTooltip();\n }\n\n /** @docs-private */\n updateTooltip(): void {\n if (!this.collapsed && this.hasCroppedText) {\n this.content = this.croppedText;\n }\n\n this.placement = PopUpPlacements.Right;\n\n this.changeDetectorRef.markForCheck();\n }\n\n /** @docs-private */\n onKeyDown($event: KeyboardEvent) {\n if (!this.hasDropDownTrigger) {\n return;\n }\n\n if (this.dropdownTrigger && this.rectangleElement && $event.keyCode === RIGHT_ARROW) {\n this.dropdownTrigger.openedBy = 'keyboard';\n this.dropdownTrigger.open();\n\n $event.stopPropagation();\n $event.preventDefault();\n }\n }\n}\n\n@Component({\n standalone: true,\n selector: 'kbq-navbar-ic-toggle',\n template: `\n <div class=\"kbq-navbar-ic-item__inner\">\n @if (navbar.pinned) {\n <i kbq-icon [class.kbq-bars-arrow-left_16]=\"navbar.expanded\"></i>\n <ng-content select=\"[kbqNavbarIcTitle]\">{{ localeData.collapseButton }}</ng-content>\n } @else if ((navbar.expandedByHoverOrFocus || navbar.expandedByToggle) && !navbar.pinned) {\n <i kbq-icon [class.kbq-bars-arrow-right_16]=\"navbar.expanded\"></i>\n {{ localeData.pinButton }}\n } @else {\n <i kbq-icon [class.kbq-bars-arrow-right_16]=\"!navbar.expanded\"></i>\n }\n </div>\n `,\n styleUrls: ['./navbar-ic.scss'],\n host: {\n class: 'kbq-navbar-ic-item kbq-navbar-ic-toggle',\n '[class.kbq-collapsed]': '!navbar.expanded',\n '[class.kbq-expanded]': 'navbar.expanded',\n\n '(keydown)': 'onKeydown($event)',\n '(click)': 'toggle()'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [KbqIcon],\n hostDirectives: [KbqRectangleItem]\n})\nexport class KbqNavbarIcToggle {\n readonly navbar = inject(KbqNavbarIc);\n readonly rectangleElement = inject(KbqRectangleItem);\n\n protected readonly changeDetectorRef = inject(ChangeDetectorRef);\n\n protected modifier: TooltipModifier = TooltipModifier.Default;\n\n /** localized data\n * @docs-private */\n get localeData() {\n return this.navbar?.configuration.toggle;\n }\n\n constructor() {\n this.rectangleElement.state.subscribe(() => this.changeDetectorRef.markForCheck());\n }\n\n /** @docs-private */\n onKeydown($event: KeyboardEvent) {\n if ([SPACE, ENTER].includes($event.keyCode)) {\n this.toggle();\n\n $event.stopPropagation();\n $event.preventDefault();\n }\n }\n\n toggle = () => {\n if ((this.navbar.expandedByHoverOrFocus || this.navbar.expandedByToggle) && !this.navbar.pinned) {\n this.navbar.pinned = true;\n } else {\n this.navbar.pinned = false;\n this.navbar.toggle();\n }\n\n this.changeDetectorRef.detectChanges();\n };\n}\n","<div class=\"kbq-navbar-ic-item__inner\">\n <ng-content select=\"[kbq-icon]\" />\n\n @if (title && !collapsed) {\n <div class=\"kbq-navbar-ic-item__title-container\">\n <ng-content select=\"[kbqNavbarIcTitle]\" />\n\n @if (showDropDownAngle) {\n <i kbq-icon=\"kbq-chevron-right_16\" class=\"kbq-navbar-ic-item__arrow-icon\"></i>\n }\n </div>\n }\n\n <ng-content />\n</div>\n","import { animate, AnimationTriggerMetadata, state, style, transition, trigger } from '@angular/animations';\n\nexport function toggleNavbarIcAnimation(): AnimationTriggerMetadata {\n return trigger('toggle', [\n state('0', style({ width: '64px' })),\n state('1', style({ width: '240px' })),\n transition('0 <=> 1', animate('150ms ease-out'))]);\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport {\n AfterContentInit,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n contentChildren,\n ContentChildren,\n DestroyRef,\n Directive,\n effect,\n ElementRef,\n forwardRef,\n inject,\n InjectionToken,\n Input,\n numberAttribute,\n OnDestroy,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FocusKeyManager } from '@koobiq/cdk/a11y';\nimport { DOWN_ARROW, isVerticalMovement, TAB, UP_ARROW } from '@koobiq/cdk/keycodes';\nimport { KBQ_LOCALE_SERVICE, KbqRectangleItem, ruRULocaleData } from '@koobiq/components/core';\nimport { KbqDropdownTrigger } from '@koobiq/components/dropdown';\nimport { KbqNotificationCenterTrigger } from '@koobiq/components/notification-center';\nimport { KbqPopoverTrigger } from '@koobiq/components/popover';\nimport { BehaviorSubject, combineLatest, merge, Observable, Subject, Subscription } from 'rxjs';\nimport { startWith } from 'rxjs/operators';\nimport {\n KbqNavbarFocusableItemEvent,\n KbqNavbarIcFocusableItem,\n KbqNavbarIcItem,\n KbqNavbarIcToggle\n} from './navbar-ic-item';\nimport { toggleNavbarIcAnimation } from './navbar-ic.animation';\n\nexport enum KbqExpandEvents {\n toggle,\n hoverOrFocus\n}\n\n/** default configuration of navbar-ic */\n/** @docs-private */\nexport const KBQ_NAVBAR_IC_DEFAULT_CONFIGURATION = ruRULocaleData.navbarIc;\n\n/** Injection Token for providing configuration of navbar-ic */\n/** @docs-private */\nexport const KBQ_NAVBAR_IC_CONFIGURATION = new InjectionToken('KbqNavbarIcConfiguration');\n\n@Directive()\nexport class KbqFocusable implements AfterContentInit, AfterViewInit, OnDestroy {\n protected readonly changeDetectorRef = inject(ChangeDetectorRef);\n protected readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n protected readonly destroyRef = inject(DestroyRef);\n protected readonly focusMonitor = inject(FocusMonitor);\n\n @ContentChildren(forwardRef(() => KbqNavbarIcFocusableItem), { descendants: true })\n focusableItems: QueryList<KbqNavbarIcFocusableItem>;\n\n keyManager: FocusKeyManager<KbqNavbarIcFocusableItem>;\n\n @Input({ transform: numberAttribute })\n get tabindex(): number {\n return this._tabindex;\n }\n\n set tabindex(value: number) {\n this._tabindex = value;\n }\n\n private _tabindex = 0;\n\n get itemFocusChanges(): Observable<KbqNavbarFocusableItemEvent> {\n return merge(...this.focusableItems.map((item) => item.onFocus));\n }\n\n get itemBlurChanges(): Observable<KbqNavbarFocusableItemEvent> {\n return merge(...this.focusableItems.map((option) => option.onBlur));\n }\n\n private itemFocusSubscription: Subscription | null;\n private itemBlurSubscription: Subscription | null;\n\n ngAfterContentInit(): void {\n this.keyManager = new FocusKeyManager<KbqNavbarIcFocusableItem>(this.focusableItems).withTypeAhead();\n\n this.keyManager.tabOut.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.tabindex = -1;\n\n setTimeout(() => {\n this.tabindex = 0;\n this.changeDetectorRef.markForCheck();\n });\n });\n\n this.focusableItems.changes.pipe(startWith(null), takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.resetOptions();\n\n // Check to see if we need to update our tab index\n this.updateTabIndex();\n });\n }\n\n ngAfterViewInit(): void {\n this.focusMonitor.monitor(this.elementRef).subscribe((focusOrigin) => {\n this.keyManager.setFocusOrigin(focusOrigin);\n });\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n\n /** @docs-private */\n focusHandler(): void {\n if (this.focusableItems.length === 0) return;\n\n this.keyManager.setFirstItemActive();\n }\n\n /** @docs-private */\n blurHandler() {\n if (!this.hasFocusedItem()) {\n this.keyManager.setActiveItem(-1);\n }\n\n this.changeDetectorRef.markForCheck();\n }\n\n protected resetOptions() {\n this.dropSubscriptions();\n this.listenToItemsFocus();\n }\n\n protected dropSubscriptions() {\n this.itemFocusSubscription?.unsubscribe();\n this.itemBlurSubscription?.unsubscribe();\n\n this.itemFocusSubscription = null;\n this.itemBlurSubscription = null;\n }\n\n protected listenToItemsFocus(): void {\n this.itemFocusSubscription = this.itemFocusChanges.subscribe((event) => {\n const index: number = this.focusableItems.toArray().indexOf(event.item);\n\n if (this.isValidIndex(index)) {\n this.keyManager.updateActiveItem(index);\n }\n });\n\n this.itemBlurSubscription = this.itemBlurChanges.subscribe(() => this.blurHandler());\n }\n\n protected updateTabIndex(): void {\n this.tabindex = this.focusableItems.length === 0 ? -1 : 0;\n }\n\n protected isValidIndex(index: number): boolean {\n return index >= 0 && index < this.focusableItems.length;\n }\n\n protected hasFocusedItem() {\n return this.focusableItems.some((item) => item.hasFocus);\n }\n}\n\n@Directive({\n standalone: true,\n selector: 'kbq-navbar-ic-container',\n host: {\n class: 'kbq-navbar-ic-container'\n }\n})\nexport class KbqNavbarIcContainer {}\n\n@Component({\n standalone: true,\n selector: 'kbq-navbar-ic',\n exportAs: 'KbqNavbarIc',\n template: `\n <div class=\"kbq-navbar-ic__top-layer\" [@toggle]=\"expanded\" (@toggle.done)=\"animationDone.next()\">\n <ng-content select=\"[kbq-navbar-ic-container], kbq-navbar-ic-container\" />\n <ng-content select=\"[kbq-navbar-ic-toggle], kbq-navbar-ic-toggle\" />\n </div>\n `,\n styleUrls: [\n './navbar-ic.scss',\n './navbar-ic-divider.scss',\n './navbar-ic-tokens.scss'\n ],\n host: {\n class: 'kbq-navbar-ic',\n '[class.kbq-collapsed]': '!expanded',\n '[class.kbq-expanded]': 'expanded',\n '[style.min-width.px]': 'pinned ? expandedWidth : collapsedWidth',\n '[attr.tabindex]': 'tabindex',\n\n '(focus)': 'focusHandler()',\n '(blur)': 'blurHandler()',\n\n '(keydown)': 'onKeyDown($event)',\n\n '(mouseenter)': 'hovered.next(true)',\n '(mouseleave)': 'hovered.next(false)'\n },\n animations: [toggleNavbarIcAnimation()],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqNavbarIc extends KbqFocusable implements AfterContentInit {\n /** @docs-private */\n protected readonly localeService = inject(KBQ_LOCALE_SERVICE, { optional: true });\n\n readonly externalConfiguration = inject(KBQ_NAVBAR_IC_CONFIGURATION, { optional: true });\n\n configuration;\n\n /** @docs-private */\n rectangleElements = contentChildren(\n forwardRef(() => KbqRectangleItem),\n { descendants: true }\n );\n\n /** @docs-private */\n items = contentChildren(\n forwardRef(() => KbqNavbarIcItem),\n { descendants: true }\n );\n\n /** @docs-private */\n toggleElement = contentChildren(\n forwardRef(() => KbqNavbarIcToggle),\n { descendants: true }\n );\n\n /** @docs-private */\n dropdownTrigger = contentChildren(\n forwardRef(() => KbqDropdownTrigger),\n { descendants: true }\n );\n\n /** @docs-private */\n popoverTrigger = contentChildren(\n forwardRef(() => KbqPopoverTrigger),\n { descendants: true }\n );\n\n /** @docs-private */\n notificationCenterTrigger = contentChildren(\n forwardRef(() => KbqNotificationCenterTrigger),\n { descendants: true }\n );\n\n readonly hovered = new BehaviorSubject<boolean>(false);\n readonly focused = new BehaviorSubject<boolean>(false);\n\n readonly animationDone: Subject<void> = new Subject();\n\n expandEvent: KbqExpandEvents | null = null;\n\n @Input({ transform: booleanAttribute }) pinned = true;\n\n @Input({ transform: numberAttribute }) collapsedWidth = 64;\n @Input({ transform: numberAttribute }) expandedWidth = 240;\n\n @Input({ transform: booleanAttribute })\n get expanded(): boolean {\n return this._expanded || this.pinned || this.hasOpenedPopUp;\n }\n\n set expanded(value: boolean) {\n this._expanded = value;\n\n this.updateExpandedStateForItems();\n }\n\n private _expanded: boolean = true;\n\n get hasOpenedPopUp() {\n return [...this.dropdownTrigger(), ...this.popoverTrigger(), ...this.notificationCenterTrigger()].some(\n (instance) => instance?.isOpen || instance?.opened\n );\n }\n\n get expandedByToggle() {\n return this.expanded && this.expandEvent === KbqExpandEvents.toggle;\n }\n\n get expandedByHoverOrFocus() {\n return this.expanded && this.expandEvent === KbqExpandEvents.hoverOrFocus;\n }\n\n get currentWidth(): number {\n return this.expanded ? this.expandedWidth : this.collapsedWidth;\n }\n\n constructor() {\n super();\n\n this.animationDone.pipe(takeUntilDestroyed()).subscribe(this.updateTooltipForItems);\n\n effect(this.updateExpandedStateForItems);\n\n combineLatest([this.hovered, this.focused])\n .pipe(takeUntilDestroyed())\n .subscribe(([hovered, focused]) => {\n if (this.pinned) return;\n\n this.expandEvent = KbqExpandEvents.hoverOrFocus;\n this.expanded = hovered || focused;\n\n this.changeDetectorRef.markForCheck();\n });\n\n this.focusMonitor.monitor(this.elementRef, true).subscribe((focusOrigin) => {\n this.focused.next(focusOrigin === 'keyboard');\n });\n\n this.localeService?.changes.pipe(takeUntilDestroyed()).subscribe(this.updateLocaleParams);\n\n if (!this.localeService) {\n this.initDefaultParams();\n }\n }\n\n /** @docs-private */\n ngAfterContentInit(): void {\n this.updateTooltipForItems();\n\n super.ngAfterContentInit();\n\n this.keyManager.withVerticalOrientation(true);\n }\n\n toggle(): void {\n this.expanded = !this.expanded;\n\n this.expandEvent = KbqExpandEvents.toggle;\n\n this.changeDetectorRef.markForCheck();\n }\n\n /** @docs-private */\n onKeyDown(event: KeyboardEvent) {\n const keyCode = event.keyCode;\n\n if (!(event.target as HTMLElement).attributes.getNamedItem('kbqinput') && isVerticalMovement(event)) {\n event.preventDefault();\n }\n\n if (keyCode === TAB) {\n this.keyManager.tabOut.next();\n\n return;\n } else if (keyCode === DOWN_ARROW) {\n this.keyManager.setNextItemActive();\n } else if (keyCode === UP_ARROW) {\n this.keyManager.setPreviousItemActive();\n } else {\n this.keyManager.onKeydown(event);\n }\n }\n\n protected updateTooltipForItems = () => this.items().forEach((item) => item.updateTooltip());\n\n protected updateExpandedStateForItems = () => this.rectangleElements().forEach(this.updateItemExpandedState);\n\n protected updateItemExpandedState = (item: KbqNavbarIcItem): void => {\n setTimeout(() => {\n item.collapsed = !this.expanded;\n item.button?.updateClassModifierForIcons();\n });\n };\n\n private updateLocaleParams = () => {\n this.configuration = this.externalConfiguration || this.localeService?.getParams('navbarIc');\n\n this.changeDetectorRef.markForCheck();\n };\n\n private initDefaultParams() {\n this.configuration = KBQ_NAVBAR_IC_DEFAULT_CONFIGURATION;\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n DestroyRef,\n inject,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { kbqInjectNativeElement, PopUpPlacements, PopUpTriggers } from '@koobiq/components/core';\nimport { KbqTooltipTrigger } from '@koobiq/components/tooltip';\nimport { KbqNavbarIc } from './navbar-ic';\nimport { KbqNavbarIcLogo, KbqNavbarIcTitle } from './navbar-ic-item';\n\n@Component({\n standalone: true,\n selector: 'kbq-navbar-ic-header, [kbq-navbar-ic-header]',\n exportAs: 'kbqNavbarIcHeader',\n template: `\n <div class=\"kbq-navbar-ic-header__inner\">\n <ng-content />\n </div>\n `,\n styleUrl: './navbar-ic-header.scss',\n host: {\n class: 'kbq-navbar-ic-header',\n '[class.kbq-navbar-ic-header_interactive]': 'isLink'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqNavbarIcHeader extends KbqTooltipTrigger implements AfterContentInit {\n protected readonly navbar = inject(KbqNavbarIc);\n protected readonly nativeElement = kbqInjectNativeElement();\n protected readonly destroyRef = inject(DestroyRef);\n\n @ContentChild(KbqNavbarIcLogo) logo: KbqNavbarIcLogo;\n @ContentChild(KbqNavbarIcTitle) title: KbqNavbarIcTitle;\n\n get titleText(): string {\n return this.title?.text || '';\n }\n\n get isLink(): boolean {\n return this.nativeElement.tagName === 'A';\n }\n\n constructor() {\n super();\n\n this._trigger = `${PopUpTriggers.Hover}`;\n\n this.arrow = false;\n this.offset = -8;\n this.tooltipPlacement = PopUpPlacements.RightTop;\n }\n\n ngAfterContentInit(): void {\n this.navbar?.animationDone\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.title?.checkTextOverflown());\n\n this.title?.checkTextOverflown();\n\n if (this.title?.isTextOverflown) {\n this.content = this.titleText;\n }\n }\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { NgModule } from '@angular/core';\nimport { KbqRectangleItem } from '@koobiq/components/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqToolTipModule } from '@koobiq/components/tooltip';\nimport { KbqNavbarIc, KbqNavbarIcContainer } from './navbar-ic';\nimport { KbqNavbarIcHeader } from './navbar-ic-header';\nimport {\n KbqNavbarIcDivider,\n KbqNavbarIcFocusableItem,\n KbqNavbarIcItem,\n KbqNavbarIcLogo,\n KbqNavbarIcTitle,\n KbqNavbarIcToggle\n} from './navbar-ic-item';\n\n@NgModule({\n imports: [\n A11yModule,\n PlatformModule,\n KbqIconModule,\n KbqToolTipModule,\n KbqNavbarIc,\n KbqNavbarIcTitle,\n KbqNavbarIcItem,\n KbqNavbarIcHeader,\n KbqNavbarIcLogo,\n KbqNavbarIcToggle,\n KbqNavbarIcDivider,\n KbqNavbarIcFocusableItem,\n KbqNavbarIcContainer,\n KbqRectangleItem\n ],\n exports: [\n KbqNavbarIc,\n KbqNavbarIcContainer,\n KbqNavbarIcTitle,\n KbqNavbarIcItem,\n KbqNavbarIcHeader,\n KbqNavbarIcLogo,\n KbqNavbarIcToggle,\n KbqNavbarIcDivider,\n KbqNavbarIcFocusableItem\n ]\n})\nexport class KbqNavbarIcModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"koobiq-components-navbar-ic.mjs","sources":["../../../packages/components/navbar-ic/navbar-ic.animation.ts","../../../packages/components/navbar-ic/navbar-ic-item.ts","../../../packages/components/navbar-ic/navbar-ic-item.html","../../../packages/components/navbar-ic/navbar-ic.ts","../../../packages/components/navbar-ic/navbar-ic-header.ts","../../../packages/components/navbar-ic/navbar-ic.module.ts","../../../packages/components/navbar-ic/koobiq-components-navbar-ic.ts"],"sourcesContent":["import { animate, AnimationTriggerMetadata, state, style, transition, trigger } from '@angular/animations';\n\nexport function toggleNavbarIcAnimation(): AnimationTriggerMetadata {\n return trigger('toggle', [\n state('0', style({ width: '64px' })),\n state('1', style({ width: '240px' })),\n transition('0 <=> 1', animate('200ms cubic-bezier(0.4, 0, 0.2, 1)'))]);\n}\n\nexport function toggleNavbarIcItemAnimation(): AnimationTriggerMetadata {\n return trigger('toggle', [\n state('expanded', style({ opacity: 1, marginLeft: 0 })),\n state('collapsed', style({ opacity: 0, marginLeft: '-8px' })),\n transition('collapsed => expanded', animate('200ms 150ms cubic-bezier(0.4, 0, 0.2, 1)')),\n transition('expanded => collapsed', animate('200ms cubic-bezier(0.4, 0, 0.2, 1)'))]);\n}\n","import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Platform } from '@angular/cdk/platform';\nimport {\n AfterContentInit,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n Directive,\n ElementRef,\n inject,\n Input,\n NgZone,\n OnDestroy,\n ViewEncapsulation\n} from '@angular/core';\nimport { IFocusableOption } from '@koobiq/cdk/a11y';\nimport { ENTER, RIGHT_ARROW, SPACE } from '@koobiq/cdk/keycodes';\nimport { KbqButton, KbqButtonCssStyler } from '@koobiq/components/button';\nimport {\n KBQ_WINDOW,\n kbqInjectNativeElement,\n KbqRectangleItem,\n PopUpPlacements,\n PopUpTriggers\n} from '@koobiq/components/core';\nimport { KbqDropdownTrigger } from '@koobiq/components/dropdown';\nimport { KbqFormField } from '@koobiq/components/form-field';\nimport { KbqIcon } from '@koobiq/components/icon';\nimport { KbqTooltipTrigger, TooltipModifier } from '@koobiq/components/tooltip';\nimport { Subject } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { KbqNavbarIc } from './navbar-ic';\nimport { toggleNavbarIcItemAnimation } from './navbar-ic.animation';\n\n/**\n * The maximum number of characters that can be placed in a title without being wrapped.\n */\nexport const kbqMaxSymbolsInHeaderTitle = 22;\n\nexport interface KbqNavbarFocusableItemEvent {\n item: KbqNavbarIcFocusableItem;\n}\n\n@Directive({\n standalone: true,\n selector: '[kbqNavbarIcLogo]',\n host: {\n class: 'kbq-navbar-ic-logo'\n }\n})\nexport class KbqNavbarIcLogo {}\n\n@Directive({\n standalone: true,\n selector: '[kbqNavbarIcTitle]',\n host: {\n class: 'kbq-navbar-ic-title',\n '[class.kbq-navbar-ic-title_text-overflown]': 'isTextOverflown',\n\n '(mouseenter)': 'hovered.next(true)',\n '(mouseleave)': 'hovered.next(false)'\n }\n})\nexport class KbqNavbarIcTitle implements AfterViewInit {\n protected readonly isBrowser = inject(Platform).isBrowser;\n protected readonly nativeElement = kbqInjectNativeElement();\n private readonly window = inject(KBQ_WINDOW);\n\n readonly hovered = new Subject<boolean>();\n\n outerElementWidth: number;\n isTextOverflown: boolean = false;\n\n get text(): string {\n return this.nativeElement.textContent || '';\n }\n\n get isOverflown() {\n return this.nativeElement.scrollWidth > this.nativeElement.clientWidth;\n }\n\n ngAfterViewInit(): void {\n this.outerElementWidth = this.getOuterElementWidth();\n\n this.checkTextOverflown();\n }\n\n getOuterElementWidth(): number {\n if (!this.isBrowser) return 0;\n\n const { width, marginLeft, marginRight } = this.window.getComputedStyle(this.nativeElement);\n\n return [width, marginLeft, marginRight].reduce((acc, item) => acc + parseInt(item) || 0, 0);\n }\n\n checkTextOverflown() {\n this.isTextOverflown = this.text.length > kbqMaxSymbolsInHeaderTitle;\n }\n}\n\n@Directive({\n standalone: true,\n selector: '[kbqNavbarIcDivider]',\n host: {\n class: 'kbq-navbar-ic-divider'\n }\n})\nexport class KbqNavbarIcDivider {}\n\n@Directive({\n standalone: true,\n selector:\n 'kbq-navbar-ic-item, [kbq-navbar-ic-item], kbq-navbar-ic-header, [kbq-navbar-ic-header], kbq-navbar-ic-toggle',\n host: {\n '[attr.tabindex]': '-1',\n '[attr.disabled]': 'disabled || null',\n\n class: 'kbq-navbar-ic-focusable-item',\n '[class.kbq-disabled]': 'disabled',\n\n '(focus)': 'focusHandler()',\n '(blur)': 'blurHandler()'\n }\n})\nexport class KbqNavbarIcFocusableItem implements AfterContentInit, AfterViewInit, OnDestroy, IFocusableOption {\n protected readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n protected readonly changeDetector = inject(ChangeDetectorRef);\n protected readonly focusMonitor = inject(FocusMonitor);\n protected readonly ngZone = inject(NgZone);\n\n /** @docs-private */\n @ContentChild(KbqNavbarIcTitle) title: KbqNavbarIcTitle;\n /** @docs-private */\n @ContentChild(KbqButton) button: KbqButton;\n /** @docs-private */\n @ContentChild(KbqFormField) formField: KbqFormField;\n\n get tooltip(): KbqTooltipTrigger {\n return this._tooltip;\n }\n\n private _tooltip: KbqTooltipTrigger;\n\n readonly onFocus = new Subject<KbqNavbarFocusableItemEvent>();\n\n readonly onBlur = new Subject<KbqNavbarFocusableItemEvent>();\n\n get hasFocus(): boolean {\n return this._hasFocus;\n }\n\n set hasFocus(value: boolean) {\n this._hasFocus = value;\n }\n\n private _hasFocus: boolean = false;\n\n /** Whether the item is disabled. */\n @Input({ transform: booleanAttribute })\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n if (value !== this._disabled) {\n this._disabled = value;\n this.changeDetector.markForCheck();\n }\n }\n\n private _disabled = false;\n\n ngAfterViewInit(): void {\n this.focusMonitor.monitor(this.elementRef);\n }\n\n ngAfterContentInit(): void {\n if (this.button) {\n this.button.tabIndex = -1;\n }\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n\n setTooltip(value: KbqTooltipTrigger) {\n this._tooltip = value;\n }\n\n focus(origin?: FocusOrigin): void {\n if (this.disabled || this.hasFocus) {\n return;\n }\n\n if (origin === 'keyboard') {\n this.focusMonitor.focusVia(this.elementRef, origin);\n }\n\n this.tooltip?.show();\n this.focusHandler();\n }\n\n /** @docs-private */\n focusHandler() {\n if (this.disabled || this.hasFocus) return;\n\n this.onFocus.next({ item: this });\n\n this.hasFocus = true;\n\n this.changeDetector.markForCheck();\n\n this.elementRef.nativeElement.focus();\n }\n\n /** @docs-private */\n blurHandler(): void {\n // When animations are enabled, Angular may end up removing the option from the DOM a little\n // earlier than usual, causing it to be blurred and throwing off the logic in the list\n // that moves focus not the next item. To work around the issue, we defer marking the option\n // as not focused until the next time the zone stabilizes.\n this.ngZone.onStable\n .asObservable()\n .pipe(take(1))\n .subscribe(() => {\n this.ngZone.run(() => {\n this._hasFocus = false;\n\n this.tooltip?.hide();\n\n if (this.button?.hasFocus) {\n return;\n }\n\n this.onBlur.next({ item: this });\n });\n });\n }\n\n getLabel(): string {\n return this.title?.text || '';\n }\n}\n\n@Component({\n standalone: true,\n selector: 'kbq-navbar-ic-item, [kbq-navbar-ic-item]',\n exportAs: 'kbqNavbarIcItem',\n templateUrl: './navbar-ic-item.html',\n styleUrl: './navbar-ic-item.scss',\n host: {\n class: 'kbq-navbar-ic-item',\n '[class.kbq-navbar-ic-item_with-title]': '!!title',\n\n '(keydown)': 'onKeyDown($event)'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [KbqRectangleItem],\n imports: [KbqIcon],\n animations: [toggleNavbarIcItemAnimation()]\n})\nexport class KbqNavbarIcItem extends KbqTooltipTrigger implements AfterContentInit {\n readonly rectangleElement = inject(KbqRectangleItem);\n readonly navbar = inject(KbqNavbarIc);\n readonly navbarFocusableItem = inject(KbqNavbarIcFocusableItem);\n\n private changeDetectorRef = inject(ChangeDetectorRef);\n private dropdownTrigger = inject(KbqDropdownTrigger, { optional: true });\n private tooltip = inject(KbqTooltipTrigger, { optional: true });\n\n /** @docs-private */\n @ContentChild(KbqNavbarIcTitle) title: KbqNavbarIcTitle;\n /** @docs-private */\n @ContentChild(KbqIcon) icon: KbqIcon;\n /** @docs-private */\n @ContentChild(KbqButtonCssStyler) button: KbqButtonCssStyler;\n\n @Input('kbqTrigger')\n get trigger(): string {\n return this._trigger;\n }\n\n set trigger(value: string) {\n if (value) {\n this._trigger = value;\n\n this.initListeners();\n }\n }\n\n set collapsed(value: boolean) {\n if (this._collapsed !== value) {\n this._collapsed = value;\n\n this.updateTooltip();\n }\n }\n\n private _collapsed = false;\n\n get croppedText(): string {\n return this.title?.isOverflown ? this.titleText : '';\n }\n\n get titleText(): string {\n return this.title?.text;\n }\n\n get disabled(): boolean {\n return this.collapsed || !this.hasCroppedText || this._disabled;\n }\n\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n get hasDropDownTrigger(): boolean {\n return !!this.dropdownTrigger;\n }\n\n get showDropDownAngle(): boolean {\n return this.hasDropDownTrigger && !this.collapsed;\n }\n\n get hasCroppedText(): boolean {\n return !!this.title?.isOverflown;\n }\n\n constructor() {\n super();\n\n if (this.dropdownTrigger) {\n this.dropdownTrigger.openByArrowDown = false;\n }\n\n this.rectangleElement.state.subscribe(() => {\n this.disabled = this.collapsed = this.rectangleElement.collapsed;\n\n this.changeDetectorRef.markForCheck();\n });\n\n this._trigger = `${PopUpTriggers.Hover}`;\n\n this.navbarFocusableItem.setTooltip(this);\n\n if (this.tooltip) {\n this.tooltip.arrow = false;\n this.tooltip.offset = 0;\n\n this.tooltip['overlayConfig'].panelClass = 'kbq-tooltip-panel_horizontal-navbar';\n }\n }\n\n ngAfterContentInit(): void {\n if (this.dropdownTrigger?.dropdown) {\n this.dropdownTrigger.dropdown.overlapTriggerX = false;\n this.dropdownTrigger.dropdown.overlapTriggerY = true;\n // needs to shift dropdown to the left by 8 pixels\n this.dropdownTrigger.offsetX = -8;\n }\n\n this.updateTooltip();\n }\n\n /** @docs-private */\n updateTooltip(): void {\n if (!this.collapsed && this.hasCroppedText) {\n this.content = this.croppedText;\n }\n\n this.placement = PopUpPlacements.Right;\n\n this.changeDetectorRef.markForCheck();\n }\n\n /** @docs-private */\n onKeyDown($event: KeyboardEvent) {\n if (!this.hasDropDownTrigger) {\n return;\n }\n\n if (this.dropdownTrigger && this.rectangleElement && $event.keyCode === RIGHT_ARROW) {\n this.dropdownTrigger.openedBy = 'keyboard';\n this.dropdownTrigger.open();\n\n $event.stopPropagation();\n $event.preventDefault();\n }\n }\n}\n\n@Component({\n standalone: true,\n selector: 'kbq-navbar-ic-toggle',\n template: `\n <div class=\"kbq-navbar-ic-item__inner\">\n @if (navbar.pinned) {\n <i kbq-icon [class.kbq-bars-arrow-left_16]=\"navbar.expanded\"></i>\n <ng-content select=\"[kbqNavbarIcTitle]\">{{ localeData.collapseButton }}</ng-content>\n } @else if ((navbar.expandedByHoverOrFocus || navbar.expandedByToggle) && !navbar.pinned) {\n <i kbq-icon [class.kbq-bars-arrow-right_16]=\"navbar.expanded\"></i>\n {{ localeData.pinButton }}\n } @else {\n <i kbq-icon [class.kbq-bars-arrow-right_16]=\"!navbar.expanded\"></i>\n }\n </div>\n `,\n styleUrls: ['./navbar-ic.scss'],\n host: {\n class: 'kbq-navbar-ic-item kbq-navbar-ic-toggle',\n '[class.kbq-collapsed]': '!navbar.expanded',\n '[class.kbq-expanded]': 'navbar.expanded',\n\n '(keydown)': 'onKeydown($event)',\n '(click)': 'toggle()'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [KbqIcon],\n hostDirectives: [KbqRectangleItem]\n})\nexport class KbqNavbarIcToggle {\n readonly navbar = inject(KbqNavbarIc);\n readonly rectangleElement = inject(KbqRectangleItem);\n\n protected readonly changeDetectorRef = inject(ChangeDetectorRef);\n\n protected modifier: TooltipModifier = TooltipModifier.Default;\n\n /** localized data\n * @docs-private */\n get localeData() {\n return this.navbar?.configuration.toggle;\n }\n\n constructor() {\n this.rectangleElement.state.subscribe(() => this.changeDetectorRef.markForCheck());\n }\n\n /** @docs-private */\n onKeydown($event: KeyboardEvent) {\n if ([SPACE, ENTER].includes($event.keyCode)) {\n this.toggle();\n\n $event.stopPropagation();\n $event.preventDefault();\n }\n }\n\n toggle = () => {\n if ((this.navbar.expandedByHoverOrFocus || this.navbar.expandedByToggle) && !this.navbar.pinned) {\n this.navbar.pinned = true;\n } else {\n this.navbar.pinned = false;\n this.navbar.toggle();\n }\n\n this.changeDetectorRef.detectChanges();\n };\n}\n","<div class=\"kbq-navbar-ic-item__inner\">\n <ng-content select=\"[kbq-icon]\" />\n\n @if (title && !collapsed) {\n <div class=\"kbq-navbar-ic-item__title-container\" [@toggle]=\"navbar.state.value\">\n <ng-content select=\"[kbqNavbarIcTitle]\" />\n\n @if (showDropDownAngle) {\n <i kbq-icon=\"kbq-chevron-right_16\" class=\"kbq-navbar-ic-item__arrow-icon\"></i>\n }\n </div>\n }\n\n <ng-content />\n</div>\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport {\n AfterContentInit,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n contentChildren,\n ContentChildren,\n DestroyRef,\n Directive,\n effect,\n ElementRef,\n forwardRef,\n inject,\n InjectionToken,\n Input,\n numberAttribute,\n OnDestroy,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FocusKeyManager } from '@koobiq/cdk/a11y';\nimport { DOWN_ARROW, isVerticalMovement, TAB, UP_ARROW } from '@koobiq/cdk/keycodes';\nimport { KBQ_LOCALE_SERVICE, KbqRectangleItem, ruRULocaleData } from '@koobiq/components/core';\nimport { KbqDropdownTrigger } from '@koobiq/components/dropdown';\nimport { KbqNotificationCenterTrigger } from '@koobiq/components/notification-center';\nimport { KbqPopoverTrigger } from '@koobiq/components/popover';\nimport { BehaviorSubject, EMPTY, filter, merge, Observable, Subject, Subscription, timer } from 'rxjs';\nimport { delay, startWith, switchMap, takeUntil, tap } from 'rxjs/operators';\nimport {\n KbqNavbarFocusableItemEvent,\n KbqNavbarIcFocusableItem,\n KbqNavbarIcItem,\n KbqNavbarIcToggle\n} from './navbar-ic-item';\nimport { toggleNavbarIcAnimation } from './navbar-ic.animation';\n\nexport enum KbqExpandEvents {\n toggle,\n hoverOrFocus\n}\n\n/** minimum timeout to use KBQ_ENTER_DELAY */\nexport const KBQ_MIN_TIMEOUT_FOR_ENTER_DELAY = 2000;\n\n/** delay before open navbar-ic */\nexport const KBQ_ENTER_DELAY = 400;\n\n/** default configuration of navbar-ic */\n/** @docs-private */\nexport const KBQ_NAVBAR_IC_DEFAULT_CONFIGURATION = ruRULocaleData.navbarIc;\n\n/** Injection Token for providing configuration of navbar-ic */\n/** @docs-private */\nexport const KBQ_NAVBAR_IC_CONFIGURATION = new InjectionToken('KbqNavbarIcConfiguration');\n\n@Directive()\nexport class KbqFocusable implements AfterContentInit, AfterViewInit, OnDestroy {\n protected readonly changeDetectorRef = inject(ChangeDetectorRef);\n protected readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n protected readonly destroyRef = inject(DestroyRef);\n protected readonly focusMonitor = inject(FocusMonitor);\n\n @ContentChildren(forwardRef(() => KbqNavbarIcFocusableItem), { descendants: true })\n focusableItems: QueryList<KbqNavbarIcFocusableItem>;\n\n keyManager: FocusKeyManager<KbqNavbarIcFocusableItem>;\n\n @Input({ transform: numberAttribute })\n get tabindex(): number {\n return this._tabindex;\n }\n\n set tabindex(value: number) {\n this._tabindex = value;\n }\n\n private _tabindex = 0;\n\n get itemFocusChanges(): Observable<KbqNavbarFocusableItemEvent> {\n return merge(...this.focusableItems.map((item) => item.onFocus));\n }\n\n get itemBlurChanges(): Observable<KbqNavbarFocusableItemEvent> {\n return merge(...this.focusableItems.map((option) => option.onBlur));\n }\n\n private itemFocusSubscription: Subscription | null;\n private itemBlurSubscription: Subscription | null;\n\n ngAfterContentInit(): void {\n this.keyManager = new FocusKeyManager<KbqNavbarIcFocusableItem>(this.focusableItems).withTypeAhead();\n\n this.keyManager.tabOut.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.tabindex = -1;\n\n setTimeout(() => {\n this.tabindex = 0;\n this.changeDetectorRef.markForCheck();\n });\n });\n\n this.focusableItems.changes.pipe(startWith(null), takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.resetOptions();\n\n // Check to see if we need to update our tab index\n this.updateTabIndex();\n });\n }\n\n ngAfterViewInit(): void {\n this.focusMonitor.monitor(this.elementRef).subscribe((focusOrigin) => {\n this.keyManager.setFocusOrigin(focusOrigin);\n });\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n\n /** @docs-private */\n focusHandler(): void {\n if (this.focusableItems.length === 0) return;\n\n this.keyManager.setFirstItemActive();\n }\n\n /** @docs-private */\n blurHandler() {\n if (!this.hasFocusedItem()) {\n this.keyManager.setActiveItem(-1);\n }\n\n this.changeDetectorRef.markForCheck();\n }\n\n protected resetOptions() {\n this.dropSubscriptions();\n this.listenToItemsFocus();\n }\n\n protected dropSubscriptions() {\n this.itemFocusSubscription?.unsubscribe();\n this.itemBlurSubscription?.unsubscribe();\n\n this.itemFocusSubscription = null;\n this.itemBlurSubscription = null;\n }\n\n protected listenToItemsFocus(): void {\n this.itemFocusSubscription = this.itemFocusChanges.subscribe((event) => {\n const index: number = this.focusableItems.toArray().indexOf(event.item);\n\n if (this.isValidIndex(index)) {\n this.keyManager.updateActiveItem(index);\n }\n });\n\n this.itemBlurSubscription = this.itemBlurChanges.subscribe(() => this.blurHandler());\n }\n\n protected updateTabIndex(): void {\n this.tabindex = this.focusableItems.length === 0 ? -1 : 0;\n }\n\n protected isValidIndex(index: number): boolean {\n return index >= 0 && index < this.focusableItems.length;\n }\n\n protected hasFocusedItem() {\n return this.focusableItems.some((item) => item.hasFocus);\n }\n}\n\n@Directive({\n standalone: true,\n selector: 'kbq-navbar-ic-container',\n host: {\n class: 'kbq-navbar-ic-container'\n }\n})\nexport class KbqNavbarIcContainer {}\n\n@Component({\n standalone: true,\n selector: 'kbq-navbar-ic',\n exportAs: 'KbqNavbarIc',\n template: `\n <div class=\"kbq-navbar-ic__top-layer\" [@toggle]=\"expanded\" (@toggle.done)=\"animationDone.next()\">\n <ng-content select=\"[kbq-navbar-ic-container], kbq-navbar-ic-container\" />\n <ng-content select=\"[kbq-navbar-ic-toggle], kbq-navbar-ic-toggle\" />\n </div>\n `,\n styleUrls: [\n './navbar-ic.scss',\n './navbar-ic-divider.scss',\n './navbar-ic-tokens.scss'\n ],\n host: {\n class: 'kbq-navbar-ic',\n '[class.kbq-collapsed]': '!expanded',\n '[class.kbq-expanded]': 'expanded',\n '[style.min-width.px]': 'pinned ? expandedWidth : collapsedWidth',\n '[attr.tabindex]': 'tabindex',\n\n '(focus)': 'focusHandler()',\n '(blur)': 'blurHandler()',\n\n '(keydown)': 'onKeyDown($event)',\n\n '(mouseenter)': 'hovered.next(true)',\n '(mouseleave)': 'hovered.next(false)'\n },\n animations: [toggleNavbarIcAnimation()],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqNavbarIc extends KbqFocusable implements AfterContentInit {\n /** @docs-private */\n protected readonly localeService = inject(KBQ_LOCALE_SERVICE, { optional: true });\n\n readonly externalConfiguration = inject(KBQ_NAVBAR_IC_CONFIGURATION, { optional: true });\n\n readonly state = new BehaviorSubject<'expanded' | 'collapsed' | null>(null);\n\n configuration;\n\n /** @docs-private */\n rectangleElements = contentChildren(\n forwardRef(() => KbqRectangleItem),\n { descendants: true }\n );\n\n /** @docs-private */\n items = contentChildren(\n forwardRef(() => KbqNavbarIcItem),\n { descendants: true }\n );\n\n /** @docs-private */\n toggleElement = contentChildren(\n forwardRef(() => KbqNavbarIcToggle),\n { descendants: true }\n );\n\n /** @docs-private */\n dropdownTrigger = contentChildren(\n forwardRef(() => KbqDropdownTrigger),\n { descendants: true }\n );\n\n /** @docs-private */\n popoverTrigger = contentChildren(\n forwardRef(() => KbqPopoverTrigger),\n { descendants: true }\n );\n\n /** @docs-private */\n notificationCenterTrigger = contentChildren(\n forwardRef(() => KbqNotificationCenterTrigger),\n { descendants: true }\n );\n\n readonly hovered = new BehaviorSubject<boolean>(false);\n readonly focused = new BehaviorSubject<boolean>(false);\n\n readonly animationDone: Subject<void> = new Subject();\n\n expandEvent: KbqExpandEvents | null = null;\n\n @Input({ transform: booleanAttribute }) pinned = true;\n\n @Input({ transform: numberAttribute }) collapsedWidth = 64;\n @Input({ transform: numberAttribute }) expandedWidth = 240;\n\n @Input({ transform: booleanAttribute })\n get expanded(): boolean {\n return this._expanded || this.pinned || this.hasOpenedPopUp;\n }\n\n set expanded(value: boolean) {\n this._expanded = value;\n\n this.state.next(value || this.pinned || this.hasOpenedPopUp ? 'expanded' : 'collapsed');\n\n this.updateExpandedStateForItems();\n }\n\n private _expanded: boolean = true;\n\n get hasOpenedPopUp() {\n return [...this.dropdownTrigger(), ...this.popoverTrigger(), ...this.notificationCenterTrigger()].some(\n (instance) => instance?.isOpen || instance?.opened\n );\n }\n\n get expandedByToggle() {\n return this.expanded && this.expandEvent === KbqExpandEvents.toggle;\n }\n\n get expandedByHoverOrFocus() {\n return this.expanded && this.expandEvent === KbqExpandEvents.hoverOrFocus;\n }\n\n get currentWidth(): number {\n return this.expanded ? this.expandedWidth : this.collapsedWidth;\n }\n\n private lastOpeningTime: number;\n\n constructor() {\n super();\n\n effect(this.updateExpandedStateForItems);\n\n this.focused\n .pipe(\n delay(0),\n filter(() => !this.pinned || !this.hasOpenedPopUp),\n takeUntilDestroyed()\n )\n .subscribe((focused) => {\n if (this.hovered.value) return;\n\n this.expandEvent = KbqExpandEvents.hoverOrFocus;\n this.expanded = focused;\n\n this.changeDetectorRef.markForCheck();\n });\n\n this.hovered\n .pipe(\n filter(() => !this.pinned),\n switchMap((hovered) => {\n if (!hovered) {\n if (this.expanded) {\n this.lastOpeningTime = Date.now();\n }\n\n this.expanded = false;\n\n return EMPTY;\n }\n\n return timer(this.getExpandDelay()).pipe(\n tap(() => {\n this.expandEvent = KbqExpandEvents.hoverOrFocus;\n this.expanded = true;\n this.changeDetectorRef.markForCheck();\n }),\n takeUntil(this.hovered.pipe(filter((h) => !h)))\n );\n }),\n takeUntilDestroyed()\n )\n .subscribe();\n\n this.focusMonitor.monitor(this.elementRef, true).subscribe((focusOrigin) => {\n this.focused.next(focusOrigin === 'keyboard');\n });\n\n this.localeService?.changes.pipe(takeUntilDestroyed()).subscribe(this.updateLocaleParams);\n\n if (!this.localeService) {\n this.initDefaultParams();\n }\n }\n\n /** @docs-private */\n ngAfterContentInit(): void {\n this.updateTooltipForItems();\n\n super.ngAfterContentInit();\n\n this.keyManager.withVerticalOrientation(true);\n }\n\n toggle(): void {\n this.expanded = !this.expanded;\n\n this.expandEvent = KbqExpandEvents.toggle;\n\n this.changeDetectorRef.markForCheck();\n }\n\n /** @docs-private */\n onKeyDown(event: KeyboardEvent) {\n const keyCode = event.keyCode;\n\n if (!(event.target as HTMLElement).attributes.getNamedItem('kbqinput') && isVerticalMovement(event)) {\n event.preventDefault();\n }\n\n if (keyCode === TAB) {\n this.keyManager.tabOut.next();\n\n return;\n } else if (keyCode === DOWN_ARROW) {\n this.keyManager.setNextItemActive();\n } else if (keyCode === UP_ARROW) {\n this.keyManager.setPreviousItemActive();\n } else {\n this.keyManager.onKeydown(event);\n }\n }\n\n private getExpandDelay() {\n return Date.now() - this.lastOpeningTime < KBQ_MIN_TIMEOUT_FOR_ENTER_DELAY ? 0 : KBQ_ENTER_DELAY;\n }\n\n protected updateTooltipForItems = () => this.items().forEach((item) => item.updateTooltip());\n\n protected updateExpandedStateForItems = () => this.rectangleElements().forEach(this.updateItemExpandedState);\n\n protected updateItemExpandedState = (item: KbqNavbarIcItem): void => {\n setTimeout(() => {\n item.collapsed = !this.expanded;\n item.button?.updateClassModifierForIcons();\n });\n };\n\n private updateLocaleParams = () => {\n this.configuration = this.externalConfiguration || this.localeService?.getParams('navbarIc');\n\n this.changeDetectorRef.markForCheck();\n };\n\n private initDefaultParams() {\n this.configuration = KBQ_NAVBAR_IC_DEFAULT_CONFIGURATION;\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n DestroyRef,\n inject,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { kbqInjectNativeElement, PopUpPlacements, PopUpTriggers } from '@koobiq/components/core';\nimport { KbqTooltipTrigger } from '@koobiq/components/tooltip';\nimport { distinctUntilChanged } from 'rxjs/operators';\nimport { KbqNavbarIc } from './navbar-ic';\nimport { KbqNavbarIcLogo, KbqNavbarIcTitle } from './navbar-ic-item';\nimport { toggleNavbarIcItemAnimation } from './navbar-ic.animation';\n\n@Component({\n standalone: true,\n selector: 'kbq-navbar-ic-header, [kbq-navbar-ic-header]',\n exportAs: 'kbqNavbarIcHeader',\n template: `\n <div class=\"kbq-navbar-ic-header__inner\">\n <ng-content select=\"[kbqNavbarIcLogo]\" />\n\n <div [@toggle]=\"navbar.state.value\">\n <ng-content select=\"[kbqNavbarIcTitle]\" />\n </div>\n <ng-content />\n </div>\n `,\n styleUrl: './navbar-ic-header.scss',\n host: {\n class: 'kbq-navbar-ic-header',\n '[class.kbq-navbar-ic-header_interactive]': 'isLink'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n animations: [toggleNavbarIcItemAnimation()]\n})\nexport class KbqNavbarIcHeader extends KbqTooltipTrigger implements AfterContentInit {\n protected readonly navbar = inject(KbqNavbarIc);\n protected readonly nativeElement = kbqInjectNativeElement();\n protected readonly destroyRef = inject(DestroyRef);\n protected readonly changeDetectorRef = inject(ChangeDetectorRef);\n\n @ContentChild(KbqNavbarIcLogo) logo: KbqNavbarIcLogo;\n @ContentChild(KbqNavbarIcTitle) title: KbqNavbarIcTitle;\n\n get titleText(): string {\n return this.title?.text || '';\n }\n\n get isLink(): boolean {\n return this.nativeElement.tagName === 'A';\n }\n\n constructor() {\n super();\n\n this._trigger = `${PopUpTriggers.Hover}`;\n\n this.arrow = false;\n this.offset = -8;\n this.tooltipPlacement = PopUpPlacements.RightTop;\n }\n\n ngAfterContentInit(): void {\n this.navbar?.animationDone\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.title?.checkTextOverflown());\n\n this.navbar.state.pipe(distinctUntilChanged(), takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.changeDetectorRef.detectChanges();\n });\n\n this.title?.checkTextOverflown();\n\n if (this.title?.isTextOverflown) {\n this.content = this.titleText;\n }\n }\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { NgModule } from '@angular/core';\nimport { KbqRectangleItem } from '@koobiq/components/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqToolTipModule } from '@koobiq/components/tooltip';\nimport { KbqNavbarIc, KbqNavbarIcContainer } from './navbar-ic';\nimport { KbqNavbarIcHeader } from './navbar-ic-header';\nimport {\n KbqNavbarIcDivider,\n KbqNavbarIcFocusableItem,\n KbqNavbarIcItem,\n KbqNavbarIcLogo,\n KbqNavbarIcTitle,\n KbqNavbarIcToggle\n} from './navbar-ic-item';\n\n@NgModule({\n imports: [\n A11yModule,\n PlatformModule,\n KbqIconModule,\n KbqToolTipModule,\n KbqNavbarIc,\n KbqNavbarIcTitle,\n KbqNavbarIcItem,\n KbqNavbarIcHeader,\n KbqNavbarIcLogo,\n KbqNavbarIcToggle,\n KbqNavbarIcDivider,\n KbqNavbarIcFocusableItem,\n KbqNavbarIcContainer,\n KbqRectangleItem\n ],\n exports: [\n KbqNavbarIc,\n KbqNavbarIcContainer,\n KbqNavbarIcTitle,\n KbqNavbarIcItem,\n KbqNavbarIcHeader,\n KbqNavbarIcLogo,\n KbqNavbarIcToggle,\n KbqNavbarIcDivider,\n KbqNavbarIcFocusableItem\n ]\n})\nexport class KbqNavbarIcModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;SAEgB,uBAAuB,GAAA;IACnC,OAAO,OAAO,CAAC,QAAQ,EAAE;QACrB,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACpC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AACrC,QAAA,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,oCAAoC,CAAC,CAAC;AAAC,KAAA,CAAC,CAAC;AAC/E,CAAC;SAEe,2BAA2B,GAAA;IACvC,OAAO,OAAO,CAAC,QAAQ,EAAE;AACrB,QAAA,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;AACvD,QAAA,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAC7D,QAAA,UAAU,CAAC,uBAAuB,EAAE,OAAO,CAAC,0CAA0C,CAAC,CAAC;AACxF,QAAA,UAAU,CAAC,uBAAuB,EAAE,OAAO,CAAC,oCAAoC,CAAC,CAAC;AAAC,KAAA,CAAC,CAAC;AAC7F;;ACuBA;;AAEG;AACI,MAAM,0BAA0B,GAAG,GAAG;MAahC,eAAe,CAAA;kIAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;sHAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,oBAAoB;AAC9B,qBAAA;AACJ,iBAAA,CAAA;;MAcY,gBAAgB,CAAA;AAX7B,IAAA,WAAA,GAAA;AAYuB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC;QACvC,IAAa,CAAA,aAAA,GAAG,sBAAsB,EAAE,CAAC;AAC3C,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAEpC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,OAAO,EAAW,CAAC;QAG1C,IAAe,CAAA,eAAA,GAAY,KAAK,CAAC;AA2BpC,KAAA;AAzBG,IAAA,IAAI,IAAI,GAAA;AACJ,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,EAAE,CAAC;KAC/C;AAED,IAAA,IAAI,WAAW,GAAA;QACX,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;KAC1E;IAED,eAAe,GAAA;AACX,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAErD,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC7B;IAED,oBAAoB,GAAA;QAChB,IAAI,CAAC,IAAI,CAAC,SAAS;AAAE,YAAA,OAAO,CAAC,CAAC;AAE9B,QAAA,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAE5F,QAAA,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;KAC/F;IAED,kBAAkB,GAAA;QACd,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,0BAA0B,CAAC;KACxE;kIAlCQ,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;sHAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,0CAAA,EAAA,iBAAA,EAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAX5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,qBAAqB;AAC5B,wBAAA,4CAA4C,EAAE,iBAAiB;AAE/D,wBAAA,cAAc,EAAE,oBAAoB;AACpC,wBAAA,cAAc,EAAE,qBAAqB;AACxC,qBAAA;AACJ,iBAAA,CAAA;;MA6CY,kBAAkB,CAAA;kIAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;sHAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,uBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,uBAAuB;AACjC,qBAAA;AACJ,iBAAA,CAAA;;MAkBY,wBAAwB,CAAA;AAfrC,IAAA,WAAA,GAAA;AAgBuB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAA0B,UAAU,CAAC,CAAC;AACzD,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAC3C,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AACpC,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAelC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,OAAO,EAA+B,CAAC;AAErD,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,OAAO,EAA+B,CAAC;QAUrD,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;QAe3B,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AAyE7B,KAAA;AA1GG,IAAA,IAAI,OAAO,GAAA;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;KACxB;AAQD,IAAA,IAAI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IAED,IAAI,QAAQ,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;KAC1B;;AAKD,IAAA,IACI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IAED,IAAI,QAAQ,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE;AAC1B,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AACvB,YAAA,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;SACtC;KACJ;IAID,eAAe,GAAA;QACX,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAC9C;IAED,kBAAkB,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACb,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;SAC7B;KACJ;IAED,WAAW,GAAA;QACP,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACrD;AAED,IAAA,UAAU,CAAC,KAAwB,EAAA;AAC/B,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;KACzB;AAED,IAAA,KAAK,CAAC,MAAoB,EAAA;QACtB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;YAChC,OAAO;SACV;AAED,QAAA,IAAI,MAAM,KAAK,UAAU,EAAE;YACvB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;SACvD;AAED,QAAA,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,EAAE,CAAC;KACvB;;IAGD,YAAY,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE3C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAElC,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AAErB,QAAA,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;AAEnC,QAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KACzC;;IAGD,WAAW,GAAA;;;;;QAKP,IAAI,CAAC,MAAM,CAAC,QAAQ;AACf,aAAA,YAAY,EAAE;AACd,aAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACb,SAAS,CAAC,MAAK;AACZ,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACjB,gBAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AAEvB,gBAAA,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;AAErB,gBAAA,IAAI,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE;oBACvB,OAAO;iBACV;gBAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACrC,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACV;IAED,QAAQ,GAAA;AACJ,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC;KACjC;kIAtHQ,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,6LAkCb,gBAAgB,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,eAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,8BAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EA3BtB,gBAAgB,EAEhB,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,SAAS,4EAET,YAAY,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAXjB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAfpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EACJ,8GAA8G;AAClH,oBAAA,IAAI,EAAE;AACF,wBAAA,iBAAiB,EAAE,IAAI;AACvB,wBAAA,iBAAiB,EAAE,kBAAkB;AAErC,wBAAA,KAAK,EAAE,8BAA8B;AACrC,wBAAA,sBAAsB,EAAE,UAAU;AAElC,wBAAA,SAAS,EAAE,gBAAgB;AAC3B,wBAAA,QAAQ,EAAE,eAAe;AAC5B,qBAAA;AACJ,iBAAA,CAAA;8BAQmC,KAAK,EAAA,CAAA;sBAApC,YAAY;uBAAC,gBAAgB,CAAA;gBAEL,MAAM,EAAA,CAAA;sBAA9B,YAAY;uBAAC,SAAS,CAAA;gBAEK,SAAS,EAAA,CAAA;sBAApC,YAAY;uBAAC,YAAY,CAAA;gBAwBtB,QAAQ,EAAA,CAAA;sBADX,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;;AAyGpC,MAAO,eAAgB,SAAQ,iBAAiB,CAAA;AAgBlD,IAAA,IACI,OAAO,GAAA;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;KACxB;IAED,IAAI,OAAO,CAAC,KAAa,EAAA;QACrB,IAAI,KAAK,EAAE;AACP,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YAEtB,IAAI,CAAC,aAAa,EAAE,CAAC;SACxB;KACJ;IAED,IAAI,SAAS,CAAC,KAAc,EAAA;AACxB,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;AAC3B,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YAExB,IAAI,CAAC,aAAa,EAAE,CAAC;SACxB;KACJ;AAID,IAAA,IAAI,WAAW,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACxD;AAED,IAAA,IAAI,SAAS,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;KAC3B;AAED,IAAA,IAAI,QAAQ,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,SAAS,CAAC;KACnE;IAED,IAAI,QAAQ,CAAC,KAAK,EAAA;AACd,QAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KACjD;AAED,IAAA,IAAI,kBAAkB,GAAA;AAClB,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;KACjC;AAED,IAAA,IAAI,iBAAiB,GAAA;QACjB,OAAO,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;KACrD;AAED,IAAA,IAAI,cAAc,GAAA;AACd,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC;KACpC;AAED,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE,CAAC;AAnEH,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAC5C,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAC7B,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAExD,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAC9C,IAAe,CAAA,eAAA,GAAG,MAAM,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,IAAO,CAAA,OAAA,GAAG,MAAM,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QA8BxD,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;AAiCvB,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACtB,YAAA,IAAI,CAAC,eAAe,CAAC,eAAe,GAAG,KAAK,CAAC;SAChD;QAED,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,MAAK;AACvC,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;AAEjE,YAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;AAC1C,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,CAAA,EAAG,aAAa,CAAC,KAAK,EAAE,CAAC;AAEzC,QAAA,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAE1C,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AACd,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;AAC3B,YAAA,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YAExB,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,UAAU,GAAG,qCAAqC,CAAC;SACpF;KACJ;IAED,kBAAkB,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE,QAAQ,EAAE;YAChC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,eAAe,GAAG,KAAK,CAAC;YACtD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC;;AAErD,YAAA,IAAI,CAAC,eAAe,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;SACrC;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;KACxB;;IAGD,aAAa,GAAA;QACT,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE;AACxC,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;SACnC;AAED,QAAA,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC;AAEvC,QAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;KACzC;;AAGD,IAAA,SAAS,CAAC,MAAqB,EAAA;AAC3B,QAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC1B,OAAO;SACV;AAED,QAAA,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,gBAAgB,IAAI,MAAM,CAAC,OAAO,KAAK,WAAW,EAAE;AACjF,YAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,GAAG,UAAU,CAAC;AAC3C,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;YAE5B,MAAM,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,CAAC,cAAc,EAAE,CAAC;SAC3B;KACJ;kIA/HQ,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAf,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,EAUV,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0CAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,SAAA,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,qCAAA,EAAA,SAAA,EAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,gBAAgB,EAEhB,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,MAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,OAAO,yEAEP,kBAAkB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzRpC,meAeA,EAAA,MAAA,EAAA,CAAA,gyCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDyPc,OAAO,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EACL,CAAC,2BAA2B,EAAE,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAElC,eAAe,EAAA,UAAA,EAAA,CAAA;kBAlB3B,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACN,QAAA,EAAA,0CAA0C,EAC1C,QAAA,EAAA,iBAAiB,EAGrB,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,oBAAoB;AAC3B,wBAAA,uCAAuC,EAAE,SAAS;AAElD,wBAAA,WAAW,EAAE,mBAAmB;AACnC,qBAAA,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EACrB,cAAA,EAAA,CAAC,gBAAgB,CAAC,EAAA,OAAA,EACzB,CAAC,OAAO,CAAC,cACN,CAAC,2BAA2B,EAAE,CAAC,EAAA,QAAA,EAAA,meAAA,EAAA,MAAA,EAAA,CAAA,gyCAAA,CAAA,EAAA,CAAA;wDAYX,KAAK,EAAA,CAAA;sBAApC,YAAY;uBAAC,gBAAgB,CAAA;gBAEP,IAAI,EAAA,CAAA;sBAA1B,YAAY;uBAAC,OAAO,CAAA;gBAEa,MAAM,EAAA,CAAA;sBAAvC,YAAY;uBAAC,kBAAkB,CAAA;gBAG5B,OAAO,EAAA,CAAA;sBADV,KAAK;uBAAC,YAAY,CAAA;;MAgJV,iBAAiB,CAAA;AAQ1B;AACmB;AACnB,IAAA,IAAI,UAAU,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC;KAC5C;AAED,IAAA,WAAA,GAAA;AAbS,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAC7B,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAElC,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAEvD,QAAA,IAAA,CAAA,QAAQ,GAAoB,eAAe,CAAC,OAAO,CAAC;QAsB9D,IAAM,CAAA,MAAA,GAAG,MAAK;YACV,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;AAC7F,gBAAA,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;aAC7B;iBAAM;AACH,gBAAA,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;AAC3B,gBAAA,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;aACxB;AAED,YAAA,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;AAC3C,SAAC,CAAC;AAtBE,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC;KACtF;;AAGD,IAAA,SAAS,CAAC,MAAqB,EAAA;AAC3B,QAAA,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YAEd,MAAM,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,CAAC,cAAc,EAAE,CAAC;SAC3B;KACJ;kIA1BQ,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,EA3BhB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,EAAA,cAAA,EAAA,yCAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;AAYT,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,yoUAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAYS,OAAO,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAGR,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBA9B7B,SAAS;iCACM,IAAI,EAAA,QAAA,EACN,sBAAsB,EACtB,QAAA,EAAA,CAAA;;;;;;;;;;;;KAYT,EAEK,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,yCAAyC;AAChD,wBAAA,uBAAuB,EAAE,kBAAkB;AAC3C,wBAAA,sBAAsB,EAAE,iBAAiB;AAEzC,wBAAA,WAAW,EAAE,mBAAmB;AAChC,wBAAA,SAAS,EAAE,UAAU;AACxB,qBAAA,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAC5B,OAAA,EAAA,CAAC,OAAO,CAAC,EACF,cAAA,EAAA,CAAC,gBAAgB,CAAC,EAAA,MAAA,EAAA,CAAA,yoUAAA,CAAA,EAAA,CAAA;;;IEjY1B,gBAGX;AAHD,CAAA,UAAY,eAAe,EAAA;AACvB,IAAA,eAAA,CAAA,eAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM,CAAA;AACN,IAAA,eAAA,CAAA,eAAA,CAAA,cAAA,CAAA,GAAA,CAAA,CAAA,GAAA,cAAY,CAAA;AAChB,CAAC,EAHW,eAAe,KAAf,eAAe,GAG1B,EAAA,CAAA,CAAA,CAAA;AAED;AACO,MAAM,+BAA+B,GAAG,KAAK;AAEpD;AACO,MAAM,eAAe,GAAG,IAAI;AAEnC;AACA;AACa,MAAA,mCAAmC,GAAG,cAAc,CAAC,SAAS;AAE3E;AACA;MACa,2BAA2B,GAAG,IAAI,cAAc,CAAC,0BAA0B,EAAE;MAG7E,YAAY,CAAA;AADzB,IAAA,WAAA,GAAA;AAEuB,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAC9C,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAA0B,UAAU,CAAC,CAAC;AACzD,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAChC,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QAgB/C,IAAS,CAAA,SAAA,GAAG,CAAC,CAAC;AA+FzB,KAAA;AAxGG,IAAA,IACI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IAED,IAAI,QAAQ,CAAC,KAAa,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;KAC1B;AAID,IAAA,IAAI,gBAAgB,GAAA;AAChB,QAAA,OAAO,KAAK,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;KACpE;AAED,IAAA,IAAI,eAAe,GAAA;AACf,QAAA,OAAO,KAAK,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;KACvE;IAKD,kBAAkB,GAAA;AACd,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,eAAe,CAA2B,IAAI,CAAC,cAAc,CAAC,CAAC,aAAa,EAAE,CAAC;AAErG,QAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;AAC5E,YAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YAEnB,UAAU,CAAC,MAAK;AACZ,gBAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;AAClB,gBAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;AAC1C,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;YAClG,IAAI,CAAC,YAAY,EAAE,CAAC;;YAGpB,IAAI,CAAC,cAAc,EAAE,CAAC;AAC1B,SAAC,CAAC,CAAC;KACN;IAED,eAAe,GAAA;AACX,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,KAAI;AACjE,YAAA,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;AAChD,SAAC,CAAC,CAAC;KACN;IAED,WAAW,GAAA;QACP,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACrD;;IAGD,YAAY,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;AAE7C,QAAA,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;KACxC;;IAGD,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE;YACxB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;SACrC;AAED,QAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;KACzC;IAES,YAAY,GAAA;QAClB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC7B;IAES,iBAAiB,GAAA;AACvB,QAAA,IAAI,CAAC,qBAAqB,EAAE,WAAW,EAAE,CAAC;AAC1C,QAAA,IAAI,CAAC,oBAAoB,EAAE,WAAW,EAAE,CAAC;AAEzC,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;AAClC,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;KACpC;IAES,kBAAkB,GAAA;AACxB,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AACnE,YAAA,MAAM,KAAK,GAAW,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAExE,YAAA,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;AAC1B,gBAAA,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;aAC3C;AACL,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;KACxF;IAES,cAAc,GAAA;AACpB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;KAC7D;AAES,IAAA,YAAY,CAAC,KAAa,EAAA;QAChC,OAAO,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;KAC3D;IAES,cAAc,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC5D;kIAlHQ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;sHAAZ,YAAY,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAWD,eAAe,CAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MALD,wBAAwB,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FANjD,YAAY,EAAA,UAAA,EAAA,CAAA;kBADxB,SAAS;8BAQN,cAAc,EAAA,CAAA;sBADb,eAAe;uBAAC,UAAU,CAAC,MAAM,wBAAwB,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;gBAM9E,QAAQ,EAAA,CAAA;sBADX,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAA;;MAiH5B,oBAAoB,CAAA;kIAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;sHAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,yBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,yBAAyB;AACnC,qBAAA;AACJ,iBAAA,CAAA;;AAqCK,MAAO,WAAY,SAAQ,YAAY,CAAA;AA0DzC,IAAA,IACI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC;KAC/D;IAED,IAAI,QAAQ,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,GAAG,UAAU,GAAG,WAAW,CAAC,CAAC;QAExF,IAAI,CAAC,2BAA2B,EAAE,CAAC;KACtC;AAID,IAAA,IAAI,cAAc,GAAA;AACd,QAAA,OAAO,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,IAAI,CAClG,CAAC,QAAQ,KAAK,QAAQ,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,CACrD,CAAC;KACL;AAED,IAAA,IAAI,gBAAgB,GAAA;QAChB,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,KAAK,eAAe,CAAC,MAAM,CAAC;KACvE;AAED,IAAA,IAAI,sBAAsB,GAAA;QACtB,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,KAAK,eAAe,CAAC,YAAY,CAAC;KAC7E;AAED,IAAA,IAAI,YAAY,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;KACnE;AAID,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE,CAAC;;QA5FO,IAAa,CAAA,aAAA,GAAG,MAAM,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAEzE,IAAqB,CAAA,qBAAA,GAAG,MAAM,CAAC,2BAA2B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAEhF,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,eAAe,CAAkC,IAAI,CAAC,CAAC;;AAK5E,QAAA,IAAA,CAAA,iBAAiB,GAAG,eAAe,CAC/B,UAAU,CAAC,MAAM,gBAAgB,CAAC,EAClC,EAAE,WAAW,EAAE,IAAI,EAAE,CACxB,CAAC;;AAGF,QAAA,IAAA,CAAA,KAAK,GAAG,eAAe,CACnB,UAAU,CAAC,MAAM,eAAe,CAAC,EACjC,EAAE,WAAW,EAAE,IAAI,EAAE,CACxB,CAAC;;AAGF,QAAA,IAAA,CAAA,aAAa,GAAG,eAAe,CAC3B,UAAU,CAAC,MAAM,iBAAiB,CAAC,EACnC,EAAE,WAAW,EAAE,IAAI,EAAE,CACxB,CAAC;;AAGF,QAAA,IAAA,CAAA,eAAe,GAAG,eAAe,CAC7B,UAAU,CAAC,MAAM,kBAAkB,CAAC,EACpC,EAAE,WAAW,EAAE,IAAI,EAAE,CACxB,CAAC;;AAGF,QAAA,IAAA,CAAA,cAAc,GAAG,eAAe,CAC5B,UAAU,CAAC,MAAM,iBAAiB,CAAC,EACnC,EAAE,WAAW,EAAE,IAAI,EAAE,CACxB,CAAC;;AAGF,QAAA,IAAA,CAAA,yBAAyB,GAAG,eAAe,CACvC,UAAU,CAAC,MAAM,4BAA4B,CAAC,EAC9C,EAAE,WAAW,EAAE,IAAI,EAAE,CACxB,CAAC;AAEO,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;AAC9C,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;AAE9C,QAAA,IAAA,CAAA,aAAa,GAAkB,IAAI,OAAO,EAAE,CAAC;QAEtD,IAAW,CAAA,WAAA,GAA2B,IAAI,CAAC;QAEH,IAAM,CAAA,MAAA,GAAG,IAAI,CAAC;QAEf,IAAc,CAAA,cAAA,GAAG,EAAE,CAAC;QACpB,IAAa,CAAA,aAAA,GAAG,GAAG,CAAC;QAenD,IAAS,CAAA,SAAA,GAAY,IAAI,CAAC;QA0HxB,IAAqB,CAAA,qBAAA,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;AAEnF,QAAA,IAAA,CAAA,2BAA2B,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;AAEnG,QAAA,IAAA,CAAA,uBAAuB,GAAG,CAAC,IAAqB,KAAU;YAChE,UAAU,CAAC,MAAK;AACZ,gBAAA,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AAChC,gBAAA,IAAI,CAAC,MAAM,EAAE,2BAA2B,EAAE,CAAC;AAC/C,aAAC,CAAC,CAAC;AACP,SAAC,CAAC;QAEM,IAAkB,CAAA,kBAAA,GAAG,MAAK;AAC9B,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;AAE7F,YAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;AAC1C,SAAC,CAAC;AAhHE,QAAA,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;AAEzC,QAAA,IAAI,CAAC,OAAO;aACP,IAAI,CACD,KAAK,CAAC,CAAC,CAAC,EACR,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAClD,kBAAkB,EAAE,CACvB;AACA,aAAA,SAAS,CAAC,CAAC,OAAO,KAAI;AACnB,YAAA,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK;gBAAE,OAAO;AAE/B,YAAA,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,YAAY,CAAC;AAChD,YAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;AAExB,YAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;AAC1C,SAAC,CAAC,CAAC;AAEP,QAAA,IAAI,CAAC,OAAO;AACP,aAAA,IAAI,CACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAC1B,SAAS,CAAC,CAAC,OAAO,KAAI;YAClB,IAAI,CAAC,OAAO,EAAE;AACV,gBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,oBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;iBACrC;AAED,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AAEtB,gBAAA,OAAO,KAAK,CAAC;aAChB;AAED,YAAA,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CACpC,GAAG,CAAC,MAAK;AACL,gBAAA,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,YAAY,CAAC;AAChD,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,gBAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;aACzC,CAAC,EACF,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAClD,CAAC;AACN,SAAC,CAAC,EACF,kBAAkB,EAAE,CACvB;AACA,aAAA,SAAS,EAAE,CAAC;AAEjB,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,KAAI;YACvE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC;AAClD,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAE1F,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACrB,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC5B;KACJ;;IAGD,kBAAkB,GAAA;QACd,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,KAAK,CAAC,kBAAkB,EAAE,CAAC;AAE3B,QAAA,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;KACjD;IAED,MAAM,GAAA;AACF,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AAE/B,QAAA,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC;AAE1C,QAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;KACzC;;AAGD,IAAA,SAAS,CAAC,KAAoB,EAAA;AAC1B,QAAA,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;AAE9B,QAAA,IAAI,CAAE,KAAK,CAAC,MAAsB,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE;YACjG,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;AAED,QAAA,IAAI,OAAO,KAAK,GAAG,EAAE;AACjB,YAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAE9B,OAAO;SACV;AAAM,aAAA,IAAI,OAAO,KAAK,UAAU,EAAE;AAC/B,YAAA,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;SACvC;AAAM,aAAA,IAAI,OAAO,KAAK,QAAQ,EAAE;AAC7B,YAAA,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC;SAC3C;aAAM;AACH,YAAA,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACpC;KACJ;IAEO,cAAc,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,GAAG,+BAA+B,GAAG,CAAC,GAAG,eAAe,CAAC;KACpG;IAmBO,iBAAiB,GAAA;AACrB,QAAA,IAAI,CAAC,aAAa,GAAG,mCAAmC,CAAC;KAC5D;kIApNQ,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;sHAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAqDA,gBAAgB,CAEhB,EAAA,cAAA,EAAA,CAAA,gBAAA,EAAA,gBAAA,EAAA,eAAe,qDACf,eAAe,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAEf,gBAAgB,CA9Cf,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,eAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,qBAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,yCAAA,EAAA,eAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,eAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAAA,gBAAgB,gGAMhB,eAAe,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,eAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAMf,iBAAiB,CAMjB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAAA,kBAAkB,yGAMlB,iBAAiB,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,2BAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAMjB,4BAA4B,CAxEvC,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;KAKT,EAqBW,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,yoUAAA,EAAA,+FAAA,EAAA,siDAAA,CAAA,EAAA,UAAA,EAAA,CAAC,uBAAuB,EAAE,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAI9B,WAAW,EAAA,UAAA,EAAA,CAAA;kBAlCvB,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACN,QAAA,EAAA,eAAe,EACf,QAAA,EAAA,aAAa,EACb,QAAA,EAAA,CAAA;;;;;KAKT,EAMK,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,eAAe;AACtB,wBAAA,uBAAuB,EAAE,WAAW;AACpC,wBAAA,sBAAsB,EAAE,UAAU;AAClC,wBAAA,sBAAsB,EAAE,yCAAyC;AACjE,wBAAA,iBAAiB,EAAE,UAAU;AAE7B,wBAAA,SAAS,EAAE,gBAAgB;AAC3B,wBAAA,QAAQ,EAAE,eAAe;AAEzB,wBAAA,WAAW,EAAE,mBAAmB;AAEhC,wBAAA,cAAc,EAAE,oBAAoB;AACpC,wBAAA,cAAc,EAAE,qBAAqB;qBACxC,EACW,UAAA,EAAA,CAAC,uBAAuB,EAAE,CAAC,EAAA,eAAA,EACtB,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,MAAA,EAAA,CAAA,yoUAAA,EAAA,+FAAA,EAAA,siDAAA,CAAA,EAAA,CAAA;wDAuDG,MAAM,EAAA,CAAA;sBAA7C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;gBAEC,cAAc,EAAA,CAAA;sBAApD,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAA;gBACE,aAAa,EAAA,CAAA;sBAAnD,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAA;gBAGjC,QAAQ,EAAA,CAAA;sBADX,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;;;AC7OpC,MAAO,iBAAkB,SAAQ,iBAAiB,CAAA;AASpD,IAAA,IAAI,SAAS,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC;KACjC;AAED,IAAA,IAAI,MAAM,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,KAAK,GAAG,CAAC;KAC7C;AAED,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE,CAAC;AAjBO,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QAC7B,IAAa,CAAA,aAAA,GAAG,sBAAsB,EAAE,CAAC;AACzC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAChC,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAgB7D,IAAI,CAAC,QAAQ,GAAG,CAAA,EAAG,aAAa,CAAC,KAAK,EAAE,CAAC;AAEzC,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACjB,QAAA,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC,QAAQ,CAAC;KACpD;IAED,kBAAkB,GAAA;QACd,IAAI,CAAC,MAAM,EAAE,aAAa;AACrB,aAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aACzC,SAAS,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAEvD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;AAC/F,YAAA,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;AAC3C,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,KAAK,EAAE,kBAAkB,EAAE,CAAC;AAEjC,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE,eAAe,EAAE;AAC7B,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;SACjC;KACJ;kIAzCQ,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,EAMZ,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,wCAAA,EAAA,QAAA,EAAA,EAAA,cAAA,EAAA,sBAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,MAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,eAAe,EACf,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,gBAAgB,EA1BpB,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;KAST,EAQW,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,m1BAAA,CAAA,EAAA,UAAA,EAAA,CAAC,2BAA2B,EAAE,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAElC,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAvB7B,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACN,QAAA,EAAA,8CAA8C,EAC9C,QAAA,EAAA,mBAAmB,EACnB,QAAA,EAAA,CAAA;;;;;;;;;KAST,EAEK,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,sBAAsB;AAC7B,wBAAA,0CAA0C,EAAE,QAAQ;qBACvD,EACgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EACzB,UAAA,EAAA,CAAC,2BAA2B,EAAE,CAAC,EAAA,MAAA,EAAA,CAAA,m1BAAA,CAAA,EAAA,CAAA;wDAQZ,IAAI,EAAA,CAAA;sBAAlC,YAAY;uBAAC,eAAe,CAAA;gBACG,KAAK,EAAA,CAAA;sBAApC,YAAY;uBAAC,gBAAgB,CAAA;;;MCFrB,iBAAiB,CAAA;kIAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YA3BtB,UAAU;YACV,cAAc;YACd,aAAa;YACb,gBAAgB;YAChB,WAAW;YACX,gBAAgB;YAChB,eAAe;YACf,iBAAiB;YACjB,eAAe;YACf,iBAAiB;YACjB,kBAAkB;YAClB,wBAAwB;YACxB,oBAAoB;AACpB,YAAA,gBAAgB,aAGhB,WAAW;YACX,oBAAoB;YACpB,gBAAgB;YAChB,eAAe;YACf,iBAAiB;YACjB,eAAe;YACf,iBAAiB;YACjB,kBAAkB;YAClB,wBAAwB,CAAA,EAAA,CAAA,CAAA,EAAA;AAGnB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YA3BtB,UAAU;YACV,cAAc;YACd,aAAa;YACb,gBAAgB;YAGhB,eAAe;YAGf,iBAAiB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAkBZ,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBA7B7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,UAAU;wBACV,cAAc;wBACd,aAAa;wBACb,gBAAgB;wBAChB,WAAW;wBACX,gBAAgB;wBAChB,eAAe;wBACf,iBAAiB;wBACjB,eAAe;wBACf,iBAAiB;wBACjB,kBAAkB;wBAClB,wBAAwB;wBACxB,oBAAoB;wBACpB,gBAAgB;AACnB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,WAAW;wBACX,oBAAoB;wBACpB,gBAAgB;wBAChB,eAAe;wBACf,iBAAiB;wBACjB,eAAe;wBACf,iBAAiB;wBACjB,kBAAkB;wBAClB,wBAAwB;AAC3B,qBAAA;AACJ,iBAAA,CAAA;;;AC7CD;;AAEG;;;;"}
|