@pisell/materials 1.0.977 → 1.0.979

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 (141) 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 +6 -6
  6. package/build/lowcode/preview.js +9 -9
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +15 -15
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +23 -23
  11. package/es/components/PisellProcedure/PisellProcedure.d.ts +27 -0
  12. package/es/components/PisellProcedure/components/ProcedureAction.d.ts +8 -0
  13. package/es/components/PisellProcedure/components/ProcedureContent.d.ts +8 -0
  14. package/es/components/PisellProcedure/components/ProcedureHeader.d.ts +8 -0
  15. package/es/components/PisellProcedure/components/ProcedureSummary.d.ts +8 -0
  16. package/es/components/PisellProcedure/hooks/useResponsive.d.ts +6 -0
  17. package/es/components/PisellProcedure/index.d.ts +4 -0
  18. package/es/components/PisellProcedure/types.d.ts +303 -0
  19. package/es/components/PisellSteps/PisellSteps.d.ts +14 -0
  20. package/es/components/PisellSteps/PisellSteps.js +170 -148
  21. package/es/components/PisellSteps/PisellSteps.less +248 -383
  22. package/es/components/PisellSteps/hooks/index.d.ts +4 -0
  23. package/es/components/PisellSteps/hooks/index.js +4 -0
  24. package/es/components/PisellSteps/hooks/useAnchor.d.ts +9 -0
  25. package/es/components/PisellSteps/hooks/useAnchor.js +55 -0
  26. package/es/components/PisellSteps/hooks/useResponsive.d.ts +8 -0
  27. package/es/components/PisellSteps/hooks/useResponsive.js +43 -0
  28. package/es/components/PisellSteps/hooks/useStepClick.d.ts +11 -0
  29. package/es/components/PisellSteps/hooks/useStepClick.js +35 -0
  30. package/es/components/PisellSteps/hooks/useStepsState.d.ts +9 -0
  31. package/es/components/PisellSteps/hooks/useStepsState.js +60 -0
  32. package/es/components/PisellSteps/index.d.ts +3 -0
  33. package/es/components/PisellSteps/index.js +2 -5
  34. package/es/components/PisellSteps/types.d.ts +271 -0
  35. package/es/components/PisellSteps/utils/index.d.ts +54 -0
  36. package/es/components/PisellSteps/utils/index.js +118 -0
  37. package/es/components/Template/PisellSteps.d.ts +0 -0
  38. package/es/components/Template/PisellSteps.js +1 -0
  39. package/es/components/Template/PisellSteps.less +1 -0
  40. package/es/components/Template/components/index.d.ts +0 -0
  41. package/es/components/Template/components/index.js +1 -0
  42. package/es/components/Template/hooks/index.d.ts +0 -0
  43. package/es/components/Template/hooks/index.js +1 -0
  44. package/es/components/Template/utils/index.d.ts +0 -0
  45. package/es/components/Template/utils/index.js +1 -0
  46. package/es/components/dataSourceComponents/dataSourceForm/submitButton/index.js +5 -5
  47. package/es/components/dataSourceComponents/dataSourceForm/urlUtils.d.ts +0 -10
  48. package/es/components/dataSourceComponents/dataSourceForm/urlUtils.js +13 -64
  49. package/es/components/dataSourceComponents/dataSourceForm/utils.d.ts +56 -0
  50. package/es/components/dataSourceComponents/dataSourceForm/utils.js +3 -4
  51. package/es/components/dataSourceComponents/dataSourceTable/filter/index.d.ts +1 -0
  52. package/es/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +101 -0
  53. package/es/components/dataSourceComponents/fields/Input.Mobile/WithMode.d.ts +17 -0
  54. package/es/components/dataSourceComponents/fields/Input.Phone/WithMode.d.ts +16 -0
  55. package/es/components/dataSourceComponents/fields/Select/index.d.ts +1 -1
  56. package/es/components/dataSourceComponents/fields/Switch/ReadPretty.d.ts +5 -0
  57. package/es/components/dataSourceComponents/fields/Switch/ReadPretty.js +16 -0
  58. package/es/components/dataSourceComponents/fields/Switch/ReadPretty.less +2 -0
  59. package/es/components/dataSourceComponents/fields/Switch/WithMode.d.ts +3 -0
  60. package/es/components/dataSourceComponents/fields/Switch/WithMode.js +5 -0
  61. package/es/components/dataSourceComponents/fields/Switch/index.d.ts +3 -0
  62. package/es/components/dataSourceComponents/fields/Switch/index.js +8 -0
  63. package/es/components/dataSourceComponents/fields/Switch/type.d.ts +16 -0
  64. package/es/components/dataSourceComponents/fields/Switch/type.js +1 -0
  65. package/es/components/dataSourceComponents/fields/index.d.ts +12 -12
  66. package/es/components/dataSourceComponents/provider/variables/VariablesProvider.d.ts +4 -0
  67. package/es/components/pisellCardList/index.d.ts +107 -0
  68. package/es/components/pisellGoodPassCard/index.d.ts +50 -0
  69. package/es/components/pisellWalletPassCard/index.d.ts +146 -0
  70. package/es/components/productCard/index.d.ts +7 -0
  71. package/es/index.d.ts +149 -0
  72. package/es/index.js +1 -1
  73. package/lib/components/PisellProcedure/PisellProcedure.d.ts +27 -0
  74. package/lib/components/PisellProcedure/components/ProcedureAction.d.ts +8 -0
  75. package/lib/components/PisellProcedure/components/ProcedureContent.d.ts +8 -0
  76. package/lib/components/PisellProcedure/components/ProcedureHeader.d.ts +8 -0
  77. package/lib/components/PisellProcedure/components/ProcedureSummary.d.ts +8 -0
  78. package/lib/components/PisellProcedure/hooks/useResponsive.d.ts +6 -0
  79. package/lib/components/PisellProcedure/index.d.ts +4 -0
  80. package/lib/components/PisellProcedure/types.d.ts +303 -0
  81. package/lib/components/PisellSteps/PisellSteps.d.ts +14 -0
  82. package/lib/components/PisellSteps/PisellSteps.js +155 -102
  83. package/lib/components/PisellSteps/PisellSteps.less +248 -383
  84. package/lib/components/PisellSteps/hooks/index.d.ts +4 -0
  85. package/lib/components/PisellSteps/hooks/index.js +38 -0
  86. package/lib/components/PisellSteps/hooks/useAnchor.d.ts +9 -0
  87. package/lib/components/PisellSteps/hooks/useAnchor.js +63 -0
  88. package/lib/components/PisellSteps/hooks/useResponsive.d.ts +8 -0
  89. package/lib/components/PisellSteps/hooks/useResponsive.js +48 -0
  90. package/lib/components/PisellSteps/hooks/useStepClick.d.ts +11 -0
  91. package/lib/components/PisellSteps/hooks/useStepClick.js +55 -0
  92. package/lib/components/PisellSteps/hooks/useStepsState.d.ts +9 -0
  93. package/lib/components/PisellSteps/hooks/useStepsState.js +54 -0
  94. package/lib/components/PisellSteps/index.d.ts +3 -0
  95. package/lib/components/PisellSteps/index.js +2 -7
  96. package/lib/components/PisellSteps/types.d.ts +271 -0
  97. package/lib/components/PisellSteps/utils/index.d.ts +54 -0
  98. package/lib/components/PisellSteps/utils/index.js +88 -0
  99. package/lib/components/Template/PisellSteps.d.ts +0 -0
  100. package/lib/components/Template/PisellSteps.js +0 -0
  101. package/lib/components/Template/PisellSteps.less +1 -0
  102. package/lib/components/Template/components/index.d.ts +0 -0
  103. package/lib/components/Template/components/index.js +0 -0
  104. package/lib/components/Template/hooks/index.d.ts +0 -0
  105. package/lib/components/Template/hooks/index.js +0 -0
  106. package/lib/components/Template/utils/index.d.ts +0 -0
  107. package/lib/components/Template/utils/index.js +0 -0
  108. package/lib/components/dataSourceComponents/dataSourceForm/submitButton/index.js +4 -4
  109. package/lib/components/dataSourceComponents/dataSourceForm/urlUtils.d.ts +0 -10
  110. package/lib/components/dataSourceComponents/dataSourceForm/urlUtils.js +3 -25
  111. package/lib/components/dataSourceComponents/dataSourceForm/utils.d.ts +56 -0
  112. package/lib/components/dataSourceComponents/dataSourceForm/utils.js +3 -3
  113. package/lib/components/dataSourceComponents/dataSourceTable/filter/index.d.ts +1 -0
  114. package/lib/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +101 -0
  115. package/lib/components/dataSourceComponents/fields/Input.Mobile/WithMode.d.ts +17 -0
  116. package/lib/components/dataSourceComponents/fields/Input.Phone/WithMode.d.ts +16 -0
  117. package/lib/components/dataSourceComponents/fields/Select/index.d.ts +1 -1
  118. package/lib/components/dataSourceComponents/fields/Switch/ReadPretty.d.ts +5 -0
  119. package/lib/components/dataSourceComponents/fields/Switch/ReadPretty.js +52 -0
  120. package/lib/components/dataSourceComponents/fields/Switch/ReadPretty.less +2 -0
  121. package/lib/components/dataSourceComponents/fields/Switch/WithMode.d.ts +3 -0
  122. package/lib/components/dataSourceComponents/fields/Switch/WithMode.js +39 -0
  123. package/lib/components/dataSourceComponents/fields/Switch/index.d.ts +3 -0
  124. package/lib/components/dataSourceComponents/fields/Switch/index.js +42 -0
  125. package/lib/components/dataSourceComponents/fields/Switch/type.d.ts +16 -0
  126. package/lib/components/dataSourceComponents/fields/Switch/type.js +17 -0
  127. package/lib/components/dataSourceComponents/fields/index.d.ts +12 -12
  128. package/lib/components/dataSourceComponents/provider/variables/VariablesProvider.d.ts +4 -0
  129. package/lib/components/pisellCardList/index.d.ts +107 -0
  130. package/lib/components/pisellGoodPassCard/index.d.ts +50 -0
  131. package/lib/components/pisellWalletPassCard/index.d.ts +146 -0
  132. package/lib/components/productCard/index.d.ts +7 -0
  133. package/lib/index.d.ts +149 -0
  134. package/lib/index.js +3 -3
  135. package/lowcode/data-source-form/constants.ts +3 -0
  136. package/lowcode/data-source-form/utils.ts +36 -7
  137. package/lowcode/form-item-switch/meta.ts +145 -0
  138. package/lowcode/form-item-switch/snippets.ts +15 -0
  139. package/lowcode/pisell-steps/meta.ts +621 -271
  140. package/lowcode/pisell-steps/snippets.ts +27 -69
  141. package/package.json +3 -3
@@ -0,0 +1,4 @@
1
+ export { useStepsState } from './useStepsState';
2
+ export { useStepClick } from './useStepClick';
3
+ export { useAnchor } from './useAnchor';
4
+ export { useResponsive } from './useResponsive';
@@ -0,0 +1,38 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/components/PisellSteps/hooks/index.ts
20
+ var hooks_exports = {};
21
+ __export(hooks_exports, {
22
+ useAnchor: () => import_useAnchor.useAnchor,
23
+ useResponsive: () => import_useResponsive.useResponsive,
24
+ useStepClick: () => import_useStepClick.useStepClick,
25
+ useStepsState: () => import_useStepsState.useStepsState
26
+ });
27
+ module.exports = __toCommonJS(hooks_exports);
28
+ var import_useStepsState = require("./useStepsState");
29
+ var import_useStepClick = require("./useStepClick");
30
+ var import_useAnchor = require("./useAnchor");
31
+ var import_useResponsive = require("./useResponsive");
32
+ // Annotate the CommonJS export names for ESM import in node:
33
+ 0 && (module.exports = {
34
+ useAnchor,
35
+ useResponsive,
36
+ useStepClick,
37
+ useStepsState
38
+ });
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 锚链接功能 Hook
3
+ * 当开启锚链接时,自动滚动到当前步骤对应的锚点
4
+ *
5
+ * @param currentStep - 当前步骤索引
6
+ * @param enableAnchor - 是否启用锚链接
7
+ * @param anchorContainer - 锚链接容器选择器或元素
8
+ */
9
+ export declare function useAnchor(currentStep: number, enableAnchor: boolean, anchorContainer?: string | HTMLElement): void;
@@ -0,0 +1,63 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/components/PisellSteps/hooks/useAnchor.ts
20
+ var useAnchor_exports = {};
21
+ __export(useAnchor_exports, {
22
+ useAnchor: () => useAnchor
23
+ });
24
+ module.exports = __toCommonJS(useAnchor_exports);
25
+ var import_react = require("react");
26
+ function useAnchor(currentStep, enableAnchor, anchorContainer) {
27
+ const previousStepRef = (0, import_react.useRef)(currentStep);
28
+ (0, import_react.useEffect)(() => {
29
+ if (!enableAnchor) {
30
+ return;
31
+ }
32
+ if (previousStepRef.current === currentStep) {
33
+ return;
34
+ }
35
+ previousStepRef.current = currentStep;
36
+ const anchorId = `pisell-steps-anchor-${currentStep}`;
37
+ const anchorElement = document.getElementById(anchorId);
38
+ if (!anchorElement) {
39
+ return;
40
+ }
41
+ let scrollContainer = window;
42
+ if (anchorContainer) {
43
+ if (typeof anchorContainer === "string") {
44
+ const container = document.querySelector(anchorContainer);
45
+ if (container instanceof HTMLElement) {
46
+ scrollContainer = container;
47
+ }
48
+ } else if (anchorContainer instanceof HTMLElement) {
49
+ scrollContainer = anchorContainer;
50
+ }
51
+ }
52
+ const scrollOptions = {
53
+ behavior: "smooth",
54
+ block: "start",
55
+ inline: "nearest"
56
+ };
57
+ anchorElement.scrollIntoView(scrollOptions);
58
+ }, [currentStep, enableAnchor, anchorContainer]);
59
+ }
60
+ // Annotate the CommonJS export names for ESM import in node:
61
+ 0 && (module.exports = {
62
+ useAnchor
63
+ });
@@ -0,0 +1,8 @@
1
+ /**
2
+ * 响应式监听 Hook
3
+ * 监听窗口大小变化,返回当前是否为移动端
4
+ *
5
+ * @param breakpoint - 断点宽度(默认 768px)
6
+ * @returns 是否为移动端
7
+ */
8
+ export declare function useResponsive(breakpoint?: number): boolean;
@@ -0,0 +1,48 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/components/PisellSteps/hooks/useResponsive.ts
20
+ var useResponsive_exports = {};
21
+ __export(useResponsive_exports, {
22
+ useResponsive: () => useResponsive
23
+ });
24
+ module.exports = __toCommonJS(useResponsive_exports);
25
+ var import_react = require("react");
26
+ function useResponsive(breakpoint = 768) {
27
+ const [isMobile, setIsMobile] = (0, import_react.useState)(
28
+ typeof window !== "undefined" ? window.innerWidth < breakpoint : false
29
+ );
30
+ (0, import_react.useEffect)(() => {
31
+ if (typeof window === "undefined") {
32
+ return;
33
+ }
34
+ const handleResize = () => {
35
+ setIsMobile(window.innerWidth < breakpoint);
36
+ };
37
+ window.addEventListener("resize", handleResize);
38
+ handleResize();
39
+ return () => {
40
+ window.removeEventListener("resize", handleResize);
41
+ };
42
+ }, [breakpoint]);
43
+ return isMobile;
44
+ }
45
+ // Annotate the CommonJS export names for ESM import in node:
46
+ 0 && (module.exports = {
47
+ useResponsive
48
+ });
@@ -0,0 +1,11 @@
1
+ import type { PisellStepItem } from '../types';
2
+ /**
3
+ * 处理步骤点击逻辑的 Hook
4
+ *
5
+ * @param currentStep - 当前步骤索引
6
+ * @param clickable - 是否允许点击步骤切换
7
+ * @param allowClickFinished - 是否允许点击已完成的步骤
8
+ * @param onStepChange - 步骤变更回调函数
9
+ * @returns 步骤点击处理函数
10
+ */
11
+ export declare function useStepClick(currentStep: number, clickable: boolean, allowClickFinished: boolean, onStepChange: (step: number) => void): (index: number, item: PisellStepItem) => void;
@@ -0,0 +1,55 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/components/PisellSteps/hooks/useStepClick.ts
20
+ var useStepClick_exports = {};
21
+ __export(useStepClick_exports, {
22
+ useStepClick: () => useStepClick
23
+ });
24
+ module.exports = __toCommonJS(useStepClick_exports);
25
+ var import_react = require("react");
26
+ var import_utils = require("../utils");
27
+ function useStepClick(currentStep, clickable, allowClickFinished, onStepChange) {
28
+ const handleStepClick = (0, import_react.useCallback)(
29
+ (index, item) => {
30
+ if (item.disabled) {
31
+ return;
32
+ }
33
+ if (!clickable) {
34
+ return;
35
+ }
36
+ const canClick = (0, import_utils.isStepClickable)(
37
+ index,
38
+ currentStep,
39
+ item.status || "wait",
40
+ clickable,
41
+ allowClickFinished
42
+ );
43
+ if (!canClick) {
44
+ return;
45
+ }
46
+ onStepChange(index);
47
+ },
48
+ [currentStep, clickable, allowClickFinished, onStepChange]
49
+ );
50
+ return handleStepClick;
51
+ }
52
+ // Annotate the CommonJS export names for ESM import in node:
53
+ 0 && (module.exports = {
54
+ useStepClick
55
+ });
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 管理步骤条状态的 Hook(支持受控和非受控模式)
3
+ *
4
+ * @param current - 受控模式下的当前步骤
5
+ * @param defaultCurrent - 非受控模式下的默认当前步骤
6
+ * @param onChange - 步骤变更回调函数
7
+ * @returns [currentStep, setCurrentStep] - 当前步骤和设置步骤的函数
8
+ */
9
+ export declare function useStepsState(current?: number, defaultCurrent?: number, onChange?: (current: number) => void): [number, (value: number) => void];
@@ -0,0 +1,54 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/components/PisellSteps/hooks/useStepsState.ts
20
+ var useStepsState_exports = {};
21
+ __export(useStepsState_exports, {
22
+ useStepsState: () => useStepsState
23
+ });
24
+ module.exports = __toCommonJS(useStepsState_exports);
25
+ var import_react = require("react");
26
+ function useStepsState(current, defaultCurrent = 0, onChange) {
27
+ const [innerCurrent, setInnerCurrent] = (0, import_react.useState)(defaultCurrent);
28
+ const previousCurrentRef = (0, import_react.useRef)(defaultCurrent);
29
+ const isControlled = current !== void 0;
30
+ const currentStep = isControlled ? current : innerCurrent;
31
+ const setCurrentStep = (0, import_react.useCallback)(
32
+ (value) => {
33
+ const previousCurrent = previousCurrentRef.current;
34
+ if (!isControlled) {
35
+ setInnerCurrent(value);
36
+ }
37
+ if (onChange && value !== previousCurrent) {
38
+ onChange(value);
39
+ }
40
+ previousCurrentRef.current = value;
41
+ },
42
+ [isControlled, onChange]
43
+ );
44
+ (0, import_react.useEffect)(() => {
45
+ if (isControlled && current !== void 0) {
46
+ previousCurrentRef.current = current;
47
+ }
48
+ }, [current, isControlled]);
49
+ return [currentStep, setCurrentStep];
50
+ }
51
+ // Annotate the CommonJS export names for ESM import in node:
52
+ 0 && (module.exports = {
53
+ useStepsState
54
+ });
@@ -0,0 +1,3 @@
1
+ import PisellSteps from './PisellSteps';
2
+ export type { PisellStepsProps, PisellStepItem, StepStatus, StepType, StepDirection, StepSize } from './types';
3
+ export default PisellSteps;
@@ -29,13 +29,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
29
29
  // src/components/PisellSteps/index.tsx
30
30
  var PisellSteps_exports = {};
31
31
  __export(PisellSteps_exports, {
32
- PisellSteps: () => import_PisellSteps2.default,
33
- default: () => import_PisellSteps.default
32
+ default: () => PisellSteps_default
34
33
  });
35
34
  module.exports = __toCommonJS(PisellSteps_exports);
36
35
  var import_PisellSteps = __toESM(require("./PisellSteps"));
37
- var import_PisellSteps2 = __toESM(require("./PisellSteps"));
38
- // Annotate the CommonJS export names for ESM import in node:
39
- 0 && (module.exports = {
40
- PisellSteps
41
- });
36
+ var PisellSteps_default = import_PisellSteps.default;
@@ -0,0 +1,271 @@
1
+ import type { StepsProps, StepProps } from 'antd';
2
+ import type { CSSProperties, ReactNode } from 'react';
3
+ /**
4
+ * 步骤状态类型
5
+ */
6
+ export declare type StepStatus = 'wait' | 'process' | 'finish' | 'error';
7
+ /**
8
+ * 步骤条展示类型
9
+ */
10
+ export declare type StepType = 'default' | 'dot' | 'navigation';
11
+ /**
12
+ * 步骤条方向
13
+ */
14
+ export declare type StepDirection = 'horizontal' | 'vertical';
15
+ /**
16
+ * 步骤条尺寸
17
+ */
18
+ export declare type StepSize = 'small' | 'default' | 'large';
19
+ /**
20
+ * 标签放置位置
21
+ */
22
+ export declare type StepLabelPlacement = 'horizontal' | 'vertical';
23
+ /**
24
+ * 连接器位置
25
+ */
26
+ export declare type ConnectorPosition = 'center' | 'top' | 'bottom';
27
+ /**
28
+ * 单个步骤项配置
29
+ */
30
+ export interface PisellStepItem extends Omit<StepProps, 'status' | 'onClick'> {
31
+ /**
32
+ * 步骤标题
33
+ */
34
+ title?: ReactNode;
35
+ /**
36
+ * 步骤副标题
37
+ */
38
+ subTitle?: ReactNode;
39
+ /**
40
+ * 步骤描述
41
+ */
42
+ description?: ReactNode;
43
+ /**
44
+ * 步骤状态
45
+ * @default 'wait'
46
+ */
47
+ status?: StepStatus;
48
+ /**
49
+ * 步骤图标
50
+ */
51
+ icon?: ReactNode;
52
+ /**
53
+ * 是否禁用点击
54
+ * @default false
55
+ */
56
+ disabled?: boolean;
57
+ /**
58
+ * 是否隐藏该步骤(用于动态步骤)
59
+ * @default false
60
+ */
61
+ hidden?: boolean;
62
+ /**
63
+ * 步骤点击回调
64
+ */
65
+ onClick?: () => void;
66
+ /**
67
+ * 自定义类名
68
+ */
69
+ className?: string;
70
+ /**
71
+ * 自定义样式
72
+ */
73
+ style?: CSSProperties;
74
+ /**
75
+ * 额外的数据(可用于业务扩展)
76
+ */
77
+ extra?: Record<string, any>;
78
+ }
79
+ /**
80
+ * PisellSteps 组件 Props
81
+ */
82
+ export interface PisellStepsProps extends Omit<StepsProps, 'type' | 'items' | 'onChange' | 'current' | 'status' | 'size' | 'direction'> {
83
+ /**
84
+ * 步骤条类型
85
+ * @default 'default'
86
+ */
87
+ type?: StepType;
88
+ /**
89
+ * 当前步骤(受控模式)
90
+ */
91
+ current?: number;
92
+ /**
93
+ * 默认当前步骤(非受控模式)
94
+ * @default 0
95
+ */
96
+ defaultCurrent?: number;
97
+ /**
98
+ * 步骤条方向
99
+ * @default 'horizontal'
100
+ */
101
+ direction?: StepDirection;
102
+ /**
103
+ * 步骤条尺寸
104
+ * @default 'default'
105
+ */
106
+ size?: StepSize;
107
+ /**
108
+ * 当前步骤的状态
109
+ * @default 'process'
110
+ */
111
+ status?: StepStatus;
112
+ /**
113
+ * 起始步骤索引
114
+ * @default 0
115
+ */
116
+ initial?: number;
117
+ /**
118
+ * 步骤数据配置
119
+ */
120
+ items?: PisellStepItem[];
121
+ /**
122
+ * 当前步骤的进度百分比(0-100)
123
+ */
124
+ percent?: number;
125
+ /**
126
+ * 标签文本位置
127
+ * @default 'horizontal'
128
+ */
129
+ labelPlacement?: StepLabelPlacement;
130
+ /**
131
+ * 是否开启响应式
132
+ * @default true
133
+ */
134
+ responsive?: boolean;
135
+ /**
136
+ * 步骤变更回调
137
+ */
138
+ onChange?: (current: number) => void;
139
+ /**
140
+ * 自定义类名
141
+ */
142
+ className?: string;
143
+ /**
144
+ * 自定义样式
145
+ */
146
+ style?: CSSProperties;
147
+ /**
148
+ * 点状步骤条是否显示点(也可以传入自定义渲染函数)
149
+ * @default false
150
+ */
151
+ progressDot?: boolean | ((dot: ReactNode, info: {
152
+ index: number;
153
+ status: StepStatus;
154
+ title?: ReactNode;
155
+ description?: ReactNode;
156
+ }) => ReactNode);
157
+ /**
158
+ * 是否允许点击步骤切换
159
+ * @default false
160
+ */
161
+ clickable?: boolean;
162
+ /**
163
+ * 是否允许点击已完成的步骤
164
+ * @default true
165
+ */
166
+ allowClickFinished?: boolean;
167
+ /**
168
+ * 是否显示进度百分比(在连接器上)
169
+ * @default false
170
+ */
171
+ showProgressPercent?: boolean;
172
+ /**
173
+ * 图标尺寸(单位:px)
174
+ */
175
+ iconSize?: number;
176
+ /**
177
+ * 图标颜色
178
+ */
179
+ iconColor?: string;
180
+ /**
181
+ * 连接器自定义样式
182
+ */
183
+ connectorStyle?: CSSProperties;
184
+ /**
185
+ * 连接器位置
186
+ * @default 'center'
187
+ */
188
+ connectorPosition?: ConnectorPosition;
189
+ /**
190
+ * 是否开启动画
191
+ * @default true
192
+ */
193
+ animated?: boolean;
194
+ /**
195
+ * 是否开启栅格布局
196
+ * @default false
197
+ */
198
+ gridLayout?: boolean;
199
+ /**
200
+ * 栅格列数(仅在 gridLayout=true 时有效)
201
+ */
202
+ gridColumns?: number;
203
+ /**
204
+ * 标识区和文本区的布局方式
205
+ * @default 'horizontal'
206
+ */
207
+ itemLayout?: 'horizontal' | 'vertical';
208
+ /**
209
+ * 标识区和文本区的间距(单位:px)
210
+ */
211
+ itemGap?: number;
212
+ /**
213
+ * 是否开启锚链接
214
+ * @default false
215
+ */
216
+ enableAnchor?: boolean;
217
+ /**
218
+ * 锚链接容器选择器(仅在 enableAnchor=true 时有效)
219
+ */
220
+ anchorContainer?: string | HTMLElement;
221
+ /**
222
+ * 设计模式标识(低代码引擎使用)
223
+ */
224
+ __designMode?: 'design' | 'preview';
225
+ /**
226
+ * 组件唯一标识(低代码引擎使用)
227
+ */
228
+ __id?: string;
229
+ /**
230
+ * 其他扩展配置
231
+ */
232
+ other?: Record<string, any>;
233
+ }
234
+ /**
235
+ * 步骤点击事件参数
236
+ */
237
+ export interface StepClickInfo {
238
+ /**
239
+ * 步骤索引
240
+ */
241
+ index: number;
242
+ /**
243
+ * 步骤配置
244
+ */
245
+ item: PisellStepItem;
246
+ /**
247
+ * 步骤状态
248
+ */
249
+ status: StepStatus;
250
+ /**
251
+ * 是否可点击
252
+ */
253
+ clickable: boolean;
254
+ }
255
+ /**
256
+ * 步骤变更事件参数
257
+ */
258
+ export interface StepChangeInfo {
259
+ /**
260
+ * 当前步骤索引
261
+ */
262
+ current: number;
263
+ /**
264
+ * 上一个步骤索引
265
+ */
266
+ previous: number;
267
+ /**
268
+ * 步骤变更方向
269
+ */
270
+ direction: 'forward' | 'backward';
271
+ }
@@ -0,0 +1,54 @@
1
+ import type { StepStatus } from '../types';
2
+ /**
3
+ * 计算当前步骤的进度百分比
4
+ *
5
+ * @param current - 当前步骤索引
6
+ * @param total - 总步骤数
7
+ * @returns 进度百分比(0-100)
8
+ */
9
+ export declare function calculateProgress(current: number, total: number): number;
10
+ /**
11
+ * 判断步骤是否可点击
12
+ *
13
+ * @param index - 步骤索引
14
+ * @param current - 当前步骤索引
15
+ * @param status - 步骤状态
16
+ * @param clickable - 全局是否可点击
17
+ * @param allowClickFinished - 是否允许点击已完成步骤
18
+ * @returns 是否可点击
19
+ */
20
+ export declare function isStepClickable(index: number, current: number, status: StepStatus, clickable: boolean, allowClickFinished: boolean): boolean;
21
+ /**
22
+ * 获取步骤状态
23
+ *
24
+ * @param index - 步骤索引
25
+ * @param current - 当前步骤索引
26
+ * @param customStatus - 自定义状态(优先级最高)
27
+ * @returns 步骤状态
28
+ */
29
+ export declare function getStepStatus(index: number, current: number, customStatus?: StepStatus): StepStatus;
30
+ /**
31
+ * 合并步骤类名
32
+ *
33
+ * @param baseClass - 基础类名
34
+ * @param status - 步骤状态
35
+ * @param customClass - 自定义类名
36
+ * @returns 合并后的类名
37
+ */
38
+ export declare function mergeStepClassName(baseClass: string, status: StepStatus, customClass?: string): string;
39
+ /**
40
+ * 判断步骤变更方向
41
+ *
42
+ * @param from - 原步骤索引
43
+ * @param to - 目标步骤索引
44
+ * @returns 变更方向
45
+ */
46
+ export declare function getChangeDirection(from: number, to: number): 'forward' | 'backward';
47
+ /**
48
+ * 验证步骤索引是否有效
49
+ *
50
+ * @param index - 步骤索引
51
+ * @param total - 总步骤数
52
+ * @returns 是否有效
53
+ */
54
+ export declare function isValidStepIndex(index: number, total: number): boolean;