diff --git a/lib/basic/oui-file.demo.vue b/lib/basic/oui-file.demo.vue index 6da9bdd..2acdc68 100644 --- a/lib/basic/oui-file.demo.vue +++ b/lib/basic/oui-file.demo.vue @@ -1,5 +1,5 @@ diff --git a/lib/basic/oui-tabs.demo.vue b/lib/basic/oui-tabs.demo.vue index 3aaf184..4ecb487 100644 --- a/lib/basic/oui-tabs.demo.vue +++ b/lib/basic/oui-tabs.demo.vue @@ -4,12 +4,13 @@ import { reactive } from 'vue' import { OuiClose, OuiDemo, OuiInput, OuiTabs } from '../lib' const state = reactive({ - selected: '', + selected: 'one', }) const tabs: OuiTab[] = [ { title: 'One', name: 'one', icon: OuiClose }, { title: 'Two', name: 'two' }, + { title: 'Three', name: 'three' }, ] diff --git a/lib/basic/oui-tabs.styl b/lib/basic/oui-tabs.styl index 3fe5e28..7d8d224 100644 --- a/lib/basic/oui-tabs.styl +++ b/lib/basic/oui-tabs.styl @@ -2,17 +2,56 @@ .oui-tabs { use: stack-y; + border-radius: 4; > ._nav { use: stack-x; - gap: 8; + position: relative; + background: var(--p1-bg); + border-radius: 4; + padding: 4; + gap: 4; + + ._pill { + position: absolute; + height: calc(100% - 16px); + transition: left 0.25s, width 0.25s; + border-radius: 4; + background: var(--p1-fg); + } + + display: flex; + justify-content: space-evenly; + width: 100%; button { + use: stack-item-grow; + padding: 4 8; cursor: pointer; + position: relative; + z-index: 1; + white-space: nowrap; + font-weight: normal; + color: var(--t3-fg); + } + + button { + &:hover { + color: var(--p1-fg); + } } ._active { + color: var(--bg); font-weight: bold; + + &:hover { + color: var(--bg); + } } } + + svg { + size: 1em; + } } \ No newline at end of file diff --git a/lib/basic/oui-tabs.vue b/lib/basic/oui-tabs.vue index 3ee3c74..5b03fd5 100644 --- a/lib/basic/oui-tabs.vue +++ b/lib/basic/oui-tabs.vue @@ -1,7 +1,7 @@