@skysoftware-co/bayan-core-widgets-ui 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/skysoftware-co-bayan-core-widgets-ui.mjs +215 -183
- package/fesm2022/skysoftware-co-bayan-core-widgets-ui.mjs.map +1 -1
- package/lib/shared/menu.service.d.ts.map +1 -1
- package/lib/top-menu-widget/components/global-search-widget/global-search-widget.component.d.ts +17 -7
- package/lib/top-menu-widget/components/global-search-widget/global-search-widget.component.d.ts.map +1 -1
- package/lib/top-menu-widget/components/item-widget/item-widget.component.d.ts +12 -7
- package/lib/top-menu-widget/components/item-widget/item-widget.component.d.ts.map +1 -1
- package/lib/top-menu-widget/components/notifications-widget/notifications-widget.component.d.ts +0 -1
- package/lib/top-menu-widget/components/notifications-widget/notifications-widget.component.d.ts.map +1 -1
- package/lib/top-menu-widget/top-menu-widget.component.d.ts +10 -9
- package/lib/top-menu-widget/top-menu-widget.component.d.ts.map +1 -1
- package/lib/top-menu-widget/top-menu-widget.models.d.ts +0 -14
- package/lib/top-menu-widget/top-menu-widget.models.d.ts.map +1 -1
- package/package.json +32 -47
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skysoftware-co-bayan-core-widgets-ui.mjs","sources":["../../../projects/bayan-core-ui/src/lib/shared/common-methods/navigation.utils.ts","../../../projects/bayan-core-ui/src/lib/top-menu-widget/components/about-dialog-widget/about-dialog-widget.component.ts","../../../projects/bayan-core-ui/src/lib/top-menu-widget/components/about-dialog-widget/about-dialog-widget.component.html","../../../projects/bayan-core-ui/src/lib/top-menu-widget/components/change-password-widget/change-password-widget.component.ts","../../../projects/bayan-core-ui/src/lib/top-menu-widget/components/change-password-widget/change-password-widget.component.html","../../../projects/bayan-core-ui/src/lib/top-menu-widget/components/global-search-widget/global-search-widget.component.ts","../../../projects/bayan-core-ui/src/lib/top-menu-widget/components/global-search-widget/global-search-widget.component.html","../../../projects/bayan-core-ui/src/lib/top-menu-widget/components/item-widget/item-widget.component.ts","../../../projects/bayan-core-ui/src/lib/top-menu-widget/components/item-widget/item-widget.component.html","../../../projects/bayan-core-ui/src/lib/shared/menu.service.ts","../../../projects/bayan-core-ui/src/lib/top-menu-widget/components/notifications-widget/notifications-widget.component.ts","../../../projects/bayan-core-ui/src/lib/top-menu-widget/components/notifications-widget/notifications-widget.component.html","../../../projects/bayan-core-ui/src/lib/top-menu-widget/components/settings-widget/settings-widget.component.ts","../../../projects/bayan-core-ui/src/lib/top-menu-widget/components/settings-widget/settings-widget.component.html","../../../projects/bayan-core-ui/src/lib/top-menu-widget/components/user-panel-widget/user-panel-widget.component.ts","../../../projects/bayan-core-ui/src/lib/top-menu-widget/components/user-panel-widget/user-panel-widget.component.html","../../../projects/bayan-core-ui/src/lib/top-menu-widget/top-menu-widget.component.ts","../../../projects/bayan-core-ui/src/lib/top-menu-widget/top-menu-widget.component.html","../../../projects/bayan-core-ui/src/lib/shared/menu.dtos.ts","../../../projects/bayan-core-ui/src/public-api.ts","../../../projects/bayan-core-ui/src/skysoftware-co-bayan-core-widgets-ui.ts"],"sourcesContent":["export function resolveUrl(baseUrl: string | null | undefined, url: string | null | undefined): string | null {\r\n if (!url) {\r\n return null;\r\n }\r\n\r\n return baseUrl ? joinUrl(baseUrl, url) : url;\r\n}\r\n\r\nexport function isExternalNavigation(baseUrl: string | null | undefined, url: string): boolean {\r\n return isAbsoluteUrl(url) || (!!baseUrl && isAbsoluteUrl(baseUrl));\r\n}\r\n\r\nexport function joinUrl(baseUrl: string, url: string): string {\r\n const normalizedBaseUrl = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl;\r\n const normalizedUrl = url.startsWith('/') ? url : `/${url}`;\r\n return `${normalizedBaseUrl}${normalizedUrl}`;\r\n}\r\n\r\nfunction isAbsoluteUrl(url: string): boolean {\r\n return /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i.test(url);\r\n}","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { faCheckCircle } from '@fortawesome/pro-solid-svg-icons';\r\nimport { TranslatePipe } from '@skysoftware-co/sky-components-ui';\r\nimport { TopMenuWidgetAboutDialogConfig } from '../../top-menu-widget.models';\r\n\r\n@Component({\r\n selector: 'bayan-core-about-dialog-widget',\r\n standalone: true,\r\n imports: [CommonModule, FontAwesomeModule, TranslatePipe],\r\n templateUrl: './about-dialog-widget.component.html',\r\n styleUrls: ['../../top-menu-widget.styles.css'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class BayanCoreAboutDialogWidgetComponent {\r\n @Input() baseUrl = '';\r\n @Input() visible = false;\r\n @Input({ required: true }) config!: TopMenuWidgetAboutDialogConfig;\r\n\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n @Output() licenseClick = new EventEmitter<void>();\r\n @Output() releaseNotesClick = new EventEmitter<void>();\r\n @Output() supportClick = new EventEmitter<void>();\r\n\r\n readonly checkCircleIcon = faCheckCircle;\r\n\r\n onBackdropClick(event: MouseEvent): void {\r\n if ((event.target as HTMLElement).classList.contains('about-backdrop')) {\r\n this.closeDialog();\r\n }\r\n }\r\n\r\n closeDialog(): void {\r\n this.visibleChange.emit(false);\r\n }\r\n}\r\n","@if (visible) {\r\n <div class=\"about-backdrop\" (click)=\"onBackdropClick($event)\">\r\n <div class=\"about-modal\" role=\"dialog\" aria-labelledby=\"topMenuAboutDialogTitle\" aria-modal=\"true\">\r\n <div class=\"about-modal-header\">\r\n <h4 class=\"about-modal-title\" id=\"topMenuAboutDialogTitle\">{{ config.title || 'AboutSkyBayan' | translate }}</h4>\r\n <button type=\"button\" class=\"about-close-btn\" (click)=\"closeDialog()\" [attr.aria-label]=\"(config.closeButtonLabel || 'Close') | translate\">\r\n <span aria-hidden=\"true\">×</span>\r\n </button>\r\n </div>\r\n\r\n <div class=\"about-modal-body\">\r\n <div class=\"row align-items-start\">\r\n <div class=\"col-4\">\r\n @if (config.logoUrl) {\r\n <img [src]=\"config.logoUrl\" alt=\"Logo\" class=\"img-fluid about-logo\">\r\n }\r\n </div>\r\n <div class=\"col-8\">\r\n <h3 class=\"about-product-name\">{{ config.title || 'AboutSkyBayan' | translate }}</h3>\r\n <p class=\"about-version-text mb-1\">{{ (config.versionLabel || 'Version') | translate }} {{ config.version || '' }}</p>\r\n <p class=\"about-up-to-date mb-2\">\r\n <fa-icon [icon]=\"checkCircleIcon\" class=\"text-info me-1\"></fa-icon>\r\n <small class=\"text-muted\">{{ (config.statusLabel || 'SkyBayanUpToDate') | translate }}</small>\r\n </p>\r\n <p class=\"about-copyright mb-0\">{{ config.copyright || '' }}</p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"about-modal-actions\">\r\n <button type=\"button\" class=\"about-action-btn\" (click)=\"licenseClick.emit()\">{{ (config.licenseButtonLabel || 'LicenseInformation') | translate }}</button>\r\n <button type=\"button\" class=\"about-action-btn\" (click)=\"releaseNotesClick.emit()\">{{ (config.releaseNotesButtonLabel || 'ReleaseNotes') | translate }}</button>\r\n <button type=\"button\" class=\"about-action-btn\" (click)=\"supportClick.emit()\">{{ (config.supportButtonLabel || 'TechnicalSupport') | translate }}</button>\r\n </div>\r\n </div>\r\n </div>\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, signal } from '@angular/core';\r\nimport { DxFormComponent, DxFormModule, DxPopupModule } from 'devextreme-angular';\r\nimport { SkyFooterActionsComponent, TranslatePipe } from '@skysoftware-co/sky-components-ui';\r\nimport {\r\n TopMenuWidgetChangePasswordDialogConfig,\r\n TopMenuWidgetChangePasswordPayload,\r\n} from '../../top-menu-widget.models';\r\n\r\n@Component({\r\n selector: 'bayan-core-change-password-widget',\r\n standalone: true,\r\n imports: [CommonModule, DxPopupModule, DxFormModule, SkyFooterActionsComponent, TranslatePipe],\r\n templateUrl: './change-password-widget.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class BayanCoreChangePasswordWidgetComponent {\r\n @Input() baseUrl = '';\r\n @Input() visible = false;\r\n @Input({ required: true }) config!: TopMenuWidgetChangePasswordDialogConfig;\r\n @Input() isSubmitting = false;\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n @Output() submitPasswordChange = new EventEmitter<TopMenuWidgetChangePasswordPayload>();\r\n\r\n @ViewChild('changePasswordForm') changePasswordForm?: DxFormComponent;\r\n\r\n readonly currentPasswordMode = signal<'password' | 'text'>('password');\r\n readonly newPasswordMode = signal<'password' | 'text'>('password');\r\n readonly confirmNewPasswordMode = signal<'password' | 'text'>('password');\r\n\r\n formData: TopMenuWidgetChangePasswordPayload = {\r\n currentPassword: '',\r\n newPassword: '',\r\n confirmNewPassword: '',\r\n };\r\n\r\n closeDialog(): void {\r\n this.visible = false;\r\n this.visibleChange.emit(false);\r\n this.resetForm();\r\n }\r\n\r\n resetForm(): void {\r\n this.formData = {\r\n currentPassword: '',\r\n newPassword: '',\r\n confirmNewPassword: '',\r\n };\r\n }\r\n\r\n onSaveButtonClick(): void {\r\n const isValid = this.changePasswordForm?.instance.validate().isValid ?? false;\r\n if (!isValid) {\r\n return;\r\n }\r\n\r\n this.submitPasswordChange.emit({ ...this.formData });\r\n }\r\n\r\n togglePasswordMode(field: 'currentPasswordMode' | 'newPasswordMode' | 'confirmNewPasswordMode'): void {\r\n const current = this[field]();\r\n this[field].set(current === 'text' ? 'password' : 'text');\r\n }\r\n\r\n updateField(field: keyof TopMenuWidgetChangePasswordPayload, value: string): void {\r\n this.formData = {\r\n ...this.formData,\r\n [field]: value,\r\n };\r\n }\r\n\r\n isChangePasswordValid(): boolean {\r\n return !!this.formData.currentPassword && !!this.formData.newPassword && !!this.formData.confirmNewPassword && this.formData.newPassword === this.formData.confirmNewPassword;\r\n }\r\n\r\n getCurrentPasswordEditorOptions(): object {\r\n return {\r\n maxLength: 256,\r\n disabled: this.isSubmitting,\r\n mode: this.currentPasswordMode(),\r\n onValueChanged: (event: { value?: string }) => this.updateField('currentPassword', event.value ?? ''),\r\n buttons: [{\r\n name: 'password',\r\n location: 'after',\r\n options: {\r\n stylingMode: 'text',\r\n icon: this.currentPasswordMode() === 'text' ? 'eyeopen' : 'eyeclose',\r\n onClick: () => this.togglePasswordMode('currentPasswordMode'),\r\n },\r\n }],\r\n };\r\n }\r\n\r\n getNewPasswordEditorOptions(): object {\r\n return {\r\n maxLength: 256,\r\n disabled: this.isSubmitting,\r\n mode: this.newPasswordMode(),\r\n onValueChanged: (event: { value?: string }) => this.updateField('newPassword', event.value ?? ''),\r\n buttons: [{\r\n name: 'password',\r\n location: 'after',\r\n options: {\r\n stylingMode: 'text',\r\n icon: this.newPasswordMode() === 'text' ? 'eyeopen' : 'eyeclose',\r\n onClick: () => this.togglePasswordMode('newPasswordMode'),\r\n },\r\n }],\r\n };\r\n }\r\n\r\n getConfirmPasswordEditorOptions(): object {\r\n return {\r\n maxLength: 256,\r\n disabled: this.isSubmitting,\r\n mode: this.confirmNewPasswordMode(),\r\n onValueChanged: (event: { value?: string }) => this.updateField('confirmNewPassword', event.value ?? ''),\r\n buttons: [{\r\n name: 'password',\r\n location: 'after',\r\n options: {\r\n stylingMode: 'text',\r\n icon: this.confirmNewPasswordMode() === 'text' ? 'eyeopen' : 'eyeclose',\r\n onClick: () => this.togglePasswordMode('confirmNewPasswordMode'),\r\n },\r\n }],\r\n };\r\n }\r\n\r\n passwordComparison = (): string => this.formData.newPassword;\r\n}\r\n","<dx-popup\r\n [visible]=\"visible\"\r\n (onHiding)=\"closeDialog()\"\r\n [title]=\"config.title | translate\"\r\n [showCloseButton]=\"true\"\r\n [width]=\"450\"\r\n [height]=\"'auto'\"\r\n [dragEnabled]=\"false\"\r\n [shading]=\"true\"\r\n shadingColor=\"rgba(0,0,0,0.4)\">\r\n <div *dxTemplate=\"let data of 'content'\">\r\n <dx-form\r\n #changePasswordForm\r\n [formData]=\"formData\"\r\n labelLocation=\"top\"\r\n [showColonAfterLabel]=\"false\"\r\n class=\"mb-3 mx-2\">\r\n <dxi-item\r\n dataField=\"currentPassword\"\r\n editorType=\"dxTextBox\"\r\n [editorOptions]=\"getCurrentPasswordEditorOptions()\">\r\n <dxo-label [text]=\"config.currentPasswordLabel | translate\"></dxo-label>\r\n <dxi-validation-rule type=\"required\"></dxi-validation-rule>\r\n </dxi-item>\r\n\r\n <dxi-item\r\n dataField=\"newPassword\"\r\n editorType=\"dxTextBox\"\r\n [editorOptions]=\"getNewPasswordEditorOptions()\">\r\n <dxo-label [text]=\"config.newPasswordLabel | translate\"></dxo-label>\r\n <dxi-validation-rule type=\"required\"></dxi-validation-rule>\r\n </dxi-item>\r\n\r\n <dxi-item\r\n dataField=\"confirmNewPassword\"\r\n editorType=\"dxTextBox\"\r\n [editorOptions]=\"getConfirmPasswordEditorOptions()\">\r\n <dxo-label [text]=\"config.confirmNewPasswordLabel | translate\"></dxo-label>\r\n <dxi-validation-rule type=\"required\"></dxi-validation-rule>\r\n <dxi-validation-rule\r\n type=\"compare\"\r\n [comparisonTarget]=\"passwordComparison\">\r\n </dxi-validation-rule>\r\n </dxi-item>\r\n </dx-form>\r\n\r\n <sky-footer-actions\r\n [primaryButtonText]=\"config.primaryButtonText | translate\"\r\n [showSecondaryButton]=\"false\"\r\n [isLoading]=\"isSubmitting\"\r\n [disabledPrimaryButton]=\"isSubmitting || !isChangePasswordValid()\"\r\n (PrimaryButtonClick)=\"onSaveButtonClick()\">\r\n </sky-footer-actions>\r\n </div>\r\n</dx-popup>\r\n","import { CommonModule, DOCUMENT } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges, ViewChild, inject } from '@angular/core';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport {\r\n faDollar,\r\n faGraduationCap,\r\n faGrid,\r\n faMedal,\r\n faRightLeft,\r\n faTools,\r\n faUsers,\r\n} from '@fortawesome/pro-solid-svg-icons';\r\nimport { faClock } from '@fortawesome/pro-light-svg-icons';\r\nimport { Router } from '@angular/router';\r\nimport { DxAutocompleteComponent, DxAutocompleteModule } from 'devextreme-angular';\r\nimport { TranslatePipe } from '@skysoftware-co/sky-components-ui';\r\nimport { TopMenuWidgetSearchItem } from '../../top-menu-widget.models';\r\nimport { isExternalNavigation, resolveUrl } from '../../../shared/common-methods/navigation.utils';\r\n\r\n@Component({\r\n selector: 'bayan-core-global-search-widget',\r\n standalone: true,\r\n imports: [CommonModule, DxAutocompleteModule, FontAwesomeModule, TranslatePipe],\r\n templateUrl: './global-search-widget.component.html',\r\n styleUrls: ['../../top-menu-widget.styles.css'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class BayanCoreGlobalSearchWidgetComponent implements OnChanges {\r\n private readonly document = inject(DOCUMENT);\r\n private readonly router = inject(Router);\r\n\r\n @ViewChild('searchAutoComplete') searchAutoComplete?: DxAutocompleteComponent;\r\n\r\n @Input() baseUrl = '';\r\n @Input() ActivePropertyChanged = false;\r\n @Input() placeholder = 'TopMenu.SearchPlaceholder';\r\n @Input() dataSource: TopMenuWidgetSearchItem[] = [];\r\n\r\n @Output() search = new EventEmitter<string>();\r\n @Output() itemNavigate = new EventEmitter<TopMenuWidgetSearchItem>();\r\n\r\n readonly toolsIcon = faTools;\r\n readonly gridIcon = faGrid;\r\n readonly creditIcon = faDollar;\r\n readonly usersIcon = faUsers;\r\n readonly clockIcon = faClock;\r\n readonly swapIcon = faRightLeft;\r\n readonly medalIcon = faMedal;\r\n readonly graduateIcon = faGraduationCap;\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (\r\n changes['ActivePropertyChanged']\r\n && !changes['ActivePropertyChanged'].firstChange\r\n && changes['ActivePropertyChanged'].previousValue !== changes['ActivePropertyChanged'].currentValue\r\n ) {\r\n this.reset();\r\n }\r\n }\r\n\r\n onInput(event: { event?: { target?: { value?: string } }; component?: { option: (name: string, value: string) => void } } | any): void {\r\n const searchTerm = event.event?.target?.value;\r\n if (typeof searchTerm === 'string' && searchTerm.startsWith(' ')) {\r\n event.component?.option('value', searchTerm.trim());\r\n }\r\n }\r\n\r\n onEnterKey(event: { event?: { target?: { value?: string } } } | any): void {\r\n const searchTerm = (event.event?.target?.value ?? '').toString().trim();\r\n if (!searchTerm) {\r\n return;\r\n }\r\n\r\n const match = this.dataSource.find(\r\n (item) => item.menuSubTitle.toLowerCase().trim() === searchTerm.toLowerCase().trim(),\r\n );\r\n\r\n if (match) {\r\n this.itemNavigate.emit(match);\r\n return;\r\n }\r\n\r\n this.search.emit(searchTerm);\r\n }\r\n\r\n onItemSelected(event: Event, item: TopMenuWidgetSearchItem): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.itemNavigate.emit(item);\r\n this.navigateToUrl(item.menuUrl);\r\n }\r\n\r\n reset(): void {\r\n this.searchAutoComplete?.instance?.option('value', '');\r\n }\r\n\r\n getText(text: string, isTranslatable = false): string {\r\n return isTranslatable ? text : text;\r\n }\r\n\r\n hasNavigationUrl(url: string | null | undefined): boolean {\r\n return !!resolveUrl(this.baseUrl, url);\r\n }\r\n\r\n private navigateToUrl(url: string | null | undefined): void {\r\n if (!url) {\r\n return;\r\n }\r\n\r\n const resolvedUrl = resolveUrl(this.baseUrl, url);\r\n\r\n if (!resolvedUrl) {\r\n return;\r\n }\r\n\r\n if (isExternalNavigation(this.baseUrl, url)) {\r\n this.document.location.assign(resolvedUrl);\r\n return;\r\n }\r\n\r\n void this.router.navigateByUrl(resolvedUrl);\r\n }\r\n}\r\n","<div class=\"top-menu-widget__search\">\r\n <dx-autocomplete\r\n #searchAutoComplete\r\n [placeholder]=\"placeholder | translate\"\r\n [dataSource]=\"dataSource\"\r\n valueExpr=\"menuSubTitle\"\r\n [searchExpr]=\"['menuSubTitle']\"\r\n [showClearButton]=\"false\"\r\n [showDropDownButton]=\"false\"\r\n searchMode=\"contains\"\r\n [width]=\"'100%'\"\r\n stylingMode=\"filled\"\r\n [wrapItemText]=\"true\"\r\n [searchTimeout]=\"100\"\r\n (onInput)=\"onInput($event)\"\r\n (onEnterKey)=\"onEnterKey($event)\">\r\n <div class=\"w-100\" *dxTemplate=\"let item of 'item'\">\r\n @if (hasNavigationUrl(item.menuUrl)) {\r\n <a\r\n class=\"top-menu-widget__search-item\"\r\n (click)=\"onItemSelected($event, item)\">\r\n <div class=\"top-menu-widget__search-item-title\">\r\n @if (item.iconClass === 'icon icon-tools') {\r\n <fa-icon [icon]=\"toolsIcon\"></fa-icon>\r\n }\r\n @if (item.iconClass === 'icon icon-grid') {\r\n <fa-icon [icon]=\"gridIcon\"></fa-icon>\r\n }\r\n @if (item.iconClass === 'icon icon-credit') {\r\n <fa-icon [icon]=\"creditIcon\"></fa-icon>\r\n }\r\n @if (item.iconClass === 'icon icon-users') {\r\n <fa-icon [icon]=\"usersIcon\"></fa-icon>\r\n }\r\n @if (item.iconClass === 'icon icon-clock') {\r\n <fa-icon [icon]=\"clockIcon\"></fa-icon>\r\n }\r\n @if (item.iconClass === 'icon icon-swap') {\r\n <fa-icon [icon]=\"swapIcon\"></fa-icon>\r\n }\r\n @if (item.iconClass === 'icon icon-medal') {\r\n <fa-icon [icon]=\"medalIcon\"></fa-icon>\r\n }\r\n @if (item.iconClass === 'icon icon-graduation-cap') {\r\n <fa-icon [icon]=\"graduateIcon\"></fa-icon>\r\n }\r\n\r\n @if (item.isTranslatable) {\r\n {{ item.menuTitle | translate }}\r\n } @else {\r\n {{ item.menuTitle }}\r\n }\r\n </div>\r\n\r\n <div class=\"top-menu-widget__search-item-subtitle\">\r\n @if (item.isTranslatable) {\r\n {{ item.menuSubTitle | translate }}\r\n } @else {\r\n {{ item.menuSubTitle }}\r\n }\r\n </div>\r\n </a>\r\n } @else {\r\n <button\r\n type=\"button\"\r\n class=\"top-menu-widget__search-item\"\r\n (click)=\"onItemSelected($event, item)\">\r\n <div class=\"top-menu-widget__search-item-title\">\r\n @if (item.iconClass === 'icon icon-tools') {\r\n <fa-icon [icon]=\"toolsIcon\"></fa-icon>\r\n }\r\n @if (item.iconClass === 'icon icon-grid') {\r\n <fa-icon [icon]=\"gridIcon\"></fa-icon>\r\n }\r\n @if (item.iconClass === 'icon icon-credit') {\r\n <fa-icon [icon]=\"creditIcon\"></fa-icon>\r\n }\r\n @if (item.iconClass === 'icon icon-users') {\r\n <fa-icon [icon]=\"usersIcon\"></fa-icon>\r\n }\r\n @if (item.iconClass === 'icon icon-clock') {\r\n <fa-icon [icon]=\"clockIcon\"></fa-icon>\r\n }\r\n @if (item.iconClass === 'icon icon-swap') {\r\n <fa-icon [icon]=\"swapIcon\"></fa-icon>\r\n }\r\n @if (item.iconClass === 'icon icon-medal') {\r\n <fa-icon [icon]=\"medalIcon\"></fa-icon>\r\n }\r\n @if (item.iconClass === 'icon icon-graduation-cap') {\r\n <fa-icon [icon]=\"graduateIcon\"></fa-icon>\r\n }\r\n\r\n @if (item.isTranslatable) {\r\n {{ item.menuTitle | translate }}\r\n } @else {\r\n {{ item.menuTitle }}\r\n }\r\n </div>\r\n\r\n <div class=\"top-menu-widget__search-item-subtitle\">\r\n @if (item.isTranslatable) {\r\n {{ item.menuSubTitle | translate }}\r\n } @else {\r\n {{ item.menuSubTitle }}\r\n }\r\n </div>\r\n </button>\r\n }\r\n </div>\r\n </dx-autocomplete>\r\n</div>\r\n","import { CommonModule, DOCUMENT } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n OnChanges,\r\n Output,\r\n SimpleChanges,\r\n inject,\r\n signal,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { TranslatePipe } from '@skysoftware-co/sky-components-ui';\r\nimport { TopMenuWidgetItem } from '../../top-menu-widget.models';\r\nimport { isExternalNavigation, resolveUrl } from '../../../shared/common-methods/navigation.utils';\r\n\r\n@Component({\r\n selector: 'bayan-core-item-widget',\r\n standalone: true,\r\n imports: [CommonModule, TranslatePipe],\r\n templateUrl: './item-widget.component.html',\r\n styleUrls: ['../../top-menu-widget.styles.css'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class BayanCoreItemWidgetComponent implements OnChanges {\r\n private readonly document = inject(DOCUMENT);\r\n private readonly router = inject(Router);\r\n\r\n @Input() baseUrl = '';\r\n @Input() ActivePropertyChanged = false;\r\n @Input({ required: true }) item!: TopMenuWidgetItem;\r\n @Output() itemClick = new EventEmitter<TopMenuWidgetItem>();\r\n\r\n readonly open = signal(false);\r\n\r\n constructor(private readonly elementRef: ElementRef<HTMLElement>) {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (\r\n changes['ActivePropertyChanged']\r\n && !changes['ActivePropertyChanged'].firstChange\r\n && changes['ActivePropertyChanged'].previousValue !== changes['ActivePropertyChanged'].currentValue\r\n ) {\r\n this.open.set(false);\r\n }\r\n }\r\n\r\n @HostListener('document:click', ['$event'])\r\n onDocumentClick(event: MouseEvent): void {\r\n const target = event.target as Node | null;\r\n if (target && !this.elementRef.nativeElement.contains(target)) {\r\n this.open.set(false);\r\n }\r\n }\r\n\r\n hasChildren(): boolean {\r\n return (this.item.children ?? []).length > 0;\r\n }\r\n\r\n hasNavigationUrl(url: string | null | undefined): boolean {\r\n return !!resolveUrl(this.baseUrl, url);\r\n }\r\n\r\n onItemActivated(event: Event): void {\r\n event.preventDefault();\r\n\r\n if (this.hasChildren()) {\r\n event.stopPropagation();\r\n this.open.update((value) => !value);\r\n return;\r\n }\r\n\r\n this.itemClick.emit(this.item);\r\n this.navigateToUrl(this.item.menuUrl);\r\n }\r\n\r\n onChildItemClick(item: TopMenuWidgetItem): void {\r\n this.open.set(false);\r\n this.itemClick.emit(item);\r\n }\r\n\r\n private navigateToUrl(url: string | null | undefined): void {\r\n if (!url) {\r\n return;\r\n }\r\n\r\n const resolvedUrl = resolveUrl(this.baseUrl, url);\r\n\r\n if (!resolvedUrl) {\r\n return;\r\n }\r\n\r\n if (isExternalNavigation(this.baseUrl, url)) {\r\n this.document.location.assign(resolvedUrl);\r\n return;\r\n }\r\n\r\n void this.router.navigateByUrl(resolvedUrl);\r\n }\r\n}\r\n","@if (!hasChildren()) {\r\n <li class=\"nav-item\">\r\n @if (hasNavigationUrl(item.menuUrl)) {\r\n <a\r\n class=\"nav-link\"\r\n (click)=\"onItemActivated($event)\">\r\n {{ item.menuName | translate }}\r\n </a>\r\n } @else {\r\n <button\r\n type=\"button\"\r\n class=\"nav-link\"\r\n (click)=\"onItemActivated($event)\">\r\n {{ item.menuName | translate }}\r\n </button>\r\n }\r\n </li>\r\n}\r\n\r\n@if (hasChildren()) {\r\n <li class=\"nav-item dropdown\" [class.open]=\"open()\">\r\n <button type=\"button\" class=\"nav-link dropdown-toggle\" (click)=\"onItemActivated($event)\">\r\n {{ item.menuName | translate }} <span class=\"caret\"></span>\r\n </button>\r\n\r\n @if (open()) {\r\n <ul class=\"dropdown-menu menu-dropdown-panel\">\r\n @for (child of item.children; track child.id ?? child.menuName) {\r\n <bayan-core-item-widget\r\n [baseUrl]=\"baseUrl\"\r\n [ActivePropertyChanged]=\"ActivePropertyChanged\"\r\n [item]=\"child\"\r\n (itemClick)=\"onChildItemClick($event)\">\r\n </bayan-core-item-widget>\r\n }\r\n </ul>\r\n }\r\n </li>\r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable, inject } from '@angular/core';\r\nimport { catchError, map, Observable, throwError } from 'rxjs';\r\nimport {\r\n ApiEnvelope,\r\n AppFramePreferences,\r\n BlockableModule,\r\n BlockReleaseModuleRequest,\r\n ChangePasswordRequest,\r\n GlobalSearchMenu,\r\n ModuleBlockState,\r\n NotificationsSummary,\r\n SetDisplayAlternateNamesRequest,\r\n SetEmployeeNamesModeRequest,\r\n SwitchPropertyRequest,\r\n SwitchPropertyResult,\r\n SystemMenu,\r\n SystemModule,\r\n TopMenuShortcut,\r\n UserPanel,\r\n} from './menu.dtos';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class BayanCoreTopMenuService {\r\n private readonly http = inject(HttpClient);\r\n\r\n private unwrap<T>(obs: Observable<ApiEnvelope<T>>): Observable<T> {\r\n return obs.pipe(\r\n map((env) => {\r\n if (!env.ResponseData) {\r\n throw new Error('No data received');\r\n }\r\n\r\n return env.ResponseData;\r\n }),\r\n catchError((error) => throwError(() => error)),\r\n );\r\n }\r\n\r\n private getBaseUrl(baseUrl: string): string {\r\n return `${baseUrl.replace(/\\/$/, '')}/${baseUrl.replace('/api','')}/api/app-frame`;\r\n }\r\n\r\n getMicroserviceMenusByProperty(\r\n baseUrl: string,\r\n propertyId: number | string,\r\n systemModule: SystemModule,\r\n ): Observable<SystemMenu[]> {\r\n const params = new HttpParams()\r\n .set('PropertyId', propertyId)\r\n .set('SystemModule', systemModule);\r\n\r\n return this.unwrap(\r\n this.http.get<ApiEnvelope<SystemMenu[]>>(`${this.getBaseUrl(baseUrl)}/left-menu`, { params }),\r\n );\r\n }\r\n\r\n getMicroserviceTopMenusShortcut(\r\n baseUrl: string,\r\n propertyId: number | string,\r\n systemModule: SystemModule,\r\n ): Observable<TopMenuShortcut[]> {\r\n const params = new HttpParams()\r\n .set('PropertyId', propertyId)\r\n .set('SystemModule', systemModule);\r\n\r\n return this.unwrap(\r\n this.http.get<ApiEnvelope<TopMenuShortcut[]>>(`${this.getBaseUrl(baseUrl)}/top-shortcuts`, {\r\n params,\r\n }),\r\n );\r\n }\r\n\r\n getGlobalSearchMenus(baseUrl: string, propertyId?: number): Observable<GlobalSearchMenu[]> {\r\n let params = new HttpParams();\r\n\r\n if (propertyId != null) {\r\n params = params.set('PropertyId', propertyId);\r\n }\r\n\r\n return this.unwrap(\r\n this.http.get<ApiEnvelope<GlobalSearchMenu[]>>(\r\n `${this.getBaseUrl(baseUrl)}/global-search-menu`,\r\n { params },\r\n ),\r\n );\r\n }\r\n\r\n getUserPanel(baseUrl: string): Observable<UserPanel> {\r\n return this.unwrap(this.http.get<ApiEnvelope<UserPanel>>(`${this.getBaseUrl(baseUrl)}/user-panel`));\r\n }\r\n\r\n switchProperty(baseUrl: string, request: SwitchPropertyRequest): Observable<SwitchPropertyResult> {\r\n return this.unwrap(\r\n this.http.post<ApiEnvelope<SwitchPropertyResult>>(\r\n `${this.getBaseUrl(baseUrl)}/switch-property`,\r\n request,\r\n ),\r\n );\r\n }\r\n\r\n getPreferences(baseUrl: string): Observable<AppFramePreferences> {\r\n return this.unwrap(\r\n this.http.get<ApiEnvelope<AppFramePreferences>>(`${this.getBaseUrl(baseUrl)}/preferences`),\r\n );\r\n }\r\n\r\n setDisplayAlternateNames(\r\n baseUrl: string,\r\n request: SetDisplayAlternateNamesRequest,\r\n ): Observable<void> {\r\n return this.http.post<void>(`${this.getBaseUrl(baseUrl)}/preferences/alternate-names`, request);\r\n }\r\n\r\n setEmployeeNamesMode(baseUrl: string, request: SetEmployeeNamesModeRequest): Observable<void> {\r\n return this.http.post<void>(\r\n `${this.getBaseUrl(baseUrl)}/preferences/employee-names-mode`,\r\n request,\r\n );\r\n }\r\n\r\n getModuleBlockState(\r\n baseUrl: string,\r\n systemModule: SystemModule | BlockableModule,\r\n ): Observable<ModuleBlockState> {\r\n const params = new HttpParams().set('SystemModule', systemModule);\r\n\r\n return this.unwrap(\r\n this.http.get<ApiEnvelope<ModuleBlockState>>(`${this.getBaseUrl(baseUrl)}/module-block-state`, {\r\n params,\r\n }),\r\n );\r\n }\r\n\r\n blockModule(baseUrl: string, request: BlockReleaseModuleRequest): Observable<void> {\r\n return this.http.post<void>(`${this.getBaseUrl(baseUrl)}/block-module`, request);\r\n }\r\n\r\n releaseModule(baseUrl: string, request: BlockReleaseModuleRequest): Observable<void> {\r\n return this.http.post<void>(`${this.getBaseUrl(baseUrl)}/release-module`, request);\r\n }\r\n\r\n getNotificationsSummary(baseUrl: string): Observable<NotificationsSummary> {\r\n return this.unwrap(\r\n this.http.get<ApiEnvelope<NotificationsSummary>>(\r\n `${this.getBaseUrl(baseUrl)}/notifications-summary`,\r\n ),\r\n );\r\n }\r\n\r\n changePassword(baseUrl: string, request: ChangePasswordRequest): Observable<boolean> {\r\n return this.http.post<boolean>(`${this.getBaseUrl(baseUrl)}/change-password`, request);\r\n }\r\n}\r\n","import { CommonModule, DOCUMENT } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges,\r\n inject,\r\n signal,\r\n} from '@angular/core';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { faBell } from '@fortawesome/pro-solid-svg-icons';\r\nimport { Router } from '@angular/router';\r\nimport { TranslatePipe } from '@skysoftware-co/sky-components-ui';\r\nimport { isExternalNavigation, resolveUrl } from '../../../shared/common-methods/navigation.utils';\r\nimport { NotificationsSummary } from '../../../shared/menu.dtos';\r\nimport { BayanCoreTopMenuService } from '../../../shared/menu.service';\r\n\r\n@Component({\r\n selector: 'bayan-core-notifications-widget',\r\n standalone: true,\r\n imports: [CommonModule, FontAwesomeModule, TranslatePipe],\r\n templateUrl: './notifications-widget.component.html',\r\n styleUrls: ['../../top-menu-widget.styles.css'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class BayanCoreNotificationsWidgetComponent implements OnInit, OnChanges {\r\n private readonly document = inject(DOCUMENT);\r\n private readonly router = inject(Router);\r\n private readonly topMenuService = inject(BayanCoreTopMenuService);\r\n\r\n @Input() baseUrl = '';\r\n @Input() title = 'Notifications';\r\n @Input() wrapperClass = 'notifications-icon-wrap menu-dropdown-host';\r\n @Input() linkClass = 'menu-icon-btn cursor-pointer top-menu-widget__notification-btn';\r\n @Input() iconClass = 'fs-6';\r\n @Input() badgeClass = 'top-menu-widget__notification-badge';\r\n\r\n readonly bellIcon = faBell;\r\n readonly notificationsSummary = signal<NotificationsSummary>({\r\n NotificationsUrl: '',\r\n TotalNotificationsCount: 0,\r\n });\r\n\r\n ngOnInit(): void {\r\n this.loadNotificationsSummary();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['baseUrl'] && !changes['baseUrl'].firstChange) {\r\n this.loadNotificationsSummary();\r\n }\r\n }\r\n\r\n onNotificationClick(event?: Event): void {\r\n event?.preventDefault();\r\n const rawNotificationUrl = this.notificationsSummary().NotificationsUrl;\r\n const notificationUrl = resolveUrl(this.baseUrl, rawNotificationUrl);\r\n\r\n if (notificationUrl) {\r\n if (rawNotificationUrl && isExternalNavigation(this.baseUrl, rawNotificationUrl)) {\r\n this.document.location.assign(notificationUrl);\r\n } else {\r\n void this.router.navigateByUrl(notificationUrl);\r\n }\r\n }\r\n }\r\n\r\n private loadNotificationsSummary(): void {\r\n if (!this.baseUrl) {\r\n this.resetNotificationsData();\r\n return;\r\n }\r\n\r\n this.topMenuService.getNotificationsSummary(this.baseUrl).subscribe({\r\n next: (summary) => {\r\n this.notificationsSummary.set({\r\n NotificationsUrl: summary.NotificationsUrl,\r\n TotalNotificationsCount: summary.TotalNotificationsCount,\r\n });\r\n },\r\n error: () => {\r\n this.resetNotificationsData();\r\n },\r\n });\r\n }\r\n\r\n private resetNotificationsData(): void {\r\n this.notificationsSummary.set({\r\n NotificationsUrl: '',\r\n TotalNotificationsCount: 0,\r\n });\r\n }\r\n}\r\n","<div [class]=\"wrapperClass\">\r\n <a [class]=\"linkClass\"\r\n [title]=\"title | translate\"\r\n (click)=\"onNotificationClick($event)\">\r\n <fa-icon [class]=\"iconClass\" [icon]=\"bellIcon\"></fa-icon>\r\n @if ((notificationsSummary().TotalNotificationsCount || 0) > 0) {\r\n <span [class]=\"badgeClass\">{{ notificationsSummary().TotalNotificationsCount }}</span>\r\n }\r\n </a>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n OnChanges,\r\n Output,\r\n SimpleChanges,\r\n signal,\r\n} from '@angular/core';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { faCheck, faCog, faInfoCircle } from '@fortawesome/pro-solid-svg-icons';\r\nimport { TranslatePipe } from '@skysoftware-co/sky-components-ui';\r\nimport { TopMenuWidgetNameModeItem } from '../../top-menu-widget.models';\r\n\r\n@Component({\r\n selector: 'bayan-core-settings-widget',\r\n standalone: true,\r\n imports: [CommonModule, FontAwesomeModule, TranslatePipe],\r\n templateUrl: './settings-widget.component.html',\r\n styleUrls: ['../../top-menu-widget.styles.css'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class BayanCoreSettingsWidgetComponent implements OnChanges {\r\n @Input() ActivePropertyChanged = false;\r\n @Input() useAlternateNames = false;\r\n @Input() displayAlternateNames = false;\r\n @Input() hrBlocked = false;\r\n @Input() hrCanBlock = false;\r\n @Input() tkBlocked = false;\r\n @Input() tkCanBlock = false;\r\n @Input() nameModeItems: TopMenuWidgetNameModeItem[] = [];\r\n @Input() settingsEnabled = true;\r\n\r\n @Output() alternateNamesChange = new EventEmitter<void>();\r\n @Output() nameModeChange = new EventEmitter<number>();\r\n @Output() blockHrClick = new EventEmitter<void>();\r\n @Output() releaseHrClick = new EventEmitter<void>();\r\n @Output() blockTkClick = new EventEmitter<void>();\r\n @Output() releaseTkClick = new EventEmitter<void>();\r\n @Output() changePasswordClick = new EventEmitter<void>();\r\n @Output() openAboutClick = new EventEmitter<void>();\r\n\r\n readonly checkIcon = faCheck;\r\n readonly cogIcon = faCog;\r\n readonly infoIcon = faInfoCircle;\r\n readonly dropdownOpen = signal(false);\r\n\r\n constructor(private readonly elementRef: ElementRef<HTMLElement>) {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (\r\n changes['ActivePropertyChanged']\r\n && !changes['ActivePropertyChanged'].firstChange\r\n && changes['ActivePropertyChanged'].previousValue !== changes['ActivePropertyChanged'].currentValue\r\n ) {\r\n this.dropdownOpen.set(false);\r\n }\r\n }\r\n\r\n @HostListener('document:click', ['$event'])\r\n onDocumentClick(event: MouseEvent): void {\r\n const target = event.target as Node | null;\r\n if (target && !this.elementRef.nativeElement.contains(target)) {\r\n this.dropdownOpen.set(false);\r\n }\r\n }\r\n\r\n toggleDropdown(event: Event): void {\r\n event.preventDefault();\r\n this.dropdownOpen.update((value) => !value);\r\n }\r\n\r\n onAlternateNamesClick(event: Event): void {\r\n event.preventDefault();\r\n if (!this.settingsEnabled) {\r\n return;\r\n }\r\n\r\n this.alternateNamesChange.emit();\r\n }\r\n\r\n onNameModeClick(index: number, event: Event): void {\r\n event.preventDefault();\r\n if (!this.settingsEnabled) {\r\n return;\r\n }\r\n\r\n this.dropdownOpen.set(false);\r\n this.nameModeChange.emit(index);\r\n }\r\n\r\n emitAndClose(event: Event, emitter: EventEmitter<void>): void {\r\n event.preventDefault();\r\n this.dropdownOpen.set(false);\r\n emitter.emit();\r\n }\r\n}\r\n","<div class=\"dropdown menu-dropdown-host\" [class.open]=\"dropdownOpen()\">\r\n <button type=\"button\" class=\"settings-toggle menu-icon-btn\" (click)=\"toggleDropdown($event)\" [title]=\"'Settings' | translate\">\r\n <fa-icon [icon]=\"cogIcon\" class=\"fs-6\"></fa-icon>\r\n </button>\r\n\r\n @if (dropdownOpen()) {\r\n <ul class=\"settings-menu menu-dropdown-panel\">\r\n @if (useAlternateNames) {\r\n <li>\r\n <button type=\"button\" class=\"header-dropdown-item menu-row\" [disabled]=\"!settingsEnabled\" [class.disabled]=\"!settingsEnabled\" (click)=\"onAlternateNamesClick($event)\">\r\n @if (displayAlternateNames) {\r\n <fa-icon class=\"menu-indicator menu-indicator-active\" [icon]=\"checkIcon\"></fa-icon>\r\n } @else {\r\n <fa-icon class=\"menu-indicator invisible\" [icon]=\"checkIcon\"></fa-icon>\r\n }\r\n {{ 'DisplayAlternateNames' | translate }}\r\n </button>\r\n </li>\r\n <li><hr class=\"dropdown-divider\"></li>\r\n }\r\n\r\n @if (hrCanBlock) {\r\n <li>\r\n @if (hrBlocked) {\r\n <button type=\"button\" class=\"header-dropdown-item menu-row\" (click)=\"emitAndClose($event, releaseHrClick)\">\r\n <fa-icon class=\"menu-indicator menu-indicator-active\" [icon]=\"checkIcon\"></fa-icon>\r\n {{ 'ReleaseHR' | translate }}\r\n </button>\r\n } @else {\r\n <button type=\"button\" class=\"header-dropdown-item menu-row\" (click)=\"emitAndClose($event, blockHrClick)\">\r\n <fa-icon class=\"menu-indicator invisible\" [icon]=\"checkIcon\"></fa-icon>\r\n {{ 'BlockHR' | translate }}\r\n </button>\r\n }\r\n </li>\r\n }\r\n\r\n @if (tkCanBlock) {\r\n <li>\r\n @if (tkBlocked) {\r\n <button type=\"button\" class=\"header-dropdown-item menu-row\" (click)=\"emitAndClose($event, releaseTkClick)\">\r\n <fa-icon class=\"menu-indicator menu-indicator-active\" [icon]=\"checkIcon\"></fa-icon>\r\n {{ 'ReleaseTK' | translate }}\r\n </button>\r\n } @else {\r\n <button type=\"button\" class=\"header-dropdown-item menu-row\" (click)=\"emitAndClose($event, blockTkClick)\">\r\n <fa-icon class=\"menu-indicator invisible\" [icon]=\"checkIcon\"></fa-icon>\r\n {{ 'BlockTK' | translate }}\r\n </button>\r\n }\r\n </li>\r\n }\r\n\r\n @if (hrCanBlock || tkCanBlock) {\r\n <li><hr class=\"dropdown-divider\"></li>\r\n }\r\n\r\n @if (nameModeItems.length > 0) {\r\n <li>\r\n <span class=\"menu-section-label\">{{ 'EmployeeNamesMode' | translate }}</span>\r\n </li>\r\n\r\n @for (item of nameModeItems; track item.id; let index = $index) {\r\n <li>\r\n <button type=\"button\" class=\"header-dropdown-item menu-row\" [disabled]=\"!settingsEnabled\" [class.disabled]=\"!settingsEnabled\" (click)=\"onNameModeClick(index, $event)\">\r\n @if (item.selected) {\r\n <fa-icon class=\"menu-indicator menu-indicator-active\" [icon]=\"checkIcon\"></fa-icon>\r\n } @else {\r\n <fa-icon class=\"menu-indicator invisible\" [icon]=\"checkIcon\"></fa-icon>\r\n }\r\n {{ item.text }}\r\n </button>\r\n </li>\r\n }\r\n\r\n <li><hr class=\"dropdown-divider\"></li>\r\n }\r\n\r\n <li>\r\n <button type=\"button\" class=\"header-dropdown-item menu-row\" (click)=\"emitAndClose($event, changePasswordClick)\">\r\n <span class=\"menu-indicator\"></span>\r\n {{ 'ChangePassword' | translate }}\r\n </button>\r\n </li>\r\n\r\n <li><hr class=\"dropdown-divider\"></li>\r\n\r\n <li>\r\n <button type=\"button\" class=\"header-dropdown-item menu-row\" (click)=\"emitAndClose($event, openAboutClick)\">\r\n <fa-icon class=\"menu-indicator\" [icon]=\"infoIcon\"></fa-icon>\r\n {{ 'About' | translate }}\r\n </button>\r\n </li>\r\n </ul>\r\n }\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n computed,\r\n inject,\r\n signal,\r\n} from '@angular/core';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { faPersonRunning } from '@fortawesome/pro-solid-svg-icons';\r\nimport { BayanEmployeeBadgeComponent, BayanEmployeeBadgeDTO } from '@skysoftware-co/bayan-components-ui';\r\nimport { TranslatePipe } from '@skysoftware-co/sky-components-ui';\r\nimport { UserPanel, PropertyOption } from '../../../shared/menu.dtos';\r\nimport { BayanCoreTopMenuService } from '../../../shared/menu.service';\r\n\r\n@Component({\r\n selector: 'bayan-core-user-panel-widget',\r\n standalone: true,\r\n imports: [CommonModule, FontAwesomeModule, BayanEmployeeBadgeComponent, TranslatePipe],\r\n templateUrl: './user-panel-widget.component.html',\r\n styleUrls: ['../../top-menu-widget.styles.css'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class BayanCoreUserPanelWidgetComponent implements OnInit, OnChanges {\r\n private readonly topMenuService = inject(BayanCoreTopMenuService);\r\n\r\n @Input() baseUrl = '';\r\n @Input() wrapperClass = 'menu-dropdown-host';\r\n @Input() dropdownOpenClass = 'open';\r\n @Input() toggleButtonClass = 'employee-toggle';\r\n @Input() employeeInfoClass = 'employee-info';\r\n @Input() userNameClass = 'user-name';\r\n @Input() propertyNameClass = 'property-name';\r\n @Input() caretClass = 'employee-caret';\r\n @Input() menuClass = 'employee-menu menu-dropdown-panel';\r\n @Input() sectionLabelClass = 'menu-section-label';\r\n @Input() menuItemClass = 'menu-item';\r\n @Input() menuItemActiveClass = 'menu-item-active';\r\n @Input() indicatorClass = 'menu-indicator';\r\n @Input() invisibleIndicatorClass = 'invisible';\r\n @Input() dividerClass = 'menu-divider';\r\n @Input() signOutButtonClass = 'menu-item menu-item-signout';\r\n @Input() showSignOutIcon = true;\r\n @Input() signOutIconClass = 'mx-2';\r\n\r\n @Output() propertyChanged = new EventEmitter<PropertyOption>();\r\n @Output() signOutClick = new EventEmitter<void>();\r\n\r\n readonly signOutIcon = faPersonRunning;\r\n readonly dropdownOpen = signal(false);\r\n readonly userPanel = signal<UserPanel | null>(null);\r\n\r\n readonly badge = computed<BayanEmployeeBadgeDTO>(() => ({\r\n EmployeePhotoKey: this.userPanel()?.PhotoPath ?? null,\r\n EmployeePhotoFailed: false,\r\n EmployeeNameInitials: this.userPanel()?.NameInitials ?? '',\r\n }));\r\n\r\n constructor(private readonly elementRef: ElementRef<HTMLElement>) {}\r\n\r\n ngOnInit(): void {\r\n this.loadUserPanel();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['baseUrl'] && !changes['baseUrl'].firstChange) {\r\n this.loadUserPanel();\r\n }\r\n }\r\n\r\n @HostListener('document:click', ['$event'])\r\n onDocumentClick(event: MouseEvent): void {\r\n const target = event.target as Node | null;\r\n if (target && !this.elementRef.nativeElement.contains(target)) {\r\n this.dropdownOpen.set(false);\r\n }\r\n }\r\n\r\n toggleDropdown(event: Event): void {\r\n event.preventDefault();\r\n this.dropdownOpen.update((value) => !value);\r\n }\r\n\r\n selectProperty(event: Event, property: PropertyOption): void {\r\n event.preventDefault();\r\n if (property.PropertyId === this.userPanel()?.ActivePropertyId) {\r\n this.dropdownOpen.set(false);\r\n return;\r\n }\r\n\r\n this.dropdownOpen.set(false);\r\n\r\n this.topMenuService\r\n .switchProperty(this.baseUrl, { PropertyId: property.PropertyId })\r\n .subscribe({\r\n next: () => {\r\n this.topMenuService.getUserPanel(this.baseUrl).subscribe({\r\n next: (userPanel) => {\r\n this.userPanel.set(userPanel);\r\n this.propertyChanged.emit(property);\r\n },\r\n });\r\n },\r\n });\r\n }\r\n\r\n signOut(event: Event): void {\r\n event.preventDefault();\r\n this.dropdownOpen.set(false);\r\n this.signOutClick.emit();\r\n }\r\n\r\n private loadUserPanel(): void {\r\n if (!this.baseUrl) {\r\n this.userPanel.set(null);\r\n return;\r\n }\r\n\r\n this.topMenuService.getUserPanel(this.baseUrl).subscribe({\r\n next: (userPanel) => {\r\n this.userPanel.set(userPanel);\r\n },\r\n error: () => {\r\n this.userPanel.set(null);\r\n },\r\n });\r\n }\r\n}\r\n","<div [ngClass]=\"[wrapperClass, dropdownOpen() ? dropdownOpenClass : '']\">\r\n <button type=\"button\" [class]=\"toggleButtonClass\" (click)=\"toggleDropdown($event)\">\r\n <bayan-employee-badge [badge]=\"badge()\" width=\"34px\" height=\"34px\"></bayan-employee-badge>\r\n\r\n <div [class]=\"employeeInfoClass\">\r\n <span [class]=\"userNameClass\">{{ userPanel()?.UserDisplayName || '' }}</span>\r\n\r\n @if (userPanel()?.ActivePropertyName) {\r\n <span [class]=\"propertyNameClass\">{{ userPanel()?.ActivePropertyName }}</span>\r\n }\r\n </div>\r\n\r\n <span [class]=\"caretClass\">▼</span>\r\n </button>\r\n\r\n @if (dropdownOpen()) {\r\n <ul [class]=\"menuClass\">\r\n @if ((userPanel()?.Properties?.length || 0) > 0) {\r\n <li [class]=\"sectionLabelClass\">{{ 'Properties' | translate }}</li>\r\n\r\n @for (property of userPanel()?.Properties ?? []; track property.PropertyId) {\r\n <li>\r\n <button\r\n type=\"button\"\r\n [ngClass]=\"[menuItemClass, property.PropertyId === userPanel()?.ActivePropertyId ? menuItemActiveClass : '']\"\r\n (click)=\"selectProperty($event, property)\">\r\n @if (property.PropertyId === userPanel()?.ActivePropertyId) {\r\n <span [class]=\"indicatorClass\">►</span>\r\n } @else {\r\n <span [class]=\"indicatorClass + ' ' + invisibleIndicatorClass\"></span>\r\n }\r\n\r\n {{ property.PropertyName }}\r\n </button>\r\n </li>\r\n }\r\n\r\n <li><hr [class]=\"dividerClass\"></li>\r\n }\r\n\r\n @if (!userPanel()?.IsSSOLogin) {\r\n <li>\r\n <button type=\"button\" [class]=\"signOutButtonClass\" (click)=\"signOut($event)\">\r\n @if (showSignOutIcon) {\r\n <fa-icon [class]=\"signOutIconClass\" [icon]=\"signOutIcon\"></fa-icon>\r\n }\r\n {{ 'SignOut' | translate }}\r\n </button>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n</div>\r\n","import { PropertyOption, SystemModule } from '../shared/menu.dtos';\r\nimport { CommonModule, DOCUMENT } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output, inject, signal } from '@angular/core';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { IconDefinition } from '@fortawesome/fontawesome-svg-core';\r\nimport { faQuestionCircle } from '@fortawesome/pro-solid-svg-icons';\r\nimport { Router } from '@angular/router';\r\nimport { DxToolbarModule } from 'devextreme-angular';\r\nimport { TranslatePipe } from '@skysoftware-co/sky-components-ui';\r\nimport { isExternalNavigation, resolveUrl } from '../shared/common-methods/navigation.utils';\r\nimport {\r\n TopMenuWidgetAboutDialogConfig,\r\n TopMenuWidgetChangePasswordDialogConfig,\r\n TopMenuWidgetChangePasswordPayload,\r\n TopMenuWidgetItem,\r\n TopMenuWidgetNameModeItem,\r\n TopMenuWidgetSearchItem,\r\n} from './top-menu-widget.models';\r\nimport { BayanCoreAboutDialogWidgetComponent } from './components/about-dialog-widget/about-dialog-widget.component';\r\nimport { BayanCoreChangePasswordWidgetComponent } from './components/change-password-widget/change-password-widget.component';\r\nimport { BayanCoreGlobalSearchWidgetComponent } from './components/global-search-widget/global-search-widget.component';\r\nimport { BayanCoreItemWidgetComponent } from './components/item-widget/item-widget.component';\r\nimport { BayanCoreNotificationsWidgetComponent } from './components/notifications-widget/notifications-widget.component';\r\nimport { BayanCoreSettingsWidgetComponent } from './components/settings-widget/settings-widget.component';\r\nimport { BayanCoreUserPanelWidgetComponent } from './components/user-panel-widget/user-panel-widget.component';\r\n\r\n@Component({\r\n selector: 'bayan-core-top-menu-widget',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n DxToolbarModule,\r\n FontAwesomeModule,\r\n TranslatePipe,\r\n BayanCoreItemWidgetComponent,\r\n BayanCoreGlobalSearchWidgetComponent,\r\n BayanCoreUserPanelWidgetComponent,\r\n BayanCoreSettingsWidgetComponent,\r\n BayanCoreAboutDialogWidgetComponent,\r\n BayanCoreChangePasswordWidgetComponent,\r\n BayanCoreNotificationsWidgetComponent,\r\n ],\r\n templateUrl: './top-menu-widget.component.html',\r\n styleUrls: ['./top-menu-widget.styles.css'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class BayanCoreTopMenuWidgetComponent implements OnInit {\r\n private readonly document = inject(DOCUMENT);\r\n private readonly router = inject(Router);\r\n\r\n @Input() baseUrl = '';\r\n @Input() systemModule : SystemModule | null =null;\r\n\r\n @Input() sidebarCollapsed = false;\r\n\r\n @Input() homeUrl: string | null = null;\r\n @Input() logoUrl = 'https://cdn-dev.skysoftware.cloud/bayan/images/logo-enterprise-dark.png';\r\n @Input() collapsedLogoUrl = 'https://cdn-dev.skysoftware.cloud/bayan/images/logo-collapsed.png';\r\n @Output() logoClick = new EventEmitter<void>();\r\n\r\n @Input() searchPlaceholder = 'TopMenu.SearchPlaceholder';\r\n\r\n @Input() menuItems: TopMenuWidgetItem[] = [];\r\n @Input() searchItems: TopMenuWidgetSearchItem[] = [];\r\n\r\n @Input() isSsoLogin = false;\r\n @Input() useAlternateNames = false;\r\n @Input() displayAlternateNames = false;\r\n @Input() hrBlocked = false;\r\n @Input() hrCanBlock = false;\r\n @Input() tkBlocked = false;\r\n @Input() tkCanBlock = false;\r\n\r\n @Input() nameModeItems: TopMenuWidgetNameModeItem[] = [];\r\n @Input() settingsEnabled = true;\r\n @Input() useInternalDialogs = false;\r\n\r\n @Input() changePasswordLoading = false;\r\n @Input() changePasswordDialog: TopMenuWidgetChangePasswordDialogConfig = {\r\n title: 'ChangePassword',\r\n currentPasswordLabel: 'CurrentPassword',\r\n newPasswordLabel: 'NewPassword',\r\n confirmNewPasswordLabel: 'ConfirmPassword',\r\n primaryButtonText: 'Change',\r\n };\r\n\r\n @Input() aboutDialog: TopMenuWidgetAboutDialogConfig = {\r\n title: 'Sky Bayan Human Resources Management',\r\n logoUrl: 'https://cdn-dev.skysoftware.cloud/bayan/images/logo-enterprise.png',\r\n version: '',\r\n versionLabel: 'Version',\r\n copyright: `Copyright 2026, Sky Software Co LLC All Rights Reserved\r\nSky Bayan and Sky Bayan Logo are registered trademarks of Sky Software`,\r\n statusLabel: 'SkyBayanUpToDate',\r\n licenseButtonLabel: 'LicenseInformation',\r\n releaseNotesButtonLabel: 'ReleaseNotes',\r\n supportButtonLabel: 'TechnicalSupport',\r\n closeButtonLabel: 'Close',\r\n };\r\n\r\n @Input() showGlobalSearch = false;\r\n @Input() showUserPanel = true;\r\n @Input() showSettings = false;\r\n\r\n @Input() showNotifications = true;\r\n @Input() notificationsTitle = 'Notifications';\r\n\r\n @Input() showHelp = true;\r\n @Input() helpTitle = 'Help';\r\n @Input() helpUrl: string | null = 'https://docs.bayan.solutions/Bayan/index.html';\r\n @Input() helpIcon: IconDefinition = faQuestionCircle;\r\n @Input() helpAnchorClass = 'menu-icon-btn top-menu-widget__help-link';\r\n @Input() helpUrlTarget: '_self' | '_blank' | string = '_blank';\r\n @Output() helpClick = new EventEmitter<void>();\r\n\r\n @Output() menuItemClick = new EventEmitter<TopMenuWidgetItem>();\r\n @Output() searchSubmit = new EventEmitter<string>();\r\n @Output() searchItemNavigate = new EventEmitter<TopMenuWidgetSearchItem>();\r\n @Output() propertyChanged = new EventEmitter<PropertyOption>();\r\n @Output() signOutClick = new EventEmitter<void>();\r\n @Output() alternateNamesChange = new EventEmitter<void>();\r\n @Output() nameModeChange = new EventEmitter<number>();\r\n @Output() blockHrClick = new EventEmitter<void>();\r\n @Output() releaseHrClick = new EventEmitter<void>();\r\n @Output() blockTkClick = new EventEmitter<void>();\r\n @Output() releaseTkClick = new EventEmitter<void>();\r\n @Output() changePasswordClick = new EventEmitter<void>();\r\n @Output() openAboutClick = new EventEmitter<void>();\r\n @Output() aboutLicenseClick = new EventEmitter<void>();\r\n @Output() aboutReleaseNotesClick = new EventEmitter<void>();\r\n @Output() aboutSupportClick = new EventEmitter<void>();\r\n @Output() submitPasswordChange = new EventEmitter<TopMenuWidgetChangePasswordPayload>();\r\n\r\n readonly aboutVisible = signal(false);\r\n readonly changePasswordVisible = signal(false);\r\n ActivePropertyChanged = false;\r\n\r\n ngOnInit(): void {\r\n if (this.systemModule) {\r\n }\r\n }\r\n\r\n hasNavigationUrl(url: string | null): boolean {\r\n return !!resolveUrl(this.baseUrl, url);\r\n }\r\n\r\n getLogoSrc(): string | null {\r\n if (this.sidebarCollapsed) {\r\n return this.collapsedLogoUrl || null;\r\n }\r\n\r\n return this.logoUrl || null;\r\n }\r\n\r\n onLogoClicked(event?: Event): void {\r\n event?.preventDefault();\r\n if(this.homeUrl){\r\n window.location.href = this.homeUrl;\r\n return;\r\n }\r\n\r\n this.logoClick.emit();\r\n }\r\n\r\n onHelpClicked(event?: Event): void {\r\n event?.preventDefault();\r\n if(this.helpUrl){\r\n window.location.href = this.helpUrl;\r\n return;\r\n }\r\n this.helpClick.emit();\r\n }\r\n\r\n onChangePasswordRequested(): void {\r\n this.changePasswordClick.emit();\r\n if (this.useInternalDialogs) {\r\n this.changePasswordVisible.set(true);\r\n }\r\n }\r\n\r\n onAboutRequested(): void {\r\n this.openAboutClick.emit();\r\n if (this.useInternalDialogs) {\r\n this.aboutVisible.set(true);\r\n }\r\n }\r\n\r\n onPropertyChanged(property: PropertyOption): void {\r\n this.ActivePropertyChanged = !this.ActivePropertyChanged;\r\n this.propertyChanged.emit(property);\r\n }\r\n\r\n}\r\n","<header class=\"top-menu-widget__header shadow-sm w-100 sticky-top\">\r\n <dx-toolbar class=\"top-menu-widget__toolbar px-4\">\r\n <dxi-item location=\"before\">\r\n <div *dxTemplate>\r\n <a\r\n class=\"top-menu-widget__brand\" href=\"#\"\r\n [class.top-menu-widget__brand--collapsed]=\"sidebarCollapsed\"\r\n (click)=\"onLogoClicked($event)\">\r\n <img\r\n [src]=\"getLogoSrc()\"\r\n alt=\"\"\r\n class=\"top-menu-widget__logo\"\r\n [class.top-menu-widget__logo--collapsed]=\"sidebarCollapsed && !!collapsedLogoUrl\">\r\n </a>\r\n </div>\r\n </dxi-item>\r\n\r\n <dxi-item location=\"before\" locateInMenu=\"never\">\r\n <div *dxTemplate>\r\n <ul class=\"top-menu-widget__nav\">\r\n @for (item of menuItems; track item.id ?? item.menuName) {\r\n <bayan-core-item-widget [item]=\"item\" [baseUrl]=\"baseUrl\" [ActivePropertyChanged]=\"ActivePropertyChanged\" (itemClick)=\"menuItemClick.emit($event)\"></bayan-core-item-widget>\r\n }\r\n </ul>\r\n </div>\r\n </dxi-item>\r\n\r\n @if (showGlobalSearch) {\r\n <dxi-item location=\"after\" locateInMenu=\"never\">\r\n <div *dxTemplate>\r\n <bayan-core-global-search-widget\r\n [baseUrl]=\"baseUrl\"\r\n [ActivePropertyChanged]=\"ActivePropertyChanged\"\r\n [placeholder]=\"searchPlaceholder\"\r\n [dataSource]=\"searchItems\"\r\n (search)=\"searchSubmit.emit($event)\"\r\n (itemNavigate)=\"searchItemNavigate.emit($event)\">\r\n </bayan-core-global-search-widget>\r\n </div>\r\n </dxi-item>\r\n }\r\n\r\n @if (showUserPanel) {\r\n <dxi-item location=\"after\" locateInMenu=\"never\">\r\n <div *dxTemplate>\r\n <bayan-core-user-panel-widget\r\n [baseUrl]=\"baseUrl\"\r\n (propertyChanged)=\"onPropertyChanged($event)\"\r\n (signOutClick)=\"signOutClick.emit()\">\r\n </bayan-core-user-panel-widget>\r\n </div>\r\n </dxi-item>\r\n }\r\n\r\n @if (showSettings) {\r\n <dxi-item location=\"after\" locateInMenu=\"never\">\r\n <div *dxTemplate>\r\n <bayan-core-settings-widget\r\n [ActivePropertyChanged]=\"ActivePropertyChanged\"\r\n [useAlternateNames]=\"useAlternateNames\"\r\n [displayAlternateNames]=\"displayAlternateNames\"\r\n [hrBlocked]=\"hrBlocked\"\r\n [hrCanBlock]=\"hrCanBlock\"\r\n [tkBlocked]=\"tkBlocked\"\r\n [tkCanBlock]=\"tkCanBlock\"\r\n [nameModeItems]=\"nameModeItems\"\r\n [settingsEnabled]=\"settingsEnabled\"\r\n (alternateNamesChange)=\"alternateNamesChange.emit()\"\r\n (nameModeChange)=\"nameModeChange.emit($event)\"\r\n (blockHrClick)=\"blockHrClick.emit()\"\r\n (releaseHrClick)=\"releaseHrClick.emit()\"\r\n (blockTkClick)=\"blockTkClick.emit()\"\r\n (releaseTkClick)=\"releaseTkClick.emit()\"\r\n (changePasswordClick)=\"onChangePasswordRequested()\"\r\n (openAboutClick)=\"onAboutRequested()\">\r\n </bayan-core-settings-widget>\r\n </div>\r\n </dxi-item>\r\n }\r\n\r\n @if (showNotifications) {\r\n <dxi-item location=\"after\" locateInMenu=\"never\">\r\n <div *dxTemplate>\r\n <bayan-core-notifications-widget [baseUrl]=\"baseUrl\"\r\n [title]=\"notificationsTitle | translate\" >\r\n </bayan-core-notifications-widget>\r\n </div>\r\n </dxi-item>\r\n }\r\n\r\n @if (showHelp) {\r\n <dxi-item location=\"after\" locateInMenu=\"never\">\r\n <div *dxTemplate>\r\n <a\r\n [class]=\"helpAnchorClass\"\r\n [title]=\"helpTitle | translate\"\r\n [target]=\"helpUrlTarget\"\r\n href=\"#\"\r\n (click)=\"onHelpClicked($event)\">\r\n <fa-icon [icon]=\"helpIcon\" class=\"fs-6\"></fa-icon>\r\n </a>\r\n </div>\r\n </dxi-item>\r\n }\r\n </dx-toolbar>\r\n</header>\r\n\r\n@if (useInternalDialogs) {\r\n <bayan-core-about-dialog-widget\r\n [baseUrl]=\"baseUrl\"\r\n [visible]=\"aboutVisible()\"\r\n [config]=\"aboutDialog\"\r\n (visibleChange)=\"aboutVisible.set($event)\"\r\n (licenseClick)=\"aboutLicenseClick.emit()\"\r\n (releaseNotesClick)=\"aboutReleaseNotesClick.emit()\"\r\n (supportClick)=\"aboutSupportClick.emit()\">\r\n </bayan-core-about-dialog-widget>\r\n\r\n <bayan-core-change-password-widget\r\n [baseUrl]=\"baseUrl\"\r\n [visible]=\"changePasswordVisible()\"\r\n [config]=\"changePasswordDialog\"\r\n [isSubmitting]=\"changePasswordLoading\"\r\n (visibleChange)=\"changePasswordVisible.set($event)\"\r\n (submitPasswordChange)=\"submitPasswordChange.emit($event)\">\r\n </bayan-core-change-password-widget>\r\n}\r\n","export interface ApiEnvelope<T> {\r\n ResponseData: T;\r\n ApiVersion: number;\r\n}\r\n\r\nexport interface TopMenuShortcut {\r\n MenuName: string;\r\n MenuUrl: string | null;\r\n Children: TopMenuShortcut[];\r\n}\r\n\r\nexport interface SystemMenu {\r\n MenuName: string;\r\n MenuUrl: string | null;\r\n IconClass: string | null;\r\n Expanded: boolean;\r\n Children: SystemMenu[];\r\n}\r\n\r\nexport interface GlobalSearchMenu {\r\n MenuTitle: string;\r\n MenuSubTitle: string;\r\n IconClass: string;\r\n MenuUrl: string;\r\n IsTranslatable: boolean;\r\n}\r\n\r\nexport interface PropertyOption {\r\n PropertyId: number;\r\n PropertyName: string;\r\n}\r\n\r\nexport interface UserPanel {\r\n UserDisplayName: string;\r\n ActivePropertyId: number;\r\n ActivePropertyName: string;\r\n PhotoPath: string | null;\r\n NameInitials: string;\r\n IsSSOLogin: boolean;\r\n Properties: PropertyOption[];\r\n}\r\n\r\nexport interface SwitchPropertyRequest {\r\n PropertyId: number;\r\n}\r\n\r\nexport interface SwitchPropertyResult {\r\n PropertyId: number;\r\n}\r\n\r\nexport enum EmployeeNamesModeOption {\r\n ShortNames = 1,\r\n StandardNames = 2,\r\n FullNames = 3,\r\n}\r\n\r\nexport interface AppFramePreferences {\r\n UseAlternateNames: boolean;\r\n DisplayAlternateNames: boolean;\r\n EmployeeNamesMode: EmployeeNamesModeOption;\r\n VersionNumber: string;\r\n}\r\n\r\nexport interface SetDisplayAlternateNamesRequest {\r\n DisplayAlternateNames: boolean;\r\n}\r\n\r\nexport interface SetEmployeeNamesModeRequest {\r\n EmployeeNamesMode: EmployeeNamesModeOption;\r\n}\r\n\r\nexport enum BlockableModule {\r\n HumanResources = 4,\r\n Timekeeping = 5,\r\n}\r\n\r\nexport interface ModuleBlockState {\r\n IsBlocked: boolean;\r\n UserCanBlockModule: boolean;\r\n}\r\n\r\nexport interface BlockReleaseModuleRequest {\r\n Module: BlockableModule;\r\n}\r\n\r\nexport interface NotificationsSummary {\r\n TotalNotificationsCount: number;\r\n NotificationsUrl: string;\r\n}\r\n\r\nexport interface ChangePasswordRequest {\r\n CurrentPassword: string;\r\n NewPassword: string;\r\n}\r\n\r\nexport enum SystemModule {\r\n Corporate = 1,\r\n Cluster = 2,\r\n Setup = 3,\r\n HumanResources = 4,\r\n Timekeeping = 5,\r\n Payroll = 6,\r\n Training = 7,\r\n Workflow = 8,\r\n Appraisal = 9,\r\n BusinessIntelligence = 10,\r\n}\r\n","/*\r\n * Public API Surface of bayan-core-ui\r\n */\r\n\r\nexport * from './lib/top-menu-widget/top-menu-widget.component';\r\nexport * from './lib/shared/menu.dtos';\r\nexport * from './lib/shared/menu.service';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i3","i2","i4"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skysoftware-co-bayan-core-widgets-ui.mjs","sources":["../../../projects/bayan-core-ui/src/lib/shared/menu.service.ts","../../../projects/bayan-core-ui/src/lib/top-menu-widget/components/about-dialog-widget/about-dialog-widget.component.ts","../../../projects/bayan-core-ui/src/lib/top-menu-widget/components/about-dialog-widget/about-dialog-widget.component.html","../../../projects/bayan-core-ui/src/lib/top-menu-widget/components/change-password-widget/change-password-widget.component.ts","../../../projects/bayan-core-ui/src/lib/top-menu-widget/components/change-password-widget/change-password-widget.component.html","../../../projects/bayan-core-ui/src/lib/top-menu-widget/components/global-search-widget/global-search-widget.component.ts","../../../projects/bayan-core-ui/src/lib/top-menu-widget/components/global-search-widget/global-search-widget.component.html","../../../projects/bayan-core-ui/src/lib/top-menu-widget/components/item-widget/item-widget.component.ts","../../../projects/bayan-core-ui/src/lib/top-menu-widget/components/item-widget/item-widget.component.html","../../../projects/bayan-core-ui/src/lib/top-menu-widget/components/notifications-widget/notifications-widget.component.ts","../../../projects/bayan-core-ui/src/lib/top-menu-widget/components/notifications-widget/notifications-widget.component.html","../../../projects/bayan-core-ui/src/lib/top-menu-widget/components/settings-widget/settings-widget.component.ts","../../../projects/bayan-core-ui/src/lib/top-menu-widget/components/settings-widget/settings-widget.component.html","../../../projects/bayan-core-ui/src/lib/top-menu-widget/components/user-panel-widget/user-panel-widget.component.ts","../../../projects/bayan-core-ui/src/lib/top-menu-widget/components/user-panel-widget/user-panel-widget.component.html","../../../projects/bayan-core-ui/src/lib/top-menu-widget/top-menu-widget.component.ts","../../../projects/bayan-core-ui/src/lib/top-menu-widget/top-menu-widget.component.html","../../../projects/bayan-core-ui/src/lib/shared/menu.dtos.ts","../../../projects/bayan-core-ui/src/public-api.ts","../../../projects/bayan-core-ui/src/skysoftware-co-bayan-core-widgets-ui.ts"],"sourcesContent":["import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable, inject } from '@angular/core';\r\nimport { catchError, map, Observable, throwError } from 'rxjs';\r\nimport {\r\n ApiEnvelope,\r\n AppFramePreferences,\r\n BlockableModule,\r\n BlockReleaseModuleRequest,\r\n ChangePasswordRequest,\r\n GlobalSearchMenu,\r\n ModuleBlockState,\r\n NotificationsSummary,\r\n SetDisplayAlternateNamesRequest,\r\n SetEmployeeNamesModeRequest,\r\n SwitchPropertyRequest,\r\n SwitchPropertyResult,\r\n SystemMenu,\r\n SystemModule,\r\n TopMenuShortcut,\r\n UserPanel,\r\n} from './menu.dtos';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class BayanCoreTopMenuService {\r\n private readonly http = inject(HttpClient);\r\n\r\n private unwrap<T>(obs: Observable<ApiEnvelope<T>>): Observable<T> {\r\n return obs.pipe(\r\n map((env) => {\r\n if (!env.ResponseData) {\r\n throw new Error('No data received');\r\n }\r\n\r\n return env.ResponseData;\r\n }),\r\n catchError((error) => throwError(() => error)),\r\n );\r\n }\r\n\r\n private getBaseUrl(baseUrl: string): string {\r\n let url = baseUrl.replace('/api','');\r\n return `${url.replace(/\\/$/, '')}/api/app-frame`;\r\n }\r\n\r\n getMicroserviceMenusByProperty(\r\n baseUrl: string,\r\n propertyId: number | string,\r\n systemModule: SystemModule,\r\n ): Observable<SystemMenu[]> {\r\n const params = new HttpParams()\r\n .set('PropertyId', propertyId)\r\n .set('SystemModule', systemModule);\r\n\r\n return this.unwrap(\r\n this.http.get<ApiEnvelope<SystemMenu[]>>(`${this.getBaseUrl(baseUrl)}/left-menu`, { params }),\r\n );\r\n }\r\n\r\n getMicroserviceTopMenusShortcut(\r\n baseUrl: string,\r\n propertyId: number | string,\r\n systemModule: SystemModule,\r\n ): Observable<TopMenuShortcut[]> {\r\n const params = new HttpParams()\r\n .set('PropertyId', propertyId)\r\n .set('SystemModule', systemModule);\r\n\r\n return this.unwrap(\r\n this.http.get<ApiEnvelope<TopMenuShortcut[]>>(`${this.getBaseUrl(baseUrl)}/top-shortcuts`, {\r\n params,\r\n }),\r\n );\r\n }\r\n\r\n getGlobalSearchMenus(baseUrl: string, propertyId?: number): Observable<GlobalSearchMenu[]> {\r\n let params = new HttpParams();\r\n\r\n if (propertyId != null) {\r\n params = params.set('PropertyId', propertyId);\r\n }\r\n\r\n return this.unwrap(\r\n this.http.get<ApiEnvelope<GlobalSearchMenu[]>>(\r\n `${this.getBaseUrl(baseUrl)}/global-search-menu`,\r\n { params },\r\n ),\r\n );\r\n }\r\n\r\n getUserPanel(baseUrl: string): Observable<UserPanel> {\r\n return this.unwrap(this.http.get<ApiEnvelope<UserPanel>>(`${this.getBaseUrl(baseUrl)}/user-panel`));\r\n }\r\n\r\n switchProperty(baseUrl: string, request: SwitchPropertyRequest): Observable<SwitchPropertyResult> {\r\n return this.unwrap(\r\n this.http.post<ApiEnvelope<SwitchPropertyResult>>(\r\n `${this.getBaseUrl(baseUrl)}/switch-property`,\r\n request,\r\n ),\r\n );\r\n }\r\n\r\n getPreferences(baseUrl: string): Observable<AppFramePreferences> {\r\n return this.unwrap(\r\n this.http.get<ApiEnvelope<AppFramePreferences>>(`${this.getBaseUrl(baseUrl)}/preferences`),\r\n );\r\n }\r\n\r\n setDisplayAlternateNames(\r\n baseUrl: string,\r\n request: SetDisplayAlternateNamesRequest,\r\n ): Observable<void> {\r\n return this.http.post<void>(`${this.getBaseUrl(baseUrl)}/preferences/alternate-names`, request);\r\n }\r\n\r\n setEmployeeNamesMode(baseUrl: string, request: SetEmployeeNamesModeRequest): Observable<void> {\r\n return this.http.post<void>(\r\n `${this.getBaseUrl(baseUrl)}/preferences/employee-names-mode`,\r\n request,\r\n );\r\n }\r\n\r\n getModuleBlockState(\r\n baseUrl: string,\r\n systemModule: SystemModule | BlockableModule,\r\n ): Observable<ModuleBlockState> {\r\n const params = new HttpParams().set('SystemModule', systemModule);\r\n\r\n return this.unwrap(\r\n this.http.get<ApiEnvelope<ModuleBlockState>>(`${this.getBaseUrl(baseUrl)}/module-block-state`, {\r\n params,\r\n }),\r\n );\r\n }\r\n\r\n blockModule(baseUrl: string, request: BlockReleaseModuleRequest): Observable<void> {\r\n return this.http.post<void>(`${this.getBaseUrl(baseUrl)}/block-module`, request);\r\n }\r\n\r\n releaseModule(baseUrl: string, request: BlockReleaseModuleRequest): Observable<void> {\r\n return this.http.post<void>(`${this.getBaseUrl(baseUrl)}/release-module`, request);\r\n }\r\n\r\n getNotificationsSummary(baseUrl: string): Observable<NotificationsSummary> {\r\n return this.unwrap(\r\n this.http.get<ApiEnvelope<NotificationsSummary>>(\r\n `${this.getBaseUrl(baseUrl)}/notifications-summary`,\r\n ),\r\n );\r\n }\r\n\r\n changePassword(baseUrl: string, request: ChangePasswordRequest): Observable<boolean> {\r\n return this.http.post<boolean>(`${this.getBaseUrl(baseUrl)}/change-password`, request);\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { faCheckCircle } from '@fortawesome/pro-solid-svg-icons';\r\nimport { TranslatePipe } from '@skysoftware-co/sky-components-ui';\r\nimport { TopMenuWidgetAboutDialogConfig } from '../../top-menu-widget.models';\r\n\r\n@Component({\r\n selector: 'bayan-core-about-dialog-widget',\r\n standalone: true,\r\n imports: [CommonModule, FontAwesomeModule, TranslatePipe],\r\n templateUrl: './about-dialog-widget.component.html',\r\n styleUrls: ['../../top-menu-widget.styles.css'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class BayanCoreAboutDialogWidgetComponent {\r\n @Input() baseUrl = '';\r\n @Input() visible = false;\r\n @Input({ required: true }) config!: TopMenuWidgetAboutDialogConfig;\r\n\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n @Output() licenseClick = new EventEmitter<void>();\r\n @Output() releaseNotesClick = new EventEmitter<void>();\r\n @Output() supportClick = new EventEmitter<void>();\r\n\r\n readonly checkCircleIcon = faCheckCircle;\r\n\r\n onBackdropClick(event: MouseEvent): void {\r\n if ((event.target as HTMLElement).classList.contains('about-backdrop')) {\r\n this.closeDialog();\r\n }\r\n }\r\n\r\n closeDialog(): void {\r\n this.visibleChange.emit(false);\r\n }\r\n}\r\n","@if (visible) {\r\n <div class=\"about-backdrop\" (click)=\"onBackdropClick($event)\">\r\n <div class=\"about-modal\" role=\"dialog\" aria-labelledby=\"topMenuAboutDialogTitle\" aria-modal=\"true\">\r\n <div class=\"about-modal-header\">\r\n <h4 class=\"about-modal-title\" id=\"topMenuAboutDialogTitle\">{{ config.title || 'AboutSkyBayan' | translate }}</h4>\r\n <button type=\"button\" class=\"about-close-btn\" (click)=\"closeDialog()\" [attr.aria-label]=\"(config.closeButtonLabel || 'Close') | translate\">\r\n <span aria-hidden=\"true\">×</span>\r\n </button>\r\n </div>\r\n\r\n <div class=\"about-modal-body\">\r\n <div class=\"row align-items-start\">\r\n <div class=\"col-4\">\r\n @if (config.logoUrl) {\r\n <img [src]=\"config.logoUrl\" alt=\"Logo\" class=\"img-fluid about-logo\">\r\n }\r\n </div>\r\n <div class=\"col-8\">\r\n <h3 class=\"about-product-name\">{{ config.title || 'AboutSkyBayan' | translate }}</h3>\r\n <p class=\"about-version-text mb-1\">{{ (config.versionLabel || 'Version') | translate }} {{ config.version || '' }}</p>\r\n <p class=\"about-up-to-date mb-2\">\r\n <fa-icon [icon]=\"checkCircleIcon\" class=\"text-info me-1\"></fa-icon>\r\n <small class=\"text-muted\">{{ (config.statusLabel || 'SkyBayanUpToDate') | translate }}</small>\r\n </p>\r\n <p class=\"about-copyright mb-0\">{{ config.copyright || '' }}</p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"about-modal-actions\">\r\n <button type=\"button\" class=\"about-action-btn\" (click)=\"licenseClick.emit()\">{{ (config.licenseButtonLabel || 'LicenseInformation') | translate }}</button>\r\n <button type=\"button\" class=\"about-action-btn\" (click)=\"releaseNotesClick.emit()\">{{ (config.releaseNotesButtonLabel || 'ReleaseNotes') | translate }}</button>\r\n <button type=\"button\" class=\"about-action-btn\" (click)=\"supportClick.emit()\">{{ (config.supportButtonLabel || 'TechnicalSupport') | translate }}</button>\r\n </div>\r\n </div>\r\n </div>\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, signal } from '@angular/core';\r\nimport { DxFormComponent, DxFormModule, DxPopupModule } from 'devextreme-angular';\r\nimport { SkyFooterActionsComponent, TranslatePipe } from '@skysoftware-co/sky-components-ui';\r\nimport {\r\n TopMenuWidgetChangePasswordDialogConfig,\r\n TopMenuWidgetChangePasswordPayload,\r\n} from '../../top-menu-widget.models';\r\n\r\n@Component({\r\n selector: 'bayan-core-change-password-widget',\r\n standalone: true,\r\n imports: [CommonModule, DxPopupModule, DxFormModule, SkyFooterActionsComponent, TranslatePipe],\r\n templateUrl: './change-password-widget.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class BayanCoreChangePasswordWidgetComponent {\r\n @Input() baseUrl = '';\r\n @Input() visible = false;\r\n @Input({ required: true }) config!: TopMenuWidgetChangePasswordDialogConfig;\r\n @Input() isSubmitting = false;\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n @Output() submitPasswordChange = new EventEmitter<TopMenuWidgetChangePasswordPayload>();\r\n\r\n @ViewChild('changePasswordForm') changePasswordForm?: DxFormComponent;\r\n\r\n readonly currentPasswordMode = signal<'password' | 'text'>('password');\r\n readonly newPasswordMode = signal<'password' | 'text'>('password');\r\n readonly confirmNewPasswordMode = signal<'password' | 'text'>('password');\r\n\r\n formData: TopMenuWidgetChangePasswordPayload = {\r\n currentPassword: '',\r\n newPassword: '',\r\n confirmNewPassword: '',\r\n };\r\n\r\n closeDialog(): void {\r\n this.visible = false;\r\n this.visibleChange.emit(false);\r\n this.resetForm();\r\n }\r\n\r\n resetForm(): void {\r\n this.formData = {\r\n currentPassword: '',\r\n newPassword: '',\r\n confirmNewPassword: '',\r\n };\r\n }\r\n\r\n onSaveButtonClick(): void {\r\n const isValid = this.changePasswordForm?.instance.validate().isValid ?? false;\r\n if (!isValid) {\r\n return;\r\n }\r\n\r\n this.submitPasswordChange.emit({ ...this.formData });\r\n }\r\n\r\n togglePasswordMode(field: 'currentPasswordMode' | 'newPasswordMode' | 'confirmNewPasswordMode'): void {\r\n const current = this[field]();\r\n this[field].set(current === 'text' ? 'password' : 'text');\r\n }\r\n\r\n updateField(field: keyof TopMenuWidgetChangePasswordPayload, value: string): void {\r\n this.formData = {\r\n ...this.formData,\r\n [field]: value,\r\n };\r\n }\r\n\r\n isChangePasswordValid(): boolean {\r\n return !!this.formData.currentPassword && !!this.formData.newPassword && !!this.formData.confirmNewPassword && this.formData.newPassword === this.formData.confirmNewPassword;\r\n }\r\n\r\n getCurrentPasswordEditorOptions(): object {\r\n return {\r\n maxLength: 256,\r\n disabled: this.isSubmitting,\r\n mode: this.currentPasswordMode(),\r\n onValueChanged: (event: { value?: string }) => this.updateField('currentPassword', event.value ?? ''),\r\n buttons: [{\r\n name: 'password',\r\n location: 'after',\r\n options: {\r\n stylingMode: 'text',\r\n icon: this.currentPasswordMode() === 'text' ? 'eyeopen' : 'eyeclose',\r\n onClick: () => this.togglePasswordMode('currentPasswordMode'),\r\n },\r\n }],\r\n };\r\n }\r\n\r\n getNewPasswordEditorOptions(): object {\r\n return {\r\n maxLength: 256,\r\n disabled: this.isSubmitting,\r\n mode: this.newPasswordMode(),\r\n onValueChanged: (event: { value?: string }) => this.updateField('newPassword', event.value ?? ''),\r\n buttons: [{\r\n name: 'password',\r\n location: 'after',\r\n options: {\r\n stylingMode: 'text',\r\n icon: this.newPasswordMode() === 'text' ? 'eyeopen' : 'eyeclose',\r\n onClick: () => this.togglePasswordMode('newPasswordMode'),\r\n },\r\n }],\r\n };\r\n }\r\n\r\n getConfirmPasswordEditorOptions(): object {\r\n return {\r\n maxLength: 256,\r\n disabled: this.isSubmitting,\r\n mode: this.confirmNewPasswordMode(),\r\n onValueChanged: (event: { value?: string }) => this.updateField('confirmNewPassword', event.value ?? ''),\r\n buttons: [{\r\n name: 'password',\r\n location: 'after',\r\n options: {\r\n stylingMode: 'text',\r\n icon: this.confirmNewPasswordMode() === 'text' ? 'eyeopen' : 'eyeclose',\r\n onClick: () => this.togglePasswordMode('confirmNewPasswordMode'),\r\n },\r\n }],\r\n };\r\n }\r\n\r\n passwordComparison = (): string => this.formData.newPassword;\r\n}\r\n","<dx-popup\r\n [visible]=\"visible\"\r\n (onHiding)=\"closeDialog()\"\r\n [title]=\"config.title | translate\"\r\n [showCloseButton]=\"true\"\r\n [width]=\"450\"\r\n [height]=\"'auto'\"\r\n [dragEnabled]=\"false\"\r\n [shading]=\"true\"\r\n shadingColor=\"rgba(0,0,0,0.4)\">\r\n <div *dxTemplate=\"let data of 'content'\">\r\n <dx-form\r\n #changePasswordForm\r\n [formData]=\"formData\"\r\n labelLocation=\"top\"\r\n [showColonAfterLabel]=\"false\"\r\n class=\"mb-3 mx-2\">\r\n <dxi-item\r\n dataField=\"currentPassword\"\r\n editorType=\"dxTextBox\"\r\n [editorOptions]=\"getCurrentPasswordEditorOptions()\">\r\n <dxo-label [text]=\"config.currentPasswordLabel | translate\"></dxo-label>\r\n <dxi-validation-rule type=\"required\"></dxi-validation-rule>\r\n </dxi-item>\r\n\r\n <dxi-item\r\n dataField=\"newPassword\"\r\n editorType=\"dxTextBox\"\r\n [editorOptions]=\"getNewPasswordEditorOptions()\">\r\n <dxo-label [text]=\"config.newPasswordLabel | translate\"></dxo-label>\r\n <dxi-validation-rule type=\"required\"></dxi-validation-rule>\r\n </dxi-item>\r\n\r\n <dxi-item\r\n dataField=\"confirmNewPassword\"\r\n editorType=\"dxTextBox\"\r\n [editorOptions]=\"getConfirmPasswordEditorOptions()\">\r\n <dxo-label [text]=\"config.confirmNewPasswordLabel | translate\"></dxo-label>\r\n <dxi-validation-rule type=\"required\"></dxi-validation-rule>\r\n <dxi-validation-rule\r\n type=\"compare\"\r\n [comparisonTarget]=\"passwordComparison\">\r\n </dxi-validation-rule>\r\n </dxi-item>\r\n </dx-form>\r\n\r\n <sky-footer-actions\r\n [primaryButtonText]=\"config.primaryButtonText | translate\"\r\n [showSecondaryButton]=\"false\"\r\n [isLoading]=\"isSubmitting\"\r\n [disabledPrimaryButton]=\"isSubmitting || !isChangePasswordValid()\"\r\n (PrimaryButtonClick)=\"onSaveButtonClick()\">\r\n </sky-footer-actions>\r\n </div>\r\n</dx-popup>\r\n","import { CommonModule, DOCUMENT } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges, ViewChild, inject } from '@angular/core';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport {\r\n faDollar,\r\n faGraduationCap,\r\n faGrid,\r\n faMedal,\r\n faRightLeft,\r\n faTools,\r\n faUsers,\r\n} from '@fortawesome/pro-solid-svg-icons';\r\nimport { faClock } from '@fortawesome/pro-light-svg-icons';\r\nimport { Router } from '@angular/router';\r\nimport { DxAutocompleteComponent, DxAutocompleteModule } from 'devextreme-angular';\r\nimport { TranslatePipe } from '@skysoftware-co/sky-components-ui';\r\nimport { GlobalSearchMenu } from '../../../shared/menu.dtos';\r\nimport { BayanCoreTopMenuService } from '../../../shared/menu.service';\r\nimport { isExternalNavigation, resolveUrl } from '../../../shared/common-methods/navigation.utils';\r\n\r\n@Component({\r\n selector: 'bayan-core-global-search-widget',\r\n standalone: true,\r\n imports: [CommonModule, DxAutocompleteModule, FontAwesomeModule, TranslatePipe],\r\n templateUrl: './global-search-widget.component.html',\r\n styles: [':host { display: flex; align-items: center; height: 56px; }'],\r\n styleUrls: ['../../top-menu-widget.styles.css'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class BayanCoreGlobalSearchWidgetComponent implements OnChanges {\r\n private readonly menuService = inject(BayanCoreTopMenuService);\r\n private readonly document = inject(DOCUMENT);\r\n private readonly router = inject(Router);\r\n\r\n @ViewChild('searchAutoComplete') searchAutoComplete?: DxAutocompleteComponent;\r\n\r\n @Input() baseUrl = '';\r\n @Input() ActivePropertyChanged = false;\r\n @Input() ActivePropertyId: number = 0;\r\n @Input() placeholder = 'Type to search';\r\n\r\n @Input() searchMode: 'contains' | 'startswith' = 'contains';\r\n @Input() stylingMode: 'filled' | 'outlined' | 'underlined' = 'filled';\r\n @Input() searchWrapperClass = 'top-menu-widget__search';\r\n @Input() searchItemClass = 'top-menu-widget__search-item d-flex flex-column text-decoration-none';\r\n @Input() searchItemTitleClass = 'top-menu-widget__search-item-title text-light fs-11 mb-1 d-flex align-content-center';\r\n @Input() searchItemSubtitleClass = 'top-menu-widget__search-item-subtitle text-dark fs-13 ms-2 ps-1';\r\n @Input() iconClass = 'fs-11 fw-medium me-1';\r\n\r\n @Output() search = new EventEmitter<string>();\r\n @Output() itemNavigate = new EventEmitter<GlobalSearchMenu>();\r\n\r\n dataSource: GlobalSearchMenu[] = [];\r\n readonly toolsIcon = faTools;\r\n readonly gridIcon = faGrid;\r\n readonly creditIcon = faDollar;\r\n readonly usersIcon = faUsers;\r\n readonly clockIcon = faClock;\r\n readonly swapIcon = faRightLeft;\r\n readonly medalIcon = faMedal;\r\n readonly graduateIcon = faGraduationCap;\r\n\r\n ngOnInit(): void {\r\n this.loadMenus();\r\n }\r\n\r\n // Removed duplicate ngOnChanges\r\n\r\n private loadMenus(): void {\r\n if (this.baseUrl && this.ActivePropertyId > 0) {\r\n this.menuService.getGlobalSearchMenus(this.baseUrl, this.ActivePropertyId).subscribe({\r\n next: (menus) => this.dataSource = menus ?? [],\r\n error: () => this.dataSource = []\r\n });\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (\r\n changes['ActivePropertyChanged']\r\n && !changes['ActivePropertyChanged'].firstChange\r\n && changes['ActivePropertyChanged'].previousValue !== changes['ActivePropertyChanged'].currentValue\r\n ) {\r\n this.reset();\r\n this.loadMenus();\r\n }\r\n }\r\n\r\n onInput(event: { event?: { target?: { value?: string } }; component?: { option: (name: string, value: string) => void } } | any): void {\r\n const searchTerm = event.event?.target?.value;\r\n if (typeof searchTerm === 'string' && searchTerm.startsWith(' ')) {\r\n event.component?.option('value', searchTerm.trim());\r\n }\r\n }\r\n\r\n onEnterKey(event: { event?: { target?: { value?: string } } } | any): void {\r\n const searchTerm = (event.event?.target?.value ?? '').toString().trim();\r\n if (!searchTerm) {\r\n return;\r\n }\r\n\r\n const match = this.dataSource.find(\r\n (item) => item.MenuSubTitle.toLowerCase().trim() === searchTerm.toLowerCase().trim(),\r\n );\r\n\r\n if (match) {\r\n window.location.href = match.MenuUrl;\r\n this.itemNavigate.emit(match);\r\n return;\r\n }\r\n\r\n this.search.emit(searchTerm);\r\n }\r\n\r\n onItemSelected(event: Event, item: GlobalSearchMenu): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (item.MenuUrl) {\r\n window.location.href = item.MenuUrl;\r\n }\r\n }\r\n\r\n reset(): void {\r\n this.searchAutoComplete?.instance?.option('value', '');\r\n }\r\n\r\n getText(text: string, isTranslatable = false): string {\r\n return isTranslatable ? text : text;\r\n }\r\n\r\n getIconForClass(iconClass: string) {\r\n switch (iconClass) {\r\n case 'icon icon-tools':\r\n return this.toolsIcon;\r\n case 'icon icon-grid':\r\n return this.gridIcon;\r\n case 'icon icon-credit':\r\n return this.creditIcon;\r\n case 'icon icon-users':\r\n return this.usersIcon;\r\n case 'icon icon-clock':\r\n return this.clockIcon;\r\n case 'icon icon-swap':\r\n return this.swapIcon;\r\n case 'icon icon-medal':\r\n return this.medalIcon;\r\n case 'icon icon-graduation-cap':\r\n return this.graduateIcon;\r\n default:\r\n return this.toolsIcon;\r\n }\r\n }\r\n}\r\n","<div [class]=\"searchWrapperClass\">\r\n <dx-autocomplete\r\n #searchAutoComplete\r\n [placeholder]=\"placeholder | translate\"\r\n [dataSource]=\"dataSource\"\r\n valueExpr=\"menuSubTitle\"\r\n [searchExpr]=\"['menuSubTitle']\"\r\n [showClearButton]=\"false\"\r\n [showDropDownButton]=\"false\"\r\n [searchMode]=\"searchMode\"\r\n [width]=\"'100%'\"\r\n [stylingMode]=\"stylingMode\"\r\n [wrapItemText]=\"true\"\r\n [searchTimeout]=\"100\"\r\n (onInput)=\"onInput($event)\"\r\n (onEnterKey)=\"onEnterKey($event)\">\r\n <div class=\"w-100\" *dxTemplate=\"let item of 'item'\">\r\n <a\r\n [class]=\"searchItemClass\"\r\n href=\"{{item.MenuUrl}}\" >\r\n <div [class]=\"searchItemTitleClass\">\r\n <fa-icon [icon]=\"getIconForClass(item.iconClass)\" [class]=\"iconClass\"></fa-icon>\r\n @if (item.isTranslatable) {\r\n {{ item.menuTitle | translate }}\r\n } @else {\r\n {{ item.menuTitle }}\r\n }\r\n </div>\r\n <div [class]=\"searchItemSubtitleClass\">\r\n @if (item.isTranslatable) {\r\n {{ item.menuSubTitle | translate }}\r\n } @else {\r\n {{ item.menuSubTitle }}\r\n }\r\n </div>\r\n </a>\r\n </div>\r\n </dx-autocomplete>\r\n</div>\r\n","import { of } from 'rxjs';\r\nimport { CommonModule, DOCUMENT } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n OnChanges,\r\n Output,\r\n SimpleChanges,\r\n inject,\r\n signal,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { TranslatePipe } from '@skysoftware-co/sky-components-ui';\r\nimport { TopMenuShortcut } from '../../../shared/menu.dtos';\r\nimport { isExternalNavigation, resolveUrl } from '../../../shared/common-methods/navigation.utils';\r\n\r\n@Component({\r\n selector: 'bayan-core-item-widget',\r\n standalone: true,\r\n imports: [CommonModule, TranslatePipe],\r\n templateUrl: './item-widget.component.html',\r\n styles: [':host { display: contents; }'],\r\n styleUrls: ['../../top-menu-widget.styles.css'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class BayanCoreItemWidgetComponent implements OnChanges {\r\n private readonly document = inject(DOCUMENT);\r\n private readonly router = inject(Router);\r\n\r\n @Input() baseUrl = '';\r\n @Input() ActivePropertyChanged = false;\r\n @Input({ required: true }) item!: TopMenuShortcut;\r\n\r\n @Input() navItemClass = 'nav-item';\r\n @Input() navLinkClass = 'nav-link';\r\n @Input() dropdownClass = 'nav-item dropdown';\r\n @Input() dropdownOpenClass = 'open';\r\n @Input() dropdownToggleClass = 'nav-link dropdown-toggle';\r\n @Input() caretClass = 'caret';\r\n @Input() dropdownMenuClass = 'dropdown-menu menu-dropdown-panel';\r\n\r\n @Output() itemClick = new EventEmitter<TopMenuShortcut>();\r\n\r\n readonly open = signal(false);\r\n\r\n constructor(private readonly elementRef: ElementRef<HTMLElement>) {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (\r\n changes['ActivePropertyChanged']\r\n && !changes['ActivePropertyChanged'].firstChange\r\n && changes['ActivePropertyChanged'].previousValue !== changes['ActivePropertyChanged'].currentValue\r\n ) {\r\n this.open.set(false);\r\n }\r\n }\r\n\r\n @HostListener('document:click', ['$event'])\r\n onDocumentClick(event: MouseEvent): void {\r\n const target = event.target as Node | null;\r\n if (target && !this.elementRef.nativeElement.contains(target)) {\r\n this.open.set(false);\r\n }\r\n }\r\n\r\n hasChildren(): boolean {\r\n return (this.item.Children ?? []).length > 0;\r\n }\r\n\r\n onItemActivated(event: Event): void {\r\n event.preventDefault();\r\n\r\n if (this.hasChildren()) {\r\n event.stopPropagation();\r\n this.open.update((value) => !value);\r\n return;\r\n }\r\n\r\n this.itemClick.emit(this.item);\r\n if (typeof this.item.MenuUrl === 'string' && this.item.MenuName == 'Reports') {\r\n window.open(this.item.MenuUrl, '_blank');\r\n } else if (this.item.MenuUrl) {\r\n window.location.href = this.item.MenuUrl;\r\n }\r\n }\r\n\r\n onChildItemClick(item: TopMenuShortcut): void {\r\n this.open.set(false);\r\n this.itemClick.emit(item);\r\n }\r\n}\r\n","@if (!hasChildren()) {\r\n <li [class]=\"navItemClass\">\r\n <a\r\n [class]=\"navLinkClass\"\r\n href=\"#\"\r\n (click)=\"onItemActivated($event)\">\r\n {{ item.MenuName | translate }}\r\n </a>\r\n </li>\r\n}\r\n\r\n@if (hasChildren()) {\r\n <li [class]=\"dropdownClass\" [class.open]=\"open()\">\r\n <a href=\"#\" [class]=\"dropdownToggleClass\" (click)=\"onItemActivated($event)\">\r\n {{ item.MenuName | translate }} <span [class]=\"caretClass\"></span>\r\n </a>\r\n\r\n @if (open()) {\r\n <ul [class]=\"dropdownMenuClass\">\r\n @for (child of item.Children; track child.MenuName) {\r\n <bayan-core-item-widget\r\n [baseUrl]=\"baseUrl\"\r\n [ActivePropertyChanged]=\"ActivePropertyChanged\"\r\n [item]=\"child\"\r\n (itemClick)=\"onChildItemClick($event)\"\r\n [navItemClass]=\"navItemClass\"\r\n [navLinkClass]=\"navLinkClass\"\r\n [dropdownClass]=\"dropdownClass\"\r\n [dropdownOpenClass]=\"dropdownOpenClass\"\r\n [dropdownToggleClass]=\"dropdownToggleClass\"\r\n [caretClass]=\"caretClass\"\r\n [dropdownMenuClass]=\"dropdownMenuClass\"\r\n >\r\n </bayan-core-item-widget>\r\n }\r\n </ul>\r\n }\r\n </li>\r\n}\r\n","import { CommonModule, DOCUMENT } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges,\r\n inject,\r\n signal,\r\n} from '@angular/core';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { faBell } from '@fortawesome/pro-solid-svg-icons';\r\nimport { TranslatePipe } from '@skysoftware-co/sky-components-ui';\r\nimport { isExternalNavigation, resolveUrl } from '../../../shared/common-methods/navigation.utils';\r\nimport { NotificationsSummary } from '../../../shared/menu.dtos';\r\nimport { BayanCoreTopMenuService } from '../../../shared/menu.service';\r\n\r\n@Component({\r\n selector: 'bayan-core-notifications-widget',\r\n standalone: true,\r\n imports: [CommonModule, FontAwesomeModule, TranslatePipe],\r\n templateUrl: './notifications-widget.component.html',\r\n styles: [':host { display: flex; align-items: center; height: 56px; }'],\r\n styleUrls: ['../../top-menu-widget.styles.css'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class BayanCoreNotificationsWidgetComponent implements OnInit, OnChanges {\r\n private readonly document = inject(DOCUMENT);\r\n private readonly topMenuService = inject(BayanCoreTopMenuService);\r\n\r\n @Input() baseUrl = '';\r\n @Input() title = 'Notifications';\r\n @Input() wrapperClass = 'notifications-icon-wrap menu-dropdown-host';\r\n @Input() linkClass = 'menu-icon-btn cursor-pointer notifications-icon-btn';\r\n @Input() iconClass = 'fs-6';\r\n @Input() badgeClass = 'notifications-badge';\r\n\r\n readonly bellIcon = faBell;\r\n readonly notificationsSummary = signal<NotificationsSummary>({\r\n NotificationsUrl: '',\r\n TotalNotificationsCount: 0,\r\n });\r\n\r\n ngOnInit(): void {\r\n this.loadNotificationsSummary();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['baseUrl'] && !changes['baseUrl'].firstChange) {\r\n this.loadNotificationsSummary();\r\n }\r\n }\r\n\r\n onNotificationClick(event?: Event): void {\r\n event?.preventDefault();\r\n const rawNotificationUrl = this.notificationsSummary().NotificationsUrl;\r\n\r\n if (rawNotificationUrl) {\r\n this.document.location.href = `${window.location.origin}${rawNotificationUrl}`;\r\n }\r\n }\r\n\r\n private loadNotificationsSummary(): void {\r\n if (!this.baseUrl) {\r\n this.resetNotificationsData();\r\n return;\r\n }\r\n\r\n this.topMenuService.getNotificationsSummary(this.baseUrl).subscribe({\r\n next: (summary) => {\r\n this.notificationsSummary.set({\r\n NotificationsUrl: summary.NotificationsUrl,\r\n TotalNotificationsCount: summary.TotalNotificationsCount,\r\n });\r\n },\r\n error: () => {\r\n this.resetNotificationsData();\r\n },\r\n });\r\n }\r\n\r\n private resetNotificationsData(): void {\r\n this.notificationsSummary.set({\r\n NotificationsUrl: '',\r\n TotalNotificationsCount: 0,\r\n });\r\n }\r\n}\r\n","<div [class]=\"wrapperClass\">\r\n <a [class]=\"linkClass\"\r\n [title]=\"title | translate\"\r\n (click)=\"onNotificationClick($event)\">\r\n <fa-icon [class]=\"iconClass\" [icon]=\"bellIcon\"></fa-icon>\r\n @if ((notificationsSummary().TotalNotificationsCount || 0) > 0) {\r\n <span [class]=\"badgeClass\">{{ notificationsSummary().TotalNotificationsCount }}</span>\r\n }\r\n </a>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n OnChanges,\r\n Output,\r\n SimpleChanges,\r\n signal,\r\n} from '@angular/core';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { faCheck, faCog, faInfoCircle } from '@fortawesome/pro-solid-svg-icons';\r\nimport { TranslatePipe } from '@skysoftware-co/sky-components-ui';\r\nimport { TopMenuWidgetNameModeItem } from '../../top-menu-widget.models';\r\n\r\n@Component({\r\n selector: 'bayan-core-settings-widget',\r\n standalone: true,\r\n imports: [CommonModule, FontAwesomeModule, TranslatePipe],\r\n templateUrl: './settings-widget.component.html',\r\n styleUrls: ['../../top-menu-widget.styles.css'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class BayanCoreSettingsWidgetComponent implements OnChanges {\r\n @Input() ActivePropertyChanged = false;\r\n @Input() useAlternateNames = false;\r\n @Input() displayAlternateNames = false;\r\n @Input() hrBlocked = false;\r\n @Input() hrCanBlock = false;\r\n @Input() tkBlocked = false;\r\n @Input() tkCanBlock = false;\r\n @Input() nameModeItems: TopMenuWidgetNameModeItem[] = [];\r\n @Input() settingsEnabled = true;\r\n\r\n @Output() alternateNamesChange = new EventEmitter<void>();\r\n @Output() nameModeChange = new EventEmitter<number>();\r\n @Output() blockHrClick = new EventEmitter<void>();\r\n @Output() releaseHrClick = new EventEmitter<void>();\r\n @Output() blockTkClick = new EventEmitter<void>();\r\n @Output() releaseTkClick = new EventEmitter<void>();\r\n @Output() changePasswordClick = new EventEmitter<void>();\r\n @Output() openAboutClick = new EventEmitter<void>();\r\n\r\n readonly checkIcon = faCheck;\r\n readonly cogIcon = faCog;\r\n readonly infoIcon = faInfoCircle;\r\n readonly dropdownOpen = signal(false);\r\n\r\n constructor(private readonly elementRef: ElementRef<HTMLElement>) {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (\r\n changes['ActivePropertyChanged']\r\n && !changes['ActivePropertyChanged'].firstChange\r\n && changes['ActivePropertyChanged'].previousValue !== changes['ActivePropertyChanged'].currentValue\r\n ) {\r\n this.dropdownOpen.set(false);\r\n }\r\n }\r\n\r\n @HostListener('document:click', ['$event'])\r\n onDocumentClick(event: MouseEvent): void {\r\n const target = event.target as Node | null;\r\n if (target && !this.elementRef.nativeElement.contains(target)) {\r\n this.dropdownOpen.set(false);\r\n }\r\n }\r\n\r\n toggleDropdown(event: Event): void {\r\n event.preventDefault();\r\n this.dropdownOpen.update((value) => !value);\r\n }\r\n\r\n onAlternateNamesClick(event: Event): void {\r\n event.preventDefault();\r\n if (!this.settingsEnabled) {\r\n return;\r\n }\r\n\r\n this.alternateNamesChange.emit();\r\n }\r\n\r\n onNameModeClick(index: number, event: Event): void {\r\n event.preventDefault();\r\n if (!this.settingsEnabled) {\r\n return;\r\n }\r\n\r\n this.dropdownOpen.set(false);\r\n this.nameModeChange.emit(index);\r\n }\r\n\r\n emitAndClose(event: Event, emitter: EventEmitter<void>): void {\r\n event.preventDefault();\r\n this.dropdownOpen.set(false);\r\n emitter.emit();\r\n }\r\n}\r\n","<div class=\"dropdown menu-dropdown-host\" [class.open]=\"dropdownOpen()\">\r\n <a href=\"#\" class=\"settings-toggle menu-icon-btn\" (click)=\"toggleDropdown($event)\" [title]=\"'Settings' | translate\">\r\n <fa-icon [icon]=\"cogIcon\" class=\"fs-6\"></fa-icon>\r\n </a>\r\n\r\n @if (dropdownOpen()) {\r\n <ul class=\"settings-menu menu-dropdown-panel\">\r\n @if (useAlternateNames) {\r\n <li>\r\n <a class=\"dropdown-item header-dropdown-item menu-row text-dark-gray\" [class.disabled]=\"!settingsEnabled\" (click)=\"onAlternateNamesClick($event)\">\r\n @if (displayAlternateNames) {\r\n <fa-icon class=\"menu-indicator menu-indicator-active\" [icon]=\"checkIcon\"></fa-icon>\r\n } @else {\r\n <fa-icon class=\"menu-indicator invisible\" [icon]=\"checkIcon\"></fa-icon>\r\n }\r\n {{ 'DisplayAlternateNames' | translate }}\r\n </a>\r\n </li>\r\n <li><hr class=\"dropdown-divider\"></li>\r\n }\r\n\r\n @if (hrCanBlock) {\r\n <li>\r\n @if (hrBlocked) {\r\n <a class=\"dropdown-item header-dropdown-item menu-row text-dark-gray\" (click)=\"emitAndClose($event, releaseHrClick)\">\r\n <fa-icon class=\"menu-indicator menu-indicator-active\" [icon]=\"checkIcon\"></fa-icon>\r\n {{ 'ReleaseHR' | translate }}\r\n </a>\r\n } @else {\r\n <a class=\"dropdown-item header-dropdown-item menu-row text-dark-gray\" (click)=\"emitAndClose($event, blockHrClick)\">\r\n <fa-icon class=\"menu-indicator invisible\" [icon]=\"checkIcon\"></fa-icon>\r\n {{ 'BlockHR' | translate }}\r\n </a>\r\n }\r\n </li>\r\n }\r\n\r\n @if (tkCanBlock) {\r\n <li>\r\n @if (tkBlocked) {\r\n <a class=\"dropdown-item header-dropdown-item menu-row text-dark-gray\" (click)=\"emitAndClose($event, releaseTkClick)\">\r\n <fa-icon class=\"menu-indicator menu-indicator-active\" [icon]=\"checkIcon\"></fa-icon>\r\n {{ 'ReleaseTK' | translate }}\r\n </a>\r\n } @else {\r\n <a class=\"dropdown-item header-dropdown-item menu-row text-dark-gray\" (click)=\"emitAndClose($event, blockTkClick)\">\r\n <fa-icon class=\"menu-indicator invisible\" [icon]=\"checkIcon\"></fa-icon>\r\n {{ 'BlockTK' | translate }}\r\n </a>\r\n }\r\n </li>\r\n }\r\n\r\n @if (hrCanBlock || tkCanBlock) {\r\n <li><hr class=\"dropdown-divider\"></li>\r\n }\r\n\r\n @if (nameModeItems.length > 0) {\r\n <li>\r\n <span class=\"menu-section-label\">{{ 'EmployeeNamesMode' | translate }}</span>\r\n </li>\r\n\r\n @for (item of nameModeItems; track item.id; let index = $index) {\r\n <li>\r\n <a class=\"dropdown-item header-dropdown-item menu-row text-dark-gray\" [class.disabled]=\"!settingsEnabled\" (click)=\"onNameModeClick(index, $event)\">\r\n @if (item.selected) {\r\n <fa-icon class=\"menu-indicator menu-indicator-active\" [icon]=\"checkIcon\"></fa-icon>\r\n } @else {\r\n <fa-icon class=\"menu-indicator invisible\" [icon]=\"checkIcon\"></fa-icon>\r\n }\r\n {{ item.text }}\r\n </a>\r\n </li>\r\n }\r\n\r\n <li><hr class=\"dropdown-divider\"></li>\r\n }\r\n\r\n <li>\r\n <a class=\"dropdown-item header-dropdown-item menu-row text-dark-gray\" (click)=\"emitAndClose($event, changePasswordClick)\">\r\n <span class=\"menu-indicator\"></span>\r\n {{ 'ChangePassword' | translate }}\r\n </a>\r\n </li>\r\n\r\n <li><hr class=\"dropdown-divider\"></li>\r\n\r\n <li>\r\n <a class=\"dropdown-item header-dropdown-item menu-row text-dark-gray\" (click)=\"emitAndClose($event, openAboutClick)\">\r\n <fa-icon class=\"menu-indicator\" [icon]=\"infoIcon\"></fa-icon>\r\n {{ 'About' | translate }}\r\n </a>\r\n </li>\r\n </ul>\r\n }\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n computed,\r\n inject,\r\n signal,\r\n} from '@angular/core';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { faPersonRunning } from '@fortawesome/pro-solid-svg-icons';\r\nimport { BayanEmployeeBadgeComponent, BayanEmployeeBadgeDTO } from '@skysoftware-co/bayan-components-ui';\r\nimport { TranslatePipe } from '@skysoftware-co/sky-components-ui';\r\nimport { UserPanel, PropertyOption } from '../../../shared/menu.dtos';\r\nimport { BayanCoreTopMenuService } from '../../../shared/menu.service';\r\n\r\n@Component({\r\n selector: 'bayan-core-user-panel-widget',\r\n standalone: true,\r\n imports: [CommonModule, FontAwesomeModule, BayanEmployeeBadgeComponent, TranslatePipe],\r\n templateUrl: './user-panel-widget.component.html',\r\n styleUrls: ['../../top-menu-widget.styles.css'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class BayanCoreUserPanelWidgetComponent implements OnInit, OnChanges {\r\n private readonly topMenuService = inject(BayanCoreTopMenuService);\r\n\r\n @Input() baseUrl = '';\r\n @Input() wrapperClass = 'menu-dropdown-host';\r\n @Input() dropdownOpenClass = 'open';\r\n @Input() toggleButtonClass = 'employee-toggle';\r\n @Input() employeeInfoClass = 'employee-info';\r\n @Input() userNameClass = 'user-name';\r\n @Input() propertyNameClass = 'property-name';\r\n @Input() caretClass = 'employee-caret';\r\n @Input() menuClass = 'employee-menu menu-dropdown-panel';\r\n @Input() sectionLabelClass = 'menu-section-label';\r\n @Input() menuItemClass = 'menu-item';\r\n @Input() menuItemActiveClass = 'menu-item-active';\r\n @Input() indicatorClass = 'menu-indicator';\r\n @Input() invisibleIndicatorClass = 'invisible';\r\n @Input() dividerClass = 'menu-divider';\r\n @Input() signOutButtonClass = 'menu-item menu-item-signout';\r\n @Input() showSignOutIcon = true;\r\n @Input() signOutIconClass = 'mx-2';\r\n\r\n @Output() propertyChanged = new EventEmitter<PropertyOption>();\r\n @Output() signOutClick = new EventEmitter<void>();\r\n\r\n readonly signOutIcon = faPersonRunning;\r\n readonly dropdownOpen = signal(false);\r\n readonly userPanel = signal<UserPanel | null>(null);\r\n\r\n readonly badge = computed<BayanEmployeeBadgeDTO>(() => ({\r\n EmployeePhotoKey: this.userPanel()?.PhotoPath ?? null,\r\n EmployeePhotoFailed: false,\r\n EmployeeNameInitials: this.userPanel()?.NameInitials ?? '',\r\n }));\r\n\r\n constructor(private readonly elementRef: ElementRef<HTMLElement>) {}\r\n\r\n ngOnInit(): void {\r\n this.loadUserPanel();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['baseUrl'] && !changes['baseUrl'].firstChange) {\r\n this.loadUserPanel();\r\n }\r\n }\r\n\r\n @HostListener('document:click', ['$event'])\r\n onDocumentClick(event: MouseEvent): void {\r\n const target = event.target as Node | null;\r\n if (target && !this.elementRef.nativeElement.contains(target)) {\r\n this.dropdownOpen.set(false);\r\n }\r\n }\r\n\r\n toggleDropdown(event: Event): void {\r\n event.preventDefault();\r\n this.dropdownOpen.update((value) => !value);\r\n }\r\n\r\n selectProperty(event: Event, property: PropertyOption): void {\r\n event.preventDefault();\r\n if (property.PropertyId === this.userPanel()?.ActivePropertyId) {\r\n this.dropdownOpen.set(false);\r\n return;\r\n }\r\n\r\n this.dropdownOpen.set(false);\r\n\r\n this.topMenuService\r\n .switchProperty(this.baseUrl, { PropertyId: property.PropertyId })\r\n .subscribe({\r\n next: () => {\r\n this.topMenuService.getUserPanel(this.baseUrl).subscribe({\r\n next: (userPanel) => {\r\n this.userPanel.set(userPanel);\r\n this.propertyChanged.emit(property);\r\n },\r\n });\r\n },\r\n });\r\n }\r\n\r\n signOut(event: Event): void {\r\n event.preventDefault();\r\n this.dropdownOpen.set(false);\r\n this.signOutClick.emit();\r\n }\r\n\r\n private loadUserPanel(): void {\r\n if (!this.baseUrl) {\r\n this.userPanel.set(null);\r\n return;\r\n }\r\n\r\n this.topMenuService.getUserPanel(this.baseUrl).subscribe({\r\n next: (userPanel) => {\r\n this.userPanel.set(userPanel);\r\n },\r\n error: () => {\r\n this.userPanel.set(null);\r\n },\r\n });\r\n }\r\n}\r\n","<div [ngClass]=\"[wrapperClass, dropdownOpen() ? dropdownOpenClass : '']\">\r\n <a href=\"#\" [class]=\"toggleButtonClass\" (click)=\"toggleDropdown($event)\">\r\n <bayan-employee-badge [badge]=\"badge()\" width=\"34px\" height=\"34px\"></bayan-employee-badge>\r\n\r\n <div [class]=\"employeeInfoClass\">\r\n <span [class]=\"userNameClass\">{{ userPanel()?.UserDisplayName || '' }}</span>\r\n\r\n @if (userPanel()?.ActivePropertyName) {\r\n <span [class]=\"propertyNameClass\">{{ userPanel()?.ActivePropertyName }}</span>\r\n }\r\n </div>\r\n\r\n <span [class]=\"caretClass\">▼</span>\r\n </a>\r\n\r\n @if (dropdownOpen()) {\r\n <ul [class]=\"menuClass\">\r\n @if ((userPanel()?.Properties?.length || 0) > 0) {\r\n <li [class]=\"sectionLabelClass\">{{ 'Properties' | translate }}</li>\r\n\r\n @for (property of userPanel()?.Properties ?? []; track property.PropertyId) {\r\n <li>\r\n <a\r\n class=\"text-dark-gray\"\r\n [ngClass]=\"[menuItemClass, property.PropertyId === userPanel()?.ActivePropertyId ? menuItemActiveClass : '']\"\r\n (click)=\"selectProperty($event, property)\">\r\n @if (property.PropertyId === userPanel()?.ActivePropertyId) {\r\n <span [class]=\"indicatorClass\">►</span>\r\n } @else {\r\n <span [class]=\"indicatorClass + ' ' + invisibleIndicatorClass\"></span>\r\n }\r\n\r\n {{ property.PropertyName }}\r\n </a>\r\n </li>\r\n }\r\n\r\n <li><hr [class]=\"dividerClass\"></li>\r\n }\r\n\r\n @if (!userPanel()?.IsSSOLogin) {\r\n <li>\r\n <a class=\"text-dark-gray\" [class]=\"signOutButtonClass\" (click)=\"signOut($event)\">\r\n @if (showSignOutIcon) {\r\n <fa-icon [class]=\"signOutIconClass\" [icon]=\"signOutIcon\"></fa-icon>\r\n }\r\n {{ 'SignOut' | translate }}\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n</div>\r\n","import { BayanCoreTopMenuService } from '../shared/menu.service';\r\nimport { TopMenuShortcut } from '../shared/menu.dtos';\r\nimport { PropertyOption, SystemModule } from '../shared/menu.dtos';\r\nimport { CommonModule, DOCUMENT } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output, inject, signal } from '@angular/core';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { IconDefinition } from '@fortawesome/fontawesome-svg-core';\r\nimport { faQuestionCircle } from '@fortawesome/pro-solid-svg-icons';\r\nimport { Router } from '@angular/router';\r\nimport { DxToolbarModule } from 'devextreme-angular';\r\nimport { TranslatePipe } from '@skysoftware-co/sky-components-ui';\r\nimport { isExternalNavigation, resolveUrl } from '../shared/common-methods/navigation.utils';\r\nimport {\r\n TopMenuWidgetAboutDialogConfig,\r\n TopMenuWidgetChangePasswordDialogConfig,\r\n TopMenuWidgetChangePasswordPayload,\r\n TopMenuWidgetNameModeItem,\r\n} from './top-menu-widget.models';\r\nimport { BayanCoreAboutDialogWidgetComponent } from './components/about-dialog-widget/about-dialog-widget.component';\r\nimport { BayanCoreChangePasswordWidgetComponent } from './components/change-password-widget/change-password-widget.component';\r\nimport { BayanCoreGlobalSearchWidgetComponent } from './components/global-search-widget/global-search-widget.component';\r\nimport { BayanCoreItemWidgetComponent } from './components/item-widget/item-widget.component';\r\nimport { BayanCoreNotificationsWidgetComponent } from './components/notifications-widget/notifications-widget.component';\r\nimport { BayanCoreSettingsWidgetComponent } from './components/settings-widget/settings-widget.component';\r\nimport { BayanCoreUserPanelWidgetComponent } from './components/user-panel-widget/user-panel-widget.component';\r\n\r\n@Component({\r\n selector: 'bayan-core-top-menu-widget',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n DxToolbarModule,\r\n FontAwesomeModule,\r\n TranslatePipe,\r\n BayanCoreItemWidgetComponent,\r\n BayanCoreGlobalSearchWidgetComponent,\r\n BayanCoreUserPanelWidgetComponent,\r\n BayanCoreSettingsWidgetComponent,\r\n BayanCoreAboutDialogWidgetComponent,\r\n BayanCoreChangePasswordWidgetComponent,\r\n BayanCoreNotificationsWidgetComponent,\r\n ],\r\n templateUrl: './top-menu-widget.component.html',\r\n styleUrls: ['./top-menu-widget.styles.css'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class BayanCoreTopMenuWidgetComponent implements OnInit {\r\n private readonly document = inject(DOCUMENT);\r\n private readonly router = inject(Router);\r\n private readonly menuService = inject(BayanCoreTopMenuService);\r\n\r\n @Input() baseUrl = '';\r\n @Input() systemModule : SystemModule | null =null;\r\n\r\n @Input() ShowShourtcutMenus = true;\r\n menuItems: TopMenuShortcut[] = [];\r\n\r\n @Input() sidebarCollapsed = false;\r\n @Input() homeUrl: string | null = null;\r\n @Input() logoUrl = 'https://cdn-dev.skysoftware.cloud/bayan/images/logo-enterprise-dark.png';\r\n @Input() collapsedLogoUrl = 'https://cdn-dev.skysoftware.cloud/bayan/images/logo-collapsed.png';\r\n @Output() logoClick = new EventEmitter<void>();\r\n\r\n @Input() isSsoLogin = false;\r\n @Input() useAlternateNames = false;\r\n @Input() displayAlternateNames = false;\r\n @Input() hrBlocked = false;\r\n @Input() hrCanBlock = false;\r\n @Input() tkBlocked = false;\r\n @Input() tkCanBlock = false;\r\n\r\n @Input() nameModeItems: TopMenuWidgetNameModeItem[] = [];\r\n @Input() settingsEnabled = true;\r\n @Input() useInternalDialogs = false;\r\n\r\n @Input() changePasswordLoading = false;\r\n @Input() changePasswordDialog: TopMenuWidgetChangePasswordDialogConfig = {\r\n title: 'ChangePassword',\r\n currentPasswordLabel: 'CurrentPassword',\r\n newPasswordLabel: 'NewPassword',\r\n confirmNewPasswordLabel: 'ConfirmPassword',\r\n primaryButtonText: 'Change',\r\n };\r\n\r\n @Input() aboutDialog: TopMenuWidgetAboutDialogConfig = {\r\n title: 'Sky Bayan Human Resources Management',\r\n logoUrl: 'https://cdn-dev.skysoftware.cloud/bayan/images/logo-enterprise.png',\r\n version: '',\r\n versionLabel: 'Version',\r\n copyright: `Copyright 2026, Sky Software Co LLC All Rights Reserved\r\nSky Bayan and Sky Bayan Logo are registered trademarks of Sky Software`,\r\n statusLabel: 'SkyBayanUpToDate',\r\n licenseButtonLabel: 'LicenseInformation',\r\n releaseNotesButtonLabel: 'ReleaseNotes',\r\n supportButtonLabel: 'TechnicalSupport',\r\n closeButtonLabel: 'Close',\r\n };\r\n\r\n @Input() showGlobalSearch = true;\r\n @Input() showUserPanel = true;\r\n @Input() showSettings = false;\r\n\r\n @Input() showNotifications = true;\r\n @Input() notificationsTitle = 'Notifications';\r\n\r\n @Input() showHelp = true;\r\n @Input() helpTitle = 'Help';\r\n @Input() helpUrl: string | null = 'https://docs.bayan.solutions/Bayan/index.html';\r\n @Input() helpIcon: IconDefinition = faQuestionCircle;\r\n @Input() helpAnchorClass = 'menu-icon-btn';\r\n @Input() helpUrlTarget: '_self' | '_blank' | string = '_blank';\r\n @Output() helpClick = new EventEmitter<void>();\r\n\r\n @Output() menuItemClick = new EventEmitter<TopMenuShortcut>();\r\n @Output() searchSubmit = new EventEmitter<string>();\r\n @Output() propertyChanged = new EventEmitter<PropertyOption>();\r\n @Output() signOutClick = new EventEmitter<void>();\r\n @Output() alternateNamesChange = new EventEmitter<void>();\r\n @Output() nameModeChange = new EventEmitter<number>();\r\n @Output() blockHrClick = new EventEmitter<void>();\r\n @Output() releaseHrClick = new EventEmitter<void>();\r\n @Output() blockTkClick = new EventEmitter<void>();\r\n @Output() releaseTkClick = new EventEmitter<void>();\r\n @Output() changePasswordClick = new EventEmitter<void>();\r\n @Output() openAboutClick = new EventEmitter<void>();\r\n @Output() aboutLicenseClick = new EventEmitter<void>();\r\n @Output() aboutReleaseNotesClick = new EventEmitter<void>();\r\n @Output() aboutSupportClick = new EventEmitter<void>();\r\n @Output() submitPasswordChange = new EventEmitter<TopMenuWidgetChangePasswordPayload>();\r\n\r\n readonly aboutVisible = signal(false);\r\n readonly changePasswordVisible = signal(false);\r\n\r\n ActivePropertyChanged = false;\r\n ActivePropertyId: number = 0;\r\n\r\n getLogoSrc(): string | null {\r\n if (this.sidebarCollapsed) {\r\n return this.collapsedLogoUrl || null;\r\n }\r\n\r\n return this.logoUrl || null;\r\n }\r\n\r\n onLogoClicked(event?: Event): void {\r\n event?.preventDefault();\r\n if(this.homeUrl){\r\n window.location.href = this.homeUrl;\r\n return;\r\n }\r\n\r\n this.logoClick.emit();\r\n }\r\n\r\n onHelpClicked(event?: Event): void {\r\n event?.preventDefault();\r\n if(this.helpUrl){\r\n window.open(this.helpUrl, this.helpUrlTarget);\r\n return;\r\n }\r\n this.helpClick.emit();\r\n }\r\n\r\n onChangePasswordRequested(): void {\r\n this.changePasswordClick.emit();\r\n if (this.useInternalDialogs) {\r\n this.changePasswordVisible.set(true);\r\n }\r\n }\r\n\r\n onAboutRequested(): void {\r\n this.openAboutClick.emit();\r\n if (this.useInternalDialogs) {\r\n this.aboutVisible.set(true);\r\n }\r\n }\r\n\r\n onPropertyChanged(property: PropertyOption): void {\r\n this.ActivePropertyChanged = !this.ActivePropertyChanged;\r\n this.ActivePropertyId = property.PropertyId;\r\n this.propertyChanged.emit(property);\r\n this.loadShortcutMenus();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loadShortcutMenus();\r\n }\r\n\r\n private loadShortcutMenus(): void {\r\n if (this.ShowShourtcutMenus && this.ActivePropertyId > 0 && this.systemModule && this.baseUrl) {\r\n this.menuService.getMicroserviceTopMenusShortcut(this.baseUrl, this.ActivePropertyId, this.systemModule)\r\n .subscribe({\r\n next: (menus: any) => this.menuItems = menus ?? [],\r\n error: () => this.menuItems = []\r\n });\r\n } else {\r\n this.menuItems = [];\r\n }\r\n }\r\n}\r\n","<header class=\"top-bar-header shadow-sm w-100 sticky-top\">\r\n <dx-toolbar class=\"header-toolbar px-4\">\r\n <dxi-item location=\"before\">\r\n <div *dxTemplate>\r\n <a\r\n class=\"navbar-brand-link\" href=\"#\"\r\n [class.collapsed]=\"sidebarCollapsed\"\r\n (click)=\"onLogoClicked($event)\">\r\n <img\r\n [src]=\"getLogoSrc()\"\r\n alt=\"\"\r\n [class.header-logo]=\"!sidebarCollapsed\"\r\n [class.header-logo-collapsed]=\"sidebarCollapsed && !!collapsedLogoUrl\">\r\n </a>\r\n </div>\r\n </dxi-item>\r\n\r\n @if (ShowShourtcutMenus) {\r\n <dxi-item location=\"before\" locateInMenu=\"never\">\r\n <div *dxTemplate>\r\n <ul class=\"nav navbar-nav d-flex flex-row align-items-center mb-0 gap-1\">\r\n @for (item of menuItems; track item.MenuName) {\r\n <bayan-core-item-widget [item]=\"item\"\r\n [baseUrl]=\"baseUrl\"\r\n [ActivePropertyChanged]=\"ActivePropertyChanged\"\r\n (itemClick)=\"menuItemClick.emit($event)\">\r\n </bayan-core-item-widget>\r\n }\r\n </ul>\r\n </div>\r\n </dxi-item>\r\n }\r\n\r\n @if (showGlobalSearch) {\r\n <dxi-item location=\"after\" locateInMenu=\"never\">\r\n <div *dxTemplate>\r\n <bayan-core-global-search-widget\r\n [baseUrl]=\"baseUrl\"\r\n [ActivePropertyId]=\"ActivePropertyId\"\r\n [ActivePropertyChanged]=\"ActivePropertyChanged\"\r\n (search)=\"searchSubmit.emit($event)\">\r\n </bayan-core-global-search-widget>\r\n </div>\r\n </dxi-item>\r\n }\r\n\r\n @if (showUserPanel) {\r\n <dxi-item location=\"after\" locateInMenu=\"never\">\r\n <div *dxTemplate>\r\n <bayan-core-user-panel-widget\r\n [baseUrl]=\"baseUrl\"\r\n [showSignOutIcon]=\"false\"\r\n (propertyChanged)=\"onPropertyChanged($event)\"\r\n (signOutClick)=\"signOutClick.emit()\">\r\n </bayan-core-user-panel-widget>\r\n </div>\r\n </dxi-item>\r\n }\r\n\r\n @if (showSettings) {\r\n <dxi-item location=\"after\" locateInMenu=\"never\">\r\n <div *dxTemplate>\r\n <bayan-core-settings-widget\r\n [ActivePropertyChanged]=\"ActivePropertyChanged\"\r\n [useAlternateNames]=\"useAlternateNames\"\r\n [displayAlternateNames]=\"displayAlternateNames\"\r\n [hrBlocked]=\"hrBlocked\"\r\n [hrCanBlock]=\"hrCanBlock\"\r\n [tkBlocked]=\"tkBlocked\"\r\n [tkCanBlock]=\"tkCanBlock\"\r\n [nameModeItems]=\"nameModeItems\"\r\n [settingsEnabled]=\"settingsEnabled\"\r\n (alternateNamesChange)=\"alternateNamesChange.emit()\"\r\n (nameModeChange)=\"nameModeChange.emit($event)\"\r\n (blockHrClick)=\"blockHrClick.emit()\"\r\n (releaseHrClick)=\"releaseHrClick.emit()\"\r\n (blockTkClick)=\"blockTkClick.emit()\"\r\n (releaseTkClick)=\"releaseTkClick.emit()\"\r\n (changePasswordClick)=\"onChangePasswordRequested()\"\r\n (openAboutClick)=\"onAboutRequested()\">\r\n </bayan-core-settings-widget>\r\n </div>\r\n </dxi-item>\r\n }\r\n\r\n @if (showNotifications) {\r\n <dxi-item location=\"after\" locateInMenu=\"never\">\r\n <div *dxTemplate>\r\n <bayan-core-notifications-widget [baseUrl]=\"baseUrl\"\r\n [title]=\"notificationsTitle | translate\" >\r\n </bayan-core-notifications-widget>\r\n </div>\r\n </dxi-item>\r\n }\r\n\r\n @if (showHelp) {\r\n <dxi-item location=\"after\" locateInMenu=\"never\">\r\n <div *dxTemplate>\r\n <a\r\n [class]=\"helpAnchorClass\"\r\n [title]=\"helpTitle | translate\"\r\n [target]=\"helpUrlTarget\"\r\n href=\"#\"\r\n (click)=\"onHelpClicked($event)\">\r\n <fa-icon [icon]=\"helpIcon\" class=\"fs-6\"></fa-icon>\r\n </a>\r\n </div>\r\n </dxi-item>\r\n }\r\n </dx-toolbar>\r\n</header>\r\n\r\n@if (useInternalDialogs) {\r\n <bayan-core-about-dialog-widget\r\n [baseUrl]=\"baseUrl\"\r\n [visible]=\"aboutVisible()\"\r\n [config]=\"aboutDialog\"\r\n (visibleChange)=\"aboutVisible.set($event)\"\r\n (licenseClick)=\"aboutLicenseClick.emit()\"\r\n (releaseNotesClick)=\"aboutReleaseNotesClick.emit()\"\r\n (supportClick)=\"aboutSupportClick.emit()\">\r\n </bayan-core-about-dialog-widget>\r\n\r\n <bayan-core-change-password-widget\r\n [baseUrl]=\"baseUrl\"\r\n [visible]=\"changePasswordVisible()\"\r\n [config]=\"changePasswordDialog\"\r\n [isSubmitting]=\"changePasswordLoading\"\r\n (visibleChange)=\"changePasswordVisible.set($event)\"\r\n (submitPasswordChange)=\"submitPasswordChange.emit($event)\">\r\n </bayan-core-change-password-widget>\r\n}\r\n","export interface ApiEnvelope<T> {\r\n ResponseData: T;\r\n ApiVersion: number;\r\n}\r\n\r\nexport interface TopMenuShortcut {\r\n MenuName: string;\r\n MenuUrl: string | null;\r\n Children: TopMenuShortcut[];\r\n}\r\n\r\nexport interface SystemMenu {\r\n MenuName: string;\r\n MenuUrl: string | null;\r\n IconClass: string | null;\r\n Expanded: boolean;\r\n Children: SystemMenu[];\r\n}\r\n\r\nexport interface GlobalSearchMenu {\r\n MenuTitle: string;\r\n MenuSubTitle: string;\r\n IconClass: string;\r\n MenuUrl: string;\r\n IsTranslatable: boolean;\r\n}\r\n\r\nexport interface PropertyOption {\r\n PropertyId: number;\r\n PropertyName: string;\r\n}\r\n\r\nexport interface UserPanel {\r\n UserDisplayName: string;\r\n ActivePropertyId: number;\r\n ActivePropertyName: string;\r\n PhotoPath: string | null;\r\n NameInitials: string;\r\n IsSSOLogin: boolean;\r\n Properties: PropertyOption[];\r\n}\r\n\r\nexport interface SwitchPropertyRequest {\r\n PropertyId: number;\r\n}\r\n\r\nexport interface SwitchPropertyResult {\r\n PropertyId: number;\r\n}\r\n\r\nexport enum EmployeeNamesModeOption {\r\n ShortNames = 1,\r\n StandardNames = 2,\r\n FullNames = 3,\r\n}\r\n\r\nexport interface AppFramePreferences {\r\n UseAlternateNames: boolean;\r\n DisplayAlternateNames: boolean;\r\n EmployeeNamesMode: EmployeeNamesModeOption;\r\n VersionNumber: string;\r\n}\r\n\r\nexport interface SetDisplayAlternateNamesRequest {\r\n DisplayAlternateNames: boolean;\r\n}\r\n\r\nexport interface SetEmployeeNamesModeRequest {\r\n EmployeeNamesMode: EmployeeNamesModeOption;\r\n}\r\n\r\nexport enum BlockableModule {\r\n HumanResources = 4,\r\n Timekeeping = 5,\r\n}\r\n\r\nexport interface ModuleBlockState {\r\n IsBlocked: boolean;\r\n UserCanBlockModule: boolean;\r\n}\r\n\r\nexport interface BlockReleaseModuleRequest {\r\n Module: BlockableModule;\r\n}\r\n\r\nexport interface NotificationsSummary {\r\n TotalNotificationsCount: number;\r\n NotificationsUrl: string;\r\n}\r\n\r\nexport interface ChangePasswordRequest {\r\n CurrentPassword: string;\r\n NewPassword: string;\r\n}\r\n\r\nexport enum SystemModule {\r\n Corporate = 1,\r\n Cluster = 2,\r\n Setup = 3,\r\n HumanResources = 4,\r\n Timekeeping = 5,\r\n Payroll = 6,\r\n Training = 7,\r\n Workflow = 8,\r\n Appraisal = 9,\r\n BusinessIntelligence = 10,\r\n}\r\n","/*\r\n * Public API Surface of bayan-core-ui\r\n */\r\n\r\nexport * from './lib/top-menu-widget/top-menu-widget.component';\r\nexport * from './lib/shared/menu.dtos';\r\nexport * from './lib/shared/menu.service';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i3","i2","i4"],"mappings":";;;;;;;;;;;;;;;;;;MAyBa,uBAAuB,CAAA;AACjB,IAAA,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;AAElC,IAAA,MAAM,CAAI,GAA+B,EAAA;QAC/C,OAAO,GAAG,CAAC,IAAI,CACb,GAAG,CAAC,CAAC,GAAG,KAAI;AACV,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;AACrB,gBAAA,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC;YACrC;YAEA,OAAO,GAAG,CAAC,YAAY;AACzB,QAAA,CAAC,CAAC,EACF,UAAU,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAC/C;IACH;AAEQ,IAAA,UAAU,CAAC,OAAe,EAAA;QAChC,IAAI,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAC,EAAE,CAAC;QACpC,OAAO,CAAA,EAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA,cAAA,CAAgB;IAClD;AAEA,IAAA,8BAA8B,CAC5B,OAAe,EACf,UAA2B,EAC3B,YAA0B,EAAA;AAE1B,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU;AAC1B,aAAA,GAAG,CAAC,YAAY,EAAE,UAAU;AAC5B,aAAA,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC;QAEpC,OAAO,IAAI,CAAC,MAAM,CAChB,IAAI,CAAC,IAAI,CAAC,GAAG,CAA4B,CAAA,EAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA,UAAA,CAAY,EAAE,EAAE,MAAM,EAAE,CAAC,CAC9F;IACH;AAEA,IAAA,+BAA+B,CAC7B,OAAe,EACf,UAA2B,EAC3B,YAA0B,EAAA;AAE1B,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU;AAC1B,aAAA,GAAG,CAAC,YAAY,EAAE,UAAU;AAC5B,aAAA,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC;AAEpC,QAAA,OAAO,IAAI,CAAC,MAAM,CAChB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAiC,CAAA,EAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,EAAE;YACzF,MAAM;AACP,SAAA,CAAC,CACH;IACH;IAEA,oBAAoB,CAAC,OAAe,EAAE,UAAmB,EAAA;AACvD,QAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE;AAE7B,QAAA,IAAI,UAAU,IAAI,IAAI,EAAE;YACtB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC;QAC/C;QAEA,OAAO,IAAI,CAAC,MAAM,CAChB,IAAI,CAAC,IAAI,CAAC,GAAG,CACX,CAAA,EAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA,mBAAA,CAAqB,EAChD,EAAE,MAAM,EAAE,CACX,CACF;IACH;AAEA,IAAA,YAAY,CAAC,OAAe,EAAA;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAyB,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA,WAAA,CAAa,CAAC,CAAC;IACrG;IAEA,cAAc,CAAC,OAAe,EAAE,OAA8B,EAAA;QAC5D,OAAO,IAAI,CAAC,MAAM,CAChB,IAAI,CAAC,IAAI,CAAC,IAAI,CACZ,CAAA,EAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,kBAAkB,EAC7C,OAAO,CACR,CACF;IACH;AAEA,IAAA,cAAc,CAAC,OAAe,EAAA;QAC5B,OAAO,IAAI,CAAC,MAAM,CAChB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAmC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA,YAAA,CAAc,CAAC,CAC3F;IACH;IAEA,wBAAwB,CACtB,OAAe,EACf,OAAwC,EAAA;AAExC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,CAAA,EAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,8BAA8B,EAAE,OAAO,CAAC;IACjG;IAEA,oBAAoB,CAAC,OAAe,EAAE,OAAoC,EAAA;AACxE,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,CAAA,EAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,kCAAkC,EAC7D,OAAO,CACR;IACH;IAEA,mBAAmB,CACjB,OAAe,EACf,YAA4C,EAAA;AAE5C,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC;AAEjE,QAAA,OAAO,IAAI,CAAC,MAAM,CAChB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAgC,CAAA,EAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,qBAAqB,EAAE;YAC7F,MAAM;AACP,SAAA,CAAC,CACH;IACH;IAEA,WAAW,CAAC,OAAe,EAAE,OAAkC,EAAA;AAC7D,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,CAAA,EAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC;IAClF;IAEA,aAAa,CAAC,OAAe,EAAE,OAAkC,EAAA;AAC/D,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,CAAA,EAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpF;AAEA,IAAA,uBAAuB,CAAC,OAAe,EAAA;QACrC,OAAO,IAAI,CAAC,MAAM,CAChB,IAAI,CAAC,IAAI,CAAC,GAAG,CACX,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA,sBAAA,CAAwB,CACpD,CACF;IACH;IAEA,cAAc,CAAC,OAAe,EAAE,OAA8B,EAAA;AAC5D,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAU,CAAA,EAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACxF;wGAlIW,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAvB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cAFtB,MAAM,EAAA,CAAA;;4FAEP,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCTY,mCAAmC,CAAA;IACrC,OAAO,GAAG,EAAE;IACZ,OAAO,GAAG,KAAK;AACG,IAAA,MAAM;AAEvB,IAAA,aAAa,GAAG,IAAI,YAAY,EAAW;AAC3C,IAAA,YAAY,GAAG,IAAI,YAAY,EAAQ;AACvC,IAAA,iBAAiB,GAAG,IAAI,YAAY,EAAQ;AAC5C,IAAA,YAAY,GAAG,IAAI,YAAY,EAAQ;IAExC,eAAe,GAAG,aAAa;AAExC,IAAA,eAAe,CAAC,KAAiB,EAAA;QAC/B,IAAK,KAAK,CAAC,MAAsB,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;YACtE,IAAI,CAAC,WAAW,EAAE;QACpB;IACF;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;IAChC;wGApBW,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAnC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mCAAmC,iTCfhD,srEAqCA,EAAA,MAAA,EAAA,CAAA,8+PAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED3BY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,iBAAiB,wPAAE,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FAK7C,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAR/C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gCAAgC,EAAA,UAAA,EAC9B,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,iBAAiB,EAAE,aAAa,CAAC,EAAA,eAAA,EAGxC,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,srEAAA,EAAA,MAAA,EAAA,CAAA,8+PAAA,CAAA,EAAA;8BAGtC,OAAO,EAAA,CAAA;sBAAf;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBAC0B,MAAM,EAAA,CAAA;sBAAhC,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAEf,aAAa,EAAA,CAAA;sBAAtB;gBACS,YAAY,EAAA,CAAA;sBAArB;gBACS,iBAAiB,EAAA,CAAA;sBAA1B;gBACS,YAAY,EAAA,CAAA;sBAArB;;;MEPU,sCAAsC,CAAA;IACxC,OAAO,GAAG,EAAE;IACZ,OAAO,GAAG,KAAK;AACG,IAAA,MAAM;IACxB,YAAY,GAAG,KAAK;AACnB,IAAA,aAAa,GAAG,IAAI,YAAY,EAAW;AAC3C,IAAA,oBAAoB,GAAG,IAAI,YAAY,EAAsC;AAEtD,IAAA,kBAAkB;AAE1C,IAAA,mBAAmB,GAAG,MAAM,CAAsB,UAAU,CAAC;AAC7D,IAAA,eAAe,GAAG,MAAM,CAAsB,UAAU,CAAC;AACzD,IAAA,sBAAsB,GAAG,MAAM,CAAsB,UAAU,CAAC;AAEzE,IAAA,QAAQ,GAAuC;AAC7C,QAAA,eAAe,EAAE,EAAE;AACnB,QAAA,WAAW,EAAE,EAAE;AACf,QAAA,kBAAkB,EAAE,EAAE;KACvB;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACpB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,SAAS,EAAE;IAClB;IAEA,SAAS,GAAA;QACP,IAAI,CAAC,QAAQ,GAAG;AACd,YAAA,eAAe,EAAE,EAAE;AACnB,YAAA,WAAW,EAAE,EAAE;AACf,YAAA,kBAAkB,EAAE,EAAE;SACvB;IACH;IAEA,iBAAiB,GAAA;AACf,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,IAAI,KAAK;QAC7E,IAAI,CAAC,OAAO,EAAE;YACZ;QACF;AAEA,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IACtD;AAEA,IAAA,kBAAkB,CAAC,KAA2E,EAAA;AAC5F,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE;AAC7B,QAAA,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,KAAK,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;IAC3D;IAEA,WAAW,CAAC,KAA+C,EAAE,KAAa,EAAA;QACxE,IAAI,CAAC,QAAQ,GAAG;YACd,GAAG,IAAI,CAAC,QAAQ;YAChB,CAAC,KAAK,GAAG,KAAK;SACf;IACH;IAEA,qBAAqB,GAAA;AACnB,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,IAAI,CAAC,QAAQ,CAAC,kBAAkB;IAC/K;IAEA,+BAA+B,GAAA;QAC7B,OAAO;AACL,YAAA,SAAS,EAAE,GAAG;YACd,QAAQ,EAAE,IAAI,CAAC,YAAY;AAC3B,YAAA,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE;AAChC,YAAA,cAAc,EAAE,CAAC,KAAyB,KAAK,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;AACrG,YAAA,OAAO,EAAE,CAAC;AACR,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,QAAQ,EAAE,OAAO;AACjB,oBAAA,OAAO,EAAE;AACP,wBAAA,WAAW,EAAE,MAAM;AACnB,wBAAA,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE,KAAK,MAAM,GAAG,SAAS,GAAG,UAAU;wBACpE,OAAO,EAAE,MAAM,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC;AAC9D,qBAAA;iBACF,CAAC;SACH;IACH;IAEA,2BAA2B,GAAA;QACzB,OAAO;AACL,YAAA,SAAS,EAAE,GAAG;YACd,QAAQ,EAAE,IAAI,CAAC,YAAY;AAC3B,YAAA,IAAI,EAAE,IAAI,CAAC,eAAe,EAAE;AAC5B,YAAA,cAAc,EAAE,CAAC,KAAyB,KAAK,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;AACjG,YAAA,OAAO,EAAE,CAAC;AACR,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,QAAQ,EAAE,OAAO;AACjB,oBAAA,OAAO,EAAE;AACP,wBAAA,WAAW,EAAE,MAAM;AACnB,wBAAA,IAAI,EAAE,IAAI,CAAC,eAAe,EAAE,KAAK,MAAM,GAAG,SAAS,GAAG,UAAU;wBAChE,OAAO,EAAE,MAAM,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;AAC1D,qBAAA;iBACF,CAAC;SACH;IACH;IAEA,+BAA+B,GAAA;QAC7B,OAAO;AACL,YAAA,SAAS,EAAE,GAAG;YACd,QAAQ,EAAE,IAAI,CAAC,YAAY;AAC3B,YAAA,IAAI,EAAE,IAAI,CAAC,sBAAsB,EAAE;AACnC,YAAA,cAAc,EAAE,CAAC,KAAyB,KAAK,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;AACxG,YAAA,OAAO,EAAE,CAAC;AACR,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,QAAQ,EAAE,OAAO;AACjB,oBAAA,OAAO,EAAE;AACP,wBAAA,WAAW,EAAE,MAAM;AACnB,wBAAA,IAAI,EAAE,IAAI,CAAC,sBAAsB,EAAE,KAAK,MAAM,GAAG,SAAS,GAAG,UAAU;wBACvE,OAAO,EAAE,MAAM,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC;AACjE,qBAAA;iBACF,CAAC;SACH;IACH;IAEA,kBAAkB,GAAG,MAAc,IAAI,CAAC,QAAQ,CAAC,WAAW;wGAjHjD,sCAAsC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAtC,sCAAsC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChBnD,oiEAuDA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED3CY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAAA,qBAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,aAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,SAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,OAAA,EAAA,eAAA,EAAA,cAAA,EAAA,SAAA,EAAA,OAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,aAAA,EAAA,eAAA,EAAA,WAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,sBAAA,EAAA,gBAAA,EAAA,yBAAA,EAAA,mBAAA,EAAA,2BAAA,EAAA,wBAAA,EAAA,yBAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,0BAAA,EAAA,0BAAA,EAAA,YAAA,EAAA,yBAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,aAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,4BAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,QAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,SAAA,EAAA,OAAA,EAAA,eAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,uBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,uBAAA,EAAA,kCAAA,EAAA,gBAAA,EAAA,wBAAA,EAAA,qBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,YAAA,EAAA,yBAAA,EAAA,eAAA,EAAA,aAAA,EAAA,qBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,2BAAA,EAAA,wBAAA,EAAA,wBAAA,EAAA,6BAAA,EAAA,gBAAA,EAAA,uBAAA,EAAA,eAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,eAAA,EAAA,SAAA,EAAA,SAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,WAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,WAAA,EAAA,eAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,eAAA,EAAA,qBAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,aAAA,EAAA,UAAA,EAAA,KAAA,EAAA,WAAA,EAAA,eAAA,EAAA,aAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,aAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,SAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,eAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,cAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,WAAA,EAAA,cAAA,EAAA,WAAA,EAAA,QAAA,EAAA,eAAA,EAAA,WAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,KAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,yBAAyB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,qBAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,oBAAA,EAAA,sBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FAIlF,sCAAsC,EAAA,UAAA,EAAA,CAAA;kBAPlD,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mCAAmC,cACjC,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,yBAAyB,EAAE,aAAa,CAAC,EAAA,eAAA,EAE7E,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,oiEAAA,EAAA;8BAGtC,OAAO,EAAA,CAAA;sBAAf;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBAC0B,MAAM,EAAA,CAAA;sBAAhC,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAChB,YAAY,EAAA,CAAA;sBAApB;gBACS,aAAa,EAAA,CAAA;sBAAtB;gBACS,oBAAoB,EAAA,CAAA;sBAA7B;gBAEgC,kBAAkB,EAAA,CAAA;sBAAlD,SAAS;uBAAC,oBAAoB;;;MEKpB,oCAAoC,CAAA;AAC9B,IAAA,WAAW,GAAG,MAAM,CAAC,uBAAuB,CAAC;AAC7C,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AAEP,IAAA,kBAAkB;IAE1C,OAAO,GAAG,EAAE;IACZ,qBAAqB,GAAG,KAAK;IAC7B,gBAAgB,GAAW,CAAC;IAC5B,WAAW,GAAG,gBAAgB;IAE9B,UAAU,GAA8B,UAAU;IAClD,WAAW,GAAyC,QAAQ;IAC5D,kBAAkB,GAAG,yBAAyB;IAC9C,eAAe,GAAG,sEAAsE;IACxF,oBAAoB,GAAG,sFAAsF;IAC7G,uBAAuB,GAAG,iEAAiE;IAC3F,SAAS,GAAG,sBAAsB;AAEjC,IAAA,MAAM,GAAG,IAAI,YAAY,EAAU;AACnC,IAAA,YAAY,GAAG,IAAI,YAAY,EAAoB;IAE7D,UAAU,GAAuB,EAAE;IAC1B,SAAS,GAAG,OAAO;IACnB,QAAQ,GAAG,MAAM;IACjB,UAAU,GAAG,QAAQ;IACrB,SAAS,GAAG,OAAO;IACnB,SAAS,GAAG,OAAO;IACnB,QAAQ,GAAG,WAAW;IACtB,SAAS,GAAG,OAAO;IACnB,YAAY,GAAG,eAAe;IAEvC,QAAQ,GAAA;QACN,IAAI,CAAC,SAAS,EAAE;IAClB;;IAIQ,SAAS,GAAA;QACf,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC,EAAE;AAC7C,YAAA,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC;AACnF,gBAAA,IAAI,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,UAAU,GAAG,KAAK,IAAI,EAAE;gBAC9C,KAAK,EAAE,MAAM,IAAI,CAAC,UAAU,GAAG;AAChC,aAAA,CAAC;QACJ;IACF;AAEA,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IACE,OAAO,CAAC,uBAAuB;AAC5B,eAAA,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;AAClC,eAAA,OAAO,CAAC,uBAAuB,CAAC,CAAC,aAAa,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC,YAAY,EACnG;YACA,IAAI,CAAC,KAAK,EAAE;YACZ,IAAI,CAAC,SAAS,EAAE;QAClB;IACF;AAEA,IAAA,OAAO,CAAC,KAAuH,EAAA;QAC7H,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK;AAC7C,QAAA,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AAChE,YAAA,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;QACrD;IACF;AAEA,IAAA,UAAU,CAAC,KAAwD,EAAA;AACjE,QAAA,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE;QACvE,IAAI,CAAC,UAAU,EAAE;YACf;QACF;AAEA,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAChC,CAAC,IAAI,KAAK,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CACrF;QAED,IAAI,KAAK,EAAE;YACP,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO;AACtC,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;YAC7B;QACF;AAEA,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;IAC9B;IAEA,cAAc,CAAC,KAAY,EAAE,IAAsB,EAAA;QACjD,KAAK,CAAC,cAAc,EAAE;QACtB,KAAK,CAAC,eAAe,EAAE;AACrB,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO;QACrC;IACJ;IAEA,KAAK,GAAA;QACH,IAAI,CAAC,kBAAkB,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;IACxD;AAEA,IAAA,OAAO,CAAC,IAAY,EAAE,cAAc,GAAG,KAAK,EAAA;QAC1C,OAAO,cAAc,GAAG,IAAI,GAAG,IAAI;IACrC;AAEA,IAAA,eAAe,CAAC,SAAiB,EAAA;QAC/B,QAAQ,SAAS;AACf,YAAA,KAAK,iBAAiB;gBACpB,OAAO,IAAI,CAAC,SAAS;AACvB,YAAA,KAAK,gBAAgB;gBACnB,OAAO,IAAI,CAAC,QAAQ;AACtB,YAAA,KAAK,kBAAkB;gBACrB,OAAO,IAAI,CAAC,UAAU;AACxB,YAAA,KAAK,iBAAiB;gBACpB,OAAO,IAAI,CAAC,SAAS;AACvB,YAAA,KAAK,iBAAiB;gBACpB,OAAO,IAAI,CAAC,SAAS;AACvB,YAAA,KAAK,gBAAgB;gBACnB,OAAO,IAAI,CAAC,QAAQ;AACtB,YAAA,KAAK,iBAAiB;gBACpB,OAAO,IAAI,CAAC,SAAS;AACvB,YAAA,KAAK,0BAA0B;gBAC7B,OAAO,IAAI,CAAC,YAAY;AAC1B,YAAA;gBACE,OAAO,IAAI,CAAC,SAAS;;IAE3B;wGA1HW,oCAAoC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAApC,oCAAoC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC7BjD,q0CAuCA,EAAA,MAAA,EAAA,CAAA,8+PAAA,EAAA,sDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDhBY,YAAY,8BAAE,oBAAoB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,SAAA,EAAA,eAAA,EAAA,QAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,SAAA,EAAA,SAAA,EAAA,OAAA,EAAA,cAAA,EAAA,OAAA,EAAA,WAAA,EAAA,cAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,eAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,uBAAA,EAAA,2BAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,SAAA,EAAA,OAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,OAAA,EAAA,aAAA,EAAA,YAAA,EAAA,WAAA,EAAA,YAAA,EAAA,eAAA,EAAA,SAAA,EAAA,aAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,sBAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,8BAAA,EAAA,uBAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,eAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,YAAA,EAAA,yBAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,eAAA,EAAA,aAAA,EAAA,oBAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,0BAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,0BAAA,EAAA,uBAAA,EAAA,wBAAA,EAAA,6BAAA,EAAA,iCAAA,EAAA,wBAAA,EAAA,aAAA,EAAA,wBAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,aAAA,EAAA,oBAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FAMnE,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBAThD,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iCAAiC,EAAA,UAAA,EAC/B,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,aAAa,CAAC,EAAA,eAAA,EAI9D,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,q0CAAA,EAAA,MAAA,EAAA,CAAA,8+PAAA,EAAA,sDAAA,CAAA,EAAA;8BAOd,kBAAkB,EAAA,CAAA;sBAAlD,SAAS;uBAAC,oBAAoB;gBAEtB,OAAO,EAAA,CAAA;sBAAf;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACQ,gBAAgB,EAAA,CAAA;sBAAxB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBAEQ,UAAU,EAAA,CAAA;sBAAlB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,kBAAkB,EAAA,CAAA;sBAA1B;gBACQ,eAAe,EAAA,CAAA;sBAAvB;gBACQ,oBAAoB,EAAA,CAAA;sBAA5B;gBACQ,uBAAuB,EAAA,CAAA;sBAA/B;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBAES,MAAM,EAAA,CAAA;sBAAf;gBACS,YAAY,EAAA,CAAA;sBAArB;;;MErBU,4BAA4B,CAAA;AAoBV,IAAA,UAAA;AAnBZ,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAE/B,OAAO,GAAG,EAAE;IACZ,qBAAqB,GAAG,KAAK;AACX,IAAA,IAAI;IAEtB,YAAY,GAAG,UAAU;IACzB,YAAY,GAAG,UAAU;IACzB,aAAa,GAAG,mBAAmB;IACnC,iBAAiB,GAAG,MAAM;IAC1B,mBAAmB,GAAG,0BAA0B;IAChD,UAAU,GAAG,OAAO;IACpB,iBAAiB,GAAG,mCAAmC;AAEtD,IAAA,SAAS,GAAG,IAAI,YAAY,EAAmB;AAEhD,IAAA,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC;AAE7B,IAAA,WAAA,CAA6B,UAAmC,EAAA;QAAnC,IAAA,CAAA,UAAU,GAAV,UAAU;IAA4B;AAEnE,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IACE,OAAO,CAAC,uBAAuB;AAC5B,eAAA,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;AAClC,eAAA,OAAO,CAAC,uBAAuB,CAAC,CAAC,aAAa,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC,YAAY,EACnG;AACA,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;QACtB;IACF;AAGA,IAAA,eAAe,CAAC,KAAiB,EAAA;AAC/B,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB;AAC1C,QAAA,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC7D,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;QACtB;IACF;IAEA,WAAW,GAAA;AACT,QAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,MAAM,GAAG,CAAC;IAC9C;AAEA,IAAA,eAAe,CAAC,KAAY,EAAA;QAC1B,KAAK,CAAC,cAAc,EAAE;AAEtB,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;YACtB,KAAK,CAAC,eAAe,EAAE;AACvB,YAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC;YACnC;QACF;QAEA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AAC5B,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE;YAC5E,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;QAC1C;AAAO,aAAA,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAC5B,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO;QAC1C;IACJ;AAEA,IAAA,gBAAgB,CAAC,IAAqB,EAAA;AACpC,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;AACpB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;IAC3B;wGAhEW,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA5B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,kiBC7BzC,6zCAuCA,EAAA,MAAA,EAAA,CAAA,8+PAAA,EAAA,2BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDVa,4BAA4B,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,cAAA,EAAA,cAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,YAAA,EAAA,mBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAN7B,YAAY,0BAAE,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FAM1B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBATxC,SAAS;+BACE,wBAAwB,EAAA,UAAA,EACtB,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,aAAa,CAAC,EAAA,eAAA,EAIrB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,6zCAAA,EAAA,MAAA,EAAA,CAAA,8+PAAA,EAAA,2BAAA,CAAA,EAAA;+EAMtC,OAAO,EAAA,CAAA;sBAAf;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBAC0B,IAAI,EAAA,CAAA;sBAA9B,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAEhB,YAAY,EAAA,CAAA;sBAApB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBACQ,iBAAiB,EAAA,CAAA;sBAAzB;gBACQ,mBAAmB,EAAA,CAAA;sBAA3B;gBACQ,UAAU,EAAA,CAAA;sBAAlB;gBACQ,iBAAiB,EAAA,CAAA;sBAAzB;gBAES,SAAS,EAAA,CAAA;sBAAlB;gBAiBD,eAAe,EAAA,CAAA;sBADd,YAAY;uBAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC;;;MElC/B,qCAAqC,CAAA;AAC/B,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,IAAA,cAAc,GAAG,MAAM,CAAC,uBAAuB,CAAC;IAExD,OAAO,GAAG,EAAE;IACZ,KAAK,GAAG,eAAe;IACvB,YAAY,GAAG,4CAA4C;IAC3D,SAAS,GAAG,qDAAqD;IACjE,SAAS,GAAG,MAAM;IAClB,UAAU,GAAG,qBAAqB;IAElC,QAAQ,GAAG,MAAM;IACjB,oBAAoB,GAAG,MAAM,CAAuB;AAC3D,QAAA,gBAAgB,EAAE,EAAE;AACpB,QAAA,uBAAuB,EAAE,CAAC;AAC3B,KAAA,CAAC;IAEF,QAAQ,GAAA;QACN,IAAI,CAAC,wBAAwB,EAAE;IACjC;AAEA,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;YACzD,IAAI,CAAC,wBAAwB,EAAE;QACjC;IACF;AAEA,IAAA,mBAAmB,CAAC,KAAa,EAAA;QAC/B,KAAK,EAAE,cAAc,EAAE;QACvB,MAAM,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC,gBAAgB;QAEvE,IAAI,kBAAkB,EAAE;AACtB,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAA,EAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAA,EAAG,kBAAkB,EAAE;QAChF;IACF;IAEQ,wBAAwB,GAAA;AAC9B,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,IAAI,CAAC,sBAAsB,EAAE;YAC7B;QACF;QAEA,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC;AAClE,YAAA,IAAI,EAAE,CAAC,OAAO,KAAI;AAChB,gBAAA,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC;oBAC5B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;oBAC1C,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;AACzD,iBAAA,CAAC;YACJ,CAAC;YACD,KAAK,EAAE,MAAK;gBACV,IAAI,CAAC,sBAAsB,EAAE;YAC/B,CAAC;AACF,SAAA,CAAC;IACJ;IAEQ,sBAAsB,GAAA;AAC5B,QAAA,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC;AAC5B,YAAA,gBAAgB,EAAE,EAAE;AACpB,YAAA,uBAAuB,EAAE,CAAC;AAC3B,SAAA,CAAC;IACJ;wGA5DW,qCAAqC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAArC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qCAAqC,wQC3BlD,ibAUA,EAAA,MAAA,EAAA,CAAA,8+PAAA,EAAA,sDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDWY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,iBAAiB,wPAAE,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FAM7C,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBATjD,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iCAAiC,EAAA,UAAA,EAC/B,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,iBAAiB,EAAE,aAAa,CAAC,EAAA,eAAA,EAIxC,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,ibAAA,EAAA,MAAA,EAAA,CAAA,8+PAAA,EAAA,sDAAA,CAAA,EAAA;8BAMtC,OAAO,EAAA,CAAA;sBAAf;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,UAAU,EAAA,CAAA;sBAAlB;;;MEVU,gCAAgC,CAAA;AAyBd,IAAA,UAAA;IAxBpB,qBAAqB,GAAG,KAAK;IAC7B,iBAAiB,GAAG,KAAK;IACzB,qBAAqB,GAAG,KAAK;IAC7B,SAAS,GAAG,KAAK;IACjB,UAAU,GAAG,KAAK;IAClB,SAAS,GAAG,KAAK;IACjB,UAAU,GAAG,KAAK;IAClB,aAAa,GAAgC,EAAE;IAC/C,eAAe,GAAG,IAAI;AAErB,IAAA,oBAAoB,GAAG,IAAI,YAAY,EAAQ;AAC/C,IAAA,cAAc,GAAG,IAAI,YAAY,EAAU;AAC3C,IAAA,YAAY,GAAG,IAAI,YAAY,EAAQ;AACvC,IAAA,cAAc,GAAG,IAAI,YAAY,EAAQ;AACzC,IAAA,YAAY,GAAG,IAAI,YAAY,EAAQ;AACvC,IAAA,cAAc,GAAG,IAAI,YAAY,EAAQ;AACzC,IAAA,mBAAmB,GAAG,IAAI,YAAY,EAAQ;AAC9C,IAAA,cAAc,GAAG,IAAI,YAAY,EAAQ;IAE1C,SAAS,GAAG,OAAO;IACnB,OAAO,GAAG,KAAK;IACf,QAAQ,GAAG,YAAY;AACvB,IAAA,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC;AAErC,IAAA,WAAA,CAA6B,UAAmC,EAAA;QAAnC,IAAA,CAAA,UAAU,GAAV,UAAU;IAA4B;AAEnE,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IACE,OAAO,CAAC,uBAAuB;AAC5B,eAAA,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;AAClC,eAAA,OAAO,CAAC,uBAAuB,CAAC,CAAC,aAAa,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC,YAAY,EACnG;AACA,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;QAC9B;IACF;AAGA,IAAA,eAAe,CAAC,KAAiB,EAAA;AAC/B,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB;AAC1C,QAAA,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC7D,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;QAC9B;IACF;AAEA,IAAA,cAAc,CAAC,KAAY,EAAA;QACzB,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC;IAC7C;AAEA,IAAA,qBAAqB,CAAC,KAAY,EAAA;QAChC,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB;QACF;AAEA,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE;IAClC;IAEA,eAAe,CAAC,KAAa,EAAE,KAAY,EAAA;QACzC,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB;QACF;AAEA,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;AAC5B,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;IACjC;IAEA,YAAY,CAAC,KAAY,EAAE,OAA2B,EAAA;QACpD,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;QAC5B,OAAO,CAAC,IAAI,EAAE;IAChB;wGAzEW,gCAAgC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gCAAgC,wxBC1B7C,mlIAgGA,EAAA,MAAA,EAAA,CAAA,8+PAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED3EY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,iBAAiB,wPAAE,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FAK7C,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAR5C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,4BAA4B,EAAA,UAAA,EAC1B,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,iBAAiB,EAAE,aAAa,CAAC,EAAA,eAAA,EAGxC,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,mlIAAA,EAAA,MAAA,EAAA,CAAA,8+PAAA,CAAA,EAAA;+EAGtC,qBAAqB,EAAA,CAAA;sBAA7B;gBACQ,iBAAiB,EAAA,CAAA;sBAAzB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,UAAU,EAAA,CAAA;sBAAlB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,UAAU,EAAA,CAAA;sBAAlB;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBACQ,eAAe,EAAA,CAAA;sBAAvB;gBAES,oBAAoB,EAAA,CAAA;sBAA7B;gBACS,cAAc,EAAA,CAAA;sBAAvB;gBACS,YAAY,EAAA,CAAA;sBAArB;gBACS,cAAc,EAAA,CAAA;sBAAvB;gBACS,YAAY,EAAA,CAAA;sBAArB;gBACS,cAAc,EAAA,CAAA;sBAAvB;gBACS,mBAAmB,EAAA,CAAA;sBAA5B;gBACS,cAAc,EAAA,CAAA;sBAAvB;gBAoBD,eAAe,EAAA,CAAA;sBADd,YAAY;uBAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC;;;MEhC/B,iCAAiC,CAAA;AAmCf,IAAA,UAAA;AAlCZ,IAAA,cAAc,GAAG,MAAM,CAAC,uBAAuB,CAAC;IAExD,OAAO,GAAG,EAAE;IACZ,YAAY,GAAG,oBAAoB;IACnC,iBAAiB,GAAG,MAAM;IAC1B,iBAAiB,GAAG,iBAAiB;IACrC,iBAAiB,GAAG,eAAe;IACnC,aAAa,GAAG,WAAW;IAC3B,iBAAiB,GAAG,eAAe;IACnC,UAAU,GAAG,gBAAgB;IAC7B,SAAS,GAAG,mCAAmC;IAC/C,iBAAiB,GAAG,oBAAoB;IACxC,aAAa,GAAG,WAAW;IAC3B,mBAAmB,GAAG,kBAAkB;IACxC,cAAc,GAAG,gBAAgB;IACjC,uBAAuB,GAAG,WAAW;IACrC,YAAY,GAAG,cAAc;IAC7B,kBAAkB,GAAG,6BAA6B;IAClD,eAAe,GAAG,IAAI;IACtB,gBAAgB,GAAG,MAAM;AAExB,IAAA,eAAe,GAAG,IAAI,YAAY,EAAkB;AACpD,IAAA,YAAY,GAAG,IAAI,YAAY,EAAQ;IAExC,WAAW,GAAG,eAAe;AAC7B,IAAA,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC;AAC5B,IAAA,SAAS,GAAG,MAAM,CAAmB,IAAI,CAAC;AAE1C,IAAA,KAAK,GAAG,QAAQ,CAAwB,OAAO;QACtD,gBAAgB,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,IAAI,IAAI;AACrD,QAAA,mBAAmB,EAAE,KAAK;QAC1B,oBAAoB,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,YAAY,IAAI,EAAE;AAC3D,KAAA,CAAC,CAAC;AAEH,IAAA,WAAA,CAA6B,UAAmC,EAAA;QAAnC,IAAA,CAAA,UAAU,GAAV,UAAU;IAA4B;IAEnE,QAAQ,GAAA;QACN,IAAI,CAAC,aAAa,EAAE;IACtB;AAEA,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;YACzD,IAAI,CAAC,aAAa,EAAE;QACtB;IACF;AAGA,IAAA,eAAe,CAAC,KAAiB,EAAA;AAC/B,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB;AAC1C,QAAA,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC7D,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;QAC9B;IACF;AAEA,IAAA,cAAc,CAAC,KAAY,EAAA;QACzB,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC;IAC7C;IAEA,cAAc,CAAC,KAAY,EAAE,QAAwB,EAAA;QACnD,KAAK,CAAC,cAAc,EAAE;QACtB,IAAI,QAAQ,CAAC,UAAU,KAAK,IAAI,CAAC,SAAS,EAAE,EAAE,gBAAgB,EAAE;AAC9D,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;YAC5B;QACF;AAEA,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;AAE5B,QAAA,IAAI,CAAC;AACF,aAAA,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE;AAChE,aAAA,SAAS,CAAC;YACT,IAAI,EAAE,MAAK;gBACT,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC;AACvD,oBAAA,IAAI,EAAE,CAAC,SAAS,KAAI;AAClB,wBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;AAC7B,wBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACrC,CAAC;AACF,iBAAA,CAAC;YACJ,CAAC;AACF,SAAA,CAAC;IACN;AAEA,IAAA,OAAO,CAAC,KAAY,EAAA;QAClB,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;AAC5B,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;IAC1B;IAEQ,aAAa,GAAA;AACnB,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACjB,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;YACxB;QACF;QAEA,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC;AACvD,YAAA,IAAI,EAAE,CAAC,SAAS,KAAI;AAClB,gBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;YAC/B,CAAC;YACD,KAAK,EAAE,MAAK;AACV,gBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;YAC1B,CAAC;AACF,SAAA,CAAC;IACJ;wGAvGW,iCAAiC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAjC,iCAAiC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,YAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,gBAAA,EAAA,yBAAA,EAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC/B9C,wiEAqDA,EAAA,MAAA,EAAA,CAAA,8+PAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED3BY,YAAY,8HAAE,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,2BAA2B,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,QAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FAK1E,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAR7C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,8BAA8B,EAAA,UAAA,EAC5B,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,aAAa,CAAC,EAAA,eAAA,EAGrE,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,wiEAAA,EAAA,MAAA,EAAA,CAAA,8+PAAA,CAAA,EAAA;+EAKtC,OAAO,EAAA,CAAA;sBAAf;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,iBAAiB,EAAA,CAAA;sBAAzB;gBACQ,iBAAiB,EAAA,CAAA;sBAAzB;gBACQ,iBAAiB,EAAA,CAAA;sBAAzB;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBACQ,iBAAiB,EAAA,CAAA;sBAAzB;gBACQ,UAAU,EAAA,CAAA;sBAAlB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,iBAAiB,EAAA,CAAA;sBAAzB;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBACQ,mBAAmB,EAAA,CAAA;sBAA3B;gBACQ,cAAc,EAAA,CAAA;sBAAtB;gBACQ,uBAAuB,EAAA,CAAA;sBAA/B;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,kBAAkB,EAAA,CAAA;sBAA1B;gBACQ,eAAe,EAAA,CAAA;sBAAvB;gBACQ,gBAAgB,EAAA,CAAA;sBAAxB;gBAES,eAAe,EAAA,CAAA;sBAAxB;gBACS,YAAY,EAAA,CAAA;sBAArB;gBAyBD,eAAe,EAAA,CAAA;sBADd,YAAY;uBAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC;;;MEhC/B,+BAA+B,CAAA;AACzB,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACvB,IAAA,WAAW,GAAG,MAAM,CAAC,uBAAuB,CAAC;IAErD,OAAO,GAAG,EAAE;IACZ,YAAY,GAAwB,IAAI;IAExC,kBAAkB,GAAG,IAAI;IAClC,SAAS,GAAsB,EAAE;IAExB,gBAAgB,GAAG,KAAK;IACxB,OAAO,GAAkB,IAAI;IAC7B,OAAO,GAAG,yEAAyE;IACnF,gBAAgB,GAAG,mEAAmE;AACrF,IAAA,SAAS,GAAG,IAAI,YAAY,EAAQ;IAErC,UAAU,GAAG,KAAK;IAClB,iBAAiB,GAAG,KAAK;IACzB,qBAAqB,GAAG,KAAK;IAC7B,SAAS,GAAG,KAAK;IACjB,UAAU,GAAG,KAAK;IAClB,SAAS,GAAG,KAAK;IACjB,UAAU,GAAG,KAAK;IAElB,aAAa,GAAgC,EAAE;IAC/C,eAAe,GAAG,IAAI;IACtB,kBAAkB,GAAG,KAAK;IAE1B,qBAAqB,GAAG,KAAK;AAC7B,IAAA,oBAAoB,GAA4C;AACvE,QAAA,KAAK,EAAE,gBAAgB;AACvB,QAAA,oBAAoB,EAAE,iBAAiB;AACvC,QAAA,gBAAgB,EAAE,aAAa;AAC/B,QAAA,uBAAuB,EAAE,iBAAiB;AAC1C,QAAA,iBAAiB,EAAE,QAAQ;KAC5B;AAEQ,IAAA,WAAW,GAAmC;AACrD,QAAA,KAAK,EAAE,sCAAsC;AAC7C,QAAA,OAAO,EAAE,oEAAoE;AAC7E,QAAA,OAAO,EAAE,EAAE;AACX,QAAA,YAAY,EAAE,SAAS;AACvB,QAAA,SAAS,EAAE,CAAA;AACwD,sEAAA,CAAA;AACnE,QAAA,WAAW,EAAE,kBAAkB;AAC/B,QAAA,kBAAkB,EAAE,oBAAoB;AACxC,QAAA,uBAAuB,EAAE,cAAc;AACvC,QAAA,kBAAkB,EAAE,kBAAkB;AACtC,QAAA,gBAAgB,EAAE,OAAO;KAC1B;IAEQ,gBAAgB,GAAG,IAAI;IACvB,aAAa,GAAG,IAAI;IACpB,YAAY,GAAG,KAAK;IAEpB,iBAAiB,GAAG,IAAI;IACxB,kBAAkB,GAAG,eAAe;IAEpC,QAAQ,GAAG,IAAI;IACf,SAAS,GAAG,MAAM;IAClB,OAAO,GAAkB,+CAA+C;IACxE,QAAQ,GAAmB,gBAAgB;IAC3C,eAAe,GAAG,eAAe;IACjC,aAAa,GAAgC,QAAQ;AACpD,IAAA,SAAS,GAAG,IAAI,YAAY,EAAQ;AAEpC,IAAA,aAAa,GAAG,IAAI,YAAY,EAAmB;AACnD,IAAA,YAAY,GAAG,IAAI,YAAY,EAAU;AACzC,IAAA,eAAe,GAAG,IAAI,YAAY,EAAkB;AACpD,IAAA,YAAY,GAAG,IAAI,YAAY,EAAQ;AACvC,IAAA,oBAAoB,GAAG,IAAI,YAAY,EAAQ;AAC/C,IAAA,cAAc,GAAG,IAAI,YAAY,EAAU;AAC3C,IAAA,YAAY,GAAG,IAAI,YAAY,EAAQ;AACvC,IAAA,cAAc,GAAG,IAAI,YAAY,EAAQ;AACzC,IAAA,YAAY,GAAG,IAAI,YAAY,EAAQ;AACvC,IAAA,cAAc,GAAG,IAAI,YAAY,EAAQ;AACzC,IAAA,mBAAmB,GAAG,IAAI,YAAY,EAAQ;AAC9C,IAAA,cAAc,GAAG,IAAI,YAAY,EAAQ;AACzC,IAAA,iBAAiB,GAAG,IAAI,YAAY,EAAQ;AAC5C,IAAA,sBAAsB,GAAG,IAAI,YAAY,EAAQ;AACjD,IAAA,iBAAiB,GAAG,IAAI,YAAY,EAAQ;AAC5C,IAAA,oBAAoB,GAAG,IAAI,YAAY,EAAsC;AAE9E,IAAA,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC;AAC5B,IAAA,qBAAqB,GAAG,MAAM,CAAC,KAAK,CAAC;IAE9C,qBAAqB,GAAG,KAAK;IAC7B,gBAAgB,GAAW,CAAC;IAE5B,UAAU,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACzB,YAAA,OAAO,IAAI,CAAC,gBAAgB,IAAI,IAAI;QACtC;AAEA,QAAA,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI;IAC7B;AAEA,IAAA,aAAa,CAAC,KAAa,EAAA;QACzB,KAAK,EAAE,cAAc,EAAE;AACvB,QAAA,IAAG,IAAI,CAAC,OAAO,EAAC;YACd,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO;YACnC;QACF;AAEA,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;IACvB;AAEA,IAAA,aAAa,CAAC,KAAa,EAAA;QACzB,KAAK,EAAE,cAAc,EAAE;AACvB,QAAA,IAAG,IAAI,CAAC,OAAO,EAAC;YACd,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC;YAC7C;QACF;AACA,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;IACvB;IAEA,yBAAyB,GAAA;AACvB,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE;AAC/B,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC3B,YAAA,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC;QACtC;IACF;IAEA,gBAAgB,GAAA;AACd,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;AAC1B,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC3B,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;QAC7B;IACF;AAEA,IAAA,iBAAiB,CAAC,QAAwB,EAAA;AACxC,QAAA,IAAI,CAAC,qBAAqB,GAAG,CAAC,IAAI,CAAC,qBAAqB;AACxD,QAAA,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,UAAU;AAC3C,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC;QACnC,IAAI,CAAC,iBAAiB,EAAE;IAC1B;IAEA,QAAQ,GAAA;QACN,IAAI,CAAC,iBAAiB,EAAE;IAC1B;IAEQ,iBAAiB,GAAA;AACvB,QAAA,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,EAAE;AAC7F,YAAA,IAAI,CAAC,WAAW,CAAC,+BAA+B,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,YAAY;AACpG,iBAAA,SAAS,CAAC;AACT,gBAAA,IAAI,EAAE,CAAC,KAAU,KAAK,IAAI,CAAC,SAAS,GAAG,KAAK,IAAI,EAAE;gBAClD,KAAK,EAAE,MAAM,IAAI,CAAC,SAAS,GAAG;AAC/B,aAAA,CAAC;QACN;aAAO;AACL,YAAA,IAAI,CAAC,SAAS,GAAG,EAAE;QACrB;IACF;wGAxJW,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAA/B,+BAA+B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,YAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,aAAA,EAAA,eAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,YAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,eAAA,EAAA,YAAA,EAAA,cAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9C5C,8iKAoIA,EAAA,MAAA,EAAA,CAAA,8+PAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDtGI,YAAY,8BACZ,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,UAAA,EAAA,aAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,YAAA,EAAA,YAAA,EAAA,SAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,yBAAA,EAAA,uBAAA,EAAA,aAAA,EAAA,oBAAA,EAAA,wBAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,eAAA,EAAA,SAAA,EAAA,SAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,WAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,WAAA,EAAA,eAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,eAAA,EAAA,qBAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,aAAA,EAAA,UAAA,EAAA,KAAA,EAAA,WAAA,EAAA,eAAA,EAAA,aAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,aAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACf,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EACjB,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACb,4BAA4B,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,cAAA,EAAA,cAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,YAAA,EAAA,mBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC5B,oCAAoC,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,uBAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,YAAA,EAAA,aAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,yBAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACpC,iCAAiC,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,qBAAA,EAAA,gBAAA,EAAA,yBAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjC,gCAAgC,oZAChC,mCAAmC,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnC,sCAAsC,EAAA,QAAA,EAAA,mCAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,QAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,sBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACtC,qCAAqC,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,EAAA,cAAA,EAAA,WAAA,EAAA,WAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FAM5B,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBApB3C,SAAS;+BACE,4BAA4B,EAAA,UAAA,EAC1B,IAAI,EAAA,OAAA,EACP;wBACP,YAAY;wBACZ,eAAe;wBACf,iBAAiB;wBACjB,aAAa;wBACb,4BAA4B;wBAC5B,oCAAoC;wBACpC,iCAAiC;wBACjC,gCAAgC;wBAChC,mCAAmC;wBACnC,sCAAsC;wBACtC,qCAAqC;qBACtC,EAAA,eAAA,EAGgB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,8iKAAA,EAAA,MAAA,EAAA,CAAA,8+PAAA,CAAA,EAAA;8BAOtC,OAAO,EAAA,CAAA;sBAAf;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBAEQ,kBAAkB,EAAA,CAAA;sBAA1B;gBAGQ,gBAAgB,EAAA,CAAA;sBAAxB;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,gBAAgB,EAAA,CAAA;sBAAxB;gBACS,SAAS,EAAA,CAAA;sBAAlB;gBAEQ,UAAU,EAAA,CAAA;sBAAlB;gBACQ,iBAAiB,EAAA,CAAA;sBAAzB;gBACQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,UAAU,EAAA,CAAA;sBAAlB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,UAAU,EAAA,CAAA;sBAAlB;gBAEQ,aAAa,EAAA,CAAA;sBAArB;gBACQ,eAAe,EAAA,CAAA;sBAAvB;gBACQ,kBAAkB,EAAA,CAAA;sBAA1B;gBAEQ,qBAAqB,EAAA,CAAA;sBAA7B;gBACQ,oBAAoB,EAAA,CAAA;sBAA5B;gBAQQ,WAAW,EAAA,CAAA;sBAAnB;gBAcQ,gBAAgB,EAAA,CAAA;sBAAxB;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBAEQ,iBAAiB,EAAA,CAAA;sBAAzB;gBACQ,kBAAkB,EAAA,CAAA;sBAA1B;gBAEQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,eAAe,EAAA,CAAA;sBAAvB;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBACS,SAAS,EAAA,CAAA;sBAAlB;gBAES,aAAa,EAAA,CAAA;sBAAtB;gBACS,YAAY,EAAA,CAAA;sBAArB;gBACS,eAAe,EAAA,CAAA;sBAAxB;gBACS,YAAY,EAAA,CAAA;sBAArB;gBACS,oBAAoB,EAAA,CAAA;sBAA7B;gBACS,cAAc,EAAA,CAAA;sBAAvB;gBACS,YAAY,EAAA,CAAA;sBAArB;gBACS,cAAc,EAAA,CAAA;sBAAvB;gBACS,YAAY,EAAA,CAAA;sBAArB;gBACS,cAAc,EAAA,CAAA;sBAAvB;gBACS,mBAAmB,EAAA,CAAA;sBAA5B;gBACS,cAAc,EAAA,CAAA;sBAAvB;gBACS,iBAAiB,EAAA,CAAA;sBAA1B;gBACS,sBAAsB,EAAA,CAAA;sBAA/B;gBACS,iBAAiB,EAAA,CAAA;sBAA1B;gBACS,oBAAoB,EAAA,CAAA;sBAA7B;;;IE9ES;AAAZ,CAAA,UAAY,uBAAuB,EAAA;AACjC,IAAA,uBAAA,CAAA,uBAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAc;AACd,IAAA,uBAAA,CAAA,uBAAA,CAAA,eAAA,CAAA,GAAA,CAAA,CAAA,GAAA,eAAiB;AACjB,IAAA,uBAAA,CAAA,uBAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAa;AACf,CAAC,EAJW,uBAAuB,KAAvB,uBAAuB,GAAA,EAAA,CAAA,CAAA;IAqBvB;AAAZ,CAAA,UAAY,eAAe,EAAA;AACzB,IAAA,eAAA,CAAA,eAAA,CAAA,gBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,gBAAkB;AAClB,IAAA,eAAA,CAAA,eAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,GAAA,aAAe;AACjB,CAAC,EAHW,eAAe,KAAf,eAAe,GAAA,EAAA,CAAA,CAAA;IAwBf;AAAZ,CAAA,UAAY,YAAY,EAAA;AACtB,IAAA,YAAA,CAAA,YAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAa;AACb,IAAA,YAAA,CAAA,YAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAW;AACX,IAAA,YAAA,CAAA,YAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS;AACT,IAAA,YAAA,CAAA,YAAA,CAAA,gBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,gBAAkB;AAClB,IAAA,YAAA,CAAA,YAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,GAAA,aAAe;AACf,IAAA,YAAA,CAAA,YAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAW;AACX,IAAA,YAAA,CAAA,YAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY;AACZ,IAAA,YAAA,CAAA,YAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY;AACZ,IAAA,YAAA,CAAA,YAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAa;AACb,IAAA,YAAA,CAAA,YAAA,CAAA,sBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,sBAAyB;AAC3B,CAAC,EAXW,YAAY,KAAZ,YAAY,GAAA,EAAA,CAAA,CAAA;;AC/FxB;;AAEG;;ACFH;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.service.d.ts","sourceRoot":"","sources":["../../../../projects/bayan-core-ui/src/lib/shared/menu.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,UAAU,EAAc,MAAM,MAAM,CAAC;AAC/D,OAAO,EAEL,mBAAmB,EACnB,eAAe,EACf,yBAAyB,EACzB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,+BAA+B,EAC/B,2BAA2B,EAC3B,qBAAqB,EACrB,oBAAoB,EACpB,UAAU,EACV,YAAY,EACZ,eAAe,EACf,SAAS,EACV,MAAM,aAAa,CAAC;;AAErB,qBAGa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsB;IAE3C,OAAO,CAAC,MAAM;IAad,OAAO,CAAC,UAAU;
|
|
1
|
+
{"version":3,"file":"menu.service.d.ts","sourceRoot":"","sources":["../../../../projects/bayan-core-ui/src/lib/shared/menu.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,UAAU,EAAc,MAAM,MAAM,CAAC;AAC/D,OAAO,EAEL,mBAAmB,EACnB,eAAe,EACf,yBAAyB,EACzB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,+BAA+B,EAC/B,2BAA2B,EAC3B,qBAAqB,EACrB,oBAAoB,EACpB,UAAU,EACV,YAAY,EACZ,eAAe,EACf,SAAS,EACV,MAAM,aAAa,CAAC;;AAErB,qBAGa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsB;IAE3C,OAAO,CAAC,MAAM;IAad,OAAO,CAAC,UAAU;IAKlB,8BAA8B,CAC5B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GAAG,MAAM,EAC3B,YAAY,EAAE,YAAY,GACzB,UAAU,CAAC,UAAU,EAAE,CAAC;IAU3B,+BAA+B,CAC7B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GAAG,MAAM,EAC3B,YAAY,EAAE,YAAY,GACzB,UAAU,CAAC,eAAe,EAAE,CAAC;IAYhC,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAC;IAe1F,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC;IAIpD,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,UAAU,CAAC,oBAAoB,CAAC;IASjG,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,mBAAmB,CAAC;IAMhE,wBAAwB,CACtB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,+BAA+B,GACvC,UAAU,CAAC,IAAI,CAAC;IAInB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,2BAA2B,GAAG,UAAU,CAAC,IAAI,CAAC;IAO7F,mBAAmB,CACjB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,YAAY,GAAG,eAAe,GAC3C,UAAU,CAAC,gBAAgB,CAAC;IAU/B,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,GAAG,UAAU,CAAC,IAAI,CAAC;IAIlF,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,GAAG,UAAU,CAAC,IAAI,CAAC;IAIpF,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,oBAAoB,CAAC;IAQ1E,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,UAAU,CAAC,OAAO,CAAC;yCAhIzE,uBAAuB;6CAAvB,uBAAuB;CAmInC"}
|