{"version":3,"file":"blackbaud-skyux-lib-stache.mjs","sources":["../../../../libs/stache/src/lib/modules/auth/auth.service.ts","../../../../libs/stache/src/lib/modules/shared/input-converter.ts","../../../../libs/stache/src/lib/modules/router/route-options.ts","../../../../libs/stache/src/lib/modules/router/sort.ts","../../../../libs/stache/src/lib/modules/router/route.service.ts","../../../../libs/stache/src/lib/modules/router/router.module.ts","../../../../libs/stache/src/lib/modules/shared/sky-stache-resources.module.ts","../../../../libs/stache/src/lib/modules/shared/window-ref.ts","../../../../libs/stache/src/lib/modules/nav/nav.service.ts","../../../../libs/stache/src/lib/modules/nav/link.directive.ts","../../../../libs/stache/src/lib/modules/nav/nav.component.ts","../../../../libs/stache/src/lib/modules/nav/nav.component.html","../../../../libs/stache/src/lib/modules/nav/nav.module.ts","../../../../libs/stache/src/lib/modules/action-buttons/action-buttons.component.ts","../../../../libs/stache/src/lib/modules/action-buttons/action-buttons.component.html","../../../../libs/stache/src/lib/modules/action-buttons/action-buttons.module.ts","../../../../libs/stache/src/lib/modules/shared/viewport-adapter.service.ts","../../../../libs/stache/src/lib/modules/affix/affix-top.directive.ts","../../../../libs/stache/src/lib/modules/affix/affix.component.ts","../../../../libs/stache/src/lib/modules/affix/affix.component.html","../../../../libs/stache/src/lib/modules/affix/affix.module.ts","../../../../libs/stache/src/lib/modules/analytics/google-analytics.directive.ts","../../../../libs/stache/src/lib/modules/analytics/analytics.module.ts","../../../../libs/stache/src/lib/modules/back-to-top/back-to-top.component.ts","../../../../libs/stache/src/lib/modules/back-to-top/back-to-top.component.html","../../../../libs/stache/src/lib/modules/back-to-top/back-to-top.module.ts","../../../../libs/stache/src/lib/modules/blockquote/blockquote.component.ts","../../../../libs/stache/src/lib/modules/blockquote/blockquote.component.html","../../../../libs/stache/src/lib/modules/blockquote/blockquote.module.ts","../../../../libs/stache/src/lib/modules/breadcrumbs/breadcrumbs.component.ts","../../../../libs/stache/src/lib/modules/breadcrumbs/breadcrumbs.component.html","../../../../libs/stache/src/lib/modules/breadcrumbs/breadcrumbs.module.ts","../../../../libs/stache/src/lib/modules/edit-button/edit-button.component.ts","../../../../libs/stache/src/lib/modules/edit-button/edit-button.component.html","../../../../libs/stache/src/lib/modules/edit-button/edit-button.module.ts","../../../../libs/stache/src/lib/modules/footer/footer.component.ts","../../../../libs/stache/src/lib/modules/footer/footer.component.html","../../../../libs/stache/src/lib/modules/footer/footer.module.ts","../../../../libs/stache/src/lib/modules/hide-from-search/hide-from-search.component.ts","../../../../libs/stache/src/lib/modules/hide-from-search/hide-from-search.component.html","../../../../libs/stache/src/lib/modules/hide-from-search/hide-from-search.module.ts","../../../../libs/stache/src/lib/modules/json-data/json-data-service-config-token.ts","../../../../libs/stache/src/lib/modules/json-data/json-data.service.ts","../../../../libs/stache/src/lib/modules/page-anchor/page-anchor.service.ts","../../../../libs/stache/src/lib/modules/page-anchor/page-anchor.component.ts","../../../../libs/stache/src/lib/modules/page-anchor/page-anchor.component.html","../../../../libs/stache/src/lib/modules/page-anchor/page-anchor.module.ts","../../../../libs/stache/src/lib/modules/page-header/page-header.component.ts","../../../../libs/stache/src/lib/modules/page-header/page-header.component.html","../../../../libs/stache/src/lib/modules/page-header/page-title.component.ts","../../../../libs/stache/src/lib/modules/page-header/page-title.component.html","../../../../libs/stache/src/lib/modules/page-header/page-header.module.ts","../../../../libs/stache/src/lib/modules/page-summary/page-summary.component.ts","../../../../libs/stache/src/lib/modules/page-summary/page-summary.component.html","../../../../libs/stache/src/lib/modules/page-summary/page-summary.module.ts","../../../../libs/stache/src/lib/modules/sidebar/sidebar.component.ts","../../../../libs/stache/src/lib/modules/sidebar/sidebar.component.html","../../../../libs/stache/src/lib/modules/sidebar/sidebar-wrapper.component.ts","../../../../libs/stache/src/lib/modules/sidebar/sidebar-wrapper.component.html","../../../../libs/stache/src/lib/modules/sidebar/sidebar.module.ts","../../../../libs/stache/src/lib/modules/table-of-contents/table-of-contents.component.ts","../../../../libs/stache/src/lib/modules/table-of-contents/table-of-contents.component.html","../../../../libs/stache/src/lib/modules/table-of-contents/table-of-contents-wrapper.component.ts","../../../../libs/stache/src/lib/modules/table-of-contents/table-of-contents-wrapper.component.html","../../../../libs/stache/src/lib/modules/table-of-contents/table-of-contents.module.ts","../../../../libs/stache/src/lib/modules/layout/container.component.ts","../../../../libs/stache/src/lib/modules/layout/container.component.html","../../../../libs/stache/src/lib/modules/layout/layout-blank.component.ts","../../../../libs/stache/src/lib/modules/layout/layout-blank.component.html","../../../../libs/stache/src/lib/modules/layout/layout-container.component.ts","../../../../libs/stache/src/lib/modules/layout/layout-container.component.html","../../../../libs/stache/src/lib/modules/layout/layout-sidebar.component.ts","../../../../libs/stache/src/lib/modules/layout/layout-sidebar.component.html","../../../../libs/stache/src/lib/modules/layout/layout.component.ts","../../../../libs/stache/src/lib/modules/layout/layout.component.html","../../../../libs/stache/src/lib/modules/layout/layout.module.ts","../../../../libs/stache/src/lib/modules/tutorial-step/tutorial-step-body.component.ts","../../../../libs/stache/src/lib/modules/tutorial-step/tutorial-step-body.component.html","../../../../libs/stache/src/lib/modules/tutorial-step/tutorial-step-heading.component.ts","../../../../libs/stache/src/lib/modules/tutorial-step/tutorial-step-heading.component.html","../../../../libs/stache/src/lib/modules/tutorial-step/tutorial-step.component.ts","../../../../libs/stache/src/lib/modules/tutorial-step/tutorial-step.component.html","../../../../libs/stache/src/lib/modules/tutorial-step/tutorial-step.module.ts","../../../../libs/stache/src/lib/modules/tutorial/tutorial-heading.component.ts","../../../../libs/stache/src/lib/modules/tutorial/tutorial-heading.component.html","../../../../libs/stache/src/lib/modules/tutorial/tutorial-summary.component.ts","../../../../libs/stache/src/lib/modules/tutorial/tutorial-summary.component.html","../../../../libs/stache/src/lib/modules/tutorial/tutorial.component.ts","../../../../libs/stache/src/lib/modules/tutorial/tutorial.component.html","../../../../libs/stache/src/lib/modules/tutorial/tutorial.module.ts","../../../../libs/stache/src/lib/modules/wrapper/title.service.ts","../../../../libs/stache/src/lib/modules/wrapper/wrapper.component.ts","../../../../libs/stache/src/lib/modules/wrapper/wrapper.component.html","../../../../libs/stache/src/lib/modules/wrapper/wrapper.module.ts","../../../../libs/stache/src/lib/stache.module.ts","../../../../libs/stache/src/blackbaud-skyux-lib-stache.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nimport { of } from 'rxjs';\n\n@Injectable()\nexport class StacheAuthService {\n  public readonly isAuthenticated = of<boolean>(false);\n}\n","export const stringConverter = (value: any): string | undefined => {\n  if (value === undefined || typeof value === 'string') {\n    return value;\n  }\n\n  return value.toString();\n};\n\nexport const booleanConverter = (value: any): boolean | undefined => {\n  if (value === undefined || typeof value === 'boolean') {\n    return value;\n  }\n\n  return value.toString() === 'true';\n};\n\nexport const numberConverter = (value: any): number | undefined => {\n  if (value === undefined || typeof value === 'number') {\n    return value;\n  }\n\n  return parseFloat(value.toString());\n};\n","import { InjectionToken } from '@angular/core';\n\nexport const STACHE_ROUTE_OPTIONS = new InjectionToken<StacheRouteOptions>(\n  'StacheRouteOptions',\n);\n\nexport interface StacheRouteOptions {\n  basePath?: string;\n}\n","import { StacheNavLink } from '../nav/nav-link';\n\nexport function sortByName(a: StacheNavLink, b: StacheNavLink): number {\n  if (a.name.toLowerCase() < b.name.toLowerCase()) {\n    return -1;\n  } else if (a.name.toLowerCase() > b.name.toLowerCase()) {\n    return 1;\n  } else {\n    return 0;\n  }\n}\n\nexport function sortByOrder(a: StacheNavLink, b: StacheNavLink): number {\n  /*istanbul ignore if: this function is never called when order is undefined*/\n  if (a.order === undefined || b.order === undefined) {\n    return -1;\n  }\n\n  if (a.order < b.order) {\n    return -1;\n  } else if (a.order > b.order) {\n    return 1;\n  } else {\n    return 0;\n  }\n}\n","import { Inject, Injectable, OnDestroy, Optional } from '@angular/core';\nimport { NavigationStart, ROUTES, Router, Routes } from '@angular/router';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { StacheNavLink } from '../nav/nav-link';\nimport { numberConverter } from '../shared/input-converter';\n\nimport { StacheRouteMetadataConfig } from './route-metadata-config';\nimport { StacheRouteMetadataConfigJson } from './route-metadata-config-json';\nimport { STACHE_ROUTE_OPTIONS, StacheRouteOptions } from './route-options';\nimport { sortByName, sortByOrder } from './sort';\n\ntype UnformattedStacheNavLink = {\n  path: string;\n  segments: string[];\n  children?: UnformattedStacheNavLink[];\n  data?: Partial<StacheRouteMetadataConfigJson>;\n};\n\nfunction clone<T>(thing: T): T {\n  return JSON.parse(JSON.stringify(thing));\n}\n\n/**\n * The StacheRouteService assumes the consuming application's routes are \"flat\", without children.\n * For example:\n * ```\n * const routes: Routes = [\n *   {\n *     path: '',\n *     component: HomeComponent,\n *   },\n *   {\n *     path: 'design',\n *     component: DesignPlaygroundComponent,\n *     data: {\n *       stache: {\n *         name: 'Design',\n *       },\n *     },\n *   },\n *   {\n *     path: 'design/styles',\n *     component: StylesPlaygroundComponent,\n *     data: {\n *       stache: {\n *         name: 'Styles',\n *       },\n *     },\n *   },\n * ];\n * ```\n * Import the StacheRouterModule into lazy-loaded modules to give the Stache route service the desired route config.\n * For example:\n * ```\n * @NgModule({\n *   import: [\n *     RouterModule.forChild({...}),\n *     StacheRouterModule.forChild('my-top-level-route')\n *   ]\n * })\n * export class MyLazyLoadedModule {}\n * ```\n * Lazy loaded components will lose the context provided by StacheRouterModule.forChild(...)\n * You may override the StacheRouteOptions via a route provider to wire lazy components into navigation\n * ```\n *  const routes: Routes = [\n *  {\n *    path: 'lazy',\n *    loadComponent: () => import('./path/to/lazy.component'),\n *    providers: [\n *      { provide: STACHE_ROUTE_OPTIONS, useValue: {basePath: 'nested'}}\n *    ]\n *    data: {\n *      stache: {\n *        name: 'Lazy',\n *      },\n *    },\n *  },\n * ];\n * ```\n */\n@Injectable()\nexport class StacheRouteService implements OnDestroy {\n  #activeRoutes: StacheNavLink[] | undefined;\n  #ngUnsubscribe = new Subject<void>();\n  #options: StacheRouteOptions | undefined;\n  #router: Router;\n  #routes: Routes = [];\n\n  constructor(\n    router: Router,\n    @Optional() @Inject(ROUTES) routes?: Routes,\n    @Optional() @Inject(STACHE_ROUTE_OPTIONS) options?: StacheRouteOptions,\n  ) {\n    this.#options = options;\n    this.#router = router;\n    this.#routes = ([] as Routes).concat(...(routes || []));\n\n    router.events.pipe(takeUntil(this.#ngUnsubscribe)).subscribe((val) => {\n      if (val instanceof NavigationStart) {\n        this.clearActiveRoutes();\n      }\n    });\n  }\n\n  public ngOnDestroy(): void {\n    this.#ngUnsubscribe.next();\n    this.#ngUnsubscribe.complete();\n  }\n\n  public getActiveRoutes(): StacheNavLink[] {\n    if (this.#activeRoutes) {\n      return this.#activeRoutes;\n    }\n\n    const rootPath = this.getActiveUrl().replace(/^\\//, '').split('/')[0];\n\n    const appRoutes = this.#options?.basePath\n      ? this.#routes\n      : this.#getRouteBranch(this.#routes, rootPath);\n\n    const activeChildRoutes = appRoutes\n      .filter((route) => {\n        // If options.path is specified, it means that all routes are children\n        // of the root path.\n        return this.#options?.basePath || route.path?.indexOf(rootPath) === 0;\n      })\n      .map((route) => {\n        const path = this.#prependOptionsPath(route.path);\n\n        return {\n          path,\n          segments: path?.split('/'),\n          data: route.data,\n        };\n      });\n\n    const activeRoutes: UnformattedStacheNavLink[] = [\n      {\n        path: rootPath,\n        segments: [rootPath],\n        children: this.#assignChildren(activeChildRoutes, rootPath),\n        data: activeChildRoutes.find((route) => route.path === rootPath)?.data,\n      },\n    ];\n\n    this.#activeRoutes = this.#formatRoutes(activeRoutes);\n\n    return clone(this.#activeRoutes);\n  }\n\n  public getActiveUrl(): string {\n    return this.#router.url.split('?')[0].split('#')[0];\n  }\n\n  public clearActiveRoutes(): void {\n    this.#activeRoutes = undefined;\n  }\n\n  /**\n   * Recursively finds the \"branch\" of the routes tree that contains the given root path.\n   */\n  #getRouteBranch(routes: Routes, rootPath: string): Routes {\n    const pathExistsInRoot = routes.some(\n      (route) => route.path?.indexOf(rootPath) === 0,\n    );\n\n    if (pathExistsInRoot) {\n      return routes;\n    }\n\n    // Path not found, look in each route's children.\n    for (const route of routes) {\n      if (route.children) {\n        const childRoutes = this.#getRouteBranch(route.children, rootPath);\n        if (childRoutes.length > 0) {\n          return childRoutes;\n        }\n      }\n    }\n\n    return [];\n  }\n\n  #prependOptionsPath(path: string | undefined): string | undefined {\n    // If options.path is specified, all routes are children of the root path,\n    // so prepend it to each path when building the path for navigation.\n    if (this.#options?.basePath) {\n      path = path\n        ? `${this.#options.basePath}/${path}`\n        : this.#options.basePath;\n    }\n\n    return path;\n  }\n\n  #assignChildren(\n    routes: UnformattedStacheNavLink[],\n    parentPath: string,\n  ): UnformattedStacheNavLink[] {\n    const assignedRoutes: UnformattedStacheNavLink[] = [];\n    const depth = parentPath.split('/').length + 1;\n\n    routes.forEach((route) => {\n      const routeDepth = route.segments.length;\n\n      // Adding trailing slash to force end of parent path.  Otherwise:\n      // a/child, a1/child, and a2/child would have all three children displayed under a.\n      const isChildRoute =\n        depth === routeDepth && route.path.indexOf(parentPath + '/') > -1;\n\n      if (isChildRoute) {\n        route.children = this.#assignChildren(routes, route.path);\n        assignedRoutes.push(route);\n      }\n    });\n\n    return assignedRoutes;\n  }\n\n  #formatRoutes(routes: UnformattedStacheNavLink[]): StacheNavLink[] {\n    const formatted = routes\n      .map((route) => {\n        const pathMetadata = this.#validateNavOrder({\n          ...route.data?.['stache'],\n          showInNav: (route.data?.['stache']?.showInNav ?? true) as boolean,\n        });\n        const formattedRoute: StacheNavLink = Object.assign(\n          {},\n          {\n            path: route.path,\n            name: this.#getNameFromPath(\n              route.segments[route.segments.length - 1],\n            ),\n          },\n          pathMetadata,\n        );\n\n        if (route.children) {\n          formattedRoute.children = this.#formatRoutes(route.children);\n        }\n\n        return formattedRoute;\n      })\n      .filter((route) => route.showInNav !== false);\n\n    return this.#sortRoutes(formatted) as StacheNavLink[];\n  }\n\n  #validateNavOrder(\n    json: StacheRouteMetadataConfigJson,\n  ): StacheRouteMetadataConfig {\n    if ('order' in json) {\n      const order: number = numberConverter(json.order);\n      json.order = order;\n      if (order === undefined || order <= 0 || Number.isNaN(order)) {\n        delete json.order;\n      }\n    }\n\n    return json as StacheRouteMetadataConfig;\n  }\n\n  #getNameFromPath(path: string): string {\n    path = path.replace(/-/g, ' ');\n    return this.#toTitleCase(path);\n  }\n\n  #toTitleCase(phrase: string): string {\n    return phrase\n      .split(' ')\n      .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n      .join(' ');\n  }\n\n  #sortRoutes(routes: StacheNavLink[]): StacheNavLink[] {\n    const sortedRoutes = routes\n      .filter((route) => !('order' in route))\n      .sort(sortByName);\n\n    const routesWithNavOrder = routes\n      .filter((route) => 'order' in route)\n      .sort(sortByName)\n      .sort(sortByOrder);\n\n    routesWithNavOrder.forEach((route) => {\n      // We know route order is defined in this loop.\n      // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n      const order = route.order!;\n      let newIdx = order - 1;\n      const validPosition = (): boolean => newIdx < sortedRoutes.length;\n      const positionPreviouslyAssigned = (): boolean => {\n        return sortedRoutes[newIdx].order === undefined\n          ? false\n          : sortedRoutes[newIdx].order <= order;\n      };\n\n      if (validPosition()) {\n        while (validPosition() && positionPreviouslyAssigned()) {\n          newIdx++;\n        }\n        sortedRoutes.splice(newIdx, 0, route);\n      } else {\n        sortedRoutes.push(route);\n      }\n    });\n\n    return sortedRoutes;\n  }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { ROUTES, Router, Routes } from '@angular/router';\n\nimport { StacheRouteOptions } from './route-options';\nimport { StacheRouteService } from './route.service';\n\n@NgModule({\n  providers: [StacheRouteService],\n})\nexport class StacheRouterModule {\n  public static forChild(\n    basePath: string,\n  ): ModuleWithProviders<StacheRouterModule> {\n    return {\n      ngModule: StacheRouterModule,\n      providers: [\n        {\n          provide: StacheRouteService,\n          useFactory: (router: Router, routes: Routes): StacheRouteService => {\n            const options: StacheRouteOptions = {\n              basePath,\n            };\n\n            return new StacheRouteService(router, routes, options);\n          },\n          deps: [Router, ROUTES],\n        },\n      ],\n    };\n  }\n}\n","/* istanbul ignore file */\n/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-stache' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n  SkyI18nModule,\n  SkyLibResources,\n  SkyLibResourcesService,\n} from '@skyux/i18n';\n\nconst RESOURCES: Record<string, SkyLibResources> = {\n  'EN-US': {\n    stache_copyright_label: { message: 'Blackbaud, Inc. All rights reserved.' },\n    stache_sidebar_label: { message: 'Sidebar Navigation' },\n    stache_sidebar_toggle_button: { message: 'Toggle sidebar' },\n    stache_back_to_top_button: {\n      message: 'Scroll back to the top of the page',\n    },\n  },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n  exports: [SkyI18nModule],\n})\nexport class SkyStacheResourcesModule {}\n","import { Injectable } from '@angular/core';\n\nimport { Observable, ReplaySubject, fromEvent } from 'rxjs';\n\nfunction getWindow(): any {\n  return window;\n}\n\n/**\n * @internal\n */\n@Injectable()\nexport class StacheWindowRef {\n  public get nativeWindow(): any {\n    return getWindow();\n  }\n\n  public get onResizeStream(): Observable<Window> {\n    return this.#resizeSubject.asObservable();\n  }\n\n  public scrollEventStream = fromEvent<Event>(this.nativeWindow, 'scroll');\n\n  #resizeSubject = new ReplaySubject<Window>();\n\n  constructor() {\n    this.nativeWindow.addEventListener('resize', (event: UIEvent) => {\n      this.#onResize(event);\n    });\n  }\n\n  #onResize(event: UIEvent): void {\n    this.#resizeSubject.next(event.target as Window);\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { NavigationExtras, Router } from '@angular/router';\n\nimport { StacheWindowRef } from '../shared/window-ref';\n\nimport { StacheNavLink } from './nav-link';\n\ntype StacheRoute = Omit<StacheNavLink, 'name'>;\n\n@Injectable()\nexport class StacheNavService {\n  #router: Router;\n  #windowRef: StacheWindowRef;\n\n  constructor(router: Router, windowRef: StacheWindowRef) {\n    this.#router = router;\n    this.#windowRef = windowRef;\n  }\n\n  public navigate(route: StacheRoute): void {\n    const extras: NavigationExtras = { queryParamsHandling: 'merge' };\n    const currentPath = this.#router.url.split('?')[0].split('#')[0];\n\n    if (this.isExternal(route)) {\n      this.#windowRef.nativeWindow.location.href = route.path;\n      return;\n    }\n\n    if (route.fragment) {\n      if (this.#isCurrentRoute(route.path, currentPath)) {\n        this.#navigateInPage(route.fragment);\n        return;\n      }\n      extras.fragment = route.fragment;\n    }\n\n    if (Array.isArray(route.path)) {\n      void this.#router.navigate(route.path, extras);\n    } else {\n      void this.#router.navigate([route.path], extras);\n    }\n  }\n\n  public isExternal(route: StacheRoute | string): boolean {\n    const routeStr =\n      typeof route === 'string'\n        ? route\n        : typeof route.path === 'string'\n          ? route.path\n          : undefined;\n\n    return routeStr ? /^(https?|mailto|ftp):+|^(www)/.test(routeStr) : false;\n  }\n\n  #isCurrentRoute(routePath: string | string[], currentPath: string): boolean {\n    let path = routePath;\n\n    if (Array.isArray(path)) {\n      path = path.join('/');\n    }\n\n    return (\n      path === '.' || currentPath.replace(/^\\//, '') === path.replace(/^\\//, '')\n    );\n  }\n\n  #navigateInPage(fragment: string): void {\n    const element =\n      this.#windowRef.nativeWindow.document.getElementById(fragment);\n    if (element) {\n      element.scrollIntoView();\n      this.#windowRef.nativeWindow.location.hash = fragment;\n    } else {\n      // The current page is the path intended, but no element with the fragment exists, scroll to\n      // the top of the page.\n      this.#windowRef.nativeWindow.scroll(0, 0);\n    }\n  }\n}\n","import { LocationStrategy } from '@angular/common';\nimport {\n  AfterViewInit,\n  Directive,\n  ElementRef,\n  HostBinding,\n  HostListener,\n  Input,\n  OnChanges,\n  Renderer2,\n} from '@angular/core';\n\nimport { StacheRouteService } from '../router/route.service';\n\nimport { StacheNavService } from './nav.service';\n\n@Directive({\n  selector: 'a[stacheRouterLink], [stacheRouterLink]',\n  standalone: false,\n})\nexport class StacheRouterLinkDirective implements OnChanges, AfterViewInit {\n  @Input()\n  public set stacheRouterLink(value: string | string[] | undefined) {\n    if (value === '.') {\n      this.#_stacheRouterLink = this.#routerSvc.getActiveUrl();\n    } else {\n      this.#_stacheRouterLink = Array.isArray(value)\n        ? value.join('/')\n        : (value ?? '');\n    }\n  }\n\n  public get stacheRouterLink(): string {\n    return this.#_stacheRouterLink;\n  }\n\n  @Input()\n  public fragment: string | undefined;\n\n  @HostBinding()\n  public href: string | undefined;\n\n  #_stacheRouterLink = '';\n  #navSvc: StacheNavService;\n  #routerSvc: StacheRouteService;\n  #locationStrategy: LocationStrategy;\n\n  constructor(\n    navSvc: StacheNavService,\n    routerSvc: StacheRouteService,\n    elementRef: ElementRef,\n    locationStrategy: LocationStrategy,\n    renderer: Renderer2,\n  ) {\n    this.#routerSvc = routerSvc;\n    this.#locationStrategy = locationStrategy;\n    this.#navSvc = navSvc;\n    renderer.setStyle(elementRef.nativeElement, 'cursor', 'pointer');\n  }\n\n  public ngOnChanges(): void {\n    this.#updateTargetUrlAndHref();\n  }\n\n  public ngAfterViewInit(): void {\n    this.#updateTargetUrlAndHref();\n  }\n\n  @HostListener('click', ['$event'])\n  public navigate(event: MouseEvent): boolean {\n    if (event.ctrlKey || event.metaKey || event.shiftKey) {\n      return true;\n    } else {\n      event.preventDefault();\n      this.#navSvc.navigate({\n        path: this.stacheRouterLink,\n        fragment: this.fragment,\n      });\n      return true;\n    }\n  }\n\n  #updateTargetUrlAndHref(): void {\n    let path = `${this.stacheRouterLink}`;\n\n    if (this.fragment) {\n      path += `#${this.fragment}`;\n    }\n\n    if (this.#navSvc.isExternal(path)) {\n      this.href = path;\n    } else {\n      this.href = this.#locationStrategy.prepareExternalUrl(path);\n    }\n  }\n}\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { StacheAuthService } from '../auth/auth.service';\nimport { StacheRouteService } from '../router/route.service';\n\nimport { StacheNav } from './nav';\nimport { StacheNavLink } from './nav-link';\n\n@Component({\n  selector: 'stache-nav',\n  templateUrl: './nav.component.html',\n  styleUrls: ['./nav.component.scss'],\n  standalone: false,\n})\nexport class StacheNavComponent implements OnDestroy, OnInit, StacheNav {\n  @Input()\n  public set routes(value: StacheNavLink[] | undefined) {\n    this.#_routes = value;\n    this.filteredRoutes = this.#filterRestrictedRoutes(\n      value,\n      this.#isAuthenticated,\n    );\n    this.#assignActiveStates();\n  }\n\n  public get routes(): StacheNavLink[] | undefined {\n    return this.#_routes;\n  }\n\n  @Input()\n  public set navType(value: string | undefined) {\n    this.#_navType = value;\n    this.className = value ? `stache-nav-${value}` : undefined;\n  }\n\n  public get navType(): string | undefined {\n    return this.#_navType;\n  }\n\n  set #isAuthenticated(value: boolean) {\n    if (value !== this.#_isAuthenticated) {\n      this.#_isAuthenticated = value;\n      this.filteredRoutes = this.#filterRestrictedRoutes(this.routes, value);\n    }\n  }\n\n  get #isAuthenticated(): boolean {\n    return this.#_isAuthenticated;\n  }\n\n  public className: string | undefined;\n\n  public filteredRoutes: StacheNavLink[] | undefined;\n\n  #_isAuthenticated = false;\n  #_navType: string | undefined;\n  #_routes: StacheNavLink[] | undefined;\n  #authSvc: StacheAuthService;\n  #ngUnsubscribe = new Subject<void>();\n  #routeSvc: StacheRouteService;\n\n  constructor(routeSvc: StacheRouteService, authSvc: StacheAuthService) {\n    this.#routeSvc = routeSvc;\n    this.#authSvc = authSvc;\n  }\n\n  public ngOnInit(): void {\n    this.#assignActiveStates();\n\n    this.#authSvc.isAuthenticated\n      .pipe(takeUntil(this.#ngUnsubscribe))\n      .subscribe((isAuthenticated) => {\n        this.#isAuthenticated = isAuthenticated;\n      });\n  }\n\n  public ngOnDestroy(): void {\n    this.#ngUnsubscribe.next();\n    this.#ngUnsubscribe.complete();\n  }\n\n  #assignActiveStates(): void {\n    const activeUrl = this.#routeSvc.getActiveUrl();\n    if (this.filteredRoutes) {\n      this.filteredRoutes.forEach((route) => {\n        route.isActive = this.#isActive(activeUrl, route);\n        route.isCurrent = this.#isCurrent(activeUrl, route);\n      });\n    }\n  }\n\n  #isActive(activeUrl: string, route: StacheNavLink): boolean {\n    let path = route.path;\n    let navDepth: number;\n\n    if (Array.isArray(path)) {\n      navDepth = path.length;\n      path = path.join('/');\n    } else {\n      navDepth = path.split('/').length;\n    }\n\n    if (path.indexOf('/') !== 0) {\n      path = `/${path}`;\n    }\n\n    const isActiveParent =\n      navDepth > 1 && `${activeUrl}/`.indexOf(`${path}/`) === 0;\n\n    return isActiveParent || activeUrl === path;\n  }\n\n  #isCurrent(activeUrl: string, route: StacheNavLink): boolean {\n    let path = route.path;\n\n    if (Array.isArray(path)) {\n      path = path.join('/');\n    }\n\n    return activeUrl === `/${path}`;\n  }\n\n  #filterRestrictedRoutes(\n    routes: StacheNavLink[] | undefined,\n    isAuthenticated: boolean,\n  ): StacheNavLink[] | undefined {\n    if (!routes || routes.length === 0 || isAuthenticated) {\n      return routes;\n    }\n\n    return routes.filter((route) => {\n      return !route.restricted;\n    });\n  }\n}\n","@if (filteredRoutes?.length) {\n  <nav class=\"stache-nav\" [ngClass]=\"className\">\n    <ol class=\"stache-nav-list\">\n      @for (route of filteredRoutes; track $index) {\n        <li\n          class=\"stache-nav-list-item\"\n          [attr.aria-current]=\"route.isCurrent ? 'page' : false\"\n          [ngClass]=\"{ active: route.isActive, current: route.isCurrent }\"\n        >\n          <a\n            class=\"stache-nav-anchor\"\n            queryParamsHandling=\"merge\"\n            [stacheRouterLink]=\"route.path\"\n            [fragment]=\"route.fragment\"\n            >{{ route.name }}</a\n          >\n          @if (route.children) {\n            <stache-nav\n              navType=\"sidebar stache-nav-sub\"\n              [routes]=\"route.children\"\n            />\n          }\n        </li>\n      }\n    </ol>\n  </nav>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { StacheAuthService } from '../auth/auth.service';\nimport { StacheRouterModule } from '../router/router.module';\nimport { SkyStacheResourcesModule } from '../shared/sky-stache-resources.module';\nimport { StacheWindowRef } from '../shared/window-ref';\n\nimport { StacheRouterLinkDirective } from './link.directive';\nimport { StacheNavComponent } from './nav.component';\nimport { StacheNavService } from './nav.service';\n\n@NgModule({\n  declarations: [StacheNavComponent, StacheRouterLinkDirective],\n  imports: [\n    CommonModule,\n    RouterModule,\n    SkyStacheResourcesModule,\n    StacheRouterModule,\n  ],\n  exports: [StacheNavComponent, StacheRouterLinkDirective],\n  providers: [StacheAuthService, StacheNavService, StacheWindowRef],\n})\nexport class StacheNavModule {}\n","import { Component, Input } from '@angular/core';\n\nimport { StacheNavLink } from '../nav/nav-link';\nimport { booleanConverter } from '../shared/input-converter';\n\nconst SEARCH_KEYS: (keyof StacheNavLink)[] = ['name', 'summary'];\n\n/**\n * @deprecated Use SKY UX action buttons instead: https://developer.blackbaud.com/skyux/components/action-button\n */\n@Component({\n  selector: 'stache-action-buttons',\n  templateUrl: './action-buttons.component.html',\n  styleUrls: ['./action-buttons.component.scss'],\n  standalone: false,\n})\nexport class StacheActionButtonsComponent {\n  @Input()\n  public set routes(value: StacheNavLink[] | undefined) {\n    this.#_routes = value;\n    this.filteredRoutes = value || [];\n  }\n\n  public get routes(): StacheNavLink[] | undefined {\n    return this.#_routes;\n  }\n\n  @Input()\n  public set showSearch(value: boolean | string | undefined) {\n    this.#_showSearch = booleanConverter(value) !== false;\n  }\n\n  public get showSearch(): boolean {\n    return this.#_showSearch;\n  }\n\n  public filteredRoutes: StacheNavLink[] = [];\n\n  public searchText = '';\n\n  #_routes: StacheNavLink[] | undefined;\n\n  #_showSearch = true;\n\n  public onKeyUp(event: KeyboardEvent): void {\n    const searchText = (event.target as HTMLInputElement).value;\n    this.searchApplied(searchText);\n  }\n\n  public searchApplied(searchText: string): void {\n    this.searchText = searchText;\n    if (!searchText) {\n      return;\n    }\n\n    if (this.routes) {\n      const query = searchText.toLowerCase();\n      this.filteredRoutes = this.routes.filter((route) => {\n        const matchingFields = SEARCH_KEYS.filter((key) => {\n          const value = route[key] as string | undefined;\n          return value && value.toLowerCase().includes(query);\n        });\n\n        return matchingFields.length > 0;\n      });\n    }\n  }\n}\n","@if (routes?.length) {\n  <div class=\"stache-action-buttons\">\n    @if (showSearch) {\n      <div class=\"stache-action-buttons-search-container\">\n        <sky-search\n          expandMode=\"fit\"\n          [searchText]=\"searchText\"\n          (searchApply)=\"searchApplied($event)\"\n          (keyup)=\"onKeyUp($event)\"\n        />\n      </div>\n    }\n    <sky-row>\n      <nav class=\"stache-action-buttons-nav-container\">\n        @for (route of filteredRoutes; track $index) {\n          <sky-column [screenSmall]=\"6\" [screenMedium]=\"4\" [screenLarge]=\"3\">\n            <a\n              class=\"stache-action-button-override sky-action-button sky-btn-default sky-rounded-corners\"\n              [stacheRouterLink]=\"route.path\"\n              [fragment]=\"route.fragment\"\n            >\n              <div>\n                @if (route.icon) {\n                  <sky-action-button-icon [iconName]=\"route.icon\" />\n                }\n                <sky-action-button-header>\n                  {{ route.name }}\n                </sky-action-button-header>\n              </div>\n              <sky-action-button-details>\n                {{ route.summary }}\n              </sky-action-button-details>\n            </a>\n          </sky-column>\n        }\n      </nav>\n    </sky-row>\n  </div>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyActionButtonModule, SkyFluidGridModule } from '@skyux/layout';\nimport { SkySearchModule } from '@skyux/lookup';\n\nimport { StacheNavModule } from '../nav/nav.module';\n\nimport { StacheActionButtonsComponent } from './action-buttons.component';\n\n@NgModule({\n  declarations: [StacheActionButtonsComponent],\n  imports: [\n    CommonModule,\n    SkyActionButtonModule,\n    SkyFluidGridModule,\n    SkySearchModule,\n    StacheNavModule,\n  ],\n  exports: [StacheActionButtonsComponent],\n})\nexport class StacheActionButtonsModule {}\n","import { Injectable, RendererFactory2, inject } from '@angular/core';\n\nimport { StacheWindowRef } from './window-ref';\n\nconst HAS_VIEWPORT_ADJUSTMENT_CLASS_NAME = 'stache-viewport-adjusted';\n\n@Injectable()\nexport class StacheViewportAdapterService {\n  #windowRef = inject(StacheWindowRef);\n  #renderer = inject(RendererFactory2).createRenderer(undefined, null);\n\n  public checkForViewportAdjustment(): void {\n    if (this.viewportAdjusted()) {\n      this.#applyClassToBody();\n    }\n  }\n\n  public getHeight(): number {\n    if (this.viewportAdjusted()) {\n      return parseInt(\n        getComputedStyle(\n          this.#windowRef.nativeWindow.document.documentElement,\n        ).getPropertyValue('--sky-viewport-top'),\n        10,\n      );\n    }\n    return 0;\n  }\n\n  public viewportAdjusted(): boolean {\n    // Converts the element's existence to a boolean.\n    return (\n      parseInt(\n        getComputedStyle(\n          this.#windowRef.nativeWindow.document.documentElement,\n        ).getPropertyValue('--sky-viewport-top'),\n        10,\n      ) > 0\n    );\n  }\n\n  #applyClassToBody(): void {\n    this.#renderer.addClass(\n      this.#windowRef.nativeWindow.document.body,\n      HAS_VIEWPORT_ADJUSTMENT_CLASS_NAME,\n    );\n  }\n}\n","import {\n  AfterContentInit,\n  AfterViewInit,\n  Directive,\n  ElementRef,\n  HostListener,\n  Renderer2,\n} from '@angular/core';\n\nimport { StacheViewportAdapterService } from '../shared/viewport-adapter.service';\nimport { StacheWindowRef } from '../shared/window-ref';\n\nconst AFFIX_CLASS_NAME = 'stache-affix-top';\n\n@Directive({\n  selector: '[stacheAffixTop]',\n  standalone: false,\n})\nexport class StacheAffixTopDirective\n  implements AfterContentInit, AfterViewInit\n{\n  public isAffixed = false;\n\n  #footerWrapper: HTMLElement | undefined;\n  #viewportAdjustmentHeight = 0;\n  #offsetTop = 0;\n  #element: HTMLElement | undefined;\n\n  #renderer: Renderer2;\n  #elementRef: ElementRef;\n  #viewportSvc: StacheViewportAdapterService;\n  #windowRef: StacheWindowRef;\n\n  constructor(\n    renderer: Renderer2,\n    elementRef: ElementRef,\n    viewportService: StacheViewportAdapterService,\n    windowRef: StacheWindowRef,\n  ) {\n    this.#renderer = renderer;\n    this.#elementRef = elementRef;\n    this.#viewportSvc = viewportService;\n    this.#windowRef = windowRef;\n  }\n\n  public ngAfterViewInit(): void {\n    const nativeElement = this.#elementRef.nativeElement;\n\n    if (this.#isComponent(nativeElement) && nativeElement.children[0]) {\n      this.#element = nativeElement.children[0];\n    } else {\n      this.#element = nativeElement;\n    }\n  }\n\n  // This ensures that an element that should be affixed to the top on initial load is affixed.\n  // In the AfterContentInit lifecycle hook to allow content to load if that affects positioning.\n  public ngAfterContentInit(): void {\n    this.onWindowScroll();\n  }\n\n  @HostListener('window:scroll')\n  public onWindowScroll(): void {\n    this.#viewportAdjustmentHeight = this.#viewportSvc.getHeight();\n    this.#footerWrapper = this.#windowRef.nativeWindow.document.querySelector(\n      '.stache-footer-wrapper',\n    );\n    this.#setMaxHeight();\n\n    if (this.#element) {\n      if (!this.isAffixed) {\n        this.#offsetTop = this.#getOffset(this.#element);\n      } else {\n        this.#offsetTop = this.#element.offsetTop;\n      }\n    }\n\n    const windowIsScrolledBeyondElement =\n      this.#offsetTop - this.#viewportAdjustmentHeight <\n      this.#windowRef.nativeWindow.pageYOffset;\n\n    if (windowIsScrolledBeyondElement) {\n      this.#affixToTop();\n    } else {\n      this.#resetElement();\n    }\n  }\n\n  #isComponent(element: HTMLElement): boolean {\n    let isComponent = false;\n\n    Array.prototype.slice.call(element.attributes).forEach((item) => {\n      if (!isComponent && item.name.indexOf('_nghost') === 0) {\n        isComponent = true;\n      }\n    });\n\n    return isComponent;\n  }\n\n  #getOffset(element: HTMLElement): number {\n    let offset = element.offsetTop;\n    let el = element;\n\n    while (el.offsetParent) {\n      const parent = el.offsetParent as HTMLElement;\n      offset += parent.offsetTop;\n      el = parent;\n    }\n\n    return offset;\n  }\n\n  #affixToTop(): void {\n    if (!this.isAffixed && this.#element) {\n      this.isAffixed = true;\n      this.#renderer.setStyle(this.#element, 'position', 'fixed');\n      this.#renderer.setStyle(this.#element, 'top', 'var(--sky-viewport-top)');\n      this.#renderer.setStyle(this.#element, 'width', 'inherit');\n      this.#renderer.addClass(this.#element, AFFIX_CLASS_NAME);\n    }\n  }\n\n  #resetElement(): void {\n    if (this.isAffixed) {\n      this.isAffixed = false;\n      this.#renderer.setStyle(this.#element, 'position', 'static');\n      this.#renderer.removeStyle(this.#element, 'top');\n      this.#renderer.removeClass(this.#element, AFFIX_CLASS_NAME);\n    }\n  }\n\n  #setMaxHeight(): void {\n    let maxHeight = `calc(100% - var(--sky-viewport-top))`;\n\n    if (this.#footerWrapper && this.#footerIsVisible()) {\n      maxHeight = `calc(${\n        this.#getOffset(this.#footerWrapper) -\n        this.#windowRef.nativeWindow.pageYOffset\n      }px - var(--sky-viewport-top))`;\n    }\n\n    /* istanbul ignore else */\n    if (this.#element) {\n      this.#renderer.setStyle(this.#element, 'height', `${maxHeight}`);\n    }\n  }\n\n  #footerIsVisible(): boolean {\n    /*istanbul ignore else*/\n    if (this.#footerWrapper) {\n      return (\n        this.#footerWrapper.getBoundingClientRect().top <=\n        this.#windowRef.nativeWindow.innerHeight\n      );\n    } else {\n      return false;\n    }\n  }\n}\n","import {\n  AfterViewInit,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  OnDestroy,\n  ViewChild,\n} from '@angular/core';\n\nimport { Subscription } from 'rxjs';\n\nimport { StacheWindowRef } from '../shared/window-ref';\n\nimport { StacheAffixTopDirective } from './affix-top.directive';\n\n@Component({\n  selector: 'stache-affix',\n  templateUrl: './affix.component.html',\n  styleUrls: ['./affix.component.scss'],\n  standalone: false,\n})\nexport class StacheAffixComponent implements AfterViewInit, OnDestroy {\n  @ViewChild('stacheAffixWrapper', {\n    read: ElementRef,\n    static: false,\n  })\n  public wrapper: ElementRef | undefined;\n\n  public minHeightFormatted: string | undefined;\n\n  public maxWidthFormatted: string | undefined;\n\n  @ViewChild(StacheAffixTopDirective, {\n    read: StacheAffixTopDirective,\n    static: true,\n  })\n  public affixTopDirective: StacheAffixTopDirective | undefined;\n\n  #windowRef: StacheWindowRef;\n  #windowSubscription: Subscription;\n  #changeDetector: ChangeDetectorRef;\n\n  constructor(windowRef: StacheWindowRef, changeDetector: ChangeDetectorRef) {\n    this.#windowRef = windowRef;\n    this.#changeDetector = changeDetector;\n    this.#windowSubscription = this.#windowRef.onResizeStream.subscribe(() => {\n      this.#setElementRefDimensions();\n    });\n  }\n\n  public ngAfterViewInit(): void {\n    this.#setElementRefDimensions();\n    this.#changeDetector.detectChanges();\n  }\n\n  public ngOnDestroy(): void {\n    this.#windowSubscription.unsubscribe();\n  }\n\n  public getStyles(): Record<string, string | undefined> {\n    return {\n      'min-height': this.#getCssMinHeight(),\n      'max-width': this.#getCssMaxWidth(),\n      position: this.#getCssPosition(),\n    };\n  }\n\n  #setElementRefDimensions(): void {\n    /* istanbul ignore else */\n    if (this.wrapper) {\n      this.minHeightFormatted = `${this.wrapper.nativeElement.offsetHeight}px`;\n      this.maxWidthFormatted = `${this.wrapper.nativeElement.offsetWidth}px`;\n    }\n  }\n\n  #getCssPosition(): string {\n    if (this.affixTopDirective?.isAffixed) {\n      return 'relative';\n    }\n\n    return 'static';\n  }\n\n  #getCssMinHeight(): string | undefined {\n    if (this.affixTopDirective?.isAffixed) {\n      return this.minHeightFormatted;\n    }\n\n    return 'auto';\n  }\n\n  #getCssMaxWidth(): string | undefined {\n    if (this.affixTopDirective?.isAffixed) {\n      return this.maxWidthFormatted;\n    }\n\n    return '100%';\n  }\n}\n","<div #stacheAffixWrapper>\n  <div class=\"stache-affix\" [ngStyle]=\"getStyles()\">\n    <div stacheAffixTop>\n      <ng-content />\n    </div>\n  </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { StacheViewportAdapterService } from '../shared/viewport-adapter.service';\nimport { StacheWindowRef } from '../shared/window-ref';\n\nimport { StacheAffixTopDirective } from './affix-top.directive';\nimport { StacheAffixComponent } from './affix.component';\n\n@NgModule({\n  declarations: [StacheAffixComponent, StacheAffixTopDirective],\n  imports: [CommonModule],\n  exports: [StacheAffixComponent, StacheAffixTopDirective],\n  providers: [StacheViewportAdapterService, StacheWindowRef],\n})\nexport class StacheAffixModule {}\n","import { CSP_NONCE, Directive, OnInit, inject } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { SkyAppConfig } from '@skyux/config';\n\nimport { StacheWindowRef } from '../shared/window-ref';\n\n@Directive({\n  selector: '[stacheGoogleAnalytics]',\n  standalone: false,\n})\nexport class StacheGoogleAnalyticsDirective implements OnInit {\n  readonly #nonce = inject(CSP_NONCE, { optional: true });\n\n  private tagManagerContainerId = 'GTM-W56QP9';\n  private analyticsClientId = 'UA-2418840-1';\n  private isEnabled = true;\n  private appName: string;\n\n  constructor(\n    private windowRef: StacheWindowRef,\n    private configService: SkyAppConfig,\n    private router: Router,\n  ) {}\n\n  public ngOnInit(): void {\n    const isLoaded = this.windowRef.nativeWindow.ga;\n    const isProduction = this.configService.runtime.command === 'build';\n\n    this.updateDefaultConfigs();\n\n    if (this.isEnabled && isProduction && !isLoaded) {\n      this.addGoogleTagManagerScript();\n      this.initGoogleAnalytics();\n      this.bindPageViewsToRouter();\n    }\n  }\n\n  public addGoogleTagManagerScript(): void {\n    const win = this.windowRef.nativeWindow as {\n      dataLayer?: unknown[];\n      document: Document;\n    };\n\n    win.dataLayer ??= [];\n    win.dataLayer.push({\n      'gtm.start': new Date().getTime(),\n      event: 'gtm.js',\n    });\n\n    const script = win.document.createElement('script');\n    script.setAttribute('async', 'async');\n    script.setAttribute(\n      'src',\n      `https://www.googletagmanager.com/gtm.js?id=${this.tagManagerContainerId}`,\n    );\n\n    if (this.#nonce) {\n      script.setAttribute('nonce', this.#nonce);\n    }\n\n    win.document.head.appendChild(script);\n  }\n\n  /**\n   * Because GTM adds the Google Analytics script to the page outside of our control,\n   * instead of loading the GA script twice, we extract the 'ga' window method out so we can\n   * subscribe to our router events and track SPA page views.\n   */\n  public initGoogleAnalytics(): void {\n    const win = this.windowRef.nativeWindow;\n\n    win['GoogleAnalyticsObject'] = 'ga';\n\n    win.ga =\n      win.ga ||\n      function (...args: unknown[]): void {\n        (win.ga.q = win.ga.q || []).push(args);\n      };\n\n    win.ga.l = new Date().getTime();\n\n    win.ga('create', this.analyticsClientId, 'auto');\n  }\n\n  public bindPageViewsToRouter(): void {\n    this.router.events.subscribe((event) => {\n      /* istanbul ignore else*/\n      if (event instanceof NavigationEnd) {\n        const ga = this.windowRef.nativeWindow.ga;\n\n        ga('set', 'page', `${this.appName}${event.urlAfterRedirects}`);\n        ga('send', 'pageview');\n      }\n    });\n  }\n\n  private updateDefaultConfigs(): void {\n    // TODO: the config service should handle defaults!\n    const appSettings = this.configService.skyux.appSettings || {};\n    appSettings.stache = appSettings.stache || {};\n    appSettings.stache.googleAnalytics =\n      appSettings.stache.googleAnalytics || {};\n\n    if (appSettings.stache.googleAnalytics.tagManagerContainerId) {\n      this.tagManagerContainerId =\n        appSettings.stache.googleAnalytics.tagManagerContainerId;\n    }\n\n    if (appSettings.stache.googleAnalytics.clientId) {\n      this.analyticsClientId = appSettings.stache.googleAnalytics.clientId;\n    }\n\n    this.appName = this.configService.runtime.app.base.replace(/^\\/|\\/$/g, '');\n\n    switch (appSettings.stache.googleAnalytics.enabled) {\n      case false:\n      case 'false':\n        this.isEnabled = false;\n        break;\n      default:\n        break;\n    }\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { StacheGoogleAnalyticsDirective } from './google-analytics.directive';\n\n@NgModule({\n  imports: [RouterModule],\n  declarations: [StacheGoogleAnalyticsDirective],\n  exports: [StacheGoogleAnalyticsDirective],\n})\nexport class StacheAnalyticsModule {}\n","import { Component, HostListener, Input } from '@angular/core';\n\nimport { numberConverter } from '../shared/input-converter';\nimport { StacheWindowRef } from '../shared/window-ref';\n\nconst DEFAULT_OFFSET = 200;\n\n@Component({\n  selector: 'stache-back-to-top',\n  templateUrl: './back-to-top.component.html',\n  styleUrls: ['./back-to-top.component.scss'],\n  standalone: false,\n})\nexport class StacheBackToTopComponent {\n  @Input()\n  public set offset(value: number | string | undefined) {\n    this.#_offset = numberConverter(value) ?? DEFAULT_OFFSET;\n  }\n\n  public get offset(): number {\n    return this.#_offset;\n  }\n\n  public isHidden = true;\n\n  #_offset = DEFAULT_OFFSET;\n  #windowRef: StacheWindowRef;\n\n  constructor(windowRef: StacheWindowRef) {\n    this.#windowRef = windowRef;\n  }\n\n  @HostListener('window:scroll')\n  public onWindowScroll(): void {\n    this.isHidden = this.#windowRef.nativeWindow.pageYOffset < this.offset;\n  }\n\n  public scrollToTop(): void {\n    this.#windowRef.nativeWindow.scroll({\n      top: 0,\n      left: 0,\n      behavior: 'smooth',\n    });\n  }\n}\n","<button\n  class=\"sky-btn sky-btn-primary sky-btn-icon stache-back-to-top\"\n  type=\"button\"\n  [ngClass]=\"{ hidden: isHidden }\"\n  [attr.aria-label]=\"'stache_back_to_top_button' | skyLibResources\"\n  [attr.aria-hidden]=\"isHidden\"\n  (click)=\"scrollToTop()\"\n>\n  <sky-icon iconName=\"chevron-up\" />\n</button>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyIconModule } from '@skyux/icon';\n\nimport { SkyStacheResourcesModule } from '../shared/sky-stache-resources.module';\nimport { StacheWindowRef } from '../shared/window-ref';\n\nimport { StacheBackToTopComponent } from './back-to-top.component';\n\n@NgModule({\n  declarations: [StacheBackToTopComponent],\n  imports: [CommonModule, SkyIconModule, SkyStacheResourcesModule],\n  exports: [StacheBackToTopComponent],\n  providers: [StacheWindowRef],\n})\nexport class StacheBackToTopModule {}\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  Input,\n  OnInit,\n} from '@angular/core';\n\n@Component({\n  selector: 'stache-blockquote',\n  templateUrl: './blockquote.component.html',\n  styleUrls: ['./blockquote.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class StacheBlockquoteComponent implements OnInit {\n  @Input()\n  public author: string | undefined;\n\n  @Input()\n  public quoteSource: string | undefined;\n\n  public ngOnInit(): void {\n    if (this.quoteSource && !this.author) {\n      this.author = 'Source';\n    }\n  }\n}\n","<div class=\"stache-blockquote\">\n  <div class=\"stache-blockquote-icon\">\n    <sky-icon iconName=\"text-quote\" variant=\"solid\" />\n  </div>\n  <blockquote class=\"stache-blockquote-content\">\n    <ng-content />\n    @if (author) {\n      <div class=\"stache-blockquote-source\">\n        &mdash;\n        @if (quoteSource) {\n          <a [href]=\"quoteSource\">\n            <span>{{ author }}</span>\n          </a>\n        }\n        @if (!quoteSource) {\n          <span>{{ author }}</span>\n        }\n      </div>\n    }\n  </blockquote>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyIconModule } from '@skyux/icon';\n\nimport { StacheBlockquoteComponent } from './blockquote.component';\n\n@NgModule({\n  declarations: [StacheBlockquoteComponent],\n  imports: [CommonModule, SkyIconModule],\n  exports: [StacheBlockquoteComponent],\n})\nexport class StacheBlockquoteModule {}\n","import { Component, Input, OnInit } from '@angular/core';\n\nimport { StacheNav } from '../nav/nav';\nimport { StacheNavLink } from '../nav/nav-link';\nimport { StacheRouteService } from '../router/route.service';\n\n@Component({\n  selector: 'stache-breadcrumbs',\n  templateUrl: './breadcrumbs.component.html',\n  styleUrls: ['./breadcrumbs.component.scss'],\n  standalone: false,\n})\nexport class StacheBreadcrumbsComponent implements StacheNav, OnInit {\n  @Input()\n  public routes: StacheNavLink[] | undefined;\n\n  #routeSvc: StacheRouteService;\n\n  constructor(routeSvc: StacheRouteService) {\n    this.#routeSvc = routeSvc;\n  }\n\n  public ngOnInit(): void {\n    if (!this.routes) {\n      const activeRoutes = this.#routeSvc.getActiveRoutes();\n      this.routes = this.#filterRoutes(activeRoutes);\n    }\n  }\n\n  #filterRoutes(activeRoutes: StacheNavLink[]): StacheNavLink[] {\n    const root = activeRoutes[0];\n    const breadcrumbRoutes: StacheNavLink[] = [];\n\n    breadcrumbRoutes.push({\n      name: 'Home',\n      path: '/',\n    });\n\n    if (!root) {\n      return breadcrumbRoutes;\n    }\n\n    if (root.path !== '') {\n      breadcrumbRoutes.push({\n        name: root.name,\n        path: root.path,\n      });\n    }\n\n    const addRoute = (route: StacheNavLink): void => {\n      breadcrumbRoutes.push({\n        name: route.name,\n        path: route.path,\n      });\n\n      if (route.children && route.children.length) {\n        this.#findActiveBranch(route.children, addRoute);\n      }\n    };\n\n    if (root.children) {\n      this.#findActiveBranch(root.children, addRoute);\n    }\n\n    return breadcrumbRoutes;\n  }\n\n  #findActiveBranch(\n    routes: StacheNavLink[],\n    callback: (navLink: StacheNavLink) => void,\n  ): void {\n    const activeUrl = `${this.#routeSvc.getActiveUrl()}/`;\n    routes.forEach((route: StacheNavLink) => {\n      if (activeUrl.indexOf(`/${route.path}/`) === 0) {\n        callback(route);\n      }\n    });\n  }\n}\n","<div class=\"stache-breadcrumbs\">\n  <stache-nav navType=\"breadcrumbs\" [routes]=\"routes\" />\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { StacheNavModule } from '../nav/nav.module';\n\nimport { StacheBreadcrumbsComponent } from './breadcrumbs.component';\n\n@NgModule({\n  declarations: [StacheBreadcrumbsComponent],\n  imports: [CommonModule, StacheNavModule],\n  exports: [StacheBreadcrumbsComponent],\n})\nexport class StacheBreadcrumbsModule {}\n","import { Component, OnInit } from '@angular/core';\nimport { SkyAppConfig } from '@skyux/config';\n\nimport lodashGet from 'lodash.get';\n\nimport { StacheRouteService } from '../router/route.service';\n\nconst GITHUB_FILE_PATH_ROOT = '/tree/master/src/app';\nconst ADO_BRANCH_SELECTOR = '&version=GBmaster';\nconst ADO_FILE_PATH_ROOT = '?path=%2Fsrc%2Fapp';\n\n@Component({\n  selector: 'stache-edit-button',\n  templateUrl: './edit-button.component.html',\n  styleUrls: ['./edit-button.component.scss'],\n  standalone: false,\n})\nexport class StacheEditButtonComponent implements OnInit {\n  public editButtonText: string | undefined;\n  public url: string | undefined;\n\n  #config: SkyAppConfig;\n  #routeSvc: StacheRouteService;\n\n  constructor(config: SkyAppConfig, routeSvc: StacheRouteService) {\n    this.#config = config;\n    this.#routeSvc = routeSvc;\n  }\n\n  public ngOnInit(): void {\n    this.url = this.#getUrl();\n    this.editButtonText = lodashGet(\n      this.#config,\n      'skyux.appSettings.stache.editButton.text',\n      'Edit',\n    );\n  }\n\n  #getUrl(): string {\n    const base = lodashGet(\n      this.#config,\n      'skyux.appSettings.stache.editButton.url',\n    );\n    if (!base) {\n      return '';\n    }\n    const type =\n      base.includes('visualstudio') || base.includes('azure')\n        ? 'vsts'\n        : 'github';\n    const activeUrl = this.#routeSvc.getActiveUrl();\n    const frag = encodeURIComponent(\n      activeUrl === '/' ? activeUrl : activeUrl + '/',\n    );\n\n    if (type === 'vsts') {\n      return (\n        base +\n        ADO_FILE_PATH_ROOT +\n        frag +\n        'index.component.html' +\n        ADO_BRANCH_SELECTOR\n      );\n    } else {\n      return base + GITHUB_FILE_PATH_ROOT + frag + 'index.component.html';\n    }\n  }\n}\n","@if (url) {\n  <div class=\"stache-edit-button\">\n    <a class=\"stache-btn-edit\" [href]=\"url\">\n      <sky-icon iconName=\"edit\" />\n      {{ editButtonText }}\n    </a>\n  </div>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyIconModule } from '@skyux/icon';\n\nimport { StacheEditButtonComponent } from './edit-button.component';\n\n@NgModule({\n  declarations: [StacheEditButtonComponent],\n  imports: [CommonModule, SkyIconModule],\n  exports: [StacheEditButtonComponent],\n})\nexport class StacheEditButtonModule {}\n","import { Component, OnInit } from '@angular/core';\nimport { SkyAppConfig } from '@skyux/config';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport lodashGet from 'lodash.get';\nimport { first } from 'rxjs/operators';\n\nimport { StacheNavLink } from '../nav/nav-link';\n\n@Component({\n  selector: 'stache-footer',\n  templateUrl: './footer.component.html',\n  styleUrls: ['./footer.component.scss'],\n  standalone: false,\n})\nexport class StacheFooterComponent implements OnInit {\n  public copyrightDate: Date | undefined;\n  public copyrightLabel: string | undefined;\n  public siteName: string | undefined;\n  public footerLinks: StacheNavLink[] | undefined;\n\n  #configSvc: SkyAppConfig;\n  #resourcesSvc: SkyLibResourcesService;\n\n  constructor(configSvc: SkyAppConfig, resourcesSvc: SkyLibResourcesService) {\n    this.#configSvc = configSvc;\n    this.#resourcesSvc = resourcesSvc;\n  }\n\n  public ngOnInit(): void {\n    this.copyrightDate = new Date();\n    this.#setFooterData();\n  }\n\n  #setFooterData(): void {\n    const navItems = lodashGet(\n      this.#configSvc,\n      'skyux.appSettings.stache.footer.nav.items',\n      [],\n    ) as { title: string; route: string }[];\n\n    this.footerLinks = navItems.map((link) => {\n      return {\n        name: link.title,\n        path: link.route,\n      } as StacheNavLink;\n    });\n\n    this.#resourcesSvc\n      .getString('stache_copyright_label')\n      .pipe(first())\n      .subscribe((value) => {\n        this.copyrightLabel = lodashGet(\n          this.#configSvc,\n          'skyux.appSettings.stache.footer.copyrightLabel',\n          value,\n        );\n      });\n\n    this.siteName = lodashGet(this.#configSvc, 'skyux.app.title');\n  }\n}\n","<footer class=\"stache-footer-wrapper\">\n  <div class=\"stache-footer-content stache-max-width-container\">\n    <h1 class=\"stache-footer-heading\">\n      {{ siteName }}\n    </h1>\n    <stache-nav navType=\"footer\" [routes]=\"footerLinks\" />\n    @if (copyrightLabel) {\n      <p class=\"stache-footer-copyright-label\">\n        &copy; {{ copyrightDate | date: 'yyyy' }} {{ copyrightLabel }}\n      </p>\n    }\n  </div>\n</footer>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { StacheNavModule } from '../nav/nav.module';\nimport { SkyStacheResourcesModule } from '../shared/sky-stache-resources.module';\n\nimport { StacheFooterComponent } from './footer.component';\n\n@NgModule({\n  imports: [CommonModule, SkyStacheResourcesModule, StacheNavModule],\n  declarations: [StacheFooterComponent],\n  exports: [StacheFooterComponent],\n})\nexport class StacheFooterModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'stache-hide-from-search',\n  templateUrl: './hide-from-search.component.html',\n  standalone: false,\n})\nexport class StacheHideFromSearchComponent {}\n","<ng-content />\n","import { NgModule } from '@angular/core';\n\nimport { StacheHideFromSearchComponent } from './hide-from-search.component';\n\n@NgModule({\n  declarations: [StacheHideFromSearchComponent],\n  exports: [StacheHideFromSearchComponent],\n})\nexport class StacheHideFromSearchModule {}\n","import { InjectionToken } from '@angular/core';\n\nexport const STACHE_JSON_DATA_SERVICE_CONFIG = new InjectionToken<any>(\n  'Injection token for StacheJsonDataService config.',\n);\n","import { Inject, Injectable, Optional } from '@angular/core';\n\nimport { STACHE_JSON_DATA_SERVICE_CONFIG } from './json-data-service-config-token';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype JSON_DATA = any;\n\n@Injectable({ providedIn: 'root' })\nexport class StacheJsonDataService {\n  #jsonData: JSON_DATA;\n\n  constructor(\n    @Optional()\n    @Inject(STACHE_JSON_DATA_SERVICE_CONFIG)\n    jsonData?: JSON_DATA,\n  ) {\n    this.#jsonData = jsonData || {};\n  }\n\n  public getAll(): JSON_DATA {\n    return this.#jsonData;\n  }\n\n  public getByName(name: string): JSON_DATA {\n    if (name.includes('.')) {\n      const keys = name.split('.');\n      return this.getNestedData(keys);\n    }\n\n    if (!this.#jsonData[name]) {\n      return;\n    }\n\n    return this.#jsonData[name];\n  }\n\n  public getNestedData(keys: string[]): JSON_DATA | undefined {\n    let baseData = this.#jsonData;\n\n    for (let i = 0; i < keys.length; i++) {\n      if (baseData[keys[i]] === undefined) {\n        baseData = undefined;\n        return;\n      }\n\n      baseData = baseData[keys[i]];\n    }\n\n    return baseData;\n  }\n}\n","import { Injectable, OnDestroy } from '@angular/core';\n\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { map, pairwise, takeUntil } from 'rxjs/operators';\n\nimport { StacheNavLink } from '../nav/nav-link';\nimport { StacheWindowRef } from '../shared/window-ref';\n\n@Injectable()\nexport class StachePageAnchorService implements OnDestroy {\n  public pageAnchorsStream = new Subject<StacheNavLink[]>();\n  public pageAnchors: BehaviorSubject<StacheNavLink>[] = [];\n  public refreshRequestedStream = new Subject<void>();\n  private ngUnsubscribe: Subject<void> = new Subject<void>();\n\n  constructor(private windowRef: StacheWindowRef) {\n    this.windowRef.scrollEventStream\n      .pipe(\n        takeUntil(this.ngUnsubscribe),\n        map((e) => this.windowRef.nativeWindow.document.body.scrollHeight),\n        pairwise(),\n      )\n      .subscribe((height) => {\n        if (height[0] !== height[1]) {\n          this.refreshAnchors();\n        }\n      });\n  }\n\n  public addAnchor(anchorStream: BehaviorSubject<StacheNavLink>): void {\n    anchorStream.pipe(takeUntil(this.ngUnsubscribe)).subscribe({\n      next: () => {\n        this.updateAnchorStream();\n      },\n      complete: () => {\n        this.removeAnchor(anchorStream.getValue());\n      },\n    });\n\n    this.pageAnchors.push(anchorStream);\n    this.updateAnchorStream();\n  }\n\n  public ngOnDestroy(): void {\n    this.ngUnsubscribe.next();\n    this.ngUnsubscribe.complete();\n  }\n\n  public refreshAnchors(): void {\n    this.refreshRequestedStream.next();\n  }\n\n  public scrollToAnchor(elementId: string): void {\n    const element = this.windowRef.nativeWindow.document.querySelector(\n      `#${elementId}`,\n    );\n    /*istanbul ignore else*/\n    if (element) {\n      element.scrollIntoView();\n    }\n  }\n\n  private removeAnchor(removedAnchor: StacheNavLink): void {\n    this.pageAnchors = this.pageAnchors.filter(\n      (anchor: BehaviorSubject<StacheNavLink>) => {\n        return anchor.getValue().name !== removedAnchor.name;\n      },\n    );\n  }\n\n  private updateAnchorStream(): void {\n    this.pageAnchors.sort(this.sortPageAnchors);\n    this.pageAnchorsStream.next(\n      this.pageAnchors.map((anchor) => anchor.getValue()),\n    );\n  }\n\n  private sortPageAnchors(\n    anchorA: BehaviorSubject<StacheNavLink>,\n    anchorB: BehaviorSubject<StacheNavLink>,\n  ): number {\n    return anchorA.getValue().offsetTop - anchorB.getValue().offsetTop;\n  }\n}\n","import {\n  AfterContentInit,\n  AfterViewChecked,\n  AfterViewInit,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  Input,\n  OnDestroy,\n  OnInit,\n} from '@angular/core';\n\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { StacheNavLink } from '../nav/nav-link';\nimport { StacheRouteService } from '../router/route.service';\n\nimport { StachePageAnchorService } from './page-anchor.service';\n\n@Component({\n  selector: 'stache-page-anchor',\n  templateUrl: './page-anchor.component.html',\n  styleUrls: ['./page-anchor.component.scss'],\n  standalone: false,\n})\nexport class StachePageAnchorComponent\n  implements\n    StacheNavLink,\n    OnDestroy,\n    AfterViewInit,\n    OnInit,\n    AfterViewChecked,\n    AfterContentInit\n{\n  public name = '';\n  public fragment: string;\n  public path: string[];\n  public offsetTop: number;\n  public anchorStream = new BehaviorSubject<StacheNavLink>({\n    name: this.name,\n    path: undefined,\n  });\n\n  @Input()\n  public anchorId?: string;\n\n  private textContent = '';\n  private ngUnsubscribe: Subject<void> = new Subject();\n\n  constructor(\n    private elementRef: ElementRef,\n    private anchorService: StachePageAnchorService,\n    private changeDetectorRef: ChangeDetectorRef,\n    private routeService: StacheRouteService,\n  ) {}\n\n  public scrollToAnchor(): void {\n    this.anchorService.scrollToAnchor(this.fragment);\n  }\n\n  public ngOnInit(): void {\n    this.anchorService.refreshRequestedStream\n      .pipe(takeUntil(this.ngUnsubscribe))\n      .subscribe(() => {\n        this.updatePageAnchor();\n      });\n  }\n\n  public ngAfterViewInit(): void {\n    this.path = [this.routeService.getActiveUrl()];\n    this.updatePageAnchor();\n    this.anchorService.addAnchor(this.anchorStream);\n    this.changeDetectorRef.detectChanges();\n  }\n\n  public ngOnDestroy(): void {\n    this.ngUnsubscribe.next();\n    this.ngUnsubscribe.complete();\n    this.anchorStream.complete();\n  }\n\n  public ngAfterContentInit(): void {\n    this.textContent = this.elementRef.nativeElement.textContent;\n    this.offsetTop = this.getOffset(this.elementRef.nativeElement);\n  }\n\n  public ngAfterViewChecked(): void {\n    const currentContent = this.elementRef.nativeElement.textContent;\n    const currentOffset = this.getOffset(this.elementRef.nativeElement);\n\n    if (\n      currentContent !== this.textContent ||\n      currentOffset !== this.offsetTop\n    ) {\n      this.textContent = currentContent;\n      this.updatePageAnchor();\n    }\n  }\n\n  private setValues(): void {\n    const element = this.elementRef.nativeElement;\n    this.name = this.getName(element);\n    this.fragment = this.anchorId || this.getFragment(this.name);\n    this.offsetTop = this.getOffset(element);\n  }\n\n  private updatePageAnchor(): void {\n    this.setValues();\n\n    this.anchorStream.next({\n      path: this.path,\n      name: this.name,\n      fragment: this.fragment,\n      offsetTop: this.offsetTop,\n    } as StacheNavLink);\n    this.changeDetectorRef.detectChanges();\n  }\n\n  private getOffset(element: any): number {\n    let offset = element.offsetTop;\n    let el = element;\n\n    while (el.offsetParent) {\n      offset += el.offsetParent.offsetTop;\n      el = el.offsetParent;\n    }\n\n    return offset;\n  }\n\n  private getName(element: any): string {\n    return element.textContent.trim();\n  }\n\n  private getFragment(name: string): string {\n    return name\n      .toLowerCase()\n      .replace(/ /g, '-')\n      .replace(/[^\\w-]+/g, '');\n  }\n}\n","<div class=\"stache-page-anchor\" [attr.id]=\"fragment\">\n  <a\n    queryParamsHandling=\"merge\"\n    [routerLink]=\"path\"\n    [fragment]=\"fragment\"\n    (click)=\"scrollToAnchor()\"\n  >\n    <h2 class=\"stache-page-anchor-heading\">\n      <ng-content />\n      <sky-icon class=\"stache-page-anchor-icon\" iconName=\"link\" />\n    </h2>\n  </a>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { SkyIconModule } from '@skyux/icon';\n\nimport { StacheWindowRef } from '../shared/window-ref';\n\nimport { StachePageAnchorComponent } from './page-anchor.component';\nimport { StachePageAnchorService } from './page-anchor.service';\n\n@NgModule({\n  declarations: [StachePageAnchorComponent],\n  imports: [CommonModule, RouterModule, SkyIconModule],\n  providers: [StachePageAnchorService, StacheWindowRef],\n  exports: [StachePageAnchorComponent],\n})\nexport class StachePageAnchorModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'stache-page-header',\n  templateUrl: './page-header.component.html',\n  styleUrls: ['./page-header.component.scss'],\n  standalone: false,\n})\nexport class StachePageHeaderComponent {}\n","<div class=\"stache-page-header\">\n  <ng-content />\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'stache-page-title',\n  templateUrl: './page-title.component.html',\n  styleUrls: ['./page-title.component.scss'],\n  standalone: false,\n})\nexport class StachePageTitleComponent {}\n","<h1>\n  <span class=\"stache-page-title\">\n    <ng-content />\n  </span>\n</h1>\n","import { NgModule } from '@angular/core';\n\nimport { StachePageHeaderComponent } from './page-header.component';\nimport { StachePageTitleComponent } from './page-title.component';\n\n@NgModule({\n  declarations: [StachePageHeaderComponent, StachePageTitleComponent],\n  exports: [StachePageHeaderComponent, StachePageTitleComponent],\n})\nexport class StachePageHeaderModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'stache-page-summary',\n  templateUrl: './page-summary.component.html',\n  standalone: false,\n})\nexport class StachePageSummaryComponent {}\n","<div class=\"stache-page-summary\">\n  <ng-content />\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { StachePageSummaryComponent } from './page-summary.component';\n\n@NgModule({\n  declarations: [StachePageSummaryComponent],\n  exports: [StachePageSummaryComponent],\n})\nexport class StachePageSummaryModule {}\n","import { Component, Input, OnInit } from '@angular/core';\n\nimport { StacheNav } from '../nav/nav';\nimport { StacheNavLink } from '../nav/nav-link';\nimport { StacheNavService } from '../nav/nav.service';\nimport { StacheRouteService } from '../router/route.service';\n\nlet uniqueId = 0;\n\n@Component({\n  selector: 'stache-sidebar',\n  templateUrl: './sidebar.component.html',\n  styleUrls: ['./sidebar.component.scss'],\n  standalone: false,\n})\nexport class StacheSidebarComponent implements StacheNav, OnInit {\n  @Input()\n  public set routes(value: StacheNavLink[] | undefined) {\n    if (!value || !value.length || !Array.isArray(value)) {\n      this.#_routes = this.#routeSvc.getActiveRoutes();\n    } else {\n      this.#_routes = value;\n    }\n\n    this.childRoutes = this.#filterRoutes(this.#_routes);\n  }\n\n  public childRoutes: StacheNavLink[] | undefined;\n  public heading: string | undefined;\n  public headingRoute: string | string[] | undefined;\n  public isHeadingActive = false;\n  public sidebarHeadingElementId = `stache-sidebar-heading-${uniqueId++}`;\n\n  #_routes: StacheNavLink[] = [];\n  #routeSvc: StacheRouteService;\n  #navSvc: StacheNavService;\n\n  constructor(routeSvc: StacheRouteService, navSvc: StacheNavService) {\n    this.#routeSvc = routeSvc;\n    this.#navSvc = navSvc;\n  }\n\n  public ngOnInit(): void {\n    this.isHeadingActive = this.#routeSvc.getActiveUrl() === this.headingRoute;\n  }\n\n  #filterRoutes(routes: StacheNavLink[]): StacheNavLink[] {\n    const root = routes[0];\n\n    let headingPath = Array.isArray(root.path)\n      ? root.path.join('/')\n      : root.path;\n    headingPath = headingPath.replace(/^\\//, '');\n\n    this.heading = root.name;\n\n    const prefix = this.#navSvc.isExternal(headingPath) ? '' : '/';\n    this.headingRoute = `${prefix}${headingPath}`;\n\n    return root.children || [];\n  }\n}\n","<div class=\"stache-sidebar\">\n  @if (heading) {\n    <span role=\"navigation\" [attr.aria-labelledby]=\"sidebarHeadingElementId\">\n      <h1\n        class=\"stache-sidebar-heading\"\n        [ngClass]=\"{ active: isHeadingActive }\"\n      >\n        <a\n          class=\"stache-sidebar-heading-link\"\n          [attr.aria-current]=\"isHeadingActive ? 'page' : false\"\n          [stacheRouterLink]=\"headingRoute\"\n          [attr.id]=\"sidebarHeadingElementId\"\n        >\n          {{ heading }}\n        </a>\n      </h1>\n    </span>\n  }\n  <stache-nav navType=\"sidebar\" [routes]=\"childRoutes\" />\n</div>\n","import {\n  AfterViewInit,\n  Component,\n  Input,\n  OnDestroy,\n  Renderer2,\n} from '@angular/core';\nimport { SkyMediaBreakpoints, SkyMediaQueryService } from '@skyux/core';\n\nimport { Subscription } from 'rxjs';\n\nimport { StacheNavLink } from '../nav/nav-link';\nimport { StacheWindowRef } from '../shared/window-ref';\n\nconst SIDEBAR_CSS_CLASS_NAME = 'stache-sidebar-enabled';\nlet nextUniqueId = 0;\n\n@Component({\n  selector: 'stache-sidebar-wrapper',\n  templateUrl: './sidebar-wrapper.component.html',\n  styleUrls: ['./sidebar-wrapper.component.scss'],\n  standalone: false,\n})\nexport class StacheSidebarWrapperComponent implements OnDestroy, AfterViewInit {\n  @Input()\n  public sidebarRoutes: StacheNavLink[] | undefined;\n\n  public sidebarOpen = false;\n\n  public sidebarLabel = 'Click to open sidebar';\n\n  public elementId = `stache-sidebar-content-panel-${nextUniqueId++}`;\n\n  #mediaQuerySubscription: Subscription;\n\n  #renderer: Renderer2;\n  #windowRef: StacheWindowRef;\n\n  constructor(\n    renderer: Renderer2,\n    windowRef: StacheWindowRef,\n    mediaQuerySvc: SkyMediaQueryService,\n  ) {\n    this.#renderer = renderer;\n    this.#windowRef = windowRef;\n    this.#mediaQuerySubscription = mediaQuerySvc.subscribe((args) => {\n      this.sidebarOpen = args <= SkyMediaBreakpoints.sm;\n      this.toggleSidebar();\n    });\n  }\n\n  public ngAfterViewInit(): void {\n    this.#addClassToBody();\n  }\n\n  public ngOnDestroy(): void {\n    this.#removeClassFromBody();\n    this.#mediaQuerySubscription.unsubscribe();\n  }\n\n  public toggleSidebar(): void {\n    this.sidebarOpen = !this.sidebarOpen;\n  }\n\n  #addClassToBody(): void {\n    this.#renderer.addClass(\n      this.#windowRef.nativeWindow.document.body,\n      SIDEBAR_CSS_CLASS_NAME,\n    );\n  }\n\n  #removeClassFromBody(): void {\n    this.#renderer.removeClass(\n      this.#windowRef.nativeWindow.document.body,\n      SIDEBAR_CSS_CLASS_NAME,\n    );\n  }\n}\n","<section\n  class=\"stache-sidebar-wrapper\"\n  [attr.aria-label]=\"'stache_sidebar_label' | skyLibResources\"\n  [ngClass]=\"{\n    'stache-sidebar-closed': !sidebarOpen,\n    'stache-sidebar-open': sidebarOpen,\n  }\"\n>\n  <div class=\"stache-sidebar-buttons\">\n    <button\n      type=\"button\"\n      class=\"sky-btn sky-btn-default sky-btn-icon stache-sidebar-button\"\n      [attr.aria-controls]=\"elementId\"\n      [attr.aria-expanded]=\"sidebarOpen\"\n      [attr.title]=\"'stache_sidebar_toggle_button' | skyLibResources\"\n      (click)=\"toggleSidebar()\"\n    >\n      @if (sidebarOpen) {\n        <sky-icon iconName=\"chevron-left\" />\n      }\n      @if (!sidebarOpen) {\n        <sky-icon iconName=\"chevron-right\" />\n      }\n    </button>\n  </div>\n\n  <div class=\"stache-sidebar-content\" [id]=\"elementId\">\n    @if (sidebarOpen) {\n      <stache-sidebar [routes]=\"sidebarRoutes\" />\n    }\n  </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyIconModule } from '@skyux/icon';\n\nimport { StacheNavModule } from '../nav/nav.module';\nimport { SkyStacheResourcesModule } from '../shared/sky-stache-resources.module';\nimport { StacheWindowRef } from '../shared/window-ref';\n\nimport { StacheSidebarWrapperComponent } from './sidebar-wrapper.component';\nimport { StacheSidebarComponent } from './sidebar.component';\n\n@NgModule({\n  declarations: [StacheSidebarComponent, StacheSidebarWrapperComponent],\n  imports: [\n    CommonModule,\n    StacheNavModule,\n    SkyIconModule,\n    SkyStacheResourcesModule,\n  ],\n  exports: [StacheSidebarComponent, StacheSidebarWrapperComponent],\n  providers: [StacheWindowRef],\n})\nexport class StacheSidebarModule {}\n","import { Component, Input, OnDestroy } from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { StacheNavLink } from '../nav/nav-link';\nimport { StacheViewportAdapterService } from '../shared/viewport-adapter.service';\nimport { StacheWindowRef } from '../shared/window-ref';\n\n@Component({\n  selector: 'stache-table-of-contents',\n  templateUrl: './table-of-contents.component.html',\n  styleUrls: ['./table-of-contents.component.scss'],\n  standalone: false,\n})\nexport class StacheTableOfContentsComponent implements OnDestroy {\n  @Input()\n  public routes: StacheNavLink[] | undefined;\n\n  #documentBottom: number | undefined;\n  #ngUnsubscribe = new Subject<void>();\n  #viewportService: StacheViewportAdapterService;\n  #viewTop = 0;\n  #windowRef: StacheWindowRef;\n\n  constructor(\n    windowRef: StacheWindowRef,\n    viewportSvc: StacheViewportAdapterService,\n  ) {\n    this.#windowRef = windowRef;\n    this.#viewportService = viewportSvc;\n    this.#windowRef.scrollEventStream\n      .pipe(takeUntil(this.#ngUnsubscribe))\n      .subscribe(() => {\n        this.#updateRoutesOnScroll(this.routes);\n      });\n  }\n\n  public ngOnDestroy(): void {\n    this.#ngUnsubscribe.next();\n    this.#ngUnsubscribe.complete();\n  }\n\n  #updateRoutesOnScroll(routes: StacheNavLink[] | undefined): void {\n    if (routes?.length) {\n      this.#updateView(routes);\n    }\n  }\n\n  #updateView(routes: StacheNavLink[]): void {\n    this.#trackViewTop();\n    this.#isCurrent(routes);\n  }\n\n  #trackViewTop(): void {\n    this.#viewTop =\n      this.#windowRef.nativeWindow.pageYOffset +\n      this.#viewportService.getHeight();\n    this.#documentBottom = Math.round(\n      this.#windowRef.nativeWindow.document.documentElement.getBoundingClientRect()\n        .bottom,\n    );\n  }\n\n  #isCurrent(routes: StacheNavLink[]): void {\n    if (this.#scrolledToEndOfPage()) {\n      routes.forEach((route: StacheNavLink, idx: number) => {\n        route.isCurrent = idx === routes.length - 1;\n      });\n      return;\n    }\n    routes.forEach((route, index) => {\n      const nextRoute = routes[index + 1];\n      if (nextRoute && (nextRoute.offsetTop || 0) <= this.#viewTop) {\n        route.isCurrent = false;\n        return;\n      }\n      if (route.offsetTop === undefined) {\n        route.isCurrent = false;\n      } else {\n        route.isCurrent = !!(route.offsetTop <= this.#viewTop);\n      }\n    });\n  }\n\n  #scrolledToEndOfPage(): boolean {\n    /*istanbul ignore else*/\n    if (this.#documentBottom !== undefined) {\n      return (\n        this.#windowRef.nativeWindow.innerHeight + 5 >= this.#documentBottom\n      );\n    } else {\n      return false;\n    }\n  }\n}\n","@if (routes && routes.length) {\n  <div class=\"stache-table-of-contents\">\n    <div class=\"stache-table-of-contents-wrapper\">\n      <div class=\"stache-table-of-contents-header\">\n        <h1 class=\"stache-table-of-contents-heading\">On this page</h1>\n      </div>\n      <div class=\"stache-table-of-contents-body\">\n        <stache-nav navType=\"table-of-contents\" [routes]=\"routes\" />\n      </div>\n    </div>\n  </div>\n}\n","import {\n  AfterViewInit,\n  Component,\n  Input,\n  OnDestroy,\n  Renderer2,\n} from '@angular/core';\n\nimport { StacheNavLink } from '../nav/nav-link';\nimport { StacheWindowRef } from '../shared/window-ref';\n\nconst HAS_TOC_CLASS_NAME = 'stache-table-of-contents-enabled';\n\n@Component({\n  selector: 'stache-table-of-contents-wrapper',\n  templateUrl: './table-of-contents-wrapper.component.html',\n  styleUrls: ['./table-of-contents-wrapper.component.scss'],\n  standalone: false,\n})\nexport class StacheTableOfContentsWrapperComponent\n  implements AfterViewInit, OnDestroy\n{\n  @Input()\n  public tocRoutes: StacheNavLink[] | undefined;\n\n  #renderer: Renderer2;\n  #windowRef: StacheWindowRef;\n\n  constructor(renderer: Renderer2, windowRef: StacheWindowRef) {\n    this.#renderer = renderer;\n    this.#windowRef = windowRef;\n  }\n\n  public ngAfterViewInit(): void {\n    this.#addClassToBody();\n  }\n\n  public ngOnDestroy(): void {\n    this.#removeClassFromBody();\n  }\n\n  #addClassToBody(): void {\n    this.#renderer.addClass(\n      this.#windowRef.nativeWindow.document.body,\n      HAS_TOC_CLASS_NAME,\n    );\n  }\n\n  #removeClassFromBody(): void {\n    this.#renderer.removeClass(\n      this.#windowRef.nativeWindow.document.body,\n      HAS_TOC_CLASS_NAME,\n    );\n  }\n}\n","<div\n  class=\"stache-table-of-contents-wrapper\"\n  [attr.aria-label]=\"'stache_table_of_contents_label' | skyLibResources\"\n>\n  <div class=\"stache-table-of-contents-content\">\n    <stache-table-of-contents stacheAffixTop [routes]=\"tocRoutes\" />\n  </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { StacheAffixModule } from '../affix/affix.module';\nimport { StacheNavModule } from '../nav/nav.module';\nimport { SkyStacheResourcesModule } from '../shared/sky-stache-resources.module';\nimport { StacheWindowRef } from '../shared/window-ref';\n\nimport { StacheTableOfContentsWrapperComponent } from './table-of-contents-wrapper.component';\nimport { StacheTableOfContentsComponent } from './table-of-contents.component';\n\n@NgModule({\n  declarations: [\n    StacheTableOfContentsWrapperComponent,\n    StacheTableOfContentsComponent,\n  ],\n  imports: [\n    CommonModule,\n    StacheNavModule,\n    StacheAffixModule,\n    SkyStacheResourcesModule,\n  ],\n  exports: [\n    StacheTableOfContentsWrapperComponent,\n    StacheTableOfContentsComponent,\n  ],\n  providers: [StacheWindowRef],\n})\nexport class StacheTableOfContentsModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'stache-container',\n  templateUrl: './container.component.html',\n  styleUrls: ['./container.component.scss'],\n  standalone: false,\n})\nexport class StacheContainerComponent {}\n","<div class=\"stache-container\">\n  <ng-content />\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\n\nconst DEFAULT_IDENTIFIER = 'blank';\n\n@Component({\n  selector: 'stache-layout-blank',\n  templateUrl: './layout-blank.component.html',\n  styleUrls: ['./layout-blank.component.scss'],\n  standalone: false,\n})\nexport class StacheLayoutBlankComponent implements OnInit {\n  @Input()\n  public set identifier(value: string | undefined) {\n    this.#_identifier = value || DEFAULT_IDENTIFIER;\n    this.#updateClassName();\n  }\n\n  public get identifier(): string {\n    return this.#_identifier;\n  }\n\n  public className: string | undefined;\n\n  #_identifier = DEFAULT_IDENTIFIER;\n\n  public ngOnInit(): void {\n    this.#updateClassName();\n  }\n\n  #updateClassName(): void {\n    this.className = `stache-layout-${this.identifier}`;\n  }\n}\n","<div class=\"stache-layout\" [ngClass]=\"className\">\n  <ng-content />\n</div>\n","import { Component, Input } from '@angular/core';\n\nimport { StacheNavLink } from '../nav/nav-link';\nimport { booleanConverter } from '../shared/input-converter';\n\nimport { StacheLayout } from './layout';\n\n@Component({\n  selector: 'stache-layout-container',\n  templateUrl: './layout-container.component.html',\n  standalone: false,\n})\nexport class StacheLayoutContainerComponent implements StacheLayout {\n  @Input()\n  public pageTitle: string | undefined;\n\n  @Input()\n  public breadcrumbsRoutes: StacheNavLink[] | undefined;\n\n  @Input()\n  public inPageRoutes: StacheNavLink[] | undefined;\n\n  @Input()\n  public set showBackToTop(value: boolean | string | undefined) {\n    this.#_showBackToTop = booleanConverter(value);\n  }\n\n  public get showBackToTop(): boolean {\n    return this.#_showBackToTop;\n  }\n\n  @Input()\n  public set showBreadcrumbs(value: boolean | string | undefined) {\n    this.#_showBreadcrumbs = booleanConverter(value);\n  }\n\n  public get showBreadcrumbs(): boolean {\n    return this.#_showBreadcrumbs;\n  }\n\n  @Input()\n  public set showEditButton(value: boolean | string | undefined) {\n    this.#_showEditButton = booleanConverter(value);\n  }\n\n  public get showEditButton(): boolean {\n    return this.#_showEditButton;\n  }\n\n  @Input()\n  public set showTableOfContents(value: boolean | string | undefined) {\n    this.#_showTableOfContents = booleanConverter(value);\n  }\n\n  public get showTableOfContents(): boolean {\n    return this.#_showTableOfContents;\n  }\n\n  #_showBackToTop = false;\n  #_showBreadcrumbs = false;\n  #_showEditButton = false;\n  #_showTableOfContents = false;\n}\n","<stache-layout-blank identifier=\"container\">\n  <stache-container>\n    @if (showBreadcrumbs) {\n      <stache-breadcrumbs [routes]=\"breadcrumbsRoutes\" />\n    }\n\n    @if (showEditButton) {\n      <stache-edit-button />\n    }\n\n    @if (pageTitle) {\n      <stache-page-header>\n        <stache-page-title>\n          {{ pageTitle }}\n        </stache-page-title>\n      </stache-page-header>\n    }\n\n    <ng-content select=\"[stachePageSummary]\" />\n    <ng-content select=\"stache-page-summary\" />\n\n    @if (showTableOfContents) {\n      <stache-table-of-contents-wrapper [tocRoutes]=\"inPageRoutes\" />\n    }\n\n    <ng-content />\n  </stache-container>\n</stache-layout-blank>\n\n@if (showBackToTop) {\n  <stache-back-to-top />\n}\n","import { Component, Input } from '@angular/core';\n\nimport { StacheNavLink } from '../nav/nav-link';\nimport { booleanConverter } from '../shared/input-converter';\n\nimport { StacheLayout } from './layout';\n\n@Component({\n  selector: 'stache-layout-sidebar',\n  templateUrl: './layout-sidebar.component.html',\n  standalone: false,\n})\nexport class StacheLayoutSidebarComponent implements StacheLayout {\n  @Input()\n  public pageTitle: string | undefined;\n\n  @Input()\n  public breadcrumbsRoutes: StacheNavLink[] | undefined;\n\n  @Input()\n  public inPageRoutes: StacheNavLink[] | undefined;\n\n  @Input()\n  public sidebarRoutes: StacheNavLink[] | undefined;\n\n  @Input()\n  public set showBackToTop(value: boolean | string | undefined) {\n    this.#_showBackToTop = booleanConverter(value);\n  }\n\n  public get showBackToTop(): boolean {\n    return this.#_showBackToTop;\n  }\n\n  @Input()\n  public set showBreadcrumbs(value: boolean | string | undefined) {\n    this.#_showBreadcrumbs = booleanConverter(value);\n  }\n\n  public get showBreadcrumbs(): boolean {\n    return this.#_showBreadcrumbs;\n  }\n\n  @Input()\n  public set showEditButton(value: boolean | string | undefined) {\n    this.#_showEditButton = booleanConverter(value);\n  }\n\n  public get showEditButton(): boolean {\n    return this.#_showEditButton;\n  }\n\n  @Input()\n  public set showTableOfContents(value: boolean | string | undefined) {\n    this.#_showTableOfContents = booleanConverter(value);\n  }\n\n  public get showTableOfContents(): boolean {\n    return this.#_showTableOfContents;\n  }\n\n  #_showBackToTop = false;\n  #_showBreadcrumbs = false;\n  #_showEditButton = false;\n  #_showTableOfContents = false;\n}\n","<stache-sidebar-wrapper stacheAffixTop [sidebarRoutes]=\"sidebarRoutes\" />\n\n<stache-layout-blank identifier=\"sidebar\">\n  <stache-container>\n    @if (showBreadcrumbs) {\n      <stache-breadcrumbs [routes]=\"breadcrumbsRoutes\" />\n    }\n\n    @if (showEditButton) {\n      <stache-edit-button />\n    }\n\n    @if (pageTitle) {\n      <stache-page-header>\n        <stache-page-title>\n          {{ pageTitle }}\n        </stache-page-title>\n      </stache-page-header>\n    }\n\n    <ng-content select=\"[stachePageSummary]\" />\n    <ng-content select=\"stache-page-summary\" />\n\n    @if (showTableOfContents) {\n      <stache-table-of-contents-wrapper [tocRoutes]=\"inPageRoutes\" />\n    }\n\n    <ng-content />\n  </stache-container>\n</stache-layout-blank>\n\n@if (showBackToTop) {\n  <stache-back-to-top />\n}\n","import {\n  Component,\n  ElementRef,\n  Input,\n  OnChanges,\n  OnInit,\n  Renderer2,\n  TemplateRef,\n  ViewChild,\n} from '@angular/core';\n\nimport { StacheNavLink } from '../nav/nav-link';\nimport { StacheWindowRef } from '../shared/window-ref';\n\nimport { StacheLayout } from './layout';\nimport { StacheLayoutType } from './layout-type';\n\nconst DEFAULT_LAYOUT = 'sidebar';\n\n@Component({\n  selector: 'stache-layout',\n  templateUrl: './layout.component.html',\n  styleUrls: ['./layout.component.scss'],\n  standalone: false,\n})\nexport class StacheLayoutComponent implements OnInit, OnChanges, StacheLayout {\n  @Input()\n  public pageTitle: string | undefined;\n\n  @Input()\n  public set layoutType(value: StacheLayoutType | undefined) {\n    this.#_layoutType = value || DEFAULT_LAYOUT;\n    this.#updateTemplateRef();\n  }\n\n  public get layoutType(): string {\n    return this.#_layoutType;\n  }\n\n  @Input()\n  public inPageRoutes: StacheNavLink[] | undefined;\n\n  @Input()\n  public showTableOfContents: boolean | undefined;\n\n  @Input()\n  public sidebarRoutes: StacheNavLink[] | undefined;\n\n  @Input()\n  public breadcrumbsRoutes: StacheNavLink[] | undefined;\n\n  @Input()\n  public showBreadcrumbs: boolean | undefined;\n\n  @Input()\n  public showEditButton: boolean | undefined;\n\n  @Input()\n  public showBackToTop: boolean | undefined;\n\n  public templateRef: TemplateRef<unknown> | undefined;\n\n  @ViewChild('blankLayout', {\n    read: TemplateRef,\n    static: true,\n  })\n  public blankTemplateRef: TemplateRef<unknown> | undefined;\n\n  @ViewChild('containerLayout', {\n    read: TemplateRef,\n    static: true,\n  })\n  public containerTemplateRef: TemplateRef<unknown> | undefined;\n\n  @ViewChild('sidebarLayout', {\n    read: TemplateRef,\n    static: true,\n  })\n  public sidebarTemplateRef: TemplateRef<unknown> | undefined;\n\n  #_layoutType = DEFAULT_LAYOUT;\n\n  #elementRef: ElementRef;\n  #renderer: Renderer2;\n  #windowRef: StacheWindowRef;\n\n  constructor(\n    elementRef: ElementRef,\n    renderer: Renderer2,\n    windowRef: StacheWindowRef,\n  ) {\n    this.#elementRef = elementRef;\n    this.#renderer = renderer;\n    this.#windowRef = windowRef;\n  }\n\n  public ngOnInit(): void {\n    this.#updateTemplateRef();\n  }\n\n  public ngOnChanges(): void {\n    // Reset the wrapper height whenever there are changes.\n    setTimeout(() => {\n      this.#setMinHeight();\n    });\n  }\n\n  #setMinHeight(): void {\n    const wrapper = this.#elementRef.nativeElement.querySelector(\n      '.stache-layout-wrapper',\n    );\n    const minHeight =\n      this.#windowRef.nativeWindow.innerHeight -\n      wrapper.getBoundingClientRect().top;\n    this.#renderer.setStyle(wrapper, 'min-height', `${minHeight}px`);\n  }\n\n  #updateTemplateRef(): void {\n    switch (this.layoutType) {\n      case 'blank':\n        this.templateRef = this.blankTemplateRef;\n        break;\n      case 'sidebar':\n      case 'sidebar-no-margins':\n        this.templateRef = this.sidebarTemplateRef;\n        break;\n      default:\n        this.templateRef = this.containerTemplateRef;\n        break;\n    }\n  }\n}\n","<ng-template #content>\n  <ng-content />\n</ng-template>\n\n<ng-template #contentSummary>\n  <ng-content select=\"[stachePageSummary]\" />\n  <ng-content select=\"stache-page-summary\" />\n</ng-template>\n\n<ng-template #blankLayout>\n  <stache-layout-blank>\n    <ng-template stachePageSummary [ngTemplateOutlet]=\"contentSummary\" />\n    <ng-template [ngTemplateOutlet]=\"content\" />\n  </stache-layout-blank>\n</ng-template>\n\n<ng-template #containerLayout>\n  <stache-layout-container\n    [pageTitle]=\"pageTitle\"\n    [showBackToTop]=\"showBackToTop\"\n    [showBreadcrumbs]=\"showBreadcrumbs\"\n    [showEditButton]=\"showEditButton\"\n    [showTableOfContents]=\"showTableOfContents\"\n    [inPageRoutes]=\"inPageRoutes\"\n    [breadcrumbsRoutes]=\"breadcrumbsRoutes\"\n  >\n    <ng-template stachePageSummary [ngTemplateOutlet]=\"contentSummary\" />\n    <ng-template [ngTemplateOutlet]=\"content\" />\n  </stache-layout-container>\n</ng-template>\n\n<ng-template #sidebarLayout>\n  <stache-layout-sidebar\n    [pageTitle]=\"pageTitle\"\n    [showBackToTop]=\"showBackToTop\"\n    [showBreadcrumbs]=\"showBreadcrumbs\"\n    [showEditButton]=\"showEditButton\"\n    [showTableOfContents]=\"showTableOfContents\"\n    [sidebarRoutes]=\"sidebarRoutes\"\n    [inPageRoutes]=\"inPageRoutes\"\n    [breadcrumbsRoutes]=\"breadcrumbsRoutes\"\n  >\n    <ng-template stachePageSummary [ngTemplateOutlet]=\"contentSummary\" />\n    <ng-template [ngTemplateOutlet]=\"content\" />\n  </stache-layout-sidebar>\n</ng-template>\n\n@if (templateRef) {\n  <div\n    class=\"stache-layout-wrapper\"\n    [class.stache-max-width-container]=\"layoutType !== 'sidebar-no-margins'\"\n  >\n    <ng-template [ngTemplateOutlet]=\"templateRef\" />\n  </div>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { StacheActionButtonsModule } from '../action-buttons/action-buttons.module';\nimport { StacheAffixModule } from '../affix/affix.module';\nimport { StacheBackToTopModule } from '../back-to-top/back-to-top.module';\nimport { StacheBreadcrumbsModule } from '../breadcrumbs/breadcrumbs.module';\nimport { StacheEditButtonModule } from '../edit-button/edit-button.module';\nimport { StacheNavModule } from '../nav/nav.module';\nimport { StachePageAnchorModule } from '../page-anchor/page-anchor.module';\nimport { StachePageHeaderModule } from '../page-header/page-header.module';\nimport { StachePageSummaryModule } from '../page-summary/page-summary.module';\nimport { StacheWindowRef } from '../shared/window-ref';\nimport { StacheSidebarModule } from '../sidebar/sidebar.module';\nimport { StacheTableOfContentsModule } from '../table-of-contents/table-of-contents.module';\n\nimport { StacheContainerComponent } from './container.component';\nimport { StacheLayoutBlankComponent } from './layout-blank.component';\nimport { StacheLayoutContainerComponent } from './layout-container.component';\nimport { StacheLayoutSidebarComponent } from './layout-sidebar.component';\nimport { StacheLayoutComponent } from './layout.component';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    StacheActionButtonsModule,\n    StacheAffixModule,\n    StacheBackToTopModule,\n    StacheNavModule,\n    StacheBreadcrumbsModule,\n    StacheEditButtonModule,\n    StacheSidebarModule,\n    StacheTableOfContentsModule,\n    StachePageSummaryModule,\n    StachePageHeaderModule,\n    StachePageAnchorModule,\n  ],\n  declarations: [\n    StacheLayoutComponent,\n    StacheLayoutBlankComponent,\n    StacheLayoutContainerComponent,\n    StacheLayoutSidebarComponent,\n    StacheContainerComponent,\n  ],\n  exports: [StacheLayoutComponent, StacheContainerComponent],\n  providers: [StacheWindowRef],\n})\nexport class StacheLayoutModule {}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n  selector: 'stache-tutorial-step-body',\n  templateUrl: './tutorial-step-body.component.html',\n  styleUrls: ['./tutorial-step-body.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class StacheTutorialStepBodyComponent {}\n","<div class=\"stache-tutorial-step-body\">\n  <ng-content />\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n  selector: 'stache-tutorial-step-heading',\n  templateUrl: './tutorial-step-heading.component.html',\n  styleUrls: ['./tutorial-step-heading.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class StacheTutorialStepHeadingComponent {}\n","<div class=\"stache-tutorial-step-heading\">\n  <stache-page-anchor>\n    <ng-content />\n  </stache-page-anchor>\n</div>\n","import { Component, Input } from '@angular/core';\n\nimport { booleanConverter } from '../shared/input-converter';\n\n@Component({\n  selector: 'stache-tutorial-step',\n  templateUrl: './tutorial-step.component.html',\n  styleUrls: ['./tutorial-step.component.scss'],\n  standalone: false,\n})\nexport class StacheTutorialStepComponent {\n  @Input()\n  public set showNumber(value: boolean | string | undefined) {\n    this.#_showNumber = booleanConverter(value) !== false;\n  }\n\n  public get showNumber(): boolean {\n    return this.#_showNumber;\n  }\n\n  #_showNumber = true;\n}\n","<div\n  class=\"stache-tutorial-step\"\n  [ngClass]=\"{ 'stache-tutorial-step-numbered': showNumber }\"\n>\n  <ng-content />\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { StachePageAnchorModule } from '../page-anchor/page-anchor.module';\nimport { StacheRouterModule } from '../router/router.module';\n\nimport { StacheTutorialStepBodyComponent } from './tutorial-step-body.component';\nimport { StacheTutorialStepHeadingComponent } from './tutorial-step-heading.component';\nimport { StacheTutorialStepComponent } from './tutorial-step.component';\n\n@NgModule({\n  declarations: [\n    StacheTutorialStepComponent,\n    StacheTutorialStepBodyComponent,\n    StacheTutorialStepHeadingComponent,\n  ],\n  imports: [CommonModule, StachePageAnchorModule, StacheRouterModule],\n  exports: [\n    StacheTutorialStepComponent,\n    StacheTutorialStepBodyComponent,\n    StacheTutorialStepHeadingComponent,\n  ],\n})\nexport class StacheTutorialStepModule {}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n  selector: 'stache-tutorial-heading',\n  templateUrl: './tutorial-heading.component.html',\n  styleUrls: ['./tutorial-heading.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class StacheTutorialHeadingComponent {}\n","<h1>\n  <span class=\"stache-tutorial-heading\">\n    <ng-content />\n  </span>\n</h1>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n  selector: 'stache-tutorial-summary',\n  templateUrl: './tutorial-summary.component.html',\n  styleUrls: ['./tutorial-summary.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class StacheTutorialSummaryComponent {}\n","<div class=\"stache-tutorial-summary\">\n  <ng-content />\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n  selector: 'stache-tutorial',\n  templateUrl: './tutorial.component.html',\n  styleUrls: ['./tutorial.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class StacheTutorialComponent {}\n","<div class=\"stache-tutorial\">\n  <ng-content />\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { StacheTutorialStepModule } from '../tutorial-step/tutorial-step.module';\n\nimport { StacheTutorialHeadingComponent } from './tutorial-heading.component';\nimport { StacheTutorialSummaryComponent } from './tutorial-summary.component';\nimport { StacheTutorialComponent } from './tutorial.component';\n\n@NgModule({\n  declarations: [\n    StacheTutorialComponent,\n    StacheTutorialHeadingComponent,\n    StacheTutorialSummaryComponent,\n  ],\n  exports: [\n    StacheTutorialComponent,\n    StacheTutorialHeadingComponent,\n    StacheTutorialSummaryComponent,\n    StacheTutorialStepModule,\n  ],\n})\nexport class StacheTutorialModule {}\n","import { Injectable, inject } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { SkyAppConfig } from '@skyux/config';\n\n@Injectable()\nexport class StacheTitleService {\n  readonly #title = inject(Title);\n  readonly #appConfig = inject(SkyAppConfig);\n\n  public setTitle(...parts: string[]): void {\n    const appTitle = this.#appConfig.skyux.app?.title;\n\n    if (parts && parts.length > 0) {\n      if (appTitle) {\n        parts.push(appTitle);\n      }\n\n      const validParts = parts.filter((part) => !!part && part.trim());\n\n      if (validParts.length > 0) {\n        this.#title.setTitle(validParts.join(' - '));\n\n        return;\n      }\n    }\n\n    this.#title.setTitle(appTitle ?? 'Blackbaud');\n  }\n}\n","/* tslint:disable:component-selector */\nimport {\n  AfterViewInit,\n  ChangeDetectorRef,\n  Component,\n  Input,\n  OnDestroy,\n  OnInit,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { SkyAppConfig } from '@skyux/config';\n\nimport lodashGet from 'lodash.get';\nimport { Subject } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\n\nimport { StacheJsonDataService } from '../json-data/json-data.service';\nimport { StacheLayoutType } from '../layout/layout-type';\nimport { StacheNavLink } from '../nav/nav-link';\nimport { StacheNavService } from '../nav/nav.service';\nimport { StachePageAnchorService } from '../page-anchor/page-anchor.service';\nimport { booleanConverter } from '../shared/input-converter';\nimport { StacheViewportAdapterService } from '../shared/viewport-adapter.service';\nimport { StacheWindowRef } from '../shared/window-ref';\n\nimport { StacheTitleService } from './title.service';\n\n@Component({\n  encapsulation: ViewEncapsulation.None,\n  // eslint-disable-next-line @angular-eslint/component-selector\n  selector: 'stache',\n  templateUrl: './wrapper.component.html',\n  styleUrls: ['./wrapper.component.scss'],\n  standalone: false,\n})\nexport class StacheWrapperComponent\n  implements OnInit, AfterViewInit, OnDestroy\n{\n  @Input()\n  public pageTitle: string;\n\n  @Input()\n  public windowTitle: string;\n\n  @Input()\n  public navTitle: string;\n\n  @Input()\n  public layout: StacheLayoutType = 'sidebar';\n\n  @Input()\n  public sidebarRoutes: StacheNavLink[];\n\n  @Input()\n  public breadcrumbsRoutes: StacheNavLink[];\n\n  @Input()\n  public showBreadcrumbs = true;\n\n  @Input()\n  public showEditButton: boolean = this.checkEditButtonUrl();\n\n  @Input()\n  public set showFooter(value: boolean | string | undefined) {\n    this.#_showFooter = booleanConverter(value);\n  }\n\n  public get showFooter(): boolean {\n    return this.#_showFooter;\n  }\n\n  @Input()\n  public showTableOfContents = false;\n\n  @Input()\n  public showBackToTop = true;\n\n  @Input()\n  public showInNav = true;\n\n  @Input()\n  public inPageRoutes: StacheNavLink[] | undefined;\n\n  public jsonData: any;\n  private ngUnsubscribe = new Subject<void>();\n\n  #_showFooter = this.checkFooterData();\n\n  constructor(\n    private config: SkyAppConfig,\n    private dataService: StacheJsonDataService,\n    private pageAnchorService: StachePageAnchorService,\n    private titleService: StacheTitleService,\n    private route: ActivatedRoute,\n    private navService: StacheNavService,\n    private windowRef: StacheWindowRef,\n    private changeDetectorRef: ChangeDetectorRef,\n    private viewportService: StacheViewportAdapterService,\n  ) {}\n\n  public ngOnInit(): void {\n    this.viewportService.checkForViewportAdjustment();\n    this.jsonData = this.dataService.getAll();\n    if (!this.inPageRoutes) {\n      this.pageAnchorService.pageAnchorsStream\n        .pipe(takeUntil(this.ngUnsubscribe))\n        .subscribe((anchors: StacheNavLink[]) => {\n          this.inPageRoutes = anchors;\n          this.checkRouteHash();\n          this.changeDetectorRef.detectChanges();\n        });\n    }\n  }\n\n  public ngAfterViewInit(): void {\n    const preferredDocumentTitle = this.getPreferredDocumentTitle();\n    this.titleService.setTitle(preferredDocumentTitle);\n  }\n\n  public ngOnDestroy(): void {\n    this.ngUnsubscribe.next();\n    this.ngUnsubscribe.complete();\n  }\n\n  private getPreferredDocumentTitle(): string {\n    return (\n      this.windowTitle ||\n      this.pageTitle ||\n      this.navTitle ||\n      this.getTutorialHeader()\n    );\n  }\n\n  private getTutorialHeader(): string {\n    const currentTutorialHeader =\n      this.windowRef.nativeWindow.document.querySelector(\n        `.stache-tutorial-heading`,\n      );\n    if (currentTutorialHeader && currentTutorialHeader.textContent) {\n      return currentTutorialHeader.textContent.trim();\n    }\n  }\n\n  private checkEditButtonUrl(): boolean {\n    const url = lodashGet(\n      this.config,\n      'skyux.appSettings.stache.editButton.url',\n    );\n    return url !== undefined;\n  }\n\n  private checkFooterData(): boolean {\n    const footerData = lodashGet(\n      this.config,\n      'skyux.appSettings.stache.footer',\n    );\n    return footerData !== undefined;\n  }\n\n  private checkRouteHash(): void {\n    this.route.fragment.pipe(take(1)).subscribe((fragment) => {\n      if (fragment) {\n        this.pageAnchorService.scrollToAnchor(fragment);\n      }\n    });\n  }\n}\n","<div class=\"stache-wrapper\" stacheGoogleAnalytics>\n  <stache-layout\n    [pageTitle]=\"pageTitle\"\n    [layoutType]=\"layout\"\n    [showBackToTop]=\"showBackToTop\"\n    [showBreadcrumbs]=\"showBreadcrumbs\"\n    [showEditButton]=\"showEditButton\"\n    [showTableOfContents]=\"showTableOfContents\"\n    [sidebarRoutes]=\"sidebarRoutes\"\n    [inPageRoutes]=\"inPageRoutes\"\n    [breadcrumbsRoutes]=\"breadcrumbsRoutes\"\n  >\n    <ng-content stachePageSummary select=\"stache-page-summary\" />\n    <ng-content />\n  </stache-layout>\n  @if (showFooter) {\n    <stache-footer />\n  }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { StacheAnalyticsModule } from '../analytics/analytics.module';\nimport { StacheFooterModule } from '../footer/footer.module';\nimport { StacheLayoutModule } from '../layout/layout.module';\nimport { StachePageAnchorModule } from '../page-anchor/page-anchor.module';\nimport { StacheViewportAdapterService } from '../shared/viewport-adapter.service';\nimport { StacheWindowRef } from '../shared/window-ref';\n\nimport { StacheTitleService } from './title.service';\nimport { StacheWrapperComponent } from './wrapper.component';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    RouterModule,\n    StacheAnalyticsModule,\n    StachePageAnchorModule,\n    StacheLayoutModule,\n    StacheFooterModule,\n  ],\n  declarations: [StacheWrapperComponent],\n  exports: [StacheWrapperComponent],\n  providers: [\n    StacheViewportAdapterService,\n    StacheTitleService,\n    StacheWindowRef,\n  ],\n})\nexport class StacheWrapperModule {}\n","import { NgModule } from '@angular/core';\n\nimport { StacheActionButtonsModule } from './modules/action-buttons/action-buttons.module';\nimport { StacheAffixModule } from './modules/affix/affix.module';\nimport { StacheAnalyticsModule } from './modules/analytics/analytics.module';\nimport { StacheBackToTopModule } from './modules/back-to-top/back-to-top.module';\nimport { StacheBlockquoteModule } from './modules/blockquote/blockquote.module';\nimport { StacheBreadcrumbsModule } from './modules/breadcrumbs/breadcrumbs.module';\nimport { StacheEditButtonModule } from './modules/edit-button/edit-button.module';\nimport { StacheFooterModule } from './modules/footer/footer.module';\nimport { StacheHideFromSearchModule } from './modules/hide-from-search/hide-from-search.module';\nimport { StacheLayoutModule } from './modules/layout/layout.module';\nimport { StacheNavModule } from './modules/nav/nav.module';\nimport { StachePageAnchorModule } from './modules/page-anchor/page-anchor.module';\nimport { StachePageHeaderModule } from './modules/page-header/page-header.module';\nimport { StachePageSummaryModule } from './modules/page-summary/page-summary.module';\nimport { StacheRouterModule } from './modules/router/router.module';\nimport { StacheSidebarModule } from './modules/sidebar/sidebar.module';\nimport { StacheTableOfContentsModule } from './modules/table-of-contents/table-of-contents.module';\nimport { StacheTutorialModule } from './modules/tutorial/tutorial.module';\nimport { StacheWrapperModule } from './modules/wrapper/wrapper.module';\n\n@NgModule({\n  exports: [\n    StacheActionButtonsModule,\n    StacheAffixModule,\n    StacheAnalyticsModule,\n    StacheBackToTopModule,\n    StacheBlockquoteModule,\n    StacheBreadcrumbsModule,\n    StacheEditButtonModule,\n    StacheFooterModule,\n    StacheHideFromSearchModule,\n    StacheLayoutModule,\n    StacheNavModule,\n    StachePageAnchorModule,\n    StachePageHeaderModule,\n    StachePageSummaryModule,\n    StacheRouterModule,\n    StacheSidebarModule,\n    StacheTableOfContentsModule,\n    StacheTutorialModule,\n    StacheWrapperModule,\n  ],\n})\nexport class StacheModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.StacheWindowRef","i1.StacheNavService","i2.StacheRouteService","i1.StacheRouteService","i2.StacheAuthService","i4.StacheRouterLinkDirective","i1","i3.StacheRouterLinkDirective","i1.StacheViewportAdapterService","i1.StacheWindowRef","i2","i3.StacheAffixTopDirective","i3","i4","i2.StacheNavComponent","i3.StacheNavComponent","i1.StachePageAnchorService","i2.StacheNavService","i4.StacheNavComponent","i5.StacheRouterLinkDirective","i5.StacheSidebarComponent","i6","i2.StacheViewportAdapterService","i2.StacheAffixTopDirective","i3.StacheTableOfContentsComponent","i1.StacheBackToTopComponent","i2.StacheBreadcrumbsComponent","i3.StacheEditButtonComponent","i4.StacheTableOfContentsWrapperComponent","i5.StachePageHeaderComponent","i6.StachePageTitleComponent","i7.StacheLayoutBlankComponent","i8.StacheContainerComponent","i1.StacheAffixTopDirective","i2.StacheBackToTopComponent","i3.StacheBreadcrumbsComponent","i4.StacheEditButtonComponent","i5.StacheSidebarWrapperComponent","i6.StacheTableOfContentsWrapperComponent","i7.StachePageHeaderComponent","i8.StachePageTitleComponent","i9.StacheLayoutBlankComponent","i10.StacheContainerComponent","i3.StacheLayoutBlankComponent","i4.StacheLayoutContainerComponent","i5.StacheLayoutSidebarComponent","i1.StachePageAnchorComponent","i2.StacheJsonDataService","i3.StachePageAnchorService","i4.StacheTitleService","i5","i6.StacheNavService","i7.StacheWindowRef","i8.StacheViewportAdapterService","i9.StacheGoogleAnalyticsDirective","i10.StacheLayoutComponent","i11.StacheFooterComponent"],"mappings":"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"}