@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.
- package/LICENSE +21 -0
- package/README.md +230 -39
- package/dist/CodeActionMenuPlugin-EINOY4U4.mjs +15 -0
- package/dist/DynamicBlockComponent-NRQJ4WW4.mjs +161 -0
- package/dist/EquationComponent-CB6DFIHV.mjs +154 -0
- package/dist/ExcalidrawComponent-XW6646OH.mjs +528 -0
- package/dist/ExcalidrawPlugin-ZFHT62IF.mjs +14 -0
- package/dist/ExportPlugin-V2RLM63S.mjs +11 -0
- package/dist/FloatingLinkEditorPlugin-TRTCMSP4.mjs +12 -0
- package/dist/FloatingTextFormatToolbarPlugin-F2GY6LMI.mjs +30 -0
- package/dist/HintComponet-BRL6EAMS.mjs +217 -0
- package/dist/InlineImageComponent-UWIUWBHI.mjs +453 -0
- package/dist/MobileToolbar-BOOZAMQE.mjs +268 -0
- package/dist/SlashCommand-GMT5JI33.mjs +28 -0
- package/dist/StoryBuilderComponent-JGDBM5JU.mjs +562 -0
- package/{src/components/editor/plugins/TableCellActionMenuPlugin/index.tsx → dist/TableCellActionMenuPlugin-PGK2K3VG.mjs} +667 -759
- package/{src/components/editor/plugins/TableHoverActionsPlugin/index.tsx → dist/TableHoverActionsPlugin-GJVE6VRW.mjs} +258 -314
- package/dist/TemplatePlugin-ZD3QEVTI.mjs +9 -0
- package/dist/ToolbarPlugin-7TOZRD2R.mjs +1547 -0
- package/dist/babel-JZ2EV6AX.mjs +7233 -0
- package/dist/background-color-XZTYLGO2.mjs +362 -0
- package/dist/block-format-YJCV2DIY.mjs +15 -0
- package/dist/chunk-2FNEAMSP.mjs +127 -0
- package/dist/chunk-3CPBODXA.mjs +84 -0
- package/dist/chunk-3G37YKTV.mjs +83 -0
- package/dist/chunk-3JVFG7ER.mjs +184 -0
- package/dist/chunk-456TN7IM.mjs +110 -0
- package/dist/chunk-4EXYCTGJ.mjs +27 -0
- package/{src/utils/getSelectedNode.ts → dist/chunk-4HBCVSE6.mjs} +26 -27
- package/dist/chunk-4MEDW3T6.mjs +125 -0
- package/dist/chunk-4VWFVWYP.mjs +36 -0
- package/dist/chunk-5BAKY5KN.mjs +84 -0
- package/dist/chunk-5QSNIVIG.mjs +333 -0
- package/dist/chunk-64Z3FI7T.mjs +37 -0
- package/{src/components/editor/nodes/Stepper/index.tsx → dist/chunk-6RNZQOH2.mjs} +214 -260
- package/dist/chunk-77KXU36M.mjs +64 -0
- package/dist/chunk-77UA6HYR.mjs +165 -0
- package/dist/chunk-7NZAPJ4G.mjs +102 -0
- package/dist/chunk-7VUMHWWL.mjs +152 -0
- package/dist/chunk-AMMKBSST.mjs +1256 -0
- package/dist/chunk-BIU7WTLX.mjs +95 -0
- package/dist/chunk-EGMI62PP.mjs +83 -0
- package/dist/chunk-EHNQD5KO.mjs +88 -0
- package/dist/chunk-FSM26655.mjs +37 -0
- package/{src/components/editor/nodes/Hint/index.tsx → dist/chunk-G53GLEAY.mjs} +158 -190
- package/dist/chunk-GK35L7UY.mjs +28 -0
- package/dist/chunk-GXYD4VZM.mjs +193 -0
- package/dist/chunk-GYIOYVCN.mjs +538 -0
- package/dist/chunk-GZPNVR7L.mjs +157 -0
- package/dist/chunk-JXDPPUJI.mjs +52 -0
- package/dist/chunk-K36V4SIW.mjs +141 -0
- package/dist/chunk-KJ6AJ44Q.mjs +128 -0
- package/dist/chunk-KJV3FAZ7.mjs +142 -0
- package/{src/components/editor/plugins/ImagesPlugin/index.tsx → dist/chunk-LGG4IUIA.mjs} +189 -222
- package/dist/chunk-LQN3CMKV.mjs +1906 -0
- package/dist/chunk-N3WN46VL.mjs +236 -0
- package/dist/chunk-PBD6LMLC.mjs +366 -0
- package/dist/chunk-POGRR73N.mjs +33 -0
- package/{src/components/editor/utils/editorFormatting.ts → dist/chunk-PZSUSXQG.mjs} +238 -282
- package/dist/chunk-QEIFVK5M.mjs +29 -0
- package/dist/chunk-QHIQKMVN.mjs +427 -0
- package/dist/chunk-TCYK7DM7.mjs +36 -0
- package/dist/chunk-TTHQCW5F.mjs +47 -0
- package/dist/chunk-U47ABU5Z.mjs +53 -0
- package/dist/chunk-WDG7J2DY.mjs +116 -0
- package/dist/chunk-WJRHXI2C.mjs +733 -0
- package/dist/chunk-XLER2DHM.mjs +357 -0
- package/dist/chunk-XWC4TK2N.mjs +315 -0
- package/dist/chunk-YHPNOWFH.mjs +15 -0
- package/dist/chunk-YKC3SO4Z.mjs +32 -0
- package/dist/chunk-YMBXLRW5.mjs +374 -0
- package/dist/chunk-YPHOEJ46.mjs +64 -0
- package/dist/chunk-YUDCJRJM.mjs +25 -0
- package/dist/chunk-Z4EWP7BI.mjs +65 -0
- package/dist/chunk-ZB5LZQKC.mjs +191 -0
- package/dist/chunk-ZJRKATOJ.mjs +65 -0
- package/dist/color-BPKOPQKN.mjs +12 -0
- package/dist/estree-XC56IUFX.mjs +4414 -0
- package/dist/font-FEZ3GKSF.mjs +13 -0
- package/dist/font-size-EK775WRH.mjs +15 -0
- package/dist/html-S3ACX7NI.mjs +2738 -0
- package/dist/image-2PJIAYAT.mjs +993 -0
- package/dist/index.d.mts +145 -0
- package/dist/index.d.ts +145 -0
- package/dist/index.js +57855 -0
- package/dist/index.mjs +1790 -0
- package/dist/insert-gif-SAIDYURE.mjs +100 -0
- package/dist/insert-image-U3RJN3OW.mjs +259 -0
- package/dist/insert-node-5P2CRJ7S.mjs +201 -0
- package/dist/insert-poll-HCPM7MO6.mjs +33 -0
- package/dist/insert-table-24XYUS2W.mjs +66 -0
- package/dist/markdown-SNVBOSRA.mjs +3487 -0
- package/dist/poll-component-2R4MDLHS.mjs +303 -0
- package/dist/postcss-ONF3VDIM.mjs +5051 -0
- package/dist/standalone-EOIALU3M.mjs +2373 -0
- package/dist/stepper-FSARL6X6.mjs +304 -0
- package/dist/styles/notiq.css +1149 -0
- package/dist/text-align-VLECWO4H.mjs +118 -0
- package/dist/text-format-BG5WOOPZ.mjs +16 -0
- package/dist/typescript-AMPI6OVS.mjs +13135 -0
- package/package.json +66 -11
- package/src/styles/notiq.css +1149 -0
- package/src/styles/tailwind-plugin.ts +134 -0
- package/components.json +0 -21
- package/eslint.config.mjs +0 -16
- package/next.config.ts +0 -12
- package/postcss.config.mjs +0 -5
- package/public/file.svg +0 -1
- package/public/globe.svg +0 -1
- package/public/images/icons/plus.svg +0 -10
- package/public/next.svg +0 -1
- package/public/vercel.svg +0 -1
- package/public/window.svg +0 -1
- package/src/app/actions.ts +0 -2
- package/src/app/api/ai/route.ts +0 -175
- package/src/app/api/edgestore/[...edgestore]/route.ts +0 -28
- package/src/app/favicon.ico +0 -0
- package/src/app/globals.css +0 -205
- package/src/app/layout.tsx +0 -38
- package/src/app/page.tsx +0 -12
- package/src/components/editor/Core.tsx +0 -220
- package/src/components/editor/hooks/instructions-messages.ts +0 -300
- package/src/components/editor/hooks/use-mobile.ts +0 -19
- package/src/components/editor/hooks/useReport.ts +0 -67
- package/src/components/editor/hooks/useResizeObservert.ts +0 -22
- package/src/components/editor/index.tsx +0 -39
- package/src/components/editor/lexical-on-change.tsx +0 -28
- package/src/components/editor/nodes/CollapsibleNode/CollapsibleContainerNode.ts +0 -92
- package/src/components/editor/nodes/CollapsibleNode/CollapsibleContentNode.ts +0 -65
- package/src/components/editor/nodes/CollapsibleNode/CollapsibleTitleNode.ts +0 -105
- package/src/components/editor/nodes/EquationNode/EquationComponent.tsx +0 -143
- package/src/components/editor/nodes/EquationNode/EquationNode.tsx +0 -170
- package/src/components/editor/nodes/ExcalidrawNode/ExcalidrawComponent.tsx +0 -228
- package/src/components/editor/nodes/ExcalidrawNode/ExcalidrawImage.tsx +0 -137
- package/src/components/editor/nodes/ExcalidrawNode/ImageResizer.tsx +0 -317
- package/src/components/editor/nodes/ExcalidrawNode/index.tsx +0 -204
- package/src/components/editor/nodes/FigmaNode/FigmaNode.tsx +0 -134
- package/src/components/editor/nodes/Hint/HintComponet.tsx +0 -221
- package/src/components/editor/nodes/ImageNode/index.tsx +0 -328
- package/src/components/editor/nodes/InlineImageNode/InlineImageComponent.tsx +0 -383
- package/src/components/editor/nodes/InlineImageNode/InlineImageNode.css +0 -94
- package/src/components/editor/nodes/InlineImageNode/InlineImageNode.tsx +0 -309
- package/src/components/editor/nodes/LayoutNode/LayoutContainerNode.ts +0 -146
- package/src/components/editor/nodes/LayoutNode/LayoutItemNode.ts +0 -79
- package/src/components/editor/nodes/PollNode/index.tsx +0 -204
- package/src/components/editor/nodes/TweetNode/index.tsx +0 -214
- package/src/components/editor/nodes/index.ts +0 -81
- package/src/components/editor/plugins/AutoEmbedPlugin/index.tsx +0 -350
- package/src/components/editor/plugins/AutoLinkPlugin/index.tsx +0 -56
- package/src/components/editor/plugins/CodeActionMenuPlugin/components/CopyButton.tsx +0 -70
- package/src/components/editor/plugins/CodeActionMenuPlugin/components/PrettierButton.tsx +0 -192
- package/src/components/editor/plugins/CodeActionMenuPlugin/index.tsx +0 -217
- package/src/components/editor/plugins/CodeActionMenuPlugin/utils.ts +0 -26
- package/src/components/editor/plugins/CodeHighlightPlugin/index.ts +0 -21
- package/src/components/editor/plugins/CollapsiblePlugin/Collapsible.css +0 -76
- package/src/components/editor/plugins/CollapsiblePlugin/index.ts +0 -228
- package/src/components/editor/plugins/DragDropPastePlugin/index.tsx +0 -44
- package/src/components/editor/plugins/DraggableBlockPlugin/index.tsx +0 -52
- package/src/components/editor/plugins/EquationsPlugin/index.tsx +0 -85
- package/src/components/editor/plugins/ExcalidrawPlugin/index.tsx +0 -98
- package/src/components/editor/plugins/FigmaPlugin/index.tsx +0 -42
- package/src/components/editor/plugins/FloatingLinkEditorPlugin/index.tsx +0 -445
- package/src/components/editor/plugins/FloatingTextFormatToolbarPlugin/index.tsx +0 -275
- package/src/components/editor/plugins/InlineImagePlugin/index.tsx +0 -351
- package/src/components/editor/plugins/LayoutPlugin/index.tsx +0 -238
- package/src/components/editor/plugins/LinkPlugin/index.tsx +0 -36
- package/src/components/editor/plugins/LinkWithMetaData/index.tsx +0 -271
- package/src/components/editor/plugins/MarkdownShortcutPlugin/index.tsx +0 -11
- package/src/components/editor/plugins/MarkdownTransformers/index.tsx +0 -304
- package/src/components/editor/plugins/PollPlugin/index.tsx +0 -49
- package/src/components/editor/plugins/ShortcutsPlugin/index.tsx +0 -180
- package/src/components/editor/plugins/ShortcutsPlugin/shortcuts.ts +0 -253
- package/src/components/editor/plugins/SlashCommand/index.tsx +0 -621
- package/src/components/editor/plugins/SpeechToTextPlugin/index.ts +0 -127
- package/src/components/editor/plugins/TabFocusPlugin/index.ts +0 -58
- package/src/components/editor/plugins/TableCellResizer/index.tsx +0 -438
- package/src/components/editor/plugins/TablePlugin/index.tsx +0 -99
- package/src/components/editor/plugins/ToolbarPlugin/index.tsx +0 -522
- package/src/components/editor/plugins/TwitterPlugin/index.ts +0 -35
- package/src/components/editor/plugins/YouTubeNode/index.tsx +0 -179
- package/src/components/editor/plugins/YouTubePlugin/index.ts +0 -41
- package/src/components/editor/themes/editor-theme.ts +0 -113
- package/src/components/editor/themes/theme.css +0 -377
- package/src/components/editor/utils/ai.ts +0 -291
- package/src/components/editor/utils/canUseDOM.ts +0 -12
- package/src/components/editor/utils/environment.ts +0 -50
- package/src/components/editor/utils/extract-data.ts +0 -166
- package/src/components/editor/utils/getAllLexicalChildren.ts +0 -13
- package/src/components/editor/utils/getDOMRangeRect.ts +0 -27
- package/src/components/editor/utils/getSelectedNode.ts +0 -27
- package/src/components/editor/utils/gif.ts +0 -29
- package/src/components/editor/utils/invariant.ts +0 -15
- package/src/components/editor/utils/setFloatingElemPosition.ts +0 -51
- package/src/components/editor/utils/setFloatingElemPositionForLinkEditor.ts +0 -40
- package/src/components/editor/utils/setNodePlaceholderFromSelection/getNodePlaceholder.ts +0 -51
- package/src/components/editor/utils/setNodePlaceholderFromSelection/setNodePlaceholderFromSelection.ts +0 -15
- package/src/components/editor/utils/setNodePlaceholderFromSelection/setPlaceholderOnSelection.ts +0 -114
- package/src/components/editor/utils/setNodePlaceholderFromSelection/styles.css +0 -6
- package/src/components/editor/utils/url.ts +0 -109
- package/src/components/editor/utils/useLayoutEffect.ts +0 -13
- package/src/components/providers/QueryProvider.tsx +0 -15
- package/src/components/providers/SharedHistoryContext.tsx +0 -28
- package/src/components/providers/ToolbarContext.tsx +0 -123
- package/src/components/providers/theme-provider.tsx +0 -11
- package/src/components/theme/ModeToggle.tsx +0 -40
- package/src/components/ui/FileInput.tsx +0 -40
- package/src/components/ui/Input.css +0 -32
- package/src/components/ui/Select.css +0 -42
- package/src/components/ui/Select.tsx +0 -36
- package/src/components/ui/TextInput.tsx +0 -48
- package/src/components/ui/ai/ai-button.tsx +0 -574
- package/src/components/ui/ai/border.tsx +0 -99
- package/src/components/ui/ai/placeholder-input-vanish.tsx +0 -282
- package/src/components/ui/button.tsx +0 -89
- package/src/components/ui/card.tsx +0 -76
- package/src/components/ui/checkbox.tsx +0 -30
- package/src/components/ui/command.tsx +0 -153
- package/src/components/ui/dialog/Dialog.css +0 -25
- package/src/components/ui/dialog/Dialog.tsx +0 -34
- package/src/components/ui/dialog.tsx +0 -122
- package/src/components/ui/drop-downs/background-color.tsx +0 -183
- package/src/components/ui/drop-downs/block-format.tsx +0 -159
- package/src/components/ui/drop-downs/code.tsx +0 -42
- package/src/components/ui/drop-downs/color.tsx +0 -177
- package/src/components/ui/drop-downs/font-size.tsx +0 -138
- package/src/components/ui/drop-downs/font.tsx +0 -155
- package/src/components/ui/drop-downs/index.tsx +0 -122
- package/src/components/ui/drop-downs/insert-node.tsx +0 -213
- package/src/components/ui/drop-downs/text-align.tsx +0 -123
- package/src/components/ui/drop-downs/text-format.tsx +0 -104
- package/src/components/ui/dropdown-menu.tsx +0 -201
- package/src/components/ui/equation/EquationEditor.css +0 -38
- package/src/components/ui/equation/EquationEditor.tsx +0 -56
- package/src/components/ui/equation/KatexEquationAlterer.css +0 -41
- package/src/components/ui/equation/KatexEquationAlterer.tsx +0 -83
- package/src/components/ui/equation/KatexRenderer.tsx +0 -66
- package/src/components/ui/excalidraw/ExcalidrawModal.css +0 -64
- package/src/components/ui/excalidraw/ExcalidrawModal.tsx +0 -234
- package/src/components/ui/excalidraw/Modal.css +0 -62
- package/src/components/ui/excalidraw/Modal.tsx +0 -110
- package/src/components/ui/hover-card.tsx +0 -29
- package/src/components/ui/image/error-image.tsx +0 -17
- package/src/components/ui/image/file-upload.tsx +0 -240
- package/src/components/ui/image/image-resizer.tsx +0 -297
- package/src/components/ui/image/image-toolbar.tsx +0 -264
- package/src/components/ui/image/index.tsx +0 -408
- package/src/components/ui/image/lazy-image.tsx +0 -68
- package/src/components/ui/image/lazy-video.tsx +0 -71
- package/src/components/ui/input.tsx +0 -22
- package/src/components/ui/models/custom-dialog.tsx +0 -320
- package/src/components/ui/models/insert-gif.tsx +0 -90
- package/src/components/ui/models/insert-image.tsx +0 -52
- package/src/components/ui/models/insert-poll.tsx +0 -29
- package/src/components/ui/models/insert-table.tsx +0 -62
- package/src/components/ui/models/use-model.tsx +0 -91
- package/src/components/ui/poll/poll-component.tsx +0 -304
- package/src/components/ui/popover.tsx +0 -33
- package/src/components/ui/progress.tsx +0 -28
- package/src/components/ui/scroll-area.tsx +0 -48
- package/src/components/ui/separator.tsx +0 -31
- package/src/components/ui/skeleton.tsx +0 -15
- package/src/components/ui/sonner.tsx +0 -31
- package/src/components/ui/stepper/step.tsx +0 -179
- package/src/components/ui/stepper/stepper.tsx +0 -89
- package/src/components/ui/textarea.tsx +0 -22
- package/src/components/ui/toggle.tsx +0 -71
- package/src/components/ui/tooltip.tsx +0 -32
- package/src/components/ui/write/text-format-floting-toolbar.tsx +0 -346
- package/src/lib/edgestore.ts +0 -9
- package/src/lib/pinecone-client.ts +0 -0
- package/src/lib/utils.ts +0 -6
- package/src/utils/docSerialization.ts +0 -77
- package/src/utils/emoji-list.ts +0 -16615
- package/src/utils/getDOMRangeRect.ts +0 -27
- package/src/utils/getThemeSelector.ts +0 -25
- package/src/utils/isMobileWidth.ts +0 -7
- package/src/utils/joinClasses.ts +0 -13
- package/src/utils/setFloatingElemPosition.ts +0 -74
- package/src/utils/setFloatingElemPositionForLinkEditor.ts +0 -46
- package/src/utils/swipe.ts +0 -127
- package/src/utils/url.ts +0 -38
- 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
package/postcss.config.mjs
DELETED
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>
|
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>
|
package/src/app/actions.ts
DELETED
package/src/app/api/ai/route.ts
DELETED
|
@@ -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;
|
package/src/app/favicon.ico
DELETED
|
Binary file
|
package/src/app/globals.css
DELETED
|
@@ -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
|
-
} */
|
package/src/app/layout.tsx
DELETED
|
@@ -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
|
-
}
|