UNPKG

@spaced-out/ui-design-system

Version:
96 lines (95 loc) 4.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.StageArrow = exports.STAGE_ARROW_TYPE = void 0; var React = _interopRequireWildcard(require("react")); var _classify = _interopRequireDefault(require("../../../utils/classify")); var _qa = require("../../../utils/qa"); var _Button = require("../../Button"); var _ConditionalWrapper = require("../../ConditionalWrapper/ConditionalWrapper"); var _Icon = require("../../Icon"); var _Tooltip = require("../../Tooltip/Tooltip"); var _Truncate = require("../../Truncate"); var _StageArrowModule = _interopRequireDefault(require("./StageArrow.module.css")); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); } const STAGE_ARROW_TYPE = exports.STAGE_ARROW_TYPE = Object.freeze({ primary: 'primary', danger: 'danger', success: 'success', warning: 'warning', information: 'information' }); const StageArrow = exports.StageArrow = /*#__PURE__*/React.forwardRef((_ref, ref) => { let { id, classNames, disabled = false, onStageArrowClick, isEndStageArrow = false, isStartStageArrow = false, type = 'primary', iconLeftName = '', iconLeftType = 'solid', iconRightName = '', iconRightType = 'solid', children, tooltip, testId, locked = false, ...props } = _ref; const isInBetweenStageArrow = !isStartStageArrow && !isEndStageArrow; const iconColor = disabled ? 'disabled' : 'primary'; const hasTooltip = tooltip && typeof tooltip === 'object' && Object.keys(tooltip).length > 0; return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ConditionalWrapper.ConditionalWrapper, { condition: hasTooltip, wrapper: children => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.Tooltip, { ...tooltip, children: children }), children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.UnstyledButton, { ...props, ref: ref, testId: (0, _qa.generateTestId)({ base: testId, slot: 'stage-arrow-button' }), disabled: disabled, className: (0, _classify.default)(_StageArrowModule.default.stageArrowButton, { [_StageArrowModule.default.locked]: locked, [_StageArrowModule.default.primary]: type === STAGE_ARROW_TYPE.primary, [_StageArrowModule.default.danger]: type === STAGE_ARROW_TYPE.danger, [_StageArrowModule.default.success]: type === STAGE_ARROW_TYPE.success, [_StageArrowModule.default.warning]: type === STAGE_ARROW_TYPE.warning, [_StageArrowModule.default.information]: type === STAGE_ARROW_TYPE.information, [_StageArrowModule.default.endStageArrow]: isEndStageArrow, [_StageArrowModule.default.startStageArrow]: isStartStageArrow, [_StageArrowModule.default.inBetweenStageArrow]: isInBetweenStageArrow, [_StageArrowModule.default.disabled]: disabled }, classNames?.wrapper), onClick: e => !locked && !disabled && onStageArrowClick && onStageArrowClick(id, e), children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", { className: _StageArrowModule.default.stageArrowRow, children: [iconLeftName && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.Icon, { size: "small", color: iconColor, name: iconLeftName, type: iconLeftType, className: (0, _classify.default)(_StageArrowModule.default.stageArrowLeftIcon, classNames?.icon) }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Truncate.Truncate, { className: _StageArrowModule.default.stageArrowText, children: children }), (iconRightName || locked) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.Icon, { size: "small", color: iconColor, name: locked ? 'lock' : iconRightName, type: locked ? 'regular' : iconRightType, className: (0, _classify.default)(_StageArrowModule.default.stageArrowRightIcon, classNames?.icon) })] }) }) }); });