@oneflowui/ui 0.2.3 → 0.4.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 (45) hide show
  1. package/dist/{FieldCheckbox-DPylU5RA.js → FieldCheckbox-DdNQUeAv.js} +1 -1
  2. package/dist/{FieldDate-BWtlvi5Y.js → FieldDate-DYVy9HXM.js} +1 -1
  3. package/dist/{FieldDatetime-BXghiCm8.js → FieldDatetime-CxcGkDo4.js} +1 -1
  4. package/dist/{FieldEmail-D-hUADX4.js → FieldEmail-6t5822TS.js} +1 -1
  5. package/dist/{FieldMultiSelect-Di0wE1Ns.js → FieldMultiSelect-P1pJRMmz.js} +2 -2
  6. package/dist/{FieldNumber-BbcbizO4.js → FieldNumber-Bt22YSiY.js} +1 -1
  7. package/dist/{FieldRating-KKEc2khS.js → FieldRating-CsdZksdO.js} +1 -1
  8. package/dist/{FieldSelect-D2qtt-0u.js → FieldSelect-CQysnh7a.js} +2 -2
  9. package/dist/{FieldText-DYbDp4aP.js → FieldText-AcMBY3EY.js} +1 -1
  10. package/dist/{FieldUrl-BoOM8A5O.js → FieldUrl-CzpC7swD.js} +1 -1
  11. package/dist/components/base/ButtonGroup.vue.d.ts +1 -1
  12. package/dist/components/base/SectionBlock.vue.d.ts +4 -2
  13. package/dist/components/base/StatusIndicator.vue.d.ts +3 -0
  14. package/dist/components/editor/RichTextEditor.vue.d.ts +6 -6
  15. package/dist/components/field/FieldCheckbox.vue.d.ts +2 -2
  16. package/dist/components/field/FieldDate.vue.d.ts +2 -2
  17. package/dist/components/field/FieldDatetime.vue.d.ts +2 -2
  18. package/dist/components/field/FieldEmail.vue.d.ts +2 -2
  19. package/dist/components/field/FieldMultiSelect.vue.d.ts +2 -2
  20. package/dist/components/field/FieldNumber.vue.d.ts +2 -2
  21. package/dist/components/field/FieldRating.vue.d.ts +2 -2
  22. package/dist/components/field/FieldSelect.vue.d.ts +2 -2
  23. package/dist/components/field/FieldText.vue.d.ts +2 -2
  24. package/dist/components/field/FieldUrl.vue.d.ts +2 -2
  25. package/dist/components/layout/AppLayout.vue.d.ts +9 -1
  26. package/dist/components/overlay/Drawer.vue.d.ts +9 -1
  27. package/dist/components/overlay/Modal.vue.d.ts +6 -2
  28. package/dist/components/table/DataTable.vue.d.ts +60 -43
  29. package/dist/components/table/FieldCell.vue.d.ts +2 -2
  30. package/dist/components/table/TableColumnManager.vue.d.ts +3 -1
  31. package/dist/components/table/TableDataRow.vue.d.ts +3 -1
  32. package/dist/components/table/TableFilterPanel.vue.d.ts +3 -1
  33. package/dist/components/table/TableHeaderRow.vue.d.ts +1 -1
  34. package/dist/composables/index.d.ts +5 -0
  35. package/dist/composables/useBreakpoint.d.ts +5 -0
  36. package/dist/composables/useTableColumns.d.ts +18 -0
  37. package/dist/composables/useTableData.d.ts +17 -0
  38. package/dist/composables/useTableGroup.d.ts +20 -0
  39. package/dist/constants/table.d.ts +2 -0
  40. package/dist/{index-CTlM81Ib.js → index-Hqg3-HB7.js} +3845 -3645
  41. package/dist/oneflow-ui.js +105 -104
  42. package/dist/oneflow-ui.umd.cjs +10 -10
  43. package/dist/style.css +1 -1
  44. package/dist/types/index.d.ts +26 -0
  45. package/package.json +24 -12
@@ -1,3 +1,4 @@
1
+ export type Density = 'comfortable' | 'compact';
1
2
  export type Priority = string;
2
3
  export type TaskStatus = string;
3
4
  export type ViewType = "table" | "kanban" | "gallery" | "timeline" | "detail";
@@ -44,12 +45,37 @@ export interface TableColumn {
44
45
  key: string;
45
46
  label: string;
46
47
  width?: number | "fill";
48
+ minWidth?: number;
47
49
  align?: "left" | "center" | "right";
48
50
  /** 列数据类型,用于筛选面板选择对应的操作符 */
49
51
  type?: "string" | "number" | "date" | "status" | "priority";
50
52
  /** 是否隐藏该列(列管理器控制) */
51
53
  hidden?: boolean;
52
54
  }
55
+ /**
56
+ * DataTable 组件的 Props 类型定义(与 DataTable.vue 中 defineProps 保持同步)
57
+ */
58
+ export interface DataTableProps {
59
+ tasks?: Task[];
60
+ records?: DataRecord[];
61
+ schema?: TableSchema;
62
+ view?: ViewConfig;
63
+ columns?: TableColumn[];
64
+ rowKey?: string;
65
+ selectable?: boolean;
66
+ addable?: boolean;
67
+ priorityColorMap?: ColorMap;
68
+ statusColorMap?: ColorMap;
69
+ groupBy?: string;
70
+ groupColorMap?: ColorMap;
71
+ /** 手动强制开关虚拟滚动;undefined 表示自动判断 */
72
+ virtual?: boolean;
73
+ /**
74
+ * 自动启用虚拟滚动的行数阈值(默认 100)。
75
+ * 仅在 `virtual` prop 未传时生效。
76
+ */
77
+ virtualThreshold?: number;
78
+ }
53
79
  export interface KanbanColumnData {
54
80
  id: string;
55
81
  title: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oneflowui/ui",
3
- "version": "0.2.3",
3
+ "version": "0.4.0",
4
4
  "description": "OneFlow UI Component Library - Vue3 components for task management views",
5
5
  "type": "module",
6
6
  "main": "./dist/oneflow-ui.umd.cjs",
@@ -17,16 +17,6 @@
17
17
  "files": [
18
18
  "dist"
19
19
  ],
20
- "scripts": {
21
- "dev": "vite --port 5174 --host",
22
- "build": "vue-tsc && vite build",
23
- "preview": "vite preview",
24
- "type-check": "vue-tsc --noEmit",
25
- "test": "vitest run",
26
- "test:watch": "vitest",
27
- "format": "oxfmt --write src",
28
- "format:check": "oxfmt --check src"
29
- },
30
20
  "peerDependencies": {
31
21
  "mermaid": ">=10.0.0",
32
22
  "vue": "^3.3.0"
@@ -46,17 +36,39 @@
46
36
  "vue-draggable-plus": "^0.5.0"
47
37
  },
48
38
  "devDependencies": {
39
+ "@eslint/js": "^9.0.0",
49
40
  "@types/node": "^20.0.0",
50
41
  "@vitejs/plugin-vue": "^5.0.0",
51
42
  "@vue/test-utils": "^2.4.6",
43
+ "eslint": "^9.0.0",
44
+ "eslint-plugin-vue": "^9.0.0",
52
45
  "jsdom": "^24.1.3",
53
46
  "mermaid": "^11.12.3",
54
47
  "oxfmt": "^0.35.0",
48
+ "postcss-html": "^1.0.0",
49
+ "stylelint": "^16.0.0",
50
+ "stylelint-config-recommended-vue": "^1.0.0",
55
51
  "typescript": "^5.3.0",
52
+ "typescript-eslint": "^8.0.0",
56
53
  "vite": "^5.0.0",
57
54
  "vite-plugin-dts": "^4.5.4",
58
55
  "vitest": "^2.1.8",
59
56
  "vue": "^3.4.0",
60
57
  "vue-tsc": "^2.0.0"
58
+ },
59
+ "scripts": {
60
+ "dev": "vite --port 5174 --host",
61
+ "build": "vue-tsc && vite build",
62
+ "preview": "vite preview",
63
+ "type-check": "vue-tsc --noEmit",
64
+ "test": "vitest run",
65
+ "test:watch": "vitest",
66
+ "format": "oxfmt --write src",
67
+ "format:check": "oxfmt --check src",
68
+ "lint": "eslint src",
69
+ "lint:fix": "eslint src --fix",
70
+ "lint:style": "stylelint \"src/**/*.{vue,css}\"",
71
+ "lint:style:fix": "stylelint \"src/**/*.{vue,css}\" --fix",
72
+ "lint:all": "pnpm lint && pnpm lint:style"
61
73
  }
62
- }
74
+ }