@hbdlzy/ui-core 0.1.1 → 0.1.3

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 (113) hide show
  1. package/README.md +37 -2
  2. package/components.manifest.json +198 -161
  3. package/dist/components/BaseCard/BaseCard.types.d.ts +36 -0
  4. package/dist/components/BaseCard/BaseCard.vue.d.ts +122 -0
  5. package/dist/components/BaseCard/index.d.ts +3 -0
  6. package/dist/components/BaseEChart/BaseEChart.types.d.ts +26 -0
  7. package/dist/components/BaseEChart/BaseEChart.vue.d.ts +66 -0
  8. package/dist/components/BaseEChart/index.d.ts +3 -0
  9. package/dist/components/BaseExportButton/BaseExportButton.types.d.ts +21 -0
  10. package/dist/components/BaseExportButton/BaseExportButton.utils.d.ts +4 -0
  11. package/dist/components/BaseExportButton/BaseExportButton.vue.d.ts +128 -0
  12. package/dist/components/BaseExportButton/index.d.ts +5 -0
  13. package/dist/components/BaseTable/BaseTable.types.d.ts +163 -0
  14. package/dist/components/BaseTable/BaseTable.vue.d.ts +157 -0
  15. package/dist/components/BaseTable/index.d.ts +3 -0
  16. package/dist/components/OutlinedCascader/OutlinedCascader.types.d.ts +25 -0
  17. package/dist/components/OutlinedCascader/OutlinedCascader.vue.d.ts +85 -0
  18. package/dist/components/OutlinedCascader/index.d.ts +3 -0
  19. package/dist/components/OutlinedDatePicker/OutlinedDatePicker.types.d.ts +27 -0
  20. package/dist/components/OutlinedDatePicker/OutlinedDatePicker.vue.d.ts +88 -0
  21. package/dist/components/OutlinedDatePicker/index.d.ts +3 -0
  22. package/dist/components/OutlinedDateTimePicker/OutlinedDateTimePicker.types.d.ts +26 -0
  23. package/dist/components/OutlinedDateTimePicker/OutlinedDateTimePicker.vue.d.ts +97 -0
  24. package/dist/components/OutlinedDateTimePicker/index.d.ts +3 -0
  25. package/dist/components/OutlinedInput/OutlinedInput.types.d.ts +29 -0
  26. package/dist/components/OutlinedInput/OutlinedInput.vue.d.ts +97 -0
  27. package/dist/components/OutlinedInput/index.d.ts +3 -0
  28. package/dist/components/OutlinedSelect/OutlinedSelect.types.d.ts +38 -0
  29. package/dist/components/OutlinedSelect/OutlinedSelect.vue.d.ts +116 -0
  30. package/dist/components/OutlinedSelect/index.d.ts +3 -0
  31. package/dist/components/OutlinedTimePicker/OutlinedTimePicker.types.d.ts +28 -0
  32. package/dist/components/OutlinedTimePicker/OutlinedTimePicker.vue.d.ts +94 -0
  33. package/dist/components/OutlinedTimePicker/index.d.ts +3 -0
  34. package/dist/components/OutlinedTreeSelect/OutlinedTreeSelect.types.d.ts +46 -0
  35. package/dist/components/OutlinedTreeSelect/OutlinedTreeSelect.vue.d.ts +137 -0
  36. package/dist/components/OutlinedTreeSelect/index.d.ts +3 -0
  37. package/dist/echarts/index.d.ts +9 -0
  38. package/dist/excel/exportExcel.d.ts +18 -0
  39. package/dist/index.cjs +1 -1
  40. package/dist/index.d.ts +26 -0
  41. package/dist/index.js +2181 -41
  42. package/dist/style.css +1 -1
  43. package/package.json +6 -4
  44. package/src/components/BaseCard/BaseCard.types.d.ts +36 -0
  45. package/src/components/BaseCard/BaseCard.vue.d.ts +122 -0
  46. package/src/components/BaseCard/index.d.ts +3 -0
  47. package/src/components/BaseEChart/BaseEChart.types.d.ts +26 -0
  48. package/src/components/BaseEChart/BaseEChart.vue.d.ts +66 -0
  49. package/src/components/BaseEChart/index.d.ts +3 -0
  50. package/src/components/BaseExportButton/BaseExportButton.types.d.ts +21 -0
  51. package/src/components/BaseExportButton/BaseExportButton.utils.d.ts +4 -0
  52. package/src/components/BaseExportButton/BaseExportButton.vue.d.ts +128 -0
  53. package/src/components/BaseExportButton/index.d.ts +5 -0
  54. package/src/components/BaseTable/BaseTable.types.d.ts +163 -0
  55. package/src/components/BaseTable/BaseTable.types.ts +12 -0
  56. package/src/components/BaseTable/BaseTable.vue +412 -13
  57. package/src/components/BaseTable/BaseTable.vue.d.ts +157 -0
  58. package/src/components/BaseTable/README.md +106 -120
  59. package/src/components/BaseTable/index.d.ts +3 -0
  60. package/src/components/OutlinedCascader/OutlinedCascader.types.d.ts +25 -0
  61. package/src/components/OutlinedCascader/OutlinedCascader.types.ts +28 -0
  62. package/src/components/OutlinedCascader/OutlinedCascader.vue +250 -0
  63. package/src/components/OutlinedCascader/OutlinedCascader.vue.d.ts +85 -0
  64. package/src/components/OutlinedCascader/README.md +91 -0
  65. package/src/components/OutlinedCascader/index.d.ts +3 -0
  66. package/src/components/OutlinedCascader/index.ts +10 -0
  67. package/src/components/OutlinedDatePicker/OutlinedDatePicker.types.d.ts +27 -0
  68. package/src/components/OutlinedDatePicker/OutlinedDatePicker.types.ts +40 -0
  69. package/src/components/OutlinedDatePicker/OutlinedDatePicker.vue +365 -0
  70. package/src/components/OutlinedDatePicker/OutlinedDatePicker.vue.d.ts +88 -0
  71. package/src/components/OutlinedDatePicker/README.md +137 -0
  72. package/src/components/OutlinedDatePicker/index.d.ts +3 -0
  73. package/src/components/OutlinedDatePicker/index.ts +11 -0
  74. package/src/components/OutlinedDateTimePicker/OutlinedDateTimePicker.types.d.ts +26 -0
  75. package/src/components/OutlinedDateTimePicker/OutlinedDateTimePicker.types.ts +34 -0
  76. package/src/components/OutlinedDateTimePicker/OutlinedDateTimePicker.vue +421 -0
  77. package/src/components/OutlinedDateTimePicker/OutlinedDateTimePicker.vue.d.ts +97 -0
  78. package/src/components/OutlinedDateTimePicker/README.md +88 -0
  79. package/src/components/OutlinedDateTimePicker/index.d.ts +3 -0
  80. package/src/components/OutlinedDateTimePicker/index.ts +11 -0
  81. package/src/components/OutlinedInput/OutlinedInput.types.d.ts +29 -0
  82. package/src/components/OutlinedInput/OutlinedInput.types.ts +32 -0
  83. package/src/components/OutlinedInput/OutlinedInput.vue +307 -0
  84. package/src/components/OutlinedInput/OutlinedInput.vue.d.ts +97 -0
  85. package/src/components/OutlinedInput/README.md +154 -0
  86. package/src/components/OutlinedInput/index.d.ts +3 -0
  87. package/src/components/OutlinedInput/index.ts +10 -0
  88. package/src/components/OutlinedSelect/OutlinedSelect.types.d.ts +38 -0
  89. package/src/components/OutlinedSelect/OutlinedSelect.types.ts +48 -0
  90. package/src/components/OutlinedSelect/OutlinedSelect.vue +359 -0
  91. package/src/components/OutlinedSelect/OutlinedSelect.vue.d.ts +116 -0
  92. package/src/components/OutlinedSelect/README.md +166 -0
  93. package/src/components/OutlinedSelect/index.d.ts +3 -0
  94. package/src/components/OutlinedSelect/index.ts +12 -0
  95. package/src/components/OutlinedTimePicker/OutlinedTimePicker.types.d.ts +28 -0
  96. package/src/components/OutlinedTimePicker/OutlinedTimePicker.types.ts +36 -0
  97. package/src/components/OutlinedTimePicker/OutlinedTimePicker.vue +303 -0
  98. package/src/components/OutlinedTimePicker/OutlinedTimePicker.vue.d.ts +94 -0
  99. package/src/components/OutlinedTimePicker/README.md +93 -0
  100. package/src/components/OutlinedTimePicker/index.d.ts +3 -0
  101. package/src/components/OutlinedTimePicker/index.ts +10 -0
  102. package/src/components/OutlinedTreeSelect/OutlinedTreeSelect.types.d.ts +46 -0
  103. package/src/components/OutlinedTreeSelect/OutlinedTreeSelect.types.ts +56 -0
  104. package/src/components/OutlinedTreeSelect/OutlinedTreeSelect.vue +354 -0
  105. package/src/components/OutlinedTreeSelect/OutlinedTreeSelect.vue.d.ts +137 -0
  106. package/src/components/OutlinedTreeSelect/README.md +107 -0
  107. package/src/components/OutlinedTreeSelect/index.d.ts +3 -0
  108. package/src/components/OutlinedTreeSelect/index.ts +12 -0
  109. package/src/echarts/index.d.ts +9 -0
  110. package/src/echarts/index.ts +13 -8
  111. package/src/excel/exportExcel.d.ts +18 -0
  112. package/src/index.d.ts +26 -0
  113. package/src/index.ts +14 -0
@@ -0,0 +1,88 @@
1
+ import type { OutlinedDatePickerCssValue, OutlinedDatePickerDisabledDate, OutlinedDatePickerProps, OutlinedDatePickerValue } from './OutlinedDatePicker.types';
2
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<OutlinedDatePickerProps>, {
3
+ value: string;
4
+ placeholder: string;
5
+ label: string;
6
+ disabled: boolean;
7
+ timeValue: boolean;
8
+ typeDate: string;
9
+ format: string;
10
+ valueFormat: string;
11
+ showPassword: boolean;
12
+ multiple: boolean;
13
+ inputHeight: number;
14
+ isBorder: boolean;
15
+ disabledDate: undefined;
16
+ marginBottom: number;
17
+ paddingTop: number;
18
+ }>>, {
19
+ focus: () => void;
20
+ blur: () => void;
21
+ handleOpen: () => void;
22
+ handleClose: () => void;
23
+ getPickerRef: () => unknown;
24
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
25
+ input: (value: OutlinedDatePickerValue) => void;
26
+ "update:value": (value: OutlinedDatePickerValue) => void;
27
+ change: (value: OutlinedDatePickerValue) => void;
28
+ focus: (value: FocusEvent) => void;
29
+ blur: (value: FocusEvent) => void;
30
+ "visible-change": (value: boolean) => void;
31
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<OutlinedDatePickerProps>, {
32
+ value: string;
33
+ placeholder: string;
34
+ label: string;
35
+ disabled: boolean;
36
+ timeValue: boolean;
37
+ typeDate: string;
38
+ format: string;
39
+ valueFormat: string;
40
+ showPassword: boolean;
41
+ multiple: boolean;
42
+ inputHeight: number;
43
+ isBorder: boolean;
44
+ disabledDate: undefined;
45
+ marginBottom: number;
46
+ paddingTop: number;
47
+ }>>> & Readonly<{
48
+ onBlur?: ((value: FocusEvent) => any) | undefined;
49
+ onChange?: ((value: OutlinedDatePickerValue) => any) | undefined;
50
+ onFocus?: ((value: FocusEvent) => any) | undefined;
51
+ onInput?: ((value: OutlinedDatePickerValue) => any) | undefined;
52
+ "onUpdate:value"?: ((value: OutlinedDatePickerValue) => any) | undefined;
53
+ "onVisible-change"?: ((value: boolean) => any) | undefined;
54
+ }>, {
55
+ label: string;
56
+ disabled: boolean;
57
+ value: OutlinedDatePickerValue;
58
+ placeholder: string;
59
+ showPassword: boolean;
60
+ inputHeight: number;
61
+ isBorder: boolean;
62
+ marginBottom: OutlinedDatePickerCssValue;
63
+ paddingTop: OutlinedDatePickerCssValue;
64
+ multiple: boolean;
65
+ timeValue: boolean;
66
+ typeDate: string;
67
+ format: string;
68
+ valueFormat: string;
69
+ disabledDate: OutlinedDatePickerDisabledDate;
70
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
71
+ export default _default;
72
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
73
+ type __VLS_TypePropsToRuntimeProps<T> = {
74
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
75
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
76
+ } : {
77
+ type: import('vue').PropType<T[K]>;
78
+ required: true;
79
+ };
80
+ };
81
+ type __VLS_WithDefaults<P, D> = {
82
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
83
+ default: D[K];
84
+ }> : P[K];
85
+ };
86
+ type __VLS_Prettify<T> = {
87
+ [K in keyof T]: T[K];
88
+ } & {};
@@ -0,0 +1,137 @@
1
+ # OutlinedDatePicker
2
+
3
+ `OutlinedDatePicker` 用来统一项目里带浮动标签样式的日期选择器,避免页面层重复写日期控件高度、标签悬浮、日期禁用和焦点控制逻辑。
4
+
5
+ ## 解决的问题
6
+
7
+ - 统一浮动标签日期选择器样式
8
+ - 统一 `v-model:value`、`input`、`update:value` 和 `change` 事件约定
9
+ - 统一 `typeDate / format / valueFormat / disabledDate` 配置方式
10
+ - 自动处理弹层展开时的焦点态和浮动标签状态
11
+ - 通过组件实例直接调用 `focus`、`blur`、`handleOpen`、`handleClose`
12
+
13
+ ## 适用场景
14
+
15
+ - 页面需要和 `OutlinedInput / OutlinedSelect` 保持一致视觉语言
16
+ - 表单页中有大量基础日期或日期时间选择器
17
+ - 希望页面只传日期类型和格式配置,不再重复封装统一壳子
18
+ - 需要兼容旧项目里的 `disabledDate="nowDate"` 这类写法
19
+
20
+ ## 不适用场景
21
+
22
+ - 需要复杂日期区间联动逻辑并完全接管弹层行为
23
+ - 不是浮动标签风格的时间控件
24
+ - 页面需要不同于 Element Plus 的日期引擎或交互模式
25
+
26
+ ## 基础用法
27
+
28
+ ```vue
29
+ <template>
30
+ <OutlinedDatePicker
31
+ v-model:value="form.effectDate"
32
+ placeholder="开始生效日期"
33
+ :is-border="true"
34
+ :input-height="40"
35
+ type-date="date"
36
+ />
37
+ </template>
38
+
39
+ <script setup lang="ts">
40
+ import { reactive } from 'vue'
41
+ import { OutlinedDatePicker } from '@hbdlzy/ui-core'
42
+
43
+ const form = reactive({
44
+ effectDate: ''
45
+ })
46
+ </script>
47
+ ```
48
+
49
+ ## 日期时间示例
50
+
51
+ ```vue
52
+ <template>
53
+ <OutlinedDatePicker
54
+ v-model:value="form.effectiveTime"
55
+ placeholder="上传收益数据开始生效时间"
56
+ :is-border="true"
57
+ type-date="datetime"
58
+ format="YYYY-MM-DD HH:mm:ss"
59
+ />
60
+ </template>
61
+
62
+ <script setup lang="ts">
63
+ import { reactive } from 'vue'
64
+ import { OutlinedDatePicker } from '@hbdlzy/ui-core'
65
+
66
+ const form = reactive({
67
+ effectiveTime: ''
68
+ })
69
+ </script>
70
+ ```
71
+
72
+ ## 禁用日期示例
73
+
74
+ ```vue
75
+ <template>
76
+ <OutlinedDatePicker
77
+ v-model:value="form.effectDate"
78
+ placeholder="开始生效日期"
79
+ type-date="date"
80
+ :disabled-date="'nowDate'"
81
+ :is-border="true"
82
+ />
83
+ </template>
84
+
85
+ <script setup lang="ts">
86
+ import { reactive } from 'vue'
87
+ import { OutlinedDatePicker } from '@hbdlzy/ui-core'
88
+
89
+ const form = reactive({
90
+ effectDate: ''
91
+ })
92
+ </script>
93
+ ```
94
+
95
+ ## Props
96
+
97
+ - `value`: 当前值,推荐通过 `v-model:value` 使用
98
+ - `placeholder`: 占位文案,同时默认作为浮动标签文案
99
+ - `label`: 自定义浮动标签文案,未传时回退到 `placeholder`
100
+ - `disabled`: 是否禁用
101
+ - `timeValue`: 是否按带时间场景处理默认时间
102
+ - `typeDate`: 日期控件类型,默认 `date`
103
+ - `format`: 展示格式,默认 `YYYY-MM-DD`
104
+ - `valueFormat`: 值格式,默认回退到 `format`
105
+ - `inputHeight`: 控件高度,默认 `40`
106
+ - `isBorder`: 是否启用底部边框样式
107
+ - `disabledDate`: 日期禁用规则,支持 `nowDate`、日期字符串、时间戳、`Date` 或函数
108
+ - `marginBottom`: 外层容器底部间距,默认 `20`
109
+ - `paddingTop`: 外层容器顶部留白,默认 `20`
110
+
111
+ ## Events
112
+
113
+ - `input`: 值变化时触发
114
+ - `update:value`: `v-model:value` 对应更新事件
115
+ - `change`: 用户确认变更时触发
116
+ - `focus`: 聚焦时触发
117
+ - `blur`: 失焦时触发
118
+ - `visible-change`: 面板展开状态变化时触发
119
+
120
+ ## Expose
121
+
122
+ - `focus`: 手动聚焦日期控件
123
+ - `blur`: 手动失焦日期控件
124
+ - `handleOpen`: 手动打开日期面板
125
+ - `handleClose`: 手动关闭日期面板
126
+ - `getPickerRef`: 获取底层 `el-date-picker` 实例
127
+
128
+ ## 透传规则
129
+
130
+ - 未被组件显式声明的属性,会自动透传给内部 `el-date-picker`
131
+ - 适合继续传 `clearable`、`editable`、`default-time`、`shortcuts`、`unlink-panels` 等 Element Plus 原生能力
132
+
133
+ ## 推荐约定
134
+
135
+ - 普通日期和日期时间选择器优先使用 `OutlinedDatePicker`
136
+ - 默认通过 `typeDate + format` 收敛常见场景
137
+ - 自定义日期禁用规则优先使用 `disabledDate`,不要在页面层重复封装相同逻辑
@@ -0,0 +1,3 @@
1
+ import OutlinedDatePicker from './OutlinedDatePicker.vue';
2
+ export default OutlinedDatePicker;
3
+ export type { OutlinedDatePickerCssValue, OutlinedDatePickerDisabledDate, OutlinedDatePickerExpose, OutlinedDatePickerProps, OutlinedDatePickerValue } from './OutlinedDatePicker.types';
@@ -0,0 +1,11 @@
1
+ import OutlinedDatePicker from './OutlinedDatePicker.vue'
2
+
3
+ export default OutlinedDatePicker
4
+
5
+ export type {
6
+ OutlinedDatePickerCssValue,
7
+ OutlinedDatePickerDisabledDate,
8
+ OutlinedDatePickerExpose,
9
+ OutlinedDatePickerProps,
10
+ OutlinedDatePickerValue
11
+ } from './OutlinedDatePicker.types'
@@ -0,0 +1,26 @@
1
+ export type OutlinedDateTimePickerCssValue = string | number;
2
+ export type OutlinedDateTimePickerValue = string;
3
+ export type OutlinedDateTimePickerDisabledDate = string | number | Date | ((date: Date) => boolean);
4
+ export interface OutlinedDateTimePickerProps {
5
+ value?: OutlinedDateTimePickerValue;
6
+ placeholder?: string;
7
+ label?: string;
8
+ inputHeight?: number;
9
+ isBorder?: boolean;
10
+ disabledDate?: OutlinedDateTimePickerDisabledDate;
11
+ separatorText?: string;
12
+ timePlaceholder?: string;
13
+ clearable?: boolean;
14
+ marginBottom?: OutlinedDateTimePickerCssValue;
15
+ paddingTop?: OutlinedDateTimePickerCssValue;
16
+ }
17
+ export interface OutlinedDateTimePickerExpose {
18
+ focusDate: () => void;
19
+ focusTime: () => void;
20
+ blurDate: () => void;
21
+ blurTime: () => void;
22
+ openDatePanel: () => void;
23
+ openTimePanel: () => void;
24
+ getDatePickerRef: () => unknown | null;
25
+ getTimePickerRef: () => unknown | null;
26
+ }
@@ -0,0 +1,34 @@
1
+ export type OutlinedDateTimePickerCssValue = string | number
2
+
3
+ export type OutlinedDateTimePickerValue = string
4
+
5
+ export type OutlinedDateTimePickerDisabledDate =
6
+ | string
7
+ | number
8
+ | Date
9
+ | ((date: Date) => boolean)
10
+
11
+ export interface OutlinedDateTimePickerProps {
12
+ value?: OutlinedDateTimePickerValue
13
+ placeholder?: string
14
+ label?: string
15
+ inputHeight?: number
16
+ isBorder?: boolean
17
+ disabledDate?: OutlinedDateTimePickerDisabledDate
18
+ separatorText?: string
19
+ timePlaceholder?: string
20
+ clearable?: boolean
21
+ marginBottom?: OutlinedDateTimePickerCssValue
22
+ paddingTop?: OutlinedDateTimePickerCssValue
23
+ }
24
+
25
+ export interface OutlinedDateTimePickerExpose {
26
+ focusDate: () => void
27
+ focusTime: () => void
28
+ blurDate: () => void
29
+ blurTime: () => void
30
+ openDatePanel: () => void
31
+ openTimePanel: () => void
32
+ getDatePickerRef: () => unknown | null
33
+ getTimePickerRef: () => unknown | null
34
+ }