@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,14 +59,15 @@
65
59
  transform: rotate(360deg);
66
60
  }
67
61
  }
68
- /* unplugin-vue-components disabled */
62
+
69
63
  /* layer: default */
70
- .inline[data-v-325a50d2]{display:inline;}
71
- .px[data-v-325a50d2]{padding-left:1rem;padding-right:1rem;}
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;}
72
67
 
73
- /* unplugin-vue-components disabled *//* 通用操作按钮组件样式 */
68
+ /* 通用操作按钮组件样式 */
74
69
  /* ================= 主容器 ================= */
75
- .c-action-bar[data-v-325a50d2] {
70
+ .c-action-bar[data-v-3c85fa90] {
76
71
  display: flex;
77
72
  align-items: center;
78
73
  justify-content: space-between;
@@ -83,26 +78,26 @@
83
78
  border: 1px solid var(--c-border);
84
79
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
85
80
  }
86
- .c-action-bar.is-align-left[data-v-325a50d2] {
81
+ .c-action-bar.is-align-left[data-v-3c85fa90] {
87
82
  justify-content: flex-start;
88
83
  }
89
- .c-action-bar.is-align-center[data-v-325a50d2] {
84
+ .c-action-bar.is-align-center[data-v-3c85fa90] {
90
85
  justify-content: center;
91
86
  }
92
- .c-action-bar.is-align-right[data-v-325a50d2] {
87
+ .c-action-bar.is-align-right[data-v-3c85fa90] {
93
88
  justify-content: flex-end;
94
89
  }
95
- .c-action-bar.is-align-space-between[data-v-325a50d2] {
90
+ .c-action-bar.is-align-space-between[data-v-3c85fa90] {
96
91
  justify-content: space-between;
97
92
  }
98
- .c-action-bar.is-align-space-around[data-v-325a50d2] {
93
+ .c-action-bar.is-align-space-around[data-v-3c85fa90] {
99
94
  justify-content: space-around;
100
95
  }
101
- .c-action-bar.is-compact[data-v-325a50d2] {
96
+ .c-action-bar.is-compact[data-v-3c85fa90] {
102
97
  padding: 8px;
103
98
  margin-bottom: 8px;
104
99
  }
105
- .c-action-bar.is-inline[data-v-325a50d2] {
100
+ .c-action-bar.is-inline[data-v-3c85fa90] {
106
101
  padding: 0;
107
102
  margin-bottom: 0;
108
103
  background: transparent;
@@ -110,97 +105,97 @@
110
105
  border-radius: 0;
111
106
  box-shadow: none;
112
107
  }
113
- .c-action-bar.is-wrap[data-v-325a50d2] {
108
+ .c-action-bar.is-wrap[data-v-3c85fa90] {
114
109
  flex-wrap: wrap;
115
110
  gap: 8px;
116
111
  }
117
112
  @media (max-width: 768px) {
118
- .c-action-bar[data-v-325a50d2] {
113
+ .c-action-bar[data-v-3c85fa90] {
119
114
  flex-direction: column;
120
115
  gap: 12px;
121
116
  }
122
- .c-action-bar .actions-group[data-v-325a50d2] {
117
+ .c-action-bar .actions-group[data-v-3c85fa90] {
123
118
  width: 100%;
124
119
  justify-content: center;
125
120
  }
126
121
  }
127
122
 
128
123
  /* ================= 按钮组 ================= */
129
- .actions-group[data-v-325a50d2] {
124
+ .actions-group[data-v-3c85fa90] {
130
125
  display: flex;
131
126
  align-items: center;
132
127
  gap: 12px;
133
128
  flex-wrap: nowrap;
134
129
  }
135
- .actions-group.actions-left[data-v-325a50d2] {
130
+ .actions-group.actions-left[data-v-3c85fa90] {
136
131
  justify-content: flex-start;
137
132
  }
138
- .actions-group.actions-right[data-v-325a50d2] {
133
+ .actions-group.actions-right[data-v-3c85fa90] {
139
134
  justify-content: flex-end;
140
135
  }
141
- .c-action-bar.has-only-left.is-align-center .actions-group.actions-left[data-v-325a50d2], .c-action-bar.has-only-right.is-align-center .actions-group.actions-right[data-v-325a50d2] {
136
+ .c-action-bar.has-only-left.is-align-center .actions-group.actions-left[data-v-3c85fa90], .c-action-bar.has-only-right.is-align-center .actions-group.actions-right[data-v-3c85fa90] {
142
137
  width: 100%;
143
138
  justify-content: center;
144
139
  }
145
- .c-action-bar.has-only-left.is-align-space-between .actions-group.actions-left[data-v-325a50d2], .c-action-bar.has-only-right.is-align-space-between .actions-group.actions-right[data-v-325a50d2] {
140
+ .c-action-bar.has-only-left.is-align-space-between .actions-group.actions-left[data-v-3c85fa90], .c-action-bar.has-only-right.is-align-space-between .actions-group.actions-right[data-v-3c85fa90] {
146
141
  width: 100%;
147
142
  justify-content: space-between;
148
143
  }
149
- .c-action-bar.has-only-left.is-align-space-around .actions-group.actions-left[data-v-325a50d2], .c-action-bar.has-only-right.is-align-space-around .actions-group.actions-right[data-v-325a50d2] {
144
+ .c-action-bar.has-only-left.is-align-space-around .actions-group.actions-left[data-v-3c85fa90], .c-action-bar.has-only-right.is-align-space-around .actions-group.actions-right[data-v-3c85fa90] {
150
145
  width: 100%;
151
146
  justify-content: space-around;
152
147
  }
153
- .c-action-bar.has-only-left.is-align-right .actions-group.actions-left[data-v-325a50d2] {
148
+ .c-action-bar.has-only-left.is-align-right .actions-group.actions-left[data-v-3c85fa90] {
154
149
  width: 100%;
155
150
  justify-content: flex-end;
156
151
  }
157
- .c-action-bar.has-only-right.is-align-left .actions-group.actions-right[data-v-325a50d2] {
152
+ .c-action-bar.has-only-right.is-align-left .actions-group.actions-right[data-v-3c85fa90] {
158
153
  width: 100%;
159
154
  justify-content: flex-start;
160
155
  }
161
- .actions-group[data-v-325a50d2] .n-button {
156
+ .actions-group[data-v-3c85fa90] .n-button {
162
157
  transition: color 0.16s ease, background-color 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
163
158
  font-weight: 500;
164
159
  }
165
- .actions-group[data-v-325a50d2] .n-button .n-icon {
160
+ .actions-group[data-v-3c85fa90] .n-button .n-icon {
166
161
  transition: transform 0.3s ease;
167
162
  }
168
- .actions-group[data-v-325a50d2] .n-button:hover:not(:disabled) {
163
+ .actions-group[data-v-3c85fa90] .n-button:hover:not(:disabled) {
169
164
  transform: translateY(-1px);
170
165
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
171
166
  }
172
- .actions-group[data-v-325a50d2] .n-button:hover:not(:disabled) .n-icon {
167
+ .actions-group[data-v-3c85fa90] .n-button:hover:not(:disabled) .n-icon {
173
168
  transform: scale(1.1);
174
169
  }
175
- .actions-group[data-v-325a50d2] .n-button:active:not(:disabled) {
170
+ .actions-group[data-v-3c85fa90] .n-button:active:not(:disabled) {
176
171
  transform: translateY(0);
177
172
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
178
173
  }
179
- .actions-group[data-v-325a50d2] .n-button:disabled {
174
+ .actions-group[data-v-3c85fa90] .n-button:disabled {
180
175
  cursor: not-allowed;
181
176
  opacity: 0.5;
182
177
  }
183
- .actions-group[data-v-325a50d2] .n-button.n-button--loading {
178
+ .actions-group[data-v-3c85fa90] .n-button.n-button--loading {
184
179
  pointer-events: none;
185
180
  }
186
- .actions-group[data-v-325a50d2] .n-button--primary-type:hover:not(:disabled) {
181
+ .actions-group[data-v-3c85fa90] .n-button--primary-type:hover:not(:disabled) {
187
182
  box-shadow: 0 4px 12px rgba(24, 160, 88, 0.3);
188
183
  }
189
- .actions-group[data-v-325a50d2] .n-button--info-type:hover:not(:disabled) {
184
+ .actions-group[data-v-3c85fa90] .n-button--info-type:hover:not(:disabled) {
190
185
  box-shadow: 0 4px 12px rgba(42, 148, 125, 0.3);
191
186
  }
192
- .actions-group[data-v-325a50d2] .n-button--success-type:hover:not(:disabled) {
187
+ .actions-group[data-v-3c85fa90] .n-button--success-type:hover:not(:disabled) {
193
188
  box-shadow: 0 4px 12px rgba(99, 226, 183, 0.3);
194
189
  }
195
- .actions-group[data-v-325a50d2] .n-button--warning-type:hover:not(:disabled) {
190
+ .actions-group[data-v-3c85fa90] .n-button--warning-type:hover:not(:disabled) {
196
191
  box-shadow: 0 4px 12px rgba(240, 138, 0, 0.3);
197
192
  }
198
- .actions-group[data-v-325a50d2] .n-button--error-type:hover:not(:disabled) {
193
+ .actions-group[data-v-3c85fa90] .n-button--error-type:hover:not(:disabled) {
199
194
  box-shadow: 0 4px 12px rgba(208, 48, 80, 0.3);
200
195
  }
201
196
 
202
197
  /* ================= 中间插槽区域 ================= */
203
- .actions-center[data-v-325a50d2] {
198
+ .actions-center[data-v-3c85fa90] {
204
199
  display: flex;
205
200
  align-items: center;
206
201
  justify-content: center;
@@ -210,32 +205,32 @@
210
205
  }
211
206
 
212
207
  /* ================= 分隔线 ================= */
213
- .action-divider[data-v-325a50d2] {
208
+ .action-divider[data-v-3c85fa90] {
214
209
  margin: 0 8px !important;
215
210
  height: 20px;
216
211
  opacity: 0.3;
217
212
  transition: opacity 0.3s ease;
218
213
  }
219
- .action-divider[data-v-325a50d2]:hover {
214
+ .action-divider[data-v-3c85fa90]:hover {
220
215
  opacity: 0.6;
221
216
  }
222
217
 
223
218
  /* ================= 下拉菜单优化 ================= */
224
- [data-v-325a50d2] .n-dropdown-option {
219
+ [data-v-3c85fa90] .n-dropdown-option {
225
220
  transition: all 0.2s ease;
226
221
  }
227
- [data-v-325a50d2] .n-dropdown-option:hover {
222
+ [data-v-3c85fa90] .n-dropdown-option:hover {
228
223
  transform: translateX(4px);
229
224
  }
230
- [data-v-325a50d2] .n-dropdown-option .n-icon {
225
+ [data-v-3c85fa90] .n-dropdown-option .n-icon {
231
226
  transition: transform 0.2s ease;
232
227
  }
233
- [data-v-325a50d2] .n-dropdown-option:hover .n-icon {
228
+ [data-v-3c85fa90] .n-dropdown-option:hover .n-icon {
234
229
  transform: scale(1.15);
235
230
  }
236
231
 
237
232
  /* ================= 加载动画 ================= */
238
- @keyframes button-loading-325a50d2 {
233
+ @keyframes button-loading-3c85fa90 {
239
234
  0% {
240
235
  opacity: 0.6;
241
236
  }
@@ -246,12 +241,12 @@
246
241
  opacity: 0.6;
247
242
  }
248
243
  }
249
- [data-v-325a50d2] .n-button--loading {
250
- animation: button-loading-325a50d2 1.5s ease-in-out infinite;
244
+ [data-v-3c85fa90] .n-button--loading {
245
+ animation: button-loading-3c85fa90 1.5s ease-in-out infinite;
251
246
  }
252
247
 
253
248
  /* ================= Tooltip 样式 ================= */
254
- [data-v-325a50d2] .n-tooltip .n-tooltip__content {
249
+ [data-v-3c85fa90] .n-tooltip .n-tooltip__content {
255
250
  font-size: 12px;
256
251
  padding: 6px 10px;
257
252
  border-radius: 4px;
@@ -260,16 +255,20 @@
260
255
  }
261
256
 
262
257
  /* ================= 暗黑模式适配 ================= */
263
- html.dark .c-action-bar[data-v-325a50d2] {
258
+ html.dark .c-action-bar[data-v-3c85fa90] {
264
259
  border-color: rgba(255, 255, 255, 0.09);
265
260
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
266
261
  }
267
- html.dark .actions-group[data-v-325a50d2] .n-button:hover:not(:disabled) {
262
+ html.dark .actions-group[data-v-3c85fa90] .n-button:hover:not(:disabled) {
268
263
  box-shadow: 0 4px 12px rgba(255, 255, 255, 0.1);
269
264
  }
270
- html.dark .action-divider[data-v-325a50d2] {
265
+ html.dark .action-divider[data-v-3c85fa90] {
271
266
  opacity: 0.15;
272
267
  }
273
- html.dark .action-divider[data-v-325a50d2]:hover {
268
+ html.dark .action-divider[data-v-3c85fa90]:hover {
274
269
  opacity: 0.4;
275
- }
270
+ }
271
+
272
+ /* layer: default */
273
+ .inline[data-v-3c85fa90]{display:inline;}
274
+ .px[data-v-3c85fa90]{padding-left:1rem;padding-right:1rem;}
@@ -1 +1 @@
1
- require(`./chunk.cjs`);const e=require(`./C_Icon2.cjs`),t=require(`./export-helper.cjs`);let n=require(`vue`),r=require(`naive-ui`);const i=`mdi:gesture-tap-button`,a={align:`left`,size:`tiny`,gap:6,wrap:!1,showDivider:!1,dividerType:`vertical`,compact:!0,inline:!0},o={add:{label:`新增`,icon:`mdi:plus`,type:`primary`},create:{label:`新增`,icon:`mdi:plus`,type:`primary`},save:{label:`保存`,icon:`mdi:content-save-outline`,type:`primary`},confirm:{label:`确认`,icon:`mdi:check`,type:`primary`},cancel:{label:`取消`,icon:`mdi:close`},close:{label:`关闭`,icon:`mdi:close`},view:{label:`查看`,icon:`mdi:eye-outline`},edit:{label:`编辑`,icon:`mdi:pencil-outline`},delete:{label:`删除`,icon:`mdi:delete-outline`,type:`error`},remove:{label:`删除`,icon:`mdi:delete-outline`,type:`error`},refresh:{label:`刷新`,icon:`mdi:refresh`},import:{label:`导入`,icon:`mdi:file-import-outline`},export:{label:`导出`,icon:`mdi:file-export-outline`},print:{label:`打印`,icon:`mdi:printer-outline`},reset:{label:`重置`,icon:`mdi:restore`},columns:{label:`列设置`,icon:`mdi:view-column-outline`},fullscreen:{label:`全屏`,icon:`mdi:fullscreen`},settings:{label:`功能配置`,icon:`mdi:tune-variant`},more:{label:`更多`,icon:`mdi:dots-horizontal`}},s=e=>{let t=e.key?o[e.key]:void 0;return{...t,...e,label:e.label||t?.label||e.key||`操作`,icon:e.icon||t?.icon||i}},c=e=>typeof e==`function`?e():(0,n.unref)(e),l=e=>e,u={key:1,class:`actions-center`},d=(0,n.defineComponent)({name:`C_ActionBar`,__name:`index`,props:{actions:{default:()=>[]},leftActions:{default:()=>[]},rightActions:{default:()=>[]},config:{default:()=>({})}},emits:[`action-click`,`dropdown-click`],setup(t,{emit:i}){let o=t,l=i,d=(0,n.computed)(()=>({...a,...o.config})),f=(0,n.computed)(()=>{if(o.leftActions&&o.leftActions.length>0)return o.leftActions.filter(e=>m(e));if(o.actions.length>0){let e=o.rightActions&&o.rightActions.length>0,t=o.actions.some(e=>e.group===`right`);return!e&&!t?o.actions.filter(e=>m(e)):o.actions.filter(e=>e.group!==`right`&&m(e))}return[]}),p=(0,n.computed)(()=>o.rightActions&&o.rightActions.length>0?o.rightActions.filter(e=>m(e)):o.actions.filter(e=>e.group===`right`&&m(e))),m=e=>e.show===void 0?!0:c(e.show)??!0,h=(0,n.shallowReactive)(new Set),g=e=>c(e.disabled)||h.has(e),_=e=>c(e.loading)||h.has(e),v=async e=>{if(!(e.dropdown&&e.dropdown.length>0)&&!(g(e)||_(e))&&(l(`action-click`,e),e.onClick)){e.autoLoading!==!1&&h.add(e);try{await e.onClick()}finally{h.delete(e)}}},y=async(e,t)=>{l(`dropdown-click`,e,t),e.onClick&&await e.onClick()},b=(0,n.defineComponent)({name:`ActionButton`,props:{action:{type:Object,required:!0}},emits:[`click`,`dropdown-select`],setup(t,{emit:i}){let a=(0,n.computed)(()=>t.action),o=(0,n.computed)(()=>s(a.value)),l=(0,n.computed)(()=>o.value.size||d.value.size),u=(0,n.computed)(()=>({tiny:14,small:15,medium:16,large:18})[l.value]),f=(0,n.computed)(()=>o.value.dropdown?o.value.dropdown.filter(e=>e.show===void 0?!0:c(e.show)).map(t=>{let{icon:r}=t;return{key:t.key,label:t.label,icon:r?()=>(0,n.h)(e.t,{name:r,size:14,"aria-hidden":!0}):void 0,disabled:c(t.disabled)}}):[]),p=e=>{let t=o.value.dropdown?.find(t=>t.key===e);t&&i(`dropdown-select`,t)},m=t=>{let{icon:i}=o.value,s=(0,n.h)(r.NButton,{type:o.value.type||`default`,size:l.value,loading:_(a.value),disabled:g(a.value),...t,...o.value.buttonProps},{default:()=>o.value.label,icon:i?()=>(0,n.h)(e.t,{name:i,size:u.value,"aria-hidden":!0}):void 0});return o.value.directives&&o.value.directives.length>0?(0,n.withDirectives)(s,o.value.directives):s},h=()=>{let e=m({onClick:()=>i(`click`)});return o.value.tooltip?(0,n.h)(r.NTooltip,{placement:`top`},{trigger:()=>e,default:()=>o.value.tooltip}):e},v=()=>{let e=m();return(0,n.h)(r.NDropdown,{options:f.value,onSelect:p},{default:()=>e})};return()=>o.value.dropdown&&o.value.dropdown.length>0?v():h()}});return(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{class:(0,n.normalizeClass)([`c-action-bar`,{"is-compact":d.value.compact,"is-inline":d.value.inline,"is-wrap":d.value.wrap,[`is-align-${d.value.align}`]:!0,"has-only-left":f.value.length>0&&p.value.length===0&&!e.$slots.center,"has-only-right":p.value.length>0&&f.value.length===0&&!e.$slots.center}])},[f.value.length>0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,class:`actions-group actions-left`,style:(0,n.normalizeStyle)({gap:`${d.value.gap}px`})},[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(f.value,(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:e.key||`left-${t}`},[(0,n.createVNode)((0,n.unref)(b),{action:e,onClick:t=>v(e),onDropdownSelect:t=>y(t,e)},null,8,[`action`,`onClick`,`onDropdownSelect`]),d.value.showDivider&&t<f.value.length-1&&d.value.dividerType===`vertical`?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(r.NDivider),{key:0,vertical:``,class:`action-divider`})):(0,n.createCommentVNode)(`v-if`,!0)],64))),128))],4)):(0,n.createCommentVNode)(`v-if`,!0),e.$slots.center?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,u,[(0,n.renderSlot)(e.$slots,`center`,{},void 0,!0)])):(0,n.createCommentVNode)(`v-if`,!0),p.value.length>0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:2,class:`actions-group actions-right`,style:(0,n.normalizeStyle)({gap:`${d.value.gap}px`})},[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(p.value,(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:e.key||`right-${t}`},[(0,n.createVNode)((0,n.unref)(b),{action:e,onClick:t=>v(e),onDropdownSelect:t=>y(t,e)},null,8,[`action`,`onClick`,`onDropdownSelect`]),d.value.showDivider&&t<p.value.length-1&&d.value.dividerType===`vertical`?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(r.NDivider),{key:0,vertical:``,class:`action-divider`})):(0,n.createCommentVNode)(`v-if`,!0)],64))),128))],4)):(0,n.createCommentVNode)(`v-if`,!0)],2))}});var f=t.t(d,[[`__scopeId`,`data-v-325a50d2`]]);Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return f}});
1
+ require(`./chunk.cjs`);const e=require(`./C_Icon2.cjs`),t=require(`./export-helper.cjs`),n=require(`./useActionTask.cjs`);let r=require(`vue`),i=require(`naive-ui`);const a=`mdi:gesture-tap-button`,o={align:`left`,size:`tiny`,gap:6,wrap:!1,showDivider:!1,dividerType:`vertical`,compact:!0,inline:!0},s={add:{label:`新增`,icon:`mdi:plus`,type:`primary`},create:{label:`新增`,icon:`mdi:plus`,type:`primary`},save:{label:`保存`,icon:`mdi:content-save-outline`,type:`primary`},confirm:{label:`确认`,icon:`mdi:check`,type:`primary`},cancel:{label:`取消`,icon:`mdi:close`},close:{label:`关闭`,icon:`mdi:close`},view:{label:`查看`,icon:`mdi:eye-outline`},edit:{label:`编辑`,icon:`mdi:pencil-outline`},delete:{label:`删除`,icon:`mdi:delete-outline`,type:`error`},remove:{label:`删除`,icon:`mdi:delete-outline`,type:`error`},refresh:{label:`刷新`,icon:`mdi:refresh`},import:{label:`导入`,icon:`mdi:file-import-outline`},export:{label:`导出`,icon:`mdi:file-export-outline`},print:{label:`打印`,icon:`mdi:printer-outline`},reset:{label:`重置`,icon:`mdi:restore`},columns:{label:`列设置`,icon:`mdi:view-column-outline`},fullscreen:{label:`全屏`,icon:`mdi:fullscreen`},settings:{label:`功能配置`,icon:`mdi:tune-variant`},more:{label:`更多`,icon:`mdi:dots-horizontal`}},c=e=>{let t=e.key?s[e.key]:void 0;return{...t,...e,label:e.label||t?.label||e.key||`操作`,icon:e.icon||t?.icon||a}},l=e=>typeof e==`function`?e():(0,r.unref)(e),u=e=>e,d={key:1,class:`actions-center`},f=(0,r.defineComponent)({name:`C_ActionBar`,__name:`index`,props:{actions:{default:()=>[]},leftActions:{default:()=>[]},rightActions:{default:()=>[]},config:{default:()=>({})}},emits:[`action-click`,`dropdown-click`,`action-error`],setup(t,{emit:a}){let s=t,u=a,f=(0,r.computed)(()=>({...o,...s.config})),p=(0,r.computed)(()=>{if(s.leftActions&&s.leftActions.length>0)return s.leftActions.filter(e=>h(e));if(s.actions.length>0){let e=s.rightActions&&s.rightActions.length>0,t=s.actions.some(e=>e.group===`right`);return!e&&!t?s.actions.filter(e=>h(e)):s.actions.filter(e=>e.group!==`right`&&h(e))}return[]}),m=(0,r.computed)(()=>s.rightActions&&s.rightActions.length>0?s.rightActions.filter(e=>h(e)):s.actions.filter(e=>e.group===`right`&&h(e))),h=e=>e.show===void 0?!0:l(e.show)??!0,g=(e,t)=>{let n=new Map;return e.map((e,r)=>{let i=JSON.stringify(e.key===void 0?[`position`,t,r]:[`key`,e.key]),a=n.get(i)??0;return n.set(i,a+1),{action:e,taskKey:i,renderKey:`${i}:${a}`}})},_=(0,r.computed)(()=>g(p.value,`left`)),v=(0,r.computed)(()=>g(m.value,`right`)),y=n.t(),b=(e,t)=>!!(l(e.disabled)||e.buttonProps?.disabled||y.isRunning(t)),x=(e,t)=>!!(l(e.loading)||e.buttonProps?.loading||e.autoLoading!==!1&&y.isRunning(t)),S=async({action:e,taskKey:t})=>{if(!(e.dropdown&&e.dropdown.length>0))try{await y.run(t,async()=>{u(`action-click`,e),await e.onClick?.()},()=>!b(e,t)&&!x(e,t))}catch(t){throw u(`action-error`,t,e),t}},C=async(e,{action:t,taskKey:n})=>{try{await y.run(n,async()=>{u(`dropdown-click`,e,t),await e.onClick?.()},()=>!b(t,n)&&!x(t,n)&&l(e.disabled)!==!0&&l(e.show)!==!1)}catch(n){throw u(`action-error`,n,t,e),n}},w=(0,r.defineComponent)({name:`ActionButton`,props:{action:{type:Object,required:!0},taskKey:{type:String,required:!0}},emits:[`click`,`dropdown-select`],setup(t,{emit:n}){let a=(0,r.computed)(()=>t.action),o=(0,r.computed)(()=>c(a.value)),s=(0,r.computed)(()=>o.value.size||f.value.size),u=(0,r.computed)(()=>({tiny:14,small:15,medium:16,large:18})[s.value]),d=(0,r.computed)(()=>o.value.dropdown?o.value.dropdown.filter(e=>e.show===void 0?!0:l(e.show)).map(n=>{let{icon:i}=n;return{key:n.key,label:n.label,icon:i?()=>(0,r.h)(e.t,{name:i,size:14,"aria-hidden":!0}):void 0,disabled:b(a.value,t.taskKey)||x(a.value,t.taskKey)||l(n.disabled)}}):[]),p=e=>{let r=o.value.dropdown?.find(t=>t.key===e);r&&!b(a.value,t.taskKey)&&!x(a.value,t.taskKey)&&l(r.disabled)!==!0&&l(r.show)!==!1&&n(`dropdown-select`,r)},m=n=>{let{icon:c,buttonProps:l}=o.value,d=e=>{if(b(a.value,t.taskKey)||x(a.value,t.taskKey))return;n?.();let r=l?.onClick;Array.isArray(r)?r.forEach(t=>t(e)):r?.(e)},f=(0,r.h)(i.NButton,{type:o.value.type||`default`,size:s.value,...l,loading:x(a.value,t.taskKey),disabled:b(a.value,t.taskKey),onClick:d},{default:()=>o.value.label,icon:c?()=>(0,r.h)(e.t,{name:c,size:u.value,"aria-hidden":!0}):void 0});return o.value.directives&&o.value.directives.length>0?(0,r.withDirectives)(f,o.value.directives):f},h=()=>{let e=m(()=>n(`click`));return o.value.tooltip?(0,r.h)(i.NTooltip,{placement:`top`},{trigger:()=>e,default:()=>o.value.tooltip}):e},g=()=>{let e=m();return(0,r.h)(i.NDropdown,{disabled:b(a.value,t.taskKey)||x(a.value,t.taskKey),options:d.value,onSelect:p},{default:()=>e})};return()=>o.value.dropdown&&o.value.dropdown.length>0?g():h()}});return(e,t)=>((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{class:(0,r.normalizeClass)([`c-action-bar`,{"is-compact":f.value.compact,"is-inline":f.value.inline,"is-wrap":f.value.wrap,[`is-align-${f.value.align}`]:!0,"has-only-left":_.value.length>0&&v.value.length===0&&!e.$slots.center,"has-only-right":v.value.length>0&&_.value.length===0&&!e.$slots.center}])},[_.value.length>0?((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:0,class:`actions-group actions-left`,style:(0,r.normalizeStyle)({gap:`${f.value.gap}px`})},[((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(_.value,(e,t)=>((0,r.openBlock)(),(0,r.createElementBlock)(r.Fragment,{key:e.renderKey},[(0,r.createVNode)((0,r.unref)(w),{action:e.action,"task-key":e.taskKey,onClick:t=>S(e),onDropdownSelect:t=>C(t,e)},null,8,[`action`,`task-key`,`onClick`,`onDropdownSelect`]),f.value.showDivider&&t<_.value.length-1&&f.value.dividerType===`vertical`?((0,r.openBlock)(),(0,r.createBlock)((0,r.unref)(i.NDivider),{key:0,vertical:``,class:`action-divider`})):(0,r.createCommentVNode)(`v-if`,!0)],64))),128))],4)):(0,r.createCommentVNode)(`v-if`,!0),e.$slots.center?((0,r.openBlock)(),(0,r.createElementBlock)(`div`,d,[(0,r.renderSlot)(e.$slots,`center`,{},void 0,!0)])):(0,r.createCommentVNode)(`v-if`,!0),v.value.length>0?((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:2,class:`actions-group actions-right`,style:(0,r.normalizeStyle)({gap:`${f.value.gap}px`})},[((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(v.value,(e,t)=>((0,r.openBlock)(),(0,r.createElementBlock)(r.Fragment,{key:e.renderKey},[(0,r.createVNode)((0,r.unref)(w),{action:e.action,"task-key":e.taskKey,onClick:t=>S(e),onDropdownSelect:t=>C(t,e)},null,8,[`action`,`task-key`,`onClick`,`onDropdownSelect`]),f.value.showDivider&&t<v.value.length-1&&f.value.dividerType===`vertical`?((0,r.openBlock)(),(0,r.createBlock)((0,r.unref)(i.NDivider),{key:0,vertical:``,class:`action-divider`})):(0,r.createCommentVNode)(`v-if`,!0)],64))),128))],4)):(0,r.createCommentVNode)(`v-if`,!0)],2))}});var p=t.t(f,[[`__scopeId`,`data-v-3c85fa90`]]);Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return p}});
@@ -1 +1 @@
1
- import{t as e}from"./C_Icon2.js";import{t}from"./export-helper.js";import{Fragment as n,computed as r,createBlock as i,createCommentVNode as a,createElementBlock as o,createVNode as s,defineComponent as c,h as l,normalizeClass as u,normalizeStyle as d,openBlock as f,renderList as p,renderSlot as m,shallowReactive as h,unref as g,withDirectives as _}from"vue";import{NButton as v,NDivider as y,NDropdown as b,NTooltip as x}from"naive-ui";const S=`mdi:gesture-tap-button`,C={align:`left`,size:`tiny`,gap:6,wrap:!1,showDivider:!1,dividerType:`vertical`,compact:!0,inline:!0},w={add:{label:`新增`,icon:`mdi:plus`,type:`primary`},create:{label:`新增`,icon:`mdi:plus`,type:`primary`},save:{label:`保存`,icon:`mdi:content-save-outline`,type:`primary`},confirm:{label:`确认`,icon:`mdi:check`,type:`primary`},cancel:{label:`取消`,icon:`mdi:close`},close:{label:`关闭`,icon:`mdi:close`},view:{label:`查看`,icon:`mdi:eye-outline`},edit:{label:`编辑`,icon:`mdi:pencil-outline`},delete:{label:`删除`,icon:`mdi:delete-outline`,type:`error`},remove:{label:`删除`,icon:`mdi:delete-outline`,type:`error`},refresh:{label:`刷新`,icon:`mdi:refresh`},import:{label:`导入`,icon:`mdi:file-import-outline`},export:{label:`导出`,icon:`mdi:file-export-outline`},print:{label:`打印`,icon:`mdi:printer-outline`},reset:{label:`重置`,icon:`mdi:restore`},columns:{label:`列设置`,icon:`mdi:view-column-outline`},fullscreen:{label:`全屏`,icon:`mdi:fullscreen`},settings:{label:`功能配置`,icon:`mdi:tune-variant`},more:{label:`更多`,icon:`mdi:dots-horizontal`}},T=e=>{let t=e.key?w[e.key]:void 0;return{...t,...e,label:e.label||t?.label||e.key||`操作`,icon:e.icon||t?.icon||S}},E=e=>typeof e==`function`?e():g(e),D=e=>e,O={key:1,class:`actions-center`};var k=t(c({name:`C_ActionBar`,__name:`index`,props:{actions:{default:()=>[]},leftActions:{default:()=>[]},rightActions:{default:()=>[]},config:{default:()=>({})}},emits:[`action-click`,`dropdown-click`],setup(t,{emit:S}){let w=t,D=S,k=r(()=>({...C,...w.config})),A=r(()=>{if(w.leftActions&&w.leftActions.length>0)return w.leftActions.filter(e=>M(e));if(w.actions.length>0){let e=w.rightActions&&w.rightActions.length>0,t=w.actions.some(e=>e.group===`right`);return!e&&!t?w.actions.filter(e=>M(e)):w.actions.filter(e=>e.group!==`right`&&M(e))}return[]}),j=r(()=>w.rightActions&&w.rightActions.length>0?w.rightActions.filter(e=>M(e)):w.actions.filter(e=>e.group===`right`&&M(e))),M=e=>e.show===void 0?!0:E(e.show)??!0,N=h(new Set),P=e=>E(e.disabled)||N.has(e),F=e=>E(e.loading)||N.has(e),I=async e=>{if(!(e.dropdown&&e.dropdown.length>0)&&!(P(e)||F(e))&&(D(`action-click`,e),e.onClick)){e.autoLoading!==!1&&N.add(e);try{await e.onClick()}finally{N.delete(e)}}},L=async(e,t)=>{D(`dropdown-click`,e,t),e.onClick&&await e.onClick()},R=c({name:`ActionButton`,props:{action:{type:Object,required:!0}},emits:[`click`,`dropdown-select`],setup(t,{emit:n}){let i=r(()=>t.action),a=r(()=>T(i.value)),o=r(()=>a.value.size||k.value.size),s=r(()=>({tiny:14,small:15,medium:16,large:18})[o.value]),c=r(()=>a.value.dropdown?a.value.dropdown.filter(e=>e.show===void 0?!0:E(e.show)).map(t=>{let{icon:n}=t;return{key:t.key,label:t.label,icon:n?()=>l(e,{name:n,size:14,"aria-hidden":!0}):void 0,disabled:E(t.disabled)}}):[]),u=e=>{let t=a.value.dropdown?.find(t=>t.key===e);t&&n(`dropdown-select`,t)},d=t=>{let{icon:n}=a.value,r=l(v,{type:a.value.type||`default`,size:o.value,loading:F(i.value),disabled:P(i.value),...t,...a.value.buttonProps},{default:()=>a.value.label,icon:n?()=>l(e,{name:n,size:s.value,"aria-hidden":!0}):void 0});return a.value.directives&&a.value.directives.length>0?_(r,a.value.directives):r},f=()=>{let e=d({onClick:()=>n(`click`)});return a.value.tooltip?l(x,{placement:`top`},{trigger:()=>e,default:()=>a.value.tooltip}):e},p=()=>{let e=d();return l(b,{options:c.value,onSelect:u},{default:()=>e})};return()=>a.value.dropdown&&a.value.dropdown.length>0?p():f()}});return(e,t)=>(f(),o(`div`,{class:u([`c-action-bar`,{"is-compact":k.value.compact,"is-inline":k.value.inline,"is-wrap":k.value.wrap,[`is-align-${k.value.align}`]:!0,"has-only-left":A.value.length>0&&j.value.length===0&&!e.$slots.center,"has-only-right":j.value.length>0&&A.value.length===0&&!e.$slots.center}])},[A.value.length>0?(f(),o(`div`,{key:0,class:`actions-group actions-left`,style:d({gap:`${k.value.gap}px`})},[(f(!0),o(n,null,p(A.value,(e,t)=>(f(),o(n,{key:e.key||`left-${t}`},[s(g(R),{action:e,onClick:t=>I(e),onDropdownSelect:t=>L(t,e)},null,8,[`action`,`onClick`,`onDropdownSelect`]),k.value.showDivider&&t<A.value.length-1&&k.value.dividerType===`vertical`?(f(),i(g(y),{key:0,vertical:``,class:`action-divider`})):a(`v-if`,!0)],64))),128))],4)):a(`v-if`,!0),e.$slots.center?(f(),o(`div`,O,[m(e.$slots,`center`,{},void 0,!0)])):a(`v-if`,!0),j.value.length>0?(f(),o(`div`,{key:2,class:`actions-group actions-right`,style:d({gap:`${k.value.gap}px`})},[(f(!0),o(n,null,p(j.value,(e,t)=>(f(),o(n,{key:e.key||`right-${t}`},[s(g(R),{action:e,onClick:t=>I(e),onDropdownSelect:t=>L(t,e)},null,8,[`action`,`onClick`,`onDropdownSelect`]),k.value.showDivider&&t<j.value.length-1&&k.value.dividerType===`vertical`?(f(),i(g(y),{key:0,vertical:``,class:`action-divider`})):a(`v-if`,!0)],64))),128))],4)):a(`v-if`,!0)],2))}}),[[`__scopeId`,`data-v-325a50d2`]]);export{D as a,S as i,C as n,T as o,w as r,k as t};
1
+ import{t as e}from"./C_Icon2.js";import{t}from"./export-helper.js";import{t as n}from"./useActionTask.js";import{Fragment as r,computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createVNode as c,defineComponent as l,h as u,normalizeClass as d,normalizeStyle as f,openBlock as p,renderList as m,renderSlot as h,unref as g,withDirectives as _}from"vue";import{NButton as v,NDivider as y,NDropdown as b,NTooltip as x}from"naive-ui";const S=`mdi:gesture-tap-button`,C={align:`left`,size:`tiny`,gap:6,wrap:!1,showDivider:!1,dividerType:`vertical`,compact:!0,inline:!0},w={add:{label:`新增`,icon:`mdi:plus`,type:`primary`},create:{label:`新增`,icon:`mdi:plus`,type:`primary`},save:{label:`保存`,icon:`mdi:content-save-outline`,type:`primary`},confirm:{label:`确认`,icon:`mdi:check`,type:`primary`},cancel:{label:`取消`,icon:`mdi:close`},close:{label:`关闭`,icon:`mdi:close`},view:{label:`查看`,icon:`mdi:eye-outline`},edit:{label:`编辑`,icon:`mdi:pencil-outline`},delete:{label:`删除`,icon:`mdi:delete-outline`,type:`error`},remove:{label:`删除`,icon:`mdi:delete-outline`,type:`error`},refresh:{label:`刷新`,icon:`mdi:refresh`},import:{label:`导入`,icon:`mdi:file-import-outline`},export:{label:`导出`,icon:`mdi:file-export-outline`},print:{label:`打印`,icon:`mdi:printer-outline`},reset:{label:`重置`,icon:`mdi:restore`},columns:{label:`列设置`,icon:`mdi:view-column-outline`},fullscreen:{label:`全屏`,icon:`mdi:fullscreen`},settings:{label:`功能配置`,icon:`mdi:tune-variant`},more:{label:`更多`,icon:`mdi:dots-horizontal`}},T=e=>{let t=e.key?w[e.key]:void 0;return{...t,...e,label:e.label||t?.label||e.key||`操作`,icon:e.icon||t?.icon||S}},E=e=>typeof e==`function`?e():g(e),D=e=>e,O={key:1,class:`actions-center`};var k=t(l({name:`C_ActionBar`,__name:`index`,props:{actions:{default:()=>[]},leftActions:{default:()=>[]},rightActions:{default:()=>[]},config:{default:()=>({})}},emits:[`action-click`,`dropdown-click`,`action-error`],setup(t,{emit:S}){let w=t,D=S,k=i(()=>({...C,...w.config})),A=i(()=>{if(w.leftActions&&w.leftActions.length>0)return w.leftActions.filter(e=>M(e));if(w.actions.length>0){let e=w.rightActions&&w.rightActions.length>0,t=w.actions.some(e=>e.group===`right`);return!e&&!t?w.actions.filter(e=>M(e)):w.actions.filter(e=>e.group!==`right`&&M(e))}return[]}),j=i(()=>w.rightActions&&w.rightActions.length>0?w.rightActions.filter(e=>M(e)):w.actions.filter(e=>e.group===`right`&&M(e))),M=e=>e.show===void 0?!0:E(e.show)??!0,N=(e,t)=>{let n=new Map;return e.map((e,r)=>{let i=JSON.stringify(e.key===void 0?[`position`,t,r]:[`key`,e.key]),a=n.get(i)??0;return n.set(i,a+1),{action:e,taskKey:i,renderKey:`${i}:${a}`}})},P=i(()=>N(A.value,`left`)),F=i(()=>N(j.value,`right`)),I=n(),L=(e,t)=>!!(E(e.disabled)||e.buttonProps?.disabled||I.isRunning(t)),R=(e,t)=>!!(E(e.loading)||e.buttonProps?.loading||e.autoLoading!==!1&&I.isRunning(t)),z=async({action:e,taskKey:t})=>{if(!(e.dropdown&&e.dropdown.length>0))try{await I.run(t,async()=>{D(`action-click`,e),await e.onClick?.()},()=>!L(e,t)&&!R(e,t))}catch(t){throw D(`action-error`,t,e),t}},B=async(e,{action:t,taskKey:n})=>{try{await I.run(n,async()=>{D(`dropdown-click`,e,t),await e.onClick?.()},()=>!L(t,n)&&!R(t,n)&&E(e.disabled)!==!0&&E(e.show)!==!1)}catch(n){throw D(`action-error`,n,t,e),n}},V=l({name:`ActionButton`,props:{action:{type:Object,required:!0},taskKey:{type:String,required:!0}},emits:[`click`,`dropdown-select`],setup(t,{emit:n}){let r=i(()=>t.action),a=i(()=>T(r.value)),o=i(()=>a.value.size||k.value.size),s=i(()=>({tiny:14,small:15,medium:16,large:18})[o.value]),c=i(()=>a.value.dropdown?a.value.dropdown.filter(e=>e.show===void 0?!0:E(e.show)).map(n=>{let{icon:i}=n;return{key:n.key,label:n.label,icon:i?()=>u(e,{name:i,size:14,"aria-hidden":!0}):void 0,disabled:L(r.value,t.taskKey)||R(r.value,t.taskKey)||E(n.disabled)}}):[]),l=e=>{let i=a.value.dropdown?.find(t=>t.key===e);i&&!L(r.value,t.taskKey)&&!R(r.value,t.taskKey)&&E(i.disabled)!==!0&&E(i.show)!==!1&&n(`dropdown-select`,i)},d=n=>{let{icon:i,buttonProps:c}=a.value,l=e=>{if(L(r.value,t.taskKey)||R(r.value,t.taskKey))return;n?.();let i=c?.onClick;Array.isArray(i)?i.forEach(t=>t(e)):i?.(e)},d=u(v,{type:a.value.type||`default`,size:o.value,...c,loading:R(r.value,t.taskKey),disabled:L(r.value,t.taskKey),onClick:l},{default:()=>a.value.label,icon:i?()=>u(e,{name:i,size:s.value,"aria-hidden":!0}):void 0});return a.value.directives&&a.value.directives.length>0?_(d,a.value.directives):d},f=()=>{let e=d(()=>n(`click`));return a.value.tooltip?u(x,{placement:`top`},{trigger:()=>e,default:()=>a.value.tooltip}):e},p=()=>{let e=d();return u(b,{disabled:L(r.value,t.taskKey)||R(r.value,t.taskKey),options:c.value,onSelect:l},{default:()=>e})};return()=>a.value.dropdown&&a.value.dropdown.length>0?p():f()}});return(e,t)=>(p(),s(`div`,{class:d([`c-action-bar`,{"is-compact":k.value.compact,"is-inline":k.value.inline,"is-wrap":k.value.wrap,[`is-align-${k.value.align}`]:!0,"has-only-left":P.value.length>0&&F.value.length===0&&!e.$slots.center,"has-only-right":F.value.length>0&&P.value.length===0&&!e.$slots.center}])},[P.value.length>0?(p(),s(`div`,{key:0,class:`actions-group actions-left`,style:f({gap:`${k.value.gap}px`})},[(p(!0),s(r,null,m(P.value,(e,t)=>(p(),s(r,{key:e.renderKey},[c(g(V),{action:e.action,"task-key":e.taskKey,onClick:t=>z(e),onDropdownSelect:t=>B(t,e)},null,8,[`action`,`task-key`,`onClick`,`onDropdownSelect`]),k.value.showDivider&&t<P.value.length-1&&k.value.dividerType===`vertical`?(p(),a(g(y),{key:0,vertical:``,class:`action-divider`})):o(`v-if`,!0)],64))),128))],4)):o(`v-if`,!0),e.$slots.center?(p(),s(`div`,O,[h(e.$slots,`center`,{},void 0,!0)])):o(`v-if`,!0),F.value.length>0?(p(),s(`div`,{key:2,class:`actions-group actions-right`,style:f({gap:`${k.value.gap}px`})},[(p(!0),s(r,null,m(F.value,(e,t)=>(p(),s(r,{key:e.renderKey},[c(g(V),{action:e.action,"task-key":e.taskKey,onClick:t=>z(e),onDropdownSelect:t=>B(t,e)},null,8,[`action`,`task-key`,`onClick`,`onDropdownSelect`]),k.value.showDivider&&t<F.value.length-1&&k.value.dividerType===`vertical`?(p(),a(g(y),{key:0,vertical:``,class:`action-divider`})):o(`v-if`,!0)],64))),128))],4)):o(`v-if`,!0)],2))}}),[[`__scopeId`,`data-v-3c85fa90`]]);export{D as a,S as i,C as n,T as o,w as r,k as t};