import { ComponentStylingModel, ComponentStylingPropertiesControlComponent, genericPropertiesControlFor } from '@anglr/dynamic/layout-editor';
import { ToggleButtonModel } from './toggleButton.model';
import { ButtonPresetsPropertiesControlSAComponent } from '../../../misc/buttonPresetsPropertiesControl/buttonPresetsPropertiesControl.component';
/**
 * Toggle button layout metadata
 */
export class ToggleButtonLayoutEditorMetadata {
    //######################### constructor #########################
    constructor() {
        //######################### public properties - implementation of LayoutEditorMetadataDescriptor #########################
        /**
         * @inheritdoc
         */
        this.metaInfo = {
            name: 'Toggle button',
            description: 'Button that switches between two states',
            group: 'Buttons',
            optionsMetadata: {
                propertiesMetadata: [
                    {
                        modelType: ComponentStylingModel,
                        propertiesControls: [
                            ComponentStylingPropertiesControlComponent,
                        ],
                    },
                    {
                        modelType: ToggleButtonModel,
                        propertiesControls: [
                            ButtonPresetsPropertiesControlSAComponent,
                            genericPropertiesControlFor(['buttonCssClass', 'onText', 'offText', 'state', 'disabled']),
                        ],
                    },
                ],
            },
            defaultOptions: {
                onText: 'On',
                offText: 'Off',
                state: true,
                disabled: false,
                buttonCssClass: 'btn btn-primary',
            }
        };
        Object.freeze(this);
    }
}
//# sourceMappingURL=toggleButton.layoutMetadata.js.map