UNPKG

linkmore-design

Version:

🌈 πŸš€lmη»„δ»ΆεΊ“γ€‚πŸš€

115 lines (114 loc) β€’ 4.46 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _react = _interopRequireDefault(require("react")); var _classnames = _interopRequireDefault(require("classnames")); var _CloseOutlined = _interopRequireDefault(require("@ant-design/icons/CloseOutlined")); var _LocaleReceiver = _interopRequireDefault(require("../locale-provider/LocaleReceiver")); var _button = _interopRequireDefault(require("../button")); var _en_US = _interopRequireDefault(require("../locale/en_US")); const panelRender = (props, current, type) => { const { prefixCls, total = 1, title, onClose, onPrev, onNext, onFinish, cover, description, nextButtonProps, prevButtonProps, stepRender, type: stepType, arrow, className } = props; const mergedType = typeof stepType !== 'undefined' ? stepType : type; const isLastStep = current === total - 1; const prevBtnClick = () => { onPrev?.(); if (typeof prevButtonProps?.onClick === 'function') { prevButtonProps?.onClick(); } }; const nextBtnClick = () => { if (isLastStep) { onFinish?.(); } else { onNext?.(); } if (typeof nextButtonProps?.onClick === 'function') { nextButtonProps?.onClick(); } }; let headerNode; if (title) { headerNode = /*#__PURE__*/_react.default.createElement("div", { className: `${prefixCls}-header` }, /*#__PURE__*/_react.default.createElement("div", { className: `${prefixCls}-title` }, title)); } let descriptionNode; if (description) { descriptionNode = /*#__PURE__*/_react.default.createElement("div", { className: `${prefixCls}-description` }, description); } let coverNode; if (cover) { coverNode = /*#__PURE__*/_react.default.createElement("div", { className: `${prefixCls}-cover` }, cover); } const mergedSlickNode = typeof stepRender === 'function' && stepRender(current, total) || [...Array.from({ length: total }).keys()].map((stepItem, index) => /*#__PURE__*/_react.default.createElement("span", { key: stepItem, className: (0, _classnames.default)(index === current && `${prefixCls}-slider-active`, `${prefixCls}-slider`) })); const slickNode = total > 1 ? mergedSlickNode : null; const mainBtnType = mergedType === 'primary' ? 'default' : 'primary'; const secondaryBtnProps = { type: 'default', ghost: mergedType === 'primary' }; return /*#__PURE__*/_react.default.createElement(_LocaleReceiver.default, { componentName: "Tour", defaultLocale: _en_US.default.Tour }, contextLocale => /*#__PURE__*/_react.default.createElement("div", { className: (0, _classnames.default)(mergedType === 'primary' ? `${prefixCls}-primary` : '', className, `${prefixCls}-content`) }, arrow && /*#__PURE__*/_react.default.createElement("div", { className: `${prefixCls}-arrow`, key: "arrow" }), /*#__PURE__*/_react.default.createElement("div", { className: `${prefixCls}-inner` }, /*#__PURE__*/_react.default.createElement(_CloseOutlined.default, { className: `${prefixCls}-close`, onClick: onClose }), coverNode, headerNode, descriptionNode, /*#__PURE__*/_react.default.createElement("div", { className: `${prefixCls}-footer` }, /*#__PURE__*/_react.default.createElement("div", { className: `${prefixCls}-sliders` }, slickNode), /*#__PURE__*/_react.default.createElement("div", { className: `${prefixCls}-buttons` }, current !== 0 ? /*#__PURE__*/_react.default.createElement(_button.default, (0, _extends2.default)({}, secondaryBtnProps, prevButtonProps, { onClick: prevBtnClick, size: "small", className: (0, _classnames.default)(`${prefixCls}-prev-btn`, prevButtonProps?.className) }), prevButtonProps?.children ?? contextLocale.Previous) : null, /*#__PURE__*/_react.default.createElement(_button.default, (0, _extends2.default)({ type: mainBtnType }, nextButtonProps, { onClick: nextBtnClick, size: "small", className: (0, _classnames.default)(`${prefixCls}-next-btn`, nextButtonProps?.className) }), nextButtonProps?.children ?? (isLastStep ? contextLocale.Finish : contextLocale.Next))))))); }; var _default = panelRender; exports.default = _default;