cax-design-system 2.7.2 → 2.7.4
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/README.md +1 -1
- package/accordion/accordion.d.ts +5 -1
- package/calendar/calendar.d.ts +8 -1
- package/esm2022/accordion/accordion.mjs +11 -4
- package/esm2022/calendar/calendar.mjs +35 -3
- package/esm2022/commentbox/commentbox.mjs +1 -1
- package/esm2022/dropdown/dropdown.mjs +3 -3
- package/esm2022/inputtextarea/inputtextarea.component.mjs +16 -4
- package/esm2022/navigation/navigation.mjs +72 -31
- package/esm2022/sidebar/sidebar.mjs +11 -3
- package/esm2022/table/components/column-filter/column-filter.mjs +2 -2
- package/esm2022/table/components/column-filter-form-element/column-filter-form-element.mjs +2 -2
- package/esm2022/tree/tree.mjs +5 -5
- package/fesm2022/cax-design-system-accordion.mjs +10 -3
- package/fesm2022/cax-design-system-accordion.mjs.map +1 -1
- package/fesm2022/cax-design-system-calendar.mjs +34 -2
- package/fesm2022/cax-design-system-calendar.mjs.map +1 -1
- package/fesm2022/cax-design-system-commentbox.mjs +1 -1
- package/fesm2022/cax-design-system-commentbox.mjs.map +1 -1
- package/fesm2022/cax-design-system-dropdown.mjs +2 -2
- package/fesm2022/cax-design-system-dropdown.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputtextarea.mjs +15 -3
- package/fesm2022/cax-design-system-inputtextarea.mjs.map +1 -1
- package/fesm2022/cax-design-system-navigation.mjs +71 -30
- package/fesm2022/cax-design-system-navigation.mjs.map +1 -1
- package/fesm2022/cax-design-system-sidebar.mjs +10 -2
- package/fesm2022/cax-design-system-sidebar.mjs.map +1 -1
- package/fesm2022/cax-design-system-table.mjs +2 -2
- package/fesm2022/cax-design-system-table.mjs.map +1 -1
- package/fesm2022/cax-design-system-tree.mjs +4 -4
- package/fesm2022/cax-design-system-tree.mjs.map +1 -1
- package/inputtextarea/inputtextarea.component.d.ts +7 -1
- package/navigation/navigation.d.ts +3 -1
- package/package.json +177 -177
- package/resources/cax.min.scss +1 -1
- package/resources/cax.scss +237 -205
- package/resources/components/calendar/calendar.scss +220 -190
- package/resources/components/common/common.scss +1 -0
- package/resources/components/dropdown/dropdown.scss +8 -0
- package/resources/components/navigation/navigation.scss +27 -2
- package/resources/components/sidebar/sidebar.scss +67 -14
- package/resources/components/tree/tree.scss +0 -4
- package/sidebar/sidebar.d.ts +4 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cax-design-system-navigation.mjs","sources":["../../src/app/components/navigation/navigation.ts","../../src/app/components/navigation/navigation.html","../../src/app/components/navigation/navigation.module.ts","../../src/app/components/navigation/cax-design-system-navigation.ts"],"sourcesContent":["import { trigger, transition, style, animate } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport { Component, ChangeDetectionStrategy, ViewEncapsulation, Input, EventEmitter, Output, ViewChild, ElementRef, HostListener, AfterViewInit, OnChanges } from '@angular/core';\nimport { DividerModule } from 'cax-design-system/divider';\nimport { LogoModule } from 'cax-design-system/logo';\nimport { ActiveSubscription, NavListItem, SubscriptionList, TabIndexType } from './navigation.interface';\nimport { ImageModule } from 'cax-design-system/image';\nimport { AvatarModule } from 'cax-design-system/avatar';\nimport { OverlayPanelModule } from 'cax-design-system/overlaypanel';\nimport { OverlayModule } from 'cax-design-system/overlay';\nimport { RadioButtonModule } from 'cax-design-system/radiobutton';\nimport { FormsModule } from '@angular/forms';\nimport { BadgeModule } from 'cax-design-system/badge';\n\n@Component({\n selector: 'cax-navigation',\n templateUrl: './navigation.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./navigation.scss'],\n standalone: true,\n imports: [LogoModule, CommonModule, DividerModule, ImageModule, AvatarModule, OverlayPanelModule, OverlayModule, RadioButtonModule, FormsModule, BadgeModule],\n animations: [\n trigger('leftFade', [\n transition(':enter', [style({ transform: 'translateX(-100%)', opacity: 0 }), animate('300ms', style({ transform: 'translateX(0)', opacity: 1 }))]),\n transition(':leave', [style({ transform: 'translateX(0)', opacity: 0.5 }), animate('300ms', style({ transform: 'translateX(-100%)', opacity: 0 }))])\n ]),\n trigger('rightFade', [\n transition(':enter', [style({ transform: 'translateX(200%)', opacity: 0 }), animate('300ms', style({ transform: 'translateX(0)', opacity: 1 }))]),\n transition(':leave', [style({ transform: 'translateX(0)', opacity: 1 }), animate('300ms', style({ transform: 'translateX(100%)', opacity: 0 }))])\n ])\n ],\n host: {\n class: 'cax-element'\n }\n})\nexport class Navigation implements OnChanges, AfterViewInit {\n @Input() header: string | undefined;\n @Input() topNavList: NavListItem[];\n @Input() bottomNavList: NavListItem[];\n @Input() activeTab: TabIndexType | 'notifications' | 'help-centre';\n @Input() notifications: boolean = true;\n @Input() helpCentre: boolean = true;\n @Input() copyrightYear: number | undefined = new Date().getFullYear();\n @Input() version: string | undefined;\n @Input() logout: boolean = true;\n @Input() profile: boolean = true;\n @Input() settings: boolean = true;\n @Input() userName: string | undefined;\n @Input() userImage: string | undefined;\n @Input() headerLogo: { expanded: string; collapsed: string } | undefined;\n @Input() headerInitials: string | undefined;\n @Input() subscriptionMode: 'advance' | 'default' = 'default';\n @Input() subscriptionList: string[];\n @Input() selectedSubscription: string | ActiveSubscription | undefined;\n @Input() advanceSubscriptionList: SubscriptionList[];\n @Input() displaySubscriptionName: string | undefined;\n @Input() notificationCount: number = 0;\n\n @Output() onNavListItemChange: EventEmitter<{ activeTab: TabIndexType | 'notifications' | 'help-centre' }> = new EventEmitter();\n @Output() onNotificationClick: EventEmitter<any> = new EventEmitter();\n @Output() onHelpCentreClick: EventEmitter<any> = new EventEmitter();\n @Output() onLogoutClick: EventEmitter<any> = new EventEmitter();\n @Output() onProfileClick: EventEmitter<any> = new EventEmitter();\n @Output() onSettingsClick: EventEmitter<any> = new EventEmitter();\n @Output() onLogoClick: EventEmitter<any> = new EventEmitter();\n @Output() onSubscriptionChange: EventEmitter<any> = new EventEmitter();\n @Output() onNavExpanded: EventEmitter<boolean> = new EventEmitter(false);\n\n isHovered: boolean = false;\n isNavExpanded: boolean = false;\n notificationActive: boolean = false;\n helpCentreActive: boolean = false;\n accountDetailsActive: boolean = false;\n checkRadio = 1;\n @ViewChild('bottomContainer') bottomContainer!: ElementRef<HTMLDivElement>;\n @ViewChild('headerContainer') headerContainer!: ElementRef<HTMLDivElement>;\n\n ngOnChanges() {\n if (this.activeTab == 'notifications') {\n if (this.notifications) this.notificationActive = true;\n else this.topNavList[0].active = true;\n } else if (this.activeTab == 'help-centre') {\n if (this.helpCentre) this.helpCentreActive = true;\n else this.topNavList[0].active = true;\n } else {\n if (this.activeTab?.position == 'top') {\n if (this.activeTab.index > -1 && this.activeTab.index < this.topNavList?.length) {\n this.topNavList?.map((list: NavListItem) => (list.active = false));\n this.topNavList[this.activeTab.index].active = true;\n } else {\n if (this.topNavList?.filter((list: NavListItem) => list.active).length > 0) {\n let count = 0;\n this.topNavList?.forEach((list: NavListItem) => {\n if (list.active && count == 0) count = count + 1;\n else list.active = false;\n });\n } else if (!this.topNavList?.filter((list: NavListItem) => list.active).length) {\n this.topNavList[0].active = true;\n }\n }\n } else if (this.activeTab?.position == 'bottom') {\n if (this.activeTab.index > -1 && this.activeTab.index < this.bottomNavList?.length) {\n this.bottomNavList?.map((list: NavListItem) => (list.active = false));\n this.bottomNavList[this.activeTab.index].active = true;\n } else {\n if (this.bottomNavList?.filter((list: NavListItem) => list.active).length > 0) {\n let count = 0;\n this.bottomNavList?.forEach((list: NavListItem) => {\n if (list.active && count == 0) count = count + 1;\n else list.active = false;\n });\n } else if (!this.bottomNavList?.filter((list: NavListItem) => list.active).length) {\n this.bottomNavList[0].active = true;\n }\n }\n } else {\n this.topNavList[0].active = true;\n }\n }\n }\n\n ngAfterViewInit(): void {\n if (this.advanceSubscriptionList)\n this.advanceSubscriptionList = this.advanceSubscriptionList.map((item) => {\n return { ...item, check: false };\n });\n if (this.subscriptionMode === 'advance') {\n if (this.advanceSubscriptionList.length) {\n if (\n !(\n typeof this.selectedSubscription === 'object' &&\n this.selectedSubscription?.name &&\n this.selectedSubscription?.selected &&\n this.advanceSubscriptionList.find((item) => typeof this.selectedSubscription === 'object' && item.name === this.selectedSubscription.name)?.subscription.includes(this.selectedSubscription.selected)\n )\n ) {\n this.advanceSubscriptionList.some((list: any) => {\n if (list.subscription.length) {\n this.selectedSubscription = {\n name: list.name,\n selected: list.subscription[0]\n };\n return true;\n }\n });\n }\n }\n } else {\n if (this.subscriptionList?.length) {\n if (!this.subscriptionList.some((a) => a == this.selectedSubscription)) this.selectedSubscription = this.subscriptionList[0];\n }\n }\n if (!this.displaySubscriptionName?.length) {\n if (this.selectedSubscription && typeof this.selectedSubscription === 'object') {\n this.displaySubscriptionName = this.selectedSubscription.name + ' - ' + this.selectedSubscription.selected;\n } else if (this.selectedSubscription && typeof this.selectedSubscription === 'string') {\n this.displaySubscriptionName = this.selectedSubscription;\n }\n }\n this.adjustUpDivHeight();\n }\n\n onItemClick(e: MouseEvent, item: NavListItem, index: number, position: 'top' | 'bottom') {\n this.topNavList?.map((list: NavListItem) => (list.active = false));\n this.bottomNavList?.map((list: NavListItem) => (list.active = false));\n this.notificationActive = false;\n this.helpCentreActive = false;\n if (position == 'top') this.topNavList[index].active = true;\n else if (position == 'bottom') this.bottomNavList[index].active = true;\n this.onNavListItemChange.emit({ activeTab: { position: position, index: index } });\n if (item.command) {\n item.command({ originalEvent: e, item });\n }\n }\n\n getInitials(name: string): string {\n if (!name) return '';\n const nameParts = name.trim().split(/\\s+/);\n if (nameParts.length === 1) {\n return nameParts[0][0].toUpperCase();\n }\n return (nameParts[0][0] + nameParts[nameParts.length - 1][0]).toUpperCase();\n }\n\n emitNotification() {\n this.topNavList?.map((list: NavListItem) => (list.active = false));\n this.bottomNavList?.map((list: NavListItem) => (list.active = false));\n this.helpCentreActive = false;\n this.notificationActive = true;\n this.onNavListItemChange.emit({ activeTab: 'notifications' });\n this.onNotificationClick.emit();\n }\n\n emitHelpCentre() {\n this.topNavList?.map((list: NavListItem) => (list.active = false));\n this.bottomNavList?.map((list: NavListItem) => (list.active = false));\n this.helpCentreActive = true;\n this.notificationActive = false;\n this.onNavListItemChange.emit({ activeTab: 'help-centre' });\n this.onHelpCentreClick.emit();\n }\n\n emitLogout() {\n this.onLogoutClick.emit();\n }\n\n emitProfile() {\n this.onProfileClick.emit();\n }\n\n emitSettings() {\n this.onSettingsClick.emit();\n }\n\n emitLogoClick() {\n this.onLogoClick.emit();\n }\n\n @HostListener('window:resize')\n onResize(): void {\n this.adjustUpDivHeight();\n }\n\n adjustUpDivHeight() {\n const bottomHeight = this.bottomContainer?.nativeElement.offsetHeight;\n const headerHeight = this.headerContainer?.nativeElement.offsetHeight;\n const containerHeight = window.innerHeight;\n return containerHeight - bottomHeight - headerHeight - 56;\n }\n\n onMouseEnter() {\n this.isHovered = true;\n this.isNavExpanded = true;\n this.onNavExpanded.emit(true);\n }\n\n onMouseLeave() {\n this.isHovered = false;\n if (!this.accountDetailsActive) {\n this.isNavExpanded = false;\n this.onNavExpanded.emit(false);\n }\n }\n\n hideAccountDetails() {\n this.accountDetailsActive = false;\n if (this.isHovered) {\n this.isNavExpanded = true;\n this.onNavExpanded.emit(true);\n } else {\n this.isNavExpanded = false;\n this.onNavExpanded.emit(false);\n }\n }\n\n changeActiveSusbcription(item: string) {\n this.selectedSubscription = item;\n this.onSubscriptionChange.emit({ selected: item });\n }\n\n updateSubscription(item: SubscriptionList, child: string) {\n this.selectedSubscription = { name: item.name, selected: child };\n this.onSubscriptionChange.emit(this.selectedSubscription);\n }\n\n toggleSubscriptionList(index: number) {\n if (this.advanceSubscriptionList[index].check) {\n this.advanceSubscriptionList[index].check = false;\n } else {\n this.advanceSubscriptionList = this.advanceSubscriptionList.map((item) => {\n return { ...item, check: false };\n });\n this.advanceSubscriptionList[index].check = true;\n }\n }\n}\n","<div *ngIf=\"accountDetailsActive\" class=\"cax-nav-backdrop\"></div>\r\n<div class=\"cax-nav\" [ngClass]=\"{ 'cax-nav-expand': isNavExpanded }\" (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\">\r\n <div class=\"cax-nav-header-container\" #headerContainer>\r\n <div [@rightFade] *ngIf=\"!isNavExpanded\" class=\"cax-nav-header\">\r\n <cax-logo *ngIf=\"!headerLogo?.collapsed\" class=\"c-pointer\" (click)=\"emitLogoClick()\" size=\"sm\" [iconOnly]=\"true\" />\r\n <cax-image *ngIf=\"headerLogo?.collapsed\" class=\"c-pointer\" (click)=\"emitLogoClick()\" size=\"sm\" [src]=\"headerLogo.collapsed\" />\r\n <cax-divider layout=\"vertical\"></cax-divider>\r\n <span *ngIf=\"headerInitials\">{{ headerInitials }}</span>\r\n <span *ngIf=\"!headerInitials\">{{ getInitials(header) }}</span>\r\n </div>\r\n <div *ngIf=\"isNavExpanded\" class=\"cax-nav-header\" [@leftFade]>\r\n <cax-logo *ngIf=\"!headerLogo?.expanded\" class=\"c-pointer\" (click)=\"emitLogoClick()\" size=\"sm\" />\r\n <cax-image *ngIf=\"headerLogo?.expanded\" class=\"c-pointer\" (click)=\"emitLogoClick()\" size=\"sm\" [src]=\"headerLogo.expanded\" />\r\n <cax-divider layout=\"vertical\"></cax-divider>\r\n <span>{{ header }}</span>\r\n </div>\r\n </div>\r\n <div class=\"cax-nav-list-container\" [style.maxHeight.px]=\"adjustUpDivHeight()\">\r\n <ul>\r\n <li *ngFor=\"let nav of topNavList, let i = index\" [ngClass]=\"{ active: nav.active }\" (click)=\"onItemClick($event, nav, i, 'top')\">\r\n <i *ngIf=\"nav.icon; else imageTemplate\" [class]=\"'cax pi ' + nav.icon\"></i>\r\n <ng-template #imageTemplate>\r\n <cax-image [src]=\"nav.image\" width=\"24px\" height=\"24px\"></cax-image>\r\n </ng-template>\r\n <span [@leftFade] *ngIf=\"isNavExpanded\" class=\"cax-nav-list-label\">{{ nav.label }}</span>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"cax-nav-bottom-container\" #bottomContainer>\r\n <div class=\"cax-nav-bottom-list\">\r\n <ul>\r\n <li *ngFor=\"let nav of bottomNavList, let i = index\" [ngClass]=\"{ active: nav.active }\" (click)=\"onItemClick($event, nav, i, 'bottom')\">\r\n <i *ngIf=\"nav.icon; else imageTemplate\" [class]=\"'cax pi ' + nav.icon\"></i>\r\n <ng-template #imageTemplate>\r\n <cax-image [src]=\"nav.image\" width=\"24px\" height=\"24px\"></cax-image>\r\n </ng-template>\r\n <span [@leftFade] *ngIf=\"isNavExpanded\" class=\"cax-nav-list-label\">{{ nav.label }}</span>\r\n </li>\r\n <li *ngIf=\"notifications\" (click)=\"emitNotification()\" [ngClass]=\"{ active: notificationActive }\">\r\n <i *ngIf=\"!notificationCount\" class=\"cax cax-bell\"></i>\r\n <i *ngIf=\"notificationCount\" class=\"cax cax-bell\" caxBadge [value]=\"notificationCount\" badgeSize=\"xs\" badgeSeverity=\"danger\"></i>\r\n <span [@leftFade] *ngIf=\"isNavExpanded\" class=\"cax-nav-list-label\">Notifications</span>\r\n </li>\r\n <li *ngIf=\"helpCentre\" (click)=\"emitHelpCentre()\" [ngClass]=\"{ active: helpCentreActive }\">\r\n <i class=\"cax cax-shield-warning\"></i>\r\n <span [@leftFade] *ngIf=\"isNavExpanded\" class=\"cax-nav-list-label\">Help Centre</span>\r\n </li>\r\n </ul>\r\n </div>\r\n <div *ngIf=\"userName\" (click)=\"op.toggle($event);\" [ngClass]=\"{ active: accountDetailsActive }\" class=\"cax-nav-account-details\">\r\n <cax-avatar *ngIf=\"userImage\" [image]=\"userImage\" avatarSize=\"lg\"></cax-avatar>\r\n <cax-avatar *ngIf=\"!userImage\" [label]=\"getInitials(userName)\" avatarSize=\"lg\"></cax-avatar>\r\n <div [@leftFade] *ngIf=\"isNavExpanded\" class=\"cax-nav-user\">\r\n <span class=\"cax-nav-user-name\">{{ userName }}</span>\r\n <span class=\"cax-nav-user-role\">{{ displaySubscriptionName }}</span>\r\n </div>\r\n <div [@leftFade] *ngIf=\"isNavExpanded\" class=\"cax-nav-account-icon\">\r\n <i class=\"cax cax-alt-arrow-up\"></i>\r\n <i class=\"cax cax-alt-arrow-down\"></i>\r\n </div>\r\n <cax-overlayPanel #op (onShow)=\"accountDetailsActive = true\" [styleClass]=\"isNavExpanded ? 'cax-nav-overlay-expand' : 'cax-nav-overlay'\" (onHide)=\"hideAccountDetails()\">\r\n <div class=\"cax-nav-subscription-list\" *ngIf=\"subscriptionMode === 'default' && subscriptionList?.length\">\r\n <li class=\"cax-nav-subscription-list-item\" [class.active]=\"selectedSubscription === item\" *ngFor=\"let item of subscriptionList\" (click)=\"changeActiveSusbcription(item)\">\r\n <span>{{ item }}</span>\r\n <cax-radioButton *ngIf=\"selectedSubscription === item\" value=\"1\" [(ngModel)]=\"checkRadio\"></cax-radioButton>\r\n </li>\r\n </div>\r\n <div class=\"cax-nav-subscription-list\" *ngIf=\"subscriptionMode === 'advance' && advanceSubscriptionList?.length\">\r\n <div *ngFor=\"let item of advanceSubscriptionList, let i = index\">\r\n <li [class.active]=\"selectedSubscription?.name === item.name\" class=\"cax-nav-advance-subscription-list-item\" (click)=\"toggleSubscriptionList(i)\">\r\n <span>{{ item.name }}</span>\r\n <i *ngIf=\"!item.check\" class=\"cax cax-alt-arrow-down\"></i>\r\n <i *ngIf=\"item.check\" class=\"cax cax-alt-arrow-up\"></i>\r\n </li>\r\n <div *ngIf=\"item.check\" class=\"cax-nav-advance-subscription-child-list\">\r\n <li [class.active]=\"selectedSubscription?.selected === child\" class=\"cax-nav-advance-subscription-child-list-item\" *ngFor=\"let child of item.subscription\" (click)=\"updateSubscription(item, child)\">\r\n <span>{{ child }}</span>\r\n <cax-radioButton [size]=\"'sm'\" *ngIf=\"selectedSubscription?.selected === child\" value=\"1\" [(ngModel)]=\"checkRadio\"></cax-radioButton>\r\n </li>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"profile\" class=\"cax-nav-profile-options\" (click)=\"emitProfile()\">\r\n <i class=\"cax cax-user-rounded\"></i>\r\n <span>View Profile</span>\r\n </div>\r\n <div *ngIf=\"settings\" class=\"cax-nav-profile-options\" (click)=\"emitSettings()\">\r\n <i class=\"cax cax-settings\"></i>\r\n <span>Account Settings</span>\r\n </div>\r\n <div *ngIf=\"logout\" class=\"cax-nav-profile-options cax-nav-logout\" (click)=\"emitLogout()\">\r\n <i class=\"cax cax-logout\"></i>\r\n <span>Logout</span>\r\n </div>\r\n <div class=\"cax-nav-copyright-container\">\r\n <cax-logo width=\"55px\" height=\"17px\"></cax-logo>\r\n <div class=\"cax-nav-copyright\">\r\n <span *ngIf=\"copyrightYear\">© {{ copyrightYear }}</span>\r\n <span *ngIf=\"version\">{{ version }}</span>\r\n </div>\r\n </div>\r\n </cax-overlayPanel>\r\n </div>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\nimport { Navigation } from './navigation';\n\n@NgModule({\n imports: [Navigation],\n exports: [Navigation]\n})\nexport class NavigationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cax-design-system-navigation.mjs","sources":["../../src/app/components/navigation/navigation.ts","../../src/app/components/navigation/navigation.html","../../src/app/components/navigation/navigation.module.ts","../../src/app/components/navigation/cax-design-system-navigation.ts"],"sourcesContent":["import { trigger, transition, style, animate } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport { Component, ChangeDetectionStrategy, ChangeDetectorRef, ViewEncapsulation, Input, EventEmitter, Output, ViewChild, ElementRef, HostListener, AfterViewInit, OnChanges } from '@angular/core';\nimport { DividerModule } from 'cax-design-system/divider';\nimport { LogoModule } from 'cax-design-system/logo';\nimport { ActiveSubscription, NavListItem, SubscriptionList, TabIndexType } from './navigation.interface';\nimport { ImageModule } from 'cax-design-system/image';\nimport { AvatarModule } from 'cax-design-system/avatar';\nimport { OverlayPanelModule } from 'cax-design-system/overlaypanel';\nimport { OverlayModule } from 'cax-design-system/overlay';\nimport { RadioButtonModule } from 'cax-design-system/radiobutton';\nimport { FormsModule } from '@angular/forms';\nimport { BadgeModule } from 'cax-design-system/badge';\n\n@Component({\n selector: 'cax-navigation',\n templateUrl: './navigation.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./navigation.scss'],\n standalone: true,\n imports: [LogoModule, CommonModule, DividerModule, ImageModule, AvatarModule, OverlayPanelModule, OverlayModule, RadioButtonModule, FormsModule, BadgeModule],\n animations: [\n trigger('textAnimation', [\n transition(':enter', [\n style({ opacity: 0, width: '0px', marginLeft: '0px', visibility: 'hidden', transform: 'translateX(-24px)' }),\n animate('300ms cubic-bezier(0.4, 0.0, 0.2, 1)', style({ opacity: 1, width: '*', marginLeft: '8px', visibility: 'visible', transform: 'translateX(0)' }))\n ]),\n transition(':leave', [\n style({ opacity: 1, width: '*', marginLeft: '8px', visibility: 'visible', transform: 'translateX(0)' }),\n animate('300ms cubic-bezier(0.4, 0.0, 0.2, 1)', style({ opacity: 0, width: '0px', marginLeft: '0px', visibility: 'hidden', transform: 'translateX(-24px)' }))\n ])\n ]),\n trigger('headerAnimation', [\n transition(':enter', [style({ opacity: 0, visibility: 'hidden' }), animate('300ms cubic-bezier(0.4, 0.0, 0.2, 1)', style({ opacity: 1, visibility: 'visible' }))]),\n transition(':leave', [style({ opacity: 1, visibility: 'visible' }), animate('300ms cubic-bezier(0.4, 0.0, 0.2, 1)', style({ opacity: 0, visibility: 'hidden' }))])\n ])\n ],\n host: {\n class: 'cax-element'\n }\n})\nexport class Navigation implements OnChanges, AfterViewInit {\n @Input() header: string | undefined;\n @Input() topNavList: NavListItem[];\n @Input() bottomNavList: NavListItem[];\n @Input() activeTab: TabIndexType | 'notifications' | 'help-centre';\n @Input() notifications: boolean = true;\n @Input() helpCentre: boolean = true;\n @Input() copyrightYear: number | undefined = new Date().getFullYear();\n @Input() version: string | undefined;\n @Input() logout: boolean = true;\n @Input() profile: boolean = true;\n @Input() settings: boolean = true;\n @Input() userName: string | undefined;\n @Input() userImage: string | undefined;\n @Input() headerLogo: { expanded: string; collapsed: string } | undefined;\n @Input() headerInitials: string | undefined;\n @Input() subscriptionMode: 'advance' | 'default' = 'default';\n @Input() subscriptionList: string[];\n @Input() selectedSubscription: string | ActiveSubscription | undefined;\n @Input() advanceSubscriptionList: SubscriptionList[];\n @Input() displaySubscriptionName: string | undefined;\n @Input() notificationCount: number = 0;\n\n constructor(private cd: ChangeDetectorRef) {}\n\n @Output() onNavListItemChange: EventEmitter<{ activeTab: TabIndexType | 'notifications' | 'help-centre' }> = new EventEmitter();\n @Output() onNotificationClick: EventEmitter<any> = new EventEmitter();\n @Output() onHelpCentreClick: EventEmitter<any> = new EventEmitter();\n @Output() onLogoutClick: EventEmitter<any> = new EventEmitter();\n @Output() onProfileClick: EventEmitter<any> = new EventEmitter();\n @Output() onSettingsClick: EventEmitter<any> = new EventEmitter();\n @Output() onLogoClick: EventEmitter<any> = new EventEmitter();\n @Output() onSubscriptionChange: EventEmitter<any> = new EventEmitter();\n @Output() onNavExpanded: EventEmitter<boolean> = new EventEmitter(false);\n\n isHovered: boolean = false;\n isNavExpanded: boolean = false;\n notificationActive: boolean = false;\n helpCentreActive: boolean = false;\n accountDetailsActive: boolean = false;\n checkRadio = 1;\n @ViewChild('bottomContainer') bottomContainer!: ElementRef<HTMLDivElement>;\n @ViewChild('headerContainer') headerContainer!: ElementRef<HTMLDivElement>;\n\n ngOnChanges() {\n if (this.activeTab == 'notifications') {\n if (this.notifications) {\n this.topNavList?.map((list: NavListItem) => (list.active = false));\n this.bottomNavList?.map((list: NavListItem) => (list.active = false));\n this.notificationActive = true;\n } else this.topNavList[0].active = true;\n } else if (this.activeTab == 'help-centre') {\n if (this.helpCentre) {\n this.topNavList?.map((list: NavListItem) => (list.active = false));\n this.bottomNavList?.map((list: NavListItem) => (list.active = false));\n this.helpCentreActive = true;\n } else this.topNavList[0].active = true;\n } else {\n if (this.activeTab?.position == 'top') {\n if (this.activeTab.index > -1 && this.activeTab.index < this.topNavList?.length) {\n this.topNavList?.map((list: NavListItem) => (list.active = false));\n this.topNavList[this.activeTab.index].active = true;\n } else {\n if (this.topNavList?.filter((list: NavListItem) => list.active).length > 0) {\n let count = 0;\n this.topNavList?.forEach((list: NavListItem) => {\n if (list.active && count == 0) count = count + 1;\n else list.active = false;\n });\n } else if (!this.topNavList?.filter((list: NavListItem) => list.active).length) {\n this.topNavList[0].active = true;\n }\n }\n } else if (this.activeTab?.position == 'bottom') {\n if (this.activeTab.index > -1 && this.activeTab.index < this.bottomNavList?.length) {\n this.bottomNavList?.map((list: NavListItem) => (list.active = false));\n this.bottomNavList[this.activeTab.index].active = true;\n } else {\n if (this.bottomNavList?.filter((list: NavListItem) => list.active).length > 0) {\n let count = 0;\n this.bottomNavList?.forEach((list: NavListItem) => {\n if (list.active && count == 0) count = count + 1;\n else list.active = false;\n });\n } else if (!this.bottomNavList?.filter((list: NavListItem) => list.active).length) {\n this.bottomNavList[0].active = true;\n }\n }\n } else {\n this.topNavList[0].active = true;\n }\n }\n }\n\n ngAfterViewInit(): void {\n if (this.advanceSubscriptionList)\n this.advanceSubscriptionList = this.advanceSubscriptionList.map((item) => {\n return { ...item, check: false };\n });\n if (this.subscriptionMode === 'advance') {\n if (this.advanceSubscriptionList.length) {\n if (\n !(\n typeof this.selectedSubscription === 'object' &&\n this.selectedSubscription?.name &&\n this.selectedSubscription?.selected &&\n this.advanceSubscriptionList.find((item) => typeof this.selectedSubscription === 'object' && item.name === this.selectedSubscription.name)?.subscription.includes(this.selectedSubscription.selected)\n )\n ) {\n this.advanceSubscriptionList.some((list: any) => {\n if (list.subscription.length) {\n this.selectedSubscription = {\n name: list.name,\n selected: list.subscription[0]\n };\n return true;\n }\n });\n }\n }\n } else {\n if (this.subscriptionList?.length) {\n if (!this.subscriptionList.some((a) => a == this.selectedSubscription)) this.selectedSubscription = this.subscriptionList[0];\n }\n }\n if (!this.displaySubscriptionName?.length) {\n if (this.selectedSubscription && typeof this.selectedSubscription === 'object') {\n this.displaySubscriptionName = this.selectedSubscription.name + ' - ' + this.selectedSubscription.selected;\n } else if (this.selectedSubscription && typeof this.selectedSubscription === 'string') {\n this.displaySubscriptionName = this.selectedSubscription;\n }\n }\n this.adjustUpDivHeight();\n }\n\n onItemClick(e: MouseEvent, item: NavListItem, index: number, position: 'top' | 'bottom') {\n this.topNavList?.map((list: NavListItem) => (list.active = false));\n this.bottomNavList?.map((list: NavListItem) => (list.active = false));\n this.notificationActive = false;\n this.helpCentreActive = false;\n if (position == 'top') this.topNavList[index].active = true;\n else if (position == 'bottom') this.bottomNavList[index].active = true;\n this.onNavListItemChange.emit({ activeTab: { position: position, index: index } });\n if (item.command) {\n item.command({ originalEvent: e, item });\n }\n }\n\n getInitials(name: string): string {\n if (!name) return '';\n const nameParts = name.trim().split(/\\s+/);\n if (nameParts.length === 1) {\n return nameParts[0][0].toUpperCase();\n }\n return (nameParts[0][0] + nameParts[nameParts.length - 1][0]).toUpperCase();\n }\n\n emitNotification() {\n this.topNavList?.map((list: NavListItem) => (list.active = false));\n this.bottomNavList?.map((list: NavListItem) => (list.active = false));\n this.helpCentreActive = false;\n this.notificationActive = true;\n this.onNavListItemChange.emit({ activeTab: 'notifications' });\n this.onNotificationClick.emit();\n }\n\n emitHelpCentre() {\n this.topNavList?.map((list: NavListItem) => (list.active = false));\n this.bottomNavList?.map((list: NavListItem) => (list.active = false));\n this.helpCentreActive = true;\n this.notificationActive = false;\n this.onNavListItemChange.emit({ activeTab: 'help-centre' });\n this.onHelpCentreClick.emit();\n }\n\n emitLogout() {\n this.onLogoutClick.emit();\n }\n\n emitProfile() {\n this.onProfileClick.emit();\n }\n\n emitSettings() {\n this.onSettingsClick.emit();\n }\n\n emitLogoClick() {\n this.onLogoClick.emit();\n }\n\n @HostListener('window:resize')\n onResize(): void {\n this.adjustUpDivHeight();\n }\n\n adjustUpDivHeight() {\n const bottomHeight = this.bottomContainer?.nativeElement.offsetHeight;\n const headerHeight = this.headerContainer?.nativeElement.offsetHeight;\n const containerHeight = window.innerHeight;\n return containerHeight - bottomHeight - headerHeight - 56;\n }\n\n onMouseEnter() {\n this.isHovered = true;\n // Use double requestAnimationFrame for smoother animation\n // First frame to prepare, second frame to execute\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n this.isNavExpanded = true;\n this.onNavExpanded.emit(true);\n this.cd.markForCheck();\n });\n });\n }\n\n onMouseLeave() {\n this.isHovered = false;\n if (!this.accountDetailsActive) {\n // Use double requestAnimationFrame for smoother animation\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n this.isNavExpanded = false;\n this.onNavExpanded.emit(false);\n this.cd.markForCheck();\n });\n });\n }\n }\n\n hideAccountDetails() {\n this.accountDetailsActive = false;\n // Use double requestAnimationFrame for smoother animation\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (this.isHovered) {\n this.isNavExpanded = true;\n this.onNavExpanded.emit(true);\n } else {\n this.isNavExpanded = false;\n this.onNavExpanded.emit(false);\n }\n this.cd.markForCheck();\n });\n });\n }\n\n changeActiveSusbcription(item: string) {\n this.selectedSubscription = item;\n this.onSubscriptionChange.emit({ selected: item });\n }\n\n updateSubscription(item: SubscriptionList, child: string) {\n this.selectedSubscription = { name: item.name, selected: child };\n this.onSubscriptionChange.emit(this.selectedSubscription);\n }\n\n toggleSubscriptionList(index: number) {\n if (this.advanceSubscriptionList[index].check) {\n this.advanceSubscriptionList[index].check = false;\n } else {\n this.advanceSubscriptionList = this.advanceSubscriptionList.map((item) => {\n return { ...item, check: false };\n });\n this.advanceSubscriptionList[index].check = true;\n }\n }\n}\n","<div *ngIf=\"accountDetailsActive\" class=\"cax-nav-backdrop\"></div>\r\n<div class=\"cax-nav\" [ngClass]=\"{ 'cax-nav-expand': isNavExpanded }\" (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\">\r\n <div class=\"cax-nav-header-container\" #headerContainer>\r\n <div [@headerAnimation] *ngIf=\"!isNavExpanded\" class=\"cax-nav-header\">\r\n <cax-logo *ngIf=\"!headerLogo?.collapsed\" class=\"c-pointer\" (click)=\"emitLogoClick()\" size=\"sm\" [iconOnly]=\"true\" />\r\n <cax-image *ngIf=\"headerLogo?.collapsed\" class=\"c-pointer\" (click)=\"emitLogoClick()\" size=\"sm\" [src]=\"headerLogo.collapsed\" [style.opacity]=\"1\" />\r\n <cax-divider layout=\"vertical\"></cax-divider>\r\n <span *ngIf=\"headerInitials\">{{ headerInitials }}</span>\r\n <span *ngIf=\"!headerInitials\">{{ getInitials(header) }}</span>\r\n </div>\r\n <div *ngIf=\"isNavExpanded\" class=\"cax-nav-header\" [@headerAnimation]>\r\n <cax-logo *ngIf=\"!headerLogo?.expanded\" class=\"c-pointer\" (click)=\"emitLogoClick()\" size=\"sm\" />\r\n <cax-image *ngIf=\"headerLogo?.expanded\" class=\"c-pointer\" (click)=\"emitLogoClick()\" size=\"sm\" [src]=\"headerLogo.expanded\" [style.opacity]=\"1\" />\r\n <cax-divider layout=\"vertical\"></cax-divider>\r\n <span>{{ header }}</span>\r\n </div>\r\n </div>\r\n <div class=\"cax-nav-list-container\" [style.maxHeight.px]=\"adjustUpDivHeight()\">\r\n <ul>\r\n <li *ngFor=\"let nav of topNavList, let i = index\" [ngClass]=\"{ active: nav.active }\" (click)=\"onItemClick($event, nav, i, 'top')\">\r\n <i *ngIf=\"nav.icon; else imageTemplate\" [class]=\"'cax pi ' + nav.icon\"></i>\r\n <ng-template #imageTemplate>\r\n <cax-image [src]=\"nav.image\" width=\"24px\" height=\"24px\" [style.opacity]=\"1\"></cax-image>\r\n </ng-template>\r\n <span [@textAnimation] *ngIf=\"isNavExpanded\" class=\"cax-nav-list-label\">{{ nav.label }}</span>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"cax-nav-bottom-container\" #bottomContainer>\r\n <div class=\"cax-nav-bottom-list\">\r\n <ul>\r\n <li *ngFor=\"let nav of bottomNavList, let i = index\" [ngClass]=\"{ active: nav.active }\" (click)=\"onItemClick($event, nav, i, 'bottom')\">\r\n <i *ngIf=\"nav.icon; else imageTemplate\" [class]=\"'cax pi ' + nav.icon\"></i>\r\n <ng-template #imageTemplate>\r\n <cax-image [src]=\"nav.image\" width=\"24px\" height=\"24px\" [style.opacity]=\"1\"></cax-image>\r\n </ng-template>\r\n <span [@textAnimation] *ngIf=\"isNavExpanded\" class=\"cax-nav-list-label\">{{ nav.label }}</span>\r\n </li>\r\n <li *ngIf=\"notifications\" (click)=\"emitNotification()\" [ngClass]=\"{ active: notificationActive }\">\r\n <i *ngIf=\"!notificationCount\" class=\"cax cax-bell\"></i>\r\n <i *ngIf=\"notificationCount\" class=\"cax cax-bell\" caxBadge [value]=\"notificationCount\" badgeSize=\"xs\" badgeSeverity=\"danger\"></i>\r\n <span [@textAnimation] *ngIf=\"isNavExpanded\" class=\"cax-nav-list-label\">Notifications</span>\r\n </li>\r\n <li *ngIf=\"helpCentre\" (click)=\"emitHelpCentre()\" [ngClass]=\"{ active: helpCentreActive }\">\r\n <i class=\"cax cax-shield-warning\"></i>\r\n <span [@textAnimation] *ngIf=\"isNavExpanded\" class=\"cax-nav-list-label\">Help Centre</span>\r\n </li>\r\n </ul>\r\n </div>\r\n <div *ngIf=\"userName\" (click)=\"op.toggle($event);\" [ngClass]=\"{ active: accountDetailsActive }\" class=\"cax-nav-account-details\">\r\n <cax-avatar *ngIf=\"userImage\" [image]=\"userImage\" avatarSize=\"lg\"></cax-avatar>\r\n <cax-avatar *ngIf=\"!userImage\" [label]=\"getInitials(userName)\" avatarSize=\"lg\"></cax-avatar>\r\n <div [@textAnimation] *ngIf=\"isNavExpanded\" class=\"cax-nav-user\">\r\n <span class=\"cax-nav-user-name\">{{ userName }}</span>\r\n <span class=\"cax-nav-user-role\">{{ displaySubscriptionName }}</span>\r\n </div>\r\n <div [@textAnimation] *ngIf=\"isNavExpanded\" class=\"cax-nav-account-icon\">\r\n <i class=\"cax cax-alt-arrow-up\"></i>\r\n <i class=\"cax cax-alt-arrow-down\"></i>\r\n </div>\r\n <cax-overlayPanel #op (onShow)=\"accountDetailsActive = true\" [styleClass]=\"isNavExpanded ? 'cax-nav-overlay-expand' : 'cax-nav-overlay'\" (onHide)=\"hideAccountDetails()\">\r\n <div class=\"cax-nav-subscription-list\" *ngIf=\"subscriptionMode === 'default' && subscriptionList?.length\">\r\n <li class=\"cax-nav-subscription-list-item\" [class.active]=\"selectedSubscription === item\" *ngFor=\"let item of subscriptionList\" (click)=\"changeActiveSusbcription(item)\">\r\n <span>{{ item }}</span>\r\n <cax-radioButton *ngIf=\"selectedSubscription === item\" value=\"1\" [(ngModel)]=\"checkRadio\"></cax-radioButton>\r\n </li>\r\n </div>\r\n <div class=\"cax-nav-subscription-list\" *ngIf=\"subscriptionMode === 'advance' && advanceSubscriptionList?.length\">\r\n <div *ngFor=\"let item of advanceSubscriptionList, let i = index\">\r\n <li [class.active]=\"selectedSubscription?.name === item.name\" class=\"cax-nav-advance-subscription-list-item\" (click)=\"toggleSubscriptionList(i)\">\r\n <span>{{ item.name }}</span>\r\n <i *ngIf=\"!item.check\" class=\"cax cax-alt-arrow-down\"></i>\r\n <i *ngIf=\"item.check\" class=\"cax cax-alt-arrow-up\"></i>\r\n </li>\r\n <div *ngIf=\"item.check\" class=\"cax-nav-advance-subscription-child-list\">\r\n <li [class.active]=\"selectedSubscription?.selected === child\" class=\"cax-nav-advance-subscription-child-list-item\" *ngFor=\"let child of item.subscription\" (click)=\"updateSubscription(item, child)\">\r\n <span>{{ child }}</span>\r\n <cax-radioButton [size]=\"'sm'\" *ngIf=\"selectedSubscription?.selected === child\" value=\"1\" [(ngModel)]=\"checkRadio\"></cax-radioButton>\r\n </li>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"profile\" class=\"cax-nav-profile-options\" (click)=\"emitProfile()\">\r\n <i class=\"cax cax-user-rounded\"></i>\r\n <span>View Profile</span>\r\n </div>\r\n <div *ngIf=\"settings\" class=\"cax-nav-profile-options\" (click)=\"emitSettings()\">\r\n <i class=\"cax cax-settings\"></i>\r\n <span>Account Settings</span>\r\n </div>\r\n <div *ngIf=\"logout\" class=\"cax-nav-profile-options cax-nav-logout\" (click)=\"emitLogout()\">\r\n <i class=\"cax cax-logout\"></i>\r\n <span>Logout</span>\r\n </div>\r\n <div class=\"cax-nav-copyright-container\">\r\n <cax-logo width=\"55px\" height=\"17px\"></cax-logo>\r\n <div class=\"cax-nav-copyright\">\r\n <span *ngIf=\"copyrightYear\">© {{ copyrightYear }}</span>\r\n <span *ngIf=\"version\">{{ version }}</span>\r\n </div>\r\n </div>\r\n </cax-overlayPanel>\r\n </div>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\nimport { Navigation } from './navigation';\n\n@NgModule({\n imports: [Navigation],\n exports: [Navigation]\n})\nexport class NavigationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;MA0Ca,UAAU,CAAA;AAuBC,IAAA,EAAA,CAAA;AAtBX,IAAA,MAAM,CAAqB;AAC3B,IAAA,UAAU,CAAgB;AAC1B,IAAA,aAAa,CAAgB;AAC7B,IAAA,SAAS,CAAiD;IAC1D,aAAa,GAAY,IAAI,CAAC;IAC9B,UAAU,GAAY,IAAI,CAAC;AAC3B,IAAA,aAAa,GAAuB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAC7D,IAAA,OAAO,CAAqB;IAC5B,MAAM,GAAY,IAAI,CAAC;IACvB,OAAO,GAAY,IAAI,CAAC;IACxB,QAAQ,GAAY,IAAI,CAAC;AACzB,IAAA,QAAQ,CAAqB;AAC7B,IAAA,SAAS,CAAqB;AAC9B,IAAA,UAAU,CAAsD;AAChE,IAAA,cAAc,CAAqB;IACnC,gBAAgB,GAA0B,SAAS,CAAC;AACpD,IAAA,gBAAgB,CAAW;AAC3B,IAAA,oBAAoB,CAA0C;AAC9D,IAAA,uBAAuB,CAAqB;AAC5C,IAAA,uBAAuB,CAAqB;IAC5C,iBAAiB,GAAW,CAAC,CAAC;AAEvC,IAAA,WAAA,CAAoB,EAAqB,EAAA;QAArB,IAAE,CAAA,EAAA,GAAF,EAAE,CAAmB;KAAI;AAEnC,IAAA,mBAAmB,GAAgF,IAAI,YAAY,EAAE,CAAC;AACtH,IAAA,mBAAmB,GAAsB,IAAI,YAAY,EAAE,CAAC;AAC5D,IAAA,iBAAiB,GAAsB,IAAI,YAAY,EAAE,CAAC;AAC1D,IAAA,aAAa,GAAsB,IAAI,YAAY,EAAE,CAAC;AACtD,IAAA,cAAc,GAAsB,IAAI,YAAY,EAAE,CAAC;AACvD,IAAA,eAAe,GAAsB,IAAI,YAAY,EAAE,CAAC;AACxD,IAAA,WAAW,GAAsB,IAAI,YAAY,EAAE,CAAC;AACpD,IAAA,oBAAoB,GAAsB,IAAI,YAAY,EAAE,CAAC;AAC7D,IAAA,aAAa,GAA0B,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;IAEzE,SAAS,GAAY,KAAK,CAAC;IAC3B,aAAa,GAAY,KAAK,CAAC;IAC/B,kBAAkB,GAAY,KAAK,CAAC;IACpC,gBAAgB,GAAY,KAAK,CAAC;IAClC,oBAAoB,GAAY,KAAK,CAAC;IACtC,UAAU,GAAG,CAAC,CAAC;AACe,IAAA,eAAe,CAA8B;AAC7C,IAAA,eAAe,CAA8B;IAE3E,WAAW,GAAA;AACP,QAAA,IAAI,IAAI,CAAC,SAAS,IAAI,eAAe,EAAE;AACnC,YAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACpB,gBAAA,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,IAAiB,MAAM,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;AACnE,gBAAA,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,IAAiB,MAAM,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;AACtE,gBAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;aAClC;;gBAAM,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;SAC3C;AAAM,aAAA,IAAI,IAAI,CAAC,SAAS,IAAI,aAAa,EAAE;AACxC,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACjB,gBAAA,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,IAAiB,MAAM,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;AACnE,gBAAA,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,IAAiB,MAAM,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;AACtE,gBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;aAChC;;gBAAM,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;SAC3C;aAAM;YACH,IAAI,IAAI,CAAC,SAAS,EAAE,QAAQ,IAAI,KAAK,EAAE;gBACnC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE;AAC7E,oBAAA,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,IAAiB,MAAM,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;AACnE,oBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;iBACvD;qBAAM;oBACH,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,IAAiB,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;wBACxE,IAAI,KAAK,GAAG,CAAC,CAAC;wBACd,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,IAAiB,KAAI;AAC3C,4BAAA,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,CAAC;AAAE,gCAAA,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;;AAC5C,gCAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AAC7B,yBAAC,CAAC,CAAC;qBACN;AAAM,yBAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,IAAiB,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE;wBAC5E,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;qBACpC;iBACJ;aACJ;iBAAM,IAAI,IAAI,CAAC,SAAS,EAAE,QAAQ,IAAI,QAAQ,EAAE;gBAC7C,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE;AAChF,oBAAA,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,IAAiB,MAAM,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;AACtE,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;iBAC1D;qBAAM;oBACH,IAAI,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,IAAiB,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC3E,IAAI,KAAK,GAAG,CAAC,CAAC;wBACd,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,IAAiB,KAAI;AAC9C,4BAAA,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,CAAC;AAAE,gCAAA,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;;AAC5C,gCAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AAC7B,yBAAC,CAAC,CAAC;qBACN;AAAM,yBAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,IAAiB,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE;wBAC/E,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;qBACvC;iBACJ;aACJ;iBAAM;gBACH,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;aACpC;SACJ;KACJ;IAED,eAAe,GAAA;QACX,IAAI,IAAI,CAAC,uBAAuB;AAC5B,YAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;gBACrE,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACrC,aAAC,CAAC,CAAC;AACP,QAAA,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE;AACrC,YAAA,IAAI,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE;AACrC,gBAAA,IACI,EACI,OAAO,IAAI,CAAC,oBAAoB,KAAK,QAAQ;oBAC7C,IAAI,CAAC,oBAAoB,EAAE,IAAI;oBAC/B,IAAI,CAAC,oBAAoB,EAAE,QAAQ;AACnC,oBAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,oBAAoB,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CACxM,EACH;oBACE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,IAAS,KAAI;AAC5C,wBAAA,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;4BAC1B,IAAI,CAAC,oBAAoB,GAAG;gCACxB,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gCAAA,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;6BACjC,CAAC;AACF,4BAAA,OAAO,IAAI,CAAC;yBACf;AACL,qBAAC,CAAC,CAAC;iBACN;aACJ;SACJ;aAAM;AACH,YAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE;AAC/B,gBAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC;oBAAE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;aAChI;SACJ;AACD,QAAA,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,MAAM,EAAE;YACvC,IAAI,IAAI,CAAC,oBAAoB,IAAI,OAAO,IAAI,CAAC,oBAAoB,KAAK,QAAQ,EAAE;AAC5E,gBAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC;aAC9G;iBAAM,IAAI,IAAI,CAAC,oBAAoB,IAAI,OAAO,IAAI,CAAC,oBAAoB,KAAK,QAAQ,EAAE;AACnF,gBAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,oBAAoB,CAAC;aAC5D;SACJ;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC5B;AAED,IAAA,WAAW,CAAC,CAAa,EAAE,IAAiB,EAAE,KAAa,EAAE,QAA0B,EAAA;AACnF,QAAA,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,IAAiB,MAAM,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;AACnE,QAAA,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,IAAiB,MAAM,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;AACtE,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;AAChC,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,QAAQ,IAAI,KAAK;YAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;aACvD,IAAI,QAAQ,IAAI,QAAQ;YAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;AACvE,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;AACnF,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;SAC5C;KACJ;AAED,IAAA,WAAW,CAAC,IAAY,EAAA;AACpB,QAAA,IAAI,CAAC,IAAI;AAAE,YAAA,OAAO,EAAE,CAAC;QACrB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3C,QAAA,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YACxB,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SACxC;QACD,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;KAC/E;IAED,gBAAgB,GAAA;AACZ,QAAA,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,IAAiB,MAAM,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;AACnE,QAAA,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,IAAiB,MAAM,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;AACtE,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;AAC9B,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;AAC9D,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;KACnC;IAED,cAAc,GAAA;AACV,QAAA,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,IAAiB,MAAM,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;AACnE,QAAA,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,IAAiB,MAAM,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;AACtE,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;AAC7B,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;AAC5D,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;KACjC;IAED,UAAU,GAAA;AACN,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;KAC7B;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;KAC9B;IAED,YAAY,GAAA;AACR,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;KAC/B;IAED,aAAa,GAAA;AACT,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;KAC3B;IAGD,QAAQ,GAAA;QACJ,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC5B;IAED,iBAAiB,GAAA;QACb,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,YAAY,CAAC;QACtE,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,YAAY,CAAC;AACtE,QAAA,MAAM,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC;AAC3C,QAAA,OAAO,eAAe,GAAG,YAAY,GAAG,YAAY,GAAG,EAAE,CAAC;KAC7D;IAED,YAAY,GAAA;AACR,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;;;QAGtB,qBAAqB,CAAC,MAAK;YACvB,qBAAqB,CAAC,MAAK;AACvB,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AAC1B,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,gBAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;AAC3B,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACN;IAED,YAAY,GAAA;AACR,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;;YAE5B,qBAAqB,CAAC,MAAK;gBACvB,qBAAqB,CAAC,MAAK;AACvB,oBAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;AAC3B,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/B,oBAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;AAC3B,iBAAC,CAAC,CAAC;AACP,aAAC,CAAC,CAAC;SACN;KACJ;IAED,kBAAkB,GAAA;AACd,QAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;;QAElC,qBAAqB,CAAC,MAAK;YACvB,qBAAqB,CAAC,MAAK;AACvB,gBAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,oBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AAC1B,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACjC;qBAAM;AACH,oBAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;AAC3B,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBAClC;AACD,gBAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;AAC3B,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACN;AAED,IAAA,wBAAwB,CAAC,IAAY,EAAA;AACjC,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;KACtD;IAED,kBAAkB,CAAC,IAAsB,EAAE,KAAa,EAAA;AACpD,QAAA,IAAI,CAAC,oBAAoB,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACjE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;KAC7D;AAED,IAAA,sBAAsB,CAAC,KAAa,EAAA;QAChC,IAAI,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE;YAC3C,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;SACrD;aAAM;AACH,YAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;gBACrE,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACrC,aAAC,CAAC,CAAC;YACH,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;SACpD;KACJ;uGA1QQ,UAAU,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FAAV,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,aAAA,EAAA,eAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,eAAA,EAAA,UAAA,EAAA,YAAA,EAAA,aAAA,EAAA,eAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,YAAA,EAAA,EAAA,cAAA,EAAA,aAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC1CvB,u2PAyGA,EDpFc,MAAA,EAAA,CAAA,gqGAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,UAAU,uJAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,QAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,OAAA,EAAA,KAAA,EAAA,QAAA,EAAA,OAAA,EAAA,MAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,uBAAA,EAAA,uBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,YAAY,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,OAAA,EAAA,OAAA,EAAA,YAAA,EAAA,WAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,kBAAkB,oWAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,iBAAiB,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,OAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,EAChJ,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,eAAA,EAAA,UAAA,EAAA,YAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA;YACR,OAAO,CAAC,eAAe,EAAE;gBACrB,UAAU,CAAC,QAAQ,EAAE;oBACjB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;oBAC5G,OAAO,CAAC,sCAAsC,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;iBAC3J,CAAC;gBACF,UAAU,CAAC,QAAQ,EAAE;oBACjB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;oBACvG,OAAO,CAAC,sCAAsC,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC;iBAChK,CAAC;aACL,CAAC;YACF,OAAO,CAAC,iBAAiB,EAAE;AACvB,gBAAA,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,sCAAsC,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;AAClK,gBAAA,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,sCAAsC,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;aACrK,CAAC;AACL,SAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAKQ,UAAU,EAAA,UAAA,EAAA,CAAA;kBA5BtB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EAET,eAAA,EAAA,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,UAAA,EAEzB,IAAI,EAAA,OAAA,EACP,CAAC,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,CAAC,EACjJ,UAAA,EAAA;wBACR,OAAO,CAAC,eAAe,EAAE;4BACrB,UAAU,CAAC,QAAQ,EAAE;gCACjB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;gCAC5G,OAAO,CAAC,sCAAsC,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;6BAC3J,CAAC;4BACF,UAAU,CAAC,QAAQ,EAAE;gCACjB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;gCACvG,OAAO,CAAC,sCAAsC,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC;6BAChK,CAAC;yBACL,CAAC;wBACF,OAAO,CAAC,iBAAiB,EAAE;AACvB,4BAAA,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,sCAAsC,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;AAClK,4BAAA,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,sCAAsC,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;yBACrK,CAAC;qBACL,EACK,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,aAAa;AACvB,qBAAA,EAAA,QAAA,EAAA,u2PAAA,EAAA,MAAA,EAAA,CAAA,gqGAAA,CAAA,EAAA,CAAA;sFAGQ,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBACG,uBAAuB,EAAA,CAAA;sBAA/B,KAAK;gBACG,uBAAuB,EAAA,CAAA;sBAA/B,KAAK;gBACG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBAII,mBAAmB,EAAA,CAAA;sBAA5B,MAAM;gBACG,mBAAmB,EAAA,CAAA;sBAA5B,MAAM;gBACG,iBAAiB,EAAA,CAAA;sBAA1B,MAAM;gBACG,aAAa,EAAA,CAAA;sBAAtB,MAAM;gBACG,cAAc,EAAA,CAAA;sBAAvB,MAAM;gBACG,eAAe,EAAA,CAAA;sBAAxB,MAAM;gBACG,WAAW,EAAA,CAAA;sBAApB,MAAM;gBACG,oBAAoB,EAAA,CAAA;sBAA7B,MAAM;gBACG,aAAa,EAAA,CAAA;sBAAtB,MAAM;gBAQuB,eAAe,EAAA,CAAA;sBAA5C,SAAS;uBAAC,iBAAiB,CAAA;gBACE,eAAe,EAAA,CAAA;sBAA5C,SAAS;uBAAC,iBAAiB,CAAA;gBAsJ5B,QAAQ,EAAA,CAAA;sBADP,YAAY;uBAAC,eAAe,CAAA;;;MElOpB,gBAAgB,CAAA;uGAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;wGAAhB,gBAAgB,EAAA,OAAA,EAAA,CAHf,UAAU,CAAA,EAAA,OAAA,EAAA,CACV,UAAU,CAAA,EAAA,CAAA,CAAA;AAEX,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,YAHf,UAAU,CAAA,EAAA,CAAA,CAAA;;2FAGX,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,UAAU,CAAC;oBACrB,OAAO,EAAE,CAAC,UAAU,CAAC;AACxB,iBAAA,CAAA;;;ACND;;AAEG;;;;"}
|
|
@@ -137,6 +137,7 @@ class Sidebar {
|
|
|
137
137
|
if (value)
|
|
138
138
|
this.transformOptions = 'none';
|
|
139
139
|
}
|
|
140
|
+
mode = 'overlay';
|
|
140
141
|
templates;
|
|
141
142
|
/**
|
|
142
143
|
* Callback to invoke when dialog is shown.
|
|
@@ -337,6 +338,11 @@ class Sidebar {
|
|
|
337
338
|
this.animationEndListener = null;
|
|
338
339
|
}
|
|
339
340
|
}
|
|
341
|
+
ngOnChanges(changes) {
|
|
342
|
+
if (changes['mode']) {
|
|
343
|
+
this.modal = this.mode !== 'inline';
|
|
344
|
+
}
|
|
345
|
+
}
|
|
340
346
|
ngOnDestroy() {
|
|
341
347
|
this.initialized = false;
|
|
342
348
|
if (this.visible && this.modal) {
|
|
@@ -353,13 +359,13 @@ class Sidebar {
|
|
|
353
359
|
this.unbindAnimationEndListener();
|
|
354
360
|
}
|
|
355
361
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: Sidebar, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.caxConfig }], target: i0.ɵɵFactoryTarget.Component });
|
|
356
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: Sidebar, isStandalone: true, selector: "cax-sidebar", inputs: { headerText: "headerText", appendTo: "appendTo", blockScroll: ["blockScroll", "blockScroll", booleanAttribute], style: "style", styleClass: "styleClass", ariaCloseLabel: "ariaCloseLabel", autoZIndex: ["autoZIndex", "autoZIndex", booleanAttribute], baseZIndex: ["baseZIndex", "baseZIndex", numberAttribute], modal: ["modal", "modal", booleanAttribute], dismissible: ["dismissible", "dismissible", booleanAttribute], showCloseIcon: ["showCloseIcon", "showCloseIcon", booleanAttribute], closeOnEscape: ["closeOnEscape", "closeOnEscape", booleanAttribute], transitionOptions: "transitionOptions", visible: "visible", position: "position", fullScreen: "fullScreen", contentTemplate: "contentTemplate", headerTemplate: "headerTemplate", headlessTemplate: "headlessTemplate", footerTemplate: "footerTemplate", closeIconTemplate: "closeIconTemplate", headerStyle: "headerStyle" }, outputs: { onShow: "onShow", onHide: "onHide", visibleChange: "visibleChange" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], ngImport: i0, template: "<div>\r\n
|
|
362
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: Sidebar, isStandalone: true, selector: "cax-sidebar", inputs: { headerText: "headerText", appendTo: "appendTo", blockScroll: ["blockScroll", "blockScroll", booleanAttribute], style: "style", styleClass: "styleClass", ariaCloseLabel: "ariaCloseLabel", autoZIndex: ["autoZIndex", "autoZIndex", booleanAttribute], baseZIndex: ["baseZIndex", "baseZIndex", numberAttribute], modal: ["modal", "modal", booleanAttribute], dismissible: ["dismissible", "dismissible", booleanAttribute], showCloseIcon: ["showCloseIcon", "showCloseIcon", booleanAttribute], closeOnEscape: ["closeOnEscape", "closeOnEscape", booleanAttribute], transitionOptions: "transitionOptions", visible: "visible", position: "position", fullScreen: "fullScreen", mode: "mode", contentTemplate: "contentTemplate", headerTemplate: "headerTemplate", headlessTemplate: "headlessTemplate", footerTemplate: "footerTemplate", closeIconTemplate: "closeIconTemplate", headerStyle: "headerStyle" }, outputs: { onShow: "onShow", onHide: "onHide", visibleChange: "visibleChange" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], usesOnChanges: true, ngImport: i0, template: "<div class=\"cax-sidebar-layout-wrapper\">\r\n <!-- Sidebar Panel -->\r\n <div\r\n #container\r\n [ngClass]=\"{\r\n 'cax-sidebar': true,\r\n 'cax-sidebar-active': visible,\r\n 'cax-sidebar-overlay': mode === 'overlay',\r\n 'cax-sidebar-inline': mode === 'inline',\r\n 'cax-sidebar-left': position === 'left' && !fullScreen,\r\n 'cax-sidebar-right': position === 'right' && !fullScreen,\r\n 'cax-sidebar-top': position === 'top' && !fullScreen,\r\n 'cax-sidebar-bottom': position === 'bottom' && !fullScreen,\r\n 'cax-sidebar-full': fullScreen\r\n }\"\r\n *ngIf=\"visible\"\r\n [@panelState]=\"{ value: 'visible', params: { transform: transformOptions, transition: transitionOptions } }\"\r\n (@panelState.start)=\"onAnimationStart($event)\"\r\n (@panelState.done)=\"onAnimationEnd($event)\"\r\n [ngStyle]=\"style\"\r\n [class]=\"styleClass\"\r\n role=\"complementary\"\r\n [attr.data-pc-name]=\"'sidebar'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n (keydown)=\"onKeyDown($event)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"sidebarTemplate\"></ng-container>\r\n\r\n <ng-container *ngIf=\"headlessTemplate; else notHeadless\">\r\n <ng-container *ngTemplateOutlet=\"headlessTemplate\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #notHeadless>\r\n <div class=\"cax-sidebar-header\" [ngStyle]=\"headerStyle\">\r\n <ng-container *ngIf=\"headerTemplate; else defaultHeader\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-template #defaultHeader>\r\n <div>{{ headerText || 'Sidebar' }}</div>\r\n </ng-template>\r\n\r\n <button\r\n type=\"button\"\r\n class=\"cax-sidebar-close cax-sidebar-icon-css cax-link\"\r\n (click)=\"close($event)\"\r\n (keydown.enter)=\"close($event)\"\r\n [attr.aria-label]=\"ariaCloseLabel\"\r\n *ngIf=\"showCloseIcon\"\r\n caxRipple\r\n [attr.data-pc-section]=\"'closebutton'\"\r\n [attr.data-pc-groucax-section]=\"'iconcontainer'\"\r\n >\r\n <TimesIcon *ngIf=\"!closeIconTemplate\" class=\"cax-sidebar-close-icon\" [attr.data-pc-section]=\"'closeicon'\" />\r\n <span *ngIf=\"closeIconTemplate\" class=\"cax-sidebar-close-icon\" [attr.data-pc-section]=\"'closeicon'\">\r\n <ng-template *ngTemplateOutlet=\"closeIconTemplate\"></ng-template>\r\n </span>\r\n </button>\r\n </div>\r\n\r\n <div class=\"cax-sidebar-content\"[attr.data-pc-section]=\"'content'\">\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </div>\r\n\r\n <div *ngIf=\"footerTemplate\" class=\"cax-sidebar-footer\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n </ng-template>\r\n </div>\r\n\r\n <!-- Main Content Shifting with Sidebar -->\r\n <div\r\n class=\"cax-sidebar-content-wrapper\"\r\n [ngClass]=\"{\r\n 'shift-left': visible && mode === 'inline' && position === 'left',\r\n 'shift-right': visible && mode === 'inline' && position === 'right',\r\n 'shift-bottom':visible && mode === 'inline' && position === 'bottom',\r\n 'shift-top': visible && mode === 'inline' && position === 'top'\r\n }\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n</div>", styles: ["@layer cax{.cax-sidebar-layout-wrapper{display:flex;width:100%;height:100%;position:relative;background-color:#fff}.cax-sidebar-content-wrapper{flex:1;transition:margin .3s ease}.cax-sidebar-content-wrapper.shift-left{margin-left:300px}.cax-sidebar-content-wrapper.shift-right{margin-right:300px}.cax-sidebar-content-wrapper.shift-bottom{margin-bottom:300px}.cax-sidebar-content-wrapper.shift-top{margin-top:300px}.cax-sidebar{width:300px;position:fixed;transition:transform .3s ease;z-index:1000;box-shadow:none!important}.cax-sidebar.cax-sidebar-left{left:0;transform:translate(-100%)}.cax-sidebar.cax-sidebar-left.cax-sidebar-active{transform:translate(0)}.cax-sidebar.cax-sidebar-right{right:0;transform:translate(100%)}.cax-sidebar.cax-sidebar-right.cax-sidebar-active{transform:translate(0)}.cax-sidebar-content{position:relative;overflow-y:auto;flex-grow:1}.cax-sidebar-header{display:flex;align-items:center}.cax-sidebar-footer{margin-top:auto}.cax-sidebar-icon-css{display:flex;align-items:center;justify-content:center;margin-left:auto}.cax-sidebar-left{top:0;left:0;width:478px;height:-webkit-fill-available}.cax-sidebar-right{top:0;right:0;width:480px;box-shadow:none!important;height:-webkit-fill-available}.cax-sidebar-top{top:0;left:0;width:-webkit-fill-available;height:10rem}.cax-sidebar-bottom{bottom:0;left:0;width:-webkit-fill-available;height:10rem;-webkit-transition:none!important;transition:none!important}.cax-sidebar-overlay,.cax-sidebar-overlay.cax-sidebar-left,.cax-sidebar-overlay.cax-sidebar-right,.cax-sidebar-overlay.cax-sidebar-top,.cax-sidebar-overlay.cax-sidebar-bottom{margin:15px;border-radius:12px}.cax-sidebar-full{width:100%;height:100%;top:0;left:0;-webkit-transition:none;transition:none}.cax-sidebar-left.cax-sidebar-sm,.cax-sidebar-right.cax-sidebar-sm{width:478px}.cax-sidebar-left.cax-sidebar-md,.cax-sidebar-right.cax-sidebar-md{width:40rem}.cax-sidebar-left.cax-sidebar-lg,.cax-sidebar-right.cax-sidebar-lg{width:60rem}.cax-sidebar-top.cax-sidebar-sm,.cax-sidebar-bottom.cax-sidebar-sm{height:10rem}.cax-sidebar-top.cax-sidebar-md,.cax-sidebar-bottom.cax-sidebar-md{height:478px}.cax-sidebar-top.cax-sidebar-lg,.cax-sidebar-bottom.cax-sidebar-lg{height:30rem}@media screen and (max-width: 64em){.cax-sidebar-left.cax-sidebar-lg,.cax-sidebar-left.cax-sidebar-md,.cax-sidebar-right.cax-sidebar-lg,.cax-sidebar-right.cax-sidebar-md{width:478px}}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i3.Ripple, selector: "[caxRipple]" }, { kind: "ngmodule", type: SharedModule }, { kind: "component", type: TimesIcon, selector: "TimesIcon" }, { kind: "ngmodule", type: ButtonModule }], animations: [trigger('panelState', [transition('void => visible', [useAnimation(showAnimation)]), transition('visible => void', [useAnimation(hideAnimation)])])], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
357
363
|
}
|
|
358
364
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: Sidebar, decorators: [{
|
|
359
365
|
type: Component,
|
|
360
366
|
args: [{ selector: 'cax-sidebar', animations: [trigger('panelState', [transition('void => visible', [useAnimation(showAnimation)]), transition('visible => void', [useAnimation(hideAnimation)])])], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule, RippleModule, SharedModule, TimesIcon, ButtonModule], host: {
|
|
361
367
|
class: 'cax-element'
|
|
362
|
-
}, template: "<div>\r\n
|
|
368
|
+
}, template: "<div class=\"cax-sidebar-layout-wrapper\">\r\n <!-- Sidebar Panel -->\r\n <div\r\n #container\r\n [ngClass]=\"{\r\n 'cax-sidebar': true,\r\n 'cax-sidebar-active': visible,\r\n 'cax-sidebar-overlay': mode === 'overlay',\r\n 'cax-sidebar-inline': mode === 'inline',\r\n 'cax-sidebar-left': position === 'left' && !fullScreen,\r\n 'cax-sidebar-right': position === 'right' && !fullScreen,\r\n 'cax-sidebar-top': position === 'top' && !fullScreen,\r\n 'cax-sidebar-bottom': position === 'bottom' && !fullScreen,\r\n 'cax-sidebar-full': fullScreen\r\n }\"\r\n *ngIf=\"visible\"\r\n [@panelState]=\"{ value: 'visible', params: { transform: transformOptions, transition: transitionOptions } }\"\r\n (@panelState.start)=\"onAnimationStart($event)\"\r\n (@panelState.done)=\"onAnimationEnd($event)\"\r\n [ngStyle]=\"style\"\r\n [class]=\"styleClass\"\r\n role=\"complementary\"\r\n [attr.data-pc-name]=\"'sidebar'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n (keydown)=\"onKeyDown($event)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"sidebarTemplate\"></ng-container>\r\n\r\n <ng-container *ngIf=\"headlessTemplate; else notHeadless\">\r\n <ng-container *ngTemplateOutlet=\"headlessTemplate\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #notHeadless>\r\n <div class=\"cax-sidebar-header\" [ngStyle]=\"headerStyle\">\r\n <ng-container *ngIf=\"headerTemplate; else defaultHeader\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-template #defaultHeader>\r\n <div>{{ headerText || 'Sidebar' }}</div>\r\n </ng-template>\r\n\r\n <button\r\n type=\"button\"\r\n class=\"cax-sidebar-close cax-sidebar-icon-css cax-link\"\r\n (click)=\"close($event)\"\r\n (keydown.enter)=\"close($event)\"\r\n [attr.aria-label]=\"ariaCloseLabel\"\r\n *ngIf=\"showCloseIcon\"\r\n caxRipple\r\n [attr.data-pc-section]=\"'closebutton'\"\r\n [attr.data-pc-groucax-section]=\"'iconcontainer'\"\r\n >\r\n <TimesIcon *ngIf=\"!closeIconTemplate\" class=\"cax-sidebar-close-icon\" [attr.data-pc-section]=\"'closeicon'\" />\r\n <span *ngIf=\"closeIconTemplate\" class=\"cax-sidebar-close-icon\" [attr.data-pc-section]=\"'closeicon'\">\r\n <ng-template *ngTemplateOutlet=\"closeIconTemplate\"></ng-template>\r\n </span>\r\n </button>\r\n </div>\r\n\r\n <div class=\"cax-sidebar-content\"[attr.data-pc-section]=\"'content'\">\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </div>\r\n\r\n <div *ngIf=\"footerTemplate\" class=\"cax-sidebar-footer\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n </ng-template>\r\n </div>\r\n\r\n <!-- Main Content Shifting with Sidebar -->\r\n <div\r\n class=\"cax-sidebar-content-wrapper\"\r\n [ngClass]=\"{\r\n 'shift-left': visible && mode === 'inline' && position === 'left',\r\n 'shift-right': visible && mode === 'inline' && position === 'right',\r\n 'shift-bottom':visible && mode === 'inline' && position === 'bottom',\r\n 'shift-top': visible && mode === 'inline' && position === 'top'\r\n }\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n</div>", styles: ["@layer cax{.cax-sidebar-layout-wrapper{display:flex;width:100%;height:100%;position:relative;background-color:#fff}.cax-sidebar-content-wrapper{flex:1;transition:margin .3s ease}.cax-sidebar-content-wrapper.shift-left{margin-left:300px}.cax-sidebar-content-wrapper.shift-right{margin-right:300px}.cax-sidebar-content-wrapper.shift-bottom{margin-bottom:300px}.cax-sidebar-content-wrapper.shift-top{margin-top:300px}.cax-sidebar{width:300px;position:fixed;transition:transform .3s ease;z-index:1000;box-shadow:none!important}.cax-sidebar.cax-sidebar-left{left:0;transform:translate(-100%)}.cax-sidebar.cax-sidebar-left.cax-sidebar-active{transform:translate(0)}.cax-sidebar.cax-sidebar-right{right:0;transform:translate(100%)}.cax-sidebar.cax-sidebar-right.cax-sidebar-active{transform:translate(0)}.cax-sidebar-content{position:relative;overflow-y:auto;flex-grow:1}.cax-sidebar-header{display:flex;align-items:center}.cax-sidebar-footer{margin-top:auto}.cax-sidebar-icon-css{display:flex;align-items:center;justify-content:center;margin-left:auto}.cax-sidebar-left{top:0;left:0;width:478px;height:-webkit-fill-available}.cax-sidebar-right{top:0;right:0;width:480px;box-shadow:none!important;height:-webkit-fill-available}.cax-sidebar-top{top:0;left:0;width:-webkit-fill-available;height:10rem}.cax-sidebar-bottom{bottom:0;left:0;width:-webkit-fill-available;height:10rem;-webkit-transition:none!important;transition:none!important}.cax-sidebar-overlay,.cax-sidebar-overlay.cax-sidebar-left,.cax-sidebar-overlay.cax-sidebar-right,.cax-sidebar-overlay.cax-sidebar-top,.cax-sidebar-overlay.cax-sidebar-bottom{margin:15px;border-radius:12px}.cax-sidebar-full{width:100%;height:100%;top:0;left:0;-webkit-transition:none;transition:none}.cax-sidebar-left.cax-sidebar-sm,.cax-sidebar-right.cax-sidebar-sm{width:478px}.cax-sidebar-left.cax-sidebar-md,.cax-sidebar-right.cax-sidebar-md{width:40rem}.cax-sidebar-left.cax-sidebar-lg,.cax-sidebar-right.cax-sidebar-lg{width:60rem}.cax-sidebar-top.cax-sidebar-sm,.cax-sidebar-bottom.cax-sidebar-sm{height:10rem}.cax-sidebar-top.cax-sidebar-md,.cax-sidebar-bottom.cax-sidebar-md{height:478px}.cax-sidebar-top.cax-sidebar-lg,.cax-sidebar-bottom.cax-sidebar-lg{height:30rem}@media screen and (max-width: 64em){.cax-sidebar-left.cax-sidebar-lg,.cax-sidebar-left.cax-sidebar-md,.cax-sidebar-right.cax-sidebar-lg,.cax-sidebar-right.cax-sidebar-md{width:478px}}}\n"] }]
|
|
363
369
|
}], ctorParameters: () => [{ type: Document, decorators: [{
|
|
364
370
|
type: Inject,
|
|
365
371
|
args: [DOCUMENT]
|
|
@@ -402,6 +408,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
402
408
|
type: Input
|
|
403
409
|
}], fullScreen: [{
|
|
404
410
|
type: Input
|
|
411
|
+
}], mode: [{
|
|
412
|
+
type: Input
|
|
405
413
|
}], templates: [{
|
|
406
414
|
type: ContentChildren,
|
|
407
415
|
args: [CaxTemplate]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cax-design-system-sidebar.mjs","sources":["../../src/app/components/sidebar/sidebar.ts","../../src/app/components/sidebar/sidebar.html","../../src/app/components/sidebar/sidebar.module.ts","../../src/app/components/sidebar/cax-design-system-sidebar.ts"],"sourcesContent":["import { animate, animation, style, transition, trigger, useAnimation } from '@angular/animations';\nimport { CommonModule, DOCUMENT } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n OnDestroy,\n Output,\n QueryList,\n Renderer2,\n TemplateRef,\n ViewEncapsulation,\n booleanAttribute,\n numberAttribute\n} from '@angular/core';\nimport { caxConfig, CaxTemplate, SharedModule } from 'cax-design-system/api';\nimport { ButtonModule } from 'cax-design-system/button';\nimport { DomHandler } from 'cax-design-system/dom';\nimport { TimesIcon } from 'cax-design-system/icons/times';\nimport { RippleModule } from 'cax-design-system/ripple';\nimport { Nullable, VoidListener } from 'cax-design-system/ts-helpers';\nimport { ZIndexUtils } from 'cax-design-system/utils';\n\nconst showAnimation = animation([style({ transform: '{{transform}}', opacity: 0 }), animate('{{transition}}')]);\n\nconst hideAnimation = animation([animate('{{transition}}', style({ transform: '{{transform}}', opacity: 0 }))]);\n/**\n * Sidebar is a panel component displayed as an overlay at the edges of the screen.\n * @group Components\n */\n@Component({\n selector: 'cax-sidebar',\n templateUrl: './sidebar.html',\n styleUrls: ['./sidebar.scss'],\n animations: [trigger('panelState', [transition('void => visible', [useAnimation(showAnimation)]), transition('visible => void', [useAnimation(hideAnimation)])])],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [CommonModule, RippleModule, SharedModule, TimesIcon, ButtonModule],\n host: {\n class: 'cax-element'\n }\n})\nexport class Sidebar implements AfterViewInit, AfterContentInit, OnDestroy {\n sidebarVisible = false;\n\n toggleSidebar() {\n this.sidebarVisible = this.visible;\n this.sidebarVisible = !this.sidebarVisible;\n }\n @Input() headerText: string = '';\n /**\n * Target element to attach the dialog, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @group Props\n */\n @Input() appendTo: HTMLElement | ElementRef | TemplateRef<any> | string | null | undefined | any;\n /**\n * Whether to block scrolling of the document when sidebar is active.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) blockScroll: boolean = false;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Aria label of the close icon.\n * @group Props\n */\n @Input() ariaCloseLabel: string | undefined;\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoZIndex: boolean = true;\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n @Input({ transform: numberAttribute }) baseZIndex: number = 0;\n /**\n * Whether an overlay mask is displayed behind the sidebar.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) modal: boolean = true;\n /**\n * Whether to dismiss sidebar on click of the mask.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) dismissible: boolean = true;\n /**\n * Whether to display the close icon.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showCloseIcon: boolean = true;\n /**\n * Specifies if pressing escape key should hide the sidebar.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) closeOnEscape: boolean = true;\n /**\n * Transition options of the animation.\n * @group Props\n */\n @Input() transitionOptions: string = '150ms cubic-bezier(0, 0, 0.2, 1)';\n /**\n * Specifies the visibility of the dialog.\n * @group Props\n */\n @Input() get visible(): boolean {\n return this._visible as boolean;\n }\n set visible(val: boolean) {\n this._visible = val;\n this.visibleChange.emit(this._visible);\n }\n /**\n * Specifies the position of the sidebar, valid values are \"left\", \"right\", \"bottom\" and \"top\".\n * @group Props\n */\n @Input() get position(): string {\n return this._position;\n }\n set position(value: string) {\n this._position = value;\n\n switch (value) {\n case 'left':\n this.transformOptions = 'translate3d(-100%, 0px, 0px)';\n break;\n case 'right':\n this.transformOptions = 'translate3d(100%, 0px, 0px)';\n break;\n case 'bottom':\n this.transformOptions = 'translate3d(0px, 100%, 0px)';\n break;\n case 'top':\n this.transformOptions = 'translate3d(0px, -100%, 0px)';\n break;\n }\n }\n /**\n * Adds a close icon to the header to hide the dialog.\n * @group Props\n */\n @Input() get fullScreen(): boolean {\n return this._fullScreen;\n }\n set fullScreen(value: boolean) {\n this._fullScreen = value;\n\n if (value) this.transformOptions = 'none';\n }\n\n @ContentChildren(CaxTemplate) templates: QueryList<CaxTemplate> | undefined;\n /**\n * Callback to invoke when dialog is shown.\n * @group Emits\n */\n @Output() onShow: EventEmitter<any> = new EventEmitter<any>();\n /**\n * Callback to invoke when dialog is hidden.\n * @group Emits\n */\n @Output() onHide: EventEmitter<any> = new EventEmitter<any>();\n /**\n * Callback to invoke when dialog visibility is changed.\n * @param {boolean} value - Visible value.\n * @group Emits\n */\n @Output() visibleChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n initialized: boolean | undefined;\n\n _visible: boolean | undefined;\n\n _position: string = 'left';\n\n _fullScreen: boolean = false;\n\n container: Nullable<HTMLDivElement>;\n\n transformOptions: any = 'translate3d(-100%, 0px, 0px)';\n\n mask: Nullable<HTMLDivElement>;\n\n maskClickListener: VoidListener;\n\n documentEscapeListener: VoidListener;\n\n animationEndListener: VoidListener;\n\n @Input() contentTemplate: TemplateRef<any> | null = null;\n\n @Input() headerTemplate: TemplateRef<any> | null = null;\n @Input() headlessTemplate: TemplateRef<any> | null = null;\n\n @Input() footerTemplate: Nullable<TemplateRef<any>>;\n\n @Input() closeIconTemplate: TemplateRef<any> | null = null;\n\n /**\n * Inline style of the header section.\n * @group Props\n */\n @Input() headerStyle: { [klass: string]: any } = {}; // Changed to initialize with empty object\n\n // headlessTemplate: Nullable<TemplateRef<any>>;\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n public el: ElementRef,\n public renderer: Renderer2,\n public cd: ChangeDetectorRef,\n public config: caxConfig\n ) {}\n\n ngAfterViewInit() {\n this.initialized = true;\n }\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'content':\n this.contentTemplate = item.template;\n break;\n case 'header':\n this.headerTemplate = item.template;\n break;\n case 'footer':\n this.footerTemplate = item.template;\n break;\n case 'closeicon':\n this.closeIconTemplate = item.template;\n break;\n case 'headless':\n this.headlessTemplate = item.template;\n break;\n\n default:\n this.contentTemplate = item.template;\n break;\n }\n });\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (event.code === 'Escape') {\n this.hide(false);\n }\n }\n\n show() {\n if (this.autoZIndex) {\n ZIndexUtils.set('modal', this.container, this.baseZIndex || this.config.zIndex.modal);\n }\n\n if (this.modal) {\n this.enableModality();\n }\n\n this.onShow.emit({});\n this.visibleChange.emit(true);\n }\n\n hide(emit: boolean = true) {\n if (emit) {\n this.onHide.emit({});\n }\n\n if (this.modal) {\n this.disableModality();\n }\n }\n\n close(event: Event) {\n this.hide();\n this.visible = false;\n this.visibleChange.emit(this.visible);\n event.preventDefault();\n }\n\n enableModality() {\n const activeDrawers = this.document.querySelectorAll('.cax-sidebar-active');\n const activeDrawersLength = activeDrawers.length;\n const zIndex = activeDrawersLength == 1 ? String(parseInt((this.container as HTMLDivElement).style.zIndex) - 1) : String(parseInt((activeDrawers[0] as HTMLElement).style.zIndex) - 1);\n\n if (!this.mask) {\n this.mask = this.renderer.createElement('div');\n this.renderer.setStyle(this.mask, 'zIndex', zIndex);\n DomHandler.addMultipleClasses(this.mask, 'cax-component-overlay cax-sidebar-mask cax-component-overlay cax-component-overlay-enter');\n\n if (this.dismissible) {\n this.maskClickListener = this.renderer.listen(this.mask, 'click', (event: any) => {\n if (this.dismissible) {\n this.close(event);\n }\n });\n }\n\n this.renderer.appendChild(this.document.body, this.mask);\n if (this.blockScroll) {\n DomHandler.blockBodyScroll();\n }\n }\n }\n\n disableModality() {\n if (this.mask) {\n DomHandler.addClass(this.mask, 'cax-component-overlay-leave');\n this.animationEndListener = this.renderer.listen(this.mask, 'animationend', this.destroyModal.bind(this));\n }\n }\n\n destroyModal() {\n this.unbindMaskClickListener();\n\n if (this.mask) {\n this.renderer.removeChild(this.document.body, this.mask);\n }\n\n if (this.blockScroll) {\n DomHandler.unblockBodyScroll();\n }\n\n this.unbindAnimationEndListener();\n this.mask = null;\n }\n\n onAnimationStart(event: any) {\n switch (event.toState) {\n case 'visible':\n this.container = event.element;\n this.appendContainer();\n this.show();\n\n if (this.closeOnEscape) {\n this.bindDocumentEscapeListener();\n }\n break;\n }\n }\n\n onAnimationEnd(event: any) {\n switch (event.toState) {\n case 'void':\n this.hide(false);\n ZIndexUtils.clear(this.container);\n this.unbindGlobalListeners();\n break;\n }\n }\n\n appendContainer() {\n if (this.appendTo) {\n if (this.appendTo === 'body') this.renderer.appendChild(this.document.body, this.container);\n else DomHandler.appendChild(this.container, this.appendTo);\n }\n }\n\n bindDocumentEscapeListener() {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : this.document;\n\n this.documentEscapeListener = this.renderer.listen(documentTarget, 'keydown', (event) => {\n if (event.which == 27) {\n if (parseInt((this.container as HTMLDivElement).style.zIndex) === ZIndexUtils.get(this.container)) {\n this.close(event);\n }\n }\n });\n }\n\n unbindDocumentEscapeListener() {\n if (this.documentEscapeListener) {\n this.documentEscapeListener();\n this.documentEscapeListener = null;\n }\n }\n\n unbindMaskClickListener() {\n if (this.maskClickListener) {\n this.maskClickListener();\n this.maskClickListener = null;\n }\n }\n\n unbindGlobalListeners() {\n this.unbindMaskClickListener();\n this.unbindDocumentEscapeListener();\n }\n\n unbindAnimationEndListener() {\n if (this.animationEndListener && this.mask) {\n this.animationEndListener();\n this.animationEndListener = null;\n }\n }\n\n ngOnDestroy() {\n this.initialized = false;\n\n if (this.visible && this.modal) {\n this.destroyModal();\n }\n\n if (this.appendTo && this.container) {\n this.renderer.appendChild(this.el.nativeElement, this.container);\n }\n\n if (this.container && this.autoZIndex) {\n ZIndexUtils.clear(this.container);\n }\n\n this.container = null;\n this.unbindGlobalListeners();\n this.unbindAnimationEndListener();\n }\n}\n","<div>\r\n <div\r\n #container\r\n [ngClass]=\"{\r\n 'cax-sidebar': true,\r\n 'cax-sidebar-active': visible,\r\n 'cax-sidebar-left': position === 'left' && !fullScreen,\r\n 'cax-sidebar-right': position === 'right' && !fullScreen,\r\n 'cax-sidebar-top': position === 'top' && !fullScreen,\r\n 'cax-sidebar-bottom': position === 'bottom' && !fullScreen,\r\n 'cax-sidebar-full': fullScreen\r\n }\"\r\n *ngIf=\"visible\"\r\n [@panelState]=\"{ value: 'visible', params: { transform: transformOptions, transition: transitionOptions } }\"\r\n (@panelState.start)=\"onAnimationStart($event)\"\r\n (@panelState.done)=\"onAnimationEnd($event)\"\r\n [ngStyle]=\"style\"\r\n [class]=\"styleClass\"\r\n role=\"complementary\"\r\n [attr.data-pc-name]=\"'sidebar'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n (keydown)=\"onKeyDown($event)\"\r\n >\r\n <ng-container *ngIf=\"headlessTemplate; else notHeadless\">\r\n <ng-container *ngTemplateOutlet=\"headlessTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-template #notHeadless>\r\n <div class=\"cax-sidebar-header\" [attr.data-pc-section]=\"'header'\" [ngStyle]=\"headerStyle\">\r\n <ng-container *ngIf=\"headerTemplate; else defaultHeader\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-template #defaultHeader>\r\n <div>{{ headerText || 'Sidebar' }}</div>\r\n </ng-template>\r\n <button\r\n type=\"button\"\r\n class=\"cax-sidebar-close cax-sidebar-icon-css cax-link\"\r\n (click)=\"close($event)\"\r\n (keydown.enter)=\"close($event)\"\r\n [attr.aria-label]=\"ariaCloseLabel\"\r\n *ngIf=\"showCloseIcon\"\r\n caxRipple\r\n [attr.data-pc-section]=\"'closebutton'\"\r\n [attr.data-pc-groucax-section]=\"'iconcontainer'\"\r\n >\r\n <TimesIcon *ngIf=\"!closeIconTemplate\" [styleClass]=\"'cax-sidebar-close-icon'\" [attr.data-pc-section]=\"'closeicon'\" />\r\n <span *ngIf=\"closeIconTemplate\" class=\"cax-sidebar-close-icon\" [attr.data-pc-section]=\"'closeicon'\">\r\n <ng-template *ngTemplateOutlet=\"closeIconTemplate\"></ng-template>\r\n </span>\r\n </button>\r\n </div>\r\n\r\n <div class=\"cax-sidebar-content\" [attr.data-pc-section]=\"'content'\">\r\n <ng-content></ng-content>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </div>\r\n <ng-container *ngIf=\"footerTemplate\">\r\n <div class=\"cax-sidebar-footer\" [attr.data-pc-section]=\"'footer'\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from 'cax-design-system/api';\nimport { ButtonModule } from 'cax-design-system/button';\nimport { TimesIcon } from 'cax-design-system/icons/times';\nimport { RippleModule } from 'cax-design-system/ripple';\nimport { Sidebar } from './sidebar';\n\n@NgModule({\n imports: [Sidebar, CommonModule, RippleModule, SharedModule, TimesIcon, ButtonModule],\n exports: [SharedModule, Sidebar]\n})\nexport class SidebarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cax-design-system-sidebar.mjs","sources":["../../src/app/components/sidebar/sidebar.ts","../../src/app/components/sidebar/sidebar.html","../../src/app/components/sidebar/sidebar.module.ts","../../src/app/components/sidebar/cax-design-system-sidebar.ts"],"sourcesContent":["import { animate, animation, style, transition, trigger, useAnimation } from '@angular/animations';\nimport { CommonModule, DOCUMENT } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n OnDestroy,\n Output,\n QueryList,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewEncapsulation,\n booleanAttribute,\n numberAttribute\n} from '@angular/core';\nimport { caxConfig, CaxTemplate, SharedModule } from 'cax-design-system/api';\nimport { ButtonModule } from 'cax-design-system/button';\nimport { DomHandler } from 'cax-design-system/dom';\nimport { TimesIcon } from 'cax-design-system/icons/times';\nimport { RippleModule } from 'cax-design-system/ripple';\nimport { Nullable, VoidListener } from 'cax-design-system/ts-helpers';\nimport { ZIndexUtils } from 'cax-design-system/utils';\n\nconst showAnimation = animation([style({ transform: '{{transform}}', opacity: 0 }), animate('{{transition}}')]);\n\nconst hideAnimation = animation([animate('{{transition}}', style({ transform: '{{transform}}', opacity: 0 }))]);\n/**\n * Sidebar is a panel component displayed as an overlay at the edges of the screen.\n * @group Components\n */\n@Component({\n selector: 'cax-sidebar',\n templateUrl: './sidebar.html',\n styleUrls: ['./sidebar.scss'],\n animations: [trigger('panelState', [transition('void => visible', [useAnimation(showAnimation)]), transition('visible => void', [useAnimation(hideAnimation)])])],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [CommonModule, RippleModule, SharedModule, TimesIcon, ButtonModule],\n host: {\n class: 'cax-element'\n }\n})\nexport class Sidebar implements AfterViewInit, AfterContentInit, OnDestroy {\n sidebarVisible = false;\n\n toggleSidebar() {\n this.sidebarVisible = this.visible;\n this.sidebarVisible = !this.sidebarVisible;\n }\n @Input() headerText: string = '';\n /**\n * Target element to attach the dialog, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @group Props\n */\n @Input() appendTo: HTMLElement | ElementRef | TemplateRef<any> | string | null | undefined | any;\n /**\n * Whether to block scrolling of the document when sidebar is active.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) blockScroll: boolean = false;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Aria label of the close icon.\n * @group Props\n */\n @Input() ariaCloseLabel: string | undefined;\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoZIndex: boolean = true;\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n @Input({ transform: numberAttribute }) baseZIndex: number = 0;\n /**\n * Whether an overlay mask is displayed behind the sidebar.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) modal: boolean = true;\n /**\n * Whether to dismiss sidebar on click of the mask.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) dismissible: boolean = true;\n /**\n * Whether to display the close icon.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showCloseIcon: boolean = true;\n /**\n * Specifies if pressing escape key should hide the sidebar.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) closeOnEscape: boolean = true;\n /**\n * Transition options of the animation.\n * @group Props\n */\n @Input() transitionOptions: string = '150ms cubic-bezier(0, 0, 0.2, 1)';\n /**\n * Specifies the visibility of the dialog.\n * @group Props\n */\n @Input() get visible(): boolean {\n return this._visible as boolean;\n }\n set visible(val: boolean) {\n this._visible = val;\n this.visibleChange.emit(this._visible);\n }\n /**\n * Specifies the position of the sidebar, valid values are \"left\", \"right\", \"bottom\" and \"top\".\n * @group Props\n */\n @Input() get position(): string {\n return this._position;\n }\n set position(value: string) {\n this._position = value;\n\n switch (value) {\n case 'left':\n this.transformOptions = 'translate3d(-100%, 0px, 0px)';\n break;\n case 'right':\n this.transformOptions = 'translate3d(100%, 0px, 0px)';\n break;\n case 'bottom':\n this.transformOptions = 'translate3d(0px, 100%, 0px)';\n break;\n case 'top':\n this.transformOptions = 'translate3d(0px, -100%, 0px)';\n break;\n }\n }\n /**\n * Adds a close icon to the header to hide the dialog.\n * @group Props\n */\n @Input() get fullScreen(): boolean {\n return this._fullScreen;\n }\n set fullScreen(value: boolean) {\n this._fullScreen = value;\n\n if (value) this.transformOptions = 'none';\n }\n @Input() mode: 'overlay' | 'inline' = 'overlay';\n\n @ContentChildren(CaxTemplate) templates: QueryList<CaxTemplate> | undefined;\n /**\n * Callback to invoke when dialog is shown.\n * @group Emits\n */\n @Output() onShow: EventEmitter<any> = new EventEmitter<any>();\n /**\n * Callback to invoke when dialog is hidden.\n * @group Emits\n */\n @Output() onHide: EventEmitter<any> = new EventEmitter<any>();\n /**\n * Callback to invoke when dialog visibility is changed.\n * @param {boolean} value - Visible value.\n * @group Emits\n */\n @Output() visibleChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n initialized: boolean | undefined;\n\n _visible: boolean | undefined;\n\n _position: string = 'left';\n\n _fullScreen: boolean = false;\n\n container: Nullable<HTMLDivElement>;\n\n transformOptions: any = 'translate3d(-100%, 0px, 0px)';\n\n mask: Nullable<HTMLDivElement>;\n\n maskClickListener: VoidListener;\n\n documentEscapeListener: VoidListener;\n\n animationEndListener: VoidListener;\n\n @Input() contentTemplate: TemplateRef<any> | null = null;\n\n @Input() headerTemplate: TemplateRef<any> | null = null;\n @Input() headlessTemplate: TemplateRef<any> | null = null;\n\n @Input() footerTemplate: Nullable<TemplateRef<any>>;\n\n @Input() closeIconTemplate: TemplateRef<any> | null = null;\n\n /**\n * Inline style of the header section.\n * @group Props\n */\n @Input() headerStyle: { [klass: string]: any } = {}; // Changed to initialize with empty object\n\n // headlessTemplate: Nullable<TemplateRef<any>>;\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n public el: ElementRef,\n public renderer: Renderer2,\n public cd: ChangeDetectorRef,\n public config: caxConfig\n ) {}\n\n ngAfterViewInit() {\n this.initialized = true;\n }\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'content':\n this.contentTemplate = item.template;\n break;\n case 'header':\n this.headerTemplate = item.template;\n break;\n case 'footer':\n this.footerTemplate = item.template;\n break;\n case 'closeicon':\n this.closeIconTemplate = item.template;\n break;\n case 'headless':\n this.headlessTemplate = item.template;\n break;\n\n default:\n this.contentTemplate = item.template;\n break;\n }\n });\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (event.code === 'Escape') {\n this.hide(false);\n }\n }\n\n show() {\n if (this.autoZIndex) {\n ZIndexUtils.set('modal', this.container, this.baseZIndex || this.config.zIndex.modal);\n }\n\n if (this.modal) {\n this.enableModality();\n }\n\n this.onShow.emit({});\n this.visibleChange.emit(true);\n }\n\n hide(emit: boolean = true) {\n if (emit) {\n this.onHide.emit({});\n }\n\n if (this.modal) {\n this.disableModality();\n }\n }\n\n close(event: Event) {\n this.hide();\n this.visible = false;\n this.visibleChange.emit(this.visible);\n event.preventDefault();\n }\n\n enableModality() {\n const activeDrawers = this.document.querySelectorAll('.cax-sidebar-active');\n const activeDrawersLength = activeDrawers.length;\n const zIndex = activeDrawersLength == 1 ? String(parseInt((this.container as HTMLDivElement).style.zIndex) - 1) : String(parseInt((activeDrawers[0] as HTMLElement).style.zIndex) - 1);\n\n if (!this.mask) {\n this.mask = this.renderer.createElement('div');\n this.renderer.setStyle(this.mask, 'zIndex', zIndex);\n DomHandler.addMultipleClasses(this.mask, 'cax-component-overlay cax-sidebar-mask cax-component-overlay cax-component-overlay-enter');\n\n if (this.dismissible) {\n this.maskClickListener = this.renderer.listen(this.mask, 'click', (event: any) => {\n if (this.dismissible) {\n this.close(event);\n }\n });\n }\n\n this.renderer.appendChild(this.document.body, this.mask);\n if (this.blockScroll) {\n DomHandler.blockBodyScroll();\n }\n }\n }\n\n disableModality() {\n if (this.mask) {\n DomHandler.addClass(this.mask, 'cax-component-overlay-leave');\n this.animationEndListener = this.renderer.listen(this.mask, 'animationend', this.destroyModal.bind(this));\n }\n }\n\n destroyModal() {\n this.unbindMaskClickListener();\n\n if (this.mask) {\n this.renderer.removeChild(this.document.body, this.mask);\n }\n\n if (this.blockScroll) {\n DomHandler.unblockBodyScroll();\n }\n\n this.unbindAnimationEndListener();\n this.mask = null;\n }\n\n onAnimationStart(event: any) {\n switch (event.toState) {\n case 'visible':\n this.container = event.element;\n this.appendContainer();\n this.show();\n\n if (this.closeOnEscape) {\n this.bindDocumentEscapeListener();\n }\n break;\n }\n }\n\n onAnimationEnd(event: any) {\n switch (event.toState) {\n case 'void':\n this.hide(false);\n ZIndexUtils.clear(this.container);\n this.unbindGlobalListeners();\n break;\n }\n }\n\n appendContainer() {\n if (this.appendTo) {\n if (this.appendTo === 'body') this.renderer.appendChild(this.document.body, this.container);\n else DomHandler.appendChild(this.container, this.appendTo);\n }\n }\n\n bindDocumentEscapeListener() {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : this.document;\n\n this.documentEscapeListener = this.renderer.listen(documentTarget, 'keydown', (event) => {\n if (event.which == 27) {\n if (parseInt((this.container as HTMLDivElement).style.zIndex) === ZIndexUtils.get(this.container)) {\n this.close(event);\n }\n }\n });\n }\n\n unbindDocumentEscapeListener() {\n if (this.documentEscapeListener) {\n this.documentEscapeListener();\n this.documentEscapeListener = null;\n }\n }\n\n unbindMaskClickListener() {\n if (this.maskClickListener) {\n this.maskClickListener();\n this.maskClickListener = null;\n }\n }\n\n unbindGlobalListeners() {\n this.unbindMaskClickListener();\n this.unbindDocumentEscapeListener();\n }\n\n unbindAnimationEndListener() {\n if (this.animationEndListener && this.mask) {\n this.animationEndListener();\n this.animationEndListener = null;\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['mode']) {\n this.modal = this.mode !== 'inline';\n }\n }\n ngOnDestroy() {\n this.initialized = false;\n\n if (this.visible && this.modal) {\n this.destroyModal();\n }\n\n if (this.appendTo && this.container) {\n this.renderer.appendChild(this.el.nativeElement, this.container);\n }\n\n if (this.container && this.autoZIndex) {\n ZIndexUtils.clear(this.container);\n }\n\n this.container = null;\n this.unbindGlobalListeners();\n this.unbindAnimationEndListener();\n }\n}\n","<div class=\"cax-sidebar-layout-wrapper\">\r\n <!-- Sidebar Panel -->\r\n <div\r\n #container\r\n [ngClass]=\"{\r\n 'cax-sidebar': true,\r\n 'cax-sidebar-active': visible,\r\n 'cax-sidebar-overlay': mode === 'overlay',\r\n 'cax-sidebar-inline': mode === 'inline',\r\n 'cax-sidebar-left': position === 'left' && !fullScreen,\r\n 'cax-sidebar-right': position === 'right' && !fullScreen,\r\n 'cax-sidebar-top': position === 'top' && !fullScreen,\r\n 'cax-sidebar-bottom': position === 'bottom' && !fullScreen,\r\n 'cax-sidebar-full': fullScreen\r\n }\"\r\n *ngIf=\"visible\"\r\n [@panelState]=\"{ value: 'visible', params: { transform: transformOptions, transition: transitionOptions } }\"\r\n (@panelState.start)=\"onAnimationStart($event)\"\r\n (@panelState.done)=\"onAnimationEnd($event)\"\r\n [ngStyle]=\"style\"\r\n [class]=\"styleClass\"\r\n role=\"complementary\"\r\n [attr.data-pc-name]=\"'sidebar'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n (keydown)=\"onKeyDown($event)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"sidebarTemplate\"></ng-container>\r\n\r\n <ng-container *ngIf=\"headlessTemplate; else notHeadless\">\r\n <ng-container *ngTemplateOutlet=\"headlessTemplate\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #notHeadless>\r\n <div class=\"cax-sidebar-header\" [ngStyle]=\"headerStyle\">\r\n <ng-container *ngIf=\"headerTemplate; else defaultHeader\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-template #defaultHeader>\r\n <div>{{ headerText || 'Sidebar' }}</div>\r\n </ng-template>\r\n\r\n <button\r\n type=\"button\"\r\n class=\"cax-sidebar-close cax-sidebar-icon-css cax-link\"\r\n (click)=\"close($event)\"\r\n (keydown.enter)=\"close($event)\"\r\n [attr.aria-label]=\"ariaCloseLabel\"\r\n *ngIf=\"showCloseIcon\"\r\n caxRipple\r\n [attr.data-pc-section]=\"'closebutton'\"\r\n [attr.data-pc-groucax-section]=\"'iconcontainer'\"\r\n >\r\n <TimesIcon *ngIf=\"!closeIconTemplate\" class=\"cax-sidebar-close-icon\" [attr.data-pc-section]=\"'closeicon'\" />\r\n <span *ngIf=\"closeIconTemplate\" class=\"cax-sidebar-close-icon\" [attr.data-pc-section]=\"'closeicon'\">\r\n <ng-template *ngTemplateOutlet=\"closeIconTemplate\"></ng-template>\r\n </span>\r\n </button>\r\n </div>\r\n\r\n <div class=\"cax-sidebar-content\"[attr.data-pc-section]=\"'content'\">\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </div>\r\n\r\n <div *ngIf=\"footerTemplate\" class=\"cax-sidebar-footer\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n </ng-template>\r\n </div>\r\n\r\n <!-- Main Content Shifting with Sidebar -->\r\n <div\r\n class=\"cax-sidebar-content-wrapper\"\r\n [ngClass]=\"{\r\n 'shift-left': visible && mode === 'inline' && position === 'left',\r\n 'shift-right': visible && mode === 'inline' && position === 'right',\r\n 'shift-bottom':visible && mode === 'inline' && position === 'bottom',\r\n 'shift-top': visible && mode === 'inline' && position === 'top'\r\n }\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n</div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from 'cax-design-system/api';\nimport { ButtonModule } from 'cax-design-system/button';\nimport { TimesIcon } from 'cax-design-system/icons/times';\nimport { RippleModule } from 'cax-design-system/ripple';\nimport { Sidebar } from './sidebar';\n\n@NgModule({\n imports: [Sidebar, CommonModule, RippleModule, SharedModule, TimesIcon, ButtonModule],\n exports: [SharedModule, Sidebar]\n})\nexport class SidebarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|