@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.
Files changed (94) hide show
  1. package/build/lowcode/assets-daily.json +11 -11
  2. package/build/lowcode/assets-dev.json +2 -2
  3. package/build/lowcode/assets-prod.json +11 -11
  4. package/build/lowcode/index.js +1 -1
  5. package/build/lowcode/meta.js +7 -7
  6. package/build/lowcode/preview.js +144 -160
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +30 -39
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +30 -39
  11. package/es/components/PisellProcedure/PisellProcedure.js +345 -0
  12. package/es/components/PisellProcedure/PisellProcedure.less +376 -0
  13. package/es/components/PisellProcedure/components/ProcedureAction.js +93 -0
  14. package/es/components/PisellProcedure/components/ProcedureContent.js +47 -0
  15. package/es/components/PisellProcedure/components/ProcedureHeader.js +86 -0
  16. package/es/components/PisellProcedure/components/ProcedureSummary.js +99 -0
  17. package/es/components/PisellProcedure/hooks/useResponsive.js +56 -0
  18. package/es/components/PisellProcedure/index.js +8 -0
  19. package/es/components/PisellProcedure/types.js +1 -0
  20. package/es/components/PisellSteps/PisellSteps.js +200 -0
  21. package/es/components/PisellSteps/PisellSteps.less +457 -0
  22. package/es/components/PisellSteps/index.js +5 -0
  23. package/es/components/PisellSteps/types.js +1 -0
  24. package/es/components/Template/[ComponentName].js +1 -0
  25. package/es/components/Template/[ComponentName].less +1 -0
  26. package/es/components/Template/index.js +1 -0
  27. package/es/components/Template/types.js +0 -0
  28. package/es/components/dataSourceComponents/dataSourceForm/BaseForm.js +4 -2
  29. package/es/components/dataSourceComponents/dataSourceForm/provider/formSetting/FormSettingProvider.js +5 -3
  30. package/es/components/dataSourceComponents/dataSourceForm/submitButton/index.js +25 -10
  31. package/es/components/dataSourceComponents/fields/Input.Subdomain/index.d.ts +1 -1
  32. package/es/components/dataSourceComponents/fields/index.d.ts +11 -11
  33. package/es/components/pisellWalletPassCard/index.js +4 -3
  34. package/es/components/walletCard/index.js +5 -4
  35. package/es/index.js +2 -0
  36. package/lib/components/PisellProcedure/PisellProcedure.js +264 -0
  37. package/lib/components/PisellProcedure/PisellProcedure.less +376 -0
  38. package/lib/components/PisellProcedure/components/ProcedureAction.js +86 -0
  39. package/lib/components/PisellProcedure/components/ProcedureContent.js +60 -0
  40. package/lib/components/PisellProcedure/components/ProcedureHeader.js +115 -0
  41. package/lib/components/PisellProcedure/components/ProcedureSummary.js +96 -0
  42. package/lib/components/PisellProcedure/hooks/useResponsive.js +63 -0
  43. package/lib/components/PisellProcedure/index.js +42 -0
  44. package/lib/components/PisellProcedure/types.js +17 -0
  45. package/lib/components/PisellSteps/PisellSteps.js +169 -0
  46. package/lib/components/PisellSteps/PisellSteps.less +457 -0
  47. package/lib/components/PisellSteps/index.js +41 -0
  48. package/lib/components/PisellSteps/types.js +17 -0
  49. package/lib/components/Template/[ComponentName].js +0 -0
  50. package/lib/components/Template/[ComponentName].less +1 -0
  51. package/lib/components/Template/index.js +0 -0
  52. package/lib/components/Template/types.js +0 -0
  53. package/lib/components/dataSourceComponents/dataSourceForm/BaseForm.js +3 -1
  54. package/lib/components/dataSourceComponents/dataSourceForm/provider/formSetting/FormSettingProvider.js +5 -3
  55. package/lib/components/dataSourceComponents/dataSourceForm/submitButton/index.js +7 -1
  56. package/lib/components/dataSourceComponents/fields/Input.Subdomain/index.d.ts +1 -1
  57. package/lib/components/dataSourceComponents/fields/index.d.ts +11 -11
  58. package/lib/components/pisellWalletPassCard/index.js +4 -3
  59. package/lib/components/walletCard/index.js +5 -4
  60. package/lib/index.js +6 -0
  61. package/lowcode/data-source-form/meta.ts +18 -1
  62. package/lowcode/pisell-procedure/meta.ts +483 -0
  63. package/lowcode/pisell-procedure/snippets.ts +230 -0
  64. package/lowcode/pisell-steps/meta.ts +307 -0
  65. package/lowcode/pisell-steps/snippets.ts +160 -0
  66. package/package.json +3 -3
  67. package/es/components/dataSourceComponents/dataSourceForm/provider/formSetting/FormSettingContext.d.ts +0 -15
  68. package/es/components/dataSourceComponents/dataSourceForm/provider/formSetting/FormSettingProvider.d.ts +0 -8
  69. package/es/components/dataSourceComponents/dataSourceForm/type.d.ts +0 -31
  70. package/es/components/dataSourceComponents/dataSourceTable/filter/index.d.ts +0 -27
  71. package/es/components/dataSourceComponents/dataSourceTable/hooks/useTableQuery.d.ts +0 -33
  72. package/es/components/dataSourceComponents/fields/Input.Mobile/WithMode.d.ts +0 -17
  73. package/es/components/dataSourceComponents/fields/Input.Phone/WithMode.d.ts +0 -16
  74. package/es/components/dataSourceComponents/fields/Upload/BaseUpload.d.ts +0 -5
  75. package/es/components/dataSourceComponents/fields/Upload/CameraPopover.d.ts +0 -5
  76. package/es/components/dataSourceComponents/fields/Upload/type.d.ts +0 -38
  77. package/es/components/filter/types.d.ts +0 -46
  78. package/es/components/pisellCamera/index.d.ts +0 -4
  79. package/es/components/table/Actions/index.d.ts +0 -17
  80. package/es/components/virtual-keyboard/Amount/index.d.ts +0 -5
  81. package/lib/components/dataSourceComponents/dataSourceForm/provider/formSetting/FormSettingContext.d.ts +0 -15
  82. package/lib/components/dataSourceComponents/dataSourceForm/provider/formSetting/FormSettingProvider.d.ts +0 -8
  83. package/lib/components/dataSourceComponents/dataSourceForm/type.d.ts +0 -31
  84. package/lib/components/dataSourceComponents/dataSourceTable/filter/index.d.ts +0 -27
  85. package/lib/components/dataSourceComponents/dataSourceTable/hooks/useTableQuery.d.ts +0 -33
  86. package/lib/components/dataSourceComponents/fields/Input.Mobile/WithMode.d.ts +0 -17
  87. package/lib/components/dataSourceComponents/fields/Input.Phone/WithMode.d.ts +0 -16
  88. package/lib/components/dataSourceComponents/fields/Upload/BaseUpload.d.ts +0 -5
  89. package/lib/components/dataSourceComponents/fields/Upload/CameraPopover.d.ts +0 -5
  90. package/lib/components/dataSourceComponents/fields/Upload/type.d.ts +0 -38
  91. package/lib/components/filter/types.d.ts +0 -46
  92. package/lib/components/pisellCamera/index.d.ts +0 -4
  93. package/lib/components/table/Actions/index.d.ts +0 -17
  94. package/lib/components/virtual-keyboard/Amount/index.d.ts +0 -5
@@ -0,0 +1,376 @@
1
+ // PisellProcedure 组件样式
2
+ // 流程容器组件,用于管理多步骤流程
3
+
4
+ // ========== CSS Variables ==========
5
+ .pisell-procedure {
6
+ // 尺寸变量
7
+ --procedure-header-height: 80px;
8
+ --procedure-action-height: 80px;
9
+ --procedure-summary-width: 405px;
10
+ --procedure-gap: 16px;
11
+ --procedure-padding: 16px;
12
+ --procedure-border-radius: 8px;
13
+
14
+ // 颜色变量
15
+ --procedure-bg: #ffffff;
16
+ --procedure-summary-bg: #f9fafb;
17
+ --procedure-border-color: #e5e7eb;
18
+ --procedure-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
19
+
20
+ // 响应式断点
21
+ --breakpoint-xs: 430px;
22
+ --breakpoint-sm: 744px;
23
+ --breakpoint-md: 960px;
24
+ --breakpoint-lg: 1133px;
25
+ --breakpoint-xl: 1366px;
26
+ }
27
+
28
+ // ========== 组件主容器 ==========
29
+ .pisell-procedure {
30
+ display: flex;
31
+ flex-direction: column;
32
+ height: 100%;
33
+ width: 100%;
34
+ background: var(--procedure-bg);
35
+ position: relative;
36
+
37
+ // 注意:layout 属性影响的是整体内容的排列方式,不是主容器的 flex-direction
38
+ // 主容器始终是 column(头部在上,主体在下,操作区在底部)
39
+ // layout-horizontal 指的是 body 内容和其他区域的排列
40
+
41
+ // 加载状态
42
+ &-loading {
43
+ pointer-events: none;
44
+ opacity: 0.6;
45
+ }
46
+
47
+ // 禁用状态
48
+ &-disabled {
49
+ pointer-events: none;
50
+ opacity: 0.5;
51
+ }
52
+ }
53
+
54
+ // ========== 头部区域 ==========
55
+ .pisell-procedure-header {
56
+ display: flex;
57
+ align-items: center;
58
+ gap: var(--procedure-gap);
59
+ min-height: var(--procedure-header-height);
60
+ padding: 12px var(--procedure-padding);
61
+ background: var(--procedure-bg);
62
+ border-bottom: 1px solid var(--procedure-border-color);
63
+ flex-shrink: 0;
64
+ width: 100%;
65
+ box-sizing: border-box;
66
+
67
+ // 固定定位
68
+ &-fixed {
69
+ position: fixed;
70
+ top: 0;
71
+ left: 0;
72
+ right: 0;
73
+ z-index: 100;
74
+ box-shadow: var(--procedure-shadow);
75
+ }
76
+
77
+ // 滚动时固定
78
+ &-scroll-fixed {
79
+ position: sticky;
80
+ top: 0;
81
+ z-index: 100;
82
+ box-shadow: var(--procedure-shadow);
83
+ }
84
+
85
+ // 上一步按钮
86
+ &-prev {
87
+ flex-shrink: 0;
88
+ margin-right: 8px;
89
+ }
90
+
91
+ // 步骤条容器
92
+ &-steps {
93
+ flex: 1;
94
+ min-width: 0;
95
+ overflow: hidden;
96
+ }
97
+
98
+ // 额外内容
99
+ &-extra {
100
+ flex-shrink: 0;
101
+ margin: 0 8px;
102
+ }
103
+
104
+ // 关闭按钮
105
+ &-close {
106
+ flex-shrink: 0;
107
+ margin-left: 8px;
108
+ }
109
+ }
110
+
111
+ // ========== 主体区域 ==========
112
+ .pisell-procedure-body {
113
+ flex: 1;
114
+ display: flex;
115
+ gap: var(--procedure-gap);
116
+ padding: var(--procedure-padding);
117
+ overflow: hidden;
118
+ min-height: 0;
119
+ width: 100%;
120
+ box-sizing: border-box;
121
+
122
+ // 默认水平布局(内容区 + 信息总结区左右排列)
123
+ flex-direction: row;
124
+
125
+ // 垂直布局(内容区和信息总结区上下排列)
126
+ &-vertical {
127
+ flex-direction: column;
128
+ }
129
+ }
130
+
131
+ // ========== 内容区 ==========
132
+ .pisell-procedure-content {
133
+ flex: 1;
134
+ display: flex;
135
+ flex-direction: column;
136
+ background: var(--procedure-bg);
137
+ border-radius: var(--procedure-border-radius);
138
+ padding: var(--procedure-padding);
139
+ overflow: hidden;
140
+ min-width: 0;
141
+
142
+ &-inner {
143
+ flex: 1;
144
+ overflow-y: auto;
145
+ }
146
+ }
147
+
148
+ // ========== 信息总结区 ==========
149
+ .pisell-procedure-summary {
150
+ width: var(--procedure-summary-width);
151
+ display: flex;
152
+ flex-direction: column;
153
+ background: var(--procedure-summary-bg);
154
+ border-radius: var(--procedure-border-radius);
155
+ padding: var(--procedure-padding);
156
+ overflow: hidden;
157
+ flex-shrink: 0;
158
+
159
+ // 可折叠
160
+ &-collapsible {
161
+ .pisell-procedure-summary-header {
162
+ cursor: pointer;
163
+ }
164
+ }
165
+
166
+ // 折叠状态
167
+ &-collapsed {
168
+ width: auto;
169
+ min-width: 80px;
170
+
171
+ .pisell-procedure-summary-content,
172
+ .pisell-procedure-summary-extra {
173
+ display: none;
174
+ }
175
+ }
176
+
177
+ // 头部(折叠按钮)
178
+ &-header {
179
+ display: flex;
180
+ align-items: center;
181
+ justify-content: flex-end;
182
+ margin-bottom: 8px;
183
+ }
184
+
185
+ // 内容
186
+ &-content {
187
+ flex: 1;
188
+ overflow-y: auto;
189
+ }
190
+
191
+ // 额外内容
192
+ &-extra {
193
+ margin-top: var(--procedure-padding);
194
+ }
195
+ }
196
+
197
+ // ========== 操作区 ==========
198
+ .pisell-procedure-action {
199
+ display: flex;
200
+ align-items: center;
201
+ justify-content: flex-end;
202
+ gap: 12px;
203
+ min-height: var(--procedure-action-height);
204
+ padding: 12px var(--procedure-padding);
205
+ background: var(--procedure-bg);
206
+ border-top: 1px solid var(--procedure-border-color);
207
+ flex-shrink: 0;
208
+ width: 100%;
209
+ box-sizing: border-box;
210
+
211
+ // 固定模式
212
+ &-fixed {
213
+ position: fixed;
214
+ bottom: 0;
215
+ left: 0;
216
+ right: 0;
217
+ z-index: 100;
218
+ }
219
+
220
+ // 悬浮模式
221
+ &-float {
222
+ position: fixed;
223
+ bottom: 0;
224
+ left: 0;
225
+ right: 0;
226
+ z-index: 100;
227
+ box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.08);
228
+ }
229
+
230
+ // 内嵌模式
231
+ &-embedded {
232
+ position: relative;
233
+ }
234
+
235
+ // 按钮容器
236
+ &-buttons {
237
+ display: flex;
238
+ align-items: center;
239
+ gap: 12px;
240
+ flex-wrap: wrap;
241
+ }
242
+
243
+ // 额外内容
244
+ &-extra {
245
+ margin-right: auto;
246
+ }
247
+ }
248
+
249
+ // ========== 响应式样式 ==========
250
+
251
+ // 1366px 以下
252
+ @media (max-width: 1366px) {
253
+ .pisell-procedure {
254
+ --procedure-summary-width: auto;
255
+ }
256
+
257
+ .pisell-procedure-summary {
258
+ flex: 0 0 405px;
259
+ }
260
+ }
261
+
262
+ // 1133px - 960px
263
+ @media (max-width: 1133px) {
264
+ .pisell-procedure-summary {
265
+ flex: 0 0 376px;
266
+ }
267
+ }
268
+
269
+ // 960px - 744px
270
+ @media (max-width: 960px) {
271
+ .pisell-procedure-summary {
272
+ flex: 0 0 290px;
273
+ }
274
+
275
+ .pisell-procedure-header {
276
+ flex-wrap: wrap;
277
+ height: auto;
278
+ min-height: var(--procedure-header-height);
279
+ }
280
+ }
281
+
282
+ // 744px 以下(移动端)
283
+ @media (max-width: 744px) {
284
+ .pisell-procedure {
285
+ --procedure-padding: 12px;
286
+ --procedure-gap: 12px;
287
+ }
288
+
289
+ .pisell-procedure-header {
290
+ flex-wrap: wrap;
291
+ padding: 12px;
292
+
293
+ &-steps {
294
+ width: 100%;
295
+ order: 2;
296
+ }
297
+
298
+ &-prev {
299
+ order: 1;
300
+ }
301
+
302
+ &-close {
303
+ order: 3;
304
+ margin-left: auto;
305
+ }
306
+
307
+ &-extra {
308
+ order: 4;
309
+ width: 100%;
310
+ }
311
+ }
312
+
313
+ .pisell-procedure-body {
314
+ flex-direction: column;
315
+ }
316
+
317
+ .pisell-procedure-summary {
318
+ display: none;
319
+ }
320
+
321
+ .pisell-procedure-action {
322
+ justify-content: space-between;
323
+ height: auto;
324
+ min-height: 60px;
325
+ padding: 12px;
326
+
327
+ &-buttons {
328
+ flex-wrap: wrap;
329
+ }
330
+ }
331
+ }
332
+
333
+ // 430px 以下(小屏幕移动端)
334
+ @media (max-width: 430px) {
335
+ .pisell-procedure {
336
+ --procedure-padding: 8px;
337
+ --procedure-gap: 8px;
338
+ }
339
+
340
+ .pisell-procedure-header {
341
+ padding: 8px;
342
+
343
+ &-prev,
344
+ &-close {
345
+ .ant-btn-icon {
346
+ margin-right: 0;
347
+ }
348
+
349
+ span:not(.anticon) {
350
+ display: none;
351
+ }
352
+ }
353
+ }
354
+
355
+ .pisell-procedure-action {
356
+ padding: 8px;
357
+
358
+ &-buttons {
359
+ .ant-btn {
360
+ padding: 4px 8px;
361
+ font-size: 12px;
362
+ }
363
+ }
364
+ }
365
+ }
366
+
367
+ // ========== 主题适配 ==========
368
+
369
+ // 暗色主题
370
+ .pisell-procedure {
371
+ &.dark {
372
+ --procedure-bg: #1f1f1f;
373
+ --procedure-summary-bg: #2a2a2a;
374
+ --procedure-border-color: #3a3a3a;
375
+ }
376
+ }
@@ -0,0 +1,93 @@
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 _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
+ 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; }
4
+ 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); } }
5
+ 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); }); }; }
6
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
7
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
8
+ 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); }
9
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
10
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
11
+ 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; }
12
+ import React, { useMemo, useCallback } from 'react';
13
+ import { Button } from 'antd';
14
+ import classNames from 'classnames';
15
+ /**
16
+ * ProcedureAction 组件
17
+ * 操作区域,渲染操作按钮
18
+ */
19
+ var ProcedureAction = function ProcedureAction(_ref) {
20
+ var actions = _ref.actions,
21
+ mode = _ref.mode,
22
+ position = _ref.position,
23
+ actionExtra = _ref.actionExtra,
24
+ className = _ref.className,
25
+ style = _ref.style,
26
+ disabled = _ref.disabled,
27
+ loading = _ref.loading;
28
+ /**
29
+ * 排序后的操作按钮
30
+ */
31
+ var sortedActions = useMemo(function () {
32
+ return _toConsumableArray(actions).filter(function (action) {
33
+ return !action.hidden;
34
+ }).sort(function (a, b) {
35
+ return (a.order || 0) - (b.order || 0);
36
+ });
37
+ }, [actions]);
38
+
39
+ /**
40
+ * 合并类名
41
+ */
42
+ var mergedClassName = useMemo(function () {
43
+ return classNames('pisell-procedure-action', "pisell-procedure-action-".concat(mode), "pisell-procedure-action-".concat(position), className);
44
+ }, [mode, position, className]);
45
+
46
+ /**
47
+ * 渲染单个操作按钮
48
+ */
49
+ var renderActionButton = useCallback(function (action) {
50
+ var handleClick = /*#__PURE__*/function () {
51
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
52
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
53
+ while (1) switch (_context.prev = _context.next) {
54
+ case 0:
55
+ if (!(!disabled && !action.disabled && action.onClick)) {
56
+ _context.next = 3;
57
+ break;
58
+ }
59
+ _context.next = 3;
60
+ return action.onClick();
61
+ case 3:
62
+ case "end":
63
+ return _context.stop();
64
+ }
65
+ }, _callee);
66
+ }));
67
+ return function handleClick() {
68
+ return _ref2.apply(this, arguments);
69
+ };
70
+ }();
71
+ return /*#__PURE__*/React.createElement(Button, _extends({
72
+ key: action.key,
73
+ type: action.type,
74
+ icon: action.icon,
75
+ disabled: disabled || action.disabled,
76
+ loading: loading || action.loading,
77
+ className: classNames('pisell-procedure-action-button', action.className),
78
+ style: action.style,
79
+ onClick: handleClick
80
+ }, action), action.label);
81
+ }, [disabled, loading]);
82
+ return /*#__PURE__*/React.createElement("div", {
83
+ className: mergedClassName,
84
+ style: style
85
+ }, /*#__PURE__*/React.createElement("div", {
86
+ className: "pisell-procedure-action-buttons"
87
+ }, sortedActions.map(function (action) {
88
+ return renderActionButton(action);
89
+ })), actionExtra && /*#__PURE__*/React.createElement("div", {
90
+ className: "pisell-procedure-action-extra"
91
+ }, actionExtra));
92
+ };
93
+ export default ProcedureAction;
@@ -0,0 +1,47 @@
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 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; }
3
+ 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; }
4
+ 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; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ 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); }
7
+ import React, { useMemo } from 'react';
8
+ import { Spin } from 'antd';
9
+ import classNames from 'classnames';
10
+ /**
11
+ * ProcedureContent 组件
12
+ * 内容区域,渲染当前步骤的内容
13
+ */
14
+ var ProcedureContent = function ProcedureContent(_ref) {
15
+ var current = _ref.current,
16
+ contentRender = _ref.contentRender,
17
+ width = _ref.width,
18
+ className = _ref.className,
19
+ style = _ref.style,
20
+ loading = _ref.loading;
21
+ /**
22
+ * 合并类名
23
+ */
24
+ var mergedClassName = useMemo(function () {
25
+ return classNames('pisell-procedure-content', className);
26
+ }, [className]);
27
+
28
+ /**
29
+ * 合并样式
30
+ */
31
+ var mergedStyle = useMemo(function () {
32
+ var baseStyle = _objectSpread({}, style);
33
+ if (width) {
34
+ baseStyle.width = typeof width === 'number' ? "".concat(width, "px") : width;
35
+ }
36
+ return baseStyle;
37
+ }, [style, width]);
38
+ return /*#__PURE__*/React.createElement("div", {
39
+ className: mergedClassName,
40
+ style: mergedStyle
41
+ }, /*#__PURE__*/React.createElement(Spin, {
42
+ spinning: loading
43
+ }, /*#__PURE__*/React.createElement("div", {
44
+ className: "pisell-procedure-content-inner"
45
+ }, contentRender(current))));
46
+ };
47
+ export default ProcedureContent;
@@ -0,0 +1,86 @@
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+ import React, { useMemo, useCallback } from 'react';
3
+ import { Button } from 'antd';
4
+ import { LeftOutlined, CloseOutlined } from '@ant-design/icons';
5
+ import classNames from 'classnames';
6
+ import { PisellSteps } from "../../PisellSteps";
7
+ /**
8
+ * ProcedureHeader 组件
9
+ * 头部区域,集成步骤导航和操作按钮
10
+ */
11
+ var ProcedureHeader = function ProcedureHeader(_ref) {
12
+ var current = _ref.current,
13
+ steps = _ref.steps,
14
+ stepsProps = _ref.stepsProps,
15
+ showPrevButton = _ref.showPrevButton,
16
+ showCloseButton = _ref.showCloseButton,
17
+ onPrev = _ref.onPrev,
18
+ onClose = _ref.onClose,
19
+ onStepClick = _ref.onStepClick,
20
+ headerExtra = _ref.headerExtra,
21
+ prevButtonProps = _ref.prevButtonProps,
22
+ closeButtonProps = _ref.closeButtonProps,
23
+ fixed = _ref.fixed,
24
+ className = _ref.className,
25
+ style = _ref.style,
26
+ disabled = _ref.disabled;
27
+ /**
28
+ * 合并类名
29
+ */
30
+ var mergedClassName = useMemo(function () {
31
+ return classNames('pisell-procedure-header', {
32
+ 'pisell-procedure-header-fixed': fixed === true,
33
+ 'pisell-procedure-header-scroll-fixed': fixed === 'scroll'
34
+ }, className);
35
+ }, [fixed, className]);
36
+
37
+ /**
38
+ * 处理上一步按钮点击
39
+ */
40
+ var handlePrevClick = useCallback(function () {
41
+ if (!disabled) {
42
+ onPrev === null || onPrev === void 0 || onPrev();
43
+ }
44
+ }, [disabled, onPrev]);
45
+
46
+ /**
47
+ * 处理关闭按钮点击
48
+ */
49
+ var handleCloseClick = useCallback(function () {
50
+ if (!disabled) {
51
+ onClose === null || onClose === void 0 || onClose();
52
+ }
53
+ }, [disabled, onClose]);
54
+
55
+ /**
56
+ * 处理步骤点击
57
+ */
58
+ var handleStepChange = useCallback(function (index) {
59
+ if (!disabled) {
60
+ onStepClick === null || onStepClick === void 0 || onStepClick(index);
61
+ }
62
+ }, [disabled, onStepClick]);
63
+ return /*#__PURE__*/React.createElement("div", {
64
+ className: mergedClassName,
65
+ style: style
66
+ }, showPrevButton && /*#__PURE__*/React.createElement(Button, _extends({
67
+ icon: /*#__PURE__*/React.createElement(LeftOutlined, null),
68
+ onClick: handlePrevClick,
69
+ disabled: disabled || current === 0,
70
+ className: "pisell-procedure-header-prev"
71
+ }, prevButtonProps), "\u4E0A\u4E00\u6B65"), /*#__PURE__*/React.createElement("div", {
72
+ className: "pisell-procedure-header-steps"
73
+ }, /*#__PURE__*/React.createElement(PisellSteps, _extends({
74
+ current: current,
75
+ items: steps,
76
+ onChange: handleStepChange
77
+ }, stepsProps))), headerExtra && /*#__PURE__*/React.createElement("div", {
78
+ className: "pisell-procedure-header-extra"
79
+ }, headerExtra), showCloseButton && /*#__PURE__*/React.createElement(Button, _extends({
80
+ icon: /*#__PURE__*/React.createElement(CloseOutlined, null),
81
+ onClick: handleCloseClick,
82
+ disabled: disabled,
83
+ className: "pisell-procedure-header-close"
84
+ }, closeButtonProps), "\u5173\u95ED"));
85
+ };
86
+ export default ProcedureHeader;