@oneflowui/ui 0.4.3 → 0.5.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 (158) hide show
  1. package/README.en.md +1 -1
  2. package/README.md +70 -0
  3. package/dist/assets/tableWorker-CTsbCPPP.js +1 -0
  4. package/dist/components/ContextMenu/index.vue.d.ts +2 -1
  5. package/dist/components/ContextMenu/index.vue.js +2 -2
  6. package/dist/components/ContextMenu/index.vue2.js +37 -36
  7. package/dist/components/base/DropdownMenu.vue.js +2 -2
  8. package/dist/components/base/DropdownMenu.vue2.js +38 -39
  9. package/dist/components/base/MonitorItem.vue.d.ts +1 -1
  10. package/dist/components/base/PersonaCard.vue.d.ts +2 -1
  11. package/dist/components/base/PersonaCard.vue.js +3 -3
  12. package/dist/components/base/PersonaCard.vue2.js +51 -39
  13. package/dist/components/base/RefTag.vue.d.ts +2 -2
  14. package/dist/components/base/RefTag.vue.js +3 -3
  15. package/dist/components/base/SearchHighlight.vue.d.ts +6 -0
  16. package/dist/components/base/SearchHighlight.vue.js +7 -0
  17. package/dist/components/base/SearchHighlight.vue2.js +21 -0
  18. package/dist/components/base/ToolbarBtn.vue.d.ts +2 -1
  19. package/dist/components/base/ToolbarBtn.vue.js +1 -1
  20. package/dist/components/base/ViewModeGroup.vue.d.ts +2 -1
  21. package/dist/components/base/ViewModeGroup.vue.js +3 -3
  22. package/dist/components/base/ViewSwitcher.vue.d.ts +2 -1
  23. package/dist/components/base/ViewSwitcher.vue.js +2 -2
  24. package/dist/components/base/index.d.ts +1 -0
  25. package/dist/components/database/DatabaseView.vue.d.ts +171 -0
  26. package/dist/components/database/DatabaseView.vue.js +7 -0
  27. package/dist/components/database/DatabaseView.vue2.js +774 -0
  28. package/dist/components/database/index.d.ts +2 -0
  29. package/dist/components/field/FieldAttachment.vue.d.ts +17 -0
  30. package/dist/components/field/FieldAttachment.vue.js +7 -0
  31. package/dist/components/field/FieldAttachment.vue2.js +69 -0
  32. package/dist/components/field/FieldAutoNumber.vue.d.ts +7 -0
  33. package/dist/components/field/FieldAutoNumber.vue.js +7 -0
  34. package/dist/components/field/FieldAutoNumber.vue2.js +15 -0
  35. package/dist/components/field/FieldCreator.vue.d.ts +7 -0
  36. package/dist/components/field/FieldCreator.vue.js +7 -0
  37. package/dist/components/field/FieldCreator.vue2.js +24 -0
  38. package/dist/components/field/FieldCurrency.vue.d.ts +17 -0
  39. package/dist/components/field/FieldCurrency.vue.js +7 -0
  40. package/dist/components/field/FieldCurrency.vue2.js +42 -0
  41. package/dist/components/field/FieldDate.vue.js +2 -2
  42. package/dist/components/field/FieldDate.vue2.js +13 -10
  43. package/dist/components/field/FieldDatetime.vue.js +1 -1
  44. package/dist/components/field/FieldMarkdownPreview.vue.d.ts +13 -0
  45. package/dist/components/field/FieldMarkdownPreview.vue.js +7 -0
  46. package/dist/components/field/FieldMarkdownPreview.vue2.js +37 -0
  47. package/dist/components/field/FieldMultiSelect.vue.js +2 -2
  48. package/dist/components/field/FieldPhone.vue.d.ts +17 -0
  49. package/dist/components/field/FieldPhone.vue.js +7 -0
  50. package/dist/components/field/FieldPhone.vue2.js +34 -0
  51. package/dist/components/field/FieldProgress.vue.d.ts +15 -0
  52. package/dist/components/field/FieldProgress.vue.js +7 -0
  53. package/dist/components/field/FieldProgress.vue2.js +40 -0
  54. package/dist/components/field/FieldRelation.vue.d.ts +17 -0
  55. package/dist/components/field/FieldRelation.vue.js +7 -0
  56. package/dist/components/field/FieldRelation.vue2.js +67 -0
  57. package/dist/components/field/FieldRichText.vue.d.ts +17 -0
  58. package/dist/components/field/FieldRichText.vue.js +7 -0
  59. package/dist/components/field/FieldRichText.vue2.js +65 -0
  60. package/dist/components/field/FieldSelect.vue.js +1 -1
  61. package/dist/components/field/FieldSelect.vue2.js +43 -42
  62. package/dist/components/form/FormDesigner.vue.js +2 -2
  63. package/dist/components/form/FormDesigner.vue2.js +62 -52
  64. package/dist/components/gallery/GalleryCard.vue.js +2 -2
  65. package/dist/components/gallery/GalleryView.vue.d.ts +6 -2
  66. package/dist/components/gallery/GalleryView.vue.js +2 -2
  67. package/dist/components/gallery/GalleryView.vue2.js +30 -20
  68. package/dist/components/kanban/KanbanBoard.vue.d.ts +5 -1
  69. package/dist/components/kanban/KanbanBoard.vue.js +4 -4
  70. package/dist/components/kanban/KanbanBoard.vue2.js +81 -48
  71. package/dist/components/layout/AppLayout.vue.js +2 -2
  72. package/dist/components/layout/AppLayout.vue2.js +46 -62
  73. package/dist/components/overlay/Drawer.vue.js +1 -1
  74. package/dist/components/overlay/Drawer.vue2.js +52 -68
  75. package/dist/components/overlay/Modal.vue.js +1 -1
  76. package/dist/components/overlay/Modal.vue2.js +52 -68
  77. package/dist/components/overlay/SidePanel.vue.js +2 -2
  78. package/dist/components/overlay/SidePanel.vue2.js +64 -80
  79. package/dist/components/table/ColumnHeaderMenu.vue.d.ts +33 -0
  80. package/dist/components/table/ColumnHeaderMenu.vue.js +7 -0
  81. package/dist/components/table/ColumnHeaderMenu.vue2.js +153 -0
  82. package/dist/components/table/DataTable.vue.d.ts +116 -25
  83. package/dist/components/table/DataTable.vue.js +4 -4
  84. package/dist/components/table/DataTable.vue2.js +775 -188
  85. package/dist/components/table/DetailSheet.vue.d.ts +43 -0
  86. package/dist/components/table/DetailSheet.vue.js +7 -0
  87. package/dist/components/table/DetailSheet.vue2.js +140 -0
  88. package/dist/components/table/FieldCell.vue.d.ts +1 -1
  89. package/dist/components/table/FieldCell.vue.js +1 -1
  90. package/dist/components/table/FieldCell.vue2.js +59 -44
  91. package/dist/components/table/FieldTypePicker.vue.d.ts +15 -0
  92. package/dist/components/table/FieldTypePicker.vue.js +7 -0
  93. package/dist/components/table/FieldTypePicker.vue2.js +92 -0
  94. package/dist/components/table/MobileListView.vue.d.ts +24 -0
  95. package/dist/components/table/MobileListView.vue.js +7 -0
  96. package/dist/components/table/MobileListView.vue2.js +90 -0
  97. package/dist/components/table/TableGroupRow.vue.d.ts +5 -0
  98. package/dist/components/table/TableGroupRow.vue.js +2 -2
  99. package/dist/components/table/TableGroupRow.vue2.js +33 -23
  100. package/dist/components/table/TableHeaderRow.vue.d.ts +16 -0
  101. package/dist/components/table/TableHeaderRow.vue.js +2 -2
  102. package/dist/components/table/TableHeaderRow.vue2.js +54 -33
  103. package/dist/components/table/TableToolbar.vue.d.ts +118 -0
  104. package/dist/components/table/TableToolbar.vue.js +7 -0
  105. package/dist/components/table/TableToolbar.vue2.js +273 -0
  106. package/dist/components/table/index.d.ts +5 -0
  107. package/dist/components/timeline/GanttTimeline.vue.js +1 -1
  108. package/dist/components/timeline/GanttTimeline.vue2.js +128 -127
  109. package/dist/components/toast/ToastItem.vue.js +3 -3
  110. package/dist/composables/index.d.ts +21 -0
  111. package/dist/composables/useBreakpoint.d.ts +2 -1
  112. package/dist/composables/useBreakpoint.js +14 -12
  113. package/dist/composables/useColumnResize.d.ts +19 -0
  114. package/dist/composables/useColumnResize.js +58 -0
  115. package/dist/composables/useDatabaseView.d.ts +138 -0
  116. package/dist/composables/useDatabaseView.js +388 -0
  117. package/dist/composables/useDraftRows.d.ts +33 -0
  118. package/dist/composables/useDraftRows.js +103 -0
  119. package/dist/composables/useFixedColumns.d.ts +25 -0
  120. package/dist/composables/useFixedColumns.js +61 -0
  121. package/dist/composables/useFocusTrap.d.ts +10 -0
  122. package/dist/composables/useFocusTrap.js +37 -0
  123. package/dist/composables/useInlineEdit.js +3 -3
  124. package/dist/composables/useKeyboardNavigation.d.ts +45 -0
  125. package/dist/composables/useKeyboardNavigation.js +140 -0
  126. package/dist/composables/useRowDrag.d.ts +32 -0
  127. package/dist/composables/useRowDrag.js +85 -0
  128. package/dist/composables/useSchemaEngine.d.ts +31 -0
  129. package/dist/composables/useSchemaEngine.js +129 -0
  130. package/dist/composables/useSearch.d.ts +30 -0
  131. package/dist/composables/useSearch.js +59 -0
  132. package/dist/composables/useSupabaseProvider.d.ts +70 -0
  133. package/dist/composables/useSupabaseProvider.js +126 -0
  134. package/dist/composables/useTable.d.ts +3 -0
  135. package/dist/composables/useTable.js +103 -83
  136. package/dist/composables/useTableGroup.d.ts +14 -1
  137. package/dist/composables/useTableGroup.js +57 -33
  138. package/dist/composables/useViewPersistence.d.ts +98 -0
  139. package/dist/composables/useViewPersistence.js +141 -0
  140. package/dist/composables/useVirtualList.d.ts +4 -1
  141. package/dist/composables/useVirtualList.js +108 -85
  142. package/dist/composables/useWorkerSort.d.ts +14 -0
  143. package/dist/composables/useWorkerSort.js +61 -0
  144. package/dist/index.d.ts +32 -4
  145. package/dist/index.js +274 -221
  146. package/dist/style.css +1 -1
  147. package/dist/tests/database-view.integration.spec.d.ts +1 -0
  148. package/dist/types/index.d.ts +63 -2
  149. package/dist/types/index.js +23 -6
  150. package/dist/types/table-internal.d.ts +64 -0
  151. package/dist/utils/aggregation.d.ts +5 -0
  152. package/dist/utils/aggregation.js +38 -0
  153. package/dist/utils/supabaseAdapter.d.ts +48 -0
  154. package/dist/utils/supabaseAdapter.js +76 -0
  155. package/dist/utils/supabaseSchema.d.ts +81 -0
  156. package/dist/utils/supabaseSchema.js +202 -0
  157. package/dist/workers/tableWorker.d.ts +31 -0
  158. package/package.json +17 -17
@@ -0,0 +1,21 @@
1
+ import { defineComponent as h, openBlock as e, createElementBlock as t, mergeProps as l, Fragment as s, renderList as m, toDisplayString as n } from "vue";
2
+ const i = {
3
+ key: 0,
4
+ class: "of-search-hl__match"
5
+ }, p = { key: 1 }, u = /* @__PURE__ */ h({
6
+ inheritAttrs: !1,
7
+ __name: "SearchHighlight",
8
+ props: {
9
+ segments: {}
10
+ },
11
+ setup(a) {
12
+ return (o, _) => (e(), t("span", l({ class: "of-search-hl" }, o.$attrs), [
13
+ (e(!0), t(s, null, m(a.segments, (r, c) => (e(), t(s, { key: c }, [
14
+ r.match ? (e(), t("mark", i, n(r.text), 1)) : (e(), t("span", p, n(r.text), 1))
15
+ ], 64))), 128))
16
+ ], 16));
17
+ }
18
+ });
19
+ export {
20
+ u as default
21
+ };
@@ -1,5 +1,6 @@
1
+ import { Component } from 'vue';
1
2
  type __VLS_Props = {
2
- icon: string;
3
+ icon: string | Component;
3
4
  label: string;
4
5
  active?: boolean;
5
6
  };
@@ -1,7 +1,7 @@
1
1
  import o from "./ToolbarBtn.vue2.js";
2
2
  /* empty css */
3
3
  import t from "../../_virtual/_plugin-vue_export-helper.js";
4
- const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-a47e32a0"]]);
4
+ const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-8452ab02"]]);
5
5
  export {
6
6
  p as default
7
7
  };
@@ -1,6 +1,7 @@
1
+ import { Component } from 'vue';
1
2
  export interface ViewModeOption {
2
3
  value: string;
3
- icon: string;
4
+ icon: string | Component;
4
5
  label?: string;
5
6
  }
6
7
  export interface ViewModeGroupProps {
@@ -1,7 +1,7 @@
1
1
  import o from "./ViewModeGroup.vue2.js";
2
2
  /* empty css */
3
- import r from "../../_virtual/_plugin-vue_export-helper.js";
4
- const p = /* @__PURE__ */ r(o, [["__scopeId", "data-v-1fa6a5bf"]]);
3
+ import e from "../../_virtual/_plugin-vue_export-helper.js";
4
+ const m = /* @__PURE__ */ e(o, [["__scopeId", "data-v-cebe6331"]]);
5
5
  export {
6
- p as default
6
+ m as default
7
7
  };
@@ -1,7 +1,8 @@
1
+ import { Component } from 'vue';
1
2
  export interface ViewSwitcherTab {
2
3
  value: string;
3
4
  label: string;
4
- icon?: string;
5
+ icon?: string | Component;
5
6
  }
6
7
  export interface ViewSwitcherProps {
7
8
  tabs?: ViewSwitcherTab[];
@@ -1,7 +1,7 @@
1
1
  import o from "./ViewSwitcher.vue2.js";
2
2
  /* empty css */
3
3
  import t from "../../_virtual/_plugin-vue_export-helper.js";
4
- const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-e11bb993"]]);
4
+ const i = /* @__PURE__ */ t(o, [["__scopeId", "data-v-03bd60ba"]]);
5
5
  export {
6
- m as default
6
+ i as default
7
7
  };
@@ -44,3 +44,4 @@ export { default as MonitorItem } from './MonitorItem.vue';
44
44
  export type { MonitorItemProps } from './MonitorItem.vue';
45
45
  export { default as PersonaCard } from './PersonaCard.vue';
46
46
  export type { PersonaCardProps } from './PersonaCard.vue';
47
+ export { default as SearchHighlight } from './SearchHighlight.vue';
@@ -0,0 +1,171 @@
1
+ import { Component } from 'vue';
2
+ import { DatabaseViewActions as ViewDatabaseActions, DatabaseViewMode, DatabaseSchemaEvent, DatabaseViewProvider as ViewDatabaseProvider } from '../../composables/useDatabaseView';
3
+ import { FilterLogic } from '../../composables/useTableFilter';
4
+ import { DataRecord, TableColumn, TableSchema, ViewConfig } from '../../types';
5
+ export interface DatabaseViewViewTab {
6
+ value: string;
7
+ label: string;
8
+ icon?: string | Component;
9
+ }
10
+ export type DatabaseViewSchemaEvent = DatabaseSchemaEvent;
11
+ export interface DatabaseViewActions extends ViewDatabaseActions<DataRecord> {
12
+ onViewChange?: (payload: {
13
+ tableId: string;
14
+ view: ViewConfig;
15
+ }) => void | Promise<void>;
16
+ onViewLoad?: (payload: {
17
+ tableId: string;
18
+ viewId: string;
19
+ }) => void | Promise<void>;
20
+ onViewSave?: (payload: {
21
+ tableId: string;
22
+ viewId: string;
23
+ name: string;
24
+ }) => void | Promise<void>;
25
+ onRecordChange?: (payload: {
26
+ tableId: string;
27
+ recordId: string;
28
+ startDate?: string;
29
+ endDate?: string;
30
+ }) => void | Promise<void>;
31
+ }
32
+ export interface DatabaseViewUiOptions {
33
+ enableFieldManagement?: boolean;
34
+ }
35
+ export interface DatabaseViewProps {
36
+ tableId?: string;
37
+ mode?: DatabaseViewMode;
38
+ schema?: TableSchema | null;
39
+ records?: DataRecord[];
40
+ views?: ViewConfig[];
41
+ provider?: ViewDatabaseProvider<DataRecord>;
42
+ defaultView?: ViewConfig;
43
+ currentViewId?: string;
44
+ initialViewId?: string;
45
+ selectedRecordId?: string | null;
46
+ initialSelectedRecordId?: string | null;
47
+ searchKeyword?: string;
48
+ loading?: boolean;
49
+ error?: string | Error | null;
50
+ viewTabs?: DatabaseViewViewTab[];
51
+ actions?: DatabaseViewActions;
52
+ ui?: DatabaseViewUiOptions;
53
+ showToolbar?: boolean;
54
+ showViewSwitch?: boolean;
55
+ showFilter?: boolean;
56
+ showSort?: boolean;
57
+ showGroup?: boolean;
58
+ showColumns?: boolean;
59
+ showSearch?: boolean;
60
+ readonly?: boolean;
61
+ pageSize?: number;
62
+ autoLoad?: boolean;
63
+ }
64
+ declare const _default: import('vue').DefineComponent<DatabaseViewProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
65
+ sort: (args_0: string) => any;
66
+ add: () => any;
67
+ group: (args_0: string | null) => any;
68
+ "row-click": (args_0: unknown) => any;
69
+ "cell-edit": (args_0: {
70
+ rowId: string;
71
+ fieldId: string;
72
+ value: unknown;
73
+ }) => any;
74
+ "schema-add-field": (args_0: string) => any;
75
+ "schema-rename-field": (args_0: {
76
+ fieldId: string;
77
+ newName: string;
78
+ }) => any;
79
+ "schema-change-field-type": (args_0: {
80
+ fieldId: string;
81
+ newType: string;
82
+ }) => any;
83
+ "schema-hide-field": (args_0: string) => any;
84
+ "schema-delete-field": (args_0: string) => any;
85
+ "schema-duplicate-field": (args_0: string) => any;
86
+ "update:columns": (args_0: TableColumn[]) => any;
87
+ "update:searchKeyword": (args_0: string) => any;
88
+ "update:filterLogic": (args_0: FilterLogic) => any;
89
+ "save-view": (args_0: string) => any;
90
+ "load-view": (args_0: string) => any;
91
+ "card-click": (args_0: unknown) => any;
92
+ "record-change": (args_0: {
93
+ recordId: string;
94
+ startDate?: string;
95
+ endDate?: string;
96
+ }) => any;
97
+ "update:records": (args_0: DataRecord[]) => any;
98
+ "add-column": () => any;
99
+ "update:currentViewId": (args_0: string) => any;
100
+ "update:selectedRecordId": (args_0: string | null) => any;
101
+ "select-record": (args_0: DataRecord | null) => any;
102
+ refresh: () => any;
103
+ }, string, import('vue').PublicProps, Readonly<DatabaseViewProps> & Readonly<{
104
+ onSort?: ((args_0: string) => any) | undefined;
105
+ onAdd?: (() => any) | undefined;
106
+ onGroup?: ((args_0: string | null) => any) | undefined;
107
+ "onRow-click"?: ((args_0: unknown) => any) | undefined;
108
+ "onCell-edit"?: ((args_0: {
109
+ rowId: string;
110
+ fieldId: string;
111
+ value: unknown;
112
+ }) => any) | undefined;
113
+ "onSchema-add-field"?: ((args_0: string) => any) | undefined;
114
+ "onSchema-rename-field"?: ((args_0: {
115
+ fieldId: string;
116
+ newName: string;
117
+ }) => any) | undefined;
118
+ "onSchema-change-field-type"?: ((args_0: {
119
+ fieldId: string;
120
+ newType: string;
121
+ }) => any) | undefined;
122
+ "onSchema-hide-field"?: ((args_0: string) => any) | undefined;
123
+ "onSchema-delete-field"?: ((args_0: string) => any) | undefined;
124
+ "onSchema-duplicate-field"?: ((args_0: string) => any) | undefined;
125
+ "onUpdate:columns"?: ((args_0: TableColumn[]) => any) | undefined;
126
+ "onUpdate:searchKeyword"?: ((args_0: string) => any) | undefined;
127
+ "onUpdate:filterLogic"?: ((args_0: FilterLogic) => any) | undefined;
128
+ "onSave-view"?: ((args_0: string) => any) | undefined;
129
+ "onLoad-view"?: ((args_0: string) => any) | undefined;
130
+ "onCard-click"?: ((args_0: unknown) => any) | undefined;
131
+ "onRecord-change"?: ((args_0: {
132
+ recordId: string;
133
+ startDate?: string;
134
+ endDate?: string;
135
+ }) => any) | undefined;
136
+ "onUpdate:records"?: ((args_0: DataRecord[]) => any) | undefined;
137
+ "onAdd-column"?: (() => any) | undefined;
138
+ "onUpdate:currentViewId"?: ((args_0: string) => any) | undefined;
139
+ "onUpdate:selectedRecordId"?: ((args_0: string | null) => any) | undefined;
140
+ "onSelect-record"?: ((args_0: DataRecord | null) => any) | undefined;
141
+ onRefresh?: (() => any) | undefined;
142
+ }>, {
143
+ mode: DatabaseViewMode;
144
+ error: string | Error | null;
145
+ showFilter: boolean;
146
+ showGroup: boolean;
147
+ showSort: boolean;
148
+ showSearch: boolean;
149
+ actions: DatabaseViewActions;
150
+ readonly: boolean;
151
+ pageSize: number;
152
+ records: DataRecord[];
153
+ schema: TableSchema | null;
154
+ viewTabs: DatabaseViewViewTab[];
155
+ searchKeyword: string;
156
+ showViewSwitch: boolean;
157
+ showColumns: boolean;
158
+ loading: boolean;
159
+ tableId: string;
160
+ views: ViewConfig[];
161
+ provider: ViewDatabaseProvider<DataRecord>;
162
+ defaultView: ViewConfig;
163
+ currentViewId: string;
164
+ initialViewId: string;
165
+ selectedRecordId: string | null;
166
+ initialSelectedRecordId: string | null;
167
+ ui: DatabaseViewUiOptions;
168
+ showToolbar: boolean;
169
+ autoLoad: boolean;
170
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
171
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import o from "./DatabaseView.vue2.js";
2
+ /* empty css */
3
+ import t from "../../_virtual/_plugin-vue_export-helper.js";
4
+ const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-d15b2365"]]);
5
+ export {
6
+ m as default
7
+ };