@robot-admin/naive-ui-components 0.24.3 → 0.24.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/README.md +4 -2
- package/README_EN.md +4 -2
- package/dist/C_FormModal.css +273 -45
- package/dist/C_FormModal2.cjs +1 -1
- package/dist/C_FormModal2.js +1 -1
- package/dist/constants.d.cts +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants2.d.cts +5 -5
- package/dist/constants2.d.ts +5 -5
- package/dist/constants3.d.cts +5 -5
- package/dist/constants3.d.ts +5 -5
- package/dist/data2.cjs +1 -1
- package/dist/data2.d.cts +9 -9
- package/dist/data2.d.ts +9 -9
- package/dist/data2.js +1 -1
- package/dist/helpers.cjs +1 -1
- package/dist/helpers.js +1 -1
- package/dist/index.vue.d.cts +5 -5
- package/dist/index.vue.d.ts +5 -5
- package/dist/index10.vue.d.cts +1 -1
- package/dist/index10.vue.d.ts +6 -6
- package/dist/index11.vue.d.cts +6 -6
- package/dist/index13.vue.d.ts +4 -4
- package/dist/index14.vue.d.cts +4 -4
- package/dist/index15.vue.d.ts +4 -4
- package/dist/index16.vue.d.cts +4 -4
- package/dist/index17.vue.d.ts +5 -5
- package/dist/index18.vue.d.cts +5 -5
- package/dist/index18.vue.d.ts +1 -1
- package/dist/index19.vue.d.cts +1 -1
- package/dist/index19.vue.d.ts +1 -1
- package/dist/index2.vue.d.cts +2 -2
- package/dist/index2.vue.d.ts +2 -2
- package/dist/index20.vue.d.cts +1 -1
- package/dist/index22.vue.d.ts +2 -2
- package/dist/index23.vue.d.cts +2 -2
- package/dist/index24.vue.d.cts +1 -1
- package/dist/index24.vue.d.ts +1 -1
- package/dist/index25.vue.d.cts +1 -1
- package/dist/index25.vue.d.ts +1 -1
- package/dist/index26.vue.d.cts +5 -5
- package/dist/index26.vue.d.ts +5 -5
- package/dist/index28.vue.d.cts +2 -2
- package/dist/index28.vue.d.ts +2 -2
- package/dist/index29.vue.d.cts +3 -3
- package/dist/index29.vue.d.ts +3 -3
- package/dist/index3.vue.d.cts +3 -3
- package/dist/index3.vue.d.ts +3 -3
- package/dist/index7.vue.d.ts +2 -2
- package/dist/index8.vue.d.cts +2 -2
- package/dist/index9.vue.d.ts +1 -1
- package/dist/mapUtils.d.cts +1 -1
- package/dist/mapUtils.d.ts +1 -1
- package/dist/style.css +3 -56
- package/dist/useCalendarEvents.d.cts +1 -1
- package/dist/useCalendarEvents.d.ts +1 -1
- package/dist/useCollapsePanel.d.cts +4 -4
- package/dist/useCollapsePanel.d.ts +4 -4
- package/dist/useCropperCore.d.cts +9 -9
- package/dist/useCropperCore.d.ts +9 -9
- package/dist/useDynamicFormState.d.cts +10 -10
- package/dist/useDynamicFormState.d.ts +10 -10
- package/dist/useEdgeInteraction.d.cts +3 -3
- package/dist/useEdgeInteraction.d.ts +3 -3
- package/dist/useFullscreen.d.cts +2 -2
- package/dist/useFullscreen.d.ts +2 -2
- package/dist/useInfiniteScroll.d.cts +3 -3
- package/dist/useInfiniteScroll.d.ts +3 -3
- package/dist/useQRCode.d.cts +2 -2
- package/dist/useQRCode.d.ts +2 -2
- package/dist/useSignatureHistory.d.cts +2 -2
- package/dist/useSignatureHistory.d.ts +2 -2
- package/dist/useSplitResize.d.cts +11 -11
- package/dist/useSplitResize.d.ts +11 -11
- package/dist/useWorkflowValidation.d.cts +99 -99
- package/dist/useWorkflowValidation.d.ts +99 -99
- package/dist/verification.d.cts +3 -3
- package/dist/verification.d.ts +3 -3
- package/docs/guides/form-density.en.md +2 -0
- package/docs/guides/form-density.md +2 -0
- package/docs/stability-review-20261031.md +15 -15
- package/package.json +1 -1
|
@@ -262,19 +262,19 @@ declare const __VLS_export: vue.DefineComponent<WorkflowProps, {
|
|
|
262
262
|
"update:modelValue": (value: WorkflowData) => any;
|
|
263
263
|
change: (value: WorkflowData) => any;
|
|
264
264
|
save: (data: WorkflowData) => any;
|
|
265
|
-
"validate-error": (errors: ValidationError[]) => any;
|
|
266
265
|
"node-click": (node: WorkflowNode<NodeType>) => any;
|
|
267
266
|
"edge-click": (edge: WorkflowEdge) => any;
|
|
267
|
+
"validate-error": (errors: ValidationError[]) => any;
|
|
268
268
|
}, string, vue.PublicProps, Readonly<WorkflowProps> & Readonly<{
|
|
269
269
|
"onUpdate:modelValue"?: ((value: WorkflowData) => any) | undefined;
|
|
270
270
|
onChange?: ((value: WorkflowData) => any) | undefined;
|
|
271
271
|
onSave?: ((data: WorkflowData) => any) | undefined;
|
|
272
|
-
"onValidate-error"?: ((errors: ValidationError[]) => any) | undefined;
|
|
273
272
|
"onNode-click"?: ((node: WorkflowNode<NodeType>) => any) | undefined;
|
|
274
273
|
"onEdge-click"?: ((edge: WorkflowEdge) => any) | undefined;
|
|
274
|
+
"onValidate-error"?: ((errors: ValidationError[]) => any) | undefined;
|
|
275
275
|
}>, {
|
|
276
|
-
readonly: boolean;
|
|
277
276
|
theme: "light" | "dark";
|
|
277
|
+
readonly: boolean;
|
|
278
278
|
users: User[];
|
|
279
279
|
roles: Role[];
|
|
280
280
|
departments: Department[];
|
|
@@ -304,19 +304,10 @@ declare function useWorkflowNodes(props: WorkflowProps, emit: EmitFn$1, vueFlowR
|
|
|
304
304
|
zIndex?: number | undefined;
|
|
305
305
|
extent?: "parent" | [[number, number], [number, number]] | undefined;
|
|
306
306
|
expandParent?: boolean | undefined;
|
|
307
|
-
type: "
|
|
307
|
+
type: "start";
|
|
308
308
|
data: {
|
|
309
|
-
copyUsers?: {
|
|
310
|
-
id: string;
|
|
311
|
-
name: string;
|
|
312
|
-
avatar?: string | undefined;
|
|
313
|
-
department: string;
|
|
314
|
-
role: string;
|
|
315
|
-
email?: string | undefined;
|
|
316
|
-
phone?: string | undefined;
|
|
317
|
-
}[] | undefined;
|
|
318
309
|
title: string;
|
|
319
|
-
status
|
|
310
|
+
status: "active";
|
|
320
311
|
config?: Record<string, unknown> | undefined;
|
|
321
312
|
initiators?: {
|
|
322
313
|
id: string;
|
|
@@ -346,10 +337,20 @@ declare function useWorkflowNodes(props: WorkflowProps, emit: EmitFn$1, vueFlowR
|
|
|
346
337
|
zIndex?: number | undefined;
|
|
347
338
|
extent?: "parent" | [[number, number], [number, number]] | undefined;
|
|
348
339
|
expandParent?: boolean | undefined;
|
|
349
|
-
type: "
|
|
340
|
+
type: "approval";
|
|
350
341
|
data: {
|
|
342
|
+
approvers?: {
|
|
343
|
+
id: string;
|
|
344
|
+
name: string;
|
|
345
|
+
avatar?: string | undefined;
|
|
346
|
+
department: string;
|
|
347
|
+
role: string;
|
|
348
|
+
email?: string | undefined;
|
|
349
|
+
phone?: string | undefined;
|
|
350
|
+
}[] | undefined;
|
|
351
|
+
approvalMode?: ApprovalMode | undefined;
|
|
351
352
|
title: string;
|
|
352
|
-
status
|
|
353
|
+
status?: NodeStatus | undefined;
|
|
353
354
|
config?: Record<string, unknown> | undefined;
|
|
354
355
|
initiators?: {
|
|
355
356
|
id: string;
|
|
@@ -379,9 +380,9 @@ declare function useWorkflowNodes(props: WorkflowProps, emit: EmitFn$1, vueFlowR
|
|
|
379
380
|
zIndex?: number | undefined;
|
|
380
381
|
extent?: "parent" | [[number, number], [number, number]] | undefined;
|
|
381
382
|
expandParent?: boolean | undefined;
|
|
382
|
-
type: "
|
|
383
|
+
type: "copy";
|
|
383
384
|
data: {
|
|
384
|
-
|
|
385
|
+
copyUsers?: {
|
|
385
386
|
id: string;
|
|
386
387
|
name: string;
|
|
387
388
|
avatar?: string | undefined;
|
|
@@ -390,7 +391,6 @@ declare function useWorkflowNodes(props: WorkflowProps, emit: EmitFn$1, vueFlowR
|
|
|
390
391
|
email?: string | undefined;
|
|
391
392
|
phone?: string | undefined;
|
|
392
393
|
}[] | undefined;
|
|
393
|
-
approvalMode?: ApprovalMode | undefined;
|
|
394
394
|
title: string;
|
|
395
395
|
status?: NodeStatus | undefined;
|
|
396
396
|
config?: Record<string, unknown> | undefined;
|
|
@@ -462,19 +462,10 @@ declare function useWorkflowNodes(props: WorkflowProps, emit: EmitFn$1, vueFlowR
|
|
|
462
462
|
zIndex?: number | undefined;
|
|
463
463
|
extent?: "parent" | [[number, number], [number, number]] | undefined;
|
|
464
464
|
expandParent?: boolean | undefined;
|
|
465
|
-
type: "
|
|
465
|
+
type: "start";
|
|
466
466
|
data: {
|
|
467
|
-
copyUsers?: {
|
|
468
|
-
id: string;
|
|
469
|
-
name: string;
|
|
470
|
-
avatar?: string | undefined;
|
|
471
|
-
department: string;
|
|
472
|
-
role: string;
|
|
473
|
-
email?: string | undefined;
|
|
474
|
-
phone?: string | undefined;
|
|
475
|
-
}[] | undefined;
|
|
476
467
|
title: string;
|
|
477
|
-
status
|
|
468
|
+
status: "active";
|
|
478
469
|
config?: Record<string, unknown> | undefined;
|
|
479
470
|
initiators?: {
|
|
480
471
|
id: string;
|
|
@@ -504,10 +495,20 @@ declare function useWorkflowNodes(props: WorkflowProps, emit: EmitFn$1, vueFlowR
|
|
|
504
495
|
zIndex?: number | undefined;
|
|
505
496
|
extent?: "parent" | [[number, number], [number, number]] | undefined;
|
|
506
497
|
expandParent?: boolean | undefined;
|
|
507
|
-
type: "
|
|
498
|
+
type: "approval";
|
|
508
499
|
data: {
|
|
500
|
+
approvers?: {
|
|
501
|
+
id: string;
|
|
502
|
+
name: string;
|
|
503
|
+
avatar?: string | undefined;
|
|
504
|
+
department: string;
|
|
505
|
+
role: string;
|
|
506
|
+
email?: string | undefined;
|
|
507
|
+
phone?: string | undefined;
|
|
508
|
+
}[] | undefined;
|
|
509
|
+
approvalMode?: ApprovalMode | undefined;
|
|
509
510
|
title: string;
|
|
510
|
-
status
|
|
511
|
+
status?: NodeStatus | undefined;
|
|
511
512
|
config?: Record<string, unknown> | undefined;
|
|
512
513
|
initiators?: {
|
|
513
514
|
id: string;
|
|
@@ -537,9 +538,9 @@ declare function useWorkflowNodes(props: WorkflowProps, emit: EmitFn$1, vueFlowR
|
|
|
537
538
|
zIndex?: number | undefined;
|
|
538
539
|
extent?: "parent" | [[number, number], [number, number]] | undefined;
|
|
539
540
|
expandParent?: boolean | undefined;
|
|
540
|
-
type: "
|
|
541
|
+
type: "copy";
|
|
541
542
|
data: {
|
|
542
|
-
|
|
543
|
+
copyUsers?: {
|
|
543
544
|
id: string;
|
|
544
545
|
name: string;
|
|
545
546
|
avatar?: string | undefined;
|
|
@@ -548,7 +549,6 @@ declare function useWorkflowNodes(props: WorkflowProps, emit: EmitFn$1, vueFlowR
|
|
|
548
549
|
email?: string | undefined;
|
|
549
550
|
phone?: string | undefined;
|
|
550
551
|
}[] | undefined;
|
|
551
|
-
approvalMode?: ApprovalMode | undefined;
|
|
552
552
|
title: string;
|
|
553
553
|
status?: NodeStatus | undefined;
|
|
554
554
|
config?: Record<string, unknown> | undefined;
|
|
@@ -673,19 +673,10 @@ declare function useWorkflowNodes(props: WorkflowProps, emit: EmitFn$1, vueFlowR
|
|
|
673
673
|
zIndex?: number | undefined;
|
|
674
674
|
extent?: "parent" | [[number, number], [number, number]] | undefined;
|
|
675
675
|
expandParent?: boolean | undefined;
|
|
676
|
-
type: "
|
|
676
|
+
type: "start";
|
|
677
677
|
data: {
|
|
678
|
-
copyUsers?: {
|
|
679
|
-
id: string;
|
|
680
|
-
name: string;
|
|
681
|
-
avatar?: string | undefined;
|
|
682
|
-
department: string;
|
|
683
|
-
role: string;
|
|
684
|
-
email?: string | undefined;
|
|
685
|
-
phone?: string | undefined;
|
|
686
|
-
}[] | undefined;
|
|
687
678
|
title: string;
|
|
688
|
-
status
|
|
679
|
+
status: "active";
|
|
689
680
|
config?: Record<string, unknown> | undefined;
|
|
690
681
|
initiators?: {
|
|
691
682
|
id: string;
|
|
@@ -715,10 +706,20 @@ declare function useWorkflowNodes(props: WorkflowProps, emit: EmitFn$1, vueFlowR
|
|
|
715
706
|
zIndex?: number | undefined;
|
|
716
707
|
extent?: "parent" | [[number, number], [number, number]] | undefined;
|
|
717
708
|
expandParent?: boolean | undefined;
|
|
718
|
-
type: "
|
|
709
|
+
type: "approval";
|
|
719
710
|
data: {
|
|
711
|
+
approvers?: {
|
|
712
|
+
id: string;
|
|
713
|
+
name: string;
|
|
714
|
+
avatar?: string | undefined;
|
|
715
|
+
department: string;
|
|
716
|
+
role: string;
|
|
717
|
+
email?: string | undefined;
|
|
718
|
+
phone?: string | undefined;
|
|
719
|
+
}[] | undefined;
|
|
720
|
+
approvalMode?: ApprovalMode | undefined;
|
|
720
721
|
title: string;
|
|
721
|
-
status
|
|
722
|
+
status?: NodeStatus | undefined;
|
|
722
723
|
config?: Record<string, unknown> | undefined;
|
|
723
724
|
initiators?: {
|
|
724
725
|
id: string;
|
|
@@ -748,9 +749,9 @@ declare function useWorkflowNodes(props: WorkflowProps, emit: EmitFn$1, vueFlowR
|
|
|
748
749
|
zIndex?: number | undefined;
|
|
749
750
|
extent?: "parent" | [[number, number], [number, number]] | undefined;
|
|
750
751
|
expandParent?: boolean | undefined;
|
|
751
|
-
type: "
|
|
752
|
+
type: "copy";
|
|
752
753
|
data: {
|
|
753
|
-
|
|
754
|
+
copyUsers?: {
|
|
754
755
|
id: string;
|
|
755
756
|
name: string;
|
|
756
757
|
avatar?: string | undefined;
|
|
@@ -759,7 +760,6 @@ declare function useWorkflowNodes(props: WorkflowProps, emit: EmitFn$1, vueFlowR
|
|
|
759
760
|
email?: string | undefined;
|
|
760
761
|
phone?: string | undefined;
|
|
761
762
|
}[] | undefined;
|
|
762
|
-
approvalMode?: ApprovalMode | undefined;
|
|
763
763
|
title: string;
|
|
764
764
|
status?: NodeStatus | undefined;
|
|
765
765
|
config?: Record<string, unknown> | undefined;
|
|
@@ -831,19 +831,10 @@ declare function useWorkflowNodes(props: WorkflowProps, emit: EmitFn$1, vueFlowR
|
|
|
831
831
|
zIndex?: number | undefined;
|
|
832
832
|
extent?: "parent" | [[number, number], [number, number]] | undefined;
|
|
833
833
|
expandParent?: boolean | undefined;
|
|
834
|
-
type: "
|
|
834
|
+
type: "start";
|
|
835
835
|
data: {
|
|
836
|
-
copyUsers?: {
|
|
837
|
-
id: string;
|
|
838
|
-
name: string;
|
|
839
|
-
avatar?: string | undefined;
|
|
840
|
-
department: string;
|
|
841
|
-
role: string;
|
|
842
|
-
email?: string | undefined;
|
|
843
|
-
phone?: string | undefined;
|
|
844
|
-
}[] | undefined;
|
|
845
836
|
title: string;
|
|
846
|
-
status
|
|
837
|
+
status: "active";
|
|
847
838
|
config?: Record<string, unknown> | undefined;
|
|
848
839
|
initiators?: {
|
|
849
840
|
id: string;
|
|
@@ -873,10 +864,20 @@ declare function useWorkflowNodes(props: WorkflowProps, emit: EmitFn$1, vueFlowR
|
|
|
873
864
|
zIndex?: number | undefined;
|
|
874
865
|
extent?: "parent" | [[number, number], [number, number]] | undefined;
|
|
875
866
|
expandParent?: boolean | undefined;
|
|
876
|
-
type: "
|
|
867
|
+
type: "approval";
|
|
877
868
|
data: {
|
|
869
|
+
approvers?: {
|
|
870
|
+
id: string;
|
|
871
|
+
name: string;
|
|
872
|
+
avatar?: string | undefined;
|
|
873
|
+
department: string;
|
|
874
|
+
role: string;
|
|
875
|
+
email?: string | undefined;
|
|
876
|
+
phone?: string | undefined;
|
|
877
|
+
}[] | undefined;
|
|
878
|
+
approvalMode?: ApprovalMode | undefined;
|
|
878
879
|
title: string;
|
|
879
|
-
status
|
|
880
|
+
status?: NodeStatus | undefined;
|
|
880
881
|
config?: Record<string, unknown> | undefined;
|
|
881
882
|
initiators?: {
|
|
882
883
|
id: string;
|
|
@@ -906,9 +907,9 @@ declare function useWorkflowNodes(props: WorkflowProps, emit: EmitFn$1, vueFlowR
|
|
|
906
907
|
zIndex?: number | undefined;
|
|
907
908
|
extent?: "parent" | [[number, number], [number, number]] | undefined;
|
|
908
909
|
expandParent?: boolean | undefined;
|
|
909
|
-
type: "
|
|
910
|
+
type: "copy";
|
|
910
911
|
data: {
|
|
911
|
-
|
|
912
|
+
copyUsers?: {
|
|
912
913
|
id: string;
|
|
913
914
|
name: string;
|
|
914
915
|
avatar?: string | undefined;
|
|
@@ -917,7 +918,6 @@ declare function useWorkflowNodes(props: WorkflowProps, emit: EmitFn$1, vueFlowR
|
|
|
917
918
|
email?: string | undefined;
|
|
918
919
|
phone?: string | undefined;
|
|
919
920
|
}[] | undefined;
|
|
920
|
-
approvalMode?: ApprovalMode | undefined;
|
|
921
921
|
title: string;
|
|
922
922
|
status?: NodeStatus | undefined;
|
|
923
923
|
config?: Record<string, unknown> | undefined;
|
|
@@ -1055,19 +1055,10 @@ declare function useWorkflowPreview(nodes: Ref<WorkflowNode[]>, edges: Ref<Workf
|
|
|
1055
1055
|
zIndex?: number | undefined;
|
|
1056
1056
|
extent?: "parent" | [[number, number], [number, number]] | undefined;
|
|
1057
1057
|
expandParent?: boolean | undefined;
|
|
1058
|
-
type: "
|
|
1058
|
+
type: "start";
|
|
1059
1059
|
data: {
|
|
1060
|
-
copyUsers?: {
|
|
1061
|
-
id: string;
|
|
1062
|
-
name: string;
|
|
1063
|
-
avatar?: string | undefined;
|
|
1064
|
-
department: string;
|
|
1065
|
-
role: string;
|
|
1066
|
-
email?: string | undefined;
|
|
1067
|
-
phone?: string | undefined;
|
|
1068
|
-
}[] | undefined;
|
|
1069
1060
|
title: string;
|
|
1070
|
-
status
|
|
1061
|
+
status: "active";
|
|
1071
1062
|
config?: Record<string, unknown> | undefined;
|
|
1072
1063
|
initiators?: {
|
|
1073
1064
|
id: string;
|
|
@@ -1097,10 +1088,20 @@ declare function useWorkflowPreview(nodes: Ref<WorkflowNode[]>, edges: Ref<Workf
|
|
|
1097
1088
|
zIndex?: number | undefined;
|
|
1098
1089
|
extent?: "parent" | [[number, number], [number, number]] | undefined;
|
|
1099
1090
|
expandParent?: boolean | undefined;
|
|
1100
|
-
type: "
|
|
1091
|
+
type: "approval";
|
|
1101
1092
|
data: {
|
|
1093
|
+
approvers?: {
|
|
1094
|
+
id: string;
|
|
1095
|
+
name: string;
|
|
1096
|
+
avatar?: string | undefined;
|
|
1097
|
+
department: string;
|
|
1098
|
+
role: string;
|
|
1099
|
+
email?: string | undefined;
|
|
1100
|
+
phone?: string | undefined;
|
|
1101
|
+
}[] | undefined;
|
|
1102
|
+
approvalMode?: ApprovalMode | undefined;
|
|
1102
1103
|
title: string;
|
|
1103
|
-
status
|
|
1104
|
+
status?: NodeStatus | undefined;
|
|
1104
1105
|
config?: Record<string, unknown> | undefined;
|
|
1105
1106
|
initiators?: {
|
|
1106
1107
|
id: string;
|
|
@@ -1130,9 +1131,9 @@ declare function useWorkflowPreview(nodes: Ref<WorkflowNode[]>, edges: Ref<Workf
|
|
|
1130
1131
|
zIndex?: number | undefined;
|
|
1131
1132
|
extent?: "parent" | [[number, number], [number, number]] | undefined;
|
|
1132
1133
|
expandParent?: boolean | undefined;
|
|
1133
|
-
type: "
|
|
1134
|
+
type: "copy";
|
|
1134
1135
|
data: {
|
|
1135
|
-
|
|
1136
|
+
copyUsers?: {
|
|
1136
1137
|
id: string;
|
|
1137
1138
|
name: string;
|
|
1138
1139
|
avatar?: string | undefined;
|
|
@@ -1141,7 +1142,6 @@ declare function useWorkflowPreview(nodes: Ref<WorkflowNode[]>, edges: Ref<Workf
|
|
|
1141
1142
|
email?: string | undefined;
|
|
1142
1143
|
phone?: string | undefined;
|
|
1143
1144
|
}[] | undefined;
|
|
1144
|
-
approvalMode?: ApprovalMode | undefined;
|
|
1145
1145
|
title: string;
|
|
1146
1146
|
status?: NodeStatus | undefined;
|
|
1147
1147
|
config?: Record<string, unknown> | undefined;
|
|
@@ -1230,19 +1230,10 @@ declare function useWorkflowPreview(nodes: Ref<WorkflowNode[]>, edges: Ref<Workf
|
|
|
1230
1230
|
zIndex?: number | undefined;
|
|
1231
1231
|
extent?: "parent" | [[number, number], [number, number]] | undefined;
|
|
1232
1232
|
expandParent?: boolean | undefined;
|
|
1233
|
-
type: "
|
|
1233
|
+
type: "start";
|
|
1234
1234
|
data: {
|
|
1235
|
-
copyUsers?: {
|
|
1236
|
-
id: string;
|
|
1237
|
-
name: string;
|
|
1238
|
-
avatar?: string | undefined;
|
|
1239
|
-
department: string;
|
|
1240
|
-
role: string;
|
|
1241
|
-
email?: string | undefined;
|
|
1242
|
-
phone?: string | undefined;
|
|
1243
|
-
}[] | undefined;
|
|
1244
1235
|
title: string;
|
|
1245
|
-
status
|
|
1236
|
+
status: "active";
|
|
1246
1237
|
config?: Record<string, unknown> | undefined;
|
|
1247
1238
|
initiators?: {
|
|
1248
1239
|
id: string;
|
|
@@ -1272,10 +1263,20 @@ declare function useWorkflowPreview(nodes: Ref<WorkflowNode[]>, edges: Ref<Workf
|
|
|
1272
1263
|
zIndex?: number | undefined;
|
|
1273
1264
|
extent?: "parent" | [[number, number], [number, number]] | undefined;
|
|
1274
1265
|
expandParent?: boolean | undefined;
|
|
1275
|
-
type: "
|
|
1266
|
+
type: "approval";
|
|
1276
1267
|
data: {
|
|
1268
|
+
approvers?: {
|
|
1269
|
+
id: string;
|
|
1270
|
+
name: string;
|
|
1271
|
+
avatar?: string | undefined;
|
|
1272
|
+
department: string;
|
|
1273
|
+
role: string;
|
|
1274
|
+
email?: string | undefined;
|
|
1275
|
+
phone?: string | undefined;
|
|
1276
|
+
}[] | undefined;
|
|
1277
|
+
approvalMode?: ApprovalMode | undefined;
|
|
1277
1278
|
title: string;
|
|
1278
|
-
status
|
|
1279
|
+
status?: NodeStatus | undefined;
|
|
1279
1280
|
config?: Record<string, unknown> | undefined;
|
|
1280
1281
|
initiators?: {
|
|
1281
1282
|
id: string;
|
|
@@ -1305,9 +1306,9 @@ declare function useWorkflowPreview(nodes: Ref<WorkflowNode[]>, edges: Ref<Workf
|
|
|
1305
1306
|
zIndex?: number | undefined;
|
|
1306
1307
|
extent?: "parent" | [[number, number], [number, number]] | undefined;
|
|
1307
1308
|
expandParent?: boolean | undefined;
|
|
1308
|
-
type: "
|
|
1309
|
+
type: "copy";
|
|
1309
1310
|
data: {
|
|
1310
|
-
|
|
1311
|
+
copyUsers?: {
|
|
1311
1312
|
id: string;
|
|
1312
1313
|
name: string;
|
|
1313
1314
|
avatar?: string | undefined;
|
|
@@ -1316,7 +1317,6 @@ declare function useWorkflowPreview(nodes: Ref<WorkflowNode[]>, edges: Ref<Workf
|
|
|
1316
1317
|
email?: string | undefined;
|
|
1317
1318
|
phone?: string | undefined;
|
|
1318
1319
|
}[] | undefined;
|
|
1319
|
-
approvalMode?: ApprovalMode | undefined;
|
|
1320
1320
|
title: string;
|
|
1321
1321
|
status?: NodeStatus | undefined;
|
|
1322
1322
|
config?: Record<string, unknown> | undefined;
|
package/dist/verification.d.cts
CHANGED
|
@@ -77,23 +77,23 @@ declare const __VLS_export: vue.DefineComponent<CaptchaProps, {
|
|
|
77
77
|
show: () => void;
|
|
78
78
|
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
|
|
79
79
|
change: (valid: boolean) => any;
|
|
80
|
-
reset: () => any;
|
|
81
80
|
success: (data: CaptchaSuccessPayload) => any;
|
|
81
|
+
reset: () => any;
|
|
82
82
|
fail: (error: string) => any;
|
|
83
83
|
"verify-error": (error: unknown) => any;
|
|
84
84
|
"load-error": (error: unknown) => any;
|
|
85
85
|
"visible-change": (visible: boolean) => any;
|
|
86
86
|
}, string, vue.PublicProps, Readonly<CaptchaProps> & Readonly<{
|
|
87
87
|
onChange?: ((valid: boolean) => any) | undefined;
|
|
88
|
-
onReset?: (() => any) | undefined;
|
|
89
88
|
onSuccess?: ((data: CaptchaSuccessPayload) => any) | undefined;
|
|
89
|
+
onReset?: (() => any) | undefined;
|
|
90
90
|
onFail?: ((error: string) => any) | undefined;
|
|
91
91
|
"onVerify-error"?: ((error: unknown) => any) | undefined;
|
|
92
92
|
"onLoad-error"?: ((error: unknown) => any) | undefined;
|
|
93
93
|
"onVisible-change"?: ((visible: boolean) => any) | undefined;
|
|
94
94
|
}>, {
|
|
95
|
-
disabled: boolean;
|
|
96
95
|
theme: "light" | "dark";
|
|
96
|
+
disabled: boolean;
|
|
97
97
|
provider: CaptchaProvider;
|
|
98
98
|
images: string[];
|
|
99
99
|
verificationTimeout: number;
|
package/dist/verification.d.ts
CHANGED
|
@@ -77,23 +77,23 @@ declare const __VLS_export: vue.DefineComponent<CaptchaProps, {
|
|
|
77
77
|
show: () => void;
|
|
78
78
|
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
|
|
79
79
|
change: (valid: boolean) => any;
|
|
80
|
-
reset: () => any;
|
|
81
80
|
success: (data: CaptchaSuccessPayload) => any;
|
|
81
|
+
reset: () => any;
|
|
82
82
|
fail: (error: string) => any;
|
|
83
83
|
"verify-error": (error: unknown) => any;
|
|
84
84
|
"load-error": (error: unknown) => any;
|
|
85
85
|
"visible-change": (visible: boolean) => any;
|
|
86
86
|
}, string, vue.PublicProps, Readonly<CaptchaProps> & Readonly<{
|
|
87
87
|
onChange?: ((valid: boolean) => any) | undefined;
|
|
88
|
-
onReset?: (() => any) | undefined;
|
|
89
88
|
onSuccess?: ((data: CaptchaSuccessPayload) => any) | undefined;
|
|
89
|
+
onReset?: (() => any) | undefined;
|
|
90
90
|
onFail?: ((error: string) => any) | undefined;
|
|
91
91
|
"onVerify-error"?: ((error: unknown) => any) | undefined;
|
|
92
92
|
"onLoad-error"?: ((error: unknown) => any) | undefined;
|
|
93
93
|
"onVisible-change"?: ((visible: boolean) => any) | undefined;
|
|
94
94
|
}>, {
|
|
95
|
-
disabled: boolean;
|
|
96
95
|
theme: "light" | "dark";
|
|
96
|
+
disabled: boolean;
|
|
97
97
|
provider: CaptchaProvider;
|
|
98
98
|
images: string[];
|
|
99
99
|
verificationTimeout: number;
|
|
@@ -43,6 +43,8 @@ Density presets are plain data and preserve lazy loading of layouts and fields.
|
|
|
43
43
|
|
|
44
44
|
`C_FormModal` defaults to `compact` and inherits application form density. Compact modals use `small` fields and `tiny` footer buttons, matching compact action bars. Explicit `config.size` still controls both fields and buttons; explicit `default` / `comfortable` density uses its corresponding size. Table editor modals inherit table density as well.
|
|
45
45
|
|
|
46
|
+
Compact modals leave 10px between the header and first field and 12px on either side. Bottom spacing does not constrain real validation feedback. Viewport limits keep the header and footer visible while long content scrolls. Native Card section styles affect only the modal shell, preserving nested cards and slots without adding per-field measurements or watchers.
|
|
47
|
+
|
|
46
48
|
## Application defaults with on-demand imports
|
|
47
49
|
|
|
48
50
|
Provide defaults once during application startup. Local `config.density` takes precedence; search inherits only density, not form layout, callbacks or size.
|
|
@@ -60,6 +60,8 @@ const largeFields = { density: 'compact', size: 'large' } as const
|
|
|
60
60
|
|
|
61
61
|
`C_FormModal` 默认使用 `compact`,也继承应用级表单密度;紧凑弹窗的字段为 `small`,页脚按钮为 `tiny`,与紧凑操作栏一致。显式 `config.size` 仍同时控制字段和按钮;显式 `default` / `comfortable` 密度使用对应尺寸。表格编辑弹窗也会继承表格密度。
|
|
62
62
|
|
|
63
|
+
紧凑弹窗在标题底部与首行字段之间保留 10px,内容两侧为 12px;末行保留底部留白,不压缩实际校验提示。弹窗宽高受视口约束,长表单仅内容区滚动,标题和页脚保持可见。外壳使用原生 Card 分区样式,不修改内嵌业务卡片或插槽的间距,也不增加逐字段测量或监听。
|
|
64
|
+
|
|
63
65
|
## 按需设置应用默认值
|
|
64
66
|
|
|
65
67
|
在应用启动时提供一次即可,局部的 `config.density` 优先,搜索只继承密度,不继承表单布局、回调或尺寸。
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# 0.24.3 稳定性复核
|
|
1
|
+
# 0.24.3–0.24.4 稳定性复核
|
|
2
2
|
|
|
3
3
|
日期:2026-10-31。基线:0.24.2。本轮保留现有组件、主题、精简配置和公开接口,通过复现处理真实边界问题,不建立新的状态框架、全局缓存或通用虚拟化层。
|
|
4
4
|
|
|
@@ -6,19 +6,19 @@
|
|
|
6
6
|
|
|
7
7
|
公共值工具、字典与工作流入口,以及表单、搜索、表格、图、地图、上传、媒体等高风险组件是本轮重点。其他资源组件结合源码检查和现有生命周期回归复核;这不等同于所有第三方引擎和业务环境都完成压力测试。
|
|
8
8
|
|
|
9
|
-
| 范围 | 已复现问题 | 修复边界与回归
|
|
10
|
-
| -------------- | ------------------------------------------------------------------------------------- |
|
|
11
|
-
| 数据路径与快照 | 继承分支被修改;回退克隆压缩稀疏索引、把原型键当 setter;数组比较不对称 | 仅沿自有分支访问,保留 Vue HAS/GET 依赖和 literal dotted key
|
|
12
|
-
| 字典 | 初次同步销毁遗漏清理,批量重载继续分发,abort/响应式通知重入后控制器失去归属 | 提前注册销毁、沿用视图和控制器身份;初读、订阅、请求、状态通知和销毁共 7 项边界回归
|
|
13
|
-
| Tabs / Steps | 旧校验写到替换后的区域或覆盖新结果 | 稳定 key、既有状态与请求代次共同确认归属;删除从未读取的 Tabs 状态 Map
|
|
14
|
-
| 搜索历史 | 小数数量触发数组长度异常,旧记录含 null 时抛错 | 有限正整数边界;存储按未知输入处理,仅恢复限定数量的有效文本
|
|
15
|
-
| 表格展示 | 编辑模式绕过状态/字典展示 | 复用只读展示路径,删除重复 formatter 分支和两处 any
|
|
16
|
-
| 列拖拽 | 辅助列使 DOM 下标错位,外部更新与 Sortable 同时改 DOM | 最终列身份映射,辅助列不移动,先还原 DOM 再提交;统一单一初始化 watch,普通内容/测宽更新保留实例
|
|
17
|
-
| 编辑会话 | 公开 hook 的旧校验污染新草稿,scope 结束后继续保存 | 沿用 revision 失效化,hook 自身拥有清理责任
|
|
18
|
-
| 视频小窗 | 配置不能动态启停、重复观察与迟到回调;观察 fixed 元素可能回跳,固定高度被宽度适配覆盖 | 唯一 observer、当前身份判断、文档流锚点及原位高度;固定与流式尺寸分离,小窗约束媒体容器,无轮询、额外 RO 或全局监听
|
|
19
|
-
| X6 图实例 | 等待 DOM 时无法取消初始化,并发创建多余实例 | 初始化代次取消;删除被正值尺寸兜底遮蔽、不可达的重试分支
|
|
20
|
-
| 高德加载器 | 失败或超时后遗留本加载器写入的宿主安全配置 | 仅在仍持有同一对象时归还旧配置,保留宿主后续接管
|
|
21
|
-
| 高亮与上传 | 诊断异常改变任务结果;删除 UID 在私有 Map 驻留 | 复用观察通知隔离;删除已移除 UID,既有取消和迟到上传契约继续验证
|
|
9
|
+
| 范围 | 已复现问题 | 修复边界与回归 |
|
|
10
|
+
| -------------- | ------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
11
|
+
| 数据路径与快照 | 继承分支被修改;回退克隆压缩稀疏索引、把原型键当 setter;数组比较不对称 | 仅沿自有分支访问,保留 Vue HAS/GET 依赖和 literal dotted key;稀疏快照、循环对象及修改检测回归;0.24.4 在脏状态引擎补齐稀疏数组迭代依赖,空位和 undefined 保持值语义等价,纯比较器不承担响应式职责 |
|
|
12
|
+
| 字典 | 初次同步销毁遗漏清理,批量重载继续分发,abort/响应式通知重入后控制器失去归属 | 提前注册销毁、沿用视图和控制器身份;初读、订阅、请求、状态通知和销毁共 7 项边界回归 |
|
|
13
|
+
| Tabs / Steps | 旧校验写到替换后的区域或覆盖新结果 | 稳定 key、既有状态与请求代次共同确认归属;删除从未读取的 Tabs 状态 Map |
|
|
14
|
+
| 搜索历史 | 小数数量触发数组长度异常,旧记录含 null 时抛错 | 有限正整数边界;存储按未知输入处理,仅恢复限定数量的有效文本 |
|
|
15
|
+
| 表格展示 | 编辑模式绕过状态/字典展示 | 复用只读展示路径,删除重复 formatter 分支和两处 any |
|
|
16
|
+
| 列拖拽 | 辅助列使 DOM 下标错位,外部更新与 Sortable 同时改 DOM | 最终列身份映射,辅助列不移动,先还原 DOM 再提交;统一单一初始化 watch,普通内容/测宽更新保留实例 |
|
|
17
|
+
| 编辑会话 | 公开 hook 的旧校验污染新草稿,scope 结束后继续保存 | 沿用 revision 失效化,hook 自身拥有清理责任 |
|
|
18
|
+
| 视频小窗 | 配置不能动态启停、重复观察与迟到回调;观察 fixed 元素可能回跳,固定高度被宽度适配覆盖 | 唯一 observer、当前身份判断、文档流锚点及原位高度;固定与流式尺寸分离,小窗约束媒体容器,无轮询、额外 RO 或全局监听 |
|
|
19
|
+
| X6 图实例 | 等待 DOM 时无法取消初始化,并发创建多余实例 | 初始化代次取消;删除被正值尺寸兜底遮蔽、不可达的重试分支 |
|
|
20
|
+
| 高德加载器 | 失败或超时后遗留本加载器写入的宿主安全配置 | 仅在仍持有同一对象时归还旧配置,保留宿主后续接管 |
|
|
21
|
+
| 高亮与上传 | 诊断异常改变任务结果;删除 UID 在私有 Map 驻留 | 复用观察通知隔离;删除已移除 UID,既有取消和迟到上传契约继续验证 |
|
|
22
22
|
|
|
23
23
|
上述主要问题均先在原实现复现,再验证修复。源码检查另外覆盖地图实例/标记、富文本与 Markdown、代码加载、分片上传和对象 URL、甘特、瀑布流、工作流、签名和图片资源等已有保护;没有证据需要扩大重构的路径保持原架构。
|
|
24
24
|
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
|
|
40
40
|
维护者工具及全部 CI 已固定到能真实应用条件依赖覆盖的 Bun 1.4.2,冻结安装及实际解析结果通过验证;消费者最低版本不变。现代工具链的 glob/minimatch 已按新公告修复;legacy glob 7 与 minimatch 3 保持成套接口。维护者公告与聚合数据库的范围差异、实际不可达代码路径、源码指纹和行为证据见 [SECURITY](../SECURITY.md)。原始审计命中保留并单独分类,不宣称零告警。
|
|
41
41
|
|
|
42
|
-
- `bun run verify`:
|
|
42
|
+
- `bun run verify`:488 项逻辑测试、495 项组件测试,TypeScript/Vue/消费者类型、lint、旧 API 扫描、导出、vendor、构建、ESM/CJS、Node16/NodeNext 和可选 peer 契约全部通过。
|
|
43
43
|
- 原有发布体积和消费者 gzip 预算全部通过,没有放宽限额;完整可用包约 5.13 MiB(含单列预算的 SheetJS)。
|
|
44
44
|
- 发布候选包在 Chromium、Firefox、WebKit 共 9 项专项回归通过:400 字段表单 3 项,fixed/fluid 视频小窗 6 项;真实媒体保持固定高度及 320×180 小窗,持续观察不回跳,动态开关、卸载和页面错误检查通过。Robot_Admin 正式依赖的最终结果见应用提交与交付记录。
|
|
45
45
|
|