import { ref, onMounted } from 'vue';
// Utils
import { createNamespace } from '../utils';
import { BORDER_BOTTOM } from '../utils/constant';
// Composition
import { useHeight } from '../composition/use-rect';
// Components
import Icon from '../icon';
const [createComponent, bem] = createNamespace('nav-bar');
export default createComponent({
props: {
title: String,
fixed: Boolean,
zIndex: [Number, String],
leftText: String,
rightText: String,
leftArrow: Boolean,
placeholder: Boolean,
border: {
type: Boolean,
default: true,
},
},
emits: ['click-left', 'click-right'],
setup(props, { emit, slots }) {
const height = ref(null);
const navBarRef = ref(null);
onMounted(() => {
if (props.placeholder && props.fixed) {
height.value = useHeight(navBarRef);
}
});
const onClickLeft = (event) => {
emit('click-left', event);
};
const onClickRight = (event) => {
emit('click-right', event);
};
const renderLeft = () => {
if (slots.left) {
return slots.left();
}
return [
props.leftArrow &&