UNPKG

@zohodesk/dot

Version:

In this Library, we Provide Some Basic Components to Build Your Application

173 lines (154 loc) 7.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _react = _interopRequireDefault(require("react")); var _defaultProps = require("./props/defaultProps"); var _propTypes = require("./props/propTypes"); var _Popup = _interopRequireDefault(require("@zohodesk/components/es/v1/Popup/Popup")); var _icons = require("@zohodesk/icons"); var _Button = _interopRequireDefault(require("@zohodesk/components/es/v1/Button/Button")); var _Layout = require("@zohodesk/components/es/v1/Layout"); var _ResponsiveDropBox = _interopRequireDefault(require("@zohodesk/components/es/v1/ResponsiveDropBox/ResponsiveDropBox")); var _CssProvider = _interopRequireDefault(require("@zohodesk/components/es/Provider/CssProvider")); var _semanticButtonModule = _interopRequireDefault(require("@zohodesk/components/es/semantic/Button/semanticButton.module.css")); var _ActionButtonModule = _interopRequireDefault(require("../../ActionButton/ActionButton.module.css")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function ActionButton(props) { var isLoading = props.isLoading, onClick = props.onClick, size = props.size, dataId = props.dataId, dataSelectorId = props.dataSelectorId, isArrow = props.isArrow, text = props.text, subText = props.subText, arrowBoxSize = props.arrowBoxSize, palette = props.palette, onHover = props.onHover, position = props.position, className = props.className, iconName = props.iconName, iconSize = props.iconSize, dataTitle = props.dataTitle, isDisabled = props.isDisabled, isPopupOpen = props.isPopupOpen, removeClose = props.removeClose, children = props.children, dropBoxClass = props.dropBoxClass, isBoxPaddingNeed = props.isBoxPaddingNeed, getContainerRef = props.getContainerRef, getTargetRef = props.getTargetRef, removeChildrenTooltip = props.removeChildrenTooltip, innerClassName = props.innerClassName, popupGroup = props.popupGroup, togglePopup = props.togglePopup, defaultPosition = props.defaultPosition, openPopupOnly = props.openPopupOnly, isAbsolutePositioningNeeded = props.isAbsolutePositioningNeeded, isRestrictScroll = props.isRestrictScroll, positionsOffset = props.positionsOffset, targetOffset = props.targetOffset; var handleTogglePopup = function handleTogglePopup(e) { togglePopup(e, defaultPosition); }; var handlePopupOpen = function handlePopupOpen(e) { openPopupOnly(e, defaultPosition); }; return /*#__PURE__*/_react["default"].createElement(_Layout.Container, { alignBox: "row", isCover: false, className: " ".concat(_ActionButtonModule["default"].container, " ").concat(_ActionButtonModule["default"][palette + 'Box'], " ").concat(_ActionButtonModule["default"][size], " ").concat(className, " ").concat(isDisabled ? (0, _CssProvider["default"])('isDisabled') : '', " ").concat(!onClick ? _ActionButtonModule["default"].wholeDiv : '', " "), onClick: onHover ? removeClose : !onClick ? handleTogglePopup : undefined, onMouseEnter: !onClick ? onHover && handleTogglePopup : undefined, onMouseLeave: !onClick ? onHover && handleTogglePopup : undefined, eleRef: getTargetRef, dataSelectorId: dataSelectorId, dataId: "".concat(dataId, "_actionButton") }, isLoading ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, { flexible: true }, /*#__PURE__*/_react["default"].createElement(_Button["default"], { status: "loading", palette: palette, size: "medium", customClass: { customButton: _ActionButtonModule["default"].btn }, text: text })) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_Layout.Box, { flexible: true, onClick: onClick, dataId: dataId, className: "".concat(_semanticButtonModule["default"].buttonReset, " ").concat(_ActionButtonModule["default"].contentBox, " ").concat(_ActionButtonModule["default"][palette + 'Btn'], " ").concat(_ActionButtonModule["default"][size + '_btnBox'], " ").concat(children ? _ActionButtonModule["default"].contentBoxBdr : _ActionButtonModule["default"].contentBoxBdrRds, " ").concat(_ActionButtonModule["default"].clickable, " ").concat(innerClassName, " "), "data-title": dataTitle, tagName: "button", tabIndex: "0" }, /*#__PURE__*/_react["default"].createElement(_Layout.Container, { align: "both" }, /*#__PURE__*/_react["default"].createElement(_Layout.Box, { className: _ActionButtonModule["default"].contentwrapper }, /*#__PURE__*/_react["default"].createElement(_Layout.Container, { isCover: false, alignBox: "row", align: "vertical" }, iconName ? /*#__PURE__*/_react["default"].createElement(_icons.Icon, { name: iconName, size: iconSize, iconClass: "".concat(_ActionButtonModule["default"].iconClr, " ").concat(text ? _ActionButtonModule["default"].iconMrgn : '') }) : null, text ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, { shrink: true, className: _ActionButtonModule["default"].txt, "data-title": removeChildrenTooltip ? null : text }, text) : null)), subText ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, { "data-title": removeChildrenTooltip ? null : subText, className: _ActionButtonModule["default"].subTxt }, subText) : null)), children ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, { onClick: onClick && !onHover ? handleTogglePopup : handlePopupOpen, onMouseEnter: onClick ? onHover && handleTogglePopup : undefined, onMouseLeave: onClick ? onHover && handleTogglePopup : undefined, className: "".concat(_semanticButtonModule["default"].buttonReset, " ").concat(_ActionButtonModule["default"][arrowBoxSize + '_arrowBox'], " ").concat(_ActionButtonModule["default"][palette + 'Arw'], " ").concat(_ActionButtonModule["default"].arrowWrapper, " ").concat(isPopupOpen ? _ActionButtonModule["default"].arrowActive : ''), dataId: "".concat(dataId, "_arrowButton"), tabIndex: "0", tagName: "button", dataSelectorId: "".concat(dataSelectorId, "_arrowButton") }, /*#__PURE__*/_react["default"].createElement(_Layout.Container, { align: "both" }, /*#__PURE__*/_react["default"].createElement(_icons.Icon, { name: "ZD-down", size: "6", iconClass: _ActionButtonModule["default"].arrow })), isPopupOpen ? /*#__PURE__*/_react["default"].createElement(_ResponsiveDropBox["default"], { size: "small", isActive: isPopupOpen, boxPosition: position, isAnimate: true, isArrow: isArrow, customClass: { customDropBoxWrap: dropBoxClass }, isBoxPaddingNeed: isBoxPaddingNeed, getRef: getContainerRef, popupGroup: popupGroup, needFocusScope: true, onClose: handleTogglePopup, dataId: "".concat(dataId, "_dropbox"), isAbsolutePositioningNeeded: isAbsolutePositioningNeeded, isRestrictScroll: isRestrictScroll, positionsOffset: positionsOffset, targetOffset: targetOffset }, /*#__PURE__*/_react["default"].createElement(_Layout.Box, { flexible: true, shrink: true, scroll: "vertical" }, children)) : null) : null)); } ActionButton.defaultProps = _defaultProps.defaultProps; ActionButton.propTypes = _propTypes.propTypes; var ActionButtonComponent = (0, _Popup["default"])(ActionButton); ActionButtonComponent.defaultProps = _defaultProps.defaultProps; ActionButtonComponent.propTypes = _propTypes.propTypes; // ActionButton.docs = { // componentGroup: 'Atom' // }; var _default = ActionButtonComponent; exports["default"] = _default;