UNPKG

@taiga-ui/addon-doc

Version:

Taiga UI based library for developing documentation portals for Angular libraries.

130 lines (112 loc) 5.91 kB
import { InjectionToken, signal, inject } from '@angular/core'; import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di'; import { tuiTryParseMarkdownCodeBlock, tuiToFlatMapPages, tuiTypeReferenceParser } from '@taiga-ui/addon-doc/utils'; import { identity, defer, timer, switchMap, of } from 'rxjs'; import { tuiExtractI18n } from '@taiga-ui/i18n/utils'; /** * Code actions for the opened tab with code example */ const TUI_DOC_CODE_ACTIONS = new InjectionToken(ngDevMode ? 'TUI_DOC_CODE_ACTIONS' : '', { factory: () => '' }); /** * Service for opening online IDE e.g. Stackblitz */ const TUI_DOC_CODE_EDITOR = new InjectionToken(ngDevMode ? 'TUI_DOC_CODE_EDITOR' : ''); /** * Array of default tab names */ const TUI_DOC_DEFAULT_TABS = new InjectionToken(ngDevMode ? 'TUI_DOC_DEFAULT_TABS' : '', { factory: () => [] }); const TUI_DOC_DEFAULT_ICONS = { search: '@tui.search', code: '@tui.code', menu: '@tui.menu', link: '@tui.link', shrink: '@tui.shrink', expand: '@tui.expand', resizer: '@tui.grip-vertical', }; const [TUI_DOC_ICONS, tuiDocIconsProvider] = tuiCreateOptions(TUI_DOC_DEFAULT_ICONS); /** * Processes content in example */ const TUI_DOC_EXAMPLE_CONTENT_PROCESSOR = new InjectionToken(ngDevMode ? 'TUI_DOC_EXAMPLE_CONTENT_PROCESSOR' : '', { factory: () => identity }); /** * Processes markdown in code block */ const TUI_DOC_EXAMPLE_MARKDOWN_CODE_PROCESSOR = new InjectionToken(ngDevMode ? 'TUI_DOC_EXAMPLE_MARKDOWN_CODE_PROCESSOR' : '', { factory: () => tuiTryParseMarkdownCodeBlock, }); /** * Token to exclude inherited documentation properties */ const TUI_DOC_EXCLUDED_PROPERTIES = new InjectionToken(ngDevMode ? 'TUI_DOC_EXCLUDED_PROPERTIES' : '', { factory: () => new Set([]) }); function tuiDocExcludeProperties(properties) { return { provide: TUI_DOC_EXCLUDED_PROPERTIES, useValue: new Set(properties) }; } const TUI_DOC_DEMO_TEXTS = new InjectionToken(ngDevMode ? 'TUI_DOC_DEMO_TEXTS' : '', { factory: tuiExtractI18n('demoTexts') }); const TUI_DOC_PREVIEW_TEXT = new InjectionToken(ngDevMode ? 'TUI_DOC_PREVIEW_TEXT' : '', { factory: tuiExtractI18n('preview') }); const TUI_DOC_MENU_TEXT = new InjectionToken(ngDevMode ? 'TUI_DOC_MENU_TEXT' : '', { factory: tuiExtractI18n('menuText') }); const TUI_DOC_SEARCH_TEXT = new InjectionToken(ngDevMode ? 'TUI_DOC_SEARCH_TEXT' : '', { factory: tuiExtractI18n('searchText') }); const TUI_DOC_SEE_ALSO_TEXT = new InjectionToken(ngDevMode ? 'TUI_DOC_SEE_ALSO_TEXT' : '', { factory: tuiExtractI18n('seeAlsoText') }); const TUI_DOC_TOC_TEXT = new InjectionToken(ngDevMode ? 'TUI_DOC_TOC_TEXT' : '', { factory: tuiExtractI18n('tocText') }); const TUI_DOC_SOURCE_CODE_TEXT = new InjectionToken(ngDevMode ? 'TUI_DOC_SOURCE_CODE_TEXT' : '', { factory: tuiExtractI18n('sourceCodeText') }); const TUI_DOC_SEARCH_ENABLED = new InjectionToken(ngDevMode ? 'TUI_DOC_SEARCH_ENABLED' : '', { factory: () => signal(true) }); /** * Main logo */ const TUI_DOC_LOGO = new InjectionToken(ngDevMode ? 'TUI_DOC_LOGO' : '', { factory: () => '' }); /** * Stream that emits if loading of page is over (for example, to begin scrollIntoView) */ const TUI_DOC_PAGE_LOADED = new InjectionToken(ngDevMode ? 'TUI_DOC_PAGE_LOADED' : '', { factory: () => defer(() => timer(200).pipe(switchMap(() => of(true)))) }); /** * Documentation pages */ const TUI_DOC_PAGES = new InjectionToken(ngDevMode ? 'TUI_DOC_PAGES' : '', { factory: () => [] }); const TUI_DOC_PAGES_ICONS = new InjectionToken(ngDevMode ? 'TUI_DOC_PAGES_ICONS' : '', { factory: () => ({}) }); const TUI_DOC_MAP_PAGES = new InjectionToken(ngDevMode ? 'TUI_DOC_MAP_PAGES' : '', { factory: () => tuiToFlatMapPages(inject(TUI_DOC_PAGES)) }); /** * Array of arrays of related pages */ const TUI_DOC_SEE_ALSO = new InjectionToken(ngDevMode ? 'TUI_DOC_SEE_ALSO' : '', { factory: () => [] }); /** * Source code link */ const TUI_DOC_SOURCE_CODE = new InjectionToken(ngDevMode ? 'TUI_DOC_SOURCE_CODE' : '', { factory: () => null }); /** * Page title prefix */ const TUI_DOC_TITLE = new InjectionToken(ngDevMode ? 'TUI_DOC_TITLE' : '', { factory: () => '', }); const TUI_DOC_TYPE_REFERENCE_HANDLER = new InjectionToken(ngDevMode ? 'TUI_DOC_TYPE_REFERENCE_HANDLER' : '', { factory: () => null }); const TUI_DOC_TYPE_REFERENCE_PARSER = new InjectionToken(ngDevMode ? 'TUI_DOC_TYPE_REFERENCE_PARSER' : '', { factory: () => tuiTypeReferenceParser, }); /** * TODO: delete it in 5.0 * Replace the following approach to append query params * ```ts * urlStateHandler = inject(TUI_DOC_URL_STATE_HANDLER); * locationRef = inject(Location); * * this.locationRef.go(this.urlStateHandler(tree)); * ``` * with this one: * ```ts * router = inject(Router); * activatedRoute = inject(ActivatedRoute); * * void this.router.navigate([], { * relativeTo: this.activatedRoute, * queryParams: {sandboxWidth: 300}, * queryParamsHandling: 'merge', * }); * ``` * It is more robust to the cases when application has base href. */ const TUI_DOC_URL_STATE_HANDLER = new InjectionToken(ngDevMode ? 'TUI_DOC_URL_STATE_HANDLER' : '', { factory: () => String }); /** * Generated bundle index. Do not edit. */ export { TUI_DOC_CODE_ACTIONS, TUI_DOC_CODE_EDITOR, TUI_DOC_DEFAULT_ICONS, TUI_DOC_DEFAULT_TABS, TUI_DOC_DEMO_TEXTS, TUI_DOC_EXAMPLE_CONTENT_PROCESSOR, TUI_DOC_EXAMPLE_MARKDOWN_CODE_PROCESSOR, TUI_DOC_EXCLUDED_PROPERTIES, TUI_DOC_ICONS, TUI_DOC_LOGO, TUI_DOC_MAP_PAGES, TUI_DOC_MENU_TEXT, TUI_DOC_PAGES, TUI_DOC_PAGES_ICONS, TUI_DOC_PAGE_LOADED, TUI_DOC_PREVIEW_TEXT, TUI_DOC_SEARCH_ENABLED, TUI_DOC_SEARCH_TEXT, TUI_DOC_SEE_ALSO, TUI_DOC_SEE_ALSO_TEXT, TUI_DOC_SOURCE_CODE, TUI_DOC_SOURCE_CODE_TEXT, TUI_DOC_TITLE, TUI_DOC_TOC_TEXT, TUI_DOC_TYPE_REFERENCE_HANDLER, TUI_DOC_TYPE_REFERENCE_PARSER, TUI_DOC_URL_STATE_HANDLER, tuiDocExcludeProperties, tuiDocIconsProvider }; //# sourceMappingURL=taiga-ui-addon-doc-tokens.mjs.map