UNPKG

@blockstack/ui

Version:

Blockstack UI components built using React and styled-components with styled-system.

64 lines (55 loc) 2.01 kB
import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose } from '../_virtual/_rollupPluginBabelHelpers.js'; import React__default, { Children, cloneElement } from 'react'; import { Box } from '../box/index.esm.js'; import '../hooks/use-controllable.esm.js'; import '../hooks/use-previous.esm.js'; import '../hooks/use-disclosure.esm.js'; import '../hooks/use-latest-ref.esm.js'; import '../hooks/use-event-listener.esm.js'; import '../hooks/use-force-update.esm.js'; import '../hooks/use-id.esm.js'; import '../hooks/use-merge-refs.esm.js'; import '../hooks/use-safe-layout-effect.esm.js'; import '../hooks/use-timeout.esm.js'; import { useTheme } from '../hooks/use-theme.esm.js'; import '../hooks/use-color-mode.esm.js'; import { inputSizes } from '../input/styles.esm.js'; import { InputLeftElement, InputRightElement } from '../input-element/index.esm.js'; import { Input } from '../input/index.esm.js'; var InputGroup = function InputGroup(_ref) { var children = _ref.children, _ref$size = _ref.size, size = _ref$size === void 0 ? 'default' : _ref$size, props = _objectWithoutPropertiesLoose(_ref, ["children", "size"]); var _useTheme = useTheme(), sizes = _useTheme.sizes; var height = inputSizes[size] && inputSizes[size].height; var pl = null; var pr = null; return React__default.createElement(Box, Object.assign({ display: "flex", position: "relative" }, props), Children.map(children, function (child) { if (!React__default.isValidElement(child)) { return null; } if (child.type === InputLeftElement) { pl = sizes[height]; } if (child.type === InputRightElement) { pr = sizes[height]; } if (child.type === Input) { return cloneElement(child, { width: '100%', pl: child.props.pl || pl, pr: child.props.pr || pr }); } return cloneElement(child, { size: size }); })); }; export { InputGroup }; //# sourceMappingURL=index.esm.js.map