SYMBOL INDEX (84 symbols across 35 files) FILE: apps/web/app/api/generate/route.ts function POST (line 10) | async function POST(req: Request): Promise { FILE: apps/web/app/api/upload/route.ts function POST (line 6) | async function POST(req: Request) { FILE: apps/web/app/layout.tsx function RootLayout (line 33) | function RootLayout({ children }: { children: ReactNode }) { FILE: apps/web/app/page.tsx function Page (line 9) | function Page() { FILE: apps/web/app/providers.tsx function Providers (line 24) | function Providers({ children }: { children: ReactNode }) { FILE: apps/web/components/tailwind/extensions.ts method addProseMirrorPlugins (line 42) | addProseMirrorPlugins() { FILE: apps/web/components/tailwind/generative/ai-selector-commands.tsx type AISelectorCommandsProps (line 28) | interface AISelectorCommandsProps { FILE: apps/web/components/tailwind/generative/ai-selector.tsx type AISelectorProps (line 20) | interface AISelectorProps { function AISelector (line 25) | function AISelector({ onOpenChange }: AISelectorProps) { FILE: apps/web/components/tailwind/generative/generative-menu-switch.tsx type GenerativeMenuSwitchProps (line 7) | interface GenerativeMenuSwitchProps { FILE: apps/web/components/tailwind/selectors/color-selector.tsx type BubbleColorMenuItem (line 6) | interface BubbleColorMenuItem { constant TEXT_COLORS (line 11) | const TEXT_COLORS: BubbleColorMenuItem[] = [ constant HIGHLIGHT_COLORS (line 50) | const HIGHLIGHT_COLORS: BubbleColorMenuItem[] = [ type ColorSelectorProps (line 89) | interface ColorSelectorProps { FILE: apps/web/components/tailwind/selectors/link-selector.tsx function isValidUrl (line 9) | function isValidUrl(url: string) { function getUrlFromString (line 17) | function getUrlFromString(str: string) { type LinkSelectorProps (line 27) | interface LinkSelectorProps { FILE: apps/web/components/tailwind/selectors/node-selector.tsx type SelectorItem (line 20) | type SelectorItem = { type NodeSelectorProps (line 85) | interface NodeSelectorProps { FILE: apps/web/components/tailwind/ui/button.tsx type ButtonProps (line 33) | interface ButtonProps FILE: apps/web/components/tailwind/ui/command.tsx type CommandDialogProps (line 26) | interface CommandDialogProps extends DialogProps {} FILE: apps/web/components/tailwind/ui/icons/font-default.tsx function FontDefault (line 1) | function FontDefault({ className }: { className?: string }) { FILE: apps/web/components/tailwind/ui/icons/font-mono.tsx function FontMono (line 1) | function FontMono({ className }: { className?: string }) { FILE: apps/web/components/tailwind/ui/icons/font-serif.tsx function FontSerif (line 1) | function FontSerif({ className }: { className?: string }) { FILE: apps/web/components/tailwind/ui/icons/loading-circle.tsx function LoadingCircle (line 1) | function LoadingCircle({ dimensions }: { dimensions?: string }) { FILE: apps/web/components/tailwind/ui/icons/magic.tsx function Magic (line 1) | function Magic({ className }: { className: string }) { FILE: apps/web/components/tailwind/ui/menu.tsx function Menu (line 37) | function Menu() { FILE: apps/web/lib/utils.ts function cn (line 4) | function cn(...inputs: ClassValue[]) { FILE: packages/headless/src/components/editor-bubble-item.tsx type EditorBubbleItemProps (line 7) | interface EditorBubbleItemProps { FILE: packages/headless/src/components/editor-bubble.tsx type EditorBubbleProps (line 7) | interface EditorBubbleProps extends Omit { FILE: packages/headless/src/components/editor-command-item.tsx type EditorCommandItemProps (line 9) | interface EditorCommandItemProps { FILE: packages/headless/src/components/editor-command.tsx type EditorCommandOutProps (line 12) | interface EditorCommandOutProps { FILE: packages/headless/src/components/editor.tsx type EditorProps (line 10) | interface EditorProps { type EditorRootProps (line 15) | interface EditorRootProps { type EditorContentProps (line 29) | type EditorContentProps = Omit & { FILE: packages/headless/src/extensions/ai-highlight.ts type AIHighlightOptions (line 3) | interface AIHighlightOptions { type Commands (line 8) | interface Commands { method addOptions (line 32) | addOptions() { method addAttributes (line 38) | addAttributes() { method parseHTML (line 57) | parseHTML() { method renderHTML (line 65) | renderHTML({ HTMLAttributes }) { method addCommands (line 69) | addCommands() { method addKeyboardShortcuts (line 89) | addKeyboardShortcuts() { method addInputRules (line 95) | addInputRules() { method addPasteRules (line 104) | addPasteRules() { FILE: packages/headless/src/extensions/custom-keymap.ts type Commands (line 5) | interface Commands { method addCommands (line 18) | addCommands() { method addKeyboardShortcuts (line 35) | addKeyboardShortcuts() { FILE: packages/headless/src/extensions/index.ts method addInputRules (line 45) | addInputRules() { FILE: packages/headless/src/extensions/mathematics.ts type MathematicsOptions (line 5) | interface MathematicsOptions { type Commands (line 23) | interface Commands { method addAttributes (line 55) | addAttributes() { method addOptions (line 61) | addOptions() { method addCommands (line 79) | addCommands() { method parseHTML (line 130) | parseHTML() { method renderHTML (line 134) | renderHTML({ node, HTMLAttributes }) { method renderText (line 145) | renderText({ node }) { method addNodeView (line 149) | addNodeView() { FILE: packages/headless/src/extensions/slash-command.tsx method addOptions (line 12) | addOptions() { method addProseMirrorPlugins (line 22) | addProseMirrorPlugins() { type SuggestionItem (line 88) | interface SuggestionItem { FILE: packages/headless/src/extensions/twitter.tsx constant TWITTER_REGEX_GLOBAL (line 4) | const TWITTER_REGEX_GLOBAL = /(https?:\/\/)?(www\.)?x\.com\/([a-zA-Z0-9_... constant TWITTER_REGEX (line 5) | const TWITTER_REGEX = /^https?:\/\/(www\.)?x\.com\/([a-zA-Z0-9_]{1,15})(... type TwitterOptions (line 28) | interface TwitterOptions { type SetTweetOptions (line 57) | type SetTweetOptions = { src: string }; type Commands (line 60) | interface Commands { method addOptions (line 78) | addOptions() { method addNodeView (line 87) | addNodeView() { method inline (line 91) | inline() { method group (line 95) | group() { method addAttributes (line 101) | addAttributes() { method parseHTML (line 109) | parseHTML() { method addCommands (line 117) | addCommands() { method addPasteRules (line 134) | addPasteRules() { method renderHTML (line 150) | renderHTML({ HTMLAttributes }) { FILE: packages/headless/src/extensions/updated-image.ts method addAttributes (line 5) | addAttributes() { FILE: packages/headless/src/plugins/upload-images.tsx method init (line 10) | init() { method apply (line 13) | apply(tr, set) { method decorations (line 39) | decorations(state) { function findPlaceholder (line 46) | function findPlaceholder(state: EditorState, id: {}) { type ImageUploadOptions (line 53) | interface ImageUploadOptions { type UploadFn (line 114) | type UploadFn = (file: File, view: EditorView, pos: number) => void; FILE: packages/headless/src/utils/index.ts function isValidUrl (line 4) | function isValidUrl(url: string) { function getUrlFromString (line 13) | function getUrlFromString(str: string) {