dishui 0.0.65 → 0.0.66

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 (500) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +10 -11
  2. package/dist/chart.js +12 -46
  3. package/dist/code-editor.js +16 -43
  4. package/dist/components/Badge/index.js +10 -15
  5. package/dist/components/Badge/index.js.map +1 -1
  6. package/dist/components/Button/index.js +62 -89
  7. package/dist/components/Button/index.js.map +1 -1
  8. package/dist/components/Card/index.d.ts +76 -0
  9. package/dist/components/Card/index.js +178 -69
  10. package/dist/components/Card/index.js.map +1 -1
  11. package/dist/components/Chart/Chart.js +25 -25
  12. package/dist/components/Chart/Chart.js.map +1 -1
  13. package/dist/components/Checkbox/index.js +57 -65
  14. package/dist/components/Checkbox/index.js.map +1 -1
  15. package/dist/components/ChoicePicker/index.d.ts +44 -0
  16. package/dist/components/ChoicePicker/index.js +81 -0
  17. package/dist/components/ChoicePicker/index.js.map +1 -0
  18. package/dist/components/Column/index.d.ts +28 -0
  19. package/dist/components/Column/index.js +30 -0
  20. package/dist/components/Column/index.js.map +1 -0
  21. package/dist/components/DateTimeInput/index.d.ts +44 -0
  22. package/dist/components/DateTimeInput/index.js +48 -0
  23. package/dist/components/DateTimeInput/index.js.map +1 -0
  24. package/dist/components/Demo/index.js +107 -107
  25. package/dist/components/Demo/index.js.map +1 -1
  26. package/dist/components/Divider/index.d.ts +20 -0
  27. package/dist/components/Divider/index.js +30 -0
  28. package/dist/components/Divider/index.js.map +1 -0
  29. package/dist/components/EmptyState/index.js +24 -24
  30. package/dist/components/EmptyState/index.js.map +1 -1
  31. package/dist/components/FileUploader/DropZone.js +134 -136
  32. package/dist/components/FileUploader/DropZone.js.map +1 -1
  33. package/dist/components/FileUploader/FileItem.js +159 -163
  34. package/dist/components/FileUploader/FileItem.js.map +1 -1
  35. package/dist/components/FileUploader/FileUploader.js +126 -127
  36. package/dist/components/FileUploader/FileUploader.js.map +1 -1
  37. package/dist/components/FileUploader/UploadQueue.js +62 -62
  38. package/dist/components/FileUploader/UploadQueue.js.map +1 -1
  39. package/dist/components/FloatWindow/index.d.ts +28 -0
  40. package/dist/components/GridLayout/index.d.ts +42 -0
  41. package/dist/components/Icon/index.d.ts +24 -0
  42. package/dist/components/Icon/index.js +26 -0
  43. package/dist/components/Icon/index.js.map +1 -0
  44. package/dist/components/Image/index.d.ts +33 -0
  45. package/dist/components/Image/index.js +44 -0
  46. package/dist/components/Image/index.js.map +1 -0
  47. package/dist/components/Input/index.js +196 -197
  48. package/dist/components/Input/index.js.map +1 -1
  49. package/dist/components/Label/index.js +62 -74
  50. package/dist/components/Label/index.js.map +1 -1
  51. package/dist/components/Layout/index.js +134 -139
  52. package/dist/components/Layout/index.js.map +1 -1
  53. package/dist/components/List/index.js +45 -58
  54. package/dist/components/List/index.js.map +1 -1
  55. package/dist/components/Markdown/Markdown.js +106 -107
  56. package/dist/components/Markdown/Markdown.js.map +1 -1
  57. package/dist/components/Markdown/codeThemes.js +24 -33
  58. package/dist/components/Markdown/codeThemes.js.map +1 -1
  59. package/dist/components/Markdown/markdownComponents.js +203 -208
  60. package/dist/components/Markdown/markdownComponents.js.map +1 -1
  61. package/dist/components/Markdown/parseCodeBlockMeta.js +22 -22
  62. package/dist/components/Markdown/parseCodeBlockMeta.js.map +1 -1
  63. package/dist/components/Markdown/useMarkdownSource.js +46 -46
  64. package/dist/components/Markdown/useMarkdownSource.js.map +1 -1
  65. package/dist/components/Markdown/useMarkmapRenderer.js +35 -36
  66. package/dist/components/Markdown/useMarkmapRenderer.js.map +1 -1
  67. package/dist/components/Markdown/useMermaidRenderer.js +41 -42
  68. package/dist/components/Markdown/useMermaidRenderer.js.map +1 -1
  69. package/dist/components/Modal/index.js +82 -82
  70. package/dist/components/Modal/index.js.map +1 -1
  71. package/dist/components/MultipleChoice/index.d.ts +44 -0
  72. package/dist/components/MultipleChoice/index.js +52 -0
  73. package/dist/components/MultipleChoice/index.js.map +1 -0
  74. package/dist/components/Notification/index.d.ts +17 -0
  75. package/dist/components/Page/index.js +40 -71
  76. package/dist/components/Page/index.js.map +1 -1
  77. package/dist/components/PageHeader/index.js +28 -28
  78. package/dist/components/PageHeader/index.js.map +1 -1
  79. package/dist/components/ProtectedRoute/index.js +8 -9
  80. package/dist/components/ProtectedRoute/index.js.map +1 -1
  81. package/dist/components/Row/index.d.ts +28 -0
  82. package/dist/components/Row/index.js +30 -0
  83. package/dist/components/Row/index.js.map +1 -0
  84. package/dist/components/Select/index.js +251 -254
  85. package/dist/components/Select/index.js.map +1 -1
  86. package/dist/components/SidebarToggleButton/index.js +56 -59
  87. package/dist/components/SidebarToggleButton/index.js.map +1 -1
  88. package/dist/components/Slider/index.d.ts +39 -0
  89. package/dist/components/Slider/index.js +52 -0
  90. package/dist/components/Slider/index.js.map +1 -0
  91. package/dist/components/StatCard/index.d.ts +29 -1
  92. package/dist/components/StatCard/index.js +189 -86
  93. package/dist/components/StatCard/index.js.map +1 -1
  94. package/dist/components/Switch/index.d.ts +34 -0
  95. package/dist/components/Switch/index.js +55 -0
  96. package/dist/components/Switch/index.js.map +1 -0
  97. package/dist/components/Tab/index.d.ts +40 -0
  98. package/dist/components/Table/index.js +109 -121
  99. package/dist/components/Table/index.js.map +1 -1
  100. package/dist/components/Tabs/index.js +28 -38
  101. package/dist/components/Tabs/index.js.map +1 -1
  102. package/dist/components/Text/index.d.ts +43 -0
  103. package/dist/components/Text/index.js +55 -0
  104. package/dist/components/Text/index.js.map +1 -0
  105. package/dist/components/Tooltip/index.d.ts +23 -0
  106. package/dist/components/Tooltip/index.js +34 -0
  107. package/dist/components/Tooltip/index.js.map +1 -0
  108. package/dist/components/Tree/Tree.js +205 -205
  109. package/dist/components/Tree/Tree.js.map +1 -1
  110. package/dist/components/pro/ArticleContextMenu/index.js +86 -87
  111. package/dist/components/pro/ArticleContextMenu/index.js.map +1 -1
  112. package/dist/components/pro/ArticleControl/ArticleControl2.js +250 -250
  113. package/dist/components/pro/ArticleControl/ArticleControl2.js.map +1 -1
  114. package/dist/components/pro/ArticleControl/buildHeadingTree.js +31 -32
  115. package/dist/components/pro/ArticleControl/buildHeadingTree.js.map +1 -1
  116. package/dist/components/pro/ArticleControl/useArticleToc.js +100 -102
  117. package/dist/components/pro/ArticleControl/useArticleToc.js.map +1 -1
  118. package/dist/components/pro/Calendar/Calendar.d.ts +10 -0
  119. package/dist/components/pro/Calendar/hooks/useCalendarDrag.d.ts +47 -0
  120. package/dist/components/pro/Calendar/hooks/useCalendarState.d.ts +56 -0
  121. package/dist/components/pro/Calendar/index.d.ts +7 -0
  122. package/dist/components/pro/Calendar/types.d.ts +151 -0
  123. package/dist/components/pro/Calendar/utils.d.ts +94 -0
  124. package/dist/components/pro/Chat/Chat.d.ts +6 -0
  125. package/dist/components/pro/Chat/index.d.ts +2 -0
  126. package/dist/components/pro/Chat/types.d.ts +84 -0
  127. package/dist/components/pro/CodeEditor/editors/CodeEditor.js +287 -327
  128. package/dist/components/pro/CodeEditor/editors/CodeEditor.js.map +1 -1
  129. package/dist/components/pro/CodeEditor/editors/MarkdownEditor.js +167 -224
  130. package/dist/components/pro/CodeEditor/editors/MarkdownEditor.js.map +1 -1
  131. package/dist/components/pro/CodeEditor/editors/markdownExtensions.js +594 -613
  132. package/dist/components/pro/CodeEditor/editors/markdownExtensions.js.map +1 -1
  133. package/dist/components/pro/CodeEditor/extensions/contextMenu.js +54 -55
  134. package/dist/components/pro/CodeEditor/extensions/contextMenu.js.map +1 -1
  135. package/dist/components/pro/CodeEditor/extensions/index.js +152 -160
  136. package/dist/components/pro/CodeEditor/extensions/index.js.map +1 -1
  137. package/dist/components/pro/CodeEditor/langs/index.js +7 -15
  138. package/dist/components/pro/CodeEditor/langs/index.js.map +1 -1
  139. package/dist/components/pro/CodeEditor/langs/javascript.js +11 -48
  140. package/dist/components/pro/CodeEditor/langs/javascript.js.map +1 -1
  141. package/dist/components/pro/CodeEditor/langs/python.js +4 -40
  142. package/dist/components/pro/CodeEditor/langs/python.js.map +1 -1
  143. package/dist/components/pro/CodeEditor/langs/snippets.js +118 -147
  144. package/dist/components/pro/CodeEditor/langs/snippets.js.map +1 -1
  145. package/dist/components/pro/CodeEditor/panels/FootnotePanel.js +153 -153
  146. package/dist/components/pro/CodeEditor/panels/FootnotePanel.js.map +1 -1
  147. package/dist/components/pro/CodeEditor/panels/HistoryPanel.js +180 -190
  148. package/dist/components/pro/CodeEditor/panels/HistoryPanel.js.map +1 -1
  149. package/dist/components/pro/CodeEditor/panels/OutlinePanel.js +130 -137
  150. package/dist/components/pro/CodeEditor/panels/OutlinePanel.js.map +1 -1
  151. package/dist/components/pro/CodeEditor/panels/TableOfContentsPanel.js +228 -242
  152. package/dist/components/pro/CodeEditor/panels/TableOfContentsPanel.js.map +1 -1
  153. package/dist/components/pro/CodeEditor/panels/VariablePanel.js +208 -248
  154. package/dist/components/pro/CodeEditor/panels/VariablePanel.js.map +1 -1
  155. package/dist/components/pro/CodeEditor/themes.js +513 -483
  156. package/dist/components/pro/CodeEditor/themes.js.map +1 -1
  157. package/dist/components/pro/CodeEditor/types.d.ts +1 -1
  158. package/dist/components/pro/CodeEditor/utils.js +171 -175
  159. package/dist/components/pro/CodeEditor/utils.js.map +1 -1
  160. package/dist/components/pro/DataTable/DataTable.js +305 -306
  161. package/dist/components/pro/DataTable/DataTable.js.map +1 -1
  162. package/dist/components/pro/DataTable/Filters.js +299 -314
  163. package/dist/components/pro/DataTable/Filters.js.map +1 -1
  164. package/dist/components/pro/DataTable/PivotPanel.js +203 -204
  165. package/dist/components/pro/DataTable/PivotPanel.js.map +1 -1
  166. package/dist/components/pro/DataTable/PivotView.js +142 -144
  167. package/dist/components/pro/DataTable/PivotView.js.map +1 -1
  168. package/dist/components/pro/DataTable/components/BulkActions.js +42 -42
  169. package/dist/components/pro/DataTable/components/BulkActions.js.map +1 -1
  170. package/dist/components/pro/DataTable/components/ColumnSelector.js +84 -84
  171. package/dist/components/pro/DataTable/components/ColumnSelector.js.map +1 -1
  172. package/dist/components/pro/DataTable/components/FilterBar.js +58 -58
  173. package/dist/components/pro/DataTable/components/FilterBar.js.map +1 -1
  174. package/dist/components/pro/DataTable/components/TableBody.js +93 -94
  175. package/dist/components/pro/DataTable/components/TableBody.js.map +1 -1
  176. package/dist/components/pro/DataTable/components/TableHeader.js +78 -78
  177. package/dist/components/pro/DataTable/components/TableHeader.js.map +1 -1
  178. package/dist/components/pro/DataTable/components/TablePagination.js +77 -77
  179. package/dist/components/pro/DataTable/components/TablePagination.js.map +1 -1
  180. package/dist/components/pro/DataTable/components/TableToolbar.js +40 -40
  181. package/dist/components/pro/DataTable/components/TableToolbar.js.map +1 -1
  182. package/dist/components/pro/DataTable/extension.js +5 -5
  183. package/dist/components/pro/DataTable/extension.js.map +1 -1
  184. package/dist/components/pro/DataTable/pivotEngine.js +84 -92
  185. package/dist/components/pro/DataTable/pivotEngine.js.map +1 -1
  186. package/dist/components/pro/DataTable/pivotExtension.js +93 -93
  187. package/dist/components/pro/DataTable/pivotExtension.js.map +1 -1
  188. package/dist/components/pro/DataTable/rowDetailExtension.js +30 -30
  189. package/dist/components/pro/DataTable/rowDetailExtension.js.map +1 -1
  190. package/dist/components/pro/DataTable/tanstack-table.js +45 -62
  191. package/dist/components/pro/DataTable/tanstack-table.js.map +1 -1
  192. package/dist/components/pro/DataTable/treeDataUtils.js +37 -48
  193. package/dist/components/pro/DataTable/treeDataUtils.js.map +1 -1
  194. package/dist/components/pro/DataTable/useColumnDragReorder.js +68 -68
  195. package/dist/components/pro/DataTable/useColumnDragReorder.js.map +1 -1
  196. package/dist/components/pro/DataTable/utils.js +156 -168
  197. package/dist/components/pro/DataTable/utils.js.map +1 -1
  198. package/dist/components/pro/FileExplorer/Breadcrumb.js +180 -180
  199. package/dist/components/pro/FileExplorer/Breadcrumb.js.map +1 -1
  200. package/dist/components/pro/FileExplorer/CreateDialog.js +78 -78
  201. package/dist/components/pro/FileExplorer/CreateDialog.js.map +1 -1
  202. package/dist/components/pro/FileExplorer/FileExplorer.js +202 -205
  203. package/dist/components/pro/FileExplorer/FileExplorer.js.map +1 -1
  204. package/dist/components/pro/FileExplorer/FileIcon.js +189 -189
  205. package/dist/components/pro/FileExplorer/FileIcon.js.map +1 -1
  206. package/dist/components/pro/FileExplorer/GridView.js +100 -100
  207. package/dist/components/pro/FileExplorer/GridView.js.map +1 -1
  208. package/dist/components/pro/FileExplorer/ListView.js +209 -209
  209. package/dist/components/pro/FileExplorer/ListView.js.map +1 -1
  210. package/dist/components/pro/FileExplorer/Toolbar.js +199 -199
  211. package/dist/components/pro/FileExplorer/Toolbar.js.map +1 -1
  212. package/dist/components/pro/Flow/Flow.js +920 -948
  213. package/dist/components/pro/Flow/Flow.js.map +1 -1
  214. package/dist/components/pro/Flow/FlowCanvas.js +1626 -1662
  215. package/dist/components/pro/Flow/FlowCanvas.js.map +1 -1
  216. package/dist/components/pro/Flow/archify/build.js +85 -94
  217. package/dist/components/pro/Flow/archify/build.js.map +1 -1
  218. package/dist/components/pro/Flow/archify/convert.js +512 -519
  219. package/dist/components/pro/Flow/archify/convert.js.map +1 -1
  220. package/dist/components/pro/Flow/archify/palette.js +87 -104
  221. package/dist/components/pro/Flow/archify/palette.js.map +1 -1
  222. package/dist/components/pro/Flow/archify/presets.js +34 -37
  223. package/dist/components/pro/Flow/archify/presets.js.map +1 -1
  224. package/dist/components/pro/Flow/archify/spec.js +7 -7
  225. package/dist/components/pro/Flow/archify/spec.js.map +1 -1
  226. package/dist/components/pro/Flow/canvas/AlignmentGuides.js +25 -25
  227. package/dist/components/pro/Flow/canvas/AlignmentGuides.js.map +1 -1
  228. package/dist/components/pro/Flow/canvas/GridRenderer.js +54 -55
  229. package/dist/components/pro/Flow/canvas/GridRenderer.js.map +1 -1
  230. package/dist/components/pro/Flow/canvas/MiniMapRenderer.js +54 -58
  231. package/dist/components/pro/Flow/canvas/MiniMapRenderer.js.map +1 -1
  232. package/dist/components/pro/Flow/canvas/PixiApp.js +105 -102
  233. package/dist/components/pro/Flow/canvas/PixiApp.js.map +1 -1
  234. package/dist/components/pro/Flow/canvas/SelectionOverlay.js +38 -38
  235. package/dist/components/pro/Flow/canvas/SelectionOverlay.js.map +1 -1
  236. package/dist/components/pro/Flow/canvas/ViewportContainer.js +117 -117
  237. package/dist/components/pro/Flow/canvas/ViewportContainer.js.map +1 -1
  238. package/dist/components/pro/Flow/constants.js +266 -278
  239. package/dist/components/pro/Flow/constants.js.map +1 -1
  240. package/dist/components/pro/Flow/context/FlowAIContext.js +27 -28
  241. package/dist/components/pro/Flow/context/FlowAIContext.js.map +1 -1
  242. package/dist/components/pro/Flow/context/FlowContext.js +60 -61
  243. package/dist/components/pro/Flow/context/FlowContext.js.map +1 -1
  244. package/dist/components/pro/Flow/context/FlowUIContext.js +115 -117
  245. package/dist/components/pro/Flow/context/FlowUIContext.js.map +1 -1
  246. package/dist/components/pro/Flow/edges/EdgeRenderer.js +135 -138
  247. package/dist/components/pro/Flow/edges/EdgeRenderer.js.map +1 -1
  248. package/dist/components/pro/Flow/edges/edgeMarkers.js +11 -14
  249. package/dist/components/pro/Flow/edges/edgeMarkers.js.map +1 -1
  250. package/dist/components/pro/Flow/edges/edgePaths.js +351 -367
  251. package/dist/components/pro/Flow/edges/edgePaths.js.map +1 -1
  252. package/dist/components/pro/Flow/hooks/useAlignmentGuides.js +49 -52
  253. package/dist/components/pro/Flow/hooks/useAlignmentGuides.js.map +1 -1
  254. package/dist/components/pro/Flow/hooks/useClipboard.js +154 -154
  255. package/dist/components/pro/Flow/hooks/useClipboard.js.map +1 -1
  256. package/dist/components/pro/Flow/hooks/useCompactMode.js +17 -17
  257. package/dist/components/pro/Flow/hooks/useCompactMode.js.map +1 -1
  258. package/dist/components/pro/Flow/hooks/useDeleteSelection.js +40 -40
  259. package/dist/components/pro/Flow/hooks/useDeleteSelection.js.map +1 -1
  260. package/dist/components/pro/Flow/hooks/useDraggablePanel.js +51 -51
  261. package/dist/components/pro/Flow/hooks/useDraggablePanel.js.map +1 -1
  262. package/dist/components/pro/Flow/hooks/useEdgeMutations.js +157 -157
  263. package/dist/components/pro/Flow/hooks/useEdgeMutations.js.map +1 -1
  264. package/dist/components/pro/Flow/hooks/useFlowImportExport.js +190 -201
  265. package/dist/components/pro/Flow/hooks/useFlowImportExport.js.map +1 -1
  266. package/dist/components/pro/Flow/hooks/useKeyboardShortcuts.js +32 -38
  267. package/dist/components/pro/Flow/hooks/useKeyboardShortcuts.js.map +1 -1
  268. package/dist/components/pro/Flow/hooks/useLayoutActions.js +172 -180
  269. package/dist/components/pro/Flow/hooks/useLayoutActions.js.map +1 -1
  270. package/dist/components/pro/Flow/hooks/useLineMutations.js +57 -57
  271. package/dist/components/pro/Flow/hooks/useLineMutations.js.map +1 -1
  272. package/dist/components/pro/Flow/hooks/useMindMap.js +229 -238
  273. package/dist/components/pro/Flow/hooks/useMindMap.js.map +1 -1
  274. package/dist/components/pro/Flow/hooks/useNodeMutations.js +102 -102
  275. package/dist/components/pro/Flow/hooks/useNodeMutations.js.map +1 -1
  276. package/dist/components/pro/Flow/hooks/usePdfExport.js +55 -56
  277. package/dist/components/pro/Flow/hooks/usePdfExport.js.map +1 -1
  278. package/dist/components/pro/Flow/hooks/usePixiApp.js +55 -57
  279. package/dist/components/pro/Flow/hooks/usePixiApp.js.map +1 -1
  280. package/dist/components/pro/Flow/hooks/useResizablePanel.js +31 -31
  281. package/dist/components/pro/Flow/hooks/useResizablePanel.js.map +1 -1
  282. package/dist/components/pro/Flow/hooks/useSelection.js +69 -69
  283. package/dist/components/pro/Flow/hooks/useSelection.js.map +1 -1
  284. package/dist/components/pro/Flow/hooks/useUndoRedo.js +27 -27
  285. package/dist/components/pro/Flow/hooks/useUndoRedo.js.map +1 -1
  286. package/dist/components/pro/Flow/hooks/useViewport.js +28 -28
  287. package/dist/components/pro/Flow/hooks/useViewport.js.map +1 -1
  288. package/dist/components/pro/Flow/lines/FreehandTool.js +63 -63
  289. package/dist/components/pro/Flow/lines/FreehandTool.js.map +1 -1
  290. package/dist/components/pro/Flow/lines/GeometricLineTool.js +80 -80
  291. package/dist/components/pro/Flow/lines/GeometricLineTool.js.map +1 -1
  292. package/dist/components/pro/Flow/lines/LineRenderer.js +88 -88
  293. package/dist/components/pro/Flow/lines/LineRenderer.js.map +1 -1
  294. package/dist/components/pro/Flow/lines/lineSmoothing.js +32 -34
  295. package/dist/components/pro/Flow/lines/lineSmoothing.js.map +1 -1
  296. package/dist/components/pro/Flow/nodes/DataNodeView.js +236 -242
  297. package/dist/components/pro/Flow/nodes/DataNodeView.js.map +1 -1
  298. package/dist/components/pro/Flow/nodes/MediaContent.js +236 -246
  299. package/dist/components/pro/Flow/nodes/MediaContent.js.map +1 -1
  300. package/dist/components/pro/Flow/nodes/MediaOverlay.js +63 -63
  301. package/dist/components/pro/Flow/nodes/MediaOverlay.js.map +1 -1
  302. package/dist/components/pro/Flow/nodes/Model3DView.js +111 -113
  303. package/dist/components/pro/Flow/nodes/Model3DView.js.map +1 -1
  304. package/dist/components/pro/Flow/nodes/NodeHandles.js +74 -80
  305. package/dist/components/pro/Flow/nodes/NodeHandles.js.map +1 -1
  306. package/dist/components/pro/Flow/nodes/NodeRenderer.js +303 -314
  307. package/dist/components/pro/Flow/nodes/NodeRenderer.js.map +1 -1
  308. package/dist/components/pro/Flow/nodes/NodeText.js +25 -29
  309. package/dist/components/pro/Flow/nodes/NodeText.js.map +1 -1
  310. package/dist/components/pro/Flow/nodes/aiClient.js +124 -137
  311. package/dist/components/pro/Flow/nodes/aiClient.js.map +1 -1
  312. package/dist/components/pro/Flow/nodes/animAnchors.js +42 -49
  313. package/dist/components/pro/Flow/nodes/animAnchors.js.map +1 -1
  314. package/dist/components/pro/Flow/nodes/dataUtils.js +246 -267
  315. package/dist/components/pro/Flow/nodes/dataUtils.js.map +1 -1
  316. package/dist/components/pro/Flow/nodes/nodeUtils.js +23 -28
  317. package/dist/components/pro/Flow/nodes/nodeUtils.js.map +1 -1
  318. package/dist/components/pro/Flow/nodes/shapes.js +556 -589
  319. package/dist/components/pro/Flow/nodes/shapes.js.map +1 -1
  320. package/dist/components/pro/Flow/nodes/svgIconTexture.js +37 -39
  321. package/dist/components/pro/Flow/nodes/svgIconTexture.js.map +1 -1
  322. package/dist/components/pro/Flow/nodes/svgIcons.js +684 -689
  323. package/dist/components/pro/Flow/nodes/svgIcons.js.map +1 -1
  324. package/dist/components/pro/Flow/panels/AIPanel.js +464 -491
  325. package/dist/components/pro/Flow/panels/AIPanel.js.map +1 -1
  326. package/dist/components/pro/Flow/panels/Breadcrumb.js +41 -41
  327. package/dist/components/pro/Flow/panels/Breadcrumb.js.map +1 -1
  328. package/dist/components/pro/Flow/panels/ContextMenu.js +37 -37
  329. package/dist/components/pro/Flow/panels/ContextMenu.js.map +1 -1
  330. package/dist/components/pro/Flow/panels/DataInspectorSection.js +428 -432
  331. package/dist/components/pro/Flow/panels/DataInspectorSection.js.map +1 -1
  332. package/dist/components/pro/Flow/panels/ExpandableTextarea.js +61 -62
  333. package/dist/components/pro/Flow/panels/ExpandableTextarea.js.map +1 -1
  334. package/dist/components/pro/Flow/panels/FlowPanelGroup.js +114 -114
  335. package/dist/components/pro/Flow/panels/FlowPanelGroup.js.map +1 -1
  336. package/dist/components/pro/Flow/panels/FlowToolbar.js +347 -391
  337. package/dist/components/pro/Flow/panels/FlowToolbar.js.map +1 -1
  338. package/dist/components/pro/Flow/panels/InspectorPanel.js +1792 -1798
  339. package/dist/components/pro/Flow/panels/InspectorPanel.js.map +1 -1
  340. package/dist/components/pro/Flow/panels/OutlinePanel.js +242 -248
  341. package/dist/components/pro/Flow/panels/OutlinePanel.js.map +1 -1
  342. package/dist/components/pro/Flow/panels/PresentationMode.js +137 -140
  343. package/dist/components/pro/Flow/panels/PresentationMode.js.map +1 -1
  344. package/dist/components/pro/Flow/panels/ProjectTitle.js +46 -46
  345. package/dist/components/pro/Flow/panels/ProjectTitle.js.map +1 -1
  346. package/dist/components/pro/Flow/panels/ShapePalette.js +557 -572
  347. package/dist/components/pro/Flow/panels/ShapePalette.js.map +1 -1
  348. package/dist/components/pro/Flow/panels/toolbarIcons.d.ts +0 -1
  349. package/dist/components/pro/Flow/panels/toolbarIcons.js +508 -557
  350. package/dist/components/pro/Flow/panels/toolbarIcons.js.map +1 -1
  351. package/dist/components/pro/Flow/types.js +26 -26
  352. package/dist/components/pro/Flow/types.js.map +1 -1
  353. package/dist/components/pro/Flow/utils/dashedLine.js +113 -117
  354. package/dist/components/pro/Flow/utils/dashedLine.js.map +1 -1
  355. package/dist/components/pro/Flow/utils/gradient.js +55 -55
  356. package/dist/components/pro/Flow/utils/gradient.js.map +1 -1
  357. package/dist/components/pro/Flow/utils/pdfExport.js +50 -89
  358. package/dist/components/pro/Flow/utils/pdfExport.js.map +1 -1
  359. package/dist/components/pro/Flow/utils/themeColor.js +185 -195
  360. package/dist/components/pro/Flow/utils/themeColor.js.map +1 -1
  361. package/dist/components/pro/Gantt/Gantt.d.ts +7 -0
  362. package/dist/components/pro/Gantt/hooks/useGanttDrag.d.ts +31 -0
  363. package/dist/components/pro/Gantt/hooks/useGanttState.d.ts +58 -0
  364. package/dist/components/pro/Gantt/index.d.ts +6 -0
  365. package/dist/components/pro/Gantt/types.d.ts +478 -0
  366. package/dist/components/pro/Gantt/utils.d.ts +124 -0
  367. package/dist/components/pro/Resizable/Resizable.d.ts +30 -0
  368. package/dist/components/pro/Resizable/index.d.ts +2 -0
  369. package/dist/components/pro/RichTextEditor/AIRewrite.js +323 -334
  370. package/dist/components/pro/RichTextEditor/AIRewrite.js.map +1 -1
  371. package/dist/components/pro/RichTextEditor/BlockHandle.js +314 -316
  372. package/dist/components/pro/RichTextEditor/BlockHandle.js.map +1 -1
  373. package/dist/components/pro/RichTextEditor/BubbleToolbar.js +97 -97
  374. package/dist/components/pro/RichTextEditor/BubbleToolbar.js.map +1 -1
  375. package/dist/components/pro/RichTextEditor/CommentDialog.js +88 -88
  376. package/dist/components/pro/RichTextEditor/CommentDialog.js.map +1 -1
  377. package/dist/components/pro/RichTextEditor/CommentPanel.js +240 -240
  378. package/dist/components/pro/RichTextEditor/CommentPanel.js.map +1 -1
  379. package/dist/components/pro/RichTextEditor/CommentPopover.js +234 -234
  380. package/dist/components/pro/RichTextEditor/CommentPopover.js.map +1 -1
  381. package/dist/components/pro/RichTextEditor/ContextMenu.js +251 -252
  382. package/dist/components/pro/RichTextEditor/ContextMenu.js.map +1 -1
  383. package/dist/components/pro/RichTextEditor/RichTextEditor.js +267 -271
  384. package/dist/components/pro/RichTextEditor/RichTextEditor.js.map +1 -1
  385. package/dist/components/pro/RichTextEditor/SlashMenu.js +214 -214
  386. package/dist/components/pro/RichTextEditor/SlashMenu.js.map +1 -1
  387. package/dist/components/pro/RichTextEditor/Toolbar/ColorPicker.js +44 -75
  388. package/dist/components/pro/RichTextEditor/Toolbar/ColorPicker.js.map +1 -1
  389. package/dist/components/pro/RichTextEditor/Toolbar/FloatingDialogMenu.js +261 -261
  390. package/dist/components/pro/RichTextEditor/Toolbar/FloatingDialogMenu.js.map +1 -1
  391. package/dist/components/pro/RichTextEditor/Toolbar/MarkdownTemplates.js +172 -526
  392. package/dist/components/pro/RichTextEditor/Toolbar/MarkdownTemplates.js.map +1 -1
  393. package/dist/components/pro/RichTextEditor/Toolbar/SelectDropdown.js +112 -114
  394. package/dist/components/pro/RichTextEditor/Toolbar/SelectDropdown.js.map +1 -1
  395. package/dist/components/pro/RichTextEditor/Toolbar/TableOpsMenu.js +194 -194
  396. package/dist/components/pro/RichTextEditor/Toolbar/TableOpsMenu.js.map +1 -1
  397. package/dist/components/pro/RichTextEditor/Toolbar/Toolbar.js +970 -973
  398. package/dist/components/pro/RichTextEditor/Toolbar/Toolbar.js.map +1 -1
  399. package/dist/components/pro/RichTextEditor/Toolbar/ToolbarButton.js +11 -12
  400. package/dist/components/pro/RichTextEditor/Toolbar/ToolbarButton.js.map +1 -1
  401. package/dist/components/pro/RichTextEditor/extensions/CodeBlockView.js +310 -344
  402. package/dist/components/pro/RichTextEditor/extensions/CodeBlockView.js.map +1 -1
  403. package/dist/components/pro/RichTextEditor/extensions/CommentMark.js +38 -39
  404. package/dist/components/pro/RichTextEditor/extensions/CommentMark.js.map +1 -1
  405. package/dist/components/pro/RichTextEditor/extensions/FloatingDialog.js +620 -625
  406. package/dist/components/pro/RichTextEditor/extensions/FloatingDialog.js.map +1 -1
  407. package/dist/components/pro/RichTextEditor/extensions/FontSize.js +25 -25
  408. package/dist/components/pro/RichTextEditor/extensions/FontSize.js.map +1 -1
  409. package/dist/components/pro/RichTextEditor/extensions/MarkdownBlock.js +167 -176
  410. package/dist/components/pro/RichTextEditor/extensions/MarkdownBlock.js.map +1 -1
  411. package/dist/components/pro/RichTextEditor/types.js +75 -75
  412. package/dist/components/pro/RichTextEditor/types.js.map +1 -1
  413. package/dist/contexts/AppContext.d.ts +1 -1
  414. package/dist/contexts/AppContext.js +216 -221
  415. package/dist/contexts/AppContext.js.map +1 -1
  416. package/dist/data-table.js +15 -41
  417. package/dist/data-table.js.map +1 -1
  418. package/dist/dishui.css +1 -1
  419. package/dist/flow.js +27 -83
  420. package/dist/hooks/useClickOutside.js +18 -18
  421. package/dist/hooks/useClickOutside.js.map +1 -1
  422. package/dist/hooks/useContainerElement.js +9 -9
  423. package/dist/hooks/useContainerElement.js.map +1 -1
  424. package/dist/hooks/useControllableState.js +33 -35
  425. package/dist/hooks/useControllableState.js.map +1 -1
  426. package/dist/hooks/useCopyToClipboard.js +16 -16
  427. package/dist/hooks/useCopyToClipboard.js.map +1 -1
  428. package/dist/hooks/useDebounce.js +14 -14
  429. package/dist/hooks/useDebounce.js.map +1 -1
  430. package/dist/hooks/useDraggable.js +50 -50
  431. package/dist/hooks/useDraggable.js.map +1 -1
  432. package/dist/hooks/useTableColumns.js +39 -41
  433. package/dist/hooks/useTableColumns.js.map +1 -1
  434. package/dist/hooks/useTableData.js +67 -68
  435. package/dist/hooks/useTableData.js.map +1 -1
  436. package/dist/index-nostyled.d.ts +8 -0
  437. package/dist/index.d.ts +27 -1
  438. package/dist/index.js +105 -241
  439. package/dist/layouts/MainLayout.js +56 -56
  440. package/dist/layouts/MainLayout.js.map +1 -1
  441. package/dist/layouts/Navbar.js +214 -214
  442. package/dist/layouts/Navbar.js.map +1 -1
  443. package/dist/layouts/Sidebar.js +184 -186
  444. package/dist/layouts/Sidebar.js.map +1 -1
  445. package/dist/layouts/headbar/Headbar.js +25 -25
  446. package/dist/layouts/headbar/Headbar.js.map +1 -1
  447. package/dist/layouts/headbar/HeadbarLangSwitcher.js +39 -39
  448. package/dist/layouts/headbar/HeadbarLangSwitcher.js.map +1 -1
  449. package/dist/layouts/headbar/HeadbarSearch.js +120 -120
  450. package/dist/layouts/headbar/HeadbarSearch.js.map +1 -1
  451. package/dist/layouts/headbar/HeadbarThemeSwitcher.js +27 -27
  452. package/dist/layouts/headbar/HeadbarThemeSwitcher.js.map +1 -1
  453. package/dist/layouts/headbar/HeadbarTitle.js +26 -26
  454. package/dist/layouts/headbar/HeadbarTitle.js.map +1 -1
  455. package/dist/lite.js +9 -24
  456. package/dist/markdown.js +4 -9
  457. package/dist/pages/components/Calendar/index.d.ts +3 -0
  458. package/dist/pages/components/Calendar/index.en.d.ts +3 -0
  459. package/dist/pages/components/Calendar/index.zh.d.ts +3 -0
  460. package/dist/pages/components/Chat/index.d.ts +3 -0
  461. package/dist/pages/components/Chat/index.en.d.ts +3 -0
  462. package/dist/pages/components/Chat/index.zh.d.ts +3 -0
  463. package/dist/pages/components/FloatWindow/index.d.ts +3 -0
  464. package/dist/pages/components/FloatWindow/index.en.d.ts +3 -0
  465. package/dist/pages/components/FloatWindow/index.zh.d.ts +3 -0
  466. package/dist/pages/components/Gantt/index.d.ts +3 -0
  467. package/dist/pages/components/Gantt/index.en.d.ts +3 -0
  468. package/dist/pages/components/Gantt/index.zh.d.ts +3 -0
  469. package/dist/pages/components/GridLayout/index.d.ts +3 -0
  470. package/dist/pages/components/GridLayout/index.en.d.ts +3 -0
  471. package/dist/pages/components/GridLayout/index.zh.d.ts +3 -0
  472. package/dist/pages/components/Notification/index.d.ts +3 -0
  473. package/dist/pages/components/Notification/index.en.d.ts +3 -0
  474. package/dist/pages/components/Notification/index.zh.d.ts +3 -0
  475. package/dist/pages/components/Resizable/index.d.ts +3 -0
  476. package/dist/pages/components/Resizable/index.en.d.ts +3 -0
  477. package/dist/pages/components/Resizable/index.zh.d.ts +3 -0
  478. package/dist/pages/components/Tab/index.d.ts +3 -0
  479. package/dist/pages/components/Tab/index.en.d.ts +3 -0
  480. package/dist/pages/components/Tab/index.zh.d.ts +3 -0
  481. package/dist/styles/themeStyles.js +87 -86
  482. package/dist/styles/themeStyles.js.map +1 -1
  483. package/dist/utils/cn.d.ts +13 -0
  484. package/dist/utils/cn.js +16 -0
  485. package/dist/utils/cn.js.map +1 -0
  486. package/dist/utils/i18n.js +690 -602
  487. package/dist/utils/i18n.js.map +1 -1
  488. package/dist/utils/menu.js +94 -94
  489. package/dist/utils/menu.js.map +1 -1
  490. package/dist/utils/rehype-code-meta.js +14 -14
  491. package/dist/utils/rehype-code-meta.js.map +1 -1
  492. package/dist/utils/remark-code-meta.js +9 -9
  493. package/dist/utils/remark-code-meta.js.map +1 -1
  494. package/dist/utils/routerBuilder.js +59 -60
  495. package/dist/utils/routerBuilder.js.map +1 -1
  496. package/dist/utils/selection.js +28 -29
  497. package/dist/utils/selection.js.map +1 -1
  498. package/dist/utils/themes.js +275 -255
  499. package/dist/utils/themes.js.map +1 -1
  500. package/package.json +19 -6
@@ -1,98 +1,97 @@
1
- import s from "../../../Table/index.js";
2
- import { flexRender as z } from "../tanstack-table.js";
3
- import G from "react";
4
- import { Fragment as H, jsx as i, jsxs as S } from "react/jsx-runtime";
5
- function X({ table: m, expandedRowsState: v, onRowClick: C, onRowDoubleClick: _, onRowMouseEnter: x, onRowMouseLeave: N, onCellClick: k, onCellDoubleClick: y, onCellMouseEnter: b, onCellMouseLeave: P, enableExpanding: $, indentSize: D, handleRowExpand: L, extensions: a = [], extensionApi: l, getRowId: j, onCellContextMenu: E }) {
6
- const g = a.length > 0 && !!l;
7
- return /* @__PURE__ */ i(s.Body, { children: m.getRowModel().rows.length === 0 ? /* @__PURE__ */ i(s.Row, { children: /* @__PURE__ */ i(s.Cell, {
8
- colSpan: m.getAllColumns().length,
9
- className: "text-center py-4",
10
- children: "没有数据"
11
- }) }) : m.getRowModel().rows.map((t, r) => {
12
- const d = t.original, I = d.__depth || 0, u = d.__hasChildren || !1, p = d.__id, R = u && v[p] || !1, T = I > 0, w = d.__parentId, V = w ? v[w] || !1 : !0, W = `
13
- ${t.getIsSelected() ? "bg-primary/10" : ""}
14
- ${u && R ? "tree-row-expanded" : ""}
1
+ import e from "../../../Table/index.js";
2
+ import { flexRender as t } from "../tanstack-table.js";
3
+ import n from "react";
4
+ import { Fragment as r, jsx as i, jsxs as a } from "react/jsx-runtime";
5
+ //#region src/components/pro/DataTable/components/TableBody.tsx
6
+ function o({ table: o, expandedRowsState: s, onRowClick: c, onRowDoubleClick: l, onRowMouseEnter: u, onRowMouseLeave: d, onCellClick: f, onCellDoubleClick: p, onCellMouseEnter: m, onCellMouseLeave: h, enableExpanding: g, indentSize: _, handleRowExpand: v, extensions: y = [], extensionApi: b, getRowId: x, onCellContextMenu: S }) {
7
+ let C = y.length > 0 && !!b;
8
+ return /* @__PURE__ */ i(e.Body, { children: o.getRowModel().rows.length === 0 ? /* @__PURE__ */ i(e.Row, { children: /* @__PURE__ */ i(e.Cell, {
9
+ colSpan: o.getAllColumns().length,
10
+ className: "text-center py-4",
11
+ children: "没有数据"
12
+ }) }) : o.getRowModel().rows.map((o, w) => {
13
+ let T = o.original, E = T.__depth || 0, D = T.__hasChildren || !1, O = T.__id, k = D && s[O] || !1, A = E > 0, j = T.__parentId, M = !j || s[j] || !1, N = `
14
+ ${o.getIsSelected() ? "bg-primary/10" : ""}
15
+ ${D && k ? "tree-row-expanded" : ""}
15
16
  `;
16
- if (T && !V) return null;
17
- const B = j ? j(t.original, r) : String(p ?? r), F = {
18
- row: t.original,
19
- rowId: B,
20
- rowIndex: r,
21
- selected: t.getIsSelected()
22
- }, O = g ? a.reduce((o, e) => Object.assign(o, e.rowProps?.(F, l) ?? {}), {}) : {}, h = /* @__PURE__ */ i(s.Row, {
23
- className: W,
24
- onClick: C ? (o) => C(t.original, o) : void 0,
25
- onDoubleClick: _ ? (o) => _(t.original, o) : void 0,
26
- onMouseEnter: x ? (o) => x(t.original, o) : void 0,
27
- onMouseLeave: N ? (o) => N(t.original, o) : void 0,
28
- ...O,
29
- children: t.getVisibleCells().map((o, e) => {
30
- const f = e === 0;
31
- let c;
32
- if (g) {
33
- const n = {
34
- value: o.getValue(),
35
- row: t.original,
36
- rowId: B,
37
- rowIndex: r,
38
- columnId: o.column.id
39
- };
40
- for (const q of a) {
41
- const M = q.cell?.(n, l);
42
- if (M !== void 0) {
43
- c = M;
44
- break;
45
- }
46
- }
47
- }
48
- return c === void 0 && (c = z(o.column.columnDef.cell, o.getContext())), /* @__PURE__ */ i(s.Cell, {
49
- onClick: k ? (n) => {
50
- n.stopPropagation(), k(t.original, o.column, n);
51
- } : void 0,
52
- onDoubleClick: y ? (n) => {
53
- n.stopPropagation(), y(t.original, o.column, n);
54
- } : void 0,
55
- onMouseEnter: b ? (n) => b(t.original, o.column, n) : void 0,
56
- onMouseLeave: P ? (n) => P(t.original, o.column, n) : void 0,
57
- children: /* @__PURE__ */ S("div", {
58
- className: "flex items-center",
59
- onContextMenu: E ? (n) => E(n, t.original, o.column, r) : void 0,
60
- children: [f && $ && /* @__PURE__ */ S(H, { children: [/* @__PURE__ */ i("div", { style: { width: `${I * D}px` } }), u ? /* @__PURE__ */ i("button", {
61
- onClick: (n) => {
62
- n.stopPropagation(), L(p, t.original);
63
- },
64
- className: "mr-2 focus:outline-none",
65
- children: /* @__PURE__ */ i("svg", {
66
- xmlns: "http://www.w3.org/2000/svg",
67
- className: "h-4 w-4",
68
- fill: "none",
69
- viewBox: "0 0 24 24",
70
- stroke: "currentColor",
71
- style: {
72
- transition: "transform 0.3s ease",
73
- transform: R ? "rotate(90deg)" : "rotate(0deg)"
74
- },
75
- children: /* @__PURE__ */ i("path", {
76
- strokeLinecap: "round",
77
- strokeLinejoin: "round",
78
- strokeWidth: "2",
79
- d: "M9 5l7 7-7 7"
80
- })
81
- })
82
- }) : /* @__PURE__ */ i("div", { className: "w-6" })] }), c]
83
- })
84
- }, o.id);
85
- })
86
- }, t.id);
87
- if (g) {
88
- const o = a.reduce((e, f) => f.wrapRow?.(e, F, l) ?? e, h);
89
- if (o !== h) return /* @__PURE__ */ i(G.Fragment, { children: o }, t.id);
90
- }
91
- return h;
92
- }) });
17
+ if (A && !M) return null;
18
+ let P = x ? x(o.original, w) : String(O ?? w), F = {
19
+ row: o.original,
20
+ rowId: P,
21
+ rowIndex: w,
22
+ selected: o.getIsSelected()
23
+ }, I = C ? y.reduce((e, t) => Object.assign(e, t.rowProps?.(F, b) ?? {}), {}) : {}, L = /* @__PURE__ */ i(e.Row, {
24
+ className: N,
25
+ onClick: c ? (e) => c(o.original, e) : void 0,
26
+ onDoubleClick: l ? (e) => l(o.original, e) : void 0,
27
+ onMouseEnter: u ? (e) => u(o.original, e) : void 0,
28
+ onMouseLeave: d ? (e) => d(o.original, e) : void 0,
29
+ ...I,
30
+ children: o.getVisibleCells().map((n, s) => {
31
+ let c = s === 0, l;
32
+ if (C) {
33
+ let e = {
34
+ value: n.getValue(),
35
+ row: o.original,
36
+ rowId: P,
37
+ rowIndex: w,
38
+ columnId: n.column.id
39
+ };
40
+ for (let t of y) {
41
+ let n = t.cell?.(e, b);
42
+ if (n !== void 0) {
43
+ l = n;
44
+ break;
45
+ }
46
+ }
47
+ }
48
+ return l === void 0 && (l = t(n.column.columnDef.cell, n.getContext())), /* @__PURE__ */ i(e.Cell, {
49
+ onClick: f ? (e) => {
50
+ e.stopPropagation(), f(o.original, n.column, e);
51
+ } : void 0,
52
+ onDoubleClick: p ? (e) => {
53
+ e.stopPropagation(), p(o.original, n.column, e);
54
+ } : void 0,
55
+ onMouseEnter: m ? (e) => m(o.original, n.column, e) : void 0,
56
+ onMouseLeave: h ? (e) => h(o.original, n.column, e) : void 0,
57
+ children: /* @__PURE__ */ a("div", {
58
+ className: "flex items-center",
59
+ onContextMenu: S ? (e) => S(e, o.original, n.column, w) : void 0,
60
+ children: [c && g && /* @__PURE__ */ a(r, { children: [/* @__PURE__ */ i("div", { style: { width: `${E * _}px` } }), D ? /* @__PURE__ */ i("button", {
61
+ onClick: (e) => {
62
+ e.stopPropagation(), v(O, o.original);
63
+ },
64
+ className: "mr-2 focus:outline-none",
65
+ children: /* @__PURE__ */ i("svg", {
66
+ xmlns: "http://www.w3.org/2000/svg",
67
+ className: "h-4 w-4",
68
+ fill: "none",
69
+ viewBox: "0 0 24 24",
70
+ stroke: "currentColor",
71
+ style: {
72
+ transition: "transform 0.3s ease",
73
+ transform: k ? "rotate(90deg)" : "rotate(0deg)"
74
+ },
75
+ children: /* @__PURE__ */ i("path", {
76
+ strokeLinecap: "round",
77
+ strokeLinejoin: "round",
78
+ strokeWidth: "2",
79
+ d: "M9 5l7 7-7 7"
80
+ })
81
+ })
82
+ }) : /* @__PURE__ */ i("div", { className: "w-6" })] }), l]
83
+ })
84
+ }, n.id);
85
+ })
86
+ }, o.id);
87
+ if (C) {
88
+ let e = y.reduce((e, t) => t.wrapRow?.(e, F, b) ?? e, L);
89
+ if (e !== L) return /* @__PURE__ */ i(n.Fragment, { children: e }, o.id);
90
+ }
91
+ return L;
92
+ }) });
93
93
  }
94
- export {
95
- X as TableBody
96
- };
94
+ //#endregion
95
+ export { o as TableBody };
97
96
 
98
97
  //# sourceMappingURL=TableBody.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableBody.js","names":[],"sources":["../../../../../src/components/pro/DataTable/components/TableBody.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as TanStackTable, flexRender } from '../tanstack-table';\nimport Table from '../../../Table';\nimport { RowEventHandler, CellEventHandler } from '../types';\nimport type {\n DataTableApi,\n DataTableCellContext,\n DataTableExtension,\n DataTableRowContext,\n} from '../extension';\n\ninterface TableBodyProps<T extends object> {\n table: TanStackTable<T>;\n expandedRowsState: Record<string, boolean>;\n onRowClick?: RowEventHandler;\n onRowDoubleClick?: RowEventHandler;\n onRowMouseEnter?: RowEventHandler;\n onRowMouseLeave?: RowEventHandler;\n onCellClick?: CellEventHandler;\n onCellDoubleClick?: CellEventHandler;\n onCellMouseEnter?: CellEventHandler;\n onCellMouseLeave?: CellEventHandler;\n enableExpanding: boolean;\n indentSize: number;\n handleRowExpand: (rowId: string, row: T) => void;\n // 扩展系统\n extensions?: DataTableExtension<T>[];\n extensionApi?: DataTableApi<T>;\n getRowId?: (row: T, index: number) => string;\n onCellContextMenu?: (\n e: React.MouseEvent,\n row: T,\n column: any,\n rowIndex: number,\n ) => void;\n}\n\nexport function TableBody<T extends object>({\n table,\n expandedRowsState,\n onRowClick,\n onRowDoubleClick,\n onRowMouseEnter,\n onRowMouseLeave,\n onCellClick,\n onCellDoubleClick,\n onCellMouseEnter,\n onCellMouseLeave,\n enableExpanding,\n indentSize,\n handleRowExpand,\n extensions = [],\n extensionApi,\n getRowId,\n onCellContextMenu,\n}: TableBodyProps<T>) {\n const hasExtensions = extensions.length > 0 && !!extensionApi;\n\n return (\n <Table.Body>\n {table.getRowModel().rows.length === 0 ? (\n <Table.Row>\n <Table.Cell colSpan={table.getAllColumns().length} className=\"text-center py-4\">\n 没有数据\n </Table.Cell>\n </Table.Row>\n ) : (\n table.getRowModel().rows.map((row, rowIndex) => {\n const rowData = row.original as any;\n const depth = rowData.__depth || 0;\n const hasChildren = rowData.__hasChildren || false;\n const rowId = rowData.__id;\n const isExpanded = hasChildren && expandedRowsState[rowId] || false;\n const isChildRow = depth > 0;\n const parentId = rowData.__parentId;\n const parentExpanded = parentId ? expandedRowsState[parentId] || false : true;\n\n // 根据层级和展开状态应用不同的CSS类\n const rowClassName = `\n ${row.getIsSelected() ? 'bg-primary/10' : ''}\n ${hasChildren ? (isExpanded ? 'tree-row-expanded' : '') : ''}\n `;\n\n // 如果是子行且父行未展开,则不显示\n if (isChildRow && !parentExpanded) {\n return null;\n }\n\n // 扩展的行级上下文与注入属性\n const resolvedRowId = getRowId\n ? getRowId(row.original, rowIndex)\n : String(rowId ?? rowIndex);\n const rowCtx: DataTableRowContext<T> = {\n row: row.original,\n rowId: resolvedRowId,\n rowIndex,\n selected: row.getIsSelected(),\n };\n const extraRowProps = hasExtensions\n ? extensions.reduce<React.HTMLAttributes<HTMLTableRowElement>>(\n (acc, ext) =>\n Object.assign(acc, ext.rowProps?.(rowCtx, extensionApi!) ?? {}),\n {},\n )\n : {};\n\n const rowElement = (\n <Table.Row\n key={row.id}\n className={rowClassName}\n onClick={onRowClick ? e => onRowClick(row.original, e) : undefined}\n onDoubleClick={onRowDoubleClick ? e => onRowDoubleClick(row.original, e) : undefined}\n onMouseEnter={onRowMouseEnter ? e => onRowMouseEnter(row.original, e) : undefined}\n onMouseLeave={onRowMouseLeave ? e => onRowMouseLeave(row.original, e) : undefined}\n {...(extraRowProps as any)}\n >\n {row.getVisibleCells().map((cell, cellIndex) => {\n // 为第一列添加缩进和展开/折叠控件\n const isFirstColumn = cellIndex === 0;\n\n // 扩展可覆写单元格渲染。\n let cellContent: React.ReactNode | undefined;\n if (hasExtensions) {\n const cellCtx: DataTableCellContext<T> = {\n value: cell.getValue(),\n row: row.original,\n rowId: resolvedRowId,\n rowIndex,\n columnId: cell.column.id,\n };\n for (const ext of extensions) {\n const out = ext.cell?.(cellCtx, extensionApi!);\n if (out !== undefined) {\n cellContent = out;\n break;\n }\n }\n }\n if (cellContent === undefined) {\n cellContent = flexRender(\n cell.column.columnDef.cell,\n cell.getContext(),\n );\n }\n\n return (\n <Table.Cell\n key={cell.id}\n onClick={onCellClick ? e => {\n e.stopPropagation(); // 防止触发行点击事件\n onCellClick(row.original, cell.column, e);\n } : undefined}\n onDoubleClick={onCellDoubleClick ? e => {\n e.stopPropagation(); // 防止触发行双击事件\n onCellDoubleClick(row.original, cell.column, e);\n } : undefined}\n onMouseEnter={onCellMouseEnter ? e => onCellMouseEnter(row.original, cell.column, e) : undefined}\n onMouseLeave={onCellMouseLeave ? e => onCellMouseLeave(row.original, cell.column, e) : undefined}\n >\n <div\n className=\"flex items-center\"\n onContextMenu={\n onCellContextMenu\n ? e =>\n onCellContextMenu(\n e,\n row.original,\n cell.column,\n rowIndex,\n )\n : undefined\n }\n >\n {isFirstColumn && enableExpanding && (\n <>\n <div style={{ width: `${depth * indentSize}px` }} />\n {hasChildren ? (\n <button\n onClick={(e) => {\n e.stopPropagation();\n handleRowExpand(rowId, row.original);\n }}\n className=\"mr-2 focus:outline-none\"\n >\n {/* 完全重写箭头图标部分,使用内联样式控制方向 */}\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-4 w-4\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n style={{\n transition: 'transform 0.3s ease',\n transform: isExpanded ? 'rotate(90deg)' : 'rotate(0deg)'\n }}\n >\n {/* 使用右箭头,通过旋转变为下箭头 */}\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n d=\"M9 5l7 7-7 7\"\n />\n </svg>\n </button>\n ) : (\n <div className=\"w-6\"></div>\n )}\n </>\n )}\n {cellContent}\n </div>\n </Table.Cell>\n );\n })}\n </Table.Row>\n );\n\n // 让扩展包裹整行(如在行下方追加 detail 面板)。\n if (hasExtensions) {\n const wrapped = extensions.reduce<React.ReactNode>(\n (node, ext) => ext.wrapRow?.(node, rowCtx, extensionApi!) ?? node,\n rowElement,\n );\n if (wrapped !== rowElement) {\n return <React.Fragment key={row.id}>{wrapped}</React.Fragment>;\n }\n }\n\n return rowElement;\n })\n )}\n </Table.Body>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"TableBody.js","names":[],"sources":["../../../../../src/components/pro/DataTable/components/TableBody.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as TanStackTable, flexRender } from '../tanstack-table';\nimport Table from '../../../Table';\nimport { RowEventHandler, CellEventHandler } from '../types';\nimport type {\n DataTableApi,\n DataTableCellContext,\n DataTableExtension,\n DataTableRowContext,\n} from '../extension';\n\ninterface TableBodyProps<T extends object> {\n table: TanStackTable<T>;\n expandedRowsState: Record<string, boolean>;\n onRowClick?: RowEventHandler;\n onRowDoubleClick?: RowEventHandler;\n onRowMouseEnter?: RowEventHandler;\n onRowMouseLeave?: RowEventHandler;\n onCellClick?: CellEventHandler;\n onCellDoubleClick?: CellEventHandler;\n onCellMouseEnter?: CellEventHandler;\n onCellMouseLeave?: CellEventHandler;\n enableExpanding: boolean;\n indentSize: number;\n handleRowExpand: (rowId: string, row: T) => void;\n // 扩展系统\n extensions?: DataTableExtension<T>[];\n extensionApi?: DataTableApi<T>;\n getRowId?: (row: T, index: number) => string;\n onCellContextMenu?: (\n e: React.MouseEvent,\n row: T,\n column: any,\n rowIndex: number,\n ) => void;\n}\n\nexport function TableBody<T extends object>({\n table,\n expandedRowsState,\n onRowClick,\n onRowDoubleClick,\n onRowMouseEnter,\n onRowMouseLeave,\n onCellClick,\n onCellDoubleClick,\n onCellMouseEnter,\n onCellMouseLeave,\n enableExpanding,\n indentSize,\n handleRowExpand,\n extensions = [],\n extensionApi,\n getRowId,\n onCellContextMenu,\n}: TableBodyProps<T>) {\n const hasExtensions = extensions.length > 0 && !!extensionApi;\n\n return (\n <Table.Body>\n {table.getRowModel().rows.length === 0 ? (\n <Table.Row>\n <Table.Cell colSpan={table.getAllColumns().length} className=\"text-center py-4\">\n 没有数据\n </Table.Cell>\n </Table.Row>\n ) : (\n table.getRowModel().rows.map((row, rowIndex) => {\n const rowData = row.original as any;\n const depth = rowData.__depth || 0;\n const hasChildren = rowData.__hasChildren || false;\n const rowId = rowData.__id;\n const isExpanded = hasChildren && expandedRowsState[rowId] || false;\n const isChildRow = depth > 0;\n const parentId = rowData.__parentId;\n const parentExpanded = parentId ? expandedRowsState[parentId] || false : true;\n\n // 根据层级和展开状态应用不同的CSS类\n const rowClassName = `\n ${row.getIsSelected() ? 'bg-primary/10' : ''}\n ${hasChildren ? (isExpanded ? 'tree-row-expanded' : '') : ''}\n `;\n\n // 如果是子行且父行未展开,则不显示\n if (isChildRow && !parentExpanded) {\n return null;\n }\n\n // 扩展的行级上下文与注入属性\n const resolvedRowId = getRowId\n ? getRowId(row.original, rowIndex)\n : String(rowId ?? rowIndex);\n const rowCtx: DataTableRowContext<T> = {\n row: row.original,\n rowId: resolvedRowId,\n rowIndex,\n selected: row.getIsSelected(),\n };\n const extraRowProps = hasExtensions\n ? extensions.reduce<React.HTMLAttributes<HTMLTableRowElement>>(\n (acc, ext) =>\n Object.assign(acc, ext.rowProps?.(rowCtx, extensionApi!) ?? {}),\n {},\n )\n : {};\n\n const rowElement = (\n <Table.Row\n key={row.id}\n className={rowClassName}\n onClick={onRowClick ? e => onRowClick(row.original, e) : undefined}\n onDoubleClick={onRowDoubleClick ? e => onRowDoubleClick(row.original, e) : undefined}\n onMouseEnter={onRowMouseEnter ? e => onRowMouseEnter(row.original, e) : undefined}\n onMouseLeave={onRowMouseLeave ? e => onRowMouseLeave(row.original, e) : undefined}\n {...(extraRowProps as any)}\n >\n {row.getVisibleCells().map((cell, cellIndex) => {\n // 为第一列添加缩进和展开/折叠控件\n const isFirstColumn = cellIndex === 0;\n\n // 扩展可覆写单元格渲染。\n let cellContent: React.ReactNode | undefined;\n if (hasExtensions) {\n const cellCtx: DataTableCellContext<T> = {\n value: cell.getValue(),\n row: row.original,\n rowId: resolvedRowId,\n rowIndex,\n columnId: cell.column.id,\n };\n for (const ext of extensions) {\n const out = ext.cell?.(cellCtx, extensionApi!);\n if (out !== undefined) {\n cellContent = out;\n break;\n }\n }\n }\n if (cellContent === undefined) {\n cellContent = flexRender(\n cell.column.columnDef.cell,\n cell.getContext(),\n );\n }\n\n return (\n <Table.Cell\n key={cell.id}\n onClick={onCellClick ? e => {\n e.stopPropagation(); // 防止触发行点击事件\n onCellClick(row.original, cell.column, e);\n } : undefined}\n onDoubleClick={onCellDoubleClick ? e => {\n e.stopPropagation(); // 防止触发行双击事件\n onCellDoubleClick(row.original, cell.column, e);\n } : undefined}\n onMouseEnter={onCellMouseEnter ? e => onCellMouseEnter(row.original, cell.column, e) : undefined}\n onMouseLeave={onCellMouseLeave ? e => onCellMouseLeave(row.original, cell.column, e) : undefined}\n >\n <div\n className=\"flex items-center\"\n onContextMenu={\n onCellContextMenu\n ? e =>\n onCellContextMenu(\n e,\n row.original,\n cell.column,\n rowIndex,\n )\n : undefined\n }\n >\n {isFirstColumn && enableExpanding && (\n <>\n <div style={{ width: `${depth * indentSize}px` }} />\n {hasChildren ? (\n <button\n onClick={(e) => {\n e.stopPropagation();\n handleRowExpand(rowId, row.original);\n }}\n className=\"mr-2 focus:outline-none\"\n >\n {/* 完全重写箭头图标部分,使用内联样式控制方向 */}\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-4 w-4\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n style={{\n transition: 'transform 0.3s ease',\n transform: isExpanded ? 'rotate(90deg)' : 'rotate(0deg)'\n }}\n >\n {/* 使用右箭头,通过旋转变为下箭头 */}\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n d=\"M9 5l7 7-7 7\"\n />\n </svg>\n </button>\n ) : (\n <div className=\"w-6\"></div>\n )}\n </>\n )}\n {cellContent}\n </div>\n </Table.Cell>\n );\n })}\n </Table.Row>\n );\n\n // 让扩展包裹整行(如在行下方追加 detail 面板)。\n if (hasExtensions) {\n const wrapped = extensions.reduce<React.ReactNode>(\n (node, ext) => ext.wrapRow?.(node, rowCtx, extensionApi!) ?? node,\n rowElement,\n );\n if (wrapped !== rowElement) {\n return <React.Fragment key={row.id}>{wrapped}</React.Fragment>;\n }\n }\n\n return rowElement;\n })\n )}\n </Table.Body>\n );\n}\n"],"mappings":";;;;;AAqCA,SAAgB,EAA4B,EACxC,UACA,sBACA,eACA,qBACA,oBACA,oBACA,gBACA,sBACA,qBACA,qBACA,oBACA,eACA,oBACA,gBAAa,CAAC,GACd,iBACA,aACA,wBACkB;CAClB,IAAM,IAAgB,EAAW,SAAS,KAAK,CAAC,CAAC;CAEjD,OACI,kBAAC,EAAM,MAAP,EAAA,UACK,EAAM,YAAY,CAAC,CAAC,KAAK,WAAW,IACjC,kBAAC,EAAM,KAAP,EAAA,UACI,kBAAC,EAAM,MAAP;EAAY,SAAS,EAAM,cAAc,CAAC,CAAC;EAAQ,WAAU;EAAmB,UAAA;CAEpE,CAAA,EACL,CAAA,IAEX,EAAM,YAAY,CAAC,CAAC,KAAK,KAAK,GAAK,MAAa;EAC5C,IAAM,IAAU,EAAI,UACd,IAAQ,EAAQ,WAAW,GAC3B,IAAc,EAAQ,iBAAiB,IACvC,IAAQ,EAAQ,MAChB,IAAa,KAAe,EAAkB,MAAU,IACxD,IAAa,IAAQ,GACrB,IAAW,EAAQ,YACnB,IAAiB,MAAW,EAAkB,MAAa,IAG3D,IAAe;cAC3B,EAAI,cAAc,IAAI,kBAAkB,GAAG;cAC3C,KAAe,IAAa,sBAAsB,GAAS;;EAIrD,IAAI,KAAc,CAAC,GACf,OAAO;EAIX,IAAM,IAAgB,IAChB,EAAS,EAAI,UAAU,CAAQ,IAC/B,OAAO,KAAS,CAAQ,GACxB,IAAiC;GACnC,KAAK,EAAI;GACT,OAAO;GACP;GACA,UAAU,EAAI,cAAc;EAChC,GACM,IAAgB,IAChB,EAAW,QACN,GAAK,MACF,OAAO,OAAO,GAAK,EAAI,WAAW,GAAQ,CAAa,KAAK,CAAC,CAAC,GAClE,CAAC,CACL,IACA,CAAC,GAED,IACF,kBAAC,EAAM,KAAP;GAEI,WAAW;GACX,SAAS,KAAa,MAAK,EAAW,EAAI,UAAU,CAAC,IAAI,KAAA;GACzD,eAAe,KAAmB,MAAK,EAAiB,EAAI,UAAU,CAAC,IAAI,KAAA;GAC3E,cAAc,KAAkB,MAAK,EAAgB,EAAI,UAAU,CAAC,IAAI,KAAA;GACxE,cAAc,KAAkB,MAAK,EAAgB,EAAI,UAAU,CAAC,IAAI,KAAA;GACxE,GAAK;GAEJ,UAAA,EAAI,gBAAgB,CAAC,CAAC,KAAK,GAAM,MAAc;IAE5C,IAAM,IAAgB,MAAc,GAGhC;IACJ,IAAI,GAAe;KACf,IAAM,IAAmC;MACrC,OAAO,EAAK,SAAS;MACrB,KAAK,EAAI;MACT,OAAO;MACP;MACA,UAAU,EAAK,OAAO;KAC1B;KACA,KAAK,IAAM,KAAO,GAAY;MAC1B,IAAM,IAAM,EAAI,OAAO,GAAS,CAAa;MAC7C,IAAI,MAAQ,KAAA,GAAW;OACnB,IAAc;OACd;MACJ;KACJ;IACJ;IAQA,OAPI,MAAgB,KAAA,MAChB,IAAc,EACV,EAAK,OAAO,UAAU,MACtB,EAAK,WAAW,CACpB,IAIA,kBAAC,EAAM,MAAP;KAEI,SAAS,KAAc,MAAK;MAExB,AADA,EAAE,gBAAgB,GAClB,EAAY,EAAI,UAAU,EAAK,QAAQ,CAAC;KAC5C,IAAI,KAAA;KACJ,eAAe,KAAoB,MAAK;MAEpC,AADA,EAAE,gBAAgB,GAClB,EAAkB,EAAI,UAAU,EAAK,QAAQ,CAAC;KAClD,IAAI,KAAA;KACJ,cAAc,KAAmB,MAAK,EAAiB,EAAI,UAAU,EAAK,QAAQ,CAAC,IAAI,KAAA;KACvF,cAAc,KAAmB,MAAK,EAAiB,EAAI,UAAU,EAAK,QAAQ,CAAC,IAAI,KAAA;KAEvF,UAAA,kBAAC,OAAD;MACI,WAAU;MACV,eACI,KACM,MACI,EACI,GACA,EAAI,UACJ,EAAK,QACL,CACJ,IACJ,KAAA;MAXd,UAAA,CAcK,KAAiB,KACd,kBAAA,GAAA,EAAA,UAAA,CACI,kBAAC,OAAD,EAAK,OAAO,EAAE,OAAO,GAAG,IAAQ,EAAW,IAAI,EAAI,CAAA,GAClD,IACG,kBAAC,UAAD;OACI,UAAU,MAAM;QAEZ,AADA,EAAE,gBAAgB,GAClB,EAAgB,GAAO,EAAI,QAAQ;OACvC;OACA,WAAU;OAGV,UAAA,kBAAC,OAAD;QACI,OAAM;QACN,WAAU;QACV,MAAK;QACL,SAAQ;QACR,QAAO;QACP,OAAO;SACH,YAAY;SACZ,WAAW,IAAa,kBAAkB;QAC9C;QAGA,UAAA,kBAAC,QAAD;SACI,eAAc;SACd,gBAAe;SACf,aAAY;SACZ,GAAE;QACL,CAAA;OACA,CAAA;MACD,CAAA,IAER,kBAAC,OAAD,EAAK,WAAU,MAAW,CAAA,CAEhC,EAAA,CAAA,GAEL,CACA;;IACG,GAjEH,EAAK,EAiEF;GAEpB,CAAC;EACM,GA3GF,EAAI,EA2GF;EAIf,IAAI,GAAe;GACf,IAAM,IAAU,EAAW,QACtB,GAAM,MAAQ,EAAI,UAAU,GAAM,GAAQ,CAAa,KAAK,GAC7D,CACJ;GACA,IAAI,MAAY,GACZ,OAAO,kBAAC,EAAM,UAAP,EAAA,UAA8B,EAAwB,GAAjC,EAAI,EAA6B;EAErE;EAEA,OAAO;CACX,CAAC,EAEG,CAAA;AAEpB"}
@@ -1,83 +1,83 @@
1
- import l from "../../../Table/index.js";
2
- import { flexRender as f } from "../tanstack-table.js";
1
+ import e from "../../../Table/index.js";
2
+ import { flexRender as t } from "../tanstack-table.js";
3
3
  import "react";
4
- import { jsx as o, jsxs as h } from "react/jsx-runtime";
5
- function N({ table: a, visibilityState: d, enableSorting: g, enableColumnReordering: t, draggedColumnId: u, onColumnMouseEnter: n, onColumnMouseLeave: c, handleDragStart: v, handleDragOver: p, handleDrop: w }) {
6
- return /* @__PURE__ */ o(l.Head, { children: a.getHeaderGroups().map((m) => /* @__PURE__ */ o(l.Row, { children: m.headers.map((r) => {
7
- if (d[r.column.id] === !1) return null;
8
- r.column.columnDef.meta;
9
- const i = g && r.column.getCanSort();
10
- return /* @__PURE__ */ o(l.HeaderCell, {
11
- className: `
12
- ${i ? "cursor-pointer" : ""}
13
- ${t ? "cursor-move" : ""}
14
- ${u === r.id ? "bg-primary/30 shadow-lg border-2 border-primary" : ""}
4
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
5
+ //#region src/components/pro/DataTable/components/TableHeader.tsx
6
+ function i({ table: i, visibilityState: a, enableSorting: o, enableColumnReordering: s, draggedColumnId: c, onColumnMouseEnter: l, onColumnMouseLeave: u, handleDragStart: d, handleDragOver: f, handleDrop: p }) {
7
+ return /* @__PURE__ */ n(e.Head, { children: i.getHeaderGroups().map((i) => /* @__PURE__ */ n(e.Row, { children: i.headers.map((i) => {
8
+ if (a[i.column.id] === !1) return null;
9
+ i.column.columnDef.meta;
10
+ let m = o && i.column.getCanSort();
11
+ return /* @__PURE__ */ n(e.HeaderCell, {
12
+ className: `
13
+ ${m ? "cursor-pointer" : ""}
14
+ ${s ? "cursor-move" : ""}
15
+ ${c === i.id ? "bg-primary/30 shadow-lg border-2 border-primary" : ""}
15
16
  `,
16
- onClick: i ? r.column.getToggleSortingHandler() : void 0,
17
- onMouseEnter: n ? (s) => n(r.column, s) : void 0,
18
- onMouseLeave: c ? (s) => c(r.column, s) : void 0,
19
- draggable: t,
20
- onDragStart: t ? (s) => v(s, r.id) : void 0,
21
- onDragOver: t ? p : void 0,
22
- onDrop: t ? (s) => {
23
- w(s, r.id), document.querySelectorAll(".bg-primary\\/20, .bg-primary\\/30, .dragging-source, .menu-item-highlight").forEach((e) => {
24
- e.classList.remove("bg-primary/20"), e.classList.remove("bg-primary/30"), e.classList.remove("shadow-lg"), e.classList.remove("border-b-2"), e.classList.remove("border-2"), e.classList.remove("border-l-4"), e.classList.remove("border-primary"), e.classList.remove("dragging-source"), e.classList.remove("menu-item-highlight");
25
- });
26
- } : void 0,
27
- children: /* @__PURE__ */ h("div", {
28
- className: "flex items-center justify-between w-full",
29
- children: [r.isPlaceholder ? null : /* @__PURE__ */ o("div", {
30
- className: "flex items-center",
31
- children: f(r.column.columnDef.header, r.getContext())
32
- }), i && /* @__PURE__ */ o("div", {
33
- className: "flex items-center ml-2",
34
- children: /* @__PURE__ */ o("span", {
35
- className: "w-4 flex justify-center",
36
- children: r.column.getIsSorted() ? r.column.getIsSorted() === "desc" ? /* @__PURE__ */ o("svg", {
37
- xmlns: "http://www.w3.org/2000/svg",
38
- className: "h-4 w-4 text-success",
39
- fill: "none",
40
- viewBox: "0 0 24 24",
41
- stroke: "currentColor",
42
- children: /* @__PURE__ */ o("path", {
43
- strokeLinecap: "round",
44
- strokeLinejoin: "round",
45
- strokeWidth: "2",
46
- d: "M5 15l7-7 7 7"
47
- })
48
- }) : /* @__PURE__ */ o("svg", {
49
- xmlns: "http://www.w3.org/2000/svg",
50
- className: "h-4 w-4 text-error",
51
- fill: "none",
52
- viewBox: "0 0 24 24",
53
- stroke: "currentColor",
54
- children: /* @__PURE__ */ o("path", {
55
- strokeLinecap: "round",
56
- strokeLinejoin: "round",
57
- strokeWidth: "2",
58
- d: "M19 9l-7 7-7-7"
59
- })
60
- }) : /* @__PURE__ */ o("svg", {
61
- xmlns: "http://www.w3.org/2000/svg",
62
- className: "h-4 w-4 text-base-content/30",
63
- fill: "none",
64
- viewBox: "0 0 24 24",
65
- stroke: "currentColor",
66
- children: /* @__PURE__ */ o("path", {
67
- strokeLinecap: "round",
68
- strokeLinejoin: "round",
69
- strokeWidth: "2",
70
- d: "M7 16V4m0 0L3 8m4-4l4 4m6 0v12m0 0l4-4m-4 4l-4-4"
71
- })
72
- })
73
- })
74
- })]
75
- })
76
- }, r.id);
77
- }) }, m.id)) });
17
+ onClick: m ? i.column.getToggleSortingHandler() : void 0,
18
+ onMouseEnter: l ? (e) => l(i.column, e) : void 0,
19
+ onMouseLeave: u ? (e) => u(i.column, e) : void 0,
20
+ draggable: s,
21
+ onDragStart: s ? (e) => d(e, i.id) : void 0,
22
+ onDragOver: s ? f : void 0,
23
+ onDrop: s ? (e) => {
24
+ p(e, i.id), document.querySelectorAll(".bg-primary\\/20, .bg-primary\\/30, .dragging-source, .menu-item-highlight").forEach((e) => {
25
+ e.classList.remove("bg-primary/20"), e.classList.remove("bg-primary/30"), e.classList.remove("shadow-lg"), e.classList.remove("border-b-2"), e.classList.remove("border-2"), e.classList.remove("border-l-4"), e.classList.remove("border-primary"), e.classList.remove("dragging-source"), e.classList.remove("menu-item-highlight");
26
+ });
27
+ } : void 0,
28
+ children: /* @__PURE__ */ r("div", {
29
+ className: "flex items-center justify-between w-full",
30
+ children: [i.isPlaceholder ? null : /* @__PURE__ */ n("div", {
31
+ className: "flex items-center",
32
+ children: t(i.column.columnDef.header, i.getContext())
33
+ }), m && /* @__PURE__ */ n("div", {
34
+ className: "flex items-center ml-2",
35
+ children: /* @__PURE__ */ n("span", {
36
+ className: "w-4 flex justify-center",
37
+ children: i.column.getIsSorted() ? i.column.getIsSorted() === "desc" ? /* @__PURE__ */ n("svg", {
38
+ xmlns: "http://www.w3.org/2000/svg",
39
+ className: "h-4 w-4 text-success",
40
+ fill: "none",
41
+ viewBox: "0 0 24 24",
42
+ stroke: "currentColor",
43
+ children: /* @__PURE__ */ n("path", {
44
+ strokeLinecap: "round",
45
+ strokeLinejoin: "round",
46
+ strokeWidth: "2",
47
+ d: "M5 15l7-7 7 7"
48
+ })
49
+ }) : /* @__PURE__ */ n("svg", {
50
+ xmlns: "http://www.w3.org/2000/svg",
51
+ className: "h-4 w-4 text-error",
52
+ fill: "none",
53
+ viewBox: "0 0 24 24",
54
+ stroke: "currentColor",
55
+ children: /* @__PURE__ */ n("path", {
56
+ strokeLinecap: "round",
57
+ strokeLinejoin: "round",
58
+ strokeWidth: "2",
59
+ d: "M19 9l-7 7-7-7"
60
+ })
61
+ }) : /* @__PURE__ */ n("svg", {
62
+ xmlns: "http://www.w3.org/2000/svg",
63
+ className: "h-4 w-4 text-base-content/30",
64
+ fill: "none",
65
+ viewBox: "0 0 24 24",
66
+ stroke: "currentColor",
67
+ children: /* @__PURE__ */ n("path", {
68
+ strokeLinecap: "round",
69
+ strokeLinejoin: "round",
70
+ strokeWidth: "2",
71
+ d: "M7 16V4m0 0L3 8m4-4l4 4m6 0v12m0 0l4-4m-4 4l-4-4"
72
+ })
73
+ })
74
+ })
75
+ })]
76
+ })
77
+ }, i.id);
78
+ }) }, i.id)) });
78
79
  }
79
- export {
80
- N as TableHeader
81
- };
80
+ //#endregion
81
+ export { i as TableHeader };
82
82
 
83
83
  //# sourceMappingURL=TableHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableHeader.js","names":[],"sources":["../../../../../src/components/pro/DataTable/components/TableHeader.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as TanStackTable, VisibilityState, flexRender } from '../tanstack-table';\nimport Table from '../../../Table';\nimport { ColumnEventHandler } from '../types';\n\ninterface TableHeaderProps<T extends object> {\n table: TanStackTable<T>;\n visibilityState: VisibilityState;\n enableSorting: boolean;\n enableColumnReordering: boolean;\n draggedColumnId: string | null;\n onColumnMouseEnter?: ColumnEventHandler;\n onColumnMouseLeave?: ColumnEventHandler;\n handleDragStart: (e: React.DragEvent, columnId: string) => void;\n handleDragOver: (e: React.DragEvent | Event) => void;\n handleDrop: (e: React.DragEvent, targetColumnId: string) => void;\n}\n\nexport function TableHeader<T extends object>({\n table,\n visibilityState,\n enableSorting,\n enableColumnReordering,\n draggedColumnId,\n onColumnMouseEnter,\n onColumnMouseLeave,\n handleDragStart,\n handleDragOver,\n handleDrop,\n}: TableHeaderProps<T>) {\n return (\n <Table.Head>\n {table.getHeaderGroups().map(headerGroup => (\n <Table.Row key={headerGroup.id}>\n {headerGroup.headers.map(header => {\n // 确保列是可见的\n const columnId = header.column.id;\n if (visibilityState[columnId] === false) return null;\n\n // 获取列的自定义元数据\n const meta = header.column.columnDef.meta || {};\n const isSortable = enableSorting && header.column.getCanSort();\n\n return (\n <Table.HeaderCell\n key={header.id}\n className={`\n ${isSortable ? 'cursor-pointer' : ''}\n ${enableColumnReordering ? 'cursor-move' : ''}\n ${draggedColumnId === header.id ? 'bg-primary/30 shadow-lg border-2 border-primary' : ''}\n `}\n onClick={isSortable ? header.column.getToggleSortingHandler() : undefined}\n onMouseEnter={onColumnMouseEnter ? e => onColumnMouseEnter(header.column, e) : undefined}\n onMouseLeave={onColumnMouseLeave ? e => onColumnMouseLeave(header.column, e) : undefined}\n draggable={enableColumnReordering}\n onDragStart={enableColumnReordering ? e => handleDragStart(e, header.id) : undefined}\n onDragOver={enableColumnReordering ? handleDragOver : undefined}\n onDrop={enableColumnReordering ? e => {\n handleDrop(e, header.id);\n // 清理所有拖拽相关的样式\n document.querySelectorAll('.bg-primary\\\\/20, .bg-primary\\\\/30, .dragging-source, .menu-item-highlight').forEach(el => {\n el.classList.remove('bg-primary/20');\n el.classList.remove('bg-primary/30');\n el.classList.remove('shadow-lg');\n el.classList.remove('border-b-2');\n el.classList.remove('border-2');\n el.classList.remove('border-l-4');\n el.classList.remove('border-primary');\n el.classList.remove('dragging-source');\n el.classList.remove('menu-item-highlight');\n });\n } : undefined}\n >\n <div className=\"flex items-center justify-between w-full\">\n {header.isPlaceholder ? null : (\n <div className=\"flex items-center\">\n {flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n </div>\n )}\n\n {isSortable && (\n <div className=\"flex items-center ml-2\">\n <span className=\"w-4 flex justify-center\">\n {header.column.getIsSorted() ? (\n header.column.getIsSorted() === 'desc' ? (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-4 w-4 text-success\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M5 15l7-7 7 7\" />\n </svg>\n ) : (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-4 w-4 text-error\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M19 9l-7 7-7-7\" />\n </svg>\n )\n ) : (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-4 w-4 text-base-content/30\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M7 16V4m0 0L3 8m4-4l4 4m6 0v12m0 0l4-4m-4 4l-4-4\" />\n </svg>\n )}\n </span>\n </div>\n )}\n </div>\n </Table.HeaderCell>\n );\n })}\n </Table.Row>\n ))}\n </Table.Head>\n );\n}\n"],"mappings":";;;;AAkBA,SAAgB,EAA8B,EAC1C,OAAA,GACA,iBAAA,GACA,eAAA,GACA,wBAAA,GACA,iBAAA,GACA,oBAAA,GACA,oBAAA,GACA,iBAAA,GACA,gBAAA,GACA,YAAA,EAAA,GACoB;AACpB,SACI,gBAAA,EAAC,EAAM,MAAP,EAAA,UACK,EAAM,gBAAgB,EAAE,IAAA,CAAI,MACzB,gBAAA,EAAC,EAAM,KAAP,EAAA,UACK,EAAY,QAAQ,IAAA,CAAI,MAAU;AAG/B,QAAI,EADa,EAAO,OAAO,EAAA,MACG,GAAO,QAAO;AAGnC,IAAA,EAAO,OAAO,UAAU;AACrC,UAAM,IAAa,KAAiB,EAAO,OAAO,WAAW;AAE7D,WACI,gBAAA,EAAC,EAAM,YAAP;AAAA,MAEI,WAAW;AAAA,oBACvB,IAAa,mBAAmB,EAAA;AAAA,oBAChC,IAAyB,gBAAgB,EAAA;AAAA,oBACzC,MAAoB,EAAO,KAAK,oDAAoD,EAAA;AAAA;AAAA,MAExE,SAAS,IAAa,EAAO,OAAO,wBAAwB,IAAI;AAAA,MAChE,cAAc,IAAA,CAAqB,MAAK,EAAmB,EAAO,QAAQ,CAAC,IAAI;AAAA,MAC/E,cAAc,IAAA,CAAqB,MAAK,EAAmB,EAAO,QAAQ,CAAC,IAAI;AAAA,MAC/E,WAAW;AAAA,MACX,aAAa,IAAA,CAAyB,MAAK,EAAgB,GAAG,EAAO,EAAE,IAAI;AAAA,MAC3E,YAAY,IAAyB,IAAiB;AAAA,MACtD,QAAQ,IAAA,CAAyB,MAAK;AAClC,QAAA,EAAW,GAAG,EAAO,EAAE,GAEvB,SAAS,iBAAiB,4EAA4E,EAAE,QAAA,CAAQ,MAAM;AAClH,UAAA,EAAG,UAAU,OAAO,eAAe,GACnC,EAAG,UAAU,OAAO,eAAe,GACnC,EAAG,UAAU,OAAO,WAAW,GAC/B,EAAG,UAAU,OAAO,YAAY,GAChC,EAAG,UAAU,OAAO,UAAU,GAC9B,EAAG,UAAU,OAAO,YAAY,GAChC,EAAG,UAAU,OAAO,gBAAgB,GACpC,EAAG,UAAU,OAAO,iBAAiB,GACrC,EAAG,UAAU,OAAO,qBAAqB;AAAA,QAC7C,CAAC;AAAA,MACL,IAAI;AAAA,MAEJ,UAAA,gBAAA,EAAC,OAAD;AAAA,QAAK,WAAU;AAAA,QAAf,UAAA,CACK,EAAO,gBAAgB,OACpB,gBAAA,EAAC,OAAD;AAAA,UAAK,WAAU;AAAA,UACV,UAAA,EACG,EAAO,OAAO,UAAU,QACxB,EAAO,WAAW,CACtB;AAAA,QACC,CAAA,GAGR,KACG,gBAAA,EAAC,OAAD;AAAA,UAAK,WAAU;AAAA,UACX,UAAA,gBAAA,EAAC,QAAD;AAAA,YAAM,WAAU;AAAA,YACX,UAAA,EAAO,OAAO,YAAY,IACvB,EAAO,OAAO,YAAY,MAAM,SAC5B,gBAAA,EAAC,OAAD;AAAA,cACI,OAAM;AAAA,cACN,WAAU;AAAA,cACV,MAAK;AAAA,cACL,SAAQ;AAAA,cACR,QAAO;AAAA,cAEP,UAAA,gBAAA,EAAC,QAAD;AAAA,gBAAM,eAAc;AAAA,gBAAQ,gBAAe;AAAA,gBAAQ,aAAY;AAAA,gBAAI,GAAE;AAAA,cAAiB,CAAA;AAAA,YACrF,CAAA,IAEL,gBAAA,EAAC,OAAD;AAAA,cACI,OAAM;AAAA,cACN,WAAU;AAAA,cACV,MAAK;AAAA,cACL,SAAQ;AAAA,cACR,QAAO;AAAA,cAEP,UAAA,gBAAA,EAAC,QAAD;AAAA,gBAAM,eAAc;AAAA,gBAAQ,gBAAe;AAAA,gBAAQ,aAAY;AAAA,gBAAI,GAAE;AAAA,cAAkB,CAAA;AAAA,YACtF,CAAA,IAGT,gBAAA,EAAC,OAAD;AAAA,cACI,OAAM;AAAA,cACN,WAAU;AAAA,cACV,MAAK;AAAA,cACL,SAAQ;AAAA,cACR,QAAO;AAAA,cAEP,UAAA,gBAAA,EAAC,QAAD;AAAA,gBAAM,eAAc;AAAA,gBAAQ,gBAAe;AAAA,gBAAQ,aAAY;AAAA,gBAAI,GAAE;AAAA,cAAoD,CAAA;AAAA,YACxH,CAAA;AAAA,UAEP,CAAA;AAAA,QACL,CAAA,CAER;AAAA;IACS,GA9ET,EAAO,EA8EE;AAAA,EAE1B,CAAC,EACM,GA7FK,EAAY,EA6FjB,CACd,EACO,CAAA;AAEpB"}
1
+ {"version":3,"file":"TableHeader.js","names":[],"sources":["../../../../../src/components/pro/DataTable/components/TableHeader.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as TanStackTable, VisibilityState, flexRender } from '../tanstack-table';\nimport Table from '../../../Table';\nimport { ColumnEventHandler } from '../types';\n\ninterface TableHeaderProps<T extends object> {\n table: TanStackTable<T>;\n visibilityState: VisibilityState;\n enableSorting: boolean;\n enableColumnReordering: boolean;\n draggedColumnId: string | null;\n onColumnMouseEnter?: ColumnEventHandler;\n onColumnMouseLeave?: ColumnEventHandler;\n handleDragStart: (e: React.DragEvent, columnId: string) => void;\n handleDragOver: (e: React.DragEvent | Event) => void;\n handleDrop: (e: React.DragEvent, targetColumnId: string) => void;\n}\n\nexport function TableHeader<T extends object>({\n table,\n visibilityState,\n enableSorting,\n enableColumnReordering,\n draggedColumnId,\n onColumnMouseEnter,\n onColumnMouseLeave,\n handleDragStart,\n handleDragOver,\n handleDrop,\n}: TableHeaderProps<T>) {\n return (\n <Table.Head>\n {table.getHeaderGroups().map(headerGroup => (\n <Table.Row key={headerGroup.id}>\n {headerGroup.headers.map(header => {\n // 确保列是可见的\n const columnId = header.column.id;\n if (visibilityState[columnId] === false) return null;\n\n // 获取列的自定义元数据\n const meta = header.column.columnDef.meta || {};\n const isSortable = enableSorting && header.column.getCanSort();\n\n return (\n <Table.HeaderCell\n key={header.id}\n className={`\n ${isSortable ? 'cursor-pointer' : ''}\n ${enableColumnReordering ? 'cursor-move' : ''}\n ${draggedColumnId === header.id ? 'bg-primary/30 shadow-lg border-2 border-primary' : ''}\n `}\n onClick={isSortable ? header.column.getToggleSortingHandler() : undefined}\n onMouseEnter={onColumnMouseEnter ? e => onColumnMouseEnter(header.column, e) : undefined}\n onMouseLeave={onColumnMouseLeave ? e => onColumnMouseLeave(header.column, e) : undefined}\n draggable={enableColumnReordering}\n onDragStart={enableColumnReordering ? e => handleDragStart(e, header.id) : undefined}\n onDragOver={enableColumnReordering ? handleDragOver : undefined}\n onDrop={enableColumnReordering ? e => {\n handleDrop(e, header.id);\n // 清理所有拖拽相关的样式\n document.querySelectorAll('.bg-primary\\\\/20, .bg-primary\\\\/30, .dragging-source, .menu-item-highlight').forEach(el => {\n el.classList.remove('bg-primary/20');\n el.classList.remove('bg-primary/30');\n el.classList.remove('shadow-lg');\n el.classList.remove('border-b-2');\n el.classList.remove('border-2');\n el.classList.remove('border-l-4');\n el.classList.remove('border-primary');\n el.classList.remove('dragging-source');\n el.classList.remove('menu-item-highlight');\n });\n } : undefined}\n >\n <div className=\"flex items-center justify-between w-full\">\n {header.isPlaceholder ? null : (\n <div className=\"flex items-center\">\n {flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n </div>\n )}\n\n {isSortable && (\n <div className=\"flex items-center ml-2\">\n <span className=\"w-4 flex justify-center\">\n {header.column.getIsSorted() ? (\n header.column.getIsSorted() === 'desc' ? (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-4 w-4 text-success\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M5 15l7-7 7 7\" />\n </svg>\n ) : (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-4 w-4 text-error\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M19 9l-7 7-7-7\" />\n </svg>\n )\n ) : (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-4 w-4 text-base-content/30\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M7 16V4m0 0L3 8m4-4l4 4m6 0v12m0 0l4-4m-4 4l-4-4\" />\n </svg>\n )}\n </span>\n </div>\n )}\n </div>\n </Table.HeaderCell>\n );\n })}\n </Table.Row>\n ))}\n </Table.Head>\n );\n}\n"],"mappings":";;;;;AAkBA,SAAgB,EAA8B,EAC1C,UACA,oBACA,kBACA,2BACA,oBACA,uBACA,uBACA,oBACA,mBACA,iBACoB;CACpB,OACI,kBAAC,EAAM,MAAP,EAAA,UACK,EAAM,gBAAgB,CAAC,CAAC,KAAI,MACzB,kBAAC,EAAM,KAAP,EAAA,UACK,EAAY,QAAQ,KAAI,MAAU;EAG/B,IAAI,EADa,EAAO,OAAO,QACG,IAAO,OAAO;EAGnC,EAAO,OAAO,UAAU;EACrC,IAAM,IAAa,KAAiB,EAAO,OAAO,WAAW;EAE7D,OACI,kBAAC,EAAM,YAAP;GAEI,WAAW;oBACvB,IAAa,mBAAmB,GAAG;oBACnC,IAAyB,gBAAgB,GAAG;oBAC5C,MAAoB,EAAO,KAAK,oDAAoD,GAAG;;GAE3E,SAAS,IAAa,EAAO,OAAO,wBAAwB,IAAI,KAAA;GAChE,cAAc,KAAqB,MAAK,EAAmB,EAAO,QAAQ,CAAC,IAAI,KAAA;GAC/E,cAAc,KAAqB,MAAK,EAAmB,EAAO,QAAQ,CAAC,IAAI,KAAA;GAC/E,WAAW;GACX,aAAa,KAAyB,MAAK,EAAgB,GAAG,EAAO,EAAE,IAAI,KAAA;GAC3E,YAAY,IAAyB,IAAiB,KAAA;GACtD,QAAQ,KAAyB,MAAK;IAGlC,AAFA,EAAW,GAAG,EAAO,EAAE,GAEvB,SAAS,iBAAiB,4EAA4E,CAAC,CAAC,SAAQ,MAAM;KASlH,AARA,EAAG,UAAU,OAAO,eAAe,GACnC,EAAG,UAAU,OAAO,eAAe,GACnC,EAAG,UAAU,OAAO,WAAW,GAC/B,EAAG,UAAU,OAAO,YAAY,GAChC,EAAG,UAAU,OAAO,UAAU,GAC9B,EAAG,UAAU,OAAO,YAAY,GAChC,EAAG,UAAU,OAAO,gBAAgB,GACpC,EAAG,UAAU,OAAO,iBAAiB,GACrC,EAAG,UAAU,OAAO,qBAAqB;IAC7C,CAAC;GACL,IAAI,KAAA;GAEJ,UAAA,kBAAC,OAAD;IAAK,WAAU;IAAf,UAAA,CACK,EAAO,gBAAgB,OACpB,kBAAC,OAAD;KAAK,WAAU;KACV,UAAA,EACG,EAAO,OAAO,UAAU,QACxB,EAAO,WAAW,CACtB;IACC,CAAA,GAGR,KACG,kBAAC,OAAD;KAAK,WAAU;KACX,UAAA,kBAAC,QAAD;MAAM,WAAU;MACX,UAAA,EAAO,OAAO,YAAY,IACvB,EAAO,OAAO,YAAY,MAAM,SAC5B,kBAAC,OAAD;OACI,OAAM;OACN,WAAU;OACV,MAAK;OACL,SAAQ;OACR,QAAO;OAEP,UAAA,kBAAC,QAAD;QAAM,eAAc;QAAQ,gBAAe;QAAQ,aAAY;QAAI,GAAE;OAAiB,CAAA;MACrF,CAAA,IAEL,kBAAC,OAAD;OACI,OAAM;OACN,WAAU;OACV,MAAK;OACL,SAAQ;OACR,QAAO;OAEP,UAAA,kBAAC,QAAD;QAAM,eAAc;QAAQ,gBAAe;QAAQ,aAAY;QAAI,GAAE;OAAkB,CAAA;MACtF,CAAA,IAGT,kBAAC,OAAD;OACI,OAAM;OACN,WAAU;OACV,MAAK;OACL,SAAQ;OACR,QAAO;OAEP,UAAA,kBAAC,QAAD;QAAM,eAAc;QAAQ,gBAAe;QAAQ,aAAY;QAAI,GAAE;OAAoD,CAAA;MACxH,CAAA;KAEP,CAAA;IACL,CAAA,CAER;;EACS,GA9ET,EAAO,EA8EE;CAE1B,CAAC,EACM,GA7FK,EAAY,EA6FjB,CACd,EACO,CAAA;AAEpB"}