@taiga-ui/addon-doc 3.43.0 → 3.44.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-components.umd.js +1 -1
- package/bundles/taiga-ui-addon-doc-components.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-doc-tokens.umd.js +5 -5
- package/bundles/taiga-ui-addon-doc-tokens.umd.js.map +1 -1
- package/esm2015/components/example/example.component.js +2 -2
- package/esm2015/tokens/scroll-behavior.js +5 -3
- package/fesm2015/taiga-ui-addon-doc-components.js +1 -1
- package/fesm2015/taiga-ui-addon-doc-components.js.map +1 -1
- package/fesm2015/taiga-ui-addon-doc-tokens.js +3 -2
- package/fesm2015/taiga-ui-addon-doc-tokens.js.map +1 -1
- package/package.json +5 -5
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@taiga-ui/cdk'), require('@angular/core'), require('@taiga-ui/addon-doc/utils'), require('rxjs'), require('rxjs/operators')) :
|
|
3
|
-
typeof define === 'function' && define.amd ? define('@taiga-ui/addon-doc/tokens', ['exports', '@taiga-ui/cdk', '@angular/core', '@taiga-ui/addon-doc/utils', 'rxjs', 'rxjs/operators'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"]["addon-doc"] = global["taiga-ui"]["addon-doc"] || {}, global["taiga-ui"]["addon-doc"].tokens = {}), global.cdk, global.ng.core, global["taiga-ui"]["addon-doc"].utils, global.rxjs, global.rxjs.operators));
|
|
5
|
-
})(this, (function (exports, cdk, core, utils, rxjs, operators) { 'use strict';
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@taiga-ui/cdk'), require('@angular/core'), require('@taiga-ui/addon-doc/utils'), require('rxjs'), require('rxjs/operators'), require('@taiga-ui/core')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('@taiga-ui/addon-doc/tokens', ['exports', '@taiga-ui/cdk', '@angular/core', '@taiga-ui/addon-doc/utils', 'rxjs', 'rxjs/operators', '@taiga-ui/core'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"]["addon-doc"] = global["taiga-ui"]["addon-doc"] || {}, global["taiga-ui"]["addon-doc"].tokens = {}), global.cdk, global.ng.core, global["taiga-ui"]["addon-doc"].utils, global.rxjs, global.rxjs.operators, global.core$1));
|
|
5
|
+
})(this, (function (exports, cdk, core, utils, rxjs, operators, core$1) { 'use strict';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Code actions for the opened tab with code example
|
|
@@ -119,7 +119,7 @@
|
|
|
119
119
|
/**
|
|
120
120
|
* Defines the transition animation for scroll
|
|
121
121
|
*/
|
|
122
|
-
var TUI_DOC_SCROLL_BEHAVIOR = cdk.
|
|
122
|
+
var TUI_DOC_SCROLL_BEHAVIOR = cdk.tuiCreateTokenFromFactory(function () { return core.inject(core$1.TUI_REDUCED_MOTION) ? "auto" : "smooth"; });
|
|
123
123
|
|
|
124
124
|
/**
|
|
125
125
|
* Array of arrays of related pages
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-doc-tokens.umd.js","sources":["../../../projects/addon-doc/tokens/code-actions.ts","../../../projects/addon-doc/tokens/code-editor.ts","../../../projects/addon-doc/tokens/default-tabs.ts","../../../projects/addon-doc/tokens/doc-icons.ts","../../../projects/addon-doc/tokens/example-content-processor.ts","../../../projects/addon-doc/tokens/excluded-properties.ts","../../../projects/addon-doc/tokens/i18n.ts","../../../projects/addon-doc/tokens/logo.ts","../../../projects/addon-doc/tokens/page-loaded.ts","../../../projects/addon-doc/tokens/pages.ts","../../../projects/addon-doc/tokens/scroll-behavior.ts","../../../projects/addon-doc/tokens/see-also.ts","../../../projects/addon-doc/tokens/source-code.ts","../../../projects/addon-doc/tokens/title.ts","../../../projects/addon-doc/tokens/url-state-handler.ts","../../../projects/addon-doc/tokens/taiga-ui-addon-doc-tokens.ts"],"sourcesContent":["import {TuiContextWithImplicit, tuiCreateToken} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n/**\n * Code actions for the opened tab with code example\n */\nexport const TUI_DOC_CODE_ACTIONS =\n tuiCreateToken<PolymorpheusContent<TuiContextWithImplicit<string>>>(``);\n","import {InjectionToken} from '@angular/core';\nimport {TuiCodeEditor} from '@taiga-ui/addon-doc/interfaces';\n\n/**\n * Service for opening online IDE e.g. Stackblitz\n */\nexport const TUI_DOC_CODE_EDITOR = new InjectionToken<TuiCodeEditor>(\n `[TUI_DOC_CODE_EDITOR]`,\n);\n","import {tuiCreateToken} from '@taiga-ui/cdk';\n\n/**\n * Array of default tab names\n */\nexport const TUI_DOC_DEFAULT_TABS = tuiCreateToken<readonly string[]>([]);\n","import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\n\nexport interface TuiDocIcons {\n readonly code: string;\n readonly day: string;\n readonly menu: string;\n readonly night: string;\n readonly search: string;\n}\n\nexport const TUI_DOC_DEFAULT_ICONS: TuiDocIcons = {\n search: `tuiIconSearch`,\n day: `tuiIconSun`,\n night: `tuiIconMoon`,\n code: `tuiIconCode`,\n menu: `tuiIconMenuLarge`,\n};\n\nexport const TUI_DOC_ICONS = tuiCreateToken(TUI_DOC_DEFAULT_ICONS);\n\nexport function tuiDocIconsProvider(icons: Partial<TuiDocIcons>): Provider {\n return tuiProvideOptions(TUI_DOC_ICONS, icons, TUI_DOC_DEFAULT_ICONS);\n}\n","import {tuiTryParseMarkdownCodeBlock} from '@taiga-ui/addon-doc/utils';\nimport {tuiCreateToken, TuiHandler} from '@taiga-ui/cdk';\nimport {identity} from 'rxjs';\n\n/**\n * Processes content in example\n */\nexport const TUI_DOC_EXAMPLE_CONTENT_PROCESSOR =\n tuiCreateToken<TuiHandler<Record<string, string>, Record<string, string>>>(identity);\n\n/**\n * Processes markdown in code block\n */\nexport const TUI_DOC_EXAMPLE_MARKDOWN_CODE_PROCESSOR = tuiCreateToken<\n TuiHandler<string, string[]>\n>(tuiTryParseMarkdownCodeBlock);\n","import {Provider} from '@angular/core';\nimport {tuiCreateToken} from '@taiga-ui/cdk';\n\n/**\n * Token to exclude inherited documentation properties\n */\nexport const TUI_DOC_EXCLUDED_PROPERTIES = tuiCreateToken<Set<string>>(new Set([]));\n\nexport function tuiDocExcludeProperties(properties: readonly string[]): Provider {\n return {provide: TUI_DOC_EXCLUDED_PROPERTIES, useValue: new Set(properties)};\n}\n","import {tuiCreateToken} from '@taiga-ui/cdk';\n\n/**\n * TODO: think about reorganization in @taiga-ui/i18n way\n */\n\n/**\n * tui-doc-demo i18n texts\n * Works with a tuple\n * [@string tuiMode tooltip content, @string word 'background', @string 'form value']\n */\nexport const TUI_DOC_DEMO_TEXTS = tuiCreateToken<[string, string, string]>([\n `Read more more about modes: `,\n `Background`,\n `Form value`,\n]);\n\n/**\n * tui-doc-documentation i18n texts\n * Works with a tuple\n * [\n * @string word 'argument',\n * @string word 'type',\n * @string 'name and description',\n * @string word 'value'\n * @string message for tooltip about ng-polymorpheus\n * ]\n */\nexport const TUI_DOC_DOCUMENTATION_TEXTS = tuiCreateToken<\n [string, string, string, string, string]\n>([\n `Argument`,\n `Type`,\n `Name and description`,\n `Value`,\n `Learn about our dynamic templates from `,\n]);\n\n/**\n * tui-doc-example i18n texts\n * Works with a tuple\n * [\n * @string default tab name,\n * @string link to a sample copied message text,\n * @string link to a sample copied message label\n * ]\n */\nexport const TUI_DOC_EXAMPLE_TEXTS = tuiCreateToken<[string, string, string]>([\n `Preview`,\n `Link to a sample was successfully copied`,\n `Done`,\n]);\n\nexport const TUI_DOC_MENU_TEXT = tuiCreateToken(`Menu`);\nexport const TUI_DOC_SEARCH_TEXT = tuiCreateToken(`Search`);\nexport const TUI_DOC_SEE_ALSO_TEXT = tuiCreateToken(`See also`);\nexport const TUI_DOC_SOURCE_CODE_TEXT = tuiCreateToken(`Source code`);\n","import {tuiCreateToken} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n/**\n * Main logo\n */\nexport const TUI_DOC_LOGO = tuiCreateToken<PolymorpheusContent>(``);\n","import {tuiCreateToken} from '@taiga-ui/cdk';\nimport {defer, of, timer} from 'rxjs';\nimport {switchMap} from 'rxjs/operators';\n\n/**\n * Stream that emits if loading of page is over (for example, to begin scrollIntoView)\n */\nexport const TUI_DOC_PAGE_LOADED = tuiCreateToken(\n defer(() => timer(200).pipe(switchMap(() => of(true)))),\n);\n","import {inject, InjectionToken} from '@angular/core';\nimport type {TuiDocPage} from '@taiga-ui/addon-doc/interfaces';\nimport type {TuiDocPages} from '@taiga-ui/addon-doc/types';\nimport {tuiToFlatMapPages} from '@taiga-ui/addon-doc/utils';\nimport {tuiCreateToken} from '@taiga-ui/cdk';\n\n/**\n * Documentation pages\n */\nexport const TUI_DOC_PAGES = tuiCreateToken<TuiDocPages>([]);\n\nexport const TUI_DOC_MAP_PAGES = new InjectionToken<Map<string, TuiDocPage>>(\n `[TUI_DOC_MAP_PAGES]`,\n {\n factory: () => tuiToFlatMapPages(inject(TUI_DOC_PAGES)),\n },\n);\n","import {
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-doc-tokens.umd.js","sources":["../../../projects/addon-doc/tokens/code-actions.ts","../../../projects/addon-doc/tokens/code-editor.ts","../../../projects/addon-doc/tokens/default-tabs.ts","../../../projects/addon-doc/tokens/doc-icons.ts","../../../projects/addon-doc/tokens/example-content-processor.ts","../../../projects/addon-doc/tokens/excluded-properties.ts","../../../projects/addon-doc/tokens/i18n.ts","../../../projects/addon-doc/tokens/logo.ts","../../../projects/addon-doc/tokens/page-loaded.ts","../../../projects/addon-doc/tokens/pages.ts","../../../projects/addon-doc/tokens/scroll-behavior.ts","../../../projects/addon-doc/tokens/see-also.ts","../../../projects/addon-doc/tokens/source-code.ts","../../../projects/addon-doc/tokens/title.ts","../../../projects/addon-doc/tokens/url-state-handler.ts","../../../projects/addon-doc/tokens/taiga-ui-addon-doc-tokens.ts"],"sourcesContent":["import {TuiContextWithImplicit, tuiCreateToken} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n/**\n * Code actions for the opened tab with code example\n */\nexport const TUI_DOC_CODE_ACTIONS =\n tuiCreateToken<PolymorpheusContent<TuiContextWithImplicit<string>>>(``);\n","import {InjectionToken} from '@angular/core';\nimport {TuiCodeEditor} from '@taiga-ui/addon-doc/interfaces';\n\n/**\n * Service for opening online IDE e.g. Stackblitz\n */\nexport const TUI_DOC_CODE_EDITOR = new InjectionToken<TuiCodeEditor>(\n `[TUI_DOC_CODE_EDITOR]`,\n);\n","import {tuiCreateToken} from '@taiga-ui/cdk';\n\n/**\n * Array of default tab names\n */\nexport const TUI_DOC_DEFAULT_TABS = tuiCreateToken<readonly string[]>([]);\n","import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\n\nexport interface TuiDocIcons {\n readonly code: string;\n readonly day: string;\n readonly menu: string;\n readonly night: string;\n readonly search: string;\n}\n\nexport const TUI_DOC_DEFAULT_ICONS: TuiDocIcons = {\n search: `tuiIconSearch`,\n day: `tuiIconSun`,\n night: `tuiIconMoon`,\n code: `tuiIconCode`,\n menu: `tuiIconMenuLarge`,\n};\n\nexport const TUI_DOC_ICONS = tuiCreateToken(TUI_DOC_DEFAULT_ICONS);\n\nexport function tuiDocIconsProvider(icons: Partial<TuiDocIcons>): Provider {\n return tuiProvideOptions(TUI_DOC_ICONS, icons, TUI_DOC_DEFAULT_ICONS);\n}\n","import {tuiTryParseMarkdownCodeBlock} from '@taiga-ui/addon-doc/utils';\nimport {tuiCreateToken, TuiHandler} from '@taiga-ui/cdk';\nimport {identity} from 'rxjs';\n\n/**\n * Processes content in example\n */\nexport const TUI_DOC_EXAMPLE_CONTENT_PROCESSOR =\n tuiCreateToken<TuiHandler<Record<string, string>, Record<string, string>>>(identity);\n\n/**\n * Processes markdown in code block\n */\nexport const TUI_DOC_EXAMPLE_MARKDOWN_CODE_PROCESSOR = tuiCreateToken<\n TuiHandler<string, string[]>\n>(tuiTryParseMarkdownCodeBlock);\n","import {Provider} from '@angular/core';\nimport {tuiCreateToken} from '@taiga-ui/cdk';\n\n/**\n * Token to exclude inherited documentation properties\n */\nexport const TUI_DOC_EXCLUDED_PROPERTIES = tuiCreateToken<Set<string>>(new Set([]));\n\nexport function tuiDocExcludeProperties(properties: readonly string[]): Provider {\n return {provide: TUI_DOC_EXCLUDED_PROPERTIES, useValue: new Set(properties)};\n}\n","import {tuiCreateToken} from '@taiga-ui/cdk';\n\n/**\n * TODO: think about reorganization in @taiga-ui/i18n way\n */\n\n/**\n * tui-doc-demo i18n texts\n * Works with a tuple\n * [@string tuiMode tooltip content, @string word 'background', @string 'form value']\n */\nexport const TUI_DOC_DEMO_TEXTS = tuiCreateToken<[string, string, string]>([\n `Read more more about modes: `,\n `Background`,\n `Form value`,\n]);\n\n/**\n * tui-doc-documentation i18n texts\n * Works with a tuple\n * [\n * @string word 'argument',\n * @string word 'type',\n * @string 'name and description',\n * @string word 'value'\n * @string message for tooltip about ng-polymorpheus\n * ]\n */\nexport const TUI_DOC_DOCUMENTATION_TEXTS = tuiCreateToken<\n [string, string, string, string, string]\n>([\n `Argument`,\n `Type`,\n `Name and description`,\n `Value`,\n `Learn about our dynamic templates from `,\n]);\n\n/**\n * tui-doc-example i18n texts\n * Works with a tuple\n * [\n * @string default tab name,\n * @string link to a sample copied message text,\n * @string link to a sample copied message label\n * ]\n */\nexport const TUI_DOC_EXAMPLE_TEXTS = tuiCreateToken<[string, string, string]>([\n `Preview`,\n `Link to a sample was successfully copied`,\n `Done`,\n]);\n\nexport const TUI_DOC_MENU_TEXT = tuiCreateToken(`Menu`);\nexport const TUI_DOC_SEARCH_TEXT = tuiCreateToken(`Search`);\nexport const TUI_DOC_SEE_ALSO_TEXT = tuiCreateToken(`See also`);\nexport const TUI_DOC_SOURCE_CODE_TEXT = tuiCreateToken(`Source code`);\n","import {tuiCreateToken} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n/**\n * Main logo\n */\nexport const TUI_DOC_LOGO = tuiCreateToken<PolymorpheusContent>(``);\n","import {tuiCreateToken} from '@taiga-ui/cdk';\nimport {defer, of, timer} from 'rxjs';\nimport {switchMap} from 'rxjs/operators';\n\n/**\n * Stream that emits if loading of page is over (for example, to begin scrollIntoView)\n */\nexport const TUI_DOC_PAGE_LOADED = tuiCreateToken(\n defer(() => timer(200).pipe(switchMap(() => of(true)))),\n);\n","import {inject, InjectionToken} from '@angular/core';\nimport type {TuiDocPage} from '@taiga-ui/addon-doc/interfaces';\nimport type {TuiDocPages} from '@taiga-ui/addon-doc/types';\nimport {tuiToFlatMapPages} from '@taiga-ui/addon-doc/utils';\nimport {tuiCreateToken} from '@taiga-ui/cdk';\n\n/**\n * Documentation pages\n */\nexport const TUI_DOC_PAGES = tuiCreateToken<TuiDocPages>([]);\n\nexport const TUI_DOC_MAP_PAGES = new InjectionToken<Map<string, TuiDocPage>>(\n `[TUI_DOC_MAP_PAGES]`,\n {\n factory: () => tuiToFlatMapPages(inject(TUI_DOC_PAGES)),\n },\n);\n","import {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk';\nimport {TUI_REDUCED_MOTION} from '@taiga-ui/core';\n\n/**\n * Defines the transition animation for scroll\n */\nexport const TUI_DOC_SCROLL_BEHAVIOR = tuiCreateTokenFromFactory<ScrollBehavior>(() =>\n inject(TUI_REDUCED_MOTION) ? `auto` : `smooth`,\n);\n","import {tuiCreateToken} from '@taiga-ui/cdk';\n\n/**\n * Array of arrays of related pages\n */\nexport const TUI_DOC_SEE_ALSO = tuiCreateToken<ReadonlyArray<readonly string[]>>([]);\n","import {TuiDocSourceCodePathOptions} from '@taiga-ui/addon-doc/interfaces';\nimport {tuiCreateToken} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n/**\n * Source code link\n */\nexport const TUI_DOC_SOURCE_CODE =\n tuiCreateToken<PolymorpheusContent<TuiDocSourceCodePathOptions>>(null);\n","import {tuiCreateToken} from '@taiga-ui/cdk';\n\n/**\n * Page title prefix\n */\nexport const TUI_DOC_TITLE = tuiCreateToken(``);\n","import type {UrlTree} from '@angular/router';\nimport type {TuiStringHandler} from '@taiga-ui/cdk';\nimport {tuiCreateToken} from '@taiga-ui/cdk';\n\nexport const TUI_DOC_URL_STATE_HANDLER =\n tuiCreateToken<TuiStringHandler<UrlTree>>(String);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["tuiCreateToken","InjectionToken","tuiProvideOptions","identity","tuiTryParseMarkdownCodeBlock","defer","timer","switchMap","of","tuiToFlatMapPages","inject","tuiCreateTokenFromFactory","TUI_REDUCED_MOTION"],"mappings":";;;;;;IAGA;;IAEG;QACU,oBAAoB,GAC7BA,kBAAc,CAAsD,EAAE;;ICJ1E;;IAEG;QACU,mBAAmB,GAAG,IAAIC,mBAAc,CACjD,uBAAuB;;ICL3B;;IAEG;QACU,oBAAoB,GAAGD,kBAAc,CAAoB,EAAE;;ACM3D,QAAA,qBAAqB,GAAgB;IAC9C,IAAA,MAAM,EAAE,eAAe;IACvB,IAAA,GAAG,EAAE,YAAY;IACjB,IAAA,KAAK,EAAE,aAAa;IACpB,IAAA,IAAI,EAAE,aAAa;IACnB,IAAA,IAAI,EAAE,kBAAkB;MAC1B;QAEW,aAAa,GAAGA,kBAAc,CAAC,qBAAqB,EAAE;IAE7D,SAAU,mBAAmB,CAAC,KAA2B,EAAA;QAC3D,OAAOE,qBAAiB,CAAC,aAAa,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC;IAC1E;;ICnBA;;IAEG;QACU,iCAAiC,GAC1CF,kBAAc,CAA6DG,aAAQ,EAAE;IAEzF;;IAEG;QACU,uCAAuC,GAAGH,kBAAc,CAEnEI,kCAA4B;;ICZ9B;;IAEG;AACI,QAAM,2BAA2B,GAAGJ,kBAAc,CAAc,IAAI,GAAG,CAAC,EAAE,CAAC,EAAE;IAE9E,SAAU,uBAAuB,CAAC,UAA6B,EAAA;IACjE,IAAA,OAAO,EAAC,OAAO,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,GAAG,CAAC,UAAU,CAAC,EAAC,CAAC;IACjF;;ICRA;;IAEG;IAEH;;;;IAIG;AACI,QAAM,kBAAkB,GAAGA,kBAAc,CAA2B;QACvE,8BAA8B;QAC9B,YAAY;QACZ,YAAY;IACf,CAAA,EAAE;IAEH;;;;;;;;;;IAUG;AACI,QAAM,2BAA2B,GAAGA,kBAAc,CAEvD;QACE,UAAU;QACV,MAAM;QACN,sBAAsB;QACtB,OAAO;QACP,yCAAyC;IAC5C,CAAA,EAAE;IAEH;;;;;;;;IAQG;AACI,QAAM,qBAAqB,GAAGA,kBAAc,CAA2B;QAC1E,SAAS;QACT,0CAA0C;QAC1C,MAAM;IACT,CAAA,EAAE;QAEU,iBAAiB,GAAGA,kBAAc,CAAC,MAAM,EAAE;QAC3C,mBAAmB,GAAGA,kBAAc,CAAC,QAAQ,EAAE;QAC/C,qBAAqB,GAAGA,kBAAc,CAAC,UAAU,EAAE;QACnD,wBAAwB,GAAGA,kBAAc,CAAC,aAAa;;ICrDpE;;IAEG;QACU,YAAY,GAAGA,kBAAc,CAAsB,EAAE;;ICFlE;;IAEG;AACI,QAAM,mBAAmB,GAAGA,kBAAc,CAC7CK,UAAK,CAAC,YAAA,EAAM,OAAAC,UAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAACC,mBAAS,CAAC,YAAA,EAAM,OAAAC,OAAE,CAAC,IAAI,CAAC,CAAR,EAAQ,CAAC,CAAC,CAAA,EAAA,CAAC;;ICF3D;;IAEG;QACU,aAAa,GAAGR,kBAAc,CAAc,EAAE,EAAE;QAEhD,iBAAiB,GAAG,IAAIC,mBAAc,CAC/C,qBAAqB,EACrB;QACI,OAAO,EAAE,YAAM,EAAA,OAAAQ,uBAAiB,CAACC,WAAM,CAAC,aAAa,CAAC,CAAC,CAAA,EAAA;IAC1D,CAAA;;ICXL;;IAEG;QACU,uBAAuB,GAAGC,6BAAyB,CAAiB,YAAA,EAC7E,OAAAD,WAAM,CAACE,yBAAkB,CAAC,GAAG,MAAM,GAAG,QAAQ,CAAA,EAAA;;ICNlD;;IAEG;QACU,gBAAgB,GAAGZ,kBAAc,CAAmC,EAAE;;ICDnF;;IAEG;QACU,mBAAmB,GAC5BA,kBAAc,CAAmD,IAAI;;ICNzE;;IAEG;QACU,aAAa,GAAGA,kBAAc,CAAC,EAAE;;QCDjC,yBAAyB,GAClCA,kBAAc,CAA4B,MAAM;;ICLpD;;IAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -85,7 +85,7 @@ export class TuiDocExampleComponent {
|
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
TuiDocExampleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDocExampleComponent, deps: [{ token: Clipboard }, { token: TuiAlertService }, { token: LOCATION }, { token: TUI_COPY_TEXTS }, { token: TUI_DOC_EXAMPLE_TEXTS }, { token: TUI_DOC_CODE_EDITOR, optional: true }, { token: TUI_DOC_EXAMPLE_CONTENT_PROCESSOR }, { token: TUI_IS_E2E }, { token: TUI_DOC_CODE_ACTIONS }, { token: Router }, { token: ActivatedRoute }, { token: NgLocation }, { token: TUI_DOC_EXAMPLE_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
|
|
88
|
-
TuiDocExampleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiDocExampleComponent, selector: "tui-doc-example", inputs: { id: "id", heading: "heading", description: "description", content: "content", fullsize: "fullsize", componentName: "componentName" }, host: { properties: { "class._fullsize": "this.fullsize" } }, ngImport: i0, template: "<h3\n *ngIf=\"heading\"\n class=\"t-title\"\n>\n <span\n *polymorpheusOutlet=\"heading | tuiDocExampleCapitalize as text\"\n [textContent]=\"text\"\n ></span>\n <button\n *ngIf=\"id\"\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-link-icon\"\n [icon]=\"options.linkIcon\"\n [title]=\"copy$ | async\"\n (click)=\"copyExampleLink()\"\n ></button>\n</h3>\n<h4\n *ngIf=\"description\"\n class=\"t-description\"\n>\n <ng-container *polymorpheusOutlet=\"description | tuiDocExampleCapitalize as text\">\n {{ text }}\n </ng-container>\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 *tuiItem\n tuiTab\n >\n <ng-container *polymorpheusOutlet=\"getTabTitle(tab) as text\">\n {{ text }}\n </ng-container>\n </button>\n </ng-container>\n </tui-tabs-with-more>\n\n <tui-loader\n *ngIf=\"files | tuiMapper: visible\"\n size=\"xs\"\n [overlay]=\"true\"\n [showLoader]=\"!!(loading$ | async)\"\n (click)=\"edit(files)\"\n >\n <ng-container *ngIf=\"codeEditor?.content as content; else defaultEditContent\">\n <ng-container *polymorpheusOutlet=\"content as editContent\">\n {{ editContent }}\n </ng-container>\n </ng-container>\n\n <ng-template #defaultEditContent>\n <button\n appearance=\"flat\"\n size=\"s\"\n tuiButton\n type=\"button\"\n >\n Edit on {{ codeEditor!.name }}\n </button>\n </ng-template>\n </tui-loader>\n </div>\n\n <div\n *ngFor=\"let tab of tabs; let index = index\"\n class=\"t-content\"\n [class.t-content_animated]=\"!isE2E\"\n [class.t-content_visible]=\"activeItemIndex === index\"\n >\n <ng-container\n *ngIf=\"index === defaultTabIndex; else anotherTab\"\n [ngTemplateOutlet]=\"preview\"\n ></ng-container>\n <ng-template #anotherTab>\n <ng-container\n [ngTemplateOutlet]=\"codeSection\"\n [ngTemplateOutletContext]=\"{$implicit: files[tabs[activeItemIndex]] || ''}\"\n ></ng-container>\n </ng-template>\n </div>\n </ng-container>\n</div>\n\n<ng-template #preview>\n <div\n automation-id=\"tui-doc-example\"\n class=\"t-demo\"\n >\n <ng-content></ng-content>\n </div>\n</ng-template>\n\n<ng-template\n #codeSection\n let-code\n>\n <section class=\"t-code-actions\">\n <ng-container *ngFor=\"let action of codeActions\">\n <ng-container *polymorpheusOutlet=\"action as text; context: {$implicit: code}\">\n {{ text }}\n </ng-container>\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", 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:normal;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 #0000001a}: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;max-width:100%;box-sizing:border-box;overflow-x:auto}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .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}:host:not(._fullsize) .t-demo{width:-webkit-min-content;width:min-content;min-width:20rem}.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}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i2.TuiTabsWithMoreComponent, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: ["moreContent", "dropdownContent", "underline", "activeItemIndex", "itemsLimit"], outputs: ["activeItemIndexChange"] }, { type: i2.TuiTabComponent, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]" }, { type: i1.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { type: i3.TuiDocCopyComponent, selector: "tui-doc-copy" }, { type: i4.TuiDocCodeComponent, selector: "tui-doc-code", inputs: ["filename", "code"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.TuiItemDirective, selector: "[tuiItem]" }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i8.CdkCopyToClipboard, selector: "[cdkCopyToClipboard]", inputs: ["cdkCopyToClipboard", "cdkCopyToClipboardAttempts"], outputs: ["cdkCopyToClipboardCopied"] }], pipes: { "tuiDocExampleCapitalize": i9.TuiDocExampleCapitalizePipe, "async": i5.AsyncPipe, "tuiDocExampleGetTabs": i10.TuiDocExampleGetTabsPipe, "tuiMapper": i7.TuiMapperPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
88
|
+
TuiDocExampleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiDocExampleComponent, selector: "tui-doc-example", inputs: { id: "id", heading: "heading", description: "description", content: "content", fullsize: "fullsize", componentName: "componentName" }, host: { properties: { "class._fullsize": "this.fullsize" } }, ngImport: i0, template: "<h3\n *ngIf=\"heading\"\n class=\"t-title\"\n>\n <span\n *polymorpheusOutlet=\"heading | tuiDocExampleCapitalize as text\"\n [textContent]=\"text\"\n ></span>\n <button\n *ngIf=\"id\"\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-link-icon\"\n [icon]=\"options.linkIcon\"\n [title]=\"copy$ | async\"\n (click)=\"copyExampleLink()\"\n ></button>\n</h3>\n<h4\n *ngIf=\"description\"\n class=\"t-description\"\n>\n <ng-container *polymorpheusOutlet=\"description | tuiDocExampleCapitalize as text\">\n {{ text }}\n </ng-container>\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\n *ngIf=\"tabs.length > 1\"\n class=\"t-tabs-wrapper\"\n >\n <tui-tabs-with-more\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabs\">\n <button\n *tuiItem\n tuiTab\n >\n <ng-container *polymorpheusOutlet=\"getTabTitle(tab) as text\">\n {{ text }}\n </ng-container>\n </button>\n </ng-container>\n </tui-tabs-with-more>\n\n <tui-loader\n *ngIf=\"files | tuiMapper: visible\"\n size=\"xs\"\n [overlay]=\"true\"\n [showLoader]=\"!!(loading$ | async)\"\n (click)=\"edit(files)\"\n >\n <ng-container *ngIf=\"codeEditor?.content as content; else defaultEditContent\">\n <ng-container *polymorpheusOutlet=\"content as editContent\">\n {{ editContent }}\n </ng-container>\n </ng-container>\n\n <ng-template #defaultEditContent>\n <button\n appearance=\"flat\"\n size=\"s\"\n tuiButton\n type=\"button\"\n >\n Edit on {{ codeEditor!.name }}\n </button>\n </ng-template>\n </tui-loader>\n </div>\n\n <div\n *ngFor=\"let tab of tabs; let index = index\"\n class=\"t-content\"\n [class.t-content_animated]=\"!isE2E\"\n [class.t-content_visible]=\"activeItemIndex === index\"\n >\n <ng-container\n *ngIf=\"index === defaultTabIndex; else anotherTab\"\n [ngTemplateOutlet]=\"preview\"\n ></ng-container>\n <ng-template #anotherTab>\n <ng-container\n [ngTemplateOutlet]=\"codeSection\"\n [ngTemplateOutletContext]=\"{$implicit: files[tabs[activeItemIndex]] || ''}\"\n ></ng-container>\n </ng-template>\n </div>\n </ng-container>\n</div>\n\n<ng-template #preview>\n <div\n automation-id=\"tui-doc-example\"\n class=\"t-demo\"\n >\n <ng-content></ng-content>\n </div>\n</ng-template>\n\n<ng-template\n #codeSection\n let-code\n>\n <section class=\"t-code-actions\">\n <ng-container *ngFor=\"let action of codeActions\">\n <ng-container *polymorpheusOutlet=\"action as text; context: {$implicit: code}\">\n {{ text }}\n </ng-container>\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", 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:normal;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 #0000001a}: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;max-width:100%;box-sizing:border-box;overflow-x:auto}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .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}:host:not(._fullsize) .t-demo{width:-webkit-min-content;width:min-content;min-width:20rem}.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}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i2.TuiTabsWithMoreComponent, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: ["moreContent", "dropdownContent", "underline", "activeItemIndex", "itemsLimit"], outputs: ["activeItemIndexChange"] }, { type: i2.TuiTabComponent, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]" }, { type: i1.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { type: i3.TuiDocCopyComponent, selector: "tui-doc-copy" }, { type: i4.TuiDocCodeComponent, selector: "tui-doc-code", inputs: ["filename", "code"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.TuiItemDirective, selector: "[tuiItem]" }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i8.CdkCopyToClipboard, selector: "[cdkCopyToClipboard]", inputs: ["cdkCopyToClipboard", "cdkCopyToClipboardAttempts"], outputs: ["cdkCopyToClipboardCopied"] }], pipes: { "tuiDocExampleCapitalize": i9.TuiDocExampleCapitalizePipe, "async": i5.AsyncPipe, "tuiDocExampleGetTabs": i10.TuiDocExampleGetTabsPipe, "tuiMapper": i7.TuiMapperPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
89
89
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDocExampleComponent, decorators: [{
|
|
90
90
|
type: Component,
|
|
91
91
|
args: [{
|
|
@@ -151,4 +151,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
151
151
|
}], componentName: [{
|
|
152
152
|
type: Input
|
|
153
153
|
}] } });
|
|
154
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9leGFtcGxlL2V4YW1wbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvZXhhbXBsZS9leGFtcGxlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBQyxRQUFRLElBQUksVUFBVSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxjQUFjLEVBQUUsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRTdDLE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLGlDQUFpQyxFQUNqQyxxQkFBcUIsR0FDeEIsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsVUFBVSxFQUFxQyxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU3QyxPQUFPLEVBQUMsZUFBZSxFQUFjLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMxRCxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLE9B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bnRlbnQiOlsiaW1wb3J0IHtDbGlwYm9hcmR9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jbGlwYm9hcmQnO1xuaW1wb3J0IHtMb2NhdGlvbiBhcyBOZ0xvY2F0aW9ufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7TE9DQVRJT059IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtUdWlDb2RlRWRpdG9yLCBUdWlEb2NFeGFtcGxlfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtcbiAgICBUVUlfRE9DX0NPREVfQUNUSU9OUyxcbiAgICBUVUlfRE9DX0NPREVfRURJVE9SLFxuICAgIFRVSV9ET0NfRVhBTVBMRV9DT05URU5UX1BST0NFU1NPUixcbiAgICBUVUlfRE9DX0VYQU1QTEVfVEVYVFMsXG59IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1kb2MvdG9rZW5zJztcbmltcG9ydCB7dHVpUmF3TG9hZFJlY29yZH0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWRvYy91dGlscyc7XG5pbXBvcnQge1RVSV9JU19FMkUsIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsIFR1aUhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlBbGVydFNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VFVJX0NPUFlfVEVYVFN9IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHN3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1RVSV9ET0NfRVhBTVBMRV9PUFRJT05TLCBUdWlEb2NFeGFtcGxlT3B0aW9uc30gZnJvbSAnLi9leGFtcGxlLm9wdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1kb2MtZXhhbXBsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V4YW1wbGUudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZXhhbXBsZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY0V4YW1wbGVDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmF3TG9hZGVyJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFR1aURvY0V4YW1wbGU+KHt9KTtcblxuICAgIEBJbnB1dCgpXG4gICAgaWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBoZWFkaW5nOiBQb2x5bW9ycGhldXNDb250ZW50O1xuXG4gICAgQElucHV0KClcbiAgICBkZXNjcmlwdGlvbjogUG9seW1vcnBoZXVzQ29udGVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGNvbnRlbnQoY29udGVudDogVHVpRG9jRXhhbXBsZSkge1xuICAgICAgICB0aGlzLnJhd0xvYWRlciQkLm5leHQoY29udGVudCk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9mdWxsc2l6ZScpXG4gICAgZnVsbHNpemUgPSB0aGlzLm9wdGlvbnMuZnVsbHNpemU7XG5cbiAgICBASW5wdXQoKVxuICAgIGNvbXBvbmVudE5hbWU6IHN0cmluZyA9IHRoaXMubG9jYXRpb24ucGF0aG5hbWUuc2xpY2UoMSk7XG5cbiAgICByZWFkb25seSBkZWZhdWx0VGFiSW5kZXggPSAwO1xuXG4gICAgcmVhZG9ubHkgZGVmYXVsdFRhYiA9IHRoaXMudGV4dHNbdGhpcy5kZWZhdWx0VGFiSW5kZXhdO1xuXG4gICAgYWN0aXZlSXRlbUluZGV4ID0gdGhpcy5kZWZhdWx0VGFiSW5kZXg7XG5cbiAgICByZWFkb25seSBjb3B5JCA9IHRoaXMuY29weVRleHRzJC5waXBlKG1hcCgoW2NvcHldKSA9PiBjb3B5KSk7XG5cbiAgICByZWFkb25seSBwcm9jZXNzb3IkOiBPYnNlcnZhYmxlPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+ID0gdGhpcy5yYXdMb2FkZXIkJC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAodHVpUmF3TG9hZFJlY29yZCksXG4gICAgICAgIG1hcCh2YWx1ZSA9PiB0aGlzLnByb2Nlc3NDb250ZW50KHZhbHVlKSksXG4gICAgKTtcblxuICAgIHJlYWRvbmx5IGxvYWRpbmckID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KENsaXBib2FyZCkgcHJpdmF0ZSByZWFkb25seSBjbGlwYm9hcmQ6IENsaXBib2FyZCxcbiAgICAgICAgQEluamVjdChUdWlBbGVydFNlcnZpY2UpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnRzOiBUdWlBbGVydFNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoTE9DQVRJT04pIHByaXZhdGUgcmVhZG9ubHkgbG9jYXRpb246IExvY2F0aW9uLFxuICAgICAgICBASW5qZWN0KFRVSV9DT1BZX1RFWFRTKSBwcml2YXRlIHJlYWRvbmx5IGNvcHlUZXh0cyQ6IE9ic2VydmFibGU8W3N0cmluZywgc3RyaW5nXT4sXG4gICAgICAgIEBJbmplY3QoVFVJX0RPQ19FWEFNUExFX1RFWFRTKSByZWFkb25seSB0ZXh0czogW3N0cmluZywgc3RyaW5nLCBzdHJpbmddLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFRVSV9ET0NfQ09ERV9FRElUT1IpXG4gICAgICAgIHJlYWRvbmx5IGNvZGVFZGl0b3I6IFR1aUNvZGVFZGl0b3IgfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9ET0NfRVhBTVBMRV9DT05URU5UX1BST0NFU1NPUilcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwcm9jZXNzQ29udGVudDogVHVpSGFuZGxlcjxcbiAgICAgICAgICAgIFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gICAgICAgICAgICBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gICAgICAgID4sXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX0UyRSkgcmVhZG9ubHkgaXNFMkU6IGJvb2xlYW4sXG4gICAgICAgIEBJbmplY3QoVFVJX0RPQ19DT0RFX0FDVElPTlMpXG4gICAgICAgIHJlYWRvbmx5IGNvZGVBY3Rpb25zOiBBcnJheTxQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8c3RyaW5nPj4+LFxuICAgICAgICBASW5qZWN0KFJvdXRlcikgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgQEluamVjdChBY3RpdmF0ZWRSb3V0ZSkgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIEBJbmplY3QoTmdMb2NhdGlvbikgcHJpdmF0ZSByZWFkb25seSBuZ0xvY2F0aW9uOiBOZ0xvY2F0aW9uLFxuICAgICAgICBASW5qZWN0KFRVSV9ET0NfRVhBTVBMRV9PUFRJT05TKSByZWFkb25seSBvcHRpb25zOiBUdWlEb2NFeGFtcGxlT3B0aW9ucyxcbiAgICApIHt9XG5cbiAgICByZWFkb25seSB2aXNpYmxlID0gKGZpbGVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogYm9vbGVhbiA9PlxuICAgICAgICBCb29sZWFuKHRoaXMuY29kZUVkaXRvciAmJiB0aGlzLm9wdGlvbnMuY29kZUVkaXRvclZpc2liaWxpdHlIYW5kbGVyKGZpbGVzKSk7XG5cbiAgICBnZXRUYWJUaXRsZShmaWxlTmFtZTogc3RyaW5nKTogUG9seW1vcnBoZXVzQ29udGVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMudGFiVGl0bGVzLmdldChmaWxlTmFtZSkgfHwgZmlsZU5hbWU7XG4gICAgfVxuXG4gICAgY29weUV4YW1wbGVMaW5rKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBoYXNoUG9zaXRpb24gPSB0aGlzLmxvY2F0aW9uLmhyZWYuaW5kZXhPZignIycpO1xuICAgICAgICBjb25zdCBjdXJyZW50VXJsID1cbiAgICAgICAgICAgIGhhc2hQb3NpdGlvbiA+IC0xXG4gICAgICAgICAgICAgICAgPyB0aGlzLmxvY2F0aW9uLmhyZWYuc2xpY2UoMCwgTWF0aC5tYXgoMCwgaGFzaFBvc2l0aW9uKSlcbiAgICAgICAgICAgICAgICA6IHRoaXMubG9jYXRpb24uaHJlZjtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7Y3VycmVudFVybH0jJHt0aGlzLmlkfWA7XG5cbiAgICAgICAgdGhpcy5zZXRGcmFnbWVudFdpdGhvdXRSZWRpcmVjdCh0aGlzLmlkKTtcbiAgICAgICAgdGhpcy5jbGlwYm9hcmQuY29weSh1cmwpO1xuICAgICAgICB0aGlzLmFsZXJ0c1xuICAgICAgICAgICAgLm9wZW4odGhpcy50ZXh0c1sxXSwge1xuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRleHRzWzJdLFxuICAgICAgICAgICAgICAgIHN0YXR1czogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBlZGl0KGZpbGVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9hZGluZyQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5jb2RlRWRpdG9yXG4gICAgICAgICAgICA/LmVkaXQodGhpcy5jb21wb25lbnROYW1lLCB0aGlzLmlkIHx8ICcnLCBmaWxlcylcbiAgICAgICAgICAgIC8vIFRPRE86IHJlcGxhY2UgbGluZXMgYmVsb3cgd2l0aCBgZmluYWxseWAgd2hlbiB3ZSBidW1wIEZpcmVmb3ggdG8gNTgrXG4gICAgICAgICAgICAvLyBUT0RPOiBBZGQgYGVzMjAxOC5wcm9taXNlYCB0byBgdHNjb25maWcuanNvbmAgPT4gYGNvbXBpbGVyT3B0aW9ucy5saWJgLlxuICAgICAgICAgICAgLnRoZW4oKCkgPT4gdGhpcy5sb2FkaW5nJC5uZXh0KGZhbHNlKSlcbiAgICAgICAgICAgIC5jYXRjaCgoKSA9PiB0aGlzLmxvYWRpbmckLm5leHQoZmFsc2UpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEZyYWdtZW50V2l0aG91dFJlZGlyZWN0KGlkOiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMucm91dGVyXG4gICAgICAgICAgICAuY3JlYXRlVXJsVHJlZShbXSwge3JlbGF0aXZlVG86IHRoaXMucm91dGUsIGZyYWdtZW50OiBpZCB8fCAnJ30pXG4gICAgICAgICAgICAudG9TdHJpbmcoKTtcblxuICAgICAgICB0aGlzLm5nTG9jYXRpb24uZ28odXJsKTtcbiAgICB9XG59XG4iLCI8aDNcbiAgICAqbmdJZj1cImhlYWRpbmdcIlxuICAgIGNsYXNzPVwidC10aXRsZVwiXG4+XG4gICAgPHNwYW5cbiAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImhlYWRpbmcgfCB0dWlEb2NFeGFtcGxlQ2FwaXRhbGl6ZSBhcyB0ZXh0XCJcbiAgICAgICAgW3RleHRDb250ZW50XT1cInRleHRcIlxuICAgID48L3NwYW4+XG4gICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cImlkXCJcbiAgICAgICAgYXBwZWFyYW5jZT1cImljb25cIlxuICAgICAgICBzaXplPVwieHNcIlxuICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInQtbGluay1pY29uXCJcbiAgICAgICAgW2ljb25dPVwib3B0aW9ucy5saW5rSWNvblwiXG4gICAgICAgIFt0aXRsZV09XCJjb3B5JCB8IGFzeW5jXCJcbiAgICAgICAgKGNsaWNrKT1cImNvcHlFeGFtcGxlTGluaygpXCJcbiAgICA+PC9idXR0b24+XG48L2gzPlxuPGg0XG4gICAgKm5nSWY9XCJkZXNjcmlwdGlvblwiXG4gICAgY2xhc3M9XCJ0LWRlc2NyaXB0aW9uXCJcbj5cbiAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJkZXNjcmlwdGlvbiB8IHR1aURvY0V4YW1wbGVDYXBpdGFsaXplIGFzIHRleHRcIj5cbiAgICAgICAge3sgdGV4dCB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuPC9oND5cblxuPGRpdlxuICAgICpuZ0lmPVwicHJvY2Vzc29yJCB8IGFzeW5jIGFzIGZpbGVzXCJcbiAgICBjbGFzcz1cInQtZXhhbXBsZVwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbGVzIHwgdHVpRG9jRXhhbXBsZUdldFRhYnM6IGRlZmF1bHRUYWIgYXMgdGFic1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidC10YWJzLXdyYXBwZXJcIj5cbiAgICAgICAgICAgIDx0dWktdGFicy13aXRoLW1vcmVcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtdGFic1wiXG4gICAgICAgICAgICAgICAgWyhhY3RpdmVJdGVtSW5kZXgpXT1cImFjdGl2ZUl0ZW1JbmRleFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYnNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKnR1aUl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aVRhYlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJnZXRUYWJUaXRsZSh0YWIpIGFzIHRleHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L3R1aS10YWJzLXdpdGgtbW9yZT5cblxuICAgICAgICAgICAgPHR1aS1sb2FkZXJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImZpbGVzIHwgdHVpTWFwcGVyOiB2aXNpYmxlXCJcbiAgICAgICAgICAgICAgICBzaXplPVwieHNcIlxuICAgICAgICAgICAgICAgIFtvdmVybGF5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtzaG93TG9hZGVyXT1cIiEhKGxvYWRpbmckIHwgYXN5bmMpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZWRpdChmaWxlcylcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2RlRWRpdG9yPy5jb250ZW50IGFzIGNvbnRlbnQ7IGVsc2UgZGVmYXVsdEVkaXRDb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImNvbnRlbnQgYXMgZWRpdENvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGVkaXRDb250ZW50IH19XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0RWRpdENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJmbGF0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEVkaXQgb24ge3sgY29kZUVkaXRvciEubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC90dWktbG9hZGVyPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYnM7IGxldCBpbmRleCA9IGluZGV4XCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1jb250ZW50XCJcbiAgICAgICAgICAgIFtjbGFzcy50LWNvbnRlbnRfYW5pbWF0ZWRdPVwiIWlzRTJFXCJcbiAgICAgICAgICAgIFtjbGFzcy50LWNvbnRlbnRfdmlzaWJsZV09XCJhY3RpdmVJdGVtSW5kZXggPT09IGluZGV4XCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaW5kZXggPT09IGRlZmF1bHRUYWJJbmRleDsgZWxzZSBhbm90aGVyVGFiXCJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwcmV2aWV3XCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjYW5vdGhlclRhYj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvZGVTZWN0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInskaW1wbGljaXQ6IGZpbGVzW3RhYnNbYWN0aXZlSXRlbUluZGV4XV0gfHwgJyd9XCJcbiAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3ByZXZpZXc+XG4gICAgPGRpdlxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWRvYy1leGFtcGxlXCJcbiAgICAgICAgY2xhc3M9XCJ0LWRlbW9cIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlXG4gICAgI2NvZGVTZWN0aW9uXG4gICAgbGV0LWNvZGVcbj5cbiAgICA8c2VjdGlvbiBjbGFzcz1cInQtY29kZS1hY3Rpb25zXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBjb2RlQWN0aW9uc1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiYWN0aW9uIGFzIHRleHQ7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGNvZGV9XCI+XG4gICAgICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8dHVpLWRvYy1jb3B5IFtjZGtDb3B5VG9DbGlwYm9hcmRdPVwiY29kZVwiPjwvdHVpLWRvYy1jb3B5PlxuICAgIDwvc2VjdGlvbj5cbiAgICA8dHVpLWRvYy1jb2RlIFtjb2RlXT1cImNvZGVcIj48L3R1aS1kb2MtY29kZT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9leGFtcGxlL2V4YW1wbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvZXhhbXBsZS9leGFtcGxlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBQyxRQUFRLElBQUksVUFBVSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxjQUFjLEVBQUUsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRTdDLE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLGlDQUFpQyxFQUNqQyxxQkFBcUIsR0FDeEIsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsVUFBVSxFQUFxQyxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU3QyxPQUFPLEVBQUMsZUFBZSxFQUFjLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMxRCxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLE9B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bnRlbnQiOlsiaW1wb3J0IHtDbGlwYm9hcmR9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jbGlwYm9hcmQnO1xuaW1wb3J0IHtMb2NhdGlvbiBhcyBOZ0xvY2F0aW9ufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7TE9DQVRJT059IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtUdWlDb2RlRWRpdG9yLCBUdWlEb2NFeGFtcGxlfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtcbiAgICBUVUlfRE9DX0NPREVfQUNUSU9OUyxcbiAgICBUVUlfRE9DX0NPREVfRURJVE9SLFxuICAgIFRVSV9ET0NfRVhBTVBMRV9DT05URU5UX1BST0NFU1NPUixcbiAgICBUVUlfRE9DX0VYQU1QTEVfVEVYVFMsXG59IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1kb2MvdG9rZW5zJztcbmltcG9ydCB7dHVpUmF3TG9hZFJlY29yZH0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWRvYy91dGlscyc7XG5pbXBvcnQge1RVSV9JU19FMkUsIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsIFR1aUhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlBbGVydFNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VFVJX0NPUFlfVEVYVFN9IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHN3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1RVSV9ET0NfRVhBTVBMRV9PUFRJT05TLCBUdWlEb2NFeGFtcGxlT3B0aW9uc30gZnJvbSAnLi9leGFtcGxlLm9wdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1kb2MtZXhhbXBsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V4YW1wbGUudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZXhhbXBsZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY0V4YW1wbGVDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmF3TG9hZGVyJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFR1aURvY0V4YW1wbGU+KHt9KTtcblxuICAgIEBJbnB1dCgpXG4gICAgaWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBoZWFkaW5nOiBQb2x5bW9ycGhldXNDb250ZW50O1xuXG4gICAgQElucHV0KClcbiAgICBkZXNjcmlwdGlvbjogUG9seW1vcnBoZXVzQ29udGVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGNvbnRlbnQoY29udGVudDogVHVpRG9jRXhhbXBsZSkge1xuICAgICAgICB0aGlzLnJhd0xvYWRlciQkLm5leHQoY29udGVudCk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9mdWxsc2l6ZScpXG4gICAgZnVsbHNpemUgPSB0aGlzLm9wdGlvbnMuZnVsbHNpemU7XG5cbiAgICBASW5wdXQoKVxuICAgIGNvbXBvbmVudE5hbWU6IHN0cmluZyA9IHRoaXMubG9jYXRpb24ucGF0aG5hbWUuc2xpY2UoMSk7XG5cbiAgICByZWFkb25seSBkZWZhdWx0VGFiSW5kZXggPSAwO1xuXG4gICAgcmVhZG9ubHkgZGVmYXVsdFRhYiA9IHRoaXMudGV4dHNbdGhpcy5kZWZhdWx0VGFiSW5kZXhdO1xuXG4gICAgYWN0aXZlSXRlbUluZGV4ID0gdGhpcy5kZWZhdWx0VGFiSW5kZXg7XG5cbiAgICByZWFkb25seSBjb3B5JCA9IHRoaXMuY29weVRleHRzJC5waXBlKG1hcCgoW2NvcHldKSA9PiBjb3B5KSk7XG5cbiAgICByZWFkb25seSBwcm9jZXNzb3IkOiBPYnNlcnZhYmxlPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+ID0gdGhpcy5yYXdMb2FkZXIkJC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAodHVpUmF3TG9hZFJlY29yZCksXG4gICAgICAgIG1hcCh2YWx1ZSA9PiB0aGlzLnByb2Nlc3NDb250ZW50KHZhbHVlKSksXG4gICAgKTtcblxuICAgIHJlYWRvbmx5IGxvYWRpbmckID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KENsaXBib2FyZCkgcHJpdmF0ZSByZWFkb25seSBjbGlwYm9hcmQ6IENsaXBib2FyZCxcbiAgICAgICAgQEluamVjdChUdWlBbGVydFNlcnZpY2UpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnRzOiBUdWlBbGVydFNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoTE9DQVRJT04pIHByaXZhdGUgcmVhZG9ubHkgbG9jYXRpb246IExvY2F0aW9uLFxuICAgICAgICBASW5qZWN0KFRVSV9DT1BZX1RFWFRTKSBwcml2YXRlIHJlYWRvbmx5IGNvcHlUZXh0cyQ6IE9ic2VydmFibGU8W3N0cmluZywgc3RyaW5nXT4sXG4gICAgICAgIEBJbmplY3QoVFVJX0RPQ19FWEFNUExFX1RFWFRTKSByZWFkb25seSB0ZXh0czogW3N0cmluZywgc3RyaW5nLCBzdHJpbmddLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFRVSV9ET0NfQ09ERV9FRElUT1IpXG4gICAgICAgIHJlYWRvbmx5IGNvZGVFZGl0b3I6IFR1aUNvZGVFZGl0b3IgfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9ET0NfRVhBTVBMRV9DT05URU5UX1BST0NFU1NPUilcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwcm9jZXNzQ29udGVudDogVHVpSGFuZGxlcjxcbiAgICAgICAgICAgIFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gICAgICAgICAgICBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gICAgICAgID4sXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX0UyRSkgcmVhZG9ubHkgaXNFMkU6IGJvb2xlYW4sXG4gICAgICAgIEBJbmplY3QoVFVJX0RPQ19DT0RFX0FDVElPTlMpXG4gICAgICAgIHJlYWRvbmx5IGNvZGVBY3Rpb25zOiBBcnJheTxQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8c3RyaW5nPj4+LFxuICAgICAgICBASW5qZWN0KFJvdXRlcikgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgQEluamVjdChBY3RpdmF0ZWRSb3V0ZSkgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIEBJbmplY3QoTmdMb2NhdGlvbikgcHJpdmF0ZSByZWFkb25seSBuZ0xvY2F0aW9uOiBOZ0xvY2F0aW9uLFxuICAgICAgICBASW5qZWN0KFRVSV9ET0NfRVhBTVBMRV9PUFRJT05TKSByZWFkb25seSBvcHRpb25zOiBUdWlEb2NFeGFtcGxlT3B0aW9ucyxcbiAgICApIHt9XG5cbiAgICByZWFkb25seSB2aXNpYmxlID0gKGZpbGVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogYm9vbGVhbiA9PlxuICAgICAgICBCb29sZWFuKHRoaXMuY29kZUVkaXRvciAmJiB0aGlzLm9wdGlvbnMuY29kZUVkaXRvclZpc2liaWxpdHlIYW5kbGVyKGZpbGVzKSk7XG5cbiAgICBnZXRUYWJUaXRsZShmaWxlTmFtZTogc3RyaW5nKTogUG9seW1vcnBoZXVzQ29udGVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMudGFiVGl0bGVzLmdldChmaWxlTmFtZSkgfHwgZmlsZU5hbWU7XG4gICAgfVxuXG4gICAgY29weUV4YW1wbGVMaW5rKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBoYXNoUG9zaXRpb24gPSB0aGlzLmxvY2F0aW9uLmhyZWYuaW5kZXhPZignIycpO1xuICAgICAgICBjb25zdCBjdXJyZW50VXJsID1cbiAgICAgICAgICAgIGhhc2hQb3NpdGlvbiA+IC0xXG4gICAgICAgICAgICAgICAgPyB0aGlzLmxvY2F0aW9uLmhyZWYuc2xpY2UoMCwgTWF0aC5tYXgoMCwgaGFzaFBvc2l0aW9uKSlcbiAgICAgICAgICAgICAgICA6IHRoaXMubG9jYXRpb24uaHJlZjtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7Y3VycmVudFVybH0jJHt0aGlzLmlkfWA7XG5cbiAgICAgICAgdGhpcy5zZXRGcmFnbWVudFdpdGhvdXRSZWRpcmVjdCh0aGlzLmlkKTtcbiAgICAgICAgdGhpcy5jbGlwYm9hcmQuY29weSh1cmwpO1xuICAgICAgICB0aGlzLmFsZXJ0c1xuICAgICAgICAgICAgLm9wZW4odGhpcy50ZXh0c1sxXSwge1xuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRleHRzWzJdLFxuICAgICAgICAgICAgICAgIHN0YXR1czogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBlZGl0KGZpbGVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9hZGluZyQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5jb2RlRWRpdG9yXG4gICAgICAgICAgICA/LmVkaXQodGhpcy5jb21wb25lbnROYW1lLCB0aGlzLmlkIHx8ICcnLCBmaWxlcylcbiAgICAgICAgICAgIC8vIFRPRE86IHJlcGxhY2UgbGluZXMgYmVsb3cgd2l0aCBgZmluYWxseWAgd2hlbiB3ZSBidW1wIEZpcmVmb3ggdG8gNTgrXG4gICAgICAgICAgICAvLyBUT0RPOiBBZGQgYGVzMjAxOC5wcm9taXNlYCB0byBgdHNjb25maWcuanNvbmAgPT4gYGNvbXBpbGVyT3B0aW9ucy5saWJgLlxuICAgICAgICAgICAgLnRoZW4oKCkgPT4gdGhpcy5sb2FkaW5nJC5uZXh0KGZhbHNlKSlcbiAgICAgICAgICAgIC5jYXRjaCgoKSA9PiB0aGlzLmxvYWRpbmckLm5leHQoZmFsc2UpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEZyYWdtZW50V2l0aG91dFJlZGlyZWN0KGlkOiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMucm91dGVyXG4gICAgICAgICAgICAuY3JlYXRlVXJsVHJlZShbXSwge3JlbGF0aXZlVG86IHRoaXMucm91dGUsIGZyYWdtZW50OiBpZCB8fCAnJ30pXG4gICAgICAgICAgICAudG9TdHJpbmcoKTtcblxuICAgICAgICB0aGlzLm5nTG9jYXRpb24uZ28odXJsKTtcbiAgICB9XG59XG4iLCI8aDNcbiAgICAqbmdJZj1cImhlYWRpbmdcIlxuICAgIGNsYXNzPVwidC10aXRsZVwiXG4+XG4gICAgPHNwYW5cbiAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImhlYWRpbmcgfCB0dWlEb2NFeGFtcGxlQ2FwaXRhbGl6ZSBhcyB0ZXh0XCJcbiAgICAgICAgW3RleHRDb250ZW50XT1cInRleHRcIlxuICAgID48L3NwYW4+XG4gICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cImlkXCJcbiAgICAgICAgYXBwZWFyYW5jZT1cImljb25cIlxuICAgICAgICBzaXplPVwieHNcIlxuICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInQtbGluay1pY29uXCJcbiAgICAgICAgW2ljb25dPVwib3B0aW9ucy5saW5rSWNvblwiXG4gICAgICAgIFt0aXRsZV09XCJjb3B5JCB8IGFzeW5jXCJcbiAgICAgICAgKGNsaWNrKT1cImNvcHlFeGFtcGxlTGluaygpXCJcbiAgICA+PC9idXR0b24+XG48L2gzPlxuPGg0XG4gICAgKm5nSWY9XCJkZXNjcmlwdGlvblwiXG4gICAgY2xhc3M9XCJ0LWRlc2NyaXB0aW9uXCJcbj5cbiAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJkZXNjcmlwdGlvbiB8IHR1aURvY0V4YW1wbGVDYXBpdGFsaXplIGFzIHRleHRcIj5cbiAgICAgICAge3sgdGV4dCB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuPC9oND5cblxuPGRpdlxuICAgICpuZ0lmPVwicHJvY2Vzc29yJCB8IGFzeW5jIGFzIGZpbGVzXCJcbiAgICBjbGFzcz1cInQtZXhhbXBsZVwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbGVzIHwgdHVpRG9jRXhhbXBsZUdldFRhYnM6IGRlZmF1bHRUYWIgYXMgdGFic1wiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cInRhYnMubGVuZ3RoID4gMVwiXG4gICAgICAgICAgICBjbGFzcz1cInQtdGFicy13cmFwcGVyXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHR1aS10YWJzLXdpdGgtbW9yZVxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC10YWJzXCJcbiAgICAgICAgICAgICAgICBbKGFjdGl2ZUl0ZW1JbmRleCldPVwiYWN0aXZlSXRlbUluZGV4XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFic1wiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAqdHVpSXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpVGFiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImdldFRhYlRpdGxlKHRhYikgYXMgdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvdHVpLXRhYnMtd2l0aC1tb3JlPlxuXG4gICAgICAgICAgICA8dHVpLWxvYWRlclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZmlsZXMgfCB0dWlNYXBwZXI6IHZpc2libGVcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJ4c1wiXG4gICAgICAgICAgICAgICAgW292ZXJsYXldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW3Nob3dMb2FkZXJdPVwiISEobG9hZGluZyQgfCBhc3luYylcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJlZGl0KGZpbGVzKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvZGVFZGl0b3I/LmNvbnRlbnQgYXMgY29udGVudDsgZWxzZSBkZWZhdWx0RWRpdENvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY29udGVudCBhcyBlZGl0Q29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgZWRpdENvbnRlbnQgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRFZGl0Q29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cImZsYXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgRWRpdCBvbiB7eyBjb2RlRWRpdG9yIS5uYW1lIH19XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L3R1aS1sb2FkZXI+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFiczsgbGV0IGluZGV4ID0gaW5kZXhcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWNvbnRlbnRcIlxuICAgICAgICAgICAgW2NsYXNzLnQtY29udGVudF9hbmltYXRlZF09XCIhaXNFMkVcIlxuICAgICAgICAgICAgW2NsYXNzLnQtY29udGVudF92aXNpYmxlXT1cImFjdGl2ZUl0ZW1JbmRleCA9PT0gaW5kZXhcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpbmRleCA9PT0gZGVmYXVsdFRhYkluZGV4OyBlbHNlIGFub3RoZXJUYWJcIlxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInByZXZpZXdcIlxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNhbm90aGVyVGFiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29kZVNlY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyRpbXBsaWNpdDogZmlsZXNbdGFic1thY3RpdmVJdGVtSW5kZXhdXSB8fCAnJ31cIlxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjcHJldmlldz5cbiAgICA8ZGl2XG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktZG9jLWV4YW1wbGVcIlxuICAgICAgICBjbGFzcz1cInQtZGVtb1wiXG4gICAgPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGVcbiAgICAjY29kZVNlY3Rpb25cbiAgICBsZXQtY29kZVxuPlxuICAgIDxzZWN0aW9uIGNsYXNzPVwidC1jb2RlLWFjdGlvbnNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGNvZGVBY3Rpb25zXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJhY3Rpb24gYXMgdGV4dDsgY29udGV4dDogeyRpbXBsaWNpdDogY29kZX1cIj5cbiAgICAgICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDx0dWktZG9jLWNvcHkgW2Nka0NvcHlUb0NsaXBib2FyZF09XCJjb2RlXCI+PC90dWktZG9jLWNvcHk+XG4gICAgPC9zZWN0aW9uPlxuICAgIDx0dWktZG9jLWNvZGUgW2NvZGVdPVwiY29kZVwiPjwvdHVpLWRvYy1jb2RlPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { inject } from '@angular/core';
|
|
2
|
+
import { tuiCreateTokenFromFactory } from '@taiga-ui/cdk';
|
|
3
|
+
import { TUI_REDUCED_MOTION } from '@taiga-ui/core';
|
|
2
4
|
/**
|
|
3
5
|
* Defines the transition animation for scroll
|
|
4
6
|
*/
|
|
5
|
-
export const TUI_DOC_SCROLL_BEHAVIOR =
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
export const TUI_DOC_SCROLL_BEHAVIOR = tuiCreateTokenFromFactory(() => inject(TUI_REDUCED_MOTION) ? `auto` : `smooth`);
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWJlaGF2aW9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL3Rva2Vucy9zY3JvbGwtYmVoYXZpb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyQyxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyx5QkFBeUIsQ0FBaUIsR0FBRyxFQUFFLENBQ2xGLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FDakQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9SRURVQ0VEX01PVElPTn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuXG4vKipcbiAqIERlZmluZXMgdGhlIHRyYW5zaXRpb24gYW5pbWF0aW9uIGZvciBzY3JvbGxcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9ET0NfU0NST0xMX0JFSEFWSU9SID0gdHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeTxTY3JvbGxCZWhhdmlvcj4oKCkgPT5cbiAgICBpbmplY3QoVFVJX1JFRFVDRURfTU9USU9OKSA/IGBhdXRvYCA6IGBzbW9vdGhgLFxuKTtcbiJdfQ==
|
|
@@ -963,7 +963,7 @@ class TuiDocExampleComponent {
|
|
|
963
963
|
}
|
|
964
964
|
}
|
|
965
965
|
TuiDocExampleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDocExampleComponent, deps: [{ token: Clipboard }, { token: TuiAlertService }, { token: LOCATION }, { token: TUI_COPY_TEXTS }, { token: TUI_DOC_EXAMPLE_TEXTS }, { token: TUI_DOC_CODE_EDITOR, optional: true }, { token: TUI_DOC_EXAMPLE_CONTENT_PROCESSOR }, { token: TUI_IS_E2E }, { token: TUI_DOC_CODE_ACTIONS }, { token: Router }, { token: ActivatedRoute }, { token: Location$1 }, { token: TUI_DOC_EXAMPLE_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
|
|
966
|
-
TuiDocExampleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiDocExampleComponent, selector: "tui-doc-example", inputs: { id: "id", heading: "heading", description: "description", content: "content", fullsize: "fullsize", componentName: "componentName" }, host: { properties: { "class._fullsize": "this.fullsize" } }, ngImport: i0, template: "<h3\n *ngIf=\"heading\"\n class=\"t-title\"\n>\n <span\n *polymorpheusOutlet=\"heading | tuiDocExampleCapitalize as text\"\n [textContent]=\"text\"\n ></span>\n <button\n *ngIf=\"id\"\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-link-icon\"\n [icon]=\"options.linkIcon\"\n [title]=\"copy$ | async\"\n (click)=\"copyExampleLink()\"\n ></button>\n</h3>\n<h4\n *ngIf=\"description\"\n class=\"t-description\"\n>\n <ng-container *polymorpheusOutlet=\"description | tuiDocExampleCapitalize as text\">\n {{ text }}\n </ng-container>\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 *tuiItem\n tuiTab\n >\n <ng-container *polymorpheusOutlet=\"getTabTitle(tab) as text\">\n {{ text }}\n </ng-container>\n </button>\n </ng-container>\n </tui-tabs-with-more>\n\n <tui-loader\n *ngIf=\"files | tuiMapper: visible\"\n size=\"xs\"\n [overlay]=\"true\"\n [showLoader]=\"!!(loading$ | async)\"\n (click)=\"edit(files)\"\n >\n <ng-container *ngIf=\"codeEditor?.content as content; else defaultEditContent\">\n <ng-container *polymorpheusOutlet=\"content as editContent\">\n {{ editContent }}\n </ng-container>\n </ng-container>\n\n <ng-template #defaultEditContent>\n <button\n appearance=\"flat\"\n size=\"s\"\n tuiButton\n type=\"button\"\n >\n Edit on {{ codeEditor!.name }}\n </button>\n </ng-template>\n </tui-loader>\n </div>\n\n <div\n *ngFor=\"let tab of tabs; let index = index\"\n class=\"t-content\"\n [class.t-content_animated]=\"!isE2E\"\n [class.t-content_visible]=\"activeItemIndex === index\"\n >\n <ng-container\n *ngIf=\"index === defaultTabIndex; else anotherTab\"\n [ngTemplateOutlet]=\"preview\"\n ></ng-container>\n <ng-template #anotherTab>\n <ng-container\n [ngTemplateOutlet]=\"codeSection\"\n [ngTemplateOutletContext]=\"{$implicit: files[tabs[activeItemIndex]] || ''}\"\n ></ng-container>\n </ng-template>\n </div>\n </ng-container>\n</div>\n\n<ng-template #preview>\n <div\n automation-id=\"tui-doc-example\"\n class=\"t-demo\"\n >\n <ng-content></ng-content>\n </div>\n</ng-template>\n\n<ng-template\n #codeSection\n let-code\n>\n <section class=\"t-code-actions\">\n <ng-container *ngFor=\"let action of codeActions\">\n <ng-container *polymorpheusOutlet=\"action as text; context: {$implicit: code}\">\n {{ text }}\n </ng-container>\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", 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:normal;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 #0000001a}: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;max-width:100%;box-sizing:border-box;overflow-x:auto}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .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}:host:not(._fullsize) .t-demo{width:-webkit-min-content;width:min-content;min-width:20rem}.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}\n"], components: [{ type: i2$1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i1.TuiTabsWithMoreComponent, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: ["moreContent", "dropdownContent", "underline", "activeItemIndex", "itemsLimit"], outputs: ["activeItemIndexChange"] }, { type: i1.TuiTabComponent, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]" }, { type: i2$1.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { type: TuiDocCopyComponent, selector: "tui-doc-copy" }, { type: TuiDocCodeComponent, selector: "tui-doc-code", inputs: ["filename", "code"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6$2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6$1.TuiItemDirective, selector: "[tuiItem]" }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i8.CdkCopyToClipboard, selector: "[cdkCopyToClipboard]", inputs: ["cdkCopyToClipboard", "cdkCopyToClipboardAttempts"], outputs: ["cdkCopyToClipboardCopied"] }], pipes: { "tuiDocExampleCapitalize": TuiDocExampleCapitalizePipe, "async": i4.AsyncPipe, "tuiDocExampleGetTabs": TuiDocExampleGetTabsPipe, "tuiMapper": i6$1.TuiMapperPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
966
|
+
TuiDocExampleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiDocExampleComponent, selector: "tui-doc-example", inputs: { id: "id", heading: "heading", description: "description", content: "content", fullsize: "fullsize", componentName: "componentName" }, host: { properties: { "class._fullsize": "this.fullsize" } }, ngImport: i0, template: "<h3\n *ngIf=\"heading\"\n class=\"t-title\"\n>\n <span\n *polymorpheusOutlet=\"heading | tuiDocExampleCapitalize as text\"\n [textContent]=\"text\"\n ></span>\n <button\n *ngIf=\"id\"\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-link-icon\"\n [icon]=\"options.linkIcon\"\n [title]=\"copy$ | async\"\n (click)=\"copyExampleLink()\"\n ></button>\n</h3>\n<h4\n *ngIf=\"description\"\n class=\"t-description\"\n>\n <ng-container *polymorpheusOutlet=\"description | tuiDocExampleCapitalize as text\">\n {{ text }}\n </ng-container>\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\n *ngIf=\"tabs.length > 1\"\n class=\"t-tabs-wrapper\"\n >\n <tui-tabs-with-more\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabs\">\n <button\n *tuiItem\n tuiTab\n >\n <ng-container *polymorpheusOutlet=\"getTabTitle(tab) as text\">\n {{ text }}\n </ng-container>\n </button>\n </ng-container>\n </tui-tabs-with-more>\n\n <tui-loader\n *ngIf=\"files | tuiMapper: visible\"\n size=\"xs\"\n [overlay]=\"true\"\n [showLoader]=\"!!(loading$ | async)\"\n (click)=\"edit(files)\"\n >\n <ng-container *ngIf=\"codeEditor?.content as content; else defaultEditContent\">\n <ng-container *polymorpheusOutlet=\"content as editContent\">\n {{ editContent }}\n </ng-container>\n </ng-container>\n\n <ng-template #defaultEditContent>\n <button\n appearance=\"flat\"\n size=\"s\"\n tuiButton\n type=\"button\"\n >\n Edit on {{ codeEditor!.name }}\n </button>\n </ng-template>\n </tui-loader>\n </div>\n\n <div\n *ngFor=\"let tab of tabs; let index = index\"\n class=\"t-content\"\n [class.t-content_animated]=\"!isE2E\"\n [class.t-content_visible]=\"activeItemIndex === index\"\n >\n <ng-container\n *ngIf=\"index === defaultTabIndex; else anotherTab\"\n [ngTemplateOutlet]=\"preview\"\n ></ng-container>\n <ng-template #anotherTab>\n <ng-container\n [ngTemplateOutlet]=\"codeSection\"\n [ngTemplateOutletContext]=\"{$implicit: files[tabs[activeItemIndex]] || ''}\"\n ></ng-container>\n </ng-template>\n </div>\n </ng-container>\n</div>\n\n<ng-template #preview>\n <div\n automation-id=\"tui-doc-example\"\n class=\"t-demo\"\n >\n <ng-content></ng-content>\n </div>\n</ng-template>\n\n<ng-template\n #codeSection\n let-code\n>\n <section class=\"t-code-actions\">\n <ng-container *ngFor=\"let action of codeActions\">\n <ng-container *polymorpheusOutlet=\"action as text; context: {$implicit: code}\">\n {{ text }}\n </ng-container>\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", 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:normal;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 #0000001a}: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;max-width:100%;box-sizing:border-box;overflow-x:auto}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .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}:host:not(._fullsize) .t-demo{width:-webkit-min-content;width:min-content;min-width:20rem}.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}\n"], components: [{ type: i2$1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i1.TuiTabsWithMoreComponent, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: ["moreContent", "dropdownContent", "underline", "activeItemIndex", "itemsLimit"], outputs: ["activeItemIndexChange"] }, { type: i1.TuiTabComponent, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]" }, { type: i2$1.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { type: TuiDocCopyComponent, selector: "tui-doc-copy" }, { type: TuiDocCodeComponent, selector: "tui-doc-code", inputs: ["filename", "code"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6$2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6$1.TuiItemDirective, selector: "[tuiItem]" }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i8.CdkCopyToClipboard, selector: "[cdkCopyToClipboard]", inputs: ["cdkCopyToClipboard", "cdkCopyToClipboardAttempts"], outputs: ["cdkCopyToClipboardCopied"] }], pipes: { "tuiDocExampleCapitalize": TuiDocExampleCapitalizePipe, "async": i4.AsyncPipe, "tuiDocExampleGetTabs": TuiDocExampleGetTabsPipe, "tuiMapper": i6$1.TuiMapperPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
967
967
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDocExampleComponent, decorators: [{
|
|
968
968
|
type: Component,
|
|
969
969
|
args: [{
|