@hbdlzy/ui-core 0.1.2 → 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 (83) hide show
  1. package/components.manifest.json +5 -0
  2. package/dist/components/BaseCard/BaseCard.types.d.ts +36 -0
  3. package/dist/components/BaseCard/BaseCard.vue.d.ts +122 -0
  4. package/dist/components/BaseCard/index.d.ts +3 -0
  5. package/dist/components/BaseEChart/BaseEChart.types.d.ts +26 -0
  6. package/dist/components/BaseEChart/BaseEChart.vue.d.ts +66 -0
  7. package/dist/components/BaseEChart/index.d.ts +3 -0
  8. package/dist/components/BaseExportButton/BaseExportButton.types.d.ts +21 -0
  9. package/dist/components/BaseExportButton/BaseExportButton.utils.d.ts +4 -0
  10. package/dist/components/BaseExportButton/BaseExportButton.vue.d.ts +128 -0
  11. package/dist/components/BaseExportButton/index.d.ts +5 -0
  12. package/dist/components/BaseTable/BaseTable.types.d.ts +163 -0
  13. package/dist/components/BaseTable/BaseTable.vue.d.ts +157 -0
  14. package/dist/components/BaseTable/index.d.ts +3 -0
  15. package/dist/components/OutlinedCascader/OutlinedCascader.types.d.ts +25 -0
  16. package/dist/components/OutlinedCascader/OutlinedCascader.vue.d.ts +85 -0
  17. package/dist/components/OutlinedCascader/index.d.ts +3 -0
  18. package/dist/components/OutlinedDatePicker/OutlinedDatePicker.types.d.ts +27 -0
  19. package/dist/components/OutlinedDatePicker/OutlinedDatePicker.vue.d.ts +88 -0
  20. package/dist/components/OutlinedDatePicker/index.d.ts +3 -0
  21. package/dist/components/OutlinedDateTimePicker/OutlinedDateTimePicker.types.d.ts +26 -0
  22. package/dist/components/OutlinedDateTimePicker/OutlinedDateTimePicker.vue.d.ts +97 -0
  23. package/dist/components/OutlinedDateTimePicker/index.d.ts +3 -0
  24. package/dist/components/OutlinedInput/OutlinedInput.types.d.ts +29 -0
  25. package/dist/components/OutlinedInput/OutlinedInput.vue.d.ts +97 -0
  26. package/dist/components/OutlinedInput/index.d.ts +3 -0
  27. package/dist/components/OutlinedSelect/OutlinedSelect.types.d.ts +38 -0
  28. package/dist/components/OutlinedSelect/OutlinedSelect.vue.d.ts +116 -0
  29. package/dist/components/OutlinedSelect/index.d.ts +3 -0
  30. package/dist/components/OutlinedTimePicker/OutlinedTimePicker.types.d.ts +28 -0
  31. package/dist/components/OutlinedTimePicker/OutlinedTimePicker.vue.d.ts +94 -0
  32. package/dist/components/OutlinedTimePicker/index.d.ts +3 -0
  33. package/dist/components/OutlinedTreeSelect/OutlinedTreeSelect.types.d.ts +46 -0
  34. package/dist/components/OutlinedTreeSelect/OutlinedTreeSelect.vue.d.ts +137 -0
  35. package/dist/components/OutlinedTreeSelect/index.d.ts +3 -0
  36. package/dist/echarts/index.d.ts +9 -0
  37. package/dist/excel/exportExcel.d.ts +18 -0
  38. package/dist/index.cjs +1 -1
  39. package/dist/index.d.ts +26 -0
  40. package/dist/index.js +306 -30
  41. package/dist/style.css +1 -1
  42. package/package.json +5 -4
  43. package/src/components/BaseCard/BaseCard.types.d.ts +36 -0
  44. package/src/components/BaseCard/BaseCard.vue.d.ts +122 -0
  45. package/src/components/BaseCard/index.d.ts +3 -0
  46. package/src/components/BaseEChart/BaseEChart.types.d.ts +26 -0
  47. package/src/components/BaseEChart/BaseEChart.vue.d.ts +66 -0
  48. package/src/components/BaseEChart/index.d.ts +3 -0
  49. package/src/components/BaseExportButton/BaseExportButton.types.d.ts +21 -0
  50. package/src/components/BaseExportButton/BaseExportButton.utils.d.ts +4 -0
  51. package/src/components/BaseExportButton/BaseExportButton.vue.d.ts +128 -0
  52. package/src/components/BaseExportButton/index.d.ts +5 -0
  53. package/src/components/BaseTable/BaseTable.types.d.ts +163 -0
  54. package/src/components/BaseTable/BaseTable.types.ts +12 -0
  55. package/src/components/BaseTable/BaseTable.vue +412 -13
  56. package/src/components/BaseTable/BaseTable.vue.d.ts +157 -0
  57. package/src/components/BaseTable/README.md +106 -120
  58. package/src/components/BaseTable/index.d.ts +3 -0
  59. package/src/components/OutlinedCascader/OutlinedCascader.types.d.ts +25 -0
  60. package/src/components/OutlinedCascader/OutlinedCascader.vue.d.ts +85 -0
  61. package/src/components/OutlinedCascader/index.d.ts +3 -0
  62. package/src/components/OutlinedDatePicker/OutlinedDatePicker.types.d.ts +27 -0
  63. package/src/components/OutlinedDatePicker/OutlinedDatePicker.vue.d.ts +88 -0
  64. package/src/components/OutlinedDatePicker/index.d.ts +3 -0
  65. package/src/components/OutlinedDateTimePicker/OutlinedDateTimePicker.types.d.ts +26 -0
  66. package/src/components/OutlinedDateTimePicker/OutlinedDateTimePicker.vue.d.ts +97 -0
  67. package/src/components/OutlinedDateTimePicker/index.d.ts +3 -0
  68. package/src/components/OutlinedInput/OutlinedInput.types.d.ts +29 -0
  69. package/src/components/OutlinedInput/OutlinedInput.vue.d.ts +97 -0
  70. package/src/components/OutlinedInput/index.d.ts +3 -0
  71. package/src/components/OutlinedSelect/OutlinedSelect.types.d.ts +38 -0
  72. package/src/components/OutlinedSelect/OutlinedSelect.vue.d.ts +116 -0
  73. package/src/components/OutlinedSelect/index.d.ts +3 -0
  74. package/src/components/OutlinedTimePicker/OutlinedTimePicker.types.d.ts +28 -0
  75. package/src/components/OutlinedTimePicker/OutlinedTimePicker.vue.d.ts +94 -0
  76. package/src/components/OutlinedTimePicker/index.d.ts +3 -0
  77. package/src/components/OutlinedTreeSelect/OutlinedTreeSelect.types.d.ts +46 -0
  78. package/src/components/OutlinedTreeSelect/OutlinedTreeSelect.vue.d.ts +137 -0
  79. package/src/components/OutlinedTreeSelect/index.d.ts +3 -0
  80. package/src/echarts/index.d.ts +9 -0
  81. package/src/echarts/index.ts +13 -8
  82. package/src/excel/exportExcel.d.ts +18 -0
  83. package/src/index.d.ts +26 -0
@@ -1,26 +1,27 @@
1
1
  # BaseTable
2
2
 
3
- `BaseTable` 用来统一封装项目里高频出现的表格壳子、分页栏、远程请求、操作列、图片列、标签列和常见表格暴露方法,避免页面层重复写同一套表格基础代码。
3
+ `BaseTable` 用来统一封装项目里高频出现的表格壳子、分页栏、远程请求、排序参数映射、结果适配、表头列搜索和常见列渲染能力,避免页面层重复写同一套 `el-table + el-pagination` 基础代码。
4
4
 
5
5
  ## 解决的问题
6
6
 
7
- - 页面层不再重复封装 `el-table + el-pagination`
7
+ - 页面层不再重复封装表格容器、分页和加载逻辑
8
8
  - 同时支持本地数据模式和远程请求模式
9
- - 统一收敛勾选列、索引列、操作列、图片列、标签列、输入列
10
- - 支持列配置驱动和插槽扩展,既能快用,也能保留复杂场景灵活性
11
- - 提供 `load`、`refresh`、`setData`、`clearSelection` 等常用暴露方法
9
+ - 统一收敛勾选列、序号列、操作列、图片列、标签列、输入列
10
+ - 支持列配置驱动和命名插槽扩展
11
+ - 提供 `load`、`refresh`、`setData`、`resetPage` 等常用方法
12
+ - 支持旧 `TableComponent.vue` 里常见的表头列搜索能力
12
13
 
13
14
  ## 适用场景
14
15
 
15
16
  - 列表页、管理页、日志页、明细页
16
17
  - 需要统一分页和表格风格的页面
17
18
  - 同一项目里会重复出现的通用管理表格
18
- - 页面层希望把请求逻辑和列配置分开维护
19
+ - 希望把请求逻辑和列配置拆开维护的页面
19
20
 
20
21
  ## 不适用场景
21
22
 
22
23
  - 高度强业务定制的复杂表格编辑器
23
- - 需要虚拟滚动、大数据量渲染专项优化的场景
24
+ - 需要虚拟滚动或超大数据量专门优化的场景
24
25
  - 完全脱离 Element Plus Table 行为的表格交互
25
26
 
26
27
  ## 基础用法
@@ -158,118 +159,98 @@ const handleRowAction = ({ row, action }: { row: RowItem; action: { type: string
158
159
  </script>
159
160
  ```
160
161
 
161
- ### 请求结果适配
162
+ ## 请求结果适配
162
163
 
163
- 如果接口返回结构不是常见的 `records/list/items + total`,可以直接传 `resultAdapter` 做结果归一化。
164
-
165
- ```vue
166
- <script setup lang="ts">
167
- import { BaseTable } from '@hbdlzy/ui-core'
164
+ 如果接口返回结构不是常见的 `records/list/items + total`,可以直接传 `resultAdapter` 做归一化。
168
165
 
166
+ ```ts
169
167
  const resultAdapter = (result: any) => {
170
168
  return {
171
169
  rows: result?.payload?.rows || [],
172
170
  total: Number(result?.payload?.count || 0)
173
171
  }
174
172
  }
175
- </script>
176
-
177
- <template>
178
- <BaseTable
179
- :columns="columns"
180
- :request="requestTableData"
181
- :result-adapter="resultAdapter"
182
- />
183
- </template>
184
173
  ```
185
174
 
186
- 这样无论接口原始返回是:
175
+ ## 远程排序和参数映射
187
176
 
188
- ```ts
189
- {
190
- payload: {
191
- rows: [],
192
- count: 36
193
- }
194
- }
177
+ 如果接口需要排序字段和排序方向,可以直接使用内置映射能力。
178
+
179
+ ```vue
180
+ <BaseTable
181
+ :columns="columns"
182
+ :request="requestTableData"
183
+ :default-sort="{ prop: 'createdAt', order: 'descending' }"
184
+ sort-field-key="orderBy"
185
+ sort-order-key="orderDirection"
186
+ />
195
187
  ```
196
188
 
197
- 还是别的结构,页面层都可以自己决定如何映射成:
189
+ 请求参数会自动映射成:
198
190
 
199
191
  ```ts
200
192
  {
201
- rows: [],
202
- total: 36
193
+ pageNum: 1,
194
+ pageSize: 20,
195
+ orderBy: 'created_time',
196
+ orderDirection: 'desc'
203
197
  }
204
198
  ```
205
199
 
206
- ### 远程排序和参数映射
200
+ 如果接口参数结构更特殊,可以改用 `sortMapper`。
207
201
 
208
- 如果接口需要排序字段和排序方向,可以直接用内置映射能力。
202
+ ## 表头列搜索
209
203
 
210
- ```vue
211
- <script setup lang="ts">
212
- import { BaseTable, type BaseTableColumn } from '@hbdlzy/ui-core'
204
+ `BaseTable` 现在支持列头搜索能力,用法和旧 `TableComponent.vue` 里的 `isSearch` 很接近,但配置方式更收敛。
213
205
 
214
- interface RowItem {
215
- id: number
216
- name: string
217
- createdAt: string
218
- }
206
+ ### 基础写法
219
207
 
220
- const columns: BaseTableColumn<RowItem>[] = [
221
- {
222
- label: '名称',
223
- prop: 'name',
224
- sortable: true
225
- },
208
+ ```ts
209
+ const columns = [
226
210
  {
227
- label: '创建时间',
228
- prop: 'createdAt',
229
- sortField: 'created_time',
230
- sortable: true
211
+ label: '联系人',
212
+ prop: 'owner',
213
+ headerSearch: true
231
214
  }
232
215
  ]
233
- </script>
234
-
235
- <template>
236
- <BaseTable
237
- :columns="columns"
238
- :request="requestTableData"
239
- :default-sort="{ prop: 'createdAt', order: 'descending' }"
240
- sort-field-key="orderBy"
241
- sort-order-key="orderDirection"
242
- />
243
- </template>
244
216
  ```
245
217
 
246
- 上面这个配置会把请求参数自动映射成:
218
+ 开启后,这一列的表头会出现搜索图标,点击后会弹出输入框,并提供“搜索 / 重置”操作。
219
+
220
+ ### 高级写法
247
221
 
248
222
  ```ts
249
- {
250
- pageNum: 1,
251
- pageSize: 20,
252
- orderBy: 'created_time',
253
- orderDirection: 'desc'
254
- }
223
+ const columns = [
224
+ {
225
+ label: '联系人',
226
+ prop: 'owner',
227
+ headerSearch: {
228
+ paramKey: 'contactName',
229
+ placeholder: '请输入搜索内容',
230
+ width: 280,
231
+ searchText: '搜索',
232
+ resetText: '重置'
233
+ }
234
+ }
235
+ ]
255
236
  ```
256
237
 
257
- 如果接口参数更特殊,可以直接传 `sortMapper` 自定义:
238
+ ### 行为说明
258
239
 
259
- ```ts
260
- const sortMapper = (payload: { field?: string; direction: string | null }) => {
261
- if (!payload.field || !payload.direction) {
262
- return {}
263
- }
240
+ - 远程模式下,列头搜索值会自动合并到 `request(params)` 的参数里
241
+ - 触发搜索或重置时,会自动把页码重置到第一页
242
+ - 如果配置了 `paramKey`,请求参数会优先使用它
243
+ - 如果没有配置 `paramKey`,默认使用当前列的 `prop`
244
+ - 本地数据模式下,列头搜索会对当前 `data` 做简单文本包含过滤
245
+ - 多个开启搜索的列会按“同时满足”处理
264
246
 
265
- return {
266
- sortList: [
267
- {
268
- property: payload.field,
269
- direction: payload.direction === 'asc'
270
- }
271
- ]
272
- }
247
+ 示例请求参数:
248
+
249
+ ```ts
250
+ {
251
+ currentPage: 1,
252
+ pageSize: 20,
253
+ owner: '张三'
273
254
  }
274
255
  ```
275
256
 
@@ -296,9 +277,10 @@ const sortMapper = (payload: { field?: string; direction: string | null }) => {
296
277
  - `data`: 本地数据源
297
278
  - `request`: 远程请求回调
298
279
  - `requestParams`: 请求附加参数
299
- - `resultAdapter`: 请求结果适配器,用于把接口原始返回映射成 `{ rows, total }`
280
+ - `resultAdapter`: 请求结果适配器,用于把原始结果映射成 `{ rows, total }`
300
281
  - `autoLoad`: 有 `request` 时是否挂载后自动请求
301
282
  - `reloadOnParamsChange`: `requestParams` 改变时是否自动重载
283
+ - `reloadOnSortChange`: 排序变化时是否自动重载远程数据
302
284
  - `rowKey`: 行主键,默认 `id`
303
285
  - `height`: 表格高度
304
286
  - `border`: 是否显示边框
@@ -311,7 +293,6 @@ const sortMapper = (payload: { field?: string; direction: string | null }) => {
311
293
  - `currentPageKey`: 远程请求时页码字段名,默认 `pageNum`
312
294
  - `pageSizeKey`: 远程请求时每页条数字段名,默认 `pageSize`
313
295
  - `defaultSort`: 默认排序状态
314
- - `reloadOnSortChange`: 排序变化时是否自动重载远程数据
315
296
  - `sortFieldKey`: 排序字段请求参数名,默认 `sortField`
316
297
  - `sortOrderKey`: 排序方向请求参数名,默认 `sortOrder`
317
298
  - `sortOrderMap`: 排序方向值映射,默认 `{ ascending: 'asc', descending: 'desc' }`
@@ -320,21 +301,15 @@ const sortMapper = (payload: { field?: string; direction: string | null }) => {
320
301
 
321
302
  ## Column 能力
322
303
 
323
- 列配置里当前支持这些高频模式:
304
+ 列配置当前支持这些高频模式:
324
305
 
325
306
  - 默认文本列
326
307
  - `kind: 'link'`
327
- 点击型文本列
328
308
  - `kind: 'actions'`
329
- 操作列,配合 `actions`
330
309
  - `kind: 'image'`
331
- 图片列
332
310
  - `kind: 'tag'`
333
- 标签映射列,配合 `options`
334
311
  - `kind: 'html'`
335
- HTML 内容列
336
312
  - `kind: 'input'`
337
- 行内输入列
338
313
 
339
314
  常用字段:
340
315
 
@@ -346,6 +321,7 @@ const sortMapper = (payload: { field?: string; direction: string | null }) => {
346
321
  - `fixed`
347
322
  - `sortable`
348
323
  - `sortField`
324
+ - `headerSearch`
349
325
  - `showOverflowTooltip`
350
326
  - `actions`
351
327
  - `options`
@@ -357,42 +333,52 @@ const sortMapper = (payload: { field?: string; direction: string | null }) => {
357
333
 
358
334
  ## Events
359
335
 
360
- - `selection-change`: 勾选行变化
361
- - `sort-change`: 排序变化
362
- 返回 `prop`、`order`、`field`、`direction`
363
- - `row-action`: 点击操作列按钮
364
- - `cell-click`: 点击链接型单元格
365
- - `cell-input`: 行内输入变化
366
- - `page-change`: 页码变化
367
- - `size-change`: 每页条数变化
368
- - `update:pagination`: 分页状态变化
369
- - `loaded`: 远程数据加载完成
370
- - `request-error`: 远程请求失败
336
+ - `selection-change`
337
+ - `sort-change`
338
+ - `row-action`
339
+ - `cell-click`
340
+ - `cell-input`
341
+ - `page-change`
342
+ - `size-change`
343
+ - `update:pagination`
344
+ - `loaded`
345
+ - `request-error`
371
346
 
372
347
  ## Expose
373
348
 
374
- - `load(data?)`: 传数组时直接灌入本地数据,不传时走远程请求
375
- - `refresh()`: 按当前分页和参数重新请求
376
- - `setData(data)`: 直接替换当前表格数据
377
- - `resetPage()`: 页码重置到第一页并重新加载
378
- - `clearSelection()`: 清空勾选
379
- - `toggleRowSelection(row, selected?)`: 手动切换某一行勾选状态
380
- - `getSelectionRows()`: 获取当前勾选行
381
- - `getRows()`: 获取当前表格行数据
349
+ - `load(data?)`
350
+ - `refresh()`
351
+ - `setData(data)`
352
+ - `resetPage()`
353
+ - `setHeaderSearchValue(key, value, shouldReload?)`
354
+ - `resetHeaderSearch(key?)`
355
+ - `getHeaderSearchValues()`
356
+ - `clearSelection()`
357
+ - `toggleRowSelection(row, selected?)`
358
+ - `getSelectionRows()`
359
+ - `getRows()`
360
+
361
+ 示例:
362
+
363
+ ```ts
364
+ tableRef.value?.setHeaderSearchValue('owner', '张三')
365
+ tableRef.value?.resetHeaderSearch()
366
+ ```
382
367
 
383
368
  ## 从旧 TableComponent 迁移的建议
384
369
 
385
370
  - 把旧的 `listUrl`、`paramsData` 改成 `request + requestParams`
386
- - 如果旧接口返回结构不统一,优先通过 `resultAdapter` 适配,不要改公共组件内部解析逻辑
371
+ - 如果旧接口返回结构不统一,优先通过 `resultAdapter` 适配
387
372
  - 把旧的 `sortKey`、`sortList` 映射逻辑改成 `sortField`、`sortFieldKey`、`sortOrderKey` 或 `sortMapper`
388
373
  - 把旧的 `@handleAction` 改成 `@row-action`
389
- - 把旧的顶部筛选表单内容移动到 `toolbar` 插槽
390
- - 业务字典渲染优先用 `kind: 'tag' + options`
391
- - 如果某列逻辑太特殊,优先用 `cell-${prop}` 插槽,不要继续把业务逻辑塞回公共组件
374
+ - 把旧的顶部筛选表单迁移到 `toolbar` 插槽
375
+ - 把旧的 `isSearch` 迁移成 `headerSearch`
376
+ - 业务字典渲染优先使用 `kind: 'tag' + options`
377
+ - 列渲染逻辑过于特殊时,优先使用 `cell-${prop}` 插槽
392
378
 
393
379
  ## 推荐约定
394
380
 
395
381
  - 页面层负责请求参数和接口编排,`BaseTable` 只负责通用表格能力
396
- - 默认优先使用列配置驱动,只有复杂单元格才用插槽
397
- - 通用操作列尽量统一成 `row-action`
398
- - 复杂筛选表单不要内置到表格组件里,统一通过 `toolbar` 插槽扩展
382
+ - 默认优先使用列配置驱动,只有复杂单元格才使用插槽
383
+ - 通用操作列尽量统一收敛到 `row-action`
384
+ - 复杂筛选表单不要内置到表格组件里,统一通过 `toolbar` 扩展
@@ -0,0 +1,3 @@
1
+ import BaseTable from './BaseTable.vue';
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';
@@ -0,0 +1,25 @@
1
+ export type OutlinedCascaderCssValue = string | number;
2
+ export type OutlinedCascaderValue = Array<string | number>;
3
+ export interface OutlinedCascaderProps {
4
+ value?: OutlinedCascaderValue;
5
+ options?: Record<string, unknown>[];
6
+ clearable?: boolean;
7
+ propsValue?: Record<string, unknown>;
8
+ placeholder?: string;
9
+ label?: string;
10
+ popperClass?: string;
11
+ disabled?: boolean;
12
+ inputHeight?: number;
13
+ isBorder?: boolean;
14
+ filterable?: boolean;
15
+ levels?: boolean;
16
+ marginBottom?: OutlinedCascaderCssValue;
17
+ paddingTop?: OutlinedCascaderCssValue;
18
+ }
19
+ export interface OutlinedCascaderExpose {
20
+ focus: () => void;
21
+ blur: () => void;
22
+ togglePopperVisible: () => void;
23
+ clear: () => void;
24
+ getCascaderRef: () => unknown | null;
25
+ }
@@ -0,0 +1,85 @@
1
+ import type { OutlinedCascaderCssValue, OutlinedCascaderProps, OutlinedCascaderValue } from './OutlinedCascader.types';
2
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<OutlinedCascaderProps>, {
3
+ value: () => never[];
4
+ options: () => never[];
5
+ clearable: boolean;
6
+ propsValue: undefined;
7
+ placeholder: string;
8
+ label: string;
9
+ popperClass: string;
10
+ disabled: boolean;
11
+ inputHeight: number;
12
+ isBorder: boolean;
13
+ filterable: boolean;
14
+ levels: boolean;
15
+ marginBottom: number;
16
+ paddingTop: number;
17
+ }>>, {
18
+ focus: () => void;
19
+ blur: () => void;
20
+ togglePopperVisible: () => void;
21
+ clear: () => void;
22
+ getCascaderRef: () => unknown;
23
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
24
+ input: (value: OutlinedCascaderValue) => void;
25
+ "update:value": (value: OutlinedCascaderValue) => void;
26
+ change: (value: OutlinedCascaderValue) => void;
27
+ focus: (value: FocusEvent) => void;
28
+ blur: (value: FocusEvent) => void;
29
+ "visible-change": (value: boolean) => void;
30
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<OutlinedCascaderProps>, {
31
+ value: () => never[];
32
+ options: () => never[];
33
+ clearable: boolean;
34
+ propsValue: undefined;
35
+ placeholder: string;
36
+ label: string;
37
+ popperClass: string;
38
+ disabled: boolean;
39
+ inputHeight: number;
40
+ isBorder: boolean;
41
+ filterable: boolean;
42
+ levels: boolean;
43
+ marginBottom: number;
44
+ paddingTop: number;
45
+ }>>> & Readonly<{
46
+ onBlur?: ((value: FocusEvent) => any) | undefined;
47
+ onChange?: ((value: OutlinedCascaderValue) => any) | undefined;
48
+ onFocus?: ((value: FocusEvent) => any) | undefined;
49
+ onInput?: ((value: OutlinedCascaderValue) => any) | undefined;
50
+ "onUpdate:value"?: ((value: OutlinedCascaderValue) => any) | undefined;
51
+ "onVisible-change"?: ((value: boolean) => any) | undefined;
52
+ }>, {
53
+ label: string;
54
+ disabled: boolean;
55
+ popperClass: string;
56
+ value: OutlinedCascaderValue;
57
+ placeholder: string;
58
+ clearable: boolean;
59
+ options: Record<string, unknown>[];
60
+ inputHeight: number;
61
+ isBorder: boolean;
62
+ marginBottom: OutlinedCascaderCssValue;
63
+ paddingTop: OutlinedCascaderCssValue;
64
+ filterable: boolean;
65
+ propsValue: Record<string, unknown>;
66
+ levels: boolean;
67
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
68
+ export default _default;
69
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
70
+ type __VLS_TypePropsToRuntimeProps<T> = {
71
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
72
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
73
+ } : {
74
+ type: import('vue').PropType<T[K]>;
75
+ required: true;
76
+ };
77
+ };
78
+ type __VLS_WithDefaults<P, D> = {
79
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
80
+ default: D[K];
81
+ }> : P[K];
82
+ };
83
+ type __VLS_Prettify<T> = {
84
+ [K in keyof T]: T[K];
85
+ } & {};
@@ -0,0 +1,3 @@
1
+ import OutlinedCascader from './OutlinedCascader.vue';
2
+ export default OutlinedCascader;
3
+ export type { OutlinedCascaderCssValue, OutlinedCascaderExpose, OutlinedCascaderProps, OutlinedCascaderValue } from './OutlinedCascader.types';
@@ -0,0 +1,27 @@
1
+ export type OutlinedDatePickerCssValue = string | number;
2
+ export type OutlinedDatePickerValue = string | number | Date | Array<string | number | Date> | null;
3
+ export type OutlinedDatePickerDisabledDate = string | number | Date | ((date: Date) => boolean);
4
+ export interface OutlinedDatePickerProps {
5
+ value?: OutlinedDatePickerValue;
6
+ placeholder?: string;
7
+ label?: string;
8
+ disabled?: boolean;
9
+ timeValue?: boolean;
10
+ typeDate?: string;
11
+ format?: string;
12
+ valueFormat?: string;
13
+ showPassword?: boolean;
14
+ multiple?: boolean;
15
+ inputHeight?: number;
16
+ isBorder?: boolean;
17
+ disabledDate?: OutlinedDatePickerDisabledDate;
18
+ marginBottom?: OutlinedDatePickerCssValue;
19
+ paddingTop?: OutlinedDatePickerCssValue;
20
+ }
21
+ export interface OutlinedDatePickerExpose {
22
+ focus: () => void;
23
+ blur: () => void;
24
+ handleOpen: () => void;
25
+ handleClose: () => void;
26
+ getPickerRef: () => unknown | null;
27
+ }
@@ -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,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,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
+ }