@spicainternational/ngx-sds-components 7.1.0-beta.3 → 7.1.0-beta.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/esm2020/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.mjs +3 -3
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-navigation.mjs +2 -2
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-navigation.mjs +2 -2
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +1 -1
- package/package.json +1 -1
package/esm2020/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.mjs
CHANGED
|
@@ -62,10 +62,10 @@ export class SdsNavigationUserProfileComponent {
|
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
SdsNavigationUserProfileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdsNavigationUserProfileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
65
|
-
SdsNavigationUserProfileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SdsNavigationUserProfileComponent, selector: "sds-navigation-user-profile", inputs: { profile: "profile", additionalProfiles: "additionalProfiles", activeProfileId: "activeProfileId", activeProfileInfo: "activeProfileInfo", showSignOut: "showSignOut", showProfile: "showProfile", showTopBorder: "showTopBorder", signOutText: "signOutText", profileText: "profileText", showNotificationBadge: "showNotificationBadge", newNotificationsText: "newNotificationsText" }, outputs: { activeProfileIdChange: "activeProfileIdChange", profileClick: "profileClick", signOutClick: "signOutClick", notificationBadgeClick: "notificationBadgeClick" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"d-flex flex-row align-items-center gap-2 sds-navigation-user-profile-container user-select-none\"\r\n (click)=\"showOptions = !showOptions\">\r\n\r\n <div class=\"position-relative\">\r\n\r\n <sds-avatar\r\n [text]=\"activeProfile?.name\"\r\n [colorKey]=\"activeProfile?.id\"\r\n [pictureUri]=\"activeProfile?.pictureUri\"\r\n > \r\n </sds-avatar>\r\n\r\n <span \r\n *ngIf=\"showNotificationBadge\"\r\n class=\"position-absolute notification-badge translate-middle bg-danger border border-light rounded-circle\"\r\n (click)=\"onNotificationBadgeClick($event)\">\r\n <span class=\"visually-hidden\">{{newNotificationsText}}</span>\r\n </span>\r\n </div>\r\n\r\n\r\n <div class=\"sds-flex-column\">\r\n <span\r\n #nameElement \r\n class=\"truncate-two-lines\">\r\n {{activeProfile?.name}}\r\n </span> \r\n\r\n <span class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{activeProfileInfo}}\r\n </span>\r\n </div>\r\n\r\n\r\n</div> \r\n\r\n<dx-popover\r\n [target]=\"nameElement\"\r\n minWidth=\"12.5rem\"\r\n maxWidth=\"20rem\"\r\n [(visible)]=\"showOptions\"\r\n [wrapperAttr]=\"{ class: 'sds-navigation-user-profile-popover sds-dx-popup-no-arrow sds-dx-popup-content-padding-1' }\"\r\n >\r\n <div>\r\n <ng-container \r\n [ngTemplateOutlet]=\"profileTemplate\"\r\n [ngTemplateOutletContext]=\"{ profile: profile, showRadio: additionalProfiles && additionalProfiles.length > 1 }\">\r\n </ng-container>\r\n\r\n <ng-container *ngFor=\"let profile of additionalProfiles\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"profileTemplate\"\r\n [ngTemplateOutletContext]=\"{ profile: profile, showRadio: additionalProfiles && additionalProfiles.length > 1 }\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n \r\n <ng-content></ng-content>\r\n\r\n <div class=\"border-top\"></div>\r\n\r\n <ul \r\n class=\"list-unstyled sds-navigation-user-profile-actions mb-0 mt-2\" \r\n >\r\n <li *ngIf=\"showProfile\">\r\n <a \r\n class=\"d-block text-black\"\r\n (click)=\"onProfileClick()\" \r\n >\r\n <fa-icon class=\"me-2\" [size]=\"'sm'\" [icon]=\"userProfileIcon\"></fa-icon>\r\n <span>{{profileText}}</span>\r\n </a>\r\n </li>\r\n\r\n <li>\r\n <a \r\n *ngIf=\"showSignOut\"\r\n class=\"d-block text-black\"\r\n (click)=\"onSignOutClick()\" \r\n >\r\n <fa-icon class=\"me-2\" [size]=\"'sm'\" [icon]=\"signOutIcon\"></fa-icon>\r\n <span>{{signOutText}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n\r\n</dx-popover>\r\n\r\n\r\n<ng-template #profileTemplate let-profile=\"profile\" let-showRadio=\"showRadio\">\r\n\r\n <label class=\"d-flex flex-row gap-3 align-items-center p-2 ps-2 pe-3 rounded-1\">\r\n <sds-avatar\r\n [text]=\"profile.name\"\r\n [colorKey]=\"profile.id\"\r\n [pictureUri]=\"profile.pictureUri\"\r\n [size]=\"2.4\"\r\n > \r\n </sds-avatar>\r\n\r\n <div \r\n class=\"flex-grow-1 flex-shrink-1 text-body\"\r\n [style.minWidth.px]=\"1\"\r\n >\r\n <span class=\"sds-fw-500 sds-fs-100 text-truncate\">\r\n {{profile.name}}\r\n </span>\r\n <div class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{profile.info}}\r\n </div>\r\n </div>\r\n\r\n <input \r\n *ngIf=\"showRadio\"\r\n class=\"mx-1\" type=\"radio\" name=\"profile\" value=\"{{profile.id}}\" \r\n [ngModel]=\"activeProfileId\" \r\n (ngModelChange)=\"onActiveProfileIdChange($event)\" />\r\n </label>\r\n</ng-template>", styles: [".sds-navigation-user-profile-container{padding:.8rem;cursor:pointer}.sds-navigation-user-profile-container .notification-badge{top:15%;left:100%;padding:.4rem}.sds-navigation-user-profile-actions li{margin-bottom:.25rem}.sds-navigation-user-profile-actions li a{-webkit-user-select:none;user-select:none;text-decoration:none;padding:.5rem 1rem;width:100%;border-radius:4px}.sds-navigation-user-profile-actions li a:hover{background-color:var(--bs-gray-200);cursor:pointer}.truncate-two-lines{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}::ng-deep .sds-navigation-user-profile-popover .dx-popup-content{padding:.5rem;font-size:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.SdsAvatarComponent, selector: "sds-avatar", inputs: ["text", "colorKey", "pictureUri", "showHint", "borderStyle", "borderColor", "initialsText", "cursor", "size", "badgeVisible", "badgePosition", "badgeBackgroundColor", "badgeTextColor", "badgeHint"] }, { kind: "component", type: i4.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "component", type: i5.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "elementAttr", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showEvent", "showTitle", "target", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "onTitleRendered", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "elementAttrChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }] });
|
|
65
|
+
SdsNavigationUserProfileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SdsNavigationUserProfileComponent, selector: "sds-navigation-user-profile", inputs: { profile: "profile", additionalProfiles: "additionalProfiles", activeProfileId: "activeProfileId", activeProfileInfo: "activeProfileInfo", showSignOut: "showSignOut", showProfile: "showProfile", showTopBorder: "showTopBorder", signOutText: "signOutText", profileText: "profileText", showNotificationBadge: "showNotificationBadge", newNotificationsText: "newNotificationsText" }, outputs: { activeProfileIdChange: "activeProfileIdChange", profileClick: "profileClick", signOutClick: "signOutClick", notificationBadgeClick: "notificationBadgeClick" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"d-flex flex-row align-items-center gap-2 sds-navigation-user-profile-container user-select-none\"\r\n (click)=\"showOptions = !showOptions\">\r\n\r\n <div class=\"position-relative\">\r\n\r\n <sds-avatar\r\n [text]=\"activeProfile?.name\"\r\n [colorKey]=\"activeProfile?.id\"\r\n [pictureUri]=\"activeProfile?.pictureUri\"\r\n > \r\n </sds-avatar>\r\n\r\n <span \r\n *ngIf=\"showNotificationBadge\"\r\n class=\"position-absolute notification-badge translate-middle bg-danger border border-light rounded-circle\"\r\n (click)=\"onNotificationBadgeClick($event)\">\r\n <span class=\"visually-hidden\">{{newNotificationsText}}</span>\r\n </span>\r\n </div>\r\n\r\n\r\n <div class=\"sds-flex-column\">\r\n <span\r\n #nameElement \r\n class=\"truncate-two-lines\">\r\n {{activeProfile?.name}}\r\n </span> \r\n\r\n <span class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{activeProfileInfo}}\r\n </span>\r\n </div>\r\n\r\n\r\n</div> \r\n\r\n<dx-popover\r\n [target]=\"nameElement\"\r\n minWidth=\"12.5rem\"\r\n maxWidth=\"20rem\"\r\n [(visible)]=\"showOptions\"\r\n [wrapperAttr]=\"{ class: 'sds-navigation-user-profile-popover sds-dx-popup-no-arrow sds-dx-popup-content-padding-1' }\"\r\n >\r\n <div>\r\n <ng-container \r\n [ngTemplateOutlet]=\"profileTemplate\"\r\n [ngTemplateOutletContext]=\"{ profile: profile, showRadio: additionalProfiles && additionalProfiles.length > 1 }\">\r\n </ng-container>\r\n\r\n <ng-container *ngFor=\"let profile of additionalProfiles\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"profileTemplate\"\r\n [ngTemplateOutletContext]=\"{ profile: profile, showRadio: additionalProfiles && additionalProfiles.length > 1 }\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n \r\n <ng-content></ng-content>\r\n\r\n <div class=\"border-top\"></div>\r\n\r\n <ul \r\n class=\"list-unstyled sds-navigation-user-profile-actions mb-0 mt-2\" \r\n >\r\n <li *ngIf=\"showProfile\">\r\n <a \r\n class=\"d-block text-black\"\r\n (click)=\"onProfileClick()\" \r\n >\r\n <fa-icon class=\"me-2\" [fixedWidth]=\"true\" [size]=\"'sm'\" [icon]=\"userProfileIcon\"></fa-icon>\r\n <span>{{profileText}}</span>\r\n </a>\r\n </li>\r\n\r\n <li>\r\n <a \r\n *ngIf=\"showSignOut\"\r\n class=\"d-block text-black\"\r\n (click)=\"onSignOutClick()\" \r\n >\r\n <fa-icon class=\"me-2\" [fixedWidth]=\"true\" [size]=\"'sm'\" [icon]=\"signOutIcon\"></fa-icon>\r\n <span>{{signOutText}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n\r\n</dx-popover>\r\n\r\n\r\n<ng-template #profileTemplate let-profile=\"profile\" let-showRadio=\"showRadio\">\r\n\r\n <label class=\"d-flex flex-row gap-3 align-items-center p-2 ps-2 pe-3 rounded-1\">\r\n <sds-avatar\r\n [text]=\"profile.name\"\r\n [colorKey]=\"profile.id\"\r\n [pictureUri]=\"profile.pictureUri\"\r\n [size]=\"2.4\"\r\n > \r\n </sds-avatar>\r\n\r\n <div \r\n class=\"flex-grow-1 flex-shrink-1 text-body\"\r\n [style.minWidth.px]=\"1\"\r\n >\r\n <span class=\"sds-fw-500 sds-fs-100 text-truncate\">\r\n {{profile.name}}\r\n </span>\r\n <div class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{profile.info}}\r\n </div>\r\n </div>\r\n\r\n <input \r\n *ngIf=\"showRadio\"\r\n class=\"mx-1\" type=\"radio\" name=\"profile\" value=\"{{profile.id}}\" \r\n [ngModel]=\"activeProfileId\" \r\n (ngModelChange)=\"onActiveProfileIdChange($event)\" />\r\n </label>\r\n</ng-template>", styles: [".sds-navigation-user-profile-container{padding:.8rem;cursor:pointer}.sds-navigation-user-profile-container .notification-badge{top:15%;left:100%;padding:.4rem}.sds-navigation-user-profile-actions li{margin-bottom:.25rem}.sds-navigation-user-profile-actions li a{-webkit-user-select:none;user-select:none;text-decoration:none;padding:.5rem 1rem;width:100%;border-radius:4px}.sds-navigation-user-profile-actions li a:hover{background-color:var(--bs-gray-200);cursor:pointer}.truncate-two-lines{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}::ng-deep .sds-navigation-user-profile-popover .dx-popup-content{padding:.5rem;font-size:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.SdsAvatarComponent, selector: "sds-avatar", inputs: ["text", "colorKey", "pictureUri", "showHint", "borderStyle", "borderColor", "initialsText", "cursor", "size", "badgeVisible", "badgePosition", "badgeBackgroundColor", "badgeTextColor", "badgeHint"] }, { kind: "component", type: i4.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "component", type: i5.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "elementAttr", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showEvent", "showTitle", "target", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "onTitleRendered", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "elementAttrChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }] });
|
|
66
66
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdsNavigationUserProfileComponent, decorators: [{
|
|
67
67
|
type: Component,
|
|
68
|
-
args: [{ selector: 'sds-navigation-user-profile', template: "<div class=\"d-flex flex-row align-items-center gap-2 sds-navigation-user-profile-container user-select-none\"\r\n (click)=\"showOptions = !showOptions\">\r\n\r\n <div class=\"position-relative\">\r\n\r\n <sds-avatar\r\n [text]=\"activeProfile?.name\"\r\n [colorKey]=\"activeProfile?.id\"\r\n [pictureUri]=\"activeProfile?.pictureUri\"\r\n > \r\n </sds-avatar>\r\n\r\n <span \r\n *ngIf=\"showNotificationBadge\"\r\n class=\"position-absolute notification-badge translate-middle bg-danger border border-light rounded-circle\"\r\n (click)=\"onNotificationBadgeClick($event)\">\r\n <span class=\"visually-hidden\">{{newNotificationsText}}</span>\r\n </span>\r\n </div>\r\n\r\n\r\n <div class=\"sds-flex-column\">\r\n <span\r\n #nameElement \r\n class=\"truncate-two-lines\">\r\n {{activeProfile?.name}}\r\n </span> \r\n\r\n <span class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{activeProfileInfo}}\r\n </span>\r\n </div>\r\n\r\n\r\n</div> \r\n\r\n<dx-popover\r\n [target]=\"nameElement\"\r\n minWidth=\"12.5rem\"\r\n maxWidth=\"20rem\"\r\n [(visible)]=\"showOptions\"\r\n [wrapperAttr]=\"{ class: 'sds-navigation-user-profile-popover sds-dx-popup-no-arrow sds-dx-popup-content-padding-1' }\"\r\n >\r\n <div>\r\n <ng-container \r\n [ngTemplateOutlet]=\"profileTemplate\"\r\n [ngTemplateOutletContext]=\"{ profile: profile, showRadio: additionalProfiles && additionalProfiles.length > 1 }\">\r\n </ng-container>\r\n\r\n <ng-container *ngFor=\"let profile of additionalProfiles\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"profileTemplate\"\r\n [ngTemplateOutletContext]=\"{ profile: profile, showRadio: additionalProfiles && additionalProfiles.length > 1 }\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n \r\n <ng-content></ng-content>\r\n\r\n <div class=\"border-top\"></div>\r\n\r\n <ul \r\n class=\"list-unstyled sds-navigation-user-profile-actions mb-0 mt-2\" \r\n >\r\n <li *ngIf=\"showProfile\">\r\n <a \r\n class=\"d-block text-black\"\r\n (click)=\"onProfileClick()\" \r\n >\r\n <fa-icon class=\"me-2\" [size]=\"'sm'\" [icon]=\"userProfileIcon\"></fa-icon>\r\n <span>{{profileText}}</span>\r\n </a>\r\n </li>\r\n\r\n <li>\r\n <a \r\n *ngIf=\"showSignOut\"\r\n class=\"d-block text-black\"\r\n (click)=\"onSignOutClick()\" \r\n >\r\n <fa-icon class=\"me-2\" [size]=\"'sm'\" [icon]=\"signOutIcon\"></fa-icon>\r\n <span>{{signOutText}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n\r\n</dx-popover>\r\n\r\n\r\n<ng-template #profileTemplate let-profile=\"profile\" let-showRadio=\"showRadio\">\r\n\r\n <label class=\"d-flex flex-row gap-3 align-items-center p-2 ps-2 pe-3 rounded-1\">\r\n <sds-avatar\r\n [text]=\"profile.name\"\r\n [colorKey]=\"profile.id\"\r\n [pictureUri]=\"profile.pictureUri\"\r\n [size]=\"2.4\"\r\n > \r\n </sds-avatar>\r\n\r\n <div \r\n class=\"flex-grow-1 flex-shrink-1 text-body\"\r\n [style.minWidth.px]=\"1\"\r\n >\r\n <span class=\"sds-fw-500 sds-fs-100 text-truncate\">\r\n {{profile.name}}\r\n </span>\r\n <div class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{profile.info}}\r\n </div>\r\n </div>\r\n\r\n <input \r\n *ngIf=\"showRadio\"\r\n class=\"mx-1\" type=\"radio\" name=\"profile\" value=\"{{profile.id}}\" \r\n [ngModel]=\"activeProfileId\" \r\n (ngModelChange)=\"onActiveProfileIdChange($event)\" />\r\n </label>\r\n</ng-template>", styles: [".sds-navigation-user-profile-container{padding:.8rem;cursor:pointer}.sds-navigation-user-profile-container .notification-badge{top:15%;left:100%;padding:.4rem}.sds-navigation-user-profile-actions li{margin-bottom:.25rem}.sds-navigation-user-profile-actions li a{-webkit-user-select:none;user-select:none;text-decoration:none;padding:.5rem 1rem;width:100%;border-radius:4px}.sds-navigation-user-profile-actions li a:hover{background-color:var(--bs-gray-200);cursor:pointer}.truncate-two-lines{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}::ng-deep .sds-navigation-user-profile-popover .dx-popup-content{padding:.5rem;font-size:1rem}\n"] }]
|
|
68
|
+
args: [{ selector: 'sds-navigation-user-profile', template: "<div class=\"d-flex flex-row align-items-center gap-2 sds-navigation-user-profile-container user-select-none\"\r\n (click)=\"showOptions = !showOptions\">\r\n\r\n <div class=\"position-relative\">\r\n\r\n <sds-avatar\r\n [text]=\"activeProfile?.name\"\r\n [colorKey]=\"activeProfile?.id\"\r\n [pictureUri]=\"activeProfile?.pictureUri\"\r\n > \r\n </sds-avatar>\r\n\r\n <span \r\n *ngIf=\"showNotificationBadge\"\r\n class=\"position-absolute notification-badge translate-middle bg-danger border border-light rounded-circle\"\r\n (click)=\"onNotificationBadgeClick($event)\">\r\n <span class=\"visually-hidden\">{{newNotificationsText}}</span>\r\n </span>\r\n </div>\r\n\r\n\r\n <div class=\"sds-flex-column\">\r\n <span\r\n #nameElement \r\n class=\"truncate-two-lines\">\r\n {{activeProfile?.name}}\r\n </span> \r\n\r\n <span class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{activeProfileInfo}}\r\n </span>\r\n </div>\r\n\r\n\r\n</div> \r\n\r\n<dx-popover\r\n [target]=\"nameElement\"\r\n minWidth=\"12.5rem\"\r\n maxWidth=\"20rem\"\r\n [(visible)]=\"showOptions\"\r\n [wrapperAttr]=\"{ class: 'sds-navigation-user-profile-popover sds-dx-popup-no-arrow sds-dx-popup-content-padding-1' }\"\r\n >\r\n <div>\r\n <ng-container \r\n [ngTemplateOutlet]=\"profileTemplate\"\r\n [ngTemplateOutletContext]=\"{ profile: profile, showRadio: additionalProfiles && additionalProfiles.length > 1 }\">\r\n </ng-container>\r\n\r\n <ng-container *ngFor=\"let profile of additionalProfiles\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"profileTemplate\"\r\n [ngTemplateOutletContext]=\"{ profile: profile, showRadio: additionalProfiles && additionalProfiles.length > 1 }\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n \r\n <ng-content></ng-content>\r\n\r\n <div class=\"border-top\"></div>\r\n\r\n <ul \r\n class=\"list-unstyled sds-navigation-user-profile-actions mb-0 mt-2\" \r\n >\r\n <li *ngIf=\"showProfile\">\r\n <a \r\n class=\"d-block text-black\"\r\n (click)=\"onProfileClick()\" \r\n >\r\n <fa-icon class=\"me-2\" [fixedWidth]=\"true\" [size]=\"'sm'\" [icon]=\"userProfileIcon\"></fa-icon>\r\n <span>{{profileText}}</span>\r\n </a>\r\n </li>\r\n\r\n <li>\r\n <a \r\n *ngIf=\"showSignOut\"\r\n class=\"d-block text-black\"\r\n (click)=\"onSignOutClick()\" \r\n >\r\n <fa-icon class=\"me-2\" [fixedWidth]=\"true\" [size]=\"'sm'\" [icon]=\"signOutIcon\"></fa-icon>\r\n <span>{{signOutText}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n\r\n</dx-popover>\r\n\r\n\r\n<ng-template #profileTemplate let-profile=\"profile\" let-showRadio=\"showRadio\">\r\n\r\n <label class=\"d-flex flex-row gap-3 align-items-center p-2 ps-2 pe-3 rounded-1\">\r\n <sds-avatar\r\n [text]=\"profile.name\"\r\n [colorKey]=\"profile.id\"\r\n [pictureUri]=\"profile.pictureUri\"\r\n [size]=\"2.4\"\r\n > \r\n </sds-avatar>\r\n\r\n <div \r\n class=\"flex-grow-1 flex-shrink-1 text-body\"\r\n [style.minWidth.px]=\"1\"\r\n >\r\n <span class=\"sds-fw-500 sds-fs-100 text-truncate\">\r\n {{profile.name}}\r\n </span>\r\n <div class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{profile.info}}\r\n </div>\r\n </div>\r\n\r\n <input \r\n *ngIf=\"showRadio\"\r\n class=\"mx-1\" type=\"radio\" name=\"profile\" value=\"{{profile.id}}\" \r\n [ngModel]=\"activeProfileId\" \r\n (ngModelChange)=\"onActiveProfileIdChange($event)\" />\r\n </label>\r\n</ng-template>", styles: [".sds-navigation-user-profile-container{padding:.8rem;cursor:pointer}.sds-navigation-user-profile-container .notification-badge{top:15%;left:100%;padding:.4rem}.sds-navigation-user-profile-actions li{margin-bottom:.25rem}.sds-navigation-user-profile-actions li a{-webkit-user-select:none;user-select:none;text-decoration:none;padding:.5rem 1rem;width:100%;border-radius:4px}.sds-navigation-user-profile-actions li a:hover{background-color:var(--bs-gray-200);cursor:pointer}.truncate-two-lines{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}::ng-deep .sds-navigation-user-profile-popover .dx-popup-content{padding:.5rem;font-size:1rem}\n"] }]
|
|
69
69
|
}], ctorParameters: function () { return []; }, propDecorators: { profile: [{
|
|
70
70
|
type: Input
|
|
71
71
|
}], additionalProfiles: [{
|
|
@@ -97,4 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
97
97
|
}], notificationBadgeClick: [{
|
|
98
98
|
type: Output
|
|
99
99
|
}] } });
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi11c2VyLXByb2ZpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLXVzZXItcHJvZmlsZS9uYXZpZ2F0aW9uLXVzZXItcHJvZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tdXNlci1wcm9maWxlL25hdmlnYXRpb24tdXNlci1wcm9maWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUV6RyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7O0FBUXZFLE1BQU0sT0FBTyxpQ0FBaUM7SUE4QjFDO1FBN0JTLFlBQU8sR0FBNkIsSUFBSSxDQUFDO1FBQ3pDLHVCQUFrQixHQUF3QixFQUFFLENBQUM7UUFFN0Msb0JBQWUsR0FBa0IsSUFBSSxDQUFDO1FBQ3JDLDBCQUFxQixHQUFnQyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUN4RixzQkFBaUIsR0FBVyxFQUFFLENBQUM7UUFFL0IsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFDNUIsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFDNUIsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFL0IsZ0JBQVcsR0FBVyxVQUFVLENBQUM7UUFDakMsZ0JBQVcsR0FBVyxTQUFTLENBQUM7UUFFaEMsMEJBQXFCLEdBQVksS0FBSyxDQUFDO1FBQ3ZDLHlCQUFvQixHQUFXLG1CQUFtQixDQUFDO1FBRWxELGlCQUFZLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFDNUQsaUJBQVksR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUU1RCwyQkFBc0IsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV6RSxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUUxQixrQkFBYSxHQUE2QixJQUFJLENBQUM7UUFFL0Msb0JBQWUsR0FBRyxNQUFNLENBQUM7UUFDekIsZ0JBQVcsR0FBRyxTQUFTLENBQUE7SUFFbEIsQ0FBQztJQUVoQixRQUFRLEtBQVUsQ0FBQztJQUVuQixXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxPQUFPLENBQUMsaUJBQWlCLENBQUMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLG9CQUFvQixDQUFDLEVBQUU7WUFDbkYsSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLElBQUksRUFBRTtnQkFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO2FBQ3JDO2lCQUFNLElBQUksSUFBSSxDQUFDLGVBQWUsS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRTtnQkFDbEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO2FBQ3JDO2lCQUFNO2dCQUNILElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLElBQUksQ0FBQzthQUM3RztTQUNKO0lBQ0wsQ0FBQztJQUVNLGNBQWM7UUFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU0sY0FBYztRQUNqQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSx3QkFBd0IsQ0FBQyxLQUFpQjtRQUM3QyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxFQUFpQjtRQUM1QyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXBDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUM3QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDWixDQUFDOzsrSEFuRVEsaUNBQWlDO21IQUFqQyxpQ0FBaUMsdW9CQ1Y5QyxpaklBdUhjOzRGRDdHRCxpQ0FBaUM7a0JBTDdDLFNBQVM7K0JBQ0ksNkJBQTZCOzBFQUs5QixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUVHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0kscUJBQXFCO3NCQUE5QixNQUFNO2dCQUNFLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBRUcsc0JBQXNCO3NCQUEvQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25Qcm9maWxlIH0gZnJvbSAnLi9uYXZpZ2F0aW9uLXByb2ZpbGUubW9kZWwnO1xyXG5pbXBvcnQgeyBmYVNpZ25PdXQsIGZhVXNlciB9IGZyb20gJ0Bmb3J0YXdlc29tZS9wcm8tcmVndWxhci1zdmctaWNvbnMnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzZHMtbmF2aWdhdGlvbi11c2VyLXByb2ZpbGUnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdmlnYXRpb24tdXNlci1wcm9maWxlLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL25hdmlnYXRpb24tdXNlci1wcm9maWxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZHNOYXZpZ2F0aW9uVXNlclByb2ZpbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgICBASW5wdXQoKSBwcm9maWxlOiBOYXZpZ2F0aW9uUHJvZmlsZSB8IG51bGwgPSBudWxsO1xyXG4gICAgQElucHV0KCkgYWRkaXRpb25hbFByb2ZpbGVzOiBOYXZpZ2F0aW9uUHJvZmlsZVtdID0gW107XHJcblxyXG4gICAgQElucHV0KCkgYWN0aXZlUHJvZmlsZUlkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICAgIEBPdXRwdXQoKSBhY3RpdmVQcm9maWxlSWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBudWxsPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4oKTtcclxuICAgIEBJbnB1dCgpIGFjdGl2ZVByb2ZpbGVJbmZvOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgICBASW5wdXQoKSBzaG93U2lnbk91dDogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBASW5wdXQoKSBzaG93UHJvZmlsZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBASW5wdXQoKSBzaG93VG9wQm9yZGVyOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KCkgc2lnbk91dFRleHQ6IHN0cmluZyA9ICdTaWduIG91dCc7XHJcbiAgICBASW5wdXQoKSBwcm9maWxlVGV4dDogc3RyaW5nID0gJ1Byb2ZpbGUnO1xyXG5cclxuICAgIEBJbnB1dCgpIHNob3dOb3RpZmljYXRpb25CYWRnZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgbmV3Tm90aWZpY2F0aW9uc1RleHQ6IHN0cmluZyA9ICdOZXcgTm90aWZpY2F0aW9ucyc7XHJcblxyXG4gICAgQE91dHB1dCgpIHByb2ZpbGVDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gICAgQE91dHB1dCgpIHNpZ25PdXRDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAgIEBPdXRwdXQoKSBub3RpZmljYXRpb25CYWRnZUNsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgXHJcbiAgICBwdWJsaWMgc2hvd09wdGlvbnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYWN0aXZlUHJvZmlsZTogTmF2aWdhdGlvblByb2ZpbGUgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBwcm90ZWN0ZWQgdXNlclByb2ZpbGVJY29uID0gZmFVc2VyO1xyXG4gICAgcHJvdGVjdGVkIHNpZ25PdXRJY29uID0gZmFTaWduT3V0XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge31cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgaWYgKGNoYW5nZXNbJ2FjdGl2ZVByb2ZpbGVJZCddIHx8IGNoYW5nZXNbJ3Byb2ZpbGUnXSB8fCBjaGFuZ2VzWydhZGRpdGlvbmFsUHJvZmlsZXMnXSkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5hY3RpdmVQcm9maWxlSWQgPT09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlUHJvZmlsZSA9IHRoaXMucHJvZmlsZTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmFjdGl2ZVByb2ZpbGVJZCA9PT0gdGhpcy5wcm9maWxlPy5pZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVQcm9maWxlID0gdGhpcy5wcm9maWxlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVQcm9maWxlID0gdGhpcy5hZGRpdGlvbmFsUHJvZmlsZXMuZmluZChwcm9maWxlID0+IHByb2ZpbGUuaWQgPT09IHRoaXMuYWN0aXZlUHJvZmlsZUlkKSB8fCBudWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvblByb2ZpbGVDbGljaygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNob3dPcHRpb25zID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5wcm9maWxlQ2xpY2suZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvblNpZ25PdXRDbGljaygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNob3dPcHRpb25zID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zaWduT3V0Q2xpY2suZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbk5vdGlmaWNhdGlvbkJhZGdlQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbkJhZGdlQ2xpY2suZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbkFjdGl2ZVByb2ZpbGVJZENoYW5nZShpZDogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgICAgIHRoaXMuYWN0aXZlUHJvZmlsZUlkQ2hhbmdlLmVtaXQoaWQpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNob3dPcHRpb25zID0gZmFsc2U7XHJcbiAgICAgICAgfSwgMTAwKTtcclxuICAgIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiBzZHMtbmF2aWdhdGlvbi11c2VyLXByb2ZpbGUtY29udGFpbmVyIHVzZXItc2VsZWN0LW5vbmVcIlxyXG4gICAgKGNsaWNrKT1cInNob3dPcHRpb25zID0gIXNob3dPcHRpb25zXCI+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcblxyXG4gICAgICAgIDxzZHMtYXZhdGFyXHJcbiAgICAgICAgICAgIFt0ZXh0XT1cImFjdGl2ZVByb2ZpbGU/Lm5hbWVcIlxyXG4gICAgICAgICAgICBbY29sb3JLZXldPVwiYWN0aXZlUHJvZmlsZT8uaWRcIlxyXG4gICAgICAgICAgICBbcGljdHVyZVVyaV09XCJhY3RpdmVQcm9maWxlPy5waWN0dXJlVXJpXCJcclxuICAgICAgICAgICAgPiAgICBcclxuICAgICAgICA8L3Nkcy1hdmF0YXI+XHJcblxyXG4gICAgICAgIDxzcGFuIFxyXG4gICAgICAgICAgICAqbmdJZj1cInNob3dOb3RpZmljYXRpb25CYWRnZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwicG9zaXRpb24tYWJzb2x1dGUgbm90aWZpY2F0aW9uLWJhZGdlIHRyYW5zbGF0ZS1taWRkbGUgYmctZGFuZ2VyIGJvcmRlciBib3JkZXItbGlnaHQgcm91bmRlZC1jaXJjbGVcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25Ob3RpZmljYXRpb25CYWRnZUNsaWNrKCRldmVudClcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj57e25ld05vdGlmaWNhdGlvbnNUZXh0fX08L3NwYW4+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcblxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJzZHMtZmxleC1jb2x1bW5cIj5cclxuICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAjbmFtZUVsZW1lbnQgXHJcbiAgICAgICAgICAgIGNsYXNzPVwidHJ1bmNhdGUtdHdvLWxpbmVzXCI+XHJcbiAgICAgICAgICAgIHt7YWN0aXZlUHJvZmlsZT8ubmFtZX19XHJcbiAgICAgICAgPC9zcGFuPiAgICBcclxuXHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZHMtZnctNDAwIHNkcy1mcy03NSB0ZXh0LXRydW5jYXRlIHRleHQtbXV0ZWRcIj5cclxuICAgICAgICAgICAge3thY3RpdmVQcm9maWxlSW5mb319XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcblxyXG5cclxuPC9kaXY+IFxyXG5cclxuPGR4LXBvcG92ZXJcclxuICAgIFt0YXJnZXRdPVwibmFtZUVsZW1lbnRcIlxyXG4gICAgbWluV2lkdGg9XCIxMi41cmVtXCJcclxuICAgIG1heFdpZHRoPVwiMjByZW1cIlxyXG4gICAgWyh2aXNpYmxlKV09XCJzaG93T3B0aW9uc1wiXHJcbiAgICBbd3JhcHBlckF0dHJdPVwieyBjbGFzczogJ3Nkcy1uYXZpZ2F0aW9uLXVzZXItcHJvZmlsZS1wb3BvdmVyIHNkcy1keC1wb3B1cC1uby1hcnJvdyBzZHMtZHgtcG9wdXAtY29udGVudC1wYWRkaW5nLTEnIH1cIlxyXG4gICAgPlxyXG4gICAgPGRpdj5cclxuICAgICAgICA8bmctY29udGFpbmVyIFxyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwcm9maWxlVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBwcm9maWxlOiBwcm9maWxlLCBzaG93UmFkaW86IGFkZGl0aW9uYWxQcm9maWxlcyAmJiBhZGRpdGlvbmFsUHJvZmlsZXMubGVuZ3RoID4gMSB9XCI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHByb2ZpbGUgb2YgYWRkaXRpb25hbFByb2ZpbGVzXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgXHJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwcm9maWxlVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgcHJvZmlsZTogcHJvZmlsZSwgc2hvd1JhZGlvOiBhZGRpdGlvbmFsUHJvZmlsZXMgJiYgYWRkaXRpb25hbFByb2ZpbGVzLmxlbmd0aCA+IDEgfVwiPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIFxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJib3JkZXItdG9wXCI+PC9kaXY+XHJcblxyXG4gICAgPHVsIFxyXG4gICAgICAgIGNsYXNzPVwibGlzdC11bnN0eWxlZCBzZHMtbmF2aWdhdGlvbi11c2VyLXByb2ZpbGUtYWN0aW9ucyBtYi0wIG10LTJcIiBcclxuICAgID5cclxuICAgICAgICA8bGkgKm5nSWY9XCJzaG93UHJvZmlsZVwiPlxyXG4gICAgICAgICAgICA8YSBcclxuICAgICAgICAgICAgY2xhc3M9XCJkLWJsb2NrIHRleHQtYmxhY2tcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25Qcm9maWxlQ2xpY2soKVwiIFxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8ZmEtaWNvbiBjbGFzcz1cIm1lLTJcIiBbc2l6ZV09XCInc20nXCIgW2ljb25dPVwidXNlclByb2ZpbGVJY29uXCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+e3twcm9maWxlVGV4dH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgPC9saT5cclxuXHJcbiAgICAgICAgPGxpPlxyXG4gICAgICAgICAgICA8YSBcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwic2hvd1NpZ25PdXRcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJkLWJsb2NrIHRleHQtYmxhY2tcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2lnbk91dENsaWNrKClcIiAgICAgIFxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8ZmEtaWNvbiBjbGFzcz1cIm1lLTJcIiBbc2l6ZV09XCInc20nXCIgW2ljb25dPVwic2lnbk91dEljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgICAgICA8c3Bhbj57e3NpZ25PdXRUZXh0fX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICA8L2xpPlxyXG4gICAgPC91bD5cclxuXHJcbjwvZHgtcG9wb3Zlcj5cclxuXHJcblxyXG48bmctdGVtcGxhdGUgI3Byb2ZpbGVUZW1wbGF0ZSBsZXQtcHJvZmlsZT1cInByb2ZpbGVcIiBsZXQtc2hvd1JhZGlvPVwic2hvd1JhZGlvXCI+XHJcblxyXG4gICAgPGxhYmVsIGNsYXNzPVwiZC1mbGV4IGZsZXgtcm93IGdhcC0zIGFsaWduLWl0ZW1zLWNlbnRlciBwLTIgcHMtMiBwZS0zIHJvdW5kZWQtMVwiPlxyXG4gICAgICAgIDxzZHMtYXZhdGFyXHJcbiAgICAgICAgICAgIFt0ZXh0XT1cInByb2ZpbGUubmFtZVwiXHJcbiAgICAgICAgICAgIFtjb2xvcktleV09XCJwcm9maWxlLmlkXCJcclxuICAgICAgICAgICAgW3BpY3R1cmVVcmldPVwicHJvZmlsZS5waWN0dXJlVXJpXCJcclxuICAgICAgICAgICAgW3NpemVdPVwiMi40XCJcclxuICAgICAgICAgICAgPiAgICBcclxuICAgICAgICA8L3Nkcy1hdmF0YXI+XHJcblxyXG4gICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZmxleC1ncm93LTEgZmxleC1zaHJpbmstMSB0ZXh0LWJvZHlcIlxyXG4gICAgICAgICAgICBbc3R5bGUubWluV2lkdGgucHhdPVwiMVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZHMtZnctNTAwIHNkcy1mcy0xMDAgdGV4dC10cnVuY2F0ZVwiPlxyXG4gICAgICAgICAgICAgICAge3twcm9maWxlLm5hbWV9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZHMtZnctNDAwIHNkcy1mcy03NSB0ZXh0LXRydW5jYXRlIHRleHQtbXV0ZWRcIj5cclxuICAgICAgICAgICAgICAgIHt7cHJvZmlsZS5pbmZvfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxpbnB1dCBcclxuICAgICAgICAgICAgKm5nSWY9XCJzaG93UmFkaW9cIlxyXG4gICAgICAgICAgICBjbGFzcz1cIm14LTFcIiB0eXBlPVwicmFkaW9cIiBuYW1lPVwicHJvZmlsZVwiIHZhbHVlPVwie3twcm9maWxlLmlkfX1cIiBcclxuICAgICAgICAgICAgW25nTW9kZWxdPVwiYWN0aXZlUHJvZmlsZUlkXCIgXHJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQWN0aXZlUHJvZmlsZUlkQ2hhbmdlKCRldmVudClcIiAvPlxyXG4gICAgPC9sYWJlbD5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi11c2VyLXByb2ZpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLXVzZXItcHJvZmlsZS9uYXZpZ2F0aW9uLXVzZXItcHJvZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tdXNlci1wcm9maWxlL25hdmlnYXRpb24tdXNlci1wcm9maWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUV6RyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7O0FBUXZFLE1BQU0sT0FBTyxpQ0FBaUM7SUE4QjFDO1FBN0JTLFlBQU8sR0FBNkIsSUFBSSxDQUFDO1FBQ3pDLHVCQUFrQixHQUF3QixFQUFFLENBQUM7UUFFN0Msb0JBQWUsR0FBa0IsSUFBSSxDQUFDO1FBQ3JDLDBCQUFxQixHQUFnQyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUN4RixzQkFBaUIsR0FBVyxFQUFFLENBQUM7UUFFL0IsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFDNUIsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFDNUIsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFL0IsZ0JBQVcsR0FBVyxVQUFVLENBQUM7UUFDakMsZ0JBQVcsR0FBVyxTQUFTLENBQUM7UUFFaEMsMEJBQXFCLEdBQVksS0FBSyxDQUFDO1FBQ3ZDLHlCQUFvQixHQUFXLG1CQUFtQixDQUFDO1FBRWxELGlCQUFZLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFDNUQsaUJBQVksR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUU1RCwyQkFBc0IsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV6RSxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUUxQixrQkFBYSxHQUE2QixJQUFJLENBQUM7UUFFL0Msb0JBQWUsR0FBRyxNQUFNLENBQUM7UUFDekIsZ0JBQVcsR0FBRyxTQUFTLENBQUE7SUFFbEIsQ0FBQztJQUVoQixRQUFRLEtBQVUsQ0FBQztJQUVuQixXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxPQUFPLENBQUMsaUJBQWlCLENBQUMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLG9CQUFvQixDQUFDLEVBQUU7WUFDbkYsSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLElBQUksRUFBRTtnQkFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO2FBQ3JDO2lCQUFNLElBQUksSUFBSSxDQUFDLGVBQWUsS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRTtnQkFDbEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO2FBQ3JDO2lCQUFNO2dCQUNILElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLElBQUksQ0FBQzthQUM3RztTQUNKO0lBQ0wsQ0FBQztJQUVNLGNBQWM7UUFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU0sY0FBYztRQUNqQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSx3QkFBd0IsQ0FBQyxLQUFpQjtRQUM3QyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxFQUFpQjtRQUM1QyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXBDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUM3QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDWixDQUFDOzsrSEFuRVEsaUNBQWlDO21IQUFqQyxpQ0FBaUMsdW9CQ1Y5Qyw2bElBdUhjOzRGRDdHRCxpQ0FBaUM7a0JBTDdDLFNBQVM7K0JBQ0ksNkJBQTZCOzBFQUs5QixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUVHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0kscUJBQXFCO3NCQUE5QixNQUFNO2dCQUNFLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBRUcsc0JBQXNCO3NCQUEvQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25Qcm9maWxlIH0gZnJvbSAnLi9uYXZpZ2F0aW9uLXByb2ZpbGUubW9kZWwnO1xyXG5pbXBvcnQgeyBmYVNpZ25PdXQsIGZhVXNlciB9IGZyb20gJ0Bmb3J0YXdlc29tZS9wcm8tcmVndWxhci1zdmctaWNvbnMnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzZHMtbmF2aWdhdGlvbi11c2VyLXByb2ZpbGUnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdmlnYXRpb24tdXNlci1wcm9maWxlLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL25hdmlnYXRpb24tdXNlci1wcm9maWxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZHNOYXZpZ2F0aW9uVXNlclByb2ZpbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgICBASW5wdXQoKSBwcm9maWxlOiBOYXZpZ2F0aW9uUHJvZmlsZSB8IG51bGwgPSBudWxsO1xyXG4gICAgQElucHV0KCkgYWRkaXRpb25hbFByb2ZpbGVzOiBOYXZpZ2F0aW9uUHJvZmlsZVtdID0gW107XHJcblxyXG4gICAgQElucHV0KCkgYWN0aXZlUHJvZmlsZUlkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICAgIEBPdXRwdXQoKSBhY3RpdmVQcm9maWxlSWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBudWxsPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4oKTtcclxuICAgIEBJbnB1dCgpIGFjdGl2ZVByb2ZpbGVJbmZvOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgICBASW5wdXQoKSBzaG93U2lnbk91dDogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBASW5wdXQoKSBzaG93UHJvZmlsZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBASW5wdXQoKSBzaG93VG9wQm9yZGVyOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KCkgc2lnbk91dFRleHQ6IHN0cmluZyA9ICdTaWduIG91dCc7XHJcbiAgICBASW5wdXQoKSBwcm9maWxlVGV4dDogc3RyaW5nID0gJ1Byb2ZpbGUnO1xyXG5cclxuICAgIEBJbnB1dCgpIHNob3dOb3RpZmljYXRpb25CYWRnZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgbmV3Tm90aWZpY2F0aW9uc1RleHQ6IHN0cmluZyA9ICdOZXcgTm90aWZpY2F0aW9ucyc7XHJcblxyXG4gICAgQE91dHB1dCgpIHByb2ZpbGVDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gICAgQE91dHB1dCgpIHNpZ25PdXRDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAgIEBPdXRwdXQoKSBub3RpZmljYXRpb25CYWRnZUNsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgXHJcbiAgICBwdWJsaWMgc2hvd09wdGlvbnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBwcm90ZWN0ZWQgYWN0aXZlUHJvZmlsZTogTmF2aWdhdGlvblByb2ZpbGUgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBwcm90ZWN0ZWQgdXNlclByb2ZpbGVJY29uID0gZmFVc2VyO1xyXG4gICAgcHJvdGVjdGVkIHNpZ25PdXRJY29uID0gZmFTaWduT3V0XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge31cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgaWYgKGNoYW5nZXNbJ2FjdGl2ZVByb2ZpbGVJZCddIHx8IGNoYW5nZXNbJ3Byb2ZpbGUnXSB8fCBjaGFuZ2VzWydhZGRpdGlvbmFsUHJvZmlsZXMnXSkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5hY3RpdmVQcm9maWxlSWQgPT09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlUHJvZmlsZSA9IHRoaXMucHJvZmlsZTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmFjdGl2ZVByb2ZpbGVJZCA9PT0gdGhpcy5wcm9maWxlPy5pZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVQcm9maWxlID0gdGhpcy5wcm9maWxlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVQcm9maWxlID0gdGhpcy5hZGRpdGlvbmFsUHJvZmlsZXMuZmluZChwcm9maWxlID0+IHByb2ZpbGUuaWQgPT09IHRoaXMuYWN0aXZlUHJvZmlsZUlkKSB8fCBudWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvblByb2ZpbGVDbGljaygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNob3dPcHRpb25zID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5wcm9maWxlQ2xpY2suZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvblNpZ25PdXRDbGljaygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNob3dPcHRpb25zID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zaWduT3V0Q2xpY2suZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbk5vdGlmaWNhdGlvbkJhZGdlQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbkJhZGdlQ2xpY2suZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbkFjdGl2ZVByb2ZpbGVJZENoYW5nZShpZDogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgICAgIHRoaXMuYWN0aXZlUHJvZmlsZUlkQ2hhbmdlLmVtaXQoaWQpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNob3dPcHRpb25zID0gZmFsc2U7XHJcbiAgICAgICAgfSwgMTAwKTtcclxuICAgIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiBzZHMtbmF2aWdhdGlvbi11c2VyLXByb2ZpbGUtY29udGFpbmVyIHVzZXItc2VsZWN0LW5vbmVcIlxyXG4gICAgKGNsaWNrKT1cInNob3dPcHRpb25zID0gIXNob3dPcHRpb25zXCI+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcblxyXG4gICAgICAgIDxzZHMtYXZhdGFyXHJcbiAgICAgICAgICAgIFt0ZXh0XT1cImFjdGl2ZVByb2ZpbGU/Lm5hbWVcIlxyXG4gICAgICAgICAgICBbY29sb3JLZXldPVwiYWN0aXZlUHJvZmlsZT8uaWRcIlxyXG4gICAgICAgICAgICBbcGljdHVyZVVyaV09XCJhY3RpdmVQcm9maWxlPy5waWN0dXJlVXJpXCJcclxuICAgICAgICAgICAgPiAgICBcclxuICAgICAgICA8L3Nkcy1hdmF0YXI+XHJcblxyXG4gICAgICAgIDxzcGFuIFxyXG4gICAgICAgICAgICAqbmdJZj1cInNob3dOb3RpZmljYXRpb25CYWRnZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwicG9zaXRpb24tYWJzb2x1dGUgbm90aWZpY2F0aW9uLWJhZGdlIHRyYW5zbGF0ZS1taWRkbGUgYmctZGFuZ2VyIGJvcmRlciBib3JkZXItbGlnaHQgcm91bmRlZC1jaXJjbGVcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25Ob3RpZmljYXRpb25CYWRnZUNsaWNrKCRldmVudClcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj57e25ld05vdGlmaWNhdGlvbnNUZXh0fX08L3NwYW4+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcblxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJzZHMtZmxleC1jb2x1bW5cIj5cclxuICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAjbmFtZUVsZW1lbnQgXHJcbiAgICAgICAgICAgIGNsYXNzPVwidHJ1bmNhdGUtdHdvLWxpbmVzXCI+XHJcbiAgICAgICAgICAgIHt7YWN0aXZlUHJvZmlsZT8ubmFtZX19XHJcbiAgICAgICAgPC9zcGFuPiAgICBcclxuXHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZHMtZnctNDAwIHNkcy1mcy03NSB0ZXh0LXRydW5jYXRlIHRleHQtbXV0ZWRcIj5cclxuICAgICAgICAgICAge3thY3RpdmVQcm9maWxlSW5mb319XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcblxyXG5cclxuPC9kaXY+IFxyXG5cclxuPGR4LXBvcG92ZXJcclxuICAgIFt0YXJnZXRdPVwibmFtZUVsZW1lbnRcIlxyXG4gICAgbWluV2lkdGg9XCIxMi41cmVtXCJcclxuICAgIG1heFdpZHRoPVwiMjByZW1cIlxyXG4gICAgWyh2aXNpYmxlKV09XCJzaG93T3B0aW9uc1wiXHJcbiAgICBbd3JhcHBlckF0dHJdPVwieyBjbGFzczogJ3Nkcy1uYXZpZ2F0aW9uLXVzZXItcHJvZmlsZS1wb3BvdmVyIHNkcy1keC1wb3B1cC1uby1hcnJvdyBzZHMtZHgtcG9wdXAtY29udGVudC1wYWRkaW5nLTEnIH1cIlxyXG4gICAgPlxyXG4gICAgPGRpdj5cclxuICAgICAgICA8bmctY29udGFpbmVyIFxyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwcm9maWxlVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBwcm9maWxlOiBwcm9maWxlLCBzaG93UmFkaW86IGFkZGl0aW9uYWxQcm9maWxlcyAmJiBhZGRpdGlvbmFsUHJvZmlsZXMubGVuZ3RoID4gMSB9XCI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHByb2ZpbGUgb2YgYWRkaXRpb25hbFByb2ZpbGVzXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgXHJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwcm9maWxlVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgcHJvZmlsZTogcHJvZmlsZSwgc2hvd1JhZGlvOiBhZGRpdGlvbmFsUHJvZmlsZXMgJiYgYWRkaXRpb25hbFByb2ZpbGVzLmxlbmd0aCA+IDEgfVwiPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIFxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJib3JkZXItdG9wXCI+PC9kaXY+XHJcblxyXG4gICAgPHVsIFxyXG4gICAgICAgIGNsYXNzPVwibGlzdC11bnN0eWxlZCBzZHMtbmF2aWdhdGlvbi11c2VyLXByb2ZpbGUtYWN0aW9ucyBtYi0wIG10LTJcIiBcclxuICAgID5cclxuICAgICAgICA8bGkgKm5nSWY9XCJzaG93UHJvZmlsZVwiPlxyXG4gICAgICAgICAgICA8YSBcclxuICAgICAgICAgICAgY2xhc3M9XCJkLWJsb2NrIHRleHQtYmxhY2tcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25Qcm9maWxlQ2xpY2soKVwiIFxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8ZmEtaWNvbiBjbGFzcz1cIm1lLTJcIiBbZml4ZWRXaWR0aF09XCJ0cnVlXCIgW3NpemVdPVwiJ3NtJ1wiIFtpY29uXT1cInVzZXJQcm9maWxlSWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuPnt7cHJvZmlsZVRleHR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgIDwvbGk+XHJcblxyXG4gICAgICAgIDxsaT5cclxuICAgICAgICAgICAgPGEgXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dTaWduT3V0XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZC1ibG9jayB0ZXh0LWJsYWNrXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNpZ25PdXRDbGljaygpXCIgICAgICBcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGZhLWljb24gY2xhc3M9XCJtZS0yXCIgW2ZpeGVkV2lkdGhdPVwidHJ1ZVwiIFtzaXplXT1cIidzbSdcIiBbaWNvbl09XCJzaWduT3V0SWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuPnt7c2lnbk91dFRleHR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICA8L3VsPlxyXG5cclxuPC9keC1wb3BvdmVyPlxyXG5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjcHJvZmlsZVRlbXBsYXRlIGxldC1wcm9maWxlPVwicHJvZmlsZVwiIGxldC1zaG93UmFkaW89XCJzaG93UmFkaW9cIj5cclxuXHJcbiAgICA8bGFiZWwgY2xhc3M9XCJkLWZsZXggZmxleC1yb3cgZ2FwLTMgYWxpZ24taXRlbXMtY2VudGVyIHAtMiBwcy0yIHBlLTMgcm91bmRlZC0xXCI+XHJcbiAgICAgICAgPHNkcy1hdmF0YXJcclxuICAgICAgICAgICAgW3RleHRdPVwicHJvZmlsZS5uYW1lXCJcclxuICAgICAgICAgICAgW2NvbG9yS2V5XT1cInByb2ZpbGUuaWRcIlxyXG4gICAgICAgICAgICBbcGljdHVyZVVyaV09XCJwcm9maWxlLnBpY3R1cmVVcmlcIlxyXG4gICAgICAgICAgICBbc2l6ZV09XCIyLjRcIlxyXG4gICAgICAgICAgICA+ICAgIFxyXG4gICAgICAgIDwvc2RzLWF2YXRhcj5cclxuXHJcbiAgICAgICAgPGRpdiBcclxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4LWdyb3ctMSBmbGV4LXNocmluay0xIHRleHQtYm9keVwiXHJcbiAgICAgICAgICAgIFtzdHlsZS5taW5XaWR0aC5weF09XCIxXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNkcy1mdy01MDAgc2RzLWZzLTEwMCB0ZXh0LXRydW5jYXRlXCI+XHJcbiAgICAgICAgICAgICAgICB7e3Byb2ZpbGUubmFtZX19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNkcy1mdy00MDAgc2RzLWZzLTc1IHRleHQtdHJ1bmNhdGUgdGV4dC1tdXRlZFwiPlxyXG4gICAgICAgICAgICAgICAge3twcm9maWxlLmluZm99fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGlucHV0IFxyXG4gICAgICAgICAgICAqbmdJZj1cInNob3dSYWRpb1wiXHJcbiAgICAgICAgICAgIGNsYXNzPVwibXgtMVwiIHR5cGU9XCJyYWRpb1wiIG5hbWU9XCJwcm9maWxlXCIgdmFsdWU9XCJ7e3Byb2ZpbGUuaWR9fVwiIFxyXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJhY3RpdmVQcm9maWxlSWRcIiBcclxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25BY3RpdmVQcm9maWxlSWRDaGFuZ2UoJGV2ZW50KVwiIC8+XHJcbiAgICA8L2xhYmVsPlxyXG48L25nLXRlbXBsYXRlPiJdfQ==
|
|
@@ -342,10 +342,10 @@ class SdsNavigationUserProfileComponent {
|
|
|
342
342
|
}
|
|
343
343
|
}
|
|
344
344
|
SdsNavigationUserProfileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdsNavigationUserProfileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
345
|
-
SdsNavigationUserProfileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SdsNavigationUserProfileComponent, selector: "sds-navigation-user-profile", inputs: { profile: "profile", additionalProfiles: "additionalProfiles", activeProfileId: "activeProfileId", activeProfileInfo: "activeProfileInfo", showSignOut: "showSignOut", showProfile: "showProfile", showTopBorder: "showTopBorder", signOutText: "signOutText", profileText: "profileText", showNotificationBadge: "showNotificationBadge", newNotificationsText: "newNotificationsText" }, outputs: { activeProfileIdChange: "activeProfileIdChange", profileClick: "profileClick", signOutClick: "signOutClick", notificationBadgeClick: "notificationBadgeClick" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"d-flex flex-row align-items-center gap-2 sds-navigation-user-profile-container user-select-none\"\r\n (click)=\"showOptions = !showOptions\">\r\n\r\n <div class=\"position-relative\">\r\n\r\n <sds-avatar\r\n [text]=\"activeProfile?.name\"\r\n [colorKey]=\"activeProfile?.id\"\r\n [pictureUri]=\"activeProfile?.pictureUri\"\r\n > \r\n </sds-avatar>\r\n\r\n <span \r\n *ngIf=\"showNotificationBadge\"\r\n class=\"position-absolute notification-badge translate-middle bg-danger border border-light rounded-circle\"\r\n (click)=\"onNotificationBadgeClick($event)\">\r\n <span class=\"visually-hidden\">{{newNotificationsText}}</span>\r\n </span>\r\n </div>\r\n\r\n\r\n <div class=\"sds-flex-column\">\r\n <span\r\n #nameElement \r\n class=\"truncate-two-lines\">\r\n {{activeProfile?.name}}\r\n </span> \r\n\r\n <span class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{activeProfileInfo}}\r\n </span>\r\n </div>\r\n\r\n\r\n</div> \r\n\r\n<dx-popover\r\n [target]=\"nameElement\"\r\n minWidth=\"12.5rem\"\r\n maxWidth=\"20rem\"\r\n [(visible)]=\"showOptions\"\r\n [wrapperAttr]=\"{ class: 'sds-navigation-user-profile-popover sds-dx-popup-no-arrow sds-dx-popup-content-padding-1' }\"\r\n >\r\n <div>\r\n <ng-container \r\n [ngTemplateOutlet]=\"profileTemplate\"\r\n [ngTemplateOutletContext]=\"{ profile: profile, showRadio: additionalProfiles && additionalProfiles.length > 1 }\">\r\n </ng-container>\r\n\r\n <ng-container *ngFor=\"let profile of additionalProfiles\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"profileTemplate\"\r\n [ngTemplateOutletContext]=\"{ profile: profile, showRadio: additionalProfiles && additionalProfiles.length > 1 }\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n \r\n <ng-content></ng-content>\r\n\r\n <div class=\"border-top\"></div>\r\n\r\n <ul \r\n class=\"list-unstyled sds-navigation-user-profile-actions mb-0 mt-2\" \r\n >\r\n <li *ngIf=\"showProfile\">\r\n <a \r\n class=\"d-block text-black\"\r\n (click)=\"onProfileClick()\" \r\n >\r\n <fa-icon class=\"me-2\" [size]=\"'sm'\" [icon]=\"userProfileIcon\"></fa-icon>\r\n <span>{{profileText}}</span>\r\n </a>\r\n </li>\r\n\r\n <li>\r\n <a \r\n *ngIf=\"showSignOut\"\r\n class=\"d-block text-black\"\r\n (click)=\"onSignOutClick()\" \r\n >\r\n <fa-icon class=\"me-2\" [size]=\"'sm'\" [icon]=\"signOutIcon\"></fa-icon>\r\n <span>{{signOutText}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n\r\n</dx-popover>\r\n\r\n\r\n<ng-template #profileTemplate let-profile=\"profile\" let-showRadio=\"showRadio\">\r\n\r\n <label class=\"d-flex flex-row gap-3 align-items-center p-2 ps-2 pe-3 rounded-1\">\r\n <sds-avatar\r\n [text]=\"profile.name\"\r\n [colorKey]=\"profile.id\"\r\n [pictureUri]=\"profile.pictureUri\"\r\n [size]=\"2.4\"\r\n > \r\n </sds-avatar>\r\n\r\n <div \r\n class=\"flex-grow-1 flex-shrink-1 text-body\"\r\n [style.minWidth.px]=\"1\"\r\n >\r\n <span class=\"sds-fw-500 sds-fs-100 text-truncate\">\r\n {{profile.name}}\r\n </span>\r\n <div class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{profile.info}}\r\n </div>\r\n </div>\r\n\r\n <input \r\n *ngIf=\"showRadio\"\r\n class=\"mx-1\" type=\"radio\" name=\"profile\" value=\"{{profile.id}}\" \r\n [ngModel]=\"activeProfileId\" \r\n (ngModelChange)=\"onActiveProfileIdChange($event)\" />\r\n </label>\r\n</ng-template>", styles: [".sds-navigation-user-profile-container{padding:.8rem;cursor:pointer}.sds-navigation-user-profile-container .notification-badge{top:15%;left:100%;padding:.4rem}.sds-navigation-user-profile-actions li{margin-bottom:.25rem}.sds-navigation-user-profile-actions li a{-webkit-user-select:none;user-select:none;text-decoration:none;padding:.5rem 1rem;width:100%;border-radius:4px}.sds-navigation-user-profile-actions li a:hover{background-color:var(--bs-gray-200);cursor:pointer}.truncate-two-lines{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}::ng-deep .sds-navigation-user-profile-popover .dx-popup-content{padding:.5rem;font-size:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$1.SdsAvatarComponent, selector: "sds-avatar", inputs: ["text", "colorKey", "pictureUri", "showHint", "borderStyle", "borderColor", "initialsText", "cursor", "size", "badgeVisible", "badgePosition", "badgeBackgroundColor", "badgeTextColor", "badgeHint"] }, { kind: "component", type: i3.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "component", type: i4.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "elementAttr", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showEvent", "showTitle", "target", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "onTitleRendered", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "elementAttrChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }] });
|
|
345
|
+
SdsNavigationUserProfileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SdsNavigationUserProfileComponent, selector: "sds-navigation-user-profile", inputs: { profile: "profile", additionalProfiles: "additionalProfiles", activeProfileId: "activeProfileId", activeProfileInfo: "activeProfileInfo", showSignOut: "showSignOut", showProfile: "showProfile", showTopBorder: "showTopBorder", signOutText: "signOutText", profileText: "profileText", showNotificationBadge: "showNotificationBadge", newNotificationsText: "newNotificationsText" }, outputs: { activeProfileIdChange: "activeProfileIdChange", profileClick: "profileClick", signOutClick: "signOutClick", notificationBadgeClick: "notificationBadgeClick" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"d-flex flex-row align-items-center gap-2 sds-navigation-user-profile-container user-select-none\"\r\n (click)=\"showOptions = !showOptions\">\r\n\r\n <div class=\"position-relative\">\r\n\r\n <sds-avatar\r\n [text]=\"activeProfile?.name\"\r\n [colorKey]=\"activeProfile?.id\"\r\n [pictureUri]=\"activeProfile?.pictureUri\"\r\n > \r\n </sds-avatar>\r\n\r\n <span \r\n *ngIf=\"showNotificationBadge\"\r\n class=\"position-absolute notification-badge translate-middle bg-danger border border-light rounded-circle\"\r\n (click)=\"onNotificationBadgeClick($event)\">\r\n <span class=\"visually-hidden\">{{newNotificationsText}}</span>\r\n </span>\r\n </div>\r\n\r\n\r\n <div class=\"sds-flex-column\">\r\n <span\r\n #nameElement \r\n class=\"truncate-two-lines\">\r\n {{activeProfile?.name}}\r\n </span> \r\n\r\n <span class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{activeProfileInfo}}\r\n </span>\r\n </div>\r\n\r\n\r\n</div> \r\n\r\n<dx-popover\r\n [target]=\"nameElement\"\r\n minWidth=\"12.5rem\"\r\n maxWidth=\"20rem\"\r\n [(visible)]=\"showOptions\"\r\n [wrapperAttr]=\"{ class: 'sds-navigation-user-profile-popover sds-dx-popup-no-arrow sds-dx-popup-content-padding-1' }\"\r\n >\r\n <div>\r\n <ng-container \r\n [ngTemplateOutlet]=\"profileTemplate\"\r\n [ngTemplateOutletContext]=\"{ profile: profile, showRadio: additionalProfiles && additionalProfiles.length > 1 }\">\r\n </ng-container>\r\n\r\n <ng-container *ngFor=\"let profile of additionalProfiles\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"profileTemplate\"\r\n [ngTemplateOutletContext]=\"{ profile: profile, showRadio: additionalProfiles && additionalProfiles.length > 1 }\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n \r\n <ng-content></ng-content>\r\n\r\n <div class=\"border-top\"></div>\r\n\r\n <ul \r\n class=\"list-unstyled sds-navigation-user-profile-actions mb-0 mt-2\" \r\n >\r\n <li *ngIf=\"showProfile\">\r\n <a \r\n class=\"d-block text-black\"\r\n (click)=\"onProfileClick()\" \r\n >\r\n <fa-icon class=\"me-2\" [fixedWidth]=\"true\" [size]=\"'sm'\" [icon]=\"userProfileIcon\"></fa-icon>\r\n <span>{{profileText}}</span>\r\n </a>\r\n </li>\r\n\r\n <li>\r\n <a \r\n *ngIf=\"showSignOut\"\r\n class=\"d-block text-black\"\r\n (click)=\"onSignOutClick()\" \r\n >\r\n <fa-icon class=\"me-2\" [fixedWidth]=\"true\" [size]=\"'sm'\" [icon]=\"signOutIcon\"></fa-icon>\r\n <span>{{signOutText}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n\r\n</dx-popover>\r\n\r\n\r\n<ng-template #profileTemplate let-profile=\"profile\" let-showRadio=\"showRadio\">\r\n\r\n <label class=\"d-flex flex-row gap-3 align-items-center p-2 ps-2 pe-3 rounded-1\">\r\n <sds-avatar\r\n [text]=\"profile.name\"\r\n [colorKey]=\"profile.id\"\r\n [pictureUri]=\"profile.pictureUri\"\r\n [size]=\"2.4\"\r\n > \r\n </sds-avatar>\r\n\r\n <div \r\n class=\"flex-grow-1 flex-shrink-1 text-body\"\r\n [style.minWidth.px]=\"1\"\r\n >\r\n <span class=\"sds-fw-500 sds-fs-100 text-truncate\">\r\n {{profile.name}}\r\n </span>\r\n <div class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{profile.info}}\r\n </div>\r\n </div>\r\n\r\n <input \r\n *ngIf=\"showRadio\"\r\n class=\"mx-1\" type=\"radio\" name=\"profile\" value=\"{{profile.id}}\" \r\n [ngModel]=\"activeProfileId\" \r\n (ngModelChange)=\"onActiveProfileIdChange($event)\" />\r\n </label>\r\n</ng-template>", styles: [".sds-navigation-user-profile-container{padding:.8rem;cursor:pointer}.sds-navigation-user-profile-container .notification-badge{top:15%;left:100%;padding:.4rem}.sds-navigation-user-profile-actions li{margin-bottom:.25rem}.sds-navigation-user-profile-actions li a{-webkit-user-select:none;user-select:none;text-decoration:none;padding:.5rem 1rem;width:100%;border-radius:4px}.sds-navigation-user-profile-actions li a:hover{background-color:var(--bs-gray-200);cursor:pointer}.truncate-two-lines{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}::ng-deep .sds-navigation-user-profile-popover .dx-popup-content{padding:.5rem;font-size:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$1.SdsAvatarComponent, selector: "sds-avatar", inputs: ["text", "colorKey", "pictureUri", "showHint", "borderStyle", "borderColor", "initialsText", "cursor", "size", "badgeVisible", "badgePosition", "badgeBackgroundColor", "badgeTextColor", "badgeHint"] }, { kind: "component", type: i3.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "component", type: i4.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "elementAttr", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showEvent", "showTitle", "target", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "onTitleRendered", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "elementAttrChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }] });
|
|
346
346
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdsNavigationUserProfileComponent, decorators: [{
|
|
347
347
|
type: Component,
|
|
348
|
-
args: [{ selector: 'sds-navigation-user-profile', template: "<div class=\"d-flex flex-row align-items-center gap-2 sds-navigation-user-profile-container user-select-none\"\r\n (click)=\"showOptions = !showOptions\">\r\n\r\n <div class=\"position-relative\">\r\n\r\n <sds-avatar\r\n [text]=\"activeProfile?.name\"\r\n [colorKey]=\"activeProfile?.id\"\r\n [pictureUri]=\"activeProfile?.pictureUri\"\r\n > \r\n </sds-avatar>\r\n\r\n <span \r\n *ngIf=\"showNotificationBadge\"\r\n class=\"position-absolute notification-badge translate-middle bg-danger border border-light rounded-circle\"\r\n (click)=\"onNotificationBadgeClick($event)\">\r\n <span class=\"visually-hidden\">{{newNotificationsText}}</span>\r\n </span>\r\n </div>\r\n\r\n\r\n <div class=\"sds-flex-column\">\r\n <span\r\n #nameElement \r\n class=\"truncate-two-lines\">\r\n {{activeProfile?.name}}\r\n </span> \r\n\r\n <span class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{activeProfileInfo}}\r\n </span>\r\n </div>\r\n\r\n\r\n</div> \r\n\r\n<dx-popover\r\n [target]=\"nameElement\"\r\n minWidth=\"12.5rem\"\r\n maxWidth=\"20rem\"\r\n [(visible)]=\"showOptions\"\r\n [wrapperAttr]=\"{ class: 'sds-navigation-user-profile-popover sds-dx-popup-no-arrow sds-dx-popup-content-padding-1' }\"\r\n >\r\n <div>\r\n <ng-container \r\n [ngTemplateOutlet]=\"profileTemplate\"\r\n [ngTemplateOutletContext]=\"{ profile: profile, showRadio: additionalProfiles && additionalProfiles.length > 1 }\">\r\n </ng-container>\r\n\r\n <ng-container *ngFor=\"let profile of additionalProfiles\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"profileTemplate\"\r\n [ngTemplateOutletContext]=\"{ profile: profile, showRadio: additionalProfiles && additionalProfiles.length > 1 }\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n \r\n <ng-content></ng-content>\r\n\r\n <div class=\"border-top\"></div>\r\n\r\n <ul \r\n class=\"list-unstyled sds-navigation-user-profile-actions mb-0 mt-2\" \r\n >\r\n <li *ngIf=\"showProfile\">\r\n <a \r\n class=\"d-block text-black\"\r\n (click)=\"onProfileClick()\" \r\n >\r\n <fa-icon class=\"me-2\" [size]=\"'sm'\" [icon]=\"userProfileIcon\"></fa-icon>\r\n <span>{{profileText}}</span>\r\n </a>\r\n </li>\r\n\r\n <li>\r\n <a \r\n *ngIf=\"showSignOut\"\r\n class=\"d-block text-black\"\r\n (click)=\"onSignOutClick()\" \r\n >\r\n <fa-icon class=\"me-2\" [size]=\"'sm'\" [icon]=\"signOutIcon\"></fa-icon>\r\n <span>{{signOutText}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n\r\n</dx-popover>\r\n\r\n\r\n<ng-template #profileTemplate let-profile=\"profile\" let-showRadio=\"showRadio\">\r\n\r\n <label class=\"d-flex flex-row gap-3 align-items-center p-2 ps-2 pe-3 rounded-1\">\r\n <sds-avatar\r\n [text]=\"profile.name\"\r\n [colorKey]=\"profile.id\"\r\n [pictureUri]=\"profile.pictureUri\"\r\n [size]=\"2.4\"\r\n > \r\n </sds-avatar>\r\n\r\n <div \r\n class=\"flex-grow-1 flex-shrink-1 text-body\"\r\n [style.minWidth.px]=\"1\"\r\n >\r\n <span class=\"sds-fw-500 sds-fs-100 text-truncate\">\r\n {{profile.name}}\r\n </span>\r\n <div class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{profile.info}}\r\n </div>\r\n </div>\r\n\r\n <input \r\n *ngIf=\"showRadio\"\r\n class=\"mx-1\" type=\"radio\" name=\"profile\" value=\"{{profile.id}}\" \r\n [ngModel]=\"activeProfileId\" \r\n (ngModelChange)=\"onActiveProfileIdChange($event)\" />\r\n </label>\r\n</ng-template>", styles: [".sds-navigation-user-profile-container{padding:.8rem;cursor:pointer}.sds-navigation-user-profile-container .notification-badge{top:15%;left:100%;padding:.4rem}.sds-navigation-user-profile-actions li{margin-bottom:.25rem}.sds-navigation-user-profile-actions li a{-webkit-user-select:none;user-select:none;text-decoration:none;padding:.5rem 1rem;width:100%;border-radius:4px}.sds-navigation-user-profile-actions li a:hover{background-color:var(--bs-gray-200);cursor:pointer}.truncate-two-lines{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}::ng-deep .sds-navigation-user-profile-popover .dx-popup-content{padding:.5rem;font-size:1rem}\n"] }]
|
|
348
|
+
args: [{ selector: 'sds-navigation-user-profile', template: "<div class=\"d-flex flex-row align-items-center gap-2 sds-navigation-user-profile-container user-select-none\"\r\n (click)=\"showOptions = !showOptions\">\r\n\r\n <div class=\"position-relative\">\r\n\r\n <sds-avatar\r\n [text]=\"activeProfile?.name\"\r\n [colorKey]=\"activeProfile?.id\"\r\n [pictureUri]=\"activeProfile?.pictureUri\"\r\n > \r\n </sds-avatar>\r\n\r\n <span \r\n *ngIf=\"showNotificationBadge\"\r\n class=\"position-absolute notification-badge translate-middle bg-danger border border-light rounded-circle\"\r\n (click)=\"onNotificationBadgeClick($event)\">\r\n <span class=\"visually-hidden\">{{newNotificationsText}}</span>\r\n </span>\r\n </div>\r\n\r\n\r\n <div class=\"sds-flex-column\">\r\n <span\r\n #nameElement \r\n class=\"truncate-two-lines\">\r\n {{activeProfile?.name}}\r\n </span> \r\n\r\n <span class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{activeProfileInfo}}\r\n </span>\r\n </div>\r\n\r\n\r\n</div> \r\n\r\n<dx-popover\r\n [target]=\"nameElement\"\r\n minWidth=\"12.5rem\"\r\n maxWidth=\"20rem\"\r\n [(visible)]=\"showOptions\"\r\n [wrapperAttr]=\"{ class: 'sds-navigation-user-profile-popover sds-dx-popup-no-arrow sds-dx-popup-content-padding-1' }\"\r\n >\r\n <div>\r\n <ng-container \r\n [ngTemplateOutlet]=\"profileTemplate\"\r\n [ngTemplateOutletContext]=\"{ profile: profile, showRadio: additionalProfiles && additionalProfiles.length > 1 }\">\r\n </ng-container>\r\n\r\n <ng-container *ngFor=\"let profile of additionalProfiles\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"profileTemplate\"\r\n [ngTemplateOutletContext]=\"{ profile: profile, showRadio: additionalProfiles && additionalProfiles.length > 1 }\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n \r\n <ng-content></ng-content>\r\n\r\n <div class=\"border-top\"></div>\r\n\r\n <ul \r\n class=\"list-unstyled sds-navigation-user-profile-actions mb-0 mt-2\" \r\n >\r\n <li *ngIf=\"showProfile\">\r\n <a \r\n class=\"d-block text-black\"\r\n (click)=\"onProfileClick()\" \r\n >\r\n <fa-icon class=\"me-2\" [fixedWidth]=\"true\" [size]=\"'sm'\" [icon]=\"userProfileIcon\"></fa-icon>\r\n <span>{{profileText}}</span>\r\n </a>\r\n </li>\r\n\r\n <li>\r\n <a \r\n *ngIf=\"showSignOut\"\r\n class=\"d-block text-black\"\r\n (click)=\"onSignOutClick()\" \r\n >\r\n <fa-icon class=\"me-2\" [fixedWidth]=\"true\" [size]=\"'sm'\" [icon]=\"signOutIcon\"></fa-icon>\r\n <span>{{signOutText}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n\r\n</dx-popover>\r\n\r\n\r\n<ng-template #profileTemplate let-profile=\"profile\" let-showRadio=\"showRadio\">\r\n\r\n <label class=\"d-flex flex-row gap-3 align-items-center p-2 ps-2 pe-3 rounded-1\">\r\n <sds-avatar\r\n [text]=\"profile.name\"\r\n [colorKey]=\"profile.id\"\r\n [pictureUri]=\"profile.pictureUri\"\r\n [size]=\"2.4\"\r\n > \r\n </sds-avatar>\r\n\r\n <div \r\n class=\"flex-grow-1 flex-shrink-1 text-body\"\r\n [style.minWidth.px]=\"1\"\r\n >\r\n <span class=\"sds-fw-500 sds-fs-100 text-truncate\">\r\n {{profile.name}}\r\n </span>\r\n <div class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{profile.info}}\r\n </div>\r\n </div>\r\n\r\n <input \r\n *ngIf=\"showRadio\"\r\n class=\"mx-1\" type=\"radio\" name=\"profile\" value=\"{{profile.id}}\" \r\n [ngModel]=\"activeProfileId\" \r\n (ngModelChange)=\"onActiveProfileIdChange($event)\" />\r\n </label>\r\n</ng-template>", styles: [".sds-navigation-user-profile-container{padding:.8rem;cursor:pointer}.sds-navigation-user-profile-container .notification-badge{top:15%;left:100%;padding:.4rem}.sds-navigation-user-profile-actions li{margin-bottom:.25rem}.sds-navigation-user-profile-actions li a{-webkit-user-select:none;user-select:none;text-decoration:none;padding:.5rem 1rem;width:100%;border-radius:4px}.sds-navigation-user-profile-actions li a:hover{background-color:var(--bs-gray-200);cursor:pointer}.truncate-two-lines{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}::ng-deep .sds-navigation-user-profile-popover .dx-popup-content{padding:.5rem;font-size:1rem}\n"] }]
|
|
349
349
|
}], ctorParameters: function () { return []; }, propDecorators: { profile: [{
|
|
350
350
|
type: Input
|
|
351
351
|
}], additionalProfiles: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spicainternational-ngx-sds-components-src-lib-navigation.mjs","sources":["../../../projects/ngx-sds-components/src/lib/navigation/navigation-separator/navigation-separator.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-separator/navigation-separator.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation-header/navigation-header.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-header/navigation-header.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation-route-link/navigation-route-link.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-route-link/navigation-route-link.component.html","../../../projects/ngx-sds-components/src/lib/navigation/utils/navigation.utils.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-group/navigation-group.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-group/navigation-group.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation-container/navigation-container.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-container/navigation-container.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation-external-link/navigation-external-link.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-external-link/navigation-external-link.component.html","../../../projects/ngx-sds-components/src/lib/navigation/pipes/navigation-route-active.pipe.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.html","../../../projects/ngx-sds-components/src/lib/navigation/product-home/product-home.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/product-home/product-home.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation.module.ts","../../../projects/ngx-sds-components/src/lib/navigation/spicainternational-ngx-sds-components-src-lib-navigation.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sds-navigation-separator',\r\n templateUrl: './navigation-separator.component.html',\r\n styleUrls: ['./navigation-separator.component.scss']\r\n})\r\nexport class SdsNavigationSeparatorComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"sds-navigation-separator nav-separator\"></div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sds-navigation-header',\r\n templateUrl: './navigation-header.component.html',\r\n styleUrls: ['./navigation-header.component.scss'],\r\n})\r\nexport class SdsNavigationHeaderComponent implements OnInit {\r\n @Input() text: string;\r\n\r\n constructor() {\r\n this.text = '';\r\n }\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<div class=\"sds-navigation-header\">\r\n {{ text }}\r\n</div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sds-navigation-route-link',\r\n templateUrl: './navigation-route-link.component.html',\r\n styleUrls: ['./navigation-route-link.component.scss'],\r\n})\r\nexport class SdsNavigationRouteLinkComponent implements OnInit {\r\n /**\r\n * This variable is used as 'routerLink' attribute in the anchor tag.\r\n * \r\n * Is named 'link' to avoid conflict with the 'routerLink' directive.\r\n */\r\n @Input() link: string = '';\r\n @Input() text: string = '';\r\n\r\n @Input() additionalInfo: string | undefined = undefined;\r\n\r\n @Input() disabled = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<!-- class=\"sds-navigation-router-link sidebar-item-x d-flex justify-content-start align-items-center sidebar-item-x py-1\"> -->\r\n<div \r\n class=\"sds-navigation-router-link sds-navigation-item-container\"\r\n [class.disabled]=\"disabled\"\r\n routerLinkActive=\"active\">\r\n <a class=\"sds-navigation-item-content w-100\" [routerLink]=\"link\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"sds-navigation-icon\" >\r\n <ng-content select=\"[navigationIcon]\"></ng-content>\r\n </div>\r\n <div class=\"sds-navigation-text user-select-none\">\r\n {{ text }}\r\n </div>\r\n <span *ngIf=\"additionalInfo\"\r\n class=\"sds-navigation-router-link-additional-info badge rounded-pill bg-warning text-body\"\r\n >{{ additionalInfo }}</span\r\n > \r\n </div>\r\n </a>\r\n</div>","export function removeQueryParams(url: string): string {\r\n return url.split('?')[0];\r\n}\r\n\r\nexport function isUrlPartOfNavigationGroup(\r\n currentUrl: string[], \r\n nestedRoutes: string[], \r\n defaultGroupUrl: string): boolean {\r\n\r\n if (!currentUrl || currentUrl?.length === 0) {\r\n return false;\r\n }\r\n \r\n defaultGroupUrl = defaultGroupUrl.replace('/', '');\r\n \r\n if (nestedRoutes?.length > 0) {\r\n // Nested routes are provided. We should find out if current url is on the list of\r\n // the provided nested routes \r\n const currentUrlParts = currentUrl.slice();//.reverse();\r\n const routeItemIsPartOfNestedRoutes = nestedRoutes.some((routeName) => {\r\n const routeParts = routeName.split('/');//.reverse();\r\n return isSubsetOrSame(currentUrlParts, routeParts);\r\n });\r\n if (routeItemIsPartOfNestedRoutes) {\r\n return true;\r\n }\r\n }\r\n\r\n const currentUrlContainsGroupUrl = currentUrl.some(path => path === defaultGroupUrl);\r\n return currentUrlContainsGroupUrl;\r\n }\r\n\r\nfunction isSubsetOrSame(mainArray: string[], subArray: string[]): boolean {\r\n // if we have super wildcard we need to check reversed array\r\n // if (subArray.includes('**')) {\r\n const reversedMainArray = mainArray.slice(); //.reverse();\r\n const reversedSubArray = subArray.slice(); //.reverse();\r\n\r\n for (let i = 0; i < reversedSubArray.length; i++) {\r\n if (reversedSubArray[i] === '**') {\r\n return true;\r\n }\r\n if ((reversedMainArray[i] !== reversedSubArray[i]) && reversedSubArray[i] !== '*') {\r\n return false;\r\n }\r\n }\r\n return true;\r\n\r\n // } else {\r\n // if (subArray.length > mainArray.length) return false;\r\n\r\n // for (let i = 0; i < subArray.length; i++) {\r\n // if ((mainArray[i] !== subArray[i]) && subArray[i] !== '*') {\r\n // return false;\r\n // }\r\n // }\r\n // return true;\r\n // }\r\n}","import {\r\n AfterContentInit,\r\n Component,\r\n ContentChildren,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n QueryList,\r\n} from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { SdsNavigationRouteLinkComponent } from '../navigation-route-link/navigation-route-link.component';\r\n\r\nimport { faAngleUp, faAngleDown } from '@fortawesome/pro-regular-svg-icons';\r\nimport { filter, Subject, takeUntil } from 'rxjs';\r\nimport { isUrlPartOfNavigationGroup, removeQueryParams } from '../utils/navigation.utils';\r\n\r\n@Component({\r\n selector: 'sds-navigation-group',\r\n templateUrl: './navigation-group.component.html',\r\n styleUrls: ['./navigation-group.component.scss'],\r\n})\r\nexport class SdsNavigationGroupComponent implements OnInit, OnDestroy {\r\n /**\r\n * List of paths allowed/expected within this module.\r\n * These are paths that are not accessible through child navigation\r\n * elements, but through links in other parts of the application (e.g. link\r\n * on form)\r\n */\r\n private _navigationGroupNestedRoutes: string[] = [];\r\n @Input()\r\n set navigationGroupNestedRoutes(value: string[]) {\r\n this._navigationGroupNestedRoutes = value;\r\n }\r\n get navigationGroupNestedRoutes() {\r\n return this._navigationGroupNestedRoutes;\r\n }\r\n\r\n @Input() text: string = '';\r\n @Input() icon: string = '';\r\n @Input() defaultRouterLink: string = '';\r\n @Input() reverse = false;\r\n @Input() ignoreQueryParamsInActiveRoute = false;\r\n @Input() disabled = false;\r\n @Input() showPopover = false;\r\n @Input() showPopoverHeader = false;\r\n\r\n @ContentChildren(SdsNavigationRouteLinkComponent)\r\n routerLinkComponents: QueryList<SdsNavigationRouteLinkComponent> = new QueryList<SdsNavigationRouteLinkComponent>();\r\n\r\n active: boolean = false; \r\n\r\n faAngleUpRegular = faAngleUp;\r\n faAngleDownRegular = faAngleDown;\r\n\r\n /**\r\n * Current app URL (e.g. ['layout-showcase', 'default'])\r\n */\r\n currentUrl: string[] = [];\r\n\r\n private _unsubscribe: Subject<void> = new Subject<void>();\r\n \r\n public isGroupActive: boolean = false;\r\n\r\n\r\n constructor(private _router: Router) {}\r\n\r\n ngOnInit(): void {\r\n this._router.events.pipe(\r\n filter((event: any) => event instanceof NavigationEnd),\r\n takeUntil(this._unsubscribe)\r\n ).subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n const activeRoute = this.ignoreQueryParamsInActiveRoute ? removeQueryParams(event.url) : event.url;\r\n const route: string[] = activeRoute.split('/').filter(item => item.length > 0);\r\n this.currentUrl = route;\r\n this.isGroupActive = isUrlPartOfNavigationGroup(this.currentUrl, this.navigationGroupNestedRoutes, this.defaultRouterLink);\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unsubscribe.next();\r\n this._unsubscribe.complete();\r\n }\r\n\r\n onHiding(e: any) {\r\n const popoverContent = e.component.content().parentNode;\r\n const isMouseInsidePopover = popoverContent.matches(':hover');\r\n e.cancel = isMouseInsidePopover;\r\n\r\n popoverContent.addEventListener('mouseleave', () => {\r\n popoverContent.removeEventListener('mouseleave', () => {});\r\n e.component.hide();\r\n \r\n });\r\n \r\n }\r\n}\r\n","<div \r\n #navigationGroup\r\n class=\"sds-navigation-group sds-navigation-item-container d-flex\"\r\n [class.flex-column-reverse]=\"reverse\"\r\n [class.flex-column]=\"!reverse\"\r\n [class.disabled]=\"disabled\"\r\n [class.active]=\"isGroupActive\"\r\n >\r\n <a \r\n class=\"w-100 sds-navigation-item-content\"\r\n style=\"cursor: pointer\"\r\n [routerLink]=\"[defaultRouterLink]\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"sds-navigation-icon\" >\r\n <ng-content select=\"[navigationIcon]\"></ng-content>\r\n </div>\r\n <div class=\"sds-navigation-text user-select-none\">\r\n {{ text }}\r\n </div>\r\n <div class=\"text-right\">\r\n <fa-icon *ngIf=\"!reverse\" [icon]=\"faAngleDownRegular\"></fa-icon>\r\n <fa-icon *ngIf=\"reverse\" [icon]=\"faAngleUpRegular\"></fa-icon>\r\n </div>\r\n </div>\r\n </a>\r\n\r\n <div *ngIf=\"isGroupActive\" class=\"sds-navigation-group-items\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n\r\n<ng-container *ngIf=\"showPopover && !isGroupActive\">\r\n <dx-popover\r\n [target]=\"navigationGroup\"\r\n [showEvent]=\"{ name: 'dxhoverstart', delay: 100 }\"\r\n [hideEvent]=\"{ name: 'dxhoverend', delay: 100 }\"\r\n (onHiding)=\"onHiding($event)\"\r\n width=\"15rem\"\r\n [wrapperAttr]=\"{ class: 'sds-navigation-group-popover-wrapper sds-dx-popup-content-padding-2' }\"\r\n [hideOnOutsideClick]=\"true\"\r\n [hideOnParentScroll]=\"true\"\r\n [animation]=\"{}\"\r\n >\r\n\r\n <dxo-position\r\n my=\"top left\"\r\n at=\"top right\"\r\n [of]=\"navigationGroup\"\r\n offset=\"-12 0\"\r\n >\r\n </dxo-position>\r\n\r\n <div *ngIf=\"showPopoverHeader\" class=\"group-header user-select-none\">\r\n {{ text }}\r\n </div>\r\n <div \r\n class=\"sds-navigation-container sds-navigation-popover-container sds-scrollbar sds-scrollbar-thin sds-scrollbar-no-hide\"\r\n >\r\n <div class=\"sds-navigation-group-items\">\r\n <ng-content select=\"[popoverContent]\"></ng-content>\r\n </div>\r\n </div>\r\n </dx-popover>\r\n</ng-container>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sds-navigation-container',\r\n templateUrl: './navigation-container.component.html',\r\n styleUrls: ['./navigation-container.component.scss'],\r\n})\r\nexport class SdsNavigationContainerComponent implements OnInit {\r\n @Input() product: string;\r\n\r\n constructor() {\r\n this.product = 'all-hours';\r\n }\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<div \r\n class=\"sds-navigation-container\"\r\n [class]=\"'product-' + product\">\r\n <ng-content></ng-content>\r\n</div>","import { Component, Input, OnInit } from '@angular/core';\r\nimport { faExternalLink } from '@fortawesome/pro-regular-svg-icons';\r\n\r\n@Component({\r\n selector: 'sds-navigation-external-link',\r\n templateUrl: './navigation-external-link.component.html',\r\n styleUrls: ['./navigation-external-link.component.scss']\r\n})\r\nexport class SdsNavigationExternalLinkComponent implements OnInit {\r\n\r\n @Input() link: string = '';\r\n @Input() text: string = '';\r\n @Input() tabName: string = '_blank'\r\n @Input() externalLinkHint = '';\r\n @Input() showExternalLinkIcon = true;\r\n\r\n\r\n public externalLinkIcon = faExternalLink;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n openLink(){\r\n window.open(this.link, this.tabName);\r\n }\r\n\r\n}\r\n","<div \r\n class=\"sds-navigation-external-link sds-navigation-item-container\">\r\n <a class=\"w-100 sds-navigation-item-content\" (click)=\"openLink()\" >\r\n <div class=\"d-flex align-items-center position-relative\">\r\n <div class=\"sds-navigation-icon\" >\r\n <ng-content select=\"[navigationIcon]\"></ng-content>\r\n </div>\r\n\r\n <div class=\"sds-navigation-text\">\r\n <span>{{ text }}</span>\r\n </div>\r\n\r\n <div \r\n class=\"sds-navigation-external-link-info-container\">\r\n <fa-icon \r\n class=\"sds-navigation-external-link-info-icon\"\r\n *ngIf=\"showExternalLinkIcon\"\r\n\r\n [icon]=\"externalLinkIcon\"\r\n [size]=\"'xs'\"\r\n [title]=\"externalLinkHint\"\r\n >\r\n </fa-icon>\r\n </div> \r\n \r\n <ng-content></ng-content>\r\n\r\n </div>\r\n </a>\r\n</div>","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { isUrlPartOfNavigationGroup } from '../utils/navigation.utils';\r\n\r\n@Pipe({\r\n name: 'navigationRouteActive'\r\n})\r\nexport class NavigationRouteActivePipe implements PipeTransform {\r\n\r\n transform(currentUrl: string[], ...args: unknown[]): boolean {\r\n if (!currentUrl || currentUrl?.length === 0) {\r\n return false;\r\n }\r\n const nestedRoutes: string[] = args[0] as string[];\r\n const defaultGroupUrl: string = (args[1] as string).replace('/', '');\r\n\r\n let showWarningForMissingNestedRoutes = false;\r\n if (args.length >= 3) {\r\n showWarningForMissingNestedRoutes = args[2] as boolean;\r\n } \r\n\r\n const isPart = isUrlPartOfNavigationGroup(currentUrl, nestedRoutes, defaultGroupUrl);\r\n\r\n if (showWarningForMissingNestedRoutes) {\r\n console.warn(\r\n `Nested routes were defined in sds-navigation-group component, however route \"${currentUrl}\" is not a part of the nested routes list (${nestedRoutes?.join(', ')}). Maybe you forgot to include it? `\r\n );\r\n }\r\n\r\n return isPart;\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, OnChanges, Output, SimpleChanges } from '@angular/core';\r\nimport { NavigationProfile } from './navigation-profile.model';\r\nimport { faSignOut, faUser } from '@fortawesome/pro-regular-svg-icons';\r\n\r\n\r\n@Component({\r\n selector: 'sds-navigation-user-profile',\r\n templateUrl: './navigation-user-profile.component.html',\r\n styleUrls: ['./navigation-user-profile.component.scss'],\r\n})\r\nexport class SdsNavigationUserProfileComponent implements OnInit, OnChanges {\r\n @Input() profile: NavigationProfile | null = null;\r\n @Input() additionalProfiles: NavigationProfile[] = [];\r\n\r\n @Input() activeProfileId: string | null = null;\r\n @Output() activeProfileIdChange: EventEmitter<string | null> = new EventEmitter<string | null>();\r\n @Input() activeProfileInfo: string = '';\r\n\r\n @Input() showSignOut: boolean = true;\r\n @Input() showProfile: boolean = true;\r\n @Input() showTopBorder: boolean = false;\r\n\r\n @Input() signOutText: string = 'Sign out';\r\n @Input() profileText: string = 'Profile';\r\n\r\n @Input() showNotificationBadge: boolean = false;\r\n @Input() newNotificationsText: string = 'New Notifications';\r\n\r\n @Output() profileClick: EventEmitter<void> = new EventEmitter<void>();\r\n @Output() signOutClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output() notificationBadgeClick: EventEmitter<void> = new EventEmitter<void>();\r\n \r\n public showOptions: boolean = false;\r\n\r\n protected activeProfile: NavigationProfile | null = null;\r\n\r\n protected userProfileIcon = faUser;\r\n protected signOutIcon = faSignOut\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['activeProfileId'] || changes['profile'] || changes['additionalProfiles']) {\r\n if (this.activeProfileId === null) {\r\n this.activeProfile = this.profile;\r\n } else if (this.activeProfileId === this.profile?.id) {\r\n this.activeProfile = this.profile;\r\n } else {\r\n this.activeProfile = this.additionalProfiles.find(profile => profile.id === this.activeProfileId) || null;\r\n }\r\n }\r\n }\r\n\r\n public onProfileClick(): void {\r\n this.showOptions = false;\r\n this.profileClick.emit();\r\n }\r\n\r\n public onSignOutClick(): void {\r\n this.showOptions = false;\r\n this.signOutClick.emit();\r\n }\r\n\r\n public onNotificationBadgeClick(event: MouseEvent): void {\r\n event.stopPropagation();\r\n this.notificationBadgeClick.emit();\r\n }\r\n\r\n public onActiveProfileIdChange(id: string | null) {\r\n this.activeProfileIdChange.emit(id);\r\n \r\n setTimeout(() => {\r\n this.showOptions = false;\r\n }, 100);\r\n }\r\n}\r\n","<div class=\"d-flex flex-row align-items-center gap-2 sds-navigation-user-profile-container user-select-none\"\r\n (click)=\"showOptions = !showOptions\">\r\n\r\n <div class=\"position-relative\">\r\n\r\n <sds-avatar\r\n [text]=\"activeProfile?.name\"\r\n [colorKey]=\"activeProfile?.id\"\r\n [pictureUri]=\"activeProfile?.pictureUri\"\r\n > \r\n </sds-avatar>\r\n\r\n <span \r\n *ngIf=\"showNotificationBadge\"\r\n class=\"position-absolute notification-badge translate-middle bg-danger border border-light rounded-circle\"\r\n (click)=\"onNotificationBadgeClick($event)\">\r\n <span class=\"visually-hidden\">{{newNotificationsText}}</span>\r\n </span>\r\n </div>\r\n\r\n\r\n <div class=\"sds-flex-column\">\r\n <span\r\n #nameElement \r\n class=\"truncate-two-lines\">\r\n {{activeProfile?.name}}\r\n </span> \r\n\r\n <span class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{activeProfileInfo}}\r\n </span>\r\n </div>\r\n\r\n\r\n</div> \r\n\r\n<dx-popover\r\n [target]=\"nameElement\"\r\n minWidth=\"12.5rem\"\r\n maxWidth=\"20rem\"\r\n [(visible)]=\"showOptions\"\r\n [wrapperAttr]=\"{ class: 'sds-navigation-user-profile-popover sds-dx-popup-no-arrow sds-dx-popup-content-padding-1' }\"\r\n >\r\n <div>\r\n <ng-container \r\n [ngTemplateOutlet]=\"profileTemplate\"\r\n [ngTemplateOutletContext]=\"{ profile: profile, showRadio: additionalProfiles && additionalProfiles.length > 1 }\">\r\n </ng-container>\r\n\r\n <ng-container *ngFor=\"let profile of additionalProfiles\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"profileTemplate\"\r\n [ngTemplateOutletContext]=\"{ profile: profile, showRadio: additionalProfiles && additionalProfiles.length > 1 }\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n \r\n <ng-content></ng-content>\r\n\r\n <div class=\"border-top\"></div>\r\n\r\n <ul \r\n class=\"list-unstyled sds-navigation-user-profile-actions mb-0 mt-2\" \r\n >\r\n <li *ngIf=\"showProfile\">\r\n <a \r\n class=\"d-block text-black\"\r\n (click)=\"onProfileClick()\" \r\n >\r\n <fa-icon class=\"me-2\" [size]=\"'sm'\" [icon]=\"userProfileIcon\"></fa-icon>\r\n <span>{{profileText}}</span>\r\n </a>\r\n </li>\r\n\r\n <li>\r\n <a \r\n *ngIf=\"showSignOut\"\r\n class=\"d-block text-black\"\r\n (click)=\"onSignOutClick()\" \r\n >\r\n <fa-icon class=\"me-2\" [size]=\"'sm'\" [icon]=\"signOutIcon\"></fa-icon>\r\n <span>{{signOutText}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n\r\n</dx-popover>\r\n\r\n\r\n<ng-template #profileTemplate let-profile=\"profile\" let-showRadio=\"showRadio\">\r\n\r\n <label class=\"d-flex flex-row gap-3 align-items-center p-2 ps-2 pe-3 rounded-1\">\r\n <sds-avatar\r\n [text]=\"profile.name\"\r\n [colorKey]=\"profile.id\"\r\n [pictureUri]=\"profile.pictureUri\"\r\n [size]=\"2.4\"\r\n > \r\n </sds-avatar>\r\n\r\n <div \r\n class=\"flex-grow-1 flex-shrink-1 text-body\"\r\n [style.minWidth.px]=\"1\"\r\n >\r\n <span class=\"sds-fw-500 sds-fs-100 text-truncate\">\r\n {{profile.name}}\r\n </span>\r\n <div class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{profile.info}}\r\n </div>\r\n </div>\r\n\r\n <input \r\n *ngIf=\"showRadio\"\r\n class=\"mx-1\" type=\"radio\" name=\"profile\" value=\"{{profile.id}}\" \r\n [ngModel]=\"activeProfileId\" \r\n (ngModelChange)=\"onActiveProfileIdChange($event)\" />\r\n </label>\r\n</ng-template>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ProductModel } from '@spicainternational/ngx-sds-components/src/lib/app-switcher';\r\n\r\n\r\n@Component({\r\n selector: 'sds-product-home',\r\n templateUrl: './product-home.component.html',\r\n styleUrls: ['./product-home.component.scss'],\r\n})\r\nexport class SdsProductHomeComponent implements OnInit {\r\n\r\n @Input() public logoUrl?: string;\r\n @Input() public logoAltText?: string;\r\n @Input() public moduleTitle?: string;\r\n\r\n @Input() public showAppSwitcher = false;\r\n @Input() public appSwitcherProductCode: Number | undefined;\r\n @Input() public appSwitcherUserProductCodes: Number[] | undefined;\r\n @Input() public appSwitcherTenantProducts: ProductModel[] | undefined;\r\n @Input() public appSwitcherSwitchText: string = '';\r\n @Input() public appSwitcherDiscoverText: string = ''; \r\n\r\n @Input() public allowHeaderClick = false;\r\n\r\n @Output() public productSwitched: EventEmitter<ProductModel> = new EventEmitter<ProductModel>(); \r\n @Output() public headerClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n protected onProductClick(product: ProductModel): void {\r\n this.productSwitched.emit(product);\r\n }\r\n\r\n protected onHeaderClick(): void {\r\n if (this. allowHeaderClick) {\r\n this.headerClick.emit();\r\n }\r\n }\r\n}\r\n","<div class=\"product-header pb-2 mb-2 align-items-start\">\r\n <sds-app-switcher\r\n *ngIf=\"showAppSwitcher\"\r\n class=\"app-switcher\"\r\n [productCode]=\"appSwitcherProductCode\"\r\n [userProductCodes]=\"appSwitcherUserProductCodes\"\r\n [tenantProducts]=\"appSwitcherTenantProducts\"\r\n [switchText]=\"appSwitcherSwitchText\"\r\n [discoverText]=\"appSwitcherDiscoverText\"\r\n (productClick)=\"onProductClick($event)\"\r\n >\r\n </sds-app-switcher>\r\n\r\n <div \r\n class=\"ms-2\"\r\n (click)=\"onHeaderClick()\"\r\n [class.sds-cursor-pointer]=\"allowHeaderClick\"\r\n >\r\n <img \r\n class=\"product-logo\"\r\n [src]=\"logoUrl\" \r\n [alt]=\"logoAltText\"\r\n > \r\n <h6 \r\n *ngIf=\"moduleTitle\"\r\n class=\"mt-2\"\r\n >\r\n {{moduleTitle}}\r\n </h6>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\n\r\nimport { SdsNavigationSeparatorComponent } from './navigation-separator/navigation-separator.component';\r\nimport { SdsNavigationHeaderComponent } from './navigation-header/navigation-header.component';\r\nimport { SdsNavigationGroupComponent } from './navigation-group/navigation-group.component';\r\nimport { SdsNavigationRouteLinkComponent } from './navigation-route-link/navigation-route-link.component';\r\nimport { SdsNavigationContainerComponent } from './navigation-container/navigation-container.component';\r\nimport { SdsNavigationExternalLinkComponent } from './navigation-external-link/navigation-external-link.component';\r\nimport { NavigationRouteActivePipe } from './pipes/navigation-route-active.pipe';\r\nimport { SdsNavigationUserProfileComponent } from './navigation-user-profile/navigation-user-profile.component';\r\nimport { SdsAvatarModule } from '@spicainternational/ngx-sds-components/src/lib/avatar';\r\nimport { DxPopoverModule } from 'devextreme-angular/ui/popover';\r\nimport { SdsProductHomeComponent } from './product-home/product-home.component';\r\nimport { SdsAppSwitcherModule } from '@spicainternational/ngx-sds-components/src/lib/app-switcher';\r\nimport { DxScrollViewModule } from 'devextreme-angular';\r\nimport { SdsTooltipModule } from '@spicainternational/ngx-sds-components/src/lib/tooltip';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n\r\n// import { NavigationGroupComponent } from './navigation-group/navigation-group.component';\r\n// import { NavigationRouteLinkComponent } from './navigation-route-link/navigation-route-link.component';\r\n// import { NavigationSeparatorComponent } from './navigation-separator/navigation-separator.component';\r\n// import { NavigationHeaderComponent } from './navigation-header/navigation-header.component';\r\n\r\nconst components = [\r\n SdsNavigationGroupComponent,\r\n SdsNavigationRouteLinkComponent,\r\n SdsNavigationSeparatorComponent,\r\n SdsNavigationHeaderComponent,\r\n SdsNavigationContainerComponent,\r\n SdsNavigationExternalLinkComponent,\r\n SdsNavigationUserProfileComponent,\r\n SdsProductHomeComponent\r\n]\r\n\r\n@NgModule({\r\n declarations: [\r\n ...components,\r\n NavigationRouteActivePipe,\r\n SdsNavigationUserProfileComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n RouterModule,\r\n SdsAvatarModule,\r\n SdsAppSwitcherModule,\r\n FontAwesomeModule,\r\n DxPopoverModule,\r\n DxScrollViewModule,\r\n SdsTooltipModule\r\n ],\r\n exports: [\r\n ...components\r\n ]\r\n})\r\nexport class SdsNavigationModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1","i3","i4","i5"],"mappings":";;;;;;;;;;;;;;;;;;;;;;MAOa,+BAA+B,CAAA;AAE1C,IAAA,WAAA,GAAA,GAAiB;IAEjB,QAAQ,GAAA;KACP;;6HALU,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA/B,+BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,+BAA+B,gECP5C,kEACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDMa,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAL3C,SAAS;+BACE,0BAA0B,EAAA,QAAA,EAAA,kEAAA,EAAA,CAAA;;;MEIzB,4BAA4B,CAAA;AAGrC,IAAA,WAAA,GAAA;AACI,QAAA,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;KAClB;AAED,IAAA,QAAQ,MAAW;;0HAPV,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,uFCPzC,uEAGA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDIa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBALxC,SAAS;+BACI,uBAAuB,EAAA,QAAA,EAAA,uEAAA,EAAA,CAAA;0EAKxB,IAAI,EAAA,CAAA;sBAAZ,KAAK;;;MEDG,+BAA+B,CAAA;AAaxC,IAAA,WAAA,GAAA;AAZA;;;;AAIG;AACM,QAAA,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;AAClB,QAAA,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;AAElB,QAAA,IAAc,CAAA,cAAA,GAAuB,SAAS,CAAC;AAE/C,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;KAGzB;AAED,IAAA,QAAQ,MAAW;;6HAhBV,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA/B,+BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,+BAA+B,iKCP5C,m7BAmBM,EAAA,MAAA,EAAA,CAAA,sGAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,uBAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDZO,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAL3C,SAAS;+BACI,2BAA2B,EAAA,QAAA,EAAA,m7BAAA,EAAA,MAAA,EAAA,CAAA,sGAAA,CAAA,EAAA,CAAA;0EAU5B,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAEG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAEG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;;AElBJ,SAAU,iBAAiB,CAAC,GAAW,EAAA;IACzC,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC;SAEe,0BAA0B,CACtC,UAAoB,EACpB,YAAsB,EACtB,eAAuB,EAAA;AAEvB,IAAA,IAAI,CAAC,UAAU,IAAI,CAAA,UAAU,KAAA,IAAA,IAAV,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAV,UAAU,CAAE,MAAM,MAAK,CAAC,EAAE;AACzC,QAAA,OAAO,KAAK,CAAC;AAChB,KAAA;IAED,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAEnD,IAAI,CAAA,YAAY,KAAA,IAAA,IAAZ,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZ,YAAY,CAAE,MAAM,IAAG,CAAC,EAAE;;;QAG1B,MAAM,eAAe,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;QAC3C,MAAM,6BAA6B,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,KAAI;YAClE,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACxC,YAAA,OAAO,cAAc,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;AACvD,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,6BAA6B,EAAE;AAC/B,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;AACJ,KAAA;AAED,IAAA,MAAM,0BAA0B,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,eAAe,CAAC,CAAC;AACrF,IAAA,OAAO,0BAA0B,CAAC;AACpC,CAAC;AAEH,SAAS,cAAc,CAAC,SAAmB,EAAE,QAAkB,EAAA;;;IAGvD,MAAM,iBAAiB,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;IAC5C,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;AAE1C,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC9C,QAAA,IAAI,gBAAgB,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;AAC9B,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;AACD,QAAA,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;AAC/E,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;AACJ,KAAA;AACD,IAAA,OAAO,IAAI,CAAC;;;;;;;;;;AAYpB;;MCrCa,2BAA2B,CAAA;IAQpC,IACI,2BAA2B,CAAC,KAAe,EAAA;AAC3C,QAAA,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;KAC7C;AACD,IAAA,IAAI,2BAA2B,GAAA;QAC3B,OAAO,IAAI,CAAC,4BAA4B,CAAC;KAC5C;AA6BD,IAAA,WAAA,CAAoB,OAAe,EAAA;AAAf,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;AA1CnC;;;;;AAKG;AACK,QAAA,IAA4B,CAAA,4BAAA,GAAa,EAAE,CAAC;AAS3C,QAAA,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;AAClB,QAAA,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;AAClB,QAAA,IAAiB,CAAA,iBAAA,GAAW,EAAE,CAAC;AAC/B,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAChB,QAAA,IAA8B,CAAA,8BAAA,GAAG,KAAK,CAAC;AACvC,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AACjB,QAAA,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;AACpB,QAAA,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC;AAGnC,QAAA,IAAA,CAAA,oBAAoB,GAA+C,IAAI,SAAS,EAAmC,CAAC;AAEpH,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK,CAAC;AAExB,QAAA,IAAgB,CAAA,gBAAA,GAAG,SAAS,CAAC;AAC7B,QAAA,IAAkB,CAAA,kBAAA,GAAG,WAAW,CAAC;AAEjC;;AAEG;AACH,QAAA,IAAU,CAAA,UAAA,GAAa,EAAE,CAAC;AAElB,QAAA,IAAA,CAAA,YAAY,GAAkB,IAAI,OAAO,EAAQ,CAAC;AAEnD,QAAA,IAAa,CAAA,aAAA,GAAY,KAAK,CAAC;KAGC;IAEvC,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CACpB,MAAM,CAAC,CAAC,KAAU,KAAK,KAAK,YAAY,aAAa,CAAC,EACtD,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAC/B,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;YAClB,IAAI,KAAK,YAAY,aAAa,EAAE;gBAChC,MAAM,WAAW,GAAG,IAAI,CAAC,8BAA8B,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC;gBACnG,MAAM,KAAK,GAAa,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC/E,gBAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACxB,gBAAA,IAAI,CAAC,aAAa,GAAG,0BAA0B,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,2BAA2B,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC9H,aAAA;AACL,SAAC,CAAC,CAAC;KACN;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;AACzB,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;KAChC;AAED,IAAA,QAAQ,CAAC,CAAM,EAAA;QACX,MAAM,cAAc,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC;QACxD,MAAM,oBAAoB,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC9D,QAAA,CAAC,CAAC,MAAM,GAAG,oBAAoB,CAAC;AAEhC,QAAA,cAAc,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAK;YAC/C,cAAc,CAAC,mBAAmB,CAAC,YAAY,EAAE,MAAK,GAAG,CAAC,CAAC;AAC3D,YAAA,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AAEvB,SAAC,CAAC,CAAC;KAEN;;yHA3EQ,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;6GAA3B,2BAA2B,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,2BAAA,EAAA,6BAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,8BAAA,EAAA,gCAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,SAAA,EAyBnB,+BAA+B,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9CpD,i4EAgEA,EAAA,MAAA,EAAA,CAAA,y3DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,qBAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,WAAA,EAAA,QAAA,EAAA,OAAA,EAAA,eAAA,EAAA,cAAA,EAAA,SAAA,EAAA,OAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,gCAAA,EAAA,sBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,0BAAA,EAAA,YAAA,EAAA,yBAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,aAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FD3Ca,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBALvC,SAAS;+BACI,sBAAsB,EAAA,QAAA,EAAA,i4EAAA,EAAA,MAAA,EAAA,CAAA,y3DAAA,CAAA,EAAA,CAAA;+FAa5B,2BAA2B,EAAA,CAAA;sBAD9B,KAAK;gBAQG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,8BAA8B,EAAA,CAAA;sBAAtC,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBAGN,oBAAoB,EAAA,CAAA;sBADnB,eAAe;uBAAC,+BAA+B,CAAA;;;MEvCvC,+BAA+B,CAAA;AAGxC,IAAA,WAAA,GAAA;AACI,QAAA,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC;KAC9B;AAED,IAAA,QAAQ,MAAW;;6HAPV,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA/B,+BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,+BAA+B,gGCP5C,qIAIM,EAAA,MAAA,EAAA,CAAA,qHAAA,CAAA,EAAA,CAAA,CAAA;4FDGO,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAL3C,SAAS;+BACI,0BAA0B,EAAA,QAAA,EAAA,qIAAA,EAAA,MAAA,EAAA,CAAA,qHAAA,CAAA,EAAA,CAAA;0EAK3B,OAAO,EAAA,CAAA;sBAAf,KAAK;;;MEAG,kCAAkC,CAAA;AAW7C,IAAA,WAAA,GAAA;AATW,QAAA,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;AAClB,QAAA,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;AAClB,QAAA,IAAO,CAAA,OAAA,GAAW,QAAQ,CAAA;AAC1B,QAAA,IAAgB,CAAA,gBAAA,GAAG,EAAE,CAAC;AACtB,QAAA,IAAoB,CAAA,oBAAA,GAAG,IAAI,CAAC;AAG9B,QAAA,IAAgB,CAAA,gBAAA,GAAG,cAAc,CAAC;KAE1B;IAEjB,QAAQ,GAAA;KACP;IAED,QAAQ,GAAA;QACN,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;KACtC;;gIAlBU,kCAAkC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlC,kCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kCAAkC,oNCR/C,wjCA6BM,EAAA,MAAA,EAAA,CAAA,2FAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDrBO,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAL9C,SAAS;+BACE,8BAA8B,EAAA,QAAA,EAAA,wjCAAA,EAAA,MAAA,EAAA,CAAA,2FAAA,CAAA,EAAA,CAAA;0EAM7B,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;;;MERG,yBAAyB,CAAA;AAElC,IAAA,SAAS,CAAC,UAAoB,EAAE,GAAG,IAAe,EAAA;AAC9C,QAAA,IAAI,CAAC,UAAU,IAAI,CAAA,UAAU,KAAA,IAAA,IAAV,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAV,UAAU,CAAE,MAAM,MAAK,CAAC,EAAE;AACzC,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;AACD,QAAA,MAAM,YAAY,GAAa,IAAI,CAAC,CAAC,CAAa,CAAC;AACnD,QAAA,MAAM,eAAe,GAAY,IAAI,CAAC,CAAC,CAAY,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAErE,IAAI,iCAAiC,GAAG,KAAK,CAAC;AAC9C,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;AAClB,YAAA,iCAAiC,GAAG,IAAI,CAAC,CAAC,CAAY,CAAC;AAC1D,SAAA;QAED,MAAM,MAAM,GAAG,0BAA0B,CAAC,UAAU,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;AAErF,QAAA,IAAI,iCAAiC,EAAE;AACnC,YAAA,OAAO,CAAC,IAAI,CACR,gFAAgF,UAAU,CAAA,2CAAA,EAA8C,YAAY,KAAZ,IAAA,IAAA,YAAY,KAAZ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,YAAY,CAAE,IAAI,CAAC,IAAI,CAAC,CAAA,mCAAA,CAAqC,CACxM,CAAC;AACL,SAAA;AAED,QAAA,OAAO,MAAM,CAAC;KACjB;;uHAvBQ,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;qHAAzB,yBAAyB,EAAA,IAAA,EAAA,uBAAA,EAAA,CAAA,CAAA;4FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,uBAAuB;iBAC9B,CAAA;;;MCKY,iCAAiC,CAAA;AA8B1C,IAAA,WAAA,GAAA;AA7BS,QAAA,IAAO,CAAA,OAAA,GAA6B,IAAI,CAAC;AACzC,QAAA,IAAkB,CAAA,kBAAA,GAAwB,EAAE,CAAC;AAE7C,QAAA,IAAe,CAAA,eAAA,GAAkB,IAAI,CAAC;AACrC,QAAA,IAAA,CAAA,qBAAqB,GAAgC,IAAI,YAAY,EAAiB,CAAC;AACxF,QAAA,IAAiB,CAAA,iBAAA,GAAW,EAAE,CAAC;AAE/B,QAAA,IAAW,CAAA,WAAA,GAAY,IAAI,CAAC;AAC5B,QAAA,IAAW,CAAA,WAAA,GAAY,IAAI,CAAC;AAC5B,QAAA,IAAa,CAAA,aAAA,GAAY,KAAK,CAAC;AAE/B,QAAA,IAAW,CAAA,WAAA,GAAW,UAAU,CAAC;AACjC,QAAA,IAAW,CAAA,WAAA,GAAW,SAAS,CAAC;AAEhC,QAAA,IAAqB,CAAA,qBAAA,GAAY,KAAK,CAAC;AACvC,QAAA,IAAoB,CAAA,oBAAA,GAAW,mBAAmB,CAAC;AAElD,QAAA,IAAA,CAAA,YAAY,GAAuB,IAAI,YAAY,EAAQ,CAAC;AAC5D,QAAA,IAAA,CAAA,YAAY,GAAuB,IAAI,YAAY,EAAQ,CAAC;AAE5D,QAAA,IAAA,CAAA,sBAAsB,GAAuB,IAAI,YAAY,EAAQ,CAAC;AAEzE,QAAA,IAAW,CAAA,WAAA,GAAY,KAAK,CAAC;AAE1B,QAAA,IAAa,CAAA,aAAA,GAA6B,IAAI,CAAC;AAE/C,QAAA,IAAe,CAAA,eAAA,GAAG,MAAM,CAAC;AACzB,QAAA,IAAW,CAAA,WAAA,GAAG,SAAS,CAAA;KAEjB;AAEhB,IAAA,QAAQ,MAAW;AAEnB,IAAA,WAAW,CAAC,OAAsB,EAAA;;AAC9B,QAAA,IAAI,OAAO,CAAC,iBAAiB,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,EAAE;AACnF,YAAA,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE;AAC/B,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC;AACrC,aAAA;iBAAM,IAAI,IAAI,CAAC,eAAe,MAAK,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,EAAE,CAAA,EAAE;AAClD,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC;AACrC,aAAA;AAAM,iBAAA;gBACH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC;AAC7G,aAAA;AACJ,SAAA;KACJ;IAEM,cAAc,GAAA;AACjB,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AACzB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;KAC5B;IAEM,cAAc,GAAA;AACjB,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AACzB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;KAC5B;AAEM,IAAA,wBAAwB,CAAC,KAAiB,EAAA;QAC7C,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC;KACtC;AAEM,IAAA,uBAAuB,CAAC,EAAiB,EAAA;AAC5C,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEpC,UAAU,CAAC,MAAK;AACZ,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC5B,EAAE,GAAG,CAAC,CAAC;KACX;;+HAnEQ,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjC,iCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iCAAiC,uoBCV9C,ijIAuHc,EAAA,MAAA,EAAA,CAAA,usBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,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,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,8FAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,iBAAA,EAAA,OAAA,CAAA,EAAA,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,WAAA,EAAA,IAAA,EAAAE,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,QAAA,EAAA,MAAA,EAAA,cAAA,EAAA,eAAA,EAAA,sBAAA,EAAA,gBAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,qBAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,WAAA,EAAA,QAAA,EAAA,OAAA,EAAA,eAAA,EAAA,cAAA,EAAA,SAAA,EAAA,OAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,gCAAA,EAAA,sBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,0BAAA,EAAA,YAAA,EAAA,yBAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,aAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FD7GD,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAL7C,SAAS;+BACI,6BAA6B,EAAA,QAAA,EAAA,ijIAAA,EAAA,MAAA,EAAA,CAAA,usBAAA,CAAA,EAAA,CAAA;0EAK9B,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBAEG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACI,qBAAqB,EAAA,CAAA;sBAA9B,MAAM;gBACE,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBAEG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAEG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBACG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBAEI,YAAY,EAAA,CAAA;sBAArB,MAAM;gBACG,YAAY,EAAA,CAAA;sBAArB,MAAM;gBAEG,sBAAsB,EAAA,CAAA;sBAA/B,MAAM;;;MEtBE,uBAAuB,CAAA;AAkBhC,IAAA,WAAA,GAAA;AAZgB,QAAA,IAAe,CAAA,eAAA,GAAG,KAAK,CAAC;AAIxB,QAAA,IAAqB,CAAA,qBAAA,GAAW,EAAE,CAAC;AACnC,QAAA,IAAuB,CAAA,uBAAA,GAAW,EAAE,CAAC;AAErC,QAAA,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;AAExB,QAAA,IAAA,CAAA,eAAe,GAA+B,IAAI,YAAY,EAAgB,CAAC;AAC/E,QAAA,IAAA,CAAA,WAAW,GAAuB,IAAI,YAAY,EAAQ,CAAC;KAE5D;AAEhB,IAAA,QAAQ,MAAW;AAET,IAAA,cAAc,CAAC,OAAqB,EAAA;AAC1C,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACtC;IAES,aAAa,GAAA;QACnB,IAAI,IAAI,CAAE,gBAAgB,EAAE;AACxB,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;AAC3B,SAAA;KACJ;;qHA9BQ,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,ijBCTpC,g+BA+BA,EAAA,MAAA,EAAA,CAAA,oJAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDtBa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;+BACI,kBAAkB,EAAA,QAAA,EAAA,g+BAAA,EAAA,MAAA,EAAA,CAAA,oJAAA,CAAA,EAAA,CAAA;0EAMZ,OAAO,EAAA,CAAA;sBAAtB,KAAK;gBACU,WAAW,EAAA,CAAA;sBAA1B,KAAK;gBACU,WAAW,EAAA,CAAA;sBAA1B,KAAK;gBAEU,eAAe,EAAA,CAAA;sBAA9B,KAAK;gBACU,sBAAsB,EAAA,CAAA;sBAArC,KAAK;gBACU,2BAA2B,EAAA,CAAA;sBAA1C,KAAK;gBACU,yBAAyB,EAAA,CAAA;sBAAxC,KAAK;gBACU,qBAAqB,EAAA,CAAA;sBAApC,KAAK;gBACU,uBAAuB,EAAA,CAAA;sBAAtC,KAAK;gBAEU,gBAAgB,EAAA,CAAA;sBAA/B,KAAK;gBAEW,eAAe,EAAA,CAAA;sBAA/B,MAAM;gBACU,WAAW,EAAA,CAAA;sBAA3B,MAAM;;;AEFX;AACA;AACA;AACA;AAEA,MAAM,UAAU,GAAG;IACf,2BAA2B;IAC3B,+BAA+B;IAC/B,+BAA+B;IAC/B,4BAA4B;IAC5B,+BAA+B;IAC/B,kCAAkC;IAClC,iCAAiC;IACjC,uBAAuB;CAC1B,CAAA;MAuBY,mBAAmB,CAAA;;iHAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,iBA/B5B,2BAA2B;QAC3B,+BAA+B;QAC/B,+BAA+B;QAC/B,4BAA4B;QAC5B,+BAA+B;QAC/B,kCAAkC;QAClC,iCAAiC;AACjC,QAAA,uBAAuB,EAMrB,yBAAyB;AACzB,QAAA,iCAAiC,aAGnC,YAAY;QACZ,WAAW;QACX,YAAY;QACZ,eAAe;QACf,oBAAoB;QACpB,iBAAiB;QACjB,eAAe;QACf,kBAAkB;AAClB,QAAA,gBAAgB,aAzBhB,2BAA2B;QAC3B,+BAA+B;QAC/B,+BAA+B;QAC/B,4BAA4B;QAC5B,+BAA+B;QAC/B,kCAAkC;QAClC,iCAAiC;QACjC,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAwBd,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAd5B,YAAY;QACZ,WAAW;QACX,YAAY;QACZ,eAAe;QACf,oBAAoB;QACpB,iBAAiB;QACjB,eAAe;QACf,kBAAkB;QAClB,gBAAgB,CAAA,EAAA,CAAA,CAAA;4FAMP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBArB/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;AACV,wBAAA,GAAG,UAAU;wBACb,yBAAyB;wBACzB,iCAAiC;AACpC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,YAAY;wBACZ,eAAe;wBACf,oBAAoB;wBACpB,iBAAiB;wBACjB,eAAe;wBACf,kBAAkB;wBAClB,gBAAgB;AACjB,qBAAA;AACD,oBAAA,OAAO,EAAE;AACP,wBAAA,GAAG,UAAU;AACd,qBAAA;iBACF,CAAA;;;AC3DD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"spicainternational-ngx-sds-components-src-lib-navigation.mjs","sources":["../../../projects/ngx-sds-components/src/lib/navigation/navigation-separator/navigation-separator.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-separator/navigation-separator.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation-header/navigation-header.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-header/navigation-header.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation-route-link/navigation-route-link.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-route-link/navigation-route-link.component.html","../../../projects/ngx-sds-components/src/lib/navigation/utils/navigation.utils.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-group/navigation-group.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-group/navigation-group.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation-container/navigation-container.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-container/navigation-container.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation-external-link/navigation-external-link.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-external-link/navigation-external-link.component.html","../../../projects/ngx-sds-components/src/lib/navigation/pipes/navigation-route-active.pipe.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.html","../../../projects/ngx-sds-components/src/lib/navigation/product-home/product-home.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/product-home/product-home.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation.module.ts","../../../projects/ngx-sds-components/src/lib/navigation/spicainternational-ngx-sds-components-src-lib-navigation.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sds-navigation-separator',\r\n templateUrl: './navigation-separator.component.html',\r\n styleUrls: ['./navigation-separator.component.scss']\r\n})\r\nexport class SdsNavigationSeparatorComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"sds-navigation-separator nav-separator\"></div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sds-navigation-header',\r\n templateUrl: './navigation-header.component.html',\r\n styleUrls: ['./navigation-header.component.scss'],\r\n})\r\nexport class SdsNavigationHeaderComponent implements OnInit {\r\n @Input() text: string;\r\n\r\n constructor() {\r\n this.text = '';\r\n }\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<div class=\"sds-navigation-header\">\r\n {{ text }}\r\n</div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sds-navigation-route-link',\r\n templateUrl: './navigation-route-link.component.html',\r\n styleUrls: ['./navigation-route-link.component.scss'],\r\n})\r\nexport class SdsNavigationRouteLinkComponent implements OnInit {\r\n /**\r\n * This variable is used as 'routerLink' attribute in the anchor tag.\r\n * \r\n * Is named 'link' to avoid conflict with the 'routerLink' directive.\r\n */\r\n @Input() link: string = '';\r\n @Input() text: string = '';\r\n\r\n @Input() additionalInfo: string | undefined = undefined;\r\n\r\n @Input() disabled = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<!-- class=\"sds-navigation-router-link sidebar-item-x d-flex justify-content-start align-items-center sidebar-item-x py-1\"> -->\r\n<div \r\n class=\"sds-navigation-router-link sds-navigation-item-container\"\r\n [class.disabled]=\"disabled\"\r\n routerLinkActive=\"active\">\r\n <a class=\"sds-navigation-item-content w-100\" [routerLink]=\"link\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"sds-navigation-icon\" >\r\n <ng-content select=\"[navigationIcon]\"></ng-content>\r\n </div>\r\n <div class=\"sds-navigation-text user-select-none\">\r\n {{ text }}\r\n </div>\r\n <span *ngIf=\"additionalInfo\"\r\n class=\"sds-navigation-router-link-additional-info badge rounded-pill bg-warning text-body\"\r\n >{{ additionalInfo }}</span\r\n > \r\n </div>\r\n </a>\r\n</div>","export function removeQueryParams(url: string): string {\r\n return url.split('?')[0];\r\n}\r\n\r\nexport function isUrlPartOfNavigationGroup(\r\n currentUrl: string[], \r\n nestedRoutes: string[], \r\n defaultGroupUrl: string): boolean {\r\n\r\n if (!currentUrl || currentUrl?.length === 0) {\r\n return false;\r\n }\r\n \r\n defaultGroupUrl = defaultGroupUrl.replace('/', '');\r\n \r\n if (nestedRoutes?.length > 0) {\r\n // Nested routes are provided. We should find out if current url is on the list of\r\n // the provided nested routes \r\n const currentUrlParts = currentUrl.slice();//.reverse();\r\n const routeItemIsPartOfNestedRoutes = nestedRoutes.some((routeName) => {\r\n const routeParts = routeName.split('/');//.reverse();\r\n return isSubsetOrSame(currentUrlParts, routeParts);\r\n });\r\n if (routeItemIsPartOfNestedRoutes) {\r\n return true;\r\n }\r\n }\r\n\r\n const currentUrlContainsGroupUrl = currentUrl.some(path => path === defaultGroupUrl);\r\n return currentUrlContainsGroupUrl;\r\n }\r\n\r\nfunction isSubsetOrSame(mainArray: string[], subArray: string[]): boolean {\r\n // if we have super wildcard we need to check reversed array\r\n // if (subArray.includes('**')) {\r\n const reversedMainArray = mainArray.slice(); //.reverse();\r\n const reversedSubArray = subArray.slice(); //.reverse();\r\n\r\n for (let i = 0; i < reversedSubArray.length; i++) {\r\n if (reversedSubArray[i] === '**') {\r\n return true;\r\n }\r\n if ((reversedMainArray[i] !== reversedSubArray[i]) && reversedSubArray[i] !== '*') {\r\n return false;\r\n }\r\n }\r\n return true;\r\n\r\n // } else {\r\n // if (subArray.length > mainArray.length) return false;\r\n\r\n // for (let i = 0; i < subArray.length; i++) {\r\n // if ((mainArray[i] !== subArray[i]) && subArray[i] !== '*') {\r\n // return false;\r\n // }\r\n // }\r\n // return true;\r\n // }\r\n}","import {\r\n AfterContentInit,\r\n Component,\r\n ContentChildren,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n QueryList,\r\n} from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { SdsNavigationRouteLinkComponent } from '../navigation-route-link/navigation-route-link.component';\r\n\r\nimport { faAngleUp, faAngleDown } from '@fortawesome/pro-regular-svg-icons';\r\nimport { filter, Subject, takeUntil } from 'rxjs';\r\nimport { isUrlPartOfNavigationGroup, removeQueryParams } from '../utils/navigation.utils';\r\n\r\n@Component({\r\n selector: 'sds-navigation-group',\r\n templateUrl: './navigation-group.component.html',\r\n styleUrls: ['./navigation-group.component.scss'],\r\n})\r\nexport class SdsNavigationGroupComponent implements OnInit, OnDestroy {\r\n /**\r\n * List of paths allowed/expected within this module.\r\n * These are paths that are not accessible through child navigation\r\n * elements, but through links in other parts of the application (e.g. link\r\n * on form)\r\n */\r\n private _navigationGroupNestedRoutes: string[] = [];\r\n @Input()\r\n set navigationGroupNestedRoutes(value: string[]) {\r\n this._navigationGroupNestedRoutes = value;\r\n }\r\n get navigationGroupNestedRoutes() {\r\n return this._navigationGroupNestedRoutes;\r\n }\r\n\r\n @Input() text: string = '';\r\n @Input() icon: string = '';\r\n @Input() defaultRouterLink: string = '';\r\n @Input() reverse = false;\r\n @Input() ignoreQueryParamsInActiveRoute = false;\r\n @Input() disabled = false;\r\n @Input() showPopover = false;\r\n @Input() showPopoverHeader = false;\r\n\r\n @ContentChildren(SdsNavigationRouteLinkComponent)\r\n routerLinkComponents: QueryList<SdsNavigationRouteLinkComponent> = new QueryList<SdsNavigationRouteLinkComponent>();\r\n\r\n active: boolean = false; \r\n\r\n faAngleUpRegular = faAngleUp;\r\n faAngleDownRegular = faAngleDown;\r\n\r\n /**\r\n * Current app URL (e.g. ['layout-showcase', 'default'])\r\n */\r\n currentUrl: string[] = [];\r\n\r\n private _unsubscribe: Subject<void> = new Subject<void>();\r\n \r\n public isGroupActive: boolean = false;\r\n\r\n\r\n constructor(private _router: Router) {}\r\n\r\n ngOnInit(): void {\r\n this._router.events.pipe(\r\n filter((event: any) => event instanceof NavigationEnd),\r\n takeUntil(this._unsubscribe)\r\n ).subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n const activeRoute = this.ignoreQueryParamsInActiveRoute ? removeQueryParams(event.url) : event.url;\r\n const route: string[] = activeRoute.split('/').filter(item => item.length > 0);\r\n this.currentUrl = route;\r\n this.isGroupActive = isUrlPartOfNavigationGroup(this.currentUrl, this.navigationGroupNestedRoutes, this.defaultRouterLink);\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unsubscribe.next();\r\n this._unsubscribe.complete();\r\n }\r\n\r\n onHiding(e: any) {\r\n const popoverContent = e.component.content().parentNode;\r\n const isMouseInsidePopover = popoverContent.matches(':hover');\r\n e.cancel = isMouseInsidePopover;\r\n\r\n popoverContent.addEventListener('mouseleave', () => {\r\n popoverContent.removeEventListener('mouseleave', () => {});\r\n e.component.hide();\r\n \r\n });\r\n \r\n }\r\n}\r\n","<div \r\n #navigationGroup\r\n class=\"sds-navigation-group sds-navigation-item-container d-flex\"\r\n [class.flex-column-reverse]=\"reverse\"\r\n [class.flex-column]=\"!reverse\"\r\n [class.disabled]=\"disabled\"\r\n [class.active]=\"isGroupActive\"\r\n >\r\n <a \r\n class=\"w-100 sds-navigation-item-content\"\r\n style=\"cursor: pointer\"\r\n [routerLink]=\"[defaultRouterLink]\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"sds-navigation-icon\" >\r\n <ng-content select=\"[navigationIcon]\"></ng-content>\r\n </div>\r\n <div class=\"sds-navigation-text user-select-none\">\r\n {{ text }}\r\n </div>\r\n <div class=\"text-right\">\r\n <fa-icon *ngIf=\"!reverse\" [icon]=\"faAngleDownRegular\"></fa-icon>\r\n <fa-icon *ngIf=\"reverse\" [icon]=\"faAngleUpRegular\"></fa-icon>\r\n </div>\r\n </div>\r\n </a>\r\n\r\n <div *ngIf=\"isGroupActive\" class=\"sds-navigation-group-items\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n\r\n<ng-container *ngIf=\"showPopover && !isGroupActive\">\r\n <dx-popover\r\n [target]=\"navigationGroup\"\r\n [showEvent]=\"{ name: 'dxhoverstart', delay: 100 }\"\r\n [hideEvent]=\"{ name: 'dxhoverend', delay: 100 }\"\r\n (onHiding)=\"onHiding($event)\"\r\n width=\"15rem\"\r\n [wrapperAttr]=\"{ class: 'sds-navigation-group-popover-wrapper sds-dx-popup-content-padding-2' }\"\r\n [hideOnOutsideClick]=\"true\"\r\n [hideOnParentScroll]=\"true\"\r\n [animation]=\"{}\"\r\n >\r\n\r\n <dxo-position\r\n my=\"top left\"\r\n at=\"top right\"\r\n [of]=\"navigationGroup\"\r\n offset=\"-12 0\"\r\n >\r\n </dxo-position>\r\n\r\n <div *ngIf=\"showPopoverHeader\" class=\"group-header user-select-none\">\r\n {{ text }}\r\n </div>\r\n <div \r\n class=\"sds-navigation-container sds-navigation-popover-container sds-scrollbar sds-scrollbar-thin sds-scrollbar-no-hide\"\r\n >\r\n <div class=\"sds-navigation-group-items\">\r\n <ng-content select=\"[popoverContent]\"></ng-content>\r\n </div>\r\n </div>\r\n </dx-popover>\r\n</ng-container>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sds-navigation-container',\r\n templateUrl: './navigation-container.component.html',\r\n styleUrls: ['./navigation-container.component.scss'],\r\n})\r\nexport class SdsNavigationContainerComponent implements OnInit {\r\n @Input() product: string;\r\n\r\n constructor() {\r\n this.product = 'all-hours';\r\n }\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<div \r\n class=\"sds-navigation-container\"\r\n [class]=\"'product-' + product\">\r\n <ng-content></ng-content>\r\n</div>","import { Component, Input, OnInit } from '@angular/core';\r\nimport { faExternalLink } from '@fortawesome/pro-regular-svg-icons';\r\n\r\n@Component({\r\n selector: 'sds-navigation-external-link',\r\n templateUrl: './navigation-external-link.component.html',\r\n styleUrls: ['./navigation-external-link.component.scss']\r\n})\r\nexport class SdsNavigationExternalLinkComponent implements OnInit {\r\n\r\n @Input() link: string = '';\r\n @Input() text: string = '';\r\n @Input() tabName: string = '_blank'\r\n @Input() externalLinkHint = '';\r\n @Input() showExternalLinkIcon = true;\r\n\r\n\r\n public externalLinkIcon = faExternalLink;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n openLink(){\r\n window.open(this.link, this.tabName);\r\n }\r\n\r\n}\r\n","<div \r\n class=\"sds-navigation-external-link sds-navigation-item-container\">\r\n <a class=\"w-100 sds-navigation-item-content\" (click)=\"openLink()\" >\r\n <div class=\"d-flex align-items-center position-relative\">\r\n <div class=\"sds-navigation-icon\" >\r\n <ng-content select=\"[navigationIcon]\"></ng-content>\r\n </div>\r\n\r\n <div class=\"sds-navigation-text\">\r\n <span>{{ text }}</span>\r\n </div>\r\n\r\n <div \r\n class=\"sds-navigation-external-link-info-container\">\r\n <fa-icon \r\n class=\"sds-navigation-external-link-info-icon\"\r\n *ngIf=\"showExternalLinkIcon\"\r\n\r\n [icon]=\"externalLinkIcon\"\r\n [size]=\"'xs'\"\r\n [title]=\"externalLinkHint\"\r\n >\r\n </fa-icon>\r\n </div> \r\n \r\n <ng-content></ng-content>\r\n\r\n </div>\r\n </a>\r\n</div>","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { isUrlPartOfNavigationGroup } from '../utils/navigation.utils';\r\n\r\n@Pipe({\r\n name: 'navigationRouteActive'\r\n})\r\nexport class NavigationRouteActivePipe implements PipeTransform {\r\n\r\n transform(currentUrl: string[], ...args: unknown[]): boolean {\r\n if (!currentUrl || currentUrl?.length === 0) {\r\n return false;\r\n }\r\n const nestedRoutes: string[] = args[0] as string[];\r\n const defaultGroupUrl: string = (args[1] as string).replace('/', '');\r\n\r\n let showWarningForMissingNestedRoutes = false;\r\n if (args.length >= 3) {\r\n showWarningForMissingNestedRoutes = args[2] as boolean;\r\n } \r\n\r\n const isPart = isUrlPartOfNavigationGroup(currentUrl, nestedRoutes, defaultGroupUrl);\r\n\r\n if (showWarningForMissingNestedRoutes) {\r\n console.warn(\r\n `Nested routes were defined in sds-navigation-group component, however route \"${currentUrl}\" is not a part of the nested routes list (${nestedRoutes?.join(', ')}). Maybe you forgot to include it? `\r\n );\r\n }\r\n\r\n return isPart;\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, OnChanges, Output, SimpleChanges } from '@angular/core';\r\nimport { NavigationProfile } from './navigation-profile.model';\r\nimport { faSignOut, faUser } from '@fortawesome/pro-regular-svg-icons';\r\n\r\n\r\n@Component({\r\n selector: 'sds-navigation-user-profile',\r\n templateUrl: './navigation-user-profile.component.html',\r\n styleUrls: ['./navigation-user-profile.component.scss'],\r\n})\r\nexport class SdsNavigationUserProfileComponent implements OnInit, OnChanges {\r\n @Input() profile: NavigationProfile | null = null;\r\n @Input() additionalProfiles: NavigationProfile[] = [];\r\n\r\n @Input() activeProfileId: string | null = null;\r\n @Output() activeProfileIdChange: EventEmitter<string | null> = new EventEmitter<string | null>();\r\n @Input() activeProfileInfo: string = '';\r\n\r\n @Input() showSignOut: boolean = true;\r\n @Input() showProfile: boolean = true;\r\n @Input() showTopBorder: boolean = false;\r\n\r\n @Input() signOutText: string = 'Sign out';\r\n @Input() profileText: string = 'Profile';\r\n\r\n @Input() showNotificationBadge: boolean = false;\r\n @Input() newNotificationsText: string = 'New Notifications';\r\n\r\n @Output() profileClick: EventEmitter<void> = new EventEmitter<void>();\r\n @Output() signOutClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output() notificationBadgeClick: EventEmitter<void> = new EventEmitter<void>();\r\n \r\n public showOptions: boolean = false;\r\n\r\n protected activeProfile: NavigationProfile | null = null;\r\n\r\n protected userProfileIcon = faUser;\r\n protected signOutIcon = faSignOut\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['activeProfileId'] || changes['profile'] || changes['additionalProfiles']) {\r\n if (this.activeProfileId === null) {\r\n this.activeProfile = this.profile;\r\n } else if (this.activeProfileId === this.profile?.id) {\r\n this.activeProfile = this.profile;\r\n } else {\r\n this.activeProfile = this.additionalProfiles.find(profile => profile.id === this.activeProfileId) || null;\r\n }\r\n }\r\n }\r\n\r\n public onProfileClick(): void {\r\n this.showOptions = false;\r\n this.profileClick.emit();\r\n }\r\n\r\n public onSignOutClick(): void {\r\n this.showOptions = false;\r\n this.signOutClick.emit();\r\n }\r\n\r\n public onNotificationBadgeClick(event: MouseEvent): void {\r\n event.stopPropagation();\r\n this.notificationBadgeClick.emit();\r\n }\r\n\r\n public onActiveProfileIdChange(id: string | null) {\r\n this.activeProfileIdChange.emit(id);\r\n \r\n setTimeout(() => {\r\n this.showOptions = false;\r\n }, 100);\r\n }\r\n}\r\n","<div class=\"d-flex flex-row align-items-center gap-2 sds-navigation-user-profile-container user-select-none\"\r\n (click)=\"showOptions = !showOptions\">\r\n\r\n <div class=\"position-relative\">\r\n\r\n <sds-avatar\r\n [text]=\"activeProfile?.name\"\r\n [colorKey]=\"activeProfile?.id\"\r\n [pictureUri]=\"activeProfile?.pictureUri\"\r\n > \r\n </sds-avatar>\r\n\r\n <span \r\n *ngIf=\"showNotificationBadge\"\r\n class=\"position-absolute notification-badge translate-middle bg-danger border border-light rounded-circle\"\r\n (click)=\"onNotificationBadgeClick($event)\">\r\n <span class=\"visually-hidden\">{{newNotificationsText}}</span>\r\n </span>\r\n </div>\r\n\r\n\r\n <div class=\"sds-flex-column\">\r\n <span\r\n #nameElement \r\n class=\"truncate-two-lines\">\r\n {{activeProfile?.name}}\r\n </span> \r\n\r\n <span class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{activeProfileInfo}}\r\n </span>\r\n </div>\r\n\r\n\r\n</div> \r\n\r\n<dx-popover\r\n [target]=\"nameElement\"\r\n minWidth=\"12.5rem\"\r\n maxWidth=\"20rem\"\r\n [(visible)]=\"showOptions\"\r\n [wrapperAttr]=\"{ class: 'sds-navigation-user-profile-popover sds-dx-popup-no-arrow sds-dx-popup-content-padding-1' }\"\r\n >\r\n <div>\r\n <ng-container \r\n [ngTemplateOutlet]=\"profileTemplate\"\r\n [ngTemplateOutletContext]=\"{ profile: profile, showRadio: additionalProfiles && additionalProfiles.length > 1 }\">\r\n </ng-container>\r\n\r\n <ng-container *ngFor=\"let profile of additionalProfiles\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"profileTemplate\"\r\n [ngTemplateOutletContext]=\"{ profile: profile, showRadio: additionalProfiles && additionalProfiles.length > 1 }\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n \r\n <ng-content></ng-content>\r\n\r\n <div class=\"border-top\"></div>\r\n\r\n <ul \r\n class=\"list-unstyled sds-navigation-user-profile-actions mb-0 mt-2\" \r\n >\r\n <li *ngIf=\"showProfile\">\r\n <a \r\n class=\"d-block text-black\"\r\n (click)=\"onProfileClick()\" \r\n >\r\n <fa-icon class=\"me-2\" [fixedWidth]=\"true\" [size]=\"'sm'\" [icon]=\"userProfileIcon\"></fa-icon>\r\n <span>{{profileText}}</span>\r\n </a>\r\n </li>\r\n\r\n <li>\r\n <a \r\n *ngIf=\"showSignOut\"\r\n class=\"d-block text-black\"\r\n (click)=\"onSignOutClick()\" \r\n >\r\n <fa-icon class=\"me-2\" [fixedWidth]=\"true\" [size]=\"'sm'\" [icon]=\"signOutIcon\"></fa-icon>\r\n <span>{{signOutText}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n\r\n</dx-popover>\r\n\r\n\r\n<ng-template #profileTemplate let-profile=\"profile\" let-showRadio=\"showRadio\">\r\n\r\n <label class=\"d-flex flex-row gap-3 align-items-center p-2 ps-2 pe-3 rounded-1\">\r\n <sds-avatar\r\n [text]=\"profile.name\"\r\n [colorKey]=\"profile.id\"\r\n [pictureUri]=\"profile.pictureUri\"\r\n [size]=\"2.4\"\r\n > \r\n </sds-avatar>\r\n\r\n <div \r\n class=\"flex-grow-1 flex-shrink-1 text-body\"\r\n [style.minWidth.px]=\"1\"\r\n >\r\n <span class=\"sds-fw-500 sds-fs-100 text-truncate\">\r\n {{profile.name}}\r\n </span>\r\n <div class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{profile.info}}\r\n </div>\r\n </div>\r\n\r\n <input \r\n *ngIf=\"showRadio\"\r\n class=\"mx-1\" type=\"radio\" name=\"profile\" value=\"{{profile.id}}\" \r\n [ngModel]=\"activeProfileId\" \r\n (ngModelChange)=\"onActiveProfileIdChange($event)\" />\r\n </label>\r\n</ng-template>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ProductModel } from '@spicainternational/ngx-sds-components/src/lib/app-switcher';\r\n\r\n\r\n@Component({\r\n selector: 'sds-product-home',\r\n templateUrl: './product-home.component.html',\r\n styleUrls: ['./product-home.component.scss'],\r\n})\r\nexport class SdsProductHomeComponent implements OnInit {\r\n\r\n @Input() public logoUrl?: string;\r\n @Input() public logoAltText?: string;\r\n @Input() public moduleTitle?: string;\r\n\r\n @Input() public showAppSwitcher = false;\r\n @Input() public appSwitcherProductCode: Number | undefined;\r\n @Input() public appSwitcherUserProductCodes: Number[] | undefined;\r\n @Input() public appSwitcherTenantProducts: ProductModel[] | undefined;\r\n @Input() public appSwitcherSwitchText: string = '';\r\n @Input() public appSwitcherDiscoverText: string = ''; \r\n\r\n @Input() public allowHeaderClick = false;\r\n\r\n @Output() public productSwitched: EventEmitter<ProductModel> = new EventEmitter<ProductModel>(); \r\n @Output() public headerClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n protected onProductClick(product: ProductModel): void {\r\n this.productSwitched.emit(product);\r\n }\r\n\r\n protected onHeaderClick(): void {\r\n if (this. allowHeaderClick) {\r\n this.headerClick.emit();\r\n }\r\n }\r\n}\r\n","<div class=\"product-header pb-2 mb-2 align-items-start\">\r\n <sds-app-switcher\r\n *ngIf=\"showAppSwitcher\"\r\n class=\"app-switcher\"\r\n [productCode]=\"appSwitcherProductCode\"\r\n [userProductCodes]=\"appSwitcherUserProductCodes\"\r\n [tenantProducts]=\"appSwitcherTenantProducts\"\r\n [switchText]=\"appSwitcherSwitchText\"\r\n [discoverText]=\"appSwitcherDiscoverText\"\r\n (productClick)=\"onProductClick($event)\"\r\n >\r\n </sds-app-switcher>\r\n\r\n <div \r\n class=\"ms-2\"\r\n (click)=\"onHeaderClick()\"\r\n [class.sds-cursor-pointer]=\"allowHeaderClick\"\r\n >\r\n <img \r\n class=\"product-logo\"\r\n [src]=\"logoUrl\" \r\n [alt]=\"logoAltText\"\r\n > \r\n <h6 \r\n *ngIf=\"moduleTitle\"\r\n class=\"mt-2\"\r\n >\r\n {{moduleTitle}}\r\n </h6>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\n\r\nimport { SdsNavigationSeparatorComponent } from './navigation-separator/navigation-separator.component';\r\nimport { SdsNavigationHeaderComponent } from './navigation-header/navigation-header.component';\r\nimport { SdsNavigationGroupComponent } from './navigation-group/navigation-group.component';\r\nimport { SdsNavigationRouteLinkComponent } from './navigation-route-link/navigation-route-link.component';\r\nimport { SdsNavigationContainerComponent } from './navigation-container/navigation-container.component';\r\nimport { SdsNavigationExternalLinkComponent } from './navigation-external-link/navigation-external-link.component';\r\nimport { NavigationRouteActivePipe } from './pipes/navigation-route-active.pipe';\r\nimport { SdsNavigationUserProfileComponent } from './navigation-user-profile/navigation-user-profile.component';\r\nimport { SdsAvatarModule } from '@spicainternational/ngx-sds-components/src/lib/avatar';\r\nimport { DxPopoverModule } from 'devextreme-angular/ui/popover';\r\nimport { SdsProductHomeComponent } from './product-home/product-home.component';\r\nimport { SdsAppSwitcherModule } from '@spicainternational/ngx-sds-components/src/lib/app-switcher';\r\nimport { DxScrollViewModule } from 'devextreme-angular';\r\nimport { SdsTooltipModule } from '@spicainternational/ngx-sds-components/src/lib/tooltip';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n\r\n// import { NavigationGroupComponent } from './navigation-group/navigation-group.component';\r\n// import { NavigationRouteLinkComponent } from './navigation-route-link/navigation-route-link.component';\r\n// import { NavigationSeparatorComponent } from './navigation-separator/navigation-separator.component';\r\n// import { NavigationHeaderComponent } from './navigation-header/navigation-header.component';\r\n\r\nconst components = [\r\n SdsNavigationGroupComponent,\r\n SdsNavigationRouteLinkComponent,\r\n SdsNavigationSeparatorComponent,\r\n SdsNavigationHeaderComponent,\r\n SdsNavigationContainerComponent,\r\n SdsNavigationExternalLinkComponent,\r\n SdsNavigationUserProfileComponent,\r\n SdsProductHomeComponent\r\n]\r\n\r\n@NgModule({\r\n declarations: [\r\n ...components,\r\n NavigationRouteActivePipe,\r\n SdsNavigationUserProfileComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n RouterModule,\r\n SdsAvatarModule,\r\n SdsAppSwitcherModule,\r\n FontAwesomeModule,\r\n DxPopoverModule,\r\n DxScrollViewModule,\r\n SdsTooltipModule\r\n ],\r\n exports: [\r\n ...components\r\n ]\r\n})\r\nexport class SdsNavigationModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1","i3","i4","i5"],"mappings":"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"}
|
|
@@ -341,10 +341,10 @@ class SdsNavigationUserProfileComponent {
|
|
|
341
341
|
}
|
|
342
342
|
}
|
|
343
343
|
SdsNavigationUserProfileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdsNavigationUserProfileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
344
|
-
SdsNavigationUserProfileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SdsNavigationUserProfileComponent, selector: "sds-navigation-user-profile", inputs: { profile: "profile", additionalProfiles: "additionalProfiles", activeProfileId: "activeProfileId", activeProfileInfo: "activeProfileInfo", showSignOut: "showSignOut", showProfile: "showProfile", showTopBorder: "showTopBorder", signOutText: "signOutText", profileText: "profileText", showNotificationBadge: "showNotificationBadge", newNotificationsText: "newNotificationsText" }, outputs: { activeProfileIdChange: "activeProfileIdChange", profileClick: "profileClick", signOutClick: "signOutClick", notificationBadgeClick: "notificationBadgeClick" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"d-flex flex-row align-items-center gap-2 sds-navigation-user-profile-container user-select-none\"\r\n (click)=\"showOptions = !showOptions\">\r\n\r\n <div class=\"position-relative\">\r\n\r\n <sds-avatar\r\n [text]=\"activeProfile?.name\"\r\n [colorKey]=\"activeProfile?.id\"\r\n [pictureUri]=\"activeProfile?.pictureUri\"\r\n > \r\n </sds-avatar>\r\n\r\n <span \r\n *ngIf=\"showNotificationBadge\"\r\n class=\"position-absolute notification-badge translate-middle bg-danger border border-light rounded-circle\"\r\n (click)=\"onNotificationBadgeClick($event)\">\r\n <span class=\"visually-hidden\">{{newNotificationsText}}</span>\r\n </span>\r\n </div>\r\n\r\n\r\n <div class=\"sds-flex-column\">\r\n <span\r\n #nameElement \r\n class=\"truncate-two-lines\">\r\n {{activeProfile?.name}}\r\n </span> \r\n\r\n <span class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{activeProfileInfo}}\r\n </span>\r\n </div>\r\n\r\n\r\n</div> \r\n\r\n<dx-popover\r\n [target]=\"nameElement\"\r\n minWidth=\"12.5rem\"\r\n maxWidth=\"20rem\"\r\n [(visible)]=\"showOptions\"\r\n [wrapperAttr]=\"{ class: 'sds-navigation-user-profile-popover sds-dx-popup-no-arrow sds-dx-popup-content-padding-1' }\"\r\n >\r\n <div>\r\n <ng-container \r\n [ngTemplateOutlet]=\"profileTemplate\"\r\n [ngTemplateOutletContext]=\"{ profile: profile, showRadio: additionalProfiles && additionalProfiles.length > 1 }\">\r\n </ng-container>\r\n\r\n <ng-container *ngFor=\"let profile of additionalProfiles\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"profileTemplate\"\r\n [ngTemplateOutletContext]=\"{ profile: profile, showRadio: additionalProfiles && additionalProfiles.length > 1 }\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n \r\n <ng-content></ng-content>\r\n\r\n <div class=\"border-top\"></div>\r\n\r\n <ul \r\n class=\"list-unstyled sds-navigation-user-profile-actions mb-0 mt-2\" \r\n >\r\n <li *ngIf=\"showProfile\">\r\n <a \r\n class=\"d-block text-black\"\r\n (click)=\"onProfileClick()\" \r\n >\r\n <fa-icon class=\"me-2\" [size]=\"'sm'\" [icon]=\"userProfileIcon\"></fa-icon>\r\n <span>{{profileText}}</span>\r\n </a>\r\n </li>\r\n\r\n <li>\r\n <a \r\n *ngIf=\"showSignOut\"\r\n class=\"d-block text-black\"\r\n (click)=\"onSignOutClick()\" \r\n >\r\n <fa-icon class=\"me-2\" [size]=\"'sm'\" [icon]=\"signOutIcon\"></fa-icon>\r\n <span>{{signOutText}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n\r\n</dx-popover>\r\n\r\n\r\n<ng-template #profileTemplate let-profile=\"profile\" let-showRadio=\"showRadio\">\r\n\r\n <label class=\"d-flex flex-row gap-3 align-items-center p-2 ps-2 pe-3 rounded-1\">\r\n <sds-avatar\r\n [text]=\"profile.name\"\r\n [colorKey]=\"profile.id\"\r\n [pictureUri]=\"profile.pictureUri\"\r\n [size]=\"2.4\"\r\n > \r\n </sds-avatar>\r\n\r\n <div \r\n class=\"flex-grow-1 flex-shrink-1 text-body\"\r\n [style.minWidth.px]=\"1\"\r\n >\r\n <span class=\"sds-fw-500 sds-fs-100 text-truncate\">\r\n {{profile.name}}\r\n </span>\r\n <div class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{profile.info}}\r\n </div>\r\n </div>\r\n\r\n <input \r\n *ngIf=\"showRadio\"\r\n class=\"mx-1\" type=\"radio\" name=\"profile\" value=\"{{profile.id}}\" \r\n [ngModel]=\"activeProfileId\" \r\n (ngModelChange)=\"onActiveProfileIdChange($event)\" />\r\n </label>\r\n</ng-template>", styles: [".sds-navigation-user-profile-container{padding:.8rem;cursor:pointer}.sds-navigation-user-profile-container .notification-badge{top:15%;left:100%;padding:.4rem}.sds-navigation-user-profile-actions li{margin-bottom:.25rem}.sds-navigation-user-profile-actions li a{-webkit-user-select:none;user-select:none;text-decoration:none;padding:.5rem 1rem;width:100%;border-radius:4px}.sds-navigation-user-profile-actions li a:hover{background-color:var(--bs-gray-200);cursor:pointer}.truncate-two-lines{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}::ng-deep .sds-navigation-user-profile-popover .dx-popup-content{padding:.5rem;font-size:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$1.SdsAvatarComponent, selector: "sds-avatar", inputs: ["text", "colorKey", "pictureUri", "showHint", "borderStyle", "borderColor", "initialsText", "cursor", "size", "badgeVisible", "badgePosition", "badgeBackgroundColor", "badgeTextColor", "badgeHint"] }, { kind: "component", type: i3.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "component", type: i4.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "elementAttr", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showEvent", "showTitle", "target", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "onTitleRendered", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "elementAttrChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }] });
|
|
344
|
+
SdsNavigationUserProfileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SdsNavigationUserProfileComponent, selector: "sds-navigation-user-profile", inputs: { profile: "profile", additionalProfiles: "additionalProfiles", activeProfileId: "activeProfileId", activeProfileInfo: "activeProfileInfo", showSignOut: "showSignOut", showProfile: "showProfile", showTopBorder: "showTopBorder", signOutText: "signOutText", profileText: "profileText", showNotificationBadge: "showNotificationBadge", newNotificationsText: "newNotificationsText" }, outputs: { activeProfileIdChange: "activeProfileIdChange", profileClick: "profileClick", signOutClick: "signOutClick", notificationBadgeClick: "notificationBadgeClick" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"d-flex flex-row align-items-center gap-2 sds-navigation-user-profile-container user-select-none\"\r\n (click)=\"showOptions = !showOptions\">\r\n\r\n <div class=\"position-relative\">\r\n\r\n <sds-avatar\r\n [text]=\"activeProfile?.name\"\r\n [colorKey]=\"activeProfile?.id\"\r\n [pictureUri]=\"activeProfile?.pictureUri\"\r\n > \r\n </sds-avatar>\r\n\r\n <span \r\n *ngIf=\"showNotificationBadge\"\r\n class=\"position-absolute notification-badge translate-middle bg-danger border border-light rounded-circle\"\r\n (click)=\"onNotificationBadgeClick($event)\">\r\n <span class=\"visually-hidden\">{{newNotificationsText}}</span>\r\n </span>\r\n </div>\r\n\r\n\r\n <div class=\"sds-flex-column\">\r\n <span\r\n #nameElement \r\n class=\"truncate-two-lines\">\r\n {{activeProfile?.name}}\r\n </span> \r\n\r\n <span class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{activeProfileInfo}}\r\n </span>\r\n </div>\r\n\r\n\r\n</div> \r\n\r\n<dx-popover\r\n [target]=\"nameElement\"\r\n minWidth=\"12.5rem\"\r\n maxWidth=\"20rem\"\r\n [(visible)]=\"showOptions\"\r\n [wrapperAttr]=\"{ class: 'sds-navigation-user-profile-popover sds-dx-popup-no-arrow sds-dx-popup-content-padding-1' }\"\r\n >\r\n <div>\r\n <ng-container \r\n [ngTemplateOutlet]=\"profileTemplate\"\r\n [ngTemplateOutletContext]=\"{ profile: profile, showRadio: additionalProfiles && additionalProfiles.length > 1 }\">\r\n </ng-container>\r\n\r\n <ng-container *ngFor=\"let profile of additionalProfiles\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"profileTemplate\"\r\n [ngTemplateOutletContext]=\"{ profile: profile, showRadio: additionalProfiles && additionalProfiles.length > 1 }\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n \r\n <ng-content></ng-content>\r\n\r\n <div class=\"border-top\"></div>\r\n\r\n <ul \r\n class=\"list-unstyled sds-navigation-user-profile-actions mb-0 mt-2\" \r\n >\r\n <li *ngIf=\"showProfile\">\r\n <a \r\n class=\"d-block text-black\"\r\n (click)=\"onProfileClick()\" \r\n >\r\n <fa-icon class=\"me-2\" [fixedWidth]=\"true\" [size]=\"'sm'\" [icon]=\"userProfileIcon\"></fa-icon>\r\n <span>{{profileText}}</span>\r\n </a>\r\n </li>\r\n\r\n <li>\r\n <a \r\n *ngIf=\"showSignOut\"\r\n class=\"d-block text-black\"\r\n (click)=\"onSignOutClick()\" \r\n >\r\n <fa-icon class=\"me-2\" [fixedWidth]=\"true\" [size]=\"'sm'\" [icon]=\"signOutIcon\"></fa-icon>\r\n <span>{{signOutText}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n\r\n</dx-popover>\r\n\r\n\r\n<ng-template #profileTemplate let-profile=\"profile\" let-showRadio=\"showRadio\">\r\n\r\n <label class=\"d-flex flex-row gap-3 align-items-center p-2 ps-2 pe-3 rounded-1\">\r\n <sds-avatar\r\n [text]=\"profile.name\"\r\n [colorKey]=\"profile.id\"\r\n [pictureUri]=\"profile.pictureUri\"\r\n [size]=\"2.4\"\r\n > \r\n </sds-avatar>\r\n\r\n <div \r\n class=\"flex-grow-1 flex-shrink-1 text-body\"\r\n [style.minWidth.px]=\"1\"\r\n >\r\n <span class=\"sds-fw-500 sds-fs-100 text-truncate\">\r\n {{profile.name}}\r\n </span>\r\n <div class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{profile.info}}\r\n </div>\r\n </div>\r\n\r\n <input \r\n *ngIf=\"showRadio\"\r\n class=\"mx-1\" type=\"radio\" name=\"profile\" value=\"{{profile.id}}\" \r\n [ngModel]=\"activeProfileId\" \r\n (ngModelChange)=\"onActiveProfileIdChange($event)\" />\r\n </label>\r\n</ng-template>", styles: [".sds-navigation-user-profile-container{padding:.8rem;cursor:pointer}.sds-navigation-user-profile-container .notification-badge{top:15%;left:100%;padding:.4rem}.sds-navigation-user-profile-actions li{margin-bottom:.25rem}.sds-navigation-user-profile-actions li a{-webkit-user-select:none;user-select:none;text-decoration:none;padding:.5rem 1rem;width:100%;border-radius:4px}.sds-navigation-user-profile-actions li a:hover{background-color:var(--bs-gray-200);cursor:pointer}.truncate-two-lines{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}::ng-deep .sds-navigation-user-profile-popover .dx-popup-content{padding:.5rem;font-size:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$1.SdsAvatarComponent, selector: "sds-avatar", inputs: ["text", "colorKey", "pictureUri", "showHint", "borderStyle", "borderColor", "initialsText", "cursor", "size", "badgeVisible", "badgePosition", "badgeBackgroundColor", "badgeTextColor", "badgeHint"] }, { kind: "component", type: i3.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "component", type: i4.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "elementAttr", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showEvent", "showTitle", "target", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "onTitleRendered", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "elementAttrChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }] });
|
|
345
345
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdsNavigationUserProfileComponent, decorators: [{
|
|
346
346
|
type: Component,
|
|
347
|
-
args: [{ selector: 'sds-navigation-user-profile', template: "<div class=\"d-flex flex-row align-items-center gap-2 sds-navigation-user-profile-container user-select-none\"\r\n (click)=\"showOptions = !showOptions\">\r\n\r\n <div class=\"position-relative\">\r\n\r\n <sds-avatar\r\n [text]=\"activeProfile?.name\"\r\n [colorKey]=\"activeProfile?.id\"\r\n [pictureUri]=\"activeProfile?.pictureUri\"\r\n > \r\n </sds-avatar>\r\n\r\n <span \r\n *ngIf=\"showNotificationBadge\"\r\n class=\"position-absolute notification-badge translate-middle bg-danger border border-light rounded-circle\"\r\n (click)=\"onNotificationBadgeClick($event)\">\r\n <span class=\"visually-hidden\">{{newNotificationsText}}</span>\r\n </span>\r\n </div>\r\n\r\n\r\n <div class=\"sds-flex-column\">\r\n <span\r\n #nameElement \r\n class=\"truncate-two-lines\">\r\n {{activeProfile?.name}}\r\n </span> \r\n\r\n <span class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{activeProfileInfo}}\r\n </span>\r\n </div>\r\n\r\n\r\n</div> \r\n\r\n<dx-popover\r\n [target]=\"nameElement\"\r\n minWidth=\"12.5rem\"\r\n maxWidth=\"20rem\"\r\n [(visible)]=\"showOptions\"\r\n [wrapperAttr]=\"{ class: 'sds-navigation-user-profile-popover sds-dx-popup-no-arrow sds-dx-popup-content-padding-1' }\"\r\n >\r\n <div>\r\n <ng-container \r\n [ngTemplateOutlet]=\"profileTemplate\"\r\n [ngTemplateOutletContext]=\"{ profile: profile, showRadio: additionalProfiles && additionalProfiles.length > 1 }\">\r\n </ng-container>\r\n\r\n <ng-container *ngFor=\"let profile of additionalProfiles\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"profileTemplate\"\r\n [ngTemplateOutletContext]=\"{ profile: profile, showRadio: additionalProfiles && additionalProfiles.length > 1 }\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n \r\n <ng-content></ng-content>\r\n\r\n <div class=\"border-top\"></div>\r\n\r\n <ul \r\n class=\"list-unstyled sds-navigation-user-profile-actions mb-0 mt-2\" \r\n >\r\n <li *ngIf=\"showProfile\">\r\n <a \r\n class=\"d-block text-black\"\r\n (click)=\"onProfileClick()\" \r\n >\r\n <fa-icon class=\"me-2\" [size]=\"'sm'\" [icon]=\"userProfileIcon\"></fa-icon>\r\n <span>{{profileText}}</span>\r\n </a>\r\n </li>\r\n\r\n <li>\r\n <a \r\n *ngIf=\"showSignOut\"\r\n class=\"d-block text-black\"\r\n (click)=\"onSignOutClick()\" \r\n >\r\n <fa-icon class=\"me-2\" [size]=\"'sm'\" [icon]=\"signOutIcon\"></fa-icon>\r\n <span>{{signOutText}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n\r\n</dx-popover>\r\n\r\n\r\n<ng-template #profileTemplate let-profile=\"profile\" let-showRadio=\"showRadio\">\r\n\r\n <label class=\"d-flex flex-row gap-3 align-items-center p-2 ps-2 pe-3 rounded-1\">\r\n <sds-avatar\r\n [text]=\"profile.name\"\r\n [colorKey]=\"profile.id\"\r\n [pictureUri]=\"profile.pictureUri\"\r\n [size]=\"2.4\"\r\n > \r\n </sds-avatar>\r\n\r\n <div \r\n class=\"flex-grow-1 flex-shrink-1 text-body\"\r\n [style.minWidth.px]=\"1\"\r\n >\r\n <span class=\"sds-fw-500 sds-fs-100 text-truncate\">\r\n {{profile.name}}\r\n </span>\r\n <div class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{profile.info}}\r\n </div>\r\n </div>\r\n\r\n <input \r\n *ngIf=\"showRadio\"\r\n class=\"mx-1\" type=\"radio\" name=\"profile\" value=\"{{profile.id}}\" \r\n [ngModel]=\"activeProfileId\" \r\n (ngModelChange)=\"onActiveProfileIdChange($event)\" />\r\n </label>\r\n</ng-template>", styles: [".sds-navigation-user-profile-container{padding:.8rem;cursor:pointer}.sds-navigation-user-profile-container .notification-badge{top:15%;left:100%;padding:.4rem}.sds-navigation-user-profile-actions li{margin-bottom:.25rem}.sds-navigation-user-profile-actions li a{-webkit-user-select:none;user-select:none;text-decoration:none;padding:.5rem 1rem;width:100%;border-radius:4px}.sds-navigation-user-profile-actions li a:hover{background-color:var(--bs-gray-200);cursor:pointer}.truncate-two-lines{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}::ng-deep .sds-navigation-user-profile-popover .dx-popup-content{padding:.5rem;font-size:1rem}\n"] }]
|
|
347
|
+
args: [{ selector: 'sds-navigation-user-profile', template: "<div class=\"d-flex flex-row align-items-center gap-2 sds-navigation-user-profile-container user-select-none\"\r\n (click)=\"showOptions = !showOptions\">\r\n\r\n <div class=\"position-relative\">\r\n\r\n <sds-avatar\r\n [text]=\"activeProfile?.name\"\r\n [colorKey]=\"activeProfile?.id\"\r\n [pictureUri]=\"activeProfile?.pictureUri\"\r\n > \r\n </sds-avatar>\r\n\r\n <span \r\n *ngIf=\"showNotificationBadge\"\r\n class=\"position-absolute notification-badge translate-middle bg-danger border border-light rounded-circle\"\r\n (click)=\"onNotificationBadgeClick($event)\">\r\n <span class=\"visually-hidden\">{{newNotificationsText}}</span>\r\n </span>\r\n </div>\r\n\r\n\r\n <div class=\"sds-flex-column\">\r\n <span\r\n #nameElement \r\n class=\"truncate-two-lines\">\r\n {{activeProfile?.name}}\r\n </span> \r\n\r\n <span class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{activeProfileInfo}}\r\n </span>\r\n </div>\r\n\r\n\r\n</div> \r\n\r\n<dx-popover\r\n [target]=\"nameElement\"\r\n minWidth=\"12.5rem\"\r\n maxWidth=\"20rem\"\r\n [(visible)]=\"showOptions\"\r\n [wrapperAttr]=\"{ class: 'sds-navigation-user-profile-popover sds-dx-popup-no-arrow sds-dx-popup-content-padding-1' }\"\r\n >\r\n <div>\r\n <ng-container \r\n [ngTemplateOutlet]=\"profileTemplate\"\r\n [ngTemplateOutletContext]=\"{ profile: profile, showRadio: additionalProfiles && additionalProfiles.length > 1 }\">\r\n </ng-container>\r\n\r\n <ng-container *ngFor=\"let profile of additionalProfiles\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"profileTemplate\"\r\n [ngTemplateOutletContext]=\"{ profile: profile, showRadio: additionalProfiles && additionalProfiles.length > 1 }\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n \r\n <ng-content></ng-content>\r\n\r\n <div class=\"border-top\"></div>\r\n\r\n <ul \r\n class=\"list-unstyled sds-navigation-user-profile-actions mb-0 mt-2\" \r\n >\r\n <li *ngIf=\"showProfile\">\r\n <a \r\n class=\"d-block text-black\"\r\n (click)=\"onProfileClick()\" \r\n >\r\n <fa-icon class=\"me-2\" [fixedWidth]=\"true\" [size]=\"'sm'\" [icon]=\"userProfileIcon\"></fa-icon>\r\n <span>{{profileText}}</span>\r\n </a>\r\n </li>\r\n\r\n <li>\r\n <a \r\n *ngIf=\"showSignOut\"\r\n class=\"d-block text-black\"\r\n (click)=\"onSignOutClick()\" \r\n >\r\n <fa-icon class=\"me-2\" [fixedWidth]=\"true\" [size]=\"'sm'\" [icon]=\"signOutIcon\"></fa-icon>\r\n <span>{{signOutText}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n\r\n</dx-popover>\r\n\r\n\r\n<ng-template #profileTemplate let-profile=\"profile\" let-showRadio=\"showRadio\">\r\n\r\n <label class=\"d-flex flex-row gap-3 align-items-center p-2 ps-2 pe-3 rounded-1\">\r\n <sds-avatar\r\n [text]=\"profile.name\"\r\n [colorKey]=\"profile.id\"\r\n [pictureUri]=\"profile.pictureUri\"\r\n [size]=\"2.4\"\r\n > \r\n </sds-avatar>\r\n\r\n <div \r\n class=\"flex-grow-1 flex-shrink-1 text-body\"\r\n [style.minWidth.px]=\"1\"\r\n >\r\n <span class=\"sds-fw-500 sds-fs-100 text-truncate\">\r\n {{profile.name}}\r\n </span>\r\n <div class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{profile.info}}\r\n </div>\r\n </div>\r\n\r\n <input \r\n *ngIf=\"showRadio\"\r\n class=\"mx-1\" type=\"radio\" name=\"profile\" value=\"{{profile.id}}\" \r\n [ngModel]=\"activeProfileId\" \r\n (ngModelChange)=\"onActiveProfileIdChange($event)\" />\r\n </label>\r\n</ng-template>", styles: [".sds-navigation-user-profile-container{padding:.8rem;cursor:pointer}.sds-navigation-user-profile-container .notification-badge{top:15%;left:100%;padding:.4rem}.sds-navigation-user-profile-actions li{margin-bottom:.25rem}.sds-navigation-user-profile-actions li a{-webkit-user-select:none;user-select:none;text-decoration:none;padding:.5rem 1rem;width:100%;border-radius:4px}.sds-navigation-user-profile-actions li a:hover{background-color:var(--bs-gray-200);cursor:pointer}.truncate-two-lines{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}::ng-deep .sds-navigation-user-profile-popover .dx-popup-content{padding:.5rem;font-size:1rem}\n"] }]
|
|
348
348
|
}], ctorParameters: function () { return []; }, propDecorators: { profile: [{
|
|
349
349
|
type: Input
|
|
350
350
|
}], additionalProfiles: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spicainternational-ngx-sds-components-src-lib-navigation.mjs","sources":["../../../projects/ngx-sds-components/src/lib/navigation/navigation-separator/navigation-separator.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-separator/navigation-separator.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation-header/navigation-header.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-header/navigation-header.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation-route-link/navigation-route-link.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-route-link/navigation-route-link.component.html","../../../projects/ngx-sds-components/src/lib/navigation/utils/navigation.utils.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-group/navigation-group.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-group/navigation-group.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation-container/navigation-container.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-container/navigation-container.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation-external-link/navigation-external-link.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-external-link/navigation-external-link.component.html","../../../projects/ngx-sds-components/src/lib/navigation/pipes/navigation-route-active.pipe.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.html","../../../projects/ngx-sds-components/src/lib/navigation/product-home/product-home.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/product-home/product-home.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation.module.ts","../../../projects/ngx-sds-components/src/lib/navigation/spicainternational-ngx-sds-components-src-lib-navigation.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sds-navigation-separator',\r\n templateUrl: './navigation-separator.component.html',\r\n styleUrls: ['./navigation-separator.component.scss']\r\n})\r\nexport class SdsNavigationSeparatorComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"sds-navigation-separator nav-separator\"></div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sds-navigation-header',\r\n templateUrl: './navigation-header.component.html',\r\n styleUrls: ['./navigation-header.component.scss'],\r\n})\r\nexport class SdsNavigationHeaderComponent implements OnInit {\r\n @Input() text: string;\r\n\r\n constructor() {\r\n this.text = '';\r\n }\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<div class=\"sds-navigation-header\">\r\n {{ text }}\r\n</div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sds-navigation-route-link',\r\n templateUrl: './navigation-route-link.component.html',\r\n styleUrls: ['./navigation-route-link.component.scss'],\r\n})\r\nexport class SdsNavigationRouteLinkComponent implements OnInit {\r\n /**\r\n * This variable is used as 'routerLink' attribute in the anchor tag.\r\n * \r\n * Is named 'link' to avoid conflict with the 'routerLink' directive.\r\n */\r\n @Input() link: string = '';\r\n @Input() text: string = '';\r\n\r\n @Input() additionalInfo: string | undefined = undefined;\r\n\r\n @Input() disabled = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<!-- class=\"sds-navigation-router-link sidebar-item-x d-flex justify-content-start align-items-center sidebar-item-x py-1\"> -->\r\n<div \r\n class=\"sds-navigation-router-link sds-navigation-item-container\"\r\n [class.disabled]=\"disabled\"\r\n routerLinkActive=\"active\">\r\n <a class=\"sds-navigation-item-content w-100\" [routerLink]=\"link\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"sds-navigation-icon\" >\r\n <ng-content select=\"[navigationIcon]\"></ng-content>\r\n </div>\r\n <div class=\"sds-navigation-text user-select-none\">\r\n {{ text }}\r\n </div>\r\n <span *ngIf=\"additionalInfo\"\r\n class=\"sds-navigation-router-link-additional-info badge rounded-pill bg-warning text-body\"\r\n >{{ additionalInfo }}</span\r\n > \r\n </div>\r\n </a>\r\n</div>","export function removeQueryParams(url: string): string {\r\n return url.split('?')[0];\r\n}\r\n\r\nexport function isUrlPartOfNavigationGroup(\r\n currentUrl: string[], \r\n nestedRoutes: string[], \r\n defaultGroupUrl: string): boolean {\r\n\r\n if (!currentUrl || currentUrl?.length === 0) {\r\n return false;\r\n }\r\n \r\n defaultGroupUrl = defaultGroupUrl.replace('/', '');\r\n \r\n if (nestedRoutes?.length > 0) {\r\n // Nested routes are provided. We should find out if current url is on the list of\r\n // the provided nested routes \r\n const currentUrlParts = currentUrl.slice();//.reverse();\r\n const routeItemIsPartOfNestedRoutes = nestedRoutes.some((routeName) => {\r\n const routeParts = routeName.split('/');//.reverse();\r\n return isSubsetOrSame(currentUrlParts, routeParts);\r\n });\r\n if (routeItemIsPartOfNestedRoutes) {\r\n return true;\r\n }\r\n }\r\n\r\n const currentUrlContainsGroupUrl = currentUrl.some(path => path === defaultGroupUrl);\r\n return currentUrlContainsGroupUrl;\r\n }\r\n\r\nfunction isSubsetOrSame(mainArray: string[], subArray: string[]): boolean {\r\n // if we have super wildcard we need to check reversed array\r\n // if (subArray.includes('**')) {\r\n const reversedMainArray = mainArray.slice(); //.reverse();\r\n const reversedSubArray = subArray.slice(); //.reverse();\r\n\r\n for (let i = 0; i < reversedSubArray.length; i++) {\r\n if (reversedSubArray[i] === '**') {\r\n return true;\r\n }\r\n if ((reversedMainArray[i] !== reversedSubArray[i]) && reversedSubArray[i] !== '*') {\r\n return false;\r\n }\r\n }\r\n return true;\r\n\r\n // } else {\r\n // if (subArray.length > mainArray.length) return false;\r\n\r\n // for (let i = 0; i < subArray.length; i++) {\r\n // if ((mainArray[i] !== subArray[i]) && subArray[i] !== '*') {\r\n // return false;\r\n // }\r\n // }\r\n // return true;\r\n // }\r\n}","import {\r\n AfterContentInit,\r\n Component,\r\n ContentChildren,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n QueryList,\r\n} from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { SdsNavigationRouteLinkComponent } from '../navigation-route-link/navigation-route-link.component';\r\n\r\nimport { faAngleUp, faAngleDown } from '@fortawesome/pro-regular-svg-icons';\r\nimport { filter, Subject, takeUntil } from 'rxjs';\r\nimport { isUrlPartOfNavigationGroup, removeQueryParams } from '../utils/navigation.utils';\r\n\r\n@Component({\r\n selector: 'sds-navigation-group',\r\n templateUrl: './navigation-group.component.html',\r\n styleUrls: ['./navigation-group.component.scss'],\r\n})\r\nexport class SdsNavigationGroupComponent implements OnInit, OnDestroy {\r\n /**\r\n * List of paths allowed/expected within this module.\r\n * These are paths that are not accessible through child navigation\r\n * elements, but through links in other parts of the application (e.g. link\r\n * on form)\r\n */\r\n private _navigationGroupNestedRoutes: string[] = [];\r\n @Input()\r\n set navigationGroupNestedRoutes(value: string[]) {\r\n this._navigationGroupNestedRoutes = value;\r\n }\r\n get navigationGroupNestedRoutes() {\r\n return this._navigationGroupNestedRoutes;\r\n }\r\n\r\n @Input() text: string = '';\r\n @Input() icon: string = '';\r\n @Input() defaultRouterLink: string = '';\r\n @Input() reverse = false;\r\n @Input() ignoreQueryParamsInActiveRoute = false;\r\n @Input() disabled = false;\r\n @Input() showPopover = false;\r\n @Input() showPopoverHeader = false;\r\n\r\n @ContentChildren(SdsNavigationRouteLinkComponent)\r\n routerLinkComponents: QueryList<SdsNavigationRouteLinkComponent> = new QueryList<SdsNavigationRouteLinkComponent>();\r\n\r\n active: boolean = false; \r\n\r\n faAngleUpRegular = faAngleUp;\r\n faAngleDownRegular = faAngleDown;\r\n\r\n /**\r\n * Current app URL (e.g. ['layout-showcase', 'default'])\r\n */\r\n currentUrl: string[] = [];\r\n\r\n private _unsubscribe: Subject<void> = new Subject<void>();\r\n \r\n public isGroupActive: boolean = false;\r\n\r\n\r\n constructor(private _router: Router) {}\r\n\r\n ngOnInit(): void {\r\n this._router.events.pipe(\r\n filter((event: any) => event instanceof NavigationEnd),\r\n takeUntil(this._unsubscribe)\r\n ).subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n const activeRoute = this.ignoreQueryParamsInActiveRoute ? removeQueryParams(event.url) : event.url;\r\n const route: string[] = activeRoute.split('/').filter(item => item.length > 0);\r\n this.currentUrl = route;\r\n this.isGroupActive = isUrlPartOfNavigationGroup(this.currentUrl, this.navigationGroupNestedRoutes, this.defaultRouterLink);\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unsubscribe.next();\r\n this._unsubscribe.complete();\r\n }\r\n\r\n onHiding(e: any) {\r\n const popoverContent = e.component.content().parentNode;\r\n const isMouseInsidePopover = popoverContent.matches(':hover');\r\n e.cancel = isMouseInsidePopover;\r\n\r\n popoverContent.addEventListener('mouseleave', () => {\r\n popoverContent.removeEventListener('mouseleave', () => {});\r\n e.component.hide();\r\n \r\n });\r\n \r\n }\r\n}\r\n","<div \r\n #navigationGroup\r\n class=\"sds-navigation-group sds-navigation-item-container d-flex\"\r\n [class.flex-column-reverse]=\"reverse\"\r\n [class.flex-column]=\"!reverse\"\r\n [class.disabled]=\"disabled\"\r\n [class.active]=\"isGroupActive\"\r\n >\r\n <a \r\n class=\"w-100 sds-navigation-item-content\"\r\n style=\"cursor: pointer\"\r\n [routerLink]=\"[defaultRouterLink]\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"sds-navigation-icon\" >\r\n <ng-content select=\"[navigationIcon]\"></ng-content>\r\n </div>\r\n <div class=\"sds-navigation-text user-select-none\">\r\n {{ text }}\r\n </div>\r\n <div class=\"text-right\">\r\n <fa-icon *ngIf=\"!reverse\" [icon]=\"faAngleDownRegular\"></fa-icon>\r\n <fa-icon *ngIf=\"reverse\" [icon]=\"faAngleUpRegular\"></fa-icon>\r\n </div>\r\n </div>\r\n </a>\r\n\r\n <div *ngIf=\"isGroupActive\" class=\"sds-navigation-group-items\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n\r\n<ng-container *ngIf=\"showPopover && !isGroupActive\">\r\n <dx-popover\r\n [target]=\"navigationGroup\"\r\n [showEvent]=\"{ name: 'dxhoverstart', delay: 100 }\"\r\n [hideEvent]=\"{ name: 'dxhoverend', delay: 100 }\"\r\n (onHiding)=\"onHiding($event)\"\r\n width=\"15rem\"\r\n [wrapperAttr]=\"{ class: 'sds-navigation-group-popover-wrapper sds-dx-popup-content-padding-2' }\"\r\n [hideOnOutsideClick]=\"true\"\r\n [hideOnParentScroll]=\"true\"\r\n [animation]=\"{}\"\r\n >\r\n\r\n <dxo-position\r\n my=\"top left\"\r\n at=\"top right\"\r\n [of]=\"navigationGroup\"\r\n offset=\"-12 0\"\r\n >\r\n </dxo-position>\r\n\r\n <div *ngIf=\"showPopoverHeader\" class=\"group-header user-select-none\">\r\n {{ text }}\r\n </div>\r\n <div \r\n class=\"sds-navigation-container sds-navigation-popover-container sds-scrollbar sds-scrollbar-thin sds-scrollbar-no-hide\"\r\n >\r\n <div class=\"sds-navigation-group-items\">\r\n <ng-content select=\"[popoverContent]\"></ng-content>\r\n </div>\r\n </div>\r\n </dx-popover>\r\n</ng-container>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sds-navigation-container',\r\n templateUrl: './navigation-container.component.html',\r\n styleUrls: ['./navigation-container.component.scss'],\r\n})\r\nexport class SdsNavigationContainerComponent implements OnInit {\r\n @Input() product: string;\r\n\r\n constructor() {\r\n this.product = 'all-hours';\r\n }\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<div \r\n class=\"sds-navigation-container\"\r\n [class]=\"'product-' + product\">\r\n <ng-content></ng-content>\r\n</div>","import { Component, Input, OnInit } from '@angular/core';\r\nimport { faExternalLink } from '@fortawesome/pro-regular-svg-icons';\r\n\r\n@Component({\r\n selector: 'sds-navigation-external-link',\r\n templateUrl: './navigation-external-link.component.html',\r\n styleUrls: ['./navigation-external-link.component.scss']\r\n})\r\nexport class SdsNavigationExternalLinkComponent implements OnInit {\r\n\r\n @Input() link: string = '';\r\n @Input() text: string = '';\r\n @Input() tabName: string = '_blank'\r\n @Input() externalLinkHint = '';\r\n @Input() showExternalLinkIcon = true;\r\n\r\n\r\n public externalLinkIcon = faExternalLink;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n openLink(){\r\n window.open(this.link, this.tabName);\r\n }\r\n\r\n}\r\n","<div \r\n class=\"sds-navigation-external-link sds-navigation-item-container\">\r\n <a class=\"w-100 sds-navigation-item-content\" (click)=\"openLink()\" >\r\n <div class=\"d-flex align-items-center position-relative\">\r\n <div class=\"sds-navigation-icon\" >\r\n <ng-content select=\"[navigationIcon]\"></ng-content>\r\n </div>\r\n\r\n <div class=\"sds-navigation-text\">\r\n <span>{{ text }}</span>\r\n </div>\r\n\r\n <div \r\n class=\"sds-navigation-external-link-info-container\">\r\n <fa-icon \r\n class=\"sds-navigation-external-link-info-icon\"\r\n *ngIf=\"showExternalLinkIcon\"\r\n\r\n [icon]=\"externalLinkIcon\"\r\n [size]=\"'xs'\"\r\n [title]=\"externalLinkHint\"\r\n >\r\n </fa-icon>\r\n </div> \r\n \r\n <ng-content></ng-content>\r\n\r\n </div>\r\n </a>\r\n</div>","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { isUrlPartOfNavigationGroup } from '../utils/navigation.utils';\r\n\r\n@Pipe({\r\n name: 'navigationRouteActive'\r\n})\r\nexport class NavigationRouteActivePipe implements PipeTransform {\r\n\r\n transform(currentUrl: string[], ...args: unknown[]): boolean {\r\n if (!currentUrl || currentUrl?.length === 0) {\r\n return false;\r\n }\r\n const nestedRoutes: string[] = args[0] as string[];\r\n const defaultGroupUrl: string = (args[1] as string).replace('/', '');\r\n\r\n let showWarningForMissingNestedRoutes = false;\r\n if (args.length >= 3) {\r\n showWarningForMissingNestedRoutes = args[2] as boolean;\r\n } \r\n\r\n const isPart = isUrlPartOfNavigationGroup(currentUrl, nestedRoutes, defaultGroupUrl);\r\n\r\n if (showWarningForMissingNestedRoutes) {\r\n console.warn(\r\n `Nested routes were defined in sds-navigation-group component, however route \"${currentUrl}\" is not a part of the nested routes list (${nestedRoutes?.join(', ')}). Maybe you forgot to include it? `\r\n );\r\n }\r\n\r\n return isPart;\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, OnChanges, Output, SimpleChanges } from '@angular/core';\r\nimport { NavigationProfile } from './navigation-profile.model';\r\nimport { faSignOut, faUser } from '@fortawesome/pro-regular-svg-icons';\r\n\r\n\r\n@Component({\r\n selector: 'sds-navigation-user-profile',\r\n templateUrl: './navigation-user-profile.component.html',\r\n styleUrls: ['./navigation-user-profile.component.scss'],\r\n})\r\nexport class SdsNavigationUserProfileComponent implements OnInit, OnChanges {\r\n @Input() profile: NavigationProfile | null = null;\r\n @Input() additionalProfiles: NavigationProfile[] = [];\r\n\r\n @Input() activeProfileId: string | null = null;\r\n @Output() activeProfileIdChange: EventEmitter<string | null> = new EventEmitter<string | null>();\r\n @Input() activeProfileInfo: string = '';\r\n\r\n @Input() showSignOut: boolean = true;\r\n @Input() showProfile: boolean = true;\r\n @Input() showTopBorder: boolean = false;\r\n\r\n @Input() signOutText: string = 'Sign out';\r\n @Input() profileText: string = 'Profile';\r\n\r\n @Input() showNotificationBadge: boolean = false;\r\n @Input() newNotificationsText: string = 'New Notifications';\r\n\r\n @Output() profileClick: EventEmitter<void> = new EventEmitter<void>();\r\n @Output() signOutClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output() notificationBadgeClick: EventEmitter<void> = new EventEmitter<void>();\r\n \r\n public showOptions: boolean = false;\r\n\r\n protected activeProfile: NavigationProfile | null = null;\r\n\r\n protected userProfileIcon = faUser;\r\n protected signOutIcon = faSignOut\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['activeProfileId'] || changes['profile'] || changes['additionalProfiles']) {\r\n if (this.activeProfileId === null) {\r\n this.activeProfile = this.profile;\r\n } else if (this.activeProfileId === this.profile?.id) {\r\n this.activeProfile = this.profile;\r\n } else {\r\n this.activeProfile = this.additionalProfiles.find(profile => profile.id === this.activeProfileId) || null;\r\n }\r\n }\r\n }\r\n\r\n public onProfileClick(): void {\r\n this.showOptions = false;\r\n this.profileClick.emit();\r\n }\r\n\r\n public onSignOutClick(): void {\r\n this.showOptions = false;\r\n this.signOutClick.emit();\r\n }\r\n\r\n public onNotificationBadgeClick(event: MouseEvent): void {\r\n event.stopPropagation();\r\n this.notificationBadgeClick.emit();\r\n }\r\n\r\n public onActiveProfileIdChange(id: string | null) {\r\n this.activeProfileIdChange.emit(id);\r\n \r\n setTimeout(() => {\r\n this.showOptions = false;\r\n }, 100);\r\n }\r\n}\r\n","<div class=\"d-flex flex-row align-items-center gap-2 sds-navigation-user-profile-container user-select-none\"\r\n (click)=\"showOptions = !showOptions\">\r\n\r\n <div class=\"position-relative\">\r\n\r\n <sds-avatar\r\n [text]=\"activeProfile?.name\"\r\n [colorKey]=\"activeProfile?.id\"\r\n [pictureUri]=\"activeProfile?.pictureUri\"\r\n > \r\n </sds-avatar>\r\n\r\n <span \r\n *ngIf=\"showNotificationBadge\"\r\n class=\"position-absolute notification-badge translate-middle bg-danger border border-light rounded-circle\"\r\n (click)=\"onNotificationBadgeClick($event)\">\r\n <span class=\"visually-hidden\">{{newNotificationsText}}</span>\r\n </span>\r\n </div>\r\n\r\n\r\n <div class=\"sds-flex-column\">\r\n <span\r\n #nameElement \r\n class=\"truncate-two-lines\">\r\n {{activeProfile?.name}}\r\n </span> \r\n\r\n <span class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{activeProfileInfo}}\r\n </span>\r\n </div>\r\n\r\n\r\n</div> \r\n\r\n<dx-popover\r\n [target]=\"nameElement\"\r\n minWidth=\"12.5rem\"\r\n maxWidth=\"20rem\"\r\n [(visible)]=\"showOptions\"\r\n [wrapperAttr]=\"{ class: 'sds-navigation-user-profile-popover sds-dx-popup-no-arrow sds-dx-popup-content-padding-1' }\"\r\n >\r\n <div>\r\n <ng-container \r\n [ngTemplateOutlet]=\"profileTemplate\"\r\n [ngTemplateOutletContext]=\"{ profile: profile, showRadio: additionalProfiles && additionalProfiles.length > 1 }\">\r\n </ng-container>\r\n\r\n <ng-container *ngFor=\"let profile of additionalProfiles\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"profileTemplate\"\r\n [ngTemplateOutletContext]=\"{ profile: profile, showRadio: additionalProfiles && additionalProfiles.length > 1 }\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n \r\n <ng-content></ng-content>\r\n\r\n <div class=\"border-top\"></div>\r\n\r\n <ul \r\n class=\"list-unstyled sds-navigation-user-profile-actions mb-0 mt-2\" \r\n >\r\n <li *ngIf=\"showProfile\">\r\n <a \r\n class=\"d-block text-black\"\r\n (click)=\"onProfileClick()\" \r\n >\r\n <fa-icon class=\"me-2\" [size]=\"'sm'\" [icon]=\"userProfileIcon\"></fa-icon>\r\n <span>{{profileText}}</span>\r\n </a>\r\n </li>\r\n\r\n <li>\r\n <a \r\n *ngIf=\"showSignOut\"\r\n class=\"d-block text-black\"\r\n (click)=\"onSignOutClick()\" \r\n >\r\n <fa-icon class=\"me-2\" [size]=\"'sm'\" [icon]=\"signOutIcon\"></fa-icon>\r\n <span>{{signOutText}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n\r\n</dx-popover>\r\n\r\n\r\n<ng-template #profileTemplate let-profile=\"profile\" let-showRadio=\"showRadio\">\r\n\r\n <label class=\"d-flex flex-row gap-3 align-items-center p-2 ps-2 pe-3 rounded-1\">\r\n <sds-avatar\r\n [text]=\"profile.name\"\r\n [colorKey]=\"profile.id\"\r\n [pictureUri]=\"profile.pictureUri\"\r\n [size]=\"2.4\"\r\n > \r\n </sds-avatar>\r\n\r\n <div \r\n class=\"flex-grow-1 flex-shrink-1 text-body\"\r\n [style.minWidth.px]=\"1\"\r\n >\r\n <span class=\"sds-fw-500 sds-fs-100 text-truncate\">\r\n {{profile.name}}\r\n </span>\r\n <div class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{profile.info}}\r\n </div>\r\n </div>\r\n\r\n <input \r\n *ngIf=\"showRadio\"\r\n class=\"mx-1\" type=\"radio\" name=\"profile\" value=\"{{profile.id}}\" \r\n [ngModel]=\"activeProfileId\" \r\n (ngModelChange)=\"onActiveProfileIdChange($event)\" />\r\n </label>\r\n</ng-template>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ProductModel } from '@spicainternational/ngx-sds-components/src/lib/app-switcher';\r\n\r\n\r\n@Component({\r\n selector: 'sds-product-home',\r\n templateUrl: './product-home.component.html',\r\n styleUrls: ['./product-home.component.scss'],\r\n})\r\nexport class SdsProductHomeComponent implements OnInit {\r\n\r\n @Input() public logoUrl?: string;\r\n @Input() public logoAltText?: string;\r\n @Input() public moduleTitle?: string;\r\n\r\n @Input() public showAppSwitcher = false;\r\n @Input() public appSwitcherProductCode: Number | undefined;\r\n @Input() public appSwitcherUserProductCodes: Number[] | undefined;\r\n @Input() public appSwitcherTenantProducts: ProductModel[] | undefined;\r\n @Input() public appSwitcherSwitchText: string = '';\r\n @Input() public appSwitcherDiscoverText: string = ''; \r\n\r\n @Input() public allowHeaderClick = false;\r\n\r\n @Output() public productSwitched: EventEmitter<ProductModel> = new EventEmitter<ProductModel>(); \r\n @Output() public headerClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n protected onProductClick(product: ProductModel): void {\r\n this.productSwitched.emit(product);\r\n }\r\n\r\n protected onHeaderClick(): void {\r\n if (this. allowHeaderClick) {\r\n this.headerClick.emit();\r\n }\r\n }\r\n}\r\n","<div class=\"product-header pb-2 mb-2 align-items-start\">\r\n <sds-app-switcher\r\n *ngIf=\"showAppSwitcher\"\r\n class=\"app-switcher\"\r\n [productCode]=\"appSwitcherProductCode\"\r\n [userProductCodes]=\"appSwitcherUserProductCodes\"\r\n [tenantProducts]=\"appSwitcherTenantProducts\"\r\n [switchText]=\"appSwitcherSwitchText\"\r\n [discoverText]=\"appSwitcherDiscoverText\"\r\n (productClick)=\"onProductClick($event)\"\r\n >\r\n </sds-app-switcher>\r\n\r\n <div \r\n class=\"ms-2\"\r\n (click)=\"onHeaderClick()\"\r\n [class.sds-cursor-pointer]=\"allowHeaderClick\"\r\n >\r\n <img \r\n class=\"product-logo\"\r\n [src]=\"logoUrl\" \r\n [alt]=\"logoAltText\"\r\n > \r\n <h6 \r\n *ngIf=\"moduleTitle\"\r\n class=\"mt-2\"\r\n >\r\n {{moduleTitle}}\r\n </h6>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\n\r\nimport { SdsNavigationSeparatorComponent } from './navigation-separator/navigation-separator.component';\r\nimport { SdsNavigationHeaderComponent } from './navigation-header/navigation-header.component';\r\nimport { SdsNavigationGroupComponent } from './navigation-group/navigation-group.component';\r\nimport { SdsNavigationRouteLinkComponent } from './navigation-route-link/navigation-route-link.component';\r\nimport { SdsNavigationContainerComponent } from './navigation-container/navigation-container.component';\r\nimport { SdsNavigationExternalLinkComponent } from './navigation-external-link/navigation-external-link.component';\r\nimport { NavigationRouteActivePipe } from './pipes/navigation-route-active.pipe';\r\nimport { SdsNavigationUserProfileComponent } from './navigation-user-profile/navigation-user-profile.component';\r\nimport { SdsAvatarModule } from '@spicainternational/ngx-sds-components/src/lib/avatar';\r\nimport { DxPopoverModule } from 'devextreme-angular/ui/popover';\r\nimport { SdsProductHomeComponent } from './product-home/product-home.component';\r\nimport { SdsAppSwitcherModule } from '@spicainternational/ngx-sds-components/src/lib/app-switcher';\r\nimport { DxScrollViewModule } from 'devextreme-angular';\r\nimport { SdsTooltipModule } from '@spicainternational/ngx-sds-components/src/lib/tooltip';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n\r\n// import { NavigationGroupComponent } from './navigation-group/navigation-group.component';\r\n// import { NavigationRouteLinkComponent } from './navigation-route-link/navigation-route-link.component';\r\n// import { NavigationSeparatorComponent } from './navigation-separator/navigation-separator.component';\r\n// import { NavigationHeaderComponent } from './navigation-header/navigation-header.component';\r\n\r\nconst components = [\r\n SdsNavigationGroupComponent,\r\n SdsNavigationRouteLinkComponent,\r\n SdsNavigationSeparatorComponent,\r\n SdsNavigationHeaderComponent,\r\n SdsNavigationContainerComponent,\r\n SdsNavigationExternalLinkComponent,\r\n SdsNavigationUserProfileComponent,\r\n SdsProductHomeComponent\r\n]\r\n\r\n@NgModule({\r\n declarations: [\r\n ...components,\r\n NavigationRouteActivePipe,\r\n SdsNavigationUserProfileComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n RouterModule,\r\n SdsAvatarModule,\r\n SdsAppSwitcherModule,\r\n FontAwesomeModule,\r\n DxPopoverModule,\r\n DxScrollViewModule,\r\n SdsTooltipModule\r\n ],\r\n exports: [\r\n ...components\r\n ]\r\n})\r\nexport class SdsNavigationModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1","i3","i4","i5"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spicainternational-ngx-sds-components-src-lib-navigation.mjs","sources":["../../../projects/ngx-sds-components/src/lib/navigation/navigation-separator/navigation-separator.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-separator/navigation-separator.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation-header/navigation-header.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-header/navigation-header.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation-route-link/navigation-route-link.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-route-link/navigation-route-link.component.html","../../../projects/ngx-sds-components/src/lib/navigation/utils/navigation.utils.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-group/navigation-group.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-group/navigation-group.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation-container/navigation-container.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-container/navigation-container.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation-external-link/navigation-external-link.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-external-link/navigation-external-link.component.html","../../../projects/ngx-sds-components/src/lib/navigation/pipes/navigation-route-active.pipe.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.html","../../../projects/ngx-sds-components/src/lib/navigation/product-home/product-home.component.ts","../../../projects/ngx-sds-components/src/lib/navigation/product-home/product-home.component.html","../../../projects/ngx-sds-components/src/lib/navigation/navigation.module.ts","../../../projects/ngx-sds-components/src/lib/navigation/spicainternational-ngx-sds-components-src-lib-navigation.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sds-navigation-separator',\r\n templateUrl: './navigation-separator.component.html',\r\n styleUrls: ['./navigation-separator.component.scss']\r\n})\r\nexport class SdsNavigationSeparatorComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"sds-navigation-separator nav-separator\"></div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sds-navigation-header',\r\n templateUrl: './navigation-header.component.html',\r\n styleUrls: ['./navigation-header.component.scss'],\r\n})\r\nexport class SdsNavigationHeaderComponent implements OnInit {\r\n @Input() text: string;\r\n\r\n constructor() {\r\n this.text = '';\r\n }\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<div class=\"sds-navigation-header\">\r\n {{ text }}\r\n</div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sds-navigation-route-link',\r\n templateUrl: './navigation-route-link.component.html',\r\n styleUrls: ['./navigation-route-link.component.scss'],\r\n})\r\nexport class SdsNavigationRouteLinkComponent implements OnInit {\r\n /**\r\n * This variable is used as 'routerLink' attribute in the anchor tag.\r\n * \r\n * Is named 'link' to avoid conflict with the 'routerLink' directive.\r\n */\r\n @Input() link: string = '';\r\n @Input() text: string = '';\r\n\r\n @Input() additionalInfo: string | undefined = undefined;\r\n\r\n @Input() disabled = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<!-- class=\"sds-navigation-router-link sidebar-item-x d-flex justify-content-start align-items-center sidebar-item-x py-1\"> -->\r\n<div \r\n class=\"sds-navigation-router-link sds-navigation-item-container\"\r\n [class.disabled]=\"disabled\"\r\n routerLinkActive=\"active\">\r\n <a class=\"sds-navigation-item-content w-100\" [routerLink]=\"link\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"sds-navigation-icon\" >\r\n <ng-content select=\"[navigationIcon]\"></ng-content>\r\n </div>\r\n <div class=\"sds-navigation-text user-select-none\">\r\n {{ text }}\r\n </div>\r\n <span *ngIf=\"additionalInfo\"\r\n class=\"sds-navigation-router-link-additional-info badge rounded-pill bg-warning text-body\"\r\n >{{ additionalInfo }}</span\r\n > \r\n </div>\r\n </a>\r\n</div>","export function removeQueryParams(url: string): string {\r\n return url.split('?')[0];\r\n}\r\n\r\nexport function isUrlPartOfNavigationGroup(\r\n currentUrl: string[], \r\n nestedRoutes: string[], \r\n defaultGroupUrl: string): boolean {\r\n\r\n if (!currentUrl || currentUrl?.length === 0) {\r\n return false;\r\n }\r\n \r\n defaultGroupUrl = defaultGroupUrl.replace('/', '');\r\n \r\n if (nestedRoutes?.length > 0) {\r\n // Nested routes are provided. We should find out if current url is on the list of\r\n // the provided nested routes \r\n const currentUrlParts = currentUrl.slice();//.reverse();\r\n const routeItemIsPartOfNestedRoutes = nestedRoutes.some((routeName) => {\r\n const routeParts = routeName.split('/');//.reverse();\r\n return isSubsetOrSame(currentUrlParts, routeParts);\r\n });\r\n if (routeItemIsPartOfNestedRoutes) {\r\n return true;\r\n }\r\n }\r\n\r\n const currentUrlContainsGroupUrl = currentUrl.some(path => path === defaultGroupUrl);\r\n return currentUrlContainsGroupUrl;\r\n }\r\n\r\nfunction isSubsetOrSame(mainArray: string[], subArray: string[]): boolean {\r\n // if we have super wildcard we need to check reversed array\r\n // if (subArray.includes('**')) {\r\n const reversedMainArray = mainArray.slice(); //.reverse();\r\n const reversedSubArray = subArray.slice(); //.reverse();\r\n\r\n for (let i = 0; i < reversedSubArray.length; i++) {\r\n if (reversedSubArray[i] === '**') {\r\n return true;\r\n }\r\n if ((reversedMainArray[i] !== reversedSubArray[i]) && reversedSubArray[i] !== '*') {\r\n return false;\r\n }\r\n }\r\n return true;\r\n\r\n // } else {\r\n // if (subArray.length > mainArray.length) return false;\r\n\r\n // for (let i = 0; i < subArray.length; i++) {\r\n // if ((mainArray[i] !== subArray[i]) && subArray[i] !== '*') {\r\n // return false;\r\n // }\r\n // }\r\n // return true;\r\n // }\r\n}","import {\r\n AfterContentInit,\r\n Component,\r\n ContentChildren,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n QueryList,\r\n} from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { SdsNavigationRouteLinkComponent } from '../navigation-route-link/navigation-route-link.component';\r\n\r\nimport { faAngleUp, faAngleDown } from '@fortawesome/pro-regular-svg-icons';\r\nimport { filter, Subject, takeUntil } from 'rxjs';\r\nimport { isUrlPartOfNavigationGroup, removeQueryParams } from '../utils/navigation.utils';\r\n\r\n@Component({\r\n selector: 'sds-navigation-group',\r\n templateUrl: './navigation-group.component.html',\r\n styleUrls: ['./navigation-group.component.scss'],\r\n})\r\nexport class SdsNavigationGroupComponent implements OnInit, OnDestroy {\r\n /**\r\n * List of paths allowed/expected within this module.\r\n * These are paths that are not accessible through child navigation\r\n * elements, but through links in other parts of the application (e.g. link\r\n * on form)\r\n */\r\n private _navigationGroupNestedRoutes: string[] = [];\r\n @Input()\r\n set navigationGroupNestedRoutes(value: string[]) {\r\n this._navigationGroupNestedRoutes = value;\r\n }\r\n get navigationGroupNestedRoutes() {\r\n return this._navigationGroupNestedRoutes;\r\n }\r\n\r\n @Input() text: string = '';\r\n @Input() icon: string = '';\r\n @Input() defaultRouterLink: string = '';\r\n @Input() reverse = false;\r\n @Input() ignoreQueryParamsInActiveRoute = false;\r\n @Input() disabled = false;\r\n @Input() showPopover = false;\r\n @Input() showPopoverHeader = false;\r\n\r\n @ContentChildren(SdsNavigationRouteLinkComponent)\r\n routerLinkComponents: QueryList<SdsNavigationRouteLinkComponent> = new QueryList<SdsNavigationRouteLinkComponent>();\r\n\r\n active: boolean = false; \r\n\r\n faAngleUpRegular = faAngleUp;\r\n faAngleDownRegular = faAngleDown;\r\n\r\n /**\r\n * Current app URL (e.g. ['layout-showcase', 'default'])\r\n */\r\n currentUrl: string[] = [];\r\n\r\n private _unsubscribe: Subject<void> = new Subject<void>();\r\n \r\n public isGroupActive: boolean = false;\r\n\r\n\r\n constructor(private _router: Router) {}\r\n\r\n ngOnInit(): void {\r\n this._router.events.pipe(\r\n filter((event: any) => event instanceof NavigationEnd),\r\n takeUntil(this._unsubscribe)\r\n ).subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n const activeRoute = this.ignoreQueryParamsInActiveRoute ? removeQueryParams(event.url) : event.url;\r\n const route: string[] = activeRoute.split('/').filter(item => item.length > 0);\r\n this.currentUrl = route;\r\n this.isGroupActive = isUrlPartOfNavigationGroup(this.currentUrl, this.navigationGroupNestedRoutes, this.defaultRouterLink);\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unsubscribe.next();\r\n this._unsubscribe.complete();\r\n }\r\n\r\n onHiding(e: any) {\r\n const popoverContent = e.component.content().parentNode;\r\n const isMouseInsidePopover = popoverContent.matches(':hover');\r\n e.cancel = isMouseInsidePopover;\r\n\r\n popoverContent.addEventListener('mouseleave', () => {\r\n popoverContent.removeEventListener('mouseleave', () => {});\r\n e.component.hide();\r\n \r\n });\r\n \r\n }\r\n}\r\n","<div \r\n #navigationGroup\r\n class=\"sds-navigation-group sds-navigation-item-container d-flex\"\r\n [class.flex-column-reverse]=\"reverse\"\r\n [class.flex-column]=\"!reverse\"\r\n [class.disabled]=\"disabled\"\r\n [class.active]=\"isGroupActive\"\r\n >\r\n <a \r\n class=\"w-100 sds-navigation-item-content\"\r\n style=\"cursor: pointer\"\r\n [routerLink]=\"[defaultRouterLink]\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"sds-navigation-icon\" >\r\n <ng-content select=\"[navigationIcon]\"></ng-content>\r\n </div>\r\n <div class=\"sds-navigation-text user-select-none\">\r\n {{ text }}\r\n </div>\r\n <div class=\"text-right\">\r\n <fa-icon *ngIf=\"!reverse\" [icon]=\"faAngleDownRegular\"></fa-icon>\r\n <fa-icon *ngIf=\"reverse\" [icon]=\"faAngleUpRegular\"></fa-icon>\r\n </div>\r\n </div>\r\n </a>\r\n\r\n <div *ngIf=\"isGroupActive\" class=\"sds-navigation-group-items\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n\r\n<ng-container *ngIf=\"showPopover && !isGroupActive\">\r\n <dx-popover\r\n [target]=\"navigationGroup\"\r\n [showEvent]=\"{ name: 'dxhoverstart', delay: 100 }\"\r\n [hideEvent]=\"{ name: 'dxhoverend', delay: 100 }\"\r\n (onHiding)=\"onHiding($event)\"\r\n width=\"15rem\"\r\n [wrapperAttr]=\"{ class: 'sds-navigation-group-popover-wrapper sds-dx-popup-content-padding-2' }\"\r\n [hideOnOutsideClick]=\"true\"\r\n [hideOnParentScroll]=\"true\"\r\n [animation]=\"{}\"\r\n >\r\n\r\n <dxo-position\r\n my=\"top left\"\r\n at=\"top right\"\r\n [of]=\"navigationGroup\"\r\n offset=\"-12 0\"\r\n >\r\n </dxo-position>\r\n\r\n <div *ngIf=\"showPopoverHeader\" class=\"group-header user-select-none\">\r\n {{ text }}\r\n </div>\r\n <div \r\n class=\"sds-navigation-container sds-navigation-popover-container sds-scrollbar sds-scrollbar-thin sds-scrollbar-no-hide\"\r\n >\r\n <div class=\"sds-navigation-group-items\">\r\n <ng-content select=\"[popoverContent]\"></ng-content>\r\n </div>\r\n </div>\r\n </dx-popover>\r\n</ng-container>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sds-navigation-container',\r\n templateUrl: './navigation-container.component.html',\r\n styleUrls: ['./navigation-container.component.scss'],\r\n})\r\nexport class SdsNavigationContainerComponent implements OnInit {\r\n @Input() product: string;\r\n\r\n constructor() {\r\n this.product = 'all-hours';\r\n }\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<div \r\n class=\"sds-navigation-container\"\r\n [class]=\"'product-' + product\">\r\n <ng-content></ng-content>\r\n</div>","import { Component, Input, OnInit } from '@angular/core';\r\nimport { faExternalLink } from '@fortawesome/pro-regular-svg-icons';\r\n\r\n@Component({\r\n selector: 'sds-navigation-external-link',\r\n templateUrl: './navigation-external-link.component.html',\r\n styleUrls: ['./navigation-external-link.component.scss']\r\n})\r\nexport class SdsNavigationExternalLinkComponent implements OnInit {\r\n\r\n @Input() link: string = '';\r\n @Input() text: string = '';\r\n @Input() tabName: string = '_blank'\r\n @Input() externalLinkHint = '';\r\n @Input() showExternalLinkIcon = true;\r\n\r\n\r\n public externalLinkIcon = faExternalLink;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n openLink(){\r\n window.open(this.link, this.tabName);\r\n }\r\n\r\n}\r\n","<div \r\n class=\"sds-navigation-external-link sds-navigation-item-container\">\r\n <a class=\"w-100 sds-navigation-item-content\" (click)=\"openLink()\" >\r\n <div class=\"d-flex align-items-center position-relative\">\r\n <div class=\"sds-navigation-icon\" >\r\n <ng-content select=\"[navigationIcon]\"></ng-content>\r\n </div>\r\n\r\n <div class=\"sds-navigation-text\">\r\n <span>{{ text }}</span>\r\n </div>\r\n\r\n <div \r\n class=\"sds-navigation-external-link-info-container\">\r\n <fa-icon \r\n class=\"sds-navigation-external-link-info-icon\"\r\n *ngIf=\"showExternalLinkIcon\"\r\n\r\n [icon]=\"externalLinkIcon\"\r\n [size]=\"'xs'\"\r\n [title]=\"externalLinkHint\"\r\n >\r\n </fa-icon>\r\n </div> \r\n \r\n <ng-content></ng-content>\r\n\r\n </div>\r\n </a>\r\n</div>","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { isUrlPartOfNavigationGroup } from '../utils/navigation.utils';\r\n\r\n@Pipe({\r\n name: 'navigationRouteActive'\r\n})\r\nexport class NavigationRouteActivePipe implements PipeTransform {\r\n\r\n transform(currentUrl: string[], ...args: unknown[]): boolean {\r\n if (!currentUrl || currentUrl?.length === 0) {\r\n return false;\r\n }\r\n const nestedRoutes: string[] = args[0] as string[];\r\n const defaultGroupUrl: string = (args[1] as string).replace('/', '');\r\n\r\n let showWarningForMissingNestedRoutes = false;\r\n if (args.length >= 3) {\r\n showWarningForMissingNestedRoutes = args[2] as boolean;\r\n } \r\n\r\n const isPart = isUrlPartOfNavigationGroup(currentUrl, nestedRoutes, defaultGroupUrl);\r\n\r\n if (showWarningForMissingNestedRoutes) {\r\n console.warn(\r\n `Nested routes were defined in sds-navigation-group component, however route \"${currentUrl}\" is not a part of the nested routes list (${nestedRoutes?.join(', ')}). Maybe you forgot to include it? `\r\n );\r\n }\r\n\r\n return isPart;\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, OnChanges, Output, SimpleChanges } from '@angular/core';\r\nimport { NavigationProfile } from './navigation-profile.model';\r\nimport { faSignOut, faUser } from '@fortawesome/pro-regular-svg-icons';\r\n\r\n\r\n@Component({\r\n selector: 'sds-navigation-user-profile',\r\n templateUrl: './navigation-user-profile.component.html',\r\n styleUrls: ['./navigation-user-profile.component.scss'],\r\n})\r\nexport class SdsNavigationUserProfileComponent implements OnInit, OnChanges {\r\n @Input() profile: NavigationProfile | null = null;\r\n @Input() additionalProfiles: NavigationProfile[] = [];\r\n\r\n @Input() activeProfileId: string | null = null;\r\n @Output() activeProfileIdChange: EventEmitter<string | null> = new EventEmitter<string | null>();\r\n @Input() activeProfileInfo: string = '';\r\n\r\n @Input() showSignOut: boolean = true;\r\n @Input() showProfile: boolean = true;\r\n @Input() showTopBorder: boolean = false;\r\n\r\n @Input() signOutText: string = 'Sign out';\r\n @Input() profileText: string = 'Profile';\r\n\r\n @Input() showNotificationBadge: boolean = false;\r\n @Input() newNotificationsText: string = 'New Notifications';\r\n\r\n @Output() profileClick: EventEmitter<void> = new EventEmitter<void>();\r\n @Output() signOutClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output() notificationBadgeClick: EventEmitter<void> = new EventEmitter<void>();\r\n \r\n public showOptions: boolean = false;\r\n\r\n protected activeProfile: NavigationProfile | null = null;\r\n\r\n protected userProfileIcon = faUser;\r\n protected signOutIcon = faSignOut\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['activeProfileId'] || changes['profile'] || changes['additionalProfiles']) {\r\n if (this.activeProfileId === null) {\r\n this.activeProfile = this.profile;\r\n } else if (this.activeProfileId === this.profile?.id) {\r\n this.activeProfile = this.profile;\r\n } else {\r\n this.activeProfile = this.additionalProfiles.find(profile => profile.id === this.activeProfileId) || null;\r\n }\r\n }\r\n }\r\n\r\n public onProfileClick(): void {\r\n this.showOptions = false;\r\n this.profileClick.emit();\r\n }\r\n\r\n public onSignOutClick(): void {\r\n this.showOptions = false;\r\n this.signOutClick.emit();\r\n }\r\n\r\n public onNotificationBadgeClick(event: MouseEvent): void {\r\n event.stopPropagation();\r\n this.notificationBadgeClick.emit();\r\n }\r\n\r\n public onActiveProfileIdChange(id: string | null) {\r\n this.activeProfileIdChange.emit(id);\r\n \r\n setTimeout(() => {\r\n this.showOptions = false;\r\n }, 100);\r\n }\r\n}\r\n","<div class=\"d-flex flex-row align-items-center gap-2 sds-navigation-user-profile-container user-select-none\"\r\n (click)=\"showOptions = !showOptions\">\r\n\r\n <div class=\"position-relative\">\r\n\r\n <sds-avatar\r\n [text]=\"activeProfile?.name\"\r\n [colorKey]=\"activeProfile?.id\"\r\n [pictureUri]=\"activeProfile?.pictureUri\"\r\n > \r\n </sds-avatar>\r\n\r\n <span \r\n *ngIf=\"showNotificationBadge\"\r\n class=\"position-absolute notification-badge translate-middle bg-danger border border-light rounded-circle\"\r\n (click)=\"onNotificationBadgeClick($event)\">\r\n <span class=\"visually-hidden\">{{newNotificationsText}}</span>\r\n </span>\r\n </div>\r\n\r\n\r\n <div class=\"sds-flex-column\">\r\n <span\r\n #nameElement \r\n class=\"truncate-two-lines\">\r\n {{activeProfile?.name}}\r\n </span> \r\n\r\n <span class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{activeProfileInfo}}\r\n </span>\r\n </div>\r\n\r\n\r\n</div> \r\n\r\n<dx-popover\r\n [target]=\"nameElement\"\r\n minWidth=\"12.5rem\"\r\n maxWidth=\"20rem\"\r\n [(visible)]=\"showOptions\"\r\n [wrapperAttr]=\"{ class: 'sds-navigation-user-profile-popover sds-dx-popup-no-arrow sds-dx-popup-content-padding-1' }\"\r\n >\r\n <div>\r\n <ng-container \r\n [ngTemplateOutlet]=\"profileTemplate\"\r\n [ngTemplateOutletContext]=\"{ profile: profile, showRadio: additionalProfiles && additionalProfiles.length > 1 }\">\r\n </ng-container>\r\n\r\n <ng-container *ngFor=\"let profile of additionalProfiles\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"profileTemplate\"\r\n [ngTemplateOutletContext]=\"{ profile: profile, showRadio: additionalProfiles && additionalProfiles.length > 1 }\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n \r\n <ng-content></ng-content>\r\n\r\n <div class=\"border-top\"></div>\r\n\r\n <ul \r\n class=\"list-unstyled sds-navigation-user-profile-actions mb-0 mt-2\" \r\n >\r\n <li *ngIf=\"showProfile\">\r\n <a \r\n class=\"d-block text-black\"\r\n (click)=\"onProfileClick()\" \r\n >\r\n <fa-icon class=\"me-2\" [fixedWidth]=\"true\" [size]=\"'sm'\" [icon]=\"userProfileIcon\"></fa-icon>\r\n <span>{{profileText}}</span>\r\n </a>\r\n </li>\r\n\r\n <li>\r\n <a \r\n *ngIf=\"showSignOut\"\r\n class=\"d-block text-black\"\r\n (click)=\"onSignOutClick()\" \r\n >\r\n <fa-icon class=\"me-2\" [fixedWidth]=\"true\" [size]=\"'sm'\" [icon]=\"signOutIcon\"></fa-icon>\r\n <span>{{signOutText}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n\r\n</dx-popover>\r\n\r\n\r\n<ng-template #profileTemplate let-profile=\"profile\" let-showRadio=\"showRadio\">\r\n\r\n <label class=\"d-flex flex-row gap-3 align-items-center p-2 ps-2 pe-3 rounded-1\">\r\n <sds-avatar\r\n [text]=\"profile.name\"\r\n [colorKey]=\"profile.id\"\r\n [pictureUri]=\"profile.pictureUri\"\r\n [size]=\"2.4\"\r\n > \r\n </sds-avatar>\r\n\r\n <div \r\n class=\"flex-grow-1 flex-shrink-1 text-body\"\r\n [style.minWidth.px]=\"1\"\r\n >\r\n <span class=\"sds-fw-500 sds-fs-100 text-truncate\">\r\n {{profile.name}}\r\n </span>\r\n <div class=\"sds-fw-400 sds-fs-75 text-truncate text-muted\">\r\n {{profile.info}}\r\n </div>\r\n </div>\r\n\r\n <input \r\n *ngIf=\"showRadio\"\r\n class=\"mx-1\" type=\"radio\" name=\"profile\" value=\"{{profile.id}}\" \r\n [ngModel]=\"activeProfileId\" \r\n (ngModelChange)=\"onActiveProfileIdChange($event)\" />\r\n </label>\r\n</ng-template>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ProductModel } from '@spicainternational/ngx-sds-components/src/lib/app-switcher';\r\n\r\n\r\n@Component({\r\n selector: 'sds-product-home',\r\n templateUrl: './product-home.component.html',\r\n styleUrls: ['./product-home.component.scss'],\r\n})\r\nexport class SdsProductHomeComponent implements OnInit {\r\n\r\n @Input() public logoUrl?: string;\r\n @Input() public logoAltText?: string;\r\n @Input() public moduleTitle?: string;\r\n\r\n @Input() public showAppSwitcher = false;\r\n @Input() public appSwitcherProductCode: Number | undefined;\r\n @Input() public appSwitcherUserProductCodes: Number[] | undefined;\r\n @Input() public appSwitcherTenantProducts: ProductModel[] | undefined;\r\n @Input() public appSwitcherSwitchText: string = '';\r\n @Input() public appSwitcherDiscoverText: string = ''; \r\n\r\n @Input() public allowHeaderClick = false;\r\n\r\n @Output() public productSwitched: EventEmitter<ProductModel> = new EventEmitter<ProductModel>(); \r\n @Output() public headerClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n protected onProductClick(product: ProductModel): void {\r\n this.productSwitched.emit(product);\r\n }\r\n\r\n protected onHeaderClick(): void {\r\n if (this. allowHeaderClick) {\r\n this.headerClick.emit();\r\n }\r\n }\r\n}\r\n","<div class=\"product-header pb-2 mb-2 align-items-start\">\r\n <sds-app-switcher\r\n *ngIf=\"showAppSwitcher\"\r\n class=\"app-switcher\"\r\n [productCode]=\"appSwitcherProductCode\"\r\n [userProductCodes]=\"appSwitcherUserProductCodes\"\r\n [tenantProducts]=\"appSwitcherTenantProducts\"\r\n [switchText]=\"appSwitcherSwitchText\"\r\n [discoverText]=\"appSwitcherDiscoverText\"\r\n (productClick)=\"onProductClick($event)\"\r\n >\r\n </sds-app-switcher>\r\n\r\n <div \r\n class=\"ms-2\"\r\n (click)=\"onHeaderClick()\"\r\n [class.sds-cursor-pointer]=\"allowHeaderClick\"\r\n >\r\n <img \r\n class=\"product-logo\"\r\n [src]=\"logoUrl\" \r\n [alt]=\"logoAltText\"\r\n > \r\n <h6 \r\n *ngIf=\"moduleTitle\"\r\n class=\"mt-2\"\r\n >\r\n {{moduleTitle}}\r\n </h6>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\n\r\nimport { SdsNavigationSeparatorComponent } from './navigation-separator/navigation-separator.component';\r\nimport { SdsNavigationHeaderComponent } from './navigation-header/navigation-header.component';\r\nimport { SdsNavigationGroupComponent } from './navigation-group/navigation-group.component';\r\nimport { SdsNavigationRouteLinkComponent } from './navigation-route-link/navigation-route-link.component';\r\nimport { SdsNavigationContainerComponent } from './navigation-container/navigation-container.component';\r\nimport { SdsNavigationExternalLinkComponent } from './navigation-external-link/navigation-external-link.component';\r\nimport { NavigationRouteActivePipe } from './pipes/navigation-route-active.pipe';\r\nimport { SdsNavigationUserProfileComponent } from './navigation-user-profile/navigation-user-profile.component';\r\nimport { SdsAvatarModule } from '@spicainternational/ngx-sds-components/src/lib/avatar';\r\nimport { DxPopoverModule } from 'devextreme-angular/ui/popover';\r\nimport { SdsProductHomeComponent } from './product-home/product-home.component';\r\nimport { SdsAppSwitcherModule } from '@spicainternational/ngx-sds-components/src/lib/app-switcher';\r\nimport { DxScrollViewModule } from 'devextreme-angular';\r\nimport { SdsTooltipModule } from '@spicainternational/ngx-sds-components/src/lib/tooltip';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n\r\n// import { NavigationGroupComponent } from './navigation-group/navigation-group.component';\r\n// import { NavigationRouteLinkComponent } from './navigation-route-link/navigation-route-link.component';\r\n// import { NavigationSeparatorComponent } from './navigation-separator/navigation-separator.component';\r\n// import { NavigationHeaderComponent } from './navigation-header/navigation-header.component';\r\n\r\nconst components = [\r\n SdsNavigationGroupComponent,\r\n SdsNavigationRouteLinkComponent,\r\n SdsNavigationSeparatorComponent,\r\n SdsNavigationHeaderComponent,\r\n SdsNavigationContainerComponent,\r\n SdsNavigationExternalLinkComponent,\r\n SdsNavigationUserProfileComponent,\r\n SdsProductHomeComponent\r\n]\r\n\r\n@NgModule({\r\n declarations: [\r\n ...components,\r\n NavigationRouteActivePipe,\r\n SdsNavigationUserProfileComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n RouterModule,\r\n SdsAvatarModule,\r\n SdsAppSwitcherModule,\r\n FontAwesomeModule,\r\n DxPopoverModule,\r\n DxScrollViewModule,\r\n SdsTooltipModule\r\n ],\r\n exports: [\r\n ...components\r\n ]\r\n})\r\nexport class SdsNavigationModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1","i3","i4","i5"],"mappings":"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"}
|