UNPKG

@streetscape.gl/monochrome

Version:

A toolkit of React components for streetscape.gl

223 lines (197 loc) 7.28 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _typeof = require("@babel/runtime/helpers/typeof"); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _react = _interopRequireWildcard(require("react")); var _react2 = require("@storybook/react"); var _storybookReadme = require("storybook-readme"); var _README = _interopRequireDefault(require("./README.md")); var _index = _interopRequireDefault(require("./index")); var _shared = require("../shared"); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && 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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var SETTINGS = { title: { type: 'title', title: 'My App Settings' }, sectionSeparator: { type: 'separator' }, sectionHeader: { type: 'header', title: 'Section Header' }, showTitle: { type: 'toggle', title: 'Show Title' }, richText: { type: 'toggle', title: 'Rich Text', tooltip: 'Fancy text formatting', warning: 'An example warning', children: { format: { type: 'select', visible: true, enabled: function enabled(_ref) { var richText = _ref.richText; return richText; }, title: 'Format', data: { html: 'HTML', markdown: 'Markdown' } }, flavor: { type: 'select', tooltip: 'Markdown syntax', visible: function visible(_ref2) { var format = _ref2.format; return format === 'markdown'; }, enabled: function enabled(_ref3) { var richText = _ref3.richText; return richText; }, title: 'Flavor', data: { standard: 'Standard', github: 'GitHub', wikipedia: 'Wikipedia' } }, stylesheet: { type: 'select', title: 'Stylesheet', visible: true, enabled: function enabled(_ref4) { var richText = _ref4.richText; return richText; }, data: { light: 'Light', dark: 'Dark' } } } }, fontSize: { type: 'range', tooltip: 'Size of text in pixels', title: 'Font Size', min: 10, max: 80 }, fontFamily: { type: 'text', tooltip: 'Fontface', title: 'Font Family' }, alignment: { type: 'radio', tooltip: 'Align text with viewport', title: 'Alignment', data: { left: 'Left', right: 'Right', center: 'Center' } }, autocorrect: { type: 'checkbox', title: 'Autocorrect', visible: true, collapsible: true, children: { spelling: { type: 'checkbox', title: 'Spelling', visible: true }, grammer: { type: 'checkbox', title: 'Grammer', visible: true } } } }; var STYLES = { wrapper: { padding: 24 }, label: { tooltip: { arrowSize: 0, borderWidth: 0 } } }; var FormExample = function (_Component) { (0, _inherits2["default"])(FormExample, _Component); var _super = _createSuper(FormExample); function FormExample(props) { var _this; (0, _classCallCheck2["default"])(this, FormExample); _this = _super.call(this, props); _this.state = { values: { showTitle: true, richText: true, format: 'markdown', flavor: 'github', stylesheet: 'light', fontSize: 24, fontFamily: 'Clan Pro Medium', alignment: 'left', autocorrect: _shared.CheckBox.INDETERMINATE, spelling: _shared.CheckBox.ON, grammer: _shared.CheckBox.OFF } }; return _this; } (0, _createClass2["default"])(FormExample, [{ key: "_onSettingsChange", value: function _onSettingsChange(changedSettings) { var newState = Object.assign({}, this.state.values, changedSettings); if (changedSettings.spelling || changedSettings.grammer) { if (newState.spelling === newState.grammer) { newState.autocorrect = newState.spelling; } else { newState.autocorrect = _shared.CheckBox.INDETERMINATE; } } else if (changedSettings.autocorrect) { newState.spelling = changedSettings.autocorrect; newState.grammer = changedSettings.autocorrect; } this.setState({ values: newState }); } }, { key: "render", value: function render() { return _react["default"].createElement(_index["default"], { data: SETTINGS, style: STYLES, values: this.state.values, onChange: this._onSettingsChange.bind(this) }); } }]); return FormExample; }(_react.Component); (0, _react2.storiesOf)('Form', module).addDecorator((0, _storybookReadme.withReadme)(_README["default"])).add('Basic example', function () { return _react["default"].createElement(FormExample, null); }); //# sourceMappingURL=stories.js.map