UNPKG

design-system-starter

Version:
125 lines (100 loc) • 2.88 kB
/* design-system-starter v0.0.17 © 2019 Ryan Fitzer */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } var React = require('react'); var React__default = _interopDefault(React); var propTypes = require('prop-types'); /** * Just a plain `<button type="button" />` */ var Button = function Button(_ref) { var text = _ref.text, onClick = _ref.onClick; return React__default.createElement("button", { type: "button", className: "button", onClick: onClick }, text); }; Button.propTypes = { /** The text to show in the button. */ text: propTypes.string.isRequired, /** A handler function for when the button is clicked. */ onClick: propTypes.func }; function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } /** * Button that displays the total clicks it's recieved */ var Clicker = function Clicker() { var _useState = React.useState(0), _useState2 = _slicedToArray(_useState, 2), count = _useState2[0], setCount = _useState2[1]; function updateCount() { setCount(count + 1); } React.useEffect(function () { document.title = "You clicked ".concat(count, " times"); }); return React__default.createElement("div", null, React__default.createElement("p", { className: "msg" }, "You clicked ", count, " ", count === 1 ? 'time' : 'times'), React__default.createElement(Button, { text: "Click Me!", onClick: updateCount })); }; /** * Creates a link element via `<a href />` */ var Link = function Link(_ref) { var text = _ref.text, href = _ref.href; return React__default.createElement("a", { className: "link", href: href }, text); }; Link.propTypes = { /** Link destination */ href: propTypes.string.isRequired, /** The text to display */ text: propTypes.string.isRequired }; exports.Button = Button; exports.Clicker = Clicker; exports.Link = Link;