UNPKG

grommet

Version:

focus on the essential experience

458 lines (425 loc) 16.7 kB
"use strict"; var _react = _interopRequireWildcard(require("react")); var _react2 = require("@storybook/react"); var _grommet = require("grommet"); var _grommetIcons = require("grommet-icons"); var _themes = require("grommet/themes"); var _base = require("grommet/themes/base"); var _utils = require("grommet/utils"); var _grommetThemeAruba = require("grommet-theme-aruba"); var _grommetThemeHp = require("grommet-theme-hp"); var _grommetThemeDxc = require("grommet-theme-dxc"); var _grommetThemeV = require("grommet-theme-v1"); var _theme = require("./theme"); function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } var Node = function Node(_ref) { var id = _ref.id, rest = _objectWithoutPropertiesLoose(_ref, ["id"]); return /*#__PURE__*/_react["default"].createElement(_grommet.Box, _extends({ id: id, basis: "xxsmall", margin: "small", pad: "medium", round: "small", background: "light-4" }, rest)); }; var connection = function connection(fromTarget, toTarget, _temp) { var _ref2 = _temp === void 0 ? {} : _temp, color = _ref2.color, rest = _objectWithoutPropertiesLoose(_ref2, ["color"]); return _extends({ fromTarget: fromTarget, toTarget: toTarget, color: color || 'graph-0', thickness: 'xsmall', round: true, type: 'rectilinear' }, rest); }; var themes = { grommet: _themes.grommet, hpe: _theme.hpe, aruba: _grommetThemeAruba.aruba, hp: _grommetThemeHp.hp, dxc: _grommetThemeDxc.dxc, v1: _grommetThemeV.v1 }; var Components = function Components() { var _useState = (0, _react.useState)(24), baseSize = _useState[0], setBaseSize = _useState[1]; var _useState2 = (0, _react.useState)(true), checkBox = _useState2[0], setCheckBox = _useState2[1]; var _useState3 = (0, _react.useState)(''), textInput = _useState3[0], setTextInput = _useState3[1]; var _useState4 = (0, _react.useState)(''), maskedInput = _useState4[0], setMaskedInput = _useState4[1]; var _useState5 = (0, _react.useState)('RadioButton 1'), radioButton = _useState5[0], setRadioButton = _useState5[1]; var _useState6 = (0, _react.useState)([1, 2]), rangeSelector = _useState6[0], setRangeSelector = _useState6[1]; var _useState7 = (0, _react.useState)(), themeMode = _useState7[0], setThemeMode = _useState7[1]; var _useState8 = (0, _react.useState)('grommet'), themeName = _useState8[0], setThemeName = _useState8[1]; var _useState9 = (0, _react.useState)(undefined), background = _useState9[0], setBackground = _useState9[1]; var _useState10 = (0, _react.useState)(0), tabIndex = _useState10[0], setTabIndex = _useState10[1]; var theme = (0, _react.useMemo)(function () { return (0, _utils.deepMerge)((0, _base.generate)(baseSize), themes[themeName]); }, [baseSize, themeName]); var themeCanMode = (0, _react.useMemo)(function () { return theme && theme.global.colors.background && theme.global.colors.background.dark; }, [theme]); var content = [/*#__PURE__*/_react["default"].createElement(_grommet.Box, { key: "type", align: "start", gap: "small" }, /*#__PURE__*/_react["default"].createElement(_grommet.Heading, { margin: { top: 'none' } }, "Heading"), /*#__PURE__*/_react["default"].createElement(_grommet.Paragraph, null, "Paragraph"), /*#__PURE__*/_react["default"].createElement(_grommet.Text, null, "Text"), /*#__PURE__*/_react["default"].createElement(_grommet.Anchor, { href: "" }, "Anchor"), /*#__PURE__*/_react["default"].createElement(_grommet.Menu, { label: "Menu", items: [{ label: 'One', onClick: function onClick() {}, icon: /*#__PURE__*/_react["default"].createElement(_grommetIcons.FormNext, null), reverse: true }, { label: 'Two' }, { label: 'Thirty Three and 1/3' }] }), /*#__PURE__*/_react["default"].createElement(_grommet.Button, { label: "Button", onClick: function onClick() {} }), /*#__PURE__*/_react["default"].createElement(_grommet.Button, { plain: true, onClick: function onClick() {} }, /*#__PURE__*/_react["default"].createElement(_grommet.Text, null, "plain button"))), /*#__PURE__*/_react["default"].createElement(_grommet.Box, { key: "input", gap: "small" }, /*#__PURE__*/_react["default"].createElement(_grommet.Select, { placeholder: "Select", options: ['One', 'Two'], onChange: function onChange() {} }), /*#__PURE__*/_react["default"].createElement(_grommet.CheckBox, { name: "check", checked: checkBox, label: "CheckBox", onChange: function onChange(event) { return setCheckBox(event.target.checked); } }), /*#__PURE__*/_react["default"].createElement(_grommet.CheckBox, { name: "toggle", toggle: true, checked: checkBox, label: "CheckBox toggle", onChange: function onChange(event) { return setCheckBox(event.target.checked); } }), /*#__PURE__*/_react["default"].createElement(_grommet.RadioButtonGroup, { name: "radio", options: ['RadioButton 1', 'RadioButton 2'], value: radioButton, onChange: function onChange(event) { return setRadioButton(event.target.value); } }), /*#__PURE__*/_react["default"].createElement(_grommet.TextInput, { placeholder: "TextInput", suggestions: ['a', 'b', 'c'], value: textInput, onChange: function onChange(event) { return setTextInput(event.target.value); }, onSelect: function onSelect(_ref3) { var suggestion = _ref3.suggestion; return setTextInput(suggestion); } }), /*#__PURE__*/_react["default"].createElement(_grommet.MaskedInput, { mask: [{ length: [1, 4], options: [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024], regexp: /^\d{1,4}$/, placeholder: 'nnn' }, { fixed: ' ' }, { length: 2, options: ['MB', 'GB', 'TB'], regexp: /^[mgt]b$|^[MGT]B$|^[mMgGtT]$/, placeholder: 'gb' }], value: maskedInput, onChange: function onChange(event) { return setMaskedInput(event.target.value); } }), /*#__PURE__*/_react["default"].createElement(_grommet.TextArea, { placeholder: "TextArea" }), /*#__PURE__*/_react["default"].createElement(_grommet.RangeInput, { value: 24, onChange: function onChange() {} }), /*#__PURE__*/_react["default"].createElement(_grommet.Stack, null, /*#__PURE__*/_react["default"].createElement(_grommet.Box, { direction: "row", justify: "between" }, [0, 1, 2, 3].map(function (value) { return /*#__PURE__*/_react["default"].createElement(_grommet.Box, { key: value, pad: "small" }, /*#__PURE__*/_react["default"].createElement(_grommet.Text, { style: { fontFamily: 'monospace' } }, value)); })), /*#__PURE__*/_react["default"].createElement(_grommet.RangeSelector, { direction: "horizontal", invert: false, min: 0, max: 3, size: "full", round: "small", values: rangeSelector, onChange: function onChange(values) { return setRangeSelector(values); } })), /*#__PURE__*/_react["default"].createElement(_grommet.FormField, { label: "FormField" }, /*#__PURE__*/_react["default"].createElement(_grommet.TextInput, { placeholder: "TextInput" }))), /*#__PURE__*/_react["default"].createElement(_grommet.Box, { key: "time", gap: "medium" }, /*#__PURE__*/_react["default"].createElement(_grommet.Calendar, { size: "small" }), /*#__PURE__*/_react["default"].createElement(_grommet.Clock, { type: "digital", className: "chromatic-ignore" }), /*#__PURE__*/_react["default"].createElement(_grommet.Clock, { className: "chromatic-ignore" })), /*#__PURE__*/_react["default"].createElement(_grommet.Box, { key: "measure", gap: "medium" }, /*#__PURE__*/_react["default"].createElement(_grommet.Chart, { type: "bar", round: true, size: "small", values: [{ value: [10, 20] }, { value: [20, 30] }, { value: [30, 15] }] }), /*#__PURE__*/_react["default"].createElement(_grommet.Meter, { type: "bar", round: true, size: "small", background: "light-3", values: [{ value: 30 }] })), /*#__PURE__*/_react["default"].createElement(_grommet.Box, { key: "visualize", gap: "small" }, /*#__PURE__*/_react["default"].createElement(_grommet.Distribution, { basis: "small", values: [{ value: 50, color: 'light-3' }, { value: 30, color: 'graph-0' }, { value: 20, color: 'light-4' }, { value: 10, color: 'light-3' }, { value: 5, color: 'light-4' }] }, function (value) { return /*#__PURE__*/_react["default"].createElement(_grommet.Box, { pad: "xsmall", background: value.color, fill: true }, /*#__PURE__*/_react["default"].createElement(_grommet.Text, { size: "large" }, value.value)); }), /*#__PURE__*/_react["default"].createElement(_grommet.Stack, null, /*#__PURE__*/_react["default"].createElement(_grommet.Box, null, /*#__PURE__*/_react["default"].createElement(_grommet.Box, { direction: "row" }, [1, 2].map(function (id) { return /*#__PURE__*/_react["default"].createElement(Node, { key: id, id: id }); })), /*#__PURE__*/_react["default"].createElement(_grommet.Box, { direction: "row" }, [3, 4].map(function (id) { return /*#__PURE__*/_react["default"].createElement(Node, { key: id, id: id }); }))), /*#__PURE__*/_react["default"].createElement(_grommet.Diagram, { connections: [connection('1', '4')] }))), /*#__PURE__*/_react["default"].createElement(_grommet.Box, { key: "dataTable", alignSelf: "start" }, /*#__PURE__*/_react["default"].createElement(_grommet.DataTable, { columns: [{ property: 'name', header: 'Name' }, { property: 'color', header: 'Color' }], data: [{ name: 'Alan', color: 'blue' }, { name: 'Chris', color: 'purple' }, { name: 'Eric', color: 'orange' }], sortable: true })), /*#__PURE__*/_react["default"].createElement(_grommet.Box, { key: "accordion" }, /*#__PURE__*/_react["default"].createElement(_grommet.Accordion, null, /*#__PURE__*/_react["default"].createElement(_grommet.AccordionPanel, { label: "Accordion Panel 1" }, /*#__PURE__*/_react["default"].createElement(_grommet.Box, { pad: "small" }, /*#__PURE__*/_react["default"].createElement(_grommet.Text, null, "Accordion panel 1 content"))), /*#__PURE__*/_react["default"].createElement(_grommet.AccordionPanel, { label: "Accordion Panel 2" }, /*#__PURE__*/_react["default"].createElement(_grommet.Box, { pad: "small" }, /*#__PURE__*/_react["default"].createElement(_grommet.Text, null, "Accordion panel 2 content"))))), /*#__PURE__*/_react["default"].createElement(_grommet.Box, { key: "tabs" }, /*#__PURE__*/_react["default"].createElement(_grommet.Tabs, { activeIndex: tabIndex, onActive: function onActive(index) { return setTabIndex(index); } }, /*#__PURE__*/_react["default"].createElement(_grommet.Tab, { title: "Tab 1" }, /*#__PURE__*/_react["default"].createElement(_grommet.Box, { pad: "small" }, /*#__PURE__*/_react["default"].createElement(_grommet.Text, null, "Tab 1 content"))), /*#__PURE__*/_react["default"].createElement(_grommet.Tab, { title: "Tab 2" }, /*#__PURE__*/_react["default"].createElement(_grommet.Box, { pad: "small" }, /*#__PURE__*/_react["default"].createElement(_grommet.Text, null, "Tab 2 content"))))), /*#__PURE__*/_react["default"].createElement(_grommet.Box, { key: "video", alignSelf: "start" }, /*#__PURE__*/_react["default"].createElement(_grommet.Video, null, /*#__PURE__*/_react["default"].createElement("source", { src: "http://techslides.com/demos/sample-videos/small.webm", type: "video/webm" }), /*#__PURE__*/_react["default"].createElement("source", { src: "http://techslides.com/demos/sample-videos/small.ogv", type: "video/ogg" }), /*#__PURE__*/_react["default"].createElement("source", { src: "http://techslides.com/demos/sample-videos/small.mp4", type: "video/mp4" }), /*#__PURE__*/_react["default"].createElement("source", { src: "http://techslides.com/demos/sample-videos/small.3gp", type: "video/3gp" })))]; return /*#__PURE__*/_react["default"].createElement("div", { style: { height: '100vh', display: 'flex', flexDirection: 'column' } }, /*#__PURE__*/_react["default"].createElement(_grommet.Grommet, { theme: _themes.grommet, style: { flex: '0 0 auto' } }, /*#__PURE__*/_react["default"].createElement(_grommet.Box, { direction: "row-responsive", gap: "medium", justify: "end", align: "center", margin: "small" }, /*#__PURE__*/_react["default"].createElement(_grommet.Box, { basis: "small" }, /*#__PURE__*/_react["default"].createElement(_grommet.Select, { plain: true, size: "small", options: Object.keys(themes), value: themeName, onChange: function onChange(event) { return setThemeName(event.option); } })), themeCanMode && /*#__PURE__*/_react["default"].createElement(_grommet.CheckBox, { label: "dark", checked: themeMode === 'dark', onChange: function onChange() { return setThemeMode(themeMode === 'dark' ? 'light' : 'dark'); } }), !themeCanMode && /*#__PURE__*/_react["default"].createElement(_grommet.Box, { basis: "small" }, /*#__PURE__*/_react["default"].createElement(_grommet.Select, { plain: true, placeholder: "background", size: "small", options: ['default', 'dark-1', 'light-1'], value: background, onChange: function onChange(event) { return setBackground(event.option); } })), /*#__PURE__*/_react["default"].createElement(_grommet.Box, { basis: "small" }, /*#__PURE__*/_react["default"].createElement(_grommet.RangeInput, { min: 16, max: 36, step: 2, value: baseSize, onChange: function onChange(event) { return setBaseSize(parseInt(event.target.value, 10)); } })), /*#__PURE__*/_react["default"].createElement(_grommet.Text, { size: "small" }, baseSize + "px base spacing"))), /*#__PURE__*/_react["default"].createElement(_grommet.Grommet, { theme: theme, themeMode: themeMode, style: { flex: '1 1' } }, /*#__PURE__*/_react["default"].createElement(_grommet.Box, { fill: true, pad: "medium", background: background || theme.global.colors.background, overflow: "auto" }, _grommet.Grid.available ? /*#__PURE__*/_react["default"].createElement(_grommet.Grid, { columns: "small", gap: "medium" }, content) : /*#__PURE__*/_react["default"].createElement(_grommet.Box, { direction: "row", wrap: true, align: "start", gap: "large" }, content)))); }; (0, _react2.storiesOf)('All', module).add('All', function () { return /*#__PURE__*/_react["default"].createElement(Components, null); });