ecomlab-components-next 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/favicon.ico +0 -0
- package/dist/app/globals.css +42 -0
- package/dist/app/layout.js +29 -0
- package/dist/app/page.js +73 -0
- package/dist/app/page.module.css +168 -0
- package/dist/components/Button.js +23 -0
- package/dist/components/Button.module.scss +18 -0
- package/dist/components/Button.stories.js +33 -0
- package/dist/index.js +13 -0
- package/dist/stories/Button.js +47 -0
- package/dist/stories/Button.stories.js +52 -0
- package/dist/stories/Configure.mdx +446 -0
- package/dist/stories/Header.js +63 -0
- package/dist/stories/Header.stories.js +33 -0
- package/dist/stories/Page.js +68 -0
- package/dist/stories/Page.stories.js +61 -0
- package/dist/stories/assets/accessibility.png +0 -0
- package/dist/stories/assets/accessibility.svg +1 -0
- package/dist/stories/assets/addon-library.png +0 -0
- package/dist/stories/assets/assets.png +0 -0
- package/dist/stories/assets/avif-test-image.avif +0 -0
- package/dist/stories/assets/context.png +0 -0
- package/dist/stories/assets/discord.svg +1 -0
- package/dist/stories/assets/docs.png +0 -0
- package/dist/stories/assets/figma-plugin.png +0 -0
- package/dist/stories/assets/github.svg +1 -0
- package/dist/stories/assets/share.png +0 -0
- package/dist/stories/assets/styling.png +0 -0
- package/dist/stories/assets/testing.png +0 -0
- package/dist/stories/assets/theming.png +0 -0
- package/dist/stories/assets/tutorials.svg +1 -0
- package/dist/stories/assets/youtube.svg +1 -0
- package/dist/stories/button.css +30 -0
- package/dist/stories/header.css +32 -0
- package/dist/stories/page.css +68 -0
- package/package.json +17 -11
|
Binary file
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--background: #ffffff;
|
|
3
|
+
--foreground: #171717;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
@media (prefers-color-scheme: dark) {
|
|
7
|
+
:root {
|
|
8
|
+
--background: #0a0a0a;
|
|
9
|
+
--foreground: #ededed;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
html,
|
|
14
|
+
body {
|
|
15
|
+
max-width: 100vw;
|
|
16
|
+
overflow-x: hidden;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
body {
|
|
20
|
+
color: var(--foreground);
|
|
21
|
+
background: var(--background);
|
|
22
|
+
font-family: Arial, Helvetica, sans-serif;
|
|
23
|
+
-webkit-font-smoothing: antialiased;
|
|
24
|
+
-moz-osx-font-smoothing: grayscale;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
* {
|
|
28
|
+
box-sizing: border-box;
|
|
29
|
+
padding: 0;
|
|
30
|
+
margin: 0;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
a {
|
|
34
|
+
color: inherit;
|
|
35
|
+
text-decoration: none;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
@media (prefers-color-scheme: dark) {
|
|
39
|
+
html {
|
|
40
|
+
color-scheme: dark;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = RootLayout;
|
|
7
|
+
exports.metadata = void 0;
|
|
8
|
+
var _google = require("next/font/google");
|
|
9
|
+
require("./globals.css");
|
|
10
|
+
var geistSans = (0, _google.Geist)({
|
|
11
|
+
variable: "--font-geist-sans",
|
|
12
|
+
subsets: ["latin"]
|
|
13
|
+
});
|
|
14
|
+
var geistMono = (0, _google.Geist_Mono)({
|
|
15
|
+
variable: "--font-geist-mono",
|
|
16
|
+
subsets: ["latin"]
|
|
17
|
+
});
|
|
18
|
+
var metadata = exports.metadata = {
|
|
19
|
+
title: "Create Next App",
|
|
20
|
+
description: "Generated by create next app"
|
|
21
|
+
};
|
|
22
|
+
function RootLayout(_ref) {
|
|
23
|
+
var children = _ref.children;
|
|
24
|
+
return /*#__PURE__*/React.createElement("html", {
|
|
25
|
+
lang: "en"
|
|
26
|
+
}, /*#__PURE__*/React.createElement("body", {
|
|
27
|
+
className: "".concat(geistSans.variable, " ").concat(geistMono.variable)
|
|
28
|
+
}, children));
|
|
29
|
+
}
|
package/dist/app/page.js
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = Home;
|
|
7
|
+
var _image = _interopRequireDefault(require("next/image"));
|
|
8
|
+
var _pageModule = _interopRequireDefault(require("./page.module.css"));
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
10
|
+
function Home() {
|
|
11
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
12
|
+
className: _pageModule["default"].page
|
|
13
|
+
}, /*#__PURE__*/React.createElement("main", {
|
|
14
|
+
className: _pageModule["default"].main
|
|
15
|
+
}, /*#__PURE__*/React.createElement(_image["default"], {
|
|
16
|
+
className: _pageModule["default"].logo,
|
|
17
|
+
src: "/next.svg",
|
|
18
|
+
alt: "Next.js logo",
|
|
19
|
+
width: 180,
|
|
20
|
+
height: 38,
|
|
21
|
+
priority: true
|
|
22
|
+
}), /*#__PURE__*/React.createElement("ol", null, /*#__PURE__*/React.createElement("li", null, "Get started by editing ", /*#__PURE__*/React.createElement("code", null, "src/app/page.js"), "."), /*#__PURE__*/React.createElement("li", null, "Save and see your changes instantly.")), /*#__PURE__*/React.createElement("div", {
|
|
23
|
+
className: _pageModule["default"].ctas
|
|
24
|
+
}, /*#__PURE__*/React.createElement("a", {
|
|
25
|
+
className: _pageModule["default"].primary,
|
|
26
|
+
href: "https://vercel.com/new?utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app",
|
|
27
|
+
target: "_blank",
|
|
28
|
+
rel: "noopener noreferrer"
|
|
29
|
+
}, /*#__PURE__*/React.createElement(_image["default"], {
|
|
30
|
+
className: _pageModule["default"].logo,
|
|
31
|
+
src: "/vercel.svg",
|
|
32
|
+
alt: "Vercel logomark",
|
|
33
|
+
width: 20,
|
|
34
|
+
height: 20
|
|
35
|
+
}), "Deploy now"), /*#__PURE__*/React.createElement("a", {
|
|
36
|
+
href: "https://nextjs.org/docs?utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app",
|
|
37
|
+
target: "_blank",
|
|
38
|
+
rel: "noopener noreferrer",
|
|
39
|
+
className: _pageModule["default"].secondary
|
|
40
|
+
}, "Read our docs"))), /*#__PURE__*/React.createElement("footer", {
|
|
41
|
+
className: _pageModule["default"].footer
|
|
42
|
+
}, /*#__PURE__*/React.createElement("a", {
|
|
43
|
+
href: "https://nextjs.org/learn?utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app",
|
|
44
|
+
target: "_blank",
|
|
45
|
+
rel: "noopener noreferrer"
|
|
46
|
+
}, /*#__PURE__*/React.createElement(_image["default"], {
|
|
47
|
+
"aria-hidden": true,
|
|
48
|
+
src: "/file.svg",
|
|
49
|
+
alt: "File icon",
|
|
50
|
+
width: 16,
|
|
51
|
+
height: 16
|
|
52
|
+
}), "Learn"), /*#__PURE__*/React.createElement("a", {
|
|
53
|
+
href: "https://vercel.com/templates?framework=next.js&utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app",
|
|
54
|
+
target: "_blank",
|
|
55
|
+
rel: "noopener noreferrer"
|
|
56
|
+
}, /*#__PURE__*/React.createElement(_image["default"], {
|
|
57
|
+
"aria-hidden": true,
|
|
58
|
+
src: "/window.svg",
|
|
59
|
+
alt: "Window icon",
|
|
60
|
+
width: 16,
|
|
61
|
+
height: 16
|
|
62
|
+
}), "Examples"), /*#__PURE__*/React.createElement("a", {
|
|
63
|
+
href: "https://nextjs.org?utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app",
|
|
64
|
+
target: "_blank",
|
|
65
|
+
rel: "noopener noreferrer"
|
|
66
|
+
}, /*#__PURE__*/React.createElement(_image["default"], {
|
|
67
|
+
"aria-hidden": true,
|
|
68
|
+
src: "/globe.svg",
|
|
69
|
+
alt: "Globe icon",
|
|
70
|
+
width: 16,
|
|
71
|
+
height: 16
|
|
72
|
+
}), "Go to nextjs.org \u2192")));
|
|
73
|
+
}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
.page {
|
|
2
|
+
--gray-rgb: 0, 0, 0;
|
|
3
|
+
--gray-alpha-200: rgba(var(--gray-rgb), 0.08);
|
|
4
|
+
--gray-alpha-100: rgba(var(--gray-rgb), 0.05);
|
|
5
|
+
|
|
6
|
+
--button-primary-hover: #383838;
|
|
7
|
+
--button-secondary-hover: #f2f2f2;
|
|
8
|
+
|
|
9
|
+
display: grid;
|
|
10
|
+
grid-template-rows: 20px 1fr 20px;
|
|
11
|
+
align-items: center;
|
|
12
|
+
justify-items: center;
|
|
13
|
+
min-height: 100svh;
|
|
14
|
+
padding: 80px;
|
|
15
|
+
gap: 64px;
|
|
16
|
+
font-family: var(--font-geist-sans);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
@media (prefers-color-scheme: dark) {
|
|
20
|
+
.page {
|
|
21
|
+
--gray-rgb: 255, 255, 255;
|
|
22
|
+
--gray-alpha-200: rgba(var(--gray-rgb), 0.145);
|
|
23
|
+
--gray-alpha-100: rgba(var(--gray-rgb), 0.06);
|
|
24
|
+
|
|
25
|
+
--button-primary-hover: #ccc;
|
|
26
|
+
--button-secondary-hover: #1a1a1a;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.main {
|
|
31
|
+
display: flex;
|
|
32
|
+
flex-direction: column;
|
|
33
|
+
gap: 32px;
|
|
34
|
+
grid-row-start: 2;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.main ol {
|
|
38
|
+
font-family: var(--font-geist-mono);
|
|
39
|
+
padding-left: 0;
|
|
40
|
+
margin: 0;
|
|
41
|
+
font-size: 14px;
|
|
42
|
+
line-height: 24px;
|
|
43
|
+
letter-spacing: -0.01em;
|
|
44
|
+
list-style-position: inside;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.main li:not(:last-of-type) {
|
|
48
|
+
margin-bottom: 8px;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.main code {
|
|
52
|
+
font-family: inherit;
|
|
53
|
+
background: var(--gray-alpha-100);
|
|
54
|
+
padding: 2px 4px;
|
|
55
|
+
border-radius: 4px;
|
|
56
|
+
font-weight: 600;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.ctas {
|
|
60
|
+
display: flex;
|
|
61
|
+
gap: 16px;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.ctas a {
|
|
65
|
+
appearance: none;
|
|
66
|
+
border-radius: 128px;
|
|
67
|
+
height: 48px;
|
|
68
|
+
padding: 0 20px;
|
|
69
|
+
border: none;
|
|
70
|
+
border: 1px solid transparent;
|
|
71
|
+
transition:
|
|
72
|
+
background 0.2s,
|
|
73
|
+
color 0.2s,
|
|
74
|
+
border-color 0.2s;
|
|
75
|
+
cursor: pointer;
|
|
76
|
+
display: flex;
|
|
77
|
+
align-items: center;
|
|
78
|
+
justify-content: center;
|
|
79
|
+
font-size: 16px;
|
|
80
|
+
line-height: 20px;
|
|
81
|
+
font-weight: 500;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
a.primary {
|
|
85
|
+
background: var(--foreground);
|
|
86
|
+
color: var(--background);
|
|
87
|
+
gap: 8px;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
a.secondary {
|
|
91
|
+
border-color: var(--gray-alpha-200);
|
|
92
|
+
min-width: 180px;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.footer {
|
|
96
|
+
grid-row-start: 3;
|
|
97
|
+
display: flex;
|
|
98
|
+
gap: 24px;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.footer a {
|
|
102
|
+
display: flex;
|
|
103
|
+
align-items: center;
|
|
104
|
+
gap: 8px;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.footer img {
|
|
108
|
+
flex-shrink: 0;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/* Enable hover only on non-touch devices */
|
|
112
|
+
@media (hover: hover) and (pointer: fine) {
|
|
113
|
+
a.primary:hover {
|
|
114
|
+
background: var(--button-primary-hover);
|
|
115
|
+
border-color: transparent;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
a.secondary:hover {
|
|
119
|
+
background: var(--button-secondary-hover);
|
|
120
|
+
border-color: transparent;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.footer a:hover {
|
|
124
|
+
text-decoration: underline;
|
|
125
|
+
text-underline-offset: 4px;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
@media (max-width: 600px) {
|
|
130
|
+
.page {
|
|
131
|
+
padding: 32px;
|
|
132
|
+
padding-bottom: 80px;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.main {
|
|
136
|
+
align-items: center;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.main ol {
|
|
140
|
+
text-align: center;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.ctas {
|
|
144
|
+
flex-direction: column;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.ctas a {
|
|
148
|
+
font-size: 14px;
|
|
149
|
+
height: 40px;
|
|
150
|
+
padding: 0 16px;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
a.secondary {
|
|
154
|
+
min-width: auto;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.footer {
|
|
158
|
+
flex-wrap: wrap;
|
|
159
|
+
align-items: center;
|
|
160
|
+
justify-content: center;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
@media (prefers-color-scheme: dark) {
|
|
165
|
+
.logo {
|
|
166
|
+
filter: invert();
|
|
167
|
+
}
|
|
168
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _ButtonModule = _interopRequireDefault(require("./Button.module.scss"));
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
10
|
+
var Button = function Button(_ref) {
|
|
11
|
+
var label = _ref.label,
|
|
12
|
+
onClick = _ref.onClick,
|
|
13
|
+
_ref$disabled = _ref.disabled,
|
|
14
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
15
|
+
_ref$variant = _ref.variant,
|
|
16
|
+
variant = _ref$variant === void 0 ? 'primary' : _ref$variant;
|
|
17
|
+
return /*#__PURE__*/_react["default"].createElement("button", {
|
|
18
|
+
className: "".concat(_ButtonModule["default"].button, " ").concat(_ButtonModule["default"][variant]),
|
|
19
|
+
onClick: onClick,
|
|
20
|
+
disabled: disabled
|
|
21
|
+
}, label);
|
|
22
|
+
};
|
|
23
|
+
var _default = exports["default"] = Button;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
.button {
|
|
2
|
+
padding: 10px 20px;
|
|
3
|
+
font-size: 16px;
|
|
4
|
+
border: none;
|
|
5
|
+
cursor: pointer;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.primary {
|
|
9
|
+
background-color: #0070f3;
|
|
10
|
+
color: white;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.secondary {
|
|
14
|
+
background-color: white;
|
|
15
|
+
color: #0070f3;
|
|
16
|
+
border: 1px solid #0070f3;
|
|
17
|
+
}
|
|
18
|
+
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = exports.Secondary = exports.Primary = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _Button = _interopRequireDefault(require("./Button"));
|
|
9
|
+
var _react2 = require("@storybook/react");
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
11
|
+
var _default = exports["default"] = {
|
|
12
|
+
title: 'Components/Button',
|
|
13
|
+
component: _Button["default"]
|
|
14
|
+
};
|
|
15
|
+
var Template = function Template(args) {
|
|
16
|
+
return /*#__PURE__*/_react["default"].createElement(_Button["default"], args);
|
|
17
|
+
};
|
|
18
|
+
var Primary = exports.Primary = Template.bind({});
|
|
19
|
+
Primary.args = {
|
|
20
|
+
label: 'Primary Button',
|
|
21
|
+
variant: 'primary',
|
|
22
|
+
onClick: function onClick() {
|
|
23
|
+
return alert('Clicked!');
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
var Secondary = exports.Secondary = Template.bind({});
|
|
27
|
+
Secondary.args = {
|
|
28
|
+
label: 'Secondary Button',
|
|
29
|
+
variant: 'secondary',
|
|
30
|
+
onClick: function onClick() {
|
|
31
|
+
return alert('Clicked!');
|
|
32
|
+
}
|
|
33
|
+
};
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "Button", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _Button["default"];
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _Button = _interopRequireDefault(require("./components/Button"));
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Button = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
require("./button.css");
|
|
10
|
+
var _excluded = ["primary", "backgroundColor", "size", "label"];
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
12
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
13
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
14
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
|
|
15
|
+
/** Primary UI component for user interaction */
|
|
16
|
+
var Button = exports.Button = function Button(_ref) {
|
|
17
|
+
var primary = _ref.primary,
|
|
18
|
+
backgroundColor = _ref.backgroundColor,
|
|
19
|
+
size = _ref.size,
|
|
20
|
+
label = _ref.label,
|
|
21
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
22
|
+
var mode = primary ? 'storybook-button--primary' : 'storybook-button--secondary';
|
|
23
|
+
return /*#__PURE__*/_react["default"].createElement("button", _extends({
|
|
24
|
+
type: "button",
|
|
25
|
+
className: ['storybook-button', "storybook-button--".concat(size), mode].join(' ')
|
|
26
|
+
}, props), label, /*#__PURE__*/_react["default"].createElement("style", {
|
|
27
|
+
jsx: true
|
|
28
|
+
}, "\n button {\n background-color: ".concat(backgroundColor, ";\n }\n ")));
|
|
29
|
+
};
|
|
30
|
+
Button.propTypes = {
|
|
31
|
+
/** Is this the principal call to action on the page? */
|
|
32
|
+
primary: _propTypes["default"].bool,
|
|
33
|
+
/** What background color to use */
|
|
34
|
+
backgroundColor: _propTypes["default"].string,
|
|
35
|
+
/** How large should the button be? */
|
|
36
|
+
size: _propTypes["default"].oneOf(['small', 'medium', 'large']),
|
|
37
|
+
/** Button contents */
|
|
38
|
+
label: _propTypes["default"].string.isRequired,
|
|
39
|
+
/** Optional click handler */
|
|
40
|
+
onClick: _propTypes["default"].func
|
|
41
|
+
};
|
|
42
|
+
Button.defaultProps = {
|
|
43
|
+
backgroundColor: null,
|
|
44
|
+
primary: false,
|
|
45
|
+
size: 'medium',
|
|
46
|
+
onClick: undefined
|
|
47
|
+
};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = exports.Small = exports.Secondary = exports.Primary = exports.Large = void 0;
|
|
7
|
+
var _test = require("@storybook/test");
|
|
8
|
+
var _Button = require("./Button");
|
|
9
|
+
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export
|
|
10
|
+
var _default = exports["default"] = {
|
|
11
|
+
title: 'Example/Button',
|
|
12
|
+
component: _Button.Button,
|
|
13
|
+
parameters: {
|
|
14
|
+
// Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout
|
|
15
|
+
layout: 'centered'
|
|
16
|
+
},
|
|
17
|
+
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
|
|
18
|
+
tags: ['autodocs'],
|
|
19
|
+
// More on argTypes: https://storybook.js.org/docs/api/argtypes
|
|
20
|
+
argTypes: {
|
|
21
|
+
backgroundColor: {
|
|
22
|
+
control: 'color'
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
// Use `fn` to spy on the onClick arg, which will appear in the actions panel once invoked: https://storybook.js.org/docs/essentials/actions#action-args
|
|
26
|
+
args: {
|
|
27
|
+
onClick: (0, _test.fn)()
|
|
28
|
+
}
|
|
29
|
+
}; // More on writing stories with args: https://storybook.js.org/docs/writing-stories/args
|
|
30
|
+
var Primary = exports.Primary = {
|
|
31
|
+
args: {
|
|
32
|
+
primary: true,
|
|
33
|
+
label: 'Button'
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
var Secondary = exports.Secondary = {
|
|
37
|
+
args: {
|
|
38
|
+
label: 'Button'
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
var Large = exports.Large = {
|
|
42
|
+
args: {
|
|
43
|
+
size: 'large',
|
|
44
|
+
label: 'Button'
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
var Small = exports.Small = {
|
|
48
|
+
args: {
|
|
49
|
+
size: 'small',
|
|
50
|
+
label: 'Button'
|
|
51
|
+
}
|
|
52
|
+
};
|