@pisell/materials 1.0.967 → 1.0.968
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lowcode/assets-daily.json +11 -11
- package/build/lowcode/assets-dev.json +2 -2
- package/build/lowcode/assets-prod.json +11 -11
- package/build/lowcode/index.js +1 -1
- package/build/lowcode/meta.js +7 -7
- package/build/lowcode/preview.js +144 -160
- package/build/lowcode/render/default/view.css +1 -1
- package/build/lowcode/render/default/view.js +30 -39
- package/build/lowcode/view.css +1 -1
- package/build/lowcode/view.js +30 -39
- package/es/components/PisellProcedure/PisellProcedure.js +345 -0
- package/es/components/PisellProcedure/PisellProcedure.less +376 -0
- package/es/components/PisellProcedure/components/ProcedureAction.js +93 -0
- package/es/components/PisellProcedure/components/ProcedureContent.js +47 -0
- package/es/components/PisellProcedure/components/ProcedureHeader.js +86 -0
- package/es/components/PisellProcedure/components/ProcedureSummary.js +99 -0
- package/es/components/PisellProcedure/hooks/useResponsive.js +56 -0
- package/es/components/PisellProcedure/index.js +8 -0
- package/es/components/PisellProcedure/types.js +1 -0
- package/es/components/PisellSteps/PisellSteps.js +200 -0
- package/es/components/PisellSteps/PisellSteps.less +457 -0
- package/es/components/PisellSteps/index.js +5 -0
- package/es/components/PisellSteps/types.js +1 -0
- package/es/components/Template/[ComponentName].js +1 -0
- package/es/components/Template/[ComponentName].less +1 -0
- package/es/components/Template/index.js +1 -0
- package/es/components/Template/types.js +0 -0
- package/es/components/dataSourceComponents/dataSourceForm/BaseForm.js +4 -2
- package/es/components/dataSourceComponents/dataSourceForm/provider/formSetting/FormSettingProvider.js +5 -3
- package/es/components/dataSourceComponents/dataSourceForm/submitButton/index.js +25 -10
- package/es/components/dataSourceComponents/fields/Input.Subdomain/index.d.ts +1 -1
- package/es/components/dataSourceComponents/fields/index.d.ts +11 -11
- package/es/components/pisellWalletPassCard/index.js +4 -3
- package/es/components/walletCard/index.js +5 -4
- package/es/index.js +2 -0
- package/lib/components/PisellProcedure/PisellProcedure.js +264 -0
- package/lib/components/PisellProcedure/PisellProcedure.less +376 -0
- package/lib/components/PisellProcedure/components/ProcedureAction.js +86 -0
- package/lib/components/PisellProcedure/components/ProcedureContent.js +60 -0
- package/lib/components/PisellProcedure/components/ProcedureHeader.js +115 -0
- package/lib/components/PisellProcedure/components/ProcedureSummary.js +96 -0
- package/lib/components/PisellProcedure/hooks/useResponsive.js +63 -0
- package/lib/components/PisellProcedure/index.js +42 -0
- package/lib/components/PisellProcedure/types.js +17 -0
- package/lib/components/PisellSteps/PisellSteps.js +169 -0
- package/lib/components/PisellSteps/PisellSteps.less +457 -0
- package/lib/components/PisellSteps/index.js +41 -0
- package/lib/components/PisellSteps/types.js +17 -0
- package/lib/components/Template/[ComponentName].js +0 -0
- package/lib/components/Template/[ComponentName].less +1 -0
- package/lib/components/Template/index.js +0 -0
- package/lib/components/Template/types.js +0 -0
- package/lib/components/dataSourceComponents/dataSourceForm/BaseForm.js +3 -1
- package/lib/components/dataSourceComponents/dataSourceForm/provider/formSetting/FormSettingProvider.js +5 -3
- package/lib/components/dataSourceComponents/dataSourceForm/submitButton/index.js +7 -1
- package/lib/components/dataSourceComponents/fields/Input.Subdomain/index.d.ts +1 -1
- package/lib/components/dataSourceComponents/fields/index.d.ts +11 -11
- package/lib/components/pisellWalletPassCard/index.js +4 -3
- package/lib/components/walletCard/index.js +5 -4
- package/lib/index.js +6 -0
- package/lowcode/data-source-form/meta.ts +18 -1
- package/lowcode/pisell-procedure/meta.ts +483 -0
- package/lowcode/pisell-procedure/snippets.ts +230 -0
- package/lowcode/pisell-steps/meta.ts +307 -0
- package/lowcode/pisell-steps/snippets.ts +160 -0
- package/package.json +3 -3
- package/es/components/dataSourceComponents/dataSourceForm/provider/formSetting/FormSettingContext.d.ts +0 -15
- package/es/components/dataSourceComponents/dataSourceForm/provider/formSetting/FormSettingProvider.d.ts +0 -8
- package/es/components/dataSourceComponents/dataSourceForm/type.d.ts +0 -31
- package/es/components/dataSourceComponents/dataSourceTable/filter/index.d.ts +0 -27
- package/es/components/dataSourceComponents/dataSourceTable/hooks/useTableQuery.d.ts +0 -33
- package/es/components/dataSourceComponents/fields/Input.Mobile/WithMode.d.ts +0 -17
- package/es/components/dataSourceComponents/fields/Input.Phone/WithMode.d.ts +0 -16
- package/es/components/dataSourceComponents/fields/Upload/BaseUpload.d.ts +0 -5
- package/es/components/dataSourceComponents/fields/Upload/CameraPopover.d.ts +0 -5
- package/es/components/dataSourceComponents/fields/Upload/type.d.ts +0 -38
- package/es/components/filter/types.d.ts +0 -46
- package/es/components/pisellCamera/index.d.ts +0 -4
- package/es/components/table/Actions/index.d.ts +0 -17
- package/es/components/virtual-keyboard/Amount/index.d.ts +0 -5
- package/lib/components/dataSourceComponents/dataSourceForm/provider/formSetting/FormSettingContext.d.ts +0 -15
- package/lib/components/dataSourceComponents/dataSourceForm/provider/formSetting/FormSettingProvider.d.ts +0 -8
- package/lib/components/dataSourceComponents/dataSourceForm/type.d.ts +0 -31
- package/lib/components/dataSourceComponents/dataSourceTable/filter/index.d.ts +0 -27
- package/lib/components/dataSourceComponents/dataSourceTable/hooks/useTableQuery.d.ts +0 -33
- package/lib/components/dataSourceComponents/fields/Input.Mobile/WithMode.d.ts +0 -17
- package/lib/components/dataSourceComponents/fields/Input.Phone/WithMode.d.ts +0 -16
- package/lib/components/dataSourceComponents/fields/Upload/BaseUpload.d.ts +0 -5
- package/lib/components/dataSourceComponents/fields/Upload/CameraPopover.d.ts +0 -5
- package/lib/components/dataSourceComponents/fields/Upload/type.d.ts +0 -38
- package/lib/components/filter/types.d.ts +0 -46
- package/lib/components/pisellCamera/index.d.ts +0 -4
- package/lib/components/table/Actions/index.d.ts +0 -17
- package/lib/components/virtual-keyboard/Amount/index.d.ts +0 -5
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
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); }
|
|
2
|
+
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
|
3
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
4
|
+
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
5
|
+
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; }
|
|
6
|
+
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; }
|
|
7
|
+
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; }
|
|
8
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
9
|
+
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); }
|
|
10
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
11
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
12
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
13
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
14
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
15
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
16
|
+
import React, { useEffect, useState, useMemo, useCallback } from 'react';
|
|
17
|
+
import classNames from 'classnames';
|
|
18
|
+
import ProcedureHeader from "./components/ProcedureHeader";
|
|
19
|
+
import ProcedureContent from "./components/ProcedureContent";
|
|
20
|
+
import ProcedureSummary from "./components/ProcedureSummary";
|
|
21
|
+
import ProcedureAction from "./components/ProcedureAction";
|
|
22
|
+
import { useResponsive } from "./hooks/useResponsive";
|
|
23
|
+
import "./PisellProcedure.less";
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* PisellProcedure 流程容器组件
|
|
27
|
+
* 用于管理多步骤流程,集成步骤导航、内容操作、实时信息反馈和动作执行功能
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```tsx
|
|
31
|
+
* <PisellProcedure
|
|
32
|
+
* current={current}
|
|
33
|
+
* steps={[
|
|
34
|
+
* { title: '选择服务' },
|
|
35
|
+
* { title: '填写信息' },
|
|
36
|
+
* { title: '确认订单' },
|
|
37
|
+
* ]}
|
|
38
|
+
* onStepChange={handleStepChange}
|
|
39
|
+
* contentRender={(current) => <Content step={current} />}
|
|
40
|
+
* summaryRender={(current) => <Summary step={current} />}
|
|
41
|
+
* actions={[
|
|
42
|
+
* { key: 'next', label: '下一步', type: 'primary', onClick: handleNext },
|
|
43
|
+
* ]}
|
|
44
|
+
* />
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
var PisellProcedure = function PisellProcedure(_ref) {
|
|
48
|
+
var controlledCurrent = _ref.current,
|
|
49
|
+
steps = _ref.steps,
|
|
50
|
+
onStepChange = _ref.onStepChange,
|
|
51
|
+
onClose = _ref.onClose,
|
|
52
|
+
onPrev = _ref.onPrev,
|
|
53
|
+
contentRender = _ref.contentRender,
|
|
54
|
+
summaryRender = _ref.summaryRender,
|
|
55
|
+
_ref$actions = _ref.actions,
|
|
56
|
+
actions = _ref$actions === void 0 ? [] : _ref$actions,
|
|
57
|
+
_ref$layout = _ref.layout,
|
|
58
|
+
layout = _ref$layout === void 0 ? 'vertical' : _ref$layout,
|
|
59
|
+
_ref$bodyLayout = _ref.bodyLayout,
|
|
60
|
+
bodyLayout = _ref$bodyLayout === void 0 ? 'horizontal' : _ref$bodyLayout,
|
|
61
|
+
_ref$contentWidth = _ref.contentWidth,
|
|
62
|
+
contentWidth = _ref$contentWidth === void 0 ? 'auto' : _ref$contentWidth,
|
|
63
|
+
_ref$summaryWidth = _ref.summaryWidth,
|
|
64
|
+
summaryWidth = _ref$summaryWidth === void 0 ? 405 : _ref$summaryWidth,
|
|
65
|
+
_ref$showHeader = _ref.showHeader,
|
|
66
|
+
showHeader = _ref$showHeader === void 0 ? true : _ref$showHeader,
|
|
67
|
+
_ref$showSummary = _ref.showSummary,
|
|
68
|
+
showSummary = _ref$showSummary === void 0 ? true : _ref$showSummary,
|
|
69
|
+
_ref$showAction = _ref.showAction,
|
|
70
|
+
showAction = _ref$showAction === void 0 ? true : _ref$showAction,
|
|
71
|
+
_ref$showPrevButton = _ref.showPrevButton,
|
|
72
|
+
showPrevButton = _ref$showPrevButton === void 0 ? true : _ref$showPrevButton,
|
|
73
|
+
_ref$showCloseButton = _ref.showCloseButton,
|
|
74
|
+
showCloseButton = _ref$showCloseButton === void 0 ? true : _ref$showCloseButton,
|
|
75
|
+
_ref$headerFixed = _ref.headerFixed,
|
|
76
|
+
headerFixed = _ref$headerFixed === void 0 ? false : _ref$headerFixed,
|
|
77
|
+
_ref$actionMode = _ref.actionMode,
|
|
78
|
+
actionMode = _ref$actionMode === void 0 ? 'embedded' : _ref$actionMode,
|
|
79
|
+
_ref$actionPosition = _ref.actionPosition,
|
|
80
|
+
actionPosition = _ref$actionPosition === void 0 ? 'bottom' : _ref$actionPosition,
|
|
81
|
+
_ref$summaryCollapsib = _ref.summaryCollapsible,
|
|
82
|
+
summaryCollapsible = _ref$summaryCollapsib === void 0 ? false : _ref$summaryCollapsib,
|
|
83
|
+
_ref$summaryDefaultCo = _ref.summaryDefaultCollapsed,
|
|
84
|
+
summaryDefaultCollapsed = _ref$summaryDefaultCo === void 0 ? false : _ref$summaryDefaultCo,
|
|
85
|
+
_ref$validateOnStepCh = _ref.validateOnStepChange,
|
|
86
|
+
validateOnStepChange = _ref$validateOnStepCh === void 0 ? true : _ref$validateOnStepCh,
|
|
87
|
+
onValidate = _ref.onValidate,
|
|
88
|
+
_ref$clearOnBack = _ref.clearOnBack,
|
|
89
|
+
clearOnBack = _ref$clearOnBack === void 0 ? false : _ref$clearOnBack,
|
|
90
|
+
_ref$confirmOnDataCha = _ref.confirmOnDataChange,
|
|
91
|
+
confirmOnDataChange = _ref$confirmOnDataCha === void 0 ? true : _ref$confirmOnDataCha,
|
|
92
|
+
headerClassName = _ref.headerClassName,
|
|
93
|
+
headerStyle = _ref.headerStyle,
|
|
94
|
+
contentClassName = _ref.contentClassName,
|
|
95
|
+
contentStyle = _ref.contentStyle,
|
|
96
|
+
summaryClassName = _ref.summaryClassName,
|
|
97
|
+
summaryStyle = _ref.summaryStyle,
|
|
98
|
+
actionClassName = _ref.actionClassName,
|
|
99
|
+
actionStyle = _ref.actionStyle,
|
|
100
|
+
className = _ref.className,
|
|
101
|
+
style = _ref.style,
|
|
102
|
+
headerExtra = _ref.headerExtra,
|
|
103
|
+
summaryExtra = _ref.summaryExtra,
|
|
104
|
+
actionExtra = _ref.actionExtra,
|
|
105
|
+
stepsProps = _ref.stepsProps,
|
|
106
|
+
prevButtonProps = _ref.prevButtonProps,
|
|
107
|
+
closeButtonProps = _ref.closeButtonProps,
|
|
108
|
+
_ref$loading = _ref.loading,
|
|
109
|
+
loading = _ref$loading === void 0 ? false : _ref$loading,
|
|
110
|
+
_ref$disabled = _ref.disabled,
|
|
111
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled;
|
|
112
|
+
// ========== 状态管理 ==========
|
|
113
|
+
|
|
114
|
+
// 当前步骤索引(非受控模式)
|
|
115
|
+
var _useState = useState(0),
|
|
116
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
117
|
+
internalCurrent = _useState2[0],
|
|
118
|
+
setInternalCurrent = _useState2[1];
|
|
119
|
+
var current = controlledCurrent !== null && controlledCurrent !== void 0 ? controlledCurrent : internalCurrent;
|
|
120
|
+
|
|
121
|
+
// 加载状态
|
|
122
|
+
var _useState3 = useState(false),
|
|
123
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
124
|
+
isLoading = _useState4[0],
|
|
125
|
+
setIsLoading = _useState4[1];
|
|
126
|
+
|
|
127
|
+
// 信息总结区折叠状态
|
|
128
|
+
var _useState5 = useState(summaryDefaultCollapsed),
|
|
129
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
130
|
+
summaryCollapsed = _useState6[0],
|
|
131
|
+
setSummaryCollapsed = _useState6[1];
|
|
132
|
+
|
|
133
|
+
// 响应式断点
|
|
134
|
+
var responsive = useResponsive();
|
|
135
|
+
var isMobile = responsive.sm; // < 744px
|
|
136
|
+
|
|
137
|
+
// ========== 计算属性 ==========
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* 合并后的加载状态
|
|
141
|
+
*/
|
|
142
|
+
var mergedLoading = loading || isLoading;
|
|
143
|
+
useEffect(function () {
|
|
144
|
+
document.body.id = 'body';
|
|
145
|
+
}, []);
|
|
146
|
+
/**
|
|
147
|
+
* 是否显示信息总结区(移动端特殊处理)
|
|
148
|
+
*/
|
|
149
|
+
var showSummaryArea = useMemo(function () {
|
|
150
|
+
return showSummary && !isMobile;
|
|
151
|
+
}, [showSummary, isMobile]);
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* 主体区域样式
|
|
155
|
+
*/
|
|
156
|
+
var bodyStyle = useMemo(function () {
|
|
157
|
+
var baseStyle = {
|
|
158
|
+
flexDirection: bodyLayout === 'vertical' ? 'column' : 'row'
|
|
159
|
+
};
|
|
160
|
+
return baseStyle;
|
|
161
|
+
}, [bodyLayout]);
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* 内容区样式
|
|
165
|
+
*/
|
|
166
|
+
var mergedContentStyle = useMemo(function () {
|
|
167
|
+
var baseStyle = _objectSpread({}, contentStyle);
|
|
168
|
+
if (contentWidth !== 'auto') {
|
|
169
|
+
baseStyle.width = typeof contentWidth === 'number' ? "".concat(contentWidth, "px") : contentWidth;
|
|
170
|
+
}
|
|
171
|
+
return baseStyle;
|
|
172
|
+
}, [contentStyle, contentWidth]);
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* 信息总结区样式
|
|
176
|
+
*/
|
|
177
|
+
var mergedSummaryStyle = useMemo(function () {
|
|
178
|
+
var baseStyle = _objectSpread({}, summaryStyle);
|
|
179
|
+
if (summaryWidth) {
|
|
180
|
+
baseStyle.width = typeof summaryWidth === 'number' ? "".concat(summaryWidth, "px") : summaryWidth;
|
|
181
|
+
}
|
|
182
|
+
return baseStyle;
|
|
183
|
+
}, [summaryStyle, summaryWidth]);
|
|
184
|
+
|
|
185
|
+
// ========== 事件处理 ==========
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* 处理步骤切换
|
|
189
|
+
*/
|
|
190
|
+
var handleStepChange = useCallback( /*#__PURE__*/function () {
|
|
191
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(nextStep) {
|
|
192
|
+
var isValid;
|
|
193
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
194
|
+
while (1) switch (_context.prev = _context.next) {
|
|
195
|
+
case 0:
|
|
196
|
+
if (!(validateOnStepChange && onValidate)) {
|
|
197
|
+
_context.next = 16;
|
|
198
|
+
break;
|
|
199
|
+
}
|
|
200
|
+
setIsLoading(true);
|
|
201
|
+
_context.prev = 2;
|
|
202
|
+
_context.next = 5;
|
|
203
|
+
return onValidate(current);
|
|
204
|
+
case 5:
|
|
205
|
+
isValid = _context.sent;
|
|
206
|
+
if (isValid) {
|
|
207
|
+
_context.next = 9;
|
|
208
|
+
break;
|
|
209
|
+
}
|
|
210
|
+
setIsLoading(false);
|
|
211
|
+
return _context.abrupt("return");
|
|
212
|
+
case 9:
|
|
213
|
+
_context.next = 16;
|
|
214
|
+
break;
|
|
215
|
+
case 11:
|
|
216
|
+
_context.prev = 11;
|
|
217
|
+
_context.t0 = _context["catch"](2);
|
|
218
|
+
console.error('Validation error:', _context.t0);
|
|
219
|
+
setIsLoading(false);
|
|
220
|
+
return _context.abrupt("return");
|
|
221
|
+
case 16:
|
|
222
|
+
_context.prev = 16;
|
|
223
|
+
_context.next = 19;
|
|
224
|
+
return onStepChange === null || onStepChange === void 0 ? void 0 : onStepChange(nextStep);
|
|
225
|
+
case 19:
|
|
226
|
+
_context.next = 26;
|
|
227
|
+
break;
|
|
228
|
+
case 21:
|
|
229
|
+
_context.prev = 21;
|
|
230
|
+
_context.t1 = _context["catch"](16);
|
|
231
|
+
console.error('Step change error:', _context.t1);
|
|
232
|
+
setIsLoading(false);
|
|
233
|
+
return _context.abrupt("return");
|
|
234
|
+
case 26:
|
|
235
|
+
// 3. 更新当前步骤
|
|
236
|
+
if (controlledCurrent === undefined) {
|
|
237
|
+
setInternalCurrent(nextStep);
|
|
238
|
+
}
|
|
239
|
+
setIsLoading(false);
|
|
240
|
+
case 28:
|
|
241
|
+
case "end":
|
|
242
|
+
return _context.stop();
|
|
243
|
+
}
|
|
244
|
+
}, _callee, null, [[2, 11], [16, 21]]);
|
|
245
|
+
}));
|
|
246
|
+
return function (_x) {
|
|
247
|
+
return _ref2.apply(this, arguments);
|
|
248
|
+
};
|
|
249
|
+
}(), [current, controlledCurrent, validateOnStepChange, onValidate, onStepChange]);
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* 处理上一步按钮点击
|
|
253
|
+
*/
|
|
254
|
+
var handlePrev = useCallback(function () {
|
|
255
|
+
if (current > 0) {
|
|
256
|
+
if (onPrev) {
|
|
257
|
+
onPrev();
|
|
258
|
+
} else {
|
|
259
|
+
handleStepChange(current - 1);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}, [current, onPrev, handleStepChange]);
|
|
263
|
+
|
|
264
|
+
/**
|
|
265
|
+
* 处理关闭按钮点击
|
|
266
|
+
*/
|
|
267
|
+
var handleClose = useCallback(function () {
|
|
268
|
+
onClose === null || onClose === void 0 || onClose();
|
|
269
|
+
}, [onClose]);
|
|
270
|
+
|
|
271
|
+
/**
|
|
272
|
+
* 处理信息总结区折叠状态改变
|
|
273
|
+
*/
|
|
274
|
+
var handleSummaryCollapseChange = useCallback(function (collapsed) {
|
|
275
|
+
setSummaryCollapsed(collapsed);
|
|
276
|
+
}, []);
|
|
277
|
+
|
|
278
|
+
// ========== 样式类名 ==========
|
|
279
|
+
|
|
280
|
+
var mergedClassName = useMemo(function () {
|
|
281
|
+
return classNames('pisell-procedure', "pisell-procedure-layout-".concat(layout), "pisell-procedure-body-".concat(bodyLayout), {
|
|
282
|
+
'pisell-procedure-loading': mergedLoading,
|
|
283
|
+
'pisell-procedure-disabled': disabled,
|
|
284
|
+
'pisell-procedure-mobile': isMobile,
|
|
285
|
+
'pisell-procedure-header-fixed': headerFixed,
|
|
286
|
+
'pisell-procedure-action-float': actionMode === 'float',
|
|
287
|
+
'pisell-procedure-action-embedded': actionMode === 'embedded'
|
|
288
|
+
}, className);
|
|
289
|
+
}, [layout, bodyLayout, mergedLoading, disabled, isMobile, headerFixed, actionMode, className]);
|
|
290
|
+
|
|
291
|
+
// ========== 渲染 ==========
|
|
292
|
+
|
|
293
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
294
|
+
className: mergedClassName,
|
|
295
|
+
style: style
|
|
296
|
+
}, showHeader && /*#__PURE__*/React.createElement(ProcedureHeader, {
|
|
297
|
+
current: current,
|
|
298
|
+
steps: steps,
|
|
299
|
+
stepsProps: stepsProps,
|
|
300
|
+
showPrevButton: showPrevButton,
|
|
301
|
+
showCloseButton: showCloseButton,
|
|
302
|
+
onPrev: handlePrev,
|
|
303
|
+
onClose: handleClose,
|
|
304
|
+
onStepClick: handleStepChange,
|
|
305
|
+
headerExtra: headerExtra,
|
|
306
|
+
prevButtonProps: prevButtonProps,
|
|
307
|
+
closeButtonProps: closeButtonProps,
|
|
308
|
+
fixed: headerFixed,
|
|
309
|
+
className: headerClassName,
|
|
310
|
+
style: headerStyle,
|
|
311
|
+
disabled: disabled || mergedLoading
|
|
312
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
313
|
+
className: "pisell-procedure-body",
|
|
314
|
+
style: bodyStyle
|
|
315
|
+
}, /*#__PURE__*/React.createElement(ProcedureContent, {
|
|
316
|
+
current: current,
|
|
317
|
+
contentRender: contentRender,
|
|
318
|
+
className: contentClassName,
|
|
319
|
+
style: mergedContentStyle,
|
|
320
|
+
loading: mergedLoading
|
|
321
|
+
}), showSummaryArea && summaryRender && /*#__PURE__*/React.createElement(ProcedureSummary, {
|
|
322
|
+
current: current,
|
|
323
|
+
summaryRender: summaryRender,
|
|
324
|
+
collapsible: summaryCollapsible,
|
|
325
|
+
defaultCollapsed: summaryDefaultCollapsed,
|
|
326
|
+
onCollapseChange: handleSummaryCollapseChange,
|
|
327
|
+
summaryExtra: summaryExtra,
|
|
328
|
+
className: summaryClassName,
|
|
329
|
+
style: mergedSummaryStyle,
|
|
330
|
+
visible: !summaryCollapsed
|
|
331
|
+
})), showAction && actions.length > 0 && /*#__PURE__*/React.createElement(ProcedureAction, {
|
|
332
|
+
actions: actions,
|
|
333
|
+
mode: actionMode,
|
|
334
|
+
position: actionPosition,
|
|
335
|
+
actionExtra: actionExtra,
|
|
336
|
+
className: actionClassName,
|
|
337
|
+
style: actionStyle,
|
|
338
|
+
disabled: disabled,
|
|
339
|
+
loading: mergedLoading
|
|
340
|
+
}));
|
|
341
|
+
};
|
|
342
|
+
|
|
343
|
+
// 为组件添加显示名称,便于调试
|
|
344
|
+
PisellProcedure.displayName = 'PisellProcedure';
|
|
345
|
+
export default PisellProcedure;
|