@robot-admin/naive-ui-components 0.15.0 → 0.16.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 (101) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/C_NotificationCenter.css +114 -78
  3. package/dist/C_NotificationCenter.d.cts +2 -2
  4. package/dist/C_NotificationCenter.d.ts +2 -2
  5. package/dist/C_NotificationCenter2.cjs +1 -1
  6. package/dist/C_NotificationCenter2.js +1 -1
  7. package/dist/constants.d.cts +1 -1
  8. package/dist/constants.d.ts +1 -1
  9. package/dist/constants3.d.cts +73 -119
  10. package/dist/constants3.d.ts +73 -119
  11. package/dist/constants4.d.cts +2 -2
  12. package/dist/constants4.d.ts +2 -2
  13. package/dist/constants5.d.cts +4 -4
  14. package/dist/constants5.d.ts +4 -4
  15. package/dist/data.d.cts +9 -9
  16. package/dist/data.d.ts +9 -9
  17. package/dist/index.d.cts +2 -2
  18. package/dist/index.d.ts +2 -2
  19. package/dist/index.vue.d.cts +3 -3
  20. package/dist/index.vue.d.ts +3 -3
  21. package/dist/index10.vue.d.cts +3 -3
  22. package/dist/index10.vue.d.ts +1 -1
  23. package/dist/index11.vue.d.cts +1 -1
  24. package/dist/index11.vue.d.ts +2 -2
  25. package/dist/index12.vue.d.cts +2 -2
  26. package/dist/index13.vue.d.ts +2 -2
  27. package/dist/index14.vue.d.cts +2 -2
  28. package/dist/index14.vue.d.ts +7 -7
  29. package/dist/index15.vue.d.cts +7 -7
  30. package/dist/index15.vue.d.ts +1 -1
  31. package/dist/index16.vue.d.cts +1 -1
  32. package/dist/index16.vue.d.ts +1 -1
  33. package/dist/index17.vue.d.cts +1 -1
  34. package/dist/index17.vue.d.ts +2 -2
  35. package/dist/index18.vue.d.cts +2 -2
  36. package/dist/index18.vue.d.ts +4 -4
  37. package/dist/index19.vue.d.cts +4 -4
  38. package/dist/index19.vue.d.ts +1 -1
  39. package/dist/index2.vue.d.cts +2 -2
  40. package/dist/index2.vue.d.ts +2 -2
  41. package/dist/index20.vue.d.cts +2 -2
  42. package/dist/index20.vue.d.ts +2 -2
  43. package/dist/index21.vue.d.cts +1 -1
  44. package/dist/index21.vue.d.ts +1 -1
  45. package/dist/index22.vue.d.cts +2 -2
  46. package/dist/index22.vue.d.ts +2 -2
  47. package/dist/index23.vue.d.cts +1 -1
  48. package/dist/index23.vue.d.ts +1 -1
  49. package/dist/index25.vue.d.cts +3 -3
  50. package/dist/index25.vue.d.ts +3 -3
  51. package/dist/index27.vue.d.cts +3 -3
  52. package/dist/index27.vue.d.ts +3 -3
  53. package/dist/index28.vue.d.cts +3 -3
  54. package/dist/index28.vue.d.ts +3 -3
  55. package/dist/index3.vue.d.cts +3 -3
  56. package/dist/index3.vue.d.ts +3 -3
  57. package/dist/index4.vue.d.cts +1 -1
  58. package/dist/index6.vue.d.ts +2 -2
  59. package/dist/index7.vue.d.cts +2 -2
  60. package/dist/index9.vue.d.ts +3 -3
  61. package/dist/mapUtils.d.cts +3 -3
  62. package/dist/mapUtils.d.ts +3 -3
  63. package/dist/style.css +115 -79
  64. package/dist/useCalendarEvents.d.cts +1 -1
  65. package/dist/useCalendarEvents.d.ts +1 -1
  66. package/dist/useCollapsePanel.d.cts +1 -1
  67. package/dist/useCollapsePanel.d.ts +1 -1
  68. package/dist/useCropperCore.d.cts +6 -6
  69. package/dist/useCropperCore.d.ts +6 -6
  70. package/dist/useDraggableLayout.d.cts +3 -3
  71. package/dist/useDraggableLayout.d.ts +3 -3
  72. package/dist/useDynamicFormState.d.cts +2 -2
  73. package/dist/useDynamicFormState.d.ts +2 -2
  74. package/dist/useEdgeInteraction.d.cts +1 -1
  75. package/dist/useEdgeInteraction.d.ts +1 -1
  76. package/dist/useFullscreen.d.cts +2 -2
  77. package/dist/useFullscreen.d.ts +2 -2
  78. package/dist/useInfiniteScroll.d.cts +1 -1
  79. package/dist/useInfiniteScroll.d.ts +1 -1
  80. package/dist/useQRCode.d.cts +1 -1
  81. package/dist/useQRCode.d.ts +1 -1
  82. package/dist/useSearchState.d.cts +3 -3
  83. package/dist/useSearchState.d.ts +3 -3
  84. package/dist/useSignatureHistory.d.cts +4 -4
  85. package/dist/useSignatureHistory.d.ts +4 -4
  86. package/dist/useSplitResize.d.cts +6 -6
  87. package/dist/useSplitResize.d.ts +6 -6
  88. package/dist/useTableQuery.d.cts +1 -1
  89. package/dist/useTableQuery.d.ts +1 -1
  90. package/dist/useTimeSelection.d.cts +1 -1
  91. package/dist/useTimeSelection.d.ts +1 -1
  92. package/dist/useTreeOperations.d.cts +6 -6
  93. package/dist/useTreeOperations.d.ts +6 -6
  94. package/dist/useWorkflowValidation.d.cts +2 -2
  95. package/dist/useWorkflowValidation.d.ts +2 -2
  96. package/dist/verification.d.cts +1 -1
  97. package/dist/verification.d.ts +1 -1
  98. package/docs/components.en.md +5 -5
  99. package/docs/components.md +5 -5
  100. package/docs/guides/notification-center.md +95 -0
  101. package/package.json +1 -1
@@ -86,18 +86,18 @@ type __VLS_Slots = {} & {
86
86
  declare const __VLS_base: vue.DefineComponent<ChatProps, {
87
87
  scrollToBottom: () => void;
88
88
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
89
- "load-more": () => any;
90
89
  send: (content: string) => any;
91
90
  "select-contact": (id: string) => any;
91
+ "load-more": () => any;
92
92
  "image-preview": (url: string) => any;
93
93
  "file-click": (msg: ChatMessage) => any;
94
94
  "file-upload": () => any;
95
95
  "emoji-click": () => any;
96
96
  resend: (msg: ChatMessage) => any;
97
97
  }, string, vue.PublicProps, Readonly<ChatProps> & Readonly<{
98
- "onLoad-more"?: (() => any) | undefined;
99
98
  onSend?: ((content: string) => any) | undefined;
100
99
  "onSelect-contact"?: ((id: string) => any) | undefined;
100
+ "onLoad-more"?: (() => any) | undefined;
101
101
  "onImage-preview"?: ((url: string) => any) | undefined;
102
102
  "onFile-click"?: ((msg: ChatMessage) => any) | undefined;
103
103
  "onFile-upload"?: (() => any) | undefined;
@@ -86,18 +86,18 @@ type __VLS_Slots = {} & {
86
86
  declare const __VLS_base: vue.DefineComponent<ChatProps, {
87
87
  scrollToBottom: () => void;
88
88
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
89
- "load-more": () => any;
90
89
  send: (content: string) => any;
91
90
  "select-contact": (id: string) => any;
91
+ "load-more": () => any;
92
92
  "image-preview": (url: string) => any;
93
93
  "file-click": (msg: ChatMessage) => any;
94
94
  "file-upload": () => any;
95
95
  "emoji-click": () => any;
96
96
  resend: (msg: ChatMessage) => any;
97
97
  }, string, vue.PublicProps, Readonly<ChatProps> & Readonly<{
98
- "onLoad-more"?: (() => any) | undefined;
99
98
  onSend?: ((content: string) => any) | undefined;
100
99
  "onSelect-contact"?: ((id: string) => any) | undefined;
100
+ "onLoad-more"?: (() => any) | undefined;
101
101
  "onImage-preview"?: ((url: string) => any) | undefined;
102
102
  "onFile-click"?: ((msg: ChatMessage) => any) | undefined;
103
103
  "onFile-upload"?: (() => any) | undefined;
@@ -61,27 +61,27 @@ declare const __VLS_export: vue.DefineComponent<ContextMenuProps, {
61
61
  close: () => void; /** 当前是否可见 */
62
62
  visible: vue.ComputedRef<boolean>;
63
63
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
64
- select: (item: ContextMenuItem) => any;
65
64
  open: (position: {
66
65
  x: number;
67
66
  y: number;
68
67
  }) => any;
69
68
  close: () => any;
69
+ select: (item: ContextMenuItem) => any;
70
70
  }, string, vue.PublicProps, Readonly<ContextMenuProps> & Readonly<{
71
- onSelect?: ((item: ContextMenuItem) => any) | undefined;
72
71
  onOpen?: ((position: {
73
72
  x: number;
74
73
  y: number;
75
74
  }) => any) | undefined;
76
75
  onClose?: (() => any) | undefined;
76
+ onSelect?: ((item: ContextMenuItem) => any) | undefined;
77
77
  }>, {
78
78
  disabled: boolean;
79
+ zIndex: number;
79
80
  items: ContextMenuItem[];
80
81
  minWidth: number;
81
82
  maxWidth: number;
82
83
  subMenuPlacement: "right" | "left";
83
84
  autoClose: boolean;
84
- zIndex: number;
85
85
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
86
86
  declare const _default: typeof __VLS_export;
87
87
  //#endregion
@@ -83,17 +83,17 @@ interface MapExpose {
83
83
  //#endregion
84
84
  //#region src/components/C_Map/index.vue.d.ts
85
85
  declare const __VLS_export: vue.DefineComponent<MapProps, MapExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
86
- error: (error: Error) => any;
87
86
  ready: (map: MapInstance) => any;
87
+ error: (error: Error) => any;
88
88
  markerClick: (marker: MapMarker, event: MapMarkerEvent) => any;
89
89
  }, string, vue.PublicProps, Readonly<MapProps> & Readonly<{
90
- onError?: ((error: Error) => any) | undefined;
91
90
  onReady?: ((map: MapInstance) => any) | undefined;
91
+ onError?: ((error: Error) => any) | undefined;
92
92
  onMarkerClick?: ((marker: MapMarker, event: MapMarkerEvent) => any) | undefined;
93
93
  }>, {
94
94
  height: string;
95
- center: MapCoordinate;
96
95
  zoom: number;
96
+ center: MapCoordinate;
97
97
  ariaLabel: string;
98
98
  mapType: MapType;
99
99
  markers: MapMarker[];
@@ -83,17 +83,17 @@ interface MapExpose {
83
83
  //#endregion
84
84
  //#region src/components/C_Map/index.vue.d.ts
85
85
  declare const __VLS_export: vue.DefineComponent<MapProps, MapExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
86
- error: (error: Error) => any;
87
86
  ready: (map: MapInstance) => any;
87
+ error: (error: Error) => any;
88
88
  markerClick: (marker: MapMarker, event: MapMarkerEvent) => any;
89
89
  }, string, vue.PublicProps, Readonly<MapProps> & Readonly<{
90
- onError?: ((error: Error) => any) | undefined;
91
90
  onReady?: ((map: MapInstance) => any) | undefined;
91
+ onError?: ((error: Error) => any) | undefined;
92
92
  onMarkerClick?: ((marker: MapMarker, event: MapMarkerEvent) => any) | undefined;
93
93
  }>, {
94
94
  height: string;
95
- center: MapCoordinate;
96
95
  zoom: number;
96
+ center: MapCoordinate;
97
97
  ariaLabel: string;
98
98
  mapType: MapType;
99
99
  markers: MapMarker[];
package/dist/style.css CHANGED
@@ -9767,7 +9767,7 @@ to {
9767
9767
  .flex-wrap[data-v-8e02b6cd]{flex-wrap:wrap;}
9768
9768
  .px[data-v-8e02b6cd]{padding-left:1rem;padding-right:1rem;}
9769
9769
 
9770
- .notification-item[data-v-2f1c8e96] {
9770
+ .notification-item[data-v-8a4522f3] {
9771
9771
  display: flex;
9772
9772
  align-items: flex-start;
9773
9773
  gap: 10px;
@@ -9776,58 +9776,58 @@ to {
9776
9776
  transition: background-color var(--c-transition, 0.2s ease);
9777
9777
  border-bottom: 1px solid var(--c-border);
9778
9778
  }
9779
- .notification-item[data-v-2f1c8e96]:last-child {
9779
+ .notification-item[data-v-8a4522f3]:last-child {
9780
9780
  border-bottom: none;
9781
9781
  }
9782
- .notification-item[data-v-2f1c8e96]:hover {
9782
+ .notification-item[data-v-8a4522f3]:hover {
9783
9783
  background-color: var(--c-bg-card);
9784
9784
  }
9785
- .notification-item:hover .notification-item__actions[data-v-2f1c8e96] {
9785
+ .notification-item:hover .notification-item__actions[data-v-8a4522f3] {
9786
9786
  opacity: 1;
9787
9787
  }
9788
- .notification-item--unread[data-v-2f1c8e96] {
9788
+ .notification-item--unread[data-v-8a4522f3] {
9789
9789
  background-color: color-mix(in srgb, var(--c-primary) 4%, transparent);
9790
9790
  }
9791
- .notification-item--unread[data-v-2f1c8e96]:hover {
9791
+ .notification-item--unread[data-v-8a4522f3]:hover {
9792
9792
  background-color: color-mix(in srgb, var(--c-primary) 8%, transparent);
9793
9793
  }
9794
- .notification-item--urgent[data-v-2f1c8e96] {
9794
+ .notification-item--urgent[data-v-8a4522f3] {
9795
9795
  border-left: 3px solid #f5222d;
9796
9796
  padding-left: 13px;
9797
9797
  }
9798
- .notification-item[data-v-2f1c8e96] {
9798
+ .notification-item[data-v-8a4522f3] {
9799
9799
  /* ─── 子元素 ──────────────────────────── */
9800
9800
  }
9801
- .notification-item__indicator[data-v-2f1c8e96] {
9801
+ .notification-item__indicator[data-v-8a4522f3] {
9802
9802
  flex-shrink: 0;
9803
9803
  width: 8px;
9804
9804
  display: flex;
9805
9805
  align-items: center;
9806
9806
  padding-top: 14px;
9807
9807
  }
9808
- .notification-item__dot[data-v-2f1c8e96] {
9808
+ .notification-item__dot[data-v-8a4522f3] {
9809
9809
  width: 6px;
9810
9810
  height: 6px;
9811
9811
  border-radius: 50%;
9812
9812
  background: var(--c-primary);
9813
9813
  }
9814
- .notification-item__dot--urgent[data-v-2f1c8e96] {
9814
+ .notification-item__dot--urgent[data-v-8a4522f3] {
9815
9815
  background: #f5222d;
9816
9816
  box-shadow: 0 0 4px rgba(245, 34, 45, 0.5);
9817
9817
  }
9818
- .notification-item__dot--high[data-v-2f1c8e96] {
9818
+ .notification-item__dot--high[data-v-8a4522f3] {
9819
9819
  background: #fa8c16;
9820
9820
  }
9821
- .notification-item__dot--normal[data-v-2f1c8e96] {
9821
+ .notification-item__dot--normal[data-v-8a4522f3] {
9822
9822
  background: var(--c-primary);
9823
9823
  }
9824
- .notification-item__dot--low[data-v-2f1c8e96] {
9824
+ .notification-item__dot--low[data-v-8a4522f3] {
9825
9825
  background: var(--c-text-4);
9826
9826
  }
9827
- .notification-item__avatar[data-v-2f1c8e96] {
9827
+ .notification-item__avatar[data-v-8a4522f3] {
9828
9828
  flex-shrink: 0;
9829
9829
  }
9830
- .notification-item__avatar-placeholder[data-v-2f1c8e96] {
9830
+ .notification-item__avatar-placeholder[data-v-8a4522f3] {
9831
9831
  width: 36px;
9832
9832
  height: 36px;
9833
9833
  border-radius: 50%;
@@ -9837,27 +9837,27 @@ to {
9837
9837
  font-size: 16px;
9838
9838
  color: #fff;
9839
9839
  }
9840
- .notification-item__avatar-placeholder--system[data-v-2f1c8e96] {
9840
+ .notification-item__avatar-placeholder--system[data-v-8a4522f3] {
9841
9841
  background: linear-gradient(135deg, #667eea, #764ba2);
9842
9842
  }
9843
- .notification-item__avatar-placeholder--business[data-v-2f1c8e96] {
9843
+ .notification-item__avatar-placeholder--business[data-v-8a4522f3] {
9844
9844
  background: linear-gradient(135deg, #43e97b, #38f9d7);
9845
9845
  color: #0d1425;
9846
9846
  }
9847
- .notification-item__avatar-placeholder--alarm[data-v-2f1c8e96] {
9847
+ .notification-item__avatar-placeholder--alarm[data-v-8a4522f3] {
9848
9848
  background: linear-gradient(135deg, #f093fb, #f5576c);
9849
9849
  }
9850
- .notification-item__body[data-v-2f1c8e96] {
9850
+ .notification-item__body[data-v-8a4522f3] {
9851
9851
  flex: 1;
9852
9852
  min-width: 0;
9853
9853
  }
9854
- .notification-item__header[data-v-2f1c8e96] {
9854
+ .notification-item__header[data-v-8a4522f3] {
9855
9855
  display: flex;
9856
9856
  align-items: center;
9857
9857
  gap: 6px;
9858
9858
  margin-bottom: 4px;
9859
9859
  }
9860
- .notification-item__title[data-v-2f1c8e96] {
9860
+ .notification-item__title[data-v-8a4522f3] {
9861
9861
  font-size: 13px;
9862
9862
  font-weight: 500;
9863
9863
  color: var(--c-text-1);
@@ -9866,7 +9866,7 @@ to {
9866
9866
  text-overflow: ellipsis;
9867
9867
  white-space: nowrap;
9868
9868
  }
9869
- .notification-item__summary[data-v-2f1c8e96] {
9869
+ .notification-item__summary[data-v-8a4522f3] {
9870
9870
  font-size: 12px;
9871
9871
  color: var(--c-text-2);
9872
9872
  line-height: 1.5;
@@ -9876,21 +9876,21 @@ to {
9876
9876
  -webkit-box-orient: vertical;
9877
9877
  overflow: hidden;
9878
9878
  }
9879
- .notification-item__meta[data-v-2f1c8e96] {
9879
+ .notification-item__meta[data-v-8a4522f3] {
9880
9880
  display: flex;
9881
9881
  align-items: center;
9882
9882
  gap: 8px;
9883
9883
  margin-top: 6px;
9884
9884
  }
9885
- .notification-item__time[data-v-2f1c8e96], .notification-item__sender[data-v-2f1c8e96] {
9885
+ .notification-item__time[data-v-8a4522f3], .notification-item__sender[data-v-8a4522f3] {
9886
9886
  font-size: 11px;
9887
9887
  color: var(--c-text-4);
9888
9888
  }
9889
- .notification-item__sender[data-v-2f1c8e96]::before {
9889
+ .notification-item__sender[data-v-8a4522f3]::before {
9890
9890
  content: "·";
9891
9891
  margin-right: 8px;
9892
9892
  }
9893
- .notification-item__actions[data-v-2f1c8e96] {
9893
+ .notification-item__actions[data-v-8a4522f3] {
9894
9894
  flex-shrink: 0;
9895
9895
  display: flex;
9896
9896
  align-items: center;
@@ -9898,7 +9898,10 @@ to {
9898
9898
  opacity: 0;
9899
9899
  transition: opacity var(--c-transition, 0.2s ease);
9900
9900
  }
9901
- .notification-item__action[data-v-2f1c8e96] {
9901
+ .notification-item__action[data-v-8a4522f3] {
9902
+ appearance: none;
9903
+ border: 0;
9904
+ background: transparent;
9902
9905
  display: inline-flex;
9903
9906
  align-items: center;
9904
9907
  justify-content: center;
@@ -9910,24 +9913,33 @@ to {
9910
9913
  color: var(--c-text-4);
9911
9914
  transition: all var(--c-transition, 0.2s ease);
9912
9915
  }
9913
- .notification-item__action[data-v-2f1c8e96]:hover {
9916
+ .notification-item__action[data-v-8a4522f3]:hover {
9914
9917
  color: var(--c-primary);
9915
9918
  background-color: var(--c-border);
9916
9919
  }
9920
+ .notification-item__action[data-v-8a4522f3]:disabled {
9921
+ cursor: wait;
9922
+ opacity: 0.45;
9923
+ }
9917
9924
 
9918
9925
  /* layer: default */
9919
- .hidden[data-v-2f1c8e96]{display:none;}
9920
- .flex[data-v-2f1c8e96]{display:flex;}
9921
- .inline-flex[data-v-2f1c8e96]{display:inline-flex;}
9922
- .flex-shrink[data-v-2f1c8e96]{flex-shrink:1;}
9923
- .transition[data-v-2f1c8e96]{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;}
9926
+ .hidden[data-v-8a4522f3]{display:none;}
9927
+ .flex[data-v-8a4522f3]{display:flex;}
9928
+ .inline-flex[data-v-8a4522f3]{display:inline-flex;}
9929
+ .flex-shrink[data-v-8a4522f3]{flex-shrink:1;}
9930
+ .border[data-v-8a4522f3]{border-width:1px;}
9931
+ .transition[data-v-8a4522f3]{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;}
9924
9932
 
9925
- .notification-list__tabs[data-v-d366768f] {
9933
+ .notification-list__tabs[data-v-63a2d867] {
9926
9934
  display: flex;
9927
9935
  border-bottom: 1px solid var(--c-border);
9928
9936
  padding: 0 4px;
9929
9937
  }
9930
- .notification-list__tab[data-v-d366768f] {
9938
+ .notification-list__tab[data-v-63a2d867] {
9939
+ appearance: none;
9940
+ border: 0;
9941
+ background: transparent;
9942
+ font-family: inherit;
9931
9943
  position: relative;
9932
9944
  display: flex;
9933
9945
  align-items: center;
@@ -9939,7 +9951,7 @@ to {
9939
9951
  transition: all var(--c-transition, 0.2s ease);
9940
9952
  user-select: none;
9941
9953
  }
9942
- .notification-list__tab[data-v-d366768f]::after {
9954
+ .notification-list__tab[data-v-63a2d867]::after {
9943
9955
  content: "";
9944
9956
  position: absolute;
9945
9957
  bottom: 0;
@@ -9950,17 +9962,17 @@ to {
9950
9962
  border-radius: 1px;
9951
9963
  transition: background var(--c-transition, 0.2s ease);
9952
9964
  }
9953
- .notification-list__tab[data-v-d366768f]:hover {
9965
+ .notification-list__tab[data-v-63a2d867]:hover {
9954
9966
  color: var(--c-text-1);
9955
9967
  }
9956
- .notification-list__tab--active[data-v-d366768f] {
9968
+ .notification-list__tab--active[data-v-63a2d867] {
9957
9969
  color: var(--c-primary);
9958
9970
  font-weight: 500;
9959
9971
  }
9960
- .notification-list__tab--active[data-v-d366768f]::after {
9972
+ .notification-list__tab--active[data-v-63a2d867]::after {
9961
9973
  background: var(--c-primary);
9962
9974
  }
9963
- .notification-list__tab-count[data-v-d366768f] {
9975
+ .notification-list__tab-count[data-v-63a2d867] {
9964
9976
  min-width: 16px;
9965
9977
  height: 16px;
9966
9978
  padding: 0 4px;
@@ -9972,7 +9984,7 @@ to {
9972
9984
  line-height: 16px;
9973
9985
  text-align: center;
9974
9986
  }
9975
- .notification-list__toolbar[data-v-d366768f] {
9987
+ .notification-list__toolbar[data-v-63a2d867] {
9976
9988
  display: flex;
9977
9989
  align-items: center;
9978
9990
  justify-content: flex-end;
@@ -9980,22 +9992,27 @@ to {
9980
9992
  padding: 6px 16px;
9981
9993
  border-bottom: 1px solid var(--c-border);
9982
9994
  }
9983
- .notification-list__scroll[data-v-d366768f] {
9995
+ .notification-list__scroll[data-v-63a2d867] {
9984
9996
  flex: 1;
9985
9997
  }
9986
- .notification-list__skeleton[data-v-d366768f] {
9998
+ .notification-list__skeleton[data-v-63a2d867] {
9987
9999
  display: flex;
9988
10000
  align-items: flex-start;
9989
10001
  gap: 12px;
9990
10002
  padding: 14px 16px;
9991
10003
  }
9992
- .notification-list__skeleton-text[data-v-d366768f] {
10004
+ .notification-list__skeleton-text[data-v-63a2d867] {
9993
10005
  flex: 1;
9994
10006
  display: flex;
9995
10007
  flex-direction: column;
9996
10008
  gap: 8px;
9997
10009
  }
9998
- .notification-list__load-more[data-v-d366768f] {
10010
+ .notification-list__load-more[data-v-63a2d867] {
10011
+ appearance: none;
10012
+ border: 0;
10013
+ background: transparent;
10014
+ font-family: inherit;
10015
+ width: 100%;
9999
10016
  display: flex;
10000
10017
  align-items: center;
10001
10018
  justify-content: center;
@@ -10006,10 +10023,10 @@ to {
10006
10023
  cursor: pointer;
10007
10024
  transition: color var(--c-transition, 0.2s ease);
10008
10025
  }
10009
- .notification-list__load-more[data-v-d366768f]:hover {
10026
+ .notification-list__load-more[data-v-63a2d867]:hover {
10010
10027
  color: var(--c-primary);
10011
10028
  }
10012
- .notification-list__empty[data-v-d366768f] {
10029
+ .notification-list__empty[data-v-63a2d867] {
10013
10030
  display: flex;
10014
10031
  flex-direction: column;
10015
10032
  align-items: center;
@@ -10017,67 +10034,86 @@ to {
10017
10034
  padding: 60px 0;
10018
10035
  gap: 12px;
10019
10036
  }
10020
- .notification-list__empty-icon[data-v-d366768f] {
10037
+ .notification-list__empty-icon[data-v-63a2d867] {
10021
10038
  color: var(--c-text-4);
10022
10039
  opacity: 0.5;
10023
10040
  }
10024
- .notification-list__empty-text[data-v-d366768f] {
10041
+ .notification-list__empty-text[data-v-63a2d867] {
10025
10042
  font-size: 13px;
10026
10043
  color: var(--c-text-4);
10027
10044
  }
10028
10045
 
10029
10046
  /* layer: default */
10030
- .absolute[data-v-d366768f]{position:absolute;}
10031
- .relative[data-v-d366768f]{position:relative;}
10032
- .flex[data-v-d366768f]{display:flex;}
10033
- .px[data-v-d366768f]{padding-left:1rem;padding-right:1rem;}
10034
- .tab[data-v-d366768f]{-moz-tab-size:4;-o-tab-size:4;tab-size:4;}
10035
- .transition[data-v-d366768f]{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;}
10036
-
10037
- .c-notification-center[data-v-a06c4b3a] {
10047
+ .absolute[data-v-63a2d867]{position:absolute;}
10048
+ .relative[data-v-63a2d867]{position:relative;}
10049
+ .flex[data-v-63a2d867]{display:flex;}
10050
+ .border[data-v-63a2d867]{border-width:1px;}
10051
+ .px[data-v-63a2d867]{padding-left:1rem;padding-right:1rem;}
10052
+ .tab[data-v-63a2d867]{-moz-tab-size:4;-o-tab-size:4;tab-size:4;}
10053
+ .transition[data-v-63a2d867]{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;}
10054
+
10055
+ .c-notification-center[data-v-21f127ad] {
10038
10056
  display: inline-flex;
10039
10057
  align-items: center;
10040
10058
  }
10041
- .c-notification-center__panel[data-v-a06c4b3a] {
10059
+ .c-notification-center__panel[data-v-21f127ad] {
10042
10060
  display: flex;
10043
10061
  flex-direction: column;
10044
10062
  max-height: 560px;
10045
10063
  }
10046
- .c-notification-center__header[data-v-a06c4b3a] {
10064
+ .c-notification-center__header[data-v-21f127ad] {
10047
10065
  display: flex;
10048
10066
  align-items: center;
10049
10067
  justify-content: space-between;
10050
10068
  padding: 14px 16px 10px;
10051
10069
  border-bottom: 1px solid var(--c-border);
10052
10070
  }
10053
- .c-notification-center__title[data-v-a06c4b3a] {
10071
+ .c-notification-center__title[data-v-21f127ad] {
10054
10072
  font-size: 15px;
10055
10073
  font-weight: 600;
10056
10074
  color: var(--c-text-1);
10057
10075
  }
10058
- .c-notification-center__header-extra[data-v-a06c4b3a] {
10076
+ .c-notification-center__header-extra[data-v-21f127ad] {
10059
10077
  display: flex;
10060
10078
  align-items: center;
10061
10079
  gap: 8px;
10062
10080
  }
10063
- .c-notification-center__ws-dot[data-v-a06c4b3a] {
10081
+ .c-notification-center__error[data-v-21f127ad] {
10082
+ display: flex;
10083
+ align-items: center;
10084
+ justify-content: space-between;
10085
+ gap: 12px;
10086
+ margin: 10px 16px;
10087
+ padding: 10px;
10088
+ color: var(--c-text-1);
10089
+ background: color-mix(in srgb, #d03050 8%, transparent);
10090
+ border-radius: 6px;
10091
+ font-size: 12px;
10092
+ }
10093
+ .c-notification-center__footer[data-v-21f127ad] {
10094
+ display: flex;
10095
+ justify-content: center;
10096
+ padding: 10px 16px;
10097
+ border-top: 1px solid var(--c-border);
10098
+ }
10099
+ .c-notification-center__ws-dot[data-v-21f127ad] {
10064
10100
  width: 8px;
10065
10101
  height: 8px;
10066
10102
  border-radius: 50%;
10067
10103
  transition: background-color var(--c-transition, 0.2s ease);
10068
10104
  }
10069
- .c-notification-center__ws-dot--connected[data-v-a06c4b3a] {
10105
+ .c-notification-center__ws-dot--connected[data-v-21f127ad] {
10070
10106
  background: #52c41a;
10071
10107
  box-shadow: 0 0 4px rgba(82, 196, 26, 0.5);
10072
10108
  }
10073
- .c-notification-center__ws-dot--connecting[data-v-a06c4b3a], .c-notification-center__ws-dot--reconnecting[data-v-a06c4b3a] {
10109
+ .c-notification-center__ws-dot--connecting[data-v-21f127ad], .c-notification-center__ws-dot--reconnecting[data-v-21f127ad] {
10074
10110
  background: #faad14;
10075
- animation: status-blink-a06c4b3a 1s ease-in-out infinite;
10111
+ animation: status-blink-21f127ad 1s ease-in-out infinite;
10076
10112
  }
10077
- .c-notification-center__ws-dot--disconnected[data-v-a06c4b3a] {
10113
+ .c-notification-center__ws-dot--disconnected[data-v-21f127ad] {
10078
10114
  background: var(--c-text-4);
10079
10115
  }
10080
- @keyframes status-blink-a06c4b3a {
10116
+ @keyframes status-blink-21f127ad {
10081
10117
  0%, 100% {
10082
10118
  opacity: 1;
10083
10119
  }
@@ -10086,17 +10122,17 @@ to {
10086
10122
  }
10087
10123
  }
10088
10124
  /* ─── 切换过渡 ───────────────────────────────── */
10089
- .slide-fade-enter-active[data-v-a06c4b3a] {
10125
+ .slide-fade-enter-active[data-v-21f127ad] {
10090
10126
  transition: all 0.25s ease-out;
10091
10127
  }
10092
- .slide-fade-leave-active[data-v-a06c4b3a] {
10128
+ .slide-fade-leave-active[data-v-21f127ad] {
10093
10129
  transition: all 0.2s ease-in;
10094
10130
  }
10095
- .slide-fade-enter-from[data-v-a06c4b3a] {
10131
+ .slide-fade-enter-from[data-v-21f127ad] {
10096
10132
  opacity: 0;
10097
10133
  transform: translateY(8px);
10098
10134
  }
10099
- .slide-fade-leave-to[data-v-a06c4b3a] {
10135
+ .slide-fade-leave-to[data-v-21f127ad] {
10100
10136
  opacity: 0;
10101
10137
  transform: translateY(-8px);
10102
10138
  }
@@ -10141,13 +10177,13 @@ to {
10141
10177
  }
10142
10178
 
10143
10179
  /* layer: default */
10144
- .flex[data-v-a06c4b3a]{display:flex;}
10145
- .inline-flex[data-v-a06c4b3a]{display:inline-flex;}
10146
- .transform[data-v-a06c4b3a]{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));}
10147
- .transition[data-v-a06c4b3a]{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;}
10148
- .ease-in[data-v-a06c4b3a]{transition-timing-function:cubic-bezier(0.4, 0, 1, 1);}
10149
- .ease-in-out[data-v-a06c4b3a]{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}
10150
- .ease-out[data-v-a06c4b3a]{transition-timing-function:cubic-bezier(0, 0, 0.2, 1);}
10180
+ .flex[data-v-21f127ad]{display:flex;}
10181
+ .inline-flex[data-v-21f127ad]{display:inline-flex;}
10182
+ .transform[data-v-21f127ad]{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));}
10183
+ .transition[data-v-21f127ad]{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;}
10184
+ .ease-in[data-v-21f127ad]{transition-timing-function:cubic-bezier(0.4, 0, 1, 1);}
10185
+ .ease-in-out[data-v-21f127ad]{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}
10186
+ .ease-out[data-v-21f127ad]{transition-timing-function:cubic-bezier(0, 0, 0.2, 1);}
10151
10187
 
10152
10188
 
10153
10189
  /* --- C_OrgChart --- */
@@ -66,9 +66,9 @@ declare const __VLS_export: vue.DefineComponent<CalendarProps, CalendarExpose, {
66
66
  }) => any) | undefined;
67
67
  "onEvent-dropped"?: ((event: Partial<CalendarEvent>) => any) | undefined;
68
68
  }>, {
69
- editable: boolean;
70
69
  events: CalendarEvent[];
71
70
  initialView: CalendarViewType;
71
+ editable: boolean;
72
72
  showAddDialog: boolean;
73
73
  showEditDialog: boolean;
74
74
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
@@ -66,9 +66,9 @@ declare const __VLS_export: vue.DefineComponent<CalendarProps, CalendarExpose, {
66
66
  }) => any) | undefined;
67
67
  "onEvent-dropped"?: ((event: Partial<CalendarEvent>) => any) | undefined;
68
68
  }>, {
69
- editable: boolean;
70
69
  events: CalendarEvent[];
71
70
  initialView: CalendarViewType;
71
+ editable: boolean;
72
72
  showAddDialog: boolean;
73
73
  showEditDialog: boolean;
74
74
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
@@ -80,12 +80,12 @@ declare const __VLS_base: vue.DefineComponent<Props, CollapsePanelExpose, {}, {}
80
80
  onExpand?: ((key: string) => any) | undefined;
81
81
  onCollapse?: ((key: string) => any) | undefined;
82
82
  }>, {
83
+ bordered: boolean;
83
84
  activeKeys: string[];
84
85
  defaultActiveKeys: string[];
85
86
  accordion: boolean;
86
87
  variant: CollapsePanelVariant;
87
88
  expandIconPosition: ExpandIconPosition;
88
- bordered: boolean;
89
89
  persistKey: string;
90
90
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
91
91
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -80,12 +80,12 @@ declare const __VLS_base: vue.DefineComponent<Props, CollapsePanelExpose, {}, {}
80
80
  onExpand?: ((key: string) => any) | undefined;
81
81
  onCollapse?: ((key: string) => any) | undefined;
82
82
  }>, {
83
+ bordered: boolean;
83
84
  activeKeys: string[];
84
85
  defaultActiveKeys: string[];
85
86
  accordion: boolean;
86
87
  variant: CollapsePanelVariant;
87
88
  expandIconPosition: ExpandIconPosition;
88
- bordered: boolean;
89
89
  persistKey: string;
90
90
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
91
91
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -51,28 +51,28 @@ interface ImageCropperEmits {
51
51
  //#endregion
52
52
  //#region src/components/C_ImageCropper/index.vue.d.ts
53
53
  declare const __VLS_export: vue.DefineComponent<ImageCropperProps, ImageCropperExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
54
- error: (error: Error) => any;
55
- ready: () => any;
56
54
  crop: (result: CropResult) => any;
55
+ ready: () => any;
56
+ error: (error: Error) => any;
57
57
  confirm: (result: CropResult) => any;
58
58
  cancel: () => any;
59
59
  }, string, vue.PublicProps, Readonly<ImageCropperProps> & Readonly<{
60
- onError?: ((error: Error) => any) | undefined;
61
- onReady?: (() => any) | undefined;
62
60
  onCrop?: ((result: CropResult) => any) | undefined;
61
+ onReady?: (() => any) | undefined;
62
+ onError?: ((error: Error) => any) | undefined;
63
63
  onConfirm?: ((result: CropResult) => any) | undefined;
64
64
  onCancel?: (() => any) | undefined;
65
65
  }>, {
66
- height: string | number;
67
66
  disabled: boolean;
67
+ height: string | number;
68
68
  showPreview: boolean;
69
- showToolbar: boolean;
70
69
  src: string;
71
70
  aspectRatio: number;
72
71
  outputFormat: CropOutputFormat;
73
72
  outputQuality: number;
74
73
  maxOutputWidth: number;
75
74
  maxOutputHeight: number;
75
+ showToolbar: boolean;
76
76
  circular: boolean;
77
77
  modal: boolean;
78
78
  modalTitle: string;