@hbdlzy/ui-core 0.1.6 → 0.1.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.
Files changed (79) hide show
  1. package/README.md +34 -2
  2. package/components.manifest.json +31 -2
  3. package/dist/components/BaseTable/BaseTable.types.d.ts +17 -2
  4. package/dist/components/BaseTable/BaseTable.vue.d.ts +4 -4
  5. package/dist/components/BaseTable/index.d.ts +1 -1
  6. package/dist/components/OutlinedTreeSelect/OutlinedTreeSelect.vue.d.ts +1 -1
  7. package/dist/components/SvgIcon/SvgIcon.types.d.ts +6 -0
  8. package/dist/components/SvgIcon/SvgIcon.vue.d.ts +32 -0
  9. package/dist/components/SvgIcon/index.d.ts +3 -0
  10. package/dist/index.cjs +5 -5
  11. package/dist/index.d.ts +51 -12
  12. package/dist/index.js +1014 -147
  13. package/dist/ripple/index.cjs +42 -0
  14. package/dist/ripple/index.d.ts +8 -1
  15. package/dist/ripple/index.js +171 -0
  16. package/dist/style.css +1 -1
  17. package/package.json +17 -2
  18. package/src/components/BaseCard/BaseCard.types.d.ts +36 -0
  19. package/src/components/BaseCard/BaseCard.vue.d.ts +122 -0
  20. package/src/components/BaseCard/README.md +33 -0
  21. package/src/components/BaseCard/index.d.ts +3 -0
  22. package/src/components/BaseEChart/BaseEChart.types.d.ts +26 -0
  23. package/src/components/BaseEChart/BaseEChart.vue.d.ts +66 -0
  24. package/src/components/BaseEChart/README.md +33 -0
  25. package/src/components/BaseEChart/index.d.ts +3 -0
  26. package/src/components/BaseExportButton/BaseExportButton.types.d.ts +21 -0
  27. package/src/components/BaseExportButton/BaseExportButton.utils.d.ts +4 -0
  28. package/src/components/BaseExportButton/BaseExportButton.vue.d.ts +128 -0
  29. package/src/components/BaseExportButton/README.md +34 -0
  30. package/src/components/BaseExportButton/index.d.ts +5 -0
  31. package/src/components/BaseTable/BaseTable.types.d.ts +178 -0
  32. package/src/components/BaseTable/BaseTable.types.ts +19 -2
  33. package/src/components/BaseTable/BaseTable.vue +1105 -118
  34. package/src/components/BaseTable/BaseTable.vue.d.ts +157 -0
  35. package/src/components/BaseTable/README.md +133 -5
  36. package/src/components/BaseTable/index.d.ts +3 -0
  37. package/src/components/BaseTable/index.ts +5 -0
  38. package/src/components/OutlinedCascader/OutlinedCascader.types.d.ts +28 -0
  39. package/src/components/OutlinedCascader/OutlinedCascader.vue.d.ts +94 -0
  40. package/src/components/OutlinedCascader/README.md +34 -0
  41. package/src/components/OutlinedCascader/index.d.ts +3 -0
  42. package/src/components/OutlinedDatePicker/OutlinedDatePicker.types.d.ts +30 -0
  43. package/src/components/OutlinedDatePicker/OutlinedDatePicker.vue.d.ts +97 -0
  44. package/src/components/OutlinedDatePicker/README.md +34 -0
  45. package/src/components/OutlinedDatePicker/index.d.ts +3 -0
  46. package/src/components/OutlinedDateTimePicker/OutlinedDateTimePicker.types.d.ts +29 -0
  47. package/src/components/OutlinedDateTimePicker/OutlinedDateTimePicker.vue.d.ts +106 -0
  48. package/src/components/OutlinedDateTimePicker/README.md +33 -0
  49. package/src/components/OutlinedDateTimePicker/index.d.ts +3 -0
  50. package/src/components/OutlinedInput/OutlinedInput.types.d.ts +32 -0
  51. package/src/components/OutlinedInput/OutlinedInput.vue.d.ts +106 -0
  52. package/src/components/OutlinedInput/README.md +34 -0
  53. package/src/components/OutlinedInput/index.d.ts +3 -0
  54. package/src/components/OutlinedSelect/OutlinedSelect.types.d.ts +41 -0
  55. package/src/components/OutlinedSelect/OutlinedSelect.vue.d.ts +125 -0
  56. package/src/components/OutlinedSelect/README.md +34 -0
  57. package/src/components/OutlinedSelect/index.d.ts +3 -0
  58. package/src/components/OutlinedTimePicker/OutlinedTimePicker.types.d.ts +31 -0
  59. package/src/components/OutlinedTimePicker/OutlinedTimePicker.vue.d.ts +103 -0
  60. package/src/components/OutlinedTimePicker/README.md +33 -0
  61. package/src/components/OutlinedTimePicker/index.d.ts +3 -0
  62. package/src/components/OutlinedTreeSelect/OutlinedTreeSelect.types.d.ts +49 -0
  63. package/src/components/OutlinedTreeSelect/OutlinedTreeSelect.vue.d.ts +146 -0
  64. package/src/components/OutlinedTreeSelect/README.md +34 -0
  65. package/src/components/OutlinedTreeSelect/index.d.ts +3 -0
  66. package/src/components/SvgIcon/README.md +86 -0
  67. package/src/components/SvgIcon/SvgIcon.types.d.ts +6 -0
  68. package/src/components/SvgIcon/SvgIcon.types.ts +6 -0
  69. package/src/components/SvgIcon/SvgIcon.vue +68 -0
  70. package/src/components/SvgIcon/SvgIcon.vue.d.ts +32 -0
  71. package/src/components/SvgIcon/index.d.ts +3 -0
  72. package/src/components/SvgIcon/index.ts +5 -0
  73. package/src/echarts/index.d.ts +9 -0
  74. package/src/excel/exportExcel.d.ts +18 -0
  75. package/src/index.d.ts +30 -0
  76. package/src/index.ts +79 -12
  77. package/src/ripple/README.md +160 -0
  78. package/src/ripple/index.d.ts +9 -0
  79. package/src/ripple/index.ts +15 -1
package/README.md CHANGED
@@ -8,6 +8,7 @@
8
8
  - `BaseCard`
9
9
  - `BaseEChart`
10
10
  - `BaseExportButton`
11
+ - `SvgIcon`
11
12
  - `OutlinedInput`
12
13
  - `OutlinedSelect`
13
14
  - `OutlinedDatePicker`
@@ -17,16 +18,32 @@
17
18
  - `OutlinedTreeSelect`
18
19
  - `echarts`
19
20
  - `exportExcel`
20
- - 全局按钮 ripple:导入包入口后自动启用,覆盖原生 `button`、Element Plus `el-button` 以及 radio/checkbox button 形态
21
+ - `Ripple`
22
+ - 全局点击涟漪:导入包入口后自动启用,覆盖原生 `button`、Element Plus `el-button` 以及 radio/checkbox button 形态
21
23
 
22
24
  ## 使用方式
23
25
 
26
+ ### 全局注册
27
+
28
+ 只使用核心包时,可以按 Vue 插件注册所有 `ui-core` 组件:
29
+
30
+ ```ts
31
+ import { createApp } from 'vue'
32
+ import HbdlUICore from '@hbdlzy/ui-core'
33
+ import App from './App.vue'
34
+
35
+ createApp(App).use(HbdlUICore).mount('#app')
36
+ ```
37
+
38
+ ### 按需导入
39
+
24
40
  ```ts
25
41
  import {
26
42
  BaseTable,
27
43
  BaseCard,
28
44
  BaseEChart,
29
45
  BaseExportButton,
46
+ SvgIcon,
30
47
  OutlinedInput,
31
48
  OutlinedSelect,
32
49
  OutlinedDatePicker,
@@ -34,6 +51,7 @@ import {
34
51
  OutlinedTimePicker,
35
52
  OutlinedCascader,
36
53
  OutlinedTreeSelect,
54
+ Ripple,
37
55
  installRipple,
38
56
  uninstallRipple,
39
57
  echarts,
@@ -41,14 +59,26 @@ import {
41
59
  } from '@hbdlzy/ui-core'
42
60
  ```
43
61
 
44
- 全局 ripple 会在导入 `@hbdlzy/ui-core` 时自动安装;如某个按钮不需要水波纹,可在按钮或父级元素上添加 `data-hbdl-ripple="false"`。
62
+ 全局点击涟漪会在导入 `@hbdlzy/ui-core` 时自动安装;如某个按钮不需要水波纹,可在按钮或父级元素上添加 `data-hbdl-ripple="false"`。
63
+
64
+ 如果业务项目希望显式控制安装时机,也可以使用插件或细粒度入口:
65
+
66
+ ```ts
67
+ import { createApp } from 'vue'
68
+ import { Ripple } from '@hbdlzy/ui-core/ripple'
69
+ import App from './App.vue'
70
+
71
+ createApp(App).use(Ripple).mount('#app')
72
+ ```
45
73
 
46
74
  ## 详细文档
47
75
 
76
+ - `Ripple`: [src/ripple/README.md](./src/ripple/README.md)
48
77
  - `BaseTable`: [src/components/BaseTable/README.md](./src/components/BaseTable/README.md)
49
78
  - `BaseCard`: [src/components/BaseCard/README.md](./src/components/BaseCard/README.md)
50
79
  - `BaseEChart`: [src/components/BaseEChart/README.md](./src/components/BaseEChart/README.md)
51
80
  - `BaseExportButton`: [src/components/BaseExportButton/README.md](./src/components/BaseExportButton/README.md)
81
+ - `SvgIcon`: [src/components/SvgIcon/README.md](./src/components/SvgIcon/README.md)
52
82
  - `OutlinedInput`: [src/components/OutlinedInput/README.md](./src/components/OutlinedInput/README.md)
53
83
  - `OutlinedSelect`: [src/components/OutlinedSelect/README.md](./src/components/OutlinedSelect/README.md)
54
84
  - `OutlinedDatePicker`: [src/components/OutlinedDatePicker/README.md](./src/components/OutlinedDatePicker/README.md)
@@ -65,6 +95,7 @@ import {
65
95
  - `BaseCard`
66
96
  - `BaseEChart`
67
97
  - `BaseExportButton`
98
+ - `SvgIcon`
68
99
  - `OutlinedInput`
69
100
  - `OutlinedSelect`
70
101
  - `OutlinedDatePicker`
@@ -75,6 +106,7 @@ import {
75
106
  - 工具
76
107
  - `echarts`
77
108
  - `exportExcel`
109
+ - `Ripple`
78
110
  - `installRipple`
79
111
  - `uninstallRipple`
80
112
 
@@ -2,6 +2,12 @@
2
2
  "package": "@hbdlzy/ui-core",
3
3
  "version": 1,
4
4
  "updatedAt": "2026-04-21",
5
+ "plugin": {
6
+ "name": "HbdlUICore",
7
+ "importName": "default",
8
+ "entry": "@hbdlzy/ui-core",
9
+ "description": "Vue 插件入口,调用 app.use(HbdlUICore) 可全局注册 ui-core 组件并启用全局点击涟漪。"
10
+ },
5
11
  "components": [
6
12
  {
7
13
  "name": "BaseTable",
@@ -30,7 +36,7 @@
30
36
  },
31
37
  {
32
38
  "name": "headerSearch",
33
- "type": "boolean | { paramKey?: string; placeholder?: string; width?: string | number; searchText?: string; resetText?: string }",
39
+ "type": "boolean | { type?: 'input' | 'select' | 'cascader'; paramKey?: string; placeholder?: string; width?: string | number; searchText?: string; resetText?: string; options?: BaseTableOption[]; multiple?: boolean; clearable?: boolean; filterable?: boolean; optionChildrenKey?: string }",
34
40
  "required": false
35
41
  },
36
42
  { "name": "hasSelection", "type": "boolean", "default": false },
@@ -94,6 +100,21 @@
94
100
  ],
95
101
  "emits": ["start", "success", "error"]
96
102
  },
103
+ {
104
+ "name": "SvgIcon",
105
+ "category": "ui-core",
106
+ "entry": "@hbdlzy/ui-core",
107
+ "importName": "SvgIcon",
108
+ "docs": "packages/ui-core/src/components/SvgIcon/README.md",
109
+ "description": "统一展示 SVG symbol sprite 和外链 SVG 图标,兼容旧项目 icon-class、class-name 写法。",
110
+ "props": [
111
+ { "name": "iconClass", "type": "string", "required": true },
112
+ { "name": "className", "type": "string", "default": "" },
113
+ { "name": "prefix", "type": "string", "default": "icon" },
114
+ { "name": "ariaLabel", "type": "string", "default": "" }
115
+ ],
116
+ "emits": []
117
+ },
97
118
  {
98
119
  "name": "OutlinedInput",
99
120
  "category": "ui-core",
@@ -290,11 +311,19 @@
290
311
  {
291
312
  "name": "installRipple",
292
313
  "entry": "@hbdlzy/ui-core",
293
- "description": "安装全局按钮 ripple 效果;包入口会自动调用,可用于手动恢复。"
314
+ "docs": "packages/ui-core/src/ripple/README.md",
315
+ "description": "安装全局点击涟漪效果;包入口会自动调用,可用于手动恢复。"
316
+ },
317
+ {
318
+ "name": "Ripple",
319
+ "entry": "@hbdlzy/ui-core",
320
+ "docs": "packages/ui-core/src/ripple/README.md",
321
+ "description": "Vue 插件形式的全局点击涟漪能力,可通过 app.use(Ripple) 显式安装。"
294
322
  },
295
323
  {
296
324
  "name": "uninstallRipple",
297
325
  "entry": "@hbdlzy/ui-core",
326
+ "docs": "packages/ui-core/src/ripple/README.md",
298
327
  "description": "卸载全局按钮 ripple 事件监听。"
299
328
  }
300
329
  ]
@@ -3,18 +3,33 @@ export type BaseTableAlign = 'left' | 'center' | 'right';
3
3
  export type BaseTableColumnKind = 'text' | 'link' | 'actions' | 'image' | 'tag' | 'html' | 'input';
4
4
  export type BaseTableSortOrder = 'ascending' | 'descending' | null;
5
5
  export type BaseTableSortDirection = string | null;
6
+ export type BaseTableHeaderSearchType = 'input' | 'select' | 'cascader';
7
+ export type BaseTableHeaderSearchPrimitiveValue = string | number | boolean;
8
+ export type BaseTableHeaderSearchPathValue = BaseTableHeaderSearchPrimitiveValue[];
9
+ export type BaseTableHeaderSearchValue = BaseTableHeaderSearchPrimitiveValue | BaseTableHeaderSearchPrimitiveValue[];
6
10
  export interface BaseTableHeaderSearchConfig {
11
+ type?: BaseTableHeaderSearchType;
7
12
  paramKey?: string;
8
13
  placeholder?: string;
9
14
  width?: BaseTableCssValue;
10
15
  searchText?: string;
11
16
  resetText?: string;
17
+ options?: BaseTableOption[];
18
+ multiple?: boolean;
19
+ clearable?: boolean;
20
+ filterable?: boolean;
21
+ optionValueKey?: string;
22
+ optionLabelKey?: string;
23
+ optionDisabledKey?: string;
24
+ optionChildrenKey?: string;
12
25
  }
13
26
  export interface BaseTableOption {
14
27
  label: string;
15
28
  value: string | number | boolean;
16
29
  tagType?: '' | 'success' | 'warning' | 'info' | 'danger' | 'primary';
17
30
  color?: string;
31
+ disabled?: boolean;
32
+ children?: BaseTableOption[];
18
33
  }
19
34
  export interface BaseTableAction<Row = Record<string, any>> {
20
35
  label: string;
@@ -153,9 +168,9 @@ export interface BaseTableExpose<Row = Record<string, any>> {
153
168
  refresh: () => Promise<void>;
154
169
  setData: (data: Row[]) => void;
155
170
  resetPage: () => Promise<void>;
156
- setHeaderSearchValue: (key: string, value: string, shouldReload?: boolean) => Promise<void>;
171
+ setHeaderSearchValue: (key: string, value: BaseTableHeaderSearchValue, shouldReload?: boolean) => Promise<void>;
157
172
  resetHeaderSearch: (key?: string) => Promise<void>;
158
- getHeaderSearchValues: () => Record<string, string>;
173
+ getHeaderSearchValues: () => Record<string, BaseTableHeaderSearchValue>;
159
174
  clearSelection: () => void;
160
175
  toggleRowSelection: (row: Row, selected?: boolean) => void;
161
176
  getSelectionRows: () => Row[];
@@ -1,4 +1,4 @@
1
- import type { BaseTableCellPayload, BaseTableColumn, BaseTableCssValue, BaseTableLoadedPayload, BaseTablePagination, BaseTableProps, BaseTableRowActionPayload, BaseTableSortPayload } from './BaseTable.types';
1
+ import type { BaseTableCellPayload, BaseTableColumn, BaseTableCssValue, BaseTableHeaderSearchValue, BaseTableLoadedPayload, BaseTablePagination, BaseTableProps, BaseTableRowActionPayload, BaseTableSortPayload } from './BaseTable.types';
2
2
  type BaseTableRow = Record<string, any>;
3
3
  declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<BaseTableProps<Record<string, any>>>, {
4
4
  data: () => never[];
@@ -37,9 +37,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<im
37
37
  refresh: () => Promise<void>;
38
38
  setData: (data: Record<string, any>[]) => void;
39
39
  resetPage: () => Promise<void>;
40
- setHeaderSearchValue: (key: string, value: string, shouldReload?: boolean | undefined) => Promise<void>;
40
+ setHeaderSearchValue: (key: string, value: BaseTableHeaderSearchValue, shouldReload?: boolean | undefined) => Promise<void>;
41
41
  resetHeaderSearch: (key?: string | undefined) => Promise<void>;
42
- getHeaderSearchValues: () => Record<string, string>;
42
+ getHeaderSearchValues: () => Record<string, BaseTableHeaderSearchValue>;
43
43
  clearSelection: () => void;
44
44
  toggleRowSelection: (row: Record<string, any>, selected?: boolean | undefined) => void;
45
45
  getSelectionRows: () => Record<string, any>[];
@@ -100,13 +100,13 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<im
100
100
  "onRequest-error"?: ((error: unknown) => any) | undefined;
101
101
  }>, {
102
102
  data: Record<string, any>[];
103
+ border: boolean;
103
104
  requestParams: Record<string, unknown>;
104
105
  autoLoad: boolean;
105
106
  reloadOnParamsChange: boolean;
106
107
  reloadOnSortChange: boolean;
107
108
  rowKey: string;
108
109
  height: BaseTableCssValue;
109
- border: boolean;
110
110
  stripe: boolean;
111
111
  showToolbar: boolean;
112
112
  showPagination: boolean;
@@ -1,3 +1,3 @@
1
1
  import BaseTable from './BaseTable.vue';
2
2
  export default BaseTable;
3
- export type { BaseTableAction, BaseTableAlign, BaseTableCellPayload, BaseTableColumn, BaseTableColumnKind, BaseTableCssValue, BaseTableExpose, BaseTableLoadedPayload, BaseTableNormalizedResult, BaseTableOption, BaseTablePagination, BaseTableProps, BaseTableResultAdapter, BaseTableRequestHandler, BaseTableRequestParams, BaseTableRequestResult, BaseTableRowActionPayload, BaseTableSortOrder, BaseTableSortPayload } from './BaseTable.types';
3
+ export type { BaseTableAction, BaseTableAlign, BaseTableCellPayload, BaseTableColumn, BaseTableColumnKind, BaseTableCssValue, BaseTableExpose, BaseTableHeaderSearchConfig, BaseTableHeaderSearchPathValue, BaseTableHeaderSearchPrimitiveValue, BaseTableHeaderSearchType, BaseTableHeaderSearchValue, BaseTableLoadedPayload, BaseTableNormalizedResult, BaseTableOption, BaseTablePagination, BaseTableProps, BaseTableResultAdapter, BaseTableRequestHandler, BaseTableRequestParams, BaseTableRequestResult, BaseTableRowActionPayload, BaseTableSortOrder, BaseTableSortPayload } from './BaseTable.types';
@@ -91,8 +91,8 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<im
91
91
  disabled: boolean;
92
92
  value: OutlinedTreeSelectValue;
93
93
  errorMessage: string;
94
- defaultExpandAll: boolean;
95
94
  required: boolean;
95
+ defaultExpandAll: boolean;
96
96
  popperClass: string;
97
97
  placeholder: string;
98
98
  clearable: boolean;
@@ -0,0 +1,6 @@
1
+ export interface SvgIconProps {
2
+ iconClass: string;
3
+ className?: string;
4
+ prefix?: string;
5
+ ariaLabel?: string;
6
+ }
@@ -0,0 +1,32 @@
1
+ import type { SvgIconProps } from './SvgIcon.types';
2
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<SvgIconProps>, {
3
+ className: string;
4
+ prefix: string;
5
+ ariaLabel: string;
6
+ }>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<SvgIconProps>, {
7
+ className: string;
8
+ prefix: string;
9
+ ariaLabel: string;
10
+ }>>> & Readonly<{}>, {
11
+ className: string;
12
+ prefix: string;
13
+ ariaLabel: string;
14
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
15
+ export default _default;
16
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
17
+ type __VLS_TypePropsToRuntimeProps<T> = {
18
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
19
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
20
+ } : {
21
+ type: import('vue').PropType<T[K]>;
22
+ required: true;
23
+ };
24
+ };
25
+ type __VLS_WithDefaults<P, D> = {
26
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
27
+ default: D[K];
28
+ }> : P[K];
29
+ };
30
+ type __VLS_Prettify<T> = {
31
+ [K in keyof T]: T[K];
32
+ } & {};
@@ -0,0 +1,3 @@
1
+ import SvgIcon from './SvgIcon.vue';
2
+ export default SvgIcon;
3
+ export type { SvgIconProps } from './SvgIcon.types';