@gientech/modual 1.3.3 → 1.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (307) hide show
  1. package/README.md +129 -129
  2. package/{dist/assets → assets}/database.svg +11 -11
  3. package/{src/modules/database/assets → assets}/database_add.svg +53 -53
  4. package/{dist/assets → assets}/database_connect.svg +66 -66
  5. package/{dist/assets → assets}/database_upload.svg +29 -29
  6. package/{dist/assets → assets}/defaultWeLogo.svg +14 -14
  7. package/{dist/assets/index-mPgEc8KC.js → assets/index-CDNF071H.js} +38 -38
  8. package/{dist/assets/index-XvC_4jDB.js → assets/index-Ce4td48i.js} +20 -20
  9. package/{dist/assets → assets}/mysql.svg +14 -14
  10. package/{dist/chat.js → chat.js} +2 -2
  11. package/database.js +20 -0
  12. package/{dist/databaseId.js → databaseId.js} +1 -1
  13. package/{dist/databaseTable.js → databaseTable.js} +1 -1
  14. package/{dist/modelManage.js → modelManage.js} +1 -1
  15. package/package.json +39 -83
  16. package/{dist/sensitive.js → sensitive.js} +1 -1
  17. package/{dist/streamFilesReader.js → streamFilesReader.js} +10 -10
  18. package/{dist/worker → worker}/pdf.worker.min.js +21 -21
  19. package/.editorconfig +0 -38
  20. package/.prettierignore +0 -16
  21. package/.prettierrc +0 -17
  22. package/USAGE.md +0 -191
  23. package/bash.exe.stackdump +0 -40
  24. package/components.json +0 -21
  25. package/dist/README.md +0 -129
  26. package/dist/assets/database_add.svg +0 -53
  27. package/dist/database.js +0 -20
  28. package/dist/package.json +0 -56
  29. package/doc_assets/2.png +0 -0
  30. package/doc_assets/demo.md +0 -27
  31. package/doc_assets/demos/dist-app/assets/index.Dh-ZAS9Z.css +0 -2
  32. package/doc_assets/demos/dist-app/assets/index.Dv8KVW18.js +0 -23699
  33. package/doc_assets/demos/dist-app/assets/index.Dv8KVW18.js.map +0 -1
  34. package/doc_assets/demos/dist-app/index.html +0 -14
  35. package/doc_assets/demos/dist-app/vite.svg +0 -1
  36. package/doc_assets/images/1.png +0 -0
  37. package/doc_assets/images/3.png +0 -0
  38. package/doc_assets/images/component-screenshot.png +0 -1
  39. package/doc_assets/install.md +0 -5
  40. package/eslint.config.js +0 -92
  41. package/index.html +0 -13
  42. package/postcss.config.cjs +0 -19
  43. package/public/vite.svg +0 -1
  44. package/public/worker/pdf.worker.min.js +0 -22
  45. package/scripts/README.md +0 -133
  46. package/scripts/build-demo.js +0 -88
  47. package/scripts/demo-selector.js +0 -216
  48. package/scripts/dev-demo.js +0 -76
  49. package/scripts/preview-demo.js +0 -130
  50. package/scripts/run-demo.bat +0 -34
  51. package/src/assets/img/downArrow.png +0 -0
  52. package/src/assets/img/excel.png +0 -0
  53. package/src/assets/img/img.png +0 -0
  54. package/src/assets/img/pdf.png +0 -0
  55. package/src/assets/img/ppt.png +0 -0
  56. package/src/assets/img/txt.png +0 -0
  57. package/src/assets/img/word.png +0 -0
  58. package/src/assets/login/homeBg.png +0 -0
  59. package/src/assets/login/left.jpg +0 -0
  60. package/src/assets/login/logoImg.png +0 -0
  61. package/src/examples/LoginPage/index.tsx +0 -18
  62. package/src/examples/aaa/index.tsx +0 -3758
  63. package/src/examples/chat/components/DrawerGraphPreview.tsx +0 -78
  64. package/src/examples/chat/index.tsx +0 -190
  65. package/src/examples/gientechStreamFilesReader/index.tsx +0 -1016
  66. package/src/examples/ragDatabaseDataPage/index.tsx +0 -36
  67. package/src/examples/ragDatabaseIdPage/index.tsx +0 -44
  68. package/src/examples/ragDatabasePage/index.tsx +0 -36
  69. package/src/examples/ragModelManagePage/index.tsx +0 -37
  70. package/src/examples/ragSearchPage/index.tsx +0 -0
  71. package/src/examples/ragSensitiveWordsPage/index.tsx +0 -32
  72. package/src/examples/streamFiles/index.tsx +0 -384
  73. package/src/lib_enter.ts +0 -38
  74. package/src/main.tsx +0 -5
  75. package/src/main.tsx.backup +0 -5
  76. package/src/modules/chat/Conversations/Item.tsx +0 -167
  77. package/src/modules/chat/Conversations/List.tsx +0 -143
  78. package/src/modules/chat/Conversations/groupByTime.ts +0 -39
  79. package/src/modules/chat/Conversations/index.tsx +0 -212
  80. package/src/modules/chat/constants.tsx +0 -33
  81. package/src/modules/chat/data.txt +0 -82
  82. package/src/modules/chat/index.tsx +0 -1908
  83. package/src/modules/chat/types.ts +0 -17
  84. package/src/modules/database/CreateModal.tsx +0 -398
  85. package/src/modules/database/assets/Doris.png +0 -0
  86. package/src/modules/database/assets/PostgreSQL.png +0 -0
  87. package/src/modules/database/assets/SQLServer.png +0 -0
  88. package/src/modules/database/assets/database.svg +0 -11
  89. package/src/modules/database/assets/database_connect.svg +0 -66
  90. package/src/modules/database/assets/database_upload.svg +0 -29
  91. package/src/modules/database/assets/empty.png +0 -0
  92. package/src/modules/database/assets/mysql.svg +0 -14
  93. package/src/modules/database/index.tsx +0 -466
  94. package/src/modules/database/server.ts +0 -196
  95. package/src/modules/databaseId/CustomCom.tsx +0 -156
  96. package/src/modules/databaseId/EditConfig.tsx +0 -268
  97. package/src/modules/databaseId/UploadDrawer.tsx +0 -520
  98. package/src/modules/databaseId/assets/aiOptimize.svg +0 -10
  99. package/src/modules/databaseId/assets/empty.png +0 -0
  100. package/src/modules/databaseId/assets/template.svg +0 -6
  101. package/src/modules/databaseId/assets/upload.svg +0 -9
  102. package/src/modules/databaseId/assets/useTemp.svg +0 -6
  103. package/src/modules/databaseId/index.tsx +0 -734
  104. package/src/modules/databaseId/server.ts +0 -286
  105. package/src/modules/databaseId/style.css +0 -5
  106. package/src/modules/databaseTable/EditRowDrawer.tsx +0 -119
  107. package/src/modules/databaseTable/index.tsx +0 -357
  108. package/src/modules/databaseTable/server.ts +0 -180
  109. package/src/modules/headlessChat/constants.tsx +0 -32
  110. package/src/modules/headlessChat/index.tsx +0 -1065
  111. package/src/modules/headlessChat/types.ts +0 -23
  112. package/src/modules/login/components/Login/LoginBox/index.tsx +0 -102
  113. package/src/modules/login/components/Login/RegisterBox/index.tsx +0 -180
  114. package/src/modules/login/components/Login/index.tsx +0 -100
  115. package/src/modules/login/index.tsx +0 -106
  116. package/src/modules/login/style.css +0 -3
  117. package/src/modules/login/useServices.ts +0 -53
  118. package/src/modules/login/utils.ts +0 -42
  119. package/src/modules/modelManage/ConfigDrawer.tsx +0 -249
  120. package/src/modules/modelManage/assets/empty.png +0 -0
  121. package/src/modules/modelManage/const.ts +0 -50
  122. package/src/modules/modelManage/index.tsx +0 -439
  123. package/src/modules/modelManage/server.ts +0 -185
  124. package/src/modules/nodegraph/index.tsx +0 -1
  125. package/src/modules/search/assets/Icon-history.svg +0 -8
  126. package/src/modules/search/assets/answerAwartar.png +0 -0
  127. package/src/modules/search/assets/doc.png +0 -0
  128. package/src/modules/search/assets/genera.gif +0 -0
  129. package/src/modules/search/assets/icon-robot.svg +0 -9
  130. package/src/modules/search/assets/icon-search-bar.svg +0 -14
  131. package/src/modules/search/assets/icon-sub-title.svg +0 -3
  132. package/src/modules/search/assets/icon-title.svg +0 -9
  133. package/src/modules/search/assets/icon-zoomOut.svg +0 -9
  134. package/src/modules/search/assets/iconAi.svg +0 -9
  135. package/src/modules/search/assets/pdf.png +0 -0
  136. package/src/modules/search/assets/ppt.png +0 -0
  137. package/src/modules/search/assets/search.svg +0 -3
  138. package/src/modules/search/assets/selected.svg +0 -4
  139. package/src/modules/search/assets/txt.png +0 -0
  140. package/src/modules/search/assets/xls.png +0 -0
  141. package/src/modules/search/components/AssisSelect.tsx +0 -137
  142. package/src/modules/search/components/Editor/ChatViewEditor.tsx +0 -261
  143. package/src/modules/search/components/Editor/aichat.css +0 -1
  144. package/src/modules/search/components/Editor/constant.ts +0 -13
  145. package/src/modules/search/components/Editor/index.tsx +0 -113
  146. package/src/modules/search/components/Editor/plugins/autofomatRules.ts +0 -332
  147. package/src/modules/search/components/Editor/plugins/convertImgPlugins.tsx +0 -20
  148. package/src/modules/search/components/Editor/plugins/createIndexes.tsx +0 -38
  149. package/src/modules/search/components/Editor/plugins/displayer.ts +0 -298
  150. package/src/modules/search/components/Editor/plugins/imageClick.tsx +0 -32
  151. package/src/modules/search/components/Editor/plugins/myplugin.tsx +0 -98
  152. package/src/modules/search/components/Editor/ui/avatar.tsx +0 -19
  153. package/src/modules/search/components/Editor/ui/blockquote-element.tsx +0 -21
  154. package/src/modules/search/components/Editor/ui/button.tsx +0 -58
  155. package/src/modules/search/components/Editor/ui/calendar.tsx +0 -68
  156. package/src/modules/search/components/Editor/ui/caption.tsx +0 -46
  157. package/src/modules/search/components/Editor/ui/checkbox.tsx +0 -27
  158. package/src/modules/search/components/Editor/ui/code-block-combobox.tsx +0 -188
  159. package/src/modules/search/components/Editor/ui/code-block-element.css +0 -434
  160. package/src/modules/search/components/Editor/ui/code-block-element.tsx +0 -39
  161. package/src/modules/search/components/Editor/ui/code-leaf.tsx +0 -24
  162. package/src/modules/search/components/Editor/ui/code-line-element.tsx +0 -10
  163. package/src/modules/search/components/Editor/ui/code-syntax-leaf.tsx +0 -21
  164. package/src/modules/search/components/Editor/ui/column-element.tsx +0 -30
  165. package/src/modules/search/components/Editor/ui/column-group-element.tsx +0 -94
  166. package/src/modules/search/components/Editor/ui/command.tsx +0 -75
  167. package/src/modules/search/components/Editor/ui/comment-avatar.tsx +0 -22
  168. package/src/modules/search/components/Editor/ui/comment-create-form.tsx +0 -37
  169. package/src/modules/search/components/Editor/ui/comment-item.tsx +0 -74
  170. package/src/modules/search/components/Editor/ui/comment-leaf.tsx +0 -49
  171. package/src/modules/search/components/Editor/ui/comment-more-dropdown.tsx +0 -42
  172. package/src/modules/search/components/Editor/ui/comment-reply-items.tsx +0 -22
  173. package/src/modules/search/components/Editor/ui/comment-resolve-button.tsx +0 -32
  174. package/src/modules/search/components/Editor/ui/comment-value.tsx +0 -34
  175. package/src/modules/search/components/Editor/ui/comments-popover.tsx +0 -63
  176. package/src/modules/search/components/Editor/ui/date-element.tsx +0 -83
  177. package/src/modules/search/components/Editor/ui/dialog.tsx +0 -63
  178. package/src/modules/search/components/Editor/ui/draggable.tsx +0 -177
  179. package/src/modules/search/components/Editor/ui/dropdown-menu.tsx +0 -180
  180. package/src/modules/search/components/Editor/ui/emoji-input-element.tsx +0 -85
  181. package/src/modules/search/components/Editor/ui/excalidraw-element.tsx +0 -28
  182. package/src/modules/search/components/Editor/ui/fixed-toolbar-buttons.tsx +0 -76
  183. package/src/modules/search/components/Editor/ui/fixed-toolbar.tsx +0 -8
  184. package/src/modules/search/components/Editor/ui/floating-toolbar-buttons.tsx +0 -51
  185. package/src/modules/search/components/Editor/ui/floating-toolbar.tsx +0 -77
  186. package/src/modules/search/components/Editor/ui/heading-element.tsx +0 -48
  187. package/src/modules/search/components/Editor/ui/highlight-leaf.tsx +0 -17
  188. package/src/modules/search/components/Editor/ui/hr-element.tsx +0 -30
  189. package/src/modules/search/components/Editor/ui/icons.tsx +0 -267
  190. package/src/modules/search/components/Editor/ui/image-element.tsx +0 -74
  191. package/src/modules/search/components/Editor/ui/inline-combobox.tsx +0 -368
  192. package/src/modules/search/components/Editor/ui/input.tsx +0 -25
  193. package/src/modules/search/components/Editor/ui/insert-dropdown-menu.tsx +0 -218
  194. package/src/modules/search/components/Editor/ui/kbd-leaf.tsx +0 -20
  195. package/src/modules/search/components/Editor/ui/link-element.tsx +0 -29
  196. package/src/modules/search/components/Editor/ui/link-floating-toolbar.tsx +0 -161
  197. package/src/modules/search/components/Editor/ui/list-element.tsx +0 -30
  198. package/src/modules/search/components/Editor/ui/mark-toolbar-button.tsx +0 -24
  199. package/src/modules/search/components/Editor/ui/media-embed-element.tsx +0 -133
  200. package/src/modules/search/components/Editor/ui/media-popover.tsx +0 -97
  201. package/src/modules/search/components/Editor/ui/mention-element.tsx +0 -43
  202. package/src/modules/search/components/Editor/ui/mention-input-element.tsx +0 -141
  203. package/src/modules/search/components/Editor/ui/mode-dropdown-menu.tsx +0 -93
  204. package/src/modules/search/components/Editor/ui/more-dropdown-menu.tsx +0 -67
  205. package/src/modules/search/components/Editor/ui/paragraph-element.tsx +0 -4
  206. package/src/modules/search/components/Editor/ui/placeholder.tsx +0 -52
  207. package/src/modules/search/components/Editor/ui/popover.tsx +0 -32
  208. package/src/modules/search/components/Editor/ui/resizable.tsx +0 -66
  209. package/src/modules/search/components/Editor/ui/separator.tsx +0 -25
  210. package/src/modules/search/components/Editor/ui/style.less +0 -12
  211. package/src/modules/search/components/Editor/ui/table-cell-element.tsx +0 -143
  212. package/src/modules/search/components/Editor/ui/table-element.tsx +0 -243
  213. package/src/modules/search/components/Editor/ui/table-row-element.tsx +0 -22
  214. package/src/modules/search/components/Editor/ui/tableValue.tsx +0 -135
  215. package/src/modules/search/components/Editor/ui/todo-list-element.tsx +0 -43
  216. package/src/modules/search/components/Editor/ui/toggle-element.tsx +0 -31
  217. package/src/modules/search/components/Editor/ui/toolbar.tsx +0 -157
  218. package/src/modules/search/components/Editor/ui/tooltip.tsx +0 -65
  219. package/src/modules/search/components/Editor/ui/turn-into-dropdown-menu.tsx +0 -160
  220. package/src/modules/search/components/Editor/ui/with-draggables.tsx +0 -175
  221. package/src/modules/search/components/FileList.tsx +0 -287
  222. package/src/modules/search/components/ImageGroupView/index.tsx +0 -85
  223. package/src/modules/search/components/ResultContent.tsx +0 -232
  224. package/src/modules/search/components/SearchInput.tsx +0 -232
  225. package/src/modules/search/components/SearchLanding.tsx +0 -74
  226. package/src/modules/search/components/SearchView.tsx +0 -563
  227. package/src/modules/search/components/SimpleEditor.tsx +0 -158
  228. package/src/modules/search/components/SimpleFileList.tsx +0 -215
  229. package/src/modules/search/index.tsx +0 -10
  230. package/src/modules/search/reademe.md +0 -1
  231. package/src/modules/search/servers/apis.tsx +0 -19
  232. package/src/modules/search/servers/index.ts +0 -184
  233. package/src/modules/search/style.less +0 -503
  234. package/src/modules/search/type.ts +0 -22
  235. package/src/modules/search/utils.ts +0 -34
  236. package/src/modules/sensitive/index.tsx +0 -313
  237. package/src/modules/sensitive/server.ts +0 -122
  238. package/src/modules/streamFilesReader/GientechStreamReader.tsx +0 -1555
  239. package/src/modules/streamFilesReader/components/Header/Toolbar.tsx +0 -0
  240. package/src/modules/streamFilesReader/components/Header/index.tsx +0 -297
  241. package/src/modules/streamFilesReader/index.tsx +0 -3
  242. package/src/style.css +0 -6
  243. package/src/type.d.ts +0 -0
  244. package/src/utils/commonFn.tsx +0 -111
  245. package/src/utils/gientechCommon/components/AppError.tsx +0 -32
  246. package/src/utils/gientechCommon/components/AppLoading.tsx +0 -75
  247. package/src/utils/gientechCommon/components/DeleteModal.tsx +0 -75
  248. package/src/utils/gientechCommon/components/DisplayError.tsx +0 -33
  249. package/src/utils/gientechCommon/components/DisplayLoading.tsx +0 -38
  250. package/src/utils/gientechCommon/components/FeedBackModal.tsx +0 -310
  251. package/src/utils/gientechCommon/components/FileCardCommon.tsx +0 -82
  252. package/src/utils/gientechCommon/components/FileManager/index.tsx +0 -390
  253. package/src/utils/gientechCommon/components/FileManager/style.css +0 -5
  254. package/src/utils/gientechCommon/components/Messages/GientechNewChatWelcome.tsx +0 -296
  255. package/src/utils/gientechCommon/components/Messages/ReferenceCard.tsx +0 -339
  256. package/src/utils/gientechCommon/components/Messages/RetriveItem.tsx +0 -245
  257. package/src/utils/gientechCommon/components/Messages/WebRetriveItem.tsx +0 -209
  258. package/src/utils/gientechCommon/components/Messages/defaultBot.png +0 -0
  259. package/src/utils/gientechCommon/components/Messages/defaultStyleSet.tsx +0 -148
  260. package/src/utils/gientechCommon/components/Messages/defaultWeLogo.svg +0 -14
  261. package/src/utils/gientechCommon/components/RenameModal.tsx +0 -86
  262. package/src/utils/gientechCommon/components/style.less +0 -11
  263. package/src/utils/gientechCommon/configs/commonConfig.ts +0 -2
  264. package/src/utils/gientechCommon/configs/senderConfig.ts +0 -0
  265. package/src/utils/gientechCommon/configs/stylesConfig.ts +0 -142
  266. package/src/utils/gientechCommon/hooks/AichatUseController.tsx +0 -345
  267. package/src/utils/gientechCommon/slate/converters/deserializers.ts +0 -763
  268. package/src/utils/gientechCommon/slate/converters/mockData.ts +0 -232
  269. package/src/utils/gientechCommon/slate/converters/slateConverters.ts +0 -258
  270. package/src/utils/gientechCommon/slate/richElements/index.tsx +0 -499
  271. package/src/utils/gientechCommon/utils/request.ts +0 -37
  272. package/src/utils/gientechCommon/utils/serverFn.ts +0 -172
  273. package/src/utils/index.tsx +0 -126
  274. package/src/utils/testconfigs/demologin/index.tsx +0 -32
  275. package/src/utils/testconfigs/index.ts +0 -53
  276. package/src/vite-env.d.ts +0 -11
  277. package/stats.html +0 -4949
  278. package/tailwind.config.js +0 -170
  279. package/tsconfig.app.json +0 -30
  280. package/tsconfig.app.tsbuildinfo +0 -11
  281. package/tsconfig.json +0 -13
  282. package/tsconfig.node.json +0 -22
  283. package/tsconfig.node.tsbuildinfo +0 -1
  284. package/vite.config.ts +0 -177
  285. package/workflows/release.yml +0 -60
  286. /package/{dist/assets → assets}/Doris.png +0 -0
  287. /package/{dist/assets → assets}/PostgreSQL.png +0 -0
  288. /package/{dist/assets → assets}/SQLServer.png +0 -0
  289. /package/{dist/assets → assets}/_commonjsHelpers-gnU0ypJ3.js +0 -0
  290. /package/{dist/assets → assets}/circle-alert-g2Y6zAjt.js +0 -0
  291. /package/{dist/assets → assets}/empty.png +0 -0
  292. /package/{dist/assets → assets}/index-CEK88UzR.js +0 -0
  293. /package/{dist/assets → assets}/index-CpW6Dhpp.js +0 -0
  294. /package/{dist/assets → assets}/plus-omCUN0e3.js +0 -0
  295. /package/{dist/assets → assets}/style.css +0 -0
  296. /package/{dist/assets → assets}/style2.css +0 -0
  297. /package/{dist/assets → assets}/style3.css +0 -0
  298. /package/{dist/assets → assets}/styled-components.browser.esm-DPkS13KC.js +0 -0
  299. /package/{dist/assets → assets}/x-vPcWt3fC.js +0 -0
  300. /package/{dist/chat.d.ts → chat.d.ts} +0 -0
  301. /package/{dist/database.d.ts → database.d.ts} +0 -0
  302. /package/{dist/databaseId.d.ts → databaseId.d.ts} +0 -0
  303. /package/{dist/databaseTable.d.ts → databaseTable.d.ts} +0 -0
  304. /package/{dist/modelManage.d.ts → modelManage.d.ts} +0 -0
  305. /package/{dist/sensitive.d.ts → sensitive.d.ts} +0 -0
  306. /package/{dist/streamFilesReader.d.ts → streamFilesReader.d.ts} +0 -0
  307. /package/{dist/vite.svg → vite.svg} +0 -0
@@ -1,75 +0,0 @@
1
- 'use client';
2
-
3
- import * as React from 'react';
4
-
5
- import type { DialogProps } from '@radix-ui/react-dialog';
6
-
7
- import { cn, createPrimitiveElement, withCn, withRef } from '@udecode/cn';
8
- import { Command as CommandPrimitive } from 'cmdk';
9
-
10
- import { Icons } from './icons';
11
-
12
- import { Dialog, DialogContent } from './dialog';
13
-
14
- export const Command = withCn(
15
- CommandPrimitive,
16
- 'flex size-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground'
17
- );
18
-
19
- export function CommandDialog({ children, ...props }: DialogProps) {
20
- return (
21
- <Dialog {...props}>
22
- <DialogContent className="overflow-hidden p-0 shadow-lg">
23
- <Command className="[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:size-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:size-5">
24
- {children}
25
- </Command>
26
- </DialogContent>
27
- </Dialog>
28
- );
29
- }
30
-
31
- export const CommandInput = withRef<typeof CommandPrimitive.Input>(
32
- ({ className, ...props }, ref) => (
33
- <div className="flex items-center border-b px-3" cmdk-input-wrapper="">
34
- <Icons.search className="mr-2 size-4 shrink-0 opacity-50" />
35
- <CommandPrimitive.Input
36
- className={cn(
37
- 'flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50',
38
- className
39
- )}
40
- ref={ref}
41
- {...props}
42
- />
43
- </div>
44
- )
45
- );
46
-
47
- export const CommandList = withCn(
48
- CommandPrimitive.List,
49
- 'max-h-[500px] overflow-y-auto overflow-x-hidden'
50
- );
51
-
52
- export const CommandEmpty = withCn(
53
- CommandPrimitive.Empty,
54
- 'py-6 text-center text-sm'
55
- );
56
-
57
- export const CommandGroup = withCn(
58
- CommandPrimitive.Group,
59
- 'overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground'
60
- );
61
-
62
- export const CommandSeparator = withCn(
63
- CommandPrimitive.Separator,
64
- '-mx-1 h-px bg-border'
65
- );
66
-
67
- export const CommandItem = withCn(
68
- CommandPrimitive.Item,
69
- 'relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50'
70
- );
71
-
72
- export const CommandShortcut = withCn(
73
- createPrimitiveElement('span'),
74
- 'ml-auto text-xs tracking-widest text-muted-foreground'
75
- );
@@ -1,22 +0,0 @@
1
- 'use client';
2
-
3
- import React from 'react';
4
-
5
- import { CommentsPlugin } from '@udecode/plate-comments/react';
6
- import { useEditorPlugin } from '@udecode/plate-common/react';
7
-
8
- import { Avatar, AvatarFallback, AvatarImage } from './avatar';
9
-
10
- export function CommentAvatar({ userId }: { userId: null | string }) {
11
- const { useOption } = useEditorPlugin(CommentsPlugin);
12
- const user = useOption('userById', userId);
13
-
14
- if (!user) return null;
15
-
16
- return (
17
- <Avatar className="size-5">
18
- <AvatarImage alt={user.name} src={user.avatarUrl} />
19
- <AvatarFallback>{user.name?.[0]}</AvatarFallback>
20
- </Avatar>
21
- );
22
- }
@@ -1,37 +0,0 @@
1
- 'use client';
2
-
3
- import React from 'react';
4
-
5
- import { cn } from '@udecode/cn';
6
- import {
7
- CommentNewSubmitButton,
8
- CommentNewTextarea,
9
- CommentsPlugin,
10
- } from '@udecode/plate-comments/react';
11
- import { useEditorPlugin } from '@udecode/plate-common/react';
12
-
13
- import { buttonVariants } from './button';
14
- import { CommentAvatar } from './comment-avatar';
15
- import { inputVariants } from './input';
16
-
17
- export function CommentCreateForm() {
18
- const { useOption } = useEditorPlugin(CommentsPlugin);
19
-
20
- const myUserId = useOption('myUserId');
21
-
22
- return (
23
- <div className="flex w-full space-x-2">
24
- <CommentAvatar userId={myUserId} />
25
-
26
- <div className="flex grow flex-col items-end gap-2">
27
- <CommentNewTextarea className={inputVariants()} />
28
-
29
- <CommentNewSubmitButton
30
- className={cn(buttonVariants({ size: 'sm' }), 'w-[90px]')}
31
- >
32
- Comment
33
- </CommentNewSubmitButton>
34
- </div>
35
- </div>
36
- );
37
- }
@@ -1,74 +0,0 @@
1
- 'use client';
2
-
3
- import React from 'react';
4
-
5
- import {
6
- CommentProvider,
7
- CommentsPlugin,
8
- useCommentItemContentState,
9
- } from '@udecode/plate-comments/react';
10
- import { useEditorPlugin } from '@udecode/plate-common/react';
11
- import { formatDistance } from 'date-fns';
12
-
13
- import { CommentAvatar } from './comment-avatar';
14
- import { CommentMoreDropdown } from './comment-more-dropdown';
15
- import { CommentResolveButton } from './comment-resolve-button';
16
- import { CommentValue } from './comment-value';
17
-
18
- type PlateCommentProps = {
19
- commentId: string;
20
- };
21
-
22
- function CommentItemContent() {
23
- const {
24
- comment,
25
- commentText,
26
- editingValue,
27
- isMyComment,
28
- isReplyComment,
29
- user,
30
- } = useCommentItemContentState();
31
-
32
- return (
33
- <div>
34
- <div className="relative flex items-center gap-2">
35
- <CommentAvatar userId={comment.userId} />
36
-
37
- <h4 className="text-sm font-semibold leading-none">{user?.name}</h4>
38
-
39
- <div className="text-xs leading-none text-muted-foreground">
40
- {formatDistance(comment.createdAt, Date.now())} ago
41
- </div>
42
-
43
- {isMyComment && (
44
- <div className="absolute -right-0.5 -top-0.5 flex space-x-1">
45
- {isReplyComment ? null : <CommentResolveButton />}
46
-
47
- <CommentMoreDropdown />
48
- </div>
49
- )}
50
- </div>
51
-
52
- <div className="mb-4 pl-7 pt-0.5">
53
- {editingValue ? (
54
- <CommentValue />
55
- ) : (
56
- <div className="whitespace-pre-wrap text-sm">{commentText}</div>
57
- )}
58
- </div>
59
- </div>
60
- );
61
- }
62
-
63
- export function CommentItem({ commentId }: PlateCommentProps) {
64
- const { useOption } = useEditorPlugin(CommentsPlugin);
65
- const comment = useOption('commentById', commentId);
66
-
67
- if (!comment) return null;
68
-
69
- return (
70
- <CommentProvider id={commentId} key={commentId}>
71
- <CommentItemContent />
72
- </CommentProvider>
73
- );
74
- }
@@ -1,49 +0,0 @@
1
- 'use client';
2
-
3
- import React from 'react';
4
-
5
- import type { TCommentText } from '@udecode/plate-comments';
6
-
7
- import { cn } from '@udecode/cn';
8
- import {
9
- useCommentLeaf,
10
- useCommentLeafState,
11
- } from '@udecode/plate-comments/react';
12
- import { PlateLeaf, type PlateLeafProps } from '@udecode/plate-common/react';
13
-
14
- export function CommentLeaf({
15
- className,
16
- ...props
17
- }: PlateLeafProps<TCommentText>) {
18
- const { children, leaf, nodeProps } = props;
19
-
20
- const state = useCommentLeafState({ leaf });
21
- const { props: rootProps } = useCommentLeaf(state);
22
-
23
- if (!state.commentCount) return <>{children}</>;
24
-
25
- let aboveChildren = <>{children}</>;
26
-
27
- if (!state.isActive) {
28
- for (let i = 1; i < state.commentCount; i++) {
29
- aboveChildren = <span className="bg-primary/20">{aboveChildren}</span>;
30
- }
31
- }
32
-
33
- return (
34
- <PlateLeaf
35
- {...props}
36
- className={cn(
37
- 'border-b-2 border-b-primary/40',
38
- state.isActive ? 'bg-primary/40' : 'bg-primary/20',
39
- className
40
- )}
41
- nodeProps={{
42
- ...rootProps,
43
- ...nodeProps,
44
- }}
45
- >
46
- {aboveChildren}
47
- </PlateLeaf>
48
- );
49
- }
@@ -1,42 +0,0 @@
1
- 'use client';
2
-
3
- import React from 'react';
4
-
5
- import { cn } from '@udecode/cn';
6
- import {
7
- useCommentDeleteButton,
8
- useCommentDeleteButtonState,
9
- useCommentEditButton,
10
- useCommentEditButtonState,
11
- } from '@udecode/plate-comments/react';
12
-
13
- import { Icons } from './icons';
14
-
15
- import { Button } from './button';
16
- import {
17
- DropdownMenu,
18
- DropdownMenuContent,
19
- DropdownMenuItem,
20
- DropdownMenuTrigger,
21
- } from './dropdown-menu';
22
-
23
- export function CommentMoreDropdown() {
24
- const editButtonState = useCommentEditButtonState();
25
- const { props: editProps } = useCommentEditButton(editButtonState);
26
- const deleteButtonState = useCommentDeleteButtonState();
27
- const { props: deleteProps } = useCommentDeleteButton(deleteButtonState);
28
-
29
- return (
30
- <DropdownMenu modal={false}>
31
- <DropdownMenuTrigger asChild>
32
- <Button className={cn('h-6 p-1 text-muted-foreground')} variant="ghost">
33
- <Icons.more className="size-4" />
34
- </Button>
35
- </DropdownMenuTrigger>
36
- <DropdownMenuContent>
37
- <DropdownMenuItem {...editProps}>Edit comment</DropdownMenuItem>
38
- <DropdownMenuItem {...deleteProps}>Delete comment</DropdownMenuItem>
39
- </DropdownMenuContent>
40
- </DropdownMenu>
41
- );
42
- }
@@ -1,22 +0,0 @@
1
- 'use client';
2
-
3
- import React from 'react';
4
-
5
- import {
6
- SCOPE_ACTIVE_COMMENT,
7
- useCommentReplies,
8
- } from '@udecode/plate-comments/react';
9
-
10
- import { CommentItem } from './comment-item';
11
-
12
- export function CommentReplyItems() {
13
- const commentReplies = useCommentReplies(SCOPE_ACTIVE_COMMENT);
14
-
15
- return (
16
- <>
17
- {Object.keys(commentReplies).map((id) => (
18
- <CommentItem commentId={id} key={id} />
19
- ))}
20
- </>
21
- );
22
- }
@@ -1,32 +0,0 @@
1
- 'use client';
2
-
3
- import React from 'react';
4
-
5
- import { cn } from '@udecode/cn';
6
- import {
7
- CommentResolveButton as CommentResolveButtonPrimitive,
8
- useComment,
9
- } from '@udecode/plate-comments/react';
10
-
11
- import { Icons } from './icons';
12
-
13
- import { buttonVariants } from './button';
14
-
15
- export function CommentResolveButton() {
16
- const comment = useComment()!;
17
-
18
- return (
19
- <CommentResolveButtonPrimitive
20
- className={cn(
21
- buttonVariants({ variant: 'ghost' }),
22
- 'h-6 p-1 text-muted-foreground'
23
- )}
24
- >
25
- {comment.isResolved ? (
26
- <Icons.refresh className="size-4" />
27
- ) : (
28
- <Icons.check className="size-4" />
29
- )}
30
- </CommentResolveButtonPrimitive>
31
- );
32
- }
@@ -1,34 +0,0 @@
1
- 'use client';
2
-
3
- import React from 'react';
4
-
5
- import { cn } from '@udecode/cn';
6
- import {
7
- CommentEditActions,
8
- CommentEditTextarea,
9
- } from '@udecode/plate-comments/react';
10
-
11
- import { buttonVariants } from './button';
12
- import { inputVariants } from './input';
13
-
14
- export function CommentValue() {
15
- return (
16
- <div className="my-2 flex flex-col items-end gap-2">
17
- <CommentEditTextarea className={cn(inputVariants(), 'min-h-[60px]')} />
18
-
19
- <div className="flex space-x-2">
20
- <CommentEditActions.CancelButton
21
- className={buttonVariants({ size: 'xs', variant: 'outline' })}
22
- >
23
- Cancel
24
- </CommentEditActions.CancelButton>
25
-
26
- <CommentEditActions.SaveButton
27
- className={buttonVariants({ size: 'xs', variant: 'default' })}
28
- >
29
- Save
30
- </CommentEditActions.SaveButton>
31
- </div>
32
- </div>
33
- );
34
- }
@@ -1,63 +0,0 @@
1
- 'use client';
2
-
3
- import React from 'react';
4
-
5
- import { cn } from '@udecode/cn';
6
- import {
7
- CommentProvider,
8
- CommentsPositioner,
9
- SCOPE_ACTIVE_COMMENT,
10
- useFloatingCommentsContentState,
11
- useFloatingCommentsState,
12
- } from '@udecode/plate-comments/react';
13
- import { PortalBody } from '@udecode/plate-common/react';
14
-
15
- import { CommentCreateForm } from './comment-create-form';
16
- import { CommentItem } from './comment-item';
17
- import { CommentReplyItems } from './comment-reply-items';
18
- import { popoverVariants } from './popover';
19
-
20
- export type FloatingCommentsContentProps = {
21
- disableForm?: boolean;
22
- };
23
-
24
- export function CommentsPopoverContent(props: FloatingCommentsContentProps) {
25
- const { disableForm } = props;
26
-
27
- const { activeCommentId, hasNoComment, myUserId, ref } =
28
- useFloatingCommentsContentState();
29
-
30
- return (
31
- <CommentProvider
32
- id={activeCommentId!}
33
- key={activeCommentId}
34
- scope={SCOPE_ACTIVE_COMMENT}
35
- >
36
- <div className={cn(popoverVariants(), 'relative w-[310px]')} ref={ref}>
37
- {!hasNoComment && (
38
- <>
39
- <CommentItem commentId={activeCommentId!} key={activeCommentId} />
40
-
41
- <CommentReplyItems />
42
- </>
43
- )}
44
-
45
- {!!myUserId && !disableForm && <CommentCreateForm />}
46
- </div>
47
- </CommentProvider>
48
- );
49
- }
50
-
51
- export function CommentsPopover() {
52
- const { activeCommentId, loaded } = useFloatingCommentsState();
53
-
54
- if (!loaded || !activeCommentId) return null;
55
-
56
- return (
57
- <PortalBody>
58
- <CommentsPositioner className="absolute z-50 w-[418px] pb-4">
59
- <CommentsPopoverContent />
60
- </CommentsPositioner>
61
- </PortalBody>
62
- );
63
- }
@@ -1,83 +0,0 @@
1
- 'use client';
2
-
3
- import { cn, withRef } from '@udecode/cn';
4
- import { setNodes } from '@udecode/plate-common';
5
- import { PlateElement, findNodePath } from '@udecode/plate-common/react';
6
-
7
- import { Calendar } from './calendar';
8
- import { Popover, PopoverContent, PopoverTrigger } from './popover';
9
-
10
- export const DateElement = withRef<typeof PlateElement>(
11
- ({ children, className, ...props }, ref) => {
12
- const { editor, element } = props;
13
-
14
- return (
15
- <PlateElement
16
- className={cn('inline-block', className)}
17
- contentEditable={false}
18
- ref={ref}
19
- {...props}
20
- >
21
- <Popover>
22
- <PopoverTrigger asChild>
23
- <span
24
- className={cn(
25
- 'w-fit cursor-pointer rounded-sm bg-muted px-1 text-muted-foreground'
26
- )}
27
- contentEditable={false}
28
- >
29
- {element.date ? (
30
- (() => {
31
- const today = new Date();
32
- const elementDate = new Date(element.date as string);
33
- const isToday =
34
- elementDate.getDate() === today.getDate() &&
35
- elementDate.getMonth() === today.getMonth() &&
36
- elementDate.getFullYear() === today.getFullYear();
37
-
38
- const isYesterday =
39
- new Date(
40
- today.setDate(today.getDate() - 1)
41
- ).toDateString() === elementDate.toDateString();
42
- const isTomorrow =
43
- new Date(
44
- today.setDate(today.getDate() + 2)
45
- ).toDateString() === elementDate.toDateString();
46
-
47
- if (isToday) return 'Today';
48
- if (isYesterday) return 'Yesterday';
49
- if (isTomorrow) return 'Tomorrow';
50
-
51
- return elementDate.toLocaleDateString(undefined, {
52
- day: 'numeric',
53
- month: 'long',
54
- year: 'numeric',
55
- });
56
- })()
57
- ) : (
58
- <span>Pick a date</span>
59
- )}
60
- </span>
61
- </PopoverTrigger>
62
- <PopoverContent className="w-auto p-0">
63
- <Calendar
64
- initialFocus
65
- mode="single"
66
- onSelect={(date) => {
67
- if (!date) return;
68
-
69
- setNodes(
70
- editor,
71
- { date: date.toDateString() },
72
- { at: findNodePath(editor, element) }
73
- );
74
- }}
75
- selected={new Date(element.date as string)}
76
- />
77
- </PopoverContent>
78
- </Popover>
79
- {children}
80
- </PlateElement>
81
- );
82
- }
83
- );
@@ -1,63 +0,0 @@
1
- 'use client';
2
-
3
- import * as React from 'react';
4
-
5
- import * as DialogPrimitive from '@radix-ui/react-dialog';
6
- import { cn, createPrimitiveElement, withCn, withRef } from '@udecode/cn';
7
-
8
- import { Icons } from './icons';
9
-
10
- export const Dialog = DialogPrimitive.Root;
11
-
12
- export const DialogTrigger = DialogPrimitive.Trigger;
13
-
14
- export const DialogPortal = DialogPrimitive.Portal;
15
-
16
- export const DialogClose = DialogPrimitive.Close;
17
-
18
- export const DialogOverlay = withCn(
19
- DialogPrimitive.Overlay,
20
- 'fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0'
21
- );
22
-
23
- export const DialogContent = withRef<typeof DialogPrimitive.Content>(
24
- ({ children, className, ...props }, ref) => (
25
- <DialogPortal>
26
- <DialogOverlay />
27
- <DialogPrimitive.Content
28
- className={cn(
29
- 'fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg',
30
- className
31
- )}
32
- ref={ref}
33
- {...props}
34
- >
35
- {children}
36
- <DialogPrimitive.Close className="absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground">
37
- <Icons.close className="size-4" />
38
- <span className="sr-only">Close</span>
39
- </DialogPrimitive.Close>
40
- </DialogPrimitive.Content>
41
- </DialogPortal>
42
- )
43
- );
44
-
45
- export const DialogHeader = withCn(
46
- createPrimitiveElement('div'),
47
- 'flex flex-col space-y-1.5 text-center sm:text-left'
48
- );
49
-
50
- export const DialogFooter = withCn(
51
- createPrimitiveElement('div'),
52
- 'flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2'
53
- );
54
-
55
- export const DialogTitle = withCn(
56
- DialogPrimitive.Title,
57
- 'text-lg font-semibold leading-none tracking-tight'
58
- );
59
-
60
- export const DialogDescription = withCn(
61
- DialogPrimitive.Description,
62
- 'text-sm text-muted-foreground'
63
- );