@taiga-ui/addon-doc 2.52.0 → 2.53.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/bundles/taiga-ui-addon-doc.umd.js +65 -12
- package/bundles/taiga-ui-addon-doc.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-doc.umd.min.js +1 -1
- package/bundles/taiga-ui-addon-doc.umd.min.js.map +1 -1
- package/components/code/parse-code-block.d.ts +4 -0
- package/components/navigation/navigation.component.d.ts +2 -1
- package/esm2015/components/code/code.component.js +2 -2
- package/esm2015/components/code/parse-code-block.js +6 -1
- package/esm2015/components/demo/demo.component.js +2 -2
- package/esm2015/components/documentation/documentation.component.js +2 -2
- package/esm2015/components/example/example.component.js +2 -2
- package/esm2015/components/navigation/navigation.component.js +10 -6
- package/esm2015/components/navigation/navigation.providers.js +4 -1
- package/esm2015/components/page/page.component.js +2 -2
- package/esm2015/components/page/page.providers.js +2 -1
- package/esm2015/internal/see-also/see-also.component.js +2 -2
- package/esm2015/public-api.js +2 -1
- package/esm2015/tokens/scroll-behavior.js +3 -0
- package/esm2015/utils/coerce-value.js +7 -2
- package/esm2015/utils/color-conversion.js +10 -1
- package/esm2015/utils/generate-routes.js +4 -1
- package/esm2015/utils/inspect.js +4 -1
- package/esm2015/utils/raw-load-record.js +6 -1
- package/esm2015/utils/raw-load.js +6 -1
- package/esm2015/utils/transliterate-keyboard-layout.js +4 -1
- package/esm5/components/code/code.component.js +2 -2
- package/esm5/components/code/parse-code-block.js +6 -1
- package/esm5/components/demo/demo.component.js +2 -2
- package/esm5/components/documentation/documentation.component.js +2 -2
- package/esm5/components/example/example.component.js +2 -2
- package/esm5/components/navigation/navigation.component.js +10 -6
- package/esm5/components/navigation/navigation.providers.js +4 -1
- package/esm5/components/page/page.component.js +2 -2
- package/esm5/components/page/page.providers.js +2 -1
- package/esm5/internal/see-also/see-also.component.js +2 -2
- package/esm5/public-api.js +2 -1
- package/esm5/tokens/scroll-behavior.js +3 -0
- package/esm5/utils/coerce-value.js +7 -2
- package/esm5/utils/color-conversion.js +10 -1
- package/esm5/utils/generate-routes.js +4 -1
- package/esm5/utils/inspect.js +4 -1
- package/esm5/utils/raw-load-record.js +6 -1
- package/esm5/utils/raw-load.js +6 -1
- package/esm5/utils/transliterate-keyboard-layout.js +4 -1
- package/fesm2015/taiga-ui-addon-doc.js +60 -13
- package/fesm2015/taiga-ui-addon-doc.js.map +1 -1
- package/fesm5/taiga-ui-addon-doc.js +60 -13
- package/fesm5/taiga-ui-addon-doc.js.map +1 -1
- package/package.json +5 -5
- package/public-api.d.ts +1 -0
- package/taiga-ui-addon-doc.metadata.json +1 -1
- package/tokens/scroll-behavior.d.ts +2 -0
- package/utils/coerce-value.d.ts +4 -0
- package/utils/color-conversion.d.ts +7 -0
- package/utils/generate-routes.d.ts +2 -0
- package/utils/inspect.d.ts +2 -0
- package/utils/raw-load-record.d.ts +4 -0
- package/utils/raw-load.d.ts +4 -0
- package/utils/transliterate-keyboard-layout.d.ts +2 -0
|
@@ -17,12 +17,21 @@ import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
|
|
|
17
17
|
import { TuiSidebarDirective, TuiSidebarModule } from '@taiga-ui/addon-mobile';
|
|
18
18
|
import { Title } from '@angular/platform-browser';
|
|
19
19
|
|
|
20
|
+
/**
|
|
21
|
+
* @deprecated: use {@link tuiRawLoad} instead
|
|
22
|
+
*/
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
20
24
|
function rawLoad(content) {
|
|
21
25
|
return __awaiter(this, void 0, void 0, function* () {
|
|
22
26
|
return content instanceof Promise ? (yield content).default : content;
|
|
23
27
|
});
|
|
24
28
|
}
|
|
29
|
+
const tuiRawLoad = rawLoad;
|
|
25
30
|
|
|
31
|
+
/**
|
|
32
|
+
* @deprecated: use {@link tuiTryParseMarkdownCodeBlock} instead
|
|
33
|
+
*/
|
|
34
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
26
35
|
function tryParseMarkdownCodeBlock(text = '') {
|
|
27
36
|
const tokens = new MarkdownIt().parse(text, {});
|
|
28
37
|
const result = tokens
|
|
@@ -30,6 +39,7 @@ function tryParseMarkdownCodeBlock(text = '') {
|
|
|
30
39
|
.map(({ content }) => content);
|
|
31
40
|
return result.length ? result : [text];
|
|
32
41
|
}
|
|
42
|
+
const tuiTryParseMarkdownCodeBlock = tryParseMarkdownCodeBlock;
|
|
33
43
|
|
|
34
44
|
let TuiDocCodeComponent = class TuiDocCodeComponent {
|
|
35
45
|
constructor() {
|
|
@@ -56,7 +66,7 @@ __decorate([
|
|
|
56
66
|
TuiDocCodeComponent = __decorate([
|
|
57
67
|
Component({
|
|
58
68
|
selector: 'tui-doc-code',
|
|
59
|
-
template: "<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",
|
|
69
|
+
template: "<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",
|
|
60
70
|
styles: [":host{display:block}.t-header{font:var(--tui-font-text-s);font-weight:700}.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-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: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}"]
|
|
61
71
|
})
|
|
62
72
|
], TuiDocCodeComponent);
|
|
@@ -284,7 +294,7 @@ __decorate([
|
|
|
284
294
|
TuiDocDemoComponent = TuiDocDemoComponent_1 = __decorate([
|
|
285
295
|
Component({
|
|
286
296
|
selector: 'tui-doc-demo',
|
|
287
|
-
template: "<div\n class=\"t-bg-toggle\"\n [tuiMode]=\"null\"\n>\n <ng-template #tooltip>\n {{ texts[0] }}\n <a\n tuiLink\n tuiMode=\"onDark\"\n routerLink=\"/directives/mode\"\n >\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\n describeId=\"form\"\n [content]=\"tooltip\"\n ></tui-tooltip>\n <div\n tuiGroup\n class=\"t-group\"\n [collapsed]=\"true\"\n >\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=\"t-checkbox\"\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\n #content\n id=\"demoContent\"\n class=\"t-content\"\n >\n <form\n *ngIf=\"testForm\"\n class=\"t-form\"\n [formGroup]=\"testForm\"\n >\n <div class=\"t-input-wrapper\">\n <ng-container
|
|
297
|
+
template: "<div\n class=\"t-bg-toggle\"\n [tuiMode]=\"null\"\n>\n <ng-template #tooltip>\n {{ texts[0] }}\n <a\n tuiLink\n tuiMode=\"onDark\"\n routerLink=\"/directives/mode\"\n >\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\n describeId=\"form\"\n [content]=\"tooltip\"\n ></tui-tooltip>\n <div\n tuiGroup\n class=\"t-group\"\n [collapsed]=\"true\"\n >\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=\"t-checkbox\"\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\n #content\n id=\"demoContent\"\n class=\"t-content\"\n >\n <form\n *ngIf=\"testForm\"\n class=\"t-form\"\n [formGroup]=\"testForm\"\n >\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=\"t-button\"\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\n class=\"t-expand\"\n [expanded]=\"expanded\"\n >\n <ng-template tuiExpandContent>\n <pre class=\"t-value\">Form data: {{ testForm.value | json }}</pre>\n <div\n tuiGroup\n class=\"t-form-controls\"\n >\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\n #resizerText\n class=\"t-resizer-text\"\n ></span>\n </button>\n</div>\n",
|
|
288
298
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
289
299
|
providers: [
|
|
290
300
|
TuiDestroyService,
|
|
@@ -335,11 +345,19 @@ TuiDocDemoModule = __decorate([
|
|
|
335
345
|
], TuiDocDemoModule);
|
|
336
346
|
|
|
337
347
|
/**
|
|
348
|
+
* TODO: duplicate, need fix it before v3
|
|
338
349
|
* TODO: move another package for reuse between addon-editor and addon-doc
|
|
350
|
+
* @deprecated: use {@link tuiRgbToHex} instead
|
|
339
351
|
*/
|
|
352
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
340
353
|
function rgbToHex(r, g, b) {
|
|
341
354
|
return `#${[r, g, b].map(x => x.toString(16).padStart(2, '0')).join('')}`;
|
|
342
355
|
}
|
|
356
|
+
const tuiRgbToHex = rgbToHex;
|
|
357
|
+
/**
|
|
358
|
+
* @deprecated: use {@link tuiHexToRgb} instead
|
|
359
|
+
*/
|
|
360
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
343
361
|
function hexToRgb(hex) {
|
|
344
362
|
const matches = hex
|
|
345
363
|
.replace('#', '')
|
|
@@ -351,6 +369,7 @@ function hexToRgb(hex) {
|
|
|
351
369
|
? matches.map(x => Number.parseInt(x, 16))
|
|
352
370
|
: [0, 0, 0];
|
|
353
371
|
}
|
|
372
|
+
const tuiHexToRgb = hexToRgb;
|
|
354
373
|
|
|
355
374
|
function inspectArray(array, depth) {
|
|
356
375
|
if (depth === 0) {
|
|
@@ -390,11 +409,13 @@ function inspectObject(object, depth) {
|
|
|
390
409
|
return `{${result}}`;
|
|
391
410
|
}
|
|
392
411
|
/**
|
|
412
|
+
* @deprecated: use {@link tuiInspectAny} instead
|
|
393
413
|
* Returns readable JS entity
|
|
394
414
|
* @param data
|
|
395
415
|
* @param depth
|
|
396
416
|
* @return readable JS entity
|
|
397
417
|
*/
|
|
418
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
398
419
|
function inspectAny(data, depth) {
|
|
399
420
|
if (data === null) {
|
|
400
421
|
return 'null';
|
|
@@ -416,8 +437,12 @@ function inspectAny(data, depth) {
|
|
|
416
437
|
}
|
|
417
438
|
return inspectObject(data, depth);
|
|
418
439
|
}
|
|
440
|
+
const tuiInspectAny = inspectAny;
|
|
419
441
|
|
|
420
|
-
|
|
442
|
+
/**
|
|
443
|
+
* @deprecated: use {@link tuiCoerceValue} instead
|
|
444
|
+
*/
|
|
445
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
421
446
|
function coerceValue(value) {
|
|
422
447
|
const prepared = String(value).trim();
|
|
423
448
|
if (isEmptyParamValue(prepared)) {
|
|
@@ -439,6 +464,7 @@ function coerceValue(value) {
|
|
|
439
464
|
return decodedValue;
|
|
440
465
|
}
|
|
441
466
|
}
|
|
467
|
+
const tuiCoerceValue = coerceValue;
|
|
442
468
|
function isEmptyParamValue(value) {
|
|
443
469
|
return ['undefined', 'null', 'NaN', 'Infinity'].includes(value);
|
|
444
470
|
}
|
|
@@ -447,6 +473,7 @@ function isBooleanParamValue(value) {
|
|
|
447
473
|
}
|
|
448
474
|
function isNumberParamValue(value) {
|
|
449
475
|
// TODO: investigate to disallow potentially catastrophic exponential-time regular expressions.
|
|
476
|
+
// eslint-disable-next-line unicorn/no-unsafe-regex
|
|
450
477
|
return /^-?[\d.]+(?:e-?\d+)?$/.test(value);
|
|
451
478
|
}
|
|
452
479
|
function isPossibleArray(value) {
|
|
@@ -681,7 +708,7 @@ __decorate([
|
|
|
681
708
|
TuiDocDocumentationComponent = __decorate([
|
|
682
709
|
Component({
|
|
683
710
|
selector: 'tui-doc-documentation',
|
|
684
|
-
template: "<h1\n *ngIf=\"heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h1>\n<ng-content></ng-content>\n<table class=\"t-table\">\n <tr class=\"t-row t-row_header\">\n <th class=\"t-th t-cell t-cell_prop\">{{ texts[2] }}</th>\n <th class=\"t-th\">{{ type }}</th>\n <th\n *ngIf=\"showValues && !isAPI\"\n class=\"t-th t-cell t-cell_value\"\n >\n {{ texts[3] }}\n </th>\n </tr>\n <tr\n *ngFor=\"let propertyConnector of propertiesConnectors\"\n class=\"t-row\"\n [class.t-deprecated]=\"propertyConnector.documentationPropertyDeprecated\"\n >\n <td class=\"t-cell\">\n <div\n automation-id=\"tui-documentation__property-name\"\n class=\"t-property\"\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
|
|
711
|
+
template: "<h1\n *ngIf=\"heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h1>\n<ng-content></ng-content>\n<table class=\"t-table\">\n <tr class=\"t-row t-row_header\">\n <th class=\"t-th t-cell t-cell_prop\">{{ texts[2] }}</th>\n <th class=\"t-th\">{{ type }}</th>\n <th\n *ngIf=\"showValues && !isAPI\"\n class=\"t-th t-cell t-cell_value\"\n >\n {{ texts[3] }}\n </th>\n </tr>\n <tr\n *ngFor=\"let propertyConnector of propertiesConnectors\"\n class=\"t-row\"\n [class.t-deprecated]=\"propertyConnector.documentationPropertyDeprecated\"\n >\n <td class=\"t-cell\">\n <div\n automation-id=\"tui-documentation__property-name\"\n class=\"t-property\"\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 [ngTemplateOutlet]=\"propertyConnector.template\"></ng-container>\n </td>\n <td class=\"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/tinkoff/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=\"t-cell\"\n >\n <ng-container *ngIf=\"propertyConnector.shouldShowValues; else elseEmitter\">\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\n #selectContent\n let-data\n >\n <code>{{ inspectAny(data) }}</code>\n </ng-template>\n\n <ng-template #noItems>\n <ng-container [ngSwitch]=\"propertyConnector.documentationPropertyType\">\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\n *ngSwitchCase=\"'color'\"\n tuiGroup\n >\n <tui-primitive-textfield\n tuiTextfieldType=\"text\"\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\n <ng-container *ngSwitchCase=\"'PolymorpheusContent'\">\n <tui-primitive-textfield\n *ngIf=\"isPrimitivePolymorpheusContent(propertyConnector.documentationPropertyValue)\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiTextfieldCleaner]=\"true\"\n [value]=\"propertyConnector.documentationPropertyValue.toString()\"\n (valueChange)=\"propertyConnector.onValueChange($event)\"\n >\n Default content\n </tui-primitive-textfield>\n </ng-container>\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",
|
|
685
712
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
686
713
|
animations: [
|
|
687
714
|
trigger('emitEvent', [
|
|
@@ -774,6 +801,10 @@ const TUI_DOC_CODE_EDITOR = new InjectionToken('Contains service for opening onl
|
|
|
774
801
|
|
|
775
802
|
const TUI_DOC_EXAMPLE_CONTENT_PROCESSOR = new InjectionToken('Processes content in example', { factory: () => identity });
|
|
776
803
|
|
|
804
|
+
/**
|
|
805
|
+
* @deprecated: use {@link tuiRawLoadRecord} instead
|
|
806
|
+
*/
|
|
807
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
777
808
|
function rawLoadRecord(example) {
|
|
778
809
|
return __awaiter(this, void 0, void 0, function* () {
|
|
779
810
|
const processedContent = {};
|
|
@@ -785,6 +816,7 @@ function rawLoadRecord(example) {
|
|
|
785
816
|
return processedContent;
|
|
786
817
|
});
|
|
787
818
|
}
|
|
819
|
+
const tuiRawLoadRecord = rawLoadRecord;
|
|
788
820
|
|
|
789
821
|
// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395
|
|
790
822
|
// @dynamic
|
|
@@ -861,7 +893,7 @@ __decorate([
|
|
|
861
893
|
TuiDocExampleComponent = __decorate([
|
|
862
894
|
Component({
|
|
863
895
|
selector: 'tui-doc-example',
|
|
864
|
-
template: "<h3\n *ngIf=\"heading\"\n class=\"t-title\"\n>\n <span\n polymorpheus-outlet\n [content]=\"heading | tuiDocExampleCapitalize\"\n ></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 | tuiDocExampleCapitalize\"\n></h4>\n\n<div\n *ngIf=\"processor$ | async as files\"\n class=\"t-example\"\n>\n <ng-container *ngIf=\"files | 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\n *tuiTab\n tuiTab\n >\n {{tab}}\n </button>\n </ng-container>\n </tui-tabs-with-more>\n\n <button\n *ngIf=\"codeEditor\"\n tuiButton\n appearance=\"flat\"\n size=\"s\"\n [showLoader]=\"!!(loading$ | async)\"\n (click)=\"edit(files)\"\n >\n Edit on {{codeEditor.name}}\n </button>\n </div>\n\n <div\n *ngFor=\"let tab of tabs; let index = index\"\n class=\"t-content\"\n [class.t-content_animated]=\"!isCypress\"\n [class.t-content_visible]=\"activeItemIndex === index\"\n >\n <ng-container
|
|
896
|
+
template: "<h3\n *ngIf=\"heading\"\n class=\"t-title\"\n>\n <span\n polymorpheus-outlet\n [content]=\"heading | tuiDocExampleCapitalize\"\n ></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 | tuiDocExampleCapitalize\"\n></h4>\n\n<div\n *ngIf=\"processor$ | async as files\"\n class=\"t-example\"\n>\n <ng-container *ngIf=\"files | 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\n *tuiTab\n tuiTab\n >\n {{ tab }}\n </button>\n </ng-container>\n </tui-tabs-with-more>\n\n <button\n *ngIf=\"codeEditor\"\n tuiButton\n appearance=\"flat\"\n size=\"s\"\n [showLoader]=\"!!(loading$ | async)\"\n (click)=\"edit(files)\"\n >\n Edit on {{ codeEditor.name }}\n </button>\n </div>\n\n <div\n *ngFor=\"let tab of tabs; let index = index\"\n class=\"t-content\"\n [class.t-content_animated]=\"!isCypress\"\n [class.t-content_visible]=\"activeItemIndex === index\"\n >\n <ng-container\n *ngIf=\"index === defaultTabIndex; else anotherTab\"\n [ngTemplateOutlet]=\"preview\"\n ></ng-container>\n <ng-template #anotherTab>\n <ng-container\n [ngTemplateOutlet]=\"codeSection\"\n [ngTemplateOutletContext]=\"{$implicit: files[tabs[activeItemIndex]] || ''}\"\n ></ng-container>\n </ng-template>\n </div>\n </ng-container>\n</div>\n\n<ng-template #preview>\n <div\n automation-id=\"tui-doc-example\"\n class=\"t-demo\"\n >\n <ng-content></ng-content>\n </div>\n</ng-template>\n\n<ng-template\n #codeSection\n let-code\n>\n <section class=\"t-code-actions\">\n <ng-container *ngFor=\"let action of codeActions\">\n <div\n polymorpheus-outlet\n [content]=\"action\"\n [context]=\"{$implicit: code}\"\n ></div>\n </ng-container>\n <tui-doc-copy [cdkCopyToClipboard]=\"code\"></tui-doc-copy>\n </section>\n <tui-doc-code [code]=\"code\"></tui-doc-code>\n</ng-template>\n",
|
|
865
897
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
866
898
|
styles: [":host{position:relative;display:block;padding-top:3.5rem;clear:right}:host :host-context(tui-root._mobile){padding-top:2rem}.t-title{font:var(--tui-font-heading-5);margin:0 0 .5rem}:host-context(tui-root._mobile) .t-title{font:var(--tui-font-heading-6)}.t-description{font:var(--tui-font-text-m);font-weight:400;margin:0}.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)}:host-context(tui-root._mobile) .t-example{margin-top:.75rem}.t-tabs-wrapper{display:flex;padding:0 2rem;box-shadow:inset 0 -1px var(--tui-base-03);justify-content:space-between;align-items:center}:host-context(tui-root._mobile) .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:2.667rem 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)}}:host-context(tui-root._mobile) .t-demo{padding:1rem}.t-code-actions{position:absolute;top:4.375rem;right:1rem;display:flex;justify-content:flex-end;align-items:center}.t-code-actions>*{margin-left:.5rem}.t-link-icon{margin-left:.3rem;vertical-align:baseline}.t-content{will-change:opacity;height:0;visibility:hidden;opacity:0}.t-content_animated{transition:opacity .3s ease-in-out}.t-content_visible{height:auto;visibility:visible;opacity:1}"]
|
|
867
899
|
}),
|
|
@@ -1041,6 +1073,8 @@ TuiScrollIntoViewLinkModule = __decorate([
|
|
|
1041
1073
|
})
|
|
1042
1074
|
], TuiScrollIntoViewLinkModule);
|
|
1043
1075
|
|
|
1076
|
+
const TUI_DOC_SCROLL_BEHAVIOR = new InjectionToken('[TUI_DOC_SCROLL_BEHAVIOR] Defines the transition animation for scroll', { factory: () => 'smooth' });
|
|
1077
|
+
|
|
1044
1078
|
const MAP = {
|
|
1045
1079
|
а: 'f',
|
|
1046
1080
|
б: ',',
|
|
@@ -1076,10 +1110,12 @@ const MAP = {
|
|
|
1076
1110
|
я: 'z',
|
|
1077
1111
|
};
|
|
1078
1112
|
/**
|
|
1113
|
+
* @deprecated: use {@link tuiTransliterateKeyboardLayout} instead
|
|
1079
1114
|
* Translates text mistakenly typed in the Russian layout into English
|
|
1080
1115
|
* @param string string with Russian layout characters
|
|
1081
1116
|
* @return string with English layout characters
|
|
1082
1117
|
*/
|
|
1118
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
1083
1119
|
function transliterateKeyboardLayout(string) {
|
|
1084
1120
|
let newStr = '';
|
|
1085
1121
|
for (let i = 0; i < string.length; i++) {
|
|
@@ -1087,6 +1123,7 @@ function transliterateKeyboardLayout(string) {
|
|
|
1087
1123
|
}
|
|
1088
1124
|
return newStr;
|
|
1089
1125
|
}
|
|
1126
|
+
const tuiTransliterateKeyboardLayout = transliterateKeyboardLayout;
|
|
1090
1127
|
|
|
1091
1128
|
const TUI_DOC_PAGES = new InjectionToken('Documentation pages', {
|
|
1092
1129
|
factory: () => [],
|
|
@@ -1117,15 +1154,18 @@ const NAVIGATION_PROVIDERS = [
|
|
|
1117
1154
|
useFactory: itemsProviderFactory,
|
|
1118
1155
|
},
|
|
1119
1156
|
];
|
|
1157
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
1120
1158
|
function titleProviderFactory(router, activatedRoute, titlePrefix, destroy$) {
|
|
1121
1159
|
return router.events.pipe(filter(event => event instanceof NavigationEnd), map(() => activatedRoute.firstChild), filter(isPresent), mergeMap(({ data }) => data), map(({ title }) => titlePrefix + title), takeUntil(destroy$));
|
|
1122
1160
|
}
|
|
1161
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
1123
1162
|
function labelsProviderFactory(pages) {
|
|
1124
1163
|
return pages
|
|
1125
1164
|
.map(({ section }) => section)
|
|
1126
1165
|
.filter(isPresent)
|
|
1127
1166
|
.filter((item, index, array) => array.indexOf(item) === index);
|
|
1128
1167
|
}
|
|
1168
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
1129
1169
|
function itemsProviderFactory(pages) {
|
|
1130
1170
|
const labels = labelsProviderFactory(pages);
|
|
1131
1171
|
return [
|
|
@@ -1136,7 +1176,7 @@ function itemsProviderFactory(pages) {
|
|
|
1136
1176
|
|
|
1137
1177
|
// @dynamic
|
|
1138
1178
|
let TuiDocNavigationComponent = class TuiDocNavigationComponent {
|
|
1139
|
-
constructor(changeDetectorRef, titleService, title$, documentRef, mode, sidebar, labels, items, searchText, router, activatedRoute, destroy$, readyToScroll
|
|
1179
|
+
constructor(changeDetectorRef, titleService, title$, documentRef, mode, sidebar, labels, items, searchText, router, activatedRoute, destroy$, readyToScroll$, scrollBehavior) {
|
|
1140
1180
|
this.documentRef = documentRef;
|
|
1141
1181
|
this.mode = mode;
|
|
1142
1182
|
this.sidebar = sidebar;
|
|
@@ -1147,6 +1187,7 @@ let TuiDocNavigationComponent = class TuiDocNavigationComponent {
|
|
|
1147
1187
|
this.activatedRoute = activatedRoute;
|
|
1148
1188
|
this.destroy$ = destroy$;
|
|
1149
1189
|
this.readyToScroll$ = readyToScroll$;
|
|
1190
|
+
this.scrollBehavior = scrollBehavior;
|
|
1150
1191
|
this.menuOpen = false;
|
|
1151
1192
|
this.search = '';
|
|
1152
1193
|
this.open = false;
|
|
@@ -1247,7 +1288,7 @@ let TuiDocNavigationComponent = class TuiDocNavigationComponent {
|
|
|
1247
1288
|
element.scrollIntoView({
|
|
1248
1289
|
block: 'start',
|
|
1249
1290
|
inline: 'nearest',
|
|
1250
|
-
behavior:
|
|
1291
|
+
behavior: this.scrollBehavior,
|
|
1251
1292
|
});
|
|
1252
1293
|
}
|
|
1253
1294
|
};
|
|
@@ -1264,7 +1305,8 @@ TuiDocNavigationComponent.ctorParameters = () => [
|
|
|
1264
1305
|
{ type: Router, decorators: [{ type: Inject, args: [Router,] }] },
|
|
1265
1306
|
{ type: ActivatedRoute, decorators: [{ type: Inject, args: [ActivatedRoute,] }] },
|
|
1266
1307
|
{ type: Observable, decorators: [{ type: Inject, args: [TuiDestroyService,] }] },
|
|
1267
|
-
{ type: Observable, decorators: [{ type: Inject, args: [TUI_DOC_PAGE_LOADED,] }] }
|
|
1308
|
+
{ type: Observable, decorators: [{ type: Inject, args: [TUI_DOC_PAGE_LOADED,] }] },
|
|
1309
|
+
{ type: undefined, decorators: [{ type: Inject, args: [TUI_DOC_SCROLL_BEHAVIOR,] }] }
|
|
1268
1310
|
];
|
|
1269
1311
|
__decorate([
|
|
1270
1312
|
HostBinding('class._open')
|
|
@@ -1278,7 +1320,7 @@ __decorate([
|
|
|
1278
1320
|
TuiDocNavigationComponent = __decorate([
|
|
1279
1321
|
Component({
|
|
1280
1322
|
selector: 'tui-doc-navigation',
|
|
1281
|
-
template: "<tui-hosted-dropdown\n *tuiLet=\"filteredItems as filtered\"\n tuiAutoFocus\n tuiDropdownLimitWidth=\"fixed\"\n class=\"t-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\n #dropdown\n let-activeZone\n >\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=\"t-navigation\">\n <tui-scrollbar\n class=\"t-scrollbar\"\n [tuiMode]=\"mode$ | async\"\n >\n <tui-accordion\n [closeOthers]=\"false\"\n [rounded]=\"false\"\n >\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=\"t-label\">\n <strong>{{ label }}</strong>\n </span>\n <ng-template tuiAccordionItemContent>\n <div class=\"t-section\">\n <ng-container\n *ngFor=\"let item of items[index]; index as subIndex\"\n
|
|
1323
|
+
template: "<tui-hosted-dropdown\n *tuiLet=\"filteredItems as filtered\"\n tuiAutoFocus\n tuiDropdownLimitWidth=\"fixed\"\n class=\"t-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\n #dropdown\n let-activeZone\n >\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=\"t-navigation\">\n <tui-scrollbar\n class=\"t-scrollbar\"\n [tuiMode]=\"mode$ | async\"\n >\n <tui-accordion\n [closeOthers]=\"false\"\n [rounded]=\"false\"\n >\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=\"t-label\">\n <strong>{{ label }}</strong>\n </span>\n <ng-template tuiAccordionItemContent>\n <div class=\"t-section\">\n <ng-container\n *ngFor=\"let item of items[index]; index as subIndex\"\n [ngTemplateOutlet]=\"pages\"\n [ngTemplateOutletContext]=\"{item: item, index: index * 100 + subIndex}\"\n ></ng-container>\n </div>\n </ng-template>\n </tui-accordion-item>\n </tui-accordion>\n <div class=\"t-items-container\">\n <ng-container\n *ngFor=\"let item of itemsWithoutSections; let index = index\"\n [ngTemplateOutlet]=\"pages\"\n [ngTemplateOutletContext]=\"{item: item, index: items.length - 1 + index}\"\n ></ng-container>\n </div>\n\n <ng-template\n #pages\n let-item=\"item\"\n let-index=\"index\"\n >\n <a\n *ngIf=\"!item.subPages; else subPages\"\n tuiLink\n routerLinkActive=\"t-sublink_active\"\n class=\"t-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=\"t-subsection\"\n [routerLinkActiveOptions]=\"{exact: false}\"\n >\n <button\n *ngIf=\"item.subPages\"\n tuiLink\n type=\"button\"\n class=\"t-sublink t-sublink_subsection\"\n (click)=\"onGroupClick(index)\"\n >\n <tui-svg\n src=\"tuiIconChevronRight\"\n class=\"t-chevron\"\n [class.t-chevron_active]=\"!!openPagesGroupsArr[index]\"\n ></tui-svg>\n {{ item.title }}\n </button>\n <tui-expand\n class=\"t-expand\"\n [expanded]=\"!!openPagesGroupsArr[index]\"\n >\n <div class=\"t-section t-section_bordered\">\n <a\n *ngFor=\"let subPage of item.subPages\"\n tuiLink\n routerLinkActive=\"t-sublink_active\"\n class=\"t-sublink t-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",
|
|
1282
1324
|
providers: NAVIGATION_PROVIDERS,
|
|
1283
1325
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1284
1326
|
styles: [":host{z-index:1;display:flex;flex-direction:column;text-align:center;background:var(--tui-base-01)}.t-input{display:block;margin:1.25rem}.t-navigation{display:flex;max-height:100%;min-height:0;flex:1 1 0;text-align:left}.t-scrollbar{width:100%;scroll-behavior:smooth}.t-items-container{display:flex;flex-direction:column;padding:0 1rem}.t-label{margin-left:.5rem}.t-expand{margin-left:.25rem}.t-section{display:flex;flex-direction:column;align-items:flex-start;margin:-1rem 0 -.5rem}.t-section_bordered{margin:.5rem 0;border-left:1px solid var(--tui-base-03)}.t-subsection{margin-left:.5rem}.t-sublink{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:1rem 0 0;border:0;background:0 0;font-size:inherit;line-height:inherit;font:var(--tui-font-text-m);margin-left:.5rem}.t-sublink_small{margin-left:1rem;line-height:1.5rem;padding-top:.5rem}.t-sublink_subsection{margin-left:0;line-height:1.6rem}.t-sublink_active{color:var(--tui-text-01)}.t-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}.t-chevron_active{transform:rotate(90deg)}"]
|
|
@@ -1296,7 +1338,8 @@ TuiDocNavigationComponent = __decorate([
|
|
|
1296
1338
|
__param(9, Inject(Router)),
|
|
1297
1339
|
__param(10, Inject(ActivatedRoute)),
|
|
1298
1340
|
__param(11, Inject(TuiDestroyService)),
|
|
1299
|
-
__param(12, Inject(TUI_DOC_PAGE_LOADED))
|
|
1341
|
+
__param(12, Inject(TUI_DOC_PAGE_LOADED)),
|
|
1342
|
+
__param(13, Inject(TUI_DOC_SCROLL_BEHAVIOR))
|
|
1300
1343
|
], TuiDocNavigationComponent);
|
|
1301
1344
|
|
|
1302
1345
|
let TuiDocNavigationModule = class TuiDocNavigationModule {
|
|
@@ -1425,6 +1468,7 @@ const PAGE_PROVIDERS = [
|
|
|
1425
1468
|
useFactory: seeAlsoProviderFactory,
|
|
1426
1469
|
},
|
|
1427
1470
|
];
|
|
1471
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
1428
1472
|
function seeAlsoProviderFactory({ nativeElement }, seeAlsoGroups) {
|
|
1429
1473
|
const currentHeader = nativeElement.getAttribute('header');
|
|
1430
1474
|
const groups = seeAlsoGroups.filter(group => group.includes(currentHeader)) || [];
|
|
@@ -1498,7 +1542,7 @@ __decorate([
|
|
|
1498
1542
|
TuiDocPageComponent = __decorate([
|
|
1499
1543
|
Component({
|
|
1500
1544
|
selector: 'tui-doc-page',
|
|
1501
|
-
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
|
|
1545
|
+
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 *ngFor=\"let tab of tabConnectors; first as first; index as index\">\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\n *ngIf=\"index === activeItemIndex\"\n [ngTemplateOutlet]=\"tab.template\"\n ></ng-container>\n </ng-container>\n</div>\n",
|
|
1502
1546
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1503
1547
|
providers: PAGE_PROVIDERS,
|
|
1504
1548
|
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)}:host-context(tui-root._mobile) .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}:host-context(tui-root._mobile) .t-tabs{margin-top:.25rem}.t-content{padding:2rem 0;margin:0 min(10vw,8.75rem)}:host-context(tui-root._mobile) .t-content{padding:2rem 1.25rem;margin:0}.t-see-also{min-width:18.75rem;width:30%;float:right;margin-left:1.5rem}:host-context(tui-root._mobile) .t-see-also{float:none;width:100%;margin:0 0 1.5rem}.t-source-code{align-self:flex-end;line-height:2.75rem}"]
|
|
@@ -1538,7 +1582,7 @@ __decorate([
|
|
|
1538
1582
|
TuiDocSeeAlsoComponent = __decorate([
|
|
1539
1583
|
Component({
|
|
1540
1584
|
selector: 'tui-doc-see-also',
|
|
1541
|
-
template: "<h5 class=\"header\">{{ text }}</h5>\n<ng-container *ngFor=\"let item of seeAlso; last as last\">\n <a\n tuiLink\n [routerLink]=\"getRouterLink(item)\"\n >\n {{ item }}\n </a>\n <ng-container *ngIf=\"!last\">{{', '}}</ng-container>\n</ng-container>\n",
|
|
1585
|
+
template: "<h5 class=\"header\">{{ text }}</h5>\n<ng-container *ngFor=\"let item of seeAlso; last as last\">\n <a\n tuiLink\n [routerLink]=\"getRouterLink(item)\"\n >\n {{ item }}\n </a>\n <ng-container *ngIf=\"!last\">{{ ', ' }}</ng-container>\n</ng-container>\n",
|
|
1542
1586
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1543
1587
|
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}"]
|
|
1544
1588
|
}),
|
|
@@ -1699,8 +1743,10 @@ TuiAddonDocModule = __decorate([
|
|
|
1699
1743
|
], TuiAddonDocModule);
|
|
1700
1744
|
|
|
1701
1745
|
/**
|
|
1746
|
+
* @deprecated: use {@link tuiGenerateRoutes} instead
|
|
1702
1747
|
* Generates typical page routing structure
|
|
1703
1748
|
*/
|
|
1749
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
1704
1750
|
function generateRoutes(type) {
|
|
1705
1751
|
return [
|
|
1706
1752
|
{
|
|
@@ -1715,6 +1761,7 @@ function generateRoutes(type) {
|
|
|
1715
1761
|
},
|
|
1716
1762
|
];
|
|
1717
1763
|
}
|
|
1764
|
+
const tuiGenerateRoutes = generateRoutes;
|
|
1718
1765
|
|
|
1719
1766
|
/**
|
|
1720
1767
|
* Public API Surface of @taiga-ui/addon-doc
|
|
@@ -1724,5 +1771,5 @@ function generateRoutes(type) {
|
|
|
1724
1771
|
* Generated bundle index. Do not edit.
|
|
1725
1772
|
*/
|
|
1726
1773
|
|
|
1727
|
-
export { DEMO_TEXTS, DOC_TEXTS, EXAMPLE_TEXTS, ScrollIntoViewDirective, ScrollIntoViewModule, 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_LOGO, TUI_DOC_MENU_TEXT, TUI_DOC_PAGES, TUI_DOC_PAGE_LOADED, TUI_DOC_RUSSIAN, 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, TuiDocExampleComponent, TuiDocExampleModule, TuiDocMainComponent, TuiDocMainModule, TuiDocNavigationComponent, TuiDocNavigationModule, TuiDocPageComponent, TuiDocPageModule, TuiDocPageTabConnectorDirective, TuiScrollIntoViewLinkDirective, TuiScrollIntoViewLinkModule, coerceValue, generateRoutes, rawLoad, rawLoadRecord, tryParseMarkdownCodeBlock, TuiInputOpacityModule as ɵa, TuiInputOpacityDirective as ɵb, TuiDocExampleGetTabsPipe as ɵc, TuiDocExampleCapitalizePipe as ɵd, TuiDocHeaderModule as ɵe, NAVIGATION_TITLE as ɵf, NAVIGATION_LABELS as ɵg, NAVIGATION_ITEMS as ɵh, NAVIGATION_PROVIDERS as ɵi, titleProviderFactory as ɵj, labelsProviderFactory as ɵk, itemsProviderFactory as ɵl, TuiDocHeaderComponent as ɵm, PAGE_SEE_ALSO as ɵn, PAGE_PROVIDERS as ɵo, seeAlsoProviderFactory as ɵp, TuiDocSeeAlsoModule as ɵq, TuiDocSeeAlsoComponent as ɵr, TuiDocSourceCodeModule as ɵs, TuiDocSourceCodeComponent as ɵt };
|
|
1774
|
+
export { DEMO_TEXTS, DOC_TEXTS, EXAMPLE_TEXTS, ScrollIntoViewDirective, ScrollIntoViewModule, 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_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, TuiDocExampleComponent, TuiDocExampleModule, TuiDocMainComponent, TuiDocMainModule, TuiDocNavigationComponent, TuiDocNavigationModule, TuiDocPageComponent, TuiDocPageModule, TuiDocPageTabConnectorDirective, TuiScrollIntoViewLinkDirective, TuiScrollIntoViewLinkModule, coerceValue, generateRoutes, rawLoad, rawLoadRecord, tryParseMarkdownCodeBlock, tuiCoerceValue, tuiGenerateRoutes, tuiRawLoad, tuiRawLoadRecord, tuiTryParseMarkdownCodeBlock, TuiInputOpacityModule as ɵa, TuiInputOpacityDirective as ɵb, TuiDocExampleGetTabsPipe as ɵc, TuiDocExampleCapitalizePipe as ɵd, TuiDocHeaderModule as ɵe, NAVIGATION_TITLE as ɵf, NAVIGATION_LABELS as ɵg, NAVIGATION_ITEMS as ɵh, NAVIGATION_PROVIDERS as ɵi, titleProviderFactory as ɵj, labelsProviderFactory as ɵk, itemsProviderFactory as ɵl, TuiDocHeaderComponent as ɵm, PAGE_SEE_ALSO as ɵn, PAGE_PROVIDERS as ɵo, seeAlsoProviderFactory as ɵp, TuiDocSeeAlsoModule as ɵq, TuiDocSeeAlsoComponent as ɵr, TuiDocSourceCodeModule as ɵs, TuiDocSourceCodeComponent as ɵt };
|
|
1728
1775
|
//# sourceMappingURL=taiga-ui-addon-doc.js.map
|