@oneflowui/ui 0.4.2 → 0.4.4

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 (332) hide show
  1. package/dist/_virtual/_commonjsHelpers.js +6 -0
  2. package/dist/_virtual/_plugin-vue_export-helper.js +9 -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 +7 -0
  6. package/dist/components/ContextMenu/index.vue2.js +92 -0
  7. package/dist/components/Dashboard/charts/BarChart.vue.js +7 -0
  8. package/dist/components/Dashboard/charts/BarChart.vue2.js +43 -0
  9. package/dist/components/Dashboard/charts/DoughnutChart.vue.js +23 -0
  10. package/dist/components/Dashboard/charts/DoughnutChart.vue2.js +4 -0
  11. package/dist/components/Dashboard/charts/NumberCard.vue.js +7 -0
  12. package/dist/components/Dashboard/charts/NumberCard.vue2.js +41 -0
  13. package/dist/components/Dashboard/charts/PieChart.vue.js +7 -0
  14. package/dist/components/Dashboard/charts/PieChart.vue2.js +53 -0
  15. package/dist/components/Dashboard/charts/TableChart.vue.js +7 -0
  16. package/dist/components/Dashboard/charts/TableChart.vue2.js +50 -0
  17. package/dist/components/Dashboard/index.vue.js +7 -0
  18. package/dist/components/Dashboard/index.vue2.js +104 -0
  19. package/dist/components/ai/AiMessageBubble.vue.js +7 -0
  20. package/dist/components/ai/AiMessageBubble.vue2.js +47 -0
  21. package/dist/components/ai/AiMessageList.vue.js +7 -0
  22. package/dist/components/ai/AiMessageList.vue2.js +78 -0
  23. package/dist/components/ai/AiSender.vue.js +7 -0
  24. package/dist/components/ai/AiSender.vue2.js +86 -0
  25. package/dist/components/ai/AiStreamingCursor.vue.js +7 -0
  26. package/dist/components/ai/AiStreamingCursor.vue2.js +16 -0
  27. package/dist/components/ai/AiThinking.vue.js +7 -0
  28. package/dist/components/ai/AiThinking.vue2.js +19 -0
  29. package/dist/components/ai/UserMessageBubble.vue.js +7 -0
  30. package/dist/components/ai/UserMessageBubble.vue2.js +34 -0
  31. package/dist/components/auxiliary/ColorPanel.vue.js +7 -0
  32. package/dist/components/auxiliary/ColorPanel.vue2.js +65 -0
  33. package/dist/components/auxiliary/FileUpload.vue.js +7 -0
  34. package/dist/components/auxiliary/FileUpload.vue2.js +90 -0
  35. package/dist/components/auxiliary/PersonPanel.vue.js +7 -0
  36. package/dist/components/auxiliary/PersonPanel.vue2.js +66 -0
  37. package/dist/components/base/Accordion.vue.js +7 -0
  38. package/dist/components/base/Accordion.vue2.js +78 -0
  39. package/dist/components/base/AddViewBtn.vue.js +7 -0
  40. package/dist/components/base/AddViewBtn.vue2.js +25 -0
  41. package/dist/components/base/Avatar.vue.js +7 -0
  42. package/dist/components/base/Avatar.vue2.js +72 -0
  43. package/dist/components/base/Badge.vue.js +7 -0
  44. package/dist/components/base/Badge.vue2.js +70 -0
  45. package/dist/components/base/ButtonGroup.vue.js +7 -0
  46. package/dist/components/base/ButtonGroup.vue2.js +40 -0
  47. package/dist/components/base/ChainItem.vue.js +7 -0
  48. package/dist/components/base/ChainItem.vue2.js +68 -0
  49. package/dist/components/base/DescBlock.vue.js +7 -0
  50. package/dist/components/base/DescBlock.vue2.js +13 -0
  51. package/dist/components/base/DropdownMenu.vue.js +7 -0
  52. package/dist/components/base/DropdownMenu.vue2.js +91 -0
  53. package/dist/components/base/EmptyState.vue.js +7 -0
  54. package/dist/components/base/EmptyState.vue2.js +38 -0
  55. package/dist/components/base/InfoCard.vue.js +7 -0
  56. package/dist/components/base/InfoCard.vue2.js +167 -0
  57. package/dist/components/base/MonitorItem.vue.d.ts +1 -1
  58. package/dist/components/base/MonitorItem.vue.js +7 -0
  59. package/dist/components/base/MonitorItem.vue2.js +56 -0
  60. package/dist/components/base/PersonaCard.vue.d.ts +2 -1
  61. package/dist/components/base/PersonaCard.vue.js +7 -0
  62. package/dist/components/base/PersonaCard.vue2.js +185 -0
  63. package/dist/components/base/ProgressBar.vue.js +7 -0
  64. package/dist/components/base/ProgressBar.vue2.js +49 -0
  65. package/dist/components/base/RangeSlider.vue.js +7 -0
  66. package/dist/components/base/RangeSlider.vue2.js +35 -0
  67. package/dist/components/base/RefTag.vue.d.ts +2 -2
  68. package/dist/components/base/RefTag.vue.js +7 -0
  69. package/dist/components/base/RefTag.vue2.js +52 -0
  70. package/dist/components/base/SearchHighlight.vue.d.ts +6 -0
  71. package/dist/components/base/SearchHighlight.vue.js +7 -0
  72. package/dist/components/base/SearchHighlight.vue2.js +21 -0
  73. package/dist/components/base/SectionBlock.vue.js +7 -0
  74. package/dist/components/base/SectionBlock.vue2.js +115 -0
  75. package/dist/components/base/SelectBadge.vue.js +7 -0
  76. package/dist/components/base/SelectBadge.vue2.js +81 -0
  77. package/dist/components/base/StatisticCard.vue.js +7 -0
  78. package/dist/components/base/StatisticCard.vue2.js +57 -0
  79. package/dist/components/base/StatusIndicator.vue.js +7 -0
  80. package/dist/components/base/StatusIndicator.vue2.js +54 -0
  81. package/dist/components/base/StatusSummary.vue.js +7 -0
  82. package/dist/components/base/StatusSummary.vue2.js +64 -0
  83. package/dist/components/base/Stepper.vue.js +7 -0
  84. package/dist/components/base/Stepper.vue2.js +70 -0
  85. package/dist/components/base/Switch.vue.js +7 -0
  86. package/dist/components/base/Switch.vue2.js +43 -0
  87. package/dist/components/base/ToolbarBtn.vue.d.ts +2 -1
  88. package/dist/components/base/ToolbarBtn.vue.js +7 -0
  89. package/dist/components/base/ToolbarBtn.vue2.js +30 -0
  90. package/dist/components/base/ViewModeGroup.vue.d.ts +2 -1
  91. package/dist/components/base/ViewModeGroup.vue.js +7 -0
  92. package/dist/components/base/ViewModeGroup.vue2.js +32 -0
  93. package/dist/components/base/ViewSwitcher.vue.d.ts +2 -1
  94. package/dist/components/base/ViewSwitcher.vue.js +7 -0
  95. package/dist/components/base/ViewSwitcher.vue2.js +73 -0
  96. package/dist/components/base/ViewTab.vue.js +7 -0
  97. package/dist/components/base/ViewTab.vue2.js +42 -0
  98. package/dist/components/base/index.d.ts +1 -0
  99. package/dist/components/breadcrumb/Breadcrumb.vue.js +7 -0
  100. package/dist/components/breadcrumb/Breadcrumb.vue2.js +52 -0
  101. package/dist/components/breadcrumb/BreadcrumbItem.vue.js +7 -0
  102. package/dist/components/breadcrumb/BreadcrumbItem.vue2.js +35 -0
  103. package/dist/components/detail/CommentItem.vue.js +7 -0
  104. package/dist/components/detail/CommentItem.vue2.js +29 -0
  105. package/dist/components/detail/DetailLayout.vue.js +7 -0
  106. package/dist/components/detail/DetailLayout.vue2.js +118 -0
  107. package/dist/components/detail/PropPanel.vue.js +7 -0
  108. package/dist/components/detail/PropPanel.vue2.js +51 -0
  109. package/dist/components/detail/PropRow.vue.js +7 -0
  110. package/dist/components/detail/PropRow.vue2.js +51 -0
  111. package/dist/components/editor/BlockQuote.vue.js +7 -0
  112. package/dist/components/editor/BlockQuote.vue2.js +45 -0
  113. package/dist/components/editor/CodeBlock.vue.js +7 -0
  114. package/dist/components/editor/CodeBlock.vue2.js +48 -0
  115. package/dist/components/editor/ContentBlock.vue.js +7 -0
  116. package/dist/components/editor/ContentBlock.vue2.js +49 -0
  117. package/dist/components/editor/RefLink.vue.js +7 -0
  118. package/dist/components/editor/RefLink.vue2.js +37 -0
  119. package/dist/components/editor/RichTextEditor.vue.js +7 -0
  120. package/dist/components/editor/RichTextEditor.vue2.js +132 -0
  121. package/dist/components/field/FieldAttachment.vue.d.ts +17 -0
  122. package/dist/components/field/FieldAttachment.vue.js +7 -0
  123. package/dist/components/field/FieldAttachment.vue2.js +69 -0
  124. package/dist/components/field/FieldAutoNumber.vue.d.ts +7 -0
  125. package/dist/components/field/FieldAutoNumber.vue.js +7 -0
  126. package/dist/components/field/FieldAutoNumber.vue2.js +15 -0
  127. package/dist/components/field/FieldCheckbox.vue.js +7 -0
  128. package/dist/{FieldCheckbox-CV3QtQ4Y.js → components/field/FieldCheckbox.vue2.js} +8 -9
  129. package/dist/components/field/FieldCreator.vue.d.ts +7 -0
  130. package/dist/components/field/FieldCreator.vue.js +7 -0
  131. package/dist/components/field/FieldCreator.vue2.js +24 -0
  132. package/dist/components/field/FieldCurrency.vue.d.ts +17 -0
  133. package/dist/components/field/FieldCurrency.vue.js +7 -0
  134. package/dist/components/field/FieldCurrency.vue2.js +42 -0
  135. package/dist/components/field/FieldDate.vue.js +7 -0
  136. package/dist/components/field/FieldDate.vue2.js +36 -0
  137. package/dist/components/field/FieldDatetime.vue.js +7 -0
  138. package/dist/{FieldDatetime-B52GfWrK.js → components/field/FieldDatetime.vue2.js} +11 -12
  139. package/dist/components/field/FieldEmail.vue.js +7 -0
  140. package/dist/{FieldEmail-UREMoue-.js → components/field/FieldEmail.vue2.js} +12 -13
  141. package/dist/components/field/FieldMarkdownPreview.vue.d.ts +13 -0
  142. package/dist/components/field/FieldMarkdownPreview.vue.js +7 -0
  143. package/dist/components/field/FieldMarkdownPreview.vue2.js +37 -0
  144. package/dist/components/field/FieldMultiSelect.vue.js +7 -0
  145. package/dist/{FieldMultiSelect-Dlay1Fop.js → components/field/FieldMultiSelect.vue2.js} +32 -33
  146. package/dist/components/field/FieldNumber.vue.js +7 -0
  147. package/dist/{FieldNumber-BjhfFhs6.js → components/field/FieldNumber.vue2.js} +8 -9
  148. package/dist/components/field/FieldPhone.vue.d.ts +17 -0
  149. package/dist/components/field/FieldPhone.vue.js +7 -0
  150. package/dist/components/field/FieldPhone.vue2.js +34 -0
  151. package/dist/components/field/FieldProgress.vue.d.ts +15 -0
  152. package/dist/components/field/FieldProgress.vue.js +7 -0
  153. package/dist/components/field/FieldProgress.vue2.js +40 -0
  154. package/dist/components/field/FieldRating.vue.js +7 -0
  155. package/dist/components/field/FieldRating.vue2.js +31 -0
  156. package/dist/components/field/FieldRelation.vue.d.ts +17 -0
  157. package/dist/components/field/FieldRelation.vue.js +7 -0
  158. package/dist/components/field/FieldRelation.vue2.js +67 -0
  159. package/dist/components/field/FieldRichText.vue.d.ts +17 -0
  160. package/dist/components/field/FieldRichText.vue.js +7 -0
  161. package/dist/components/field/FieldRichText.vue2.js +65 -0
  162. package/dist/components/field/FieldSelect.vue.js +7 -0
  163. package/dist/{FieldSelect-B39Ad8VH.js → components/field/FieldSelect.vue2.js} +44 -44
  164. package/dist/components/field/FieldText.vue.js +7 -0
  165. package/dist/{FieldText-Ry7f72Ug.js → components/field/FieldText.vue2.js} +13 -14
  166. package/dist/components/field/FieldUrl.vue.js +7 -0
  167. package/dist/components/field/FieldUrl.vue2.js +33 -0
  168. package/dist/components/form/FormDesigner.vue.js +7 -0
  169. package/dist/components/form/FormDesigner.vue2.js +255 -0
  170. package/dist/components/gallery/GalleryCard.vue.js +7 -0
  171. package/dist/components/gallery/GalleryCard.vue2.js +87 -0
  172. package/dist/components/gallery/GalleryView.vue.d.ts +6 -2
  173. package/dist/components/gallery/GalleryView.vue.js +7 -0
  174. package/dist/components/gallery/GalleryView.vue2.js +58 -0
  175. package/dist/components/kanban/KanbanBoard.vue.d.ts +5 -1
  176. package/dist/components/kanban/KanbanBoard.vue.js +7 -0
  177. package/dist/components/kanban/KanbanBoard.vue2.js +119 -0
  178. package/dist/components/kanban/KanbanCard.vue.js +7 -0
  179. package/dist/components/kanban/KanbanCard.vue2.js +56 -0
  180. package/dist/components/kanban/KanbanColumn.vue.js +7 -0
  181. package/dist/components/kanban/KanbanColumn.vue2.js +103 -0
  182. package/dist/components/kanban/QuickAddRow.vue.js +7 -0
  183. package/dist/components/kanban/QuickAddRow.vue2.js +58 -0
  184. package/dist/components/layout/AppLayout.vue.js +7 -0
  185. package/dist/components/layout/AppLayout.vue2.js +82 -0
  186. package/dist/components/layout/Navbar.vue.js +7 -0
  187. package/dist/components/layout/Navbar.vue2.js +70 -0
  188. package/dist/components/layout/Sidebar.vue.js +7 -0
  189. package/dist/components/layout/Sidebar.vue2.js +88 -0
  190. package/dist/components/layout/StatusBar.vue.js +7 -0
  191. package/dist/components/layout/StatusBar.vue2.js +37 -0
  192. package/dist/components/mermaid/MermaidChart.vue.js +7 -0
  193. package/dist/components/mermaid/MermaidChart.vue2.js +75 -0
  194. package/dist/components/overlay/Dialog.vue.js +7 -0
  195. package/dist/components/overlay/Dialog.vue2.js +89 -0
  196. package/dist/components/overlay/Drawer.vue.js +7 -0
  197. package/dist/components/overlay/Drawer.vue2.js +96 -0
  198. package/dist/components/overlay/Modal.vue.js +7 -0
  199. package/dist/components/overlay/Modal.vue2.js +99 -0
  200. package/dist/components/overlay/SidePanel.vue.js +7 -0
  201. package/dist/components/overlay/SidePanel.vue2.js +121 -0
  202. package/dist/components/split/SplitPane.vue.js +8 -0
  203. package/dist/components/split/SplitPane.vue2.js +68 -0
  204. package/dist/components/table/ColumnHeaderMenu.vue.d.ts +33 -0
  205. package/dist/components/table/ColumnHeaderMenu.vue.js +7 -0
  206. package/dist/components/table/ColumnHeaderMenu.vue2.js +153 -0
  207. package/dist/components/table/DataTable.vue.d.ts +116 -25
  208. package/dist/components/table/DataTable.vue.js +7 -0
  209. package/dist/components/table/DataTable.vue2.js +821 -0
  210. package/dist/components/table/DetailSheet.vue.d.ts +43 -0
  211. package/dist/components/table/DetailSheet.vue.js +7 -0
  212. package/dist/components/table/DetailSheet.vue2.js +140 -0
  213. package/dist/components/table/FieldCell.vue.d.ts +1 -1
  214. package/dist/components/table/FieldCell.vue.js +7 -0
  215. package/dist/components/table/FieldCell.vue2.js +86 -0
  216. package/dist/components/table/FieldTypePicker.vue.d.ts +15 -0
  217. package/dist/components/table/FieldTypePicker.vue.js +7 -0
  218. package/dist/components/table/FieldTypePicker.vue2.js +92 -0
  219. package/dist/components/table/MobileListView.vue.d.ts +24 -0
  220. package/dist/components/table/MobileListView.vue.js +7 -0
  221. package/dist/components/table/MobileListView.vue2.js +90 -0
  222. package/dist/components/table/NewRowBtn.vue.js +7 -0
  223. package/dist/components/table/NewRowBtn.vue2.js +22 -0
  224. package/dist/components/table/TableColumnManager.vue.js +7 -0
  225. package/dist/components/table/TableColumnManager.vue2.js +100 -0
  226. package/dist/components/table/TableDataRow.vue.js +7 -0
  227. package/dist/components/table/TableDataRow.vue2.js +115 -0
  228. package/dist/components/table/TableFilterPanel.vue.js +7 -0
  229. package/dist/components/table/TableFilterPanel.vue2.js +142 -0
  230. package/dist/components/table/TableGroupRow.vue.d.ts +5 -0
  231. package/dist/components/table/TableGroupRow.vue.js +7 -0
  232. package/dist/components/table/TableGroupRow.vue2.js +58 -0
  233. package/dist/components/table/TableHeaderRow.vue.d.ts +16 -0
  234. package/dist/components/table/TableHeaderRow.vue.js +7 -0
  235. package/dist/components/table/TableHeaderRow.vue2.js +90 -0
  236. package/dist/components/table/TableToolbar.vue.d.ts +118 -0
  237. package/dist/components/table/TableToolbar.vue.js +7 -0
  238. package/dist/components/table/TableToolbar.vue2.js +273 -0
  239. package/dist/components/table/index.d.ts +5 -0
  240. package/dist/components/tabs/TabPanel.vue.js +7 -0
  241. package/dist/components/tabs/TabPanel.vue2.js +26 -0
  242. package/dist/components/tabs/Tabs.vue.js +7 -0
  243. package/dist/components/tabs/Tabs.vue2.js +87 -0
  244. package/dist/components/timeline/ActivityTimeline.vue.js +7 -0
  245. package/dist/components/timeline/ActivityTimeline.vue2.js +104 -0
  246. package/dist/components/timeline/GanttRow.vue.js +7 -0
  247. package/dist/components/timeline/GanttRow.vue2.js +110 -0
  248. package/dist/components/timeline/GanttTimeline.vue.js +7 -0
  249. package/dist/components/timeline/GanttTimeline.vue2.js +186 -0
  250. package/dist/components/toast/ToastContainer.vue.js +34 -0
  251. package/dist/components/toast/ToastContainer.vue3.js +5 -0
  252. package/dist/components/toast/ToastItem.vue.js +7 -0
  253. package/dist/components/toast/ToastItem.vue2.js +78 -0
  254. package/dist/composables/index.d.ts +19 -0
  255. package/dist/composables/useAiChat.js +103 -0
  256. package/dist/composables/useBadge.js +76 -0
  257. package/dist/composables/useBreakpoint.d.ts +2 -1
  258. package/dist/composables/useBreakpoint.js +18 -0
  259. package/dist/composables/useColumnResize.d.ts +19 -0
  260. package/dist/composables/useColumnResize.js +58 -0
  261. package/dist/composables/useDraftRows.d.ts +33 -0
  262. package/dist/composables/useDraftRows.js +103 -0
  263. package/dist/composables/useFixedColumns.d.ts +25 -0
  264. package/dist/composables/useFixedColumns.js +61 -0
  265. package/dist/composables/useFocusTrap.d.ts +10 -0
  266. package/dist/composables/useFocusTrap.js +37 -0
  267. package/dist/composables/useInlineEdit.js +28 -0
  268. package/dist/composables/useKeyboardNavigation.d.ts +45 -0
  269. package/dist/composables/useKeyboardNavigation.js +140 -0
  270. package/dist/composables/useMarkdown.js +69 -0
  271. package/dist/composables/useRowDrag.d.ts +32 -0
  272. package/dist/composables/useRowDrag.js +85 -0
  273. package/dist/composables/useSchemaEngine.d.ts +31 -0
  274. package/dist/composables/useSchemaEngine.js +129 -0
  275. package/dist/composables/useSearch.d.ts +30 -0
  276. package/dist/composables/useSearch.js +59 -0
  277. package/dist/composables/useStream.js +80 -0
  278. package/dist/composables/useSupabaseProvider.d.ts +70 -0
  279. package/dist/composables/useSupabaseProvider.js +126 -0
  280. package/dist/composables/useTable.d.ts +3 -0
  281. package/dist/composables/useTable.js +135 -0
  282. package/dist/composables/useTableColumns.js +24 -0
  283. package/dist/composables/useTableData.js +16 -0
  284. package/dist/composables/useTableFilter.js +97 -0
  285. package/dist/composables/useTableGroup.d.ts +14 -1
  286. package/dist/composables/useTableGroup.js +70 -0
  287. package/dist/composables/useToast.js +38 -0
  288. package/dist/composables/useTypewriter.js +56 -0
  289. package/dist/composables/useViewPersistence.d.ts +98 -0
  290. package/dist/composables/useViewPersistence.js +141 -0
  291. package/dist/composables/useVirtualList.d.ts +4 -1
  292. package/dist/composables/useVirtualList.js +140 -0
  293. package/dist/composables/useWorkerSort.d.ts +14 -0
  294. package/dist/composables/useWorkerSort.js +61 -0
  295. package/dist/constants/table.js +11 -0
  296. package/dist/index.d.ts +28 -4
  297. package/dist/index.js +349 -0
  298. package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/core.js +5 -0
  299. package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/bash.js +377 -0
  300. package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/css.js +923 -0
  301. package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/go.js +151 -0
  302. package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/java.js +240 -0
  303. package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/javascript.js +658 -0
  304. package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/json.js +38 -0
  305. package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/markdown.js +216 -0
  306. package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/plaintext.js +13 -0
  307. package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/python.js +399 -0
  308. package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/rust.js +305 -0
  309. package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/sql.js +615 -0
  310. package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/typescript.js +753 -0
  311. package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/xml.js +219 -0
  312. package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/es/languages/yaml.js +183 -0
  313. package/dist/node_modules/.pnpm/highlight.js@11.11.1/node_modules/highlight.js/lib/core.js +1063 -0
  314. package/dist/style.css +1 -1
  315. package/dist/types/index.d.ts +63 -2
  316. package/dist/types/index.js +94 -0
  317. package/dist/types/table-internal.d.ts +64 -0
  318. package/dist/utils/aggregation.d.ts +5 -0
  319. package/dist/utils/aggregation.js +38 -0
  320. package/dist/utils/icon.js +15 -0
  321. package/dist/utils/supabaseAdapter.d.ts +48 -0
  322. package/dist/utils/supabaseAdapter.js +76 -0
  323. package/dist/utils/supabaseSchema.d.ts +81 -0
  324. package/dist/utils/supabaseSchema.js +202 -0
  325. package/dist/workers/tableWorker.d.ts +31 -0
  326. package/package.json +13 -6
  327. package/dist/FieldDate-Bljx4jb7.js +0 -34
  328. package/dist/FieldRating-BKHUu-A1.js +0 -32
  329. package/dist/FieldUrl-bv0EB9sh.js +0 -34
  330. package/dist/index-DQph5iTq.js +0 -12936
  331. package/dist/oneflow-ui.js +0 -111
  332. package/dist/oneflow-ui.umd.cjs +0 -13
@@ -120,7 +120,7 @@ export interface SidebarItem {
120
120
  badge?: string | number;
121
121
  children?: SidebarItem[];
122
122
  }
123
- export type FieldType = "text" | "number" | "select" | "multi_select" | "date" | "datetime" | "checkbox" | "url" | "email" | "phone" | "rating" | "user" | "attachment" | "relation" | "formula";
123
+ export type FieldType = "text" | "number" | "select" | "multi_select" | "date" | "datetime" | "checkbox" | "url" | "email" | "phone" | "rating" | "user" | "attachment" | "relation" | "formula" | "currency" | "richtext" | "auto_number" | "creator" | "progress";
124
124
  export interface SelectOption {
125
125
  value: string;
126
126
  label: string;
@@ -167,15 +167,66 @@ export interface AttachmentFieldDef extends FieldDefBase {
167
167
  export interface RelationFieldDef extends FieldDefBase {
168
168
  type: "relation";
169
169
  targetTableId?: string;
170
+ /** Field ID to display from the target table (e.g. "title") */
171
+ displayFieldId?: string;
172
+ /** Filter conditions applied when selecting related records */
173
+ filterConfig?: FilterCondition[];
174
+ /** Relation cardinality */
175
+ relationMode?: "one_to_many" | "many_to_many";
176
+ /** Schema of the target table for inline rendering */
177
+ targetSchema?: TableSchema;
170
178
  }
171
179
  export interface FormulaFieldDef extends FieldDefBase {
172
180
  type: "formula";
173
181
  formula: string;
182
+ /** Type of the computed result */
183
+ resultType?: "string" | "number" | "date" | "boolean";
184
+ /** Field IDs this formula depends on (for recalculation) */
185
+ dependencies?: string[];
174
186
  }
175
- export type FieldDef = TextFieldDef | NumberFieldDef | SelectFieldDef | DateFieldDef | CheckboxFieldDef | ContactFieldDef | RatingFieldDef | UserFieldDef | AttachmentFieldDef | RelationFieldDef | FormulaFieldDef;
187
+ export interface CurrencyFieldDef extends FieldDefBase {
188
+ type: "currency";
189
+ /** ISO 4217 currency code, e.g. 'USD', 'CNY' */
190
+ currencyCode?: string;
191
+ /** Decimal precision, default 2 */
192
+ precision?: number;
193
+ }
194
+ export interface RichTextFieldDef extends FieldDefBase {
195
+ type: "richtext";
196
+ }
197
+ export interface AutoNumberFieldDef extends FieldDefBase {
198
+ type: "auto_number";
199
+ /** Prefix for the auto number, e.g. 'TASK-' */
200
+ prefix?: string;
201
+ }
202
+ export interface CreatorFieldDef extends FieldDefBase {
203
+ type: "creator";
204
+ }
205
+ export interface ProgressFieldDef extends FieldDefBase {
206
+ type: "progress";
207
+ min?: number;
208
+ max?: number;
209
+ }
210
+ export type FieldDef = TextFieldDef | NumberFieldDef | SelectFieldDef | DateFieldDef | CheckboxFieldDef | ContactFieldDef | RatingFieldDef | UserFieldDef | AttachmentFieldDef | RelationFieldDef | FormulaFieldDef | CurrencyFieldDef | RichTextFieldDef | AutoNumberFieldDef | CreatorFieldDef | ProgressFieldDef;
176
211
  export declare function isSelectField(field: FieldDef): field is SelectFieldDef;
177
212
  export declare function isFormulaField(field: FieldDef): field is FormulaFieldDef;
178
213
  export type CellValue = string | number | boolean | string[] | null;
214
+ export interface ActiveCell {
215
+ rowId: string;
216
+ colKey: string;
217
+ }
218
+ export type AggregationFn = "sum" | "avg" | "count" | "min" | "max";
219
+ export interface AggregationConfig {
220
+ fieldId: string;
221
+ fn: AggregationFn;
222
+ }
223
+ export interface DraftRowState {
224
+ draftId: string;
225
+ fields: Record<string, CellValue>;
226
+ dirtyFields: Set<string>;
227
+ validationErrors: Map<string, string>;
228
+ groupFieldValue?: CellValue;
229
+ }
179
230
  export interface DataRecord {
180
231
  id: string;
181
232
  fields: Record<string, CellValue>;
@@ -205,6 +256,10 @@ export interface ViewConfig {
205
256
  kanbanFieldId?: string;
206
257
  galleryCoverFieldId?: string;
207
258
  galleryCardFields?: string[];
259
+ /** Aggregation configs shown in group headers/footers */
260
+ aggregations?: AggregationConfig[];
261
+ /** Column keys to pin on the left side */
262
+ fixedColumns?: string[];
208
263
  }
209
264
  export interface TableSchema {
210
265
  tableId: string;
@@ -223,4 +278,10 @@ export declare function buildGalleryItems(records: DataRecord[], options?: {
223
278
  coverFieldId?: string;
224
279
  cardFieldIds?: string[];
225
280
  }): GalleryItem[];
281
+ export declare function buildGanttItems(records: DataRecord[], options?: {
282
+ startFieldId?: string;
283
+ endFieldId?: string;
284
+ labelFieldId?: string;
285
+ barColorFieldId?: string;
286
+ }): GanttItem[];
226
287
  export declare const DEFAULT_TABLE_SCHEMA: TableSchema;
@@ -0,0 +1,94 @@
1
+ function f(t) {
2
+ return t.type === "select" || t.type === "multi_select";
3
+ }
4
+ function g(t) {
5
+ return t.type === "formula";
6
+ }
7
+ function p(t) {
8
+ return {
9
+ id: t.id,
10
+ fields: {
11
+ title: t.title,
12
+ description: t.description ?? "",
13
+ status: t.status,
14
+ priority: t.priority,
15
+ assignee: t.assignee ?? "",
16
+ startDate: t.startDate ?? "",
17
+ endDate: t.endDate ?? "",
18
+ tags: t.tags ?? []
19
+ },
20
+ createdAt: t.createdAt,
21
+ updatedAt: t.updatedAt
22
+ };
23
+ }
24
+ function c(t) {
25
+ const s = t.fields.status, r = t.fields.priority, a = t.fields.title, o = t.fields.description, n = t.fields.assignee, e = t.fields.tags, i = t.fields.startDate, l = t.fields.endDate;
26
+ return {
27
+ id: t.id,
28
+ title: typeof a == "string" && a ? a : t.id,
29
+ description: typeof o == "string" ? o : void 0,
30
+ status: typeof s == "string" && s ? s : "todo",
31
+ priority: typeof r == "string" && r ? r : "P3",
32
+ assignee: typeof n == "string" ? n : void 0,
33
+ tags: Array.isArray(e) ? e.filter((d) => typeof d == "string") : void 0,
34
+ startDate: typeof i == "string" ? i : void 0,
35
+ endDate: typeof l == "string" ? l : void 0,
36
+ createdAt: t.createdAt,
37
+ updatedAt: t.updatedAt
38
+ };
39
+ }
40
+ function y(t, s = {}) {
41
+ const r = s.kanbanFieldId ?? "status", a = /* @__PURE__ */ new Map();
42
+ for (const n of t) {
43
+ const e = n.fields[r], i = typeof e == "string" && e ? e : "unassigned", l = a.get(i) ?? [];
44
+ l.push(c(n)), a.set(i, l);
45
+ }
46
+ return (s.laneOrder && s.laneOrder.length > 0 ? s.laneOrder : Array.from(a.keys())).map((n) => {
47
+ var e;
48
+ return {
49
+ id: n,
50
+ title: ((e = s.laneTitles) == null ? void 0 : e[n]) ?? n,
51
+ tasks: a.get(n) ?? []
52
+ };
53
+ });
54
+ }
55
+ function D(t, s = {}) {
56
+ const r = s.coverFieldId, a = s.cardFieldIds ?? [];
57
+ return t.map((o) => {
58
+ const n = c(o), e = r ? o.fields[r] : null, i = typeof e == "string" && e ? e : void 0, l = a.map((d) => {
59
+ const u = o.fields[d];
60
+ return u == null || d === r ? null : Array.isArray(u) ? { key: d, value: u.join(", ") } : { key: d, value: String(u) };
61
+ }).filter((d) => d !== null);
62
+ return {
63
+ ...n,
64
+ cover: i,
65
+ bannerColor: i != null && i.startsWith("#") ? i : void 0,
66
+ extraProps: l.length > 0 ? l : void 0
67
+ };
68
+ });
69
+ }
70
+ function F(t, s = {}) {
71
+ const r = s.startFieldId ?? "startDate", a = s.endFieldId ?? "endDate", o = s.labelFieldId ?? "title", n = [];
72
+ for (const e of t) {
73
+ const i = c(e), l = e.fields[r], d = e.fields[a];
74
+ if (!l || !d) continue;
75
+ const u = e.fields[o];
76
+ n.push({
77
+ ...i,
78
+ title: typeof u == "string" && u ? u : i.title,
79
+ startDate: String(l),
80
+ endDate: String(d),
81
+ barColor: s.barColorFieldId ? String(e.fields[s.barColorFieldId] ?? "") : void 0
82
+ });
83
+ }
84
+ return n;
85
+ }
86
+ export {
87
+ D as buildGalleryItems,
88
+ F as buildGanttItems,
89
+ y as buildKanbanColumns,
90
+ c as dataRecordToTask,
91
+ g as isFormulaField,
92
+ f as isSelectField,
93
+ p as taskToDataRecord
94
+ };
@@ -0,0 +1,64 @@
1
+ import { CellValue, AggregationFn } from './index';
2
+ export interface ColumnResizeState {
3
+ colKey: string;
4
+ startX: number;
5
+ initialWidth: number;
6
+ }
7
+ export interface FixedColumnLayout {
8
+ /** Total width of all fixed columns including selector checkbox (40px) */
9
+ totalWidth: number;
10
+ /** Left offset for each fixed column, keyed by column key */
11
+ offsets: Map<string, number>;
12
+ }
13
+ export interface GroupAggregationResult {
14
+ /** Aggregation function used */
15
+ fn: AggregationFn;
16
+ /** Field ID the aggregation is computed on */
17
+ fieldId: string;
18
+ /** Computed result value */
19
+ value: number;
20
+ }
21
+ /**
22
+ * Replaces the previous __type string marker pattern.
23
+ * Used in virtual scroll and rendering pipeline.
24
+ */
25
+ export type FlattenedRow<T> = FlattenedDataRow<T> | FlattenedGroupHeader | FlattenedDraftRow;
26
+ export interface FlattenedDataRow<T> {
27
+ readonly __type: "data-row";
28
+ readonly id: string;
29
+ readonly data: T;
30
+ }
31
+ export interface FlattenedGroupHeader {
32
+ readonly __type: "group-header";
33
+ readonly id: string;
34
+ readonly groupKey: string;
35
+ /** Full path for nested groups, e.g. ['status:done', 'priority:P0'] */
36
+ readonly groupPath: string[];
37
+ readonly groupLevel: number;
38
+ readonly groupCount: number;
39
+ readonly aggregations?: GroupAggregationResult[];
40
+ }
41
+ export interface FlattenedDraftRow {
42
+ readonly __type: "draft-row";
43
+ readonly id: string;
44
+ readonly draftId: string;
45
+ readonly fields: Record<string, CellValue>;
46
+ readonly dirtyFields: ReadonlySet<string>;
47
+ readonly validationErrors: ReadonlyMap<string, string>;
48
+ }
49
+ export declare function isDataRow<T>(row: FlattenedRow<T>): row is FlattenedDataRow<T>;
50
+ export declare function isGroupHeader<T>(row: FlattenedRow<T>): row is FlattenedGroupHeader;
51
+ export declare function isDraftRow<T>(row: FlattenedRow<T>): row is FlattenedDraftRow;
52
+ export interface RowHeightConfig {
53
+ dataRow: number;
54
+ groupHeader: number;
55
+ draftRow: number;
56
+ groupSpacing: number;
57
+ }
58
+ export interface CellCoordinate {
59
+ rowIndex: number;
60
+ colIndex: number;
61
+ }
62
+ export interface HoverState {
63
+ rowId: string | null;
64
+ }
@@ -0,0 +1,5 @@
1
+ import { AggregationConfig } from '../types';
2
+ /**
3
+ * Compute aggregation results for a set of rows.
4
+ */
5
+ export declare function computeAggregations(rows: Record<string, unknown>[], configs: AggregationConfig[]): Record<string, number>;
@@ -0,0 +1,38 @@
1
+ function f(u, s) {
2
+ const r = {};
3
+ for (const e of s) {
4
+ const t = `${e.fieldId}:${e.fn}`;
5
+ r[t] = c(u, e.fieldId, e.fn);
6
+ }
7
+ return r;
8
+ }
9
+ function c(u, s, r) {
10
+ if (r === "count")
11
+ return u.length;
12
+ const e = [];
13
+ for (const t of u) {
14
+ const n = t[s];
15
+ if (n != null && typeof n == "number" && !Number.isNaN(n))
16
+ e.push(n);
17
+ else if (n != null && typeof n == "string") {
18
+ const o = Number(n);
19
+ Number.isNaN(o) || e.push(o);
20
+ }
21
+ }
22
+ if (e.length === 0) return 0;
23
+ switch (r) {
24
+ case "sum":
25
+ return e.reduce((t, n) => t + n, 0);
26
+ case "avg":
27
+ return e.reduce((t, n) => t + n, 0) / e.length;
28
+ case "min":
29
+ return Math.min(...e);
30
+ case "max":
31
+ return Math.max(...e);
32
+ default:
33
+ return 0;
34
+ }
35
+ }
36
+ export {
37
+ f as computeAggregations
38
+ };
@@ -0,0 +1,15 @@
1
+ import * as n from "lucide-vue-next";
2
+ function o(e) {
3
+ return e.split("-").map((t) => t.charAt(0).toUpperCase() + t.slice(1)).join("") + "Icon";
4
+ }
5
+ const r = /* @__PURE__ */ new Map();
6
+ function a(e) {
7
+ if (!e) return;
8
+ if (typeof e != "string") return e;
9
+ if (r.has(e)) return r.get(e);
10
+ const t = o(e), s = n[t];
11
+ return r.set(e, s), s;
12
+ }
13
+ export {
14
+ a as resolveIcon
15
+ };
@@ -0,0 +1,48 @@
1
+ import { Ref } from 'vue';
2
+ import { DataRecord, CellValue, TableSchema } from '../types';
3
+ export interface RowAdapterOptions {
4
+ /** 主键列名,默认 'id' */
5
+ idColumn?: string;
6
+ /** created_at 列名 */
7
+ createdAtColumn?: string;
8
+ /** updated_at 列名 */
9
+ updatedAtColumn?: string;
10
+ /** 需要从 fields 中排除的列(如主键、时间戳),自动包含 id/created_at/updated_at */
11
+ excludeFromFields?: string[];
12
+ /** Schema 定义(如有),用于类型转换 */
13
+ schema?: TableSchema;
14
+ }
15
+ export interface UseSupabaseAdapterOptions extends RowAdapterOptions {
16
+ /** 响应式的原始 Supabase 行数据 */
17
+ rawRows?: Ref<Record<string, unknown>[]>;
18
+ }
19
+ /**
20
+ * 将 Supabase 的扁平行转换为 DataRecord
21
+ */
22
+ export declare function rowToDataRecord(row: Record<string, unknown>, options?: RowAdapterOptions): DataRecord;
23
+ /**
24
+ * 批量转换
25
+ */
26
+ export declare function rowsToDataRecords(rows: Record<string, unknown>[], options?: RowAdapterOptions): DataRecord[];
27
+ /**
28
+ * 将 DataRecord 转换回 Supabase 扁平行格式(用于 insert/update)
29
+ */
30
+ export declare function dataRecordToRow(record: DataRecord, options?: RowAdapterOptions): Record<string, unknown>;
31
+ /**
32
+ * 部分更新:只提取变更的字段,转换为 Supabase 扁平行
33
+ */
34
+ export declare function fieldsToRow(fields: Partial<Record<string, CellValue>>): Record<string, unknown>;
35
+ /**
36
+ * 响应式适配器:自动将 Supabase 行数据转换为 DataRecord[]
37
+ */
38
+ export declare function useSupabaseAdapter(options?: UseSupabaseAdapterOptions): {
39
+ records: import('vue').ComputedRef<DataRecord[]>;
40
+ /** 单行转换 */
41
+ toRecord: (row: Record<string, unknown>) => DataRecord;
42
+ /** 批量转换 */
43
+ toRecords: (rows: Record<string, unknown>[]) => DataRecord[];
44
+ /** 回写转换 */
45
+ toRow: (record: DataRecord) => Record<string, unknown>;
46
+ /** 部分字段回写 */
47
+ fieldsToRow: typeof fieldsToRow;
48
+ };
@@ -0,0 +1,76 @@
1
+ import { computed as p } from "vue";
2
+ function s(t, n = {}) {
3
+ var f;
4
+ const {
5
+ idColumn: e = "id",
6
+ createdAtColumn: r = "created_at",
7
+ updatedAtColumn: d = "updated_at",
8
+ excludeFromFields: o = []
9
+ } = n, c = /* @__PURE__ */ new Set([e, r, d, ...o]), i = {};
10
+ for (const [u, l] of Object.entries(t))
11
+ c.has(u) || (i[u] = R(
12
+ l,
13
+ (f = n.schema) == null ? void 0 : f.fields.find((m) => m.id === u)
14
+ ));
15
+ return {
16
+ id: String(t[e] ?? ""),
17
+ fields: i,
18
+ createdAt: t[r] != null ? String(t[r]) : void 0,
19
+ updatedAt: t[d] != null ? String(t[d]) : void 0
20
+ };
21
+ }
22
+ function a(t, n = {}) {
23
+ return t.map((e) => s(e, n));
24
+ }
25
+ function A(t, n = {}) {
26
+ const {
27
+ idColumn: e = "id",
28
+ createdAtColumn: r = "created_at",
29
+ updatedAtColumn: d = "updated_at"
30
+ } = n, o = {
31
+ [e]: t.id
32
+ };
33
+ for (const [c, i] of Object.entries(t.fields))
34
+ o[c] = i;
35
+ return t.createdAt && (o[r] = t.createdAt), t.updatedAt && (o[d] = t.updatedAt), o;
36
+ }
37
+ function y(t) {
38
+ const n = {};
39
+ for (const [e, r] of Object.entries(t))
40
+ n[e] = r;
41
+ return n;
42
+ }
43
+ function b(t = {}) {
44
+ return {
45
+ records: p(() => {
46
+ var e;
47
+ return (e = t.rawRows) != null && e.value ? a(t.rawRows.value, t) : [];
48
+ }),
49
+ /** 单行转换 */
50
+ toRecord: (e) => s(e, t),
51
+ /** 批量转换 */
52
+ toRecords: (e) => a(e, t),
53
+ /** 回写转换 */
54
+ toRow: (e) => A(e, t),
55
+ /** 部分字段回写 */
56
+ fieldsToRow: y
57
+ };
58
+ }
59
+ function R(t, n) {
60
+ if (t == null) return null;
61
+ if (Array.isArray(t))
62
+ return t.map(String);
63
+ if (typeof t == "boolean" || typeof t == "number" || typeof t == "string") return t;
64
+ if (typeof t == "object") {
65
+ const e = t;
66
+ return "content" in e && typeof e.content == "string" ? e.content : JSON.stringify(t);
67
+ }
68
+ return String(t);
69
+ }
70
+ export {
71
+ A as dataRecordToRow,
72
+ y as fieldsToRow,
73
+ s as rowToDataRecord,
74
+ a as rowsToDataRecords,
75
+ b as useSupabaseAdapter
76
+ };
@@ -0,0 +1,81 @@
1
+ import { FieldDef, TableSchema, SelectOption } from '../types';
2
+ /** Supabase / PostgreSQL column metadata (from information_schema.columns) */
3
+ export interface PgColumnInfo {
4
+ column_name: string;
5
+ data_type: string;
6
+ udt_name: string;
7
+ is_nullable: "YES" | "NO";
8
+ column_default: string | null;
9
+ character_maximum_length: number | null;
10
+ is_identity: "YES" | "NO";
11
+ identity_generation: string | null;
12
+ }
13
+ export interface InferSchemaOptions {
14
+ /** Table name */
15
+ tableName: string;
16
+ /** Column info rows from information_schema.columns */
17
+ columns: PgColumnInfo[];
18
+ /** Manual per-column overrides (merged last) */
19
+ overrides?: Record<string, Partial<FieldDef>>;
20
+ /** Column names to skip */
21
+ skipColumns?: string[];
22
+ /** column_name → display label mapping; use key '__table__' for the table display name */
23
+ labelMap?: Record<string, string>;
24
+ /** Include the id column (skipped by default) */
25
+ includeIdColumn?: boolean;
26
+ /** Use column-name heuristics for content fields (default true) */
27
+ inferContentFields?: boolean;
28
+ /** Pre-defined select options keyed by column name */
29
+ selectOptions?: Record<string, SelectOption[]>;
30
+ }
31
+ export declare function inferSchema(options: InferSchemaOptions): TableSchema;
32
+ /** Minimal Supabase client interface (avoids hard dependency on @supabase/supabase-js) */
33
+ interface SupabaseClientLike {
34
+ from(table: string): {
35
+ select(columns: string): {
36
+ eq(column: string, value: string): {
37
+ eq(column: string, value: string): Promise<{
38
+ data: PgColumnInfo[] | null;
39
+ error: {
40
+ message: string;
41
+ } | null;
42
+ }>;
43
+ };
44
+ };
45
+ };
46
+ rpc?(fn: string, params?: Record<string, unknown>): Promise<{
47
+ data: unknown;
48
+ error: {
49
+ message: string;
50
+ } | null;
51
+ }>;
52
+ }
53
+ /**
54
+ * Query table schema from Supabase and produce a TableSchema.
55
+ *
56
+ * Strategy (in order of preference):
57
+ * 1. RPC `get_table_columns(p_table_name)` — requires a custom Postgres function
58
+ * 2. Direct `information_schema.columns` query — works only if PostgREST exposes it
59
+ * 3. Falls back to inferring from a sample row's keys (limited type info)
60
+ *
61
+ * To use strategy 1, create this function in your Supabase SQL editor:
62
+ * ```sql
63
+ * CREATE OR REPLACE FUNCTION get_table_columns(p_table_name text)
64
+ * RETURNS TABLE(
65
+ * column_name text, data_type text, udt_name text,
66
+ * is_nullable text, column_default text,
67
+ * character_maximum_length int, is_identity text, identity_generation text
68
+ * ) LANGUAGE sql SECURITY DEFINER AS $$
69
+ * SELECT column_name::text, data_type::text, udt_name::text,
70
+ * is_nullable::text, column_default::text,
71
+ * character_maximum_length::int, is_identity::text, identity_generation::text
72
+ * FROM information_schema.columns
73
+ * WHERE table_schema = 'public' AND table_name = p_table_name
74
+ * ORDER BY ordinal_position;
75
+ * $$;
76
+ * ```
77
+ */
78
+ export declare function fetchSchemaFromSupabase(client: SupabaseClientLike, tableName: string, options?: Omit<InferSchemaOptions, "tableName" | "columns">): Promise<TableSchema>;
79
+ /** snake_case → Human Readable Name */
80
+ export declare function humanizeColumnName(name: string): string;
81
+ export {};