@koobiq/components 18.2.0 → 18.3.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/core/common-behaviors/error-state.d.ts +1 -1
- package/core/error/error-state-matcher.d.ts +26 -0
- package/core/form-field/form-field-ref.d.ts +7 -0
- package/core/forms/index.d.ts +1 -0
- package/core/forms/validators.d.ts +86 -0
- package/core/locales/locale-service.d.ts +11 -0
- package/core/option/action.d.ts +1 -1
- package/core/pop-up/pop-up-trigger.d.ts +3 -3
- package/core/public-api.d.ts +1 -2
- package/core/validation/validation.d.ts +1 -0
- package/esm2022/core/common-behaviors/error-state.mjs +1 -1
- package/esm2022/core/error/error-state-matcher.mjs +43 -0
- package/esm2022/core/form-field/form-field-ref.mjs +4 -1
- package/esm2022/core/forms/index.mjs +2 -1
- package/esm2022/core/forms/validators.mjs +132 -0
- package/esm2022/core/locales/locale-service.mjs +30 -1
- package/esm2022/core/option/action.mjs +5 -8
- package/esm2022/core/pop-up/pop-up-trigger.mjs +12 -12
- package/esm2022/core/public-api.mjs +2 -3
- package/esm2022/core/validation/validation.mjs +2 -1
- package/esm2022/core/version.mjs +2 -2
- package/esm2022/datepicker/calendar-header.component.mjs +5 -6
- package/esm2022/file-upload/single-file-upload.component.mjs +3 -3
- package/esm2022/form-field/form-field-control.mjs +1 -1
- package/esm2022/form-field/form-field.mjs +7 -8
- package/esm2022/icon/icon.component.mjs +2 -2
- package/esm2022/icon/icon.module.mjs +1 -1
- package/esm2022/input/input-number.mjs +74 -80
- package/esm2022/list/list-selection.component.mjs +8 -12
- package/esm2022/navbar/navbar-item.component.mjs +6 -9
- package/esm2022/navbar/navbar.component.mjs +12 -13
- package/esm2022/popover/popover-confirm.component.mjs +3 -3
- package/esm2022/select/select.component.mjs +15 -14
- package/esm2022/select/select.module.mjs +3 -7
- package/esm2022/tabs/paginated-tab-header.mjs +10 -12
- package/esm2022/tags/tag-list.component.mjs +9 -11
- package/esm2022/toast/toast.component.mjs +5 -6
- package/esm2022/tree/padding.directive.mjs +3 -9
- package/esm2022/tree/tree-base.mjs +5 -8
- package/esm2022/tree/tree-selection.component.mjs +10 -13
- package/esm2022/tree-select/tree-select.component.mjs +13 -13
- package/fesm2022/koobiq-components-core.mjs +205 -27
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +8 -9
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-file-upload.mjs +2 -2
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +6 -7
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-icon.mjs +1 -1
- package/fesm2022/koobiq-components-icon.mjs.map +1 -1
- package/fesm2022/koobiq-components-input.mjs +74 -80
- package/fesm2022/koobiq-components-input.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +7 -11
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +13 -18
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +3 -3
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +18 -20
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tabs.mjs +9 -11
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +7 -9
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-toast.mjs +4 -5
- package/fesm2022/koobiq-components-toast.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +12 -12
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +13 -24
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/form-field/form-field-control.d.ts +3 -2
- package/form-field/form-field.d.ts +1 -1
- package/form-field/hint.scss +0 -3
- package/input/input-number.d.ts +24 -14
- package/list/list-selection.component.d.ts +2 -4
- package/navbar/navbar-item.component.d.ts +2 -3
- package/navbar/navbar.component.d.ts +7 -5
- package/package.json +6 -5
- package/schematics/ng-add/index.js +4 -4
- package/select/select.component.d.ts +1 -2
- package/select/select.module.d.ts +1 -2
- package/tabs/paginated-tab-header.d.ts +1 -3
- package/tags/tag-list.component.d.ts +1 -2
- package/toast/toast.component.d.ts +0 -1
- package/tree/padding.directive.d.ts +2 -4
- package/tree/tree-base.d.ts +2 -3
- package/tree/tree-selection.component.d.ts +2 -4
- package/tree-select/tree-select.component.d.ts +1 -2
- package/core/error/error-options.d.ts +0 -14
- package/core/label/label-options.d.ts +0 -13
- package/esm2022/core/error/error-options.mjs +0 -26
- package/esm2022/core/label/label-options.mjs +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"koobiq-components-navbar.mjs","sources":["../../../packages/components/navbar/navbar.component.ts","../../../packages/components/navbar/vertical-navbar.component.ts","../../../packages/components/navbar/navbar-item.component.ts","../../../packages/components/navbar/navbar-item.component.html","../../../packages/components/navbar/navbar.module.ts","../../../packages/components/navbar/koobiq-components-navbar.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n forwardRef,\n Input,\n OnDestroy,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { FocusKeyManager } from '@koobiq/cdk/a11y';\nimport { isHorizontalMovement, isVerticalMovement, LEFT_ARROW, RIGHT_ARROW, TAB } from '@koobiq/cdk/keycodes';\nimport { merge, Observable, Subject, Subscription } from 'rxjs';\nimport { debounceTime, startWith, takeUntil } from 'rxjs/operators';\nimport {\n KbqNavbarFocusableItem,\n KbqNavbarFocusableItemEvent,\n KbqNavbarItem,\n KbqNavbarRectangleElement\n} from './navbar-item.component';\n\nexport type KbqNavbarContainerPositionType = 'left' | 'right';\n\n@Directive()\nexport class KbqFocusableComponent implements AfterContentInit, OnDestroy {\n @ContentChildren(forwardRef(() => KbqNavbarFocusableItem), { descendants: true })\n focusableItems: QueryList<KbqNavbarFocusableItem>;\n\n keyManager: FocusKeyManager<KbqNavbarFocusableItem>;\n\n @Input()\n get tabIndex(): any {\n return this._tabIndex;\n }\n\n set tabIndex(value: any) {\n this._tabIndex = value;\n }\n\n private _tabIndex = 0;\n\n get optionFocusChanges(): Observable<KbqNavbarFocusableItemEvent> {\n return merge(...this.focusableItems.map((item) => item.onFocus));\n }\n\n get optionBlurChanges(): Observable<KbqNavbarFocusableItemEvent> {\n return merge(...this.focusableItems.map((option) => option.onBlur));\n }\n\n protected readonly destroyed = new Subject<void>();\n\n private optionFocusSubscription: Subscription | null;\n private optionBlurSubscription: Subscription | null;\n private focusMonitorSubscription: Subscription | null;\n\n constructor(\n protected changeDetectorRef: ChangeDetectorRef,\n elementRef: ElementRef,\n private focusMonitor: FocusMonitor\n ) {\n this.focusMonitorSubscription = this.focusMonitor.monitor(elementRef).subscribe((focusOrigin) => {\n this.keyManager.setFocusOrigin(focusOrigin);\n });\n }\n\n ngAfterContentInit(): void {\n this.keyManager = new FocusKeyManager<KbqNavbarFocusableItem>(this.focusableItems).withTypeAhead();\n\n this.keyManager.tabOut.pipe(takeUntil(this.destroyed)).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), takeUntil(this.destroyed)).subscribe(() => {\n this.resetOptions();\n\n // Check to see if we need to update our tab index\n this.updateTabIndex();\n });\n }\n\n ngOnDestroy() {\n this.destroyed.next();\n\n this.destroyed.complete();\n\n if (this.focusMonitorSubscription) {\n this.focusMonitorSubscription.unsubscribe();\n this.focusMonitorSubscription = null;\n }\n }\n\n focus(): void {\n if (this.focusableItems.length === 0) {\n return;\n }\n\n this.keyManager.setFirstItemActive();\n }\n\n blur() {\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.listenToOptionsFocus();\n }\n\n protected dropSubscriptions() {\n if (this.optionFocusSubscription) {\n this.optionFocusSubscription.unsubscribe();\n this.optionFocusSubscription = null;\n }\n\n if (this.optionBlurSubscription) {\n this.optionBlurSubscription.unsubscribe();\n this.optionBlurSubscription = null;\n }\n }\n\n private listenToOptionsFocus(): void {\n this.optionFocusSubscription = this.optionFocusChanges.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.optionBlurSubscription = this.optionBlurChanges.subscribe(() => this.blur());\n }\n\n private updateTabIndex(): void {\n this.tabIndex = this.focusableItems.length === 0 ? -1 : 0;\n }\n\n private isValidIndex(index: number): boolean {\n return index >= 0 && index < this.focusableItems.length;\n }\n\n private hasFocusedItem() {\n return this.focusableItems.some((item) => item.hasFocus);\n }\n}\n\n@Directive({\n selector: 'kbq-navbar-container',\n host: {\n class: 'kbq-navbar-container'\n }\n})\nexport class KbqNavbarContainer {}\n\n@Component({\n selector: 'kbq-navbar',\n template: `\n <ng-content select=\"[kbq-navbar-container], kbq-navbar-container\" />\n `,\n styleUrls: [\n './navbar.scss',\n './navbar-item.scss',\n './navbar-brand.scss',\n './navbar-divider.scss',\n './navbar-tokens.scss'\n ],\n host: {\n class: 'kbq-navbar',\n\n '[attr.tabindex]': 'tabIndex',\n\n '(focus)': 'focus()',\n '(blur)': 'blur()',\n\n '(keydown)': 'onKeyDown($event)',\n\n '(window:resize)': 'resizeStream.next($event)'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqNavbar extends KbqFocusableComponent implements AfterViewInit, AfterContentInit, OnDestroy {\n @ContentChildren(forwardRef(() => KbqNavbarRectangleElement), { descendants: true })\n rectangleElements: QueryList<KbqNavbarRectangleElement>;\n\n @ContentChildren(forwardRef(() => KbqNavbarItem), { descendants: true }) navbarItems: QueryList<KbqNavbarItem>;\n\n readonly resizeStream = new Subject<Event>();\n\n private readonly resizeDebounceInterval: number = 100;\n\n private get width(): number {\n return this.elementRef.nativeElement.getBoundingClientRect().width;\n }\n\n private get totalItemsWidth(): number {\n return this.rectangleElements.reduce((acc, item) => acc + item.getOuterElementWidth(), 0);\n }\n\n private get collapsableItems(): KbqNavbarItem[] {\n return this.navbarItems\n .toArray()\n .filter((item) => item.icon && item.title && item.collapsable)\n .reverse();\n }\n\n private resizeSubscription: Subscription;\n\n constructor(\n private elementRef: ElementRef,\n changeDetectorRef: ChangeDetectorRef,\n focusMonitor: FocusMonitor\n ) {\n super(changeDetectorRef, elementRef, focusMonitor);\n\n this.resizeSubscription = this.resizeStream\n .pipe(debounceTime(this.resizeDebounceInterval))\n .subscribe(this.updateExpandedStateForItems);\n }\n\n ngAfterContentInit(): void {\n this.setItemsState();\n\n this.rectangleElements.changes.subscribe(this.setItemsState);\n\n super.ngAfterContentInit();\n\n this.keyManager.withVerticalOrientation(false).withHorizontalOrientation('ltr');\n }\n\n ngAfterViewInit(): void {\n // Note: this wait is required for loading and rendering fonts for icons;\n // unfortunately we cannot control font rendering\n setTimeout(this.updateExpandedStateForItems);\n }\n\n ngOnDestroy() {\n this.resizeSubscription.unsubscribe();\n\n super.ngOnDestroy();\n }\n\n onKeyDown(event: KeyboardEvent) {\n const keyCode = event.keyCode;\n\n if (!this.eventFromInput(event) && (isVerticalMovement(event) || isHorizontalMovement(event))) {\n event.preventDefault();\n }\n\n if (keyCode === TAB) {\n this.keyManager.tabOut.next();\n\n return;\n } else if (this.eventFromInput(event) && this.cursorOnLastPosition(event) && keyCode === RIGHT_ARROW) {\n this.keyManager.setNextItemActive();\n } else if (this.eventFromInput(event) && this.cursorOnFirstPosition(event) && keyCode === LEFT_ARROW) {\n this.keyManager.setPreviousItemActive();\n } else if (!this.eventFromInput(event)) {\n this.keyManager.onKeydown(event);\n }\n }\n\n updateExpandedStateForItems = () => {\n const collapseDelta = this.totalItemsWidth - this.width;\n\n const needCollapse = collapseDelta > 0;\n\n if (needCollapse) {\n this.collapseItems(collapseDelta);\n } else {\n this.expandItems(collapseDelta);\n }\n };\n\n private eventFromInput(event: KeyboardEvent): boolean {\n return !!(event.target as HTMLElement).attributes.getNamedItem('kbqinput');\n }\n\n private cursorOnFirstPosition(event: KeyboardEvent): boolean {\n const input = event.target as HTMLInputElement;\n\n return input.selectionStart === 0;\n }\n\n private cursorOnLastPosition(event: KeyboardEvent): boolean {\n const input = event.target as HTMLInputElement;\n\n return input.selectionEnd === input.value.length;\n }\n\n private collapseItems(collapseDelta: number) {\n let delta = collapseDelta;\n\n const unCollapsedItems = this.collapsableItems.filter((item) => !item.collapsed);\n\n for (const item of unCollapsedItems) {\n item.collapsed = true;\n delta -= item.getTitleWidth();\n\n if (delta < 0) {\n break;\n }\n }\n }\n\n private expandItems(collapseDelta: number) {\n let delta = collapseDelta;\n\n this.collapsableItems\n .filter((item) => item.collapsed)\n .forEach((item) => {\n if (delta + item.getTitleWidth() < 0) {\n item.collapsed = false;\n delta += item.getTitleWidth();\n }\n });\n }\n\n private setItemsState = () => {\n Promise.resolve().then(() => this.rectangleElements?.forEach((item) => (item.horizontal = true)));\n };\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n forwardRef,\n Input,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { DOWN_ARROW, isHorizontalMovement, isVerticalMovement, TAB, UP_ARROW } from '@koobiq/cdk/keycodes';\nimport { Subject } from 'rxjs';\nimport { KbqNavbarBento, KbqNavbarItem, KbqNavbarRectangleElement } from './navbar-item.component';\nimport { KbqFocusableComponent } from './navbar.component';\n\n@Component({\n selector: 'kbq-vertical-navbar',\n exportAs: 'KbqVerticalNavbar',\n template: `\n <div\n class=\"kbq-vertical-navbar__container\"\n [class.kbq-collapsed]=\"!expanded\"\n [class.kbq-expanded]=\"expanded\"\n >\n <ng-content select=\"[kbq-navbar-container], kbq-navbar-container\" />\n <ng-content select=\"[kbq-navbar-toggle], kbq-navbar-toggle\" />\n </div>\n `,\n styleUrls: [\n './vertical-navbar.scss',\n './navbar-item.scss',\n './navbar-brand.scss',\n './navbar-divider.scss',\n './navbar-tokens.scss'\n ],\n host: {\n class: 'kbq-vertical-navbar',\n '[class.kbq-vertical-navbar_open-over]': 'openOver',\n '[attr.tabindex]': 'tabIndex',\n\n '(focus)': 'focus()',\n '(blur)': 'blur()',\n\n '(keydown)': 'onKeyDown($event)'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqVerticalNavbar extends KbqFocusableComponent implements AfterContentInit {\n @ContentChildren(forwardRef(() => KbqNavbarRectangleElement), { descendants: true })\n rectangleElements: QueryList<KbqNavbarRectangleElement>;\n\n @ContentChildren(forwardRef(() => KbqNavbarItem), { descendants: true }) items: QueryList<KbqNavbarItem>;\n\n @ContentChild(forwardRef(() => KbqNavbarBento)) bento: KbqNavbarBento;\n\n readonly animationDone: Subject<void> = new Subject();\n\n @Input() openOver: boolean = false;\n\n @Input()\n get expanded() {\n return this._expanded;\n }\n\n set expanded(value: boolean) {\n this._expanded = coerceBooleanProperty(value);\n\n this.updateExpandedStateForItems();\n }\n\n private _expanded: boolean = false;\n\n constructor(\n protected elementRef: ElementRef,\n changeDetectorRef: ChangeDetectorRef,\n focusMonitor: FocusMonitor\n ) {\n super(changeDetectorRef, elementRef, focusMonitor);\n\n this.animationDone.subscribe(this.updateTooltipForItems);\n }\n\n ngAfterContentInit(): void {\n this.setItemsState();\n this.updateExpandedStateForItems();\n this.updateTooltipForItems();\n\n this.rectangleElements.changes.subscribe(this.setItemsState);\n\n super.ngAfterContentInit();\n\n this.keyManager.withVerticalOrientation(true);\n }\n\n toggle(): void {\n this.expanded = !this.expanded;\n\n this.changeDetectorRef.markForCheck();\n }\n\n onKeyDown(event: KeyboardEvent) {\n const keyCode = event.keyCode;\n\n if (\n !(event.target as HTMLElement).attributes.getNamedItem('kbqinput') &&\n (isVerticalMovement(event) || isHorizontalMovement(event))\n ) {\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 updateExpandedStateForItems = () => {\n this.rectangleElements?.forEach((item) => {\n item.collapsed = !this.expanded;\n setTimeout(() => item.button?.updateClassModifierForIcons());\n });\n };\n\n private updateTooltipForItems = () => {\n this.items.forEach((item) => item.updateTooltip());\n };\n\n private setItemsState = () => {\n Promise.resolve().then(() => this.rectangleElements?.forEach((item) => (item.vertical = true)));\n };\n}\n","import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { DOCUMENT } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n Directive,\n ElementRef,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n Optional,\n TemplateRef,\n ViewEncapsulation,\n booleanAttribute\n} from '@angular/core';\nimport { IFocusableOption } from '@koobiq/cdk/a11y';\nimport { DOWN_ARROW, ENTER, NUMPAD_DIVIDE, RIGHT_ARROW, SLASH, SPACE } from '@koobiq/cdk/keycodes';\nimport { KbqButton, KbqButtonCssStyler } from '@koobiq/components/button';\nimport { PopUpPlacements, PopUpTriggers } 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 { EMPTY, Subject, merge } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\nimport { KbqVerticalNavbar } from './vertical-navbar.component';\n\nexport interface KbqNavbarFocusableItemEvent {\n item: KbqNavbarFocusableItem;\n}\n\n@Directive({\n selector: 'kbq-navbar-logo, [kbq-navbar-logo]',\n host: {\n class: 'kbq-navbar-logo',\n '(mouseenter)': 'hovered.next(true)',\n '(mouseleave)': 'hovered.next(false)'\n }\n})\nexport class KbqNavbarLogo {\n readonly hovered = new Subject<boolean>();\n}\n\n@Directive({\n selector: 'kbq-navbar-item[bento], [kbq-navbar-item][bento]',\n host: {\n class: 'kbq-navbar-bento'\n }\n})\nexport class KbqNavbarBento {}\n\n@Directive({\n selector: 'kbq-navbar-title, [kbq-navbar-title]',\n host: {\n class: 'kbq-navbar-title',\n '[class.kbq-navbar-title_small]': 'isTextOverflown',\n\n '(mouseenter)': 'hovered.next(true)',\n '(mouseleave)': 'hovered.next(false)'\n }\n})\nexport class KbqNavbarTitle implements AfterViewInit {\n readonly hovered = new Subject<boolean>();\n\n outerElementWidth: number;\n isTextOverflown: boolean = false;\n\n get text(): string {\n return this.elementRef.nativeElement.textContent;\n }\n\n get isOverflown() {\n return this.elementRef.nativeElement.scrollWidth > this.elementRef.nativeElement.clientWidth;\n }\n\n constructor(private elementRef: ElementRef) {}\n\n getOuterElementWidth(): number {\n const { width, marginLeft, marginRight } = window.getComputedStyle(this.elementRef.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 > 18;\n }\n\n ngAfterViewInit(): void {\n this.outerElementWidth = this.getOuterElementWidth();\n }\n}\n\n@Component({\n selector: 'kbq-navbar-brand, [kbq-navbar-brand]',\n exportAs: 'kbqNavbarBrand',\n template: `\n <ng-content />\n `,\n host: {\n class: 'kbq-navbar-brand',\n '[class.kbq-hovered]': 'hovered'\n }\n})\nexport class KbqNavbarBrand implements AfterContentInit, OnDestroy {\n @ContentChild(KbqNavbarLogo) logo: KbqNavbarLogo;\n @ContentChild(KbqNavbarTitle) title: KbqNavbarTitle;\n\n hovered = false;\n\n get hasBento(): boolean {\n return !!this.navbar?.bento;\n }\n\n private destroyed = new Subject<void>();\n\n constructor(@Optional() private navbar: KbqVerticalNavbar) {}\n\n ngAfterContentInit(): void {\n merge(this.logo ? this.logo.hovered : (EMPTY as any), this.title ? this.title.hovered : (EMPTY as any))\n .pipe(takeUntil(this.destroyed))\n .subscribe((value) => (this.hovered = !!value));\n\n this.navbar?.animationDone.subscribe(() => this.title?.checkTextOverflown());\n }\n\n ngOnDestroy(): void {\n this.destroyed.next();\n this.destroyed.complete();\n }\n}\n\n@Directive({\n selector: 'kbq-navbar-divider',\n host: {\n class: 'kbq-navbar-divider'\n }\n})\nexport class KbqNavbarDivider {}\n\n@Directive({\n selector: 'kbq-navbar-item, [kbq-navbar-item], kbq-navbar-brand, [kbq-navbar-brand], kbq-navbar-toggle',\n host: {\n '[attr.tabindex]': 'tabIndex',\n '[attr.disabled]': 'disabled || null',\n\n class: 'kbq-navbar-focusable-item',\n '[class.kbq-navbar-item_has-nested]': '!!nestedElement',\n '[class.kbq-disabled]': 'disabled',\n\n '(focus)': 'onFocusHandler()',\n '(blur)': 'blur()'\n }\n})\nexport class KbqNavbarFocusableItem implements IFocusableOption, AfterContentInit, OnDestroy {\n @ContentChild(KbqNavbarTitle) title: KbqNavbarTitle;\n\n @ContentChild(KbqButton) button: KbqButton;\n\n @ContentChild(KbqFormField) formField: KbqFormField;\n\n get nestedElement(): KbqButton | KbqFormField {\n return this.button || this.formField;\n }\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.nestedElement?.hasFocus || 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 get tabIndex(): number {\n return -1;\n }\n\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n private changeDetector: ChangeDetectorRef,\n private focusMonitor: FocusMonitor,\n private ngZone: NgZone\n ) {}\n\n ngAfterContentInit(): void {\n if (this.button) {\n this.button.tabIndex = -1;\n }\n\n this.focusMonitor.monitor(this.elementRef);\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n\n setTooltip(value: KbqTooltipTrigger) {\n this._tooltip = value;\n }\n\n onFocusHandler() {\n if (this.disabled || this.hasFocus) {\n return;\n }\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 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 if (this.nestedElement) {\n this.nestedElement.focusViaKeyboard();\n\n this.changeDetector.markForCheck();\n\n return;\n }\n\n this.tooltip?.show();\n this.onFocusHandler();\n }\n\n blur(): 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@Directive({\n selector: 'kbq-navbar-item, [kbq-navbar-item], kbq-navbar-divider, kbq-navbar-brand, [kbq-navbar-brand]',\n host: {\n '[class.kbq-vertical]': 'vertical',\n '[class.kbq-horizontal]': 'horizontal',\n\n '[class.kbq-expanded]': 'vertical && !collapsed',\n '[class.kbq-collapsed]': 'vertical && collapsed'\n }\n})\nexport class KbqNavbarRectangleElement {\n readonly state = new Subject<void>();\n\n get horizontal(): boolean {\n return this._horizontal;\n }\n\n set horizontal(value: boolean) {\n this._horizontal = value;\n\n this.state.next();\n }\n\n private _horizontal: boolean;\n\n get vertical(): boolean {\n return this._vertical;\n }\n\n set vertical(value: boolean) {\n this._vertical = value;\n\n this.state.next();\n }\n\n private _vertical: boolean;\n\n get collapsed(): boolean {\n return this._collapsed;\n }\n\n set collapsed(value: boolean) {\n this._collapsed = value;\n\n this.state.next();\n }\n\n private _collapsed: boolean;\n\n @ContentChild(KbqButtonCssStyler) button: KbqButtonCssStyler;\n\n constructor(public elementRef: ElementRef) {}\n\n getOuterElementWidth(): number {\n const { width, marginLeft, marginRight } = window.getComputedStyle(this.elementRef.nativeElement);\n\n return [width, marginLeft, marginRight].reduce((acc, item) => acc + parseInt(item), 0);\n }\n}\n\n@Component({\n selector: 'kbq-navbar-item, [kbq-navbar-item]',\n exportAs: 'kbqNavbarItem',\n templateUrl: './navbar-item.component.html',\n host: {\n class: 'kbq-navbar-item',\n '[class.kbq-navbar-item_collapsed]': 'isCollapsed',\n '[class.kbq-navbar-item_with-title]': '!!title',\n\n '(keydown)': 'onKeyDown($event)'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqNavbarItem extends KbqTooltipTrigger implements AfterContentInit {\n @ContentChild(KbqNavbarTitle) title: KbqNavbarTitle;\n\n @ContentChild(KbqIcon) icon: KbqIcon;\n\n @Input() collapsedText: string;\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 this.updateCollapsedState();\n }\n }\n\n private _collapsed = false;\n\n isCollapsed: boolean;\n\n get croppedText(): string {\n const croppedTitleText = this.title?.isOverflown ? this.titleText : '';\n\n return `${croppedTitleText}`;\n }\n\n @Input()\n get collapsable(): boolean {\n return this._collapsable;\n }\n\n set collapsable(value: boolean) {\n this._collapsable = coerceBooleanProperty(value);\n }\n\n private _collapsable: boolean = true;\n\n get titleText(): string | null {\n return this.collapsedText || this.title?.text || null;\n }\n\n get disabled(): boolean {\n if (this._disabled !== undefined) {\n return this._disabled;\n }\n\n return (!this.isCollapsed && !this.hasCroppedText) || !this.title;\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 showVerticalDropDownAngle(): boolean {\n return !this.bento && this.hasDropDownTrigger && this.rectangleElement.vertical && !this.isCollapsed;\n }\n\n get showHorizontalDropDownAngle(): boolean {\n return this.hasDropDownTrigger && this.rectangleElement.horizontal && !this.isCollapsed;\n }\n\n get hasCroppedText(): boolean {\n return !!this.title?.isOverflown;\n }\n\n constructor(\n public rectangleElement: KbqNavbarRectangleElement,\n public navbarFocusableItem: KbqNavbarFocusableItem,\n private changeDetectorRef: ChangeDetectorRef,\n @Optional() private dropdownTrigger: KbqDropdownTrigger,\n @Optional() private bento: KbqNavbarBento,\n @Optional() private tooltip: KbqTooltipTrigger\n ) {\n super();\n\n if (this.hasDropDownTrigger) {\n this.dropdownTrigger.openByArrowDown = false;\n }\n\n this.rectangleElement.state.subscribe(() => {\n this.collapsed = this.rectangleElement.collapsed;\n\n this.changeDetectorRef.detectChanges();\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 this.updateTooltip();\n }\n\n updateTooltip(): void {\n if (this.isCollapsed) {\n this.content = `${this.titleText || ''}`;\n } else if (!this.isCollapsed && this.hasCroppedText) {\n this.content = this.croppedText;\n }\n\n if (this.rectangleElement.vertical) {\n this.placement = PopUpPlacements.Right;\n }\n\n this.changeDetectorRef.markForCheck();\n }\n\n getTitleWidth(): number {\n return this.title.outerElementWidth;\n }\n\n onKeyDown($event: KeyboardEvent) {\n if (!this.hasDropDownTrigger) {\n return;\n }\n\n if (\n (this.rectangleElement.horizontal && $event.keyCode === DOWN_ARROW) ||\n (this.rectangleElement.vertical && $event.keyCode === RIGHT_ARROW)\n ) {\n this.dropdownTrigger.openedBy = 'keyboard';\n this.dropdownTrigger.open();\n\n $event.stopPropagation();\n $event.preventDefault();\n }\n }\n\n private updateCollapsedState() {\n Promise.resolve().then(() => {\n this.isCollapsed = this._collapsed;\n\n this.changeDetectorRef.markForCheck();\n });\n }\n}\n\n@Component({\n selector: 'kbq-navbar-toggle',\n template: `\n @if (!customIcon) {\n <i\n [class.kbq-chevron-left_16]=\"navbar.expanded\"\n [class.kbq-chevron-right_16]=\"!navbar.expanded\"\n kbq-icon\n ></i>\n }\n\n <ng-content select=\"[kbq-icon]\" />\n\n @if (navbar.expanded) {\n <div class=\"kbq-navbar-item__title\">\n <ng-content select=\"kbq-navbar-title\" />\n </div>\n }\n `,\n styleUrls: ['./navbar.scss'],\n host: {\n class: 'kbq-navbar-item kbq-navbar-toggle kbq-vertical',\n '[class.kbq-tooltip_open]': 'isOpen',\n '[class.kbq-collapsed]': '!navbar.expanded',\n '[class.kbq-expanded]': 'navbar.expanded',\n\n '(keydown)': 'onKeydown($event)',\n '(click)': 'toggle()',\n '(touchend)': 'handleTouchend()'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqNavbarToggle extends KbqTooltipTrigger implements OnDestroy {\n @ContentChild(KbqIcon) customIcon: KbqIcon;\n\n @Input('kbqCollapsedTooltip')\n get content(): string | TemplateRef<any> {\n return this._content;\n }\n\n set content(content: string | TemplateRef<any>) {\n this._content = content;\n\n this.updateData();\n }\n\n get disabled(): boolean {\n return this.navbar.expanded;\n }\n\n protected modifier: TooltipModifier = TooltipModifier.Default;\n\n constructor(\n public navbar: KbqVerticalNavbar,\n private changeDetectorRef: ChangeDetectorRef,\n @Optional() @Inject(DOCUMENT) private document: any\n ) {\n super();\n\n this.placement = PopUpPlacements.Right;\n\n const window = this.getWindow();\n\n if (window) {\n this.ngZone.runOutsideAngular(() => {\n window.addEventListener('keydown', this.windowToggleHandler);\n });\n }\n }\n\n onKeydown($event: KeyboardEvent) {\n if ([SPACE, ENTER].includes($event.keyCode)) {\n this.toggle();\n\n $event.stopPropagation();\n $event.preventDefault();\n }\n\n super.handleKeydown($event);\n }\n\n ngOnDestroy(): void {\n const window = this.getWindow();\n\n if (window) {\n window.removeEventListener('keydown', this.windowToggleHandler);\n }\n }\n\n toggle = () => {\n this.navbar.toggle();\n\n this.changeDetectorRef.markForCheck();\n\n this.hide();\n };\n\n private getWindow(): Window {\n return this.document?.defaultView || window;\n }\n\n private windowToggleHandler = (event: KeyboardEvent) => {\n if (event.ctrlKey && [NUMPAD_DIVIDE, SLASH].includes(event.keyCode)) {\n this.ngZone.run(this.toggle);\n }\n };\n}\n","<ng-content select=\"[kbq-icon]\" />\n\n@if (title) {\n <div class=\"kbq-navbar-item__container\">\n <div class=\"kbq-navbar-item__title\">\n <ng-content select=\"kbq-navbar-title, [kbq-navbar-title]\" />\n </div>\n @if (showVerticalDropDownAngle) {\n <i\n kbq-icon=\"kbq-chevron-right_16\"\n class=\"kbq-navbar-item__arrow-icon\"\n ></i>\n }\n @if (showHorizontalDropDownAngle) {\n <i\n kbq-icon=\"kbq-chevron-down-s_16\"\n class=\"kbq-navbar-item__arrow-icon\"\n ></i>\n }\n </div>\n}\n\n<ng-content />\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { NgModule } from '@angular/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqToolTipModule } from '@koobiq/components/tooltip';\nimport {\n KbqNavbarBento,\n KbqNavbarBrand,\n KbqNavbarDivider,\n KbqNavbarFocusableItem,\n KbqNavbarItem,\n KbqNavbarLogo,\n KbqNavbarRectangleElement,\n KbqNavbarTitle,\n KbqNavbarToggle\n} from './navbar-item.component';\nimport { KbqNavbar, KbqNavbarContainer } from './navbar.component';\nimport { KbqVerticalNavbar } from './vertical-navbar.component';\n\n@NgModule({\n imports: [\n A11yModule,\n PlatformModule,\n KbqIconModule,\n KbqToolTipModule\n ],\n exports: [\n KbqNavbar,\n KbqNavbarContainer,\n KbqNavbarTitle,\n KbqNavbarItem,\n KbqNavbarBrand,\n KbqNavbarLogo,\n KbqNavbarToggle,\n KbqVerticalNavbar,\n KbqNavbarDivider,\n KbqNavbarFocusableItem,\n KbqNavbarRectangleElement,\n KbqNavbarBento\n ],\n declarations: [\n KbqNavbar,\n KbqNavbarContainer,\n KbqNavbarTitle,\n KbqNavbarItem,\n KbqNavbarBrand,\n KbqNavbarLogo,\n KbqNavbarToggle,\n KbqVerticalNavbar,\n KbqNavbarDivider,\n KbqNavbarFocusableItem,\n KbqNavbarRectangleElement,\n KbqNavbarBento\n ]\n})\nexport class KbqNavbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.KbqVerticalNavbar","i2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"koobiq-components-navbar.mjs","sources":["../../../packages/components/navbar/navbar.component.ts","../../../packages/components/navbar/vertical-navbar.component.ts","../../../packages/components/navbar/navbar-item.component.ts","../../../packages/components/navbar/navbar-item.component.html","../../../packages/components/navbar/navbar.module.ts","../../../packages/components/navbar/koobiq-components-navbar.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n DestroyRef,\n Directive,\n ElementRef,\n forwardRef,\n inject,\n Input,\n OnDestroy,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FocusKeyManager } from '@koobiq/cdk/a11y';\nimport { isHorizontalMovement, isVerticalMovement, LEFT_ARROW, RIGHT_ARROW, TAB } from '@koobiq/cdk/keycodes';\nimport { merge, Observable, Subject, Subscription } from 'rxjs';\nimport { debounceTime, startWith } from 'rxjs/operators';\nimport {\n KbqNavbarFocusableItem,\n KbqNavbarFocusableItemEvent,\n KbqNavbarItem,\n KbqNavbarRectangleElement\n} from './navbar-item.component';\n\nexport type KbqNavbarContainerPositionType = 'left' | 'right';\n\n@Directive()\nexport class KbqFocusableComponent implements AfterContentInit, OnDestroy {\n @ContentChildren(forwardRef(() => KbqNavbarFocusableItem), { descendants: true })\n focusableItems: QueryList<KbqNavbarFocusableItem>;\n\n keyManager: FocusKeyManager<KbqNavbarFocusableItem>;\n\n @Input()\n get tabIndex(): any {\n return this._tabIndex;\n }\n\n set tabIndex(value: any) {\n this._tabIndex = value;\n }\n\n private _tabIndex = 0;\n\n get optionFocusChanges(): Observable<KbqNavbarFocusableItemEvent> {\n return merge(...this.focusableItems.map((item) => item.onFocus));\n }\n\n get optionBlurChanges(): Observable<KbqNavbarFocusableItemEvent> {\n return merge(...this.focusableItems.map((option) => option.onBlur));\n }\n\n private readonly destroyRef = inject(DestroyRef);\n\n private optionFocusSubscription: Subscription | null;\n private optionBlurSubscription: Subscription | null;\n\n constructor(\n protected readonly changeDetectorRef: ChangeDetectorRef,\n protected readonly elementRef: ElementRef,\n protected readonly focusMonitor: FocusMonitor\n ) {\n this.focusMonitor.monitor(elementRef).subscribe((focusOrigin) => {\n this.keyManager.setFocusOrigin(focusOrigin);\n });\n }\n\n ngAfterContentInit(): void {\n this.keyManager = new FocusKeyManager<KbqNavbarFocusableItem>(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 ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n\n focus(): void {\n if (this.focusableItems.length === 0) {\n return;\n }\n\n this.keyManager.setFirstItemActive();\n }\n\n blur() {\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.listenToOptionsFocus();\n }\n\n protected dropSubscriptions() {\n if (this.optionFocusSubscription) {\n this.optionFocusSubscription.unsubscribe();\n this.optionFocusSubscription = null;\n }\n\n if (this.optionBlurSubscription) {\n this.optionBlurSubscription.unsubscribe();\n this.optionBlurSubscription = null;\n }\n }\n\n private listenToOptionsFocus(): void {\n this.optionFocusSubscription = this.optionFocusChanges.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.optionBlurSubscription = this.optionBlurChanges.subscribe(() => this.blur());\n }\n\n private updateTabIndex(): void {\n this.tabIndex = this.focusableItems.length === 0 ? -1 : 0;\n }\n\n private isValidIndex(index: number): boolean {\n return index >= 0 && index < this.focusableItems.length;\n }\n\n private hasFocusedItem() {\n return this.focusableItems.some((item) => item.hasFocus);\n }\n}\n\n@Directive({\n selector: 'kbq-navbar-container',\n host: {\n class: 'kbq-navbar-container'\n }\n})\nexport class KbqNavbarContainer {}\n\n@Component({\n selector: 'kbq-navbar',\n template: `\n <ng-content select=\"[kbq-navbar-container], kbq-navbar-container\" />\n `,\n styleUrls: [\n './navbar.scss',\n './navbar-item.scss',\n './navbar-brand.scss',\n './navbar-divider.scss',\n './navbar-tokens.scss'\n ],\n host: {\n class: 'kbq-navbar',\n\n '[attr.tabindex]': 'tabIndex',\n\n '(focus)': 'focus()',\n '(blur)': 'blur()',\n\n '(keydown)': 'onKeyDown($event)',\n\n '(window:resize)': 'resizeStream.next($event)'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqNavbar extends KbqFocusableComponent implements AfterViewInit, AfterContentInit, OnDestroy {\n @ContentChildren(forwardRef(() => KbqNavbarRectangleElement), { descendants: true })\n rectangleElements: QueryList<KbqNavbarRectangleElement>;\n\n @ContentChildren(forwardRef(() => KbqNavbarItem), { descendants: true }) navbarItems: QueryList<KbqNavbarItem>;\n\n readonly resizeStream = new Subject<Event>();\n\n private readonly resizeDebounceInterval: number = 100;\n\n private get width(): number {\n return this.elementRef.nativeElement.getBoundingClientRect().width;\n }\n\n private get totalItemsWidth(): number {\n return this.rectangleElements.reduce((acc, item) => acc + item.getOuterElementWidth(), 0);\n }\n\n private get collapsableItems(): KbqNavbarItem[] {\n return this.navbarItems\n .toArray()\n .filter((item) => item.icon && item.title && item.collapsable)\n .reverse();\n }\n\n private resizeSubscription: Subscription;\n\n constructor(\n protected readonly elementRef: ElementRef,\n protected readonly changeDetectorRef: ChangeDetectorRef,\n protected readonly focusMonitor: FocusMonitor\n ) {\n super(changeDetectorRef, elementRef, focusMonitor);\n\n this.resizeSubscription = this.resizeStream\n .pipe(debounceTime(this.resizeDebounceInterval))\n .subscribe(this.updateExpandedStateForItems);\n }\n\n ngAfterContentInit(): void {\n this.setItemsState();\n\n this.rectangleElements.changes.subscribe(this.setItemsState);\n\n super.ngAfterContentInit();\n\n this.keyManager.withVerticalOrientation(false).withHorizontalOrientation('ltr');\n }\n\n ngAfterViewInit(): void {\n // Note: this wait is required for loading and rendering fonts for icons;\n // unfortunately we cannot control font rendering\n setTimeout(this.updateExpandedStateForItems);\n }\n\n ngOnDestroy() {\n this.resizeSubscription.unsubscribe();\n\n super.ngOnDestroy();\n }\n\n onKeyDown(event: KeyboardEvent) {\n const keyCode = event.keyCode;\n\n if (!this.eventFromInput(event) && (isVerticalMovement(event) || isHorizontalMovement(event))) {\n event.preventDefault();\n }\n\n if (keyCode === TAB) {\n this.keyManager.tabOut.next();\n\n return;\n } else if (this.eventFromInput(event) && this.cursorOnLastPosition(event) && keyCode === RIGHT_ARROW) {\n this.keyManager.setNextItemActive();\n } else if (this.eventFromInput(event) && this.cursorOnFirstPosition(event) && keyCode === LEFT_ARROW) {\n this.keyManager.setPreviousItemActive();\n } else if (!this.eventFromInput(event)) {\n this.keyManager.onKeydown(event);\n }\n }\n\n updateExpandedStateForItems = () => {\n const collapseDelta = this.totalItemsWidth - this.width;\n\n const needCollapse = collapseDelta > 0;\n\n if (needCollapse) {\n this.collapseItems(collapseDelta);\n } else {\n this.expandItems(collapseDelta);\n }\n };\n\n private eventFromInput(event: KeyboardEvent): boolean {\n return !!(event.target as HTMLElement).attributes.getNamedItem('kbqinput');\n }\n\n private cursorOnFirstPosition(event: KeyboardEvent): boolean {\n const input = event.target as HTMLInputElement;\n\n return input.selectionStart === 0;\n }\n\n private cursorOnLastPosition(event: KeyboardEvent): boolean {\n const input = event.target as HTMLInputElement;\n\n return input.selectionEnd === input.value.length;\n }\n\n private collapseItems(collapseDelta: number) {\n let delta = collapseDelta;\n\n const unCollapsedItems = this.collapsableItems.filter((item) => !item.collapsed);\n\n for (const item of unCollapsedItems) {\n item.collapsed = true;\n delta -= item.getTitleWidth();\n\n if (delta < 0) {\n break;\n }\n }\n }\n\n private expandItems(collapseDelta: number) {\n let delta = collapseDelta;\n\n this.collapsableItems\n .filter((item) => item.collapsed)\n .forEach((item) => {\n if (delta + item.getTitleWidth() < 0) {\n item.collapsed = false;\n delta += item.getTitleWidth();\n }\n });\n }\n\n private setItemsState = () => {\n Promise.resolve().then(() => this.rectangleElements?.forEach((item) => (item.horizontal = true)));\n };\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n forwardRef,\n Input,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { DOWN_ARROW, isHorizontalMovement, isVerticalMovement, TAB, UP_ARROW } from '@koobiq/cdk/keycodes';\nimport { Subject } from 'rxjs';\nimport { KbqNavbarBento, KbqNavbarItem, KbqNavbarRectangleElement } from './navbar-item.component';\nimport { KbqFocusableComponent } from './navbar.component';\n\n@Component({\n selector: 'kbq-vertical-navbar',\n exportAs: 'KbqVerticalNavbar',\n template: `\n <div\n class=\"kbq-vertical-navbar__container\"\n [class.kbq-collapsed]=\"!expanded\"\n [class.kbq-expanded]=\"expanded\"\n >\n <ng-content select=\"[kbq-navbar-container], kbq-navbar-container\" />\n <ng-content select=\"[kbq-navbar-toggle], kbq-navbar-toggle\" />\n </div>\n `,\n styleUrls: [\n './vertical-navbar.scss',\n './navbar-item.scss',\n './navbar-brand.scss',\n './navbar-divider.scss',\n './navbar-tokens.scss'\n ],\n host: {\n class: 'kbq-vertical-navbar',\n '[class.kbq-vertical-navbar_open-over]': 'openOver',\n '[attr.tabindex]': 'tabIndex',\n\n '(focus)': 'focus()',\n '(blur)': 'blur()',\n\n '(keydown)': 'onKeyDown($event)'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqVerticalNavbar extends KbqFocusableComponent implements AfterContentInit {\n @ContentChildren(forwardRef(() => KbqNavbarRectangleElement), { descendants: true })\n rectangleElements: QueryList<KbqNavbarRectangleElement>;\n\n @ContentChildren(forwardRef(() => KbqNavbarItem), { descendants: true }) items: QueryList<KbqNavbarItem>;\n\n @ContentChild(forwardRef(() => KbqNavbarBento)) bento: KbqNavbarBento;\n\n readonly animationDone: Subject<void> = new Subject();\n\n @Input() openOver: boolean = false;\n\n @Input()\n get expanded() {\n return this._expanded;\n }\n\n set expanded(value: boolean) {\n this._expanded = coerceBooleanProperty(value);\n\n this.updateExpandedStateForItems();\n }\n\n private _expanded: boolean = false;\n\n constructor(\n protected elementRef: ElementRef,\n changeDetectorRef: ChangeDetectorRef,\n focusMonitor: FocusMonitor\n ) {\n super(changeDetectorRef, elementRef, focusMonitor);\n\n this.animationDone.subscribe(this.updateTooltipForItems);\n }\n\n ngAfterContentInit(): void {\n this.setItemsState();\n this.updateExpandedStateForItems();\n this.updateTooltipForItems();\n\n this.rectangleElements.changes.subscribe(this.setItemsState);\n\n super.ngAfterContentInit();\n\n this.keyManager.withVerticalOrientation(true);\n }\n\n toggle(): void {\n this.expanded = !this.expanded;\n\n this.changeDetectorRef.markForCheck();\n }\n\n onKeyDown(event: KeyboardEvent) {\n const keyCode = event.keyCode;\n\n if (\n !(event.target as HTMLElement).attributes.getNamedItem('kbqinput') &&\n (isVerticalMovement(event) || isHorizontalMovement(event))\n ) {\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 updateExpandedStateForItems = () => {\n this.rectangleElements?.forEach((item) => {\n item.collapsed = !this.expanded;\n setTimeout(() => item.button?.updateClassModifierForIcons());\n });\n };\n\n private updateTooltipForItems = () => {\n this.items.forEach((item) => item.updateTooltip());\n };\n\n private setItemsState = () => {\n Promise.resolve().then(() => this.rectangleElements?.forEach((item) => (item.vertical = true)));\n };\n}\n","import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { DOCUMENT } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n DestroyRef,\n Directive,\n ElementRef,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n Optional,\n TemplateRef,\n ViewEncapsulation,\n booleanAttribute,\n inject\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { IFocusableOption } from '@koobiq/cdk/a11y';\nimport { DOWN_ARROW, ENTER, NUMPAD_DIVIDE, RIGHT_ARROW, SLASH, SPACE } from '@koobiq/cdk/keycodes';\nimport { KbqButton, KbqButtonCssStyler } from '@koobiq/components/button';\nimport { PopUpPlacements, PopUpTriggers } 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 { EMPTY, Subject, merge } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { KbqVerticalNavbar } from './vertical-navbar.component';\n\nexport interface KbqNavbarFocusableItemEvent {\n item: KbqNavbarFocusableItem;\n}\n\n@Directive({\n selector: 'kbq-navbar-logo, [kbq-navbar-logo]',\n host: {\n class: 'kbq-navbar-logo',\n '(mouseenter)': 'hovered.next(true)',\n '(mouseleave)': 'hovered.next(false)'\n }\n})\nexport class KbqNavbarLogo {\n readonly hovered = new Subject<boolean>();\n}\n\n@Directive({\n selector: 'kbq-navbar-item[bento], [kbq-navbar-item][bento]',\n host: {\n class: 'kbq-navbar-bento'\n }\n})\nexport class KbqNavbarBento {}\n\n@Directive({\n selector: 'kbq-navbar-title, [kbq-navbar-title]',\n host: {\n class: 'kbq-navbar-title',\n '[class.kbq-navbar-title_small]': 'isTextOverflown',\n\n '(mouseenter)': 'hovered.next(true)',\n '(mouseleave)': 'hovered.next(false)'\n }\n})\nexport class KbqNavbarTitle implements AfterViewInit {\n readonly hovered = new Subject<boolean>();\n\n outerElementWidth: number;\n isTextOverflown: boolean = false;\n\n get text(): string {\n return this.elementRef.nativeElement.textContent;\n }\n\n get isOverflown() {\n return this.elementRef.nativeElement.scrollWidth > this.elementRef.nativeElement.clientWidth;\n }\n\n constructor(private elementRef: ElementRef) {}\n\n getOuterElementWidth(): number {\n const { width, marginLeft, marginRight } = window.getComputedStyle(this.elementRef.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 > 18;\n }\n\n ngAfterViewInit(): void {\n this.outerElementWidth = this.getOuterElementWidth();\n }\n}\n\n@Component({\n selector: 'kbq-navbar-brand, [kbq-navbar-brand]',\n exportAs: 'kbqNavbarBrand',\n template: `\n <ng-content />\n `,\n host: {\n class: 'kbq-navbar-brand',\n '[class.kbq-hovered]': 'hovered'\n }\n})\nexport class KbqNavbarBrand implements AfterContentInit {\n @ContentChild(KbqNavbarLogo) logo: KbqNavbarLogo;\n @ContentChild(KbqNavbarTitle) title: KbqNavbarTitle;\n\n hovered = false;\n\n get hasBento(): boolean {\n return !!this.navbar?.bento;\n }\n\n private readonly destroyRef = inject(DestroyRef);\n\n constructor(@Optional() private navbar: KbqVerticalNavbar) {}\n\n ngAfterContentInit(): void {\n merge(this.logo ? this.logo.hovered : (EMPTY as any), this.title ? this.title.hovered : (EMPTY as any))\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((value) => (this.hovered = !!value));\n\n this.navbar?.animationDone.subscribe(() => this.title?.checkTextOverflown());\n }\n}\n\n@Directive({\n selector: 'kbq-navbar-divider',\n host: {\n class: 'kbq-navbar-divider'\n }\n})\nexport class KbqNavbarDivider {}\n\n@Directive({\n selector: 'kbq-navbar-item, [kbq-navbar-item], kbq-navbar-brand, [kbq-navbar-brand], kbq-navbar-toggle',\n host: {\n '[attr.tabindex]': 'tabIndex',\n '[attr.disabled]': 'disabled || null',\n\n class: 'kbq-navbar-focusable-item',\n '[class.kbq-navbar-item_has-nested]': '!!nestedElement',\n '[class.kbq-disabled]': 'disabled',\n\n '(focus)': 'onFocusHandler()',\n '(blur)': 'blur()'\n }\n})\nexport class KbqNavbarFocusableItem implements IFocusableOption, AfterContentInit, OnDestroy {\n @ContentChild(KbqNavbarTitle) title: KbqNavbarTitle;\n\n @ContentChild(KbqButton) button: KbqButton;\n\n @ContentChild(KbqFormField) formField: KbqFormField;\n\n get nestedElement(): KbqButton | KbqFormField {\n return this.button || this.formField;\n }\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.nestedElement?.hasFocus || 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 get tabIndex(): number {\n return -1;\n }\n\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n private changeDetector: ChangeDetectorRef,\n private focusMonitor: FocusMonitor,\n private ngZone: NgZone\n ) {}\n\n ngAfterContentInit(): void {\n if (this.button) {\n this.button.tabIndex = -1;\n }\n\n this.focusMonitor.monitor(this.elementRef);\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n\n setTooltip(value: KbqTooltipTrigger) {\n this._tooltip = value;\n }\n\n onFocusHandler() {\n if (this.disabled || this.hasFocus) {\n return;\n }\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 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 if (this.nestedElement) {\n this.nestedElement.focusViaKeyboard();\n\n this.changeDetector.markForCheck();\n\n return;\n }\n\n this.tooltip?.show();\n this.onFocusHandler();\n }\n\n blur(): 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@Directive({\n selector: 'kbq-navbar-item, [kbq-navbar-item], kbq-navbar-divider, kbq-navbar-brand, [kbq-navbar-brand]',\n host: {\n '[class.kbq-vertical]': 'vertical',\n '[class.kbq-horizontal]': 'horizontal',\n\n '[class.kbq-expanded]': 'vertical && !collapsed',\n '[class.kbq-collapsed]': 'vertical && collapsed'\n }\n})\nexport class KbqNavbarRectangleElement {\n readonly state = new Subject<void>();\n\n get horizontal(): boolean {\n return this._horizontal;\n }\n\n set horizontal(value: boolean) {\n this._horizontal = value;\n\n this.state.next();\n }\n\n private _horizontal: boolean;\n\n get vertical(): boolean {\n return this._vertical;\n }\n\n set vertical(value: boolean) {\n this._vertical = value;\n\n this.state.next();\n }\n\n private _vertical: boolean;\n\n get collapsed(): boolean {\n return this._collapsed;\n }\n\n set collapsed(value: boolean) {\n this._collapsed = value;\n\n this.state.next();\n }\n\n private _collapsed: boolean;\n\n @ContentChild(KbqButtonCssStyler) button: KbqButtonCssStyler;\n\n constructor(public elementRef: ElementRef) {}\n\n getOuterElementWidth(): number {\n const { width, marginLeft, marginRight } = window.getComputedStyle(this.elementRef.nativeElement);\n\n return [width, marginLeft, marginRight].reduce((acc, item) => acc + parseInt(item), 0);\n }\n}\n\n@Component({\n selector: 'kbq-navbar-item, [kbq-navbar-item]',\n exportAs: 'kbqNavbarItem',\n templateUrl: './navbar-item.component.html',\n host: {\n class: 'kbq-navbar-item',\n '[class.kbq-navbar-item_collapsed]': 'isCollapsed',\n '[class.kbq-navbar-item_with-title]': '!!title',\n\n '(keydown)': 'onKeyDown($event)'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqNavbarItem extends KbqTooltipTrigger implements AfterContentInit {\n @ContentChild(KbqNavbarTitle) title: KbqNavbarTitle;\n\n @ContentChild(KbqIcon) icon: KbqIcon;\n\n @Input() collapsedText: string;\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 this.updateCollapsedState();\n }\n }\n\n private _collapsed = false;\n\n isCollapsed: boolean;\n\n get croppedText(): string {\n const croppedTitleText = this.title?.isOverflown ? this.titleText : '';\n\n return `${croppedTitleText}`;\n }\n\n @Input()\n get collapsable(): boolean {\n return this._collapsable;\n }\n\n set collapsable(value: boolean) {\n this._collapsable = coerceBooleanProperty(value);\n }\n\n private _collapsable: boolean = true;\n\n get titleText(): string | null {\n return this.collapsedText || this.title?.text || null;\n }\n\n get disabled(): boolean {\n if (this._disabled !== undefined) {\n return this._disabled;\n }\n\n return (!this.isCollapsed && !this.hasCroppedText) || !this.title;\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 showVerticalDropDownAngle(): boolean {\n return !this.bento && this.hasDropDownTrigger && this.rectangleElement.vertical && !this.isCollapsed;\n }\n\n get showHorizontalDropDownAngle(): boolean {\n return this.hasDropDownTrigger && this.rectangleElement.horizontal && !this.isCollapsed;\n }\n\n get hasCroppedText(): boolean {\n return !!this.title?.isOverflown;\n }\n\n constructor(\n public rectangleElement: KbqNavbarRectangleElement,\n public navbarFocusableItem: KbqNavbarFocusableItem,\n private changeDetectorRef: ChangeDetectorRef,\n @Optional() private dropdownTrigger: KbqDropdownTrigger,\n @Optional() private bento: KbqNavbarBento,\n @Optional() private tooltip: KbqTooltipTrigger\n ) {\n super();\n\n if (this.hasDropDownTrigger) {\n this.dropdownTrigger.openByArrowDown = false;\n }\n\n this.rectangleElement.state.subscribe(() => {\n this.collapsed = this.rectangleElement.collapsed;\n\n this.changeDetectorRef.detectChanges();\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 this.updateTooltip();\n }\n\n updateTooltip(): void {\n if (this.isCollapsed) {\n this.content = `${this.titleText || ''}`;\n } else if (!this.isCollapsed && this.hasCroppedText) {\n this.content = this.croppedText;\n }\n\n if (this.rectangleElement.vertical) {\n this.placement = PopUpPlacements.Right;\n }\n\n this.changeDetectorRef.markForCheck();\n }\n\n getTitleWidth(): number {\n return this.title.outerElementWidth;\n }\n\n onKeyDown($event: KeyboardEvent) {\n if (!this.hasDropDownTrigger) {\n return;\n }\n\n if (\n (this.rectangleElement.horizontal && $event.keyCode === DOWN_ARROW) ||\n (this.rectangleElement.vertical && $event.keyCode === RIGHT_ARROW)\n ) {\n this.dropdownTrigger.openedBy = 'keyboard';\n this.dropdownTrigger.open();\n\n $event.stopPropagation();\n $event.preventDefault();\n }\n }\n\n private updateCollapsedState() {\n Promise.resolve().then(() => {\n this.isCollapsed = this._collapsed;\n\n this.changeDetectorRef.markForCheck();\n });\n }\n}\n\n@Component({\n selector: 'kbq-navbar-toggle',\n template: `\n @if (!customIcon) {\n <i\n [class.kbq-chevron-left_16]=\"navbar.expanded\"\n [class.kbq-chevron-right_16]=\"!navbar.expanded\"\n kbq-icon\n ></i>\n }\n\n <ng-content select=\"[kbq-icon]\" />\n\n @if (navbar.expanded) {\n <div class=\"kbq-navbar-item__title\">\n <ng-content select=\"kbq-navbar-title\" />\n </div>\n }\n `,\n styleUrls: ['./navbar.scss'],\n host: {\n class: 'kbq-navbar-item kbq-navbar-toggle kbq-vertical',\n '[class.kbq-tooltip_open]': 'isOpen',\n '[class.kbq-collapsed]': '!navbar.expanded',\n '[class.kbq-expanded]': 'navbar.expanded',\n\n '(keydown)': 'onKeydown($event)',\n '(click)': 'toggle()',\n '(touchend)': 'handleTouchend()'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqNavbarToggle extends KbqTooltipTrigger implements OnDestroy {\n @ContentChild(KbqIcon) customIcon: KbqIcon;\n\n @Input('kbqCollapsedTooltip')\n get content(): string | TemplateRef<any> {\n return this._content;\n }\n\n set content(content: string | TemplateRef<any>) {\n this._content = content;\n\n this.updateData();\n }\n\n get disabled(): boolean {\n return this.navbar.expanded;\n }\n\n protected modifier: TooltipModifier = TooltipModifier.Default;\n\n constructor(\n public navbar: KbqVerticalNavbar,\n private changeDetectorRef: ChangeDetectorRef,\n @Optional() @Inject(DOCUMENT) private document: any\n ) {\n super();\n\n this.placement = PopUpPlacements.Right;\n\n const window = this.getWindow();\n\n if (window) {\n this.ngZone.runOutsideAngular(() => {\n window.addEventListener('keydown', this.windowToggleHandler);\n });\n }\n }\n\n onKeydown($event: KeyboardEvent) {\n if ([SPACE, ENTER].includes($event.keyCode)) {\n this.toggle();\n\n $event.stopPropagation();\n $event.preventDefault();\n }\n\n super.handleKeydown($event);\n }\n\n ngOnDestroy(): void {\n const window = this.getWindow();\n\n if (window) {\n window.removeEventListener('keydown', this.windowToggleHandler);\n }\n }\n\n toggle = () => {\n this.navbar.toggle();\n\n this.changeDetectorRef.markForCheck();\n\n this.hide();\n };\n\n private getWindow(): Window {\n return this.document?.defaultView || window;\n }\n\n private windowToggleHandler = (event: KeyboardEvent) => {\n if (event.ctrlKey && [NUMPAD_DIVIDE, SLASH].includes(event.keyCode)) {\n this.ngZone.run(this.toggle);\n }\n };\n}\n","<ng-content select=\"[kbq-icon]\" />\n\n@if (title) {\n <div class=\"kbq-navbar-item__container\">\n <div class=\"kbq-navbar-item__title\">\n <ng-content select=\"kbq-navbar-title, [kbq-navbar-title]\" />\n </div>\n @if (showVerticalDropDownAngle) {\n <i\n kbq-icon=\"kbq-chevron-right_16\"\n class=\"kbq-navbar-item__arrow-icon\"\n ></i>\n }\n @if (showHorizontalDropDownAngle) {\n <i\n kbq-icon=\"kbq-chevron-down-s_16\"\n class=\"kbq-navbar-item__arrow-icon\"\n ></i>\n }\n </div>\n}\n\n<ng-content />\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { NgModule } from '@angular/core';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqToolTipModule } from '@koobiq/components/tooltip';\nimport {\n KbqNavbarBento,\n KbqNavbarBrand,\n KbqNavbarDivider,\n KbqNavbarFocusableItem,\n KbqNavbarItem,\n KbqNavbarLogo,\n KbqNavbarRectangleElement,\n KbqNavbarTitle,\n KbqNavbarToggle\n} from './navbar-item.component';\nimport { KbqNavbar, KbqNavbarContainer } from './navbar.component';\nimport { KbqVerticalNavbar } from './vertical-navbar.component';\n\n@NgModule({\n imports: [\n A11yModule,\n PlatformModule,\n KbqIconModule,\n KbqToolTipModule\n ],\n exports: [\n KbqNavbar,\n KbqNavbarContainer,\n KbqNavbarTitle,\n KbqNavbarItem,\n KbqNavbarBrand,\n KbqNavbarLogo,\n KbqNavbarToggle,\n KbqVerticalNavbar,\n KbqNavbarDivider,\n KbqNavbarFocusableItem,\n KbqNavbarRectangleElement,\n KbqNavbarBento\n ],\n declarations: [\n KbqNavbar,\n KbqNavbarContainer,\n KbqNavbarTitle,\n KbqNavbarItem,\n KbqNavbarBrand,\n KbqNavbarLogo,\n KbqNavbarToggle,\n KbqVerticalNavbar,\n KbqNavbarDivider,\n KbqNavbarFocusableItem,\n KbqNavbarRectangleElement,\n KbqNavbarBento\n ]\n})\nexport class KbqNavbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.KbqVerticalNavbar","i2"],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
3
|
import { inject, DestroyRef, Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, InjectionToken, EventEmitter, Directive, Input, Output, Optional, Inject, NgModule } from '@angular/core';
|
|
4
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
5
|
import { fromEvent, NEVER, merge, Subject } from 'rxjs';
|
|
5
|
-
import { debounceTime, takeUntil } from 'rxjs/operators';
|
|
6
6
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
7
7
|
import { Overlay, OverlayModule } from '@angular/cdk/overlay';
|
|
8
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
9
8
|
import { KbqPopUp, KbqComponentColors, KbqPopUpTrigger, PopUpTriggers, PopUpSizes, POSITION_TO_CSS_MAP } from '@koobiq/components/core';
|
|
9
|
+
import { debounceTime } from 'rxjs/operators';
|
|
10
10
|
import * as i1 from '@koobiq/components/button';
|
|
11
11
|
import { KbqButtonModule } from '@koobiq/components/button';
|
|
12
12
|
import * as i2 from '@angular/cdk/a11y';
|
|
@@ -389,7 +389,7 @@ class KbqPopoverConfirmTrigger extends KbqPopoverTrigger {
|
|
|
389
389
|
this.instance.confirmText = this.confirmText;
|
|
390
390
|
}
|
|
391
391
|
setupButtonEvents() {
|
|
392
|
-
this.instance.onConfirm.pipe(
|
|
392
|
+
this.instance.onConfirm.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
|
|
393
393
|
this.confirm.emit();
|
|
394
394
|
this.hide();
|
|
395
395
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"koobiq-components-popover.mjs","sources":["../../../packages/components/popover/popover-animations.ts","../../../packages/components/popover/popover.component.ts","../../../packages/components/popover/popover.component.html","../../../packages/components/popover/popover-confirm.component.ts","../../../packages/components/popover/popover-confirm.component.html","../../../packages/components/popover/popover.module.ts","../../../packages/components/popover/koobiq-components-popover.ts"],"sourcesContent":["import { animate, AnimationTriggerMetadata, state, style, transition, trigger } from '@angular/animations';\n\nexport const kbqPopoverAnimations: {\n readonly popoverState: AnimationTriggerMetadata;\n} = {\n /** Animation that transitions a tooltip in and out. */\n popoverState: trigger('state', [\n state(\n 'initial',\n style({\n opacity: 0,\n transform: 'scale(1, 0.8)'\n })\n ),\n transition(\n '* => visible',\n animate(\n '120ms cubic-bezier(0, 0, 0.2, 1)',\n style({\n opacity: 1,\n transform: 'scale(1, 1)'\n })\n )\n ),\n transition('* => hidden', animate('100ms linear', style({ opacity: 0 })))\n ])\n};\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n CdkScrollable,\n FlexibleConnectedPositionStrategy,\n Overlay,\n OverlayConfig,\n ScrollStrategy\n} from '@angular/cdk/overlay';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n Directive,\n ElementRef,\n EventEmitter,\n InjectionToken,\n Input,\n Output,\n TemplateRef,\n Type,\n ViewChild,\n ViewEncapsulation,\n inject\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n KbqComponentColors,\n KbqPopUp,\n KbqPopUpTrigger,\n POSITION_TO_CSS_MAP,\n PopUpPlacements,\n PopUpSizes,\n PopUpTriggers\n} from '@koobiq/components/core';\nimport { NEVER, fromEvent, merge } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { kbqPopoverAnimations } from './popover-animations';\n\n@Component({\n selector: 'kbq-popover-component',\n templateUrl: './popover.component.html',\n preserveWhitespaces: false,\n styleUrls: ['./popover.scss', './popover-tokens.scss'],\n host: {\n '(keydown.esc)': 'hide(0)'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [kbqPopoverAnimations.popoverState]\n})\nexport class KbqPopoverComponent extends KbqPopUp implements AfterViewInit {\n prefix = 'kbq-popover';\n\n header: string | TemplateRef<any>;\n footer: string | TemplateRef<any>;\n\n isTrapFocus: boolean = false;\n hasCloseButton: boolean = false;\n\n @ViewChild('popoverContent') popoverContent: ElementRef<HTMLDivElement>;\n\n private debounceTime = 15;\n private readonly destroyRef = inject(DestroyRef);\n isContentTopOverflow: boolean = false;\n isContentBottomOverflow: boolean = false;\n\n ngAfterViewInit() {\n if (!this.popoverContent) return;\n\n this.checkContentOverflow(this.popoverContent.nativeElement);\n\n fromEvent(this.popoverContent.nativeElement, 'scroll')\n .pipe(debounceTime(this.debounceTime), takeUntilDestroyed(this.destroyRef))\n .subscribe((event) => {\n this.checkContentOverflow(event.target as HTMLElement);\n });\n }\n\n onContentChange() {\n this.checkContentOverflow(this.popoverContent.nativeElement);\n }\n\n checkContentOverflow(contentElement: HTMLElement) {\n const { scrollTop, offsetHeight, scrollHeight } = contentElement;\n\n this.isContentTopOverflow = scrollTop > 0;\n\n this.isContentBottomOverflow = scrollTop + offsetHeight < scrollHeight;\n\n super.detectChanges();\n }\n\n updateClassMap(placement: string, customClass: string, size: PopUpSizes) {\n super.updateClassMap(placement, customClass, { [`${this.prefix}_${size}`]: !!size });\n }\n\n updateTrapFocus(isTrapFocus: boolean): void {\n this.isTrapFocus = isTrapFocus;\n }\n\n protected readonly componentColors = KbqComponentColors;\n}\n\nexport const KBQ_POPOVER_SCROLL_STRATEGY = new InjectionToken<() => ScrollStrategy>('kbq-popover-scroll-strategy');\n\n/** @docs-private */\nexport function kbqPopoverScrollStrategyFactory(overlay: Overlay): () => ScrollStrategy {\n return () => overlay.scrollStrategies.reposition({ scrollThrottle: 20 });\n}\n\n/** @docs-private */\nexport const KBQ_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER = {\n provide: KBQ_POPOVER_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: kbqPopoverScrollStrategyFactory\n};\n\n/** Creates an error to be thrown if the user supplied an invalid popover position. */\nexport function getKbqPopoverInvalidPositionError(position: string) {\n return Error(`KbqPopover position \"${position}\" is invalid.`);\n}\n\n@Directive({\n selector: '[kbqPopover]',\n exportAs: 'kbqPopover',\n host: {\n '[class.kbq-popover_open]': 'isOpen',\n '[class.kbq-active]': 'hasClickTrigger && isOpen',\n '(keydown)': 'handleKeydown($event)',\n '(touchend)': 'handleTouchend()'\n }\n})\nexport class KbqPopoverTrigger extends KbqPopUpTrigger<KbqPopoverComponent> implements AfterContentInit {\n protected scrollStrategy: () => ScrollStrategy = inject(KBQ_POPOVER_SCROLL_STRATEGY);\n\n @Input('kbqPopoverVisible')\n get popoverVisible(): boolean {\n return this.visible;\n }\n\n set popoverVisible(value: boolean) {\n super.updateVisible(value);\n }\n\n @Input('kbqPopoverPlacement')\n get popoverPlacement(): PopUpPlacements {\n return this.placement;\n }\n\n set popoverPlacement(value: PopUpPlacements) {\n super.updatePlacement(value);\n }\n\n @Input('kbqPopoverPlacementPriority')\n get popoverPlacementPriority() {\n return this.placementPriority;\n }\n\n set popoverPlacementPriority(value) {\n super.updatePlacementPriority(value);\n }\n\n @Input()\n get hasBackdrop(): boolean {\n return this._hasBackdrop;\n }\n\n set hasBackdrop(value: boolean) {\n this._hasBackdrop = coerceBooleanProperty(value);\n }\n\n private _hasBackdrop: boolean = false;\n\n @Input('kbqPopoverHeader')\n get header(): string | TemplateRef<any> {\n return this._header;\n }\n\n set header(value: string | TemplateRef<any>) {\n this._header = value;\n\n this.updateData();\n }\n\n private _header: string | TemplateRef<any>;\n\n @Input('kbqPopoverContent')\n get content(): string | TemplateRef<any> {\n return this._content;\n }\n\n set content(value: string | TemplateRef<any>) {\n this._content = value;\n\n this.updateData();\n }\n\n @Input('kbqPopoverFooter')\n get footer(): string | TemplateRef<any> {\n return this._footer;\n }\n\n set footer(value: string | TemplateRef<any>) {\n this._footer = value;\n\n this.updateData();\n }\n\n private _footer: string | TemplateRef<any>;\n\n @Input('kbqPopoverDisabled')\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n\n if (this._disabled) {\n this.hide();\n }\n }\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 } else {\n this._trigger = `${PopUpTriggers.Click}, ${PopUpTriggers.Keydown}`;\n }\n\n this.initListeners();\n }\n\n private _trigger: string = `${PopUpTriggers.Click}, ${PopUpTriggers.Keydown}`;\n\n @Input('kbqPopoverSize')\n get size(): PopUpSizes {\n return this._size;\n }\n\n set size(value: PopUpSizes) {\n if ([PopUpSizes.Small, PopUpSizes.Medium, PopUpSizes.Large].includes(value)) {\n this._size = value;\n\n this.updateClassMap();\n } else {\n this._size = PopUpSizes.Medium;\n }\n }\n\n private _size: PopUpSizes = PopUpSizes.Medium;\n\n @Input('kbqPopoverClass')\n get customClass() {\n return this._customClass;\n }\n\n set customClass(value: string) {\n this._customClass = value;\n\n this.updateClassMap();\n }\n\n @Input()\n get hasCloseButton() {\n return this._hasCloseButton;\n }\n set hasCloseButton(value) {\n this._hasCloseButton = value;\n this.updateData();\n }\n private _hasCloseButton = false;\n\n /**\n * Controls the behavior of closing the component on scroll.\n * The default value is `false`.\n * Use CloseScrollStrategy as alternative\n */\n @Input()\n get closeOnScroll(): boolean | null {\n return this._closeOnScroll;\n }\n\n set closeOnScroll(value: boolean) {\n this._closeOnScroll = coerceBooleanProperty(value);\n }\n\n private _closeOnScroll: boolean | null = null;\n\n get hasClickTrigger(): boolean {\n return this.trigger.includes(PopUpTriggers.Click);\n }\n\n @Input() backdropClass: string = 'cdk-overlay-transparent-backdrop';\n\n @Output('kbqPopoverPlacementChange') placementChange = new EventEmitter();\n\n @Output('kbqPopoverVisibleChange') visibleChange = new EventEmitter<boolean>();\n\n protected originSelector = '.kbq-popover';\n\n protected get overlayConfig(): OverlayConfig {\n return {\n panelClass: 'kbq-popover__panel',\n hasBackdrop: this.hasBackdrop,\n backdropClass: this.backdropClass\n };\n }\n\n ngAfterContentInit(): void {\n if (this.closeOnScroll === null) {\n this.scrollDispatcher.scrolled().subscribe((scrollable: CdkScrollable | void) => {\n if (!scrollable?.getElementRef().nativeElement.classList.contains('kbq-hide-nested-popup')) return;\n\n const parentRects = scrollable.getElementRef().nativeElement.getBoundingClientRect();\n const childRects = this.elementRef.nativeElement.getBoundingClientRect();\n\n if (childRects.bottom < parentRects.top || childRects.top > parentRects.bottom) {\n this.hide();\n }\n });\n }\n }\n\n updateData() {\n if (!this.instance) {\n return;\n }\n\n this.instance.header = this.header;\n this.instance.content = this.content;\n this.instance.footer = this.footer;\n this.instance.hasCloseButton = this.hasCloseButton;\n\n this.instance.updateTrapFocus(this.trigger !== PopUpTriggers.Focus);\n\n if (this.isOpen) {\n this.updatePosition(true);\n }\n }\n\n /** Updates the position of the current popover. */\n updatePosition(reapplyPosition: boolean = false) {\n this.overlayRef = this.createOverlay();\n\n const position = (this.overlayRef.getConfig().positionStrategy as FlexibleConnectedPositionStrategy)\n .withPositions(this.getPrioritizedPositions())\n .withPush(true);\n\n if (reapplyPosition) {\n setTimeout(() => position.reapplyLastPosition());\n }\n }\n\n getOverlayHandleComponentType(): Type<KbqPopoverComponent> {\n return KbqPopoverComponent;\n }\n\n updateClassMap(newPlacement: string = this.placement) {\n if (!this.instance) {\n return;\n }\n\n this.instance.updateClassMap(POSITION_TO_CSS_MAP[newPlacement], this.customClass, this.size);\n this.instance.markForCheck();\n }\n\n closingActionsForClick() {\n if (this.hasClickTrigger) {\n return [\n this.overlayRef!.backdropClick(),\n this.hasBackdrop ? NEVER : this.overlayRef!.outsidePointerEvents()\n ];\n }\n\n return [];\n }\n\n closingActions() {\n return merge(...this.closingActionsForClick(), this.closeOnScroll ? this.scrollDispatcher.scrolled() : NEVER);\n }\n}\n","<div\n class=\"kbq-popover\"\n [cdkTrapFocus]=\"isTrapFocus\"\n [cdkTrapFocusAutoCapture]=\"isTrapFocus\"\n [ngClass]=\"classMap\"\n (@state.done)=\"animationDone($event)\"\n (@state.start)=\"animationStart()\"\n [@state]=\"visibility\"\n>\n <div\n class=\"kbq-popover__container\"\n [class.kbq-popover__container_with-footer]=\"footer\"\n [class.kbq-popover__container_with-header]=\"header\"\n >\n @if (header) {\n <div\n class=\"kbq-popover__header\"\n [class.kbq-popover__header_top-overflow]=\"isContentTopOverflow\"\n [class.kbq-popover__header_with-close-button]=\"hasCloseButton\"\n >\n @if (isTemplateRef(header)) {\n <ng-container [ngTemplateOutlet]=\"$any(header)\" />\n }\n @if (!isTemplateRef(header)) {\n <div class=\"kbq-popover__header-text\">{{ header }}</div>\n }\n </div>\n }\n\n @if (content) {\n <div\n #popoverContent\n class=\"kbq-popover__content kbq-scrollbar\"\n (cdkObserveContent)=\"onContentChange()\"\n >\n @if (hasCloseButton && !header) {\n <div class=\"kbq-popover__close-container\">\n <ng-container *ngTemplateOutlet=\"closeButton\" />\n </div>\n }\n @if (isTemplateRef(content)) {\n <ng-container [ngTemplateOutlet]=\"$any(content)\" />\n }\n @if (!isTemplateRef(content)) {\n <div>{{ content }}</div>\n }\n </div>\n }\n\n @if (footer) {\n <div\n class=\"kbq-popover__footer\"\n [class.kbq-popover__footer_bottom-overflow]=\"isContentBottomOverflow\"\n >\n @if (isTemplateRef(footer)) {\n <ng-container [ngTemplateOutlet]=\"$any(footer)\" />\n }\n @if (!isTemplateRef(footer)) {\n <div>{{ footer }}</div>\n }\n </div>\n }\n </div>\n\n @if (hasCloseButton && header) {\n <div class=\"kbq-popover__close-container\">\n <ng-container *ngTemplateOutlet=\"closeButton\" />\n </div>\n }\n\n <ng-template #closeButton>\n <div class=\"kbq-popover__close\">\n <button\n kbq-button\n class=\"kbq-button_transparent\"\n [color]=\"componentColors.Contrast\"\n (click)=\"hide(0)\"\n >\n <i\n kbq-icon=\"kbq-xmark_16\"\n [color]=\"componentColors.Contrast\"\n ></i>\n </button>\n </div>\n </ng-template>\n\n <div class=\"kbq-popover__arrow\"></div>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n Optional,\n Output,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { kbqPopoverAnimations } from './popover-animations';\nimport { KbqPopoverComponent, KbqPopoverTrigger } from './popover.component';\n\nexport const KBQ_POPOVER_CONFIRM_TEXT = new InjectionToken<string>('');\nexport const KBQ_POPOVER_CONFIRM_BUTTON_TEXT = new InjectionToken<string>('');\n\n@Component({\n selector: 'kbq-popover-confirm-component',\n templateUrl: './popover-confirm.component.html',\n preserveWhitespaces: false,\n styleUrls: ['./popover.scss', './popover-tokens.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [kbqPopoverAnimations.popoverState]\n})\nexport class KbqPopoverConfirmComponent extends KbqPopoverComponent {\n onConfirm = new Subject<void>();\n confirmButtonText: string;\n\n confirmText: string;\n}\n\n@Directive({\n selector: '[kbqPopoverConfirm]',\n exportAs: 'kbqPopoverConfirm',\n host: {\n '[class.kbq-popover_open]': 'isOpen',\n '(keydown)': 'handleKeydown($event)',\n '(touchend)': 'handleTouchend()'\n }\n})\nexport class KbqPopoverConfirmTrigger extends KbqPopoverTrigger {\n @Output() confirm: EventEmitter<void> = new EventEmitter<void>();\n\n @Input('kbqPopoverConfirmText')\n get confirmText(): string {\n return this._confirmText;\n }\n\n set confirmText(value: string) {\n this._confirmText = value;\n\n this.updateData();\n }\n\n private _confirmText: string;\n\n @Input('kbqPopoverConfirmButtonText')\n get confirmButtonText(): string {\n return this._confirmButtonText;\n }\n\n set confirmButtonText(value: string) {\n this._confirmButtonText = value;\n\n this.updateData();\n }\n\n private _confirmButtonText: string = 'Да';\n\n constructor(\n @Optional() @Inject(KBQ_POPOVER_CONFIRM_TEXT) confirmText: string,\n @Optional() @Inject(KBQ_POPOVER_CONFIRM_BUTTON_TEXT) confirmButtonText: string\n ) {\n super();\n\n this.confirmText = confirmText || 'Вы уверены, что хотите продолжить?';\n this.confirmButtonText = confirmButtonText || 'Да';\n }\n\n updateData() {\n if (!this.instance) {\n return;\n }\n super.updateData();\n this.setupButtonEvents();\n this.instance.confirmButtonText = this.confirmButtonText;\n this.instance.confirmText = this.confirmText;\n }\n\n setupButtonEvents() {\n this.instance.onConfirm.pipe(takeUntil(this.destroyed)).subscribe(() => {\n this.confirm.emit();\n this.hide();\n });\n }\n\n getOverlayHandleComponentType() {\n return KbqPopoverConfirmComponent;\n }\n}\n","<div\n cdkTrapFocus=\"true\"\n cdkTrapFocusAutoCapture=\"true\"\n class=\"kbq-popover-confirm kbq-popover\"\n [ngClass]=\"classMap\"\n (@state.done)=\"animationDone($event)\"\n (@state.start)=\"animationStart()\"\n [@state]=\"visibility\"\n>\n <div class=\"kbq-popover__container\">\n <div class=\"kbq-popover__content\">\n <div>{{ confirmText }}</div>\n <button\n kbq-button\n [color]=\"'contrast'\"\n (click)=\"onConfirm.next()\"\n >\n {{ confirmButtonText }}\n </button>\n </div>\n </div>\n\n <div class=\"kbq-popover__arrow\"></div>\n</div>\n","import { A11yModule, ConfigurableFocusTrapFactory, FocusTrapFactory } from '@angular/cdk/a11y';\nimport { CdkObserveContent } from '@angular/cdk/observers';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { KbqButtonModule } from '@koobiq/components/button';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqPopoverConfirmComponent, KbqPopoverConfirmTrigger } from './popover-confirm.component';\nimport {\n KBQ_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER,\n KbqPopoverComponent,\n KbqPopoverTrigger\n} from './popover.component';\n\n@NgModule({\n declarations: [\n KbqPopoverComponent,\n KbqPopoverTrigger,\n KbqPopoverConfirmComponent,\n KbqPopoverConfirmTrigger\n ],\n exports: [\n KbqPopoverComponent,\n KbqPopoverTrigger,\n KbqPopoverConfirmComponent,\n KbqPopoverConfirmTrigger\n ],\n imports: [\n OverlayModule,\n KbqButtonModule,\n A11yModule,\n KbqIconModule,\n CdkObserveContent,\n NgClass,\n NgTemplateOutlet\n ],\n providers: [\n KBQ_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER,\n { provide: FocusTrapFactory, useClass: ConfigurableFocusTrapFactory }]\n})\nexport class KbqPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"koobiq-components-popover.mjs","sources":["../../../packages/components/popover/popover-animations.ts","../../../packages/components/popover/popover.component.ts","../../../packages/components/popover/popover.component.html","../../../packages/components/popover/popover-confirm.component.ts","../../../packages/components/popover/popover-confirm.component.html","../../../packages/components/popover/popover.module.ts","../../../packages/components/popover/koobiq-components-popover.ts"],"sourcesContent":["import { animate, AnimationTriggerMetadata, state, style, transition, trigger } from '@angular/animations';\n\nexport const kbqPopoverAnimations: {\n readonly popoverState: AnimationTriggerMetadata;\n} = {\n /** Animation that transitions a tooltip in and out. */\n popoverState: trigger('state', [\n state(\n 'initial',\n style({\n opacity: 0,\n transform: 'scale(1, 0.8)'\n })\n ),\n transition(\n '* => visible',\n animate(\n '120ms cubic-bezier(0, 0, 0.2, 1)',\n style({\n opacity: 1,\n transform: 'scale(1, 1)'\n })\n )\n ),\n transition('* => hidden', animate('100ms linear', style({ opacity: 0 })))\n ])\n};\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n CdkScrollable,\n FlexibleConnectedPositionStrategy,\n Overlay,\n OverlayConfig,\n ScrollStrategy\n} from '@angular/cdk/overlay';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n Directive,\n ElementRef,\n EventEmitter,\n InjectionToken,\n Input,\n Output,\n TemplateRef,\n Type,\n ViewChild,\n ViewEncapsulation,\n inject\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n KbqComponentColors,\n KbqPopUp,\n KbqPopUpTrigger,\n POSITION_TO_CSS_MAP,\n PopUpPlacements,\n PopUpSizes,\n PopUpTriggers\n} from '@koobiq/components/core';\nimport { NEVER, fromEvent, merge } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { kbqPopoverAnimations } from './popover-animations';\n\n@Component({\n selector: 'kbq-popover-component',\n templateUrl: './popover.component.html',\n preserveWhitespaces: false,\n styleUrls: ['./popover.scss', './popover-tokens.scss'],\n host: {\n '(keydown.esc)': 'hide(0)'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [kbqPopoverAnimations.popoverState]\n})\nexport class KbqPopoverComponent extends KbqPopUp implements AfterViewInit {\n prefix = 'kbq-popover';\n\n header: string | TemplateRef<any>;\n footer: string | TemplateRef<any>;\n\n isTrapFocus: boolean = false;\n hasCloseButton: boolean = false;\n\n @ViewChild('popoverContent') popoverContent: ElementRef<HTMLDivElement>;\n\n private debounceTime = 15;\n private readonly destroyRef = inject(DestroyRef);\n isContentTopOverflow: boolean = false;\n isContentBottomOverflow: boolean = false;\n\n ngAfterViewInit() {\n if (!this.popoverContent) return;\n\n this.checkContentOverflow(this.popoverContent.nativeElement);\n\n fromEvent(this.popoverContent.nativeElement, 'scroll')\n .pipe(debounceTime(this.debounceTime), takeUntilDestroyed(this.destroyRef))\n .subscribe((event) => {\n this.checkContentOverflow(event.target as HTMLElement);\n });\n }\n\n onContentChange() {\n this.checkContentOverflow(this.popoverContent.nativeElement);\n }\n\n checkContentOverflow(contentElement: HTMLElement) {\n const { scrollTop, offsetHeight, scrollHeight } = contentElement;\n\n this.isContentTopOverflow = scrollTop > 0;\n\n this.isContentBottomOverflow = scrollTop + offsetHeight < scrollHeight;\n\n super.detectChanges();\n }\n\n updateClassMap(placement: string, customClass: string, size: PopUpSizes) {\n super.updateClassMap(placement, customClass, { [`${this.prefix}_${size}`]: !!size });\n }\n\n updateTrapFocus(isTrapFocus: boolean): void {\n this.isTrapFocus = isTrapFocus;\n }\n\n protected readonly componentColors = KbqComponentColors;\n}\n\nexport const KBQ_POPOVER_SCROLL_STRATEGY = new InjectionToken<() => ScrollStrategy>('kbq-popover-scroll-strategy');\n\n/** @docs-private */\nexport function kbqPopoverScrollStrategyFactory(overlay: Overlay): () => ScrollStrategy {\n return () => overlay.scrollStrategies.reposition({ scrollThrottle: 20 });\n}\n\n/** @docs-private */\nexport const KBQ_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER = {\n provide: KBQ_POPOVER_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: kbqPopoverScrollStrategyFactory\n};\n\n/** Creates an error to be thrown if the user supplied an invalid popover position. */\nexport function getKbqPopoverInvalidPositionError(position: string) {\n return Error(`KbqPopover position \"${position}\" is invalid.`);\n}\n\n@Directive({\n selector: '[kbqPopover]',\n exportAs: 'kbqPopover',\n host: {\n '[class.kbq-popover_open]': 'isOpen',\n '[class.kbq-active]': 'hasClickTrigger && isOpen',\n '(keydown)': 'handleKeydown($event)',\n '(touchend)': 'handleTouchend()'\n }\n})\nexport class KbqPopoverTrigger extends KbqPopUpTrigger<KbqPopoverComponent> implements AfterContentInit {\n protected scrollStrategy: () => ScrollStrategy = inject(KBQ_POPOVER_SCROLL_STRATEGY);\n\n @Input('kbqPopoverVisible')\n get popoverVisible(): boolean {\n return this.visible;\n }\n\n set popoverVisible(value: boolean) {\n super.updateVisible(value);\n }\n\n @Input('kbqPopoverPlacement')\n get popoverPlacement(): PopUpPlacements {\n return this.placement;\n }\n\n set popoverPlacement(value: PopUpPlacements) {\n super.updatePlacement(value);\n }\n\n @Input('kbqPopoverPlacementPriority')\n get popoverPlacementPriority() {\n return this.placementPriority;\n }\n\n set popoverPlacementPriority(value) {\n super.updatePlacementPriority(value);\n }\n\n @Input()\n get hasBackdrop(): boolean {\n return this._hasBackdrop;\n }\n\n set hasBackdrop(value: boolean) {\n this._hasBackdrop = coerceBooleanProperty(value);\n }\n\n private _hasBackdrop: boolean = false;\n\n @Input('kbqPopoverHeader')\n get header(): string | TemplateRef<any> {\n return this._header;\n }\n\n set header(value: string | TemplateRef<any>) {\n this._header = value;\n\n this.updateData();\n }\n\n private _header: string | TemplateRef<any>;\n\n @Input('kbqPopoverContent')\n get content(): string | TemplateRef<any> {\n return this._content;\n }\n\n set content(value: string | TemplateRef<any>) {\n this._content = value;\n\n this.updateData();\n }\n\n @Input('kbqPopoverFooter')\n get footer(): string | TemplateRef<any> {\n return this._footer;\n }\n\n set footer(value: string | TemplateRef<any>) {\n this._footer = value;\n\n this.updateData();\n }\n\n private _footer: string | TemplateRef<any>;\n\n @Input('kbqPopoverDisabled')\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n\n if (this._disabled) {\n this.hide();\n }\n }\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 } else {\n this._trigger = `${PopUpTriggers.Click}, ${PopUpTriggers.Keydown}`;\n }\n\n this.initListeners();\n }\n\n private _trigger: string = `${PopUpTriggers.Click}, ${PopUpTriggers.Keydown}`;\n\n @Input('kbqPopoverSize')\n get size(): PopUpSizes {\n return this._size;\n }\n\n set size(value: PopUpSizes) {\n if ([PopUpSizes.Small, PopUpSizes.Medium, PopUpSizes.Large].includes(value)) {\n this._size = value;\n\n this.updateClassMap();\n } else {\n this._size = PopUpSizes.Medium;\n }\n }\n\n private _size: PopUpSizes = PopUpSizes.Medium;\n\n @Input('kbqPopoverClass')\n get customClass() {\n return this._customClass;\n }\n\n set customClass(value: string) {\n this._customClass = value;\n\n this.updateClassMap();\n }\n\n @Input()\n get hasCloseButton() {\n return this._hasCloseButton;\n }\n set hasCloseButton(value) {\n this._hasCloseButton = value;\n this.updateData();\n }\n private _hasCloseButton = false;\n\n /**\n * Controls the behavior of closing the component on scroll.\n * The default value is `false`.\n * Use CloseScrollStrategy as alternative\n */\n @Input()\n get closeOnScroll(): boolean | null {\n return this._closeOnScroll;\n }\n\n set closeOnScroll(value: boolean) {\n this._closeOnScroll = coerceBooleanProperty(value);\n }\n\n private _closeOnScroll: boolean | null = null;\n\n get hasClickTrigger(): boolean {\n return this.trigger.includes(PopUpTriggers.Click);\n }\n\n @Input() backdropClass: string = 'cdk-overlay-transparent-backdrop';\n\n @Output('kbqPopoverPlacementChange') placementChange = new EventEmitter();\n\n @Output('kbqPopoverVisibleChange') visibleChange = new EventEmitter<boolean>();\n\n protected originSelector = '.kbq-popover';\n\n protected get overlayConfig(): OverlayConfig {\n return {\n panelClass: 'kbq-popover__panel',\n hasBackdrop: this.hasBackdrop,\n backdropClass: this.backdropClass\n };\n }\n\n ngAfterContentInit(): void {\n if (this.closeOnScroll === null) {\n this.scrollDispatcher.scrolled().subscribe((scrollable: CdkScrollable | void) => {\n if (!scrollable?.getElementRef().nativeElement.classList.contains('kbq-hide-nested-popup')) return;\n\n const parentRects = scrollable.getElementRef().nativeElement.getBoundingClientRect();\n const childRects = this.elementRef.nativeElement.getBoundingClientRect();\n\n if (childRects.bottom < parentRects.top || childRects.top > parentRects.bottom) {\n this.hide();\n }\n });\n }\n }\n\n updateData() {\n if (!this.instance) {\n return;\n }\n\n this.instance.header = this.header;\n this.instance.content = this.content;\n this.instance.footer = this.footer;\n this.instance.hasCloseButton = this.hasCloseButton;\n\n this.instance.updateTrapFocus(this.trigger !== PopUpTriggers.Focus);\n\n if (this.isOpen) {\n this.updatePosition(true);\n }\n }\n\n /** Updates the position of the current popover. */\n updatePosition(reapplyPosition: boolean = false) {\n this.overlayRef = this.createOverlay();\n\n const position = (this.overlayRef.getConfig().positionStrategy as FlexibleConnectedPositionStrategy)\n .withPositions(this.getPrioritizedPositions())\n .withPush(true);\n\n if (reapplyPosition) {\n setTimeout(() => position.reapplyLastPosition());\n }\n }\n\n getOverlayHandleComponentType(): Type<KbqPopoverComponent> {\n return KbqPopoverComponent;\n }\n\n updateClassMap(newPlacement: string = this.placement) {\n if (!this.instance) {\n return;\n }\n\n this.instance.updateClassMap(POSITION_TO_CSS_MAP[newPlacement], this.customClass, this.size);\n this.instance.markForCheck();\n }\n\n closingActionsForClick() {\n if (this.hasClickTrigger) {\n return [\n this.overlayRef!.backdropClick(),\n this.hasBackdrop ? NEVER : this.overlayRef!.outsidePointerEvents()\n ];\n }\n\n return [];\n }\n\n closingActions() {\n return merge(...this.closingActionsForClick(), this.closeOnScroll ? this.scrollDispatcher.scrolled() : NEVER);\n }\n}\n","<div\n class=\"kbq-popover\"\n [cdkTrapFocus]=\"isTrapFocus\"\n [cdkTrapFocusAutoCapture]=\"isTrapFocus\"\n [ngClass]=\"classMap\"\n (@state.done)=\"animationDone($event)\"\n (@state.start)=\"animationStart()\"\n [@state]=\"visibility\"\n>\n <div\n class=\"kbq-popover__container\"\n [class.kbq-popover__container_with-footer]=\"footer\"\n [class.kbq-popover__container_with-header]=\"header\"\n >\n @if (header) {\n <div\n class=\"kbq-popover__header\"\n [class.kbq-popover__header_top-overflow]=\"isContentTopOverflow\"\n [class.kbq-popover__header_with-close-button]=\"hasCloseButton\"\n >\n @if (isTemplateRef(header)) {\n <ng-container [ngTemplateOutlet]=\"$any(header)\" />\n }\n @if (!isTemplateRef(header)) {\n <div class=\"kbq-popover__header-text\">{{ header }}</div>\n }\n </div>\n }\n\n @if (content) {\n <div\n #popoverContent\n class=\"kbq-popover__content kbq-scrollbar\"\n (cdkObserveContent)=\"onContentChange()\"\n >\n @if (hasCloseButton && !header) {\n <div class=\"kbq-popover__close-container\">\n <ng-container *ngTemplateOutlet=\"closeButton\" />\n </div>\n }\n @if (isTemplateRef(content)) {\n <ng-container [ngTemplateOutlet]=\"$any(content)\" />\n }\n @if (!isTemplateRef(content)) {\n <div>{{ content }}</div>\n }\n </div>\n }\n\n @if (footer) {\n <div\n class=\"kbq-popover__footer\"\n [class.kbq-popover__footer_bottom-overflow]=\"isContentBottomOverflow\"\n >\n @if (isTemplateRef(footer)) {\n <ng-container [ngTemplateOutlet]=\"$any(footer)\" />\n }\n @if (!isTemplateRef(footer)) {\n <div>{{ footer }}</div>\n }\n </div>\n }\n </div>\n\n @if (hasCloseButton && header) {\n <div class=\"kbq-popover__close-container\">\n <ng-container *ngTemplateOutlet=\"closeButton\" />\n </div>\n }\n\n <ng-template #closeButton>\n <div class=\"kbq-popover__close\">\n <button\n kbq-button\n class=\"kbq-button_transparent\"\n [color]=\"componentColors.Contrast\"\n (click)=\"hide(0)\"\n >\n <i\n kbq-icon=\"kbq-xmark_16\"\n [color]=\"componentColors.Contrast\"\n ></i>\n </button>\n </div>\n </ng-template>\n\n <div class=\"kbq-popover__arrow\"></div>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n Optional,\n Output,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Subject } from 'rxjs';\nimport { kbqPopoverAnimations } from './popover-animations';\nimport { KbqPopoverComponent, KbqPopoverTrigger } from './popover.component';\n\nexport const KBQ_POPOVER_CONFIRM_TEXT = new InjectionToken<string>('');\nexport const KBQ_POPOVER_CONFIRM_BUTTON_TEXT = new InjectionToken<string>('');\n\n@Component({\n selector: 'kbq-popover-confirm-component',\n templateUrl: './popover-confirm.component.html',\n preserveWhitespaces: false,\n styleUrls: ['./popover.scss', './popover-tokens.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [kbqPopoverAnimations.popoverState]\n})\nexport class KbqPopoverConfirmComponent extends KbqPopoverComponent {\n onConfirm = new Subject<void>();\n confirmButtonText: string;\n\n confirmText: string;\n}\n\n@Directive({\n selector: '[kbqPopoverConfirm]',\n exportAs: 'kbqPopoverConfirm',\n host: {\n '[class.kbq-popover_open]': 'isOpen',\n '(keydown)': 'handleKeydown($event)',\n '(touchend)': 'handleTouchend()'\n }\n})\nexport class KbqPopoverConfirmTrigger extends KbqPopoverTrigger {\n @Output() confirm: EventEmitter<void> = new EventEmitter<void>();\n\n @Input('kbqPopoverConfirmText')\n get confirmText(): string {\n return this._confirmText;\n }\n\n set confirmText(value: string) {\n this._confirmText = value;\n\n this.updateData();\n }\n\n private _confirmText: string;\n\n @Input('kbqPopoverConfirmButtonText')\n get confirmButtonText(): string {\n return this._confirmButtonText;\n }\n\n set confirmButtonText(value: string) {\n this._confirmButtonText = value;\n\n this.updateData();\n }\n\n private _confirmButtonText: string = 'Да';\n\n constructor(\n @Optional() @Inject(KBQ_POPOVER_CONFIRM_TEXT) confirmText: string,\n @Optional() @Inject(KBQ_POPOVER_CONFIRM_BUTTON_TEXT) confirmButtonText: string\n ) {\n super();\n\n this.confirmText = confirmText || 'Вы уверены, что хотите продолжить?';\n this.confirmButtonText = confirmButtonText || 'Да';\n }\n\n updateData() {\n if (!this.instance) {\n return;\n }\n super.updateData();\n this.setupButtonEvents();\n this.instance.confirmButtonText = this.confirmButtonText;\n this.instance.confirmText = this.confirmText;\n }\n\n setupButtonEvents() {\n this.instance.onConfirm.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.confirm.emit();\n this.hide();\n });\n }\n\n getOverlayHandleComponentType() {\n return KbqPopoverConfirmComponent;\n }\n}\n","<div\n cdkTrapFocus=\"true\"\n cdkTrapFocusAutoCapture=\"true\"\n class=\"kbq-popover-confirm kbq-popover\"\n [ngClass]=\"classMap\"\n (@state.done)=\"animationDone($event)\"\n (@state.start)=\"animationStart()\"\n [@state]=\"visibility\"\n>\n <div class=\"kbq-popover__container\">\n <div class=\"kbq-popover__content\">\n <div>{{ confirmText }}</div>\n <button\n kbq-button\n [color]=\"'contrast'\"\n (click)=\"onConfirm.next()\"\n >\n {{ confirmButtonText }}\n </button>\n </div>\n </div>\n\n <div class=\"kbq-popover__arrow\"></div>\n</div>\n","import { A11yModule, ConfigurableFocusTrapFactory, FocusTrapFactory } from '@angular/cdk/a11y';\nimport { CdkObserveContent } from '@angular/cdk/observers';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { KbqButtonModule } from '@koobiq/components/button';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqPopoverConfirmComponent, KbqPopoverConfirmTrigger } from './popover-confirm.component';\nimport {\n KBQ_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER,\n KbqPopoverComponent,\n KbqPopoverTrigger\n} from './popover.component';\n\n@NgModule({\n declarations: [\n KbqPopoverComponent,\n KbqPopoverTrigger,\n KbqPopoverConfirmComponent,\n KbqPopoverConfirmTrigger\n ],\n exports: [\n KbqPopoverComponent,\n KbqPopoverTrigger,\n KbqPopoverConfirmComponent,\n KbqPopoverConfirmTrigger\n ],\n imports: [\n OverlayModule,\n KbqButtonModule,\n A11yModule,\n KbqIconModule,\n CdkObserveContent,\n NgClass,\n NgTemplateOutlet\n ],\n providers: [\n KBQ_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER,\n { provide: FocusTrapFactory, useClass: ConfigurableFocusTrapFactory }]\n})\nexport class KbqPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3"],"mappings":"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"}
|