@taiga-ui/addon-doc 3.16.0-dev.main-be14e7c → 3.16.0-dev.main-92f5373
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.
- package/bundles/taiga-ui-addon-doc.umd.js +32 -22
- package/bundles/taiga-ui-addon-doc.umd.js.map +1 -1
- package/components/code/code.component.d.ts +3 -0
- package/esm2015/components/code/code.component.js +13 -8
- package/esm2015/tokens/example-content-processor.js +3 -1
- package/fesm2015/taiga-ui-addon-doc.js +23 -17
- package/fesm2015/taiga-ui-addon-doc.js.map +1 -1
- package/package.json +1 -1
- package/tokens/example-content-processor.d.ts +1 -0
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
import { TuiHandler } from '@taiga-ui/cdk';
|
|
1
2
|
import { RawLoaderContent } from '../../interfaces/page';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
export declare class TuiDocCodeComponent {
|
|
5
|
+
readonly markdownCodeProcessor: TuiHandler<string, string[]>;
|
|
4
6
|
private readonly rawLoader$$;
|
|
5
7
|
filename: string;
|
|
6
8
|
readonly processor$: import("rxjs").Observable<string[]>;
|
|
9
|
+
constructor(markdownCodeProcessor: TuiHandler<string, string[]>);
|
|
7
10
|
set code(code: RawLoaderContent);
|
|
8
11
|
get hasFilename(): boolean;
|
|
9
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiDocCodeComponent, never>;
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import { Component, HostBinding, Input } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, HostBinding, Inject, Input, } from '@angular/core';
|
|
2
2
|
import { BehaviorSubject } from 'rxjs';
|
|
3
3
|
import { map, switchMap } from 'rxjs/operators';
|
|
4
|
+
import { TUI_DOC_EXAMPLE_MARKDOWN_CODE_PROCESSOR } from '../../tokens/example-content-processor';
|
|
4
5
|
import { tuiRawLoad } from '../../utils/raw-load';
|
|
5
|
-
import { tuiTryParseMarkdownCodeBlock } from './parse-code-block';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "@angular/common";
|
|
8
8
|
import * as i2 from "ngx-highlightjs";
|
|
9
9
|
export class TuiDocCodeComponent {
|
|
10
|
-
constructor() {
|
|
10
|
+
constructor(markdownCodeProcessor) {
|
|
11
|
+
this.markdownCodeProcessor = markdownCodeProcessor;
|
|
11
12
|
this.rawLoader$$ = new BehaviorSubject('');
|
|
12
13
|
this.filename = '';
|
|
13
|
-
this.processor$ = this.rawLoader$$.pipe(switchMap(tuiRawLoad), map(
|
|
14
|
+
this.processor$ = this.rawLoader$$.pipe(switchMap(tuiRawLoad), map((value) => this.markdownCodeProcessor(value)));
|
|
14
15
|
}
|
|
15
16
|
set code(code) {
|
|
16
17
|
this.rawLoader$$.next(code);
|
|
@@ -19,16 +20,20 @@ export class TuiDocCodeComponent {
|
|
|
19
20
|
return !!this.filename;
|
|
20
21
|
}
|
|
21
22
|
}
|
|
22
|
-
TuiDocCodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocCodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
23
|
-
TuiDocCodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDocCodeComponent, selector: "tui-doc-code", inputs: { filename: "filename", code: "code" }, host: { properties: { "class._has-filename": "this.hasFilename" } }, ngImport: i0, template: "<!-- eslint-disable @html-eslint/element-newline -->\n<p\n *ngIf=\"filename\"\n class=\"t-header\"\n>\n {{ filename }}\n</p>\n<pre\n *ngFor=\"let content of processor$ | async\"\n class=\"t-code\"\n><code [lineNumbers]=\"true\" [highlight]=\"content\"></code></pre>\n", styles: [":host{display:block}.t-header{font:var(--tui-font-text-s);font-weight:bold}.t-code{margin:0}.t-code+.t-code{margin-top:1rem}.hljs:not(:empty){font:var(--tui-font-text-m);padding:1.5rem 2rem;font-family:monospace;background:var(--tui-clear);word-wrap:break-word;white-space:pre-wrap}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){.hljs:not(:empty)::-webkit-scrollbar,.hljs:not(:empty)::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:2.667rem solid transparent}.hljs:not(:empty)::-webkit-scrollbar{background-color:transparent}.hljs:not(:empty)::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}.hljs:not(:empty)::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}.hljs:not(:empty)::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}:host._has-filename .hljs:not(:empty){border-radius:.75rem}:host-context(tui-root._mobile) .hljs:not(:empty){padding:1rem}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.Highlight, selector: "[highlight]", inputs: ["highlight", "languages", "lineNumbers"], outputs: ["highlighted"] }], pipes: { "async": i1.AsyncPipe } });
|
|
23
|
+
TuiDocCodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocCodeComponent, deps: [{ token: TUI_DOC_EXAMPLE_MARKDOWN_CODE_PROCESSOR }], target: i0.ɵɵFactoryTarget.Component });
|
|
24
|
+
TuiDocCodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDocCodeComponent, selector: "tui-doc-code", inputs: { filename: "filename", code: "code" }, host: { properties: { "class._has-filename": "this.hasFilename" } }, ngImport: i0, template: "<!-- eslint-disable @html-eslint/element-newline -->\n<p\n *ngIf=\"filename\"\n class=\"t-header\"\n>\n {{ filename }}\n</p>\n<pre\n *ngFor=\"let content of processor$ | async\"\n class=\"t-code\"\n><code [lineNumbers]=\"true\" [highlight]=\"content\"></code></pre>\n", styles: [":host{display:block}.t-header{font:var(--tui-font-text-s);font-weight:bold}.t-code{margin:0}.t-code+.t-code{margin-top:1rem}.hljs:not(:empty){font:var(--tui-font-text-m);padding:1.5rem 2rem;font-family:monospace;background:var(--tui-clear);word-wrap:break-word;white-space:pre-wrap}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){.hljs:not(:empty)::-webkit-scrollbar,.hljs:not(:empty)::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:2.667rem solid transparent}.hljs:not(:empty)::-webkit-scrollbar{background-color:transparent}.hljs:not(:empty)::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}.hljs:not(:empty)::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}.hljs:not(:empty)::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}:host._has-filename .hljs:not(:empty){border-radius:.75rem}:host-context(tui-root._mobile) .hljs:not(:empty){padding:1rem}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.Highlight, selector: "[highlight]", inputs: ["highlight", "languages", "lineNumbers"], outputs: ["highlighted"] }], pipes: { "async": i1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
24
25
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocCodeComponent, decorators: [{
|
|
25
26
|
type: Component,
|
|
26
27
|
args: [{
|
|
27
28
|
selector: 'tui-doc-code',
|
|
28
29
|
templateUrl: './code.template.html',
|
|
29
30
|
styleUrls: ['./code.style.less'],
|
|
31
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
30
32
|
}]
|
|
31
|
-
}],
|
|
33
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
34
|
+
type: Inject,
|
|
35
|
+
args: [TUI_DOC_EXAMPLE_MARKDOWN_CODE_PROCESSOR]
|
|
36
|
+
}] }]; }, propDecorators: { filename: [{
|
|
32
37
|
type: Input
|
|
33
38
|
}], code: [{
|
|
34
39
|
type: Input
|
|
@@ -36,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
36
41
|
type: HostBinding,
|
|
37
42
|
args: ['class._has-filename']
|
|
38
43
|
}] } });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2Mvc3JjL2NvbXBvbmVudHMvY29kZS9jb2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy9zcmMvY29tcG9uZW50cy9jb2RlL2NvZGUudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssR0FDUixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHOUMsT0FBTyxFQUFDLHVDQUF1QyxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDL0YsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7O0FBUWhELE1BQU0sT0FBTyxtQkFBbUI7SUFXNUIsWUFFYSxxQkFBbUQ7UUFBbkQsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUE4QjtRQVovQyxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFtQixFQUFFLENBQUMsQ0FBQztRQUd6RSxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBRUwsZUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUN2QyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQ3JCLEdBQUcsQ0FBQyxDQUFDLEtBQWEsRUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ3RFLENBQUM7SUFLQyxDQUFDO0lBRUosSUFDSSxJQUFJLENBQUMsSUFBc0I7UUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQ0ksV0FBVztRQUNYLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDM0IsQ0FBQzs7aUhBeEJRLG1CQUFtQixrQkFZaEIsdUNBQXVDO3FHQVoxQyxtQkFBbUIseUtDckJoQyw0UkFXQTs0RkRVYSxtQkFBbUI7a0JBTi9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFdBQVcsRUFBRSxzQkFBc0I7b0JBQ25DLFNBQVMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUNoQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7OzBCQWFRLE1BQU07MkJBQUMsdUNBQXVDOzRDQVJuRCxRQUFRO3NCQURQLEtBQUs7Z0JBY0YsSUFBSTtzQkFEUCxLQUFLO2dCQU1GLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtSYXdMb2FkZXJDb250ZW50fSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3BhZ2UnO1xuaW1wb3J0IHtUVUlfRE9DX0VYQU1QTEVfTUFSS0RPV05fQ09ERV9QUk9DRVNTT1J9IGZyb20gJy4uLy4uL3Rva2Vucy9leGFtcGxlLWNvbnRlbnQtcHJvY2Vzc29yJztcbmltcG9ydCB7dHVpUmF3TG9hZH0gZnJvbSAnLi4vLi4vdXRpbHMvcmF3LWxvYWQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1kb2MtY29kZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvZGUudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY29kZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY0NvZGVDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmF3TG9hZGVyJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFJhd0xvYWRlckNvbnRlbnQ+KCcnKTtcblxuICAgIEBJbnB1dCgpXG4gICAgZmlsZW5hbWUgPSAnJztcblxuICAgIHJlYWRvbmx5IHByb2Nlc3NvciQgPSB0aGlzLnJhd0xvYWRlciQkLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCh0dWlSYXdMb2FkKSxcbiAgICAgICAgbWFwKCh2YWx1ZTogc3RyaW5nKTogc3RyaW5nW10gPT4gdGhpcy5tYXJrZG93bkNvZGVQcm9jZXNzb3IodmFsdWUpKSxcbiAgICApO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX0RPQ19FWEFNUExFX01BUktET1dOX0NPREVfUFJPQ0VTU09SKVxuICAgICAgICByZWFkb25seSBtYXJrZG93bkNvZGVQcm9jZXNzb3I6IFR1aUhhbmRsZXI8c3RyaW5nLCBzdHJpbmdbXT4sXG4gICAgKSB7fVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgY29kZShjb2RlOiBSYXdMb2FkZXJDb250ZW50KSB7XG4gICAgICAgIHRoaXMucmF3TG9hZGVyJCQubmV4dChjb2RlKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9oYXMtZmlsZW5hbWUnKVxuICAgIGdldCBoYXNGaWxlbmFtZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5maWxlbmFtZTtcbiAgICB9XG59XG4iLCI8IS0tIGVzbGludC1kaXNhYmxlIEBodG1sLWVzbGludC9lbGVtZW50LW5ld2xpbmUgLS0+XG48cFxuICAgICpuZ0lmPVwiZmlsZW5hbWVcIlxuICAgIGNsYXNzPVwidC1oZWFkZXJcIlxuPlxuICAgIHt7IGZpbGVuYW1lIH19XG48L3A+XG48cHJlXG4gICAgKm5nRm9yPVwibGV0IGNvbnRlbnQgb2YgcHJvY2Vzc29yJCB8IGFzeW5jXCJcbiAgICBjbGFzcz1cInQtY29kZVwiXG4+PGNvZGUgW2xpbmVOdW1iZXJzXT1cInRydWVcIiBbaGlnaGxpZ2h0XT1cImNvbnRlbnRcIj48L2NvZGU+PC9wcmU+XG4iXX0=
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
|
2
2
|
import { identity } from 'rxjs';
|
|
3
|
+
import { tuiTryParseMarkdownCodeBlock } from '../components/code/parse-code-block';
|
|
3
4
|
export const TUI_DOC_EXAMPLE_CONTENT_PROCESSOR = new InjectionToken(`[TUI_DOC_EXAMPLE_CONTENT_PROCESSOR]: Processes content in example`, { factory: () => identity });
|
|
4
|
-
|
|
5
|
+
export const TUI_DOC_EXAMPLE_MARKDOWN_CODE_PROCESSOR = new InjectionToken(`[TUI_DOC_EXAMPLE_MARKDOWN_CODE_PROCESSOR]: Processes markdown in code block`, { factory: () => tuiTryParseMarkdownCodeBlock });
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZS1jb250ZW50LXByb2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy9zcmMvdG9rZW5zL2V4YW1wbGUtY29udGVudC1wcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTlCLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBRWpGLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUUxQyxJQUFJLGNBQWMsQ0FDbEIsbUVBQW1FLEVBQ25FLEVBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBQyxDQUM1QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sdUNBQXVDLEdBRWhELElBQUksY0FBYyxDQUNsQiw2RUFBNkUsRUFDN0UsRUFBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsNEJBQTRCLEVBQUMsQ0FDaEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7aWRlbnRpdHl9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge3R1aVRyeVBhcnNlTWFya2Rvd25Db2RlQmxvY2t9IGZyb20gJy4uL2NvbXBvbmVudHMvY29kZS9wYXJzZS1jb2RlLWJsb2NrJztcblxuZXhwb3J0IGNvbnN0IFRVSV9ET0NfRVhBTVBMRV9DT05URU5UX1BST0NFU1NPUjogSW5qZWN0aW9uVG9rZW48XG4gICAgVHVpSGFuZGxlcjxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PlxuPiA9IG5ldyBJbmplY3Rpb25Ub2tlbihcbiAgICBgW1RVSV9ET0NfRVhBTVBMRV9DT05URU5UX1BST0NFU1NPUl06IFByb2Nlc3NlcyBjb250ZW50IGluIGV4YW1wbGVgLFxuICAgIHtmYWN0b3J5OiAoKSA9PiBpZGVudGl0eX0sXG4pO1xuXG5leHBvcnQgY29uc3QgVFVJX0RPQ19FWEFNUExFX01BUktET1dOX0NPREVfUFJPQ0VTU09SOiBJbmplY3Rpb25Ub2tlbjxcbiAgICBUdWlIYW5kbGVyPHN0cmluZywgc3RyaW5nW10+XG4+ID0gbmV3IEluamVjdGlvblRva2VuKFxuICAgIGBbVFVJX0RPQ19FWEFNUExFX01BUktET1dOX0NPREVfUFJPQ0VTU09SXTogUHJvY2Vzc2VzIG1hcmtkb3duIGluIGNvZGUgYmxvY2tgLFxuICAgIHtmYWN0b3J5OiAoKSA9PiB0dWlUcnlQYXJzZU1hcmtkb3duQ29kZUJsb2NrfSxcbik7XG4iXX0=
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { InjectionToken, Component, ChangeDetectionStrategy, Inject, Input, HostBinding, NgModule, ElementRef, forwardRef, TemplateRef, ViewChild, ContentChild, HostListener, EventEmitter, Directive, Output, Pipe, Renderer2, ChangeDetectorRef, Self, ContentChildren, Attribute, Optional, ViewEncapsulation } from '@angular/core';
|
|
3
3
|
import * as i9 from 'rxjs';
|
|
4
|
-
import { BehaviorSubject, Subject, timer, merge,
|
|
4
|
+
import { identity, BehaviorSubject, Subject, timer, merge, defer, of, ReplaySubject } from 'rxjs';
|
|
5
5
|
import { switchMap, map, startWith, takeUntil, filter, mergeMap, debounceTime, take, distinctUntilChanged } from 'rxjs/operators';
|
|
6
|
-
import { __awaiter, __decorate } from 'tslib';
|
|
7
6
|
import MarkdownIt from 'markdown-it';
|
|
7
|
+
import { __awaiter, __decorate } from 'tslib';
|
|
8
8
|
import * as i5 from '@angular/common';
|
|
9
9
|
import { CommonModule, Location as Location$1, DOCUMENT } from '@angular/common';
|
|
10
10
|
import * as i2 from 'ngx-highlightjs';
|
|
@@ -32,12 +32,6 @@ import { Title } from '@angular/platform-browser';
|
|
|
32
32
|
import * as i4 from '@taiga-ui/addon-mobile';
|
|
33
33
|
import { TuiSidebarDirective, TuiSidebarModule } from '@taiga-ui/addon-mobile';
|
|
34
34
|
|
|
35
|
-
function tuiRawLoad(content) {
|
|
36
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
-
return content instanceof Promise ? (yield content).default : content;
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
|
|
41
35
|
function tuiTryParseMarkdownCodeBlock(text = ``) {
|
|
42
36
|
const tokens = new MarkdownIt().parse(text, {});
|
|
43
37
|
const result = tokens
|
|
@@ -46,11 +40,21 @@ function tuiTryParseMarkdownCodeBlock(text = ``) {
|
|
|
46
40
|
return result.length ? result : [text];
|
|
47
41
|
}
|
|
48
42
|
|
|
43
|
+
const TUI_DOC_EXAMPLE_CONTENT_PROCESSOR = new InjectionToken(`[TUI_DOC_EXAMPLE_CONTENT_PROCESSOR]: Processes content in example`, { factory: () => identity });
|
|
44
|
+
const TUI_DOC_EXAMPLE_MARKDOWN_CODE_PROCESSOR = new InjectionToken(`[TUI_DOC_EXAMPLE_MARKDOWN_CODE_PROCESSOR]: Processes markdown in code block`, { factory: () => tuiTryParseMarkdownCodeBlock });
|
|
45
|
+
|
|
46
|
+
function tuiRawLoad(content) {
|
|
47
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
+
return content instanceof Promise ? (yield content).default : content;
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
|
|
49
52
|
class TuiDocCodeComponent {
|
|
50
|
-
constructor() {
|
|
53
|
+
constructor(markdownCodeProcessor) {
|
|
54
|
+
this.markdownCodeProcessor = markdownCodeProcessor;
|
|
51
55
|
this.rawLoader$$ = new BehaviorSubject('');
|
|
52
56
|
this.filename = '';
|
|
53
|
-
this.processor$ = this.rawLoader$$.pipe(switchMap(tuiRawLoad), map(
|
|
57
|
+
this.processor$ = this.rawLoader$$.pipe(switchMap(tuiRawLoad), map((value) => this.markdownCodeProcessor(value)));
|
|
54
58
|
}
|
|
55
59
|
set code(code) {
|
|
56
60
|
this.rawLoader$$.next(code);
|
|
@@ -59,16 +63,20 @@ class TuiDocCodeComponent {
|
|
|
59
63
|
return !!this.filename;
|
|
60
64
|
}
|
|
61
65
|
}
|
|
62
|
-
TuiDocCodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocCodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
63
|
-
TuiDocCodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDocCodeComponent, selector: "tui-doc-code", inputs: { filename: "filename", code: "code" }, host: { properties: { "class._has-filename": "this.hasFilename" } }, ngImport: i0, template: "<!-- eslint-disable @html-eslint/element-newline -->\n<p\n *ngIf=\"filename\"\n class=\"t-header\"\n>\n {{ filename }}\n</p>\n<pre\n *ngFor=\"let content of processor$ | async\"\n class=\"t-code\"\n><code [lineNumbers]=\"true\" [highlight]=\"content\"></code></pre>\n", styles: [":host{display:block}.t-header{font:var(--tui-font-text-s);font-weight:bold}.t-code{margin:0}.t-code+.t-code{margin-top:1rem}.hljs:not(:empty){font:var(--tui-font-text-m);padding:1.5rem 2rem;font-family:monospace;background:var(--tui-clear);word-wrap:break-word;white-space:pre-wrap}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){.hljs:not(:empty)::-webkit-scrollbar,.hljs:not(:empty)::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:2.667rem solid transparent}.hljs:not(:empty)::-webkit-scrollbar{background-color:transparent}.hljs:not(:empty)::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}.hljs:not(:empty)::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}.hljs:not(:empty)::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}:host._has-filename .hljs:not(:empty){border-radius:.75rem}:host-context(tui-root._mobile) .hljs:not(:empty){padding:1rem}\n"], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.Highlight, selector: "[highlight]", inputs: ["highlight", "languages", "lineNumbers"], outputs: ["highlighted"] }], pipes: { "async": i5.AsyncPipe } });
|
|
66
|
+
TuiDocCodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocCodeComponent, deps: [{ token: TUI_DOC_EXAMPLE_MARKDOWN_CODE_PROCESSOR }], target: i0.ɵɵFactoryTarget.Component });
|
|
67
|
+
TuiDocCodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDocCodeComponent, selector: "tui-doc-code", inputs: { filename: "filename", code: "code" }, host: { properties: { "class._has-filename": "this.hasFilename" } }, ngImport: i0, template: "<!-- eslint-disable @html-eslint/element-newline -->\n<p\n *ngIf=\"filename\"\n class=\"t-header\"\n>\n {{ filename }}\n</p>\n<pre\n *ngFor=\"let content of processor$ | async\"\n class=\"t-code\"\n><code [lineNumbers]=\"true\" [highlight]=\"content\"></code></pre>\n", styles: [":host{display:block}.t-header{font:var(--tui-font-text-s);font-weight:bold}.t-code{margin:0}.t-code+.t-code{margin-top:1rem}.hljs:not(:empty){font:var(--tui-font-text-m);padding:1.5rem 2rem;font-family:monospace;background:var(--tui-clear);word-wrap:break-word;white-space:pre-wrap}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){.hljs:not(:empty)::-webkit-scrollbar,.hljs:not(:empty)::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:2.667rem solid transparent}.hljs:not(:empty)::-webkit-scrollbar{background-color:transparent}.hljs:not(:empty)::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}.hljs:not(:empty)::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}.hljs:not(:empty)::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}:host._has-filename .hljs:not(:empty){border-radius:.75rem}:host-context(tui-root._mobile) .hljs:not(:empty){padding:1rem}\n"], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.Highlight, selector: "[highlight]", inputs: ["highlight", "languages", "lineNumbers"], outputs: ["highlighted"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
64
68
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocCodeComponent, decorators: [{
|
|
65
69
|
type: Component,
|
|
66
70
|
args: [{
|
|
67
71
|
selector: 'tui-doc-code',
|
|
68
72
|
templateUrl: './code.template.html',
|
|
69
73
|
styleUrls: ['./code.style.less'],
|
|
74
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
70
75
|
}]
|
|
71
|
-
}],
|
|
76
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
77
|
+
type: Inject,
|
|
78
|
+
args: [TUI_DOC_EXAMPLE_MARKDOWN_CODE_PROCESSOR]
|
|
79
|
+
}] }]; }, propDecorators: { filename: [{
|
|
72
80
|
type: Input
|
|
73
81
|
}], code: [{
|
|
74
82
|
type: Input
|
|
@@ -1012,8 +1020,6 @@ const TUI_DOC_CODE_ACTIONS = new InjectionToken(`[TUI_DOC_CODE_ACTIONS]: Code ac
|
|
|
1012
1020
|
|
|
1013
1021
|
const TUI_DOC_CODE_EDITOR = new InjectionToken(`[TUI_DOC_CODE_EDITOR]: Contains service for opening online IDE e.g. Stackblitz`);
|
|
1014
1022
|
|
|
1015
|
-
const TUI_DOC_EXAMPLE_CONTENT_PROCESSOR = new InjectionToken(`[TUI_DOC_EXAMPLE_CONTENT_PROCESSOR]: Processes content in example`, { factory: () => identity });
|
|
1016
|
-
|
|
1017
1023
|
function tuiRawLoadRecord(example) {
|
|
1018
1024
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1019
1025
|
const processedContent = {};
|
|
@@ -2199,5 +2205,5 @@ function tuiGenerateRoutes(type) {
|
|
|
2199
2205
|
* Generated bundle index. Do not edit.
|
|
2200
2206
|
*/
|
|
2201
2207
|
|
|
2202
|
-
export { TUI_DOC_CODE_ACTIONS, TUI_DOC_CODE_EDITOR, TUI_DOC_DEFAULT_TABS, TUI_DOC_DEMO_TEXTS, TUI_DOC_DOCUMENTATION_TEXTS, TUI_DOC_EXAMPLE_CONTENT_PROCESSOR, TUI_DOC_EXAMPLE_TEXTS, TUI_DOC_EXCLUDED_PROPERTIES, TUI_DOC_LOGO, TUI_DOC_MENU_TEXT, TUI_DOC_PAGES, TUI_DOC_PAGE_LOADED, TUI_DOC_RUSSIAN, TUI_DOC_SCROLL_BEHAVIOR, TUI_DOC_SEARCH_TEXT, TUI_DOC_SEE_ALSO, TUI_DOC_SEE_ALSO_TEXT, TUI_DOC_SOURCE_CODE, TUI_DOC_SOURCE_CODE_TEXT, TUI_DOC_TITLE, TUI_EXAMPLE_PRIMARY_FILE_NAME, TuiAddonDocModule, TuiDocCodeComponent, TuiDocCodeModule, TuiDocCopyComponent, TuiDocCopyModule, TuiDocDemoComponent, TuiDocDemoModule, TuiDocDocumentationComponent, TuiDocDocumentationModule, TuiDocDocumentationPropertyConnectorDirective, TuiDocExampleCapitalizePipe, TuiDocExampleComponent, TuiDocExampleGetTabsPipe, TuiDocExampleModule, TuiDocMainComponent, TuiDocMainModule, TuiDocNavigationComponent, TuiDocNavigationModule, TuiDocPageComponent, TuiDocPageModule, TuiDocPageTabConnectorDirective, TuiInspectPipe, TuiLanguageSwitcherComponent, TuiLanguageSwitcherModule, TuiScrollIntoViewLinkDirective, TuiScrollIntoViewLinkModule, tuiCoerceValue, tuiDocExcludeProperties, tuiGenerateRoutes, tuiRawLoad, tuiRawLoadRecord, tuiTryParseMarkdownCodeBlock };
|
|
2208
|
+
export { TUI_DOC_CODE_ACTIONS, TUI_DOC_CODE_EDITOR, TUI_DOC_DEFAULT_TABS, TUI_DOC_DEMO_TEXTS, TUI_DOC_DOCUMENTATION_TEXTS, TUI_DOC_EXAMPLE_CONTENT_PROCESSOR, TUI_DOC_EXAMPLE_MARKDOWN_CODE_PROCESSOR, TUI_DOC_EXAMPLE_TEXTS, TUI_DOC_EXCLUDED_PROPERTIES, TUI_DOC_LOGO, TUI_DOC_MENU_TEXT, TUI_DOC_PAGES, TUI_DOC_PAGE_LOADED, TUI_DOC_RUSSIAN, TUI_DOC_SCROLL_BEHAVIOR, TUI_DOC_SEARCH_TEXT, TUI_DOC_SEE_ALSO, TUI_DOC_SEE_ALSO_TEXT, TUI_DOC_SOURCE_CODE, TUI_DOC_SOURCE_CODE_TEXT, TUI_DOC_TITLE, TUI_EXAMPLE_PRIMARY_FILE_NAME, TuiAddonDocModule, TuiDocCodeComponent, TuiDocCodeModule, TuiDocCopyComponent, TuiDocCopyModule, TuiDocDemoComponent, TuiDocDemoModule, TuiDocDocumentationComponent, TuiDocDocumentationModule, TuiDocDocumentationPropertyConnectorDirective, TuiDocExampleCapitalizePipe, TuiDocExampleComponent, TuiDocExampleGetTabsPipe, TuiDocExampleModule, TuiDocMainComponent, TuiDocMainModule, TuiDocNavigationComponent, TuiDocNavigationModule, TuiDocPageComponent, TuiDocPageModule, TuiDocPageTabConnectorDirective, TuiInspectPipe, TuiLanguageSwitcherComponent, TuiLanguageSwitcherModule, TuiScrollIntoViewLinkDirective, TuiScrollIntoViewLinkModule, tuiCoerceValue, tuiDocExcludeProperties, tuiGenerateRoutes, tuiRawLoad, tuiRawLoadRecord, tuiTryParseMarkdownCodeBlock };
|
|
2203
2209
|
//# sourceMappingURL=taiga-ui-addon-doc.js.map
|