Skip to content

Commit 6ae7fe3

Browse files
committed
Merge branch 'navbar' into woothu
2 parents 17be85d + da2d23e commit 6ae7fe3

File tree

4 files changed

+78
-0
lines changed

4 files changed

+78
-0
lines changed

src/components/Navbar/CNavbar.js

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
import { mergeData } from 'vue-functional-data-merge'
2+
3+
export const props = {
4+
tag: {
5+
type: String,
6+
default: 'nav'
7+
},
8+
type: {
9+
type: String,
10+
default: 'light'
11+
},
12+
variant: String,
13+
toggleable: {
14+
type: [Boolean, String],
15+
default: false
16+
},
17+
fixed: String,
18+
sticky: Boolean,
19+
print: Boolean
20+
}
21+
22+
export default {
23+
name: 'CNavbar',
24+
functional: true,
25+
props,
26+
render (h, { props, data, children }) {
27+
let breakpoint = ''
28+
if (props.toggleable && typeof props.toggleable === 'string' && props.toggleable !== 'xs') {
29+
breakpoint = `navbar-expand-${props.toggleable}`
30+
} else if (props.toggleable === false) {
31+
breakpoint = 'navbar-expand'
32+
}
33+
return h(
34+
props.tag,
35+
mergeData(data, {
36+
staticClass: 'navbar',
37+
class: {
38+
'd-print': props.print,
39+
'sticky-top': props.sticky,
40+
[`navbar-${props.type}`]: Boolean(props.type),
41+
[`bg-${props.variant}`]: Boolean(props.variant),
42+
[`fixed-${props.fixed}`]: Boolean(props.fixed),
43+
[`${breakpoint}`]: Boolean(breakpoint)
44+
},
45+
attrs: {
46+
role: props.tag === 'nav' ? null : 'navigation'
47+
}
48+
}),
49+
children
50+
)
51+
}
52+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
export default {
2+
name: 'CNavbarToggle',
3+
render (h) {
4+
return h(
5+
'button',
6+
{
7+
class: ['navbar-toggler'],
8+
attrs: {
9+
type: 'button',
10+
},
11+
},
12+
[this.$slots.default || h('span', { class: ['navbar-toggler-icon'] })]
13+
)
14+
}
15+
}

src/components/Navbar/index.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import CNavbar from './CNavbar'
2+
import CNavbarToggle from './CNavbarToggle'
3+
4+
export {
5+
CNavbar,
6+
CNavbarToggle
7+
}

src/components/index.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,11 @@ export * from './Card'
1717
export * from './Dropdown'
1818
export * from './ListGroup'
1919
<<<<<<< HEAD
20+
<<<<<<< HEAD
2021
export * from './Toolip'
2122
=======
2223
export * from './Pagination'
2324
>>>>>>> pagination
25+
=======
26+
export * from './Navbar'
27+
>>>>>>> navbar

0 commit comments

Comments
 (0)