@gientech/modual 1.3.0 → 1.3.2

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 (308) hide show
  1. package/README.md +129 -129
  2. package/{dist/assets/mysql.svg → assets/MySQL.svg} +14 -14
  3. package/{dist/assets → assets}/database.svg +11 -11
  4. package/{src/modules/database/assets → assets}/database_add.svg +53 -53
  5. package/{dist/assets → assets}/database_connect.svg +66 -66
  6. package/{dist/assets → assets}/database_upload.svg +29 -29
  7. package/{dist/assets → assets}/defaultWeLogo.svg +14 -14
  8. package/{dist/assets/index-DIm7RgkM.js → assets/index-D-dGaGjW.js} +93 -279
  9. package/assets/index-ldqIbm0x.js +1289 -0
  10. package/assets/style.css +1 -0
  11. package/assets/style3.css +1 -0
  12. package/{dist/chat.js → chat.js} +78 -78
  13. package/database.js +20 -0
  14. package/{dist/databaseId.js → databaseId.js} +1 -1
  15. package/{dist/databaseTable.js → databaseTable.js} +1 -1
  16. package/{dist/modelManage.js → modelManage.js} +1 -1
  17. package/package.json +39 -83
  18. package/{dist/sensitive.js → sensitive.js} +1 -1
  19. package/{dist/streamFilesReader.js → streamFilesReader.js} +11 -11
  20. package/{dist/worker → worker}/pdf.worker.min.js +21 -21
  21. package/.editorconfig +0 -38
  22. package/.prettierignore +0 -16
  23. package/.prettierrc +0 -17
  24. package/USAGE.md +0 -191
  25. package/bash.exe.stackdump +0 -40
  26. package/components.json +0 -21
  27. package/dist/README.md +0 -129
  28. package/dist/assets/database_add.svg +0 -53
  29. package/dist/assets/index-Bpnc4tRH.js +0 -1284
  30. package/dist/assets/style.css +0 -1
  31. package/dist/assets/style3.css +0 -1
  32. package/dist/database.js +0 -20
  33. package/dist/package.json +0 -56
  34. package/doc_assets/2.png +0 -0
  35. package/doc_assets/demo.md +0 -27
  36. package/doc_assets/demos/dist-app/assets/index.Dh-ZAS9Z.css +0 -2
  37. package/doc_assets/demos/dist-app/assets/index.Dv8KVW18.js +0 -23699
  38. package/doc_assets/demos/dist-app/assets/index.Dv8KVW18.js.map +0 -1
  39. package/doc_assets/demos/dist-app/index.html +0 -14
  40. package/doc_assets/demos/dist-app/vite.svg +0 -1
  41. package/doc_assets/images/1.png +0 -0
  42. package/doc_assets/images/3.png +0 -0
  43. package/doc_assets/images/component-screenshot.png +0 -1
  44. package/doc_assets/install.md +0 -5
  45. package/eslint.config.js +0 -92
  46. package/index.html +0 -13
  47. package/postcss.config.cjs +0 -19
  48. package/public/vite.svg +0 -1
  49. package/public/worker/pdf.worker.min.js +0 -22
  50. package/scripts/README.md +0 -133
  51. package/scripts/build-demo.js +0 -88
  52. package/scripts/demo-selector.js +0 -216
  53. package/scripts/dev-demo.js +0 -76
  54. package/scripts/preview-demo.js +0 -130
  55. package/scripts/run-demo.bat +0 -34
  56. package/src/assets/img/downArrow.png +0 -0
  57. package/src/assets/img/excel.png +0 -0
  58. package/src/assets/img/img.png +0 -0
  59. package/src/assets/img/pdf.png +0 -0
  60. package/src/assets/img/ppt.png +0 -0
  61. package/src/assets/img/txt.png +0 -0
  62. package/src/assets/img/word.png +0 -0
  63. package/src/assets/login/homeBg.png +0 -0
  64. package/src/assets/login/left.jpg +0 -0
  65. package/src/assets/login/logoImg.png +0 -0
  66. package/src/examples/LoginPage/index.tsx +0 -18
  67. package/src/examples/chat/components/DrawerGraphPreview.tsx +0 -77
  68. package/src/examples/chat/index.tsx +0 -179
  69. package/src/examples/gientechStreamFilesReader/index.tsx +0 -1016
  70. package/src/examples/ragDatabaseDataPage/index.tsx +0 -36
  71. package/src/examples/ragDatabaseIdPage/index.tsx +0 -44
  72. package/src/examples/ragDatabasePage/index.tsx +0 -36
  73. package/src/examples/ragModelManagePage/index.tsx +0 -37
  74. package/src/examples/ragSearchPage/index.tsx +0 -0
  75. package/src/examples/ragSensitiveWordsPage/index.tsx +0 -32
  76. package/src/examples/streamFiles/index.tsx +0 -384
  77. package/src/lib_enter.ts +0 -38
  78. package/src/main.tsx +0 -5
  79. package/src/main.tsx.backup +0 -5
  80. package/src/modules/chat/Conversations/Item.tsx +0 -167
  81. package/src/modules/chat/Conversations/List.tsx +0 -143
  82. package/src/modules/chat/Conversations/groupByTime.ts +0 -39
  83. package/src/modules/chat/Conversations/index.tsx +0 -212
  84. package/src/modules/chat/constants.tsx +0 -33
  85. package/src/modules/chat/index.tsx +0 -1836
  86. package/src/modules/chat/types.ts +0 -17
  87. package/src/modules/database/CreateModal.tsx +0 -398
  88. package/src/modules/database/assets/Doris.png +0 -0
  89. package/src/modules/database/assets/PostgreSQL.png +0 -0
  90. package/src/modules/database/assets/SQLServer.png +0 -0
  91. package/src/modules/database/assets/database.svg +0 -11
  92. package/src/modules/database/assets/database_connect.svg +0 -66
  93. package/src/modules/database/assets/database_upload.svg +0 -29
  94. package/src/modules/database/assets/empty.png +0 -0
  95. package/src/modules/database/assets/mysql.svg +0 -14
  96. package/src/modules/database/index.tsx +0 -466
  97. package/src/modules/database/server.ts +0 -196
  98. package/src/modules/databaseId/CustomCom.tsx +0 -156
  99. package/src/modules/databaseId/EditConfig.tsx +0 -268
  100. package/src/modules/databaseId/UploadDrawer.tsx +0 -520
  101. package/src/modules/databaseId/assets/aiOptimize.svg +0 -10
  102. package/src/modules/databaseId/assets/empty.png +0 -0
  103. package/src/modules/databaseId/assets/template.svg +0 -6
  104. package/src/modules/databaseId/assets/upload.svg +0 -9
  105. package/src/modules/databaseId/assets/useTemp.svg +0 -6
  106. package/src/modules/databaseId/index.tsx +0 -734
  107. package/src/modules/databaseId/server.ts +0 -286
  108. package/src/modules/databaseId/style.css +0 -5
  109. package/src/modules/databaseTable/EditRowDrawer.tsx +0 -119
  110. package/src/modules/databaseTable/index.tsx +0 -357
  111. package/src/modules/databaseTable/server.ts +0 -180
  112. package/src/modules/headlessChat/constants.tsx +0 -32
  113. package/src/modules/headlessChat/index.tsx +0 -1065
  114. package/src/modules/headlessChat/types.ts +0 -23
  115. package/src/modules/login/components/Login/LoginBox/index.tsx +0 -102
  116. package/src/modules/login/components/Login/RegisterBox/index.tsx +0 -180
  117. package/src/modules/login/components/Login/index.tsx +0 -100
  118. package/src/modules/login/index.tsx +0 -106
  119. package/src/modules/login/style.css +0 -3
  120. package/src/modules/login/useServices.ts +0 -53
  121. package/src/modules/login/utils.ts +0 -42
  122. package/src/modules/modelManage/ConfigDrawer.tsx +0 -249
  123. package/src/modules/modelManage/assets/empty.png +0 -0
  124. package/src/modules/modelManage/const.ts +0 -50
  125. package/src/modules/modelManage/index.tsx +0 -439
  126. package/src/modules/modelManage/server.ts +0 -185
  127. package/src/modules/nodegraph/index.tsx +0 -1
  128. package/src/modules/search/assets/Icon-history.svg +0 -8
  129. package/src/modules/search/assets/answerAwartar.png +0 -0
  130. package/src/modules/search/assets/doc.png +0 -0
  131. package/src/modules/search/assets/genera.gif +0 -0
  132. package/src/modules/search/assets/icon-robot.svg +0 -9
  133. package/src/modules/search/assets/icon-search-bar.svg +0 -14
  134. package/src/modules/search/assets/icon-sub-title.svg +0 -3
  135. package/src/modules/search/assets/icon-title.svg +0 -9
  136. package/src/modules/search/assets/icon-zoomOut.svg +0 -9
  137. package/src/modules/search/assets/iconAi.svg +0 -9
  138. package/src/modules/search/assets/pdf.png +0 -0
  139. package/src/modules/search/assets/ppt.png +0 -0
  140. package/src/modules/search/assets/search.svg +0 -3
  141. package/src/modules/search/assets/selected.svg +0 -4
  142. package/src/modules/search/assets/txt.png +0 -0
  143. package/src/modules/search/assets/xls.png +0 -0
  144. package/src/modules/search/components/AssisSelect.tsx +0 -137
  145. package/src/modules/search/components/Editor/ChatViewEditor.tsx +0 -261
  146. package/src/modules/search/components/Editor/aichat.css +0 -1
  147. package/src/modules/search/components/Editor/constant.ts +0 -13
  148. package/src/modules/search/components/Editor/index.tsx +0 -113
  149. package/src/modules/search/components/Editor/plugins/autofomatRules.ts +0 -332
  150. package/src/modules/search/components/Editor/plugins/convertImgPlugins.tsx +0 -20
  151. package/src/modules/search/components/Editor/plugins/createIndexes.tsx +0 -38
  152. package/src/modules/search/components/Editor/plugins/displayer.ts +0 -298
  153. package/src/modules/search/components/Editor/plugins/imageClick.tsx +0 -32
  154. package/src/modules/search/components/Editor/plugins/myplugin.tsx +0 -98
  155. package/src/modules/search/components/Editor/ui/avatar.tsx +0 -19
  156. package/src/modules/search/components/Editor/ui/blockquote-element.tsx +0 -21
  157. package/src/modules/search/components/Editor/ui/button.tsx +0 -58
  158. package/src/modules/search/components/Editor/ui/calendar.tsx +0 -68
  159. package/src/modules/search/components/Editor/ui/caption.tsx +0 -46
  160. package/src/modules/search/components/Editor/ui/checkbox.tsx +0 -27
  161. package/src/modules/search/components/Editor/ui/code-block-combobox.tsx +0 -188
  162. package/src/modules/search/components/Editor/ui/code-block-element.css +0 -434
  163. package/src/modules/search/components/Editor/ui/code-block-element.tsx +0 -39
  164. package/src/modules/search/components/Editor/ui/code-leaf.tsx +0 -24
  165. package/src/modules/search/components/Editor/ui/code-line-element.tsx +0 -10
  166. package/src/modules/search/components/Editor/ui/code-syntax-leaf.tsx +0 -21
  167. package/src/modules/search/components/Editor/ui/column-element.tsx +0 -30
  168. package/src/modules/search/components/Editor/ui/column-group-element.tsx +0 -94
  169. package/src/modules/search/components/Editor/ui/command.tsx +0 -75
  170. package/src/modules/search/components/Editor/ui/comment-avatar.tsx +0 -22
  171. package/src/modules/search/components/Editor/ui/comment-create-form.tsx +0 -37
  172. package/src/modules/search/components/Editor/ui/comment-item.tsx +0 -74
  173. package/src/modules/search/components/Editor/ui/comment-leaf.tsx +0 -49
  174. package/src/modules/search/components/Editor/ui/comment-more-dropdown.tsx +0 -42
  175. package/src/modules/search/components/Editor/ui/comment-reply-items.tsx +0 -22
  176. package/src/modules/search/components/Editor/ui/comment-resolve-button.tsx +0 -32
  177. package/src/modules/search/components/Editor/ui/comment-value.tsx +0 -34
  178. package/src/modules/search/components/Editor/ui/comments-popover.tsx +0 -63
  179. package/src/modules/search/components/Editor/ui/date-element.tsx +0 -83
  180. package/src/modules/search/components/Editor/ui/dialog.tsx +0 -63
  181. package/src/modules/search/components/Editor/ui/draggable.tsx +0 -177
  182. package/src/modules/search/components/Editor/ui/dropdown-menu.tsx +0 -180
  183. package/src/modules/search/components/Editor/ui/emoji-input-element.tsx +0 -85
  184. package/src/modules/search/components/Editor/ui/excalidraw-element.tsx +0 -28
  185. package/src/modules/search/components/Editor/ui/fixed-toolbar-buttons.tsx +0 -76
  186. package/src/modules/search/components/Editor/ui/fixed-toolbar.tsx +0 -8
  187. package/src/modules/search/components/Editor/ui/floating-toolbar-buttons.tsx +0 -51
  188. package/src/modules/search/components/Editor/ui/floating-toolbar.tsx +0 -77
  189. package/src/modules/search/components/Editor/ui/heading-element.tsx +0 -48
  190. package/src/modules/search/components/Editor/ui/highlight-leaf.tsx +0 -17
  191. package/src/modules/search/components/Editor/ui/hr-element.tsx +0 -30
  192. package/src/modules/search/components/Editor/ui/icons.tsx +0 -267
  193. package/src/modules/search/components/Editor/ui/image-element.tsx +0 -74
  194. package/src/modules/search/components/Editor/ui/inline-combobox.tsx +0 -368
  195. package/src/modules/search/components/Editor/ui/input.tsx +0 -25
  196. package/src/modules/search/components/Editor/ui/insert-dropdown-menu.tsx +0 -218
  197. package/src/modules/search/components/Editor/ui/kbd-leaf.tsx +0 -20
  198. package/src/modules/search/components/Editor/ui/link-element.tsx +0 -29
  199. package/src/modules/search/components/Editor/ui/link-floating-toolbar.tsx +0 -161
  200. package/src/modules/search/components/Editor/ui/list-element.tsx +0 -30
  201. package/src/modules/search/components/Editor/ui/mark-toolbar-button.tsx +0 -24
  202. package/src/modules/search/components/Editor/ui/media-embed-element.tsx +0 -133
  203. package/src/modules/search/components/Editor/ui/media-popover.tsx +0 -97
  204. package/src/modules/search/components/Editor/ui/mention-element.tsx +0 -43
  205. package/src/modules/search/components/Editor/ui/mention-input-element.tsx +0 -141
  206. package/src/modules/search/components/Editor/ui/mode-dropdown-menu.tsx +0 -93
  207. package/src/modules/search/components/Editor/ui/more-dropdown-menu.tsx +0 -67
  208. package/src/modules/search/components/Editor/ui/paragraph-element.tsx +0 -4
  209. package/src/modules/search/components/Editor/ui/placeholder.tsx +0 -52
  210. package/src/modules/search/components/Editor/ui/popover.tsx +0 -32
  211. package/src/modules/search/components/Editor/ui/resizable.tsx +0 -66
  212. package/src/modules/search/components/Editor/ui/separator.tsx +0 -25
  213. package/src/modules/search/components/Editor/ui/style.less +0 -12
  214. package/src/modules/search/components/Editor/ui/table-cell-element.tsx +0 -143
  215. package/src/modules/search/components/Editor/ui/table-element.tsx +0 -243
  216. package/src/modules/search/components/Editor/ui/table-row-element.tsx +0 -22
  217. package/src/modules/search/components/Editor/ui/tableValue.tsx +0 -135
  218. package/src/modules/search/components/Editor/ui/todo-list-element.tsx +0 -43
  219. package/src/modules/search/components/Editor/ui/toggle-element.tsx +0 -31
  220. package/src/modules/search/components/Editor/ui/toolbar.tsx +0 -157
  221. package/src/modules/search/components/Editor/ui/tooltip.tsx +0 -65
  222. package/src/modules/search/components/Editor/ui/turn-into-dropdown-menu.tsx +0 -160
  223. package/src/modules/search/components/Editor/ui/with-draggables.tsx +0 -175
  224. package/src/modules/search/components/FileList.tsx +0 -287
  225. package/src/modules/search/components/ImageGroupView/index.tsx +0 -85
  226. package/src/modules/search/components/ResultContent.tsx +0 -232
  227. package/src/modules/search/components/SearchInput.tsx +0 -232
  228. package/src/modules/search/components/SearchLanding.tsx +0 -74
  229. package/src/modules/search/components/SearchView.tsx +0 -563
  230. package/src/modules/search/components/SimpleEditor.tsx +0 -158
  231. package/src/modules/search/components/SimpleFileList.tsx +0 -215
  232. package/src/modules/search/index.tsx +0 -10
  233. package/src/modules/search/reademe.md +0 -1
  234. package/src/modules/search/servers/apis.tsx +0 -19
  235. package/src/modules/search/servers/index.ts +0 -184
  236. package/src/modules/search/style.less +0 -503
  237. package/src/modules/search/type.ts +0 -22
  238. package/src/modules/search/utils.ts +0 -34
  239. package/src/modules/sensitive/index.tsx +0 -313
  240. package/src/modules/sensitive/server.ts +0 -122
  241. package/src/modules/streamFilesReader/GientechStreamReader.tsx +0 -1555
  242. package/src/modules/streamFilesReader/components/Header/Toolbar.tsx +0 -0
  243. package/src/modules/streamFilesReader/components/Header/index.tsx +0 -297
  244. package/src/modules/streamFilesReader/index.tsx +0 -3
  245. package/src/style.css +0 -6
  246. package/src/type.d.ts +0 -0
  247. package/src/utils/commonFn.tsx +0 -111
  248. package/src/utils/gientechCommon/components/AppError.tsx +0 -32
  249. package/src/utils/gientechCommon/components/AppLoading.tsx +0 -75
  250. package/src/utils/gientechCommon/components/DeleteModal.tsx +0 -75
  251. package/src/utils/gientechCommon/components/DisplayError.tsx +0 -33
  252. package/src/utils/gientechCommon/components/DisplayLoading.tsx +0 -38
  253. package/src/utils/gientechCommon/components/FeedBackModal.tsx +0 -310
  254. package/src/utils/gientechCommon/components/FileCardCommon.tsx +0 -82
  255. package/src/utils/gientechCommon/components/FileManager/index.tsx +0 -390
  256. package/src/utils/gientechCommon/components/FileManager/style.css +0 -5
  257. package/src/utils/gientechCommon/components/Messages/GientechNewChatWelcome.tsx +0 -296
  258. package/src/utils/gientechCommon/components/Messages/ReferenceCard.tsx +0 -339
  259. package/src/utils/gientechCommon/components/Messages/RetriveItem.tsx +0 -245
  260. package/src/utils/gientechCommon/components/Messages/WebRetriveItem.tsx +0 -209
  261. package/src/utils/gientechCommon/components/Messages/defaultBot.png +0 -0
  262. package/src/utils/gientechCommon/components/Messages/defaultStyleSet.tsx +0 -148
  263. package/src/utils/gientechCommon/components/Messages/defaultWeLogo.svg +0 -14
  264. package/src/utils/gientechCommon/components/RenameModal.tsx +0 -86
  265. package/src/utils/gientechCommon/components/style.less +0 -11
  266. package/src/utils/gientechCommon/configs/commonConfig.ts +0 -2
  267. package/src/utils/gientechCommon/configs/senderConfig.ts +0 -0
  268. package/src/utils/gientechCommon/configs/stylesConfig.ts +0 -142
  269. package/src/utils/gientechCommon/hooks/AichatUseController.tsx +0 -339
  270. package/src/utils/gientechCommon/slate/converters/deserializers.ts +0 -763
  271. package/src/utils/gientechCommon/slate/converters/mockData.ts +0 -232
  272. package/src/utils/gientechCommon/slate/converters/slateConverters.ts +0 -258
  273. package/src/utils/gientechCommon/slate/richElements/index.tsx +0 -499
  274. package/src/utils/gientechCommon/utils/request.ts +0 -37
  275. package/src/utils/gientechCommon/utils/serverFn.ts +0 -172
  276. package/src/utils/index.tsx +0 -126
  277. package/src/utils/testconfigs/demologin/index.tsx +0 -32
  278. package/src/utils/testconfigs/index.ts +0 -53
  279. package/src/vite-env.d.ts +0 -11
  280. package/stats.html +0 -4949
  281. package/tailwind.config.js +0 -170
  282. package/tsconfig.app.json +0 -30
  283. package/tsconfig.app.tsbuildinfo +0 -11
  284. package/tsconfig.json +0 -13
  285. package/tsconfig.node.json +0 -22
  286. package/tsconfig.node.tsbuildinfo +0 -1
  287. package/vite.config.ts +0 -177
  288. package/workflows/release.yml +0 -60
  289. /package/{dist/assets → assets}/Doris.png +0 -0
  290. /package/{dist/assets → assets}/PostgreSQL.png +0 -0
  291. /package/{dist/assets → assets}/SQLServer.png +0 -0
  292. /package/{dist/assets → assets}/_commonjsHelpers-gnU0ypJ3.js +0 -0
  293. /package/{dist/assets → assets}/circle-alert-g2Y6zAjt.js +0 -0
  294. /package/{dist/assets → assets}/empty.png +0 -0
  295. /package/{dist/assets → assets}/index-CEK88UzR.js +0 -0
  296. /package/{dist/assets → assets}/index-CpW6Dhpp.js +0 -0
  297. /package/{dist/assets → assets}/plus-omCUN0e3.js +0 -0
  298. /package/{dist/assets → assets}/style2.css +0 -0
  299. /package/{dist/assets → assets}/styled-components.browser.esm-DPkS13KC.js +0 -0
  300. /package/{dist/assets → assets}/x-vPcWt3fC.js +0 -0
  301. /package/{dist/chat.d.ts → chat.d.ts} +0 -0
  302. /package/{dist/database.d.ts → database.d.ts} +0 -0
  303. /package/{dist/databaseId.d.ts → databaseId.d.ts} +0 -0
  304. /package/{dist/databaseTable.d.ts → databaseTable.d.ts} +0 -0
  305. /package/{dist/modelManage.d.ts → modelManage.d.ts} +0 -0
  306. /package/{dist/sensitive.d.ts → sensitive.d.ts} +0 -0
  307. /package/{dist/streamFilesReader.d.ts → streamFilesReader.d.ts} +0 -0
  308. /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
- );