dishui 0.0.64 → 0.0.65

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 (177) hide show
  1. package/dist/components/Badge/index.js +12 -9
  2. package/dist/components/Badge/index.js.map +1 -1
  3. package/dist/components/Button/index.js +43 -40
  4. package/dist/components/Button/index.js.map +1 -1
  5. package/dist/components/Card/index.d.ts +11 -0
  6. package/dist/components/Card/index.js +62 -37
  7. package/dist/components/Card/index.js.map +1 -1
  8. package/dist/components/Chart/Chart.js.map +1 -1
  9. package/dist/components/Checkbox/index.js +32 -30
  10. package/dist/components/Checkbox/index.js.map +1 -1
  11. package/dist/components/Demo/index.js.map +1 -1
  12. package/dist/components/EmptyState/index.d.ts +4 -1
  13. package/dist/components/EmptyState/index.js +3 -3
  14. package/dist/components/EmptyState/index.js.map +1 -1
  15. package/dist/components/FileUploader/DropZone.js.map +1 -1
  16. package/dist/components/FileUploader/FileItem.js.map +1 -1
  17. package/dist/components/FileUploader/FileUploader.js.map +1 -1
  18. package/dist/components/FileUploader/UploadQueue.js.map +1 -1
  19. package/dist/components/Input/index.js +30 -30
  20. package/dist/components/Input/index.js.map +1 -1
  21. package/dist/components/Label/index.js +41 -40
  22. package/dist/components/Label/index.js.map +1 -1
  23. package/dist/components/List/index.js +47 -32
  24. package/dist/components/List/index.js.map +1 -1
  25. package/dist/components/Markdown/Markdown.js +61 -57
  26. package/dist/components/Markdown/Markdown.js.map +1 -1
  27. package/dist/components/Markdown/markdownComponents.js +49 -49
  28. package/dist/components/Markdown/markdownComponents.js.map +1 -1
  29. package/dist/components/Modal/index.d.ts +7 -3
  30. package/dist/components/Modal/index.js +77 -65
  31. package/dist/components/Modal/index.js.map +1 -1
  32. package/dist/components/Page/index.d.ts +58 -0
  33. package/dist/components/Page/index.js +74 -0
  34. package/dist/components/Page/index.js.map +1 -0
  35. package/dist/components/PageHeader/index.js.map +1 -1
  36. package/dist/components/Select/index.js +0 -3
  37. package/dist/components/Select/index.js.map +1 -1
  38. package/dist/components/SidebarToggleButton/index.js.map +1 -1
  39. package/dist/components/StatCard/index.d.ts +3 -1
  40. package/dist/components/StatCard/index.js +39 -11
  41. package/dist/components/StatCard/index.js.map +1 -1
  42. package/dist/components/Table/index.js +103 -85
  43. package/dist/components/Table/index.js.map +1 -1
  44. package/dist/components/Tabs/index.d.ts +19 -5
  45. package/dist/components/Tabs/index.js +32 -13
  46. package/dist/components/Tabs/index.js.map +1 -1
  47. package/dist/components/Tree/Tree.js.map +1 -1
  48. package/dist/components/pro/ArticleContextMenu/index.js.map +1 -1
  49. package/dist/components/pro/ArticleControl/ArticleControl2.js.map +1 -1
  50. package/dist/components/pro/CodeEditor/editors/CodeEditor.js +141 -134
  51. package/dist/components/pro/CodeEditor/editors/CodeEditor.js.map +1 -1
  52. package/dist/components/pro/CodeEditor/editors/MarkdownEditor.js +81 -78
  53. package/dist/components/pro/CodeEditor/editors/MarkdownEditor.js.map +1 -1
  54. package/dist/components/pro/CodeEditor/panels/FootnotePanel.js.map +1 -1
  55. package/dist/components/pro/CodeEditor/panels/HistoryPanel.js.map +1 -1
  56. package/dist/components/pro/CodeEditor/panels/OutlinePanel.js.map +1 -1
  57. package/dist/components/pro/CodeEditor/panels/TableOfContentsPanel.js.map +1 -1
  58. package/dist/components/pro/CodeEditor/panels/VariablePanel.js.map +1 -1
  59. package/dist/components/pro/CodeEditor/themes.js +59 -59
  60. package/dist/components/pro/CodeEditor/themes.js.map +1 -1
  61. package/dist/components/pro/DataTable/DataTable.js +49 -48
  62. package/dist/components/pro/DataTable/DataTable.js.map +1 -1
  63. package/dist/components/pro/DataTable/Filters.js +42 -42
  64. package/dist/components/pro/DataTable/Filters.js.map +1 -1
  65. package/dist/components/pro/DataTable/PivotPanel.js.map +1 -1
  66. package/dist/components/pro/DataTable/PivotView.js +35 -32
  67. package/dist/components/pro/DataTable/PivotView.js.map +1 -1
  68. package/dist/components/pro/DataTable/components/BulkActions.js.map +1 -1
  69. package/dist/components/pro/DataTable/components/ColumnSelector.js.map +1 -1
  70. package/dist/components/pro/DataTable/components/FilterBar.js.map +1 -1
  71. package/dist/components/pro/DataTable/components/TableBody.js.map +1 -1
  72. package/dist/components/pro/DataTable/components/TableHeader.js.map +1 -1
  73. package/dist/components/pro/DataTable/components/TablePagination.js.map +1 -1
  74. package/dist/components/pro/DataTable/components/TableToolbar.js.map +1 -1
  75. package/dist/components/pro/DataTable/pivotExtension.js.map +1 -1
  76. package/dist/components/pro/DataTable/rowDetailExtension.js.map +1 -1
  77. package/dist/components/pro/DataTable/tanstack-table.js +37 -37
  78. package/dist/components/pro/DataTable/tanstack-table.js.map +1 -1
  79. package/dist/components/pro/FileExplorer/Breadcrumb.js +53 -53
  80. package/dist/components/pro/FileExplorer/Breadcrumb.js.map +1 -1
  81. package/dist/components/pro/FileExplorer/CreateDialog.js.map +1 -1
  82. package/dist/components/pro/FileExplorer/FileExplorer.js.map +1 -1
  83. package/dist/components/pro/FileExplorer/FileIcon.js +22 -22
  84. package/dist/components/pro/FileExplorer/FileIcon.js.map +1 -1
  85. package/dist/components/pro/FileExplorer/GridView.js.map +1 -1
  86. package/dist/components/pro/FileExplorer/ListView.js.map +1 -1
  87. package/dist/components/pro/FileExplorer/Toolbar.js.map +1 -1
  88. package/dist/components/pro/Flow/Flow.js +496 -494
  89. package/dist/components/pro/Flow/Flow.js.map +1 -1
  90. package/dist/components/pro/Flow/FlowCanvas.js +916 -917
  91. package/dist/components/pro/Flow/FlowCanvas.js.map +1 -1
  92. package/dist/components/pro/Flow/context/FlowUIContext.js.map +1 -1
  93. package/dist/components/pro/Flow/edges/EdgeRenderer.js +59 -59
  94. package/dist/components/pro/Flow/edges/EdgeRenderer.js.map +1 -1
  95. package/dist/components/pro/Flow/hooks/useClipboard.js.map +1 -1
  96. package/dist/components/pro/Flow/hooks/useDeleteSelection.js.map +1 -1
  97. package/dist/components/pro/Flow/hooks/useEdgeMutations.js.map +1 -1
  98. package/dist/components/pro/Flow/hooks/useLayoutActions.js +9 -11
  99. package/dist/components/pro/Flow/hooks/useLayoutActions.js.map +1 -1
  100. package/dist/components/pro/Flow/hooks/useLineMutations.js.map +1 -1
  101. package/dist/components/pro/Flow/hooks/useMindMap.js.map +1 -1
  102. package/dist/components/pro/Flow/hooks/useNodeMutations.js.map +1 -1
  103. package/dist/components/pro/Flow/lines/FreehandTool.js +9 -9
  104. package/dist/components/pro/Flow/lines/FreehandTool.js.map +1 -1
  105. package/dist/components/pro/Flow/lines/LineRenderer.js +5 -5
  106. package/dist/components/pro/Flow/lines/LineRenderer.js.map +1 -1
  107. package/dist/components/pro/Flow/nodes/DataNodeView.js +113 -93
  108. package/dist/components/pro/Flow/nodes/DataNodeView.js.map +1 -1
  109. package/dist/components/pro/Flow/nodes/MediaContent.js.map +1 -1
  110. package/dist/components/pro/Flow/nodes/MediaOverlay.js.map +1 -1
  111. package/dist/components/pro/Flow/nodes/Model3DView.js +1 -1
  112. package/dist/components/pro/Flow/nodes/Model3DView.js.map +1 -1
  113. package/dist/components/pro/Flow/nodes/NodeRenderer.js +118 -118
  114. package/dist/components/pro/Flow/nodes/NodeRenderer.js.map +1 -1
  115. package/dist/components/pro/Flow/nodes/dataUtils.js.map +1 -1
  116. package/dist/components/pro/Flow/nodes/shapes.js +1 -3
  117. package/dist/components/pro/Flow/nodes/shapes.js.map +1 -1
  118. package/dist/components/pro/Flow/panels/AIPanel.js.map +1 -1
  119. package/dist/components/pro/Flow/panels/Breadcrumb.js.map +1 -1
  120. package/dist/components/pro/Flow/panels/ContextMenu.js.map +1 -1
  121. package/dist/components/pro/Flow/panels/DataInspectorSection.js.map +1 -1
  122. package/dist/components/pro/Flow/panels/ExpandableTextarea.js.map +1 -1
  123. package/dist/components/pro/Flow/panels/FlowPanelGroup.js.map +1 -1
  124. package/dist/components/pro/Flow/panels/FlowToolbar.js +97 -97
  125. package/dist/components/pro/Flow/panels/FlowToolbar.js.map +1 -1
  126. package/dist/components/pro/Flow/panels/InspectorPanel.js +57 -57
  127. package/dist/components/pro/Flow/panels/InspectorPanel.js.map +1 -1
  128. package/dist/components/pro/Flow/panels/OutlinePanel.js +26 -22
  129. package/dist/components/pro/Flow/panels/OutlinePanel.js.map +1 -1
  130. package/dist/components/pro/Flow/panels/PresentationMode.js +18 -16
  131. package/dist/components/pro/Flow/panels/PresentationMode.js.map +1 -1
  132. package/dist/components/pro/Flow/panels/ProjectTitle.js.map +1 -1
  133. package/dist/components/pro/Flow/panels/ShapePalette.js +109 -104
  134. package/dist/components/pro/Flow/panels/ShapePalette.js.map +1 -1
  135. package/dist/components/pro/Flow/panels/toolbarIcons.js.map +1 -1
  136. package/dist/components/pro/RichTextEditor/AIRewrite.js.map +1 -1
  137. package/dist/components/pro/RichTextEditor/BlockHandle.js.map +1 -1
  138. package/dist/components/pro/RichTextEditor/BubbleToolbar.js.map +1 -1
  139. package/dist/components/pro/RichTextEditor/CommentDialog.js.map +1 -1
  140. package/dist/components/pro/RichTextEditor/CommentPanel.js.map +1 -1
  141. package/dist/components/pro/RichTextEditor/CommentPopover.js.map +1 -1
  142. package/dist/components/pro/RichTextEditor/ContextMenu.js.map +1 -1
  143. package/dist/components/pro/RichTextEditor/RichTextEditor.js.map +1 -1
  144. package/dist/components/pro/RichTextEditor/SlashMenu.js.map +1 -1
  145. package/dist/components/pro/RichTextEditor/Toolbar/ColorPicker.js.map +1 -1
  146. package/dist/components/pro/RichTextEditor/Toolbar/FloatingDialogMenu.js.map +1 -1
  147. package/dist/components/pro/RichTextEditor/Toolbar/MarkdownTemplates.js.map +1 -1
  148. package/dist/components/pro/RichTextEditor/Toolbar/SelectDropdown.js.map +1 -1
  149. package/dist/components/pro/RichTextEditor/Toolbar/TableOpsMenu.js.map +1 -1
  150. package/dist/components/pro/RichTextEditor/Toolbar/Toolbar.js.map +1 -1
  151. package/dist/components/pro/RichTextEditor/extensions/CodeBlockView.js.map +1 -1
  152. package/dist/components/pro/RichTextEditor/extensions/FloatingDialog.js.map +1 -1
  153. package/dist/components/pro/RichTextEditor/extensions/MarkdownBlock.js.map +1 -1
  154. package/dist/contexts/AppContext.js.map +1 -1
  155. package/dist/dishui.css +1 -1
  156. package/dist/hooks/useTableColumns.js +7 -8
  157. package/dist/hooks/useTableColumns.js.map +1 -1
  158. package/dist/index.d.ts +2 -0
  159. package/dist/index.js +227 -221
  160. package/dist/layouts/MainLayout.js +22 -22
  161. package/dist/layouts/MainLayout.js.map +1 -1
  162. package/dist/layouts/Navbar.js.map +1 -1
  163. package/dist/layouts/Sidebar.js +94 -73
  164. package/dist/layouts/Sidebar.js.map +1 -1
  165. package/dist/layouts/headbar/Headbar.js.map +1 -1
  166. package/dist/layouts/headbar/HeadbarLangSwitcher.js.map +1 -1
  167. package/dist/layouts/headbar/HeadbarSearch.js.map +1 -1
  168. package/dist/layouts/headbar/HeadbarThemeSwitcher.js +11 -11
  169. package/dist/layouts/headbar/HeadbarThemeSwitcher.js.map +1 -1
  170. package/dist/layouts/headbar/HeadbarTitle.js.map +1 -1
  171. package/dist/utils/i18n.js +10 -10
  172. package/dist/utils/i18n.js.map +1 -1
  173. package/dist/utils/menu.js.map +1 -1
  174. package/dist/utils/routerBuilder.js +17 -15
  175. package/dist/utils/routerBuilder.js.map +1 -1
  176. package/dist/utils/themes.js.map +1 -1
  177. package/package.json +7 -7
@@ -1,9 +1,9 @@
1
- import { createActionColumn as S, createColumn as h, createComputedColumn as v, createSelectionColumn as C, dateSort as x, numericSort as z } from "../data-table.js";
1
+ import { createActionColumn as b, createColumn as h, createComputedColumn as v, createSelectionColumn as C, dateSort as x, numericSort as z } from "../data-table.js";
2
2
  import { useMemo as y } from "react";
3
3
  function g(c) {
4
- const { key: e, header: l, type: i = "text", sortable: f, cell: m, filter: o, width: n, minWidth: r, maxWidth: s, accessorFn: p, sortingFn: b, extra: u } = c;
4
+ const { key: e, header: l, type: i = "text", sortable: f, cell: m, filter: o, width: n, minWidth: r, maxWidth: s, accessorFn: p, sortingFn: S, extra: u } = c;
5
5
  if (i === "selection") return C(u);
6
- if (i === "action") return S({
6
+ if (i === "action") return b({
7
7
  id: e.startsWith("_") ? "actions" : e,
8
8
  header: l,
9
9
  cell: m,
@@ -14,14 +14,13 @@ function g(c) {
14
14
  });
15
15
  const a = {};
16
16
  o && (a.filterType = o.type, o.options && (a.filterOptions = o.options));
17
- let t = b;
17
+ let t = S;
18
18
  if (!t) switch (i) {
19
19
  case "number":
20
20
  t = z;
21
21
  break;
22
22
  case "date":
23
23
  t = x;
24
- break;
25
24
  }
26
25
  const d = {
27
26
  ...m !== void 0 ? { cell: m } : {},
@@ -35,12 +34,12 @@ function g(c) {
35
34
  };
36
35
  return i === "computed" ? v(e.startsWith("_") ? e.slice(1) : e, l, p, d) : h(e, l, d);
37
36
  }
38
- function W(c, e = []) {
37
+ function k(c, e = []) {
39
38
  return y(() => c.map(g), e);
40
39
  }
41
40
  export {
42
- W as default,
43
- W as useTableColumns
41
+ k as default,
42
+ k as useTableColumns
44
43
  };
45
44
 
46
45
  //# sourceMappingURL=useTableColumns.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTableColumns.js","names":[],"sources":["../../src/hooks/useTableColumns.ts"],"sourcesContent":["import { useMemo, ReactNode } from 'react';\nimport { ColumnDef, Row, SortingFn } from '../components/pro/DataTable/tanstack-table';\nimport {\n createColumn,\n createComputedColumn,\n createActionColumn,\n createSelectionColumn,\n numericSort,\n dateSort,\n stringSort,\n} from '../components/pro/DataTable';\n\n/**\n * 列筛选配置\n */\nexport interface ColumnFilterConfig {\n /** 筛选类型 */\n type: 'text' | 'select' | 'number' | 'dateRange';\n /** 下拉选项(仅 select 类型使用) */\n options?: { value: string; label: string }[];\n}\n\n/**\n * 列配置项(JSON 驱动)\n */\nexport interface ColumnConfig<T extends object = any> {\n /** 字段名 / accessorKey。特殊值: '_selection' 自动创建选择列 */\n key: string;\n /** 列标题 */\n header: string;\n /**\n * 列类型\n * - 'text' 普通文本列(默认)\n * - 'number' 数值列,自动使用 numericSort\n * - 'date' 日期列,自动使用 dateSort\n * - 'computed' 计算列,需提供 accessorFn\n * - 'action' 操作列,禁用排序\n * - 'selection' 选择列(含全选复选框)\n */\n type?: 'text' | 'number' | 'date' | 'computed' | 'action' | 'selection';\n /** 是否可排序,默认 true(action/selection 默认 false) */\n sortable?: boolean;\n /** 自定义单元格渲染 */\n cell?: ((info: any) => ReactNode) | ((props: { row: Row<T> }) => ReactNode);\n /** 筛选配置 */\n filter?: ColumnFilterConfig;\n /** 列宽 */\n width?: number;\n /** 最小列宽 */\n minWidth?: number;\n /** 最大列宽 */\n maxWidth?: number;\n /** 计算列的 accessorFn(仅 type='computed' 时使用) */\n accessorFn?: (row: T) => any;\n /** 自定义排序函数 */\n sortingFn?: SortingFn<any>;\n /** 任意额外选项,会被合并到最终 ColumnDef 中 */\n extra?: Partial<ColumnDef<T, any>>;\n}\n\n/**\n * 将单个 ColumnConfig 转换为 ColumnDef\n */\nfunction buildColumnDef<T extends object>(config: ColumnConfig<T>): ColumnDef<T, any> {\n const { key, header, type = 'text', sortable, cell, filter, width, minWidth, maxWidth, accessorFn, sortingFn, extra } = config;\n\n // 选择列\n if (type === 'selection') {\n return createSelectionColumn<T>(extra);\n }\n\n // 操作列\n if (type === 'action') {\n return createActionColumn<T>({\n id: key.startsWith('_') ? 'actions' : key,\n header,\n cell: cell as any,\n ...(width !== undefined ? { size: width } : {}),\n ...(minWidth !== undefined ? { minSize: minWidth } : {}),\n ...(maxWidth !== undefined ? { maxSize: maxWidth } : {}),\n ...extra,\n });\n }\n\n // 构建 meta(筛选信息)\n const meta: Record<string, any> = {};\n if (filter) {\n meta.filterType = filter.type;\n if (filter.options) {\n meta.filterOptions = filter.options;\n }\n }\n\n // 自动选择排序函数\n let resolvedSortingFn: SortingFn<any> | undefined = sortingFn;\n if (!resolvedSortingFn) {\n switch (type) {\n case 'number':\n resolvedSortingFn = numericSort;\n break;\n case 'date':\n resolvedSortingFn = dateSort;\n break;\n // 'text' 和 'computed' 使用默认排序\n }\n }\n\n // 基础选项(v9:使用 sortFn)\n const baseOptions: Partial<ColumnDef<T, any>> = {\n ...(cell !== undefined ? { cell: cell as any } : {}),\n ...(resolvedSortingFn ? { sortFn: resolvedSortingFn } : {}),\n ...(sortable === false ? { enableSorting: false } : {}),\n ...(Object.keys(meta).length > 0 ? { meta } : {}),\n ...(width !== undefined ? { size: width } : {}),\n ...(minWidth !== undefined ? { minSize: minWidth } : {}),\n ...(maxWidth !== undefined ? { maxSize: maxWidth } : {}),\n ...extra,\n };\n\n // 计算列\n if (type === 'computed') {\n return createComputedColumn<T>(\n key.startsWith('_') ? key.slice(1) : key,\n header,\n accessorFn,\n baseOptions\n );\n }\n\n // 普通列 / number / date\n return createColumn<T>(key, header, baseOptions);\n}\n\n/**\n * useTableColumns - 通过 JSON 配置数组快速创建 DataTable 列定义\n *\n * @example\n * ```tsx\n * const columns = useTableColumns<Order>([\n * { key: '_selection', type: 'selection', header: '' },\n * { key: 'orderNumber', header: '订单编号', filter: { type: 'text' } },\n * { key: 'total', header: '总金额', type: 'number',\n * cell: info => `¥${info.getValue<number>().toFixed(2)}`,\n * filter: { type: 'number' } },\n * { key: '_actions', type: 'action', header: '操作',\n * cell: ({ row }) => <button>查看</button> }\n * ]);\n * ```\n *\n * @param configs - 列配置数组\n * @param deps - 额外依赖项(当 cell 渲染器依赖外部状态时使用)\n */\nexport function useTableColumns<T extends object>(\n configs: ColumnConfig<T>[],\n deps: any[] = []\n): ColumnDef<T, any>[] {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useMemo(() => configs.map(buildColumnDef), deps);\n}\n\nexport default useTableColumns;\n"],"mappings":";;AA+DA,SAAS,EAAiC,GAA4C;AAClF,QAAM,EAAE,KAAA,GAAK,QAAA,GAAQ,MAAA,IAAO,QAAQ,UAAA,GAAU,MAAA,GAAM,QAAA,GAAQ,OAAA,GAAO,UAAA,GAAU,UAAA,GAAU,YAAA,GAAY,WAAA,GAAW,OAAA,EAAA,IAAU;AAGxH,MAAI,MAAS,YACT,QAAO,EAAyB,CAAK;AAIzC,MAAI,MAAS,SACT,QAAO,EAAsB;AAAA,IACzB,IAAI,EAAI,WAAW,GAAG,IAAI,YAAY;AAAA,IACtC,QAAA;AAAA,IACM,MAAA;AAAA,IACN,GAAI,MAAU,SAAY,EAAE,MAAM,EAAM,IAAI,CAAC;AAAA,IAC7C,GAAI,MAAa,SAAY,EAAE,SAAS,EAAS,IAAI,CAAC;AAAA,IACtD,GAAI,MAAa,SAAY,EAAE,SAAS,EAAS,IAAI,CAAC;AAAA,IACtD,GAAG;AAAA,EACP,CAAC;AAIL,QAAM,IAA4B,CAAC;AACnC,EAAI,MACA,EAAK,aAAa,EAAO,MACrB,EAAO,YACP,EAAK,gBAAgB,EAAO;AAKpC,MAAI,IAAgD;AACpD,MAAI,CAAC,EACD,SAAQ,GAAR;AAAA,IACI,KAAK;AACD,MAAA,IAAoB;AACpB;AAAA,IACJ,KAAK;AACD,MAAA,IAAoB;AACpB;AAAA,EAER;AAIJ,QAAM,IAA0C;AAAA,IAC5C,GAAI,MAAS,SAAY,EAAQ,MAAA,EAAY,IAAI,CAAC;AAAA,IAClD,GAAI,IAAoB,EAAE,QAAQ,EAAkB,IAAI,CAAC;AAAA,IACzD,GAAI,MAAa,KAAQ,EAAE,eAAe,GAAM,IAAI,CAAC;AAAA,IACrD,GAAI,OAAO,KAAK,CAAI,EAAE,SAAS,IAAI,EAAE,MAAA,EAAK,IAAI,CAAC;AAAA,IAC/C,GAAI,MAAU,SAAY,EAAE,MAAM,EAAM,IAAI,CAAC;AAAA,IAC7C,GAAI,MAAa,SAAY,EAAE,SAAS,EAAS,IAAI,CAAC;AAAA,IACtD,GAAI,MAAa,SAAY,EAAE,SAAS,EAAS,IAAI,CAAC;AAAA,IACtD,GAAG;AAAA,EACP;AAGA,SAAI,MAAS,aACF,EACH,EAAI,WAAW,GAAG,IAAI,EAAI,MAAM,CAAC,IAAI,GACrC,GACA,GACA,CACJ,IAIG,EAAgB,GAAK,GAAQ,CAAW;AACnD;AAqBA,SAAgB,EACZ,GACA,IAAc,CAAC,GACI;AAEnB,SAAO,EAAA,MAAc,EAAQ,IAAI,CAAc,GAAG,CAAI;AAC1D"}
1
+ {"version":3,"file":"useTableColumns.js","names":[],"sources":["../../src/hooks/useTableColumns.ts"],"sourcesContent":["import { useMemo, ReactNode } from 'react';\nimport { ColumnDef, Row, SortingFn } from '../components/pro/DataTable/tanstack-table';\nimport {\n createColumn,\n createComputedColumn,\n createActionColumn,\n createSelectionColumn,\n numericSort,\n dateSort,\n stringSort,\n} from '../components/pro/DataTable';\n\n/**\n * 列筛选配置\n */\nexport interface ColumnFilterConfig {\n /** 筛选类型 */\n type: 'text' | 'select' | 'number' | 'dateRange';\n /** 下拉选项(仅 select 类型使用) */\n options?: { value: string; label: string }[];\n}\n\n/**\n * 列配置项(JSON 驱动)\n */\nexport interface ColumnConfig<T extends object = any> {\n /** 字段名 / accessorKey。特殊值: '_selection' 自动创建选择列 */\n key: string;\n /** 列标题 */\n header: string;\n /**\n * 列类型\n * - 'text' 普通文本列(默认)\n * - 'number' 数值列,自动使用 numericSort\n * - 'date' 日期列,自动使用 dateSort\n * - 'computed' 计算列,需提供 accessorFn\n * - 'action' 操作列,禁用排序\n * - 'selection' 选择列(含全选复选框)\n */\n type?: 'text' | 'number' | 'date' | 'computed' | 'action' | 'selection';\n /** 是否可排序,默认 true(action/selection 默认 false) */\n sortable?: boolean;\n /** 自定义单元格渲染 */\n cell?: ((info: any) => ReactNode) | ((props: { row: Row<T> }) => ReactNode);\n /** 筛选配置 */\n filter?: ColumnFilterConfig;\n /** 列宽 */\n width?: number;\n /** 最小列宽 */\n minWidth?: number;\n /** 最大列宽 */\n maxWidth?: number;\n /** 计算列的 accessorFn(仅 type='computed' 时使用) */\n accessorFn?: (row: T) => any;\n /** 自定义排序函数 */\n sortingFn?: SortingFn<any>;\n /** 任意额外选项,会被合并到最终 ColumnDef 中 */\n extra?: Partial<ColumnDef<T, any>>;\n}\n\n/**\n * 将单个 ColumnConfig 转换为 ColumnDef\n */\nfunction buildColumnDef<T extends object>(config: ColumnConfig<T>): ColumnDef<T, any> {\n const { key, header, type = 'text', sortable, cell, filter, width, minWidth, maxWidth, accessorFn, sortingFn, extra } = config;\n\n // 选择列\n if (type === 'selection') {\n return createSelectionColumn<T>(extra);\n }\n\n // 操作列\n if (type === 'action') {\n return createActionColumn<T>({\n id: key.startsWith('_') ? 'actions' : key,\n header,\n cell: cell as any,\n ...(width !== undefined ? { size: width } : {}),\n ...(minWidth !== undefined ? { minSize: minWidth } : {}),\n ...(maxWidth !== undefined ? { maxSize: maxWidth } : {}),\n ...extra,\n });\n }\n\n // 构建 meta(筛选信息)\n const meta: Record<string, any> = {};\n if (filter) {\n meta.filterType = filter.type;\n if (filter.options) {\n meta.filterOptions = filter.options;\n }\n }\n\n // 自动选择排序函数\n let resolvedSortingFn: SortingFn<any> | undefined = sortingFn;\n if (!resolvedSortingFn) {\n switch (type) {\n case 'number':\n resolvedSortingFn = numericSort;\n break;\n case 'date':\n resolvedSortingFn = dateSort;\n break;\n // 'text' 和 'computed' 使用默认排序\n }\n }\n\n // 基础选项(v9:使用 sortFn)\n const baseOptions: Partial<ColumnDef<T, any>> = {\n ...(cell !== undefined ? { cell: cell as any } : {}),\n ...(resolvedSortingFn ? { sortFn: resolvedSortingFn } : {}),\n ...(sortable === false ? { enableSorting: false } : {}),\n ...(Object.keys(meta).length > 0 ? { meta } : {}),\n ...(width !== undefined ? { size: width } : {}),\n ...(minWidth !== undefined ? { minSize: minWidth } : {}),\n ...(maxWidth !== undefined ? { maxSize: maxWidth } : {}),\n ...extra,\n };\n\n // 计算列\n if (type === 'computed') {\n return createComputedColumn<T>(\n key.startsWith('_') ? key.slice(1) : key,\n header,\n accessorFn,\n baseOptions\n );\n }\n\n // 普通列 / number / date\n return createColumn<T>(key, header, baseOptions);\n}\n\n/**\n * useTableColumns - 通过 JSON 配置数组快速创建 DataTable 列定义\n *\n * @example\n * ```tsx\n * const columns = useTableColumns<Order>([\n * { key: '_selection', type: 'selection', header: '' },\n * { key: 'orderNumber', header: '订单编号', filter: { type: 'text' } },\n * { key: 'total', header: '总金额', type: 'number',\n * cell: info => `¥${info.getValue<number>().toFixed(2)}`,\n * filter: { type: 'number' } },\n * { key: '_actions', type: 'action', header: '操作',\n * cell: ({ row }) => <button>查看</button> }\n * ]);\n * ```\n *\n * @param configs - 列配置数组\n * @param deps - 额外依赖项(当 cell 渲染器依赖外部状态时使用)\n */\nexport function useTableColumns<T extends object>(\n configs: ColumnConfig<T>[],\n deps: any[] = []\n): ColumnDef<T, any>[] {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useMemo(() => configs.map(buildColumnDef), deps);\n}\n\nexport default useTableColumns;\n"],"mappings":";;AA+DA,SAAS,EAAiC,GAA4C;AAClF,QAAM,EAAE,KAAA,GAAK,QAAA,GAAQ,MAAA,IAAO,QAAQ,UAAA,GAAU,MAAA,GAAM,QAAA,GAAQ,OAAA,GAAO,UAAA,GAAU,UAAA,GAAU,YAAA,GAAY,WAAA,GAAW,OAAA,EAAA,IAAU;AAGxH,MAAI,MAAS,YACT,QAAO,EAAyB,CAAK;AAIzC,MAAI,MAAS,SACT,QAAO,EAAsB;AAAA,IACzB,IAAI,EAAI,WAAW,GAAG,IAAI,YAAY;AAAA,IACtC,QAAA;AAAA,IACM,MAAA;AAAA,IACN,GAAI,MAAU,SAAY,EAAE,MAAM,EAAM,IAAI,CAAC;AAAA,IAC7C,GAAI,MAAa,SAAY,EAAE,SAAS,EAAS,IAAI,CAAC;AAAA,IACtD,GAAI,MAAa,SAAY,EAAE,SAAS,EAAS,IAAI,CAAC;AAAA,IACtD,GAAG;AAAA,EACP,CAAC;AAIL,QAAM,IAA4B,CAAC;AACnC,EAAI,MACA,EAAK,aAAa,EAAO,MACrB,EAAO,YACP,EAAK,gBAAgB,EAAO;AAKpC,MAAI,IAAgD;AACpD,MAAI,CAAC,EACD,SAAQ,GAAR;AAAA,IACI,KAAK;AACD,MAAA,IAAoB;AACpB;AAAA,IACJ,KAAK;AACD,MAAA,IAAoB;AAAA,EAG5B;AAIJ,QAAM,IAA0C;AAAA,IAC5C,GAAI,MAAS,SAAY,EAAQ,MAAA,EAAY,IAAI,CAAC;AAAA,IAClD,GAAI,IAAoB,EAAE,QAAQ,EAAkB,IAAI,CAAC;AAAA,IACzD,GAAI,MAAa,KAAQ,EAAE,eAAe,GAAM,IAAI,CAAC;AAAA,IACrD,GAAI,OAAO,KAAK,CAAI,EAAE,SAAS,IAAI,EAAE,MAAA,EAAK,IAAI,CAAC;AAAA,IAC/C,GAAI,MAAU,SAAY,EAAE,MAAM,EAAM,IAAI,CAAC;AAAA,IAC7C,GAAI,MAAa,SAAY,EAAE,SAAS,EAAS,IAAI,CAAC;AAAA,IACtD,GAAI,MAAa,SAAY,EAAE,SAAS,EAAS,IAAI,CAAC;AAAA,IACtD,GAAG;AAAA,EACP;AAGA,SAAI,MAAS,aACF,EACH,EAAI,WAAW,GAAG,IAAI,EAAI,MAAM,CAAC,IAAI,GACrC,GACA,GACA,CACJ,IAIG,EAAgB,GAAK,GAAQ,CAAW;AACnD;AAqBA,SAAgB,EACZ,GACA,IAAc,CAAC,GACI;AAEnB,SAAO,EAAA,MAAc,EAAQ,IAAI,CAAc,GAAG,CAAI;AAC1D"}
package/dist/index.d.ts CHANGED
@@ -14,6 +14,8 @@ export { default as Card } from './components/Card';
14
14
  export type { CardProps } from './components/Card';
15
15
  export { default as PageHeader } from './components/PageHeader';
16
16
  export type { PageHeaderProps } from './components/PageHeader';
17
+ export { default as Page, PageBody, PageLeft, PageRight, PageMain } from './components/Page';
18
+ export type { PageProps, PageBodyProps, PageAsideProps, PageMainProps } from './components/Page';
17
19
  export { default as StatCard } from './components/StatCard';
18
20
  export type { StatCardProps } from './components/StatCard';
19
21
  export { default as EmptyState } from './components/EmptyState';
package/dist/index.js CHANGED
@@ -1,238 +1,244 @@
1
1
  /* empty css */
2
2
  import t from "./components/Button/index.js";
3
3
  import m from "./components/Badge/index.js";
4
- import p from "./components/Input/index.js";
4
+ import a from "./components/Input/index.js";
5
5
  import l from "./components/Label/index.js";
6
6
  import n from "./components/Checkbox/index.js";
7
7
  import u from "./components/Select/index.js";
8
8
  import T from "./components/Card/index.js";
9
9
  import S from "./components/PageHeader/index.js";
10
- import b from "./components/StatCard/index.js";
11
- import P from "./components/EmptyState/index.js";
12
- import D from "./components/Modal/index.js";
13
- import F from "./components/Tabs/index.js";
14
- import h, { Container as A, Flex as I, Grid as x, GridItem as _, Group as L, Space as y } from "./components/Layout/index.js";
15
- import N from "./components/List/index.js";
16
- import v from "./components/Table/index.js";
17
- import { generateSidebarActiveStyles as G, generateTreeActiveStyles as H, themeActiveStyles as U } from "./styles/themeStyles.js";
18
- import K from "./components/Tree/Tree.js";
19
- import W from "./layouts/Sidebar.js";
20
- import Y from "./layouts/headbar/Headbar.js";
21
- import $ from "./layouts/headbar/HeadbarTitle.js";
22
- import z from "./layouts/headbar/HeadbarSearch.js";
23
- import Z from "./layouts/headbar/HeadbarLangSwitcher.js";
24
- import { getThemes as oo } from "./utils/themes.js";
25
- import to from "./layouts/headbar/HeadbarThemeSwitcher.js";
26
- import { DesktopSidebarToggleButton as mo, MobileSidebarToggleButton as io, SidebarToggleButtons as po } from "./components/SidebarToggleButton/index.js";
27
- import { AppLayoutWrapper as lo, AppProvider as fo, AppShell as no, useAppContext as so, useAuth as uo } from "./contexts/AppContext.js";
28
- import co from "./hooks/useTableColumns.js";
29
- import Eo from "./hooks/useTableData.js";
30
- import { defineExtension as Co } from "./components/pro/DataTable/extension.js";
31
- import { computePivot as wo } from "./components/pro/DataTable/pivotEngine.js";
32
- import { PivotView as go } from "./components/pro/DataTable/PivotView.js";
33
- import { PivotPanel as Oo } from "./components/pro/DataTable/PivotPanel.js";
34
- import { usePivotExtension as Ao } from "./components/pro/DataTable/pivotExtension.js";
35
- import { useRowDetailExtension as xo } from "./components/pro/DataTable/rowDetailExtension.js";
36
- import Lo, { createActionColumn as yo, createColumn as Mo, createComputedColumn as No, createSelectOptions as Ro, createSelectionColumn as vo, dateSort as Bo, defaultFilterFunctions as Go, extractUniqueOptions as Ho, numericSort as Uo, stringSort as ko, treeSort as Ko } from "./data-table.js";
37
- import Wo from "./components/Chart/Chart.js";
38
- import Yo from "./components/Demo/index.js";
39
- import $o from "./components/pro/ArticleControl/ArticleControl2.js";
40
- import zo from "./components/pro/ArticleContextMenu/index.js";
41
- import Zo from "./components/Markdown/Markdown.js";
42
- import { getDefaultSnippets as or, javascriptSnippets as rr, pythonSnippets as tr } from "./components/pro/CodeEditor/langs/snippets.js";
43
- import { jsJumpableKeywords as mr, jsKeywords as ir } from "./components/pro/CodeEditor/langs/javascript.js";
44
- import { pyJumpableKeywords as ar, pyKeywords as lr } from "./components/pro/CodeEditor/langs/python.js";
45
- import { getJumpableKeywords as nr, getLanguageKeywords as sr } from "./components/pro/CodeEditor/langs/index.js";
46
- import { bracketMatchingStyle as dr, jumpTargetHighlight as Tr, jumpToDefinition as cr, lineHighlightStyle as Sr, smartAutocompletion as Er } from "./components/pro/CodeEditor/extensions/index.js";
47
- import { createThemeExtension as Cr } from "./components/pro/CodeEditor/themes.js";
48
- import { collectVariables as wr, generateOutline as Dr } from "./components/pro/CodeEditor/utils.js";
49
- import { defaultContextMenu as Fr } from "./components/pro/CodeEditor/extensions/contextMenu.js";
50
- import hr from "./components/pro/CodeEditor/editors/CodeEditor.js";
51
- import Ir from "./components/pro/CodeEditor/panels/TableOfContentsPanel.js";
52
- import _r from "./components/pro/CodeEditor/panels/FootnotePanel.js";
53
- import yr from "./components/pro/CodeEditor/editors/MarkdownEditor.js";
54
- import Nr from "./components/pro/CodeEditor/panels/OutlinePanel.js";
55
- import vr from "./components/pro/CodeEditor/panels/VariablePanel.js";
56
- import Gr from "./layouts/MainLayout.js";
57
- import Ur from "./layouts/Navbar.js";
58
- import { ProtectedRoute as Kr } from "./components/ProtectedRoute/index.js";
59
- import { buildRouter as Wr, createRouterFromConfig as jr } from "./utils/routerBuilder.js";
60
- import { DropZone as Jr, formatFileSize as $r } from "./components/FileUploader/DropZone.js";
61
- import { FileItem as zr } from "./components/FileUploader/FileItem.js";
62
- import { UploadQueue as Zr } from "./components/FileUploader/UploadQueue.js";
63
- import { FileUploader as ot } from "./components/FileUploader/FileUploader.js";
64
- import { FileIcon as tt } from "./components/pro/FileExplorer/FileIcon.js";
65
- import { Breadcrumb as mt } from "./components/pro/FileExplorer/Breadcrumb.js";
66
- import { Toolbar as pt } from "./components/pro/FileExplorer/Toolbar.js";
67
- import { ListView as lt } from "./components/pro/FileExplorer/ListView.js";
68
- import { GridView as nt } from "./components/pro/FileExplorer/GridView.js";
69
- import { CreateDialog as ut } from "./components/pro/FileExplorer/CreateDialog.js";
70
- import { FileExplorer as Tt } from "./components/pro/FileExplorer/FileExplorer.js";
71
- import { defaultLabels as St } from "./components/pro/RichTextEditor/types.js";
72
- import bt from "./components/pro/RichTextEditor/Toolbar/Toolbar.js";
73
- import Pt from "./components/pro/RichTextEditor/AIRewrite.js";
74
- import { MarkdownBlockExtension as Dt } from "./components/pro/RichTextEditor/extensions/MarkdownBlock.js";
75
- import { CodeBlockExtension as Ft } from "./components/pro/RichTextEditor/extensions/CodeBlockView.js";
76
- import ht from "./components/pro/RichTextEditor/RichTextEditor.js";
77
- import { BORDER_STYLE_OPTIONS as It, DASH_DENSITY_OPTIONS as xt, DEFAULT_EDGE_DATA as _t, DEFAULT_NODE_DATA as Lt, EDGE_LINE_STYLE_OPTIONS as yt, EDGE_MARKER_OPTIONS as Mt, EDGE_TYPE_OPTIONS as Nt, GRADIENT_DIRECTION_OPTIONS as Rt, PALETTE_ITEMS as vt, ROOT_CANVAS_ID as Bt, createEmptyDocument as Gt } from "./components/pro/Flow/constants.js";
78
- import { FlowProvider as Ut, useFlowContext as kt } from "./components/pro/Flow/context/FlowContext.js";
79
- import { FlowUIProvider as Vt, useFlowUI as Wt } from "./components/pro/Flow/context/FlowUIContext.js";
80
- import { downloadDataURL as Yt, exportCanvasToPNG as Jt, useFlowImportExport as $t } from "./components/pro/Flow/hooks/useFlowImportExport.js";
81
- import { useLayoutActions as zt } from "./components/pro/Flow/hooks/useLayoutActions.js";
82
- import Zt from "./components/pro/Flow/panels/FlowToolbar.js";
83
- import oe from "./components/pro/Flow/panels/ShapePalette.js";
84
- import { FLOW_NODE_TYPES as te } from "./components/pro/Flow/types.js";
85
- import me from "./components/pro/Flow/panels/InspectorPanel.js";
86
- import pe from "./components/pro/Flow/panels/OutlinePanel.js";
87
- import le from "./components/pro/Flow/panels/ContextMenu.js";
88
- import { useClipboard as ne } from "./components/pro/Flow/hooks/useClipboard.js";
89
- import ue from "./components/pro/Flow/Flow.js";
90
- import { useNodeMutations as Te } from "./components/pro/Flow/hooks/useNodeMutations.js";
91
- import { useEdgeMutations as Se } from "./components/pro/Flow/hooks/useEdgeMutations.js";
92
- import { useLineMutations as be } from "./components/pro/Flow/hooks/useLineMutations.js";
93
- import { useSelection as Pe } from "./components/pro/Flow/hooks/useSelection.js";
10
+ import b, { PageBody as P, PageLeft as g, PageMain as C, PageRight as w } from "./components/Page/index.js";
11
+ import h from "./components/StatCard/index.js";
12
+ import O from "./components/EmptyState/index.js";
13
+ import I from "./components/Modal/index.js";
14
+ import _ from "./components/Tabs/index.js";
15
+ import y, { Container as M, Flex as N, Grid as R, GridItem as v, Group as B, Space as G } from "./components/Layout/index.js";
16
+ import U from "./components/List/index.js";
17
+ import K from "./components/Table/index.js";
18
+ import { generateSidebarActiveStyles as V, generateTreeActiveStyles as j, themeActiveStyles as Y } from "./styles/themeStyles.js";
19
+ import $ from "./components/Tree/Tree.js";
20
+ import z from "./layouts/Sidebar.js";
21
+ import Z from "./layouts/headbar/Headbar.js";
22
+ import oo from "./layouts/headbar/HeadbarTitle.js";
23
+ import to from "./layouts/headbar/HeadbarSearch.js";
24
+ import mo from "./layouts/headbar/HeadbarLangSwitcher.js";
25
+ import { getThemes as ao } from "./utils/themes.js";
26
+ import lo from "./layouts/headbar/HeadbarThemeSwitcher.js";
27
+ import { DesktopSidebarToggleButton as no, MobileSidebarToggleButton as so, SidebarToggleButtons as uo } from "./components/SidebarToggleButton/index.js";
28
+ import { AppLayoutWrapper as co, AppProvider as So, AppShell as Eo, useAppContext as bo, useAuth as Po } from "./contexts/AppContext.js";
29
+ import Co from "./hooks/useTableColumns.js";
30
+ import Do from "./hooks/useTableData.js";
31
+ import { defineExtension as Fo } from "./components/pro/DataTable/extension.js";
32
+ import { computePivot as Ao } from "./components/pro/DataTable/pivotEngine.js";
33
+ import { PivotView as xo } from "./components/pro/DataTable/PivotView.js";
34
+ import { PivotPanel as Lo } from "./components/pro/DataTable/PivotPanel.js";
35
+ import { usePivotExtension as Mo } from "./components/pro/DataTable/pivotExtension.js";
36
+ import { useRowDetailExtension as Ro } from "./components/pro/DataTable/rowDetailExtension.js";
37
+ import Bo, { createActionColumn as Go, createColumn as Ho, createComputedColumn as Uo, createSelectOptions as ko, createSelectionColumn as Ko, dateSort as Wo, defaultFilterFunctions as Vo, extractUniqueOptions as jo, numericSort as Yo, stringSort as Jo, treeSort as $o } from "./data-table.js";
38
+ import zo from "./components/Chart/Chart.js";
39
+ import Zo from "./components/Demo/index.js";
40
+ import or from "./components/pro/ArticleControl/ArticleControl2.js";
41
+ import tr from "./components/pro/ArticleContextMenu/index.js";
42
+ import mr from "./components/Markdown/Markdown.js";
43
+ import { getDefaultSnippets as ar, javascriptSnippets as pr, pythonSnippets as lr } from "./components/pro/CodeEditor/langs/snippets.js";
44
+ import { jsJumpableKeywords as nr, jsKeywords as sr } from "./components/pro/CodeEditor/langs/javascript.js";
45
+ import { pyJumpableKeywords as dr, pyKeywords as Tr } from "./components/pro/CodeEditor/langs/python.js";
46
+ import { getJumpableKeywords as Sr, getLanguageKeywords as Er } from "./components/pro/CodeEditor/langs/index.js";
47
+ import { bracketMatchingStyle as Pr, jumpTargetHighlight as gr, jumpToDefinition as Cr, lineHighlightStyle as wr, smartAutocompletion as Dr } from "./components/pro/CodeEditor/extensions/index.js";
48
+ import { createThemeExtension as Fr } from "./components/pro/CodeEditor/themes.js";
49
+ import { collectVariables as Ar, generateOutline as Ir } from "./components/pro/CodeEditor/utils.js";
50
+ import { defaultContextMenu as _r } from "./components/pro/CodeEditor/extensions/contextMenu.js";
51
+ import yr from "./components/pro/CodeEditor/editors/CodeEditor.js";
52
+ import Nr from "./components/pro/CodeEditor/panels/TableOfContentsPanel.js";
53
+ import vr from "./components/pro/CodeEditor/panels/FootnotePanel.js";
54
+ import Gr from "./components/pro/CodeEditor/editors/MarkdownEditor.js";
55
+ import Ur from "./components/pro/CodeEditor/panels/OutlinePanel.js";
56
+ import Kr from "./components/pro/CodeEditor/panels/VariablePanel.js";
57
+ import Vr from "./layouts/MainLayout.js";
58
+ import Yr from "./layouts/Navbar.js";
59
+ import { ProtectedRoute as $r } from "./components/ProtectedRoute/index.js";
60
+ import { buildRouter as zr, createRouterFromConfig as Qr } from "./utils/routerBuilder.js";
61
+ import { DropZone as Xr, formatFileSize as ot } from "./components/FileUploader/DropZone.js";
62
+ import { FileItem as tt } from "./components/FileUploader/FileItem.js";
63
+ import { UploadQueue as mt } from "./components/FileUploader/UploadQueue.js";
64
+ import { FileUploader as at } from "./components/FileUploader/FileUploader.js";
65
+ import { FileIcon as lt } from "./components/pro/FileExplorer/FileIcon.js";
66
+ import { Breadcrumb as nt } from "./components/pro/FileExplorer/Breadcrumb.js";
67
+ import { Toolbar as ut } from "./components/pro/FileExplorer/Toolbar.js";
68
+ import { ListView as Tt } from "./components/pro/FileExplorer/ListView.js";
69
+ import { GridView as St } from "./components/pro/FileExplorer/GridView.js";
70
+ import { CreateDialog as bt } from "./components/pro/FileExplorer/CreateDialog.js";
71
+ import { FileExplorer as gt } from "./components/pro/FileExplorer/FileExplorer.js";
72
+ import { defaultLabels as wt } from "./components/pro/RichTextEditor/types.js";
73
+ import ht from "./components/pro/RichTextEditor/Toolbar/Toolbar.js";
74
+ import Ot from "./components/pro/RichTextEditor/AIRewrite.js";
75
+ import { MarkdownBlockExtension as It } from "./components/pro/RichTextEditor/extensions/MarkdownBlock.js";
76
+ import { CodeBlockExtension as _t } from "./components/pro/RichTextEditor/extensions/CodeBlockView.js";
77
+ import yt from "./components/pro/RichTextEditor/RichTextEditor.js";
78
+ import { BORDER_STYLE_OPTIONS as Nt, DASH_DENSITY_OPTIONS as Rt, DEFAULT_EDGE_DATA as vt, DEFAULT_NODE_DATA as Bt, EDGE_LINE_STYLE_OPTIONS as Gt, EDGE_MARKER_OPTIONS as Ht, EDGE_TYPE_OPTIONS as Ut, GRADIENT_DIRECTION_OPTIONS as kt, PALETTE_ITEMS as Kt, ROOT_CANVAS_ID as Wt, createEmptyDocument as Vt } from "./components/pro/Flow/constants.js";
79
+ import { FlowProvider as Yt, useFlowContext as Jt } from "./components/pro/Flow/context/FlowContext.js";
80
+ import { FlowUIProvider as qt, useFlowUI as zt } from "./components/pro/Flow/context/FlowUIContext.js";
81
+ import { downloadDataURL as Zt, exportCanvasToPNG as Xt, useFlowImportExport as oe } from "./components/pro/Flow/hooks/useFlowImportExport.js";
82
+ import { useLayoutActions as te } from "./components/pro/Flow/hooks/useLayoutActions.js";
83
+ import me from "./components/pro/Flow/panels/FlowToolbar.js";
84
+ import ae from "./components/pro/Flow/panels/ShapePalette.js";
85
+ import { FLOW_NODE_TYPES as le } from "./components/pro/Flow/types.js";
86
+ import ne from "./components/pro/Flow/panels/InspectorPanel.js";
87
+ import ue from "./components/pro/Flow/panels/OutlinePanel.js";
88
+ import Te from "./components/pro/Flow/panels/ContextMenu.js";
89
+ import { useClipboard as Se } from "./components/pro/Flow/hooks/useClipboard.js";
90
+ import be from "./components/pro/Flow/Flow.js";
91
+ import { useNodeMutations as ge } from "./components/pro/Flow/hooks/useNodeMutations.js";
92
+ import { useEdgeMutations as we } from "./components/pro/Flow/hooks/useEdgeMutations.js";
93
+ import { useLineMutations as he } from "./components/pro/Flow/hooks/useLineMutations.js";
94
+ import { useSelection as Oe } from "./components/pro/Flow/hooks/useSelection.js";
94
95
  export {
95
- Pt as AIRewrite,
96
- lo as AppLayoutWrapper,
97
- fo as AppProvider,
98
- no as AppShell,
99
- zo as ArticleContextMenu,
100
- $o as ArticleControl,
101
- It as BORDER_STYLE_OPTIONS,
96
+ Ot as AIRewrite,
97
+ co as AppLayoutWrapper,
98
+ So as AppProvider,
99
+ Eo as AppShell,
100
+ tr as ArticleContextMenu,
101
+ or as ArticleControl,
102
+ Nt as BORDER_STYLE_OPTIONS,
102
103
  m as Badge,
103
- mt as Breadcrumb,
104
+ nt as Breadcrumb,
104
105
  t as Button,
105
106
  T as Card,
106
- Wo as Chart,
107
+ zo as Chart,
107
108
  n as Checkbox,
108
- Ft as CodeBlockExtension,
109
- hr as CodeEditor,
110
- A as Container,
111
- ut as CreateDialog,
112
- xt as DASH_DENSITY_OPTIONS,
113
- _t as DEFAULT_EDGE_DATA,
114
- Lt as DEFAULT_NODE_DATA,
115
- Lo as DataTable,
116
- Yo as Demo,
117
- mo as DesktopSidebarToggleButton,
118
- Jr as DropZone,
119
- yt as EDGE_LINE_STYLE_OPTIONS,
120
- Mt as EDGE_MARKER_OPTIONS,
121
- Nt as EDGE_TYPE_OPTIONS,
122
- P as EmptyState,
123
- te as FLOW_NODE_TYPES,
124
- Tt as FileExplorer,
125
- pt as FileExplorerToolbar,
126
- tt as FileIcon,
127
- ot as FileUploader,
128
- I as Flex,
129
- ue as Flow,
130
- le as FlowContextMenu,
131
- me as FlowInspectorPanel,
132
- pe as FlowOutlinePanel,
133
- Ut as FlowProvider,
134
- oe as FlowShapePalette,
135
- Zt as FlowToolbar,
136
- Vt as FlowUIProvider,
137
- _r as FootnotePanel,
138
- Rt as GRADIENT_DIRECTION_OPTIONS,
139
- x as Grid,
140
- _ as GridItem,
141
- nt as GridView,
142
- L as Group,
143
- Y as Headbar,
144
- Z as HeadbarLangSwitcher,
145
- z as HeadbarSearch,
146
- to as HeadbarThemeSwitcher,
147
- $ as HeadbarTitle,
148
- p as Input,
109
+ _t as CodeBlockExtension,
110
+ yr as CodeEditor,
111
+ M as Container,
112
+ bt as CreateDialog,
113
+ Rt as DASH_DENSITY_OPTIONS,
114
+ vt as DEFAULT_EDGE_DATA,
115
+ Bt as DEFAULT_NODE_DATA,
116
+ Bo as DataTable,
117
+ Zo as Demo,
118
+ no as DesktopSidebarToggleButton,
119
+ Xr as DropZone,
120
+ Gt as EDGE_LINE_STYLE_OPTIONS,
121
+ Ht as EDGE_MARKER_OPTIONS,
122
+ Ut as EDGE_TYPE_OPTIONS,
123
+ O as EmptyState,
124
+ le as FLOW_NODE_TYPES,
125
+ gt as FileExplorer,
126
+ ut as FileExplorerToolbar,
127
+ lt as FileIcon,
128
+ at as FileUploader,
129
+ N as Flex,
130
+ be as Flow,
131
+ Te as FlowContextMenu,
132
+ ne as FlowInspectorPanel,
133
+ ue as FlowOutlinePanel,
134
+ Yt as FlowProvider,
135
+ ae as FlowShapePalette,
136
+ me as FlowToolbar,
137
+ qt as FlowUIProvider,
138
+ vr as FootnotePanel,
139
+ kt as GRADIENT_DIRECTION_OPTIONS,
140
+ R as Grid,
141
+ v as GridItem,
142
+ St as GridView,
143
+ B as Group,
144
+ Z as Headbar,
145
+ mo as HeadbarLangSwitcher,
146
+ to as HeadbarSearch,
147
+ lo as HeadbarThemeSwitcher,
148
+ oo as HeadbarTitle,
149
+ a as Input,
149
150
  l as Label,
150
- h as Layout,
151
- N as List,
152
- lt as ListView,
153
- Gr as MainLayout,
154
- Zo as Markdown,
155
- Dt as MarkdownBlockExtension,
156
- yr as MarkdownEditor,
157
- io as MobileSidebarToggleButton,
158
- D as Modal,
159
- Ur as Navbar,
160
- Nr as OutlinePanel,
161
- vt as PALETTE_ITEMS,
151
+ y as Layout,
152
+ U as List,
153
+ Tt as ListView,
154
+ Vr as MainLayout,
155
+ mr as Markdown,
156
+ It as MarkdownBlockExtension,
157
+ Gr as MarkdownEditor,
158
+ so as MobileSidebarToggleButton,
159
+ I as Modal,
160
+ Yr as Navbar,
161
+ Ur as OutlinePanel,
162
+ Kt as PALETTE_ITEMS,
163
+ b as Page,
164
+ P as PageBody,
162
165
  S as PageHeader,
163
- Oo as PivotPanel,
164
- go as PivotView,
165
- Kr as ProtectedRoute,
166
- Bt as ROOT_CANVAS_ID,
167
- ht as RichTextEditor,
168
- bt as RichTextToolbar,
166
+ g as PageLeft,
167
+ C as PageMain,
168
+ w as PageRight,
169
+ Lo as PivotPanel,
170
+ xo as PivotView,
171
+ $r as ProtectedRoute,
172
+ Wt as ROOT_CANVAS_ID,
173
+ yt as RichTextEditor,
174
+ ht as RichTextToolbar,
169
175
  u as Select,
170
- W as Sidebar,
171
- po as SidebarToggleButtons,
172
- y as Space,
173
- b as StatCard,
174
- v as Table,
175
- Ir as TableOfContentsPanel,
176
- F as Tabs,
177
- K as Tree,
178
- zr as UploadFileItem,
179
- Zr as UploadQueue,
180
- vr as VariablePanel,
181
- dr as bracketMatchingStyle,
182
- Wr as buildRouter,
183
- wr as collectVariables,
184
- wo as computePivot,
185
- yo as createActionColumn,
186
- Mo as createColumn,
187
- No as createComputedColumn,
188
- Gt as createEmptyDocument,
189
- jr as createRouterFromConfig,
190
- Ro as createSelectOptions,
191
- vo as createSelectionColumn,
192
- Cr as createThemeExtension,
193
- Bo as dateSort,
194
- Fr as defaultContextMenu,
195
- Go as defaultFilterFunctions,
196
- Co as defineExtension,
197
- Yt as downloadDataURL,
198
- Jt as exportCanvasToPNG,
199
- Ho as extractUniqueOptions,
200
- $r as formatFileSize,
201
- Dr as generateOutline,
202
- G as generateSidebarActiveStyles,
203
- H as generateTreeActiveStyles,
204
- or as getDefaultSnippets,
205
- nr as getJumpableKeywords,
206
- sr as getLanguageKeywords,
207
- oo as getThemes,
208
- rr as javascriptSnippets,
209
- mr as jsJumpableKeywords,
210
- ir as jsKeywords,
211
- Tr as jumpTargetHighlight,
212
- cr as jumpToDefinition,
213
- Sr as lineHighlightStyle,
214
- Uo as numericSort,
215
- ar as pyJumpableKeywords,
216
- lr as pyKeywords,
217
- tr as pythonSnippets,
218
- St as richTextDefaultLabels,
219
- Er as smartAutocompletion,
220
- ko as stringSort,
221
- U as themeActiveStyles,
222
- Ko as treeSort,
223
- so as useAppContext,
224
- uo as useAuth,
225
- Se as useEdgeMutations,
226
- ne as useFlowClipboard,
227
- kt as useFlowContext,
228
- $t as useFlowImportExport,
229
- Pe as useFlowSelection,
230
- Wt as useFlowUI,
231
- zt as useLayoutActions,
232
- be as useLineMutations,
233
- Te as useNodeMutations,
234
- Ao as usePivotExtension,
235
- xo as useRowDetailExtension,
236
- co as useTableColumns,
237
- Eo as useTableData
176
+ z as Sidebar,
177
+ uo as SidebarToggleButtons,
178
+ G as Space,
179
+ h as StatCard,
180
+ K as Table,
181
+ Nr as TableOfContentsPanel,
182
+ _ as Tabs,
183
+ $ as Tree,
184
+ tt as UploadFileItem,
185
+ mt as UploadQueue,
186
+ Kr as VariablePanel,
187
+ Pr as bracketMatchingStyle,
188
+ zr as buildRouter,
189
+ Ar as collectVariables,
190
+ Ao as computePivot,
191
+ Go as createActionColumn,
192
+ Ho as createColumn,
193
+ Uo as createComputedColumn,
194
+ Vt as createEmptyDocument,
195
+ Qr as createRouterFromConfig,
196
+ ko as createSelectOptions,
197
+ Ko as createSelectionColumn,
198
+ Fr as createThemeExtension,
199
+ Wo as dateSort,
200
+ _r as defaultContextMenu,
201
+ Vo as defaultFilterFunctions,
202
+ Fo as defineExtension,
203
+ Zt as downloadDataURL,
204
+ Xt as exportCanvasToPNG,
205
+ jo as extractUniqueOptions,
206
+ ot as formatFileSize,
207
+ Ir as generateOutline,
208
+ V as generateSidebarActiveStyles,
209
+ j as generateTreeActiveStyles,
210
+ ar as getDefaultSnippets,
211
+ Sr as getJumpableKeywords,
212
+ Er as getLanguageKeywords,
213
+ ao as getThemes,
214
+ pr as javascriptSnippets,
215
+ nr as jsJumpableKeywords,
216
+ sr as jsKeywords,
217
+ gr as jumpTargetHighlight,
218
+ Cr as jumpToDefinition,
219
+ wr as lineHighlightStyle,
220
+ Yo as numericSort,
221
+ dr as pyJumpableKeywords,
222
+ Tr as pyKeywords,
223
+ lr as pythonSnippets,
224
+ wt as richTextDefaultLabels,
225
+ Dr as smartAutocompletion,
226
+ Jo as stringSort,
227
+ Y as themeActiveStyles,
228
+ $o as treeSort,
229
+ bo as useAppContext,
230
+ Po as useAuth,
231
+ we as useEdgeMutations,
232
+ Se as useFlowClipboard,
233
+ Jt as useFlowContext,
234
+ oe as useFlowImportExport,
235
+ Oe as useFlowSelection,
236
+ zt as useFlowUI,
237
+ te as useLayoutActions,
238
+ he as useLineMutations,
239
+ ge as useNodeMutations,
240
+ Mo as usePivotExtension,
241
+ Ro as useRowDetailExtension,
242
+ Co as useTableColumns,
243
+ Do as useTableData
238
244
  };