@allbluecn/web-app 0.6.3 → 0.7.0

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 (949) hide show
  1. package/package.json +29 -180
  2. package/src/__tests__/components/reference-inline.test.tsx +1 -1
  3. package/src/__tests__/setup.ts +1 -1
  4. package/src/__tests__/tag-badge.test.tsx +1 -1
  5. package/src/components/agents/schemas/agent-form.ts +1 -1
  6. package/src/components/animated-icons/layout-panel-top.tsx +1 -1
  7. package/src/components/auth/auth-layout.tsx +1 -1
  8. package/src/components/billing/__tests__/use-resource.test.tsx +1 -1
  9. package/src/components/billing/checkout-redirect.ts +1 -1
  10. package/src/components/billing/feature-gate.tsx +1 -1
  11. package/src/components/billing/subscription-provider.tsx +2 -2
  12. package/src/components/billing/use-feature.ts +1 -1
  13. package/src/components/billing/use-resource.ts +1 -1
  14. package/src/components/changelog/changelog-page.tsx +1 -1
  15. package/src/components/chat/ai-chat-history/utils/group-conversations.ts +1 -1
  16. package/src/components/chat/ai-citations/utils.ts +1 -1
  17. package/src/components/command/command-palette.tsx +1 -1
  18. package/src/components/forms/hooks/use-form-submit.ts +1 -1
  19. package/src/components/forms/schemas/common.ts +1 -1
  20. package/src/components/knowledge/editor/doc-header.tsx +4 -4
  21. package/src/components/knowledge/editor/knowledge-doc-editor.tsx +1 -1
  22. package/src/components/knowledge-public/knowledge-card.tsx +2 -2
  23. package/src/components/knowledge-public/knowledge-form-dialog.tsx +1 -1
  24. package/src/components/knowledge-public/sharers-avatar-group.tsx +1 -1
  25. package/src/components/layout/sidebar-03/__tests__/nav-workspace.test.tsx +1 -1
  26. package/src/components/layout/sidebar-03/nav-main.tsx +1 -1
  27. package/src/components/layout/sidebar-03/nav-notifications.tsx +1 -1
  28. package/src/components/layout/sidebar-03/user-menu.tsx +2 -2
  29. package/src/components/magicui/animated-theme-toggler.tsx +1 -1
  30. package/src/components/magicui/grid-pattern.tsx +1 -1
  31. package/src/components/mindmap/mindmap-doc-editor.tsx +4 -4
  32. package/src/components/notifications/settings-notifications.tsx +2 -2
  33. package/src/components/notifications/team-notifications.tsx +1 -1
  34. package/src/components/project/invite-member-dialog.tsx +1 -1
  35. package/src/components/project/project-activity-list.tsx +2 -2
  36. package/src/components/project/project-member-manager.tsx +1 -1
  37. package/src/components/project/schemas/create-project.ts +1 -1
  38. package/src/components/prototype/block/index.ts +22 -0
  39. package/src/components/prototype/component/Button.tsx +49 -0
  40. package/src/components/prototype/component/Card.tsx +49 -0
  41. package/src/components/prototype/component/GenericPrototype.tsx +42 -0
  42. package/src/components/prototype/component/Image.tsx +51 -0
  43. package/src/components/prototype/component/Input.tsx +45 -0
  44. package/src/components/prototype/component/Text.tsx +43 -0
  45. package/src/components/prototype/component/index.ts +102 -0
  46. package/src/components/prototype/component-preview.tsx +137 -0
  47. package/src/components/prototype/imported/.gitkeep +0 -0
  48. package/src/components/prototype/imported-registry.ts +25 -0
  49. package/src/components/prototype/index.ts +42 -0
  50. package/src/components/prototype/registry.ts +40 -0
  51. package/src/components/prototype/template/index.ts +22 -0
  52. package/src/components/prototype/types.ts +96 -0
  53. package/src/components/prototype/utils.ts +20 -0
  54. package/src/components/prototype/vite-env.d.ts +6 -0
  55. package/src/components/settings/language-selector.tsx +1 -1
  56. package/src/components/settings/personal-team/account/avatar/notion-avatar.tsx +2 -2
  57. package/src/components/settings/personal-team/team/team-member-list.tsx +1 -1
  58. package/src/components/share/prd/prd-share-client.tsx +1 -1
  59. package/src/components/share/prd/share-annotation-overlay.tsx +1 -1
  60. package/src/components/share/prd/share-comment-panel.tsx +1 -1
  61. package/src/components/share/prd/share-comment-review-panel.tsx +1 -1
  62. package/src/components/share/prd/share-directory-tree.tsx +1 -1
  63. package/src/components/share/prd/share-doc-view.tsx +1 -1
  64. package/src/components/share/prd/share-layout.tsx +1 -1
  65. package/src/components/share/prd/share-nav-bar.tsx +1 -1
  66. package/src/components/share/prd/share-password-gate.tsx +1 -1
  67. package/src/components/share/prd/share-prototype-view.tsx +1 -1
  68. package/src/components/share/prd/share-review-panel.tsx +1 -1
  69. package/src/components/share/prd/share-sse-listener.tsx +1 -1
  70. package/src/components/share/prd/share-theme-toggle.tsx +1 -1
  71. package/src/components/share/prd/version-share-client.tsx +1 -1
  72. package/src/components/shared/component-preview.tsx +1 -1
  73. package/src/components/shared/language-switcher.tsx +1 -1
  74. package/src/components/shared/name-confirm-dialog.tsx +1 -1
  75. package/src/components/shared/nav-float-button.tsx +1 -1
  76. package/src/components/shared/placeholder-page.tsx +1 -1
  77. package/src/components/story/columns.tsx +1 -1
  78. package/src/components/story/create-story-dialog.tsx +2 -2
  79. package/src/components/story/detail/__tests__/activity-timeline.test.tsx +1 -1
  80. package/src/components/story/detail/activity-timeline.tsx +1 -1
  81. package/src/components/story/detail/comment-item.tsx +1 -1
  82. package/src/components/story/detail/story-detail-body.tsx +2 -2
  83. package/src/components/story/display/__tests__/display-dropdown.test.tsx +1 -1
  84. package/src/components/story/display/group-resolver.tsx +1 -1
  85. package/src/components/story/filters/applied-filters.tsx +1 -1
  86. package/src/components/story/infinite-scroll-sentinel.tsx +1 -1
  87. package/src/components/story/inline-editors/assignee-editor.tsx +1 -1
  88. package/src/components/story/schemas/story-create.ts +1 -1
  89. package/src/components/story/views/kanban-card.tsx +1 -1
  90. package/src/components/story/views/view-types.ts +1 -1
  91. package/src/components/tiptap/__tests__/ai-extension.test.ts +120 -0
  92. package/src/components/tiptap/extension/ai-extension.ts +408 -0
  93. package/src/components/tiptap/extension/code-block-ellipsis-input-extension.ts +32 -0
  94. package/src/components/tiptap/extension/fullwidth-blockquote-extension.ts +31 -0
  95. package/src/components/tiptap/extension/indent-extension.ts +500 -0
  96. package/src/components/tiptap/extension/list-normalization-extension.ts +129 -0
  97. package/src/components/tiptap/extension/node-alignment-extension.ts +302 -0
  98. package/src/components/tiptap/extension/node-background-extension.ts +167 -0
  99. package/src/components/tiptap/extension/triple-click-block-selection-extension.ts +66 -0
  100. package/src/components/tiptap/extension/ui-state-extension.ts +114 -0
  101. package/src/components/tiptap/extensions/local-file/insert-local-file.ts +35 -0
  102. package/src/components/tiptap/extensions/local-file/local-file-node.ts +67 -0
  103. package/src/components/tiptap/global.d.ts +12 -0
  104. package/src/components/tiptap/hooks/use-composed-ref.ts +63 -0
  105. package/src/components/tiptap/hooks/use-cursor-visibility.ts +87 -0
  106. package/src/components/tiptap/hooks/use-element-rect.ts +179 -0
  107. package/src/components/tiptap/hooks/use-floating-element.ts +144 -0
  108. package/src/components/tiptap/hooks/use-floating-toolbar-visibility.ts +140 -0
  109. package/src/components/tiptap/hooks/use-is-breakpoint.ts +53 -0
  110. package/src/components/tiptap/hooks/use-isomorphic-layout-effect.ts +27 -0
  111. package/src/components/tiptap/hooks/use-menu-navigation.ts +212 -0
  112. package/src/components/tiptap/hooks/use-on-click-outside.ts +167 -0
  113. package/src/components/tiptap/hooks/use-tiptap-editor.ts +87 -0
  114. package/src/components/tiptap/hooks/use-ui-editor-state.ts +47 -0
  115. package/src/components/tiptap/hooks/use-window-size.ts +108 -0
  116. package/src/components/tiptap/icons/add-col-left-icon.tsx +47 -0
  117. package/src/components/tiptap/icons/add-col-right-icon.tsx +47 -0
  118. package/src/components/tiptap/icons/add-row-bottom-icon.tsx +47 -0
  119. package/src/components/tiptap/icons/add-row-top-icon.tsx +47 -0
  120. package/src/components/tiptap/icons/ai-sparkles-icon.tsx +49 -0
  121. package/src/components/tiptap/icons/align-bottom-icon.tsx +45 -0
  122. package/src/components/tiptap/icons/align-center-icon.tsx +55 -0
  123. package/src/components/tiptap/icons/align-center-vertical-icon.tsx +51 -0
  124. package/src/components/tiptap/icons/align-end-vertical-icon.tsx +51 -0
  125. package/src/components/tiptap/icons/align-justify-icon.tsx +55 -0
  126. package/src/components/tiptap/icons/align-left-icon.tsx +55 -0
  127. package/src/components/tiptap/icons/align-middle-icon.tsx +72 -0
  128. package/src/components/tiptap/icons/align-right-icon.tsx +55 -0
  129. package/src/components/tiptap/icons/align-start-vertical-icon.tsx +49 -0
  130. package/src/components/tiptap/icons/align-top-icon.tsx +45 -0
  131. package/src/components/tiptap/icons/alignment-icon.tsx +89 -0
  132. package/src/components/tiptap/icons/arrow-down-a-z-icon.tsx +51 -0
  133. package/src/components/tiptap/icons/arrow-down-icon.tsx +41 -0
  134. package/src/components/tiptap/icons/arrow-down-to-line-icon.tsx +45 -0
  135. package/src/components/tiptap/icons/arrow-down-z-a-icon.tsx +51 -0
  136. package/src/components/tiptap/icons/arrow-left-icon.tsx +41 -0
  137. package/src/components/tiptap/icons/arrow-right-icon.tsx +43 -0
  138. package/src/components/tiptap/icons/arrow-up-icon.tsx +43 -0
  139. package/src/components/tiptap/icons/at-sign-icon.tsx +43 -0
  140. package/src/components/tiptap/icons/ban-icon.tsx +43 -0
  141. package/src/components/tiptap/icons/blockquote-icon.tsx +61 -0
  142. package/src/components/tiptap/icons/bold-icon.tsx +43 -0
  143. package/src/components/tiptap/icons/check-ai-icon.tsx +49 -0
  144. package/src/components/tiptap/icons/check-icon.tsx +43 -0
  145. package/src/components/tiptap/icons/chevron-down-icon.tsx +43 -0
  146. package/src/components/tiptap/icons/chevron-right-icon.tsx +43 -0
  147. package/src/components/tiptap/icons/clipboard-icon.tsx +41 -0
  148. package/src/components/tiptap/icons/close-icon.tsx +41 -0
  149. package/src/components/tiptap/icons/code-block-icon.tsx +55 -0
  150. package/src/components/tiptap/icons/code2-icon.tsx +49 -0
  151. package/src/components/tiptap/icons/complete-sentence-icon.tsx +61 -0
  152. package/src/components/tiptap/icons/copy-icon.tsx +49 -0
  153. package/src/components/tiptap/icons/corner-down-left-icon.tsx +43 -0
  154. package/src/components/tiptap/icons/external-link-icon.tsx +45 -0
  155. package/src/components/tiptap/icons/grip-4-icon.tsx +41 -0
  156. package/src/components/tiptap/icons/grip-vertical-icon.tsx +61 -0
  157. package/src/components/tiptap/icons/heading-five-icon.tsx +45 -0
  158. package/src/components/tiptap/icons/heading-four-icon.tsx +45 -0
  159. package/src/components/tiptap/icons/heading-one-icon.tsx +45 -0
  160. package/src/components/tiptap/icons/heading-six-icon.tsx +47 -0
  161. package/src/components/tiptap/icons/heading-three-icon.tsx +53 -0
  162. package/src/components/tiptap/icons/heading-two-icon.tsx +45 -0
  163. package/src/components/tiptap/icons/highlighter-icon.tsx +43 -0
  164. package/src/components/tiptap/icons/image-caption-icon.tsx +55 -0
  165. package/src/components/tiptap/icons/image-icon.tsx +43 -0
  166. package/src/components/tiptap/icons/image-plus-icon.tsx +43 -0
  167. package/src/components/tiptap/icons/indent-decrease-icon.tsx +57 -0
  168. package/src/components/tiptap/icons/indent-increase-icon.tsx +57 -0
  169. package/src/components/tiptap/icons/italic-icon.tsx +41 -0
  170. package/src/components/tiptap/icons/languages-icon.tsx +51 -0
  171. package/src/components/tiptap/icons/link-icon.tsx +45 -0
  172. package/src/components/tiptap/icons/list-icon.tsx +73 -0
  173. package/src/components/tiptap/icons/list-indented-icon.tsx +73 -0
  174. package/src/components/tiptap/icons/list-ordered-icon.tsx +73 -0
  175. package/src/components/tiptap/icons/list-todo-icon.tsx +67 -0
  176. package/src/components/tiptap/icons/message-square-icon.tsx +43 -0
  177. package/src/components/tiptap/icons/message-square-plus-icon.tsx +49 -0
  178. package/src/components/tiptap/icons/mic-ai-icon.tsx +51 -0
  179. package/src/components/tiptap/icons/minus-icon.tsx +43 -0
  180. package/src/components/tiptap/icons/moon-star-icon.tsx +47 -0
  181. package/src/components/tiptap/icons/more-vertical-icon.tsx +55 -0
  182. package/src/components/tiptap/icons/move-horizontal-icon.tsx +41 -0
  183. package/src/components/tiptap/icons/network-icon.tsx +48 -0
  184. package/src/components/tiptap/icons/paint-bucket-icon.tsx +49 -0
  185. package/src/components/tiptap/icons/plus-icon.tsx +41 -0
  186. package/src/components/tiptap/icons/plus-small-icon.tsx +41 -0
  187. package/src/components/tiptap/icons/redo2-icon.tsx +43 -0
  188. package/src/components/tiptap/icons/refresh-ai-icon.tsx +51 -0
  189. package/src/components/tiptap/icons/refresh-ccw-icon.tsx +45 -0
  190. package/src/components/tiptap/icons/repeat-2-icon.tsx +43 -0
  191. package/src/components/tiptap/icons/rotate-ccw-icon.tsx +41 -0
  192. package/src/components/tiptap/icons/simplify-2-icon.tsx +41 -0
  193. package/src/components/tiptap/icons/smile-ai-icon.tsx +55 -0
  194. package/src/components/tiptap/icons/smile-plus-icon.tsx +43 -0
  195. package/src/components/tiptap/icons/square-x-icon.tsx +43 -0
  196. package/src/components/tiptap/icons/stop-circle-2-icon.tsx +43 -0
  197. package/src/components/tiptap/icons/strike-icon.tsx +45 -0
  198. package/src/components/tiptap/icons/subscript-icon.tsx +55 -0
  199. package/src/components/tiptap/icons/summarize-text-icon.tsx +53 -0
  200. package/src/components/tiptap/icons/sun-icon.tsx +75 -0
  201. package/src/components/tiptap/icons/superscript-icon.tsx +55 -0
  202. package/src/components/tiptap/icons/table-cell-merge-icon.tsx +61 -0
  203. package/src/components/tiptap/icons/table-cell-split-icon.tsx +61 -0
  204. package/src/components/tiptap/icons/table-column-icon.tsx +43 -0
  205. package/src/components/tiptap/icons/table-header-column-icon.tsx +45 -0
  206. package/src/components/tiptap/icons/table-header-row-icon.tsx +43 -0
  207. package/src/components/tiptap/icons/table-icon.tsx +43 -0
  208. package/src/components/tiptap/icons/table-row-icon.tsx +43 -0
  209. package/src/components/tiptap/icons/text-color-small-icon.tsx +43 -0
  210. package/src/components/tiptap/icons/text-extend-icon.tsx +53 -0
  211. package/src/components/tiptap/icons/text-reduce-icon.tsx +49 -0
  212. package/src/components/tiptap/icons/trash-icon.tsx +43 -0
  213. package/src/components/tiptap/icons/type-icon.tsx +41 -0
  214. package/src/components/tiptap/icons/underline-icon.tsx +43 -0
  215. package/src/components/tiptap/icons/undo2-icon.tsx +43 -0
  216. package/src/components/tiptap/icons/x-icon.tsx +41 -0
  217. package/src/components/tiptap/index.ts +1 -0
  218. package/src/components/tiptap/lib/advanced-utils.ts +388 -0
  219. package/src/components/tiptap/lib/ai-types.ts +41 -0
  220. package/src/components/tiptap/lib/collab-utils.ts +147 -0
  221. package/src/components/tiptap/lib/datetime.ts +1 -0
  222. package/src/components/tiptap/lib/fullwidth.ts +44 -0
  223. package/src/components/tiptap/lib/pacer.ts +95 -0
  224. package/src/components/tiptap/lib/utils/attr.ts +67 -0
  225. package/src/components/tiptap/lib/utils/constants.ts +46 -0
  226. package/src/components/tiptap/lib/utils/math.ts +23 -0
  227. package/src/components/tiptap/lib/utils/node.ts +136 -0
  228. package/src/components/tiptap/lib/utils/platform.ts +77 -0
  229. package/src/components/tiptap/lib/utils/schema.ts +75 -0
  230. package/src/components/tiptap/lib/utils/selection.ts +218 -0
  231. package/src/components/tiptap/lib/utils/url.ts +122 -0
  232. package/src/components/tiptap/lib/utils.ts +57 -0
  233. package/src/components/tiptap/mindmap/lib/__tests__/default-mindmap-data.test.ts +58 -0
  234. package/src/components/tiptap/mindmap/lib/default-mindmap-data.ts +36 -0
  235. package/src/components/tiptap/mindmap/mind-map.tsx +579 -0
  236. package/src/components/tiptap/mindmap/mindmap-fullscreen-dialog.tsx +52 -0
  237. package/src/components/tiptap/node/annotation-node/annotation-extension.ts +47 -0
  238. package/src/components/tiptap/node/annotation-node/annotation-node-view.tsx +185 -0
  239. package/src/components/tiptap/node/annotation-node/annotation-node.scss +77 -0
  240. package/src/components/tiptap/node/annotation-node/index.ts +2 -0
  241. package/src/components/tiptap/node/blockquote-node/blockquote-node.scss +37 -0
  242. package/src/components/tiptap/node/code-block-node/code-block-node.scss +54 -0
  243. package/src/components/tiptap/node/doc-card-extension.tsx +226 -0
  244. package/src/components/tiptap/node/heading-node/heading-node.scss +45 -0
  245. package/src/components/tiptap/node/horizontal-rule-node/horizontal-rule-node-extension.ts +31 -0
  246. package/src/components/tiptap/node/horizontal-rule-node/horizontal-rule-node.scss +25 -0
  247. package/src/components/tiptap/node/image-node/image-node-extension.ts +253 -0
  248. package/src/components/tiptap/node/image-node/image-node-floating.tsx +65 -0
  249. package/src/components/tiptap/node/image-node/image-node-view.scss +95 -0
  250. package/src/components/tiptap/node/image-node/image-node-view.tsx +363 -0
  251. package/src/components/tiptap/node/image-node/image-node.scss +35 -0
  252. package/src/components/tiptap/node/image-upload-node/image-upload-node-extension.ts +179 -0
  253. package/src/components/tiptap/node/image-upload-node/image-upload-node.scss +249 -0
  254. package/src/components/tiptap/node/image-upload-node/image-upload-node.tsx +570 -0
  255. package/src/components/tiptap/node/image-upload-node/index.tsx +18 -0
  256. package/src/components/tiptap/node/inline-node-selection.ts +42 -0
  257. package/src/components/tiptap/node/list-node/list-node.scss +208 -0
  258. package/src/components/tiptap/node/mention-extension.ts +163 -0
  259. package/src/components/tiptap/node/mindmap-node/mindmap-extension.ts +87 -0
  260. package/src/components/tiptap/node/mindmap-node/mindmap-node-view.tsx +61 -0
  261. package/src/components/tiptap/node/paragraph-node/paragraph-node.scss +1 -0
  262. package/src/components/tiptap/node/table-node/extensions/table-handle/helpers/create-image.ts +303 -0
  263. package/src/components/tiptap/node/table-node/extensions/table-handle/index.ts +19 -0
  264. package/src/components/tiptap/node/table-node/extensions/table-handle/table-handle-plugin.ts +863 -0
  265. package/src/components/tiptap/node/table-node/extensions/table-handle/table-handle.ts +67 -0
  266. package/src/components/tiptap/node/table-node/extensions/table-node-extension.ts +264 -0
  267. package/src/components/tiptap/node/table-node/hooks/use-table-handle-state.ts +88 -0
  268. package/src/components/tiptap/node/table-node/lib/tiptap-table-utils.ts +1306 -0
  269. package/src/components/tiptap/node/table-node/styles/prosemirror-table.scss +48 -0
  270. package/src/components/tiptap/node/table-node/styles/table-node.scss +211 -0
  271. package/src/components/tiptap/node/table-node/ui/table-add-row-column-button/index.tsx +19 -0
  272. package/src/components/tiptap/node/table-node/ui/table-add-row-column-button/table-add-row-column-button.tsx +117 -0
  273. package/src/components/tiptap/node/table-node/ui/table-add-row-column-button/use-table-add-row-column.ts +365 -0
  274. package/src/components/tiptap/node/table-node/ui/table-align-cell-button/index.tsx +19 -0
  275. package/src/components/tiptap/node/table-node/ui/table-align-cell-button/table-align-cell-button.tsx +144 -0
  276. package/src/components/tiptap/node/table-node/ui/table-align-cell-button/use-table-align-cell.ts +565 -0
  277. package/src/components/tiptap/node/table-node/ui/table-alignment-menu/index.tsx +18 -0
  278. package/src/components/tiptap/node/table-node/ui/table-alignment-menu/table-alignment-menu.tsx +177 -0
  279. package/src/components/tiptap/node/table-node/ui/table-cell-handle-menu/index.tsx +18 -0
  280. package/src/components/tiptap/node/table-node/ui/table-cell-handle-menu/table-cell-handle-menu.scss +121 -0
  281. package/src/components/tiptap/node/table-node/ui/table-cell-handle-menu/table-cell-handle-menu.tsx +227 -0
  282. package/src/components/tiptap/node/table-node/ui/table-clear-row-column-content-button/index.tsx +19 -0
  283. package/src/components/tiptap/node/table-node/ui/table-clear-row-column-content-button/table-clear-row-column-content-button.tsx +116 -0
  284. package/src/components/tiptap/node/table-node/ui/table-clear-row-column-content-button/use-table-clear-row-column-content.ts +487 -0
  285. package/src/components/tiptap/node/table-node/ui/table-delete-row-column-button/index.tsx +19 -0
  286. package/src/components/tiptap/node/table-node/ui/table-delete-row-column-button/table-delete-row-column-button.tsx +115 -0
  287. package/src/components/tiptap/node/table-node/ui/table-delete-row-column-button/use-table-delete-row-column.ts +283 -0
  288. package/src/components/tiptap/node/table-node/ui/table-duplicate-row-column-button/index.tsx +19 -0
  289. package/src/components/tiptap/node/table-node/ui/table-duplicate-row-column-button/table-duplicate-row-column-button.tsx +107 -0
  290. package/src/components/tiptap/node/table-node/ui/table-duplicate-row-column-button/use-table-duplicate-row-column.ts +424 -0
  291. package/src/components/tiptap/node/table-node/ui/table-extend-row-column-button/index.tsx +19 -0
  292. package/src/components/tiptap/node/table-node/ui/table-extend-row-column-button/table-extend-row-column-button.scss +36 -0
  293. package/src/components/tiptap/node/table-node/ui/table-extend-row-column-button/table-extend-row-column-button.tsx +272 -0
  294. package/src/components/tiptap/node/table-node/ui/table-extend-row-column-button/use-table-extend-row-column.ts +135 -0
  295. package/src/components/tiptap/node/table-node/ui/table-fit-to-width-button/index.tsx +19 -0
  296. package/src/components/tiptap/node/table-node/ui/table-fit-to-width-button/table-fit-to-width-button.tsx +113 -0
  297. package/src/components/tiptap/node/table-node/ui/table-fit-to-width-button/use-table-fit-to-width.ts +259 -0
  298. package/src/components/tiptap/node/table-node/ui/table-handle/index.tsx +19 -0
  299. package/src/components/tiptap/node/table-node/ui/table-handle/table-handle.tsx +179 -0
  300. package/src/components/tiptap/node/table-node/ui/table-handle/use-table-handle-positioning.ts +272 -0
  301. package/src/components/tiptap/node/table-node/ui/table-handle-menu/index.tsx +18 -0
  302. package/src/components/tiptap/node/table-node/ui/table-handle-menu/table-handle-menu.scss +54 -0
  303. package/src/components/tiptap/node/table-node/ui/table-handle-menu/table-handle-menu.tsx +765 -0
  304. package/src/components/tiptap/node/table-node/ui/table-header-row-column-button/index.tsx +19 -0
  305. package/src/components/tiptap/node/table-node/ui/table-header-row-column-button/table-header-row-column-button.tsx +114 -0
  306. package/src/components/tiptap/node/table-node/ui/table-header-row-column-button/use-table-header-row-column.ts +280 -0
  307. package/src/components/tiptap/node/table-node/ui/table-merge-split-cell-button/index.tsx +19 -0
  308. package/src/components/tiptap/node/table-node/ui/table-merge-split-cell-button/table-merge-split-cell-button.tsx +140 -0
  309. package/src/components/tiptap/node/table-node/ui/table-merge-split-cell-button/use-table-merge-split-cell.ts +305 -0
  310. package/src/components/tiptap/node/table-node/ui/table-move-row-column-button/index.tsx +19 -0
  311. package/src/components/tiptap/node/table-node/ui/table-move-row-column-button/table-move-row-column-button.tsx +138 -0
  312. package/src/components/tiptap/node/table-node/ui/table-move-row-column-button/use-table-move-row-column.ts +498 -0
  313. package/src/components/tiptap/node/table-node/ui/table-selection-overlay/index.tsx +18 -0
  314. package/src/components/tiptap/node/table-node/ui/table-selection-overlay/table-selection-overlay.tsx +590 -0
  315. package/src/components/tiptap/node/table-node/ui/table-selection-overlay/use-resize-overlay.ts +94 -0
  316. package/src/components/tiptap/node/table-node/ui/table-sort-row-column-button/index.tsx +19 -0
  317. package/src/components/tiptap/node/table-node/ui/table-sort-row-column-button/table-sort-row-column-button.tsx +115 -0
  318. package/src/components/tiptap/node/table-node/ui/table-sort-row-column-button/use-table-sort-row-column.ts +495 -0
  319. package/src/components/tiptap/node/table-node/ui/table-trigger-button/index.tsx +20 -0
  320. package/src/components/tiptap/node/table-node/ui/table-trigger-button/table-grid-selector.scss +98 -0
  321. package/src/components/tiptap/node/table-node/ui/table-trigger-button/table-grid-selector.tsx +236 -0
  322. package/src/components/tiptap/node/table-node/ui/table-trigger-button/table-trigger-button.tsx +147 -0
  323. package/src/components/tiptap/node/table-node/ui/table-trigger-button/use-table-trigger.ts +196 -0
  324. package/src/components/tiptap/node/toc-node/context/toc-context.tsx +214 -0
  325. package/src/components/tiptap/node/toc-node/extensions/toc-node-extension.ts +172 -0
  326. package/src/components/tiptap/node/toc-node/index.ts +20 -0
  327. package/src/components/tiptap/node/toc-node/toc-node.scss +105 -0
  328. package/src/components/tiptap/node/toc-node/toc-node.tsx +131 -0
  329. package/src/components/tiptap/node/toc-node/ui/toc-show-title-button/index.tsx +19 -0
  330. package/src/components/tiptap/node/toc-node/ui/toc-show-title-button/toc-show-title-button.tsx +113 -0
  331. package/src/components/tiptap/node/toc-node/ui/toc-show-title-button/toc-show-title.ts +228 -0
  332. package/src/components/tiptap/node/toc-node/ui/toc-sidebar/index.tsx +18 -0
  333. package/src/components/tiptap/node/toc-node/ui/toc-sidebar/toc-sidebar.scss +265 -0
  334. package/src/components/tiptap/node/toc-node/ui/toc-sidebar/toc-sidebar.tsx +272 -0
  335. package/src/components/tiptap/notion-like/data/content.json +1658 -0
  336. package/src/components/tiptap/notion-like/index.ts +2 -0
  337. package/src/components/tiptap/notion-like/notion-like-editor-header.scss +29 -0
  338. package/src/components/tiptap/notion-like/notion-like-editor-header.tsx +91 -0
  339. package/src/components/tiptap/notion-like/notion-like-editor-mobile-toolbar.tsx +704 -0
  340. package/src/components/tiptap/notion-like/notion-like-editor-theme-toggle.tsx +66 -0
  341. package/src/components/tiptap/notion-like/notion-like-editor-toolbar-floating.tsx +435 -0
  342. package/src/components/tiptap/notion-like/notion-like-editor.scss +181 -0
  343. package/src/components/tiptap/notion-like/notion-like-editor.tsx +589 -0
  344. package/src/components/tiptap/notion-like/setup-error-message/index.tsx +19 -0
  345. package/src/components/tiptap/notion-like/setup-error-message/setup-error-message.scss +108 -0
  346. package/src/components/tiptap/notion-like/setup-error-message/setup-error-message.tsx +116 -0
  347. package/src/components/tiptap/ui/ai-ask-button/ai-ask-button.tsx +124 -0
  348. package/src/components/tiptap/ui/ai-ask-button/index.tsx +19 -0
  349. package/src/components/tiptap/ui/ai-ask-button/use-ai-ask.ts +192 -0
  350. package/src/components/tiptap/ui/ai-menu/ai-menu-actions/ai-menu-actions.scss +11 -0
  351. package/src/components/tiptap/ui/ai-menu/ai-menu-actions/ai-menu-actions.tsx +103 -0
  352. package/src/components/tiptap/ui/ai-menu/ai-menu-actions/index.tsx +18 -0
  353. package/src/components/tiptap/ui/ai-menu/ai-menu-hooks.ts +325 -0
  354. package/src/components/tiptap/ui/ai-menu/ai-menu-input/ai-menu-input-hooks.ts +61 -0
  355. package/src/components/tiptap/ui/ai-menu/ai-menu-input/ai-menu-input-types.ts +32 -0
  356. package/src/components/tiptap/ui/ai-menu/ai-menu-input/ai-menu-input.scss +114 -0
  357. package/src/components/tiptap/ui/ai-menu/ai-menu-input/ai-menu-input.tsx +269 -0
  358. package/src/components/tiptap/ui/ai-menu/ai-menu-input/index.tsx +20 -0
  359. package/src/components/tiptap/ui/ai-menu/ai-menu-items/ai-menu-items-constants.ts +63 -0
  360. package/src/components/tiptap/ui/ai-menu/ai-menu-items/ai-menu-items-types.ts +64 -0
  361. package/src/components/tiptap/ui/ai-menu/ai-menu-items/ai-menu-items.tsx +381 -0
  362. package/src/components/tiptap/ui/ai-menu/ai-menu-items/index.tsx +20 -0
  363. package/src/components/tiptap/ui/ai-menu/ai-menu-items/language-selection-submenu.tsx +140 -0
  364. package/src/components/tiptap/ui/ai-menu/ai-menu-items/menu-action-renderer.tsx +105 -0
  365. package/src/components/tiptap/ui/ai-menu/ai-menu-items/tone-selection-submenu.tsx +125 -0
  366. package/src/components/tiptap/ui/ai-menu/ai-menu-types.ts +42 -0
  367. package/src/components/tiptap/ui/ai-menu/ai-menu-utils.ts +255 -0
  368. package/src/components/tiptap/ui/ai-menu/ai-menu.scss +101 -0
  369. package/src/components/tiptap/ui/ai-menu/ai-menu.tsx +427 -0
  370. package/src/components/tiptap/ui/ai-menu/index.tsx +25 -0
  371. package/src/components/tiptap/ui/blockquote-button/blockquote-button.tsx +143 -0
  372. package/src/components/tiptap/ui/blockquote-button/index.tsx +19 -0
  373. package/src/components/tiptap/ui/blockquote-button/use-blockquote.ts +290 -0
  374. package/src/components/tiptap/ui/code-block-button/code-block-button.tsx +143 -0
  375. package/src/components/tiptap/ui/code-block-button/index.tsx +19 -0
  376. package/src/components/tiptap/ui/code-block-button/use-code-block.ts +300 -0
  377. package/src/components/tiptap/ui/color-highlight-button/color-highlight-button.scss +49 -0
  378. package/src/components/tiptap/ui/color-highlight-button/color-highlight-button.tsx +188 -0
  379. package/src/components/tiptap/ui/color-highlight-button/index.tsx +19 -0
  380. package/src/components/tiptap/ui/color-highlight-button/use-color-highlight.ts +397 -0
  381. package/src/components/tiptap/ui/color-highlight-popover/color-highlight-popover.tsx +251 -0
  382. package/src/components/tiptap/ui/color-highlight-popover/index.tsx +18 -0
  383. package/src/components/tiptap/ui/color-menu/color-menu.tsx +228 -0
  384. package/src/components/tiptap/ui/color-menu/index.tsx +18 -0
  385. package/src/components/tiptap/ui/color-text-button/color-text-button.scss +52 -0
  386. package/src/components/tiptap/ui/color-text-button/color-text-button.tsx +168 -0
  387. package/src/components/tiptap/ui/color-text-button/index.tsx +19 -0
  388. package/src/components/tiptap/ui/color-text-button/use-color-text.ts +303 -0
  389. package/src/components/tiptap/ui/color-text-popover/color-text-popover.scss +40 -0
  390. package/src/components/tiptap/ui/color-text-popover/color-text-popover.tsx +471 -0
  391. package/src/components/tiptap/ui/color-text-popover/index.tsx +19 -0
  392. package/src/components/tiptap/ui/color-text-popover/use-color-text-popover.ts +295 -0
  393. package/src/components/tiptap/ui/copy-anchor-link-button/copy-anchor-link-button.tsx +136 -0
  394. package/src/components/tiptap/ui/copy-anchor-link-button/index.tsx +20 -0
  395. package/src/components/tiptap/ui/copy-anchor-link-button/use-copy-anchor-link.ts +282 -0
  396. package/src/components/tiptap/ui/copy-anchor-link-button/use-scroll-to-hash.ts +155 -0
  397. package/src/components/tiptap/ui/copy-to-clipboard-button/copy-to-clipboard-button.tsx +134 -0
  398. package/src/components/tiptap/ui/copy-to-clipboard-button/index.tsx +19 -0
  399. package/src/components/tiptap/ui/copy-to-clipboard-button/use-copy-to-clipboard.ts +275 -0
  400. package/src/components/tiptap/ui/delete-node-button/delete-node-button.tsx +132 -0
  401. package/src/components/tiptap/ui/delete-node-button/index.tsx +19 -0
  402. package/src/components/tiptap/ui/delete-node-button/use-delete-node.ts +259 -0
  403. package/src/components/tiptap/ui/doc-reference-floating/doc-reference-floating.tsx +120 -0
  404. package/src/components/tiptap/ui/doc-reference-interaction/doc-reference-interaction.tsx +209 -0
  405. package/src/components/tiptap/ui/drag-context-menu/drag-context-menu-types.ts +47 -0
  406. package/src/components/tiptap/ui/drag-context-menu/drag-context-menu.scss +15 -0
  407. package/src/components/tiptap/ui/drag-context-menu/drag-context-menu.tsx +558 -0
  408. package/src/components/tiptap/ui/drag-context-menu/index.tsx +19 -0
  409. package/src/components/tiptap/ui/duplicate-button/duplicate-button.tsx +132 -0
  410. package/src/components/tiptap/ui/duplicate-button/index.tsx +19 -0
  411. package/src/components/tiptap/ui/duplicate-button/use-duplicate.ts +240 -0
  412. package/src/components/tiptap/ui/emoji-dropdown-menu/emoji-dropdown-menu.tsx +124 -0
  413. package/src/components/tiptap/ui/emoji-dropdown-menu/index.tsx +18 -0
  414. package/src/components/tiptap/ui/emoji-menu/emoji-menu-utils.ts +53 -0
  415. package/src/components/tiptap/ui/emoji-menu/emoji-menu.scss +28 -0
  416. package/src/components/tiptap/ui/emoji-menu/emoji-menu.tsx +166 -0
  417. package/src/components/tiptap/ui/emoji-menu/index.tsx +19 -0
  418. package/src/components/tiptap/ui/emoji-trigger-button/emoji-trigger-button.tsx +146 -0
  419. package/src/components/tiptap/ui/emoji-trigger-button/index.tsx +19 -0
  420. package/src/components/tiptap/ui/emoji-trigger-button/use-emoji-trigger.ts +338 -0
  421. package/src/components/tiptap/ui/heading-button/heading-button.tsx +142 -0
  422. package/src/components/tiptap/ui/heading-button/index.tsx +19 -0
  423. package/src/components/tiptap/ui/heading-button/use-heading.ts +374 -0
  424. package/src/components/tiptap/ui/image-align-button/image-align-button.tsx +154 -0
  425. package/src/components/tiptap/ui/image-align-button/index.tsx +19 -0
  426. package/src/components/tiptap/ui/image-align-button/use-image-align.ts +313 -0
  427. package/src/components/tiptap/ui/image-caption-button/image-caption-button.tsx +109 -0
  428. package/src/components/tiptap/ui/image-caption-button/index.tsx +19 -0
  429. package/src/components/tiptap/ui/image-caption-button/use-image-caption.ts +232 -0
  430. package/src/components/tiptap/ui/image-download-button/image-download-button.tsx +141 -0
  431. package/src/components/tiptap/ui/image-download-button/index.tsx +19 -0
  432. package/src/components/tiptap/ui/image-download-button/use-image-download.ts +384 -0
  433. package/src/components/tiptap/ui/image-upload-button/image-upload-button.tsx +148 -0
  434. package/src/components/tiptap/ui/image-upload-button/index.tsx +19 -0
  435. package/src/components/tiptap/ui/image-upload-button/use-image-upload.ts +214 -0
  436. package/src/components/tiptap/ui/improve-dropdown/improve-dropdown.tsx +311 -0
  437. package/src/components/tiptap/ui/improve-dropdown/index.tsx +19 -0
  438. package/src/components/tiptap/ui/improve-dropdown/use-improve-dropdown.ts +294 -0
  439. package/src/components/tiptap/ui/indent-button/indent-button.tsx +148 -0
  440. package/src/components/tiptap/ui/indent-button/index.tsx +19 -0
  441. package/src/components/tiptap/ui/indent-button/use-indent.ts +217 -0
  442. package/src/components/tiptap/ui/link-popover/index.tsx +19 -0
  443. package/src/components/tiptap/ui/link-popover/link-popover.scss +16 -0
  444. package/src/components/tiptap/ui/link-popover/link-popover.tsx +333 -0
  445. package/src/components/tiptap/ui/link-popover/use-link-popover.ts +316 -0
  446. package/src/components/tiptap/ui/list-button/index.tsx +19 -0
  447. package/src/components/tiptap/ui/list-button/list-button.tsx +138 -0
  448. package/src/components/tiptap/ui/list-button/use-list.ts +370 -0
  449. package/src/components/tiptap/ui/mark-button/index.tsx +19 -0
  450. package/src/components/tiptap/ui/mark-button/mark-button.tsx +138 -0
  451. package/src/components/tiptap/ui/mark-button/use-mark.ts +247 -0
  452. package/src/components/tiptap/ui/mention-dropdown-menu/index.tsx +18 -0
  453. package/src/components/tiptap/ui/mention-dropdown-menu/mention-dropdown-menu.tsx +194 -0
  454. package/src/components/tiptap/ui/mention-trigger-button/index.tsx +19 -0
  455. package/src/components/tiptap/ui/mention-trigger-button/mention-trigger-button.tsx +137 -0
  456. package/src/components/tiptap/ui/mention-trigger-button/use-mention-trigger.ts +362 -0
  457. package/src/components/tiptap/ui/move-node-button/index.tsx +19 -0
  458. package/src/components/tiptap/ui/move-node-button/move-node-button.tsx +138 -0
  459. package/src/components/tiptap/ui/move-node-button/use-move-node.ts +230 -0
  460. package/src/components/tiptap/ui/reference-dropdown-menu/index.tsx +18 -0
  461. package/src/components/tiptap/ui/reference-dropdown-menu/reference-dropdown-menu.tsx +231 -0
  462. package/src/components/tiptap/ui/reset-all-formatting-button/index.tsx +19 -0
  463. package/src/components/tiptap/ui/reset-all-formatting-button/reset-all-formatting-button.tsx +144 -0
  464. package/src/components/tiptap/ui/reset-all-formatting-button/use-reset-all-formatting.ts +279 -0
  465. package/src/components/tiptap/ui/slash-command-trigger-button/index.tsx +19 -0
  466. package/src/components/tiptap/ui/slash-command-trigger-button/slash-command-trigger-button.tsx +143 -0
  467. package/src/components/tiptap/ui/slash-command-trigger-button/use-slash-command-trigger.ts +305 -0
  468. package/src/components/tiptap/ui/slash-dropdown-menu/index.tsx +19 -0
  469. package/src/components/tiptap/ui/slash-dropdown-menu/slash-dropdown-menu.scss +33 -0
  470. package/src/components/tiptap/ui/slash-dropdown-menu/slash-dropdown-menu.tsx +222 -0
  471. package/src/components/tiptap/ui/slash-dropdown-menu/use-slash-dropdown-menu.ts +498 -0
  472. package/src/components/tiptap/ui/text-align-button/index.tsx +19 -0
  473. package/src/components/tiptap/ui/text-align-button/text-align-button.tsx +160 -0
  474. package/src/components/tiptap/ui/text-align-button/use-text-align.ts +248 -0
  475. package/src/components/tiptap/ui/text-button/index.tsx +19 -0
  476. package/src/components/tiptap/ui/text-button/text-button.tsx +135 -0
  477. package/src/components/tiptap/ui/text-button/use-text.ts +308 -0
  478. package/src/components/tiptap/ui/turn-into-dropdown/index.tsx +19 -0
  479. package/src/components/tiptap/ui/turn-into-dropdown/turn-into-dropdown.tsx +243 -0
  480. package/src/components/tiptap/ui/turn-into-dropdown/use-turn-into-dropdown.ts +294 -0
  481. package/src/components/tiptap/ui/undo-redo-button/index.tsx +19 -0
  482. package/src/components/tiptap/ui/undo-redo-button/undo-redo-button.tsx +141 -0
  483. package/src/components/tiptap/ui/undo-redo-button/use-undo-redo.ts +207 -0
  484. package/src/components/tiptap/ui-primitive/avatar/avatar.scss +118 -0
  485. package/src/components/tiptap/ui-primitive/avatar/avatar.tsx +255 -0
  486. package/src/components/tiptap/ui-primitive/avatar/index.tsx +18 -0
  487. package/src/components/tiptap/ui-primitive/badge/badge-colors.scss +395 -0
  488. package/src/components/tiptap/ui-primitive/badge/badge-group.scss +16 -0
  489. package/src/components/tiptap/ui-primitive/badge/badge.scss +99 -0
  490. package/src/components/tiptap/ui-primitive/badge/badge.tsx +62 -0
  491. package/src/components/tiptap/ui-primitive/badge/index.tsx +18 -0
  492. package/src/components/tiptap/ui-primitive/button/button-colors.scss +429 -0
  493. package/src/components/tiptap/ui-primitive/button/button.scss +314 -0
  494. package/src/components/tiptap/ui-primitive/button/button.tsx +119 -0
  495. package/src/components/tiptap/ui-primitive/button/index.tsx +18 -0
  496. package/src/components/tiptap/ui-primitive/button-group/button-group.scss +79 -0
  497. package/src/components/tiptap/ui-primitive/button-group/button-group.tsx +89 -0
  498. package/src/components/tiptap/ui-primitive/button-group/index.tsx +18 -0
  499. package/src/components/tiptap/ui-primitive/card/card.scss +74 -0
  500. package/src/components/tiptap/ui-primitive/card/card.tsx +95 -0
  501. package/src/components/tiptap/ui-primitive/card/index.tsx +18 -0
  502. package/src/components/tiptap/ui-primitive/combobox/combobox.scss +90 -0
  503. package/src/components/tiptap/ui-primitive/combobox/combobox.tsx +231 -0
  504. package/src/components/tiptap/ui-primitive/combobox/index.tsx +18 -0
  505. package/src/components/tiptap/ui-primitive/dropdown-menu/dropdown-menu.scss +152 -0
  506. package/src/components/tiptap/ui-primitive/dropdown-menu/dropdown-menu.tsx +280 -0
  507. package/src/components/tiptap/ui-primitive/dropdown-menu/index.tsx +18 -0
  508. package/src/components/tiptap/ui-primitive/input/index.tsx +18 -0
  509. package/src/components/tiptap/ui-primitive/input/input.scss +41 -0
  510. package/src/components/tiptap/ui-primitive/input/input.tsx +33 -0
  511. package/src/components/tiptap/ui-primitive/input-group/index.tsx +18 -0
  512. package/src/components/tiptap/ui-primitive/input-group/input-group.scss +225 -0
  513. package/src/components/tiptap/ui-primitive/input-group/input-group.tsx +152 -0
  514. package/src/components/tiptap/ui-primitive/label/index.tsx +18 -0
  515. package/src/components/tiptap/ui-primitive/label/label.scss +20 -0
  516. package/src/components/tiptap/ui-primitive/label/label.tsx +34 -0
  517. package/src/components/tiptap/ui-primitive/menu/index.tsx +22 -0
  518. package/src/components/tiptap/ui-primitive/menu/menu-context.ts +35 -0
  519. package/src/components/tiptap/ui-primitive/menu/menu-hooks.ts +118 -0
  520. package/src/components/tiptap/ui-primitive/menu/menu-types.ts +75 -0
  521. package/src/components/tiptap/ui-primitive/menu/menu-utils.ts +80 -0
  522. package/src/components/tiptap/ui-primitive/menu/menu.scss +68 -0
  523. package/src/components/tiptap/ui-primitive/menu/menu.tsx +327 -0
  524. package/src/components/tiptap/ui-primitive/popover/index.tsx +18 -0
  525. package/src/components/tiptap/ui-primitive/popover/popover.scss +64 -0
  526. package/src/components/tiptap/ui-primitive/popover/popover.tsx +53 -0
  527. package/src/components/tiptap/ui-primitive/separator/index.tsx +18 -0
  528. package/src/components/tiptap/ui-primitive/separator/separator.scss +23 -0
  529. package/src/components/tiptap/ui-primitive/separator/separator.tsx +46 -0
  530. package/src/components/tiptap/ui-primitive/sidebar/index.tsx +18 -0
  531. package/src/components/tiptap/ui-primitive/sidebar/sidebar.scss +389 -0
  532. package/src/components/tiptap/ui-primitive/sidebar/sidebar.tsx +633 -0
  533. package/src/components/tiptap/ui-primitive/spacer/index.tsx +18 -0
  534. package/src/components/tiptap/ui-primitive/spacer/spacer.tsx +40 -0
  535. package/src/components/tiptap/ui-primitive/textarea/index.tsx +18 -0
  536. package/src/components/tiptap/ui-primitive/textarea/textarea.scss +42 -0
  537. package/src/components/tiptap/ui-primitive/textarea/textarea.tsx +32 -0
  538. package/src/components/tiptap/ui-primitive/textarea-autosize/index.tsx +18 -0
  539. package/src/components/tiptap/ui-primitive/textarea-autosize/textarea-autosize.tsx +34 -0
  540. package/src/components/tiptap/ui-primitive/toolbar/index.tsx +18 -0
  541. package/src/components/tiptap/ui-primitive/toolbar/toolbar.scss +98 -0
  542. package/src/components/tiptap/ui-primitive/toolbar/toolbar.tsx +139 -0
  543. package/src/components/tiptap/ui-primitive/tooltip/index.tsx +18 -0
  544. package/src/components/tiptap/ui-primitive/tooltip/tooltip.scss +43 -0
  545. package/src/components/tiptap/ui-primitive/tooltip/tooltip.tsx +257 -0
  546. package/src/components/tiptap/ui-utils/floating-element/floating-element-utils.ts +51 -0
  547. package/src/components/tiptap/ui-utils/floating-element/floating-element.tsx +397 -0
  548. package/src/components/tiptap/ui-utils/floating-element/index.tsx +19 -0
  549. package/src/components/tiptap/ui-utils/suggestion-menu/index.tsx +20 -0
  550. package/src/components/tiptap/ui-utils/suggestion-menu/suggestion-menu-fullwidth.ts +48 -0
  551. package/src/components/tiptap/ui-utils/suggestion-menu/suggestion-menu-types.ts +119 -0
  552. package/src/components/tiptap/ui-utils/suggestion-menu/suggestion-menu-utils.ts +107 -0
  553. package/src/components/tiptap/ui-utils/suggestion-menu/suggestion-menu.tsx +367 -0
  554. package/src/components/tiptap/virtual.d.ts +17 -0
  555. package/src/components/ui/alert-dialog.tsx +1 -1
  556. package/src/components/ui/badge.tsx +1 -1
  557. package/src/components/ui/button.tsx +1 -1
  558. package/src/components/ui/card.tsx +1 -1
  559. package/src/components/ui/checkbox.tsx +1 -1
  560. package/src/components/ui/context-menu.tsx +1 -1
  561. package/src/components/ui/dialog.tsx +1 -1
  562. package/src/components/ui/dropdown-menu.tsx +1 -1
  563. package/src/components/ui/empty.tsx +1 -1
  564. package/src/components/ui/input.tsx +1 -1
  565. package/src/components/ui/label.tsx +1 -1
  566. package/src/components/ui/popover.tsx +1 -1
  567. package/src/components/ui/resizable.tsx +1 -1
  568. package/src/components/ui/select.tsx +1 -1
  569. package/src/components/ui/sidebar.tsx +1 -1
  570. package/src/components/ui/skeleton.tsx +1 -1
  571. package/src/components/ui/sonner.tsx +1 -1
  572. package/src/components/ui/spinner.tsx +1 -1
  573. package/src/components/ui/switch.tsx +1 -1
  574. package/src/components/ui/textarea.tsx +1 -1
  575. package/src/components/ui/tooltip.tsx +1 -1
  576. package/src/components/ui-shared/ai-command-button.tsx +36 -0
  577. package/src/components/ui-shared/ai-stream-text.tsx +37 -0
  578. package/src/components/ui-shared/alert-dialog.tsx +216 -0
  579. package/src/components/ui-shared/animated-theme-toggler.tsx +272 -0
  580. package/src/components/ui-shared/auth-client.ts +115 -0
  581. package/src/components/ui-shared/auth-layout.tsx +66 -0
  582. package/src/components/ui-shared/avatar.tsx +129 -0
  583. package/src/components/ui-shared/badge.tsx +66 -0
  584. package/src/components/ui-shared/button.tsx +84 -0
  585. package/src/components/ui-shared/card.tsx +120 -0
  586. package/src/components/ui-shared/checkbox.tsx +50 -0
  587. package/src/components/ui-shared/context-menu.tsx +280 -0
  588. package/src/components/ui-shared/dialog.tsx +183 -0
  589. package/src/components/ui-shared/dropdown-menu.tsx +286 -0
  590. package/src/components/ui-shared/empty.tsx +121 -0
  591. package/src/components/ui-shared/grid-pattern.tsx +87 -0
  592. package/src/components/ui-shared/index.ts +23 -0
  593. package/src/components/ui-shared/input.tsx +36 -0
  594. package/src/components/ui-shared/item.tsx +213 -0
  595. package/src/components/ui-shared/kbd.tsx +33 -0
  596. package/src/components/ui-shared/label.tsx +39 -0
  597. package/src/components/ui-shared/layout-panel-top.tsx +160 -0
  598. package/src/components/ui-shared/name-confirm-dialog.tsx +153 -0
  599. package/src/components/ui-shared/nav-float-button.tsx +301 -0
  600. package/src/components/ui-shared/notion-avatar.tsx +126 -0
  601. package/src/components/ui-shared/placeholder-page.tsx +42 -0
  602. package/src/components/ui-shared/popover.tsx +106 -0
  603. package/src/components/ui-shared/reference-inline.tsx +53 -0
  604. package/src/components/ui-shared/reference-search.tsx +52 -0
  605. package/src/components/ui-shared/resizable.tsx +67 -0
  606. package/src/components/ui-shared/select.tsx +207 -0
  607. package/src/components/ui-shared/separator.tsx +45 -0
  608. package/src/components/ui-shared/sheet.tsx +164 -0
  609. package/src/components/ui-shared/sidebar.tsx +708 -0
  610. package/src/components/ui-shared/skeleton.tsx +30 -0
  611. package/src/components/ui-shared/sonner.tsx +37 -0
  612. package/src/components/ui-shared/switch.tsx +48 -0
  613. package/src/components/ui-shared/textarea.tsx +35 -0
  614. package/src/components/ui-shared/timezone-provider.tsx +55 -0
  615. package/src/components/ui-shared/tooltip.tsx +72 -0
  616. package/src/components/ui-shared/use-mobile.ts +36 -0
  617. package/src/components/ui-shared/user-avatar.tsx +83 -0
  618. package/src/components/ui-shared/utils.ts +6 -0
  619. package/src/components/workspace/schemas/create-workspace.ts +1 -1
  620. package/src/hooks/use-entity-subscription.ts +1 -1
  621. package/src/hooks/use-notifications.ts +2 -2
  622. package/src/i18n/__tests__/detect.test.ts +48 -0
  623. package/src/i18n/__tests__/integration.test.tsx +32 -0
  624. package/src/i18n/__tests__/server.test.ts +33 -0
  625. package/src/i18n/client.ts +32 -0
  626. package/src/i18n/config.ts +114 -18
  627. package/src/i18n/detect.ts +43 -0
  628. package/src/i18n/locales/en/agents.json +134 -0
  629. package/src/i18n/locales/en/apps.json +6 -0
  630. package/src/i18n/locales/en/auth.json +90 -0
  631. package/src/i18n/locales/en/billing.json +78 -0
  632. package/src/i18n/locales/en/chat.json +194 -0
  633. package/src/i18n/locales/en/common.json +242 -0
  634. package/src/i18n/locales/en/dashboard.json +38 -0
  635. package/src/i18n/locales/en/design.json +70 -0
  636. package/src/i18n/locales/en/desktop.json +35 -0
  637. package/src/i18n/locales/en/display.json +37 -0
  638. package/src/i18n/locales/en/editor.json +304 -0
  639. package/src/i18n/locales/en/enterprise.json +1 -0
  640. package/src/i18n/locales/en/invite.json +56 -0
  641. package/src/i18n/locales/en/iterations.json +92 -0
  642. package/src/i18n/locales/en/knowledge.json +462 -0
  643. package/src/i18n/locales/en/mindmap.json +28 -0
  644. package/src/i18n/locales/en/notifications.json +79 -0
  645. package/src/i18n/locales/en/prd.json +51 -0
  646. package/src/i18n/locales/en/projects.json +140 -0
  647. package/src/i18n/locales/en/settings.json +428 -0
  648. package/src/i18n/locales/en/share.json +20 -0
  649. package/src/i18n/locales/en/story.json +923 -0
  650. package/src/i18n/locales/en/tags.json +42 -0
  651. package/src/i18n/locales/en/workspace.json +90 -0
  652. package/src/i18n/locales/zh/agents.json +134 -0
  653. package/src/i18n/locales/zh/apps.json +6 -0
  654. package/src/i18n/locales/zh/auth.json +90 -0
  655. package/src/i18n/locales/zh/billing.json +78 -0
  656. package/src/i18n/locales/zh/chat.json +194 -0
  657. package/src/i18n/locales/zh/common.json +242 -0
  658. package/src/i18n/locales/zh/dashboard.json +38 -0
  659. package/src/i18n/locales/zh/design.json +70 -0
  660. package/src/i18n/locales/zh/desktop.json +35 -0
  661. package/src/i18n/locales/zh/display.json +37 -0
  662. package/src/i18n/locales/zh/editor.json +304 -0
  663. package/src/i18n/locales/zh/enterprise.json +1 -0
  664. package/src/i18n/locales/zh/invite.json +56 -0
  665. package/src/i18n/locales/zh/iterations.json +92 -0
  666. package/src/i18n/locales/zh/knowledge.json +462 -0
  667. package/src/i18n/locales/zh/mindmap.json +28 -0
  668. package/src/i18n/locales/zh/notifications.json +79 -0
  669. package/src/i18n/locales/zh/prd.json +51 -0
  670. package/src/i18n/locales/zh/projects.json +140 -0
  671. package/src/i18n/locales/zh/settings.json +428 -0
  672. package/src/i18n/locales/zh/share.json +20 -0
  673. package/src/i18n/locales/zh/story.json +923 -0
  674. package/src/i18n/locales/zh/tags.json +42 -0
  675. package/src/i18n/locales/zh/workspace.json +90 -0
  676. package/src/i18n/server.ts +18 -0
  677. package/src/i18n/types.ts +5 -0
  678. package/src/lib/__tests__/ai-adapter.test.ts +5 -5
  679. package/src/lib/__tests__/cli-detector.test.ts +6 -6
  680. package/src/lib/__tests__/embedding.test.ts +1 -1
  681. package/src/lib/__tests__/module-registry.test.ts +1 -1
  682. package/src/lib/__tests__/provider-router.test.ts +2 -2
  683. package/src/lib/__tests__/rag.test.ts +1 -1
  684. package/src/lib/ai/__tests__/story-prompt.test.ts +1 -1
  685. package/src/lib/annotation-template.ts +33 -1
  686. package/src/lib/auth/auth-client.ts +1 -1
  687. package/src/lib/auth/auth.config.ts +1 -1
  688. package/src/lib/changelog/sdk-versions.ts +1 -8
  689. package/src/lib/collections/index.ts +1 -1
  690. package/src/lib/collections/knowledge/knowledge-bases-collection.ts +1 -1
  691. package/src/lib/collections/reference/bookmark-categories-collection.ts +1 -1
  692. package/src/lib/collections/reference/labels-collection.ts +1 -1
  693. package/src/lib/collections/reference/projects-collection.ts +1 -1
  694. package/src/lib/collections/reference/users-brief-collection.ts +1 -1
  695. package/src/lib/collections/reference/workspaces-collection.ts +1 -1
  696. package/src/lib/comment-utils.ts +47 -1
  697. package/src/lib/crypto/api-key-cipher.ts +1 -1
  698. package/src/lib/datetime.ts +130 -7
  699. package/src/lib/outline-utils.ts +57 -1
  700. package/src/lib/pacer.ts +96 -11
  701. package/src/lib/prd/__tests__/stack-layout.test.ts +1 -1
  702. package/src/lib/prd/stack-layout.ts +53 -1
  703. package/src/lib/prd-tree-utils.ts +94 -1
  704. package/src/lib/prototype-registry.ts +24 -1
  705. package/src/lib/query-client-seam.test.ts +19 -0
  706. package/src/lib/query-client-seam.ts +14 -0
  707. package/src/lib/rag.ts +1 -1
  708. package/src/lib/restore-version.ts +1 -1
  709. package/src/lib/router-context.ts +1 -1
  710. package/src/lib/share-events.ts +78 -1
  711. package/src/lib/sidebar-utils.ts +21 -1
  712. package/src/lib/sse-transport.ts +1 -1
  713. package/src/lib/stores/prd-canvas-store.ts +69 -1
  714. package/src/lib/tag-colors.ts +35 -1
  715. package/src/lib/time-format.ts +50 -1
  716. package/src/lib/utils.ts +1 -1
  717. package/src/plugins/core/context.ts +2 -0
  718. package/src/plugins/core/index.ts +1 -0
  719. package/src/plugins/core/inspiration/index.ts +17 -0
  720. package/src/plugins/core/inspiration/pages/inspiration-page.tsx +8 -0
  721. package/src/plugins/core/inspiration/routes.ts +12 -0
  722. package/src/plugins/core/inspiration/ui.tsx +28 -0
  723. package/src/plugins/core/prd/components/agent-input.tsx +193 -0
  724. package/src/plugins/core/prd/components/component-annotation-overlay/AnnotationOverlay.tsx +113 -0
  725. package/src/plugins/core/prd/components/component-editor/__tests__/field-utils.test.ts +93 -0
  726. package/src/plugins/core/prd/components/component-editor/collapsible-section.tsx +44 -0
  727. package/src/plugins/core/prd/components/component-editor/content-section.tsx +63 -0
  728. package/src/plugins/core/prd/components/component-editor/field-utils.ts +56 -0
  729. package/src/plugins/core/prd/components/component-editor/position-section.tsx +39 -0
  730. package/src/plugins/core/prd/components/component-editor/style-fields.tsx +187 -0
  731. package/src/plugins/core/prd/components/component-editor/use-field.ts +53 -0
  732. package/src/plugins/core/prd/components/component-thumbnail.tsx +109 -0
  733. package/src/plugins/core/prd/components/dialog/create-prd-dialog.tsx +148 -0
  734. package/src/plugins/core/prd/components/dialog/prd-detail-client.tsx +102 -0
  735. package/src/plugins/core/prd/components/element-context.ts +29 -0
  736. package/src/plugins/core/prd/components/index.ts +19 -0
  737. package/src/plugins/core/prd/components/page-version-panel/components/create-version-dialog.tsx +84 -0
  738. package/src/plugins/core/prd/components/page-version-panel/components/delete-version-dialog.tsx +61 -0
  739. package/src/plugins/core/prd/components/page-version-panel/components/edit-version-dialog.tsx +82 -0
  740. package/src/plugins/core/prd/components/page-version-panel/constants.tsx +23 -0
  741. package/src/plugins/core/prd/components/page-version-panel/types.ts +30 -0
  742. package/src/plugins/core/prd/components/page-version-panel.tsx +1100 -0
  743. package/src/plugins/core/prd/components/page-version-tree.tsx +308 -0
  744. package/src/plugins/core/prd/components/prd-agent-panel.tsx +429 -0
  745. package/src/plugins/core/prd/components/prd-comment-review-panel.tsx +227 -0
  746. package/src/plugins/core/prd/components/prd-component-editor-content.tsx +90 -0
  747. package/src/plugins/core/prd/components/prd-dashboard.tsx +302 -0
  748. package/src/plugins/core/prd/components/prd-doc-panel.tsx +116 -0
  749. package/src/plugins/core/prd/components/prd-editor-layout.tsx +466 -0
  750. package/src/plugins/core/prd/components/prd-filter-bar.tsx +103 -0
  751. package/src/plugins/core/prd/components/prd-left-sidebar.tsx +473 -0
  752. package/src/plugins/core/prd/components/prd-navigation.tsx +287 -0
  753. package/src/plugins/core/prd/components/prd-outline-tab.tsx +61 -0
  754. package/src/plugins/core/prd/components/prd-prototype-panel.tsx +142 -0
  755. package/src/plugins/core/prd/components/prd-right-sidebar.tsx +209 -0
  756. package/src/plugins/core/prd/components/prd-share-panel/components/single-version-share-card.tsx +201 -0
  757. package/src/plugins/core/prd/components/prd-share-panel/constants.ts +22 -0
  758. package/src/plugins/core/prd/components/prd-share-panel/types.ts +21 -0
  759. package/src/plugins/core/prd/components/prd-share-panel/utils.ts +30 -0
  760. package/src/plugins/core/prd/components/prd-share-panel.tsx +567 -0
  761. package/src/plugins/core/prd/components/prd-tree-page-tab.tsx +572 -0
  762. package/src/plugins/core/prd/components/prd-tree-reducer.ts +96 -0
  763. package/src/plugins/core/prd/components/prototype/IconPrototype.tsx +81 -0
  764. package/src/plugins/core/prd/components/prototype/PrototypeCanvas.tsx +411 -0
  765. package/src/plugins/core/prd/components/prototype/PrototypeElement.tsx +168 -0
  766. package/src/plugins/core/prd/components/prototype/ResizeHandles.tsx +95 -0
  767. package/src/plugins/core/prd/components/prototype/icon-components.ts +57 -0
  768. package/src/plugins/core/prd/components/prototype/imported/.gitkeep +0 -0
  769. package/src/plugins/core/prd/components/prototype/index.ts +31 -0
  770. package/src/plugins/core/prd/components/restore-version-dialog.tsx +76 -0
  771. package/src/plugins/core/prd/components/schemas/create-prd.ts +26 -0
  772. package/src/plugins/core/prd/components/share/prd-share-client.tsx +118 -0
  773. package/src/plugins/core/prd/components/share/share-annotation-overlay.tsx +122 -0
  774. package/src/plugins/core/prd/components/share/share-comment-panel.tsx +257 -0
  775. package/src/plugins/core/prd/components/share/share-comment-review-panel.tsx +75 -0
  776. package/src/plugins/core/prd/components/share/share-directory-tree.tsx +93 -0
  777. package/src/plugins/core/prd/components/share/share-doc-view.tsx +96 -0
  778. package/src/plugins/core/prd/components/share/share-layout.tsx +171 -0
  779. package/src/plugins/core/prd/components/share/share-nav-bar.tsx +72 -0
  780. package/src/plugins/core/prd/components/share/share-password-gate.tsx +90 -0
  781. package/src/plugins/core/prd/components/share/share-prototype-view.tsx +92 -0
  782. package/src/plugins/core/prd/components/share/share-review-panel.tsx +93 -0
  783. package/src/plugins/core/prd/components/share/share-sse-listener.tsx +76 -0
  784. package/src/plugins/core/prd/components/share/share-theme-toggle.tsx +57 -0
  785. package/src/plugins/core/prd/components/share/version-share-client.tsx +123 -0
  786. package/src/plugins/core/prd/components/tiptap/node/paragraph-node/paragraph-node.scss +286 -0
  787. package/src/plugins/core/prd/icon-picker-bridge.ts +41 -0
  788. package/src/plugins/core/prd/index.ts +40 -0
  789. package/src/plugins/core/prd/lib/ai/annotation-prompt.ts +66 -0
  790. package/src/plugins/core/prd/lib/restore-version.ts +53 -0
  791. package/src/plugins/core/prd/pages/prd-detail-page.tsx +88 -0
  792. package/src/plugins/core/prd/pages/prd-layout.tsx +28 -0
  793. package/src/plugins/core/prd/pages/share-prd-page.tsx +69 -0
  794. package/src/plugins/core/prd/prd-nav.tsx +92 -0
  795. package/src/plugins/core/prd/routes.tsx +103 -0
  796. package/src/plugins/core/prd/serverFns/ai/agent-conversations.ts +124 -0
  797. package/src/plugins/core/prd/serverFns/ai/fill-annotation.ts +80 -0
  798. package/src/plugins/core/prd/serverFns/ai/generate-prototype.ts +121 -0
  799. package/src/plugins/core/prd/serverFns/ai/providers.ts +528 -0
  800. package/src/plugins/core/prd/serverFns/comments.ts +109 -0
  801. package/src/plugins/core/prd/serverFns/components.ts +37 -0
  802. package/src/plugins/core/prd/serverFns/detail.ts +49 -0
  803. package/src/plugins/core/prd/serverFns/index.ts +14 -0
  804. package/src/plugins/core/prd/serverFns/page-versions.ts +137 -0
  805. package/src/plugins/core/prd/serverFns/pages.ts +164 -0
  806. package/src/plugins/core/prd/serverFns/prd.ts +164 -0
  807. package/src/plugins/core/prd/serverFns/reviews.ts +87 -0
  808. package/src/plugins/core/prd/serverFns/share/verify-password.ts +75 -0
  809. package/src/plugins/core/prd/serverFns/share/versions.ts +112 -0
  810. package/src/plugins/core/prd/serverFns/share.ts +119 -0
  811. package/src/plugins/core/prd/serverFns/shares-password.ts +189 -0
  812. package/src/plugins/core/prd/serverFns/shares.ts +336 -0
  813. package/src/plugins/core/prd/serverFns/versions.ts +277 -0
  814. package/src/plugins/core/prd/ui.ts +24 -0
  815. package/src/plugins/core/server/api-key-cipher.ts +61 -0
  816. package/src/plugins/core/server/rate-limit.ts +111 -0
  817. package/src/plugins/core/tags/__tests__/tags.test.ts +367 -0
  818. package/src/plugins/core/tags/index.ts +39 -0
  819. package/src/plugins/core/tags/nav-tag.tsx +137 -0
  820. package/src/plugins/core/tags/pages/tag-detail-page.tsx +31 -0
  821. package/src/plugins/core/tags/pages/tag-settings-page.tsx +34 -0
  822. package/src/plugins/core/tags/pages/tags-index-page.tsx +34 -0
  823. package/src/plugins/core/tags/routes.ts +65 -0
  824. package/src/plugins/core/tags/serverFns.ts +122 -0
  825. package/src/plugins/core/tags/tag-badge.tsx +57 -0
  826. package/src/plugins/core/tags/tag-color-classes.ts +61 -0
  827. package/src/plugins/core/tags/tag-color-picker.tsx +56 -0
  828. package/src/plugins/core/tags/tag-components-index.ts +23 -0
  829. package/src/plugins/core/tags/tag-manager.tsx +212 -0
  830. package/src/plugins/core/tags/tag-selector.tsx +169 -0
  831. package/src/plugins/core/tags/tags-collection.ts +40 -0
  832. package/src/plugins/core/tags/ui.ts +24 -0
  833. package/src/plugins/plugins.gen.ts +3 -3
  834. package/src/plugins/ui.gen.ts +1 -1
  835. package/src/providers/index.tsx +3 -3
  836. package/src/providers/timezone-provider.tsx +1 -1
  837. package/src/router.tsx +2 -2
  838. package/src/routes/__root.tsx +2 -2
  839. package/src/routes/_login/schemas/-auth.ts +1 -1
  840. package/src/routes/_nav/changelog/route.lazy.tsx +1 -1
  841. package/src/routes/_nav/changelog/route.tsx +1 -1
  842. package/src/routes/_nav/dashboard/-components/avatar-group.tsx +2 -2
  843. package/src/routes/_nav/dashboard/route.tsx +1 -1
  844. package/src/routes/_nav/inspiration/route.tsx +1 -1
  845. package/src/routes/_nav/notifications/route.tsx +1 -1
  846. package/src/routes/_nav/prd/$id/route.tsx +1 -1
  847. package/src/routes/_nav/prd/index.tsx +1 -1
  848. package/src/routes/_nav/prd/route.tsx +1 -1
  849. package/src/routes/_nav/projects/$projectId/index.lazy.tsx +1 -1
  850. package/src/routes/_nav/route.tsx +1 -1
  851. package/src/routes/_nav/settings/account/route.tsx +1 -1
  852. package/src/routes/_nav/settings/route.tsx +1 -1
  853. package/src/routes/_nav/tags/$id/route.tsx +1 -1
  854. package/src/routes/_nav/tags/index.tsx +1 -1
  855. package/src/routes/_nav/tags/route.tsx +1 -1
  856. package/src/routes/_nav/tags/settings/route.tsx +1 -1
  857. package/src/routes/api/auth/desktop-callback.ts +1 -1
  858. package/src/routes/api/chat.ts +2 -2
  859. package/src/routes/api/notifications/stream.ts +1 -1
  860. package/src/routes/api/story-ai.ts +1 -1
  861. package/src/routes/invite/$token/route.lazy.tsx +1 -1
  862. package/src/routes/server.ai-stream.ts +1 -1
  863. package/src/routes/share/$versionId/route.lazy.tsx +1 -1
  864. package/src/routes/share/prd/$prdId/route.tsx +1 -1
  865. package/src/server/__tests__/agent-client-graph.test.ts +8 -5
  866. package/src/server/__tests__/resource-registry.test.ts +1 -1
  867. package/src/server/ai-gateway/__tests__/conformance.test.ts +43 -0
  868. package/src/server/ai-gateway/__tests__/embedding-request.test.ts +84 -0
  869. package/src/server/ai-gateway/__tests__/embedding.test.ts +42 -0
  870. package/src/server/ai-gateway/__tests__/interrupt-store.test.ts +539 -0
  871. package/src/server/ai-gateway/__tests__/knowledge-scope.test.ts +207 -0
  872. package/src/server/ai-gateway/__tests__/label-suggest.test.ts +113 -0
  873. package/src/server/ai-gateway/__tests__/message-store.test.ts +197 -0
  874. package/src/server/ai-gateway/__tests__/rerank.test.ts +128 -0
  875. package/src/server/ai-gateway/__tests__/run-store.test.ts +378 -0
  876. package/src/server/ai-gateway/__tests__/runtime.test.ts +58 -0
  877. package/src/server/ai-gateway/__tests__/story-prompt.test.ts +34 -0
  878. package/src/server/ai-gateway/__tests__/tools-select.test.ts +103 -0
  879. package/src/server/ai-gateway/__tests__/unified-router.test.ts +124 -0
  880. package/src/server/ai-gateway/adapter.ts +255 -0
  881. package/src/server/ai-gateway/chat-handler.ts +238 -0
  882. package/src/server/ai-gateway/chat-stream-builder.ts +91 -0
  883. package/src/server/ai-gateway/connectivity-check.ts +148 -0
  884. package/src/server/ai-gateway/embedding.ts +67 -0
  885. package/src/server/ai-gateway/index.ts +111 -0
  886. package/src/server/ai-gateway/label-suggest.ts +126 -0
  887. package/src/server/ai-gateway/middlewares/index.ts +19 -0
  888. package/src/server/ai-gateway/middlewares/logger.ts +35 -0
  889. package/src/server/ai-gateway/middlewares/rate-limit.ts +40 -0
  890. package/src/server/ai-gateway/model-fetch.ts +168 -0
  891. package/src/server/ai-gateway/persistence/index.ts +36 -0
  892. package/src/server/ai-gateway/persistence/interrupt-store.ts +154 -0
  893. package/src/server/ai-gateway/persistence/message-store.ts +124 -0
  894. package/src/server/ai-gateway/persistence/run-store.ts +120 -0
  895. package/src/server/ai-gateway/ports.ts +71 -0
  896. package/src/server/ai-gateway/pro-services.ts +25 -0
  897. package/src/server/ai-gateway/provider-router.ts +238 -0
  898. package/src/server/ai-gateway/provider-tools.ts +42 -0
  899. package/src/server/ai-gateway/rerank.ts +63 -0
  900. package/src/server/ai-gateway/runtime.ts +42 -0
  901. package/src/server/ai-gateway/story-handler.ts +171 -0
  902. package/src/server/ai-gateway/story-prompt.ts +68 -0
  903. package/src/server/ai-gateway/tools/definitions.ts +99 -0
  904. package/src/server/ai-gateway/tools/delete-project.ts +39 -0
  905. package/src/server/ai-gateway/tools/index.ts +31 -0
  906. package/src/server/ai-gateway/tools/knowledge-scope.ts +56 -0
  907. package/src/server/ai-gateway/tools/select.ts +53 -0
  908. package/src/server/ai-gateway/tools/server.ts +198 -0
  909. package/src/server/ai-gateway/tools.ts +7 -0
  910. package/src/server/ai-gateway/types.ts +42 -0
  911. package/src/server/ai-gateway/unified-router.ts +180 -0
  912. package/src/server/ai-ports.ts +2 -2
  913. package/src/server/entitlements-token-client.ts +1 -1
  914. package/src/server/entitlements-token.ts +1 -1
  915. package/src/server/entitlements.ts +1 -1
  916. package/src/server/middlewares/rate-limit-server-fn.ts +1 -1
  917. package/src/server/notifications/event-bus.ts +1 -1
  918. package/src/server/notifications/notification-service.ts +3 -3
  919. package/src/server/resources.ts +1 -1
  920. package/src/server/serverFns/__tests__/knowledge-index.test.ts +1 -1
  921. package/src/server/serverFns/agents/agent-crud.ts +1 -1
  922. package/src/server/serverFns/agents/resolve-overrides.ts +2 -2
  923. package/src/server/serverFns/ai/agent-conversations.ts +1 -1
  924. package/src/server/serverFns/ai/fill-annotation.ts +1 -1
  925. package/src/server/serverFns/ai/generate-prototype.ts +1 -1
  926. package/src/server/serverFns/ai/providers.ts +1 -1
  927. package/src/server/serverFns/auth/session.ts +1 -1
  928. package/src/server/serverFns/billing.ts +1 -1
  929. package/src/server/serverFns/changelog/fetch.ts +1 -1
  930. package/src/server/serverFns/comments.ts +1 -1
  931. package/src/server/serverFns/components.ts +1 -1
  932. package/src/server/serverFns/knowledge-index-utils.ts +1 -1
  933. package/src/server/serverFns/locale.ts +1 -1
  934. package/src/server/serverFns/notifications.ts +1 -1
  935. package/src/server/serverFns/reviews.ts +1 -1
  936. package/src/server/serverFns/share/verify-password.ts +1 -1
  937. package/src/server/serverFns/share/versions.ts +1 -1
  938. package/src/server/serverFns/story/__tests__/label-suggest-fn.test.ts +2 -2
  939. package/src/server/serverFns/story/story-crud/label-suggest-core.ts +1 -1
  940. package/src/server/serverFns/translation.ts +1 -1
  941. package/src/shared/ai-cli/adapter.ts +59 -0
  942. package/src/shared/ai-cli/cli-detector.ts +64 -0
  943. package/src/start.ts +1 -1
  944. package/vite.shared.ts +1 -5
  945. package/src/lib/i18n/client.ts +0 -1
  946. package/src/lib/i18n/config.ts +0 -1
  947. package/src/lib/i18n/detect.ts +0 -1
  948. package/src/lib/i18n/server.ts +0 -1
  949. package/src/lib/i18n/types.ts +0 -1
@@ -0,0 +1,57 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // AllBlue - 理想之海
3
+ // Copyright (C) 2026 AllBlue Contributors
4
+ //
5
+ // This program is free software: you can redistribute it and/or modify
6
+ // it under the terms of the GNU Affero General Public License as published by
7
+ // the Free Software Foundation, either version 3 of the License, or
8
+ // (at your option) any later version.
9
+ //
10
+ // This program is distributed in the hope that it will be useful,
11
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ // GNU Affero General Public License for more details.
14
+ //
15
+ // You should have received a copy of the GNU Affero General Public License
16
+ // along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+
18
+ import { memo } from "react"
19
+
20
+ type SvgProps = React.ComponentPropsWithoutRef<"svg">
21
+
22
+ export const IndentDecreaseIcon = memo(({ className, ...props }: SvgProps) => {
23
+ return (
24
+ <svg
25
+ width="24"
26
+ height="24"
27
+ className={className}
28
+ viewBox="0 0 24 24"
29
+ fill="currentColor"
30
+ xmlns="http://www.w3.org/2000/svg"
31
+ {...props}
32
+ >
33
+ <path
34
+ d="M9 18.5C9.55228 18.5 10 18.9477 10 19.5C10 20.0523 9.55228 20.5 9 20.5H3C2.44772 20.5 2 20.0523 2 19.5C2 18.9477 2.44772 18.5 3 18.5H9Z"
35
+ fill="currentColor"
36
+ />
37
+ <path
38
+ d="M20.293 8.29297C20.6835 7.90244 21.3165 7.90244 21.707 8.29297C22.0976 8.68349 22.0976 9.31651 21.707 9.70703L19.4141 12L21.707 14.293C22.0976 14.6835 22.0976 15.3165 21.707 15.707C21.3165 16.0976 20.6835 16.0976 20.293 15.707L17.293 12.707L17.2246 12.6309C16.9043 12.2381 16.9269 11.6591 17.293 11.293L20.293 8.29297Z"
39
+ fill="currentColor"
40
+ />
41
+ <path
42
+ d="M13 13.5C13.5523 13.5 14 13.9477 14 14.5C14 15.0523 13.5523 15.5 13 15.5H3C2.44772 15.5 2 15.0523 2 14.5C2 13.9477 2.44772 13.5 3 13.5H13Z"
43
+ fill="currentColor"
44
+ />
45
+ <path
46
+ d="M13 8.5C13.5523 8.5 14 8.94772 14 9.5C14 10.0523 13.5523 10.5 13 10.5H3C2.44772 10.5 2 10.0523 2 9.5C2 8.94772 2.44772 8.5 3 8.5H13Z"
47
+ fill="currentColor"
48
+ />
49
+ <path
50
+ d="M13 3.5C13.5523 3.5 14 3.94772 14 4.5C14 5.05228 13.5523 5.5 13 5.5H3C2.44772 5.5 2 5.05228 2 4.5C2 3.94772 2.44772 3.5 3 3.5H13Z"
51
+ fill="currentColor"
52
+ />
53
+ </svg>
54
+ )
55
+ })
56
+
57
+ IndentDecreaseIcon.displayName = "IndentDecreaseIcon"
@@ -0,0 +1,57 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // AllBlue - 理想之海
3
+ // Copyright (C) 2026 AllBlue Contributors
4
+ //
5
+ // This program is free software: you can redistribute it and/or modify
6
+ // it under the terms of the GNU Affero General Public License as published by
7
+ // the Free Software Foundation, either version 3 of the License, or
8
+ // (at your option) any later version.
9
+ //
10
+ // This program is distributed in the hope that it will be useful,
11
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ // GNU Affero General Public License for more details.
14
+ //
15
+ // You should have received a copy of the GNU Affero General Public License
16
+ // along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+
18
+ import { memo } from "react"
19
+
20
+ type SvgProps = React.ComponentPropsWithoutRef<"svg">
21
+
22
+ export const IndentIncreaseIcon = memo(({ className, ...props }: SvgProps) => {
23
+ return (
24
+ <svg
25
+ width="24"
26
+ height="24"
27
+ className={className}
28
+ viewBox="0 0 24 24"
29
+ fill="currentColor"
30
+ xmlns="http://www.w3.org/2000/svg"
31
+ {...props}
32
+ >
33
+ <path
34
+ d="M17.0002 18.5C17.5524 18.5 18.0002 18.9477 18.0002 19.5C18.0002 20.0523 17.5524 20.5 17.0002 20.5H11.0002C10.4479 20.5 10.0002 20.0523 10.0002 19.5C10.0002 18.9477 10.4479 18.5 11.0002 18.5H17.0002Z"
35
+ fill="currentColor"
36
+ />
37
+ <path
38
+ d="M2.29314 8.29297C2.68366 7.90248 3.31669 7.90246 3.7072 8.29297L6.7072 11.293L6.77556 11.3691C7.09586 11.7619 7.07327 12.3409 6.7072 12.707L3.7072 15.707C3.31669 16.0975 2.68367 16.0975 2.29314 15.707C1.90261 15.3165 1.90261 14.6835 2.29314 14.293L4.58611 12L2.29314 9.70703C1.90261 9.31651 1.90261 8.68349 2.29314 8.29297Z"
39
+ fill="currentColor"
40
+ />
41
+ <path
42
+ d="M21.0002 13.5C21.5524 13.5 22.0002 13.9477 22.0002 14.5C22.0002 15.0523 21.5524 15.5 21.0002 15.5H11.0002C10.4479 15.5 10.0002 15.0523 10.0002 14.5C10.0002 13.9477 10.4479 13.5 11.0002 13.5H21.0002Z"
43
+ fill="currentColor"
44
+ />
45
+ <path
46
+ d="M21.0002 8.5C21.5524 8.50004 22.0002 8.94774 22.0002 9.5C22.0002 10.0523 21.5524 10.5 21.0002 10.5H11.0002C10.4479 10.5 10.0002 10.0523 10.0002 9.5C10.0002 8.94772 10.4479 8.5 11.0002 8.5H21.0002Z"
47
+ fill="currentColor"
48
+ />
49
+ <path
50
+ d="M21.0002 3.5C21.5524 3.50004 22.0002 3.94774 22.0002 4.5C22.0002 5.05226 21.5524 5.49996 21.0002 5.5H11.0002C10.4479 5.5 10.0002 5.05228 10.0002 4.5C10.0002 3.94772 10.4479 3.5 11.0002 3.5H21.0002Z"
51
+ fill="currentColor"
52
+ />
53
+ </svg>
54
+ )
55
+ })
56
+
57
+ IndentIncreaseIcon.displayName = "IndentIncreaseIcon"
@@ -0,0 +1,41 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // AllBlue - 理想之海
3
+ // Copyright (C) 2026 AllBlue Contributors
4
+ //
5
+ // This program is free software: you can redistribute it and/or modify
6
+ // it under the terms of the GNU Affero General Public License as published by
7
+ // the Free Software Foundation, either version 3 of the License, or
8
+ // (at your option) any later version.
9
+ //
10
+ // This program is distributed in the hope that it will be useful,
11
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ // GNU Affero General Public License for more details.
14
+ //
15
+ // You should have received a copy of the GNU Affero General Public License
16
+ // along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+
18
+ import { memo } from "react"
19
+
20
+ type SvgProps = React.ComponentPropsWithoutRef<"svg">
21
+
22
+ export const ItalicIcon = memo(({ className, ...props }: SvgProps) => {
23
+ return (
24
+ <svg
25
+ width="24"
26
+ height="24"
27
+ className={className}
28
+ viewBox="0 0 24 24"
29
+ fill="currentColor"
30
+ xmlns="http://www.w3.org/2000/svg"
31
+ {...props}
32
+ >
33
+ <path
34
+ d="M15.0222 3H19C19.5523 3 20 3.44772 20 4C20 4.55228 19.5523 5 19 5H15.693L10.443 19H14C14.5523 19 15 19.4477 15 20C15 20.5523 14.5523 21 14 21H9.02418C9.00802 21.0004 8.99181 21.0004 8.97557 21H5C4.44772 21 4 20.5523 4 20C4 19.4477 4.44772 19 5 19H8.30704L13.557 5H10C9.44772 5 9 4.55228 9 4C9 3.44772 9.44772 3 10 3H14.9782C14.9928 2.99968 15.0075 2.99967 15.0222 3Z"
35
+ fill="currentColor"
36
+ />
37
+ </svg>
38
+ )
39
+ })
40
+
41
+ ItalicIcon.displayName = "ItalicIcon"
@@ -0,0 +1,51 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // AllBlue - 理想之海
3
+ // Copyright (C) 2026 AllBlue Contributors
4
+ //
5
+ // This program is free software: you can redistribute it and/or modify
6
+ // it under the terms of the GNU Affero General Public License as published by
7
+ // the Free Software Foundation, either version 3 of the License, or
8
+ // (at your option) any later version.
9
+ //
10
+ // This program is distributed in the hope that it will be useful,
11
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ // GNU Affero General Public License for more details.
14
+ //
15
+ // You should have received a copy of the GNU Affero General Public License
16
+ // along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+
18
+ import { memo } from "react"
19
+
20
+ type SvgProps = React.ComponentPropsWithoutRef<"svg">
21
+
22
+ export const LanguagesIcon = memo(({ className, ...props }: SvgProps) => {
23
+ return (
24
+ <svg
25
+ width="24"
26
+ height="24"
27
+ className={className}
28
+ viewBox="0 0 24 24"
29
+ fill="currentColor"
30
+ xmlns="http://www.w3.org/2000/svg"
31
+ {...props}
32
+ >
33
+ <path
34
+ d="M7 1C6.44772 1 6 1.44772 6 2C6 2.55228 6.44772 3 7 3H8C8.55228 3 9 2.55228 9 2C9 1.44772 8.55228 1 8 1H7Z"
35
+ fill="currentColor"
36
+ />
37
+ <path
38
+ d="M9.22288 7.3629L10.1315 6H2C1.44772 6 1 5.55228 1 5C1 4.44772 1.44772 4 2 4H11.9853C11.9957 3.99984 12.0061 3.99984 12.0166 4H14C14.5523 4 15 4.44772 15 5C15 5.55228 14.5523 6 14 6H12.5352L10.8321 8.55468C10.7955 8.60948 10.7537 8.66053 10.7071 8.70709L8.91421 10.5L11.7071 13.2929C12.0976 13.6834 12.0976 14.3166 11.7071 14.7071C11.3166 15.0976 10.6834 15.0976 10.2929 14.7071L7.49999 11.9142L4.70711 14.7071C4.31658 15.0976 3.68342 15.0976 3.29289 14.7071C2.90237 14.3166 2.90237 13.6834 3.29289 13.2929L6.08578 10.5L4.29289 8.70711C3.90237 8.31658 3.90237 7.68342 4.29289 7.29289C4.68342 6.90237 5.31658 6.90237 5.70711 7.29289L7.49999 9.08578L9.22288 7.3629Z"
39
+ fill="currentColor"
40
+ />
41
+ <path
42
+ fillRule="evenodd"
43
+ clipRule="evenodd"
44
+ d="M17 11C17.3787 11 17.725 11.214 17.8944 11.5528L20.8849 17.5338C20.8918 17.5468 20.8983 17.5599 20.9046 17.5731L22.8944 21.5528C23.1414 22.0468 22.9412 22.6474 22.4472 22.8944C21.9532 23.1414 21.3525 22.9412 21.1055 22.4472L19.3819 19H14.618L12.8944 22.4472C12.6474 22.9412 12.0467 23.1414 11.5528 22.8944C11.0588 22.6474 10.8586 22.0468 11.1055 21.5528L13.0964 17.5712C13.102 17.5592 13.1079 17.5474 13.1141 17.5358L16.1055 11.5528C16.2749 11.214 16.6212 11 17 11ZM15.618 17H18.3819L17 14.2361L15.618 17Z"
45
+ fill="currentColor"
46
+ />
47
+ </svg>
48
+ )
49
+ })
50
+
51
+ LanguagesIcon.displayName = "LanguagesIcon"
@@ -0,0 +1,45 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // AllBlue - 理想之海
3
+ // Copyright (C) 2026 AllBlue Contributors
4
+ //
5
+ // This program is free software: you can redistribute it and/or modify
6
+ // it under the terms of the GNU Affero General Public License as published by
7
+ // the Free Software Foundation, either version 3 of the License, or
8
+ // (at your option) any later version.
9
+ //
10
+ // This program is distributed in the hope that it will be useful,
11
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ // GNU Affero General Public License for more details.
14
+ //
15
+ // You should have received a copy of the GNU Affero General Public License
16
+ // along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+
18
+ import { memo } from "react"
19
+
20
+ type SvgProps = React.ComponentPropsWithoutRef<"svg">
21
+
22
+ export const LinkIcon = memo(({ className, ...props }: SvgProps) => {
23
+ return (
24
+ <svg
25
+ width="24"
26
+ height="24"
27
+ className={className}
28
+ viewBox="0 0 24 24"
29
+ fill="currentColor"
30
+ xmlns="http://www.w3.org/2000/svg"
31
+ {...props}
32
+ >
33
+ <path
34
+ d="M16.9958 1.06669C15.4226 1.05302 13.907 1.65779 12.7753 2.75074L12.765 2.76086L11.045 4.47086C10.6534 4.86024 10.6515 5.49341 11.0409 5.88507C11.4303 6.27673 12.0634 6.27858 12.4551 5.88919L14.1697 4.18456C14.9236 3.45893 15.9319 3.05752 16.9784 3.06662C18.0272 3.07573 19.0304 3.49641 19.772 4.23804C20.5137 4.97967 20.9344 5.98292 20.9435 7.03171C20.9526 8.07776 20.5515 9.08563 19.8265 9.83941L16.833 12.8329C16.4274 13.2386 15.9393 13.5524 15.4019 13.7529C14.8645 13.9533 14.2903 14.0359 13.7181 13.9949C13.146 13.9539 12.5894 13.7904 12.0861 13.5154C11.5827 13.2404 11.1444 12.8604 10.8008 12.401C10.47 11.9588 9.84333 11.8685 9.40108 12.1993C8.95883 12.5301 8.86849 13.1568 9.1993 13.599C9.71464 14.288 10.3721 14.858 11.1272 15.2705C11.8822 15.683 12.7171 15.9283 13.5753 15.9898C14.4334 16.0513 15.2948 15.9274 16.1009 15.6267C16.907 15.326 17.639 14.8555 18.2473 14.247L21.2472 11.2471L21.2593 11.2347C22.3523 10.1031 22.9571 8.58751 22.9434 7.01433C22.9297 5.44115 22.2987 3.93628 21.1863 2.82383C20.0738 1.71138 18.5689 1.08036 16.9958 1.06669Z"
35
+ fill="currentColor"
36
+ />
37
+ <path
38
+ d="M10.4247 8.0102C9.56657 7.94874 8.70522 8.07256 7.89911 8.37326C7.09305 8.67395 6.36096 9.14458 5.75272 9.753L2.75285 12.7529L2.74067 12.7653C1.64772 13.8969 1.04295 15.4125 1.05662 16.9857C1.07029 18.5589 1.70131 20.0637 2.81376 21.1762C3.9262 22.2886 5.43108 22.9196 7.00426 22.9333C8.57744 22.947 10.0931 22.3422 11.2247 21.2493L11.2371 21.2371L12.9471 19.5271C13.3376 19.1366 13.3376 18.5034 12.9471 18.1129C12.5565 17.7223 11.9234 17.7223 11.5328 18.1129L9.82932 19.8164C9.07555 20.5414 8.06768 20.9425 7.02164 20.9334C5.97285 20.9243 4.9696 20.5036 4.22797 19.762C3.48634 19.0203 3.06566 18.0171 3.05655 16.9683C3.04746 15.9222 3.44851 14.9144 4.17355 14.1606L7.16719 11.167C7.5727 10.7613 8.06071 10.4476 8.59811 10.2471C9.13552 10.0467 9.70976 9.96412 10.2819 10.0051C10.854 10.0461 11.4106 10.2096 11.9139 10.4846C12.4173 10.7596 12.8556 11.1397 13.1992 11.599C13.53 12.0412 14.1567 12.1316 14.5989 11.8007C15.0412 11.4699 15.1315 10.8433 14.8007 10.401C14.2854 9.71205 13.6279 9.14198 12.8729 8.72948C12.1178 8.31697 11.2829 8.07166 10.4247 8.0102Z"
39
+ fill="currentColor"
40
+ />
41
+ </svg>
42
+ )
43
+ })
44
+
45
+ LinkIcon.displayName = "LinkIcon"
@@ -0,0 +1,73 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // AllBlue - 理想之海
3
+ // Copyright (C) 2026 AllBlue Contributors
4
+ //
5
+ // This program is free software: you can redistribute it and/or modify
6
+ // it under the terms of the GNU Affero General Public License as published by
7
+ // the Free Software Foundation, either version 3 of the License, or
8
+ // (at your option) any later version.
9
+ //
10
+ // This program is distributed in the hope that it will be useful,
11
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ // GNU Affero General Public License for more details.
14
+ //
15
+ // You should have received a copy of the GNU Affero General Public License
16
+ // along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+
18
+ import { memo } from "react"
19
+
20
+ type SvgProps = React.ComponentPropsWithoutRef<"svg">
21
+
22
+ export const ListIcon = memo(({ className, ...props }: SvgProps) => {
23
+ return (
24
+ <svg
25
+ width="24"
26
+ height="24"
27
+ className={className}
28
+ viewBox="0 0 24 24"
29
+ fill="currentColor"
30
+ xmlns="http://www.w3.org/2000/svg"
31
+ {...props}
32
+ >
33
+ <path
34
+ fillRule="evenodd"
35
+ clipRule="evenodd"
36
+ d="M7 6C7 5.44772 7.44772 5 8 5H21C21.5523 5 22 5.44772 22 6C22 6.55228 21.5523 7 21 7H8C7.44772 7 7 6.55228 7 6Z"
37
+ fill="currentColor"
38
+ />
39
+ <path
40
+ fillRule="evenodd"
41
+ clipRule="evenodd"
42
+ d="M7 12C7 11.4477 7.44772 11 8 11H21C21.5523 11 22 11.4477 22 12C22 12.5523 21.5523 13 21 13H8C7.44772 13 7 12.5523 7 12Z"
43
+ fill="currentColor"
44
+ />
45
+ <path
46
+ fillRule="evenodd"
47
+ clipRule="evenodd"
48
+ d="M7 18C7 17.4477 7.44772 17 8 17H21C21.5523 17 22 17.4477 22 18C22 18.5523 21.5523 19 21 19H8C7.44772 19 7 18.5523 7 18Z"
49
+ fill="currentColor"
50
+ />
51
+ <path
52
+ fillRule="evenodd"
53
+ clipRule="evenodd"
54
+ d="M2 6C2 5.44772 2.44772 5 3 5H3.01C3.56228 5 4.01 5.44772 4.01 6C4.01 6.55228 3.56228 7 3.01 7H3C2.44772 7 2 6.55228 2 6Z"
55
+ fill="currentColor"
56
+ />
57
+ <path
58
+ fillRule="evenodd"
59
+ clipRule="evenodd"
60
+ d="M2 12C2 11.4477 2.44772 11 3 11H3.01C3.56228 11 4.01 11.4477 4.01 12C4.01 12.5523 3.56228 13 3.01 13H3C2.44772 13 2 12.5523 2 12Z"
61
+ fill="currentColor"
62
+ />
63
+ <path
64
+ fillRule="evenodd"
65
+ clipRule="evenodd"
66
+ d="M2 18C2 17.4477 2.44772 17 3 17H3.01C3.56228 17 4.01 17.4477 4.01 18C4.01 18.5523 3.56228 19 3.01 19H3C2.44772 19 2 18.5523 2 18Z"
67
+ fill="currentColor"
68
+ />
69
+ </svg>
70
+ )
71
+ })
72
+
73
+ ListIcon.displayName = "ListIcon"
@@ -0,0 +1,73 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // AllBlue - 理想之海
3
+ // Copyright (C) 2026 AllBlue Contributors
4
+ //
5
+ // This program is free software: you can redistribute it and/or modify
6
+ // it under the terms of the GNU Affero General Public License as published by
7
+ // the Free Software Foundation, either version 3 of the License, or
8
+ // (at your option) any later version.
9
+ //
10
+ // This program is distributed in the hope that it will be useful,
11
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ // GNU Affero General Public License for more details.
14
+ //
15
+ // You should have received a copy of the GNU Affero General Public License
16
+ // along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+
18
+ import { memo } from "react"
19
+
20
+ type SvgProps = React.ComponentPropsWithoutRef<"svg">
21
+
22
+ export const ListIndentedIcon = memo(({ className, ...props }: SvgProps) => {
23
+ return (
24
+ <svg
25
+ width="24"
26
+ height="24"
27
+ className={className}
28
+ viewBox="0 0 24 24"
29
+ fill="currentColor"
30
+ xmlns="http://www.w3.org/2000/svg"
31
+ {...props}
32
+ >
33
+ <path
34
+ fillRule="evenodd"
35
+ clipRule="evenodd"
36
+ d="M8 6C8 5.44772 8.44772 5 9 5H21C21.5523 5 22 5.44772 22 6C22 6.55228 21.5523 7 21 7H9C8.44772 7 8 6.55228 8 6Z"
37
+ fill="currentColor"
38
+ />
39
+ <path
40
+ fillRule="evenodd"
41
+ clipRule="evenodd"
42
+ d="M11 12C11 11.4477 11.4477 11 12 11H21C21.5523 11 22 11.4477 22 12C22 12.5523 21.5523 13 21 13H12C11.4477 13 11 12.5523 11 12Z"
43
+ fill="currentColor"
44
+ />
45
+ <path
46
+ fillRule="evenodd"
47
+ clipRule="evenodd"
48
+ d="M8 18C8 17.4477 8.44772 17 9 17H21C21.5523 17 22 17.4477 22 18C22 18.5523 21.5523 19 21 19H9C8.44772 19 8 18.5523 8 18Z"
49
+ fill="currentColor"
50
+ />
51
+ <path
52
+ fillRule="evenodd"
53
+ clipRule="evenodd"
54
+ d="M3.5 16.5C3.22386 16.5 3 16.7239 3 17V19C3 19.2761 3.22386 19.5 3.5 19.5H5.5C5.77614 19.5 6 19.2761 6 19V17C6 16.7239 5.77614 16.5 5.5 16.5H3.5Z"
55
+ fill="currentColor"
56
+ />
57
+ <path
58
+ fillRule="evenodd"
59
+ clipRule="evenodd"
60
+ d="M6.5 10.5C6.22386 10.5 6 10.7239 6 11V13C6 13.2761 6.22386 13.5 6.5 13.5H8.5C8.77614 13.5 9 13.2761 9 13V11C9 10.7239 8.77614 10.5 8.5 10.5H6.5Z"
61
+ fill="currentColor"
62
+ />
63
+ <path
64
+ fillRule="evenodd"
65
+ clipRule="evenodd"
66
+ d="M3.5 4.5C3.22386 4.5 3 4.72386 3 5V7C3 7.27614 3.22386 7.5 3.5 7.5H5.5C5.77614 7.5 6 7.27614 6 7V5C6 4.72386 5.77614 4.5 5.5 4.5H3.5Z"
67
+ fill="currentColor"
68
+ />
69
+ </svg>
70
+ )
71
+ })
72
+
73
+ ListIndentedIcon.displayName = "ListIndentedIcon"
@@ -0,0 +1,73 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // AllBlue - 理想之海
3
+ // Copyright (C) 2026 AllBlue Contributors
4
+ //
5
+ // This program is free software: you can redistribute it and/or modify
6
+ // it under the terms of the GNU Affero General Public License as published by
7
+ // the Free Software Foundation, either version 3 of the License, or
8
+ // (at your option) any later version.
9
+ //
10
+ // This program is distributed in the hope that it will be useful,
11
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ // GNU Affero General Public License for more details.
14
+ //
15
+ // You should have received a copy of the GNU Affero General Public License
16
+ // along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+
18
+ import { memo } from "react"
19
+
20
+ type SvgProps = React.ComponentPropsWithoutRef<"svg">
21
+
22
+ export const ListOrderedIcon = memo(({ className, ...props }: SvgProps) => {
23
+ return (
24
+ <svg
25
+ width="24"
26
+ height="24"
27
+ className={className}
28
+ viewBox="0 0 24 24"
29
+ fill="currentColor"
30
+ xmlns="http://www.w3.org/2000/svg"
31
+ {...props}
32
+ >
33
+ <path
34
+ fillRule="evenodd"
35
+ clipRule="evenodd"
36
+ d="M9 6C9 5.44772 9.44772 5 10 5H21C21.5523 5 22 5.44772 22 6C22 6.55228 21.5523 7 21 7H10C9.44772 7 9 6.55228 9 6Z"
37
+ fill="currentColor"
38
+ />
39
+ <path
40
+ fillRule="evenodd"
41
+ clipRule="evenodd"
42
+ d="M9 12C9 11.4477 9.44772 11 10 11H21C21.5523 11 22 11.4477 22 12C22 12.5523 21.5523 13 21 13H10C9.44772 13 9 12.5523 9 12Z"
43
+ fill="currentColor"
44
+ />
45
+ <path
46
+ fillRule="evenodd"
47
+ clipRule="evenodd"
48
+ d="M9 18C9 17.4477 9.44772 17 10 17H21C21.5523 17 22 17.4477 22 18C22 18.5523 21.5523 19 21 19H10C9.44772 19 9 18.5523 9 18Z"
49
+ fill="currentColor"
50
+ />
51
+ <path
52
+ fillRule="evenodd"
53
+ clipRule="evenodd"
54
+ d="M3 6C3 5.44772 3.44772 5 4 5H5C5.55228 5 6 5.44772 6 6V10C6 10.5523 5.55228 11 5 11C4.44772 11 4 10.5523 4 10V7C3.44772 7 3 6.55228 3 6Z"
55
+ fill="currentColor"
56
+ />
57
+ <path
58
+ fillRule="evenodd"
59
+ clipRule="evenodd"
60
+ d="M3 10C3 9.44772 3.44772 9 4 9H6C6.55228 9 7 9.44772 7 10C7 10.5523 6.55228 11 6 11H4C3.44772 11 3 10.5523 3 10Z"
61
+ fill="currentColor"
62
+ />
63
+ <path
64
+ fillRule="evenodd"
65
+ clipRule="evenodd"
66
+ d="M5.82219 13.0431C6.54543 13.4047 6.99997 14.1319 6.99997 15C6.99997 15.5763 6.71806 16.0426 6.48747 16.35C6.31395 16.5814 6.1052 16.8044 5.91309 17H5.99997C6.55226 17 6.99997 17.4477 6.99997 18C6.99997 18.5523 6.55226 19 5.99997 19H3.99997C3.44769 19 2.99997 18.5523 2.99997 18C2.99997 17.4237 3.28189 16.9575 3.51247 16.65C3.74323 16.3424 4.03626 16.0494 4.26965 15.8161C4.27745 15.8083 4.2852 15.8006 4.29287 15.7929C4.55594 15.5298 4.75095 15.3321 4.88748 15.15C4.96287 15.0495 4.99021 14.9922 4.99911 14.9714C4.99535 14.9112 4.9803 14.882 4.9739 14.8715C4.96613 14.8588 4.95382 14.845 4.92776 14.8319C4.87723 14.8067 4.71156 14.7623 4.44719 14.8944C3.95321 15.1414 3.35254 14.9412 3.10555 14.4472C2.85856 13.9533 3.05878 13.3526 3.55276 13.1056C4.28839 12.7378 5.12272 12.6934 5.82219 13.0431Z"
67
+ fill="currentColor"
68
+ />
69
+ </svg>
70
+ )
71
+ })
72
+
73
+ ListOrderedIcon.displayName = "ListOrderedIcon"
@@ -0,0 +1,67 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // AllBlue - 理想之海
3
+ // Copyright (C) 2026 AllBlue Contributors
4
+ //
5
+ // This program is free software: you can redistribute it and/or modify
6
+ // it under the terms of the GNU Affero General Public License as published by
7
+ // the Free Software Foundation, either version 3 of the License, or
8
+ // (at your option) any later version.
9
+ //
10
+ // This program is distributed in the hope that it will be useful,
11
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ // GNU Affero General Public License for more details.
14
+ //
15
+ // You should have received a copy of the GNU Affero General Public License
16
+ // along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+
18
+ import { memo } from "react"
19
+
20
+ type SvgProps = React.ComponentPropsWithoutRef<"svg">
21
+
22
+ export const ListTodoIcon = memo(({ className, ...props }: SvgProps) => {
23
+ return (
24
+ <svg
25
+ width="24"
26
+ height="24"
27
+ className={className}
28
+ viewBox="0 0 24 24"
29
+ fill="currentColor"
30
+ xmlns="http://www.w3.org/2000/svg"
31
+ {...props}
32
+ >
33
+ <path
34
+ fillRule="evenodd"
35
+ clipRule="evenodd"
36
+ d="M2 6C2 4.89543 2.89543 4 4 4H8C9.10457 4 10 4.89543 10 6V10C10 11.1046 9.10457 12 8 12H4C2.89543 12 2 11.1046 2 10V6ZM8 6H4V10H8V6Z"
37
+ fill="currentColor"
38
+ />
39
+ <path
40
+ fillRule="evenodd"
41
+ clipRule="evenodd"
42
+ d="M9.70711 14.2929C10.0976 14.6834 10.0976 15.3166 9.70711 15.7071L5.70711 19.7071C5.31658 20.0976 4.68342 20.0976 4.29289 19.7071L2.29289 17.7071C1.90237 17.3166 1.90237 16.6834 2.29289 16.2929C2.68342 15.9024 3.31658 15.9024 3.70711 16.2929L5 17.5858L8.29289 14.2929C8.68342 13.9024 9.31658 13.9024 9.70711 14.2929Z"
43
+ fill="currentColor"
44
+ />
45
+ <path
46
+ fillRule="evenodd"
47
+ clipRule="evenodd"
48
+ d="M12 6C12 5.44772 12.4477 5 13 5H21C21.5523 5 22 5.44772 22 6C22 6.55228 21.5523 7 21 7H13C12.4477 7 12 6.55228 12 6Z"
49
+ fill="currentColor"
50
+ />
51
+ <path
52
+ fillRule="evenodd"
53
+ clipRule="evenodd"
54
+ d="M12 12C12 11.4477 12.4477 11 13 11H21C21.5523 11 22 11.4477 22 12C22 12.5523 21.5523 13 21 13H13C12.4477 13 12 12.5523 12 12Z"
55
+ fill="currentColor"
56
+ />
57
+ <path
58
+ fillRule="evenodd"
59
+ clipRule="evenodd"
60
+ d="M12 18C12 17.4477 12.4477 17 13 17H21C21.5523 17 22 17.4477 22 18C22 18.5523 21.5523 19 21 19H13C12.4477 19 12 18.5523 12 18Z"
61
+ fill="currentColor"
62
+ />
63
+ </svg>
64
+ )
65
+ })
66
+
67
+ ListTodoIcon.displayName = "ListTodoIcon"
@@ -0,0 +1,43 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // AllBlue - 理想之海
3
+ // Copyright (C) 2026 AllBlue Contributors
4
+ //
5
+ // This program is free software: you can redistribute it and/or modify
6
+ // it under the terms of the GNU Affero General Public License as published by
7
+ // the Free Software Foundation, either version 3 of the License, or
8
+ // (at your option) any later version.
9
+ //
10
+ // This program is distributed in the hope that it will be useful,
11
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ // GNU Affero General Public License for more details.
14
+ //
15
+ // You should have received a copy of the GNU Affero General Public License
16
+ // along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+
18
+ import { memo } from "react"
19
+
20
+ type SvgProps = React.ComponentPropsWithoutRef<"svg">
21
+
22
+ export const MessageSquareIcon = memo(({ className, ...props }: SvgProps) => {
23
+ return (
24
+ <svg
25
+ width="24"
26
+ height="24"
27
+ className={className}
28
+ viewBox="0 0 24 24"
29
+ fill="currentColor"
30
+ xmlns="http://www.w3.org/2000/svg"
31
+ {...props}
32
+ >
33
+ <path
34
+ fillRule="evenodd"
35
+ clipRule="evenodd"
36
+ d="M5 5C4.73478 5 4.48043 5.10536 4.29289 5.29289C4.10536 5.48043 4 5.73478 4 6V19.5858L6.29289 17.2929C6.48043 17.1054 6.73478 17 7 17H19C19.2652 17 19.5196 16.8946 19.7071 16.7071C19.8946 16.5196 20 16.2652 20 16V6C20 5.73478 19.8946 5.48043 19.7071 5.29289C19.5196 5.10536 19.2652 5 19 5H5ZM2.87868 3.87868C3.44129 3.31607 4.20435 3 5 3H19C19.7957 3 20.5587 3.31607 21.1213 3.87868C21.6839 4.44129 22 5.20435 22 6V16C22 16.7957 21.6839 17.5587 21.1213 18.1213C20.5587 18.6839 19.7957 19 19 19H7.41421L3.70711 22.7071C3.42111 22.9931 2.99099 23.0787 2.61732 22.9239C2.24364 22.7691 2 22.4045 2 22V6C2 5.20435 2.31607 4.44129 2.87868 3.87868Z"
37
+ fill="currentColor"
38
+ />
39
+ </svg>
40
+ )
41
+ })
42
+
43
+ MessageSquareIcon.displayName = "MessageSquareIcon"
@@ -0,0 +1,49 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // AllBlue - 理想之海
3
+ // Copyright (C) 2026 AllBlue Contributors
4
+ //
5
+ // This program is free software: you can redistribute it and/or modify
6
+ // it under the terms of the GNU Affero General Public License as published by
7
+ // the Free Software Foundation, either version 3 of the License, or
8
+ // (at your option) any later version.
9
+ //
10
+ // This program is distributed in the hope that it will be useful,
11
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ // GNU Affero General Public License for more details.
14
+ //
15
+ // You should have received a copy of the GNU Affero General Public License
16
+ // along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+
18
+ import { memo } from "react"
19
+
20
+ type SvgProps = React.ComponentPropsWithoutRef<"svg">
21
+
22
+ export const MessageSquarePlusIcon = memo(
23
+ ({ className, ...props }: SvgProps) => {
24
+ return (
25
+ <svg
26
+ width="24"
27
+ height="24"
28
+ className={className}
29
+ viewBox="0 0 24 24"
30
+ fill="currentColor"
31
+ xmlns="http://www.w3.org/2000/svg"
32
+ {...props}
33
+ >
34
+ <path
35
+ d="M12 7C12.5523 7 13 7.44772 13 8V10H15C15.5523 10 16 10.4477 16 11C16 11.5523 15.5523 12 15 12H13V14C13 14.5523 12.5523 15 12 15C11.4477 15 11 14.5523 11 14V12H9C8.44772 12 8 11.5523 8 11C8 10.4477 8.44772 10 9 10H11V8C11 7.44772 11.4477 7 12 7Z"
36
+ fill="currentColor"
37
+ />
38
+ <path
39
+ fillRule="evenodd"
40
+ clipRule="evenodd"
41
+ d="M2.87868 3.87868C3.44129 3.31607 4.20435 3 5 3H19C19.7957 3 20.5587 3.31607 21.1213 3.87868C21.6839 4.44129 22 5.20435 22 6V16C22 16.7957 21.6839 17.5587 21.1213 18.1213C20.5587 18.6839 19.7957 19 19 19H7.41421L3.70711 22.7071C3.42111 22.9931 2.99099 23.0787 2.61732 22.9239C2.24364 22.7691 2 22.4045 2 22V6C2 5.20435 2.31607 4.44129 2.87868 3.87868ZM5 5C4.73478 5 4.48043 5.10536 4.29289 5.29289C4.10536 5.48043 4 5.73478 4 6V19.5858L6.29289 17.2929C6.48043 17.1054 6.73478 17 7 17H19C19.2652 17 19.5196 16.8946 19.7071 16.7071C19.8946 16.5196 20 16.2652 20 16V6C20 5.73478 19.8946 5.48043 19.7071 5.29289C19.5196 5.10536 19.2652 5 19 5H5Z"
42
+ fill="currentColor"
43
+ />
44
+ </svg>
45
+ )
46
+ }
47
+ )
48
+
49
+ MessageSquarePlusIcon.displayName = "MessageSquarePlusIcon"