@taiga-ui/addon-doc 2.23.0 → 2.24.0
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/README.md +7 -19
- package/bundles/taiga-ui-addon-doc.umd.js +126 -72
- package/bundles/taiga-ui-addon-doc.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-doc.umd.min.js +2 -2
- package/bundles/taiga-ui-addon-doc.umd.min.js.map +1 -1
- package/components/code/code.component.d.ts +4 -1
- package/components/example/example-get-tabs.pipe.d.ts +4 -0
- package/components/example/example.component.d.ts +4 -7
- package/esm2015/components/code/code.component.js +11 -4
- package/esm2015/components/copy/copy.component.js +2 -2
- package/esm2015/components/demo/demo.component.js +2 -2
- package/esm2015/components/documentation/documentation-property-connector.directive.js +1 -2
- package/esm2015/components/documentation/documentation.component.js +2 -2
- package/esm2015/components/example/example-get-tabs.pipe.js +12 -0
- package/esm2015/components/example/example.component.js +8 -26
- package/esm2015/components/example/example.module.js +4 -3
- package/esm2015/components/navigation/navigation.component.js +2 -2
- package/esm2015/components/page/page.component.js +2 -2
- package/esm2015/interfaces/page.js +1 -1
- package/esm2015/internal/header/header.component.js +1 -1
- package/esm2015/internal/see-also/see-also.component.js +2 -2
- package/esm2015/internal/source-code/source-code.component.js +1 -1
- package/esm2015/taiga-ui-addon-doc.js +9 -8
- package/esm2015/tokens/example-content-processor.js +2 -4
- package/esm2015/tokens/i18n.js +13 -5
- package/esm2015/utils/raw-load-record.js +12 -0
- package/esm2015/utils/raw-load.js +7 -0
- package/esm5/components/code/code.component.js +15 -4
- package/esm5/components/copy/copy.component.js +2 -2
- package/esm5/components/demo/demo.component.js +2 -2
- package/esm5/components/documentation/documentation-property-connector.directive.js +1 -2
- package/esm5/components/documentation/documentation.component.js +2 -2
- package/esm5/components/example/example-get-tabs.pipe.js +15 -0
- package/esm5/components/example/example.component.js +9 -43
- package/esm5/components/example/example.module.js +4 -3
- package/esm5/components/navigation/navigation.component.js +2 -2
- package/esm5/components/page/page.component.js +2 -2
- package/esm5/interfaces/page.js +1 -1
- package/esm5/internal/header/header.component.js +1 -1
- package/esm5/internal/see-also/see-also.component.js +2 -2
- package/esm5/internal/source-code/source-code.component.js +1 -1
- package/esm5/taiga-ui-addon-doc.js +9 -8
- package/esm5/tokens/example-content-processor.js +2 -4
- package/esm5/tokens/i18n.js +13 -5
- package/esm5/utils/raw-load-record.js +44 -0
- package/esm5/utils/raw-load.js +21 -0
- package/fesm2015/taiga-ui-addon-doc.js +64 -48
- package/fesm2015/taiga-ui-addon-doc.js.map +1 -1
- package/fesm5/taiga-ui-addon-doc.js +117 -64
- package/fesm5/taiga-ui-addon-doc.js.map +1 -1
- package/interfaces/page.d.ts +4 -0
- package/package.json +6 -6
- package/taiga-ui-addon-doc.d.ts +8 -7
- package/taiga-ui-addon-doc.metadata.json +1 -1
- package/utils/raw-load-record.d.ts +2 -0
- package/utils/raw-load.d.ts +2 -0
package/README.md
CHANGED
|
@@ -27,9 +27,7 @@ npm i @taiga-ui/addon-doc
|
|
|
27
27
|
1. Include `TuiDocMainModule` in your App module and use in your template:
|
|
28
28
|
|
|
29
29
|
```html
|
|
30
|
-
<tui-doc-main>
|
|
31
|
-
You can add content here, it will be shown below navigation in the sidebar
|
|
32
|
-
</tui-doc-main>
|
|
30
|
+
<tui-doc-main>You can add content here, it will be shown below navigation in the sidebar</tui-doc-main>
|
|
33
31
|
```
|
|
34
32
|
|
|
35
33
|
2. Configure languages to highlight in your main module:
|
|
@@ -50,11 +48,9 @@ npm i @taiga-ui/addon-doc
|
|
|
50
48
|
provide: HIGHLIGHT_OPTIONS,
|
|
51
49
|
useValue: {
|
|
52
50
|
coreLibraryLoader: () => import('highlight.js/lib/core' as string),
|
|
53
|
-
lineNumbersLoader: () =>
|
|
54
|
-
import('highlightjs-line-numbers.js' as string), // Optional, only if you want the line numbers
|
|
51
|
+
lineNumbersLoader: () => import('highlightjs-line-numbers.js' as string), // Optional, only if you want the line numbers
|
|
55
52
|
languages: {
|
|
56
|
-
typescript: () =>
|
|
57
|
-
import('highlight.js/lib/languages/typescript' as string),
|
|
53
|
+
typescript: () => import('highlight.js/lib/languages/typescript' as string),
|
|
58
54
|
less: () => import('highlight.js/lib/languages/less' as string),
|
|
59
55
|
xml: () => import('highlight.js/lib/languages/xml' as string),
|
|
60
56
|
},
|
|
@@ -94,9 +90,8 @@ npm i @taiga-ui/addon-doc
|
|
|
94
90
|
];
|
|
95
91
|
```
|
|
96
92
|
|
|
97
|
-
> You must have title in route data in order for `TUI_DOC_SEE_ALSO` to work.
|
|
98
|
-
>
|
|
99
|
-
> when navigating to that route.
|
|
93
|
+
> You must have title in route data in order for `TUI_DOC_SEE_ALSO` to work. It would also be automatically added to
|
|
94
|
+
> `TUI_DOC_TITLE` for browser tab title when navigating to that route.
|
|
100
95
|
|
|
101
96
|
5. Create pages.
|
|
102
97
|
|
|
@@ -109,10 +104,7 @@ npm i @taiga-ui/addon-doc
|
|
|
109
104
|
import {SuperComponent} from './super.component';
|
|
110
105
|
|
|
111
106
|
@NgModule({
|
|
112
|
-
imports: [
|
|
113
|
-
TuiAddonDocModule,
|
|
114
|
-
RouterModule.forChild(generateRoutes(SuperComponent)),
|
|
115
|
-
],
|
|
107
|
+
imports: [TuiAddonDocModule, RouterModule.forChild(generateRoutes(SuperComponent))],
|
|
116
108
|
declarations: [SuperComponent],
|
|
117
109
|
exports: [SuperComponent],
|
|
118
110
|
})
|
|
@@ -150,11 +142,7 @@ npm i @taiga-ui/addon-doc
|
|
|
150
142
|
<!-- default tab name would be used -->
|
|
151
143
|
This would be the content of a first tab
|
|
152
144
|
|
|
153
|
-
<tui-doc-example
|
|
154
|
-
id="basic-example"
|
|
155
|
-
heading="Example of usage"
|
|
156
|
-
[content]="example"
|
|
157
|
-
>
|
|
145
|
+
<tui-doc-example id="basic-example" heading="Example of usage" [content]="example">
|
|
158
146
|
<example-1></example-1>
|
|
159
147
|
</tui-doc-example>
|
|
160
148
|
</ng-template>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('ngx-highlightjs'), require('@taiga-ui/cdk'), require('@taiga-ui/kit'), require('
|
|
3
|
-
typeof define === 'function' && define.amd ? define('@taiga-ui/addon-doc', ['exports', '@angular/core', '@angular/common', 'ngx-highlightjs', '@taiga-ui/cdk', '@taiga-ui/kit', '
|
|
4
|
-
(global = global || self, factory((global['taiga-ui'] = global['taiga-ui'] || {}, global['taiga-ui']['addon-doc'] = {}), global.ng.core, global.
|
|
5
|
-
}(this, (function (exports, core, common, ngxHighlightjs, cdk, kit,
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs'), require('rxjs/operators'), require('@angular/common'), require('ngx-highlightjs'), require('@taiga-ui/cdk'), require('@taiga-ui/kit'), require('@taiga-ui/core'), require('@angular/forms'), require('@angular/router'), require('@angular/platform-browser'), require('@taiga-ui/addon-mobile'), require('@angular/animations'), require('@angular/cdk/clipboard'), require('@ng-web-apis/common'), require('@tinkoff/ng-polymorpheus')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('@taiga-ui/addon-doc', ['exports', '@angular/core', 'rxjs', 'rxjs/operators', '@angular/common', 'ngx-highlightjs', '@taiga-ui/cdk', '@taiga-ui/kit', '@taiga-ui/core', '@angular/forms', '@angular/router', '@angular/platform-browser', '@taiga-ui/addon-mobile', '@angular/animations', '@angular/cdk/clipboard', '@ng-web-apis/common', '@tinkoff/ng-polymorpheus'], factory) :
|
|
4
|
+
(global = global || self, factory((global['taiga-ui'] = global['taiga-ui'] || {}, global['taiga-ui']['addon-doc'] = {}), global.ng.core, global.rxjs, global.rxjs.operators, global.ng.common, global.ngxHighlightjs, global.cdk, global.kit, global.core$1, global.ng.forms, global.ng.router, global.ng.platformBrowser, global.addonMobile, global.ng.animations, global.ng.cdk.clipboard, global.common$1, global.ngPolymorpheus));
|
|
5
|
+
}(this, (function (exports, core, rxjs, operators, common, ngxHighlightjs, cdk, kit, core$1, forms, router, platformBrowser, addonMobile, animations, clipboard, common$1, ngPolymorpheus) { 'use strict';
|
|
6
6
|
|
|
7
7
|
/*! *****************************************************************************
|
|
8
8
|
Copyright (c) Microsoft Corporation.
|
|
@@ -223,11 +223,39 @@
|
|
|
223
223
|
return value;
|
|
224
224
|
}
|
|
225
225
|
|
|
226
|
+
function rawLoad(content) {
|
|
227
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
228
|
+
var _a;
|
|
229
|
+
return __generator(this, function (_b) {
|
|
230
|
+
switch (_b.label) {
|
|
231
|
+
case 0:
|
|
232
|
+
if (!(content instanceof Promise)) return [3 /*break*/, 2];
|
|
233
|
+
return [4 /*yield*/, content];
|
|
234
|
+
case 1:
|
|
235
|
+
_a = (_b.sent()).default;
|
|
236
|
+
return [3 /*break*/, 3];
|
|
237
|
+
case 2:
|
|
238
|
+
_a = content;
|
|
239
|
+
_b.label = 3;
|
|
240
|
+
case 3: return [2 /*return*/, _a];
|
|
241
|
+
}
|
|
242
|
+
});
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
|
|
226
246
|
var TuiDocCodeComponent = /** @class */ (function () {
|
|
227
247
|
function TuiDocCodeComponent() {
|
|
248
|
+
this.rawLoader$$ = new rxjs.BehaviorSubject('');
|
|
249
|
+
this.processor$ = this.rawLoader$$.pipe(operators.switchMap(rawLoad));
|
|
228
250
|
this.filename = '';
|
|
229
|
-
this.code = '';
|
|
230
251
|
}
|
|
252
|
+
Object.defineProperty(TuiDocCodeComponent.prototype, "code", {
|
|
253
|
+
set: function (code) {
|
|
254
|
+
this.rawLoader$$.next(code);
|
|
255
|
+
},
|
|
256
|
+
enumerable: true,
|
|
257
|
+
configurable: true
|
|
258
|
+
});
|
|
231
259
|
Object.defineProperty(TuiDocCodeComponent.prototype, "hasFilename", {
|
|
232
260
|
get: function () {
|
|
233
261
|
return !!this.filename;
|
|
@@ -240,14 +268,14 @@
|
|
|
240
268
|
], TuiDocCodeComponent.prototype, "filename", void 0);
|
|
241
269
|
__decorate([
|
|
242
270
|
core.Input()
|
|
243
|
-
], TuiDocCodeComponent.prototype, "code",
|
|
271
|
+
], TuiDocCodeComponent.prototype, "code", null);
|
|
244
272
|
__decorate([
|
|
245
273
|
core.HostBinding('class._has-filename')
|
|
246
274
|
], TuiDocCodeComponent.prototype, "hasFilename", null);
|
|
247
275
|
TuiDocCodeComponent = __decorate([
|
|
248
276
|
core.Component({
|
|
249
277
|
selector: 'tui-doc-code',
|
|
250
|
-
template: "<p *ngIf=\"filename\" class=\"t-header\">{{filename}}</p>\n<pre
|
|
278
|
+
template: "<p *ngIf=\"filename\" class=\"t-header\">{{filename}}</p>\n<pre\n class=\"t-code\"\n><code [lineNumbers]=\"true\" [highlight]=\"processor$ | async\"></code></pre>\n",
|
|
251
279
|
styles: [":host{display:block}.t-header{font:var(--tui-font-text-s);font-weight:700}.t-code{margin:0}.hljs:not(:empty){font:var(--tui-font-text-m);padding:1.5rem 2rem;font-family:monospace;background:var(--tui-clear-disabled);word-wrap:break-word;white-space:pre-wrap}@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution:0.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:6px 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}@media screen and (max-width:47.9375em){.hljs:not(:empty){padding:1rem}}"]
|
|
252
280
|
})
|
|
253
281
|
], TuiDocCodeComponent);
|
|
@@ -293,7 +321,7 @@
|
|
|
293
321
|
TuiDocCopyComponent = __decorate([
|
|
294
322
|
core.Component({
|
|
295
323
|
selector: 'tui-doc-copy',
|
|
296
|
-
template: "<button\n *ngIf=\"texts$ | async as texts\"\n tuiButton\n type=\"button\"\n
|
|
324
|
+
template: "<button\n *ngIf=\"texts$ | async as texts\"\n tuiButton\n type=\"button\"\n appearance=\"\"\n size=\"s\"\n class=\"t-copy\"\n [title]=\"texts[0]\"\n (click)=\"onClick()\"\n>\n <span class=\"t-content\" [class.t-content_moved]=\"copied$ | async\">\n <span class=\"t-initial\" [attr.data-text]=\"texts[0]\">\n <ng-content></ng-content>\n </span>\n {{ texts[1] }}\n </span>\n</button>\n",
|
|
297
325
|
changeDetection: core.ChangeDetectionStrategy.OnPush,
|
|
298
326
|
providers: [cdk.TuiDestroyService],
|
|
299
327
|
styles: [":host{position:relative;display:inline-block;vertical-align:middle}.t-copy{transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;width:100%;color:var(--tui-text-01);background:var(--tui-base-01);overflow:hidden}.t-copy:hover{background:var(--tui-base-02)}.t-initial{white-space:nowrap}.t-initial:empty:before{content:attr(data-text)}.t-content{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;flex-direction:column;transform:translateY(1rem);text-align:center;line-height:2rem}.t-content_moved{transform:translateY(-1rem)}"]
|
|
@@ -323,7 +351,9 @@
|
|
|
323
351
|
* Works with a tuple
|
|
324
352
|
* [@string tuiMode tooltip content, @string word 'background', @string 'form value']
|
|
325
353
|
*/
|
|
326
|
-
var TUI_DOC_DEMO_TEXTS = new core.InjectionToken('tui-doc-demo i18n texts', {
|
|
354
|
+
var TUI_DOC_DEMO_TEXTS = new core.InjectionToken('tui-doc-demo i18n texts', {
|
|
355
|
+
factory: function () { return ['Read more more about modes: ', 'Background', 'Form value']; },
|
|
356
|
+
});
|
|
327
357
|
/**
|
|
328
358
|
* Works with a tuple
|
|
329
359
|
* [
|
|
@@ -351,15 +381,21 @@
|
|
|
351
381
|
* @string link to a sample copied message label
|
|
352
382
|
* ]
|
|
353
383
|
*/
|
|
354
|
-
var TUI_DOC_EXAMPLE_TEXTS = new core.InjectionToken('tui-doc-example i18n texts', {
|
|
384
|
+
var TUI_DOC_EXAMPLE_TEXTS = new core.InjectionToken('tui-doc-example i18n texts', {
|
|
385
|
+
factory: function () { return ['Preview', 'Link to a sample was successfully copied', 'Done']; },
|
|
386
|
+
});
|
|
355
387
|
var TUI_DOC_MENU_TEXT = new core.InjectionToken('menu i18n text', {
|
|
356
388
|
factory: function () { return 'Menu'; },
|
|
357
389
|
});
|
|
358
390
|
var TUI_DOC_SEARCH_TEXT = new core.InjectionToken('search i18n text', {
|
|
359
391
|
factory: function () { return 'Search'; },
|
|
360
392
|
});
|
|
361
|
-
var TUI_DOC_SEE_ALSO_TEXT = new core.InjectionToken('tui-doc-see-also i18n text', {
|
|
362
|
-
|
|
393
|
+
var TUI_DOC_SEE_ALSO_TEXT = new core.InjectionToken('tui-doc-see-also i18n text', {
|
|
394
|
+
factory: function () { return 'See also'; },
|
|
395
|
+
});
|
|
396
|
+
var TUI_DOC_SOURCE_CODE_TEXT = new core.InjectionToken('tui-doc-source-code i18n text', {
|
|
397
|
+
factory: function () { return 'Source code'; },
|
|
398
|
+
});
|
|
363
399
|
|
|
364
400
|
var MIN_COMPONENT_WIDTH = 104;
|
|
365
401
|
// @dynamic
|
|
@@ -480,7 +516,7 @@
|
|
|
480
516
|
TuiDocDemoComponent = TuiDocDemoComponent_1 = __decorate([
|
|
481
517
|
core.Component({
|
|
482
518
|
selector: 'tui-doc-demo',
|
|
483
|
-
template: "<div class=\"t-bg-toggle\" [tuiMode]=\"null\">\n <ng-template #tooltip>\n {{texts[0]}}\n <a tuiLink tuiMode=\"onDark\" routerLink=\"/directives/mode\">\n <code>tuiMode</code>\n </a>\n </ng-template>\n <ng-container *ngIf=\"isMobile else desktop\">\n <tui-select\n
|
|
519
|
+
template: "<div class=\"t-bg-toggle\" [tuiMode]=\"null\">\n <ng-template #tooltip>\n {{ texts[0] }}\n <a tuiLink tuiMode=\"onDark\" routerLink=\"/directives/mode\">\n <code>tuiMode</code>\n </a>\n </ng-template>\n <ng-container *ngIf=\"isMobile; else desktop\">\n <tui-select\n tuiTextfieldSize=\"s\"\n class=\"t-mode\"\n [tuiTextfieldCleaner]=\"true\"\n [tuiHintContent]=\"tooltip\"\n [formControl]=\"modeControl\"\n >\n tuiMode\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"items\"\n ></tui-data-list-wrapper>\n </tui-select>\n </ng-container>\n <ng-template #desktop>\n tuiMode:\n <tui-tooltip describeId=\"form\" [content]=\"tooltip\"></tui-tooltip>\n <div tuiGroup class=\"tui-space_left-3\" [collapsed]=\"true\">\n <tui-radio-block\n size=\"s\"\n nativeId=\"form\"\n class=\"tui-group__auto-width-item\"\n [item]=\"null\"\n [hideRadio]=\"true\"\n [formControl]=\"modeControl\"\n >\n null\n </tui-radio-block>\n <tui-radio-block\n item=\"onDark\"\n size=\"s\"\n nativeId=\"form\"\n class=\"tui-group__auto-width-item\"\n [hideRadio]=\"true\"\n [formControl]=\"modeControl\"\n >\n onDark\n </tui-radio-block>\n <tui-radio-block\n item=\"onLight\"\n size=\"s\"\n nativeId=\"form\"\n class=\"tui-group__auto-width-item\"\n [hideRadio]=\"true\"\n [formControl]=\"modeControl\"\n >\n onLight\n </tui-radio-block>\n </div>\n </ng-template>\n <tui-checkbox-labeled\n size=\"m\"\n class=\"tui-space_left-3\"\n [(ngModel)]=\"opaque\"\n >\n {{ texts[1] }}\n </tui-checkbox-labeled>\n</div>\n<div\n #wrapper\n class=\"t-wrapper\"\n [class.t-wrapper_dark]=\"modeControl.value === 'onDark'\"\n [class.t-wrapper_gray]=\"modeControl.value === 'onLight'\"\n [class.t-wrapper_transparent]=\"!opaque\"\n>\n <div #content id=\"demoContent\" class=\"t-content\">\n <form *ngIf=\"testForm\" class=\"t-form\" [formGroup]=\"testForm\">\n <div class=\"t-input-wrapper\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n </div>\n <button\n tuiButton\n type=\"button\"\n size=\"s\"\n class=\"tui-space_top-3\"\n [iconRight]=\"icon\"\n (click)=\"toggleDetails()\"\n >\n {{ texts[2] }}\n </button>\n <ng-template #icon>\n <tui-svg\n src=\"tuiIconChevronDown\"\n class=\"t-icon\"\n [class.t-icon_rotated]=\"expanded\"\n ></tui-svg>\n </ng-template>\n <tui-expand class=\"t-expand\" [expanded]=\"expanded\">\n <ng-template tuiExpandContent>\n <pre class=\"t-value\">\nForm data: {{ testForm.value | json }}</pre\n >\n <div tuiGroup class=\"tui-space_top-3\">\n <tui-select\n tuiTextfieldSize=\"s\"\n class=\"t-select\"\n [ngModel]=\"updateOn\"\n [ngModelOptions]=\"{standalone: true}\"\n (ngModelChange)=\"updateOnChange($event)\"\n >\n updateOn\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"updateOnVariants\"\n ></tui-data-list-wrapper>\n </tui-select>\n <button\n tuiButton\n type=\"reset\"\n size=\"s\"\n class=\"tui-group__auto-width-item\"\n >\n Reset\n </button>\n <button\n tuiButton\n type=\"submit\"\n size=\"s\"\n class=\"tui-group__auto-width-item\"\n >\n Submit\n </button>\n </div>\n </ng-template>\n </tui-expand>\n </form>\n <ng-content></ng-content>\n </div>\n <button\n tabindex=\"-1\"\n class=\"t-resizer\"\n (tuiDragStart)=\"onDragStart($event)\"\n (tuiDragContinues)=\"onDragContinues($event)\"\n (tuiDragEnd)=\"onDragEnd()\"\n >\n <span #resizerText class=\"t-resizer-text\"></span>\n </button>\n</div>\n",
|
|
484
520
|
changeDetection: core.ChangeDetectionStrategy.OnPush,
|
|
485
521
|
providers: [
|
|
486
522
|
cdk.TuiDestroyService,
|
|
@@ -797,7 +833,7 @@
|
|
|
797
833
|
TuiDocNavigationComponent = __decorate([
|
|
798
834
|
core.Component({
|
|
799
835
|
selector: 'tui-doc-navigation',
|
|
800
|
-
template: "<tui-hosted-dropdown\n *tuiLet=\"filteredItems as filtered\"\n
|
|
836
|
+
template: "<tui-hosted-dropdown\n *tuiLet=\"filteredItems as filtered\"\n tuiAutoFocus\n tuiDropdownLimitWidth=\"fixed\"\n class=\"input\"\n [autoFocus]=\"!!sidebar\"\n [content]=\"dropdown\"\n [canOpen]=\"canOpen\"\n [(open)]=\"open\"\n>\n <tui-primitive-textfield\n iconAlign=\"left\"\n tuiTextfieldSize=\"m\"\n iconContent=\"tuiIconSearch\"\n [pseudoFocused]=\"open || null\"\n [tuiTextfieldCleaner]=\"true\"\n [tuiTextfieldLabelOutside]=\"true\"\n [value]=\"search\"\n (valueChange)=\"onSearchChange($event)\"\n >\n {{ searchText }}\n </tui-primitive-textfield>\n <ng-template #dropdown let-activeZone>\n <tui-data-list>\n <tui-opt-group\n *ngFor=\"let group of filtered; let index = index\"\n [label]=\"labels[index] || ''\"\n >\n <a\n *ngFor=\"let item of group\"\n tuiOption\n [routerLink]=\"item.route\"\n (click)=\"onClick()\"\n >\n {{ item.title }}\n </a>\n </tui-opt-group>\n </tui-data-list>\n </ng-template>\n</tui-hosted-dropdown>\n\n<nav class=\"navigation\">\n <tui-scrollbar class=\"scrollbar\" [tuiMode]=\"mode$ | async\">\n <tui-accordion [closeOthers]=\"false\" [rounded]=\"false\">\n <tui-accordion-item\n *ngFor=\"let label of labels; index as index\"\n size=\"s\"\n [borders]=\"null\"\n [(open)]=\"!!openPagesArr[index]\"\n >\n <span class=\"tui-space_left-2\">\n <strong>{{ label }}</strong>\n </span>\n <ng-template tuiAccordionItemContent>\n <div class=\"section\">\n <ng-container\n *ngFor=\"let item of items[index]; index as subIndex\"\n >\n <ng-container\n *ngTemplateOutlet=\"pages; context: {item: item, index: index * 100 + subIndex}\"\n ></ng-container>\n </ng-container>\n </div>\n </ng-template>\n </tui-accordion-item>\n </tui-accordion>\n <div class=\"items-container\">\n <ng-container\n *ngFor=\"let item of itemsWithoutSections; let index = index\"\n >\n <ng-container\n *ngTemplateOutlet=\"pages; context: {item: item, index: items.length - 1 + index}\"\n ></ng-container>\n </ng-container>\n </div>\n\n <ng-template #pages let-item=\"item\" let-index=\"index\">\n <a\n *ngIf=\"!item.subPages; else subPages\"\n tuiLink\n routerLinkActive=\"sublink_active\"\n class=\"sublink\"\n [routerLink]=\"item.route\"\n [scrollIntoView]=\"isActive(item.route)\"\n (click)=\"closeMenu()\"\n >\n {{ item.title }}\n </a>\n <ng-template #subPages>\n <div\n routerLinkActive\n class=\"subsection\"\n [routerLinkActiveOptions]=\"{exact: false}\"\n >\n <button\n *ngIf=\"item.subPages\"\n tuiLink\n type=\"button\"\n class=\"sublink sublink_subsection\"\n (click)=\"onGroupClick(index)\"\n >\n <tui-svg\n src=\"tuiIconChevronRight\"\n class=\"chevron\"\n [class.chevron_active]=\"!!openPagesGroupsArr[index]\"\n ></tui-svg>\n {{ item.title }}\n </button>\n <tui-expand\n class=\"tui-space_left-1\"\n [expanded]=\"!!openPagesGroupsArr[index]\"\n >\n <div class=\"section section_bordered\">\n <a\n *ngFor=\"let subPage of item.subPages\"\n tuiLink\n routerLinkActive=\"sublink_active\"\n class=\"sublink sublink_small\"\n [routerLink]=\"subPage.route\"\n [scrollIntoView]=\"isActive(subPage.route)\"\n (click)=\"closeMenu()\"\n >\n {{ subPage.title }}\n </a>\n </div>\n </tui-expand>\n </div>\n </ng-template>\n </ng-template>\n </tui-scrollbar>\n</nav>\n\n<ng-content></ng-content>\n",
|
|
801
837
|
providers: NAVIGATION_PROVIDERS,
|
|
802
838
|
changeDetection: core.ChangeDetectionStrategy.OnPush,
|
|
803
839
|
styles: [":host{z-index:1;display:flex;flex-direction:column;text-align:center;background:var(--tui-base-01)}.input{display:block;margin:1.25rem}.navigation{display:flex;max-height:100%;min-height:0;flex:1 1 0;text-align:left}.scrollbar{width:100%;scroll-behavior:smooth}.items-container{display:flex;flex-direction:column;padding:0 16px}.section{display:flex;flex-direction:column;align-items:flex-start;margin:-1rem 0 -.5rem}.section_bordered{margin:.5rem 0;border-left:1px solid var(--tui-base-03)}.subsection{margin-left:.5rem}.sublink{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:0 0;font-size:inherit;font:var(--tui-font-text-m);margin-left:.5rem;line-height:2.75rem}.sublink_small{margin-left:1rem;line-height:1.5rem}.sublink_small:not(:first-child){margin-top:1rem}.sublink_subsection{margin-left:0;line-height:2.75rem}.sublink_active{color:var(--tui-text-01)}.chevron{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;width:1rem;height:1rem;margin:-.25rem .25rem 0 -.1875rem}.chevron_active{transform:rotate(90deg)}"]
|
|
@@ -1072,7 +1108,6 @@
|
|
|
1072
1108
|
};
|
|
1073
1109
|
TuiDocDocumentationPropertyConnectorDirective.prototype.emitEvent = function (event) {
|
|
1074
1110
|
// For more convenient debugging
|
|
1075
|
-
// tslint:disable-next-line:no-console
|
|
1076
1111
|
console.log(this.attrName, event);
|
|
1077
1112
|
this.emits$.next(this.emits$.value + 1);
|
|
1078
1113
|
};
|
|
@@ -1232,7 +1267,7 @@
|
|
|
1232
1267
|
TuiDocDocumentationComponent = __decorate([
|
|
1233
1268
|
core.Component({
|
|
1234
1269
|
selector: 'tui-doc-documentation',
|
|
1235
|
-
template: "<h1 *ngIf=\"heading\" class=\"tui-text_h4\">{{heading}}</h1>\n<ng-content></ng-content>\n<table class=\"tui-table tui-table_layout_fixed tui-table_font-size_s\">\n <tr class=\"tui-table__tr tui-table__tr_hover_disabled t-row t-row_header\">\n <th class=\"tui-table__th tui-table__th_first t-cell t-cell_prop\">\n {{texts[2]}}\n </th>\n <td class=\"tui-table__th\">{{type}}</td>\n <td\n *ngIf=\"showValues && !isAPI\"\n class=\"\n tui-table__th tui-table__th_last tui-table__th_text_right\n t-cell t-cell_value\n \"\n >\n {{texts[3]}}\n </td>\n </tr>\n <tr\n *ngFor=\"let propertyConnector of propertiesConnectors; last as lastItem\"\n class=\"tui-table__tr tui-table__tr_hover_disabled t-row\"\n [class.t-deprecated]=\"propertyConnector.documentationPropertyDeprecated\"\n [class.tui-table__tr_border_none]=\"lastItem\"\n >\n <td\n class=\"\n tui-table__td tui-table__td_first tui-table__td_align_center\n t-cell\n \"\n >\n <div\n
|
|
1270
|
+
template: "<h1 *ngIf=\"heading\" class=\"tui-text_h4\">{{ heading }}</h1>\n<ng-content></ng-content>\n<table class=\"tui-table tui-table_layout_fixed tui-table_font-size_s\">\n <tr class=\"tui-table__tr tui-table__tr_hover_disabled t-row t-row_header\">\n <th class=\"tui-table__th tui-table__th_first t-cell t-cell_prop\">\n {{ texts[2] }}\n </th>\n <td class=\"tui-table__th\">{{ type }}</td>\n <td\n *ngIf=\"showValues && !isAPI\"\n class=\"\n tui-table__th tui-table__th_last tui-table__th_text_right\n t-cell t-cell_value\n \"\n >\n {{ texts[3] }}\n </td>\n </tr>\n <tr\n *ngFor=\"let propertyConnector of propertiesConnectors; last as lastItem\"\n class=\"tui-table__tr tui-table__tr_hover_disabled t-row\"\n [class.t-deprecated]=\"propertyConnector.documentationPropertyDeprecated\"\n [class.tui-table__tr_border_none]=\"lastItem\"\n >\n <td\n class=\"\n tui-table__td tui-table__td_first tui-table__td_align_center\n t-cell\n \"\n >\n <div\n automation-id=\"tui-documentation__property-name\"\n class=\"t-property t-cell\"\n >\n {{ stripOptional(propertyConnector.attrName) }}\n <tui-badge\n *ngIf=\"isOptional(propertyConnector.attrName)\"\n size=\"s\"\n value=\"Optional\"\n ></tui-badge>\n </div>\n <span\n *ngIf=\"propertyConnector.documentationPropertyDeprecated\"\n class=\"t-deprecated-label\"\n >\n deprecated\n </span>\n <ng-container\n *ngTemplateOutlet=\"propertyConnector.template\"\n ></ng-container>\n </td>\n <td class=\"tui-table__td tui-table__td_align_center t-cell\">\n <span class=\"type\">\n {{ propertyConnector.documentationPropertyType }}\n <tui-tooltip\n *ngIf=\"showContentTooltip(propertyConnector.documentationPropertyType)\"\n [describeId]=\"propertyConnector.attrName\"\n [content]=\"content\"\n >\n <ng-template #content>\n {{ texts[4] }}\n <a\n tuiLink\n tuiMode=\"onDark\"\n target=\"_blank\"\n href=\"https://github.com/TinkoffCreditSystems/ng-polymorpheus\"\n >\n <code>ng-polymorpheus</code>\n </a>\n </ng-template>\n </tui-tooltip>\n </span>\n </td>\n <td\n *ngIf=\"showValues\"\n class=\"\n tui-table__td\n tui-table__td_align_center\n tui-table__td_last\n tui-table__td_text_right\n t-cell\n \"\n >\n <ng-container\n *ngIf=\"propertyConnector.shouldShowValues; else elseEmitter\"\n >\n <tui-select\n *ngIf=\"propertyConnector.hasItems; else noItems\"\n tuiTextfieldSize=\"m\"\n tuiDropdownLimitWidth=\"min\"\n [tuiTextfieldCleaner]=\"showCleaner(propertyConnector.documentationPropertyType)\"\n [tuiTextfieldLabelOutside]=\"true\"\n [nativeId]=\"propertyConnector.attrName\"\n [valueContent]=\"selectContent\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n >\n <code class=\"t-exception\">null</code>\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"propertyConnector.documentationPropertyValues\"\n [itemContent]=\"selectContent\"\n ></tui-data-list-wrapper>\n </tui-select>\n <ng-template #selectContent let-data>\n <code>{{ inspectAny(data) }}</code>\n </ng-template>\n\n <ng-template #noItems>\n <ng-container\n [ngSwitch]=\"propertyConnector.documentationPropertyType\"\n >\n <tui-toggle\n *ngSwitchCase=\"'boolean'\"\n size=\"l\"\n [nativeId]=\"propertyConnector.attrName\"\n [showIcons]=\"true\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-toggle>\n\n <tui-primitive-textfield\n *ngSwitchCase=\"'string'\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiTextfieldCleaner]=\"true\"\n [value]=\"propertyConnector.documentationPropertyValue || ''\"\n (valueChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-primitive-textfield>\n\n <div *ngSwitchCase=\"'color'\" tuiGroup>\n <tui-primitive-textfield\n tuiTextfieldType=\"color\"\n tuiTextfieldSize=\"m\"\n [attr.id]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiInputOpacity]=\"getOpacity(propertyConnector.documentationPropertyValue)\"\n [value]=\"getColor(propertyConnector.documentationPropertyValue)\"\n (valueChange)=\"onColorChange(propertyConnector, $event)\"\n ></tui-primitive-textfield>\n <tui-input-count\n tuiTextfieldSize=\"m\"\n [max]=\"100\"\n [ngModel]=\"getOpacity(propertyConnector.documentationPropertyValue)\"\n (ngModelChange)=\"onOpacityChange(propertyConnector, $event)\"\n >\n Opacity\n </tui-input-count>\n </div>\n\n <tui-input-count\n *ngSwitchCase=\"'number'\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-input-count>\n </ng-container>\n </ng-template>\n </ng-container>\n\n <ng-template #elseEmitter>\n <tui-notification\n class=\"t-output\"\n [@emitEvent]=\"propertyConnector.emits$ | async\"\n >\n Emit!\n </tui-notification>\n </ng-template>\n </td>\n </tr>\n</table>\n",
|
|
1236
1271
|
changeDetection: core.ChangeDetectionStrategy.OnPush,
|
|
1237
1272
|
animations: [
|
|
1238
1273
|
animations.trigger('emitEvent', [
|
|
@@ -1332,9 +1367,49 @@
|
|
|
1332
1367
|
|
|
1333
1368
|
var TUI_DOC_CODE_EDITOR = new core.InjectionToken('Contains service for opening online IDE e.g. Stackblitz');
|
|
1334
1369
|
|
|
1335
|
-
var TUI_DOC_EXAMPLE_CONTENT_PROCESSOR = new core.InjectionToken('Processes content in example', {
|
|
1336
|
-
|
|
1337
|
-
|
|
1370
|
+
var TUI_DOC_EXAMPLE_CONTENT_PROCESSOR = new core.InjectionToken('Processes content in example', { factory: function () { return cdk.identity; } });
|
|
1371
|
+
|
|
1372
|
+
function rawLoadRecord(example) {
|
|
1373
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
1374
|
+
var processedContent, _a, _b, _c, key, content, _d, _e, e_1_1;
|
|
1375
|
+
var e_1, _f;
|
|
1376
|
+
return __generator(this, function (_g) {
|
|
1377
|
+
switch (_g.label) {
|
|
1378
|
+
case 0:
|
|
1379
|
+
processedContent = {};
|
|
1380
|
+
_g.label = 1;
|
|
1381
|
+
case 1:
|
|
1382
|
+
_g.trys.push([1, 6, 7, 8]);
|
|
1383
|
+
_a = __values(Object.entries(example)), _b = _a.next();
|
|
1384
|
+
_g.label = 2;
|
|
1385
|
+
case 2:
|
|
1386
|
+
if (!!_b.done) return [3 /*break*/, 5];
|
|
1387
|
+
_c = __read(_b.value, 2), key = _c[0], content = _c[1];
|
|
1388
|
+
_d = processedContent;
|
|
1389
|
+
_e = key;
|
|
1390
|
+
return [4 /*yield*/, rawLoad(content)];
|
|
1391
|
+
case 3:
|
|
1392
|
+
_d[_e] = _g.sent();
|
|
1393
|
+
_g.label = 4;
|
|
1394
|
+
case 4:
|
|
1395
|
+
_b = _a.next();
|
|
1396
|
+
return [3 /*break*/, 2];
|
|
1397
|
+
case 5: return [3 /*break*/, 8];
|
|
1398
|
+
case 6:
|
|
1399
|
+
e_1_1 = _g.sent();
|
|
1400
|
+
e_1 = { error: e_1_1 };
|
|
1401
|
+
return [3 /*break*/, 8];
|
|
1402
|
+
case 7:
|
|
1403
|
+
try {
|
|
1404
|
+
if (_b && !_b.done && (_f = _a.return)) _f.call(_a);
|
|
1405
|
+
}
|
|
1406
|
+
finally { if (e_1) throw e_1.error; }
|
|
1407
|
+
return [7 /*endfinally*/];
|
|
1408
|
+
case 8: return [2 /*return*/, processedContent];
|
|
1409
|
+
}
|
|
1410
|
+
});
|
|
1411
|
+
});
|
|
1412
|
+
}
|
|
1338
1413
|
|
|
1339
1414
|
// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395
|
|
1340
1415
|
// @dynamic
|
|
@@ -1348,49 +1423,21 @@
|
|
|
1348
1423
|
this.texts = texts;
|
|
1349
1424
|
this.codeEditor = codeEditor;
|
|
1350
1425
|
this.processContent = processContent;
|
|
1426
|
+
this.rawLoader$$ = new rxjs.BehaviorSubject({});
|
|
1351
1427
|
this.heading = '';
|
|
1352
1428
|
this.description = '';
|
|
1353
1429
|
this.componentName = this.location.pathname.slice(1);
|
|
1354
1430
|
this.activeItemIndex = 0;
|
|
1355
|
-
this.processedContent = {};
|
|
1356
1431
|
this.defaultTab = this.texts[0];
|
|
1357
1432
|
this.copy$ = this.copyTexts$.pipe(operators.map(function (_a) {
|
|
1358
1433
|
var _b = __read(_a, 1), copy = _b[0];
|
|
1359
1434
|
return copy;
|
|
1360
1435
|
}));
|
|
1436
|
+
this.processor$ = this.rawLoader$$.pipe(operators.switchMap(rawLoadRecord), operators.map(this.processContent));
|
|
1361
1437
|
}
|
|
1362
1438
|
Object.defineProperty(TuiDocExampleComponent.prototype, "content", {
|
|
1363
1439
|
set: function (content) {
|
|
1364
|
-
this.
|
|
1365
|
-
},
|
|
1366
|
-
enumerable: true,
|
|
1367
|
-
configurable: true
|
|
1368
|
-
});
|
|
1369
|
-
Object.defineProperty(TuiDocExampleComponent.prototype, "activeItem", {
|
|
1370
|
-
get: function () {
|
|
1371
|
-
return this.tabs[this.activeItemIndex];
|
|
1372
|
-
},
|
|
1373
|
-
enumerable: true,
|
|
1374
|
-
configurable: true
|
|
1375
|
-
});
|
|
1376
|
-
Object.defineProperty(TuiDocExampleComponent.prototype, "tabs", {
|
|
1377
|
-
get: function () {
|
|
1378
|
-
return this.getTabs(this.processedContent);
|
|
1379
|
-
},
|
|
1380
|
-
enumerable: true,
|
|
1381
|
-
configurable: true
|
|
1382
|
-
});
|
|
1383
|
-
Object.defineProperty(TuiDocExampleComponent.prototype, "code", {
|
|
1384
|
-
get: function () {
|
|
1385
|
-
var code = this.processedContent[this.activeItem];
|
|
1386
|
-
return code ? code.trim() : '';
|
|
1387
|
-
},
|
|
1388
|
-
enumerable: true,
|
|
1389
|
-
configurable: true
|
|
1390
|
-
});
|
|
1391
|
-
Object.defineProperty(TuiDocExampleComponent.prototype, "isDefaultItem", {
|
|
1392
|
-
get: function () {
|
|
1393
|
-
return this.activeItem === this.defaultTab;
|
|
1440
|
+
this.rawLoader$$.next(content);
|
|
1394
1441
|
},
|
|
1395
1442
|
enumerable: true,
|
|
1396
1443
|
configurable: true
|
|
@@ -1409,9 +1456,6 @@
|
|
|
1409
1456
|
})
|
|
1410
1457
|
.subscribe();
|
|
1411
1458
|
};
|
|
1412
|
-
TuiDocExampleComponent.prototype.getTabs = function (content) {
|
|
1413
|
-
return __spread([this.defaultTab], Object.keys(content));
|
|
1414
|
-
};
|
|
1415
1459
|
TuiDocExampleComponent.ctorParameters = function () { return [
|
|
1416
1460
|
{ type: String, decorators: [{ type: core.Attribute, args: ['id',] }] },
|
|
1417
1461
|
{ type: clipboard.Clipboard, decorators: [{ type: core.Inject, args: [clipboard.Clipboard,] }] },
|
|
@@ -1434,13 +1478,10 @@
|
|
|
1434
1478
|
__decorate([
|
|
1435
1479
|
core.Input()
|
|
1436
1480
|
], TuiDocExampleComponent.prototype, "componentName", void 0);
|
|
1437
|
-
__decorate([
|
|
1438
|
-
cdk.tuiPure
|
|
1439
|
-
], TuiDocExampleComponent.prototype, "getTabs", null);
|
|
1440
1481
|
TuiDocExampleComponent = __decorate([
|
|
1441
1482
|
core.Component({
|
|
1442
1483
|
selector: 'tui-doc-example',
|
|
1443
|
-
template: "<h3 *ngIf=\"heading\" class=\"t-title\">\n <span polymorpheus-outlet [content]=\"heading\"></span>\n <button\n *ngIf=\"id\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n
|
|
1484
|
+
template: "<h3 *ngIf=\"heading\" class=\"t-title\">\n <span polymorpheus-outlet [content]=\"heading\"></span>\n <button\n *ngIf=\"id\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n icon=\"tuiIconLinkLarge\"\n appearance=\"icon\"\n class=\"t-link-icon\"\n [title]=\"copy$ | async\"\n (click)=\"copyExampleLink()\"\n ></button>\n</h3>\n<h4\n *ngIf=\"description\"\n polymorpheus-outlet\n class=\"t-description\"\n [content]=\"description\"\n></h4>\n\n<div *ngIf=\"processor$ | async as content\" class=\"t-example\">\n <ng-container *ngIf=\"content | tuiDocExampleGetTabs: defaultTab as tabs\">\n <div class=\"t-tabs-wrapper\">\n <tui-tabs-with-more\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabs\">\n <button *tuiTab tuiTab>{{tab}}</button>\n </ng-container>\n </tui-tabs-with-more>\n\n <button\n *ngIf=\"codeEditor\"\n tuiButton\n appearance=\"flat\"\n size=\"s\"\n (click)=\"codeEditor.open(componentName, id || '', content)\"\n >\n Edit on {{codeEditor.name}}\n </button>\n </div>\n\n <ng-container\n *ngIf=\"{\n activeTab: tabs[activeItemIndex],\n code: content[tabs[activeItemIndex]] || ''\n } as state\"\n >\n <div\n *ngIf=\"state.activeTab == defaultTab; else codeSection\"\n automation-id=\"tui-doc-example\"\n class=\"t-demo\"\n >\n <ng-content></ng-content>\n </div>\n\n <ng-template #codeSection>\n <tui-doc-copy\n class=\"t-copy-code\"\n [cdkCopyToClipboard]=\"state.code\"\n ></tui-doc-copy>\n <tui-doc-code [code]=\"state.code\"></tui-doc-code>\n </ng-template>\n </ng-container>\n </ng-container>\n</div>\n",
|
|
1444
1485
|
changeDetection: core.ChangeDetectionStrategy.OnPush,
|
|
1445
1486
|
styles: [":host{position:relative;display:block;padding-top:3.5rem;clear:right}.t-title{font:var(--tui-font-heading-5);margin:0 0 .5rem}@media screen and (max-width:47.9375em){:host{padding-top:2rem}.t-title{font:var(--tui-font-heading-6)}}.t-description{font:var(--tui-font-text-m);font-weight:400;margin:0}.t-description:first-letter,.t-title:first-letter{text-transform:capitalize}.t-example{position:relative;margin-top:1.5rem;border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m);box-shadow:0 .125rem .1875rem rgba(0,0,0,.1)}.t-tabs-wrapper{display:flex;padding:0 2rem;box-shadow:inset 0 -1px var(--tui-base-03);justify-content:space-between;align-items:center}@media screen and (max-width:47.9375em){.t-example{margin-top:.75rem}.t-tabs-wrapper{padding:0 1rem}}.t-tabs{flex-grow:1}.t-demo{padding:2rem;overflow-x:auto}@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution:0.001dpcm){.t-demo::-webkit-scrollbar,.t-demo::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:6px solid transparent}.t-demo::-webkit-scrollbar{background-color:transparent}.t-demo::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}.t-demo::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}.t-demo::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}@media screen and (max-width:47.9375em){.t-demo{padding:1rem}}.t-copy-code{position:absolute;top:4.375rem;right:1rem}.t-link-icon{margin-left:.3rem;vertical-align:baseline}"]
|
|
1446
1487
|
}),
|
|
@@ -1457,6 +1498,18 @@
|
|
|
1457
1498
|
return TuiDocExampleComponent;
|
|
1458
1499
|
}());
|
|
1459
1500
|
|
|
1501
|
+
var TuiDocExampleGetTabsPipe = /** @class */ (function () {
|
|
1502
|
+
function TuiDocExampleGetTabsPipe() {
|
|
1503
|
+
}
|
|
1504
|
+
TuiDocExampleGetTabsPipe.prototype.transform = function (content, defaultTab) {
|
|
1505
|
+
return __spread([defaultTab], Object.keys(content));
|
|
1506
|
+
};
|
|
1507
|
+
TuiDocExampleGetTabsPipe = __decorate([
|
|
1508
|
+
core.Pipe({ name: 'tuiDocExampleGetTabs' })
|
|
1509
|
+
], TuiDocExampleGetTabsPipe);
|
|
1510
|
+
return TuiDocExampleGetTabsPipe;
|
|
1511
|
+
}());
|
|
1512
|
+
|
|
1460
1513
|
var TuiDocExampleModule = /** @class */ (function () {
|
|
1461
1514
|
function TuiDocExampleModule() {
|
|
1462
1515
|
}
|
|
@@ -1471,8 +1524,8 @@
|
|
|
1471
1524
|
TuiDocCodeModule,
|
|
1472
1525
|
ngPolymorpheus.PolymorpheusModule,
|
|
1473
1526
|
],
|
|
1474
|
-
declarations: [TuiDocExampleComponent],
|
|
1475
|
-
exports: [TuiDocExampleComponent],
|
|
1527
|
+
declarations: [TuiDocExampleComponent, TuiDocExampleGetTabsPipe],
|
|
1528
|
+
exports: [TuiDocExampleComponent, TuiDocExampleGetTabsPipe],
|
|
1476
1529
|
})
|
|
1477
1530
|
], TuiDocExampleModule);
|
|
1478
1531
|
return TuiDocExampleModule;
|
|
@@ -1556,7 +1609,7 @@
|
|
|
1556
1609
|
TuiDocHeaderComponent = __decorate([
|
|
1557
1610
|
core.Component({
|
|
1558
1611
|
selector: 'header[tuiDocHeader]',
|
|
1559
|
-
template: "<button\n tuiIconButton\n
|
|
1612
|
+
template: "<button\n tuiIconButton\n icon=\"tuiIconMenuLarge\"\n appearance=\"icon\"\n class=\"menu\"\n [title]=\"menu\"\n (click)=\"onClick()\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-doc-navigation\n *tuiSidebar=\"open$ | async\"\n class=\"navigation\"\n ></tui-doc-navigation>\n</button>\n<div polymorpheus-outlet class=\"logo tui-text_h5\" [content]=\"logo\">\n <ng-template let-src>\n <img alt=\"Logo\" class=\"img\" [src]=\"src\" />\n </ng-template>\n</div>\n<ng-content></ng-content>\n",
|
|
1560
1613
|
changeDetection: core.ChangeDetectionStrategy.OnPush,
|
|
1561
1614
|
styles: [":host{box-shadow:0 .125rem 1rem rgba(0,0,0,.08);position:fixed;top:0;left:0;right:0;z-index:1;display:flex;height:3.9375rem;align-items:center;padding:0 1.25rem;background:var(--tui-base-01);border-bottom:1px solid var(--tui-base-03)}.logo{margin-right:auto}.img{display:block}.menu{margin-left:-1.25rem}@media screen and (min-width:48em){.menu{display:none}}.navigation{min-height:100%}"]
|
|
1562
1615
|
}),
|
|
@@ -1706,7 +1759,7 @@
|
|
|
1706
1759
|
TuiDocPageComponent = __decorate([
|
|
1707
1760
|
core.Component({
|
|
1708
1761
|
selector: 'tui-doc-page',
|
|
1709
|
-
template: "<header class=\"t-header\">\n <h1 class=\"t-title\">\n {{header}}\n <tui-tag\n *ngIf=\"deprecated !== null\"\n
|
|
1762
|
+
template: "<header class=\"t-header\">\n <h1 class=\"t-title\">\n {{ header }}\n <tui-tag\n *ngIf=\"deprecated !== null\"\n value=\"deprecated\"\n status=\"custom\"\n class=\"t-tag t-tag_deprecated\"\n ></tui-tag>\n <tui-tag\n *ngIf=\"package\"\n status=\"custom\"\n class=\"t-tag t-tag_package\"\n [value]=\"package\"\n [autoColor]=\"true\"\n ></tui-tag>\n </h1>\n <tui-tabs-with-more\n *ngIf=\"tabConnectors.length\"\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container\n *ngFor=\"let tab of tabConnectors; first as first; index as index\"\n >\n <ng-container *ngIf=\"first; else dynamicTab\">\n <a\n *tuiTab\n tuiTab\n routerLink=\"./\"\n routerLinkActive\n [routerLinkActiveOptions]=\"{exact: true}\"\n >\n {{ tab.pageTab || defaultTabs[index] }}\n </a>\n </ng-container>\n <ng-template #dynamicTab>\n <a\n *tuiTab\n tuiTab\n routerLinkActive\n [routerLink]=\"getRouterLink(tab.pageTab || defaultTabs[index])\"\n >\n {{ tab.pageTab || defaultTabs[index] }}\n </a>\n </ng-template>\n </ng-container>\n </tui-tabs-with-more>\n <tui-doc-source-code\n class=\"t-source-code\"\n [header]=\"header\"\n [package]=\"package\"\n [type]=\"type\"\n [path]=\"path\"\n ></tui-doc-source-code>\n</header>\n<div class=\"t-content\">\n <ng-content></ng-content>\n <tui-doc-see-also\n *ngIf=\"showSeeAlso\"\n class=\"t-see-also\"\n [seeAlso]=\"seeAlso\"\n ></tui-doc-see-also>\n <ng-container *ngFor=\"let tab of tabConnectors; index as index\">\n <ng-container *ngIf=\"index === activeItemIndex\">\n <ng-container *ngTemplateOutlet=\"tab.template\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n",
|
|
1710
1763
|
changeDetection: core.ChangeDetectionStrategy.OnPush,
|
|
1711
1764
|
providers: PAGE_PROVIDERS,
|
|
1712
1765
|
styles: [":host{display:flex;flex-direction:column;min-height:0;flex-basis:0;flex-grow:1}.t-header{display:flex;font:var(--tui-font-heading-3);flex-wrap:wrap;min-height:7.25rem;color:var(--tui-text-01);box-shadow:inset 0 -1px 0 0 var(--tui-base-03);padding:3.75rem 0 0;box-sizing:border-box;flex-shrink:0;margin:0 min(10vw,8.75rem)}@media screen and (max-width:47.9375em){.t-header{font:var(--tui-font-heading-4);min-height:4.5rem;padding:1.25rem 1.25rem 0;margin:0}}.t-title{min-width:100%;font-size:inherit;margin:0}.t-tag{vertical-align:middle;text-transform:uppercase;margin-right:.5rem}.t-tag_deprecated{background-color:var(--tui-error-fill)}.t-tag.t-tag_package{color:#000}.t-tabs{flex:1;margin:1.125rem .3125rem 0 0}@media screen and (max-width:47.9375em){.t-tabs{margin-top:.25rem}}.t-content{padding:2rem 0;margin:0 min(10vw,8.75rem)}@media screen and (max-width:47.9375em){.t-content{padding:2rem 1.25rem;margin:0}}.t-see-also{min-width:18.75rem;width:30%;float:right;margin-left:1.5rem}@media screen and (max-width:47.9375em){.t-see-also{float:none;width:100%;margin:0 0 1.5rem}}.t-source-code{align-self:flex-end;line-height:2.75rem}"]
|
|
@@ -1747,7 +1800,7 @@
|
|
|
1747
1800
|
TuiDocSeeAlsoComponent = __decorate([
|
|
1748
1801
|
core.Component({
|
|
1749
1802
|
selector: 'tui-doc-see-also',
|
|
1750
|
-
template: "<h5 class=\"header\">{{text}}</h5>\n<ng-container *ngFor=\"let item of seeAlso; last as last\">\n <a tuiLink [routerLink]=\"getRouterLink(item)\">{{item}}</a>\n <ng-container *ngIf=\"!last\"
|
|
1803
|
+
template: "<h5 class=\"header\">{{ text }}</h5>\n<ng-container *ngFor=\"let item of seeAlso; last as last\">\n <a tuiLink [routerLink]=\"getRouterLink(item)\">{{ item }}</a>\n <ng-container *ngIf=\"!last\">,</ng-container>\n</ng-container>\n",
|
|
1751
1804
|
changeDetection: core.ChangeDetectionStrategy.OnPush,
|
|
1752
1805
|
styles: [":host{display:block}.header{font-size:.6875rem;line-height:1rem;text-transform:uppercase;letter-spacing:.075em;color:var(--tui-text-02);margin:0 0 .5rem;white-space:nowrap}"]
|
|
1753
1806
|
}),
|
|
@@ -1820,7 +1873,7 @@
|
|
|
1820
1873
|
TuiDocSourceCodeComponent = __decorate([
|
|
1821
1874
|
core.Component({
|
|
1822
1875
|
selector: 'tui-doc-source-code',
|
|
1823
|
-
template: "<div\n
|
|
1876
|
+
template: "<div\n *ngIf=\"!!sourceCode\"\n polymorpheus-outlet\n [content]=\"sourceCode\"\n [context]=\"pathOptions\"\n>\n <ng-template let-link>\n <a\n *ngIf=\"link\"\n tuiIconButton\n type=\"button\"\n icon=\"tuiIconCodeLarge\"\n appearance=\"icon\"\n target=\"_blank\"\n size=\"s\"\n [title]=\"text\"\n [href]=\"link\"\n ></a>\n </ng-template>\n</div>\n",
|
|
1824
1877
|
changeDetection: core.ChangeDetectionStrategy.OnPush
|
|
1825
1878
|
}),
|
|
1826
1879
|
__param(0, core.Inject(TUI_DOC_SOURCE_CODE)),
|
|
@@ -1988,15 +2041,16 @@
|
|
|
1988
2041
|
exports.ɵg = itemsProviderFactory;
|
|
1989
2042
|
exports.ɵh = TuiInputOpacityModule;
|
|
1990
2043
|
exports.ɵi = TuiInputOpacityDirective;
|
|
1991
|
-
exports.ɵj =
|
|
1992
|
-
exports.ɵk =
|
|
1993
|
-
exports.ɵl =
|
|
1994
|
-
exports.ɵm =
|
|
1995
|
-
exports.ɵn =
|
|
1996
|
-
exports.ɵo =
|
|
1997
|
-
exports.ɵp =
|
|
1998
|
-
exports.ɵq =
|
|
1999
|
-
exports.ɵr =
|
|
2044
|
+
exports.ɵj = TuiDocExampleGetTabsPipe;
|
|
2045
|
+
exports.ɵk = TuiDocHeaderModule;
|
|
2046
|
+
exports.ɵl = TuiDocHeaderComponent;
|
|
2047
|
+
exports.ɵm = PAGE_SEE_ALSO;
|
|
2048
|
+
exports.ɵn = PAGE_PROVIDERS;
|
|
2049
|
+
exports.ɵo = seeAlsoProviderFactory;
|
|
2050
|
+
exports.ɵp = TuiDocSeeAlsoModule;
|
|
2051
|
+
exports.ɵq = TuiDocSeeAlsoComponent;
|
|
2052
|
+
exports.ɵr = TuiDocSourceCodeModule;
|
|
2053
|
+
exports.ɵs = TuiDocSourceCodeComponent;
|
|
2000
2054
|
|
|
2001
2055
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
2002
2056
|
|