@gientech/modual 1.3.3 → 1.3.5

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 → 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/chat.js +654 -0
  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/chat.js +0 -654
  28. package/dist/database.js +0 -20
  29. package/dist/package.json +0 -56
  30. package/doc_assets/2.png +0 -0
  31. package/doc_assets/demo.md +0 -27
  32. package/doc_assets/demos/dist-app/assets/index.Dh-ZAS9Z.css +0 -2
  33. package/doc_assets/demos/dist-app/assets/index.Dv8KVW18.js +0 -23699
  34. package/doc_assets/demos/dist-app/assets/index.Dv8KVW18.js.map +0 -1
  35. package/doc_assets/demos/dist-app/index.html +0 -14
  36. package/doc_assets/demos/dist-app/vite.svg +0 -1
  37. package/doc_assets/images/1.png +0 -0
  38. package/doc_assets/images/3.png +0 -0
  39. package/doc_assets/images/component-screenshot.png +0 -1
  40. package/doc_assets/install.md +0 -5
  41. package/eslint.config.js +0 -92
  42. package/index.html +0 -13
  43. package/postcss.config.cjs +0 -19
  44. package/public/vite.svg +0 -1
  45. package/public/worker/pdf.worker.min.js +0 -22
  46. package/scripts/README.md +0 -133
  47. package/scripts/build-demo.js +0 -88
  48. package/scripts/demo-selector.js +0 -216
  49. package/scripts/dev-demo.js +0 -76
  50. package/scripts/preview-demo.js +0 -130
  51. package/scripts/run-demo.bat +0 -34
  52. package/src/assets/img/downArrow.png +0 -0
  53. package/src/assets/img/excel.png +0 -0
  54. package/src/assets/img/img.png +0 -0
  55. package/src/assets/img/pdf.png +0 -0
  56. package/src/assets/img/ppt.png +0 -0
  57. package/src/assets/img/txt.png +0 -0
  58. package/src/assets/img/word.png +0 -0
  59. package/src/assets/login/homeBg.png +0 -0
  60. package/src/assets/login/left.jpg +0 -0
  61. package/src/assets/login/logoImg.png +0 -0
  62. package/src/examples/LoginPage/index.tsx +0 -18
  63. package/src/examples/aaa/index.tsx +0 -3758
  64. package/src/examples/chat/components/DrawerGraphPreview.tsx +0 -78
  65. package/src/examples/chat/index.tsx +0 -190
  66. package/src/examples/gientechStreamFilesReader/index.tsx +0 -1016
  67. package/src/examples/ragDatabaseDataPage/index.tsx +0 -36
  68. package/src/examples/ragDatabaseIdPage/index.tsx +0 -44
  69. package/src/examples/ragDatabasePage/index.tsx +0 -36
  70. package/src/examples/ragModelManagePage/index.tsx +0 -37
  71. package/src/examples/ragSearchPage/index.tsx +0 -0
  72. package/src/examples/ragSensitiveWordsPage/index.tsx +0 -32
  73. package/src/examples/streamFiles/index.tsx +0 -384
  74. package/src/lib_enter.ts +0 -38
  75. package/src/main.tsx +0 -5
  76. package/src/main.tsx.backup +0 -5
  77. package/src/modules/chat/Conversations/Item.tsx +0 -167
  78. package/src/modules/chat/Conversations/List.tsx +0 -143
  79. package/src/modules/chat/Conversations/groupByTime.ts +0 -39
  80. package/src/modules/chat/Conversations/index.tsx +0 -212
  81. package/src/modules/chat/constants.tsx +0 -33
  82. package/src/modules/chat/data.txt +0 -82
  83. package/src/modules/chat/index.tsx +0 -1908
  84. package/src/modules/chat/types.ts +0 -17
  85. package/src/modules/database/CreateModal.tsx +0 -398
  86. package/src/modules/database/assets/Doris.png +0 -0
  87. package/src/modules/database/assets/PostgreSQL.png +0 -0
  88. package/src/modules/database/assets/SQLServer.png +0 -0
  89. package/src/modules/database/assets/database.svg +0 -11
  90. package/src/modules/database/assets/database_connect.svg +0 -66
  91. package/src/modules/database/assets/database_upload.svg +0 -29
  92. package/src/modules/database/assets/empty.png +0 -0
  93. package/src/modules/database/assets/mysql.svg +0 -14
  94. package/src/modules/database/index.tsx +0 -466
  95. package/src/modules/database/server.ts +0 -196
  96. package/src/modules/databaseId/CustomCom.tsx +0 -156
  97. package/src/modules/databaseId/EditConfig.tsx +0 -268
  98. package/src/modules/databaseId/UploadDrawer.tsx +0 -520
  99. package/src/modules/databaseId/assets/aiOptimize.svg +0 -10
  100. package/src/modules/databaseId/assets/empty.png +0 -0
  101. package/src/modules/databaseId/assets/template.svg +0 -6
  102. package/src/modules/databaseId/assets/upload.svg +0 -9
  103. package/src/modules/databaseId/assets/useTemp.svg +0 -6
  104. package/src/modules/databaseId/index.tsx +0 -734
  105. package/src/modules/databaseId/server.ts +0 -286
  106. package/src/modules/databaseId/style.css +0 -5
  107. package/src/modules/databaseTable/EditRowDrawer.tsx +0 -119
  108. package/src/modules/databaseTable/index.tsx +0 -357
  109. package/src/modules/databaseTable/server.ts +0 -180
  110. package/src/modules/headlessChat/constants.tsx +0 -32
  111. package/src/modules/headlessChat/index.tsx +0 -1065
  112. package/src/modules/headlessChat/types.ts +0 -23
  113. package/src/modules/login/components/Login/LoginBox/index.tsx +0 -102
  114. package/src/modules/login/components/Login/RegisterBox/index.tsx +0 -180
  115. package/src/modules/login/components/Login/index.tsx +0 -100
  116. package/src/modules/login/index.tsx +0 -106
  117. package/src/modules/login/style.css +0 -3
  118. package/src/modules/login/useServices.ts +0 -53
  119. package/src/modules/login/utils.ts +0 -42
  120. package/src/modules/modelManage/ConfigDrawer.tsx +0 -249
  121. package/src/modules/modelManage/assets/empty.png +0 -0
  122. package/src/modules/modelManage/const.ts +0 -50
  123. package/src/modules/modelManage/index.tsx +0 -439
  124. package/src/modules/modelManage/server.ts +0 -185
  125. package/src/modules/nodegraph/index.tsx +0 -1
  126. package/src/modules/search/assets/Icon-history.svg +0 -8
  127. package/src/modules/search/assets/answerAwartar.png +0 -0
  128. package/src/modules/search/assets/doc.png +0 -0
  129. package/src/modules/search/assets/genera.gif +0 -0
  130. package/src/modules/search/assets/icon-robot.svg +0 -9
  131. package/src/modules/search/assets/icon-search-bar.svg +0 -14
  132. package/src/modules/search/assets/icon-sub-title.svg +0 -3
  133. package/src/modules/search/assets/icon-title.svg +0 -9
  134. package/src/modules/search/assets/icon-zoomOut.svg +0 -9
  135. package/src/modules/search/assets/iconAi.svg +0 -9
  136. package/src/modules/search/assets/pdf.png +0 -0
  137. package/src/modules/search/assets/ppt.png +0 -0
  138. package/src/modules/search/assets/search.svg +0 -3
  139. package/src/modules/search/assets/selected.svg +0 -4
  140. package/src/modules/search/assets/txt.png +0 -0
  141. package/src/modules/search/assets/xls.png +0 -0
  142. package/src/modules/search/components/AssisSelect.tsx +0 -137
  143. package/src/modules/search/components/Editor/ChatViewEditor.tsx +0 -261
  144. package/src/modules/search/components/Editor/aichat.css +0 -1
  145. package/src/modules/search/components/Editor/constant.ts +0 -13
  146. package/src/modules/search/components/Editor/index.tsx +0 -113
  147. package/src/modules/search/components/Editor/plugins/autofomatRules.ts +0 -332
  148. package/src/modules/search/components/Editor/plugins/convertImgPlugins.tsx +0 -20
  149. package/src/modules/search/components/Editor/plugins/createIndexes.tsx +0 -38
  150. package/src/modules/search/components/Editor/plugins/displayer.ts +0 -298
  151. package/src/modules/search/components/Editor/plugins/imageClick.tsx +0 -32
  152. package/src/modules/search/components/Editor/plugins/myplugin.tsx +0 -98
  153. package/src/modules/search/components/Editor/ui/avatar.tsx +0 -19
  154. package/src/modules/search/components/Editor/ui/blockquote-element.tsx +0 -21
  155. package/src/modules/search/components/Editor/ui/button.tsx +0 -58
  156. package/src/modules/search/components/Editor/ui/calendar.tsx +0 -68
  157. package/src/modules/search/components/Editor/ui/caption.tsx +0 -46
  158. package/src/modules/search/components/Editor/ui/checkbox.tsx +0 -27
  159. package/src/modules/search/components/Editor/ui/code-block-combobox.tsx +0 -188
  160. package/src/modules/search/components/Editor/ui/code-block-element.css +0 -434
  161. package/src/modules/search/components/Editor/ui/code-block-element.tsx +0 -39
  162. package/src/modules/search/components/Editor/ui/code-leaf.tsx +0 -24
  163. package/src/modules/search/components/Editor/ui/code-line-element.tsx +0 -10
  164. package/src/modules/search/components/Editor/ui/code-syntax-leaf.tsx +0 -21
  165. package/src/modules/search/components/Editor/ui/column-element.tsx +0 -30
  166. package/src/modules/search/components/Editor/ui/column-group-element.tsx +0 -94
  167. package/src/modules/search/components/Editor/ui/command.tsx +0 -75
  168. package/src/modules/search/components/Editor/ui/comment-avatar.tsx +0 -22
  169. package/src/modules/search/components/Editor/ui/comment-create-form.tsx +0 -37
  170. package/src/modules/search/components/Editor/ui/comment-item.tsx +0 -74
  171. package/src/modules/search/components/Editor/ui/comment-leaf.tsx +0 -49
  172. package/src/modules/search/components/Editor/ui/comment-more-dropdown.tsx +0 -42
  173. package/src/modules/search/components/Editor/ui/comment-reply-items.tsx +0 -22
  174. package/src/modules/search/components/Editor/ui/comment-resolve-button.tsx +0 -32
  175. package/src/modules/search/components/Editor/ui/comment-value.tsx +0 -34
  176. package/src/modules/search/components/Editor/ui/comments-popover.tsx +0 -63
  177. package/src/modules/search/components/Editor/ui/date-element.tsx +0 -83
  178. package/src/modules/search/components/Editor/ui/dialog.tsx +0 -63
  179. package/src/modules/search/components/Editor/ui/draggable.tsx +0 -177
  180. package/src/modules/search/components/Editor/ui/dropdown-menu.tsx +0 -180
  181. package/src/modules/search/components/Editor/ui/emoji-input-element.tsx +0 -85
  182. package/src/modules/search/components/Editor/ui/excalidraw-element.tsx +0 -28
  183. package/src/modules/search/components/Editor/ui/fixed-toolbar-buttons.tsx +0 -76
  184. package/src/modules/search/components/Editor/ui/fixed-toolbar.tsx +0 -8
  185. package/src/modules/search/components/Editor/ui/floating-toolbar-buttons.tsx +0 -51
  186. package/src/modules/search/components/Editor/ui/floating-toolbar.tsx +0 -77
  187. package/src/modules/search/components/Editor/ui/heading-element.tsx +0 -48
  188. package/src/modules/search/components/Editor/ui/highlight-leaf.tsx +0 -17
  189. package/src/modules/search/components/Editor/ui/hr-element.tsx +0 -30
  190. package/src/modules/search/components/Editor/ui/icons.tsx +0 -267
  191. package/src/modules/search/components/Editor/ui/image-element.tsx +0 -74
  192. package/src/modules/search/components/Editor/ui/inline-combobox.tsx +0 -368
  193. package/src/modules/search/components/Editor/ui/input.tsx +0 -25
  194. package/src/modules/search/components/Editor/ui/insert-dropdown-menu.tsx +0 -218
  195. package/src/modules/search/components/Editor/ui/kbd-leaf.tsx +0 -20
  196. package/src/modules/search/components/Editor/ui/link-element.tsx +0 -29
  197. package/src/modules/search/components/Editor/ui/link-floating-toolbar.tsx +0 -161
  198. package/src/modules/search/components/Editor/ui/list-element.tsx +0 -30
  199. package/src/modules/search/components/Editor/ui/mark-toolbar-button.tsx +0 -24
  200. package/src/modules/search/components/Editor/ui/media-embed-element.tsx +0 -133
  201. package/src/modules/search/components/Editor/ui/media-popover.tsx +0 -97
  202. package/src/modules/search/components/Editor/ui/mention-element.tsx +0 -43
  203. package/src/modules/search/components/Editor/ui/mention-input-element.tsx +0 -141
  204. package/src/modules/search/components/Editor/ui/mode-dropdown-menu.tsx +0 -93
  205. package/src/modules/search/components/Editor/ui/more-dropdown-menu.tsx +0 -67
  206. package/src/modules/search/components/Editor/ui/paragraph-element.tsx +0 -4
  207. package/src/modules/search/components/Editor/ui/placeholder.tsx +0 -52
  208. package/src/modules/search/components/Editor/ui/popover.tsx +0 -32
  209. package/src/modules/search/components/Editor/ui/resizable.tsx +0 -66
  210. package/src/modules/search/components/Editor/ui/separator.tsx +0 -25
  211. package/src/modules/search/components/Editor/ui/style.less +0 -12
  212. package/src/modules/search/components/Editor/ui/table-cell-element.tsx +0 -143
  213. package/src/modules/search/components/Editor/ui/table-element.tsx +0 -243
  214. package/src/modules/search/components/Editor/ui/table-row-element.tsx +0 -22
  215. package/src/modules/search/components/Editor/ui/tableValue.tsx +0 -135
  216. package/src/modules/search/components/Editor/ui/todo-list-element.tsx +0 -43
  217. package/src/modules/search/components/Editor/ui/toggle-element.tsx +0 -31
  218. package/src/modules/search/components/Editor/ui/toolbar.tsx +0 -157
  219. package/src/modules/search/components/Editor/ui/tooltip.tsx +0 -65
  220. package/src/modules/search/components/Editor/ui/turn-into-dropdown-menu.tsx +0 -160
  221. package/src/modules/search/components/Editor/ui/with-draggables.tsx +0 -175
  222. package/src/modules/search/components/FileList.tsx +0 -287
  223. package/src/modules/search/components/ImageGroupView/index.tsx +0 -85
  224. package/src/modules/search/components/ResultContent.tsx +0 -232
  225. package/src/modules/search/components/SearchInput.tsx +0 -232
  226. package/src/modules/search/components/SearchLanding.tsx +0 -74
  227. package/src/modules/search/components/SearchView.tsx +0 -563
  228. package/src/modules/search/components/SimpleEditor.tsx +0 -158
  229. package/src/modules/search/components/SimpleFileList.tsx +0 -215
  230. package/src/modules/search/index.tsx +0 -10
  231. package/src/modules/search/reademe.md +0 -1
  232. package/src/modules/search/servers/apis.tsx +0 -19
  233. package/src/modules/search/servers/index.ts +0 -184
  234. package/src/modules/search/style.less +0 -503
  235. package/src/modules/search/type.ts +0 -22
  236. package/src/modules/search/utils.ts +0 -34
  237. package/src/modules/sensitive/index.tsx +0 -313
  238. package/src/modules/sensitive/server.ts +0 -122
  239. package/src/modules/streamFilesReader/GientechStreamReader.tsx +0 -1555
  240. package/src/modules/streamFilesReader/components/Header/Toolbar.tsx +0 -0
  241. package/src/modules/streamFilesReader/components/Header/index.tsx +0 -297
  242. package/src/modules/streamFilesReader/index.tsx +0 -3
  243. package/src/style.css +0 -6
  244. package/src/type.d.ts +0 -0
  245. package/src/utils/commonFn.tsx +0 -111
  246. package/src/utils/gientechCommon/components/AppError.tsx +0 -32
  247. package/src/utils/gientechCommon/components/AppLoading.tsx +0 -75
  248. package/src/utils/gientechCommon/components/DeleteModal.tsx +0 -75
  249. package/src/utils/gientechCommon/components/DisplayError.tsx +0 -33
  250. package/src/utils/gientechCommon/components/DisplayLoading.tsx +0 -38
  251. package/src/utils/gientechCommon/components/FeedBackModal.tsx +0 -310
  252. package/src/utils/gientechCommon/components/FileCardCommon.tsx +0 -82
  253. package/src/utils/gientechCommon/components/FileManager/index.tsx +0 -390
  254. package/src/utils/gientechCommon/components/FileManager/style.css +0 -5
  255. package/src/utils/gientechCommon/components/Messages/GientechNewChatWelcome.tsx +0 -296
  256. package/src/utils/gientechCommon/components/Messages/ReferenceCard.tsx +0 -339
  257. package/src/utils/gientechCommon/components/Messages/RetriveItem.tsx +0 -245
  258. package/src/utils/gientechCommon/components/Messages/WebRetriveItem.tsx +0 -209
  259. package/src/utils/gientechCommon/components/Messages/defaultBot.png +0 -0
  260. package/src/utils/gientechCommon/components/Messages/defaultStyleSet.tsx +0 -148
  261. package/src/utils/gientechCommon/components/Messages/defaultWeLogo.svg +0 -14
  262. package/src/utils/gientechCommon/components/RenameModal.tsx +0 -86
  263. package/src/utils/gientechCommon/components/style.less +0 -11
  264. package/src/utils/gientechCommon/configs/commonConfig.ts +0 -2
  265. package/src/utils/gientechCommon/configs/senderConfig.ts +0 -0
  266. package/src/utils/gientechCommon/configs/stylesConfig.ts +0 -142
  267. package/src/utils/gientechCommon/hooks/AichatUseController.tsx +0 -345
  268. package/src/utils/gientechCommon/slate/converters/deserializers.ts +0 -763
  269. package/src/utils/gientechCommon/slate/converters/mockData.ts +0 -232
  270. package/src/utils/gientechCommon/slate/converters/slateConverters.ts +0 -258
  271. package/src/utils/gientechCommon/slate/richElements/index.tsx +0 -499
  272. package/src/utils/gientechCommon/utils/request.ts +0 -37
  273. package/src/utils/gientechCommon/utils/serverFn.ts +0 -172
  274. package/src/utils/index.tsx +0 -126
  275. package/src/utils/testconfigs/demologin/index.tsx +0 -32
  276. package/src/utils/testconfigs/index.ts +0 -53
  277. package/src/vite-env.d.ts +0 -11
  278. package/stats.html +0 -4949
  279. package/tailwind.config.js +0 -170
  280. package/tsconfig.app.json +0 -30
  281. package/tsconfig.app.tsbuildinfo +0 -11
  282. package/tsconfig.json +0 -13
  283. package/tsconfig.node.json +0 -22
  284. package/tsconfig.node.tsbuildinfo +0 -1
  285. package/vite.config.ts +0 -177
  286. package/workflows/release.yml +0 -60
  287. /package/{dist/assets → assets}/Doris.png +0 -0
  288. /package/{dist/assets → assets}/PostgreSQL.png +0 -0
  289. /package/{dist/assets → assets}/SQLServer.png +0 -0
  290. /package/{dist/assets → assets}/_commonjsHelpers-gnU0ypJ3.js +0 -0
  291. /package/{dist/assets → assets}/circle-alert-g2Y6zAjt.js +0 -0
  292. /package/{dist/assets → assets}/empty.png +0 -0
  293. /package/{dist/assets → assets}/index-CEK88UzR.js +0 -0
  294. /package/{dist/assets → assets}/index-CpW6Dhpp.js +0 -0
  295. /package/{dist/assets → assets}/plus-omCUN0e3.js +0 -0
  296. /package/{dist/assets → assets}/style.css +0 -0
  297. /package/{dist/assets → assets}/style2.css +0 -0
  298. /package/{dist/assets → assets}/style3.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,161 +0,0 @@
1
- 'use client';
2
-
3
- import React from 'react';
4
-
5
- import { cn } from '@udecode/cn';
6
- import { useFormInputProps } from '@udecode/plate-common/react';
7
- import {
8
- type UseVirtualFloatingOptions,
9
- flip,
10
- offset,
11
- } from '@udecode/plate-floating';
12
- import {
13
- FloatingLinkUrlInput,
14
- type LinkFloatingToolbarState,
15
- LinkOpenButton,
16
- useFloatingLinkEdit,
17
- useFloatingLinkEditState,
18
- useFloatingLinkInsert,
19
- useFloatingLinkInsertState,
20
- } from '@udecode/plate-link/react';
21
-
22
- import { Icons } from './icons';
23
-
24
- import { buttonVariants } from './button';
25
- import { inputVariants } from './input';
26
- import { popoverVariants } from './popover';
27
- import { Separator } from './separator';
28
-
29
- const floatingOptions: UseVirtualFloatingOptions = {
30
- middleware: [
31
- offset(12),
32
- flip({
33
- fallbackPlacements: ['bottom-end', 'top-start', 'top-end'],
34
- padding: 12,
35
- }),
36
- ],
37
- placement: 'bottom-start',
38
- };
39
-
40
- export interface LinkFloatingToolbarProps {
41
- state?: LinkFloatingToolbarState;
42
- }
43
-
44
- export function LinkFloatingToolbar({ state }: LinkFloatingToolbarProps) {
45
- const insertState = useFloatingLinkInsertState({
46
- ...state,
47
- floatingOptions: {
48
- ...floatingOptions,
49
- ...state?.floatingOptions,
50
- },
51
- });
52
- const {
53
- hidden,
54
- props: insertProps,
55
- ref: insertRef,
56
- textInputProps,
57
- } = useFloatingLinkInsert(insertState);
58
-
59
- const editState = useFloatingLinkEditState({
60
- ...state,
61
- floatingOptions: {
62
- ...floatingOptions,
63
- ...state?.floatingOptions,
64
- },
65
- });
66
- const {
67
- editButtonProps,
68
- props: editProps,
69
- ref: editRef,
70
- unlinkButtonProps,
71
- } = useFloatingLinkEdit(editState);
72
- const inputProps = useFormInputProps({
73
- preventDefaultOnEnterKeydown: true,
74
- });
75
-
76
- if (hidden) return null;
77
-
78
- const input = (
79
- <div className="flex w-[330px] flex-col" {...inputProps}>
80
- <div className="flex items-center">
81
- <div className="flex items-center pl-3 text-muted-foreground">
82
- <Icons.link className="size-4" />
83
- </div>
84
-
85
- <FloatingLinkUrlInput
86
- className={inputVariants({ h: 'sm', variant: 'ghost' })}
87
- placeholder="Paste link"
88
- />
89
- </div>
90
- <Separator />
91
- <div className="flex items-center">
92
- <div className="flex items-center pl-3 text-muted-foreground">
93
- <Icons.text className="size-4" />
94
- </div>
95
- <input
96
- className={inputVariants({ h: 'sm', variant: 'ghost' })}
97
- placeholder="Text to display"
98
- {...textInputProps}
99
- />
100
- </div>
101
- </div>
102
- );
103
-
104
- const editContent = editState.isEditing ? (
105
- input
106
- ) : (
107
- <div className="box-content flex h-9 items-center gap-1">
108
- <button
109
- className={buttonVariants({ size: 'sm', variant: 'ghost' })}
110
- type="button"
111
- {...editButtonProps}
112
- >
113
- Edit link
114
- </button>
115
-
116
- <Separator orientation="vertical" />
117
-
118
- <LinkOpenButton
119
- className={buttonVariants({
120
- size: 'sms',
121
- variant: 'ghost',
122
- })}
123
- >
124
- <Icons.externalLink width={18} />
125
- </LinkOpenButton>
126
-
127
- <Separator orientation="vertical" />
128
-
129
- <button
130
- className={buttonVariants({
131
- size: 'sms',
132
- variant: 'ghost',
133
- })}
134
- type="button"
135
- {...unlinkButtonProps}
136
- >
137
- <Icons.unlink width={18} />
138
- </button>
139
- </div>
140
- );
141
-
142
- return (
143
- <>
144
- <div
145
- className={cn(popoverVariants(), 'w-auto p-1')}
146
- ref={insertRef}
147
- {...insertProps}
148
- >
149
- {input}
150
- </div>
151
-
152
- <div
153
- className={cn(popoverVariants(), 'w-auto p-1')}
154
- ref={editRef}
155
- {...editProps}
156
- >
157
- {editContent}
158
- </div>
159
- </>
160
- );
161
- }
@@ -1,30 +0,0 @@
1
- import React from 'react';
2
-
3
- import { withRef, withVariants } from '@udecode/cn';
4
- import { PlateElement } from '@udecode/plate-common/react';
5
- import { cva } from 'class-variance-authority';
6
-
7
- const listVariants = cva('m-0 ps-6', {
8
- variants: {
9
- variant: {
10
- ol: 'list-decimal',
11
- ul: 'list-disc [&_ul]:list-[circle] [&_ul_ul]:list-[square]',
12
- },
13
- },
14
- });
15
-
16
- const ListElementVariants = withVariants(PlateElement, listVariants, [
17
- 'variant',
18
- ]);
19
-
20
- export const ListElement = withRef<typeof ListElementVariants>(
21
- ({ children, variant = 'ul', ...props }, ref) => {
22
- const Component = variant!;
23
-
24
- return (
25
- <ListElementVariants asChild ref={ref} variant={variant} {...props}>
26
- <Component>{children}</Component>
27
- </ListElementVariants>
28
- );
29
- }
30
- );
@@ -1,24 +0,0 @@
1
- 'use client';
2
-
3
- import React from 'react';
4
-
5
- import { withRef } from '@udecode/cn';
6
- import {
7
- useMarkToolbarButton,
8
- useMarkToolbarButtonState,
9
- } from '@udecode/plate-common/react';
10
-
11
- import { ToolbarButton } from './toolbar';
12
-
13
- export const MarkToolbarButton = withRef<
14
- typeof ToolbarButton,
15
- {
16
- clear?: string | string[];
17
- nodeType: string;
18
- }
19
- >(({ clear, nodeType, ...rest }, ref) => {
20
- const state = useMarkToolbarButtonState({ clear, nodeType });
21
- const { props } = useMarkToolbarButton(state);
22
-
23
- return <ToolbarButton ref={ref} {...props} {...rest} />;
24
- });
@@ -1,133 +0,0 @@
1
- import React from 'react';
2
- import LiteYouTubeEmbed from 'react-lite-youtube-embed';
3
- import { Tweet } from 'react-tweet';
4
-
5
- import { cn, withRef } from '@udecode/cn';
6
- import { PlateElement, withHOC } from '@udecode/plate-common/react';
7
- import { parseTwitterUrl, parseVideoUrl } from '@udecode/plate-media';
8
- import { MediaEmbedPlugin, useMediaState } from '@udecode/plate-media/react';
9
- import { ResizableProvider, useResizableStore } from '@udecode/plate-resizable';
10
-
11
- import { Caption, CaptionTextarea } from './caption';
12
- import { MediaPopover } from './media-popover';
13
- import {
14
- Resizable,
15
- ResizeHandle,
16
- mediaResizeHandleVariants,
17
- } from './resizable';
18
-
19
- export const MediaEmbedElement = withHOC(
20
- ResizableProvider,
21
- withRef<typeof PlateElement>(({ children, className, ...props }, ref) => {
22
- const {
23
- align = 'center',
24
- embed,
25
- focused,
26
- isTweet,
27
- isVideo,
28
- isYoutube,
29
- readOnly,
30
- selected,
31
- } = useMediaState({
32
- urlParsers: [parseTwitterUrl, parseVideoUrl],
33
- });
34
- const width = useResizableStore().get.width();
35
- const provider = embed?.provider;
36
-
37
- return (
38
- <MediaPopover plugin={MediaEmbedPlugin}>
39
- <PlateElement
40
- className={cn('relative py-2.5', className)}
41
- ref={ref}
42
- {...props}
43
- >
44
- <figure className="group relative m-0 w-full" contentEditable={false}>
45
- <Resizable
46
- align={align}
47
- options={{
48
- align,
49
- maxWidth: isTweet ? 550 : '100%',
50
- minWidth: isTweet ? 300 : 100,
51
- }}
52
- >
53
- <ResizeHandle
54
- className={mediaResizeHandleVariants({ direction: 'left' })}
55
- options={{ direction: 'left' }}
56
- />
57
-
58
- {isVideo ? (
59
- isYoutube ? (
60
- <LiteYouTubeEmbed
61
- id={embed!.id!}
62
- title="youtube"
63
- wrapperClass={cn(
64
- 'rounded-sm',
65
- focused && selected && 'ring-2 ring-ring ring-offset-2',
66
- 'relative block cursor-pointer bg-black bg-cover bg-center [contain:content]',
67
- '[&.lyt-activated]:before:absolute [&.lyt-activated]:before:top-0 [&.lyt-activated]:before:h-[60px] [&.lyt-activated]:before:w-full [&.lyt-activated]:before:bg-top [&.lyt-activated]:before:bg-repeat-x [&.lyt-activated]:before:pb-[50px] [&.lyt-activated]:before:[transition:all_0.2s_cubic-bezier(0,_0,_0.2,_1)]',
68
- '[&.lyt-activated]:before:bg-[url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==)]',
69
- 'after:block after:pb-[var(--aspect-ratio)] after:content-[""]',
70
- '[&_>_iframe]:absolute [&_>_iframe]:left-0 [&_>_iframe]:top-0 [&_>_iframe]:size-full',
71
- '[&_>_.lty-playbtn]:z-[1] [&_>_.lty-playbtn]:h-[46px] [&_>_.lty-playbtn]:w-[70px] [&_>_.lty-playbtn]:rounded-[14%] [&_>_.lty-playbtn]:bg-[#212121] [&_>_.lty-playbtn]:opacity-80 [&_>_.lty-playbtn]:[transition:all_0.2s_cubic-bezier(0,_0,_0.2,_1)]',
72
- '[&:hover_>_.lty-playbtn]:bg-[red] [&:hover_>_.lty-playbtn]:opacity-100',
73
- '[&_>_.lty-playbtn]:before:border-y-[11px] [&_>_.lty-playbtn]:before:border-l-[19px] [&_>_.lty-playbtn]:before:border-r-0 [&_>_.lty-playbtn]:before:border-[transparent_transparent_transparent_#fff] [&_>_.lty-playbtn]:before:content-[""]',
74
- '[&_>_.lty-playbtn]:absolute [&_>_.lty-playbtn]:left-1/2 [&_>_.lty-playbtn]:top-1/2 [&_>_.lty-playbtn]:[transform:translate3d(-50%,-50%,0)]',
75
- '[&_>_.lty-playbtn]:before:absolute [&_>_.lty-playbtn]:before:left-1/2 [&_>_.lty-playbtn]:before:top-1/2 [&_>_.lty-playbtn]:before:[transform:translate3d(-50%,-50%,0)]',
76
- '[&.lyt-activated]:cursor-[unset]',
77
- '[&.lyt-activated]:before:pointer-events-none [&.lyt-activated]:before:opacity-0',
78
- '[&.lyt-activated_>_.lty-playbtn]:pointer-events-none [&.lyt-activated_>_.lty-playbtn]:!opacity-0'
79
- )}
80
- />
81
- ) : (
82
- <div
83
- className={cn(
84
- provider === 'vimeo' && 'pb-[75%]',
85
- provider === 'youku' && 'pb-[56.25%]',
86
- provider === 'dailymotion' && 'pb-[56.0417%]',
87
- provider === 'coub' && 'pb-[51.25%]'
88
- )}
89
- >
90
- <iframe
91
- allowFullScreen
92
- className={cn(
93
- 'absolute left-0 top-0 size-full rounded-sm',
94
- isVideo && 'border-0',
95
- focused && selected && 'ring-2 ring-ring ring-offset-2'
96
- )}
97
- src={embed!.url}
98
- title="embed"
99
- />
100
- </div>
101
- )
102
- ) : null}
103
-
104
- {isTweet && (
105
- <div
106
- className={cn(
107
- '[&_.react-tweet-theme]:my-0',
108
- !readOnly &&
109
- selected &&
110
- '[&_.react-tweet-theme]:ring-2 [&_.react-tweet-theme]:ring-ring [&_.react-tweet-theme]:ring-offset-2'
111
- )}
112
- >
113
- <Tweet id={embed!.id!} />
114
- </div>
115
- )}
116
-
117
- <ResizeHandle
118
- className={mediaResizeHandleVariants({ direction: 'right' })}
119
- options={{ direction: 'right' }}
120
- />
121
- </Resizable>
122
-
123
- <Caption align={align} style={{ width }}>
124
- <CaptionTextarea placeholder="Write a caption..." />
125
- </Caption>
126
- </figure>
127
-
128
- {children}
129
- </PlateElement>
130
- </MediaPopover>
131
- );
132
- })
133
- );
@@ -1,97 +0,0 @@
1
- import React, { useEffect } from 'react';
2
-
3
- import {
4
- type WithRequiredKey,
5
- isSelectionExpanded,
6
- } from '@udecode/plate-common';
7
- import {
8
- useEditorSelector,
9
- useElement,
10
- useRemoveNodeButton,
11
- } from '@udecode/plate-common/react';
12
- import {
13
- FloatingMedia as FloatingMediaPrimitive,
14
- floatingMediaActions,
15
- useFloatingMediaSelectors,
16
- } from '@udecode/plate-media/react';
17
- import { useReadOnly, useSelected } from 'slate-react';
18
-
19
- import { Icons } from './icons';
20
-
21
- import { Button, buttonVariants } from './button';
22
- import { CaptionButton } from './caption';
23
- import { inputVariants } from './input';
24
- import { Popover, PopoverAnchor, PopoverContent } from './popover';
25
- import { Separator } from './separator';
26
-
27
- export interface MediaPopoverProps {
28
- children: React.ReactNode;
29
- plugin: WithRequiredKey;
30
- }
31
-
32
- export function MediaPopover({ children, plugin }: MediaPopoverProps) {
33
- const readOnly = useReadOnly();
34
- const selected = useSelected();
35
-
36
- const selectionCollapsed = useEditorSelector(
37
- (editor) => !isSelectionExpanded(editor),
38
- []
39
- );
40
- const isOpen = !readOnly && selected && selectionCollapsed;
41
- const isEditing = useFloatingMediaSelectors().isEditing();
42
-
43
- useEffect(() => {
44
- if (!isOpen && isEditing) {
45
- floatingMediaActions.isEditing(false);
46
- }
47
- // eslint-disable-next-line react-hooks/exhaustive-deps
48
- }, [isOpen]);
49
-
50
- const element = useElement();
51
- const { props: buttonProps } = useRemoveNodeButton({ element });
52
-
53
- if (readOnly) return <>{children}</>;
54
-
55
- return (
56
- <Popover modal={false} open={isOpen}>
57
- <PopoverAnchor>{children}</PopoverAnchor>
58
-
59
- <PopoverContent
60
- className="w-auto p-1"
61
- onOpenAutoFocus={(e) => e.preventDefault()}
62
- >
63
- {isEditing ? (
64
- <div className="flex w-[330px] flex-col">
65
- <div className="flex items-center">
66
- <div className="flex items-center pl-3 text-muted-foreground">
67
- <Icons.link className="size-4" />
68
- </div>
69
-
70
- <FloatingMediaPrimitive.UrlInput
71
- className={inputVariants({ h: 'sm', variant: 'ghost' })}
72
- options={{ plugin }}
73
- placeholder="Paste the embed link..."
74
- />
75
- </div>
76
- </div>
77
- ) : (
78
- <div className="box-content flex h-9 items-center gap-1">
79
- <FloatingMediaPrimitive.EditButton
80
- className={buttonVariants({ size: 'sm', variant: 'ghost' })}
81
- >
82
- Edit link
83
- </FloatingMediaPrimitive.EditButton>
84
-
85
- <CaptionButton variant="ghost">Caption</CaptionButton>
86
-
87
- <Separator className="my-1" orientation="vertical" />
88
-
89
- <Button size="sms" variant="ghost" {...buttonProps}>
90
- <Icons.delete className="size-4" />
91
- </Button>
92
- </div>
93
- )}
94
- </PopoverContent>
95
- </Popover>
96
- );
97
- }
@@ -1,43 +0,0 @@
1
- import React from 'react';
2
-
3
- import type { TMentionElement } from '@udecode/plate-mention';
4
-
5
- import { cn, withRef } from '@udecode/cn';
6
- import { getHandler } from '@udecode/plate-common';
7
- import { PlateElement, useElement } from '@udecode/plate-common/react';
8
- import { useFocused, useSelected } from 'slate-react';
9
-
10
- export const MentionElement = withRef<
11
- typeof PlateElement,
12
- {
13
- onClick?: (mentionNode: any) => void;
14
- prefix?: string;
15
- renderLabel?: (mentionable: TMentionElement) => string;
16
- }
17
- >(({ children, className, onClick, prefix, renderLabel, ...props }, ref) => {
18
- const element = useElement<TMentionElement>();
19
- const selected = useSelected();
20
- const focused = useFocused();
21
-
22
- return (
23
- <PlateElement
24
- className={cn(
25
- 'inline-block cursor-pointer rounded-md bg-muted px-1.5 py-0.5 align-baseline text-sm font-medium',
26
- selected && focused && 'ring-2 ring-ring',
27
- element.children[0].bold === true && 'font-bold',
28
- element.children[0].italic === true && 'italic',
29
- element.children[0].underline === true && 'underline',
30
- className
31
- )}
32
- contentEditable={false}
33
- data-slate-value={element.value}
34
- onClick={getHandler(onClick, element)}
35
- ref={ref}
36
- {...props}
37
- >
38
- {prefix}
39
- {renderLabel ? renderLabel(element) : element.value}
40
- {children}
41
- </PlateElement>
42
- );
43
- });
@@ -1,141 +0,0 @@
1
- import React, { useState } from 'react';
2
-
3
- import { cn, withRef } from '@udecode/cn';
4
- import { PlateElement } from '@udecode/plate-common/react';
5
- import { getMentionOnSelectItem } from '@udecode/plate-mention';
6
-
7
- import {
8
- InlineCombobox,
9
- InlineComboboxContent,
10
- InlineComboboxEmpty,
11
- InlineComboboxInput,
12
- InlineComboboxItem,
13
- } from './inline-combobox';
14
-
15
- const onSelectItem = getMentionOnSelectItem();
16
-
17
- export const MentionInputElement = withRef<typeof PlateElement>(
18
- ({ className, ...props }, ref) => {
19
- const { children, editor, element } = props;
20
- const [search, setSearch] = useState('');
21
-
22
- return (
23
- <PlateElement
24
- as="span"
25
- data-slate-value={element.value}
26
- ref={ref}
27
- {...props}
28
- >
29
- <InlineCombobox
30
- element={element}
31
- setValue={setSearch}
32
- showTrigger={false}
33
- trigger="@"
34
- value={search}
35
- >
36
- <span
37
- className={cn(
38
- 'inline-block rounded-md bg-muted px-1.5 py-0.5 align-baseline text-sm ring-ring focus-within:ring-2',
39
- className
40
- )}
41
- >
42
- <InlineComboboxInput />
43
- </span>
44
-
45
- <InlineComboboxContent className="my-1.5">
46
- <InlineComboboxEmpty>No results found</InlineComboboxEmpty>
47
-
48
- {MENTIONABLES.map((item) => (
49
- <InlineComboboxItem
50
- key={item.key}
51
- onClick={() => onSelectItem(editor, item, search)}
52
- value={item.text}
53
- >
54
- {item.text}
55
- </InlineComboboxItem>
56
- ))}
57
- </InlineComboboxContent>
58
- </InlineCombobox>
59
-
60
- {children}
61
- </PlateElement>
62
- );
63
- }
64
- );
65
-
66
- export const MENTIONABLES = [
67
- { key: '0', text: 'Aayla Secura' },
68
- { key: '1', text: 'Adi Gallia' },
69
- {
70
- key: '2',
71
- text: 'Admiral Dodd Rancit',
72
- },
73
- {
74
- key: '3',
75
- text: 'Admiral Firmus Piett',
76
- },
77
- {
78
- key: '4',
79
- text: 'Admiral Gial Ackbar',
80
- },
81
- { key: '5', text: 'Admiral Ozzel' },
82
- { key: '6', text: 'Admiral Raddus' },
83
- {
84
- key: '7',
85
- text: 'Admiral Terrinald Screed',
86
- },
87
- { key: '8', text: 'Admiral Trench' },
88
- {
89
- key: '9',
90
- text: 'Admiral U.O. Statura',
91
- },
92
- { key: '10', text: 'Agen Kolar' },
93
- { key: '11', text: 'Agent Kallus' },
94
- {
95
- key: '12',
96
- text: 'Aiolin and Morit Astarte',
97
- },
98
- { key: '13', text: 'Aks Moe' },
99
- { key: '14', text: 'Almec' },
100
- { key: '15', text: 'Alton Kastle' },
101
- { key: '16', text: 'Amee' },
102
- { key: '17', text: 'AP-5' },
103
- { key: '18', text: 'Armitage Hux' },
104
- { key: '19', text: 'Artoo' },
105
- { key: '20', text: 'Arvel Crynyd' },
106
- { key: '21', text: 'Asajj Ventress' },
107
- { key: '22', text: 'Aurra Sing' },
108
- { key: '23', text: 'AZI-3' },
109
- { key: '24', text: 'Bala-Tik' },
110
- { key: '25', text: 'Barada' },
111
- { key: '26', text: 'Bargwill Tomder' },
112
- { key: '27', text: 'Baron Papanoida' },
113
- { key: '28', text: 'Barriss Offee' },
114
- { key: '29', text: 'Baze Malbus' },
115
- { key: '30', text: 'Bazine Netal' },
116
- { key: '31', text: 'BB-8' },
117
- { key: '32', text: 'BB-9E' },
118
- { key: '33', text: 'Ben Quadinaros' },
119
- { key: '34', text: 'Berch Teller' },
120
- { key: '35', text: 'Beru Lars' },
121
- { key: '36', text: 'Bib Fortuna' },
122
- {
123
- key: '37',
124
- text: 'Biggs Darklighter',
125
- },
126
- { key: '38', text: 'Black Krrsantan' },
127
- { key: '39', text: 'Bo-Katan Kryze' },
128
- { key: '40', text: 'Boba Fett' },
129
- { key: '41', text: 'Bobbajo' },
130
- { key: '42', text: 'Bodhi Rook' },
131
- { key: '43', text: 'Borvo the Hutt' },
132
- { key: '44', text: 'Boss Nass' },
133
- { key: '45', text: 'Bossk' },
134
- {
135
- key: '46',
136
- text: 'Breha Antilles-Organa',
137
- },
138
- { key: '47', text: 'Bren Derlin' },
139
- { key: '48', text: 'Brendol Hux' },
140
- { key: '49', text: 'BT-1' },
141
- ];