UNPKG

3.51 kBJavaScriptView Raw
1'use strict';
2
3function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
4
5var PropTypes = require('prop-types');
6var props = require('./types/props.js');
7var index$2 = require('./styled/index.js');
8var __chunk_1 = require('./chunk-c300b528.js');
9var Box = _interopDefault(require('reakit/Box'));
10require('reakit/Block');
11require('reakit/Inline');
12require('reakit/InlineBlock');
13var Flex = _interopDefault(require('reakit/Flex'));
14require('reakit/InlineFlex');
15require('reakit/Grid');
16var React = require('react');
17var React__default = _interopDefault(React);
18var __chunk_2 = require('./chunk-9acbdafe.js');
19var index$1 = require('./Spinner/index.js');
20var styled$5 = require('./Button/styled.js');
21
22var Text = index$2.default.span.withConfig({
23 displayName: "Button__Text",
24 componentId: "sc-9gxgrv-0"
25})(["align-items:center;display:inline-flex;"]);
26var SpinnerWrapper = index$2.default(Box).withConfig({
27 displayName: "Button__SpinnerWrapper",
28 componentId: "sc-9gxgrv-1"
29})(["position:absolute;display:flex;align-items:center;justify-content:center;& + ", "{opacity:0;}"], Text);
30var Button = function Button(_ref) {
31 var children = _ref.children,
32 className = _ref.className,
33 disabled = _ref.disabled,
34 iconAfter = _ref.iconAfter,
35 iconBefore = _ref.iconBefore,
36 isLoading = _ref.isLoading,
37 isStatic = _ref.isStatic,
38 kind = _ref.kind,
39 palette = _ref.palette,
40 size = _ref.size,
41 props = __chunk_1._objectWithoutPropertiesLoose(_ref, ["children", "className", "disabled", "iconAfter", "iconBefore", "isLoading", "isStatic", "kind", "palette", "size"]);
42
43 var child = React.createElement(React.Fragment, null, iconBefore && React.createElement(styled$5.ButtonIcon, {
44 a11yHidden: true,
45 icon: iconBefore,
46 isBefore: true
47 }), children, iconAfter && React.createElement(styled$5.ButtonIcon, {
48 a11yHidden: true,
49 icon: iconAfter,
50 isAfter: true
51 }));
52 return React.createElement(styled$5.default, __chunk_1._extends({
53 className: className,
54 disabled: disabled,
55 isLoading: isLoading,
56 isStatic: isStatic,
57 kind: kind,
58 palette: palette,
59 styledSize: size
60 }, props), isLoading ? React.createElement(React.Fragment, null, React.createElement(SpinnerWrapper, null, React.createElement(index$1.default, {
61 use: Flex,
62 color: kind === 'default' ? (palette || '') + "Inverted" : palette,
63 size: "20px"
64 })), React.createElement(Text, null, child)) : child);
65};
66var buttonPropTypes = {
67 autoFocus: PropTypes.bool,
68 children: PropTypes.node.isRequired,
69 className: PropTypes.string,
70 disabled: PropTypes.bool,
71 id: PropTypes.string,
72 iconAfter: __chunk_2.iconPropTypes['icon'],
73 iconBefore: __chunk_2.iconPropTypes['icon'],
74 isLoading: PropTypes.bool,
75 isStatic: PropTypes.bool,
76 kind: props.buttonTypePropType,
77 palette: PropTypes.string,
78 size: props.sizePropType,
79 type: PropTypes.string
80};
81Button.propTypes = buttonPropTypes;
82var buttonDefaultProps = {
83 autoFocus: false,
84 className: undefined,
85 disabled: false,
86 id: undefined,
87 iconAfter: undefined,
88 iconBefore: undefined,
89 isLoading: false,
90 isStatic: false,
91 kind: 'default',
92 palette: 'default',
93 size: 'default',
94 type: 'button'
95};
96Button.defaultProps = buttonDefaultProps; // @ts-ignore
97
98var C = Button;
99
100exports.Button = C;
101exports.SpinnerWrapper = SpinnerWrapper;
102exports.buttonDefaultProps = buttonDefaultProps;
103exports.buttonPropTypes = buttonPropTypes;