<script>
import BaseComponent from '@primevue/core/basecomponent';
import SidebarStyle from 'primevue/sidebar/style';

export default {
    name: 'BaseSidebar',
    extends: BaseComponent,
    props: {
        id: {
            type: String,
            default: undefined
        },
        side: {
            type: String,
            default: 'left'
        },
        variant: {
            type: String,
            default: 'sidebar'
        },
        collapsible: {
            type: String,
            default: 'icon'
        },
        overlay: {
            type: Boolean,
            default: false
        },
        open: {
            type: Boolean,
            default: undefined
        },
        openOnHover: {
            type: Boolean,
            default: false
        },
        hoverOpenDelay: {
            type: Number,
            default: 50
        },
        hoverCloseDelay: {
            type: Number,
            default: 100
        },
        dismissable: {
            type: Boolean,
            default: true
        },
        hideOnOutsideClick: {
            type: Boolean,
            default: true
        },
        width: {
            type: String,
            default: '16rem'
        },
        iconWidth: {
            type: String,
            default: '3rem'
        },
        as: {
            type: [String, Object],
            default: 'DIV'
        },
        asChild: {
            type: Boolean,
            default: false
        }
    },
    style: SidebarStyle,
    provide() {
        return {
            $pcSidebar: this,
            $parentInstance: this
        };
    }
};
</script>
