UNPKG

tweak-tools

Version:

Tweak your React projects until awesomeness

31 lines (30 loc) 1.43 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ButtonGroup = void 0; const react_1 = __importDefault(require("react")); const UI_1 = require("../UI"); const StyledButtonGroup_1 = require("./StyledButtonGroup"); const StyledButtonGroupButton_1 = require("./StyledButtonGroupButton"); const __1 = require("../.."); const getOpts = ({ label: _label, opts: _opts }) => { let label = typeof _label === 'string' ? (_label.trim() === '' ? null : _label) : _label; let opts = _opts; if (typeof _opts.opts === 'object') { if (opts.label !== undefined) { label = _opts.label; } opts = _opts.opts; } return { label, opts: opts }; }; function ButtonGroup(props) { const { label, opts } = getOpts(props); const store = (0, __1.useStoreContext)(); return (react_1.default.createElement(UI_1.Row, { input: !!label }, label && react_1.default.createElement(UI_1.Label, null, label), react_1.default.createElement(StyledButtonGroup_1.StyledButtonGroup, null, Object.entries(opts).map(([label, onClick]) => (react_1.default.createElement(StyledButtonGroupButton_1.StyledButtonGroupButton, { key: label, onClick: () => onClick(store.get) }, label)))))); } exports.ButtonGroup = ButtonGroup;