rhjy-ui 0.2.6 → 0.2.8

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/README.md CHANGED
@@ -1,261 +1,321 @@
1
- # rhjy-ui
2
-
3
- `rhjy-ui` is a Vue 3 and Element Plus business UI component library. The first release contains a configurable data-center suite for displaying asynchronous import, export, generation and other background tasks.
4
-
5
- ## Install
6
-
7
- ```bash
8
- pnpm add rhjy-ui vue element-plus @element-plus/icons-vue
9
- ```
10
-
11
- Import the package stylesheet once in the application entrypoint:
12
-
13
- ```ts
14
- import 'rhjy-ui/style.css'
15
- ```
16
-
17
- ## Responsive Info Grid
18
-
19
- Responsive Info Grid arranges title-content pairs in a configurable grid and switches column counts at the 1200px and 768px breakpoints.
20
-
21
- ```vue
22
- <script setup lang="ts">
23
- import {
24
- RhResponsiveInfoGrid,
25
- RhResponsiveInfoGridItem,
26
- } from 'rhjy-ui'
27
- </script>
28
-
29
- <template>
30
- <RhResponsiveInfoGrid>
31
- <RhResponsiveInfoGridItem title="Project: " content="Smart Campus" />
32
- <RhResponsiveInfoGridItem title="Owner: " content="Operations Team" />
33
- <RhResponsiveInfoGridItem title="Devices: " :content="128" />
34
- <RhResponsiveInfoGridItem title="Summary: " content="All systems operational" :span="2" />
35
- </RhResponsiveInfoGrid>
36
- </template>
37
- ```
38
-
39
- See the [Responsive Info Grid component README](https://unpkg.com/rhjy-ui@0.2.2/src/responsive-info-grid/README.md) for subpath imports, the complete props and slots reference, responsive behavior, and more examples.
40
-
41
- ## Data center panel
42
-
43
- `rhjy-ui` never receives an API URL. Each application supplies a `loadTasks` function and converts its own response into the standard task model.
44
-
45
- ```vue
46
- <script setup lang="ts">
47
- import { RhDataCenter } from 'rhjy-ui'
48
- import type {
49
- RhDataCenterCategory,
50
- RhDataCenterLoadTasks,
51
- } from 'rhjy-ui/data-center'
52
-
53
- const categories: RhDataCenterCategory[] = [
54
- { key: 'all', label: '全部任务' },
55
- { key: 'generate', label: '数据生成' },
56
- { key: 'import', label: '数据导入' },
57
- { key: 'export', label: '数据导出' },
58
- ]
59
-
60
- const loadTasks: RhDataCenterLoadTasks = async ({ category }) => {
61
- const response = await requestTaskList({
62
- taskType: category.key === 'all' ? undefined : category.key,
63
- })
64
-
65
- return {
66
- items: response.list,
67
- total: response.total,
68
- }
69
- }
1
+ # rhjy-ui
2
+
3
+ `rhjy-ui` is a Vue 3 and Element Plus business UI component library. The first release contains a configurable data-center suite for displaying asynchronous import, export, generation and other background tasks.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ pnpm add rhjy-ui vue element-plus @element-plus/icons-vue
9
+ ```
10
+
11
+ Import the package stylesheet once in the application entrypoint:
12
+
13
+ ```ts
14
+ import 'rhjy-ui/style.css'
15
+ ```
16
+
17
+ ## Responsive Info Grid
18
+
19
+ Responsive Info Grid arranges title-content pairs in a configurable grid and switches column counts at the 1200px and 768px breakpoints.
20
+
21
+ ```vue
22
+ <script setup lang="ts">
23
+ import {
24
+ RhResponsiveInfoGrid,
25
+ RhResponsiveInfoGridItem,
26
+ } from 'rhjy-ui'
27
+ </script>
28
+
29
+ <template>
30
+ <RhResponsiveInfoGrid>
31
+ <RhResponsiveInfoGridItem title="Project: " content="Smart Campus" />
32
+ <RhResponsiveInfoGridItem title="Owner: " content="Operations Team" />
33
+ <RhResponsiveInfoGridItem title="Devices: " :content="128" />
34
+ <RhResponsiveInfoGridItem title="Summary: " content="All systems operational" :span="2" />
35
+ </RhResponsiveInfoGrid>
36
+ </template>
37
+ ```
38
+
39
+ See the [Responsive Info Grid component README](https://unpkg.com/rhjy-ui@0.2.2/src/responsive-info-grid/README.md) for subpath imports, the complete props and slots reference, responsive behavior, and more examples.
40
+
41
+ ## Data center panel
42
+
43
+ `rhjy-ui` never receives an API URL. Each application supplies a `loadTasks` function and converts its own response into the standard task model.
44
+
45
+ ```vue
46
+ <script setup lang="ts">
47
+ import { RhDataCenter } from 'rhjy-ui'
48
+ import type {
49
+ RhDataCenterCategory,
50
+ RhDataCenterLoadTasks,
51
+ } from 'rhjy-ui/data-center'
52
+
53
+ const categories: RhDataCenterCategory[] = [
54
+ { key: 'all', label: '全部任务' },
55
+ { key: 'generate', label: '数据生成' },
56
+ { key: 'import', label: '数据导入' },
57
+ { key: 'export', label: '数据导出' },
58
+ ]
59
+
60
+ const loadTasks: RhDataCenterLoadTasks = async ({ category }) => {
61
+ const response = await requestTaskList({
62
+ taskType: category.key === 'all' ? undefined : category.key,
63
+ })
64
+
65
+ return {
66
+ items: response.list,
67
+ total: response.total,
68
+ }
69
+ }
70
+
71
+ const handleTaskAction = ({ action, task }) => {
72
+ if (action === 'download') {
73
+ window.open(task.raw.fileUrl)
74
+ }
75
+ }
76
+ </script>
77
+
78
+ <template>
79
+ <RhDataCenter
80
+ :categories="categories"
81
+ :load-tasks="loadTasks"
82
+ sidebar-width="160px"
83
+ @task-action="handleTaskAction"
84
+ />
85
+ </template>
86
+ ```
87
+
88
+ The “全部任务” rule is application-owned. It may omit `taskType`, pass a fixed value, or combine multiple requests without changing the component.
89
+
90
+ ### Reuse the business adapter
91
+
92
+ When multiple applications use the same data-center protocol, use `createRhDataCenterAdapter` to share response conversion, status messages, sorting, counts, and default download actions. The application still injects its own API functions; the package never receives an API URL.
93
+
94
+ ```ts
95
+ import {
96
+ createRhDataCenterAdapter,
97
+ type RhDataCenterCategory,
98
+ } from 'rhjy-ui/data-center'
99
+ import { clickDownloadBtByTaskId, getMyTaskList } from '@/services/dataCenter'
100
+
101
+ const categories: RhDataCenterCategory[] = [
102
+ { key: 'all', label: '全部任务', query: { taskType: 0 } },
103
+ { key: 2, label: '数据导入', query: { taskType: 2 } },
104
+ { key: 3, label: '数据导出', query: { taskType: 3 } },
105
+ ]
106
+
107
+ const { loadTasks, handleTaskAction } = createRhDataCenterAdapter({
108
+ api: {
109
+ getTaskList: getMyTaskList,
110
+ downloadTask: ({ taskId }) => clickDownloadBtByTaskId({ taskId }),
111
+ },
112
+ categories,
113
+ taskKind: { import: [2], export: [3] },
114
+ completedDownloadKinds: ['other'],
115
+ })
116
+ ```
117
+
118
+ The adapter provides default task actions for completed exports, import failure records, and failed tasks. Use `completedDownloadKinds` when another task kind should show a file download action after completion and its raw task contains `fileUrl`. Use `parseResponse` when the application response wrapper or success rule differs. Use `mapTask` or `resolveActions` for an application-specific field or operation without changing the shared adapter. `RhDataCenter` remains responsible for polling; the adapter handles one query and one task action at a time.
119
+
120
+ Use `sidebar-width` with a number or CSS size string to adjust the data type panel width. Its default value is `124px`.
121
+
122
+ Category counts are optional and application-owned. Set `show-category-count` to `false` to hide every category count, or pass `category-counts` to display values before individual categories are loaded:
123
+
124
+ ```vue
125
+ <RhDataCenter
126
+ :categories="categories"
127
+ :load-tasks="loadTasks"
128
+ :show-category-count="true"
129
+ :category-counts="{ all: 20, generate: 8, import: 4, export: 8 }"
130
+ />
131
+ ```
132
+
133
+ When counts are enabled, the component uses `categoryCounts`, then a loaded result's `counts`, and finally the category result's `total`.
134
+
135
+ When the backend provides a separate count endpoint, configure it on the shared adapter. The count request runs in parallel with each task-list refresh, so the sidebar stays synchronized with polling without moving API details into `RhDataCenter`:
136
+
137
+ ```ts
138
+ const { loadTasks, handleTaskAction } = createRhDataCenterAdapter<
139
+ RawTask,
140
+ TaskQuery,
141
+ TaskListResponse,
142
+ TaskCountResponse
143
+ >({
144
+ api: {
145
+ getTaskList: requestTaskList,
146
+ getTaskCounts: () => requestTaskCounts({ taskType: 0 }),
147
+ },
148
+ categories,
149
+ parseResponse: (response) => response.data.list,
150
+ parseCounts: (response) => ({
151
+ all: response.data.totalTaskCount,
152
+ import: response.data.taskCountList.find((item) => item.taskType === 2)?.taskCount ?? 0,
153
+ }),
154
+ })
155
+ ```
156
+
157
+ `parseCounts` converts the shared backend response into category keys. If the count request or parser fails, the adapter keeps the task list available and falls back to `resolveCounts` or the loaded result totals.
158
+
159
+ Task tags read `raw.taskTypeName` by default. When an API uses another field name, pass `task-tag-field` without changing the task adapter:
160
+
161
+ ```vue
162
+ <RhDataCenter
163
+ :categories="categories"
164
+ :load-tasks="loadTasks"
165
+ task-tag-field="taskTypeName"
166
+ />
167
+ ```
168
+
169
+ ## Task tip flow
170
+
171
+ Use `useRhDataCenter` after a page successfully creates a background task:
172
+
173
+ ```vue
174
+ <script setup lang="ts">
175
+ import { RhDataCenterTip, useRhDataCenter } from 'rhjy-ui'
176
+
177
+ const { tipVisible, tipConfig, showTip } = useRhDataCenter()
178
+
179
+ const startExport = async () => {
180
+ const result = await createExportTask()
181
+ showTip({
182
+ type: 'export',
183
+ minutes: Number(result.minutes),
184
+ title: '导出文件生成中,大概需要',
185
+ content: '现在你可关闭弹框,去做其他事情了。',
186
+ })
187
+ }
188
+ </script>
189
+
190
+ <template>
191
+ <RhDataCenterTip v-model="tipVisible" v-bind="tipConfig" />
192
+ </template>
193
+ ```
194
+
195
+ `RhDataCenterTip` 默认使用简化引导动画;需要使用带数据处理中心图片、手势和方向切换的引导时,可传入 `guideVariant="normal"` 或 `guideVariant="super"`。
196
+
197
+ ## Standard task model
198
+
199
+ The adapter returns `id`, `categoryKey`, `title`, `createdAt`, `progress`, and one of `waiting`, `processing`, `success`, or `failed`. Optional `tag`, `message`, `actions`, and `raw` provide display and application action context.
200
+
201
+ For completed tasks with rejected records, pass the normalized `failCount` field. The task item keeps the completed progress bar, shows `失败记录(xx条)` in red, and hides the normal completion message when the count is zero. The application still supplies the failure-record action and handles its download event.
202
+
203
+ For processing tasks, pass `taskSeconds` to show `总时长约X分XX秒` instead of the default processing message. If `taskSeconds` is omitted, the provided `message` is displayed.
204
+
205
+ ## Styling
70
206
 
71
- const handleTaskAction = ({ action, task }) => {
72
- if (action === 'download') {
73
- window.open(task.raw.fileUrl)
74
- }
207
+ Override CSS variables at the application root when needed:
208
+
209
+ ```css
210
+ :root {
211
+ --rh-ui-data-center-primary: #00828a;
212
+ --rh-ui-data-center-panel-width: 606px;
213
+ --rh-ui-data-center-panel-height: 500px;
75
214
  }
76
- </script>
77
-
78
- <template>
79
- <RhDataCenter
80
- :categories="categories"
81
- :load-tasks="loadTasks"
82
- sidebar-width="160px"
83
- @task-action="handleTaskAction"
84
- />
85
- </template>
86
- ```
87
-
88
- The “全部任务” rule is application-owned. It may omit `taskType`, pass a fixed value, or combine multiple requests without changing the component.
89
-
90
- ### Reuse the business adapter
91
-
92
- When multiple applications use the same data-center protocol, use `createRhDataCenterAdapter` to share response conversion, status messages, sorting, counts, and default download actions. The application still injects its own API functions; the package never receives an API URL.
93
-
94
- ```ts
95
- import {
96
- createRhDataCenterAdapter,
97
- type RhDataCenterCategory,
98
- } from 'rhjy-ui/data-center'
99
- import { clickDownloadBtByTaskId, getMyTaskList } from '@/services/dataCenter'
100
-
101
- const categories: RhDataCenterCategory[] = [
102
- { key: 'all', label: '全部任务', query: { taskType: 0 } },
103
- { key: 2, label: '数据导入', query: { taskType: 2 } },
104
- { key: 3, label: '数据导出', query: { taskType: 3 } },
105
- ]
106
-
107
- const { loadTasks, handleTaskAction } = createRhDataCenterAdapter({
108
- api: {
109
- getTaskList: getMyTaskList,
110
- downloadTask: ({ taskId }) => clickDownloadBtByTaskId({ taskId }),
111
- },
112
- categories,
113
- taskKind: { import: [2], export: [3] },
114
- })
115
215
  ```
116
216
 
117
- Use `parseResponse` when the application response wrapper or success rule differs. Use `mapTask` or `resolveActions` for an application-specific field or operation without changing the shared adapter. `RhDataCenter` remains responsible for polling; the adapter handles one query and one task action at a time.
118
-
119
- Use `sidebar-width` with a number or CSS size string to adjust the data type panel width. Its default value is `124px`.
120
-
121
- Category counts are optional and application-owned. Set `show-category-count` to `false` to hide every category count, or pass `category-counts` to display values before individual categories are loaded:
217
+ For business-specific styles, pass `custom-class`. The class is applied to both the trigger and the Teleport panel container, so it can scope overrides for the panel rendered under `body`:
122
218
 
123
219
  ```vue
124
220
  <RhDataCenter
221
+ class="after-school-data-center"
222
+ custom-class="restaurant-data-center"
125
223
  :categories="categories"
126
224
  :load-tasks="loadTasks"
127
225
  :show-category-count="true"
128
- :category-counts="{ all: 20, generate: 8, import: 4, export: 8 }"
226
+ :category-counts="categoryCounts"
129
227
  />
130
228
  ```
131
229
 
132
- When counts are enabled, the component uses `categoryCounts`, then a loaded result's `counts`, and finally the category result's `total`.
133
-
134
- When the backend provides a separate count endpoint, configure it on the shared adapter. The count request runs in parallel with each task-list refresh, so the sidebar stays synchronized with polling without moving API details into `RhDataCenter`:
230
+ ```scss
231
+ .restaurant-data-center {
232
+ .rh-data-center-panel__category.is-active {
233
+ color: #409eff;
234
+ }
135
235
 
136
- ```ts
137
- const { loadTasks, handleTaskAction } = createRhDataCenterAdapter<
138
- RawTask,
139
- TaskQuery,
140
- TaskListResponse,
141
- TaskCountResponse
142
- >({
143
- api: {
144
- getTaskList: requestTaskList,
145
- getTaskCounts: () => requestTaskCounts({ taskType: 0 }),
146
- },
147
- categories,
148
- parseResponse: (response) => response.data.list,
149
- parseCounts: (response) => ({
150
- all: response.data.totalTaskCount,
151
- import: response.data.taskCountList.find((item) => item.taskType === 2)?.taskCount ?? 0,
152
- }),
153
- })
236
+ .rh-data-center-panel__progressBar {
237
+ background: #409eff;
238
+ }
239
+ }
154
240
  ```
155
241
 
156
- `parseCounts` converts the shared backend response into category keys. If the count request or parser fails, the adapter keeps the task list available and falls back to `resolveCounts` or the loaded result totals.
157
-
158
- Task tags read `raw.taskTypeName` by default. When an API uses another field name, pass `task-tag-field` without changing the task adapter:
242
+ The existing `class` prop remains supported. If the consuming component uses `<style scoped>`, use `:deep()` for selectors inside the Teleport panel:
159
243
 
160
- ```vue
161
- <RhDataCenter
162
- :categories="categories"
163
- :load-tasks="loadTasks"
164
- task-tag-field="taskTypeName"
165
- />
244
+ ```scss
245
+ .restaurant-data-center {
246
+ :deep(.rh-data-center-panel__category.is-active) {
247
+ color: #409eff;
248
+ }
249
+ }
166
250
  ```
167
251
 
168
- ## Task tip flow
169
-
170
- Use `useRhDataCenter` after a page successfully creates a background task:
252
+ The task status icons use the built-in images by default. Use `status-icons` when a business needs different images; omitted statuses continue to use the defaults:
171
253
 
172
254
  ```vue
173
255
  <script setup lang="ts">
174
- import { RhDataCenterTip, useRhDataCenter } from 'rhjy-ui'
175
-
176
- const { tipVisible, tipConfig, showTip } = useRhDataCenter()
256
+ import successIcon from './images/data-center-success.png'
257
+ import failedIcon from './images/data-center-failed.png'
177
258
 
178
- const startExport = async () => {
179
- const result = await createExportTask()
180
- showTip({
181
- type: 'export',
182
- minutes: Number(result.minutes),
183
- title: '导出文件生成中,大概需要',
184
- content: '现在你可关闭弹框,去做其他事情了。',
185
- })
259
+ const statusIcons = {
260
+ success: successIcon,
261
+ failed: failedIcon,
186
262
  }
187
263
  </script>
188
264
 
189
265
  <template>
190
- <RhDataCenterTip v-model="tipVisible" v-bind="tipConfig" />
266
+ <RhDataCenter
267
+ :categories="categories"
268
+ :load-tasks="loadTasks"
269
+ :status-icons="statusIcons"
270
+ />
191
271
  </template>
192
272
  ```
193
273
 
194
- `RhDataCenterTip` 默认使用简化引导动画;需要使用带数据处理中心图片、手势和方向切换的引导时,可传入 `guideVariant="normal"` 或 `guideVariant="super"`。
195
-
196
- ## Standard task model
197
-
198
- The adapter returns `id`, `categoryKey`, `title`, `createdAt`, `progress`, and one of `waiting`, `processing`, `success`, or `failed`. Optional `tag`, `message`, `actions`, and `raw` provide display and application action context.
199
-
200
- For completed tasks with rejected records, pass the normalized `failCount` field. The task item keeps the completed progress bar, shows `失败记录(xx条)` in red, and hides the normal completion message when the count is zero. The application still supplies the failure-record action and handles its download event.
201
-
202
- For processing tasks, pass `taskSeconds` to show `总时长约X分XX秒` instead of the default processing message. If `taskSeconds` is omitted, the provided `message` is displayed.
203
-
204
- ## Styling
205
-
206
- Override CSS variables at the application root when needed:
207
-
208
- ```css
209
- :root {
210
- --rh-ui-data-center-primary: #00828a;
211
- --rh-ui-data-center-panel-width: 606px;
212
- --rh-ui-data-center-panel-height: 500px;
213
- }
214
- ```
274
+ The available keys are `waiting`, `processing`, `success`, and `failed`. The current default waiting, success, and failed icons keep their existing class name `rh-data-center-panel__progressStatusIcon`, so size and layout can also be overridden through `custom-class`.
215
275
 
216
276
  ## Build and publish
217
-
218
- After changing the source code or component assets, run the package script in the `rh-ui` directory to regenerate `dist`:
219
-
220
- ```bash
221
- cd D:\workfile\sass-workspace\packages\rh-ui
222
- npm run package
223
- ```
224
-
225
- The workspace equivalent is:
226
-
227
- ```bash
228
- pnpm --filter rhjy-ui package
229
- ```
230
-
231
- Before publishing, increment the package version without creating a Git tag:
232
-
233
- ```bash
234
- npm run version:patch
235
- ```
236
-
237
- Use `npm run version:minor` only for a backward-compatible feature release. You can inspect the files that will be published with:
238
-
239
- ```bash
240
- npm pack --dry-run
241
- ```
242
-
243
- After confirming the tarball contents, publish the public package:
244
-
245
- ```bash
246
- npm login --registry=https://registry.npmjs.org --auth-type=web
247
- npm publish --access public --registry=https://registry.npmjs.org
248
- ```
249
-
250
- If the account uses two-factor authentication, npm opens the browser authentication flow. After publishing, synchronize the school admin project from this package directory:
251
-
252
- ```bash
253
- cd D:\workfile\sass-workspace\packages\rh-ui
254
- npm run sync:wise-school-admin
255
- ```
256
-
257
- The script installs the latest public `rhjy-ui` release with an exact version and synchronizes `D:\workfile\wise-school-admin\package.json` and `package-lock.json`. It is intended for the fixed local workspace path; add another explicit `sync:<project>` script when a new application needs this workflow.
258
-
259
- ## Releases
260
-
261
- The package is published with compiled `dist` output. Consumers should use an explicit version such as `rhjy-ui@0.2.2`; application-specific API adapters remain in the consuming project.
277
+
278
+ After changing the source code or component assets, run the package script in the `rh-ui` directory to regenerate `dist`:
279
+
280
+ ```bash
281
+ cd D:\workfile\sass-workspace\packages\rh-ui
282
+ npm run package
283
+ ```
284
+
285
+ The workspace equivalent is:
286
+
287
+ ```bash
288
+ pnpm --filter rhjy-ui package
289
+ ```
290
+
291
+ Before publishing, increment the package version without creating a Git tag:
292
+
293
+ ```bash
294
+ npm run version:patch
295
+ ```
296
+
297
+ Use `npm run version:minor` only for a backward-compatible feature release. You can inspect the files that will be published with:
298
+
299
+ ```bash
300
+ npm pack --dry-run
301
+ ```
302
+
303
+ After confirming the tarball contents, publish the public package:
304
+
305
+ ```bash
306
+ npm login --registry=https://registry.npmjs.org --auth-type=web
307
+ npm publish --access public --registry=https://registry.npmjs.org
308
+ ```
309
+
310
+ If the account uses two-factor authentication, npm opens the browser authentication flow. After publishing, synchronize the school admin project from this package directory:
311
+
312
+ ```bash
313
+ cd D:\workfile\sass-workspace\packages\rh-ui
314
+ npm run sync:wise-school-admin
315
+ ```
316
+
317
+ The script installs the latest public `rhjy-ui` release with an exact version and synchronizes `D:\workfile\wise-school-admin\package.json` and `package-lock.json`. It is intended for the fixed local workspace path; add another explicit `sync:<project>` script when a new application needs this workflow.
318
+
319
+ ## Releases
320
+
321
+ The package is published with compiled `dist` output. Consumers should use an explicit version such as `rhjy-ui@0.2.2`; application-specific API adapters remain in the consuming project.
@@ -1,4 +1,4 @@
1
- import { RhDataCenterCategory, RhDataCenterLoadTasks, RhDataCenterTaskActionPayload } from './types';
1
+ import { RhDataCenterCategory, RhDataCenterLoadTasks, RhDataCenterStatusIcons, RhDataCenterTaskActionPayload } from './types';
2
2
 
3
3
  declare function __VLS_template(): {
4
4
  trigger?(_: {
@@ -36,6 +36,7 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
36
36
  panelHeight?: string | number;
37
37
  sidebarWidth?: string | number;
38
38
  taskTagField?: string;
39
+ statusIcons?: RhDataCenterStatusIcons;
39
40
  panelRight?: string | number;
40
41
  pollInterval?: number;
41
42
  refreshOnOpen?: boolean;
@@ -44,6 +45,7 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
44
45
  categoryCounts?: Record<string, number>;
45
46
  icon?: string;
46
47
  activeIcon?: string;
48
+ customClass?: string;
47
49
  }>, {
48
50
  modelValue: any;
49
51
  label: string;
@@ -58,6 +60,7 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
58
60
  showCategoryCount: boolean;
59
61
  icon: string;
60
62
  activeIcon: string;
63
+ customClass: string;
61
64
  }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
62
65
  "update:modelValue": (value: boolean) => void;
63
66
  open: () => void;
@@ -74,6 +77,7 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
74
77
  panelHeight?: string | number;
75
78
  sidebarWidth?: string | number;
76
79
  taskTagField?: string;
80
+ statusIcons?: RhDataCenterStatusIcons;
77
81
  panelRight?: string | number;
78
82
  pollInterval?: number;
79
83
  refreshOnOpen?: boolean;
@@ -82,6 +86,7 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
82
86
  categoryCounts?: Record<string, number>;
83
87
  icon?: string;
84
88
  activeIcon?: string;
89
+ customClass?: string;
85
90
  }>, {
86
91
  modelValue: any;
87
92
  label: string;
@@ -96,6 +101,7 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
96
101
  showCategoryCount: boolean;
97
102
  icon: string;
98
103
  activeIcon: string;
104
+ customClass: string;
99
105
  }>>> & Readonly<{
100
106
  onClose?: () => any;
101
107
  onRefresh?: (category: RhDataCenterCategory) => any;
@@ -117,6 +123,7 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
117
123
  closeOnClickOutside: boolean;
118
124
  icon: string;
119
125
  activeIcon: string;
126
+ customClass: string;
120
127
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
121
128
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
122
129
  export default _default;
@@ -1,4 +1,4 @@
1
- import { RhDataCenterCategory, RhDataCenterLoadTasks, RhDataCenterTask, RhDataCenterTaskActionPayload, RhDataCenterTaskResult } from './types';
1
+ import { RhDataCenterCategory, RhDataCenterLoadTasks, RhDataCenterStatusIcons, RhDataCenterTask, RhDataCenterTaskActionPayload, RhDataCenterTaskResult } from './types';
2
2
 
3
3
  declare function __VLS_template(): {
4
4
  header?(_: {
@@ -27,6 +27,7 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
27
27
  activeCategoryKey?: string | number;
28
28
  sidebarWidth?: string | number;
29
29
  taskTagField?: string;
30
+ statusIcons?: RhDataCenterStatusIcons;
30
31
  closeable?: boolean;
31
32
  showTotal?: boolean;
32
33
  showCategoryCount?: boolean;
@@ -53,6 +54,7 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
53
54
  activeCategoryKey?: string | number;
54
55
  sidebarWidth?: string | number;
55
56
  taskTagField?: string;
57
+ statusIcons?: RhDataCenterStatusIcons;
56
58
  closeable?: boolean;
57
59
  showTotal?: boolean;
58
60
  showCategoryCount?: boolean;
@@ -1,11 +1,13 @@
1
- import { RhDataCenterTask } from '../types';
1
+ import { RhDataCenterStatusIcons, RhDataCenterTask } from '../types';
2
2
 
3
3
  declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
4
4
  task: RhDataCenterTask;
5
+ statusIcons?: RhDataCenterStatusIcons;
5
6
  }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
6
7
  action: (action: string) => void;
7
8
  }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
8
9
  task: RhDataCenterTask;
10
+ statusIcons?: RhDataCenterStatusIcons;
9
11
  }>>> & Readonly<{
10
12
  onAction?: (action: string) => any;
11
13
  }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;