Skip to content

Commit b7e9178

Browse files
committed
feat(CNav): add underline and underline-border variants
1 parent bc95835 commit b7e9178

File tree

2 files changed

+92
-2
lines changed

2 files changed

+92
-2
lines changed

packages/coreui-vue/src/components/nav/CNav.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@ const CNav = defineComponent({
2424
/**
2525
* Set the nav variant to tabs or pills.
2626
*
27-
* @values 'tabs', 'pills'
27+
* @values 'pills', 'tabs', 'underline', 'underline-border'
2828
*/
2929
variant: {
3030
type: String,
3131
validator: (value: string) => {
32-
return ['tabs', 'pills'].includes(value)
32+
return ['pills', 'tabs', 'underline', 'underline-border'].includes(value)
3333
},
3434
},
3535
},

packages/docs/components/navs-tabs.md

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -312,6 +312,96 @@ Take that same HTML, but use `variant="pills"` instead:
312312
</CNav>
313313
```
314314

315+
316+
### Underline
317+
318+
Take that same code, but use `variant="underline"` instead:
319+
320+
::: demo
321+
<CNav variant="underline">
322+
<CNavItem>
323+
<CNavLink href="#" active>
324+
Active
325+
</CNavLink>
326+
</CNavItem>
327+
<CNavItem>
328+
<CNavLink href="#">Link</CNavLink>
329+
</CNavItem>
330+
<CNavItem>
331+
<CNavLink href="#">Link</CNavLink>
332+
</CNavItem>
333+
<CNavItem>
334+
<CNavLink href="#" disabled>
335+
Disabled
336+
</CNavLink>
337+
</CNavItem>
338+
</CNav>
339+
:::
340+
```vue
341+
<CNav variant="underline">
342+
<CNavItem>
343+
<CNavLink href="#" active>
344+
Active
345+
</CNavLink>
346+
</CNavItem>
347+
<CNavItem>
348+
<CNavLink href="#">Link</CNavLink>
349+
</CNavItem>
350+
<CNavItem>
351+
<CNavLink href="#">Link</CNavLink>
352+
</CNavItem>
353+
<CNavItem>
354+
<CNavLink href="#" disabled>
355+
Disabled
356+
</CNavLink>
357+
</CNavItem>
358+
</CNav>
359+
```
360+
### Underline border
361+
362+
Take that same code, but use `variant="underline-border"` instead:
363+
364+
::: demo
365+
<CNav variant="underline-border">
366+
<CNavItem>
367+
<CNavLink href="#" active>
368+
Active
369+
</CNavLink>
370+
</CNavItem>
371+
<CNavItem>
372+
<CNavLink href="#">Link</CNavLink>
373+
</CNavItem>
374+
<CNavItem>
375+
<CNavLink href="#">Link</CNavLink>
376+
</CNavItem>
377+
<CNavItem>
378+
<CNavLink href="#" disabled>
379+
Disabled
380+
</CNavLink>
381+
</CNavItem>
382+
</CNav>
383+
:::
384+
```vue
385+
<CNav variant="underline-border">
386+
<CNavItem>
387+
<CNavLink href="#" active>
388+
Active
389+
</CNavLink>
390+
</CNavItem>
391+
<CNavItem>
392+
<CNavLink href="#">Link</CNavLink>
393+
</CNavItem>
394+
<CNavItem>
395+
<CNavLink href="#">Link</CNavLink>
396+
</CNavItem>
397+
<CNavItem>
398+
<CNavLink href="#" disabled>
399+
Disabled
400+
</CNavLink>
401+
</CNavItem>
402+
</CNav>
403+
```
404+
315405
### Fill and justify
316406

317407
Force your `.nav`'s contents to extend the full available width one of two modifier classes. To proportionately fill all available space with your `.nav-item`s, use `layout="fill"`. Notice that all horizontal space is occupied, but not every nav item has the same width.

0 commit comments

Comments
 (0)