@taiga-ui/addon-doc 2.50.2 → 2.52.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/taiga-ui-addon-doc.umd.js +82 -21
- package/bundles/taiga-ui-addon-doc.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-doc.umd.min.js +1 -1
- package/bundles/taiga-ui-addon-doc.umd.min.js.map +1 -1
- package/components/documentation/documentation.component.d.ts +1 -0
- package/components/example/example.component.d.ts +2 -1
- package/components/navigation/navigation.component.d.ts +3 -1
- package/directives/scroll-into-view/scroll-into-view.directive.d.ts +9 -1
- package/directives/scroll-into-view/scroll-into-view.module.d.ts +6 -0
- package/esm2015/components/documentation/documentation.component.js +5 -2
- package/esm2015/components/example/example.component.js +10 -6
- package/esm2015/components/navigation/navigation.component.js +17 -11
- package/esm2015/components/navigation/navigation.module.js +3 -2
- package/esm2015/directives/scroll-into-view/scroll-into-view.directive.js +32 -11
- package/esm2015/directives/scroll-into-view/scroll-into-view.module.js +19 -3
- package/esm2015/public-api.js +3 -1
- package/esm2015/tokens/code-actions.js +5 -0
- package/esm2015/tokens/page-loaded.js +5 -0
- package/esm5/components/documentation/documentation.component.js +5 -2
- package/esm5/components/example/example.component.js +10 -6
- package/esm5/components/navigation/navigation.component.js +17 -11
- package/esm5/components/navigation/navigation.module.js +3 -2
- package/esm5/directives/scroll-into-view/scroll-into-view.directive.js +35 -11
- package/esm5/directives/scroll-into-view/scroll-into-view.module.js +20 -2
- package/esm5/public-api.js +3 -1
- package/esm5/tokens/code-actions.js +5 -0
- package/esm5/tokens/page-loaded.js +5 -0
- package/fesm2015/taiga-ui-addon-doc.js +78 -26
- package/fesm2015/taiga-ui-addon-doc.js.map +1 -1
- package/fesm5/taiga-ui-addon-doc.js +82 -25
- package/fesm5/taiga-ui-addon-doc.js.map +1 -1
- package/package.json +5 -5
- package/public-api.d.ts +2 -0
- package/taiga-ui-addon-doc.metadata.json +1 -1
- package/tokens/code-actions.d.ts +4 -0
- package/tokens/page-loaded.d.ts +3 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/addon-doc/utils/raw-load.ts","ng://@taiga-ui/addon-doc/components/code/parse-code-block.ts","ng://@taiga-ui/addon-doc/components/code/code.component.ts","ng://@taiga-ui/addon-doc/components/code/code.module.ts","ng://@taiga-ui/addon-doc/components/copy/copy.component.ts","ng://@taiga-ui/addon-doc/components/copy/copy.module.ts","ng://@taiga-ui/addon-doc/tokens/i18n.ts","ng://@taiga-ui/addon-doc/components/demo/demo.component.ts","ng://@taiga-ui/addon-doc/components/demo/demo.module.ts","ng://@taiga-ui/addon-doc/utils/color-conversion.ts","ng://@taiga-ui/addon-doc/utils/inspect.ts","ng://@taiga-ui/addon-doc/utils/coerce-value.ts","ng://@taiga-ui/addon-doc/components/documentation/documentation-property-connector.directive.ts","ng://@taiga-ui/addon-doc/components/documentation/documentation.component.ts","ng://@taiga-ui/addon-doc/internal/input-opacity/input-opacity.directive.ts","ng://@taiga-ui/addon-doc/internal/input-opacity/input-opacity.module.ts","ng://@taiga-ui/addon-doc/components/documentation/documentation.module.ts","ng://@taiga-ui/addon-doc/tokens/code-editor.ts","ng://@taiga-ui/addon-doc/tokens/example-content-processor.ts","ng://@taiga-ui/addon-doc/utils/raw-load-record.ts","ng://@taiga-ui/addon-doc/components/example/example.component.ts","ng://@taiga-ui/addon-doc/components/example/example-capitalize.pipe.ts","ng://@taiga-ui/addon-doc/components/example/example-get-tabs.pipe.ts","ng://@taiga-ui/addon-doc/components/example/example.module.ts","ng://@taiga-ui/addon-doc/components/main/main.component.ts","ng://@taiga-ui/addon-doc/directives/scroll-into-view/scroll-into-view.directive.ts","ng://@taiga-ui/addon-doc/directives/scroll-into-view/scroll-into-view.module.ts","ng://@taiga-ui/addon-doc/utils/transliterate-keyboard-layout.ts","ng://@taiga-ui/addon-doc/tokens/pages.ts","ng://@taiga-ui/addon-doc/tokens/title.ts","ng://@taiga-ui/addon-doc/components/navigation/navigation.providers.ts","ng://@taiga-ui/addon-doc/components/navigation/navigation.component.ts","ng://@taiga-ui/addon-doc/components/navigation/navigation.module.ts","ng://@taiga-ui/addon-doc/tokens/logo.ts","ng://@taiga-ui/addon-doc/internal/header/header.component.ts","ng://@taiga-ui/addon-doc/internal/header/header.module.ts","ng://@taiga-ui/addon-doc/components/main/main.module.ts","ng://@taiga-ui/addon-doc/tokens/default-tabs.ts","ng://@taiga-ui/addon-doc/tokens/see-also.ts","ng://@taiga-ui/addon-doc/components/page/page.providers.ts","ng://@taiga-ui/addon-doc/components/page/page-tab.directive.ts","ng://@taiga-ui/addon-doc/components/page/page.component.ts","ng://@taiga-ui/addon-doc/internal/see-also/see-also.component.ts","ng://@taiga-ui/addon-doc/internal/see-also/see-also.module.ts","ng://@taiga-ui/addon-doc/tokens/source-code.ts","ng://@taiga-ui/addon-doc/internal/source-code/source-code.component.ts","ng://@taiga-ui/addon-doc/internal/source-code/source-code.module.ts","ng://@taiga-ui/addon-doc/components/page/page.module.ts","ng://@taiga-ui/addon-doc/languages/russian.ts","ng://@taiga-ui/addon-doc/addon-doc.module.ts","ng://@taiga-ui/addon-doc/interfaces/page.ts","ng://@taiga-ui/addon-doc/utils/generate-routes.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__param","paramIndex","decorator","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","v","op","TypeError","pop","push","create","__values","o","m","__read","ar","error","__spread","concat","rawLoad","content","_a","_b","default","tryParseMarkdownCodeBlock","text","MarkdownIt","parse","filter","tag","type","map","TuiDocCodeComponent","rawLoader$$","BehaviorSubject","filename","processor$","pipe","switchMap","code","Input","HostBinding","Component","selector","template","TuiDocCodeModule","NgModule","imports","CommonModule","HighlightModule","declarations","exports","TuiDocCopyComponent","texts$","copy$","Subject","switchMapTo","timer","mapTo","startWith","onClick","Observable","Inject","args","TUI_COPY_TEXTS","tuiPure","changeDetection","ChangeDetectionStrategy","OnPush","providers","TuiDestroyService","TuiDocCopyModule","TuiButtonModule","TUI_DOC_DEMO_TEXTS","InjectionToken","factory","TUI_DOC_DOCUMENTATION_TEXTS","TUI_DOC_EXAMPLE_TEXTS","TUI_DOC_MENU_TEXT","TUI_DOC_SEARCH_TEXT","TUI_DOC_SEE_ALSO_TEXT","TUI_DOC_SOURCE_CODE_TEXT","TuiDocDemoComponent","isMobile","destroy$","renderer","platformId","locationRef","urlSerializer","texts","_this","initialX","wrapperWidth","control","updateOnVariants","updateOn","expanded","opaque","modeControl","FormControl","mode","change$","items","isBrowser","isPlatformBrowser","parsedMode","path","match","setValue","valueChanges","takeUntil","subscribe","urlTree","queryParams","tuiMode","go","String","onResize","setResizerTextContent","ngOnInit","createForm","ngAfterViewInit","resizerText","paddingLeft","getComputedStyle","nativeElement","offsetWidth","textContent","parseInt","onDragStart","event","preventDefault","clientX","wrapper","onDragContinues","deltaX","resizeContent","onDragEnd","toggleDetails","updateOnChange","testForm","FormGroup","testValue","delta","setStyle","px","Math","max","TUI_IS_MOBILE","Renderer2","PLATFORM_ID","Location","UrlSerializer","ViewChild","ContentChild","TemplateRef","HostListener","TuiDocDemoComponent_1","provide","TuiModeDirective","useExisting","forwardRef","TuiDocDemoModule","ReactiveFormsModule","FormsModule","RouterModule","TuiLinkModule","TuiDragModule","TuiSelectModule","TuiExpandModule","TuiGroupModule","TuiTooltipModule","TuiModeModule","TuiRadioBlockModule","TuiCheckboxLabeledModule","TuiSvgModule","TuiDataListWrapperModule","TuiDataListModule","TuiTextfieldControllerModule","TuiHintControllerModule","rgbToHex","b","x","toString","padStart","join","hexToRgb","hex","matches","replace","split","char","array","Number","inspectAny","data","depth","RegExp","Array","isArray","first","index","inspectArray","object","inspectObject","coerceValue","prepared","trim","includes","isEmptyParamValue","isBooleanParamValue","test","isNumberParamValue","decodedValue","decodeURIComponent","startsWith","endsWith","isPossibleArray","isPossibleObject","JSON","TuiDocDocumentationPropertyConnectorDirective","activatedRoute","documentationPropertyName","documentationPropertyMode","documentationPropertyType","documentationPropertyDeprecated","documentationPropertyValues","documentationPropertyValueChange","EventEmitter","changed$","emits$","parseParams","snapshot","ngOnChanges","onValueChange","documentationPropertyValue","emit","setQueryParam","emitEvent","console","info","attrName","params","propertyValue","propertyValueWithSuffix","tree","isValueAvailableByKey","computedValue","indexOf","suffix","propName","ActivatedRoute","Output","Directive","exportAs","TuiDocDocumentationComponent","changeDetectorRef","heading","showValues","isAPI","propertiesConnectors","EMPTY_QUERY","activeItemIndex","ngAfterContentInit","itemsQueryListObservable","merge","watch","getColor","color","reduce","current","parsed","getOpacity","lastComma","lastIndexOf","slice","round","parseFloat","onColorChange","connector","opacity","onOpacityChange","stripOptional","name","isOptional","showCleaner","showContentTooltip","ChangeDetectorRef","ContentChildren","animations","trigger","transition","style","animate","TuiInputOpacityDirective","tuiFocusableComponent","nativeFocusableElement","TUI_FOCUSABLE_ITEM_ACCESSOR","TuiInputOpacityModule","TuiDocDocumentationModule","TuiBadgeModule","TuiToggleModule","TuiInputCountModule","TuiPrimitiveTextfieldModule","TuiDropdownControllerModule","TuiNotificationModule","TUI_DOC_CODE_EDITOR","TUI_DOC_EXAMPLE_CONTENT_PROCESSOR","identity","rawLoadRecord","example","processedContent","entries","_c","_d","_e","_g","TuiDocExampleComponent","id","clipboard","notifications","location","copyTexts$","codeEditor","processContent","isCypress","description","componentName","pathname","defaultTabIndex","defaultTab","loading$","copyExampleLink","hashPosition","href","url","copy","show","status","edit","files","finally","Attribute","Clipboard","TuiNotificationsService","LOCATION","Optional","TUI_IS_CYPRESS","TuiDocExampleCapitalizePipe","transform","capitalizeFirstLetter","Pipe","TuiDocExampleGetTabsPipe","keys","TuiDocExampleModule","ClipboardModule","TuiTabsModule","PolymorpheusModule","TuiDocMainComponent","storage","windowRef","night","getItem","matchMedia","onMode","setItem","Storage","LOCAL_STORAGE","Window","WINDOW","TuiDocMainComponent_1","encapsulation","ViewEncapsulation","None","TuiSwipeService","ScrollIntoViewDirective","scroll$","debounceTime","shallWe","getElementObscurers","scrollIntoView","ElementRef","ScrollIntoViewModule","MAP","а","б","в","г","д","е","ё","ж","з","и","й","к","л","м","н","о","п","р","с","т","у","ф","х","ц","ч","ш","щ","ъ","ы","ь","ю","я","transliterateKeyboardLayout","string","newStr","charAt","TUI_DOC_PAGES","TUI_DOC_TITLE","NAVIGATION_TITLE","NAVIGATION_LABELS","NAVIGATION_ITEMS","NAVIGATION_PROVIDERS","deps","Router","useFactory","titleProviderFactory","labelsProviderFactory","itemsProviderFactory","router","titlePrefix","events","NavigationEnd","firstChild","isPresent","mergeMap","title","pages","section","item","page","TuiDocNavigationComponent","titleService","title$","documentRef","sidebar","labels","searchText","menuOpen","search","open","openPagesArr","openPagesGroupsArr","active","mode$","markForCheck","setTitle","openActivePageGroup","handleAnchorLink","fragment","filterItems","flattenSubPages","isActive","route","onGroupClick","closeMenu","onSearchChange","canOpen","uniqBy","keywords","toLowerCase","subPages","isActiveRoute","hash","setTimeout","navigateToAnchorLink","forEach","pagesIndex","pageIndex","subPage","element","querySelector","classList","add","block","inline","behavior","Title","Document","DOCUMENT","TuiSidebarDirective","TuiDocNavigationModule","TuiActiveZoneModule","TuiLetModule","TuiHostedDropdownModule","TuiAccordionModule","TuiScrollbarModule","TuiAutoFocusModule","TUI_DOC_LOGO","TuiDocHeaderComponent","logo","menu","swipes$","stream$","open$","swipe","direction","distinctUntilChanged","onActiveZone","TuiDocHeaderModule","TuiSidebarModule","TuiDocMainModule","TuiThemeNightModule","TuiRootModule","TuiDialogModule","TuiAlertModule","TUI_DOC_DEFAULT_TABS","TUI_DOC_SEE_ALSO","PAGE_SEE_ALSO","PAGE_PROVIDERS","seeAlsoProviderFactory","seeAlsoGroups","currentHeader","getAttribute","groups","group","seeAlsoSet","Set","component","from","TuiDocPageTabConnectorDirective","tuiDefaultProp","TuiDocPageComponent","deprecated","defaultTabs","seeAlso","header","package","tabConnectors","NaN","getRouterLink","tab","TuiDocSeeAlsoComponent","pageTitle","find","TuiDocSeeAlsoModule","TUI_DOC_SOURCE_CODE","TuiDocSourceCodeComponent","sourceCode","getPathOptions","packageName","TuiDocSourceCodeModule","TuiDocPageModule","TuiTagModule","DEMO_TEXTS","DOC_TEXTS","EXAMPLE_TEXTS","TUI_DOC_RUSSIAN","useValue","TuiAddonDocModule","TS","LESS","HTML","children"],"mappings":"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","sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import {RawLoaderContent} from '../interfaces/page';\n\nexport async function rawLoad(content: RawLoaderContent): Promise<string> {\n return content instanceof Promise ? (await content).default : content;\n}\n","import MarkdownIt from 'markdown-it';\nimport Token from 'markdown-it/lib/token';\n\nexport function tryParseMarkdownCodeBlock(text: string = ''): string[] {\n const tokens: Token[] = new MarkdownIt().parse(text, {});\n const result = tokens\n .filter(({tag, type}) => tag === 'code' && type === 'fence')\n .map(({content}) => content);\n\n return result.length ? result : [text];\n}\n","import {Component, HostBinding, Input} from '@angular/core';\nimport {BehaviorSubject} from 'rxjs';\nimport {map, switchMap} from 'rxjs/operators';\n\nimport {RawLoaderContent} from '../../interfaces/page';\nimport {rawLoad} from '../../utils/raw-load';\nimport {tryParseMarkdownCodeBlock} from './parse-code-block';\n\n@Component({\n selector: 'tui-doc-code',\n templateUrl: './code.template.html',\n styleUrls: ['./code.style.less'],\n})\nexport class TuiDocCodeComponent {\n private readonly rawLoader$$ = new BehaviorSubject<RawLoaderContent>('');\n\n @Input()\n filename = '';\n\n readonly processor$ = this.rawLoader$$.pipe(\n switchMap(rawLoad),\n map(tryParseMarkdownCodeBlock),\n );\n\n @Input()\n set code(code: RawLoaderContent) {\n this.rawLoader$$.next(code);\n }\n\n @HostBinding('class._has-filename')\n get hasFilename(): boolean {\n return !!this.filename;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {HighlightModule} from 'ngx-highlightjs';\n\nimport {TuiDocCodeComponent} from './code.component';\n\n@NgModule({\n imports: [CommonModule, HighlightModule],\n declarations: [TuiDocCodeComponent],\n exports: [TuiDocCodeComponent],\n})\nexport class TuiDocCodeModule {}\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {TuiDestroyService, tuiPure} from '@taiga-ui/cdk';\nimport {TUI_COPY_TEXTS} from '@taiga-ui/kit';\nimport {Observable, Subject, timer} from 'rxjs';\nimport {mapTo, startWith, switchMapTo} from 'rxjs/operators';\n\nconst COPIED_TIMEOUT = 1500;\n\n// @dynamic\n@Component({\n selector: 'tui-doc-copy',\n templateUrl: './copy.template.html',\n styleUrls: ['./copy.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n})\nexport class TuiDocCopyComponent {\n private readonly copy$ = new Subject();\n\n constructor(@Inject(TUI_COPY_TEXTS) readonly texts$: Observable<[string, string]>) {}\n\n @tuiPure\n get copied$(): Observable<boolean> {\n return this.copy$.pipe(\n switchMapTo(timer(COPIED_TIMEOUT).pipe(mapTo(false), startWith(true))),\n );\n }\n\n onClick(): void {\n this.copy$.next();\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule} from '@taiga-ui/core';\n\nimport {TuiDocCopyComponent} from './copy.component';\n\n@NgModule({\n imports: [CommonModule, TuiButtonModule],\n declarations: [TuiDocCopyComponent],\n exports: [TuiDocCopyComponent],\n})\nexport class TuiDocCopyModule {}\n","import {InjectionToken} from '@angular/core';\n\n/**\n * TODO: think about reorganization in @taiga-ui/i18n way\n */\n\n/**\n * Works with a tuple\n * [@string tuiMode tooltip content, @string word 'background', @string 'form value']\n */\nexport const TUI_DOC_DEMO_TEXTS = new InjectionToken<[string, string, string]>(\n 'tui-doc-demo i18n texts',\n {\n factory: () => ['Read more more about modes: ', 'Background', 'Form value'],\n },\n);\n\n/**\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 = new InjectionToken<\n [string, string, string, string, string]\n>('tui-doc-documentation i18n texts', {\n factory: () => [\n 'Argument',\n 'Type',\n 'Name and description',\n 'Value',\n 'Learn about our dynamic templates from ',\n ],\n});\n\n/**\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 = new InjectionToken<[string, string, string]>(\n 'tui-doc-example i18n texts',\n {\n factory: () => ['Preview', 'Link to a sample was successfully copied', 'Done'],\n },\n);\n\nexport const TUI_DOC_MENU_TEXT = new InjectionToken<string>('menu i18n text', {\n factory: () => 'Menu',\n});\n\nexport const TUI_DOC_SEARCH_TEXT = new InjectionToken<string>('search i18n text', {\n factory: () => 'Search',\n});\n\nexport const TUI_DOC_SEE_ALSO_TEXT = new InjectionToken<string>(\n 'tui-doc-see-also i18n text',\n {\n factory: () => 'See also',\n },\n);\n\nexport const TUI_DOC_SOURCE_CODE_TEXT = new InjectionToken<string>(\n 'tui-doc-source-code i18n text',\n {\n factory: () => 'Source code',\n },\n);\n","import {isPlatformBrowser, Location} from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n forwardRef,\n HostListener,\n Inject,\n Input,\n OnInit,\n PLATFORM_ID,\n Renderer2,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {AbstractControl, FormControl, FormGroup} from '@angular/forms';\nimport {UrlSerializer} from '@angular/router';\nimport {px, TUI_IS_MOBILE, TuiDestroyService} from '@taiga-ui/cdk';\nimport {TuiBrightness, TuiModeDirective} from '@taiga-ui/core';\nimport {Subject} from 'rxjs';\nimport {startWith, takeUntil} from 'rxjs/operators';\n\nimport {TUI_DOC_DEMO_TEXTS} from '../../tokens/i18n';\n\nconst MIN_COMPONENT_WIDTH = 104;\n\n// @dynamic\n@Component({\n selector: 'tui-doc-demo',\n templateUrl: './demo.template.html',\n styleUrls: ['./demo.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n TuiDestroyService,\n {\n provide: TuiModeDirective,\n useExisting: forwardRef(() => TuiDocDemoComponent),\n },\n ],\n})\nexport class TuiDocDemoComponent implements OnInit, AfterViewInit {\n @ViewChild('content')\n private readonly content?: ElementRef<HTMLElement>;\n\n @ViewChild('wrapper')\n private readonly wrapper?: ElementRef<HTMLElement>;\n\n @ViewChild('resizerText')\n private readonly resizerText?: ElementRef<HTMLElement>;\n\n private readonly isBrowser: boolean;\n private initialX = 0;\n private wrapperWidth = 0;\n\n @Input()\n control: AbstractControl | null = null;\n\n @ContentChild(TemplateRef)\n readonly template: TemplateRef<Record<string, unknown>> | null = null;\n\n testForm?: FormGroup;\n updateOnVariants = ['change', 'blur', 'submit'];\n updateOn: 'change' | 'blur' | 'submit' = 'change';\n expanded = false;\n opaque = true;\n modeControl = new FormControl();\n mode: TuiBrightness | null = null;\n readonly change$ = new Subject<void>();\n readonly items: readonly TuiBrightness[] = ['onLight', 'onDark'];\n\n constructor(\n @Inject(TUI_IS_MOBILE) readonly isMobile: boolean,\n @Inject(TuiDestroyService) private readonly destroy$: TuiDestroyService,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(PLATFORM_ID) platformId: Record<string, unknown>,\n @Inject(Location) locationRef: Location,\n @Inject(UrlSerializer) urlSerializer: UrlSerializer,\n @Inject(TUI_DOC_DEMO_TEXTS) readonly texts: [string, string, string],\n ) {\n this.isBrowser = isPlatformBrowser(platformId);\n\n const parsedMode = locationRef.path().match(/tuiMode=(onDark|onLight)/);\n\n if (parsedMode !== null && parsedMode.length > 0) {\n this.modeControl.setValue(parsedMode[1]);\n }\n\n this.modeControl.valueChanges\n .pipe(startWith(this.modeControl.value), takeUntil(this.destroy$))\n .subscribe(mode => {\n const urlTree = urlSerializer.parse(locationRef.path());\n\n urlTree.queryParams = {\n ...urlTree.queryParams,\n tuiMode: mode,\n };\n\n locationRef.go(String(urlTree));\n\n this.mode = mode;\n this.change$.next();\n });\n }\n\n @HostListener('window:resize')\n onResize(): void {\n this.setResizerTextContent();\n }\n\n ngOnInit(): void {\n this.createForm();\n }\n\n ngAfterViewInit(): void {\n this.setResizerTextContent();\n }\n\n setResizerTextContent(): void {\n if (!this.content || !this.resizerText) {\n return;\n }\n\n const paddingLeft = this.isBrowser\n ? getComputedStyle(this.content.nativeElement).paddingLeft\n : '0';\n const {offsetWidth} = this.content.nativeElement;\n\n this.resizerText.nativeElement.textContent = String(\n offsetWidth - parseInt(paddingLeft || '0', 10) * 2,\n );\n }\n\n onDragStart(event: MouseEvent): void {\n event.preventDefault();\n this.initialX = event.clientX;\n this.wrapperWidth = this.wrapper ? this.wrapper.nativeElement.offsetWidth : 0;\n }\n\n onDragContinues(event: MouseEvent): void {\n const deltaX = this.initialX - event.clientX;\n\n this.resizeContent(deltaX);\n this.setResizerTextContent();\n }\n\n onDragEnd(): void {\n this.wrapperWidth = this.wrapper ? this.wrapper.nativeElement.offsetWidth : 0;\n }\n\n toggleDetails(): void {\n this.expanded = !this.expanded;\n }\n\n updateOnChange(updateOn: 'change' | 'blur' | 'submit'): void {\n this.updateOn = updateOn;\n this.createForm();\n }\n\n private createForm(): void {\n const {control, updateOn} = this;\n\n if (!control) {\n return;\n }\n\n this.testForm = new FormGroup({testValue: control}, {updateOn});\n }\n\n private resizeContent(delta: number): void {\n if (!this.wrapper) {\n return;\n }\n\n this.renderer.setStyle(\n this.wrapper.nativeElement,\n 'width',\n px(Math.max(this.wrapperWidth - delta, MIN_COMPONENT_WIDTH)),\n );\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {TuiDragModule} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiDataListModule,\n TuiExpandModule,\n TuiGroupModule,\n TuiHintControllerModule,\n TuiLinkModule,\n TuiModeModule,\n TuiSvgModule,\n TuiTextfieldControllerModule,\n TuiTooltipModule,\n} from '@taiga-ui/core';\nimport {\n TuiCheckboxLabeledModule,\n TuiDataListWrapperModule,\n TuiRadioBlockModule,\n TuiSelectModule,\n} from '@taiga-ui/kit';\n\nimport {TuiDocDemoComponent} from './demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n RouterModule,\n TuiLinkModule,\n TuiDragModule,\n TuiButtonModule,\n TuiSelectModule,\n TuiExpandModule,\n TuiGroupModule,\n TuiTooltipModule,\n TuiModeModule,\n TuiRadioBlockModule,\n TuiCheckboxLabeledModule,\n TuiSvgModule,\n TuiDataListWrapperModule,\n TuiDataListModule,\n TuiTextfieldControllerModule,\n TuiHintControllerModule,\n ],\n declarations: [TuiDocDemoComponent],\n exports: [TuiDocDemoComponent],\n})\nexport class TuiDocDemoModule {}\n","/**\n * TODO: move another package for reuse between addon-editor and addon-doc\n */\nexport function rgbToHex(r: number, g: number, b: number): string {\n return `#${[r, g, b].map(x => x.toString(16).padStart(2, '0')).join('')}`;\n}\n\nexport function hexToRgb(hex: string): [number, number, number] {\n const matches = hex\n .replace('#', '')\n .split('')\n .map((char, _, array) => (array.length === 3 ? char + char : char))\n .join('')\n .match(/.{2}/g);\n\n return matches\n ? (matches.map(x => Number.parseInt(x, 16)) as [number, number, number])\n : [0, 0, 0];\n}\n","function inspectArray(array: readonly unknown[], depth: number): string {\n if (depth === 0) {\n return '[…]';\n }\n\n let result = '';\n let first = true;\n\n for (let index = 0; index < array.length; index++) {\n if (first) {\n first = false;\n } else {\n result += ', ';\n }\n\n result += index in array ? inspectAny(array[index], depth - 1) : 'empty';\n }\n\n return `[${result}]`;\n}\n\nfunction inspectObject(object: {[key: string]: unknown}, depth: number): string {\n if (depth === 0) {\n return `{…}`;\n }\n\n let result = '';\n\n let first = true;\n\n for (const key in object) {\n if (!object.hasOwnProperty(key)) {\n continue;\n }\n\n if (first) {\n first = false;\n } else {\n result += ', ';\n }\n\n result += `${key}: ${inspectAny(object[key], depth - 1)}`;\n }\n\n return `{${result}}`;\n}\n\n/**\n * Returns readable JS entity\n * @param data\n * @param depth\n * @return readable JS entity\n */\nexport function inspectAny<T>(data: T, depth: number): string {\n if (data === null) {\n return 'null';\n }\n\n switch (typeof data) {\n case 'string':\n return `'${data}'`;\n case 'undefined':\n case 'number':\n case 'boolean':\n case 'function':\n return String(data);\n }\n\n if (data instanceof RegExp) {\n return String(data);\n }\n\n if (Array.isArray(data)) {\n return inspectArray(data, depth);\n }\n\n return inspectObject(data as unknown as {[key: string]: unknown}, depth);\n}\n","/* eslint-disable unicorn/no-unsafe-regex */\nexport function coerceValue<T>(value?: T): T | number | string | boolean | null | object {\n const prepared = String(value).trim();\n\n if (isEmptyParamValue(prepared)) {\n return null;\n } else if (isBooleanParamValue(prepared)) {\n return String(prepared) === 'true';\n } else if (isNumberParamValue(prepared)) {\n return Number(prepared);\n }\n\n const decodedValue = decodeURIComponent(prepared);\n\n try {\n return isPossibleArray(decodedValue) || isPossibleObject(decodedValue)\n ? JSON.parse(decodedValue)\n : decodedValue;\n } catch {\n return decodedValue;\n }\n}\n\nfunction isEmptyParamValue(value: string): boolean {\n return ['undefined', 'null', 'NaN', 'Infinity'].includes(value);\n}\n\nfunction isBooleanParamValue(value: string): boolean {\n return value === 'true' || value === 'false';\n}\n\nfunction isNumberParamValue(value: string): boolean {\n // TODO: investigate to disallow potentially catastrophic exponential-time regular expressions.\n return /^-?[\\d.]+(?:e-?\\d+)?$/.test(value);\n}\n\nfunction isPossibleArray(value: string): boolean {\n return value.startsWith('[') && value.endsWith(']');\n}\n\nfunction isPossibleObject(value: string): boolean {\n return value.startsWith('{') && value.endsWith('}');\n}\n","import {Location} from '@angular/common';\nimport {\n Directive,\n EventEmitter,\n Inject,\n Input,\n OnChanges,\n OnInit,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport {ActivatedRoute, Params, UrlSerializer} from '@angular/router';\nimport {BehaviorSubject, Subject} from 'rxjs';\n\nimport {coerceValue} from '../../utils/coerce-value';\n\nconst SERIALIZED_SUFFIX = '$';\n\nexport type DocumentationPropertyType = 'input' | 'output' | 'input-output' | null;\n\n// @bad TODO: refactor output and value sync\n@Directive({\n selector: 'ng-template[documentationPropertyName]',\n exportAs: 'documentationProperty',\n})\nexport class TuiDocDocumentationPropertyConnectorDirective<T>\n implements OnInit, OnChanges\n{\n @Input()\n documentationPropertyName = '';\n\n @Input()\n documentationPropertyMode: DocumentationPropertyType = null;\n\n @Input()\n documentationPropertyType = '';\n\n @Input()\n documentationPropertyValue!: T;\n\n @Input()\n documentationPropertyDeprecated = false;\n\n @Input()\n documentationPropertyValues: readonly T[] | null = null;\n\n @Output()\n readonly documentationPropertyValueChange = new EventEmitter<T>();\n\n readonly changed$ = new Subject<void>();\n\n readonly emits$ = new BehaviorSubject(1);\n\n constructor(\n @Inject(TemplateRef) readonly template: TemplateRef<Record<string, unknown>>,\n @Inject(Location) private readonly locationRef: Location,\n @Inject(ActivatedRoute) private readonly activatedRoute: ActivatedRoute,\n @Inject(UrlSerializer) private readonly urlSerializer: UrlSerializer,\n ) {}\n\n ngOnInit(): void {\n this.parseParams(this.activatedRoute.snapshot.queryParams);\n }\n\n get attrName(): string {\n switch (this.documentationPropertyMode) {\n case 'input':\n return `[${this.documentationPropertyName}]`;\n case 'output':\n return `(${this.documentationPropertyName})`;\n case 'input-output':\n return `[(${this.documentationPropertyName})]`;\n default:\n return this.documentationPropertyName;\n }\n }\n\n get hasItems(): boolean {\n return !!this.documentationPropertyValues;\n }\n\n get shouldShowValues(): boolean {\n return this.documentationPropertyMode !== 'output';\n }\n\n ngOnChanges(): void {\n this.changed$.next();\n }\n\n onValueChange(value: T): void {\n this.documentationPropertyValue = value;\n this.documentationPropertyValueChange.emit(value);\n this.setQueryParam(value);\n }\n\n emitEvent(event: unknown): void {\n // For more convenient debugging\n console.info(this.attrName, event);\n\n this.emits$.next(this.emits$.value + 1);\n }\n\n private parseParams(params: Params): void {\n const propertyValue: string | undefined = params[this.documentationPropertyName];\n const propertyValueWithSuffix: string | number | undefined =\n params[`${this.documentationPropertyName}${SERIALIZED_SUFFIX}`];\n\n if (!propertyValue && !propertyValueWithSuffix) {\n return;\n }\n\n const value =\n !!propertyValueWithSuffix && this.documentationPropertyValues\n ? this.documentationPropertyValues[propertyValueWithSuffix as number]\n : coerceValue(propertyValue);\n\n this.onValueChange(value as T);\n }\n\n private setQueryParam(value: T | string | number | boolean | null): void {\n const tree = this.urlSerializer.parse(this.locationRef.path());\n\n const isValueAvailableByKey = value instanceof Object;\n const computedValue =\n isValueAvailableByKey && this.documentationPropertyValues\n ? this.documentationPropertyValues.indexOf(value as T)\n : value;\n\n const suffix = isValueAvailableByKey ? SERIALIZED_SUFFIX : '';\n const propName = this.documentationPropertyName + suffix;\n\n tree.queryParams = {\n ...tree.queryParams,\n [propName]: computedValue,\n };\n\n this.locationRef.go(String(tree));\n }\n}\n","import {animate, style, transition, trigger} from '@angular/animations';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY, itemsQueryListObservable, watch} from '@taiga-ui/cdk';\nimport {merge} from 'rxjs';\nimport {switchMap} from 'rxjs/operators';\n\nimport {TUI_DOC_DOCUMENTATION_TEXTS} from '../../tokens/i18n';\nimport {hexToRgb, rgbToHex} from '../../utils/color-conversion';\nimport {inspectAny} from '../../utils/inspect';\nimport {TuiDocDocumentationPropertyConnectorDirective} from './documentation-property-connector.directive';\n\n// @bad TODO subscribe propertiesConnectors changes\n// @bad TODO refactor to make more flexible\n// @dynamic\n@Component({\n selector: 'tui-doc-documentation',\n templateUrl: './documentation.template.html',\n styleUrls: ['./documentation.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('emitEvent', [\n transition(':increment', [style({opacity: 1}), animate('500ms ease-in')]),\n ]),\n ],\n})\nexport class TuiDocDocumentationComponent implements AfterContentInit {\n @Input()\n heading = '';\n\n @Input()\n showValues = true;\n\n @Input()\n isAPI = false;\n\n @ContentChildren(TuiDocDocumentationPropertyConnectorDirective)\n propertiesConnectors: QueryList<TuiDocDocumentationPropertyConnectorDirective<any>> =\n EMPTY_QUERY;\n\n activeItemIndex = 0;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_DOC_DOCUMENTATION_TEXTS)\n readonly texts: [string, string, string, string, string],\n ) {}\n\n ngAfterContentInit(): void {\n itemsQueryListObservable(this.propertiesConnectors)\n .pipe(\n switchMap(items => merge(...items.map(({changed$}) => changed$))),\n watch(this.changeDetectorRef),\n )\n .subscribe();\n }\n\n get type(): string {\n return this.isAPI ? this.texts[0] : this.texts[1];\n }\n\n getColor(color: string): string {\n if (color.length === 4) {\n return color\n .split('')\n .reduce<string[]>((result, current) => [...result, current, current], [])\n .join('')\n .replace('#', '');\n }\n\n if (color.startsWith('#')) {\n return color;\n }\n\n if (color === 'transparent') {\n return '#000000';\n }\n\n const parsed = color\n .replace('rgb(', '')\n .replace('rgba(', '')\n .replace(')', '')\n .replace(' ', '')\n .split(',')\n .map(v => Number.parseInt(v, 10)) as [number, number, number];\n\n return rgbToHex(...parsed);\n }\n\n getOpacity(color: string): number {\n if (color.startsWith('#') || color.startsWith('rgb(')) {\n return 100;\n }\n\n if (color === 'transparent') {\n return 0;\n }\n\n const lastComma = color.lastIndexOf(',');\n const parsed = color\n .slice(lastComma)\n .replace(')', '')\n .replace(' ', '')\n .replace(',', '');\n\n return Math.round(Number.parseFloat(parsed) * 100);\n }\n\n onColorChange(\n connector: TuiDocDocumentationPropertyConnectorDirective<string>,\n color: string,\n ): void {\n const opacity = this.getOpacity(connector.documentationPropertyValue || '');\n\n if (opacity === 100) {\n connector.onValueChange(color);\n\n return;\n }\n\n const rgb = hexToRgb(color).join(', ');\n const result = `rgba(${rgb}, ${opacity / 100})`;\n\n connector.onValueChange(result);\n }\n\n onOpacityChange(\n connector: TuiDocDocumentationPropertyConnectorDirective<string>,\n opacity: number,\n ): void {\n const hex = this.getColor(connector.documentationPropertyValue || '');\n const rgb = hexToRgb(hex);\n const result = `rgba(${rgb}, ${opacity / 100})`;\n\n connector.onValueChange(result);\n }\n\n stripOptional(name: string): string {\n return name.replace('?', '');\n }\n\n isOptional(name: string): boolean {\n return name.includes('?');\n }\n\n showCleaner(type: string): boolean {\n return type.includes('null');\n }\n\n showContentTooltip(type: string): boolean {\n return type.includes('PolymorpheusContent');\n }\n\n inspectAny(data: unknown): string {\n return inspectAny(data, 2);\n }\n}\n","import {Directive, Inject, Input, Renderer2} from '@angular/core';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR, TuiFocusableElementAccessor} from '@taiga-ui/cdk';\n\n@Directive({\n selector: '[tuiInputOpacity]',\n})\nexport class TuiInputOpacityDirective {\n @Input()\n set tuiInputOpacity(opacity: number) {\n const {nativeFocusableElement} = this.tuiFocusableComponent;\n\n if (nativeFocusableElement) {\n this.renderer.setStyle(nativeFocusableElement, 'opacity', opacity / 100);\n }\n }\n\n constructor(\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)\n private readonly tuiFocusableComponent: TuiFocusableElementAccessor,\n ) {}\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiInputOpacityDirective} from './input-opacity.directive';\n\n@NgModule({\n declarations: [TuiInputOpacityDirective],\n exports: [TuiInputOpacityDirective],\n})\nexport class TuiInputOpacityModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {\n TuiDataListModule,\n TuiDropdownControllerModule,\n TuiGroupModule,\n TuiHintControllerModule,\n TuiLinkModule,\n TuiModeModule,\n TuiNotificationModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiTooltipModule,\n} from '@taiga-ui/core';\nimport {\n TuiBadgeModule,\n TuiDataListWrapperModule,\n TuiInputCountModule,\n TuiSelectModule,\n TuiToggleModule,\n} from '@taiga-ui/kit';\n\nimport {TuiInputOpacityModule} from '../../internal/input-opacity/input-opacity.module';\nimport {TuiDocDocumentationComponent} from './documentation.component';\nimport {TuiDocDocumentationPropertyConnectorDirective} from './documentation-property-connector.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n TuiBadgeModule,\n TuiSelectModule,\n TuiToggleModule,\n TuiTooltipModule,\n TuiLinkModule,\n TuiInputCountModule,\n TuiModeModule,\n TuiGroupModule,\n TuiInputOpacityModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiHintControllerModule,\n TuiDropdownControllerModule,\n TuiDataListModule,\n TuiDataListWrapperModule,\n TuiNotificationModule,\n ],\n declarations: [\n TuiDocDocumentationComponent,\n TuiDocDocumentationPropertyConnectorDirective,\n ],\n exports: [\n TuiDocDocumentationComponent,\n TuiDocDocumentationPropertyConnectorDirective,\n ],\n})\nexport class TuiDocDocumentationModule {}\n","import {InjectionToken} from '@angular/core';\n\nimport {TuiCodeEditor} from '../interfaces/code-editor';\n\nexport const TUI_DOC_CODE_EDITOR = new InjectionToken<TuiCodeEditor>(\n 'Contains service for opening online IDE e.g. Stackblitz',\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiHandler} from '@taiga-ui/cdk';\nimport {identity} from 'rxjs';\n\nexport const TUI_DOC_EXAMPLE_CONTENT_PROCESSOR: InjectionToken<\n TuiHandler<Record<string, string>, Record<string, string>>\n> = new InjectionToken('Processes content in example', {factory: () => identity});\n","import {TuiDocExample} from '../interfaces/page';\nimport {rawLoad} from './raw-load';\n\nexport async function rawLoadRecord(\n example: TuiDocExample,\n): Promise<Record<string, string>> {\n const processedContent: Record<string, string> = {};\n\n for (const [key, content] of Object.entries(example)) {\n if (content) {\n processedContent[key] = await rawLoad(content);\n }\n }\n\n return processedContent;\n}\n","import {Clipboard} from '@angular/cdk/clipboard';\nimport {\n Attribute,\n ChangeDetectionStrategy,\n Component,\n Inject,\n Input,\n Optional,\n} from '@angular/core';\nimport {LOCATION} from '@ng-web-apis/common';\nimport {TUI_IS_CYPRESS, TuiHandler} from '@taiga-ui/cdk';\nimport {TuiNotification, TuiNotificationsService} from '@taiga-ui/core';\nimport {TUI_COPY_TEXTS} from '@taiga-ui/kit';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {BehaviorSubject, Observable, Subject} from 'rxjs';\nimport {map, switchMap} from 'rxjs/operators';\n\nimport {TuiCodeEditor} from '../../interfaces/code-editor';\nimport {TuiDocExample} from '../../interfaces/page';\nimport {TUI_DOC_CODE_EDITOR} from '../../tokens/code-editor';\nimport {TUI_DOC_EXAMPLE_CONTENT_PROCESSOR} from '../../tokens/example-content-processor';\nimport {TUI_DOC_EXAMPLE_TEXTS} from '../../tokens/i18n';\nimport {rawLoadRecord} from '../../utils/raw-load-record';\n\n// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395\n// @dynamic\n@Component({\n selector: 'tui-doc-example',\n templateUrl: './example.template.html',\n styleUrls: ['./example.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiDocExampleComponent {\n private readonly rawLoader$$ = new BehaviorSubject<TuiDocExample>({});\n\n @Input()\n heading: PolymorpheusContent = '';\n\n @Input()\n description: PolymorpheusContent = '';\n\n @Input()\n set content(content: TuiDocExample) {\n this.rawLoader$$.next(content);\n }\n\n @Input()\n componentName: string = this.location.pathname.slice(1);\n\n readonly defaultTabIndex = 0;\n\n readonly defaultTab = this.texts[this.defaultTabIndex];\n\n activeItemIndex = this.defaultTabIndex;\n\n readonly copy$ = this.copyTexts$.pipe(map(([copy]) => copy));\n\n readonly processor$: Observable<Record<string, string>> = this.rawLoader$$.pipe(\n switchMap(rawLoadRecord),\n map(value => this.processContent(value)),\n );\n\n readonly loading$ = new Subject<boolean>();\n\n constructor(\n @Attribute('id')\n readonly id: string | null,\n @Inject(Clipboard) private readonly clipboard: Clipboard,\n @Inject(TuiNotificationsService)\n private readonly notifications: TuiNotificationsService,\n @Inject(LOCATION) private readonly location: Location,\n @Inject(TUI_COPY_TEXTS) private readonly copyTexts$: Observable<[string, string]>,\n @Inject(TUI_DOC_EXAMPLE_TEXTS) readonly texts: [string, string, string],\n @Optional()\n @Inject(TUI_DOC_CODE_EDITOR)\n readonly codeEditor: TuiCodeEditor | null,\n @Inject(TUI_DOC_EXAMPLE_CONTENT_PROCESSOR)\n private readonly processContent: TuiHandler<\n Record<string, string>,\n Record<string, string>\n >,\n @Inject(TUI_IS_CYPRESS) readonly isCypress: boolean,\n ) {}\n\n copyExampleLink(): void {\n const hashPosition = this.location.href.indexOf('#');\n const currentUrl =\n hashPosition > -1\n ? this.location.href.slice(0, Math.max(0, hashPosition))\n : this.location.href;\n const url = `${currentUrl}#${this.id}`;\n\n this.clipboard.copy(url);\n this.notifications\n .show(this.texts[1], {\n label: this.texts[2],\n status: TuiNotification.Success,\n })\n .subscribe();\n }\n\n edit(files: Record<string, string>): void {\n this.loading$.next(true);\n this.codeEditor\n ?.edit(this.componentName, this.id ?? '', files)\n .finally(() => this.loading$.next(false));\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {capitalizeFirstLetter} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n@Pipe({name: 'tuiDocExampleCapitalize'})\nexport class TuiDocExampleCapitalizePipe implements PipeTransform {\n transform(content: PolymorpheusContent): PolymorpheusContent {\n return typeof content === 'string' ? capitalizeFirstLetter(content) : content;\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({name: 'tuiDocExampleGetTabs'})\nexport class TuiDocExampleGetTabsPipe implements PipeTransform {\n transform(content: Record<string, string>, defaultTab: string): string[] {\n return [defaultTab, ...Object.keys(content)];\n }\n}\n","import {ClipboardModule} from '@angular/cdk/clipboard';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {TuiTabsModule} from '@taiga-ui/kit';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDocCodeModule} from '../code/code.module';\nimport {TuiDocCopyModule} from '../copy/copy.module';\nimport {TuiDocExampleComponent} from './example.component';\nimport {TuiDocExampleCapitalizePipe} from './example-capitalize.pipe';\nimport {TuiDocExampleGetTabsPipe} from './example-get-tabs.pipe';\n\n@NgModule({\n imports: [\n CommonModule,\n ClipboardModule,\n TuiTabsModule,\n TuiButtonModule,\n TuiDocCopyModule,\n TuiDocCodeModule,\n PolymorpheusModule,\n ],\n declarations: [\n TuiDocExampleComponent,\n TuiDocExampleGetTabsPipe,\n TuiDocExampleCapitalizePipe,\n ],\n exports: [\n TuiDocExampleComponent,\n TuiDocExampleGetTabsPipe,\n TuiDocExampleCapitalizePipe,\n ],\n})\nexport class TuiDocExampleModule {}\n","import {\n Component,\n forwardRef,\n HostBinding,\n Inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport {LOCAL_STORAGE, WINDOW} from '@ng-web-apis/common';\nimport {TuiSwipeService} from '@taiga-ui/cdk';\nimport {TuiBrightness, TuiModeDirective} from '@taiga-ui/core';\nimport {Subject} from 'rxjs';\n\n// @dynamic\n@Component({\n selector: 'tui-doc-main',\n templateUrl: './main.template.html',\n styleUrls: ['./main.style.less'],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: TuiModeDirective,\n useExisting: forwardRef(() => TuiDocMainComponent),\n },\n TuiSwipeService,\n ],\n})\nexport class TuiDocMainComponent {\n night =\n this.storage.getItem('night') === 'true' ||\n (this.storage.getItem('night') === null &&\n this.windowRef.matchMedia('(prefers-color-scheme: dark)').matches);\n\n readonly change$ = new Subject<void>();\n\n constructor(\n @Inject(LOCAL_STORAGE) private readonly storage: Storage,\n @Inject(WINDOW) private readonly windowRef: Window,\n ) {}\n\n @HostBinding('attr.data-mode')\n get mode(): TuiBrightness | null {\n return this.night ? 'onDark' : null;\n }\n\n onMode(night: boolean): void {\n this.night = night;\n this.change$.next();\n this.storage.setItem('night', String(night));\n }\n}\n","import {Directive, ElementRef, Inject, Input} from '@angular/core';\nimport {getElementObscurers, TuiDestroyService} from '@taiga-ui/cdk';\nimport {Subject} from 'rxjs';\nimport {debounceTime, filter, takeUntil} from 'rxjs/operators';\n\n@Directive({\n selector: '[scrollIntoView]',\n providers: [TuiDestroyService],\n})\nexport class ScrollIntoViewDirective {\n @Input()\n set scrollIntoView(shallWe: boolean) {\n this.scroll$.next(shallWe);\n }\n\n private readonly scroll$ = new Subject<boolean>();\n\n constructor(\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n ) {\n this.scroll$\n .pipe(\n debounceTime(750),\n filter(shallWe => shallWe && !!getElementObscurers(nativeElement)),\n takeUntil(destroy$),\n )\n .subscribe(() => {\n nativeElement.scrollIntoView();\n });\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {ScrollIntoViewDirective} from './scroll-into-view.directive';\n\n@NgModule({\n declarations: [ScrollIntoViewDirective],\n exports: [ScrollIntoViewDirective],\n})\nexport class ScrollIntoViewModule {}\n","const MAP: Record<string, string> = {\n а: 'f',\n б: ',',\n в: 'd',\n г: 'u',\n д: 'l',\n е: 't',\n ё: '`',\n ж: ';',\n з: 'p',\n и: 'b',\n й: 'q',\n к: 'r',\n л: 'k',\n м: 'v',\n н: 'y',\n о: 'j',\n п: 'g',\n р: 'h',\n с: 'c',\n т: 'n',\n у: 'e',\n ф: 'a',\n х: '[',\n ц: 'w',\n ч: 'x',\n ш: 'i',\n щ: 'o',\n ъ: ']',\n ы: 's',\n ь: 'm',\n ю: '.',\n я: 'z',\n};\n\n/**\n * Translates text mistakenly typed in the Russian layout into English\n * @param string string with Russian layout characters\n * @return string with English layout characters\n */\nexport function transliterateKeyboardLayout(string: string): string {\n let newStr = '';\n\n for (let i = 0; i < string.length; i++) {\n newStr += string.charAt(i) in MAP ? MAP[string.charAt(i)] : string.charAt(i);\n }\n\n return newStr;\n}\n","import {InjectionToken} from '@angular/core';\n\nimport {TuiDocPages} from '../types/pages';\n\nexport const TUI_DOC_PAGES: InjectionToken<TuiDocPages> = new InjectionToken<TuiDocPages>(\n 'Documentation pages',\n {\n factory: () => [],\n },\n);\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOC_TITLE = new InjectionToken<string>('Page title', {\n factory: () => '',\n});\n","import {InjectionToken, Provider} from '@angular/core';\nimport {ActivatedRoute, NavigationEnd, Router} from '@angular/router';\nimport {isPresent, TuiDestroyService} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\nimport {filter, map, mergeMap, takeUntil} from 'rxjs/operators';\n\nimport {TUI_DOC_PAGES} from '../../tokens/pages';\nimport {TUI_DOC_TITLE} from '../../tokens/title';\nimport {TuiDocPages} from '../../types/pages';\n\nexport const NAVIGATION_TITLE = new InjectionToken<Observable<string>>('Page title');\nexport const NAVIGATION_LABELS = new InjectionToken<readonly string[]>(\n 'Navigation sections labels for search',\n);\nexport const NAVIGATION_ITEMS: InjectionToken<readonly TuiDocPages[]> =\n new InjectionToken<readonly TuiDocPages[]>('Navigation pages');\n\nexport const NAVIGATION_PROVIDERS: Provider[] = [\n TuiDestroyService,\n {\n provide: NAVIGATION_TITLE,\n deps: [Router, ActivatedRoute, TUI_DOC_TITLE, TuiDestroyService],\n useFactory: titleProviderFactory,\n },\n {\n provide: NAVIGATION_LABELS,\n deps: [TUI_DOC_PAGES],\n useFactory: labelsProviderFactory,\n },\n {\n provide: NAVIGATION_ITEMS,\n deps: [TUI_DOC_PAGES],\n useFactory: itemsProviderFactory,\n },\n];\n\nexport function titleProviderFactory(\n router: Router,\n activatedRoute: ActivatedRoute,\n titlePrefix: string,\n destroy$: Observable<void>,\n): Observable<string> {\n return router.events.pipe(\n filter(event => event instanceof NavigationEnd),\n map(() => activatedRoute.firstChild),\n filter(isPresent),\n mergeMap(({data}) => data),\n map(({title}) => titlePrefix + title),\n takeUntil(destroy$),\n );\n}\n\nexport function labelsProviderFactory(pages: TuiDocPages): readonly string[] {\n return pages\n .map(({section}) => section)\n .filter(isPresent)\n .filter((item, index, array) => array.indexOf(item) === index);\n}\n\nexport function itemsProviderFactory(pages: TuiDocPages): readonly TuiDocPages[] {\n const labels = labelsProviderFactory(pages);\n\n return [\n ...labels.map(label => pages.filter(({section}) => section === label)),\n pages.filter(page => !page.section),\n ];\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Inject,\n Optional,\n} from '@angular/core';\nimport {Title} from '@angular/platform-browser';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {TuiSidebarDirective} from '@taiga-ui/addon-mobile';\nimport {tuiPure, uniqBy} from '@taiga-ui/cdk';\nimport {TuiBrightness, TuiModeDirective} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\nimport {map, startWith} from 'rxjs/operators';\n\nimport {TuiDocPage} from '../../interfaces/page';\nimport {TUI_DOC_SEARCH_TEXT} from '../../tokens/i18n';\nimport {TuiDocPages} from '../../types/pages';\nimport {transliterateKeyboardLayout} from '../../utils/transliterate-keyboard-layout';\nimport {\n NAVIGATION_ITEMS,\n NAVIGATION_LABELS,\n NAVIGATION_PROVIDERS,\n NAVIGATION_TITLE,\n} from './navigation.providers';\n\nconst SCROLL_INTO_VIEW_DELAY = 200;\n\n// @dynamic\n@Component({\n selector: 'tui-doc-navigation',\n templateUrl: 'navigation.template.html',\n styleUrls: ['navigation.style.less'],\n providers: NAVIGATION_PROVIDERS,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiDocNavigationComponent {\n @HostBinding('class._open')\n menuOpen = false;\n\n search = '';\n open = false;\n openPagesArr: boolean[] = [];\n openPagesGroupsArr: boolean[] = [];\n active = '';\n\n readonly mode$: Observable<TuiBrightness> = this.mode.change$.pipe(\n startWith(null),\n map(() => this.mode.mode || 'onLight'),\n );\n\n constructor(\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(Title) titleService: Title,\n @Inject(NAVIGATION_TITLE) title$: Observable<string>,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(TuiModeDirective)\n private readonly mode: TuiModeDirective,\n @Optional()\n @Inject(TuiSidebarDirective)\n readonly sidebar: unknown,\n @Inject(NAVIGATION_LABELS) readonly labels: string[],\n @Inject(NAVIGATION_ITEMS)\n readonly items: readonly TuiDocPages[],\n @Inject(TUI_DOC_SEARCH_TEXT) readonly searchText: string,\n @Inject(Router) private readonly router: Router,\n @Inject(ActivatedRoute) private readonly activatedRoute: ActivatedRoute,\n ) {\n // Angular can't navigate no anchor links\n // https://stackoverflow.com/questions/36101756/angular2-routing-with-hashtag-to-page-anchor\n title$.subscribe(title => {\n changeDetectorRef.markForCheck();\n titleService.setTitle(title);\n this.openActivePageGroup();\n this.handleAnchorLink(this.activatedRoute.snapshot.fragment);\n });\n }\n\n get canOpen(): boolean {\n return this.search.length > 2;\n }\n\n get filteredItems(): ReadonlyArray<readonly TuiDocPage[]> {\n return this.filterItems(this.flattenSubPages(this.items), this.search);\n }\n\n get itemsWithoutSections(): TuiDocPages {\n return this.items[this.items.length - 1];\n }\n\n isActive(route: string): boolean {\n return route === this.active;\n }\n\n onGroupClick(index: number): void {\n this.openPagesGroupsArr[index] = !this.openPagesGroupsArr[index];\n }\n\n closeMenu(): void {\n this.menuOpen = false;\n }\n\n onSearchChange(search: string): void {\n this.search = search;\n this.open = this.canOpen;\n }\n\n onClick(): void {\n this.open = false;\n this.menuOpen = false;\n this.search = '';\n this.openActivePageGroup();\n }\n\n @tuiPure\n private filterItems(\n items: ReadonlyArray<readonly TuiDocPage[]>,\n search: string,\n ): ReadonlyArray<readonly TuiDocPage[]> {\n return items.map(section =>\n uniqBy(\n section.filter(({title, keywords = ''}) => {\n title = title.toLowerCase();\n search = search.toLowerCase();\n keywords = keywords.toLowerCase();\n\n return (\n title.includes(search) ||\n keywords.includes(search) ||\n title.includes(transliterateKeyboardLayout(search)) ||\n keywords.includes(transliterateKeyboardLayout(search)) ||\n search.replace(/-/gi, '').includes(title)\n );\n }),\n 'title',\n ),\n );\n }\n\n @tuiPure\n private flattenSubPages(\n items: readonly TuiDocPages[],\n ): ReadonlyArray<readonly TuiDocPage[]> {\n return items.reduce<ReadonlyArray<readonly TuiDocPage[]>>(\n (array, item) => [\n ...array,\n item.reduce<readonly TuiDocPage[]>(\n (pages, page) =>\n 'subPages' in page\n ? [...pages, ...page.subPages]\n : [...pages, page],\n [],\n ),\n ],\n [],\n );\n }\n\n private isActiveRoute(route: string): boolean {\n return this.router.isActive(route, false);\n }\n\n private handleAnchorLink(hash: string): void {\n setTimeout(() => {\n this.navigateToAnchorLink(hash);\n }, SCROLL_INTO_VIEW_DELAY);\n }\n\n private openActivePageGroup(): void {\n this.items.forEach((pages, pagesIndex) => {\n pages.forEach((page, pageIndex) => {\n if ('route' in page && this.isActiveRoute(page.route)) {\n this.openPagesArr[pagesIndex] = true;\n this.active = page.route;\n }\n\n if ('subPages' in page) {\n page.subPages.forEach(subPage => {\n if (this.isActiveRoute(subPage.route)) {\n this.openPagesArr[pagesIndex] = true;\n this.openPagesGroupsArr[pagesIndex * 100 + pageIndex] = true;\n this.active = subPage.route;\n }\n });\n }\n });\n });\n }\n\n private navigateToAnchorLink(fragment: string): void {\n const element = fragment && this.documentRef.querySelector(`#${fragment}`);\n\n if (!element) {\n return;\n }\n\n element.classList.add('tui-doc-animated-example');\n element.scrollIntoView({\n block: 'start',\n inline: 'nearest',\n behavior: 'smooth',\n });\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {TuiActiveZoneModule, TuiAutoFocusModule, TuiLetModule} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiDataListModule,\n TuiDropdownControllerModule,\n TuiExpandModule,\n TuiHostedDropdownModule,\n TuiLinkModule,\n TuiModeModule,\n TuiPrimitiveTextfieldModule,\n TuiScrollbarModule,\n TuiSvgModule,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/core';\nimport {TuiAccordionModule} from '@taiga-ui/kit';\n\nimport {ScrollIntoViewModule} from '../../directives/scroll-into-view/scroll-into-view.module';\nimport {TuiDocNavigationComponent} from './navigation.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n ScrollIntoViewModule,\n TuiButtonModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiActiveZoneModule,\n TuiLetModule,\n TuiModeModule,\n TuiLinkModule,\n TuiExpandModule,\n TuiHostedDropdownModule,\n TuiDropdownControllerModule,\n TuiAccordionModule,\n TuiScrollbarModule,\n TuiSvgModule,\n TuiDataListModule,\n TuiAutoFocusModule,\n ],\n declarations: [TuiDocNavigationComponent],\n exports: [TuiDocNavigationComponent],\n})\nexport class TuiDocNavigationModule {}\n","import {InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport const TUI_DOC_LOGO = new InjectionToken<PolymorpheusContent>('Main logo', {\n factory: () => '',\n});\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {Router} from '@angular/router';\nimport {TuiSwipeService} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {merge, Subject} from 'rxjs';\nimport {distinctUntilChanged, filter, map, mapTo, startWith} from 'rxjs/operators';\n\nimport {TUI_DOC_MENU_TEXT} from '../../tokens/i18n';\nimport {TUI_DOC_LOGO} from '../../tokens/logo';\n\n@Component({\n selector: 'header[tuiDocHeader]',\n templateUrl: './header.template.html',\n styleUrls: ['./header.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiDocHeaderComponent {\n private readonly stream$ = new Subject<boolean>();\n\n readonly open$ = merge(\n this.router.events.pipe(mapTo(false)),\n this.stream$,\n this.swipes$.pipe(\n filter(swipe => swipe.direction === 'left' || swipe.direction === 'right'),\n map(swipe => swipe.direction === 'right'),\n ),\n ).pipe(startWith(false), distinctUntilChanged());\n\n constructor(\n @Inject(TUI_DOC_LOGO) readonly logo: PolymorpheusContent,\n @Inject(TUI_DOC_MENU_TEXT) readonly menu: string,\n @Inject(Router) private readonly router: Router,\n @Inject(TuiSwipeService) private readonly swipes$: TuiSwipeService,\n ) {}\n\n onClick(): void {\n this.stream$.next(true);\n }\n\n onActiveZone(active: boolean): void {\n if (!active) {\n this.stream$.next(false);\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSidebarModule} from '@taiga-ui/addon-mobile';\nimport {TuiActiveZoneModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDocNavigationModule} from '../../components/navigation/navigation.module';\nimport {TuiDocHeaderComponent} from './header.component';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiButtonModule,\n TuiSidebarModule,\n TuiActiveZoneModule,\n TuiDocNavigationModule,\n ],\n declarations: [TuiDocHeaderComponent],\n exports: [TuiDocHeaderComponent],\n})\nexport class TuiDocHeaderModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {\n TuiAlertModule,\n TuiDialogModule,\n TuiRootModule,\n TuiThemeNightModule,\n} from '@taiga-ui/core';\nimport {TuiToggleModule} from '@taiga-ui/kit';\n\nimport {TuiDocHeaderModule} from '../../internal/header/header.module';\nimport {TuiDocNavigationModule} from '../navigation/navigation.module';\nimport {TuiDocMainComponent} from './main.component';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n FormsModule,\n TuiToggleModule,\n TuiThemeNightModule,\n TuiDocHeaderModule,\n TuiRootModule,\n TuiDialogModule,\n TuiAlertModule,\n TuiDocNavigationModule,\n ],\n declarations: [TuiDocMainComponent],\n exports: [TuiDocMainComponent],\n})\nexport class TuiDocMainModule {}\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOC_DEFAULT_TABS = new InjectionToken<readonly string[]>(\n 'Array of default tab names',\n {\n factory: () => [],\n },\n);\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOC_SEE_ALSO = new InjectionToken<ReadonlyArray<readonly string[]>>(\n 'Array of arrays of related pages',\n {\n factory: () => [],\n },\n);\n","import {ElementRef, InjectionToken, Provider} from '@angular/core';\n\nimport {TUI_DOC_SEE_ALSO} from '../../tokens/see-also';\n\nexport const PAGE_SEE_ALSO = new InjectionToken<readonly string[]>('Page see also');\n\nexport const PAGE_PROVIDERS: Provider[] = [\n {\n provide: PAGE_SEE_ALSO,\n deps: [ElementRef, TUI_DOC_SEE_ALSO],\n useFactory: seeAlsoProviderFactory,\n },\n];\n\nexport function seeAlsoProviderFactory(\n {nativeElement}: ElementRef,\n seeAlsoGroups: ReadonlyArray<readonly string[]>,\n): readonly string[] {\n const currentHeader = nativeElement.getAttribute('header');\n const groups = seeAlsoGroups.filter(group => group.includes(currentHeader)) || [];\n\n const seeAlsoSet = new Set(\n groups\n .join()\n .split(',')\n .filter(component => component && component !== currentHeader),\n );\n\n return Array.from(seeAlsoSet);\n}\n","import {Directive, Inject, Input, TemplateRef} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\n@Directive({\n selector: '[pageTab]',\n})\nexport class TuiDocPageTabConnectorDirective {\n @Input()\n @tuiDefaultProp()\n pageTab?: string | '';\n\n constructor(\n @Inject(TemplateRef) readonly template: TemplateRef<Record<string, unknown>>,\n ) {}\n}\n","import {\n Attribute,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk';\n\nimport {TUI_DOC_DEFAULT_TABS} from '../../tokens/default-tabs';\nimport {PAGE_PROVIDERS, PAGE_SEE_ALSO} from './page.providers';\nimport {TuiDocPageTabConnectorDirective} from './page-tab.directive';\n\n// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395\n// @dynamic\n@Component({\n selector: 'tui-doc-page',\n templateUrl: './page.template.html',\n styleUrls: ['./page.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: PAGE_PROVIDERS,\n})\nexport class TuiDocPageComponent {\n @Input()\n header = '';\n\n @Input()\n package = '';\n\n @Input()\n type = '';\n\n @Input()\n path = '';\n\n @ContentChildren(TuiDocPageTabConnectorDirective)\n readonly tabConnectors: QueryList<TuiDocPageTabConnectorDirective> = EMPTY_QUERY;\n\n activeItemIndex = NaN;\n\n constructor(\n @Attribute('deprecated') readonly deprecated: string | null,\n @Inject(TUI_DOC_DEFAULT_TABS) readonly defaultTabs: readonly string[],\n @Inject(PAGE_SEE_ALSO) readonly seeAlso: readonly string[],\n ) {}\n\n get showSeeAlso(): boolean {\n return !!this.seeAlso.length && this.activeItemIndex === 0;\n }\n\n getRouterLink(tab: string = ''): string {\n return `./${tab.replace(/ /g, '_')}`;\n }\n}\n","import {ChangeDetectionStrategy, Component, Inject, Input} from '@angular/core';\n\nimport {TuiDocPage, TuiDocPageGroup} from '../../interfaces/page';\nimport {TUI_DOC_SEE_ALSO_TEXT} from '../../tokens/i18n';\nimport {TUI_DOC_PAGES} from '../../tokens/pages';\n\n// @dynamic\n@Component({\n selector: 'tui-doc-see-also',\n templateUrl: './see-also.template.html',\n styleUrls: ['./see-also.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiDocSeeAlsoComponent {\n @Input()\n seeAlso: readonly string[] = [];\n\n constructor(\n @Inject(TUI_DOC_SEE_ALSO_TEXT) readonly text: string,\n @Inject(TUI_DOC_PAGES)\n private readonly pages: ReadonlyArray<TuiDocPageGroup | TuiDocPage>,\n ) {}\n\n getRouterLink(pageTitle: string): string {\n for (let i = 0; i < this.pages.length; i++) {\n const page = this.pages\n .map(page => ('subPages' in page ? page.subPages : [page]))\n .reduce((pages, subPages) => [...pages, ...subPages], [])\n .find((page: TuiDocPage) => page.title === pageTitle);\n\n if (page?.route) {\n return page.route;\n }\n }\n\n return '';\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {RouterModule} from '@angular/router';\nimport {TuiLinkModule} from '@taiga-ui/core';\n\nimport {TuiDocSeeAlsoComponent} from './see-also.component';\n\n@NgModule({\n imports: [CommonModule, RouterModule, TuiLinkModule],\n declarations: [TuiDocSeeAlsoComponent],\n exports: [TuiDocSeeAlsoComponent],\n})\nexport class TuiDocSeeAlsoModule {}\n","import {InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDocSourceCodePathOptions} from '../interfaces/source-code-path-options';\n\nexport const TUI_DOC_SOURCE_CODE: InjectionToken<\n PolymorpheusContent<TuiDocSourceCodePathOptions>\n> = new InjectionToken<PolymorpheusContent<TuiDocSourceCodePathOptions>>(\n 'Source code link',\n {\n factory: () => '',\n },\n);\n","import {ChangeDetectionStrategy, Component, Inject, Input} from '@angular/core';\nimport {tuiPure} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDocSourceCodePathOptions} from '../../interfaces/source-code-path-options';\nimport {TUI_DOC_SOURCE_CODE_TEXT} from '../../tokens/i18n';\nimport {TUI_DOC_SOURCE_CODE} from '../../tokens/source-code';\n\n@Component({\n selector: 'tui-doc-source-code',\n templateUrl: './source-code.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiDocSourceCodeComponent {\n @Input()\n header = '';\n\n @Input()\n package = '';\n\n @Input()\n type = '';\n\n @Input()\n path = '';\n\n constructor(\n @Inject(TUI_DOC_SOURCE_CODE)\n readonly sourceCode: PolymorpheusContent<TuiDocSourceCodePathOptions>,\n @Inject(TUI_DOC_SOURCE_CODE_TEXT) readonly text: string,\n ) {}\n\n get pathOptions(): TuiDocSourceCodePathOptions {\n return this.getPathOptions(this.header, this.package, this.type, this.path);\n }\n\n @tuiPure\n private getPathOptions(\n header: string,\n packageName: string,\n type: string,\n path: string,\n ): TuiDocSourceCodePathOptions {\n return {\n header,\n package: packageName,\n type,\n path,\n };\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDocSourceCodeComponent} from './source-code.component';\n\n@NgModule({\n declarations: [TuiDocSourceCodeComponent],\n imports: [CommonModule, PolymorpheusModule, TuiButtonModule],\n exports: [TuiDocSourceCodeComponent],\n})\nexport class TuiDocSourceCodeModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {RouterModule} from '@angular/router';\nimport {TuiTabsModule, TuiTagModule} from '@taiga-ui/kit';\n\nimport {TuiDocSeeAlsoModule} from '../../internal/see-also/see-also.module';\nimport {TuiDocSourceCodeModule} from '../../internal/source-code/source-code.module';\nimport {TuiDocPageComponent} from './page.component';\nimport {TuiDocPageTabConnectorDirective} from './page-tab.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n TuiDocSeeAlsoModule,\n TuiTabsModule,\n TuiTagModule,\n TuiDocSourceCodeModule,\n ],\n declarations: [TuiDocPageComponent, TuiDocPageTabConnectorDirective],\n exports: [TuiDocPageComponent, TuiDocPageTabConnectorDirective],\n})\nexport class TuiDocPageModule {}\n","import {Provider} from '@angular/core';\n\nimport {\n TUI_DOC_DEMO_TEXTS,\n TUI_DOC_DOCUMENTATION_TEXTS,\n TUI_DOC_EXAMPLE_TEXTS,\n TUI_DOC_MENU_TEXT,\n TUI_DOC_SEARCH_TEXT,\n TUI_DOC_SEE_ALSO_TEXT,\n TUI_DOC_SOURCE_CODE_TEXT,\n} from '../tokens/i18n';\n\n// TODO: 3.0 remove in ivy compilation\nexport const DEMO_TEXTS = ['Сделано с помощью директивы: ', 'Фон', 'Детали формы'];\nexport const DOC_TEXTS = [\n 'Аргумент',\n 'Тип',\n 'Имя и описание',\n 'Значение',\n 'Для работы с динамическими шаблонами используется',\n];\nexport const EXAMPLE_TEXTS = ['Превью', 'Ссылка на пример скопирована', 'Готово'];\n\nexport const TUI_DOC_RUSSIAN: Provider[] = [\n {\n provide: TUI_DOC_DEMO_TEXTS,\n useValue: DEMO_TEXTS,\n },\n {\n provide: TUI_DOC_DOCUMENTATION_TEXTS,\n useValue: DOC_TEXTS,\n },\n {\n provide: TUI_DOC_EXAMPLE_TEXTS,\n useValue: EXAMPLE_TEXTS,\n },\n {\n provide: TUI_DOC_MENU_TEXT,\n useValue: 'Меню',\n },\n {\n provide: TUI_DOC_SEARCH_TEXT,\n useValue: 'Поиск',\n },\n {\n provide: TUI_DOC_SEE_ALSO_TEXT,\n useValue: 'Смотрите также',\n },\n {\n provide: TUI_DOC_SOURCE_CODE_TEXT,\n useValue: 'Исходный код',\n },\n];\n","import {NgModule} from '@angular/core';\n\nimport {TuiDocCodeModule} from './components/code/code.module';\nimport {TuiDocDemoModule} from './components/demo/demo.module';\nimport {TuiDocDocumentationModule} from './components/documentation/documentation.module';\nimport {TuiDocExampleModule} from './components/example/example.module';\nimport {TuiDocPageModule} from './components/page/page.module';\n\n@NgModule({\n exports: [\n TuiDocCodeModule,\n TuiDocDemoModule,\n TuiDocDocumentationModule,\n TuiDocPageModule,\n TuiDocExampleModule,\n ],\n})\nexport class TuiAddonDocModule {}\n","export interface TuiDocPageBase {\n readonly section?: string;\n readonly title: string;\n}\n\nexport interface TuiDocPage extends TuiDocPageBase {\n readonly route: string;\n readonly keywords?: string;\n}\n\nexport interface TuiDocPageGroup extends TuiDocPageBase {\n readonly subPages: readonly TuiDocPage[];\n}\n\nexport type RawLoaderContent = Promise<{default: string}> | string;\n\nexport const TUI_EXAMPLE_PRIMARY_FILE_NAME = {\n TS: 'TypeScript',\n LESS: 'LESS',\n HTML: 'HTML',\n} as const;\n\nexport type TuiDocExample =\n | Record<string, RawLoaderContent>\n | {\n [TUI_EXAMPLE_PRIMARY_FILE_NAME.TS]?: string;\n [TUI_EXAMPLE_PRIMARY_FILE_NAME.HTML]?: string;\n [TUI_EXAMPLE_PRIMARY_FILE_NAME.LESS]?: string;\n };\n","import {Type} from '@angular/core';\nimport {Routes} from '@angular/router';\n\n/**\n * Generates typical page routing structure\n */\nexport function generateRoutes(type: Type<unknown>): Routes {\n return [\n {\n path: '',\n component: type,\n children: [\n {\n path: ':tab',\n component: type,\n },\n ],\n },\n ];\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/addon-doc/utils/raw-load.ts","ng://@taiga-ui/addon-doc/components/code/parse-code-block.ts","ng://@taiga-ui/addon-doc/components/code/code.component.ts","ng://@taiga-ui/addon-doc/components/code/code.module.ts","ng://@taiga-ui/addon-doc/components/copy/copy.component.ts","ng://@taiga-ui/addon-doc/components/copy/copy.module.ts","ng://@taiga-ui/addon-doc/tokens/i18n.ts","ng://@taiga-ui/addon-doc/components/demo/demo.component.ts","ng://@taiga-ui/addon-doc/components/demo/demo.module.ts","ng://@taiga-ui/addon-doc/utils/color-conversion.ts","ng://@taiga-ui/addon-doc/utils/inspect.ts","ng://@taiga-ui/addon-doc/utils/coerce-value.ts","ng://@taiga-ui/addon-doc/components/documentation/documentation-property-connector.directive.ts","ng://@taiga-ui/addon-doc/components/documentation/documentation.component.ts","ng://@taiga-ui/addon-doc/internal/input-opacity/input-opacity.directive.ts","ng://@taiga-ui/addon-doc/internal/input-opacity/input-opacity.module.ts","ng://@taiga-ui/addon-doc/components/documentation/documentation.module.ts","ng://@taiga-ui/addon-doc/tokens/code-actions.ts","ng://@taiga-ui/addon-doc/tokens/code-editor.ts","ng://@taiga-ui/addon-doc/tokens/example-content-processor.ts","ng://@taiga-ui/addon-doc/utils/raw-load-record.ts","ng://@taiga-ui/addon-doc/components/example/example.component.ts","ng://@taiga-ui/addon-doc/components/example/example-capitalize.pipe.ts","ng://@taiga-ui/addon-doc/components/example/example-get-tabs.pipe.ts","ng://@taiga-ui/addon-doc/components/example/example.module.ts","ng://@taiga-ui/addon-doc/components/main/main.component.ts","ng://@taiga-ui/addon-doc/tokens/page-loaded.ts","ng://@taiga-ui/addon-doc/directives/scroll-into-view/scroll-into-view.directive.ts","ng://@taiga-ui/addon-doc/directives/scroll-into-view/scroll-into-view.module.ts","ng://@taiga-ui/addon-doc/utils/transliterate-keyboard-layout.ts","ng://@taiga-ui/addon-doc/tokens/pages.ts","ng://@taiga-ui/addon-doc/tokens/title.ts","ng://@taiga-ui/addon-doc/components/navigation/navigation.providers.ts","ng://@taiga-ui/addon-doc/components/navigation/navigation.component.ts","ng://@taiga-ui/addon-doc/components/navigation/navigation.module.ts","ng://@taiga-ui/addon-doc/tokens/logo.ts","ng://@taiga-ui/addon-doc/internal/header/header.component.ts","ng://@taiga-ui/addon-doc/internal/header/header.module.ts","ng://@taiga-ui/addon-doc/components/main/main.module.ts","ng://@taiga-ui/addon-doc/tokens/default-tabs.ts","ng://@taiga-ui/addon-doc/tokens/see-also.ts","ng://@taiga-ui/addon-doc/components/page/page.providers.ts","ng://@taiga-ui/addon-doc/components/page/page-tab.directive.ts","ng://@taiga-ui/addon-doc/components/page/page.component.ts","ng://@taiga-ui/addon-doc/internal/see-also/see-also.component.ts","ng://@taiga-ui/addon-doc/internal/see-also/see-also.module.ts","ng://@taiga-ui/addon-doc/tokens/source-code.ts","ng://@taiga-ui/addon-doc/internal/source-code/source-code.component.ts","ng://@taiga-ui/addon-doc/internal/source-code/source-code.module.ts","ng://@taiga-ui/addon-doc/components/page/page.module.ts","ng://@taiga-ui/addon-doc/languages/russian.ts","ng://@taiga-ui/addon-doc/addon-doc.module.ts","ng://@taiga-ui/addon-doc/interfaces/page.ts","ng://@taiga-ui/addon-doc/utils/generate-routes.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__assign","assign","t","s","i","n","arguments","length","apply","this","__decorate","decorators","target","key","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__param","paramIndex","decorator","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","v","op","TypeError","pop","push","create","__values","o","m","__read","ar","error","__spread","concat","rawLoad","content","_a","_b","default","tryParseMarkdownCodeBlock","text","MarkdownIt","parse","filter","tag","type","map","TuiDocCodeComponent","rawLoader$$","BehaviorSubject","filename","processor$","pipe","switchMap","code","Input","HostBinding","Component","selector","template","TuiDocCodeModule","NgModule","imports","CommonModule","HighlightModule","declarations","exports","TuiDocCopyComponent","texts$","copy$","Subject","switchMapTo","timer","mapTo","startWith","onClick","Observable","Inject","args","TUI_COPY_TEXTS","tuiPure","changeDetection","ChangeDetectionStrategy","OnPush","providers","TuiDestroyService","TuiDocCopyModule","TuiButtonModule","TUI_DOC_DEMO_TEXTS","InjectionToken","factory","TUI_DOC_DOCUMENTATION_TEXTS","TUI_DOC_EXAMPLE_TEXTS","TUI_DOC_MENU_TEXT","TUI_DOC_SEARCH_TEXT","TUI_DOC_SEE_ALSO_TEXT","TUI_DOC_SOURCE_CODE_TEXT","TuiDocDemoComponent","isMobile","destroy$","renderer","platformId","locationRef","urlSerializer","texts","_this","initialX","wrapperWidth","control","updateOnVariants","updateOn","expanded","opaque","modeControl","FormControl","mode","change$","items","isBrowser","isPlatformBrowser","parsedMode","path","match","setValue","valueChanges","takeUntil","subscribe","urlTree","queryParams","tuiMode","go","String","onResize","setResizerTextContent","ngOnInit","createForm","ngAfterViewInit","resizerText","paddingLeft","getComputedStyle","nativeElement","offsetWidth","textContent","parseInt","onDragStart","event","preventDefault","clientX","wrapper","onDragContinues","deltaX","resizeContent","onDragEnd","toggleDetails","updateOnChange","testForm","FormGroup","testValue","delta","setStyle","px","Math","max","TUI_IS_MOBILE","Renderer2","PLATFORM_ID","Location","UrlSerializer","ViewChild","ContentChild","TemplateRef","HostListener","TuiDocDemoComponent_1","provide","TuiModeDirective","useExisting","forwardRef","TuiDocDemoModule","ReactiveFormsModule","FormsModule","RouterModule","TuiLinkModule","TuiDragModule","TuiSelectModule","TuiExpandModule","TuiGroupModule","TuiTooltipModule","TuiModeModule","TuiRadioBlockModule","TuiCheckboxLabeledModule","TuiSvgModule","TuiDataListWrapperModule","TuiDataListModule","TuiTextfieldControllerModule","TuiHintControllerModule","rgbToHex","x","toString","padStart","join","hexToRgb","hex","matches","replace","split","char","array","Number","inspectAny","data","depth","RegExp","isArray","first","index","inspectArray","object","inspectObject","coerceValue","prepared","trim","includes","isEmptyParamValue","isBooleanParamValue","test","isNumberParamValue","decodedValue","decodeURIComponent","startsWith","endsWith","isPossibleArray","isPossibleObject","JSON","TuiDocDocumentationPropertyConnectorDirective","activatedRoute","documentationPropertyName","documentationPropertyMode","documentationPropertyType","documentationPropertyDeprecated","documentationPropertyValues","documentationPropertyValueChange","EventEmitter","changed$","emits$","parseParams","snapshot","ngOnChanges","onValueChange","documentationPropertyValue","emit","setQueryParam","emitEvent","console","info","attrName","params","propertyValue","propertyValueWithSuffix","tree","isValueAvailableByKey","computedValue","indexOf","suffix","propName","ActivatedRoute","Output","Directive","exportAs","TuiDocDocumentationComponent","changeDetectorRef","heading","showValues","isAPI","propertiesConnectors","EMPTY_QUERY","activeItemIndex","ngAfterContentInit","itemsQueryListObservable","merge","watch","getColor","color","reduce","current","parsed","getOpacity","lastComma","lastIndexOf","slice","round","parseFloat","onColorChange","connector","opacity","onOpacityChange","stripOptional","name","isOptional","isPrimitivePolymorpheusContent","showCleaner","showContentTooltip","ChangeDetectorRef","ContentChildren","animations","trigger","transition","style","animate","TuiInputOpacityDirective","tuiFocusableComponent","nativeFocusableElement","TUI_FOCUSABLE_ITEM_ACCESSOR","TuiInputOpacityModule","TuiDocDocumentationModule","TuiBadgeModule","TuiToggleModule","TuiInputCountModule","TuiPrimitiveTextfieldModule","TuiDropdownControllerModule","TuiNotificationModule","TUI_DOC_CODE_ACTIONS","TUI_DOC_CODE_EDITOR","TUI_DOC_EXAMPLE_CONTENT_PROCESSOR","identity","rawLoadRecord","example","processedContent","entries","_c","_d","_e","_g","TuiDocExampleComponent","id","clipboard","notifications","location","copyTexts$","codeEditor","processContent","isCypress","codeActions","description","componentName","pathname","defaultTabIndex","defaultTab","loading$","copyExampleLink","hashPosition","href","url","copy","show","status","edit","files","finally","Attribute","Clipboard","TuiNotificationsService","LOCATION","Optional","TUI_IS_CYPRESS","TuiDocExampleCapitalizePipe","transform","capitalizeFirstLetter","Pipe","TuiDocExampleGetTabsPipe","keys","TuiDocExampleModule","ClipboardModule","TuiTabsModule","PolymorpheusModule","TuiDocMainComponent","storage","windowRef","night","getItem","matchMedia","onMode","setItem","Storage","LOCAL_STORAGE","Window","WINDOW","TuiDocMainComponent_1","encapsulation","ViewEncapsulation","None","TuiSwipeService","TUI_DOC_PAGE_LOADED","defer","of","ScrollIntoViewDirective","readyToScroll$","scroll$","ReplaySubject","Boolean","debounceTime","shallWe","getElementObscurers","scrollIntoView","ElementRef","TuiScrollIntoViewLinkDirective","__","constructor","__extends","_super","ScrollIntoViewModule","TuiScrollIntoViewLinkModule","MAP","а","б","в","г","д","е","ё","ж","з","и","й","к","л","м","н","о","п","р","с","т","у","ф","х","ц","ч","ш","щ","ъ","ы","ь","ю","я","transliterateKeyboardLayout","string","newStr","charAt","TUI_DOC_PAGES","TUI_DOC_TITLE","NAVIGATION_TITLE","NAVIGATION_LABELS","NAVIGATION_ITEMS","NAVIGATION_PROVIDERS","deps","Router","useFactory","titleProviderFactory","labelsProviderFactory","itemsProviderFactory","router","titlePrefix","events","NavigationEnd","firstChild","isPresent","mergeMap","title","pages","section","item","page","TuiDocNavigationComponent","titleService","title$","documentRef","sidebar","labels","searchText","menuOpen","search","open","openPagesArr","openPagesGroupsArr","active","mode$","markForCheck","setTitle","openActivePageGroup","handleAnchorLink","fragment","filterItems","flattenSubPages","isActive","route","onGroupClick","closeMenu","onSearchChange","canOpen","uniqBy","keywords","toLowerCase","subPages","isActiveRoute","hash","take","navigateToAnchorLink","forEach","pagesIndex","pageIndex","subPage","element","querySelector","classList","add","block","inline","behavior","Title","Document","DOCUMENT","TuiSidebarDirective","TuiDocNavigationModule","TuiActiveZoneModule","TuiLetModule","TuiHostedDropdownModule","TuiAccordionModule","TuiScrollbarModule","TuiAutoFocusModule","TUI_DOC_LOGO","TuiDocHeaderComponent","logo","menu","swipes$","stream$","open$","swipe","direction","distinctUntilChanged","onActiveZone","TuiDocHeaderModule","TuiSidebarModule","TuiDocMainModule","TuiThemeNightModule","TuiRootModule","TuiDialogModule","TuiAlertModule","TUI_DOC_DEFAULT_TABS","TUI_DOC_SEE_ALSO","PAGE_SEE_ALSO","PAGE_PROVIDERS","seeAlsoProviderFactory","seeAlsoGroups","currentHeader","getAttribute","groups","group","seeAlsoSet","Set","component","from","TuiDocPageTabConnectorDirective","tuiDefaultProp","TuiDocPageComponent","deprecated","defaultTabs","seeAlso","header","package","tabConnectors","NaN","getRouterLink","tab","TuiDocSeeAlsoComponent","pageTitle","find","TuiDocSeeAlsoModule","TUI_DOC_SOURCE_CODE","TuiDocSourceCodeComponent","sourceCode","getPathOptions","packageName","TuiDocSourceCodeModule","TuiDocPageModule","TuiTagModule","DEMO_TEXTS","DOC_TEXTS","EXAMPLE_TEXTS","TUI_DOC_RUSSIAN","useValue","TuiAddonDocModule","TS","LESS","HTML","children"],"mappings":"42CAgBA,IAAIA,EAAgB,SAASC,EAAGC,GAI5B,OAHAF,EAAgBG,OAAOC,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAUL,EAAGC,GAAKD,EAAEI,UAAYH,IACvE,SAAUD,EAAGC,GAAK,IAAK,IAAIK,KAAKL,EAAOC,OAAOK,UAAUC,eAAeC,KAAKR,EAAGK,KAAIN,EAAEM,GAAKL,EAAEK,MAC3EN,EAAGC,IAWrB,IAAIS,EAAW,WAQlB,OAPAA,EAAWR,OAAOS,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAIR,KADTO,EAAIG,UAAUF,GACOZ,OAAOK,UAAUC,eAAeC,KAAKI,EAAGP,KAAIM,EAAEN,GAAKO,EAAEP,IAE9E,OAAOM,IAEKM,MAAMC,KAAMH,YAezB,SAASI,EAAWC,EAAYC,EAAQC,EAAKC,GAChD,IAA2HxB,EAAvHyB,EAAIT,UAAUC,OAAQS,EAAID,EAAI,EAAIH,EAAkB,OAATE,EAAgBA,EAAOtB,OAAOyB,yBAAyBL,EAAQC,GAAOC,EACrH,GAAuB,iBAAZI,SAAoD,mBAArBA,QAAQC,SAAyBH,EAAIE,QAAQC,SAASR,EAAYC,EAAQC,EAAKC,QACpH,IAAK,IAAIV,EAAIO,EAAWJ,OAAS,EAAGH,GAAK,EAAGA,KAASd,EAAIqB,EAAWP,MAAIY,GAAKD,EAAI,EAAIzB,EAAE0B,GAAKD,EAAI,EAAIzB,EAAEsB,EAAQC,EAAKG,GAAK1B,EAAEsB,EAAQC,KAASG,GAChJ,OAAOD,EAAI,GAAKC,GAAKxB,OAAO4B,eAAeR,EAAQC,EAAKG,GAAIA,EAGzD,SAASK,EAAQC,EAAYC,GAChC,OAAO,SAAUX,EAAQC,GAAOU,EAAUX,EAAQC,EAAKS,IAOpD,SAASE,EAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,IAAW,MAAOG,GAAKL,EAAOK,IACpF,SAASC,EAASJ,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,IAAW,MAAOG,GAAKL,EAAOK,IACvF,SAASF,EAAKI,GAJlB,IAAeL,EAIaK,EAAOC,KAAOT,EAAQQ,EAAOL,QAJ1CA,EAIyDK,EAAOL,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,OAITO,KAAKR,EAAWK,GAClGH,GAAMN,EAAYA,EAAUpB,MAAMiB,EAASC,GAAc,KAAKS,WAI/D,SAASM,EAAYhB,EAASiB,GACjC,IAAsGC,EAAGC,EAAG1C,EAAG2C,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAP9C,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,IAAO+C,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAEV,KAAMgB,EAAK,GAAIC,MAASD,EAAK,GAAIE,OAAUF,EAAK,IAAwB,mBAAXG,SAA0BT,EAAES,OAAOC,UAAY,WAAa,OAAO9C,OAAUoC,EACvJ,SAASM,EAAK9C,GAAK,OAAO,SAAUmD,GAAK,OACzC,SAAcC,GACV,GAAId,EAAG,MAAM,IAAIe,UAAU,mCAC3B,KAAOZ,GAAG,IACN,GAAIH,EAAI,EAAGC,IAAM1C,EAAY,EAARuD,EAAG,GAASb,EAAU,OAAIa,EAAG,GAAKb,EAAS,SAAO1C,EAAI0C,EAAU,SAAM1C,EAAEH,KAAK6C,GAAI,GAAKA,EAAET,SAAWjC,EAAIA,EAAEH,KAAK6C,EAAGa,EAAG,KAAKlB,KAAM,OAAOrC,EAE3J,OADI0C,EAAI,EAAG1C,IAAGuD,EAAK,CAAS,EAARA,EAAG,GAAQvD,EAAE+B,QACzBwB,EAAG,IACP,KAAK,EAAG,KAAK,EAAGvD,EAAIuD,EAAI,MACxB,KAAK,EAAc,OAAXX,EAAEC,QAAgB,CAAEd,MAAOwB,EAAG,GAAIlB,MAAM,GAChD,KAAK,EAAGO,EAAEC,QAASH,EAAIa,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKX,EAAEI,IAAIS,MAAOb,EAAEG,KAAKU,MAAO,SACxC,QACI,KAAMzD,EAAI4C,EAAEG,MAAM/C,EAAIA,EAAEK,OAAS,GAAKL,EAAEA,EAAEK,OAAS,KAAkB,IAAVkD,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAEX,EAAI,EAAG,SACjG,GAAc,IAAVW,EAAG,MAAcvD,GAAMuD,EAAG,GAAKvD,EAAE,IAAMuD,EAAG,GAAKvD,EAAE,IAAM,CAAE4C,EAAEC,MAAQU,EAAG,GAAI,MAC9E,GAAc,IAAVA,EAAG,IAAYX,EAAEC,MAAQ7C,EAAE,GAAI,CAAE4C,EAAEC,MAAQ7C,EAAE,GAAIA,EAAIuD,EAAI,MAC7D,GAAIvD,GAAK4C,EAAEC,MAAQ7C,EAAE,GAAI,CAAE4C,EAAEC,MAAQ7C,EAAE,GAAI4C,EAAEI,IAAIU,KAAKH,GAAK,MACvDvD,EAAE,IAAI4C,EAAEI,IAAIS,MAChBb,EAAEG,KAAKU,MAAO,SAEtBF,EAAKf,EAAK3C,KAAK0B,EAASqB,GAC1B,MAAOV,GAAKqB,EAAK,CAAC,EAAGrB,GAAIQ,EAAI,EAAI,QAAWD,EAAIzC,EAAI,EACtD,GAAY,EAARuD,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAExB,MAAOwB,EAAG,GAAKA,EAAG,QAAK,EAAQlB,MAAM,GArB9BL,CAAK,CAAC7B,EAAGmD,MAyBhChE,OAAOqE,OAgB7B,SAASC,EAASC,GACrB,IAAI5D,EAAsB,mBAAXmD,QAAyBA,OAAOC,SAAUS,EAAI7D,GAAK4D,EAAE5D,GAAIC,EAAI,EAC5E,GAAI4D,EAAG,OAAOA,EAAEjE,KAAKgE,GACrB,GAAIA,GAAyB,iBAAbA,EAAExD,OAAqB,MAAO,CAC1C4B,KAAM,WAEF,OADI4B,GAAK3D,GAAK2D,EAAExD,SAAQwD,OAAI,GACrB,CAAE9B,MAAO8B,GAAKA,EAAE3D,KAAMmC,MAAOwB,KAG5C,MAAM,IAAIL,UAAUvD,EAAI,0BAA4B,mCAGjD,SAAS8D,EAAOF,EAAG1D,GACtB,IAAI2D,EAAsB,mBAAXV,QAAyBS,EAAET,OAAOC,UACjD,IAAKS,EAAG,OAAOD,EACf,IAAmB/C,EAAYoB,EAA3BhC,EAAI4D,EAAEjE,KAAKgE,GAAOG,EAAK,GAC3B,IACI,WAAc,IAAN7D,GAAgBA,KAAM,MAAQW,EAAIZ,EAAE+B,QAAQI,MAAM2B,EAAGN,KAAK5C,EAAEiB,OAExE,MAAOkC,GAAS/B,EAAI,CAAE+B,MAAOA,GACjC,QACQ,IACQnD,IAAMA,EAAEuB,OAASyB,EAAI5D,EAAU,SAAI4D,EAAEjE,KAAKK,GAE1D,QAAkB,GAAIgC,EAAG,MAAMA,EAAE+B,OAE7B,OAAOD,EAIJ,SAASE,IACZ,IAAK,IAAIF,EAAK,GAAI9D,EAAI,EAAGA,EAAIE,UAAUC,OAAQH,IAC3C8D,EAAKA,EAAGG,OAAOJ,EAAO3D,UAAUF,KACpC,OAAO8D,EAyDc1E,OAAOqE,gBCnNVS,EAAQC,0GACnBA,aAAmB1C,QAAW,CAAA,EAAM0C,GAApC,CAAA,EAAA,iBAA6BC,EAACC,EAAAzB,OAAe0B,qBAAUF,EAAAD,mBAA9D,MAAA,CAAA,EAAAC,mBCAYG,EAA0BC,QAAA,IAAAA,IAAAA,EAAA,IACtC,IACMtC,GADkB,IAAIuC,GAAaC,MAAMF,EAAM,IAEhDG,QAAO,SAACP,OAACQ,EAAAR,EAAAQ,IAAKC,EAAAT,EAAAS,KAAU,MAAQ,SAARD,GAA2B,UAATC,KAC1CC,KAAI,SAACV,GAAc,OAAbA,EAAAD,WAEX,OAAOjC,EAAO/B,OAAS+B,EAAS,CAACsC,oBCIrC,SAAAO,IACqB1E,KAAA2E,YAAc,IAAIC,EAAAA,gBAAkC,IAGrE5E,KAAA6E,SAAW,GAEF7E,KAAA8E,WAAa9E,KAAK2E,YAAYI,KACnCC,EAAAA,UAAUnB,GACVY,EAAAA,IAAIP,IAYZ,OARInF,OAAA4B,eAAI+D,EAAAtF,UAAA,OAAI,KAAR,SAAS6F,GACLjF,KAAK2E,YAAYjD,KAAKuD,oCAI1BlG,OAAA4B,eAAI+D,EAAAtF,UAAA,cAAW,KAAf,WACI,QAASY,KAAK6E,0CAdlB5E,EAAA,CADCiF,EAAAA,wCASDjF,EAAA,CADCiF,EAAAA,kCAMDjF,EAAA,CADCkF,EAAAA,YAAY,wDAhBJT,EAAmBzE,EAAA,CAL/BmF,EAAAA,UAAU,CACPC,SAAU,eACVC,SAAA,stCAGSZ,mBCFb,SAAAa,KAA+B,OAAlBA,EAAgBtF,EAAA,CAL5BuF,EAAAA,SAAS,CACNC,QAAS,CAACC,EAAAA,aAAcC,EAAAA,iBACxBC,aAAc,CAAClB,GACfmB,QAAS,CAACnB,MAEDa,mBCQT,SAAAO,EAA6CC,GAAA/F,KAAA+F,OAAAA,EAF5B/F,KAAAgG,MAAQ,IAAIC,EAAAA,QAcjC,OATIlH,OAAA4B,eAAImF,EAAA1G,UAAA,UAAO,KAAX,WACI,OAAOY,KAAKgG,MAAMjB,KACdmB,EAAAA,YAAYC,EAAAA,MAlBD,MAkBuBpB,KAAKqB,EAAAA,OAAM,GAAQC,EAAAA,WAAU,uCAIvEP,EAAA1G,UAAAkH,QAAA,WACItG,KAAKgG,MAAMtE,iDAVsC6E,EAAAA,WAAUrG,WAAA,CAAA,CAAAsE,KAAlDgC,EAAAA,OAAMC,KAAA,CAACC,EAAAA,qBAGpBzG,EAAA,CADC0G,EAAAA,qCALQb,EAAmB7F,EAAA,CAP/BmF,EAAAA,UAAU,CACPC,SAAU,eACVC,SAAA,seAEAsB,gBAAiBC,EAAAA,wBAAwBC,OACzCC,UAAW,CAACC,EAAAA,wrBAKCpG,EAAA,EAAA4F,EAAAA,OAAOE,EAAAA,kBAHXZ,mBCLb,SAAAmB,KAA+B,OAAlBA,EAAgBhH,EAAA,CAL5BuF,EAAAA,SAAS,CACNC,QAAS,CAACC,EAAAA,aAAcwB,EAAAA,iBACxBtB,aAAc,CAACE,GACfD,QAAS,CAACC,MAEDmB,MCDAE,EAAqB,IAAIC,EAAAA,eAClC,0BACA,CACIC,QAAS,WAAM,MAAA,CAAC,+BAAgC,aAAc,iBAczDC,EAA8B,IAAIF,EAAAA,eAE7C,mCAAoC,CAClCC,QAAS,WAAM,MAAA,CACX,WACA,OACA,uBACA,QACA,8CAYKE,EAAwB,IAAIH,EAAAA,eACrC,6BACA,CACIC,QAAS,WAAM,MAAA,CAAC,UAAW,2CAA4C,WAIlEG,EAAoB,IAAIJ,EAAAA,eAAuB,iBAAkB,CAC1EC,QAAS,WAAM,MAAA,UAGNI,EAAsB,IAAIL,EAAAA,eAAuB,mBAAoB,CAC9EC,QAAS,WAAM,MAAA,YAGNK,EAAwB,IAAIN,EAAAA,eACrC,6BACA,CACIC,QAAS,WAAM,MAAA,cAIVM,EAA2B,IAAIP,EAAAA,eACxC,gCACA,CACIC,QAAS,WAAM,MAAA,8BCAnB,SAAAO,EACoCC,EACYC,EACRC,EACfC,EACHC,EACKC,EACcC,GAPzC,IAAAC,EAAApI,KACoCA,KAAA6H,SAAAA,EACY7H,KAAA8H,SAAAA,EACR9H,KAAA+H,SAAAA,EAIC/H,KAAAmI,MAAAA,EA1BjCnI,KAAAqI,SAAW,EACXrI,KAAAsI,aAAe,EAGvBtI,KAAAuI,QAAkC,KAGzBvI,KAAAsF,SAAwD,KAGjEtF,KAAAwI,iBAAmB,CAAC,SAAU,OAAQ,UACtCxI,KAAAyI,SAAyC,SACzCzI,KAAA0I,UAAW,EACX1I,KAAA2I,QAAS,EACT3I,KAAA4I,YAAc,IAAIC,EAAAA,YAClB7I,KAAA8I,KAA6B,KACpB9I,KAAA+I,QAAU,IAAI9C,EAAAA,QACdjG,KAAAgJ,MAAkC,CAAC,UAAW,UAWnDhJ,KAAKiJ,UAAYC,EAAAA,kBAAkBlB,GAEnC,IAAMmB,EAAalB,EAAYmB,OAAOC,MAAM,4BAEzB,OAAfF,GAAuBA,EAAWrJ,OAAS,GAC3CE,KAAK4I,YAAYU,SAASH,EAAW,IAGzCnJ,KAAK4I,YAAYW,aACZxE,KAAKsB,EAAAA,UAAUrG,KAAK4I,YAAYpH,OAAQgI,EAAAA,UAAUxJ,KAAK8H,WACvD2B,WAAU,SAAAX,GACP,IAAMY,EAAUxB,EAAc7D,MAAM4D,EAAYmB,QAEhDM,EAAQC,YAAWpK,EAAAA,EAAA,GACZmK,EAAQC,aAAW,CACtBC,QAASd,IAGbb,EAAY4B,GAAGC,OAAOJ,IAEtBtB,EAAKU,KAAOA,EACZV,EAAKW,QAAQrH,gBA+E7B,SA3IakG,EAiETA,EAAAxI,UAAA2K,SAAA,WACI/J,KAAKgK,yBAGTpC,EAAAxI,UAAA6K,SAAA,WACIjK,KAAKkK,cAGTtC,EAAAxI,UAAA+K,gBAAA,WACInK,KAAKgK,yBAGTpC,EAAAxI,UAAA4K,sBAAA,WACI,GAAKhK,KAAK8D,SAAY9D,KAAKoK,YAA3B,CAIA,IAAMC,EAAcrK,KAAKiJ,UACnBqB,iBAAiBtK,KAAK8D,QAAQyG,eAAeF,YAC7C,IACCG,EAAAxK,KAAA8D,QAAAyG,cAAAC,YAEPxK,KAAKoK,YAAYG,cAAcE,YAAcX,OACzCU,EAAiD,EAAnCE,SAASL,GAAe,IAAK,OAInDzC,EAAAxI,UAAAuL,YAAA,SAAYC,GACRA,EAAMC,iBACN7K,KAAKqI,SAAWuC,EAAME,QACtB9K,KAAKsI,aAAetI,KAAK+K,QAAU/K,KAAK+K,QAAQR,cAAcC,YAAc,GAGhF5C,EAAAxI,UAAA4L,gBAAA,SAAgBJ,GACZ,IAAMK,EAASjL,KAAKqI,SAAWuC,EAAME,QAErC9K,KAAKkL,cAAcD,GACnBjL,KAAKgK,yBAGTpC,EAAAxI,UAAA+L,UAAA,WACInL,KAAKsI,aAAetI,KAAK+K,QAAU/K,KAAK+K,QAAQR,cAAcC,YAAc,GAGhF5C,EAAAxI,UAAAgM,cAAA,WACIpL,KAAK0I,UAAY1I,KAAK0I,UAG1Bd,EAAAxI,UAAAiM,eAAA,SAAe5C,GACXzI,KAAKyI,SAAWA,EAChBzI,KAAKkK,cAGDtC,EAAAxI,UAAA8K,WAAR,WACU,IAAC3B,EAADvI,KAACuI,QAASE,EAAVzI,KAAUyI,SAEXF,IAILvI,KAAKsL,SAAW,IAAIC,EAAAA,UAAU,CAACC,UAAWjD,GAAU,CAACE,SAAQA,MAGzDb,EAAAxI,UAAA8L,cAAR,SAAsBO,GACbzL,KAAK+K,SAIV/K,KAAK+H,SAAS2D,SACV1L,KAAK+K,QAAQR,cACb,QACAoB,EAAAA,GAAGC,KAAKC,IAAI7L,KAAKsI,aAAemD,EAxJhB,2EA+CnBjF,EAAAA,OAAMC,KAAA,CAACqF,EAAAA,wBAC8C9E,EAAAA,kBAAiB9G,WAAA,CAAA,CAAAsE,KAAtEgC,EAAAA,OAAMC,KAAA,CAACO,EAAAA,4BACsC+E,EAAAA,UAAS7L,WAAA,CAAA,CAAAsE,KAAtDgC,EAAAA,OAAMC,KAAA,CAACsF,EAAAA,6CACPvF,EAAAA,OAAMC,KAAA,CAACuF,EAAAA,sBACuBC,EAAAA,SAAQ/L,WAAA,CAAA,CAAAsE,KAAtCgC,EAAAA,OAAMC,KAAA,CAACwF,EAAAA,mBAC8BC,EAAAA,cAAahM,WAAA,CAAA,CAAAsE,KAAlDgC,EAAAA,OAAMC,KAAA,CAACyF,EAAAA,gDACP1F,EAAAA,OAAMC,KAAA,CAACU,QAnCZlH,EAAA,CADCkM,EAAAA,UAAU,0CAIXlM,EAAA,CADCkM,EAAAA,UAAU,0CAIXlM,EAAA,CADCkM,EAAAA,UAAU,kDAQXlM,EAAA,CADCiF,EAAAA,uCAIDjF,EAAA,CADCmM,EAAAA,aAAaC,EAAAA,6CAgDdpM,EAAA,CADCqM,EAAAA,aAAa,+CAhEL1E,EAAmB2E,EAAAtM,EAAA,CAb/BmF,EAAAA,UAAU,CACPC,SAAU,eACVC,SAAA,q1KAEAsB,gBAAiBC,EAAAA,wBAAwBC,OACzCC,UAAW,CACPC,EAAAA,kBACA,CACIwF,QAASC,EAAAA,iBACTC,YAAaC,EAAAA,YAAW,WAAM,OAAAJ,4xGAmCjC3L,EAAA,EAAA4F,EAAAA,OAAOsF,EAAAA,gBACPlL,EAAA,EAAA4F,EAAAA,OAAOQ,EAAAA,oBACPpG,EAAA,EAAA4F,EAAAA,OAAOuF,EAAAA,YACPnL,EAAA,EAAA4F,EAAAA,OAAOwF,EAAAA,cACPpL,EAAA,EAAA4F,EAAAA,OAAOyF,EAAAA,WACPrL,EAAA,EAAA4F,EAAAA,OAAO0F,EAAAA,gBACPtL,EAAA,EAAA4F,EAAAA,OAAOW,KArCHS,mBCSb,SAAAgF,KAA+B,OAAlBA,EAAgB3M,EAAA,CAzB5BuF,EAAAA,SAAS,CACNC,QAAS,CACLC,EAAAA,aACAmH,EAAAA,oBACAC,EAAAA,YACAC,EAAAA,aACAC,EAAAA,cACAC,EAAAA,cACA/F,EAAAA,gBACAgG,EAAAA,gBACAC,EAAAA,gBACAC,EAAAA,eACAC,EAAAA,iBACAC,EAAAA,cACAC,EAAAA,oBACAC,EAAAA,yBACAC,EAAAA,aACAC,EAAAA,yBACAC,EAAAA,kBACAC,EAAAA,6BACAC,EAAAA,yBAEJjI,aAAc,CAACgC,GACf/B,QAAS,CAAC+B,MAEDgF,eChDGkB,EAASvN,EAAW6B,EAAWtD,GAC3C,MAAO,IAAI,CAACyB,EAAG6B,EAAGtD,GAAG2F,KAAI,SAAAsJ,GAAK,OAAAA,EAAEC,SAAS,IAAIC,SAAS,EAAG,QAAMC,KAAK,aAGxDC,EAASC,GACrB,IAAMC,EAAUD,EACXE,QAAQ,IAAK,IACbC,MAAM,IACN9J,KAAI,SAAC+J,EAAMnM,EAAGoM,GAAU,OAAkB,IAAjBA,EAAM3O,OAAe0O,EAAOA,EAAOA,KAC5DN,KAAK,IACL7E,MAAM,SAEX,OAAOgF,EACAA,EAAQ5J,KAAI,SAAAsJ,GAAK,OAAAW,OAAOhE,SAASqD,EAAG,OACrC,CAAC,EAAG,EAAG,YCoCDY,EAAcC,EAASC,GACnC,GAAa,OAATD,EACA,MAAO,OAGX,cAAeA,GACX,IAAK,SACD,MAAO,IAAIA,EAAI,IACnB,IAAK,YACL,IAAK,SACL,IAAK,UACL,IAAK,WACD,OAAO9E,OAAO8E,GAGtB,OAAIA,aAAgBE,OACThF,OAAO8E,GAGd1P,MAAM6P,QAAQH,GAxEtB,SAAsBH,EAA2BI,GAC7C,GAAc,IAAVA,EACA,MAAO,MAMX,IAHA,IAAIhN,EAAS,GACTmN,GAAQ,EAEHC,EAAQ,EAAGA,EAAQR,EAAM3O,OAAQmP,IAClCD,EACAA,GAAQ,EAERnN,GAAU,KAGdA,GAAUoN,KAASR,EAAQE,EAAWF,EAAMQ,GAAQJ,EAAQ,GAAK,QAGrE,MAAO,IAAIhN,EAAM,IAuDNqN,CAAaN,EAAMC,GApDlC,SAAuBM,EAAkCN,GACrD,GAAc,IAAVA,EACA,MAAO,MAGX,IAAIhN,EAAS,GAETmN,GAAQ,EAEZ,IAAK,IAAM5O,KAAO+O,EACTA,EAAO9P,eAAee,KAIvB4O,EACAA,GAAQ,EAERnN,GAAU,KAGdA,GAAazB,EAAG,KAAKuO,EAAWQ,EAAO/O,GAAMyO,EAAQ,IAGzD,MAAO,IAAIhN,EAAM,IAgCVuN,CAAcR,EAA6CC,YC3EtDQ,EAAe7N,GAC3B,IAAM8N,EAAWxF,OAAOtI,GAAO+N,OAE/B,GAmBJ,SAA2B/N,GACvB,MAAO,CAAC,YAAa,OAAQ,MAAO,YAAYgO,SAAShO,GApBrDiO,CAAkBH,GAClB,OAAO,KACJ,GAqBX,SAA6B9N,GACzB,MAAiB,SAAVA,GAA8B,UAAVA,EAtBhBkO,CAAoBJ,GAC3B,MAA4B,SAArBxF,OAAOwF,GACX,GAuBX,SAA4B9N,GAExB,MAAO,wBAAwBmO,KAAKnO,GAzBzBoO,CAAmBN,GAC1B,OAAOZ,OAAOY,GAGlB,IAAMO,EAAeC,mBAAmBR,GAExC,IACI,OAqBR,SAAyB9N,GACrB,OAAOA,EAAMuO,WAAW,MAAQvO,EAAMwO,SAAS,KAtBpCC,CAAgBJ,IAyB/B,SAA0BrO,GACtB,OAAOA,EAAMuO,WAAW,MAAQvO,EAAMwO,SAAS,KA1BHE,CAAiBL,GACnDM,KAAK9L,MAAMwL,GACXA,EACR,MAAA9L,GACE,OAAO8L,GCHf,iBAqCI,SAAAO,EACkC9K,EACK2C,EACMoI,EACDnI,GAHVlI,KAAAsF,SAAAA,EACKtF,KAAAiI,YAAAA,EACMjI,KAAAqQ,eAAAA,EACDrQ,KAAAkI,cAAAA,EA5B5ClI,KAAAsQ,0BAA4B,GAG5BtQ,KAAAuQ,0BAAuD,KAGvDvQ,KAAAwQ,0BAA4B,GAM5BxQ,KAAAyQ,iCAAkC,EAGlCzQ,KAAA0Q,4BAAmD,KAG1C1Q,KAAA2Q,iCAAmC,IAAIC,EAAAA,aAEvC5Q,KAAA6Q,SAAW,IAAI5K,EAAAA,QAEfjG,KAAA8Q,OAAS,IAAIlM,EAAAA,gBAAgB,GAuF1C,OA9EIwL,EAAAhR,UAAA6K,SAAA,WACIjK,KAAK+Q,YAAY/Q,KAAKqQ,eAAeW,SAASrH,cAGlD5K,OAAA4B,eAAIyP,EAAAhR,UAAA,WAAQ,KAAZ,WACI,OAAQY,KAAKuQ,2BACT,IAAK,QACD,MAAO,IAAIvQ,KAAKsQ,0BAAyB,IAC7C,IAAK,SACD,MAAO,IAAItQ,KAAKsQ,0BAAyB,IAC7C,IAAK,eACD,MAAO,KAAKtQ,KAAKsQ,0BAAyB,KAC9C,QACI,OAAOtQ,KAAKsQ,4DAIxBvR,OAAA4B,eAAIyP,EAAAhR,UAAA,WAAQ,KAAZ,WACI,QAASY,KAAK0Q,6DAGlB3R,OAAA4B,eAAIyP,EAAAhR,UAAA,mBAAgB,KAApB,WACI,MAA0C,WAAnCY,KAAKuQ,2DAGhBH,EAAAhR,UAAA6R,YAAA,WACIjR,KAAK6Q,SAASnP,QAGlB0O,EAAAhR,UAAA8R,cAAA,SAAc1P,GACVxB,KAAKmR,2BAA6B3P,EAClCxB,KAAK2Q,iCAAiCS,KAAK5P,GAC3CxB,KAAKqR,cAAc7P,IAGvB4O,EAAAhR,UAAAkS,UAAA,SAAU1G,GAEN2G,QAAQC,KAAKxR,KAAKyR,SAAU7G,GAE5B5K,KAAK8Q,OAAOpP,KAAK1B,KAAK8Q,OAAOtP,MAAQ,IAGjC4O,EAAAhR,UAAA2R,YAAR,SAAoBW,GAChB,IAAMC,EAAoCD,EAAO1R,KAAKsQ,2BAChDsB,EACFF,EAAU1R,KAAKsQ,0BAzFD,KA2FlB,GAAKqB,GAAkBC,EAAvB,CAIA,IAAMpQ,EACAoQ,GAA2B5R,KAAK0Q,4BAC5B1Q,KAAK0Q,4BAA4BkB,GACjCvC,EAAYsC,GAEtB3R,KAAKkR,cAAc1P,KAGf4O,EAAAhR,UAAAiS,cAAR,SAAsB7P,SACZqQ,EAAO7R,KAAKkI,cAAc7D,MAAMrE,KAAKiI,YAAYmB,QAEjD0I,EAAwBtQ,aAAiBzC,OACzCgT,EACFD,GAAyB9R,KAAK0Q,4BACxB1Q,KAAK0Q,4BAA4BsB,QAAQxQ,GACzCA,EAEJyQ,EAASH,EAhHG,IAgHyC,GACrDI,EAAWlS,KAAKsQ,0BAA4B2B,EAElDJ,EAAKlI,YAAWpK,EAAAA,EAAA,GACTsS,EAAKlI,eAAW5F,EAAA,IAClBmO,GAAWH,EAAahO,IAG7B/D,KAAKiI,YAAY4B,GAAGC,OAAO+H,8CAlFaxF,EAAAA,YAAWnM,WAAA,CAAA,CAAAsE,KAAlDgC,EAAAA,OAAMC,KAAA,CAAC4F,EAAAA,sBACwCJ,EAAAA,SAAQ/L,WAAA,CAAA,CAAAsE,KAAvDgC,EAAAA,OAAMC,KAAA,CAACwF,EAAAA,mBACiDkG,EAAAA,eAAcjS,WAAA,CAAA,CAAAsE,KAAtEgC,EAAAA,OAAMC,KAAA,CAAC0L,EAAAA,yBAC+CjG,EAAAA,cAAahM,WAAA,CAAA,CAAAsE,KAAnEgC,EAAAA,OAAMC,KAAA,CAACyF,EAAAA,oBA5BZjM,EAAA,CADCiF,EAAAA,yDAIDjF,EAAA,CADCiF,EAAAA,yDAIDjF,EAAA,CADCiF,EAAAA,yDAIDjF,EAAA,CADCiF,EAAAA,0DAIDjF,EAAA,CADCiF,EAAAA,+DAIDjF,EAAA,CADCiF,EAAAA,2DAIDjF,EAAA,CADCmS,EAAAA,iEArBQhC,EAA6CnQ,EAAA,CAJzDoS,EAAAA,UAAU,CACPhN,SAAU,yCACViN,SAAU,0BA+BL1R,EAAA,EAAA4F,EAAAA,OAAO6F,EAAAA,cACPzL,EAAA,EAAA4F,EAAAA,OAAOyF,EAAAA,WACPrL,EAAA,EAAA4F,EAAAA,OAAO2L,EAAAA,iBACPvR,EAAA,EAAA4F,EAAAA,OAAO0F,EAAAA,iBAhCHkE,mBCyBT,SAAAmC,EACgDC,EAEnCrK,GAFmCnI,KAAAwS,kBAAAA,EAEnCxS,KAAAmI,MAAAA,EAjBbnI,KAAAyS,QAAU,GAGVzS,KAAA0S,YAAa,EAGb1S,KAAA2S,OAAQ,EAGR3S,KAAA4S,qBACIC,EAAAA,YAEJ7S,KAAA8S,gBAAkB,EAwHtB,OAhHIP,EAAAnT,UAAA2T,mBAAA,WACIC,EAAAA,yBAAyBhT,KAAK4S,sBACzB7N,KACGC,EAAAA,WAAU,SAAAgE,GAAS,OAAAiK,EAAAA,MAAKlT,WAAA,EAAA4D,EAAIqF,EAAMvE,KAAI,SAACV,GAAe,OAAdA,EAAA8M,iBACxCqC,EAAAA,MAAMlT,KAAKwS,oBAEd/I,aAGT1K,OAAA4B,eAAI4R,EAAAnT,UAAA,OAAI,KAAR,WACI,OAAOY,KAAK2S,MAAQ3S,KAAKmI,MAAM,GAAKnI,KAAKmI,MAAM,oCAGnDoK,EAAAnT,UAAA+T,SAAA,SAASC,GACL,GAAqB,IAAjBA,EAAMtT,OACN,OAAOsT,EACF7E,MAAM,IACN8E,QAAiB,SAACxR,EAAQyR,GAAY,OAAA3P,EAAI9B,EAAM,CAAEyR,EAASA,MAAU,IACrEpF,KAAK,IACLI,QAAQ,IAAK,IAGtB,GAAI8E,EAAMrD,WAAW,KACjB,OAAOqD,EAGX,GAAc,gBAAVA,EACA,MAAO,UAGX,IAAMG,EAASH,EACV9E,QAAQ,OAAQ,IAChBA,QAAQ,QAAS,IACjBA,QAAQ,IAAK,IACbA,QAAQ,IAAK,IACbC,MAAM,KACN9J,KAAI,SAAA1B,GAAK,OAAA2L,OAAOhE,SAAS3H,EAAG,OAEjC,OAAO+K,EAAQ/N,WAAA,EAAA4D,EAAI4P,KAGvBhB,EAAAnT,UAAAoU,WAAA,SAAWJ,GACP,GAAIA,EAAMrD,WAAW,MAAQqD,EAAMrD,WAAW,QAC1C,OAAO,IAGX,GAAc,gBAAVqD,EACA,OAAO,EAGX,IAAMK,EAAYL,EAAMM,YAAY,KAC9BH,EAASH,EACVO,MAAMF,GACNnF,QAAQ,IAAK,IACbA,QAAQ,IAAK,IACbA,QAAQ,IAAK,IAElB,OAAO1C,KAAKgI,MAAkC,IAA5BlF,OAAOmF,WAAWN,KAGxChB,EAAAnT,UAAA0U,cAAA,SACIC,EACAX,GAEA,IAAMY,EAAUhU,KAAKwT,WAAWO,EAAU5C,4BAA8B,IAExE,GAAgB,MAAZ6C,EAAJ,CAMA,IACMnS,EAAS,QADHsM,EAASiF,GAAOlF,KAAK,MACP,KAAK8F,EAAU,IAAG,IAE5CD,EAAU7C,cAAcrP,QARpBkS,EAAU7C,cAAckC,IAWhCb,EAAAnT,UAAA6U,gBAAA,SACIF,EACAC,GAEA,IAEMnS,EAAS,QADHsM,EADAnO,KAAKmT,SAASY,EAAU5C,4BAA8B,KAExC,KAAK6C,EAAU,IAAG,IAE5CD,EAAU7C,cAAcrP,IAG5B0Q,EAAAnT,UAAA8U,cAAA,SAAcC,GACV,OAAOA,EAAK7F,QAAQ,IAAK,KAG7BiE,EAAAnT,UAAAgV,WAAA,SAAWD,GACP,OAAOA,EAAK3E,SAAS,MAGzB+C,EAAAnT,UAAAiV,+BAAA,SAA+B7S,GAC3B,MAAwB,iBAAVA,GAAuC,iBAAVA,GAG/C+Q,EAAAnT,UAAAkV,YAAA,SAAY9P,GACR,OAAOA,EAAKgL,SAAS,SAGzB+C,EAAAnT,UAAAmV,mBAAA,SAAmB/P,GACf,OAAOA,EAAKgL,SAAS,wBAGzB+C,EAAAnT,UAAAuP,WAAA,SAAWC,GACP,OAAOD,EAAWC,EAAM,6CAnHuC4F,EAAAA,kBAAiBtU,WAAA,CAAA,CAAAsE,KAA/EgC,EAAAA,OAAMC,KAAA,CAAC+N,EAAAA,oDACPhO,EAAAA,OAAMC,KAAA,CAACa,QAhBZrH,EAAA,CADCiF,EAAAA,uCAIDjF,EAAA,CADCiF,EAAAA,0CAIDjF,EAAA,CADCiF,EAAAA,qCAIDjF,EAAA,CADCwU,EAAAA,gBAAgBrE,+CAVRmC,EAA4BtS,EAAA,CAXxCmF,EAAAA,UAAU,CACPC,SAAU,wBACVC,SAAA,o3PAEAsB,gBAAiBC,EAAAA,wBAAwBC,OACzC4N,WAAY,CACRC,EAAAA,QAAQ,YAAa,CACjBC,EAAAA,WAAW,aAAc,CAACC,EAAAA,MAAM,CAACb,QAAS,IAAKc,EAAAA,QAAQ,4uCAqB1DlU,EAAA,EAAA4F,EAAAA,OAAOgO,EAAAA,oBACP5T,EAAA,EAAA4F,EAAAA,OAAOc,KAlBHiL,mBClBT,SAAAwC,EACwChN,EAEnBiN,GAFmBhV,KAAA+H,SAAAA,EAEnB/H,KAAAgV,sBAAAA,EAEzB,OAbIjW,OAAA4B,eAAIoU,EAAA3V,UAAA,kBAAe,KAAnB,SAAoB4U,GACT,IAAAiB,EAAAjV,KAAAgV,sBAAAC,uBAEHA,GACAjV,KAAK+H,SAAS2D,SAASuJ,EAAwB,UAAWjB,EAAU,+EAK1BjI,EAAAA,UAAS7L,WAAA,CAAA,CAAAsE,KAAtDgC,EAAAA,OAAMC,KAAA,CAACsF,EAAAA,6CACPvF,EAAAA,OAAMC,KAAA,CAACyO,EAAAA,kCAVZjV,EAAA,CADCiF,EAAAA,6CADQ6P,EAAwB9U,EAAA,CAHpCoS,EAAAA,UAAU,CACPhN,SAAU,sBAaLzE,EAAA,EAAA4F,EAAAA,OAAOuF,EAAAA,YACPnL,EAAA,EAAA4F,EAAAA,OAAO0O,EAAAA,+BAZHH,mBCEb,SAAAI,KAAoC,OAAvBA,EAAqBlV,EAAA,CAJjCuF,EAAAA,SAAS,CACNI,aAAc,CAACmP,GACflP,QAAS,CAACkP,MAEDI,mBCmDb,SAAAC,KAAwC,OAA3BA,EAAyBnV,EAAA,CA/BrCuF,EAAAA,SAAS,CACNC,QAAS,CACLC,EAAAA,aACAoH,EAAAA,YACAC,EAAAA,aACAsI,EAAAA,eACAnI,EAAAA,gBACAoI,EAAAA,gBACAjI,EAAAA,iBACAL,EAAAA,cACAuI,EAAAA,oBACAjI,EAAAA,cACAF,EAAAA,eACA+H,EACAK,EAAAA,4BACA5H,EAAAA,6BACAC,EAAAA,wBACA4H,EAAAA,4BACA9H,EAAAA,kBACAD,EAAAA,yBACAgI,EAAAA,uBAEJ9P,aAAc,CACV2M,EACAnC,GAEJvK,QAAS,CACL0M,EACAnC,MAGKgF,MCvDAO,EAAuB,IAAIvO,EAAAA,eAEtC,oDAAqD,CACnDC,QAAS,WAAM,MAAA,MCHNuO,EAAsB,IAAIxO,EAAAA,eACnC,2DCDSyO,EAET,IAAIzO,EAAAA,eAAe,+BAAgC,CAACC,QAAS,WAAM,OAAAyO,EAAAA,qBCHjDC,GAClBC,uHAEMC,EAA2C,2CAEpBlS,EAAAV,EAAAtE,OAAOmX,QAAQF,IAAQhS,EAAAD,EAAArC,6CAAzCyU,EAAA3S,EAAAQ,EAAAxC,MAAA,GAACpB,EAAG+V,EAAA,IAAErS,EAAOqS,EAAA,KAEhBC,EAAAH,EAAiBI,EAAAjW,EAAO,CAAA,EAAMyD,EAAQC,KADtC,CAAA,EAAA,WACAsS,EAAAC,GAAwBC,EAAA/T,yMAIhC,MAAA,CAAA,EAAO0T,4BCmDP,SAAAM,EAEaC,EAC2BC,EAEnBC,EACkBC,EACMC,EACDzO,EAG/B0O,EAEQC,EAIgBC,EACMC,GAlB3C,IAAA5O,EAAApI,KAEaA,KAAAwW,GAAAA,EAC2BxW,KAAAyW,UAAAA,EAEnBzW,KAAA0W,cAAAA,EACkB1W,KAAA2W,SAAAA,EACM3W,KAAA4W,WAAAA,EACD5W,KAAAmI,MAAAA,EAG/BnI,KAAA6W,WAAAA,EAEQ7W,KAAA8W,eAAAA,EAIgB9W,KAAA+W,UAAAA,EACM/W,KAAAgX,YAAAA,EAjD1BhX,KAAA2E,YAAc,IAAIC,EAAAA,gBAA+B,IAGlE5E,KAAAyS,QAA+B,GAG/BzS,KAAAiX,YAAmC,GAQnCjX,KAAAkX,cAAwBlX,KAAK2W,SAASQ,SAASxD,MAAM,GAE5C3T,KAAAoX,gBAAkB,EAElBpX,KAAAqX,WAAarX,KAAKmI,MAAMnI,KAAKoX,iBAEtCpX,KAAA8S,gBAAkB9S,KAAKoX,gBAEdpX,KAAAgG,MAAQhG,KAAK4W,WAAW7R,KAAKN,EAAAA,KAAI,SAACV,GAAW,OAAXP,EAAAO,EAAA,GAAC,OAEnC/D,KAAA8E,WAAiD9E,KAAK2E,YAAYI,KACvEC,EAAAA,UAAU+Q,IACVtR,EAAAA,KAAI,SAAAjD,GAAS,OAAA4G,EAAK0O,eAAetV,OAG5BxB,KAAAsX,SAAW,IAAIrR,EAAAA,QA8C5B,OAlEIlH,OAAA4B,eAAI4V,EAAAnX,UAAA,UAAO,KAAX,SAAY0E,GACR9D,KAAK2E,YAAYjD,KAAKoC,oCA0C1ByS,EAAAnX,UAAAmY,gBAAA,WACI,IAAMC,EAAexX,KAAK2W,SAASc,KAAKzF,QAAQ,KAK1C0F,GAHFF,GAAgB,EACVxX,KAAK2W,SAASc,KAAK9D,MAAM,EAAG/H,KAAKC,IAAI,EAAG2L,IACxCxX,KAAK2W,SAASc,MACC,IAAIzX,KAAKwW,GAElCxW,KAAKyW,UAAUkB,KAAKD,GACpB1X,KAAK0W,cACAkB,KAAK5X,KAAKmI,MAAM,GAAI,CACjB7F,MAAOtC,KAAKmI,MAAM,GAClB0P,OAAM,YAETpO,aAGT8M,EAAAnX,UAAA0Y,KAAA,SAAKC,GAAL,QAAA3P,EAAApI,KACIA,KAAKsX,SAAS5V,MAAK,GACJ,QAAfqC,EAAA/D,KAAK6W,kBAAU,IAAA9S,GAAAA,EACT+T,KAAK9X,KAAKkX,cAAsB,QAATlT,EAAEhE,KAAKwW,UAAE,IAAAxS,EAAAA,EAAI,GAAI+T,GACzCC,SAAQ,WAAM,OAAA5P,EAAKkP,SAAS5V,MAAK,yEAzCrCuW,EAAAA,UAASxR,KAAA,CAAC,eAEoCyR,EAAAA,UAAShY,WAAA,CAAA,CAAAsE,KAAvDgC,EAAAA,OAAMC,KAAA,CAACyR,EAAAA,oBAEwBC,EAAAA,wBAAuBjY,WAAA,CAAA,CAAAsE,KADtDgC,EAAAA,OAAMC,KAAA,CAAC0R,EAAAA,kCAEqClM,SAAQ/L,WAAA,CAAA,CAAAsE,KAApDgC,EAAAA,OAAMC,KAAA,CAAC2R,EAAAA,mBAC6C7R,EAAAA,WAAUrG,WAAA,CAAA,CAAAsE,KAA9DgC,EAAAA,OAAMC,KAAA,CAACC,EAAAA,iDACPF,EAAAA,OAAMC,KAAA,CAACc,qCACP8Q,EAAAA,UAAQ,CAAA7T,KACRgC,EAAAA,OAAMC,KAAA,CAACmP,qCAEPpP,EAAAA,OAAMC,KAAA,CAACoP,sCAKPrP,EAAAA,OAAMC,KAAA,CAAC6R,EAAAA,iDACP9R,EAAAA,OAAMC,KAAA,CAACkP,QA9CZ1V,EAAA,CADCiF,EAAAA,uCAIDjF,EAAA,CADCiF,EAAAA,2CAIDjF,EAAA,CADCiF,EAAAA,qCAMDjF,EAAA,CADCiF,EAAAA,6CAdQqR,EAAsBtW,EAAA,CANlCmF,EAAAA,UAAU,CACPC,SAAU,kBACVC,SAAA,q2FAEAsB,gBAAiBC,EAAAA,wBAAwBC,qwDAmCpClG,EAAA,EAAAqX,EAAAA,UAAU,OAEVrX,EAAA,EAAA4F,EAAAA,OAAO0R,EAAAA,YACPtX,EAAA,EAAA4F,EAAAA,OAAO2R,EAAAA,0BAEPvX,EAAA,EAAA4F,EAAAA,OAAO4R,EAAAA,WACPxX,EAAA,EAAA4F,EAAAA,OAAOE,EAAAA,iBACP9F,EAAA,EAAA4F,EAAAA,OAAOe,IACP3G,EAAA,EAAAyX,EAAAA,YACAzX,EAAA,EAAA4F,EAAAA,OAAOoP,IAEPhV,EAAA,EAAA4F,EAAAA,OAAOqP,IAKPjV,EAAA,EAAA4F,EAAAA,OAAO8R,EAAAA,iBACP1X,EAAA,EAAA4F,EAAAA,OAAOmP,KAlDHY,oBC5Bb,SAAAgC,KAIA,OAHIA,EAAAnZ,UAAAoZ,UAAA,SAAU1U,GACN,MAA0B,iBAAZA,EAAuB2U,EAAAA,sBAAsB3U,GAAWA,GAFjEyU,EAA2BtY,EAAA,CADvCyY,EAAAA,KAAK,CAACvE,KAAM,6BACAoE,oBCFb,SAAAI,KAIA,OAHIA,EAAAvZ,UAAAoZ,UAAA,SAAU1U,EAAiCuT,GACvC,OAAA1T,EAAA,CAAQ0T,GAAetY,OAAO6Z,KAAK9U,KAF9B6U,EAAwB1Y,EAAA,CADpCyY,EAAAA,KAAK,CAACvE,KAAM,0BACAwE,oBC+Bb,SAAAE,KAAkC,OAArBA,EAAmB5Y,EAAA,CArB/BuF,EAAAA,SAAS,CACNC,QAAS,CACLC,EAAAA,aACAoT,EAAAA,gBACAC,EAAAA,cACA7R,EAAAA,gBACAD,EACA1B,EACAyT,EAAAA,oBAEJpT,aAAc,CACV2Q,GACAoC,GACAJ,IAEJ1S,QAAS,CACL0Q,GACAoC,GACAJ,OAGKM,oBCAT,SAAAI,EAC4CC,EACPC,GADOnZ,KAAAkZ,QAAAA,EACPlZ,KAAAmZ,UAAAA,EATrCnZ,KAAAoZ,MACsC,SAAlCpZ,KAAKkZ,QAAQG,QAAQ,UACc,OAAlCrZ,KAAKkZ,QAAQG,QAAQ,UAClBrZ,KAAKmZ,UAAUG,WAAW,gCAAgCjL,QAEzDrO,KAAA+I,QAAU,IAAI9C,EAAAA,cAiB3B,SAvBagT,EAcTla,OAAA4B,eAAIsY,EAAA7Z,UAAA,OAAI,KAAR,WACI,OAAOY,KAAKoZ,MAAQ,SAAW,sCAGnCH,EAAA7Z,UAAAma,OAAA,SAAOH,GACHpZ,KAAKoZ,MAAQA,EACbpZ,KAAK+I,QAAQrH,OACb1B,KAAKkZ,QAAQM,QAAQ,QAAS1P,OAAOsP,8CAZYK,QAAOvZ,WAAA,CAAA,CAAAsE,KAAvDgC,EAAAA,OAAMC,KAAA,CAACiT,EAAAA,wBACoCC,OAAMzZ,WAAA,CAAA,CAAAsE,KAAjDgC,EAAAA,OAAMC,KAAA,CAACmT,EAAAA,aAIZ3Z,EAAA,CADCkF,EAAAA,YAAY,4CAbJ8T,EAAmBY,EAAA5Z,EAAA,CAb/BmF,EAAAA,UAAU,CACPC,SAAU,eACVC,SAAA,8hDAEAwU,cAAeC,EAAAA,kBAAkBC,KACjCjT,UAAW,CACP,CACIyF,QAASC,EAAAA,iBACTC,YAAaC,EAAAA,YAAW,WAAM,OAAAkN,MAElCI,EAAAA,gxFAYCrZ,EAAA,EAAA4F,EAAAA,OAAOkT,EAAAA,gBACP9Y,EAAA,EAAA4F,EAAAA,OAAOoT,EAAAA,UAVHX,MCtBAiB,GAAsB,IAAI9S,EAAAA,eACnC,4GACA,CAACC,QAAS,WAAM,OAAA8S,EAAAA,OAAM,WAAM,OAAAhU,EAAAA,MAAM,KAAKpB,KAAKmB,EAAAA,YAAYkU,EAAAA,IAAG,yBCkB3D,SAAAC,EAC+BvS,EACP/D,EAEXuW,OAFY/P,EAAAxG,EAAAwG,cAEZvK,KAAAsa,eAAAA,EANIta,KAAAua,QAAU,IAAIC,EAAAA,cAAuB,GAQlDxa,KAAKsa,eACAvV,KACGT,EAAAA,OAAOmW,SACPvU,EAAAA,YAAYlG,KAAKua,SACjBG,EAAAA,aAAa,KACbpW,EAAAA,QAAO,SAAAqW,GAAW,OAAAA,KAAaC,EAAAA,oBAAoBrQ,MACnDf,EAAAA,UAAU1B,IAEb2B,WAAU,WACPc,EAAcsQ,oBAG9B,OAxBI9b,OAAA4B,eAAI0Z,EAAAjb,UAAA,iBAAc,KAAlB,SAAmBub,GACf3a,KAAKua,QAAQ7Y,KAAKiZ,6EAMmB3T,EAAAA,kBAAiB9G,WAAA,CAAA,CAAAsE,KAArDgC,EAAAA,OAAMC,KAAA,CAACO,EAAAA,4BAC6B8T,EAAAA,WAAU5a,WAAA,CAAA,CAAAsE,KAA9CgC,EAAAA,OAAMC,KAAA,CAACqU,EAAAA,qBAEiBvU,EAAAA,WAAUrG,WAAA,CAAA,CAAAsE,KADlCgC,EAAAA,OAAMC,KAAA,CAACyT,SATZja,EAAA,CADCiF,EAAAA,4CADQmV,EAAuBpa,EAAA,CALnCoS,EAAAA,UAAU,CACPhN,SAAU,mBACV0B,UAAW,CAACC,EAAAA,qBAYPpG,EAAA,EAAA4F,EAAAA,OAAOQ,EAAAA,oBACPpG,EAAA,EAAA4F,EAAAA,OAAOsU,EAAAA,aACPla,EAAA,EAAA4F,EAAAA,OAAO0T,MAXHG,qBAgCb,SAAAU,mDAA6E,O5BzBtE,SAAmBlc,EAAGC,GACzB,GAAiB,mBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAImE,UAAU,uBAAyB6G,OAAOhL,GAAK,iCAE7D,SAASkc,IAAOhb,KAAKib,YAAcpc,EADnCD,EAAcC,EAAGC,GAEjBD,EAAEO,UAAkB,OAANN,EAAaC,OAAOqE,OAAOtE,IAAMkc,EAAG5b,UAAYN,EAAEM,UAAW,IAAI4b,G4BoB/BE,CAAAH,EAAAI,GAAvCJ,EAA8B9a,EAAA,CAJ1CoS,EAAAA,UAAU,CACPhN,SAAU,0BACV0B,UAAW,CAACC,EAAAA,sBAEH+T,IAAuCV,kBChCpD,SAAAe,KAAmC,OAAtBA,EAAoBnb,EAAA,CALhCuF,EAAAA,SAAS,CACNI,aAAc,CAACyU,IACfxU,QAAS,CAACwU,OAGDe,oBAMb,SAAAC,KAA0C,OAA7BA,EAA2Bpb,EAAA,CAJvCuF,EAAAA,SAAS,CACNI,aAAc,CAACmV,IACflV,QAAS,CAACkV,OAEDM,MCtBPC,GAA8B,CAChCC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,IACHC,IAAG,cAQSC,GAA4BC,GAGxC,IAFA,IAAIC,EAAS,GAEJ9d,EAAI,EAAGA,EAAI6d,EAAO1d,OAAQH,IAC/B8d,GAAUD,EAAOE,OAAO/d,KAAM2b,GAAMA,GAAIkC,EAAOE,OAAO/d,IAAM6d,EAAOE,OAAO/d,GAG9E,OAAO8d,MC3CEE,GAA6C,IAAIvW,EAAAA,eAC1D,sBACA,CACIC,QAAS,WAAM,MAAA,MCLVuW,GAAgB,IAAIxW,EAAAA,eAAuB,aAAc,CAClEC,QAAS,WAAM,MAAA,MCONwW,GAAmB,IAAIzW,EAAAA,eAAmC,cAC1D0W,GAAoB,IAAI1W,EAAAA,eACjC,yCAES2W,GACT,IAAI3W,EAAAA,eAAuC,oBAElC4W,GAAmC,CAC5ChX,EAAAA,kBACA,CACIwF,QAASqR,GACTI,KAAM,CAACC,EAAAA,OAAQ/L,EAAAA,eAAgByL,GAAe5W,EAAAA,mBAC9CmX,WAAYC,IAEhB,CACI5R,QAASsR,GACTG,KAAM,CAACN,IACPQ,WAAYE,IAEhB,CACI7R,QAASuR,GACTE,KAAM,CAACN,IACPQ,WAAYG,cAIJF,GACZG,EACAlO,EACAmO,EACA1W,GAEA,OAAOyW,EAAOE,OAAO1Z,KACjBT,EAAAA,QAAO,SAAAsG,GAAS,OAAAA,aAAiB8T,EAAAA,iBACjCja,EAAAA,KAAI,WAAM,OAAA4L,EAAesO,cACzBra,EAAAA,OAAOsa,EAAAA,WACPC,EAAAA,UAAS,SAAC9a,GAAW,OAAVA,EAAA6K,QACXnK,EAAAA,KAAI,SAACV,OAAC+a,EAAA/a,EAAA+a,MAAW,OAAAN,EAAcM,KAC/BtV,EAAAA,UAAU1B,aAIFuW,GAAsBU,GAClC,OAAOA,EACFta,KAAI,SAACV,GAAc,OAAbA,EAAAib,WACN1a,OAAOsa,EAAAA,WACPta,QAAO,SAAC2a,EAAMhQ,EAAOR,GAAU,OAAAA,EAAMuD,QAAQiN,KAAUhQ,cAGhDqP,GAAqBS,GAGjC,OAAApb,EAFe0a,GAAsBU,GAGvBta,KAAI,SAAAnC,GAAS,OAAAyc,EAAMza,QAAO,SAACP,GAAc,OAAbA,EAAAib,UAAyB1c,QAAO,CACtEyc,EAAMza,QAAO,SAAA4a,GAAQ,OAACA,EAAKF,+BCZ/B,SAAAG,EAC+B3M,EACZ4M,EACWC,EACSC,EAElBxW,EAGRyW,EAC2BC,EAE3BxW,EAC6ByW,EACLlB,EACQlO,EACGvI,EAE3BwS,GAlBrB,IAAAlS,EAAApI,KAIuCA,KAAAsf,YAAAA,EAElBtf,KAAA8I,KAAAA,EAGR9I,KAAAuf,QAAAA,EAC2Bvf,KAAAwf,OAAAA,EAE3Bxf,KAAAgJ,MAAAA,EAC6BhJ,KAAAyf,WAAAA,EACLzf,KAAAue,OAAAA,EACQve,KAAAqQ,eAAAA,EACGrQ,KAAA8H,SAAAA,EAE3B9H,KAAAsa,eAAAA,EA/BrBta,KAAA0f,UAAW,EAEX1f,KAAA2f,OAAS,GACT3f,KAAA4f,MAAO,EACP5f,KAAA6f,aAA0B,GAC1B7f,KAAA8f,mBAAgC,GAChC9f,KAAA+f,OAAS,GAEA/f,KAAAggB,MAAmChgB,KAAK8I,KAAKC,QAAQhE,KAC1DsB,EAAAA,UAAU,MACV5B,EAAAA,KAAI,WAAM,OAAA2D,EAAKU,KAAKA,MAAQ,cAyB5BuW,EAAO5V,WAAU,SAAAqV,GACbtM,EAAkByN,eAClBb,EAAac,SAASpB,GACtB1W,EAAK+X,sBACL/X,EAAKgY,iBAAiBhY,EAAKiI,eAAeW,SAASqP,aAiI/D,OA7HIthB,OAAA4B,eAAIwe,EAAA/f,UAAA,UAAO,KAAX,WACI,OAAOY,KAAK2f,OAAO7f,OAAS,mCAGhCf,OAAA4B,eAAIwe,EAAA/f,UAAA,gBAAa,KAAjB,WACI,OAAOY,KAAKsgB,YAAYtgB,KAAKugB,gBAAgBvgB,KAAKgJ,OAAQhJ,KAAK2f,yCAGnE5gB,OAAA4B,eAAIwe,EAAA/f,UAAA,uBAAoB,KAAxB,WACI,OAAOY,KAAKgJ,MAAMhJ,KAAKgJ,MAAMlJ,OAAS,oCAG1Cqf,EAAA/f,UAAAohB,SAAA,SAASC,GACL,OAAOA,IAAUzgB,KAAK+f,QAG1BZ,EAAA/f,UAAAshB,aAAA,SAAazR,GACTjP,KAAK8f,mBAAmB7Q,IAAUjP,KAAK8f,mBAAmB7Q,IAG9DkQ,EAAA/f,UAAAuhB,UAAA,WACI3gB,KAAK0f,UAAW,GAGpBP,EAAA/f,UAAAwhB,eAAA,SAAejB,GACX3f,KAAK2f,OAASA,EACd3f,KAAK4f,KAAO5f,KAAK6gB,SAGrB1B,EAAA/f,UAAAkH,QAAA,WACItG,KAAK4f,MAAO,EACZ5f,KAAK0f,UAAW,EAChB1f,KAAK2f,OAAS,GACd3f,KAAKmgB,uBAIDhB,EAAA/f,UAAAkhB,YAAR,SACItX,EACA2W,GAEA,OAAO3W,EAAMvE,KAAI,SAAAua,GACb,OAAA8B,EAAAA,OACI9B,EAAQ1a,QAAO,SAACP,OAAC+a,EAAA/a,EAAA+a,MAAO9a,EAAAD,EAAAgd,SAAAA,OAAA,IAAA/c,EAAA,GAAAA,EAKpB,OAJA8a,EAAQA,EAAMkC,cACdrB,EAASA,EAAOqB,cAChBD,EAAWA,EAASC,cAGhBlC,EAAMtP,SAASmQ,IACfoB,EAASvR,SAASmQ,IAClBb,EAAMtP,SAAS+N,GAA4BoC,KAC3CoB,EAASvR,SAAS+N,GAA4BoC,KAC9CA,EAAOrR,QAAQ,MAAO,IAAIkB,SAASsP,MAG3C,aAMJK,EAAA/f,UAAAmhB,gBAAR,SACIvX,GAEA,OAAOA,EAAMqK,QACT,SAAC5E,EAAOwQ,GAAS,OAAAtb,EACV8K,EAAK,CACRwQ,EAAK5L,QACD,SAAC0L,EAAOG,GACJ,SACUH,EADV,aAAcG,EACMA,EAAK+B,SACV,CAAE/B,MACrB,QAGR,KAIAC,EAAA/f,UAAA8hB,cAAR,SAAsBT,GAClB,OAAOzgB,KAAKue,OAAOiC,SAASC,GAAO,IAG/BtB,EAAA/f,UAAAghB,iBAAR,SAAyBe,GAAzB,IAAA/Y,EAAApI,KACIA,KAAKsa,eACAvV,KAAKT,EAAAA,OAAOmW,SAAU2G,EAAAA,KAAK,GAAI5X,EAAAA,UAAUxJ,KAAK8H,WAC9C2B,WAAU,WAAM,OAAArB,EAAKiZ,qBAAqBF,OAG3ChC,EAAA/f,UAAA+gB,oBAAR,WAAA,IAAA/X,EAAApI,KACIA,KAAKgJ,MAAMsY,SAAQ,SAACvC,EAAOwC,GACvBxC,EAAMuC,SAAQ,SAACpC,EAAMsC,GACb,UAAWtC,GAAQ9W,EAAK8Y,cAAchC,EAAKuB,SAC3CrY,EAAKyX,aAAa0B,IAAc,EAChCnZ,EAAK2X,OAASb,EAAKuB,OAGnB,aAAcvB,GACdA,EAAK+B,SAASK,SAAQ,SAAAG,GACdrZ,EAAK8Y,cAAcO,EAAQhB,SAC3BrY,EAAKyX,aAAa0B,IAAc,EAChCnZ,EAAK0X,mBAAgC,IAAbyB,EAAmBC,IAAa,EACxDpZ,EAAK2X,OAAS0B,EAAQhB,iBAQtCtB,EAAA/f,UAAAiiB,qBAAR,SAA6BhB,GACzB,IAAMqB,EAAUrB,GAAYrgB,KAAKsf,YAAYqC,cAAc,IAAItB,GAE1DqB,IAILA,EAAQE,UAAUC,IAAI,4BACtBH,EAAQ7G,eAAe,CACnBiH,MAAO,QACPC,OAAQ,UACRC,SAAU,sDAvJgCxN,EAAAA,kBAAiBtU,WAAA,CAAA,CAAAsE,KAA9DgC,EAAAA,OAAMC,KAAA,CAAC+N,EAAAA,4BACqByN,EAAAA,MAAK/hB,WAAA,CAAA,CAAAsE,KAAjCgC,EAAAA,OAAMC,KAAA,CAACwb,EAAAA,gBAC0B1b,EAAAA,WAAUrG,WAAA,CAAA,CAAAsE,KAA3CgC,EAAAA,OAAMC,KAAA,CAACoX,aACwCqE,SAAQhiB,WAAA,CAAA,CAAAsE,KAAvDgC,EAAAA,OAAMC,KAAA,CAAC0b,EAAAA,mBAEe1V,EAAAA,iBAAgBvM,WAAA,CAAA,CAAAsE,KADtCgC,EAAAA,OAAMC,KAAA,CAACgG,EAAAA,oDAEP4L,EAAAA,UAAQ,CAAA7T,KACRgC,EAAAA,OAAMC,KAAA,CAAC2b,EAAAA,sDAEP5b,EAAAA,OAAMC,KAAA,CAACqX,sCACPtX,EAAAA,OAAMC,KAAA,CAACsX,sCAEPvX,EAAAA,OAAMC,KAAA,CAACgB,YACiCyW,EAAAA,OAAMhe,WAAA,CAAA,CAAAsE,KAA9CgC,EAAAA,OAAMC,KAAA,CAACyX,EAAAA,iBACiD/L,EAAAA,eAAcjS,WAAA,CAAA,CAAAsE,KAAtEgC,EAAAA,OAAMC,KAAA,CAAC0L,EAAAA,yBAC8C5L,EAAAA,WAAUrG,WAAA,CAAA,CAAAsE,KAA/DgC,EAAAA,OAAMC,KAAA,CAACO,EAAAA,4BAEyBT,EAAAA,WAAUrG,WAAA,CAAA,CAAAsE,KAD1CgC,EAAAA,OAAMC,KAAA,CAACyT,SA9BZja,EAAA,CADCkF,EAAAA,YAAY,+CAiFblF,EAAA,CADC0G,EAAAA,yCA0BD1G,EAAA,CADC0G,EAAAA,6CA1GQwY,EAAyBlf,EAAA,CAPrCmF,EAAAA,UAAU,CACPC,SAAU,qBACVC,SAAA,wiKAEAyB,UAAWiX,GACXpX,gBAAiBC,EAAAA,wBAAwBC,mrCAkBpClG,EAAA,EAAA4F,EAAAA,OAAOgO,EAAAA,oBACP5T,EAAA,EAAA4F,EAAAA,OAAOyb,EAAAA,QACPrhB,EAAA,EAAA4F,EAAAA,OAAOqX,KACPjd,EAAA,EAAA4F,EAAAA,OAAO2b,EAAAA,WACPvhB,EAAA,EAAA4F,EAAAA,OAAOiG,EAAAA,mBAEP7L,EAAA,EAAAyX,EAAAA,YACAzX,EAAA,EAAA4F,EAAAA,OAAO4b,EAAAA,sBAEPxhB,EAAA,EAAA4F,EAAAA,OAAOsX,KACPld,EAAA,EAAA4F,EAAAA,OAAOuX,KAEPnd,EAAA,EAAA4F,EAAAA,OAAOiB,IACP7G,EAAA,EAAA4F,EAAAA,OAAO0X,EAAAA,SACPtd,EAAA,GAAA4F,EAAAA,OAAO2L,EAAAA,iBACPvR,EAAA,GAAA4F,EAAAA,OAAOQ,EAAAA,oBACPpG,EAAA,GAAA4F,EAAAA,OAAO0T,MAhCHiF,oBCeb,SAAAkD,KAAqC,OAAxBA,EAAsBpiB,EAAA,CA1BlCuF,EAAAA,SAAS,CACNC,QAAS,CACLC,EAAAA,aACAoH,EAAAA,YACAC,EAAAA,aACAqO,GACAC,GACAnU,EAAAA,gBACAsO,EAAAA,4BACA5H,EAAAA,6BACA0U,EAAAA,oBACAC,EAAAA,aACAjV,EAAAA,cACAN,EAAAA,cACAG,EAAAA,gBACAqV,EAAAA,wBACA/M,EAAAA,4BACAgN,EAAAA,mBACAC,EAAAA,mBACAjV,EAAAA,aACAE,EAAAA,kBACAgV,EAAAA,oBAEJ/c,aAAc,CAACuZ,IACftZ,QAAS,CAACsZ,OAEDkD,MCjDAO,GAAe,IAAIxb,EAAAA,eAAoC,YAAa,CAC7EC,QAAS,WAAM,MAAA,oBCwBf,SAAAwb,EACmCC,EACKC,EACHxE,EACSyE,GAHXhjB,KAAA8iB,KAAAA,EACK9iB,KAAA+iB,KAAAA,EACH/iB,KAAAue,OAAAA,EACSve,KAAAgjB,QAAAA,EAf7BhjB,KAAAijB,QAAU,IAAIhd,EAAAA,QAEtBjG,KAAAkjB,MAAQjQ,EAAAA,MACbjT,KAAKue,OAAOE,OAAO1Z,KAAKqB,EAAAA,OAAM,IAC9BpG,KAAKijB,QACLjjB,KAAKgjB,QAAQje,KACTT,EAAAA,QAAO,SAAA6e,GAAS,MAAoB,SAApBA,EAAMC,WAA4C,UAApBD,EAAMC,aACpD3e,EAAAA,KAAI,SAAA0e,GAAS,MAAoB,UAApBA,EAAMC,eAEzBre,KAAKsB,EAAAA,WAAU,GAAQgd,EAAAA,wBAkB7B,OATIR,EAAAzjB,UAAAkH,QAAA,WACItG,KAAKijB,QAAQvhB,MAAK,IAGtBmhB,EAAAzjB,UAAAkkB,aAAA,SAAavD,GACJA,GACD/f,KAAKijB,QAAQvhB,MAAK,sEAZrB8E,EAAAA,OAAMC,KAAA,CAACmc,sCACPpc,EAAAA,OAAMC,KAAA,CAACe,YACiC0W,EAAAA,OAAMhe,WAAA,CAAA,CAAAsE,KAA9CgC,EAAAA,OAAMC,KAAA,CAACyX,EAAAA,iBAC2CjE,EAAAA,gBAAe/Z,WAAA,CAAA,CAAAsE,KAAjEgC,EAAAA,OAAMC,KAAA,CAACwT,EAAAA,sBAhBH4I,EAAqB5iB,EAAA,CANjCmF,EAAAA,UAAU,CACPC,SAAU,uBACVC,SAAA,olBAEAsB,gBAAiBC,EAAAA,wBAAwBC,icAepClG,EAAA,EAAA4F,EAAAA,OAAOoc,KACPhiB,EAAA,EAAA4F,EAAAA,OAAOgB,IACP5G,EAAA,EAAA4F,EAAAA,OAAO0X,EAAAA,SACPtd,EAAA,EAAA4F,EAAAA,OAAOyT,EAAAA,mBAhBH4I,oBCMb,SAAAU,KAAiC,OAApBA,EAAkBtjB,EAAA,CAZ9BuF,EAAAA,SAAS,CACNC,QAAS,CACLC,EAAAA,aACAsT,EAAAA,mBACA9R,EAAAA,gBACAsc,EAAAA,iBACAlB,EAAAA,oBACAD,IAEJzc,aAAc,CAACid,IACfhd,QAAS,CAACgd,OAEDU,oBCUb,SAAAE,KAA+B,OAAlBA,EAAgBxjB,EAAA,CAhB5BuF,EAAAA,SAAS,CACNC,QAAS,CACLC,EAAAA,aACAqH,EAAAA,aACAD,EAAAA,YACAwI,EAAAA,gBACAoO,EAAAA,oBACAH,GACAI,EAAAA,cACAC,EAAAA,gBACAC,EAAAA,eACAxB,IAEJzc,aAAc,CAACqT,IACfpT,QAAS,CAACoT,OAEDwK,MC9BAK,GAAuB,IAAI1c,EAAAA,eACpC,6BACA,CACIC,QAAS,WAAM,MAAA,MCHV0c,GAAmB,IAAI3c,EAAAA,eAChC,mCACA,CACIC,QAAS,WAAM,MAAA,MCDV2c,GAAgB,IAAI5c,EAAAA,eAAkC,iBAEtD6c,GAA6B,CACtC,CACIzX,QAASwX,GACT/F,KAAM,CAACnD,EAAAA,WAAYiJ,IACnB5F,WAAY+F,cAIJA,GACZngB,EACAogB,OAEMC,EAHLrgB,EAAAwG,cAGmC8Z,aAAa,UAC3CC,EAASH,EAAc7f,QAAO,SAAAigB,GAAS,OAAAA,EAAM/U,SAAS4U,OAAmB,GAEzEI,EAAa,IAAIC,IACnBH,EACKpW,OACAK,MAAM,KACNjK,QAAO,SAAAogB,GAAa,OAAAA,GAAaA,IAAcN,MAGxD,OAAOllB,MAAMylB,KAAKH,qBCjBlB,SAAAI,EACkCtf,GAAAtF,KAAAsF,SAAAA,EAEtC,gDAFgD+G,EAAAA,YAAWnM,WAAA,CAAA,CAAAsE,KAAlDgC,EAAAA,OAAMC,KAAA,CAAC4F,EAAAA,kBAHZpM,EAAA,CAFCiF,EAAAA,QACA2f,EAAAA,gDAFQD,EAA+B3kB,EAAA,CAH3CoS,EAAAA,UAAU,CACPhN,SAAU,cAQLzE,EAAA,EAAA4F,EAAAA,OAAO6F,EAAAA,eANHuY,oBCoCT,SAAAE,EACsCC,EACKC,EACPC,GAFEjlB,KAAA+kB,WAAAA,EACK/kB,KAAAglB,YAAAA,EACPhlB,KAAAilB,QAAAA,EAnBpCjlB,KAAAklB,OAAS,GAGTllB,KAAAmlB,QAAU,GAGVnlB,KAAAwE,KAAO,GAGPxE,KAAAoJ,KAAO,GAGEpJ,KAAAolB,cAA4DvS,EAAAA,YAErE7S,KAAA8S,gBAAkBuS,IAetB,OAPItmB,OAAA4B,eAAImkB,EAAA1lB,UAAA,cAAW,KAAf,WACI,QAASY,KAAKilB,QAAQnlB,QAAmC,IAAzBE,KAAK8S,iDAGzCgS,EAAA1lB,UAAAkmB,cAAA,SAAcC,GACV,YADU,IAAAA,IAAAA,EAAA,IACH,KAAKA,EAAIjX,QAAQ,KAAM,wEAV7B2J,EAAAA,UAASxR,KAAA,CAAC,gDACVD,EAAAA,OAAMC,KAAA,CAACqd,sCACPtd,EAAAA,OAAMC,KAAA,CAACud,SAnBZ/jB,EAAA,CADCiF,EAAAA,sCAIDjF,EAAA,CADCiF,EAAAA,uCAIDjF,EAAA,CADCiF,EAAAA,oCAIDjF,EAAA,CADCiF,EAAAA,oCAIDjF,EAAA,CADCwU,EAAAA,gBAAgBmQ,yCAbRE,EAAmB7kB,EAAA,CAP/BmF,EAAAA,UAAU,CACPC,SAAU,eACVC,SAAA,2pEAEAsB,gBAAiBC,EAAAA,wBAAwBC,OACzCC,UAAWkd,6lCAqBNrjB,EAAA,EAAAqX,EAAAA,UAAU,eACVrX,EAAA,EAAA4F,EAAAA,OAAOsd,KACPljB,EAAA,EAAA4F,EAAAA,OAAOwd,MArBHc,oBCPT,SAAAU,EAC4CrhB,EAEvB4a,GAFuB/e,KAAAmE,KAAAA,EAEvBnE,KAAA+e,MAAAA,EALrB/e,KAAAilB,QAA6B,GAsBjC,OAdIO,EAAApmB,UAAAkmB,cAAA,SAAcG,GACV,IAAK,IAAI9lB,EAAI,EAAGA,EAAIK,KAAK+e,MAAMjf,OAAQH,IAAK,CACxC,IAAMuf,EAAOlf,KAAK+e,MACbta,KAAI,SAAAya,GAAQ,MAAC,aAAcA,EAAOA,EAAK+B,SAAW,CAAC/B,MACnD7L,QAAO,SAAC0L,EAAOkC,GAAa,OAAAtd,EAAIob,EAAUkC,KAAW,IACrDyE,MAAK,SAACxG,GAAqB,OAAAA,EAAKJ,QAAU2G,KAE/C,GAAIvG,MAAAA,OAAI,EAAJA,EAAMuB,MACN,OAAOvB,EAAKuB,MAIpB,MAAO,sEAjBNja,EAAAA,OAAMC,KAAA,CAACiB,qCACPlB,EAAAA,OAAMC,KAAA,CAACkX,SAJZ1d,EAAA,CADCiF,EAAAA,uCADQsgB,EAAsBvlB,EAAA,CANlCmF,EAAAA,UAAU,CACPC,SAAU,mBACVC,SAAA,wRAEAsB,gBAAiBC,EAAAA,wBAAwBC,iMAOpClG,EAAA,EAAA4F,EAAAA,OAAOkB,IACP9G,EAAA,EAAA4F,EAAAA,OAAOmX,MANH6H,oBCDb,SAAAG,KAAkC,OAArBA,EAAmB1lB,EAAA,CAL/BuF,EAAAA,SAAS,CACNC,QAAS,CAACC,EAAAA,aAAcqH,EAAAA,aAAcC,EAAAA,eACtCpH,aAAc,CAAC4f,IACf3f,QAAS,CAAC2f,OAEDG,MCPAC,GAET,IAAIxe,EAAAA,eACJ,mBACA,CACIC,QAAS,WAAM,MAAA,oBCgBnB,SAAAwe,EAEaC,EACkC3hB,GADlCnE,KAAA8lB,WAAAA,EACkC9lB,KAAAmE,KAAAA,EAd/CnE,KAAAklB,OAAS,GAGTllB,KAAAmlB,QAAU,GAGVnlB,KAAAwE,KAAO,GAGPxE,KAAAoJ,KAAO,GA0BX,OAlBIrK,OAAA4B,eAAIklB,EAAAzmB,UAAA,cAAW,KAAf,WACI,OAAOY,KAAK+lB,eAAe/lB,KAAKklB,OAAQllB,KAAKmlB,QAASnlB,KAAKwE,KAAMxE,KAAKoJ,uCAIlEyc,EAAAzmB,UAAA2mB,eAAR,SACIb,EACAc,EACAxhB,EACA4E,GAEA,MAAO,CACH8b,OAAMA,EACNC,QAASa,EACTxhB,KAAIA,EACJ4E,KAAIA,sEApBP5C,EAAAA,OAAMC,KAAA,CAACmf,sCAEPpf,EAAAA,OAAMC,KAAA,CAACkB,QAdZ1H,EAAA,CADCiF,EAAAA,sCAIDjF,EAAA,CADCiF,EAAAA,uCAIDjF,EAAA,CADCiF,EAAAA,oCAIDjF,EAAA,CADCiF,EAAAA,oCAcDjF,EAAA,CADC0G,EAAAA,4CAvBQkf,EAAyB5lB,EAAA,CALrCmF,EAAAA,UAAU,CACPC,SAAU,sBACVC,SAAA,ycACAsB,gBAAiBC,EAAAA,wBAAwBC,SAgBpClG,EAAA,EAAA4F,EAAAA,OAAOof,KAEPhlB,EAAA,EAAA4F,EAAAA,OAAOmB,KAhBHke,oBCDb,SAAAI,KAAqC,OAAxBA,EAAsBhmB,EAAA,CALlCuF,EAAAA,SAAS,CACNI,aAAc,CAACigB,IACfpgB,QAAS,CAACC,EAAAA,aAAcsT,EAAAA,mBAAoB9R,EAAAA,iBAC5CrB,QAAS,CAACggB,OAEDI,oBCUb,SAAAC,KAA+B,OAAlBA,EAAgBjmB,EAAA,CAZ5BuF,EAAAA,SAAS,CACNC,QAAS,CACLC,EAAAA,aACAqH,EAAAA,aACA4Y,GACA5M,EAAAA,cACAoN,EAAAA,aACAF,IAEJrgB,aAAc,CAACkf,GAAqBF,IACpC/e,QAAS,CAACif,GAAqBF,OAEtBsB,MCTAE,GAAa,CAAC,gCAAiC,MAAO,gBACtDC,GAAY,CACrB,WACA,MACA,iBACA,WACA,qDAESC,GAAgB,CAAC,SAAU,+BAAgC,UAE3DC,GAA8B,CACvC,CACI/Z,QAASrF,EACTqf,SAAUJ,IAEd,CACI5Z,QAASlF,EACTkf,SAAUH,IAEd,CACI7Z,QAASjF,EACTif,SAAUF,IAEd,CACI9Z,QAAShF,EACTgf,SAAU,QAEd,CACIha,QAAS/E,EACT+e,SAAU,SAEd,CACIha,QAAS9E,EACT8e,SAAU,kBAEd,CACIha,QAAS7E,EACT6e,SAAU,+BCjClB,SAAAC,KAAgC,OAAnBA,EAAiBxmB,EAAA,CAT7BuF,EAAAA,SAAS,CACNK,QAAS,CACLN,EACAqH,EACAwI,EACA8Q,GACArN,OAGK4N,2kBCDgC,CACzCC,GAAI,aACJC,KAAM,OACNC,KAAM,ynBCbqBpiB,GAC3B,MAAO,CACH,CACI4E,KAAM,GACNsb,UAAWlgB,EACXqiB,SAAU,CACN,CACIzd,KAAM,OACNsb,UAAWlgB","sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import {RawLoaderContent} from '../interfaces/page';\n\nexport async function rawLoad(content: RawLoaderContent): Promise<string> {\n return content instanceof Promise ? (await content).default : content;\n}\n","import MarkdownIt from 'markdown-it';\nimport Token from 'markdown-it/lib/token';\n\nexport function tryParseMarkdownCodeBlock(text: string = ''): string[] {\n const tokens: Token[] = new MarkdownIt().parse(text, {});\n const result = tokens\n .filter(({tag, type}) => tag === 'code' && type === 'fence')\n .map(({content}) => content);\n\n return result.length ? result : [text];\n}\n","import {Component, HostBinding, Input} from '@angular/core';\nimport {BehaviorSubject} from 'rxjs';\nimport {map, switchMap} from 'rxjs/operators';\n\nimport {RawLoaderContent} from '../../interfaces/page';\nimport {rawLoad} from '../../utils/raw-load';\nimport {tryParseMarkdownCodeBlock} from './parse-code-block';\n\n@Component({\n selector: 'tui-doc-code',\n templateUrl: './code.template.html',\n styleUrls: ['./code.style.less'],\n})\nexport class TuiDocCodeComponent {\n private readonly rawLoader$$ = new BehaviorSubject<RawLoaderContent>('');\n\n @Input()\n filename = '';\n\n readonly processor$ = this.rawLoader$$.pipe(\n switchMap(rawLoad),\n map(tryParseMarkdownCodeBlock),\n );\n\n @Input()\n set code(code: RawLoaderContent) {\n this.rawLoader$$.next(code);\n }\n\n @HostBinding('class._has-filename')\n get hasFilename(): boolean {\n return !!this.filename;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {HighlightModule} from 'ngx-highlightjs';\n\nimport {TuiDocCodeComponent} from './code.component';\n\n@NgModule({\n imports: [CommonModule, HighlightModule],\n declarations: [TuiDocCodeComponent],\n exports: [TuiDocCodeComponent],\n})\nexport class TuiDocCodeModule {}\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {TuiDestroyService, tuiPure} from '@taiga-ui/cdk';\nimport {TUI_COPY_TEXTS} from '@taiga-ui/kit';\nimport {Observable, Subject, timer} from 'rxjs';\nimport {mapTo, startWith, switchMapTo} from 'rxjs/operators';\n\nconst COPIED_TIMEOUT = 1500;\n\n// @dynamic\n@Component({\n selector: 'tui-doc-copy',\n templateUrl: './copy.template.html',\n styleUrls: ['./copy.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n})\nexport class TuiDocCopyComponent {\n private readonly copy$ = new Subject();\n\n constructor(@Inject(TUI_COPY_TEXTS) readonly texts$: Observable<[string, string]>) {}\n\n @tuiPure\n get copied$(): Observable<boolean> {\n return this.copy$.pipe(\n switchMapTo(timer(COPIED_TIMEOUT).pipe(mapTo(false), startWith(true))),\n );\n }\n\n onClick(): void {\n this.copy$.next();\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule} from '@taiga-ui/core';\n\nimport {TuiDocCopyComponent} from './copy.component';\n\n@NgModule({\n imports: [CommonModule, TuiButtonModule],\n declarations: [TuiDocCopyComponent],\n exports: [TuiDocCopyComponent],\n})\nexport class TuiDocCopyModule {}\n","import {InjectionToken} from '@angular/core';\n\n/**\n * TODO: think about reorganization in @taiga-ui/i18n way\n */\n\n/**\n * Works with a tuple\n * [@string tuiMode tooltip content, @string word 'background', @string 'form value']\n */\nexport const TUI_DOC_DEMO_TEXTS = new InjectionToken<[string, string, string]>(\n 'tui-doc-demo i18n texts',\n {\n factory: () => ['Read more more about modes: ', 'Background', 'Form value'],\n },\n);\n\n/**\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 = new InjectionToken<\n [string, string, string, string, string]\n>('tui-doc-documentation i18n texts', {\n factory: () => [\n 'Argument',\n 'Type',\n 'Name and description',\n 'Value',\n 'Learn about our dynamic templates from ',\n ],\n});\n\n/**\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 = new InjectionToken<[string, string, string]>(\n 'tui-doc-example i18n texts',\n {\n factory: () => ['Preview', 'Link to a sample was successfully copied', 'Done'],\n },\n);\n\nexport const TUI_DOC_MENU_TEXT = new InjectionToken<string>('menu i18n text', {\n factory: () => 'Menu',\n});\n\nexport const TUI_DOC_SEARCH_TEXT = new InjectionToken<string>('search i18n text', {\n factory: () => 'Search',\n});\n\nexport const TUI_DOC_SEE_ALSO_TEXT = new InjectionToken<string>(\n 'tui-doc-see-also i18n text',\n {\n factory: () => 'See also',\n },\n);\n\nexport const TUI_DOC_SOURCE_CODE_TEXT = new InjectionToken<string>(\n 'tui-doc-source-code i18n text',\n {\n factory: () => 'Source code',\n },\n);\n","import {isPlatformBrowser, Location} from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n forwardRef,\n HostListener,\n Inject,\n Input,\n OnInit,\n PLATFORM_ID,\n Renderer2,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {AbstractControl, FormControl, FormGroup} from '@angular/forms';\nimport {UrlSerializer} from '@angular/router';\nimport {px, TUI_IS_MOBILE, TuiDestroyService} from '@taiga-ui/cdk';\nimport {TuiBrightness, TuiModeDirective} from '@taiga-ui/core';\nimport {Subject} from 'rxjs';\nimport {startWith, takeUntil} from 'rxjs/operators';\n\nimport {TUI_DOC_DEMO_TEXTS} from '../../tokens/i18n';\n\nconst MIN_COMPONENT_WIDTH = 104;\n\n// @dynamic\n@Component({\n selector: 'tui-doc-demo',\n templateUrl: './demo.template.html',\n styleUrls: ['./demo.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n TuiDestroyService,\n {\n provide: TuiModeDirective,\n useExisting: forwardRef(() => TuiDocDemoComponent),\n },\n ],\n})\nexport class TuiDocDemoComponent implements OnInit, AfterViewInit {\n @ViewChild('content')\n private readonly content?: ElementRef<HTMLElement>;\n\n @ViewChild('wrapper')\n private readonly wrapper?: ElementRef<HTMLElement>;\n\n @ViewChild('resizerText')\n private readonly resizerText?: ElementRef<HTMLElement>;\n\n private readonly isBrowser: boolean;\n private initialX = 0;\n private wrapperWidth = 0;\n\n @Input()\n control: AbstractControl | null = null;\n\n @ContentChild(TemplateRef)\n readonly template: TemplateRef<Record<string, unknown>> | null = null;\n\n testForm?: FormGroup;\n updateOnVariants = ['change', 'blur', 'submit'];\n updateOn: 'change' | 'blur' | 'submit' = 'change';\n expanded = false;\n opaque = true;\n modeControl = new FormControl();\n mode: TuiBrightness | null = null;\n readonly change$ = new Subject<void>();\n readonly items: readonly TuiBrightness[] = ['onLight', 'onDark'];\n\n constructor(\n @Inject(TUI_IS_MOBILE) readonly isMobile: boolean,\n @Inject(TuiDestroyService) private readonly destroy$: TuiDestroyService,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(PLATFORM_ID) platformId: Record<string, unknown>,\n @Inject(Location) locationRef: Location,\n @Inject(UrlSerializer) urlSerializer: UrlSerializer,\n @Inject(TUI_DOC_DEMO_TEXTS) readonly texts: [string, string, string],\n ) {\n this.isBrowser = isPlatformBrowser(platformId);\n\n const parsedMode = locationRef.path().match(/tuiMode=(onDark|onLight)/);\n\n if (parsedMode !== null && parsedMode.length > 0) {\n this.modeControl.setValue(parsedMode[1]);\n }\n\n this.modeControl.valueChanges\n .pipe(startWith(this.modeControl.value), takeUntil(this.destroy$))\n .subscribe(mode => {\n const urlTree = urlSerializer.parse(locationRef.path());\n\n urlTree.queryParams = {\n ...urlTree.queryParams,\n tuiMode: mode,\n };\n\n locationRef.go(String(urlTree));\n\n this.mode = mode;\n this.change$.next();\n });\n }\n\n @HostListener('window:resize')\n onResize(): void {\n this.setResizerTextContent();\n }\n\n ngOnInit(): void {\n this.createForm();\n }\n\n ngAfterViewInit(): void {\n this.setResizerTextContent();\n }\n\n setResizerTextContent(): void {\n if (!this.content || !this.resizerText) {\n return;\n }\n\n const paddingLeft = this.isBrowser\n ? getComputedStyle(this.content.nativeElement).paddingLeft\n : '0';\n const {offsetWidth} = this.content.nativeElement;\n\n this.resizerText.nativeElement.textContent = String(\n offsetWidth - parseInt(paddingLeft || '0', 10) * 2,\n );\n }\n\n onDragStart(event: MouseEvent): void {\n event.preventDefault();\n this.initialX = event.clientX;\n this.wrapperWidth = this.wrapper ? this.wrapper.nativeElement.offsetWidth : 0;\n }\n\n onDragContinues(event: MouseEvent): void {\n const deltaX = this.initialX - event.clientX;\n\n this.resizeContent(deltaX);\n this.setResizerTextContent();\n }\n\n onDragEnd(): void {\n this.wrapperWidth = this.wrapper ? this.wrapper.nativeElement.offsetWidth : 0;\n }\n\n toggleDetails(): void {\n this.expanded = !this.expanded;\n }\n\n updateOnChange(updateOn: 'change' | 'blur' | 'submit'): void {\n this.updateOn = updateOn;\n this.createForm();\n }\n\n private createForm(): void {\n const {control, updateOn} = this;\n\n if (!control) {\n return;\n }\n\n this.testForm = new FormGroup({testValue: control}, {updateOn});\n }\n\n private resizeContent(delta: number): void {\n if (!this.wrapper) {\n return;\n }\n\n this.renderer.setStyle(\n this.wrapper.nativeElement,\n 'width',\n px(Math.max(this.wrapperWidth - delta, MIN_COMPONENT_WIDTH)),\n );\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {TuiDragModule} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiDataListModule,\n TuiExpandModule,\n TuiGroupModule,\n TuiHintControllerModule,\n TuiLinkModule,\n TuiModeModule,\n TuiSvgModule,\n TuiTextfieldControllerModule,\n TuiTooltipModule,\n} from '@taiga-ui/core';\nimport {\n TuiCheckboxLabeledModule,\n TuiDataListWrapperModule,\n TuiRadioBlockModule,\n TuiSelectModule,\n} from '@taiga-ui/kit';\n\nimport {TuiDocDemoComponent} from './demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n RouterModule,\n TuiLinkModule,\n TuiDragModule,\n TuiButtonModule,\n TuiSelectModule,\n TuiExpandModule,\n TuiGroupModule,\n TuiTooltipModule,\n TuiModeModule,\n TuiRadioBlockModule,\n TuiCheckboxLabeledModule,\n TuiSvgModule,\n TuiDataListWrapperModule,\n TuiDataListModule,\n TuiTextfieldControllerModule,\n TuiHintControllerModule,\n ],\n declarations: [TuiDocDemoComponent],\n exports: [TuiDocDemoComponent],\n})\nexport class TuiDocDemoModule {}\n","/**\n * TODO: move another package for reuse between addon-editor and addon-doc\n */\nexport function rgbToHex(r: number, g: number, b: number): string {\n return `#${[r, g, b].map(x => x.toString(16).padStart(2, '0')).join('')}`;\n}\n\nexport function hexToRgb(hex: string): [number, number, number] {\n const matches = hex\n .replace('#', '')\n .split('')\n .map((char, _, array) => (array.length === 3 ? char + char : char))\n .join('')\n .match(/.{2}/g);\n\n return matches\n ? (matches.map(x => Number.parseInt(x, 16)) as [number, number, number])\n : [0, 0, 0];\n}\n","function inspectArray(array: readonly unknown[], depth: number): string {\n if (depth === 0) {\n return '[…]';\n }\n\n let result = '';\n let first = true;\n\n for (let index = 0; index < array.length; index++) {\n if (first) {\n first = false;\n } else {\n result += ', ';\n }\n\n result += index in array ? inspectAny(array[index], depth - 1) : 'empty';\n }\n\n return `[${result}]`;\n}\n\nfunction inspectObject(object: {[key: string]: unknown}, depth: number): string {\n if (depth === 0) {\n return `{…}`;\n }\n\n let result = '';\n\n let first = true;\n\n for (const key in object) {\n if (!object.hasOwnProperty(key)) {\n continue;\n }\n\n if (first) {\n first = false;\n } else {\n result += ', ';\n }\n\n result += `${key}: ${inspectAny(object[key], depth - 1)}`;\n }\n\n return `{${result}}`;\n}\n\n/**\n * Returns readable JS entity\n * @param data\n * @param depth\n * @return readable JS entity\n */\nexport function inspectAny<T>(data: T, depth: number): string {\n if (data === null) {\n return 'null';\n }\n\n switch (typeof data) {\n case 'string':\n return `'${data}'`;\n case 'undefined':\n case 'number':\n case 'boolean':\n case 'function':\n return String(data);\n }\n\n if (data instanceof RegExp) {\n return String(data);\n }\n\n if (Array.isArray(data)) {\n return inspectArray(data, depth);\n }\n\n return inspectObject(data as unknown as {[key: string]: unknown}, depth);\n}\n","/* eslint-disable unicorn/no-unsafe-regex */\nexport function coerceValue<T>(value?: T): T | number | string | boolean | null | object {\n const prepared = String(value).trim();\n\n if (isEmptyParamValue(prepared)) {\n return null;\n } else if (isBooleanParamValue(prepared)) {\n return String(prepared) === 'true';\n } else if (isNumberParamValue(prepared)) {\n return Number(prepared);\n }\n\n const decodedValue = decodeURIComponent(prepared);\n\n try {\n return isPossibleArray(decodedValue) || isPossibleObject(decodedValue)\n ? JSON.parse(decodedValue)\n : decodedValue;\n } catch {\n return decodedValue;\n }\n}\n\nfunction isEmptyParamValue(value: string): boolean {\n return ['undefined', 'null', 'NaN', 'Infinity'].includes(value);\n}\n\nfunction isBooleanParamValue(value: string): boolean {\n return value === 'true' || value === 'false';\n}\n\nfunction isNumberParamValue(value: string): boolean {\n // TODO: investigate to disallow potentially catastrophic exponential-time regular expressions.\n return /^-?[\\d.]+(?:e-?\\d+)?$/.test(value);\n}\n\nfunction isPossibleArray(value: string): boolean {\n return value.startsWith('[') && value.endsWith(']');\n}\n\nfunction isPossibleObject(value: string): boolean {\n return value.startsWith('{') && value.endsWith('}');\n}\n","import {Location} from '@angular/common';\nimport {\n Directive,\n EventEmitter,\n Inject,\n Input,\n OnChanges,\n OnInit,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport {ActivatedRoute, Params, UrlSerializer} from '@angular/router';\nimport {BehaviorSubject, Subject} from 'rxjs';\n\nimport {coerceValue} from '../../utils/coerce-value';\n\nconst SERIALIZED_SUFFIX = '$';\n\nexport type DocumentationPropertyType = 'input' | 'output' | 'input-output' | null;\n\n// @bad TODO: refactor output and value sync\n@Directive({\n selector: 'ng-template[documentationPropertyName]',\n exportAs: 'documentationProperty',\n})\nexport class TuiDocDocumentationPropertyConnectorDirective<T>\n implements OnInit, OnChanges\n{\n @Input()\n documentationPropertyName = '';\n\n @Input()\n documentationPropertyMode: DocumentationPropertyType = null;\n\n @Input()\n documentationPropertyType = '';\n\n @Input()\n documentationPropertyValue!: T;\n\n @Input()\n documentationPropertyDeprecated = false;\n\n @Input()\n documentationPropertyValues: readonly T[] | null = null;\n\n @Output()\n readonly documentationPropertyValueChange = new EventEmitter<T>();\n\n readonly changed$ = new Subject<void>();\n\n readonly emits$ = new BehaviorSubject(1);\n\n constructor(\n @Inject(TemplateRef) readonly template: TemplateRef<Record<string, unknown>>,\n @Inject(Location) private readonly locationRef: Location,\n @Inject(ActivatedRoute) private readonly activatedRoute: ActivatedRoute,\n @Inject(UrlSerializer) private readonly urlSerializer: UrlSerializer,\n ) {}\n\n ngOnInit(): void {\n this.parseParams(this.activatedRoute.snapshot.queryParams);\n }\n\n get attrName(): string {\n switch (this.documentationPropertyMode) {\n case 'input':\n return `[${this.documentationPropertyName}]`;\n case 'output':\n return `(${this.documentationPropertyName})`;\n case 'input-output':\n return `[(${this.documentationPropertyName})]`;\n default:\n return this.documentationPropertyName;\n }\n }\n\n get hasItems(): boolean {\n return !!this.documentationPropertyValues;\n }\n\n get shouldShowValues(): boolean {\n return this.documentationPropertyMode !== 'output';\n }\n\n ngOnChanges(): void {\n this.changed$.next();\n }\n\n onValueChange(value: T): void {\n this.documentationPropertyValue = value;\n this.documentationPropertyValueChange.emit(value);\n this.setQueryParam(value);\n }\n\n emitEvent(event: unknown): void {\n // For more convenient debugging\n console.info(this.attrName, event);\n\n this.emits$.next(this.emits$.value + 1);\n }\n\n private parseParams(params: Params): void {\n const propertyValue: string | undefined = params[this.documentationPropertyName];\n const propertyValueWithSuffix: string | number | undefined =\n params[`${this.documentationPropertyName}${SERIALIZED_SUFFIX}`];\n\n if (!propertyValue && !propertyValueWithSuffix) {\n return;\n }\n\n const value =\n !!propertyValueWithSuffix && this.documentationPropertyValues\n ? this.documentationPropertyValues[propertyValueWithSuffix as number]\n : coerceValue(propertyValue);\n\n this.onValueChange(value as T);\n }\n\n private setQueryParam(value: T | string | number | boolean | null): void {\n const tree = this.urlSerializer.parse(this.locationRef.path());\n\n const isValueAvailableByKey = value instanceof Object;\n const computedValue =\n isValueAvailableByKey && this.documentationPropertyValues\n ? this.documentationPropertyValues.indexOf(value as T)\n : value;\n\n const suffix = isValueAvailableByKey ? SERIALIZED_SUFFIX : '';\n const propName = this.documentationPropertyName + suffix;\n\n tree.queryParams = {\n ...tree.queryParams,\n [propName]: computedValue,\n };\n\n this.locationRef.go(String(tree));\n }\n}\n","import {animate, style, transition, trigger} from '@angular/animations';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY, itemsQueryListObservable, watch} from '@taiga-ui/cdk';\nimport {merge} from 'rxjs';\nimport {switchMap} from 'rxjs/operators';\n\nimport {TUI_DOC_DOCUMENTATION_TEXTS} from '../../tokens/i18n';\nimport {hexToRgb, rgbToHex} from '../../utils/color-conversion';\nimport {inspectAny} from '../../utils/inspect';\nimport {TuiDocDocumentationPropertyConnectorDirective} from './documentation-property-connector.directive';\n\n// @bad TODO subscribe propertiesConnectors changes\n// @bad TODO refactor to make more flexible\n// @dynamic\n@Component({\n selector: 'tui-doc-documentation',\n templateUrl: './documentation.template.html',\n styleUrls: ['./documentation.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('emitEvent', [\n transition(':increment', [style({opacity: 1}), animate('500ms ease-in')]),\n ]),\n ],\n})\nexport class TuiDocDocumentationComponent implements AfterContentInit {\n @Input()\n heading = '';\n\n @Input()\n showValues = true;\n\n @Input()\n isAPI = false;\n\n @ContentChildren(TuiDocDocumentationPropertyConnectorDirective)\n propertiesConnectors: QueryList<TuiDocDocumentationPropertyConnectorDirective<any>> =\n EMPTY_QUERY;\n\n activeItemIndex = 0;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_DOC_DOCUMENTATION_TEXTS)\n readonly texts: [string, string, string, string, string],\n ) {}\n\n ngAfterContentInit(): void {\n itemsQueryListObservable(this.propertiesConnectors)\n .pipe(\n switchMap(items => merge(...items.map(({changed$}) => changed$))),\n watch(this.changeDetectorRef),\n )\n .subscribe();\n }\n\n get type(): string {\n return this.isAPI ? this.texts[0] : this.texts[1];\n }\n\n getColor(color: string): string {\n if (color.length === 4) {\n return color\n .split('')\n .reduce<string[]>((result, current) => [...result, current, current], [])\n .join('')\n .replace('#', '');\n }\n\n if (color.startsWith('#')) {\n return color;\n }\n\n if (color === 'transparent') {\n return '#000000';\n }\n\n const parsed = color\n .replace('rgb(', '')\n .replace('rgba(', '')\n .replace(')', '')\n .replace(' ', '')\n .split(',')\n .map(v => Number.parseInt(v, 10)) as [number, number, number];\n\n return rgbToHex(...parsed);\n }\n\n getOpacity(color: string): number {\n if (color.startsWith('#') || color.startsWith('rgb(')) {\n return 100;\n }\n\n if (color === 'transparent') {\n return 0;\n }\n\n const lastComma = color.lastIndexOf(',');\n const parsed = color\n .slice(lastComma)\n .replace(')', '')\n .replace(' ', '')\n .replace(',', '');\n\n return Math.round(Number.parseFloat(parsed) * 100);\n }\n\n onColorChange(\n connector: TuiDocDocumentationPropertyConnectorDirective<string>,\n color: string,\n ): void {\n const opacity = this.getOpacity(connector.documentationPropertyValue || '');\n\n if (opacity === 100) {\n connector.onValueChange(color);\n\n return;\n }\n\n const rgb = hexToRgb(color).join(', ');\n const result = `rgba(${rgb}, ${opacity / 100})`;\n\n connector.onValueChange(result);\n }\n\n onOpacityChange(\n connector: TuiDocDocumentationPropertyConnectorDirective<string>,\n opacity: number,\n ): void {\n const hex = this.getColor(connector.documentationPropertyValue || '');\n const rgb = hexToRgb(hex);\n const result = `rgba(${rgb}, ${opacity / 100})`;\n\n connector.onValueChange(result);\n }\n\n stripOptional(name: string): string {\n return name.replace('?', '');\n }\n\n isOptional(name: string): boolean {\n return name.includes('?');\n }\n\n isPrimitivePolymorpheusContent(value: unknown): boolean {\n return typeof value === 'string' || typeof value === 'number';\n }\n\n showCleaner(type: string): boolean {\n return type.includes('null');\n }\n\n showContentTooltip(type: string): boolean {\n return type.includes('PolymorpheusContent');\n }\n\n inspectAny(data: unknown): string {\n return inspectAny(data, 2);\n }\n}\n","import {Directive, Inject, Input, Renderer2} from '@angular/core';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR, TuiFocusableElementAccessor} from '@taiga-ui/cdk';\n\n@Directive({\n selector: '[tuiInputOpacity]',\n})\nexport class TuiInputOpacityDirective {\n @Input()\n set tuiInputOpacity(opacity: number) {\n const {nativeFocusableElement} = this.tuiFocusableComponent;\n\n if (nativeFocusableElement) {\n this.renderer.setStyle(nativeFocusableElement, 'opacity', opacity / 100);\n }\n }\n\n constructor(\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)\n private readonly tuiFocusableComponent: TuiFocusableElementAccessor,\n ) {}\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiInputOpacityDirective} from './input-opacity.directive';\n\n@NgModule({\n declarations: [TuiInputOpacityDirective],\n exports: [TuiInputOpacityDirective],\n})\nexport class TuiInputOpacityModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {\n TuiDataListModule,\n TuiDropdownControllerModule,\n TuiGroupModule,\n TuiHintControllerModule,\n TuiLinkModule,\n TuiModeModule,\n TuiNotificationModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiTooltipModule,\n} from '@taiga-ui/core';\nimport {\n TuiBadgeModule,\n TuiDataListWrapperModule,\n TuiInputCountModule,\n TuiSelectModule,\n TuiToggleModule,\n} from '@taiga-ui/kit';\n\nimport {TuiInputOpacityModule} from '../../internal/input-opacity/input-opacity.module';\nimport {TuiDocDocumentationComponent} from './documentation.component';\nimport {TuiDocDocumentationPropertyConnectorDirective} from './documentation-property-connector.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n TuiBadgeModule,\n TuiSelectModule,\n TuiToggleModule,\n TuiTooltipModule,\n TuiLinkModule,\n TuiInputCountModule,\n TuiModeModule,\n TuiGroupModule,\n TuiInputOpacityModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiHintControllerModule,\n TuiDropdownControllerModule,\n TuiDataListModule,\n TuiDataListWrapperModule,\n TuiNotificationModule,\n ],\n declarations: [\n TuiDocDocumentationComponent,\n TuiDocDocumentationPropertyConnectorDirective,\n ],\n exports: [\n TuiDocDocumentationComponent,\n TuiDocDocumentationPropertyConnectorDirective,\n ],\n})\nexport class TuiDocDocumentationModule {}\n","import {InjectionToken} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport const TUI_DOC_CODE_ACTIONS = new InjectionToken<\n PolymorpheusContent<TuiContextWithImplicit<string>>\n>('Code actions for the opened tab with code example', {\n factory: () => '',\n});\n","import {InjectionToken} from '@angular/core';\n\nimport {TuiCodeEditor} from '../interfaces/code-editor';\n\nexport const TUI_DOC_CODE_EDITOR = new InjectionToken<TuiCodeEditor>(\n 'Contains service for opening online IDE e.g. Stackblitz',\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiHandler} from '@taiga-ui/cdk';\nimport {identity} from 'rxjs';\n\nexport const TUI_DOC_EXAMPLE_CONTENT_PROCESSOR: InjectionToken<\n TuiHandler<Record<string, string>, Record<string, string>>\n> = new InjectionToken('Processes content in example', {factory: () => identity});\n","import {TuiDocExample} from '../interfaces/page';\nimport {rawLoad} from './raw-load';\n\nexport async function rawLoadRecord(\n example: TuiDocExample,\n): Promise<Record<string, string>> {\n const processedContent: Record<string, string> = {};\n\n for (const [key, content] of Object.entries(example)) {\n if (content) {\n processedContent[key] = await rawLoad(content);\n }\n }\n\n return processedContent;\n}\n","import {Clipboard} from '@angular/cdk/clipboard';\nimport {\n Attribute,\n ChangeDetectionStrategy,\n Component,\n Inject,\n Input,\n Optional,\n} from '@angular/core';\nimport {LOCATION} from '@ng-web-apis/common';\nimport {TUI_IS_CYPRESS, TuiHandler} from '@taiga-ui/cdk';\nimport {TuiNotification, TuiNotificationsService} from '@taiga-ui/core';\nimport {TUI_COPY_TEXTS} from '@taiga-ui/kit';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {BehaviorSubject, Observable, Subject} from 'rxjs';\nimport {map, switchMap} from 'rxjs/operators';\n\nimport {TuiCodeEditor} from '../../interfaces/code-editor';\nimport {TuiDocExample} from '../../interfaces/page';\nimport {TUI_DOC_CODE_ACTIONS} from '../../tokens/code-actions';\nimport {TUI_DOC_CODE_EDITOR} from '../../tokens/code-editor';\nimport {TUI_DOC_EXAMPLE_CONTENT_PROCESSOR} from '../../tokens/example-content-processor';\nimport {TUI_DOC_EXAMPLE_TEXTS} from '../../tokens/i18n';\nimport {rawLoadRecord} from '../../utils/raw-load-record';\n\n// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395\n// @dynamic\n@Component({\n selector: 'tui-doc-example',\n templateUrl: './example.template.html',\n styleUrls: ['./example.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiDocExampleComponent {\n private readonly rawLoader$$ = new BehaviorSubject<TuiDocExample>({});\n\n @Input()\n heading: PolymorpheusContent = '';\n\n @Input()\n description: PolymorpheusContent = '';\n\n @Input()\n set content(content: TuiDocExample) {\n this.rawLoader$$.next(content);\n }\n\n @Input()\n componentName: string = this.location.pathname.slice(1);\n\n readonly defaultTabIndex = 0;\n\n readonly defaultTab = this.texts[this.defaultTabIndex];\n\n activeItemIndex = this.defaultTabIndex;\n\n readonly copy$ = this.copyTexts$.pipe(map(([copy]) => copy));\n\n readonly processor$: Observable<Record<string, string>> = this.rawLoader$$.pipe(\n switchMap(rawLoadRecord),\n map(value => this.processContent(value)),\n );\n\n readonly loading$ = new Subject<boolean>();\n\n constructor(\n @Attribute('id')\n readonly id: string | null,\n @Inject(Clipboard) private readonly clipboard: Clipboard,\n @Inject(TuiNotificationsService)\n private readonly notifications: TuiNotificationsService,\n @Inject(LOCATION) private readonly location: Location,\n @Inject(TUI_COPY_TEXTS) private readonly copyTexts$: Observable<[string, string]>,\n @Inject(TUI_DOC_EXAMPLE_TEXTS) readonly texts: [string, string, string],\n @Optional()\n @Inject(TUI_DOC_CODE_EDITOR)\n readonly codeEditor: TuiCodeEditor | null,\n @Inject(TUI_DOC_EXAMPLE_CONTENT_PROCESSOR)\n private readonly processContent: TuiHandler<\n Record<string, string>,\n Record<string, string>\n >,\n @Inject(TUI_IS_CYPRESS) readonly isCypress: boolean,\n @Inject(TUI_DOC_CODE_ACTIONS) readonly codeActions: PolymorpheusContent[],\n ) {}\n\n copyExampleLink(): void {\n const hashPosition = this.location.href.indexOf('#');\n const currentUrl =\n hashPosition > -1\n ? this.location.href.slice(0, Math.max(0, hashPosition))\n : this.location.href;\n const url = `${currentUrl}#${this.id}`;\n\n this.clipboard.copy(url);\n this.notifications\n .show(this.texts[1], {\n label: this.texts[2],\n status: TuiNotification.Success,\n })\n .subscribe();\n }\n\n edit(files: Record<string, string>): void {\n this.loading$.next(true);\n this.codeEditor\n ?.edit(this.componentName, this.id ?? '', files)\n .finally(() => this.loading$.next(false));\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {capitalizeFirstLetter} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n@Pipe({name: 'tuiDocExampleCapitalize'})\nexport class TuiDocExampleCapitalizePipe implements PipeTransform {\n transform(content: PolymorpheusContent): PolymorpheusContent {\n return typeof content === 'string' ? capitalizeFirstLetter(content) : content;\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({name: 'tuiDocExampleGetTabs'})\nexport class TuiDocExampleGetTabsPipe implements PipeTransform {\n transform(content: Record<string, string>, defaultTab: string): string[] {\n return [defaultTab, ...Object.keys(content)];\n }\n}\n","import {ClipboardModule} from '@angular/cdk/clipboard';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {TuiTabsModule} from '@taiga-ui/kit';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDocCodeModule} from '../code/code.module';\nimport {TuiDocCopyModule} from '../copy/copy.module';\nimport {TuiDocExampleComponent} from './example.component';\nimport {TuiDocExampleCapitalizePipe} from './example-capitalize.pipe';\nimport {TuiDocExampleGetTabsPipe} from './example-get-tabs.pipe';\n\n@NgModule({\n imports: [\n CommonModule,\n ClipboardModule,\n TuiTabsModule,\n TuiButtonModule,\n TuiDocCopyModule,\n TuiDocCodeModule,\n PolymorpheusModule,\n ],\n declarations: [\n TuiDocExampleComponent,\n TuiDocExampleGetTabsPipe,\n TuiDocExampleCapitalizePipe,\n ],\n exports: [\n TuiDocExampleComponent,\n TuiDocExampleGetTabsPipe,\n TuiDocExampleCapitalizePipe,\n ],\n})\nexport class TuiDocExampleModule {}\n","import {\n Component,\n forwardRef,\n HostBinding,\n Inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport {LOCAL_STORAGE, WINDOW} from '@ng-web-apis/common';\nimport {TuiSwipeService} from '@taiga-ui/cdk';\nimport {TuiBrightness, TuiModeDirective} from '@taiga-ui/core';\nimport {Subject} from 'rxjs';\n\n// @dynamic\n@Component({\n selector: 'tui-doc-main',\n templateUrl: './main.template.html',\n styleUrls: ['./main.style.less'],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: TuiModeDirective,\n useExisting: forwardRef(() => TuiDocMainComponent),\n },\n TuiSwipeService,\n ],\n})\nexport class TuiDocMainComponent {\n night =\n this.storage.getItem('night') === 'true' ||\n (this.storage.getItem('night') === null &&\n this.windowRef.matchMedia('(prefers-color-scheme: dark)').matches);\n\n readonly change$ = new Subject<void>();\n\n constructor(\n @Inject(LOCAL_STORAGE) private readonly storage: Storage,\n @Inject(WINDOW) private readonly windowRef: Window,\n ) {}\n\n @HostBinding('attr.data-mode')\n get mode(): TuiBrightness | null {\n return this.night ? 'onDark' : null;\n }\n\n onMode(night: boolean): void {\n this.night = night;\n this.change$.next();\n this.storage.setItem('night', String(night));\n }\n}\n","import {InjectionToken} from '@angular/core';\nimport {defer, Observable, of, timer} from 'rxjs';\nimport {switchMapTo} from 'rxjs/operators';\n\nexport const TUI_DOC_PAGE_LOADED = new InjectionToken<Observable<boolean>>(\n '[TUI_DOC_PAGE_LOADED] Stream that emits if loading of page is over (for example, to begin scrollIntoView)',\n {factory: () => defer(() => timer(200).pipe(switchMapTo(of(true))))},\n);\n","import {Directive, ElementRef, Inject, Input} from '@angular/core';\nimport {getElementObscurers, TuiDestroyService} from '@taiga-ui/cdk';\nimport {Observable, ReplaySubject} from 'rxjs';\nimport {debounceTime, filter, switchMapTo, takeUntil} from 'rxjs/operators';\n\nimport {TUI_DOC_PAGE_LOADED} from '../../tokens/page-loaded';\n\n/**\n * @deprecated: use {@link TuiScrollIntoViewLinkDirective}\n * TODO: remove in v3.0\n */\n@Directive({\n selector: '[scrollIntoView]',\n providers: [TuiDestroyService],\n})\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class ScrollIntoViewDirective {\n @Input()\n set scrollIntoView(shallWe: boolean) {\n this.scroll$.next(shallWe);\n }\n\n private readonly scroll$ = new ReplaySubject<boolean>(1);\n\n constructor(\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(TUI_DOC_PAGE_LOADED)\n readonly readyToScroll$: Observable<boolean>,\n ) {\n this.readyToScroll$\n .pipe(\n filter(Boolean),\n switchMapTo(this.scroll$),\n debounceTime(750),\n filter(shallWe => shallWe && !!getElementObscurers(nativeElement)),\n takeUntil(destroy$),\n )\n .subscribe(() => {\n nativeElement.scrollIntoView();\n });\n }\n}\n\n@Directive({\n selector: '[tuiScrollIntoViewLink]',\n providers: [TuiDestroyService],\n})\nexport class TuiScrollIntoViewLinkDirective extends ScrollIntoViewDirective {}\n","import {NgModule} from '@angular/core';\n\nimport {\n ScrollIntoViewDirective,\n TuiScrollIntoViewLinkDirective,\n} from './scroll-into-view.directive';\n\n/**\n * @deprecated: use {@link TuiScrollIntoViewLinkModule}\n * TODO: remove in v3.0\n */\n@NgModule({\n declarations: [ScrollIntoViewDirective],\n exports: [ScrollIntoViewDirective],\n})\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class ScrollIntoViewModule {}\n\n@NgModule({\n declarations: [TuiScrollIntoViewLinkDirective],\n exports: [TuiScrollIntoViewLinkDirective],\n})\nexport class TuiScrollIntoViewLinkModule {}\n","const MAP: Record<string, string> = {\n а: 'f',\n б: ',',\n в: 'd',\n г: 'u',\n д: 'l',\n е: 't',\n ё: '`',\n ж: ';',\n з: 'p',\n и: 'b',\n й: 'q',\n к: 'r',\n л: 'k',\n м: 'v',\n н: 'y',\n о: 'j',\n п: 'g',\n р: 'h',\n с: 'c',\n т: 'n',\n у: 'e',\n ф: 'a',\n х: '[',\n ц: 'w',\n ч: 'x',\n ш: 'i',\n щ: 'o',\n ъ: ']',\n ы: 's',\n ь: 'm',\n ю: '.',\n я: 'z',\n};\n\n/**\n * Translates text mistakenly typed in the Russian layout into English\n * @param string string with Russian layout characters\n * @return string with English layout characters\n */\nexport function transliterateKeyboardLayout(string: string): string {\n let newStr = '';\n\n for (let i = 0; i < string.length; i++) {\n newStr += string.charAt(i) in MAP ? MAP[string.charAt(i)] : string.charAt(i);\n }\n\n return newStr;\n}\n","import {InjectionToken} from '@angular/core';\n\nimport {TuiDocPages} from '../types/pages';\n\nexport const TUI_DOC_PAGES: InjectionToken<TuiDocPages> = new InjectionToken<TuiDocPages>(\n 'Documentation pages',\n {\n factory: () => [],\n },\n);\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOC_TITLE = new InjectionToken<string>('Page title', {\n factory: () => '',\n});\n","import {InjectionToken, Provider} from '@angular/core';\nimport {ActivatedRoute, NavigationEnd, Router} from '@angular/router';\nimport {isPresent, TuiDestroyService} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\nimport {filter, map, mergeMap, takeUntil} from 'rxjs/operators';\n\nimport {TUI_DOC_PAGES} from '../../tokens/pages';\nimport {TUI_DOC_TITLE} from '../../tokens/title';\nimport {TuiDocPages} from '../../types/pages';\n\nexport const NAVIGATION_TITLE = new InjectionToken<Observable<string>>('Page title');\nexport const NAVIGATION_LABELS = new InjectionToken<readonly string[]>(\n 'Navigation sections labels for search',\n);\nexport const NAVIGATION_ITEMS: InjectionToken<readonly TuiDocPages[]> =\n new InjectionToken<readonly TuiDocPages[]>('Navigation pages');\n\nexport const NAVIGATION_PROVIDERS: Provider[] = [\n TuiDestroyService,\n {\n provide: NAVIGATION_TITLE,\n deps: [Router, ActivatedRoute, TUI_DOC_TITLE, TuiDestroyService],\n useFactory: titleProviderFactory,\n },\n {\n provide: NAVIGATION_LABELS,\n deps: [TUI_DOC_PAGES],\n useFactory: labelsProviderFactory,\n },\n {\n provide: NAVIGATION_ITEMS,\n deps: [TUI_DOC_PAGES],\n useFactory: itemsProviderFactory,\n },\n];\n\nexport function titleProviderFactory(\n router: Router,\n activatedRoute: ActivatedRoute,\n titlePrefix: string,\n destroy$: Observable<void>,\n): Observable<string> {\n return router.events.pipe(\n filter(event => event instanceof NavigationEnd),\n map(() => activatedRoute.firstChild),\n filter(isPresent),\n mergeMap(({data}) => data),\n map(({title}) => titlePrefix + title),\n takeUntil(destroy$),\n );\n}\n\nexport function labelsProviderFactory(pages: TuiDocPages): readonly string[] {\n return pages\n .map(({section}) => section)\n .filter(isPresent)\n .filter((item, index, array) => array.indexOf(item) === index);\n}\n\nexport function itemsProviderFactory(pages: TuiDocPages): readonly TuiDocPages[] {\n const labels = labelsProviderFactory(pages);\n\n return [\n ...labels.map(label => pages.filter(({section}) => section === label)),\n pages.filter(page => !page.section),\n ];\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Inject,\n Optional,\n} from '@angular/core';\nimport {Title} from '@angular/platform-browser';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {TuiSidebarDirective} from '@taiga-ui/addon-mobile';\nimport {TuiDestroyService, tuiPure, uniqBy} from '@taiga-ui/cdk';\nimport {TuiBrightness, TuiModeDirective} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\nimport {filter, map, startWith, take, takeUntil} from 'rxjs/operators';\n\nimport {TuiDocPage} from '../../interfaces/page';\nimport {TUI_DOC_SEARCH_TEXT} from '../../tokens/i18n';\nimport {TUI_DOC_PAGE_LOADED} from '../../tokens/page-loaded';\nimport {TuiDocPages} from '../../types/pages';\nimport {transliterateKeyboardLayout} from '../../utils/transliterate-keyboard-layout';\nimport {\n NAVIGATION_ITEMS,\n NAVIGATION_LABELS,\n NAVIGATION_PROVIDERS,\n NAVIGATION_TITLE,\n} from './navigation.providers';\n\n// @dynamic\n@Component({\n selector: 'tui-doc-navigation',\n templateUrl: 'navigation.template.html',\n styleUrls: ['navigation.style.less'],\n providers: NAVIGATION_PROVIDERS,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiDocNavigationComponent {\n @HostBinding('class._open')\n menuOpen = false;\n\n search = '';\n open = false;\n openPagesArr: boolean[] = [];\n openPagesGroupsArr: boolean[] = [];\n active = '';\n\n readonly mode$: Observable<TuiBrightness> = this.mode.change$.pipe(\n startWith(null),\n map(() => this.mode.mode || 'onLight'),\n );\n\n constructor(\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(Title) titleService: Title,\n @Inject(NAVIGATION_TITLE) title$: Observable<string>,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(TuiModeDirective)\n private readonly mode: TuiModeDirective,\n @Optional()\n @Inject(TuiSidebarDirective)\n readonly sidebar: unknown,\n @Inject(NAVIGATION_LABELS) readonly labels: string[],\n @Inject(NAVIGATION_ITEMS)\n readonly items: readonly TuiDocPages[],\n @Inject(TUI_DOC_SEARCH_TEXT) readonly searchText: string,\n @Inject(Router) private readonly router: Router,\n @Inject(ActivatedRoute) private readonly activatedRoute: ActivatedRoute,\n @Inject(TuiDestroyService) private readonly destroy$: Observable<void>,\n @Inject(TUI_DOC_PAGE_LOADED)\n private readonly readyToScroll$: Observable<boolean>,\n ) {\n // Angular can't navigate no anchor links\n // https://stackoverflow.com/questions/36101756/angular2-routing-with-hashtag-to-page-anchor\n title$.subscribe(title => {\n changeDetectorRef.markForCheck();\n titleService.setTitle(title);\n this.openActivePageGroup();\n this.handleAnchorLink(this.activatedRoute.snapshot.fragment);\n });\n }\n\n get canOpen(): boolean {\n return this.search.length > 2;\n }\n\n get filteredItems(): ReadonlyArray<readonly TuiDocPage[]> {\n return this.filterItems(this.flattenSubPages(this.items), this.search);\n }\n\n get itemsWithoutSections(): TuiDocPages {\n return this.items[this.items.length - 1];\n }\n\n isActive(route: string): boolean {\n return route === this.active;\n }\n\n onGroupClick(index: number): void {\n this.openPagesGroupsArr[index] = !this.openPagesGroupsArr[index];\n }\n\n closeMenu(): void {\n this.menuOpen = false;\n }\n\n onSearchChange(search: string): void {\n this.search = search;\n this.open = this.canOpen;\n }\n\n onClick(): void {\n this.open = false;\n this.menuOpen = false;\n this.search = '';\n this.openActivePageGroup();\n }\n\n @tuiPure\n private filterItems(\n items: ReadonlyArray<readonly TuiDocPage[]>,\n search: string,\n ): ReadonlyArray<readonly TuiDocPage[]> {\n return items.map(section =>\n uniqBy(\n section.filter(({title, keywords = ''}) => {\n title = title.toLowerCase();\n search = search.toLowerCase();\n keywords = keywords.toLowerCase();\n\n return (\n title.includes(search) ||\n keywords.includes(search) ||\n title.includes(transliterateKeyboardLayout(search)) ||\n keywords.includes(transliterateKeyboardLayout(search)) ||\n search.replace(/-/gi, '').includes(title)\n );\n }),\n 'title',\n ),\n );\n }\n\n @tuiPure\n private flattenSubPages(\n items: readonly TuiDocPages[],\n ): ReadonlyArray<readonly TuiDocPage[]> {\n return items.reduce<ReadonlyArray<readonly TuiDocPage[]>>(\n (array, item) => [\n ...array,\n item.reduce<readonly TuiDocPage[]>(\n (pages, page) =>\n 'subPages' in page\n ? [...pages, ...page.subPages]\n : [...pages, page],\n [],\n ),\n ],\n [],\n );\n }\n\n private isActiveRoute(route: string): boolean {\n return this.router.isActive(route, false);\n }\n\n private handleAnchorLink(hash: string): void {\n this.readyToScroll$\n .pipe(filter(Boolean), take(1), takeUntil(this.destroy$))\n .subscribe(() => this.navigateToAnchorLink(hash));\n }\n\n private openActivePageGroup(): void {\n this.items.forEach((pages, pagesIndex) => {\n pages.forEach((page, pageIndex) => {\n if ('route' in page && this.isActiveRoute(page.route)) {\n this.openPagesArr[pagesIndex] = true;\n this.active = page.route;\n }\n\n if ('subPages' in page) {\n page.subPages.forEach(subPage => {\n if (this.isActiveRoute(subPage.route)) {\n this.openPagesArr[pagesIndex] = true;\n this.openPagesGroupsArr[pagesIndex * 100 + pageIndex] = true;\n this.active = subPage.route;\n }\n });\n }\n });\n });\n }\n\n private navigateToAnchorLink(fragment: string): void {\n const element = fragment && this.documentRef.querySelector(`#${fragment}`);\n\n if (!element) {\n return;\n }\n\n element.classList.add('tui-doc-animated-example');\n element.scrollIntoView({\n block: 'start',\n inline: 'nearest',\n behavior: 'smooth',\n });\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {TuiActiveZoneModule, TuiAutoFocusModule, TuiLetModule} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiDataListModule,\n TuiDropdownControllerModule,\n TuiExpandModule,\n TuiHostedDropdownModule,\n TuiLinkModule,\n TuiModeModule,\n TuiPrimitiveTextfieldModule,\n TuiScrollbarModule,\n TuiSvgModule,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/core';\nimport {TuiAccordionModule} from '@taiga-ui/kit';\n\nimport {\n ScrollIntoViewModule,\n TuiScrollIntoViewLinkModule,\n} from '../../directives/scroll-into-view/scroll-into-view.module';\nimport {TuiDocNavigationComponent} from './navigation.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n ScrollIntoViewModule,\n TuiScrollIntoViewLinkModule,\n TuiButtonModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiActiveZoneModule,\n TuiLetModule,\n TuiModeModule,\n TuiLinkModule,\n TuiExpandModule,\n TuiHostedDropdownModule,\n TuiDropdownControllerModule,\n TuiAccordionModule,\n TuiScrollbarModule,\n TuiSvgModule,\n TuiDataListModule,\n TuiAutoFocusModule,\n ],\n declarations: [TuiDocNavigationComponent],\n exports: [TuiDocNavigationComponent],\n})\nexport class TuiDocNavigationModule {}\n","import {InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport const TUI_DOC_LOGO = new InjectionToken<PolymorpheusContent>('Main logo', {\n factory: () => '',\n});\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {Router} from '@angular/router';\nimport {TuiSwipeService} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {merge, Subject} from 'rxjs';\nimport {distinctUntilChanged, filter, map, mapTo, startWith} from 'rxjs/operators';\n\nimport {TUI_DOC_MENU_TEXT} from '../../tokens/i18n';\nimport {TUI_DOC_LOGO} from '../../tokens/logo';\n\n@Component({\n selector: 'header[tuiDocHeader]',\n templateUrl: './header.template.html',\n styleUrls: ['./header.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiDocHeaderComponent {\n private readonly stream$ = new Subject<boolean>();\n\n readonly open$ = merge(\n this.router.events.pipe(mapTo(false)),\n this.stream$,\n this.swipes$.pipe(\n filter(swipe => swipe.direction === 'left' || swipe.direction === 'right'),\n map(swipe => swipe.direction === 'right'),\n ),\n ).pipe(startWith(false), distinctUntilChanged());\n\n constructor(\n @Inject(TUI_DOC_LOGO) readonly logo: PolymorpheusContent,\n @Inject(TUI_DOC_MENU_TEXT) readonly menu: string,\n @Inject(Router) private readonly router: Router,\n @Inject(TuiSwipeService) private readonly swipes$: TuiSwipeService,\n ) {}\n\n onClick(): void {\n this.stream$.next(true);\n }\n\n onActiveZone(active: boolean): void {\n if (!active) {\n this.stream$.next(false);\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSidebarModule} from '@taiga-ui/addon-mobile';\nimport {TuiActiveZoneModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDocNavigationModule} from '../../components/navigation/navigation.module';\nimport {TuiDocHeaderComponent} from './header.component';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiButtonModule,\n TuiSidebarModule,\n TuiActiveZoneModule,\n TuiDocNavigationModule,\n ],\n declarations: [TuiDocHeaderComponent],\n exports: [TuiDocHeaderComponent],\n})\nexport class TuiDocHeaderModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {\n TuiAlertModule,\n TuiDialogModule,\n TuiRootModule,\n TuiThemeNightModule,\n} from '@taiga-ui/core';\nimport {TuiToggleModule} from '@taiga-ui/kit';\n\nimport {TuiDocHeaderModule} from '../../internal/header/header.module';\nimport {TuiDocNavigationModule} from '../navigation/navigation.module';\nimport {TuiDocMainComponent} from './main.component';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n FormsModule,\n TuiToggleModule,\n TuiThemeNightModule,\n TuiDocHeaderModule,\n TuiRootModule,\n TuiDialogModule,\n TuiAlertModule,\n TuiDocNavigationModule,\n ],\n declarations: [TuiDocMainComponent],\n exports: [TuiDocMainComponent],\n})\nexport class TuiDocMainModule {}\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOC_DEFAULT_TABS = new InjectionToken<readonly string[]>(\n 'Array of default tab names',\n {\n factory: () => [],\n },\n);\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOC_SEE_ALSO = new InjectionToken<ReadonlyArray<readonly string[]>>(\n 'Array of arrays of related pages',\n {\n factory: () => [],\n },\n);\n","import {ElementRef, InjectionToken, Provider} from '@angular/core';\n\nimport {TUI_DOC_SEE_ALSO} from '../../tokens/see-also';\n\nexport const PAGE_SEE_ALSO = new InjectionToken<readonly string[]>('Page see also');\n\nexport const PAGE_PROVIDERS: Provider[] = [\n {\n provide: PAGE_SEE_ALSO,\n deps: [ElementRef, TUI_DOC_SEE_ALSO],\n useFactory: seeAlsoProviderFactory,\n },\n];\n\nexport function seeAlsoProviderFactory(\n {nativeElement}: ElementRef,\n seeAlsoGroups: ReadonlyArray<readonly string[]>,\n): readonly string[] {\n const currentHeader = nativeElement.getAttribute('header');\n const groups = seeAlsoGroups.filter(group => group.includes(currentHeader)) || [];\n\n const seeAlsoSet = new Set(\n groups\n .join()\n .split(',')\n .filter(component => component && component !== currentHeader),\n );\n\n return Array.from(seeAlsoSet);\n}\n","import {Directive, Inject, Input, TemplateRef} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\n@Directive({\n selector: '[pageTab]',\n})\nexport class TuiDocPageTabConnectorDirective {\n @Input()\n @tuiDefaultProp()\n pageTab?: string | '';\n\n constructor(\n @Inject(TemplateRef) readonly template: TemplateRef<Record<string, unknown>>,\n ) {}\n}\n","import {\n Attribute,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk';\n\nimport {TUI_DOC_DEFAULT_TABS} from '../../tokens/default-tabs';\nimport {PAGE_PROVIDERS, PAGE_SEE_ALSO} from './page.providers';\nimport {TuiDocPageTabConnectorDirective} from './page-tab.directive';\n\n// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395\n// @dynamic\n@Component({\n selector: 'tui-doc-page',\n templateUrl: './page.template.html',\n styleUrls: ['./page.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: PAGE_PROVIDERS,\n})\nexport class TuiDocPageComponent {\n @Input()\n header = '';\n\n @Input()\n package = '';\n\n @Input()\n type = '';\n\n @Input()\n path = '';\n\n @ContentChildren(TuiDocPageTabConnectorDirective)\n readonly tabConnectors: QueryList<TuiDocPageTabConnectorDirective> = EMPTY_QUERY;\n\n activeItemIndex = NaN;\n\n constructor(\n @Attribute('deprecated') readonly deprecated: string | null,\n @Inject(TUI_DOC_DEFAULT_TABS) readonly defaultTabs: readonly string[],\n @Inject(PAGE_SEE_ALSO) readonly seeAlso: readonly string[],\n ) {}\n\n get showSeeAlso(): boolean {\n return !!this.seeAlso.length && this.activeItemIndex === 0;\n }\n\n getRouterLink(tab: string = ''): string {\n return `./${tab.replace(/ /g, '_')}`;\n }\n}\n","import {ChangeDetectionStrategy, Component, Inject, Input} from '@angular/core';\n\nimport {TuiDocPage, TuiDocPageGroup} from '../../interfaces/page';\nimport {TUI_DOC_SEE_ALSO_TEXT} from '../../tokens/i18n';\nimport {TUI_DOC_PAGES} from '../../tokens/pages';\n\n// @dynamic\n@Component({\n selector: 'tui-doc-see-also',\n templateUrl: './see-also.template.html',\n styleUrls: ['./see-also.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiDocSeeAlsoComponent {\n @Input()\n seeAlso: readonly string[] = [];\n\n constructor(\n @Inject(TUI_DOC_SEE_ALSO_TEXT) readonly text: string,\n @Inject(TUI_DOC_PAGES)\n private readonly pages: ReadonlyArray<TuiDocPageGroup | TuiDocPage>,\n ) {}\n\n getRouterLink(pageTitle: string): string {\n for (let i = 0; i < this.pages.length; i++) {\n const page = this.pages\n .map(page => ('subPages' in page ? page.subPages : [page]))\n .reduce((pages, subPages) => [...pages, ...subPages], [])\n .find((page: TuiDocPage) => page.title === pageTitle);\n\n if (page?.route) {\n return page.route;\n }\n }\n\n return '';\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {RouterModule} from '@angular/router';\nimport {TuiLinkModule} from '@taiga-ui/core';\n\nimport {TuiDocSeeAlsoComponent} from './see-also.component';\n\n@NgModule({\n imports: [CommonModule, RouterModule, TuiLinkModule],\n declarations: [TuiDocSeeAlsoComponent],\n exports: [TuiDocSeeAlsoComponent],\n})\nexport class TuiDocSeeAlsoModule {}\n","import {InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDocSourceCodePathOptions} from '../interfaces/source-code-path-options';\n\nexport const TUI_DOC_SOURCE_CODE: InjectionToken<\n PolymorpheusContent<TuiDocSourceCodePathOptions>\n> = new InjectionToken<PolymorpheusContent<TuiDocSourceCodePathOptions>>(\n 'Source code link',\n {\n factory: () => '',\n },\n);\n","import {ChangeDetectionStrategy, Component, Inject, Input} from '@angular/core';\nimport {tuiPure} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDocSourceCodePathOptions} from '../../interfaces/source-code-path-options';\nimport {TUI_DOC_SOURCE_CODE_TEXT} from '../../tokens/i18n';\nimport {TUI_DOC_SOURCE_CODE} from '../../tokens/source-code';\n\n@Component({\n selector: 'tui-doc-source-code',\n templateUrl: './source-code.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiDocSourceCodeComponent {\n @Input()\n header = '';\n\n @Input()\n package = '';\n\n @Input()\n type = '';\n\n @Input()\n path = '';\n\n constructor(\n @Inject(TUI_DOC_SOURCE_CODE)\n readonly sourceCode: PolymorpheusContent<TuiDocSourceCodePathOptions>,\n @Inject(TUI_DOC_SOURCE_CODE_TEXT) readonly text: string,\n ) {}\n\n get pathOptions(): TuiDocSourceCodePathOptions {\n return this.getPathOptions(this.header, this.package, this.type, this.path);\n }\n\n @tuiPure\n private getPathOptions(\n header: string,\n packageName: string,\n type: string,\n path: string,\n ): TuiDocSourceCodePathOptions {\n return {\n header,\n package: packageName,\n type,\n path,\n };\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDocSourceCodeComponent} from './source-code.component';\n\n@NgModule({\n declarations: [TuiDocSourceCodeComponent],\n imports: [CommonModule, PolymorpheusModule, TuiButtonModule],\n exports: [TuiDocSourceCodeComponent],\n})\nexport class TuiDocSourceCodeModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {RouterModule} from '@angular/router';\nimport {TuiTabsModule, TuiTagModule} from '@taiga-ui/kit';\n\nimport {TuiDocSeeAlsoModule} from '../../internal/see-also/see-also.module';\nimport {TuiDocSourceCodeModule} from '../../internal/source-code/source-code.module';\nimport {TuiDocPageComponent} from './page.component';\nimport {TuiDocPageTabConnectorDirective} from './page-tab.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n TuiDocSeeAlsoModule,\n TuiTabsModule,\n TuiTagModule,\n TuiDocSourceCodeModule,\n ],\n declarations: [TuiDocPageComponent, TuiDocPageTabConnectorDirective],\n exports: [TuiDocPageComponent, TuiDocPageTabConnectorDirective],\n})\nexport class TuiDocPageModule {}\n","import {Provider} from '@angular/core';\n\nimport {\n TUI_DOC_DEMO_TEXTS,\n TUI_DOC_DOCUMENTATION_TEXTS,\n TUI_DOC_EXAMPLE_TEXTS,\n TUI_DOC_MENU_TEXT,\n TUI_DOC_SEARCH_TEXT,\n TUI_DOC_SEE_ALSO_TEXT,\n TUI_DOC_SOURCE_CODE_TEXT,\n} from '../tokens/i18n';\n\n// TODO: 3.0 remove in ivy compilation\nexport const DEMO_TEXTS = ['Сделано с помощью директивы: ', 'Фон', 'Детали формы'];\nexport const DOC_TEXTS = [\n 'Аргумент',\n 'Тип',\n 'Имя и описание',\n 'Значение',\n 'Для работы с динамическими шаблонами используется',\n];\nexport const EXAMPLE_TEXTS = ['Превью', 'Ссылка на пример скопирована', 'Готово'];\n\nexport const TUI_DOC_RUSSIAN: Provider[] = [\n {\n provide: TUI_DOC_DEMO_TEXTS,\n useValue: DEMO_TEXTS,\n },\n {\n provide: TUI_DOC_DOCUMENTATION_TEXTS,\n useValue: DOC_TEXTS,\n },\n {\n provide: TUI_DOC_EXAMPLE_TEXTS,\n useValue: EXAMPLE_TEXTS,\n },\n {\n provide: TUI_DOC_MENU_TEXT,\n useValue: 'Меню',\n },\n {\n provide: TUI_DOC_SEARCH_TEXT,\n useValue: 'Поиск',\n },\n {\n provide: TUI_DOC_SEE_ALSO_TEXT,\n useValue: 'Смотрите также',\n },\n {\n provide: TUI_DOC_SOURCE_CODE_TEXT,\n useValue: 'Исходный код',\n },\n];\n","import {NgModule} from '@angular/core';\n\nimport {TuiDocCodeModule} from './components/code/code.module';\nimport {TuiDocDemoModule} from './components/demo/demo.module';\nimport {TuiDocDocumentationModule} from './components/documentation/documentation.module';\nimport {TuiDocExampleModule} from './components/example/example.module';\nimport {TuiDocPageModule} from './components/page/page.module';\n\n@NgModule({\n exports: [\n TuiDocCodeModule,\n TuiDocDemoModule,\n TuiDocDocumentationModule,\n TuiDocPageModule,\n TuiDocExampleModule,\n ],\n})\nexport class TuiAddonDocModule {}\n","export interface TuiDocPageBase {\n readonly section?: string;\n readonly title: string;\n}\n\nexport interface TuiDocPage extends TuiDocPageBase {\n readonly route: string;\n readonly keywords?: string;\n}\n\nexport interface TuiDocPageGroup extends TuiDocPageBase {\n readonly subPages: readonly TuiDocPage[];\n}\n\nexport type RawLoaderContent = Promise<{default: string}> | string;\n\nexport const TUI_EXAMPLE_PRIMARY_FILE_NAME = {\n TS: 'TypeScript',\n LESS: 'LESS',\n HTML: 'HTML',\n} as const;\n\nexport type TuiDocExample =\n | Record<string, RawLoaderContent>\n | {\n [TUI_EXAMPLE_PRIMARY_FILE_NAME.TS]?: string;\n [TUI_EXAMPLE_PRIMARY_FILE_NAME.HTML]?: string;\n [TUI_EXAMPLE_PRIMARY_FILE_NAME.LESS]?: string;\n };\n","import {Type} from '@angular/core';\nimport {Routes} from '@angular/router';\n\n/**\n * Generates typical page routing structure\n */\nexport function generateRoutes(type: Type<unknown>): Routes {\n return [\n {\n path: '',\n component: type,\n children: [\n {\n path: ':tab',\n component: type,\n },\n ],\n },\n ];\n}\n"]}
|