@skyux/docs-tools 4.9.6 → 4.9.7

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.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@skyux/docs-tools/modules/anatomy/anatomy-item.component.ts","ng://@skyux/docs-tools/modules/anatomy/anatomy.component.ts","ng://@skyux/docs-tools/modules/anatomy/anatomy.module.ts","ng://@skyux/docs-tools/plugin-resources/docs-tools-resources-provider.ts","ng://@skyux/docs-tools/modules/shared/docs-tools-resources.module.ts","ng://@skyux/docs-tools/modules/source-code/source-code-provider.ts","ng://@skyux/docs-tools/modules/source-code/source-code.service.ts","ng://@skyux/docs-tools/modules/source-code/source-code.module.ts","ng://@skyux/docs-tools/modules/code-examples/code-example-theme.ts","ng://@skyux/docs-tools/modules/code-examples/code-example.component.ts","ng://@skyux/docs-tools/modules/code-examples/code-examples-editor.service.ts","ng://@skyux/docs-tools/modules/code-examples/code-examples.component.ts","ng://@skyux/docs-tools/modules/code-examples/code-examples.module.ts","ng://@skyux/docs-tools/modules/demo/demo-control-panel-checkbox.component.ts","ng://@skyux/docs-tools/modules/demo/demo-control-panel-radio-group.component.ts","ng://@skyux/docs-tools/modules/demo/demo-theme.service.ts","ng://@skyux/docs-tools/modules/demo/demo-control-panel.component.ts","ng://@skyux/docs-tools/modules/demo/demo.component.ts","ng://@skyux/docs-tools/modules/demo/demo-control-panel-section.component.ts","ng://@skyux/docs-tools/modules/demo/demo-control-panel-theme.component.ts","ng://@skyux/docs-tools/modules/demo/demo.module.ts","ng://@skyux/docs-tools/modules/heading-anchor/heading-anchor.component.ts","ng://@skyux/docs-tools/modules/heading-anchor/heading-anchor.module.ts","ng://@skyux/docs-tools/modules/markdown/markdown.pipe.ts","ng://@skyux/docs-tools/modules/markdown/markdown.module.ts","ng://@skyux/docs-tools/modules/shared/docs-tools-options.ts","ng://@skyux/docs-tools/modules/module-info/module-info.component.ts","ng://@skyux/docs-tools/modules/module-info/module-info.module.ts","ng://@skyux/docs-tools/modules/safe-html/safe-html.component.ts","ng://@skyux/docs-tools/modules/safe-html/safe-html.module.ts","ng://@skyux/docs-tools/modules/type-definitions/type-definitions-provider.ts","ng://@skyux/docs-tools/modules/type-definitions/anchor-link.service.ts","ng://@skyux/docs-tools/modules/type-definitions/type-definitions-format.service.ts","ng://@skyux/docs-tools/modules/type-definitions/call-signature-definition.component.ts","ng://@skyux/docs-tools/modules/type-definitions/directive-definition.component.ts","ng://@skyux/docs-tools/modules/type-definitions/enumeration-definition.component.ts","ng://@skyux/docs-tools/modules/type-definitions/interface-definition.component.ts","ng://@skyux/docs-tools/modules/type-definitions/method-definitions.component.ts","ng://@skyux/docs-tools/modules/type-definitions/pipe-definition.component.ts","ng://@skyux/docs-tools/modules/type-definitions/property-definitions.component.ts","ng://@skyux/docs-tools/modules/type-definitions/class-definition.component.ts","ng://@skyux/docs-tools/modules/type-definitions/type-alias-definition.component.ts","ng://@skyux/docs-tools/modules/type-definitions/typedoc-adapter.service.ts","ng://@skyux/docs-tools/modules/type-definitions/type-definitions.service.ts","ng://@skyux/docs-tools/modules/type-definitions/type-anchor-links.pipe.ts","ng://@skyux/docs-tools/modules/type-definitions/type-definitions.module.ts","ng://@skyux/docs-tools/modules/demo-page/demo-page-section.component.ts","ng://@skyux/docs-tools/modules/demo-page/demo-page-summary.component.ts","ng://@skyux/docs-tools/modules/demo-page/demo-page-title.service.ts","ng://@skyux/docs-tools/modules/design-guidelines/design-guidelines.component.ts","ng://@skyux/docs-tools/modules/shared/docs-tools-supportal.service.ts","ng://@skyux/docs-tools/modules/demo-page/demo-page-dom-adapter.service.ts","ng://@skyux/docs-tools/modules/demo-page/demo-page.component.ts","ng://@skyux/docs-tools/modules/demo-page/demo-page-module-info.component.ts","ng://@skyux/docs-tools/modules/demo-page/demo-page-type-definitions.component.ts","ng://@skyux/docs-tools/modules/demo-page/demo-page.module.ts","ng://@skyux/docs-tools/modules/thumbnail/thumbnail.component.ts","ng://@skyux/docs-tools/modules/thumbnail/thumbnail.module.ts","ng://@skyux/docs-tools/modules/design-guidelines/design-guideline-thumbnail.component.ts","ng://@skyux/docs-tools/modules/design-guidelines/design-guideline.component.ts","ng://@skyux/docs-tools/modules/design-guidelines/design-guidelines.module.ts","ng://@skyux/docs-tools/docs-tools.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {\n ChangeDetectionStrategy,\n Component,\n Input\n} 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\n @Input()\n public isOptional: boolean = false;\n\n public marker: string;\n\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Input,\n QueryList\n} from '@angular/core';\n\nimport {\n SkyDocsAnatomyItemComponent\n} 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\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}\n","import {\n CommonModule\n} from '@angular/common';\n\nimport {\n NgModule\n} from '@angular/core';\n\nimport {\n SkyImageModule\n} from '@blackbaud/skyux-lib-media';\n\nimport {\n SkyFluidGridModule\n} from '@skyux/layout';\n\nimport {\n SkyDocsAnatomyComponent\n} from './anatomy.component';\n\nimport {\n SkyDocsAnatomyItemComponent\n} from './anatomy-item.component';\n\n@NgModule({\n imports: [\n CommonModule,\n SkyFluidGridModule,\n SkyImageModule\n ],\n declarations: [\n SkyDocsAnatomyComponent,\n SkyDocsAnatomyItemComponent\n ],\n exports: [\n SkyDocsAnatomyComponent,\n SkyDocsAnatomyItemComponent\n ]\n})\nexport class SkyDocsAnatomyModule { }\n","\nimport {\n Injectable\n} from '@angular/core';\n\nimport {\n getStringForLocale,\n SkyAppLocaleInfo,\n SkyLibResourcesProvider\n} from '@skyux/i18n';\n\n@Injectable()\nexport class SkyDocsToolsResourcesProvider implements SkyLibResourcesProvider {\n private resources: any = {\"EN-US\":{\"sky-docs-demo-heading\":\"Demo\",\"sky-docs-demo-toggle-button-on\":\"Show options\",\"sky-docs-demo-toggle-button-off\":\"Hide options\",\"sky-docs-code-example-launch-button-label\":\"Run in StackBlitz\",\"sky-docs-demo-control-panel-reset-button-label\":\"Reset\"}};\n\n public getString(localeInfo: SkyAppLocaleInfo, name: string): string {\n return getStringForLocale(this.resources, localeInfo.locale, name);\n }\n}\n","import {\n NgModule\n} from '@angular/core';\n\nimport {\n SkyI18nModule,\n SKY_LIB_RESOURCES_PROVIDERS\n} from '@skyux/i18n';\n\nimport {\n SkyDocsToolsResourcesProvider\n} from '../../plugin-resources/docs-tools-resources-provider';\n\n@NgModule({\n providers: [{\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyDocsToolsResourcesProvider,\n multi: true\n }],\n exports: [\n SkyI18nModule\n ]\n})\nexport class SkyDocsToolsResourcesModule { }\n","import {\n Injectable\n} from '@angular/core';\n\n@Injectable()\nexport class SkyDocsSourceCodeProvider {\n\n public readonly sourceCode: any[];\n\n}\n","import {\n Injectable\n} from '@angular/core';\n\nimport {\n SkyDocsSourceCodeFile\n} from './source-code-file';\n\nimport {\n SkyDocsSourceCodeProvider\n} from './source-code-provider';\n\n@Injectable()\nexport class SkyDocsSourceCodeService {\n\n constructor(\n private sourceCodeProvider: SkyDocsSourceCodeProvider\n ) { }\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}\n","import {\n NgModule\n} from '@angular/core';\n\nimport {\n SkyDocsSourceCodeProvider\n} from './source-code-provider';\n\nimport {\n SkyDocsSourceCodeService\n} from './source-code.service';\n\n@NgModule({\n providers: [\n SkyDocsSourceCodeProvider,\n SkyDocsSourceCodeService\n ]\n})\nexport class SkyDocsSourceCodeModule { }\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 {\n SkyThemeService\n} from '@skyux/theme';\n\nimport {\n Subject\n} from 'rxjs';\n\nimport {\n takeUntil\n} from 'rxjs/operators';\n\nimport {\n SkyDocsCodeExampleTheme\n} 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 /**\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(\n @Optional() themeSvc?: SkyThemeService\n ) {\n // Update theme property with SkyThemeService if it has not been set.\n if (!this._theme && themeSvc) {\n themeSvc.settingsChange\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\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}\n","import {\n Injectable\n} from '@angular/core';\n\nimport StackBlitzSDK from '@stackblitz/sdk';\n\nimport {\n OpenOptions as StackBlitzOpenOptions,\n Project as StackBlitzProject\n} from '@stackblitz/sdk/typings/interfaces';\n\nimport {\n SkyDocsSourceCodeFile\n} from '../source-code/source-code-file';\n\nimport {\n SkyDocsCodeExampleModuleDependencies\n} from './code-example-module-dependencies';\n\nimport {\n SkyDocsCodeExampleTheme\n} from './code-example-theme';\n\nimport {\n SkyDocsCodeExample\n} from './code-example';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyDocsCodeExamplesEditorService {\n\n public launchEditor(codeExample: SkyDocsCodeExample): void {\n const project = this.getPayload(codeExample);\n const options: StackBlitzOpenOptions = {};\n\n StackBlitzSDK.openProject(project, options);\n }\n\n private getPayload(codeExample: SkyDocsCodeExample): StackBlitzProject {\n const angularVersion = '^9.0.0';\n const skyuxVersion = '*';\n\n const defaultDependencies: SkyDocsCodeExampleModuleDependencies = {\n '@angular/animations': angularVersion,\n '@angular/common': angularVersion,\n '@angular/compiler': 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/http': skyuxVersion,\n '@skyux/i18n': skyuxVersion,\n '@skyux/indicators': skyuxVersion,\n '@skyux/layout': skyuxVersion,\n '@skyux/modals': skyuxVersion,\n '@skyux/popovers': skyuxVersion,\n '@skyux/router': skyuxVersion,\n '@skyux/theme': skyuxVersion,\n 'core-js': '2',\n 'rxjs': '^6.0.0',\n 'rxjs-compat': '^6.0.0',\n 'tslib': '~1.14.1',\n 'zone.js': '~0.11.4'\n };\n\n const mergedDependencies = Object.assign(\n {},\n defaultDependencies,\n codeExample.packageDependencies\n );\n\n const files = this.parseStackBlitzFiles(\n codeExample.sourceCode,\n mergedDependencies,\n codeExample.theme\n );\n\n return {\n files,\n title: 'SKY UX Demo',\n description: 'SKY UX Demo',\n template: 'angular-cli',\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 ): {\n [path: string]: string;\n } {\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 built when using SKY UX CLI.\n * Visit https://developer.blackbaud/skyux for more information\n **/\n `;\n\n const moduleImportStatements: string[] = [\n `import {\\n Component,\\n NgModule\\n} from '@angular/core';`,\n `import {\\n FormsModule,\\n ReactiveFormsModule\\n} from '@angular/forms';`,\n `import {\\n platformBrowserDynamic\\n} from '@angular/platform-browser-dynamic';`,\n `import {\\n BrowserModule\\n} from '@angular/platform-browser';`,\n `import {\\n RouterModule\\n} from '@angular/router';`,\n `import {\\n SkyAppLocaleProvider\\n} from '@skyux/i18n';`,\n `import {\\n SkyThemeService\\n} from '@skyux/theme';`,\n `import {\\n of as observableOf\\n} from 'rxjs';`,\n `import {\\n AppComponent\\n} from './app.component';`\n ];\n\n const moduleImports: string[] = [\n 'BrowserModule',\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(exportedComponent, sourceCode);\n\n appComponentTemplate += `<${componentSelector}></${componentSelector}>`;\n\n moduleImports.push(moduleName);\n moduleImportStatements.push(`import {\\n ${moduleName}\\n} from '${importPath}';`);\n }\n });\n\n files[`${appPath}app.component.ts`] = `${banner}\nimport {\n Component,\n Renderer2\n} from '@angular/core';\n\nimport {\n SkyTheme,\n SkyThemeMode,\n SkyThemeService,\n SkyThemeSettings\n} from '@skyux/theme';\n\n@Component({\n selector: 'sky-demo-app',\n template: '${appComponentTemplate}'\n})\nexport class AppComponent {\n\n constructor(\n themeSvc: SkyThemeService,\n renderer?: Renderer2\n ) {\n const themeSettings = new SkyThemeSettings(\n SkyTheme.presets['${theme === SkyDocsCodeExampleTheme.Modern ? 'modern' : 'default'}'],\n SkyThemeMode.presets.light\n );\n\n themeSvc.init(\n document.body,\n renderer,\n themeSettings\n );\n }\n\n}`;\n\n files[`${appPath}app.module.ts`] = `${moduleImportStatements.join('\\n\\n')}\n\n@NgModule({\n imports: [\n ${moduleImports.join(',\\n ')}\n ],\n declarations: [\n AppComponent\n ],\n bootstrap: [\n AppComponent\n ],\n providers: [\n SkyThemeService,\n {\n provide: SkyAppLocaleProvider,\n useValue: {\n getLocaleInfo: () => observableOf({\n locale: 'en-US'\n })\n }\n }\n ]\n})\nexport class AppModule { }\n`;\n\n files[`${srcPath}index.html`] = `<!--\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\" />${theme === SkyDocsCodeExampleTheme.Modern ? `<link rel=\"stylesheet\" type=\"text/css\" href=\"https://sky.blackbaudcdn.net/static/skyux-icons/4.0.0-beta.2/assets/css/skyux-icons.min.css\" />` : ``}\n\n<sky-demo-app>\n Loading...\n</sky-demo-app>`;\n\n files[`${srcPath}main.ts`] = `${banner}\nimport './polyfills';\n\nimport {\n enableProdMode\n} from '@angular/core';\n\nimport {\n platformBrowserDynamic\n} from '@angular/platform-browser-dynamic';\n\nimport {\n AppModule\n} from './app/app.module';\n\nplatformBrowserDynamic().bootstrapModule(AppModule).then(ref => {\n if (window['ngRef']) {\n window['ngRef'].destroy();\n }\n\n window['ngRef'] = ref;\n}).catch(err => console.error(err));\n`;\n\n files[`${srcPath}polyfills.ts`] = `${banner}\nimport 'core-js/es6/reflect';\nimport 'core-js/es7/reflect';\nimport 'zone.js/dist/zone';\n`;\n\n files[`${srcPath}styles.scss`] = `@import '~@skyux/theme/css/sky';\n${theme === SkyDocsCodeExampleTheme.Modern ? `@import '~@skyux/theme/css/themes/modern/styles';` : ``}\nbody {\n background-color: #fff;\n margin: 15px;\n}`;\n\n files['angular.json'] = `{\n \"projects\": {\n \"demo\": {\n \"architect\": {\n \"build\": {\n \"options\": {\n \"index\": \"src/index.html\",\n \"styles\": [\n \"src/styles.scss\"\n ]\n }\n }\n }\n }\n }\n}`;\n\n files['package.json'] = JSON.stringify({\n dependencies\n }, undefined, 2);\n\n files['tsconfig.json'] = `{\n \"compilerOptions\": {\n \"target\": \"es5\",\n \"moduleResolution\": \"node\",\n \"emitDecoratorMetadata\": true,\n \"experimentalDecorators\": true,\n \"importHelpers\": true,\n \"lib\": [\n \"dom\",\n \"es6\"\n ]\n }\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(',');\n\n if (components.length > 1) {\n throw '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 return components[0];\n }\n\n private getComponentSelector(\n componentClassName: string,\n sourceCode: SkyDocsSourceCodeFile[]\n ): string {\n\n const found = sourceCode.find((file) => {\n return (file.rawContents.indexOf(componentClassName) > -1);\n });\n\n const trimmed = found.rawContents.replace(/\\s/g, '');\n\n return trimmed.split(`selector:'`)[1].split(`'`)[0];\n }\n\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Input,\n QueryList\n} from '@angular/core';\n\nimport {\n SkyDocsSourceCodeService\n} from '../source-code/source-code.service';\n\nimport {\n SkyDocsCodeExamplesEditorService\n} from './code-examples-editor.service';\n\nimport {\n SkyDocsCodeExampleComponent\n} from './code-example.component';\n\nimport {\n SkyDocsCodeExampleModuleDependencies\n} from './code-example-module-dependencies';\n\nimport {\n SkyDocsCodeExample\n} 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 /**\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 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\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(`Source code not found at location \"${sourceCodePath}\" for \"${component.heading}\"!`);\n return;\n }\n\n this.codeExamples.push({\n heading: component.heading,\n packageDependencies: this.packageDependencies,\n sourceCode,\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","import {\n CommonModule\n} from '@angular/common';\n\nimport {\n NgModule\n} from '@angular/core';\n\nimport {\n SkyCodeBlockModule\n} from '@blackbaud/skyux-lib-code-block';\n\nimport {\n SkyIconModule\n} from '@skyux/indicators';\n\nimport {\n SkyRepeaterModule\n} from '@skyux/lists';\n\nimport {\n SkyVerticalTabsetModule\n} from '@skyux/tabs';\n\nimport {\n SkyDocsToolsResourcesModule\n} from '../shared/docs-tools-resources.module';\n\nimport {\n SkyDocsSourceCodeModule\n} from '../source-code/source-code.module';\n\nimport {\n SkyDocsCodeExampleComponent\n} from './code-example.component';\n\nimport {\n SkyDocsCodeExamplesComponent\n} from './code-examples.component';\n\nimport {\n SkyDocsCodeExamplesEditorService\n} from './code-examples-editor.service';\n\n@NgModule({\n imports: [\n CommonModule,\n SkyCodeBlockModule,\n SkyDocsSourceCodeModule,\n SkyDocsToolsResourcesModule,\n SkyIconModule,\n SkyRepeaterModule,\n SkyVerticalTabsetModule\n ],\n declarations: [\n SkyDocsCodeExampleComponent,\n SkyDocsCodeExamplesComponent\n ],\n exports: [\n SkyDocsCodeExampleComponent,\n SkyDocsCodeExamplesComponent\n ],\n providers: [\n SkyDocsCodeExamplesEditorService\n ]\n})\nexport class SkyDocsCodeExamplesModule { }\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnDestroy,\n OnInit\n} from '@angular/core';\n\nimport {\n Subject\n} from 'rxjs';\n\nimport {\n SkyDocsDemoControlPanelChange\n} 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 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 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 Subject<SkyDocsDemoControlPanelChange>();\n\n private initialState: {\n checked?: boolean;\n } = {};\n\n private _checked: boolean;\n\n constructor(\n private changeDetector: ChangeDetectorRef\n ) { }\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}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnInit,\n OnDestroy\n} from '@angular/core';\n\nimport {\n Subject\n} from 'rxjs';\n\nimport {\n SkyDocsDemoControlPanelChange\n} from './demo-control-panel-change';\n\nimport {\n SkyDocsDemoControlPanelRadioChoice\n} 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 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 Subject<SkyDocsDemoControlPanelChange>();\n\n /**\n * @internal\n */\n public value: any;\n\n constructor(\n private changeDetector: ChangeDetectorRef\n ) { }\n\n public ngOnInit(): void {\n this.value = this.cloneValue(this.initialValue);\n }\n\n public ngOnDestroy(): void {\n this.selectionChange.complete();\n }\n\n public onModelChange(value: any): void {\n this.value = value;\n this.selectionChange.next({\n [this.propertyName]: this.value\n });\n }\n\n public resetValue(): void {\n this.value = this.cloneValue(this.initialValue);\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}\n","import {\n Injectable\n} from '@angular/core';\n\nimport {\n BehaviorSubject\n} from 'rxjs';\n\nimport {\n SkyThemeSettings\n} from '@skyux/theme';\n\n@Injectable()\nexport class SkyDocsDemoThemeService {\n\n public readonly supportsTheming = new BehaviorSubject<boolean>(false);\n\n public readonly themeSettings = new BehaviorSubject<SkyThemeSettings>(undefined);\n\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n OnDestroy,\n Output,\n QueryList\n} from '@angular/core';\n\nimport {\n merge,\n Subject,\n Subscription\n} from 'rxjs';\n\nimport {\n takeUntil\n} from 'rxjs/operators';\n\nimport {\n SkyThemeSettings\n} from '@skyux/theme';\n\nimport {\n SkyDocsDemoControlPanelCheckboxComponent\n} from './demo-control-panel-checkbox.component';\n\nimport {\n SkyDocsDemoControlPanelRadioGroupComponent\n} from './demo-control-panel-radio-group.component';\n\nimport {\n SkyDocsDemoControlPanelChange\n} from './demo-control-panel-change';\n\nimport {\n SkyDocsDemoThemeService\n} from './demo-theme.service';\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 implements OnDestroy, AfterContentInit {\n\n /**\n * Fires when the user clicks the reset button.\n */\n @Output()\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, { descendants: true })\n private radioGroups: QueryList<SkyDocsDemoControlPanelRadioGroupComponent>;\n\n @ContentChildren(SkyDocsDemoControlPanelCheckboxComponent, { descendants: true })\n private checkboxes: QueryList<SkyDocsDemoControlPanelCheckboxComponent>;\n\n private eventListeners: Subscription;\n private ngUnsubscribe = new Subject<boolean>();\n\n constructor(public demoThemeSvc: SkyDocsDemoThemeService) { }\n\n public ngAfterContentInit(): void {\n this.addEventListeners();\n\n merge(\n this.checkboxes.changes,\n this.radioGroups.changes\n )\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\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 public onThemeSettingsChange(themeSettings: SkyThemeSettings): void {\n this.demoThemeSvc.themeSettings.next(themeSettings);\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(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((change) => {\n this.selectionChange.next(change);\n });\n }\n\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n Input,\n QueryList\n} from '@angular/core';\n\nimport {\n SkyThemeSettings\n} from '@skyux/theme';\n\nimport {\n SkyDocsDemoContentAlignment\n} from './demo-content-alignment';\n\nimport {\n SkyDocsDemoControlPanelComponent\n} from './demo-control-panel.component';\n\nimport {\n SkyDocsDemoThemeService\n} from './demo-theme.service';\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 providers: [SkyDocsDemoThemeService],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SkyDocsDemoComponent {\n\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 @Input()\n public set supportsTheming(value: boolean) {\n this.demoThemeSvc.supportsTheming.next(value);\n }\n\n public themeSettings: SkyThemeSettings;\n\n public get hasOptions(): boolean {\n return this.supportsTheming || (this.controlPanels && this.controlPanels.length > 0);\n }\n\n @ContentChildren(SkyDocsDemoControlPanelComponent, { read: ElementRef })\n private controlPanels: QueryList<SkyDocsDemoControlPanelComponent>;\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 constructor(public demoThemeSvc: SkyDocsDemoThemeService) { }\n\n public onToggleOptionsButtonClick(): void {\n this.areOptionsVisible = !this.areOptionsVisible;\n }\n\n}\n","import {\n ChangeDetectionStrategy,\n Component\n} 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","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n OnDestroy,\n OnInit,\n Optional,\n Output\n} from '@angular/core';\n\nimport {\n SkyTheme,\n SkyThemeMode,\n SkyThemeService,\n SkyThemeSettings\n} from '@skyux/theme';\n\nimport {\n Subject\n} from 'rxjs';\n\nimport {\n takeUntil\n} from 'rxjs/operators';\n\n@Component({\n selector: 'sky-docs-demo-control-panel-theme',\n templateUrl: './demo-control-panel-theme.component.html',\n styleUrls: ['./demo-control-panel-theme.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SkyDocsDemoControlPanelThemeComponent implements OnDestroy, OnInit {\n\n @Output()\n public themeSettingsChange = new EventEmitter<SkyThemeSettings>();\n\n public get mode(): string {\n return this._mode;\n }\n\n public set mode(value: string) {\n this._mode = value;\n this.updateTheme();\n }\n\n public get theme(): string {\n return this._theme;\n }\n\n public set theme(value: string) {\n this._theme = value;\n this.updateModesForTheme();\n this.updateTheme();\n }\n\n public themeOptions: {\n label: string,\n value: string\n }[];\n\n public modeOptions: {\n label: string,\n value: string\n }[];\n\n private ngUnsubscribe = new Subject<void>();\n\n private _mode = 'light';\n\n private _theme = 'default';\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n @Optional() private themeSvc?: SkyThemeService\n ) {\n // Update theme property with SkyThemeService if it has not been set.\n if (this.themeSvc) {\n this.themeSvc.settingsChange\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(change => {\n if (change.currentSettings.theme.name !== this.theme) {\n this.theme = change.currentSettings.theme.name;\n }\n\n if (change.currentSettings.mode.name !== this.mode) {\n this.mode = change.currentSettings.mode.name;\n }\n this.changeDetector.markForCheck();\n });\n }\n }\n\n public ngOnInit(): void {\n this.themeOptions = Object.keys(SkyTheme.presets).map(\n key => this.createRadioItem(key)\n );\n\n this.updateModesForTheme();\n this.updateTheme();\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n private updateModesForTheme(): void {\n let selectedTheme = this.getThemeByName(this.theme);\n\n this.modeOptions = selectedTheme.supportedModes\n .map(\n supportedMode => this.createRadioItem(supportedMode.name)\n );\n\n if (!this.modeOptions.some((item) => item.value === this.mode)) {\n this.mode = this.modeOptions[0].value;\n }\n }\n\n private createRadioItem(name: string): { label: string, value: string } {\n return {\n label: this.capitalize(name),\n value: name\n };\n }\n\n private capitalize(name: string): string {\n return name.charAt(0).toUpperCase() + name.substr(1);\n }\n\n private getThemeSettings(): SkyThemeSettings {\n return new SkyThemeSettings(\n this.getThemeByName(this.theme),\n this.getModeByName(this.mode)\n );\n }\n\n private getThemeByName(name: string): SkyTheme {\n const themePresets = SkyTheme.presets as {\n [key: string]: SkyTheme\n };\n\n return themePresets[name];\n }\n\n private getModeByName(name: string): SkyThemeMode {\n const modePresets = SkyThemeMode.presets as {\n [key: string]: SkyThemeMode\n };\n\n return modePresets[name];\n }\n\n private updateTheme(): void {\n this.themeSettingsChange.emit(this.getThemeSettings());\n }\n}\n","import {\n CommonModule\n} from '@angular/common';\n\nimport {\n NgModule\n} from '@angular/core';\n\nimport {\n FormsModule\n} from '@angular/forms';\n\nimport {\n SkyCheckboxModule,\n SkyRadioModule\n} from '@skyux/forms';\n\nimport {\n SkyIconModule\n} from '@skyux/indicators';\n\nimport {\n SkyThemeModule\n} from '@skyux/theme';\n\nimport {\n SkyRestrictedViewModule\n} from '@blackbaud/skyux-lib-restricted-view';\n\nimport {\n SkyDocsToolsResourcesModule\n} from '../shared/docs-tools-resources.module';\n\nimport {\n SkyDocsDemoComponent\n} from './demo.component';\n\nimport {\n SkyDocsDemoControlPanelCheckboxComponent\n} from './demo-control-panel-checkbox.component';\n\nimport {\n SkyDocsDemoControlPanelComponent\n} from './demo-control-panel.component';\n\nimport {\n SkyDocsDemoControlPanelRadioGroupComponent\n} from './demo-control-panel-radio-group.component';\n\nimport {\n SkyDocsDemoControlPanelSectionComponent\n} from './demo-control-panel-section.component';\n\nimport {\n SkyDocsDemoControlPanelThemeComponent\n} from './demo-control-panel-theme.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n SkyCheckboxModule,\n SkyDocsToolsResourcesModule,\n SkyIconModule,\n SkyRadioModule,\n SkyRestrictedViewModule,\n SkyThemeModule\n ],\n declarations: [\n SkyDocsDemoComponent,\n SkyDocsDemoControlPanelCheckboxComponent,\n SkyDocsDemoControlPanelComponent,\n SkyDocsDemoControlPanelRadioGroupComponent,\n SkyDocsDemoControlPanelSectionComponent,\n SkyDocsDemoControlPanelThemeComponent\n ],\n exports: [\n SkyDocsDemoComponent,\n SkyDocsDemoControlPanelCheckboxComponent,\n SkyDocsDemoControlPanelComponent,\n SkyDocsDemoControlPanelRadioGroupComponent,\n SkyDocsDemoControlPanelSectionComponent,\n SkyDocsDemoControlPanelThemeComponent\n ]\n})\nexport class SkyDocsDemoModule { }\n","import {\n ChangeDetectionStrategy,\n Component,\n Input\n} 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\n @Input()\n public anchorId: string;\n\n @Input()\n public headingLevel = '2';\n\n}\n","import {\n CommonModule\n} from '@angular/common';\n\nimport {\n NgModule\n} from '@angular/core';\n\nimport {\n RouterModule\n} from '@angular/router';\n\nimport {\n SkyIconModule\n} from '@skyux/indicators';\n\nimport {\n SkyDocsHeadingAnchorComponent\n} from './heading-anchor.component';\n\n@NgModule({\n declarations: [\n SkyDocsHeadingAnchorComponent\n ],\n imports: [\n CommonModule,\n RouterModule,\n SkyIconModule\n ],\n exports: [\n SkyDocsHeadingAnchorComponent\n ]\n})\nexport class SkyDocsHeadingAnchorModule { }\n","import {\n Pipe,\n PipeTransform\n} from '@angular/core';\n\nimport marked from 'marked';\n\n@Pipe({\n name: 'skyDocsMarkdown'\n})\nexport class SkyDocsMarkdownPipe implements PipeTransform {\n\n public transform(markdown: string): string {\n if (!markdown) {\n return '';\n }\n\n return marked(markdown);\n }\n\n}\n","import {\n NgModule\n} from '@angular/core';\n\nimport {\n SkyDocsMarkdownPipe\n} from './markdown.pipe';\n\n@NgModule({\n declarations: [\n SkyDocsMarkdownPipe\n ],\n providers: [\n SkyDocsMarkdownPipe\n ],\n exports: [\n SkyDocsMarkdownPipe\n ]\n})\nexport class SkyDocsMarkdownModule { }\n","export class SkyDocsToolsOptions {\n\n public gitRepoUrl: string;\n\n public packageName: string;\n\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n Optional\n} from '@angular/core';\n\nimport {\n SkyDocsToolsOptions\n} from '../shared/docs-tools-options';\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\n @Input()\n public set gitRepoUrl(value: string) {\n this._gitRepoUrl = value;\n }\n\n public get gitRepoUrl() {\n return this._gitRepoUrl || this.options && this.options.gitRepoUrl;\n }\n\n @Input()\n public moduleName: string;\n\n @Input()\n public set packageName(value: string) {\n this._packageName = value;\n }\n\n public get packageName() {\n return this._packageName || this.options && this.options.packageName;\n }\n\n @Input()\n public set packageUrl(value: string) {\n this._packageUrl = value;\n }\n\n public get packageUrl() {\n if (this._packageUrl) {\n return this._packageUrl;\n }\n\n if (this.packageName) {\n return `https://npmjs.org/package/${this.packageName}`;\n }\n\n return '';\n }\n\n public get externalLinks(): { label: string; url: string; }[] {\n const externalLinks: { label: string; url: string; }[] = [];\n\n if (this.packageName) {\n externalLinks.push({\n url: this.packageUrl,\n label: 'View in NPM'\n });\n }\n\n if (this.gitRepoUrl) {\n externalLinks.push({\n url: this.gitRepoUrl,\n label: 'View in GitHub'\n });\n }\n\n return externalLinks;\n }\n\n public get installationCommand(): string {\n if (!this.packageName) {\n return '';\n }\n\n return `npm install --save-exact ${this.packageName}`;\n }\n\n private _gitRepoUrl: string;\n\n private _packageName: string;\n\n private _packageUrl: string;\n\n constructor(\n @Optional() private options?: SkyDocsToolsOptions\n ) { }\n}\n","import {\n CommonModule\n} from '@angular/common';\n\nimport {\n NgModule\n} from '@angular/core';\n\nimport {\n SkyClipboardModule\n} from '@blackbaud/skyux-lib-clipboard';\n\nimport {\n SkyCodeModule\n} from '@blackbaud/skyux-lib-code-block';\n\nimport {\n SkyHelpInlineModule\n} from '@skyux/indicators';\n\nimport {\n SkyDefinitionListModule\n} from '@skyux/layout';\n\nimport {\n SkyPopoverModule\n} from '@skyux/popovers';\n\nimport {\n SkyDocsModuleInfoComponent\n} from './module-info.component';\n\n@NgModule({\n imports: [\n CommonModule,\n SkyCodeModule,\n SkyClipboardModule,\n SkyDefinitionListModule,\n SkyHelpInlineModule,\n SkyPopoverModule\n ],\n declarations: [\n SkyDocsModuleInfoComponent\n ],\n exports: [\n SkyDocsModuleInfoComponent\n ]\n})\nexport class SkyDocsModuleInfoModule { }\n","import {\n ChangeDetectionStrategy,\n Component,\n Input\n} from '@angular/core';\n\nimport {\n DomSanitizer,\n SafeHtml\n} 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\n @Input()\n public innerHtml: string;\n\n constructor(\n private domSanitizer: DomSanitizer\n ) { }\n\n public getTrustedHtml(content: string): SafeHtml {\n return this.domSanitizer.bypassSecurityTrustHtml(content);\n }\n\n}\n","import {\n CommonModule\n} from '@angular/common';\n\nimport {\n NgModule\n} from '@angular/core';\n\nimport {\n SkyDocsSafeHtmlComponent\n} from './safe-html.component';\n\n@NgModule({\n declarations: [\n SkyDocsSafeHtmlComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n SkyDocsSafeHtmlComponent\n ]\n})\nexport class SkyDocsSafeHtmlModule { }\n","import {\n Injectable\n} from '@angular/core';\n\nimport {\n TypeDocEntry\n} from './typedoc-types';\n\n@Injectable()\nexport class SkyDocsTypeDefinitionsProvider {\n\n public readonly anchorIds: {[_: string]: string};\n\n public readonly typeDefinitions: TypeDocEntry[];\n\n}\n","import {\n Injectable\n} from '@angular/core';\n\nimport {\n SkyDocsAnchorLinkConfig\n} from './anchor-link-service-config';\n\nimport {\n SkyDocsTypeDefinitionsProvider\n} 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(`(^|[^a-zA-Z0-9>.[/])(${keyword})(\\\\.\\\\w+)?(?=[^a-zA-Z0-9<]+|$)`, 'g');\n}\n\n@Injectable()\nexport class SkyDocsAnchorLinkService {\n\n private anchorIds: {[_: string]: string};\n\n constructor(\n typeDefinitionsProvider: SkyDocsTypeDefinitionsProvider\n ) {\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(content: string, config?: SkyDocsAnchorLinkConfig): 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 = '<a class=\"sky-docs-anchor-link\" href=\"#' + anchorId + '\">' + typeName + '</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 = matches[0].substr(0, typeName.length) === typeName;\n const startIndex = isMatchExact ? matches.index : matches.index + 1;\n const endIndex = isMatchExact ? matches[0].length : matches[0].length - 1;\n let contentWithCodeTags = content.substr(0, startIndex) + replacement + 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}\n","import {\n Injectable\n} from '@angular/core';\n\nimport {\n SkyDocsCallSignatureDefinition\n} from './call-signature-definition';\n\nimport {\n SkyDocsClassPropertyDefinition\n} from './property-definition';\n\nimport {\n SkyDocsInterfaceDefinition\n} from './interface-definition';\n\nimport {\n SkyDocsClassMethodDefinition\n} from './method-definition';\n\nimport {\n SkyDocsParameterDefinition\n} from './parameter-definition';\n\nimport {\n SkyDocsTypeAliasDefinition\n} from './type-alias-definition';\n\nimport {\n SkyDocsTypeDefinition\n} from './type-definition';\n\nimport {\n SkyDocsTypeParameterDefinition\n} from './type-parameter-definition';\n\nimport {\n SkyDocsInterfacePropertyDefinition\n} from './interface-property-definition';\n\ninterface GetFormattedTypeConfig {\n escapeSpecialCharacters: boolean;\n}\n\n/**\n * Formats type definitions into HTML-compatible strings.\n */\n@Injectable()\nexport class SkyDocsTypeDefinitionsFormatService {\n\n /**\n * Returns an HTML-formatted representation of the provided interface config.\n */\n public getInterfaceSourceCode(definition: SkyDocsInterfaceDefinition): string {\n const typeParameters = this.getFormattedTypeParameters(definition.typeParameters);\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(definition.type, config);\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.name}${typeArguments}(${params}): ${returnType}`;\n }\n\n /**\n * Returns an HTML-formatted representation of the provided type alias config.\n */\n public getTypeAliasSourceCode(definition: SkyDocsTypeAliasDefinition): string {\n const config = {\n escapeSpecialCharacters: false\n };\n\n const typeParameters = this.getFormattedTypeParameters(definition.typeParameters);\n\n let signature = `type ${definition.name}${typeParameters} = `;\n\n if (definition.type.callSignature) {\n signature += this.getFormattedCallSignature(definition.type.callSignature, {\n escapeSpecialCharacters: false\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(property: SkyDocsClassPropertyDefinition): 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(indexSignature.key.type)}]`;\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 (property.isOptional && !indexSignature) {\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(definition: SkyDocsClassMethodDefinition): string {\n let formatted = '';\n\n if (definition.deprecationWarning !== undefined) {\n formatted += `<strike>${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 return this.getFormattedCallSignature(type.callSignature, config);\n }\n\n if (type.unionTypes) {\n return this.getFormattedUnion(type, config);\n }\n\n if (type.name) {\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.typeLiteral) {\n const formattedTypeLiteral = this.getFormattedInterfaceProperties(type.typeLiteral, config)\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 escapeSpecialCharacters: true\n }\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(typeConfig: SkyDocsTypeDefinition, config: GetFormattedTypeConfig): string {\n return typeConfig.unionTypes.map(t => {\n return this.getFormattedType(t, config);\n }).join(' | ');\n }\n\n /**\n * Parse any type arguments e.g. `<T, F>`.\n */\n private getFormattedTypeArguments(typeConfig: SkyDocsTypeDefinition, config: GetFormattedTypeConfig): 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(typeParameters: SkyDocsTypeParameterDefinition[]): 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 = (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}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input\n} from '@angular/core';\n\nimport {\n SkyDocsCallSignatureDefinition\n} from './call-signature-definition';\n\nimport {\n SkyDocsTypeDefinitionsFormatService\n} 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\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(\n private formatService: SkyDocsTypeDefinitionsFormatService\n ) { }\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(this.config?.returnType);\n }\n\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input\n} from '@angular/core';\n\nimport {\n SkyDocsDirectiveDefinition\n} 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\n @Input()\n public config: SkyDocsDirectiveDefinition;\n\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input\n} from '@angular/core';\n\nimport {\n SkyDocsEnumerationDefinition\n} 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\n @Input()\n public config: SkyDocsEnumerationDefinition;\n\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input\n} from '@angular/core';\n\nimport {\n SkyDocsInterfaceDefinition\n} from './interface-definition';\n\nimport {\n SkyDocsTypeDefinitionsFormatService\n} 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\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(\n private formatService: SkyDocsTypeDefinitionsFormatService\n ) { }\n\n private updateView(): void {\n this.sourceCode = (this.config) ? this.formatService.getInterfaceSourceCode(this.config) : undefined;\n }\n\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnInit\n} from '@angular/core';\n\nimport {\n SkyMediaBreakpoints,\n SkyMediaQueryService\n} from '@skyux/core';\n\nimport {\n SkyDocsCallSignatureDefinition\n} from './call-signature-definition';\n\nimport {\n SkyDocsClassMethodDefinition\n} from './method-definition';\n\nimport {\n SkyDocsTypeDefinitionsFormatService\n} 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}\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\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 private _config: {\n methods?: SkyDocsClassMethodDefinition[];\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.methods = this.config?.methods?.map(method => {\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 };\n\n return vm;\n });\n }\n\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input\n} from '@angular/core';\n\nimport {\n SkyDocsPipeDefinition\n} 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\n @Input()\n public config: SkyDocsPipeDefinition;\n\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnInit\n} from '@angular/core';\n\nimport {\n SkyMediaBreakpoints,\n SkyMediaQueryService\n} from '@skyux/core';\n\nimport {\n SkyDocsCallSignatureDefinition\n} from './call-signature-definition';\n\nimport {\n SkyDocsClassPropertyDefinition\n} from './property-definition';\n\nimport {\n SkyDocsTypeDefinitionsFormatService\n} from './type-definitions-format.service';\n\ninterface PropertyViewModel {\n callSignature: SkyDocsCallSignatureDefinition;\n defaultValue: string;\n deprecationWarning: string;\n description: string;\n formattedName: string;\n isOptional: 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\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(property.defaultValue || ''),\n deprecationWarning: property.deprecationWarning,\n description: property.description,\n formattedName: this.formatService.getFormattedPropertyName(property),\n isOptional: property.isOptional\n };\n\n return vm;\n });\n }\n\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input\n} from '@angular/core';\n\nimport {\n SkyDocsClassDefinition\n} 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\n @Input()\n public config: SkyDocsClassDefinition;\n\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input\n} from '@angular/core';\n\nimport {\n SkyDocsTypeAliasDefinition\n} from './type-alias-definition';\n\nimport {\n SkyDocsTypeDefinitionsFormatService\n} 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\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(\n private formatService: SkyDocsTypeDefinitionsFormatService\n ) { }\n\n private updateView(): void {\n this.sourceCode = (this.config) ? this.formatService.getTypeAliasSourceCode(this.config) : undefined;\n }\n\n}\n","import {\n Injectable,\n Optional\n} from '@angular/core';\n\nimport {\n SkyDocsCallSignatureDefinition\n} from './call-signature-definition';\n\nimport {\n SkyDocsClassDefinition\n} from './class-definition';\n\nimport {\n SkyDocsClassPropertyDefinition\n} from './property-definition';\n\nimport {\n SkyDocsCommentTags\n} from './comment-tags';\n\nimport {\n SkyDocsDirectiveDefinition\n} from './directive-definition';\n\nimport {\n SkyDocsEnumerationDefinition\n} from './enumeration-definition';\n\nimport {\n SkyDocsEnumerationMemberDefinition\n} from './enumeration-member-definition';\n\nimport {\n SkyDocsIndexSignatureDefinition\n} from './index-signature-definition';\n\nimport {\n SkyDocsInterfaceDefinition\n} from './interface-definition';\n\nimport {\n SkyDocsInterfacePropertyDefinition\n} from './interface-property-definition';\n\nimport {\n SkyDocsClassMethodDefinition\n} from './method-definition';\n\nimport {\n SkyDocsParameterDefinition\n} from './parameter-definition';\n\nimport {\n SkyDocsPipeDefinition\n} from './pipe-definition';\n\nimport {\n SkyDocsPropertyDecoratorDefinition\n} from './property-decorator';\n\nimport {\n SkyDocsTypeAliasDefinition\n} from './type-alias-definition';\n\nimport {\n SkyDocsTypeDefinition\n} from './type-definition';\n\nimport {\n SkyDocsTypeDefinitionsProvider\n} from './type-definitions-provider';\n\nimport {\n SkyDocsTypeParameterDefinition\n} from './type-parameter-definition';\n\nimport {\n TypeDocComment,\n TypeDocEntry,\n TypeDocEntryChild,\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()\nexport class SkyDocsTypeDocAdapterService {\n\n constructor(\n @Optional() 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 };\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 return definition;\n }\n\n public toDirectiveDefinition(entry: TypeDocEntry): SkyDocsDirectiveDefinition {\n const definition: SkyDocsDirectiveDefinition = {\n anchorId: this.getAnchorId(entry),\n name: entry.name,\n selector: this.getSelector(entry)\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(p => p.decorator?.name === 'Output');\n if (eventProperties.length) {\n definition.eventProperties = eventProperties;\n }\n\n const inputProperties = properties.filter(p => p.decorator?.name === 'Input');\n if (inputProperties.length) {\n definition.inputProperties = inputProperties;\n }\n\n return definition;\n }\n\n public toEnumerationDefinition(entry: TypeDocEntry): SkyDocsEnumerationDefinition {\n const members = this.getEnumerationMembers(entry);\n const definition: SkyDocsEnumerationDefinition = {\n anchorId: this.getAnchorId(entry),\n members,\n name: entry.name\n };\n\n const tags = this.getCommentTags(entry.comment);\n this.applyCommentTagValues(definition, tags);\n\n return definition;\n }\n\n public toInterfaceDefinition(entry: TypeDocEntry): SkyDocsInterfaceDefinition {\n const properties = this.getInterfaceProperties(entry);\n const definition: SkyDocsInterfaceDefinition = {\n anchorId: this.getAnchorId(entry),\n name: entry.name,\n properties\n };\n\n const tags = this.getCommentTags(entry.comment);\n this.applyCommentTagValues(definition, tags);\n\n const typeParameters = this.getTypeParameterDefinitions(entry.typeParameter);\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(entry: TypeDocEntry): SkyDocsTypeAliasDefinition {\n const definition: SkyDocsTypeAliasDefinition = {\n anchorId: this.getAnchorId(entry),\n name: entry.name,\n type: this.getTypeDefinition({\n comment: entry.comment,\n type: entry.type\n })\n };\n\n const tags = this.getCommentTags(entry.comment);\n this.applyCommentTagValues(definition, tags);\n\n const typeParameters = this.getTypeParameterDefinitions(entry.typeParameter);\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.split('selector: `')[1].split('`')[0].replace(/\\s\\s+/g, ' ')\n : decoratorSource.split('selector: \\'')[1].split('\\'')[0];\n }\n\n private getClassProperties(entry: TypeDocEntry): SkyDocsClassPropertyDefinition[] {\n if (!entry.children) {\n return [];\n }\n\n const definitions = entry.children\n .filter(child => child.kindString === 'Property' || child.kindString === 'Accessor')\n .map(child => {\n const tags = this.getCommentTags(child.comment);\n const definition: SkyDocsClassPropertyDefinition = {\n isOptional: !tags.extras.required,\n name: this.getPropertyName(child),\n type: this.getTypeDefinition(child)\n };\n\n this.applyCommentTagValues(definition, tags);\n\n const decorator = this.getDecorator(child);\n if (decorator) {\n definition.decorator = decorator;\n }\n\n const defaultValue = this.getDefaultValue(child, tags);\n if (defaultValue) {\n definition.defaultValue = defaultValue;\n }\n\n return definition;\n });\n\n return orderBy(\n definitions,\n ['isOptional', 'name'],\n ['asc', 'asc']\n );\n }\n\n private getClassMethods(entry: TypeDocEntry): SkyDocsClassMethodDefinition[] {\n if (!entry.children) {\n return [];\n }\n\n const methods = entry.children\n .filter(child => child.kindString === 'Method' && /^ng/.test(child.name) === false)\n .map(child => {\n const definition: SkyDocsClassMethodDefinition = {\n name: this.getPropertyName(child),\n type: this.getTypeDefinition(child)\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(child.signatures[0].typeParameter);\n if (typeParameters.length) {\n definition.typeParameters = typeParameters;\n }\n\n return definition;\n });\n\n return orderBy(\n methods,\n ['name'],\n ['asc']\n );\n }\n\n private getInterfaceProperties(entry: TypeDocEntry): SkyDocsInterfacePropertyDefinition[] {\n if (!entry.children && !entry.indexSignature) {\n return [];\n }\n\n const definitions = entry.children?.map(child => {\n const tags = this.getCommentTags(child.comment);\n const definition: SkyDocsInterfacePropertyDefinition = {\n isOptional: (tags.extras.required) ? false : !!(child.flags?.isOptional),\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(\n definitions,\n ['isOptional', 'name'],\n ['asc', 'asc']\n );\n\n // Add any index signatures, e.g. `[_: string]: any`\n if (entry.indexSignature) {\n const indexSignature = entry.indexSignature[0];\n const definition: SkyDocsInterfacePropertyDefinition = {\n isOptional: true,\n name: indexSignature.name,\n type: {\n indexSignature: this.getIndexSignatureDefinition(indexSignature)\n }\n };\n\n const tags = this.getCommentTags(indexSignature.comment);\n this.applyCommentTagValues(definition, tags);\n sorted.push(definition);\n }\n\n return sorted;\n }\n\n private getEnumerationMembers(entry: TypeDocEntry): SkyDocsEnumerationMemberDefinition[] {\n if (!entry.children) {\n return [];\n }\n\n return entry.children.map(child => {\n const definition: SkyDocsEnumerationMemberDefinition = {\n name: child.name\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 kindString = child.kindString;\n switch (kindString) {\n case 'Accessor':\n if (child.setSignature) {\n return this.getTypeDefinition(child.setSignature[0].parameters[0]);\n }\n return this.getTypeDefinition(child.getSignature[0]);\n\n case 'Method':\n definition = {\n callSignature: this.getCallSignatureDefinition(child.signatures[0], this.getCommentTags(child.comment)),\n name: child.signatures[0].name\n };\n\n return definition;\n\n default:\n let name: string = 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 => this.getTypeDefinition({ type: t }));\n }\n\n // Convert reflection types.\n if (child.type.type === 'reflection') {\n const declaration = 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[0];\n definition.indexSignature = this.getIndexSignatureDefinition(indexSignature);\n } else if (declaration.children) {\n definition.typeLiteral = {\n properties: this.getInterfaceProperties({\n children: declaration.children\n })\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(child.type);\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[] = 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(typeConfig: TypeDocType): 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(callSignature: TypeDocSignature, tags: SkyDocsCommentTags): 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(signature: TypeDocSignature): 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(typeParameters: TypeDocTypeParameter[]): 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.tags) {\n comment.tags.forEach(tag => {\n switch (tag.tag) {\n case 'deprecated':\n deprecationWarning = tag.text.trim();\n break;\n\n case 'default':\n case 'defaultValue':\n defaultValue = tag.text.trim();\n break;\n\n case 'example':\n codeExample = tag.text.trim().split('```')[1].trim();\n const language = codeExample.split('\\n')[0];\n if (language === 'markup' || language === 'typescript') {\n codeExample = codeExample.slice(language.length).trim();\n codeExampleLanguage = language;\n }\n break;\n\n case 'param':\n parameters = parameters || [];\n parameters.push({\n name: tag.param,\n description: tag.text.trim()\n });\n break;\n\n default:\n extras[tag.tag] = tag.text;\n break;\n }\n });\n }\n\n description = (comment.shortText || comment.text || '').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(parameter: TypeDocParameter, parentTags: SkyDocsCommentTags): SkyDocsCommentTags {\n const tags = this.getCommentTags(parameter.comment);\n const paramTags = parentTags.parameters;\n const tagParam = (paramTags) ? paramTags.find((param) => param.name === parameter.name) : 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 },\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\n private getDecorator(child: TypeDocEntryChild): SkyDocsPropertyDecoratorDefinition {\n const name = 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(child: TypeDocEntryChild, tags: SkyDocsCommentTags): 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 entry.anchorId || this.typeDefinitionsProvider?.anchorIds[entry.name] || '';\n }\n\n}\n","import {\n Injectable\n} from '@angular/core';\n\nimport {\n SkyDocsTypeDefinitions\n} from './type-definitions';\n\nimport {\n SkyDocsTypeDefinitionsProvider\n} from './type-definitions-provider';\n\nimport {\n SkyDocsTypeDocAdapterService\n} from './typedoc-adapter.service';\n\n/**\n * Handles all type definitions that have been converted from the third-party documentation generator.\n */\n@Injectable()\nexport class SkyDocsTypeDefinitionsService {\n\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(sourceCodePath: string): SkyDocsTypeDefinitions {\n\n if (sourceCodePath.charAt(sourceCodePath.length - 1) !== '/') {\n throw new Error('The source code path must end with a forward slash (`/`).');\n }\n\n const allDefinitions = this.typeDefinitionsProvider.typeDefinitions;\n const requestedDir = sourceCodePath\n .replace(/src\\/app\\/public\\//, '')\n .replace(/^\\//, ''); // remove first slash.\n\n const types: SkyDocsTypeDefinitions = {\n classes: [],\n components: [],\n directives: [],\n enumerations: [],\n interfaces: [],\n pipes: [],\n services: [],\n typeAliases: []\n };\n\n if (!allDefinitions) {\n console.warn(`No types were found for this project!`);\n return types;\n }\n\n // Only process types that match the requested source code location.\n const typeDefinitions = allDefinitions.filter((i) => i.sources[0].fileName.match(requestedDir));\n if (typeDefinitions.length === 0) {\n console.warn(`Type definitions were not found for location: ${requestedDir}`);\n }\n\n typeDefinitions.forEach((item) => {\n const decorator = item.decorators && item.decorators[0].name;\n const kindString = item.kindString;\n\n switch (decorator) {\n case 'Component':\n types.components.push(this.adapter.toDirectiveDefinition(item));\n break;\n case 'Directive':\n types.directives.push(this.adapter.toDirectiveDefinition(item));\n break;\n case 'Injectable':\n types.services.push(this.adapter.toClassDefinition(item));\n break;\n case 'NgModule':\n // Don't document modules.\n break;\n case 'Pipe':\n types.pipes.push(this.adapter.toPipeDefinition(item));\n break;\n default:\n /*tslint:disable-next-line:switch-default*/\n switch (kindString) {\n case 'Class':\n types.classes.push(this.adapter.toClassDefinition(item));\n break;\n case 'Interface':\n types.interfaces.push(this.adapter.toInterfaceDefinition(item));\n break;\n case 'Enumeration':\n types.enumerations.push(this.adapter.toEnumerationDefinition(item));\n break;\n case 'Type alias':\n types.typeAliases.push(this.adapter.toTypeAliasDefinition(item));\n break;\n }\n }\n });\n\n return types;\n }\n\n}\n","import {\n Pipe,\n PipeTransform\n} from '@angular/core';\n\nimport {\n SkyDocsAnchorLinkConfig\n} from './anchor-link-service-config';\n\nimport {\n SkyDocsAnchorLinkService\n} from './anchor-link.service';\n\nimport {\n SkyDocsAnchorLinkServiceFormatType\n} 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\n constructor(\n private anchorLinkService: SkyDocsAnchorLinkService\n ) { }\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}\n","import {\n CommonModule\n} from '@angular/common';\n\nimport {\n NgModule\n} from '@angular/core';\n\nimport {\n RouterModule\n} from '@angular/router';\n\nimport {\n SkyCodeBlockModule,\n SkyCodeModule\n} from '@blackbaud/skyux-lib-code-block';\n\nimport {\n SkyMediaQueryModule\n} from '@skyux/core';\n\nimport {\n SkyIconModule\n} from '@skyux/indicators';\n\nimport {\n SkyDefinitionListModule\n} from '@skyux/layout';\n\nimport {\n SkyDocsHeadingAnchorModule\n} from '../heading-anchor/heading-anchor.module';\n\nimport {\n SkyDocsMarkdownModule\n} from '../markdown/markdown.module';\n\nimport {\n SkyDocsSafeHtmlModule\n} from '../safe-html/safe-html.module';\n\nimport {\n SkyDocsAnchorLinkService\n} from './anchor-link.service';\n\nimport {\n SkyDocsCallSignatureDefinitionComponent\n} from './call-signature-definition.component';\n\nimport {\n SkyDocsDirectiveDefinitionComponent\n} from './directive-definition.component';\n\nimport {\n SkyDocsEnumerationDefinitionComponent\n} from './enumeration-definition.component';\n\nimport {\n SkyDocsInterfaceDefinitionComponent\n} from './interface-definition.component';\n\nimport {\n SkyDocsMethodDefinitionsComponent\n} from './method-definitions.component';\n\nimport {\n SkyDocsPipeDefinitionComponent\n} from './pipe-definition.component';\n\nimport {\n SkyDocsPropertyDefinitionsComponent\n} from './property-definitions.component';\n\nimport {\n SkyDocsClassDefinitionComponent\n} from './class-definition.component';\n\nimport {\n SkyDocsTypeAliasDefinitionComponent\n} from './type-alias-definition.component';\n\nimport {\n SkyDocsTypeDefinitionsFormatService\n} from './type-definitions-format.service';\n\nimport {\n SkyDocsTypeDefinitionsService\n} from './type-definitions.service';\n\nimport {\n SkyDocsTypeDefinitionsProvider\n} from './type-definitions-provider';\n\nimport {\n SkyDocsTypeAnchorLinksPipe\n} from './type-anchor-links.pipe';\n\nimport {\n SkyDocsTypeDocAdapterService\n} from './typedoc-adapter.service';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n SkyCodeBlockModule,\n SkyCodeModule,\n SkyDefinitionListModule,\n SkyDocsHeadingAnchorModule,\n SkyDocsMarkdownModule,\n SkyDocsSafeHtmlModule,\n SkyIconModule,\n SkyMediaQueryModule\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 providers: [\n SkyDocsAnchorLinkService,\n SkyDocsTypeAnchorLinksPipe,\n SkyDocsTypeDefinitionsFormatService,\n SkyDocsTypeDefinitionsProvider,\n SkyDocsTypeDefinitionsService,\n SkyDocsTypeDocAdapterService\n ]\n})\nexport class SkyDocsTypeDefinitionsModule { }\n","import {\n ChangeDetectionStrategy,\n Component,\n Input\n} 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 /**\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.toLowerCase()\n\n // Remove special characters.\n .replace(/[\\_\\~\\`\\@\\!\\#\\$\\%\\^\\&\\*\\(\\)\\[\\]\\{\\}\\;\\:\\'\\/\\\\\\<\\>\\,\\.\\?\\=\\+\\|\"]/g, '')\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}\n","import {\n ChangeDetectionStrategy,\n Component\n} 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","import {\n Injectable\n} from '@angular/core';\n\nimport {\n Title\n} from '@angular/platform-browser';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyDocsDemoPageTitleService {\n\n constructor(\n private title: Title\n ) { }\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","import {\n ChangeDetectionStrategy,\n Component\n} 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","import {\n Injectable\n} from '@angular/core';\n\nimport {\n HttpClient\n} from '@angular/common/http';\n\nimport {\n Observable\n} from 'rxjs';\n\nimport {\n map,\n share\n} from 'rxjs/operators';\n\nimport {\n SkyDocsComponentInfo\n} from './docs-tools-component-info';\n\n@Injectable()\nexport class SkyDocsSupportalService {\n constructor(\n private http: HttpClient\n ) { }\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 {\n Injectable,\n OnDestroy\n} from '@angular/core';\n\nimport {\n SkyAppWindowRef\n} from '@skyux/core';\n\nimport {\n Observable,\n Subject\n} from 'rxjs';\n\nimport {\n SkyDocsAnchorLink\n} from '../type-definitions/anchor-link';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyDocsDemoPageDomAdapterService implements OnDestroy {\n\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(\n private windowRef: SkyAppWindowRef\n ) { }\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}\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n Input,\n OnInit,\n QueryList\n} from '@angular/core';\n\nimport {\n ActivatedRoute,\n Router\n} from '@angular/router';\n\nimport {\n SkyAppConfig\n} from '@skyux/config';\n\nimport {\n StacheNavLink\n} from '@blackbaud/skyux-lib-stache';\n\nimport {\n SkyDocsCodeExamplesComponent\n} from '../code-examples/code-examples.component';\n\nimport {\n SkyDocsDesignGuidelinesComponent\n} from '../design-guidelines/design-guidelines.component';\n\nimport {\n SkyDocsSupportalService\n} from '../shared/docs-tools-supportal.service';\n\nimport {\n SkyDocsComponentInfo\n} from '../shared/docs-tools-component-info';\n\nimport {\n SkyDocsDemoPageDomAdapterService\n} from './demo-page-dom-adapter.service';\n\nimport {\n SkyDocsDemoPageTitleService\n} from './demo-page-title.service';\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: [\n SkyDocsDemoPageDomAdapterService\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SkyDocsDemoPageComponent implements OnInit, AfterContentInit, AfterViewInit {\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 * @required\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 moduleSourceCodePath: string;\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 enableTabLayout = false;\n\n /**\n * @internal\n */\n public sidebarRoutes: StacheNavLink[];\n\n @ContentChild(SkyDocsDesignGuidelinesComponent)\n private designGuidelinesComponent: SkyDocsDesignGuidelinesComponent;\n\n @ContentChildren(SkyDocsCodeExamplesComponent)\n private codeExampleComponents: QueryList<SkyDocsCodeExamplesComponent>;\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 ) { }\n\n public ngOnInit(): void {\n const currentHostUrl = 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 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 this.changeDetector.markForCheck();\n });\n }\n\n public ngAfterContentInit(): void {\n this.enableCodeExamples = (this.codeExampleComponents.length > 0);\n this.enableTabLayout = !!(this.designGuidelinesComponent);\n }\n\n public ngAfterViewInit(): void {\n\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 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}\n","import {\n Component\n} 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 {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnInit\n} from '@angular/core';\n\nimport {\n SkyDocsTypeDefinitionsService\n} from '../type-definitions/type-definitions.service';\n\nimport {\n SkyDocsTypeDefinitions\n} 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 implements OnInit {\n\n @Input()\n public moduleSourceCodePath: string;\n\n public types: SkyDocsTypeDefinitions;\n\n constructor(\n private typeDefinitionService: SkyDocsTypeDefinitionsService\n ) { }\n\n public ngOnInit(): void {\n if (this.moduleSourceCodePath) {\n this.types = this.typeDefinitionService.getTypeDefinitions(\n this.moduleSourceCodePath\n );\n }\n }\n}\n","import {\n CommonModule\n} from '@angular/common';\n\nimport {\n NgModule\n} 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 {\n RouterModule\n} from '@angular/router';\n\nimport {\n SkyTabsModule\n} from '@skyux/tabs';\n\nimport {\n SkyDocsDemoModule\n} from '../demo/demo.module';\n\nimport {\n SkyDocsHeadingAnchorModule\n} from '../heading-anchor/heading-anchor.module';\n\nimport {\n SkyDocsMarkdownModule\n} from '../markdown/markdown.module';\n\nimport {\n SkyDocsModuleInfoModule\n} from '../module-info/module-info.module';\n\nimport {\n SkyDocsTypeDefinitionsModule\n} from '../type-definitions/type-definitions.module';\n\nimport {\n SkyDocsDemoPageSectionComponent\n} from './demo-page-section.component';\n\nimport {\n SkyDocsDemoPageSummaryComponent\n} from './demo-page-summary.component';\n\nimport {\n SkyDocsDemoPageTitleService\n} from './demo-page-title.service';\n\nimport {\n SkyDocsDemoPageComponent\n} from './demo-page.component';\n\nimport {\n SkyDocsDemoPageModuleInfoComponent\n} from './demo-page-module-info.component';\n\nimport {\n SkyDocsDemoPageTypeDefinitionsComponent\n} from './demo-page-type-definitions.component';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\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 providers: [\n SkyDocsDemoPageTitleService\n ]\n})\nexport class SkyDocsDemoPageModule { }\n","import {\n ChangeDetectionStrategy,\n Component,\n Input\n} 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\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}\n","import {\n CommonModule\n} from '@angular/common';\n\nimport {\n NgModule\n} from '@angular/core';\n\nimport {\n SkyImageModule\n} from '@blackbaud/skyux-lib-media';\n\nimport {\n SkyDocsThumbnailComponent\n} from './thumbnail.component';\n\n@NgModule({\n imports: [\n CommonModule,\n SkyImageModule\n ],\n exports: [\n SkyDocsThumbnailComponent\n ],\n declarations: [\n SkyDocsThumbnailComponent\n ]\n})\nexport class SkyDocsThumbnailModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input\n} 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\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}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Input,\n QueryList\n} from '@angular/core';\n\nimport {\n SkyDocsDesignGuidelineThumbnailComponent\n} 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\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}\n","import {\n CommonModule\n} from '@angular/common';\n\nimport {\n NgModule\n} from '@angular/core';\n\nimport {\n SkyFluidGridModule\n} from '@skyux/layout';\n\nimport {\n SkyDocsThumbnailModule\n} from '../thumbnail/thumbnail.module';\n\nimport {\n SkyDocsDesignGuidelineComponent\n} from './design-guideline.component';\n\nimport {\n SkyDocsDesignGuidelinesComponent\n} from './design-guidelines.component';\n\nimport {\n SkyDocsDesignGuidelineThumbnailComponent\n} from './design-guideline-thumbnail.component';\n\n@NgModule({\n imports: [\n CommonModule,\n SkyDocsThumbnailModule,\n SkyFluidGridModule\n ],\n declarations: [\n SkyDocsDesignGuidelineComponent,\n SkyDocsDesignGuidelineThumbnailComponent,\n SkyDocsDesignGuidelinesComponent\n ],\n exports: [\n SkyDocsDesignGuidelineComponent,\n SkyDocsDesignGuidelineThumbnailComponent,\n SkyDocsDesignGuidelinesComponent\n ]\n})\nexport class SkyDocsDesignGuidelinesModule { }\n","import {\n NgModule\n} from '@angular/core';\n\nimport {\n SkyAuthHttpClientModule\n} from '@skyux/http';\n\nimport {\n SkyDocsAnatomyModule\n} from './modules/anatomy/anatomy.module';\n\nimport {\n SkyDocsCodeExamplesModule\n} from './modules/code-examples/code-examples.module';\n\nimport {\n SkyDocsDemoModule\n} from './modules/demo/demo.module';\n\nimport {\n SkyDocsDemoPageModule\n} from './modules/demo-page/demo-page.module';\n\nimport {\n SkyDocsDesignGuidelinesModule\n} from './modules/design-guidelines/design-guidelines.module';\n\nimport {\n SkyDocsSupportalService\n} from './modules/shared/docs-tools-supportal.service';\n\n/**\n * This module conveniently exports the most commonly used modules.\n */\n@NgModule({\n exports: [\n SkyAuthHttpClientModule, // Supports the supportal service calls using the `svcid` param.\n SkyDocsAnatomyModule,\n SkyDocsCodeExamplesModule,\n SkyDocsDemoModule,\n SkyDocsDemoPageModule,\n SkyDocsDesignGuidelinesModule\n ],\n providers: [\n SkyDocsSupportalService\n ]\n})\nexport class SkyDocsToolsModule { }\n"],"names":["Input","Component","ChangeDetectionStrategy","ContentChildren","NgModule","CommonModule","SkyFluidGridModule","SkyImageModule","getStringForLocale","Injectable","SKY_LIB_RESOURCES_PROVIDERS","SkyI18nModule","SkyDocsCodeExampleTheme","Subject","takeUntil","SkyThemeService","Optional","SkyCodeBlockModule","SkyIconModule","SkyRepeaterModule","SkyVerticalTabsetModule","ChangeDetectorRef","BehaviorSubject","EventEmitter","merge","Output","ElementRef","SkyTheme","SkyThemeSettings","SkyThemeMode","FormsModule","SkyCheckboxModule","SkyRadioModule","SkyRestrictedViewModule","SkyThemeModule","RouterModule","Pipe","SkyCodeModule","SkyClipboardModule","SkyDefinitionListModule","SkyHelpInlineModule","SkyPopoverModule","DomSanitizer","SkyMediaBreakpoints","SkyMediaQueryService","SkyMediaQueryModule","Title","map","share","HttpClient","SkyAppWindowRef","ActivatedRoute","Router","SkyAppConfig","ContentChild","SkyTabsModule","StachePageSummaryModule","StacheWrapperModule","SkyAuthHttpClientModule"],"mappings":"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"}
1
+ {"version":3,"file":"skyux-docs-tools.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@skyux/docs-tools/modules/anatomy/anatomy-item.component.ts","ng://@skyux/docs-tools/modules/anatomy/anatomy.component.ts","ng://@skyux/docs-tools/modules/anatomy/anatomy.module.ts","ng://@skyux/docs-tools/plugin-resources/docs-tools-resources-provider.ts","ng://@skyux/docs-tools/modules/shared/docs-tools-resources.module.ts","ng://@skyux/docs-tools/modules/source-code/source-code-provider.ts","ng://@skyux/docs-tools/modules/source-code/source-code.service.ts","ng://@skyux/docs-tools/modules/source-code/source-code.module.ts","ng://@skyux/docs-tools/modules/code-examples/code-example-theme.ts","ng://@skyux/docs-tools/modules/code-examples/code-example.component.ts","ng://@skyux/docs-tools/modules/code-examples/code-examples-editor.service.ts","ng://@skyux/docs-tools/modules/code-examples/code-examples.component.ts","ng://@skyux/docs-tools/modules/code-examples/code-examples.module.ts","ng://@skyux/docs-tools/modules/demo/demo-control-panel-checkbox.component.ts","ng://@skyux/docs-tools/modules/demo/demo-control-panel-radio-group.component.ts","ng://@skyux/docs-tools/modules/demo/demo-theme.service.ts","ng://@skyux/docs-tools/modules/demo/demo-control-panel.component.ts","ng://@skyux/docs-tools/modules/demo/demo.component.ts","ng://@skyux/docs-tools/modules/demo/demo-control-panel-section.component.ts","ng://@skyux/docs-tools/modules/demo/demo-control-panel-theme.component.ts","ng://@skyux/docs-tools/modules/demo/demo.module.ts","ng://@skyux/docs-tools/modules/heading-anchor/heading-anchor.component.ts","ng://@skyux/docs-tools/modules/heading-anchor/heading-anchor.module.ts","ng://@skyux/docs-tools/modules/markdown/markdown.pipe.ts","ng://@skyux/docs-tools/modules/markdown/markdown.module.ts","ng://@skyux/docs-tools/modules/shared/docs-tools-options.ts","ng://@skyux/docs-tools/modules/module-info/module-info.component.ts","ng://@skyux/docs-tools/modules/module-info/module-info.module.ts","ng://@skyux/docs-tools/modules/safe-html/safe-html.component.ts","ng://@skyux/docs-tools/modules/safe-html/safe-html.module.ts","ng://@skyux/docs-tools/modules/type-definitions/type-definitions-provider.ts","ng://@skyux/docs-tools/modules/type-definitions/anchor-link.service.ts","ng://@skyux/docs-tools/modules/type-definitions/type-definitions-format.service.ts","ng://@skyux/docs-tools/modules/type-definitions/call-signature-definition.component.ts","ng://@skyux/docs-tools/modules/type-definitions/directive-definition.component.ts","ng://@skyux/docs-tools/modules/type-definitions/enumeration-definition.component.ts","ng://@skyux/docs-tools/modules/type-definitions/interface-definition.component.ts","ng://@skyux/docs-tools/modules/type-definitions/method-definitions.component.ts","ng://@skyux/docs-tools/modules/type-definitions/pipe-definition.component.ts","ng://@skyux/docs-tools/modules/type-definitions/property-definitions.component.ts","ng://@skyux/docs-tools/modules/type-definitions/class-definition.component.ts","ng://@skyux/docs-tools/modules/type-definitions/type-alias-definition.component.ts","ng://@skyux/docs-tools/modules/type-definitions/typedoc-adapter.service.ts","ng://@skyux/docs-tools/modules/type-definitions/type-definitions.service.ts","ng://@skyux/docs-tools/modules/type-definitions/type-anchor-links.pipe.ts","ng://@skyux/docs-tools/modules/type-definitions/type-definitions.module.ts","ng://@skyux/docs-tools/modules/demo-page/demo-page-section.component.ts","ng://@skyux/docs-tools/modules/demo-page/demo-page-summary.component.ts","ng://@skyux/docs-tools/modules/demo-page/demo-page-title.service.ts","ng://@skyux/docs-tools/modules/design-guidelines/design-guidelines.component.ts","ng://@skyux/docs-tools/modules/shared/docs-tools-supportal.service.ts","ng://@skyux/docs-tools/modules/demo-page/demo-page-dom-adapter.service.ts","ng://@skyux/docs-tools/modules/demo-page/demo-page.component.ts","ng://@skyux/docs-tools/modules/demo-page/demo-page-module-info.component.ts","ng://@skyux/docs-tools/modules/demo-page/demo-page-type-definitions.component.ts","ng://@skyux/docs-tools/modules/demo-page/demo-page.module.ts","ng://@skyux/docs-tools/modules/thumbnail/thumbnail.component.ts","ng://@skyux/docs-tools/modules/thumbnail/thumbnail.module.ts","ng://@skyux/docs-tools/modules/design-guidelines/design-guideline-thumbnail.component.ts","ng://@skyux/docs-tools/modules/design-guidelines/design-guideline.component.ts","ng://@skyux/docs-tools/modules/design-guidelines/design-guidelines.module.ts","ng://@skyux/docs-tools/docs-tools.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {\n ChangeDetectionStrategy,\n Component,\n Input\n} 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\n @Input()\n public isOptional: boolean = false;\n\n public marker: string;\n\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Input,\n QueryList\n} from '@angular/core';\n\nimport {\n SkyDocsAnatomyItemComponent\n} 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\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}\n","import {\n CommonModule\n} from '@angular/common';\n\nimport {\n NgModule\n} from '@angular/core';\n\nimport {\n SkyImageModule\n} from '@blackbaud/skyux-lib-media';\n\nimport {\n SkyFluidGridModule\n} from '@skyux/layout';\n\nimport {\n SkyDocsAnatomyComponent\n} from './anatomy.component';\n\nimport {\n SkyDocsAnatomyItemComponent\n} from './anatomy-item.component';\n\n@NgModule({\n imports: [\n CommonModule,\n SkyFluidGridModule,\n SkyImageModule\n ],\n declarations: [\n SkyDocsAnatomyComponent,\n SkyDocsAnatomyItemComponent\n ],\n exports: [\n SkyDocsAnatomyComponent,\n SkyDocsAnatomyItemComponent\n ]\n})\nexport class SkyDocsAnatomyModule { }\n","\nimport {\n Injectable\n} from '@angular/core';\n\nimport {\n getStringForLocale,\n SkyAppLocaleInfo,\n SkyLibResourcesProvider\n} from '@skyux/i18n';\n\n@Injectable()\nexport class SkyDocsToolsResourcesProvider implements SkyLibResourcesProvider {\n private resources: any = {\"EN-US\":{\"sky-docs-demo-heading\":\"Demo\",\"sky-docs-demo-toggle-button-on\":\"Show options\",\"sky-docs-demo-toggle-button-off\":\"Hide options\",\"sky-docs-code-example-launch-button-label\":\"Run in StackBlitz\",\"sky-docs-demo-control-panel-reset-button-label\":\"Reset\"}};\n\n public getString(localeInfo: SkyAppLocaleInfo, name: string): string {\n return getStringForLocale(this.resources, localeInfo.locale, name);\n }\n}\n","import {\n NgModule\n} from '@angular/core';\n\nimport {\n SkyI18nModule,\n SKY_LIB_RESOURCES_PROVIDERS\n} from '@skyux/i18n';\n\nimport {\n SkyDocsToolsResourcesProvider\n} from '../../plugin-resources/docs-tools-resources-provider';\n\n@NgModule({\n providers: [{\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyDocsToolsResourcesProvider,\n multi: true\n }],\n exports: [\n SkyI18nModule\n ]\n})\nexport class SkyDocsToolsResourcesModule { }\n","import {\n Injectable\n} from '@angular/core';\n\n@Injectable()\nexport class SkyDocsSourceCodeProvider {\n\n public readonly sourceCode: any[];\n\n}\n","import {\n Injectable\n} from '@angular/core';\n\nimport {\n SkyDocsSourceCodeFile\n} from './source-code-file';\n\nimport {\n SkyDocsSourceCodeProvider\n} from './source-code-provider';\n\n@Injectable()\nexport class SkyDocsSourceCodeService {\n\n constructor(\n private sourceCodeProvider: SkyDocsSourceCodeProvider\n ) { }\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}\n","import {\n NgModule\n} from '@angular/core';\n\nimport {\n SkyDocsSourceCodeProvider\n} from './source-code-provider';\n\nimport {\n SkyDocsSourceCodeService\n} from './source-code.service';\n\n@NgModule({\n providers: [\n SkyDocsSourceCodeProvider,\n SkyDocsSourceCodeService\n ]\n})\nexport class SkyDocsSourceCodeModule { }\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 {\n SkyThemeService\n} from '@skyux/theme';\n\nimport {\n Subject\n} from 'rxjs';\n\nimport {\n takeUntil\n} from 'rxjs/operators';\n\nimport {\n SkyDocsCodeExampleTheme\n} 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 /**\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(\n @Optional() themeSvc?: SkyThemeService\n ) {\n // Update theme property with SkyThemeService if it has not been set.\n if (!this._theme && themeSvc) {\n themeSvc.settingsChange\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\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}\n","import {\n Injectable\n} from '@angular/core';\n\nimport StackBlitzSDK from '@stackblitz/sdk';\n\nimport {\n OpenOptions as StackBlitzOpenOptions,\n Project as StackBlitzProject\n} from '@stackblitz/sdk/typings/interfaces';\n\nimport {\n SkyDocsSourceCodeFile\n} from '../source-code/source-code-file';\n\nimport {\n SkyDocsCodeExampleModuleDependencies\n} from './code-example-module-dependencies';\n\nimport {\n SkyDocsCodeExampleTheme\n} from './code-example-theme';\n\nimport {\n SkyDocsCodeExample\n} from './code-example';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyDocsCodeExamplesEditorService {\n\n public launchEditor(codeExample: SkyDocsCodeExample): void {\n const project = this.getPayload(codeExample);\n const options: StackBlitzOpenOptions = {};\n\n StackBlitzSDK.openProject(project, options);\n }\n\n private getPayload(codeExample: SkyDocsCodeExample): StackBlitzProject {\n const angularVersion = '^9.0.0';\n const skyuxVersion = '^4';\n\n const defaultDependencies: SkyDocsCodeExampleModuleDependencies = {\n '@angular/animations': angularVersion,\n '@angular/common': angularVersion,\n '@angular/compiler': 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/http': skyuxVersion,\n '@skyux/i18n': skyuxVersion,\n '@skyux/indicators': skyuxVersion,\n '@skyux/layout': skyuxVersion,\n '@skyux/modals': skyuxVersion,\n '@skyux/popovers': skyuxVersion,\n '@skyux/router': skyuxVersion,\n '@skyux/theme': skyuxVersion,\n 'core-js': '2',\n 'rxjs': '^6.0.0',\n 'rxjs-compat': '^6.0.0',\n 'tslib': '~1.14.1',\n 'zone.js': '~0.11.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\": \"4.0.0\"`\n for (const packageName in mergedDependencies) {\n if (mergedDependencies.hasOwnProperty(packageName)) {\n const version = mergedDependencies[packageName];\n if (version === '*' && /^(@blackbaud\\/skyux-lib-|@skyux)/.test(packageName)) {\n mergedDependencies[packageName] = skyuxVersion;\n }\n }\n }\n\n const files = this.parseStackBlitzFiles(\n codeExample.sourceCode,\n mergedDependencies,\n codeExample.theme\n );\n\n return {\n files,\n title: 'SKY UX Demo',\n description: 'SKY UX Demo',\n template: 'angular-cli',\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 ): {\n [path: string]: string;\n } {\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 built when using SKY UX CLI.\n * Visit https://developer.blackbaud/skyux for more information\n **/\n `;\n\n const moduleImportStatements: string[] = [\n `import {\\n Component,\\n NgModule\\n} from '@angular/core';`,\n `import {\\n FormsModule,\\n ReactiveFormsModule\\n} from '@angular/forms';`,\n `import {\\n platformBrowserDynamic\\n} from '@angular/platform-browser-dynamic';`,\n `import {\\n BrowserModule\\n} from '@angular/platform-browser';`,\n `import {\\n RouterModule\\n} from '@angular/router';`,\n `import {\\n SkyAppLocaleProvider\\n} from '@skyux/i18n';`,\n `import {\\n SkyThemeService\\n} from '@skyux/theme';`,\n `import {\\n of as observableOf\\n} from 'rxjs';`,\n `import {\\n AppComponent\\n} from './app.component';`\n ];\n\n const moduleImports: string[] = [\n 'BrowserModule',\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(exportedComponent, sourceCode);\n\n appComponentTemplate += `<${componentSelector}></${componentSelector}>`;\n\n moduleImports.push(moduleName);\n moduleImportStatements.push(`import {\\n ${moduleName}\\n} from '${importPath}';`);\n }\n });\n\n files[`${appPath}app.component.ts`] = `${banner}\nimport {\n Component,\n Renderer2\n} from '@angular/core';\n\nimport {\n SkyTheme,\n SkyThemeMode,\n SkyThemeService,\n SkyThemeSettings\n} from '@skyux/theme';\n\n@Component({\n selector: 'sky-demo-app',\n template: '${appComponentTemplate}'\n})\nexport class AppComponent {\n\n constructor(\n themeSvc: SkyThemeService,\n renderer?: Renderer2\n ) {\n const themeSettings = new SkyThemeSettings(\n SkyTheme.presets['${theme === SkyDocsCodeExampleTheme.Modern ? 'modern' : 'default'}'],\n SkyThemeMode.presets.light\n );\n\n themeSvc.init(\n document.body,\n renderer,\n themeSettings\n );\n }\n\n}`;\n\n files[`${appPath}app.module.ts`] = `${moduleImportStatements.join('\\n\\n')}\n\n@NgModule({\n imports: [\n ${moduleImports.join(',\\n ')}\n ],\n declarations: [\n AppComponent\n ],\n bootstrap: [\n AppComponent\n ],\n providers: [\n SkyThemeService,\n {\n provide: SkyAppLocaleProvider,\n useValue: {\n getLocaleInfo: () => observableOf({\n locale: 'en-US'\n })\n }\n }\n ]\n})\nexport class AppModule { }\n`;\n\n files[`${srcPath}index.html`] = `<!--\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\" />${theme === SkyDocsCodeExampleTheme.Modern ? `<link rel=\"stylesheet\" type=\"text/css\" href=\"https://sky.blackbaudcdn.net/static/skyux-icons/4.0.0-beta.2/assets/css/skyux-icons.min.css\" />` : ``}\n\n<sky-demo-app>\n Loading...\n</sky-demo-app>`;\n\n files[`${srcPath}main.ts`] = `${banner}\nimport './polyfills';\n\nimport {\n enableProdMode\n} from '@angular/core';\n\nimport {\n platformBrowserDynamic\n} from '@angular/platform-browser-dynamic';\n\nimport {\n AppModule\n} from './app/app.module';\n\nplatformBrowserDynamic().bootstrapModule(AppModule).then(ref => {\n if (window['ngRef']) {\n window['ngRef'].destroy();\n }\n\n window['ngRef'] = ref;\n}).catch(err => console.error(err));\n`;\n\n files[`${srcPath}polyfills.ts`] = `${banner}\nimport 'core-js/es6/reflect';\nimport 'core-js/es7/reflect';\nimport 'zone.js/dist/zone';\n`;\n\n files[`${srcPath}styles.scss`] = `@import '~@skyux/theme/css/sky';\n${theme === SkyDocsCodeExampleTheme.Modern ? `@import '~@skyux/theme/css/themes/modern/styles';` : ``}\nbody {\n background-color: #fff;\n margin: 15px;\n}`;\n\n files['angular.json'] = `{\n \"projects\": {\n \"demo\": {\n \"architect\": {\n \"build\": {\n \"options\": {\n \"index\": \"src/index.html\",\n \"styles\": [\n \"src/styles.scss\"\n ]\n }\n }\n }\n }\n }\n}`;\n\n files['package.json'] = JSON.stringify({\n dependencies\n }, undefined, 2);\n\n files['tsconfig.json'] = `{\n \"compilerOptions\": {\n \"target\": \"es5\",\n \"moduleResolution\": \"node\",\n \"emitDecoratorMetadata\": true,\n \"experimentalDecorators\": true,\n \"importHelpers\": true,\n \"lib\": [\n \"dom\",\n \"es6\"\n ]\n }\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(',');\n\n if (components.length > 1) {\n throw '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 return components[0];\n }\n\n private getComponentSelector(\n componentClassName: string,\n sourceCode: SkyDocsSourceCodeFile[]\n ): string {\n\n const found = sourceCode.find((file) => {\n return (file.rawContents.indexOf(componentClassName) > -1);\n });\n\n const trimmed = found.rawContents.replace(/\\s/g, '');\n\n return trimmed.split(`selector:'`)[1].split(`'`)[0];\n }\n\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Input,\n QueryList\n} from '@angular/core';\n\nimport {\n SkyDocsSourceCodeService\n} from '../source-code/source-code.service';\n\nimport {\n SkyDocsCodeExamplesEditorService\n} from './code-examples-editor.service';\n\nimport {\n SkyDocsCodeExampleComponent\n} from './code-example.component';\n\nimport {\n SkyDocsCodeExampleModuleDependencies\n} from './code-example-module-dependencies';\n\nimport {\n SkyDocsCodeExample\n} 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 /**\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 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\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(`Source code not found at location \"${sourceCodePath}\" for \"${component.heading}\"!`);\n return;\n }\n\n this.codeExamples.push({\n heading: component.heading,\n packageDependencies: this.packageDependencies,\n sourceCode,\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","import {\n CommonModule\n} from '@angular/common';\n\nimport {\n NgModule\n} from '@angular/core';\n\nimport {\n SkyCodeBlockModule\n} from '@blackbaud/skyux-lib-code-block';\n\nimport {\n SkyIconModule\n} from '@skyux/indicators';\n\nimport {\n SkyRepeaterModule\n} from '@skyux/lists';\n\nimport {\n SkyVerticalTabsetModule\n} from '@skyux/tabs';\n\nimport {\n SkyDocsToolsResourcesModule\n} from '../shared/docs-tools-resources.module';\n\nimport {\n SkyDocsSourceCodeModule\n} from '../source-code/source-code.module';\n\nimport {\n SkyDocsCodeExampleComponent\n} from './code-example.component';\n\nimport {\n SkyDocsCodeExamplesComponent\n} from './code-examples.component';\n\nimport {\n SkyDocsCodeExamplesEditorService\n} from './code-examples-editor.service';\n\n@NgModule({\n imports: [\n CommonModule,\n SkyCodeBlockModule,\n SkyDocsSourceCodeModule,\n SkyDocsToolsResourcesModule,\n SkyIconModule,\n SkyRepeaterModule,\n SkyVerticalTabsetModule\n ],\n declarations: [\n SkyDocsCodeExampleComponent,\n SkyDocsCodeExamplesComponent\n ],\n exports: [\n SkyDocsCodeExampleComponent,\n SkyDocsCodeExamplesComponent\n ],\n providers: [\n SkyDocsCodeExamplesEditorService\n ]\n})\nexport class SkyDocsCodeExamplesModule { }\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnDestroy,\n OnInit\n} from '@angular/core';\n\nimport {\n Subject\n} from 'rxjs';\n\nimport {\n SkyDocsDemoControlPanelChange\n} 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 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 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 Subject<SkyDocsDemoControlPanelChange>();\n\n private initialState: {\n checked?: boolean;\n } = {};\n\n private _checked: boolean;\n\n constructor(\n private changeDetector: ChangeDetectorRef\n ) { }\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}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnInit,\n OnDestroy\n} from '@angular/core';\n\nimport {\n Subject\n} from 'rxjs';\n\nimport {\n SkyDocsDemoControlPanelChange\n} from './demo-control-panel-change';\n\nimport {\n SkyDocsDemoControlPanelRadioChoice\n} 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 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 Subject<SkyDocsDemoControlPanelChange>();\n\n /**\n * @internal\n */\n public value: any;\n\n constructor(\n private changeDetector: ChangeDetectorRef\n ) { }\n\n public ngOnInit(): void {\n this.value = this.cloneValue(this.initialValue);\n }\n\n public ngOnDestroy(): void {\n this.selectionChange.complete();\n }\n\n public onModelChange(value: any): void {\n this.value = value;\n this.selectionChange.next({\n [this.propertyName]: this.value\n });\n }\n\n public resetValue(): void {\n this.value = this.cloneValue(this.initialValue);\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}\n","import {\n Injectable\n} from '@angular/core';\n\nimport {\n BehaviorSubject\n} from 'rxjs';\n\nimport {\n SkyThemeSettings\n} from '@skyux/theme';\n\n@Injectable()\nexport class SkyDocsDemoThemeService {\n\n public readonly supportsTheming = new BehaviorSubject<boolean>(false);\n\n public readonly themeSettings = new BehaviorSubject<SkyThemeSettings>(undefined);\n\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n OnDestroy,\n Output,\n QueryList\n} from '@angular/core';\n\nimport {\n merge,\n Subject,\n Subscription\n} from 'rxjs';\n\nimport {\n takeUntil\n} from 'rxjs/operators';\n\nimport {\n SkyThemeSettings\n} from '@skyux/theme';\n\nimport {\n SkyDocsDemoControlPanelCheckboxComponent\n} from './demo-control-panel-checkbox.component';\n\nimport {\n SkyDocsDemoControlPanelRadioGroupComponent\n} from './demo-control-panel-radio-group.component';\n\nimport {\n SkyDocsDemoControlPanelChange\n} from './demo-control-panel-change';\n\nimport {\n SkyDocsDemoThemeService\n} from './demo-theme.service';\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 implements OnDestroy, AfterContentInit {\n\n /**\n * Fires when the user clicks the reset button.\n */\n @Output()\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, { descendants: true })\n private radioGroups: QueryList<SkyDocsDemoControlPanelRadioGroupComponent>;\n\n @ContentChildren(SkyDocsDemoControlPanelCheckboxComponent, { descendants: true })\n private checkboxes: QueryList<SkyDocsDemoControlPanelCheckboxComponent>;\n\n private eventListeners: Subscription;\n private ngUnsubscribe = new Subject<boolean>();\n\n constructor(public demoThemeSvc: SkyDocsDemoThemeService) { }\n\n public ngAfterContentInit(): void {\n this.addEventListeners();\n\n merge(\n this.checkboxes.changes,\n this.radioGroups.changes\n )\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\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 public onThemeSettingsChange(themeSettings: SkyThemeSettings): void {\n this.demoThemeSvc.themeSettings.next(themeSettings);\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(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe((change) => {\n this.selectionChange.next(change);\n });\n }\n\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n Input,\n QueryList\n} from '@angular/core';\n\nimport {\n SkyThemeSettings\n} from '@skyux/theme';\n\nimport {\n SkyDocsDemoContentAlignment\n} from './demo-content-alignment';\n\nimport {\n SkyDocsDemoControlPanelComponent\n} from './demo-control-panel.component';\n\nimport {\n SkyDocsDemoThemeService\n} from './demo-theme.service';\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 providers: [SkyDocsDemoThemeService],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SkyDocsDemoComponent {\n\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 @Input()\n public set supportsTheming(value: boolean) {\n this.demoThemeSvc.supportsTheming.next(value);\n }\n\n public themeSettings: SkyThemeSettings;\n\n public get hasOptions(): boolean {\n return this.supportsTheming || (this.controlPanels && this.controlPanels.length > 0);\n }\n\n @ContentChildren(SkyDocsDemoControlPanelComponent, { read: ElementRef })\n private controlPanels: QueryList<SkyDocsDemoControlPanelComponent>;\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 constructor(public demoThemeSvc: SkyDocsDemoThemeService) { }\n\n public onToggleOptionsButtonClick(): void {\n this.areOptionsVisible = !this.areOptionsVisible;\n }\n\n}\n","import {\n ChangeDetectionStrategy,\n Component\n} 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","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n OnDestroy,\n OnInit,\n Optional,\n Output\n} from '@angular/core';\n\nimport {\n SkyTheme,\n SkyThemeMode,\n SkyThemeService,\n SkyThemeSettings\n} from '@skyux/theme';\n\nimport {\n Subject\n} from 'rxjs';\n\nimport {\n takeUntil\n} from 'rxjs/operators';\n\n@Component({\n selector: 'sky-docs-demo-control-panel-theme',\n templateUrl: './demo-control-panel-theme.component.html',\n styleUrls: ['./demo-control-panel-theme.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SkyDocsDemoControlPanelThemeComponent implements OnDestroy, OnInit {\n\n @Output()\n public themeSettingsChange = new EventEmitter<SkyThemeSettings>();\n\n public get mode(): string {\n return this._mode;\n }\n\n public set mode(value: string) {\n this._mode = value;\n this.updateTheme();\n }\n\n public get theme(): string {\n return this._theme;\n }\n\n public set theme(value: string) {\n this._theme = value;\n this.updateModesForTheme();\n this.updateTheme();\n }\n\n public themeOptions: {\n label: string,\n value: string\n }[];\n\n public modeOptions: {\n label: string,\n value: string\n }[];\n\n private ngUnsubscribe = new Subject<void>();\n\n private _mode = 'light';\n\n private _theme = 'default';\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n @Optional() private themeSvc?: SkyThemeService\n ) {\n // Update theme property with SkyThemeService if it has not been set.\n if (this.themeSvc) {\n this.themeSvc.settingsChange\n .pipe(\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(change => {\n if (change.currentSettings.theme.name !== this.theme) {\n this.theme = change.currentSettings.theme.name;\n }\n\n if (change.currentSettings.mode.name !== this.mode) {\n this.mode = change.currentSettings.mode.name;\n }\n this.changeDetector.markForCheck();\n });\n }\n }\n\n public ngOnInit(): void {\n this.themeOptions = Object.keys(SkyTheme.presets).map(\n key => this.createRadioItem(key)\n );\n\n this.updateModesForTheme();\n this.updateTheme();\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n private updateModesForTheme(): void {\n let selectedTheme = this.getThemeByName(this.theme);\n\n this.modeOptions = selectedTheme.supportedModes\n .map(\n supportedMode => this.createRadioItem(supportedMode.name)\n );\n\n if (!this.modeOptions.some((item) => item.value === this.mode)) {\n this.mode = this.modeOptions[0].value;\n }\n }\n\n private createRadioItem(name: string): { label: string, value: string } {\n return {\n label: this.capitalize(name),\n value: name\n };\n }\n\n private capitalize(name: string): string {\n return name.charAt(0).toUpperCase() + name.substr(1);\n }\n\n private getThemeSettings(): SkyThemeSettings {\n return new SkyThemeSettings(\n this.getThemeByName(this.theme),\n this.getModeByName(this.mode)\n );\n }\n\n private getThemeByName(name: string): SkyTheme {\n const themePresets = SkyTheme.presets as {\n [key: string]: SkyTheme\n };\n\n return themePresets[name];\n }\n\n private getModeByName(name: string): SkyThemeMode {\n const modePresets = SkyThemeMode.presets as {\n [key: string]: SkyThemeMode\n };\n\n return modePresets[name];\n }\n\n private updateTheme(): void {\n this.themeSettingsChange.emit(this.getThemeSettings());\n }\n}\n","import {\n CommonModule\n} from '@angular/common';\n\nimport {\n NgModule\n} from '@angular/core';\n\nimport {\n FormsModule\n} from '@angular/forms';\n\nimport {\n SkyCheckboxModule,\n SkyRadioModule\n} from '@skyux/forms';\n\nimport {\n SkyIconModule\n} from '@skyux/indicators';\n\nimport {\n SkyThemeModule\n} from '@skyux/theme';\n\nimport {\n SkyRestrictedViewModule\n} from '@blackbaud/skyux-lib-restricted-view';\n\nimport {\n SkyDocsToolsResourcesModule\n} from '../shared/docs-tools-resources.module';\n\nimport {\n SkyDocsDemoComponent\n} from './demo.component';\n\nimport {\n SkyDocsDemoControlPanelCheckboxComponent\n} from './demo-control-panel-checkbox.component';\n\nimport {\n SkyDocsDemoControlPanelComponent\n} from './demo-control-panel.component';\n\nimport {\n SkyDocsDemoControlPanelRadioGroupComponent\n} from './demo-control-panel-radio-group.component';\n\nimport {\n SkyDocsDemoControlPanelSectionComponent\n} from './demo-control-panel-section.component';\n\nimport {\n SkyDocsDemoControlPanelThemeComponent\n} from './demo-control-panel-theme.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n SkyCheckboxModule,\n SkyDocsToolsResourcesModule,\n SkyIconModule,\n SkyRadioModule,\n SkyRestrictedViewModule,\n SkyThemeModule\n ],\n declarations: [\n SkyDocsDemoComponent,\n SkyDocsDemoControlPanelCheckboxComponent,\n SkyDocsDemoControlPanelComponent,\n SkyDocsDemoControlPanelRadioGroupComponent,\n SkyDocsDemoControlPanelSectionComponent,\n SkyDocsDemoControlPanelThemeComponent\n ],\n exports: [\n SkyDocsDemoComponent,\n SkyDocsDemoControlPanelCheckboxComponent,\n SkyDocsDemoControlPanelComponent,\n SkyDocsDemoControlPanelRadioGroupComponent,\n SkyDocsDemoControlPanelSectionComponent,\n SkyDocsDemoControlPanelThemeComponent\n ]\n})\nexport class SkyDocsDemoModule { }\n","import {\n ChangeDetectionStrategy,\n Component,\n Input\n} 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\n @Input()\n public anchorId: string;\n\n @Input()\n public headingLevel = '2';\n\n}\n","import {\n CommonModule\n} from '@angular/common';\n\nimport {\n NgModule\n} from '@angular/core';\n\nimport {\n RouterModule\n} from '@angular/router';\n\nimport {\n SkyIconModule\n} from '@skyux/indicators';\n\nimport {\n SkyDocsHeadingAnchorComponent\n} from './heading-anchor.component';\n\n@NgModule({\n declarations: [\n SkyDocsHeadingAnchorComponent\n ],\n imports: [\n CommonModule,\n RouterModule,\n SkyIconModule\n ],\n exports: [\n SkyDocsHeadingAnchorComponent\n ]\n})\nexport class SkyDocsHeadingAnchorModule { }\n","import {\n Pipe,\n PipeTransform\n} from '@angular/core';\n\nimport marked from 'marked';\n\n@Pipe({\n name: 'skyDocsMarkdown'\n})\nexport class SkyDocsMarkdownPipe implements PipeTransform {\n\n public transform(markdown: string): string {\n if (!markdown) {\n return '';\n }\n\n return marked(markdown);\n }\n\n}\n","import {\n NgModule\n} from '@angular/core';\n\nimport {\n SkyDocsMarkdownPipe\n} from './markdown.pipe';\n\n@NgModule({\n declarations: [\n SkyDocsMarkdownPipe\n ],\n providers: [\n SkyDocsMarkdownPipe\n ],\n exports: [\n SkyDocsMarkdownPipe\n ]\n})\nexport class SkyDocsMarkdownModule { }\n","export class SkyDocsToolsOptions {\n\n public gitRepoUrl: string;\n\n public packageName: string;\n\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n Optional\n} from '@angular/core';\n\nimport {\n SkyDocsToolsOptions\n} from '../shared/docs-tools-options';\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\n @Input()\n public set gitRepoUrl(value: string) {\n this._gitRepoUrl = value;\n }\n\n public get gitRepoUrl() {\n return this._gitRepoUrl || this.options && this.options.gitRepoUrl;\n }\n\n @Input()\n public moduleName: string;\n\n @Input()\n public set packageName(value: string) {\n this._packageName = value;\n }\n\n public get packageName() {\n return this._packageName || this.options && this.options.packageName;\n }\n\n @Input()\n public set packageUrl(value: string) {\n this._packageUrl = value;\n }\n\n public get packageUrl() {\n if (this._packageUrl) {\n return this._packageUrl;\n }\n\n if (this.packageName) {\n return `https://npmjs.org/package/${this.packageName}`;\n }\n\n return '';\n }\n\n public get externalLinks(): { label: string; url: string; }[] {\n const externalLinks: { label: string; url: string; }[] = [];\n\n if (this.packageName) {\n externalLinks.push({\n url: this.packageUrl,\n label: 'View in NPM'\n });\n }\n\n if (this.gitRepoUrl) {\n externalLinks.push({\n url: this.gitRepoUrl,\n label: 'View in GitHub'\n });\n }\n\n return externalLinks;\n }\n\n public get installationCommand(): string {\n if (!this.packageName) {\n return '';\n }\n\n return `npm install --save-exact ${this.packageName}`;\n }\n\n private _gitRepoUrl: string;\n\n private _packageName: string;\n\n private _packageUrl: string;\n\n constructor(\n @Optional() private options?: SkyDocsToolsOptions\n ) { }\n}\n","import {\n CommonModule\n} from '@angular/common';\n\nimport {\n NgModule\n} from '@angular/core';\n\nimport {\n SkyClipboardModule\n} from '@blackbaud/skyux-lib-clipboard';\n\nimport {\n SkyCodeModule\n} from '@blackbaud/skyux-lib-code-block';\n\nimport {\n SkyHelpInlineModule\n} from '@skyux/indicators';\n\nimport {\n SkyDefinitionListModule\n} from '@skyux/layout';\n\nimport {\n SkyPopoverModule\n} from '@skyux/popovers';\n\nimport {\n SkyDocsModuleInfoComponent\n} from './module-info.component';\n\n@NgModule({\n imports: [\n CommonModule,\n SkyCodeModule,\n SkyClipboardModule,\n SkyDefinitionListModule,\n SkyHelpInlineModule,\n SkyPopoverModule\n ],\n declarations: [\n SkyDocsModuleInfoComponent\n ],\n exports: [\n SkyDocsModuleInfoComponent\n ]\n})\nexport class SkyDocsModuleInfoModule { }\n","import {\n ChangeDetectionStrategy,\n Component,\n Input\n} from '@angular/core';\n\nimport {\n DomSanitizer,\n SafeHtml\n} 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\n @Input()\n public innerHtml: string;\n\n constructor(\n private domSanitizer: DomSanitizer\n ) { }\n\n public getTrustedHtml(content: string): SafeHtml {\n return this.domSanitizer.bypassSecurityTrustHtml(content);\n }\n\n}\n","import {\n CommonModule\n} from '@angular/common';\n\nimport {\n NgModule\n} from '@angular/core';\n\nimport {\n SkyDocsSafeHtmlComponent\n} from './safe-html.component';\n\n@NgModule({\n declarations: [\n SkyDocsSafeHtmlComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n SkyDocsSafeHtmlComponent\n ]\n})\nexport class SkyDocsSafeHtmlModule { }\n","import {\n Injectable\n} from '@angular/core';\n\nimport {\n TypeDocEntry\n} from './typedoc-types';\n\n@Injectable()\nexport class SkyDocsTypeDefinitionsProvider {\n\n public readonly anchorIds: {[_: string]: string};\n\n public readonly typeDefinitions: TypeDocEntry[];\n\n}\n","import {\n Injectable\n} from '@angular/core';\n\nimport {\n SkyDocsAnchorLinkConfig\n} from './anchor-link-service-config';\n\nimport {\n SkyDocsTypeDefinitionsProvider\n} 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(`(^|[^a-zA-Z0-9>.[/])(${keyword})(\\\\.\\\\w+)?(?=[^a-zA-Z0-9<]+|$)`, 'g');\n}\n\n@Injectable()\nexport class SkyDocsAnchorLinkService {\n\n private anchorIds: {[_: string]: string};\n\n constructor(\n typeDefinitionsProvider: SkyDocsTypeDefinitionsProvider\n ) {\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(content: string, config?: SkyDocsAnchorLinkConfig): 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 = '<a class=\"sky-docs-anchor-link\" href=\"#' + anchorId + '\">' + typeName + '</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 = matches[0].substr(0, typeName.length) === typeName;\n const startIndex = isMatchExact ? matches.index : matches.index + 1;\n const endIndex = isMatchExact ? matches[0].length : matches[0].length - 1;\n let contentWithCodeTags = content.substr(0, startIndex) + replacement + 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}\n","import {\n Injectable\n} from '@angular/core';\n\nimport {\n SkyDocsCallSignatureDefinition\n} from './call-signature-definition';\n\nimport {\n SkyDocsClassPropertyDefinition\n} from './property-definition';\n\nimport {\n SkyDocsInterfaceDefinition\n} from './interface-definition';\n\nimport {\n SkyDocsClassMethodDefinition\n} from './method-definition';\n\nimport {\n SkyDocsParameterDefinition\n} from './parameter-definition';\n\nimport {\n SkyDocsTypeAliasDefinition\n} from './type-alias-definition';\n\nimport {\n SkyDocsTypeDefinition\n} from './type-definition';\n\nimport {\n SkyDocsTypeParameterDefinition\n} from './type-parameter-definition';\n\nimport {\n SkyDocsInterfacePropertyDefinition\n} from './interface-property-definition';\n\ninterface GetFormattedTypeConfig {\n escapeSpecialCharacters: boolean;\n}\n\n/**\n * Formats type definitions into HTML-compatible strings.\n */\n@Injectable()\nexport class SkyDocsTypeDefinitionsFormatService {\n\n /**\n * Returns an HTML-formatted representation of the provided interface config.\n */\n public getInterfaceSourceCode(definition: SkyDocsInterfaceDefinition): string {\n const typeParameters = this.getFormattedTypeParameters(definition.typeParameters);\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(definition.type, config);\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.name}${typeArguments}(${params}): ${returnType}`;\n }\n\n /**\n * Returns an HTML-formatted representation of the provided type alias config.\n */\n public getTypeAliasSourceCode(definition: SkyDocsTypeAliasDefinition): string {\n const config = {\n escapeSpecialCharacters: false\n };\n\n const typeParameters = this.getFormattedTypeParameters(definition.typeParameters);\n\n let signature = `type ${definition.name}${typeParameters} = `;\n\n if (definition.type.callSignature) {\n signature += this.getFormattedCallSignature(definition.type.callSignature, {\n escapeSpecialCharacters: false\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(property: SkyDocsClassPropertyDefinition): 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(indexSignature.key.type)}]`;\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 (property.isOptional && !indexSignature) {\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(definition: SkyDocsClassMethodDefinition): string {\n let formatted = '';\n\n if (definition.deprecationWarning !== undefined) {\n formatted += `<strike>${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 return this.getFormattedCallSignature(type.callSignature, config);\n }\n\n if (type.unionTypes) {\n return this.getFormattedUnion(type, config);\n }\n\n if (type.name) {\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.typeLiteral) {\n const formattedTypeLiteral = this.getFormattedInterfaceProperties(type.typeLiteral, config)\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 escapeSpecialCharacters: true\n }\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(typeConfig: SkyDocsTypeDefinition, config: GetFormattedTypeConfig): string {\n return typeConfig.unionTypes.map(t => {\n return this.getFormattedType(t, config);\n }).join(' | ');\n }\n\n /**\n * Parse any type arguments e.g. `<T, F>`.\n */\n private getFormattedTypeArguments(typeConfig: SkyDocsTypeDefinition, config: GetFormattedTypeConfig): 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(typeParameters: SkyDocsTypeParameterDefinition[]): 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 = (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}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input\n} from '@angular/core';\n\nimport {\n SkyDocsCallSignatureDefinition\n} from './call-signature-definition';\n\nimport {\n SkyDocsTypeDefinitionsFormatService\n} 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\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(\n private formatService: SkyDocsTypeDefinitionsFormatService\n ) { }\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(this.config?.returnType);\n }\n\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input\n} from '@angular/core';\n\nimport {\n SkyDocsDirectiveDefinition\n} 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\n @Input()\n public config: SkyDocsDirectiveDefinition;\n\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input\n} from '@angular/core';\n\nimport {\n SkyDocsEnumerationDefinition\n} 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\n @Input()\n public config: SkyDocsEnumerationDefinition;\n\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input\n} from '@angular/core';\n\nimport {\n SkyDocsInterfaceDefinition\n} from './interface-definition';\n\nimport {\n SkyDocsTypeDefinitionsFormatService\n} 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\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(\n private formatService: SkyDocsTypeDefinitionsFormatService\n ) { }\n\n private updateView(): void {\n this.sourceCode = (this.config) ? this.formatService.getInterfaceSourceCode(this.config) : undefined;\n }\n\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnInit\n} from '@angular/core';\n\nimport {\n SkyMediaBreakpoints,\n SkyMediaQueryService\n} from '@skyux/core';\n\nimport {\n SkyDocsCallSignatureDefinition\n} from './call-signature-definition';\n\nimport {\n SkyDocsClassMethodDefinition\n} from './method-definition';\n\nimport {\n SkyDocsTypeDefinitionsFormatService\n} 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}\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\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 private _config: {\n methods?: SkyDocsClassMethodDefinition[];\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.methods = this.config?.methods?.map(method => {\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 };\n\n return vm;\n });\n }\n\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input\n} from '@angular/core';\n\nimport {\n SkyDocsPipeDefinition\n} 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\n @Input()\n public config: SkyDocsPipeDefinition;\n\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnInit\n} from '@angular/core';\n\nimport {\n SkyMediaBreakpoints,\n SkyMediaQueryService\n} from '@skyux/core';\n\nimport {\n SkyDocsCallSignatureDefinition\n} from './call-signature-definition';\n\nimport {\n SkyDocsClassPropertyDefinition\n} from './property-definition';\n\nimport {\n SkyDocsTypeDefinitionsFormatService\n} from './type-definitions-format.service';\n\ninterface PropertyViewModel {\n callSignature: SkyDocsCallSignatureDefinition;\n defaultValue: string;\n deprecationWarning: string;\n description: string;\n formattedName: string;\n isOptional: 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\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(property.defaultValue || ''),\n deprecationWarning: property.deprecationWarning,\n description: property.description,\n formattedName: this.formatService.getFormattedPropertyName(property),\n isOptional: property.isOptional\n };\n\n return vm;\n });\n }\n\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input\n} from '@angular/core';\n\nimport {\n SkyDocsClassDefinition\n} 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\n @Input()\n public config: SkyDocsClassDefinition;\n\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input\n} from '@angular/core';\n\nimport {\n SkyDocsTypeAliasDefinition\n} from './type-alias-definition';\n\nimport {\n SkyDocsTypeDefinitionsFormatService\n} 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\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(\n private formatService: SkyDocsTypeDefinitionsFormatService\n ) { }\n\n private updateView(): void {\n this.sourceCode = (this.config) ? this.formatService.getTypeAliasSourceCode(this.config) : undefined;\n }\n\n}\n","import {\n Injectable,\n Optional\n} from '@angular/core';\n\nimport {\n SkyDocsCallSignatureDefinition\n} from './call-signature-definition';\n\nimport {\n SkyDocsClassDefinition\n} from './class-definition';\n\nimport {\n SkyDocsClassPropertyDefinition\n} from './property-definition';\n\nimport {\n SkyDocsCommentTags\n} from './comment-tags';\n\nimport {\n SkyDocsDirectiveDefinition\n} from './directive-definition';\n\nimport {\n SkyDocsEnumerationDefinition\n} from './enumeration-definition';\n\nimport {\n SkyDocsEnumerationMemberDefinition\n} from './enumeration-member-definition';\n\nimport {\n SkyDocsIndexSignatureDefinition\n} from './index-signature-definition';\n\nimport {\n SkyDocsInterfaceDefinition\n} from './interface-definition';\n\nimport {\n SkyDocsInterfacePropertyDefinition\n} from './interface-property-definition';\n\nimport {\n SkyDocsClassMethodDefinition\n} from './method-definition';\n\nimport {\n SkyDocsParameterDefinition\n} from './parameter-definition';\n\nimport {\n SkyDocsPipeDefinition\n} from './pipe-definition';\n\nimport {\n SkyDocsPropertyDecoratorDefinition\n} from './property-decorator';\n\nimport {\n SkyDocsTypeAliasDefinition\n} from './type-alias-definition';\n\nimport {\n SkyDocsTypeDefinition\n} from './type-definition';\n\nimport {\n SkyDocsTypeDefinitionsProvider\n} from './type-definitions-provider';\n\nimport {\n SkyDocsTypeParameterDefinition\n} from './type-parameter-definition';\n\nimport {\n TypeDocComment,\n TypeDocEntry,\n TypeDocEntryChild,\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()\nexport class SkyDocsTypeDocAdapterService {\n\n constructor(\n @Optional() 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 };\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 return definition;\n }\n\n public toDirectiveDefinition(entry: TypeDocEntry): SkyDocsDirectiveDefinition {\n const definition: SkyDocsDirectiveDefinition = {\n anchorId: this.getAnchorId(entry),\n name: entry.name,\n selector: this.getSelector(entry)\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(p => p.decorator?.name === 'Output');\n if (eventProperties.length) {\n definition.eventProperties = eventProperties;\n }\n\n const inputProperties = properties.filter(p => p.decorator?.name === 'Input');\n if (inputProperties.length) {\n definition.inputProperties = inputProperties;\n }\n\n return definition;\n }\n\n public toEnumerationDefinition(entry: TypeDocEntry): SkyDocsEnumerationDefinition {\n const members = this.getEnumerationMembers(entry);\n const definition: SkyDocsEnumerationDefinition = {\n anchorId: this.getAnchorId(entry),\n members,\n name: entry.name\n };\n\n const tags = this.getCommentTags(entry.comment);\n this.applyCommentTagValues(definition, tags);\n\n return definition;\n }\n\n public toInterfaceDefinition(entry: TypeDocEntry): SkyDocsInterfaceDefinition {\n const properties = this.getInterfaceProperties(entry);\n const definition: SkyDocsInterfaceDefinition = {\n anchorId: this.getAnchorId(entry),\n name: entry.name,\n properties\n };\n\n const tags = this.getCommentTags(entry.comment);\n this.applyCommentTagValues(definition, tags);\n\n const typeParameters = this.getTypeParameterDefinitions(entry.typeParameter);\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(entry: TypeDocEntry): SkyDocsTypeAliasDefinition {\n const definition: SkyDocsTypeAliasDefinition = {\n anchorId: this.getAnchorId(entry),\n name: entry.name,\n type: this.getTypeDefinition({\n comment: entry.comment,\n type: entry.type\n })\n };\n\n const tags = this.getCommentTags(entry.comment);\n this.applyCommentTagValues(definition, tags);\n\n const typeParameters = this.getTypeParameterDefinitions(entry.typeParameter);\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.split('selector: `')[1].split('`')[0].replace(/\\s\\s+/g, ' ')\n : decoratorSource.split('selector: \\'')[1].split('\\'')[0];\n }\n\n private getClassProperties(entry: TypeDocEntry): SkyDocsClassPropertyDefinition[] {\n if (!entry.children) {\n return [];\n }\n\n const definitions = entry.children\n .filter(child => child.kindString === 'Property' || child.kindString === 'Accessor')\n .map(child => {\n const tags = this.getCommentTags(child.comment);\n const definition: SkyDocsClassPropertyDefinition = {\n isOptional: !tags.extras.required,\n name: this.getPropertyName(child),\n type: this.getTypeDefinition(child)\n };\n\n this.applyCommentTagValues(definition, tags);\n\n const decorator = this.getDecorator(child);\n if (decorator) {\n definition.decorator = decorator;\n }\n\n const defaultValue = this.getDefaultValue(child, tags);\n if (defaultValue) {\n definition.defaultValue = defaultValue;\n }\n\n return definition;\n });\n\n return orderBy(\n definitions,\n ['isOptional', 'name'],\n ['asc', 'asc']\n );\n }\n\n private getClassMethods(entry: TypeDocEntry): SkyDocsClassMethodDefinition[] {\n if (!entry.children) {\n return [];\n }\n\n const methods = entry.children\n .filter(child => child.kindString === 'Method' && /^ng/.test(child.name) === false)\n .map(child => {\n const definition: SkyDocsClassMethodDefinition = {\n name: this.getPropertyName(child),\n type: this.getTypeDefinition(child)\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(child.signatures[0].typeParameter);\n if (typeParameters.length) {\n definition.typeParameters = typeParameters;\n }\n\n return definition;\n });\n\n return orderBy(\n methods,\n ['name'],\n ['asc']\n );\n }\n\n private getInterfaceProperties(entry: TypeDocEntry): SkyDocsInterfacePropertyDefinition[] {\n if (!entry.children && !entry.indexSignature) {\n return [];\n }\n\n const definitions = entry.children?.map(child => {\n const tags = this.getCommentTags(child.comment);\n const definition: SkyDocsInterfacePropertyDefinition = {\n isOptional: (tags.extras.required) ? false : !!(child.flags?.isOptional),\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(\n definitions,\n ['isOptional', 'name'],\n ['asc', 'asc']\n );\n\n // Add any index signatures, e.g. `[_: string]: any`\n if (entry.indexSignature) {\n const indexSignature = entry.indexSignature[0];\n const definition: SkyDocsInterfacePropertyDefinition = {\n isOptional: true,\n name: indexSignature.name,\n type: {\n indexSignature: this.getIndexSignatureDefinition(indexSignature)\n }\n };\n\n const tags = this.getCommentTags(indexSignature.comment);\n this.applyCommentTagValues(definition, tags);\n sorted.push(definition);\n }\n\n return sorted;\n }\n\n private getEnumerationMembers(entry: TypeDocEntry): SkyDocsEnumerationMemberDefinition[] {\n if (!entry.children) {\n return [];\n }\n\n return entry.children.map(child => {\n const definition: SkyDocsEnumerationMemberDefinition = {\n name: child.name\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 kindString = child.kindString;\n switch (kindString) {\n case 'Accessor':\n if (child.setSignature) {\n return this.getTypeDefinition(child.setSignature[0].parameters[0]);\n }\n return this.getTypeDefinition(child.getSignature[0]);\n\n case 'Method':\n definition = {\n callSignature: this.getCallSignatureDefinition(child.signatures[0], this.getCommentTags(child.comment)),\n name: child.signatures[0].name\n };\n\n return definition;\n\n default:\n let name: string = 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 => this.getTypeDefinition({ type: t }));\n }\n\n // Convert reflection types.\n if (child.type.type === 'reflection') {\n const declaration = 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[0];\n definition.indexSignature = this.getIndexSignatureDefinition(indexSignature);\n } else if (declaration.children) {\n definition.typeLiteral = {\n properties: this.getInterfaceProperties({\n children: declaration.children\n })\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(child.type);\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[] = 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(typeConfig: TypeDocType): 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(callSignature: TypeDocSignature, tags: SkyDocsCommentTags): 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(signature: TypeDocSignature): 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(typeParameters: TypeDocTypeParameter[]): 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.tags) {\n comment.tags.forEach(tag => {\n switch (tag.tag) {\n case 'deprecated':\n deprecationWarning = tag.text.trim();\n break;\n\n case 'default':\n case 'defaultValue':\n defaultValue = tag.text.trim();\n break;\n\n case 'example':\n codeExample = tag.text.trim().split('```')[1].trim();\n const language = codeExample.split('\\n')[0];\n if (language === 'markup' || language === 'typescript') {\n codeExample = codeExample.slice(language.length).trim();\n codeExampleLanguage = language;\n }\n break;\n\n case 'param':\n parameters = parameters || [];\n parameters.push({\n name: tag.param,\n description: tag.text.trim()\n });\n break;\n\n default:\n extras[tag.tag] = tag.text;\n break;\n }\n });\n }\n\n description = (comment.shortText || comment.text || '').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(parameter: TypeDocParameter, parentTags: SkyDocsCommentTags): SkyDocsCommentTags {\n const tags = this.getCommentTags(parameter.comment);\n const paramTags = parentTags.parameters;\n const tagParam = (paramTags) ? paramTags.find((param) => param.name === parameter.name) : 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 },\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\n private getDecorator(child: TypeDocEntryChild): SkyDocsPropertyDecoratorDefinition {\n const name = 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(child: TypeDocEntryChild, tags: SkyDocsCommentTags): 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 entry.anchorId || this.typeDefinitionsProvider?.anchorIds[entry.name] || '';\n }\n\n}\n","import {\n Injectable\n} from '@angular/core';\n\nimport {\n SkyDocsTypeDefinitions\n} from './type-definitions';\n\nimport {\n SkyDocsTypeDefinitionsProvider\n} from './type-definitions-provider';\n\nimport {\n SkyDocsTypeDocAdapterService\n} from './typedoc-adapter.service';\n\n/**\n * Handles all type definitions that have been converted from the third-party documentation generator.\n */\n@Injectable()\nexport class SkyDocsTypeDefinitionsService {\n\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(sourceCodePath: string): SkyDocsTypeDefinitions {\n\n if (sourceCodePath.charAt(sourceCodePath.length - 1) !== '/') {\n throw new Error('The source code path must end with a forward slash (`/`).');\n }\n\n const allDefinitions = this.typeDefinitionsProvider.typeDefinitions;\n const requestedDir = sourceCodePath\n .replace(/src\\/app\\/public\\//, '')\n .replace(/^\\//, ''); // remove first slash.\n\n const types: SkyDocsTypeDefinitions = {\n classes: [],\n components: [],\n directives: [],\n enumerations: [],\n interfaces: [],\n pipes: [],\n services: [],\n typeAliases: []\n };\n\n if (!allDefinitions) {\n console.warn(`No types were found for this project!`);\n return types;\n }\n\n // Only process types that match the requested source code location.\n const typeDefinitions = allDefinitions.filter((i) => i.sources[0].fileName.match(requestedDir));\n if (typeDefinitions.length === 0) {\n console.warn(`Type definitions were not found for location: ${requestedDir}`);\n }\n\n typeDefinitions.forEach((item) => {\n const decorator = item.decorators && item.decorators[0].name;\n const kindString = item.kindString;\n\n switch (decorator) {\n case 'Component':\n types.components.push(this.adapter.toDirectiveDefinition(item));\n break;\n case 'Directive':\n types.directives.push(this.adapter.toDirectiveDefinition(item));\n break;\n case 'Injectable':\n types.services.push(this.adapter.toClassDefinition(item));\n break;\n case 'NgModule':\n // Don't document modules.\n break;\n case 'Pipe':\n types.pipes.push(this.adapter.toPipeDefinition(item));\n break;\n default:\n /*tslint:disable-next-line:switch-default*/\n switch (kindString) {\n case 'Class':\n types.classes.push(this.adapter.toClassDefinition(item));\n break;\n case 'Interface':\n types.interfaces.push(this.adapter.toInterfaceDefinition(item));\n break;\n case 'Enumeration':\n types.enumerations.push(this.adapter.toEnumerationDefinition(item));\n break;\n case 'Type alias':\n types.typeAliases.push(this.adapter.toTypeAliasDefinition(item));\n break;\n }\n }\n });\n\n return types;\n }\n\n}\n","import {\n Pipe,\n PipeTransform\n} from '@angular/core';\n\nimport {\n SkyDocsAnchorLinkConfig\n} from './anchor-link-service-config';\n\nimport {\n SkyDocsAnchorLinkService\n} from './anchor-link.service';\n\nimport {\n SkyDocsAnchorLinkServiceFormatType\n} 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\n constructor(\n private anchorLinkService: SkyDocsAnchorLinkService\n ) { }\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}\n","import {\n CommonModule\n} from '@angular/common';\n\nimport {\n NgModule\n} from '@angular/core';\n\nimport {\n RouterModule\n} from '@angular/router';\n\nimport {\n SkyCodeBlockModule,\n SkyCodeModule\n} from '@blackbaud/skyux-lib-code-block';\n\nimport {\n SkyMediaQueryModule\n} from '@skyux/core';\n\nimport {\n SkyIconModule\n} from '@skyux/indicators';\n\nimport {\n SkyDefinitionListModule\n} from '@skyux/layout';\n\nimport {\n SkyDocsHeadingAnchorModule\n} from '../heading-anchor/heading-anchor.module';\n\nimport {\n SkyDocsMarkdownModule\n} from '../markdown/markdown.module';\n\nimport {\n SkyDocsSafeHtmlModule\n} from '../safe-html/safe-html.module';\n\nimport {\n SkyDocsAnchorLinkService\n} from './anchor-link.service';\n\nimport {\n SkyDocsCallSignatureDefinitionComponent\n} from './call-signature-definition.component';\n\nimport {\n SkyDocsDirectiveDefinitionComponent\n} from './directive-definition.component';\n\nimport {\n SkyDocsEnumerationDefinitionComponent\n} from './enumeration-definition.component';\n\nimport {\n SkyDocsInterfaceDefinitionComponent\n} from './interface-definition.component';\n\nimport {\n SkyDocsMethodDefinitionsComponent\n} from './method-definitions.component';\n\nimport {\n SkyDocsPipeDefinitionComponent\n} from './pipe-definition.component';\n\nimport {\n SkyDocsPropertyDefinitionsComponent\n} from './property-definitions.component';\n\nimport {\n SkyDocsClassDefinitionComponent\n} from './class-definition.component';\n\nimport {\n SkyDocsTypeAliasDefinitionComponent\n} from './type-alias-definition.component';\n\nimport {\n SkyDocsTypeDefinitionsFormatService\n} from './type-definitions-format.service';\n\nimport {\n SkyDocsTypeDefinitionsService\n} from './type-definitions.service';\n\nimport {\n SkyDocsTypeDefinitionsProvider\n} from './type-definitions-provider';\n\nimport {\n SkyDocsTypeAnchorLinksPipe\n} from './type-anchor-links.pipe';\n\nimport {\n SkyDocsTypeDocAdapterService\n} from './typedoc-adapter.service';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n SkyCodeBlockModule,\n SkyCodeModule,\n SkyDefinitionListModule,\n SkyDocsHeadingAnchorModule,\n SkyDocsMarkdownModule,\n SkyDocsSafeHtmlModule,\n SkyIconModule,\n SkyMediaQueryModule\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 providers: [\n SkyDocsAnchorLinkService,\n SkyDocsTypeAnchorLinksPipe,\n SkyDocsTypeDefinitionsFormatService,\n SkyDocsTypeDefinitionsProvider,\n SkyDocsTypeDefinitionsService,\n SkyDocsTypeDocAdapterService\n ]\n})\nexport class SkyDocsTypeDefinitionsModule { }\n","import {\n ChangeDetectionStrategy,\n Component,\n Input\n} 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 /**\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.toLowerCase()\n\n // Remove special characters.\n .replace(/[\\_\\~\\`\\@\\!\\#\\$\\%\\^\\&\\*\\(\\)\\[\\]\\{\\}\\;\\:\\'\\/\\\\\\<\\>\\,\\.\\?\\=\\+\\|\"]/g, '')\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}\n","import {\n ChangeDetectionStrategy,\n Component\n} 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","import {\n Injectable\n} from '@angular/core';\n\nimport {\n Title\n} from '@angular/platform-browser';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyDocsDemoPageTitleService {\n\n constructor(\n private title: Title\n ) { }\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","import {\n ChangeDetectionStrategy,\n Component\n} 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","import {\n Injectable\n} from '@angular/core';\n\nimport {\n HttpClient\n} from '@angular/common/http';\n\nimport {\n Observable\n} from 'rxjs';\n\nimport {\n map,\n share\n} from 'rxjs/operators';\n\nimport {\n SkyDocsComponentInfo\n} from './docs-tools-component-info';\n\n@Injectable()\nexport class SkyDocsSupportalService {\n constructor(\n private http: HttpClient\n ) { }\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 {\n Injectable,\n OnDestroy\n} from '@angular/core';\n\nimport {\n SkyAppWindowRef\n} from '@skyux/core';\n\nimport {\n Observable,\n Subject\n} from 'rxjs';\n\nimport {\n SkyDocsAnchorLink\n} from '../type-definitions/anchor-link';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyDocsDemoPageDomAdapterService implements OnDestroy {\n\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(\n private windowRef: SkyAppWindowRef\n ) { }\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}\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n Input,\n OnInit,\n QueryList\n} from '@angular/core';\n\nimport {\n ActivatedRoute,\n Router\n} from '@angular/router';\n\nimport {\n SkyAppConfig\n} from '@skyux/config';\n\nimport {\n StacheNavLink\n} from '@blackbaud/skyux-lib-stache';\n\nimport {\n SkyDocsCodeExamplesComponent\n} from '../code-examples/code-examples.component';\n\nimport {\n SkyDocsDesignGuidelinesComponent\n} from '../design-guidelines/design-guidelines.component';\n\nimport {\n SkyDocsSupportalService\n} from '../shared/docs-tools-supportal.service';\n\nimport {\n SkyDocsComponentInfo\n} from '../shared/docs-tools-component-info';\n\nimport {\n SkyDocsDemoPageDomAdapterService\n} from './demo-page-dom-adapter.service';\n\nimport {\n SkyDocsDemoPageTitleService\n} from './demo-page-title.service';\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: [\n SkyDocsDemoPageDomAdapterService\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SkyDocsDemoPageComponent implements OnInit, AfterContentInit, AfterViewInit {\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 * @required\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 moduleSourceCodePath: string;\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 enableTabLayout = false;\n\n /**\n * @internal\n */\n public sidebarRoutes: StacheNavLink[];\n\n @ContentChild(SkyDocsDesignGuidelinesComponent)\n private designGuidelinesComponent: SkyDocsDesignGuidelinesComponent;\n\n @ContentChildren(SkyDocsCodeExamplesComponent)\n private codeExampleComponents: QueryList<SkyDocsCodeExamplesComponent>;\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 ) { }\n\n public ngOnInit(): void {\n const currentHostUrl = 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 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 this.changeDetector.markForCheck();\n });\n }\n\n public ngAfterContentInit(): void {\n this.enableCodeExamples = (this.codeExampleComponents.length > 0);\n this.enableTabLayout = !!(this.designGuidelinesComponent);\n }\n\n public ngAfterViewInit(): void {\n\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 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}\n","import {\n Component\n} 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 {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnInit\n} from '@angular/core';\n\nimport {\n SkyDocsTypeDefinitionsService\n} from '../type-definitions/type-definitions.service';\n\nimport {\n SkyDocsTypeDefinitions\n} 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 implements OnInit {\n\n @Input()\n public moduleSourceCodePath: string;\n\n public types: SkyDocsTypeDefinitions;\n\n constructor(\n private typeDefinitionService: SkyDocsTypeDefinitionsService\n ) { }\n\n public ngOnInit(): void {\n if (this.moduleSourceCodePath) {\n this.types = this.typeDefinitionService.getTypeDefinitions(\n this.moduleSourceCodePath\n );\n }\n }\n}\n","import {\n CommonModule\n} from '@angular/common';\n\nimport {\n NgModule\n} 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 {\n RouterModule\n} from '@angular/router';\n\nimport {\n SkyTabsModule\n} from '@skyux/tabs';\n\nimport {\n SkyDocsDemoModule\n} from '../demo/demo.module';\n\nimport {\n SkyDocsHeadingAnchorModule\n} from '../heading-anchor/heading-anchor.module';\n\nimport {\n SkyDocsMarkdownModule\n} from '../markdown/markdown.module';\n\nimport {\n SkyDocsModuleInfoModule\n} from '../module-info/module-info.module';\n\nimport {\n SkyDocsTypeDefinitionsModule\n} from '../type-definitions/type-definitions.module';\n\nimport {\n SkyDocsDemoPageSectionComponent\n} from './demo-page-section.component';\n\nimport {\n SkyDocsDemoPageSummaryComponent\n} from './demo-page-summary.component';\n\nimport {\n SkyDocsDemoPageTitleService\n} from './demo-page-title.service';\n\nimport {\n SkyDocsDemoPageComponent\n} from './demo-page.component';\n\nimport {\n SkyDocsDemoPageModuleInfoComponent\n} from './demo-page-module-info.component';\n\nimport {\n SkyDocsDemoPageTypeDefinitionsComponent\n} from './demo-page-type-definitions.component';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\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 providers: [\n SkyDocsDemoPageTitleService\n ]\n})\nexport class SkyDocsDemoPageModule { }\n","import {\n ChangeDetectionStrategy,\n Component,\n Input\n} 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\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}\n","import {\n CommonModule\n} from '@angular/common';\n\nimport {\n NgModule\n} from '@angular/core';\n\nimport {\n SkyImageModule\n} from '@blackbaud/skyux-lib-media';\n\nimport {\n SkyDocsThumbnailComponent\n} from './thumbnail.component';\n\n@NgModule({\n imports: [\n CommonModule,\n SkyImageModule\n ],\n exports: [\n SkyDocsThumbnailComponent\n ],\n declarations: [\n SkyDocsThumbnailComponent\n ]\n})\nexport class SkyDocsThumbnailModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input\n} 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\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}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Input,\n QueryList\n} from '@angular/core';\n\nimport {\n SkyDocsDesignGuidelineThumbnailComponent\n} 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\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}\n","import {\n CommonModule\n} from '@angular/common';\n\nimport {\n NgModule\n} from '@angular/core';\n\nimport {\n SkyFluidGridModule\n} from '@skyux/layout';\n\nimport {\n SkyDocsThumbnailModule\n} from '../thumbnail/thumbnail.module';\n\nimport {\n SkyDocsDesignGuidelineComponent\n} from './design-guideline.component';\n\nimport {\n SkyDocsDesignGuidelinesComponent\n} from './design-guidelines.component';\n\nimport {\n SkyDocsDesignGuidelineThumbnailComponent\n} from './design-guideline-thumbnail.component';\n\n@NgModule({\n imports: [\n CommonModule,\n SkyDocsThumbnailModule,\n SkyFluidGridModule\n ],\n declarations: [\n SkyDocsDesignGuidelineComponent,\n SkyDocsDesignGuidelineThumbnailComponent,\n SkyDocsDesignGuidelinesComponent\n ],\n exports: [\n SkyDocsDesignGuidelineComponent,\n SkyDocsDesignGuidelineThumbnailComponent,\n SkyDocsDesignGuidelinesComponent\n ]\n})\nexport class SkyDocsDesignGuidelinesModule { }\n","import {\n NgModule\n} from '@angular/core';\n\nimport {\n SkyAuthHttpClientModule\n} from '@skyux/http';\n\nimport {\n SkyDocsAnatomyModule\n} from './modules/anatomy/anatomy.module';\n\nimport {\n SkyDocsCodeExamplesModule\n} from './modules/code-examples/code-examples.module';\n\nimport {\n SkyDocsDemoModule\n} from './modules/demo/demo.module';\n\nimport {\n SkyDocsDemoPageModule\n} from './modules/demo-page/demo-page.module';\n\nimport {\n SkyDocsDesignGuidelinesModule\n} from './modules/design-guidelines/design-guidelines.module';\n\nimport {\n SkyDocsSupportalService\n} from './modules/shared/docs-tools-supportal.service';\n\n/**\n * This module conveniently exports the most commonly used modules.\n */\n@NgModule({\n exports: [\n SkyAuthHttpClientModule, // Supports the supportal service calls using the `svcid` param.\n SkyDocsAnatomyModule,\n SkyDocsCodeExamplesModule,\n SkyDocsDemoModule,\n SkyDocsDemoPageModule,\n SkyDocsDesignGuidelinesModule\n ],\n providers: [\n SkyDocsSupportalService\n ]\n})\nexport class SkyDocsToolsModule { }\n"],"names":["Input","Component","ChangeDetectionStrategy","ContentChildren","NgModule","CommonModule","SkyFluidGridModule","SkyImageModule","getStringForLocale","Injectable","SKY_LIB_RESOURCES_PROVIDERS","SkyI18nModule","SkyDocsCodeExampleTheme","Subject","takeUntil","SkyThemeService","Optional","SkyCodeBlockModule","SkyIconModule","SkyRepeaterModule","SkyVerticalTabsetModule","ChangeDetectorRef","BehaviorSubject","EventEmitter","merge","Output","ElementRef","SkyTheme","SkyThemeSettings","SkyThemeMode","FormsModule","SkyCheckboxModule","SkyRadioModule","SkyRestrictedViewModule","SkyThemeModule","RouterModule","Pipe","SkyCodeModule","SkyClipboardModule","SkyDefinitionListModule","SkyHelpInlineModule","SkyPopoverModule","DomSanitizer","SkyMediaBreakpoints","SkyMediaQueryService","SkyMediaQueryModule","Title","map","share","HttpClient","SkyAppWindowRef","ActivatedRoute","Router","SkyAppConfig","ContentChild","SkyTabsModule","StachePageSummaryModule","StacheWrapperModule","SkyAuthHttpClientModule"],"mappings":"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"}