0.1.7 • Published 3 years ago

vue-material-dynamic-tabs v0.1.7

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

vue-material-tabs

Vue 2 material tabs component ❤

Demo

⚓ Features

  • Nav with dynamic pagination.
  • Touchlable pagination.
  • Vertical support.
  • Very flexible and customizable
  • Multiple style themes.
  • Zero dependencies

🚚 Install

 yarn add vue-material-tabs  // npm install --save vue-material-tabs

🚀 Usage

Global

import Vue from "vue";
import Tabs from "vue-material-tabs";

Vue.use(Tabs);

Local

import { tabs, tab } from "vue-material-tabs";

export default {
  components: {
    tabs,
    tabItem,
  },
};

📌 Examples

<Tabs>
  <TabItem name="Foo">
    <div class="first-tab">First tab</div>
  </TabItem>
  <TabItem name="Bar">
    <div class="second-tab">Second tab</div>
  </TabItem>
</Tabs>

You can customize the name in the nav by slot #name (This removes the use of the prop name)

<Tabs>
  <TabItem>
    <template #name>
        My custom title 🍉
    </template>

    <div class="first-tab">
    First tab
    </div>
  </TabItem>
</Tabs>

👑 Themes

There are some themes available to customize your tab, you can apply them through the "theme" prop.

The default theme is, guess what, default, curious isn't it?!
  • default
  • purple
  • red
  • pink
  • cyan
  • green

Example

<Tabs theme="cyan" >
  ....
</Tabs>

You can create your own personalized themes, passing an object with the properties through the "theme" prop.

Example

<Tabs :theme="theme" >
  ....
</Tabs>
....
<script>
  export default {
    data: () => ({
      theme: {
        nav: "#4A148C",
        navItem: "#BDBDBD",
        navActiveItem: "#fff",
        slider: "#CE93D8",
        arrow: "#f3f3f3",
      },
    }),
  };
</script>

Tabs

Props

NametypeDefaultdescription
valueStringundefinedThe designated model value for the component.
themeString - Object'default'Apply a custom theme.
verticalBooleanfalseUses a vertical transition when changing windows.
rippleBooleantrueEnalbe/disable ripple buttons effects.
slideDurationString - Number200Set time in ms slide duration.
slideVerticalBooleanfalseEnable vertical slide animation.
slideBoolean - ObjectfalseEnable/disable slide or set object with props.
navAutoBooleanfalseSet nav auto items.
navSliderBooleantrueEnable/disable slider under nav item.
noTouchBooleanfalseEnable/disable slider tabs by touch.

Slots

NameDescriptionProps
navSlot to replace the nav menu.{ navItems: Array, active: String }

Events

NameDescription
inputEmitted when tab is changed.

TabItem

Props

NametypeDefaultdescription
nameString'Tab Item 'Sets the tab value in the nav menu.
disabledBooleanfalseRemoves the ability to click or target the component.

Slots

NameDescription
nameSlot for cutom name in nav

🔖 License

MIT