cax-design-system 2.8.1 → 2.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/esm2022/dropdown/dropdown.mjs +3 -3
- package/esm2022/menu/menu.mjs +3 -3
- package/esm2022/navigation/navigation.mjs +3 -3
- package/esm2022/tableconfiguration/tableconfiguration.mjs +19 -11
- package/esm2022/toggleswitch/toggleswitch.mjs +2 -2
- package/esm2022/upload/upload.component.mjs +12 -7
- package/fesm2022/cax-design-system-dropdown.mjs +2 -2
- package/fesm2022/cax-design-system-dropdown.mjs.map +1 -1
- package/fesm2022/cax-design-system-menu.mjs +2 -2
- package/fesm2022/cax-design-system-menu.mjs.map +1 -1
- package/fesm2022/cax-design-system-navigation.mjs +2 -2
- package/fesm2022/cax-design-system-navigation.mjs.map +1 -1
- package/fesm2022/cax-design-system-tableconfiguration.mjs +18 -10
- package/fesm2022/cax-design-system-tableconfiguration.mjs.map +1 -1
- package/fesm2022/cax-design-system-toggleswitch.mjs +2 -2
- package/fesm2022/cax-design-system-toggleswitch.mjs.map +1 -1
- package/fesm2022/cax-design-system-upload.mjs +11 -6
- package/fesm2022/cax-design-system-upload.mjs.map +1 -1
- package/package.json +184 -184
- package/resources/cax.min.scss +1 -1
- package/resources/cax.scss +1 -0
- package/resources/components/colorpicker/images/color.png +0 -0
- package/resources/components/colorpicker/images/hue.png +0 -0
- package/resources/components/menu/menu.scss +1 -0
- package/resources/components/navigation/navigation.scss +1 -0
- package/resources/components/password/images/password-meter.png +0 -0
- package/resources/components/tableconfiguration/tableconfiguration.scss +10 -0
- package/resources/components/toggleswitch/toggleswitch.scss +1 -1
- package/resources/components/tree/images/line.gif +0 -0
- package/resources/images/color.png +0 -0
- package/resources/images/hue.png +0 -0
- package/resources/images/line.gif +0 -0
- package/resources/images/password-meter.png +0 -0
- package/tableconfiguration/tableconfiguration.d.ts +3 -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, 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":"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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":"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"}
|
|
@@ -12,16 +12,18 @@ class Tableconfiguration {
|
|
|
12
12
|
fontValue = 14;
|
|
13
13
|
rowHeightChange = new EventEmitter();
|
|
14
14
|
fontSizeChange = new EventEmitter();
|
|
15
|
+
saveDefault = new EventEmitter();
|
|
15
16
|
updateRowHeight(size) {
|
|
16
|
-
this.
|
|
17
|
-
|
|
17
|
+
if (size == 'sm' && (this.fontConfiguration === 'lg' || this.fontConfiguration === 'xl')) {
|
|
18
|
+
this.rowHeightChange.emit(this.rowConfiguration);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
this.rowConfiguration = size;
|
|
22
|
+
this.rowHeightChange.emit(this.rowConfiguration);
|
|
23
|
+
}
|
|
18
24
|
}
|
|
19
|
-
|
|
20
|
-
this.
|
|
21
|
-
this.fontConfiguration = 'md';
|
|
22
|
-
this.rowConfiguration = 'md';
|
|
23
|
-
this.fontSizeChange.emit(this.fontConfiguration);
|
|
24
|
-
this.rowHeightChange.emit(this.rowConfiguration);
|
|
25
|
+
emitTableConfiguration() {
|
|
26
|
+
this.saveDefault.emit({ fontSize: this.fontConfiguration, rowSize: this.rowConfiguration });
|
|
25
27
|
}
|
|
26
28
|
onSliderChange(event) {
|
|
27
29
|
const newValue = Number(event.target.value);
|
|
@@ -35,9 +37,13 @@ class Tableconfiguration {
|
|
|
35
37
|
break;
|
|
36
38
|
case 16:
|
|
37
39
|
this.fontConfiguration = 'lg';
|
|
40
|
+
if (this.rowConfiguration === 'sm')
|
|
41
|
+
this.rowConfiguration = 'md';
|
|
38
42
|
break;
|
|
39
43
|
case 18:
|
|
40
44
|
this.fontConfiguration = 'xl';
|
|
45
|
+
if (this.rowConfiguration === 'sm')
|
|
46
|
+
this.rowConfiguration = 'md';
|
|
41
47
|
break;
|
|
42
48
|
default:
|
|
43
49
|
this.fontConfiguration = 'md';
|
|
@@ -46,17 +52,19 @@ class Tableconfiguration {
|
|
|
46
52
|
this.fontSizeChange.emit(this.fontConfiguration);
|
|
47
53
|
}
|
|
48
54
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: Tableconfiguration, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
49
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: Tableconfiguration, isStandalone: true, selector: "cax-tableconfiguration", outputs: { rowHeightChange: "rowHeightChange", fontSizeChange: "fontSizeChange" }, host: { classAttribute: "cax-element" }, ngImport: i0, template: "<div class=\"table-configuration\">\r\n <div class=\"table-font-size\">\r\n <div class=\"header-details\">\r\n <span>Font Size</span>\r\n <cax-button (click)=\"
|
|
55
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: Tableconfiguration, isStandalone: true, selector: "cax-tableconfiguration", outputs: { rowHeightChange: "rowHeightChange", fontSizeChange: "fontSizeChange", saveDefault: "saveDefault" }, host: { classAttribute: "cax-element" }, ngImport: i0, template: "<div class=\"table-configuration\">\r\n <div class=\"table-font-size\">\r\n <div class=\"header-details\">\r\n <span>Font Size</span>\r\n <cax-button (click)=\"emitTableConfiguration()\" [label]=\"'Save as default'\" [link]=\"true\" [size]=\"'small'\"></cax-button>\r\n </div>\r\n <div class=\"font-configuration\">\r\n <div class=\"font-labels\">\r\n <span *ngFor=\"let option of fontSizeOptions\" [class.active]=\"fontValue === option\" [style.fontSize]=\"option + 'px'\"> {{ option }}px </span>\r\n </div>\r\n <div class=\"slider-wrapper\">\r\n <input type=\"range\" min=\"12\" max=\"18\" step=\"2\" [value]=\"fontValue\" (input)=\"onSliderChange($event)\" class=\"custom-slider\" />\r\n <div class=\"range-marker\">\r\n <div *ngFor=\"let option of fontSizeOptions\" class=\"range\" [class.active]=\"fontValue === option\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"table-row-size\">\r\n <div class=\"header-details\">\r\n <span>Row Height</span>\r\n </div>\r\n <div class=\"row-configuration\">\r\n <li [class.active]=\"rowConfiguration === 'sm' && (fontConfiguration === 'sm' || fontConfiguration === 'md')\" [class.disabled]=\"fontConfiguration === 'lg' || fontConfiguration === 'xl'\" (click)=\"updateRowHeight('sm')\">Compact</li>\r\n <li [class.active]=\"rowConfiguration === 'md'\" (click)=\"updateRowHeight('md')\">Medium</li>\r\n <li [class.active]=\"rowConfiguration === 'lg'\" (click)=\"updateRowHeight('lg')\">Large</li>\r\n <li [class.active]=\"rowConfiguration === 'xl'\" (click)=\"updateRowHeight('xl')\">Extra Large</li>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".table-configuration{display:flex;flex-direction:column;gap:24px;padding:12px}.table-configuration .table-font-size .header-details{display:flex;align-items:center;justify-content:space-between;font-weight:500}.table-configuration .table-font-size .header-details .cax-button:focus{outline:none!important}.table-configuration .table-font-size .header-details .cax-button:hover{background:none!important}.table-configuration .table-font-size .font-configuration{border:1px solid var(--neutral-100);padding:16px 24px;border-radius:6px;display:flex;flex-direction:column;align-items:center;gap:8px}.table-configuration .table-font-size .font-configuration .font-labels{display:flex;justify-content:space-between;align-items:center;font-weight:600;width:100%}.table-configuration .table-font-size .font-configuration .font-labels.active{color:var(--primary-color)}.table-configuration .table-font-size .font-configuration .slider-wrapper{position:relative;width:100%}.table-configuration .table-font-size .font-configuration .custom-slider{-webkit-appearance:none;appearance:none;width:100%;height:4px;background:var(--neutral-100);border-radius:3px;outline:none;transition:background .3s}.table-configuration .table-font-size .font-configuration .custom-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:var(--white-100);border:2px solid var(--primary-color);border-radius:50%;cursor:pointer}.table-configuration .table-font-size .font-configuration .range-marker{position:absolute;top:5px;left:2px;width:100%;display:flex;z-index:-10;justify-content:space-between}.table-configuration .table-font-size .font-configuration .range{width:4px;height:16px;background:var(--neutral-100);border-radius:4px}.table-configuration .table-font-size .font-configuration .range.active{visibility:hidden}.table-configuration .table-row-size{display:flex;flex-direction:column;gap:8px}.table-configuration .table-row-size .header-details{font-weight:500}.table-configuration .table-row-size .row-configuration{display:flex;justify-content:space-between;gap:16px}.table-configuration .table-row-size .row-configuration li{list-style-type:none;width:95.5px;display:flex;align-items:center;justify-content:center;border:1px solid var(--neutral-100);font-size:14px;font-weight:500;height:53px;border-radius:6px;cursor:pointer}.table-configuration .table-row-size .row-configuration li.active{border:1px solid var(--primary-color);color:var(--primary-color);background:var(--primary-25)}.table-configuration .table-row-size .row-configuration li.disabled{cursor:not-allowed;opacity:.5}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.Button, selector: "cax-button", inputs: ["type", "iconPos", "icon", "badge", "rightIcon", "leftIcon", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
50
56
|
}
|
|
51
57
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: Tableconfiguration, decorators: [{
|
|
52
58
|
type: Component,
|
|
53
59
|
args: [{ selector: 'cax-tableconfiguration', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [ButtonModule, CommonModule], standalone: true, host: {
|
|
54
60
|
class: 'cax-element'
|
|
55
|
-
}, template: "<div class=\"table-configuration\">\r\n <div class=\"table-font-size\">\r\n <div class=\"header-details\">\r\n <span>Font Size</span>\r\n <cax-button (click)=\"
|
|
61
|
+
}, template: "<div class=\"table-configuration\">\r\n <div class=\"table-font-size\">\r\n <div class=\"header-details\">\r\n <span>Font Size</span>\r\n <cax-button (click)=\"emitTableConfiguration()\" [label]=\"'Save as default'\" [link]=\"true\" [size]=\"'small'\"></cax-button>\r\n </div>\r\n <div class=\"font-configuration\">\r\n <div class=\"font-labels\">\r\n <span *ngFor=\"let option of fontSizeOptions\" [class.active]=\"fontValue === option\" [style.fontSize]=\"option + 'px'\"> {{ option }}px </span>\r\n </div>\r\n <div class=\"slider-wrapper\">\r\n <input type=\"range\" min=\"12\" max=\"18\" step=\"2\" [value]=\"fontValue\" (input)=\"onSliderChange($event)\" class=\"custom-slider\" />\r\n <div class=\"range-marker\">\r\n <div *ngFor=\"let option of fontSizeOptions\" class=\"range\" [class.active]=\"fontValue === option\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"table-row-size\">\r\n <div class=\"header-details\">\r\n <span>Row Height</span>\r\n </div>\r\n <div class=\"row-configuration\">\r\n <li [class.active]=\"rowConfiguration === 'sm' && (fontConfiguration === 'sm' || fontConfiguration === 'md')\" [class.disabled]=\"fontConfiguration === 'lg' || fontConfiguration === 'xl'\" (click)=\"updateRowHeight('sm')\">Compact</li>\r\n <li [class.active]=\"rowConfiguration === 'md'\" (click)=\"updateRowHeight('md')\">Medium</li>\r\n <li [class.active]=\"rowConfiguration === 'lg'\" (click)=\"updateRowHeight('lg')\">Large</li>\r\n <li [class.active]=\"rowConfiguration === 'xl'\" (click)=\"updateRowHeight('xl')\">Extra Large</li>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".table-configuration{display:flex;flex-direction:column;gap:24px;padding:12px}.table-configuration .table-font-size .header-details{display:flex;align-items:center;justify-content:space-between;font-weight:500}.table-configuration .table-font-size .header-details .cax-button:focus{outline:none!important}.table-configuration .table-font-size .header-details .cax-button:hover{background:none!important}.table-configuration .table-font-size .font-configuration{border:1px solid var(--neutral-100);padding:16px 24px;border-radius:6px;display:flex;flex-direction:column;align-items:center;gap:8px}.table-configuration .table-font-size .font-configuration .font-labels{display:flex;justify-content:space-between;align-items:center;font-weight:600;width:100%}.table-configuration .table-font-size .font-configuration .font-labels.active{color:var(--primary-color)}.table-configuration .table-font-size .font-configuration .slider-wrapper{position:relative;width:100%}.table-configuration .table-font-size .font-configuration .custom-slider{-webkit-appearance:none;appearance:none;width:100%;height:4px;background:var(--neutral-100);border-radius:3px;outline:none;transition:background .3s}.table-configuration .table-font-size .font-configuration .custom-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:var(--white-100);border:2px solid var(--primary-color);border-radius:50%;cursor:pointer}.table-configuration .table-font-size .font-configuration .range-marker{position:absolute;top:5px;left:2px;width:100%;display:flex;z-index:-10;justify-content:space-between}.table-configuration .table-font-size .font-configuration .range{width:4px;height:16px;background:var(--neutral-100);border-radius:4px}.table-configuration .table-font-size .font-configuration .range.active{visibility:hidden}.table-configuration .table-row-size{display:flex;flex-direction:column;gap:8px}.table-configuration .table-row-size .header-details{font-weight:500}.table-configuration .table-row-size .row-configuration{display:flex;justify-content:space-between;gap:16px}.table-configuration .table-row-size .row-configuration li{list-style-type:none;width:95.5px;display:flex;align-items:center;justify-content:center;border:1px solid var(--neutral-100);font-size:14px;font-weight:500;height:53px;border-radius:6px;cursor:pointer}.table-configuration .table-row-size .row-configuration li.active{border:1px solid var(--primary-color);color:var(--primary-color);background:var(--primary-25)}.table-configuration .table-row-size .row-configuration li.disabled{cursor:not-allowed;opacity:.5}\n"] }]
|
|
56
62
|
}], propDecorators: { rowHeightChange: [{
|
|
57
63
|
type: Output
|
|
58
64
|
}], fontSizeChange: [{
|
|
59
65
|
type: Output
|
|
66
|
+
}], saveDefault: [{
|
|
67
|
+
type: Output
|
|
60
68
|
}] } });
|
|
61
69
|
|
|
62
70
|
class TableconfigurationModule {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cax-design-system-tableconfiguration.mjs","sources":["../../src/app/components/tableconfiguration/tableconfiguration.ts","../../src/app/components/tableconfiguration/tableconfiguration.html","../../src/app/components/tableconfiguration/tableconfiguration.module.ts","../../src/app/components/tableconfiguration/cax-design-system-tableconfiguration.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Output, ViewEncapsulation } from '@angular/core';\nimport { ButtonModule } from 'cax-design-system/button';\n\n@Component({\n selector: 'cax-tableconfiguration',\n templateUrl: './tableconfiguration.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./tableconfiguration.scss'],\n imports: [ButtonModule, CommonModule],\n standalone: true,\n host: {\n class: 'cax-element'\n }\n})\nexport class Tableconfiguration {\n fontConfiguration: 'sm' | 'md' | 'lg' | 'xl' = 'md';\n rowConfiguration: 'sm' | 'md' | 'lg' | 'xl' = 'md';\n fontSizeOptions = [12, 14, 16, 18];\n fontValue = 14;\n\n @Output() rowHeightChange: EventEmitter<'sm' | 'md' | 'lg' | 'xl'> = new EventEmitter<'sm' | 'md' | 'lg' | 'xl'>();\n @Output() fontSizeChange: EventEmitter<'sm' | 'md' | 'lg' | 'xl'> = new EventEmitter<'sm' | 'md' | 'lg' | 'xl'>();\n\n updateRowHeight(size: 'sm' | 'md' | 'lg' | 'xl') {\n this.
|
|
1
|
+
{"version":3,"file":"cax-design-system-tableconfiguration.mjs","sources":["../../src/app/components/tableconfiguration/tableconfiguration.ts","../../src/app/components/tableconfiguration/tableconfiguration.html","../../src/app/components/tableconfiguration/tableconfiguration.module.ts","../../src/app/components/tableconfiguration/cax-design-system-tableconfiguration.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Output, ViewEncapsulation } from '@angular/core';\nimport { ButtonModule } from 'cax-design-system/button';\n\n@Component({\n selector: 'cax-tableconfiguration',\n templateUrl: './tableconfiguration.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./tableconfiguration.scss'],\n imports: [ButtonModule, CommonModule],\n standalone: true,\n host: {\n class: 'cax-element'\n }\n})\nexport class Tableconfiguration {\n fontConfiguration: 'sm' | 'md' | 'lg' | 'xl' = 'md';\n rowConfiguration: 'sm' | 'md' | 'lg' | 'xl' = 'md';\n fontSizeOptions = [12, 14, 16, 18];\n fontValue = 14;\n\n @Output() rowHeightChange: EventEmitter<'sm' | 'md' | 'lg' | 'xl'> = new EventEmitter<'sm' | 'md' | 'lg' | 'xl'>();\n @Output() fontSizeChange: EventEmitter<'sm' | 'md' | 'lg' | 'xl'> = new EventEmitter<'sm' | 'md' | 'lg' | 'xl'>();\n @Output() saveDefault: EventEmitter<any> = new EventEmitter();\n\n updateRowHeight(size: 'sm' | 'md' | 'lg' | 'xl') {\n if (size == 'sm' && (this.fontConfiguration === 'lg' || this.fontConfiguration === 'xl')) {\n this.rowHeightChange.emit(this.rowConfiguration);\n } else {\n this.rowConfiguration = size;\n this.rowHeightChange.emit(this.rowConfiguration);\n }\n }\n\n emitTableConfiguration() {\n this.saveDefault.emit({ fontSize: this.fontConfiguration, rowSize: this.rowConfiguration });\n }\n\n onSliderChange(event: Event) {\n const newValue = Number((event.target as HTMLInputElement).value);\n this.fontValue = newValue;\n switch (this.fontValue) {\n case 12:\n this.fontConfiguration = 'sm';\n break;\n case 14:\n this.fontConfiguration = 'md';\n break;\n case 16:\n this.fontConfiguration = 'lg';\n if (this.rowConfiguration === 'sm') this.rowConfiguration = 'md';\n break;\n case 18:\n this.fontConfiguration = 'xl';\n if (this.rowConfiguration === 'sm') this.rowConfiguration = 'md';\n break;\n default:\n this.fontConfiguration = 'md';\n break;\n }\n this.fontSizeChange.emit(this.fontConfiguration);\n }\n}\n","<div class=\"table-configuration\">\r\n <div class=\"table-font-size\">\r\n <div class=\"header-details\">\r\n <span>Font Size</span>\r\n <cax-button (click)=\"emitTableConfiguration()\" [label]=\"'Save as default'\" [link]=\"true\" [size]=\"'small'\"></cax-button>\r\n </div>\r\n <div class=\"font-configuration\">\r\n <div class=\"font-labels\">\r\n <span *ngFor=\"let option of fontSizeOptions\" [class.active]=\"fontValue === option\" [style.fontSize]=\"option + 'px'\"> {{ option }}px </span>\r\n </div>\r\n <div class=\"slider-wrapper\">\r\n <input type=\"range\" min=\"12\" max=\"18\" step=\"2\" [value]=\"fontValue\" (input)=\"onSliderChange($event)\" class=\"custom-slider\" />\r\n <div class=\"range-marker\">\r\n <div *ngFor=\"let option of fontSizeOptions\" class=\"range\" [class.active]=\"fontValue === option\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"table-row-size\">\r\n <div class=\"header-details\">\r\n <span>Row Height</span>\r\n </div>\r\n <div class=\"row-configuration\">\r\n <li [class.active]=\"rowConfiguration === 'sm' && (fontConfiguration === 'sm' || fontConfiguration === 'md')\" [class.disabled]=\"fontConfiguration === 'lg' || fontConfiguration === 'xl'\" (click)=\"updateRowHeight('sm')\">Compact</li>\r\n <li [class.active]=\"rowConfiguration === 'md'\" (click)=\"updateRowHeight('md')\">Medium</li>\r\n <li [class.active]=\"rowConfiguration === 'lg'\" (click)=\"updateRowHeight('lg')\">Large</li>\r\n <li [class.active]=\"rowConfiguration === 'xl'\" (click)=\"updateRowHeight('xl')\">Extra Large</li>\r\n </div>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\nimport { Tableconfiguration } from './tableconfiguration';\n\n@NgModule({\n imports: [Tableconfiguration],\n exports: [Tableconfiguration]\n})\nexport class TableconfigurationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -17,11 +17,11 @@ class ToggleSwitchComponent {
|
|
|
17
17
|
this.onChange.emit(this.checked);
|
|
18
18
|
}
|
|
19
19
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ToggleSwitchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: ToggleSwitchComponent, selector: "cax-toggleswitch", inputs: { size: "size", checked: "checked", disabled: "disabled", iconClass: "iconClass", label: "label", events: "events" }, outputs: { onChange: "onChange" }, ngImport: i0, template: "<div\r\n class=\"cax-toggleswitch-container\"\r\n [ngClass]=\"{\r\n 'cax-toggleswitch-container-disabled': disabled,\r\n 'cax-toggleswitch-size-sm': size === 'sm',\r\n 'cax-toggleswitch-size-md': size === 'md',\r\n 'cax-toggleswitch-size-lg': size === 'lg'\r\n }\"\r\n>\r\n <span class=\"cax-toggle-label\" *ngIf=\"label\">{{ label }}</span>\r\n <label class=\"cax-toggleswitchmaindiv\" [ngClass]=\"{ 'cax-toggleswitchmaindiv-disabled': disabled }\">\r\n <input type=\"checkbox\" [checked]=\"checked\" [disabled]=\"disabled\" (change)=\"toggleChecked($event)\" class=\"cax-toggleswitch\" />\r\n <div class=\"cax-toggleswitch-track\"></div>\r\n <div\r\n class=\"cax-toggle-thumb\"\r\n [ngClass]=\"{\r\n 'cax-toggle-thumb-checked': checked\r\n }\"\r\n >\r\n <ng-container *ngIf=\"checked\">\r\n <svg width=\"11\" height=\"7\" viewBox=\"0 0 11 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"cax-toggle-icon-active\">\r\n <path\r\n d=\"M10.0915 0.951972L10.0867 0.946075L10.0813 0.940568C9.90076 0.753564 9.61034 0.753146 9.42927 0.939309L4.16201 6.22962L1.58507 3.63469C1.40401 3.44841 1.11351 3.44879 0.932892 3.63584C0.755703 3.81933 0.755703 4.10875 0.932892 4.29224L0.932878 4.29225L0.934851 4.29424L3.58046 6.95832C3.73676 7.11955 3.94983 7.2 4.1473 7.2C4.36196 7.2 4.55963 7.11773 4.71406 6.9584L10.0468 1.60234C10.2436 1.4199 10.2421 1.1339 10.0915 0.951972ZM4.2327 6.30081L4.2317 6.2998C4.23206 6.30015 4.23237 6.30049 4.23269 6.30082L4.2327 6.30081Z\"\r\n fill=\"var(--primary-500)\"\r\n stroke=\"var(--primary-500)\"\r\n stroke-width=\"0.4\"\r\n />\r\n </svg>\r\n </ng-container>\r\n </div>\r\n </label>\r\n</div>\r\n", styles: ["@layer cax{.cax-toggleswitch-container{display:flex;align-items:center;
|
|
20
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: ToggleSwitchComponent, selector: "cax-toggleswitch", inputs: { size: "size", checked: "checked", disabled: "disabled", iconClass: "iconClass", label: "label", events: "events" }, outputs: { onChange: "onChange" }, ngImport: i0, template: "<div\r\n class=\"cax-toggleswitch-container\"\r\n [ngClass]=\"{\r\n 'cax-toggleswitch-container-disabled': disabled,\r\n 'cax-toggleswitch-size-sm': size === 'sm',\r\n 'cax-toggleswitch-size-md': size === 'md',\r\n 'cax-toggleswitch-size-lg': size === 'lg'\r\n }\"\r\n>\r\n <span class=\"cax-toggle-label\" *ngIf=\"label\">{{ label }}</span>\r\n <label class=\"cax-toggleswitchmaindiv\" [ngClass]=\"{ 'cax-toggleswitchmaindiv-disabled': disabled }\">\r\n <input type=\"checkbox\" [checked]=\"checked\" [disabled]=\"disabled\" (change)=\"toggleChecked($event)\" class=\"cax-toggleswitch\" />\r\n <div class=\"cax-toggleswitch-track\"></div>\r\n <div\r\n class=\"cax-toggle-thumb\"\r\n [ngClass]=\"{\r\n 'cax-toggle-thumb-checked': checked\r\n }\"\r\n >\r\n <ng-container *ngIf=\"checked\">\r\n <svg width=\"11\" height=\"7\" viewBox=\"0 0 11 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"cax-toggle-icon-active\">\r\n <path\r\n d=\"M10.0915 0.951972L10.0867 0.946075L10.0813 0.940568C9.90076 0.753564 9.61034 0.753146 9.42927 0.939309L4.16201 6.22962L1.58507 3.63469C1.40401 3.44841 1.11351 3.44879 0.932892 3.63584C0.755703 3.81933 0.755703 4.10875 0.932892 4.29224L0.932878 4.29225L0.934851 4.29424L3.58046 6.95832C3.73676 7.11955 3.94983 7.2 4.1473 7.2C4.36196 7.2 4.55963 7.11773 4.71406 6.9584L10.0468 1.60234C10.2436 1.4199 10.2421 1.1339 10.0915 0.951972ZM4.2327 6.30081L4.2317 6.2998C4.23206 6.30015 4.23237 6.30049 4.23269 6.30082L4.2327 6.30081Z\"\r\n fill=\"var(--primary-500)\"\r\n stroke=\"var(--primary-500)\"\r\n stroke-width=\"0.4\"\r\n />\r\n </svg>\r\n </ng-container>\r\n </div>\r\n </label>\r\n</div>\r\n", styles: ["@layer cax{.cax-toggleswitch-container{display:flex;align-items:center;justify-content:space-between}.cax-toggleswitch-container-disabled{opacity:.6;pointer-events:none}.cax-toggleswitchmaindiv{display:inline-flex;align-items:center;position:relative;cursor:pointer}.cax-toggleswitchmaindiv:hover,.cax-toggleswitchmaindiv:has(.cax-toggle-thumb:hover),.cax-toggleswitchmaindiv:has(.cax-toggleswitch-track:hover){opacity:.9}.cax-toggleswitchmaindiv-disabled{opacity:.6}.cax-toggleswitch{display:none}.cax-toggle-icon-active{display:flex}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
21
21
|
}
|
|
22
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ToggleSwitchComponent, decorators: [{
|
|
23
23
|
type: Component,
|
|
24
|
-
args: [{ selector: 'cax-toggleswitch', template: "<div\r\n class=\"cax-toggleswitch-container\"\r\n [ngClass]=\"{\r\n 'cax-toggleswitch-container-disabled': disabled,\r\n 'cax-toggleswitch-size-sm': size === 'sm',\r\n 'cax-toggleswitch-size-md': size === 'md',\r\n 'cax-toggleswitch-size-lg': size === 'lg'\r\n }\"\r\n>\r\n <span class=\"cax-toggle-label\" *ngIf=\"label\">{{ label }}</span>\r\n <label class=\"cax-toggleswitchmaindiv\" [ngClass]=\"{ 'cax-toggleswitchmaindiv-disabled': disabled }\">\r\n <input type=\"checkbox\" [checked]=\"checked\" [disabled]=\"disabled\" (change)=\"toggleChecked($event)\" class=\"cax-toggleswitch\" />\r\n <div class=\"cax-toggleswitch-track\"></div>\r\n <div\r\n class=\"cax-toggle-thumb\"\r\n [ngClass]=\"{\r\n 'cax-toggle-thumb-checked': checked\r\n }\"\r\n >\r\n <ng-container *ngIf=\"checked\">\r\n <svg width=\"11\" height=\"7\" viewBox=\"0 0 11 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"cax-toggle-icon-active\">\r\n <path\r\n d=\"M10.0915 0.951972L10.0867 0.946075L10.0813 0.940568C9.90076 0.753564 9.61034 0.753146 9.42927 0.939309L4.16201 6.22962L1.58507 3.63469C1.40401 3.44841 1.11351 3.44879 0.932892 3.63584C0.755703 3.81933 0.755703 4.10875 0.932892 4.29224L0.932878 4.29225L0.934851 4.29424L3.58046 6.95832C3.73676 7.11955 3.94983 7.2 4.1473 7.2C4.36196 7.2 4.55963 7.11773 4.71406 6.9584L10.0468 1.60234C10.2436 1.4199 10.2421 1.1339 10.0915 0.951972ZM4.2327 6.30081L4.2317 6.2998C4.23206 6.30015 4.23237 6.30049 4.23269 6.30082L4.2327 6.30081Z\"\r\n fill=\"var(--primary-500)\"\r\n stroke=\"var(--primary-500)\"\r\n stroke-width=\"0.4\"\r\n />\r\n </svg>\r\n </ng-container>\r\n </div>\r\n </label>\r\n</div>\r\n", styles: ["@layer cax{.cax-toggleswitch-container{display:flex;align-items:center;
|
|
24
|
+
args: [{ selector: 'cax-toggleswitch', template: "<div\r\n class=\"cax-toggleswitch-container\"\r\n [ngClass]=\"{\r\n 'cax-toggleswitch-container-disabled': disabled,\r\n 'cax-toggleswitch-size-sm': size === 'sm',\r\n 'cax-toggleswitch-size-md': size === 'md',\r\n 'cax-toggleswitch-size-lg': size === 'lg'\r\n }\"\r\n>\r\n <span class=\"cax-toggle-label\" *ngIf=\"label\">{{ label }}</span>\r\n <label class=\"cax-toggleswitchmaindiv\" [ngClass]=\"{ 'cax-toggleswitchmaindiv-disabled': disabled }\">\r\n <input type=\"checkbox\" [checked]=\"checked\" [disabled]=\"disabled\" (change)=\"toggleChecked($event)\" class=\"cax-toggleswitch\" />\r\n <div class=\"cax-toggleswitch-track\"></div>\r\n <div\r\n class=\"cax-toggle-thumb\"\r\n [ngClass]=\"{\r\n 'cax-toggle-thumb-checked': checked\r\n }\"\r\n >\r\n <ng-container *ngIf=\"checked\">\r\n <svg width=\"11\" height=\"7\" viewBox=\"0 0 11 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"cax-toggle-icon-active\">\r\n <path\r\n d=\"M10.0915 0.951972L10.0867 0.946075L10.0813 0.940568C9.90076 0.753564 9.61034 0.753146 9.42927 0.939309L4.16201 6.22962L1.58507 3.63469C1.40401 3.44841 1.11351 3.44879 0.932892 3.63584C0.755703 3.81933 0.755703 4.10875 0.932892 4.29224L0.932878 4.29225L0.934851 4.29424L3.58046 6.95832C3.73676 7.11955 3.94983 7.2 4.1473 7.2C4.36196 7.2 4.55963 7.11773 4.71406 6.9584L10.0468 1.60234C10.2436 1.4199 10.2421 1.1339 10.0915 0.951972ZM4.2327 6.30081L4.2317 6.2998C4.23206 6.30015 4.23237 6.30049 4.23269 6.30082L4.2327 6.30081Z\"\r\n fill=\"var(--primary-500)\"\r\n stroke=\"var(--primary-500)\"\r\n stroke-width=\"0.4\"\r\n />\r\n </svg>\r\n </ng-container>\r\n </div>\r\n </label>\r\n</div>\r\n", styles: ["@layer cax{.cax-toggleswitch-container{display:flex;align-items:center;justify-content:space-between}.cax-toggleswitch-container-disabled{opacity:.6;pointer-events:none}.cax-toggleswitchmaindiv{display:inline-flex;align-items:center;position:relative;cursor:pointer}.cax-toggleswitchmaindiv:hover,.cax-toggleswitchmaindiv:has(.cax-toggle-thumb:hover),.cax-toggleswitchmaindiv:has(.cax-toggleswitch-track:hover){opacity:.9}.cax-toggleswitchmaindiv-disabled{opacity:.6}.cax-toggleswitch{display:none}.cax-toggle-icon-active{display:flex}}\n"] }]
|
|
25
25
|
}], propDecorators: { size: [{
|
|
26
26
|
type: Input
|
|
27
27
|
}], checked: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cax-design-system-toggleswitch.mjs","sources":["../../src/app/components/toggleswitch/toggleswitch.ts","../../src/app/components/toggleswitch/toggleswitch.html","../../src/app/components/toggleswitch/toggleswitch.module.ts","../../src/app/components/toggleswitch/cax-design-system-toggleswitch.ts"],"sourcesContent":["import { Component, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'cax-toggleswitch',\n templateUrl: './toggleswitch.html',\n styleUrls: ['./toggleswitch.scss']\n})\nexport class ToggleSwitchComponent {\n @Input() size: 'sm' | 'md' | 'lg' = 'md';\n @Input() checked = false;\n @Input() disabled = false;\n @Input() iconClass: string = 'cax cax-check';\n @Output() onChange = new EventEmitter<boolean>();\n @Input() label: string | undefined;\n @Input() events: {};\n\n toggleChecked(event: Event) {\n this.checked = (event.target as HTMLInputElement).checked;\n this.onChange.emit(this.checked);\n }\n}\n","<div\r\n class=\"cax-toggleswitch-container\"\r\n [ngClass]=\"{\r\n 'cax-toggleswitch-container-disabled': disabled,\r\n 'cax-toggleswitch-size-sm': size === 'sm',\r\n 'cax-toggleswitch-size-md': size === 'md',\r\n 'cax-toggleswitch-size-lg': size === 'lg'\r\n }\"\r\n>\r\n <span class=\"cax-toggle-label\" *ngIf=\"label\">{{ label }}</span>\r\n <label class=\"cax-toggleswitchmaindiv\" [ngClass]=\"{ 'cax-toggleswitchmaindiv-disabled': disabled }\">\r\n <input type=\"checkbox\" [checked]=\"checked\" [disabled]=\"disabled\" (change)=\"toggleChecked($event)\" class=\"cax-toggleswitch\" />\r\n <div class=\"cax-toggleswitch-track\"></div>\r\n <div\r\n class=\"cax-toggle-thumb\"\r\n [ngClass]=\"{\r\n 'cax-toggle-thumb-checked': checked\r\n }\"\r\n >\r\n <ng-container *ngIf=\"checked\">\r\n <svg width=\"11\" height=\"7\" viewBox=\"0 0 11 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"cax-toggle-icon-active\">\r\n <path\r\n d=\"M10.0915 0.951972L10.0867 0.946075L10.0813 0.940568C9.90076 0.753564 9.61034 0.753146 9.42927 0.939309L4.16201 6.22962L1.58507 3.63469C1.40401 3.44841 1.11351 3.44879 0.932892 3.63584C0.755703 3.81933 0.755703 4.10875 0.932892 4.29224L0.932878 4.29225L0.934851 4.29424L3.58046 6.95832C3.73676 7.11955 3.94983 7.2 4.1473 7.2C4.36196 7.2 4.55963 7.11773 4.71406 6.9584L10.0468 1.60234C10.2436 1.4199 10.2421 1.1339 10.0915 0.951972ZM4.2327 6.30081L4.2317 6.2998C4.23206 6.30015 4.23237 6.30049 4.23269 6.30082L4.2327 6.30081Z\"\r\n fill=\"var(--primary-500)\"\r\n stroke=\"var(--primary-500)\"\r\n stroke-width=\"0.4\"\r\n />\r\n </svg>\r\n </ng-container>\r\n </div>\r\n </label>\r\n</div>\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { ToggleSwitchComponent } from './toggleswitch';\n\n@NgModule({\n declarations: [ToggleSwitchComponent],\n imports: [CommonModule, FormsModule],\n exports: [ToggleSwitchComponent]\n})\nexport class ToggleSwitchModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;MAOa,qBAAqB,CAAA;IACrB,IAAI,GAAuB,IAAI,CAAC;IAChC,OAAO,GAAG,KAAK,CAAC;IAChB,QAAQ,GAAG,KAAK,CAAC;IACjB,SAAS,GAAW,eAAe,CAAC;AACnC,IAAA,QAAQ,GAAG,IAAI,YAAY,EAAW,CAAC;AACxC,IAAA,KAAK,CAAqB;AAC1B,IAAA,MAAM,CAAK;AAEpB,IAAA,aAAa,CAAC,KAAY,EAAA;QACtB,IAAI,CAAC,OAAO,GAAI,KAAK,CAAC,MAA2B,CAAC,OAAO,CAAC;QAC1D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACpC;uGAZQ,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,yNCPlC,i4DAgCA,EAAA,MAAA,EAAA,CAAA,
|
|
1
|
+
{"version":3,"file":"cax-design-system-toggleswitch.mjs","sources":["../../src/app/components/toggleswitch/toggleswitch.ts","../../src/app/components/toggleswitch/toggleswitch.html","../../src/app/components/toggleswitch/toggleswitch.module.ts","../../src/app/components/toggleswitch/cax-design-system-toggleswitch.ts"],"sourcesContent":["import { Component, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'cax-toggleswitch',\n templateUrl: './toggleswitch.html',\n styleUrls: ['./toggleswitch.scss']\n})\nexport class ToggleSwitchComponent {\n @Input() size: 'sm' | 'md' | 'lg' = 'md';\n @Input() checked = false;\n @Input() disabled = false;\n @Input() iconClass: string = 'cax cax-check';\n @Output() onChange = new EventEmitter<boolean>();\n @Input() label: string | undefined;\n @Input() events: {};\n\n toggleChecked(event: Event) {\n this.checked = (event.target as HTMLInputElement).checked;\n this.onChange.emit(this.checked);\n }\n}\n","<div\r\n class=\"cax-toggleswitch-container\"\r\n [ngClass]=\"{\r\n 'cax-toggleswitch-container-disabled': disabled,\r\n 'cax-toggleswitch-size-sm': size === 'sm',\r\n 'cax-toggleswitch-size-md': size === 'md',\r\n 'cax-toggleswitch-size-lg': size === 'lg'\r\n }\"\r\n>\r\n <span class=\"cax-toggle-label\" *ngIf=\"label\">{{ label }}</span>\r\n <label class=\"cax-toggleswitchmaindiv\" [ngClass]=\"{ 'cax-toggleswitchmaindiv-disabled': disabled }\">\r\n <input type=\"checkbox\" [checked]=\"checked\" [disabled]=\"disabled\" (change)=\"toggleChecked($event)\" class=\"cax-toggleswitch\" />\r\n <div class=\"cax-toggleswitch-track\"></div>\r\n <div\r\n class=\"cax-toggle-thumb\"\r\n [ngClass]=\"{\r\n 'cax-toggle-thumb-checked': checked\r\n }\"\r\n >\r\n <ng-container *ngIf=\"checked\">\r\n <svg width=\"11\" height=\"7\" viewBox=\"0 0 11 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"cax-toggle-icon-active\">\r\n <path\r\n d=\"M10.0915 0.951972L10.0867 0.946075L10.0813 0.940568C9.90076 0.753564 9.61034 0.753146 9.42927 0.939309L4.16201 6.22962L1.58507 3.63469C1.40401 3.44841 1.11351 3.44879 0.932892 3.63584C0.755703 3.81933 0.755703 4.10875 0.932892 4.29224L0.932878 4.29225L0.934851 4.29424L3.58046 6.95832C3.73676 7.11955 3.94983 7.2 4.1473 7.2C4.36196 7.2 4.55963 7.11773 4.71406 6.9584L10.0468 1.60234C10.2436 1.4199 10.2421 1.1339 10.0915 0.951972ZM4.2327 6.30081L4.2317 6.2998C4.23206 6.30015 4.23237 6.30049 4.23269 6.30082L4.2327 6.30081Z\"\r\n fill=\"var(--primary-500)\"\r\n stroke=\"var(--primary-500)\"\r\n stroke-width=\"0.4\"\r\n />\r\n </svg>\r\n </ng-container>\r\n </div>\r\n </label>\r\n</div>\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { ToggleSwitchComponent } from './toggleswitch';\n\n@NgModule({\n declarations: [ToggleSwitchComponent],\n imports: [CommonModule, FormsModule],\n exports: [ToggleSwitchComponent]\n})\nexport class ToggleSwitchModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;MAOa,qBAAqB,CAAA;IACrB,IAAI,GAAuB,IAAI,CAAC;IAChC,OAAO,GAAG,KAAK,CAAC;IAChB,QAAQ,GAAG,KAAK,CAAC;IACjB,SAAS,GAAW,eAAe,CAAC;AACnC,IAAA,QAAQ,GAAG,IAAI,YAAY,EAAW,CAAC;AACxC,IAAA,KAAK,CAAqB;AAC1B,IAAA,MAAM,CAAK;AAEpB,IAAA,aAAa,CAAC,KAAY,EAAA;QACtB,IAAI,CAAC,OAAO,GAAI,KAAK,CAAC,MAA2B,CAAC,OAAO,CAAC;QAC1D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACpC;uGAZQ,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,yNCPlC,i4DAgCA,EAAA,MAAA,EAAA,CAAA,4hBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,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,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDzBa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACI,kBAAkB,EAAA,QAAA,EAAA,i4DAAA,EAAA,MAAA,EAAA,CAAA,4hBAAA,CAAA,EAAA,CAAA;8BAKnB,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACI,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBACE,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;MEJG,kBAAkB,CAAA;uGAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,iBAJZ,qBAAqB,CAAA,EAAA,OAAA,EAAA,CAC1B,YAAY,EAAE,WAAW,aACzB,qBAAqB,CAAA,EAAA,CAAA,CAAA;wGAEtB,kBAAkB,EAAA,OAAA,EAAA,CAHjB,YAAY,EAAE,WAAW,CAAA,EAAA,CAAA,CAAA;;2FAG1B,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,qBAAqB,CAAC;AACrC,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;oBACpC,OAAO,EAAE,CAAC,qBAAqB,CAAC;AACnC,iBAAA,CAAA;;;ACTD;;AAEG;;;;"}
|
|
@@ -93,6 +93,8 @@ class UploadComponent {
|
|
|
93
93
|
if (!this.isProcessingQueue) {
|
|
94
94
|
this.processQueue();
|
|
95
95
|
}
|
|
96
|
+
// 🔹 Reset the input value so the same file can be selected again
|
|
97
|
+
event.target.value = null;
|
|
96
98
|
}
|
|
97
99
|
// New method for file validation
|
|
98
100
|
validateFile(file) {
|
|
@@ -244,23 +246,22 @@ class UploadComponent {
|
|
|
244
246
|
this.updateUploadStatus('idle');
|
|
245
247
|
}
|
|
246
248
|
}
|
|
247
|
-
// Remove a file from the list
|
|
248
249
|
removeFile(index) {
|
|
249
250
|
const fileToRemove = this.uploadedFiles[index];
|
|
250
|
-
// Cancel first if it's active
|
|
251
251
|
if (fileToRemove.status === 'uploading' || fileToRemove.status === 'queued') {
|
|
252
252
|
this.cancelUpload(index);
|
|
253
253
|
}
|
|
254
|
-
// Emit removal event
|
|
255
254
|
this.fileRemoved.emit(fileToRemove.file);
|
|
256
|
-
// Remove from array
|
|
257
255
|
this.uploadedFiles.splice(index, 1);
|
|
258
|
-
// Reset
|
|
256
|
+
// 🔹 Reset input element to allow re-uploading same file
|
|
257
|
+
const fileInput = document.getElementById(`fileInput-${this.uniqueId}`);
|
|
258
|
+
if (fileInput) {
|
|
259
|
+
fileInput.value = '';
|
|
260
|
+
}
|
|
259
261
|
if (this.uploadedFiles.length === 0) {
|
|
260
262
|
this.updateUploadStatus('idle');
|
|
261
263
|
}
|
|
262
264
|
else if (!this.hasQueuedOrUploading && this.uploadStatus !== 'complete') {
|
|
263
|
-
// If there are no more queued or uploading files but we have completed files
|
|
264
265
|
this.updateUploadStatus('complete');
|
|
265
266
|
}
|
|
266
267
|
}
|
|
@@ -274,6 +275,10 @@ class UploadComponent {
|
|
|
274
275
|
}
|
|
275
276
|
this.uploadedFiles = [];
|
|
276
277
|
this.updateUploadStatus('idle');
|
|
278
|
+
const fileInput = document.getElementById(`fileInput-${this.uniqueId}`);
|
|
279
|
+
if (fileInput) {
|
|
280
|
+
fileInput.value = '';
|
|
281
|
+
}
|
|
277
282
|
}
|
|
278
283
|
get hasUploading() {
|
|
279
284
|
return this.uploadedFiles.some((file) => file.status === 'uploading');
|