@skyux/docs-tools 10.2.0 → 10.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-docs-tools.mjs","sources":["../../../projects/docs-tools/src/modules/anatomy/anatomy-item.component.ts","../../../projects/docs-tools/src/modules/anatomy/anatomy-item.component.html","../../../projects/docs-tools/src/modules/anatomy/anatomy.component.ts","../../../projects/docs-tools/src/modules/anatomy/anatomy.component.html","../../../projects/docs-tools/src/modules/thumbnail/thumbnail.component.ts","../../../projects/docs-tools/src/modules/thumbnail/thumbnail.component.html","../../../projects/docs-tools/src/modules/thumbnail/thumbnail.module.ts","../../../projects/docs-tools/src/modules/anatomy/anatomy-thumbnail.component.ts","../../../projects/docs-tools/src/modules/anatomy/anatomy-thumbnail.component.html","../../../projects/docs-tools/src/modules/anatomy/anatomy.module.ts","../../../projects/docs-tools/src/modules/shared/sky-docs-tools-resources.module.ts","../../../projects/docs-tools/src/modules/code-examples/code-example-theme.ts","../../../projects/docs-tools/src/modules/code-examples/code-example.component.ts","../../../projects/docs-tools/src/modules/code-examples/code-examples-editor.service.ts","../../../projects/docs-tools/src/modules/source-code/source-code-provider.ts","../../../projects/docs-tools/src/modules/source-code/source-code.service.ts","../../../projects/docs-tools/src/modules/code-examples/code-examples.component.ts","../../../projects/docs-tools/src/modules/code-examples/code-examples.component.html","../../../projects/docs-tools/src/modules/code-examples/code-examples.module.ts","../../../projects/docs-tools/src/modules/demo/demo-control-panel-checkbox.component.ts","../../../projects/docs-tools/src/modules/demo/demo-control-panel-checkbox.component.html","../../../projects/docs-tools/src/modules/demo/demo-control-panel-radio-group.component.ts","../../../projects/docs-tools/src/modules/demo/demo-control-panel-radio-group.component.html","../../../projects/docs-tools/src/modules/demo/demo-control-panel.component.ts","../../../projects/docs-tools/src/modules/demo/demo-control-panel.component.html","../../../projects/docs-tools/src/modules/demo/demo-custom-control-panel.component.ts","../../../projects/docs-tools/src/modules/demo/demo-custom-control-panel.component.html","../../../projects/docs-tools/src/modules/demo/demo.component.ts","../../../projects/docs-tools/src/modules/demo/demo.component.html","../../../projects/docs-tools/src/modules/demo/demo-control-panel-section.component.ts","../../../projects/docs-tools/src/modules/demo/demo-control-panel-section.component.html","../../../projects/docs-tools/src/modules/demo/demo.module.ts","../../../projects/docs-tools/src/modules/heading-anchor/heading-anchor.component.ts","../../../projects/docs-tools/src/modules/heading-anchor/heading-anchor.component.html","../../../projects/docs-tools/src/modules/heading-anchor/heading-anchor.module.ts","../../../projects/docs-tools/src/modules/markdown/markdown.pipe.ts","../../../projects/docs-tools/src/modules/markdown/markdown.module.ts","../../../projects/docs-tools/src/modules/shared/docs-tools-options.ts","../../../projects/docs-tools/src/modules/module-info/module-info.component.ts","../../../projects/docs-tools/src/modules/module-info/module-info.component.html","../../../projects/docs-tools/src/modules/module-info/module-info.module.ts","../../../projects/docs-tools/src/modules/safe-html/safe-html.component.ts","../../../projects/docs-tools/src/modules/safe-html/safe-html.component.html","../../../projects/docs-tools/src/modules/safe-html/safe-html.module.ts","../../../projects/docs-tools/src/modules/type-definitions/type-definitions-format.service.ts","../../../projects/docs-tools/src/modules/type-definitions/type-definitions-provider.ts","../../../projects/docs-tools/src/modules/type-definitions/anchor-link.service.ts","../../../projects/docs-tools/src/modules/type-definitions/type-anchor-links.pipe.ts","../../../projects/docs-tools/src/modules/type-definitions/call-signature-definition.component.ts","../../../projects/docs-tools/src/modules/type-definitions/call-signature-definition.component.html","../../../projects/docs-tools/src/modules/type-definitions/preview-feature-indicator.component.ts","../../../projects/docs-tools/src/modules/type-definitions/preview-feature-indicator.component.html","../../../projects/docs-tools/src/modules/type-definitions/property-definitions.component.ts","../../../projects/docs-tools/src/modules/type-definitions/property-definitions.component.html","../../../projects/docs-tools/src/modules/type-definitions/directive-definition.component.ts","../../../projects/docs-tools/src/modules/type-definitions/directive-definition.component.html","../../../projects/docs-tools/src/modules/type-definitions/enumeration-definition.component.ts","../../../projects/docs-tools/src/modules/type-definitions/enumeration-definition.component.html","../../../projects/docs-tools/src/modules/type-definitions/interface-definition.component.ts","../../../projects/docs-tools/src/modules/type-definitions/interface-definition.component.html","../../../projects/docs-tools/src/modules/type-definitions/method-definitions.component.ts","../../../projects/docs-tools/src/modules/type-definitions/method-definitions.component.html","../../../projects/docs-tools/src/modules/type-definitions/pipe-definition.component.ts","../../../projects/docs-tools/src/modules/type-definitions/pipe-definition.component.html","../../../projects/docs-tools/src/modules/type-definitions/class-definition.component.ts","../../../projects/docs-tools/src/modules/type-definitions/class-definition.component.html","../../../projects/docs-tools/src/modules/type-definitions/type-alias-definition.component.ts","../../../projects/docs-tools/src/modules/type-definitions/type-alias-definition.component.html","../../../projects/docs-tools/src/modules/type-definitions/type-definitions.module.ts","../../../projects/docs-tools/src/modules/demo-page/demo-page-section.component.ts","../../../projects/docs-tools/src/modules/demo-page/demo-page-section.component.html","../../../projects/docs-tools/src/modules/demo-page/demo-page-summary.component.ts","../../../projects/docs-tools/src/modules/demo-page/demo-page-summary.component.html","../../../projects/docs-tools/src/modules/design-guidelines/design-guidelines.component.ts","../../../projects/docs-tools/src/modules/design-guidelines/design-guidelines.component.html","../../../projects/docs-tools/src/modules/demo-page/demo-page-dom-adapter.service.ts","../../../projects/docs-tools/src/modules/shared/docs-tools-site-options.ts","../../../projects/docs-tools/src/modules/shared/docs-tools-supportal.service.ts","../../../projects/docs-tools/src/modules/demo-page/demo-page-title.service.ts","../../../projects/docs-tools/src/modules/type-definitions/typedoc-types.ts","../../../projects/docs-tools/src/modules/type-definitions/typedoc-adapter.service.ts","../../../projects/docs-tools/src/modules/type-definitions/type-definitions.service.ts","../../../projects/docs-tools/src/modules/demo-page/demo-page-type-definitions.component.ts","../../../projects/docs-tools/src/modules/demo-page/demo-page-type-definitions.component.html","../../../projects/docs-tools/src/modules/demo-page/demo-page.component.ts","../../../projects/docs-tools/src/modules/demo-page/demo-page.component.html","../../../projects/docs-tools/src/modules/demo-page/demo-page-module-info.component.ts","../../../projects/docs-tools/src/modules/demo-page/demo-page.module.ts","../../../projects/docs-tools/src/modules/design-guidelines/design-guideline-thumbnail.component.ts","../../../projects/docs-tools/src/modules/design-guidelines/design-guideline-thumbnail.component.html","../../../projects/docs-tools/src/modules/design-guidelines/design-guideline.component.ts","../../../projects/docs-tools/src/modules/design-guidelines/design-guideline.component.html","../../../projects/docs-tools/src/modules/design-guidelines/design-guidelines.module.ts","../../../projects/docs-tools/src/docs-tools.module.ts","../../../projects/docs-tools/src/skyux-docs-tools.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'sky-docs-anatomy-item',\n templateUrl: './anatomy-item.component.html',\n styleUrls: ['./anatomy-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsAnatomyItemComponent {\n @Input()\n public isOptional: boolean = false;\n\n public marker: string;\n}\n","<div\n class=\"sky-docs-anatomy-item\"\n [ngClass]=\"{\n 'sky-docs-anatomy-item-optional': isOptional\n }\"\n>\n <div class=\"sky-docs-anatomy-item-marker\">\n {{ marker }}\n </div>\n <div class=\"sky-docs-anatomy-item-description\">\n <ng-content></ng-content>\n <span *ngIf=\"isOptional\" class=\"sky-deemphasized\">&nbsp;(optional)</span>\n </div>\n</div>\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Input,\n QueryList,\n} from '@angular/core';\n\nimport { SkyDocsAnatomyItemComponent } from './anatomy-item.component';\n\n@Component({\n selector: 'sky-docs-anatomy',\n templateUrl: './anatomy.component.html',\n styleUrls: ['./anatomy.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsAnatomyComponent implements AfterContentInit {\n @Input()\n public imagePath: string;\n\n @ContentChildren(SkyDocsAnatomyItemComponent)\n private anatomyItems: QueryList<SkyDocsAnatomyItemComponent>;\n\n public ngAfterContentInit(): void {\n this.anatomyItems.forEach((item, i) => {\n item.marker = (i + 1).toString();\n });\n }\n}\n","<div class=\"sky-docs-anatomy\">\n <sky-row>\n <sky-column\n class=\"sky-docs-anatomy-items\"\n screenSmall=\"6\"\n screenMedium=\"5\"\n screenLarge=\"4\"\n >\n <ng-content select=\"sky-docs-anatomy-item\"></ng-content>\n </sky-column>\n <sky-column screenSmall=\"6\" screenMedium=\"7\" screenLarge=\"8\">\n <sky-image\n *ngIf=\"imagePath; else thumbnails\"\n [imageSource]=\"imagePath\"\n ></sky-image>\n </sky-column>\n </sky-row>\n</div>\n\n<ng-template #thumbnails>\n <ng-content select=\"sky-docs-anatomy-thumbnail\"></ng-content>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'sky-docs-thumbnail',\n templateUrl: './thumbnail.component.html',\n styleUrls: ['./thumbnail.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsThumbnailComponent {\n @Input()\n public caption: string;\n\n @Input()\n public captionType: string;\n\n @Input()\n public imageAlt: string;\n\n @Input()\n public imageSource: string;\n\n @Input()\n public showBorder: boolean = false;\n\n @Input()\n public videoSource: string;\n}\n","<div class=\"sky-docs-thumbnail\">\n <sky-image\n *ngIf=\"imageSource\"\n [caption]=\"caption\"\n [captionType]=\"captionType\"\n [imageAlt]=\"imageAlt\"\n [imageSource]=\"imageSource\"\n [showBorder]=\"showBorder\"\n [showCaptionPrefix]=\"false\"\n ></sky-image>\n <div\n *ngIf=\"videoSource\"\n class=\"sky-docs-video\"\n [ngClass]=\"{\n 'sky-docs-video-border': showBorder\n }\"\n >\n <video controls>\n <source [attr.src]=\"videoSource\" type=\"video/mp4\" />\n </video>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\n\nimport { NgModule } from '@angular/core';\n\nimport { SkyImageModule } from '@blackbaud/skyux-lib-media';\n\nimport { SkyDocsThumbnailComponent } from './thumbnail.component';\n\n@NgModule({\n imports: [CommonModule, SkyImageModule],\n exports: [SkyDocsThumbnailComponent],\n declarations: [SkyDocsThumbnailComponent],\n})\nexport class SkyDocsThumbnailModule {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'sky-docs-anatomy-thumbnail',\n templateUrl: './anatomy-thumbnail.component.html',\n styleUrls: ['./anatomy-thumbnail.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsAnatomyThumbnailComponent {\n @Input()\n public caption: string;\n\n @Input()\n public captionType: string;\n\n @Input()\n public imageAlt: string;\n\n @Input()\n public imageSource: string;\n\n @Input()\n public videoSource: string;\n\n @Input()\n public showBorder: boolean = false;\n}\n","<div class=\"sky-docs-anatomy-thumbnail\">\n <sky-docs-thumbnail\n [caption]=\"caption\"\n [captionType]=\"captionType\"\n [imageAlt]=\"imageAlt\"\n [imageSource]=\"imageSource\"\n [videoSource]=\"videoSource\"\n [showBorder]=\"showBorder\"\n ></sky-docs-thumbnail>\n</div>\n","import { CommonModule } from '@angular/common';\n\nimport { NgModule } from '@angular/core';\n\nimport { SkyImageModule } from '@blackbaud/skyux-lib-media';\n\nimport { SkyFluidGridModule } from '@skyux/layout';\n\nimport { SkyDocsAnatomyComponent } from './anatomy.component';\n\nimport { SkyDocsAnatomyItemComponent } from './anatomy-item.component';\nimport { SkyDocsThumbnailModule } from '../thumbnail/thumbnail.module';\nimport { SkyDocsAnatomyThumbnailComponent } from './anatomy-thumbnail.component';\n\n@NgModule({\n imports: [\n CommonModule,\n SkyDocsThumbnailModule,\n SkyFluidGridModule,\n SkyImageModule,\n ],\n declarations: [\n SkyDocsAnatomyComponent,\n SkyDocsAnatomyItemComponent,\n SkyDocsAnatomyThumbnailComponent,\n ],\n exports: [\n SkyDocsAnatomyComponent,\n SkyDocsAnatomyItemComponent,\n SkyDocsAnatomyThumbnailComponent,\n ],\n})\nexport class SkyDocsAnatomyModule {}\n","/* istanbul ignore file */\n\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 modules/shared/sky-docs-tools' schematic.\n * To update this file, simply rerun the command.\n */\n\nimport { NgModule } from '@angular/core';\nimport {\n SKY_LIB_RESOURCES_PROVIDERS,\n SkyAppLocaleInfo,\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesProvider,\n SkyLibResourcesService,\n getLibStringForLocale,\n} from '@skyux/i18n';\n\nconst RESOURCES: { [locale: string]: SkyLibResources } = {\n 'EN-US': {\n 'sky-docs-demo-heading': { message: 'Demo' },\n 'sky-docs-demo-toggle-button-on': { message: 'Show options' },\n 'sky-docs-demo-toggle-button-off': { message: 'Hide options' },\n 'sky-docs-code-example-launch-button-label': {\n message: 'Run in StackBlitz',\n },\n 'sky-docs-demo-control-panel-reset-button-label': { message: 'Reset' },\n },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\nexport class SkyDocsToolsResourcesProvider implements SkyLibResourcesProvider {\n public getString(\n localeInfo: SkyAppLocaleInfo,\n name: string,\n ): string | undefined {\n return getLibStringForLocale(RESOURCES, localeInfo.locale, name);\n }\n}\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n providers: [\n {\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyDocsToolsResourcesProvider,\n multi: true,\n },\n ],\n})\nexport class SkyDocsToolsResourcesModule {}\n","export enum SkyDocsCodeExampleTheme {\n Default = 'default',\n Modern = 'modern',\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnDestroy,\n Optional,\n} from '@angular/core';\n\nimport { SkyThemeService } from '@skyux/theme';\n\nimport { Subject } from 'rxjs';\n\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyDocsCodeExampleTheme } from './code-example-theme';\n\n/**\n * Renders a single code example.\n * @example\n * ```\n * <sky-docs-code-example\n * heading=\"My code example\"\n * sourceCodePath=\"src/app/public/plugin-resources/foobar\"\n * >\n * </sky-docs-code-example>\n * ```\n */\n@Component({\n selector: 'sky-docs-code-example',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsCodeExampleComponent implements OnDestroy {\n /**\n * The heading to be used for the code example.\n * @required\n */\n @Input()\n public heading: string;\n\n /**\n * Specifies the local path to the code example's source code. The value is relative to the root directory.\n * @required\n */\n @Input()\n public sourceCodePath: string;\n\n /**\n * Specifies if the editor service should show the example in modern theme.\n * The value will be gleaned from `SkyThemeService` first, then fallback to 'default' if the service is not found.\n */\n @Input()\n public set theme(value: SkyDocsCodeExampleTheme) {\n this._theme = value;\n }\n\n public get theme(): SkyDocsCodeExampleTheme {\n return this._theme || SkyDocsCodeExampleTheme.Default;\n }\n\n private ngUnsubscribe = new Subject<void>();\n\n private _theme: SkyDocsCodeExampleTheme;\n\n constructor(@Optional() themeSvc?: SkyThemeService) {\n // Update theme property with SkyThemeService if it has not been set.\n if (!this._theme && themeSvc) {\n themeSvc.settingsChange\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((change) => {\n if (change.currentSettings.theme.name === 'modern') {\n this.theme = SkyDocsCodeExampleTheme.Modern;\n } else if (change.currentSettings.theme.name === 'default') {\n this.theme = SkyDocsCodeExampleTheme.Default;\n }\n });\n }\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n}\n","import { VERSION as ANGULAR_VERSION, Injectable } from '@angular/core';\nimport { VERSION as SKY_UX_VERSION } from '@skyux/core';\nimport { VERSION as SKY_UX_ICONS_VERSION } from '@skyux/icons';\nimport StackBlitzSDK from '@stackblitz/sdk';\nimport {\n OpenOptions as StackBlitzOpenOptions,\n Project as StackBlitzProject,\n} from '@stackblitz/sdk';\n\nimport { SkyDocsSourceCodeFile } from '../source-code/source-code-file';\n\nimport { SkyDocsCodeExample } from './code-example';\nimport { SkyDocsCodeExampleModuleDependencies } from './code-example-module-dependencies';\nimport { SkyDocsCodeExampleTheme } from './code-example-theme';\n\ntype StackblitzTemplate = 'angular-cli' | 'node';\n\n/**\n * @internal\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class SkyDocsCodeExamplesEditorService {\n public launchEditor(\n codeExample: SkyDocsCodeExample,\n template: StackblitzTemplate = 'angular-cli',\n ): void {\n const project = this.#getPayload(codeExample, template);\n const openFile: string[] = [];\n if (project.files['src/app/demo.component.html']) {\n openFile.push('src/app/demo.component.html');\n } else if (project.files['src/app/demo.component.ts']) {\n openFile.push('src/app/demo.component.ts');\n }\n const options: StackBlitzOpenOptions = {\n openFile,\n };\n\n StackBlitzSDK.openProject(project, options);\n }\n\n #getPayload(\n codeExample: SkyDocsCodeExample,\n template: StackblitzTemplate,\n ): StackBlitzProject {\n const angularVersion = `^${ANGULAR_VERSION.major}`;\n const skyuxVersion = `^${SKY_UX_VERSION.full}`;\n\n const defaultDependencies: SkyDocsCodeExampleModuleDependencies = {\n '@angular-devkit/build-angular': angularVersion,\n '@angular/animations': angularVersion,\n '@angular/cdk': angularVersion,\n '@angular/cli': angularVersion,\n '@angular/common': angularVersion,\n '@angular/compiler': angularVersion,\n '@angular/compiler-cli': angularVersion,\n '@angular/core': angularVersion,\n '@angular/forms': angularVersion,\n '@angular/platform-browser': angularVersion,\n '@angular/platform-browser-dynamic': angularVersion,\n '@angular/router': angularVersion,\n '@skyux/animations': skyuxVersion,\n '@skyux/assets': skyuxVersion,\n '@skyux/config': skyuxVersion,\n '@skyux/core': skyuxVersion,\n '@skyux/errors': skyuxVersion,\n '@skyux/forms': skyuxVersion,\n '@skyux/help-inline': skyuxVersion,\n '@skyux/i18n': skyuxVersion,\n '@skyux/indicators': skyuxVersion,\n '@skyux/layout': skyuxVersion,\n '@skyux/modals': skyuxVersion,\n '@skyux/packages': skyuxVersion,\n '@skyux/popovers': skyuxVersion,\n '@skyux/router': skyuxVersion,\n '@skyux/theme': skyuxVersion,\n '@types/jasmine': '~5.1.4',\n 'ng2-dragula': '5.1.0',\n rxjs: '^7',\n tslib: '^2.6.2',\n typescript: '~5.3.3',\n 'zone.js': '~0.14.4',\n };\n\n const mergedDependencies = Object.assign(\n {},\n defaultDependencies,\n codeExample.packageDependencies,\n );\n\n // Ensure any @skyux dependencies list the correct version of SKY UX.\n // e.g. `\"@skyux/core\": \"*\"` --> `\"@skyux/core\": \"5.0.0\"`\n for (const packageName in mergedDependencies) {\n /*istanbul ignore else*/\n if (mergedDependencies.hasOwnProperty(packageName)) {\n const version = mergedDependencies[packageName];\n if (\n version === '*' &&\n /^(@blackbaud\\/skyux-lib-|@skyux)/.test(packageName)\n ) {\n mergedDependencies[packageName] = skyuxVersion;\n }\n }\n }\n\n const files = this.parseStackBlitzFiles(\n codeExample.sourceCode,\n mergedDependencies,\n codeExample.theme,\n codeExample.stylesheets,\n );\n\n return {\n files,\n title: 'SKY UX Demo',\n description: 'SKY UX Demo',\n template,\n dependencies: mergedDependencies,\n settings: {\n compile: {\n clearConsole: false,\n },\n },\n };\n }\n\n private parseStackBlitzFiles(\n sourceCode: SkyDocsSourceCodeFile[],\n dependencies: SkyDocsCodeExampleModuleDependencies,\n theme: SkyDocsCodeExampleTheme,\n stylesheets: string[] = [],\n ): {\n [path: string]: string;\n } {\n const srcPath = 'src/';\n const appPath = `${srcPath}app/`;\n\n const banner = `/**\n * This file is needed for the StackBlitz demo only.\n * It is automatically provided when using the Angular CLI.\n **/\n `;\n\n const moduleImportStatements: string[] = [\n `import { NgModule } from '@angular/core';`,\n `import { FormsModule, ReactiveFormsModule } from '@angular/forms';`,\n `import { BrowserAnimationsModule } from '@angular/platform-browser/animations';`,\n `import { RouterModule } from '@angular/router';`,\n `import { provideInitialTheme } from '@skyux/theme';`,\n `import { AppComponent } from './app.component';`,\n ];\n\n const moduleImports: string[] = [\n 'BrowserAnimationsModule',\n 'FormsModule',\n 'ReactiveFormsModule',\n 'RouterModule.forRoot([])',\n ];\n\n const files: { [_: string]: string } = {};\n\n let appComponentTemplate = '';\n\n sourceCode.forEach((file) => {\n files[`${appPath}${file.fileName}`] = file.rawContents;\n\n // Setup module imports and component selectors.\n if (file.fileName.indexOf('.module.ts') > -1) {\n const moduleName = this.getModuleName(file.rawContents);\n const importPath = `./${this.getFilenameNoExtension(file.fileName)}`;\n\n const exportedComponent = this.getExportedComponent(file.rawContents);\n const componentSelector = this.getComponentSelector(\n exportedComponent,\n sourceCode,\n );\n\n appComponentTemplate += `<${componentSelector}></${componentSelector}>`;\n\n moduleImports.push(moduleName);\n moduleImportStatements.push(\n `import { ${moduleName} } from '${importPath}';`,\n );\n }\n\n // Standalone entry components are named demo.component.ts.\n if (file.fileName === 'demo.component.ts') {\n const componentName = 'DemoComponent';\n const componentSelector = 'app-demo';\n const importPath = `./${this.getFilenameNoExtension(file.fileName)}`;\n\n appComponentTemplate += `<${componentSelector} />`;\n\n moduleImports.push(componentName);\n moduleImportStatements.push(\n `import { ${componentName} } from '${importPath}';`,\n );\n }\n });\n\n files[`${appPath}app.component.ts`] = `${banner}\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'sky-demo-app',\n template: '${appComponentTemplate}'\n})\nexport class AppComponent {}\n`;\n\n files[`${appPath}app.module.ts`] = `${moduleImportStatements.join('\\n\\n')}\n\n@NgModule({\n imports: [\n ${moduleImports.join(',\\n ')}\n ],\n declarations: [AppComponent],\n bootstrap: [AppComponent],\n providers: [provideInitialTheme('${theme}')],\n})\nexport class AppModule {}\n`;\n\n files[`${srcPath}index.html`] = `<!doctype html>\n<html lang=\"en\">\n<head>\n <meta charset=\"utf-8\">\n <title>Sky UX Demo</title>\n <base href=\"/\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n <!--\n The CSS links are needed for the StackBlitz demo only.\n This is a workaround for a known bug that prevents external imports in CSS.\n https://github.com/stackblitz/core/issues/133\n -->\n <link rel=\"stylesheet\" type=\"text/css\" href=\"https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css\" crossorigin=\"anonymous\">\n <link rel=\"stylesheet\" type=\"text/css\" href=\"https://sky.blackbaudcdn.net/static/skyux-icons/${SKY_UX_ICONS_VERSION.full}/assets/css/skyux-icons.min.css\" crossorigin=\"anonymous\">\n</head>\n<body>\n <sky-demo-app>\n Loading...\n </sky-demo-app>\n</body>\n</html>\n`;\n\n files[`${srcPath}main.ts`] = `${banner}\nimport 'zone.js';\nimport '@skyux/packages/polyfills';\n\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\n\nplatformBrowserDynamic()\n .bootstrapModule(AppModule)\n .catch((err) => console.error(err));\n`;\n\n files[`${srcPath}styles.scss`] = `@import '@skyux/theme/css/sky';\n@import '@skyux/theme/css/themes/modern/styles';\n\nbody {\n background-color: #fff;\n margin: 15px;\n}\n`;\n\n stylesheets.push('src/styles.scss');\n\n files['angular.json'] = JSON.stringify(\n {\n $schema: './node_modules/@angular/cli/lib/config/schema.json',\n version: 1,\n projects: {\n demo: {\n projectType: 'application',\n root: '',\n sourceRoot: 'src',\n prefix: 'app',\n architect: {\n build: {\n builder: '@angular-devkit/build-angular:application',\n options: {\n index: 'src/index.html',\n browser: 'src/main.ts',\n outputPath: 'dist/demo',\n tsConfig: 'tsconfig.app.json',\n inlineStyleLanguage: 'scss',\n styles: stylesheets,\n },\n configurations: {\n development: {\n optimization: false,\n extractLicenses: false,\n sourceMap: true,\n },\n },\n defaultConfiguration: 'development',\n },\n serve: {\n builder: '@angular-devkit/build-angular:dev-server',\n configurations: {\n development: {\n browserTarget: 'demo:build:development',\n },\n },\n defaultConfiguration: 'development',\n },\n },\n },\n },\n },\n undefined,\n 2,\n );\n\n files['package.json'] = JSON.stringify(\n {\n name: 'skyux-spa-demo',\n version: '0.0.0',\n dependencies,\n scripts: {\n start: 'ng serve',\n build: 'ng build',\n },\n },\n undefined,\n 2,\n );\n\n files['tsconfig.app.json'] = JSON.stringify(\n {\n extends: './tsconfig.json',\n compilerOptions: {\n outDir: './out-tsc/app',\n types: [],\n },\n files: ['src/main.ts'],\n include: ['src/**/*.d.ts'],\n },\n undefined,\n 2,\n );\n\n files['tsconfig.json'] = JSON.stringify(\n {\n compileOnSave: false,\n compilerOptions: {\n strict: true,\n forceConsistentCasingInFileNames: true,\n noImplicitOverride: true,\n noPropertyAccessFromIndexSignature: true,\n noImplicitReturns: true,\n noFallthroughCasesInSwitch: true,\n sourceMap: true,\n declaration: false,\n downlevelIteration: true,\n esModuleInterop: true,\n experimentalDecorators: true,\n moduleResolution: 'node',\n importHelpers: true,\n typeRoots: ['node_modules/@types'],\n target: 'ES2015',\n module: 'ES2022',\n useDefineForClassFields: false,\n lib: ['ES2022', 'dom'],\n },\n angularCompilerOptions: {\n fullTemplateTypeCheck: true,\n enableI18nLegacyMessageIdFormat: false,\n strictInjectionParameters: true,\n strictInputAccessModifiers: true,\n strictTemplates: true,\n },\n },\n undefined,\n 2,\n );\n\n return files;\n }\n\n private getModuleName(contents: string): string {\n return contents.split('export class ')[1].split(' {')[0];\n }\n\n private getFilenameNoExtension(fileName: string): string {\n const extension = fileName.split('.').pop();\n return fileName.replace(`.${extension}`, '');\n }\n\n private getExportedComponent(contents: string): string {\n const trimmed = contents.replace(/\\s/g, '');\n\n let fragment = trimmed.split('exports:[')[1];\n if (!fragment) {\n throw 'You must export a component from the code example module!';\n }\n\n fragment = fragment.split(']')[0];\n\n const components = fragment.split(',').filter((x) => x);\n\n if (components.length > 1) {\n throw (\n 'You may only export a single component from the code example module' +\n `(we found ${components.length}: ${components.join(', ')}).` +\n 'Is it possible to create a new code example with the extra components?'\n );\n }\n\n return components[0];\n }\n\n private getComponentSelector(\n componentClassName: string,\n sourceCode: SkyDocsSourceCodeFile[],\n ): string {\n const found = sourceCode.find((file) => {\n return file.rawContents.indexOf(`class ${componentClassName}`) > -1;\n });\n\n const trimmed = found.rawContents.replace(/\\s/g, '');\n\n return trimmed.split(`selector:'`)[1].split(`'`)[0];\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'any',\n})\nexport class SkyDocsSourceCodeProvider {\n public readonly sourceCode: any[];\n}\n","import { Injectable } from '@angular/core';\n\nimport { SkyDocsSourceCodeFile } from './source-code-file';\n\nimport { SkyDocsSourceCodeProvider } from './source-code-provider';\n\n@Injectable({\n providedIn: 'any',\n})\nexport class SkyDocsSourceCodeService {\n constructor(private sourceCodeProvider: SkyDocsSourceCodeProvider) {}\n\n public getSourceCode(path: string): SkyDocsSourceCodeFile[] {\n const sourceCode = this.sourceCodeProvider.sourceCode;\n if (!sourceCode || !sourceCode.length) {\n return [];\n }\n\n return sourceCode\n .filter((file) => file.filePath.indexOf(path) === 0)\n .map((file) => {\n // TODO: Remove decoding after migrating to Angular CLI. Code examples will not be encoded for SKY UX 5 libraries.\n // SKY UX 4 libraries will return rawContents encoded, while later libraries will\n // return rawContents decoded. Check if the contents need decoded before returning them.\n let decodedContents: string;\n try {\n decodedContents = decodeURIComponent(file.rawContents);\n if (decodedContents !== file.rawContents) {\n file.rawContents = decodedContents;\n }\n } catch (error) {\n // Pre-decoded contents may contain characters like '%' that would throw errors.\n // In these cases, pass along the original rawContents.\n }\n return file;\n });\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Input,\n QueryList,\n} from '@angular/core';\n\nimport { SkyDocsSourceCodeService } from '../source-code/source-code.service';\n\nimport { SkyDocsCodeExamplesEditorService } from './code-examples-editor.service';\n\nimport { SkyDocsCodeExampleComponent } from './code-example.component';\n\nimport { SkyDocsCodeExampleModuleDependencies } from './code-example-module-dependencies';\n\nimport { SkyDocsCodeExample } from './code-example';\n\n/**\n * Wraps all code examples and handles their configuration and styles.\n * @example\n * ```\n * <sky-docs-code-examples\n * [packageDependencies]=\"{\n * \"foobar\": \"*\",\n * \"baz\": \"1.2.3\"\n * }\"\n * >\n * <sky-docs-code-example>\n * </sky-docs-code-example>\n * </sky-docs-code-examples>\n * ```\n */\n@Component({\n selector: 'sky-docs-code-examples',\n templateUrl: './code-examples.component.html',\n styleUrls: ['./code-examples.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsCodeExamplesComponent implements AfterContentInit {\n /**\n * Any extra NPM package dependencies that are needed for the editor to run the code example.\n * @default {}\n */\n @Input()\n public set packageDependencies(value: SkyDocsCodeExampleModuleDependencies) {\n this._packageDependencies = value;\n }\n\n public get packageDependencies(): SkyDocsCodeExampleModuleDependencies {\n return this._packageDependencies || {};\n }\n\n @Input()\n public stylesheets: string[] = [];\n\n public codeExamples: SkyDocsCodeExample[] = [];\n\n @ContentChildren(SkyDocsCodeExampleComponent)\n private codeExampleComponents: QueryList<SkyDocsCodeExampleComponent>;\n\n private _packageDependencies: SkyDocsCodeExampleModuleDependencies;\n\n constructor(\n private editorService: SkyDocsCodeExamplesEditorService,\n private sourceCodeService: SkyDocsSourceCodeService,\n ) {}\n\n public ngAfterContentInit(): void {\n this.codeExampleComponents.forEach((component) => {\n // Make sure the source code path ends in a slash, so that similarly named directories aren't included.\n let sourceCodePath = component.sourceCodePath;\n if (sourceCodePath.slice(-1) !== '/') {\n sourceCodePath += '/';\n }\n\n const sourceCode = this.sourceCodeService.getSourceCode(sourceCodePath);\n\n if (!sourceCode.length) {\n console.warn(\n `Source code not found at location \"${sourceCodePath}\" for \"${component.heading}\"!`,\n );\n return;\n }\n\n this.codeExamples.push({\n heading: component.heading,\n packageDependencies: this.packageDependencies,\n sourceCode,\n stylesheets: this.stylesheets,\n theme: component.theme,\n });\n });\n }\n\n public launchEditor(codeExample: SkyDocsCodeExample): void {\n this.editorService.launchEditor(codeExample);\n }\n\n /**\n * Returns a string representing one of PrismJS's supported language types.\n * See: https://prismjs.com/#supported-languages\n */\n public parseCodeLanguageType(fileName: string): string {\n const extension = fileName.split('.').pop().toLowerCase();\n\n switch (extension) {\n case 'ts':\n return 'typescript';\n case 'html':\n return 'markup';\n default:\n return extension;\n }\n }\n}\n","<div *ngIf=\"codeExamples && codeExamples.length\" class=\"sky-docs-code-examples\">\n <sky-repeater\n *ngIf=\"codeExamples.length > 1; else singleCodeExample\"\n expandMode=\"multiple\"\n >\n <sky-repeater-item\n *ngFor=\"let codeExample of codeExamples\"\n [isExpanded]=\"false\"\n >\n <sky-repeater-item-title>\n <ng-container\n *ngTemplateOutlet=\"\n codeExampleHeaderTemplate;\n context: { $implicit: codeExample }\n \"\n >\n </ng-container>\n </sky-repeater-item-title>\n <sky-repeater-item-content>\n <ng-container\n *ngTemplateOutlet=\"\n codeExampleTemplate;\n context: { $implicit: codeExample }\n \"\n >\n </ng-container>\n </sky-repeater-item-content>\n </sky-repeater-item>\n </sky-repeater>\n</div>\n\n<ng-template>\n <ng-content select=\"sky-docs-code-example\"> </ng-content>\n</ng-template>\n\n<ng-template let-item #codeExampleTemplate>\n <div class=\"sky-docs-code-example-wrapper\">\n <sky-vertical-tabset *ngIf=\"item.sourceCode && item.sourceCode.length\">\n <sky-vertical-tab\n *ngFor=\"let file of item.sourceCode; let i = index\"\n [active]=\"i === 0\"\n [tabHeading]=\"file.fileName\"\n >\n <sky-code-block\n [code]=\"file.rawContents\"\n [languageType]=\"parseCodeLanguageType(file.fileName)\"\n >\n </sky-code-block>\n </sky-vertical-tab>\n </sky-vertical-tabset>\n </div>\n</ng-template>\n\n<ng-template #singleCodeExample>\n <ng-container\n *ngTemplateOutlet=\"\n codeExampleHeaderTemplate;\n context: { $implicit: codeExamples[0] }\n \"\n >\n </ng-container>\n <ng-container\n *ngTemplateOutlet=\"\n codeExampleTemplate;\n context: { $implicit: codeExamples[0] }\n \"\n >\n </ng-container>\n</ng-template>\n\n<ng-template let-codeExample #codeExampleHeaderTemplate>\n <div class=\"sky-docs-code-example-header\">\n <div class=\"sky-docs-code-example-header-title sky-emphasized\">\n {{ codeExample.heading }}\n </div>\n <div class=\"sky-docs-code-example-header-controls\">\n <button\n class=\"sky-btn sky-btn-default\"\n type=\"button\"\n (click)=\"launchEditor(codeExample); $event.stopPropagation()\"\n >\n <sky-icon icon=\"pencil\"></sky-icon>\n {{ 'sky-docs-code-example-launch-button-label' | skyLibResources }}\n </button>\n </div>\n </div>\n</ng-template>\n","import { CommonModule } from '@angular/common';\n\nimport { NgModule } from '@angular/core';\n\nimport { SkyCodeBlockModule } from '@blackbaud/skyux-lib-code-block';\n\nimport { SkyIconModule } from '@skyux/indicators';\n\nimport { SkyRepeaterModule } from '@skyux/lists';\n\nimport { SkyVerticalTabsetModule } from '@skyux/tabs';\n\nimport { SkyDocsToolsResourcesModule } from '../shared/sky-docs-tools-resources.module';\n\nimport { SkyDocsCodeExampleComponent } from './code-example.component';\n\nimport { SkyDocsCodeExamplesComponent } from './code-examples.component';\n\n@NgModule({\n imports: [\n CommonModule,\n SkyCodeBlockModule,\n SkyDocsToolsResourcesModule,\n SkyIconModule,\n SkyRepeaterModule,\n SkyVerticalTabsetModule,\n ],\n declarations: [SkyDocsCodeExampleComponent, SkyDocsCodeExamplesComponent],\n exports: [SkyDocsCodeExampleComponent, SkyDocsCodeExamplesComponent],\n})\nexport class SkyDocsCodeExamplesModule {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnDestroy,\n OnInit,\n TemplateRef,\n} from '@angular/core';\n\nimport { ReplaySubject } from 'rxjs';\n\nimport { SkyDocsDemoControlPanelChange } from './demo-control-panel-change';\n\n/**\n * Renders a checkbox control within the control panel.\n * @example\n * ```markup\n * <sky-docs-demo-control-panel-checkbox\n * label=\"Show title\"\n * [checked]=\"true\"\n * [propertyName]=\"showTitle\"\n * >\n * </sky-docs-demo-control-panel-checkbox>\n * ```\n */\n@Component({\n selector: 'sky-docs-demo-control-panel-checkbox',\n templateUrl: './demo-control-panel-checkbox.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsDemoControlPanelCheckboxComponent\n implements OnInit, OnDestroy\n{\n /**\n * The checked status of the checkbox.\n * @default false\n */\n @Input()\n public set checked(value: boolean) {\n if (value !== undefined && this._checked === undefined) {\n this.initialState.checked = value;\n }\n\n this._checked = value;\n }\n\n public get checked(): boolean {\n return this._checked || false;\n }\n\n /**\n * Indicates whether to disable the checkbox.\n */\n @Input()\n public disabled: boolean = false;\n\n /**\n * The content of the help popover. When specified, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline)\n * button is added to the control panel checkbox label. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover)\n * when clicked using the specified content and optional title.\n * @preview\n */\n @Input()\n public helpPopoverContent: string | TemplateRef<unknown> | undefined;\n\n /**\n * The title of the help popover. This property only applies when `helpPopoverContent` is\n * also specified.\n * @preview\n */\n @Input()\n public helpPopoverTitle: string | undefined;\n\n /**\n * The text label of the checkbox.\n * @required\n */\n @Input()\n public label: string;\n\n /**\n * The name of the component property that is affected by this control.\n * @required\n */\n @Input()\n public propertyName: string;\n\n public selectionChange = new ReplaySubject<SkyDocsDemoControlPanelChange>();\n\n private initialState: {\n checked?: boolean;\n } = {};\n\n private _checked: boolean;\n\n constructor(private changeDetector: ChangeDetectorRef) {}\n\n public ngOnInit(): void {\n setTimeout(() => {\n this.initialState.checked = this.checked;\n this.notifyChange();\n });\n }\n\n public ngOnDestroy(): void {\n this.selectionChange.complete();\n }\n\n public onModelChange(): void {\n this.notifyChange();\n }\n\n public resetState(): void {\n if (this.initialState.checked !== this.checked) {\n this.checked = !!this.initialState.checked;\n this.notifyChange();\n this.changeDetector.markForCheck();\n }\n }\n\n private notifyChange(): void {\n this.selectionChange.next({\n [this.propertyName]: this.checked,\n });\n }\n}\n","<sky-checkbox\n [disabled]=\"disabled\"\n [labelText]=\"label\"\n [helpPopoverContent]=\"helpPopoverContent\"\n [helpPopoverTitle]=\"helpPopoverTitle\"\n [name]=\"propertyName\"\n [(ngModel)]=\"checked\"\n (change)=\"onModelChange()\"\n/>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnInit,\n OnDestroy,\n} from '@angular/core';\n\nimport { ReplaySubject } from 'rxjs';\n\nimport { SkyDocsDemoControlPanelChange } from './demo-control-panel-change';\n\nimport { SkyDocsDemoControlPanelRadioChoice } from './demo-control-panel-radio-choice';\n\n/**\n * Renders a radio control group.\n * @example\n * ```markup\n * <sky-docs-demo-control-panel-radio-group\n * [choices]=\"[\n * { 'label': 'Red', value: '#f00' },\n * { 'label': 'Green', value: '#0f0' },\n * { 'label': 'Blue', value: '#00f' }\n * ]\"\n * heading=\"Choose a color\"\n * initialValue=\"Red\"\n * propertyName=\"color\"\n * >\n * </sky-docs-demo-control-panel-radio-group>\n * ```\n */\n@Component({\n selector: 'sky-docs-demo-control-panel-radio-group',\n templateUrl: './demo-control-panel-radio-group.component.html',\n styleUrls: ['./demo-control-panel-radio-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsDemoControlPanelRadioGroupComponent\n implements OnInit, OnDestroy\n{\n /**\n * The possible choices to be represented by radio controls.\n * @required\n */\n @Input()\n public choices: SkyDocsDemoControlPanelRadioChoice[];\n\n /**\n * Indicates whether to disable the radio group.\n */\n @Input()\n public disabled: boolean = false;\n\n /**\n * The heading text to appear above the radio group.\n */\n @Input()\n public heading: string;\n\n /**\n * The initial value of the radio group.\n */\n @Input()\n public initialValue: any;\n\n /**\n * The name of the component property that is affected by this radio group.\n * @required\n */\n @Input()\n public propertyName: string;\n\n /**\n * @internal\n */\n public selectionChange = new ReplaySubject<SkyDocsDemoControlPanelChange>();\n\n /**\n * @internal\n */\n public value: any;\n\n constructor(private changeDetector: ChangeDetectorRef) {}\n\n public ngOnInit(): void {\n this.value = this.cloneValue(this.initialValue);\n this.#notifyChange();\n }\n\n public ngOnDestroy(): void {\n this.selectionChange.complete();\n }\n\n public onModelChange(value: any): void {\n this.value = value;\n this.#notifyChange();\n }\n\n public resetValue(): void {\n this.value = this.cloneValue(this.initialValue);\n this.#notifyChange();\n this.changeDetector.markForCheck();\n }\n\n private cloneValue(value: any): any {\n if (typeof value === 'object') {\n return JSON.parse(JSON.stringify(value));\n }\n\n return value;\n }\n\n #notifyChange(): void {\n this.selectionChange.next({\n [this.propertyName]: this.value,\n });\n }\n}\n","<div class=\"sky-demo-control-panel-radio-group\">\n <strong *ngIf=\"heading\">{{ heading }}</strong>\n <sky-radio-group\n [disabled]=\"disabled\"\n [name]=\"propertyName\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n >\n <ul class=\"sky-list-unstyled\">\n <li *ngFor=\"let choice of choices\">\n <sky-radio [value]=\"choice.value\">\n <sky-radio-label>{{ choice.label }}</sky-radio-label>\n </sky-radio>\n </li>\n </ul>\n </sky-radio-group>\n</div>\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n OnDestroy,\n Output,\n QueryList,\n} from '@angular/core';\n\nimport { merge, Subject, Subscription } from 'rxjs';\n\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyDocsDemoControlPanelCheckboxComponent } from './demo-control-panel-checkbox.component';\n\nimport { SkyDocsDemoControlPanelRadioGroupComponent } from './demo-control-panel-radio-group.component';\n\nimport { SkyDocsDemoControlPanelChange } from './demo-control-panel-change';\n\n/**\n * Handles the appearance and configuration of the behavior demo control panel.\n * @example\n * ```markup\n * <sky-docs-demo-control-panel\n * (selectionChange)=\"onSelectionChange($event)\"\n * >\n * Control panel content here.\n * </sky-docs-demo-control-panel>\n * ```\n */\n@Component({\n selector: 'sky-docs-demo-control-panel',\n templateUrl: './demo-control-panel.component.html',\n styleUrls: ['./demo-control-panel.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsDemoControlPanelComponent\n implements OnDestroy, AfterContentInit\n{\n /**\n * Fires when the user clicks the reset button.\n */\n @Output()\n /*eslint-disable-next-line @angular-eslint/no-output-native */\n public reset = new EventEmitter<void>();\n\n /**\n * Fires when a user makes a selection from one of the controls in the panel.\n */\n @Output()\n public selectionChange = new EventEmitter<SkyDocsDemoControlPanelChange>();\n\n @ContentChildren(SkyDocsDemoControlPanelRadioGroupComponent, {\n descendants: true,\n })\n private radioGroups: QueryList<SkyDocsDemoControlPanelRadioGroupComponent>;\n\n @ContentChildren(SkyDocsDemoControlPanelCheckboxComponent, {\n descendants: true,\n })\n private checkboxes: QueryList<SkyDocsDemoControlPanelCheckboxComponent>;\n\n private eventListeners: Subscription;\n private ngUnsubscribe = new Subject<void>();\n\n public ngAfterContentInit(): void {\n this.addEventListeners();\n\n merge(this.checkboxes.changes, this.radioGroups.changes)\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => {\n this.addEventListeners();\n });\n }\n\n public ngOnDestroy(): void {\n this.reset.complete();\n this.selectionChange.complete();\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public onResetButtonClick(): void {\n this.radioGroups.forEach((radioGroup) => {\n radioGroup.resetValue();\n });\n\n this.checkboxes.forEach((checkbox) => {\n checkbox.resetState();\n });\n\n this.reset.emit();\n }\n\n private addEventListeners(): void {\n if (this.eventListeners) {\n this.eventListeners.unsubscribe();\n }\n\n this.eventListeners = merge(\n ...this.checkboxes.map((c) => c.selectionChange),\n ...this.radioGroups.map((c) => c.selectionChange),\n )\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((change) => {\n this.selectionChange.next(change);\n });\n }\n}\n","<div class=\"sky-docs-demo-control-panel\">\n <div class=\"sky-docs-demo-control-panel-row sky-rounded-corners\">\n <div\n class=\"sky-docs-demo-control-panel-column sky-docs-demo-control-panel-sections-column\"\n >\n <ng-content select=\"sky-docs-demo-control-panel-section\"></ng-content>\n </div>\n\n <div\n class=\"sky-docs-demo-control-panel-column sky-docs-demo-control-panel-button-column\"\n >\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n [attr.data-test-selector]=\"'sky-docs-demo-control-panel-reset-button'\"\n (click)=\"onResetButtonClick()\"\n >\n {{ 'sky-docs-demo-control-panel-reset-button-label' | skyLibResources }}\n </button>\n </div>\n </div>\n</div>\n","import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\n\n/**\n * Renders a custom control panel in the \"Show options\" dropdown above the demo.\n */\n@Component({\n selector: 'sky-docs-demo-custom-control-panel',\n templateUrl: './demo-custom-control-panel.component.html',\n styleUrl: './demo-custom-control-panel.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsDemoCustomControlPanelComponent {\n @HostBinding('class')\n protected readonly classes = 'sky-rounded-corners';\n}\n","<ng-content />\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n Input,\n QueryList,\n} from '@angular/core';\n\nimport { SkyDocsDemoContentAlignment } from './demo-content-alignment';\n\nimport { SkyDocsDemoControlPanelComponent } from './demo-control-panel.component';\nimport { SkyDocsDemoCustomControlPanelComponent } from './demo-custom-control-panel.component';\n\n/**\n * Wraps all behavior demo components and handles the configuration and appearance of the behavior demo.\n * @example\n * ```markup\n * <sky-docs-demo>\n * Demo content here.\n * </sky-docs-demo>\n * ```\n */\n@Component({\n selector: 'sky-docs-demo',\n templateUrl: './demo.component.html',\n styleUrls: ['./demo.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsDemoComponent {\n /**\n * Specifies the horizontal alignment of the demo contents.\n * @default 'left'\n */\n @Input()\n public set alignContents(value: SkyDocsDemoContentAlignment) {\n this._alignContents = value;\n }\n\n public get alignContents(): SkyDocsDemoContentAlignment {\n return this._alignContents || 'left';\n }\n\n /**\n * Custom heading text for the demo.\n */\n @Input()\n public heading: string;\n\n public get hasOptions(): boolean {\n return (\n (this.controlPanels && this.controlPanels.length > 0) ||\n (this.customControlPanels && this.customControlPanels.length > 0)\n );\n }\n\n @ContentChildren(SkyDocsDemoControlPanelComponent, { read: ElementRef })\n private controlPanels: QueryList<SkyDocsDemoControlPanelComponent>;\n\n @ContentChildren(SkyDocsDemoCustomControlPanelComponent, { read: ElementRef })\n private customControlPanels: QueryList<SkyDocsDemoCustomControlPanelComponent>;\n\n public get toggleOptionsButtonIcon(): string {\n return this.areOptionsVisible ? 'chevron-up' : 'chevron-down';\n }\n\n public areOptionsVisible = false;\n\n private _alignContents: SkyDocsDemoContentAlignment;\n\n public onToggleOptionsButtonClick(): void {\n this.areOptionsVisible = !this.areOptionsVisible;\n }\n}\n","<div class=\"sky-docs-demo\">\n <div aria-level=\"3\" class=\"sky-docs-demo-heading\" role=\"heading\">\n <span\n class=\"sky-section-heading\"\n [attr.data-test-selector]=\"'sky-docs-demo-heading-text'\"\n >\n {{ heading || ('sky-docs-demo-heading' | skyLibResources) }}\n </span>\n\n <div class=\"sky-docs-demo-control-panel-wrapper\">\n <div class=\"sky-docs-demo-control-panel-wrapper-header\">\n <button\n *ngIf=\"hasOptions\"\n class=\"sky-btn\"\n type=\"button\"\n [attr.data-test-selector]=\"'sky-docs-demo-heading-button'\"\n [ngClass]=\"{\n 'sky-docs-demo-heading-btn-open': areOptionsVisible\n }\"\n (click)=\"onToggleOptionsButtonClick()\"\n >\n <sky-icon [icon]=\"toggleOptionsButtonIcon\"></sky-icon>\n <ng-container *ngIf=\"areOptionsVisible\">\n {{ 'sky-docs-demo-toggle-button-off' | skyLibResources }}\n </ng-container>\n <ng-container *ngIf=\"!areOptionsVisible\">\n {{ 'sky-docs-demo-toggle-button-on' | skyLibResources }}\n </ng-container>\n </button>\n </div>\n <div class=\"sky-docs-demo-control-panel-wrapper-body\">\n <ng-container *ngIf=\"areOptionsVisible\">\n <ng-container *ngTemplateOutlet=\"controlPanels\"></ng-container>\n <ng-container *ngTemplateOutlet=\"customControlPanels\"></ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n\n <div\n class=\"sky-docs-demo-viewport\"\n [ngClass]=\"'sky-docs-demo-viewport-align-' + alignContents\"\n >\n <div class=\"sky-docs-demo-viewport-gutter\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n\n<ng-template #controlPanels>\n <ng-content select=\"sky-docs-demo-control-panel\" />\n</ng-template>\n\n<ng-template #customControlPanels>\n <ng-content select=\"sky-docs-demo-custom-control-panel\" />\n</ng-template>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * Renders a section within the control panel.\n * @example\n * ```markup\n * <sky-docs-demo-control-panel>\n * <sky-docs-demo-control-panel-section>\n * Section content here.\n * </sky-docs-demo-control-panel-section>\n * </sky-docs-demo-control-panel>\n * ```\n */\n\n@Component({\n selector: 'sky-docs-demo-control-panel-section',\n templateUrl: './demo-control-panel-section.component.html',\n styleUrls: ['./demo-control-panel-section.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsDemoControlPanelSectionComponent {}\n","<div class=\"sky-demo-control-panel-section\">\n <ng-content select=\"sky-docs-demo-control-panel-radio-group\"></ng-content>\n <ng-content select=\"sky-docs-demo-control-panel-checkbox\"></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\n\nimport { NgModule } from '@angular/core';\n\nimport { FormsModule } from '@angular/forms';\n\nimport { SkyCheckboxModule, SkyRadioModule } from '@skyux/forms';\n\nimport { SkyIconModule } from '@skyux/indicators';\n\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyDocsToolsResourcesModule } from '../shared/sky-docs-tools-resources.module';\n\nimport { SkyDocsDemoComponent } from './demo.component';\n\nimport { SkyDocsDemoControlPanelCheckboxComponent } from './demo-control-panel-checkbox.component';\n\nimport { SkyDocsDemoControlPanelComponent } from './demo-control-panel.component';\n\nimport { SkyDocsDemoControlPanelRadioGroupComponent } from './demo-control-panel-radio-group.component';\n\nimport { SkyDocsDemoControlPanelSectionComponent } from './demo-control-panel-section.component';\nimport { SkyDocsDemoCustomControlPanelComponent } from './demo-custom-control-panel.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n SkyCheckboxModule,\n SkyDocsToolsResourcesModule,\n SkyIconModule,\n SkyRadioModule,\n SkyThemeModule,\n ],\n declarations: [\n SkyDocsDemoComponent,\n SkyDocsDemoControlPanelCheckboxComponent,\n SkyDocsDemoControlPanelComponent,\n SkyDocsDemoControlPanelRadioGroupComponent,\n SkyDocsDemoControlPanelSectionComponent,\n SkyDocsDemoCustomControlPanelComponent\n ],\n exports: [\n SkyDocsDemoComponent,\n SkyDocsDemoControlPanelCheckboxComponent,\n SkyDocsDemoControlPanelComponent,\n SkyDocsDemoControlPanelRadioGroupComponent,\n SkyDocsDemoControlPanelSectionComponent,\n SkyDocsDemoCustomControlPanelComponent\n ],\n})\nexport class SkyDocsDemoModule {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'sky-docs-heading-anchor',\n templateUrl: './heading-anchor.component.html',\n styleUrls: ['./heading-anchor.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsHeadingAnchorComponent {\n @Input()\n public anchorId: string;\n\n @Input()\n public headingLevel = '2';\n}\n","<div\n class=\"sky-docs-heading-anchor\"\n role=\"heading\"\n [ngClass]=\"'sky-docs-tools-heading-anchor-h' + headingLevel\"\n [attr.aria-level]=\"headingLevel\"\n [attr.id]=\"anchorId || null\"\n>\n <ng-content></ng-content>\n <a\n *ngIf=\"anchorId\"\n aria-hidden=\"true\"\n class=\"sky-docs-heading-anchor\"\n queryParamsHandling=\"merge\"\n [fragment]=\"anchorId\"\n [routerLink]=\"[]\"\n >\n <sky-icon class=\"sky-docs-heading-anchor-icon\" icon=\"link\"></sky-icon>\n </a>\n</div>\n","import { CommonModule } from '@angular/common';\n\nimport { NgModule } from '@angular/core';\n\nimport { RouterModule } from '@angular/router';\n\nimport { SkyIconModule } from '@skyux/indicators';\n\nimport { SkyDocsHeadingAnchorComponent } from './heading-anchor.component';\n\n@NgModule({\n declarations: [SkyDocsHeadingAnchorComponent],\n imports: [CommonModule, RouterModule, SkyIconModule],\n exports: [SkyDocsHeadingAnchorComponent],\n})\nexport class SkyDocsHeadingAnchorModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { marked } from 'marked';\n\n@Pipe({\n name: 'skyDocsMarkdown',\n})\nexport class SkyDocsMarkdownPipe implements PipeTransform {\n public transform(markdown: string): string {\n if (!markdown) {\n return '';\n }\n\n return marked(markdown);\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { SkyDocsMarkdownPipe } from './markdown.pipe';\n\n@NgModule({\n declarations: [SkyDocsMarkdownPipe],\n providers: [SkyDocsMarkdownPipe],\n exports: [SkyDocsMarkdownPipe],\n})\nexport class SkyDocsMarkdownModule {}\n","export class SkyDocsToolsOptions {\n public gitRepoUrl: string;\n\n public packageName: string;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n Optional,\n} from '@angular/core';\n\nimport { SkyDocsToolsOptions } from '../shared/docs-tools-options';\n\ntype ExternalLink = { label: string; url: string };\n\n@Component({\n selector: 'sky-docs-module-info',\n templateUrl: './module-info.component.html',\n styleUrls: ['./module-info.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsModuleInfoComponent {\n @Input()\n public set gitRepoUrl(value: string | undefined) {\n this.gitRepoUrlOrDefault = value || this.#options?.gitRepoUrl;\n this.#updateExternalLinks();\n }\n\n @Input()\n public moduleName: string | undefined;\n\n @Input()\n public set packageName(value: string | undefined) {\n this.packageNameOrDefault = value || this.#options?.packageName;\n this.#updateInstallationCommand();\n this.#updateExternalLinks();\n }\n\n @Input()\n public set packageUrl(value: string | undefined) {\n this.#packageUrl = value;\n this.#updateExternalLinks();\n }\n\n public gitRepoUrlOrDefault: string | undefined;\n\n public packageNameOrDefault: string | undefined;\n\n public externalLinks: ExternalLink[] | undefined;\n\n public installationCommand: string | undefined;\n\n #options: SkyDocsToolsOptions | undefined;\n\n #packageUrl: string | undefined;\n\n constructor(@Optional() options?: SkyDocsToolsOptions) {\n if (options) {\n this.#options = options;\n this.gitRepoUrl = options.gitRepoUrl;\n this.packageName = options.packageName;\n }\n }\n\n #updateExternalLinks(): void {\n const externalLinks: ExternalLink[] = [];\n\n if (this.packageNameOrDefault) {\n externalLinks.push({\n url:\n this.#packageUrl ||\n `https://npmjs.org/package/${this.packageNameOrDefault}`,\n label: 'View in NPM',\n });\n }\n\n if (this.gitRepoUrlOrDefault) {\n externalLinks.push({\n url: this.gitRepoUrlOrDefault,\n label: 'View in GitHub',\n });\n }\n\n this.externalLinks = externalLinks;\n }\n\n #updateInstallationCommand(): void {\n this.installationCommand = this.packageNameOrDefault\n ? `npm install --save-exact ${this.packageNameOrDefault}`\n : '';\n }\n}\n","<div class=\"sky-docs-module-info\">\n <sky-description-list class=\"sky-margin-stacked-lg\" mode=\"vertical\">\n <sky-description-list-content *ngIf=\"moduleName\">\n <sky-description-list-term> Defined in </sky-description-list-term>\n <sky-description-list-description>\n <sky-code class=\"sky-docs-module-info-module-name\">{{\n moduleName\n }}</sky-code>\n </sky-description-list-description>\n </sky-description-list-content>\n\n <sky-description-list-content *ngIf=\"packageNameOrDefault\">\n <sky-description-list-term>NPM package</sky-description-list-term>\n <sky-description-list-description>\n <span class=\"sky-docs-module-info-package-name\"\n ><sky-code>{{ packageNameOrDefault }}</sky-code></span\n >\n <ng-container *ngFor=\"let externalLink of externalLinks; let i = index\">\n <a\n class=\"sky-docs-module-info-external-link\"\n [href]=\"externalLink.url\"\n >{{ externalLink.label }}</a\n >\n <span *ngIf=\"i < externalLinks.length - 1\"> | </span>\n </ng-container>\n </sky-description-list-description>\n </sky-description-list-content>\n\n <sky-description-list-content *ngIf=\"installationCommand\">\n <sky-description-list-term>\n Installation\n <sky-help-inline\n *ngIf=\"moduleName\"\n class=\"sky-control-help\"\n [skyPopover]=\"installationCommandPopover\"\n skyPopoverPlacement=\"right\"\n >\n </sky-help-inline>\n </sky-description-list-term>\n <sky-description-list-description>\n <sky-popover #installationCommandPopover>\n To use this module, you must install peer dependencies along with its\n package. Also, after you install the package, you must add the module\n as an export in your SPA's main module to make exports available to\n your SPA.\n </sky-popover>\n <div class=\"sky-docs-module-info-installation-command\">\n <span\n class=\"sky-docs-module-info-installation-command-code\"\n #copyTarget\n >\n <sky-code>{{ installationCommand }}</sky-code>\n </span>\n <sky-copy-to-clipboard\n buttonText=\"Copy\"\n [copyTarget]=\"copyTarget\"\n ></sky-copy-to-clipboard>\n </div>\n </sky-description-list-description>\n </sky-description-list-content>\n </sky-description-list>\n\n <div class=\"sky-docs-module-info-additional-content\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\n\nimport { NgModule } from '@angular/core';\n\nimport { SkyClipboardModule } from '@blackbaud/skyux-lib-clipboard';\n\nimport { SkyCodeModule } from '@blackbaud/skyux-lib-code-block';\n\nimport { SkyHelpInlineModule } from '@skyux/indicators';\n\nimport { SkyDescriptionListModule } from '@skyux/layout';\n\nimport { SkyPopoverModule } from '@skyux/popovers';\n\nimport { SkyDocsModuleInfoComponent } from './module-info.component';\n\n@NgModule({\n imports: [\n CommonModule,\n SkyCodeModule,\n SkyClipboardModule,\n SkyDescriptionListModule,\n SkyHelpInlineModule,\n SkyPopoverModule,\n ],\n declarations: [SkyDocsModuleInfoComponent],\n exports: [SkyDocsModuleInfoComponent],\n})\nexport class SkyDocsModuleInfoModule {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Component({\n selector: 'sky-docs-safe-html',\n templateUrl: './safe-html.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsSafeHtmlComponent {\n @Input()\n public innerHtml: string;\n\n constructor(private domSanitizer: DomSanitizer) {}\n\n public getTrustedHtml(content: string): SafeHtml {\n return this.domSanitizer.bypassSecurityTrustHtml(content);\n }\n}\n","<div class=\"sky-docs-safe-html\" [innerHtml]=\"getTrustedHtml(innerHtml)\"></div>\n","import { CommonModule } from '@angular/common';\n\nimport { NgModule } from '@angular/core';\n\nimport { SkyDocsSafeHtmlComponent } from './safe-html.component';\n\n@NgModule({\n declarations: [SkyDocsSafeHtmlComponent],\n imports: [CommonModule],\n exports: [SkyDocsSafeHtmlComponent],\n})\nexport class SkyDocsSafeHtmlModule {}\n","import { Injectable } from '@angular/core';\n\nimport { SkyDocsCallSignatureDefinition } from './call-signature-definition';\n\nimport { SkyDocsClassPropertyDefinition } from './property-definition';\n\nimport { SkyDocsInterfaceDefinition } from './interface-definition';\n\nimport { SkyDocsClassMethodDefinition } from './method-definition';\n\nimport { SkyDocsParameterDefinition } from './parameter-definition';\n\nimport { SkyDocsTypeAliasDefinition } from './type-alias-definition';\n\nimport { SkyDocsTypeDefinition } from './type-definition';\n\nimport { SkyDocsTypeParameterDefinition } from './type-parameter-definition';\n\nimport { SkyDocsInterfacePropertyDefinition } from './interface-property-definition';\n\ninterface GetFormattedTypeConfig {\n escapeSpecialCharacters: boolean;\n}\n\n/**\n * Formats type definitions into HTML-compatible strings.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class SkyDocsTypeDefinitionsFormatService {\n /**\n * Returns an HTML-formatted representation of the provided interface config.\n */\n public getInterfaceSourceCode(\n definition: SkyDocsInterfaceDefinition,\n ): string {\n const typeParameters = this.getFormattedTypeParameters(\n definition.typeParameters,\n );\n const config = {\n escapeSpecialCharacters: false,\n };\n\n let signature: string = `interface ${definition.name}${typeParameters} {`;\n signature += this.getFormattedInterfaceProperties(definition, config);\n signature += '\\n}';\n\n return signature;\n }\n\n /**\n * Returns an HTML-formatted representation of the provided method config.\n */\n public getMethodSourceCode(definition: SkyDocsClassMethodDefinition): string {\n const config = {\n escapeSpecialCharacters: false,\n };\n\n const typeArguments = this.getFormattedTypeArguments(\n definition.type,\n config,\n );\n const callSignature = definition.type.callSignature;\n const returnType = this.getFormattedType(callSignature.returnType, config);\n\n let params: string = '';\n if (callSignature.parameters) {\n params += callSignature.parameters\n .map((p) => this.getFormattedParameterName(p, config))\n .join(', ');\n }\n\n return `public ${definition.isStatic ? 'static ' : ''}${\n definition.name\n }${typeArguments}(${params}): ${returnType}`;\n }\n\n /**\n * Returns an HTML-formatted representation of the provided type alias config.\n */\n public getTypeAliasSourceCode(\n definition: SkyDocsTypeAliasDefinition,\n ): string {\n const config = {\n escapeSpecialCharacters: false,\n };\n\n const typeParameters = this.getFormattedTypeParameters(\n definition.typeParameters,\n );\n\n let signature = `type ${definition.name}${typeParameters} = `;\n\n if (definition.type.callSignature) {\n signature += this.getFormattedCallSignature(\n definition.type.callSignature,\n {\n escapeSpecialCharacters: false,\n },\n );\n } else if (definition.type.indexSignature) {\n const indexSignature = definition.type.indexSignature;\n const type = this.getFormattedType(indexSignature.type, {\n escapeSpecialCharacters: false,\n });\n signature += `{\\n [${indexSignature.key.name}: string]: ${type};\\n}`;\n } else {\n /*istanbul ignore else */\n if (definition.type.type === 'union') {\n signature += this.getFormattedUnion(definition.type, config);\n }\n }\n\n return signature;\n }\n\n /**\n * Returns a formatted string representing a parameter's name and value. For example: `'foo: string'`.\n */\n public getFormattedParameterName(\n parameter: SkyDocsParameterDefinition,\n config: GetFormattedTypeConfig = {\n escapeSpecialCharacters: true,\n },\n ): string {\n const optionalMarker = parameter.isOptional ? '?' : '';\n const parameterType = this.getFormattedType(parameter.type, config);\n\n let signature = `${parameter.name}${optionalMarker}: ${parameterType}`;\n if (config.escapeSpecialCharacters) {\n signature = this.escapeSpecialCharacters(signature);\n }\n\n return signature;\n }\n\n /**\n * Returns a formatted string representing a property (or method's) name and value. For example: `'public foo: string'`.\n */\n public getFormattedPropertyName(\n property: SkyDocsClassPropertyDefinition,\n ): string {\n let signature = '';\n\n if (property.decorator?.name) {\n signature += `@${property.decorator.name}()<br>`;\n }\n\n const indexSignature = property.type?.indexSignature;\n let name: string;\n if (indexSignature) {\n name = `[${indexSignature.key.name}: ${this.getFormattedType(\n indexSignature.key.type,\n )}]`;\n } else {\n name = property.name;\n }\n\n if (property.deprecationWarning !== undefined) {\n signature += `<strike>${name}</strike>`;\n } else {\n signature += name;\n }\n\n if (\n property.decorator?.name !== 'Output' &&\n property.isOptional &&\n !indexSignature\n ) {\n signature += '?';\n }\n\n if (indexSignature) {\n signature += `: ${this.getFormattedType(indexSignature.type)}`;\n } else if (property.type) {\n signature += `: ${this.getFormattedType(property.type)}`;\n }\n\n return signature;\n }\n\n /**\n * Returns an HTML-formatted method name to be used on the properties table.\n */\n public getFormattedMethodName(\n definition: SkyDocsClassMethodDefinition,\n ): string {\n let formatted = '';\n\n if (definition.isStatic) {\n formatted += `${definition.parentName}.`;\n }\n\n if (definition.deprecationWarning !== undefined) {\n formatted = `<strike>${formatted}${definition.name}</strike>`;\n } else {\n formatted += definition.name;\n }\n\n return `${formatted}()`;\n }\n\n /**\n * Returns a formatted string representing the provided type.\n */\n public getFormattedType(\n type: SkyDocsTypeDefinition,\n config: GetFormattedTypeConfig = {\n escapeSpecialCharacters: true,\n },\n ): string {\n let formatted = 'any';\n\n if (!type) {\n return formatted;\n }\n\n if (type.callSignature) {\n let formattedSignature = this.getFormattedCallSignature(\n type.callSignature,\n config,\n );\n\n if (type.type === 'array') {\n formattedSignature = `(${formattedSignature})[]`;\n }\n return formattedSignature;\n }\n\n if (type.unionTypes) {\n return this.getFormattedUnion(type, config);\n }\n\n if (type.name !== null && type.name !== undefined) {\n formatted = `${type.name}`;\n }\n\n if (type.typeArguments) {\n formatted += this.getFormattedTypeArguments(type, config);\n }\n\n if (type.type === 'array') {\n formatted += '[]';\n }\n\n if (type.type === 'literal' && typeof type.name === 'string') {\n formatted = `'${formatted}'`;\n }\n\n if (type.typeLiteral) {\n const formattedTypeLiteral = this.getFormattedInterfaceProperties(\n type.typeLiteral,\n config,\n )\n .replace(/\\n/g, ' ')\n .replace(/\\s\\s+/g, ' ');\n formatted = `{${formattedTypeLiteral} }`;\n }\n\n if (config.escapeSpecialCharacters) {\n return this.escapeSpecialCharacters(formatted);\n }\n\n return formatted;\n }\n\n public escapeSpecialCharacters(value: string): string {\n return value.replace(/</g, '&lt;').replace(/>/g, '&gt;');\n }\n\n private getFormattedCallSignature(\n callSignature: SkyDocsCallSignatureDefinition,\n config: GetFormattedTypeConfig,\n ): string {\n const returnType = this.getFormattedType(callSignature.returnType, config);\n\n if (!callSignature.parameters) {\n return `() => ${returnType}`;\n }\n\n const formattedParams = callSignature.parameters\n .map((p) => this.getFormattedParameterName(p, config))\n .join(', ');\n\n return `(${formattedParams}) => ${returnType}`;\n }\n\n private getFormattedUnion(\n typeConfig: SkyDocsTypeDefinition,\n config: GetFormattedTypeConfig,\n ): string {\n return typeConfig.unionTypes\n .map((t) => {\n return this.getFormattedType(t, config);\n })\n .join(' | ');\n }\n\n /**\n * Parse any type arguments e.g. `<T, F>`.\n */\n private getFormattedTypeArguments(\n typeConfig: SkyDocsTypeDefinition,\n config: GetFormattedTypeConfig,\n ): string {\n if (!typeConfig.typeArguments) {\n return '';\n }\n\n const typeArguments = typeConfig.typeArguments.map((typeArgument) => {\n if (typeArgument.type === 'array') {\n return `${typeArgument.name}[]`;\n }\n\n if (typeArgument.unionTypes) {\n return this.getFormattedUnion(typeArgument, config);\n }\n\n return typeArgument.name;\n });\n\n return `<${typeArguments.join(', ')}>`;\n }\n\n private getFormattedTypeParameters(\n typeParameters: SkyDocsTypeParameterDefinition[],\n ): string {\n if (!typeParameters) {\n return '';\n }\n\n const formatted = typeParameters.map((typeParameter) => {\n let result = typeParameter.name;\n if (typeParameter.type && typeParameter.type.type === 'reference') {\n result += ` extends ${typeParameter.type.name}`;\n }\n\n return result;\n });\n\n return `<${formatted.join(', ')}>`;\n }\n\n private getFormattedInterfaceProperties(\n definition: {\n properties?: SkyDocsInterfacePropertyDefinition[];\n },\n config?: GetFormattedTypeConfig,\n ): string {\n let signature: string = '';\n\n definition.properties.forEach((property) => {\n const indexSignature = property.type.indexSignature;\n const optionalIndicator =\n property.isOptional && !indexSignature ? '?' : '';\n const propertyType = this.getFormattedType(property.type, config);\n\n let name: string;\n if (indexSignature) {\n name = `[${indexSignature.key.name}: string]`;\n } else {\n name = property.name;\n }\n\n signature += `\\n ${name}${optionalIndicator}: ${propertyType};`;\n });\n\n return signature;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { TypeDocEntry } from './typedoc-types';\n\n@Injectable()\nexport class SkyDocsTypeDefinitionsProvider {\n public readonly anchorIds: { [_: string]: string };\n\n public readonly typeDefinitions: TypeDocEntry[];\n}\n","import { Injectable } from '@angular/core';\n\nimport { SkyDocsAnchorLinkConfig } from './anchor-link-service-config';\n\nimport { SkyDocsTypeDefinitionsProvider } from './type-definitions-provider';\n\n/**\n * Finds any type name that is NOT surrounded by alpha-numeric (and '>', '<', '.') characters.\n * (This is to avoid matching types that share similar words, such as `Foo` and `FooUser`.)\n * Notes:\n * - If the type name is surrounded by angle brackets, then it has already been processed as a link.\n * - If the type name starts with a period '.', then it is a sub property of an enumeration, etc. and should not be processed as a link.\n * - If the type name ends with a period followed immediately by any word character, then it is a method or property (Foo.bar).\n * Only the type name should be processed as a link.\n */\nfunction createRegex(keyword: string): RegExp {\n return new RegExp(\n `(^|[^a-zA-Z0-9>.[/])(${keyword})(\\\\.\\\\w+)?(?=[^a-zA-Z0-9<]+|$)`,\n 'g',\n );\n}\n\n@Injectable({\n providedIn: 'any',\n})\nexport class SkyDocsAnchorLinkService {\n private anchorIds: { [_: string]: string };\n\n constructor(typeDefinitionsProvider: SkyDocsTypeDefinitionsProvider) {\n this.anchorIds = typeDefinitionsProvider.anchorIds;\n }\n\n /**\n * Formats known type names with `<code>` tags and wraps them with anchor tags, linking to the appropriate type.\n * If the content is already contained within a `<code>` tag, set `codeFormat = false` to prevent extra `<code>` tags from being added.\n */\n public applyTypeAnchorLinks(\n content: string,\n config?: SkyDocsAnchorLinkConfig,\n ): string {\n if (!this.anchorIds || !content) {\n return content;\n }\n\n // Set default for code formatting.\n if (!config) {\n config = {\n applyCodeFormatting: true,\n };\n }\n\n content = this.removeDoubleSquareBrackets(content);\n\n Object.keys(this.anchorIds).forEach((typeName) => {\n content = this.removeBackticks(typeName, content);\n\n let matches: RegExpExecArray;\n let counter = 0;\n const max = 100;\n\n const regex = createRegex(typeName);\n\n do {\n matches = regex.exec(content);\n if (matches) {\n const anchorId = this.anchorIds[typeName];\n const anchorHtml =\n '<a class=\"sky-docs-anchor-link\" href=\"#' +\n anchorId +\n '\">' +\n typeName +\n '</a>';\n\n // Group 3 of the regex pattern captures type properties like Foo.bar.\n // If these are found, they do not need hyperlinked, but add them to the encapsulating code tag.\n const typeProperty = matches[3] ? matches[3] : '';\n\n let replacement;\n if (config.applyCodeFormatting) {\n replacement = '<code>' + anchorHtml + typeProperty + '</code>';\n } else {\n replacement = anchorHtml + typeProperty;\n }\n\n // Regex Positive lookbehinds aren't supported in IE11 and Safari, so we have to check if the match has a starting extra character\n // (usually whitespace \" Foo\"), and then modify the starting/ending indexes to account for the extra character.\n const isMatchExact =\n matches[0].substr(0, typeName.length) === typeName;\n const startIndex = isMatchExact ? matches.index : matches.index + 1;\n const endIndex = isMatchExact\n ? matches[0].length\n : matches[0].length - 1;\n let contentWithCodeTags =\n content.substr(0, startIndex) +\n replacement +\n content.substr(startIndex + endIndex);\n\n content = contentWithCodeTags;\n counter++;\n }\n } while (matches !== null && counter < max);\n });\n\n return content;\n }\n\n /**\n * For backwards compatibility, we need to remove any double brackets wrapped around types.\n * e.g., `[[SampleType]]`\n */\n private removeDoubleSquareBrackets(content: string): string {\n const match = content.match(/\\[\\[.*\\]\\]/);\n if (match) {\n const typeName = match[0].replace(/\\[\\[/g, '').replace(/\\]\\]/g, '');\n content = content.replace(match[0], typeName);\n }\n return content;\n }\n\n /**\n * Removes backtick characters around known types to prevent\n * the markdown pipe from wrapping them with code elements.\n */\n private removeBackticks(typeName: string, content: string): string {\n const regexp = new RegExp(`\\`(${typeName})\\``, 'g');\n return content.replace(regexp, typeName);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { SkyDocsAnchorLinkConfig } from './anchor-link-service-config';\n\nimport { SkyDocsAnchorLinkService } from './anchor-link.service';\n\nimport { SkyDocsAnchorLinkServiceFormatType } from './anchor-link-service-format';\n\n/**\n * Adds same-page anchor tags around known TypeScript types.\n */\n@Pipe({\n name: 'skyDocsTypeAnchorLinks',\n pure: true,\n})\nexport class SkyDocsTypeAnchorLinksPipe implements PipeTransform {\n constructor(private anchorLinkService: SkyDocsAnchorLinkService) {}\n\n public transform(\n value: string,\n formatType?: SkyDocsAnchorLinkServiceFormatType,\n ): string {\n const anchorLinkConfig: SkyDocsAnchorLinkConfig = {\n applyCodeFormatting: formatType !== 'no-code-tags',\n };\n return this.anchorLinkService.applyTypeAnchorLinks(value, anchorLinkConfig);\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { SkyDocsCallSignatureDefinition } from './call-signature-definition';\n\nimport { SkyDocsTypeDefinitionsFormatService } from './type-definitions-format.service';\n\ninterface ParameterViewModel {\n defaultValue: string;\n description: string;\n formattedName: string;\n isOptional: boolean;\n}\n\n/**\n * \"Call signatures\" include methods, functions, and inline arrow functions.\n * This component is used to document both the return type and parameters of a given call signature.\n */\n@Component({\n selector: 'sky-docs-call-signature-definition',\n templateUrl: './call-signature-definition.component.html',\n styleUrls: ['./call-signature-definition.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsCallSignatureDefinitionComponent {\n @Input()\n public set config(value: SkyDocsCallSignatureDefinition) {\n this._config = value;\n this.updateView();\n }\n\n public get config(): SkyDocsCallSignatureDefinition {\n return this._config;\n }\n\n public parameters: ParameterViewModel[];\n\n public returnTypeFormatted: string;\n\n private _config: SkyDocsCallSignatureDefinition;\n\n constructor(private formatService: SkyDocsTypeDefinitionsFormatService) {}\n\n private updateView(): void {\n this.parameters = this.config?.parameters?.map((p) => {\n const vm: ParameterViewModel = {\n defaultValue: p.defaultValue,\n description: p.description,\n formattedName: this.formatService.getFormattedParameterName(p),\n isOptional: p.isOptional,\n };\n\n return vm;\n });\n\n this.returnTypeFormatted = this.formatService.getFormattedType(\n this.config?.returnType,\n );\n }\n}\n","<div *ngIf=\"config\" class=\"sky-docs-call-signature-definition\">\n <ng-container *ngIf=\"parameters\">\n <h4 class=\"sky-docs-call-signature-definition-heading\">Parameters</h4>\n <table class=\"sky-docs-parameter-definitions\">\n <tbody>\n <tr *ngFor=\"let parameter of parameters\">\n <th class=\"sky-docs-parameter-definition-header\">\n <sky-code\n ><span\n [innerHtml]=\"\n parameter.formattedName\n | skyDocsTypeAnchorLinks: 'no-code-tags'\n \"\n ></span\n ></sky-code>\n </th>\n <td class=\"sky-docs-parameter-definition-body\">\n <div\n *ngIf=\"parameter.description\"\n class=\"sky-docs-parameter-definition-description\"\n >\n <sky-docs-safe-html\n *ngIf=\"parameter.description\"\n [innerHtml]=\"\n parameter.description\n | skyDocsTypeAnchorLinks\n | skyDocsMarkdown\n \"\n ></sky-docs-safe-html>\n </div>\n <div\n *ngIf=\"parameter.isOptional\"\n class=\"sky-docs-parameter-definition-label-optional\"\n >\n Optional.\n <ng-container *ngIf=\"parameter.defaultValue\">\n Default is\n <sky-code\n ><span\n [innerHtml]=\"\n parameter.defaultValue\n | skyDocsTypeAnchorLinks: 'no-code-tags'\n \"\n ></span></sky-code\n >.\n </ng-container>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </ng-container>\n\n <ng-container *ngIf=\"returnTypeFormatted\">\n <h4 class=\"sky-docs-call-signature-definition-heading\">Returns</h4>\n\n <div class=\"sky-docs-call-signature-definition-return-type\">\n <sky-code\n ><span\n [innerHtml]=\"\n returnTypeFormatted | skyDocsTypeAnchorLinks: 'no-code-tags'\n \"\n ></span\n ></sky-code>\n </div>\n </ng-container>\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { SkyStatusIndicatorModule } from '@skyux/indicators';\n\n@Component({\n selector: 'sky-docs-preview-feature-indicator',\n templateUrl: './preview-feature-indicator.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [SkyStatusIndicatorModule],\n})\nexport class SkyDocsPreviewIndicatorComponent {}\n","<sky-status-indicator indicatorType=\"warning\" descriptionType=\"warning\"\n >Preview. This feature may not be fully represented in the design\n documentation, the demo, or code examples.</sky-status-indicator\n>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { SkyMediaBreakpoints, SkyMediaQueryService } from '@skyux/core';\n\nimport { SkyDocsCallSignatureDefinition } from './call-signature-definition';\n\nimport { SkyDocsClassPropertyDefinition } from './property-definition';\n\nimport { SkyDocsTypeDefinitionsFormatService } from './type-definitions-format.service';\n\ninterface PropertyViewModel {\n callSignature: SkyDocsCallSignatureDefinition;\n defaultValue: string;\n deprecationWarning: string;\n description: string;\n formattedName: string;\n isOutput: boolean;\n isOptional: boolean;\n isPreview: boolean;\n}\n\n@Component({\n selector: 'sky-docs-property-definitions',\n templateUrl: './property-definitions.component.html',\n styleUrls: ['./property-definitions.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsPropertyDefinitionsComponent implements OnInit {\n @Input()\n public set config(value: { properties?: SkyDocsClassPropertyDefinition[] }) {\n this._config = value;\n this.updateView();\n }\n\n public get config(): { properties?: SkyDocsClassPropertyDefinition[] } {\n return this._config || {};\n }\n\n @Input()\n public propertyType = 'Property';\n\n @Input()\n public showOptionalStatus: boolean = true;\n\n public deprecationWarningPrefix = `<span class=\"sky-text-warning\"></span>**Deprecated.** `;\n\n public isMobile: boolean = true;\n\n public properties: PropertyViewModel[] = [];\n\n private _config: {\n properties?: SkyDocsClassPropertyDefinition[];\n };\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n private formatService: SkyDocsTypeDefinitionsFormatService,\n private mediaQueryService: SkyMediaQueryService,\n ) {}\n\n public ngOnInit(): void {\n this.mediaQueryService.subscribe((breakpoints: SkyMediaBreakpoints) => {\n this.isMobile = breakpoints <= SkyMediaBreakpoints.sm;\n this.changeDetector.markForCheck();\n });\n }\n\n private updateView(): void {\n this.properties = this.config?.properties?.map((property) => {\n const vm: PropertyViewModel = {\n callSignature: property.type?.callSignature,\n defaultValue: this.formatService.escapeSpecialCharacters(\n property.defaultValue || '',\n ),\n deprecationWarning: property.deprecationWarning,\n description: property.description,\n formattedName: this.formatService.getFormattedPropertyName(property),\n isOutput: property.decorator?.name === 'Output',\n isOptional: property.isOptional,\n isPreview: property.isPreview,\n };\n\n return vm;\n });\n }\n}\n","<div *ngIf=\"properties\" class=\"sky-docs-property-definitions\">\n <table *ngIf=\"!isMobile; else mobileTemplate\" class=\"sky-docs-table\">\n <tr class=\"sky-docs-table-row\">\n <th\n class=\"sky-docs-table-column-header sky-docs-table-column-header-name\"\n >\n {{ propertyType }}\n </th>\n <th\n class=\"sky-docs-table-column-header sky-docs-table-column-header-description\"\n >\n Description\n </th>\n </tr>\n <tr *ngFor=\"let property of properties\" class=\"sky-docs-table-row\">\n <td\n class=\"sky-docs-table-cell sky-docs-property-definitions-table-cell-name\"\n >\n <ng-template\n [ngTemplateOutlet]=\"nameTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </td>\n <td\n class=\"sky-docs-table-cell sky-docs-property-definitions-table-cell-description\"\n >\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </td>\n </tr>\n </table>\n\n <ng-template #mobileTemplate>\n <dl class=\"sky-docs-property-definition-list\">\n <div\n *ngFor=\"let property of properties\"\n class=\"sky-docs-property-definition-list-item\"\n >\n <dt class=\"sky-field-label\">{{ propertyType }}</dt>\n <dd class=\"sky-docs-property-definitions-dd-name\">\n <ng-template\n [ngTemplateOutlet]=\"nameTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </dd>\n <dt class=\"sky-field-label\">Description</dt>\n <dd class=\"sky-docs-property-definitions-dd-description\">\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </dd>\n </div>\n </dl>\n </ng-template>\n</div>\n\n<ng-template let-property #nameTemplate>\n <sky-code\n ><span\n [innerHtml]=\"\n property.formattedName | skyDocsTypeAnchorLinks: 'no-code-tags'\n \"\n ></span\n ></sky-code>\n</ng-template>\n\n<ng-template let-property #descriptionTemplate>\n <div\n *ngIf=\"!property.isOutput && !property.isOptional && showOptionalStatus\"\n class=\"sky-docs-property-definition-label\"\n >\n <sky-status-indicator indicatorType=\"danger\" descriptionType=\"danger\"\n >Required.</sky-status-indicator\n >\n </div>\n <div\n *ngIf=\"property.isPreview\"\n class=\"sky-docs-property-definition-preview-warning sky-docs-property-definition-label\"\n >\n <sky-docs-preview-feature-indicator></sky-docs-preview-feature-indicator>\n </div>\n\n <sky-docs-safe-html\n *ngIf=\"property.deprecationWarning !== undefined\"\n class=\"sky-docs-property-definitions-deprecation-warning\"\n [innerHtml]=\"\n deprecationWarningPrefix + property.deprecationWarning\n | skyDocsTypeAnchorLinks\n | skyDocsMarkdown\n \"\n ></sky-docs-safe-html>\n\n <sky-docs-safe-html\n *ngIf=\"property.description\"\n class=\"sky-docs-property-definitions-description\"\n [innerHtml]=\"\n property.description | skyDocsTypeAnchorLinks | skyDocsMarkdown\n \"\n ></sky-docs-safe-html>\n\n <div\n *ngIf=\"!property.isOutput && property.isOptional && showOptionalStatus\"\n class=\"sky-docs-property-definition-label sky-docs-property-definition-label-optional\"\n >\n Optional.\n <ng-container *ngIf=\"property.defaultValue\"\n >Default is\n <sky-code\n ><span\n [innerHtml]=\"\n property.defaultValue | skyDocsTypeAnchorLinks: 'no-code-tags'\n \"\n ></span></sky-code\n >.</ng-container\n >\n </div>\n\n <sky-docs-call-signature-definition\n *ngIf=\"property.callSignature\"\n [config]=\"property.callSignature\"\n ></sky-docs-call-signature-definition>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { SkyDocsDirectiveDefinition } from './directive-definition';\n\n@Component({\n selector: 'sky-docs-directive-definition',\n templateUrl: './directive-definition.component.html',\n styleUrls: ['./directive-definition.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsDirectiveDefinitionComponent {\n @Input()\n public config: SkyDocsDirectiveDefinition;\n}\n","<div\n *ngIf=\"config\"\n class=\"sky-docs-directive-definition sky-docs-type-definition-wrapper\"\n>\n <sky-docs-heading-anchor headingLevel=\"3\" [anchorId]=\"config.anchorId\">\n {{ config.name }}\n </sky-docs-heading-anchor>\n\n <sky-docs-safe-html\n *ngIf=\"config.description\"\n class=\"sky-docs-directive-definition-description\"\n [innerHtml]=\"config.description | skyDocsTypeAnchorLinks | skyDocsMarkdown\"\n ></sky-docs-safe-html>\n\n <h4 class=\"sky-docs-directive-definition-h4\">Selector</h4>\n\n <p class=\"sky-docs-directive-selector\">\n <sky-code>{{ config.selector }}</sky-code>\n </p>\n\n <ng-container *ngIf=\"config.codeExample\">\n <h4 class=\"sky-docs-directive-definition-h4\">Example</h4>\n <sky-code-block\n class=\"sky-docs-code-block\"\n [code]=\"config.codeExample\"\n [hideHeader]=\"true\"\n [languageType]=\"config.codeExampleLanguage\"\n >\n </sky-code-block>\n </ng-container>\n\n <sky-docs-property-definitions\n *ngIf=\"config.inputProperties?.length\"\n propertyType=\"Input\"\n [config]=\"{\n properties: config.inputProperties\n }\"\n ></sky-docs-property-definitions>\n\n <sky-docs-property-definitions\n *ngIf=\"config.eventProperties?.length\"\n propertyType=\"Event\"\n [config]=\"{\n properties: config.eventProperties\n }\"\n ></sky-docs-property-definitions>\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { SkyDocsEnumerationDefinition } from './enumeration-definition';\n\n@Component({\n selector: 'sky-docs-enumeration-definition',\n templateUrl: './enumeration-definition.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsEnumerationDefinitionComponent {\n @Input()\n public config: SkyDocsEnumerationDefinition;\n}\n","<div\n *ngIf=\"config\"\n class=\"sky-docs-enumeration-definition sky-docs-type-definition-wrapper\"\n>\n <sky-docs-heading-anchor headingLevel=\"3\" [anchorId]=\"config.anchorId\">\n {{ config.name }}\n </sky-docs-heading-anchor>\n\n <sky-docs-safe-html\n *ngIf=\"config.description\"\n class=\"sky-docs-enumeration-definition-description\"\n [innerHtml]=\"config.description | skyDocsTypeAnchorLinks | skyDocsMarkdown\"\n ></sky-docs-safe-html>\n\n <sky-docs-property-definitions\n *ngIf=\"config.members\"\n propertyType=\"Member\"\n [config]=\"{ properties: config.members }\"\n [showOptionalStatus]=\"false\"\n ></sky-docs-property-definitions>\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { SkyDocsInterfaceDefinition } from './interface-definition';\n\nimport { SkyDocsTypeDefinitionsFormatService } from './type-definitions-format.service';\n\n@Component({\n selector: 'sky-docs-interface-definition',\n templateUrl: './interface-definition.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsInterfaceDefinitionComponent {\n @Input()\n public set config(value: SkyDocsInterfaceDefinition) {\n this._config = value;\n this.updateView();\n }\n\n public get config(): SkyDocsInterfaceDefinition {\n return this._config;\n }\n\n public sourceCode: string;\n\n private _config: SkyDocsInterfaceDefinition;\n\n constructor(private formatService: SkyDocsTypeDefinitionsFormatService) {}\n\n private updateView(): void {\n this.sourceCode = this.config\n ? this.formatService.getInterfaceSourceCode(this.config)\n : undefined;\n }\n}\n","<div\n *ngIf=\"config\"\n class=\"sky-docs-interface-definition sky-docs-type-definition-wrapper\"\n>\n <sky-docs-heading-anchor headingLevel=\"3\" [anchorId]=\"config.anchorId\">\n {{ config.name }}\n </sky-docs-heading-anchor>\n\n <sky-docs-safe-html\n *ngIf=\"config.description\"\n class=\"sky-docs-interface-definition-description\"\n [innerHtml]=\"config.description | skyDocsTypeAnchorLinks | skyDocsMarkdown\"\n ></sky-docs-safe-html>\n\n <sky-code-block\n *ngIf=\"sourceCode\"\n class=\"sky-docs-code-block\"\n languageType=\"typescript\"\n [code]=\"sourceCode\"\n [hideHeader]=\"true\"\n ></sky-code-block>\n\n <sky-docs-property-definitions\n *ngIf=\"config.properties?.length\"\n [config]=\"{ properties: config.properties }\"\n [showOptionalStatus]=\"false\"\n ></sky-docs-property-definitions>\n</div>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { SkyMediaBreakpoints, SkyMediaQueryService } from '@skyux/core';\n\nimport { SkyDocsCallSignatureDefinition } from './call-signature-definition';\n\nimport { SkyDocsClassMethodDefinition } from './method-definition';\n\nimport { SkyDocsTypeDefinitionsFormatService } from './type-definitions-format.service';\n\ninterface MethodViewModel {\n callSignature: SkyDocsCallSignatureDefinition;\n codeExample: string;\n codeExampleLanguage: string;\n deprecationWarning: string;\n description: string;\n formattedName: string;\n sourceCode: string;\n isStatic: boolean;\n isPreview: boolean;\n}\n\n@Component({\n selector: 'sky-docs-method-definitions',\n templateUrl: './method-definitions.component.html',\n styleUrls: ['./method-definitions.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsMethodDefinitionsComponent implements OnInit {\n @Input()\n public set config(value: { methods?: SkyDocsClassMethodDefinition[] }) {\n this.#_config = value;\n this.updateView();\n }\n\n public get config(): { methods?: SkyDocsClassMethodDefinition[] } {\n return this.#_config || {};\n }\n\n public deprecationWarningPrefix = `<span class=\"sky-text-warning\"></span>**Deprecated.** `;\n\n public isMobile: boolean = true;\n\n public methods: MethodViewModel[];\n\n public staticMethods: MethodViewModel[];\n\n #_config: {\n methods?: SkyDocsClassMethodDefinition[];\n };\n\n #changeDetector: ChangeDetectorRef;\n #formatService: SkyDocsTypeDefinitionsFormatService;\n #mediaQueryService: SkyMediaQueryService;\n\n constructor(\n changeDetector: ChangeDetectorRef,\n formatService: SkyDocsTypeDefinitionsFormatService,\n mediaQueryService: SkyMediaQueryService,\n ) {\n this.#changeDetector = changeDetector;\n this.#formatService = formatService;\n this.#mediaQueryService = mediaQueryService;\n }\n\n public ngOnInit(): void {\n this.#mediaQueryService.subscribe((breakpoints: SkyMediaBreakpoints) => {\n this.isMobile = breakpoints <= SkyMediaBreakpoints.sm;\n this.#changeDetector.markForCheck();\n });\n }\n\n private updateView(): void {\n if (this.config.methods?.length > 0) {\n this.methods = [];\n this.staticMethods = [];\n for (let method of this.config.methods) {\n const vm: MethodViewModel = {\n callSignature: method.type.callSignature,\n codeExample: method.codeExample,\n codeExampleLanguage: method.codeExampleLanguage,\n deprecationWarning: method.deprecationWarning,\n description: method.description,\n formattedName: this.#formatService.getFormattedMethodName(method),\n sourceCode: this.#formatService.getMethodSourceCode(method),\n isStatic: method.isStatic,\n isPreview: method.isPreview,\n };\n\n if (vm.isStatic) {\n this.staticMethods.push(vm);\n } else {\n this.methods.push(vm);\n }\n }\n }\n }\n}\n","<div\n *ngIf=\"methods?.length > 0 || staticMethods?.length > 0\"\n class=\"sky-docs-method-definitions\"\n>\n <ng-container *ngIf=\"!isMobile; else mobileTemplate\">\n <table\n class=\"sky-docs-table sky-docs-static-method-definitions\"\n *ngIf=\"staticMethods?.length > 0\"\n >\n <tr class=\"sky-docs-table-row\">\n <th\n class=\"sky-docs-table-column-header sky-docs-table-column-header-name\"\n >\n Static methods\n </th>\n <th\n class=\"sky-docs-table-column-header sky-docs-table-column-header-description\"\n >\n Description\n </th>\n </tr>\n <tr *ngFor=\"let method of staticMethods\" class=\"sky-docs-table-row\">\n <td\n class=\"sky-docs-table-cell sky-docs-method-definitions-table-cell-name\"\n >\n <ng-template\n [ngTemplateOutlet]=\"nameTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: method }\"\n ></ng-template>\n </td>\n <td\n class=\"sky-docs-table-cell sky-docs-method-definitions-table-cell-description\"\n >\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: method }\"\n ></ng-template>\n </td>\n </tr>\n </table>\n <table\n class=\"sky-docs-table sky-docs-standard-method-definitions\"\n *ngIf=\"methods?.length > 0\"\n >\n <tr class=\"sky-docs-table-row\">\n <th\n class=\"sky-docs-table-column-header sky-docs-table-column-header-name\"\n >\n Methods\n </th>\n <th\n class=\"sky-docs-table-column-header sky-docs-table-column-header-description\"\n >\n Description\n </th>\n </tr>\n <tr *ngFor=\"let method of methods\" class=\"sky-docs-table-row\">\n <td\n class=\"sky-docs-table-cell sky-docs-method-definitions-table-cell-name\"\n >\n <ng-template\n [ngTemplateOutlet]=\"nameTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: method }\"\n ></ng-template>\n </td>\n <td\n class=\"sky-docs-table-cell sky-docs-method-definitions-table-cell-description\"\n >\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: method }\"\n ></ng-template>\n </td>\n </tr>\n </table>\n </ng-container>\n\n <ng-template #mobileTemplate>\n <dl\n class=\"sky-docs-method-definition-list sky-docs-static-method-definitions\"\n *ngIf=\"staticMethods?.length > 0\"\n >\n <div\n *ngFor=\"let method of staticMethods\"\n class=\"sky-docs-method-definition-list-item\"\n >\n <dt class=\"sky-field-label\">Static methods</dt>\n <dd class=\"sky-docs-method-definitions-dd-name\">\n <ng-template\n [ngTemplateOutlet]=\"nameTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: method }\"\n ></ng-template>\n </dd>\n <dt class=\"sky-field-label\">Description</dt>\n <dd class=\"sky-docs-method-definitions-dd-description\">\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: method }\"\n ></ng-template>\n </dd>\n </div>\n </dl>\n <dl\n class=\"sky-docs-method-definition-list sky-docs-standard-method-definitions\"\n *ngIf=\"methods?.length > 0\"\n >\n <div\n *ngFor=\"let method of methods\"\n class=\"sky-docs-method-definition-list-item\"\n >\n <dt class=\"sky-field-label\">Methods</dt>\n <dd class=\"sky-docs-method-definitions-dd-name\">\n <ng-template\n [ngTemplateOutlet]=\"nameTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: method }\"\n ></ng-template>\n </dd>\n <dt class=\"sky-field-label\">Description</dt>\n <dd class=\"sky-docs-method-definitions-dd-description\">\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: method }\"\n ></ng-template>\n </dd>\n </div>\n </dl>\n </ng-template>\n</div>\n\n<ng-template let-method #nameTemplate>\n <sky-code\n ><span\n [innerHtml]=\"\n method.formattedName | skyDocsTypeAnchorLinks: 'no-code-tags'\n \"\n ></span\n ></sky-code>\n</ng-template>\n\n<ng-template let-method #descriptionTemplate>\n <div\n *ngIf=\"method.isPreview\"\n class=\"sky-docs-method-definition-preview-warning sky-docs-property-definition-label\"\n >\n <sky-docs-preview-feature-indicator></sky-docs-preview-feature-indicator>\n </div>\n\n <sky-docs-safe-html\n *ngIf=\"method.deprecationWarning !== undefined\"\n class=\"sky-docs-method-definition-deprecation-warning\"\n [innerHtml]=\"\n deprecationWarningPrefix + method.deprecationWarning\n | skyDocsTypeAnchorLinks\n | skyDocsMarkdown\n \"\n ></sky-docs-safe-html>\n\n <sky-docs-safe-html\n *ngIf=\"method.description\"\n class=\"sky-docs-method-definition-description\"\n [innerHtml]=\"method.description | skyDocsTypeAnchorLinks | skyDocsMarkdown\"\n ></sky-docs-safe-html>\n\n <sky-code-block\n *ngIf=\"method.sourceCode\"\n class=\"sky-docs-code-block\"\n languageType=\"typescript\"\n [code]=\"method.sourceCode\"\n [hideHeader]=\"true\"\n ></sky-code-block>\n\n <sky-docs-call-signature-definition\n *ngIf=\"method.callSignature\"\n [config]=\"method.callSignature\"\n ></sky-docs-call-signature-definition>\n\n <ng-container *ngIf=\"method.codeExample\">\n <h4 class=\"sky-docs-method-definition-heading\">Example</h4>\n <sky-code-block\n *ngIf=\"method.codeExample\"\n class=\"sky-docs-code-block\"\n languageType=\"method.codeExampleLanguage\"\n [code]=\"method.codeExample\"\n [hideHeader]=\"true\"\n ></sky-code-block>\n </ng-container>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { SkyDocsPipeDefinition } from './pipe-definition';\n\n@Component({\n selector: 'sky-docs-pipe-definition',\n templateUrl: './pipe-definition.component.html',\n styleUrls: ['./pipe-definition.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsPipeDefinitionComponent {\n @Input()\n public config: SkyDocsPipeDefinition;\n}\n","<div\n *ngIf=\"config\"\n class=\"sky-docs-pipe-definition sky-docs-type-definition-wrapper\"\n>\n <sky-docs-heading-anchor headingLevel=\"3\" [anchorId]=\"config.anchorId\">\n {{ config.name }}\n </sky-docs-heading-anchor>\n\n <sky-docs-safe-html\n *ngIf=\"config.description\"\n [innerHtml]=\"config.description | skyDocsTypeAnchorLinks | skyDocsMarkdown\"\n ></sky-docs-safe-html>\n\n <ng-container *ngIf=\"config.codeExample\">\n <h4 class=\"sky-docs-pipe-definition-heading\">Example</h4>\n <sky-code-block\n class=\"sky-docs-code-block\"\n [code]=\"config.codeExample\"\n [hideHeader]=\"true\"\n [languageType]=\"config.codeExampleLanguage\"\n ></sky-code-block>\n </ng-container>\n\n <sky-docs-method-definitions\n *ngIf=\"config.transformMethod\"\n [config]=\"{\n methods: [config.transformMethod]\n }\"\n ></sky-docs-method-definitions>\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { SkyDocsClassDefinition } from './class-definition';\n\n@Component({\n selector: 'sky-docs-class-definition',\n templateUrl: './class-definition.component.html',\n styleUrls: ['./class-definition.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsClassDefinitionComponent {\n @Input()\n public config: SkyDocsClassDefinition;\n}\n","<div\n *ngIf=\"config\"\n class=\"sky-docs-class-definition sky-docs-type-definition-wrapper\"\n>\n <sky-docs-heading-anchor headingLevel=\"3\" [anchorId]=\"config.anchorId\">\n {{ config.name }}\n </sky-docs-heading-anchor>\n\n <sky-docs-safe-html\n *ngIf=\"config.description\"\n class=\"sky-docs-class-definition-description\"\n [innerHtml]=\"config.description | skyDocsTypeAnchorLinks | skyDocsMarkdown\"\n ></sky-docs-safe-html>\n\n <ng-container *ngIf=\"config.properties?.length\">\n <sky-docs-property-definitions\n [config]=\"{ properties: config.properties }\"\n ></sky-docs-property-definitions>\n </ng-container>\n\n <ng-container *ngIf=\"config.methods?.length\">\n <sky-docs-method-definitions\n [config]=\"{ methods: config.methods }\"\n ></sky-docs-method-definitions>\n </ng-container>\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { SkyDocsTypeAliasDefinition } from './type-alias-definition';\n\nimport { SkyDocsTypeDefinitionsFormatService } from './type-definitions-format.service';\n\n@Component({\n selector: 'sky-docs-type-alias-definition',\n templateUrl: './type-alias-definition.component.html',\n styleUrls: ['./type-alias-definition.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsTypeAliasDefinitionComponent {\n @Input()\n public set config(value: SkyDocsTypeAliasDefinition) {\n this._config = value;\n this.updateView();\n }\n\n public get config(): SkyDocsTypeAliasDefinition {\n return this._config;\n }\n\n public sourceCode: string;\n\n private _config: SkyDocsTypeAliasDefinition;\n\n constructor(private formatService: SkyDocsTypeDefinitionsFormatService) {}\n\n private updateView(): void {\n this.sourceCode = this.config\n ? this.formatService.getTypeAliasSourceCode(this.config)\n : undefined;\n }\n}\n","<div\n *ngIf=\"config\"\n class=\"sky-docs-type-alias-definition sky-docs-type-definition-wrapper\"\n>\n <sky-docs-heading-anchor headingLevel=\"3\" [anchorId]=\"config.anchorId\">\n {{ config.name }}\n </sky-docs-heading-anchor>\n\n <div\n *ngIf=\"config.isPreview\"\n class=\"sky-docs-type-alias-preview-warning sky-docs-property-definition-label\"\n >\n <sky-docs-preview-feature-indicator></sky-docs-preview-feature-indicator>\n </div>\n\n <sky-docs-safe-html\n *ngIf=\"config.description\"\n class=\"sky-docs-type-alias-definition-description\"\n [innerHtml]=\"config.description | skyDocsTypeAnchorLinks | skyDocsMarkdown\"\n ></sky-docs-safe-html>\n\n <sky-code-block\n *ngIf=\"sourceCode\"\n class=\"sky-docs-code-block\"\n languageType=\"typescript\"\n [code]=\"sourceCode\"\n [hideHeader]=\"true\"\n ></sky-code-block>\n\n <sky-docs-call-signature-definition\n *ngIf=\"config.type.callSignature\"\n [config]=\"config.type.callSignature\"\n ></sky-docs-call-signature-definition>\n</div>\n","import { CommonModule } from '@angular/common';\n\nimport { NgModule } from '@angular/core';\n\nimport { RouterModule } from '@angular/router';\n\nimport {\n SkyCodeBlockModule,\n SkyCodeModule,\n} from '@blackbaud/skyux-lib-code-block';\n\nimport { SkyIconModule, SkyStatusIndicatorModule } from '@skyux/indicators';\n\nimport { SkyDefinitionListModule } from '@skyux/layout';\n\nimport { SkyDocsHeadingAnchorModule } from '../heading-anchor/heading-anchor.module';\n\nimport { SkyDocsMarkdownModule } from '../markdown/markdown.module';\n\nimport { SkyDocsSafeHtmlModule } from '../safe-html/safe-html.module';\n\nimport { SkyDocsCallSignatureDefinitionComponent } from './call-signature-definition.component';\n\nimport { SkyDocsDirectiveDefinitionComponent } from './directive-definition.component';\n\nimport { SkyDocsEnumerationDefinitionComponent } from './enumeration-definition.component';\n\nimport { SkyDocsInterfaceDefinitionComponent } from './interface-definition.component';\n\nimport { SkyDocsMethodDefinitionsComponent } from './method-definitions.component';\n\nimport { SkyDocsPipeDefinitionComponent } from './pipe-definition.component';\n\nimport { SkyDocsPropertyDefinitionsComponent } from './property-definitions.component';\n\nimport { SkyDocsClassDefinitionComponent } from './class-definition.component';\n\nimport { SkyDocsTypeAliasDefinitionComponent } from './type-alias-definition.component';\n\nimport { SkyDocsTypeAnchorLinksPipe } from './type-anchor-links.pipe';\nimport { SkyDocsPreviewIndicatorComponent } from './preview-feature-indicator.component';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n SkyCodeBlockModule,\n SkyCodeModule,\n SkyDefinitionListModule,\n SkyDocsHeadingAnchorModule,\n SkyDocsMarkdownModule,\n SkyDocsPreviewIndicatorComponent,\n SkyDocsSafeHtmlModule,\n SkyIconModule,\n SkyStatusIndicatorModule,\n ],\n declarations: [\n SkyDocsCallSignatureDefinitionComponent,\n SkyDocsClassDefinitionComponent,\n SkyDocsDirectiveDefinitionComponent,\n SkyDocsEnumerationDefinitionComponent,\n SkyDocsInterfaceDefinitionComponent,\n SkyDocsMethodDefinitionsComponent,\n SkyDocsPipeDefinitionComponent,\n SkyDocsPropertyDefinitionsComponent,\n SkyDocsTypeAliasDefinitionComponent,\n SkyDocsTypeAnchorLinksPipe,\n ],\n exports: [\n SkyDocsCallSignatureDefinitionComponent,\n SkyDocsClassDefinitionComponent,\n SkyDocsDirectiveDefinitionComponent,\n SkyDocsEnumerationDefinitionComponent,\n SkyDocsInterfaceDefinitionComponent,\n SkyDocsMethodDefinitionsComponent,\n SkyDocsPipeDefinitionComponent,\n SkyDocsPropertyDefinitionsComponent,\n SkyDocsTypeAliasDefinitionComponent,\n SkyDocsTypeAnchorLinksPipe,\n ],\n})\nexport class SkyDocsTypeDefinitionsModule {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n/**\n * Specifies a section of page content.\n * @example\n * ```\n * <sky-docs-demo-page-section\n * heading=\"Section heading\"\n * >\n * Section content here.\n * </sky-docs-demo-page-section>\n * ```\n */\n@Component({\n selector: 'sky-docs-demo-page-section',\n templateUrl: './demo-page-section.component.html',\n styleUrls: ['./demo-page-section.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsDemoPageSectionComponent {\n /**\n * The heading text to print above the section.\n */\n @Input()\n public heading: string;\n\n public get anchorId(): string {\n return `section-${this.getSanitizedName(this.heading)}`;\n }\n\n private getSanitizedName(value: string): string {\n if (!value) {\n return;\n }\n\n const sanitized = value\n .toLowerCase()\n\n // Remove special characters.\n .replace(\n /[\\_\\~\\`\\@\\!\\#\\$\\%\\^\\&\\*\\(\\)\\[\\]\\{\\}\\;\\:\\'\\/\\\\\\<\\>\\,\\.\\?\\=\\+\\|\"]/g,\n '',\n )\n\n // Replace space characters with a dash.\n .replace(/\\s/g, '-')\n\n // Remove any double-dashes.\n .replace(/--/g, '-');\n\n return sanitized;\n }\n}\n","<div class=\"sky-docs-demo-page-section sky-rounded-corners\">\n <div *ngIf=\"heading\" class=\"sky-docs-demo-page-section-header\">\n <sky-docs-heading-anchor headingLevel=\"2\" [anchorId]=\"anchorId\">\n {{ heading }}\n </sky-docs-heading-anchor>\n </div>\n <div class=\"sky-docs-demo-page-section-body\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * The page summary provides a section at the top of the page\n * to summarize what a user should expect to find or learn on the page.\n * @example\n * ```\n * <sky-docs-demo-page-summary>\n * Page summary here.\n * </sky-docs-demo-page-summary>\n * ```\n */\n@Component({\n selector: 'sky-docs-demo-page-summary',\n templateUrl: './demo-page-summary.component.html',\n styleUrls: ['./demo-page-summary.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsDemoPageSummaryComponent {}\n","<div class=\"sky-docs-demo-page-summary\">\n <ng-content></ng-content>\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'sky-docs-design-guidelines',\n templateUrl: './design-guidelines.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsDesignGuidelinesComponent {}\n","<div class=\"sky-docs-design-guidelines\">\n <ng-content></ng-content>\n</div>\n","import { Injectable, OnDestroy } from '@angular/core';\n\nimport { SkyAppWindowRef } from '@skyux/core';\n\nimport { Observable, Subject } from 'rxjs';\n\nimport { SkyDocsAnchorLink } from '../type-definitions/anchor-link';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyDocsDemoPageDomAdapterService implements OnDestroy {\n private get anchorLinks(): NodeListOf<HTMLAnchorElement> {\n return document.querySelectorAll('a.sky-docs-anchor-link');\n }\n\n private get currentUrl(): string {\n return this.windowRef.nativeWindow.location.href.split('#')[0];\n }\n\n private _anchorLinkClick = new Subject<SkyDocsAnchorLink>();\n\n constructor(private windowRef: SkyAppWindowRef) {}\n\n public ngOnDestroy(): void {\n this.removeClickEventListeners();\n }\n\n public setupAnchorLinks(): void {\n for (let index = 0; index < this.anchorLinks.length; index++) {\n const anchor = this.anchorLinks[index];\n const fragment = anchor.href.split('#')[1];\n const url = this.currentUrl;\n const href = `${url}#${fragment}`;\n anchor.href = href;\n }\n }\n\n public get anchorLinkClick(): Observable<SkyDocsAnchorLink> {\n if (this._anchorLinkClick.observers.length === 0) {\n this.addClickEventListeners();\n } else {\n this.removeClickEventListeners();\n }\n return this._anchorLinkClick;\n }\n\n public scrollToFragment(fragment: string): void {\n this.windowRef.nativeWindow.setTimeout(() => {\n const element = document.getElementById(fragment);\n if (element) {\n this.windowRef.nativeWindow.scrollTo(0, element.offsetTop);\n }\n }, 250);\n }\n\n private addClickEventListeners(): void {\n // Wait for a tick to allow all anchors to be written.\n this.windowRef.nativeWindow.setTimeout(() => {\n for (let index = 0; index < this.anchorLinks.length; index++) {\n const anchor = this.anchorLinks[index];\n anchor.addEventListener('click', this.eventListener);\n }\n });\n }\n\n private removeClickEventListeners(): void {\n for (let index = 0; index < this.anchorLinks.length; index++) {\n const anchor = this.anchorLinks[index];\n anchor.removeEventListener('click', this.eventListener);\n }\n }\n\n private eventListener = (e: Event) => {\n e.preventDefault();\n this._anchorLinkClick.next({\n href: (e.target as HTMLAnchorElement).href,\n });\n };\n}\n","export class SkyDocsToolsSiteOptions {\n public previewFeaturesUrl: string;\n}\n","import { Injectable } from '@angular/core';\n\nimport { HttpClient } from '@angular/common/http';\n\nimport { Observable } from 'rxjs';\n\nimport { map, share } from 'rxjs/operators';\n\nimport { SkyDocsComponentInfo } from './docs-tools-component-info';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SkyDocsSupportalService {\n constructor(private http: HttpClient) {}\n\n public getComponentsInfo(): Observable<SkyDocsComponentInfo[]> {\n return this.http\n .get('https://sky-pusa01.app.blackbaud.net/skysp/v1/docs/components-info')\n .pipe(\n map((results: any) => results.components),\n share(),\n );\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Title } from '@angular/platform-browser';\n\n/**\n * @internal\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class SkyDocsDemoPageTitleService {\n constructor(private title: Title) {}\n\n public setTitle(...parts: string[]): void {\n let windowTitle = 'SKY UX';\n\n if (parts && parts.length > 0) {\n parts.push(windowTitle);\n windowTitle = parts.join(' - ');\n }\n\n this.title.setTitle(windowTitle);\n }\n}\n","export interface TypeDocComment {\n summary?: { kind: string; text: string }[];\n\n blockTags?: {\n param?: string;\n content?: { kind: string; text: string }[];\n tag:\n | '@default'\n | '@defaultValue'\n | '@deprecated'\n | '@example'\n | '@param'\n | '@preview'\n | '@required';\n }[];\n}\n\nexport interface TypeDocSource {\n fileName: string;\n}\n\nexport interface TypeDocSignature {\n comment?: TypeDocComment;\n\n kind?:\n | TypeDocKind.CallSignature\n | TypeDocKind.ConstructorSignature\n | TypeDocKind.IndexSignature;\n\n name: string;\n\n parameters?: TypeDocParameter[];\n\n returnType?: TypeDocType;\n\n type?: TypeDocType;\n\n typeParameters?: TypeDocTypeParameter[];\n}\n\nexport interface TypeDocTypeParameter {\n name: string;\n kind: TypeDocKind.TypeParameter;\n type?: TypeDocType;\n}\n\nexport interface TypeDocType {\n constraint?: {\n name: string;\n };\n\n callSignature?: TypeDocSignature;\n\n declaration?: {\n children?: TypeDocEntryChild[];\n indexSignature?: TypeDocSignature;\n signatures?: TypeDocSignature[];\n };\n\n elementType?: TypeDocType;\n\n name?: string;\n\n operator?: 'keyof';\n\n target?: {\n name: string;\n };\n\n type?:\n | 'array'\n | 'intrinsic'\n | 'literal'\n | 'reference'\n | 'reflection'\n | 'typeParameter'\n | 'typeOperator'\n | 'union'\n | 'unknown';\n\n typeArguments?: TypeDocType[];\n\n types?: TypeDocType[];\n\n value?: string;\n}\n\nexport interface TypeDocParameter {\n comment?: TypeDocComment;\n\n defaultValue?: string;\n\n kind: TypeDocKind.Parameter;\n\n name: string;\n\n type: TypeDocType;\n\n flags?: {\n isOptional?: boolean;\n };\n}\n\nexport interface TypeDocEntryChild {\n comment?: TypeDocComment;\n\n decorators?: {\n arguments?: {\n bindingPropertyName?: string;\n };\n name: 'Input' | 'Output';\n type: TypeDocType;\n }[];\n\n defaultValue?: string;\n\n flags?: {\n isOptional?: boolean;\n isStatic?: boolean;\n };\n\n kind?:\n | TypeDocKind.Accessor\n | TypeDocKind.CallSignature\n | TypeDocKind.Constructor\n | TypeDocKind.ConstructorSignature\n | TypeDocKind.IndexSignature\n | TypeDocKind.EnumMember\n | TypeDocKind.Parameter\n | TypeDocKind.Property\n | TypeDocKind.Method;\n\n getSignature?: {\n comment: TypeDocComment;\n name: string;\n type: TypeDocType;\n };\n\n name?: string;\n\n setSignature?: {\n comment: TypeDocComment;\n name: string;\n parameters?: TypeDocParameter[];\n type: TypeDocType;\n };\n\n signatures?: TypeDocSignature[];\n\n sources?: TypeDocSource[];\n\n type?: TypeDocType;\n}\n\nexport interface TypeDocEntry {\n anchorId?: string;\n\n children?: TypeDocEntryChild[];\n\n comment?: TypeDocComment;\n\n decorators?: {\n arguments?: {\n obj?: string;\n };\n name: 'Component' | 'Directive' | 'Injectable' | 'NgModule' | 'Pipe';\n type: TypeDocType;\n }[];\n\n kind?:\n | TypeDocKind.Class\n | TypeDocKind.Enum\n | TypeDocKind.Interface\n | TypeDocKind.TypeAlias;\n\n indexSignature?: TypeDocSignature;\n\n name?: string;\n\n sources?: TypeDocSource[];\n\n type?: TypeDocType;\n\n typeParameters?: TypeDocTypeParameter[];\n}\n\n/**\n * This enum comes from:\n * https://github.com/TypeStrong/typedoc/blob/v0.24.8/src/lib/models/reflections/kind.ts\n * The enum is up to date as of version `0.24.8`.\n */\nexport enum TypeDocKind {\n Project = 0x1,\n Module = 0x2,\n Namespace = 0x4,\n Enum = 0x8,\n EnumMember = 0x10,\n Variable = 0x20,\n Function = 0x40,\n Class = 0x80,\n Interface = 0x100,\n Constructor = 0x200,\n Property = 0x400,\n Method = 0x800,\n CallSignature = 0x1000,\n IndexSignature = 0x2000,\n ConstructorSignature = 0x4000,\n Parameter = 0x8000,\n TypeLiteral = 0x10000,\n TypeParameter = 0x20000,\n Accessor = 0x40000,\n GetSignature = 0x80000,\n SetSignature = 0x100000,\n /** @deprecated will be removed in v0.25, not used */\n ObjectLiteral = 0x200000,\n TypeAlias = 0x400000,\n Reference = 0x800000,\n}\n","import { Injectable, Optional } from '@angular/core';\n\nimport { SkyDocsCallSignatureDefinition } from './call-signature-definition';\n\nimport { SkyDocsClassDefinition } from './class-definition';\n\nimport { SkyDocsClassPropertyDefinition } from './property-definition';\n\nimport { SkyDocsCommentTags } from './comment-tags';\n\nimport { SkyDocsDirectiveDefinition } from './directive-definition';\n\nimport { SkyDocsEnumerationDefinition } from './enumeration-definition';\n\nimport { SkyDocsEnumerationMemberDefinition } from './enumeration-member-definition';\n\nimport { SkyDocsIndexSignatureDefinition } from './index-signature-definition';\n\nimport { SkyDocsInterfaceDefinition } from './interface-definition';\n\nimport { SkyDocsInterfacePropertyDefinition } from './interface-property-definition';\n\nimport { SkyDocsClassMethodDefinition } from './method-definition';\n\nimport { SkyDocsParameterDefinition } from './parameter-definition';\n\nimport { SkyDocsPipeDefinition } from './pipe-definition';\n\nimport { SkyDocsPropertyDecoratorDefinition } from './property-decorator';\n\nimport { SkyDocsTypeAliasDefinition } from './type-alias-definition';\n\nimport { SkyDocsTypeDefinition } from './type-definition';\n\nimport { SkyDocsTypeDefinitionsProvider } from './type-definitions-provider';\n\nimport { SkyDocsTypeParameterDefinition } from './type-parameter-definition';\n\nimport {\n TypeDocComment,\n TypeDocEntry,\n TypeDocEntryChild,\n TypeDocKind,\n TypeDocParameter,\n TypeDocSignature,\n TypeDocType,\n TypeDocTypeParameter,\n} from './typedoc-types';\n\nimport orderBy from 'lodash.orderby';\n\n/**\n * Converts TypeDoc types into SKY UX docs-tools types, to be supplied to the various definitions components.\n */\n@Injectable({\n providedIn: 'any',\n})\nexport class SkyDocsTypeDocAdapterService {\n constructor(\n @Optional()\n private typeDefinitionsProvider?: SkyDocsTypeDefinitionsProvider,\n ) {}\n\n public toClassDefinition(entry: TypeDocEntry): SkyDocsClassDefinition {\n const definition: SkyDocsClassDefinition = {\n anchorId: this.getAnchorId(entry),\n name: entry.name,\n hasPreviewFeatures: false,\n };\n\n const tags = this.getCommentTags(entry.comment);\n this.applyCommentTagValues(definition, tags);\n\n const methods = this.getClassMethods(entry);\n if (methods.length) {\n definition.methods = methods;\n }\n\n const properties = this.getClassProperties(entry);\n if (properties.length) {\n definition.properties = properties;\n }\n\n definition.hasPreviewFeatures =\n !!definition.methods?.some((method) => method.isPreview) ||\n !!definition.properties?.some((property) => property.isPreview);\n\n return definition;\n }\n\n public toDirectiveDefinition(\n entry: TypeDocEntry,\n ): SkyDocsDirectiveDefinition {\n const definition: SkyDocsDirectiveDefinition = {\n anchorId: this.getAnchorId(entry),\n name: entry.name,\n selector: this.getSelector(entry),\n hasPreviewFeatures: false,\n };\n\n const tags = this.getCommentTags(entry.comment);\n this.applyCommentTagValues(definition, tags);\n\n const properties = this.getClassProperties(entry);\n\n const eventProperties = properties.filter(\n (p) => p.decorator?.name === 'Output',\n );\n if (eventProperties.length) {\n definition.eventProperties = eventProperties;\n }\n\n const inputProperties = properties.filter(\n (p) => p.decorator?.name === 'Input',\n );\n if (inputProperties.length) {\n definition.inputProperties = inputProperties;\n }\n\n definition.hasPreviewFeatures =\n !!definition.inputProperties?.some((property) => property.isPreview) ||\n !!definition.eventProperties?.some((property) => property.isPreview);\n\n return definition;\n }\n\n public toEnumerationDefinition(\n entry: TypeDocEntry,\n ): SkyDocsEnumerationDefinition {\n const members = this.getEnumerationMembers(entry);\n const definition: SkyDocsEnumerationDefinition = {\n anchorId: this.getAnchorId(entry),\n members,\n name: entry.name,\n hasPreviewFeatures: !!members.find((member) => member.isPreview),\n };\n\n const tags = this.getCommentTags(entry.comment);\n this.applyCommentTagValues(definition, tags);\n\n return definition;\n }\n\n public toInterfaceDefinition(\n entry: TypeDocEntry,\n ): SkyDocsInterfaceDefinition {\n const properties = this.getInterfaceProperties(entry);\n const definition: SkyDocsInterfaceDefinition = {\n anchorId: this.getAnchorId(entry),\n name: entry.name,\n hasPreviewFeatures: !!properties.find((member) => member.isPreview),\n properties,\n };\n\n const tags = this.getCommentTags(entry.comment);\n this.applyCommentTagValues(definition, tags);\n\n const typeParameters = this.getTypeParameterDefinitions(\n entry.typeParameters,\n );\n if (typeParameters.length) {\n definition.typeParameters = typeParameters;\n }\n\n return definition;\n }\n\n public toPipeDefinition(entry: TypeDocEntry): SkyDocsPipeDefinition {\n const methods = this.getClassMethods(entry);\n const transformMethod = methods.find((m) => m.name === 'transform');\n const definition: SkyDocsPipeDefinition = {\n anchorId: this.getAnchorId(entry),\n name: entry.name,\n transformMethod,\n };\n\n const tags = this.getCommentTags(entry.comment);\n this.applyCommentTagValues(definition, tags);\n\n return definition;\n }\n\n public toTypeAliasDefinition(\n entry: TypeDocEntry,\n ): SkyDocsTypeAliasDefinition {\n const definition: SkyDocsTypeAliasDefinition = {\n anchorId: this.getAnchorId(entry),\n name: entry.name,\n isPreview: false,\n type: this.getTypeDefinition({\n comment: entry.comment,\n type: entry.type,\n }),\n };\n\n const tags = this.getCommentTags(\n entry.type.declaration?.signatures\n ? entry.type.declaration.signatures[0].comment\n : entry.comment,\n );\n this.applyCommentTagValues(definition, tags);\n\n const typeParameters = this.getTypeParameterDefinitions(\n entry.typeParameters,\n );\n if (typeParameters.length) {\n definition.typeParameters = typeParameters;\n }\n\n return definition;\n }\n\n private getSelector(entry: TypeDocEntry): string {\n const decoratorSource = entry.decorators[0].arguments.obj;\n return decoratorSource.indexOf('selector: `') > -1\n ? decoratorSource\n .split('selector: `')[1]\n .split('`')[0]\n .replace(/\\s\\s+/g, ' ')\n : decoratorSource.split(\"selector: '\")[1].split(\"'\")[0];\n }\n\n private getClassProperties(\n entry: TypeDocEntry,\n ): SkyDocsClassPropertyDefinition[] {\n if (!entry.children) {\n return [];\n }\n\n const definitions = entry.children\n .filter(\n (child) =>\n // We only want properties (both with or without a getter/setter)\n child.kind === TypeDocKind.Property ||\n child.kind === TypeDocKind.Accessor,\n )\n .filter(\n (child) =>\n // We only want accessors that don't have a setter if they are not inputs\n child.kind !== TypeDocKind.Accessor ||\n child.setSignature ||\n this.getDecorator(child)?.name !== 'Input',\n )\n .map((child) => {\n let definition: SkyDocsClassPropertyDefinition = {\n isOptional: true,\n isPreview: false,\n name: this.getPropertyName(child),\n type: this.getTypeDefinition(child),\n };\n let defaultValue: string;\n\n /* Ensure we are properly capturing definitions which use a getter/setter. Final check is a sanity check */\n if (\n child.kind === TypeDocKind.Accessor &&\n !child.comment?.summary\n ?.map((item) => item.text)\n .join('')\n .trim() &&\n (child.setSignature || child.getSignature)\n ) {\n const mainTags = this.getCommentTags(child.comment);\n\n this.applyCommentTagValues(definition, mainTags);\n\n if (child.getSignature) {\n const getTags = this.getCommentTags(child.getSignature.comment);\n\n definition.isOptional = !getTags.extras.required;\n\n this.applyCommentTagValues(definition, getTags);\n defaultValue = this.getDefaultValue(child, getTags);\n }\n\n if (child.setSignature) {\n const setTags = this.getCommentTags(child.setSignature.comment);\n\n this.applyCommentTagValues(definition, setTags);\n\n definition.isOptional =\n definition.isOptional && !setTags.extras.required;\n defaultValue = defaultValue || this.getDefaultValue(child, setTags);\n } else {\n definition.isOptional = !mainTags.extras.required;\n defaultValue = this.getDefaultValue(child, mainTags);\n }\n } else {\n let tags: SkyDocsCommentTags | undefined;\n if (\n child.kind === TypeDocKind.Property &&\n !child.comment?.summary\n ?.map((item) => item.text)\n .join('')\n .trim() &&\n child.type.declaration?.signatures?.length > 0 &&\n child.type.declaration.signatures[0].comment\n ) {\n tags = this.getCommentTags(\n child.type.declaration.signatures[0].comment,\n );\n\n definition.isOptional = !tags.extras.required;\n this.applyCommentTagValues(definition, tags);\n }\n\n tags = this.getCommentTags(child.comment);\n\n definition.isOptional =\n definition.isOptional && !tags.extras.required;\n\n this.applyCommentTagValues(definition, tags);\n\n defaultValue = this.getDefaultValue(child, tags);\n }\n\n if (defaultValue) {\n definition.defaultValue = defaultValue;\n }\n\n const decorator = this.getDecorator(child);\n if (decorator) {\n definition.decorator = decorator;\n }\n\n if (!definition.description) {\n const constructor = entry.children.find(\n (child) => child.kind === TypeDocKind.Constructor,\n );\n if (constructor) {\n const signature = constructor.signatures.find(\n (signature) =>\n signature.kind === TypeDocKind.ConstructorSignature,\n );\n /* Sanity check */\n /* istanbul ignore else */\n if (signature) {\n const matchingParam = signature.parameters?.find(\n (parameter) => parameter.name === child.name,\n );\n if (matchingParam) {\n const matchingParamTags = this.getCommentTags(\n matchingParam.comment,\n );\n this.applyCommentTagValues(definition, matchingParamTags);\n }\n }\n }\n }\n\n return definition;\n });\n\n return orderBy(definitions, ['isOptional', 'name'], ['asc', 'asc']);\n }\n\n private getClassMethods(entry: TypeDocEntry): SkyDocsClassMethodDefinition[] {\n if (!entry.children) {\n return [];\n }\n\n const methods = entry.children\n .filter(\n (child) =>\n child.kind === TypeDocKind.Method && /^ng/.test(child.name) === false,\n )\n .map((child) => {\n const definition: SkyDocsClassMethodDefinition = {\n name: this.getPropertyName(child),\n type: this.getTypeDefinition(child),\n isStatic: !!child.flags?.isStatic,\n isPreview: false,\n parentName: entry.name,\n };\n\n // Comments for methods are stored in a different location.\n const comment = child.signatures[0].comment;\n const tags = this.getCommentTags(comment);\n this.applyCommentTagValues(definition, tags);\n\n const typeParameters = this.getTypeParameterDefinitions(\n child.signatures[0].typeParameters,\n );\n if (typeParameters.length) {\n definition.typeParameters = typeParameters;\n }\n\n return definition;\n });\n\n return orderBy(methods, ['name'], ['asc']);\n }\n\n private getInterfaceProperties(\n entry: TypeDocEntry,\n ): SkyDocsInterfacePropertyDefinition[] {\n if (!entry.children && !entry.indexSignature) {\n return [];\n }\n\n const definitions =\n entry.children?.map((child) => {\n let tags: SkyDocsCommentTags | undefined;\n if (child.kind === TypeDocKind.Method && child.signatures.length > 0) {\n tags = this.getCommentTags(child.signatures[0].comment);\n } else if (\n child.type.type === 'reflection' &&\n child.type?.declaration?.signatures?.length > 0\n ) {\n tags = this.getCommentTags(\n child.type.declaration.signatures[0].comment,\n );\n } else {\n tags = this.getCommentTags(child.comment);\n }\n const definition: SkyDocsInterfacePropertyDefinition = {\n isOptional: tags.extras.required ? false : !!child.flags?.isOptional,\n isPreview: false,\n name: this.getPropertyName(child),\n type: this.getTypeDefinition(child),\n };\n\n this.applyCommentTagValues(definition, tags);\n\n return definition;\n }) || [];\n\n const sorted = orderBy(definitions, ['isOptional', 'name'], ['asc', 'asc']);\n\n // Add any index signatures, e.g. `[_: string]: any`\n if (entry.indexSignature) {\n const indexSignature = entry.indexSignature;\n const definition: SkyDocsInterfacePropertyDefinition = {\n isOptional: true,\n isPreview: false,\n name: indexSignature.name,\n type: {\n indexSignature: this.getIndexSignatureDefinition(indexSignature),\n },\n };\n\n // New versions of typedoc do not seem to add the comment for index signatures - the else statement is a default based on the only index signature we had in September 2023 (SkySelectField).\n if (indexSignature.comment) {\n const tags = this.getCommentTags(indexSignature.comment);\n this.applyCommentTagValues(definition, tags);\n } else {\n definition.description = 'All other properties for an item.';\n }\n sorted.push(definition);\n }\n\n return sorted;\n }\n\n private getEnumerationMembers(\n entry: TypeDocEntry,\n ): SkyDocsEnumerationMemberDefinition[] {\n if (!entry.children) {\n return [];\n }\n\n return entry.children.map((child) => {\n const definition: SkyDocsEnumerationMemberDefinition = {\n name: child.name,\n isPreview: false,\n };\n\n const tags = this.getCommentTags(child.comment);\n this.applyCommentTagValues(definition, tags);\n\n return definition;\n });\n }\n\n private getTypeDefinition(child: TypeDocEntryChild): SkyDocsTypeDefinition {\n let definition: SkyDocsTypeDefinition;\n\n const kind = child.kind;\n switch (kind) {\n case TypeDocKind.Accessor:\n if (child.setSignature) {\n return this.getTypeDefinition(child.setSignature.parameters[0]);\n }\n return this.getTypeDefinition(child.getSignature);\n\n case TypeDocKind.Method:\n definition = {\n callSignature: this.getCallSignatureDefinition(\n child.signatures[0],\n this.getCommentTags(child.comment),\n ),\n name: child.signatures[0].name,\n };\n\n return definition;\n\n default:\n let name: string =\n child.type.name || child.type.elementType?.name || child.type.value;\n\n definition = {\n type: child.type.type,\n };\n\n if (name) {\n definition.name = name;\n }\n\n // Union?\n if (child.type.types) {\n definition.unionTypes = child.type.types.map((t) =>\n this.getTypeDefinition({ type: t }),\n );\n }\n\n // Convert reflection types.\n if (\n child.type.type === 'reflection' ||\n child.type.elementType?.type === 'reflection'\n ) {\n const declaration =\n child.type.elementType?.type === 'reflection'\n ? child.type.elementType.declaration\n : child.type.declaration;\n /*istanbul ignore else */\n if (declaration) {\n if (declaration.signatures) {\n definition.callSignature = this.getCallSignatureDefinition(\n declaration.signatures[0],\n this.getCommentTags(child.comment),\n );\n } else if (declaration.indexSignature) {\n const indexSignature = declaration.indexSignature;\n definition.indexSignature =\n this.getIndexSignatureDefinition(indexSignature);\n } /* istanbul ignore else */ else if (declaration.children) {\n definition.typeLiteral = {\n properties: this.getInterfaceProperties({\n children: declaration.children,\n }),\n };\n }\n }\n }\n\n if (child.type.type === 'typeOperator') {\n definition.name = `${child.type.operator} ${child.type.target.name}`;\n }\n\n if (child.type.typeArguments) {\n definition.typeArguments = this.getTypeArgumentDefinitions(\n child.type,\n );\n }\n\n return definition;\n }\n }\n\n private getParameterDefinitions(\n callSignature: TypeDocSignature,\n parentTags: SkyDocsCommentTags,\n ): SkyDocsParameterDefinition[] {\n if (!callSignature.parameters) {\n return [];\n }\n\n const parameters: SkyDocsParameterDefinition[] =\n callSignature.parameters.map((p) => {\n const tags = this.getParameterCommentTags(p, parentTags);\n const defaultValue = this.getDefaultValue(p, tags);\n const typeArguments = this.getTypeArgumentDefinitions(p.type);\n\n const parameter: SkyDocsParameterDefinition = {\n isOptional: !!(defaultValue || !!p.flags?.isOptional),\n name: p.name,\n type: this.getTypeDefinition(p),\n };\n\n if (defaultValue !== undefined) {\n parameter.defaultValue = defaultValue;\n }\n\n if (tags.description) {\n parameter.description = tags.description;\n }\n\n if (typeArguments.length) {\n parameter.typeArguments = typeArguments;\n }\n\n return parameter;\n });\n return parameters;\n }\n\n private getTypeArgumentDefinitions(\n typeConfig: TypeDocType,\n ): SkyDocsTypeDefinition[] {\n if (!typeConfig || !typeConfig.typeArguments) {\n return [];\n }\n\n return typeConfig.typeArguments.map((typeArgument) => {\n return this.getTypeDefinition({ type: typeArgument });\n });\n }\n\n private getCallSignatureDefinition(\n callSignature: TypeDocSignature,\n tags: SkyDocsCommentTags,\n ): SkyDocsCallSignatureDefinition {\n const definition: SkyDocsCallSignatureDefinition = {\n returnType: this.getTypeDefinition(callSignature),\n };\n\n const parameters = this.getParameterDefinitions(callSignature, tags);\n if (parameters.length) {\n definition.parameters = parameters;\n }\n\n return definition;\n }\n\n private getIndexSignatureDefinition(\n signature: TypeDocSignature,\n ): SkyDocsIndexSignatureDefinition {\n return {\n key: {\n name: signature.parameters[0].name,\n type: this.getTypeDefinition(signature.parameters[0]),\n },\n type: this.getTypeDefinition(signature),\n };\n }\n\n private getTypeParameterDefinitions(\n typeParameters: TypeDocTypeParameter[],\n ): SkyDocsTypeParameterDefinition[] {\n if (!typeParameters) {\n return [];\n }\n\n return typeParameters.map((typeParam) => {\n const definition: SkyDocsTypeParameterDefinition = {\n name: typeParam.name,\n };\n\n if (typeParam.type) {\n definition.type = this.getTypeDefinition({\n type: typeParam.type,\n });\n }\n\n return definition;\n });\n }\n\n private getCommentTags(comment: TypeDocComment): SkyDocsCommentTags {\n let codeExample: string;\n let codeExampleLanguage: string = 'markup';\n let deprecationWarning: string;\n let defaultValue: string;\n let description: string = '';\n\n let parameters: {\n name: string;\n description: string;\n }[];\n\n const extras: {\n [key: string]: any;\n } = {};\n\n if (comment) {\n if (comment.blockTags) {\n comment.blockTags.forEach((tag) => {\n switch (tag.tag) {\n case '@deprecated':\n deprecationWarning = tag.content\n .map((item) => item.text)\n .join('')\n .trim();\n break;\n\n case '@default':\n case '@defaultValue':\n defaultValue = tag.content\n .map((item) => item.text)\n .join('')\n .trim();\n\n if (tag.content[0].kind === 'code') {\n defaultValue = defaultValue.split('```')[1].trim();\n\n const defaultLanguage = defaultValue.split('\\n')[0];\n if (\n defaultLanguage === 'markup' ||\n defaultLanguage === 'typescript' ||\n defaultLanguage === 'ts'\n ) {\n defaultValue = defaultValue\n .slice(defaultLanguage.length)\n .trim();\n }\n }\n break;\n\n case '@example':\n codeExample = tag.content\n .map((item) => item.text)\n .join('')\n .trim()\n .split('```')[1]\n .trim();\n const exampleLanguage = codeExample.split('\\n')[0];\n if (\n exampleLanguage === 'markup' ||\n exampleLanguage === 'typescript' ||\n exampleLanguage === 'ts'\n ) {\n codeExample = codeExample.slice(exampleLanguage.length).trim();\n codeExampleLanguage = exampleLanguage;\n }\n break;\n\n case '@param':\n parameters = parameters || [];\n parameters.push({\n name: tag.param,\n description: tag.content\n .map((item) => item.text)\n .join('')\n .trim(),\n });\n break;\n case '@preview':\n extras['preview'] = true;\n break;\n case '@required':\n extras['required'] = true;\n break;\n /* istanbul ignore next */\n default:\n break;\n }\n });\n }\n\n description = comment.summary\n ?.map((item) => item.text)\n .join('')\n .trim();\n }\n\n return {\n codeExample,\n codeExampleLanguage,\n defaultValue,\n deprecationWarning,\n description,\n extras,\n parameters,\n };\n }\n\n /**\n * Parameter descriptions are derived from the parent's (function/method) comment.\n */\n private getParameterCommentTags(\n parameter: TypeDocParameter,\n parentTags: SkyDocsCommentTags,\n ): SkyDocsCommentTags {\n const tags = this.getCommentTags(parameter.comment);\n const paramTags = parentTags.parameters;\n const tagParam = paramTags\n ? paramTags.find((param) => param.name === parameter.name)\n : undefined;\n\n if (!tagParam || !tagParam.description) {\n return tags;\n }\n\n return {\n ...tags,\n ...{\n description: tagParam.description,\n },\n };\n }\n\n /**\n * Applies comment tag (e.g. `@param`) values to the provided definition, if the value is defined.\n */\n private applyCommentTagValues(\n definition: {\n codeExample?: string;\n codeExampleLanguage?: string;\n deprecationWarning?: string;\n description?: string;\n isPreview?: boolean;\n },\n tags: SkyDocsCommentTags,\n ): void {\n if (tags.codeExample) {\n definition.codeExample = tags.codeExample;\n definition.codeExampleLanguage = tags.codeExampleLanguage;\n }\n\n if (tags.deprecationWarning !== undefined) {\n definition.deprecationWarning = tags.deprecationWarning;\n }\n\n if (tags.description) {\n definition.description = tags.description;\n }\n\n if (tags.extras?.preview) {\n definition.isPreview = tags.extras?.preview;\n }\n }\n\n private getDecorator(\n child: TypeDocEntryChild,\n ): SkyDocsPropertyDecoratorDefinition {\n const name =\n child.decorators && child.decorators[0] && child.decorators[0].name;\n if (name) {\n return { name };\n }\n }\n\n private getPropertyName(property: TypeDocEntryChild): string {\n const decorators = property.decorators && property.decorators[0];\n // Use the Input's bound property name, if found.\n // e.g. @Input('foobar')\n return decorators?.arguments?.bindingPropertyName\n ? decorators.arguments.bindingPropertyName.replace(/(\\'|\\\")/g, '')\n : property.name;\n }\n\n private getDefaultValue(\n child: TypeDocEntryChild,\n tags: SkyDocsCommentTags,\n ): string | undefined {\n if (tags.defaultValue) {\n return tags.defaultValue;\n }\n\n // TypeDoc version 0.20.x stopped auto-generating initializers for the default value\n // (and replaced them with \"...\") due to the complicated logic it required.\n // See: https://github.com/TypeStrong/typedoc/issues/1552\n if (child.defaultValue === '...') {\n return;\n }\n\n return child.defaultValue;\n }\n\n private getAnchorId(entry: TypeDocEntry): string {\n return (\n entry.anchorId ||\n this.typeDefinitionsProvider?.anchorIds[entry.name] ||\n ''\n );\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { SkyDocsTypeDefinitions } from './type-definitions';\n\nimport { SkyDocsTypeDefinitionsProvider } from './type-definitions-provider';\n\nimport { SkyDocsTypeDocAdapterService } from './typedoc-adapter.service';\nimport { TypeDocKind } from './typedoc-types';\n\n/**\n * Handles all type definitions that have been converted from the third-party documentation generator.\n */\n@Injectable({\n providedIn: 'any',\n})\nexport class SkyDocsTypeDefinitionsService {\n constructor(\n private typeDefinitionsProvider: SkyDocsTypeDefinitionsProvider,\n private adapter: SkyDocsTypeDocAdapterService,\n ) {}\n\n /**\n * Returns type definitions from a specific source code location.\n * @param sourceCodePath The directory of the source code you wish to pull type definitions from,\n * relative to the application's root directory.\n */\n public getTypeDefinitions(\n sourceCodePath: string,\n additionalSourceCodePaths?: string[],\n ): SkyDocsTypeDefinitions {\n if (!sourceCodePath) {\n throw new Error('The `sourceCodePath` parameter is required');\n }\n\n const sourceCodePaths: string[] =\n additionalSourceCodePaths && additionalSourceCodePaths.length > 0\n ? [sourceCodePath].concat(additionalSourceCodePaths)\n : [sourceCodePath];\n\n sourceCodePaths.forEach((path) => {\n if (!path.endsWith('/') && !path.endsWith('.ts')) {\n throw new Error(\n 'Source code paths must end with a forward slash (`/`) or `.ts`.',\n );\n }\n });\n\n const allDefinitions = this.typeDefinitionsProvider.typeDefinitions;\n const types: SkyDocsTypeDefinitions = {\n classes: [],\n components: [],\n directives: [],\n enumerations: [],\n interfaces: [],\n pipes: [],\n services: [],\n typeAliases: [],\n hasPreviewFeatures: false,\n };\n\n if (!allDefinitions) {\n console.warn(`No types were found for this project!`);\n return types;\n }\n\n sourceCodePaths.forEach((path) => {\n const requestedDir = path\n .replace(/src\\/app\\/public\\//, '')\n .replace(/^\\//, ''); // remove first slash.\n\n // Only process types that match the requested source code location.\n const typeDefinitions = allDefinitions.filter(\n (i) => i.sources && i.sources[0].fileName.match(requestedDir),\n );\n if (typeDefinitions.length === 0) {\n console.warn(\n `Type definitions were not found for location: ${requestedDir}`,\n );\n }\n\n typeDefinitions.forEach((item) => {\n const decorator = item.decorators && item.decorators[0]?.name;\n const kind = item.kind;\n\n switch (decorator) {\n case 'Component':\n const componentType = this.adapter.toDirectiveDefinition(item);\n types.components.push(componentType);\n types.hasPreviewFeatures ||= componentType.hasPreviewFeatures;\n break;\n case 'Directive':\n const directiveType = this.adapter.toDirectiveDefinition(item);\n types.directives.push(directiveType);\n types.hasPreviewFeatures ||= directiveType.hasPreviewFeatures;\n break;\n case 'Injectable':\n const serviceType = this.adapter.toClassDefinition(item);\n types.services.push(serviceType);\n types.hasPreviewFeatures ||= serviceType.hasPreviewFeatures;\n break;\n case 'NgModule':\n // Don't document modules.\n break;\n case 'Pipe':\n const pipeType = this.adapter.toPipeDefinition(item);\n types.pipes.push(pipeType);\n types.hasPreviewFeatures ||= pipeType.transformMethod.isPreview;\n break;\n default:\n /*tslint:disable-next-line:switch-default*/\n switch (kind) {\n case TypeDocKind.Class:\n const classType = this.adapter.toClassDefinition(item);\n types.classes.push(classType);\n types.hasPreviewFeatures ||= classType.hasPreviewFeatures;\n break;\n case TypeDocKind.Interface:\n const interfaceType = this.adapter.toInterfaceDefinition(item);\n types.interfaces.push(interfaceType);\n types.hasPreviewFeatures ||= interfaceType.hasPreviewFeatures;\n break;\n case TypeDocKind.Enum:\n const enumType = this.adapter.toEnumerationDefinition(item);\n types.enumerations.push(enumType);\n types.hasPreviewFeatures ||= enumType.hasPreviewFeatures;\n break;\n case TypeDocKind.TypeAlias:\n const typeAliasType = this.adapter.toTypeAliasDefinition(item);\n types.typeAliases.push(typeAliasType);\n types.hasPreviewFeatures ||= !!typeAliasType.isPreview;\n break;\n }\n }\n });\n });\n\n return types;\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { SkyDocsTypeDefinitions } from '../type-definitions/type-definitions';\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-docs-demo-page-type-definitions',\n templateUrl: './demo-page-type-definitions.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsDemoPageTypeDefinitionsComponent {\n @Input()\n public types: SkyDocsTypeDefinitions;\n}\n","<ng-template [ngIf]=\"types\">\n <sky-docs-demo-page-section\n *ngIf=\"types.components.length\"\n heading=\"Components\"\n >\n <sky-docs-directive-definition\n *ngFor=\"let config of types.components\"\n [config]=\"config\"\n ></sky-docs-directive-definition>\n </sky-docs-demo-page-section>\n\n <sky-docs-demo-page-section\n *ngIf=\"types.directives.length\"\n heading=\"Directives\"\n >\n <sky-docs-directive-definition\n *ngFor=\"let config of types.directives\"\n [config]=\"config\"\n ></sky-docs-directive-definition>\n </sky-docs-demo-page-section>\n\n <sky-docs-demo-page-section *ngIf=\"types.pipes.length\" heading=\"Pipes\">\n <sky-docs-pipe-definition\n *ngFor=\"let config of types.pipes\"\n [config]=\"config\"\n ></sky-docs-pipe-definition>\n </sky-docs-demo-page-section>\n\n <sky-docs-demo-page-section *ngIf=\"types.services.length\" heading=\"Services\">\n <sky-docs-class-definition\n *ngFor=\"let config of types.services\"\n [config]=\"config\"\n ></sky-docs-class-definition>\n </sky-docs-demo-page-section>\n\n <sky-docs-demo-page-section *ngIf=\"types.classes.length\" heading=\"Classes\">\n <sky-docs-class-definition\n *ngFor=\"let config of types.classes\"\n [config]=\"config\"\n ></sky-docs-class-definition>\n </sky-docs-demo-page-section>\n\n <sky-docs-demo-page-section\n *ngIf=\"types.interfaces.length\"\n heading=\"Interfaces\"\n >\n <sky-docs-interface-definition\n *ngFor=\"let config of types.interfaces\"\n [config]=\"config\"\n ></sky-docs-interface-definition>\n </sky-docs-demo-page-section>\n\n <sky-docs-demo-page-section\n *ngIf=\"types.enumerations.length\"\n heading=\"Enumerations\"\n >\n <sky-docs-enumeration-definition\n *ngFor=\"let config of types.enumerations\"\n [config]=\"config\"\n ></sky-docs-enumeration-definition>\n </sky-docs-demo-page-section>\n\n <sky-docs-demo-page-section\n *ngIf=\"types.typeAliases.length\"\n heading=\"Type aliases\"\n >\n <sky-docs-type-alias-definition\n *ngFor=\"let config of types.typeAliases\"\n [config]=\"config\"\n ></sky-docs-type-alias-definition>\n </sky-docs-demo-page-section>\n</ng-template>\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n Input,\n OnInit,\n QueryList,\n inject,\n} from '@angular/core';\n\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport { SkyAppConfig } from '@skyux/config';\n\nimport { StacheNavLink } from '@blackbaud/skyux-lib-stache';\n\nimport { SkyDocsCodeExamplesComponent } from '../code-examples/code-examples.component';\n\nimport { SkyDocsDesignGuidelinesComponent } from '../design-guidelines/design-guidelines.component';\n\nimport { SkyDocsSupportalService } from '../shared/docs-tools-supportal.service';\n\nimport { SkyDocsComponentInfo } from '../shared/docs-tools-component-info';\n\nimport { SkyDocsDemoPageDomAdapterService } from './demo-page-dom-adapter.service';\n\nimport { SkyDocsDemoPageTitleService } from './demo-page-title.service';\nimport { SkyDocsTypeDefinitionsService } from '../type-definitions/type-definitions.service';\nimport { SkyDocsTypeDefinitions } from '../type-definitions/type-definitions';\nimport { SkyDocsToolsSiteOptions } from '../shared/docs-tools-site-options';\n\n/**\n * The demo page component wraps all documentation components and handles the configuration and layout of the page.\n * @example\n * ```\n * <sky-docs-demo-page\n * pageTitle=\"My demo page\"\n * >\n * Content here.\n * </sky-docs-demo-page>\n * ```\n */\n@Component({\n selector: 'sky-docs-demo-page',\n templateUrl: './demo-page.component.html',\n styleUrls: ['./demo-page.component.scss'],\n providers: [SkyDocsDemoPageDomAdapterService],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsDemoPageComponent\n implements OnInit, AfterContentInit, AfterViewInit\n{\n /**\n * Specifies the local path to any other relevant source code. The values are relative to the root directory.\n */\n @Input()\n public set additionalSourceCodePaths(paths: string[] | undefined) {\n this.#_additionalSourceCodePaths = paths;\n this.#updateTypes();\n }\n\n public get additionalSourceCodePaths(): string[] | undefined {\n return this.#_additionalSourceCodePaths;\n }\n\n /**\n * Specifies the local path to any other relevant testing source code. The values are relative to the root directory.\n */\n @Input()\n public set additionalTestingSourceCodePaths(paths: string[] | undefined) {\n this.#_additionalTestingSourceCodePaths = paths;\n this.#updateTestingTypes();\n }\n\n public get additionalTestingSourceCodePaths(): string[] | undefined {\n return this.#_additionalTestingSourceCodePaths;\n }\n\n /**\n * Specifies the URL to the repo that stores the module's source code.\n * @required\n */\n @Input()\n public gitRepoUrl: string;\n\n /**\n * Specifies the TypeScript class name of the module. For example, `SkySampleModule`.\n */\n @Input()\n public moduleName: string;\n\n /**\n * Specifies the local path to the module's source code. The value is relative to the root directory.\n */\n @Input()\n public set moduleSourceCodePath(path: string | undefined) {\n this.#_moduleSourceCodePath = path;\n this.testingSourceCodePath = path.replace('/modules/', '/testing/');\n this.#updateTypes();\n this.#updateTestingTypes();\n }\n\n public get moduleSourceCodePath(): string | undefined {\n return this.#_moduleSourceCodePath;\n }\n\n /**\n * Specifies the type definitions for the development tab.\n */\n public moduleTypeDefinitions: SkyDocsTypeDefinitions | undefined;\n\n /**\n * Specifies the local path to the testing source code. The value is relative to the root directory.\n */\n public testingSourceCodePath: string;\n\n /**\n * Specifies the type definitions for the testing tab.\n */\n public testingTypeDefinitions: SkyDocsTypeDefinitions | undefined;\n\n /**\n * Specifies the qualified name of the NPM package. For example, `@blackbaud/sample`.\n * @required\n */\n @Input()\n public packageName: string;\n\n /**\n * Specifies the URL to the NPM package.\n */\n @Input()\n public packageUrl: string;\n\n /**\n * Specifies the primary page heading.\n * @required\n */\n @Input()\n public pageTitle: string;\n\n /**\n * @internal\n */\n public enableCodeExamples = false;\n\n /**\n * @internal\n */\n public enableTestingTab = false;\n\n /**\n * @internal\n */\n public enableTabLayout = false;\n\n /**\n * @internal\n */\n public sidebarRoutes: StacheNavLink[];\n\n protected hasPreviewFeatures = false;\n\n @ContentChild(SkyDocsDesignGuidelinesComponent)\n private designGuidelinesComponent: SkyDocsDesignGuidelinesComponent;\n\n @ContentChildren(SkyDocsCodeExamplesComponent)\n private codeExampleComponents: QueryList<SkyDocsCodeExamplesComponent>;\n\n protected readonly siteOptions: SkyDocsToolsSiteOptions | undefined = inject(\n SkyDocsToolsSiteOptions,\n { optional: true },\n );\n\n #_additionalSourceCodePaths: string[] | undefined;\n #_additionalTestingSourceCodePaths: string[] | undefined;\n #_moduleSourceCodePath: string | undefined;\n\n constructor(\n private activatedRoute: ActivatedRoute,\n private changeDetector: ChangeDetectorRef,\n private router: Router,\n private skyAppConfig: SkyAppConfig,\n private domAdapter: SkyDocsDemoPageDomAdapterService,\n private supportalService: SkyDocsSupportalService,\n private titleService: SkyDocsDemoPageTitleService,\n private typeDefinitionService: SkyDocsTypeDefinitionsService,\n ) {}\n\n public ngOnInit(): void {\n const currentHostUrl =\n this.skyAppConfig.skyux.host.url + '/' + this.skyAppConfig.skyux.name;\n this.updateTitle();\n\n this.supportalService\n .getComponentsInfo()\n .subscribe((results: SkyDocsComponentInfo[]) => {\n this.sidebarRoutes = [\n {\n name: 'Components',\n path: 'https://developer.blackbaud.com/skyux/components',\n children: results.map((component: SkyDocsComponentInfo) => ({\n name: component.name,\n path: this.getPath(component.url, currentHostUrl),\n })),\n },\n ];\n this.changeDetector.markForCheck();\n });\n }\n\n public ngAfterContentInit(): void {\n this.enableCodeExamples = this.codeExampleComponents.length > 0;\n this.enableTabLayout =\n !!this.designGuidelinesComponent || this.enableCodeExamples;\n }\n\n public ngAfterViewInit(): void {\n // Watch for route fragment to change and scroll to heading.\n this.activatedRoute.fragment.subscribe((fragment) => {\n this.domAdapter.scrollToFragment(fragment);\n });\n\n // Change the HREF attribute for all dynamic links when the query params change.\n // This will also generate the appropriate HREF if the user wants to open the link in a new window.\n this.activatedRoute.queryParams.subscribe(() => {\n this.domAdapter.setupAnchorLinks();\n });\n\n // When a dynamic link is clicked, use Angular's router so that everything works correctly.\n this.domAdapter.anchorLinkClick.subscribe((anchorLink: any) => {\n const fragment = anchorLink.href.split('#')[1];\n\n this.router.navigate([], {\n fragment,\n queryParamsHandling: 'merge',\n });\n\n if (this.activatedRoute.snapshot.fragment === fragment) {\n this.domAdapter.scrollToFragment(fragment);\n }\n });\n }\n\n private updateTitle(): void {\n /*istanbul ignore else*/\n if (this.pageTitle) {\n this.titleService.setTitle(this.pageTitle, 'Components');\n }\n }\n\n private getPath(url: string, currentHostUrl: string): string {\n // Replace host + SPA so Stache will mark active.\n // Strip URL params is url is local, as those will be preserved by stacheRouterLink.\n if (url.indexOf(currentHostUrl) > -1) {\n return url.replace(currentHostUrl, '').split('?')[0];\n } else {\n return url;\n }\n }\n\n #updateTypes(): void {\n this.moduleTypeDefinitions = this.typeDefinitionService.getTypeDefinitions(\n this.moduleSourceCodePath,\n this.additionalSourceCodePaths,\n );\n }\n\n #updateTestingTypes(): void {\n this.testingTypeDefinitions = this.typeDefinitionService.getTypeDefinitions(\n this.testingSourceCodePath,\n this.additionalTestingSourceCodePaths,\n );\n this.enableTestingTab = Object.values(this.testingTypeDefinitions).some(\n (value) => value && value.length > 0,\n );\n }\n}\n","<div class=\"sky-docs-demo-page\">\n <stache\n layout=\"sidebar\"\n [pageTitle]=\"pageTitle\"\n [showBreadcrumbs]=\"false\"\n [showTableOfContents]=\"false\"\n [sidebarRoutes]=\"sidebarRoutes\"\n >\n <ng-content select=\"sky-docs-demo-page-summary\"></ng-content>\n\n <sky-alert\n *ngIf=\"\n moduleTypeDefinitions?.hasPreviewFeatures ||\n testingTypeDefinitions?.hasPreviewFeatures\n \"\n class=\"sky-docs-demo-page-preview-alert sky-margin-stacked-lg\"\n >This component currently has preview features available that may not be\n fully represented in the design documentation, the demo, or code examples.\n <ng-container *ngIf=\"siteOptions?.previewFeaturesUrl\"\n >Learn more about this work\n <a [skyAppLink]=\"siteOptions?.previewFeaturesUrl\"\n >here.</a\n ></ng-container\n ></sky-alert\n >\n\n <ng-content select=\"sky-docs-demo\"></ng-content>\n\n <div class=\"sky-docs-demo-page-main\">\n <sky-tabset *ngIf=\"enableTabLayout; else content\" permalinkId=\"docs\">\n <sky-tab tabHeading=\"Design\" *ngIf=\"!!designGuidelinesComponent\">\n <ng-content select=\"sky-docs-design-guidelines\"></ng-content>\n </sky-tab>\n\n <sky-tab tabHeading=\"Development\">\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n </sky-tab>\n\n <sky-tab tabHeading=\"Testing\" *ngIf=\"enableTestingTab\">\n <sky-docs-demo-page-section heading=\"Test harnesses\">\n <p>\n SKY UX test harnesses are built upon Angular CDK component\n harnesses. For more information see the\n <a href=\"https://material.angular.io/cdk/test-harnesses/overview\"\n >Angular CDK component harness documentation</a\n >.\n </p>\n </sky-docs-demo-page-section>\n <sky-docs-demo-page-type-definitions [types]=\"testingTypeDefinitions\">\n </sky-docs-demo-page-type-definitions>\n </sky-tab>\n\n <sky-tab tabHeading=\"Code examples\" *ngIf=\"enableCodeExamples\">\n <ng-content select=\"sky-docs-code-examples\"></ng-content>\n </sky-tab>\n </sky-tabset>\n </div>\n </stache>\n</div>\n\n<ng-template #content>\n <sky-docs-demo-page-section\n *ngIf=\"moduleName || packageName\"\n heading=\"Installation\"\n >\n <sky-docs-module-info\n [gitRepoUrl]=\"gitRepoUrl\"\n [moduleName]=\"moduleName\"\n [packageName]=\"packageName\"\n [packageUrl]=\"packageUrl\"\n >\n <ng-content select=\"sky-docs-demo-page-module-info\"></ng-content>\n </sky-docs-module-info>\n </sky-docs-demo-page-section>\n\n <ng-content></ng-content>\n\n <sky-docs-demo-page-type-definitions [types]=\"moduleTypeDefinitions\">\n </sky-docs-demo-page-type-definitions>\n</ng-template>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'sky-docs-demo-page-module-info',\n template: '<ng-content></ng-content>',\n})\nexport class SkyDocsDemoPageModuleInfoComponent {}\n","import { CommonModule } from '@angular/common';\n\nimport { NgModule } from '@angular/core';\n\nimport {\n SkyCodeBlockModule,\n SkyCodeModule,\n} from '@blackbaud/skyux-lib-code-block';\n\nimport {\n StachePageSummaryModule,\n StacheWrapperModule,\n} from '@blackbaud/skyux-lib-stache';\n\nimport { RouterModule } from '@angular/router';\n\nimport { SkyTabsModule } from '@skyux/tabs';\n\nimport { SkyDocsDemoModule } from '../demo/demo.module';\n\nimport { SkyDocsHeadingAnchorModule } from '../heading-anchor/heading-anchor.module';\n\nimport { SkyDocsMarkdownModule } from '../markdown/markdown.module';\n\nimport { SkyDocsModuleInfoModule } from '../module-info/module-info.module';\n\nimport { SkyDocsTypeDefinitionsModule } from '../type-definitions/type-definitions.module';\n\nimport { SkyDocsDemoPageSectionComponent } from './demo-page-section.component';\n\nimport { SkyDocsDemoPageSummaryComponent } from './demo-page-summary.component';\n\nimport { SkyDocsDemoPageComponent } from './demo-page.component';\n\nimport { SkyDocsDemoPageModuleInfoComponent } from './demo-page-module-info.component';\n\nimport { SkyDocsDemoPageTypeDefinitionsComponent } from './demo-page-type-definitions.component';\nimport { SkyAlertModule } from '@skyux/indicators';\nimport { SkyAppLinkModule } from '@skyux/router';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n SkyAlertModule,\n SkyAppLinkModule,\n SkyCodeBlockModule,\n SkyCodeModule,\n SkyDocsDemoModule,\n SkyDocsHeadingAnchorModule,\n SkyDocsMarkdownModule,\n SkyDocsModuleInfoModule,\n SkyDocsTypeDefinitionsModule,\n SkyTabsModule,\n StachePageSummaryModule,\n StacheWrapperModule,\n ],\n declarations: [\n SkyDocsDemoPageComponent,\n SkyDocsDemoPageModuleInfoComponent,\n SkyDocsDemoPageSectionComponent,\n SkyDocsDemoPageSummaryComponent,\n SkyDocsDemoPageTypeDefinitionsComponent,\n ],\n exports: [\n SkyDocsDemoPageComponent,\n SkyDocsDemoPageModuleInfoComponent,\n SkyDocsDemoPageSectionComponent,\n SkyDocsDemoPageSummaryComponent,\n SkyDocsDemoPageTypeDefinitionsComponent,\n ],\n})\nexport class SkyDocsDemoPageModule {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'sky-docs-design-guideline-thumbnail',\n templateUrl: './design-guideline-thumbnail.component.html',\n styleUrls: ['./design-guideline-thumbnail.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsDesignGuidelineThumbnailComponent {\n @Input()\n public caption: string;\n\n @Input()\n public captionType: string;\n\n @Input()\n public imageAlt: string;\n\n @Input()\n public imageSource: string;\n\n @Input()\n public videoSource: string;\n\n @Input()\n public showBorder: boolean = false;\n}\n","<div class=\"sky-docs-design-guideline-thumbnail\">\n <sky-docs-thumbnail\n [caption]=\"caption\"\n [captionType]=\"captionType\"\n [imageAlt]=\"imageAlt\"\n [imageSource]=\"imageSource\"\n [videoSource]=\"videoSource\"\n [showBorder]=\"showBorder\"\n ></sky-docs-thumbnail>\n</div>\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Input,\n QueryList,\n} from '@angular/core';\n\nimport { SkyDocsDesignGuidelineThumbnailComponent } from './design-guideline-thumbnail.component';\n\n@Component({\n selector: 'sky-docs-design-guideline',\n templateUrl: './design-guideline.component.html',\n styleUrls: ['./design-guideline.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsDesignGuidelineComponent implements AfterContentInit {\n @Input()\n public heading: string;\n\n @Input()\n public headingStyle: 'default' | 'success' | 'danger' = 'default';\n\n public get classNames(): string {\n const classNames: string[] = [];\n\n classNames.push(`sky-text-${this.headingStyle}`);\n\n return classNames.join(' ');\n }\n\n public hasThumbnails = false;\n\n @ContentChildren(SkyDocsDesignGuidelineThumbnailComponent)\n private thumbnails: QueryList<SkyDocsDesignGuidelineThumbnailComponent>;\n\n public ngAfterContentInit(): void {\n this.hasThumbnails = !!this.thumbnails.length;\n }\n}\n","<div class=\"sky-docs-design-guideline\">\n <h3\n *ngIf=\"heading\"\n class=\"sky-docs-design-guideline-heading\"\n [ngClass]=\"classNames\"\n >\n {{ heading }}\n </h3>\n <sky-row *ngIf=\"hasThumbnails; else content\">\n <sky-column screenSmall=\"6\" screenMedium=\"5\" screenLarge=\"4\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </sky-column>\n <sky-column screenSmall=\"6\" screenMedium=\"7\" screenLarge=\"8\">\n <div class=\"sky-docs-design-guideline-thumbnails\">\n <ng-container *ngTemplateOutlet=\"thumbnails\"></ng-container>\n </div>\n </sky-column>\n </sky-row>\n</div>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #thumbnails>\n <ng-content select=\"sky-docs-design-guideline-thumbnail\"></ng-content>\n</ng-template>\n","import { CommonModule } from '@angular/common';\n\nimport { NgModule } from '@angular/core';\n\nimport { SkyFluidGridModule } from '@skyux/layout';\n\nimport { SkyDocsThumbnailModule } from '../thumbnail/thumbnail.module';\n\nimport { SkyDocsDesignGuidelineComponent } from './design-guideline.component';\n\nimport { SkyDocsDesignGuidelinesComponent } from './design-guidelines.component';\n\nimport { SkyDocsDesignGuidelineThumbnailComponent } from './design-guideline-thumbnail.component';\n\n@NgModule({\n imports: [CommonModule, SkyDocsThumbnailModule, SkyFluidGridModule],\n declarations: [\n SkyDocsDesignGuidelineComponent,\n SkyDocsDesignGuidelineThumbnailComponent,\n SkyDocsDesignGuidelinesComponent,\n ],\n exports: [\n SkyDocsDesignGuidelineComponent,\n SkyDocsDesignGuidelineThumbnailComponent,\n SkyDocsDesignGuidelinesComponent,\n ],\n})\nexport class SkyDocsDesignGuidelinesModule {}\n","import { NgModule } from '@angular/core';\n\nimport { SkyDocsAnatomyModule } from './modules/anatomy/anatomy.module';\n\nimport { SkyDocsCodeExamplesModule } from './modules/code-examples/code-examples.module';\n\nimport { SkyDocsDemoModule } from './modules/demo/demo.module';\n\nimport { SkyDocsDemoPageModule } from './modules/demo-page/demo-page.module';\n\nimport { SkyDocsDesignGuidelinesModule } from './modules/design-guidelines/design-guidelines.module';\n\n/**\n * This module conveniently exports the most commonly used modules.\n */\n@NgModule({\n exports: [\n SkyDocsAnatomyModule,\n SkyDocsCodeExamplesModule,\n SkyDocsDemoModule,\n SkyDocsDemoPageModule,\n SkyDocsDesignGuidelinesModule,\n ],\n})\nexport class SkyDocsToolsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1.SkyDocsThumbnailComponent","i1","ANGULAR_VERSION","SKY_UX_VERSION","SKY_UX_ICONS_VERSION","i1.SkyDocsSourceCodeProvider","i1.SkyDocsCodeExamplesEditorService","i2.SkyDocsSourceCodeService","i3","i5","i1.SkyDocsToolsOptions","i4","i6","i7","i1.SkyDocsTypeDefinitionsProvider","i1.SkyDocsAnchorLinkService","i1.SkyDocsTypeDefinitionsFormatService","i4.SkyDocsSafeHtmlComponent","i5.SkyDocsMarkdownPipe","i6.SkyDocsTypeAnchorLinksPipe","i5.SkyDocsPreviewIndicatorComponent","i6.SkyDocsSafeHtmlComponent","i8.SkyDocsCallSignatureDefinitionComponent","i9.SkyDocsMarkdownPipe","i10.SkyDocsTypeAnchorLinksPipe","i3.SkyDocsHeadingAnchorComponent","i5.SkyDocsPropertyDefinitionsComponent","i6.SkyDocsMarkdownPipe","i7.SkyDocsTypeAnchorLinksPipe","i2.SkyDocsHeadingAnchorComponent","i3.SkyDocsSafeHtmlComponent","i4.SkyDocsPropertyDefinitionsComponent","i4.SkyDocsHeadingAnchorComponent","i5.SkyDocsSafeHtmlComponent","i6.SkyDocsPropertyDefinitionsComponent","i7.SkyDocsMarkdownPipe","i8.SkyDocsTypeAnchorLinksPipe","i7.SkyDocsCallSignatureDefinitionComponent","i8.SkyDocsMarkdownPipe","i9.SkyDocsTypeAnchorLinksPipe","i5.SkyDocsMethodDefinitionsComponent","i4.SkyDocsMethodDefinitionsComponent","i2.SkyDocsTypeDocAdapterService","i2.SkyDocsClassDefinitionComponent","i3.SkyDocsDirectiveDefinitionComponent","i4.SkyDocsEnumerationDefinitionComponent","i5.SkyDocsInterfaceDefinitionComponent","i6.SkyDocsPipeDefinitionComponent","i7.SkyDocsTypeAliasDefinitionComponent","i8.SkyDocsDemoPageSectionComponent","i3.SkyDocsDemoPageDomAdapterService","i4.SkyDocsSupportalService","i5.SkyDocsDemoPageTitleService","i6.SkyDocsTypeDefinitionsService","i8","i10.SkyDocsModuleInfoComponent","i11","i13.SkyDocsDemoPageSectionComponent","i14.SkyDocsDemoPageTypeDefinitionsComponent"],"mappings":"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"}
1
+ {"version":3,"file":"skyux-docs-tools.mjs","sources":["../../../projects/docs-tools/src/modules/anatomy/anatomy-item.component.ts","../../../projects/docs-tools/src/modules/anatomy/anatomy-item.component.html","../../../projects/docs-tools/src/modules/anatomy/anatomy.component.ts","../../../projects/docs-tools/src/modules/anatomy/anatomy.component.html","../../../projects/docs-tools/src/modules/thumbnail/thumbnail.component.ts","../../../projects/docs-tools/src/modules/thumbnail/thumbnail.component.html","../../../projects/docs-tools/src/modules/thumbnail/thumbnail.module.ts","../../../projects/docs-tools/src/modules/anatomy/anatomy-thumbnail.component.ts","../../../projects/docs-tools/src/modules/anatomy/anatomy-thumbnail.component.html","../../../projects/docs-tools/src/modules/anatomy/anatomy.module.ts","../../../projects/docs-tools/src/modules/shared/sky-docs-tools-resources.module.ts","../../../projects/docs-tools/src/modules/code-examples/code-example-theme.ts","../../../projects/docs-tools/src/modules/code-examples/code-example.component.ts","../../../projects/docs-tools/src/modules/code-examples/code-examples-editor.service.ts","../../../projects/docs-tools/src/modules/source-code/source-code-provider.ts","../../../projects/docs-tools/src/modules/source-code/source-code.service.ts","../../../projects/docs-tools/src/modules/code-examples/code-examples.component.ts","../../../projects/docs-tools/src/modules/code-examples/code-examples.component.html","../../../projects/docs-tools/src/modules/code-examples/code-examples.module.ts","../../../projects/docs-tools/src/modules/demo/demo-control-panel-checkbox.component.ts","../../../projects/docs-tools/src/modules/demo/demo-control-panel-checkbox.component.html","../../../projects/docs-tools/src/modules/demo/demo-control-panel-radio-group.component.ts","../../../projects/docs-tools/src/modules/demo/demo-control-panel-radio-group.component.html","../../../projects/docs-tools/src/modules/demo/demo-control-panel.component.ts","../../../projects/docs-tools/src/modules/demo/demo-control-panel.component.html","../../../projects/docs-tools/src/modules/demo/demo-custom-control-panel.component.ts","../../../projects/docs-tools/src/modules/demo/demo-custom-control-panel.component.html","../../../projects/docs-tools/src/modules/demo/demo.component.ts","../../../projects/docs-tools/src/modules/demo/demo.component.html","../../../projects/docs-tools/src/modules/demo/demo-control-panel-section.component.ts","../../../projects/docs-tools/src/modules/demo/demo-control-panel-section.component.html","../../../projects/docs-tools/src/modules/demo/demo.module.ts","../../../projects/docs-tools/src/modules/heading-anchor/heading-anchor.component.ts","../../../projects/docs-tools/src/modules/heading-anchor/heading-anchor.component.html","../../../projects/docs-tools/src/modules/heading-anchor/heading-anchor.module.ts","../../../projects/docs-tools/src/modules/markdown/markdown.pipe.ts","../../../projects/docs-tools/src/modules/markdown/markdown.module.ts","../../../projects/docs-tools/src/modules/shared/docs-tools-options.ts","../../../projects/docs-tools/src/modules/module-info/module-info.component.ts","../../../projects/docs-tools/src/modules/module-info/module-info.component.html","../../../projects/docs-tools/src/modules/module-info/module-info.module.ts","../../../projects/docs-tools/src/modules/safe-html/safe-html.component.ts","../../../projects/docs-tools/src/modules/safe-html/safe-html.component.html","../../../projects/docs-tools/src/modules/safe-html/safe-html.module.ts","../../../projects/docs-tools/src/modules/type-definitions/type-definitions-format.service.ts","../../../projects/docs-tools/src/modules/type-definitions/type-definitions-provider.ts","../../../projects/docs-tools/src/modules/type-definitions/anchor-link.service.ts","../../../projects/docs-tools/src/modules/type-definitions/type-anchor-links.pipe.ts","../../../projects/docs-tools/src/modules/type-definitions/call-signature-definition.component.ts","../../../projects/docs-tools/src/modules/type-definitions/call-signature-definition.component.html","../../../projects/docs-tools/src/modules/type-definitions/preview-feature-indicator.component.ts","../../../projects/docs-tools/src/modules/type-definitions/preview-feature-indicator.component.html","../../../projects/docs-tools/src/modules/type-definitions/property-definitions.component.ts","../../../projects/docs-tools/src/modules/type-definitions/property-definitions.component.html","../../../projects/docs-tools/src/modules/type-definitions/directive-definition.component.ts","../../../projects/docs-tools/src/modules/type-definitions/directive-definition.component.html","../../../projects/docs-tools/src/modules/type-definitions/enumeration-definition.component.ts","../../../projects/docs-tools/src/modules/type-definitions/enumeration-definition.component.html","../../../projects/docs-tools/src/modules/type-definitions/interface-definition.component.ts","../../../projects/docs-tools/src/modules/type-definitions/interface-definition.component.html","../../../projects/docs-tools/src/modules/type-definitions/method-definitions.component.ts","../../../projects/docs-tools/src/modules/type-definitions/method-definitions.component.html","../../../projects/docs-tools/src/modules/type-definitions/pipe-definition.component.ts","../../../projects/docs-tools/src/modules/type-definitions/pipe-definition.component.html","../../../projects/docs-tools/src/modules/type-definitions/class-definition.component.ts","../../../projects/docs-tools/src/modules/type-definitions/class-definition.component.html","../../../projects/docs-tools/src/modules/type-definitions/type-alias-definition.component.ts","../../../projects/docs-tools/src/modules/type-definitions/type-alias-definition.component.html","../../../projects/docs-tools/src/modules/type-definitions/type-definitions.module.ts","../../../projects/docs-tools/src/modules/demo-page/demo-page-section.component.ts","../../../projects/docs-tools/src/modules/demo-page/demo-page-section.component.html","../../../projects/docs-tools/src/modules/demo-page/demo-page-summary.component.ts","../../../projects/docs-tools/src/modules/demo-page/demo-page-summary.component.html","../../../projects/docs-tools/src/modules/design-guidelines/design-guidelines.component.ts","../../../projects/docs-tools/src/modules/design-guidelines/design-guidelines.component.html","../../../projects/docs-tools/src/modules/demo-page/demo-page-dom-adapter.service.ts","../../../projects/docs-tools/src/modules/shared/docs-tools-site-options.ts","../../../projects/docs-tools/src/modules/shared/docs-tools-supportal.service.ts","../../../projects/docs-tools/src/modules/demo-page/demo-page-title.service.ts","../../../projects/docs-tools/src/modules/type-definitions/typedoc-types.ts","../../../projects/docs-tools/src/modules/type-definitions/typedoc-adapter.service.ts","../../../projects/docs-tools/src/modules/type-definitions/type-definitions.service.ts","../../../projects/docs-tools/src/modules/demo-page/demo-page-type-definitions.component.ts","../../../projects/docs-tools/src/modules/demo-page/demo-page-type-definitions.component.html","../../../projects/docs-tools/src/modules/demo-page/demo-page.component.ts","../../../projects/docs-tools/src/modules/demo-page/demo-page.component.html","../../../projects/docs-tools/src/modules/demo-page/demo-page-module-info.component.ts","../../../projects/docs-tools/src/modules/demo-page/demo-page.module.ts","../../../projects/docs-tools/src/modules/design-guidelines/design-guideline-thumbnail.component.ts","../../../projects/docs-tools/src/modules/design-guidelines/design-guideline-thumbnail.component.html","../../../projects/docs-tools/src/modules/design-guidelines/design-guideline.component.ts","../../../projects/docs-tools/src/modules/design-guidelines/design-guideline.component.html","../../../projects/docs-tools/src/modules/design-guidelines/design-guidelines.module.ts","../../../projects/docs-tools/src/docs-tools.module.ts","../../../projects/docs-tools/src/skyux-docs-tools.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'sky-docs-anatomy-item',\n templateUrl: './anatomy-item.component.html',\n styleUrls: ['./anatomy-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsAnatomyItemComponent {\n @Input()\n public isOptional: boolean = false;\n\n public marker: string;\n}\n","<div\n class=\"sky-docs-anatomy-item\"\n [ngClass]=\"{\n 'sky-docs-anatomy-item-optional': isOptional\n }\"\n>\n <div class=\"sky-docs-anatomy-item-marker\">\n {{ marker }}\n </div>\n <div class=\"sky-docs-anatomy-item-description\">\n <ng-content></ng-content>\n <span *ngIf=\"isOptional\" class=\"sky-deemphasized\">&nbsp;(optional)</span>\n </div>\n</div>\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Input,\n QueryList,\n} from '@angular/core';\n\nimport { SkyDocsAnatomyItemComponent } from './anatomy-item.component';\n\n@Component({\n selector: 'sky-docs-anatomy',\n templateUrl: './anatomy.component.html',\n styleUrls: ['./anatomy.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsAnatomyComponent implements AfterContentInit {\n @Input()\n public imagePath: string;\n\n @ContentChildren(SkyDocsAnatomyItemComponent)\n private anatomyItems: QueryList<SkyDocsAnatomyItemComponent>;\n\n public ngAfterContentInit(): void {\n this.anatomyItems.forEach((item, i) => {\n item.marker = (i + 1).toString();\n });\n }\n}\n","<div class=\"sky-docs-anatomy\">\n <sky-row>\n <sky-column\n class=\"sky-docs-anatomy-items\"\n screenSmall=\"6\"\n screenMedium=\"5\"\n screenLarge=\"4\"\n >\n <ng-content select=\"sky-docs-anatomy-item\"></ng-content>\n </sky-column>\n <sky-column screenSmall=\"6\" screenMedium=\"7\" screenLarge=\"8\">\n <sky-image\n *ngIf=\"imagePath; else thumbnails\"\n [imageSource]=\"imagePath\"\n ></sky-image>\n </sky-column>\n </sky-row>\n</div>\n\n<ng-template #thumbnails>\n <ng-content select=\"sky-docs-anatomy-thumbnail\"></ng-content>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'sky-docs-thumbnail',\n templateUrl: './thumbnail.component.html',\n styleUrls: ['./thumbnail.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsThumbnailComponent {\n @Input()\n public caption: string;\n\n @Input()\n public captionType: string;\n\n @Input()\n public imageAlt: string;\n\n @Input()\n public imageSource: string;\n\n @Input()\n public showBorder: boolean = false;\n\n @Input()\n public videoSource: string;\n}\n","<div class=\"sky-docs-thumbnail\">\n <sky-image\n *ngIf=\"imageSource\"\n [caption]=\"caption\"\n [captionType]=\"captionType\"\n [imageAlt]=\"imageAlt\"\n [imageSource]=\"imageSource\"\n [showBorder]=\"showBorder\"\n [showCaptionPrefix]=\"false\"\n ></sky-image>\n <div\n *ngIf=\"videoSource\"\n class=\"sky-docs-video\"\n [ngClass]=\"{\n 'sky-docs-video-border': showBorder\n }\"\n >\n <video controls>\n <source [attr.src]=\"videoSource\" type=\"video/mp4\" />\n </video>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\n\nimport { NgModule } from '@angular/core';\n\nimport { SkyImageModule } from '@blackbaud/skyux-lib-media';\n\nimport { SkyDocsThumbnailComponent } from './thumbnail.component';\n\n@NgModule({\n imports: [CommonModule, SkyImageModule],\n exports: [SkyDocsThumbnailComponent],\n declarations: [SkyDocsThumbnailComponent],\n})\nexport class SkyDocsThumbnailModule {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'sky-docs-anatomy-thumbnail',\n templateUrl: './anatomy-thumbnail.component.html',\n styleUrls: ['./anatomy-thumbnail.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsAnatomyThumbnailComponent {\n @Input()\n public caption: string;\n\n @Input()\n public captionType: string;\n\n @Input()\n public imageAlt: string;\n\n @Input()\n public imageSource: string;\n\n @Input()\n public videoSource: string;\n\n @Input()\n public showBorder: boolean = false;\n}\n","<div class=\"sky-docs-anatomy-thumbnail\">\n <sky-docs-thumbnail\n [caption]=\"caption\"\n [captionType]=\"captionType\"\n [imageAlt]=\"imageAlt\"\n [imageSource]=\"imageSource\"\n [videoSource]=\"videoSource\"\n [showBorder]=\"showBorder\"\n ></sky-docs-thumbnail>\n</div>\n","import { CommonModule } from '@angular/common';\n\nimport { NgModule } from '@angular/core';\n\nimport { SkyImageModule } from '@blackbaud/skyux-lib-media';\n\nimport { SkyFluidGridModule } from '@skyux/layout';\n\nimport { SkyDocsAnatomyComponent } from './anatomy.component';\n\nimport { SkyDocsAnatomyItemComponent } from './anatomy-item.component';\nimport { SkyDocsThumbnailModule } from '../thumbnail/thumbnail.module';\nimport { SkyDocsAnatomyThumbnailComponent } from './anatomy-thumbnail.component';\n\n@NgModule({\n imports: [\n CommonModule,\n SkyDocsThumbnailModule,\n SkyFluidGridModule,\n SkyImageModule,\n ],\n declarations: [\n SkyDocsAnatomyComponent,\n SkyDocsAnatomyItemComponent,\n SkyDocsAnatomyThumbnailComponent,\n ],\n exports: [\n SkyDocsAnatomyComponent,\n SkyDocsAnatomyItemComponent,\n SkyDocsAnatomyThumbnailComponent,\n ],\n})\nexport class SkyDocsAnatomyModule {}\n","/* istanbul ignore file */\n\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 modules/shared/sky-docs-tools' schematic.\n * To update this file, simply rerun the command.\n */\n\nimport { NgModule } from '@angular/core';\nimport {\n SKY_LIB_RESOURCES_PROVIDERS,\n SkyAppLocaleInfo,\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesProvider,\n SkyLibResourcesService,\n getLibStringForLocale,\n} from '@skyux/i18n';\n\nconst RESOURCES: { [locale: string]: SkyLibResources } = {\n 'EN-US': {\n 'sky-docs-demo-heading': { message: 'Demo' },\n 'sky-docs-demo-toggle-button-on': { message: 'Show options' },\n 'sky-docs-demo-toggle-button-off': { message: 'Hide options' },\n 'sky-docs-code-example-launch-button-label': {\n message: 'Run in StackBlitz',\n },\n 'sky-docs-demo-control-panel-reset-button-label': { message: 'Reset' },\n },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\nexport class SkyDocsToolsResourcesProvider implements SkyLibResourcesProvider {\n public getString(\n localeInfo: SkyAppLocaleInfo,\n name: string,\n ): string | undefined {\n return getLibStringForLocale(RESOURCES, localeInfo.locale, name);\n }\n}\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n providers: [\n {\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyDocsToolsResourcesProvider,\n multi: true,\n },\n ],\n})\nexport class SkyDocsToolsResourcesModule {}\n","export enum SkyDocsCodeExampleTheme {\n Default = 'default',\n Modern = 'modern',\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnDestroy,\n Optional,\n} from '@angular/core';\n\nimport { SkyThemeService } from '@skyux/theme';\n\nimport { Subject } from 'rxjs';\n\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyDocsCodeExampleTheme } from './code-example-theme';\n\n/**\n * Renders a single code example.\n * @example\n * ```\n * <sky-docs-code-example\n * heading=\"My code example\"\n * sourceCodePath=\"src/app/public/plugin-resources/foobar\"\n * >\n * </sky-docs-code-example>\n * ```\n */\n@Component({\n selector: 'sky-docs-code-example',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsCodeExampleComponent implements OnDestroy {\n /**\n * The heading to be used for the code example.\n * @required\n */\n @Input()\n public heading: string;\n\n /**\n * Specifies the local path to the code example's source code. The value is relative to the root directory.\n * @required\n */\n @Input()\n public sourceCodePath: string;\n\n /**\n * Specifies if the editor service should show the example in modern theme.\n * The value will be gleaned from `SkyThemeService` first, then fallback to 'default' if the service is not found.\n */\n @Input()\n public set theme(value: SkyDocsCodeExampleTheme) {\n this._theme = value;\n }\n\n public get theme(): SkyDocsCodeExampleTheme {\n return this._theme || SkyDocsCodeExampleTheme.Default;\n }\n\n private ngUnsubscribe = new Subject<void>();\n\n private _theme: SkyDocsCodeExampleTheme;\n\n constructor(@Optional() themeSvc?: SkyThemeService) {\n // Update theme property with SkyThemeService if it has not been set.\n if (!this._theme && themeSvc) {\n themeSvc.settingsChange\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((change) => {\n if (change.currentSettings.theme.name === 'modern') {\n this.theme = SkyDocsCodeExampleTheme.Modern;\n } else if (change.currentSettings.theme.name === 'default') {\n this.theme = SkyDocsCodeExampleTheme.Default;\n }\n });\n }\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n}\n","import { VERSION as ANGULAR_VERSION, Injectable } from '@angular/core';\nimport { VERSION as SKY_UX_VERSION } from '@skyux/core';\nimport { VERSION as SKY_UX_ICONS_VERSION } from '@skyux/icons';\nimport StackBlitzSDK from '@stackblitz/sdk';\nimport {\n OpenOptions as StackBlitzOpenOptions,\n Project as StackBlitzProject,\n} from '@stackblitz/sdk';\n\nimport { SkyDocsSourceCodeFile } from '../source-code/source-code-file';\n\nimport { SkyDocsCodeExample } from './code-example';\nimport { SkyDocsCodeExampleModuleDependencies } from './code-example-module-dependencies';\nimport { SkyDocsCodeExampleTheme } from './code-example-theme';\n\ntype StackblitzTemplate = 'angular-cli' | 'node';\n\n/**\n * @internal\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class SkyDocsCodeExamplesEditorService {\n public launchEditor(\n codeExample: SkyDocsCodeExample,\n template: StackblitzTemplate = 'angular-cli',\n ): void {\n const project = this.#getPayload(codeExample, template);\n const openFile: string[] = [];\n if (project.files['src/app/demo.component.html']) {\n openFile.push('src/app/demo.component.html');\n } else if (project.files['src/app/demo.component.ts']) {\n openFile.push('src/app/demo.component.ts');\n }\n const options: StackBlitzOpenOptions = {\n openFile,\n };\n\n StackBlitzSDK.openProject(project, options);\n }\n\n #getPayload(\n codeExample: SkyDocsCodeExample,\n template: StackblitzTemplate,\n ): StackBlitzProject {\n const angularVersion = `^${ANGULAR_VERSION.major}`;\n const skyuxVersion = `^${SKY_UX_VERSION.full}`;\n\n const defaultDependencies: SkyDocsCodeExampleModuleDependencies = {\n '@angular-devkit/build-angular': angularVersion,\n '@angular/animations': angularVersion,\n '@angular/cdk': angularVersion,\n '@angular/cli': angularVersion,\n '@angular/common': angularVersion,\n '@angular/compiler': angularVersion,\n '@angular/compiler-cli': angularVersion,\n '@angular/core': angularVersion,\n '@angular/forms': angularVersion,\n '@angular/platform-browser': angularVersion,\n '@angular/platform-browser-dynamic': angularVersion,\n '@angular/router': angularVersion,\n '@skyux/animations': skyuxVersion,\n '@skyux/assets': skyuxVersion,\n '@skyux/config': skyuxVersion,\n '@skyux/core': skyuxVersion,\n '@skyux/errors': skyuxVersion,\n '@skyux/forms': skyuxVersion,\n '@skyux/help-inline': skyuxVersion,\n '@skyux/i18n': skyuxVersion,\n '@skyux/indicators': skyuxVersion,\n '@skyux/layout': skyuxVersion,\n '@skyux/modals': skyuxVersion,\n '@skyux/packages': skyuxVersion,\n '@skyux/popovers': skyuxVersion,\n '@skyux/router': skyuxVersion,\n '@skyux/theme': skyuxVersion,\n '@types/jasmine': '~5.1.4',\n 'ng2-dragula': '5.1.0',\n rxjs: '^7',\n tslib: '^2.6.2',\n typescript: '~5.3.3',\n 'zone.js': '~0.14.4',\n };\n\n const mergedDependencies = Object.assign(\n {},\n defaultDependencies,\n codeExample.packageDependencies,\n );\n\n // Ensure any @skyux dependencies list the correct version of SKY UX.\n // e.g. `\"@skyux/core\": \"*\"` --> `\"@skyux/core\": \"5.0.0\"`\n for (const packageName in mergedDependencies) {\n /*istanbul ignore else*/\n if (mergedDependencies.hasOwnProperty(packageName)) {\n const version = mergedDependencies[packageName];\n if (\n version === '*' &&\n /^(@blackbaud\\/skyux-lib-|@skyux)/.test(packageName)\n ) {\n mergedDependencies[packageName] = skyuxVersion;\n }\n }\n }\n\n const files = this.parseStackBlitzFiles(\n codeExample.sourceCode,\n mergedDependencies,\n codeExample.theme,\n codeExample.stylesheets,\n );\n\n return {\n files,\n title: 'SKY UX Demo',\n description: 'SKY UX Demo',\n template,\n dependencies: mergedDependencies,\n settings: {\n compile: {\n clearConsole: false,\n },\n },\n };\n }\n\n private parseStackBlitzFiles(\n sourceCode: SkyDocsSourceCodeFile[],\n dependencies: SkyDocsCodeExampleModuleDependencies,\n theme: SkyDocsCodeExampleTheme,\n stylesheets: string[] = [],\n ): {\n [path: string]: string;\n } {\n const srcPath = 'src/';\n const appPath = `${srcPath}app/`;\n\n const banner = `/**\n * This file is needed for the StackBlitz demo only.\n * It is automatically provided when using the Angular CLI.\n **/\n `;\n\n const moduleImportStatements: string[] = [\n `import { NgModule } from '@angular/core';`,\n `import { FormsModule, ReactiveFormsModule } from '@angular/forms';`,\n `import { BrowserAnimationsModule } from '@angular/platform-browser/animations';`,\n `import { RouterModule } from '@angular/router';`,\n `import { provideInitialTheme } from '@skyux/theme';`,\n `import { AppComponent } from './app.component';`,\n ];\n\n const moduleImports: string[] = [\n 'BrowserAnimationsModule',\n 'FormsModule',\n 'ReactiveFormsModule',\n 'RouterModule.forRoot([])',\n ];\n\n const files: { [_: string]: string } = {};\n\n let appComponentTemplate = '';\n\n sourceCode.forEach((file) => {\n files[`${appPath}${file.fileName}`] = file.rawContents;\n\n // Setup module imports and component selectors.\n if (file.fileName.indexOf('.module.ts') > -1) {\n const moduleName = this.getModuleName(file.rawContents);\n const importPath = `./${this.getFilenameNoExtension(file.fileName)}`;\n\n const exportedComponent = this.getExportedComponent(file.rawContents);\n const componentSelector = this.getComponentSelector(\n exportedComponent,\n sourceCode,\n );\n\n appComponentTemplate += `<${componentSelector}></${componentSelector}>`;\n\n moduleImports.push(moduleName);\n moduleImportStatements.push(\n `import { ${moduleName} } from '${importPath}';`,\n );\n }\n\n // Standalone entry components are named demo.component.ts.\n if (file.fileName === 'demo.component.ts') {\n const componentName = 'DemoComponent';\n const componentSelector = 'app-demo';\n const importPath = `./${this.getFilenameNoExtension(file.fileName)}`;\n\n appComponentTemplate += `<${componentSelector} />`;\n\n moduleImports.push(componentName);\n moduleImportStatements.push(\n `import { ${componentName} } from '${importPath}';`,\n );\n }\n });\n\n files[`${appPath}app.component.ts`] = `${banner}\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'sky-demo-app',\n template: '${appComponentTemplate}'\n})\nexport class AppComponent {}\n`;\n\n files[`${appPath}app.module.ts`] = `${moduleImportStatements.join('\\n\\n')}\n\n@NgModule({\n imports: [\n ${moduleImports.join(',\\n ')}\n ],\n declarations: [AppComponent],\n bootstrap: [AppComponent],\n providers: [provideInitialTheme('${theme}')],\n})\nexport class AppModule {}\n`;\n\n files[`${srcPath}index.html`] = `<!doctype html>\n<html lang=\"en\">\n<head>\n <meta charset=\"utf-8\">\n <title>Sky UX Demo</title>\n <base href=\"/\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n <!--\n The CSS links are needed for the StackBlitz demo only.\n This is a workaround for a known bug that prevents external imports in CSS.\n https://github.com/stackblitz/core/issues/133\n -->\n <link rel=\"stylesheet\" type=\"text/css\" href=\"https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css\" crossorigin=\"anonymous\">\n <link rel=\"stylesheet\" type=\"text/css\" href=\"https://sky.blackbaudcdn.net/static/skyux-icons/${SKY_UX_ICONS_VERSION.full}/assets/css/skyux-icons.min.css\" crossorigin=\"anonymous\">\n</head>\n<body>\n <sky-demo-app>\n Loading...\n </sky-demo-app>\n</body>\n</html>\n`;\n\n files[`${srcPath}main.ts`] = `${banner}\nimport 'zone.js';\nimport '@skyux/packages/polyfills';\n\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\n\nplatformBrowserDynamic()\n .bootstrapModule(AppModule)\n .catch((err) => console.error(err));\n`;\n\n files[`${srcPath}styles.scss`] = `@import '@skyux/theme/css/sky';\n@import '@skyux/theme/css/themes/modern/styles';\n\nbody {\n background-color: #fff;\n margin: 15px;\n}\n`;\n\n stylesheets.push('src/styles.scss');\n\n files['angular.json'] = JSON.stringify(\n {\n $schema: './node_modules/@angular/cli/lib/config/schema.json',\n version: 1,\n projects: {\n demo: {\n projectType: 'application',\n root: '',\n sourceRoot: 'src',\n prefix: 'app',\n architect: {\n build: {\n builder: '@angular-devkit/build-angular:application',\n options: {\n index: 'src/index.html',\n browser: 'src/main.ts',\n outputPath: 'dist/demo',\n tsConfig: 'tsconfig.app.json',\n inlineStyleLanguage: 'scss',\n styles: stylesheets,\n },\n configurations: {\n development: {\n optimization: false,\n extractLicenses: false,\n sourceMap: true,\n },\n },\n defaultConfiguration: 'development',\n },\n serve: {\n builder: '@angular-devkit/build-angular:dev-server',\n configurations: {\n development: {\n browserTarget: 'demo:build:development',\n },\n },\n defaultConfiguration: 'development',\n },\n },\n },\n },\n },\n undefined,\n 2,\n );\n\n files['package.json'] = JSON.stringify(\n {\n name: 'skyux-spa-demo',\n version: '0.0.0',\n dependencies,\n scripts: {\n start: 'ng serve',\n build: 'ng build',\n },\n },\n undefined,\n 2,\n );\n\n files['tsconfig.app.json'] = JSON.stringify(\n {\n extends: './tsconfig.json',\n compilerOptions: {\n outDir: './out-tsc/app',\n types: [],\n },\n files: ['src/main.ts'],\n include: ['src/**/*.d.ts'],\n },\n undefined,\n 2,\n );\n\n files['tsconfig.json'] = JSON.stringify(\n {\n compileOnSave: false,\n compilerOptions: {\n strict: true,\n forceConsistentCasingInFileNames: true,\n noImplicitOverride: true,\n noPropertyAccessFromIndexSignature: true,\n noImplicitReturns: true,\n noFallthroughCasesInSwitch: true,\n sourceMap: true,\n declaration: false,\n downlevelIteration: true,\n esModuleInterop: true,\n experimentalDecorators: true,\n moduleResolution: 'node',\n importHelpers: true,\n typeRoots: ['node_modules/@types'],\n target: 'ES2015',\n module: 'ES2022',\n useDefineForClassFields: false,\n lib: ['ES2022', 'dom'],\n },\n angularCompilerOptions: {\n fullTemplateTypeCheck: true,\n enableI18nLegacyMessageIdFormat: false,\n strictInjectionParameters: true,\n strictInputAccessModifiers: true,\n strictTemplates: true,\n },\n },\n undefined,\n 2,\n );\n\n return files;\n }\n\n private getModuleName(contents: string): string {\n return contents.split('export class ')[1].split(' {')[0];\n }\n\n private getFilenameNoExtension(fileName: string): string {\n const extension = fileName.split('.').pop();\n return fileName.replace(`.${extension}`, '');\n }\n\n private getExportedComponent(contents: string): string {\n const trimmed = contents.replace(/\\s/g, '');\n\n let fragment = trimmed.split('exports:[')[1];\n if (!fragment) {\n throw 'You must export a component from the code example module!';\n }\n\n fragment = fragment.split(']')[0];\n\n const components = fragment.split(',').filter((x) => x);\n\n if (components.length > 1) {\n throw (\n 'You may only export a single component from the code example module' +\n `(we found ${components.length}: ${components.join(', ')}).` +\n 'Is it possible to create a new code example with the extra components?'\n );\n }\n\n return components[0];\n }\n\n private getComponentSelector(\n componentClassName: string,\n sourceCode: SkyDocsSourceCodeFile[],\n ): string {\n const found = sourceCode.find((file) => {\n return file.rawContents.indexOf(`class ${componentClassName}`) > -1;\n });\n\n const trimmed = found.rawContents.replace(/\\s/g, '');\n\n return trimmed.split(`selector:'`)[1].split(`'`)[0];\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'any',\n})\nexport class SkyDocsSourceCodeProvider {\n public readonly sourceCode: any[];\n}\n","import { Injectable } from '@angular/core';\n\nimport { SkyDocsSourceCodeFile } from './source-code-file';\n\nimport { SkyDocsSourceCodeProvider } from './source-code-provider';\n\n@Injectable({\n providedIn: 'any',\n})\nexport class SkyDocsSourceCodeService {\n constructor(private sourceCodeProvider: SkyDocsSourceCodeProvider) {}\n\n public getSourceCode(path: string): SkyDocsSourceCodeFile[] {\n const sourceCode = this.sourceCodeProvider.sourceCode;\n if (!sourceCode || !sourceCode.length) {\n return [];\n }\n\n return sourceCode\n .filter((file) => file.filePath.indexOf(path) === 0)\n .map((file) => {\n // TODO: Remove decoding after migrating to Angular CLI. Code examples will not be encoded for SKY UX 5 libraries.\n // SKY UX 4 libraries will return rawContents encoded, while later libraries will\n // return rawContents decoded. Check if the contents need decoded before returning them.\n let decodedContents: string;\n try {\n decodedContents = decodeURIComponent(file.rawContents);\n if (decodedContents !== file.rawContents) {\n file.rawContents = decodedContents;\n }\n } catch (error) {\n // Pre-decoded contents may contain characters like '%' that would throw errors.\n // In these cases, pass along the original rawContents.\n }\n return file;\n });\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Input,\n QueryList,\n} from '@angular/core';\n\nimport { SkyDocsSourceCodeService } from '../source-code/source-code.service';\n\nimport { SkyDocsCodeExamplesEditorService } from './code-examples-editor.service';\n\nimport { SkyDocsCodeExampleComponent } from './code-example.component';\n\nimport { SkyDocsCodeExampleModuleDependencies } from './code-example-module-dependencies';\n\nimport { SkyDocsCodeExample } from './code-example';\n\n/**\n * Wraps all code examples and handles their configuration and styles.\n * @example\n * ```\n * <sky-docs-code-examples\n * [packageDependencies]=\"{\n * \"foobar\": \"*\",\n * \"baz\": \"1.2.3\"\n * }\"\n * >\n * <sky-docs-code-example>\n * </sky-docs-code-example>\n * </sky-docs-code-examples>\n * ```\n */\n@Component({\n selector: 'sky-docs-code-examples',\n templateUrl: './code-examples.component.html',\n styleUrls: ['./code-examples.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsCodeExamplesComponent implements AfterContentInit {\n /**\n * Any extra NPM package dependencies that are needed for the editor to run the code example.\n * @default {}\n */\n @Input()\n public set packageDependencies(value: SkyDocsCodeExampleModuleDependencies) {\n this._packageDependencies = value;\n }\n\n public get packageDependencies(): SkyDocsCodeExampleModuleDependencies {\n return this._packageDependencies || {};\n }\n\n @Input()\n public stylesheets: string[] = [];\n\n public codeExamples: SkyDocsCodeExample[] = [];\n\n @ContentChildren(SkyDocsCodeExampleComponent)\n private codeExampleComponents: QueryList<SkyDocsCodeExampleComponent>;\n\n private _packageDependencies: SkyDocsCodeExampleModuleDependencies;\n\n constructor(\n private editorService: SkyDocsCodeExamplesEditorService,\n private sourceCodeService: SkyDocsSourceCodeService,\n ) {}\n\n public ngAfterContentInit(): void {\n this.codeExampleComponents.forEach((component) => {\n // Make sure the source code path ends in a slash, so that similarly named directories aren't included.\n let sourceCodePath = component.sourceCodePath;\n if (sourceCodePath.slice(-1) !== '/') {\n sourceCodePath += '/';\n }\n\n const sourceCode = this.sourceCodeService.getSourceCode(sourceCodePath);\n\n if (!sourceCode.length) {\n console.warn(\n `Source code not found at location \"${sourceCodePath}\" for \"${component.heading}\"!`,\n );\n return;\n }\n\n this.codeExamples.push({\n heading: component.heading,\n packageDependencies: this.packageDependencies,\n sourceCode,\n stylesheets: this.stylesheets,\n theme: component.theme,\n });\n });\n }\n\n public launchEditor(codeExample: SkyDocsCodeExample): void {\n this.editorService.launchEditor(codeExample);\n }\n\n /**\n * Returns a string representing one of PrismJS's supported language types.\n * See: https://prismjs.com/#supported-languages\n */\n public parseCodeLanguageType(fileName: string): string {\n const extension = fileName.split('.').pop().toLowerCase();\n\n switch (extension) {\n case 'ts':\n return 'typescript';\n case 'html':\n return 'markup';\n default:\n return extension;\n }\n }\n}\n","<div *ngIf=\"codeExamples && codeExamples.length\" class=\"sky-docs-code-examples\">\n <sky-repeater\n *ngIf=\"codeExamples.length > 1; else singleCodeExample\"\n expandMode=\"multiple\"\n >\n <sky-repeater-item\n *ngFor=\"let codeExample of codeExamples\"\n [isExpanded]=\"false\"\n >\n <sky-repeater-item-title>\n <ng-container\n *ngTemplateOutlet=\"\n codeExampleHeaderTemplate;\n context: { $implicit: codeExample }\n \"\n >\n </ng-container>\n </sky-repeater-item-title>\n <sky-repeater-item-content>\n <ng-container\n *ngTemplateOutlet=\"\n codeExampleTemplate;\n context: { $implicit: codeExample }\n \"\n >\n </ng-container>\n </sky-repeater-item-content>\n </sky-repeater-item>\n </sky-repeater>\n</div>\n\n<ng-template>\n <ng-content select=\"sky-docs-code-example\"> </ng-content>\n</ng-template>\n\n<ng-template let-item #codeExampleTemplate>\n <div class=\"sky-docs-code-example-wrapper\">\n <sky-vertical-tabset *ngIf=\"item.sourceCode && item.sourceCode.length\">\n <sky-vertical-tab\n *ngFor=\"let file of item.sourceCode; let i = index\"\n [active]=\"i === 0\"\n [tabHeading]=\"file.fileName\"\n >\n <sky-code-block\n [code]=\"file.rawContents\"\n [languageType]=\"parseCodeLanguageType(file.fileName)\"\n >\n </sky-code-block>\n </sky-vertical-tab>\n </sky-vertical-tabset>\n </div>\n</ng-template>\n\n<ng-template #singleCodeExample>\n <ng-container\n *ngTemplateOutlet=\"\n codeExampleHeaderTemplate;\n context: { $implicit: codeExamples[0] }\n \"\n >\n </ng-container>\n <ng-container\n *ngTemplateOutlet=\"\n codeExampleTemplate;\n context: { $implicit: codeExamples[0] }\n \"\n >\n </ng-container>\n</ng-template>\n\n<ng-template let-codeExample #codeExampleHeaderTemplate>\n <div class=\"sky-docs-code-example-header\">\n <div class=\"sky-docs-code-example-header-title sky-emphasized\">\n {{ codeExample.heading }}\n </div>\n <div class=\"sky-docs-code-example-header-controls\">\n <button\n class=\"sky-btn sky-btn-default\"\n type=\"button\"\n (click)=\"launchEditor(codeExample); $event.stopPropagation()\"\n >\n <sky-icon icon=\"pencil\"></sky-icon>\n {{ 'sky-docs-code-example-launch-button-label' | skyLibResources }}\n </button>\n </div>\n </div>\n</ng-template>\n","import { CommonModule } from '@angular/common';\n\nimport { NgModule } from '@angular/core';\n\nimport { SkyCodeBlockModule } from '@blackbaud/skyux-lib-code-block';\n\nimport { SkyIconModule } from '@skyux/indicators';\n\nimport { SkyRepeaterModule } from '@skyux/lists';\n\nimport { SkyVerticalTabsetModule } from '@skyux/tabs';\n\nimport { SkyDocsToolsResourcesModule } from '../shared/sky-docs-tools-resources.module';\n\nimport { SkyDocsCodeExampleComponent } from './code-example.component';\n\nimport { SkyDocsCodeExamplesComponent } from './code-examples.component';\n\n@NgModule({\n imports: [\n CommonModule,\n SkyCodeBlockModule,\n SkyDocsToolsResourcesModule,\n SkyIconModule,\n SkyRepeaterModule,\n SkyVerticalTabsetModule,\n ],\n declarations: [SkyDocsCodeExampleComponent, SkyDocsCodeExamplesComponent],\n exports: [SkyDocsCodeExampleComponent, SkyDocsCodeExamplesComponent],\n})\nexport class SkyDocsCodeExamplesModule {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnDestroy,\n OnInit,\n TemplateRef,\n} from '@angular/core';\n\nimport { ReplaySubject } from 'rxjs';\n\nimport { SkyDocsDemoControlPanelChange } from './demo-control-panel-change';\n\n/**\n * Renders a checkbox control within the control panel.\n * @example\n * ```markup\n * <sky-docs-demo-control-panel-checkbox\n * label=\"Show title\"\n * [checked]=\"true\"\n * [propertyName]=\"showTitle\"\n * >\n * </sky-docs-demo-control-panel-checkbox>\n * ```\n */\n@Component({\n selector: 'sky-docs-demo-control-panel-checkbox',\n templateUrl: './demo-control-panel-checkbox.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsDemoControlPanelCheckboxComponent\n implements OnInit, OnDestroy\n{\n /**\n * The checked status of the checkbox.\n * @default false\n */\n @Input()\n public set checked(value: boolean) {\n if (value !== undefined && this._checked === undefined) {\n this.initialState.checked = value;\n }\n\n this._checked = value;\n }\n\n public get checked(): boolean {\n return this._checked || false;\n }\n\n /**\n * Indicates whether to disable the checkbox.\n */\n @Input()\n public disabled: boolean = false;\n\n /**\n * The content of the help popover. When specified, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline)\n * button is added to the control panel checkbox label. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover)\n * when clicked using the specified content and optional title.\n * @preview\n */\n @Input()\n public helpPopoverContent: string | TemplateRef<unknown> | undefined;\n\n /**\n * The title of the help popover. This property only applies when `helpPopoverContent` is\n * also specified.\n * @preview\n */\n @Input()\n public helpPopoverTitle: string | undefined;\n\n /**\n * The text label of the checkbox.\n * @required\n */\n @Input()\n public label: string;\n\n /**\n * The name of the component property that is affected by this control.\n * @required\n */\n @Input()\n public propertyName: string;\n\n public selectionChange = new ReplaySubject<SkyDocsDemoControlPanelChange>();\n\n private initialState: {\n checked?: boolean;\n } = {};\n\n private _checked: boolean;\n\n constructor(private changeDetector: ChangeDetectorRef) {}\n\n public ngOnInit(): void {\n setTimeout(() => {\n this.initialState.checked = this.checked;\n this.notifyChange();\n });\n }\n\n public ngOnDestroy(): void {\n this.selectionChange.complete();\n }\n\n public onModelChange(): void {\n this.notifyChange();\n }\n\n public resetState(): void {\n if (this.initialState.checked !== this.checked) {\n this.checked = !!this.initialState.checked;\n this.notifyChange();\n this.changeDetector.markForCheck();\n }\n }\n\n private notifyChange(): void {\n this.selectionChange.next({\n [this.propertyName]: this.checked,\n });\n }\n}\n","<sky-checkbox\n [disabled]=\"disabled\"\n [labelText]=\"label\"\n [helpPopoverContent]=\"helpPopoverContent\"\n [helpPopoverTitle]=\"helpPopoverTitle\"\n [name]=\"propertyName\"\n [(ngModel)]=\"checked\"\n (change)=\"onModelChange()\"\n/>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnInit,\n OnDestroy,\n} from '@angular/core';\n\nimport { ReplaySubject } from 'rxjs';\n\nimport { SkyDocsDemoControlPanelChange } from './demo-control-panel-change';\n\nimport { SkyDocsDemoControlPanelRadioChoice } from './demo-control-panel-radio-choice';\n\n/**\n * Renders a radio control group.\n * @example\n * ```markup\n * <sky-docs-demo-control-panel-radio-group\n * [choices]=\"[\n * { 'label': 'Red', value: '#f00' },\n * { 'label': 'Green', value: '#0f0' },\n * { 'label': 'Blue', value: '#00f' }\n * ]\"\n * heading=\"Choose a color\"\n * initialValue=\"Red\"\n * propertyName=\"color\"\n * >\n * </sky-docs-demo-control-panel-radio-group>\n * ```\n */\n@Component({\n selector: 'sky-docs-demo-control-panel-radio-group',\n templateUrl: './demo-control-panel-radio-group.component.html',\n styleUrls: ['./demo-control-panel-radio-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsDemoControlPanelRadioGroupComponent\n implements OnInit, OnDestroy\n{\n /**\n * The possible choices to be represented by radio controls.\n * @required\n */\n @Input()\n public choices: SkyDocsDemoControlPanelRadioChoice[];\n\n /**\n * Indicates whether to disable the radio group.\n */\n @Input()\n public disabled: boolean = false;\n\n /**\n * The heading text to appear above the radio group.\n */\n @Input()\n public heading: string;\n\n /**\n * The initial value of the radio group.\n */\n @Input()\n public initialValue: any;\n\n /**\n * The name of the component property that is affected by this radio group.\n * @required\n */\n @Input()\n public propertyName: string;\n\n /**\n * @internal\n */\n public selectionChange = new ReplaySubject<SkyDocsDemoControlPanelChange>();\n\n /**\n * @internal\n */\n public value: any;\n\n constructor(private changeDetector: ChangeDetectorRef) {}\n\n public ngOnInit(): void {\n this.value = this.cloneValue(this.initialValue);\n this.#notifyChange();\n }\n\n public ngOnDestroy(): void {\n this.selectionChange.complete();\n }\n\n public onModelChange(value: any): void {\n this.value = value;\n this.#notifyChange();\n }\n\n public resetValue(): void {\n this.value = this.cloneValue(this.initialValue);\n this.#notifyChange();\n this.changeDetector.markForCheck();\n }\n\n private cloneValue(value: any): any {\n if (typeof value === 'object') {\n return JSON.parse(JSON.stringify(value));\n }\n\n return value;\n }\n\n #notifyChange(): void {\n this.selectionChange.next({\n [this.propertyName]: this.value,\n });\n }\n}\n","<div class=\"sky-demo-control-panel-radio-group\">\n <strong *ngIf=\"heading\">{{ heading }}</strong>\n <sky-radio-group\n [disabled]=\"disabled\"\n [name]=\"propertyName\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n >\n <ul class=\"sky-list-unstyled\">\n <li *ngFor=\"let choice of choices\">\n <sky-radio [value]=\"choice.value\">\n <sky-radio-label>{{ choice.label }}</sky-radio-label>\n </sky-radio>\n </li>\n </ul>\n </sky-radio-group>\n</div>\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n OnDestroy,\n Output,\n QueryList,\n} from '@angular/core';\n\nimport { merge, Subject, Subscription } from 'rxjs';\n\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyDocsDemoControlPanelCheckboxComponent } from './demo-control-panel-checkbox.component';\n\nimport { SkyDocsDemoControlPanelRadioGroupComponent } from './demo-control-panel-radio-group.component';\n\nimport { SkyDocsDemoControlPanelChange } from './demo-control-panel-change';\n\n/**\n * Handles the appearance and configuration of the behavior demo control panel.\n * @example\n * ```markup\n * <sky-docs-demo-control-panel\n * (selectionChange)=\"onSelectionChange($event)\"\n * >\n * Control panel content here.\n * </sky-docs-demo-control-panel>\n * ```\n */\n@Component({\n selector: 'sky-docs-demo-control-panel',\n templateUrl: './demo-control-panel.component.html',\n styleUrls: ['./demo-control-panel.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsDemoControlPanelComponent\n implements OnDestroy, AfterContentInit\n{\n /**\n * Fires when the user clicks the reset button.\n */\n @Output()\n /*eslint-disable-next-line @angular-eslint/no-output-native */\n public reset = new EventEmitter<void>();\n\n /**\n * Fires when a user makes a selection from one of the controls in the panel.\n */\n @Output()\n public selectionChange = new EventEmitter<SkyDocsDemoControlPanelChange>();\n\n @ContentChildren(SkyDocsDemoControlPanelRadioGroupComponent, {\n descendants: true,\n })\n private radioGroups: QueryList<SkyDocsDemoControlPanelRadioGroupComponent>;\n\n @ContentChildren(SkyDocsDemoControlPanelCheckboxComponent, {\n descendants: true,\n })\n private checkboxes: QueryList<SkyDocsDemoControlPanelCheckboxComponent>;\n\n private eventListeners: Subscription;\n private ngUnsubscribe = new Subject<void>();\n\n public ngAfterContentInit(): void {\n this.addEventListeners();\n\n merge(this.checkboxes.changes, this.radioGroups.changes)\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(() => {\n this.addEventListeners();\n });\n }\n\n public ngOnDestroy(): void {\n this.reset.complete();\n this.selectionChange.complete();\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public onResetButtonClick(): void {\n this.radioGroups.forEach((radioGroup) => {\n radioGroup.resetValue();\n });\n\n this.checkboxes.forEach((checkbox) => {\n checkbox.resetState();\n });\n\n this.reset.emit();\n }\n\n private addEventListeners(): void {\n if (this.eventListeners) {\n this.eventListeners.unsubscribe();\n }\n\n this.eventListeners = merge(\n ...this.checkboxes.map((c) => c.selectionChange),\n ...this.radioGroups.map((c) => c.selectionChange),\n )\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((change) => {\n this.selectionChange.next(change);\n });\n }\n}\n","<div class=\"sky-docs-demo-control-panel\">\n <div class=\"sky-docs-demo-control-panel-row sky-rounded-corners\">\n <div\n class=\"sky-docs-demo-control-panel-column sky-docs-demo-control-panel-sections-column\"\n >\n <ng-content select=\"sky-docs-demo-control-panel-section\"></ng-content>\n </div>\n\n <div\n class=\"sky-docs-demo-control-panel-column sky-docs-demo-control-panel-button-column\"\n >\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n [attr.data-test-selector]=\"'sky-docs-demo-control-panel-reset-button'\"\n (click)=\"onResetButtonClick()\"\n >\n {{ 'sky-docs-demo-control-panel-reset-button-label' | skyLibResources }}\n </button>\n </div>\n </div>\n</div>\n","import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\n\n/**\n * Renders a custom control panel in the \"Show options\" dropdown above the demo.\n */\n@Component({\n selector: 'sky-docs-demo-custom-control-panel',\n templateUrl: './demo-custom-control-panel.component.html',\n styleUrl: './demo-custom-control-panel.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsDemoCustomControlPanelComponent {\n @HostBinding('class')\n protected readonly classes = 'sky-rounded-corners';\n}\n","<ng-content />\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n Input,\n QueryList,\n} from '@angular/core';\n\nimport { SkyDocsDemoContentAlignment } from './demo-content-alignment';\n\nimport { SkyDocsDemoControlPanelComponent } from './demo-control-panel.component';\nimport { SkyDocsDemoCustomControlPanelComponent } from './demo-custom-control-panel.component';\n\n/**\n * Wraps all behavior demo components and handles the configuration and appearance of the behavior demo.\n * @example\n * ```markup\n * <sky-docs-demo>\n * Demo content here.\n * </sky-docs-demo>\n * ```\n */\n@Component({\n selector: 'sky-docs-demo',\n templateUrl: './demo.component.html',\n styleUrls: ['./demo.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsDemoComponent {\n /**\n * Specifies the horizontal alignment of the demo contents.\n * @default 'left'\n */\n @Input()\n public set alignContents(value: SkyDocsDemoContentAlignment) {\n this._alignContents = value;\n }\n\n public get alignContents(): SkyDocsDemoContentAlignment {\n return this._alignContents || 'left';\n }\n\n /**\n * Custom heading text for the demo.\n */\n @Input()\n public heading: string;\n\n public get hasOptions(): boolean {\n return (\n (this.controlPanels && this.controlPanels.length > 0) ||\n (this.customControlPanels && this.customControlPanels.length > 0)\n );\n }\n\n @ContentChildren(SkyDocsDemoControlPanelComponent, { read: ElementRef })\n private controlPanels: QueryList<SkyDocsDemoControlPanelComponent>;\n\n @ContentChildren(SkyDocsDemoCustomControlPanelComponent, { read: ElementRef })\n private customControlPanels: QueryList<SkyDocsDemoCustomControlPanelComponent>;\n\n public get toggleOptionsButtonIcon(): string {\n return this.areOptionsVisible ? 'chevron-up' : 'chevron-down';\n }\n\n public areOptionsVisible = false;\n\n private _alignContents: SkyDocsDemoContentAlignment;\n\n public onToggleOptionsButtonClick(): void {\n this.areOptionsVisible = !this.areOptionsVisible;\n }\n}\n","<div class=\"sky-docs-demo\">\n <div aria-level=\"3\" class=\"sky-docs-demo-heading\" role=\"heading\">\n <span\n class=\"sky-section-heading\"\n [attr.data-test-selector]=\"'sky-docs-demo-heading-text'\"\n >\n {{ heading || ('sky-docs-demo-heading' | skyLibResources) }}\n </span>\n\n <div class=\"sky-docs-demo-control-panel-wrapper\">\n <div class=\"sky-docs-demo-control-panel-wrapper-header\">\n <button\n *ngIf=\"hasOptions\"\n class=\"sky-btn\"\n type=\"button\"\n [attr.data-test-selector]=\"'sky-docs-demo-heading-button'\"\n [ngClass]=\"{\n 'sky-docs-demo-heading-btn-open': areOptionsVisible\n }\"\n (click)=\"onToggleOptionsButtonClick()\"\n >\n <sky-icon [icon]=\"toggleOptionsButtonIcon\"></sky-icon>\n <ng-container *ngIf=\"areOptionsVisible\">\n {{ 'sky-docs-demo-toggle-button-off' | skyLibResources }}\n </ng-container>\n <ng-container *ngIf=\"!areOptionsVisible\">\n {{ 'sky-docs-demo-toggle-button-on' | skyLibResources }}\n </ng-container>\n </button>\n </div>\n <div class=\"sky-docs-demo-control-panel-wrapper-body\">\n <ng-container *ngIf=\"areOptionsVisible\">\n <ng-container *ngTemplateOutlet=\"controlPanels\"></ng-container>\n <ng-container *ngTemplateOutlet=\"customControlPanels\"></ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n\n <div\n class=\"sky-docs-demo-viewport\"\n [ngClass]=\"'sky-docs-demo-viewport-align-' + alignContents\"\n >\n <div class=\"sky-docs-demo-viewport-gutter\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n\n<ng-template #controlPanels>\n <ng-content select=\"sky-docs-demo-control-panel\" />\n</ng-template>\n\n<ng-template #customControlPanels>\n <ng-content select=\"sky-docs-demo-custom-control-panel\" />\n</ng-template>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * Renders a section within the control panel.\n * @example\n * ```markup\n * <sky-docs-demo-control-panel>\n * <sky-docs-demo-control-panel-section>\n * Section content here.\n * </sky-docs-demo-control-panel-section>\n * </sky-docs-demo-control-panel>\n * ```\n */\n\n@Component({\n selector: 'sky-docs-demo-control-panel-section',\n templateUrl: './demo-control-panel-section.component.html',\n styleUrls: ['./demo-control-panel-section.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsDemoControlPanelSectionComponent {}\n","<div class=\"sky-demo-control-panel-section\">\n <ng-content select=\"sky-docs-demo-control-panel-radio-group\"></ng-content>\n <ng-content select=\"sky-docs-demo-control-panel-checkbox\"></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\n\nimport { NgModule } from '@angular/core';\n\nimport { FormsModule } from '@angular/forms';\n\nimport { SkyCheckboxModule, SkyRadioModule } from '@skyux/forms';\n\nimport { SkyIconModule } from '@skyux/indicators';\n\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyDocsToolsResourcesModule } from '../shared/sky-docs-tools-resources.module';\n\nimport { SkyDocsDemoComponent } from './demo.component';\n\nimport { SkyDocsDemoControlPanelCheckboxComponent } from './demo-control-panel-checkbox.component';\n\nimport { SkyDocsDemoControlPanelComponent } from './demo-control-panel.component';\n\nimport { SkyDocsDemoControlPanelRadioGroupComponent } from './demo-control-panel-radio-group.component';\n\nimport { SkyDocsDemoControlPanelSectionComponent } from './demo-control-panel-section.component';\nimport { SkyDocsDemoCustomControlPanelComponent } from './demo-custom-control-panel.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n SkyCheckboxModule,\n SkyDocsToolsResourcesModule,\n SkyIconModule,\n SkyRadioModule,\n SkyThemeModule,\n ],\n declarations: [\n SkyDocsDemoComponent,\n SkyDocsDemoControlPanelCheckboxComponent,\n SkyDocsDemoControlPanelComponent,\n SkyDocsDemoControlPanelRadioGroupComponent,\n SkyDocsDemoControlPanelSectionComponent,\n SkyDocsDemoCustomControlPanelComponent\n ],\n exports: [\n SkyDocsDemoComponent,\n SkyDocsDemoControlPanelCheckboxComponent,\n SkyDocsDemoControlPanelComponent,\n SkyDocsDemoControlPanelRadioGroupComponent,\n SkyDocsDemoControlPanelSectionComponent,\n SkyDocsDemoCustomControlPanelComponent\n ],\n})\nexport class SkyDocsDemoModule {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'sky-docs-heading-anchor',\n templateUrl: './heading-anchor.component.html',\n styleUrls: ['./heading-anchor.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsHeadingAnchorComponent {\n @Input()\n public anchorId: string;\n\n @Input()\n public headingLevel = '2';\n}\n","<div\n class=\"sky-docs-heading-anchor\"\n role=\"heading\"\n [ngClass]=\"'sky-docs-tools-heading-anchor-h' + headingLevel\"\n [attr.aria-level]=\"headingLevel\"\n [attr.id]=\"anchorId || null\"\n>\n <ng-content></ng-content>\n <a\n *ngIf=\"anchorId\"\n aria-hidden=\"true\"\n class=\"sky-docs-heading-anchor\"\n queryParamsHandling=\"merge\"\n [fragment]=\"anchorId\"\n [routerLink]=\"[]\"\n >\n <sky-icon class=\"sky-docs-heading-anchor-icon\" icon=\"link\"></sky-icon>\n </a>\n</div>\n","import { CommonModule } from '@angular/common';\n\nimport { NgModule } from '@angular/core';\n\nimport { RouterModule } from '@angular/router';\n\nimport { SkyIconModule } from '@skyux/indicators';\n\nimport { SkyDocsHeadingAnchorComponent } from './heading-anchor.component';\n\n@NgModule({\n declarations: [SkyDocsHeadingAnchorComponent],\n imports: [CommonModule, RouterModule, SkyIconModule],\n exports: [SkyDocsHeadingAnchorComponent],\n})\nexport class SkyDocsHeadingAnchorModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { marked } from 'marked';\n\n@Pipe({\n name: 'skyDocsMarkdown',\n})\nexport class SkyDocsMarkdownPipe implements PipeTransform {\n public transform(markdown: string): string {\n if (!markdown) {\n return '';\n }\n\n return marked(markdown);\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { SkyDocsMarkdownPipe } from './markdown.pipe';\n\n@NgModule({\n declarations: [SkyDocsMarkdownPipe],\n providers: [SkyDocsMarkdownPipe],\n exports: [SkyDocsMarkdownPipe],\n})\nexport class SkyDocsMarkdownModule {}\n","export class SkyDocsToolsOptions {\n public gitRepoUrl: string;\n\n public packageName: string;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n Optional,\n} from '@angular/core';\n\nimport { SkyDocsToolsOptions } from '../shared/docs-tools-options';\n\ntype ExternalLink = { label: string; url: string };\n\n@Component({\n selector: 'sky-docs-module-info',\n templateUrl: './module-info.component.html',\n styleUrls: ['./module-info.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsModuleInfoComponent {\n @Input()\n public set gitRepoUrl(value: string | undefined) {\n this.gitRepoUrlOrDefault = value || this.#options?.gitRepoUrl;\n this.#updateExternalLinks();\n }\n\n @Input()\n public moduleName: string | undefined;\n\n @Input()\n public set packageName(value: string | undefined) {\n this.packageNameOrDefault = value || this.#options?.packageName;\n this.#updateInstallationCommand();\n this.#updateExternalLinks();\n }\n\n @Input()\n public set packageUrl(value: string | undefined) {\n this.#packageUrl = value;\n this.#updateExternalLinks();\n }\n\n public gitRepoUrlOrDefault: string | undefined;\n\n public packageNameOrDefault: string | undefined;\n\n public externalLinks: ExternalLink[] | undefined;\n\n public installationCommand: string | undefined;\n\n #options: SkyDocsToolsOptions | undefined;\n\n #packageUrl: string | undefined;\n\n constructor(@Optional() options?: SkyDocsToolsOptions) {\n if (options) {\n this.#options = options;\n this.gitRepoUrl = options.gitRepoUrl;\n this.packageName = options.packageName;\n }\n }\n\n #updateExternalLinks(): void {\n const externalLinks: ExternalLink[] = [];\n\n if (this.packageNameOrDefault) {\n externalLinks.push({\n url:\n this.#packageUrl ||\n `https://npmjs.org/package/${this.packageNameOrDefault}`,\n label: 'View in NPM',\n });\n }\n\n if (this.gitRepoUrlOrDefault) {\n externalLinks.push({\n url: this.gitRepoUrlOrDefault,\n label: 'View in GitHub',\n });\n }\n\n this.externalLinks = externalLinks;\n }\n\n #updateInstallationCommand(): void {\n this.installationCommand = this.packageNameOrDefault\n ? `npm install --save-exact ${this.packageNameOrDefault}`\n : '';\n }\n}\n","<div class=\"sky-docs-module-info\">\n <sky-description-list class=\"sky-margin-stacked-lg\" mode=\"vertical\">\n <sky-description-list-content *ngIf=\"moduleName\">\n <sky-description-list-term> Defined in </sky-description-list-term>\n <sky-description-list-description>\n <sky-code class=\"sky-docs-module-info-module-name\">{{\n moduleName\n }}</sky-code>\n </sky-description-list-description>\n </sky-description-list-content>\n\n <sky-description-list-content *ngIf=\"packageNameOrDefault\">\n <sky-description-list-term>NPM package</sky-description-list-term>\n <sky-description-list-description>\n <span class=\"sky-docs-module-info-package-name\"\n ><sky-code>{{ packageNameOrDefault }}</sky-code></span\n >\n <ng-container *ngFor=\"let externalLink of externalLinks; let i = index\">\n <a\n class=\"sky-docs-module-info-external-link\"\n [href]=\"externalLink.url\"\n >{{ externalLink.label }}</a\n >\n <span *ngIf=\"i < externalLinks.length - 1\"> | </span>\n </ng-container>\n </sky-description-list-description>\n </sky-description-list-content>\n\n <sky-description-list-content *ngIf=\"installationCommand\">\n <sky-description-list-term>\n Installation\n <sky-help-inline\n *ngIf=\"moduleName\"\n class=\"sky-control-help\"\n [skyPopover]=\"installationCommandPopover\"\n skyPopoverPlacement=\"right\"\n >\n </sky-help-inline>\n </sky-description-list-term>\n <sky-description-list-description>\n <sky-popover #installationCommandPopover>\n To use this module, you must install peer dependencies along with its\n package. Also, after you install the package, you must add the module\n as an export in your SPA's main module to make exports available to\n your SPA.\n </sky-popover>\n <div class=\"sky-docs-module-info-installation-command\">\n <span\n class=\"sky-docs-module-info-installation-command-code\"\n #copyTarget\n >\n <sky-code>{{ installationCommand }}</sky-code>\n </span>\n <sky-copy-to-clipboard\n buttonText=\"Copy\"\n [copyTarget]=\"copyTarget\"\n ></sky-copy-to-clipboard>\n </div>\n </sky-description-list-description>\n </sky-description-list-content>\n </sky-description-list>\n\n <div class=\"sky-docs-module-info-additional-content\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\n\nimport { NgModule } from '@angular/core';\n\nimport { SkyClipboardModule } from '@blackbaud/skyux-lib-clipboard';\n\nimport { SkyCodeModule } from '@blackbaud/skyux-lib-code-block';\n\nimport { SkyHelpInlineModule } from '@skyux/indicators';\n\nimport { SkyDescriptionListModule } from '@skyux/layout';\n\nimport { SkyPopoverModule } from '@skyux/popovers';\n\nimport { SkyDocsModuleInfoComponent } from './module-info.component';\n\n@NgModule({\n imports: [\n CommonModule,\n SkyCodeModule,\n SkyClipboardModule,\n SkyDescriptionListModule,\n SkyHelpInlineModule,\n SkyPopoverModule,\n ],\n declarations: [SkyDocsModuleInfoComponent],\n exports: [SkyDocsModuleInfoComponent],\n})\nexport class SkyDocsModuleInfoModule {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Component({\n selector: 'sky-docs-safe-html',\n templateUrl: './safe-html.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsSafeHtmlComponent {\n @Input()\n public innerHtml: string;\n\n constructor(private domSanitizer: DomSanitizer) {}\n\n public getTrustedHtml(content: string): SafeHtml {\n return this.domSanitizer.bypassSecurityTrustHtml(content);\n }\n}\n","<div class=\"sky-docs-safe-html\" [innerHtml]=\"getTrustedHtml(innerHtml)\"></div>\n","import { CommonModule } from '@angular/common';\n\nimport { NgModule } from '@angular/core';\n\nimport { SkyDocsSafeHtmlComponent } from './safe-html.component';\n\n@NgModule({\n declarations: [SkyDocsSafeHtmlComponent],\n imports: [CommonModule],\n exports: [SkyDocsSafeHtmlComponent],\n})\nexport class SkyDocsSafeHtmlModule {}\n","import { Injectable } from '@angular/core';\n\nimport { SkyDocsCallSignatureDefinition } from './call-signature-definition';\n\nimport { SkyDocsClassPropertyDefinition } from './property-definition';\n\nimport { SkyDocsInterfaceDefinition } from './interface-definition';\n\nimport { SkyDocsClassMethodDefinition } from './method-definition';\n\nimport { SkyDocsParameterDefinition } from './parameter-definition';\n\nimport { SkyDocsTypeAliasDefinition } from './type-alias-definition';\n\nimport { SkyDocsTypeDefinition } from './type-definition';\n\nimport { SkyDocsTypeParameterDefinition } from './type-parameter-definition';\n\nimport { SkyDocsInterfacePropertyDefinition } from './interface-property-definition';\n\ninterface GetFormattedTypeConfig {\n escapeSpecialCharacters: boolean;\n}\n\n/**\n * Formats type definitions into HTML-compatible strings.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class SkyDocsTypeDefinitionsFormatService {\n /**\n * Returns an HTML-formatted representation of the provided interface config.\n */\n public getInterfaceSourceCode(\n definition: SkyDocsInterfaceDefinition,\n ): string {\n const typeParameters = this.getFormattedTypeParameters(\n definition.typeParameters,\n );\n const config = {\n escapeSpecialCharacters: false,\n };\n\n let signature: string = `interface ${definition.name}${typeParameters} {`;\n signature += this.getFormattedInterfaceProperties(definition, config);\n signature += '\\n}';\n\n return signature;\n }\n\n /**\n * Returns an HTML-formatted representation of the provided method config.\n */\n public getMethodSourceCode(definition: SkyDocsClassMethodDefinition): string {\n const config = {\n escapeSpecialCharacters: false,\n };\n\n const typeArguments = this.getFormattedTypeArguments(\n definition.type,\n config,\n );\n const callSignature = definition.type.callSignature;\n const returnType = this.getFormattedType(callSignature.returnType, config);\n\n let params: string = '';\n if (callSignature.parameters) {\n params += callSignature.parameters\n .map((p) => this.getFormattedParameterName(p, config))\n .join(', ');\n }\n\n return `public ${definition.isStatic ? 'static ' : ''}${\n definition.name\n }${typeArguments}(${params}): ${returnType}`;\n }\n\n /**\n * Returns an HTML-formatted representation of the provided type alias config.\n */\n public getTypeAliasSourceCode(\n definition: SkyDocsTypeAliasDefinition,\n ): string {\n const config = {\n escapeSpecialCharacters: false,\n };\n\n const typeParameters = this.getFormattedTypeParameters(\n definition.typeParameters,\n );\n\n let signature = `type ${definition.name}${typeParameters} = `;\n\n if (definition.type.callSignature) {\n signature += this.getFormattedCallSignature(\n definition.type.callSignature,\n {\n escapeSpecialCharacters: false,\n },\n );\n } else if (definition.type.indexSignature) {\n const indexSignature = definition.type.indexSignature;\n const type = this.getFormattedType(indexSignature.type, {\n escapeSpecialCharacters: false,\n });\n signature += `{\\n [${indexSignature.key.name}: string]: ${type};\\n}`;\n } else {\n /*istanbul ignore else */\n if (definition.type.type === 'union') {\n signature += this.getFormattedUnion(definition.type, config);\n }\n }\n\n return signature;\n }\n\n /**\n * Returns a formatted string representing a parameter's name and value. For example: `'foo: string'`.\n */\n public getFormattedParameterName(\n parameter: SkyDocsParameterDefinition,\n config: GetFormattedTypeConfig = {\n escapeSpecialCharacters: true,\n },\n ): string {\n const optionalMarker = parameter.isOptional ? '?' : '';\n const parameterType = this.getFormattedType(parameter.type, config);\n\n let signature = `${parameter.name}${optionalMarker}: ${parameterType}`;\n if (config.escapeSpecialCharacters) {\n signature = this.escapeSpecialCharacters(signature);\n }\n\n return signature;\n }\n\n /**\n * Returns a formatted string representing a property (or method's) name and value. For example: `'public foo: string'`.\n */\n public getFormattedPropertyName(\n property: SkyDocsClassPropertyDefinition,\n ): string {\n let signature = '';\n\n if (property.decorator?.name) {\n signature += `@${property.decorator.name}()<br>`;\n }\n\n const indexSignature = property.type?.indexSignature;\n let name: string;\n if (indexSignature) {\n name = `[${indexSignature.key.name}: ${this.getFormattedType(\n indexSignature.key.type,\n )}]`;\n } else {\n name = property.name;\n }\n\n if (property.deprecationWarning !== undefined) {\n signature += `<strike>${name}</strike>`;\n } else {\n signature += name;\n }\n\n if (\n property.decorator?.name !== 'Output' &&\n property.isOptional &&\n !indexSignature\n ) {\n signature += '?';\n }\n\n if (indexSignature) {\n signature += `: ${this.getFormattedType(indexSignature.type)}`;\n } else if (property.type) {\n signature += `: ${this.getFormattedType(property.type)}`;\n }\n\n return signature;\n }\n\n /**\n * Returns an HTML-formatted method name to be used on the properties table.\n */\n public getFormattedMethodName(\n definition: SkyDocsClassMethodDefinition,\n ): string {\n let formatted = '';\n\n if (definition.isStatic) {\n formatted += `${definition.parentName}.`;\n }\n\n if (definition.deprecationWarning !== undefined) {\n formatted = `<strike>${formatted}${definition.name}</strike>`;\n } else {\n formatted += definition.name;\n }\n\n return `${formatted}()`;\n }\n\n /**\n * Returns a formatted string representing the provided type.\n */\n public getFormattedType(\n type: SkyDocsTypeDefinition,\n config: GetFormattedTypeConfig = {\n escapeSpecialCharacters: true,\n },\n ): string {\n let formatted = 'any';\n\n if (!type) {\n return formatted;\n }\n\n if (type.callSignature) {\n let formattedSignature = this.getFormattedCallSignature(\n type.callSignature,\n config,\n );\n\n if (type.type === 'array') {\n formattedSignature = `(${formattedSignature})[]`;\n }\n return formattedSignature;\n }\n\n if (type.unionTypes) {\n return this.getFormattedUnion(type, config);\n }\n\n if (type.name !== null && type.name !== undefined) {\n formatted = `${type.name}`;\n }\n\n if (type.typeArguments) {\n formatted += this.getFormattedTypeArguments(type, config);\n }\n\n if (type.type === 'array') {\n formatted += '[]';\n }\n\n if (type.type === 'literal' && typeof type.name === 'string') {\n formatted = `'${formatted}'`;\n }\n\n if (type.typeLiteral) {\n const formattedTypeLiteral = this.getFormattedInterfaceProperties(\n type.typeLiteral,\n config,\n )\n .replace(/\\n/g, ' ')\n .replace(/\\s\\s+/g, ' ');\n formatted = `{${formattedTypeLiteral} }`;\n }\n\n if (config.escapeSpecialCharacters) {\n return this.escapeSpecialCharacters(formatted);\n }\n\n return formatted;\n }\n\n public escapeSpecialCharacters(value: string): string {\n return value.replace(/</g, '&lt;').replace(/>/g, '&gt;');\n }\n\n private getFormattedCallSignature(\n callSignature: SkyDocsCallSignatureDefinition,\n config: GetFormattedTypeConfig,\n ): string {\n const returnType = this.getFormattedType(callSignature.returnType, config);\n\n if (!callSignature.parameters) {\n return `() => ${returnType}`;\n }\n\n const formattedParams = callSignature.parameters\n .map((p) => this.getFormattedParameterName(p, config))\n .join(', ');\n\n return `(${formattedParams}) => ${returnType}`;\n }\n\n private getFormattedUnion(\n typeConfig: SkyDocsTypeDefinition,\n config: GetFormattedTypeConfig,\n ): string {\n return typeConfig.unionTypes\n .map((t) => {\n return this.getFormattedType(t, config);\n })\n .join(' | ');\n }\n\n /**\n * Parse any type arguments e.g. `<T, F>`.\n */\n private getFormattedTypeArguments(\n typeConfig: SkyDocsTypeDefinition,\n config: GetFormattedTypeConfig,\n ): string {\n if (!typeConfig.typeArguments) {\n return '';\n }\n\n const typeArguments = typeConfig.typeArguments.map((typeArgument) => {\n if (typeArgument.type === 'array') {\n return `${typeArgument.name}[]`;\n }\n\n if (typeArgument.unionTypes) {\n return this.getFormattedUnion(typeArgument, config);\n }\n\n return typeArgument.name;\n });\n\n return `<${typeArguments.join(', ')}>`;\n }\n\n private getFormattedTypeParameters(\n typeParameters: SkyDocsTypeParameterDefinition[],\n ): string {\n if (!typeParameters) {\n return '';\n }\n\n const formatted = typeParameters.map((typeParameter) => {\n let result = typeParameter.name;\n if (typeParameter.type && typeParameter.type.type === 'reference') {\n result += ` extends ${typeParameter.type.name}`;\n }\n\n return result;\n });\n\n return `<${formatted.join(', ')}>`;\n }\n\n private getFormattedInterfaceProperties(\n definition: {\n properties?: SkyDocsInterfacePropertyDefinition[];\n },\n config?: GetFormattedTypeConfig,\n ): string {\n let signature: string = '';\n\n definition.properties.forEach((property) => {\n const indexSignature = property.type.indexSignature;\n const optionalIndicator =\n property.isOptional && !indexSignature ? '?' : '';\n const propertyType = this.getFormattedType(property.type, config);\n\n let name: string;\n if (indexSignature) {\n name = `[${indexSignature.key.name}: string]`;\n } else {\n name = property.name;\n }\n\n signature += `\\n ${name}${optionalIndicator}: ${propertyType};`;\n });\n\n return signature;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { TypeDocEntry } from './typedoc-types';\n\n@Injectable()\nexport class SkyDocsTypeDefinitionsProvider {\n public readonly anchorIds: { [_: string]: string };\n\n public readonly typeDefinitions: TypeDocEntry[];\n}\n","import { Injectable } from '@angular/core';\n\nimport { SkyDocsAnchorLinkConfig } from './anchor-link-service-config';\n\nimport { SkyDocsTypeDefinitionsProvider } from './type-definitions-provider';\n\n/**\n * Finds any type name that is NOT surrounded by alpha-numeric (and '>', '<', '.') characters.\n * (This is to avoid matching types that share similar words, such as `Foo` and `FooUser`.)\n * Notes:\n * - If the type name is surrounded by angle brackets, then it has already been processed as a link.\n * - If the type name starts with a period '.', then it is a sub property of an enumeration, etc. and should not be processed as a link.\n * - If the type name ends with a period followed immediately by any word character, then it is a method or property (Foo.bar).\n * Only the type name should be processed as a link.\n */\nfunction createRegex(keyword: string): RegExp {\n return new RegExp(\n `(^|[^a-zA-Z0-9>.[/])(${keyword})(\\\\.\\\\w+)?(?=[^a-zA-Z0-9<]+|$)`,\n 'g',\n );\n}\n\n@Injectable({\n providedIn: 'any',\n})\nexport class SkyDocsAnchorLinkService {\n private anchorIds: { [_: string]: string };\n\n constructor(typeDefinitionsProvider: SkyDocsTypeDefinitionsProvider) {\n this.anchorIds = typeDefinitionsProvider.anchorIds;\n }\n\n /**\n * Formats known type names with `<code>` tags and wraps them with anchor tags, linking to the appropriate type.\n * If the content is already contained within a `<code>` tag, set `codeFormat = false` to prevent extra `<code>` tags from being added.\n */\n public applyTypeAnchorLinks(\n content: string,\n config?: SkyDocsAnchorLinkConfig,\n ): string {\n if (!this.anchorIds || !content) {\n return content;\n }\n\n // Set default for code formatting.\n if (!config) {\n config = {\n applyCodeFormatting: true,\n };\n }\n\n content = this.removeDoubleSquareBrackets(content);\n\n Object.keys(this.anchorIds).forEach((typeName) => {\n content = this.removeBackticks(typeName, content);\n\n let matches: RegExpExecArray;\n let counter = 0;\n const max = 100;\n\n const regex = createRegex(typeName);\n\n do {\n matches = regex.exec(content);\n if (matches) {\n const anchorId = this.anchorIds[typeName];\n const anchorHtml =\n '<a class=\"sky-docs-anchor-link\" href=\"#' +\n anchorId +\n '\">' +\n typeName +\n '</a>';\n\n // Group 3 of the regex pattern captures type properties like Foo.bar.\n // If these are found, they do not need hyperlinked, but add them to the encapsulating code tag.\n const typeProperty = matches[3] ? matches[3] : '';\n\n let replacement;\n if (config.applyCodeFormatting) {\n replacement = '<code>' + anchorHtml + typeProperty + '</code>';\n } else {\n replacement = anchorHtml + typeProperty;\n }\n\n // Regex Positive lookbehinds aren't supported in IE11 and Safari, so we have to check if the match has a starting extra character\n // (usually whitespace \" Foo\"), and then modify the starting/ending indexes to account for the extra character.\n const isMatchExact =\n matches[0].substr(0, typeName.length) === typeName;\n const startIndex = isMatchExact ? matches.index : matches.index + 1;\n const endIndex = isMatchExact\n ? matches[0].length\n : matches[0].length - 1;\n let contentWithCodeTags =\n content.substr(0, startIndex) +\n replacement +\n content.substr(startIndex + endIndex);\n\n content = contentWithCodeTags;\n counter++;\n }\n } while (matches !== null && counter < max);\n });\n\n return content;\n }\n\n /**\n * For backwards compatibility, we need to remove any double brackets wrapped around types.\n * e.g., `[[SampleType]]`\n */\n private removeDoubleSquareBrackets(content: string): string {\n const match = content.match(/\\[\\[.*\\]\\]/);\n if (match) {\n const typeName = match[0].replace(/\\[\\[/g, '').replace(/\\]\\]/g, '');\n content = content.replace(match[0], typeName);\n }\n return content;\n }\n\n /**\n * Removes backtick characters around known types to prevent\n * the markdown pipe from wrapping them with code elements.\n */\n private removeBackticks(typeName: string, content: string): string {\n const regexp = new RegExp(`\\`(${typeName})\\``, 'g');\n return content.replace(regexp, typeName);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { SkyDocsAnchorLinkConfig } from './anchor-link-service-config';\n\nimport { SkyDocsAnchorLinkService } from './anchor-link.service';\n\nimport { SkyDocsAnchorLinkServiceFormatType } from './anchor-link-service-format';\n\n/**\n * Adds same-page anchor tags around known TypeScript types.\n */\n@Pipe({\n name: 'skyDocsTypeAnchorLinks',\n pure: true,\n})\nexport class SkyDocsTypeAnchorLinksPipe implements PipeTransform {\n constructor(private anchorLinkService: SkyDocsAnchorLinkService) {}\n\n public transform(\n value: string,\n formatType?: SkyDocsAnchorLinkServiceFormatType,\n ): string {\n const anchorLinkConfig: SkyDocsAnchorLinkConfig = {\n applyCodeFormatting: formatType !== 'no-code-tags',\n };\n return this.anchorLinkService.applyTypeAnchorLinks(value, anchorLinkConfig);\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { SkyDocsCallSignatureDefinition } from './call-signature-definition';\n\nimport { SkyDocsTypeDefinitionsFormatService } from './type-definitions-format.service';\n\ninterface ParameterViewModel {\n defaultValue: string;\n description: string;\n formattedName: string;\n isOptional: boolean;\n}\n\n/**\n * \"Call signatures\" include methods, functions, and inline arrow functions.\n * This component is used to document both the return type and parameters of a given call signature.\n */\n@Component({\n selector: 'sky-docs-call-signature-definition',\n templateUrl: './call-signature-definition.component.html',\n styleUrls: ['./call-signature-definition.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsCallSignatureDefinitionComponent {\n @Input()\n public set config(value: SkyDocsCallSignatureDefinition) {\n this._config = value;\n this.updateView();\n }\n\n public get config(): SkyDocsCallSignatureDefinition {\n return this._config;\n }\n\n public parameters: ParameterViewModel[];\n\n public returnTypeFormatted: string;\n\n private _config: SkyDocsCallSignatureDefinition;\n\n constructor(private formatService: SkyDocsTypeDefinitionsFormatService) {}\n\n private updateView(): void {\n this.parameters = this.config?.parameters?.map((p) => {\n const vm: ParameterViewModel = {\n defaultValue: p.defaultValue,\n description: p.description,\n formattedName: this.formatService.getFormattedParameterName(p),\n isOptional: p.isOptional,\n };\n\n return vm;\n });\n\n this.returnTypeFormatted = this.formatService.getFormattedType(\n this.config?.returnType,\n );\n }\n}\n","<div *ngIf=\"config\" class=\"sky-docs-call-signature-definition\">\n <ng-container *ngIf=\"parameters\">\n <h4 class=\"sky-docs-call-signature-definition-heading\">Parameters</h4>\n <table class=\"sky-docs-parameter-definitions\">\n <tbody>\n <tr *ngFor=\"let parameter of parameters\">\n <th class=\"sky-docs-parameter-definition-header\">\n <sky-code\n ><span\n [innerHtml]=\"\n parameter.formattedName\n | skyDocsTypeAnchorLinks: 'no-code-tags'\n \"\n ></span\n ></sky-code>\n </th>\n <td class=\"sky-docs-parameter-definition-body\">\n <div\n *ngIf=\"parameter.description\"\n class=\"sky-docs-parameter-definition-description\"\n >\n <sky-docs-safe-html\n *ngIf=\"parameter.description\"\n [innerHtml]=\"\n parameter.description\n | skyDocsTypeAnchorLinks\n | skyDocsMarkdown\n \"\n ></sky-docs-safe-html>\n </div>\n <div\n *ngIf=\"parameter.isOptional\"\n class=\"sky-docs-parameter-definition-label-optional\"\n >\n Optional.\n <ng-container *ngIf=\"parameter.defaultValue\">\n Default is\n <sky-code\n ><span\n [innerHtml]=\"\n parameter.defaultValue\n | skyDocsTypeAnchorLinks: 'no-code-tags'\n \"\n ></span></sky-code\n >.\n </ng-container>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </ng-container>\n\n <ng-container *ngIf=\"returnTypeFormatted\">\n <h4 class=\"sky-docs-call-signature-definition-heading\">Returns</h4>\n\n <div class=\"sky-docs-call-signature-definition-return-type\">\n <sky-code\n ><span\n [innerHtml]=\"\n returnTypeFormatted | skyDocsTypeAnchorLinks: 'no-code-tags'\n \"\n ></span\n ></sky-code>\n </div>\n </ng-container>\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { SkyStatusIndicatorModule } from '@skyux/indicators';\n\n@Component({\n selector: 'sky-docs-preview-feature-indicator',\n templateUrl: './preview-feature-indicator.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [SkyStatusIndicatorModule],\n})\nexport class SkyDocsPreviewIndicatorComponent {}\n","<sky-status-indicator indicatorType=\"warning\" descriptionType=\"warning\"\n >Preview. This feature may not be fully represented in the design\n documentation, the demo, or code examples.</sky-status-indicator\n>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { SkyMediaBreakpoints, SkyMediaQueryService } from '@skyux/core';\n\nimport { SkyDocsCallSignatureDefinition } from './call-signature-definition';\n\nimport { SkyDocsClassPropertyDefinition } from './property-definition';\n\nimport { SkyDocsTypeDefinitionsFormatService } from './type-definitions-format.service';\n\ninterface PropertyViewModel {\n callSignature: SkyDocsCallSignatureDefinition;\n defaultValue: string;\n deprecationWarning: string;\n description: string;\n formattedName: string;\n isOutput: boolean;\n isOptional: boolean;\n isPreview: boolean;\n}\n\n@Component({\n selector: 'sky-docs-property-definitions',\n templateUrl: './property-definitions.component.html',\n styleUrls: ['./property-definitions.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsPropertyDefinitionsComponent implements OnInit {\n @Input()\n public set config(value: { properties?: SkyDocsClassPropertyDefinition[] }) {\n this._config = value;\n this.updateView();\n }\n\n public get config(): { properties?: SkyDocsClassPropertyDefinition[] } {\n return this._config || {};\n }\n\n @Input()\n public propertyType = 'Property';\n\n @Input()\n public showOptionalStatus: boolean = true;\n\n public deprecationWarningPrefix = `<span class=\"sky-text-warning\"></span>**Deprecated.** `;\n\n public isMobile: boolean = true;\n\n public properties: PropertyViewModel[] = [];\n\n private _config: {\n properties?: SkyDocsClassPropertyDefinition[];\n };\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n private formatService: SkyDocsTypeDefinitionsFormatService,\n private mediaQueryService: SkyMediaQueryService,\n ) {}\n\n public ngOnInit(): void {\n this.mediaQueryService.subscribe((breakpoints: SkyMediaBreakpoints) => {\n this.isMobile = breakpoints <= SkyMediaBreakpoints.sm;\n this.changeDetector.markForCheck();\n });\n }\n\n private updateView(): void {\n this.properties = this.config?.properties?.map((property) => {\n const vm: PropertyViewModel = {\n callSignature: property.type?.callSignature,\n defaultValue: this.formatService.escapeSpecialCharacters(\n property.defaultValue || '',\n ),\n deprecationWarning: property.deprecationWarning,\n description: property.description,\n formattedName: this.formatService.getFormattedPropertyName(property),\n isOutput: property.decorator?.name === 'Output',\n isOptional: property.isOptional,\n isPreview: property.isPreview,\n };\n\n return vm;\n });\n }\n}\n","<div *ngIf=\"properties\" class=\"sky-docs-property-definitions\">\n <table *ngIf=\"!isMobile; else mobileTemplate\" class=\"sky-docs-table\">\n <tr class=\"sky-docs-table-row\">\n <th\n class=\"sky-docs-table-column-header sky-docs-table-column-header-name\"\n >\n {{ propertyType }}\n </th>\n <th\n class=\"sky-docs-table-column-header sky-docs-table-column-header-description\"\n >\n Description\n </th>\n </tr>\n <tr *ngFor=\"let property of properties\" class=\"sky-docs-table-row\">\n <td\n class=\"sky-docs-table-cell sky-docs-property-definitions-table-cell-name\"\n >\n <ng-template\n [ngTemplateOutlet]=\"nameTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </td>\n <td\n class=\"sky-docs-table-cell sky-docs-property-definitions-table-cell-description\"\n >\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </td>\n </tr>\n </table>\n\n <ng-template #mobileTemplate>\n <dl class=\"sky-docs-property-definition-list\">\n <div\n *ngFor=\"let property of properties\"\n class=\"sky-docs-property-definition-list-item\"\n >\n <dt class=\"sky-field-label\">{{ propertyType }}</dt>\n <dd class=\"sky-docs-property-definitions-dd-name\">\n <ng-template\n [ngTemplateOutlet]=\"nameTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </dd>\n <dt class=\"sky-field-label\">Description</dt>\n <dd class=\"sky-docs-property-definitions-dd-description\">\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </dd>\n </div>\n </dl>\n </ng-template>\n</div>\n\n<ng-template let-property #nameTemplate>\n <sky-code\n ><span\n [innerHtml]=\"\n property.formattedName | skyDocsTypeAnchorLinks: 'no-code-tags'\n \"\n ></span\n ></sky-code>\n</ng-template>\n\n<ng-template let-property #descriptionTemplate>\n <div\n *ngIf=\"!property.isOutput && !property.isOptional && showOptionalStatus\"\n class=\"sky-docs-property-definition-label\"\n >\n <sky-status-indicator indicatorType=\"danger\" descriptionType=\"danger\"\n >Required.</sky-status-indicator\n >\n </div>\n <div\n *ngIf=\"property.isPreview\"\n class=\"sky-docs-property-definition-preview-warning sky-docs-property-definition-label\"\n >\n <sky-docs-preview-feature-indicator></sky-docs-preview-feature-indicator>\n </div>\n\n <sky-docs-safe-html\n *ngIf=\"property.deprecationWarning !== undefined\"\n class=\"sky-docs-property-definitions-deprecation-warning\"\n [innerHtml]=\"\n deprecationWarningPrefix + property.deprecationWarning\n | skyDocsTypeAnchorLinks\n | skyDocsMarkdown\n \"\n ></sky-docs-safe-html>\n\n <sky-docs-safe-html\n *ngIf=\"property.description\"\n class=\"sky-docs-property-definitions-description\"\n [innerHtml]=\"\n property.description | skyDocsTypeAnchorLinks | skyDocsMarkdown\n \"\n ></sky-docs-safe-html>\n\n <div\n *ngIf=\"!property.isOutput && property.isOptional && showOptionalStatus\"\n class=\"sky-docs-property-definition-label sky-docs-property-definition-label-optional\"\n >\n Optional.\n <ng-container *ngIf=\"property.defaultValue\"\n >Default is\n <sky-code\n ><span\n [innerHtml]=\"\n property.defaultValue | skyDocsTypeAnchorLinks: 'no-code-tags'\n \"\n ></span></sky-code\n >.</ng-container\n >\n </div>\n\n <sky-docs-call-signature-definition\n *ngIf=\"property.callSignature\"\n [config]=\"property.callSignature\"\n ></sky-docs-call-signature-definition>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { SkyDocsDirectiveDefinition } from './directive-definition';\n\n@Component({\n selector: 'sky-docs-directive-definition',\n templateUrl: './directive-definition.component.html',\n styleUrls: ['./directive-definition.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsDirectiveDefinitionComponent {\n @Input()\n public config: SkyDocsDirectiveDefinition;\n}\n","<div\n *ngIf=\"config\"\n class=\"sky-docs-directive-definition sky-docs-type-definition-wrapper\"\n>\n <sky-docs-heading-anchor headingLevel=\"3\" [anchorId]=\"config.anchorId\">\n {{ config.name }}\n </sky-docs-heading-anchor>\n\n <sky-docs-safe-html\n *ngIf=\"config.description\"\n class=\"sky-docs-directive-definition-description\"\n [innerHtml]=\"config.description | skyDocsTypeAnchorLinks | skyDocsMarkdown\"\n ></sky-docs-safe-html>\n\n <h4 class=\"sky-docs-directive-definition-h4\">Selector</h4>\n\n <p class=\"sky-docs-directive-selector\">\n <sky-code>{{ config.selector }}</sky-code>\n </p>\n\n <ng-container *ngIf=\"config.codeExample\">\n <h4 class=\"sky-docs-directive-definition-h4\">Example</h4>\n <sky-code-block\n class=\"sky-docs-code-block\"\n [code]=\"config.codeExample\"\n [hideHeader]=\"true\"\n [languageType]=\"config.codeExampleLanguage\"\n >\n </sky-code-block>\n </ng-container>\n\n <sky-docs-property-definitions\n *ngIf=\"config.inputProperties?.length\"\n propertyType=\"Input\"\n [config]=\"{\n properties: config.inputProperties\n }\"\n ></sky-docs-property-definitions>\n\n <sky-docs-property-definitions\n *ngIf=\"config.eventProperties?.length\"\n propertyType=\"Event\"\n [config]=\"{\n properties: config.eventProperties\n }\"\n ></sky-docs-property-definitions>\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { SkyDocsEnumerationDefinition } from './enumeration-definition';\n\n@Component({\n selector: 'sky-docs-enumeration-definition',\n templateUrl: './enumeration-definition.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsEnumerationDefinitionComponent {\n @Input()\n public config: SkyDocsEnumerationDefinition;\n}\n","<div\n *ngIf=\"config\"\n class=\"sky-docs-enumeration-definition sky-docs-type-definition-wrapper\"\n>\n <sky-docs-heading-anchor headingLevel=\"3\" [anchorId]=\"config.anchorId\">\n {{ config.name }}\n </sky-docs-heading-anchor>\n\n <sky-docs-safe-html\n *ngIf=\"config.description\"\n class=\"sky-docs-enumeration-definition-description\"\n [innerHtml]=\"config.description | skyDocsTypeAnchorLinks | skyDocsMarkdown\"\n ></sky-docs-safe-html>\n\n <sky-docs-property-definitions\n *ngIf=\"config.members\"\n propertyType=\"Member\"\n [config]=\"{ properties: config.members }\"\n [showOptionalStatus]=\"false\"\n ></sky-docs-property-definitions>\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { SkyDocsInterfaceDefinition } from './interface-definition';\n\nimport { SkyDocsTypeDefinitionsFormatService } from './type-definitions-format.service';\n\n@Component({\n selector: 'sky-docs-interface-definition',\n templateUrl: './interface-definition.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsInterfaceDefinitionComponent {\n @Input()\n public set config(value: SkyDocsInterfaceDefinition) {\n this._config = value;\n this.updateView();\n }\n\n public get config(): SkyDocsInterfaceDefinition {\n return this._config;\n }\n\n public sourceCode: string;\n\n private _config: SkyDocsInterfaceDefinition;\n\n constructor(private formatService: SkyDocsTypeDefinitionsFormatService) {}\n\n private updateView(): void {\n this.sourceCode = this.config\n ? this.formatService.getInterfaceSourceCode(this.config)\n : undefined;\n }\n}\n","<div\n *ngIf=\"config\"\n class=\"sky-docs-interface-definition sky-docs-type-definition-wrapper\"\n>\n <sky-docs-heading-anchor headingLevel=\"3\" [anchorId]=\"config.anchorId\">\n {{ config.name }}\n </sky-docs-heading-anchor>\n\n <sky-docs-safe-html\n *ngIf=\"config.description\"\n class=\"sky-docs-interface-definition-description\"\n [innerHtml]=\"config.description | skyDocsTypeAnchorLinks | skyDocsMarkdown\"\n ></sky-docs-safe-html>\n\n <sky-code-block\n *ngIf=\"sourceCode\"\n class=\"sky-docs-code-block\"\n languageType=\"typescript\"\n [code]=\"sourceCode\"\n [hideHeader]=\"true\"\n ></sky-code-block>\n\n <sky-docs-property-definitions\n *ngIf=\"config.properties?.length\"\n [config]=\"{ properties: config.properties }\"\n [showOptionalStatus]=\"false\"\n ></sky-docs-property-definitions>\n</div>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { SkyMediaBreakpoints, SkyMediaQueryService } from '@skyux/core';\n\nimport { SkyDocsCallSignatureDefinition } from './call-signature-definition';\n\nimport { SkyDocsClassMethodDefinition } from './method-definition';\n\nimport { SkyDocsTypeDefinitionsFormatService } from './type-definitions-format.service';\n\ninterface MethodViewModel {\n callSignature: SkyDocsCallSignatureDefinition;\n codeExample: string;\n codeExampleLanguage: string;\n deprecationWarning: string;\n description: string;\n formattedName: string;\n sourceCode: string;\n isStatic: boolean;\n isPreview: boolean;\n}\n\n@Component({\n selector: 'sky-docs-method-definitions',\n templateUrl: './method-definitions.component.html',\n styleUrls: ['./method-definitions.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsMethodDefinitionsComponent implements OnInit {\n @Input()\n public set config(value: { methods?: SkyDocsClassMethodDefinition[] }) {\n this.#_config = value;\n this.updateView();\n }\n\n public get config(): { methods?: SkyDocsClassMethodDefinition[] } {\n return this.#_config || {};\n }\n\n public deprecationWarningPrefix = `<span class=\"sky-text-warning\"></span>**Deprecated.** `;\n\n public isMobile: boolean = true;\n\n public methods: MethodViewModel[];\n\n public staticMethods: MethodViewModel[];\n\n #_config: {\n methods?: SkyDocsClassMethodDefinition[];\n };\n\n #changeDetector: ChangeDetectorRef;\n #formatService: SkyDocsTypeDefinitionsFormatService;\n #mediaQueryService: SkyMediaQueryService;\n\n constructor(\n changeDetector: ChangeDetectorRef,\n formatService: SkyDocsTypeDefinitionsFormatService,\n mediaQueryService: SkyMediaQueryService,\n ) {\n this.#changeDetector = changeDetector;\n this.#formatService = formatService;\n this.#mediaQueryService = mediaQueryService;\n }\n\n public ngOnInit(): void {\n this.#mediaQueryService.subscribe((breakpoints: SkyMediaBreakpoints) => {\n this.isMobile = breakpoints <= SkyMediaBreakpoints.sm;\n this.#changeDetector.markForCheck();\n });\n }\n\n private updateView(): void {\n if (this.config.methods?.length > 0) {\n this.methods = [];\n this.staticMethods = [];\n for (let method of this.config.methods) {\n const vm: MethodViewModel = {\n callSignature: method.type.callSignature,\n codeExample: method.codeExample,\n codeExampleLanguage: method.codeExampleLanguage,\n deprecationWarning: method.deprecationWarning,\n description: method.description,\n formattedName: this.#formatService.getFormattedMethodName(method),\n sourceCode: this.#formatService.getMethodSourceCode(method),\n isStatic: method.isStatic,\n isPreview: method.isPreview,\n };\n\n if (vm.isStatic) {\n this.staticMethods.push(vm);\n } else {\n this.methods.push(vm);\n }\n }\n }\n }\n}\n","<div\n *ngIf=\"methods?.length > 0 || staticMethods?.length > 0\"\n class=\"sky-docs-method-definitions\"\n>\n <ng-container *ngIf=\"!isMobile; else mobileTemplate\">\n <table\n class=\"sky-docs-table sky-docs-static-method-definitions\"\n *ngIf=\"staticMethods?.length > 0\"\n >\n <tr class=\"sky-docs-table-row\">\n <th\n class=\"sky-docs-table-column-header sky-docs-table-column-header-name\"\n >\n Static methods\n </th>\n <th\n class=\"sky-docs-table-column-header sky-docs-table-column-header-description\"\n >\n Description\n </th>\n </tr>\n <tr *ngFor=\"let method of staticMethods\" class=\"sky-docs-table-row\">\n <td\n class=\"sky-docs-table-cell sky-docs-method-definitions-table-cell-name\"\n >\n <ng-template\n [ngTemplateOutlet]=\"nameTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: method }\"\n ></ng-template>\n </td>\n <td\n class=\"sky-docs-table-cell sky-docs-method-definitions-table-cell-description\"\n >\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: method }\"\n ></ng-template>\n </td>\n </tr>\n </table>\n <table\n class=\"sky-docs-table sky-docs-standard-method-definitions\"\n *ngIf=\"methods?.length > 0\"\n >\n <tr class=\"sky-docs-table-row\">\n <th\n class=\"sky-docs-table-column-header sky-docs-table-column-header-name\"\n >\n Methods\n </th>\n <th\n class=\"sky-docs-table-column-header sky-docs-table-column-header-description\"\n >\n Description\n </th>\n </tr>\n <tr *ngFor=\"let method of methods\" class=\"sky-docs-table-row\">\n <td\n class=\"sky-docs-table-cell sky-docs-method-definitions-table-cell-name\"\n >\n <ng-template\n [ngTemplateOutlet]=\"nameTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: method }\"\n ></ng-template>\n </td>\n <td\n class=\"sky-docs-table-cell sky-docs-method-definitions-table-cell-description\"\n >\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: method }\"\n ></ng-template>\n </td>\n </tr>\n </table>\n </ng-container>\n\n <ng-template #mobileTemplate>\n <dl\n class=\"sky-docs-method-definition-list sky-docs-static-method-definitions\"\n *ngIf=\"staticMethods?.length > 0\"\n >\n <div\n *ngFor=\"let method of staticMethods\"\n class=\"sky-docs-method-definition-list-item\"\n >\n <dt class=\"sky-field-label\">Static methods</dt>\n <dd class=\"sky-docs-method-definitions-dd-name\">\n <ng-template\n [ngTemplateOutlet]=\"nameTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: method }\"\n ></ng-template>\n </dd>\n <dt class=\"sky-field-label\">Description</dt>\n <dd class=\"sky-docs-method-definitions-dd-description\">\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: method }\"\n ></ng-template>\n </dd>\n </div>\n </dl>\n <dl\n class=\"sky-docs-method-definition-list sky-docs-standard-method-definitions\"\n *ngIf=\"methods?.length > 0\"\n >\n <div\n *ngFor=\"let method of methods\"\n class=\"sky-docs-method-definition-list-item\"\n >\n <dt class=\"sky-field-label\">Methods</dt>\n <dd class=\"sky-docs-method-definitions-dd-name\">\n <ng-template\n [ngTemplateOutlet]=\"nameTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: method }\"\n ></ng-template>\n </dd>\n <dt class=\"sky-field-label\">Description</dt>\n <dd class=\"sky-docs-method-definitions-dd-description\">\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: method }\"\n ></ng-template>\n </dd>\n </div>\n </dl>\n </ng-template>\n</div>\n\n<ng-template let-method #nameTemplate>\n <sky-code\n ><span\n [innerHtml]=\"\n method.formattedName | skyDocsTypeAnchorLinks: 'no-code-tags'\n \"\n ></span\n ></sky-code>\n</ng-template>\n\n<ng-template let-method #descriptionTemplate>\n <div\n *ngIf=\"method.isPreview\"\n class=\"sky-docs-method-definition-preview-warning sky-docs-property-definition-label\"\n >\n <sky-docs-preview-feature-indicator></sky-docs-preview-feature-indicator>\n </div>\n\n <sky-docs-safe-html\n *ngIf=\"method.deprecationWarning !== undefined\"\n class=\"sky-docs-method-definition-deprecation-warning\"\n [innerHtml]=\"\n deprecationWarningPrefix + method.deprecationWarning\n | skyDocsTypeAnchorLinks\n | skyDocsMarkdown\n \"\n ></sky-docs-safe-html>\n\n <sky-docs-safe-html\n *ngIf=\"method.description\"\n class=\"sky-docs-method-definition-description\"\n [innerHtml]=\"method.description | skyDocsTypeAnchorLinks | skyDocsMarkdown\"\n ></sky-docs-safe-html>\n\n <sky-code-block\n *ngIf=\"method.sourceCode\"\n class=\"sky-docs-code-block\"\n languageType=\"typescript\"\n [code]=\"method.sourceCode\"\n [hideHeader]=\"true\"\n ></sky-code-block>\n\n <sky-docs-call-signature-definition\n *ngIf=\"method.callSignature\"\n [config]=\"method.callSignature\"\n ></sky-docs-call-signature-definition>\n\n <ng-container *ngIf=\"method.codeExample\">\n <h4 class=\"sky-docs-method-definition-heading\">Example</h4>\n <sky-code-block\n *ngIf=\"method.codeExample\"\n class=\"sky-docs-code-block\"\n languageType=\"method.codeExampleLanguage\"\n [code]=\"method.codeExample\"\n [hideHeader]=\"true\"\n ></sky-code-block>\n </ng-container>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { SkyDocsPipeDefinition } from './pipe-definition';\n\n@Component({\n selector: 'sky-docs-pipe-definition',\n templateUrl: './pipe-definition.component.html',\n styleUrls: ['./pipe-definition.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsPipeDefinitionComponent {\n @Input()\n public config: SkyDocsPipeDefinition;\n}\n","<div\n *ngIf=\"config\"\n class=\"sky-docs-pipe-definition sky-docs-type-definition-wrapper\"\n>\n <sky-docs-heading-anchor headingLevel=\"3\" [anchorId]=\"config.anchorId\">\n {{ config.name }}\n </sky-docs-heading-anchor>\n\n <sky-docs-safe-html\n *ngIf=\"config.description\"\n [innerHtml]=\"config.description | skyDocsTypeAnchorLinks | skyDocsMarkdown\"\n ></sky-docs-safe-html>\n\n <ng-container *ngIf=\"config.codeExample\">\n <h4 class=\"sky-docs-pipe-definition-heading\">Example</h4>\n <sky-code-block\n class=\"sky-docs-code-block\"\n [code]=\"config.codeExample\"\n [hideHeader]=\"true\"\n [languageType]=\"config.codeExampleLanguage\"\n ></sky-code-block>\n </ng-container>\n\n <sky-docs-method-definitions\n *ngIf=\"config.transformMethod\"\n [config]=\"{\n methods: [config.transformMethod]\n }\"\n ></sky-docs-method-definitions>\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { SkyDocsClassDefinition } from './class-definition';\n\n@Component({\n selector: 'sky-docs-class-definition',\n templateUrl: './class-definition.component.html',\n styleUrls: ['./class-definition.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsClassDefinitionComponent {\n @Input()\n public config: SkyDocsClassDefinition;\n}\n","<div\n *ngIf=\"config\"\n class=\"sky-docs-class-definition sky-docs-type-definition-wrapper\"\n>\n <sky-docs-heading-anchor headingLevel=\"3\" [anchorId]=\"config.anchorId\">\n {{ config.name }}\n </sky-docs-heading-anchor>\n\n <sky-docs-safe-html\n *ngIf=\"config.description\"\n class=\"sky-docs-class-definition-description\"\n [innerHtml]=\"config.description | skyDocsTypeAnchorLinks | skyDocsMarkdown\"\n ></sky-docs-safe-html>\n\n <ng-container *ngIf=\"config.properties?.length\">\n <sky-docs-property-definitions\n [config]=\"{ properties: config.properties }\"\n ></sky-docs-property-definitions>\n </ng-container>\n\n <ng-container *ngIf=\"config.methods?.length\">\n <sky-docs-method-definitions\n [config]=\"{ methods: config.methods }\"\n ></sky-docs-method-definitions>\n </ng-container>\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { SkyDocsTypeAliasDefinition } from './type-alias-definition';\n\nimport { SkyDocsTypeDefinitionsFormatService } from './type-definitions-format.service';\n\n@Component({\n selector: 'sky-docs-type-alias-definition',\n templateUrl: './type-alias-definition.component.html',\n styleUrls: ['./type-alias-definition.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsTypeAliasDefinitionComponent {\n @Input()\n public set config(value: SkyDocsTypeAliasDefinition) {\n this._config = value;\n this.updateView();\n }\n\n public get config(): SkyDocsTypeAliasDefinition {\n return this._config;\n }\n\n public sourceCode: string;\n\n private _config: SkyDocsTypeAliasDefinition;\n\n constructor(private formatService: SkyDocsTypeDefinitionsFormatService) {}\n\n private updateView(): void {\n this.sourceCode = this.config\n ? this.formatService.getTypeAliasSourceCode(this.config)\n : undefined;\n }\n}\n","<div\n *ngIf=\"config\"\n class=\"sky-docs-type-alias-definition sky-docs-type-definition-wrapper\"\n>\n <sky-docs-heading-anchor headingLevel=\"3\" [anchorId]=\"config.anchorId\">\n {{ config.name }}\n </sky-docs-heading-anchor>\n\n <div\n *ngIf=\"config.isPreview\"\n class=\"sky-docs-type-alias-preview-warning sky-docs-property-definition-label\"\n >\n <sky-docs-preview-feature-indicator></sky-docs-preview-feature-indicator>\n </div>\n\n <sky-docs-safe-html\n *ngIf=\"config.description\"\n class=\"sky-docs-type-alias-definition-description\"\n [innerHtml]=\"config.description | skyDocsTypeAnchorLinks | skyDocsMarkdown\"\n ></sky-docs-safe-html>\n\n <sky-code-block\n *ngIf=\"sourceCode\"\n class=\"sky-docs-code-block\"\n languageType=\"typescript\"\n [code]=\"sourceCode\"\n [hideHeader]=\"true\"\n ></sky-code-block>\n\n <sky-docs-call-signature-definition\n *ngIf=\"config.type.callSignature\"\n [config]=\"config.type.callSignature\"\n ></sky-docs-call-signature-definition>\n</div>\n","import { CommonModule } from '@angular/common';\n\nimport { NgModule } from '@angular/core';\n\nimport { RouterModule } from '@angular/router';\n\nimport {\n SkyCodeBlockModule,\n SkyCodeModule,\n} from '@blackbaud/skyux-lib-code-block';\n\nimport { SkyIconModule, SkyStatusIndicatorModule } from '@skyux/indicators';\n\nimport { SkyDefinitionListModule } from '@skyux/layout';\n\nimport { SkyDocsHeadingAnchorModule } from '../heading-anchor/heading-anchor.module';\n\nimport { SkyDocsMarkdownModule } from '../markdown/markdown.module';\n\nimport { SkyDocsSafeHtmlModule } from '../safe-html/safe-html.module';\n\nimport { SkyDocsCallSignatureDefinitionComponent } from './call-signature-definition.component';\n\nimport { SkyDocsDirectiveDefinitionComponent } from './directive-definition.component';\n\nimport { SkyDocsEnumerationDefinitionComponent } from './enumeration-definition.component';\n\nimport { SkyDocsInterfaceDefinitionComponent } from './interface-definition.component';\n\nimport { SkyDocsMethodDefinitionsComponent } from './method-definitions.component';\n\nimport { SkyDocsPipeDefinitionComponent } from './pipe-definition.component';\n\nimport { SkyDocsPropertyDefinitionsComponent } from './property-definitions.component';\n\nimport { SkyDocsClassDefinitionComponent } from './class-definition.component';\n\nimport { SkyDocsTypeAliasDefinitionComponent } from './type-alias-definition.component';\n\nimport { SkyDocsTypeAnchorLinksPipe } from './type-anchor-links.pipe';\nimport { SkyDocsPreviewIndicatorComponent } from './preview-feature-indicator.component';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n SkyCodeBlockModule,\n SkyCodeModule,\n SkyDefinitionListModule,\n SkyDocsHeadingAnchorModule,\n SkyDocsMarkdownModule,\n SkyDocsPreviewIndicatorComponent,\n SkyDocsSafeHtmlModule,\n SkyIconModule,\n SkyStatusIndicatorModule,\n ],\n declarations: [\n SkyDocsCallSignatureDefinitionComponent,\n SkyDocsClassDefinitionComponent,\n SkyDocsDirectiveDefinitionComponent,\n SkyDocsEnumerationDefinitionComponent,\n SkyDocsInterfaceDefinitionComponent,\n SkyDocsMethodDefinitionsComponent,\n SkyDocsPipeDefinitionComponent,\n SkyDocsPropertyDefinitionsComponent,\n SkyDocsTypeAliasDefinitionComponent,\n SkyDocsTypeAnchorLinksPipe,\n ],\n exports: [\n SkyDocsCallSignatureDefinitionComponent,\n SkyDocsClassDefinitionComponent,\n SkyDocsDirectiveDefinitionComponent,\n SkyDocsEnumerationDefinitionComponent,\n SkyDocsInterfaceDefinitionComponent,\n SkyDocsMethodDefinitionsComponent,\n SkyDocsPipeDefinitionComponent,\n SkyDocsPropertyDefinitionsComponent,\n SkyDocsTypeAliasDefinitionComponent,\n SkyDocsTypeAnchorLinksPipe,\n ],\n})\nexport class SkyDocsTypeDefinitionsModule {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n/**\n * Specifies a section of page content.\n * @example\n * ```\n * <sky-docs-demo-page-section\n * heading=\"Section heading\"\n * >\n * Section content here.\n * </sky-docs-demo-page-section>\n * ```\n */\n@Component({\n selector: 'sky-docs-demo-page-section',\n templateUrl: './demo-page-section.component.html',\n styleUrls: ['./demo-page-section.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsDemoPageSectionComponent {\n /**\n * The heading text to print above the section.\n */\n @Input()\n public heading: string;\n\n public get anchorId(): string {\n return `section-${this.getSanitizedName(this.heading)}`;\n }\n\n private getSanitizedName(value: string): string {\n if (!value) {\n return;\n }\n\n const sanitized = value\n .toLowerCase()\n\n // Remove special characters.\n .replace(\n /[\\_\\~\\`\\@\\!\\#\\$\\%\\^\\&\\*\\(\\)\\[\\]\\{\\}\\;\\:\\'\\/\\\\\\<\\>\\,\\.\\?\\=\\+\\|\"]/g,\n '',\n )\n\n // Replace space characters with a dash.\n .replace(/\\s/g, '-')\n\n // Remove any double-dashes.\n .replace(/--/g, '-');\n\n return sanitized;\n }\n}\n","<div class=\"sky-docs-demo-page-section sky-rounded-corners\">\n <div *ngIf=\"heading\" class=\"sky-docs-demo-page-section-header\">\n <sky-docs-heading-anchor headingLevel=\"2\" [anchorId]=\"anchorId\">\n {{ heading }}\n </sky-docs-heading-anchor>\n </div>\n <div class=\"sky-docs-demo-page-section-body\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * The page summary provides a section at the top of the page\n * to summarize what a user should expect to find or learn on the page.\n * @example\n * ```\n * <sky-docs-demo-page-summary>\n * Page summary here.\n * </sky-docs-demo-page-summary>\n * ```\n */\n@Component({\n selector: 'sky-docs-demo-page-summary',\n templateUrl: './demo-page-summary.component.html',\n styleUrls: ['./demo-page-summary.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsDemoPageSummaryComponent {}\n","<div class=\"sky-docs-demo-page-summary\">\n <ng-content></ng-content>\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'sky-docs-design-guidelines',\n templateUrl: './design-guidelines.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsDesignGuidelinesComponent {}\n","<div class=\"sky-docs-design-guidelines\">\n <ng-content></ng-content>\n</div>\n","import { Injectable, OnDestroy } from '@angular/core';\n\nimport { SkyAppWindowRef } from '@skyux/core';\n\nimport { Observable, Subject } from 'rxjs';\n\nimport { SkyDocsAnchorLink } from '../type-definitions/anchor-link';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyDocsDemoPageDomAdapterService implements OnDestroy {\n private get anchorLinks(): NodeListOf<HTMLAnchorElement> {\n return document.querySelectorAll('a.sky-docs-anchor-link');\n }\n\n private get currentUrl(): string {\n return this.windowRef.nativeWindow.location.href.split('#')[0];\n }\n\n private _anchorLinkClick = new Subject<SkyDocsAnchorLink>();\n\n constructor(private windowRef: SkyAppWindowRef) {}\n\n public ngOnDestroy(): void {\n this.removeClickEventListeners();\n }\n\n public setupAnchorLinks(): void {\n for (let index = 0; index < this.anchorLinks.length; index++) {\n const anchor = this.anchorLinks[index];\n const fragment = anchor.href.split('#')[1];\n const url = this.currentUrl;\n const href = `${url}#${fragment}`;\n anchor.href = href;\n }\n }\n\n public get anchorLinkClick(): Observable<SkyDocsAnchorLink> {\n if (this._anchorLinkClick.observers.length === 0) {\n this.addClickEventListeners();\n } else {\n this.removeClickEventListeners();\n }\n return this._anchorLinkClick;\n }\n\n public scrollToFragment(fragment: string): void {\n this.windowRef.nativeWindow.setTimeout(() => {\n const element = document.getElementById(fragment);\n if (element) {\n this.windowRef.nativeWindow.scrollTo(0, element.offsetTop);\n }\n }, 250);\n }\n\n private addClickEventListeners(): void {\n // Wait for a tick to allow all anchors to be written.\n this.windowRef.nativeWindow.setTimeout(() => {\n for (let index = 0; index < this.anchorLinks.length; index++) {\n const anchor = this.anchorLinks[index];\n anchor.addEventListener('click', this.eventListener);\n }\n });\n }\n\n private removeClickEventListeners(): void {\n for (let index = 0; index < this.anchorLinks.length; index++) {\n const anchor = this.anchorLinks[index];\n anchor.removeEventListener('click', this.eventListener);\n }\n }\n\n private eventListener = (e: Event) => {\n e.preventDefault();\n this._anchorLinkClick.next({\n href: (e.target as HTMLAnchorElement).href,\n });\n };\n}\n","export class SkyDocsToolsSiteOptions {\n public previewFeaturesUrl: string;\n}\n","import { Injectable } from '@angular/core';\n\nimport { HttpClient } from '@angular/common/http';\n\nimport { Observable } from 'rxjs';\n\nimport { map, share } from 'rxjs/operators';\n\nimport { SkyDocsComponentInfo } from './docs-tools-component-info';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SkyDocsSupportalService {\n constructor(private http: HttpClient) {}\n\n public getComponentsInfo(): Observable<SkyDocsComponentInfo[]> {\n return this.http\n .get('https://sky-pusa01.app.blackbaud.net/skysp/v1/docs/components-info')\n .pipe(\n map((results: any) => results.components),\n share(),\n );\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Title } from '@angular/platform-browser';\n\n/**\n * @internal\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class SkyDocsDemoPageTitleService {\n constructor(private title: Title) {}\n\n public setTitle(...parts: string[]): void {\n let windowTitle = 'SKY UX';\n\n if (parts && parts.length > 0) {\n parts.push(windowTitle);\n windowTitle = parts.join(' - ');\n }\n\n this.title.setTitle(windowTitle);\n }\n}\n","export interface TypeDocComment {\n summary?: { kind: string; text: string }[];\n\n blockTags?: {\n param?: string;\n content?: { kind: string; text: string }[];\n tag:\n | '@default'\n | '@defaultValue'\n | '@deprecated'\n | '@example'\n | '@param'\n | '@preview'\n | '@required';\n }[];\n}\n\nexport interface TypeDocSource {\n fileName: string;\n}\n\nexport interface TypeDocSignature {\n comment?: TypeDocComment;\n\n kind?:\n | TypeDocKind.CallSignature\n | TypeDocKind.ConstructorSignature\n | TypeDocKind.IndexSignature;\n\n name: string;\n\n parameters?: TypeDocParameter[];\n\n returnType?: TypeDocType;\n\n type?: TypeDocType;\n\n typeParameters?: TypeDocTypeParameter[];\n}\n\nexport interface TypeDocTypeParameter {\n name: string;\n kind: TypeDocKind.TypeParameter;\n type?: TypeDocType;\n}\n\nexport interface TypeDocType {\n constraint?: {\n name: string;\n };\n\n callSignature?: TypeDocSignature;\n\n declaration?: {\n children?: TypeDocEntryChild[];\n indexSignature?: TypeDocSignature;\n signatures?: TypeDocSignature[];\n };\n\n elementType?: TypeDocType;\n\n name?: string;\n\n operator?: 'keyof';\n\n target?: {\n name: string;\n };\n\n type?:\n | 'array'\n | 'intrinsic'\n | 'literal'\n | 'reference'\n | 'reflection'\n | 'typeParameter'\n | 'typeOperator'\n | 'union'\n | 'unknown';\n\n typeArguments?: TypeDocType[];\n\n types?: TypeDocType[];\n\n value?: string;\n}\n\nexport interface TypeDocParameter {\n comment?: TypeDocComment;\n\n defaultValue?: string;\n\n kind: TypeDocKind.Parameter;\n\n name: string;\n\n type: TypeDocType;\n\n flags?: {\n isOptional?: boolean;\n };\n}\n\nexport interface TypeDocEntryChild {\n comment?: TypeDocComment;\n\n decorators?: {\n arguments?: {\n bindingPropertyName?: string;\n };\n name: 'Input' | 'Output';\n type: TypeDocType;\n }[];\n\n defaultValue?: string;\n\n flags?: {\n isOptional?: boolean;\n isStatic?: boolean;\n };\n\n kind?:\n | TypeDocKind.Accessor\n | TypeDocKind.CallSignature\n | TypeDocKind.Constructor\n | TypeDocKind.ConstructorSignature\n | TypeDocKind.IndexSignature\n | TypeDocKind.EnumMember\n | TypeDocKind.Parameter\n | TypeDocKind.Property\n | TypeDocKind.Method;\n\n getSignature?: {\n comment: TypeDocComment;\n name: string;\n type: TypeDocType;\n };\n\n name?: string;\n\n setSignature?: {\n comment: TypeDocComment;\n name: string;\n parameters?: TypeDocParameter[];\n type: TypeDocType;\n };\n\n signatures?: TypeDocSignature[];\n\n sources?: TypeDocSource[];\n\n type?: TypeDocType;\n}\n\nexport interface TypeDocEntry {\n anchorId?: string;\n\n children?: TypeDocEntryChild[];\n\n comment?: TypeDocComment;\n\n decorators?: {\n arguments?: {\n obj?: string;\n };\n name: 'Component' | 'Directive' | 'Injectable' | 'NgModule' | 'Pipe';\n type: TypeDocType;\n }[];\n\n kind?:\n | TypeDocKind.Class\n | TypeDocKind.Enum\n | TypeDocKind.Interface\n | TypeDocKind.TypeAlias;\n\n indexSignature?: TypeDocSignature;\n\n name?: string;\n\n sources?: TypeDocSource[];\n\n type?: TypeDocType;\n\n typeParameters?: TypeDocTypeParameter[];\n}\n\n/**\n * This enum comes from:\n * https://github.com/TypeStrong/typedoc/blob/v0.25.13/src/lib/models/reflections/kind.ts\n * The enum is up to date as of version `0.25.13`.\n */\nexport enum TypeDocKind {\n Project = 0x1,\n Module = 0x2,\n Namespace = 0x4,\n Enum = 0x8,\n EnumMember = 0x10,\n Variable = 0x20,\n Function = 0x40,\n Class = 0x80,\n Interface = 0x100,\n Constructor = 0x200,\n Property = 0x400,\n Method = 0x800,\n CallSignature = 0x1000,\n IndexSignature = 0x2000,\n ConstructorSignature = 0x4000,\n Parameter = 0x8000,\n TypeLiteral = 0x10000,\n TypeParameter = 0x20000,\n Accessor = 0x40000,\n GetSignature = 0x80000,\n SetSignature = 0x100000,\n TypeAlias = 0x200000,\n Reference = 0x400000,\n}\n","import { Injectable, Optional } from '@angular/core';\n\nimport { SkyDocsCallSignatureDefinition } from './call-signature-definition';\n\nimport { SkyDocsClassDefinition } from './class-definition';\n\nimport { SkyDocsClassPropertyDefinition } from './property-definition';\n\nimport { SkyDocsCommentTags } from './comment-tags';\n\nimport { SkyDocsDirectiveDefinition } from './directive-definition';\n\nimport { SkyDocsEnumerationDefinition } from './enumeration-definition';\n\nimport { SkyDocsEnumerationMemberDefinition } from './enumeration-member-definition';\n\nimport { SkyDocsIndexSignatureDefinition } from './index-signature-definition';\n\nimport { SkyDocsInterfaceDefinition } from './interface-definition';\n\nimport { SkyDocsInterfacePropertyDefinition } from './interface-property-definition';\n\nimport { SkyDocsClassMethodDefinition } from './method-definition';\n\nimport { SkyDocsParameterDefinition } from './parameter-definition';\n\nimport { SkyDocsPipeDefinition } from './pipe-definition';\n\nimport { SkyDocsPropertyDecoratorDefinition } from './property-decorator';\n\nimport { SkyDocsTypeAliasDefinition } from './type-alias-definition';\n\nimport { SkyDocsTypeDefinition } from './type-definition';\n\nimport { SkyDocsTypeDefinitionsProvider } from './type-definitions-provider';\n\nimport { SkyDocsTypeParameterDefinition } from './type-parameter-definition';\n\nimport {\n TypeDocComment,\n TypeDocEntry,\n TypeDocEntryChild,\n TypeDocKind,\n TypeDocParameter,\n TypeDocSignature,\n TypeDocType,\n TypeDocTypeParameter,\n} from './typedoc-types';\n\nimport orderBy from 'lodash.orderby';\n\n/**\n * Converts TypeDoc types into SKY UX docs-tools types, to be supplied to the various definitions components.\n */\n@Injectable({\n providedIn: 'any',\n})\nexport class SkyDocsTypeDocAdapterService {\n constructor(\n @Optional()\n private typeDefinitionsProvider?: SkyDocsTypeDefinitionsProvider,\n ) {}\n\n public toClassDefinition(entry: TypeDocEntry): SkyDocsClassDefinition {\n const definition: SkyDocsClassDefinition = {\n anchorId: this.getAnchorId(entry),\n name: entry.name,\n hasPreviewFeatures: false,\n };\n\n const tags = this.getCommentTags(entry.comment);\n this.applyCommentTagValues(definition, tags);\n\n const methods = this.getClassMethods(entry);\n if (methods.length) {\n definition.methods = methods;\n }\n\n const properties = this.getClassProperties(entry);\n if (properties.length) {\n definition.properties = properties;\n }\n\n definition.hasPreviewFeatures =\n !!definition.methods?.some((method) => method.isPreview) ||\n !!definition.properties?.some((property) => property.isPreview);\n\n return definition;\n }\n\n public toDirectiveDefinition(\n entry: TypeDocEntry,\n ): SkyDocsDirectiveDefinition {\n const definition: SkyDocsDirectiveDefinition = {\n anchorId: this.getAnchorId(entry),\n name: entry.name,\n selector: this.getSelector(entry),\n hasPreviewFeatures: false,\n };\n\n const tags = this.getCommentTags(entry.comment);\n this.applyCommentTagValues(definition, tags);\n\n const properties = this.getClassProperties(entry);\n\n const eventProperties = properties.filter(\n (p) => p.decorator?.name === 'Output',\n );\n if (eventProperties.length) {\n definition.eventProperties = eventProperties;\n }\n\n const inputProperties = properties.filter(\n (p) => p.decorator?.name === 'Input',\n );\n if (inputProperties.length) {\n definition.inputProperties = inputProperties;\n }\n\n definition.hasPreviewFeatures =\n !!definition.inputProperties?.some((property) => property.isPreview) ||\n !!definition.eventProperties?.some((property) => property.isPreview);\n\n return definition;\n }\n\n public toEnumerationDefinition(\n entry: TypeDocEntry,\n ): SkyDocsEnumerationDefinition {\n const members = this.getEnumerationMembers(entry);\n const definition: SkyDocsEnumerationDefinition = {\n anchorId: this.getAnchorId(entry),\n members,\n name: entry.name,\n hasPreviewFeatures: !!members.find((member) => member.isPreview),\n };\n\n const tags = this.getCommentTags(entry.comment);\n this.applyCommentTagValues(definition, tags);\n\n return definition;\n }\n\n public toInterfaceDefinition(\n entry: TypeDocEntry,\n ): SkyDocsInterfaceDefinition {\n const properties = this.getInterfaceProperties(entry);\n const definition: SkyDocsInterfaceDefinition = {\n anchorId: this.getAnchorId(entry),\n name: entry.name,\n hasPreviewFeatures: !!properties.find((member) => member.isPreview),\n properties,\n };\n\n const tags = this.getCommentTags(entry.comment);\n this.applyCommentTagValues(definition, tags);\n\n const typeParameters = this.getTypeParameterDefinitions(\n entry.typeParameters,\n );\n if (typeParameters.length) {\n definition.typeParameters = typeParameters;\n }\n\n return definition;\n }\n\n public toPipeDefinition(entry: TypeDocEntry): SkyDocsPipeDefinition {\n const methods = this.getClassMethods(entry);\n const transformMethod = methods.find((m) => m.name === 'transform');\n const definition: SkyDocsPipeDefinition = {\n anchorId: this.getAnchorId(entry),\n name: entry.name,\n transformMethod,\n };\n\n const tags = this.getCommentTags(entry.comment);\n this.applyCommentTagValues(definition, tags);\n\n return definition;\n }\n\n public toTypeAliasDefinition(\n entry: TypeDocEntry,\n ): SkyDocsTypeAliasDefinition {\n const definition: SkyDocsTypeAliasDefinition = {\n anchorId: this.getAnchorId(entry),\n name: entry.name,\n isPreview: false,\n type: this.getTypeDefinition({\n comment: entry.comment,\n type: entry.type,\n }),\n };\n\n const tags = this.getCommentTags(\n entry.type.declaration?.signatures\n ? entry.type.declaration.signatures[0].comment\n : entry.comment,\n );\n this.applyCommentTagValues(definition, tags);\n\n const typeParameters = this.getTypeParameterDefinitions(\n entry.typeParameters,\n );\n if (typeParameters.length) {\n definition.typeParameters = typeParameters;\n }\n\n return definition;\n }\n\n private getSelector(entry: TypeDocEntry): string {\n const decoratorSource = entry.decorators[0].arguments.obj;\n return decoratorSource.indexOf('selector: `') > -1\n ? decoratorSource\n .split('selector: `')[1]\n .split('`')[0]\n .replace(/\\s\\s+/g, ' ')\n : decoratorSource.split(\"selector: '\")[1].split(\"'\")[0];\n }\n\n private getClassProperties(\n entry: TypeDocEntry,\n ): SkyDocsClassPropertyDefinition[] {\n if (!entry.children) {\n return [];\n }\n\n const definitions = entry.children\n .filter(\n (child) =>\n // We only want properties (both with or without a getter/setter)\n child.kind === TypeDocKind.Property ||\n child.kind === TypeDocKind.Accessor,\n )\n .filter(\n (child) =>\n // We only want accessors that don't have a setter if they are not inputs\n child.kind !== TypeDocKind.Accessor ||\n child.setSignature ||\n this.getDecorator(child)?.name !== 'Input',\n )\n .map((child) => {\n let definition: SkyDocsClassPropertyDefinition = {\n isOptional: true,\n isPreview: false,\n name: this.getPropertyName(child),\n type: this.getTypeDefinition(child),\n };\n let defaultValue: string;\n\n /* Ensure we are properly capturing definitions which use a getter/setter. Final check is a sanity check */\n if (\n child.kind === TypeDocKind.Accessor &&\n !child.comment?.summary\n ?.map((item) => item.text)\n .join('')\n .trim() &&\n (child.setSignature || child.getSignature)\n ) {\n const mainTags = this.getCommentTags(child.comment);\n\n this.applyCommentTagValues(definition, mainTags);\n\n if (child.getSignature) {\n const getTags = this.getCommentTags(child.getSignature.comment);\n\n definition.isOptional = !getTags.extras.required;\n\n this.applyCommentTagValues(definition, getTags);\n defaultValue = this.getDefaultValue(child, getTags);\n }\n\n if (child.setSignature) {\n const setTags = this.getCommentTags(child.setSignature.comment);\n\n this.applyCommentTagValues(definition, setTags);\n\n definition.isOptional =\n definition.isOptional && !setTags.extras.required;\n defaultValue = defaultValue || this.getDefaultValue(child, setTags);\n } else {\n definition.isOptional = !mainTags.extras.required;\n defaultValue = this.getDefaultValue(child, mainTags);\n }\n } else {\n let tags: SkyDocsCommentTags | undefined;\n if (\n child.kind === TypeDocKind.Property &&\n !child.comment?.summary\n ?.map((item) => item.text)\n .join('')\n .trim() &&\n child.type.declaration?.signatures?.length > 0 &&\n child.type.declaration.signatures[0].comment\n ) {\n tags = this.getCommentTags(\n child.type.declaration.signatures[0].comment,\n );\n\n definition.isOptional = !tags.extras.required;\n this.applyCommentTagValues(definition, tags);\n }\n\n tags = this.getCommentTags(child.comment);\n\n definition.isOptional =\n definition.isOptional && !tags.extras.required;\n\n this.applyCommentTagValues(definition, tags);\n\n defaultValue = this.getDefaultValue(child, tags);\n }\n\n if (defaultValue) {\n definition.defaultValue = defaultValue;\n }\n\n const decorator = this.getDecorator(child);\n if (decorator) {\n definition.decorator = decorator;\n }\n\n if (!definition.description) {\n const constructor = entry.children.find(\n (child) => child.kind === TypeDocKind.Constructor,\n );\n if (constructor) {\n const signature = constructor.signatures.find(\n (signature) =>\n signature.kind === TypeDocKind.ConstructorSignature,\n );\n /* Sanity check */\n /* istanbul ignore else */\n if (signature) {\n const matchingParam = signature.parameters?.find(\n (parameter) => parameter.name === child.name,\n );\n if (matchingParam) {\n const matchingParamTags = this.getCommentTags(\n matchingParam.comment,\n );\n this.applyCommentTagValues(definition, matchingParamTags);\n }\n }\n }\n }\n\n return definition;\n });\n\n return orderBy(definitions, ['isOptional', 'name'], ['asc', 'asc']);\n }\n\n private getClassMethods(entry: TypeDocEntry): SkyDocsClassMethodDefinition[] {\n if (!entry.children) {\n return [];\n }\n\n const methods = entry.children\n .filter(\n (child) =>\n child.kind === TypeDocKind.Method && /^ng/.test(child.name) === false,\n )\n .map((child) => {\n const definition: SkyDocsClassMethodDefinition = {\n name: this.getPropertyName(child),\n type: this.getTypeDefinition(child),\n isStatic: !!child.flags?.isStatic,\n isPreview: false,\n parentName: entry.name,\n };\n\n // Comments for methods are stored in a different location.\n const comment = child.signatures[0].comment;\n const tags = this.getCommentTags(comment);\n this.applyCommentTagValues(definition, tags);\n\n const typeParameters = this.getTypeParameterDefinitions(\n child.signatures[0].typeParameters,\n );\n if (typeParameters.length) {\n definition.typeParameters = typeParameters;\n }\n\n return definition;\n });\n\n return orderBy(methods, ['name'], ['asc']);\n }\n\n private getInterfaceProperties(\n entry: TypeDocEntry,\n ): SkyDocsInterfacePropertyDefinition[] {\n if (!entry.children && !entry.indexSignature) {\n return [];\n }\n\n const definitions =\n entry.children?.map((child) => {\n let tags: SkyDocsCommentTags | undefined;\n if (child.kind === TypeDocKind.Method && child.signatures.length > 0) {\n tags = this.getCommentTags(child.signatures[0].comment);\n } else if (\n child.type.type === 'reflection' &&\n child.type?.declaration?.signatures?.length > 0\n ) {\n tags = this.getCommentTags(\n child.type.declaration.signatures[0].comment,\n );\n } else {\n tags = this.getCommentTags(child.comment);\n }\n const definition: SkyDocsInterfacePropertyDefinition = {\n isOptional: tags.extras.required ? false : !!child.flags?.isOptional,\n isPreview: false,\n name: this.getPropertyName(child),\n type: this.getTypeDefinition(child),\n };\n\n this.applyCommentTagValues(definition, tags);\n\n return definition;\n }) || [];\n\n const sorted = orderBy(definitions, ['isOptional', 'name'], ['asc', 'asc']);\n\n // Add any index signatures, e.g. `[_: string]: any`\n if (entry.indexSignature) {\n const indexSignature = entry.indexSignature;\n const definition: SkyDocsInterfacePropertyDefinition = {\n isOptional: true,\n isPreview: false,\n name: indexSignature.name,\n type: {\n indexSignature: this.getIndexSignatureDefinition(indexSignature),\n },\n };\n\n // New versions of typedoc do not seem to add the comment for index signatures - the else statement is a default based on the only index signature we had in September 2023 (SkySelectField).\n if (indexSignature.comment) {\n const tags = this.getCommentTags(indexSignature.comment);\n this.applyCommentTagValues(definition, tags);\n } else {\n definition.description = 'All other properties for an item.';\n }\n sorted.push(definition);\n }\n\n return sorted;\n }\n\n private getEnumerationMembers(\n entry: TypeDocEntry,\n ): SkyDocsEnumerationMemberDefinition[] {\n if (!entry.children) {\n return [];\n }\n\n return entry.children.map((child) => {\n const definition: SkyDocsEnumerationMemberDefinition = {\n name: child.name,\n isPreview: false,\n };\n\n const tags = this.getCommentTags(child.comment);\n this.applyCommentTagValues(definition, tags);\n\n return definition;\n });\n }\n\n private getTypeDefinition(child: TypeDocEntryChild): SkyDocsTypeDefinition {\n let definition: SkyDocsTypeDefinition;\n\n const kind = child.kind;\n switch (kind) {\n case TypeDocKind.Accessor:\n if (child.setSignature) {\n return this.getTypeDefinition(child.setSignature.parameters[0]);\n }\n return this.getTypeDefinition(child.getSignature);\n\n case TypeDocKind.Method:\n definition = {\n callSignature: this.getCallSignatureDefinition(\n child.signatures[0],\n this.getCommentTags(child.comment),\n ),\n name: child.signatures[0].name,\n };\n\n return definition;\n\n default:\n let name: string =\n child.type.name || child.type.elementType?.name || child.type.value;\n\n definition = {\n type: child.type.type,\n };\n\n if (name) {\n definition.name = name;\n }\n\n // Union?\n if (child.type.types) {\n definition.unionTypes = child.type.types.map((t) =>\n this.getTypeDefinition({ type: t }),\n );\n }\n\n // Convert reflection types.\n if (\n child.type.type === 'reflection' ||\n child.type.elementType?.type === 'reflection'\n ) {\n const declaration =\n child.type.elementType?.type === 'reflection'\n ? child.type.elementType.declaration\n : child.type.declaration;\n /*istanbul ignore else */\n if (declaration) {\n if (declaration.signatures) {\n definition.callSignature = this.getCallSignatureDefinition(\n declaration.signatures[0],\n this.getCommentTags(child.comment),\n );\n } else if (declaration.indexSignature) {\n const indexSignature = declaration.indexSignature;\n definition.indexSignature =\n this.getIndexSignatureDefinition(indexSignature);\n } /* istanbul ignore else */ else if (declaration.children) {\n definition.typeLiteral = {\n properties: this.getInterfaceProperties({\n children: declaration.children,\n }),\n };\n }\n }\n }\n\n if (child.type.type === 'typeOperator') {\n definition.name = `${child.type.operator} ${child.type.target.name}`;\n }\n\n if (child.type.typeArguments) {\n definition.typeArguments = this.getTypeArgumentDefinitions(\n child.type,\n );\n }\n\n return definition;\n }\n }\n\n private getParameterDefinitions(\n callSignature: TypeDocSignature,\n parentTags: SkyDocsCommentTags,\n ): SkyDocsParameterDefinition[] {\n if (!callSignature.parameters) {\n return [];\n }\n\n const parameters: SkyDocsParameterDefinition[] =\n callSignature.parameters.map((p) => {\n const tags = this.getParameterCommentTags(p, parentTags);\n const defaultValue = this.getDefaultValue(p, tags);\n const typeArguments = this.getTypeArgumentDefinitions(p.type);\n\n const parameter: SkyDocsParameterDefinition = {\n isOptional: !!(defaultValue || !!p.flags?.isOptional),\n name: p.name,\n type: this.getTypeDefinition(p),\n };\n\n if (defaultValue !== undefined) {\n parameter.defaultValue = defaultValue;\n }\n\n if (tags.description) {\n parameter.description = tags.description;\n }\n\n if (typeArguments.length) {\n parameter.typeArguments = typeArguments;\n }\n\n return parameter;\n });\n return parameters;\n }\n\n private getTypeArgumentDefinitions(\n typeConfig: TypeDocType,\n ): SkyDocsTypeDefinition[] {\n if (!typeConfig || !typeConfig.typeArguments) {\n return [];\n }\n\n return typeConfig.typeArguments.map((typeArgument) => {\n return this.getTypeDefinition({ type: typeArgument });\n });\n }\n\n private getCallSignatureDefinition(\n callSignature: TypeDocSignature,\n tags: SkyDocsCommentTags,\n ): SkyDocsCallSignatureDefinition {\n const definition: SkyDocsCallSignatureDefinition = {\n returnType: this.getTypeDefinition(callSignature),\n };\n\n const parameters = this.getParameterDefinitions(callSignature, tags);\n if (parameters.length) {\n definition.parameters = parameters;\n }\n\n return definition;\n }\n\n private getIndexSignatureDefinition(\n signature: TypeDocSignature,\n ): SkyDocsIndexSignatureDefinition {\n return {\n key: {\n name: signature.parameters[0].name,\n type: this.getTypeDefinition(signature.parameters[0]),\n },\n type: this.getTypeDefinition(signature),\n };\n }\n\n private getTypeParameterDefinitions(\n typeParameters: TypeDocTypeParameter[],\n ): SkyDocsTypeParameterDefinition[] {\n if (!typeParameters) {\n return [];\n }\n\n return typeParameters.map((typeParam) => {\n const definition: SkyDocsTypeParameterDefinition = {\n name: typeParam.name,\n };\n\n if (typeParam.type) {\n definition.type = this.getTypeDefinition({\n type: typeParam.type,\n });\n }\n\n return definition;\n });\n }\n\n private getCommentTags(comment: TypeDocComment): SkyDocsCommentTags {\n let codeExample: string;\n let codeExampleLanguage: string = 'markup';\n let deprecationWarning: string;\n let defaultValue: string;\n let description: string = '';\n\n let parameters: {\n name: string;\n description: string;\n }[];\n\n const extras: {\n [key: string]: any;\n } = {};\n\n if (comment) {\n if (comment.blockTags) {\n comment.blockTags.forEach((tag) => {\n switch (tag.tag) {\n case '@deprecated':\n deprecationWarning = tag.content\n .map((item) => item.text)\n .join('')\n .trim();\n break;\n\n case '@default':\n case '@defaultValue':\n defaultValue = tag.content\n .map((item) => item.text)\n .join('')\n .trim();\n\n if (tag.content[0].kind === 'code') {\n defaultValue = defaultValue.split('```')[1].trim();\n\n const defaultLanguage = defaultValue.split('\\n')[0];\n if (\n defaultLanguage === 'markup' ||\n defaultLanguage === 'typescript' ||\n defaultLanguage === 'ts'\n ) {\n defaultValue = defaultValue\n .slice(defaultLanguage.length)\n .trim();\n }\n }\n break;\n\n case '@example':\n codeExample = tag.content\n .map((item) => item.text)\n .join('')\n .trim()\n .split('```')[1]\n .trim();\n const exampleLanguage = codeExample.split('\\n')[0];\n if (\n exampleLanguage === 'markup' ||\n exampleLanguage === 'typescript' ||\n exampleLanguage === 'ts'\n ) {\n codeExample = codeExample.slice(exampleLanguage.length).trim();\n codeExampleLanguage = exampleLanguage;\n }\n break;\n\n case '@param':\n parameters = parameters || [];\n parameters.push({\n name: tag.param,\n description: tag.content\n .map((item) => item.text)\n .join('')\n .trim(),\n });\n break;\n case '@preview':\n extras['preview'] = true;\n break;\n case '@required':\n extras['required'] = true;\n break;\n /* istanbul ignore next */\n default:\n break;\n }\n });\n }\n\n description = comment.summary\n ?.map((item) => item.text)\n .join('')\n .trim();\n }\n\n return {\n codeExample,\n codeExampleLanguage,\n defaultValue,\n deprecationWarning,\n description,\n extras,\n parameters,\n };\n }\n\n /**\n * Parameter descriptions are derived from the parent's (function/method) comment.\n */\n private getParameterCommentTags(\n parameter: TypeDocParameter,\n parentTags: SkyDocsCommentTags,\n ): SkyDocsCommentTags {\n const tags = this.getCommentTags(parameter.comment);\n const paramTags = parentTags.parameters;\n const tagParam = paramTags\n ? paramTags.find((param) => param.name === parameter.name)\n : undefined;\n\n if (!tagParam || !tagParam.description) {\n return tags;\n }\n\n return {\n ...tags,\n ...{\n description: tagParam.description,\n },\n };\n }\n\n /**\n * Applies comment tag (e.g. `@param`) values to the provided definition, if the value is defined.\n */\n private applyCommentTagValues(\n definition: {\n codeExample?: string;\n codeExampleLanguage?: string;\n deprecationWarning?: string;\n description?: string;\n isPreview?: boolean;\n },\n tags: SkyDocsCommentTags,\n ): void {\n if (tags.codeExample) {\n definition.codeExample = tags.codeExample;\n definition.codeExampleLanguage = tags.codeExampleLanguage;\n }\n\n if (tags.deprecationWarning !== undefined) {\n definition.deprecationWarning = tags.deprecationWarning;\n }\n\n if (tags.description) {\n definition.description = tags.description;\n }\n\n if (tags.extras?.preview) {\n definition.isPreview = tags.extras?.preview;\n }\n }\n\n private getDecorator(\n child: TypeDocEntryChild,\n ): SkyDocsPropertyDecoratorDefinition {\n const name =\n child.decorators && child.decorators[0] && child.decorators[0].name;\n if (name) {\n return { name };\n }\n }\n\n private getPropertyName(property: TypeDocEntryChild): string {\n const decorators = property.decorators && property.decorators[0];\n // Use the Input's bound property name, if found.\n // e.g. @Input('foobar')\n return decorators?.arguments?.bindingPropertyName\n ? decorators.arguments.bindingPropertyName.replace(/(\\'|\\\")/g, '')\n : property.name;\n }\n\n private getDefaultValue(\n child: TypeDocEntryChild,\n tags: SkyDocsCommentTags,\n ): string | undefined {\n if (tags.defaultValue) {\n return tags.defaultValue;\n }\n\n // TypeDoc version 0.20.x stopped auto-generating initializers for the default value\n // (and replaced them with \"...\") due to the complicated logic it required.\n // See: https://github.com/TypeStrong/typedoc/issues/1552\n if (child.defaultValue === '...') {\n return;\n }\n\n return child.defaultValue;\n }\n\n private getAnchorId(entry: TypeDocEntry): string {\n return (\n entry.anchorId ||\n this.typeDefinitionsProvider?.anchorIds[entry.name] ||\n ''\n );\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { SkyDocsTypeDefinitions } from './type-definitions';\n\nimport { SkyDocsTypeDefinitionsProvider } from './type-definitions-provider';\n\nimport { SkyDocsTypeDocAdapterService } from './typedoc-adapter.service';\nimport { TypeDocKind } from './typedoc-types';\n\n/**\n * Handles all type definitions that have been converted from the third-party documentation generator.\n */\n@Injectable({\n providedIn: 'any',\n})\nexport class SkyDocsTypeDefinitionsService {\n constructor(\n private typeDefinitionsProvider: SkyDocsTypeDefinitionsProvider,\n private adapter: SkyDocsTypeDocAdapterService,\n ) {}\n\n /**\n * Returns type definitions from a specific source code location.\n * @param sourceCodePath The directory of the source code you wish to pull type definitions from,\n * relative to the application's root directory.\n */\n public getTypeDefinitions(\n sourceCodePath: string,\n additionalSourceCodePaths?: string[],\n ): SkyDocsTypeDefinitions {\n if (!sourceCodePath) {\n throw new Error('The `sourceCodePath` parameter is required');\n }\n\n const sourceCodePaths: string[] =\n additionalSourceCodePaths && additionalSourceCodePaths.length > 0\n ? [sourceCodePath].concat(additionalSourceCodePaths)\n : [sourceCodePath];\n\n sourceCodePaths.forEach((path) => {\n if (!path.endsWith('/') && !path.endsWith('.ts')) {\n throw new Error(\n 'Source code paths must end with a forward slash (`/`) or `.ts`.',\n );\n }\n });\n\n const allDefinitions = this.typeDefinitionsProvider.typeDefinitions;\n const types: SkyDocsTypeDefinitions = {\n classes: [],\n components: [],\n directives: [],\n enumerations: [],\n interfaces: [],\n pipes: [],\n services: [],\n typeAliases: [],\n hasPreviewFeatures: false,\n };\n\n if (!allDefinitions) {\n console.warn(`No types were found for this project!`);\n return types;\n }\n\n sourceCodePaths.forEach((path) => {\n const requestedDir = path\n .replace(/src\\/app\\/public\\//, '')\n .replace(/^\\//, ''); // remove first slash.\n\n // Only process types that match the requested source code location.\n const typeDefinitions = allDefinitions.filter(\n (i) => i.sources && i.sources[0].fileName.match(requestedDir),\n );\n if (typeDefinitions.length === 0) {\n console.warn(\n `Type definitions were not found for location: ${requestedDir}`,\n );\n }\n\n typeDefinitions.forEach((item) => {\n const decorator = item.decorators && item.decorators[0]?.name;\n const kind = item.kind;\n\n switch (decorator) {\n case 'Component':\n const componentType = this.adapter.toDirectiveDefinition(item);\n types.components.push(componentType);\n types.hasPreviewFeatures ||= componentType.hasPreviewFeatures;\n break;\n case 'Directive':\n const directiveType = this.adapter.toDirectiveDefinition(item);\n types.directives.push(directiveType);\n types.hasPreviewFeatures ||= directiveType.hasPreviewFeatures;\n break;\n case 'Injectable':\n const serviceType = this.adapter.toClassDefinition(item);\n types.services.push(serviceType);\n types.hasPreviewFeatures ||= serviceType.hasPreviewFeatures;\n break;\n case 'NgModule':\n // Don't document modules.\n break;\n case 'Pipe':\n const pipeType = this.adapter.toPipeDefinition(item);\n types.pipes.push(pipeType);\n types.hasPreviewFeatures ||= pipeType.transformMethod.isPreview;\n break;\n default:\n /*tslint:disable-next-line:switch-default*/\n switch (kind) {\n case TypeDocKind.Class:\n const classType = this.adapter.toClassDefinition(item);\n types.classes.push(classType);\n types.hasPreviewFeatures ||= classType.hasPreviewFeatures;\n break;\n case TypeDocKind.Interface:\n const interfaceType = this.adapter.toInterfaceDefinition(item);\n types.interfaces.push(interfaceType);\n types.hasPreviewFeatures ||= interfaceType.hasPreviewFeatures;\n break;\n case TypeDocKind.Enum:\n const enumType = this.adapter.toEnumerationDefinition(item);\n types.enumerations.push(enumType);\n types.hasPreviewFeatures ||= enumType.hasPreviewFeatures;\n break;\n case TypeDocKind.TypeAlias:\n const typeAliasType = this.adapter.toTypeAliasDefinition(item);\n types.typeAliases.push(typeAliasType);\n types.hasPreviewFeatures ||= !!typeAliasType.isPreview;\n break;\n }\n }\n });\n });\n\n return types;\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { SkyDocsTypeDefinitions } from '../type-definitions/type-definitions';\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-docs-demo-page-type-definitions',\n templateUrl: './demo-page-type-definitions.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsDemoPageTypeDefinitionsComponent {\n @Input()\n public types: SkyDocsTypeDefinitions;\n}\n","<ng-template [ngIf]=\"types\">\n <sky-docs-demo-page-section\n *ngIf=\"types.components.length\"\n heading=\"Components\"\n >\n <sky-docs-directive-definition\n *ngFor=\"let config of types.components\"\n [config]=\"config\"\n ></sky-docs-directive-definition>\n </sky-docs-demo-page-section>\n\n <sky-docs-demo-page-section\n *ngIf=\"types.directives.length\"\n heading=\"Directives\"\n >\n <sky-docs-directive-definition\n *ngFor=\"let config of types.directives\"\n [config]=\"config\"\n ></sky-docs-directive-definition>\n </sky-docs-demo-page-section>\n\n <sky-docs-demo-page-section *ngIf=\"types.pipes.length\" heading=\"Pipes\">\n <sky-docs-pipe-definition\n *ngFor=\"let config of types.pipes\"\n [config]=\"config\"\n ></sky-docs-pipe-definition>\n </sky-docs-demo-page-section>\n\n <sky-docs-demo-page-section *ngIf=\"types.services.length\" heading=\"Services\">\n <sky-docs-class-definition\n *ngFor=\"let config of types.services\"\n [config]=\"config\"\n ></sky-docs-class-definition>\n </sky-docs-demo-page-section>\n\n <sky-docs-demo-page-section *ngIf=\"types.classes.length\" heading=\"Classes\">\n <sky-docs-class-definition\n *ngFor=\"let config of types.classes\"\n [config]=\"config\"\n ></sky-docs-class-definition>\n </sky-docs-demo-page-section>\n\n <sky-docs-demo-page-section\n *ngIf=\"types.interfaces.length\"\n heading=\"Interfaces\"\n >\n <sky-docs-interface-definition\n *ngFor=\"let config of types.interfaces\"\n [config]=\"config\"\n ></sky-docs-interface-definition>\n </sky-docs-demo-page-section>\n\n <sky-docs-demo-page-section\n *ngIf=\"types.enumerations.length\"\n heading=\"Enumerations\"\n >\n <sky-docs-enumeration-definition\n *ngFor=\"let config of types.enumerations\"\n [config]=\"config\"\n ></sky-docs-enumeration-definition>\n </sky-docs-demo-page-section>\n\n <sky-docs-demo-page-section\n *ngIf=\"types.typeAliases.length\"\n heading=\"Type aliases\"\n >\n <sky-docs-type-alias-definition\n *ngFor=\"let config of types.typeAliases\"\n [config]=\"config\"\n ></sky-docs-type-alias-definition>\n </sky-docs-demo-page-section>\n</ng-template>\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n Input,\n OnInit,\n QueryList,\n inject,\n} from '@angular/core';\n\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport { SkyAppConfig } from '@skyux/config';\n\nimport { StacheNavLink } from '@blackbaud/skyux-lib-stache';\n\nimport { SkyDocsCodeExamplesComponent } from '../code-examples/code-examples.component';\n\nimport { SkyDocsDesignGuidelinesComponent } from '../design-guidelines/design-guidelines.component';\n\nimport { SkyDocsSupportalService } from '../shared/docs-tools-supportal.service';\n\nimport { SkyDocsComponentInfo } from '../shared/docs-tools-component-info';\n\nimport { SkyDocsDemoPageDomAdapterService } from './demo-page-dom-adapter.service';\n\nimport { SkyDocsDemoPageTitleService } from './demo-page-title.service';\nimport { SkyDocsTypeDefinitionsService } from '../type-definitions/type-definitions.service';\nimport { SkyDocsTypeDefinitions } from '../type-definitions/type-definitions';\nimport { SkyDocsToolsSiteOptions } from '../shared/docs-tools-site-options';\n\n/**\n * The demo page component wraps all documentation components and handles the configuration and layout of the page.\n * @example\n * ```\n * <sky-docs-demo-page\n * pageTitle=\"My demo page\"\n * >\n * Content here.\n * </sky-docs-demo-page>\n * ```\n */\n@Component({\n selector: 'sky-docs-demo-page',\n templateUrl: './demo-page.component.html',\n styleUrls: ['./demo-page.component.scss'],\n providers: [SkyDocsDemoPageDomAdapterService],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsDemoPageComponent\n implements OnInit, AfterContentInit, AfterViewInit\n{\n /**\n * Specifies the local path to any other relevant source code. The values are relative to the root directory.\n */\n @Input()\n public set additionalSourceCodePaths(paths: string[] | undefined) {\n this.#_additionalSourceCodePaths = paths;\n this.#updateTypes();\n }\n\n public get additionalSourceCodePaths(): string[] | undefined {\n return this.#_additionalSourceCodePaths;\n }\n\n /**\n * Specifies the local path to any other relevant testing source code. The values are relative to the root directory.\n */\n @Input()\n public set additionalTestingSourceCodePaths(paths: string[] | undefined) {\n this.#_additionalTestingSourceCodePaths = paths;\n this.#updateTestingTypes();\n }\n\n public get additionalTestingSourceCodePaths(): string[] | undefined {\n return this.#_additionalTestingSourceCodePaths;\n }\n\n /**\n * Specifies the URL to the repo that stores the module's source code.\n * @required\n */\n @Input()\n public gitRepoUrl: string;\n\n /**\n * Specifies the TypeScript class name of the module. For example, `SkySampleModule`.\n */\n @Input()\n public moduleName: string;\n\n /**\n * Specifies the local path to the module's source code. The value is relative to the root directory.\n */\n @Input()\n public set moduleSourceCodePath(path: string | undefined) {\n this.#_moduleSourceCodePath = path;\n this.testingSourceCodePath = path.replace('/modules/', '/testing/');\n this.#updateTypes();\n this.#updateTestingTypes();\n }\n\n public get moduleSourceCodePath(): string | undefined {\n return this.#_moduleSourceCodePath;\n }\n\n /**\n * Specifies the type definitions for the development tab.\n */\n public moduleTypeDefinitions: SkyDocsTypeDefinitions | undefined;\n\n /**\n * Specifies the local path to the testing source code. The value is relative to the root directory.\n */\n public testingSourceCodePath: string;\n\n /**\n * Specifies the type definitions for the testing tab.\n */\n public testingTypeDefinitions: SkyDocsTypeDefinitions | undefined;\n\n /**\n * Specifies the qualified name of the NPM package. For example, `@blackbaud/sample`.\n * @required\n */\n @Input()\n public packageName: string;\n\n /**\n * Specifies the URL to the NPM package.\n */\n @Input()\n public packageUrl: string;\n\n /**\n * Specifies the primary page heading.\n * @required\n */\n @Input()\n public pageTitle: string;\n\n /**\n * @internal\n */\n public enableCodeExamples = false;\n\n /**\n * @internal\n */\n public enableTestingTab = false;\n\n /**\n * @internal\n */\n public enableTabLayout = false;\n\n /**\n * @internal\n */\n public sidebarRoutes: StacheNavLink[];\n\n protected hasPreviewFeatures = false;\n\n @ContentChild(SkyDocsDesignGuidelinesComponent)\n private designGuidelinesComponent: SkyDocsDesignGuidelinesComponent;\n\n @ContentChildren(SkyDocsCodeExamplesComponent)\n private codeExampleComponents: QueryList<SkyDocsCodeExamplesComponent>;\n\n protected readonly siteOptions: SkyDocsToolsSiteOptions | undefined = inject(\n SkyDocsToolsSiteOptions,\n { optional: true },\n );\n\n #_additionalSourceCodePaths: string[] | undefined;\n #_additionalTestingSourceCodePaths: string[] | undefined;\n #_moduleSourceCodePath: string | undefined;\n\n constructor(\n private activatedRoute: ActivatedRoute,\n private changeDetector: ChangeDetectorRef,\n private router: Router,\n private skyAppConfig: SkyAppConfig,\n private domAdapter: SkyDocsDemoPageDomAdapterService,\n private supportalService: SkyDocsSupportalService,\n private titleService: SkyDocsDemoPageTitleService,\n private typeDefinitionService: SkyDocsTypeDefinitionsService,\n ) {}\n\n public ngOnInit(): void {\n const currentHostUrl =\n this.skyAppConfig.skyux.host.url + '/' + this.skyAppConfig.skyux.name;\n this.updateTitle();\n\n this.supportalService\n .getComponentsInfo()\n .subscribe((results: SkyDocsComponentInfo[]) => {\n this.sidebarRoutes = [\n {\n name: 'Components',\n path: 'https://developer.blackbaud.com/skyux/components',\n children: results.map((component: SkyDocsComponentInfo) => ({\n name: component.name,\n path: this.getPath(component.url, currentHostUrl),\n })),\n },\n ];\n this.changeDetector.markForCheck();\n });\n }\n\n public ngAfterContentInit(): void {\n this.enableCodeExamples = this.codeExampleComponents.length > 0;\n this.enableTabLayout =\n !!this.designGuidelinesComponent || this.enableCodeExamples;\n }\n\n public ngAfterViewInit(): void {\n // Watch for route fragment to change and scroll to heading.\n this.activatedRoute.fragment.subscribe((fragment) => {\n this.domAdapter.scrollToFragment(fragment);\n });\n\n // Change the HREF attribute for all dynamic links when the query params change.\n // This will also generate the appropriate HREF if the user wants to open the link in a new window.\n this.activatedRoute.queryParams.subscribe(() => {\n this.domAdapter.setupAnchorLinks();\n });\n\n // When a dynamic link is clicked, use Angular's router so that everything works correctly.\n this.domAdapter.anchorLinkClick.subscribe((anchorLink: any) => {\n const fragment = anchorLink.href.split('#')[1];\n\n this.router.navigate([], {\n fragment,\n queryParamsHandling: 'merge',\n });\n\n if (this.activatedRoute.snapshot.fragment === fragment) {\n this.domAdapter.scrollToFragment(fragment);\n }\n });\n }\n\n private updateTitle(): void {\n /*istanbul ignore else*/\n if (this.pageTitle) {\n this.titleService.setTitle(this.pageTitle, 'Components');\n }\n }\n\n private getPath(url: string, currentHostUrl: string): string {\n // Replace host + SPA so Stache will mark active.\n // Strip URL params is url is local, as those will be preserved by stacheRouterLink.\n if (url.indexOf(currentHostUrl) > -1) {\n return url.replace(currentHostUrl, '').split('?')[0];\n } else {\n return url;\n }\n }\n\n #updateTypes(): void {\n this.moduleTypeDefinitions = this.typeDefinitionService.getTypeDefinitions(\n this.moduleSourceCodePath,\n this.additionalSourceCodePaths,\n );\n }\n\n #updateTestingTypes(): void {\n this.testingTypeDefinitions = this.typeDefinitionService.getTypeDefinitions(\n this.testingSourceCodePath,\n this.additionalTestingSourceCodePaths,\n );\n this.enableTestingTab = Object.values(this.testingTypeDefinitions).some(\n (value) => value && value.length > 0,\n );\n }\n}\n","<div class=\"sky-docs-demo-page\">\n <stache\n layout=\"sidebar\"\n [pageTitle]=\"pageTitle\"\n [showBreadcrumbs]=\"false\"\n [showTableOfContents]=\"false\"\n [sidebarRoutes]=\"sidebarRoutes\"\n >\n <ng-content select=\"sky-docs-demo-page-summary\"></ng-content>\n\n <sky-alert\n *ngIf=\"\n moduleTypeDefinitions?.hasPreviewFeatures ||\n testingTypeDefinitions?.hasPreviewFeatures\n \"\n class=\"sky-docs-demo-page-preview-alert sky-margin-stacked-lg\"\n >This component currently has preview features available that may not be\n fully represented in the design documentation, the demo, or code examples.\n <ng-container *ngIf=\"siteOptions?.previewFeaturesUrl\"\n >Learn more about this work\n <a [skyAppLink]=\"siteOptions?.previewFeaturesUrl\"\n >here.</a\n ></ng-container\n ></sky-alert\n >\n\n <ng-content select=\"sky-docs-demo\"></ng-content>\n\n <div class=\"sky-docs-demo-page-main\">\n <sky-tabset *ngIf=\"enableTabLayout; else content\" permalinkId=\"docs\">\n <sky-tab tabHeading=\"Design\" *ngIf=\"!!designGuidelinesComponent\">\n <ng-content select=\"sky-docs-design-guidelines\"></ng-content>\n </sky-tab>\n\n <sky-tab tabHeading=\"Development\">\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n </sky-tab>\n\n <sky-tab tabHeading=\"Testing\" *ngIf=\"enableTestingTab\">\n <sky-docs-demo-page-section heading=\"Test harnesses\">\n <p>\n SKY UX test harnesses are built upon Angular CDK component\n harnesses. For more information see the\n <a href=\"https://material.angular.io/cdk/test-harnesses/overview\"\n >Angular CDK component harness documentation</a\n >.\n </p>\n </sky-docs-demo-page-section>\n <sky-docs-demo-page-type-definitions [types]=\"testingTypeDefinitions\">\n </sky-docs-demo-page-type-definitions>\n </sky-tab>\n\n <sky-tab tabHeading=\"Code examples\" *ngIf=\"enableCodeExamples\">\n <ng-content select=\"sky-docs-code-examples\"></ng-content>\n </sky-tab>\n </sky-tabset>\n </div>\n </stache>\n</div>\n\n<ng-template #content>\n <sky-docs-demo-page-section\n *ngIf=\"moduleName || packageName\"\n heading=\"Installation\"\n >\n <sky-docs-module-info\n [gitRepoUrl]=\"gitRepoUrl\"\n [moduleName]=\"moduleName\"\n [packageName]=\"packageName\"\n [packageUrl]=\"packageUrl\"\n >\n <ng-content select=\"sky-docs-demo-page-module-info\"></ng-content>\n </sky-docs-module-info>\n </sky-docs-demo-page-section>\n\n <ng-content></ng-content>\n\n <sky-docs-demo-page-type-definitions [types]=\"moduleTypeDefinitions\">\n </sky-docs-demo-page-type-definitions>\n</ng-template>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'sky-docs-demo-page-module-info',\n template: '<ng-content></ng-content>',\n})\nexport class SkyDocsDemoPageModuleInfoComponent {}\n","import { CommonModule } from '@angular/common';\n\nimport { NgModule } from '@angular/core';\n\nimport {\n SkyCodeBlockModule,\n SkyCodeModule,\n} from '@blackbaud/skyux-lib-code-block';\n\nimport {\n StachePageSummaryModule,\n StacheWrapperModule,\n} from '@blackbaud/skyux-lib-stache';\n\nimport { RouterModule } from '@angular/router';\n\nimport { SkyTabsModule } from '@skyux/tabs';\n\nimport { SkyDocsDemoModule } from '../demo/demo.module';\n\nimport { SkyDocsHeadingAnchorModule } from '../heading-anchor/heading-anchor.module';\n\nimport { SkyDocsMarkdownModule } from '../markdown/markdown.module';\n\nimport { SkyDocsModuleInfoModule } from '../module-info/module-info.module';\n\nimport { SkyDocsTypeDefinitionsModule } from '../type-definitions/type-definitions.module';\n\nimport { SkyDocsDemoPageSectionComponent } from './demo-page-section.component';\n\nimport { SkyDocsDemoPageSummaryComponent } from './demo-page-summary.component';\n\nimport { SkyDocsDemoPageComponent } from './demo-page.component';\n\nimport { SkyDocsDemoPageModuleInfoComponent } from './demo-page-module-info.component';\n\nimport { SkyDocsDemoPageTypeDefinitionsComponent } from './demo-page-type-definitions.component';\nimport { SkyAlertModule } from '@skyux/indicators';\nimport { SkyAppLinkModule } from '@skyux/router';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n SkyAlertModule,\n SkyAppLinkModule,\n SkyCodeBlockModule,\n SkyCodeModule,\n SkyDocsDemoModule,\n SkyDocsHeadingAnchorModule,\n SkyDocsMarkdownModule,\n SkyDocsModuleInfoModule,\n SkyDocsTypeDefinitionsModule,\n SkyTabsModule,\n StachePageSummaryModule,\n StacheWrapperModule,\n ],\n declarations: [\n SkyDocsDemoPageComponent,\n SkyDocsDemoPageModuleInfoComponent,\n SkyDocsDemoPageSectionComponent,\n SkyDocsDemoPageSummaryComponent,\n SkyDocsDemoPageTypeDefinitionsComponent,\n ],\n exports: [\n SkyDocsDemoPageComponent,\n SkyDocsDemoPageModuleInfoComponent,\n SkyDocsDemoPageSectionComponent,\n SkyDocsDemoPageSummaryComponent,\n SkyDocsDemoPageTypeDefinitionsComponent,\n ],\n})\nexport class SkyDocsDemoPageModule {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'sky-docs-design-guideline-thumbnail',\n templateUrl: './design-guideline-thumbnail.component.html',\n styleUrls: ['./design-guideline-thumbnail.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsDesignGuidelineThumbnailComponent {\n @Input()\n public caption: string;\n\n @Input()\n public captionType: string;\n\n @Input()\n public imageAlt: string;\n\n @Input()\n public imageSource: string;\n\n @Input()\n public videoSource: string;\n\n @Input()\n public showBorder: boolean = false;\n}\n","<div class=\"sky-docs-design-guideline-thumbnail\">\n <sky-docs-thumbnail\n [caption]=\"caption\"\n [captionType]=\"captionType\"\n [imageAlt]=\"imageAlt\"\n [imageSource]=\"imageSource\"\n [videoSource]=\"videoSource\"\n [showBorder]=\"showBorder\"\n ></sky-docs-thumbnail>\n</div>\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Input,\n QueryList,\n} from '@angular/core';\n\nimport { SkyDocsDesignGuidelineThumbnailComponent } from './design-guideline-thumbnail.component';\n\n@Component({\n selector: 'sky-docs-design-guideline',\n templateUrl: './design-guideline.component.html',\n styleUrls: ['./design-guideline.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDocsDesignGuidelineComponent implements AfterContentInit {\n @Input()\n public heading: string;\n\n @Input()\n public headingStyle: 'default' | 'success' | 'danger' = 'default';\n\n public get classNames(): string {\n const classNames: string[] = [];\n\n classNames.push(`sky-text-${this.headingStyle}`);\n\n return classNames.join(' ');\n }\n\n public hasThumbnails = false;\n\n @ContentChildren(SkyDocsDesignGuidelineThumbnailComponent)\n private thumbnails: QueryList<SkyDocsDesignGuidelineThumbnailComponent>;\n\n public ngAfterContentInit(): void {\n this.hasThumbnails = !!this.thumbnails.length;\n }\n}\n","<div class=\"sky-docs-design-guideline\">\n <h3\n *ngIf=\"heading\"\n class=\"sky-docs-design-guideline-heading\"\n [ngClass]=\"classNames\"\n >\n {{ heading }}\n </h3>\n <sky-row *ngIf=\"hasThumbnails; else content\">\n <sky-column screenSmall=\"6\" screenMedium=\"5\" screenLarge=\"4\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </sky-column>\n <sky-column screenSmall=\"6\" screenMedium=\"7\" screenLarge=\"8\">\n <div class=\"sky-docs-design-guideline-thumbnails\">\n <ng-container *ngTemplateOutlet=\"thumbnails\"></ng-container>\n </div>\n </sky-column>\n </sky-row>\n</div>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #thumbnails>\n <ng-content select=\"sky-docs-design-guideline-thumbnail\"></ng-content>\n</ng-template>\n","import { CommonModule } from '@angular/common';\n\nimport { NgModule } from '@angular/core';\n\nimport { SkyFluidGridModule } from '@skyux/layout';\n\nimport { SkyDocsThumbnailModule } from '../thumbnail/thumbnail.module';\n\nimport { SkyDocsDesignGuidelineComponent } from './design-guideline.component';\n\nimport { SkyDocsDesignGuidelinesComponent } from './design-guidelines.component';\n\nimport { SkyDocsDesignGuidelineThumbnailComponent } from './design-guideline-thumbnail.component';\n\n@NgModule({\n imports: [CommonModule, SkyDocsThumbnailModule, SkyFluidGridModule],\n declarations: [\n SkyDocsDesignGuidelineComponent,\n SkyDocsDesignGuidelineThumbnailComponent,\n SkyDocsDesignGuidelinesComponent,\n ],\n exports: [\n SkyDocsDesignGuidelineComponent,\n SkyDocsDesignGuidelineThumbnailComponent,\n SkyDocsDesignGuidelinesComponent,\n ],\n})\nexport class SkyDocsDesignGuidelinesModule {}\n","import { NgModule } from '@angular/core';\n\nimport { SkyDocsAnatomyModule } from './modules/anatomy/anatomy.module';\n\nimport { SkyDocsCodeExamplesModule } from './modules/code-examples/code-examples.module';\n\nimport { SkyDocsDemoModule } from './modules/demo/demo.module';\n\nimport { SkyDocsDemoPageModule } from './modules/demo-page/demo-page.module';\n\nimport { SkyDocsDesignGuidelinesModule } from './modules/design-guidelines/design-guidelines.module';\n\n/**\n * This module conveniently exports the most commonly used modules.\n */\n@NgModule({\n exports: [\n SkyDocsAnatomyModule,\n SkyDocsCodeExamplesModule,\n SkyDocsDemoModule,\n SkyDocsDemoPageModule,\n SkyDocsDesignGuidelinesModule,\n ],\n})\nexport class SkyDocsToolsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1.SkyDocsThumbnailComponent","i1","ANGULAR_VERSION","SKY_UX_VERSION","SKY_UX_ICONS_VERSION","i1.SkyDocsSourceCodeProvider","i1.SkyDocsCodeExamplesEditorService","i2.SkyDocsSourceCodeService","i3","i5","i1.SkyDocsToolsOptions","i4","i6","i7","i1.SkyDocsTypeDefinitionsProvider","i1.SkyDocsAnchorLinkService","i1.SkyDocsTypeDefinitionsFormatService","i4.SkyDocsSafeHtmlComponent","i5.SkyDocsMarkdownPipe","i6.SkyDocsTypeAnchorLinksPipe","i5.SkyDocsPreviewIndicatorComponent","i6.SkyDocsSafeHtmlComponent","i8.SkyDocsCallSignatureDefinitionComponent","i9.SkyDocsMarkdownPipe","i10.SkyDocsTypeAnchorLinksPipe","i3.SkyDocsHeadingAnchorComponent","i5.SkyDocsPropertyDefinitionsComponent","i6.SkyDocsMarkdownPipe","i7.SkyDocsTypeAnchorLinksPipe","i2.SkyDocsHeadingAnchorComponent","i3.SkyDocsSafeHtmlComponent","i4.SkyDocsPropertyDefinitionsComponent","i4.SkyDocsHeadingAnchorComponent","i5.SkyDocsSafeHtmlComponent","i6.SkyDocsPropertyDefinitionsComponent","i7.SkyDocsMarkdownPipe","i8.SkyDocsTypeAnchorLinksPipe","i7.SkyDocsCallSignatureDefinitionComponent","i8.SkyDocsMarkdownPipe","i9.SkyDocsTypeAnchorLinksPipe","i5.SkyDocsMethodDefinitionsComponent","i4.SkyDocsMethodDefinitionsComponent","i2.SkyDocsTypeDocAdapterService","i2.SkyDocsClassDefinitionComponent","i3.SkyDocsDirectiveDefinitionComponent","i4.SkyDocsEnumerationDefinitionComponent","i5.SkyDocsInterfaceDefinitionComponent","i6.SkyDocsPipeDefinitionComponent","i7.SkyDocsTypeAliasDefinitionComponent","i8.SkyDocsDemoPageSectionComponent","i3.SkyDocsDemoPageDomAdapterService","i4.SkyDocsSupportalService","i5.SkyDocsDemoPageTitleService","i6.SkyDocsTypeDefinitionsService","i8","i10.SkyDocsModuleInfoComponent","i11","i13.SkyDocsDemoPageSectionComponent","i14.SkyDocsDemoPageTypeDefinitionsComponent"],"mappings":"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"}