UNPKG

@gechiui/components

Version:
97 lines (90 loc) 2.59 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import { createElement } from "@gechiui/element"; /** * External dependencies */ import classnames from 'classnames'; /** * GeChiUI dependencies */ import { Icon, check } from '@gechiui/icons'; /** * Internal dependencies */ import Button from '../button'; import Dropdown from '../dropdown'; import Tooltip from '../tooltip'; function Option(_ref) { let { className, isSelected, selectedIconProps, tooltipText, ...additionalProps } = _ref; const optionButton = createElement(Button, _extends({ isPressed: isSelected, className: "components-circular-option-picker__option" }, additionalProps)); return createElement("div", { className: classnames(className, 'components-circular-option-picker__option-wrapper') }, tooltipText ? createElement(Tooltip, { text: tooltipText }, optionButton) : optionButton, isSelected && createElement(Icon, _extends({ icon: check }, selectedIconProps ? selectedIconProps : {}))); } function DropdownLinkAction(_ref2) { let { buttonProps, className, dropdownProps, linkText } = _ref2; return createElement(Dropdown, _extends({ className: classnames('components-circular-option-picker__dropdown-link-action', className), renderToggle: _ref3 => { let { isOpen, onToggle } = _ref3; return createElement(Button, _extends({ "aria-expanded": isOpen, "aria-haspopup": "true", onClick: onToggle, variant: "link" }, buttonProps), linkText); } }, dropdownProps)); } function ButtonAction(_ref4) { let { className, children, ...additionalProps } = _ref4; return createElement(Button, _extends({ className: classnames('components-circular-option-picker__clear', className), isSmall: true, variant: "secondary" }, additionalProps), children); } export default function CircularOptionPicker(_ref5) { let { actions, className, options, children } = _ref5; return createElement("div", { className: classnames('components-circular-option-picker', className) }, createElement("div", { className: "components-circular-option-picker__swatches" }, options), children, actions && createElement("div", { className: "components-circular-option-picker__custom-clear-wrapper" }, actions)); } CircularOptionPicker.Option = Option; CircularOptionPicker.ButtonAction = ButtonAction; CircularOptionPicker.DropdownLinkAction = DropdownLinkAction; //# sourceMappingURL=index.js.map