@cqa-lib/cqa-ui 1.1.557-beta.20 → 1.1.557-beta.23

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.
@@ -151,11 +151,11 @@ export class NavItemComponent {
151
151
  }, NavItemComponent.FLYOUT_CLOSE_DELAY_MS);
152
152
  }
153
153
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NavItemComponent, deps: [{ token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Component });
154
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: NavItemComponent, selector: "cqa-nav-item", inputs: { item: "item", isActive: "isActive", isExpanded: "isExpanded", isOpen: "isOpen", activeNavId: "activeNavId" }, outputs: { itemClick: "itemClick" }, viewQueries: [{ propertyName: "navHostRef", first: true, predicate: ["navHost"], descendants: true }], ngImport: i0, template: "<div id=\"cqa-ui-root\" style=\"display:block\">\n <div\n #navHost\n class=\"cqa-nav-host\"\n [class.cqa-nav-host--collapsed]=\"!isExpanded\"\n (mouseenter)=\"onHostMouseEnter()\"\n (mouseleave)=\"onHostMouseLeave()\"\n (focusin)=\"onHostFocusIn($event)\"\n (focusout)=\"onHostFocusOut($event)\">\n\n <button\n cdkOverlayOrigin\n #flyoutOrigin=\"cdkOverlayOrigin\"\n class=\"cqa-nav-item\"\n [class.cqa-nav-item--active]=\"isActive\"\n [class.cqa-nav-item--has-children]=\"hasChildren\"\n [class.cqa-nav-item--collapsed]=\"!isExpanded\"\n [class.cqa-nav-item--disabled]=\"item?.disabled\"\n [class.cqa-nav-item--has-live]=\"item?.status === 'live'\"\n [matTooltip]=\"collapsedRailTooltip\"\n [matTooltipDisabled]=\"!collapsedRailTooltip\"\n [matTooltipClass]=\"collapsedRailTooltipClass\"\n matTooltipPosition=\"right\"\n (click)=\"onClick()\"\n type=\"button\"\n [attr.aria-label]=\"!isExpanded ? (item?.label || '') : null\"\n [attr.aria-expanded]=\"!isExpanded && hasChildren ? showCollapsedFlyout : null\"\n [attr.aria-haspopup]=\"!isExpanded && hasChildren ? 'menu' : null\">\n\n <!-- Icon -->\n <span class=\"cqa-nav-icon\">\n <i [class]=\"item?.iconClass\"></i>\n </span>\n\n <!-- Label (hidden when sidebar collapsed) -->\n <span class=\"cqa-nav-label\" [class.cqa-nav-label--visible]=\"isExpanded\">\n {{ item?.label }}\n </span>\n\n <!-- Trailing slot: only shown when expanded -->\n <ng-container *ngIf=\"isExpanded\">\n <span *ngIf=\"item?.badge && !hasChildren\" class=\"cqa-nav-badge\">{{ item.badge }}</span>\n\n <span\n *ngIf=\"item?.status === 'live' && !hasChildren\"\n class=\"cqa-nav-status-dot cqa-nav-status-dot--live\">\n </span>\n\n <span\n *ngIf=\"item?.status === 'danger' && !hasChildren\"\n class=\"cqa-nav-status-dot cqa-nav-status-dot--danger\">\n </span>\n\n <span *ngIf=\"hasChildren\" class=\"cqa-nav-chev\" [class.cqa-nav-chev--open]=\"isOpen\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\n stroke-linecap=\"round\" stroke-linejoin=\"round\" width=\"14\" height=\"14\">\n <polyline points=\"9,6 15,12 9,18\"/>\n </svg>\n </span>\n </ng-container>\n\n <span\n *ngIf=\"!isExpanded && item?.status === 'live'\"\n class=\"cqa-nav-live-corner\">\n </span>\n </button>\n\n <!-- Collapsed parent submenu: CDK overlay (outside aside / scrolling nav) -->\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"flyoutOrigin\"\n [cdkConnectedOverlayOpen]=\"collapsedFlyoutOpen\"\n [cdkConnectedOverlayPositions]=\"collapsedFlyoutPositions\"\n [cdkConnectedOverlayHasBackdrop]=\"false\"\n [cdkConnectedOverlayPush]=\"true\"\n [cdkConnectedOverlayScrollStrategy]=\"flyoutScrollStrategy\"\n [cdkConnectedOverlayPanelClass]=\"'cqa-nav-flyout-overlay-pane'\"\n (overlayOutsideClick)=\"closeCollapsedFlyout()\"\n (detach)=\"closeCollapsedFlyout()\">\n <div\n class=\"cqa-nav-flyout-overlay cqa-nav-flyout-panel\"\n role=\"menu\"\n [attr.aria-label]=\"item.label\"\n (mouseenter)=\"onFlyoutOverlayPointerEnter()\"\n (mouseleave)=\"onFlyoutOverlayPointerLeave()\"\n (focusout)=\"onFlyoutOverlayFocusOut($event)\">\n <div class=\"cqa-nav-flyout-panel-title\">{{ item.label }}</div>\n <button\n *ngFor=\"let child of item?.children\"\n type=\"button\"\n role=\"menuitem\"\n class=\"cqa-nav-flyout-row\"\n [class.cqa-nav-flyout-row--active]=\"isChildRowActive(child.id)\"\n [disabled]=\"child.disabled\"\n (click)=\"onChildRowClick($event, child)\">\n <span class=\"cqa-nav-flyout-row-icon\">\n <i *ngIf=\"child.iconClass\" [class]=\"child.iconClass\"></i>\n </span>\n <span class=\"cqa-nav-flyout-row-label\">{{ child.label }}</span>\n <span *ngIf=\"child.isNew\" class=\"cqa-nav-flyout-row-new\">New</span>\n </button>\n </div>\n </ng-template>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.cqa-nav-host{display:block;width:100%}.cqa-nav-host--collapsed{display:flex;flex-direction:column;align-items:center;position:relative;z-index:1}.cqa-nav-host--collapsed:hover,.cqa-nav-host--collapsed:focus-within{z-index:30}.cqa-nav-item{display:flex;align-items:center;gap:12px;padding:9px 10px;margin:1px 8px;border-radius:9px;color:#ffffffd9;font-size:14px;font-weight:600;line-height:normal;width:calc(100% - 16px);text-align:left;background:transparent;border:none;cursor:pointer;position:relative;transition:background .12s,color .12s;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.cqa-nav-item:not(.cqa-nav-item--collapsed){color:#d8d9fc}.cqa-nav-item:hover:not(.cqa-nav-item--active):not(.cqa-nav-item--disabled){background:#ffffff1f;color:#fff}.cqa-nav-item--active:not(.cqa-nav-item--collapsed){background:#b1b2f81f;font-weight:600;margin:1px 10px;width:calc(100% - 20px);box-shadow:inset 3px 0 #b1b2f8;color:#fff}.cqa-nav-item--active:not(.cqa-nav-item--collapsed).cqa-nav-item--has-children{color:#d8d9fc}.cqa-nav-item--active:not(.cqa-nav-item--collapsed):hover{background:#b1b2f829}.cqa-nav-item--active:not(.cqa-nav-item--collapsed).cqa-nav-item--has-children:hover{color:#d8d9fc}.cqa-nav-item--active:not(.cqa-nav-item--collapsed):not(.cqa-nav-item--has-children):hover{color:#fff}.cqa-nav-item--active.cqa-nav-item--collapsed{background:#b1b2f86b;color:#fff;font-weight:600;box-shadow:inset 0 0 0 1px #d8d9fc4d}.cqa-nav-item.cqa-nav-item--collapsed:hover:not(.cqa-nav-item--active):not(.cqa-nav-item--disabled){background:#4c50ef;box-shadow:none}.cqa-nav-item--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.cqa-nav-item.cqa-nav-item--collapsed{justify-content:center;align-items:center;gap:0;padding:9px 0;margin:1px 0;width:40px;max-width:100%;box-sizing:border-box;color:#ffffffe0;overflow:visible;z-index:1}.cqa-nav-item.cqa-nav-item--collapsed .cqa-nav-label{flex:0 0 0;width:0;min-width:0;height:0;margin:0;padding:0;overflow:hidden;opacity:0;border:0;pointer-events:none}.cqa-nav-item.cqa-nav-item--collapsed:hover{z-index:auto}.cqa-nav-icon{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:18px;color:inherit}.cqa-nav-item--collapsed .cqa-nav-icon i{display:flex;align-items:center;justify-content:center;width:100%;height:100%;line-height:1}.cqa-nav-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity .16s 80ms;color:inherit}.cqa-nav-label--visible{opacity:1}.cqa-nav-badge{font-size:11px;font-weight:600;background:#ffffff2e;color:#fff;padding:1px 7px;border-radius:999px;flex-shrink:0}.cqa-nav-status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.cqa-nav-status-dot--live{background:#0dbd7d;box-shadow:0 0 6px #0dbd7d;animation:cqa-nav-pulse 2s ease-in-out infinite}.cqa-nav-status-dot--danger{background:#ee3f3f}.cqa-nav-chev{width:14px;height:14px;opacity:.6;flex-shrink:0;transition:transform .2s;display:flex;align-items:center;justify-content:center}.cqa-nav-chev--open{transform:rotate(90deg)}.cqa-nav-live-corner{position:absolute;top:5px;right:5px;width:9px;height:9px;background:#0dbd7d;border-radius:50%;border:2px solid #3f43ee;box-shadow:0 0 6px #0dbd7d}@keyframes cqa-nav-pulse{0%,to{opacity:1}50%{opacity:.4}}.cqa-nav-flyout-panel{min-width:188px;max-width:280px;padding:10px 8px 8px;background:#4c50ef;border-radius:10px;box-shadow:0 12px 32px #00000047;border:1px solid rgba(255,255,255,.12);pointer-events:auto;text-align:left;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.cqa-nav-flyout-panel-title{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ffffff8c;padding:2px 8px 8px;line-height:1.2}.cqa-nav-flyout-row{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;margin:0 0 2px;border:none;border-radius:8px;background:transparent;color:#fff;font-size:13px;font-weight:500;text-align:left;cursor:pointer;transition:background .12s,color .12s;font-family:inherit}.cqa-nav-flyout-row:last-child{margin-bottom:0}.cqa-nav-flyout-row:hover:not(:disabled){background:#ffffff1a;color:#fff}.cqa-nav-flyout-row:disabled{opacity:.45;cursor:not-allowed}.cqa-nav-flyout-row--active{background:#8a8cf4;color:#fbfcff;font-weight:600}.cqa-nav-flyout-row--active:hover:not(:disabled){background:#8a8cf4;color:#fbfcff}.cqa-nav-flyout-row-icon{width:16px;height:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px;opacity:.95}.cqa-nav-flyout-row-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cqa-nav-flyout-row-new{flex-shrink:0;font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px;background:#feecbd;color:#7e6012;border:1px solid #fddf92}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }] });
154
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: NavItemComponent, selector: "cqa-nav-item", inputs: { item: "item", isActive: "isActive", isExpanded: "isExpanded", isOpen: "isOpen", activeNavId: "activeNavId" }, outputs: { itemClick: "itemClick" }, viewQueries: [{ propertyName: "navHostRef", first: true, predicate: ["navHost"], descendants: true }], ngImport: i0, template: "<div class=\"cqa-nav-surface\">\n <div\n #navHost\n class=\"cqa-nav-host\"\n [class.cqa-nav-host--collapsed]=\"!isExpanded\"\n (mouseenter)=\"onHostMouseEnter()\"\n (mouseleave)=\"onHostMouseLeave()\"\n (focusin)=\"onHostFocusIn($event)\"\n (focusout)=\"onHostFocusOut($event)\">\n\n <button\n cdkOverlayOrigin\n #flyoutOrigin=\"cdkOverlayOrigin\"\n class=\"cqa-nav-item\"\n [class.cqa-nav-item--active]=\"isActive\"\n [class.cqa-nav-item--has-children]=\"hasChildren\"\n [class.cqa-nav-item--collapsed]=\"!isExpanded\"\n [class.cqa-nav-item--disabled]=\"item?.disabled\"\n [class.cqa-nav-item--has-live]=\"item?.status === 'live'\"\n [matTooltip]=\"collapsedRailTooltip\"\n [matTooltipDisabled]=\"!collapsedRailTooltip\"\n [matTooltipClass]=\"collapsedRailTooltipClass\"\n matTooltipPosition=\"right\"\n (click)=\"onClick()\"\n type=\"button\"\n [attr.aria-label]=\"!isExpanded ? (item?.label || '') : null\"\n [attr.aria-expanded]=\"!isExpanded && hasChildren ? showCollapsedFlyout : null\"\n [attr.aria-haspopup]=\"!isExpanded && hasChildren ? 'menu' : null\">\n\n <!-- Icon -->\n <span class=\"cqa-nav-icon\">\n <i [class]=\"item?.iconClass\"></i>\n </span>\n\n <!-- Label (hidden when sidebar collapsed) -->\n <span class=\"cqa-nav-label\" [class.cqa-nav-label--visible]=\"isExpanded\">\n {{ item?.label }}\n </span>\n\n <!-- Trailing slot: only shown when expanded -->\n <ng-container *ngIf=\"isExpanded\">\n <span *ngIf=\"item?.badge && !hasChildren\" class=\"cqa-nav-badge\">{{ item.badge }}</span>\n\n <span\n *ngIf=\"item?.status === 'live' && !hasChildren\"\n class=\"cqa-nav-status-dot cqa-nav-status-dot--live\">\n </span>\n\n <span\n *ngIf=\"item?.status === 'danger' && !hasChildren\"\n class=\"cqa-nav-status-dot cqa-nav-status-dot--danger\">\n </span>\n\n <span *ngIf=\"hasChildren\" class=\"cqa-nav-chev\" [class.cqa-nav-chev--open]=\"isOpen\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\n stroke-linecap=\"round\" stroke-linejoin=\"round\" width=\"14\" height=\"14\">\n <polyline points=\"9,6 15,12 9,18\"/>\n </svg>\n </span>\n </ng-container>\n\n <span\n *ngIf=\"!isExpanded && item?.status === 'live'\"\n class=\"cqa-nav-live-corner\">\n </span>\n </button>\n\n <!-- Collapsed parent submenu: CDK overlay (outside aside / scrolling nav) -->\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"flyoutOrigin\"\n [cdkConnectedOverlayOpen]=\"collapsedFlyoutOpen\"\n [cdkConnectedOverlayPositions]=\"collapsedFlyoutPositions\"\n [cdkConnectedOverlayHasBackdrop]=\"false\"\n [cdkConnectedOverlayPush]=\"true\"\n [cdkConnectedOverlayScrollStrategy]=\"flyoutScrollStrategy\"\n [cdkConnectedOverlayPanelClass]=\"'cqa-nav-flyout-overlay-pane'\"\n (overlayOutsideClick)=\"closeCollapsedFlyout()\"\n (detach)=\"closeCollapsedFlyout()\">\n <div\n class=\"cqa-nav-flyout-overlay cqa-nav-flyout-panel\"\n role=\"menu\"\n [attr.aria-label]=\"item.label\"\n (mouseenter)=\"onFlyoutOverlayPointerEnter()\"\n (mouseleave)=\"onFlyoutOverlayPointerLeave()\"\n (focusout)=\"onFlyoutOverlayFocusOut($event)\">\n <div class=\"cqa-nav-flyout-panel-title\">{{ item.label }}</div>\n <button\n *ngFor=\"let child of item?.children\"\n type=\"button\"\n role=\"menuitem\"\n class=\"cqa-nav-flyout-row\"\n [class.cqa-nav-flyout-row--active]=\"isChildRowActive(child.id)\"\n [disabled]=\"child.disabled\"\n (click)=\"onChildRowClick($event, child)\">\n <span class=\"cqa-nav-flyout-row-icon\">\n <i *ngIf=\"child.iconClass\" [class]=\"child.iconClass\"></i>\n </span>\n <span class=\"cqa-nav-flyout-row-label\">{{ child.label }}</span>\n <span *ngIf=\"child.isNew\" class=\"cqa-nav-flyout-row-new\">New</span>\n </button>\n </div>\n </ng-template>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.cqa-nav-surface,.cqa-nav-host{display:block;width:100%}.cqa-nav-host--collapsed{display:flex;flex-direction:column;align-items:center;position:relative;z-index:1}.cqa-nav-host--collapsed:hover,.cqa-nav-host--collapsed:focus-within{z-index:30}.cqa-nav-item{display:flex;align-items:center;gap:12px;padding:9px 10px;margin:1px 8px;border-radius:9px;color:#ffffffd9;font-size:14px;font-weight:600;line-height:1;letter-spacing:0;width:calc(100% - 16px);text-align:left;background:transparent;border:none;cursor:pointer;position:relative;transition:background .12s,color .12s;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.cqa-nav-item:not(.cqa-nav-item--collapsed){color:#d8d9fc}.cqa-nav-item:hover:not(.cqa-nav-item--active):not(.cqa-nav-item--disabled){background:#ffffff1f;color:#fff}.cqa-nav-item--active:not(.cqa-nav-item--collapsed){background:#8a8cf4;font-weight:600;box-shadow:inset 0 0 0 1px #d8d9fc4d;color:#fff}.cqa-nav-item--active:not(.cqa-nav-item--collapsed).cqa-nav-item--has-children{color:#d8d9fc}.cqa-nav-item--active:not(.cqa-nav-item--collapsed):hover{background:#8a8cf4}.cqa-nav-item--active:not(.cqa-nav-item--collapsed).cqa-nav-item--has-children:hover{color:#d8d9fc}.cqa-nav-item--active:not(.cqa-nav-item--collapsed):not(.cqa-nav-item--has-children):hover{color:#fff}.cqa-nav-item--active.cqa-nav-item--collapsed{background:#b1b2f86b;color:#fff;font-weight:600;box-shadow:inset 0 0 0 1px #d8d9fc4d}.cqa-nav-item.cqa-nav-item--collapsed:hover:not(.cqa-nav-item--active):not(.cqa-nav-item--disabled){background:#4c50ef;box-shadow:none}.cqa-nav-item--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.cqa-nav-item.cqa-nav-item--collapsed{justify-content:center;align-items:center;gap:0;padding:9px 0;margin:1px 0;width:40px;max-width:100%;box-sizing:border-box;color:#ffffffe0;overflow:visible;z-index:1}.cqa-nav-item.cqa-nav-item--collapsed .cqa-nav-label{flex:0 0 0;width:0;min-width:0;height:0;margin:0;padding:0;overflow:hidden;opacity:0;border:0;pointer-events:none}.cqa-nav-item.cqa-nav-item--collapsed:hover{z-index:auto}.cqa-nav-icon{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:18px;color:inherit}.cqa-nav-item--collapsed .cqa-nav-icon i{display:flex;align-items:center;justify-content:center;width:100%;height:100%;line-height:1}.cqa-nav-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity .16s 80ms;color:inherit}.cqa-nav-label--visible{opacity:1}.cqa-nav-badge{font-size:11px;font-weight:600;background:#ffffff2e;color:#fff;padding:1px 7px;border-radius:999px;flex-shrink:0}.cqa-nav-status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.cqa-nav-status-dot--live{background:#0dbd7d;box-shadow:0 0 6px #0dbd7d;animation:cqa-nav-pulse 2s ease-in-out infinite}.cqa-nav-status-dot--danger{background:#ee3f3f}.cqa-nav-chev{width:14px;height:14px;opacity:.6;flex-shrink:0;transition:transform .2s;display:flex;align-items:center;justify-content:center}.cqa-nav-chev--open{transform:rotate(90deg)}.cqa-nav-live-corner{position:absolute;top:5px;right:5px;width:9px;height:9px;background:#0dbd7d;border-radius:50%;border:2px solid #3f43ee;box-shadow:0 0 6px #0dbd7d}@keyframes cqa-nav-pulse{0%,to{opacity:1}50%{opacity:.4}}.cqa-nav-flyout-panel{min-width:188px;max-width:280px;padding:10px 8px 8px;background:#4c50ef;border-radius:10px;box-shadow:0 12px 32px #00000047;border:1px solid rgba(255,255,255,.12);pointer-events:auto;text-align:left;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.cqa-nav-flyout-panel-title{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ffffff8c;padding:2px 8px 8px;line-height:1.2}.cqa-nav-flyout-row{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;margin:0 0 2px;border:none;border-radius:8px;background:transparent;color:#fff;font-size:13px;font-weight:500;text-align:left;cursor:pointer;transition:background .12s,color .12s;font-family:inherit}.cqa-nav-flyout-row:last-child{margin-bottom:0}.cqa-nav-flyout-row:hover:not(:disabled){background:#ffffff1a;color:#fff}.cqa-nav-flyout-row:disabled{opacity:.45;cursor:not-allowed}.cqa-nav-flyout-row--active{background:#8a8cf4;color:#fbfcff;font-weight:600}.cqa-nav-flyout-row--active:hover:not(:disabled){background:#8a8cf4;color:#fbfcff}.cqa-nav-flyout-row-icon{width:16px;height:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px;opacity:.95}.cqa-nav-flyout-row-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cqa-nav-flyout-row-new{flex-shrink:0;font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px;background:#feecbd;color:#7e6012;border:1px solid #fddf92}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }] });
155
155
  }
156
156
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NavItemComponent, decorators: [{
157
157
  type: Component,
158
- args: [{ selector: 'cqa-nav-item', template: "<div id=\"cqa-ui-root\" style=\"display:block\">\n <div\n #navHost\n class=\"cqa-nav-host\"\n [class.cqa-nav-host--collapsed]=\"!isExpanded\"\n (mouseenter)=\"onHostMouseEnter()\"\n (mouseleave)=\"onHostMouseLeave()\"\n (focusin)=\"onHostFocusIn($event)\"\n (focusout)=\"onHostFocusOut($event)\">\n\n <button\n cdkOverlayOrigin\n #flyoutOrigin=\"cdkOverlayOrigin\"\n class=\"cqa-nav-item\"\n [class.cqa-nav-item--active]=\"isActive\"\n [class.cqa-nav-item--has-children]=\"hasChildren\"\n [class.cqa-nav-item--collapsed]=\"!isExpanded\"\n [class.cqa-nav-item--disabled]=\"item?.disabled\"\n [class.cqa-nav-item--has-live]=\"item?.status === 'live'\"\n [matTooltip]=\"collapsedRailTooltip\"\n [matTooltipDisabled]=\"!collapsedRailTooltip\"\n [matTooltipClass]=\"collapsedRailTooltipClass\"\n matTooltipPosition=\"right\"\n (click)=\"onClick()\"\n type=\"button\"\n [attr.aria-label]=\"!isExpanded ? (item?.label || '') : null\"\n [attr.aria-expanded]=\"!isExpanded && hasChildren ? showCollapsedFlyout : null\"\n [attr.aria-haspopup]=\"!isExpanded && hasChildren ? 'menu' : null\">\n\n <!-- Icon -->\n <span class=\"cqa-nav-icon\">\n <i [class]=\"item?.iconClass\"></i>\n </span>\n\n <!-- Label (hidden when sidebar collapsed) -->\n <span class=\"cqa-nav-label\" [class.cqa-nav-label--visible]=\"isExpanded\">\n {{ item?.label }}\n </span>\n\n <!-- Trailing slot: only shown when expanded -->\n <ng-container *ngIf=\"isExpanded\">\n <span *ngIf=\"item?.badge && !hasChildren\" class=\"cqa-nav-badge\">{{ item.badge }}</span>\n\n <span\n *ngIf=\"item?.status === 'live' && !hasChildren\"\n class=\"cqa-nav-status-dot cqa-nav-status-dot--live\">\n </span>\n\n <span\n *ngIf=\"item?.status === 'danger' && !hasChildren\"\n class=\"cqa-nav-status-dot cqa-nav-status-dot--danger\">\n </span>\n\n <span *ngIf=\"hasChildren\" class=\"cqa-nav-chev\" [class.cqa-nav-chev--open]=\"isOpen\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\n stroke-linecap=\"round\" stroke-linejoin=\"round\" width=\"14\" height=\"14\">\n <polyline points=\"9,6 15,12 9,18\"/>\n </svg>\n </span>\n </ng-container>\n\n <span\n *ngIf=\"!isExpanded && item?.status === 'live'\"\n class=\"cqa-nav-live-corner\">\n </span>\n </button>\n\n <!-- Collapsed parent submenu: CDK overlay (outside aside / scrolling nav) -->\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"flyoutOrigin\"\n [cdkConnectedOverlayOpen]=\"collapsedFlyoutOpen\"\n [cdkConnectedOverlayPositions]=\"collapsedFlyoutPositions\"\n [cdkConnectedOverlayHasBackdrop]=\"false\"\n [cdkConnectedOverlayPush]=\"true\"\n [cdkConnectedOverlayScrollStrategy]=\"flyoutScrollStrategy\"\n [cdkConnectedOverlayPanelClass]=\"'cqa-nav-flyout-overlay-pane'\"\n (overlayOutsideClick)=\"closeCollapsedFlyout()\"\n (detach)=\"closeCollapsedFlyout()\">\n <div\n class=\"cqa-nav-flyout-overlay cqa-nav-flyout-panel\"\n role=\"menu\"\n [attr.aria-label]=\"item.label\"\n (mouseenter)=\"onFlyoutOverlayPointerEnter()\"\n (mouseleave)=\"onFlyoutOverlayPointerLeave()\"\n (focusout)=\"onFlyoutOverlayFocusOut($event)\">\n <div class=\"cqa-nav-flyout-panel-title\">{{ item.label }}</div>\n <button\n *ngFor=\"let child of item?.children\"\n type=\"button\"\n role=\"menuitem\"\n class=\"cqa-nav-flyout-row\"\n [class.cqa-nav-flyout-row--active]=\"isChildRowActive(child.id)\"\n [disabled]=\"child.disabled\"\n (click)=\"onChildRowClick($event, child)\">\n <span class=\"cqa-nav-flyout-row-icon\">\n <i *ngIf=\"child.iconClass\" [class]=\"child.iconClass\"></i>\n </span>\n <span class=\"cqa-nav-flyout-row-label\">{{ child.label }}</span>\n <span *ngIf=\"child.isNew\" class=\"cqa-nav-flyout-row-new\">New</span>\n </button>\n </div>\n </ng-template>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.cqa-nav-host{display:block;width:100%}.cqa-nav-host--collapsed{display:flex;flex-direction:column;align-items:center;position:relative;z-index:1}.cqa-nav-host--collapsed:hover,.cqa-nav-host--collapsed:focus-within{z-index:30}.cqa-nav-item{display:flex;align-items:center;gap:12px;padding:9px 10px;margin:1px 8px;border-radius:9px;color:#ffffffd9;font-size:14px;font-weight:600;line-height:normal;width:calc(100% - 16px);text-align:left;background:transparent;border:none;cursor:pointer;position:relative;transition:background .12s,color .12s;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.cqa-nav-item:not(.cqa-nav-item--collapsed){color:#d8d9fc}.cqa-nav-item:hover:not(.cqa-nav-item--active):not(.cqa-nav-item--disabled){background:#ffffff1f;color:#fff}.cqa-nav-item--active:not(.cqa-nav-item--collapsed){background:#b1b2f81f;font-weight:600;margin:1px 10px;width:calc(100% - 20px);box-shadow:inset 3px 0 #b1b2f8;color:#fff}.cqa-nav-item--active:not(.cqa-nav-item--collapsed).cqa-nav-item--has-children{color:#d8d9fc}.cqa-nav-item--active:not(.cqa-nav-item--collapsed):hover{background:#b1b2f829}.cqa-nav-item--active:not(.cqa-nav-item--collapsed).cqa-nav-item--has-children:hover{color:#d8d9fc}.cqa-nav-item--active:not(.cqa-nav-item--collapsed):not(.cqa-nav-item--has-children):hover{color:#fff}.cqa-nav-item--active.cqa-nav-item--collapsed{background:#b1b2f86b;color:#fff;font-weight:600;box-shadow:inset 0 0 0 1px #d8d9fc4d}.cqa-nav-item.cqa-nav-item--collapsed:hover:not(.cqa-nav-item--active):not(.cqa-nav-item--disabled){background:#4c50ef;box-shadow:none}.cqa-nav-item--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.cqa-nav-item.cqa-nav-item--collapsed{justify-content:center;align-items:center;gap:0;padding:9px 0;margin:1px 0;width:40px;max-width:100%;box-sizing:border-box;color:#ffffffe0;overflow:visible;z-index:1}.cqa-nav-item.cqa-nav-item--collapsed .cqa-nav-label{flex:0 0 0;width:0;min-width:0;height:0;margin:0;padding:0;overflow:hidden;opacity:0;border:0;pointer-events:none}.cqa-nav-item.cqa-nav-item--collapsed:hover{z-index:auto}.cqa-nav-icon{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:18px;color:inherit}.cqa-nav-item--collapsed .cqa-nav-icon i{display:flex;align-items:center;justify-content:center;width:100%;height:100%;line-height:1}.cqa-nav-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity .16s 80ms;color:inherit}.cqa-nav-label--visible{opacity:1}.cqa-nav-badge{font-size:11px;font-weight:600;background:#ffffff2e;color:#fff;padding:1px 7px;border-radius:999px;flex-shrink:0}.cqa-nav-status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.cqa-nav-status-dot--live{background:#0dbd7d;box-shadow:0 0 6px #0dbd7d;animation:cqa-nav-pulse 2s ease-in-out infinite}.cqa-nav-status-dot--danger{background:#ee3f3f}.cqa-nav-chev{width:14px;height:14px;opacity:.6;flex-shrink:0;transition:transform .2s;display:flex;align-items:center;justify-content:center}.cqa-nav-chev--open{transform:rotate(90deg)}.cqa-nav-live-corner{position:absolute;top:5px;right:5px;width:9px;height:9px;background:#0dbd7d;border-radius:50%;border:2px solid #3f43ee;box-shadow:0 0 6px #0dbd7d}@keyframes cqa-nav-pulse{0%,to{opacity:1}50%{opacity:.4}}.cqa-nav-flyout-panel{min-width:188px;max-width:280px;padding:10px 8px 8px;background:#4c50ef;border-radius:10px;box-shadow:0 12px 32px #00000047;border:1px solid rgba(255,255,255,.12);pointer-events:auto;text-align:left;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.cqa-nav-flyout-panel-title{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ffffff8c;padding:2px 8px 8px;line-height:1.2}.cqa-nav-flyout-row{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;margin:0 0 2px;border:none;border-radius:8px;background:transparent;color:#fff;font-size:13px;font-weight:500;text-align:left;cursor:pointer;transition:background .12s,color .12s;font-family:inherit}.cqa-nav-flyout-row:last-child{margin-bottom:0}.cqa-nav-flyout-row:hover:not(:disabled){background:#ffffff1a;color:#fff}.cqa-nav-flyout-row:disabled{opacity:.45;cursor:not-allowed}.cqa-nav-flyout-row--active{background:#8a8cf4;color:#fbfcff;font-weight:600}.cqa-nav-flyout-row--active:hover:not(:disabled){background:#8a8cf4;color:#fbfcff}.cqa-nav-flyout-row-icon{width:16px;height:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px;opacity:.95}.cqa-nav-flyout-row-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cqa-nav-flyout-row-new{flex-shrink:0;font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px;background:#feecbd;color:#7e6012;border:1px solid #fddf92}\n"] }]
158
+ args: [{ selector: 'cqa-nav-item', template: "<div class=\"cqa-nav-surface\">\n <div\n #navHost\n class=\"cqa-nav-host\"\n [class.cqa-nav-host--collapsed]=\"!isExpanded\"\n (mouseenter)=\"onHostMouseEnter()\"\n (mouseleave)=\"onHostMouseLeave()\"\n (focusin)=\"onHostFocusIn($event)\"\n (focusout)=\"onHostFocusOut($event)\">\n\n <button\n cdkOverlayOrigin\n #flyoutOrigin=\"cdkOverlayOrigin\"\n class=\"cqa-nav-item\"\n [class.cqa-nav-item--active]=\"isActive\"\n [class.cqa-nav-item--has-children]=\"hasChildren\"\n [class.cqa-nav-item--collapsed]=\"!isExpanded\"\n [class.cqa-nav-item--disabled]=\"item?.disabled\"\n [class.cqa-nav-item--has-live]=\"item?.status === 'live'\"\n [matTooltip]=\"collapsedRailTooltip\"\n [matTooltipDisabled]=\"!collapsedRailTooltip\"\n [matTooltipClass]=\"collapsedRailTooltipClass\"\n matTooltipPosition=\"right\"\n (click)=\"onClick()\"\n type=\"button\"\n [attr.aria-label]=\"!isExpanded ? (item?.label || '') : null\"\n [attr.aria-expanded]=\"!isExpanded && hasChildren ? showCollapsedFlyout : null\"\n [attr.aria-haspopup]=\"!isExpanded && hasChildren ? 'menu' : null\">\n\n <!-- Icon -->\n <span class=\"cqa-nav-icon\">\n <i [class]=\"item?.iconClass\"></i>\n </span>\n\n <!-- Label (hidden when sidebar collapsed) -->\n <span class=\"cqa-nav-label\" [class.cqa-nav-label--visible]=\"isExpanded\">\n {{ item?.label }}\n </span>\n\n <!-- Trailing slot: only shown when expanded -->\n <ng-container *ngIf=\"isExpanded\">\n <span *ngIf=\"item?.badge && !hasChildren\" class=\"cqa-nav-badge\">{{ item.badge }}</span>\n\n <span\n *ngIf=\"item?.status === 'live' && !hasChildren\"\n class=\"cqa-nav-status-dot cqa-nav-status-dot--live\">\n </span>\n\n <span\n *ngIf=\"item?.status === 'danger' && !hasChildren\"\n class=\"cqa-nav-status-dot cqa-nav-status-dot--danger\">\n </span>\n\n <span *ngIf=\"hasChildren\" class=\"cqa-nav-chev\" [class.cqa-nav-chev--open]=\"isOpen\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\n stroke-linecap=\"round\" stroke-linejoin=\"round\" width=\"14\" height=\"14\">\n <polyline points=\"9,6 15,12 9,18\"/>\n </svg>\n </span>\n </ng-container>\n\n <span\n *ngIf=\"!isExpanded && item?.status === 'live'\"\n class=\"cqa-nav-live-corner\">\n </span>\n </button>\n\n <!-- Collapsed parent submenu: CDK overlay (outside aside / scrolling nav) -->\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"flyoutOrigin\"\n [cdkConnectedOverlayOpen]=\"collapsedFlyoutOpen\"\n [cdkConnectedOverlayPositions]=\"collapsedFlyoutPositions\"\n [cdkConnectedOverlayHasBackdrop]=\"false\"\n [cdkConnectedOverlayPush]=\"true\"\n [cdkConnectedOverlayScrollStrategy]=\"flyoutScrollStrategy\"\n [cdkConnectedOverlayPanelClass]=\"'cqa-nav-flyout-overlay-pane'\"\n (overlayOutsideClick)=\"closeCollapsedFlyout()\"\n (detach)=\"closeCollapsedFlyout()\">\n <div\n class=\"cqa-nav-flyout-overlay cqa-nav-flyout-panel\"\n role=\"menu\"\n [attr.aria-label]=\"item.label\"\n (mouseenter)=\"onFlyoutOverlayPointerEnter()\"\n (mouseleave)=\"onFlyoutOverlayPointerLeave()\"\n (focusout)=\"onFlyoutOverlayFocusOut($event)\">\n <div class=\"cqa-nav-flyout-panel-title\">{{ item.label }}</div>\n <button\n *ngFor=\"let child of item?.children\"\n type=\"button\"\n role=\"menuitem\"\n class=\"cqa-nav-flyout-row\"\n [class.cqa-nav-flyout-row--active]=\"isChildRowActive(child.id)\"\n [disabled]=\"child.disabled\"\n (click)=\"onChildRowClick($event, child)\">\n <span class=\"cqa-nav-flyout-row-icon\">\n <i *ngIf=\"child.iconClass\" [class]=\"child.iconClass\"></i>\n </span>\n <span class=\"cqa-nav-flyout-row-label\">{{ child.label }}</span>\n <span *ngIf=\"child.isNew\" class=\"cqa-nav-flyout-row-new\">New</span>\n </button>\n </div>\n </ng-template>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.cqa-nav-surface,.cqa-nav-host{display:block;width:100%}.cqa-nav-host--collapsed{display:flex;flex-direction:column;align-items:center;position:relative;z-index:1}.cqa-nav-host--collapsed:hover,.cqa-nav-host--collapsed:focus-within{z-index:30}.cqa-nav-item{display:flex;align-items:center;gap:12px;padding:9px 10px;margin:1px 8px;border-radius:9px;color:#ffffffd9;font-size:14px;font-weight:600;line-height:1;letter-spacing:0;width:calc(100% - 16px);text-align:left;background:transparent;border:none;cursor:pointer;position:relative;transition:background .12s,color .12s;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.cqa-nav-item:not(.cqa-nav-item--collapsed){color:#d8d9fc}.cqa-nav-item:hover:not(.cqa-nav-item--active):not(.cqa-nav-item--disabled){background:#ffffff1f;color:#fff}.cqa-nav-item--active:not(.cqa-nav-item--collapsed){background:#8a8cf4;font-weight:600;box-shadow:inset 0 0 0 1px #d8d9fc4d;color:#fff}.cqa-nav-item--active:not(.cqa-nav-item--collapsed).cqa-nav-item--has-children{color:#d8d9fc}.cqa-nav-item--active:not(.cqa-nav-item--collapsed):hover{background:#8a8cf4}.cqa-nav-item--active:not(.cqa-nav-item--collapsed).cqa-nav-item--has-children:hover{color:#d8d9fc}.cqa-nav-item--active:not(.cqa-nav-item--collapsed):not(.cqa-nav-item--has-children):hover{color:#fff}.cqa-nav-item--active.cqa-nav-item--collapsed{background:#b1b2f86b;color:#fff;font-weight:600;box-shadow:inset 0 0 0 1px #d8d9fc4d}.cqa-nav-item.cqa-nav-item--collapsed:hover:not(.cqa-nav-item--active):not(.cqa-nav-item--disabled){background:#4c50ef;box-shadow:none}.cqa-nav-item--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.cqa-nav-item.cqa-nav-item--collapsed{justify-content:center;align-items:center;gap:0;padding:9px 0;margin:1px 0;width:40px;max-width:100%;box-sizing:border-box;color:#ffffffe0;overflow:visible;z-index:1}.cqa-nav-item.cqa-nav-item--collapsed .cqa-nav-label{flex:0 0 0;width:0;min-width:0;height:0;margin:0;padding:0;overflow:hidden;opacity:0;border:0;pointer-events:none}.cqa-nav-item.cqa-nav-item--collapsed:hover{z-index:auto}.cqa-nav-icon{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:18px;color:inherit}.cqa-nav-item--collapsed .cqa-nav-icon i{display:flex;align-items:center;justify-content:center;width:100%;height:100%;line-height:1}.cqa-nav-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity .16s 80ms;color:inherit}.cqa-nav-label--visible{opacity:1}.cqa-nav-badge{font-size:11px;font-weight:600;background:#ffffff2e;color:#fff;padding:1px 7px;border-radius:999px;flex-shrink:0}.cqa-nav-status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.cqa-nav-status-dot--live{background:#0dbd7d;box-shadow:0 0 6px #0dbd7d;animation:cqa-nav-pulse 2s ease-in-out infinite}.cqa-nav-status-dot--danger{background:#ee3f3f}.cqa-nav-chev{width:14px;height:14px;opacity:.6;flex-shrink:0;transition:transform .2s;display:flex;align-items:center;justify-content:center}.cqa-nav-chev--open{transform:rotate(90deg)}.cqa-nav-live-corner{position:absolute;top:5px;right:5px;width:9px;height:9px;background:#0dbd7d;border-radius:50%;border:2px solid #3f43ee;box-shadow:0 0 6px #0dbd7d}@keyframes cqa-nav-pulse{0%,to{opacity:1}50%{opacity:.4}}.cqa-nav-flyout-panel{min-width:188px;max-width:280px;padding:10px 8px 8px;background:#4c50ef;border-radius:10px;box-shadow:0 12px 32px #00000047;border:1px solid rgba(255,255,255,.12);pointer-events:auto;text-align:left;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.cqa-nav-flyout-panel-title{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ffffff8c;padding:2px 8px 8px;line-height:1.2}.cqa-nav-flyout-row{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;margin:0 0 2px;border:none;border-radius:8px;background:transparent;color:#fff;font-size:13px;font-weight:500;text-align:left;cursor:pointer;transition:background .12s,color .12s;font-family:inherit}.cqa-nav-flyout-row:last-child{margin-bottom:0}.cqa-nav-flyout-row:hover:not(:disabled){background:#ffffff1a;color:#fff}.cqa-nav-flyout-row:disabled{opacity:.45;cursor:not-allowed}.cqa-nav-flyout-row--active{background:#8a8cf4;color:#fbfcff;font-weight:600}.cqa-nav-flyout-row--active:hover:not(:disabled){background:#8a8cf4;color:#fbfcff}.cqa-nav-flyout-row-icon{width:16px;height:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px;opacity:.95}.cqa-nav-flyout-row-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cqa-nav-flyout-row-new{flex-shrink:0;font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px;background:#feecbd;color:#7e6012;border:1px solid #fddf92}\n"] }]
159
159
  }], ctorParameters: () => [{ type: i1.Overlay }], propDecorators: { item: [{
160
160
  type: Input
161
161
  }], isActive: [{
@@ -172,4 +172,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
172
172
  type: ViewChild,
173
173
  args: ['navHost']
174
174
  }] } });
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zaWRlYmFyL25hdi1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2lkZWJhci9uYXYtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFFTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFTdkIsTUFBTSxPQUFPLGdCQUFnQjtJQTZDRTtJQTVDcEIsSUFBSSxDQUFXO0lBQ2YsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUNuQyxxREFBcUQ7SUFDNUMsVUFBVSxHQUFZLEtBQUssQ0FBQztJQUNyQywyQ0FBMkM7SUFDbEMsTUFBTSxHQUFZLEtBQUssQ0FBQztJQUNqQyxpRkFBaUY7SUFDeEUsV0FBVyxHQUFXLEVBQUUsQ0FBQztJQUV4QixTQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUUzQixVQUFVLENBQTJCO0lBRTNELGlFQUFpRTtJQUNqRSxtQkFBbUIsR0FBRyxLQUFLLENBQUM7SUFFcEIsZ0JBQWdCLEdBQXlDLElBQUksQ0FBQztJQUM5RCxNQUFNLENBQVUscUJBQXFCLEdBQUcsR0FBRyxDQUFDO0lBRTNDLG9CQUFvQixDQUFpQjtJQUNyQyx3QkFBd0IsR0FBd0I7UUFDdkQ7WUFDRSxPQUFPLEVBQUUsS0FBSztZQUNkLE9BQU8sRUFBRSxRQUFRO1lBQ2pCLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRDtZQUNFLE9BQU8sRUFBRSxLQUFLO1lBQ2QsT0FBTyxFQUFFLEtBQUs7WUFDZCxRQUFRLEVBQUUsT0FBTztZQUNqQixRQUFRLEVBQUUsS0FBSztZQUNmLE9BQU8sRUFBRSxDQUFDO1NB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QUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzFCLFlBQVksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRU8sNEJBQTRCO1FBQ2xDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7WUFDakMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUMvQixDQUFDLEVBQUUsZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUM3QyxDQUFDO3dHQXJLVSxnQkFBZ0I7NEZBQWhCLGdCQUFnQix3VENqQjdCLDRzSUF5R0E7OzRGRHhGYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsY0FBYzs0RUFLZixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVJLFNBQVM7c0JBQWxCLE1BQU07Z0JBRWUsVUFBVTtzQkFBL0IsU0FBUzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29ubmVjdGVkUG9zaXRpb24sIE92ZXJsYXksIFNjcm9sbFN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgTmF2Q2hpbGRJdGVtLCBOYXZJdGVtIH0gZnJvbSAnLi9zaWRlYmFyLm1vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NxYS1uYXYtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9uYXYtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25hdi1pdGVtLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTmF2SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGl0ZW0hOiBOYXZJdGVtO1xuICBASW5wdXQoKSBpc0FjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuICAvKiogV2hldGhlciB0aGUgc2lkZWJhciBpcyBpbiBleHBhbmRlZCAod2lkZSkgbW9kZSAqL1xuICBASW5wdXQoKSBpc0V4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKiBXaGV0aGVyIHRoaXMgaXRlbSdzIHN1Yi1tZW51IGlzIG9wZW4gKi9cbiAgQElucHV0KCkgaXNPcGVuOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKiBDdXJyZW50IHJvdXRlIC8gc2VsZWN0aW9uIGlkIOKAlCB1c2VkIHRvIGhpZ2hsaWdodCBjaGlsZCBpbiBjb2xsYXBzZWQgZmx5b3V0ICovXG4gIEBJbnB1dCgpIGFjdGl2ZU5hdklkOiBzdHJpbmcgPSAnJztcblxuICBAT3V0cHV0KCkgaXRlbUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQFZpZXdDaGlsZCgnbmF2SG9zdCcpIG5hdkhvc3RSZWY/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAvKiogQ29sbGFwc2VkIHBhcmVudDogZHJpdmVzIENESyBjb25uZWN0ZWQgb3ZlcmxheSBmb3Igc3VibWVudSAqL1xuICBzaG93Q29sbGFwc2VkRmx5b3V0ID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBjbG9zZUZseW91dFRpbWVyOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBGTFlPVVRfQ0xPU0VfREVMQVlfTVMgPSAxMjA7XG5cbiAgcmVhZG9ubHkgZmx5b3V0U2Nyb2xsU3RyYXRlZ3k6IFNjcm9sbFN0cmF0ZWd5O1xuICByZWFkb25seSBjb2xsYXBzZWRGbHlvdXRQb3NpdGlvbnM6IENvbm5lY3RlZFBvc2l0aW9uW10gPSBbXG4gICAge1xuICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcbiAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgb3ZlcmxheVk6ICdjZW50ZXInLFxuICAgICAgb2Zmc2V0WDogOFxuICAgIH0sXG4gICAge1xuICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgb2Zmc2V0WDogOFxuICAgIH0sXG4gICAge1xuICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxuICAgICAgb2Zmc2V0WDogOFxuICAgIH1cbiAgXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG92ZXJsYXk6IE92ZXJsYXkpIHtcbiAgICB0aGlzLmZseW91dFNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhckZseW91dENsb3NlVGltZXIoKTtcbiAgfVxuXG4gIGdldCBoYXNDaGlsZHJlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEodGhpcy5pdGVtPy5jaGlsZHJlbj8ubGVuZ3RoKTtcbiAgfVxuXG4gIGdldCBjb2xsYXBzZWRGbHlvdXRPcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAhdGhpcy5pc0V4cGFuZGVkICYmXG4gICAgICB0aGlzLnNob3dDb2xsYXBzZWRGbHlvdXQgJiZcbiAgICAgIHRoaXMuaGFzQ2hpbGRyZW4gJiZcbiAgICAgICEhKHRoaXMuaXRlbT8uY2hpbGRyZW4/Lmxlbmd0aClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbGxhcHNlZCByYWlsOiBzaG93IGxhYmVsIChsZWFmKSBvciBkaXNhYmxlZCBjb3B5IGluIE1hdFRvb2x0aXAgc28gaXQgcmVuZGVycyBpbiBDREsgb3ZlcmxheSxcbiAgICogbm90IGFzIGFuIGFic29sdXRlIGNoaWxkIGluc2lkZSB0aGUgc2Nyb2xsaW5nIG5hdi5cbiAgICovXG4gIGdldCBjb2xsYXBzZWRSYWlsVG9vbHRpcCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLml0ZW0/LmRpc2FibGVkICYmIHRoaXMuaXRlbT8uZGlzYWJsZWRUb29sdGlwKSB7XG4gICAgICByZXR1cm4gdGhpcy5pdGVtLmRpc2FibGVkVG9vbHRpcDtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmlzRXhwYW5kZWQgJiYgIXRoaXMuaGFzQ2hpbGRyZW4gJiYgdGhpcy5pdGVtPy5sYWJlbCkge1xuICAgICAgcmV0dXJuIHRoaXMuaXRlbS5sYWJlbDtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgZ2V0IGNvbGxhcHNlZFJhaWxUb29sdGlwQ2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gIXRoaXMuaXNFeHBhbmRlZCAmJiB0aGlzLmNvbGxhcHNlZFJhaWxUb29sdGlwID8gJ2NxYS1uYXYtcmFpbC10b29sdGlwJyA6ICcnO1xuICB9XG5cbiAgaXNDaGlsZFJvd0FjdGl2ZShjaGlsZElkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVOYXZJZCA9PT0gY2hpbGRJZDtcbiAgfVxuXG4gIG9uSG9zdE1vdXNlRW50ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhckZseW91dENsb3NlVGltZXIoKTtcbiAgICBpZiAoIXRoaXMuaXNFeHBhbmRlZCAmJiAhdGhpcy5pdGVtPy5kaXNhYmxlZCAmJiB0aGlzLmhhc0NoaWxkcmVuKSB7XG4gICAgICB0aGlzLnNob3dDb2xsYXBzZWRGbHlvdXQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIG9uSG9zdE1vdXNlTGVhdmUoKTogdm9pZCB7XG4gICAgdGhpcy5zY2hlZHVsZUNsb3NlQ29sbGFwc2VkRmx5b3V0KCk7XG4gIH1cblxuICBvbkhvc3RGb2N1c0luKF9lOiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5jbGVhckZseW91dENsb3NlVGltZXIoKTtcbiAgICBpZiAoIXRoaXMuaXNFeHBhbmRlZCAmJiAhdGhpcy5pdGVtPy5kaXNhYmxlZCAmJiB0aGlzLmhhc0NoaWxkcmVuKSB7XG4gICAgICB0aGlzLnNob3dDb2xsYXBzZWRGbHlvdXQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIG9uSG9zdEZvY3VzT3V0KGU6IEZvY3VzRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0V4cGFuZGVkKSByZXR1cm47XG4gICAgY29uc3QgcmVsYXRlZCA9IGUucmVsYXRlZFRhcmdldCBhcyBIVE1MRWxlbWVudCB8IG51bGw7XG4gICAgaWYgKHJlbGF0ZWQ/LmNsb3Nlc3QoJy5jcWEtbmF2LWZseW91dC1vdmVybGF5JykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgaG9zdCA9IGUuY3VycmVudFRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICBpZiAocmVsYXRlZCAmJiBob3N0LmNvbnRhaW5zKHJlbGF0ZWQpKSByZXR1cm47XG4gICAgdGhpcy5jbG9zZUNvbGxhcHNlZEZseW91dCgpO1xuICB9XG5cbiAgb25GbHlvdXRPdmVybGF5UG9pbnRlckVudGVyKCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJGbHlvdXRDbG9zZVRpbWVyKCk7XG4gIH1cblxuICBvbkZseW91dE92ZXJsYXlQb2ludGVyTGVhdmUoKTogdm9pZCB7XG4gICAgdGhpcy5zY2hlZHVsZUNsb3NlQ29sbGFwc2VkRmx5b3V0KCk7XG4gIH1cblxuICBvbkZseW91dE92ZXJsYXlGb2N1c091dChlOiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgcmVsYXRlZCA9IGUucmVsYXRlZFRhcmdldCBhcyBIVE1MRWxlbWVudCB8IG51bGw7XG4gICAgY29uc3QgcGFuZWwgPSBlLmN1cnJlbnRUYXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgaWYgKHJlbGF0ZWQgJiYgcGFuZWwuY29udGFpbnMocmVsYXRlZCkpIHJldHVybjtcbiAgICBjb25zdCBob3N0RWwgPSB0aGlzLm5hdkhvc3RSZWY/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKHJlbGF0ZWQgJiYgaG9zdEVsPy5jb250YWlucyhyZWxhdGVkKSkgcmV0dXJuO1xuICAgIHRoaXMuY2xvc2VDb2xsYXBzZWRGbHlvdXQoKTtcbiAgfVxuXG4gIGNsb3NlQ29sbGFwc2VkRmx5b3V0KCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJGbHlvdXRDbG9zZVRpbWVyKCk7XG4gICAgdGhpcy5zaG93Q29sbGFwc2VkRmx5b3V0ID0gZmFsc2U7XG4gIH1cblxuICBvbkNsaWNrKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pdGVtPy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5pdGVtQ2xpY2suZW1pdCh0aGlzLml0ZW0uaWQpO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2hpbGRSb3dDbGljayhlOiBFdmVudCwgY2hpbGQ6IE5hdkNoaWxkSXRlbSk6IHZvaWQge1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKGNoaWxkLmRpc2FibGVkKSByZXR1cm47XG4gICAgdGhpcy5pdGVtQ2xpY2suZW1pdChjaGlsZC5pZCk7XG4gICAgdGhpcy5jbG9zZUNvbGxhcHNlZEZseW91dCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhckZseW91dENsb3NlVGltZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2xvc2VGbHlvdXRUaW1lcikge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuY2xvc2VGbHlvdXRUaW1lcik7XG4gICAgICB0aGlzLmNsb3NlRmx5b3V0VGltZXIgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2NoZWR1bGVDbG9zZUNvbGxhcHNlZEZseW91dCgpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFyRmx5b3V0Q2xvc2VUaW1lcigpO1xuICAgIHRoaXMuY2xvc2VGbHlvdXRUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5zaG93Q29sbGFwc2VkRmx5b3V0ID0gZmFsc2U7XG4gICAgICB0aGlzLmNsb3NlRmx5b3V0VGltZXIgPSBudWxsO1xuICAgIH0sIE5hdkl0ZW1Db21wb25lbnQuRkxZT1VUX0NMT1NFX0RFTEFZX01TKTtcbiAgfVxufVxuIiwiPGRpdiBpZD1cImNxYS11aS1yb290XCIgc3R5bGU9XCJkaXNwbGF5OmJsb2NrXCI+XG4gIDxkaXZcbiAgICAjbmF2SG9zdFxuICAgIGNsYXNzPVwiY3FhLW5hdi1ob3N0XCJcbiAgICBbY2xhc3MuY3FhLW5hdi1ob3N0LS1jb2xsYXBzZWRdPVwiIWlzRXhwYW5kZWRcIlxuICAgIChtb3VzZWVudGVyKT1cIm9uSG9zdE1vdXNlRW50ZXIoKVwiXG4gICAgKG1vdXNlbGVhdmUpPVwib25Ib3N0TW91c2VMZWF2ZSgpXCJcbiAgICAoZm9jdXNpbik9XCJvbkhvc3RGb2N1c0luKCRldmVudClcIlxuICAgIChmb2N1c291dCk9XCJvbkhvc3RGb2N1c091dCgkZXZlbnQpXCI+XG5cbiAgICA8YnV0dG9uXG4gICAgICBjZGtPdmVybGF5T3JpZ2luXG4gICAgICAjZmx5b3V0T3JpZ2luPVwiY2RrT3ZlcmxheU9yaWdpblwiXG4gICAgICBjbGFzcz1cImNxYS1uYXYtaXRlbVwiXG4gICAgICBbY2xhc3MuY3FhLW5hdi1pdGVtLS1hY3RpdmVdPVwiaXNBY3RpdmVcIlxuICAgICAgW2NsYXNzLmNxYS1uYXYtaXRlbS0taGFzLWNoaWxkcmVuXT1cImhhc0NoaWxkcmVuXCJcbiAgICAgIFtjbGFzcy5jcWEtbmF2LWl0ZW0tLWNvbGxhcHNlZF09XCIhaXNFeHBhbmRlZFwiXG4gICAgICBbY2xhc3MuY3FhLW5hdi1pdGVtLS1kaXNhYmxlZF09XCJpdGVtPy5kaXNhYmxlZFwiXG4gICAgICBbY2xhc3MuY3FhLW5hdi1pdGVtLS1oYXMtbGl2ZV09XCJpdGVtPy5zdGF0dXMgPT09ICdsaXZlJ1wiXG4gICAgICBbbWF0VG9vbHRpcF09XCJjb2xsYXBzZWRSYWlsVG9vbHRpcFwiXG4gICAgICBbbWF0VG9vbHRpcERpc2FibGVkXT1cIiFjb2xsYXBzZWRSYWlsVG9vbHRpcFwiXG4gICAgICBbbWF0VG9vbHRpcENsYXNzXT1cImNvbGxhcHNlZFJhaWxUb29sdGlwQ2xhc3NcIlxuICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwicmlnaHRcIlxuICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soKVwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiIWlzRXhwYW5kZWQgPyAoaXRlbT8ubGFiZWwgfHwgJycpIDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIiFpc0V4cGFuZGVkICYmIGhhc0NoaWxkcmVuID8gc2hvd0NvbGxhcHNlZEZseW91dCA6IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCIhaXNFeHBhbmRlZCAmJiBoYXNDaGlsZHJlbiA/ICdtZW51JyA6IG51bGxcIj5cblxuICAgICAgPCEtLSBJY29uIC0tPlxuICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtbmF2LWljb25cIj5cbiAgICAgICAgPGkgW2NsYXNzXT1cIml0ZW0/Lmljb25DbGFzc1wiPjwvaT5cbiAgICAgIDwvc3Bhbj5cblxuICAgICAgPCEtLSBMYWJlbCAoaGlkZGVuIHdoZW4gc2lkZWJhciBjb2xsYXBzZWQpIC0tPlxuICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtbmF2LWxhYmVsXCIgW2NsYXNzLmNxYS1uYXYtbGFiZWwtLXZpc2libGVdPVwiaXNFeHBhbmRlZFwiPlxuICAgICAgICB7eyBpdGVtPy5sYWJlbCB9fVxuICAgICAgPC9zcGFuPlxuXG4gICAgICA8IS0tIFRyYWlsaW5nIHNsb3Q6IG9ubHkgc2hvd24gd2hlbiBleHBhbmRlZCAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0V4cGFuZGVkXCI+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbT8uYmFkZ2UgJiYgIWhhc0NoaWxkcmVuXCIgY2xhc3M9XCJjcWEtbmF2LWJhZGdlXCI+e3sgaXRlbS5iYWRnZSB9fTwvc3Bhbj5cblxuICAgICAgICA8c3BhblxuICAgICAgICAgICpuZ0lmPVwiaXRlbT8uc3RhdHVzID09PSAnbGl2ZScgJiYgIWhhc0NoaWxkcmVuXCJcbiAgICAgICAgICBjbGFzcz1cImNxYS1uYXYtc3RhdHVzLWRvdCBjcWEtbmF2LXN0YXR1cy1kb3QtLWxpdmVcIj5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgKm5nSWY9XCJpdGVtPy5zdGF0dXMgPT09ICdkYW5nZXInICYmICFoYXNDaGlsZHJlblwiXG4gICAgICAgICAgY2xhc3M9XCJjcWEtbmF2LXN0YXR1cy1kb3QgY3FhLW5hdi1zdGF0dXMtZG90LS1kYW5nZXJcIj5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiaGFzQ2hpbGRyZW5cIiBjbGFzcz1cImNxYS1uYXYtY2hldlwiIFtjbGFzcy5jcWEtbmF2LWNoZXYtLW9wZW5dPVwiaXNPcGVuXCI+XG4gICAgICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCJcbiAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHdpZHRoPVwiMTRcIiBoZWlnaHQ9XCIxNFwiPlxuICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz1cIjksNiAxNSwxMiA5LDE4XCIvPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPHNwYW5cbiAgICAgICAgKm5nSWY9XCIhaXNFeHBhbmRlZCAmJiBpdGVtPy5zdGF0dXMgPT09ICdsaXZlJ1wiXG4gICAgICAgIGNsYXNzPVwiY3FhLW5hdi1saXZlLWNvcm5lclwiPlxuICAgICAgPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPCEtLSBDb2xsYXBzZWQgcGFyZW50IHN1Ym1lbnU6IENESyBvdmVybGF5IChvdXRzaWRlIGFzaWRlIC8gc2Nyb2xsaW5nIG5hdikgLS0+XG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICBjZGtDb25uZWN0ZWRPdmVybGF5XG4gICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9yaWdpbl09XCJmbHlvdXRPcmlnaW5cIlxuICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcGVuXT1cImNvbGxhcHNlZEZseW91dE9wZW5cIlxuICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbnNdPVwiY29sbGFwc2VkRmx5b3V0UG9zaXRpb25zXCJcbiAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5SGFzQmFja2Ryb3BdPVwiZmFsc2VcIlxuICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlQdXNoXT1cInRydWVcIlxuICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlTY3JvbGxTdHJhdGVneV09XCJmbHlvdXRTY3JvbGxTdHJhdGVneVwiXG4gICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBhbmVsQ2xhc3NdPVwiJ2NxYS1uYXYtZmx5b3V0LW92ZXJsYXktcGFuZSdcIlxuICAgICAgKG92ZXJsYXlPdXRzaWRlQ2xpY2spPVwiY2xvc2VDb2xsYXBzZWRGbHlvdXQoKVwiXG4gICAgICAoZGV0YWNoKT1cImNsb3NlQ29sbGFwc2VkRmx5b3V0KClcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJjcWEtbmF2LWZseW91dC1vdmVybGF5IGNxYS1uYXYtZmx5b3V0LXBhbmVsXCJcbiAgICAgICAgcm9sZT1cIm1lbnVcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0ubGFiZWxcIlxuICAgICAgICAobW91c2VlbnRlcik9XCJvbkZseW91dE92ZXJsYXlQb2ludGVyRW50ZXIoKVwiXG4gICAgICAgIChtb3VzZWxlYXZlKT1cIm9uRmx5b3V0T3ZlcmxheVBvaW50ZXJMZWF2ZSgpXCJcbiAgICAgICAgKGZvY3Vzb3V0KT1cIm9uRmx5b3V0T3ZlcmxheUZvY3VzT3V0KCRldmVudClcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1uYXYtZmx5b3V0LXBhbmVsLXRpdGxlXCI+e3sgaXRlbS5sYWJlbCB9fTwvZGl2PlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGNoaWxkIG9mIGl0ZW0/LmNoaWxkcmVuXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICByb2xlPVwibWVudWl0ZW1cIlxuICAgICAgICAgIGNsYXNzPVwiY3FhLW5hdi1mbHlvdXQtcm93XCJcbiAgICAgICAgICBbY2xhc3MuY3FhLW5hdi1mbHlvdXQtcm93LS1hY3RpdmVdPVwiaXNDaGlsZFJvd0FjdGl2ZShjaGlsZC5pZClcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJjaGlsZC5kaXNhYmxlZFwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQ2hpbGRSb3dDbGljaygkZXZlbnQsIGNoaWxkKVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLW5hdi1mbHlvdXQtcm93LWljb25cIj5cbiAgICAgICAgICAgIDxpICpuZ0lmPVwiY2hpbGQuaWNvbkNsYXNzXCIgW2NsYXNzXT1cImNoaWxkLmljb25DbGFzc1wiPjwvaT5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtbmF2LWZseW91dC1yb3ctbGFiZWxcIj57eyBjaGlsZC5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cImNoaWxkLmlzTmV3XCIgY2xhc3M9XCJjcWEtbmF2LWZseW91dC1yb3ctbmV3XCI+TmV3PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zaWRlYmFyL25hdi1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2lkZWJhci9uYXYtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFFTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFTdkIsTUFBTSxPQUFPLGdCQUFnQjtJQTZDRTtJQTVDcEIsSUFBSSxDQUFXO0lBQ2YsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUNuQyxxREFBcUQ7SUFDNUMsVUFBVSxHQUFZLEtBQUssQ0FBQztJQUNyQywyQ0FBMkM7SUFDbEMsTUFBTSxHQUFZLEtBQUssQ0FBQztJQUNqQyxpRkFBaUY7SUFDeEUsV0FBVyxHQUFXLEVBQUUsQ0FBQztJQUV4QixTQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUUzQixVQUFVLENBQTJCO0lBRTNELGlFQUFpRTtJQUNqRSxtQkFBbUIsR0FBRyxLQUFLLENBQUM7SUFFcEIsZ0JBQWdCLEdBQXlDLElBQUksQ0FBQztJQUM5RCxNQUFNLENBQVUscUJBQXFCLEdBQUcsR0FBRyxDQUFDO0lBRTNDLG9CQUFvQixDQUFpQjtJQUNyQyx3QkFBd0IsR0FBd0I7UUFDdkQ7WUFDRSxPQUFPLEVBQUUsS0FBSztZQUNkLE9BQU8sRUFBRSxRQUFRO1lBQ2pCLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRDtZQUNFLE9BQU8sRUFBRSxLQUFLO1lBQ2QsT0FBTyxFQUFFLEtBQUs7WUFDZCxRQUFRLEVBQUUsT0FBTztZQUNqQixRQUFRLEVBQUUsS0FBSztZQUNmLE9BQU8sRUFBRSxDQUFDO1NB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QUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzFCLFlBQVksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRU8sNEJBQTRCO1FBQ2xDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7WUFDakMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUMvQixDQUFDLEVBQUUsZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUM3QyxDQUFDO3dHQXJLVSxnQkFBZ0I7NEZBQWhCLGdCQUFnQix3VENqQjdCLDJySUF5R0E7OzRGRHhGYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsY0FBYzs0RUFLZixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVJLFNBQVM7c0JBQWxCLE1BQU07Z0JBRWUsVUFBVTtzQkFBL0IsU0FBUzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29ubmVjdGVkUG9zaXRpb24sIE92ZXJsYXksIFNjcm9sbFN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgTmF2Q2hpbGRJdGVtLCBOYXZJdGVtIH0gZnJvbSAnLi9zaWRlYmFyLm1vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NxYS1uYXYtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9uYXYtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25hdi1pdGVtLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTmF2SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGl0ZW0hOiBOYXZJdGVtO1xuICBASW5wdXQoKSBpc0FjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuICAvKiogV2hldGhlciB0aGUgc2lkZWJhciBpcyBpbiBleHBhbmRlZCAod2lkZSkgbW9kZSAqL1xuICBASW5wdXQoKSBpc0V4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKiBXaGV0aGVyIHRoaXMgaXRlbSdzIHN1Yi1tZW51IGlzIG9wZW4gKi9cbiAgQElucHV0KCkgaXNPcGVuOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKiBDdXJyZW50IHJvdXRlIC8gc2VsZWN0aW9uIGlkIOKAlCB1c2VkIHRvIGhpZ2hsaWdodCBjaGlsZCBpbiBjb2xsYXBzZWQgZmx5b3V0ICovXG4gIEBJbnB1dCgpIGFjdGl2ZU5hdklkOiBzdHJpbmcgPSAnJztcblxuICBAT3V0cHV0KCkgaXRlbUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQFZpZXdDaGlsZCgnbmF2SG9zdCcpIG5hdkhvc3RSZWY/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAvKiogQ29sbGFwc2VkIHBhcmVudDogZHJpdmVzIENESyBjb25uZWN0ZWQgb3ZlcmxheSBmb3Igc3VibWVudSAqL1xuICBzaG93Q29sbGFwc2VkRmx5b3V0ID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBjbG9zZUZseW91dFRpbWVyOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBGTFlPVVRfQ0xPU0VfREVMQVlfTVMgPSAxMjA7XG5cbiAgcmVhZG9ubHkgZmx5b3V0U2Nyb2xsU3RyYXRlZ3k6IFNjcm9sbFN0cmF0ZWd5O1xuICByZWFkb25seSBjb2xsYXBzZWRGbHlvdXRQb3NpdGlvbnM6IENvbm5lY3RlZFBvc2l0aW9uW10gPSBbXG4gICAge1xuICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcbiAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgb3ZlcmxheVk6ICdjZW50ZXInLFxuICAgICAgb2Zmc2V0WDogOFxuICAgIH0sXG4gICAge1xuICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgb2Zmc2V0WDogOFxuICAgIH0sXG4gICAge1xuICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxuICAgICAgb2Zmc2V0WDogOFxuICAgIH1cbiAgXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG92ZXJsYXk6IE92ZXJsYXkpIHtcbiAgICB0aGlzLmZseW91dFNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhckZseW91dENsb3NlVGltZXIoKTtcbiAgfVxuXG4gIGdldCBoYXNDaGlsZHJlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEodGhpcy5pdGVtPy5jaGlsZHJlbj8ubGVuZ3RoKTtcbiAgfVxuXG4gIGdldCBjb2xsYXBzZWRGbHlvdXRPcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAhdGhpcy5pc0V4cGFuZGVkICYmXG4gICAgICB0aGlzLnNob3dDb2xsYXBzZWRGbHlvdXQgJiZcbiAgICAgIHRoaXMuaGFzQ2hpbGRyZW4gJiZcbiAgICAgICEhKHRoaXMuaXRlbT8uY2hpbGRyZW4/Lmxlbmd0aClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbGxhcHNlZCByYWlsOiBzaG93IGxhYmVsIChsZWFmKSBvciBkaXNhYmxlZCBjb3B5IGluIE1hdFRvb2x0aXAgc28gaXQgcmVuZGVycyBpbiBDREsgb3ZlcmxheSxcbiAgICogbm90IGFzIGFuIGFic29sdXRlIGNoaWxkIGluc2lkZSB0aGUgc2Nyb2xsaW5nIG5hdi5cbiAgICovXG4gIGdldCBjb2xsYXBzZWRSYWlsVG9vbHRpcCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLml0ZW0/LmRpc2FibGVkICYmIHRoaXMuaXRlbT8uZGlzYWJsZWRUb29sdGlwKSB7XG4gICAgICByZXR1cm4gdGhpcy5pdGVtLmRpc2FibGVkVG9vbHRpcDtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmlzRXhwYW5kZWQgJiYgIXRoaXMuaGFzQ2hpbGRyZW4gJiYgdGhpcy5pdGVtPy5sYWJlbCkge1xuICAgICAgcmV0dXJuIHRoaXMuaXRlbS5sYWJlbDtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgZ2V0IGNvbGxhcHNlZFJhaWxUb29sdGlwQ2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gIXRoaXMuaXNFeHBhbmRlZCAmJiB0aGlzLmNvbGxhcHNlZFJhaWxUb29sdGlwID8gJ2NxYS1uYXYtcmFpbC10b29sdGlwJyA6ICcnO1xuICB9XG5cbiAgaXNDaGlsZFJvd0FjdGl2ZShjaGlsZElkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVOYXZJZCA9PT0gY2hpbGRJZDtcbiAgfVxuXG4gIG9uSG9zdE1vdXNlRW50ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhckZseW91dENsb3NlVGltZXIoKTtcbiAgICBpZiAoIXRoaXMuaXNFeHBhbmRlZCAmJiAhdGhpcy5pdGVtPy5kaXNhYmxlZCAmJiB0aGlzLmhhc0NoaWxkcmVuKSB7XG4gICAgICB0aGlzLnNob3dDb2xsYXBzZWRGbHlvdXQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIG9uSG9zdE1vdXNlTGVhdmUoKTogdm9pZCB7XG4gICAgdGhpcy5zY2hlZHVsZUNsb3NlQ29sbGFwc2VkRmx5b3V0KCk7XG4gIH1cblxuICBvbkhvc3RGb2N1c0luKF9lOiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5jbGVhckZseW91dENsb3NlVGltZXIoKTtcbiAgICBpZiAoIXRoaXMuaXNFeHBhbmRlZCAmJiAhdGhpcy5pdGVtPy5kaXNhYmxlZCAmJiB0aGlzLmhhc0NoaWxkcmVuKSB7XG4gICAgICB0aGlzLnNob3dDb2xsYXBzZWRGbHlvdXQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIG9uSG9zdEZvY3VzT3V0KGU6IEZvY3VzRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0V4cGFuZGVkKSByZXR1cm47XG4gICAgY29uc3QgcmVsYXRlZCA9IGUucmVsYXRlZFRhcmdldCBhcyBIVE1MRWxlbWVudCB8IG51bGw7XG4gICAgaWYgKHJlbGF0ZWQ/LmNsb3Nlc3QoJy5jcWEtbmF2LWZseW91dC1vdmVybGF5JykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgaG9zdCA9IGUuY3VycmVudFRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICBpZiAocmVsYXRlZCAmJiBob3N0LmNvbnRhaW5zKHJlbGF0ZWQpKSByZXR1cm47XG4gICAgdGhpcy5jbG9zZUNvbGxhcHNlZEZseW91dCgpO1xuICB9XG5cbiAgb25GbHlvdXRPdmVybGF5UG9pbnRlckVudGVyKCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJGbHlvdXRDbG9zZVRpbWVyKCk7XG4gIH1cblxuICBvbkZseW91dE92ZXJsYXlQb2ludGVyTGVhdmUoKTogdm9pZCB7XG4gICAgdGhpcy5zY2hlZHVsZUNsb3NlQ29sbGFwc2VkRmx5b3V0KCk7XG4gIH1cblxuICBvbkZseW91dE92ZXJsYXlGb2N1c091dChlOiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgcmVsYXRlZCA9IGUucmVsYXRlZFRhcmdldCBhcyBIVE1MRWxlbWVudCB8IG51bGw7XG4gICAgY29uc3QgcGFuZWwgPSBlLmN1cnJlbnRUYXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgaWYgKHJlbGF0ZWQgJiYgcGFuZWwuY29udGFpbnMocmVsYXRlZCkpIHJldHVybjtcbiAgICBjb25zdCBob3N0RWwgPSB0aGlzLm5hdkhvc3RSZWY/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKHJlbGF0ZWQgJiYgaG9zdEVsPy5jb250YWlucyhyZWxhdGVkKSkgcmV0dXJuO1xuICAgIHRoaXMuY2xvc2VDb2xsYXBzZWRGbHlvdXQoKTtcbiAgfVxuXG4gIGNsb3NlQ29sbGFwc2VkRmx5b3V0KCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJGbHlvdXRDbG9zZVRpbWVyKCk7XG4gICAgdGhpcy5zaG93Q29sbGFwc2VkRmx5b3V0ID0gZmFsc2U7XG4gIH1cblxuICBvbkNsaWNrKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pdGVtPy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5pdGVtQ2xpY2suZW1pdCh0aGlzLml0ZW0uaWQpO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2hpbGRSb3dDbGljayhlOiBFdmVudCwgY2hpbGQ6IE5hdkNoaWxkSXRlbSk6IHZvaWQge1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKGNoaWxkLmRpc2FibGVkKSByZXR1cm47XG4gICAgdGhpcy5pdGVtQ2xpY2suZW1pdChjaGlsZC5pZCk7XG4gICAgdGhpcy5jbG9zZUNvbGxhcHNlZEZseW91dCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhckZseW91dENsb3NlVGltZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2xvc2VGbHlvdXRUaW1lcikge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuY2xvc2VGbHlvdXRUaW1lcik7XG4gICAgICB0aGlzLmNsb3NlRmx5b3V0VGltZXIgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2NoZWR1bGVDbG9zZUNvbGxhcHNlZEZseW91dCgpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFyRmx5b3V0Q2xvc2VUaW1lcigpO1xuICAgIHRoaXMuY2xvc2VGbHlvdXRUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5zaG93Q29sbGFwc2VkRmx5b3V0ID0gZmFsc2U7XG4gICAgICB0aGlzLmNsb3NlRmx5b3V0VGltZXIgPSBudWxsO1xuICAgIH0sIE5hdkl0ZW1Db21wb25lbnQuRkxZT1VUX0NMT1NFX0RFTEFZX01TKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNxYS1uYXYtc3VyZmFjZVwiPlxuICA8ZGl2XG4gICAgI25hdkhvc3RcbiAgICBjbGFzcz1cImNxYS1uYXYtaG9zdFwiXG4gICAgW2NsYXNzLmNxYS1uYXYtaG9zdC0tY29sbGFwc2VkXT1cIiFpc0V4cGFuZGVkXCJcbiAgICAobW91c2VlbnRlcik9XCJvbkhvc3RNb3VzZUVudGVyKClcIlxuICAgIChtb3VzZWxlYXZlKT1cIm9uSG9zdE1vdXNlTGVhdmUoKVwiXG4gICAgKGZvY3VzaW4pPVwib25Ib3N0Rm9jdXNJbigkZXZlbnQpXCJcbiAgICAoZm9jdXNvdXQpPVwib25Ib3N0Rm9jdXNPdXQoJGV2ZW50KVwiPlxuXG4gICAgPGJ1dHRvblxuICAgICAgY2RrT3ZlcmxheU9yaWdpblxuICAgICAgI2ZseW91dE9yaWdpbj1cImNka092ZXJsYXlPcmlnaW5cIlxuICAgICAgY2xhc3M9XCJjcWEtbmF2LWl0ZW1cIlxuICAgICAgW2NsYXNzLmNxYS1uYXYtaXRlbS0tYWN0aXZlXT1cImlzQWN0aXZlXCJcbiAgICAgIFtjbGFzcy5jcWEtbmF2LWl0ZW0tLWhhcy1jaGlsZHJlbl09XCJoYXNDaGlsZHJlblwiXG4gICAgICBbY2xhc3MuY3FhLW5hdi1pdGVtLS1jb2xsYXBzZWRdPVwiIWlzRXhwYW5kZWRcIlxuICAgICAgW2NsYXNzLmNxYS1uYXYtaXRlbS0tZGlzYWJsZWRdPVwiaXRlbT8uZGlzYWJsZWRcIlxuICAgICAgW2NsYXNzLmNxYS1uYXYtaXRlbS0taGFzLWxpdmVdPVwiaXRlbT8uc3RhdHVzID09PSAnbGl2ZSdcIlxuICAgICAgW21hdFRvb2x0aXBdPVwiY29sbGFwc2VkUmFpbFRvb2x0aXBcIlxuICAgICAgW21hdFRvb2x0aXBEaXNhYmxlZF09XCIhY29sbGFwc2VkUmFpbFRvb2x0aXBcIlxuICAgICAgW21hdFRvb2x0aXBDbGFzc109XCJjb2xsYXBzZWRSYWlsVG9vbHRpcENsYXNzXCJcbiAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCJcbiAgICAgIChjbGljayk9XCJvbkNsaWNrKClcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIiFpc0V4cGFuZGVkID8gKGl0ZW0/LmxhYmVsIHx8ICcnKSA6IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCIhaXNFeHBhbmRlZCAmJiBoYXNDaGlsZHJlbiA/IHNob3dDb2xsYXBzZWRGbHlvdXQgOiBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwiIWlzRXhwYW5kZWQgJiYgaGFzQ2hpbGRyZW4gPyAnbWVudScgOiBudWxsXCI+XG5cbiAgICAgIDwhLS0gSWNvbiAtLT5cbiAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLW5hdi1pY29uXCI+XG4gICAgICAgIDxpIFtjbGFzc109XCJpdGVtPy5pY29uQ2xhc3NcIj48L2k+XG4gICAgICA8L3NwYW4+XG5cbiAgICAgIDwhLS0gTGFiZWwgKGhpZGRlbiB3aGVuIHNpZGViYXIgY29sbGFwc2VkKSAtLT5cbiAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLW5hdi1sYWJlbFwiIFtjbGFzcy5jcWEtbmF2LWxhYmVsLS12aXNpYmxlXT1cImlzRXhwYW5kZWRcIj5cbiAgICAgICAge3sgaXRlbT8ubGFiZWwgfX1cbiAgICAgIDwvc3Bhbj5cblxuICAgICAgPCEtLSBUcmFpbGluZyBzbG90OiBvbmx5IHNob3duIHdoZW4gZXhwYW5kZWQgLS0+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNFeHBhbmRlZFwiPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIml0ZW0/LmJhZGdlICYmICFoYXNDaGlsZHJlblwiIGNsYXNzPVwiY3FhLW5hdi1iYWRnZVwiPnt7IGl0ZW0uYmFkZ2UgfX08L3NwYW4+XG5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAqbmdJZj1cIml0ZW0/LnN0YXR1cyA9PT0gJ2xpdmUnICYmICFoYXNDaGlsZHJlblwiXG4gICAgICAgICAgY2xhc3M9XCJjcWEtbmF2LXN0YXR1cy1kb3QgY3FhLW5hdi1zdGF0dXMtZG90LS1saXZlXCI+XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8c3BhblxuICAgICAgICAgICpuZ0lmPVwiaXRlbT8uc3RhdHVzID09PSAnZGFuZ2VyJyAmJiAhaGFzQ2hpbGRyZW5cIlxuICAgICAgICAgIGNsYXNzPVwiY3FhLW5hdi1zdGF0dXMtZG90IGNxYS1uYXYtc3RhdHVzLWRvdC0tZGFuZ2VyXCI+XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8c3BhbiAqbmdJZj1cImhhc0NoaWxkcmVuXCIgY2xhc3M9XCJjcWEtbmF2LWNoZXZcIiBbY2xhc3MuY3FhLW5hdi1jaGV2LS1vcGVuXT1cImlzT3BlblwiPlxuICAgICAgICAgIDxzdmcgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiXG4gICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiB3aWR0aD1cIjE0XCIgaGVpZ2h0PVwiMTRcIj5cbiAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9XCI5LDYgMTUsMTIgOSwxOFwiLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxzcGFuXG4gICAgICAgICpuZ0lmPVwiIWlzRXhwYW5kZWQgJiYgaXRlbT8uc3RhdHVzID09PSAnbGl2ZSdcIlxuICAgICAgICBjbGFzcz1cImNxYS1uYXYtbGl2ZS1jb3JuZXJcIj5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDwhLS0gQ29sbGFwc2VkIHBhcmVudCBzdWJtZW51OiBDREsgb3ZlcmxheSAob3V0c2lkZSBhc2lkZSAvIHNjcm9sbGluZyBuYXYpIC0tPlxuICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwiZmx5b3V0T3JpZ2luXCJcbiAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJjb2xsYXBzZWRGbHlvdXRPcGVuXCJcbiAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25zXT1cImNvbGxhcHNlZEZseW91dFBvc2l0aW9uc1wiXG4gICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheUhhc0JhY2tkcm9wXT1cImZhbHNlXCJcbiAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5UHVzaF09XCJ0cnVlXCJcbiAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5U2Nyb2xsU3RyYXRlZ3ldPVwiZmx5b3V0U2Nyb2xsU3RyYXRlZ3lcIlxuICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlQYW5lbENsYXNzXT1cIidjcWEtbmF2LWZseW91dC1vdmVybGF5LXBhbmUnXCJcbiAgICAgIChvdmVybGF5T3V0c2lkZUNsaWNrKT1cImNsb3NlQ29sbGFwc2VkRmx5b3V0KClcIlxuICAgICAgKGRldGFjaCk9XCJjbG9zZUNvbGxhcHNlZEZseW91dCgpXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiY3FhLW5hdi1mbHlvdXQtb3ZlcmxheSBjcWEtbmF2LWZseW91dC1wYW5lbFwiXG4gICAgICAgIHJvbGU9XCJtZW51XCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpdGVtLmxhYmVsXCJcbiAgICAgICAgKG1vdXNlZW50ZXIpPVwib25GbHlvdXRPdmVybGF5UG9pbnRlckVudGVyKClcIlxuICAgICAgICAobW91c2VsZWF2ZSk9XCJvbkZseW91dE92ZXJsYXlQb2ludGVyTGVhdmUoKVwiXG4gICAgICAgIChmb2N1c291dCk9XCJvbkZseW91dE92ZXJsYXlGb2N1c091dCgkZXZlbnQpXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtbmF2LWZseW91dC1wYW5lbC10aXRsZVwiPnt7IGl0ZW0ubGFiZWwgfX08L2Rpdj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBjaGlsZCBvZiBpdGVtPy5jaGlsZHJlblwiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgICAgICBjbGFzcz1cImNxYS1uYXYtZmx5b3V0LXJvd1wiXG4gICAgICAgICAgW2NsYXNzLmNxYS1uYXYtZmx5b3V0LXJvdy0tYWN0aXZlXT1cImlzQ2hpbGRSb3dBY3RpdmUoY2hpbGQuaWQpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiY2hpbGQuZGlzYWJsZWRcIlxuICAgICAgICAgIChjbGljayk9XCJvbkNoaWxkUm93Q2xpY2soJGV2ZW50LCBjaGlsZClcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS1uYXYtZmx5b3V0LXJvdy1pY29uXCI+XG4gICAgICAgICAgICA8aSAqbmdJZj1cImNoaWxkLmljb25DbGFzc1wiIFtjbGFzc109XCJjaGlsZC5pY29uQ2xhc3NcIj48L2k+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLW5hdi1mbHlvdXQtcm93LWxhYmVsXCI+e3sgY2hpbGQubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJjaGlsZC5pc05ld1wiIGNsYXNzPVwiY3FhLW5hdi1mbHlvdXQtcm93LW5ld1wiPk5ldzwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -35,11 +35,11 @@ export class NavMenuComponent {
35
35
  this.itemClick.emit(id);
36
36
  }
37
37
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NavMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
38
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: NavMenuComponent, selector: "cqa-nav-menu", inputs: { items: "items", activeId: "activeId", isExpanded: "isExpanded", openParents: "openParents" }, outputs: { itemClick: "itemClick" }, ngImport: i0, template: "<div id=\"cqa-ui-root\" style=\"display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;width:100%;\">\n <nav class=\"cqa-nav-menu\" [class.cqa-nav-menu--collapsed]=\"!isExpanded\">\n <ng-container *ngFor=\"let item of items\">\n\n <!-- Section header (expanded only \u2014 collapsed rail shows icons only) -->\n <ng-container *ngIf=\"isSection(item) && isExpanded\">\n <div class=\"cqa-nav-section\">\n <span class=\"cqa-nav-section-label\">{{ item.label }}</span>\n </div>\n </ng-container>\n\n <!-- Nav item -->\n <ng-container *ngIf=\"!isSection(item)\">\n <cqa-nav-item\n [item]=\"asNavItem(item)\"\n [isActive]=\"isItemActive(asNavItem(item))\"\n [isExpanded]=\"isExpanded\"\n [isOpen]=\"isParentOpen(asNavItem(item))\"\n [activeNavId]=\"activeId\"\n (itemClick)=\"onItemClick($event)\">\n </cqa-nav-item>\n\n <!-- Sub-menu (only rendered when sidebar is expanded) -->\n <div\n *ngIf=\"isExpanded && asNavItem(item).children?.length\"\n class=\"cqa-nav-children\"\n [class.cqa-nav-children--open]=\"isParentOpen(asNavItem(item))\">\n <cqa-nav-sub-item\n *ngFor=\"let child of asNavItem(item).children\"\n [item]=\"child\"\n [isActive]=\"isChildActive(child.id)\"\n (itemClick)=\"onItemClick($event)\">\n </cqa-nav-sub-item>\n </div>\n </ng-container>\n\n </ng-container>\n </nav>\n</div>\n", styles: [":host{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;width:100%}.cqa-nav-menu{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:4px 0 8px;min-height:0}.cqa-nav-menu::-webkit-scrollbar{width:4px}.cqa-nav-menu::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.cqa-nav-menu--collapsed{overflow-x:visible}.cqa-nav-section{font-size:10px;font-weight:700;letter-spacing:.1em;color:#ffffff8c;padding:14px 18px 6px;text-transform:uppercase;height:28px;overflow:hidden;transition:opacity .16s 80ms,padding .16s,font-size .16s;opacity:1}.cqa-nav-children{margin:1px 21px;padding:1px 0 1px 15px;border-left:1px solid rgba(255,255,255,.18);overflow:hidden;transition:max-height .25s ease-out,opacity .18s,margin .2s;max-height:0;opacity:0;display:flex;flex-direction:column;gap:1px}.cqa-nav-children--open{max-height:320px;opacity:1}\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: "component", type: i2.NavItemComponent, selector: "cqa-nav-item", inputs: ["item", "isActive", "isExpanded", "isOpen", "activeNavId"], outputs: ["itemClick"] }, { kind: "component", type: i3.NavSubItemComponent, selector: "cqa-nav-sub-item", inputs: ["item", "isActive"], outputs: ["itemClick"] }] });
38
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: NavMenuComponent, selector: "cqa-nav-menu", inputs: { items: "items", activeId: "activeId", isExpanded: "isExpanded", openParents: "openParents" }, outputs: { itemClick: "itemClick" }, ngImport: i0, template: "<div class=\"cqa-nav-menu-outer\">\n <nav class=\"cqa-nav-menu\" [class.cqa-nav-menu--collapsed]=\"!isExpanded\">\n <ng-container *ngFor=\"let item of items\">\n\n <!-- Section header (expanded only \u2014 collapsed rail shows icons only) -->\n <ng-container *ngIf=\"isSection(item) && isExpanded\">\n <div class=\"cqa-nav-section\">\n <span class=\"cqa-nav-section-label\">{{ item.label }}</span>\n </div>\n </ng-container>\n\n <!-- Nav item -->\n <ng-container *ngIf=\"!isSection(item)\">\n <cqa-nav-item\n [item]=\"asNavItem(item)\"\n [isActive]=\"isItemActive(asNavItem(item))\"\n [isExpanded]=\"isExpanded\"\n [isOpen]=\"isParentOpen(asNavItem(item))\"\n [activeNavId]=\"activeId\"\n (itemClick)=\"onItemClick($event)\">\n </cqa-nav-item>\n\n <!-- Sub-menu (only rendered when sidebar is expanded) -->\n <div\n *ngIf=\"isExpanded && asNavItem(item).children?.length\"\n class=\"cqa-nav-children\"\n [class.cqa-nav-children--open]=\"isParentOpen(asNavItem(item))\">\n <cqa-nav-sub-item\n *ngFor=\"let child of asNavItem(item).children\"\n [item]=\"child\"\n [isActive]=\"isChildActive(child.id)\"\n (itemClick)=\"onItemClick($event)\">\n </cqa-nav-sub-item>\n </div>\n </ng-container>\n\n </ng-container>\n </nav>\n</div>\n", styles: [":host{display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow:hidden;width:100%}.cqa-nav-menu-outer{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;width:100%}.cqa-nav-menu{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:4px 0 8px;min-height:0;overscroll-behavior:contain}.cqa-nav-menu::-webkit-scrollbar{width:4px}.cqa-nav-menu::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.cqa-nav-menu--collapsed{overflow-x:visible}.cqa-nav-section{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:10px;font-weight:700;letter-spacing:.1em;color:#ffffff8c;padding:14px 18px 6px;text-transform:uppercase;overflow:hidden;transition:opacity .16s 80ms,padding .16s,font-size .16s;opacity:1}.cqa-nav-children{margin:1px 21px;padding:1px 0 1px 15px;border-left:1px solid rgba(255,255,255,.18);overflow:hidden;transition:max-height .25s ease-out,opacity .18s,margin .2s;max-height:0;opacity:0;display:flex;flex-direction:column;gap:1px}.cqa-nav-children--open{max-height:320px;opacity:1}\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: "component", type: i2.NavItemComponent, selector: "cqa-nav-item", inputs: ["item", "isActive", "isExpanded", "isOpen", "activeNavId"], outputs: ["itemClick"] }, { kind: "component", type: i3.NavSubItemComponent, selector: "cqa-nav-sub-item", inputs: ["item", "isActive"], outputs: ["itemClick"] }] });
39
39
  }
40
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NavMenuComponent, decorators: [{
41
41
  type: Component,
42
- args: [{ selector: 'cqa-nav-menu', template: "<div id=\"cqa-ui-root\" style=\"display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;width:100%;\">\n <nav class=\"cqa-nav-menu\" [class.cqa-nav-menu--collapsed]=\"!isExpanded\">\n <ng-container *ngFor=\"let item of items\">\n\n <!-- Section header (expanded only \u2014 collapsed rail shows icons only) -->\n <ng-container *ngIf=\"isSection(item) && isExpanded\">\n <div class=\"cqa-nav-section\">\n <span class=\"cqa-nav-section-label\">{{ item.label }}</span>\n </div>\n </ng-container>\n\n <!-- Nav item -->\n <ng-container *ngIf=\"!isSection(item)\">\n <cqa-nav-item\n [item]=\"asNavItem(item)\"\n [isActive]=\"isItemActive(asNavItem(item))\"\n [isExpanded]=\"isExpanded\"\n [isOpen]=\"isParentOpen(asNavItem(item))\"\n [activeNavId]=\"activeId\"\n (itemClick)=\"onItemClick($event)\">\n </cqa-nav-item>\n\n <!-- Sub-menu (only rendered when sidebar is expanded) -->\n <div\n *ngIf=\"isExpanded && asNavItem(item).children?.length\"\n class=\"cqa-nav-children\"\n [class.cqa-nav-children--open]=\"isParentOpen(asNavItem(item))\">\n <cqa-nav-sub-item\n *ngFor=\"let child of asNavItem(item).children\"\n [item]=\"child\"\n [isActive]=\"isChildActive(child.id)\"\n (itemClick)=\"onItemClick($event)\">\n </cqa-nav-sub-item>\n </div>\n </ng-container>\n\n </ng-container>\n </nav>\n</div>\n", styles: [":host{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;width:100%}.cqa-nav-menu{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:4px 0 8px;min-height:0}.cqa-nav-menu::-webkit-scrollbar{width:4px}.cqa-nav-menu::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.cqa-nav-menu--collapsed{overflow-x:visible}.cqa-nav-section{font-size:10px;font-weight:700;letter-spacing:.1em;color:#ffffff8c;padding:14px 18px 6px;text-transform:uppercase;height:28px;overflow:hidden;transition:opacity .16s 80ms,padding .16s,font-size .16s;opacity:1}.cqa-nav-children{margin:1px 21px;padding:1px 0 1px 15px;border-left:1px solid rgba(255,255,255,.18);overflow:hidden;transition:max-height .25s ease-out,opacity .18s,margin .2s;max-height:0;opacity:0;display:flex;flex-direction:column;gap:1px}.cqa-nav-children--open{max-height:320px;opacity:1}\n"] }]
42
+ args: [{ selector: 'cqa-nav-menu', template: "<div class=\"cqa-nav-menu-outer\">\n <nav class=\"cqa-nav-menu\" [class.cqa-nav-menu--collapsed]=\"!isExpanded\">\n <ng-container *ngFor=\"let item of items\">\n\n <!-- Section header (expanded only \u2014 collapsed rail shows icons only) -->\n <ng-container *ngIf=\"isSection(item) && isExpanded\">\n <div class=\"cqa-nav-section\">\n <span class=\"cqa-nav-section-label\">{{ item.label }}</span>\n </div>\n </ng-container>\n\n <!-- Nav item -->\n <ng-container *ngIf=\"!isSection(item)\">\n <cqa-nav-item\n [item]=\"asNavItem(item)\"\n [isActive]=\"isItemActive(asNavItem(item))\"\n [isExpanded]=\"isExpanded\"\n [isOpen]=\"isParentOpen(asNavItem(item))\"\n [activeNavId]=\"activeId\"\n (itemClick)=\"onItemClick($event)\">\n </cqa-nav-item>\n\n <!-- Sub-menu (only rendered when sidebar is expanded) -->\n <div\n *ngIf=\"isExpanded && asNavItem(item).children?.length\"\n class=\"cqa-nav-children\"\n [class.cqa-nav-children--open]=\"isParentOpen(asNavItem(item))\">\n <cqa-nav-sub-item\n *ngFor=\"let child of asNavItem(item).children\"\n [item]=\"child\"\n [isActive]=\"isChildActive(child.id)\"\n (itemClick)=\"onItemClick($event)\">\n </cqa-nav-sub-item>\n </div>\n </ng-container>\n\n </ng-container>\n </nav>\n</div>\n", styles: [":host{display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow:hidden;width:100%}.cqa-nav-menu-outer{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;width:100%}.cqa-nav-menu{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:4px 0 8px;min-height:0;overscroll-behavior:contain}.cqa-nav-menu::-webkit-scrollbar{width:4px}.cqa-nav-menu::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.cqa-nav-menu--collapsed{overflow-x:visible}.cqa-nav-section{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:10px;font-weight:700;letter-spacing:.1em;color:#ffffff8c;padding:14px 18px 6px;text-transform:uppercase;overflow:hidden;transition:opacity .16s 80ms,padding .16s,font-size .16s;opacity:1}.cqa-nav-children{margin:1px 21px;padding:1px 0 1px 15px;border-left:1px solid rgba(255,255,255,.18);overflow:hidden;transition:max-height .25s ease-out,opacity .18s,margin .2s;max-height:0;opacity:0;display:flex;flex-direction:column;gap:1px}.cqa-nav-children--open{max-height:320px;opacity:1}\n"] }]
43
43
  }], propDecorators: { items: [{
44
44
  type: Input
45
45
  }], activeId: [{
@@ -51,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
51
51
  }], itemClick: [{
52
52
  type: Output
53
53
  }] } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zaWRlYmFyL25hdi1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2lkZWJhci9uYXYtbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBb0MsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7O0FBT2xGLE1BQU0sT0FBTyxnQkFBZ0I7SUFDbEIsS0FBSyxHQUFrQixFQUFFLENBQUM7SUFDMUIsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUN0QixVQUFVLEdBQVksS0FBSyxDQUFDO0lBQ3JDLGlFQUFpRTtJQUN4RCxXQUFXLEdBQWEsRUFBRSxDQUFDO0lBRTFCLFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRWpELFNBQVMsQ0FBQyxJQUFpQjtRQUN6QixPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsU0FBUyxDQUFDLElBQWlCO1FBQ3pCLE9BQU8sSUFBZSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBYTtRQUN4QixJQUFJLElBQUksQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPLElBQUksQ0FBQztRQUMzQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekQsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFhO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxhQUFhLENBQUMsT0FBZTtRQUMzQixPQUFPLE9BQU8sS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ25DLENBQUM7SUFFRCxXQUFXLENBQUMsRUFBVTtRQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMxQixDQUFDO3dHQW5DVSxnQkFBZ0I7NEZBQWhCLGdCQUFnQixpTUNSN0Isc2hEQXVDQTs7NEZEL0JhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxjQUFjOzhCQUtmLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFSSxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdk1lbnVJdGVtLCBOYXZJdGVtLCBOYXZTZWN0aW9uLCBpc05hdlNlY3Rpb24gfSBmcm9tICcuL3NpZGViYXIubW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3FhLW5hdi1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL25hdi1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbmF2LW1lbnUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBOYXZNZW51Q29tcG9uZW50IHtcbiAgQElucHV0KCkgaXRlbXM6IE5hdk1lbnVJdGVtW10gPSBbXTtcbiAgQElucHV0KCkgYWN0aXZlSWQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBpc0V4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKiBJRHMgb2YgcGFyZW50IG5hdiBpdGVtcyB3aG9zZSBzdWItbWVudXMgYXJlIGN1cnJlbnRseSBvcGVuICovXG4gIEBJbnB1dCgpIG9wZW5QYXJlbnRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIEBPdXRwdXQoKSBpdGVtQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBpc1NlY3Rpb24oaXRlbTogTmF2TWVudUl0ZW0pOiBpdGVtIGlzIE5hdlNlY3Rpb24ge1xuICAgIHJldHVybiBpc05hdlNlY3Rpb24oaXRlbSk7XG4gIH1cblxuICBhc05hdkl0ZW0oaXRlbTogTmF2TWVudUl0ZW0pOiBOYXZJdGVtIHtcbiAgICByZXR1cm4gaXRlbSBhcyBOYXZJdGVtO1xuICB9XG5cbiAgaXNJdGVtQWN0aXZlKGl0ZW06IE5hdkl0ZW0pOiBib29sZWFuIHtcbiAgICBpZiAoaXRlbS5pZCA9PT0gdGhpcy5hY3RpdmVJZCkgcmV0dXJuIHRydWU7XG4gICAgaWYgKGl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgIHJldHVybiBpdGVtLmNoaWxkcmVuLnNvbWUoYyA9PiBjLmlkID09PSB0aGlzLmFjdGl2ZUlkKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaXNQYXJlbnRPcGVuKGl0ZW06IE5hdkl0ZW0pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5vcGVuUGFyZW50cy5pbmNsdWRlcyhpdGVtLmlkKTtcbiAgfVxuXG4gIGlzQ2hpbGRBY3RpdmUoY2hpbGRJZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGNoaWxkSWQgPT09IHRoaXMuYWN0aXZlSWQ7XG4gIH1cblxuICBvbkl0ZW1DbGljayhpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5pdGVtQ2xpY2suZW1pdChpZCk7XG4gIH1cbn1cbiIsIjxkaXYgaWQ9XCJjcWEtdWktcm9vdFwiIHN0eWxlPVwiZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4OjEgMSBhdXRvO21pbi1oZWlnaHQ6MDtvdmVyZmxvdzpoaWRkZW47d2lkdGg6MTAwJTtcIj5cbiAgPG5hdiBjbGFzcz1cImNxYS1uYXYtbWVudVwiIFtjbGFzcy5jcWEtbmF2LW1lbnUtLWNvbGxhcHNlZF09XCIhaXNFeHBhbmRlZFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIj5cblxuICAgICAgPCEtLSBTZWN0aW9uIGhlYWRlciAoZXhwYW5kZWQgb25seSDigJQgY29sbGFwc2VkIHJhaWwgc2hvd3MgaWNvbnMgb25seSkgLS0+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNTZWN0aW9uKGl0ZW0pICYmIGlzRXhwYW5kZWRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1uYXYtc2VjdGlvblwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLW5hdi1zZWN0aW9uLWxhYmVsXCI+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBOYXYgaXRlbSAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNTZWN0aW9uKGl0ZW0pXCI+XG4gICAgICAgIDxjcWEtbmF2LWl0ZW1cbiAgICAgICAgICBbaXRlbV09XCJhc05hdkl0ZW0oaXRlbSlcIlxuICAgICAgICAgIFtpc0FjdGl2ZV09XCJpc0l0ZW1BY3RpdmUoYXNOYXZJdGVtKGl0ZW0pKVwiXG4gICAgICAgICAgW2lzRXhwYW5kZWRdPVwiaXNFeHBhbmRlZFwiXG4gICAgICAgICAgW2lzT3Blbl09XCJpc1BhcmVudE9wZW4oYXNOYXZJdGVtKGl0ZW0pKVwiXG4gICAgICAgICAgW2FjdGl2ZU5hdklkXT1cImFjdGl2ZUlkXCJcbiAgICAgICAgICAoaXRlbUNsaWNrKT1cIm9uSXRlbUNsaWNrKCRldmVudClcIj5cbiAgICAgICAgPC9jcWEtbmF2LWl0ZW0+XG5cbiAgICAgICAgPCEtLSBTdWItbWVudSAob25seSByZW5kZXJlZCB3aGVuIHNpZGViYXIgaXMgZXhwYW5kZWQpIC0tPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nSWY9XCJpc0V4cGFuZGVkICYmIGFzTmF2SXRlbShpdGVtKS5jaGlsZHJlbj8ubGVuZ3RoXCJcbiAgICAgICAgICBjbGFzcz1cImNxYS1uYXYtY2hpbGRyZW5cIlxuICAgICAgICAgIFtjbGFzcy5jcWEtbmF2LWNoaWxkcmVuLS1vcGVuXT1cImlzUGFyZW50T3Blbihhc05hdkl0ZW0oaXRlbSkpXCI+XG4gICAgICAgICAgPGNxYS1uYXYtc3ViLWl0ZW1cbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjaGlsZCBvZiBhc05hdkl0ZW0oaXRlbSkuY2hpbGRyZW5cIlxuICAgICAgICAgICAgW2l0ZW1dPVwiY2hpbGRcIlxuICAgICAgICAgICAgW2lzQWN0aXZlXT1cImlzQ2hpbGRBY3RpdmUoY2hpbGQuaWQpXCJcbiAgICAgICAgICAgIChpdGVtQ2xpY2spPVwib25JdGVtQ2xpY2soJGV2ZW50KVwiPlxuICAgICAgICAgIDwvY3FhLW5hdi1zdWItaXRlbT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25hdj5cbjwvZGl2PlxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zaWRlYmFyL25hdi1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2lkZWJhci9uYXYtbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBb0MsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7O0FBT2xGLE1BQU0sT0FBTyxnQkFBZ0I7SUFDbEIsS0FBSyxHQUFrQixFQUFFLENBQUM7SUFDMUIsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUN0QixVQUFVLEdBQVksS0FBSyxDQUFDO0lBQ3JDLGlFQUFpRTtJQUN4RCxXQUFXLEdBQWEsRUFBRSxDQUFDO0lBRTFCLFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRWpELFNBQVMsQ0FBQyxJQUFpQjtRQUN6QixPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsU0FBUyxDQUFDLElBQWlCO1FBQ3pCLE9BQU8sSUFBZSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBYTtRQUN4QixJQUFJLElBQUksQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPLElBQUksQ0FBQztRQUMzQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekQsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFhO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxhQUFhLENBQUMsT0FBZTtRQUMzQixPQUFPLE9BQU8sS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ25DLENBQUM7SUFFRCxXQUFXLENBQUMsRUFBVTtRQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMxQixDQUFDO3dHQW5DVSxnQkFBZ0I7NEZBQWhCLGdCQUFnQixpTUNSN0IsNDdDQXVDQTs7NEZEL0JhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxjQUFjOzhCQUtmLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFSSxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdk1lbnVJdGVtLCBOYXZJdGVtLCBOYXZTZWN0aW9uLCBpc05hdlNlY3Rpb24gfSBmcm9tICcuL3NpZGViYXIubW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3FhLW5hdi1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL25hdi1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbmF2LW1lbnUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBOYXZNZW51Q29tcG9uZW50IHtcbiAgQElucHV0KCkgaXRlbXM6IE5hdk1lbnVJdGVtW10gPSBbXTtcbiAgQElucHV0KCkgYWN0aXZlSWQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBpc0V4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKiBJRHMgb2YgcGFyZW50IG5hdiBpdGVtcyB3aG9zZSBzdWItbWVudXMgYXJlIGN1cnJlbnRseSBvcGVuICovXG4gIEBJbnB1dCgpIG9wZW5QYXJlbnRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIEBPdXRwdXQoKSBpdGVtQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBpc1NlY3Rpb24oaXRlbTogTmF2TWVudUl0ZW0pOiBpdGVtIGlzIE5hdlNlY3Rpb24ge1xuICAgIHJldHVybiBpc05hdlNlY3Rpb24oaXRlbSk7XG4gIH1cblxuICBhc05hdkl0ZW0oaXRlbTogTmF2TWVudUl0ZW0pOiBOYXZJdGVtIHtcbiAgICByZXR1cm4gaXRlbSBhcyBOYXZJdGVtO1xuICB9XG5cbiAgaXNJdGVtQWN0aXZlKGl0ZW06IE5hdkl0ZW0pOiBib29sZWFuIHtcbiAgICBpZiAoaXRlbS5pZCA9PT0gdGhpcy5hY3RpdmVJZCkgcmV0dXJuIHRydWU7XG4gICAgaWYgKGl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgIHJldHVybiBpdGVtLmNoaWxkcmVuLnNvbWUoYyA9PiBjLmlkID09PSB0aGlzLmFjdGl2ZUlkKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaXNQYXJlbnRPcGVuKGl0ZW06IE5hdkl0ZW0pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5vcGVuUGFyZW50cy5pbmNsdWRlcyhpdGVtLmlkKTtcbiAgfVxuXG4gIGlzQ2hpbGRBY3RpdmUoY2hpbGRJZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGNoaWxkSWQgPT09IHRoaXMuYWN0aXZlSWQ7XG4gIH1cblxuICBvbkl0ZW1DbGljayhpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5pdGVtQ2xpY2suZW1pdChpZCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjcWEtbmF2LW1lbnUtb3V0ZXJcIj5cbiAgPG5hdiBjbGFzcz1cImNxYS1uYXYtbWVudVwiIFtjbGFzcy5jcWEtbmF2LW1lbnUtLWNvbGxhcHNlZF09XCIhaXNFeHBhbmRlZFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIj5cblxuICAgICAgPCEtLSBTZWN0aW9uIGhlYWRlciAoZXhwYW5kZWQgb25seSDigJQgY29sbGFwc2VkIHJhaWwgc2hvd3MgaWNvbnMgb25seSkgLS0+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNTZWN0aW9uKGl0ZW0pICYmIGlzRXhwYW5kZWRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1uYXYtc2VjdGlvblwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLW5hdi1zZWN0aW9uLWxhYmVsXCI+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBOYXYgaXRlbSAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNTZWN0aW9uKGl0ZW0pXCI+XG4gICAgICAgIDxjcWEtbmF2LWl0ZW1cbiAgICAgICAgICBbaXRlbV09XCJhc05hdkl0ZW0oaXRlbSlcIlxuICAgICAgICAgIFtpc0FjdGl2ZV09XCJpc0l0ZW1BY3RpdmUoYXNOYXZJdGVtKGl0ZW0pKVwiXG4gICAgICAgICAgW2lzRXhwYW5kZWRdPVwiaXNFeHBhbmRlZFwiXG4gICAgICAgICAgW2lzT3Blbl09XCJpc1BhcmVudE9wZW4oYXNOYXZJdGVtKGl0ZW0pKVwiXG4gICAgICAgICAgW2FjdGl2ZU5hdklkXT1cImFjdGl2ZUlkXCJcbiAgICAgICAgICAoaXRlbUNsaWNrKT1cIm9uSXRlbUNsaWNrKCRldmVudClcIj5cbiAgICAgICAgPC9jcWEtbmF2LWl0ZW0+XG5cbiAgICAgICAgPCEtLSBTdWItbWVudSAob25seSByZW5kZXJlZCB3aGVuIHNpZGViYXIgaXMgZXhwYW5kZWQpIC0tPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nSWY9XCJpc0V4cGFuZGVkICYmIGFzTmF2SXRlbShpdGVtKS5jaGlsZHJlbj8ubGVuZ3RoXCJcbiAgICAgICAgICBjbGFzcz1cImNxYS1uYXYtY2hpbGRyZW5cIlxuICAgICAgICAgIFtjbGFzcy5jcWEtbmF2LWNoaWxkcmVuLS1vcGVuXT1cImlzUGFyZW50T3Blbihhc05hdkl0ZW0oaXRlbSkpXCI+XG4gICAgICAgICAgPGNxYS1uYXYtc3ViLWl0ZW1cbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjaGlsZCBvZiBhc05hdkl0ZW0oaXRlbSkuY2hpbGRyZW5cIlxuICAgICAgICAgICAgW2l0ZW1dPVwiY2hpbGRcIlxuICAgICAgICAgICAgW2lzQWN0aXZlXT1cImlzQ2hpbGRBY3RpdmUoY2hpbGQuaWQpXCJcbiAgICAgICAgICAgIChpdGVtQ2xpY2spPVwib25JdGVtQ2xpY2soJGV2ZW50KVwiPlxuICAgICAgICAgIDwvY3FhLW5hdi1zdWItaXRlbT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25hdj5cbjwvZGl2PlxuIl19
@@ -11,11 +11,11 @@ export class NavSubItemComponent {
11
11
  }
12
12
  }
13
13
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NavSubItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: NavSubItemComponent, selector: "cqa-nav-sub-item", inputs: { item: "item", isActive: "isActive" }, outputs: { itemClick: "itemClick" }, ngImport: i0, template: "<div id=\"cqa-ui-root\" style=\"display:block\">\n <button\n class=\"cqa-nav-sub-item\"\n [class.cqa-nav-sub-item--active]=\"isActive\"\n [class.cqa-nav-sub-item--disabled]=\"item?.disabled\"\n (click)=\"onClick()\"\n type=\"button\">\n\n <span class=\"cqa-nav-sub-icon\">\n <i [class]=\"item?.iconClass\"></i>\n </span>\n\n <span class=\"cqa-nav-sub-label\">{{ item?.label }}</span>\n\n <span *ngIf=\"item?.isNew\" class=\"cqa-nav-sub-badge cqa-nav-sub-badge--new\">New</span>\n </button>\n</div>\n", styles: ["@charset \"UTF-8\";.cqa-nav-sub-item{display:flex;align-items:center;gap:10px;padding:7px 10px;margin:0;border-radius:7px;color:#d8d9fc;font-size:12px;font-weight:400;line-height:normal;width:100%;text-align:left;background:transparent;border:none;cursor:pointer;transition:background .12s,color .12s;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.cqa-nav-sub-item:hover:not(.cqa-nav-sub-item--active){background:#ffffff1a;color:#fff}.cqa-nav-sub-item--active{background:#8a8cf4;color:#fbfcff;font-weight:600}.cqa-nav-sub-item--active .cqa-nav-sub-icon{opacity:1;color:#fbfcff}.cqa-nav-sub-item--active .cqa-nav-sub-label{color:#fbfcff;font-weight:600}.cqa-nav-sub-item--active:hover{background:#8a8cf4;color:#fbfcff}.cqa-nav-sub-item--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.cqa-nav-sub-icon{width:15px;height:15px;flex-shrink:0;display:flex;align-items:center;justify-content:center;opacity:.92;font-size:13px;color:inherit}.cqa-nav-sub-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:inherit}.cqa-nav-sub-badge{font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px;flex-shrink:0}.cqa-nav-sub-badge--new{background:#feecbd;color:#7e6012;border:1px solid #fddf92}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
14
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: NavSubItemComponent, selector: "cqa-nav-sub-item", inputs: { item: "item", isActive: "isActive" }, outputs: { itemClick: "itemClick" }, ngImport: i0, template: "<div class=\"cqa-nav-surface\">\n <button\n class=\"cqa-nav-sub-item\"\n [class.cqa-nav-sub-item--active]=\"isActive\"\n [class.cqa-nav-sub-item--disabled]=\"item?.disabled\"\n (click)=\"onClick()\"\n type=\"button\">\n\n <span class=\"cqa-nav-sub-icon\">\n <i [class]=\"item?.iconClass\"></i>\n </span>\n\n <span class=\"cqa-nav-sub-label\">{{ item?.label }}</span>\n\n <span *ngIf=\"item?.isNew\" class=\"cqa-nav-sub-badge cqa-nav-sub-badge--new\">New</span>\n </button>\n</div>\n", styles: ["@charset \"UTF-8\";.cqa-nav-surface{display:block;width:100%}.cqa-nav-sub-item{display:flex;align-items:center;gap:10px;padding:7px 10px;margin:0;border-radius:7px;color:#d8d9fc;font-size:12px;font-weight:400;line-height:normal;width:100%;text-align:left;background:transparent;border:none;cursor:pointer;transition:background .12s,color .12s;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.cqa-nav-sub-item:hover:not(.cqa-nav-sub-item--active){background:#ffffff1a;color:#fff}.cqa-nav-sub-item--active{background:#8a8cf4;color:#fbfcff;font-weight:600}.cqa-nav-sub-item--active .cqa-nav-sub-icon{opacity:1;color:#fbfcff}.cqa-nav-sub-item--active .cqa-nav-sub-label{color:#fbfcff;font-weight:600}.cqa-nav-sub-item--active:hover{background:#8a8cf4;color:#fbfcff}.cqa-nav-sub-item--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.cqa-nav-sub-icon{width:15px;height:15px;flex-shrink:0;display:flex;align-items:center;justify-content:center;opacity:.92;font-size:13px;color:inherit}.cqa-nav-sub-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:inherit}.cqa-nav-sub-badge{font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px;flex-shrink:0}.cqa-nav-sub-badge--new{background:#feecbd;color:#7e6012;border:1px solid #fddf92}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
15
15
  }
16
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NavSubItemComponent, decorators: [{
17
17
  type: Component,
18
- args: [{ selector: 'cqa-nav-sub-item', template: "<div id=\"cqa-ui-root\" style=\"display:block\">\n <button\n class=\"cqa-nav-sub-item\"\n [class.cqa-nav-sub-item--active]=\"isActive\"\n [class.cqa-nav-sub-item--disabled]=\"item?.disabled\"\n (click)=\"onClick()\"\n type=\"button\">\n\n <span class=\"cqa-nav-sub-icon\">\n <i [class]=\"item?.iconClass\"></i>\n </span>\n\n <span class=\"cqa-nav-sub-label\">{{ item?.label }}</span>\n\n <span *ngIf=\"item?.isNew\" class=\"cqa-nav-sub-badge cqa-nav-sub-badge--new\">New</span>\n </button>\n</div>\n", styles: ["@charset \"UTF-8\";.cqa-nav-sub-item{display:flex;align-items:center;gap:10px;padding:7px 10px;margin:0;border-radius:7px;color:#d8d9fc;font-size:12px;font-weight:400;line-height:normal;width:100%;text-align:left;background:transparent;border:none;cursor:pointer;transition:background .12s,color .12s;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.cqa-nav-sub-item:hover:not(.cqa-nav-sub-item--active){background:#ffffff1a;color:#fff}.cqa-nav-sub-item--active{background:#8a8cf4;color:#fbfcff;font-weight:600}.cqa-nav-sub-item--active .cqa-nav-sub-icon{opacity:1;color:#fbfcff}.cqa-nav-sub-item--active .cqa-nav-sub-label{color:#fbfcff;font-weight:600}.cqa-nav-sub-item--active:hover{background:#8a8cf4;color:#fbfcff}.cqa-nav-sub-item--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.cqa-nav-sub-icon{width:15px;height:15px;flex-shrink:0;display:flex;align-items:center;justify-content:center;opacity:.92;font-size:13px;color:inherit}.cqa-nav-sub-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:inherit}.cqa-nav-sub-badge{font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px;flex-shrink:0}.cqa-nav-sub-badge--new{background:#feecbd;color:#7e6012;border:1px solid #fddf92}\n"] }]
18
+ args: [{ selector: 'cqa-nav-sub-item', template: "<div class=\"cqa-nav-surface\">\n <button\n class=\"cqa-nav-sub-item\"\n [class.cqa-nav-sub-item--active]=\"isActive\"\n [class.cqa-nav-sub-item--disabled]=\"item?.disabled\"\n (click)=\"onClick()\"\n type=\"button\">\n\n <span class=\"cqa-nav-sub-icon\">\n <i [class]=\"item?.iconClass\"></i>\n </span>\n\n <span class=\"cqa-nav-sub-label\">{{ item?.label }}</span>\n\n <span *ngIf=\"item?.isNew\" class=\"cqa-nav-sub-badge cqa-nav-sub-badge--new\">New</span>\n </button>\n</div>\n", styles: ["@charset \"UTF-8\";.cqa-nav-surface{display:block;width:100%}.cqa-nav-sub-item{display:flex;align-items:center;gap:10px;padding:7px 10px;margin:0;border-radius:7px;color:#d8d9fc;font-size:12px;font-weight:400;line-height:normal;width:100%;text-align:left;background:transparent;border:none;cursor:pointer;transition:background .12s,color .12s;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.cqa-nav-sub-item:hover:not(.cqa-nav-sub-item--active){background:#ffffff1a;color:#fff}.cqa-nav-sub-item--active{background:#8a8cf4;color:#fbfcff;font-weight:600}.cqa-nav-sub-item--active .cqa-nav-sub-icon{opacity:1;color:#fbfcff}.cqa-nav-sub-item--active .cqa-nav-sub-label{color:#fbfcff;font-weight:600}.cqa-nav-sub-item--active:hover{background:#8a8cf4;color:#fbfcff}.cqa-nav-sub-item--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.cqa-nav-sub-icon{width:15px;height:15px;flex-shrink:0;display:flex;align-items:center;justify-content:center;opacity:.92;font-size:13px;color:inherit}.cqa-nav-sub-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:inherit}.cqa-nav-sub-badge{font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px;flex-shrink:0}.cqa-nav-sub-badge--new{background:#feecbd;color:#7e6012;border:1px solid #fddf92}\n"] }]
19
19
  }], propDecorators: { item: [{
20
20
  type: Input
21
21
  }], isActive: [{
@@ -23,4 +23,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
23
23
  }], itemClick: [{
24
24
  type: Output
25
25
  }] } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXN1Yi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2lkZWJhci9uYXYtc3ViLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zaWRlYmFyL25hdi1zdWItaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFRdkUsTUFBTSxPQUFPLG1CQUFtQjtJQUNyQixJQUFJLENBQWdCO0lBQ3BCLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFFekIsU0FBUyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFFakQsT0FBTztRQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7d0dBVlUsbUJBQW1COzRGQUFuQixtQkFBbUIsNklDUmhDLHVoQkFpQkE7OzRGRFRhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxrQkFBa0I7OEJBS25CLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2Q2hpbGRJdGVtIH0gZnJvbSAnLi9zaWRlYmFyLm1vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NxYS1uYXYtc3ViLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vbmF2LXN1Yi1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbmF2LXN1Yi1pdGVtLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTmF2U3ViSXRlbUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGl0ZW0hOiBOYXZDaGlsZEl0ZW07XG4gIEBJbnB1dCgpIGlzQWN0aXZlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIGl0ZW1DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLml0ZW0/LmRpc2FibGVkKSB7XG4gICAgICB0aGlzLml0ZW1DbGljay5lbWl0KHRoaXMuaXRlbS5pZCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGlkPVwiY3FhLXVpLXJvb3RcIiBzdHlsZT1cImRpc3BsYXk6YmxvY2tcIj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwiY3FhLW5hdi1zdWItaXRlbVwiXG4gICAgW2NsYXNzLmNxYS1uYXYtc3ViLWl0ZW0tLWFjdGl2ZV09XCJpc0FjdGl2ZVwiXG4gICAgW2NsYXNzLmNxYS1uYXYtc3ViLWl0ZW0tLWRpc2FibGVkXT1cIml0ZW0/LmRpc2FibGVkXCJcbiAgICAoY2xpY2spPVwib25DbGljaygpXCJcbiAgICB0eXBlPVwiYnV0dG9uXCI+XG5cbiAgICA8c3BhbiBjbGFzcz1cImNxYS1uYXYtc3ViLWljb25cIj5cbiAgICAgIDxpIFtjbGFzc109XCJpdGVtPy5pY29uQ2xhc3NcIj48L2k+XG4gICAgPC9zcGFuPlxuXG4gICAgPHNwYW4gY2xhc3M9XCJjcWEtbmF2LXN1Yi1sYWJlbFwiPnt7IGl0ZW0/LmxhYmVsIH19PC9zcGFuPlxuXG4gICAgPHNwYW4gKm5nSWY9XCJpdGVtPy5pc05ld1wiIGNsYXNzPVwiY3FhLW5hdi1zdWItYmFkZ2UgY3FhLW5hdi1zdWItYmFkZ2UtLW5ld1wiPk5ldzwvc3Bhbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXN1Yi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2lkZWJhci9uYXYtc3ViLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zaWRlYmFyL25hdi1zdWItaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFRdkUsTUFBTSxPQUFPLG1CQUFtQjtJQUNyQixJQUFJLENBQWdCO0lBQ3BCLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFFekIsU0FBUyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFFakQsT0FBTztRQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7d0dBVlUsbUJBQW1COzRGQUFuQixtQkFBbUIsNklDUmhDLHNnQkFpQkE7OzRGRFRhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxrQkFBa0I7OEJBS25CLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2Q2hpbGRJdGVtIH0gZnJvbSAnLi9zaWRlYmFyLm1vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NxYS1uYXYtc3ViLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vbmF2LXN1Yi1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbmF2LXN1Yi1pdGVtLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTmF2U3ViSXRlbUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGl0ZW0hOiBOYXZDaGlsZEl0ZW07XG4gIEBJbnB1dCgpIGlzQWN0aXZlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIGl0ZW1DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLml0ZW0/LmRpc2FibGVkKSB7XG4gICAgICB0aGlzLml0ZW1DbGljay5lbWl0KHRoaXMuaXRlbS5pZCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY3FhLW5hdi1zdXJmYWNlXCI+XG4gIDxidXR0b25cbiAgICBjbGFzcz1cImNxYS1uYXYtc3ViLWl0ZW1cIlxuICAgIFtjbGFzcy5jcWEtbmF2LXN1Yi1pdGVtLS1hY3RpdmVdPVwiaXNBY3RpdmVcIlxuICAgIFtjbGFzcy5jcWEtbmF2LXN1Yi1pdGVtLS1kaXNhYmxlZF09XCJpdGVtPy5kaXNhYmxlZFwiXG4gICAgKGNsaWNrKT1cIm9uQ2xpY2soKVwiXG4gICAgdHlwZT1cImJ1dHRvblwiPlxuXG4gICAgPHNwYW4gY2xhc3M9XCJjcWEtbmF2LXN1Yi1pY29uXCI+XG4gICAgICA8aSBbY2xhc3NdPVwiaXRlbT8uaWNvbkNsYXNzXCI+PC9pPlxuICAgIDwvc3Bhbj5cblxuICAgIDxzcGFuIGNsYXNzPVwiY3FhLW5hdi1zdWItbGFiZWxcIj57eyBpdGVtPy5sYWJlbCB9fTwvc3Bhbj5cblxuICAgIDxzcGFuICpuZ0lmPVwiaXRlbT8uaXNOZXdcIiBjbGFzcz1cImNxYS1uYXYtc3ViLWJhZGdlIGNxYS1uYXYtc3ViLWJhZGdlLS1uZXdcIj5OZXc8L3NwYW4+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,128 @@
1
+ import { Component, Input, Output, EventEmitter, ViewChild, } from '@angular/core';
2
+ import { TemplatePortal } from '@angular/cdk/portal';
3
+ import { isProfileMenuDivider, } from './profile-menu.models';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/cdk/overlay";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "../../pipes/safe-html.pipe";
8
+ export class ProfileMenuComponent {
9
+ overlay;
10
+ viewContainerRef;
11
+ user;
12
+ entries = [];
13
+ anchor = null;
14
+ /** Optional id on the popover element — useful for aria-labelledby wiring. */
15
+ popoverId;
16
+ itemClick = new EventEmitter();
17
+ dismissed = new EventEmitter();
18
+ popoverTpl;
19
+ overlayRef = null;
20
+ keySub = null;
21
+ backdropSub = null;
22
+ viewInitialized = false;
23
+ constructor(overlay, viewContainerRef) {
24
+ this.overlay = overlay;
25
+ this.viewContainerRef = viewContainerRef;
26
+ }
27
+ ngAfterViewInit() {
28
+ this.viewInitialized = true;
29
+ if (this.anchor) {
30
+ this.openOverlay();
31
+ }
32
+ }
33
+ ngOnChanges(changes) {
34
+ if (!this.viewInitialized || !changes['anchor'])
35
+ return;
36
+ if (this.anchor) {
37
+ this.openOverlay();
38
+ }
39
+ else {
40
+ this.closeOverlay();
41
+ }
42
+ }
43
+ ngOnDestroy() {
44
+ this.closeOverlay();
45
+ }
46
+ isDivider = isProfileMenuDivider;
47
+ /** Narrowing helper for the template — Angular's template type checker can't
48
+ * follow our custom type guard through `*ngIf-else`, so we surface a typed cast
49
+ * via this method instead. */
50
+ asItem(entry) {
51
+ return isProfileMenuDivider(entry) ? null : entry;
52
+ }
53
+ trackByEntry = (index, _entry) => index;
54
+ onItemClick(item) {
55
+ if (item.disabled) {
56
+ return;
57
+ }
58
+ this.itemClick.emit(item.id);
59
+ }
60
+ openOverlay() {
61
+ if (!this.anchor) {
62
+ return;
63
+ }
64
+ this.closeOverlay();
65
+ // Popover floats out to the right of the profile card, bottom-aligned with the card.
66
+ // `withPush(false)` is critical — otherwise CDK slides the overlay back over the sidebar
67
+ // when its viewport calculation thinks the popover doesn't fit (e.g. in narrow iframes).
68
+ const positions = [
69
+ { originX: 'end', originY: 'bottom', overlayX: 'start', overlayY: 'bottom', offsetX: 0, offsetY: 0 },
70
+ { originX: 'end', originY: 'top', overlayX: 'start', overlayY: 'bottom', offsetX: 0, offsetY: -4 },
71
+ ];
72
+ const positionStrategy = this.overlay
73
+ .position()
74
+ .flexibleConnectedTo(this.anchor)
75
+ .withPositions(positions)
76
+ .withFlexibleDimensions(false)
77
+ .withViewportMargin(8)
78
+ .withPush(false);
79
+ this.overlayRef = this.overlay.create({
80
+ positionStrategy,
81
+ scrollStrategy: this.overlay.scrollStrategies.reposition(),
82
+ hasBackdrop: true,
83
+ backdropClass: 'cdk-overlay-transparent-backdrop',
84
+ panelClass: 'cqa-profile-menu-panel',
85
+ });
86
+ const portal = new TemplatePortal(this.popoverTpl, this.viewContainerRef);
87
+ this.overlayRef.attach(portal);
88
+ this.backdropSub = this.overlayRef.backdropClick().subscribe(() => this.dismissed.emit());
89
+ this.keySub = this.overlayRef.keydownEvents().subscribe((event) => {
90
+ if (event.key === 'Escape') {
91
+ event.preventDefault();
92
+ this.dismissed.emit();
93
+ }
94
+ });
95
+ }
96
+ closeOverlay() {
97
+ this.backdropSub?.unsubscribe();
98
+ this.backdropSub = null;
99
+ this.keySub?.unsubscribe();
100
+ this.keySub = null;
101
+ if (this.overlayRef) {
102
+ this.overlayRef.dispose();
103
+ this.overlayRef = null;
104
+ }
105
+ }
106
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProfileMenuComponent, deps: [{ token: i1.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
107
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ProfileMenuComponent, selector: "cqa-profile-menu", inputs: { user: "user", entries: "entries", anchor: "anchor", popoverId: "popoverId" }, outputs: { itemClick: "itemClick", dismissed: "dismissed" }, viewQueries: [{ propertyName: "popoverTpl", first: true, predicate: ["popoverTpl"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template #popoverTpl>\n <div class=\"cqa-pm\" [attr.id]=\"popoverId\" role=\"menu\" aria-orientation=\"vertical\">\n <!-- ===== Header ===== -->\n <div class=\"cqa-pm-header\">\n <div class=\"cqa-pm-avatar\" [style.background]=\"user?.avatarColor || null\">\n {{ user?.initials }}\n </div>\n <div class=\"cqa-pm-identity\">\n <span class=\"cqa-pm-name\" [title]=\"user?.name\">{{ user?.name }}</span>\n <span *ngIf=\"user?.email\" class=\"cqa-pm-email\" [title]=\"user?.email\">{{ user?.email }}</span>\n <span\n *ngIf=\"user?.badge?.label\"\n class=\"cqa-pm-badge\"\n [class.cqa-pm-badge--admin]=\"(user?.badge?.variant || 'admin') === 'admin'\"\n [class.cqa-pm-badge--default]=\"user?.badge?.variant === 'default'\">\n {{ user?.badge?.label }}\n </span>\n </div>\n </div>\n\n <div class=\"cqa-pm-divider\"></div>\n\n <!-- ===== Entries ===== -->\n <ul class=\"cqa-pm-list\">\n <ng-container *ngFor=\"let entry of entries; trackBy: trackByEntry\">\n <li *ngIf=\"isDivider(entry); else itemTpl\" class=\"cqa-pm-list-divider\" role=\"separator\"></li>\n <ng-template #itemTpl>\n <li *ngIf=\"asItem(entry) as item\">\n <button\n type=\"button\"\n class=\"cqa-pm-item\"\n [class.cqa-pm-item--danger]=\"item.variant === 'danger'\"\n [class.cqa-pm-item--disabled]=\"item.disabled\"\n [disabled]=\"item.disabled\"\n role=\"menuitem\"\n (click)=\"onItemClick(item)\">\n <span\n *ngIf=\"item.iconSvg || item.iconClass\"\n class=\"cqa-pm-item-icon\"\n aria-hidden=\"true\">\n <span\n *ngIf=\"item.iconSvg; else fontIcon\"\n [innerHTML]=\"item.iconSvg | cqaSafeHtml\">\n </span>\n <ng-template #fontIcon>\n <i *ngIf=\"item.iconClass\" [ngClass]=\"item.iconClass\"></i>\n </ng-template>\n </span>\n <span class=\"cqa-pm-item-label\">{{ item.label }}</span>\n <span *ngIf=\"item.shortcut\" class=\"cqa-pm-item-shortcut\">{{ item.shortcut }}</span>\n </button>\n </li>\n </ng-template>\n </ng-container>\n </ul>\n </div>\n</ng-template>\n", styles: ["::ng-deep .cqa-profile-menu-panel{z-index:1200}.cqa-pm{width:270px;background:#fbfcff;border-radius:12px;box-shadow:0 0 0 1px #0f12a80a,0 12px 32px #0f12a82e;padding:6px;font-family:inherit;color:#161617;-webkit-user-select:none;user-select:none;animation:cqaPmFadeIn .12s cubic-bezier(.16,1,.3,1)}@keyframes cqaPmFadeIn{0%{opacity:0;transform:translateY(2px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.cqa-pm-header{display:flex;align-items:flex-start;gap:10px;padding:10px 10px 12px}.cqa-pm-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#f472b6,#db2777);color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:.2px}.cqa-pm-identity{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.cqa-pm-name{font-size:14px;font-weight:600;line-height:1;color:#161617;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cqa-pm-email{font-size:11.5px;font-weight:400;line-height:1;color:#6d6d74;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cqa-pm-badge{display:inline-flex;align-items:center;align-self:flex-start;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:700;line-height:1;white-space:nowrap}.cqa-pm-badge--admin{background:#6366f11a;color:#1216cc}.cqa-pm-badge--default{background:#eef0f3;color:#374151}.cqa-pm-divider{height:1px;background:#f0f0f1;margin:0}.cqa-pm-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.cqa-pm-list-divider{height:1px;background:#f0f0f1;margin:6px}.cqa-pm-item{width:100%;display:flex;align-items:center;gap:10px;padding:12px 10px 8px;background:transparent;border:none;border-radius:8px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:400;line-height:1;color:#4c4c51;text-align:left;transition:background .12s,color .12s}.cqa-pm-item:hover:not(:disabled){background:#f4f5f7}.cqa-pm-item:focus-visible{outline:2px solid #4f46e5;outline-offset:1px}.cqa-pm-item--danger,.cqa-pm-item--danger .cqa-pm-item-icon{color:#e23a3a}.cqa-pm-item--danger:hover:not(:disabled){background:#fbeaea}.cqa-pm-item--disabled,.cqa-pm-item:disabled{cursor:not-allowed;opacity:.5}.cqa-pm-item-icon{width:16px;height:16px;font-size:16px;color:#161617a6;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.cqa-pm-item-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cqa-pm-item-shortcut{background:#eef0f3;color:#6b7280;font-size:11px;font-weight:600;line-height:16px;padding:1px 6px;border-radius:4px;flex-shrink:0}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "cqaSafeHtml" }] });
108
+ }
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProfileMenuComponent, decorators: [{
110
+ type: Component,
111
+ args: [{ selector: 'cqa-profile-menu', template: "<ng-template #popoverTpl>\n <div class=\"cqa-pm\" [attr.id]=\"popoverId\" role=\"menu\" aria-orientation=\"vertical\">\n <!-- ===== Header ===== -->\n <div class=\"cqa-pm-header\">\n <div class=\"cqa-pm-avatar\" [style.background]=\"user?.avatarColor || null\">\n {{ user?.initials }}\n </div>\n <div class=\"cqa-pm-identity\">\n <span class=\"cqa-pm-name\" [title]=\"user?.name\">{{ user?.name }}</span>\n <span *ngIf=\"user?.email\" class=\"cqa-pm-email\" [title]=\"user?.email\">{{ user?.email }}</span>\n <span\n *ngIf=\"user?.badge?.label\"\n class=\"cqa-pm-badge\"\n [class.cqa-pm-badge--admin]=\"(user?.badge?.variant || 'admin') === 'admin'\"\n [class.cqa-pm-badge--default]=\"user?.badge?.variant === 'default'\">\n {{ user?.badge?.label }}\n </span>\n </div>\n </div>\n\n <div class=\"cqa-pm-divider\"></div>\n\n <!-- ===== Entries ===== -->\n <ul class=\"cqa-pm-list\">\n <ng-container *ngFor=\"let entry of entries; trackBy: trackByEntry\">\n <li *ngIf=\"isDivider(entry); else itemTpl\" class=\"cqa-pm-list-divider\" role=\"separator\"></li>\n <ng-template #itemTpl>\n <li *ngIf=\"asItem(entry) as item\">\n <button\n type=\"button\"\n class=\"cqa-pm-item\"\n [class.cqa-pm-item--danger]=\"item.variant === 'danger'\"\n [class.cqa-pm-item--disabled]=\"item.disabled\"\n [disabled]=\"item.disabled\"\n role=\"menuitem\"\n (click)=\"onItemClick(item)\">\n <span\n *ngIf=\"item.iconSvg || item.iconClass\"\n class=\"cqa-pm-item-icon\"\n aria-hidden=\"true\">\n <span\n *ngIf=\"item.iconSvg; else fontIcon\"\n [innerHTML]=\"item.iconSvg | cqaSafeHtml\">\n </span>\n <ng-template #fontIcon>\n <i *ngIf=\"item.iconClass\" [ngClass]=\"item.iconClass\"></i>\n </ng-template>\n </span>\n <span class=\"cqa-pm-item-label\">{{ item.label }}</span>\n <span *ngIf=\"item.shortcut\" class=\"cqa-pm-item-shortcut\">{{ item.shortcut }}</span>\n </button>\n </li>\n </ng-template>\n </ng-container>\n </ul>\n </div>\n</ng-template>\n", styles: ["::ng-deep .cqa-profile-menu-panel{z-index:1200}.cqa-pm{width:270px;background:#fbfcff;border-radius:12px;box-shadow:0 0 0 1px #0f12a80a,0 12px 32px #0f12a82e;padding:6px;font-family:inherit;color:#161617;-webkit-user-select:none;user-select:none;animation:cqaPmFadeIn .12s cubic-bezier(.16,1,.3,1)}@keyframes cqaPmFadeIn{0%{opacity:0;transform:translateY(2px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.cqa-pm-header{display:flex;align-items:flex-start;gap:10px;padding:10px 10px 12px}.cqa-pm-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#f472b6,#db2777);color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:.2px}.cqa-pm-identity{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.cqa-pm-name{font-size:14px;font-weight:600;line-height:1;color:#161617;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cqa-pm-email{font-size:11.5px;font-weight:400;line-height:1;color:#6d6d74;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cqa-pm-badge{display:inline-flex;align-items:center;align-self:flex-start;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:700;line-height:1;white-space:nowrap}.cqa-pm-badge--admin{background:#6366f11a;color:#1216cc}.cqa-pm-badge--default{background:#eef0f3;color:#374151}.cqa-pm-divider{height:1px;background:#f0f0f1;margin:0}.cqa-pm-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.cqa-pm-list-divider{height:1px;background:#f0f0f1;margin:6px}.cqa-pm-item{width:100%;display:flex;align-items:center;gap:10px;padding:12px 10px 8px;background:transparent;border:none;border-radius:8px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:400;line-height:1;color:#4c4c51;text-align:left;transition:background .12s,color .12s}.cqa-pm-item:hover:not(:disabled){background:#f4f5f7}.cqa-pm-item:focus-visible{outline:2px solid #4f46e5;outline-offset:1px}.cqa-pm-item--danger,.cqa-pm-item--danger .cqa-pm-item-icon{color:#e23a3a}.cqa-pm-item--danger:hover:not(:disabled){background:#fbeaea}.cqa-pm-item--disabled,.cqa-pm-item:disabled{cursor:not-allowed;opacity:.5}.cqa-pm-item-icon{width:16px;height:16px;font-size:16px;color:#161617a6;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.cqa-pm-item-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cqa-pm-item-shortcut{background:#eef0f3;color:#6b7280;font-size:11px;font-weight:600;line-height:16px;padding:1px 6px;border-radius:4px;flex-shrink:0}\n"] }]
112
+ }], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.ViewContainerRef }], propDecorators: { user: [{
113
+ type: Input
114
+ }], entries: [{
115
+ type: Input
116
+ }], anchor: [{
117
+ type: Input
118
+ }], popoverId: [{
119
+ type: Input
120
+ }], itemClick: [{
121
+ type: Output
122
+ }], dismissed: [{
123
+ type: Output
124
+ }], popoverTpl: [{
125
+ type: ViewChild,
126
+ args: ['popoverTpl', { static: true }]
127
+ }] } });
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2lkZWJhci9wcm9maWxlLW1lbnUvcHJvZmlsZS1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2lkZWJhci9wcm9maWxlLW1lbnUvcHJvZmlsZS1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBSVosU0FBUyxHQUdWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRCxPQUFPLEVBSUwsb0JBQW9CLEdBQ3JCLE1BQU0sdUJBQXVCLENBQUM7Ozs7O0FBTy9CLE1BQU0sT0FBTyxvQkFBb0I7SUFrQnJCO0lBQ0E7SUFsQkQsSUFBSSxDQUFtQjtJQUN2QixPQUFPLEdBQXVCLEVBQUUsQ0FBQztJQUNqQyxNQUFNLEdBQXVCLElBQUksQ0FBQztJQUMzQyw4RUFBOEU7SUFDckUsU0FBUyxDQUFVO0lBRWxCLFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBQ3ZDLFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRUosVUFBVSxDQUF3QjtJQUVyRSxVQUFVLEdBQXNCLElBQUksQ0FBQztJQUNyQyxNQUFNLEdBQXdCLElBQUksQ0FBQztJQUNuQyxXQUFXLEdBQXdCLElBQUksQ0FBQztJQUN4QyxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBRWhDLFlBQ1UsT0FBZ0IsRUFDaEIsZ0JBQWtDO1FBRGxDLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUN6QyxDQUFDO0lBRUosZUFBZTtRQUNiLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FB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aW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlSZWYsIENvbm5lY3Rpb25Qb3NpdGlvblBhaXIgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBQcm9maWxlTWVudUVudHJ5LFxuICBQcm9maWxlTWVudUl0ZW0sXG4gIFByb2ZpbGVNZW51VXNlcixcbiAgaXNQcm9maWxlTWVudURpdmlkZXIsXG59IGZyb20gJy4vcHJvZmlsZS1tZW51Lm1vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NxYS1wcm9maWxlLW1lbnUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZmlsZS1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvZmlsZS1tZW51LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFByb2ZpbGVNZW51Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSB1c2VyITogUHJvZmlsZU1lbnVVc2VyO1xuICBASW5wdXQoKSBlbnRyaWVzOiBQcm9maWxlTWVudUVudHJ5W10gPSBbXTtcbiAgQElucHV0KCkgYW5jaG9yOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICAvKiogT3B0aW9uYWwgaWQgb24gdGhlIHBvcG92ZXIgZWxlbWVudCDigJQgdXNlZnVsIGZvciBhcmlhLWxhYmVsbGVkYnkgd2lyaW5nLiAqL1xuICBASW5wdXQoKSBwb3BvdmVySWQ/OiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIGl0ZW1DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgZGlzbWlzc2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ3BvcG92ZXJUcGwnLCB7IHN0YXRpYzogdHJ1ZSB9KSBwb3BvdmVyVHBsITogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgcHJpdmF0ZSBvdmVybGF5UmVmOiBPdmVybGF5UmVmIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUga2V5U3ViOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBiYWNrZHJvcFN1YjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgdmlld0luaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXdJbml0aWFsaXplZCA9IHRydWU7XG4gICAgaWYgKHRoaXMuYW5jaG9yKSB7XG4gICAgICB0aGlzLm9wZW5PdmVybGF5KCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICghdGhpcy52aWV3SW5pdGlhbGl6ZWQgfHwgIWNoYW5nZXNbJ2FuY2hvciddKSByZXR1cm47XG4gICAgaWYgKHRoaXMuYW5jaG9yKSB7XG4gICAgICB0aGlzLm9wZW5PdmVybGF5KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2xvc2VPdmVybGF5KCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZU92ZXJsYXkoKTtcbiAgfVxuXG4gIGlzRGl2aWRlciA9IGlzUHJvZmlsZU1lbnVEaXZpZGVyO1xuXG4gIC8qKiBOYXJyb3dpbmcgaGVscGVyIGZvciB0aGUgdGVtcGxhdGUg4oCUIEFuZ3VsYXIncyB0ZW1wbGF0ZSB0eXBlIGNoZWNrZXIgY2FuJ3RcbiAgICogZm9sbG93IG91ciBjdXN0b20gdHlwZSBndWFyZCB0aHJvdWdoIGAqbmdJZi1lbHNlYCwgc28gd2Ugc3VyZmFjZSBhIHR5cGVkIGNhc3RcbiAgICogdmlhIHRoaXMgbWV0aG9kIGluc3RlYWQuICovXG4gIGFzSXRlbShlbnRyeTogUHJvZmlsZU1lbnVFbnRyeSk6IFByb2ZpbGVNZW51SXRlbSB8IG51bGwge1xuICAgIHJldHVybiBpc1Byb2ZpbGVNZW51RGl2aWRlcihlbnRyeSkgPyBudWxsIDogZW50cnk7XG4gIH1cblxuICB0cmFja0J5RW50cnkgPSAoaW5kZXg6IG51bWJlciwgX2VudHJ5OiBQcm9maWxlTWVudUVudHJ5KTogbnVtYmVyID0+IGluZGV4O1xuXG4gIG9uSXRlbUNsaWNrKGl0ZW06IFByb2ZpbGVNZW51SXRlbSk6IHZvaWQge1xuICAgIGlmIChpdGVtLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaXRlbUNsaWNrLmVtaXQoaXRlbS5pZCk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5PdmVybGF5KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5hbmNob3IpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jbG9zZU92ZXJsYXkoKTtcblxuICAgIC8vIFBvcG92ZXIgZmxvYXRzIG91dCB0byB0aGUgcmlnaHQgb2YgdGhlIHByb2ZpbGUgY2FyZCwgYm90dG9tLWFsaWduZWQgd2l0aCB0aGUgY2FyZC5cbiAgICAvLyBgd2l0aFB1c2goZmFsc2UpYCBpcyBjcml0aWNhbCDigJQgb3RoZXJ3aXNlIENESyBzbGlkZXMgdGhlIG92ZXJsYXkgYmFjayBvdmVyIHRoZSBzaWRlYmFyXG4gICAgLy8gd2hlbiBpdHMgdmlld3BvcnQgY2FsY3VsYXRpb24gdGhpbmtzIHRoZSBwb3BvdmVyIGRvZXNuJ3QgZml0IChlLmcuIGluIG5hcnJvdyBpZnJhbWVzKS5cbiAgICBjb25zdCBwb3NpdGlvbnM6IENvbm5lY3Rpb25Qb3NpdGlvblBhaXJbXSA9IFtcbiAgICAgIHsgb3JpZ2luWDogJ2VuZCcsIG9yaWdpblk6ICdib3R0b20nLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICdib3R0b20nLCBvZmZzZXRYOiAwLCBvZmZzZXRZOiAwIH0sXG4gICAgICB7IG9yaWdpblg6ICdlbmQnLCBvcmlnaW5ZOiAndG9wJywgICAgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAnYm90dG9tJywgb2Zmc2V0WDogMCwgb2Zmc2V0WTogLTQgfSxcbiAgICBdO1xuXG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheVxuICAgICAgLnBvc2l0aW9uKClcbiAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuYW5jaG9yKVxuICAgICAgLndpdGhQb3NpdGlvbnMocG9zaXRpb25zKVxuICAgICAgLndpdGhGbGV4aWJsZURpbWVuc2lvbnMoZmFsc2UpXG4gICAgICAud2l0aFZpZXdwb3J0TWFyZ2luKDgpXG4gICAgICAud2l0aFB1c2goZmFsc2UpO1xuXG4gICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZSh7XG4gICAgICBwb3NpdGlvblN0cmF0ZWd5LFxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKSxcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgYmFja2Ryb3BDbGFzczogJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJyxcbiAgICAgIHBhbmVsQ2xhc3M6ICdjcWEtcHJvZmlsZS1tZW51LXBhbmVsJyxcbiAgICB9KTtcblxuICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLnBvcG92ZXJUcGwsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgdGhpcy5vdmVybGF5UmVmLmF0dGFjaChwb3J0YWwpO1xuXG4gICAgdGhpcy5iYWNrZHJvcFN1YiA9IHRoaXMub3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMuZGlzbWlzc2VkLmVtaXQoKSk7XG4gICAgdGhpcy5rZXlTdWIgPSB0aGlzLm92ZXJsYXlSZWYua2V5ZG93bkV2ZW50cygpLnN1YnNjcmliZSgoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuZGlzbWlzc2VkLmVtaXQoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY2xvc2VPdmVybGF5KCk6IHZvaWQge1xuICAgIHRoaXMuYmFja2Ryb3BTdWI/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5iYWNrZHJvcFN1YiA9IG51bGw7XG4gICAgdGhpcy5rZXlTdWI/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5rZXlTdWIgPSBudWxsO1xuICAgIGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYgPSBudWxsO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlICNwb3BvdmVyVHBsPlxuICA8ZGl2IGNsYXNzPVwiY3FhLXBtXCIgW2F0dHIuaWRdPVwicG9wb3ZlcklkXCIgcm9sZT1cIm1lbnVcIiBhcmlhLW9yaWVudGF0aW9uPVwidmVydGljYWxcIj5cbiAgICA8IS0tID09PT09IEhlYWRlciA9PT09PSAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiY3FhLXBtLWhlYWRlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1wbS1hdmF0YXJcIiBbc3R5bGUuYmFja2dyb3VuZF09XCJ1c2VyPy5hdmF0YXJDb2xvciB8fCBudWxsXCI+XG4gICAgICAgIHt7IHVzZXI/LmluaXRpYWxzIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtcG0taWRlbnRpdHlcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtcG0tbmFtZVwiIFt0aXRsZV09XCJ1c2VyPy5uYW1lXCI+e3sgdXNlcj8ubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJ1c2VyPy5lbWFpbFwiIGNsYXNzPVwiY3FhLXBtLWVtYWlsXCIgW3RpdGxlXT1cInVzZXI/LmVtYWlsXCI+e3sgdXNlcj8uZW1haWwgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgKm5nSWY9XCJ1c2VyPy5iYWRnZT8ubGFiZWxcIlxuICAgICAgICAgIGNsYXNzPVwiY3FhLXBtLWJhZGdlXCJcbiAgICAgICAgICBbY2xhc3MuY3FhLXBtLWJhZGdlLS1hZG1pbl09XCIodXNlcj8uYmFkZ2U/LnZhcmlhbnQgfHwgJ2FkbWluJykgPT09ICdhZG1pbidcIlxuICAgICAgICAgIFtjbGFzcy5jcWEtcG0tYmFkZ2UtLWRlZmF1bHRdPVwidXNlcj8uYmFkZ2U/LnZhcmlhbnQgPT09ICdkZWZhdWx0J1wiPlxuICAgICAgICAgIHt7IHVzZXI/LmJhZGdlPy5sYWJlbCB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjcWEtcG0tZGl2aWRlclwiPjwvZGl2PlxuXG4gICAgPCEtLSA9PT09PSBFbnRyaWVzID09PT09IC0tPlxuICAgIDx1bCBjbGFzcz1cImNxYS1wbS1saXN0XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBlbnRyeSBvZiBlbnRyaWVzOyB0cmFja0J5OiB0cmFja0J5RW50cnlcIj5cbiAgICAgICAgPGxpICpuZ0lmPVwiaXNEaXZpZGVyKGVudHJ5KTsgZWxzZSBpdGVtVHBsXCIgY2xhc3M9XCJjcWEtcG0tbGlzdC1kaXZpZGVyXCIgcm9sZT1cInNlcGFyYXRvclwiPjwvbGk+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjaXRlbVRwbD5cbiAgICAgICAgICA8bGkgKm5nSWY9XCJhc0l0ZW0oZW50cnkpIGFzIGl0ZW1cIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiY3FhLXBtLWl0ZW1cIlxuICAgICAgICAgICAgICBbY2xhc3MuY3FhLXBtLWl0ZW0tLWRhbmdlcl09XCJpdGVtLnZhcmlhbnQgPT09ICdkYW5nZXInXCJcbiAgICAgICAgICAgICAgW2NsYXNzLmNxYS1wbS1pdGVtLS1kaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgICAgICByb2xlPVwibWVudWl0ZW1cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25JdGVtQ2xpY2soaXRlbSlcIj5cbiAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAqbmdJZj1cIml0ZW0uaWNvblN2ZyB8fCBpdGVtLmljb25DbGFzc1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjcWEtcG0taXRlbS1pY29uXCJcbiAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLmljb25Tdmc7IGVsc2UgZm9udEljb25cIlxuICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJpdGVtLmljb25TdmcgfCBjcWFTYWZlSHRtbFwiPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2ZvbnRJY29uPlxuICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJpdGVtLmljb25DbGFzc1wiIFtuZ0NsYXNzXT1cIml0ZW0uaWNvbkNsYXNzXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtcG0taXRlbS1sYWJlbFwiPnt7IGl0ZW0ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5zaG9ydGN1dFwiIGNsYXNzPVwiY3FhLXBtLWl0ZW0tc2hvcnRjdXRcIj57eyBpdGVtLnNob3J0Y3V0IH19PC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdWw+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export function isProfileMenuDivider(entry) {
2
+ return entry.type === 'divider';
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1tZW51Lm1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2lkZWJhci9wcm9maWxlLW1lbnUvcHJvZmlsZS1tZW51Lm1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzQ0EsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEtBQXVCO0lBQzFELE9BQVEsS0FBNEIsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDO0FBQzFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFByb2ZpbGVNZW51VXNlciB7XG4gIC8qKiBUd28tbGV0dGVyIGluaXRpYWxzIHNob3duIGluIHRoZSBhdmF0YXIgY2lyY2xlIChlLmcuIFwiVEJcIikuICovXG4gIGluaXRpYWxzOiBzdHJpbmc7XG4gIC8qKiBEaXNwbGF5IG5hbWUgKGUuZy4gXCJUZXNsaW0gQmVsbG9cIikuICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqIE9wdGlvbmFsIGVtYWlsIHNob3duIHVuZGVyIHRoZSBuYW1lLiAqL1xuICBlbWFpbD86IHN0cmluZztcbiAgLyoqIE9wdGlvbmFsIHJvbGUgcGlsbCByZW5kZXJlZCBiZWxvdyB0aGUgZW1haWwgKGUuZy4gXCJXb3Jrc3BhY2UgQWRtaW5cIikuICovXG4gIGJhZGdlPzoge1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgLyoqIFZpc3VhbCB2YXJpYW50OiAnYWRtaW4nIChwdXJwbGUsIGRlZmF1bHQpIG9yICdkZWZhdWx0JyAobmV1dHJhbCkuICovXG4gICAgdmFyaWFudD86ICdhZG1pbicgfCAnZGVmYXVsdCc7XG4gIH07XG4gIC8qKiBPcHRpb25hbCBDU1MgYmFja2dyb3VuZCBvdmVycmlkZSBmb3IgdGhlIGF2YXRhciAoZ3JhZGllbnQgb3Igc29saWQpLiAqL1xuICBhdmF0YXJDb2xvcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlTWVudUl0ZW0ge1xuICAvKiogU3RhYmxlIGlkZW50aWZpZXIgZW1pdHRlZCB2aWEgYGl0ZW1DbGlja2Agd2hlbiB0aGUgcm93IGlzIGNsaWNrZWQuICovXG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIC8qKiBJY29uIGZvbnQgY2xhc3Mg4oCUIHNhbWUgY29udmVudGlvbiBhcyBOYXZJdGVtLmljb25DbGFzcyAoZS5nLiBcImZhLXNvbGlkIGZhLXVzZXJcIikuICovXG4gIGljb25DbGFzcz86IHN0cmluZztcbiAgLyoqIFJhdyBpbmxpbmUgU1ZHIG1hcmt1cC4gU2FuaXRpemVkIGludGVybmFsbHkgYmVmb3JlIHJlbmRlci4gVGFrZXMgcHJlY2VkZW5jZSBvdmVyIGBpY29uQ2xhc3NgLiAqL1xuICBpY29uU3ZnPzogc3RyaW5nO1xuICAvKiogT3B0aW9uYWwga2V5Ym9hcmQgaGludCBjaGlwIHJlbmRlcmVkIG9uIHRoZSByaWdodCAoZS5nLiBcIuKMmE9cIikuICovXG4gIHNob3J0Y3V0Pzogc3RyaW5nO1xuICAvKiogJ2RhbmdlcicgcmVuZGVycyB0aGUgcm93IGluIHJlZCAodXNlZCBmb3IgTG9nb3V0KS4gKi9cbiAgdmFyaWFudD86ICdkZWZhdWx0JyB8ICdkYW5nZXInO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZU1lbnVEaXZpZGVyIHtcbiAgdHlwZTogJ2RpdmlkZXInO1xufVxuXG5leHBvcnQgdHlwZSBQcm9maWxlTWVudUVudHJ5ID0gUHJvZmlsZU1lbnVJdGVtIHwgUHJvZmlsZU1lbnVEaXZpZGVyO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNQcm9maWxlTWVudURpdmlkZXIoZW50cnk6IFByb2ZpbGVNZW51RW50cnkpOiBlbnRyeSBpcyBQcm9maWxlTWVudURpdmlkZXIge1xuICByZXR1cm4gKGVudHJ5IGFzIFByb2ZpbGVNZW51RGl2aWRlcikudHlwZSA9PT0gJ2RpdmlkZXInO1xufVxuIl19