UNPKG

@oceanbase/ui

Version:

The UI library based on OceanBase Design

171 lines 8.49 kB
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } var _excluded = ["title", "description", "bgImage", "introduces", "buttonText", "buttonProps", "steps", "stepType", "helps", "locale", "className"]; function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); } function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } import { PlusOutlined } from '@oceanbase/icons'; import { Button, Card, Col, Row } from '@oceanbase/design'; import classNames from 'classnames'; import React from 'react'; import LocaleWrapper from "../locale/LocaleWrapper"; import { directTo, getPrefix } from "../_util"; import "./index.less"; import zhCN from "./locale/zh-CN"; import Step from "./step"; import { jsx as _jsx } from "react/jsx-runtime"; import { jsxs as _jsxs } from "react/jsx-runtime"; var prefix = getPrefix('welcome'); var Welcome = function Welcome(_ref) { var title = _ref.title, description = _ref.description, bgImage = _ref.bgImage, _ref$introduces = _ref.introduces, introduces = _ref$introduces === void 0 ? [] : _ref$introduces, buttonText = _ref.buttonText, buttonProps = _ref.buttonProps, _ref$steps = _ref.steps, steps = _ref$steps === void 0 ? [] : _ref$steps, _ref$stepType = _ref.stepType, stepType = _ref$stepType === void 0 ? 'default' : _ref$stepType, _ref$helps = _ref.helps, helps = _ref$helps === void 0 ? [] : _ref$helps, locale = _ref.locale, className = _ref.className, restProps = _objectWithoutProperties(_ref, _excluded); var isDefault = stepType === 'default'; var renderStep = function renderStep(item, index) { var DefaultStep = function DefaultStep() { return /*#__PURE__*/_jsxs(Col, { span: 12, "data-testid": "steps", className: "".concat(prefix, "-item"), children: [/*#__PURE__*/_jsx("div", { className: "".concat(prefix, "-order-wrapper"), children: /*#__PURE__*/_jsx("div", { className: "".concat(prefix, "-order"), children: index + 1 }) }), /*#__PURE__*/_jsxs("span", { children: [/*#__PURE__*/_jsx("h3", { className: "".concat(prefix, "-title"), children: item.title }), /*#__PURE__*/_jsx("p", { className: "".concat(prefix, "-description"), children: item.description })] })] }, item.title); }; var StepProps = { title: item.title, description: item.description, index: index + 1, imgUrl: item.imgUrl, operations: item.operations, locale: locale }; var StepItem = isDefault ? /*#__PURE__*/_jsx(DefaultStep, {}, item.title) : /*#__PURE__*/_jsx(Step, _objectSpread({ "data-testid": "steps" }, StepProps), item.title); return StepItem; }; return /*#__PURE__*/_jsxs("div", _objectSpread(_objectSpread({ className: "".concat("".concat(prefix, "-container"), " ", className) }, restProps), {}, { children: [/*#__PURE__*/_jsxs(Row, { className: "".concat(prefix, "-page-header"), style: { backgroundImage: "url(\"".concat(bgImage, "\")") }, children: [/*#__PURE__*/_jsx(Col, { span: 24, className: "".concat(prefix, "-title"), children: /*#__PURE__*/_jsx("div", { children: title }) }), /*#__PURE__*/_jsx(Col, { span: 16, className: "".concat(prefix, "-description"), children: /*#__PURE__*/_jsx("p", { children: description }) })] }), /*#__PURE__*/_jsx(Card, { bordered: false, className: "".concat(prefix, "-introduce"), children: /*#__PURE__*/_jsx(Row, { gutter: 78, children: introduces.map(function (item) { return /*#__PURE__*/_jsxs(Col, { span: 8, className: "".concat(prefix, "-item"), "data-testid": "introduces", children: [/*#__PURE__*/_jsx("img", { src: item.image, alt: "", height: 80 }), /*#__PURE__*/_jsxs("span", { children: [/*#__PURE__*/_jsx("h3", { className: "".concat(prefix, "-title"), children: item.title }), /*#__PURE__*/_jsx("p", { className: "".concat(prefix, "-description"), children: item.description })] })] }, item.image); }) }) }), /*#__PURE__*/_jsxs(Row, { className: "".concat(prefix, "-content"), children: [/*#__PURE__*/_jsx(Col, { span: 14, className: isDefault ? "".concat(prefix, "-left") : "".concat(prefix, "-border-right"), children: /*#__PURE__*/_jsxs(Row, { justify: "space-around", children: [steps.map(function (item, index) { return renderStep(item, index); }), isDefault && /*#__PURE__*/_jsx(Col, { span: 24, children: /*#__PURE__*/_jsx("div", { className: "".concat(prefix, "-btn-wrapper"), children: /*#__PURE__*/_jsx(Button, _objectSpread(_objectSpread({ size: "large", type: "primary", icon: /*#__PURE__*/_jsx(PlusOutlined, {}), block: true }, buttonProps), {}, { children: buttonText })) }) })] }) }), /*#__PURE__*/_jsxs(Col, { span: 10, className: "".concat(prefix, "-right"), children: [/*#__PURE__*/_jsx("h3", { className: "".concat(prefix, "-title"), children: locale.helpTitle }), helps.map(function (item) { return /*#__PURE__*/_jsx(Button, { shape: "round", onClick: function onClick() { directTo(item.link); }, className: classNames(_defineProperty({}, "".concat(prefix, "-more"), !!item.isMore)), "data-testid": "helps", children: item.title }, item.title); })] })] })] })); }; export default LocaleWrapper({ componentName: 'Welcome', defaultLocale: zhCN })(Welcome);