1.0.1 • Published 5 years ago

@opuscapita/oc-cm-split-button v1.0.1

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

oc-cm-split-button

Description

Describe the component here

Installation

npm install @opuscapita/oc-cm-split-button

Demo

View the DEMO

Builds

UMD

The default build with compiled styles in the .js file. Also minified version available in the lib/umd directory.

CommonJS/ES Module

You need to configure your module loader to use cjs or es fields of the package.json to use these module types. Also you need to configure sass loader, since all the styles are in sass format.

API

SplitButton

Prop nameTypeDefaultDescription
idstringrequiredThe ID
titlestring or noderequiredSplit button label
menuItemsarrayrequired@opuscapita/react-dropdown: List of the dropdown menu items (check menuItems props from @opuscapita/react-dropdown)
disabledbooleanfalseWhether or not button is disabled.
menuDisabledbooleanfalseWhether or not dropdown menu is disabled.
iconnodenullButton icon
onButtonClickfunction()=>{}A callback fired when a button is selected.

Icon

Prop nameTypeDefaultDescription
faIconstringrequiredfontawesome icon name e.g. 'fa fa-check'
colorstringblackIcon color
sizestring14pxIcon font size
paddingstring0Icon paddings
marginstring0Icon margins

Code example

import React from "react";
import SplitButton, { Icon } from "@opuscapita/oc-cm-split-button";

export default class ReactView extends React.Component {
  getMenuItems = () => [
    {
      id: "item_id_21",
      title: "Item 1",
      onClick: () => {} // es
    },
    {
      id: "item_id_22",
      title: "Item 2",
      onClick: () => {}
    },
    {
      id: "item_id_d1",
      type: "divider"
    },
    {
      id: "item_id_23",
      title: "Item 3",
      onClick: () => {},
      disableClosing: true
    }
  ];

  renderIcon = () => (
    <Icon
      faIcon="fa fa-check"
      color="lightgreen"
      size="1.5rem"
      margin="0 0.5rem 0 0"
    />
  );

  render() {
    return (
      <SplitButton
        id="split-button-example-id"
        title="Save"
        menuItems={this.getMenuItems()}
        icon={this.renderIcon()}
      />
    );
  }
}