UNPKG

@wordpress/components

Version:
105 lines (89 loc) 3.05 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = CircularOptionPicker; var _element = require("@wordpress/element"); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _classnames = _interopRequireDefault(require("classnames")); var _icons = require("@wordpress/icons"); var _button = _interopRequireDefault(require("../button")); var _dropdown = _interopRequireDefault(require("../dropdown")); var _tooltip = _interopRequireDefault(require("../tooltip")); /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ function Option({ className, isSelected, selectedIconProps, tooltipText, ...additionalProps }) { const optionButton = (0, _element.createElement)(_button.default, (0, _extends2.default)({ isPressed: isSelected, className: (0, _classnames.default)(className, 'components-circular-option-picker__option') }, additionalProps)); return (0, _element.createElement)("div", { className: "components-circular-option-picker__option-wrapper" }, tooltipText ? (0, _element.createElement)(_tooltip.default, { text: tooltipText }, optionButton) : optionButton, isSelected && (0, _element.createElement)(_icons.Icon, (0, _extends2.default)({ icon: _icons.check }, selectedIconProps ? selectedIconProps : {}))); } function DropdownLinkAction({ buttonProps, className, dropdownProps, linkText }) { return (0, _element.createElement)(_dropdown.default, (0, _extends2.default)({ className: (0, _classnames.default)('components-circular-option-picker__dropdown-link-action', className), renderToggle: ({ isOpen, onToggle }) => (0, _element.createElement)(_button.default, (0, _extends2.default)({ "aria-expanded": isOpen, "aria-haspopup": "true", onClick: onToggle, isLink: true }, buttonProps), linkText) }, dropdownProps)); } function ButtonAction({ className, children, ...additionalProps }) { return (0, _element.createElement)(_button.default, (0, _extends2.default)({ className: (0, _classnames.default)('components-circular-option-picker__clear', className), isSmall: true, isSecondary: true }, additionalProps), children); } function CircularOptionPicker({ actions, className, options, children }) { return (0, _element.createElement)("div", { className: (0, _classnames.default)('components-circular-option-picker', className) }, (0, _element.createElement)("div", { className: "components-circular-option-picker__swatches" }, options), children, actions && (0, _element.createElement)("div", { className: "components-circular-option-picker__custom-clear-wrapper" }, actions)); } CircularOptionPicker.Option = Option; CircularOptionPicker.ButtonAction = ButtonAction; CircularOptionPicker.DropdownLinkAction = DropdownLinkAction; //# sourceMappingURL=index.js.map