dishui 0.0.65 → 0.0.67

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 (507) 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/Accordion/index.d.ts +39 -0
  5. package/dist/components/Accordion/index.js +70 -0
  6. package/dist/components/Accordion/index.js.map +1 -0
  7. package/dist/components/Avatar/index.d.ts +48 -0
  8. package/dist/components/Avatar/index.js +71 -0
  9. package/dist/components/Avatar/index.js.map +1 -0
  10. package/dist/components/Badge/index.js +10 -15
  11. package/dist/components/Badge/index.js.map +1 -1
  12. package/dist/components/Button/index.js +62 -89
  13. package/dist/components/Button/index.js.map +1 -1
  14. package/dist/components/Card/index.d.ts +142 -0
  15. package/dist/components/Card/index.js +368 -69
  16. package/dist/components/Card/index.js.map +1 -1
  17. package/dist/components/Chart/Chart.js +25 -25
  18. package/dist/components/Chart/Chart.js.map +1 -1
  19. package/dist/components/Checkbox/index.js +57 -65
  20. package/dist/components/Checkbox/index.js.map +1 -1
  21. package/dist/components/ChoicePicker/index.d.ts +44 -0
  22. package/dist/components/ChoicePicker/index.js +81 -0
  23. package/dist/components/ChoicePicker/index.js.map +1 -0
  24. package/dist/components/Column/index.d.ts +28 -0
  25. package/dist/components/Column/index.js +30 -0
  26. package/dist/components/Column/index.js.map +1 -0
  27. package/dist/components/DateTimeInput/index.d.ts +44 -0
  28. package/dist/components/DateTimeInput/index.js +48 -0
  29. package/dist/components/DateTimeInput/index.js.map +1 -0
  30. package/dist/components/Demo/index.js +107 -107
  31. package/dist/components/Demo/index.js.map +1 -1
  32. package/dist/components/Divider/index.d.ts +20 -0
  33. package/dist/components/Divider/index.js +30 -0
  34. package/dist/components/Divider/index.js.map +1 -0
  35. package/dist/components/EmptyState/index.js +24 -24
  36. package/dist/components/EmptyState/index.js.map +1 -1
  37. package/dist/components/FileUploader/DropZone.js +134 -136
  38. package/dist/components/FileUploader/DropZone.js.map +1 -1
  39. package/dist/components/FileUploader/FileItem.js +159 -163
  40. package/dist/components/FileUploader/FileItem.js.map +1 -1
  41. package/dist/components/FileUploader/FileUploader.js +126 -127
  42. package/dist/components/FileUploader/FileUploader.js.map +1 -1
  43. package/dist/components/FileUploader/UploadQueue.js +62 -62
  44. package/dist/components/FileUploader/UploadQueue.js.map +1 -1
  45. package/dist/components/FloatWindow/index.d.ts +28 -0
  46. package/dist/components/GridLayout/index.d.ts +42 -0
  47. package/dist/components/Icon/index.d.ts +26 -0
  48. package/dist/components/Icon/index.js +27 -0
  49. package/dist/components/Icon/index.js.map +1 -0
  50. package/dist/components/Image/index.d.ts +33 -0
  51. package/dist/components/Image/index.js +44 -0
  52. package/dist/components/Image/index.js.map +1 -0
  53. package/dist/components/Input/index.js +196 -197
  54. package/dist/components/Input/index.js.map +1 -1
  55. package/dist/components/Label/index.js +62 -74
  56. package/dist/components/Label/index.js.map +1 -1
  57. package/dist/components/Layout/index.js +134 -139
  58. package/dist/components/Layout/index.js.map +1 -1
  59. package/dist/components/List/index.js +45 -58
  60. package/dist/components/List/index.js.map +1 -1
  61. package/dist/components/Markdown/Markdown.js +106 -107
  62. package/dist/components/Markdown/Markdown.js.map +1 -1
  63. package/dist/components/Markdown/codeThemes.js +24 -33
  64. package/dist/components/Markdown/codeThemes.js.map +1 -1
  65. package/dist/components/Markdown/markdownComponents.js +203 -208
  66. package/dist/components/Markdown/markdownComponents.js.map +1 -1
  67. package/dist/components/Markdown/parseCodeBlockMeta.js +22 -22
  68. package/dist/components/Markdown/parseCodeBlockMeta.js.map +1 -1
  69. package/dist/components/Markdown/useMarkdownSource.js +46 -46
  70. package/dist/components/Markdown/useMarkdownSource.js.map +1 -1
  71. package/dist/components/Markdown/useMarkmapRenderer.js +35 -36
  72. package/dist/components/Markdown/useMarkmapRenderer.js.map +1 -1
  73. package/dist/components/Markdown/useMermaidRenderer.js +41 -42
  74. package/dist/components/Markdown/useMermaidRenderer.js.map +1 -1
  75. package/dist/components/Modal/index.js +82 -82
  76. package/dist/components/Modal/index.js.map +1 -1
  77. package/dist/components/MultipleChoice/index.d.ts +44 -0
  78. package/dist/components/MultipleChoice/index.js +52 -0
  79. package/dist/components/MultipleChoice/index.js.map +1 -0
  80. package/dist/components/Notification/index.d.ts +17 -0
  81. package/dist/components/Page/index.d.ts +1 -1
  82. package/dist/components/Page/index.js +40 -71
  83. package/dist/components/Page/index.js.map +1 -1
  84. package/dist/components/PageHeader/index.js +28 -28
  85. package/dist/components/PageHeader/index.js.map +1 -1
  86. package/dist/components/ProtectedRoute/index.js +8 -9
  87. package/dist/components/ProtectedRoute/index.js.map +1 -1
  88. package/dist/components/Row/index.d.ts +28 -0
  89. package/dist/components/Row/index.js +30 -0
  90. package/dist/components/Row/index.js.map +1 -0
  91. package/dist/components/Select/index.js +251 -254
  92. package/dist/components/Select/index.js.map +1 -1
  93. package/dist/components/SidebarToggleButton/index.js +56 -59
  94. package/dist/components/SidebarToggleButton/index.js.map +1 -1
  95. package/dist/components/Slider/index.d.ts +39 -0
  96. package/dist/components/Slider/index.js +52 -0
  97. package/dist/components/Slider/index.js.map +1 -0
  98. package/dist/components/Switch/index.d.ts +34 -0
  99. package/dist/components/Switch/index.js +55 -0
  100. package/dist/components/Switch/index.js.map +1 -0
  101. package/dist/components/Tab/index.d.ts +40 -0
  102. package/dist/components/Table/index.js +109 -121
  103. package/dist/components/Table/index.js.map +1 -1
  104. package/dist/components/Tabs/index.js +28 -38
  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 -327
  132. package/dist/components/pro/CodeEditor/editors/CodeEditor.js.map +1 -1
  133. package/dist/components/pro/CodeEditor/editors/MarkdownEditor.js +167 -224
  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 -306
  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 -144
  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 +189 -189
  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 -948
  217. package/dist/components/pro/Flow/Flow.js.map +1 -1
  218. package/dist/components/pro/Flow/FlowCanvas.js +1626 -1662
  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 -180
  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 -242
  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 -589
  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 -248
  345. package/dist/components/pro/Flow/panels/OutlinePanel.js.map +1 -1
  346. package/dist/components/pro/Flow/panels/PresentationMode.js +137 -140
  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 -572
  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 -41
  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 +31 -3
  442. package/dist/index.js +106 -241
  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 -186
  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 +700 -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 -60
  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 +19 -6
  505. package/dist/components/StatCard/index.d.ts +0 -24
  506. package/dist/components/StatCard/index.js +0 -90
  507. package/dist/components/StatCard/index.js.map +0 -1
@@ -1,147 +1,145 @@
1
- import M from "../Button/index.js";
2
- import { useCallback as c, useRef as T, useState as j } from "react";
3
- import { jsx as l, jsxs as w } from "react/jsx-runtime";
4
- var W = {
5
- dropzoneTitle: "Drop files here",
6
- dropzoneHint: "or click to browse",
7
- browseButton: "Browse Files",
8
- fileTooLarge: "File too large",
9
- fileTypeNotAllowed: "File type not allowed",
10
- maxFilesReached: "Maximum number of files reached"
11
- }, R = () => /* @__PURE__ */ l("svg", {
12
- xmlns: "http://www.w3.org/2000/svg",
13
- className: "h-10 w-10 opacity-40",
14
- fill: "none",
15
- viewBox: "0 0 24 24",
16
- stroke: "currentColor",
17
- strokeWidth: 1.5,
18
- children: /* @__PURE__ */ l("path", {
19
- strokeLinecap: "round",
20
- strokeLinejoin: "round",
21
- d: "M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12"
22
- })
1
+ import e from "../Button/index.js";
2
+ import { useCallback as t, useRef as n, useState as r } from "react";
3
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
4
+ //#region src/components/FileUploader/DropZone.tsx
5
+ var o = {
6
+ dropzoneTitle: "Drop files here",
7
+ dropzoneHint: "or click to browse",
8
+ browseButton: "Browse Files",
9
+ fileTooLarge: "File too large",
10
+ fileTypeNotAllowed: "File type not allowed",
11
+ maxFilesReached: "Maximum number of files reached"
12
+ }, s = () => /* @__PURE__ */ i("svg", {
13
+ xmlns: "http://www.w3.org/2000/svg",
14
+ className: "h-10 w-10 opacity-40",
15
+ fill: "none",
16
+ viewBox: "0 0 24 24",
17
+ stroke: "currentColor",
18
+ strokeWidth: 1.5,
19
+ children: /* @__PURE__ */ i("path", {
20
+ strokeLinecap: "round",
21
+ strokeLinejoin: "round",
22
+ d: "M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12"
23
+ })
23
24
  });
24
- function z(r, t, a) {
25
- return t && t.length > 0 && !t.some((o) => {
26
- if (o.startsWith(".")) return r.name.toLowerCase().endsWith(o.toLowerCase());
27
- if (o.endsWith("/*")) {
28
- const f = o.replace("/*", "/");
29
- return r.type.startsWith(f);
30
- }
31
- return r.type === o;
32
- }) ? "fileTypeNotAllowed" : a && r.size > a ? "fileTooLarge" : null;
25
+ function c(e, t, n) {
26
+ return t && t.length > 0 && !t.some((t) => {
27
+ if (t.startsWith(".")) return e.name.toLowerCase().endsWith(t.toLowerCase());
28
+ if (t.endsWith("/*")) {
29
+ let n = t.replace("/*", "/");
30
+ return e.type.startsWith(n);
31
+ }
32
+ return e.type === t;
33
+ }) ? "fileTypeNotAllowed" : n && e.size > n ? "fileTooLarge" : null;
33
34
  }
34
- var F = ({ accept: r, maxFileSize: t, maxFiles: a, multiple: o = !0, currentFileCount: f = 0, labels: x, className: k = "", disabled: n = !1, onFilesAdded: v, onValidationError: m }) => {
35
- const i = {
36
- ...W,
37
- ...x
38
- }, p = T(null), [D, d] = j(!1), u = c((e) => {
39
- const s = [];
40
- for (const h of e) {
41
- if (a && f + s.length >= a) {
42
- m?.(h, i.maxFilesReached);
43
- break;
44
- }
45
- const g = z(h, r, t);
46
- g ? m?.(h, i[g] || g) : s.push(h);
47
- }
48
- s.length > 0 && v(o ? s : [s[0]]);
49
- }, [
50
- r,
51
- t,
52
- a,
53
- o,
54
- f,
55
- i,
56
- v,
57
- m
58
- ]), b = c((e) => {
59
- e.preventDefault(), e.stopPropagation(), n || d(!0);
60
- }, [n]), B = c((e) => {
61
- e.preventDefault(), e.stopPropagation(), d(!1);
62
- }, []), L = c((e) => {
63
- if (e.preventDefault(), e.stopPropagation(), d(!1), n) return;
64
- const s = Array.from(e.dataTransfer.files);
65
- u(s);
66
- }, [n, u]), y = c(() => {
67
- n || p.current?.click();
68
- }, [n]), N = c((e) => {
69
- const s = Array.from(e.target.files || []);
70
- u(s), p.current && (p.current.value = "");
71
- }, [u]), C = r?.join(",");
72
- return /* @__PURE__ */ w("div", {
73
- className: `
35
+ var l = ({ accept: l, maxFileSize: d, maxFiles: f, multiple: p = !0, currentFileCount: m = 0, labels: h, className: g = "", disabled: _ = !1, onFilesAdded: v, onValidationError: y }) => {
36
+ let b = {
37
+ ...o,
38
+ ...h
39
+ }, x = n(null), [S, C] = r(!1), w = t((e) => {
40
+ let t = [];
41
+ for (let n of e) {
42
+ if (f && m + t.length >= f) {
43
+ y?.(n, b.maxFilesReached);
44
+ break;
45
+ }
46
+ let e = c(n, l, d);
47
+ e ? y?.(n, b[e] || e) : t.push(n);
48
+ }
49
+ t.length > 0 && v(p ? t : [t[0]]);
50
+ }, [
51
+ l,
52
+ d,
53
+ f,
54
+ p,
55
+ m,
56
+ b,
57
+ v,
58
+ y
59
+ ]), T = t((e) => {
60
+ e.preventDefault(), e.stopPropagation(), _ || C(!0);
61
+ }, [_]), E = t((e) => {
62
+ e.preventDefault(), e.stopPropagation(), C(!1);
63
+ }, []), D = t((e) => {
64
+ if (e.preventDefault(), e.stopPropagation(), C(!1), _) return;
65
+ let t = Array.from(e.dataTransfer.files);
66
+ w(t);
67
+ }, [_, w]), O = t(() => {
68
+ _ || x.current?.click();
69
+ }, [_]), k = t((e) => {
70
+ let t = Array.from(e.target.files || []);
71
+ w(t), x.current && (x.current.value = "");
72
+ }, [w]), A = l?.join(",");
73
+ return /* @__PURE__ */ a("div", {
74
+ className: `
74
75
  relative flex flex-col items-center justify-center
75
76
  min-h-[200px] p-6 sm:p-8
76
77
  border-2 border-dashed rounded-xl
77
78
  transition-colors duration-200 cursor-pointer
78
- ${D ? "border-primary bg-primary/5" : "border-base-300 hover:border-primary/50 bg-base-100"}
79
- ${n ? "opacity-50 cursor-not-allowed" : ""}
80
- ${k}
79
+ ${S ? "border-primary bg-primary/5" : "border-base-300 hover:border-primary/50 bg-base-100"}
80
+ ${_ ? "opacity-50 cursor-not-allowed" : ""}
81
+ ${g}
81
82
  `,
82
- onDragOver: b,
83
- onDragLeave: B,
84
- onDrop: L,
85
- onClick: y,
86
- role: "button",
87
- tabIndex: 0,
88
- onKeyDown: (e) => {
89
- (e.key === "Enter" || e.key === " ") && y();
90
- },
91
- children: [
92
- /* @__PURE__ */ l("input", {
93
- ref: p,
94
- type: "file",
95
- className: "hidden",
96
- accept: C,
97
- multiple: o,
98
- onChange: N,
99
- disabled: n
100
- }),
101
- /* @__PURE__ */ l(R, {}),
102
- /* @__PURE__ */ l("p", {
103
- className: "mt-3 text-base font-semibold text-base-content",
104
- children: i.dropzoneTitle
105
- }),
106
- /* @__PURE__ */ l("p", {
107
- className: "mt-1 text-sm opacity-60",
108
- children: i.dropzoneHint
109
- }),
110
- /* @__PURE__ */ l(M, {
111
- variant: "primary",
112
- size: "sm",
113
- outline: !0,
114
- className: "mt-4",
115
- disabled: n,
116
- onClick: () => {
117
- },
118
- children: i.browseButton
119
- }),
120
- r && r.length > 0 && /* @__PURE__ */ l("p", {
121
- className: "mt-3 text-xs opacity-50",
122
- children: r.join(", ")
123
- }),
124
- t && /* @__PURE__ */ w("p", {
125
- className: "text-xs opacity-50",
126
- children: ["Max: ", A(t)]
127
- })
128
- ]
129
- });
83
+ onDragOver: T,
84
+ onDragLeave: E,
85
+ onDrop: D,
86
+ onClick: O,
87
+ role: "button",
88
+ tabIndex: 0,
89
+ onKeyDown: (e) => {
90
+ (e.key === "Enter" || e.key === " ") && O();
91
+ },
92
+ children: [
93
+ /* @__PURE__ */ i("input", {
94
+ ref: x,
95
+ type: "file",
96
+ className: "hidden",
97
+ accept: A,
98
+ multiple: p,
99
+ onChange: k,
100
+ disabled: _
101
+ }),
102
+ /* @__PURE__ */ i(s, {}),
103
+ /* @__PURE__ */ i("p", {
104
+ className: "mt-3 text-base font-semibold text-base-content",
105
+ children: b.dropzoneTitle
106
+ }),
107
+ /* @__PURE__ */ i("p", {
108
+ className: "mt-1 text-sm opacity-60",
109
+ children: b.dropzoneHint
110
+ }),
111
+ /* @__PURE__ */ i(e, {
112
+ variant: "primary",
113
+ size: "sm",
114
+ outline: !0,
115
+ className: "mt-4",
116
+ disabled: _,
117
+ onClick: () => {},
118
+ children: b.browseButton
119
+ }),
120
+ l && l.length > 0 && /* @__PURE__ */ i("p", {
121
+ className: "mt-3 text-xs opacity-50",
122
+ children: l.join(", ")
123
+ }),
124
+ d && /* @__PURE__ */ a("p", {
125
+ className: "text-xs opacity-50",
126
+ children: ["Max: ", u(d)]
127
+ })
128
+ ]
129
+ });
130
130
  };
131
- function A(r) {
132
- if (r === 0) return "0 B";
133
- const t = 1024, a = [
134
- "B",
135
- "KB",
136
- "MB",
137
- "GB",
138
- "TB"
139
- ], o = Math.floor(Math.log(r) / Math.log(t));
140
- return parseFloat((r / Math.pow(t, o)).toFixed(1)) + " " + a[o];
131
+ function u(e) {
132
+ if (e === 0) return "0 B";
133
+ let t = 1024, n = [
134
+ "B",
135
+ "KB",
136
+ "MB",
137
+ "GB",
138
+ "TB"
139
+ ], r = Math.floor(Math.log(e) / Math.log(t));
140
+ return parseFloat((e / t ** r).toFixed(1)) + " " + n[r];
141
141
  }
142
- export {
143
- F as DropZone,
144
- A as formatFileSize
145
- };
142
+ //#endregion
143
+ export { l as DropZone, u as formatFileSize };
146
144
 
147
145
  //# sourceMappingURL=DropZone.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DropZone.js","names":[],"sources":["../../../src/components/FileUploader/DropZone.tsx"],"sourcesContent":["import React, { useRef, useState, useCallback } from 'react';\nimport { DropZoneProps } from './types';\nimport Button from '../Button';\n\nconst defaultLabels = {\n dropzoneTitle: 'Drop files here',\n dropzoneHint: 'or click to browse',\n browseButton: 'Browse Files',\n fileTooLarge: 'File too large',\n fileTypeNotAllowed: 'File type not allowed',\n maxFilesReached: 'Maximum number of files reached',\n};\n\nconst UploadIcon = () => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-10 w-10 opacity-40\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" strokeWidth={1.5}>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12\" />\n </svg>\n);\n\n/** Validate a single file against accept list and max size */\nfunction validateFile(\n file: File,\n accept?: string[],\n maxFileSize?: number,\n): string | null {\n // Check file type\n if (accept && accept.length > 0) {\n const allowed = accept.some(pattern => {\n if (pattern.startsWith('.')) {\n // Extension match\n return file.name.toLowerCase().endsWith(pattern.toLowerCase());\n }\n if (pattern.endsWith('/*')) {\n // MIME prefix match (e.g. image/*)\n const prefix = pattern.replace('/*', '/');\n return file.type.startsWith(prefix);\n }\n // Exact MIME match\n return file.type === pattern;\n });\n if (!allowed) return 'fileTypeNotAllowed';\n }\n\n // Check file size\n if (maxFileSize && file.size > maxFileSize) {\n return 'fileTooLarge';\n }\n\n return null;\n}\n\nexport const DropZone: React.FC<DropZoneProps> = ({\n accept,\n maxFileSize,\n maxFiles,\n multiple = true,\n currentFileCount = 0,\n labels: userLabels,\n className = '',\n disabled = false,\n onFilesAdded,\n onValidationError,\n}) => {\n const labels = { ...defaultLabels, ...userLabels };\n const inputRef = useRef<HTMLInputElement>(null);\n const [isDragOver, setIsDragOver] = useState(false);\n\n const processFiles = useCallback((rawFiles: File[]) => {\n const valid: File[] = [];\n for (const file of rawFiles) {\n // Check max files limit\n if (maxFiles && (currentFileCount + valid.length) >= maxFiles) {\n onValidationError?.(file, labels.maxFilesReached!);\n break;\n }\n const error = validateFile(file, accept, maxFileSize);\n if (error) {\n onValidationError?.(file, labels[error as keyof typeof labels] || error);\n } else {\n valid.push(file);\n }\n }\n if (valid.length > 0) {\n onFilesAdded(multiple ? valid : [valid[0]]);\n }\n }, [accept, maxFileSize, maxFiles, multiple, currentFileCount, labels, onFilesAdded, onValidationError]);\n\n const handleDragOver = useCallback((e: React.DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n if (!disabled) setIsDragOver(true);\n }, [disabled]);\n\n const handleDragLeave = useCallback((e: React.DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n setIsDragOver(false);\n }, []);\n\n const handleDrop = useCallback((e: React.DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n setIsDragOver(false);\n if (disabled) return;\n const files = Array.from(e.dataTransfer.files);\n processFiles(files);\n }, [disabled, processFiles]);\n\n const handleClick = useCallback(() => {\n if (!disabled) inputRef.current?.click();\n }, [disabled]);\n\n const handleInputChange = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n const files = Array.from(e.target.files || []);\n processFiles(files);\n // Reset input so same file can be re-selected\n if (inputRef.current) inputRef.current.value = '';\n }, [processFiles]);\n\n const acceptStr = accept?.join(',');\n\n return (\n <div\n className={`\n relative flex flex-col items-center justify-center\n min-h-[200px] p-6 sm:p-8\n border-2 border-dashed rounded-xl\n transition-colors duration-200 cursor-pointer\n ${isDragOver\n ? 'border-primary bg-primary/5'\n : 'border-base-300 hover:border-primary/50 bg-base-100'\n }\n ${disabled ? 'opacity-50 cursor-not-allowed' : ''}\n ${className}\n `}\n onDragOver={handleDragOver}\n onDragLeave={handleDragLeave}\n onDrop={handleDrop}\n onClick={handleClick}\n role=\"button\"\n tabIndex={0}\n onKeyDown={(e) => { if (e.key === 'Enter' || e.key === ' ') handleClick(); }}\n >\n <input\n ref={inputRef}\n type=\"file\"\n className=\"hidden\"\n accept={acceptStr}\n multiple={multiple}\n onChange={handleInputChange}\n disabled={disabled}\n />\n\n <UploadIcon />\n\n <p className=\"mt-3 text-base font-semibold text-base-content\">\n {labels.dropzoneTitle}\n </p>\n <p className=\"mt-1 text-sm opacity-60\">\n {labels.dropzoneHint}\n </p>\n\n <Button\n variant=\"primary\"\n size=\"sm\"\n outline\n className=\"mt-4\"\n disabled={disabled}\n onClick={() => { /* click propagation handled by parent div */ }}\n >\n {labels.browseButton}\n </Button>\n\n {accept && accept.length > 0 && (\n <p className=\"mt-3 text-xs opacity-50\">\n {accept.join(', ')}\n </p>\n )}\n {maxFileSize && (\n <p className=\"text-xs opacity-50\">\n Max: {formatFileSize(maxFileSize)}\n </p>\n )}\n </div>\n );\n};\n\n/** Format bytes to human-readable string */\nexport function formatFileSize(bytes: number): string {\n if (bytes === 0) return '0 B';\n const k = 1024;\n const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return parseFloat((bytes / Math.pow(k, i)).toFixed(1)) + ' ' + sizes[i];\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"DropZone.js","names":[],"sources":["../../../src/components/FileUploader/DropZone.tsx"],"sourcesContent":["import React, { useRef, useState, useCallback } from 'react';\nimport { DropZoneProps } from './types';\nimport Button from '../Button';\n\nconst defaultLabels = {\n dropzoneTitle: 'Drop files here',\n dropzoneHint: 'or click to browse',\n browseButton: 'Browse Files',\n fileTooLarge: 'File too large',\n fileTypeNotAllowed: 'File type not allowed',\n maxFilesReached: 'Maximum number of files reached',\n};\n\nconst UploadIcon = () => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-10 w-10 opacity-40\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" strokeWidth={1.5}>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12\" />\n </svg>\n);\n\n/** Validate a single file against accept list and max size */\nfunction validateFile(\n file: File,\n accept?: string[],\n maxFileSize?: number,\n): string | null {\n // Check file type\n if (accept && accept.length > 0) {\n const allowed = accept.some(pattern => {\n if (pattern.startsWith('.')) {\n // Extension match\n return file.name.toLowerCase().endsWith(pattern.toLowerCase());\n }\n if (pattern.endsWith('/*')) {\n // MIME prefix match (e.g. image/*)\n const prefix = pattern.replace('/*', '/');\n return file.type.startsWith(prefix);\n }\n // Exact MIME match\n return file.type === pattern;\n });\n if (!allowed) return 'fileTypeNotAllowed';\n }\n\n // Check file size\n if (maxFileSize && file.size > maxFileSize) {\n return 'fileTooLarge';\n }\n\n return null;\n}\n\nexport const DropZone: React.FC<DropZoneProps> = ({\n accept,\n maxFileSize,\n maxFiles,\n multiple = true,\n currentFileCount = 0,\n labels: userLabels,\n className = '',\n disabled = false,\n onFilesAdded,\n onValidationError,\n}) => {\n const labels = { ...defaultLabels, ...userLabels };\n const inputRef = useRef<HTMLInputElement>(null);\n const [isDragOver, setIsDragOver] = useState(false);\n\n const processFiles = useCallback((rawFiles: File[]) => {\n const valid: File[] = [];\n for (const file of rawFiles) {\n // Check max files limit\n if (maxFiles && (currentFileCount + valid.length) >= maxFiles) {\n onValidationError?.(file, labels.maxFilesReached!);\n break;\n }\n const error = validateFile(file, accept, maxFileSize);\n if (error) {\n onValidationError?.(file, labels[error as keyof typeof labels] || error);\n } else {\n valid.push(file);\n }\n }\n if (valid.length > 0) {\n onFilesAdded(multiple ? valid : [valid[0]]);\n }\n }, [accept, maxFileSize, maxFiles, multiple, currentFileCount, labels, onFilesAdded, onValidationError]);\n\n const handleDragOver = useCallback((e: React.DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n if (!disabled) setIsDragOver(true);\n }, [disabled]);\n\n const handleDragLeave = useCallback((e: React.DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n setIsDragOver(false);\n }, []);\n\n const handleDrop = useCallback((e: React.DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n setIsDragOver(false);\n if (disabled) return;\n const files = Array.from(e.dataTransfer.files);\n processFiles(files);\n }, [disabled, processFiles]);\n\n const handleClick = useCallback(() => {\n if (!disabled) inputRef.current?.click();\n }, [disabled]);\n\n const handleInputChange = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n const files = Array.from(e.target.files || []);\n processFiles(files);\n // Reset input so same file can be re-selected\n if (inputRef.current) inputRef.current.value = '';\n }, [processFiles]);\n\n const acceptStr = accept?.join(',');\n\n return (\n <div\n className={`\n relative flex flex-col items-center justify-center\n min-h-[200px] p-6 sm:p-8\n border-2 border-dashed rounded-xl\n transition-colors duration-200 cursor-pointer\n ${isDragOver\n ? 'border-primary bg-primary/5'\n : 'border-base-300 hover:border-primary/50 bg-base-100'\n }\n ${disabled ? 'opacity-50 cursor-not-allowed' : ''}\n ${className}\n `}\n onDragOver={handleDragOver}\n onDragLeave={handleDragLeave}\n onDrop={handleDrop}\n onClick={handleClick}\n role=\"button\"\n tabIndex={0}\n onKeyDown={(e) => { if (e.key === 'Enter' || e.key === ' ') handleClick(); }}\n >\n <input\n ref={inputRef}\n type=\"file\"\n className=\"hidden\"\n accept={acceptStr}\n multiple={multiple}\n onChange={handleInputChange}\n disabled={disabled}\n />\n\n <UploadIcon />\n\n <p className=\"mt-3 text-base font-semibold text-base-content\">\n {labels.dropzoneTitle}\n </p>\n <p className=\"mt-1 text-sm opacity-60\">\n {labels.dropzoneHint}\n </p>\n\n <Button\n variant=\"primary\"\n size=\"sm\"\n outline\n className=\"mt-4\"\n disabled={disabled}\n onClick={() => { /* click propagation handled by parent div */ }}\n >\n {labels.browseButton}\n </Button>\n\n {accept && accept.length > 0 && (\n <p className=\"mt-3 text-xs opacity-50\">\n {accept.join(', ')}\n </p>\n )}\n {maxFileSize && (\n <p className=\"text-xs opacity-50\">\n Max: {formatFileSize(maxFileSize)}\n </p>\n )}\n </div>\n );\n};\n\n/** Format bytes to human-readable string */\nexport function formatFileSize(bytes: number): string {\n if (bytes === 0) return '0 B';\n const k = 1024;\n const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return parseFloat((bytes / Math.pow(k, i)).toFixed(1)) + ' ' + sizes[i];\n}\n"],"mappings":"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"}