@ptsecurity/mosaic 16.0.0 → 16.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/_theming.scss +9 -1
  2. package/_visual.scss +1 -1
  3. package/code-block/_code-block-theme.scss +8 -0
  4. package/core/locales/en-US.d.ts +7 -0
  5. package/core/locales/es-LA.d.ts +6 -0
  6. package/core/locales/fa-IR.d.ts +6 -0
  7. package/core/locales/locale-service.d.ts +39 -0
  8. package/core/locales/pt-BR.d.ts +6 -0
  9. package/core/locales/ru-RU.d.ts +8 -0
  10. package/core/locales/zh-CN.d.ts +6 -0
  11. package/core/pop-up/constants.d.ts +2 -1
  12. package/dropdown/dropdown.scss +6 -6
  13. package/esm2022/core/locales/en-US.mjs +9 -2
  14. package/esm2022/core/locales/es-LA.mjs +9 -1
  15. package/esm2022/core/locales/fa-IR.mjs +7 -1
  16. package/esm2022/core/locales/pt-BR.mjs +7 -1
  17. package/esm2022/core/locales/ru-RU.mjs +12 -2
  18. package/esm2022/core/locales/zh-CN.mjs +7 -1
  19. package/esm2022/core/option/option.mjs +2 -1
  20. package/esm2022/core/pop-up/constants.mjs +2 -1
  21. package/esm2022/core/pop-up/pop-up-trigger.mjs +11 -2
  22. package/esm2022/core/version.mjs +2 -2
  23. package/esm2022/datepicker/datepicker-input.directive.mjs +9 -1
  24. package/esm2022/dropdown/dropdown.component.mjs +3 -3
  25. package/esm2022/form-field/form-field.mjs +3 -3
  26. package/esm2022/form-field/password-hint.mjs +8 -5
  27. package/esm2022/input/input-number.mjs +260 -42
  28. package/esm2022/loader-overlay/loader-overlay.component.mjs +2 -2
  29. package/esm2022/modal/modal.component.mjs +7 -4
  30. package/esm2022/modal/modal.service.mjs +2 -2
  31. package/esm2022/navbar/navbar.component.mjs +2 -2
  32. package/esm2022/navbar/vertical-navbar.component.mjs +3 -3
  33. package/esm2022/popover/popover.component.mjs +3 -3
  34. package/esm2022/select/select.component.mjs +4 -4
  35. package/esm2022/timezone/timezone-select.component.mjs +3 -3
  36. package/esm2022/tree-select/tree-select.component.mjs +3 -3
  37. package/fesm2022/ptsecurity-mosaic-core.mjs +57 -3
  38. package/fesm2022/ptsecurity-mosaic-core.mjs.map +1 -1
  39. package/fesm2022/ptsecurity-mosaic-datepicker.mjs +8 -0
  40. package/fesm2022/ptsecurity-mosaic-datepicker.mjs.map +1 -1
  41. package/fesm2022/ptsecurity-mosaic-dropdown.mjs +2 -2
  42. package/fesm2022/ptsecurity-mosaic-dropdown.mjs.map +1 -1
  43. package/fesm2022/ptsecurity-mosaic-form-field.mjs +9 -6
  44. package/fesm2022/ptsecurity-mosaic-form-field.mjs.map +1 -1
  45. package/fesm2022/ptsecurity-mosaic-input.mjs +258 -42
  46. package/fesm2022/ptsecurity-mosaic-input.mjs.map +1 -1
  47. package/fesm2022/ptsecurity-mosaic-loader-overlay.mjs +2 -2
  48. package/fesm2022/ptsecurity-mosaic-loader-overlay.mjs.map +1 -1
  49. package/fesm2022/ptsecurity-mosaic-modal.mjs +7 -4
  50. package/fesm2022/ptsecurity-mosaic-modal.mjs.map +1 -1
  51. package/fesm2022/ptsecurity-mosaic-navbar.mjs +4 -4
  52. package/fesm2022/ptsecurity-mosaic-navbar.mjs.map +1 -1
  53. package/fesm2022/ptsecurity-mosaic-popover.mjs +2 -2
  54. package/fesm2022/ptsecurity-mosaic-popover.mjs.map +1 -1
  55. package/fesm2022/ptsecurity-mosaic-select.mjs +3 -3
  56. package/fesm2022/ptsecurity-mosaic-select.mjs.map +1 -1
  57. package/fesm2022/ptsecurity-mosaic-timezone.mjs +2 -2
  58. package/fesm2022/ptsecurity-mosaic-timezone.mjs.map +1 -1
  59. package/fesm2022/ptsecurity-mosaic-tree-select.mjs +2 -2
  60. package/fesm2022/ptsecurity-mosaic-tree-select.mjs.map +1 -1
  61. package/form-field/password-hint.d.ts +2 -1
  62. package/input/input-number.d.ts +61 -10
  63. package/loader-overlay/loader-overlay.scss +9 -2
  64. package/modal/modal.component.d.ts +1 -0
  65. package/navbar/navbar-item.scss +5 -0
  66. package/package.json +19 -18
  67. package/prebuilt-themes/dark-theme.css +1 -1
  68. package/prebuilt-themes/default-theme.css +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ptsecurity-mosaic-navbar.mjs","sources":["../../../packages/mosaic/navbar/navbar.component.ts","../../../packages/mosaic/navbar/vertical-navbar.animation.ts","../../../packages/mosaic/navbar/vertical-navbar.component.ts","../../../packages/mosaic/navbar/navbar-item.component.ts","../../../packages/mosaic/navbar/navbar-item.component.html","../../../packages/mosaic/navbar/navbar.module.ts","../../../packages/mosaic/navbar/ptsecurity-mosaic-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 '@ptsecurity/cdk/a11y';\nimport {\n LEFT_ARROW,\n RIGHT_ARROW,\n TAB,\n isHorizontalMovement,\n isVerticalMovement\n} from '@ptsecurity/cdk/keycodes';\nimport { merge, Observable, Subject, Subscription } from 'rxjs';\nimport { debounceTime, startWith, takeUntil } from 'rxjs/operators';\n\nimport {\n McNavbarFocusableItem,\n McNavbarFocusableItemEvent,\n McNavbarItem,\n McNavbarRectangleElement\n} from './navbar-item.component';\n\n\nexport type McNavbarContainerPositionType = 'left' | 'right';\n\n\n@Directive()\nexport class McFocusableComponent implements AfterContentInit, OnDestroy {\n @ContentChildren(forwardRef(() => McNavbarFocusableItem), { descendants: true })\n focusableItems: QueryList<McNavbarFocusableItem>;\n\n keyManager: FocusKeyManager<McNavbarFocusableItem>;\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<McNavbarFocusableItemEvent> {\n return merge(...this.focusableItems.map((item) => item.onFocus));\n }\n\n get optionBlurChanges(): Observable<McNavbarFocusableItemEvent> {\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<McNavbarFocusableItem>(this.focusableItems)\n .withTypeAhead();\n\n this.keyManager.tabOut\n .pipe(takeUntil(this.destroyed))\n .subscribe(() => {\n this.tabIndex = -1;\n\n setTimeout(() => {\n this.tabIndex = 0;\n this.changeDetectorRef.markForCheck();\n });\n });\n\n this.focusableItems.changes\n .pipe(startWith(null), takeUntil(this.destroyed))\n .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) { return; }\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\n .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\n .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\n@Directive({\n selector: 'mc-navbar-container',\n host: {\n class: 'mc-navbar-container'\n }\n})\nexport class McNavbarContainer {}\n\n@Component({\n selector: 'mc-navbar',\n template: `<ng-content select=\"[mc-navbar-container], mc-navbar-container\"></ng-content>`,\n styleUrls: [\n './navbar.scss',\n './navbar-item.scss',\n './navbar-brand.scss',\n './navbar-divider.scss'\n ],\n host: {\n class: 'mc-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 McNavbar extends McFocusableComponent implements AfterViewInit, AfterContentInit, OnDestroy {\n @ContentChildren(forwardRef(() => McNavbarRectangleElement), { descendants: true })\n rectangleElements: QueryList<McNavbarRectangleElement>;\n\n @ContentChildren(forwardRef(() => McNavbarItem), { descendants: true }) navbarItems: QueryList<McNavbarItem>;\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\n .reduce((acc, item) => acc + item.getOuterElementWidth(), 0);\n }\n\n private get collapsableItems(): McNavbarItem[] {\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\n .subscribe(this.setItemsState);\n\n super.ngAfterContentInit();\n\n this.keyManager\n .withVerticalOrientation(false)\n .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 // tslint:disable-next-line: deprecation\n const keyCode = event.keyCode;\n\n if (isVerticalMovement(event) || isHorizontalMovement(event)) {\n event.preventDefault();\n }\n\n if (keyCode === TAB) {\n this.keyManager.tabOut.next();\n\n return;\n } else if (keyCode === RIGHT_ARROW) {\n this.keyManager.setNextItemActive();\n } else if (keyCode === LEFT_ARROW) {\n this.keyManager.setPreviousItemActive();\n } else {\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 collapseItems(collapseDelta: number) {\n let delta = collapseDelta;\n\n const unCollapsedItems = this.collapsableItems\n .filter((item) => !item.collapsed);\n\n for (const item of unCollapsedItems) {\n item.collapsed = true;\n delta -= item.getTitleWidth();\n\n if (delta < 0) { break; }\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()\n .then(() => this.rectangleElements?.forEach((item) => item.horizontal = true));\n }\n}\n","import { animate, AnimationTriggerMetadata, style, transition, trigger, state } from '@angular/animations';\nimport {\n VerticalNavbarSizeStatesCollapsedWidth as closedWidth,\n VerticalNavbarSizeStatesExpandedWidth as openedWidth\n} from '@mosaic-design/tokens-fe-2022/web';\n\n\nexport function toggleVerticalNavbarAnimation(): AnimationTriggerMetadata {\n return trigger('toggle', [\n state('0', style({ width: `var(--mc-vertical-navbar-size-states-collapsed-width, ${closedWidth})` })),\n state('1', style({ width: `var(--mc-vertical-navbar-size-states-expanded-width, ${openedWidth})` })),\n transition('0 <=> 1', animate('200ms cubic-bezier(0, 1, 0.5, 1)'))\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, ElementRef,\n forwardRef,\n Input,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n DOWN_ARROW,\n UP_ARROW,\n TAB,\n isVerticalMovement,\n isHorizontalMovement\n} from '@ptsecurity/cdk/keycodes';\nimport { Subject } from 'rxjs';\n\nimport {\n McNavbarBento,\n McNavbarItem,\n McNavbarRectangleElement\n} from './navbar-item.component';\nimport { McFocusableComponent } from './navbar.component';\nimport { toggleVerticalNavbarAnimation } from './vertical-navbar.animation';\n\n\n@Component({\n selector: 'mc-vertical-navbar',\n exportAs: 'McVerticalNavbar',\n template: `\n <div class=\"mc-vertical-navbar__container\"\n [@toggle]=\"expanded\"\n (@toggle.done)=\"animationDone.next()\"\n [class.mc-collapsed]=\"!expanded\"\n [class.mc-expanded]=\"expanded\">\n\n <ng-content select=\"[mc-navbar-container], mc-navbar-container\"></ng-content>\n <ng-content select=\"[mc-navbar-toggle], mc-navbar-toggle\"></ng-content>\n </div>\n `,\n styleUrls: [\n './vertical-navbar.scss',\n './navbar-item.scss',\n './navbar-brand.scss',\n './navbar-divider.scss'\n ],\n host: {\n class: 'mc-vertical-navbar',\n '[attr.tabindex]': 'tabIndex',\n\n '(focus)': 'focus()',\n '(blur)': 'blur()',\n\n '(keydown)': 'onKeyDown($event)'\n },\n animations: [toggleVerticalNavbarAnimation()],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class McVerticalNavbar extends McFocusableComponent implements AfterContentInit {\n @ContentChildren(forwardRef(() => McNavbarRectangleElement), { descendants: true })\n rectangleElements: QueryList<McNavbarRectangleElement>;\n\n @ContentChildren(forwardRef(() => McNavbarItem), { descendants: true }) items: QueryList<McNavbarItem>;\n\n @ContentChild(forwardRef(() => McNavbarBento)) bento: McNavbarBento;\n\n readonly animationDone: Subject<void> = new Subject();\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\n .subscribe(this.updateTooltipForItems);\n }\n\n ngAfterContentInit(): void {\n this.setItemsState();\n this.updateExpandedStateForItems();\n this.updateTooltipForItems();\n\n this.rectangleElements.changes\n .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 // tslint:disable-next-line: deprecation\n const keyCode = event.keyCode;\n\n if (isVerticalMovement(event) || isHorizontalMovement(event)) {\n event.preventDefault();\n }\n\n if (keyCode === TAB) {\n this.keyManager.tabOut.next();\n\n return;\n } else if (keyCode === DOWN_ARROW) {\n this.keyManager.setNextItemActive();\n } else if (keyCode === UP_ARROW) {\n this.keyManager.setPreviousItemActive();\n } else {\n this.keyManager.onKeydown(event);\n }\n }\n\n private 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()\n .then(() => this.rectangleElements?.forEach((item) => item.vertical = true));\n }\n}\n","import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Overlay, ScrollDispatcher } from '@angular/cdk/overlay';\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 ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { IFocusableOption } from '@ptsecurity/cdk/a11y';\nimport { DOWN_ARROW, ENTER, NUMPAD_DIVIDE, RIGHT_ARROW, SLASH, SPACE } from '@ptsecurity/cdk/keycodes';\nimport { McButton, McButtonCssStyler } from '@ptsecurity/mosaic/button';\nimport { PopUpPlacements, PopUpTriggers, toBoolean } from '@ptsecurity/mosaic/core';\nimport { McDropdownTrigger } from '@ptsecurity/mosaic/dropdown';\nimport { McIcon } from '@ptsecurity/mosaic/icon';\nimport { MC_TOOLTIP_SCROLL_STRATEGY, McTooltipTrigger, TooltipModifier } from '@ptsecurity/mosaic/tooltip';\nimport { EMPTY, merge, Subject } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\n\nimport { McVerticalNavbar } from './vertical-navbar.component';\n\n\n// tslint:disable-next-line:naming-convention\nexport interface McNavbarFocusableItemEvent {\n item: McNavbarFocusableItem;\n}\n\n\n@Directive({\n selector: 'mc-navbar-logo, [mc-navbar-logo]',\n host: {\n class: 'mc-navbar-logo',\n '(mouseenter)': 'hovered.next(true)',\n '(mouseleave)': 'hovered.next(false)'\n }\n})\nexport class McNavbarLogo {\n readonly hovered = new Subject<boolean>();\n}\n\n\n@Directive({\n selector: 'mc-navbar-item[bento], [mc-navbar-item][bento]',\n host: {\n class: 'mc-navbar-bento'\n }\n})\nexport class McNavbarBento {}\n\n\n@Directive({\n selector: 'mc-navbar-title, [mc-navbar-title]',\n host: {\n class: 'mc-navbar-title',\n '[class.mc-navbar-title_small]': 'isTextOverflown',\n\n '(mouseenter)': 'hovered.next(true)',\n '(mouseleave)': 'hovered.next(false)'\n }\n})\nexport class McNavbarTitle 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.innerText;\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 // tslint:disable-next-line:no-magic-numbers\n this.isTextOverflown = this.text.length > 18;\n }\n\n ngAfterViewInit(): void {\n this.outerElementWidth = this.getOuterElementWidth();\n }\n}\n\n@Directive({\n selector: 'mc-navbar-subtitle, [mc-navbar-subtitle]',\n host: {\n class: 'mc-navbar-subtitle',\n '(mouseenter)': 'hovered.next(true)',\n '(mouseleave)': 'hovered.next(false)'\n }\n})\nexport class McNavbarSubTitle implements AfterContentInit {\n readonly hovered = new Subject<boolean>();\n\n outerElementWidth: number;\n\n get text(): string {\n return this.elementRef.nativeElement.innerText;\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 ngAfterContentInit(): void {\n this.outerElementWidth = this.getOuterElementWidth();\n }\n}\n\n\n@Component({\n selector: 'mc-navbar-brand, [mc-navbar-brand]',\n exportAs: 'mcNavbarBrand',\n template: `\n <ng-content></ng-content>\n <div class=\"mc-navbar-item__overlay\"></div>\n `,\n host: {\n class: 'mc-navbar-brand',\n '[class.mc-hovered]': 'hovered'\n }\n})\nexport class McNavbarBrand implements AfterContentInit, OnDestroy {\n @ContentChild(McNavbarLogo) logo: McNavbarLogo;\n @ContentChild(McNavbarTitle) title: McNavbarTitle;\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: McVerticalNavbar) {\n }\n\n ngAfterContentInit(): void {\n merge(\n this.logo ? this.logo.hovered : EMPTY as any,\n this.title ? this.title.hovered : EMPTY as any\n )\n .pipe(takeUntil(this.destroyed))\n .subscribe((value) => this.hovered = !!value);\n\n this.navbar?.animationDone\n .subscribe(() => this.title?.checkTextOverflown());\n }\n\n ngOnDestroy(): void {\n this.destroyed.next();\n this.destroyed.complete();\n }\n}\n\n\n@Directive({\n selector: 'mc-navbar-divider',\n host: {\n class: 'mc-navbar-divider'\n }\n})\nexport class McNavbarDivider {}\n\n\n@Directive({\n selector: 'mc-navbar-item, [mc-navbar-item], mc-navbar-brand, [mc-navbar-brand], mc-navbar-toggle',\n host: {\n '[attr.tabindex]': 'tabIndex',\n '[attr.disabled]': 'disabled || null',\n\n class: 'mc-navbar-focusable-item',\n '[class.mc-navbar-item_button]': 'button',\n\n '(focus)': 'onFocusHandler()',\n '(blur)': 'blur()'\n }\n})\nexport class McNavbarFocusableItem implements IFocusableOption, AfterContentInit, OnDestroy {\n @ContentChild(McNavbarTitle) title: McNavbarTitle;\n\n @ContentChild(McButton) button: McButton;\n\n get tooltip(): McTooltipTrigger {\n return this._tooltip;\n }\n\n private _tooltip: McTooltipTrigger;\n\n readonly onFocus = new Subject<McNavbarFocusableItemEvent>();\n\n readonly onBlur = new Subject<McNavbarFocusableItemEvent>();\n\n get hasFocus(): boolean {\n return !!this.button?.hasFocus || this._hasFocus;\n }\n\n set hasFocus(value: boolean) {\n this._hasFocus = value;\n }\n\n private _hasFocus: boolean = false;\n\n @Input()\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: any) {\n const newValue = toBoolean(value);\n\n if (newValue !== this._disabled) {\n this._disabled = newValue;\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: McTooltipTrigger) {\n this._tooltip = value;\n }\n\n onFocusHandler() {\n if (this.disabled || this.hasFocus) { return; }\n\n this.onFocus.next({ item: this });\n\n this.hasFocus = true;\n\n this.changeDetector.markForCheck();\n\n this.elementRef.nativeElement.focus();\n }\n\n focus(origin?: FocusOrigin): void {\n if (this.disabled || this.hasFocus) { return; }\n\n if (origin === 'keyboard') {\n this.focusMonitor.focusVia(this.elementRef, origin);\n }\n\n if (this.button) {\n this.button.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) { return; }\n\n this.onBlur.next({ item: this });\n });\n });\n }\n\n getLabel(): string {\n return this.title?.text || '';\n }\n}\n\n\n@Directive({\n selector: 'mc-navbar-item, [mc-navbar-item], mc-navbar-divider, mc-navbar-brand, [mc-navbar-brand]',\n host: {\n '[class.mc-vertical]': 'vertical',\n '[class.mc-horizontal]': 'horizontal',\n\n '[class.mc-expanded]': 'vertical && !collapsed',\n '[class.mc-collapsed]': 'vertical && collapsed'\n }\n})\nexport class McNavbarRectangleElement {\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(McButtonCssStyler) button: McButtonCssStyler;\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\n@Component({\n selector: 'mc-navbar-item, [mc-navbar-item]',\n exportAs: 'mcNavbarItem',\n templateUrl: './navbar-item.component.html',\n host: {\n class: 'mc-navbar-item',\n '[class.mc-navbar-item_collapsed]': 'isCollapsed',\n\n '(keydown)': 'onKeyDown($event)'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class McNavbarItem extends McTooltipTrigger {\n @ContentChild(McNavbarTitle) title: McNavbarTitle;\n @ContentChild(McNavbarSubTitle) subTitle: McNavbarSubTitle;\n\n @ContentChild(McIcon) icon: McIcon;\n\n @Input() collapsedText: string;\n\n @Input('mcTrigger')\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 const croppedSubTitleText = this.subTitle?.isOverflown ? this.subTitleText : '';\n\n return `${croppedTitleText}\\n ${croppedSubTitleText}`;\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 subTitleText(): string | null {\n return this.subTitle?.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 || this.subTitle?.isOverflown);\n }\n\n constructor(\n public rectangleElement: McNavbarRectangleElement,\n public navbarFocusableItem: McNavbarFocusableItem,\n private changeDetectorRef: ChangeDetectorRef,\n overlay: Overlay,\n elementRef: ElementRef,\n ngZone: NgZone,\n scrollDispatcher: ScrollDispatcher,\n hostView: ViewContainerRef,\n @Inject(MC_TOOLTIP_SCROLL_STRATEGY) scrollStrategy,\n @Optional() direction: Directionality,\n @Optional() private dropdownTrigger: McDropdownTrigger,\n @Optional() private bento: McNavbarBento\n ) {\n super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);\n\n if (this.hasDropDownTrigger) {\n this.dropdownTrigger.openByArrowDown = false;\n }\n\n this.rectangleElement.state\n .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\n ngAfterContentInit(): void {\n this.updateTooltip();\n }\n\n updateTooltip(): void {\n if (this.isCollapsed) {\n this.content = `${this.titleText}\\n ${this.subTitleText || ''}`;\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) { return; }\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 }\n}\n\n\n@Component({\n selector: 'mc-navbar-toggle',\n template: `\n <i mc-icon\n [class.mc-angle-left-M_24]=\"navbar.expanded\"\n [class.mc-angle-right-M_24]=\"!navbar.expanded\"\n *ngIf=\"!customIcon\">\n </i>\n\n <ng-content select=\"[mc-icon]\"></ng-content>\n\n <div class=\"mc-navbar-item__title\" *ngIf=\"navbar.expanded\">\n <ng-content select=\"mc-navbar-title\"></ng-content>\n </div>\n\n <div class=\"mc-navbar-item__overlay\"></div>\n `,\n styleUrls: ['./navbar.scss'],\n host: {\n class: 'mc-navbar-item mc-navbar-toggle mc-vertical',\n '[class.mc-tooltip_open]': 'isOpen',\n\n '(keydown)': 'onKeydown($event)',\n '(click)': 'toggle()',\n '(touchend)': 'handleTouchend()'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class McNavbarToggle extends McTooltipTrigger implements OnDestroy {\n @ContentChild(McIcon) customIcon: McIcon;\n\n @Input('mcCollapsedTooltip')\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: McVerticalNavbar,\n private changeDetectorRef: ChangeDetectorRef,\n overlay: Overlay,\n elementRef: ElementRef,\n ngZone: NgZone,\n scrollDispatcher: ScrollDispatcher,\n hostView: ViewContainerRef,\n @Inject(MC_TOOLTIP_SCROLL_STRATEGY) scrollStrategy,\n @Optional() direction: Directionality,\n @Optional() @Inject(DOCUMENT) private document: any\n ) {\n super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);\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=\"[mc-icon]\"></ng-content>\n\n<div class=\"mc-navbar-item__container\" *ngIf=\"title\">\n <div class=\"mc-navbar-item__title\">\n <ng-content select=\"mc-navbar-title, [mc-navbar-title]\"></ng-content>\n <ng-content select=\"mc-navbar-subtitle, [mc-navbar-subtitle]\"></ng-content>\n </div>\n\n <i class=\"mc-navbar-item__arrow-icon\" mc-icon=\"mc-angle-right-M_24\" *ngIf=\"showVerticalDropDownAngle\"></i>\n <i class=\"mc-navbar-item__arrow-icon\" mc-icon=\"mc-angle-down-S_16\" *ngIf=\"showHorizontalDropDownAngle\"></i>\n\n</div>\n\n<ng-content></ng-content>\n\n<div class=\"mc-navbar-item__overlay\"></div>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { McIconModule } from '@ptsecurity/mosaic/icon';\nimport { McToolTipModule } from '@ptsecurity/mosaic/tooltip';\n\nimport {\n McNavbarFocusableItem,\n McNavbarBrand,\n McNavbarDivider,\n McNavbarItem,\n McNavbarLogo,\n McNavbarTitle,\n McNavbarRectangleElement,\n McNavbarToggle,\n McNavbarSubTitle,\n McNavbarBento\n} from './navbar-item.component';\nimport { McNavbar, McNavbarContainer } from './navbar.component';\nimport { McVerticalNavbar } from './vertical-navbar.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n A11yModule,\n PlatformModule,\n McIconModule,\n McToolTipModule\n ],\n exports: [\n McNavbar,\n McNavbarContainer,\n McNavbarTitle,\n McNavbarItem,\n McNavbarBrand,\n McNavbarLogo,\n McNavbarToggle,\n McVerticalNavbar,\n McNavbarDivider,\n McNavbarFocusableItem,\n McNavbarRectangleElement,\n McNavbarSubTitle,\n McNavbarBento\n ],\n declarations: [\n McNavbar,\n McNavbarContainer,\n McNavbarTitle,\n McNavbarItem,\n McNavbarBrand,\n McNavbarLogo,\n McNavbarToggle,\n McVerticalNavbar,\n McNavbarDivider,\n McNavbarFocusableItem,\n McNavbarRectangleElement,\n McNavbarSubTitle,\n McNavbarBento\n ]\n})\nexport class McNavbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["closedWidth","openedWidth","i1.McVerticalNavbar","i2"],"mappings":"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"}
1
+ {"version":3,"file":"ptsecurity-mosaic-navbar.mjs","sources":["../../../packages/mosaic/navbar/navbar.component.ts","../../../packages/mosaic/navbar/vertical-navbar.animation.ts","../../../packages/mosaic/navbar/vertical-navbar.component.ts","../../../packages/mosaic/navbar/navbar-item.component.ts","../../../packages/mosaic/navbar/navbar-item.component.html","../../../packages/mosaic/navbar/navbar.module.ts","../../../packages/mosaic/navbar/ptsecurity-mosaic-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 '@ptsecurity/cdk/a11y';\nimport {\n LEFT_ARROW,\n RIGHT_ARROW,\n TAB,\n isHorizontalMovement,\n isVerticalMovement\n} from '@ptsecurity/cdk/keycodes';\nimport { merge, Observable, Subject, Subscription } from 'rxjs';\nimport { debounceTime, startWith, takeUntil } from 'rxjs/operators';\n\nimport {\n McNavbarFocusableItem,\n McNavbarFocusableItemEvent,\n McNavbarItem,\n McNavbarRectangleElement\n} from './navbar-item.component';\n\n\nexport type McNavbarContainerPositionType = 'left' | 'right';\n\n\n@Directive()\nexport class McFocusableComponent implements AfterContentInit, OnDestroy {\n @ContentChildren(forwardRef(() => McNavbarFocusableItem), { descendants: true })\n focusableItems: QueryList<McNavbarFocusableItem>;\n\n keyManager: FocusKeyManager<McNavbarFocusableItem>;\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<McNavbarFocusableItemEvent> {\n return merge(...this.focusableItems.map((item) => item.onFocus));\n }\n\n get optionBlurChanges(): Observable<McNavbarFocusableItemEvent> {\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<McNavbarFocusableItem>(this.focusableItems)\n .withTypeAhead();\n\n this.keyManager.tabOut\n .pipe(takeUntil(this.destroyed))\n .subscribe(() => {\n this.tabIndex = -1;\n\n setTimeout(() => {\n this.tabIndex = 0;\n this.changeDetectorRef.markForCheck();\n });\n });\n\n this.focusableItems.changes\n .pipe(startWith(null), takeUntil(this.destroyed))\n .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) { return; }\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\n .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\n .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\n@Directive({\n selector: 'mc-navbar-container',\n host: {\n class: 'mc-navbar-container'\n }\n})\nexport class McNavbarContainer {}\n\n@Component({\n selector: 'mc-navbar',\n template: `<ng-content select=\"[mc-navbar-container], mc-navbar-container\"></ng-content>`,\n styleUrls: [\n './navbar.scss',\n './navbar-item.scss',\n './navbar-brand.scss',\n './navbar-divider.scss'\n ],\n host: {\n class: 'mc-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 McNavbar extends McFocusableComponent implements AfterViewInit, AfterContentInit, OnDestroy {\n @ContentChildren(forwardRef(() => McNavbarRectangleElement), { descendants: true })\n rectangleElements: QueryList<McNavbarRectangleElement>;\n\n @ContentChildren(forwardRef(() => McNavbarItem), { descendants: true }) navbarItems: QueryList<McNavbarItem>;\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\n .reduce((acc, item) => acc + item.getOuterElementWidth(), 0);\n }\n\n private get collapsableItems(): McNavbarItem[] {\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\n .subscribe(this.setItemsState);\n\n super.ngAfterContentInit();\n\n this.keyManager\n .withVerticalOrientation(false)\n .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 // tslint:disable-next-line: deprecation\n const keyCode = event.keyCode;\n\n if (isVerticalMovement(event) || isHorizontalMovement(event)) {\n event.preventDefault();\n }\n\n if (keyCode === TAB) {\n this.keyManager.tabOut.next();\n\n return;\n } else if (keyCode === RIGHT_ARROW) {\n this.keyManager.setNextItemActive();\n } else if (keyCode === LEFT_ARROW) {\n this.keyManager.setPreviousItemActive();\n } else {\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 collapseItems(collapseDelta: number) {\n let delta = collapseDelta;\n\n const unCollapsedItems = this.collapsableItems\n .filter((item) => !item.collapsed);\n\n for (const item of unCollapsedItems) {\n item.collapsed = true;\n delta -= item.getTitleWidth();\n\n if (delta < 0) { break; }\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()\n .then(() => this.rectangleElements?.forEach((item) => item.horizontal = true));\n }\n}\n","import { animate, AnimationTriggerMetadata, style, transition, trigger, state } from '@angular/animations';\nimport {\n VerticalNavbarSizeStatesCollapsedWidth as closedWidth,\n VerticalNavbarSizeStatesExpandedWidth as openedWidth\n} from '@mosaic-design/tokens-fe-2022/web';\n\n\nexport function toggleVerticalNavbarAnimation(): AnimationTriggerMetadata {\n return trigger('toggle', [\n state('0', style({ width: `var(--mc-vertical-navbar-size-states-collapsed-width, ${closedWidth})` })),\n state('1', style({ width: `var(--mc-vertical-navbar-size-states-expanded-width, ${openedWidth})` })),\n transition('0 <=> 1', animate('200ms cubic-bezier(0, 1, 0.5, 1)'))\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, ElementRef,\n forwardRef,\n Input,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n DOWN_ARROW,\n UP_ARROW,\n TAB,\n isVerticalMovement,\n isHorizontalMovement\n} from '@ptsecurity/cdk/keycodes';\nimport { Subject } from 'rxjs';\n\nimport {\n McNavbarBento,\n McNavbarItem,\n McNavbarRectangleElement\n} from './navbar-item.component';\nimport { McFocusableComponent } from './navbar.component';\nimport { toggleVerticalNavbarAnimation } from './vertical-navbar.animation';\n\n\n@Component({\n selector: 'mc-vertical-navbar',\n exportAs: 'McVerticalNavbar',\n template: `\n <div class=\"mc-vertical-navbar__container\"\n [@toggle]=\"expanded\"\n (@toggle.done)=\"animationDone.next()\"\n [class.mc-collapsed]=\"!expanded\"\n [class.mc-expanded]=\"expanded\">\n\n <ng-content select=\"[mc-navbar-container], mc-navbar-container\"></ng-content>\n <ng-content select=\"[mc-navbar-toggle], mc-navbar-toggle\"></ng-content>\n </div>\n `,\n styleUrls: [\n './vertical-navbar.scss',\n './navbar-item.scss',\n './navbar-brand.scss',\n './navbar-divider.scss'\n ],\n host: {\n class: 'mc-vertical-navbar',\n '[attr.tabindex]': 'tabIndex',\n\n '(focus)': 'focus()',\n '(blur)': 'blur()',\n\n '(keydown)': 'onKeyDown($event)'\n },\n animations: [toggleVerticalNavbarAnimation()],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class McVerticalNavbar extends McFocusableComponent implements AfterContentInit {\n @ContentChildren(forwardRef(() => McNavbarRectangleElement), { descendants: true })\n rectangleElements: QueryList<McNavbarRectangleElement>;\n\n @ContentChildren(forwardRef(() => McNavbarItem), { descendants: true }) items: QueryList<McNavbarItem>;\n\n @ContentChild(forwardRef(() => McNavbarBento)) bento: McNavbarBento;\n\n readonly animationDone: Subject<void> = new Subject();\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\n .subscribe(this.updateTooltipForItems);\n }\n\n ngAfterContentInit(): void {\n this.setItemsState();\n this.updateExpandedStateForItems();\n this.updateTooltipForItems();\n\n this.rectangleElements.changes\n .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 // tslint:disable-next-line: deprecation\n const keyCode = event.keyCode;\n\n if (isVerticalMovement(event) || isHorizontalMovement(event)) {\n event.preventDefault();\n }\n\n if (keyCode === TAB) {\n this.keyManager.tabOut.next();\n\n return;\n } else if (keyCode === DOWN_ARROW) {\n this.keyManager.setNextItemActive();\n } else if (keyCode === UP_ARROW) {\n this.keyManager.setPreviousItemActive();\n } else {\n this.keyManager.onKeydown(event);\n }\n }\n\n private 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()\n .then(() => this.rectangleElements?.forEach((item) => item.vertical = true));\n }\n}\n","import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Overlay, ScrollDispatcher } from '@angular/cdk/overlay';\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 ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { IFocusableOption } from '@ptsecurity/cdk/a11y';\nimport { DOWN_ARROW, ENTER, NUMPAD_DIVIDE, RIGHT_ARROW, SLASH, SPACE } from '@ptsecurity/cdk/keycodes';\nimport { McButton, McButtonCssStyler } from '@ptsecurity/mosaic/button';\nimport { PopUpPlacements, PopUpTriggers, toBoolean } from '@ptsecurity/mosaic/core';\nimport { McDropdownTrigger } from '@ptsecurity/mosaic/dropdown';\nimport { McIcon } from '@ptsecurity/mosaic/icon';\nimport { MC_TOOLTIP_SCROLL_STRATEGY, McTooltipTrigger, TooltipModifier } from '@ptsecurity/mosaic/tooltip';\nimport { EMPTY, merge, Subject } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\n\nimport { McVerticalNavbar } from './vertical-navbar.component';\n\n\n// tslint:disable-next-line:naming-convention\nexport interface McNavbarFocusableItemEvent {\n item: McNavbarFocusableItem;\n}\n\n\n@Directive({\n selector: 'mc-navbar-logo, [mc-navbar-logo]',\n host: {\n class: 'mc-navbar-logo',\n '(mouseenter)': 'hovered.next(true)',\n '(mouseleave)': 'hovered.next(false)'\n }\n})\nexport class McNavbarLogo {\n readonly hovered = new Subject<boolean>();\n}\n\n\n@Directive({\n selector: 'mc-navbar-item[bento], [mc-navbar-item][bento]',\n host: {\n class: 'mc-navbar-bento'\n }\n})\nexport class McNavbarBento {}\n\n\n@Directive({\n selector: 'mc-navbar-title, [mc-navbar-title]',\n host: {\n class: 'mc-navbar-title',\n '[class.mc-navbar-title_small]': 'isTextOverflown',\n\n '(mouseenter)': 'hovered.next(true)',\n '(mouseleave)': 'hovered.next(false)'\n }\n})\nexport class McNavbarTitle 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.innerText;\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 // tslint:disable-next-line:no-magic-numbers\n this.isTextOverflown = this.text.length > 18;\n }\n\n ngAfterViewInit(): void {\n this.outerElementWidth = this.getOuterElementWidth();\n }\n}\n\n@Directive({\n selector: 'mc-navbar-subtitle, [mc-navbar-subtitle]',\n host: {\n class: 'mc-navbar-subtitle',\n '(mouseenter)': 'hovered.next(true)',\n '(mouseleave)': 'hovered.next(false)'\n }\n})\nexport class McNavbarSubTitle implements AfterContentInit {\n readonly hovered = new Subject<boolean>();\n\n outerElementWidth: number;\n\n get text(): string {\n return this.elementRef.nativeElement.innerText;\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 ngAfterContentInit(): void {\n this.outerElementWidth = this.getOuterElementWidth();\n }\n}\n\n\n@Component({\n selector: 'mc-navbar-brand, [mc-navbar-brand]',\n exportAs: 'mcNavbarBrand',\n template: `\n <ng-content></ng-content>\n <div class=\"mc-navbar-item__overlay\"></div>\n `,\n host: {\n class: 'mc-navbar-brand',\n '[class.mc-hovered]': 'hovered'\n }\n})\nexport class McNavbarBrand implements AfterContentInit, OnDestroy {\n @ContentChild(McNavbarLogo) logo: McNavbarLogo;\n @ContentChild(McNavbarTitle) title: McNavbarTitle;\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: McVerticalNavbar) {\n }\n\n ngAfterContentInit(): void {\n merge(\n this.logo ? this.logo.hovered : EMPTY as any,\n this.title ? this.title.hovered : EMPTY as any\n )\n .pipe(takeUntil(this.destroyed))\n .subscribe((value) => this.hovered = !!value);\n\n this.navbar?.animationDone\n .subscribe(() => this.title?.checkTextOverflown());\n }\n\n ngOnDestroy(): void {\n this.destroyed.next();\n this.destroyed.complete();\n }\n}\n\n\n@Directive({\n selector: 'mc-navbar-divider',\n host: {\n class: 'mc-navbar-divider'\n }\n})\nexport class McNavbarDivider {}\n\n\n@Directive({\n selector: 'mc-navbar-item, [mc-navbar-item], mc-navbar-brand, [mc-navbar-brand], mc-navbar-toggle',\n host: {\n '[attr.tabindex]': 'tabIndex',\n '[attr.disabled]': 'disabled || null',\n\n class: 'mc-navbar-focusable-item',\n '[class.mc-navbar-item_button]': 'button',\n\n '(focus)': 'onFocusHandler()',\n '(blur)': 'blur()'\n }\n})\nexport class McNavbarFocusableItem implements IFocusableOption, AfterContentInit, OnDestroy {\n @ContentChild(McNavbarTitle) title: McNavbarTitle;\n\n @ContentChild(McButton) button: McButton;\n\n get tooltip(): McTooltipTrigger {\n return this._tooltip;\n }\n\n private _tooltip: McTooltipTrigger;\n\n readonly onFocus = new Subject<McNavbarFocusableItemEvent>();\n\n readonly onBlur = new Subject<McNavbarFocusableItemEvent>();\n\n get hasFocus(): boolean {\n return !!this.button?.hasFocus || this._hasFocus;\n }\n\n set hasFocus(value: boolean) {\n this._hasFocus = value;\n }\n\n private _hasFocus: boolean = false;\n\n @Input()\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: any) {\n const newValue = toBoolean(value);\n\n if (newValue !== this._disabled) {\n this._disabled = newValue;\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: McTooltipTrigger) {\n this._tooltip = value;\n }\n\n onFocusHandler() {\n if (this.disabled || this.hasFocus) { return; }\n\n this.onFocus.next({ item: this });\n\n this.hasFocus = true;\n\n this.changeDetector.markForCheck();\n\n this.elementRef.nativeElement.focus();\n }\n\n focus(origin?: FocusOrigin): void {\n if (this.disabled || this.hasFocus) { return; }\n\n if (origin === 'keyboard') {\n this.focusMonitor.focusVia(this.elementRef, origin);\n }\n\n if (this.button) {\n this.button.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) { return; }\n\n this.onBlur.next({ item: this });\n });\n });\n }\n\n getLabel(): string {\n return this.title?.text || '';\n }\n}\n\n\n@Directive({\n selector: 'mc-navbar-item, [mc-navbar-item], mc-navbar-divider, mc-navbar-brand, [mc-navbar-brand]',\n host: {\n '[class.mc-vertical]': 'vertical',\n '[class.mc-horizontal]': 'horizontal',\n\n '[class.mc-expanded]': 'vertical && !collapsed',\n '[class.mc-collapsed]': 'vertical && collapsed'\n }\n})\nexport class McNavbarRectangleElement {\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(McButtonCssStyler) button: McButtonCssStyler;\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\n@Component({\n selector: 'mc-navbar-item, [mc-navbar-item]',\n exportAs: 'mcNavbarItem',\n templateUrl: './navbar-item.component.html',\n host: {\n class: 'mc-navbar-item',\n '[class.mc-navbar-item_collapsed]': 'isCollapsed',\n\n '(keydown)': 'onKeyDown($event)'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class McNavbarItem extends McTooltipTrigger {\n @ContentChild(McNavbarTitle) title: McNavbarTitle;\n @ContentChild(McNavbarSubTitle) subTitle: McNavbarSubTitle;\n\n @ContentChild(McIcon) icon: McIcon;\n\n @Input() collapsedText: string;\n\n @Input('mcTrigger')\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 const croppedSubTitleText = this.subTitle?.isOverflown ? this.subTitleText : '';\n\n return `${croppedTitleText}\\n ${croppedSubTitleText}`;\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 subTitleText(): string | null {\n return this.subTitle?.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 || this.subTitle?.isOverflown);\n }\n\n constructor(\n public rectangleElement: McNavbarRectangleElement,\n public navbarFocusableItem: McNavbarFocusableItem,\n private changeDetectorRef: ChangeDetectorRef,\n overlay: Overlay,\n elementRef: ElementRef,\n ngZone: NgZone,\n scrollDispatcher: ScrollDispatcher,\n hostView: ViewContainerRef,\n @Inject(MC_TOOLTIP_SCROLL_STRATEGY) scrollStrategy,\n @Optional() direction: Directionality,\n @Optional() private dropdownTrigger: McDropdownTrigger,\n @Optional() private bento: McNavbarBento\n ) {\n super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);\n\n if (this.hasDropDownTrigger) {\n this.dropdownTrigger.openByArrowDown = false;\n }\n\n this.rectangleElement.state\n .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\n ngAfterContentInit(): void {\n this.updateTooltip();\n }\n\n updateTooltip(): void {\n if (this.isCollapsed) {\n this.content = `${this.titleText}\\n ${this.subTitleText || ''}`;\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) { return; }\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 }\n}\n\n\n@Component({\n selector: 'mc-navbar-toggle',\n template: `\n <i mc-icon\n [class.mc-angle-left-M_24]=\"navbar.expanded\"\n [class.mc-angle-right-M_24]=\"!navbar.expanded\"\n *ngIf=\"!customIcon\">\n </i>\n\n <ng-content select=\"[mc-icon]\"></ng-content>\n\n <div class=\"mc-navbar-item__title\" *ngIf=\"navbar.expanded\">\n <ng-content select=\"mc-navbar-title\"></ng-content>\n </div>\n\n <div class=\"mc-navbar-item__overlay\"></div>\n `,\n styleUrls: ['./navbar.scss'],\n host: {\n class: 'mc-navbar-item mc-navbar-toggle mc-vertical',\n '[class.mc-tooltip_open]': 'isOpen',\n\n '(keydown)': 'onKeydown($event)',\n '(click)': 'toggle()',\n '(touchend)': 'handleTouchend()'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class McNavbarToggle extends McTooltipTrigger implements OnDestroy {\n @ContentChild(McIcon) customIcon: McIcon;\n\n @Input('mcCollapsedTooltip')\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: McVerticalNavbar,\n private changeDetectorRef: ChangeDetectorRef,\n overlay: Overlay,\n elementRef: ElementRef,\n ngZone: NgZone,\n scrollDispatcher: ScrollDispatcher,\n hostView: ViewContainerRef,\n @Inject(MC_TOOLTIP_SCROLL_STRATEGY) scrollStrategy,\n @Optional() direction: Directionality,\n @Optional() @Inject(DOCUMENT) private document: any\n ) {\n super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);\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=\"[mc-icon]\"></ng-content>\n\n<div class=\"mc-navbar-item__container\" *ngIf=\"title\">\n <div class=\"mc-navbar-item__title\">\n <ng-content select=\"mc-navbar-title, [mc-navbar-title]\"></ng-content>\n <ng-content select=\"mc-navbar-subtitle, [mc-navbar-subtitle]\"></ng-content>\n </div>\n\n <i class=\"mc-navbar-item__arrow-icon\" mc-icon=\"mc-angle-right-M_24\" *ngIf=\"showVerticalDropDownAngle\"></i>\n <i class=\"mc-navbar-item__arrow-icon\" mc-icon=\"mc-angle-down-S_16\" *ngIf=\"showHorizontalDropDownAngle\"></i>\n\n</div>\n\n<ng-content></ng-content>\n\n<div class=\"mc-navbar-item__overlay\"></div>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { McIconModule } from '@ptsecurity/mosaic/icon';\nimport { McToolTipModule } from '@ptsecurity/mosaic/tooltip';\n\nimport {\n McNavbarFocusableItem,\n McNavbarBrand,\n McNavbarDivider,\n McNavbarItem,\n McNavbarLogo,\n McNavbarTitle,\n McNavbarRectangleElement,\n McNavbarToggle,\n McNavbarSubTitle,\n McNavbarBento\n} from './navbar-item.component';\nimport { McNavbar, McNavbarContainer } from './navbar.component';\nimport { McVerticalNavbar } from './vertical-navbar.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n A11yModule,\n PlatformModule,\n McIconModule,\n McToolTipModule\n ],\n exports: [\n McNavbar,\n McNavbarContainer,\n McNavbarTitle,\n McNavbarItem,\n McNavbarBrand,\n McNavbarLogo,\n McNavbarToggle,\n McVerticalNavbar,\n McNavbarDivider,\n McNavbarFocusableItem,\n McNavbarRectangleElement,\n McNavbarSubTitle,\n McNavbarBento\n ],\n declarations: [\n McNavbar,\n McNavbarContainer,\n McNavbarTitle,\n McNavbarItem,\n McNavbarBrand,\n McNavbarLogo,\n McNavbarToggle,\n McVerticalNavbar,\n McNavbarDivider,\n McNavbarFocusableItem,\n McNavbarRectangleElement,\n McNavbarSubTitle,\n McNavbarBento\n ]\n})\nexport class McNavbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["closedWidth","openedWidth","i1.McVerticalNavbar","i2"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;MAuCa,oBAAoB,CAAA;AAM7B,IAAA,IACI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IAED,IAAI,QAAQ,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;KAC1B;AAID,IAAA,IAAI,kBAAkB,GAAA;AAClB,QAAA,OAAO,KAAK,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;KACpE;AAED,IAAA,IAAI,iBAAiB,GAAA;AACjB,QAAA,OAAO,KAAK,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;KACvE;AAQD,IAAA,WAAA,CACc,iBAAoC,EAC9C,UAAsB,EACd,YAA0B,EAAA;QAFxB,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;QAEtC,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;QAnB9B,IAAS,CAAA,SAAA,GAAG,CAAC,CAAC;AAUH,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAQ,CAAC;AAW/C,QAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,KAAI;AAC5F,YAAA,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;AAChD,SAAC,CAAC,CAAC;KACN;IAED,kBAAkB,GAAA;QACd,IAAI,CAAC,UAAU,GAAG,IAAI,eAAe,CAAwB,IAAI,CAAC,cAAc,CAAC;AAChF,aAAA,aAAa,EAAE,CAAC;QAEjB,IAAI,CAAC,UAAU,CAAC,MAAM;AACjB,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC/B,SAAS,CAAC,MAAK;AACZ,YAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YAEnB,UAAU,CAAC,MAAK;AACZ,gBAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;AAClB,gBAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;AAC1C,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;QAEP,IAAI,CAAC,cAAc,CAAC,OAAO;AACtB,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAChD,SAAS,CAAC,MAAK;YACZ,IAAI,CAAC,YAAY,EAAE,CAAC;;YAGpB,IAAI,CAAC,cAAc,EAAE,CAAC;AAC1B,SAAC,CAAC,CAAC;KACV;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AAEtB,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QAE1B,IAAI,IAAI,CAAC,wBAAwB,EAAE;AAC/B,YAAA,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAC;AAC5C,YAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;AACxC,SAAA;KACJ;IAED,KAAK,GAAA;AACD,QAAA,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;YAAE,OAAO;AAAE,SAAA;AAEjD,QAAA,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;KACxC;IAED,IAAI,GAAA;AACA,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE;YACxB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,SAAA;AAED,QAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;KACzC;IAES,YAAY,GAAA;QAClB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC/B;IAES,iBAAiB,GAAA;QACvB,IAAI,IAAI,CAAC,uBAAuB,EAAE;AAC9B,YAAA,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC;AAC3C,YAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;AACvC,SAAA;QAED,IAAI,IAAI,CAAC,sBAAsB,EAAE;AAC7B,YAAA,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC;AAC1C,YAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;AACtC,SAAA;KACJ;IAEO,oBAAoB,GAAA;AACxB,QAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,kBAAkB;AACjD,aAAA,SAAS,CAAC,CAAC,KAAK,KAAI;AACjB,YAAA,MAAM,KAAK,GAAW,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAExE,YAAA,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;AAC1B,gBAAA,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAC3C,aAAA;AACL,SAAC,CAAC,CAAC;AAEP,QAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,iBAAiB;aAC/C,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;KACrC;IAEO,cAAc,GAAA;AAClB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;KAC7D;AAEO,IAAA,YAAY,CAAC,KAAa,EAAA;QAC9B,OAAO,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;KAC3D;IAEO,cAAc,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC5D;iIApIQ,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,8HACK,qBAAqB,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAD9C,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC,SAAS;4JAGN,cAAc,EAAA,CAAA;sBADb,eAAe;uBAAC,UAAU,CAAC,MAAM,qBAAqB,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;gBAM3E,QAAQ,EAAA,CAAA;sBADX,KAAK;;MAwIG,iBAAiB,CAAA;iIAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;qHAAjB,iBAAiB,EAAA,QAAA,EAAA,qBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,qBAAqB;AAC/B,qBAAA;AACJ,iBAAA,CAAA;;AA2BK,MAAO,QAAS,SAAQ,oBAAoB,CAAA;AAU9C,IAAA,IAAY,KAAK,GAAA;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;KACtE;AAED,IAAA,IAAY,eAAe,GAAA;QACvB,OAAO,IAAI,CAAC,iBAAiB;AACxB,aAAA,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,GAAG,GAAG,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC,CAAC;KACpE;AAED,IAAA,IAAY,gBAAgB,GAAA;QACxB,OAAO,IAAI,CAAC,WAAW;AAClB,aAAA,OAAO,EAAE;AACT,aAAA,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC;AAC7D,aAAA,OAAO,EAAE,CAAC;KAClB;AAID,IAAA,WAAA,CACY,UAAsB,EAC9B,iBAAoC,EACpC,YAA0B,EAAA;AAE1B,QAAA,KAAK,CAAC,iBAAiB,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAJ3C,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAvBzB,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,OAAO,EAAS,CAAC;QAE5B,IAAsB,CAAA,sBAAA,GAAW,GAAG,CAAC;QA8EtD,IAA2B,CAAA,2BAAA,GAAG,MAAK;YAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC;AAExD,YAAA,MAAM,YAAY,GAAG,aAAa,GAAG,CAAC,CAAC;AAEvC,YAAA,IAAI,YAAY,EAAE;AACd,gBAAA,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;AACrC,aAAA;AAAM,iBAAA;AACH,gBAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AACnC,aAAA;AACL,SAAC,CAAA;QA6BO,IAAa,CAAA,aAAA,GAAG,MAAK;YACzB,OAAO,CAAC,OAAO,EAAE;iBACZ,IAAI,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC;AACvF,SAAC,CAAA;AA7FG,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,YAAY;AACtC,aAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;AAC/C,aAAA,SAAS,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;KACpD;IAED,kBAAkB,GAAA;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,IAAI,CAAC,iBAAiB,CAAC,OAAO;AACzB,aAAA,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEnC,KAAK,CAAC,kBAAkB,EAAE,CAAC;AAE3B,QAAA,IAAI,CAAC,UAAU;aACV,uBAAuB,CAAC,KAAK,CAAC;aAC9B,yBAAyB,CAAC,KAAK,CAAC,CAAC;KACzC;IAED,eAAe,GAAA;;;AAGX,QAAA,UAAU,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;KAChD;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;QAEtC,KAAK,CAAC,WAAW,EAAE,CAAC;KACvB;AAED,IAAA,SAAS,CAAC,KAAoB,EAAA;;AAE1B,QAAA,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAE9B,IAAI,kBAAkB,CAAC,KAAK,CAAC,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE;YAC1D,KAAK,CAAC,cAAc,EAAE,CAAC;AAC1B,SAAA;QAED,IAAI,OAAO,KAAK,GAAG,EAAE;AACjB,YAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAE9B,OAAO;AACV,SAAA;aAAM,IAAI,OAAO,KAAK,WAAW,EAAE;AAChC,YAAA,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;AACvC,SAAA;aAAM,IAAI,OAAO,KAAK,UAAU,EAAE;AAC/B,YAAA,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC;AAC3C,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACpC,SAAA;KACJ;AAcO,IAAA,aAAa,CAAC,aAAqB,EAAA;QACvC,IAAI,KAAK,GAAG,aAAa,CAAC;AAE1B,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB;aACzC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAEvC,QAAA,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE;AACjC,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACtB,YAAA,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAE9B,IAAI,KAAK,GAAG,CAAC,EAAE;gBAAE,MAAM;AAAE,aAAA;AAC5B,SAAA;KACJ;AAEO,IAAA,WAAW,CAAC,aAAqB,EAAA;QACrC,IAAI,KAAK,GAAG,aAAa,CAAC;AAE1B,QAAA,IAAI,CAAC,gBAAgB;aAChB,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC;AAChC,aAAA,OAAO,CAAC,CAAC,IAAI,KAAI;YACd,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE;AAClC,gBAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AACvB,gBAAA,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;AACjC,aAAA;AACL,SAAC,CAAC,CAAC;KACV;iIA3HQ,QAAQ,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAR,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAQ,EACiB,QAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,2BAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,OAAA,wBAAwB,CAGxB,EAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,OAAA,YAAY,2EA1BpC,CAA+E,6EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,wPAAA,EAAA,8lFAAA,EAAA,q8BAAA,EAAA,uLAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAsBhF,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAxBpB,SAAS;+BACI,WAAW,EAAA,QAAA,EACX,+EAA+E,EAOnF,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,WAAW;AAElB,wBAAA,iBAAiB,EAAE,UAAU;AAE7B,wBAAA,SAAS,EAAE,SAAS;AACpB,wBAAA,QAAQ,EAAE,QAAQ;AAElB,wBAAA,WAAW,EAAE,mBAAmB;AAEhC,wBAAA,iBAAiB,EAAE,2BAA2B;AACjD,qBAAA,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,MAAA,EAAA,CAAA,wPAAA,EAAA,8lFAAA,EAAA,q8BAAA,EAAA,uLAAA,CAAA,EAAA,CAAA;4JAIrC,iBAAiB,EAAA,CAAA;sBADhB,eAAe;uBAAC,UAAU,CAAC,MAAM,wBAAwB,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;gBAGV,WAAW,EAAA,CAAA;sBAAlF,eAAe;uBAAC,UAAU,CAAC,MAAM,YAAY,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;;;SC5M1D,6BAA6B,GAAA;IACzC,OAAO,OAAO,CAAC,QAAQ,EAAE;AACrB,QAAA,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,CAAyD,sDAAA,EAAAA,sCAAW,CAAG,CAAA,CAAA,EAAE,CAAC,CAAC;AACrG,QAAA,KAAK,CAAC,GAAG,EAAG,KAAK,CAAC,EAAE,KAAK,EAAE,CAAwD,qDAAA,EAAAC,qCAAW,CAAG,CAAA,CAAA,EAAE,CAAC,CAAC;AACrG,QAAA,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,kCAAkC,CAAC,CAAC;AACrE,KAAA,CAAC,CAAC;AACP;;ACoDM,MAAO,gBAAiB,SAAQ,oBAAoB,CAAA;AAUtD,IAAA,IACI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IAED,IAAI,QAAQ,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAE9C,IAAI,CAAC,2BAA2B,EAAE,CAAC;KACtC;AAID,IAAA,WAAA,CACc,UAAsB,EAChC,iBAAoC,EACpC,YAA0B,EAAA;AAE1B,QAAA,KAAK,CAAC,iBAAiB,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAJzC,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAhB3B,QAAA,IAAA,CAAA,aAAa,GAAkB,IAAI,OAAO,EAAE,CAAC;QAa9C,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;QAqD3B,IAA2B,CAAA,2BAAA,GAAG,MAAK;YACvC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,IAAI,KAAI;AACrC,gBAAA,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAChC,UAAU,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,2BAA2B,EAAE,CAAC,CAAC;AACjE,aAAC,CAAC,CAAC;AACP,SAAC,CAAA;QAEO,IAAqB,CAAA,qBAAA,GAAG,MAAK;AACjC,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;AACvD,SAAC,CAAA;QAEO,IAAa,CAAA,aAAA,GAAG,MAAK;YACzB,OAAO,CAAC,OAAO,EAAE;iBACZ,IAAI,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;AACrF,SAAC,CAAA;AA1DG,QAAA,IAAI,CAAC,aAAa;AACb,aAAA,SAAS,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;KAC9C;IAED,kBAAkB,GAAA;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACnC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,IAAI,CAAC,iBAAiB,CAAC,OAAO;AACzB,aAAA,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEnC,KAAK,CAAC,kBAAkB,EAAE,CAAC;AAE3B,QAAA,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;KACjD;IAED,MAAM,GAAA;AACF,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AAE/B,QAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;KACzC;AAED,IAAA,SAAS,CAAC,KAAoB,EAAA;;AAE1B,QAAA,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAE9B,IAAI,kBAAkB,CAAC,KAAK,CAAC,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE;YAC1D,KAAK,CAAC,cAAc,EAAE,CAAC;AAC1B,SAAA;QAED,IAAI,OAAO,KAAK,GAAG,EAAE;AACjB,YAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAE9B,OAAO;AACV,SAAA;aAAM,IAAI,OAAO,KAAK,UAAU,EAAE;AAC/B,YAAA,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;AACvC,SAAA;aAAM,IAAI,OAAO,KAAK,QAAQ,EAAE;AAC7B,YAAA,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC;AAC3C,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACpC,SAAA;KACJ;iIAxEQ,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,oVAMM,aAAa,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,OALV,wBAAwB,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,OAGxB,YAAY,CAlCpC,EAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;KAUT,EAgBW,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,8mBAAA,EAAA,8lFAAA,EAAA,q8BAAA,EAAA,uLAAA,CAAA,EAAA,UAAA,EAAA,CAAC,6BAA6B,EAAE,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAIpC,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAjC5B,SAAS;+BACI,oBAAoB,EAAA,QAAA,EACpB,kBAAkB,EAClB,QAAA,EAAA,CAAA;;;;;;;;;;KAUT,EAOK,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,oBAAoB;AAC3B,wBAAA,iBAAiB,EAAE,UAAU;AAE7B,wBAAA,SAAS,EAAE,SAAS;AACpB,wBAAA,QAAQ,EAAE,QAAQ;AAElB,wBAAA,WAAW,EAAE,mBAAmB;qBACnC,EACW,UAAA,EAAA,CAAC,6BAA6B,EAAE,CAAC,EAAA,eAAA,EAC5B,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,MAAA,EAAA,CAAA,8mBAAA,EAAA,8lFAAA,EAAA,q8BAAA,EAAA,uLAAA,CAAA,EAAA,CAAA;4JAIrC,iBAAiB,EAAA,CAAA;sBADhB,eAAe;uBAAC,UAAU,CAAC,MAAM,wBAAwB,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;gBAGV,KAAK,EAAA,CAAA;sBAA5E,eAAe;uBAAC,UAAU,CAAC,MAAM,YAAY,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;gBAEvB,KAAK,EAAA,CAAA;sBAAnD,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,aAAa,CAAC,CAAA;gBAKzC,QAAQ,EAAA,CAAA;sBADX,KAAK;;;MCzBG,YAAY,CAAA;AARzB,IAAA,WAAA,GAAA;AASa,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,OAAO,EAAW,CAAC;AAC7C,KAAA;iIAFY,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;qHAAZ,YAAY,EAAA,QAAA,EAAA,kCAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBARxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kCAAkC;AAC5C,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,gBAAgB;AACvB,wBAAA,cAAc,EAAE,oBAAoB;AACpC,wBAAA,cAAc,EAAE,qBAAqB;AACxC,qBAAA;AACJ,iBAAA,CAAA;;MAYY,aAAa,CAAA;iIAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;qHAAb,aAAa,EAAA,QAAA,EAAA,gDAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBANzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,gDAAgD;AAC1D,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,iBAAiB;AAC3B,qBAAA;AACJ,iBAAA,CAAA;;MAcY,aAAa,CAAA;AAMtB,IAAA,IAAI,IAAI,GAAA;AACJ,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC;KAClD;AAED,IAAA,IAAI,WAAW,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC;KAChG;AAED,IAAA,WAAA,CAAoB,UAAsB,EAAA;QAAtB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAbjC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,OAAO,EAAW,CAAC;QAG1C,IAAe,CAAA,eAAA,GAAY,KAAK,CAAC;KAUa;IAE9C,oBAAoB,GAAA;AAChB,QAAA,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAElG,QAAA,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;KAC/F;IAED,kBAAkB,GAAA;;QAEd,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;KAChD;IAED,eAAe,GAAA;AACX,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;KACxD;iIA7BQ,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;qHAAb,aAAa,EAAA,QAAA,EAAA,oCAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,6BAAA,EAAA,iBAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAVzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,oCAAoC;AAC9C,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,iBAAiB;AACxB,wBAAA,+BAA+B,EAAE,iBAAiB;AAElD,wBAAA,cAAc,EAAE,oBAAoB;AACpC,wBAAA,cAAc,EAAE,qBAAqB;AACxC,qBAAA;AACJ,iBAAA,CAAA;;MAyCY,gBAAgB,CAAA;AAKzB,IAAA,IAAI,IAAI,GAAA;AACJ,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC;KAClD;AAED,IAAA,IAAI,WAAW,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC;KAChG;AAED,IAAA,WAAA,CAAoB,UAAsB,EAAA;QAAtB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAZjC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,OAAO,EAAW,CAAC;KAYI;IAE9C,oBAAoB,GAAA;AAChB,QAAA,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAElG,QAAA,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;KAC/F;IAED,kBAAkB,GAAA;AACd,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;KACxD;iIAvBQ,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;qHAAhB,gBAAgB,EAAA,QAAA,EAAA,0CAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAR5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,0CAA0C;AACpD,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,oBAAoB;AAC3B,wBAAA,cAAc,EAAE,oBAAoB;AACpC,wBAAA,cAAc,EAAE,qBAAqB;AACxC,qBAAA;AACJ,iBAAA,CAAA;;MAwCY,aAAa,CAAA;AAMtB,IAAA,IAAI,QAAQ,GAAA;AACR,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;KAC/B;AAID,IAAA,WAAA,CAAgC,MAAwB,EAAA;QAAxB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAkB;QARxD,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAMR,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAQ,CAAC;KAGvC;IAED,kBAAkB,GAAA;AACd,QAAA,KAAK,CACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,KAAY,EAC5C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,KAAY,CACjD;AACA,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC/B,aAAA,SAAS,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAE9C,IAAI,CAAC,MAAM,EAAE,aAAa;aACrB,SAAS,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;KAC1D;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AACtB,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;KAC7B;iIA9BQ,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAb,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,EACR,QAAA,EAAA,oCAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kBAAA,EAAA,SAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,MAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,YAAY,EACZ,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,aAAa,EAXjB,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;AAGT,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAMQ,aAAa,EAAA,UAAA,EAAA,CAAA;kBAZzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,oCAAoC;AAC9C,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,QAAQ,EAAE,CAAA;;;AAGT,IAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,iBAAiB;AACxB,wBAAA,oBAAoB,EAAE,SAAS;AAClC,qBAAA;AACJ,iBAAA,CAAA;;0BAagB,QAAQ;4CAXO,IAAI,EAAA,CAAA;sBAA/B,YAAY;uBAAC,YAAY,CAAA;gBACG,KAAK,EAAA,CAAA;sBAAjC,YAAY;uBAAC,aAAa,CAAA;;MAsClB,eAAe,CAAA;iIAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;qHAAf,eAAe,EAAA,QAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,mBAAmB;AAC7B,qBAAA;AACJ,iBAAA,CAAA;;MAiBY,qBAAqB,CAAA;AAK9B,IAAA,IAAI,OAAO,GAAA;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;KACxB;AAQD,IAAA,IAAI,QAAQ,GAAA;QACR,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC;KACpD;IAED,IAAI,QAAQ,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;KAC1B;AAID,IAAA,IACI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IAED,IAAI,QAAQ,CAAC,KAAU,EAAA;AACnB,QAAA,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;AAElC,QAAA,IAAI,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE;AAC7B,YAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AAC1B,YAAA,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;AACtC,SAAA;KACJ;AAID,IAAA,IAAI,QAAQ,GAAA;QACR,OAAO,CAAC,CAAC,CAAC;KACb;AAED,IAAA,WAAA,CACY,UAAmC,EACnC,cAAiC,EACjC,YAA0B,EAC1B,MAAc,EAAA;QAHd,IAAU,CAAA,UAAA,GAAV,UAAU,CAAyB;QACnC,IAAc,CAAA,cAAA,GAAd,cAAc,CAAmB;QACjC,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;QAC1B,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;AAtCjB,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,OAAO,EAA8B,CAAC;AAEpD,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,OAAO,EAA8B,CAAC;QAUpD,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;QAgB3B,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;KAWtB;IAEJ,kBAAkB,GAAA;QACd,IAAI,IAAI,CAAC,MAAM,EAAE;AACb,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;AAC7B,SAAA;QAED,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAC9C;IAED,WAAW,GAAA;QACP,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACrD;AAED,IAAA,UAAU,CAAC,KAAuB,EAAA;AAC9B,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;KACzB;IAED,cAAc,GAAA;AACV,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;YAAE,OAAO;AAAE,SAAA;QAE/C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAElC,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AAErB,QAAA,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;AAEnC,QAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KACzC;AAED,IAAA,KAAK,CAAC,MAAoB,EAAA;AACtB,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;YAAE,OAAO;AAAE,SAAA;QAE/C,IAAI,MAAM,KAAK,UAAU,EAAE;YACvB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AACvD,SAAA;QAED,IAAI,IAAI,CAAC,MAAM,EAAE;AACb,YAAA,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;AAE/B,YAAA,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YAEnC,OAAO;AACV,SAAA;AAED,QAAA,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,EAAE,CAAC;KACzB;IAED,IAAI,GAAA;;;;;QAKA,IAAI,CAAC,MAAM,CAAC,QAAQ;AACf,aAAA,YAAY,EAAE;AACd,aAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACb,SAAS,CAAC,MAAK;AACZ,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACjB,gBAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AAEvB,gBAAA,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;AAErB,gBAAA,IAAI,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE;oBAAE,OAAO;AAAE,iBAAA;gBAEtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACrC,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACV;IAED,QAAQ,GAAA;AACJ,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC;KACjC;iIA1HQ,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;qHAArB,qBAAqB,EAAA,QAAA,EAAA,wFAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,6BAAA,EAAA,QAAA,EAAA,EAAA,cAAA,EAAA,0BAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAChB,aAAa,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAEb,QAAQ,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAHb,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAbjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,wFAAwF;AAClG,oBAAA,IAAI,EAAE;AACF,wBAAA,iBAAiB,EAAE,UAAU;AAC7B,wBAAA,iBAAiB,EAAE,kBAAkB;AAErC,wBAAA,KAAK,EAAE,0BAA0B;AACjC,wBAAA,+BAA+B,EAAE,QAAQ;AAEzC,wBAAA,SAAS,EAAE,kBAAkB;AAC7B,wBAAA,QAAQ,EAAE,QAAQ;AACrB,qBAAA;AACJ,iBAAA,CAAA;iLAEgC,KAAK,EAAA,CAAA;sBAAjC,YAAY;uBAAC,aAAa,CAAA;gBAEH,MAAM,EAAA,CAAA;sBAA7B,YAAY;uBAAC,QAAQ,CAAA;gBAuBlB,QAAQ,EAAA,CAAA;sBADX,KAAK;;MA+GG,wBAAwB,CAAA;AAGjC,IAAA,IAAI,UAAU,GAAA;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;IAED,IAAI,UAAU,CAAC,KAAc,EAAA;AACzB,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AAEzB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;KACrB;AAID,IAAA,IAAI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IAED,IAAI,QAAQ,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AAEvB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;KACrB;AAID,IAAA,IAAI,SAAS,GAAA;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;IAED,IAAI,SAAS,CAAC,KAAc,EAAA;AACxB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AAExB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;KACrB;AAMD,IAAA,WAAA,CAAmB,UAAsB,EAAA;QAAtB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAxChC,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,OAAO,EAAQ,CAAC;KAwCQ;IAE7C,oBAAoB,GAAA;AAChB,QAAA,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAElG,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;KAC1F;iIA/CQ,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,iWAuCnB,iBAAiB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAvCtB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAVpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,yFAAyF;AACnG,oBAAA,IAAI,EAAE;AACF,wBAAA,qBAAqB,EAAE,UAAU;AACjC,wBAAA,uBAAuB,EAAE,YAAY;AAErC,wBAAA,qBAAqB,EAAE,wBAAwB;AAC/C,wBAAA,sBAAsB,EAAE,uBAAuB;AAClD,qBAAA;AACJ,iBAAA,CAAA;iGAwCoC,MAAM,EAAA,CAAA;sBAAtC,YAAY;uBAAC,iBAAiB,CAAA;;AAyB7B,MAAO,YAAa,SAAQ,gBAAgB,CAAA;AAQ9C,IAAA,IACI,OAAO,GAAA;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;KACxB;IAED,IAAI,OAAO,CAAC,KAAa,EAAA;AACrB,QAAA,IAAI,KAAK,EAAE;AACP,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YAEtB,IAAI,CAAC,aAAa,EAAE,CAAC;AACxB,SAAA;KACJ;IAED,IAAI,SAAS,CAAC,KAAc,EAAA;AACxB,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;AAC3B,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YAExB,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAC/B,SAAA;KACJ;AAMD,IAAA,IAAI,WAAW,GAAA;AACX,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;AACvE,QAAA,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;AAEhF,QAAA,OAAO,CAAG,EAAA,gBAAgB,CAAM,GAAA,EAAA,mBAAmB,EAAE,CAAC;KACzD;AAED,IAAA,IACI,WAAW,GAAA;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;KAC5B;IAED,IAAI,WAAW,CAAC,KAAc,EAAA;AAC1B,QAAA,IAAI,CAAC,YAAY,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KACpD;AAID,IAAA,IAAI,SAAS,GAAA;QACT,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC;KACzD;AAED,IAAA,IAAI,YAAY,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI,CAAC;KACtC;AAED,IAAA,IAAI,QAAQ,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;YAC9B,OAAO,IAAI,CAAC,SAAS,CAAC;AACzB,SAAA;AAED,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;KACrE;IAED,IAAI,QAAQ,CAAC,KAAK,EAAA;AACd,QAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KACjD;AAED,IAAA,IAAI,kBAAkB,GAAA;AAClB,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;KACjC;AAED,IAAA,IAAI,yBAAyB,GAAA;AACzB,QAAA,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;KACxG;AAED,IAAA,IAAI,2BAA2B,GAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,gBAAgB,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,WAAW,CAAE;KAC5F;AAED,IAAA,IAAI,cAAc,GAAA;AACd,QAAA,OAAO,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,IAAI,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;KACpE;IAED,WACW,CAAA,gBAA0C,EAC1C,mBAA0C,EACzC,iBAAoC,EAC5C,OAAgB,EAChB,UAAsB,EACtB,MAAc,EACd,gBAAkC,EAClC,QAA0B,EACU,cAAc,EACtC,SAAyB,EACjB,eAAkC,EAClC,KAAoB,EAAA;AAExC,QAAA,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;QAbnF,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAA0B;QAC1C,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAuB;QACzC,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;QAQxB,IAAe,CAAA,eAAA,GAAf,eAAe,CAAmB;QAClC,IAAK,CAAA,KAAA,GAAL,KAAK,CAAe;QAtEpC,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;QAoBnB,IAAY,CAAA,YAAA,GAAY,IAAI,CAAC;QAsDjC,IAAI,IAAI,CAAC,kBAAkB,EAAE;AACzB,YAAA,IAAI,CAAC,eAAe,CAAC,eAAe,GAAG,KAAK,CAAC;AAChD,SAAA;QAED,IAAI,CAAC,gBAAgB,CAAC,KAAK;aACtB,SAAS,CAAC,MAAK;YACZ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;AAEjD,YAAA,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;AAC3C,SAAC,CAAC,CAAC;QAEP,IAAI,CAAC,QAAQ,GAAG,CAAA,EAAG,aAAa,CAAC,KAAK,EAAE,CAAC;AAEzC,QAAA,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;KAC7C;IAED,kBAAkB,GAAA;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;KACxB;IAED,aAAa,GAAA;QACT,IAAI,IAAI,CAAC,WAAW,EAAE;AAClB,YAAA,IAAI,CAAC,OAAO,GAAG,CAAA,EAAG,IAAI,CAAC,SAAS,CAAM,GAAA,EAAA,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;AACnE,SAAA;aAAM,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,cAAc,EAAE;AACjD,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;AACnC,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE;AAChC,YAAA,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC;AAC1C,SAAA;AAED,QAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;KACzC;IAED,aAAa,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;KACvC;AAED,IAAA,SAAS,CAAC,MAAqB,EAAA;AAC3B,QAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAAE,OAAO;AAAE,SAAA;QAEzC,IACI,IAAI,CAAC,gBAAgB,CAAC,UAAU,IAAI,MAAM,CAAC,OAAO,KAAK,UAAU;YACjE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,KAAK,WAAW,EAClE;AACE,YAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,GAAG,UAAU,CAAC;AAC3C,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;YAE5B,MAAM,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,CAAC,cAAc,EAAE,CAAC;AAC3B,SAAA;KACJ;IAEO,oBAAoB,GAAA;AACxB,QAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAK;AACxB,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;AACvC,SAAC,CAAC,CAAC;KACN;AAjKQ,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,iQAiGT,0BAA0B,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAjG7B,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAY,kXACP,aAAa,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EACb,gBAAgB,EAEhB,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,MAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,MAAM,mGC7ZxB,qpBAgBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FDyYa,YAAY,EAAA,UAAA,EAAA,CAAA;kBAbxB,SAAS;+BACI,kCAAkC,EAAA,QAAA,EAClC,cAAc,EAElB,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,gBAAgB;AACvB,wBAAA,kCAAkC,EAAE,aAAa;AAEjD,wBAAA,WAAW,EAAE,mBAAmB;AACnC,qBAAA,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,qpBAAA,EAAA,CAAA;;0BAmGhC,MAAM;2BAAC,0BAA0B,CAAA;;0BACjC,QAAQ;;0BACR,QAAQ;;0BACR,QAAQ;4CAnGgB,KAAK,EAAA,CAAA;sBAAjC,YAAY;uBAAC,aAAa,CAAA;gBACK,QAAQ,EAAA,CAAA;sBAAvC,YAAY;uBAAC,gBAAgB,CAAA;gBAER,IAAI,EAAA,CAAA;sBAAzB,YAAY;uBAAC,MAAM,CAAA;gBAEX,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAGF,OAAO,EAAA,CAAA;sBADV,KAAK;uBAAC,WAAW,CAAA;gBAkCd,WAAW,EAAA,CAAA;sBADd,KAAK;;AAyJJ,MAAO,cAAe,SAAQ,gBAAgB,CAAA;AAGhD,IAAA,IACI,OAAO,GAAA;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;KACxB;IAED,IAAI,OAAO,CAAC,OAAkC,EAAA;AAC1C,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAExB,IAAI,CAAC,UAAU,EAAE,CAAC;KACrB;AAED,IAAA,IAAI,QAAQ,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;KAC/B;AAID,IAAA,WAAA,CACW,MAAwB,EACvB,iBAAoC,EAC5C,OAAgB,EAChB,UAAsB,EACtB,MAAc,EACd,gBAAkC,EAClC,QAA0B,EACU,cAAc,EACtC,SAAyB,EACC,QAAa,EAAA;AAEnD,QAAA,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;QAXnF,IAAM,CAAA,MAAA,GAAN,MAAM,CAAkB;QACvB,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;QAQN,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAK;AAZ7C,QAAA,IAAA,CAAA,QAAQ,GAAoB,eAAe,CAAC,OAAO,CAAC;QA8C9D,IAAM,CAAA,MAAA,GAAG,MAAK;AACV,YAAA,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;AAErB,YAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;YAEtC,IAAI,CAAC,IAAI,EAAE,CAAC;AAChB,SAAC,CAAA;AAMO,QAAA,IAAA,CAAA,mBAAmB,GAAG,CAAC,KAAoB,KAAI;AACnD,YAAA,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;gBACjE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAChC,aAAA;AACL,SAAC,CAAA;AA9CG,QAAA,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC;AAEvC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;AAEhC,QAAA,IAAI,MAAM,EAAE;AACR,YAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;gBAC/B,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;AACjE,aAAC,CAAC,CAAC;AACN,SAAA;KACJ;AAED,IAAA,SAAS,CAAC,MAAqB,EAAA;AAC3B,QAAA,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YAEd,MAAM,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,CAAC,cAAc,EAAE,CAAC;AAC3B,SAAA;AAED,QAAA,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;KAC/B;IAED,WAAW,GAAA;AACP,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;AAEhC,QAAA,IAAI,MAAM,EAAE;YACR,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;AACnE,SAAA;KACJ;IAUO,SAAS,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE,WAAW,IAAI,MAAM,CAAC;KAC/C;iIA1EQ,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EA4BX,0BAA0B,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAEd,QAAQ,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;qHA9BvB,cAAc,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,oBAAA,EAAA,SAAA,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,EAAA,cAAA,EAAA,6CAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EACT,MAAM,EA5BV,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;AAcT,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,wPAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAaQ,cAAc,EAAA,UAAA,EAAA,CAAA;kBA7B1B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAClB,QAAA,EAAA,CAAA;;;;;;;;;;;;;;KAcT,EAEK,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,6CAA6C;AACpD,wBAAA,yBAAyB,EAAE,QAAQ;AAEnC,wBAAA,WAAW,EAAE,mBAAmB;AAChC,wBAAA,SAAS,EAAE,UAAU;AACrB,wBAAA,YAAY,EAAE,kBAAkB;AACnC,qBAAA,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,MAAA,EAAA,CAAA,wPAAA,CAAA,EAAA,CAAA;;0BA8BhC,MAAM;2BAAC,0BAA0B,CAAA;;0BACjC,QAAQ;;0BACR,QAAQ;;0BAAI,MAAM;2BAAC,QAAQ,CAAA;4CA7BV,UAAU,EAAA,CAAA;sBAA/B,YAAY;uBAAC,MAAM,CAAA;gBAGhB,OAAO,EAAA,CAAA;sBADV,KAAK;uBAAC,oBAAoB,CAAA;;;MEhiBlB,cAAc,CAAA;iIAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAd,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,iBAfnB,QAAQ;YACR,iBAAiB;YACjB,aAAa;YACb,YAAY;YACZ,aAAa;YACb,YAAY;YACZ,cAAc;YACd,gBAAgB;YAChB,eAAe;YACf,qBAAqB;YACrB,wBAAwB;YACxB,gBAAgB;AAChB,YAAA,aAAa,aAlCb,YAAY;YACZ,UAAU;YACV,cAAc;YACd,YAAY;AACZ,YAAA,eAAe,aAGf,QAAQ;YACR,iBAAiB;YACjB,aAAa;YACb,YAAY;YACZ,aAAa;YACb,YAAY;YACZ,cAAc;YACd,gBAAgB;YAChB,eAAe;YACf,qBAAqB;YACrB,wBAAwB;YACxB,gBAAgB;YAChB,aAAa,CAAA,EAAA,CAAA,CAAA,EAAA;AAkBR,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YArCnB,YAAY;YACZ,UAAU;YACV,cAAc;YACd,YAAY;YACZ,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAiCV,cAAc,EAAA,UAAA,EAAA,CAAA;kBAvC1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,UAAU;wBACV,cAAc;wBACd,YAAY;wBACZ,eAAe;AAClB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,QAAQ;wBACR,iBAAiB;wBACjB,aAAa;wBACb,YAAY;wBACZ,aAAa;wBACb,YAAY;wBACZ,cAAc;wBACd,gBAAgB;wBAChB,eAAe;wBACf,qBAAqB;wBACrB,wBAAwB;wBACxB,gBAAgB;wBAChB,aAAa;AAChB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACV,QAAQ;wBACR,iBAAiB;wBACjB,aAAa;wBACb,YAAY;wBACZ,aAAa;wBACb,YAAY;wBACZ,cAAc;wBACd,gBAAgB;wBAChB,eAAe;wBACf,qBAAqB;wBACrB,wBAAwB;wBACxB,gBAAgB;wBAChB,aAAa;AAChB,qBAAA;AACJ,iBAAA,CAAA;;;AC7DD;;AAEG;;;;"}
@@ -126,7 +126,7 @@ class McPopoverTrigger extends McPopUpTrigger {
126
126
  this._trigger = value;
127
127
  }
128
128
  else {
129
- this._trigger = PopUpTriggers.Click;
129
+ this._trigger = `${PopUpTriggers.Click}, ${PopUpTriggers.Keydown}`;
130
130
  }
131
131
  this.initListeners();
132
132
  }
@@ -168,7 +168,7 @@ class McPopoverTrigger extends McPopUpTrigger {
168
168
  constructor(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction) {
169
169
  super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);
170
170
  this._hasBackdrop = false;
171
- this._trigger = PopUpTriggers.Click;
171
+ this._trigger = `${PopUpTriggers.Click}, ${PopUpTriggers.Keydown}`;
172
172
  this._size = PopUpSizes.Medium;
173
173
  this._closeOnScroll = false;
174
174
  this.backdropClass = 'cdk-overlay-transparent-backdrop';
@@ -1 +1 @@
1
- {"version":3,"file":"ptsecurity-mosaic-popover.mjs","sources":["../../../packages/mosaic/popover/popover-animations.ts","../../../packages/mosaic/popover/popover.component.ts","../../../packages/mosaic/popover/popover.component.html","../../../packages/mosaic/popover/popover-confirm.component.ts","../../../packages/mosaic/popover/popover-confirm.component.html","../../../packages/mosaic/popover/popover.module.ts","../../../packages/mosaic/popover/ptsecurity-mosaic-popover.ts"],"sourcesContent":["import {\n animate,\n AnimationTriggerMetadata,\n state,\n style,\n transition,\n trigger\n} from '@angular/animations';\n\n\nexport const mcPopoverAnimations: {\n readonly popoverState: AnimationTriggerMetadata;\n} = {\n /** Animation that transitions a tooltip in and out. */\n popoverState: trigger('state', [\n state('initial', style({\n opacity: 0,\n transform: 'scale(1, 0.8)'\n })),\n transition('* => visible', animate('120ms cubic-bezier(0, 0, 0.2, 1)', style({\n opacity: 1,\n transform: 'scale(1, 1)'\n }))),\n transition('* => hidden', animate('100ms linear', style({ opacity: 0 })))\n ])\n};\n","import { Directionality } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n FlexibleConnectedPositionStrategy,\n Overlay,\n ScrollDispatcher,\n ScrollStrategy,\n OverlayConfig\n} from '@angular/cdk/overlay';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n NgZone,\n Optional,\n Output,\n TemplateRef,\n Type,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n McPopUp,\n McPopUpTrigger,\n PopUpPlacements,\n PopUpSizes,\n PopUpTriggers,\n POSITION_TO_CSS_MAP\n} from '@ptsecurity/mosaic/core';\nimport { merge, NEVER } from 'rxjs';\n\nimport { mcPopoverAnimations } from './popover-animations';\n\n\n@Component({\n selector: 'mc-popover-component',\n templateUrl: './popover.component.html',\n preserveWhitespaces: false,\n styleUrls: ['./popover.scss'],\n host: {\n '(keydown.esc)': 'hide(0)'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [mcPopoverAnimations.popoverState]\n})\nexport class McPopoverComponent extends McPopUp {\n prefix = 'mc-popover';\n\n header: string | TemplateRef<any>;\n footer: string | TemplateRef<any>;\n\n isTrapFocus: boolean = false;\n\n constructor(changeDetectorRef: ChangeDetectorRef) {\n super(changeDetectorRef);\n }\n\n updateClassMap(placement: string, customClass: string, size: PopUpSizes) {\n super.updateClassMap(\n placement,\n customClass,\n { [`${this.prefix}_${size}`]: !!size }\n );\n }\n\n updateTrapFocus(isTrapFocus: boolean): void {\n this.isTrapFocus = isTrapFocus;\n }\n}\n\nexport const MC_POPOVER_SCROLL_STRATEGY =\n new InjectionToken<() => ScrollStrategy>('mc-popover-scroll-strategy');\n\n/** @docs-private */\nexport function mcPopoverScrollStrategyFactory(overlay: Overlay): () => ScrollStrategy {\n return () => overlay.scrollStrategies.reposition({ scrollThrottle: 20 });\n}\n\n/** @docs-private */\nexport const MC_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER = {\n provide: MC_POPOVER_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: mcPopoverScrollStrategyFactory\n};\n\n/** Creates an error to be thrown if the user supplied an invalid popover position. */\nexport function getMcPopoverInvalidPositionError(position: string) {\n return Error(`McPopover position \"${position}\" is invalid.`);\n}\n\n\n@Directive({\n selector: '[mcPopover]',\n exportAs: 'mcPopover',\n host: {\n '[class.mc-popover_open]': 'isOpen',\n '[class.mc-active]': 'hasClickTrigger && isOpen',\n '(keydown)': 'handleKeydown($event)',\n '(touchend)': 'handleTouchend()'\n }\n})\nexport class McPopoverTrigger extends McPopUpTrigger<McPopoverComponent> {\n @Input('mcPopoverVisible')\n get popoverVisible(): boolean {\n return this.visible;\n }\n\n set popoverVisible(value: boolean) {\n super.updateVisible(value);\n }\n\n @Input('mcPopoverPlacement')\n get popoverPlacement(): PopUpPlacements {\n return this.placement;\n }\n\n set popoverPlacement(value: PopUpPlacements) {\n super.updatePlacement(value);\n }\n\n @Input('mcPopoverPlacementPriority')\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('mcPopoverHeader')\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('mcPopoverContent')\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('mcPopoverFooter')\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('mcPopoverDisabled')\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n @Input('mcTrigger')\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;\n }\n\n this.initListeners();\n }\n\n private _trigger: string = PopUpTriggers.Click;\n\n @Input('mcPopoverSize')\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('mcPopoverClass')\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 closeOnScroll(): boolean {\n return this._closeOnScroll;\n }\n\n set closeOnScroll(value: boolean) {\n this._closeOnScroll = coerceBooleanProperty(value);\n }\n\n private _closeOnScroll: boolean = false;\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('mcPopoverPlacementChange') placementChange = new EventEmitter();\n\n @Output('mcPopoverVisibleChange') visibleChange = new EventEmitter<boolean>();\n\n protected originSelector = '.mc-popover';\n\n protected get overlayConfig(): OverlayConfig {\n return {\n panelClass: 'mc-popover__panel',\n hasBackdrop: this.hasBackdrop,\n backdropClass: this.backdropClass\n };\n }\n\n constructor(\n overlay: Overlay,\n elementRef: ElementRef,\n ngZone: NgZone,\n scrollDispatcher: ScrollDispatcher,\n hostView: ViewContainerRef,\n @Inject(MC_POPOVER_SCROLL_STRATEGY) scrollStrategy,\n @Optional() direction: Directionality\n ) {\n super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);\n }\n\n updateData() {\n if (!this.instance) { return; }\n\n this.instance.header = this.header;\n this.instance.content = this.content;\n this.instance.footer = this.footer;\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<McPopoverComponent> {\n return McPopoverComponent;\n }\n\n updateClassMap(newPlacement: string = this.placement) {\n if (!this.instance) { return; }\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.trigger === PopUpTriggers.Click) {\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(\n ...this.closingActionsForClick(),\n this.closeOnScroll ? this.scrollDispatcher.scrolled() : NEVER\n );\n }\n}\n","<div class=\"mc-popover\"\n [cdkTrapFocus]=\"isTrapFocus\"\n [cdkTrapFocusAutoCapture]=\"isTrapFocus\"\n [ngClass]=\"classMap\"\n [@state]=\"visibility\"\n (@state.start)=\"animationStart()\"\n (@state.done)=\"animationDone($event)\">\n\n <div class=\"mc-popover__container\">\n <div class=\"mc-popover__header\" *ngIf=\"header\">\n <ng-container *ngIf=\"isTemplateRef(header)\" [ngTemplateOutlet]=\"$any(header)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(header)\">\n <div>{{ header }}</div>\n </ng-container>\n </div>\n\n <div class=\"mc-popover__content\"\n [ngClass]=\"{ 'mc-popover__content_padding_bottom': footer }\"\n *ngIf=\"content\">\n <ng-container *ngIf=\"isTemplateRef(content)\" [ngTemplateOutlet]=\"$any(content)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(content)\">\n <div>{{ content }}</div>\n </ng-container>\n </div>\n\n <div class=\"mc-popover__footer\" *ngIf=\"footer\">\n <ng-container *ngIf=\"isTemplateRef(footer)\" [ngTemplateOutlet]=\"$any(footer)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(footer)\">\n <div>{{ footer }}</div>\n </ng-container>\n </div>\n </div>\n\n <div class=\"mc-popover__arrow\" [class.mc-popover__arrow_with-footer]=\"footer\"></div>\n</div>\n","import { Directionality } from '@angular/cdk/bidi';\nimport { Overlay, ScrollDispatcher } from '@angular/cdk/overlay';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n NgZone,\n Optional,\n Output,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { ThemePalette } from '@ptsecurity/mosaic/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { mcPopoverAnimations } from './popover-animations';\nimport { MC_POPOVER_SCROLL_STRATEGY, McPopoverComponent, McPopoverTrigger } from './popover.component';\n\n\nexport const MC_POPOVER_CONFIRM_TEXT = new InjectionToken<string>('');\nexport const MC_POPOVER_CONFIRM_BUTTON_TEXT = new InjectionToken<string>('');\n\n@Component({\n selector: 'mc-popover-confirm-component',\n templateUrl: './popover-confirm.component.html',\n preserveWhitespaces: false,\n styleUrls: ['./popover.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [mcPopoverAnimations.popoverState]\n})\nexport class McPopoverConfirmComponent extends McPopoverComponent {\n themePalette = ThemePalette;\n\n onConfirm = new Subject<void>();\n confirmButtonText: string;\n\n confirmText: string;\n\n constructor(changeDetectorRef: ChangeDetectorRef) {\n super(changeDetectorRef);\n }\n}\n\n\n@Directive({\n selector: '[mcPopoverConfirm]',\n exportAs: 'mcPopoverConfirm',\n host: {\n '[class.mc-popover_open]': 'isOpen',\n '(keydown)': 'handleKeydown($event)',\n '(touchend)': 'handleTouchend()'\n }\n})\nexport class McPopoverConfirmTrigger extends McPopoverTrigger {\n @Output() confirm: EventEmitter<void> = new EventEmitter<void>();\n\n @Input('mcPopoverConfirmText')\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('mcPopoverConfirmButtonText')\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 overlay: Overlay,\n elementRef: ElementRef,\n ngZone: NgZone,\n scrollDispatcher: ScrollDispatcher,\n hostView: ViewContainerRef,\n @Inject(MC_POPOVER_SCROLL_STRATEGY) scrollStrategy,\n @Optional() direction: Directionality,\n @Optional() @Inject(MC_POPOVER_CONFIRM_TEXT) confirmText: string,\n @Optional() @Inject(MC_POPOVER_CONFIRM_BUTTON_TEXT) confirmButtonText: string\n ) {\n super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);\n\n this.confirmText = confirmText || 'Вы уверены, что хотите продолжить?';\n this.confirmButtonText = confirmButtonText || 'Да';\n }\n\n updateData() {\n if (!this.instance) { return; }\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 McPopoverConfirmComponent;\n }\n}\n","<div class=\"mc-popover-confirm mc-popover\"\n cdkTrapFocus=\"true\"\n cdkTrapFocusAutoCapture=\"true\"\n [ngClass]=\"classMap\"\n [@state]=\"visibility\"\n (@state.start)=\"animationStart()\"\n (@state.done)=\"animationDone($event)\">\n <div class=\"mc-popover__content\">\n <div>{{ confirmText }}</div>\n <button mc-button [color]=\"themePalette.Primary\" (click)=\"onConfirm.next()\">{{confirmButtonText}}</button>\n </div>\n\n <div class=\"mc-popover__arrow\"></div>\n</div>\n","import { A11yModule, ConfigurableFocusTrapFactory, FocusTrapFactory } from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { McButtonModule } from '@ptsecurity/mosaic/button';\n\nimport { McPopoverConfirmComponent, McPopoverConfirmTrigger } from './popover-confirm.component';\nimport { MC_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER, McPopoverComponent, McPopoverTrigger } from './popover.component';\n\n\n@NgModule({\n declarations: [McPopoverComponent, McPopoverTrigger, McPopoverConfirmComponent, McPopoverConfirmTrigger],\n exports: [McPopoverComponent, McPopoverTrigger, McPopoverConfirmComponent, McPopoverConfirmTrigger],\n imports: [CommonModule, OverlayModule, McButtonModule, A11yModule],\n providers: [\n MC_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER,\n { provide: FocusTrapFactory, useClass: ConfigurableFocusTrapFactory }\n ]\n})\nexport class McPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i3","i4","i5"],"mappings":"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"}
1
+ {"version":3,"file":"ptsecurity-mosaic-popover.mjs","sources":["../../../packages/mosaic/popover/popover-animations.ts","../../../packages/mosaic/popover/popover.component.ts","../../../packages/mosaic/popover/popover.component.html","../../../packages/mosaic/popover/popover-confirm.component.ts","../../../packages/mosaic/popover/popover-confirm.component.html","../../../packages/mosaic/popover/popover.module.ts","../../../packages/mosaic/popover/ptsecurity-mosaic-popover.ts"],"sourcesContent":["import {\n animate,\n AnimationTriggerMetadata,\n state,\n style,\n transition,\n trigger\n} from '@angular/animations';\n\n\nexport const mcPopoverAnimations: {\n readonly popoverState: AnimationTriggerMetadata;\n} = {\n /** Animation that transitions a tooltip in and out. */\n popoverState: trigger('state', [\n state('initial', style({\n opacity: 0,\n transform: 'scale(1, 0.8)'\n })),\n transition('* => visible', animate('120ms cubic-bezier(0, 0, 0.2, 1)', style({\n opacity: 1,\n transform: 'scale(1, 1)'\n }))),\n transition('* => hidden', animate('100ms linear', style({ opacity: 0 })))\n ])\n};\n","import { Directionality } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n FlexibleConnectedPositionStrategy,\n Overlay,\n ScrollDispatcher,\n ScrollStrategy,\n OverlayConfig\n} from '@angular/cdk/overlay';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n NgZone,\n Optional,\n Output,\n TemplateRef,\n Type,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n McPopUp,\n McPopUpTrigger,\n PopUpPlacements,\n PopUpSizes,\n PopUpTriggers,\n POSITION_TO_CSS_MAP\n} from '@ptsecurity/mosaic/core';\nimport { merge, NEVER } from 'rxjs';\n\nimport { mcPopoverAnimations } from './popover-animations';\n\n\n@Component({\n selector: 'mc-popover-component',\n templateUrl: './popover.component.html',\n preserveWhitespaces: false,\n styleUrls: ['./popover.scss'],\n host: {\n '(keydown.esc)': 'hide(0)'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [mcPopoverAnimations.popoverState]\n})\nexport class McPopoverComponent extends McPopUp {\n prefix = 'mc-popover';\n\n header: string | TemplateRef<any>;\n footer: string | TemplateRef<any>;\n\n isTrapFocus: boolean = false;\n\n constructor(changeDetectorRef: ChangeDetectorRef) {\n super(changeDetectorRef);\n }\n\n updateClassMap(placement: string, customClass: string, size: PopUpSizes) {\n super.updateClassMap(\n placement,\n customClass,\n { [`${this.prefix}_${size}`]: !!size }\n );\n }\n\n updateTrapFocus(isTrapFocus: boolean): void {\n this.isTrapFocus = isTrapFocus;\n }\n}\n\nexport const MC_POPOVER_SCROLL_STRATEGY =\n new InjectionToken<() => ScrollStrategy>('mc-popover-scroll-strategy');\n\n/** @docs-private */\nexport function mcPopoverScrollStrategyFactory(overlay: Overlay): () => ScrollStrategy {\n return () => overlay.scrollStrategies.reposition({ scrollThrottle: 20 });\n}\n\n/** @docs-private */\nexport const MC_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER = {\n provide: MC_POPOVER_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: mcPopoverScrollStrategyFactory\n};\n\n/** Creates an error to be thrown if the user supplied an invalid popover position. */\nexport function getMcPopoverInvalidPositionError(position: string) {\n return Error(`McPopover position \"${position}\" is invalid.`);\n}\n\n\n@Directive({\n selector: '[mcPopover]',\n exportAs: 'mcPopover',\n host: {\n '[class.mc-popover_open]': 'isOpen',\n '[class.mc-active]': 'hasClickTrigger && isOpen',\n '(keydown)': 'handleKeydown($event)',\n '(touchend)': 'handleTouchend()'\n }\n})\nexport class McPopoverTrigger extends McPopUpTrigger<McPopoverComponent> {\n @Input('mcPopoverVisible')\n get popoverVisible(): boolean {\n return this.visible;\n }\n\n set popoverVisible(value: boolean) {\n super.updateVisible(value);\n }\n\n @Input('mcPopoverPlacement')\n get popoverPlacement(): PopUpPlacements {\n return this.placement;\n }\n\n set popoverPlacement(value: PopUpPlacements) {\n super.updatePlacement(value);\n }\n\n @Input('mcPopoverPlacementPriority')\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('mcPopoverHeader')\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('mcPopoverContent')\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('mcPopoverFooter')\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('mcPopoverDisabled')\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n @Input('mcTrigger')\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('mcPopoverSize')\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('mcPopoverClass')\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 closeOnScroll(): boolean {\n return this._closeOnScroll;\n }\n\n set closeOnScroll(value: boolean) {\n this._closeOnScroll = coerceBooleanProperty(value);\n }\n\n private _closeOnScroll: boolean = false;\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('mcPopoverPlacementChange') placementChange = new EventEmitter();\n\n @Output('mcPopoverVisibleChange') visibleChange = new EventEmitter<boolean>();\n\n protected originSelector = '.mc-popover';\n\n protected get overlayConfig(): OverlayConfig {\n return {\n panelClass: 'mc-popover__panel',\n hasBackdrop: this.hasBackdrop,\n backdropClass: this.backdropClass\n };\n }\n\n constructor(\n overlay: Overlay,\n elementRef: ElementRef,\n ngZone: NgZone,\n scrollDispatcher: ScrollDispatcher,\n hostView: ViewContainerRef,\n @Inject(MC_POPOVER_SCROLL_STRATEGY) scrollStrategy,\n @Optional() direction: Directionality\n ) {\n super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);\n }\n\n updateData() {\n if (!this.instance) { return; }\n\n this.instance.header = this.header;\n this.instance.content = this.content;\n this.instance.footer = this.footer;\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<McPopoverComponent> {\n return McPopoverComponent;\n }\n\n updateClassMap(newPlacement: string = this.placement) {\n if (!this.instance) { return; }\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.trigger === PopUpTriggers.Click) {\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(\n ...this.closingActionsForClick(),\n this.closeOnScroll ? this.scrollDispatcher.scrolled() : NEVER\n );\n }\n}\n","<div class=\"mc-popover\"\n [cdkTrapFocus]=\"isTrapFocus\"\n [cdkTrapFocusAutoCapture]=\"isTrapFocus\"\n [ngClass]=\"classMap\"\n [@state]=\"visibility\"\n (@state.start)=\"animationStart()\"\n (@state.done)=\"animationDone($event)\">\n\n <div class=\"mc-popover__container\">\n <div class=\"mc-popover__header\" *ngIf=\"header\">\n <ng-container *ngIf=\"isTemplateRef(header)\" [ngTemplateOutlet]=\"$any(header)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(header)\">\n <div>{{ header }}</div>\n </ng-container>\n </div>\n\n <div class=\"mc-popover__content\"\n [ngClass]=\"{ 'mc-popover__content_padding_bottom': footer }\"\n *ngIf=\"content\">\n <ng-container *ngIf=\"isTemplateRef(content)\" [ngTemplateOutlet]=\"$any(content)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(content)\">\n <div>{{ content }}</div>\n </ng-container>\n </div>\n\n <div class=\"mc-popover__footer\" *ngIf=\"footer\">\n <ng-container *ngIf=\"isTemplateRef(footer)\" [ngTemplateOutlet]=\"$any(footer)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(footer)\">\n <div>{{ footer }}</div>\n </ng-container>\n </div>\n </div>\n\n <div class=\"mc-popover__arrow\" [class.mc-popover__arrow_with-footer]=\"footer\"></div>\n</div>\n","import { Directionality } from '@angular/cdk/bidi';\nimport { Overlay, ScrollDispatcher } from '@angular/cdk/overlay';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n NgZone,\n Optional,\n Output,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { ThemePalette } from '@ptsecurity/mosaic/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { mcPopoverAnimations } from './popover-animations';\nimport { MC_POPOVER_SCROLL_STRATEGY, McPopoverComponent, McPopoverTrigger } from './popover.component';\n\n\nexport const MC_POPOVER_CONFIRM_TEXT = new InjectionToken<string>('');\nexport const MC_POPOVER_CONFIRM_BUTTON_TEXT = new InjectionToken<string>('');\n\n@Component({\n selector: 'mc-popover-confirm-component',\n templateUrl: './popover-confirm.component.html',\n preserveWhitespaces: false,\n styleUrls: ['./popover.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [mcPopoverAnimations.popoverState]\n})\nexport class McPopoverConfirmComponent extends McPopoverComponent {\n themePalette = ThemePalette;\n\n onConfirm = new Subject<void>();\n confirmButtonText: string;\n\n confirmText: string;\n\n constructor(changeDetectorRef: ChangeDetectorRef) {\n super(changeDetectorRef);\n }\n}\n\n\n@Directive({\n selector: '[mcPopoverConfirm]',\n exportAs: 'mcPopoverConfirm',\n host: {\n '[class.mc-popover_open]': 'isOpen',\n '(keydown)': 'handleKeydown($event)',\n '(touchend)': 'handleTouchend()'\n }\n})\nexport class McPopoverConfirmTrigger extends McPopoverTrigger {\n @Output() confirm: EventEmitter<void> = new EventEmitter<void>();\n\n @Input('mcPopoverConfirmText')\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('mcPopoverConfirmButtonText')\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 overlay: Overlay,\n elementRef: ElementRef,\n ngZone: NgZone,\n scrollDispatcher: ScrollDispatcher,\n hostView: ViewContainerRef,\n @Inject(MC_POPOVER_SCROLL_STRATEGY) scrollStrategy,\n @Optional() direction: Directionality,\n @Optional() @Inject(MC_POPOVER_CONFIRM_TEXT) confirmText: string,\n @Optional() @Inject(MC_POPOVER_CONFIRM_BUTTON_TEXT) confirmButtonText: string\n ) {\n super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);\n\n this.confirmText = confirmText || 'Вы уверены, что хотите продолжить?';\n this.confirmButtonText = confirmButtonText || 'Да';\n }\n\n updateData() {\n if (!this.instance) { return; }\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 McPopoverConfirmComponent;\n }\n}\n","<div class=\"mc-popover-confirm mc-popover\"\n cdkTrapFocus=\"true\"\n cdkTrapFocusAutoCapture=\"true\"\n [ngClass]=\"classMap\"\n [@state]=\"visibility\"\n (@state.start)=\"animationStart()\"\n (@state.done)=\"animationDone($event)\">\n <div class=\"mc-popover__content\">\n <div>{{ confirmText }}</div>\n <button mc-button [color]=\"themePalette.Primary\" (click)=\"onConfirm.next()\">{{confirmButtonText}}</button>\n </div>\n\n <div class=\"mc-popover__arrow\"></div>\n</div>\n","import { A11yModule, ConfigurableFocusTrapFactory, FocusTrapFactory } from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { McButtonModule } from '@ptsecurity/mosaic/button';\n\nimport { McPopoverConfirmComponent, McPopoverConfirmTrigger } from './popover-confirm.component';\nimport { MC_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER, McPopoverComponent, McPopoverTrigger } from './popover.component';\n\n\n@NgModule({\n declarations: [McPopoverComponent, McPopoverTrigger, McPopoverConfirmComponent, McPopoverConfirmTrigger],\n exports: [McPopoverComponent, McPopoverTrigger, McPopoverConfirmComponent, McPopoverConfirmTrigger],\n imports: [CommonModule, OverlayModule, McButtonModule, A11yModule],\n providers: [\n MC_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER,\n { provide: FocusTrapFactory, useClass: ConfigurableFocusTrapFactory }\n ]\n})\nexport class McPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i3","i4","i5"],"mappings":"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"}