@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,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
- ];