@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.
Files changed (36) hide show
  1. package/bundles/taiga-ui-addon-doc.umd.js +82 -21
  2. package/bundles/taiga-ui-addon-doc.umd.js.map +1 -1
  3. package/bundles/taiga-ui-addon-doc.umd.min.js +1 -1
  4. package/bundles/taiga-ui-addon-doc.umd.min.js.map +1 -1
  5. package/components/documentation/documentation.component.d.ts +1 -0
  6. package/components/example/example.component.d.ts +2 -1
  7. package/components/navigation/navigation.component.d.ts +3 -1
  8. package/directives/scroll-into-view/scroll-into-view.directive.d.ts +9 -1
  9. package/directives/scroll-into-view/scroll-into-view.module.d.ts +6 -0
  10. package/esm2015/components/documentation/documentation.component.js +5 -2
  11. package/esm2015/components/example/example.component.js +10 -6
  12. package/esm2015/components/navigation/navigation.component.js +17 -11
  13. package/esm2015/components/navigation/navigation.module.js +3 -2
  14. package/esm2015/directives/scroll-into-view/scroll-into-view.directive.js +32 -11
  15. package/esm2015/directives/scroll-into-view/scroll-into-view.module.js +19 -3
  16. package/esm2015/public-api.js +3 -1
  17. package/esm2015/tokens/code-actions.js +5 -0
  18. package/esm2015/tokens/page-loaded.js +5 -0
  19. package/esm5/components/documentation/documentation.component.js +5 -2
  20. package/esm5/components/example/example.component.js +10 -6
  21. package/esm5/components/navigation/navigation.component.js +17 -11
  22. package/esm5/components/navigation/navigation.module.js +3 -2
  23. package/esm5/directives/scroll-into-view/scroll-into-view.directive.js +35 -11
  24. package/esm5/directives/scroll-into-view/scroll-into-view.module.js +20 -2
  25. package/esm5/public-api.js +3 -1
  26. package/esm5/tokens/code-actions.js +5 -0
  27. package/esm5/tokens/page-loaded.js +5 -0
  28. package/fesm2015/taiga-ui-addon-doc.js +78 -26
  29. package/fesm2015/taiga-ui-addon-doc.js.map +1 -1
  30. package/fesm5/taiga-ui-addon-doc.js +82 -25
  31. package/fesm5/taiga-ui-addon-doc.js.map +1 -1
  32. package/package.json +5 -5
  33. package/public-api.d.ts +2 -0
  34. package/taiga-ui-addon-doc.metadata.json +1 -1
  35. package/tokens/code-actions.d.ts +4 -0
  36. package/tokens/page-loaded.d.ts +3 -0
@@ -4,17 +4,17 @@ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, Inj
4
4
  import { Title } from '@angular/platform-browser';
5
5
  import { ActivatedRoute, Router } from '@angular/router';
6
6
  import { TuiSidebarDirective } from '@taiga-ui/addon-mobile';
7
- import { tuiPure, uniqBy } from '@taiga-ui/cdk';
7
+ import { TuiDestroyService, tuiPure, uniqBy } from '@taiga-ui/cdk';
8
8
  import { TuiBrightness, TuiModeDirective } from '@taiga-ui/core';
9
9
  import { Observable } from 'rxjs';
10
- import { map, startWith } from 'rxjs/operators';
10
+ import { filter, map, startWith, take, takeUntil } from 'rxjs/operators';
11
11
  import { TUI_DOC_SEARCH_TEXT } from '../../tokens/i18n';
12
+ import { TUI_DOC_PAGE_LOADED } from '../../tokens/page-loaded';
12
13
  import { transliterateKeyboardLayout } from '../../utils/transliterate-keyboard-layout';
13
14
  import { NAVIGATION_ITEMS, NAVIGATION_LABELS, NAVIGATION_PROVIDERS, NAVIGATION_TITLE, } from './navigation.providers';
14
- var SCROLL_INTO_VIEW_DELAY = 200;
15
15
  // @dynamic
16
16
  var TuiDocNavigationComponent = /** @class */ (function () {
17
- function TuiDocNavigationComponent(changeDetectorRef, titleService, title$, documentRef, mode, sidebar, labels, items, searchText, router, activatedRoute) {
17
+ function TuiDocNavigationComponent(changeDetectorRef, titleService, title$, documentRef, mode, sidebar, labels, items, searchText, router, activatedRoute, destroy$, readyToScroll$) {
18
18
  var _this = this;
19
19
  this.documentRef = documentRef;
20
20
  this.mode = mode;
@@ -24,6 +24,8 @@ var TuiDocNavigationComponent = /** @class */ (function () {
24
24
  this.searchText = searchText;
25
25
  this.router = router;
26
26
  this.activatedRoute = activatedRoute;
27
+ this.destroy$ = destroy$;
28
+ this.readyToScroll$ = readyToScroll$;
27
29
  this.menuOpen = false;
28
30
  this.search = '';
29
31
  this.open = false;
@@ -108,9 +110,9 @@ var TuiDocNavigationComponent = /** @class */ (function () {
108
110
  };
109
111
  TuiDocNavigationComponent.prototype.handleAnchorLink = function (hash) {
110
112
  var _this = this;
111
- setTimeout(function () {
112
- _this.navigateToAnchorLink(hash);
113
- }, SCROLL_INTO_VIEW_DELAY);
113
+ this.readyToScroll$
114
+ .pipe(filter(Boolean), take(1), takeUntil(this.destroy$))
115
+ .subscribe(function () { return _this.navigateToAnchorLink(hash); });
114
116
  };
115
117
  TuiDocNavigationComponent.prototype.openActivePageGroup = function () {
116
118
  var _this = this;
@@ -155,7 +157,9 @@ var TuiDocNavigationComponent = /** @class */ (function () {
155
157
  { type: undefined, decorators: [{ type: Inject, args: [NAVIGATION_ITEMS,] }] },
156
158
  { type: String, decorators: [{ type: Inject, args: [TUI_DOC_SEARCH_TEXT,] }] },
157
159
  { type: Router, decorators: [{ type: Inject, args: [Router,] }] },
158
- { type: ActivatedRoute, decorators: [{ type: Inject, args: [ActivatedRoute,] }] }
160
+ { type: ActivatedRoute, decorators: [{ type: Inject, args: [ActivatedRoute,] }] },
161
+ { type: Observable, decorators: [{ type: Inject, args: [TuiDestroyService,] }] },
162
+ { type: Observable, decorators: [{ type: Inject, args: [TUI_DOC_PAGE_LOADED,] }] }
159
163
  ]; };
160
164
  __decorate([
161
165
  HostBinding('class._open')
@@ -169,7 +173,7 @@ var TuiDocNavigationComponent = /** @class */ (function () {
169
173
  TuiDocNavigationComponent = __decorate([
170
174
  Component({
171
175
  selector: 'tui-doc-navigation',
172
- 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",
176
+ 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",
173
177
  providers: NAVIGATION_PROVIDERS,
174
178
  changeDetection: ChangeDetectionStrategy.OnPush,
175
179
  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)}"]
@@ -185,9 +189,11 @@ var TuiDocNavigationComponent = /** @class */ (function () {
185
189
  __param(7, Inject(NAVIGATION_ITEMS)),
186
190
  __param(8, Inject(TUI_DOC_SEARCH_TEXT)),
187
191
  __param(9, Inject(Router)),
188
- __param(10, Inject(ActivatedRoute))
192
+ __param(10, Inject(ActivatedRoute)),
193
+ __param(11, Inject(TuiDestroyService)),
194
+ __param(12, Inject(TUI_DOC_PAGE_LOADED))
189
195
  ], TuiDocNavigationComponent);
190
196
  return TuiDocNavigationComponent;
191
197
  }());
192
198
  export { TuiDocNavigationComponent };
193
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tZG9jLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdmlnYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFdBQVcsRUFDWCxNQUFNLEVBQ04sUUFBUSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsY0FBYyxFQUFFLE1BQU0sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBQyxhQUFhLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHOUMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFdEQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDdEYsT0FBTyxFQUNILGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsb0JBQW9CLEVBQ3BCLGdCQUFnQixHQUNuQixNQUFNLHdCQUF3QixDQUFDO0FBRWhDLElBQU0sc0JBQXNCLEdBQUcsR0FBRyxDQUFDO0FBRW5DLFdBQVc7QUFRWDtJQWVJLG1DQUMrQixpQkFBb0MsRUFDaEQs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QUM7WUFDUCxRQUFRLEVBQUUsb0JBQW9CO1lBQzlCLHVxS0FBdUM7WUFFdkMsU0FBUyxFQUFFLG9CQUFvQjtZQUMvQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7U0FDbEQsQ0FBQztRQWlCTyxXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQ3pCLFdBQUEsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2IsV0FBQSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtRQUN4QixXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUNoQixXQUFBLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBRXhCLFdBQUEsUUFBUSxFQUFFLENBQUE7UUFDVixXQUFBLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO1FBRTNCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFDekIsV0FBQSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtRQUV4QixXQUFBLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO1FBQzNCLFdBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ2QsWUFBQSxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUE7T0E5QmxCLHlCQUF5QixDQXVLckM7SUFBRCxnQ0FBQztDQUFBLEFBdktELElBdUtDO1NBdktZLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUaXRsZX0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1R1aVNpZGViYXJEaXJlY3RpdmV9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1tb2JpbGUnO1xuaW1wb3J0IHt0dWlQdXJlLCB1bmlxQnl9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlCcmlnaHRuZXNzLCBUdWlNb2RlRGlyZWN0aXZlfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHN0YXJ0V2l0aH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aURvY1BhZ2V9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcGFnZSc7XG5pbXBvcnQge1RVSV9ET0NfU0VBUkNIX1RFWFR9IGZyb20gJy4uLy4uL3Rva2Vucy9pMThuJztcbmltcG9ydCB7VHVpRG9jUGFnZXN9IGZyb20gJy4uLy4uL3R5cGVzL3BhZ2VzJztcbmltcG9ydCB7dHJhbnNsaXRlcmF0ZUtleWJvYXJkTGF5b3V0fSBmcm9tICcuLi8uLi91dGlscy90cmFuc2xpdGVyYXRlLWtleWJvYXJkLWxheW91dCc7XG5pbXBvcnQge1xuICAgIE5BVklHQVRJT05fSVRFTVMsXG4gICAgTkFWSUdBVElPTl9MQUJFTFMsXG4gICAgTkFWSUdBVElPTl9QUk9WSURFUlMsXG4gICAgTkFWSUdBVElPTl9USVRMRSxcbn0gZnJvbSAnLi9uYXZpZ2F0aW9uLnByb3ZpZGVycyc7XG5cbmNvbnN0IFNDUk9MTF9JTlRPX1ZJRVdfREVMQVkgPSAyMDA7XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1kb2MtbmF2aWdhdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICduYXZpZ2F0aW9uLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWyduYXZpZ2F0aW9uLnN0eWxlLmxlc3MnXSxcbiAgICBwcm92aWRlcnM6IE5BVklHQVRJT05fUFJPVklERVJTLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEb2NOYXZpZ2F0aW9uQ29tcG9uZW50IHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9vcGVuJylcbiAgICBtZW51T3BlbiA9IGZhbHNlO1xuXG4gICAgc2VhcmNoID0gJyc7XG4gICAgb3BlbiA9IGZhbHNlO1xuICAgIG9wZW5QYWdlc0FycjogYm9vbGVhbltdID0gW107XG4gICAgb3BlblBhZ2VzR3JvdXBzQXJyOiBib29sZWFuW10gPSBbXTtcbiAgICBhY3RpdmUgPSAnJztcblxuICAgIHJlYWRvbmx5IG1vZGUkOiBPYnNlcnZhYmxlPFR1aUJyaWdodG5lc3M+ID0gdGhpcy5tb2RlLmNoYW5nZSQucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKG51bGwpLFxuICAgICAgICBtYXAoKCkgPT4gdGhpcy5tb2RlLm1vZGUgfHwgJ29uTGlnaHQnKSxcbiAgICApO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUaXRsZSkgdGl0bGVTZXJ2aWNlOiBUaXRsZSxcbiAgICAgICAgQEluamVjdChOQVZJR0FUSU9OX1RJVExFKSB0aXRsZSQ6IE9ic2VydmFibGU8c3RyaW5nPixcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFJlZjogRG9jdW1lbnQsXG4gICAgICAgIEBJbmplY3QoVHVpTW9kZURpcmVjdGl2ZSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBtb2RlOiBUdWlNb2RlRGlyZWN0aXZlLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFR1aVNpZGViYXJEaXJlY3RpdmUpXG4gICAgICAgIHJlYWRvbmx5IHNpZGViYXI6IHVua25vd24sXG4gICAgICAgIEBJbmplY3QoTkFWSUdBVElPTl9MQUJFTFMpIHJlYWRvbmx5IGxhYmVsczogc3RyaW5nW10sXG4gICAgICAgIEBJbmplY3QoTkFWSUdBVElPTl9JVEVNUylcbiAgICAgICAgcmVhZG9ubHkgaXRlbXM6IHJlYWRvbmx5IFR1aURvY1BhZ2VzW10sXG4gICAgICAgIEBJbmplY3QoVFVJX0RPQ19TRUFSQ0hfVEVYVCkgcmVhZG9ubHkgc2VhcmNoVGV4dDogc3RyaW5nLFxuICAgICAgICBASW5qZWN0KFJvdXRlcikgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgQEluamVjdChBY3RpdmF0ZWRSb3V0ZSkgcHJpdmF0ZSByZWFkb25seSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgKSB7XG4gICAgICAgIC8vIEFuZ3VsYXIgY2FuJ3QgbmF2aWdhdGUgbm8gYW5jaG9yIGxpbmtzXG4gICAgICAgIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM2MTAxNzU2L2FuZ3VsYXIyLXJvdXRpbmctd2l0aC1oYXNodGFnLXRvLXBhZ2UtYW5jaG9yXG4gICAgICAgIHRpdGxlJC5zdWJzY3JpYmUodGl0bGUgPT4ge1xuICAgICAgICAgICAgY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB0aXRsZVNlcnZpY2Uuc2V0VGl0bGUodGl0bGUpO1xuICAgICAgICAgICAgdGhpcy5vcGVuQWN0aXZlUGFnZUdyb3VwKCk7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZUFuY2hvckxpbmsodGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5mcmFnbWVudCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldCBjYW5PcGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWFyY2gubGVuZ3RoID4gMjtcbiAgICB9XG5cbiAgICBnZXQgZmlsdGVyZWRJdGVtcygpOiBSZWFkb25seUFycmF5PHJlYWRvbmx5IFR1aURvY1BhZ2VbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJJdGVtcyh0aGlzLmZsYXR0ZW5TdWJQYWdlcyh0aGlzLml0ZW1zKSwgdGhpcy5zZWFyY2gpO1xuICAgIH1cblxuICAgIGdldCBpdGVtc1dpdGhvdXRTZWN0aW9ucygpOiBUdWlEb2NQYWdlcyB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zW3RoaXMuaXRlbXMubGVuZ3RoIC0gMV07XG4gICAgfVxuXG4gICAgaXNBY3RpdmUocm91dGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gcm91dGUgPT09IHRoaXMuYWN0aXZlO1xuICAgIH1cblxuICAgIG9uR3JvdXBDbGljayhpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlblBhZ2VzR3JvdXBzQXJyW2luZGV4XSA9ICF0aGlzLm9wZW5QYWdlc0dyb3Vwc0FycltpbmRleF07XG4gICAgfVxuXG4gICAgY2xvc2VNZW51KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1lbnVPcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgb25TZWFyY2hDaGFuZ2Uoc2VhcmNoOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWFyY2ggPSBzZWFyY2g7XG4gICAgICAgIHRoaXMub3BlbiA9IHRoaXMuY2FuT3BlbjtcbiAgICB9XG5cbiAgICBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5tZW51T3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlYXJjaCA9ICcnO1xuICAgICAgICB0aGlzLm9wZW5BY3RpdmVQYWdlR3JvdXAoKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZmlsdGVySXRlbXMoXG4gICAgICAgIGl0ZW1zOiBSZWFkb25seUFycmF5PHJlYWRvbmx5IFR1aURvY1BhZ2VbXT4sXG4gICAgICAgIHNlYXJjaDogc3RyaW5nLFxuICAgICk6IFJlYWRvbmx5QXJyYXk8cmVhZG9ubHkgVHVpRG9jUGFnZVtdPiB7XG4gICAgICAgIHJldHVybiBpdGVtcy5tYXAoc2VjdGlvbiA9PlxuICAgICAgICAgICAgdW5pcUJ5KFxuICAgICAgICAgICAgICAgIHNlY3Rpb24uZmlsdGVyKCh7dGl0bGUsIGtleXdvcmRzID0gJyd9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlID0gdGl0bGUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgc2VhcmNoID0gc2VhcmNoLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICAgICAgICAgIGtleXdvcmRzID0ga2V5d29yZHMudG9Mb3dlckNhc2UoKTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGUuaW5jbHVkZXMoc2VhcmNoKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAga2V5d29yZHMuaW5jbHVkZXMoc2VhcmNoKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGUuaW5jbHVkZXModHJhbnNsaXRlcmF0ZUtleWJvYXJkTGF5b3V0KHNlYXJjaCkpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXl3b3Jkcy5pbmNsdWRlcyh0cmFuc2xpdGVyYXRlS2V5Ym9hcmRMYXlvdXQoc2VhcmNoKSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaC5yZXBsYWNlKC8tL2dpLCAnJykuaW5jbHVkZXModGl0bGUpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgJ3RpdGxlJyxcbiAgICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGZsYXR0ZW5TdWJQYWdlcyhcbiAgICAgICAgaXRlbXM6IHJlYWRvbmx5IFR1aURvY1BhZ2VzW10sXG4gICAgKTogUmVhZG9ubHlBcnJheTxyZWFkb25seSBUdWlEb2NQYWdlW10+IHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zLnJlZHVjZTxSZWFkb25seUFycmF5PHJlYWRvbmx5IFR1aURvY1BhZ2VbXT4+KFxuICAgICAgICAgICAgKGFycmF5LCBpdGVtKSA9PiBbXG4gICAgICAgICAgICAgICAgLi4uYXJyYXksXG4gICAgICAgICAgICAgICAgaXRlbS5yZWR1Y2U8cmVhZG9ubHkgVHVpRG9jUGFnZVtdPihcbiAgICAgICAgICAgICAgICAgICAgKHBhZ2VzLCBwYWdlKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgJ3N1YlBhZ2VzJyBpbiBwYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBbLi4ucGFnZXMsIC4uLnBhZ2Uuc3ViUGFnZXNdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBbLi4ucGFnZXMsIHBhZ2VdLFxuICAgICAgICAgICAgICAgICAgICBbXSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtdLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNBY3RpdmVSb3V0ZShyb3V0ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlci5pc0FjdGl2ZShyb3V0ZSwgZmFsc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlQW5jaG9yTGluayhoYXNoOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm5hdmlnYXRlVG9BbmNob3JMaW5rKGhhc2gpO1xuICAgICAgICB9LCBTQ1JPTExfSU5UT19WSUVXX0RFTEFZKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9wZW5BY3RpdmVQYWdlR3JvdXAoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgocGFnZXMsIHBhZ2VzSW5kZXgpID0+IHtcbiAgICAgICAgICAgIHBhZ2VzLmZvckVhY2goKHBhZ2UsIHBhZ2VJbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICgncm91dGUnIGluIHBhZ2UgJiYgdGhpcy5pc0FjdGl2ZVJvdXRlKHBhZ2Uucm91dGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3BlblBhZ2VzQXJyW3BhZ2VzSW5kZXhdID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSBwYWdlLnJvdXRlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICgnc3ViUGFnZXMnIGluIHBhZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFnZS5zdWJQYWdlcy5mb3JFYWNoKHN1YlBhZ2UgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNBY3RpdmVSb3V0ZShzdWJQYWdlLnJvdXRlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3BlblBhZ2VzQXJyW3BhZ2VzSW5kZXhdID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5QYWdlc0dyb3Vwc0FycltwYWdlc0luZGV4ICogMTAwICsgcGFnZUluZGV4XSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSBzdWJQYWdlLnJvdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBuYXZpZ2F0ZVRvQW5jaG9yTGluayhmcmFnbWVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBmcmFnbWVudCAmJiB0aGlzLmRvY3VtZW50UmVmLnF1ZXJ5U2VsZWN0b3IoYCMke2ZyYWdtZW50fWApO1xuXG4gICAgICAgIGlmICghZWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKCd0dWktZG9jLWFuaW1hdGVkLWV4YW1wbGUnKTtcbiAgICAgICAgZWxlbWVudC5zY3JvbGxJbnRvVmlldyh7XG4gICAgICAgICAgICBibG9jazogJ3N0YXJ0JyxcbiAgICAgICAgICAgIGlubGluZTogJ25lYXJlc3QnLFxuICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tZG9jLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdmlnYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFdBQVcsRUFDWCxNQUFNLEVBQ04sUUFBUSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsY0FBYyxFQUFFLE1BQU0sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxhQUFhLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHdkUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFN0QsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDdEYsT0FBTyxFQUNILGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsb0JBQW9CLEVBQ3BCLGdCQUFnQixHQUNuQixNQUFN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QUFBLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO09BaEN2Qix5QkFBeUIsQ0EwS3JDO0lBQUQsZ0NBQUM7Q0FBQSxBQTFLRCxJQTBLQztTQTFLWSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VGl0bGV9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtUdWlTaWRlYmFyRGlyZWN0aXZlfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tbW9iaWxlJztcbmltcG9ydCB7VHVpRGVzdHJveVNlcnZpY2UsIHR1aVB1cmUsIHVuaXFCeX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aUJyaWdodG5lc3MsIFR1aU1vZGVEaXJlY3RpdmV9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlciwgbWFwLCBzdGFydFdpdGgsIHRha2UsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aURvY1BhZ2V9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcGFnZSc7XG5pbXBvcnQge1RVSV9ET0NfU0VBUkNIX1RFWFR9IGZyb20gJy4uLy4uL3Rva2Vucy9pMThuJztcbmltcG9ydCB7VFVJX0RPQ19QQUdFX0xPQURFRH0gZnJvbSAnLi4vLi4vdG9rZW5zL3BhZ2UtbG9hZGVkJztcbmltcG9ydCB7VHVpRG9jUGFnZXN9IGZyb20gJy4uLy4uL3R5cGVzL3BhZ2VzJztcbmltcG9ydCB7dHJhbnNsaXRlcmF0ZUtleWJvYXJkTGF5b3V0fSBmcm9tICcuLi8uLi91dGlscy90cmFuc2xpdGVyYXRlLWtleWJvYXJkLWxheW91dCc7XG5pbXBvcnQge1xuICAgIE5BVklHQVRJT05fSVRFTVMsXG4gICAgTkFWSUdBVElPTl9MQUJFTFMsXG4gICAgTkFWSUdBVElPTl9QUk9WSURFUlMsXG4gICAgTkFWSUdBVElPTl9USVRMRSxcbn0gZnJvbSAnLi9uYXZpZ2F0aW9uLnByb3ZpZGVycyc7XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1kb2MtbmF2aWdhdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICduYXZpZ2F0aW9uLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWyduYXZpZ2F0aW9uLnN0eWxlLmxlc3MnXSxcbiAgICBwcm92aWRlcnM6IE5BVklHQVRJT05fUFJPVklERVJTLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEb2NOYXZpZ2F0aW9uQ29tcG9uZW50IHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9vcGVuJylcbiAgICBtZW51T3BlbiA9IGZhbHNlO1xuXG4gICAgc2VhcmNoID0gJyc7XG4gICAgb3BlbiA9IGZhbHNlO1xuICAgIG9wZW5QYWdlc0FycjogYm9vbGVhbltdID0gW107XG4gICAgb3BlblBhZ2VzR3JvdXBzQXJyOiBib29sZWFuW10gPSBbXTtcbiAgICBhY3RpdmUgPSAnJztcblxuICAgIHJlYWRvbmx5IG1vZGUkOiBPYnNlcnZhYmxlPFR1aUJyaWdodG5lc3M+ID0gdGhpcy5tb2RlLmNoYW5nZSQucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKG51bGwpLFxuICAgICAgICBtYXAoKCkgPT4gdGhpcy5tb2RlLm1vZGUgfHwgJ29uTGlnaHQnKSxcbiAgICApO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUaXRsZSkgdGl0bGVTZXJ2aWNlOiBUaXRsZSxcbiAgICAgICAgQEluamVjdChOQVZJR0FUSU9OX1RJVExFKSB0aXRsZSQ6IE9ic2VydmFibGU8c3RyaW5nPixcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFJlZjogRG9jdW1lbnQsXG4gICAgICAgIEBJbmplY3QoVHVpTW9kZURpcmVjdGl2ZSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBtb2RlOiBUdWlNb2RlRGlyZWN0aXZlLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFR1aVNpZGViYXJEaXJlY3RpdmUpXG4gICAgICAgIHJlYWRvbmx5IHNpZGViYXI6IHVua25vd24sXG4gICAgICAgIEBJbmplY3QoTkFWSUdBVElPTl9MQUJFTFMpIHJlYWRvbmx5IGxhYmVsczogc3RyaW5nW10sXG4gICAgICAgIEBJbmplY3QoTkFWSUdBVElPTl9JVEVNUylcbiAgICAgICAgcmVhZG9ubHkgaXRlbXM6IHJlYWRvbmx5IFR1aURvY1BhZ2VzW10sXG4gICAgICAgIEBJbmplY3QoVFVJX0RPQ19TRUFSQ0hfVEVYVCkgcmVhZG9ubHkgc2VhcmNoVGV4dDogc3RyaW5nLFxuICAgICAgICBASW5qZWN0KFJvdXRlcikgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgQEluamVjdChBY3RpdmF0ZWRSb3V0ZSkgcHJpdmF0ZSByZWFkb25seSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIEBJbmplY3QoVHVpRGVzdHJveVNlcnZpY2UpIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQ6IE9ic2VydmFibGU8dm9pZD4sXG4gICAgICAgIEBJbmplY3QoVFVJX0RPQ19QQUdFX0xPQURFRClcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByZWFkeVRvU2Nyb2xsJDogT2JzZXJ2YWJsZTxib29sZWFuPixcbiAgICApIHtcbiAgICAgICAgLy8gQW5ndWxhciBjYW4ndCBuYXZpZ2F0ZSBubyBhbmNob3IgbGlua3NcbiAgICAgICAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzYxMDE3NTYvYW5ndWxhcjItcm91dGluZy13aXRoLWhhc2h0YWctdG8tcGFnZS1hbmNob3JcbiAgICAgICAgdGl0bGUkLnN1YnNjcmliZSh0aXRsZSA9PiB7XG4gICAgICAgICAgICBjaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIHRpdGxlU2VydmljZS5zZXRUaXRsZSh0aXRsZSk7XG4gICAgICAgICAgICB0aGlzLm9wZW5BY3RpdmVQYWdlR3JvdXAoKTtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQW5jaG9yTGluayh0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LmZyYWdtZW50KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IGNhbk9wZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlYXJjaC5sZW5ndGggPiAyO1xuICAgIH1cblxuICAgIGdldCBmaWx0ZXJlZEl0ZW1zKCk6IFJlYWRvbmx5QXJyYXk8cmVhZG9ubHkgVHVpRG9jUGFnZVtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlckl0ZW1zKHRoaXMuZmxhdHRlblN1YlBhZ2VzKHRoaXMuaXRlbXMpLCB0aGlzLnNlYXJjaCk7XG4gICAgfVxuXG4gICAgZ2V0IGl0ZW1zV2l0aG91dFNlY3Rpb25zKCk6IFR1aURvY1BhZ2VzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXRlbXNbdGhpcy5pdGVtcy5sZW5ndGggLSAxXTtcbiAgICB9XG5cbiAgICBpc0FjdGl2ZShyb3V0ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiByb3V0ZSA9PT0gdGhpcy5hY3RpdmU7XG4gICAgfVxuXG4gICAgb25Hcm91cENsaWNrKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuUGFnZXNHcm91cHNBcnJbaW5kZXhdID0gIXRoaXMub3BlblBhZ2VzR3JvdXBzQXJyW2luZGV4XTtcbiAgICB9XG5cbiAgICBjbG9zZU1lbnUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWVudU9wZW4gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBvblNlYXJjaENoYW5nZShzZWFyY2g6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlYXJjaCA9IHNlYXJjaDtcbiAgICAgICAgdGhpcy5vcGVuID0gdGhpcy5jYW5PcGVuO1xuICAgIH1cblxuICAgIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLm1lbnVPcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2VhcmNoID0gJyc7XG4gICAgICAgIHRoaXMub3BlbkFjdGl2ZVBhZ2VHcm91cCgpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBmaWx0ZXJJdGVtcyhcbiAgICAgICAgaXRlbXM6IFJlYWRvbmx5QXJyYXk8cmVhZG9ubHkgVHVpRG9jUGFnZVtdPixcbiAgICAgICAgc2VhcmNoOiBzdHJpbmcsXG4gICAgKTogUmVhZG9ubHlBcnJheTxyZWFkb25seSBUdWlEb2NQYWdlW10+IHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zLm1hcChzZWN0aW9uID0+XG4gICAgICAgICAgICB1bmlxQnkoXG4gICAgICAgICAgICAgICAgc2VjdGlvbi5maWx0ZXIoKHt0aXRsZSwga2V5d29yZHMgPSAnJ30pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSB0aXRsZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgICAgICAgICAga2V5d29yZHMgPSBrZXl3b3Jkcy50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZS5pbmNsdWRlcyhzZWFyY2gpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXl3b3Jkcy5pbmNsdWRlcyhzZWFyY2gpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZS5pbmNsdWRlcyh0cmFuc2xpdGVyYXRlS2V5Ym9hcmRMYXlvdXQoc2VhcmNoKSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleXdvcmRzLmluY2x1ZGVzKHRyYW5zbGl0ZXJhdGVLZXlib2FyZExheW91dChzZWFyY2gpKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoLnJlcGxhY2UoLy0vZ2ksICcnKS5pbmNsdWRlcyh0aXRsZSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAndGl0bGUnLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZmxhdHRlblN1YlBhZ2VzKFxuICAgICAgICBpdGVtczogcmVhZG9ubHkgVHVpRG9jUGFnZXNbXSxcbiAgICApOiBSZWFkb25seUFycmF5PHJlYWRvbmx5IFR1aURvY1BhZ2VbXT4ge1xuICAgICAgICByZXR1cm4gaXRlbXMucmVkdWNlPFJlYWRvbmx5QXJyYXk8cmVhZG9ubHkgVHVpRG9jUGFnZVtdPj4oXG4gICAgICAgICAgICAoYXJyYXksIGl0ZW0pID0+IFtcbiAgICAgICAgICAgICAgICAuLi5hcnJheSxcbiAgICAgICAgICAgICAgICBpdGVtLnJlZHVjZTxyZWFkb25seSBUdWlEb2NQYWdlW10+KFxuICAgICAgICAgICAgICAgICAgICAocGFnZXMsIHBhZ2UpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAnc3ViUGFnZXMnIGluIHBhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IFsuLi5wYWdlcywgLi4ucGFnZS5zdWJQYWdlc11cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFsuLi5wYWdlcywgcGFnZV0sXG4gICAgICAgICAgICAgICAgICAgIFtdLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW10sXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0FjdGl2ZVJvdXRlKHJvdXRlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucm91dGVyLmlzQWN0aXZlKHJvdXRlLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVBbmNob3JMaW5rKGhhc2g6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlYWR5VG9TY3JvbGwkXG4gICAgICAgICAgICAucGlwZShmaWx0ZXIoQm9vbGVhbiksIHRha2UoMSksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5uYXZpZ2F0ZVRvQW5jaG9yTGluayhoYXNoKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvcGVuQWN0aXZlUGFnZUdyb3VwKCk6IHZvaWQge1xuICAgICAgICB0aGlzLml0ZW1zLmZvckVhY2goKHBhZ2VzLCBwYWdlc0luZGV4KSA9PiB7XG4gICAgICAgICAgICBwYWdlcy5mb3JFYWNoKChwYWdlLCBwYWdlSW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoJ3JvdXRlJyBpbiBwYWdlICYmIHRoaXMuaXNBY3RpdmVSb3V0ZShwYWdlLnJvdXRlKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5QYWdlc0FycltwYWdlc0luZGV4XSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlID0gcGFnZS5yb3V0ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoJ3N1YlBhZ2VzJyBpbiBwYWdlKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZ2Uuc3ViUGFnZXMuZm9yRWFjaChzdWJQYWdlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzQWN0aXZlUm91dGUoc3ViUGFnZS5yb3V0ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5QYWdlc0FycltwYWdlc0luZGV4XSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vcGVuUGFnZXNHcm91cHNBcnJbcGFnZXNJbmRleCAqIDEwMCArIHBhZ2VJbmRleF0gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlID0gc3ViUGFnZS5yb3V0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgbmF2aWdhdGVUb0FuY2hvckxpbmsoZnJhZ21lbnQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gZnJhZ21lbnQgJiYgdGhpcy5kb2N1bWVudFJlZi5xdWVyeVNlbGVjdG9yKGAjJHtmcmFnbWVudH1gKTtcblxuICAgICAgICBpZiAoIWVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgndHVpLWRvYy1hbmltYXRlZC1leGFtcGxlJyk7XG4gICAgICAgIGVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoe1xuICAgICAgICAgICAgYmxvY2s6ICdzdGFydCcsXG4gICAgICAgICAgICBpbmxpbmU6ICduZWFyZXN0JyxcbiAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -6,7 +6,7 @@ import { RouterModule } from '@angular/router';
6
6
  import { TuiActiveZoneModule, TuiAutoFocusModule, TuiLetModule } from '@taiga-ui/cdk';
7
7
  import { TuiButtonModule, TuiDataListModule, TuiDropdownControllerModule, TuiExpandModule, TuiHostedDropdownModule, TuiLinkModule, TuiModeModule, TuiPrimitiveTextfieldModule, TuiScrollbarModule, TuiSvgModule, TuiTextfieldControllerModule, } from '@taiga-ui/core';
8
8
  import { TuiAccordionModule } from '@taiga-ui/kit';
9
- import { ScrollIntoViewModule } from '../../directives/scroll-into-view/scroll-into-view.module';
9
+ import { ScrollIntoViewModule, TuiScrollIntoViewLinkModule, } from '../../directives/scroll-into-view/scroll-into-view.module';
10
10
  import { TuiDocNavigationComponent } from './navigation.component';
11
11
  var TuiDocNavigationModule = /** @class */ (function () {
12
12
  function TuiDocNavigationModule() {
@@ -18,6 +18,7 @@ var TuiDocNavigationModule = /** @class */ (function () {
18
18
  FormsModule,
19
19
  RouterModule,
20
20
  ScrollIntoViewModule,
21
+ TuiScrollIntoViewLinkModule,
21
22
  TuiButtonModule,
22
23
  TuiPrimitiveTextfieldModule,
23
24
  TuiTextfieldControllerModule,
@@ -41,4 +42,4 @@ var TuiDocNavigationModule = /** @class */ (function () {
41
42
  return TuiDocNavigationModule;
42
43
  }());
43
44
  export { TuiDocNavigationModule };
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tZG9jLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdmlnYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUNILGVBQWUsRUFDZixpQkFBaUIsRUFDakIsMkJBQTJCLEVBQzNCLGVBQWUsRUFDZix1QkFBdUIsRUFDdkIsYUFBYSxFQUNiLGFBQWEsRUFDYiwyQkFBMkIsRUFDM0Isa0JBQWtCLEVBQ2xCLFlBQVksRUFDWiw0QkFBNEIsR0FDL0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDL0YsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUEyQmpFO0lBQUE7SUFBcUMsQ0FBQztJQUF6QixzQkFBc0I7UUF6QmxDLFFBQVEsQ0FBQztZQUNOLE9BQU8sRUFBRTtnQkFDTCxZQUFZO2dCQUNaLFdBQVc7Z0JBQ1gsWUFBWTtnQkFDWixvQkFBb0I7Z0JBQ3BCLGVBQWU7Z0JBQ2YsMkJBQTJCO2dCQUMzQiw0QkFBNEI7Z0JBQzVCLG1CQUFtQjtnQkFDbkIsWUFBWTtnQkFDWixhQUFhO2dCQUNiLGFBQWE7Z0JBQ2IsZUFBZTtnQkFDZix1QkFBdUI7Z0JBQ3ZCLDJCQUEyQjtnQkFDM0Isa0JBQWtCO2dCQUNsQixrQkFBa0I7Z0JBQ2xCLFlBQVk7Z0JBQ1osaUJBQWlCO2dCQUNqQixrQkFBa0I7YUFDckI7WUFDRCxZQUFZLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztZQUN6QyxPQUFPLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztTQUN2QyxDQUFDO09BQ1csc0JBQXNCLENBQUc7SUFBRCw2QkFBQztDQUFBLEFBQXRDLElBQXNDO1NBQXpCLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1JvdXRlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7VHVpQWN0aXZlWm9uZU1vZHVsZSwgVHVpQXV0b0ZvY3VzTW9kdWxlLCBUdWlMZXRNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBUdWlCdXR0b25Nb2R1bGUsXG4gICAgVHVpRGF0YUxpc3RNb2R1bGUsXG4gICAgVHVpRHJvcGRvd25Db250cm9sbGVyTW9kdWxlLFxuICAgIFR1aUV4cGFuZE1vZHVsZSxcbiAgICBUdWlIb3N0ZWREcm9wZG93bk1vZHVsZSxcbiAgICBUdWlMaW5rTW9kdWxlLFxuICAgIFR1aU1vZGVNb2R1bGUsXG4gICAgVHVpUHJpbWl0aXZlVGV4dGZpZWxkTW9kdWxlLFxuICAgIFR1aVNjcm9sbGJhck1vZHVsZSxcbiAgICBUdWlTdmdNb2R1bGUsXG4gICAgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUdWlBY2NvcmRpb25Nb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuXG5pbXBvcnQge1Njcm9sbEludG9WaWV3TW9kdWxlfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3Njcm9sbC1pbnRvLXZpZXcvc2Nyb2xsLWludG8tdmlldy5tb2R1bGUnO1xuaW1wb3J0IHtUdWlEb2NOYXZpZ2F0aW9uQ29tcG9uZW50fSBmcm9tICcuL25hdmlnYXRpb24uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJvdXRlck1vZHVsZSxcbiAgICAgICAgU2Nyb2xsSW50b1ZpZXdNb2R1bGUsXG4gICAgICAgIFR1aUJ1dHRvbk1vZHVsZSxcbiAgICAgICAgVHVpUHJpbWl0aXZlVGV4dGZpZWxkTW9kdWxlLFxuICAgICAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlLFxuICAgICAgICBUdWlBY3RpdmVab25lTW9kdWxlLFxuICAgICAgICBUdWlMZXRNb2R1bGUsXG4gICAgICAgIFR1aU1vZGVNb2R1bGUsXG4gICAgICAgIFR1aUxpbmtNb2R1bGUsXG4gICAgICAgIFR1aUV4cGFuZE1vZHVsZSxcbiAgICAgICAgVHVpSG9zdGVkRHJvcGRvd25Nb2R1bGUsXG4gICAgICAgIFR1aURyb3Bkb3duQ29udHJvbGxlck1vZHVsZSxcbiAgICAgICAgVHVpQWNjb3JkaW9uTW9kdWxlLFxuICAgICAgICBUdWlTY3JvbGxiYXJNb2R1bGUsXG4gICAgICAgIFR1aVN2Z01vZHVsZSxcbiAgICAgICAgVHVpRGF0YUxpc3RNb2R1bGUsXG4gICAgICAgIFR1aUF1dG9Gb2N1c01vZHVsZSxcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1R1aURvY05hdmlnYXRpb25Db21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtUdWlEb2NOYXZpZ2F0aW9uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRG9jTmF2aWdhdGlvbk1vZHVsZSB7fVxuIl19
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tZG9jLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdmlnYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUNILGVBQWUsRUFDZixpQkFBaUIsRUFDakIsMkJBQTJCLEVBQzNCLGVBQWUsRUFDZix1QkFBdUIsRUFDdkIsYUFBYSxFQUNiLGFBQWEsRUFDYiwyQkFBMkIsRUFDM0Isa0JBQWtCLEVBQ2xCLFlBQVksRUFDWiw0QkFBNEIsR0FDL0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUNILG9CQUFvQixFQUNwQiwyQkFBMkIsR0FDOUIsTUFBTSwyREFBMkQsQ0FBQztBQUNuRSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQTRCakU7SUFBQTtJQUFxQyxDQUFDO0lBQXpCLHNCQUFzQjtRQTFCbEMsUUFBUSxDQUFDO1lBQ04sT0FBTyxFQUFFO2dCQUNMLFlBQVk7Z0JBQ1osV0FBVztnQkFDWCxZQUFZO2dCQUNaLG9CQUFvQjtnQkFDcEIsMkJBQTJCO2dCQUMzQixlQUFlO2dCQUNmLDJCQUEyQjtnQkFDM0IsNEJBQTRCO2dCQUM1QixtQkFBbUI7Z0JBQ25CLFlBQVk7Z0JBQ1osYUFBYTtnQkFDYixhQUFhO2dCQUNiLGVBQWU7Z0JBQ2YsdUJBQXVCO2dCQUN2QiwyQkFBMkI7Z0JBQzNCLGtCQUFrQjtnQkFDbEIsa0JBQWtCO2dCQUNsQixZQUFZO2dCQUNaLGlCQUFpQjtnQkFDakIsa0JBQWtCO2FBQ3JCO1lBQ0QsWUFBWSxFQUFFLENBQUMseUJBQXlCLENBQUM7WUFDekMsT0FBTyxFQUFFLENBQUMseUJBQXlCLENBQUM7U0FDdkMsQ0FBQztPQUNXLHNCQUFzQixDQUFHO0lBQUQsNkJBQUM7Q0FBQSxBQUF0QyxJQUFzQztTQUF6QixzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtSb3V0ZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1R1aUFjdGl2ZVpvbmVNb2R1bGUsIFR1aUF1dG9Gb2N1c01vZHVsZSwgVHVpTGV0TW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVHVpQnV0dG9uTW9kdWxlLFxuICAgIFR1aURhdGFMaXN0TW9kdWxlLFxuICAgIFR1aURyb3Bkb3duQ29udHJvbGxlck1vZHVsZSxcbiAgICBUdWlFeHBhbmRNb2R1bGUsXG4gICAgVHVpSG9zdGVkRHJvcGRvd25Nb2R1bGUsXG4gICAgVHVpTGlua01vZHVsZSxcbiAgICBUdWlNb2RlTW9kdWxlLFxuICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZE1vZHVsZSxcbiAgICBUdWlTY3JvbGxiYXJNb2R1bGUsXG4gICAgVHVpU3ZnTW9kdWxlLFxuICAgIFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGUsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpQWNjb3JkaW9uTW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkva2l0JztcblxuaW1wb3J0IHtcbiAgICBTY3JvbGxJbnRvVmlld01vZHVsZSxcbiAgICBUdWlTY3JvbGxJbnRvVmlld0xpbmtNb2R1bGUsXG59IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvc2Nyb2xsLWludG8tdmlldy9zY3JvbGwtaW50by12aWV3Lm1vZHVsZSc7XG5pbXBvcnQge1R1aURvY05hdmlnYXRpb25Db21wb25lbnR9IGZyb20gJy4vbmF2aWdhdGlvbi5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlLFxuICAgICAgICBTY3JvbGxJbnRvVmlld01vZHVsZSxcbiAgICAgICAgVHVpU2Nyb2xsSW50b1ZpZXdMaW5rTW9kdWxlLFxuICAgICAgICBUdWlCdXR0b25Nb2R1bGUsXG4gICAgICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZE1vZHVsZSxcbiAgICAgICAgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZSxcbiAgICAgICAgVHVpQWN0aXZlWm9uZU1vZHVsZSxcbiAgICAgICAgVHVpTGV0TW9kdWxlLFxuICAgICAgICBUdWlNb2RlTW9kdWxlLFxuICAgICAgICBUdWlMaW5rTW9kdWxlLFxuICAgICAgICBUdWlFeHBhbmRNb2R1bGUsXG4gICAgICAgIFR1aUhvc3RlZERyb3Bkb3duTW9kdWxlLFxuICAgICAgICBUdWlEcm9wZG93bkNvbnRyb2xsZXJNb2R1bGUsXG4gICAgICAgIFR1aUFjY29yZGlvbk1vZHVsZSxcbiAgICAgICAgVHVpU2Nyb2xsYmFyTW9kdWxlLFxuICAgICAgICBUdWlTdmdNb2R1bGUsXG4gICAgICAgIFR1aURhdGFMaXN0TW9kdWxlLFxuICAgICAgICBUdWlBdXRvRm9jdXNNb2R1bGUsXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtUdWlEb2NOYXZpZ2F0aW9uQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbVHVpRG9jTmF2aWdhdGlvbkNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY05hdmlnYXRpb25Nb2R1bGUge31cbiJdfQ==
@@ -1,14 +1,20 @@
1
- import { __decorate, __param } from "tslib";
1
+ import { __decorate, __extends, __param } from "tslib";
2
2
  import { Directive, ElementRef, Inject, Input } from '@angular/core';
3
3
  import { getElementObscurers, TuiDestroyService } from '@taiga-ui/cdk';
4
- import { Subject } from 'rxjs';
5
- import { debounceTime, filter, takeUntil } from 'rxjs/operators';
4
+ import { Observable, ReplaySubject } from 'rxjs';
5
+ import { debounceTime, filter, switchMapTo, takeUntil } from 'rxjs/operators';
6
+ import { TUI_DOC_PAGE_LOADED } from '../../tokens/page-loaded';
7
+ /**
8
+ * @deprecated: use {@link TuiScrollIntoViewLinkDirective}
9
+ * TODO: remove in v3.0
10
+ */
6
11
  var ScrollIntoViewDirective = /** @class */ (function () {
7
- function ScrollIntoViewDirective(destroy$, _a) {
12
+ function ScrollIntoViewDirective(destroy$, _a, readyToScroll$) {
8
13
  var nativeElement = _a.nativeElement;
9
- this.scroll$ = new Subject();
10
- this.scroll$
11
- .pipe(debounceTime(750), filter(function (shallWe) { return shallWe && !!getElementObscurers(nativeElement); }), takeUntil(destroy$))
14
+ this.readyToScroll$ = readyToScroll$;
15
+ this.scroll$ = new ReplaySubject(1);
16
+ this.readyToScroll$
17
+ .pipe(filter(Boolean), switchMapTo(this.scroll$), debounceTime(750), filter(function (shallWe) { return shallWe && !!getElementObscurers(nativeElement); }), takeUntil(destroy$))
12
18
  .subscribe(function () {
13
19
  nativeElement.scrollIntoView();
14
20
  });
@@ -22,7 +28,8 @@ var ScrollIntoViewDirective = /** @class */ (function () {
22
28
  });
23
29
  ScrollIntoViewDirective.ctorParameters = function () { return [
24
30
  { type: TuiDestroyService, decorators: [{ type: Inject, args: [TuiDestroyService,] }] },
25
- { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] }
31
+ { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
32
+ { type: Observable, decorators: [{ type: Inject, args: [TUI_DOC_PAGE_LOADED,] }] }
26
33
  ]; };
27
34
  __decorate([
28
35
  Input()
@@ -31,11 +38,28 @@ var ScrollIntoViewDirective = /** @class */ (function () {
31
38
  Directive({
32
39
  selector: '[scrollIntoView]',
33
40
  providers: [TuiDestroyService],
34
- }),
41
+ })
42
+ // eslint-disable-next-line @typescript-eslint/naming-convention
43
+ ,
35
44
  __param(0, Inject(TuiDestroyService)),
36
- __param(1, Inject(ElementRef))
45
+ __param(1, Inject(ElementRef)),
46
+ __param(2, Inject(TUI_DOC_PAGE_LOADED))
37
47
  ], ScrollIntoViewDirective);
38
48
  return ScrollIntoViewDirective;
39
49
  }());
40
50
  export { ScrollIntoViewDirective };
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWludG8tdmlldy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tZG9jLyIsInNvdXJjZXMiOlsiZGlyZWN0aXZlcy9zY3JvbGwtaW50by12aWV3L3Njcm9sbC1pbnRvLXZpZXcuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBTS9EO0lBUUksaUNBQytCLFFBQTJCLEVBQ2xDLEVBQXdDO1lBQXZDLGdDQUFhO1FBSnJCLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBTTlDLElBQUksQ0FBQyxPQUFPO2FBQ1AsSUFBSSxDQUNELFlBQVksQ0FBQyxHQUFHLENBQUMsRUFDakIsTUFBTSxDQUFDLFVBQUEsT0FBTyxJQUFJLE9BQUEsT0FBTyxJQUFJLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsRUFBL0MsQ0FBK0MsQ0FBQyxFQUNsRSxTQUFTLENBQUMsUUFBUSxDQUFDLENBQ3RCO2FBQ0EsU0FBUyxDQUFDO1lBQ1AsYUFBYSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQW5CRCxzQkFBSSxtREFBYzthQUFsQixVQUFtQixPQUFnQjtZQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQixDQUFDOzs7T0FBQTs7Z0JBS3dDLGlCQUFpQix1QkFBckQsTUFBTSxTQUFDLGlCQUFpQjtnQkFDWSxVQUFVLHVCQUE5QyxNQUFNLFNBQUMsVUFBVTs7SUFSdEI7UUFEQyxLQUFLLEVBQUU7aUVBR1A7SUFKUSx1QkFBdUI7UUFKbkMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztTQUNqQyxDQUFDO1FBVU8sV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUN6QixXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtPQVZkLHVCQUF1QixDQXNCbkM7SUFBRCw4QkFBQztDQUFBLEFBdEJELElBc0JDO1NBdEJZLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3QsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Z2V0RWxlbWVudE9ic2N1cmVycywgVHVpRGVzdHJveVNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBmaWx0ZXIsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tzY3JvbGxJbnRvVmlld10nLFxuICAgIHByb3ZpZGVyczogW1R1aURlc3Ryb3lTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2Nyb2xsSW50b1ZpZXdEaXJlY3RpdmUge1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHNjcm9sbEludG9WaWV3KHNoYWxsV2U6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zY3JvbGwkLm5leHQoc2hhbGxXZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWFkb25seSBzY3JvbGwkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKSBkZXN0cm95JDogVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikge25hdGl2ZUVsZW1lbnR9OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICApIHtcbiAgICAgICAgdGhpcy5zY3JvbGwkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBkZWJvdW5jZVRpbWUoNzUwKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoc2hhbGxXZSA9PiBzaGFsbFdlICYmICEhZ2V0RWxlbWVudE9ic2N1cmVycyhuYXRpdmVFbGVtZW50KSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKGRlc3Ryb3kkKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
51
+ var TuiScrollIntoViewLinkDirective = /** @class */ (function (_super) {
52
+ __extends(TuiScrollIntoViewLinkDirective, _super);
53
+ function TuiScrollIntoViewLinkDirective() {
54
+ return _super !== null && _super.apply(this, arguments) || this;
55
+ }
56
+ TuiScrollIntoViewLinkDirective = __decorate([
57
+ Directive({
58
+ selector: '[tuiScrollIntoViewLink]',
59
+ providers: [TuiDestroyService],
60
+ })
61
+ ], TuiScrollIntoViewLinkDirective);
62
+ return TuiScrollIntoViewLinkDirective;
63
+ }(ScrollIntoViewDirective));
64
+ export { TuiScrollIntoViewLinkDirective };
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWludG8tdmlldy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tZG9jLyIsInNvdXJjZXMiOlsiZGlyZWN0aXZlcy9zY3JvbGwtaW50by12aWV3L3Njcm9sbC1pbnRvLXZpZXcuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUMsVUFBVSxFQUFFLGFBQWEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFN0Q7OztHQUdHO0FBTUg7SUFRSSxpQ0FDK0IsUUFBMkIsRUFDbEMsRUFBd0MsRUFFbkQsY0FBbUM7WUFGdkIsZ0NBQWE7UUFFekIsbUJBQWMsR0FBZCxjQUFjLENBQXFCO1FBTi9CLFlBQU8sR0FBRyxJQUFJLGFBQWEsQ0FBVSxDQUFDLENBQUMsQ0FBQztRQVFyRCxJQUFJLENBQUMsY0FBYzthQUNkLElBQUksQ0FDRCxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQ2YsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFDekIsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixNQUFNLENBQUMsVUFBQSxPQUFPLElBQUksT0FBQSxPQUFPLElBQUksQ0FBQyxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxFQUEvQyxDQUErQyxDQUFDLEVBQ2xFLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FDdEI7YUFDQSxTQUFTLENBQUM7WUFDUCxhQUFhLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBdkJELHNCQUFJLG1EQUFjO2FBQWxCLFVBQW1CLE9BQWdCO1lBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9CLENBQUM7OztPQUFBOztnQkFLd0MsaUJBQWlCLHVCQUFyRCxNQUFNLFNBQUMsaUJBQWlCO2dCQUNZLFVBQVUsdUJBQTlDLE1BQU0sU0FBQyxVQUFVO2dCQUVPLFVBQVUsdUJBRGxDLE1BQU0sU0FBQyxtQkFBbUI7O0lBVC9CO1FBREMsS0FBSyxFQUFFO2lFQUdQO0lBSlEsdUJBQXVCO1FBTG5DLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIsU0FBUyxFQUFFLENBQUMsaUJBQWlCLENBQUM7U0FDakMsQ0FBQztRQUNGLGdFQUFnRTs7UUFVdkQsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUN6QixXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUNsQixXQUFBLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO09BWHZCLHVCQUF1QixDQTBCbkM7SUFBRCw4QkFBQztDQUFBLEFBMUJELElBMEJDO1NBMUJZLHVCQUF1QjtBQWdDcEM7SUFBb0Qsa0RBQXVCO0lBQTNFOztJQUE2RSxDQUFDO0lBQWpFLDhCQUE4QjtRQUoxQyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUseUJBQXlCO1lBQ25DLFNBQVMsRUFBRSxDQUFDLGlCQUFpQixDQUFDO1NBQ2pDLENBQUM7T0FDVyw4QkFBOEIsQ0FBbUM7SUFBRCxxQ0FBQztDQUFBLEFBQTlFLENBQW9ELHVCQUF1QixHQUFHO1NBQWpFLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3QsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Z2V0RWxlbWVudE9ic2N1cmVycywgVHVpRGVzdHJveVNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBmaWx0ZXIsIHN3aXRjaE1hcFRvLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUVUlfRE9DX1BBR0VfTE9BREVEfSBmcm9tICcuLi8uLi90b2tlbnMvcGFnZS1sb2FkZWQnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkOiB1c2Uge0BsaW5rIFR1aVNjcm9sbEludG9WaWV3TGlua0RpcmVjdGl2ZX1cbiAqIFRPRE86IHJlbW92ZSBpbiB2My4wXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3Njcm9sbEludG9WaWV3XScsXG4gICAgcHJvdmlkZXJzOiBbVHVpRGVzdHJveVNlcnZpY2VdLFxufSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjbGFzcyBTY3JvbGxJbnRvVmlld0RpcmVjdGl2ZSB7XG4gICAgQElucHV0KClcbiAgICBzZXQgc2Nyb2xsSW50b1ZpZXcoc2hhbGxXZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNjcm9sbCQubmV4dChzaGFsbFdlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHNjcm9sbCQgPSBuZXcgUmVwbGF5U3ViamVjdDxib29sZWFuPigxKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKSBkZXN0cm95JDogVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikge25hdGl2ZUVsZW1lbnR9OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChUVUlfRE9DX1BBR0VfTE9BREVEKVxuICAgICAgICByZWFkb25seSByZWFkeVRvU2Nyb2xsJDogT2JzZXJ2YWJsZTxib29sZWFuPixcbiAgICApIHtcbiAgICAgICAgdGhpcy5yZWFkeVRvU2Nyb2xsJFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcFRvKHRoaXMuc2Nyb2xsJCksXG4gICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKDc1MCksXG4gICAgICAgICAgICAgICAgZmlsdGVyKHNoYWxsV2UgPT4gc2hhbGxXZSAmJiAhIWdldEVsZW1lbnRPYnNjdXJlcnMobmF0aXZlRWxlbWVudCkpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbChkZXN0cm95JCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICBuYXRpdmVFbGVtZW50LnNjcm9sbEludG9WaWV3KCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3R1aVNjcm9sbEludG9WaWV3TGlua10nLFxuICAgIHByb3ZpZGVyczogW1R1aURlc3Ryb3lTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2Nyb2xsSW50b1ZpZXdMaW5rRGlyZWN0aXZlIGV4dGVuZHMgU2Nyb2xsSW50b1ZpZXdEaXJlY3RpdmUge31cbiJdfQ==
@@ -1,7 +1,12 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { NgModule } from '@angular/core';
3
- import { ScrollIntoViewDirective } from './scroll-into-view.directive';
3
+ import { ScrollIntoViewDirective, TuiScrollIntoViewLinkDirective, } from './scroll-into-view.directive';
4
+ /**
5
+ * @deprecated: use {@link TuiScrollIntoViewLinkModule}
6
+ * TODO: remove in v3.0
7
+ */
4
8
  var ScrollIntoViewModule = /** @class */ (function () {
9
+ // eslint-disable-next-line @typescript-eslint/naming-convention
5
10
  function ScrollIntoViewModule() {
6
11
  }
7
12
  ScrollIntoViewModule = __decorate([
@@ -9,8 +14,21 @@ var ScrollIntoViewModule = /** @class */ (function () {
9
14
  declarations: [ScrollIntoViewDirective],
10
15
  exports: [ScrollIntoViewDirective],
11
16
  })
17
+ // eslint-disable-next-line @typescript-eslint/naming-convention
12
18
  ], ScrollIntoViewModule);
13
19
  return ScrollIntoViewModule;
14
20
  }());
15
21
  export { ScrollIntoViewModule };
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWludG8tdmlldy5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tZG9jLyIsInNvdXJjZXMiOlsiZGlyZWN0aXZlcy9zY3JvbGwtaW50by12aWV3L3Njcm9sbC1pbnRvLXZpZXcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBTXJFO0lBQUE7SUFBbUMsQ0FBQztJQUF2QixvQkFBb0I7UUFKaEMsUUFBUSxDQUFDO1lBQ04sWUFBWSxFQUFFLENBQUMsdUJBQXVCLENBQUM7WUFDdkMsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7U0FDckMsQ0FBQztPQUNXLG9CQUFvQixDQUFHO0lBQUQsMkJBQUM7Q0FBQSxBQUFwQyxJQUFvQztTQUF2QixvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtTY3JvbGxJbnRvVmlld0RpcmVjdGl2ZX0gZnJvbSAnLi9zY3JvbGwtaW50by12aWV3LmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbU2Nyb2xsSW50b1ZpZXdEaXJlY3RpdmVdLFxuICAgIGV4cG9ydHM6IFtTY3JvbGxJbnRvVmlld0RpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNjcm9sbEludG9WaWV3TW9kdWxlIHt9XG4iXX0=
22
+ var TuiScrollIntoViewLinkModule = /** @class */ (function () {
23
+ function TuiScrollIntoViewLinkModule() {
24
+ }
25
+ TuiScrollIntoViewLinkModule = __decorate([
26
+ NgModule({
27
+ declarations: [TuiScrollIntoViewLinkDirective],
28
+ exports: [TuiScrollIntoViewLinkDirective],
29
+ })
30
+ ], TuiScrollIntoViewLinkModule);
31
+ return TuiScrollIntoViewLinkModule;
32
+ }());
33
+ export { TuiScrollIntoViewLinkModule };
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWludG8tdmlldy5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tZG9jLyIsInNvdXJjZXMiOlsiZGlyZWN0aXZlcy9zY3JvbGwtaW50by12aWV3L3Njcm9sbC1pbnRvLXZpZXcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsOEJBQThCLEdBQ2pDLE1BQU0sOEJBQThCLENBQUM7QUFFdEM7OztHQUdHO0FBTUg7SUFEQSxnRUFBZ0U7SUFDaEU7SUFBbUMsQ0FBQztJQUF2QixvQkFBb0I7UUFMaEMsUUFBUSxDQUFDO1lBQ04sWUFBWSxFQUFFLENBQUMsdUJBQXVCLENBQUM7WUFDdkMsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7U0FDckMsQ0FBQztRQUNGLGdFQUFnRTtPQUNuRCxvQkFBb0IsQ0FBRztJQUFELDJCQUFDO0NBQUEsQUFBcEMsSUFBb0M7U0FBdkIsb0JBQW9CO0FBTWpDO0lBQUE7SUFBMEMsQ0FBQztJQUE5QiwyQkFBMkI7UUFKdkMsUUFBUSxDQUFDO1lBQ04sWUFBWSxFQUFFLENBQUMsOEJBQThCLENBQUM7WUFDOUMsT0FBTyxFQUFFLENBQUMsOEJBQThCLENBQUM7U0FDNUMsQ0FBQztPQUNXLDJCQUEyQixDQUFHO0lBQUQsa0NBQUM7Q0FBQSxBQUEzQyxJQUEyQztTQUE5QiwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgICBTY3JvbGxJbnRvVmlld0RpcmVjdGl2ZSxcbiAgICBUdWlTY3JvbGxJbnRvVmlld0xpbmtEaXJlY3RpdmUsXG59IGZyb20gJy4vc2Nyb2xsLWludG8tdmlldy5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkOiB1c2Uge0BsaW5rIFR1aVNjcm9sbEludG9WaWV3TGlua01vZHVsZX1cbiAqIFRPRE86IHJlbW92ZSBpbiB2My4wXG4gKi9cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbU2Nyb2xsSW50b1ZpZXdEaXJlY3RpdmVdLFxuICAgIGV4cG9ydHM6IFtTY3JvbGxJbnRvVmlld0RpcmVjdGl2ZV0sXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGNsYXNzIFNjcm9sbEludG9WaWV3TW9kdWxlIHt9XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbVHVpU2Nyb2xsSW50b1ZpZXdMaW5rRGlyZWN0aXZlXSxcbiAgICBleHBvcnRzOiBbVHVpU2Nyb2xsSW50b1ZpZXdMaW5rRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2Nyb2xsSW50b1ZpZXdMaW5rTW9kdWxlIHt9XG4iXX0=
@@ -28,11 +28,13 @@ export * from './interfaces/page';
28
28
  /* Languages */
29
29
  export * from './languages/russian';
30
30
  /* Tokens */
31
+ export * from './tokens/code-actions';
31
32
  export * from './tokens/code-editor';
32
33
  export * from './tokens/default-tabs';
33
34
  export * from './tokens/example-content-processor';
34
35
  export * from './tokens/i18n';
35
36
  export * from './tokens/logo';
37
+ export * from './tokens/page-loaded';
36
38
  export * from './tokens/pages';
37
39
  export * from './tokens/see-also';
38
40
  export * from './tokens/source-code';
@@ -43,4 +45,4 @@ export * from './utils/coerce-value';
43
45
  export * from './utils/generate-routes';
44
46
  export * from './utils/raw-load';
45
47
  export * from './utils/raw-load-record';
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1kb2MvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsZ0JBQWdCO0FBQ2hCLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsdUVBQXVFLENBQUM7QUFDdEYsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsc0NBQXNDLENBQUM7QUFFckQsZ0JBQWdCO0FBQ2hCLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyx1REFBdUQsQ0FBQztBQUl0RSxjQUFjLG1CQUFtQixDQUFDO0FBR2xDLGVBQWU7QUFDZixjQUFjLHFCQUFxQixDQUFDO0FBRXBDLFlBQVk7QUFDWixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGdCQUFnQixDQUFDO0FBSy9CLFdBQVc7QUFDWCxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBAdGFpZ2EtdWkvYWRkb24tZG9jXG4gKi9cblxuLyogQ29tcG9uZW50cyAqL1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2NvZGUvY29kZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2NvZGUvY29kZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2NvZGUvcGFyc2UtY29kZS1ibG9jayc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvY29weS9jb3B5LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvY29weS9jb3B5Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZGVtby9kZW1vLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZGVtby9kZW1vLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZG9jdW1lbnRhdGlvbi9kb2N1bWVudGF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZG9jdW1lbnRhdGlvbi9kb2N1bWVudGF0aW9uLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZG9jdW1lbnRhdGlvbi9kb2N1bWVudGF0aW9uLXByb3BlcnR5LWNvbm5lY3Rvci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2V4YW1wbGUvZXhhbXBsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2V4YW1wbGUvZXhhbXBsZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL21haW4vbWFpbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL21haW4vbWFpbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL25hdmlnYXRpb24vbmF2aWdhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL25hdmlnYXRpb24vbmF2aWdhdGlvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3BhZ2UvcGFnZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3BhZ2UvcGFnZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3BhZ2UvcGFnZS10YWIuZGlyZWN0aXZlJztcblxuLyogRGlyZWN0aXZlcyAqL1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL3Njcm9sbC1pbnRvLXZpZXcvc2Nyb2xsLWludG8tdmlldy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL3Njcm9sbC1pbnRvLXZpZXcvc2Nyb2xsLWludG8tdmlldy5tb2R1bGUnO1xuXG4vKiBJbnRlcmZhY2VzICovXG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMvY29kZS1lZGl0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL3BhZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL3NvdXJjZS1jb2RlLXBhdGgtb3B0aW9ucyc7XG5cbi8qIExhbmd1YWdlcyAqL1xuZXhwb3J0ICogZnJvbSAnLi9sYW5ndWFnZXMvcnVzc2lhbic7XG5cbi8qIFRva2VucyAqL1xuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMvY29kZS1lZGl0b3InO1xuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMvZGVmYXVsdC10YWJzJztcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL2V4YW1wbGUtY29udGVudC1wcm9jZXNzb3InO1xuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMvaTE4bic7XG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9sb2dvJztcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL3BhZ2VzJztcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL3NlZS1hbHNvJztcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL3NvdXJjZS1jb2RlJztcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL3RpdGxlJztcblxuLyogVHlwZXMgKi9cbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMvcGFnZXMnO1xuXG4vKiBVdGlscyAqL1xuZXhwb3J0ICogZnJvbSAnLi9hZGRvbi1kb2MubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvY29lcmNlLXZhbHVlJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvZ2VuZXJhdGUtcm91dGVzJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvcmF3LWxvYWQnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9yYXctbG9hZC1yZWNvcmQnO1xuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1kb2MvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsZ0JBQWdCO0FBQ2hCLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsdUVBQXVFLENBQUM7QUFDdEYsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsc0NBQXNDLENBQUM7QUFFckQsZ0JBQWdCO0FBQ2hCLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyx1REFBdUQsQ0FBQztBQUl0RSxjQUFjLG1CQUFtQixDQUFDO0FBR2xDLGVBQWU7QUFDZixjQUFjLHFCQUFxQixDQUFDO0FBRXBDLFlBQVk7QUFDWixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxnQkFBZ0IsQ0FBQztBQUsvQixXQUFXO0FBQ1gsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgQHRhaWdhLXVpL2FkZG9uLWRvY1xuICovXG5cbi8qIENvbXBvbmVudHMgKi9cbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9jb2RlL2NvZGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9jb2RlL2NvZGUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9jb2RlL3BhcnNlLWNvZGUtYmxvY2snO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2NvcHkvY29weS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2NvcHkvY29weS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RlbW8vZGVtby5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RlbW8vZGVtby5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RvY3VtZW50YXRpb24vZG9jdW1lbnRhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RvY3VtZW50YXRpb24vZG9jdW1lbnRhdGlvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RvY3VtZW50YXRpb24vZG9jdW1lbnRhdGlvbi1wcm9wZXJ0eS1jb25uZWN0b3IuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9leGFtcGxlL2V4YW1wbGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9leGFtcGxlL2V4YW1wbGUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9tYWluL21haW4uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9tYWluL21haW4ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdmlnYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdmlnYXRpb24ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9wYWdlL3BhZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9wYWdlL3BhZ2UubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9wYWdlL3BhZ2UtdGFiLmRpcmVjdGl2ZSc7XG5cbi8qIERpcmVjdGl2ZXMgKi9cbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9zY3JvbGwtaW50by12aWV3L3Njcm9sbC1pbnRvLXZpZXcuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9zY3JvbGwtaW50by12aWV3L3Njcm9sbC1pbnRvLXZpZXcubW9kdWxlJztcblxuLyogSW50ZXJmYWNlcyAqL1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL2NvZGUtZWRpdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9wYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9zb3VyY2UtY29kZS1wYXRoLW9wdGlvbnMnO1xuXG4vKiBMYW5ndWFnZXMgKi9cbmV4cG9ydCAqIGZyb20gJy4vbGFuZ3VhZ2VzL3J1c3NpYW4nO1xuXG4vKiBUb2tlbnMgKi9cbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL2NvZGUtYWN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9jb2RlLWVkaXRvcic7XG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9kZWZhdWx0LXRhYnMnO1xuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMvZXhhbXBsZS1jb250ZW50LXByb2Nlc3Nvcic7XG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9pMThuJztcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL2xvZ28nO1xuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMvcGFnZS1sb2FkZWQnO1xuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMvcGFnZXMnO1xuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMvc2VlLWFsc28nO1xuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMvc291cmNlLWNvZGUnO1xuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMvdGl0bGUnO1xuXG4vKiBUeXBlcyAqL1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcy9wYWdlcyc7XG5cbi8qIFV0aWxzICovXG5leHBvcnQgKiBmcm9tICcuL2FkZG9uLWRvYy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9jb2VyY2UtdmFsdWUnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9nZW5lcmF0ZS1yb3V0ZXMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9yYXctbG9hZCc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL3Jhdy1sb2FkLXJlY29yZCc7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export var TUI_DOC_CODE_ACTIONS = new InjectionToken('Code actions for the opened tab with code example', {
3
+ factory: function () { return ''; },
4
+ });
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2FkZG9uLWRvYy8iLCJzb3VyY2VzIjpbInRva2Vucy9jb2RlLWFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUk3QyxNQUFNLENBQUMsSUFBTSxvQkFBb0IsR0FBRyxJQUFJLGNBQWMsQ0FFcEQsbURBQW1ELEVBQUU7SUFDbkQsT0FBTyxFQUFFLGNBQU0sT0FBQSxFQUFFLEVBQUYsQ0FBRTtDQUNwQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpQ29udGV4dFdpdGhJbXBsaWNpdH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbmV4cG9ydCBjb25zdCBUVUlfRE9DX0NPREVfQUNUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxcbiAgICBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8c3RyaW5nPj5cbj4oJ0NvZGUgYWN0aW9ucyBmb3IgdGhlIG9wZW5lZCB0YWIgd2l0aCBjb2RlIGV4YW1wbGUnLCB7XG4gICAgZmFjdG9yeTogKCkgPT4gJycsXG59KTtcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { defer, of, timer } from 'rxjs';
3
+ import { switchMapTo } from 'rxjs/operators';
4
+ export 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))); }); } });
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1sb2FkZWQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tZG9jLyIsInNvdXJjZXMiOlsidG9rZW5zL3BhZ2UtbG9hZGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxFQUFDLEtBQUssRUFBYyxFQUFFLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxNQUFNLENBQUMsSUFBTSxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FDakQsMkdBQTJHLEVBQzNHLEVBQUMsT0FBTyxFQUFFLGNBQU0sT0FBQSxLQUFLLENBQUMsY0FBTSxPQUFBLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQXRDLENBQXNDLENBQUMsRUFBbkQsQ0FBbUQsRUFBQyxDQUN2RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2RlZmVyLCBPYnNlcnZhYmxlLCBvZiwgdGltZXJ9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtzd2l0Y2hNYXBUb30gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgY29uc3QgVFVJX0RPQ19QQUdFX0xPQURFRCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPYnNlcnZhYmxlPGJvb2xlYW4+PihcbiAgICAnW1RVSV9ET0NfUEFHRV9MT0FERURdIFN0cmVhbSB0aGF0IGVtaXRzIGlmIGxvYWRpbmcgb2YgcGFnZSBpcyBvdmVyIChmb3IgZXhhbXBsZSwgdG8gYmVnaW4gc2Nyb2xsSW50b1ZpZXcpJyxcbiAgICB7ZmFjdG9yeTogKCkgPT4gZGVmZXIoKCkgPT4gdGltZXIoMjAwKS5waXBlKHN3aXRjaE1hcFRvKG9mKHRydWUpKSkpfSxcbik7XG4iXX0=