dishui 0.0.64 → 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 (504) 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 +11 -13
  5. package/dist/components/Badge/index.js.map +1 -1
  6. package/dist/components/Button/index.js +62 -86
  7. package/dist/components/Button/index.js.map +1 -1
  8. package/dist/components/Card/index.d.ts +87 -0
  9. package/dist/components/Card/index.js +178 -44
  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 -63
  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.d.ts +4 -1
  30. package/dist/components/EmptyState/index.js +24 -24
  31. package/dist/components/EmptyState/index.js.map +1 -1
  32. package/dist/components/FileUploader/DropZone.js +134 -136
  33. package/dist/components/FileUploader/DropZone.js.map +1 -1
  34. package/dist/components/FileUploader/FileItem.js +159 -163
  35. package/dist/components/FileUploader/FileItem.js.map +1 -1
  36. package/dist/components/FileUploader/FileUploader.js +126 -127
  37. package/dist/components/FileUploader/FileUploader.js.map +1 -1
  38. package/dist/components/FileUploader/UploadQueue.js +62 -62
  39. package/dist/components/FileUploader/UploadQueue.js.map +1 -1
  40. package/dist/components/FloatWindow/index.d.ts +28 -0
  41. package/dist/components/GridLayout/index.d.ts +42 -0
  42. package/dist/components/Icon/index.d.ts +24 -0
  43. package/dist/components/Icon/index.js +26 -0
  44. package/dist/components/Icon/index.js.map +1 -0
  45. package/dist/components/Image/index.d.ts +33 -0
  46. package/dist/components/Image/index.js +44 -0
  47. package/dist/components/Image/index.js.map +1 -0
  48. package/dist/components/Input/index.js +196 -197
  49. package/dist/components/Input/index.js.map +1 -1
  50. package/dist/components/Label/index.js +62 -73
  51. package/dist/components/Label/index.js.map +1 -1
  52. package/dist/components/Layout/index.js +134 -139
  53. package/dist/components/Layout/index.js.map +1 -1
  54. package/dist/components/List/index.js +45 -43
  55. package/dist/components/List/index.js.map +1 -1
  56. package/dist/components/Markdown/Markdown.js +106 -103
  57. package/dist/components/Markdown/Markdown.js.map +1 -1
  58. package/dist/components/Markdown/codeThemes.js +24 -33
  59. package/dist/components/Markdown/codeThemes.js.map +1 -1
  60. package/dist/components/Markdown/markdownComponents.js +203 -208
  61. package/dist/components/Markdown/markdownComponents.js.map +1 -1
  62. package/dist/components/Markdown/parseCodeBlockMeta.js +22 -22
  63. package/dist/components/Markdown/parseCodeBlockMeta.js.map +1 -1
  64. package/dist/components/Markdown/useMarkdownSource.js +46 -46
  65. package/dist/components/Markdown/useMarkdownSource.js.map +1 -1
  66. package/dist/components/Markdown/useMarkmapRenderer.js +35 -36
  67. package/dist/components/Markdown/useMarkmapRenderer.js.map +1 -1
  68. package/dist/components/Markdown/useMermaidRenderer.js +41 -42
  69. package/dist/components/Markdown/useMermaidRenderer.js.map +1 -1
  70. package/dist/components/Modal/index.d.ts +7 -3
  71. package/dist/components/Modal/index.js +82 -70
  72. package/dist/components/Modal/index.js.map +1 -1
  73. package/dist/components/MultipleChoice/index.d.ts +44 -0
  74. package/dist/components/MultipleChoice/index.js +52 -0
  75. package/dist/components/MultipleChoice/index.js.map +1 -0
  76. package/dist/components/Notification/index.d.ts +17 -0
  77. package/dist/components/Page/index.d.ts +58 -0
  78. package/dist/components/Page/index.js +43 -0
  79. package/dist/components/Page/index.js.map +1 -0
  80. package/dist/components/PageHeader/index.js +28 -28
  81. package/dist/components/PageHeader/index.js.map +1 -1
  82. package/dist/components/ProtectedRoute/index.js +8 -9
  83. package/dist/components/ProtectedRoute/index.js.map +1 -1
  84. package/dist/components/Row/index.d.ts +28 -0
  85. package/dist/components/Row/index.js +30 -0
  86. package/dist/components/Row/index.js.map +1 -0
  87. package/dist/components/Select/index.js +251 -257
  88. package/dist/components/Select/index.js.map +1 -1
  89. package/dist/components/SidebarToggleButton/index.js +56 -59
  90. package/dist/components/SidebarToggleButton/index.js.map +1 -1
  91. package/dist/components/Slider/index.d.ts +39 -0
  92. package/dist/components/Slider/index.js +52 -0
  93. package/dist/components/Slider/index.js.map +1 -0
  94. package/dist/components/StatCard/index.d.ts +31 -1
  95. package/dist/components/StatCard/index.js +189 -58
  96. package/dist/components/StatCard/index.js.map +1 -1
  97. package/dist/components/Switch/index.d.ts +34 -0
  98. package/dist/components/Switch/index.js +55 -0
  99. package/dist/components/Switch/index.js.map +1 -0
  100. package/dist/components/Tab/index.d.ts +40 -0
  101. package/dist/components/Table/index.js +109 -103
  102. package/dist/components/Table/index.js.map +1 -1
  103. package/dist/components/Tabs/index.d.ts +19 -5
  104. package/dist/components/Tabs/index.js +30 -21
  105. package/dist/components/Tabs/index.js.map +1 -1
  106. package/dist/components/Text/index.d.ts +43 -0
  107. package/dist/components/Text/index.js +55 -0
  108. package/dist/components/Text/index.js.map +1 -0
  109. package/dist/components/Tooltip/index.d.ts +23 -0
  110. package/dist/components/Tooltip/index.js +34 -0
  111. package/dist/components/Tooltip/index.js.map +1 -0
  112. package/dist/components/Tree/Tree.js +205 -205
  113. package/dist/components/Tree/Tree.js.map +1 -1
  114. package/dist/components/pro/ArticleContextMenu/index.js +86 -87
  115. package/dist/components/pro/ArticleContextMenu/index.js.map +1 -1
  116. package/dist/components/pro/ArticleControl/ArticleControl2.js +250 -250
  117. package/dist/components/pro/ArticleControl/ArticleControl2.js.map +1 -1
  118. package/dist/components/pro/ArticleControl/buildHeadingTree.js +31 -32
  119. package/dist/components/pro/ArticleControl/buildHeadingTree.js.map +1 -1
  120. package/dist/components/pro/ArticleControl/useArticleToc.js +100 -102
  121. package/dist/components/pro/ArticleControl/useArticleToc.js.map +1 -1
  122. package/dist/components/pro/Calendar/Calendar.d.ts +10 -0
  123. package/dist/components/pro/Calendar/hooks/useCalendarDrag.d.ts +47 -0
  124. package/dist/components/pro/Calendar/hooks/useCalendarState.d.ts +56 -0
  125. package/dist/components/pro/Calendar/index.d.ts +7 -0
  126. package/dist/components/pro/Calendar/types.d.ts +151 -0
  127. package/dist/components/pro/Calendar/utils.d.ts +94 -0
  128. package/dist/components/pro/Chat/Chat.d.ts +6 -0
  129. package/dist/components/pro/Chat/index.d.ts +2 -0
  130. package/dist/components/pro/Chat/types.d.ts +84 -0
  131. package/dist/components/pro/CodeEditor/editors/CodeEditor.js +287 -320
  132. package/dist/components/pro/CodeEditor/editors/CodeEditor.js.map +1 -1
  133. package/dist/components/pro/CodeEditor/editors/MarkdownEditor.js +167 -221
  134. package/dist/components/pro/CodeEditor/editors/MarkdownEditor.js.map +1 -1
  135. package/dist/components/pro/CodeEditor/editors/markdownExtensions.js +594 -613
  136. package/dist/components/pro/CodeEditor/editors/markdownExtensions.js.map +1 -1
  137. package/dist/components/pro/CodeEditor/extensions/contextMenu.js +54 -55
  138. package/dist/components/pro/CodeEditor/extensions/contextMenu.js.map +1 -1
  139. package/dist/components/pro/CodeEditor/extensions/index.js +152 -160
  140. package/dist/components/pro/CodeEditor/extensions/index.js.map +1 -1
  141. package/dist/components/pro/CodeEditor/langs/index.js +7 -15
  142. package/dist/components/pro/CodeEditor/langs/index.js.map +1 -1
  143. package/dist/components/pro/CodeEditor/langs/javascript.js +11 -48
  144. package/dist/components/pro/CodeEditor/langs/javascript.js.map +1 -1
  145. package/dist/components/pro/CodeEditor/langs/python.js +4 -40
  146. package/dist/components/pro/CodeEditor/langs/python.js.map +1 -1
  147. package/dist/components/pro/CodeEditor/langs/snippets.js +118 -147
  148. package/dist/components/pro/CodeEditor/langs/snippets.js.map +1 -1
  149. package/dist/components/pro/CodeEditor/panels/FootnotePanel.js +153 -153
  150. package/dist/components/pro/CodeEditor/panels/FootnotePanel.js.map +1 -1
  151. package/dist/components/pro/CodeEditor/panels/HistoryPanel.js +180 -190
  152. package/dist/components/pro/CodeEditor/panels/HistoryPanel.js.map +1 -1
  153. package/dist/components/pro/CodeEditor/panels/OutlinePanel.js +130 -137
  154. package/dist/components/pro/CodeEditor/panels/OutlinePanel.js.map +1 -1
  155. package/dist/components/pro/CodeEditor/panels/TableOfContentsPanel.js +228 -242
  156. package/dist/components/pro/CodeEditor/panels/TableOfContentsPanel.js.map +1 -1
  157. package/dist/components/pro/CodeEditor/panels/VariablePanel.js +208 -248
  158. package/dist/components/pro/CodeEditor/panels/VariablePanel.js.map +1 -1
  159. package/dist/components/pro/CodeEditor/themes.js +513 -483
  160. package/dist/components/pro/CodeEditor/themes.js.map +1 -1
  161. package/dist/components/pro/CodeEditor/types.d.ts +1 -1
  162. package/dist/components/pro/CodeEditor/utils.js +171 -175
  163. package/dist/components/pro/CodeEditor/utils.js.map +1 -1
  164. package/dist/components/pro/DataTable/DataTable.js +305 -305
  165. package/dist/components/pro/DataTable/DataTable.js.map +1 -1
  166. package/dist/components/pro/DataTable/Filters.js +299 -314
  167. package/dist/components/pro/DataTable/Filters.js.map +1 -1
  168. package/dist/components/pro/DataTable/PivotPanel.js +203 -204
  169. package/dist/components/pro/DataTable/PivotPanel.js.map +1 -1
  170. package/dist/components/pro/DataTable/PivotView.js +142 -141
  171. package/dist/components/pro/DataTable/PivotView.js.map +1 -1
  172. package/dist/components/pro/DataTable/components/BulkActions.js +42 -42
  173. package/dist/components/pro/DataTable/components/BulkActions.js.map +1 -1
  174. package/dist/components/pro/DataTable/components/ColumnSelector.js +84 -84
  175. package/dist/components/pro/DataTable/components/ColumnSelector.js.map +1 -1
  176. package/dist/components/pro/DataTable/components/FilterBar.js +58 -58
  177. package/dist/components/pro/DataTable/components/FilterBar.js.map +1 -1
  178. package/dist/components/pro/DataTable/components/TableBody.js +93 -94
  179. package/dist/components/pro/DataTable/components/TableBody.js.map +1 -1
  180. package/dist/components/pro/DataTable/components/TableHeader.js +78 -78
  181. package/dist/components/pro/DataTable/components/TableHeader.js.map +1 -1
  182. package/dist/components/pro/DataTable/components/TablePagination.js +77 -77
  183. package/dist/components/pro/DataTable/components/TablePagination.js.map +1 -1
  184. package/dist/components/pro/DataTable/components/TableToolbar.js +40 -40
  185. package/dist/components/pro/DataTable/components/TableToolbar.js.map +1 -1
  186. package/dist/components/pro/DataTable/extension.js +5 -5
  187. package/dist/components/pro/DataTable/extension.js.map +1 -1
  188. package/dist/components/pro/DataTable/pivotEngine.js +84 -92
  189. package/dist/components/pro/DataTable/pivotEngine.js.map +1 -1
  190. package/dist/components/pro/DataTable/pivotExtension.js +93 -93
  191. package/dist/components/pro/DataTable/pivotExtension.js.map +1 -1
  192. package/dist/components/pro/DataTable/rowDetailExtension.js +30 -30
  193. package/dist/components/pro/DataTable/rowDetailExtension.js.map +1 -1
  194. package/dist/components/pro/DataTable/tanstack-table.js +45 -62
  195. package/dist/components/pro/DataTable/tanstack-table.js.map +1 -1
  196. package/dist/components/pro/DataTable/treeDataUtils.js +37 -48
  197. package/dist/components/pro/DataTable/treeDataUtils.js.map +1 -1
  198. package/dist/components/pro/DataTable/useColumnDragReorder.js +68 -68
  199. package/dist/components/pro/DataTable/useColumnDragReorder.js.map +1 -1
  200. package/dist/components/pro/DataTable/utils.js +156 -168
  201. package/dist/components/pro/DataTable/utils.js.map +1 -1
  202. package/dist/components/pro/FileExplorer/Breadcrumb.js +180 -180
  203. package/dist/components/pro/FileExplorer/Breadcrumb.js.map +1 -1
  204. package/dist/components/pro/FileExplorer/CreateDialog.js +78 -78
  205. package/dist/components/pro/FileExplorer/CreateDialog.js.map +1 -1
  206. package/dist/components/pro/FileExplorer/FileExplorer.js +202 -205
  207. package/dist/components/pro/FileExplorer/FileExplorer.js.map +1 -1
  208. package/dist/components/pro/FileExplorer/FileIcon.js +190 -190
  209. package/dist/components/pro/FileExplorer/FileIcon.js.map +1 -1
  210. package/dist/components/pro/FileExplorer/GridView.js +100 -100
  211. package/dist/components/pro/FileExplorer/GridView.js.map +1 -1
  212. package/dist/components/pro/FileExplorer/ListView.js +209 -209
  213. package/dist/components/pro/FileExplorer/ListView.js.map +1 -1
  214. package/dist/components/pro/FileExplorer/Toolbar.js +199 -199
  215. package/dist/components/pro/FileExplorer/Toolbar.js.map +1 -1
  216. package/dist/components/pro/Flow/Flow.js +920 -946
  217. package/dist/components/pro/Flow/Flow.js.map +1 -1
  218. package/dist/components/pro/Flow/FlowCanvas.js +1626 -1663
  219. package/dist/components/pro/Flow/FlowCanvas.js.map +1 -1
  220. package/dist/components/pro/Flow/archify/build.js +85 -94
  221. package/dist/components/pro/Flow/archify/build.js.map +1 -1
  222. package/dist/components/pro/Flow/archify/convert.js +512 -519
  223. package/dist/components/pro/Flow/archify/convert.js.map +1 -1
  224. package/dist/components/pro/Flow/archify/palette.js +87 -104
  225. package/dist/components/pro/Flow/archify/palette.js.map +1 -1
  226. package/dist/components/pro/Flow/archify/presets.js +34 -37
  227. package/dist/components/pro/Flow/archify/presets.js.map +1 -1
  228. package/dist/components/pro/Flow/archify/spec.js +7 -7
  229. package/dist/components/pro/Flow/archify/spec.js.map +1 -1
  230. package/dist/components/pro/Flow/canvas/AlignmentGuides.js +25 -25
  231. package/dist/components/pro/Flow/canvas/AlignmentGuides.js.map +1 -1
  232. package/dist/components/pro/Flow/canvas/GridRenderer.js +54 -55
  233. package/dist/components/pro/Flow/canvas/GridRenderer.js.map +1 -1
  234. package/dist/components/pro/Flow/canvas/MiniMapRenderer.js +54 -58
  235. package/dist/components/pro/Flow/canvas/MiniMapRenderer.js.map +1 -1
  236. package/dist/components/pro/Flow/canvas/PixiApp.js +105 -102
  237. package/dist/components/pro/Flow/canvas/PixiApp.js.map +1 -1
  238. package/dist/components/pro/Flow/canvas/SelectionOverlay.js +38 -38
  239. package/dist/components/pro/Flow/canvas/SelectionOverlay.js.map +1 -1
  240. package/dist/components/pro/Flow/canvas/ViewportContainer.js +117 -117
  241. package/dist/components/pro/Flow/canvas/ViewportContainer.js.map +1 -1
  242. package/dist/components/pro/Flow/constants.js +266 -278
  243. package/dist/components/pro/Flow/constants.js.map +1 -1
  244. package/dist/components/pro/Flow/context/FlowAIContext.js +27 -28
  245. package/dist/components/pro/Flow/context/FlowAIContext.js.map +1 -1
  246. package/dist/components/pro/Flow/context/FlowContext.js +60 -61
  247. package/dist/components/pro/Flow/context/FlowContext.js.map +1 -1
  248. package/dist/components/pro/Flow/context/FlowUIContext.js +115 -117
  249. package/dist/components/pro/Flow/context/FlowUIContext.js.map +1 -1
  250. package/dist/components/pro/Flow/edges/EdgeRenderer.js +135 -138
  251. package/dist/components/pro/Flow/edges/EdgeRenderer.js.map +1 -1
  252. package/dist/components/pro/Flow/edges/edgeMarkers.js +11 -14
  253. package/dist/components/pro/Flow/edges/edgeMarkers.js.map +1 -1
  254. package/dist/components/pro/Flow/edges/edgePaths.js +351 -367
  255. package/dist/components/pro/Flow/edges/edgePaths.js.map +1 -1
  256. package/dist/components/pro/Flow/hooks/useAlignmentGuides.js +49 -52
  257. package/dist/components/pro/Flow/hooks/useAlignmentGuides.js.map +1 -1
  258. package/dist/components/pro/Flow/hooks/useClipboard.js +154 -154
  259. package/dist/components/pro/Flow/hooks/useClipboard.js.map +1 -1
  260. package/dist/components/pro/Flow/hooks/useCompactMode.js +17 -17
  261. package/dist/components/pro/Flow/hooks/useCompactMode.js.map +1 -1
  262. package/dist/components/pro/Flow/hooks/useDeleteSelection.js +40 -40
  263. package/dist/components/pro/Flow/hooks/useDeleteSelection.js.map +1 -1
  264. package/dist/components/pro/Flow/hooks/useDraggablePanel.js +51 -51
  265. package/dist/components/pro/Flow/hooks/useDraggablePanel.js.map +1 -1
  266. package/dist/components/pro/Flow/hooks/useEdgeMutations.js +157 -157
  267. package/dist/components/pro/Flow/hooks/useEdgeMutations.js.map +1 -1
  268. package/dist/components/pro/Flow/hooks/useFlowImportExport.js +190 -201
  269. package/dist/components/pro/Flow/hooks/useFlowImportExport.js.map +1 -1
  270. package/dist/components/pro/Flow/hooks/useKeyboardShortcuts.js +32 -38
  271. package/dist/components/pro/Flow/hooks/useKeyboardShortcuts.js.map +1 -1
  272. package/dist/components/pro/Flow/hooks/useLayoutActions.js +172 -182
  273. package/dist/components/pro/Flow/hooks/useLayoutActions.js.map +1 -1
  274. package/dist/components/pro/Flow/hooks/useLineMutations.js +57 -57
  275. package/dist/components/pro/Flow/hooks/useLineMutations.js.map +1 -1
  276. package/dist/components/pro/Flow/hooks/useMindMap.js +229 -238
  277. package/dist/components/pro/Flow/hooks/useMindMap.js.map +1 -1
  278. package/dist/components/pro/Flow/hooks/useNodeMutations.js +102 -102
  279. package/dist/components/pro/Flow/hooks/useNodeMutations.js.map +1 -1
  280. package/dist/components/pro/Flow/hooks/usePdfExport.js +55 -56
  281. package/dist/components/pro/Flow/hooks/usePdfExport.js.map +1 -1
  282. package/dist/components/pro/Flow/hooks/usePixiApp.js +55 -57
  283. package/dist/components/pro/Flow/hooks/usePixiApp.js.map +1 -1
  284. package/dist/components/pro/Flow/hooks/useResizablePanel.js +31 -31
  285. package/dist/components/pro/Flow/hooks/useResizablePanel.js.map +1 -1
  286. package/dist/components/pro/Flow/hooks/useSelection.js +69 -69
  287. package/dist/components/pro/Flow/hooks/useSelection.js.map +1 -1
  288. package/dist/components/pro/Flow/hooks/useUndoRedo.js +27 -27
  289. package/dist/components/pro/Flow/hooks/useUndoRedo.js.map +1 -1
  290. package/dist/components/pro/Flow/hooks/useViewport.js +28 -28
  291. package/dist/components/pro/Flow/hooks/useViewport.js.map +1 -1
  292. package/dist/components/pro/Flow/lines/FreehandTool.js +63 -63
  293. package/dist/components/pro/Flow/lines/FreehandTool.js.map +1 -1
  294. package/dist/components/pro/Flow/lines/GeometricLineTool.js +80 -80
  295. package/dist/components/pro/Flow/lines/GeometricLineTool.js.map +1 -1
  296. package/dist/components/pro/Flow/lines/LineRenderer.js +88 -88
  297. package/dist/components/pro/Flow/lines/LineRenderer.js.map +1 -1
  298. package/dist/components/pro/Flow/lines/lineSmoothing.js +32 -34
  299. package/dist/components/pro/Flow/lines/lineSmoothing.js.map +1 -1
  300. package/dist/components/pro/Flow/nodes/DataNodeView.js +236 -222
  301. package/dist/components/pro/Flow/nodes/DataNodeView.js.map +1 -1
  302. package/dist/components/pro/Flow/nodes/MediaContent.js +236 -246
  303. package/dist/components/pro/Flow/nodes/MediaContent.js.map +1 -1
  304. package/dist/components/pro/Flow/nodes/MediaOverlay.js +63 -63
  305. package/dist/components/pro/Flow/nodes/MediaOverlay.js.map +1 -1
  306. package/dist/components/pro/Flow/nodes/Model3DView.js +111 -113
  307. package/dist/components/pro/Flow/nodes/Model3DView.js.map +1 -1
  308. package/dist/components/pro/Flow/nodes/NodeHandles.js +74 -80
  309. package/dist/components/pro/Flow/nodes/NodeHandles.js.map +1 -1
  310. package/dist/components/pro/Flow/nodes/NodeRenderer.js +303 -314
  311. package/dist/components/pro/Flow/nodes/NodeRenderer.js.map +1 -1
  312. package/dist/components/pro/Flow/nodes/NodeText.js +25 -29
  313. package/dist/components/pro/Flow/nodes/NodeText.js.map +1 -1
  314. package/dist/components/pro/Flow/nodes/aiClient.js +124 -137
  315. package/dist/components/pro/Flow/nodes/aiClient.js.map +1 -1
  316. package/dist/components/pro/Flow/nodes/animAnchors.js +42 -49
  317. package/dist/components/pro/Flow/nodes/animAnchors.js.map +1 -1
  318. package/dist/components/pro/Flow/nodes/dataUtils.js +246 -267
  319. package/dist/components/pro/Flow/nodes/dataUtils.js.map +1 -1
  320. package/dist/components/pro/Flow/nodes/nodeUtils.js +23 -28
  321. package/dist/components/pro/Flow/nodes/nodeUtils.js.map +1 -1
  322. package/dist/components/pro/Flow/nodes/shapes.js +556 -591
  323. package/dist/components/pro/Flow/nodes/shapes.js.map +1 -1
  324. package/dist/components/pro/Flow/nodes/svgIconTexture.js +37 -39
  325. package/dist/components/pro/Flow/nodes/svgIconTexture.js.map +1 -1
  326. package/dist/components/pro/Flow/nodes/svgIcons.js +684 -689
  327. package/dist/components/pro/Flow/nodes/svgIcons.js.map +1 -1
  328. package/dist/components/pro/Flow/panels/AIPanel.js +464 -491
  329. package/dist/components/pro/Flow/panels/AIPanel.js.map +1 -1
  330. package/dist/components/pro/Flow/panels/Breadcrumb.js +41 -41
  331. package/dist/components/pro/Flow/panels/Breadcrumb.js.map +1 -1
  332. package/dist/components/pro/Flow/panels/ContextMenu.js +37 -37
  333. package/dist/components/pro/Flow/panels/ContextMenu.js.map +1 -1
  334. package/dist/components/pro/Flow/panels/DataInspectorSection.js +428 -432
  335. package/dist/components/pro/Flow/panels/DataInspectorSection.js.map +1 -1
  336. package/dist/components/pro/Flow/panels/ExpandableTextarea.js +61 -62
  337. package/dist/components/pro/Flow/panels/ExpandableTextarea.js.map +1 -1
  338. package/dist/components/pro/Flow/panels/FlowPanelGroup.js +114 -114
  339. package/dist/components/pro/Flow/panels/FlowPanelGroup.js.map +1 -1
  340. package/dist/components/pro/Flow/panels/FlowToolbar.js +347 -391
  341. package/dist/components/pro/Flow/panels/FlowToolbar.js.map +1 -1
  342. package/dist/components/pro/Flow/panels/InspectorPanel.js +1792 -1798
  343. package/dist/components/pro/Flow/panels/InspectorPanel.js.map +1 -1
  344. package/dist/components/pro/Flow/panels/OutlinePanel.js +242 -244
  345. package/dist/components/pro/Flow/panels/OutlinePanel.js.map +1 -1
  346. package/dist/components/pro/Flow/panels/PresentationMode.js +137 -138
  347. package/dist/components/pro/Flow/panels/PresentationMode.js.map +1 -1
  348. package/dist/components/pro/Flow/panels/ProjectTitle.js +46 -46
  349. package/dist/components/pro/Flow/panels/ProjectTitle.js.map +1 -1
  350. package/dist/components/pro/Flow/panels/ShapePalette.js +557 -567
  351. package/dist/components/pro/Flow/panels/ShapePalette.js.map +1 -1
  352. package/dist/components/pro/Flow/panels/toolbarIcons.d.ts +0 -1
  353. package/dist/components/pro/Flow/panels/toolbarIcons.js +508 -557
  354. package/dist/components/pro/Flow/panels/toolbarIcons.js.map +1 -1
  355. package/dist/components/pro/Flow/types.js +26 -26
  356. package/dist/components/pro/Flow/types.js.map +1 -1
  357. package/dist/components/pro/Flow/utils/dashedLine.js +113 -117
  358. package/dist/components/pro/Flow/utils/dashedLine.js.map +1 -1
  359. package/dist/components/pro/Flow/utils/gradient.js +55 -55
  360. package/dist/components/pro/Flow/utils/gradient.js.map +1 -1
  361. package/dist/components/pro/Flow/utils/pdfExport.js +50 -89
  362. package/dist/components/pro/Flow/utils/pdfExport.js.map +1 -1
  363. package/dist/components/pro/Flow/utils/themeColor.js +185 -195
  364. package/dist/components/pro/Flow/utils/themeColor.js.map +1 -1
  365. package/dist/components/pro/Gantt/Gantt.d.ts +7 -0
  366. package/dist/components/pro/Gantt/hooks/useGanttDrag.d.ts +31 -0
  367. package/dist/components/pro/Gantt/hooks/useGanttState.d.ts +58 -0
  368. package/dist/components/pro/Gantt/index.d.ts +6 -0
  369. package/dist/components/pro/Gantt/types.d.ts +478 -0
  370. package/dist/components/pro/Gantt/utils.d.ts +124 -0
  371. package/dist/components/pro/Resizable/Resizable.d.ts +30 -0
  372. package/dist/components/pro/Resizable/index.d.ts +2 -0
  373. package/dist/components/pro/RichTextEditor/AIRewrite.js +323 -334
  374. package/dist/components/pro/RichTextEditor/AIRewrite.js.map +1 -1
  375. package/dist/components/pro/RichTextEditor/BlockHandle.js +314 -316
  376. package/dist/components/pro/RichTextEditor/BlockHandle.js.map +1 -1
  377. package/dist/components/pro/RichTextEditor/BubbleToolbar.js +97 -97
  378. package/dist/components/pro/RichTextEditor/BubbleToolbar.js.map +1 -1
  379. package/dist/components/pro/RichTextEditor/CommentDialog.js +88 -88
  380. package/dist/components/pro/RichTextEditor/CommentDialog.js.map +1 -1
  381. package/dist/components/pro/RichTextEditor/CommentPanel.js +240 -240
  382. package/dist/components/pro/RichTextEditor/CommentPanel.js.map +1 -1
  383. package/dist/components/pro/RichTextEditor/CommentPopover.js +234 -234
  384. package/dist/components/pro/RichTextEditor/CommentPopover.js.map +1 -1
  385. package/dist/components/pro/RichTextEditor/ContextMenu.js +251 -252
  386. package/dist/components/pro/RichTextEditor/ContextMenu.js.map +1 -1
  387. package/dist/components/pro/RichTextEditor/RichTextEditor.js +267 -271
  388. package/dist/components/pro/RichTextEditor/RichTextEditor.js.map +1 -1
  389. package/dist/components/pro/RichTextEditor/SlashMenu.js +214 -214
  390. package/dist/components/pro/RichTextEditor/SlashMenu.js.map +1 -1
  391. package/dist/components/pro/RichTextEditor/Toolbar/ColorPicker.js +44 -75
  392. package/dist/components/pro/RichTextEditor/Toolbar/ColorPicker.js.map +1 -1
  393. package/dist/components/pro/RichTextEditor/Toolbar/FloatingDialogMenu.js +261 -261
  394. package/dist/components/pro/RichTextEditor/Toolbar/FloatingDialogMenu.js.map +1 -1
  395. package/dist/components/pro/RichTextEditor/Toolbar/MarkdownTemplates.js +172 -526
  396. package/dist/components/pro/RichTextEditor/Toolbar/MarkdownTemplates.js.map +1 -1
  397. package/dist/components/pro/RichTextEditor/Toolbar/SelectDropdown.js +112 -114
  398. package/dist/components/pro/RichTextEditor/Toolbar/SelectDropdown.js.map +1 -1
  399. package/dist/components/pro/RichTextEditor/Toolbar/TableOpsMenu.js +194 -194
  400. package/dist/components/pro/RichTextEditor/Toolbar/TableOpsMenu.js.map +1 -1
  401. package/dist/components/pro/RichTextEditor/Toolbar/Toolbar.js +970 -973
  402. package/dist/components/pro/RichTextEditor/Toolbar/Toolbar.js.map +1 -1
  403. package/dist/components/pro/RichTextEditor/Toolbar/ToolbarButton.js +11 -12
  404. package/dist/components/pro/RichTextEditor/Toolbar/ToolbarButton.js.map +1 -1
  405. package/dist/components/pro/RichTextEditor/extensions/CodeBlockView.js +310 -344
  406. package/dist/components/pro/RichTextEditor/extensions/CodeBlockView.js.map +1 -1
  407. package/dist/components/pro/RichTextEditor/extensions/CommentMark.js +38 -39
  408. package/dist/components/pro/RichTextEditor/extensions/CommentMark.js.map +1 -1
  409. package/dist/components/pro/RichTextEditor/extensions/FloatingDialog.js +620 -625
  410. package/dist/components/pro/RichTextEditor/extensions/FloatingDialog.js.map +1 -1
  411. package/dist/components/pro/RichTextEditor/extensions/FontSize.js +25 -25
  412. package/dist/components/pro/RichTextEditor/extensions/FontSize.js.map +1 -1
  413. package/dist/components/pro/RichTextEditor/extensions/MarkdownBlock.js +167 -176
  414. package/dist/components/pro/RichTextEditor/extensions/MarkdownBlock.js.map +1 -1
  415. package/dist/components/pro/RichTextEditor/types.js +75 -75
  416. package/dist/components/pro/RichTextEditor/types.js.map +1 -1
  417. package/dist/contexts/AppContext.d.ts +1 -1
  418. package/dist/contexts/AppContext.js +216 -221
  419. package/dist/contexts/AppContext.js.map +1 -1
  420. package/dist/data-table.js +15 -41
  421. package/dist/data-table.js.map +1 -1
  422. package/dist/dishui.css +1 -1
  423. package/dist/flow.js +27 -83
  424. package/dist/hooks/useClickOutside.js +18 -18
  425. package/dist/hooks/useClickOutside.js.map +1 -1
  426. package/dist/hooks/useContainerElement.js +9 -9
  427. package/dist/hooks/useContainerElement.js.map +1 -1
  428. package/dist/hooks/useControllableState.js +33 -35
  429. package/dist/hooks/useControllableState.js.map +1 -1
  430. package/dist/hooks/useCopyToClipboard.js +16 -16
  431. package/dist/hooks/useCopyToClipboard.js.map +1 -1
  432. package/dist/hooks/useDebounce.js +14 -14
  433. package/dist/hooks/useDebounce.js.map +1 -1
  434. package/dist/hooks/useDraggable.js +50 -50
  435. package/dist/hooks/useDraggable.js.map +1 -1
  436. package/dist/hooks/useTableColumns.js +39 -42
  437. package/dist/hooks/useTableColumns.js.map +1 -1
  438. package/dist/hooks/useTableData.js +67 -68
  439. package/dist/hooks/useTableData.js.map +1 -1
  440. package/dist/index-nostyled.d.ts +8 -0
  441. package/dist/index.d.ts +29 -1
  442. package/dist/index.js +106 -236
  443. package/dist/layouts/MainLayout.js +56 -56
  444. package/dist/layouts/MainLayout.js.map +1 -1
  445. package/dist/layouts/Navbar.js +214 -214
  446. package/dist/layouts/Navbar.js.map +1 -1
  447. package/dist/layouts/Sidebar.js +184 -165
  448. package/dist/layouts/Sidebar.js.map +1 -1
  449. package/dist/layouts/headbar/Headbar.js +25 -25
  450. package/dist/layouts/headbar/Headbar.js.map +1 -1
  451. package/dist/layouts/headbar/HeadbarLangSwitcher.js +39 -39
  452. package/dist/layouts/headbar/HeadbarLangSwitcher.js.map +1 -1
  453. package/dist/layouts/headbar/HeadbarSearch.js +120 -120
  454. package/dist/layouts/headbar/HeadbarSearch.js.map +1 -1
  455. package/dist/layouts/headbar/HeadbarThemeSwitcher.js +27 -27
  456. package/dist/layouts/headbar/HeadbarThemeSwitcher.js.map +1 -1
  457. package/dist/layouts/headbar/HeadbarTitle.js +26 -26
  458. package/dist/layouts/headbar/HeadbarTitle.js.map +1 -1
  459. package/dist/lite.js +9 -24
  460. package/dist/markdown.js +4 -9
  461. package/dist/pages/components/Calendar/index.d.ts +3 -0
  462. package/dist/pages/components/Calendar/index.en.d.ts +3 -0
  463. package/dist/pages/components/Calendar/index.zh.d.ts +3 -0
  464. package/dist/pages/components/Chat/index.d.ts +3 -0
  465. package/dist/pages/components/Chat/index.en.d.ts +3 -0
  466. package/dist/pages/components/Chat/index.zh.d.ts +3 -0
  467. package/dist/pages/components/FloatWindow/index.d.ts +3 -0
  468. package/dist/pages/components/FloatWindow/index.en.d.ts +3 -0
  469. package/dist/pages/components/FloatWindow/index.zh.d.ts +3 -0
  470. package/dist/pages/components/Gantt/index.d.ts +3 -0
  471. package/dist/pages/components/Gantt/index.en.d.ts +3 -0
  472. package/dist/pages/components/Gantt/index.zh.d.ts +3 -0
  473. package/dist/pages/components/GridLayout/index.d.ts +3 -0
  474. package/dist/pages/components/GridLayout/index.en.d.ts +3 -0
  475. package/dist/pages/components/GridLayout/index.zh.d.ts +3 -0
  476. package/dist/pages/components/Notification/index.d.ts +3 -0
  477. package/dist/pages/components/Notification/index.en.d.ts +3 -0
  478. package/dist/pages/components/Notification/index.zh.d.ts +3 -0
  479. package/dist/pages/components/Resizable/index.d.ts +3 -0
  480. package/dist/pages/components/Resizable/index.en.d.ts +3 -0
  481. package/dist/pages/components/Resizable/index.zh.d.ts +3 -0
  482. package/dist/pages/components/Tab/index.d.ts +3 -0
  483. package/dist/pages/components/Tab/index.en.d.ts +3 -0
  484. package/dist/pages/components/Tab/index.zh.d.ts +3 -0
  485. package/dist/styles/themeStyles.js +87 -86
  486. package/dist/styles/themeStyles.js.map +1 -1
  487. package/dist/utils/cn.d.ts +13 -0
  488. package/dist/utils/cn.js +16 -0
  489. package/dist/utils/cn.js.map +1 -0
  490. package/dist/utils/i18n.js +690 -602
  491. package/dist/utils/i18n.js.map +1 -1
  492. package/dist/utils/menu.js +94 -94
  493. package/dist/utils/menu.js.map +1 -1
  494. package/dist/utils/rehype-code-meta.js +14 -14
  495. package/dist/utils/rehype-code-meta.js.map +1 -1
  496. package/dist/utils/remark-code-meta.js +9 -9
  497. package/dist/utils/remark-code-meta.js.map +1 -1
  498. package/dist/utils/routerBuilder.js +59 -58
  499. package/dist/utils/routerBuilder.js.map +1 -1
  500. package/dist/utils/selection.js +28 -29
  501. package/dist/utils/selection.js.map +1 -1
  502. package/dist/utils/themes.js +275 -255
  503. package/dist/utils/themes.js.map +1 -1
  504. package/package.json +23 -10
@@ -1,106 +1,112 @@
1
+ import { cn as e } from "../../utils/cn.js";
1
2
  import "react";
2
- import { jsx as e, jsxs as w } from "react/jsx-runtime";
3
- var u = ({ children: l, className: r = "", onClick: t, onMouseEnter: o, onMouseLeave: a }) => /* @__PURE__ */ e("table", {
4
- className: ["table", r].filter(Boolean).join(" "),
5
- onClick: t,
6
- onMouseEnter: o,
7
- onMouseLeave: a,
8
- children: l
9
- }), v = ({ children: l, className: r = "" }) => /* @__PURE__ */ e("thead", {
10
- className: ["table-header-group", r].filter(Boolean).join(" "),
11
- children: l
12
- }), b = ({ children: l, className: r = "" }) => /* @__PURE__ */ e("tbody", {
13
- className: ["table-row-group", r].filter(Boolean).join(" "),
14
- children: l
15
- }), f = ({ children: l, className: r = "", selected: t = !1, onClick: o, onDoubleClick: a, onMouseEnter: n, onMouseLeave: s, ...i }) => /* @__PURE__ */ e("tr", {
16
- className: [
17
- "table-row",
18
- t ? "bg-base-200" : "",
19
- "hover:bg-base-100",
20
- r
21
- ].filter(Boolean).join(" "),
22
- onClick: o,
23
- onDoubleClick: a,
24
- onMouseEnter: n,
25
- onMouseLeave: s,
26
- ...i,
27
- children: l
28
- }), p = ({ children: l, className: r = "", onClick: t, colSpan: o, style: a, onDoubleClick: n, onMouseEnter: s, onMouseLeave: i }) => /* @__PURE__ */ e("td", {
29
- className: ["table-cell", r].filter(Boolean).join(" "),
30
- onClick: t,
31
- colSpan: o,
32
- style: a,
33
- onDoubleClick: n,
34
- onMouseEnter: s,
35
- onMouseLeave: i,
36
- children: l
37
- }), g = ({ children: l, className: r = "", onClick: t, sortable: o = !1, sortDirection: a = null, draggable: n, onDragStart: s, onDragOver: i, onDrop: c, onMouseEnter: m, onMouseLeave: h }) => /* @__PURE__ */ e("th", {
38
- className: [
39
- "table-cell font-medium",
40
- o ? "cursor-pointer" : "",
41
- r
42
- ].filter(Boolean).join(" "),
43
- onClick: t,
44
- draggable: n,
45
- onDragStart: s,
46
- onDragOver: i,
47
- onDrop: c,
48
- onMouseEnter: m,
49
- onMouseLeave: h,
50
- children: /* @__PURE__ */ w("div", {
51
- className: "flex items-center gap-2",
52
- children: [l, o && /* @__PURE__ */ e("div", {
53
- className: "flex flex-col",
54
- children: a === "asc" ? /* @__PURE__ */ e("svg", {
55
- xmlns: "http://www.w3.org/2000/svg",
56
- className: "h-4 w-4",
57
- fill: "none",
58
- viewBox: "0 0 24 24",
59
- stroke: "currentColor",
60
- children: /* @__PURE__ */ e("path", {
61
- strokeLinecap: "round",
62
- strokeLinejoin: "round",
63
- strokeWidth: "2",
64
- d: "M5 15l7-7 7 7"
65
- })
66
- }) : a === "desc" ? /* @__PURE__ */ e("svg", {
67
- xmlns: "http://www.w3.org/2000/svg",
68
- className: "h-4 w-4",
69
- fill: "none",
70
- viewBox: "0 0 24 24",
71
- stroke: "currentColor",
72
- children: /* @__PURE__ */ e("path", {
73
- strokeLinecap: "round",
74
- strokeLinejoin: "round",
75
- strokeWidth: "2",
76
- d: "M19 9l-7 7-7-7"
77
- })
78
- }) : /* @__PURE__ */ e("div", {
79
- className: "h-4 w-4 opacity-30",
80
- children: /* @__PURE__ */ e("svg", {
81
- xmlns: "http://www.w3.org/2000/svg",
82
- className: "h-4 w-4",
83
- fill: "none",
84
- viewBox: "0 0 24 24",
85
- stroke: "currentColor",
86
- children: /* @__PURE__ */ e("path", {
87
- strokeLinecap: "round",
88
- strokeLinejoin: "round",
89
- strokeWidth: "2",
90
- d: "M7 16V4m0 0L3 8m4-4l4 4m6 0v12m0 0l4-4m-4 4l-4-4"
91
- })
92
- })
93
- })
94
- })]
95
- })
96
- }), d = u;
97
- d.Head = v;
98
- d.Body = b;
99
- d.Row = f;
100
- d.Cell = p;
101
- d.HeaderCell = g;
102
- export {
103
- d as default
104
- };
3
+ import { jsx as t, jsxs as n } from "react/jsx-runtime";
4
+ //#region src/components/Table/index.tsx
5
+ var r = ({ children: n, className: r = "", onClick: i, onMouseEnter: a, onMouseLeave: o }) => {
6
+ let s = e("table", r);
7
+ return /* @__PURE__ */ t("table", {
8
+ className: s,
9
+ onClick: i,
10
+ onMouseEnter: a,
11
+ onMouseLeave: o,
12
+ children: n
13
+ });
14
+ }, i = ({ children: n, className: r = "" }) => {
15
+ let i = e("table-header-group", r);
16
+ return /* @__PURE__ */ t("thead", {
17
+ className: i,
18
+ children: n
19
+ });
20
+ }, a = ({ children: n, className: r = "" }) => {
21
+ let i = e("table-row-group", r);
22
+ return /* @__PURE__ */ t("tbody", {
23
+ className: i,
24
+ children: n
25
+ });
26
+ }, o = ({ children: n, className: r = "", selected: i = !1, onClick: a, onDoubleClick: o, onMouseEnter: s, onMouseLeave: c, ...l }) => {
27
+ let u = e("table-row", i && "bg-base-200", "hover:bg-base-100", r);
28
+ return /* @__PURE__ */ t("tr", {
29
+ className: u,
30
+ onClick: a,
31
+ onDoubleClick: o,
32
+ onMouseEnter: s,
33
+ onMouseLeave: c,
34
+ ...l,
35
+ children: n
36
+ });
37
+ }, s = ({ children: n, className: r = "", onClick: i, colSpan: a, style: o, onDoubleClick: s, onMouseEnter: c, onMouseLeave: l }) => {
38
+ let u = e("table-cell", r);
39
+ return /* @__PURE__ */ t("td", {
40
+ className: u,
41
+ onClick: i,
42
+ colSpan: a,
43
+ style: o,
44
+ onDoubleClick: s,
45
+ onMouseEnter: c,
46
+ onMouseLeave: l,
47
+ children: n
48
+ });
49
+ }, c = ({ children: r, className: i = "", onClick: a, sortable: o = !1, sortDirection: s = null, draggable: c, onDragStart: l, onDragOver: u, onDrop: d, onMouseEnter: f, onMouseLeave: p }) => {
50
+ let m = e("table-cell font-medium", o && "cursor-pointer", i);
51
+ return /* @__PURE__ */ t("th", {
52
+ className: m,
53
+ onClick: a,
54
+ draggable: c,
55
+ onDragStart: l,
56
+ onDragOver: u,
57
+ onDrop: d,
58
+ onMouseEnter: f,
59
+ onMouseLeave: p,
60
+ children: /* @__PURE__ */ n("div", {
61
+ className: "flex items-center gap-2",
62
+ children: [r, o && /* @__PURE__ */ t("div", {
63
+ className: "flex flex-col",
64
+ children: s === "asc" ? /* @__PURE__ */ t("svg", {
65
+ xmlns: "http://www.w3.org/2000/svg",
66
+ className: "h-4 w-4",
67
+ fill: "none",
68
+ viewBox: "0 0 24 24",
69
+ stroke: "currentColor",
70
+ children: /* @__PURE__ */ t("path", {
71
+ strokeLinecap: "round",
72
+ strokeLinejoin: "round",
73
+ strokeWidth: "2",
74
+ d: "M5 15l7-7 7 7"
75
+ })
76
+ }) : s === "desc" ? /* @__PURE__ */ t("svg", {
77
+ xmlns: "http://www.w3.org/2000/svg",
78
+ className: "h-4 w-4",
79
+ fill: "none",
80
+ viewBox: "0 0 24 24",
81
+ stroke: "currentColor",
82
+ children: /* @__PURE__ */ t("path", {
83
+ strokeLinecap: "round",
84
+ strokeLinejoin: "round",
85
+ strokeWidth: "2",
86
+ d: "M19 9l-7 7-7-7"
87
+ })
88
+ }) : /* @__PURE__ */ t("div", {
89
+ className: "h-4 w-4 opacity-30",
90
+ children: /* @__PURE__ */ t("svg", {
91
+ xmlns: "http://www.w3.org/2000/svg",
92
+ className: "h-4 w-4",
93
+ fill: "none",
94
+ viewBox: "0 0 24 24",
95
+ stroke: "currentColor",
96
+ children: /* @__PURE__ */ t("path", {
97
+ strokeLinecap: "round",
98
+ strokeLinejoin: "round",
99
+ strokeWidth: "2",
100
+ d: "M7 16V4m0 0L3 8m4-4l4 4m6 0v12m0 0l4-4m-4 4l-4-4"
101
+ })
102
+ })
103
+ })
104
+ })]
105
+ })
106
+ });
107
+ }, l = r;
108
+ l.Head = i, l.Body = a, l.Row = o, l.Cell = s, l.HeaderCell = c;
109
+ //#endregion
110
+ export { l as default };
105
111
 
106
112
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/Table/index.tsx"],"sourcesContent":["import React, { ReactElement } from 'react';\n\nexport type TableProps = {\n children: React.ReactNode;\n className?: string;\n onClick?: (e: React.MouseEvent) => void;\n onMouseEnter?: (e: React.MouseEvent) => void;\n onMouseLeave?: (e: React.MouseEvent) => void;\n};\n\nconst Table = ({\n children,\n className = '',\n onClick,\n onMouseEnter,\n onMouseLeave,\n}: TableProps) => {\n const baseClass = 'table';\n \n const tableClasses = [\n baseClass,\n className\n ].filter(Boolean).join(' ');\n\n return (\n <table \n className={tableClasses}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n {children}\n </table>\n );\n};\n\n// Table.Head 组件\nexport type TableHeadProps = {\n children: React.ReactNode;\n className?: string;\n};\n\nconst TableHead = ({\n children,\n className = '',\n}: TableHeadProps) => {\n const baseClass = 'table-header-group';\n \n const headClasses = [\n baseClass,\n className\n ].filter(Boolean).join(' ');\n\n return (\n <thead className={headClasses}>\n {children}\n </thead>\n );\n};\n\n// Table.Body 组件\nexport type TableBodyProps = {\n children: React.ReactNode;\n className?: string;\n};\n\nconst TableBody = ({\n children,\n className = '',\n}: TableBodyProps) => {\n const baseClass = 'table-row-group';\n \n const bodyClasses = [\n baseClass,\n className\n ].filter(Boolean).join(' ');\n\n return (\n <tbody className={bodyClasses}>\n {children}\n </tbody>\n );\n};\n\n// Table.Row 组件\nexport type TableRowProps = {\n children: React.ReactNode;\n className?: string;\n selected?: boolean;\n onClick?: (e: React.MouseEvent) => void;\n onDoubleClick?: (e: React.MouseEvent) => void;\n onMouseEnter?: (e: React.MouseEvent) => void;\n onMouseLeave?: (e: React.MouseEvent) => void;\n} & Omit<\n React.HTMLAttributes<HTMLTableRowElement>,\n 'className' | 'onClick' | 'onDoubleClick' | 'onMouseEnter' | 'onMouseLeave'\n>;\n\nconst TableRow = ({\n children,\n className = '',\n selected = false,\n onClick,\n onDoubleClick,\n onMouseEnter,\n onMouseLeave,\n ...rest\n}: TableRowProps) => {\n const baseClass = 'table-row';\n\n const rowClasses = [\n baseClass,\n selected ? 'bg-base-200' : '',\n 'hover:bg-base-100',\n className\n ].filter(Boolean).join(' ');\n\n return (\n <tr \n className={rowClasses}\n onClick={onClick}\n onDoubleClick={onDoubleClick}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n {...rest}\n >\n {children}\n </tr>\n );\n};\n\n// Table.Cell 组件\nexport type TableCellProps = {\n children: React.ReactNode;\n className?: string;\n onClick?: (e: React.MouseEvent) => void;\n colSpan?: number;\n style?: React.CSSProperties;\n \n // 添加鼠标事件\n onDoubleClick?: (e: React.MouseEvent) => void;\n onMouseEnter?: (e: React.MouseEvent) => void;\n onMouseLeave?: (e: React.MouseEvent) => void;\n};\n\nconst TableCell = ({\n children,\n className = '',\n onClick,\n colSpan,\n style,\n onDoubleClick,\n onMouseEnter,\n onMouseLeave,\n}: TableCellProps) => {\n const baseClass = 'table-cell';\n \n const cellClasses = [\n baseClass,\n className\n ].filter(Boolean).join(' ');\n\n return (\n <td \n className={cellClasses}\n onClick={onClick}\n colSpan={colSpan}\n style={style}\n onDoubleClick={onDoubleClick}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n {children}\n </td>\n );\n};\n\n// Table.HeaderCell 组件\nexport type TableHeaderCellProps = {\n children: React.ReactNode;\n className?: string;\n onClick?: (e: React.MouseEvent) => void;\n sortable?: boolean;\n sortDirection?: 'asc' | 'desc' | null;\n \n // 拖拽相关属性\n draggable?: boolean;\n onDragStart?: (e: React.DragEvent) => void;\n onDragOver?: (e: React.DragEvent) => void;\n onDrop?: (e: React.DragEvent) => void;\n \n // 鼠标事件\n onMouseEnter?: (e: React.MouseEvent) => void;\n onMouseLeave?: (e: React.MouseEvent) => void;\n};\n\nconst TableHeaderCell = ({\n children,\n className = '',\n onClick,\n sortable = false,\n sortDirection = null,\n \n // 拖拽相关属性\n draggable,\n onDragStart,\n onDragOver,\n onDrop,\n \n // 鼠标事件\n onMouseEnter,\n onMouseLeave,\n}: TableHeaderCellProps) => {\n const baseClass = 'table-cell font-medium';\n \n const headerCellClasses = [\n baseClass,\n sortable ? 'cursor-pointer' : '',\n className\n ].filter(Boolean).join(' ');\n\n return (\n <th \n className={headerCellClasses}\n onClick={onClick}\n draggable={draggable}\n onDragStart={onDragStart}\n onDragOver={onDragOver}\n onDrop={onDrop}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n <div className=\"flex items-center gap-2\">\n {children}\n {sortable && (\n <div className=\"flex flex-col\">\n {sortDirection === 'asc' ? (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-4 w-4\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M5 15l7-7 7 7\" />\n </svg>\n ) : sortDirection === 'desc' ? (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-4 w-4\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M19 9l-7 7-7-7\" />\n </svg>\n ) : (\n <div className=\"h-4 w-4 opacity-30\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-4 w-4\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\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 </div>\n )}\n </div>\n )}\n </div>\n </th>\n );\n};\n\n// 扩展Table组件,添加子组件\ninterface TableCompound extends React.FC<TableProps> {\n Head: React.FC<TableHeadProps>;\n Body: React.FC<TableBodyProps>;\n Row: React.FC<TableRowProps>;\n Cell: React.FC<TableCellProps>;\n HeaderCell: React.FC<TableHeaderCellProps>;\n}\n\nconst TableWithCompounds = Table as TableCompound;\nTableWithCompounds.Head = TableHead;\nTableWithCompounds.Body = TableBody;\nTableWithCompounds.Row = TableRow;\nTableWithCompounds.Cell = TableCell;\nTableWithCompounds.HeaderCell = TableHeaderCell;\n\nexport default TableWithCompounds; "],"mappings":";;AAUA,IAAM,IAAA,CAAS,EACb,UAAA,GACA,WAAA,IAAY,IACZ,SAAA,GACA,cAAA,GACA,cAAA,EAAA,MAUE,gBAAA,EAAC,SAAD;AAAA,EACE,WAPiB,CACnB,SACA,CACF,EAAE,OAAO,OAAO,EAAE,KAAK,GAIR;AAAA,EACF,SAAA;AAAA,EACK,cAAA;AAAA,EACA,cAAA;AAAA,EAEb,UAAA;AACI,CAAA,GAUL,IAAA,CAAa,EACjB,UAAA,GACA,WAAA,IAAY,GAAA,MAUV,gBAAA,EAAC,SAAD;AAAA,EAAO,WANW,CAClB,sBACA,CACF,EAAE,OAAO,OAAO,EAAE,KAAK,GAGH;AAAA,EACf,UAAA;AACI,CAAA,GAUL,IAAA,CAAa,EACjB,UAAA,GACA,WAAA,IAAY,GAAA,MAUV,gBAAA,EAAC,SAAD;AAAA,EAAO,WANW,CAClB,mBACA,CACF,EAAE,OAAO,OAAO,EAAE,KAAK,GAGH;AAAA,EACf,UAAA;AACI,CAAA,GAkBL,IAAA,CAAY,EAChB,UAAA,GACA,WAAA,IAAY,IACZ,UAAA,IAAW,IACX,SAAA,GACA,eAAA,GACA,cAAA,GACA,cAAA,GACA,GAAG,EAAA,MAYD,gBAAA,EAAC,MAAD;AAAA,EACE,WATe;AAAA,IACjB;AAAA,IACA,IAAW,gBAAgB;AAAA,IAC3B;AAAA,IACA;AAAA,EACF,EAAE,OAAO,OAAO,EAAE,KAAK,GAIR;AAAA,EACF,SAAA;AAAA,EACM,eAAA;AAAA,EACD,cAAA;AAAA,EACA,cAAA;AAAA,EACd,GAAI;AAAA,EAEH,UAAA;AACC,CAAA,GAkBF,IAAA,CAAa,EACjB,UAAA,GACA,WAAA,IAAY,IACZ,SAAA,GACA,SAAA,GACA,OAAA,GACA,eAAA,GACA,cAAA,GACA,cAAA,EAAA,MAUE,gBAAA,EAAC,MAAD;AAAA,EACE,WAPgB,CAClB,cACA,CACF,EAAE,OAAO,OAAO,EAAE,KAAK,GAIR;AAAA,EACF,SAAA;AAAA,EACA,SAAA;AAAA,EACF,OAAA;AAAA,EACQ,eAAA;AAAA,EACD,cAAA;AAAA,EACA,cAAA;AAAA,EAEb,UAAA;AACC,CAAA,GAuBF,IAAA,CAAmB,EACvB,UAAA,GACA,WAAA,IAAY,IACZ,SAAA,GACA,UAAA,IAAW,IACX,eAAA,IAAgB,MAGhB,WAAA,GACA,aAAA,GACA,YAAA,GACA,QAAA,GAGA,cAAA,GACA,cAAA,EAAA,MAWE,gBAAA,EAAC,MAAD;AAAA,EACE,WARsB;AAAA,IACxB;AAAA,IACA,IAAW,mBAAmB;AAAA,IAC9B;AAAA,EACF,EAAE,OAAO,OAAO,EAAE,KAAK,GAIR;AAAA,EACF,SAAA;AAAA,EACE,WAAA;AAAA,EACE,aAAA;AAAA,EACD,YAAA;AAAA,EACJ,QAAA;AAAA,EACM,cAAA;AAAA,EACA,cAAA;AAAA,YAEd,gBAAA,EAAC,OAAD;AAAA,IAAK,WAAU;AAAA,cAAf,CACG,GACA,KACC,gBAAA,EAAC,OAAD;AAAA,MAAK,WAAU;AAAA,gBACZ,MAAkB,QACjB,gBAAA,EAAC,OAAD;AAAA,QAAK,OAAM;AAAA,QAA6B,WAAU;AAAA,QAAU,MAAK;AAAA,QAAO,SAAQ;AAAA,QAAY,QAAO;AAAA,kBACjG,gBAAA,EAAC,QAAD;AAAA,UAAM,eAAc;AAAA,UAAQ,gBAAe;AAAA,UAAQ,aAAY;AAAA,UAAI,GAAE;AAAA,QAAiB,CAAA;AAAA,MACnF,CAAA,IACH,MAAkB,SACpB,gBAAA,EAAC,OAAD;AAAA,QAAK,OAAM;AAAA,QAA6B,WAAU;AAAA,QAAU,MAAK;AAAA,QAAO,SAAQ;AAAA,QAAY,QAAO;AAAA,kBACjG,gBAAA,EAAC,QAAD;AAAA,UAAM,eAAc;AAAA,UAAQ,gBAAe;AAAA,UAAQ,aAAY;AAAA,UAAI,GAAE;AAAA,QAAkB,CAAA;AAAA,MACpF,CAAA,IAEL,gBAAA,EAAC,OAAD;AAAA,QAAK,WAAU;AAAA,kBACb,gBAAA,EAAC,OAAD;AAAA,UAAK,OAAM;AAAA,UAA6B,WAAU;AAAA,UAAU,MAAK;AAAA,UAAO,SAAQ;AAAA,UAAY,QAAO;AAAA,oBACjG,gBAAA,EAAC,QAAD;AAAA,YAAM,eAAc;AAAA,YAAQ,gBAAe;AAAA,YAAQ,aAAY;AAAA,YAAI,GAAE;AAAA,UAAoD,CAAA;AAAA,QACtH,CAAA;AAAA,MACF,CAAA;AAAA,IAEJ,CAAA,CAEJ;AAAA;AACH,CAAA,GAaF,IAAqB;AAC3B,EAAmB,OAAO;AAC1B,EAAmB,OAAO;AAC1B,EAAmB,MAAM;AACzB,EAAmB,OAAO;AAC1B,EAAmB,aAAa"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/Table/index.tsx"],"sourcesContent":["import React from 'react';\nimport { cn } from '../../utils/cn';\n\nexport type TableProps = {\n children: React.ReactNode;\n className?: string;\n onClick?: (e: React.MouseEvent) => void;\n onMouseEnter?: (e: React.MouseEvent) => void;\n onMouseLeave?: (e: React.MouseEvent) => void;\n};\n\nconst Table = ({\n children,\n className = '',\n onClick,\n onMouseEnter,\n onMouseLeave,\n}: TableProps) => {\n const baseClass = 'table';\n \n const tableClasses = cn(baseClass, className);\n\n return (\n <table \n className={tableClasses}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n {children}\n </table>\n );\n};\n\n// Table.Head 组件\nexport type TableHeadProps = {\n children: React.ReactNode;\n className?: string;\n};\n\nconst TableHead = ({\n children,\n className = '',\n}: TableHeadProps) => {\n const baseClass = 'table-header-group';\n \n const headClasses = cn(baseClass, className);\n\n return (\n <thead className={headClasses}>\n {children}\n </thead>\n );\n};\n\n// Table.Body 组件\nexport type TableBodyProps = {\n children: React.ReactNode;\n className?: string;\n};\n\nconst TableBody = ({\n children,\n className = '',\n}: TableBodyProps) => {\n const baseClass = 'table-row-group';\n \n const bodyClasses = cn(baseClass, className);\n\n return (\n <tbody className={bodyClasses}>\n {children}\n </tbody>\n );\n};\n\n// Table.Row 组件\nexport type TableRowProps = {\n children: React.ReactNode;\n className?: string;\n selected?: boolean;\n onClick?: (e: React.MouseEvent) => void;\n onDoubleClick?: (e: React.MouseEvent) => void;\n onMouseEnter?: (e: React.MouseEvent) => void;\n onMouseLeave?: (e: React.MouseEvent) => void;\n} & Omit<\n React.HTMLAttributes<HTMLTableRowElement>,\n 'className' | 'onClick' | 'onDoubleClick' | 'onMouseEnter' | 'onMouseLeave'\n>;\n\nconst TableRow = ({\n children,\n className = '',\n selected = false,\n onClick,\n onDoubleClick,\n onMouseEnter,\n onMouseLeave,\n ...rest\n}: TableRowProps) => {\n const baseClass = 'table-row';\n\n const rowClasses = cn(\n baseClass,\n selected && 'bg-base-200',\n 'hover:bg-base-100',\n className\n );\n\n return (\n <tr \n className={rowClasses}\n onClick={onClick}\n onDoubleClick={onDoubleClick}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n {...rest}\n >\n {children}\n </tr>\n );\n};\n\n// Table.Cell 组件\nexport type TableCellProps = {\n children: React.ReactNode;\n className?: string;\n onClick?: (e: React.MouseEvent) => void;\n colSpan?: number;\n style?: React.CSSProperties;\n \n // 添加鼠标事件\n onDoubleClick?: (e: React.MouseEvent) => void;\n onMouseEnter?: (e: React.MouseEvent) => void;\n onMouseLeave?: (e: React.MouseEvent) => void;\n};\n\nconst TableCell = ({\n children,\n className = '',\n onClick,\n colSpan,\n style,\n onDoubleClick,\n onMouseEnter,\n onMouseLeave,\n}: TableCellProps) => {\n const baseClass = 'table-cell';\n \n const cellClasses = cn(baseClass, className);\n\n return (\n <td \n className={cellClasses}\n onClick={onClick}\n colSpan={colSpan}\n style={style}\n onDoubleClick={onDoubleClick}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n {children}\n </td>\n );\n};\n\n// Table.HeaderCell 组件\nexport type TableHeaderCellProps = {\n children: React.ReactNode;\n className?: string;\n onClick?: (e: React.MouseEvent) => void;\n sortable?: boolean;\n sortDirection?: 'asc' | 'desc' | null;\n \n // 拖拽相关属性\n draggable?: boolean;\n onDragStart?: (e: React.DragEvent) => void;\n onDragOver?: (e: React.DragEvent) => void;\n onDrop?: (e: React.DragEvent) => void;\n \n // 鼠标事件\n onMouseEnter?: (e: React.MouseEvent) => void;\n onMouseLeave?: (e: React.MouseEvent) => void;\n};\n\nconst TableHeaderCell = ({\n children,\n className = '',\n onClick,\n sortable = false,\n sortDirection = null,\n \n // 拖拽相关属性\n draggable,\n onDragStart,\n onDragOver,\n onDrop,\n \n // 鼠标事件\n onMouseEnter,\n onMouseLeave,\n}: TableHeaderCellProps) => {\n const baseClass = 'table-cell font-medium';\n \n const headerCellClasses = cn(\n baseClass,\n sortable && 'cursor-pointer',\n className\n );\n\n return (\n <th \n className={headerCellClasses}\n onClick={onClick}\n draggable={draggable}\n onDragStart={onDragStart}\n onDragOver={onDragOver}\n onDrop={onDrop}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n <div className=\"flex items-center gap-2\">\n {children}\n {sortable && (\n <div className=\"flex flex-col\">\n {sortDirection === 'asc' ? (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-4 w-4\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M5 15l7-7 7 7\" />\n </svg>\n ) : sortDirection === 'desc' ? (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-4 w-4\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M19 9l-7 7-7-7\" />\n </svg>\n ) : (\n <div className=\"h-4 w-4 opacity-30\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-4 w-4\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\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 </div>\n )}\n </div>\n )}\n </div>\n </th>\n );\n};\n\n// 扩展Table组件,添加子组件\ninterface TableCompound extends React.FC<TableProps> {\n Head: React.FC<TableHeadProps>;\n Body: React.FC<TableBodyProps>;\n Row: React.FC<TableRowProps>;\n Cell: React.FC<TableCellProps>;\n HeaderCell: React.FC<TableHeaderCellProps>;\n}\n\nconst TableWithCompounds = Table as TableCompound;\nTableWithCompounds.Head = TableHead;\nTableWithCompounds.Body = TableBody;\nTableWithCompounds.Row = TableRow;\nTableWithCompounds.Cell = TableCell;\nTableWithCompounds.HeaderCell = TableHeaderCell;\n\nexport default TableWithCompounds; "],"mappings":";;;;AAWA,IAAM,KAAS,EACb,aACA,eAAY,IACZ,YACA,iBACA,sBACgB;CAGhB,IAAM,IAAe,EAAG,SAAW,CAAS;CAE5C,OACE,kBAAC,SAAD;EACE,WAAW;EACF;EACK;EACA;EAEb;CACI,CAAA;AAEX,GAQM,KAAa,EACjB,aACA,eAAY,SACQ;CAGpB,IAAM,IAAc,EAAG,sBAAW,CAAS;CAE3C,OACE,kBAAC,SAAD;EAAO,WAAW;EACf;CACI,CAAA;AAEX,GAQM,KAAa,EACjB,aACA,eAAY,SACQ;CAGpB,IAAM,IAAc,EAAG,mBAAW,CAAS;CAE3C,OACE,kBAAC,SAAD;EAAO,WAAW;EACf;CACI,CAAA;AAEX,GAgBM,KAAY,EAChB,aACA,eAAY,IACZ,cAAW,IACX,YACA,kBACA,iBACA,iBACA,GAAG,QACgB;CAGnB,IAAM,IAAa,EACjB,aACA,KAAY,eACZ,qBACA,CACF;CAEA,OACE,kBAAC,MAAD;EACE,WAAW;EACF;EACM;EACD;EACA;EACd,GAAI;EAEH;CACC,CAAA;AAER,GAgBM,KAAa,EACjB,aACA,eAAY,IACZ,YACA,YACA,UACA,kBACA,iBACA,sBACoB;CAGpB,IAAM,IAAc,EAAG,cAAW,CAAS;CAE3C,OACE,kBAAC,MAAD;EACE,WAAW;EACF;EACA;EACF;EACQ;EACD;EACA;EAEb;CACC,CAAA;AAER,GAqBM,KAAmB,EACvB,aACA,eAAY,IACZ,YACA,cAAW,IACX,mBAAgB,MAGhB,cACA,gBACA,eACA,WAGA,iBACA,sBAC0B;CAG1B,IAAM,IAAoB,EACxB,0BACA,KAAY,kBACZ,CACF;CAEA,OACE,kBAAC,MAAD;EACE,WAAW;EACF;EACE;EACE;EACD;EACJ;EACM;EACA;EAEd,UAAA,kBAAC,OAAD;GAAK,WAAU;GAAf,UAAA,CACG,GACA,KACC,kBAAC,OAAD;IAAK,WAAU;IACZ,UAAA,MAAkB,QACjB,kBAAC,OAAD;KAAK,OAAM;KAA6B,WAAU;KAAU,MAAK;KAAO,SAAQ;KAAY,QAAO;KACjG,UAAA,kBAAC,QAAD;MAAM,eAAc;MAAQ,gBAAe;MAAQ,aAAY;MAAI,GAAE;KAAiB,CAAA;IACnF,CAAA,IACH,MAAkB,SACpB,kBAAC,OAAD;KAAK,OAAM;KAA6B,WAAU;KAAU,MAAK;KAAO,SAAQ;KAAY,QAAO;KACjG,UAAA,kBAAC,QAAD;MAAM,eAAc;MAAQ,gBAAe;MAAQ,aAAY;MAAI,GAAE;KAAkB,CAAA;IACpF,CAAA,IAEL,kBAAC,OAAD;KAAK,WAAU;KACb,UAAA,kBAAC,OAAD;MAAK,OAAM;MAA6B,WAAU;MAAU,MAAK;MAAO,SAAQ;MAAY,QAAO;MACjG,UAAA,kBAAC,QAAD;OAAM,eAAc;OAAQ,gBAAe;OAAQ,aAAY;OAAI,GAAE;MAAoD,CAAA;KACtH,CAAA;IACF,CAAA;GAEJ,CAAA,CAEJ;;CACH,CAAA;AAER,GAWM,IAAqB;AAC3B,EAAmB,OAAO,GAC1B,EAAmB,OAAO,GAC1B,EAAmB,MAAM,GACzB,EAAmB,OAAO,GAC1B,EAAmB,aAAa"}
@@ -2,6 +2,10 @@ import React from 'react';
2
2
  export type TabItem<T extends string = string> = {
3
3
  key: T;
4
4
  label: React.ReactNode;
5
+ /** 可选:标签前的图标 */
6
+ icon?: React.ReactNode;
7
+ /** 禁用该标签 */
8
+ disabled?: boolean;
5
9
  };
6
10
  export type TabsProps<T extends string = string> = {
7
11
  items: readonly TabItem<T>[];
@@ -9,13 +13,23 @@ export type TabsProps<T extends string = string> = {
9
13
  value: T;
10
14
  /** 切换回调 */
11
15
  onChange: (key: T) => void;
12
- /** 外观:box(daisyUI 5 的 tabs-box)/ border(tabs-border) */
13
- variant?: 'box' | 'border';
16
+ /**
17
+ * 外观(基于 daisyUI 5 的 tabs 修饰类):
18
+ * - `box` 实心分段(tabs-box)
19
+ * - `border` 底部下划线(tabs-border)
20
+ * - `lift` 抬升的文件夹页签(tabs-lift)
21
+ * - `pill` 胶囊/圆角实心(DishUI 扩展)
22
+ */
23
+ variant?: 'box' | 'border' | 'lift' | 'pill';
24
+ /** 尺寸:xs / sm / md / lg / xl */
25
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
26
+ /** 占满可用宽度,各标签平分 */
27
+ block?: boolean;
14
28
  className?: string;
15
29
  };
16
30
  /**
17
- * 标签页切换条。基于 daisyUI 5 的 `tabs` / `tabs-box` / `tabs-border`,
18
- * 字号统一使用小号文本,与管理后台紧凑风格一致。
31
+ * 标签页切换条。基于 daisyUI 5 的 `tabs` 系列修饰类,
32
+ * 支持 box / border / lift / pill 四种外观、五档尺寸与等宽(block)模式。
19
33
  */
20
- declare function Tabs<T extends string = string>({ items, value, onChange, variant, className, }: TabsProps<T>): React.JSX.Element;
34
+ declare function Tabs<T extends string = string>({ items, value, onChange, variant, size, block, className, }: TabsProps<T>): React.JSX.Element;
21
35
  export default Tabs;
@@ -1,25 +1,34 @@
1
+ import { cn as e } from "../../utils/cn.js";
1
2
  import "react";
2
- import { jsx as e } from "react/jsx-runtime";
3
- function c({ items: o, value: a, onChange: r, variant: b = "box", className: l = "" }) {
4
- return /* @__PURE__ */ e("div", {
5
- role: "tablist",
6
- className: [
7
- "tabs h-auto min-h-0 text-xs",
8
- b === "box" ? "tabs-box" : "tabs-border",
9
- l
10
- ].filter(Boolean).join(" "),
11
- children: o.map((t) => /* @__PURE__ */ e("button", {
12
- role: "tab",
13
- type: "button",
14
- "aria-selected": a === t.key,
15
- onClick: () => r(t.key),
16
- className: ["tab h-8 min-h-0 text-xs", a === t.key && "tab-active"].filter(Boolean).join(" "),
17
- children: t.label
18
- }, t.key))
19
- });
20
- }
21
- export {
22
- c as default
3
+ import { jsx as t, jsxs as n } from "react/jsx-runtime";
4
+ //#region src/components/Tabs/index.tsx
5
+ var r = {
6
+ xs: "tabs-xs",
7
+ sm: "tabs-sm",
8
+ md: "tabs-md",
9
+ lg: "tabs-lg",
10
+ xl: "tabs-xl"
23
11
  };
12
+ function i({ items: i, value: a, onChange: o, variant: s = "box", size: c = "sm", block: l = !1, className: u = "" }) {
13
+ let d = s === "border" ? "tabs-border" : s === "lift" ? "tabs-lift" : s === "pill" ? "tabs-box dishui-tabs-pill" : "tabs-box";
14
+ return /* @__PURE__ */ t("div", {
15
+ role: "tablist",
16
+ className: e("tabs h-auto min-h-0", r[c], d, l && "w-full", u),
17
+ children: i.map((r) => /* @__PURE__ */ n("button", {
18
+ role: "tab",
19
+ type: "button",
20
+ "aria-selected": a === r.key,
21
+ disabled: r.disabled,
22
+ onClick: () => o(r.key),
23
+ className: e("tab min-h-0 gap-1.5", l && "flex-1", a === r.key && "tab-active", r.disabled && "tab-disabled"),
24
+ children: [r.icon && /* @__PURE__ */ t("span", {
25
+ className: "[&>svg]:h-[1.1em] [&>svg]:w-[1.1em]",
26
+ children: r.icon
27
+ }), r.label]
28
+ }, r.key))
29
+ });
30
+ }
31
+ //#endregion
32
+ export { i as default };
24
33
 
25
34
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/Tabs/index.tsx"],"sourcesContent":["import React from 'react';\n\nexport type TabItem<T extends string = string> = {\n key: T;\n label: React.ReactNode;\n};\n\nexport type TabsProps<T extends string = string> = {\n items: readonly TabItem<T>[];\n /** 当前激活的 tab key */\n value: T;\n /** 切换回调 */\n onChange: (key: T) => void;\n /** 外观:box(daisyUI 5 的 tabs-box)/ border(tabs-border) */\n variant?: 'box' | 'border';\n className?: string;\n};\n\n/**\n * 标签页切换条。基于 daisyUI 5 的 `tabs` / `tabs-box` / `tabs-border`,\n * 字号统一使用小号文本,与管理后台紧凑风格一致。\n */\nfunction Tabs<T extends string = string>({\n items,\n value,\n onChange,\n variant = 'box',\n className = '',\n}: TabsProps<T>) {\n const variantClass = variant === 'box' ? 'tabs-box' : 'tabs-border';\n\n return (\n <div\n role=\"tablist\"\n className={['tabs h-auto min-h-0 text-xs', variantClass, className].filter(Boolean).join(' ')}\n >\n {items.map((item) => (\n <button\n key={item.key}\n role=\"tab\"\n type=\"button\"\n aria-selected={value === item.key}\n onClick={() => onChange(item.key)}\n className={['tab h-8 min-h-0 text-xs', value === item.key && 'tab-active'].filter(Boolean).join(' ')}\n >\n {item.label}\n </button>\n ))}\n </div>\n );\n}\n\nexport default Tabs;\n"],"mappings":";;AAsBA,SAAS,EAAgC,EACrC,OAAA,GACA,OAAA,GACA,UAAA,GACA,SAAA,IAAU,OACV,WAAA,IAAY,GAAA,GACC;AAGb,SACI,gBAAA,EAAC,OAAD;AAAA,IACI,MAAK;AAAA,IACL,WAAW;AAAA,MAAC;AAAA,MALC,MAAY,QAAQ,aAAa;AAAA,MAKW;AAAA,IAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,cAE3F,EAAM,IAAA,CAAK,MACR,gBAAA,EAAC,UAAD;AAAA,MAEI,MAAK;AAAA,MACL,MAAK;AAAA,MACL,iBAAe,MAAU,EAAK;AAAA,MAC9B,SAAA,MAAe,EAAS,EAAK,GAAG;AAAA,MAChC,WAAW,CAAC,2BAA2B,MAAU,EAAK,OAAO,YAAY,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,gBAElG,EAAK;AAAA,IACF,GARC,EAAK,GAQN,CACX;AAAA,EACA,CAAA;AAEb"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/Tabs/index.tsx"],"sourcesContent":["import React from 'react';\nimport { cn } from '../../utils/cn';\n\nexport type TabItem<T extends string = string> = {\n key: T;\n label: React.ReactNode;\n /** 可选:标签前的图标 */\n icon?: React.ReactNode;\n /** 禁用该标签 */\n disabled?: boolean;\n};\n\nexport type TabsProps<T extends string = string> = {\n items: readonly TabItem<T>[];\n /** 当前激活的 tab key */\n value: T;\n /** 切换回调 */\n onChange: (key: T) => void;\n /**\n * 外观(基于 daisyUI 5 的 tabs 修饰类):\n * - `box` 实心分段(tabs-box)\n * - `border` 底部下划线(tabs-border)\n * - `lift` 抬升的文件夹页签(tabs-lift)\n * - `pill` 胶囊/圆角实心(DishUI 扩展)\n */\n variant?: 'box' | 'border' | 'lift' | 'pill';\n /** 尺寸:xs / sm / md / lg / xl */\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n /** 占满可用宽度,各标签平分 */\n block?: boolean;\n className?: string;\n};\n\nconst SIZE_CLASS: Record<NonNullable<TabsProps['size']>, string> = {\n xs: 'tabs-xs',\n sm: 'tabs-sm',\n md: 'tabs-md',\n lg: 'tabs-lg',\n xl: 'tabs-xl',\n};\n\n/**\n * 标签页切换条。基于 daisyUI 5 的 `tabs` 系列修饰类,\n * 支持 box / border / lift / pill 四种外观、五档尺寸与等宽(block)模式。\n */\nfunction Tabs<T extends string = string>({\n items,\n value,\n onChange,\n variant = 'box',\n size = 'sm',\n block = false,\n className = '',\n}: TabsProps<T>) {\n // pill 是 DishUI 扩展:在 tabs-box 基础上追加胶囊圆角类(见 components.css)\n const variantClass =\n variant === 'border' ? 'tabs-border'\n : variant === 'lift' ? 'tabs-lift'\n : variant === 'pill' ? 'tabs-box dishui-tabs-pill'\n : 'tabs-box';\n\n return (\n <div\n role=\"tablist\"\n className={cn(\n 'tabs h-auto min-h-0',\n SIZE_CLASS[size],\n variantClass,\n block && 'w-full',\n className,\n )}\n >\n {items.map((item) => (\n <button\n key={item.key}\n role=\"tab\"\n type=\"button\"\n aria-selected={value === item.key}\n disabled={item.disabled}\n onClick={() => onChange(item.key)}\n className={cn(\n 'tab min-h-0 gap-1.5',\n block && 'flex-1',\n value === item.key && 'tab-active',\n item.disabled && 'tab-disabled',\n )}\n >\n {item.icon && <span className=\"[&>svg]:h-[1.1em] [&>svg]:w-[1.1em]\">{item.icon}</span>}\n {item.label}\n </button>\n ))}\n </div>\n );\n}\n\nexport default Tabs;\n"],"mappings":";;;;AAiCA,IAAM,IAA6D;CAC/D,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACR;AAMA,SAAS,EAAgC,EACrC,UACA,UACA,aACA,aAAU,OACV,UAAO,MACP,WAAQ,IACR,eAAY,MACC;CAEb,IAAM,IACF,MAAY,WAAW,gBACrB,MAAY,SAAS,cACrB,MAAY,SAAS,8BACrB;CAEN,OACI,kBAAC,OAAD;EACI,MAAK;EACL,WAAW,EACP,uBACA,EAAW,IACX,GACA,KAAS,UACT,CACJ;EAEC,UAAA,EAAM,KAAK,MACR,kBAAC,UAAD;GAEI,MAAK;GACL,MAAK;GACL,iBAAe,MAAU,EAAK;GAC9B,UAAU,EAAK;GACf,eAAe,EAAS,EAAK,GAAG;GAChC,WAAW,EACP,uBACA,KAAS,UACT,MAAU,EAAK,OAAO,cACtB,EAAK,YAAY,cACrB;GAZJ,UAAA,CAcK,EAAK,QAAQ,kBAAC,QAAD;IAAM,WAAU;IAAuC,UAAA,EAAK;GAAW,CAAA,GACpF,EAAK,KACF;EAfC,GAAA,EAAK,GAeN,CACX;CACA,CAAA;AAEb"}
@@ -0,0 +1,43 @@
1
+ import React from 'react';
2
+ export type TextElement = 'span' | 'p' | 'div' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'strong' | 'em' | 'small' | 'code';
3
+ export type TextSize = 'xs' | 'sm' | 'base' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl';
4
+ export type TextWeight = 'normal' | 'medium' | 'semibold' | 'bold';
5
+ export type TextColor = 'default' | 'muted' | 'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'error' | 'inherit';
6
+ export type TextAlign = 'left' | 'center' | 'right' | 'justify';
7
+ export type TextProps = {
8
+ children?: React.ReactNode;
9
+ /** Rendered HTML element. */
10
+ as?: TextElement;
11
+ /** Font size preset. */
12
+ size?: TextSize;
13
+ /** Font weight. */
14
+ weight?: TextWeight;
15
+ /** Semantic color. */
16
+ color?: TextColor;
17
+ /** Text alignment. */
18
+ align?: TextAlign;
19
+ /** Single-line ellipsis. */
20
+ truncate?: boolean;
21
+ /** Multi-line clamp (number of lines). */
22
+ clamp?: number;
23
+ /** Italic style. */
24
+ italic?: boolean;
25
+ /** Underline decoration. */
26
+ underline?: boolean;
27
+ /** Uppercase + letter-spacing (overline style). */
28
+ uppercase?: boolean;
29
+ /** Monospace font. */
30
+ mono?: boolean;
31
+ /** Extra class names. */
32
+ className?: string;
33
+ /** Inline styles. */
34
+ style?: React.CSSProperties;
35
+ /** Click handler. */
36
+ onClick?: (e: React.MouseEvent<HTMLElement>) => void;
37
+ };
38
+ /**
39
+ * Text —— A2UI 展示组件:文本排版原语。
40
+ * 统一字号 / 字重 / 语义色 / 对齐与截断,替代散落各处的裸 `text-*` 组合。
41
+ */
42
+ declare const Text: React.FC<TextProps>;
43
+ export default Text;
@@ -0,0 +1,55 @@
1
+ import { cn as e } from "../../utils/cn.js";
2
+ import "react";
3
+ import { jsx as t } from "react/jsx-runtime";
4
+ //#region src/components/Text/index.tsx
5
+ var n = {
6
+ xs: "text-xs",
7
+ sm: "text-sm",
8
+ base: "text-base",
9
+ lg: "text-lg",
10
+ xl: "text-xl",
11
+ "2xl": "text-2xl",
12
+ "3xl": "text-3xl",
13
+ "4xl": "text-4xl"
14
+ }, r = {
15
+ normal: "font-normal",
16
+ medium: "font-medium",
17
+ semibold: "font-semibold",
18
+ bold: "font-bold"
19
+ }, i = {
20
+ default: "text-base-content",
21
+ muted: "text-base-content/60",
22
+ primary: "text-primary",
23
+ secondary: "text-secondary",
24
+ accent: "text-accent",
25
+ info: "text-info",
26
+ success: "text-success",
27
+ warning: "text-warning",
28
+ error: "text-error",
29
+ inherit: ""
30
+ }, a = {
31
+ left: "text-left",
32
+ center: "text-center",
33
+ right: "text-right",
34
+ justify: "text-justify"
35
+ }, o = ({ children: o, as: s = "span", size: c = "base", weight: l = "normal", color: u = "default", align: d, truncate: f = !1, clamp: p, italic: m = !1, underline: h = !1, uppercase: g = !1, mono: _ = !1, className: v = "", style: y, onClick: b }) => {
36
+ let x = s, S = e(n[c], r[l], i[u], d && a[d], f && "truncate", m && "italic", h && "underline", g && "uppercase tracking-wider", _ && "font-mono", !f && p && p > 0 && "overflow-hidden", v);
37
+ return /* @__PURE__ */ t(x, {
38
+ className: S,
39
+ style: {
40
+ ...!f && p && p > 0 ? {
41
+ display: "-webkit-box",
42
+ WebkitLineClamp: p,
43
+ WebkitBoxOrient: "vertical",
44
+ overflow: "hidden"
45
+ } : {},
46
+ ...y
47
+ },
48
+ onClick: b,
49
+ children: o
50
+ });
51
+ };
52
+ //#endregion
53
+ export { o as default };
54
+
55
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/Text/index.tsx"],"sourcesContent":["import React from 'react';\nimport { cn } from '../../utils/cn';\n\nexport type TextElement =\n | 'span'\n | 'p'\n | 'div'\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'h6'\n | 'strong'\n | 'em'\n | 'small'\n | 'code';\n\nexport type TextSize =\n | 'xs'\n | 'sm'\n | 'base'\n | 'lg'\n | 'xl'\n | '2xl'\n | '3xl'\n | '4xl';\n\nexport type TextWeight = 'normal' | 'medium' | 'semibold' | 'bold';\n\nexport type TextColor =\n | 'default'\n | 'muted'\n | 'primary'\n | 'secondary'\n | 'accent'\n | 'info'\n | 'success'\n | 'warning'\n | 'error'\n | 'inherit';\n\nexport type TextAlign = 'left' | 'center' | 'right' | 'justify';\n\nexport type TextProps = {\n children?: React.ReactNode;\n /** Rendered HTML element. */\n as?: TextElement;\n /** Font size preset. */\n size?: TextSize;\n /** Font weight. */\n weight?: TextWeight;\n /** Semantic color. */\n color?: TextColor;\n /** Text alignment. */\n align?: TextAlign;\n /** Single-line ellipsis. */\n truncate?: boolean;\n /** Multi-line clamp (number of lines). */\n clamp?: number;\n /** Italic style. */\n italic?: boolean;\n /** Underline decoration. */\n underline?: boolean;\n /** Uppercase + letter-spacing (overline style). */\n uppercase?: boolean;\n /** Monospace font. */\n mono?: boolean;\n /** Extra class names. */\n className?: string;\n /** Inline styles. */\n style?: React.CSSProperties;\n /** Click handler. */\n onClick?: (e: React.MouseEvent<HTMLElement>) => void;\n};\n\nconst SIZE_CLASS: Record<TextSize, string> = {\n xs: 'text-xs',\n sm: 'text-sm',\n base: 'text-base',\n lg: 'text-lg',\n xl: 'text-xl',\n '2xl': 'text-2xl',\n '3xl': 'text-3xl',\n '4xl': 'text-4xl',\n};\n\nconst WEIGHT_CLASS: Record<TextWeight, string> = {\n normal: 'font-normal',\n medium: 'font-medium',\n semibold: 'font-semibold',\n bold: 'font-bold',\n};\n\nconst COLOR_CLASS: Record<TextColor, string> = {\n default: 'text-base-content',\n muted: 'text-base-content/60',\n primary: 'text-primary',\n secondary: 'text-secondary',\n accent: 'text-accent',\n info: 'text-info',\n success: 'text-success',\n warning: 'text-warning',\n error: 'text-error',\n inherit: '',\n};\n\nconst ALIGN_CLASS: Record<TextAlign, string> = {\n left: 'text-left',\n center: 'text-center',\n right: 'text-right',\n justify: 'text-justify',\n};\n\n/**\n * Text —— A2UI 展示组件:文本排版原语。\n * 统一字号 / 字重 / 语义色 / 对齐与截断,替代散落各处的裸 `text-*` 组合。\n */\nconst Text: React.FC<TextProps> = ({\n children,\n as = 'span',\n size = 'base',\n weight = 'normal',\n color = 'default',\n align,\n truncate = false,\n clamp,\n italic = false,\n underline = false,\n uppercase = false,\n mono = false,\n className = '',\n style,\n onClick,\n}) => {\n const Tag = as as React.ElementType;\n\n const classes = cn(\n SIZE_CLASS[size],\n WEIGHT_CLASS[weight],\n COLOR_CLASS[color],\n align && ALIGN_CLASS[align],\n truncate && 'truncate',\n italic && 'italic',\n underline && 'underline',\n uppercase && 'uppercase tracking-wider',\n mono && 'font-mono',\n !truncate && clamp && clamp > 0 && 'overflow-hidden',\n className,\n );\n\n const clampStyle: React.CSSProperties =\n !truncate && clamp && clamp > 0\n ? {\n display: '-webkit-box',\n WebkitLineClamp: clamp,\n WebkitBoxOrient: 'vertical',\n overflow: 'hidden',\n }\n : {};\n\n return (\n <Tag className={classes} style={{ ...clampStyle, ...style }} onClick={onClick}>\n {children}\n </Tag>\n );\n};\n\nexport default Text;\n"],"mappings":";;;;AA4EA,IAAM,IAAuC;CAC3C,IAAI;CACJ,IAAI;CACJ,MAAM;CACN,IAAI;CACJ,IAAI;CACJ,OAAO;CACP,OAAO;CACP,OAAO;AACT,GAEM,IAA2C;CAC/C,QAAQ;CACR,QAAQ;CACR,UAAU;CACV,MAAM;AACR,GAEM,IAAyC;CAC7C,SAAS;CACT,OAAO;CACP,SAAS;CACT,WAAW;CACX,QAAQ;CACR,MAAM;CACN,SAAS;CACT,SAAS;CACT,OAAO;CACP,SAAS;AACX,GAEM,IAAyC;CAC7C,MAAM;CACN,QAAQ;CACR,OAAO;CACP,SAAS;AACX,GAMM,KAA6B,EACjC,aACA,QAAK,QACL,UAAO,QACP,YAAS,UACT,WAAQ,WACR,UACA,cAAW,IACX,UACA,YAAS,IACT,eAAY,IACZ,eAAY,IACZ,UAAO,IACP,eAAY,IACZ,UACA,iBACI;CACJ,IAAM,IAAM,GAEN,IAAU,EACd,EAAW,IACX,EAAa,IACb,EAAY,IACZ,KAAS,EAAY,IACrB,KAAY,YACZ,KAAU,UACV,KAAa,aACb,KAAa,4BACb,KAAQ,aACR,CAAC,KAAY,KAAS,IAAQ,KAAK,mBACnC,CACF;CAYA,OACE,kBAAC,GAAD;EAAK,WAAW;EAAS,OAAO;GAAE,GAVlC,CAAC,KAAY,KAAS,IAAQ,IAC1B;IACE,SAAS;IACT,iBAAiB;IACjB,iBAAiB;IACjB,UAAU;GACZ,IACA,CAAC;GAG4C,GAAG;EAAM;EAAY;EACnE;CACE,CAAA;AAET"}
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+ export type TooltipProps = {
3
+ /** Tooltip text content. */
4
+ content: React.ReactNode;
5
+ /** The element the tooltip is attached to. */
6
+ children: React.ReactNode;
7
+ /** Placement relative to the target. */
8
+ placement?: 'top' | 'bottom' | 'left' | 'right';
9
+ /** Color variant (daisyUI). */
10
+ variant?: 'default' | 'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'error';
11
+ /** Always show the tooltip (useful for demos / onboarding). */
12
+ open?: boolean;
13
+ /** Extra class names applied to the wrapper. */
14
+ className?: string;
15
+ /** Inline styles applied to the wrapper. */
16
+ style?: React.CSSProperties;
17
+ };
18
+ /**
19
+ * Tooltip —— 悬浮提示。基于 daisyUI `tooltip`,纯 CSS 实现,支持四向定位与色调变体。
20
+ * 提示文本通过 `data-tip` 渲染,可访问性良好且无需 JS。
21
+ */
22
+ declare const Tooltip: React.FC<TooltipProps>;
23
+ export default Tooltip;
@@ -0,0 +1,34 @@
1
+ import { cn as e } from "../../utils/cn.js";
2
+ import "react";
3
+ import { jsx as t, jsxs as n } from "react/jsx-runtime";
4
+ //#region src/components/Tooltip/index.tsx
5
+ var r = {
6
+ top: "tooltip-top",
7
+ bottom: "tooltip-bottom",
8
+ left: "tooltip-left",
9
+ right: "tooltip-right"
10
+ }, i = {
11
+ default: "",
12
+ primary: "tooltip-primary",
13
+ secondary: "tooltip-secondary",
14
+ accent: "tooltip-accent",
15
+ info: "tooltip-info",
16
+ success: "tooltip-success",
17
+ warning: "tooltip-warning",
18
+ error: "tooltip-error"
19
+ }, a = ({ content: a, children: o, placement: s = "top", variant: c = "default", open: l = !1, className: u = "", style: d }) => {
20
+ let f = e("tooltip", r[s], i[c], l && "tooltip-open", u);
21
+ return /* @__PURE__ */ n("span", {
22
+ className: f,
23
+ style: d,
24
+ "data-tip": typeof a == "string" ? a : void 0,
25
+ children: [typeof a != "string" && /* @__PURE__ */ t("span", {
26
+ className: "tooltip-content",
27
+ children: a
28
+ }), o]
29
+ });
30
+ };
31
+ //#endregion
32
+ export { a as default };
33
+
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/Tooltip/index.tsx"],"sourcesContent":["import React from 'react';\nimport { cn } from '../../utils/cn';\n\nexport type TooltipProps = {\n /** Tooltip text content. */\n content: React.ReactNode;\n /** The element the tooltip is attached to. */\n children: React.ReactNode;\n /** Placement relative to the target. */\n placement?: 'top' | 'bottom' | 'left' | 'right';\n /** Color variant (daisyUI). */\n variant?: 'default' | 'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'error';\n /** Always show the tooltip (useful for demos / onboarding). */\n open?: boolean;\n /** Extra class names applied to the wrapper. */\n className?: string;\n /** Inline styles applied to the wrapper. */\n style?: React.CSSProperties;\n};\n\nconst PLACEMENT_CLASS: Record<NonNullable<TooltipProps['placement']>, string> = {\n top: 'tooltip-top',\n bottom: 'tooltip-bottom',\n left: 'tooltip-left',\n right: 'tooltip-right',\n};\n\nconst VARIANT_CLASS: Record<NonNullable<TooltipProps['variant']>, string> = {\n default: '',\n primary: 'tooltip-primary',\n secondary: 'tooltip-secondary',\n accent: 'tooltip-accent',\n info: 'tooltip-info',\n success: 'tooltip-success',\n warning: 'tooltip-warning',\n error: 'tooltip-error',\n};\n\n/**\n * Tooltip —— 悬浮提示。基于 daisyUI `tooltip`,纯 CSS 实现,支持四向定位与色调变体。\n * 提示文本通过 `data-tip` 渲染,可访问性良好且无需 JS。\n */\nconst Tooltip: React.FC<TooltipProps> = ({\n content,\n children,\n placement = 'top',\n variant = 'default',\n open = false,\n className = '',\n style,\n}) => {\n const wrapperClasses = cn(\n 'tooltip',\n PLACEMENT_CLASS[placement],\n VARIANT_CLASS[variant],\n open && 'tooltip-open',\n className,\n );\n\n return (\n <span\n className={wrapperClasses}\n style={style}\n data-tip={typeof content === 'string' ? content : undefined}\n >\n {typeof content !== 'string' && (\n <span className=\"tooltip-content\">{content}</span>\n )}\n {children}\n </span>\n );\n};\n\nexport default Tooltip;\n"],"mappings":";;;;AAoBA,IAAM,IAA0E;CAC9E,KAAK;CACL,QAAQ;CACR,MAAM;CACN,OAAO;AACT,GAEM,IAAsE;CAC1E,SAAS;CACT,SAAS;CACT,WAAW;CACX,QAAQ;CACR,MAAM;CACN,SAAS;CACT,SAAS;CACT,OAAO;AACT,GAMM,KAAmC,EACvC,YACA,aACA,eAAY,OACZ,aAAU,WACV,UAAO,IACP,eAAY,IACZ,eACI;CACJ,IAAM,IAAiB,EACrB,WACA,EAAgB,IAChB,EAAc,IACd,KAAQ,gBACR,CACF;CAEA,OACE,kBAAC,QAAD;EACE,WAAW;EACJ;EACP,YAAU,OAAO,KAAY,WAAW,IAAU,KAAA;EAHpD,UAAA,CAKG,OAAO,KAAY,YAClB,kBAAC,QAAD;GAAM,WAAU;GAAmB,UAAA;EAAc,CAAA,GAElD,CACG;;AAEV"}