UNPKG

@ng-doc/core

Version:

<!-- PROJECT LOGO --> <br /> <div align="center"> <a href="https://github.com/ng-doc/ng-doc"> <img src="https://ng-doc.com/assets/images/ng-doc.svg?raw=true" alt="Logo" height="150px"> </a>

47 lines (46 loc) 1.93 kB
import { Type } from '@angular/core'; import { NgDocPlaygroundContent } from './playground-content'; import { NgDocPlaygroundOptions } from './playground-options'; /** * Playground control configuration */ export interface NgDocPlaygroundControlConfig { /** * Input type that will be used to display the playground control (e.g. `string`, `number`, `boolean`, `MyOwnType`) */ type: string; /** * Input alias that will be used to set the input value (e.g. `myInputAlias`) */ alias?: string; /** * Input description that will be used to display the tooltip on the playground control */ description?: string; /** * List of possible options, it can be list of Type Alias items */ options?: string[]; } /** Playground configuration */ export interface NgDocPlaygroundConfig extends NgDocPlaygroundOptions { /** Component or directive that will be used for the playground */ target: Type<unknown> | any; /** Template that should be used to render playground */ template: string; /** * List of playground controls that will be used to render the side panel. * NgDoc will try to guess playground controls from the component inputs, but you can override them here * or add new ones. * * Object key is the class property name, and value is a type of the control. If your input name and property name * are different, you can provide `NgDocPlaygroundControlConfig` object instead of a string to specify the input alias. */ controls?: Record<string, string | NgDocPlaygroundControlConfig>; /** * Dynamic content that you can provide to create content toggle button * The object key should be used in the playground's * template to define the place where the current content should be rendered (e.g. `{{content.providedKey}}`) */ content?: Record<string, NgDocPlaygroundContent>; }