import React from 'react';
import { IconBrightnessLow } from '@defencedigital/icon-library';
import { Button } from './index';
import { BUTTON_VARIANT, BUTTON_ICON_POSITION } from './constants';
import { COMPONENT_SIZE } from '../Forms';
export default {
  argTypes: {
    icon: {
      control: false
    }
  },
  component: Button,
  title: 'Button',
  parameters: {
    actions: {
      argTypesRegex: '^on.*'
    }
  }
};
var Template = function Template(args) {
  return /*#__PURE__*/React.createElement(Button, args);
};
export var Default = Template.bind({});
Default.args = {
  children: 'Default'
};
export var Primary = Template.bind({});
Primary.args = {
  variant: BUTTON_VARIANT.PRIMARY,
  children: 'Primary'
};
export var PrimaryDisabled = Template.bind({});
PrimaryDisabled.storyName = 'Primary, disabled';
PrimaryDisabled.args = {
  variant: BUTTON_VARIANT.PRIMARY,
  isDisabled: true,
  children: 'Primary, disabled'
};
export var PrimaryLoading = Template.bind({});
PrimaryLoading.storyName = 'Primary, loading';
PrimaryLoading.args = {
  variant: BUTTON_VARIANT.PRIMARY,
  isLoading: true,
  children: 'Primary, loading'
};
export var PrimaryLeftIcon = Template.bind({});
PrimaryLeftIcon.storyName = 'Primary, with left icon';
PrimaryLeftIcon.args = {
  children: 'Primary',
  icon: /*#__PURE__*/React.createElement(IconBrightnessLow, null),
  iconPosition: BUTTON_ICON_POSITION.LEFT
};
export var PrimaryRightIcon = Template.bind({});
PrimaryRightIcon.storyName = 'Primary, with right icon';
PrimaryRightIcon.args = {
  children: 'Primary',
  icon: /*#__PURE__*/React.createElement(IconBrightnessLow, null),
  iconPosition: BUTTON_ICON_POSITION.RIGHT
};
export var IconNoText = Template.bind({});
IconNoText.storyName = 'Icon, no text';
IconNoText.args = {
  children: undefined,
  icon: /*#__PURE__*/React.createElement(IconBrightnessLow, null),
  title: 'Reduce brightness'
};
export var Secondary = Template.bind({});
Secondary.args = {
  variant: BUTTON_VARIANT.SECONDARY,
  children: 'Secondary'
};
export var SecondaryLeftIcon = Template.bind({});
SecondaryLeftIcon.storyName = 'Secondary, with left icon';
SecondaryLeftIcon.args = {
  variant: BUTTON_VARIANT.SECONDARY,
  children: 'Secondary',
  icon: /*#__PURE__*/React.createElement(IconBrightnessLow, null),
  iconPosition: BUTTON_ICON_POSITION.LEFT
};
export var SecondaryDisabled = Template.bind({});
SecondaryDisabled.storyName = 'Secondary, disabled';
SecondaryDisabled.args = {
  variant: BUTTON_VARIANT.SECONDARY,
  isDisabled: true,
  children: 'Secondary, disabled'
};
export var SecondaryLoading = Template.bind({});
SecondaryLoading.storyName = 'Secondary, loading';
SecondaryLoading.args = {
  variant: BUTTON_VARIANT.SECONDARY,
  isLoading: true,
  children: 'Secondary, loading'
};
export var Tertiary = Template.bind({});
Tertiary.args = {
  variant: BUTTON_VARIANT.TERTIARY,
  children: 'Tertiary'
};
export var TertiaryLeftIcon = Template.bind({});
TertiaryLeftIcon.storyName = 'Tertiary, with left icon';
TertiaryLeftIcon.args = {
  variant: BUTTON_VARIANT.TERTIARY,
  children: 'Tertiary',
  icon: /*#__PURE__*/React.createElement(IconBrightnessLow, null),
  iconPosition: BUTTON_ICON_POSITION.LEFT
};
export var TertiaryDisabled = Template.bind({});
TertiaryDisabled.storyName = 'Tertiary, disabled';
TertiaryDisabled.args = {
  variant: BUTTON_VARIANT.TERTIARY,
  isDisabled: true,
  children: 'Tertiary, disabled'
};
export var TertiaryLoading = Template.bind({});
TertiaryLoading.storyName = 'Tertiary, loading';
TertiaryLoading.args = {
  variant: BUTTON_VARIANT.TERTIARY,
  isLoading: true,
  children: 'Tertiary, loading'
};
export var Danger = Template.bind({});
Danger.args = {
  variant: BUTTON_VARIANT.DANGER,
  children: 'Danger'
};
export var DangerDisabled = Template.bind({});
DangerDisabled.storyName = 'Danger, disabled';
DangerDisabled.args = {
  variant: BUTTON_VARIANT.DANGER,
  isDisabled: true,
  children: 'Danger, disabled'
};
export var DangerLoading = Template.bind({});
DangerLoading.storyName = 'Danger, loading';
DangerLoading.args = {
  variant: BUTTON_VARIANT.DANGER,
  isLoading: true,
  children: 'Danger, loading'
};
export var Small = Template.bind({});
Small.args = {
  variant: BUTTON_VARIANT.PRIMARY,
  size: COMPONENT_SIZE.SMALL,
  children: 'Small'
};
export var SmallLoading = Template.bind({});
SmallLoading.storyName = 'Small, loading';
SmallLoading.args = {
  variant: BUTTON_VARIANT.PRIMARY,
  size: COMPONENT_SIZE.SMALL,
  children: 'Small, loading',
  isLoading: true
};
export var SmallIconNoText = Template.bind({});
SmallIconNoText.storyName = 'Small, with icon, no text ';
SmallIconNoText.args = {
  variant: BUTTON_VARIANT.PRIMARY,
  size: COMPONENT_SIZE.SMALL,
  icon: /*#__PURE__*/React.createElement(IconBrightnessLow, null),
  title: 'Reduce brightness'
};