@robot-admin/naive-ui-components 0.14.3 → 0.15.0

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 (257) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +130 -741
  3. package/README_EN.md +137 -678
  4. package/dist/C_ActionBar.css +57 -58
  5. package/dist/C_ActionBar2.cjs +1 -1
  6. package/dist/C_ActionBar2.js +1 -1
  7. package/dist/C_AntV.css +232 -238
  8. package/dist/C_AntV2.cjs +2 -2
  9. package/dist/C_AntV2.js +2 -2
  10. package/dist/C_AudioPlayer.css +9 -9
  11. package/dist/C_AvatarGroup.css +5 -6
  12. package/dist/C_Barcode.css +1 -1
  13. package/dist/C_Breadcrumb.css +15 -18
  14. package/dist/C_Breadcrumb2.cjs +1 -1
  15. package/dist/C_Breadcrumb2.js +1 -1
  16. package/dist/C_Captcha.css +46 -49
  17. package/dist/C_Captcha2.cjs +1 -1
  18. package/dist/C_Captcha2.js +1 -1
  19. package/dist/C_Cascade.css +5 -6
  20. package/dist/C_Chat.css +8 -8
  21. package/dist/C_City.css +2 -2
  22. package/dist/C_Code.css +9 -9
  23. package/dist/C_CollapsePanel.css +9 -9
  24. package/dist/C_ContextMenu.css +31 -31
  25. package/dist/C_Cron.css +271 -274
  26. package/dist/C_Date.css +1 -1
  27. package/dist/C_Draggable.css +10 -11
  28. package/dist/C_Editor.css +2 -2
  29. package/dist/C_FilePreview.css +423 -423
  30. package/dist/C_Form.base.css +608 -602
  31. package/dist/C_Form.cjs +1 -1
  32. package/dist/C_Form.css +610 -604
  33. package/dist/C_Form.d.cts +2 -2
  34. package/dist/C_Form.d.ts +2 -2
  35. package/dist/C_Form.js +1 -1
  36. package/dist/C_FormModal.cjs +1 -1
  37. package/dist/C_FormModal.css +12 -17
  38. package/dist/C_FormModal.js +1 -1
  39. package/dist/C_FormModal2.cjs +1 -1
  40. package/dist/C_FormModal2.js +1 -1
  41. package/dist/C_FormSearch.css +53 -55
  42. package/dist/C_FormSearch2.cjs +1 -1
  43. package/dist/C_FormSearch2.js +1 -1
  44. package/dist/C_FormulaEditor.css +204 -205
  45. package/dist/C_FullCalendar.css +13 -15
  46. package/dist/C_FullCalendar2.cjs +1 -1
  47. package/dist/C_FullCalendar2.js +1 -1
  48. package/dist/C_GlobalSearch.css +11 -12
  49. package/dist/C_Guide.css +10 -10
  50. package/dist/C_Icon.css +7 -8
  51. package/dist/C_ImageCropper.css +69 -69
  52. package/dist/C_Language.css +8 -8
  53. package/dist/C_Loading.css +22 -25
  54. package/dist/C_Loading2.cjs +1 -1
  55. package/dist/C_Loading2.js +1 -1
  56. package/dist/C_Login.css +130 -135
  57. package/dist/C_Login2.cjs +1 -1
  58. package/dist/C_Login2.js +1 -1
  59. package/dist/C_Map.css +22 -23
  60. package/dist/C_Markdown.css +6 -7
  61. package/dist/C_Menu.css +2 -5
  62. package/dist/C_Menu2.cjs +1 -1
  63. package/dist/C_Menu2.js +1 -1
  64. package/dist/C_NotificationCenter.css +252 -253
  65. package/dist/C_OrgChart.css +8 -8
  66. package/dist/C_PageLoading.css +34 -39
  67. package/dist/C_QRCode.css +5 -6
  68. package/dist/C_Signature.css +5 -6
  69. package/dist/C_Skeleton.css +2 -2
  70. package/dist/C_SplitPane.css +2 -2
  71. package/dist/C_Steps.css +5 -6
  72. package/dist/C_Table.base.css +1090 -879
  73. package/dist/C_Table.cjs +1 -1
  74. package/dist/C_Table.css +1096 -885
  75. package/dist/C_Table.d.cts +1 -1
  76. package/dist/C_Table.d.ts +1 -1
  77. package/dist/C_Table.js +1 -1
  78. package/dist/C_Tabs.css +5 -6
  79. package/dist/C_TagsView.css +60 -63
  80. package/dist/C_TagsView2.cjs +1 -1
  81. package/dist/C_TagsView2.js +1 -1
  82. package/dist/C_Theme.css +7 -8
  83. package/dist/C_Time.css +1 -1
  84. package/dist/C_Timeline.css +8 -8
  85. package/dist/C_Transfer.css +10 -11
  86. package/dist/C_Tree.css +16 -17
  87. package/dist/C_Upload.css +156 -157
  88. package/dist/C_VideoPlayer.css +267 -267
  89. package/dist/C_VtableGantt.css +2 -2
  90. package/dist/C_WaterFall.css +2 -2
  91. package/dist/C_WorkFlow.css +466 -470
  92. package/dist/C_WorkFlow2.cjs +1 -1
  93. package/dist/C_WorkFlow2.js +1 -1
  94. package/dist/Card.cjs +1 -0
  95. package/dist/Card.js +1 -0
  96. package/dist/Custom.cjs +1 -0
  97. package/dist/Custom.js +1 -0
  98. package/dist/Dynamic.cjs +1 -0
  99. package/dist/Dynamic.js +1 -0
  100. package/dist/Steps.cjs +1 -0
  101. package/dist/Steps.js +1 -0
  102. package/dist/Tabs.cjs +1 -0
  103. package/dist/Tabs.js +1 -0
  104. package/dist/cascader.cjs +1 -0
  105. package/dist/cascader.js +1 -0
  106. package/dist/color-picker.cjs +1 -0
  107. package/dist/color-picker.js +1 -0
  108. package/dist/constants.d.cts +1 -1
  109. package/dist/constants.d.ts +1 -1
  110. package/dist/constants3.d.cts +2 -2
  111. package/dist/constants3.d.ts +2 -2
  112. package/dist/constants4.d.cts +4 -4
  113. package/dist/constants4.d.ts +4 -4
  114. package/dist/constants5.d.cts +2 -2
  115. package/dist/constants5.d.ts +2 -2
  116. package/dist/context.cjs +1 -0
  117. package/dist/context.js +1 -0
  118. package/dist/contracts.d.cts +24 -0
  119. package/dist/contracts.d.ts +24 -0
  120. package/dist/createPageLoading.cjs +1 -1
  121. package/dist/createPageLoading.js +1 -1
  122. package/dist/data.cjs +1 -1
  123. package/dist/data.d.cts +4 -4
  124. package/dist/data.d.ts +4 -4
  125. package/dist/data.js +1 -1
  126. package/dist/date-picker.cjs +1 -0
  127. package/dist/date-picker.js +1 -0
  128. package/dist/feedback.cjs +1 -0
  129. package/dist/feedback.js +1 -0
  130. package/dist/helpers.cjs +1 -1
  131. package/dist/helpers.js +1 -1
  132. package/dist/index.cjs +1 -1
  133. package/dist/index.d.cts +6 -4
  134. package/dist/index.d.ts +6 -4
  135. package/dist/index.js +1 -1
  136. package/dist/index.vue.d.cts +4 -4
  137. package/dist/index.vue.d.ts +4 -4
  138. package/dist/index10.vue.d.cts +3 -3
  139. package/dist/index10.vue.d.ts +3 -3
  140. package/dist/index11.vue.d.cts +3 -3
  141. package/dist/index11.vue.d.ts +2 -2
  142. package/dist/index12.vue.d.cts +2 -2
  143. package/dist/index12.vue.d.ts +1 -1
  144. package/dist/index13.vue.d.cts +1 -1
  145. package/dist/index13.vue.d.ts +2 -2
  146. package/dist/index14.vue.d.cts +2 -2
  147. package/dist/index14.vue.d.ts +7 -7
  148. package/dist/index15.vue.d.cts +7 -7
  149. package/dist/index16.vue.d.ts +1 -1
  150. package/dist/index17.vue.d.cts +1 -1
  151. package/dist/index17.vue.d.ts +2 -2
  152. package/dist/index18.vue.d.cts +2 -2
  153. package/dist/index18.vue.d.ts +2 -2
  154. package/dist/index19.vue.d.cts +2 -2
  155. package/dist/index19.vue.d.ts +1 -8
  156. package/dist/index2.vue.d.cts +1 -1
  157. package/dist/index2.vue.d.ts +1 -1
  158. package/dist/index20.vue.d.cts +1 -1
  159. package/dist/index20.vue.d.ts +1 -1
  160. package/dist/index21.vue.d.cts +2 -2
  161. package/dist/index21.vue.d.ts +2 -2
  162. package/dist/index22.vue.d.cts +3 -3
  163. package/dist/index22.vue.d.ts +3 -3
  164. package/dist/index23.vue.d.cts +1 -1
  165. package/dist/index23.vue.d.ts +1 -1
  166. package/dist/index25.vue.d.cts +4 -4
  167. package/dist/index25.vue.d.ts +4 -4
  168. package/dist/index26.vue.d.cts +1 -1
  169. package/dist/index26.vue.d.ts +1 -1
  170. package/dist/index27.vue.d.cts +3 -3
  171. package/dist/index27.vue.d.ts +3 -3
  172. package/dist/index3.vue.d.cts +4 -4
  173. package/dist/index3.vue.d.ts +4 -4
  174. package/dist/index4.vue.d.cts +1 -8
  175. package/dist/index6.vue.d.ts +2 -2
  176. package/dist/index7.vue.d.cts +2 -2
  177. package/dist/index8.vue.d.ts +3 -3
  178. package/dist/index9.vue.d.cts +3 -3
  179. package/dist/index9.vue.d.ts +3 -3
  180. package/dist/mapUtils.d.cts +2 -2
  181. package/dist/mapUtils.d.ts +2 -2
  182. package/dist/presets.d.cts +8 -2
  183. package/dist/presets.d.ts +8 -2
  184. package/dist/rate.cjs +1 -0
  185. package/dist/rate.js +1 -0
  186. package/dist/slider.cjs +1 -0
  187. package/dist/slider.js +1 -0
  188. package/dist/style.css +10671 -10704
  189. package/dist/time-picker.cjs +1 -0
  190. package/dist/time-picker.js +1 -0
  191. package/dist/upload.cjs +1 -0
  192. package/dist/upload.js +1 -0
  193. package/dist/useActionTask.cjs +1 -0
  194. package/dist/useActionTask.js +1 -0
  195. package/dist/useCalendarEvents.d.cts +1 -1
  196. package/dist/useCalendarEvents.d.ts +1 -1
  197. package/dist/useCollapsePanel.d.cts +6 -6
  198. package/dist/useCollapsePanel.d.ts +6 -6
  199. package/dist/useComponentLocale.cjs +1 -0
  200. package/dist/useComponentLocale.js +1 -0
  201. package/dist/useCropperCore.d.cts +4 -4
  202. package/dist/useCropperCore.d.ts +4 -4
  203. package/dist/useDraggableLayout.d.cts +8 -8
  204. package/dist/useDraggableLayout.d.ts +8 -8
  205. package/dist/useDynamicFormState.cjs +1 -0
  206. package/dist/useDynamicFormState.d.cts +62 -38
  207. package/dist/useDynamicFormState.d.ts +62 -38
  208. package/dist/useDynamicFormState.js +1 -0
  209. package/dist/useEdgeInteraction.d.cts +2 -2
  210. package/dist/useEdgeInteraction.d.ts +2 -2
  211. package/dist/useFullscreen.d.cts +2 -2
  212. package/dist/useFullscreen.d.ts +2 -2
  213. package/dist/useInfiniteScroll.d.cts +1 -1
  214. package/dist/useInfiniteScroll.d.ts +1 -1
  215. package/dist/useQRCode.d.cts +3 -3
  216. package/dist/useQRCode.d.ts +3 -3
  217. package/dist/useSearchState.d.cts +16 -726
  218. package/dist/useSearchState.d.ts +16 -835
  219. package/dist/useSignatureHistory.d.cts +2 -2
  220. package/dist/useSignatureHistory.d.ts +2 -2
  221. package/dist/useSplitResize.d.cts +9 -9
  222. package/dist/useSplitResize.d.ts +9 -9
  223. package/dist/useTableQuery.cjs +3 -3
  224. package/dist/useTableQuery.d.cts +66 -33
  225. package/dist/useTableQuery.d.ts +66 -33
  226. package/dist/useTableQuery.js +3 -3
  227. package/dist/useTimeSelection.d.cts +2 -2
  228. package/dist/useTimeSelection.d.ts +2 -2
  229. package/dist/useTreeOperations.d.cts +4 -4
  230. package/dist/useTreeOperations.d.ts +4 -4
  231. package/dist/useWorkflowValidation.d.cts +3 -3
  232. package/dist/useWorkflowValidation.d.ts +3 -3
  233. package/dist/verification.d.cts +2 -2
  234. package/dist/verification.d.ts +2 -2
  235. package/docs/architecture.en.md +83 -0
  236. package/docs/architecture.md +83 -0
  237. package/docs/assets/README.md +47 -0
  238. package/docs/assets/naive-ui-components-banner.png +0 -0
  239. package/docs/assets/naive-ui-components-banner.svg +69 -0
  240. package/docs/assets/naive-ui-components-logo.png +0 -0
  241. package/docs/assets/naive-ui-components-logo.svg +22 -0
  242. package/docs/components.en.md +118 -0
  243. package/docs/components.md +118 -0
  244. package/docs/engineering.en.md +132 -0
  245. package/docs/engineering.md +133 -0
  246. package/docs/guides/usage.en.md +638 -0
  247. package/docs/guides/usage.md +699 -0
  248. package/docs/performance-0.15.0.md +20 -0
  249. package/docs/security-scan-2026-10-06.md +11 -0
  250. package/docs/security-scan-2026-10-18.md +16 -0
  251. package/package.json +29 -11
  252. package/dist/C_Form2.cjs +0 -1
  253. package/dist/C_Form2.js +0 -1
  254. package/dist/config.cjs +0 -1
  255. package/dist/config.d.cts +0 -33
  256. package/dist/config.d.ts +0 -33
  257. package/dist/config.js +0 -1
@@ -1,12 +1,6 @@
1
1
  :root{--c-primary: var(--primary-color, #2080f0);--c-primary-hover: var(--primary-color-hover, #4098fc);--c-primary-pressed: var(--primary-color-pressed, #1060c9);--c-success: var(--success-color, #18a058);--c-warning: var(--warning-color, #f0a020);--c-error: var(--error-color, #d03050);--c-info: var(--info-color, #2080f0);--c-bg-body: var(--body-color, #ffffff);--c-bg-card: var(--card-color, #ffffff);--c-bg-surface: var(--popover-color, #ffffff);--c-text-1: var(--text-color-1, #262626);--c-text-2: var(--text-color-2, #525252);--c-text-3: var(--text-color-3, #a3a3a3);--c-text-4: var(--text-color-4, #c0c0c0);--c-border: var(--border-color, #e5e7eb);--c-radius-sm: var(--border-radius-small, 4px);--c-radius: var(--border-radius, 6px);--c-transition-fast: 0.15s cubic-bezier(0.4, 0, 0.2, 1);--c-transition-base: 0.3s cubic-bezier(0.4, 0, 0.2, 1);--c-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);--c-shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);--c-shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1)}
2
2
 
3
- /* unplugin-vue-components disabled */
4
- /* layer: default */
5
- .inline-flex[data-v-075758a0]{display:inline-flex;}
6
- .transform[data-v-075758a0]{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}
7
- .px[data-v-075758a0]{padding-left:1rem;padding-right:1rem;}
8
-
9
- /* unplugin-vue-components disabled */.c-icon[data-v-075758a0] {
3
+ .c-icon[data-v-075758a0] {
10
4
  display: inline-flex;
11
5
  align-items: center;
12
6
  justify-content: center;
@@ -65,15 +59,14 @@
65
59
  transform: rotate(360deg);
66
60
  }
67
61
  }
68
- /* unplugin-vue-components disabled */
62
+
69
63
  /* layer: default */
70
- .start-1[data-v-b2b17129]{inset-inline-start:0.25rem;}
71
- .table[data-v-b2b17129]{display:table;}
72
- .px[data-v-b2b17129]{padding-left:1rem;padding-right:1rem;}
73
- .filter[data-v-b2b17129]{filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia);}
64
+ .inline-flex[data-v-075758a0]{display:inline-flex;}
65
+ .transform[data-v-075758a0]{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}
66
+ .px[data-v-075758a0]{padding-left:1rem;padding-right:1rem;}
74
67
 
75
- /* unplugin-vue-components disabled *//* C_WorkFlow 组件样式 */
76
- .approval-workflow-container[data-v-b2b17129] {
68
+ /* C_WorkFlow 组件样式 */
69
+ .approval-workflow-container[data-v-ffd6fa87] {
77
70
  width: 100%;
78
71
  height: 600px;
79
72
  position: relative;
@@ -82,7 +75,7 @@
82
75
  overflow: hidden;
83
76
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
84
77
  }
85
- .floating-toolbar[data-v-b2b17129] {
78
+ .floating-toolbar[data-v-ffd6fa87] {
86
79
  position: absolute;
87
80
  top: 16px;
88
81
  left: 16px;
@@ -97,22 +90,22 @@
97
90
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
98
91
  border: 1px solid var(--n-border-color);
99
92
  }
100
- .floating-toolbar .toolbar-divider[data-v-b2b17129] {
93
+ .floating-toolbar .toolbar-divider[data-v-ffd6fa87] {
101
94
  width: 1px;
102
95
  height: 20px;
103
96
  background: var(--n-border-color);
104
97
  margin: 0 4px;
105
98
  }
106
- .workflow-canvas[data-v-b2b17129] {
99
+ .workflow-canvas[data-v-ffd6fa87] {
107
100
  width: 100%;
108
101
  height: 100%;
109
102
  }
110
- .add-node-menu[data-v-b2b17129] {
103
+ .add-node-menu[data-v-ffd6fa87] {
111
104
  position: fixed;
112
105
  z-index: 1000;
113
106
  pointer-events: none;
114
107
  }
115
- .add-node-menu .add-menu-content[data-v-b2b17129] {
108
+ .add-node-menu .add-menu-content[data-v-ffd6fa87] {
116
109
  background: var(--n-card-color);
117
110
  border-radius: 12px;
118
111
  padding: 12px;
@@ -121,9 +114,9 @@
121
114
  display: flex;
122
115
  gap: 8px;
123
116
  pointer-events: auto;
124
- animation: menuSlideUp-b2b17129 0.3s ease;
117
+ animation: menuSlideUp-ffd6fa87 0.3s ease;
125
118
  }
126
- .add-menu-item[data-v-b2b17129] {
119
+ .add-menu-item[data-v-ffd6fa87] {
127
120
  appearance: none;
128
121
  border: 0;
129
122
  color: inherit;
@@ -138,14 +131,14 @@
138
131
  min-width: 70px;
139
132
  background: var(--n-color-embedded);
140
133
  }
141
- .add-menu-item[data-v-b2b17129]:hover {
134
+ .add-menu-item[data-v-ffd6fa87]:hover {
142
135
  background: var(--n-color-hover);
143
136
  }
144
- .add-menu-item[data-v-b2b17129]:focus-visible {
137
+ .add-menu-item[data-v-ffd6fa87]:focus-visible {
145
138
  outline: 2px solid var(--n-color-target, #18a058);
146
139
  outline-offset: 2px;
147
140
  }
148
- .menu-icon[data-v-b2b17129] {
141
+ .menu-icon[data-v-ffd6fa87] {
149
142
  width: 32px;
150
143
  height: 32px;
151
144
  border-radius: 50%;
@@ -155,20 +148,20 @@
155
148
  margin-bottom: 6px;
156
149
  color: white;
157
150
  }
158
- .menu-icon.approval-icon[data-v-b2b17129] {
151
+ .menu-icon.approval-icon[data-v-ffd6fa87] {
159
152
  background: linear-gradient(135deg, #1890ff, #722ed1);
160
153
  }
161
- .menu-icon.copy-icon[data-v-b2b17129] {
154
+ .menu-icon.copy-icon[data-v-ffd6fa87] {
162
155
  background: linear-gradient(135deg, #52c41a, #389e0d);
163
156
  }
164
- .menu-icon.condition-icon[data-v-b2b17129] {
157
+ .menu-icon.condition-icon[data-v-ffd6fa87] {
165
158
  background: linear-gradient(135deg, #fa8c16, #d48806);
166
159
  }
167
- .menu-text[data-v-b2b17129] {
160
+ .menu-text[data-v-ffd6fa87] {
168
161
  font-size: 12px;
169
162
  font-weight: 500;
170
163
  }
171
- @keyframes menuSlideUp-b2b17129 {
164
+ @keyframes menuSlideUp-ffd6fa87 {
172
165
  from {
173
166
  opacity: 0;
174
167
  transform: translateY(10px);
@@ -179,25 +172,25 @@ to {
179
172
  }
180
173
  }
181
174
  /* 流程/数据校验结果显示样式 */
182
- .validation-success[data-v-b2b17129] {
175
+ .validation-success[data-v-ffd6fa87] {
183
176
  text-align: center;
184
177
  padding: 40px 20px;
185
178
  color: #52c41a;
186
179
  }
187
- .validation-success .success-icon[data-v-b2b17129] {
180
+ .validation-success .success-icon[data-v-ffd6fa87] {
188
181
  margin-bottom: 16px;
189
182
  }
190
- .validation-success h3[data-v-b2b17129] {
183
+ .validation-success h3[data-v-ffd6fa87] {
191
184
  margin: 0 0 8px 0;
192
185
  font-size: 18px;
193
186
  font-weight: 600;
194
187
  }
195
- .validation-success p[data-v-b2b17129] {
188
+ .validation-success p[data-v-ffd6fa87] {
196
189
  margin: 0;
197
190
  color: #666;
198
191
  font-size: 14px;
199
192
  }
200
- .validation-errors .error-summary[data-v-b2b17129] {
193
+ .validation-errors .error-summary[data-v-ffd6fa87] {
201
194
  text-align: center;
202
195
  padding: 20px;
203
196
  background: #fff2f0;
@@ -205,43 +198,43 @@ to {
205
198
  margin-bottom: 20px;
206
199
  border: 1px solid #ffccc7;
207
200
  }
208
- .validation-errors .error-summary .error-icon[data-v-b2b17129] {
201
+ .validation-errors .error-summary .error-icon[data-v-ffd6fa87] {
209
202
  margin-bottom: 12px;
210
203
  }
211
- .validation-errors .error-summary h3[data-v-b2b17129] {
204
+ .validation-errors .error-summary h3[data-v-ffd6fa87] {
212
205
  margin: 0 0 8px 0;
213
206
  color: #ff4d4f;
214
207
  font-size: 16px;
215
208
  font-weight: 600;
216
209
  }
217
- .validation-errors .error-summary p[data-v-b2b17129] {
210
+ .validation-errors .error-summary p[data-v-ffd6fa87] {
218
211
  margin: 0;
219
212
  color: var(--n-text-color-2);
220
213
  font-size: 14px;
221
214
  }
222
- .validation-errors .error-list[data-v-b2b17129] {
215
+ .validation-errors .error-list[data-v-ffd6fa87] {
223
216
  display: flex;
224
217
  flex-direction: column;
225
218
  gap: 12px;
226
219
  }
227
- .validation-errors .error-item[data-v-b2b17129] {
220
+ .validation-errors .error-item[data-v-ffd6fa87] {
228
221
  background: white;
229
222
  border: 1px solid #f0f0f0;
230
223
  border-radius: 8px;
231
224
  padding: 16px;
232
225
  transition: all 0.2s ease;
233
226
  }
234
- .validation-errors .error-item[data-v-b2b17129]:hover {
227
+ .validation-errors .error-item[data-v-ffd6fa87]:hover {
235
228
  border-color: #d9d9d9;
236
229
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
237
230
  }
238
- .validation-errors .error-item .error-header[data-v-b2b17129] {
231
+ .validation-errors .error-item .error-header[data-v-ffd6fa87] {
239
232
  display: flex;
240
233
  align-items: center;
241
234
  gap: 12px;
242
235
  margin-bottom: 8px;
243
236
  }
244
- .validation-errors .error-item .error-header .error-number[data-v-b2b17129] {
237
+ .validation-errors .error-item .error-header .error-number[data-v-ffd6fa87] {
245
238
  width: 24px;
246
239
  height: 24px;
247
240
  background: #ff4d4f;
@@ -254,188 +247,188 @@ to {
254
247
  font-weight: 600;
255
248
  flex-shrink: 0;
256
249
  }
257
- .validation-errors .error-item .error-header .error-info[data-v-b2b17129] {
250
+ .validation-errors .error-item .error-header .error-info[data-v-ffd6fa87] {
258
251
  flex: 1;
259
252
  min-width: 0;
260
253
  }
261
- .validation-errors .error-item .error-header .error-info .error-node[data-v-b2b17129] {
254
+ .validation-errors .error-item .error-header .error-info .error-node[data-v-ffd6fa87] {
262
255
  display: block;
263
256
  color: var(--n-text-color-1);
264
257
  font-size: 14px;
265
258
  margin-bottom: 2px;
266
259
  }
267
- .validation-errors .error-item .error-header .error-info .error-field[data-v-b2b17129] {
260
+ .validation-errors .error-item .error-header .error-info .error-field[data-v-ffd6fa87] {
268
261
  color: var(--n-text-color-3);
269
262
  font-size: 12px;
270
263
  }
271
- .validation-errors .error-item .error-header .error-type[data-v-b2b17129] {
264
+ .validation-errors .error-item .error-header .error-type[data-v-ffd6fa87] {
272
265
  padding: 2px 8px;
273
266
  border-radius: 4px;
274
267
  font-size: 11px;
275
268
  font-weight: 500;
276
269
  }
277
- .validation-errors .error-item .error-header .error-type.required[data-v-b2b17129] {
270
+ .validation-errors .error-item .error-header .error-type.required[data-v-ffd6fa87] {
278
271
  background: #fff2f0;
279
272
  color: #ff4d4f;
280
273
  border: 1px solid #ffccc7;
281
274
  }
282
- .validation-errors .error-item .error-header .error-type.incomplete[data-v-b2b17129] {
275
+ .validation-errors .error-item .error-header .error-type.incomplete[data-v-ffd6fa87] {
283
276
  background: #fff7e6;
284
277
  color: #fa8c16;
285
278
  border: 1px solid #ffd591;
286
279
  }
287
- .validation-errors .error-item .error-header .error-type.warning[data-v-b2b17129] {
280
+ .validation-errors .error-item .error-header .error-type.warning[data-v-ffd6fa87] {
288
281
  background: #fffbe6;
289
282
  color: #faad14;
290
283
  border: 1px solid #ffe58f;
291
284
  }
292
- .validation-errors .error-item .error-message[data-v-b2b17129] {
285
+ .validation-errors .error-item .error-message[data-v-ffd6fa87] {
293
286
  color: var(--n-text-color-2);
294
287
  font-size: 13px;
295
288
  line-height: 1.5;
296
289
  margin-bottom: 12px;
297
290
  padding-left: 36px;
298
291
  }
299
- .validation-errors .error-item .error-actions[data-v-b2b17129] {
292
+ .validation-errors .error-item .error-actions[data-v-ffd6fa87] {
300
293
  padding-left: 36px;
301
294
  }
302
- .validation-errors .validation-tips[data-v-b2b17129] {
295
+ .validation-errors .validation-tips[data-v-ffd6fa87] {
303
296
  margin-top: 24px;
304
297
  padding: 16px;
305
298
  background: #f6ffed;
306
299
  border-radius: 8px;
307
300
  border: 1px solid #b7eb8f;
308
301
  }
309
- .validation-errors .validation-tips h4[data-v-b2b17129] {
302
+ .validation-errors .validation-tips h4[data-v-ffd6fa87] {
310
303
  margin: 0 0 12px 0;
311
304
  color: #389e0d;
312
305
  font-size: 14px;
313
306
  font-weight: 600;
314
307
  }
315
- .validation-errors .validation-tips ul[data-v-b2b17129] {
308
+ .validation-errors .validation-tips ul[data-v-ffd6fa87] {
316
309
  margin: 0;
317
310
  padding-left: 16px;
318
311
  color: var(--n-text-color-2);
319
312
  font-size: 13px;
320
313
  line-height: 1.6;
321
314
  }
322
- .validation-errors .validation-tips ul li[data-v-b2b17129] {
315
+ .validation-errors .validation-tips ul li[data-v-ffd6fa87] {
323
316
  margin-bottom: 6px;
324
317
  }
325
- .validation-errors .validation-tips ul li strong[data-v-b2b17129] {
318
+ .validation-errors .validation-tips ul li strong[data-v-ffd6fa87] {
326
319
  color: var(--n-text-color-1);
327
320
  }
328
- .validation-footer[data-v-b2b17129] {
321
+ .validation-footer[data-v-ffd6fa87] {
329
322
  display: flex;
330
323
  gap: 8px;
331
324
  justify-content: flex-end;
332
325
  }
333
326
 
334
327
  /* 边的样式(Vue Flow) */
335
- [data-v-b2b17129] .vue-flow__edge {
328
+ [data-v-ffd6fa87] .vue-flow__edge {
336
329
  stroke: #1890ff;
337
330
  stroke-width: 2px;
338
331
  }
339
- [data-v-b2b17129] .vue-flow__edge-path {
332
+ [data-v-ffd6fa87] .vue-flow__edge-path {
340
333
  stroke: #1890ff;
341
334
  stroke-width: 2px;
342
335
  }
343
- [data-v-b2b17129] .vue-flow__arrowhead {
336
+ [data-v-ffd6fa87] .vue-flow__arrowhead {
344
337
  fill: #1890ff;
345
338
  }
346
- [data-v-b2b17129] .vue-flow__edge.animated {
339
+ [data-v-ffd6fa87] .vue-flow__edge.animated {
347
340
  stroke-dasharray: 5;
348
- animation: dashdraw-b2b17129 0.5s linear infinite;
341
+ animation: dashdraw-ffd6fa87 0.5s linear infinite;
349
342
  }
350
- @keyframes dashdraw-b2b17129 {
343
+ @keyframes dashdraw-ffd6fa87 {
351
344
  to {
352
345
  stroke-dashoffset: -10;
353
346
  }
354
347
  }
355
348
  /* 暗色主题适配 */
356
- [data-theme=dark] .approval-workflow-container[data-v-b2b17129] {
349
+ [data-theme=dark] .approval-workflow-container[data-v-ffd6fa87] {
357
350
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
358
351
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
359
352
  }
360
- [data-theme=dark][data-v-b2b17129] {
353
+ [data-theme=dark][data-v-ffd6fa87] {
361
354
  /* 添加节点菜单文字 */
362
355
  }
363
- [data-theme=dark] .add-menu-item span[data-v-b2b17129] {
356
+ [data-theme=dark] .add-menu-item span[data-v-ffd6fa87] {
364
357
  color: white;
365
358
  }
366
- [data-theme=dark] .validation-success[data-v-b2b17129] {
359
+ [data-theme=dark] .validation-success[data-v-ffd6fa87] {
367
360
  color: #52c41a;
368
361
  }
369
- [data-theme=dark] .validation-success h3[data-v-b2b17129] {
362
+ [data-theme=dark] .validation-success h3[data-v-ffd6fa87] {
370
363
  color: #52c41a;
371
364
  }
372
- [data-theme=dark] .validation-success p[data-v-b2b17129] {
365
+ [data-theme=dark] .validation-success p[data-v-ffd6fa87] {
373
366
  color: var(--n-text-color-2);
374
367
  }
375
- [data-theme=dark] .validation-errors .error-summary[data-v-b2b17129] {
368
+ [data-theme=dark] .validation-errors .error-summary[data-v-ffd6fa87] {
376
369
  background: rgba(255, 77, 79, 0.1);
377
370
  border-color: rgba(255, 77, 79, 0.3);
378
371
  }
379
- [data-theme=dark] .validation-errors .error-summary h3[data-v-b2b17129] {
372
+ [data-theme=dark] .validation-errors .error-summary h3[data-v-ffd6fa87] {
380
373
  color: #ff4d4f;
381
374
  }
382
- [data-theme=dark] .validation-errors .error-summary p[data-v-b2b17129] {
375
+ [data-theme=dark] .validation-errors .error-summary p[data-v-ffd6fa87] {
383
376
  color: var(--n-text-color-2);
384
377
  }
385
- [data-theme=dark] .validation-errors .error-item[data-v-b2b17129] {
378
+ [data-theme=dark] .validation-errors .error-item[data-v-ffd6fa87] {
386
379
  background: var(--n-card-color);
387
380
  border-color: var(--n-border-color);
388
381
  }
389
- [data-theme=dark] .validation-errors .error-item[data-v-b2b17129]:hover {
382
+ [data-theme=dark] .validation-errors .error-item[data-v-ffd6fa87]:hover {
390
383
  border-color: rgba(255, 255, 255, 0.2);
391
384
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
392
385
  }
393
- [data-theme=dark] .validation-errors .error-item .error-info .error-node[data-v-b2b17129] {
386
+ [data-theme=dark] .validation-errors .error-item .error-info .error-node[data-v-ffd6fa87] {
394
387
  color: var(--n-text-color-1);
395
388
  }
396
- [data-theme=dark] .validation-errors .error-item .error-info .error-field[data-v-b2b17129] {
389
+ [data-theme=dark] .validation-errors .error-item .error-info .error-field[data-v-ffd6fa87] {
397
390
  color: var(--n-text-color-3);
398
391
  }
399
- [data-theme=dark] .validation-errors .error-item .error-type.required[data-v-b2b17129] {
392
+ [data-theme=dark] .validation-errors .error-item .error-type.required[data-v-ffd6fa87] {
400
393
  background: rgba(255, 77, 79, 0.15);
401
394
  color: #ff7875;
402
395
  border-color: rgba(255, 77, 79, 0.3);
403
396
  }
404
- [data-theme=dark] .validation-errors .error-item .error-type.incomplete[data-v-b2b17129] {
397
+ [data-theme=dark] .validation-errors .error-item .error-type.incomplete[data-v-ffd6fa87] {
405
398
  background: rgba(250, 140, 22, 0.15);
406
399
  color: #ffa940;
407
400
  border-color: rgba(250, 140, 22, 0.3);
408
401
  }
409
- [data-theme=dark] .validation-errors .error-item .error-type.warning[data-v-b2b17129] {
402
+ [data-theme=dark] .validation-errors .error-item .error-type.warning[data-v-ffd6fa87] {
410
403
  background: rgba(250, 173, 20, 0.15);
411
404
  color: #ffc53d;
412
405
  border-color: rgba(250, 173, 20, 0.3);
413
406
  }
414
- [data-theme=dark] .validation-errors .error-item .error-message[data-v-b2b17129] {
407
+ [data-theme=dark] .validation-errors .error-item .error-message[data-v-ffd6fa87] {
415
408
  color: var(--n-text-color-2);
416
409
  }
417
- [data-theme=dark] .validation-errors .validation-tips[data-v-b2b17129] {
410
+ [data-theme=dark] .validation-errors .validation-tips[data-v-ffd6fa87] {
418
411
  background: rgba(82, 196, 26, 0.1);
419
412
  border-color: rgba(82, 196, 26, 0.3);
420
413
  }
421
- [data-theme=dark] .validation-errors .validation-tips h4[data-v-b2b17129] {
414
+ [data-theme=dark] .validation-errors .validation-tips h4[data-v-ffd6fa87] {
422
415
  color: #73d13d;
423
416
  }
424
- [data-theme=dark] .validation-errors .validation-tips ul[data-v-b2b17129] {
417
+ [data-theme=dark] .validation-errors .validation-tips ul[data-v-ffd6fa87] {
425
418
  color: var(--n-text-color-2);
426
419
  }
427
- [data-theme=dark] .validation-errors .validation-tips ul li strong[data-v-b2b17129] {
420
+ [data-theme=dark] .validation-errors .validation-tips ul li strong[data-v-ffd6fa87] {
428
421
  color: var(--n-text-color-1);
429
422
  }
430
423
 
431
424
  /* ─── 流程预览抽屉样式 ────────────────────────────────────── */
432
- .preview-stats[data-v-b2b17129] {
425
+ .preview-stats[data-v-ffd6fa87] {
433
426
  display: flex;
434
427
  gap: 12px;
435
428
  margin-bottom: 24px;
436
429
  flex-wrap: wrap;
437
430
  }
438
- .preview-stats .stat-item[data-v-b2b17129] {
431
+ .preview-stats .stat-item[data-v-ffd6fa87] {
439
432
  flex: 1;
440
433
  min-width: 70px;
441
434
  text-align: center;
@@ -445,51 +438,51 @@ to {
445
438
  border: 1px solid var(--n-border-color);
446
439
  transition: all 0.2s;
447
440
  }
448
- .preview-stats .stat-item .stat-value[data-v-b2b17129] {
441
+ .preview-stats .stat-item .stat-value[data-v-ffd6fa87] {
449
442
  display: block;
450
443
  font-size: 22px;
451
444
  font-weight: 700;
452
445
  color: var(--n-text-color-1);
453
446
  }
454
- .preview-stats .stat-item .stat-label[data-v-b2b17129] {
447
+ .preview-stats .stat-item .stat-label[data-v-ffd6fa87] {
455
448
  display: block;
456
449
  font-size: 12px;
457
450
  color: var(--n-text-color-3);
458
451
  margin-top: 4px;
459
452
  }
460
- .preview-stats .stat-item.approval .stat-value[data-v-b2b17129] {
453
+ .preview-stats .stat-item.approval .stat-value[data-v-ffd6fa87] {
461
454
  color: #ff6b35;
462
455
  }
463
- .preview-stats .stat-item.copy .stat-value[data-v-b2b17129] {
456
+ .preview-stats .stat-item.copy .stat-value[data-v-ffd6fa87] {
464
457
  color: #1890ff;
465
458
  }
466
- .preview-stats .stat-item.condition .stat-value[data-v-b2b17129] {
459
+ .preview-stats .stat-item.condition .stat-value[data-v-ffd6fa87] {
467
460
  color: #faad14;
468
461
  }
469
- .preview-stats .stat-item.edge .stat-value[data-v-b2b17129] {
462
+ .preview-stats .stat-item.edge .stat-value[data-v-ffd6fa87] {
470
463
  color: #52c41a;
471
464
  }
472
- .preview-timeline[data-v-b2b17129] {
465
+ .preview-timeline[data-v-ffd6fa87] {
473
466
  position: relative;
474
467
  padding: 0 0 0 8px;
475
468
  }
476
- .preview-timeline .preview-step[data-v-b2b17129] {
469
+ .preview-timeline .preview-step[data-v-ffd6fa87] {
477
470
  display: flex;
478
471
  gap: 16px;
479
472
  position: relative;
480
473
  padding-bottom: 8px;
481
474
  }
482
- .preview-timeline .preview-step:last-child .step-line[data-v-b2b17129] {
475
+ .preview-timeline .preview-step:last-child .step-line[data-v-ffd6fa87] {
483
476
  display: none;
484
477
  }
485
- .preview-timeline .step-connector[data-v-b2b17129] {
478
+ .preview-timeline .step-connector[data-v-ffd6fa87] {
486
479
  display: flex;
487
480
  flex-direction: column;
488
481
  align-items: center;
489
482
  flex-shrink: 0;
490
483
  width: 32px;
491
484
  }
492
- .preview-timeline .step-connector .step-dot[data-v-b2b17129] {
485
+ .preview-timeline .step-connector .step-dot[data-v-ffd6fa87] {
493
486
  width: 32px;
494
487
  height: 32px;
495
488
  border-radius: 50%;
@@ -501,44 +494,44 @@ to {
501
494
  z-index: 1;
502
495
  background: #999;
503
496
  }
504
- .preview-timeline .step-connector .step-line[data-v-b2b17129] {
497
+ .preview-timeline .step-connector .step-line[data-v-ffd6fa87] {
505
498
  width: 2px;
506
499
  flex: 1;
507
500
  min-height: 20px;
508
501
  background: var(--n-border-color);
509
502
  }
510
- .preview-timeline[data-v-b2b17129] {
503
+ .preview-timeline[data-v-ffd6fa87] {
511
504
  /* 不同节点类型的圆点颜色 */
512
505
  }
513
- .preview-timeline .start .step-dot[data-v-b2b17129] {
506
+ .preview-timeline .start .step-dot[data-v-ffd6fa87] {
514
507
  background: linear-gradient(135deg, #667eea, #764ba2);
515
508
  }
516
- .preview-timeline .approval .step-dot[data-v-b2b17129] {
509
+ .preview-timeline .approval .step-dot[data-v-ffd6fa87] {
517
510
  background: linear-gradient(135deg, #ff6b35, #ff4500);
518
511
  }
519
- .preview-timeline .copy .step-dot[data-v-b2b17129] {
512
+ .preview-timeline .copy .step-dot[data-v-ffd6fa87] {
520
513
  background: linear-gradient(135deg, #1890ff, #096dd9);
521
514
  }
522
- .preview-timeline .condition .step-dot[data-v-b2b17129] {
515
+ .preview-timeline .condition .step-dot[data-v-ffd6fa87] {
523
516
  background: linear-gradient(135deg, #faad14, #d48806);
524
517
  }
525
- .preview-timeline .step-content[data-v-b2b17129] {
518
+ .preview-timeline .step-content[data-v-ffd6fa87] {
526
519
  flex: 1;
527
520
  padding-bottom: 20px;
528
521
  min-width: 0;
529
522
  }
530
- .preview-timeline .step-content .step-header[data-v-b2b17129] {
523
+ .preview-timeline .step-content .step-header[data-v-ffd6fa87] {
531
524
  display: flex;
532
525
  align-items: center;
533
526
  gap: 8px;
534
527
  margin-bottom: 6px;
535
528
  }
536
- .preview-timeline .step-content .step-header .step-order[data-v-b2b17129] {
529
+ .preview-timeline .step-content .step-header .step-order[data-v-ffd6fa87] {
537
530
  font-size: 12px;
538
531
  color: var(--n-text-color-3);
539
532
  font-weight: 500;
540
533
  }
541
- .preview-timeline .step-content .step-header .step-type-badge[data-v-b2b17129] {
534
+ .preview-timeline .step-content .step-header .step-type-badge[data-v-ffd6fa87] {
542
535
  font-size: 11px;
543
536
  padding: 1px 8px;
544
537
  border-radius: 10px;
@@ -546,19 +539,19 @@ to {
546
539
  color: var(--n-text-color-2);
547
540
  border: 1px solid var(--n-border-color);
548
541
  }
549
- .preview-timeline .step-content .step-title[data-v-b2b17129] {
542
+ .preview-timeline .step-content .step-title[data-v-ffd6fa87] {
550
543
  font-size: 15px;
551
544
  font-weight: 600;
552
545
  color: var(--n-text-color-1);
553
546
  margin-bottom: 8px;
554
547
  }
555
- .preview-timeline .step-content .step-details[data-v-b2b17129] {
548
+ .preview-timeline .step-content .step-details[data-v-ffd6fa87] {
556
549
  background: var(--n-action-color);
557
550
  border-radius: 8px;
558
551
  padding: 10px 14px;
559
552
  border: 1px solid var(--n-border-color);
560
553
  }
561
- .preview-timeline .step-content .step-details .step-detail-item[data-v-b2b17129] {
554
+ .preview-timeline .step-content .step-details .step-detail-item[data-v-ffd6fa87] {
562
555
  font-size: 13px;
563
556
  color: var(--n-text-color-2);
564
557
  line-height: 1.8;
@@ -568,21 +561,21 @@ to {
568
561
  flex-wrap: wrap;
569
562
  gap: 4px;
570
563
  }
571
- .preview-timeline .step-content .step-details .step-detail-item[data-v-b2b17129]:not(:last-child) {
564
+ .preview-timeline .step-content .step-details .step-detail-item[data-v-ffd6fa87]:not(:last-child) {
572
565
  border-bottom: 1px dashed var(--n-border-color);
573
566
  padding-bottom: 8px;
574
567
  margin-bottom: 8px;
575
568
  }
576
- .preview-timeline .step-content .step-details .step-detail-item.is-warning[data-v-b2b17129] {
569
+ .preview-timeline .step-content .step-details .step-detail-item.is-warning[data-v-ffd6fa87] {
577
570
  color: #faad14;
578
571
  }
579
- .preview-timeline .step-content .step-details .step-detail-item .detail-label[data-v-b2b17129] {
572
+ .preview-timeline .step-content .step-details .step-detail-item .detail-label[data-v-ffd6fa87] {
580
573
  color: var(--n-text-color-3);
581
574
  font-size: 12px;
582
575
  flex-shrink: 0;
583
576
  line-height: 24px;
584
577
  }
585
- .preview-timeline .step-content .step-details .step-detail-item .mode-badge[data-v-b2b17129] {
578
+ .preview-timeline .step-content .step-details .step-detail-item .mode-badge[data-v-ffd6fa87] {
586
579
  display: inline-block;
587
580
  font-size: 12px;
588
581
  font-weight: 600;
@@ -590,117 +583,286 @@ to {
590
583
  border-radius: 12px;
591
584
  line-height: 20px;
592
585
  }
593
- .preview-timeline .step-content .step-details .step-detail-item .mode-badge.any[data-v-b2b17129] {
586
+ .preview-timeline .step-content .step-details .step-detail-item .mode-badge.any[data-v-ffd6fa87] {
594
587
  background: rgba(24, 144, 255, 0.1);
595
588
  color: #1890ff;
596
589
  border: 1px solid rgba(24, 144, 255, 0.25);
597
590
  }
598
- .preview-timeline .step-content .step-details .step-detail-item .mode-badge.all[data-v-b2b17129] {
591
+ .preview-timeline .step-content .step-details .step-detail-item .mode-badge.all[data-v-ffd6fa87] {
599
592
  background: rgba(255, 77, 79, 0.1);
600
593
  color: #ff4d4f;
601
594
  border: 1px solid rgba(255, 77, 79, 0.25);
602
595
  }
603
- .preview-timeline .step-content .step-details .step-detail-item .mode-badge.sequence[data-v-b2b17129] {
596
+ .preview-timeline .step-content .step-details .step-detail-item .mode-badge.sequence[data-v-ffd6fa87] {
604
597
  background: rgba(114, 46, 209, 0.1);
605
598
  color: #722ed1;
606
599
  border: 1px solid rgba(114, 46, 209, 0.25);
607
600
  }
608
- .preview-timeline .step-content .step-details .step-detail-item .user-tag[data-v-b2b17129] {
601
+ .preview-timeline .step-content .step-details .step-detail-item .user-tag[data-v-ffd6fa87] {
609
602
  margin: 1px 2px;
610
603
  }
611
- .preview-timeline .step-content .step-details .step-detail-item .warning-text[data-v-b2b17129] {
604
+ .preview-timeline .step-content .step-details .step-detail-item .warning-text[data-v-ffd6fa87] {
612
605
  color: #faad14;
613
606
  font-weight: 500;
614
607
  }
615
- .preview-empty[data-v-b2b17129] {
608
+ .preview-empty[data-v-ffd6fa87] {
616
609
  display: flex;
617
610
  flex-direction: column;
618
611
  align-items: center;
619
612
  justify-content: center;
620
613
  padding: 60px 0;
621
614
  }
622
- .preview-empty p[data-v-b2b17129] {
615
+ .preview-empty p[data-v-ffd6fa87] {
623
616
  margin-top: 12px;
624
617
  color: var(--n-text-color-3);
625
618
  font-size: 14px;
626
619
  }
627
- .preview-footer[data-v-b2b17129] {
620
+ .preview-footer[data-v-ffd6fa87] {
628
621
  display: flex;
629
622
  justify-content: flex-end;
630
623
  gap: 12px;
631
624
  }
632
- /* unplugin-vue-components disabled */
625
+
633
626
  /* layer: default */
634
- .absolute[data-v-6fb2df95]{position:absolute;}
635
- .relative[data-v-6fb2df95]{position:relative;}
636
- .flex[data-v-6fb2df95]{display:flex;}
637
- .flex-shrink[data-v-6fb2df95]{flex-shrink:1;}
638
- .transform[data-v-6fb2df95]{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}
639
- .border[data-v-6fb2df95]{border-width:1px;}
640
- .italic[data-v-6fb2df95]{font-style:italic;}
641
- .outline[data-v-6fb2df95]{outline-style:solid;}
642
- .transition[data-v-6fb2df95]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;}
627
+ .start-1[data-v-ffd6fa87]{inset-inline-start:0.25rem;}
628
+ .px[data-v-ffd6fa87]{padding-left:1rem;padding-right:1rem;}
629
+
643
630
 
644
- /* unplugin-vue-components disabled */
645
631
  /* layer: default */
646
- .absolute[data-v-5ede8782]{position:absolute;}
647
- .relative[data-v-5ede8782]{position:relative;}
648
- .hidden[data-v-5ede8782]{display:none;}
649
- .flex[data-v-5ede8782]{display:flex;}
650
- .transform[data-v-5ede8782]{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}
651
- .border[data-v-5ede8782]{border-width:1px;}
652
- .outline[data-v-5ede8782]{outline-style:solid;}
653
- .transition[data-v-5ede8782]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;}
654
- .ease[data-v-5ede8782]{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}
632
+ .visible[data-v-df36c1fc]{visibility:visible;}
633
+ .start-1[data-v-df36c1fc]{inset-inline-start:0.25rem;}
634
+ .mb-2[data-v-df36c1fc]{margin-bottom:0.5rem;}
635
+ .mb-3[data-v-df36c1fc]{margin-bottom:0.75rem;}
636
+ .mb-4[data-v-df36c1fc]{margin-bottom:1rem;}
637
+ .ml-auto[data-v-df36c1fc]{margin-left:auto;}
638
+ .mt-4[data-v-df36c1fc]{margin-top:1rem;}
639
+ .block[data-v-df36c1fc]{display:block;}
640
+ .max-h-50[data-v-df36c1fc]{max-height:12.5rem;}
641
+ .max-h-60vh[data-v-df36c1fc]{max-height:60vh;}
642
+ .min-h-10[data-v-df36c1fc]{min-height:2.5rem;}
643
+ .w-full[data-v-df36c1fc]{width:100%;}
644
+ .flex[data-v-df36c1fc]{display:flex;}
645
+ .flex-shrink-0[data-v-df36c1fc]{flex-shrink:0;}
646
+ .flex-col[data-v-df36c1fc]{flex-direction:column;}
647
+ .flex-wrap[data-v-df36c1fc]{flex-wrap:wrap;}
648
+ .flex-nowrap[data-v-df36c1fc]{flex-wrap:nowrap;}
649
+ .items-center[data-v-df36c1fc]{align-items:center;}
650
+ .gap-1[data-v-df36c1fc]{gap:0.25rem;}
651
+ .gap-2[data-v-df36c1fc]{gap:0.5rem;}
652
+ .gap-3[data-v-df36c1fc]{gap:0.75rem;}
653
+ .space-y-3[data-v-df36c1fc]>:not([hidden])~:not([hidden]){--un-space-y-reverse:0;margin-top:calc(0.75rem * calc(1 - var(--un-space-y-reverse)));margin-bottom:calc(0.75rem * var(--un-space-y-reverse));}
654
+ .overflow-y-auto[data-v-df36c1fc]{overflow-y:auto;}
655
+ .border[data-v-df36c1fc]{border-width:1px;}
656
+ .border-gray-200[data-v-df36c1fc]{--un-border-opacity:1;border-color:rgb(229 231 235 / var(--un-border-opacity));}
657
+ .hover\:border-gray-300[data-v-df36c1fc]:hover{--un-border-opacity:1;border-color:rgb(209 213 219 / var(--un-border-opacity));}
658
+ .rounded[data-v-df36c1fc]{border-radius:0.25rem;}
659
+ .rounded-lg[data-v-df36c1fc]{border-radius:0.5rem;}
660
+ .p-2[data-v-df36c1fc]{padding:0.5rem;}
661
+ .p-3[data-v-df36c1fc]{padding:0.75rem;}
662
+ .p-4[data-v-df36c1fc]{padding:1rem;}
663
+ .px-1\.5[data-v-df36c1fc]{padding-left:0.375rem;padding-right:0.375rem;}
664
+ .py-0\.5[data-v-df36c1fc]{padding-top:0.125rem;padding-bottom:0.125rem;}
665
+ .text-base[data-v-df36c1fc]{font-size:1rem;line-height:1.5rem;}
666
+ .text-sm[data-v-df36c1fc]{font-size:0.875rem;line-height:1.25rem;}
667
+ .text-xs[data-v-df36c1fc]{font-size:0.75rem;line-height:1rem;}
668
+ .font-medium[data-v-df36c1fc]{font-weight:500;}
669
+ .font-semibold[data-v-df36c1fc]{font-weight:600;}
670
+ .transition-colors[data-v-df36c1fc]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;}
655
671
 
656
- /* unplugin-vue-components disabled */.start-node[data-v-6fb2df95] {
672
+ .approval-node[data-v-e6968a42] {
657
673
  position: relative;
658
674
  }
659
- .node-content[data-v-6fb2df95] {
660
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
675
+ .status-indicator[data-v-e6968a42] {
676
+ position: absolute;
677
+ top: -4px;
678
+ right: -4px;
679
+ width: 12px;
680
+ height: 12px;
681
+ border-radius: 50%;
682
+ border: 2px solid white;
683
+ z-index: 2;
684
+ background: #faad14;
685
+ }
686
+ .status-indicator.approved[data-v-e6968a42] {
687
+ background: #52c41a;
688
+ }
689
+ .status-indicator.rejected[data-v-e6968a42] {
690
+ background: #ff4d4f;
691
+ }
692
+ .status-indicator.pending[data-v-e6968a42] {
693
+ background: #1890ff;
694
+ }
695
+ .delete-btn[data-v-e6968a42] {
696
+ appearance: none;
697
+ padding: 0;
698
+ position: absolute;
699
+ top: -10px;
700
+ right: -10px;
701
+ width: 24px;
702
+ height: 24px;
703
+ border-radius: 50%;
704
+ background: #ff4d4f;
661
705
  color: white;
662
- padding: 16px 20px;
663
- border-radius: 12px;
664
706
  display: flex;
665
707
  align-items: center;
666
708
  justify-content: center;
667
- gap: 12px;
668
- min-width: 160px;
669
- box-shadow: 0 4px 20px rgba(102, 126, 234, 0.3);
709
+ cursor: pointer;
710
+ z-index: 100; /* 确保在所有元素之上 */
711
+ opacity: 0;
712
+ transform: scale(0.8);
713
+ transition: all 0.2s ease;
714
+ border: 2px solid white;
715
+ box-shadow: 0 2px 8px rgba(255, 77, 79, 0.3);
716
+ }
717
+ .delete-btn[data-v-e6968a42]:hover {
718
+ transform: scale(1);
719
+ background: #ff7875;
720
+ box-shadow: 0 4px 12px rgba(255, 77, 79, 0.5);
721
+ }
722
+ .delete-btn[data-v-e6968a42]:active {
723
+ transform: scale(0.95);
724
+ }
725
+ .approval-node:hover .delete-btn[data-v-e6968a42],
726
+ .approval-node:focus-within .delete-btn[data-v-e6968a42] {
727
+ opacity: 1;
728
+ transform: scale(1);
729
+ }
730
+ .node-card[data-v-e6968a42] {
731
+ background: white;
732
+ border-radius: 12px;
733
+ min-width: 240px;
734
+ max-width: 300px;
735
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
736
+ border: 2px solid transparent;
670
737
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
738
+ overflow: hidden;
671
739
  cursor: pointer;
672
740
  }
673
- .node-content[data-v-6fb2df95]:hover {
741
+ .node-card[data-v-e6968a42]:hover {
674
742
  transform: translateY(-2px);
675
- box-shadow: 0 8px 30px rgba(102, 126, 234, 0.4);
743
+ box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
744
+ border-color: #1890ff;
676
745
  }
677
- .node-icon[data-v-6fb2df95] {
678
- font-size: 16px;
746
+ .node-header[data-v-e6968a42] {
747
+ padding: 12px 16px;
748
+ background: linear-gradient(135deg, #e6f7ff, #f0f9ff);
749
+ border-bottom: 1px solid #91d5ff;
750
+ display: flex;
751
+ align-items: center;
752
+ gap: 8px;
753
+ flex-wrap: wrap;
754
+ }
755
+ .node-icon[data-v-e6968a42] {
756
+ width: 24px;
757
+ height: 24px;
758
+ border-radius: 50%;
759
+ background: #1890ff;
760
+ color: white;
761
+ display: flex;
762
+ align-items: center;
763
+ justify-content: center;
764
+ }
765
+ .node-title[data-v-e6968a42] {
766
+ font-weight: 600;
767
+ color: var(--n-text-color-1);
768
+ font-size: 14px;
769
+ flex: 1;
770
+ }
771
+ .node-badge[data-v-e6968a42] {
772
+ background: #1890ff;
773
+ color: white;
774
+ padding: 2px 6px;
775
+ border-radius: 10px;
776
+ font-size: 11px;
777
+ font-weight: 600;
778
+ min-width: 16px;
779
+ text-align: center;
780
+ }
781
+ .approval-mode-badge[data-v-e6968a42] {
782
+ background: #f0f0f0;
783
+ color: #666;
784
+ padding: 2px 6px;
785
+ border-radius: 8px;
786
+ font-size: 10px;
787
+ font-weight: 500;
788
+ }
789
+ .node-content[data-v-e6968a42] {
790
+ padding: 16px;
791
+ }
792
+ .approvers-list[data-v-e6968a42] {
793
+ display: flex;
794
+ flex-direction: column;
795
+ gap: 8px;
796
+ }
797
+ .approver-tag[data-v-e6968a42] {
798
+ background: linear-gradient(135deg, #e6f7ff, #f0f9ff);
799
+ border: 1px solid #91d5ff;
800
+ border-radius: 8px;
801
+ padding: 8px 12px;
802
+ transition: all 0.2s ease;
803
+ }
804
+ .approver-tag[data-v-e6968a42]:hover {
805
+ transform: translateX(2px);
806
+ box-shadow: 0 2px 8px rgba(24, 144, 255, 0.2);
807
+ }
808
+ .approver-tag .approver-info[data-v-e6968a42] {
809
+ display: flex;
810
+ align-items: center;
811
+ gap: 8px;
812
+ }
813
+ .approver-tag .approver-info .approver-avatar[data-v-e6968a42] {
679
814
  flex-shrink: 0;
680
815
  }
681
- .node-info[data-v-6fb2df95] {
816
+ .approver-tag .approver-info .approver-details[data-v-e6968a42] {
682
817
  display: flex;
683
818
  flex-direction: column;
684
- gap: 4px;
685
- text-align: center;
819
+ gap: 2px;
820
+ min-width: 0;
686
821
  }
687
- .node-text[data-v-6fb2df95] {
822
+ .approver-tag .approver-info .approver-details .approver-name[data-v-e6968a42] {
688
823
  font-weight: 600;
689
- font-size: 14px;
824
+ color: #1890ff;
825
+ font-size: 13px;
690
826
  }
691
- .initiator-name[data-v-6fb2df95] {
827
+ .approver-tag .approver-info .approver-details .approver-dept[data-v-e6968a42] {
828
+ font-size: 11px;
829
+ color: #666;
830
+ background: rgba(0, 0, 0, 0.05);
831
+ padding: 1px 4px;
832
+ border-radius: 4px;
833
+ display: inline-block;
834
+ }
835
+ .approver-tag .approver-info .approver-details .approver-role[data-v-e6968a42] {
836
+ font-size: 10px;
837
+ color: #999;
838
+ }
839
+ .more-count[data-v-e6968a42] {
840
+ background: #f0f0f0;
841
+ color: #8c8c8c;
842
+ padding: 6px 8px;
843
+ border-radius: 12px;
692
844
  font-size: 12px;
693
- opacity: 0.9;
694
- background: rgba(255, 255, 255, 0.2);
695
- padding: 2px 8px;
845
+ font-weight: 500;
846
+ text-align: center;
847
+ border: 1px dashed #d9d9d9;
848
+ }
849
+ .placeholder[data-v-e6968a42] {
850
+ display: flex;
851
+ flex-direction: column;
852
+ align-items: center;
853
+ justify-content: center;
854
+ gap: 8px;
855
+ color: #8c8c8c;
856
+ font-size: 12px;
857
+ padding: 20px 0;
858
+ border: 1px dashed #d9d9d9;
696
859
  border-radius: 8px;
860
+ background: #fafafa;
697
861
  }
698
- .placeholder-text[data-v-6fb2df95] {
699
- font-size: 11px;
700
- opacity: 0.7;
701
- font-style: italic;
862
+ .placeholder span[data-v-e6968a42] {
863
+ font-weight: 500;
702
864
  }
703
- .add-node-btn[data-v-6fb2df95] {
865
+ .add-node-btn[data-v-e6968a42] {
704
866
  appearance: none;
705
867
  border: 0;
706
868
  padding: 0;
@@ -719,19 +881,38 @@ to {
719
881
  cursor: pointer;
720
882
  box-shadow: 0 4px 12px rgba(24, 144, 255, 0.3);
721
883
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
722
- font-size: 16px;
723
- font-weight: bold;
724
884
  z-index: 10;
725
885
  }
726
- .add-node-btn[data-v-6fb2df95]:hover {
886
+ .add-node-btn[data-v-e6968a42]:hover {
727
887
  transform: translateX(-50%) scale(1.1);
728
888
  box-shadow: 0 6px 20px rgba(24, 144, 255, 0.4);
729
889
  }
730
- .add-node-btn[data-v-6fb2df95]:focus-visible {
890
+ .add-node-btn[data-v-e6968a42]:focus-visible {
891
+ outline: 2px solid #1890ff;
892
+ outline-offset: 2px;
893
+ }
894
+ .delete-btn[data-v-e6968a42]:focus-visible {
895
+ opacity: 1;
731
896
  outline: 2px solid #1890ff;
732
897
  outline-offset: 2px;
733
898
  }
734
- /* unplugin-vue-components disabled */.condition-node[data-v-5ede8782] {
899
+
900
+ /* layer: default */
901
+ .absolute[data-v-e6968a42]{position:absolute;}
902
+ .relative[data-v-e6968a42]{position:relative;}
903
+ .start-1[data-v-e6968a42]{inset-inline-start:0.25rem;}
904
+ .inline-block[data-v-e6968a42]{display:inline-block;}
905
+ .hidden[data-v-e6968a42]{display:none;}
906
+ .flex[data-v-e6968a42]{display:flex;}
907
+ .flex-shrink[data-v-e6968a42]{flex-shrink:1;}
908
+ .flex-wrap[data-v-e6968a42]{flex-wrap:wrap;}
909
+ .transform[data-v-e6968a42]{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}
910
+ .border[data-v-e6968a42]{border-width:1px;}
911
+ .outline[data-v-e6968a42]{outline-style:solid;}
912
+ .transition[data-v-e6968a42]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;}
913
+ .ease[data-v-e6968a42]{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}
914
+
915
+ .condition-node[data-v-5ede8782] {
735
916
  position: relative;
736
917
  }
737
918
  .status-indicator[data-v-5ede8782] {
@@ -918,263 +1099,19 @@ to {
918
1099
  outline: 2px solid #fa8c16;
919
1100
  outline-offset: 2px;
920
1101
  }
921
- /* unplugin-vue-components disabled */
1102
+
922
1103
  /* layer: default */
923
- .absolute[data-v-e6968a42]{position:absolute;}
924
- .relative[data-v-e6968a42]{position:relative;}
925
- .start-1[data-v-e6968a42]{inset-inline-start:0.25rem;}
926
- .inline-block[data-v-e6968a42]{display:inline-block;}
927
- .hidden[data-v-e6968a42]{display:none;}
928
- .flex[data-v-e6968a42]{display:flex;}
929
- .flex-shrink[data-v-e6968a42]{flex-shrink:1;}
930
- .flex-wrap[data-v-e6968a42]{flex-wrap:wrap;}
931
- .transform[data-v-e6968a42]{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}
932
- .border[data-v-e6968a42]{border-width:1px;}
933
- .outline[data-v-e6968a42]{outline-style:solid;}
934
- .transition[data-v-e6968a42]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;}
935
- .ease[data-v-e6968a42]{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}
936
-
937
- /* unplugin-vue-components disabled */
938
- /* layer: default */
939
- .absolute[data-v-010e7ec8]{position:absolute;}
940
- .relative[data-v-010e7ec8]{position:relative;}
941
- .hidden[data-v-010e7ec8]{display:none;}
942
- .flex[data-v-010e7ec8]{display:flex;}
943
- .flex-wrap[data-v-010e7ec8]{flex-wrap:wrap;}
944
- .transform[data-v-010e7ec8]{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}
945
- .border[data-v-010e7ec8]{border-width:1px;}
946
- .outline[data-v-010e7ec8]{outline-style:solid;}
947
- .transition[data-v-010e7ec8]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;}
948
- .ease[data-v-010e7ec8]{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}
1104
+ .absolute[data-v-5ede8782]{position:absolute;}
1105
+ .relative[data-v-5ede8782]{position:relative;}
1106
+ .hidden[data-v-5ede8782]{display:none;}
1107
+ .flex[data-v-5ede8782]{display:flex;}
1108
+ .transform[data-v-5ede8782]{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}
1109
+ .border[data-v-5ede8782]{border-width:1px;}
1110
+ .outline[data-v-5ede8782]{outline-style:solid;}
1111
+ .transition[data-v-5ede8782]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;}
1112
+ .ease[data-v-5ede8782]{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}
949
1113
 
950
- /* unplugin-vue-components disabled */.approval-node[data-v-e6968a42] {
951
- position: relative;
952
- }
953
- .status-indicator[data-v-e6968a42] {
954
- position: absolute;
955
- top: -4px;
956
- right: -4px;
957
- width: 12px;
958
- height: 12px;
959
- border-radius: 50%;
960
- border: 2px solid white;
961
- z-index: 2;
962
- background: #faad14;
963
- }
964
- .status-indicator.approved[data-v-e6968a42] {
965
- background: #52c41a;
966
- }
967
- .status-indicator.rejected[data-v-e6968a42] {
968
- background: #ff4d4f;
969
- }
970
- .status-indicator.pending[data-v-e6968a42] {
971
- background: #1890ff;
972
- }
973
- .delete-btn[data-v-e6968a42] {
974
- appearance: none;
975
- padding: 0;
976
- position: absolute;
977
- top: -10px;
978
- right: -10px;
979
- width: 24px;
980
- height: 24px;
981
- border-radius: 50%;
982
- background: #ff4d4f;
983
- color: white;
984
- display: flex;
985
- align-items: center;
986
- justify-content: center;
987
- cursor: pointer;
988
- z-index: 100; /* 确保在所有元素之上 */
989
- opacity: 0;
990
- transform: scale(0.8);
991
- transition: all 0.2s ease;
992
- border: 2px solid white;
993
- box-shadow: 0 2px 8px rgba(255, 77, 79, 0.3);
994
- }
995
- .delete-btn[data-v-e6968a42]:hover {
996
- transform: scale(1);
997
- background: #ff7875;
998
- box-shadow: 0 4px 12px rgba(255, 77, 79, 0.5);
999
- }
1000
- .delete-btn[data-v-e6968a42]:active {
1001
- transform: scale(0.95);
1002
- }
1003
- .approval-node:hover .delete-btn[data-v-e6968a42],
1004
- .approval-node:focus-within .delete-btn[data-v-e6968a42] {
1005
- opacity: 1;
1006
- transform: scale(1);
1007
- }
1008
- .node-card[data-v-e6968a42] {
1009
- background: white;
1010
- border-radius: 12px;
1011
- min-width: 240px;
1012
- max-width: 300px;
1013
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
1014
- border: 2px solid transparent;
1015
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
1016
- overflow: hidden;
1017
- cursor: pointer;
1018
- }
1019
- .node-card[data-v-e6968a42]:hover {
1020
- transform: translateY(-2px);
1021
- box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
1022
- border-color: #1890ff;
1023
- }
1024
- .node-header[data-v-e6968a42] {
1025
- padding: 12px 16px;
1026
- background: linear-gradient(135deg, #e6f7ff, #f0f9ff);
1027
- border-bottom: 1px solid #91d5ff;
1028
- display: flex;
1029
- align-items: center;
1030
- gap: 8px;
1031
- flex-wrap: wrap;
1032
- }
1033
- .node-icon[data-v-e6968a42] {
1034
- width: 24px;
1035
- height: 24px;
1036
- border-radius: 50%;
1037
- background: #1890ff;
1038
- color: white;
1039
- display: flex;
1040
- align-items: center;
1041
- justify-content: center;
1042
- }
1043
- .node-title[data-v-e6968a42] {
1044
- font-weight: 600;
1045
- color: var(--n-text-color-1);
1046
- font-size: 14px;
1047
- flex: 1;
1048
- }
1049
- .node-badge[data-v-e6968a42] {
1050
- background: #1890ff;
1051
- color: white;
1052
- padding: 2px 6px;
1053
- border-radius: 10px;
1054
- font-size: 11px;
1055
- font-weight: 600;
1056
- min-width: 16px;
1057
- text-align: center;
1058
- }
1059
- .approval-mode-badge[data-v-e6968a42] {
1060
- background: #f0f0f0;
1061
- color: #666;
1062
- padding: 2px 6px;
1063
- border-radius: 8px;
1064
- font-size: 10px;
1065
- font-weight: 500;
1066
- }
1067
- .node-content[data-v-e6968a42] {
1068
- padding: 16px;
1069
- }
1070
- .approvers-list[data-v-e6968a42] {
1071
- display: flex;
1072
- flex-direction: column;
1073
- gap: 8px;
1074
- }
1075
- .approver-tag[data-v-e6968a42] {
1076
- background: linear-gradient(135deg, #e6f7ff, #f0f9ff);
1077
- border: 1px solid #91d5ff;
1078
- border-radius: 8px;
1079
- padding: 8px 12px;
1080
- transition: all 0.2s ease;
1081
- }
1082
- .approver-tag[data-v-e6968a42]:hover {
1083
- transform: translateX(2px);
1084
- box-shadow: 0 2px 8px rgba(24, 144, 255, 0.2);
1085
- }
1086
- .approver-tag .approver-info[data-v-e6968a42] {
1087
- display: flex;
1088
- align-items: center;
1089
- gap: 8px;
1090
- }
1091
- .approver-tag .approver-info .approver-avatar[data-v-e6968a42] {
1092
- flex-shrink: 0;
1093
- }
1094
- .approver-tag .approver-info .approver-details[data-v-e6968a42] {
1095
- display: flex;
1096
- flex-direction: column;
1097
- gap: 2px;
1098
- min-width: 0;
1099
- }
1100
- .approver-tag .approver-info .approver-details .approver-name[data-v-e6968a42] {
1101
- font-weight: 600;
1102
- color: #1890ff;
1103
- font-size: 13px;
1104
- }
1105
- .approver-tag .approver-info .approver-details .approver-dept[data-v-e6968a42] {
1106
- font-size: 11px;
1107
- color: #666;
1108
- background: rgba(0, 0, 0, 0.05);
1109
- padding: 1px 4px;
1110
- border-radius: 4px;
1111
- display: inline-block;
1112
- }
1113
- .approver-tag .approver-info .approver-details .approver-role[data-v-e6968a42] {
1114
- font-size: 10px;
1115
- color: #999;
1116
- }
1117
- .more-count[data-v-e6968a42] {
1118
- background: #f0f0f0;
1119
- color: #8c8c8c;
1120
- padding: 6px 8px;
1121
- border-radius: 12px;
1122
- font-size: 12px;
1123
- font-weight: 500;
1124
- text-align: center;
1125
- border: 1px dashed #d9d9d9;
1126
- }
1127
- .placeholder[data-v-e6968a42] {
1128
- display: flex;
1129
- flex-direction: column;
1130
- align-items: center;
1131
- justify-content: center;
1132
- gap: 8px;
1133
- color: #8c8c8c;
1134
- font-size: 12px;
1135
- padding: 20px 0;
1136
- border: 1px dashed #d9d9d9;
1137
- border-radius: 8px;
1138
- background: #fafafa;
1139
- }
1140
- .placeholder span[data-v-e6968a42] {
1141
- font-weight: 500;
1142
- }
1143
- .add-node-btn[data-v-e6968a42] {
1144
- appearance: none;
1145
- border: 0;
1146
- padding: 0;
1147
- position: absolute;
1148
- left: 50%;
1149
- bottom: -20px;
1150
- transform: translateX(-50%);
1151
- width: 32px;
1152
- height: 32px;
1153
- border-radius: 50%;
1154
- background: linear-gradient(135deg, #1890ff, #722ed1);
1155
- color: white;
1156
- display: flex;
1157
- align-items: center;
1158
- justify-content: center;
1159
- cursor: pointer;
1160
- box-shadow: 0 4px 12px rgba(24, 144, 255, 0.3);
1161
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
1162
- z-index: 10;
1163
- }
1164
- .add-node-btn[data-v-e6968a42]:hover {
1165
- transform: translateX(-50%) scale(1.1);
1166
- box-shadow: 0 6px 20px rgba(24, 144, 255, 0.4);
1167
- }
1168
- .add-node-btn[data-v-e6968a42]:focus-visible {
1169
- outline: 2px solid #1890ff;
1170
- outline-offset: 2px;
1171
- }
1172
- .delete-btn[data-v-e6968a42]:focus-visible {
1173
- opacity: 1;
1174
- outline: 2px solid #1890ff;
1175
- outline-offset: 2px;
1176
- }
1177
- /* unplugin-vue-components disabled */.copy-node[data-v-010e7ec8] {
1114
+ .copy-node[data-v-010e7ec8] {
1178
1115
  position: relative;
1179
1116
  }
1180
1117
  .status-indicator[data-v-010e7ec8] {
@@ -1351,46 +1288,105 @@ to {
1351
1288
  outline: 2px solid #52c41a;
1352
1289
  outline-offset: 2px;
1353
1290
  }
1354
- /* unplugin-vue-components disabled */
1291
+
1292
+ /* layer: default */
1293
+ .absolute[data-v-010e7ec8]{position:absolute;}
1294
+ .relative[data-v-010e7ec8]{position:relative;}
1295
+ .hidden[data-v-010e7ec8]{display:none;}
1296
+ .flex[data-v-010e7ec8]{display:flex;}
1297
+ .flex-wrap[data-v-010e7ec8]{flex-wrap:wrap;}
1298
+ .transform[data-v-010e7ec8]{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}
1299
+ .border[data-v-010e7ec8]{border-width:1px;}
1300
+ .outline[data-v-010e7ec8]{outline-style:solid;}
1301
+ .transition[data-v-010e7ec8]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;}
1302
+ .ease[data-v-010e7ec8]{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}
1303
+
1304
+ .start-node[data-v-6fb2df95] {
1305
+ position: relative;
1306
+ }
1307
+ .node-content[data-v-6fb2df95] {
1308
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
1309
+ color: white;
1310
+ padding: 16px 20px;
1311
+ border-radius: 12px;
1312
+ display: flex;
1313
+ align-items: center;
1314
+ justify-content: center;
1315
+ gap: 12px;
1316
+ min-width: 160px;
1317
+ box-shadow: 0 4px 20px rgba(102, 126, 234, 0.3);
1318
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
1319
+ cursor: pointer;
1320
+ }
1321
+ .node-content[data-v-6fb2df95]:hover {
1322
+ transform: translateY(-2px);
1323
+ box-shadow: 0 8px 30px rgba(102, 126, 234, 0.4);
1324
+ }
1325
+ .node-icon[data-v-6fb2df95] {
1326
+ font-size: 16px;
1327
+ flex-shrink: 0;
1328
+ }
1329
+ .node-info[data-v-6fb2df95] {
1330
+ display: flex;
1331
+ flex-direction: column;
1332
+ gap: 4px;
1333
+ text-align: center;
1334
+ }
1335
+ .node-text[data-v-6fb2df95] {
1336
+ font-weight: 600;
1337
+ font-size: 14px;
1338
+ }
1339
+ .initiator-name[data-v-6fb2df95] {
1340
+ font-size: 12px;
1341
+ opacity: 0.9;
1342
+ background: rgba(255, 255, 255, 0.2);
1343
+ padding: 2px 8px;
1344
+ border-radius: 8px;
1345
+ }
1346
+ .placeholder-text[data-v-6fb2df95] {
1347
+ font-size: 11px;
1348
+ opacity: 0.7;
1349
+ font-style: italic;
1350
+ }
1351
+ .add-node-btn[data-v-6fb2df95] {
1352
+ appearance: none;
1353
+ border: 0;
1354
+ padding: 0;
1355
+ position: absolute;
1356
+ left: 50%;
1357
+ bottom: -20px;
1358
+ transform: translateX(-50%);
1359
+ width: 32px;
1360
+ height: 32px;
1361
+ border-radius: 50%;
1362
+ background: linear-gradient(135deg, #1890ff, #722ed1);
1363
+ color: white;
1364
+ display: flex;
1365
+ align-items: center;
1366
+ justify-content: center;
1367
+ cursor: pointer;
1368
+ box-shadow: 0 4px 12px rgba(24, 144, 255, 0.3);
1369
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
1370
+ font-size: 16px;
1371
+ font-weight: bold;
1372
+ z-index: 10;
1373
+ }
1374
+ .add-node-btn[data-v-6fb2df95]:hover {
1375
+ transform: translateX(-50%) scale(1.1);
1376
+ box-shadow: 0 6px 20px rgba(24, 144, 255, 0.4);
1377
+ }
1378
+ .add-node-btn[data-v-6fb2df95]:focus-visible {
1379
+ outline: 2px solid #1890ff;
1380
+ outline-offset: 2px;
1381
+ }
1382
+
1355
1383
  /* layer: default */
1356
- .visible[data-v-3d6434f4]{visibility:visible;}
1357
- .start-1[data-v-3d6434f4]{inset-inline-start:0.25rem;}
1358
- .mb-2[data-v-3d6434f4]{margin-bottom:0.5rem;}
1359
- .mb-3[data-v-3d6434f4]{margin-bottom:0.75rem;}
1360
- .mb-4[data-v-3d6434f4]{margin-bottom:1rem;}
1361
- .ml-auto[data-v-3d6434f4]{margin-left:auto;}
1362
- .mt-4[data-v-3d6434f4]{margin-top:1rem;}
1363
- .block[data-v-3d6434f4]{display:block;}
1364
- .max-h-50[data-v-3d6434f4]{max-height:12.5rem;}
1365
- .max-h-60vh[data-v-3d6434f4]{max-height:60vh;}
1366
- .min-h-10[data-v-3d6434f4]{min-height:2.5rem;}
1367
- .w-full[data-v-3d6434f4]{width:100%;}
1368
- .flex[data-v-3d6434f4]{display:flex;}
1369
- .flex-shrink-0[data-v-3d6434f4]{flex-shrink:0;}
1370
- .flex-col[data-v-3d6434f4]{flex-direction:column;}
1371
- .flex-wrap[data-v-3d6434f4]{flex-wrap:wrap;}
1372
- .flex-nowrap[data-v-3d6434f4]{flex-wrap:nowrap;}
1373
- .table[data-v-3d6434f4]{display:table;}
1374
- .items-center[data-v-3d6434f4]{align-items:center;}
1375
- .gap-1[data-v-3d6434f4]{gap:0.25rem;}
1376
- .gap-2[data-v-3d6434f4]{gap:0.5rem;}
1377
- .gap-3[data-v-3d6434f4]{gap:0.75rem;}
1378
- .space-y-3[data-v-3d6434f4]>:not([hidden])~:not([hidden]){--un-space-y-reverse:0;margin-top:calc(0.75rem * calc(1 - var(--un-space-y-reverse)));margin-bottom:calc(0.75rem * var(--un-space-y-reverse));}
1379
- .overflow-y-auto[data-v-3d6434f4]{overflow-y:auto;}
1380
- .border[data-v-3d6434f4]{border-width:1px;}
1381
- .border-gray-200[data-v-3d6434f4]{--un-border-opacity:1;border-color:rgb(229 231 235 / var(--un-border-opacity));}
1382
- .hover\:border-gray-300[data-v-3d6434f4]:hover{--un-border-opacity:1;border-color:rgb(209 213 219 / var(--un-border-opacity));}
1383
- .rounded[data-v-3d6434f4]{border-radius:0.25rem;}
1384
- .rounded-lg[data-v-3d6434f4]{border-radius:0.5rem;}
1385
- .p-2[data-v-3d6434f4]{padding:0.5rem;}
1386
- .p-3[data-v-3d6434f4]{padding:0.75rem;}
1387
- .p-4[data-v-3d6434f4]{padding:1rem;}
1388
- .px-1\.5[data-v-3d6434f4]{padding-left:0.375rem;padding-right:0.375rem;}
1389
- .py-0\.5[data-v-3d6434f4]{padding-top:0.125rem;padding-bottom:0.125rem;}
1390
- .text-base[data-v-3d6434f4]{font-size:1rem;line-height:1.5rem;}
1391
- .text-sm[data-v-3d6434f4]{font-size:0.875rem;line-height:1.25rem;}
1392
- .text-xs[data-v-3d6434f4]{font-size:0.75rem;line-height:1rem;}
1393
- .font-medium[data-v-3d6434f4]{font-weight:500;}
1394
- .font-semibold[data-v-3d6434f4]{font-weight:600;}
1395
- .filter[data-v-3d6434f4]{filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia);}
1396
- .transition-colors[data-v-3d6434f4]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;}
1384
+ .absolute[data-v-6fb2df95]{position:absolute;}
1385
+ .relative[data-v-6fb2df95]{position:relative;}
1386
+ .flex[data-v-6fb2df95]{display:flex;}
1387
+ .flex-shrink[data-v-6fb2df95]{flex-shrink:1;}
1388
+ .transform[data-v-6fb2df95]{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}
1389
+ .border[data-v-6fb2df95]{border-width:1px;}
1390
+ .italic[data-v-6fb2df95]{font-style:italic;}
1391
+ .outline[data-v-6fb2df95]{outline-style:solid;}
1392
+ .transition[data-v-6fb2df95]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;}