import * as i0 from '@angular/core'; import { OnInit, Type, ViewContainerRef, ChangeDetectorRef, OnChanges, AfterViewInit, SimpleChanges, OnDestroy, Injector, DestroyRef, EventEmitter } from '@angular/core'; import { NgDocPlaygroundConfig, NgDocPlaygroundProperties, NgDocPlaygroundOptions, NgDocPlaygroundProperty, NgDocPlaygroundContent } from '@ng-doc/core/interfaces'; import { Constructor } from '@ng-doc/core/types'; import { Observable } from 'rxjs'; import { FormGroup, FormControl } from '@angular/forms'; import { BreakpointObserver } from '@angular/cdk/layout'; import { NgDocProvidedTypeControl, NgDocTypeControlProviderOptions } from '@ng-doc/app/interfaces'; /** * Base class for playgrounds components. */ declare abstract class NgDocBasePlayground implements Pick, OnInit { private playgroundInstance?; static readonly selector: string; abstract readonly playground?: Type; abstract readonly viewContainerRef?: ViewContainerRef; abstract readonly configData: Record; properties: Record; actionData: Record; content: any; defaultValues: Record; private reattached; private playgroundContainer; protected changeDetectorRef: ChangeDetectorRef; protected constructor(playgroundInstance?: Constructor | undefined); get onReattached(): Observable; ngOnInit(): void; get data(): any; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } interface NgDocPlaygroundForm { properties: FormGroup>>; content: FormGroup>>; } declare class NgDocPlaygroundComponent implements OnChanges, AfterViewInit { private readonly rootPage; private readonly formBuilder; id: string; pipeName: string; selectors: string[]; properties?: T; options: NgDocPlaygroundOptions; recreateDemo: boolean; formGroup: FormGroup; defaultValues?: Record; configuration: NgDocPlaygroundConfig; private defaultProperties; private defaultContent; constructor(); ngOnChanges({ options }: SimpleChanges): void; ngAfterViewInit(): void; protected isDefaultState(): boolean; private getPropertiesFormValues; private getContentFormValues; resetForm(): void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵcmp: i0.ɵɵComponentDeclaration, "ng-doc-playground", never, { "id": { "alias": "id"; "required": true; }; "pipeName": { "alias": "pipeName"; "required": false; }; "selectors": { "alias": "selectors"; "required": false; }; "properties": { "alias": "properties"; "required": false; }; "options": { "alias": "options"; "required": false; }; }, {}, never, never, true, never>; } declare class NgDocPlaygroundDemoComponent implements OnChanges, OnDestroy { id: string; pipeName: string; selector: string; configuration?: NgDocPlaygroundConfig; properties?: T; recreateDemo: boolean; form: FormGroup; expanded: boolean; demoOutlet?: ViewContainerRef; playgroundDemo?: typeof NgDocBasePlayground; protected code: string; protected readonly injector: Injector; protected readonly changeDetectorRef: ChangeDetectorRef; protected readonly destroyRef: DestroyRef; private demoRef?; private readonly unsubscribe$; ngOnChanges({ form, id }: SimpleChanges): Promise; private updateDemo; private createDemo; private updateCodeView; private getActiveContent; private getActiveInputs; private getPipeActiveInputs; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵcmp: i0.ɵɵComponentDeclaration, "ng-doc-playground-demo", never, { "id": { "alias": "id"; "required": false; }; "pipeName": { "alias": "pipeName"; "required": false; }; "selector": { "alias": "selector"; "required": false; }; "configuration": { "alias": "configuration"; "required": false; }; "properties": { "alias": "properties"; "required": false; }; "recreateDemo": { "alias": "recreateDemo"; "required": false; }; "form": { "alias": "form"; "required": false; }; "expanded": { "alias": "expanded"; "required": false; }; }, {}, never, never, true, never>; } interface NgDocPlaygroundPropertyControl { propertyName: string; property: NgDocPlaygroundProperty; typeControl: NgDocProvidedTypeControl; } declare class NgDocPlaygroundPropertiesComponent

> implements OnChanges { protected readonly breakpointObserver: BreakpointObserver; private injector; form: FormGroup; properties?: P; ignoreInputs?: string[]; dynamicContent?: C; defaultValues?: Record; hideSidePanel: boolean; recreateDemo: boolean; showResetButton: boolean; recreateDemoChange: EventEmitter; resetForm: EventEmitter; readonly breakpoints: string[]; readonly observer: Observable; protected propertyControls: NgDocPlaygroundPropertyControl[]; protected contentTypeControl?: NgDocProvidedTypeControl; constructor(); ngOnChanges({ properties }: SimpleChanges): void; getFormControl(controlType: keyof typeof this$1.form.controls, key: string): FormControl; private getTypeControl; private getControlForType; private getControlForTypeAlias; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵcmp: i0.ɵɵComponentDeclaration, "ng-doc-playground-properties", never, { "form": { "alias": "form"; "required": false; }; "properties": { "alias": "properties"; "required": false; }; "ignoreInputs": { "alias": "ignoreInputs"; "required": false; }; "dynamicContent": { "alias": "dynamicContent"; "required": false; }; "defaultValues": { "alias": "defaultValues"; "required": false; }; "hideSidePanel": { "alias": "hideSidePanel"; "required": false; }; "recreateDemo": { "alias": "recreateDemo"; "required": false; }; "showResetButton": { "alias": "showResetButton"; "required": false; }; }, { "recreateDemoChange": "recreateDemoChange"; "resetForm": "resetForm"; }, never, ["*"], true, never>; } declare class NgDocPlaygroundPropertyComponent implements OnChanges { name: string; property?: NgDocPlaygroundProperty | NgDocPlaygroundContent; typeControl?: NgDocProvidedTypeControl; control?: FormControl; defaultValue?: unknown; propertyOutlet?: ViewContainerRef; protected option?: NgDocTypeControlProviderOptions; private propertyTypeControl?; ngOnChanges({ property, control, typeControl, defaultValue }: SimpleChanges): void; get hasPropertyControl(): boolean; get tooltipContent(): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export { NgDocBasePlayground, NgDocPlaygroundComponent, NgDocPlaygroundDemoComponent, NgDocPlaygroundPropertiesComponent, NgDocPlaygroundPropertyComponent }; export type { NgDocPlaygroundForm, NgDocPlaygroundPropertyControl };