var component =
    {
        extends: BaseDataComponent,
        mixins: [AjaxMixin, ActionsHandlerMixin],
        template: '#template-name#',
        props: [
            'css',
            'content',
            'title',
            'elements',
        ],
        data: function () {
            return {
                elements_: [],
                css_: [],
                title_: '',
                content_: '',
                isOpen_: false
            };
        },
        methods: {
            click: function () {
                this.onClick();
            },
            toggle: function () {
                this.isOpen_ = !this.isOpen_;
                if (this.ajaxOnAction_ && this.isOpen_)
                {
                    this.runAjaxOnAction_();
                }
            },
        },
        computed: {
            openClass_: function () {
                return this.isOpen_ ? 'is-open' : '';
            },
            activeClass_: function () {
                return 'is-active';
            },
        }
    }