@covalent/flavored-markdown 4.0.0 → 4.1.0-develop.10

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.
Files changed (39) hide show
  1. package/README.md +37 -44
  2. package/_flavored-markdown-theme.scss +1 -0
  3. package/covalent-flavored-markdown.d.ts +2 -2
  4. package/esm2020/covalent-flavored-markdown.mjs +5 -0
  5. package/esm2020/lib/cfm-list/cfm-list.component.mjs +60 -0
  6. package/esm2020/lib/flavored-markdown-loader/flavored-markdown-loader.component.mjs +104 -0
  7. package/esm2020/lib/flavored-markdown.component.mjs +501 -0
  8. package/esm2020/lib/flavored-markdown.module.mjs +69 -0
  9. package/esm2020/public_api.mjs +4 -0
  10. package/fesm2015/covalent-flavored-markdown.mjs +794 -0
  11. package/fesm2015/covalent-flavored-markdown.mjs.map +1 -0
  12. package/fesm2020/covalent-flavored-markdown.mjs +722 -0
  13. package/fesm2020/covalent-flavored-markdown.mjs.map +1 -0
  14. package/lib/cfm-list/cfm-list.component.d.ts +11 -0
  15. package/{flavored-markdown-loader → lib/flavored-markdown-loader}/flavored-markdown-loader.component.d.ts +8 -5
  16. package/{flavored-markdown.component.d.ts → lib/flavored-markdown.component.d.ts} +11 -2
  17. package/lib/flavored-markdown.module.d.ts +18 -0
  18. package/package.json +40 -28
  19. package/public_api.d.ts +3 -3
  20. package/bundles/covalent-flavored-markdown.umd.js +0 -1310
  21. package/bundles/covalent-flavored-markdown.umd.js.map +0 -1
  22. package/bundles/covalent-flavored-markdown.umd.min.js +0 -16
  23. package/bundles/covalent-flavored-markdown.umd.min.js.map +0 -1
  24. package/cfm-list/cfm-list.component.d.ts +0 -8
  25. package/cfm-list/cfm-list.component.scss +0 -0
  26. package/covalent-flavored-markdown.metadata.json +0 -1
  27. package/esm2015/cfm-list/cfm-list.component.js +0 -39
  28. package/esm2015/covalent-flavored-markdown.js +0 -11
  29. package/esm2015/flavored-markdown-loader/flavored-markdown-loader.component.js +0 -159
  30. package/esm2015/flavored-markdown.component.js +0 -754
  31. package/esm2015/flavored-markdown.module.js +0 -45
  32. package/esm2015/index.js +0 -7
  33. package/esm2015/public_api.js +0 -9
  34. package/fesm2015/covalent-flavored-markdown.js +0 -1005
  35. package/fesm2015/covalent-flavored-markdown.js.map +0 -1
  36. package/flavored-markdown-loader/flavored-markdown-loader.component.scss +0 -26
  37. package/flavored-markdown.component.scss +0 -31
  38. package/flavored-markdown.module.d.ts +0 -2
  39. package/index.d.ts +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"covalent-flavored-markdown.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","../../../src/platform/flavored-markdown/cfm-list/cfm-list.component.ts","../../../../src/platform/flavored-markdown/flavored-markdown.component.ts","../../../src/platform/flavored-markdown/flavored-markdown-loader/flavored-markdown-loader.component.ts","../../../../src/platform/flavored-markdown/flavored-markdown.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 (Object.prototype.hasOwnProperty.call(b, 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 var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(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, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, 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\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, 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 { Component, Input } from '@angular/core';\n\nexport interface IFlavoredListItem {\n line: string;\n sublines?: string[];\n}\n\n@Component({\n selector: 'cfm-list',\n styleUrls: ['./cfm-list.component.scss'],\n templateUrl: './cfm-list.component.html',\n})\nexport class TdFlavoredListComponent {\n @Input() lines: IFlavoredListItem[];\n @Input() dense: boolean = false;\n}\n","import {\n Component,\n Directive,\n AfterViewInit,\n Input,\n Renderer2,\n Type,\n ComponentFactory,\n ChangeDetectorRef,\n EventEmitter,\n Output,\n ViewContainerRef,\n ComponentFactoryResolver,\n Injector,\n ComponentRef,\n ViewChild,\n ChangeDetectionStrategy,\n OnChanges,\n SimpleChanges,\n ElementRef,\n HostBinding,\n OnInit,\n} from '@angular/core';\n\nimport { MatCheckbox } from '@angular/material/checkbox';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { TdFlavoredListComponent, IFlavoredListItem } from './cfm-list/cfm-list.component';\nimport { TdHighlightComponent, ICopyCodeTooltips } from '@covalent/highlight';\nimport { TdMarkdownComponent, scrollToAnchor } from '@covalent/markdown';\n\nexport interface ITdFlavoredMarkdownButtonClickEvent {\n text: string;\n data: string;\n}\n\nexport interface ITdFlavoredMarkDownTableColumn {\n label: string;\n name: string;\n numeric: boolean;\n}\n\n@Component({\n template: `\n <mat-table [dataSource]=\"dataSource\" matSort>\n <!-- Column Definition -->\n <ng-template ngFor let-column [ngForOf]=\"columnDefs\">\n <ng-container [matColumnDef]=\"column.name\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{ column.label }}</mat-header-cell>\n <mat-cell *matCellDef=\"let row\">{{ row[column.name] }}</mat-cell>\n </ng-container>\n </ng-template>\n <!-- Header and Row Declarations -->\n <mat-header-row *matHeaderRowDef=\"displayedColumns\"></mat-header-row>\n <mat-row *matRowDef=\"let row; columns: displayedColumns\"></mat-row>\n </mat-table>\n `,\n})\nexport class TdFlavoredMarkdownTableComponent implements OnInit, AfterViewInit {\n @Input() columnDefs: ITdFlavoredMarkDownTableColumn[] = [];\n @Input() data: unknown[];\n @ViewChild(MatSort) sort: MatSort;\n\n displayedColumns: string[];\n dataSource: MatTableDataSource<unknown>;\n\n ngOnInit(): void {\n this.displayedColumns = this.columnDefs.map((c: ITdFlavoredMarkDownTableColumn) => c.name);\n this.dataSource = new MatTableDataSource(this.data);\n }\n\n ngAfterViewInit(): void {\n this.dataSource.sort = this.sort;\n }\n}\n\n@Component({\n template: `\n <button mat-raised-button (click)=\"emitClick()\">\n {{ text }}\n </button>\n `,\n})\nexport class TdFlavoredMarkdownButtonComponent {\n @HostBinding('style.display') display: string = 'inline-block';\n @Input() text: string = '';\n @Input() data: string = '';\n @Output()\n clicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> = new EventEmitter<ITdFlavoredMarkdownButtonClickEvent>();\n emitClick(): void {\n this.clicked.emit({ text: this.text, data: this.data });\n }\n}\n\n@Directive({\n selector: '[tdFlavoredMarkdownContainer]',\n})\nexport class TdFlavoredMarkdownContainerDirective {\n constructor(public viewContainerRef: ViewContainerRef, private _renderer: Renderer2) {}\n\n clear(): void {\n this._renderer.setProperty(this.viewContainerRef.element.nativeElement, 'innerHTML', '');\n this.viewContainerRef.clear();\n }\n}\n\nexport type IReplacerFunc<T> = (componentRef: ComponentRef<T>, ...args: any[]) => void;\n\n@Component({\n selector: 'td-flavored-markdown',\n styleUrls: ['./flavored-markdown.component.scss'],\n templateUrl: './flavored-markdown.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdFlavoredMarkdownComponent implements AfterViewInit, OnChanges {\n private _content: string;\n private _simpleLineBreaks: boolean = false;\n private _hostedUrl: string;\n private _anchor: string;\n\n private _components: {} = {};\n private _viewInit: boolean = false;\n /**\n * content?: string\n *\n * Markdown format content to be parsed as material/covalent markup.\n *\n * e.g. README.md content.\n */\n @Input('content')\n set content(content: string) {\n this._content = content;\n }\n\n /**\n * simpleLineBreaks?: string\n *\n * Sets whether newline characters inside paragraphs and spans are parsed as <br/>.\n * Defaults to false.\n */\n @Input('simpleLineBreaks')\n set simpleLineBreaks(simpleLineBreaks: boolean) {\n this._simpleLineBreaks = simpleLineBreaks;\n }\n\n /**\n * hostedUrl?: string\n *\n * If markdown contains relative paths, this is required to generate correct urls\n *\n */\n @Input('hostedUrl')\n set hostedUrl(hostedUrl: string) {\n this._hostedUrl = hostedUrl;\n }\n\n /**\n * anchor?: string\n *\n * Anchor to jump to\n *\n */\n @Input('anchor')\n set anchor(anchor: string) {\n this._anchor = anchor;\n }\n\n /**\n * copyCodeToClipboard?: boolean\n *\n * Display copy button on code snippets to copy code to clipboard.\n *\n */\n @Input() copyCodeToClipboard: boolean = false;\n\n /**\n * copyCodeTooltips?: ICopyCodeTooltips\n *\n * Tooltips for copy button to copy and upon copying.\n */\n @Input() copyCodeTooltips: ICopyCodeTooltips = {};\n /**\n * contentReady?: function\n * Event emitted after the markdown content rendering is finished.\n */\n @Output() contentReady: EventEmitter<undefined> = new EventEmitter<undefined>();\n\n /**\n * buttonClicked?: ITdFlavoredMarkdownButtonClickEvent\n * Event emitted when a button is clicked\n * Is an object containing text and data of button\n */\n @Output()\n buttonClicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> = new EventEmitter<ITdFlavoredMarkdownButtonClickEvent>();\n\n @ViewChild(TdFlavoredMarkdownContainerDirective, { static: true }) container: TdFlavoredMarkdownContainerDirective;\n\n constructor(\n private _componentFactoryResolver: ComponentFactoryResolver,\n private _renderer: Renderer2,\n private _changeDetectorRef: ChangeDetectorRef,\n private _injector: Injector,\n private _elementRef: ElementRef,\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n // only anchor changed\n if (changes.anchor && !changes.content && !changes.simpleLineBreaks && !changes.hostedUrl) {\n scrollToAnchor(this._elementRef.nativeElement, this._anchor, false);\n } else {\n this.refresh();\n }\n }\n\n ngAfterViewInit(): void {\n if (!this._content) {\n this._loadContent((<HTMLElement>this.container.viewContainerRef.element.nativeElement).textContent);\n Promise.resolve().then(() => {\n this._viewInit = true;\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n\n refresh(): void {\n if (this._content) {\n this._loadContent(this._content);\n } else if (this._viewInit) {\n this._loadContent((<HTMLElement>this.container.viewContainerRef.element.nativeElement).textContent);\n }\n this._changeDetectorRef.markForCheck();\n }\n\n private _loadContent(markdown: string): void {\n if (markdown && markdown.trim().length > 0) {\n this.container.clear();\n markdown = markdown.replace(/^(\\s|\\t)*\\n+/g, '').replace(/(\\s|\\t)*\\n+(\\s|\\t)*$/g, '');\n // Split markdown by line characters\n let lines: string[] = markdown.split('\\n');\n\n // check how much indentation is used by the first actual markdown line\n const firstLineWhitespace: string = lines[0].match(/^(\\s|\\t)*/)[0];\n\n // Remove all indentation spaces so markdown can be parsed correctly\n const startingWhitespaceRegex: RegExp = new RegExp('^' + firstLineWhitespace);\n lines = lines.map(function (line: string): string {\n return line.replace(startingWhitespaceRegex, '');\n });\n\n // Join lines again with line characters\n markdown = [...lines, '', ''].join('\\n');\n markdown = this._replaceCodeBlocks(markdown);\n markdown = this._replaceCheckbox(markdown);\n markdown = this._replaceTables(markdown);\n markdown = this._replaceLists(markdown);\n markdown = this._replaceButtons(markdown);\n const keys: string[] = Object.keys(this._components);\n // need to sort the placeholders in order of encounter in markdown content\n keys.sort((compA: string, compB: string) => {\n return markdown.indexOf(compA) > markdown.indexOf(compB) ? 1 : -1;\n });\n this._render(markdown, keys[0], keys);\n // TODO: timeout required since resizing of html elements occurs which causes a change in the scroll position\n setTimeout(() => scrollToAnchor(this._elementRef.nativeElement, this._anchor, false), 250);\n this.contentReady.emit();\n Promise.resolve().then(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n\n private _render(markdown: string, key: string, keys: string[]): void {\n if (!markdown) {\n return;\n }\n if (key && markdown.indexOf(key) > -1) {\n const markdownParts: string[] = markdown.split(key);\n keys.shift();\n this._render(markdownParts[0], undefined, undefined);\n this.container.viewContainerRef.insert(this._components[key].hostView, this.container.viewContainerRef.length);\n this._components[key] = undefined;\n delete this._components[key];\n this._render(markdownParts[1], keys[0], keys);\n } else {\n const contentRef: ComponentRef<TdMarkdownComponent> = this._componentFactoryResolver\n .resolveComponentFactory(TdMarkdownComponent)\n .create(this._injector);\n contentRef.instance.content = markdown;\n contentRef.instance.hostedUrl = this._hostedUrl;\n contentRef.instance.simpleLineBreaks = this._simpleLineBreaks;\n contentRef.instance.refresh();\n this.container.viewContainerRef.insert(contentRef.hostView, this.container.viewContainerRef.length);\n }\n }\n\n private _replaceComponent<T>(\n markdown: string,\n type: Type<T>,\n regExp: RegExp,\n replacerFunc: IReplacerFunc<T>,\n ): string {\n let componentIndex: number = 0;\n return markdown.replace(regExp, (...args: any[]) => {\n const componentFactory: ComponentFactory<T> = this._componentFactoryResolver.resolveComponentFactory(type);\n const componentRef: ComponentRef<T> = componentFactory.create(this._injector);\n replacerFunc(componentRef, ...args);\n const key: string = '[' + componentFactory.selector + '-placeholder-' + componentIndex++ + ']';\n this._components[key] = componentRef;\n return key;\n });\n }\n\n private _replaceCheckbox(markdown: string): string {\n const checkboxRegExp: RegExp = /(?:^|\\n)- \\[(x| )\\](.*)/gi;\n return this._replaceComponent(\n markdown,\n MatCheckbox,\n checkboxRegExp,\n (componentRef: ComponentRef<MatCheckbox>, match: string, checked: string, label: string) => {\n componentRef.instance.checked = !!checked.trim();\n componentRef.instance.disabled = true;\n componentRef.instance.labelPosition = 'after';\n this._renderer.setProperty(\n (<HTMLElement>componentRef.instance._elementRef.nativeElement).getElementsByClassName(\n 'mat-checkbox-label',\n )[0],\n 'innerHTML',\n label,\n );\n },\n );\n }\n\n private _replaceButtons(markdown: string): string {\n const buttonRegExp: RegExp = /\\[([^\\[]+)\\](\\(#data=(.*)\\))/i;\n const globalButtonRegExp: RegExp = new RegExp(buttonRegExp.source, buttonRegExp.flags + 'g');\n return this._replaceComponent(\n markdown,\n TdFlavoredMarkdownButtonComponent,\n globalButtonRegExp,\n (componentRef: ComponentRef<TdFlavoredMarkdownButtonComponent>, match: string) => {\n const matches: RegExpExecArray = buttonRegExp.exec(match);\n const text: string = matches[1];\n const data: string = matches[3];\n componentRef.instance.text = text;\n componentRef.instance.data = data;\n componentRef.instance.clicked.subscribe((clickEvent: ITdFlavoredMarkdownButtonClickEvent) =>\n this.buttonClicked.emit(clickEvent),\n );\n },\n );\n }\n\n private _replaceCodeBlocks(markdown: string): string {\n const codeBlockRegExp: RegExp = /(?:^|\\n)```(.*)\\n([\\s\\S]*?)\\n```/g;\n return this._replaceComponent(\n markdown,\n TdHighlightComponent,\n codeBlockRegExp,\n (componentRef: ComponentRef<TdHighlightComponent>, match: string, language: string, codeblock: string) => {\n if (language) {\n componentRef.instance.codeLang = language;\n }\n componentRef.instance.copyCodeToClipboard = this.copyCodeToClipboard;\n componentRef.instance.copyCodeTooltips = this.copyCodeTooltips;\n componentRef.instance.content = codeblock;\n },\n );\n }\n\n private _replaceTables(markdown: string): string {\n const tableRgx: RegExp =\n /^ {0,3}\\|?.+\\|.+\\n[ \\t]{0,3}\\|?[ \\t]*:?[ \\t]*(?:-|=){2,}[ \\t]*:?[ \\t]*\\|[ \\t]*:?[ \\t]*(?:-|=){2,}[\\s\\S]+?(?:\\n\\n|~0)/gm;\n return this._replaceComponent(\n markdown,\n TdFlavoredMarkdownTableComponent,\n tableRgx,\n (componentRef: ComponentRef<TdFlavoredMarkdownTableComponent>, match: string) => {\n const dataTableLines: string[] = match.replace(/(\\s|\\t)*\\n+(\\s|\\t)*$/g, '').split('\\n');\n const columns: string[] = dataTableLines[0]\n .split('|')\n .filter((col: string) => {\n return col;\n })\n .map((s: string) => {\n return s.trim();\n });\n const alignment: string[] = dataTableLines[1]\n .split('|')\n .filter((v: string) => {\n return v;\n })\n .map((s: string) => {\n return s.trim();\n });\n\n const data: any[] = [];\n for (let i: number = 2; i < dataTableLines.length; i++) {\n const rowSplit: string[] = dataTableLines[i]\n .split('|')\n .filter((cell: string) => {\n return cell;\n })\n .map((s: string) => {\n return s.trim();\n });\n const row: any = {};\n columns.forEach((col: string, index: number) => {\n const rowSplitCell: string = rowSplit[index];\n if (rowSplitCell) {\n row[col.toLowerCase().trim()] = rowSplitCell.replace(/`(.*)`/, (m: string, value: string) => {\n return value;\n });\n }\n });\n data.push(row);\n }\n componentRef.instance.columnDefs = columns.map((col: string, index: number) => {\n return {\n label: col,\n name: col.toLowerCase().trim(),\n numeric: /^--*[ \\t]*:[ \\t]*$/.test(alignment[index]),\n };\n });\n componentRef.instance.data = data;\n },\n );\n }\n\n private _replaceLists(markdown: string): string {\n const listRegExp: RegExp = /(?:^|\\n)(( *\\+)[ |\\t](.*)\\n)+/g;\n return this._replaceComponent(\n markdown,\n TdFlavoredListComponent,\n listRegExp,\n (componentRef: ComponentRef<TdFlavoredListComponent>, match: string) => {\n const lineTexts: string[] = match.split(\n new RegExp('\\\\n {' + (match.indexOf('+') - 1).toString() + '}\\\\+[ |\\\\t]'),\n );\n lineTexts.shift();\n const lines: IFlavoredListItem[] = [];\n lineTexts.forEach((text: string, index: number) => {\n const sublineTexts: string[] = text.split(/\\n *\\+ /);\n lines.push({\n line: sublineTexts.shift(),\n sublines: sublineTexts.map((subline: string) => {\n return subline.trim();\n }),\n });\n });\n componentRef.instance.lines = lines;\n },\n );\n }\n}\n","import {\n Component,\n Input,\n ChangeDetectorRef,\n SimpleChanges,\n OnChanges,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport { TdMarkdownLoaderService } from '@covalent/markdown';\nimport { ITdFlavoredMarkdownButtonClickEvent } from '../flavored-markdown.component';\nimport { ICopyCodeTooltips } from '@covalent/highlight';\n\n// TODO: make a td-markdown-loader component\n\n@Component({\n selector: 'td-flavored-markdown-loader',\n styleUrls: ['./flavored-markdown-loader.component.scss'],\n templateUrl: './flavored-markdown-loader.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdFlavoredMarkdownLoaderComponent implements OnChanges {\n /**\n * url: string\n * The url of the markdown file.\n */\n @Input() url: string;\n\n /**\n * httpOptions: object\n * HTTP options that can be part of the request.\n */\n @Input() httpOptions: object;\n\n /**\n * anchor: string\n * Anchor to jump to.\n */\n @Input() anchor: string;\n\n /**\n * copyCodeToClipboard?: boolean\n *\n * Display copy button on code snippets to copy code to clipboard.\n *\n */\n @Input() copyCodeToClipboard: boolean = false;\n\n /**\n * copyCodeTooltips?: ICopyCodeTooltips\n *\n * Tooltips for copy button to copy and upon copying.\n */\n @Input() copyCodeTooltips: ICopyCodeTooltips = {};\n\n /**\n * contentReady: void\n * Emitted when markdown rendering is finished.\n */\n @Output() contentReady: EventEmitter<void> = new EventEmitter();\n\n /**\n * loadFailed: Error\n * Emitted when loading of markdown file fails.\n */\n @Output() loadFailed: EventEmitter<Error> = new EventEmitter();\n\n @Output() buttonClicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> = new EventEmitter();\n\n content: string;\n loading: boolean = true;\n\n constructor(\n private _changeDetectorRef: ChangeDetectorRef,\n private _markdownUrlLoaderService: TdMarkdownLoaderService,\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.url || changes.httpOptions) {\n this.loadMarkdown();\n }\n }\n\n async loadMarkdown(): Promise<void> {\n this.loading = true;\n this._changeDetectorRef.markForCheck();\n try {\n this.content = await this._markdownUrlLoaderService.load(this.url, this.httpOptions);\n } catch (error) {\n this.loadFailed.emit(error);\n } finally {\n this.loading = false;\n this._changeDetectorRef.markForCheck();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatListModule } from '@angular/material/list';\n\nimport { CovalentHighlightModule } from '@covalent/highlight';\nimport { CovalentMarkdownModule } from '@covalent/markdown';\n\nimport { TdFlavoredListComponent } from './cfm-list/cfm-list.component';\nimport {\n TdFlavoredMarkdownComponent,\n TdFlavoredMarkdownContainerDirective,\n TdFlavoredMarkdownButtonComponent,\n TdFlavoredMarkdownTableComponent,\n} from './flavored-markdown.component';\nimport { TdFlavoredMarkdownLoaderComponent } from './flavored-markdown-loader/flavored-markdown-loader.component';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatSortModule } from '@angular/material/sort';\n\n@NgModule({\n imports: [\n CommonModule,\n MatCheckboxModule,\n MatListModule,\n MatProgressBarModule,\n CovalentHighlightModule,\n CovalentMarkdownModule,\n MatButtonModule,\n MatTableModule,\n MatSortModule,\n ],\n declarations: [\n TdFlavoredListComponent,\n TdFlavoredMarkdownComponent,\n TdFlavoredMarkdownContainerDirective,\n TdFlavoredMarkdownLoaderComponent,\n TdFlavoredMarkdownButtonComponent,\n TdFlavoredMarkdownTableComponent,\n ],\n exports: [TdFlavoredMarkdownComponent, TdFlavoredMarkdownLoaderComponent],\n})\nexport class CovalentFlavoredMarkdownModule {}\n"],"names":["Component","Input","MatTableDataSource","ViewChild","MatSort","EventEmitter","HostBinding","Output","Directive","ViewContainerRef","Renderer2","scrollToAnchor","markdown","TdMarkdownComponent","MatCheckbox","TdHighlightComponent","ChangeDetectionStrategy","ComponentFactoryResolver","ChangeDetectorRef","Injector","ElementRef","TdMarkdownLoaderService","NgModule","CommonModule","MatCheckboxModule","MatListModule","MatProgressBarModule","CovalentHighlightModule","CovalentMarkdownModule","MatButtonModule","MatTableModule","MatSortModule"],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/material/checkbox"),require("@angular/material/sort"),require("@angular/material/table"),require("@covalent/highlight"),require("@covalent/markdown"),require("@angular/common"),require("@angular/material/list"),require("@angular/material/progress-bar"),require("@angular/material/button")):"function"==typeof define&&define.amd?define("@covalent/flavored-markdown",["exports","@angular/core","@angular/material/checkbox","@angular/material/sort","@angular/material/table","@covalent/highlight","@covalent/markdown","@angular/common","@angular/material/list","@angular/material/progress-bar","@angular/material/button"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).covalent=e.covalent||{},e.covalent["flavored-markdown"]={}),e.ng.core,e.ng.material.checkbox,e.ng.material.sort,e.ng.material.table,e.covalent.highlight,e.covalent.markdown,e.ng.common,e.ng.material.list,e.ng.material.progressBar,e.ng.material.button)}(this,(function(e,t,n,o,r,a,i,l,s,c,p){"use strict";
2
- /*! *****************************************************************************
3
- Copyright (c) Microsoft Corporation.
4
-
5
- Permission to use, copy, modify, and/or distribute this software for any
6
- purpose with or without fee is hereby granted.
7
-
8
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
11
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
- PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */function u(e,t,n,o){return new(n||(n=Promise))((function(r,a){function i(e){try{s(o.next(e))}catch(e){a(e)}}function l(e){try{s(o.throw(e))}catch(e){a(e)}}function s(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,l)}s((o=o.apply(e,t||[])).next())}))}function d(e,t){var n,o,r,a,i={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return a={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function l(a){return function(l){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,o&&(r=2&a[0]?o.return:a[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,a[1])).done)return r;switch(o=0,r&&(a=[2&a[0],r.value]),a[0]){case 0:case 1:r=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,o=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(r=i.trys,(r=r.length>0&&r[r.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!r||a[1]>r[0]&&a[1]<r[3])){i.label=a[1];break}if(6===a[0]&&i.label<r[1]){i.label=r[1],r=a;break}if(r&&i.label<r[2]){i.label=r[2],i.ops.push(a);break}r[2]&&i.ops.pop(),i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e],o=0}finally{n=r=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,l])}}}Object.create;function h(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,r,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(o=a.next()).done;)i.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}return i}function m(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(h(arguments[t]));return e}Object.create;var f=function(){this.dense=!1};f.decorators=[{type:t.Component,args:[{selector:"cfm-list",template:'<mat-list [attr.dense]="dense ? true : null">\n <ng-template let-line let-last="last" ngFor [ngForOf]="lines">\n <mat-list-item>\n <h4 matLine>\n {{ line.line }}\n </h4>\n <p *ngFor="let subline of line.sublines" matLine>\n {{ subline }}\n </p>\n <mat-divider *ngIf="!last"></mat-divider>\n </mat-list-item>\n </ng-template>\n</mat-list>\n',styles:[""]}]}],f.propDecorators={lines:[{type:t.Input}],dense:[{type:t.Input}]};var y=function(){function e(){this.columnDefs=[]}return e.prototype.ngOnInit=function(){this.displayedColumns=this.columnDefs.map((function(e){return e.name})),this.dataSource=new r.MatTableDataSource(this.data)},e.prototype.ngAfterViewInit=function(){this.dataSource.sort=this.sort},e}();y.decorators=[{type:t.Component,args:[{template:'\n <mat-table [dataSource]="dataSource" matSort>\n \x3c!-- Column Definition --\x3e\n <ng-template ngFor let-column [ngForOf]="columnDefs">\n <ng-container [matColumnDef]="column.name">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{ column.label }}</mat-header-cell>\n <mat-cell *matCellDef="let row">{{ row[column.name] }}</mat-cell>\n </ng-container>\n </ng-template>\n \x3c!-- Header and Row Declarations --\x3e\n <mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row>\n <mat-row *matRowDef="let row; columns: displayedColumns"></mat-row>\n </mat-table>\n '}]}],y.propDecorators={columnDefs:[{type:t.Input}],data:[{type:t.Input}],sort:[{type:t.ViewChild,args:[o.MatSort]}]};var g=function(){function e(){this.display="inline-block",this.text="",this.data="",this.clicked=new t.EventEmitter}return e.prototype.emitClick=function(){this.clicked.emit({text:this.text,data:this.data})},e}();g.decorators=[{type:t.Component,args:[{template:'\n <button mat-raised-button (click)="emitClick()">\n {{ text }}\n </button>\n '}]}],g.propDecorators={display:[{type:t.HostBinding,args:["style.display"]}],text:[{type:t.Input}],data:[{type:t.Input}],clicked:[{type:t.Output}]};var v=function(){function e(e,t){this.viewContainerRef=e,this._renderer=t}return e.prototype.clear=function(){this._renderer.setProperty(this.viewContainerRef.element.nativeElement,"innerHTML",""),this.viewContainerRef.clear()},e}();v.decorators=[{type:t.Directive,args:[{selector:"[tdFlavoredMarkdownContainer]"}]}],v.ctorParameters=function(){return[{type:t.ViewContainerRef},{type:t.Renderer2}]};var C=function(){function e(e,n,o,r,a){this._componentFactoryResolver=e,this._renderer=n,this._changeDetectorRef=o,this._injector=r,this._elementRef=a,this._simpleLineBreaks=!1,this._components={},this._viewInit=!1,this.copyCodeToClipboard=!1,this.copyCodeTooltips={},this.contentReady=new t.EventEmitter,this.buttonClicked=new t.EventEmitter}return Object.defineProperty(e.prototype,"content",{set:function(e){this._content=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"simpleLineBreaks",{set:function(e){this._simpleLineBreaks=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hostedUrl",{set:function(e){this._hostedUrl=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"anchor",{set:function(e){this._anchor=e},enumerable:!1,configurable:!0}),e.prototype.ngOnChanges=function(e){!e.anchor||e.content||e.simpleLineBreaks||e.hostedUrl?this.refresh():i.scrollToAnchor(this._elementRef.nativeElement,this._anchor,!1)},e.prototype.ngAfterViewInit=function(){var e=this;this._content||(this._loadContent(this.container.viewContainerRef.element.nativeElement.textContent),Promise.resolve().then((function(){e._viewInit=!0,e._changeDetectorRef.markForCheck()})))},e.prototype.refresh=function(){this._content?this._loadContent(this._content):this._viewInit&&this._loadContent(this.container.viewContainerRef.element.nativeElement.textContent),this._changeDetectorRef.markForCheck()},e.prototype._loadContent=function(e){var t=this;if(e&&e.trim().length>0){this.container.clear();var n=(e=e.replace(/^(\s|\t)*\n+/g,"").replace(/(\s|\t)*\n+(\s|\t)*$/g,"")).split("\n"),o=n[0].match(/^(\s|\t)*/)[0],r=new RegExp("^"+o);n=n.map((function(e){return e.replace(r,"")})),e=m(n,["",""]).join("\n"),e=this._replaceCodeBlocks(e),e=this._replaceCheckbox(e),e=this._replaceTables(e),e=this._replaceLists(e),e=this._replaceButtons(e);var a=Object.keys(this._components);a.sort((function(t,n){return e.indexOf(t)>e.indexOf(n)?1:-1})),this._render(e,a[0],a),setTimeout((function(){return i.scrollToAnchor(t._elementRef.nativeElement,t._anchor,!1)}),250),this.contentReady.emit(),Promise.resolve().then((function(){t._changeDetectorRef.markForCheck()}))}},e.prototype._render=function(e,t,n){if(e)if(t&&e.indexOf(t)>-1){var o=e.split(t);n.shift(),this._render(o[0],void 0,void 0),this.container.viewContainerRef.insert(this._components[t].hostView,this.container.viewContainerRef.length),this._components[t]=void 0,delete this._components[t],this._render(o[1],n[0],n)}else{var r=this._componentFactoryResolver.resolveComponentFactory(i.TdMarkdownComponent).create(this._injector);r.instance.content=e,r.instance.hostedUrl=this._hostedUrl,r.instance.simpleLineBreaks=this._simpleLineBreaks,r.instance.refresh(),this.container.viewContainerRef.insert(r.hostView,this.container.viewContainerRef.length)}},e.prototype._replaceComponent=function(e,t,n,o){var r=this,a=0;return e.replace(n,(function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];var i=r._componentFactoryResolver.resolveComponentFactory(t),l=i.create(r._injector);o.apply(void 0,m([l],e));var s="["+i.selector+"-placeholder-"+a+++"]";return r._components[s]=l,s}))},e.prototype._replaceCheckbox=function(e){var t=this;return this._replaceComponent(e,n.MatCheckbox,/(?:^|\n)- \[(x| )\](.*)/gi,(function(e,n,o,r){e.instance.checked=!!o.trim(),e.instance.disabled=!0,e.instance.labelPosition="after",t._renderer.setProperty(e.instance._elementRef.nativeElement.getElementsByClassName("mat-checkbox-label")[0],"innerHTML",r)}))},e.prototype._replaceButtons=function(e){var t=this,n=/\[([^\[]+)\](\(#data=(.*)\))/i,o=new RegExp(n.source,n.flags+"g");return this._replaceComponent(e,g,o,(function(e,o){var r=n.exec(o),a=r[1],i=r[3];e.instance.text=a,e.instance.data=i,e.instance.clicked.subscribe((function(e){return t.buttonClicked.emit(e)}))}))},e.prototype._replaceCodeBlocks=function(e){var t=this;return this._replaceComponent(e,a.TdHighlightComponent,/(?:^|\n)```(.*)\n([\s\S]*?)\n```/g,(function(e,n,o,r){o&&(e.instance.codeLang=o),e.instance.copyCodeToClipboard=t.copyCodeToClipboard,e.instance.copyCodeTooltips=t.copyCodeTooltips,e.instance.content=r}))},e.prototype._replaceTables=function(e){return this._replaceComponent(e,y,/^ {0,3}\|?.+\|.+\n[ \t]{0,3}\|?[ \t]*:?[ \t]*(?:-|=){2,}[ \t]*:?[ \t]*\|[ \t]*:?[ \t]*(?:-|=){2,}[\s\S]+?(?:\n\n|~0)/gm,(function(e,t){for(var n=t.replace(/(\s|\t)*\n+(\s|\t)*$/g,"").split("\n"),o=n[0].split("|").filter((function(e){return e})).map((function(e){return e.trim()})),r=n[1].split("|").filter((function(e){return e})).map((function(e){return e.trim()})),a=[],i=function(e){var t=n[e].split("|").filter((function(e){return e})).map((function(e){return e.trim()})),r={};o.forEach((function(e,n){var o=t[n];o&&(r[e.toLowerCase().trim()]=o.replace(/`(.*)`/,(function(e,t){return t})))})),a.push(r)},l=2;l<n.length;l++)i(l);e.instance.columnDefs=o.map((function(e,t){return{label:e,name:e.toLowerCase().trim(),numeric:/^--*[ \t]*:[ \t]*$/.test(r[t])}})),e.instance.data=a}))},e.prototype._replaceLists=function(e){return this._replaceComponent(e,f,/(?:^|\n)(( *\+)[ |\t](.*)\n)+/g,(function(e,t){var n=t.split(new RegExp("\\n {"+(t.indexOf("+")-1).toString()+"}\\+[ |\\t]"));n.shift();var o=[];n.forEach((function(e,t){var n=e.split(/\n *\+ /);o.push({line:n.shift(),sublines:n.map((function(e){return e.trim()}))})})),e.instance.lines=o}))},e}();C.decorators=[{type:t.Component,args:[{selector:"td-flavored-markdown",template:"<div tdFlavoredMarkdownContainer>\n <ng-content></ng-content>\n</div>\n",changeDetection:t.ChangeDetectionStrategy.OnPush,styles:[":host ::ng-deep td-markdown:first-of-type>div:first-of-type>h1:first-of-type,:host ::ng-deep td-markdown:first-of-type>div:first-of-type>h2:first-of-type{margin-top:0}:host ::ng-deep mat-checkbox,:host ::ng-deep td-data-table{display:block}:host ::ng-deep mat-checkbox:last-of-type,:host ::ng-deep td-data-table,:host ::ng-deep td-highlight{margin-bottom:16px}:host ::ng-deep :not(pre)>code{font-family:Menlo,Monaco,Andale Mono,lucida console,Courier New,monospace;padding-left:2px;padding-right:2px}:host ::ng-deep td-highlight{-ms-flex-direction:row;-ms-flex-pack:justify;display:-ms-flexbox;display:flex;flex-direction:row;justify-content:space-between}"]}]}],C.ctorParameters=function(){return[{type:t.ComponentFactoryResolver},{type:t.Renderer2},{type:t.ChangeDetectorRef},{type:t.Injector},{type:t.ElementRef}]},C.propDecorators={content:[{type:t.Input,args:["content"]}],simpleLineBreaks:[{type:t.Input,args:["simpleLineBreaks"]}],hostedUrl:[{type:t.Input,args:["hostedUrl"]}],anchor:[{type:t.Input,args:["anchor"]}],copyCodeToClipboard:[{type:t.Input}],copyCodeTooltips:[{type:t.Input}],contentReady:[{type:t.Output}],buttonClicked:[{type:t.Output}],container:[{type:t.ViewChild,args:[v,{static:!0}]}]};var b=function(){function e(e,n){this._changeDetectorRef=e,this._markdownUrlLoaderService=n,this.copyCodeToClipboard=!1,this.copyCodeTooltips={},this.contentReady=new t.EventEmitter,this.loadFailed=new t.EventEmitter,this.buttonClicked=new t.EventEmitter,this.loading=!0}return e.prototype.ngOnChanges=function(e){(e.url||e.httpOptions)&&this.loadMarkdown()},e.prototype.loadMarkdown=function(){return u(this,void 0,void 0,(function(){var e,t;return d(this,(function(n){switch(n.label){case 0:this.loading=!0,this._changeDetectorRef.markForCheck(),n.label=1;case 1:return n.trys.push([1,3,4,5]),e=this,[4,this._markdownUrlLoaderService.load(this.url,this.httpOptions)];case 2:return e.content=n.sent(),[3,5];case 3:return t=n.sent(),this.loadFailed.emit(t),[3,5];case 4:return this.loading=!1,this._changeDetectorRef.markForCheck(),[7];case 5:return[2]}}))}))},e}();b.decorators=[{type:t.Component,args:[{selector:"td-flavored-markdown-loader",template:'<mat-progress-bar\n [ngClass]="\'delay\'"\n *ngIf="loading"\n mode="indeterminate"\n color="accent"\n class="sticky"\n></mat-progress-bar>\n<td-flavored-markdown\n *ngIf="!loading"\n [content]="content"\n [hostedUrl]="url"\n [anchor]="anchor"\n [copyCodeToClipboard]="copyCodeToClipboard"\n [copyCodeTooltips]="copyCodeTooltips"\n (contentReady)="contentReady.emit()"\n (buttonClicked)="buttonClicked.emit($event)"\n></td-flavored-markdown>\n',changeDetection:t.ChangeDetectionStrategy.OnPush,styles:[":host{display:block}.sticky{position:absolute;top:0}.delay{animation:delayAnimation;animation-duration:.6s}@keyframes delayAnimation{0%{opacity:0}99%{opacity:0}to{opacity:1}}"]}]}],b.ctorParameters=function(){return[{type:t.ChangeDetectorRef},{type:i.TdMarkdownLoaderService}]},b.propDecorators={url:[{type:t.Input}],httpOptions:[{type:t.Input}],anchor:[{type:t.Input}],copyCodeToClipboard:[{type:t.Input}],copyCodeTooltips:[{type:t.Input}],contentReady:[{type:t.Output}],loadFailed:[{type:t.Output}],buttonClicked:[{type:t.Output}]};var k=function(){};k.decorators=[{type:t.NgModule,args:[{imports:[l.CommonModule,n.MatCheckboxModule,s.MatListModule,c.MatProgressBarModule,a.CovalentHighlightModule,i.CovalentMarkdownModule,p.MatButtonModule,r.MatTableModule,o.MatSortModule],declarations:[f,C,v,b,g,y],exports:[C,b]}]}],e.CovalentFlavoredMarkdownModule=k,e.TdFlavoredMarkdownButtonComponent=g,e.TdFlavoredMarkdownComponent=C,e.TdFlavoredMarkdownContainerDirective=v,e.TdFlavoredMarkdownLoaderComponent=b,e.TdFlavoredMarkdownTableComponent=y,e.ɵa=f,Object.defineProperty(e,"__esModule",{value:!0})}));
16
- //# sourceMappingURL=covalent-flavored-markdown.umd.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","../../../src/platform/flavored-markdown/cfm-list/cfm-list.component.ts","../../../../src/platform/flavored-markdown/flavored-markdown.component.ts","../../../src/platform/flavored-markdown/flavored-markdown-loader/flavored-markdown-loader.component.ts","../../../../src/platform/flavored-markdown/flavored-markdown.module.ts"],"names":["__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","this","n","v","op","TypeError","call","pop","length","push","Object","create","__read","o","m","r","i","ar","error","__spread","arguments","concat","dense","Component","args","selector","template","Input","TdFlavoredMarkdownTableComponent","columnDefs","prototype","ngOnInit","displayedColumns","map","c","name","dataSource","MatTableDataSource","data","ngAfterViewInit","sort","ViewChild","MatSort","TdFlavoredMarkdownButtonComponent","display","text","clicked","EventEmitter","emitClick","emit","HostBinding","Output","TdFlavoredMarkdownContainerDirective","viewContainerRef","_renderer","clear","setProperty","element","nativeElement","Directive","ViewContainerRef","Renderer2","TdFlavoredMarkdownComponent","_componentFactoryResolver","_changeDetectorRef","_injector","_elementRef","_simpleLineBreaks","_components","_viewInit","copyCodeToClipboard","copyCodeTooltips","contentReady","buttonClicked","defineProperty","content","_content","simpleLineBreaks","hostedUrl","_hostedUrl","anchor","_anchor","ngOnChanges","changes","refresh","scrollToAnchor","_this","_loadContent","container","textContent","markForCheck","markdown","trim","lines","replace","split","firstLineWhitespace","match","startingWhitespaceRegex_1","RegExp","line","join","_replaceCodeBlocks","_replaceCheckbox","_replaceTables","_replaceLists","_replaceButtons","keys","compA","compB","indexOf","_render","setTimeout","key","markdownParts","shift","undefined","insert","hostView","contentRef","resolveComponentFactory","TdMarkdownComponent","instance","_replaceComponent","type","regExp","replacerFunc","componentIndex","_i","componentFactory","componentRef","MatCheckbox","checked","disabled","labelPosition","getElementsByClassName","buttonRegExp","globalButtonRegExp","source","flags","matches","exec","subscribe","clickEvent","TdHighlightComponent","language","codeblock","codeLang","dataTableLines","columns","filter","col","s","alignment","rowSplit","cell","row","forEach","index","rowSplitCell","toLowerCase","numeric","test","TdFlavoredListComponent","lineTexts","toString","sublineTexts","sublines","subline","changeDetection","ChangeDetectionStrategy","OnPush","ComponentFactoryResolver","ChangeDetectorRef","Injector","ElementRef","static","TdFlavoredMarkdownLoaderComponent","_markdownUrlLoaderService","loadFailed","loading","url","httpOptions","loadMarkdown","_a","load","_b","error_1","TdMarkdownLoaderService","NgModule","imports","CommonModule","MatCheckboxModule","MatListModule","MatProgressBarModule","CovalentHighlightModule","CovalentMarkdownModule","MatButtonModule","MatTableModule","MatSortModule","declarations","exports"],"mappings":"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","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 (Object.prototype.hasOwnProperty.call(b, 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 var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(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, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, 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\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, 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 { Component, Input } from '@angular/core';\n\nexport interface IFlavoredListItem {\n line: string;\n sublines?: string[];\n}\n\n@Component({\n selector: 'cfm-list',\n styleUrls: ['./cfm-list.component.scss'],\n templateUrl: './cfm-list.component.html',\n})\nexport class TdFlavoredListComponent {\n @Input() lines: IFlavoredListItem[];\n @Input() dense: boolean = false;\n}\n","import {\n Component,\n Directive,\n AfterViewInit,\n Input,\n Renderer2,\n Type,\n ComponentFactory,\n ChangeDetectorRef,\n EventEmitter,\n Output,\n ViewContainerRef,\n ComponentFactoryResolver,\n Injector,\n ComponentRef,\n ViewChild,\n ChangeDetectionStrategy,\n OnChanges,\n SimpleChanges,\n ElementRef,\n HostBinding,\n OnInit,\n} from '@angular/core';\n\nimport { MatCheckbox } from '@angular/material/checkbox';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { TdFlavoredListComponent, IFlavoredListItem } from './cfm-list/cfm-list.component';\nimport { TdHighlightComponent, ICopyCodeTooltips } from '@covalent/highlight';\nimport { TdMarkdownComponent, scrollToAnchor } from '@covalent/markdown';\n\nexport interface ITdFlavoredMarkdownButtonClickEvent {\n text: string;\n data: string;\n}\n\nexport interface ITdFlavoredMarkDownTableColumn {\n label: string;\n name: string;\n numeric: boolean;\n}\n\n@Component({\n template: `\n <mat-table [dataSource]=\"dataSource\" matSort>\n <!-- Column Definition -->\n <ng-template ngFor let-column [ngForOf]=\"columnDefs\">\n <ng-container [matColumnDef]=\"column.name\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{ column.label }}</mat-header-cell>\n <mat-cell *matCellDef=\"let row\">{{ row[column.name] }}</mat-cell>\n </ng-container>\n </ng-template>\n <!-- Header and Row Declarations -->\n <mat-header-row *matHeaderRowDef=\"displayedColumns\"></mat-header-row>\n <mat-row *matRowDef=\"let row; columns: displayedColumns\"></mat-row>\n </mat-table>\n `,\n})\nexport class TdFlavoredMarkdownTableComponent implements OnInit, AfterViewInit {\n @Input() columnDefs: ITdFlavoredMarkDownTableColumn[] = [];\n @Input() data: unknown[];\n @ViewChild(MatSort) sort: MatSort;\n\n displayedColumns: string[];\n dataSource: MatTableDataSource<unknown>;\n\n ngOnInit(): void {\n this.displayedColumns = this.columnDefs.map((c: ITdFlavoredMarkDownTableColumn) => c.name);\n this.dataSource = new MatTableDataSource(this.data);\n }\n\n ngAfterViewInit(): void {\n this.dataSource.sort = this.sort;\n }\n}\n\n@Component({\n template: `\n <button mat-raised-button (click)=\"emitClick()\">\n {{ text }}\n </button>\n `,\n})\nexport class TdFlavoredMarkdownButtonComponent {\n @HostBinding('style.display') display: string = 'inline-block';\n @Input() text: string = '';\n @Input() data: string = '';\n @Output()\n clicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> = new EventEmitter<ITdFlavoredMarkdownButtonClickEvent>();\n emitClick(): void {\n this.clicked.emit({ text: this.text, data: this.data });\n }\n}\n\n@Directive({\n selector: '[tdFlavoredMarkdownContainer]',\n})\nexport class TdFlavoredMarkdownContainerDirective {\n constructor(public viewContainerRef: ViewContainerRef, private _renderer: Renderer2) {}\n\n clear(): void {\n this._renderer.setProperty(this.viewContainerRef.element.nativeElement, 'innerHTML', '');\n this.viewContainerRef.clear();\n }\n}\n\nexport type IReplacerFunc<T> = (componentRef: ComponentRef<T>, ...args: any[]) => void;\n\n@Component({\n selector: 'td-flavored-markdown',\n styleUrls: ['./flavored-markdown.component.scss'],\n templateUrl: './flavored-markdown.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdFlavoredMarkdownComponent implements AfterViewInit, OnChanges {\n private _content: string;\n private _simpleLineBreaks: boolean = false;\n private _hostedUrl: string;\n private _anchor: string;\n\n private _components: {} = {};\n private _viewInit: boolean = false;\n /**\n * content?: string\n *\n * Markdown format content to be parsed as material/covalent markup.\n *\n * e.g. README.md content.\n */\n @Input('content')\n set content(content: string) {\n this._content = content;\n }\n\n /**\n * simpleLineBreaks?: string\n *\n * Sets whether newline characters inside paragraphs and spans are parsed as <br/>.\n * Defaults to false.\n */\n @Input('simpleLineBreaks')\n set simpleLineBreaks(simpleLineBreaks: boolean) {\n this._simpleLineBreaks = simpleLineBreaks;\n }\n\n /**\n * hostedUrl?: string\n *\n * If markdown contains relative paths, this is required to generate correct urls\n *\n */\n @Input('hostedUrl')\n set hostedUrl(hostedUrl: string) {\n this._hostedUrl = hostedUrl;\n }\n\n /**\n * anchor?: string\n *\n * Anchor to jump to\n *\n */\n @Input('anchor')\n set anchor(anchor: string) {\n this._anchor = anchor;\n }\n\n /**\n * copyCodeToClipboard?: boolean\n *\n * Display copy button on code snippets to copy code to clipboard.\n *\n */\n @Input() copyCodeToClipboard: boolean = false;\n\n /**\n * copyCodeTooltips?: ICopyCodeTooltips\n *\n * Tooltips for copy button to copy and upon copying.\n */\n @Input() copyCodeTooltips: ICopyCodeTooltips = {};\n /**\n * contentReady?: function\n * Event emitted after the markdown content rendering is finished.\n */\n @Output() contentReady: EventEmitter<undefined> = new EventEmitter<undefined>();\n\n /**\n * buttonClicked?: ITdFlavoredMarkdownButtonClickEvent\n * Event emitted when a button is clicked\n * Is an object containing text and data of button\n */\n @Output()\n buttonClicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> = new EventEmitter<ITdFlavoredMarkdownButtonClickEvent>();\n\n @ViewChild(TdFlavoredMarkdownContainerDirective, { static: true }) container: TdFlavoredMarkdownContainerDirective;\n\n constructor(\n private _componentFactoryResolver: ComponentFactoryResolver,\n private _renderer: Renderer2,\n private _changeDetectorRef: ChangeDetectorRef,\n private _injector: Injector,\n private _elementRef: ElementRef,\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n // only anchor changed\n if (changes.anchor && !changes.content && !changes.simpleLineBreaks && !changes.hostedUrl) {\n scrollToAnchor(this._elementRef.nativeElement, this._anchor, false);\n } else {\n this.refresh();\n }\n }\n\n ngAfterViewInit(): void {\n if (!this._content) {\n this._loadContent((<HTMLElement>this.container.viewContainerRef.element.nativeElement).textContent);\n Promise.resolve().then(() => {\n this._viewInit = true;\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n\n refresh(): void {\n if (this._content) {\n this._loadContent(this._content);\n } else if (this._viewInit) {\n this._loadContent((<HTMLElement>this.container.viewContainerRef.element.nativeElement).textContent);\n }\n this._changeDetectorRef.markForCheck();\n }\n\n private _loadContent(markdown: string): void {\n if (markdown && markdown.trim().length > 0) {\n this.container.clear();\n markdown = markdown.replace(/^(\\s|\\t)*\\n+/g, '').replace(/(\\s|\\t)*\\n+(\\s|\\t)*$/g, '');\n // Split markdown by line characters\n let lines: string[] = markdown.split('\\n');\n\n // check how much indentation is used by the first actual markdown line\n const firstLineWhitespace: string = lines[0].match(/^(\\s|\\t)*/)[0];\n\n // Remove all indentation spaces so markdown can be parsed correctly\n const startingWhitespaceRegex: RegExp = new RegExp('^' + firstLineWhitespace);\n lines = lines.map(function (line: string): string {\n return line.replace(startingWhitespaceRegex, '');\n });\n\n // Join lines again with line characters\n markdown = [...lines, '', ''].join('\\n');\n markdown = this._replaceCodeBlocks(markdown);\n markdown = this._replaceCheckbox(markdown);\n markdown = this._replaceTables(markdown);\n markdown = this._replaceLists(markdown);\n markdown = this._replaceButtons(markdown);\n const keys: string[] = Object.keys(this._components);\n // need to sort the placeholders in order of encounter in markdown content\n keys.sort((compA: string, compB: string) => {\n return markdown.indexOf(compA) > markdown.indexOf(compB) ? 1 : -1;\n });\n this._render(markdown, keys[0], keys);\n // TODO: timeout required since resizing of html elements occurs which causes a change in the scroll position\n setTimeout(() => scrollToAnchor(this._elementRef.nativeElement, this._anchor, false), 250);\n this.contentReady.emit();\n Promise.resolve().then(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n\n private _render(markdown: string, key: string, keys: string[]): void {\n if (!markdown) {\n return;\n }\n if (key && markdown.indexOf(key) > -1) {\n const markdownParts: string[] = markdown.split(key);\n keys.shift();\n this._render(markdownParts[0], undefined, undefined);\n this.container.viewContainerRef.insert(this._components[key].hostView, this.container.viewContainerRef.length);\n this._components[key] = undefined;\n delete this._components[key];\n this._render(markdownParts[1], keys[0], keys);\n } else {\n const contentRef: ComponentRef<TdMarkdownComponent> = this._componentFactoryResolver\n .resolveComponentFactory(TdMarkdownComponent)\n .create(this._injector);\n contentRef.instance.content = markdown;\n contentRef.instance.hostedUrl = this._hostedUrl;\n contentRef.instance.simpleLineBreaks = this._simpleLineBreaks;\n contentRef.instance.refresh();\n this.container.viewContainerRef.insert(contentRef.hostView, this.container.viewContainerRef.length);\n }\n }\n\n private _replaceComponent<T>(\n markdown: string,\n type: Type<T>,\n regExp: RegExp,\n replacerFunc: IReplacerFunc<T>,\n ): string {\n let componentIndex: number = 0;\n return markdown.replace(regExp, (...args: any[]) => {\n const componentFactory: ComponentFactory<T> = this._componentFactoryResolver.resolveComponentFactory(type);\n const componentRef: ComponentRef<T> = componentFactory.create(this._injector);\n replacerFunc(componentRef, ...args);\n const key: string = '[' + componentFactory.selector + '-placeholder-' + componentIndex++ + ']';\n this._components[key] = componentRef;\n return key;\n });\n }\n\n private _replaceCheckbox(markdown: string): string {\n const checkboxRegExp: RegExp = /(?:^|\\n)- \\[(x| )\\](.*)/gi;\n return this._replaceComponent(\n markdown,\n MatCheckbox,\n checkboxRegExp,\n (componentRef: ComponentRef<MatCheckbox>, match: string, checked: string, label: string) => {\n componentRef.instance.checked = !!checked.trim();\n componentRef.instance.disabled = true;\n componentRef.instance.labelPosition = 'after';\n this._renderer.setProperty(\n (<HTMLElement>componentRef.instance._elementRef.nativeElement).getElementsByClassName(\n 'mat-checkbox-label',\n )[0],\n 'innerHTML',\n label,\n );\n },\n );\n }\n\n private _replaceButtons(markdown: string): string {\n const buttonRegExp: RegExp = /\\[([^\\[]+)\\](\\(#data=(.*)\\))/i;\n const globalButtonRegExp: RegExp = new RegExp(buttonRegExp.source, buttonRegExp.flags + 'g');\n return this._replaceComponent(\n markdown,\n TdFlavoredMarkdownButtonComponent,\n globalButtonRegExp,\n (componentRef: ComponentRef<TdFlavoredMarkdownButtonComponent>, match: string) => {\n const matches: RegExpExecArray = buttonRegExp.exec(match);\n const text: string = matches[1];\n const data: string = matches[3];\n componentRef.instance.text = text;\n componentRef.instance.data = data;\n componentRef.instance.clicked.subscribe((clickEvent: ITdFlavoredMarkdownButtonClickEvent) =>\n this.buttonClicked.emit(clickEvent),\n );\n },\n );\n }\n\n private _replaceCodeBlocks(markdown: string): string {\n const codeBlockRegExp: RegExp = /(?:^|\\n)```(.*)\\n([\\s\\S]*?)\\n```/g;\n return this._replaceComponent(\n markdown,\n TdHighlightComponent,\n codeBlockRegExp,\n (componentRef: ComponentRef<TdHighlightComponent>, match: string, language: string, codeblock: string) => {\n if (language) {\n componentRef.instance.codeLang = language;\n }\n componentRef.instance.copyCodeToClipboard = this.copyCodeToClipboard;\n componentRef.instance.copyCodeTooltips = this.copyCodeTooltips;\n componentRef.instance.content = codeblock;\n },\n );\n }\n\n private _replaceTables(markdown: string): string {\n const tableRgx: RegExp =\n /^ {0,3}\\|?.+\\|.+\\n[ \\t]{0,3}\\|?[ \\t]*:?[ \\t]*(?:-|=){2,}[ \\t]*:?[ \\t]*\\|[ \\t]*:?[ \\t]*(?:-|=){2,}[\\s\\S]+?(?:\\n\\n|~0)/gm;\n return this._replaceComponent(\n markdown,\n TdFlavoredMarkdownTableComponent,\n tableRgx,\n (componentRef: ComponentRef<TdFlavoredMarkdownTableComponent>, match: string) => {\n const dataTableLines: string[] = match.replace(/(\\s|\\t)*\\n+(\\s|\\t)*$/g, '').split('\\n');\n const columns: string[] = dataTableLines[0]\n .split('|')\n .filter((col: string) => {\n return col;\n })\n .map((s: string) => {\n return s.trim();\n });\n const alignment: string[] = dataTableLines[1]\n .split('|')\n .filter((v: string) => {\n return v;\n })\n .map((s: string) => {\n return s.trim();\n });\n\n const data: any[] = [];\n for (let i: number = 2; i < dataTableLines.length; i++) {\n const rowSplit: string[] = dataTableLines[i]\n .split('|')\n .filter((cell: string) => {\n return cell;\n })\n .map((s: string) => {\n return s.trim();\n });\n const row: any = {};\n columns.forEach((col: string, index: number) => {\n const rowSplitCell: string = rowSplit[index];\n if (rowSplitCell) {\n row[col.toLowerCase().trim()] = rowSplitCell.replace(/`(.*)`/, (m: string, value: string) => {\n return value;\n });\n }\n });\n data.push(row);\n }\n componentRef.instance.columnDefs = columns.map((col: string, index: number) => {\n return {\n label: col,\n name: col.toLowerCase().trim(),\n numeric: /^--*[ \\t]*:[ \\t]*$/.test(alignment[index]),\n };\n });\n componentRef.instance.data = data;\n },\n );\n }\n\n private _replaceLists(markdown: string): string {\n const listRegExp: RegExp = /(?:^|\\n)(( *\\+)[ |\\t](.*)\\n)+/g;\n return this._replaceComponent(\n markdown,\n TdFlavoredListComponent,\n listRegExp,\n (componentRef: ComponentRef<TdFlavoredListComponent>, match: string) => {\n const lineTexts: string[] = match.split(\n new RegExp('\\\\n {' + (match.indexOf('+') - 1).toString() + '}\\\\+[ |\\\\t]'),\n );\n lineTexts.shift();\n const lines: IFlavoredListItem[] = [];\n lineTexts.forEach((text: string, index: number) => {\n const sublineTexts: string[] = text.split(/\\n *\\+ /);\n lines.push({\n line: sublineTexts.shift(),\n sublines: sublineTexts.map((subline: string) => {\n return subline.trim();\n }),\n });\n });\n componentRef.instance.lines = lines;\n },\n );\n }\n}\n","import {\n Component,\n Input,\n ChangeDetectorRef,\n SimpleChanges,\n OnChanges,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport { TdMarkdownLoaderService } from '@covalent/markdown';\nimport { ITdFlavoredMarkdownButtonClickEvent } from '../flavored-markdown.component';\nimport { ICopyCodeTooltips } from '@covalent/highlight';\n\n// TODO: make a td-markdown-loader component\n\n@Component({\n selector: 'td-flavored-markdown-loader',\n styleUrls: ['./flavored-markdown-loader.component.scss'],\n templateUrl: './flavored-markdown-loader.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdFlavoredMarkdownLoaderComponent implements OnChanges {\n /**\n * url: string\n * The url of the markdown file.\n */\n @Input() url: string;\n\n /**\n * httpOptions: object\n * HTTP options that can be part of the request.\n */\n @Input() httpOptions: object;\n\n /**\n * anchor: string\n * Anchor to jump to.\n */\n @Input() anchor: string;\n\n /**\n * copyCodeToClipboard?: boolean\n *\n * Display copy button on code snippets to copy code to clipboard.\n *\n */\n @Input() copyCodeToClipboard: boolean = false;\n\n /**\n * copyCodeTooltips?: ICopyCodeTooltips\n *\n * Tooltips for copy button to copy and upon copying.\n */\n @Input() copyCodeTooltips: ICopyCodeTooltips = {};\n\n /**\n * contentReady: void\n * Emitted when markdown rendering is finished.\n */\n @Output() contentReady: EventEmitter<void> = new EventEmitter();\n\n /**\n * loadFailed: Error\n * Emitted when loading of markdown file fails.\n */\n @Output() loadFailed: EventEmitter<Error> = new EventEmitter();\n\n @Output() buttonClicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> = new EventEmitter();\n\n content: string;\n loading: boolean = true;\n\n constructor(\n private _changeDetectorRef: ChangeDetectorRef,\n private _markdownUrlLoaderService: TdMarkdownLoaderService,\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.url || changes.httpOptions) {\n this.loadMarkdown();\n }\n }\n\n async loadMarkdown(): Promise<void> {\n this.loading = true;\n this._changeDetectorRef.markForCheck();\n try {\n this.content = await this._markdownUrlLoaderService.load(this.url, this.httpOptions);\n } catch (error) {\n this.loadFailed.emit(error);\n } finally {\n this.loading = false;\n this._changeDetectorRef.markForCheck();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatListModule } from '@angular/material/list';\n\nimport { CovalentHighlightModule } from '@covalent/highlight';\nimport { CovalentMarkdownModule } from '@covalent/markdown';\n\nimport { TdFlavoredListComponent } from './cfm-list/cfm-list.component';\nimport {\n TdFlavoredMarkdownComponent,\n TdFlavoredMarkdownContainerDirective,\n TdFlavoredMarkdownButtonComponent,\n TdFlavoredMarkdownTableComponent,\n} from './flavored-markdown.component';\nimport { TdFlavoredMarkdownLoaderComponent } from './flavored-markdown-loader/flavored-markdown-loader.component';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatSortModule } from '@angular/material/sort';\n\n@NgModule({\n imports: [\n CommonModule,\n MatCheckboxModule,\n MatListModule,\n MatProgressBarModule,\n CovalentHighlightModule,\n CovalentMarkdownModule,\n MatButtonModule,\n MatTableModule,\n MatSortModule,\n ],\n declarations: [\n TdFlavoredListComponent,\n TdFlavoredMarkdownComponent,\n TdFlavoredMarkdownContainerDirective,\n TdFlavoredMarkdownLoaderComponent,\n TdFlavoredMarkdownButtonComponent,\n TdFlavoredMarkdownTableComponent,\n ],\n exports: [TdFlavoredMarkdownComponent, TdFlavoredMarkdownLoaderComponent],\n})\nexport class CovalentFlavoredMarkdownModule {}\n"]}
@@ -1,8 +0,0 @@
1
- export interface IFlavoredListItem {
2
- line: string;
3
- sublines?: string[];
4
- }
5
- export declare class TdFlavoredListComponent {
6
- lines: IFlavoredListItem[];
7
- dense: boolean;
8
- }
File without changes
@@ -1 +0,0 @@
1
- {"__symbolic":"module","version":4,"metadata":{"ITdFlavoredMarkdownButtonClickEvent":{"__symbolic":"interface"},"ITdFlavoredMarkDownTableColumn":{"__symbolic":"interface"},"TdFlavoredMarkdownTableComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":42,"character":1},"arguments":[{"template":"\n <mat-table [dataSource]=\"dataSource\" matSort>\n <!-- Column Definition -->\n <ng-template ngFor let-column [ngForOf]=\"columnDefs\">\n <ng-container [matColumnDef]=\"column.name\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{ column.label }}</mat-header-cell>\n <mat-cell *matCellDef=\"let row\">{{ row[column.name] }}</mat-cell>\n </ng-container>\n </ng-template>\n <!-- Header and Row Declarations -->\n <mat-header-row *matHeaderRowDef=\"displayedColumns\"></mat-header-row>\n <mat-row *matRowDef=\"let row; columns: displayedColumns\"></mat-row>\n </mat-table>\n "}]}],"members":{"columnDefs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":59,"character":3}}]}],"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":60,"character":3}}]}],"sort":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":61,"character":3},"arguments":[{"__symbolic":"reference","module":"@angular/material/sort","name":"MatSort","line":61,"character":13}]}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}]}},"TdFlavoredMarkdownButtonComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":76,"character":1},"arguments":[{"template":"\n <button mat-raised-button (click)=\"emitClick()\">\n {{ text }}\n </button>\n "}]}],"members":{"display":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":84,"character":3},"arguments":["style.display"]}]}],"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":85,"character":3}}]}],"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":86,"character":3}}]}],"clicked":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":87,"character":3}}]}],"emitClick":[{"__symbolic":"method"}]}},"TdFlavoredMarkdownContainerDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":94,"character":1},"arguments":[{"selector":"[tdFlavoredMarkdownContainer]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":98,"character":39},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":98,"character":76}]}],"clear":[{"__symbolic":"method"}]}},"IReplacerFunc":{"__symbolic":"interface"},"TdFlavoredMarkdownComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":108,"character":1},"arguments":[{"selector":"td-flavored-markdown","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":112,"character":19},"member":"OnPush"},"template":"<div tdFlavoredMarkdownContainer>\n <ng-content></ng-content>\n</div>\n","styles":[":host ::ng-deep td-markdown:first-of-type>div:first-of-type>h1:first-of-type,:host ::ng-deep td-markdown:first-of-type>div:first-of-type>h2:first-of-type{margin-top:0}:host ::ng-deep mat-checkbox,:host ::ng-deep td-data-table{display:block}:host ::ng-deep mat-checkbox:last-of-type,:host ::ng-deep td-data-table,:host ::ng-deep td-highlight{margin-bottom:16px}:host ::ng-deep :not(pre)>code{font-family:Menlo,Monaco,Andale Mono,lucida console,Courier New,monospace;padding-left:2px;padding-right:2px}:host ::ng-deep td-highlight{-ms-flex-direction:row;-ms-flex-pack:justify;display:-ms-flexbox;display:flex;flex-direction:row;justify-content:space-between}"]}]}],"members":{"content":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":129,"character":3},"arguments":["content"]}]}],"simpleLineBreaks":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":140,"character":3},"arguments":["simpleLineBreaks"]}]}],"hostedUrl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":151,"character":3},"arguments":["hostedUrl"]}]}],"anchor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":162,"character":3},"arguments":["anchor"]}]}],"copyCodeToClipboard":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":173,"character":3}}]}],"copyCodeTooltips":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":180,"character":3}}]}],"contentReady":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":185,"character":3}}]}],"buttonClicked":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":192,"character":3}}]}],"container":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":195,"character":3},"arguments":[{"__symbolic":"reference","name":"TdFlavoredMarkdownContainerDirective"},{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":198,"character":39},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":98,"character":76},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":200,"character":32},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":201,"character":23},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":202,"character":25}]}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"refresh":[{"__symbolic":"method"}],"_loadContent":[{"__symbolic":"method"}],"_render":[{"__symbolic":"method"}],"_replaceComponent":[{"__symbolic":"method"}],"_replaceCheckbox":[{"__symbolic":"method"}],"_replaceButtons":[{"__symbolic":"method"}],"_replaceCodeBlocks":[{"__symbolic":"method"}],"_replaceTables":[{"__symbolic":"method"}],"_replaceLists":[{"__symbolic":"method"}]}},"CovalentFlavoredMarkdownModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":22,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":24,"character":4},{"__symbolic":"reference","module":"@angular/material/checkbox","name":"MatCheckboxModule","line":25,"character":4},{"__symbolic":"reference","module":"@angular/material/list","name":"MatListModule","line":26,"character":4},{"__symbolic":"reference","module":"@angular/material/progress-bar","name":"MatProgressBarModule","line":27,"character":4},{"__symbolic":"reference","module":"@covalent/highlight","name":"CovalentHighlightModule","line":28,"character":4},{"__symbolic":"reference","module":"@covalent/markdown","name":"CovalentMarkdownModule","line":29,"character":4},{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":30,"character":4},{"__symbolic":"reference","module":"@angular/material/table","name":"MatTableModule","line":31,"character":4},{"__symbolic":"reference","module":"@angular/material/sort","name":"MatSortModule","line":32,"character":4}],"declarations":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"TdFlavoredMarkdownComponent"},{"__symbolic":"reference","name":"TdFlavoredMarkdownContainerDirective"},{"__symbolic":"reference","name":"TdFlavoredMarkdownLoaderComponent"},{"__symbolic":"reference","name":"TdFlavoredMarkdownButtonComponent"},{"__symbolic":"reference","name":"TdFlavoredMarkdownTableComponent"}],"exports":[{"__symbolic":"reference","name":"TdFlavoredMarkdownComponent"},{"__symbolic":"reference","name":"TdFlavoredMarkdownLoaderComponent"}]}]}],"members":{}},"TdFlavoredMarkdownLoaderComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":16,"character":1},"arguments":[{"selector":"td-flavored-markdown-loader","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":20,"character":19},"member":"OnPush"},"template":"<mat-progress-bar\n [ngClass]=\"'delay'\"\n *ngIf=\"loading\"\n mode=\"indeterminate\"\n color=\"accent\"\n class=\"sticky\"\n></mat-progress-bar>\n<td-flavored-markdown\n *ngIf=\"!loading\"\n [content]=\"content\"\n [hostedUrl]=\"url\"\n [anchor]=\"anchor\"\n [copyCodeToClipboard]=\"copyCodeToClipboard\"\n [copyCodeTooltips]=\"copyCodeTooltips\"\n (contentReady)=\"contentReady.emit()\"\n (buttonClicked)=\"buttonClicked.emit($event)\"\n></td-flavored-markdown>\n","styles":[":host{display:block}.sticky{position:absolute;top:0}.delay{animation:delayAnimation;animation-duration:.6s}@keyframes delayAnimation{0%{opacity:0}99%{opacity:0}to{opacity:1}}"]}]}],"members":{"url":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"httpOptions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"anchor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":3}}]}],"copyCodeToClipboard":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":47,"character":3}}]}],"copyCodeTooltips":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":3}}]}],"contentReady":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":60,"character":3}}]}],"loadFailed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":66,"character":3}}]}],"buttonClicked":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":68,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":74,"character":32},{"__symbolic":"reference","module":"@covalent/markdown","name":"TdMarkdownLoaderService","line":75,"character":39}]}],"ngOnChanges":[{"__symbolic":"method"}],"loadMarkdown":[{"__symbolic":"method"}]}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"cfm-list","template":"<mat-list [attr.dense]=\"dense ? true : null\">\n <ng-template let-line let-last=\"last\" ngFor [ngForOf]=\"lines\">\n <mat-list-item>\n <h4 matLine>\n {{ line.line }}\n </h4>\n <p *ngFor=\"let subline of line.sublines\" matLine>\n {{ subline }}\n </p>\n <mat-divider *ngIf=\"!last\"></mat-divider>\n </mat-list-item>\n </ng-template>\n</mat-list>\n","styles":[""]}]}],"members":{"lines":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"dense":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}]}}},"origins":{"ITdFlavoredMarkdownButtonClickEvent":"./flavored-markdown.component","ITdFlavoredMarkDownTableColumn":"./flavored-markdown.component","TdFlavoredMarkdownTableComponent":"./flavored-markdown.component","TdFlavoredMarkdownButtonComponent":"./flavored-markdown.component","TdFlavoredMarkdownContainerDirective":"./flavored-markdown.component","IReplacerFunc":"./flavored-markdown.component","TdFlavoredMarkdownComponent":"./flavored-markdown.component","CovalentFlavoredMarkdownModule":"./flavored-markdown.module","TdFlavoredMarkdownLoaderComponent":"./flavored-markdown-loader/flavored-markdown-loader.component","ɵa":"./cfm-list/cfm-list.component"},"importAs":"@covalent/flavored-markdown"}
@@ -1,39 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: cfm-list/cfm-list.component.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { Component, Input } from '@angular/core';
7
- /**
8
- * @record
9
- */
10
- export function IFlavoredListItem() { }
11
- if (false) {
12
- /** @type {?} */
13
- IFlavoredListItem.prototype.line;
14
- /** @type {?|undefined} */
15
- IFlavoredListItem.prototype.sublines;
16
- }
17
- export class TdFlavoredListComponent {
18
- constructor() {
19
- this.dense = false;
20
- }
21
- }
22
- TdFlavoredListComponent.decorators = [
23
- { type: Component, args: [{
24
- selector: 'cfm-list',
25
- template: "<mat-list [attr.dense]=\"dense ? true : null\">\n <ng-template let-line let-last=\"last\" ngFor [ngForOf]=\"lines\">\n <mat-list-item>\n <h4 matLine>\n {{ line.line }}\n </h4>\n <p *ngFor=\"let subline of line.sublines\" matLine>\n {{ subline }}\n </p>\n <mat-divider *ngIf=\"!last\"></mat-divider>\n </mat-list-item>\n </ng-template>\n</mat-list>\n",
26
- styles: [""]
27
- }] }
28
- ];
29
- TdFlavoredListComponent.propDecorators = {
30
- lines: [{ type: Input }],
31
- dense: [{ type: Input }]
32
- };
33
- if (false) {
34
- /** @type {?} */
35
- TdFlavoredListComponent.prototype.lines;
36
- /** @type {?} */
37
- TdFlavoredListComponent.prototype.dense;
38
- }
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2ZtLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uL3NyYy9wbGF0Zm9ybS9mbGF2b3JlZC1tYXJrZG93bi8iLCJzb3VyY2VzIjpbImNmbS1saXN0L2NmbS1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBRWpELHVDQUdDOzs7SUFGQyxpQ0FBYTs7SUFDYixxQ0FBb0I7O0FBUXRCLE1BQU0sT0FBTyx1QkFBdUI7SUFMcEM7UUFPVyxVQUFLLEdBQVksS0FBSyxDQUFDO0lBQ2xDLENBQUM7OztZQVJBLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsVUFBVTtnQkFFcEIsd1pBQXdDOzthQUN6Qzs7O29CQUVFLEtBQUs7b0JBQ0wsS0FBSzs7OztJQUROLHdDQUFvQzs7SUFDcEMsd0NBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElGbGF2b3JlZExpc3RJdGVtIHtcbiAgbGluZTogc3RyaW5nO1xuICBzdWJsaW5lcz86IHN0cmluZ1tdO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjZm0tbGlzdCcsXG4gIHN0eWxlVXJsczogWycuL2NmbS1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9jZm0tbGlzdC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFRkRmxhdm9yZWRMaXN0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgbGluZXM6IElGbGF2b3JlZExpc3RJdGVtW107XG4gIEBJbnB1dCgpIGRlbnNlOiBib29sZWFuID0gZmFsc2U7XG59XG4iXX0=
@@ -1,11 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: covalent-flavored-markdown.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- /**
7
- * Generated bundle index. Do not edit.
8
- */
9
- export { TdFlavoredMarkdownTableComponent, TdFlavoredMarkdownButtonComponent, TdFlavoredMarkdownContainerDirective, TdFlavoredMarkdownComponent, CovalentFlavoredMarkdownModule, TdFlavoredMarkdownLoaderComponent } from './index';
10
- export { TdFlavoredListComponent as ɵa } from './cfm-list/cfm-list.component';
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY292YWxlbnQtZmxhdm9yZWQtbWFya2Rvd24uanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vc3JjL3BsYXRmb3JtL2ZsYXZvcmVkLW1hcmtkb3duLyIsInNvdXJjZXMiOlsiY292YWxlbnQtZmxhdm9yZWQtbWFya2Rvd24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFJQSwwTkFBYyxTQUFTLENBQUM7QUFFeEIsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEVBQUUsRUFBQyxNQUFNLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcblxuZXhwb3J0IHtUZEZsYXZvcmVkTGlzdENvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vY2ZtLWxpc3QvY2ZtLWxpc3QuY29tcG9uZW50JzsiXX0=
@@ -1,159 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: flavored-markdown-loader/flavored-markdown-loader.component.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { __awaiter } from "tslib";
7
- import { Component, Input, ChangeDetectorRef, Output, EventEmitter, ChangeDetectionStrategy, } from '@angular/core';
8
- import { TdMarkdownLoaderService } from '@covalent/markdown';
9
- // TODO: make a td-markdown-loader component
10
- export class TdFlavoredMarkdownLoaderComponent {
11
- /**
12
- * @param {?} _changeDetectorRef
13
- * @param {?} _markdownUrlLoaderService
14
- */
15
- constructor(_changeDetectorRef, _markdownUrlLoaderService) {
16
- this._changeDetectorRef = _changeDetectorRef;
17
- this._markdownUrlLoaderService = _markdownUrlLoaderService;
18
- /**
19
- * copyCodeToClipboard?: boolean
20
- *
21
- * Display copy button on code snippets to copy code to clipboard.
22
- *
23
- */
24
- this.copyCodeToClipboard = false;
25
- /**
26
- * copyCodeTooltips?: ICopyCodeTooltips
27
- *
28
- * Tooltips for copy button to copy and upon copying.
29
- */
30
- this.copyCodeTooltips = {};
31
- /**
32
- * contentReady: void
33
- * Emitted when markdown rendering is finished.
34
- */
35
- this.contentReady = new EventEmitter();
36
- /**
37
- * loadFailed: Error
38
- * Emitted when loading of markdown file fails.
39
- */
40
- this.loadFailed = new EventEmitter();
41
- this.buttonClicked = new EventEmitter();
42
- this.loading = true;
43
- }
44
- /**
45
- * @param {?} changes
46
- * @return {?}
47
- */
48
- ngOnChanges(changes) {
49
- if (changes.url || changes.httpOptions) {
50
- this.loadMarkdown();
51
- }
52
- }
53
- /**
54
- * @return {?}
55
- */
56
- loadMarkdown() {
57
- return __awaiter(this, void 0, void 0, function* () {
58
- this.loading = true;
59
- this._changeDetectorRef.markForCheck();
60
- try {
61
- this.content = yield this._markdownUrlLoaderService.load(this.url, this.httpOptions);
62
- }
63
- catch (error) {
64
- this.loadFailed.emit(error);
65
- }
66
- finally {
67
- this.loading = false;
68
- this._changeDetectorRef.markForCheck();
69
- }
70
- });
71
- }
72
- }
73
- TdFlavoredMarkdownLoaderComponent.decorators = [
74
- { type: Component, args: [{
75
- selector: 'td-flavored-markdown-loader',
76
- template: "<mat-progress-bar\n [ngClass]=\"'delay'\"\n *ngIf=\"loading\"\n mode=\"indeterminate\"\n color=\"accent\"\n class=\"sticky\"\n></mat-progress-bar>\n<td-flavored-markdown\n *ngIf=\"!loading\"\n [content]=\"content\"\n [hostedUrl]=\"url\"\n [anchor]=\"anchor\"\n [copyCodeToClipboard]=\"copyCodeToClipboard\"\n [copyCodeTooltips]=\"copyCodeTooltips\"\n (contentReady)=\"contentReady.emit()\"\n (buttonClicked)=\"buttonClicked.emit($event)\"\n></td-flavored-markdown>\n",
77
- changeDetection: ChangeDetectionStrategy.OnPush,
78
- styles: [":host{display:block}.sticky{position:absolute;top:0}.delay{animation:delayAnimation;animation-duration:.6s}@keyframes delayAnimation{0%{opacity:0}99%{opacity:0}to{opacity:1}}"]
79
- }] }
80
- ];
81
- /** @nocollapse */
82
- TdFlavoredMarkdownLoaderComponent.ctorParameters = () => [
83
- { type: ChangeDetectorRef },
84
- { type: TdMarkdownLoaderService }
85
- ];
86
- TdFlavoredMarkdownLoaderComponent.propDecorators = {
87
- url: [{ type: Input }],
88
- httpOptions: [{ type: Input }],
89
- anchor: [{ type: Input }],
90
- copyCodeToClipboard: [{ type: Input }],
91
- copyCodeTooltips: [{ type: Input }],
92
- contentReady: [{ type: Output }],
93
- loadFailed: [{ type: Output }],
94
- buttonClicked: [{ type: Output }]
95
- };
96
- if (false) {
97
- /**
98
- * url: string
99
- * The url of the markdown file.
100
- * @type {?}
101
- */
102
- TdFlavoredMarkdownLoaderComponent.prototype.url;
103
- /**
104
- * httpOptions: object
105
- * HTTP options that can be part of the request.
106
- * @type {?}
107
- */
108
- TdFlavoredMarkdownLoaderComponent.prototype.httpOptions;
109
- /**
110
- * anchor: string
111
- * Anchor to jump to.
112
- * @type {?}
113
- */
114
- TdFlavoredMarkdownLoaderComponent.prototype.anchor;
115
- /**
116
- * copyCodeToClipboard?: boolean
117
- *
118
- * Display copy button on code snippets to copy code to clipboard.
119
- *
120
- * @type {?}
121
- */
122
- TdFlavoredMarkdownLoaderComponent.prototype.copyCodeToClipboard;
123
- /**
124
- * copyCodeTooltips?: ICopyCodeTooltips
125
- *
126
- * Tooltips for copy button to copy and upon copying.
127
- * @type {?}
128
- */
129
- TdFlavoredMarkdownLoaderComponent.prototype.copyCodeTooltips;
130
- /**
131
- * contentReady: void
132
- * Emitted when markdown rendering is finished.
133
- * @type {?}
134
- */
135
- TdFlavoredMarkdownLoaderComponent.prototype.contentReady;
136
- /**
137
- * loadFailed: Error
138
- * Emitted when loading of markdown file fails.
139
- * @type {?}
140
- */
141
- TdFlavoredMarkdownLoaderComponent.prototype.loadFailed;
142
- /** @type {?} */
143
- TdFlavoredMarkdownLoaderComponent.prototype.buttonClicked;
144
- /** @type {?} */
145
- TdFlavoredMarkdownLoaderComponent.prototype.content;
146
- /** @type {?} */
147
- TdFlavoredMarkdownLoaderComponent.prototype.loading;
148
- /**
149
- * @type {?}
150
- * @private
151
- */
152
- TdFlavoredMarkdownLoaderComponent.prototype._changeDetectorRef;
153
- /**
154
- * @type {?}
155
- * @private
156
- */
157
- TdFlavoredMarkdownLoaderComponent.prototype._markdownUrlLoaderService;
158
- }
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdm9yZWQtbWFya2Rvd24tbG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi9zcmMvcGxhdGZvcm0vZmxhdm9yZWQtbWFya2Rvd24vIiwic291cmNlcyI6WyJmbGF2b3JlZC1tYXJrZG93bi1sb2FkZXIvZmxhdm9yZWQtbWFya2Rvd24tbG9hZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxpQkFBaUIsRUFHakIsTUFBTSxFQUNOLFlBQVksRUFDWix1QkFBdUIsR0FDeEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBWTdELE1BQU0sT0FBTyxpQ0FBaUM7Ozs7O0lBbUQ1QyxZQUNVLGtCQUFxQyxFQUNyQyx5QkFBa0Q7UUFEbEQsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQUNyQyw4QkFBeUIsR0FBekIseUJBQXlCLENBQXlCOzs7Ozs7O1FBNUJuRCx3QkFBbUIsR0FBWSxLQUFLLENBQUM7Ozs7OztRQU9yQyxxQkFBZ0IsR0FBc0IsRUFBRSxDQUFDOzs7OztRQU14QyxpQkFBWSxHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFDOzs7OztRQU10RCxlQUFVLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFckQsa0JBQWEsR0FBc0QsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUdoRyxZQUFPLEdBQVksSUFBSSxDQUFDO0lBS3JCLENBQUM7Ozs7O0lBRUosV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNyQjtJQUNILENBQUM7Ozs7SUFFSyxZQUFZOztZQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdkMsSUFBSTtnQkFDRixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUN0RjtZQUFDLE9BQU8sS0FBSyxFQUFFO2dCQUNkLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzdCO29CQUFTO2dCQUNSLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7YUFDeEM7UUFDSCxDQUFDO0tBQUE7OztZQS9FRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtnQkFFdkMsMmVBQXdEO2dCQUN4RCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDaEQ7Ozs7WUFsQkMsaUJBQWlCO1lBT1YsdUJBQXVCOzs7a0JBaUI3QixLQUFLOzBCQU1MLEtBQUs7cUJBTUwsS0FBSztrQ0FRTCxLQUFLOytCQU9MLEtBQUs7MkJBTUwsTUFBTTt5QkFNTixNQUFNOzRCQUVOLE1BQU07Ozs7Ozs7O0lBekNQLGdEQUFxQjs7Ozs7O0lBTXJCLHdEQUE2Qjs7Ozs7O0lBTTdCLG1EQUF3Qjs7Ozs7Ozs7SUFReEIsZ0VBQThDOzs7Ozs7O0lBTzlDLDZEQUFrRDs7Ozs7O0lBTWxELHlEQUFnRTs7Ozs7O0lBTWhFLHVEQUErRDs7SUFFL0QsMERBQWdHOztJQUVoRyxvREFBZ0I7O0lBQ2hCLG9EQUF3Qjs7Ozs7SUFHdEIsK0RBQTZDOzs7OztJQUM3QyxzRUFBMEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGRNYXJrZG93bkxvYWRlclNlcnZpY2UgfSBmcm9tICdAY292YWxlbnQvbWFya2Rvd24nO1xuaW1wb3J0IHsgSVRkRmxhdm9yZWRNYXJrZG93bkJ1dHRvbkNsaWNrRXZlbnQgfSBmcm9tICcuLi9mbGF2b3JlZC1tYXJrZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSUNvcHlDb2RlVG9vbHRpcHMgfSBmcm9tICdAY292YWxlbnQvaGlnaGxpZ2h0JztcblxuLy8gVE9ETzogbWFrZSBhIHRkLW1hcmtkb3duLWxvYWRlciBjb21wb25lbnRcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGQtZmxhdm9yZWQtbWFya2Rvd24tbG9hZGVyJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmxhdm9yZWQtbWFya2Rvd24tbG9hZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9mbGF2b3JlZC1tYXJrZG93bi1sb2FkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVGRGbGF2b3JlZE1hcmtkb3duTG9hZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgLyoqXG4gICAqIHVybDogc3RyaW5nXG4gICAqIFRoZSB1cmwgb2YgdGhlIG1hcmtkb3duIGZpbGUuXG4gICAqL1xuICBASW5wdXQoKSB1cmw6IHN0cmluZztcblxuICAvKipcbiAgICogaHR0cE9wdGlvbnM6IG9iamVjdFxuICAgKiBIVFRQIG9wdGlvbnMgdGhhdCBjYW4gYmUgcGFydCBvZiB0aGUgcmVxdWVzdC5cbiAgICovXG4gIEBJbnB1dCgpIGh0dHBPcHRpb25zOiBvYmplY3Q7XG5cbiAgLyoqXG4gICAqIGFuY2hvcjogc3RyaW5nXG4gICAqIEFuY2hvciB0byBqdW1wIHRvLlxuICAgKi9cbiAgQElucHV0KCkgYW5jaG9yOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGNvcHlDb2RlVG9DbGlwYm9hcmQ/OiBib29sZWFuXG4gICAqXG4gICAqIERpc3BsYXkgY29weSBidXR0b24gb24gY29kZSBzbmlwcGV0cyB0byBjb3B5IGNvZGUgdG8gY2xpcGJvYXJkLlxuICAgKlxuICAgKi9cbiAgQElucHV0KCkgY29weUNvZGVUb0NsaXBib2FyZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBjb3B5Q29kZVRvb2x0aXBzPzogSUNvcHlDb2RlVG9vbHRpcHNcbiAgICpcbiAgICogVG9vbHRpcHMgZm9yIGNvcHkgYnV0dG9uIHRvIGNvcHkgYW5kIHVwb24gY29weWluZy5cbiAgICovXG4gIEBJbnB1dCgpIGNvcHlDb2RlVG9vbHRpcHM6IElDb3B5Q29kZVRvb2x0aXBzID0ge307XG5cbiAgLyoqXG4gICAqIGNvbnRlbnRSZWFkeTogdm9pZFxuICAgKiBFbWl0dGVkIHdoZW4gbWFya2Rvd24gcmVuZGVyaW5nIGlzIGZpbmlzaGVkLlxuICAgKi9cbiAgQE91dHB1dCgpIGNvbnRlbnRSZWFkeTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBsb2FkRmFpbGVkOiBFcnJvclxuICAgKiBFbWl0dGVkIHdoZW4gbG9hZGluZyBvZiBtYXJrZG93biBmaWxlIGZhaWxzLlxuICAgKi9cbiAgQE91dHB1dCgpIGxvYWRGYWlsZWQ6IEV2ZW50RW1pdHRlcjxFcnJvcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxJVGRGbGF2b3JlZE1hcmtkb3duQnV0dG9uQ2xpY2tFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29udGVudDogc3RyaW5nO1xuICBsb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBfbWFya2Rvd25VcmxMb2FkZXJTZXJ2aWNlOiBUZE1hcmtkb3duTG9hZGVyU2VydmljZSxcbiAgKSB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy51cmwgfHwgY2hhbmdlcy5odHRwT3B0aW9ucykge1xuICAgICAgdGhpcy5sb2FkTWFya2Rvd24oKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2FkTWFya2Rvd24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB0cnkge1xuICAgICAgdGhpcy5jb250ZW50ID0gYXdhaXQgdGhpcy5fbWFya2Rvd25VcmxMb2FkZXJTZXJ2aWNlLmxvYWQodGhpcy51cmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLmxvYWRGYWlsZWQuZW1pdChlcnJvcik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG59XG4iXX0=