@collabchron/notiq 0.3.0 → 1.0.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 (282) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +230 -39
  3. package/dist/CodeActionMenuPlugin-EINOY4U4.mjs +15 -0
  4. package/dist/DynamicBlockComponent-NRQJ4WW4.mjs +161 -0
  5. package/dist/EquationComponent-CB6DFIHV.mjs +154 -0
  6. package/dist/ExcalidrawComponent-XW6646OH.mjs +528 -0
  7. package/dist/ExcalidrawPlugin-ZFHT62IF.mjs +14 -0
  8. package/dist/ExportPlugin-V2RLM63S.mjs +11 -0
  9. package/dist/FloatingLinkEditorPlugin-TRTCMSP4.mjs +12 -0
  10. package/dist/FloatingTextFormatToolbarPlugin-F2GY6LMI.mjs +30 -0
  11. package/dist/HintComponet-BRL6EAMS.mjs +217 -0
  12. package/dist/InlineImageComponent-UWIUWBHI.mjs +453 -0
  13. package/dist/MobileToolbar-BOOZAMQE.mjs +268 -0
  14. package/dist/SlashCommand-GMT5JI33.mjs +28 -0
  15. package/dist/StoryBuilderComponent-JGDBM5JU.mjs +562 -0
  16. package/{src/components/editor/plugins/TableCellActionMenuPlugin/index.tsx → dist/TableCellActionMenuPlugin-PGK2K3VG.mjs} +667 -759
  17. package/{src/components/editor/plugins/TableHoverActionsPlugin/index.tsx → dist/TableHoverActionsPlugin-GJVE6VRW.mjs} +258 -314
  18. package/dist/TemplatePlugin-ZD3QEVTI.mjs +9 -0
  19. package/dist/ToolbarPlugin-7TOZRD2R.mjs +1547 -0
  20. package/dist/babel-JZ2EV6AX.mjs +7233 -0
  21. package/dist/background-color-XZTYLGO2.mjs +362 -0
  22. package/dist/block-format-YJCV2DIY.mjs +15 -0
  23. package/dist/chunk-2FNEAMSP.mjs +127 -0
  24. package/dist/chunk-3CPBODXA.mjs +84 -0
  25. package/dist/chunk-3G37YKTV.mjs +83 -0
  26. package/dist/chunk-3JVFG7ER.mjs +184 -0
  27. package/dist/chunk-456TN7IM.mjs +110 -0
  28. package/dist/chunk-4EXYCTGJ.mjs +27 -0
  29. package/{src/utils/getSelectedNode.ts → dist/chunk-4HBCVSE6.mjs} +26 -27
  30. package/dist/chunk-4MEDW3T6.mjs +125 -0
  31. package/dist/chunk-4VWFVWYP.mjs +36 -0
  32. package/dist/chunk-5BAKY5KN.mjs +84 -0
  33. package/dist/chunk-5QSNIVIG.mjs +333 -0
  34. package/dist/chunk-64Z3FI7T.mjs +37 -0
  35. package/{src/components/editor/nodes/Stepper/index.tsx → dist/chunk-6RNZQOH2.mjs} +214 -260
  36. package/dist/chunk-77KXU36M.mjs +64 -0
  37. package/dist/chunk-77UA6HYR.mjs +165 -0
  38. package/dist/chunk-7NZAPJ4G.mjs +102 -0
  39. package/dist/chunk-7VUMHWWL.mjs +152 -0
  40. package/dist/chunk-AMMKBSST.mjs +1256 -0
  41. package/dist/chunk-BIU7WTLX.mjs +95 -0
  42. package/dist/chunk-EGMI62PP.mjs +83 -0
  43. package/dist/chunk-EHNQD5KO.mjs +88 -0
  44. package/dist/chunk-FSM26655.mjs +37 -0
  45. package/{src/components/editor/nodes/Hint/index.tsx → dist/chunk-G53GLEAY.mjs} +158 -190
  46. package/dist/chunk-GK35L7UY.mjs +28 -0
  47. package/dist/chunk-GXYD4VZM.mjs +193 -0
  48. package/dist/chunk-GYIOYVCN.mjs +538 -0
  49. package/dist/chunk-GZPNVR7L.mjs +157 -0
  50. package/dist/chunk-JXDPPUJI.mjs +52 -0
  51. package/dist/chunk-K36V4SIW.mjs +141 -0
  52. package/dist/chunk-KJ6AJ44Q.mjs +128 -0
  53. package/dist/chunk-KJV3FAZ7.mjs +142 -0
  54. package/{src/components/editor/plugins/ImagesPlugin/index.tsx → dist/chunk-LGG4IUIA.mjs} +189 -222
  55. package/dist/chunk-LQN3CMKV.mjs +1906 -0
  56. package/dist/chunk-N3WN46VL.mjs +236 -0
  57. package/dist/chunk-PBD6LMLC.mjs +366 -0
  58. package/dist/chunk-POGRR73N.mjs +33 -0
  59. package/{src/components/editor/utils/editorFormatting.ts → dist/chunk-PZSUSXQG.mjs} +238 -282
  60. package/dist/chunk-QEIFVK5M.mjs +29 -0
  61. package/dist/chunk-QHIQKMVN.mjs +427 -0
  62. package/dist/chunk-TCYK7DM7.mjs +36 -0
  63. package/dist/chunk-TTHQCW5F.mjs +47 -0
  64. package/dist/chunk-U47ABU5Z.mjs +53 -0
  65. package/dist/chunk-WDG7J2DY.mjs +116 -0
  66. package/dist/chunk-WJRHXI2C.mjs +733 -0
  67. package/dist/chunk-XLER2DHM.mjs +357 -0
  68. package/dist/chunk-XWC4TK2N.mjs +315 -0
  69. package/dist/chunk-YHPNOWFH.mjs +15 -0
  70. package/dist/chunk-YKC3SO4Z.mjs +32 -0
  71. package/dist/chunk-YMBXLRW5.mjs +374 -0
  72. package/dist/chunk-YPHOEJ46.mjs +64 -0
  73. package/dist/chunk-YUDCJRJM.mjs +25 -0
  74. package/dist/chunk-Z4EWP7BI.mjs +65 -0
  75. package/dist/chunk-ZB5LZQKC.mjs +191 -0
  76. package/dist/chunk-ZJRKATOJ.mjs +65 -0
  77. package/dist/color-BPKOPQKN.mjs +12 -0
  78. package/dist/estree-XC56IUFX.mjs +4414 -0
  79. package/dist/font-FEZ3GKSF.mjs +13 -0
  80. package/dist/font-size-EK775WRH.mjs +15 -0
  81. package/dist/html-S3ACX7NI.mjs +2738 -0
  82. package/dist/image-2PJIAYAT.mjs +993 -0
  83. package/dist/index.d.mts +145 -0
  84. package/dist/index.d.ts +145 -0
  85. package/dist/index.js +57855 -0
  86. package/dist/index.mjs +1790 -0
  87. package/dist/insert-gif-SAIDYURE.mjs +100 -0
  88. package/dist/insert-image-U3RJN3OW.mjs +259 -0
  89. package/dist/insert-node-5P2CRJ7S.mjs +201 -0
  90. package/dist/insert-poll-HCPM7MO6.mjs +33 -0
  91. package/dist/insert-table-24XYUS2W.mjs +66 -0
  92. package/dist/markdown-SNVBOSRA.mjs +3487 -0
  93. package/dist/poll-component-2R4MDLHS.mjs +303 -0
  94. package/dist/postcss-ONF3VDIM.mjs +5051 -0
  95. package/dist/standalone-EOIALU3M.mjs +2373 -0
  96. package/dist/stepper-FSARL6X6.mjs +304 -0
  97. package/dist/styles/notiq.css +1149 -0
  98. package/dist/text-align-VLECWO4H.mjs +118 -0
  99. package/dist/text-format-BG5WOOPZ.mjs +16 -0
  100. package/dist/typescript-AMPI6OVS.mjs +13135 -0
  101. package/package.json +66 -11
  102. package/src/styles/notiq.css +1149 -0
  103. package/src/styles/tailwind-plugin.ts +134 -0
  104. package/components.json +0 -21
  105. package/eslint.config.mjs +0 -16
  106. package/next.config.ts +0 -12
  107. package/postcss.config.mjs +0 -5
  108. package/public/file.svg +0 -1
  109. package/public/globe.svg +0 -1
  110. package/public/images/icons/plus.svg +0 -10
  111. package/public/next.svg +0 -1
  112. package/public/vercel.svg +0 -1
  113. package/public/window.svg +0 -1
  114. package/src/app/actions.ts +0 -2
  115. package/src/app/api/ai/route.ts +0 -175
  116. package/src/app/api/edgestore/[...edgestore]/route.ts +0 -28
  117. package/src/app/favicon.ico +0 -0
  118. package/src/app/globals.css +0 -205
  119. package/src/app/layout.tsx +0 -38
  120. package/src/app/page.tsx +0 -12
  121. package/src/components/editor/Core.tsx +0 -220
  122. package/src/components/editor/hooks/instructions-messages.ts +0 -300
  123. package/src/components/editor/hooks/use-mobile.ts +0 -19
  124. package/src/components/editor/hooks/useReport.ts +0 -67
  125. package/src/components/editor/hooks/useResizeObservert.ts +0 -22
  126. package/src/components/editor/index.tsx +0 -39
  127. package/src/components/editor/lexical-on-change.tsx +0 -28
  128. package/src/components/editor/nodes/CollapsibleNode/CollapsibleContainerNode.ts +0 -92
  129. package/src/components/editor/nodes/CollapsibleNode/CollapsibleContentNode.ts +0 -65
  130. package/src/components/editor/nodes/CollapsibleNode/CollapsibleTitleNode.ts +0 -105
  131. package/src/components/editor/nodes/EquationNode/EquationComponent.tsx +0 -143
  132. package/src/components/editor/nodes/EquationNode/EquationNode.tsx +0 -170
  133. package/src/components/editor/nodes/ExcalidrawNode/ExcalidrawComponent.tsx +0 -228
  134. package/src/components/editor/nodes/ExcalidrawNode/ExcalidrawImage.tsx +0 -137
  135. package/src/components/editor/nodes/ExcalidrawNode/ImageResizer.tsx +0 -317
  136. package/src/components/editor/nodes/ExcalidrawNode/index.tsx +0 -204
  137. package/src/components/editor/nodes/FigmaNode/FigmaNode.tsx +0 -134
  138. package/src/components/editor/nodes/Hint/HintComponet.tsx +0 -221
  139. package/src/components/editor/nodes/ImageNode/index.tsx +0 -328
  140. package/src/components/editor/nodes/InlineImageNode/InlineImageComponent.tsx +0 -383
  141. package/src/components/editor/nodes/InlineImageNode/InlineImageNode.css +0 -94
  142. package/src/components/editor/nodes/InlineImageNode/InlineImageNode.tsx +0 -309
  143. package/src/components/editor/nodes/LayoutNode/LayoutContainerNode.ts +0 -146
  144. package/src/components/editor/nodes/LayoutNode/LayoutItemNode.ts +0 -79
  145. package/src/components/editor/nodes/PollNode/index.tsx +0 -204
  146. package/src/components/editor/nodes/TweetNode/index.tsx +0 -214
  147. package/src/components/editor/nodes/index.ts +0 -81
  148. package/src/components/editor/plugins/AutoEmbedPlugin/index.tsx +0 -350
  149. package/src/components/editor/plugins/AutoLinkPlugin/index.tsx +0 -56
  150. package/src/components/editor/plugins/CodeActionMenuPlugin/components/CopyButton.tsx +0 -70
  151. package/src/components/editor/plugins/CodeActionMenuPlugin/components/PrettierButton.tsx +0 -192
  152. package/src/components/editor/plugins/CodeActionMenuPlugin/index.tsx +0 -217
  153. package/src/components/editor/plugins/CodeActionMenuPlugin/utils.ts +0 -26
  154. package/src/components/editor/plugins/CodeHighlightPlugin/index.ts +0 -21
  155. package/src/components/editor/plugins/CollapsiblePlugin/Collapsible.css +0 -76
  156. package/src/components/editor/plugins/CollapsiblePlugin/index.ts +0 -228
  157. package/src/components/editor/plugins/DragDropPastePlugin/index.tsx +0 -44
  158. package/src/components/editor/plugins/DraggableBlockPlugin/index.tsx +0 -52
  159. package/src/components/editor/plugins/EquationsPlugin/index.tsx +0 -85
  160. package/src/components/editor/plugins/ExcalidrawPlugin/index.tsx +0 -98
  161. package/src/components/editor/plugins/FigmaPlugin/index.tsx +0 -42
  162. package/src/components/editor/plugins/FloatingLinkEditorPlugin/index.tsx +0 -445
  163. package/src/components/editor/plugins/FloatingTextFormatToolbarPlugin/index.tsx +0 -275
  164. package/src/components/editor/plugins/InlineImagePlugin/index.tsx +0 -351
  165. package/src/components/editor/plugins/LayoutPlugin/index.tsx +0 -238
  166. package/src/components/editor/plugins/LinkPlugin/index.tsx +0 -36
  167. package/src/components/editor/plugins/LinkWithMetaData/index.tsx +0 -271
  168. package/src/components/editor/plugins/MarkdownShortcutPlugin/index.tsx +0 -11
  169. package/src/components/editor/plugins/MarkdownTransformers/index.tsx +0 -304
  170. package/src/components/editor/plugins/PollPlugin/index.tsx +0 -49
  171. package/src/components/editor/plugins/ShortcutsPlugin/index.tsx +0 -180
  172. package/src/components/editor/plugins/ShortcutsPlugin/shortcuts.ts +0 -253
  173. package/src/components/editor/plugins/SlashCommand/index.tsx +0 -621
  174. package/src/components/editor/plugins/SpeechToTextPlugin/index.ts +0 -127
  175. package/src/components/editor/plugins/TabFocusPlugin/index.ts +0 -58
  176. package/src/components/editor/plugins/TableCellResizer/index.tsx +0 -438
  177. package/src/components/editor/plugins/TablePlugin/index.tsx +0 -99
  178. package/src/components/editor/plugins/ToolbarPlugin/index.tsx +0 -522
  179. package/src/components/editor/plugins/TwitterPlugin/index.ts +0 -35
  180. package/src/components/editor/plugins/YouTubeNode/index.tsx +0 -179
  181. package/src/components/editor/plugins/YouTubePlugin/index.ts +0 -41
  182. package/src/components/editor/themes/editor-theme.ts +0 -113
  183. package/src/components/editor/themes/theme.css +0 -377
  184. package/src/components/editor/utils/ai.ts +0 -291
  185. package/src/components/editor/utils/canUseDOM.ts +0 -12
  186. package/src/components/editor/utils/environment.ts +0 -50
  187. package/src/components/editor/utils/extract-data.ts +0 -166
  188. package/src/components/editor/utils/getAllLexicalChildren.ts +0 -13
  189. package/src/components/editor/utils/getDOMRangeRect.ts +0 -27
  190. package/src/components/editor/utils/getSelectedNode.ts +0 -27
  191. package/src/components/editor/utils/gif.ts +0 -29
  192. package/src/components/editor/utils/invariant.ts +0 -15
  193. package/src/components/editor/utils/setFloatingElemPosition.ts +0 -51
  194. package/src/components/editor/utils/setFloatingElemPositionForLinkEditor.ts +0 -40
  195. package/src/components/editor/utils/setNodePlaceholderFromSelection/getNodePlaceholder.ts +0 -51
  196. package/src/components/editor/utils/setNodePlaceholderFromSelection/setNodePlaceholderFromSelection.ts +0 -15
  197. package/src/components/editor/utils/setNodePlaceholderFromSelection/setPlaceholderOnSelection.ts +0 -114
  198. package/src/components/editor/utils/setNodePlaceholderFromSelection/styles.css +0 -6
  199. package/src/components/editor/utils/url.ts +0 -109
  200. package/src/components/editor/utils/useLayoutEffect.ts +0 -13
  201. package/src/components/providers/QueryProvider.tsx +0 -15
  202. package/src/components/providers/SharedHistoryContext.tsx +0 -28
  203. package/src/components/providers/ToolbarContext.tsx +0 -123
  204. package/src/components/providers/theme-provider.tsx +0 -11
  205. package/src/components/theme/ModeToggle.tsx +0 -40
  206. package/src/components/ui/FileInput.tsx +0 -40
  207. package/src/components/ui/Input.css +0 -32
  208. package/src/components/ui/Select.css +0 -42
  209. package/src/components/ui/Select.tsx +0 -36
  210. package/src/components/ui/TextInput.tsx +0 -48
  211. package/src/components/ui/ai/ai-button.tsx +0 -574
  212. package/src/components/ui/ai/border.tsx +0 -99
  213. package/src/components/ui/ai/placeholder-input-vanish.tsx +0 -282
  214. package/src/components/ui/button.tsx +0 -89
  215. package/src/components/ui/card.tsx +0 -76
  216. package/src/components/ui/checkbox.tsx +0 -30
  217. package/src/components/ui/command.tsx +0 -153
  218. package/src/components/ui/dialog/Dialog.css +0 -25
  219. package/src/components/ui/dialog/Dialog.tsx +0 -34
  220. package/src/components/ui/dialog.tsx +0 -122
  221. package/src/components/ui/drop-downs/background-color.tsx +0 -183
  222. package/src/components/ui/drop-downs/block-format.tsx +0 -159
  223. package/src/components/ui/drop-downs/code.tsx +0 -42
  224. package/src/components/ui/drop-downs/color.tsx +0 -177
  225. package/src/components/ui/drop-downs/font-size.tsx +0 -138
  226. package/src/components/ui/drop-downs/font.tsx +0 -155
  227. package/src/components/ui/drop-downs/index.tsx +0 -122
  228. package/src/components/ui/drop-downs/insert-node.tsx +0 -213
  229. package/src/components/ui/drop-downs/text-align.tsx +0 -123
  230. package/src/components/ui/drop-downs/text-format.tsx +0 -104
  231. package/src/components/ui/dropdown-menu.tsx +0 -201
  232. package/src/components/ui/equation/EquationEditor.css +0 -38
  233. package/src/components/ui/equation/EquationEditor.tsx +0 -56
  234. package/src/components/ui/equation/KatexEquationAlterer.css +0 -41
  235. package/src/components/ui/equation/KatexEquationAlterer.tsx +0 -83
  236. package/src/components/ui/equation/KatexRenderer.tsx +0 -66
  237. package/src/components/ui/excalidraw/ExcalidrawModal.css +0 -64
  238. package/src/components/ui/excalidraw/ExcalidrawModal.tsx +0 -234
  239. package/src/components/ui/excalidraw/Modal.css +0 -62
  240. package/src/components/ui/excalidraw/Modal.tsx +0 -110
  241. package/src/components/ui/hover-card.tsx +0 -29
  242. package/src/components/ui/image/error-image.tsx +0 -17
  243. package/src/components/ui/image/file-upload.tsx +0 -240
  244. package/src/components/ui/image/image-resizer.tsx +0 -297
  245. package/src/components/ui/image/image-toolbar.tsx +0 -264
  246. package/src/components/ui/image/index.tsx +0 -408
  247. package/src/components/ui/image/lazy-image.tsx +0 -68
  248. package/src/components/ui/image/lazy-video.tsx +0 -71
  249. package/src/components/ui/input.tsx +0 -22
  250. package/src/components/ui/models/custom-dialog.tsx +0 -320
  251. package/src/components/ui/models/insert-gif.tsx +0 -90
  252. package/src/components/ui/models/insert-image.tsx +0 -52
  253. package/src/components/ui/models/insert-poll.tsx +0 -29
  254. package/src/components/ui/models/insert-table.tsx +0 -62
  255. package/src/components/ui/models/use-model.tsx +0 -91
  256. package/src/components/ui/poll/poll-component.tsx +0 -304
  257. package/src/components/ui/popover.tsx +0 -33
  258. package/src/components/ui/progress.tsx +0 -28
  259. package/src/components/ui/scroll-area.tsx +0 -48
  260. package/src/components/ui/separator.tsx +0 -31
  261. package/src/components/ui/skeleton.tsx +0 -15
  262. package/src/components/ui/sonner.tsx +0 -31
  263. package/src/components/ui/stepper/step.tsx +0 -179
  264. package/src/components/ui/stepper/stepper.tsx +0 -89
  265. package/src/components/ui/textarea.tsx +0 -22
  266. package/src/components/ui/toggle.tsx +0 -71
  267. package/src/components/ui/tooltip.tsx +0 -32
  268. package/src/components/ui/write/text-format-floting-toolbar.tsx +0 -346
  269. package/src/lib/edgestore.ts +0 -9
  270. package/src/lib/pinecone-client.ts +0 -0
  271. package/src/lib/utils.ts +0 -6
  272. package/src/utils/docSerialization.ts +0 -77
  273. package/src/utils/emoji-list.ts +0 -16615
  274. package/src/utils/getDOMRangeRect.ts +0 -27
  275. package/src/utils/getThemeSelector.ts +0 -25
  276. package/src/utils/isMobileWidth.ts +0 -7
  277. package/src/utils/joinClasses.ts +0 -13
  278. package/src/utils/setFloatingElemPosition.ts +0 -74
  279. package/src/utils/setFloatingElemPositionForLinkEditor.ts +0 -46
  280. package/src/utils/swipe.ts +0 -127
  281. package/src/utils/url.ts +0 -38
  282. package/tsconfig.json +0 -27
@@ -0,0 +1,134 @@
1
+ // @ts-ignore
2
+ import plugin from "tailwindcss/plugin";
3
+
4
+ /**
5
+ * A Tailwind CSS plugin that adds Notiq's custom theme variables and styles.
6
+ */
7
+ export const notiqPlugin = (plugin as any)(function ({ addBase, theme }: any) {
8
+ addBase({
9
+ ':root': {
10
+ '--background': 'oklch(1 0 0)',
11
+ '--foreground': 'oklch(0.145 0 0)',
12
+ '--card': 'oklch(1 0 0)',
13
+ '--card-foreground': 'oklch(0.145 0 0)',
14
+ '--popover': 'oklch(1 0 0)',
15
+ '--popover-foreground': 'oklch(0.145 0 0)',
16
+ '--primary': 'oklch(0.205 0 0)',
17
+ '--primary-foreground': 'oklch(0.985 0 0)',
18
+ '--secondary': 'oklch(0.97 0 0)',
19
+ '--secondary-foreground': 'oklch(0.205 0 0)',
20
+ '--muted': 'oklch(0.97 0 0)',
21
+ '--muted-foreground': 'oklch(0.556 0 0)',
22
+ '--accent': 'oklch(0.97 0 0)',
23
+ '--accent-foreground': 'oklch(0.205 0 0)',
24
+ '--destructive': 'oklch(0.577 0.245 27.325)',
25
+ '--destructive-foreground': 'oklch(0.577 0.245 27.325)',
26
+ '--border': 'oklch(0.922 0 0)',
27
+ '--input': 'oklch(0.922 0 0)',
28
+ '--ring': 'oklch(0.708 0 0)',
29
+ '--radius': '0.625rem',
30
+ '--font-gray': '#9b9a97',
31
+ '--font-brown': '#64473a',
32
+ '--font-orange': '#d9730d',
33
+ '--font-yellow': '#dfab01',
34
+ '--font-green': '#0f7b6c',
35
+ '--font-blue': '#0b6e99',
36
+ '--font-purple': '#6940a5',
37
+ '--font-pink': '#ad1a72',
38
+ '--font-red': '#e03e3e',
39
+ '--background-gray': '#ebeced',
40
+ '--background-brown': '#e9e5e3',
41
+ '--background-orange': '#faebdd',
42
+ '--background-yellow': '#fbf3db',
43
+ '--background-green': '#ddedea',
44
+ '--background-blue': '#ddedea',
45
+ '--background-purple': '#eae4f2',
46
+ '--background-pink': '#f4dfeb',
47
+ '--background-red': '#fbe4e4',
48
+ },
49
+ '.dark': {
50
+ '--background': 'oklch(0.145 0 0)',
51
+ '--foreground': 'oklch(0.985 0 0)',
52
+ '--card': 'oklch(0.145 0 0)',
53
+ '--card-foreground': 'oklch(0.985 0 0)',
54
+ '--popover': 'oklch(0.145 0 0)',
55
+ '--popover-foreground': 'oklch(0.985 0 0)',
56
+ '--primary': 'oklch(0.985 0 0)',
57
+ '--primary-foreground': 'oklch(0.205 0 0)',
58
+ '--secondary': 'oklch(0.269 0 0)',
59
+ '--secondary-foreground': 'oklch(0.985 0 0)',
60
+ '--muted': 'oklch(0.269 0 0)',
61
+ '--muted-foreground': 'oklch(0.708 0 0)',
62
+ '--accent': 'oklch(0.269 0 0)',
63
+ '--accent-foreground:': 'oklch(0.985 0 0)',
64
+ '--destructive': 'oklch(0.396 0.141 25.723)',
65
+ '--destructive-foreground': 'oklch(0.637 0.237 25.331)',
66
+ '--border': 'oklch(0.269 0 0)',
67
+ '--input': 'oklch(0.269 0 0)',
68
+ '--ring': 'oklch(0.439 0 0)',
69
+ '--font-gray': '#9b9a97',
70
+ '--font-brown': '#937264',
71
+ '--font-orange': '#ffa344',
72
+ '--font-yellow': '#ffdc49',
73
+ '--font-green': '#4dab9a',
74
+ '--font-blue': '#529cca',
75
+ '--font-purple': '#9a6dd7',
76
+ '--font-pink': '#e255a1',
77
+ '--font-red': '#ff7369',
78
+ '--background-gray': '#454b4e',
79
+ '--background-brown': '#434040',
80
+ '--background-orange': '#594a3a',
81
+ '--background-yellow': '#59563b',
82
+ '--background-green': '#354c4b',
83
+ '--background-blue': '#364954',
84
+ '--background-purple': '#443f57',
85
+ '--background-pink': '#533b4c',
86
+ '--background-red': '#594141',
87
+ }
88
+ });
89
+ }, {
90
+ theme: {
91
+ extend: {
92
+ colors: {
93
+ background: 'var(--background)',
94
+ foreground: 'var(--foreground)',
95
+ primary: {
96
+ DEFAULT: 'var(--primary)',
97
+ foreground: 'var(--primary-foreground)',
98
+ },
99
+ secondary: {
100
+ DEFAULT: 'var(--secondary)',
101
+ foreground: 'var(--secondary-foreground)',
102
+ },
103
+ muted: {
104
+ DEFAULT: 'var(--muted)',
105
+ foreground: 'var(--muted-foreground)',
106
+ },
107
+ accent: {
108
+ DEFAULT: 'var(--accent)',
109
+ foreground: 'var(--accent-foreground)',
110
+ },
111
+ destructive: {
112
+ DEFAULT: 'var(--destructive)',
113
+ foreground: 'var(--destructive-foreground)',
114
+ },
115
+ border: 'var(--border)',
116
+ input: 'var(--input)',
117
+ ring: 'var(--ring)',
118
+ card: {
119
+ DEFAULT: 'var(--card)',
120
+ foreground: 'var(--card-foreground)',
121
+ },
122
+ popover: {
123
+ DEFAULT: 'var(--popover)',
124
+ foreground: 'var(--popover-foreground)',
125
+ },
126
+ },
127
+ borderRadius: {
128
+ lg: 'var(--radius)',
129
+ md: 'calc(var(--radius) - 2px)',
130
+ sm: 'calc(var(--radius) - 4px)',
131
+ },
132
+ }
133
+ }
134
+ });
package/components.json DELETED
@@ -1,21 +0,0 @@
1
- {
2
- "$schema": "https://ui.shadcn.com/schema.json",
3
- "style": "new-york",
4
- "rsc": true,
5
- "tsx": true,
6
- "tailwind": {
7
- "config": "tailwind.config.ts",
8
- "css": "src/app/globals.css",
9
- "baseColor": "neutral",
10
- "cssVariables": true,
11
- "prefix": ""
12
- },
13
- "aliases": {
14
- "components": "@/components",
15
- "utils": "@/lib/utils",
16
- "ui": "@/components/ui",
17
- "lib": "@/lib",
18
- "hooks": "@/hooks"
19
- },
20
- "iconLibrary": "lucide"
21
- }
package/eslint.config.mjs DELETED
@@ -1,16 +0,0 @@
1
- import { dirname } from "path";
2
- import { fileURLToPath } from "url";
3
- import { FlatCompat } from "@eslint/eslintrc";
4
-
5
- const __filename = fileURLToPath(import.meta.url);
6
- const __dirname = dirname(__filename);
7
-
8
- const compat = new FlatCompat({
9
- baseDirectory: __dirname,
10
- });
11
-
12
- const eslintConfig = [
13
- ...compat.extends("next/core-web-vitals", "next/typescript"),
14
- ];
15
-
16
- export default eslintConfig;
package/next.config.ts DELETED
@@ -1,12 +0,0 @@
1
- import type { NextConfig } from "next";
2
-
3
- const nextConfig: NextConfig = {
4
- typescript: {
5
- ignoreBuildErrors: true,
6
- },
7
- eslint: {
8
- ignoreDuringBuilds: true,
9
- },
10
- };
11
-
12
- export default nextConfig;
@@ -1,5 +0,0 @@
1
- export default {
2
- plugins: {
3
- "@tailwindcss/postcss": {},
4
- }
5
- }
package/public/file.svg DELETED
@@ -1 +0,0 @@
1
- <svg fill="none" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M14.5 13.5V5.41a1 1 0 0 0-.3-.7L9.8.29A1 1 0 0 0 9.08 0H1.5v13.5A2.5 2.5 0 0 0 4 16h8a2.5 2.5 0 0 0 2.5-2.5m-1.5 0v-7H8v-5H3v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1M9.5 5V2.12L12.38 5zM5.13 5h-.62v1.25h2.12V5zm-.62 3h7.12v1.25H4.5zm.62 3h-.62v1.25h7.12V11z" clip-rule="evenodd" fill="#666" fill-rule="evenodd"/></svg>
package/public/globe.svg DELETED
@@ -1 +0,0 @@
1
- <svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><g clip-path="url(#a)"><path fill-rule="evenodd" clip-rule="evenodd" d="M10.27 14.1a6.5 6.5 0 0 0 3.67-3.45q-1.24.21-2.7.34-.31 1.83-.97 3.1M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16m.48-1.52a7 7 0 0 1-.96 0H7.5a4 4 0 0 1-.84-1.32q-.38-.89-.63-2.08a40 40 0 0 0 3.92 0q-.25 1.2-.63 2.08a4 4 0 0 1-.84 1.31zm2.94-4.76q1.66-.15 2.95-.43a7 7 0 0 0 0-2.58q-1.3-.27-2.95-.43a18 18 0 0 1 0 3.44m-1.27-3.54a17 17 0 0 1 0 3.64 39 39 0 0 1-4.3 0 17 17 0 0 1 0-3.64 39 39 0 0 1 4.3 0m1.1-1.17q1.45.13 2.69.34a6.5 6.5 0 0 0-3.67-3.44q.65 1.26.98 3.1M8.48 1.5l.01.02q.41.37.84 1.31.38.89.63 2.08a40 40 0 0 0-3.92 0q.25-1.2.63-2.08a4 4 0 0 1 .85-1.32 7 7 0 0 1 .96 0m-2.75.4a6.5 6.5 0 0 0-3.67 3.44 29 29 0 0 1 2.7-.34q.31-1.83.97-3.1M4.58 6.28q-1.66.16-2.95.43a7 7 0 0 0 0 2.58q1.3.27 2.95.43a18 18 0 0 1 0-3.44m.17 4.71q-1.45-.12-2.69-.34a6.5 6.5 0 0 0 3.67 3.44q-.65-1.27-.98-3.1" fill="#666"/></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h16v16H0z"/></clipPath></defs></svg>
@@ -1,10 +0,0 @@
1
- <svg
2
- xmlns="http://www.w3.org/2000/svg"
3
- fill="none"
4
- viewBox="0 0 24 24"
5
- stroke="currentColor"
6
- strokeWidth="2"
7
- className="w-6 h-6"
8
- >
9
- <path strokeLinecap="round" strokeLinejoin="round" d="M12 4v16m8-8H4" />
10
- </svg>
package/public/next.svg DELETED
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 394 80"><path fill="#000" d="M262 0h68.5v12.7h-27.2v66.6h-13.6V12.7H262V0ZM149 0v12.7H94v20.4h44.3v12.6H94v21h55v12.6H80.5V0h68.7zm34.3 0h-17.8l63.8 79.4h17.9l-32-39.7 32-39.6h-17.9l-23 28.6-23-28.6zm18.3 56.7-9-11-27.1 33.7h17.8l18.3-22.7z"/><path fill="#000" d="M81 79.3 17 0H0v79.3h13.6V17l50.2 62.3H81Zm252.6-.4c-1 0-1.8-.4-2.5-1s-1.1-1.6-1.1-2.6.3-1.8 1-2.5 1.6-1 2.6-1 1.8.3 2.5 1a3.4 3.4 0 0 1 .6 4.3 3.7 3.7 0 0 1-3 1.8zm23.2-33.5h6v23.3c0 2.1-.4 4-1.3 5.5a9.1 9.1 0 0 1-3.8 3.5c-1.6.8-3.5 1.3-5.7 1.3-2 0-3.7-.4-5.3-1s-2.8-1.8-3.7-3.2c-.9-1.3-1.4-3-1.4-5h6c.1.8.3 1.6.7 2.2s1 1.2 1.6 1.5c.7.4 1.5.5 2.4.5 1 0 1.8-.2 2.4-.6a4 4 0 0 0 1.6-1.8c.3-.8.5-1.8.5-3V45.5zm30.9 9.1a4.4 4.4 0 0 0-2-3.3 7.5 7.5 0 0 0-4.3-1.1c-1.3 0-2.4.2-3.3.5-.9.4-1.6 1-2 1.6a3.5 3.5 0 0 0-.3 4c.3.5.7.9 1.3 1.2l1.8 1 2 .5 3.2.8c1.3.3 2.5.7 3.7 1.2a13 13 0 0 1 3.2 1.8 8.1 8.1 0 0 1 3 6.5c0 2-.5 3.7-1.5 5.1a10 10 0 0 1-4.4 3.5c-1.8.8-4.1 1.2-6.8 1.2-2.6 0-4.9-.4-6.8-1.2-2-.8-3.4-2-4.5-3.5a10 10 0 0 1-1.7-5.6h6a5 5 0 0 0 3.5 4.6c1 .4 2.2.6 3.4.6 1.3 0 2.5-.2 3.5-.6 1-.4 1.8-1 2.4-1.7a4 4 0 0 0 .8-2.4c0-.9-.2-1.6-.7-2.2a11 11 0 0 0-2.1-1.4l-3.2-1-3.8-1c-2.8-.7-5-1.7-6.6-3.2a7.2 7.2 0 0 1-2.4-5.7 8 8 0 0 1 1.7-5 10 10 0 0 1 4.3-3.5c2-.8 4-1.2 6.4-1.2 2.3 0 4.4.4 6.2 1.2 1.8.8 3.2 2 4.3 3.4 1 1.4 1.5 3 1.5 5h-5.8z"/></svg>
package/public/vercel.svg DELETED
@@ -1 +0,0 @@
1
- <svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1155 1000"><path d="m577.3 0 577.4 1000H0z" fill="#fff"/></svg>
package/public/window.svg DELETED
@@ -1 +0,0 @@
1
- <svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M1.5 2.5h13v10a1 1 0 0 1-1 1h-11a1 1 0 0 1-1-1zM0 1h16v11.5a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 0 12.5zm3.75 4.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5M7 4.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0m1.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5" fill="#666"/></svg>
@@ -1,2 +0,0 @@
1
- "use server"
2
-
@@ -1,175 +0,0 @@
1
- import {
2
- AIAction,
3
- autoCompleteInstruction,
4
- FixSpellingGrammarInstruction,
5
- improveMesgInstruction,
6
- MakeLongInstruction,
7
- MakeShortInstruction,
8
- SimplifyLanguageInstruction,
9
- StepsInstruction,
10
- } from "@/components/editor/hooks/instructions-messages";
11
- import { ExtractedBlock } from "@/components/editor/utils/extract-data";
12
- import { openai } from "@ai-sdk/openai";
13
- import { CoreMessage, streamText } from "ai";
14
- import { createClient } from "redis";
15
-
16
-
17
-
18
- const client = createClient({
19
- username: "default",
20
- password: process.env.REDIS_PASSWORD,
21
- socket: {
22
- host: process.env.REDIS_URL,
23
- port: parseInt(process.env.REDIS_PORT!),
24
- },
25
- });
26
-
27
- client.connect().catch((err) => console.error("Redis connection error:", err));
28
-
29
- export const maxDuration = 30;
30
- const MAX_TOKEN = 60000;
31
-
32
- function estimateTokenCount(text: string): number {
33
- return Math.ceil(text.length / 4);
34
- }
35
-
36
-
37
- function computeHash(text: string): string {
38
- let hash = 0;
39
- for (let i = 0; i < text.length; i++) {
40
- hash = (hash << 5) - hash + text.charCodeAt(i);
41
- hash |= 0; // Convert to 32bit integer
42
- }
43
- return hash.toString();
44
- }
45
-
46
- function flattenBlocks(blocks: ExtractedBlock[]): string {
47
- return blocks
48
- .map((block) => {
49
- let content = block.content;
50
- if (block.children) {
51
- content += `\n${flattenBlocks(block.children)}`;
52
- }
53
- return content;
54
- })
55
- .join("\n\n");
56
- }
57
-
58
- /**
59
- * Asynchronously process the raw context JSON string.
60
- * It checks Redis for a cached version (valid for 30 seconds),
61
- * and if not found, processes the JSON into flat text, applies smart truncation,
62
- * stores it in Redis, and returns the processed text.
63
- */
64
-
65
-
66
- async function processContext(rawContext: string): Promise<string> {
67
- const currentHash = computeHash(rawContext);
68
- const cacheKey = `context:${currentHash}`;
69
-
70
- try {
71
- const cached = await client.get(cacheKey);
72
- if (cached) {
73
- const cachedData = JSON.parse(cached);
74
- if (Date.now() - cachedData.timestamp < 30000) {
75
- console.log("Returning cached context from Redis");
76
- return cachedData.processedText;
77
- }
78
- }
79
- } catch (error) {
80
- console.error("Redis error while fetching cache:", error);
81
- }
82
-
83
- try {
84
- const blocks: ExtractedBlock[] = JSON.parse(rawContext);
85
- let processedText = flattenBlocks(blocks);
86
-
87
- // If processed text is too long, preserve important sections and truncate
88
- if (estimateTokenCount(processedText) > MAX_TOKEN) {
89
- const importantSections = blocks
90
- .filter((b) =>
91
- [
92
- "heading",
93
- "Collapsible",
94
- "Table",
95
- "text",
96
- "paragraph",
97
- "list",
98
- "quote",
99
- "code",
100
- "CollapsibleContent",
101
- "Collapsible",
102
- "list-item",
103
- ].includes(b.blockType)
104
- )
105
- .map((b) => b.content + (b.children ? `\n${flattenBlocks(b.children)}` : ""))
106
- .join("\n\n");
107
-
108
- processedText = `${importantSections}\n\n${
109
- blocks
110
- .filter((b) => !["heading", "quote", "Table","paragraph"].includes(b.blockType))
111
- .map((b) => b.content)
112
- .join("\n")
113
- }`.slice(0, MAX_TOKEN * 4);
114
- }
115
-
116
- // Store in Redis with an expiration of 30 seconds
117
- const cacheData = JSON.stringify({ processedText, timestamp: Date.now() });
118
- try {
119
- await client.set(cacheKey, cacheData, { EX: maxDuration });
120
- } catch (error) {
121
- console.error("Redis error while setting cache:", error);
122
- }
123
-
124
- return processedText;
125
- } catch (error) {
126
- console.error("Context processing failed:", error);
127
- return rawContext.slice(0, MAX_TOKEN * 4);
128
- }
129
- }
130
-
131
- function buildSystemMessage(action: AIAction, context: string): string {
132
- const baseInstructions: any = {
133
- autoComplete: autoCompleteInstruction,
134
- FixSpellingGrammar: FixSpellingGrammarInstruction,
135
- ImproveWriting: improveMesgInstruction,
136
- MakeLongInstruction: MakeLongInstruction,
137
- MakeShortInstruction: MakeShortInstruction,
138
- SimplifyLanguage: SimplifyLanguageInstruction,
139
- Steps: StepsInstruction,
140
- ChatWithSelectedString: `You're an editor assistant. Use all the provided context from the document to answer the user's question directly in concise Markdown format. Answer ONLY the question without including additional suggestions or extra context. If the blog does not contain the necessary data, you may supplement your answer with external information.
141
- Context:
142
- ${context}`,
143
- GenerateAgain: `Improve the response based on the full content.
144
- Context:
145
- ${context}
146
- Consider: 1. Phrasing 2. Details 3. Alternatives`,
147
- default: "You are a professional writing assistant",
148
- };
149
-
150
- return baseInstructions[action] || baseInstructions.default!;
151
- }
152
-
153
- export async function POST(req: Request) {
154
- const { prompt: userQuestion, action, context } = await req.json();
155
- const processedContext = context ? await processContext(context) : "";
156
- const systemMessage = buildSystemMessage(action, processedContext);
157
- const messages: CoreMessage[] = [
158
- { role: "system", content: systemMessage },
159
- { role: "user", content: userQuestion },
160
- ];
161
- try {
162
- const result = streamText({
163
- model: openai("gpt-4o"),
164
- messages,
165
- temperature: 0.2,
166
- });
167
-
168
- return result.toDataStreamResponse();
169
- } catch (error) {
170
- console.error("Streaming failed:", error);
171
- return new Response("Error generating response", { status: 500 });
172
- }
173
-
174
-
175
- }
@@ -1,28 +0,0 @@
1
- import { initEdgeStore } from '@edgestore/server';
2
- import { createEdgeStoreNextHandler } from '@edgestore/server/adapters/next/app';
3
-
4
- // Initialize the EdgeStore
5
- const es = initEdgeStore.create();
6
-
7
- /**
8
- * This is the main router for the Edge Store buckets.
9
- * We're configuring a file bucket that allows all file types and limits size to 1GB.
10
- */
11
- const edgeStoreRouter = es.router({
12
- publicFiles: es.fileBucket({
13
- // Set file size limit to 1 GB (1 GB = 1,073,741,824 bytes)
14
- maxSize: 1_073_741_824,
15
- }),
16
- });
17
-
18
- // Create the handler for the GET and POST routes
19
- const handler = createEdgeStoreNextHandler({
20
- router: edgeStoreRouter,
21
- });
22
-
23
- export { handler as GET, handler as POST };
24
-
25
- /**
26
- * This type is used to create the type-safe client for the frontend.
27
- */
28
- export type EdgeStoreRouter = typeof edgeStoreRouter;
Binary file
@@ -1,205 +0,0 @@
1
- /* @import url('https://fonts.googleapis.com/css2?family=Monomakh&display=swap'); */
2
-
3
-
4
- @tailwind base;
5
- @tailwind components;
6
- @tailwind utilities;
7
- @import "tailwindcss";
8
- @plugin "@tailwindcss/typography";
9
-
10
- body {
11
- font-family: Arial, Helvetica, sans-serif;
12
- }
13
-
14
- input[type="number"]::-webkit-inner-spin-button,
15
- input[type="number"]::-webkit-outer-spin-button {
16
- -webkit-appearance: none;
17
- margin: 0;
18
- }
19
-
20
- .select-none {
21
- user-select: none;
22
- }
23
-
24
- #toolbar {
25
- scrollbar-width: none;
26
- /* Firefox */
27
- }
28
-
29
- #toolbar::-webkit-scrollbar {
30
- display: none;
31
- /* Chrome, Safari, Edge */
32
- }
33
-
34
- .code {
35
- scrollbar-width: none;
36
- /* Firefox */
37
- }
38
-
39
- .code::-webkit-scrollbar {
40
- display: none;
41
- /* Chrome, Safari, Edge */
42
- }
43
-
44
- @layer base {
45
- :root {
46
- --font-gray: #9B9A97;
47
- --font-brown: #64473A;
48
- --font-orange: #D9730D;
49
- --font-yellow: #DFAB01;
50
- --font-green: #0F7B6C;
51
- --font-blue: #0B6E99;
52
- --font-purple: #6940A5;
53
- --font-pink: #AD1A72;
54
- --font-red: #E03E3E;
55
-
56
-
57
- --background-gray: #EBECED;
58
- --background-brown: #E9E5E3;
59
- --background-orange: #FAEBDD;
60
- --background-yellow: #FBF3DB;
61
- --background-green: #DDEDEA;
62
- --background-blue: #DDEDEA;
63
- --background-purple: #EAE4F2;
64
- --background-pink: #F4DFEB;
65
- --background-red: #FBE4E4;
66
-
67
- --background: 0 0% 100%;
68
- --foreground: 0 0% 3.9%;
69
- --card: 0 0% 100%;
70
- --card-foreground: 0 0% 3.9%;
71
- --popover: 0 0% 100%;
72
- --popover-foreground: 0 0% 3.9%;
73
- --primary: 0 0% 9%;
74
- --primary-foreground: 0 0% 98%;
75
- --secondary: 0 0% 96.1%;
76
- --secondary-foreground: 0 0% 9%;
77
- --muted: 0 0% 96.1%;
78
- --muted-foreground: 0 0% 45.1%;
79
- --accent: 0 0% 96.1%;
80
- --accent-foreground: 0 0% 9%;
81
- --destructive: 0 84.2% 60.2%;
82
- --destructive-foreground: 0 0% 98%;
83
- --border: 0 0% 89.8%;
84
- --input: 0 0% 89.8%;
85
- --ring: 0 0% 3.9%;
86
- --chart-1: 12 76% 61%;
87
- --chart-2: 173 58% 39%;
88
- --chart-3: 197 37% 24%;
89
- --chart-4: 43 74% 66%;
90
- --chart-5: 27 87% 67%;
91
- --radius: 0.5rem;
92
- }
93
-
94
- .dark {
95
-
96
- --font-gray: #9B9A97;
97
- --font-brown: #937264;
98
- --font-orange: #FFA344;
99
- --font-yellow: #FFDC49;
100
- --font-green: #4DAB9A;
101
- --font-blue: #529CCA;
102
- --font-purple: #9A6DD7;
103
- --font-pink: #E255A1;
104
- --font-red: #FF7369;
105
-
106
-
107
- --background-gray: #454B4E;
108
- --background-brown: #434040;
109
- --background-orange: #594A3A;
110
- --background-yellow: #59563B;
111
- --background-green: #354C4B;
112
- --background-blue: #364954;
113
- --background-purple: #443F57;
114
- --background-pink: #533B4C;
115
- --background-red: #594141;
116
-
117
- --background: 0 0% 3.9%;
118
- --foreground: 0 0% 98%;
119
- --card: 0 0% 3.9%;
120
- --card-foreground: 0 0% 98%;
121
- --popover: 0 0% 3.9%;
122
- --popover-foreground: 0 0% 98%;
123
- --primary: 0 0% 98%;
124
- --primary-foreground: 0 0% 9%;
125
- --secondary: 0 0% 14.9%;
126
- --secondary-foreground: 0 0% 98%;
127
- --muted: 0 0% 14.9%;
128
- --muted-foreground: 0 0% 63.9%;
129
- --accent: 0 0% 14.9%;
130
- --accent-foreground: 0 0% 98%;
131
- --destructive: 0 62.8% 30.6%;
132
- --destructive-foreground: 0 0% 98%;
133
- --border: 0 0% 14.9%;
134
- --input: 0 0% 14.9%;
135
- --ring: 0 0% 83.1%;
136
- --chart-1: 220 70% 50%;
137
- --chart-2: 160 60% 45%;
138
- --chart-3: 30 80% 55%;
139
- --chart-4: 280 65% 60%;
140
- --chart-5: 340 75% 55%;
141
- }
142
- }
143
-
144
- .editor-shell .editor-image .image-edit-button {
145
- border: 1px solid rgba(0, 0, 0, 0.3);
146
- border-radius: 5px;
147
- background-image: url(/src/images/icons/pencil-fill.svg);
148
- background-size: 16px;
149
- background-position: center;
150
- background-repeat: no-repeat;
151
- width: 35px;
152
- height: 35px;
153
- vertical-align: -0.25em;
154
- position: absolute;
155
- right: 4px;
156
- top: 4px;
157
- cursor: pointer;
158
- user-select: none;
159
- }
160
-
161
- .editor-shell .editor-image .image-edit-button:hover {
162
- background-color: rgba(60, 132, 244, 0.1);
163
- }
164
-
165
- .editor-shell .inline-editor-image .image-edit-button {
166
- display: block;
167
- position: absolute;
168
- top: 12px;
169
- right: 12px;
170
- padding: 6px 8px;
171
- margin: 0 auto;
172
- border: 1px solid rgba(255, 255, 255, 0.3);
173
- border-radius: 5px;
174
- background-color: rgba(0, 0, 0, 0.5);
175
- min-width: 60px;
176
- color: #fff;
177
- cursor: pointer;
178
- user-select: none;
179
- }
180
-
181
- .editor-shell .inline-editor-image .image-edit-button:hover {
182
- background-color: rgba(60, 132, 244, 0.5);
183
- }
184
-
185
-
186
- /* @layer base {
187
- * {
188
- @apply border-border;
189
- }
190
- body {
191
- @apply bg-background text-foreground;
192
- }
193
- } */
194
-
195
-
196
-
197
- /* @layer base {
198
- * {
199
- @apply border border-border outline-ring/50;
200
- }
201
-
202
- body {
203
- @apply bg-background text-foreground;
204
- }
205
- } */
@@ -1,38 +0,0 @@
1
- import type { Metadata } from "next";
2
- import "./globals.css";
3
- import { ThemeProvider } from "@/components/providers/theme-provider";
4
- import { EdgeStoreProvider } from "@/lib/edgestore";
5
- import QueryProvider from "@/components/providers/QueryProvider";
6
- import { Toaster } from "sonner";
7
- export const metadata: Metadata = {
8
- title: "Create Next App",
9
- description: "Generated by create next app",
10
- };
11
-
12
- export default function RootLayout({
13
- children,
14
- }: {
15
- children: React.ReactNode;
16
- }) {
17
- return (
18
- <html lang="en" suppressHydrationWarning>
19
- <EdgeStoreProvider>
20
- <body className="antialiased">
21
- <QueryProvider>
22
- <ThemeProvider
23
- attribute="class"
24
- defaultTheme="system"
25
- enableSystem
26
- disableTransitionOnChange
27
- >
28
- <main className="mt-10">
29
- {children}
30
- </main>
31
- <Toaster />
32
- </ThemeProvider>
33
- </QueryProvider>
34
- </body>
35
- </EdgeStoreProvider>
36
- </html>
37
- );
38
- }