@taiga-ui/addon-doc 2.50.2 → 2.52.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 +82 -21
- 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/documentation/documentation.component.d.ts +1 -0
- package/components/example/example.component.d.ts +2 -1
- package/components/navigation/navigation.component.d.ts +3 -1
- package/directives/scroll-into-view/scroll-into-view.directive.d.ts +9 -1
- package/directives/scroll-into-view/scroll-into-view.module.d.ts +6 -0
- package/esm2015/components/documentation/documentation.component.js +5 -2
- package/esm2015/components/example/example.component.js +10 -6
- package/esm2015/components/navigation/navigation.component.js +17 -11
- package/esm2015/components/navigation/navigation.module.js +3 -2
- package/esm2015/directives/scroll-into-view/scroll-into-view.directive.js +32 -11
- package/esm2015/directives/scroll-into-view/scroll-into-view.module.js +19 -3
- package/esm2015/public-api.js +3 -1
- package/esm2015/tokens/code-actions.js +5 -0
- package/esm2015/tokens/page-loaded.js +5 -0
- package/esm5/components/documentation/documentation.component.js +5 -2
- package/esm5/components/example/example.component.js +10 -6
- package/esm5/components/navigation/navigation.component.js +17 -11
- package/esm5/components/navigation/navigation.module.js +3 -2
- package/esm5/directives/scroll-into-view/scroll-into-view.directive.js +35 -11
- package/esm5/directives/scroll-into-view/scroll-into-view.module.js +20 -2
- package/esm5/public-api.js +3 -1
- package/esm5/tokens/code-actions.js +5 -0
- package/esm5/tokens/page-loaded.js +5 -0
- package/fesm2015/taiga-ui-addon-doc.js +78 -26
- package/fesm2015/taiga-ui-addon-doc.js.map +1 -1
- package/fesm5/taiga-ui-addon-doc.js +82 -25
- package/fesm5/taiga-ui-addon-doc.js.map +1 -1
- package/package.json +5 -5
- package/public-api.d.ts +2 -0
- package/taiga-ui-addon-doc.metadata.json +1 -1
- package/tokens/code-actions.d.ts +4 -0
- package/tokens/page-loaded.d.ts +3 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { __awaiter, __generator, __decorate, __param, __assign, __spread, __read, __values } from 'tslib';
|
|
1
|
+
import { __awaiter, __generator, __decorate, __param, __assign, __spread, __read, __values, __extends } from 'tslib';
|
|
2
2
|
import { Input, HostBinding, Component, NgModule, Inject, ChangeDetectionStrategy, InjectionToken, Renderer2, PLATFORM_ID, ViewChild, ContentChild, TemplateRef, HostListener, forwardRef, EventEmitter, Output, Directive, ChangeDetectorRef, ContentChildren, Attribute, Optional, Pipe, ViewEncapsulation, ElementRef } from '@angular/core';
|
|
3
|
-
import { BehaviorSubject, Subject, timer, Observable, merge, identity } from 'rxjs';
|
|
4
|
-
import { switchMap, map, switchMapTo, mapTo, startWith, takeUntil,
|
|
3
|
+
import { BehaviorSubject, Subject, timer, Observable, merge, identity, defer, of, ReplaySubject } from 'rxjs';
|
|
4
|
+
import { switchMap, map, switchMapTo, mapTo, startWith, takeUntil, filter, debounceTime, mergeMap, take, distinctUntilChanged } from 'rxjs/operators';
|
|
5
5
|
import MarkdownIt from 'markdown-it';
|
|
6
6
|
import { CommonModule, isPlatformBrowser, Location as Location$1, DOCUMENT } from '@angular/common';
|
|
7
7
|
import { HighlightModule } from 'ngx-highlightjs';
|
|
@@ -717,6 +717,9 @@ var TuiDocDocumentationComponent = /** @class */ (function () {
|
|
|
717
717
|
TuiDocDocumentationComponent.prototype.isOptional = function (name) {
|
|
718
718
|
return name.includes('?');
|
|
719
719
|
};
|
|
720
|
+
TuiDocDocumentationComponent.prototype.isPrimitivePolymorpheusContent = function (value) {
|
|
721
|
+
return typeof value === 'string' || typeof value === 'number';
|
|
722
|
+
};
|
|
720
723
|
TuiDocDocumentationComponent.prototype.showCleaner = function (type) {
|
|
721
724
|
return type.includes('null');
|
|
722
725
|
};
|
|
@@ -745,7 +748,7 @@ var TuiDocDocumentationComponent = /** @class */ (function () {
|
|
|
745
748
|
TuiDocDocumentationComponent = __decorate([
|
|
746
749
|
Component({
|
|
747
750
|
selector: 'tui-doc-documentation',
|
|
748
|
-
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\n *ngTemplateOutlet=\"propertyConnector.template\"\n ></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\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\n #selectContent\n let-data\n >\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\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 </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",
|
|
751
|
+
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\n *ngTemplateOutlet=\"propertyConnector.template\"\n ></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\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\n #selectContent\n let-data\n >\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\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",
|
|
749
752
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
750
753
|
animations: [
|
|
751
754
|
trigger('emitEvent', [
|
|
@@ -843,6 +846,10 @@ var TuiDocDocumentationModule = /** @class */ (function () {
|
|
|
843
846
|
return TuiDocDocumentationModule;
|
|
844
847
|
}());
|
|
845
848
|
|
|
849
|
+
var TUI_DOC_CODE_ACTIONS = new InjectionToken('Code actions for the opened tab with code example', {
|
|
850
|
+
factory: function () { return ''; },
|
|
851
|
+
});
|
|
852
|
+
|
|
846
853
|
var TUI_DOC_CODE_EDITOR = new InjectionToken('Contains service for opening online IDE e.g. Stackblitz');
|
|
847
854
|
|
|
848
855
|
var TUI_DOC_EXAMPLE_CONTENT_PROCESSOR = new InjectionToken('Processes content in example', { factory: function () { return identity; } });
|
|
@@ -893,7 +900,7 @@ function rawLoadRecord(example) {
|
|
|
893
900
|
// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395
|
|
894
901
|
// @dynamic
|
|
895
902
|
var TuiDocExampleComponent = /** @class */ (function () {
|
|
896
|
-
function TuiDocExampleComponent(id, clipboard, notifications, location, copyTexts$, texts, codeEditor, processContent, isCypress) {
|
|
903
|
+
function TuiDocExampleComponent(id, clipboard, notifications, location, copyTexts$, texts, codeEditor, processContent, isCypress, codeActions) {
|
|
897
904
|
var _this = this;
|
|
898
905
|
this.id = id;
|
|
899
906
|
this.clipboard = clipboard;
|
|
@@ -904,6 +911,7 @@ var TuiDocExampleComponent = /** @class */ (function () {
|
|
|
904
911
|
this.codeEditor = codeEditor;
|
|
905
912
|
this.processContent = processContent;
|
|
906
913
|
this.isCypress = isCypress;
|
|
914
|
+
this.codeActions = codeActions;
|
|
907
915
|
this.rawLoader$$ = new BehaviorSubject({});
|
|
908
916
|
this.heading = '';
|
|
909
917
|
this.description = '';
|
|
@@ -954,7 +962,8 @@ var TuiDocExampleComponent = /** @class */ (function () {
|
|
|
954
962
|
{ type: Array, decorators: [{ type: Inject, args: [TUI_DOC_EXAMPLE_TEXTS,] }] },
|
|
955
963
|
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [TUI_DOC_CODE_EDITOR,] }] },
|
|
956
964
|
{ type: undefined, decorators: [{ type: Inject, args: [TUI_DOC_EXAMPLE_CONTENT_PROCESSOR,] }] },
|
|
957
|
-
{ type: Boolean, decorators: [{ type: Inject, args: [TUI_IS_CYPRESS,] }] }
|
|
965
|
+
{ type: Boolean, decorators: [{ type: Inject, args: [TUI_IS_CYPRESS,] }] },
|
|
966
|
+
{ type: Array, decorators: [{ type: Inject, args: [TUI_DOC_CODE_ACTIONS,] }] }
|
|
958
967
|
]; };
|
|
959
968
|
__decorate([
|
|
960
969
|
Input()
|
|
@@ -971,9 +980,9 @@ var TuiDocExampleComponent = /** @class */ (function () {
|
|
|
971
980
|
TuiDocExampleComponent = __decorate([
|
|
972
981
|
Component({
|
|
973
982
|
selector: 'tui-doc-example',
|
|
974
|
-
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 *ngIf=\"index === defaultTabIndex; else anotherTab\">\n <ng-container *ngTemplateOutlet=\"preview\"></ng-container>\n </ng-container>\n <ng-template #anotherTab>\n <ng-container\n *ngTemplateOutlet=\"codeSection; context: { $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 <
|
|
983
|
+
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 *ngIf=\"index === defaultTabIndex; else anotherTab\">\n <ng-container *ngTemplateOutlet=\"preview\"></ng-container>\n </ng-container>\n <ng-template #anotherTab>\n <ng-container\n *ngTemplateOutlet=\"codeSection; context: { $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",
|
|
975
984
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
976
|
-
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-
|
|
985
|
+
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}"]
|
|
977
986
|
}),
|
|
978
987
|
__param(0, Attribute('id')),
|
|
979
988
|
__param(1, Inject(Clipboard)),
|
|
@@ -984,7 +993,8 @@ var TuiDocExampleComponent = /** @class */ (function () {
|
|
|
984
993
|
__param(6, Optional()),
|
|
985
994
|
__param(6, Inject(TUI_DOC_CODE_EDITOR)),
|
|
986
995
|
__param(7, Inject(TUI_DOC_EXAMPLE_CONTENT_PROCESSOR)),
|
|
987
|
-
__param(8, Inject(TUI_IS_CYPRESS))
|
|
996
|
+
__param(8, Inject(TUI_IS_CYPRESS)),
|
|
997
|
+
__param(9, Inject(TUI_DOC_CODE_ACTIONS))
|
|
988
998
|
], TuiDocExampleComponent);
|
|
989
999
|
return TuiDocExampleComponent;
|
|
990
1000
|
}());
|
|
@@ -1093,12 +1103,19 @@ var TuiDocMainComponent = /** @class */ (function () {
|
|
|
1093
1103
|
return TuiDocMainComponent;
|
|
1094
1104
|
}());
|
|
1095
1105
|
|
|
1106
|
+
var TUI_DOC_PAGE_LOADED = new InjectionToken('[TUI_DOC_PAGE_LOADED] Stream that emits if loading of page is over (for example, to begin scrollIntoView)', { factory: function () { return defer(function () { return timer(200).pipe(switchMapTo(of(true))); }); } });
|
|
1107
|
+
|
|
1108
|
+
/**
|
|
1109
|
+
* @deprecated: use {@link TuiScrollIntoViewLinkDirective}
|
|
1110
|
+
* TODO: remove in v3.0
|
|
1111
|
+
*/
|
|
1096
1112
|
var ScrollIntoViewDirective = /** @class */ (function () {
|
|
1097
|
-
function ScrollIntoViewDirective(destroy$, _a) {
|
|
1113
|
+
function ScrollIntoViewDirective(destroy$, _a, readyToScroll$) {
|
|
1098
1114
|
var nativeElement = _a.nativeElement;
|
|
1099
|
-
this.
|
|
1100
|
-
this.scroll$
|
|
1101
|
-
|
|
1115
|
+
this.readyToScroll$ = readyToScroll$;
|
|
1116
|
+
this.scroll$ = new ReplaySubject(1);
|
|
1117
|
+
this.readyToScroll$
|
|
1118
|
+
.pipe(filter(Boolean), switchMapTo(this.scroll$), debounceTime(750), filter(function (shallWe) { return shallWe && !!getElementObscurers(nativeElement); }), takeUntil(destroy$))
|
|
1102
1119
|
.subscribe(function () {
|
|
1103
1120
|
nativeElement.scrollIntoView();
|
|
1104
1121
|
});
|
|
@@ -1112,7 +1129,8 @@ var ScrollIntoViewDirective = /** @class */ (function () {
|
|
|
1112
1129
|
});
|
|
1113
1130
|
ScrollIntoViewDirective.ctorParameters = function () { return [
|
|
1114
1131
|
{ type: TuiDestroyService, decorators: [{ type: Inject, args: [TuiDestroyService,] }] },
|
|
1115
|
-
{ type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] }
|
|
1132
|
+
{ type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
|
|
1133
|
+
{ type: Observable, decorators: [{ type: Inject, args: [TUI_DOC_PAGE_LOADED,] }] }
|
|
1116
1134
|
]; };
|
|
1117
1135
|
__decorate([
|
|
1118
1136
|
Input()
|
|
@@ -1121,14 +1139,35 @@ var ScrollIntoViewDirective = /** @class */ (function () {
|
|
|
1121
1139
|
Directive({
|
|
1122
1140
|
selector: '[scrollIntoView]',
|
|
1123
1141
|
providers: [TuiDestroyService],
|
|
1124
|
-
})
|
|
1142
|
+
})
|
|
1143
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
1144
|
+
,
|
|
1125
1145
|
__param(0, Inject(TuiDestroyService)),
|
|
1126
|
-
__param(1, Inject(ElementRef))
|
|
1146
|
+
__param(1, Inject(ElementRef)),
|
|
1147
|
+
__param(2, Inject(TUI_DOC_PAGE_LOADED))
|
|
1127
1148
|
], ScrollIntoViewDirective);
|
|
1128
1149
|
return ScrollIntoViewDirective;
|
|
1129
1150
|
}());
|
|
1151
|
+
var TuiScrollIntoViewLinkDirective = /** @class */ (function (_super) {
|
|
1152
|
+
__extends(TuiScrollIntoViewLinkDirective, _super);
|
|
1153
|
+
function TuiScrollIntoViewLinkDirective() {
|
|
1154
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
1155
|
+
}
|
|
1156
|
+
TuiScrollIntoViewLinkDirective = __decorate([
|
|
1157
|
+
Directive({
|
|
1158
|
+
selector: '[tuiScrollIntoViewLink]',
|
|
1159
|
+
providers: [TuiDestroyService],
|
|
1160
|
+
})
|
|
1161
|
+
], TuiScrollIntoViewLinkDirective);
|
|
1162
|
+
return TuiScrollIntoViewLinkDirective;
|
|
1163
|
+
}(ScrollIntoViewDirective));
|
|
1130
1164
|
|
|
1165
|
+
/**
|
|
1166
|
+
* @deprecated: use {@link TuiScrollIntoViewLinkModule}
|
|
1167
|
+
* TODO: remove in v3.0
|
|
1168
|
+
*/
|
|
1131
1169
|
var ScrollIntoViewModule = /** @class */ (function () {
|
|
1170
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
1132
1171
|
function ScrollIntoViewModule() {
|
|
1133
1172
|
}
|
|
1134
1173
|
ScrollIntoViewModule = __decorate([
|
|
@@ -1136,9 +1175,21 @@ var ScrollIntoViewModule = /** @class */ (function () {
|
|
|
1136
1175
|
declarations: [ScrollIntoViewDirective],
|
|
1137
1176
|
exports: [ScrollIntoViewDirective],
|
|
1138
1177
|
})
|
|
1178
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
1139
1179
|
], ScrollIntoViewModule);
|
|
1140
1180
|
return ScrollIntoViewModule;
|
|
1141
1181
|
}());
|
|
1182
|
+
var TuiScrollIntoViewLinkModule = /** @class */ (function () {
|
|
1183
|
+
function TuiScrollIntoViewLinkModule() {
|
|
1184
|
+
}
|
|
1185
|
+
TuiScrollIntoViewLinkModule = __decorate([
|
|
1186
|
+
NgModule({
|
|
1187
|
+
declarations: [TuiScrollIntoViewLinkDirective],
|
|
1188
|
+
exports: [TuiScrollIntoViewLinkDirective],
|
|
1189
|
+
})
|
|
1190
|
+
], TuiScrollIntoViewLinkModule);
|
|
1191
|
+
return TuiScrollIntoViewLinkModule;
|
|
1192
|
+
}());
|
|
1142
1193
|
|
|
1143
1194
|
var MAP = {
|
|
1144
1195
|
а: 'f',
|
|
@@ -1244,10 +1295,9 @@ function itemsProviderFactory(pages) {
|
|
|
1244
1295
|
]);
|
|
1245
1296
|
}
|
|
1246
1297
|
|
|
1247
|
-
var SCROLL_INTO_VIEW_DELAY = 200;
|
|
1248
1298
|
// @dynamic
|
|
1249
1299
|
var TuiDocNavigationComponent = /** @class */ (function () {
|
|
1250
|
-
function TuiDocNavigationComponent(changeDetectorRef, titleService, title$, documentRef, mode, sidebar, labels, items, searchText, router, activatedRoute) {
|
|
1300
|
+
function TuiDocNavigationComponent(changeDetectorRef, titleService, title$, documentRef, mode, sidebar, labels, items, searchText, router, activatedRoute, destroy$, readyToScroll$) {
|
|
1251
1301
|
var _this = this;
|
|
1252
1302
|
this.documentRef = documentRef;
|
|
1253
1303
|
this.mode = mode;
|
|
@@ -1257,6 +1307,8 @@ var TuiDocNavigationComponent = /** @class */ (function () {
|
|
|
1257
1307
|
this.searchText = searchText;
|
|
1258
1308
|
this.router = router;
|
|
1259
1309
|
this.activatedRoute = activatedRoute;
|
|
1310
|
+
this.destroy$ = destroy$;
|
|
1311
|
+
this.readyToScroll$ = readyToScroll$;
|
|
1260
1312
|
this.menuOpen = false;
|
|
1261
1313
|
this.search = '';
|
|
1262
1314
|
this.open = false;
|
|
@@ -1341,9 +1393,9 @@ var TuiDocNavigationComponent = /** @class */ (function () {
|
|
|
1341
1393
|
};
|
|
1342
1394
|
TuiDocNavigationComponent.prototype.handleAnchorLink = function (hash) {
|
|
1343
1395
|
var _this = this;
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1396
|
+
this.readyToScroll$
|
|
1397
|
+
.pipe(filter(Boolean), take(1), takeUntil(this.destroy$))
|
|
1398
|
+
.subscribe(function () { return _this.navigateToAnchorLink(hash); });
|
|
1347
1399
|
};
|
|
1348
1400
|
TuiDocNavigationComponent.prototype.openActivePageGroup = function () {
|
|
1349
1401
|
var _this = this;
|
|
@@ -1388,7 +1440,9 @@ var TuiDocNavigationComponent = /** @class */ (function () {
|
|
|
1388
1440
|
{ type: undefined, decorators: [{ type: Inject, args: [NAVIGATION_ITEMS,] }] },
|
|
1389
1441
|
{ type: String, decorators: [{ type: Inject, args: [TUI_DOC_SEARCH_TEXT,] }] },
|
|
1390
1442
|
{ type: Router, decorators: [{ type: Inject, args: [Router,] }] },
|
|
1391
|
-
{ type: ActivatedRoute, decorators: [{ type: Inject, args: [ActivatedRoute,] }] }
|
|
1443
|
+
{ type: ActivatedRoute, decorators: [{ type: Inject, args: [ActivatedRoute,] }] },
|
|
1444
|
+
{ type: Observable, decorators: [{ type: Inject, args: [TuiDestroyService,] }] },
|
|
1445
|
+
{ type: Observable, decorators: [{ type: Inject, args: [TUI_DOC_PAGE_LOADED,] }] }
|
|
1392
1446
|
]; };
|
|
1393
1447
|
__decorate([
|
|
1394
1448
|
HostBinding('class._open')
|
|
@@ -1402,7 +1456,7 @@ var TuiDocNavigationComponent = /** @class */ (function () {
|
|
|
1402
1456
|
TuiDocNavigationComponent = __decorate([
|
|
1403
1457
|
Component({
|
|
1404
1458
|
selector: 'tui-doc-navigation',
|
|
1405
|
-
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 >\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=\"t-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\n #pages\n let-item=\"item\"\n let-index=\"index\"\n >\n <a\n *ngIf=\"!item.subPages; else subPages\"\n tuiLink\n routerLinkActive=\"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=\"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",
|
|
1459
|
+
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 >\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=\"t-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\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",
|
|
1406
1460
|
providers: NAVIGATION_PROVIDERS,
|
|
1407
1461
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1408
1462
|
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)}"]
|
|
@@ -1418,7 +1472,9 @@ var TuiDocNavigationComponent = /** @class */ (function () {
|
|
|
1418
1472
|
__param(7, Inject(NAVIGATION_ITEMS)),
|
|
1419
1473
|
__param(8, Inject(TUI_DOC_SEARCH_TEXT)),
|
|
1420
1474
|
__param(9, Inject(Router)),
|
|
1421
|
-
__param(10, Inject(ActivatedRoute))
|
|
1475
|
+
__param(10, Inject(ActivatedRoute)),
|
|
1476
|
+
__param(11, Inject(TuiDestroyService)),
|
|
1477
|
+
__param(12, Inject(TUI_DOC_PAGE_LOADED))
|
|
1422
1478
|
], TuiDocNavigationComponent);
|
|
1423
1479
|
return TuiDocNavigationComponent;
|
|
1424
1480
|
}());
|
|
@@ -1433,6 +1489,7 @@ var TuiDocNavigationModule = /** @class */ (function () {
|
|
|
1433
1489
|
FormsModule,
|
|
1434
1490
|
RouterModule,
|
|
1435
1491
|
ScrollIntoViewModule,
|
|
1492
|
+
TuiScrollIntoViewLinkModule,
|
|
1436
1493
|
TuiButtonModule,
|
|
1437
1494
|
TuiPrimitiveTextfieldModule,
|
|
1438
1495
|
TuiTextfieldControllerModule,
|
|
@@ -1883,5 +1940,5 @@ function generateRoutes(type) {
|
|
|
1883
1940
|
* Generated bundle index. Do not edit.
|
|
1884
1941
|
*/
|
|
1885
1942
|
|
|
1886
|
-
export { DEMO_TEXTS, DOC_TEXTS, EXAMPLE_TEXTS, ScrollIntoViewDirective, ScrollIntoViewModule, 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_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, 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 };
|
|
1943
|
+
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 };
|
|
1887
1944
|
//# sourceMappingURL=taiga-ui-addon-doc.js.map
|