UNPKG

@mekari/mekari-ui-vue

Version:

--- General web components in Mekari. The components are made using vue.js as its framework. Styling of components on Mekari UI Vue uses [Mekari UI Toolkit](https://bitbucket.org/mid-kelola-indonesia/mekari-ui-toolkit/src/master/). Don't forget to import

139 lines (121 loc) 3.08 kB
import { Meta, Story, Canvas, ArgsTable, Anchor } from '@storybook/addon-docs/blocks'; import { BButtonGroup as MButtonGroup } from 'bootstrap-vue'; import MButtonWithBadgeWrapper from '../../Button/components/ButtonWithBadgeWrapper'; import MButton from '../../Button'; import MBadge from '../../Badge'; import MIcon from '../../Icon'; import ButtonGroupIntroduction from './content/ButtonGroupIntroduction.mdx'; import argTypesDefault from './config'; <Meta title="Button Group" component={MButtonGroup} /> export const DefaultCode = ` <m-button-group :aria-role="ariaRole" :size="size" :tag="tag" :vertical="vertical" > <m-button class="px-3 justify-content-center">%</m-button> <m-button class="px-3 justify-content-center" theme="secondary">Rp</m-button> </m-button-group> ` export const TemplateDefault = (args) => ({ props: Object.keys(argTypesDefault), components: { MButtonGroup, MButton }, template: ` ${DefaultCode} ` }); # Button Group <ButtonGroupIntroduction /> ## Split <Canvas> <Story name="Split" argTypes={{ ...argTypesDefault }} parameters={{ docs: { source: { code: DefaultCode } } }} > {TemplateDefault.bind({})} </Story> </Canvas> <ArgsTable story="Split" /> export const MoreExampleSplit = (args) => ({ props: Object.keys(argTypesDefault), components: { MButtonGroup, MButton, MIcon }, template: ` <m-button-group> <m-button class="pr-3">Button</m-button> <m-button class="btn-with-icon px-2" v-dropdown-mouseover > <m-icon variant="dropdown" /> </m-button> </m-button-group> ` }); ### More Example on Split Button Group <Canvas> <Story name="example-split" argTypes={{ ...argTypesDefault }} > {MoreExampleSplit.bind({})} </Story> </Canvas> export const ButtonWithBadge = (args) => ({ components: { MButton, MBadge, MIcon, MButtonWithBadgeWrapper }, template: ` <div class="d-flex"> <div class="text-center"> <p><strong>If label.length < 3</strong></p> <m-button-with-badge-wrapper> <m-button size="default" variant="icon-center" theme="white" icon-variant="chat" /> <m-badge :rounded="true" size="slim" variant="danger" :label="9" /> </m-button-with-badge-wrapper> </div> <div class="pl-4 text-center"> <p><strong>If label.length >= 3</strong></p> <m-button-with-badge-wrapper> <m-button size="default" variant="icon-center" theme="white" icon-variant="chat" /> <m-badge :rounded="true" size="slim" variant="danger" label="99+" /> </m-button-with-badge-wrapper> </div> </div> ` }); ## Button with Badge <Canvas> <Story name='Button with Badge'> {ButtonWithBadge.bind({})} </Story> </Canvas>