workdesktop-ai 1.0.1 → 1.1.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 (224) hide show
  1. package/CHANGELOG.md +155 -61
  2. package/README.md +123 -25
  3. package/dist/api-button/index.mjs +7 -0
  4. package/dist/api-button/index.mjs.map +1 -0
  5. package/dist/assets/Select-CNzSyvlZ.css +1 -0
  6. package/dist/auto-complete/index.mjs +7 -0
  7. package/dist/auto-complete/index.mjs.map +1 -0
  8. package/dist/auto-complete/style.css +1 -0
  9. package/dist/base.css +1 -0
  10. package/dist/checkbox-list/index.mjs +7 -0
  11. package/dist/checkbox-list/index.mjs.map +1 -0
  12. package/dist/checkbox-list/style.css +1 -0
  13. package/dist/chunks/ApiButton.vue_vue_type_script_setup_true_lang-CweWFfDE.mjs +80 -0
  14. package/dist/chunks/ApiButton.vue_vue_type_script_setup_true_lang-CweWFfDE.mjs.map +1 -0
  15. package/dist/chunks/AutoComplete-B_L169hU.mjs +80 -0
  16. package/dist/chunks/AutoComplete-B_L169hU.mjs.map +1 -0
  17. package/dist/chunks/CheckboxList-bPqpbd8d.mjs +129 -0
  18. package/dist/chunks/CheckboxList-bPqpbd8d.mjs.map +1 -0
  19. package/dist/chunks/ConfirmButton.vue_vue_type_script_setup_true_lang-DpdMPkka.mjs +99 -0
  20. package/dist/chunks/ConfirmButton.vue_vue_type_script_setup_true_lang-DpdMPkka.mjs.map +1 -0
  21. package/dist/chunks/DataForm-C6UW92Ds.mjs +305 -0
  22. package/dist/chunks/DataForm-C6UW92Ds.mjs.map +1 -0
  23. package/dist/chunks/DataGrid-BhgND4G_.mjs +1124 -0
  24. package/dist/chunks/DataGrid-BhgND4G_.mjs.map +1 -0
  25. package/dist/chunks/DialogButton.vue_vue_type_script_setup_true_lang-CTXP79zc.mjs +117 -0
  26. package/dist/chunks/DialogButton.vue_vue_type_script_setup_true_lang-CTXP79zc.mjs.map +1 -0
  27. package/dist/chunks/Drawer-ucXKUecL.mjs +259 -0
  28. package/dist/chunks/Drawer-ucXKUecL.mjs.map +1 -0
  29. package/dist/chunks/DrawerButton.vue_vue_type_script_setup_true_lang-DUda4p7_.mjs +125 -0
  30. package/dist/chunks/DrawerButton.vue_vue_type_script_setup_true_lang-DUda4p7_.mjs.map +1 -0
  31. package/dist/chunks/EditableGrid-Cx7ScWkW.mjs +1783 -0
  32. package/dist/chunks/EditableGrid-Cx7ScWkW.mjs.map +1 -0
  33. package/dist/chunks/FormItem-C1q0opnk.mjs +79 -0
  34. package/dist/chunks/FormItem-C1q0opnk.mjs.map +1 -0
  35. package/dist/chunks/Iframe-CeSiMnvR.mjs +65 -0
  36. package/dist/chunks/Iframe-CeSiMnvR.mjs.map +1 -0
  37. package/dist/chunks/ImageUpload-D3JGJjVO.mjs +193 -0
  38. package/dist/chunks/ImageUpload-D3JGJjVO.mjs.map +1 -0
  39. package/dist/chunks/Panel-d4chdlTA.mjs +113 -0
  40. package/dist/chunks/Panel-d4chdlTA.mjs.map +1 -0
  41. package/dist/chunks/PromptButton.vue_vue_type_script_setup_true_lang-BqoNAUoo.mjs +118 -0
  42. package/dist/chunks/PromptButton.vue_vue_type_script_setup_true_lang-BqoNAUoo.mjs.map +1 -0
  43. package/dist/chunks/RadioList-DT-8WSN2.mjs +129 -0
  44. package/dist/chunks/RadioList-DT-8WSN2.mjs.map +1 -0
  45. package/dist/chunks/Requester.vue_vue_type_script_setup_true_lang-5B1V-53c.mjs +80 -0
  46. package/dist/chunks/Requester.vue_vue_type_script_setup_true_lang-5B1V-53c.mjs.map +1 -0
  47. package/dist/chunks/RouteButton.vue_vue_type_script_setup_true_lang-Da0D3tKA.mjs +73 -0
  48. package/dist/chunks/RouteButton.vue_vue_type_script_setup_true_lang-Da0D3tKA.mjs.map +1 -0
  49. package/dist/chunks/SearchItem-pFO57lEO.mjs +79 -0
  50. package/dist/chunks/SearchItem-pFO57lEO.mjs.map +1 -0
  51. package/dist/chunks/SearchPanel-xQ1hPaNq.mjs +158 -0
  52. package/dist/chunks/SearchPanel-xQ1hPaNq.mjs.map +1 -0
  53. package/dist/chunks/Select-CMw-tWYm.mjs +114 -0
  54. package/dist/chunks/Select-CMw-tWYm.mjs.map +1 -0
  55. package/dist/chunks/Station-BF_QlQ8c.mjs +796 -0
  56. package/dist/chunks/Station-BF_QlQ8c.mjs.map +1 -0
  57. package/dist/chunks/Switch.vue_vue_type_script_setup_true_lang-CCU_d3jW.mjs +71 -0
  58. package/dist/chunks/Switch.vue_vue_type_script_setup_true_lang-CCU_d3jW.mjs.map +1 -0
  59. package/dist/chunks/Tips-IWCZcR1K.mjs +63 -0
  60. package/dist/chunks/Tips-IWCZcR1K.mjs.map +1 -0
  61. package/dist/chunks/TipsButton.vue_vue_type_script_setup_true_lang-DvcpRSV1.mjs +51 -0
  62. package/dist/chunks/TipsButton.vue_vue_type_script_setup_true_lang-DvcpRSV1.mjs.map +1 -0
  63. package/dist/chunks/Upload.vue_vue_type_script_setup_true_lang-CkxGO85H.mjs +200 -0
  64. package/dist/chunks/Upload.vue_vue_type_script_setup_true_lang-CkxGO85H.mjs.map +1 -0
  65. package/dist/chunks/Viewer-COLbtcgF.mjs +381 -0
  66. package/dist/chunks/Viewer-COLbtcgF.mjs.map +1 -0
  67. package/dist/chunks/_plugin-vue_export-helper-CHgC5LLL.mjs +10 -0
  68. package/dist/chunks/_plugin-vue_export-helper-CHgC5LLL.mjs.map +1 -0
  69. package/dist/chunks/containerContext-BgphFDeH.mjs +13 -0
  70. package/dist/chunks/containerContext-BgphFDeH.mjs.map +1 -0
  71. package/dist/chunks/http-DUPsbs2K.mjs +2951 -0
  72. package/dist/chunks/http-DUPsbs2K.mjs.map +1 -0
  73. package/dist/chunks/linkage-FbL1mcz3.mjs +66 -0
  74. package/dist/chunks/linkage-FbL1mcz3.mjs.map +1 -0
  75. package/dist/chunks/props-DAytpx7D.mjs +65 -0
  76. package/dist/chunks/props-DAytpx7D.mjs.map +1 -0
  77. package/dist/chunks/useApiAction-C1CdKGjt.mjs +30 -0
  78. package/dist/chunks/useApiAction-C1CdKGjt.mjs.map +1 -0
  79. package/dist/chunks/useColumnSettings-BDtF5-8R.mjs +216 -0
  80. package/dist/chunks/useColumnSettings-BDtF5-8R.mjs.map +1 -0
  81. package/dist/chunks/useOptionsLoader-D0RTB_ar.mjs +64 -0
  82. package/dist/chunks/useOptionsLoader-D0RTB_ar.mjs.map +1 -0
  83. package/dist/confirm-button/index.mjs +7 -0
  84. package/dist/confirm-button/index.mjs.map +1 -0
  85. package/dist/data-form/index.mjs +7 -0
  86. package/dist/data-form/index.mjs.map +1 -0
  87. package/dist/data-form/style.css +1 -0
  88. package/dist/data-grid/index.mjs +7 -0
  89. package/dist/data-grid/index.mjs.map +1 -0
  90. package/dist/data-grid/style.css +1 -0
  91. package/dist/dialog-button/index.mjs +7 -0
  92. package/dist/dialog-button/index.mjs.map +1 -0
  93. package/dist/drawer/index.mjs +7 -0
  94. package/dist/drawer/index.mjs.map +1 -0
  95. package/dist/drawer/style.css +1 -0
  96. package/dist/drawer-button/index.mjs +7 -0
  97. package/dist/drawer-button/index.mjs.map +1 -0
  98. package/dist/editable-grid/index.mjs +7 -0
  99. package/dist/editable-grid/index.mjs.map +1 -0
  100. package/dist/editable-grid/style.css +1 -0
  101. package/dist/form-item/index.mjs +7 -0
  102. package/dist/form-item/index.mjs.map +1 -0
  103. package/dist/form-item/style.css +1 -0
  104. package/dist/iframe/index.mjs +7 -0
  105. package/dist/iframe/index.mjs.map +1 -0
  106. package/dist/iframe/style.css +1 -0
  107. package/dist/image-upload/index.mjs +7 -0
  108. package/dist/image-upload/index.mjs.map +1 -0
  109. package/dist/image-upload/style.css +1 -0
  110. package/dist/index.esm.js +318 -6474
  111. package/dist/index.esm.js.map +1 -1
  112. package/dist/index.umd.js +20 -9
  113. package/dist/index.umd.js.map +1 -1
  114. package/dist/panel/index.mjs +7 -0
  115. package/dist/panel/index.mjs.map +1 -0
  116. package/dist/panel/style.css +1 -0
  117. package/dist/prompt-button/index.mjs +7 -0
  118. package/dist/prompt-button/index.mjs.map +1 -0
  119. package/dist/radio-list/index.mjs +7 -0
  120. package/dist/radio-list/index.mjs.map +1 -0
  121. package/dist/radio-list/style.css +1 -0
  122. package/dist/requester/index.mjs +7 -0
  123. package/dist/requester/index.mjs.map +1 -0
  124. package/dist/route-button/index.mjs +7 -0
  125. package/dist/route-button/index.mjs.map +1 -0
  126. package/dist/search-item/index.mjs +7 -0
  127. package/dist/search-item/index.mjs.map +1 -0
  128. package/dist/search-item/style.css +1 -0
  129. package/dist/search-panel/index.mjs +7 -0
  130. package/dist/search-panel/index.mjs.map +1 -0
  131. package/dist/search-panel/style.css +1 -0
  132. package/dist/select/index.mjs +7 -0
  133. package/dist/select/index.mjs.map +1 -0
  134. package/dist/station/index.mjs +7 -0
  135. package/dist/station/index.mjs.map +1 -0
  136. package/dist/station/style.css +1 -0
  137. package/dist/style.css +1 -1
  138. package/dist/switch/index.mjs +7 -0
  139. package/dist/switch/index.mjs.map +1 -0
  140. package/dist/tips/index.mjs +7 -0
  141. package/dist/tips/index.mjs.map +1 -0
  142. package/dist/tips/style.css +1 -0
  143. package/dist/tips-button/index.mjs +7 -0
  144. package/dist/tips-button/index.mjs.map +1 -0
  145. package/dist/types/src/components/buttons/ApiButton.vue.d.ts +41 -3
  146. package/dist/types/src/components/buttons/ConfirmButton.vue.d.ts +43 -5
  147. package/dist/types/src/components/buttons/DialogButton.vue.d.ts +89 -29
  148. package/dist/types/src/components/buttons/DrawerButton.vue.d.ts +99 -31
  149. package/dist/types/src/components/buttons/PopconfirmButton.vue.d.ts +317 -0
  150. package/dist/types/src/components/buttons/PromptButton.vue.d.ts +51 -11
  151. package/dist/types/src/components/buttons/RouteButton.vue.d.ts +40 -2
  152. package/dist/types/src/components/buttons/TipsButton.vue.d.ts +14 -12
  153. package/dist/types/src/components/common/props.d.ts +37 -0
  154. package/dist/types/src/components/containers/Drawer.vue.d.ts +61 -8
  155. package/dist/types/src/components/containers/Iframe.vue.d.ts +39 -2
  156. package/dist/types/src/components/containers/containerContext.d.ts +1 -1
  157. package/dist/types/src/components/containers/useContainerController.d.ts +5 -0
  158. package/dist/types/src/components/containers/useIframeContainer.d.ts +20 -0
  159. package/dist/types/src/components/core/Requester.vue.d.ts +41 -0
  160. package/dist/types/src/components/data/datagrid/DataGrid.vue.d.ts +212 -5
  161. package/dist/types/src/components/data/datagrid/useColumnSettings.d.ts +14 -0
  162. package/dist/types/src/components/data/editable-grid/EditableGrid.vue.d.ts +586 -0
  163. package/dist/types/src/components/data/viewer/Viewer.vue.d.ts +187 -0
  164. package/dist/types/src/components/form/FormItem.vue.d.ts +62 -0
  165. package/dist/types/src/components/form/SearchItem.vue.d.ts +62 -0
  166. package/dist/types/src/components/{containers → form}/SearchPanel.vue.d.ts +17 -2
  167. package/dist/types/src/components/form/data-form/DataForm.vue.d.ts +6 -6
  168. package/dist/types/src/components/index.d.ts +10 -6
  169. package/dist/types/src/components/inputs/AutoComplete.vue.d.ts +12 -3
  170. package/dist/types/src/components/inputs/CheckboxList.vue.d.ts +28 -3
  171. package/dist/types/src/components/inputs/RadioList.vue.d.ts +28 -3
  172. package/dist/types/src/components/inputs/Select.vue.d.ts +11 -1
  173. package/dist/types/src/components/inputs/Switch.vue.d.ts +2 -2
  174. package/dist/types/src/components/inputs/useOptionsLoader.d.ts +3 -0
  175. package/dist/types/src/components/layout/Station.vue.d.ts +302 -0
  176. package/dist/types/src/components/layout/StationMenuNode.vue.d.ts +20 -0
  177. package/dist/types/src/components/layout/types.d.ts +54 -0
  178. package/dist/types/src/components/styles/Panel.vue.d.ts +47 -5
  179. package/dist/types/src/components/upload/ImageUpload.vue.d.ts +9 -9
  180. package/dist/types/src/components/upload/Upload.vue.d.ts +1 -1
  181. package/dist/types/src/entries/api-button.d.ts +9 -0
  182. package/dist/types/src/entries/auto-complete.d.ts +9 -0
  183. package/dist/types/src/entries/checkbox-list.d.ts +9 -0
  184. package/dist/types/src/entries/components-map.d.ts +8 -0
  185. package/dist/types/src/entries/confirm-button.d.ts +9 -0
  186. package/dist/types/src/entries/data-form.d.ts +9 -0
  187. package/dist/types/src/entries/data-grid.d.ts +9 -0
  188. package/dist/types/src/entries/dialog-button.d.ts +9 -0
  189. package/dist/types/src/entries/drawer-button.d.ts +9 -0
  190. package/dist/types/src/entries/drawer.d.ts +9 -0
  191. package/dist/types/src/entries/editable-grid.d.ts +9 -0
  192. package/dist/types/src/entries/form-item.d.ts +9 -0
  193. package/dist/types/src/entries/iframe.d.ts +9 -0
  194. package/dist/types/src/entries/image-upload.d.ts +9 -0
  195. package/dist/types/src/entries/panel.d.ts +9 -0
  196. package/dist/types/src/entries/prompt-button.d.ts +9 -0
  197. package/dist/types/src/entries/radio-list.d.ts +9 -0
  198. package/dist/types/src/entries/requester.d.ts +9 -0
  199. package/dist/types/src/entries/route-button.d.ts +9 -0
  200. package/dist/types/src/entries/search-item.d.ts +9 -0
  201. package/dist/types/src/entries/search-panel.d.ts +9 -0
  202. package/dist/types/src/entries/select.d.ts +9 -0
  203. package/dist/types/src/entries/station.d.ts +9 -0
  204. package/dist/types/src/entries/switch.d.ts +9 -0
  205. package/dist/types/src/entries/tips-button.d.ts +9 -0
  206. package/dist/types/src/entries/tips.d.ts +9 -0
  207. package/dist/types/src/entries/upload.d.ts +9 -0
  208. package/dist/types/src/entries/viewer.d.ts +9 -0
  209. package/dist/types/src/index.d.ts +2 -1
  210. package/dist/types/src/lib/composables/useConfig.d.ts +1 -1
  211. package/dist/types/src/lib/composables/useDataGrid.d.ts +15 -0
  212. package/dist/types/src/lib/core/http.d.ts +21 -4
  213. package/dist/types/src/lib/core/station-linkage.d.ts +41 -0
  214. package/dist/types/src/types/config.d.ts +21 -4
  215. package/dist/types/vite.config.d.ts +6 -1
  216. package/dist/upload/index.mjs +7 -0
  217. package/dist/upload/index.mjs.map +1 -0
  218. package/dist/viewer/index.mjs +7 -0
  219. package/dist/viewer/index.mjs.map +1 -0
  220. package/dist/viewer/style.css +1 -0
  221. package/package.json +199 -68
  222. package/dist/types/src/components/containers/Dialog.vue.d.ts +0 -112
  223. package/dist/types/src/components/data/editable-table/EditableTable.vue.d.ts +0 -306
  224. package/dist/types/src/components/utils/Viewer.vue.d.ts +0 -131
@@ -3,6 +3,7 @@ declare var __VLS_14: {
3
3
  option: Record<string, any>;
4
4
  text: string;
5
5
  value: any;
6
+ tips: string;
6
7
  };
7
8
  type __VLS_Slots = {} & {
8
9
  default?: (props: typeof __VLS_14) => any;
@@ -51,6 +52,10 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
51
52
  type: StringConstructor;
52
53
  default: string;
53
54
  };
55
+ tipsProp: {
56
+ type: StringConstructor;
57
+ default: string;
58
+ };
54
59
  addData: {
55
60
  type: PropType<any[]>;
56
61
  default: undefined;
@@ -118,6 +123,10 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
118
123
  type: StringConstructor;
119
124
  default: string;
120
125
  };
126
+ tipsProp: {
127
+ type: StringConstructor;
128
+ default: string;
129
+ };
121
130
  addData: {
122
131
  type: PropType<any[]>;
123
132
  default: undefined;
@@ -143,7 +152,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
143
152
  onChange?: ((...args: any[]) => any) | undefined;
144
153
  }>, {
145
154
  api: string;
146
- apiMethod: "get" | "post";
155
+ apiMethod: "post" | "get";
147
156
  apiParam: Record<string, any>;
148
157
  active: boolean;
149
158
  dataSource: any[];
@@ -154,6 +163,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
154
163
  keywordKey: string;
155
164
  textProp: string;
156
165
  valueProp: string;
166
+ tipsProp: string;
157
167
  addData: any[];
158
168
  appendData: any[];
159
169
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -104,12 +104,12 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
104
104
  }>, {
105
105
  filter: string;
106
106
  api: string;
107
- apiMethod: "delete" | "get" | "post" | "put";
107
+ apiMethod: "post" | "delete" | "get" | "put";
108
108
  apiParam: Record<string, any>;
109
109
  modelValue: any;
110
+ tips: string;
110
111
  headRefreshDatagrid: string | boolean;
111
112
  paramKey: string;
112
- tips: string;
113
113
  activeValue: string | number | boolean;
114
114
  inactiveValue: string | number | boolean;
115
115
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -10,6 +10,7 @@ export interface UseOptionsOptions {
10
10
  dataSource: Ref<any[] | undefined>;
11
11
  textProp: Ref<string>;
12
12
  valueProp: Ref<string>;
13
+ tipsProp?: Ref<string>;
13
14
  addData: Ref<any[] | undefined>;
14
15
  appendData: Ref<any[] | undefined>;
15
16
  emit: (event: any, ...args: any[]) => void;
@@ -17,6 +18,8 @@ export interface UseOptionsOptions {
17
18
  export interface NormalizedOption {
18
19
  text: string;
19
20
  value: any;
21
+ /** 悬停提示内容(取 tipsProp 字段,无则为空字符串) */
22
+ tips: string;
20
23
  /** 原始数据(默认插槽上下文 { option }) */
21
24
  raw: Record<string, any>;
22
25
  }
@@ -0,0 +1,302 @@
1
+ import { type PropType } from 'vue';
2
+ import type { StationTab, StationToolbarConfig } from './types';
3
+ declare function openTab(tab: any): void;
4
+ declare function closeTab(key: string): void;
5
+ declare function refresh(): void;
6
+ declare var __VLS_1: {
7
+ collapsed: boolean;
8
+ }, __VLS_11: {
9
+ collapsed: boolean;
10
+ }, __VLS_46: {
11
+ collapsed: boolean;
12
+ }, __VLS_72: {
13
+ collapsed: boolean;
14
+ }, __VLS_134: {}, __VLS_144: {}, __VLS_146: {}, __VLS_200: {}, __VLS_213: {}, __VLS_215: {}, __VLS_285: {}, __VLS_299: {}, __VLS_301: {};
15
+ type __VLS_Slots = {} & {
16
+ logo?: (props: typeof __VLS_1) => any;
17
+ } & {
18
+ 'menu-top'?: (props: typeof __VLS_11) => any;
19
+ } & {
20
+ 'menu-bottom'?: (props: typeof __VLS_46) => any;
21
+ } & {
22
+ logo?: (props: typeof __VLS_72) => any;
23
+ } & {
24
+ 'header-left'?: (props: typeof __VLS_134) => any;
25
+ } & {
26
+ 'header-center'?: (props: typeof __VLS_144) => any;
27
+ } & {
28
+ 'header-right'?: (props: typeof __VLS_146) => any;
29
+ } & {
30
+ 'top-menu-left'?: (props: typeof __VLS_200) => any;
31
+ } & {
32
+ 'top-menu-right'?: (props: typeof __VLS_213) => any;
33
+ } & {
34
+ 'tabs-left'?: (props: typeof __VLS_215) => any;
35
+ } & {
36
+ 'tabs-right'?: (props: typeof __VLS_285) => any;
37
+ } & {
38
+ default?: (props: typeof __VLS_299) => any;
39
+ } & {
40
+ footer?: (props: typeof __VLS_301) => any;
41
+ };
42
+ declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
43
+ /** 系统标题(logo 区 / headerMode=title 时的头部标题) */
44
+ title: {
45
+ type: StringConstructor;
46
+ default: string;
47
+ };
48
+ /** logo 图标(@element-plus/icons-vue 名称字符串,或直接传组件) */
49
+ logo: {
50
+ type: PropType<string | object>;
51
+ default: string;
52
+ };
53
+ /** 分组菜单结构(优先),支持 JSON 字符串 */
54
+ menuGroups: {
55
+ type: PropType<any[] | string>;
56
+ default: undefined;
57
+ };
58
+ /** 扁平菜单结构(带 group/groupKey 字段按出现顺序归组),支持 JSON 字符串 */
59
+ menus: {
60
+ type: PropType<any[] | string>;
61
+ default: undefined;
62
+ };
63
+ /** 头部中央模式:nav=分导台 / title=标题(此时侧边渲染全量菜单并带组标题) */
64
+ headerMode: {
65
+ type: PropType<"nav" | "title">;
66
+ default: string;
67
+ };
68
+ /** 菜单位置:side=左侧 / top=顶部 / none=不启用 */
69
+ menuMode: {
70
+ type: PropType<"side" | "top" | "none">;
71
+ default: string;
72
+ };
73
+ /** 内容方式:page=单页 / tabs=多标签 */
74
+ contentMode: {
75
+ type: PropType<"page" | "tabs">;
76
+ default: string;
77
+ };
78
+ /** 路由适配:auto=自动检测 $router / router / html */
79
+ routerMode: {
80
+ type: PropType<"auto" | "router" | "html">;
81
+ default: string;
82
+ };
83
+ /** 是否显示折叠按钮 */
84
+ collapsible: {
85
+ type: BooleanConstructor;
86
+ default: boolean;
87
+ };
88
+ /** 折叠状态(v-model:collapsed) */
89
+ collapsed: {
90
+ type: BooleanConstructor;
91
+ default: boolean;
92
+ };
93
+ /** 当前分组 key(v-model:active-group) */
94
+ activeGroup: {
95
+ type: StringConstructor;
96
+ default: string;
97
+ };
98
+ /** 当前菜单 key(v-model:active-menu) */
99
+ activeMenu: {
100
+ type: StringConstructor;
101
+ default: string;
102
+ };
103
+ /** 已开启标签(v-model:open-tabs,受控) */
104
+ openTabs: {
105
+ type: PropType<StationTab[]>;
106
+ default: undefined;
107
+ };
108
+ /** 用户名(有值显示用户下拉,无值显示登录按钮) */
109
+ userName: {
110
+ type: StringConstructor;
111
+ default: string;
112
+ };
113
+ /** 用户头像地址 */
114
+ userAvatar: {
115
+ type: StringConstructor;
116
+ default: string;
117
+ };
118
+ /** 版权信息 */
119
+ copyright: {
120
+ type: StringConstructor;
121
+ default: string;
122
+ };
123
+ /** 底部动态信息(v-model:footer-info) */
124
+ footerInfo: {
125
+ type: StringConstructor;
126
+ default: string;
127
+ };
128
+ /** router 模式内容区 keep-alive */
129
+ keepAlive: {
130
+ type: BooleanConstructor;
131
+ default: boolean;
132
+ };
133
+ /** 工具栏点位配置:refresh/settings/user/login 各自 left/right/none,支持 JSON 字符串 */
134
+ toolbarConfig: {
135
+ type: PropType<StationToolbarConfig | string>;
136
+ default: undefined;
137
+ };
138
+ filter: {
139
+ type: StringConstructor;
140
+ default: string;
141
+ };
142
+ }>, {
143
+ refresh: typeof refresh;
144
+ openTab: typeof openTab;
145
+ closeTab: typeof closeTab;
146
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
147
+ refresh: (...args: any[]) => void;
148
+ "update:collapsed": (...args: any[]) => void;
149
+ "update:active-group": (...args: any[]) => void;
150
+ "update:active-menu": (...args: any[]) => void;
151
+ "update:open-tabs": (...args: any[]) => void;
152
+ "update:footer-info": (...args: any[]) => void;
153
+ "group-change": (...args: any[]) => void;
154
+ "menu-select": (...args: any[]) => void;
155
+ "tab-click": (...args: any[]) => void;
156
+ "tab-close": (...args: any[]) => void;
157
+ login: (...args: any[]) => void;
158
+ logout: (...args: any[]) => void;
159
+ settings: (...args: any[]) => void;
160
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
161
+ /** 系统标题(logo 区 / headerMode=title 时的头部标题) */
162
+ title: {
163
+ type: StringConstructor;
164
+ default: string;
165
+ };
166
+ /** logo 图标(@element-plus/icons-vue 名称字符串,或直接传组件) */
167
+ logo: {
168
+ type: PropType<string | object>;
169
+ default: string;
170
+ };
171
+ /** 分组菜单结构(优先),支持 JSON 字符串 */
172
+ menuGroups: {
173
+ type: PropType<any[] | string>;
174
+ default: undefined;
175
+ };
176
+ /** 扁平菜单结构(带 group/groupKey 字段按出现顺序归组),支持 JSON 字符串 */
177
+ menus: {
178
+ type: PropType<any[] | string>;
179
+ default: undefined;
180
+ };
181
+ /** 头部中央模式:nav=分导台 / title=标题(此时侧边渲染全量菜单并带组标题) */
182
+ headerMode: {
183
+ type: PropType<"nav" | "title">;
184
+ default: string;
185
+ };
186
+ /** 菜单位置:side=左侧 / top=顶部 / none=不启用 */
187
+ menuMode: {
188
+ type: PropType<"side" | "top" | "none">;
189
+ default: string;
190
+ };
191
+ /** 内容方式:page=单页 / tabs=多标签 */
192
+ contentMode: {
193
+ type: PropType<"page" | "tabs">;
194
+ default: string;
195
+ };
196
+ /** 路由适配:auto=自动检测 $router / router / html */
197
+ routerMode: {
198
+ type: PropType<"auto" | "router" | "html">;
199
+ default: string;
200
+ };
201
+ /** 是否显示折叠按钮 */
202
+ collapsible: {
203
+ type: BooleanConstructor;
204
+ default: boolean;
205
+ };
206
+ /** 折叠状态(v-model:collapsed) */
207
+ collapsed: {
208
+ type: BooleanConstructor;
209
+ default: boolean;
210
+ };
211
+ /** 当前分组 key(v-model:active-group) */
212
+ activeGroup: {
213
+ type: StringConstructor;
214
+ default: string;
215
+ };
216
+ /** 当前菜单 key(v-model:active-menu) */
217
+ activeMenu: {
218
+ type: StringConstructor;
219
+ default: string;
220
+ };
221
+ /** 已开启标签(v-model:open-tabs,受控) */
222
+ openTabs: {
223
+ type: PropType<StationTab[]>;
224
+ default: undefined;
225
+ };
226
+ /** 用户名(有值显示用户下拉,无值显示登录按钮) */
227
+ userName: {
228
+ type: StringConstructor;
229
+ default: string;
230
+ };
231
+ /** 用户头像地址 */
232
+ userAvatar: {
233
+ type: StringConstructor;
234
+ default: string;
235
+ };
236
+ /** 版权信息 */
237
+ copyright: {
238
+ type: StringConstructor;
239
+ default: string;
240
+ };
241
+ /** 底部动态信息(v-model:footer-info) */
242
+ footerInfo: {
243
+ type: StringConstructor;
244
+ default: string;
245
+ };
246
+ /** router 模式内容区 keep-alive */
247
+ keepAlive: {
248
+ type: BooleanConstructor;
249
+ default: boolean;
250
+ };
251
+ /** 工具栏点位配置:refresh/settings/user/login 各自 left/right/none,支持 JSON 字符串 */
252
+ toolbarConfig: {
253
+ type: PropType<StationToolbarConfig | string>;
254
+ default: undefined;
255
+ };
256
+ filter: {
257
+ type: StringConstructor;
258
+ default: string;
259
+ };
260
+ }>> & Readonly<{
261
+ onRefresh?: ((...args: any[]) => any) | undefined;
262
+ "onUpdate:collapsed"?: ((...args: any[]) => any) | undefined;
263
+ "onUpdate:active-group"?: ((...args: any[]) => any) | undefined;
264
+ "onUpdate:active-menu"?: ((...args: any[]) => any) | undefined;
265
+ "onUpdate:open-tabs"?: ((...args: any[]) => any) | undefined;
266
+ "onUpdate:footer-info"?: ((...args: any[]) => any) | undefined;
267
+ "onGroup-change"?: ((...args: any[]) => any) | undefined;
268
+ "onMenu-select"?: ((...args: any[]) => any) | undefined;
269
+ "onTab-click"?: ((...args: any[]) => any) | undefined;
270
+ "onTab-close"?: ((...args: any[]) => any) | undefined;
271
+ onLogin?: ((...args: any[]) => any) | undefined;
272
+ onLogout?: ((...args: any[]) => any) | undefined;
273
+ onSettings?: ((...args: any[]) => any) | undefined;
274
+ }>, {
275
+ title: string;
276
+ filter: string;
277
+ collapsible: boolean;
278
+ logo: string | object;
279
+ menuGroups: string | any[];
280
+ menus: string | any[];
281
+ headerMode: "nav" | "title";
282
+ menuMode: "none" | "top" | "side";
283
+ contentMode: "page" | "tabs";
284
+ routerMode: "html" | "auto" | "router";
285
+ collapsed: boolean;
286
+ activeGroup: string;
287
+ activeMenu: string;
288
+ openTabs: StationTab[];
289
+ userName: string;
290
+ userAvatar: string;
291
+ copyright: string;
292
+ footerInfo: string;
293
+ keepAlive: boolean;
294
+ toolbarConfig: string | StationToolbarConfig;
295
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
296
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
297
+ export default _default;
298
+ type __VLS_WithSlots<T, S> = T & {
299
+ new (): {
300
+ $slots: S;
301
+ };
302
+ };
@@ -0,0 +1,20 @@
1
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ /** 归一化后的菜单项(带 _key) */
3
+ items: {
4
+ type: () => any[];
5
+ default: () => never[];
6
+ };
7
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
8
+ select: (item: any) => any;
9
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
10
+ /** 归一化后的菜单项(带 _key) */
11
+ items: {
12
+ type: () => any[];
13
+ default: () => never[];
14
+ };
15
+ }>> & Readonly<{
16
+ onSelect?: ((item: any) => any) | undefined;
17
+ }>, {
18
+ items: any[];
19
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
20
+ export default _default;
@@ -0,0 +1,54 @@
1
+ /**
2
+ * WdStation 类型定义
3
+ */
4
+ /** 菜单项(统一模型:分组 Group → 菜单树,建议两层) */
5
+ export interface StationMenuItem {
6
+ /** 菜单标题 */
7
+ title: string;
8
+ /** 图标(@element-plus/icons-vue 名称字符串,或直接传组件) */
9
+ icon?: string | object;
10
+ /** 路由路径(router 模式点击 push;html 模式仅作标识) */
11
+ path?: string;
12
+ /** 路由名称(可选,key 兜底优先级高于 path) */
13
+ name?: string;
14
+ /** 角标 */
15
+ badge?: string | number;
16
+ /** 禁用 */
17
+ disabled?: boolean;
18
+ /** tabs 模式下固定标签(自动开启、不可关闭) */
19
+ affix?: boolean;
20
+ /** 扁平喂法:所属分组标题 */
21
+ group?: string;
22
+ /** 扁平喂法:所属分组 key(缺省取 group) */
23
+ groupKey?: string;
24
+ /** 扁平喂法:所属分组图标 */
25
+ groupIcon?: string | object;
26
+ /** 子菜单(递归,建议不超过两层) */
27
+ children?: StationMenuItem[];
28
+ [key: string]: any;
29
+ }
30
+ /** 菜单分组(分导台条目) */
31
+ export interface StationMenuGroup {
32
+ /** 分组唯一标识 */
33
+ key: string;
34
+ /** 分组标题 */
35
+ title: string;
36
+ /** 分组图标 */
37
+ icon?: string | object;
38
+ /** 组内菜单树 */
39
+ menus: StationMenuItem[];
40
+ }
41
+ /** 已开启标签 */
42
+ export interface StationTab {
43
+ key: string;
44
+ title: string;
45
+ path?: string;
46
+ affix?: boolean;
47
+ }
48
+ /** 工具栏点位配置:refresh/settings/user/login 各自可放 left / right / none */
49
+ export interface StationToolbarConfig {
50
+ refresh?: 'left' | 'right' | 'none';
51
+ settings?: 'left' | 'right' | 'none';
52
+ user?: 'left' | 'right' | 'none';
53
+ login?: 'left' | 'right' | 'none';
54
+ }
@@ -1,10 +1,13 @@
1
- declare var __VLS_1: {}, __VLS_3: {}, __VLS_5: {};
1
+ import { type PropType } from 'vue';
2
+ declare var __VLS_1: {}, __VLS_3: {}, __VLS_19: {}, __VLS_21: {};
2
3
  type __VLS_Slots = {} & {
3
4
  title?: (props: typeof __VLS_1) => any;
4
5
  } & {
5
- default?: (props: typeof __VLS_3) => any;
6
+ extra?: (props: typeof __VLS_3) => any;
6
7
  } & {
7
- footer?: (props: typeof __VLS_5) => any;
8
+ default?: (props: typeof __VLS_19) => any;
9
+ } & {
10
+ footer?: (props: typeof __VLS_21) => any;
8
11
  };
9
12
  declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
10
13
  /** 面板标题 */
@@ -17,7 +20,25 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
17
20
  type: StringConstructor;
18
21
  default: string;
19
22
  };
20
- }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
23
+ /** 是否可折叠(折叠时隐藏主体与底部) */
24
+ collapsible: {
25
+ type: BooleanConstructor;
26
+ default: boolean;
27
+ };
28
+ /** 展开状态(配合 collapsible 使用,支持 v-model:opened) */
29
+ opened: {
30
+ type: BooleanConstructor;
31
+ default: boolean;
32
+ };
33
+ /** 阴影策略:always=常驻阴影 / hover=悬停时显示 / never=无阴影 */
34
+ shadow: {
35
+ type: PropType<"always" | "hover" | "never">;
36
+ default: string;
37
+ };
38
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
39
+ change: (value: boolean) => any;
40
+ "update:opened": (value: boolean) => any;
41
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
21
42
  /** 面板标题 */
22
43
  title: {
23
44
  type: StringConstructor;
@@ -28,9 +49,30 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
28
49
  type: StringConstructor;
29
50
  default: string;
30
51
  };
31
- }>> & Readonly<{}>, {
52
+ /** 是否可折叠(折叠时隐藏主体与底部) */
53
+ collapsible: {
54
+ type: BooleanConstructor;
55
+ default: boolean;
56
+ };
57
+ /** 展开状态(配合 collapsible 使用,支持 v-model:opened) */
58
+ opened: {
59
+ type: BooleanConstructor;
60
+ default: boolean;
61
+ };
62
+ /** 阴影策略:always=常驻阴影 / hover=悬停时显示 / never=无阴影 */
63
+ shadow: {
64
+ type: PropType<"always" | "hover" | "never">;
65
+ default: string;
66
+ };
67
+ }>> & Readonly<{
68
+ onChange?: ((value: boolean) => any) | undefined;
69
+ "onUpdate:opened"?: ((value: boolean) => any) | undefined;
70
+ }>, {
32
71
  title: string;
33
72
  description: string;
73
+ collapsible: boolean;
74
+ opened: boolean;
75
+ shadow: "hover" | "always" | "never";
34
76
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
35
77
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
36
78
  export default _default;
@@ -27,12 +27,12 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
27
27
  type: NumberConstructor;
28
28
  default: number;
29
29
  };
30
- /** 缩略图尺寸(px) */
30
+ /** 缩略图尺寸(px,兼容属性式字符串写法) */
31
31
  thumbnailSize: {
32
- type: NumberConstructor;
32
+ type: (NumberConstructor | StringConstructor)[];
33
33
  default: number;
34
34
  };
35
- /** 是否点击缩略图大图预览(集成 Viewer) */
35
+ /** 是否点击缩略图大图预览 */
36
36
  preview: {
37
37
  type: BooleanConstructor;
38
38
  default: boolean;
@@ -107,12 +107,12 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
107
107
  type: NumberConstructor;
108
108
  default: number;
109
109
  };
110
- /** 缩略图尺寸(px) */
110
+ /** 缩略图尺寸(px,兼容属性式字符串写法) */
111
111
  thumbnailSize: {
112
- type: NumberConstructor;
112
+ type: (NumberConstructor | StringConstructor)[];
113
113
  default: number;
114
114
  };
115
- /** 是否点击缩略图大图预览(集成 Viewer) */
115
+ /** 是否点击缩略图大图预览 */
116
116
  preview: {
117
117
  type: BooleanConstructor;
118
118
  default: boolean;
@@ -163,14 +163,14 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
163
163
  api: string;
164
164
  modelValue: string[];
165
165
  headRefreshDatagrid: string | boolean;
166
+ tip: string;
166
167
  deleteApi: string;
167
- deleteMethod: "delete" | "get" | "post" | "put";
168
+ deleteMethod: "post" | "delete" | "get" | "put";
168
169
  primaryKey: string;
169
170
  accept: string;
170
171
  maxSize: number;
171
172
  preview: boolean;
172
- tip: string;
173
173
  maxCount: number;
174
- thumbnailSize: number;
174
+ thumbnailSize: string | number;
175
175
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
176
176
  export default _default;
@@ -216,7 +216,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
216
216
  headRefreshDatagrid: string | boolean;
217
217
  multiple: boolean;
218
218
  deleteApi: string;
219
- deleteMethod: "delete" | "get" | "post" | "put";
219
+ deleteMethod: "post" | "delete" | "get" | "put";
220
220
  primaryKey: string;
221
221
  submitButtonText: string;
222
222
  buttonText: string;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * WdApiButton 单独入口
3
+ * 用法:import WdApiButton from 'workdesktop-ai/api-button'
4
+ * import 'workdesktop-ai/api-button/style.css'
5
+ */
6
+ import '../styles/index.css';
7
+ import WdApiButton from '../components/buttons/ApiButton.vue';
8
+ export { WdApiButton };
9
+ export default WdApiButton;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * WdAutoComplete 单独入口
3
+ * 用法:import WdAutoComplete from 'workdesktop-ai/auto-complete'
4
+ * import 'workdesktop-ai/auto-complete/style.css'
5
+ */
6
+ import '../styles/index.css';
7
+ import WdAutoComplete from '../components/inputs/AutoComplete.vue';
8
+ export { WdAutoComplete };
9
+ export default WdAutoComplete;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * WdCheckboxList 单独入口
3
+ * 用法:import WdCheckboxList from 'workdesktop-ai/checkbox-list'
4
+ * import 'workdesktop-ai/checkbox-list/style.css'
5
+ */
6
+ import '../styles/index.css';
7
+ import WdCheckboxList from '../components/inputs/CheckboxList.vue';
8
+ export { WdCheckboxList };
9
+ export default WdCheckboxList;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * 组件到子路径名的映射
3
+ * 用于:1) 生成 entries 入口 2) vite 构建多入口 3) package.json exports 对齐
4
+ *
5
+ * key: 子路径名(kebab-case,用户 import 时的路径)
6
+ * value: 组件源文件相对路径(相对于 src/components/)
7
+ */
8
+ export declare const componentMap: Record<string, string>;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * WdConfirmButton 单独入口
3
+ * 用法:import WdConfirmButton from 'workdesktop-ai/confirm-button'
4
+ * import 'workdesktop-ai/confirm-button/style.css'
5
+ */
6
+ import '../styles/index.css';
7
+ import WdConfirmButton from '../components/buttons/ConfirmButton.vue';
8
+ export { WdConfirmButton };
9
+ export default WdConfirmButton;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * WdDataForm 单独入口
3
+ * 用法:import WdDataForm from 'workdesktop-ai/data-form'
4
+ * import 'workdesktop-ai/data-form/style.css'
5
+ */
6
+ import '../styles/index.css';
7
+ import WdDataForm from '../components/form/data-form/DataForm.vue';
8
+ export { WdDataForm };
9
+ export default WdDataForm;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * WdDataGrid 单独入口
3
+ * 用法:import WdDataGrid from 'workdesktop-ai/data-grid'
4
+ * import 'workdesktop-ai/data-grid/style.css'
5
+ */
6
+ import '../styles/index.css';
7
+ import WdDataGrid from '../components/data/datagrid/DataGrid.vue';
8
+ export { WdDataGrid };
9
+ export default WdDataGrid;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * WdDialogButton 单独入口
3
+ * 用法:import WdDialogButton from 'workdesktop-ai/dialog-button'
4
+ * import 'workdesktop-ai/dialog-button/style.css'
5
+ */
6
+ import '../styles/index.css';
7
+ import WdDialogButton from '../components/buttons/DialogButton.vue';
8
+ export { WdDialogButton };
9
+ export default WdDialogButton;