@taiga-ui/addon-doc 2.61.0 → 3.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/README.md +2 -2
  2. package/addon-doc.module.d.ts +9 -0
  3. package/bundles/taiga-ui-addon-doc.umd.js +1679 -1355
  4. package/bundles/taiga-ui-addon-doc.umd.js.map +1 -1
  5. package/components/code/code.component.d.ts +3 -0
  6. package/components/code/code.module.d.ts +7 -0
  7. package/components/code/parse-code-block.d.ts +1 -5
  8. package/components/copy/copy.component.d.ts +3 -0
  9. package/components/copy/copy.module.d.ts +7 -0
  10. package/components/demo/demo.component.d.ts +3 -0
  11. package/components/demo/demo.module.d.ts +11 -0
  12. package/components/documentation/documentation-property-connector.directive.d.ts +3 -0
  13. package/components/documentation/documentation.component.d.ts +3 -0
  14. package/components/documentation/documentation.module.d.ts +12 -0
  15. package/components/example/example-capitalize.pipe.d.ts +3 -0
  16. package/components/example/example-get-tabs.pipe.d.ts +3 -0
  17. package/components/example/example.component.d.ts +8 -5
  18. package/components/example/example.module.d.ts +14 -0
  19. package/components/language-switcher/language-switcher.component.d.ts +3 -0
  20. package/components/language-switcher/language-switcher.module.d.ts +9 -0
  21. package/components/main/main.component.d.ts +3 -0
  22. package/components/main/main.module.d.ts +12 -0
  23. package/components/navigation/navigation.component.d.ts +8 -5
  24. package/components/navigation/navigation.module.d.ts +13 -0
  25. package/components/navigation/navigation.providers.d.ts +0 -4
  26. package/components/page/page-tab.directive.d.ts +3 -0
  27. package/components/page/page.component.d.ts +3 -0
  28. package/components/page/page.module.d.ts +11 -0
  29. package/components/page/page.providers.d.ts +1 -2
  30. package/directives/scroll-into-view/scroll-into-view.directive.d.ts +5 -8
  31. package/directives/scroll-into-view/scroll-into-view.module.d.ts +5 -6
  32. package/esm2015/addon-doc.module.js +27 -16
  33. package/esm2015/components/code/code.component.js +26 -24
  34. package/esm2015/components/code/code.module.js +15 -12
  35. package/esm2015/components/code/parse-code-block.js +2 -7
  36. package/esm2015/components/copy/copy.component.js +24 -20
  37. package/esm2015/components/copy/copy.module.js +15 -12
  38. package/esm2015/components/demo/demo.component.js +75 -59
  39. package/esm2015/components/demo/demo.module.js +54 -13
  40. package/esm2015/components/documentation/documentation-property-connector.directive.js +45 -46
  41. package/esm2015/components/documentation/documentation.component.js +54 -48
  42. package/esm2015/components/documentation/documentation.module.js +64 -21
  43. package/esm2015/components/example/example-capitalize.pipe.js +13 -10
  44. package/esm2015/components/example/example-get-tabs.pipe.js +10 -8
  45. package/esm2015/components/example/example.component.js +86 -66
  46. package/esm2015/components/example/example.module.js +42 -21
  47. package/esm2015/components/language-switcher/language-switcher.component.js +27 -20
  48. package/esm2015/components/language-switcher/language-switcher.module.js +15 -12
  49. package/esm2015/components/main/main.component.js +44 -31
  50. package/esm2015/components/main/main.module.js +36 -13
  51. package/esm2015/components/navigation/navigation.component.js +86 -69
  52. package/esm2015/components/navigation/navigation.module.js +65 -21
  53. package/esm2015/components/navigation/navigation.providers.js +14 -19
  54. package/esm2015/components/page/page-tab.directive.js +18 -15
  55. package/esm2015/components/page/page.component.js +42 -39
  56. package/esm2015/components/page/page.module.js +28 -13
  57. package/esm2015/components/page/page.providers.js +10 -12
  58. package/esm2015/directives/scroll-into-view/scroll-into-view.directive.js +30 -43
  59. package/esm2015/directives/scroll-into-view/scroll-into-view.module.js +15 -28
  60. package/esm2015/interfaces/code-editor.js +2 -1
  61. package/esm2015/interfaces/page.js +1 -1
  62. package/esm2015/interfaces/source-code-path-options.js +2 -1
  63. package/esm2015/internal/header/header.component.js +34 -23
  64. package/esm2015/internal/header/header.module.js +28 -13
  65. package/esm2015/internal/input-opacity/input-opacity.directive.js +20 -19
  66. package/esm2015/internal/input-opacity/input-opacity.module.js +14 -11
  67. package/esm2015/internal/see-also/see-also.component.js +26 -23
  68. package/esm2015/internal/see-also/see-also.module.js +15 -12
  69. package/esm2015/internal/source-code/source-code.component.js +31 -30
  70. package/esm2015/internal/source-code/source-code.module.js +15 -12
  71. package/esm2015/languages/russian.js +10 -14
  72. package/esm2015/public-api.js +8 -1
  73. package/esm2015/taiga-ui-addon-doc.js +1 -13
  74. package/esm2015/tokens/code-actions.js +1 -1
  75. package/esm2015/tokens/code-editor.js +1 -1
  76. package/esm2015/tokens/default-tabs.js +1 -1
  77. package/esm2015/tokens/example-content-processor.js +1 -1
  78. package/esm2015/tokens/i18n.js +1 -1
  79. package/esm2015/tokens/logo.js +1 -1
  80. package/esm2015/tokens/page-loaded.js +1 -1
  81. package/esm2015/tokens/pages.js +1 -1
  82. package/esm2015/tokens/scroll-behavior.js +1 -1
  83. package/esm2015/tokens/see-also.js +1 -1
  84. package/esm2015/tokens/source-code.js +2 -2
  85. package/esm2015/tokens/title.js +1 -1
  86. package/esm2015/types/pages.js +2 -1
  87. package/esm2015/utils/coerce-value.js +2 -7
  88. package/esm2015/utils/generate-routes.js +2 -8
  89. package/esm2015/utils/inspect.js +4 -7
  90. package/esm2015/utils/raw-load-record.js +4 -9
  91. package/esm2015/utils/raw-load.js +14 -8
  92. package/esm2015/utils/transliterate-keyboard-layout.js +2 -5
  93. package/fesm2015/taiga-ui-addon-doc.js +1134 -904
  94. package/fesm2015/taiga-ui-addon-doc.js.map +1 -1
  95. package/interfaces/code-editor.d.ts +0 -10
  96. package/internal/header/header.component.d.ts +3 -0
  97. package/internal/header/header.module.d.ts +11 -0
  98. package/internal/input-opacity/input-opacity.directive.d.ts +3 -0
  99. package/internal/input-opacity/input-opacity.module.d.ts +5 -0
  100. package/internal/see-also/see-also.component.d.ts +3 -0
  101. package/internal/see-also/see-also.module.d.ts +8 -0
  102. package/internal/source-code/source-code.component.d.ts +3 -0
  103. package/internal/source-code/source-code.module.d.ts +8 -0
  104. package/languages/russian.d.ts +0 -3
  105. package/package.json +11 -14
  106. package/public-api.d.ts +2 -0
  107. package/taiga-ui-addon-doc.d.ts +1 -12
  108. package/tokens/logo.d.ts +1 -1
  109. package/utils/coerce-value.d.ts +1 -5
  110. package/utils/generate-routes.d.ts +1 -6
  111. package/utils/inspect.d.ts +1 -3
  112. package/utils/raw-load-record.d.ts +1 -5
  113. package/utils/raw-load.d.ts +1 -5
  114. package/utils/transliterate-keyboard-layout.d.ts +1 -3
  115. package/bundles/taiga-ui-addon-doc.umd.min.js +0 -2
  116. package/bundles/taiga-ui-addon-doc.umd.min.js.map +0 -1
  117. package/esm2015/utils/color-conversion.js +0 -27
  118. package/esm5/addon-doc.module.js +0 -25
  119. package/esm5/components/code/code.component.js +0 -46
  120. package/esm5/components/code/code.module.js +0 -19
  121. package/esm5/components/code/parse-code-block.js +0 -21
  122. package/esm5/components/copy/copy.component.js +0 -43
  123. package/esm5/components/copy/copy.module.js +0 -19
  124. package/esm5/components/demo/demo.component.js +0 -153
  125. package/esm5/components/demo/demo.module.js +0 -43
  126. package/esm5/components/documentation/documentation-property-connector.directive.js +0 -133
  127. package/esm5/components/documentation/documentation.component.js +0 -145
  128. package/esm5/components/documentation/documentation.module.js +0 -50
  129. package/esm5/components/example/example-capitalize.pipe.js +0 -16
  130. package/esm5/components/example/example-get-tabs.pipe.js +0 -15
  131. package/esm5/components/example/example.component.js +0 -135
  132. package/esm5/components/example/example.module.js +0 -42
  133. package/esm5/components/language-switcher/language-switcher.component.js +0 -49
  134. package/esm5/components/language-switcher/language-switcher.module.js +0 -21
  135. package/esm5/components/main/main.component.js +0 -58
  136. package/esm5/components/main/main.module.js +0 -35
  137. package/esm5/components/navigation/navigation.component.js +0 -203
  138. package/esm5/components/navigation/navigation.module.js +0 -45
  139. package/esm5/components/navigation/navigation.providers.js +0 -59
  140. package/esm5/components/page/page-tab.directive.js +0 -24
  141. package/esm5/components/page/page.component.js +0 -67
  142. package/esm5/components/page/page.module.js +0 -30
  143. package/esm5/components/page/page.providers.js +0 -22
  144. package/esm5/directives/scroll-into-view/scroll-into-view.directive.js +0 -65
  145. package/esm5/directives/scroll-into-view/scroll-into-view.module.js +0 -34
  146. package/esm5/interfaces/code-editor.js +0 -1
  147. package/esm5/interfaces/page.js +0 -6
  148. package/esm5/interfaces/source-code-path-options.js +0 -1
  149. package/esm5/internal/header/header.component.js +0 -47
  150. package/esm5/internal/header/header.module.js +0 -30
  151. package/esm5/internal/input-opacity/input-opacity.directive.js +0 -36
  152. package/esm5/internal/input-opacity/input-opacity.module.js +0 -16
  153. package/esm5/internal/see-also/see-also.component.js +0 -44
  154. package/esm5/internal/see-also/see-also.module.js +0 -20
  155. package/esm5/internal/source-code/source-code.component.js +0 -61
  156. package/esm5/internal/source-code/source-code.module.js +0 -20
  157. package/esm5/languages/russian.js +0 -42
  158. package/esm5/public-api.js +0 -51
  159. package/esm5/taiga-ui-addon-doc.js +0 -17
  160. package/esm5/tokens/code-actions.js +0 -5
  161. package/esm5/tokens/code-editor.js +0 -3
  162. package/esm5/tokens/default-tabs.js +0 -5
  163. package/esm5/tokens/example-content-processor.js +0 -4
  164. package/esm5/tokens/i18n.js +0 -54
  165. package/esm5/tokens/logo.js +0 -5
  166. package/esm5/tokens/page-loaded.js +0 -5
  167. package/esm5/tokens/pages.js +0 -5
  168. package/esm5/tokens/scroll-behavior.js +0 -3
  169. package/esm5/tokens/see-also.js +0 -5
  170. package/esm5/tokens/source-code.js +0 -5
  171. package/esm5/tokens/title.js +0 -5
  172. package/esm5/types/pages.js +0 -1
  173. package/esm5/utils/coerce-value.js +0 -44
  174. package/esm5/utils/color-conversion.js +0 -27
  175. package/esm5/utils/generate-routes.js +0 -21
  176. package/esm5/utils/inspect.js +0 -68
  177. package/esm5/utils/raw-load-record.js +0 -50
  178. package/esm5/utils/raw-load.js +0 -26
  179. package/esm5/utils/transliterate-keyboard-layout.js +0 -50
  180. package/fesm5/taiga-ui-addon-doc.js +0 -2064
  181. package/fesm5/taiga-ui-addon-doc.js.map +0 -1
  182. package/taiga-ui-addon-doc.metadata.json +0 -1
  183. package/utils/color-conversion.d.ts +0 -12
@@ -1 +0,0 @@
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/language-switcher/language-switcher.component.ts","ng://@taiga-ui/addon-doc/components/language-switcher/language-switcher.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/tokens/scroll-behavior.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/utils/generate-routes.ts","ng://@taiga-ui/addon-doc/interfaces/page.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","tuiRawLoad","tryParseMarkdownCodeBlock","text","MarkdownIt","parse","filter","tag","type","map","tuiTryParseMarkdownCodeBlock","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","tuiCoerceValue","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","tuiRawLoadRecord","TuiDocExampleComponent","id","clipboard","notifications","location","copyTexts$","codeEditor","processContent","isCypress","codeActions","router","route","ngLocation","description","componentName","pathname","defaultTabIndex","defaultTab","loading$","copyExampleLink","hashPosition","href","url","setFragmentWithoutRedirect","copy","show","status","edit","files","finally","createUrlTree","relativeTo","fragment","Attribute","Clipboard","TuiNotificationsService","LOCATION","Optional","TUI_IS_CYPRESS","Router","NgLocation","TuiDocExampleCapitalizePipe","transform","capitalizeFirstLetter","Pipe","TuiDocExampleGetTabsPipe","keys","TuiDocExampleModule","ClipboardModule","TuiTabsModule","PolymorpheusModule","TuiLanguageSwitcherComponent","switcher","iconsPath","language","tuiCapitalizeFirstLetter","flags","Map","TuiCountryIsoCode","CN","NL","GB","FR","DE","IT","PL","PT","RU","ES","TR","UA","VN","names","from","getFlagPath","TuiLanguageSwitcher","TUI_ICONS_PATH","TuiLanguageSwitcherModule","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","TUI_DOC_SCROLL_BEHAVIOR","MAP","а","б","в","г","д","е","ё","ж","з","и","й","к","л","м","н","о","п","р","с","т","у","ф","х","ц","ч","ш","щ","ъ","ы","ь","ю","я","transliterateKeyboardLayout","string","newStr","charAt","TUI_DOC_PAGES","TUI_DOC_TITLE","NAVIGATION_TITLE","NAVIGATION_LABELS","NAVIGATION_ITEMS","NAVIGATION_PROVIDERS","deps","useFactory","titleProviderFactory","labelsProviderFactory","itemsProviderFactory","titlePrefix","events","NavigationEnd","firstChild","isPresent","mergeMap","title","pages","section","item","page","TuiDocNavigationComponent","titleService","title$","documentRef","sidebar","labels","searchText","scrollBehavior","menuOpen","search","open","openPagesArr","openPagesGroupsArr","active","mode$","markForCheck","setTitle","openActivePageGroup","handleAnchorLink","filterItems","flattenSubPages","isActive","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","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","generateRoutes","children","tuiGenerateRoutes","TS","LESS","HTML"],"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\n/**\n * @deprecated: use {@link tuiRawLoad} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport async function rawLoad(content: RawLoaderContent): Promise<string> {\n return content instanceof Promise ? (await content).default : content;\n}\n\nexport const tuiRawLoad = rawLoad;\n","import MarkdownIt from 'markdown-it';\nimport Token from 'markdown-it/lib/token';\n\n/**\n * @deprecated: use {@link tuiTryParseMarkdownCodeBlock} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\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\nexport const tuiTryParseMarkdownCodeBlock = tryParseMarkdownCodeBlock;\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: duplicate, need fix it before v3\n * TODO: move another package for reuse between addon-editor and addon-doc\n * @deprecated: use {@link tuiRgbToHex} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\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 const tuiRgbToHex = rgbToHex;\n\n/**\n * @deprecated: use {@link tuiHexToRgb} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\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\nexport const tuiHexToRgb = hexToRgb;\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 * @deprecated: use {@link tuiInspectAny} instead\n * Returns readable JS entity\n * @param data\n * @param depth\n * @return readable JS entity\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\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\nexport const tuiInspectAny = inspectAny;\n","/**\n * @deprecated: use {@link tuiCoerceValue} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\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\nexport const tuiCoerceValue = coerceValue;\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 // eslint-disable-next-line unicorn/no-unsafe-regex\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\n/**\n * @deprecated: use {@link tuiRawLoadRecord} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\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\nexport const tuiRawLoadRecord = rawLoadRecord;\n","import {Clipboard} from '@angular/cdk/clipboard';\nimport {Location as NgLocation} from '@angular/common';\nimport {\n Attribute,\n ChangeDetectionStrategy,\n Component,\n Inject,\n Input,\n Optional,\n} from '@angular/core';\nimport {ActivatedRoute, Router} from '@angular/router';\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 @Inject(Router) private readonly router: Router,\n @Inject(ActivatedRoute) private readonly route: ActivatedRoute,\n @Inject(NgLocation) private readonly ngLocation: NgLocation,\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.setFragmentWithoutRedirect(this.id);\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 private setFragmentWithoutRedirect(id: string | null): void {\n const url = this.router\n .createUrlTree([], {relativeTo: this.route, fragment: id || ``})\n .toString();\n\n this.ngLocation.go(url);\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 {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {FormControl} from '@angular/forms';\nimport {TuiStringHandler} from '@taiga-ui/cdk';\nimport {TUI_ICONS_PATH, tuiCapitalizeFirstLetter} from '@taiga-ui/core';\nimport {TuiCountryIsoCode, TuiLanguageName, TuiLanguageSwitcher} from '@taiga-ui/i18n';\n\n@Component({\n selector: `tui-language-switcher`,\n templateUrl: `./language-switcher.component.html`,\n styleUrls: [`./language-switcher.component.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiLanguageSwitcherComponent {\n private readonly path = this.iconsPath(`tuiIcon`).replace(`tuiIcon.svg#tuiIcon`, ``);\n\n readonly language = new FormControl(tuiCapitalizeFirstLetter(this.switcher.language));\n\n readonly flags: Map<TuiLanguageName, TuiCountryIsoCode> = new Map([\n [`chinese`, TuiCountryIsoCode.CN],\n [`dutch`, TuiCountryIsoCode.NL],\n [`english`, TuiCountryIsoCode.GB],\n [`french`, TuiCountryIsoCode.FR],\n [`german`, TuiCountryIsoCode.DE],\n [`italian`, TuiCountryIsoCode.IT],\n [`polish`, TuiCountryIsoCode.PL],\n [`portuguese`, TuiCountryIsoCode.PT],\n [`russian`, TuiCountryIsoCode.RU],\n [`spanish`, TuiCountryIsoCode.ES],\n [`turkish`, TuiCountryIsoCode.TR],\n [`ukrainian`, TuiCountryIsoCode.UA],\n [`vietnamese`, TuiCountryIsoCode.VN],\n ]);\n\n readonly names: TuiLanguageName[] = Array.from(this.flags.keys());\n\n constructor(\n @Inject(TuiLanguageSwitcher) readonly switcher: TuiLanguageSwitcher,\n @Inject(TUI_ICONS_PATH) private readonly iconsPath: TuiStringHandler<string>,\n ) {}\n\n getFlagPath(code?: TuiCountryIsoCode): string | null {\n return code ? `${this.path}${code}.png` : null;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {ReactiveFormsModule} from '@angular/forms';\nimport {TuiDataListModule} from '@taiga-ui/core';\nimport {TuiSelectModule} from '@taiga-ui/kit';\n\nimport {TuiLanguageSwitcherComponent} from './language-switcher.component';\n\n@NgModule({\n exports: [TuiLanguageSwitcherComponent],\n declarations: [TuiLanguageSwitcherComponent],\n imports: [CommonModule, TuiSelectModule, TuiDataListModule, ReactiveFormsModule],\n})\nexport class TuiLanguageSwitcherModule {}\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","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOC_SCROLL_BEHAVIOR = new InjectionToken<ScrollBehavior>(\n `[TUI_DOC_SCROLL_BEHAVIOR] Defines the transition animation for scroll`,\n {factory: () => `smooth`},\n);\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 * @deprecated: use {@link tuiTransliterateKeyboardLayout} instead\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 */\n// eslint-disable-next-line @typescript-eslint/naming-convention\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\nexport const tuiTransliterateKeyboardLayout = transliterateKeyboardLayout;\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\n// eslint-disable-next-line @typescript-eslint/naming-convention\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\n// eslint-disable-next-line @typescript-eslint/naming-convention\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\n// eslint-disable-next-line @typescript-eslint/naming-convention\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 {TUI_DOC_SCROLL_BEHAVIOR} from '../../tokens/scroll-behavior';\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 @Inject(TUI_DOC_SCROLL_BEHAVIOR) private readonly scrollBehavior: ScrollBehavior,\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: this.scrollBehavior,\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\n// eslint-disable-next-line @typescript-eslint/naming-convention\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","import {Type} from '@angular/core';\nimport {Routes} from '@angular/router';\n\n/**\n * @deprecated: use {@link tuiGenerateRoutes} instead\n * Generates typical page routing structure\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\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\nexport const tuiGenerateRoutes = generateRoutes;\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"]}
@@ -1,27 +0,0 @@
1
- /**
2
- * TODO: duplicate, need fix it before v3
3
- * TODO: move another package for reuse between addon-editor and addon-doc
4
- * @deprecated: use {@link tuiRgbToHex} instead
5
- */
6
- // eslint-disable-next-line @typescript-eslint/naming-convention
7
- export function rgbToHex(r, g, b) {
8
- return `#${[r, g, b].map(x => x.toString(16).padStart(2, `0`)).join(``)}`;
9
- }
10
- export const tuiRgbToHex = rgbToHex;
11
- /**
12
- * @deprecated: use {@link tuiHexToRgb} instead
13
- */
14
- // eslint-disable-next-line @typescript-eslint/naming-convention
15
- export function hexToRgb(hex) {
16
- const matches = hex
17
- .replace(`#`, ``)
18
- .split(``)
19
- .map((char, _, array) => (array.length === 3 ? char + char : char))
20
- .join(``)
21
- .match(/.{2}/g);
22
- return matches
23
- ? matches.map(x => Number.parseInt(x, 16))
24
- : [0, 0, 0];
25
- }
26
- export const tuiHexToRgb = hexToRgb;
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItY29udmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1kb2MvIiwic291cmNlcyI6WyJ1dGlscy9jb2xvci1jb252ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxnRUFBZ0U7QUFDaEUsTUFBTSxVQUFVLFFBQVEsQ0FBQyxDQUFTLEVBQUUsQ0FBUyxFQUFFLENBQVM7SUFDcEQsT0FBTyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztBQUM5RSxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQztBQUVwQzs7R0FFRztBQUNILGdFQUFnRTtBQUNoRSxNQUFNLFVBQVUsUUFBUSxDQUFDLEdBQVc7SUFDaEMsTUFBTSxPQUFPLEdBQUcsR0FBRztTQUNkLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO1NBQ2hCLEtBQUssQ0FBQyxFQUFFLENBQUM7U0FDVCxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbEUsSUFBSSxDQUFDLEVBQUUsQ0FBQztTQUNSLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVwQixPQUFPLE9BQU87UUFDVixDQUFDLENBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUE4QjtRQUN4RSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3BCLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUT0RPOiBkdXBsaWNhdGUsIG5lZWQgZml4IGl0IGJlZm9yZSB2M1xuICogVE9ETzogbW92ZSBhbm90aGVyIHBhY2thZ2UgZm9yIHJldXNlIGJldHdlZW4gYWRkb24tZWRpdG9yIGFuZCBhZGRvbi1kb2NcbiAqIEBkZXByZWNhdGVkOiB1c2Uge0BsaW5rIHR1aVJnYlRvSGV4fSBpbnN0ZWFkXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBmdW5jdGlvbiByZ2JUb0hleChyOiBudW1iZXIsIGc6IG51bWJlciwgYjogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCMke1tyLCBnLCBiXS5tYXAoeCA9PiB4LnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCBgMGApKS5qb2luKGBgKX1gO1xufVxuXG5leHBvcnQgY29uc3QgdHVpUmdiVG9IZXggPSByZ2JUb0hleDtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZDogdXNlIHtAbGluayB0dWlIZXhUb1JnYn0gaW5zdGVhZFxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgZnVuY3Rpb24gaGV4VG9SZ2IoaGV4OiBzdHJpbmcpOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl0ge1xuICAgIGNvbnN0IG1hdGNoZXMgPSBoZXhcbiAgICAgICAgLnJlcGxhY2UoYCNgLCBgYClcbiAgICAgICAgLnNwbGl0KGBgKVxuICAgICAgICAubWFwKChjaGFyLCBfLCBhcnJheSkgPT4gKGFycmF5Lmxlbmd0aCA9PT0gMyA/IGNoYXIgKyBjaGFyIDogY2hhcikpXG4gICAgICAgIC5qb2luKGBgKVxuICAgICAgICAubWF0Y2goLy57Mn0vZyk7XG5cbiAgICByZXR1cm4gbWF0Y2hlc1xuICAgICAgICA/IChtYXRjaGVzLm1hcCh4ID0+IE51bWJlci5wYXJzZUludCh4LCAxNikpIGFzIFtudW1iZXIsIG51bWJlciwgbnVtYmVyXSlcbiAgICAgICAgOiBbMCwgMCwgMF07XG59XG5cbmV4cG9ydCBjb25zdCB0dWlIZXhUb1JnYiA9IGhleFRvUmdiO1xuIl19
@@ -1,25 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { NgModule } from '@angular/core';
3
- import { TuiDocCodeModule } from './components/code/code.module';
4
- import { TuiDocDemoModule } from './components/demo/demo.module';
5
- import { TuiDocDocumentationModule } from './components/documentation/documentation.module';
6
- import { TuiDocExampleModule } from './components/example/example.module';
7
- import { TuiDocPageModule } from './components/page/page.module';
8
- var TuiAddonDocModule = /** @class */ (function () {
9
- function TuiAddonDocModule() {
10
- }
11
- TuiAddonDocModule = __decorate([
12
- NgModule({
13
- exports: [
14
- TuiDocCodeModule,
15
- TuiDocDemoModule,
16
- TuiDocDocumentationModule,
17
- TuiDocPageModule,
18
- TuiDocExampleModule,
19
- ],
20
- })
21
- ], TuiAddonDocModule);
22
- return TuiAddonDocModule;
23
- }());
24
- export { TuiAddonDocModule };
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkb24tZG9jLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1kb2MvIiwic291cmNlcyI6WyJhZGRvbi1kb2MubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBVy9EO0lBQUE7SUFBZ0MsQ0FBQztJQUFwQixpQkFBaUI7UUFUN0IsUUFBUSxDQUFDO1lBQ04sT0FBTyxFQUFFO2dCQUNMLGdCQUFnQjtnQkFDaEIsZ0JBQWdCO2dCQUNoQix5QkFBeUI7Z0JBQ3pCLGdCQUFnQjtnQkFDaEIsbUJBQW1CO2FBQ3RCO1NBQ0osQ0FBQztPQUNXLGlCQUFpQixDQUFHO0lBQUQsd0JBQUM7Q0FBQSxBQUFqQyxJQUFpQztTQUFwQixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtUdWlEb2NDb2RlTW9kdWxlfSBmcm9tICcuL2NvbXBvbmVudHMvY29kZS9jb2RlLm1vZHVsZSc7XG5pbXBvcnQge1R1aURvY0RlbW9Nb2R1bGV9IGZyb20gJy4vY29tcG9uZW50cy9kZW1vL2RlbW8ubW9kdWxlJztcbmltcG9ydCB7VHVpRG9jRG9jdW1lbnRhdGlvbk1vZHVsZX0gZnJvbSAnLi9jb21wb25lbnRzL2RvY3VtZW50YXRpb24vZG9jdW1lbnRhdGlvbi5tb2R1bGUnO1xuaW1wb3J0IHtUdWlEb2NFeGFtcGxlTW9kdWxlfSBmcm9tICcuL2NvbXBvbmVudHMvZXhhbXBsZS9leGFtcGxlLm1vZHVsZSc7XG5pbXBvcnQge1R1aURvY1BhZ2VNb2R1bGV9IGZyb20gJy4vY29tcG9uZW50cy9wYWdlL3BhZ2UubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIFR1aURvY0NvZGVNb2R1bGUsXG4gICAgICAgIFR1aURvY0RlbW9Nb2R1bGUsXG4gICAgICAgIFR1aURvY0RvY3VtZW50YXRpb25Nb2R1bGUsXG4gICAgICAgIFR1aURvY1BhZ2VNb2R1bGUsXG4gICAgICAgIFR1aURvY0V4YW1wbGVNb2R1bGUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQWRkb25Eb2NNb2R1bGUge31cbiJdfQ==
@@ -1,46 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { Component, HostBinding, Input } from '@angular/core';
3
- import { BehaviorSubject } from 'rxjs';
4
- import { map, switchMap } from 'rxjs/operators';
5
- import { rawLoad } from '../../utils/raw-load';
6
- import { tryParseMarkdownCodeBlock } from './parse-code-block';
7
- var TuiDocCodeComponent = /** @class */ (function () {
8
- function TuiDocCodeComponent() {
9
- this.rawLoader$$ = new BehaviorSubject("");
10
- this.filename = "";
11
- this.processor$ = this.rawLoader$$.pipe(switchMap(rawLoad), map(tryParseMarkdownCodeBlock));
12
- }
13
- Object.defineProperty(TuiDocCodeComponent.prototype, "code", {
14
- set: function (code) {
15
- this.rawLoader$$.next(code);
16
- },
17
- enumerable: true,
18
- configurable: true
19
- });
20
- Object.defineProperty(TuiDocCodeComponent.prototype, "hasFilename", {
21
- get: function () {
22
- return !!this.filename;
23
- },
24
- enumerable: true,
25
- configurable: true
26
- });
27
- __decorate([
28
- Input()
29
- ], TuiDocCodeComponent.prototype, "filename", void 0);
30
- __decorate([
31
- Input()
32
- ], TuiDocCodeComponent.prototype, "code", null);
33
- __decorate([
34
- HostBinding("class._has-filename")
35
- ], TuiDocCodeComponent.prototype, "hasFilename", null);
36
- TuiDocCodeComponent = __decorate([
37
- Component({
38
- selector: "tui-doc-code",
39
- template: "<p\n *ngIf=\"filename\"\n class=\"t-header\"\n>\n {{ filename }}\n</p>\n<pre\n *ngFor=\"let content of processor$ | async\"\n class=\"t-code\"\n><code [lineNumbers]=\"true\" [highlight]=\"content\"></code></pre>\n",
40
- styles: [":host{display:block}.t-header{font:var(--tui-font-text-s);font-weight:700}.t-code{margin:0}.t-code+.t-code{margin-top:1rem}.hljs:not(:empty){font:var(--tui-font-text-m);padding:1.5rem 2rem;font-family:monospace;background:var(--tui-clear-disabled);word-wrap:break-word;white-space:pre-wrap}@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution:0.001dpcm){.hljs:not(:empty)::-webkit-scrollbar,.hljs:not(:empty)::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:2.667rem solid transparent}.hljs:not(:empty)::-webkit-scrollbar{background-color:transparent}.hljs:not(:empty)::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}.hljs:not(:empty)::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}.hljs:not(:empty)::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}:host._has-filename .hljs:not(:empty){border-radius:.75rem}:host-context(tui-root._mobile) .hljs:not(:empty){padding:1rem}"]
41
- })
42
- ], TuiDocCodeComponent);
43
- return TuiDocCodeComponent;
44
- }());
45
- export { TuiDocCodeComponent };
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tZG9jLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9jb2RlL2NvZGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRzlDLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM3QyxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQU83RDtJQUFBO1FBQ3FCLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQW1CLEVBQUUsQ0FBQyxDQUFDO1FBR3pFLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFFTCxlQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQ3ZDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFDbEIsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQ2pDLENBQUM7SUFXTixDQUFDO0lBUkcsc0JBQUkscUNBQUk7YUFBUixVQUFTLElBQXNCO1lBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLENBQUM7OztPQUFBO0lBR0Qsc0JBQUksNENBQVc7YUFBZjtZQUNJLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDM0IsQ0FBQzs7O09BQUE7SUFmRDtRQURDLEtBQUssRUFBRTt5REFDTTtJQVFkO1FBREMsS0FBSyxFQUFFO21EQUdQO0lBR0Q7UUFEQyxXQUFXLENBQUMscUJBQXFCLENBQUM7MERBR2xDO0lBbkJRLG1CQUFtQjtRQUwvQixTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsY0FBYztZQUN4QixnUEFBbUM7O1NBRXRDLENBQUM7T0FDVyxtQkFBbUIsQ0FvQi9CO0lBQUQsMEJBQUM7Q0FBQSxBQXBCRCxJQW9CQztTQXBCWSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtSYXdMb2FkZXJDb250ZW50fSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3BhZ2UnO1xuaW1wb3J0IHtyYXdMb2FkfSBmcm9tICcuLi8uLi91dGlscy9yYXctbG9hZCc7XG5pbXBvcnQge3RyeVBhcnNlTWFya2Rvd25Db2RlQmxvY2t9IGZyb20gJy4vcGFyc2UtY29kZS1ibG9jayc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBgdHVpLWRvYy1jb2RlYCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vY29kZS50ZW1wbGF0ZS5odG1sYCxcbiAgICBzdHlsZVVybHM6IFtgLi9jb2RlLnN0eWxlLmxlc3NgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRG9jQ29kZUNvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSByYXdMb2FkZXIkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UmF3TG9hZGVyQ29udGVudD4oYGApO1xuXG4gICAgQElucHV0KClcbiAgICBmaWxlbmFtZSA9IGBgO1xuXG4gICAgcmVhZG9ubHkgcHJvY2Vzc29yJCA9IHRoaXMucmF3TG9hZGVyJCQucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKHJhd0xvYWQpLFxuICAgICAgICBtYXAodHJ5UGFyc2VNYXJrZG93bkNvZGVCbG9jayksXG4gICAgKTtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGNvZGUoY29kZTogUmF3TG9hZGVyQ29udGVudCkge1xuICAgICAgICB0aGlzLnJhd0xvYWRlciQkLm5leHQoY29kZSk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5faGFzLWZpbGVuYW1lYClcbiAgICBnZXQgaGFzRmlsZW5hbWUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZmlsZW5hbWU7XG4gICAgfVxufVxuIl19
@@ -1,19 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { CommonModule } from '@angular/common';
3
- import { NgModule } from '@angular/core';
4
- import { HighlightModule } from 'ngx-highlightjs';
5
- import { TuiDocCodeComponent } from './code.component';
6
- var TuiDocCodeModule = /** @class */ (function () {
7
- function TuiDocCodeModule() {
8
- }
9
- TuiDocCodeModule = __decorate([
10
- NgModule({
11
- imports: [CommonModule, HighlightModule],
12
- declarations: [TuiDocCodeComponent],
13
- exports: [TuiDocCodeComponent],
14
- })
15
- ], TuiDocCodeModule);
16
- return TuiDocCodeModule;
17
- }());
18
- export { TuiDocCodeModule };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tZG9jLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9jb2RlL2NvZGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFaEQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFPckQ7SUFBQTtJQUErQixDQUFDO0lBQW5CLGdCQUFnQjtRQUw1QixRQUFRLENBQUM7WUFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDO1lBQ3hDLFlBQVksRUFBRSxDQUFDLG1CQUFtQixDQUFDO1lBQ25DLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO1NBQ2pDLENBQUM7T0FDVyxnQkFBZ0IsQ0FBRztJQUFELHVCQUFDO0NBQUEsQUFBaEMsSUFBZ0M7U0FBbkIsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SGlnaGxpZ2h0TW9kdWxlfSBmcm9tICduZ3gtaGlnaGxpZ2h0anMnO1xuXG5pbXBvcnQge1R1aURvY0NvZGVDb21wb25lbnR9IGZyb20gJy4vY29kZS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEhpZ2hsaWdodE1vZHVsZV0sXG4gICAgZGVjbGFyYXRpb25zOiBbVHVpRG9jQ29kZUNvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW1R1aURvY0NvZGVDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEb2NDb2RlTW9kdWxlIHt9XG4iXX0=
@@ -1,21 +0,0 @@
1
- import MarkdownIt from 'markdown-it';
2
- /**
3
- * @deprecated: use {@link tuiTryParseMarkdownCodeBlock} instead
4
- */
5
- // eslint-disable-next-line @typescript-eslint/naming-convention
6
- export function tryParseMarkdownCodeBlock(text) {
7
- if (text === void 0) { text = ""; }
8
- var tokens = new MarkdownIt().parse(text, {});
9
- var result = tokens
10
- .filter(function (_a) {
11
- var tag = _a.tag, type = _a.type;
12
- return tag === "code" && type === "fence";
13
- })
14
- .map(function (_a) {
15
- var content = _a.content;
16
- return content;
17
- });
18
- return result.length ? result : [text];
19
- }
20
- export var tuiTryParseMarkdownCodeBlock = tryParseMarkdownCodeBlock;
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtY29kZS1ibG9jay5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1kb2MvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2NvZGUvcGFyc2UtY29kZS1ibG9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFVBQVUsTUFBTSxhQUFhLENBQUM7QUFHckM7O0dBRUc7QUFDSCxnRUFBZ0U7QUFDaEUsTUFBTSxVQUFVLHlCQUF5QixDQUFDLElBQWlCO0lBQWpCLHFCQUFBLEVBQUEsU0FBaUI7SUFDdkQsSUFBTSxNQUFNLEdBQVksSUFBSSxVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELElBQU0sTUFBTSxHQUFHLE1BQU07U0FDaEIsTUFBTSxDQUFDLFVBQUMsRUFBVztZQUFWLFlBQUcsRUFBRSxjQUFJO1FBQU0sT0FBQSxHQUFHLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxPQUFPO0lBQWxDLENBQWtDLENBQUM7U0FDM0QsR0FBRyxDQUFDLFVBQUMsRUFBUztZQUFSLG9CQUFPO1FBQU0sT0FBQSxPQUFPO0lBQVAsQ0FBTyxDQUFDLENBQUM7SUFFakMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQUVELE1BQU0sQ0FBQyxJQUFNLDRCQUE0QixHQUFHLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IE1hcmtkb3duSXQgZnJvbSAnbWFya2Rvd24taXQnO1xuaW1wb3J0IFRva2VuIGZyb20gJ21hcmtkb3duLWl0L2xpYi90b2tlbic7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQ6IHVzZSB7QGxpbmsgdHVpVHJ5UGFyc2VNYXJrZG93bkNvZGVCbG9ja30gaW5zdGVhZFxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgZnVuY3Rpb24gdHJ5UGFyc2VNYXJrZG93bkNvZGVCbG9jayh0ZXh0OiBzdHJpbmcgPSBgYCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCB0b2tlbnM6IFRva2VuW10gPSBuZXcgTWFya2Rvd25JdCgpLnBhcnNlKHRleHQsIHt9KTtcbiAgICBjb25zdCByZXN1bHQgPSB0b2tlbnNcbiAgICAgICAgLmZpbHRlcigoe3RhZywgdHlwZX0pID0+IHRhZyA9PT0gYGNvZGVgICYmIHR5cGUgPT09IGBmZW5jZWApXG4gICAgICAgIC5tYXAoKHtjb250ZW50fSkgPT4gY29udGVudCk7XG5cbiAgICByZXR1cm4gcmVzdWx0Lmxlbmd0aCA/IHJlc3VsdCA6IFt0ZXh0XTtcbn1cblxuZXhwb3J0IGNvbnN0IHR1aVRyeVBhcnNlTWFya2Rvd25Db2RlQmxvY2sgPSB0cnlQYXJzZU1hcmtkb3duQ29kZUJsb2NrO1xuIl19
@@ -1,43 +0,0 @@
1
- import { __decorate, __param } from "tslib";
2
- import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';
3
- import { TuiDestroyService, tuiPure } from '@taiga-ui/cdk';
4
- import { TUI_COPY_TEXTS } from '@taiga-ui/kit';
5
- import { Observable, Subject, timer } from 'rxjs';
6
- import { mapTo, startWith, switchMapTo } from 'rxjs/operators';
7
- var COPIED_TIMEOUT = 1500;
8
- // @dynamic
9
- var TuiDocCopyComponent = /** @class */ (function () {
10
- function TuiDocCopyComponent(texts$) {
11
- this.texts$ = texts$;
12
- this.copy$ = new Subject();
13
- }
14
- Object.defineProperty(TuiDocCopyComponent.prototype, "copied$", {
15
- get: function () {
16
- return this.copy$.pipe(switchMapTo(timer(COPIED_TIMEOUT).pipe(mapTo(false), startWith(true))));
17
- },
18
- enumerable: true,
19
- configurable: true
20
- });
21
- TuiDocCopyComponent.prototype.onClick = function () {
22
- this.copy$.next();
23
- };
24
- TuiDocCopyComponent.ctorParameters = function () { return [
25
- { type: Observable, decorators: [{ type: Inject, args: [TUI_COPY_TEXTS,] }] }
26
- ]; };
27
- __decorate([
28
- tuiPure
29
- ], TuiDocCopyComponent.prototype, "copied$", null);
30
- TuiDocCopyComponent = __decorate([
31
- Component({
32
- selector: "tui-doc-copy",
33
- template: "<button\n *ngIf=\"texts$ | async as texts\"\n tuiButton\n type=\"button\"\n appearance=\"\"\n size=\"s\"\n class=\"t-copy\"\n [title]=\"texts[0]\"\n (click)=\"onClick()\"\n>\n <span\n class=\"t-content\"\n [class.t-content_moved]=\"copied$ | async\"\n >\n <span\n class=\"t-initial\"\n [attr.data-text]=\"texts[0]\"\n >\n <ng-content></ng-content>\n </span>\n {{ texts[1] }}\n </span>\n</button>\n",
34
- changeDetection: ChangeDetectionStrategy.OnPush,
35
- providers: [TuiDestroyService],
36
- styles: [":host{position:relative;display:inline-block;vertical-align:middle}.t-copy{transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;width:100%;color:var(--tui-text-01);background:var(--tui-base-01);overflow:hidden}.t-copy:hover{background:var(--tui-base-02)}.t-initial{white-space:nowrap}.t-initial:empty:before{content:attr(data-text)}.t-content{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;flex-direction:column;transform:translateY(1rem);text-align:center;line-height:2rem}.t-content_moved{transform:translateY(-1rem)}"]
37
- }),
38
- __param(0, Inject(TUI_COPY_TEXTS))
39
- ], TuiDocCopyComponent);
40
- return TuiDocCopyComponent;
41
- }());
42
- export { TuiDocCopyComponent };
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tZG9jLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9jb3B5L2NvcHkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsT0FBTyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxFQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTdELElBQU0sY0FBYyxHQUFHLElBQUksQ0FBQztBQUU1QixXQUFXO0FBUVg7SUFHSSw2QkFBNkMsTUFBb0M7UUFBcEMsV0FBTSxHQUFOLE1BQU0sQ0FBOEI7UUFGaEUsVUFBSyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFFNkMsQ0FBQztJQUdyRixzQkFBSSx3Q0FBTzthQUFYO1lBQ0ksT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDbEIsV0FBVyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ3pFLENBQUM7UUFDTixDQUFDOzs7T0FBQTtJQUVELHFDQUFPLEdBQVA7UUFDSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7O2dCQVhvRCxVQUFVLHVCQUFsRCxNQUFNLFNBQUMsY0FBYzs7SUFHbEM7UUFEQyxPQUFPO3NEQUtQO0lBVlEsbUJBQW1CO1FBUC9CLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxjQUFjO1lBQ3hCLHFnQkFBbUM7WUFFbkMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07WUFDL0MsU0FBUyxFQUFFLENBQUMsaUJBQWlCLENBQUM7O1NBQ2pDLENBQUM7UUFJZSxXQUFBLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtPQUgxQixtQkFBbUIsQ0FlL0I7SUFBRCwwQkFBQztDQUFBLEFBZkQsSUFlQztTQWZZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpRGVzdHJveVNlcnZpY2UsIHR1aVB1cmV9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfQ09QWV9URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdCc7XG5pbXBvcnQge09ic2VydmFibGUsIFN1YmplY3QsIHRpbWVyfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwVG8sIHN0YXJ0V2l0aCwgc3dpdGNoTWFwVG99IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuY29uc3QgQ09QSUVEX1RJTUVPVVQgPSAxNTAwO1xuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0dWktZG9jLWNvcHlgLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9jb3B5LnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL2NvcHkuc3R5bGUubGVzc2BdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1R1aURlc3Ryb3lTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRG9jQ29weUNvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb3B5JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KFRVSV9DT1BZX1RFWFRTKSByZWFkb25seSB0ZXh0cyQ6IE9ic2VydmFibGU8W3N0cmluZywgc3RyaW5nXT4pIHt9XG5cbiAgICBAdHVpUHVyZVxuICAgIGdldCBjb3BpZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb3B5JC5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwVG8odGltZXIoQ09QSUVEX1RJTUVPVVQpLnBpcGUobWFwVG8oZmFsc2UpLCBzdGFydFdpdGgodHJ1ZSkpKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvcHkkLm5leHQoKTtcbiAgICB9XG59XG4iXX0=
@@ -1,19 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { CommonModule } from '@angular/common';
3
- import { NgModule } from '@angular/core';
4
- import { TuiButtonModule } from '@taiga-ui/core';
5
- import { TuiDocCopyComponent } from './copy.component';
6
- var TuiDocCopyModule = /** @class */ (function () {
7
- function TuiDocCopyModule() {
8
- }
9
- TuiDocCopyModule = __decorate([
10
- NgModule({
11
- imports: [CommonModule, TuiButtonModule],
12
- declarations: [TuiDocCopyComponent],
13
- exports: [TuiDocCopyComponent],
14
- })
15
- ], TuiDocCopyModule);
16
- return TuiDocCopyModule;
17
- }());
18
- export { TuiDocCopyModule };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tZG9jLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9jb3B5L2NvcHkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0MsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFPckQ7SUFBQTtJQUErQixDQUFDO0lBQW5CLGdCQUFnQjtRQUw1QixRQUFRLENBQUM7WUFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDO1lBQ3hDLFlBQVksRUFBRSxDQUFDLG1CQUFtQixDQUFDO1lBQ25DLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO1NBQ2pDLENBQUM7T0FDVyxnQkFBZ0IsQ0FBRztJQUFELHVCQUFDO0NBQUEsQUFBaEMsSUFBZ0M7U0FBbkIsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpQnV0dG9uTW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5cbmltcG9ydCB7VHVpRG9jQ29weUNvbXBvbmVudH0gZnJvbSAnLi9jb3B5LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHVpQnV0dG9uTW9kdWxlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtUdWlEb2NDb3B5Q29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbVHVpRG9jQ29weUNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY0NvcHlNb2R1bGUge31cbiJdfQ==