UNPKG

@wordpress/components

Version:
90 lines (83 loc) 2.4 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import { createElement } from "@wordpress/element"; /** * External dependencies */ import classnames from 'classnames'; /** * WordPress dependencies */ import { Icon, check } from '@wordpress/icons'; /** * Internal dependencies */ import Button from '../button'; import Dropdown from '../dropdown'; import Tooltip from '../tooltip'; function Option({ className, isSelected, selectedIconProps, tooltipText, ...additionalProps }) { const optionButton = createElement(Button, _extends({ isPressed: isSelected, className: classnames(className, 'components-circular-option-picker__option') }, additionalProps)); return createElement("div", { className: "components-circular-option-picker__option-wrapper" }, tooltipText ? createElement(Tooltip, { text: tooltipText }, optionButton) : optionButton, isSelected && createElement(Icon, _extends({ icon: check }, selectedIconProps ? selectedIconProps : {}))); } function DropdownLinkAction({ buttonProps, className, dropdownProps, linkText }) { return createElement(Dropdown, _extends({ className: classnames('components-circular-option-picker__dropdown-link-action', className), renderToggle: ({ isOpen, onToggle }) => createElement(Button, _extends({ "aria-expanded": isOpen, "aria-haspopup": "true", onClick: onToggle, isLink: true }, buttonProps), linkText) }, dropdownProps)); } function ButtonAction({ className, children, ...additionalProps }) { return createElement(Button, _extends({ className: classnames('components-circular-option-picker__clear', className), isSmall: true, isSecondary: true }, additionalProps), children); } export default function CircularOptionPicker({ actions, className, options, children }) { 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