<script>
import BaseComponent from '@primevue/core/basecomponent';
import CommandMenuStyle from 'primevue/commandmenu/style';

export default {
    name: 'BaseCommandMenu',
    extends: BaseComponent,
    props: {
        model: {
            type: Array,
            default: null
        },
        search: {
            type: String,
            default: null
        },
        filter: {
            type: Function,
            default: null
        },
        placeholder: {
            type: String,
            default: null
        },
        emptyMessage: {
            type: String,
            default: null
        },
        emptyFilterMessage: {
            type: String,
            default: null
        },
        menuClass: {
            type: [String, Object, Array],
            default: null
        },
        menuStyle: {
            type: [String, Object, Array],
            default: null
        },
        ariaLabel: {
            type: String,
            default: null
        },
        ariaLabelledby: {
            type: String,
            default: null
        },
        as: {
            type: [String, Object],
            default: 'DIV'
        },
        asChild: {
            type: Boolean,
            default: false
        }
    },
    style: CommandMenuStyle,
    provide() {
        return {
            $pcCommandMenu: this,
            $parentInstance: this
        };
    }
};
</script>
