@robot-admin/naive-ui-components 0.6.12 → 0.6.13

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 (46) hide show
  1. package/dist/C_Steps-HZ438_4G.css.map +1 -0
  2. package/dist/C_Steps-uMxhEbg-.css.map +1 -0
  3. package/dist/C_Steps.css +43 -39
  4. package/dist/C_Steps.js.map +1 -1
  5. package/dist/C_Steps2.js +1 -1
  6. package/dist/C_Steps2.js.map +1 -1
  7. package/dist/constants.d.ts +4 -4
  8. package/dist/constants2.d.ts +3 -3
  9. package/dist/constants3.d.ts +2 -2
  10. package/dist/constants4.d.ts +3 -3
  11. package/dist/constants5.d.ts +2 -2
  12. package/dist/data.d.ts +1 -1
  13. package/dist/index10.vue.d.ts +3 -3
  14. package/dist/index11.vue.d.ts +2 -2
  15. package/dist/index13.vue.d.ts +3 -3
  16. package/dist/index15.vue.d.ts +2 -2
  17. package/dist/index16.vue.d.ts +2 -2
  18. package/dist/index17.vue.d.ts +1 -1
  19. package/dist/index18.vue.d.ts +3 -3
  20. package/dist/index2.vue.d.ts +1 -1
  21. package/dist/index20.vue.d.ts +2 -2
  22. package/dist/index21.vue.d.ts +3 -1
  23. package/dist/index24.vue.d.ts +1 -1
  24. package/dist/index25.vue.d.ts +2 -2
  25. package/dist/index26.vue.d.ts +1 -1
  26. package/dist/index6.vue.d.ts +3 -3
  27. package/dist/index7.vue.d.ts +2 -2
  28. package/dist/index8.vue.d.ts +4 -4
  29. package/dist/index9.vue.d.ts +2 -2
  30. package/dist/style.css +45 -41
  31. package/dist/useCalendarEvents.d.ts +1 -1
  32. package/dist/useCollapsePanel.d.ts +3 -3
  33. package/dist/useCropperCore.d.ts +5 -5
  34. package/dist/useDraggableLayout.d.ts +2 -2
  35. package/dist/useDynamicFormState.d.ts +2 -2
  36. package/dist/useEdgeInteraction.d.ts +1 -1
  37. package/dist/useInfiniteScroll.d.ts +3 -3
  38. package/dist/useQRCode.d.ts +1 -1
  39. package/dist/useSignatureHistory.d.ts +1 -1
  40. package/dist/useSplitResize.d.ts +6 -6
  41. package/dist/useTimeSelection.d.ts +1 -1
  42. package/dist/useTreeOperations.d.ts +2 -2
  43. package/dist/useWorkflowValidation.d.ts +3 -3
  44. package/package.json +1 -1
  45. package/dist/C_Steps-B1Wf3E73.css.map +0 -1
  46. package/dist/C_Steps-C8cOf_tu.css.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"C_Steps-HZ438_4G.css","names":[],"sources":["../src/components/C_Steps/index.vue?vue&type=style&index=0&scoped=33e608bb&lang.scss"],"sourcesContent":["/* unplugin-vue-components disabled */.c-steps[data-v-33e608bb] {\n --step-gap: 24px;\n --icon-size: 32px;\n --line-width: 2px;\n --line-gap: 4px;\n --primary: var(--c-primary, #18a058);\n --success: var(--c-success, #18a058);\n --warning: var(--c-warning, #f0a020);\n --error: var(--c-error, #d03050);\n --border: var(--c-border, rgba(0, 0, 0, 0.09));\n --bg-hover: rgba(0, 0, 0, 0.04);\n display: flex;\n}\n.steps-connected[data-v-33e608bb] {\n --line-gap: 0px;\n}\n.steps-horizontal[data-v-33e608bb] {\n flex-direction: row;\n align-items: flex-start;\n}\n.steps-vertical[data-v-33e608bb] {\n flex-direction: column;\n}\n.step-item[data-v-33e608bb] {\n display: flex;\n position: relative;\n flex: 1;\n gap: 12px;\n}\n.steps-horizontal .step-item[data-v-33e608bb] {\n flex-direction: column;\n align-items: center;\n text-align: center;\n min-width: 0;\n}\n.steps-vertical .step-item[data-v-33e608bb] {\n flex-direction: row;\n min-height: 72px;\n flex: none;\n width: 100%;\n}\n.step-indicator[data-v-33e608bb] {\n position: relative;\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n.steps-horizontal .step-indicator[data-v-33e608bb] {\n width: 100%;\n justify-content: center;\n}\n.steps-vertical .step-indicator[data-v-33e608bb] {\n flex-direction: column;\n}\n.step-icon[data-v-33e608bb] {\n width: var(--icon-size);\n height: var(--icon-size);\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n border: var(--line-width) solid var(--border);\n background: var(--c-bg-card, #fff);\n position: relative;\n z-index: 2;\n transition: all 0.2s ease;\n font-size: 16px;\n}\n.step-finish .step-icon[data-v-33e608bb] {\n border-color: var(--success);\n color: var(--success);\n}\n.step-process .step-icon[data-v-33e608bb] {\n border-color: var(--primary);\n background: var(--primary);\n color: white;\n}\n.step-error .step-icon[data-v-33e608bb] {\n border-color: var(--error);\n color: var(--error);\n}\n.step-index[data-v-33e608bb] {\n font-size: 14px;\n font-weight: 500;\n}\n.step-line[data-v-33e608bb] {\n background: var(--border);\n position: absolute;\n transition: background 0.2s ease;\n}\n.steps-horizontal .step-line[data-v-33e608bb] {\n height: var(--line-width);\n left: calc(50% + var(--icon-size) / 2 + var(--line-gap));\n right: calc(-50% + var(--icon-size) / 2 + var(--line-gap));\n top: calc(var(--icon-size) / 2);\n}\n.steps-vertical .step-line[data-v-33e608bb] {\n width: var(--line-width);\n top: var(--icon-size);\n bottom: 0;\n left: calc(var(--icon-size) / 2 - 1px);\n}\n.step-finish .step-line[data-v-33e608bb] {\n background: var(--success);\n}\n.step-content[data-v-33e608bb] {\n flex: 1;\n min-width: 0;\n}\n.steps-vertical .step-content[data-v-33e608bb] {\n padding-top: 4px;\n}\n.step-title[data-v-33e608bb] {\n font-size: 14px;\n font-weight: 500;\n line-height: 22px;\n margin-bottom: 2px;\n word-break: break-word;\n}\n.step-time[data-v-33e608bb] {\n font-size: 12px;\n line-height: 20px;\n margin-bottom: 2px;\n opacity: 0.65;\n}\n.step-finish .step-time[data-v-33e608bb] {\n color: var(--success);\n}\n.step-description[data-v-33e608bb] {\n font-size: 12px;\n line-height: 20px;\n opacity: 0.65;\n}\n.step-wait .step-title[data-v-33e608bb] {\n opacity: 0.65;\n}\n.step-process .step-title[data-v-33e608bb] {\n color: var(--primary);\n font-weight: 600;\n}\n.step-error .step-title[data-v-33e608bb] {\n color: var(--error);\n}\n.step-clickable[data-v-33e608bb] {\n cursor: pointer;\n}\n.step-clickable:hover .step-icon[data-v-33e608bb] {\n transform: scale(1.05);\n}\n.step-clickable:not(.step-process):hover .step-icon[data-v-33e608bb] {\n background: var(--bg-hover);\n}\n.step-clickable:hover .step-title[data-v-33e608bb] {\n color: var(--primary);\n}\n@media (max-width: 768px) {\n.steps-horizontal[data-v-33e608bb] {\n flex-wrap: wrap;\n}\n.steps-horizontal .step-item[data-v-33e608bb] {\n flex: 0 0 50%;\n margin-bottom: 24px;\n}\n.steps-horizontal .step-line[data-v-33e608bb] {\n display: none;\n}\n}\n@media (prefers-reduced-motion: reduce) {\n.step-icon[data-v-33e608bb],\n .step-line[data-v-33e608bb] {\n transition: none;\n}\n}"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"C_Steps-uMxhEbg-.css","names":[],"sources":["../src/components/C_Steps/index.vue?vue&type=style&index=0&scoped=33e608bb&lang.scss"],"sourcesContent":["/* unplugin-vue-components disabled */.c-steps[data-v-33e608bb] {\n --step-gap: 24px;\n --icon-size: 32px;\n --line-width: 2px;\n --line-gap: 4px;\n --primary: var(--c-primary, #18a058);\n --success: var(--c-success, #18a058);\n --warning: var(--c-warning, #f0a020);\n --error: var(--c-error, #d03050);\n --border: var(--c-border, rgba(0, 0, 0, 0.09));\n --bg-hover: rgba(0, 0, 0, 0.04);\n display: flex;\n}\n.steps-connected[data-v-33e608bb] {\n --line-gap: 0px;\n}\n.steps-horizontal[data-v-33e608bb] {\n flex-direction: row;\n align-items: flex-start;\n}\n.steps-vertical[data-v-33e608bb] {\n flex-direction: column;\n}\n.step-item[data-v-33e608bb] {\n display: flex;\n position: relative;\n flex: 1;\n gap: 12px;\n}\n.steps-horizontal .step-item[data-v-33e608bb] {\n flex-direction: column;\n align-items: center;\n text-align: center;\n min-width: 0;\n}\n.steps-vertical .step-item[data-v-33e608bb] {\n flex-direction: row;\n min-height: 72px;\n flex: none;\n width: 100%;\n}\n.step-indicator[data-v-33e608bb] {\n position: relative;\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n.steps-horizontal .step-indicator[data-v-33e608bb] {\n width: 100%;\n justify-content: center;\n}\n.steps-vertical .step-indicator[data-v-33e608bb] {\n flex-direction: column;\n}\n.step-icon[data-v-33e608bb] {\n width: var(--icon-size);\n height: var(--icon-size);\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n border: var(--line-width) solid var(--border);\n background: var(--c-bg-card, #fff);\n position: relative;\n z-index: 2;\n transition: all 0.2s ease;\n font-size: 16px;\n}\n.step-finish .step-icon[data-v-33e608bb] {\n border-color: var(--success);\n color: var(--success);\n}\n.step-process .step-icon[data-v-33e608bb] {\n border-color: var(--primary);\n background: var(--primary);\n color: white;\n}\n.step-error .step-icon[data-v-33e608bb] {\n border-color: var(--error);\n color: var(--error);\n}\n.step-index[data-v-33e608bb] {\n font-size: 14px;\n font-weight: 500;\n}\n.step-line[data-v-33e608bb] {\n background: var(--border);\n position: absolute;\n transition: background 0.2s ease;\n}\n.steps-horizontal .step-line[data-v-33e608bb] {\n height: var(--line-width);\n left: calc(50% + var(--icon-size) / 2 + var(--line-gap));\n right: calc(-50% + var(--icon-size) / 2 + var(--line-gap));\n top: calc(var(--icon-size) / 2);\n}\n.steps-vertical .step-line[data-v-33e608bb] {\n width: var(--line-width);\n top: var(--icon-size);\n bottom: 0;\n left: calc(var(--icon-size) / 2 - 1px);\n}\n.step-finish .step-line[data-v-33e608bb] {\n background: var(--success);\n}\n.step-content[data-v-33e608bb] {\n flex: 1;\n min-width: 0;\n}\n.steps-vertical .step-content[data-v-33e608bb] {\n padding-top: 4px;\n}\n.step-title[data-v-33e608bb] {\n font-size: 14px;\n font-weight: 500;\n line-height: 22px;\n margin-bottom: 2px;\n word-break: break-word;\n}\n.step-time[data-v-33e608bb] {\n font-size: 12px;\n line-height: 20px;\n margin-bottom: 2px;\n opacity: 0.65;\n}\n.step-finish .step-time[data-v-33e608bb] {\n color: var(--success);\n}\n.step-description[data-v-33e608bb] {\n font-size: 12px;\n line-height: 20px;\n opacity: 0.65;\n}\n.step-wait .step-title[data-v-33e608bb] {\n opacity: 0.65;\n}\n.step-process .step-title[data-v-33e608bb] {\n color: var(--primary);\n font-weight: 600;\n}\n.step-error .step-title[data-v-33e608bb] {\n color: var(--error);\n}\n.step-clickable[data-v-33e608bb] {\n cursor: pointer;\n}\n.step-clickable:hover .step-icon[data-v-33e608bb] {\n transform: scale(1.05);\n}\n.step-clickable:not(.step-process):hover .step-icon[data-v-33e608bb] {\n background: var(--bg-hover);\n}\n.step-clickable:hover .step-title[data-v-33e608bb] {\n color: var(--primary);\n}\n@media (max-width: 768px) {\n.steps-horizontal[data-v-33e608bb] {\n flex-wrap: wrap;\n}\n.steps-horizontal .step-item[data-v-33e608bb] {\n flex: 0 0 50%;\n margin-bottom: 24px;\n}\n.steps-horizontal .step-line[data-v-33e608bb] {\n display: none;\n}\n}\n@media (prefers-reduced-motion: reduce) {\n.step-icon[data-v-33e608bb],\n .step-line[data-v-33e608bb] {\n transition: none;\n}\n}"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
package/dist/C_Steps.css CHANGED
@@ -1,7 +1,8 @@
1
- /* unplugin-vue-components disabled */.c-steps[data-v-ecd7bf0c] {
1
+ /* unplugin-vue-components disabled */.c-steps[data-v-33e608bb] {
2
2
  --step-gap: 24px;
3
3
  --icon-size: 32px;
4
4
  --line-width: 2px;
5
+ --line-gap: 4px;
5
6
  --primary: var(--c-primary, #18a058);
6
7
  --success: var(--c-success, #18a058);
7
8
  --warning: var(--c-warning, #f0a020);
@@ -10,45 +11,48 @@
10
11
  --bg-hover: rgba(0, 0, 0, 0.04);
11
12
  display: flex;
12
13
  }
13
- .steps-horizontal[data-v-ecd7bf0c] {
14
+ .steps-connected[data-v-33e608bb] {
15
+ --line-gap: 0px;
16
+ }
17
+ .steps-horizontal[data-v-33e608bb] {
14
18
  flex-direction: row;
15
19
  align-items: flex-start;
16
20
  }
17
- .steps-vertical[data-v-ecd7bf0c] {
21
+ .steps-vertical[data-v-33e608bb] {
18
22
  flex-direction: column;
19
23
  }
20
- .step-item[data-v-ecd7bf0c] {
24
+ .step-item[data-v-33e608bb] {
21
25
  display: flex;
22
26
  position: relative;
23
27
  flex: 1;
24
28
  gap: 12px;
25
29
  }
26
- .steps-horizontal .step-item[data-v-ecd7bf0c] {
30
+ .steps-horizontal .step-item[data-v-33e608bb] {
27
31
  flex-direction: column;
28
32
  align-items: center;
29
33
  text-align: center;
30
34
  min-width: 0;
31
35
  }
32
- .steps-vertical .step-item[data-v-ecd7bf0c] {
36
+ .steps-vertical .step-item[data-v-33e608bb] {
33
37
  flex-direction: row;
34
38
  min-height: 72px;
35
39
  flex: none;
36
40
  width: 100%;
37
41
  }
38
- .step-indicator[data-v-ecd7bf0c] {
42
+ .step-indicator[data-v-33e608bb] {
39
43
  position: relative;
40
44
  display: flex;
41
45
  align-items: center;
42
46
  flex-shrink: 0;
43
47
  }
44
- .steps-horizontal .step-indicator[data-v-ecd7bf0c] {
48
+ .steps-horizontal .step-indicator[data-v-33e608bb] {
45
49
  width: 100%;
46
50
  justify-content: center;
47
51
  }
48
- .steps-vertical .step-indicator[data-v-ecd7bf0c] {
52
+ .steps-vertical .step-indicator[data-v-33e608bb] {
49
53
  flex-direction: column;
50
54
  }
51
- .step-icon[data-v-ecd7bf0c] {
55
+ .step-icon[data-v-33e608bb] {
52
56
  width: var(--icon-size);
53
57
  height: var(--icon-size);
54
58
  border-radius: 50%;
@@ -62,110 +66,110 @@
62
66
  transition: all 0.2s ease;
63
67
  font-size: 16px;
64
68
  }
65
- .step-finish .step-icon[data-v-ecd7bf0c] {
69
+ .step-finish .step-icon[data-v-33e608bb] {
66
70
  border-color: var(--success);
67
71
  color: var(--success);
68
72
  }
69
- .step-process .step-icon[data-v-ecd7bf0c] {
73
+ .step-process .step-icon[data-v-33e608bb] {
70
74
  border-color: var(--primary);
71
75
  background: var(--primary);
72
76
  color: white;
73
77
  }
74
- .step-error .step-icon[data-v-ecd7bf0c] {
78
+ .step-error .step-icon[data-v-33e608bb] {
75
79
  border-color: var(--error);
76
80
  color: var(--error);
77
81
  }
78
- .step-index[data-v-ecd7bf0c] {
82
+ .step-index[data-v-33e608bb] {
79
83
  font-size: 14px;
80
84
  font-weight: 500;
81
85
  }
82
- .step-line[data-v-ecd7bf0c] {
86
+ .step-line[data-v-33e608bb] {
83
87
  background: var(--border);
84
88
  position: absolute;
85
89
  transition: background 0.2s ease;
86
90
  }
87
- .steps-horizontal .step-line[data-v-ecd7bf0c] {
91
+ .steps-horizontal .step-line[data-v-33e608bb] {
88
92
  height: var(--line-width);
89
- left: calc(50% + var(--icon-size) / 2);
90
- right: calc(-50% + var(--icon-size) / 2);
93
+ left: calc(50% + var(--icon-size) / 2 + var(--line-gap));
94
+ right: calc(-50% + var(--icon-size) / 2 + var(--line-gap));
91
95
  top: calc(var(--icon-size) / 2);
92
96
  }
93
- .steps-vertical .step-line[data-v-ecd7bf0c] {
97
+ .steps-vertical .step-line[data-v-33e608bb] {
94
98
  width: var(--line-width);
95
99
  top: var(--icon-size);
96
100
  bottom: 0;
97
101
  left: calc(var(--icon-size) / 2 - 1px);
98
102
  }
99
- .step-finish .step-line[data-v-ecd7bf0c] {
103
+ .step-finish .step-line[data-v-33e608bb] {
100
104
  background: var(--success);
101
105
  }
102
- .step-content[data-v-ecd7bf0c] {
106
+ .step-content[data-v-33e608bb] {
103
107
  flex: 1;
104
108
  min-width: 0;
105
109
  }
106
- .steps-vertical .step-content[data-v-ecd7bf0c] {
110
+ .steps-vertical .step-content[data-v-33e608bb] {
107
111
  padding-top: 4px;
108
112
  }
109
- .step-title[data-v-ecd7bf0c] {
113
+ .step-title[data-v-33e608bb] {
110
114
  font-size: 14px;
111
115
  font-weight: 500;
112
116
  line-height: 22px;
113
117
  margin-bottom: 2px;
114
118
  word-break: break-word;
115
119
  }
116
- .step-time[data-v-ecd7bf0c] {
120
+ .step-time[data-v-33e608bb] {
117
121
  font-size: 12px;
118
122
  line-height: 20px;
119
123
  margin-bottom: 2px;
120
124
  opacity: 0.65;
121
125
  }
122
- .step-finish .step-time[data-v-ecd7bf0c] {
126
+ .step-finish .step-time[data-v-33e608bb] {
123
127
  color: var(--success);
124
128
  }
125
- .step-description[data-v-ecd7bf0c] {
129
+ .step-description[data-v-33e608bb] {
126
130
  font-size: 12px;
127
131
  line-height: 20px;
128
132
  opacity: 0.65;
129
133
  }
130
- .step-wait .step-title[data-v-ecd7bf0c] {
134
+ .step-wait .step-title[data-v-33e608bb] {
131
135
  opacity: 0.65;
132
136
  }
133
- .step-process .step-title[data-v-ecd7bf0c] {
137
+ .step-process .step-title[data-v-33e608bb] {
134
138
  color: var(--primary);
135
139
  font-weight: 600;
136
140
  }
137
- .step-error .step-title[data-v-ecd7bf0c] {
141
+ .step-error .step-title[data-v-33e608bb] {
138
142
  color: var(--error);
139
143
  }
140
- .step-clickable[data-v-ecd7bf0c] {
144
+ .step-clickable[data-v-33e608bb] {
141
145
  cursor: pointer;
142
146
  }
143
- .step-clickable:hover .step-icon[data-v-ecd7bf0c] {
147
+ .step-clickable:hover .step-icon[data-v-33e608bb] {
144
148
  transform: scale(1.05);
145
149
  }
146
- .step-clickable:not(.step-process):hover .step-icon[data-v-ecd7bf0c] {
150
+ .step-clickable:not(.step-process):hover .step-icon[data-v-33e608bb] {
147
151
  background: var(--bg-hover);
148
152
  }
149
- .step-clickable:hover .step-title[data-v-ecd7bf0c] {
153
+ .step-clickable:hover .step-title[data-v-33e608bb] {
150
154
  color: var(--primary);
151
155
  }
152
156
  @media (max-width: 768px) {
153
- .steps-horizontal[data-v-ecd7bf0c] {
157
+ .steps-horizontal[data-v-33e608bb] {
154
158
  flex-wrap: wrap;
155
159
  }
156
- .steps-horizontal .step-item[data-v-ecd7bf0c] {
160
+ .steps-horizontal .step-item[data-v-33e608bb] {
157
161
  flex: 0 0 50%;
158
162
  margin-bottom: 24px;
159
163
  }
160
- .steps-horizontal .step-line[data-v-ecd7bf0c] {
164
+ .steps-horizontal .step-line[data-v-33e608bb] {
161
165
  display: none;
162
166
  }
163
167
  }
164
168
  @media (prefers-reduced-motion: reduce) {
165
- .step-icon[data-v-ecd7bf0c],
166
- .step-line[data-v-ecd7bf0c] {
169
+ .step-icon[data-v-33e608bb],
170
+ .step-line[data-v-33e608bb] {
167
171
  transition: none;
168
172
  }
169
173
  }
170
174
 
171
- /*# sourceMappingURL=C_Steps-B1Wf3E73.css.map*/
175
+ /*# sourceMappingURL=C_Steps-HZ438_4G.css.map*/
@@ -1 +1 @@
1
- {"version":3,"file":"C_Steps.js","names":["direction","steps","clickable"],"sources":["../src/components/C_Steps/index.vue","../src/components/C_Steps/index.vue","../src/components/C_Steps/index.vue"],"sourcesContent":["/* unplugin-vue-components disabled */<!--\r\n * @Author: ChenYu ycyplus@gmail.com\r\n * @Date: 2025-06-01\r\n * @Description: 步骤条组件\r\n * @Migration: naive-ui-components 组件库迁移版本\r\n * Copyright (c) 2025 by CHENY, All Rights Reserved.\r\n-->\r\n<template>\r\n <div class=\"c-steps\" :class=\"[`steps-${direction}`]\">\r\n <div\r\n v-for=\"(step, index) in steps\"\r\n :key=\"index\"\r\n class=\"step-item\"\r\n :class=\"[\r\n `step-${getStatus(index)}`,\r\n { 'step-clickable': clickable && !step.disabled },\r\n ]\"\r\n @click=\"handleClick(index)\"\r\n >\r\n <div class=\"step-indicator\">\r\n <div class=\"step-icon\">\r\n <i v-if=\"step.icon\" :class=\"step.icon\"></i>\r\n <i v-else-if=\"getStatus(index) === 'finish'\" class=\"i-mdi:check\"></i>\r\n <span v-else class=\"step-index\">{{ index + 1 }}</span>\r\n </div>\r\n <div v-if=\"index < steps.length - 1\" class=\"step-line\" />\r\n </div>\r\n <div class=\"step-content\">\r\n <div class=\"step-title\">{{ step.title }}</div>\r\n <div v-if=\"step.time\" class=\"step-time\">{{ step.time }}</div>\r\n <div v-if=\"step.description\" class=\"step-description\">\r\n {{ step.description }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\ndefineOptions({ name: \"C_Steps\" });\r\n\r\nexport interface StepItem {\r\n title: string;\r\n description?: string;\r\n time?: string;\r\n icon?: string;\r\n status?: \"wait\" | \"process\" | \"finish\" | \"error\";\r\n disabled?: boolean;\r\n detail?: string;\r\n}\r\n\r\nconst props = withDefaults(\r\n defineProps<{\r\n steps: StepItem[];\r\n current?: number;\r\n direction?: \"horizontal\" | \"vertical\";\r\n clickable?: boolean;\r\n }>(),\r\n {\r\n current: 0,\r\n direction: \"horizontal\",\r\n clickable: false,\r\n },\r\n);\r\n\r\nconst emit = defineEmits<{\r\n \"update:current\": [number];\r\n change: [number];\r\n}>();\r\n\r\nconst getStatus = (index: number) => {\r\n if (props.steps[index].status) {\r\n return props.steps[index].status;\r\n }\r\n if (index < props.current) return \"finish\";\r\n if (index === props.current) return \"process\";\r\n return \"wait\";\r\n};\r\n\r\nconst handleClick = (index: number) => {\r\n if (!props.clickable || props.steps[index].disabled) return;\r\n emit(\"update:current\", index);\r\n emit(\"change\", index);\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n@use \"./index.scss\";\r\n</style>\r\n","/* unplugin-vue-components disabled */<!--\r\n * @Author: ChenYu ycyplus@gmail.com\r\n * @Date: 2025-06-01\r\n * @Description: 步骤条组件\r\n * @Migration: naive-ui-components 组件库迁移版本\r\n * Copyright (c) 2025 by CHENY, All Rights Reserved.\r\n-->\r\n<template>\r\n <div class=\"c-steps\" :class=\"[`steps-${direction}`]\">\r\n <div\r\n v-for=\"(step, index) in steps\"\r\n :key=\"index\"\r\n class=\"step-item\"\r\n :class=\"[\r\n `step-${getStatus(index)}`,\r\n { 'step-clickable': clickable && !step.disabled },\r\n ]\"\r\n @click=\"handleClick(index)\"\r\n >\r\n <div class=\"step-indicator\">\r\n <div class=\"step-icon\">\r\n <i v-if=\"step.icon\" :class=\"step.icon\"></i>\r\n <i v-else-if=\"getStatus(index) === 'finish'\" class=\"i-mdi:check\"></i>\r\n <span v-else class=\"step-index\">{{ index + 1 }}</span>\r\n </div>\r\n <div v-if=\"index < steps.length - 1\" class=\"step-line\" />\r\n </div>\r\n <div class=\"step-content\">\r\n <div class=\"step-title\">{{ step.title }}</div>\r\n <div v-if=\"step.time\" class=\"step-time\">{{ step.time }}</div>\r\n <div v-if=\"step.description\" class=\"step-description\">\r\n {{ step.description }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\ndefineOptions({ name: \"C_Steps\" });\r\n\r\nexport interface StepItem {\r\n title: string;\r\n description?: string;\r\n time?: string;\r\n icon?: string;\r\n status?: \"wait\" | \"process\" | \"finish\" | \"error\";\r\n disabled?: boolean;\r\n detail?: string;\r\n}\r\n\r\nconst props = withDefaults(\r\n defineProps<{\r\n steps: StepItem[];\r\n current?: number;\r\n direction?: \"horizontal\" | \"vertical\";\r\n clickable?: boolean;\r\n }>(),\r\n {\r\n current: 0,\r\n direction: \"horizontal\",\r\n clickable: false,\r\n },\r\n);\r\n\r\nconst emit = defineEmits<{\r\n \"update:current\": [number];\r\n change: [number];\r\n}>();\r\n\r\nconst getStatus = (index: number) => {\r\n if (props.steps[index].status) {\r\n return props.steps[index].status;\r\n }\r\n if (index < props.current) return \"finish\";\r\n if (index === props.current) return \"process\";\r\n return \"wait\";\r\n};\r\n\r\nconst handleClick = (index: number) => {\r\n if (!props.clickable || props.steps[index].disabled) return;\r\n emit(\"update:current\", index);\r\n emit(\"change\", index);\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n@use \"./index.scss\";\r\n</style>\r\n","<!--\r\n * @Author: ChenYu ycyplus@gmail.com\r\n * @Date: 2025-06-01\r\n * @Description: 步骤条组件\r\n * @Migration: naive-ui-components 组件库迁移版本\r\n * Copyright (c) 2025 by CHENY, All Rights Reserved.\r\n-->\r\n<template>\r\n <div class=\"c-steps\" :class=\"[`steps-${direction}`]\">\r\n <div\r\n v-for=\"(step, index) in steps\"\r\n :key=\"index\"\r\n class=\"step-item\"\r\n :class=\"[\r\n `step-${getStatus(index)}`,\r\n { 'step-clickable': clickable && !step.disabled },\r\n ]\"\r\n @click=\"handleClick(index)\"\r\n >\r\n <div class=\"step-indicator\">\r\n <div class=\"step-icon\">\r\n <i v-if=\"step.icon\" :class=\"step.icon\"></i>\r\n <i v-else-if=\"getStatus(index) === 'finish'\" class=\"i-mdi:check\"></i>\r\n <span v-else class=\"step-index\">{{ index + 1 }}</span>\r\n </div>\r\n <div v-if=\"index < steps.length - 1\" class=\"step-line\" />\r\n </div>\r\n <div class=\"step-content\">\r\n <div class=\"step-title\">{{ step.title }}</div>\r\n <div v-if=\"step.time\" class=\"step-time\">{{ step.time }}</div>\r\n <div v-if=\"step.description\" class=\"step-description\">\r\n {{ step.description }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\ndefineOptions({ name: \"C_Steps\" });\r\n\r\nexport interface StepItem {\r\n title: string;\r\n description?: string;\r\n time?: string;\r\n icon?: string;\r\n status?: \"wait\" | \"process\" | \"finish\" | \"error\";\r\n disabled?: boolean;\r\n detail?: string;\r\n}\r\n\r\nconst props = withDefaults(\r\n defineProps<{\r\n steps: StepItem[];\r\n current?: number;\r\n direction?: \"horizontal\" | \"vertical\";\r\n clickable?: boolean;\r\n }>(),\r\n {\r\n current: 0,\r\n direction: \"horizontal\",\r\n clickable: false,\r\n },\r\n);\r\n\r\nconst emit = defineEmits<{\r\n \"update:current\": [number];\r\n change: [number];\r\n}>();\r\n\r\nconst getStatus = (index: number) => {\r\n if (props.steps[index].status) {\r\n return props.steps[index].status;\r\n }\r\n if (index < props.current) return \"finish\";\r\n if (index === props.current) return \"process\";\r\n return \"wait\";\r\n};\r\n\r\nconst handleClick = (index: number) => {\r\n if (!props.clickable || props.steps[index].disabled) return;\r\n emit(\"update:current\", index);\r\n emit(\"change\", index);\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n@use \"./index.scss\";\r\n</style>\r\n"],"mappings":"qjBEmDA,IAAM,EAAQ,EAcR,EAAO,EAKP,EAAa,GACb,EAAM,MAAM,GAAO,OACd,EAAM,MAAM,GAAO,OAExB,EAAQ,EAAM,QAAgB,SAC9B,IAAU,EAAM,QAAgB,UAC7B,OAGH,EAAe,GAAkB,CACjC,CAAC,EAAM,WAAa,EAAM,MAAM,GAAO,WAC3C,EAAK,iBAAkB,EAAM,CAC7B,EAAK,SAAU,EAAM,4DA/Cf,MAAA,CA3BD,OAAA,EAAA,EAAA,gBAAK,CAAC,UAAS,CAAA,SAAmBA,EAAAA,YAAS,CAAA,CAAA,CAAA,CAAA,GAAA,EAAA,EAAA,WAAA,GAAA,EAAA,EAAA,EAAA,oBA0BxC,EAAA,SAAA,MAAA,EAAA,EAAA,YAxBoBC,EAAAA,OAAhB,EAAM,gDAwBV,MAAA,CAvBH,IAAK,EACN,OAAA,EAAA,EAAA,gBAAK,CAAC,YAAW,CAAA,QACU,EAAU,EAAK,GAAA,CAAA,iBAAkCC,EAAAA,WAAS,CAAK,EAAK,SAAQ,CAAA,CAAA,CAAA,CAItG,QAAK,GAAE,EAAY,EAAK,4BASnB,MAPN,EAOM,EAAA,EAAA,EAAA,oBAFE,MAJN,EAIM,CAHK,EAAK,OAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAA6B,IAAA,OAAtB,OAAA,EAAA,EAAA,gBAAO,EAAK,KAAI,WACvB,EAAU,EAAK,GAAA,WAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAAwC,IAArE,EAAqE,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBACf,OAAtD,GAAA,EAAA,EAAA,iBAAmC,EAAK,EAAA,CAAA,EAAA,EAAA,CAAA,CAE/B,EAAQD,EAAAA,MAAM,OAAM,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAA0B,MAAzD,EAAyD,GAAA,EAAA,EAAA,oBAAA,OAAA,GAAA,CAAA,CAAA,EAAA,EAAA,EAAA,oBAQrD,MANN,EAMM,0BAL0C,MAA9C,GAAA,EAAA,EAAA,iBAA2B,EAAK,MAAK,CAAA,EAAA,CAC1B,EAAK,OAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAA6C,MAA7D,GAAA,EAAA,EAAA,iBAA2C,EAAK,KAAI,CAAA,EAAA,GAAA,EAAA,EAAA,oBAAA,OAAA,GAAA,CACzC,EAAK,cAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAEV,MAFN,GAAA,EAAA,EAAA,iBACK,EAAK,YAAW,CAAA,EAAA,GAAA,EAAA,EAAA,oBAAA,OAAA,GAAA"}
1
+ {"version":3,"file":"C_Steps.js","names":["direction","connected","steps","clickable"],"sources":["../src/components/C_Steps/index.vue","../src/components/C_Steps/index.vue","../src/components/C_Steps/index.vue"],"sourcesContent":["/* unplugin-vue-components disabled */<!--\r\n * @Author: ChenYu ycyplus@gmail.com\r\n * @Date: 2025-06-01\r\n * @Description: 步骤条组件\r\n * @Migration: naive-ui-components 组件库迁移版本\r\n * Copyright (c) 2025 by CHENY, All Rights Reserved.\r\n-->\r\n<template>\r\n <div class=\"c-steps\" :class=\"[`steps-${direction}`, { 'steps-connected': connected }]\">\r\n <div\r\n v-for=\"(step, index) in steps\"\r\n :key=\"index\"\r\n class=\"step-item\"\r\n :class=\"[\r\n `step-${getStatus(index)}`,\r\n { 'step-clickable': clickable && !step.disabled },\r\n ]\"\r\n @click=\"handleClick(index)\"\r\n >\r\n <div class=\"step-indicator\">\r\n <div class=\"step-icon\">\r\n <i v-if=\"step.icon\" :class=\"step.icon\"></i>\r\n <i v-else-if=\"getStatus(index) === 'finish'\" class=\"i-mdi:check\"></i>\r\n <span v-else class=\"step-index\">{{ index + 1 }}</span>\r\n </div>\r\n <div v-if=\"index < steps.length - 1\" class=\"step-line\" />\r\n </div>\r\n <div class=\"step-content\">\r\n <div class=\"step-title\">{{ step.title }}</div>\r\n <div v-if=\"step.time\" class=\"step-time\">{{ step.time }}</div>\r\n <div v-if=\"step.description\" class=\"step-description\">\r\n {{ step.description }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\ndefineOptions({ name: \"C_Steps\" });\r\n\r\nexport interface StepItem {\r\n title: string;\r\n description?: string;\r\n time?: string;\r\n icon?: string;\r\n status?: \"wait\" | \"process\" | \"finish\" | \"error\";\r\n disabled?: boolean;\r\n detail?: string;\r\n}\r\n\r\nconst props = withDefaults(\r\n defineProps<{\r\n steps: StepItem[];\r\n current?: number;\r\n direction?: \"horizontal\" | \"vertical\";\r\n clickable?: boolean;\r\n /** 水平模式下线条是否与图标紧密相连,默认 false(两端留有对称间距)*/\r\n connected?: boolean;\r\n }>(),\r\n {\r\n current: 0,\r\n direction: \"horizontal\",\r\n clickable: false,\r\n connected: false,\r\n },\r\n);\r\n\r\nconst emit = defineEmits<{\r\n \"update:current\": [number];\r\n change: [number];\r\n}>();\r\n\r\nconst getStatus = (index: number) => {\r\n if (props.steps[index].status) {\r\n return props.steps[index].status;\r\n }\r\n if (index < props.current) return \"finish\";\r\n if (index === props.current) return \"process\";\r\n return \"wait\";\r\n};\r\n\r\nconst handleClick = (index: number) => {\r\n if (!props.clickable || props.steps[index].disabled) return;\r\n emit(\"update:current\", index);\r\n emit(\"change\", index);\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n@use \"./index.scss\";\r\n</style>\r\n","/* unplugin-vue-components disabled */<!--\r\n * @Author: ChenYu ycyplus@gmail.com\r\n * @Date: 2025-06-01\r\n * @Description: 步骤条组件\r\n * @Migration: naive-ui-components 组件库迁移版本\r\n * Copyright (c) 2025 by CHENY, All Rights Reserved.\r\n-->\r\n<template>\r\n <div class=\"c-steps\" :class=\"[`steps-${direction}`, { 'steps-connected': connected }]\">\r\n <div\r\n v-for=\"(step, index) in steps\"\r\n :key=\"index\"\r\n class=\"step-item\"\r\n :class=\"[\r\n `step-${getStatus(index)}`,\r\n { 'step-clickable': clickable && !step.disabled },\r\n ]\"\r\n @click=\"handleClick(index)\"\r\n >\r\n <div class=\"step-indicator\">\r\n <div class=\"step-icon\">\r\n <i v-if=\"step.icon\" :class=\"step.icon\"></i>\r\n <i v-else-if=\"getStatus(index) === 'finish'\" class=\"i-mdi:check\"></i>\r\n <span v-else class=\"step-index\">{{ index + 1 }}</span>\r\n </div>\r\n <div v-if=\"index < steps.length - 1\" class=\"step-line\" />\r\n </div>\r\n <div class=\"step-content\">\r\n <div class=\"step-title\">{{ step.title }}</div>\r\n <div v-if=\"step.time\" class=\"step-time\">{{ step.time }}</div>\r\n <div v-if=\"step.description\" class=\"step-description\">\r\n {{ step.description }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\ndefineOptions({ name: \"C_Steps\" });\r\n\r\nexport interface StepItem {\r\n title: string;\r\n description?: string;\r\n time?: string;\r\n icon?: string;\r\n status?: \"wait\" | \"process\" | \"finish\" | \"error\";\r\n disabled?: boolean;\r\n detail?: string;\r\n}\r\n\r\nconst props = withDefaults(\r\n defineProps<{\r\n steps: StepItem[];\r\n current?: number;\r\n direction?: \"horizontal\" | \"vertical\";\r\n clickable?: boolean;\r\n /** 水平模式下线条是否与图标紧密相连,默认 false(两端留有对称间距)*/\r\n connected?: boolean;\r\n }>(),\r\n {\r\n current: 0,\r\n direction: \"horizontal\",\r\n clickable: false,\r\n connected: false,\r\n },\r\n);\r\n\r\nconst emit = defineEmits<{\r\n \"update:current\": [number];\r\n change: [number];\r\n}>();\r\n\r\nconst getStatus = (index: number) => {\r\n if (props.steps[index].status) {\r\n return props.steps[index].status;\r\n }\r\n if (index < props.current) return \"finish\";\r\n if (index === props.current) return \"process\";\r\n return \"wait\";\r\n};\r\n\r\nconst handleClick = (index: number) => {\r\n if (!props.clickable || props.steps[index].disabled) return;\r\n emit(\"update:current\", index);\r\n emit(\"change\", index);\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n@use \"./index.scss\";\r\n</style>\r\n","<!--\r\n * @Author: ChenYu ycyplus@gmail.com\r\n * @Date: 2025-06-01\r\n * @Description: 步骤条组件\r\n * @Migration: naive-ui-components 组件库迁移版本\r\n * Copyright (c) 2025 by CHENY, All Rights Reserved.\r\n-->\r\n<template>\r\n <div class=\"c-steps\" :class=\"[`steps-${direction}`, { 'steps-connected': connected }]\">\r\n <div\r\n v-for=\"(step, index) in steps\"\r\n :key=\"index\"\r\n class=\"step-item\"\r\n :class=\"[\r\n `step-${getStatus(index)}`,\r\n { 'step-clickable': clickable && !step.disabled },\r\n ]\"\r\n @click=\"handleClick(index)\"\r\n >\r\n <div class=\"step-indicator\">\r\n <div class=\"step-icon\">\r\n <i v-if=\"step.icon\" :class=\"step.icon\"></i>\r\n <i v-else-if=\"getStatus(index) === 'finish'\" class=\"i-mdi:check\"></i>\r\n <span v-else class=\"step-index\">{{ index + 1 }}</span>\r\n </div>\r\n <div v-if=\"index < steps.length - 1\" class=\"step-line\" />\r\n </div>\r\n <div class=\"step-content\">\r\n <div class=\"step-title\">{{ step.title }}</div>\r\n <div v-if=\"step.time\" class=\"step-time\">{{ step.time }}</div>\r\n <div v-if=\"step.description\" class=\"step-description\">\r\n {{ step.description }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\ndefineOptions({ name: \"C_Steps\" });\r\n\r\nexport interface StepItem {\r\n title: string;\r\n description?: string;\r\n time?: string;\r\n icon?: string;\r\n status?: \"wait\" | \"process\" | \"finish\" | \"error\";\r\n disabled?: boolean;\r\n detail?: string;\r\n}\r\n\r\nconst props = withDefaults(\r\n defineProps<{\r\n steps: StepItem[];\r\n current?: number;\r\n direction?: \"horizontal\" | \"vertical\";\r\n clickable?: boolean;\r\n /** 水平模式下线条是否与图标紧密相连,默认 false(两端留有对称间距)*/\r\n connected?: boolean;\r\n }>(),\r\n {\r\n current: 0,\r\n direction: \"horizontal\",\r\n clickable: false,\r\n connected: false,\r\n },\r\n);\r\n\r\nconst emit = defineEmits<{\r\n \"update:current\": [number];\r\n change: [number];\r\n}>();\r\n\r\nconst getStatus = (index: number) => {\r\n if (props.steps[index].status) {\r\n return props.steps[index].status;\r\n }\r\n if (index < props.current) return \"finish\";\r\n if (index === props.current) return \"process\";\r\n return \"wait\";\r\n};\r\n\r\nconst handleClick = (index: number) => {\r\n if (!props.clickable || props.steps[index].disabled) return;\r\n emit(\"update:current\", index);\r\n emit(\"change\", index);\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n@use \"./index.scss\";\r\n</style>\r\n"],"mappings":"ylBEmDA,IAAM,EAAQ,EAiBR,EAAO,EAKP,EAAa,GACb,EAAM,MAAM,GAAO,OACd,EAAM,MAAM,GAAO,OAExB,EAAQ,EAAM,QAAgB,SAC9B,IAAU,EAAM,QAAgB,UAC7B,OAGH,EAAe,GAAkB,CACjC,CAAC,EAAM,WAAa,EAAM,MAAM,GAAO,WAC3C,EAAK,iBAAkB,EAAM,CAC7B,EAAK,SAAU,EAAM,4DAlDf,MAAA,CA3BD,OAAA,EAAA,EAAA,gBAAK,CAAC,UAAS,CAAA,SAAmBA,EAAAA,YAAS,CAAA,kBAAyBC,EAAAA,UAAS,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,EAAA,EAAA,WAAA,GAAA,EAAA,EAAA,EAAA,oBA0B1E,EAAA,SAAA,MAAA,EAAA,EAAA,YAxBoBC,EAAAA,OAAhB,EAAM,gDAwBV,MAAA,CAvBH,IAAK,EACN,OAAA,EAAA,EAAA,gBAAK,CAAC,YAAW,CAAA,QACU,EAAU,EAAK,GAAA,CAAA,iBAAkCC,EAAAA,WAAS,CAAK,EAAK,SAAQ,CAAA,CAAA,CAAA,CAItG,QAAK,GAAE,EAAY,EAAK,4BASnB,MAPN,EAOM,EAAA,EAAA,EAAA,oBAFE,MAJN,EAIM,CAHK,EAAK,OAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAA6B,IAAA,OAAtB,OAAA,EAAA,EAAA,gBAAO,EAAK,KAAI,WACvB,EAAU,EAAK,GAAA,WAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAAwC,IAArE,EAAqE,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBACf,OAAtD,GAAA,EAAA,EAAA,iBAAmC,EAAK,EAAA,CAAA,EAAA,EAAA,CAAA,CAE/B,EAAQD,EAAAA,MAAM,OAAM,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAA0B,MAAzD,EAAyD,GAAA,EAAA,EAAA,oBAAA,OAAA,GAAA,CAAA,CAAA,EAAA,EAAA,EAAA,oBAQrD,MANN,EAMM,0BAL0C,MAA9C,GAAA,EAAA,EAAA,iBAA2B,EAAK,MAAK,CAAA,EAAA,CAC1B,EAAK,OAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAA6C,MAA7D,GAAA,EAAA,EAAA,iBAA2C,EAAK,KAAI,CAAA,EAAA,GAAA,EAAA,EAAA,oBAAA,OAAA,GAAA,CACzC,EAAK,cAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAEV,MAFN,GAAA,EAAA,EAAA,iBACK,EAAK,YAAW,CAAA,EAAA,GAAA,EAAA,EAAA,oBAAA,OAAA,GAAA"}
package/dist/C_Steps2.js CHANGED
@@ -1,2 +1,2 @@
1
- import{t as e}from"./export-helper.js";import{Fragment as t,createCommentVNode as n,createElementBlock as r,createElementVNode as i,defineComponent as a,normalizeClass as o,openBlock as s,renderList as c,toDisplayString as l}from"vue";const u=[`onClick`],d={class:`step-indicator`},f={class:`step-icon`},p={key:1,class:`i-mdi:check`},m={key:2,class:`step-index`},h={key:0,class:`step-line`},g={class:`step-content`},_={class:`step-title`},v={key:0,class:`step-time`},y={key:1,class:`step-description`};var b=e(a({name:`C_Steps`,__name:`index`,props:{steps:{},current:{default:0},direction:{default:`horizontal`},clickable:{type:Boolean,default:!1}},emits:[`update:current`,`change`],setup(e,{emit:a}){let b=e,x=a,S=e=>b.steps[e].status?b.steps[e].status:e<b.current?`finish`:e===b.current?`process`:`wait`,C=e=>{!b.clickable||b.steps[e].disabled||(x(`update:current`,e),x(`change`,e))};return(e,a)=>(s(),r(`div`,{class:o([`c-steps`,[`steps-${e.direction}`]])},[(s(!0),r(t,null,c(e.steps,(t,a)=>(s(),r(`div`,{key:a,class:o([`step-item`,[`step-${S(a)}`,{"step-clickable":e.clickable&&!t.disabled}]]),onClick:e=>C(a)},[i(`div`,d,[i(`div`,f,[t.icon?(s(),r(`i`,{key:0,class:o(t.icon)},null,2)):S(a)===`finish`?(s(),r(`i`,p)):(s(),r(`span`,m,l(a+1),1))]),a<e.steps.length-1?(s(),r(`div`,h)):n(`v-if`,!0)]),i(`div`,g,[i(`div`,_,l(t.title),1),t.time?(s(),r(`div`,v,l(t.time),1)):n(`v-if`,!0),t.description?(s(),r(`div`,y,l(t.description),1)):n(`v-if`,!0)])],10,u))),128))],2))}}),[[`__scopeId`,`data-v-ecd7bf0c`]]);export{b as t};
1
+ import{t as e}from"./export-helper.js";import{Fragment as t,createCommentVNode as n,createElementBlock as r,createElementVNode as i,defineComponent as a,normalizeClass as o,openBlock as s,renderList as c,toDisplayString as l}from"vue";const u=[`onClick`],d={class:`step-indicator`},f={class:`step-icon`},p={key:1,class:`i-mdi:check`},m={key:2,class:`step-index`},h={key:0,class:`step-line`},g={class:`step-content`},_={class:`step-title`},v={key:0,class:`step-time`},y={key:1,class:`step-description`};var b=e(a({name:`C_Steps`,__name:`index`,props:{steps:{},current:{default:0},direction:{default:`horizontal`},clickable:{type:Boolean,default:!1},connected:{type:Boolean,default:!1}},emits:[`update:current`,`change`],setup(e,{emit:a}){let b=e,x=a,S=e=>b.steps[e].status?b.steps[e].status:e<b.current?`finish`:e===b.current?`process`:`wait`,C=e=>{!b.clickable||b.steps[e].disabled||(x(`update:current`,e),x(`change`,e))};return(e,a)=>(s(),r(`div`,{class:o([`c-steps`,[`steps-${e.direction}`,{"steps-connected":e.connected}]])},[(s(!0),r(t,null,c(e.steps,(t,a)=>(s(),r(`div`,{key:a,class:o([`step-item`,[`step-${S(a)}`,{"step-clickable":e.clickable&&!t.disabled}]]),onClick:e=>C(a)},[i(`div`,d,[i(`div`,f,[t.icon?(s(),r(`i`,{key:0,class:o(t.icon)},null,2)):S(a)===`finish`?(s(),r(`i`,p)):(s(),r(`span`,m,l(a+1),1))]),a<e.steps.length-1?(s(),r(`div`,h)):n(`v-if`,!0)]),i(`div`,g,[i(`div`,_,l(t.title),1),t.time?(s(),r(`div`,v,l(t.time),1)):n(`v-if`,!0),t.description?(s(),r(`div`,y,l(t.description),1)):n(`v-if`,!0)])],10,u))),128))],2))}}),[[`__scopeId`,`data-v-33e608bb`]]);export{b as t};
2
2
  //# sourceMappingURL=C_Steps2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"C_Steps2.js","names":["direction","steps","clickable"],"sources":["../src/components/C_Steps/index.vue","../src/components/C_Steps/index.vue","../src/components/C_Steps/index.vue"],"sourcesContent":["/* unplugin-vue-components disabled */<!--\r\n * @Author: ChenYu ycyplus@gmail.com\r\n * @Date: 2025-06-01\r\n * @Description: 步骤条组件\r\n * @Migration: naive-ui-components 组件库迁移版本\r\n * Copyright (c) 2025 by CHENY, All Rights Reserved.\r\n-->\r\n<template>\r\n <div class=\"c-steps\" :class=\"[`steps-${direction}`]\">\r\n <div\r\n v-for=\"(step, index) in steps\"\r\n :key=\"index\"\r\n class=\"step-item\"\r\n :class=\"[\r\n `step-${getStatus(index)}`,\r\n { 'step-clickable': clickable && !step.disabled },\r\n ]\"\r\n @click=\"handleClick(index)\"\r\n >\r\n <div class=\"step-indicator\">\r\n <div class=\"step-icon\">\r\n <i v-if=\"step.icon\" :class=\"step.icon\"></i>\r\n <i v-else-if=\"getStatus(index) === 'finish'\" class=\"i-mdi:check\"></i>\r\n <span v-else class=\"step-index\">{{ index + 1 }}</span>\r\n </div>\r\n <div v-if=\"index < steps.length - 1\" class=\"step-line\" />\r\n </div>\r\n <div class=\"step-content\">\r\n <div class=\"step-title\">{{ step.title }}</div>\r\n <div v-if=\"step.time\" class=\"step-time\">{{ step.time }}</div>\r\n <div v-if=\"step.description\" class=\"step-description\">\r\n {{ step.description }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\ndefineOptions({ name: \"C_Steps\" });\r\n\r\nexport interface StepItem {\r\n title: string;\r\n description?: string;\r\n time?: string;\r\n icon?: string;\r\n status?: \"wait\" | \"process\" | \"finish\" | \"error\";\r\n disabled?: boolean;\r\n detail?: string;\r\n}\r\n\r\nconst props = withDefaults(\r\n defineProps<{\r\n steps: StepItem[];\r\n current?: number;\r\n direction?: \"horizontal\" | \"vertical\";\r\n clickable?: boolean;\r\n }>(),\r\n {\r\n current: 0,\r\n direction: \"horizontal\",\r\n clickable: false,\r\n },\r\n);\r\n\r\nconst emit = defineEmits<{\r\n \"update:current\": [number];\r\n change: [number];\r\n}>();\r\n\r\nconst getStatus = (index: number) => {\r\n if (props.steps[index].status) {\r\n return props.steps[index].status;\r\n }\r\n if (index < props.current) return \"finish\";\r\n if (index === props.current) return \"process\";\r\n return \"wait\";\r\n};\r\n\r\nconst handleClick = (index: number) => {\r\n if (!props.clickable || props.steps[index].disabled) return;\r\n emit(\"update:current\", index);\r\n emit(\"change\", index);\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n@use \"./index.scss\";\r\n</style>\r\n","/* unplugin-vue-components disabled */<!--\r\n * @Author: ChenYu ycyplus@gmail.com\r\n * @Date: 2025-06-01\r\n * @Description: 步骤条组件\r\n * @Migration: naive-ui-components 组件库迁移版本\r\n * Copyright (c) 2025 by CHENY, All Rights Reserved.\r\n-->\r\n<template>\r\n <div class=\"c-steps\" :class=\"[`steps-${direction}`]\">\r\n <div\r\n v-for=\"(step, index) in steps\"\r\n :key=\"index\"\r\n class=\"step-item\"\r\n :class=\"[\r\n `step-${getStatus(index)}`,\r\n { 'step-clickable': clickable && !step.disabled },\r\n ]\"\r\n @click=\"handleClick(index)\"\r\n >\r\n <div class=\"step-indicator\">\r\n <div class=\"step-icon\">\r\n <i v-if=\"step.icon\" :class=\"step.icon\"></i>\r\n <i v-else-if=\"getStatus(index) === 'finish'\" class=\"i-mdi:check\"></i>\r\n <span v-else class=\"step-index\">{{ index + 1 }}</span>\r\n </div>\r\n <div v-if=\"index < steps.length - 1\" class=\"step-line\" />\r\n </div>\r\n <div class=\"step-content\">\r\n <div class=\"step-title\">{{ step.title }}</div>\r\n <div v-if=\"step.time\" class=\"step-time\">{{ step.time }}</div>\r\n <div v-if=\"step.description\" class=\"step-description\">\r\n {{ step.description }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\ndefineOptions({ name: \"C_Steps\" });\r\n\r\nexport interface StepItem {\r\n title: string;\r\n description?: string;\r\n time?: string;\r\n icon?: string;\r\n status?: \"wait\" | \"process\" | \"finish\" | \"error\";\r\n disabled?: boolean;\r\n detail?: string;\r\n}\r\n\r\nconst props = withDefaults(\r\n defineProps<{\r\n steps: StepItem[];\r\n current?: number;\r\n direction?: \"horizontal\" | \"vertical\";\r\n clickable?: boolean;\r\n }>(),\r\n {\r\n current: 0,\r\n direction: \"horizontal\",\r\n clickable: false,\r\n },\r\n);\r\n\r\nconst emit = defineEmits<{\r\n \"update:current\": [number];\r\n change: [number];\r\n}>();\r\n\r\nconst getStatus = (index: number) => {\r\n if (props.steps[index].status) {\r\n return props.steps[index].status;\r\n }\r\n if (index < props.current) return \"finish\";\r\n if (index === props.current) return \"process\";\r\n return \"wait\";\r\n};\r\n\r\nconst handleClick = (index: number) => {\r\n if (!props.clickable || props.steps[index].disabled) return;\r\n emit(\"update:current\", index);\r\n emit(\"change\", index);\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n@use \"./index.scss\";\r\n</style>\r\n","<!--\r\n * @Author: ChenYu ycyplus@gmail.com\r\n * @Date: 2025-06-01\r\n * @Description: 步骤条组件\r\n * @Migration: naive-ui-components 组件库迁移版本\r\n * Copyright (c) 2025 by CHENY, All Rights Reserved.\r\n-->\r\n<template>\r\n <div class=\"c-steps\" :class=\"[`steps-${direction}`]\">\r\n <div\r\n v-for=\"(step, index) in steps\"\r\n :key=\"index\"\r\n class=\"step-item\"\r\n :class=\"[\r\n `step-${getStatus(index)}`,\r\n { 'step-clickable': clickable && !step.disabled },\r\n ]\"\r\n @click=\"handleClick(index)\"\r\n >\r\n <div class=\"step-indicator\">\r\n <div class=\"step-icon\">\r\n <i v-if=\"step.icon\" :class=\"step.icon\"></i>\r\n <i v-else-if=\"getStatus(index) === 'finish'\" class=\"i-mdi:check\"></i>\r\n <span v-else class=\"step-index\">{{ index + 1 }}</span>\r\n </div>\r\n <div v-if=\"index < steps.length - 1\" class=\"step-line\" />\r\n </div>\r\n <div class=\"step-content\">\r\n <div class=\"step-title\">{{ step.title }}</div>\r\n <div v-if=\"step.time\" class=\"step-time\">{{ step.time }}</div>\r\n <div v-if=\"step.description\" class=\"step-description\">\r\n {{ step.description }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\ndefineOptions({ name: \"C_Steps\" });\r\n\r\nexport interface StepItem {\r\n title: string;\r\n description?: string;\r\n time?: string;\r\n icon?: string;\r\n status?: \"wait\" | \"process\" | \"finish\" | \"error\";\r\n disabled?: boolean;\r\n detail?: string;\r\n}\r\n\r\nconst props = withDefaults(\r\n defineProps<{\r\n steps: StepItem[];\r\n current?: number;\r\n direction?: \"horizontal\" | \"vertical\";\r\n clickable?: boolean;\r\n }>(),\r\n {\r\n current: 0,\r\n direction: \"horizontal\",\r\n clickable: false,\r\n },\r\n);\r\n\r\nconst emit = defineEmits<{\r\n \"update:current\": [number];\r\n change: [number];\r\n}>();\r\n\r\nconst getStatus = (index: number) => {\r\n if (props.steps[index].status) {\r\n return props.steps[index].status;\r\n }\r\n if (index < props.current) return \"finish\";\r\n if (index === props.current) return \"process\";\r\n return \"wait\";\r\n};\r\n\r\nconst handleClick = (index: number) => {\r\n if (!props.clickable || props.steps[index].disabled) return;\r\n emit(\"update:current\", index);\r\n emit(\"change\", index);\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n@use \"./index.scss\";\r\n</style>\r\n"],"mappings":"6rBEmDA,IAAM,EAAQ,EAcR,EAAO,EAKP,EAAa,GACb,EAAM,MAAM,GAAO,OACd,EAAM,MAAM,GAAO,OAExB,EAAQ,EAAM,QAAgB,SAC9B,IAAU,EAAM,QAAgB,UAC7B,OAGH,EAAe,GAAkB,CACjC,CAAC,EAAM,WAAa,EAAM,MAAM,GAAO,WAC3C,EAAK,iBAAkB,EAAM,CAC7B,EAAK,SAAU,EAAM,qBA1ErB,EA2BM,MAAA,CA3BD,MAAK,EAAA,CAAC,UAAS,CAAA,SAAmBA,EAAAA,YAAS,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,GAAA,CAC9C,EAyBM,EAAA,KAAA,EAxBoBC,EAAAA,OAAhB,EAAM,SADhB,EAyBM,MAAA,CAvBH,IAAK,EACN,MAAK,EAAA,CAAC,YAAW,CAAA,QACU,EAAU,EAAK,GAAA,CAAA,iBAAkCC,EAAAA,WAAS,CAAK,EAAK,SAAQ,CAAA,CAAA,CAAA,CAItG,QAAK,GAAE,EAAY,EAAK,GAEzB,EAOM,MAPN,EAOM,CANJ,EAIM,MAJN,EAIM,CAHK,EAAK,MAAA,GAAA,CAAd,EAA2C,IAAA,OAAtB,MAAK,EAAE,EAAK,KAAI,WACvB,EAAU,EAAK,GAAA,UAAA,GAAA,CAA7B,EAAqE,IAArE,EAAqE,GAAA,GAAA,CACrE,EAAsD,OAAtD,EAAsD,EAAnB,EAAK,EAAA,CAAA,EAAA,EAAA,CAAA,CAE/B,EAAQD,EAAAA,MAAM,OAAM,GAAA,GAAA,CAA/B,EAAyD,MAAzD,EAAyD,EAAA,EAAA,OAAA,GAAA,CAAA,CAAA,CAE3D,EAMM,MANN,EAMM,CALJ,EAA8C,MAA9C,EAA8C,EAAnB,EAAK,MAAK,CAAA,EAAA,CAC1B,EAAK,MAAA,GAAA,CAAhB,EAA6D,MAA7D,EAA6D,EAAlB,EAAK,KAAI,CAAA,EAAA,EAAA,EAAA,OAAA,GAAA,CACzC,EAAK,aAAA,GAAA,CAAhB,EAEM,MAFN,EAEM,EADD,EAAK,YAAW,CAAA,EAAA,EAAA,EAAA,OAAA,GAAA"}
1
+ {"version":3,"file":"C_Steps2.js","names":["direction","connected","steps","clickable"],"sources":["../src/components/C_Steps/index.vue","../src/components/C_Steps/index.vue","../src/components/C_Steps/index.vue"],"sourcesContent":["/* unplugin-vue-components disabled */<!--\r\n * @Author: ChenYu ycyplus@gmail.com\r\n * @Date: 2025-06-01\r\n * @Description: 步骤条组件\r\n * @Migration: naive-ui-components 组件库迁移版本\r\n * Copyright (c) 2025 by CHENY, All Rights Reserved.\r\n-->\r\n<template>\r\n <div class=\"c-steps\" :class=\"[`steps-${direction}`, { 'steps-connected': connected }]\">\r\n <div\r\n v-for=\"(step, index) in steps\"\r\n :key=\"index\"\r\n class=\"step-item\"\r\n :class=\"[\r\n `step-${getStatus(index)}`,\r\n { 'step-clickable': clickable && !step.disabled },\r\n ]\"\r\n @click=\"handleClick(index)\"\r\n >\r\n <div class=\"step-indicator\">\r\n <div class=\"step-icon\">\r\n <i v-if=\"step.icon\" :class=\"step.icon\"></i>\r\n <i v-else-if=\"getStatus(index) === 'finish'\" class=\"i-mdi:check\"></i>\r\n <span v-else class=\"step-index\">{{ index + 1 }}</span>\r\n </div>\r\n <div v-if=\"index < steps.length - 1\" class=\"step-line\" />\r\n </div>\r\n <div class=\"step-content\">\r\n <div class=\"step-title\">{{ step.title }}</div>\r\n <div v-if=\"step.time\" class=\"step-time\">{{ step.time }}</div>\r\n <div v-if=\"step.description\" class=\"step-description\">\r\n {{ step.description }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\ndefineOptions({ name: \"C_Steps\" });\r\n\r\nexport interface StepItem {\r\n title: string;\r\n description?: string;\r\n time?: string;\r\n icon?: string;\r\n status?: \"wait\" | \"process\" | \"finish\" | \"error\";\r\n disabled?: boolean;\r\n detail?: string;\r\n}\r\n\r\nconst props = withDefaults(\r\n defineProps<{\r\n steps: StepItem[];\r\n current?: number;\r\n direction?: \"horizontal\" | \"vertical\";\r\n clickable?: boolean;\r\n /** 水平模式下线条是否与图标紧密相连,默认 false(两端留有对称间距)*/\r\n connected?: boolean;\r\n }>(),\r\n {\r\n current: 0,\r\n direction: \"horizontal\",\r\n clickable: false,\r\n connected: false,\r\n },\r\n);\r\n\r\nconst emit = defineEmits<{\r\n \"update:current\": [number];\r\n change: [number];\r\n}>();\r\n\r\nconst getStatus = (index: number) => {\r\n if (props.steps[index].status) {\r\n return props.steps[index].status;\r\n }\r\n if (index < props.current) return \"finish\";\r\n if (index === props.current) return \"process\";\r\n return \"wait\";\r\n};\r\n\r\nconst handleClick = (index: number) => {\r\n if (!props.clickable || props.steps[index].disabled) return;\r\n emit(\"update:current\", index);\r\n emit(\"change\", index);\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n@use \"./index.scss\";\r\n</style>\r\n","/* unplugin-vue-components disabled */<!--\r\n * @Author: ChenYu ycyplus@gmail.com\r\n * @Date: 2025-06-01\r\n * @Description: 步骤条组件\r\n * @Migration: naive-ui-components 组件库迁移版本\r\n * Copyright (c) 2025 by CHENY, All Rights Reserved.\r\n-->\r\n<template>\r\n <div class=\"c-steps\" :class=\"[`steps-${direction}`, { 'steps-connected': connected }]\">\r\n <div\r\n v-for=\"(step, index) in steps\"\r\n :key=\"index\"\r\n class=\"step-item\"\r\n :class=\"[\r\n `step-${getStatus(index)}`,\r\n { 'step-clickable': clickable && !step.disabled },\r\n ]\"\r\n @click=\"handleClick(index)\"\r\n >\r\n <div class=\"step-indicator\">\r\n <div class=\"step-icon\">\r\n <i v-if=\"step.icon\" :class=\"step.icon\"></i>\r\n <i v-else-if=\"getStatus(index) === 'finish'\" class=\"i-mdi:check\"></i>\r\n <span v-else class=\"step-index\">{{ index + 1 }}</span>\r\n </div>\r\n <div v-if=\"index < steps.length - 1\" class=\"step-line\" />\r\n </div>\r\n <div class=\"step-content\">\r\n <div class=\"step-title\">{{ step.title }}</div>\r\n <div v-if=\"step.time\" class=\"step-time\">{{ step.time }}</div>\r\n <div v-if=\"step.description\" class=\"step-description\">\r\n {{ step.description }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\ndefineOptions({ name: \"C_Steps\" });\r\n\r\nexport interface StepItem {\r\n title: string;\r\n description?: string;\r\n time?: string;\r\n icon?: string;\r\n status?: \"wait\" | \"process\" | \"finish\" | \"error\";\r\n disabled?: boolean;\r\n detail?: string;\r\n}\r\n\r\nconst props = withDefaults(\r\n defineProps<{\r\n steps: StepItem[];\r\n current?: number;\r\n direction?: \"horizontal\" | \"vertical\";\r\n clickable?: boolean;\r\n /** 水平模式下线条是否与图标紧密相连,默认 false(两端留有对称间距)*/\r\n connected?: boolean;\r\n }>(),\r\n {\r\n current: 0,\r\n direction: \"horizontal\",\r\n clickable: false,\r\n connected: false,\r\n },\r\n);\r\n\r\nconst emit = defineEmits<{\r\n \"update:current\": [number];\r\n change: [number];\r\n}>();\r\n\r\nconst getStatus = (index: number) => {\r\n if (props.steps[index].status) {\r\n return props.steps[index].status;\r\n }\r\n if (index < props.current) return \"finish\";\r\n if (index === props.current) return \"process\";\r\n return \"wait\";\r\n};\r\n\r\nconst handleClick = (index: number) => {\r\n if (!props.clickable || props.steps[index].disabled) return;\r\n emit(\"update:current\", index);\r\n emit(\"change\", index);\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n@use \"./index.scss\";\r\n</style>\r\n","<!--\r\n * @Author: ChenYu ycyplus@gmail.com\r\n * @Date: 2025-06-01\r\n * @Description: 步骤条组件\r\n * @Migration: naive-ui-components 组件库迁移版本\r\n * Copyright (c) 2025 by CHENY, All Rights Reserved.\r\n-->\r\n<template>\r\n <div class=\"c-steps\" :class=\"[`steps-${direction}`, { 'steps-connected': connected }]\">\r\n <div\r\n v-for=\"(step, index) in steps\"\r\n :key=\"index\"\r\n class=\"step-item\"\r\n :class=\"[\r\n `step-${getStatus(index)}`,\r\n { 'step-clickable': clickable && !step.disabled },\r\n ]\"\r\n @click=\"handleClick(index)\"\r\n >\r\n <div class=\"step-indicator\">\r\n <div class=\"step-icon\">\r\n <i v-if=\"step.icon\" :class=\"step.icon\"></i>\r\n <i v-else-if=\"getStatus(index) === 'finish'\" class=\"i-mdi:check\"></i>\r\n <span v-else class=\"step-index\">{{ index + 1 }}</span>\r\n </div>\r\n <div v-if=\"index < steps.length - 1\" class=\"step-line\" />\r\n </div>\r\n <div class=\"step-content\">\r\n <div class=\"step-title\">{{ step.title }}</div>\r\n <div v-if=\"step.time\" class=\"step-time\">{{ step.time }}</div>\r\n <div v-if=\"step.description\" class=\"step-description\">\r\n {{ step.description }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\ndefineOptions({ name: \"C_Steps\" });\r\n\r\nexport interface StepItem {\r\n title: string;\r\n description?: string;\r\n time?: string;\r\n icon?: string;\r\n status?: \"wait\" | \"process\" | \"finish\" | \"error\";\r\n disabled?: boolean;\r\n detail?: string;\r\n}\r\n\r\nconst props = withDefaults(\r\n defineProps<{\r\n steps: StepItem[];\r\n current?: number;\r\n direction?: \"horizontal\" | \"vertical\";\r\n clickable?: boolean;\r\n /** 水平模式下线条是否与图标紧密相连,默认 false(两端留有对称间距)*/\r\n connected?: boolean;\r\n }>(),\r\n {\r\n current: 0,\r\n direction: \"horizontal\",\r\n clickable: false,\r\n connected: false,\r\n },\r\n);\r\n\r\nconst emit = defineEmits<{\r\n \"update:current\": [number];\r\n change: [number];\r\n}>();\r\n\r\nconst getStatus = (index: number) => {\r\n if (props.steps[index].status) {\r\n return props.steps[index].status;\r\n }\r\n if (index < props.current) return \"finish\";\r\n if (index === props.current) return \"process\";\r\n return \"wait\";\r\n};\r\n\r\nconst handleClick = (index: number) => {\r\n if (!props.clickable || props.steps[index].disabled) return;\r\n emit(\"update:current\", index);\r\n emit(\"change\", index);\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n@use \"./index.scss\";\r\n</style>\r\n"],"mappings":"iuBEmDA,IAAM,EAAQ,EAiBR,EAAO,EAKP,EAAa,GACb,EAAM,MAAM,GAAO,OACd,EAAM,MAAM,GAAO,OAExB,EAAQ,EAAM,QAAgB,SAC9B,IAAU,EAAM,QAAgB,UAC7B,OAGH,EAAe,GAAkB,CACjC,CAAC,EAAM,WAAa,EAAM,MAAM,GAAO,WAC3C,EAAK,iBAAkB,EAAM,CAC7B,EAAK,SAAU,EAAM,qBA7ErB,EA2BM,MAAA,CA3BD,MAAK,EAAA,CAAC,UAAS,CAAA,SAAmBA,EAAAA,YAAS,CAAA,kBAAyBC,EAAAA,UAAS,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,GAAA,CAChF,EAyBM,EAAA,KAAA,EAxBoBC,EAAAA,OAAhB,EAAM,SADhB,EAyBM,MAAA,CAvBH,IAAK,EACN,MAAK,EAAA,CAAC,YAAW,CAAA,QACU,EAAU,EAAK,GAAA,CAAA,iBAAkCC,EAAAA,WAAS,CAAK,EAAK,SAAQ,CAAA,CAAA,CAAA,CAItG,QAAK,GAAE,EAAY,EAAK,GAEzB,EAOM,MAPN,EAOM,CANJ,EAIM,MAJN,EAIM,CAHK,EAAK,MAAA,GAAA,CAAd,EAA2C,IAAA,OAAtB,MAAK,EAAE,EAAK,KAAI,WACvB,EAAU,EAAK,GAAA,UAAA,GAAA,CAA7B,EAAqE,IAArE,EAAqE,GAAA,GAAA,CACrE,EAAsD,OAAtD,EAAsD,EAAnB,EAAK,EAAA,CAAA,EAAA,EAAA,CAAA,CAE/B,EAAQD,EAAAA,MAAM,OAAM,GAAA,GAAA,CAA/B,EAAyD,MAAzD,EAAyD,EAAA,EAAA,OAAA,GAAA,CAAA,CAAA,CAE3D,EAMM,MANN,EAMM,CALJ,EAA8C,MAA9C,EAA8C,EAAnB,EAAK,MAAK,CAAA,EAAA,CAC1B,EAAK,MAAA,GAAA,CAAhB,EAA6D,MAA7D,EAA6D,EAAlB,EAAK,KAAI,CAAA,EAAA,EAAA,EAAA,OAAA,GAAA,CACzC,EAAK,aAAA,GAAA,CAAhB,EAEM,MAFN,EAEM,EADD,EAAK,YAAW,CAAA,EAAA,EAAA,EAAA,OAAA,GAAA"}
@@ -110,20 +110,20 @@ declare const __VLS_export: vue.DefineComponent<CronProps, {
110
110
  reset: typeof handleReset;
111
111
  validate: () => CronValidation;
112
112
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
113
- change: (value: string) => any;
114
113
  "update:modelValue": (value: string) => any;
114
+ change: (value: string) => any;
115
115
  "validation-change": (result: CronValidation) => any;
116
116
  }, string, vue.PublicProps, Readonly<CronProps> & Readonly<{
117
- onChange?: ((value: string) => any) | undefined;
118
117
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
118
+ onChange?: ((value: string) => any) | undefined;
119
119
  "onValidation-change"?: ((result: CronValidation) => any) | undefined;
120
120
  }>, {
121
121
  height: string | number;
122
- disabled: boolean;
123
122
  modelValue: string;
123
+ disabled: boolean;
124
+ showPreview: boolean;
124
125
  previewCount: number;
125
126
  showTemplates: boolean;
126
- showPreview: boolean;
127
127
  showSecond: boolean;
128
128
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
129
129
  declare const _default: typeof __VLS_export;
@@ -112,17 +112,17 @@ interface FormulaEditorExpose {
112
112
  //#endregion
113
113
  //#region src/components/C_FormulaEditor/index.vue.d.ts
114
114
  declare const __VLS_export: vue.DefineComponent<FormulaEditorProps, FormulaEditorExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
115
- change: (value: string) => any;
116
115
  "update:modelValue": (value: string) => any;
116
+ change: (value: string) => any;
117
117
  "validation-change": (result: FormulaValidation) => any;
118
118
  }, string, vue.PublicProps, Readonly<FormulaEditorProps> & Readonly<{
119
- onChange?: ((value: string) => any) | undefined;
120
119
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
120
+ onChange?: ((value: string) => any) | undefined;
121
121
  "onValidation-change"?: ((result: FormulaValidation) => any) | undefined;
122
122
  }>, {
123
123
  height: string | number;
124
- disabled: boolean;
125
124
  modelValue: string;
125
+ disabled: boolean;
126
126
  placeholder: string;
127
127
  showPreview: boolean;
128
128
  variables: FormulaVariable[];
@@ -168,11 +168,11 @@ declare const __VLS_export: vue.DefineComponent<NotificationCenterProps, Notific
168
168
  onNewMessage?: ((message: NotificationMessage) => any) | undefined;
169
169
  onNavigate?: ((url: string) => any) | undefined;
170
170
  }>, {
171
- pageSize: number;
172
171
  storageKey: string;
173
172
  desktopNotification: boolean;
174
173
  maxBadgeCount: number;
175
174
  pollingInterval: number;
175
+ pageSize: number;
176
176
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
177
177
  declare const _default: typeof __VLS_export;
178
178
  //#endregion
@@ -217,7 +217,7 @@ declare function useNotificationCore(props: NotificationCenterProps): {
217
217
  actionText?: string | undefined;
218
218
  extra?: Record<string, unknown> | undefined;
219
219
  }[]>;
220
- activeCategory: vue.Ref<"all" | NotificationCategory, "all" | NotificationCategory>;
220
+ activeCategory: vue.Ref<NotificationCategory | "all", NotificationCategory | "all">;
221
221
  loading: vue.Ref<boolean, boolean>;
222
222
  total: vue.Ref<number, number>;
223
223
  page: vue.Ref<number, number>;
@@ -197,16 +197,16 @@ type __VLS_Slots = {} & {
197
197
  };
198
198
  declare const __VLS_base: vue.DefineComponent<UploadProps, UploadExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
199
199
  error: (file: UploadFileItem, error: Error) => any;
200
- success: (file: UploadFileItem, response: any) => any;
201
200
  change: (fileList: UploadFileItem[]) => any;
201
+ success: (file: UploadFileItem, response: any) => any;
202
202
  progress: (file: UploadFileItem, percent: number) => any;
203
203
  remove: (file: UploadFileItem) => any;
204
204
  finish: (fileList: UploadFileItem[]) => any;
205
205
  exceed: (files: File[], fileList: UploadFileItem[]) => any;
206
206
  }, string, vue.PublicProps, Readonly<UploadProps> & Readonly<{
207
207
  onError?: ((file: UploadFileItem, error: Error) => any) | undefined;
208
- onSuccess?: ((file: UploadFileItem, response: any) => any) | undefined;
209
208
  onChange?: ((fileList: UploadFileItem[]) => any) | undefined;
209
+ onSuccess?: ((file: UploadFileItem, response: any) => any) | undefined;
210
210
  onProgress?: ((file: UploadFileItem, percent: number) => any) | undefined;
211
211
  onRemove?: ((file: UploadFileItem) => any) | undefined;
212
212
  onFinish?: ((fileList: UploadFileItem[]) => any) | undefined;
@@ -216,11 +216,11 @@ declare const __VLS_base: vue.DefineComponent<UploadProps, UploadExpose, {}, {},
216
216
  disabled: boolean;
217
217
  multiple: boolean;
218
218
  draggable: boolean;
219
+ maxSize: number;
219
220
  action: string;
220
221
  headers: Record<string, string>;
221
222
  directory: boolean;
222
223
  accept: string;
223
- maxSize: number;
224
224
  maxCount: number;
225
225
  pasteable: boolean;
226
226
  chunked: boolean;
@@ -260,8 +260,8 @@ type PlayerInstance = InstanceType<typeof xgplayer.default>;
260
260
  //#region src/components/C_VideoPlayer/index.vue.d.ts
261
261
  declare const __VLS_export: vue.DefineComponent<VideoPlayerProps, VideoPlayerExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
262
262
  error: (error: Error) => any;
263
- ready: () => any;
264
263
  ended: () => any;
264
+ ready: () => any;
265
265
  stateChange: (state: PlayerState) => any;
266
266
  timeUpdate: (currentTime: number, duration: number) => any;
267
267
  qualityChange: (quality: QualityLevel) => any;
@@ -273,8 +273,8 @@ declare const __VLS_export: vue.DefineComponent<VideoPlayerProps, VideoPlayerExp
273
273
  progressUpdate: (data: ProgressData) => any;
274
274
  }, string, vue.PublicProps, Readonly<VideoPlayerProps> & Readonly<{
275
275
  onError?: ((error: Error) => any) | undefined;
276
- onReady?: (() => any) | undefined;
277
276
  onEnded?: (() => any) | undefined;
277
+ onReady?: (() => any) | undefined;
278
278
  onStateChange?: ((state: PlayerState) => any) | undefined;
279
279
  onTimeUpdate?: ((currentTime: number, duration: number) => any) | undefined;
280
280
  onQualityChange?: ((quality: QualityLevel) => any) | undefined;
package/dist/data.d.ts CHANGED
@@ -24,9 +24,9 @@ declare const __VLS_export: vue.DefineComponent<__VLS_Props, {}, {}, {}, {}, vue
24
24
  }>, {
25
25
  height: string;
26
26
  center: [number, number];
27
- zoom: number;
28
27
  markers: MapMarker$1[];
29
28
  amapKey: string;
29
+ zoom: number;
30
30
  mapType: "osm" | "amap";
31
31
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
32
32
  declare const _default: typeof __VLS_export;
@@ -25,20 +25,20 @@ declare const __VLS_export: vue.DefineComponent<Props, {
25
25
  copyCode: typeof copyCode;
26
26
  toggleFullscreen: typeof toggleFullscreen;
27
27
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
28
- copy: (code: string) => any;
29
28
  click: (event: MouseEvent) => any;
29
+ copy: (code: string) => any;
30
30
  fullscreen: (isFullscreen: boolean) => any;
31
31
  }, string, vue.PublicProps, Readonly<Props> & Readonly<{
32
- onCopy?: ((code: string) => any) | undefined;
33
32
  onClick?: ((event: MouseEvent) => any) | undefined;
33
+ onCopy?: ((code: string) => any) | undefined;
34
34
  onFullscreen?: ((isFullscreen: boolean) => any) | undefined;
35
35
  }>, {
36
+ trim: boolean;
36
37
  code: string;
37
38
  language: string;
38
39
  showHeader: boolean;
39
40
  showLineNumbers: boolean;
40
41
  wordWrap: boolean;
41
- trim: boolean;
42
42
  showFullscreen: boolean;
43
43
  autoLoadLanguage: boolean;
44
44
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
@@ -75,13 +75,13 @@ declare const __VLS_export: vue.DefineComponent<ContextMenuProps, {
75
75
  }) => any) | undefined;
76
76
  onClose?: (() => any) | undefined;
77
77
  }>, {
78
- items: ContextMenuItem[];
79
78
  disabled: boolean;
80
- zIndex: number;
79
+ items: ContextMenuItem[];
81
80
  minWidth: number;
82
81
  maxWidth: number;
83
82
  subMenuPlacement: "right" | "left";
84
83
  autoClose: boolean;
84
+ zIndex: number;
85
85
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
86
86
  declare const _default: typeof __VLS_export;
87
87
  //#endregion
@@ -29,11 +29,11 @@ declare const __VLS_export: vue.DefineComponent<Props, {
29
29
  "onEditor-change"?: ((html: string) => any) | undefined;
30
30
  }>, {
31
31
  height: number;
32
- readonly: boolean;
33
- theme: "light" | "dark";
34
- disabled: boolean;
35
32
  modelValue: string;
33
+ disabled: boolean;
34
+ theme: "light" | "dark";
36
35
  placeholder: string;
36
+ readonly: boolean;
37
37
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
38
38
  declare const _default: typeof __VLS_export;
39
39
  //#endregion
@@ -53,17 +53,17 @@ declare const __VLS_export: vue.DefineComponent<IconProps, {
53
53
  size: number | string;
54
54
  clickable: boolean;
55
55
  title: string;
56
+ loading: boolean;
56
57
  name: string | any;
57
58
  color: string;
58
- loading: boolean;
59
59
  flip: "horizontal" | "vertical" | "both";
60
- rotate: number;
61
60
  svgPath: string;
62
61
  viewBox: string;
63
62
  alt: string;
64
63
  fallbackIcon: string;
65
64
  ariaLabel: string;
66
65
  customClass: string;
66
+ rotate: number;
67
67
  componentProps: Record<string, any>;
68
68
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
69
69
  declare const _default: typeof __VLS_export;
@@ -12,11 +12,11 @@ type __VLS_Props = {
12
12
  tooltip?: string;
13
13
  };
14
14
  declare const __VLS_export: vue.DefineComponent<__VLS_Props, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
15
- change: (key: string) => any;
16
15
  "update:modelValue": (key: string) => any;
16
+ change: (key: string) => any;
17
17
  }, string, vue.PublicProps, Readonly<__VLS_Props> & Readonly<{
18
- onChange?: ((key: string) => any) | undefined;
19
18
  "onUpdate:modelValue"?: ((key: string) => any) | undefined;
19
+ onChange?: ((key: string) => any) | undefined;
20
20
  }>, {
21
21
  modelValue: string;
22
22
  options: LanguageOption[];
@@ -100,8 +100,8 @@ declare const __VLS_base: vue.DefineComponent<LoginProps, {
100
100
  "onRegister-send-code"?: ((phone: string) => any) | undefined;
101
101
  }>, {
102
102
  title: string;
103
- loading: boolean;
104
103
  storageKey: string;
104
+ loading: boolean;
105
105
  defaultUsername: string;
106
106
  defaultPassword: string;
107
107
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
@@ -38,8 +38,8 @@ declare const __VLS_export: vue.DefineComponent<Props, {
38
38
  insertText: (text: string) => void;
39
39
  wordCount: vue.ComputedRef<number>;
40
40
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
41
- change: (text: string, html: string) => any;
42
41
  "update:modelValue": (value: string) => any;
42
+ change: (text: string, html: string) => any;
43
43
  save: (text: string, html: string) => any;
44
44
  "upload-image": (event: Event, insertImage: InsertImageFunction, files: FileList) => any;
45
45
  "fullscreen-change": (isFullscreen: boolean) => any;
@@ -48,8 +48,8 @@ declare const __VLS_export: vue.DefineComponent<Props, {
48
48
  "auto-save": (text: string) => any;
49
49
  "max-length-exceeded": (currentLength: number, maxLength: number) => any;
50
50
  }, string, vue.PublicProps, Readonly<Props> & Readonly<{
51
- onChange?: ((text: string, html: string) => any) | undefined;
52
51
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
52
+ onChange?: ((text: string, html: string) => any) | undefined;
53
53
  onSave?: ((text: string, html: string) => any) | undefined;
54
54
  "onUpload-image"?: ((event: Event, insertImage: InsertImageFunction, files: FileList) => any) | undefined;
55
55
  "onFullscreen-change"?: ((isFullscreen: boolean) => any) | undefined;
@@ -59,8 +59,8 @@ declare const __VLS_export: vue.DefineComponent<Props, {
59
59
  "onMax-length-exceeded"?: ((currentLength: number, maxLength: number) => any) | undefined;
60
60
  }>, {
61
61
  height: string | number;
62
- disabled: boolean;
63
62
  modelValue: string;
63
+ disabled: boolean;
64
64
  placeholder: string;
65
65
  mode: "edit" | "editable" | "preview";
66
66
  tocNavPosition: "left" | "right";