@taiga-ui/addon-doc
Version:
Taiga UI based library for developing documentation portals for Angular libraries.
130 lines (112 loc) • 5.91 kB
JavaScript
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