@lyfie/luthor 2.1.0 → 2.3.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 (35) hide show
  1. package/README.md +228 -463
  2. package/dist/ExtensiveEditor-Cn84lsVT.d.ts +448 -0
  3. package/dist/index-BtdZVw3X.d.ts +17 -0
  4. package/dist/index-DFnca6tP.d.ts +30 -0
  5. package/dist/index.css +1 -1
  6. package/dist/index.d.ts +206 -52
  7. package/dist/index.js +3 -1
  8. package/dist/presets/chat-window/index.css +1 -0
  9. package/dist/presets/chat-window/index.d.ts +22 -0
  10. package/dist/presets/chat-window/index.js +3 -0
  11. package/dist/presets/email-compose/index.css +1 -0
  12. package/dist/presets/email-compose/index.d.ts +17 -0
  13. package/dist/presets/email-compose/index.js +3 -0
  14. package/dist/presets/extensive/index.css +1 -0
  15. package/dist/presets/extensive/index.d.ts +5 -0
  16. package/dist/presets/extensive/index.js +3 -0
  17. package/dist/presets/headless-editor/index.css +1 -0
  18. package/dist/presets/headless-editor/index.d.ts +13 -0
  19. package/dist/presets/headless-editor/index.js +1 -0
  20. package/dist/presets/md-text/index.css +1 -0
  21. package/dist/presets/md-text/index.d.ts +15 -0
  22. package/dist/presets/md-text/index.js +3 -0
  23. package/dist/presets/notes/index.css +1 -0
  24. package/dist/presets/notes/index.d.ts +21 -0
  25. package/dist/presets/notes/index.js +3 -0
  26. package/dist/presets/notion-like/index.css +1 -0
  27. package/dist/presets/notion-like/index.d.ts +17 -0
  28. package/dist/presets/notion-like/index.js +3 -0
  29. package/dist/presets/rich-text-box/index.css +1 -0
  30. package/dist/presets/rich-text-box/index.d.ts +17 -0
  31. package/dist/presets/rich-text-box/index.js +3 -0
  32. package/dist/presets/simple-text/index.css +1 -0
  33. package/dist/presets/simple-text/index.d.ts +15 -0
  34. package/dist/presets/simple-text/index.js +3 -0
  35. package/package.json +76 -18
package/dist/index.d.ts CHANGED
@@ -1,56 +1,210 @@
1
- import * as _lyfie_luthor_headless from '@lyfie/luthor-headless';
2
- import { LinkExtension, TableExtension, ImageExtension, MarkdownExtension, HTMLEmbedExtension, FloatingToolbarExtension, ContextMenuExtension, CommandPaletteExtension, DraggableBlockExtension, Extension, EditorConfig, LuthorTheme } from '@lyfie/luthor-headless';
3
- import React from 'react';
4
-
5
- declare const blogPreset: EditorPreset;
6
-
7
- declare const chatPreset: EditorPreset;
8
-
9
- declare const classicPreset: EditorPreset;
10
-
11
- declare const cmsPreset: EditorPreset;
12
-
13
- declare const codePreset: EditorPreset;
14
-
15
- declare const defaultPreset: EditorPreset;
16
-
17
- declare const docsPreset: EditorPreset;
18
-
19
- declare const emailPreset: EditorPreset;
20
-
21
- declare const extensivePreset: EditorPreset;
22
-
23
- declare const extensiveExtensions: readonly [_lyfie_luthor_headless.BoldExtension, _lyfie_luthor_headless.ItalicExtension, _lyfie_luthor_headless.UnderlineExtension, _lyfie_luthor_headless.StrikethroughExtension, LinkExtension, _lyfie_luthor_headless.HorizontalRuleExtension, TableExtension, _lyfie_luthor_headless.ListExtension, _lyfie_luthor_headless.HistoryExtension, ImageExtension, _lyfie_luthor_headless.BlockFormatExtension, _lyfie_luthor_headless.HTMLExtension, MarkdownExtension, _lyfie_luthor_headless.CodeExtension, _lyfie_luthor_headless.CodeFormatExtension, HTMLEmbedExtension, FloatingToolbarExtension<any, any>, ContextMenuExtension, CommandPaletteExtension, DraggableBlockExtension];
1
+ export { E as EditorPreset, p as presetRegistry } from './index-BtdZVw3X.js';
2
+ import { C as CoreEditorCommands, a as CoreEditorActiveStates, b as CoreTheme, c as CoreEditorMode, d as CoreToolbarClassNames, T as ToolbarStyleVars, e as ToolbarLayout, f as ToolbarVisibility, B as BlockHeadingLevel, g as ToolbarItemType, D as DefaultSettings } from './ExtensiveEditor-Cn84lsVT.js';
3
+ export { h as BLOCK_HEADING_LEVELS, i as BlockFormat, j as CommandConfig, k as CommandGenerationOptions, l as DEFAULT_TOOLBAR_LAYOUT, E as EditorThemeOverrides, m as ExtensiveEditor, n as ExtensiveEditorMode, o as ExtensiveEditorProps, p as ExtensiveEditorRef, q as ExtensiveExtensionsConfig, F as FeatureFlag, r as FeatureFlagOverrides, s as FeatureFlags, I as ImageAlignment, t as InsertImageConfig, u as InsertTableConfig, K as KeyboardShortcut, Q as QuoteStyleVars, S as ShortcutBindingOverride, v as ShortcutConfig, w as SlashCommandVisibility, x as SlashCommandVisibilityFilters, y as SlashCommandVisibilitySelection, z as TRADITIONAL_TOOLBAR_LAYOUT, A as TextAlignment, G as ToolbarAlignment, H as ToolbarPosition, J as ToolbarSection, L as commandsToCommandPaletteItems, M as commandsToSlashCommandItems, N as createExtensiveExtensions, O as extensiveExtensions, P as generateCommands, R as registerKeyboardShortcuts } from './ExtensiveEditor-Cn84lsVT.js';
4
+ import { CommandPaletteItem, EmojiCatalogItem, SlashCommandItem, FloatingToolbarExtension, LexicalEditor, EditorConfig } from '@lyfie/luthor-headless';
5
+ import * as luthorHeadless from '@lyfie/luthor-headless';
6
+ export { luthorHeadless as headless };
7
+ export { CodeIntelligenceCommands, CodeIntelligenceConfig, CodeIntelligenceExtension, codeIntelligenceExtension } from '@lyfie/luthor-headless';
8
+ import * as react_jsx_runtime from 'react/jsx-runtime';
9
+ import * as react from 'react';
10
+ import { ReactNode } from 'react';
11
+ import * as lucide_react from 'lucide-react';
12
+ export { ChatWindowEditor, ChatWindowEditorProps, ChatWindowEditorSendPayload, chatWindowPreset } from './presets/chat-window/index.js';
13
+ export { EmailComposeEditor, EmailComposeEditorProps, emailComposePreset } from './presets/email-compose/index.js';
14
+ import { S as StyleVarRecord, a as StyleVarValueRecord, F as FeatureFlagsLike, b as FeatureShortcutSpec, T as ToolbarFeatureMap, P as PresetModeCache } from './index-DFnca6tP.js';
15
+ export { E as ExtensivePresetConfig, c as createExtensivePreset, e as extensivePreset } from './index-DFnca6tP.js';
16
+ export { HeadlessEditorPreset, HeadlessEditorPresetProps, headlessEditorPreset } from './presets/headless-editor/index.js';
17
+ export { MDTextEditor, MDTextEditorMode, MDTextEditorProps, mdTextPreset } from './presets/md-text/index.js';
18
+ export { NotesEditor, NotesEditorProps, notesPreset } from './presets/notes/index.js';
19
+ export { NotionLikeEditor, NotionLikeEditorProps, notionLikePreset } from './presets/notion-like/index.js';
20
+ export { RichTextBoxEditor, RichTextBoxEditorProps, richTextBoxPreset } from './presets/rich-text-box/index.js';
21
+ export { SimpleTextEditor, SimpleTextEditorProps, simpleTextPreset } from './presets/simple-text/index.js';
22
+
23
+ declare function CommandPalette({ isOpen, onClose, commands, }: {
24
+ isOpen: boolean;
25
+ onClose: () => void;
26
+ commands: CommandPaletteItem[];
27
+ }): react_jsx_runtime.JSX.Element | null;
28
+
29
+ declare function EmojiSuggestionMenu({ isOpen, query, position, suggestions, onClose, onExecute, }: {
30
+ isOpen: boolean;
31
+ query: string;
32
+ position: {
33
+ x: number;
34
+ y: number;
35
+ } | null;
36
+ suggestions: EmojiCatalogItem[];
37
+ onClose: () => void;
38
+ onExecute: (emoji: string) => void;
39
+ }): react_jsx_runtime.JSX.Element | null;
40
+
41
+ declare function SlashCommandMenu({ isOpen, query, position, commands, onClose, onExecute, }: {
42
+ isOpen: boolean;
43
+ query: string;
44
+ position: {
45
+ x: number;
46
+ y: number;
47
+ } | null;
48
+ commands: SlashCommandItem[];
49
+ onClose: () => void;
50
+ onExecute: (commandId: string) => void;
51
+ }): react_jsx_runtime.JSX.Element | null;
52
+
53
+ declare function setFloatingToolbarContext(commands: CoreEditorCommands, activeStates: CoreEditorActiveStates, editorTheme: CoreTheme, isFeatureEnabled?: (feature: string) => boolean): void;
54
+ declare function createFloatingToolbarExtension(): FloatingToolbarExtension<any, any>;
55
+
56
+ type FloatingSelectionRect = {
57
+ y: number;
58
+ x: number;
59
+ positionFromRight?: boolean;
60
+ };
61
+ interface FloatingToolbarProps {
62
+ isVisible: boolean;
63
+ selectionRect?: FloatingSelectionRect;
64
+ commands: CoreEditorCommands;
65
+ activeStates: CoreEditorActiveStates;
66
+ editorTheme?: CoreTheme;
67
+ hide?: () => void;
68
+ isFeatureEnabled?: (feature: string) => boolean;
69
+ }
70
+ declare function FloatingToolbar({ isVisible, selectionRect, commands, activeStates, editorTheme, hide, isFeatureEnabled, }: FloatingToolbarProps): react_jsx_runtime.JSX.Element | null;
24
71
 
25
- interface ExtensiveEditorRef {
26
- injectMarkdown: (content: string) => void;
27
- injectHTML: (content: string) => void;
28
- getMarkdown: () => string;
29
- getHTML: () => string;
72
+ interface LinkHoverBubbleProps {
73
+ editor: LexicalEditor | null;
74
+ commands: CoreEditorCommands;
75
+ editorTheme?: CoreTheme;
76
+ disabled?: boolean;
30
77
  }
31
- interface ExtensiveEditorProps {
78
+ declare function LinkHoverBubble({ editor, commands, editorTheme, disabled, }: LinkHoverBubbleProps): react.ReactPortal | null;
79
+
80
+ declare const BoldIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
81
+ declare const ItalicIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
82
+ declare const UnderlineIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
83
+ declare const StrikethroughIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
84
+ declare const CodeIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
85
+ declare const CodeBlockIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
86
+ declare const LinkIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
87
+ declare const UnlinkIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
88
+ declare const ListIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
89
+ declare const ListCheckIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
90
+ declare const ListOrderedIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
91
+ declare const UndoIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
92
+ declare const RedoIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
93
+ declare const ImageIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
94
+ declare const AlignLeftIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
95
+ declare const AlignCenterIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
96
+ declare const AlignJustifyIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
97
+ declare const AlignRightIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
98
+ declare const UploadIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
99
+ declare const MinusIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
100
+ declare const TableIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
101
+ declare const FileCodeIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
102
+ declare const EyeIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
103
+ declare const HighlighterIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
104
+ declare const PencilIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
105
+ declare const CommandIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
106
+ declare const PaletteIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
107
+ declare const TypeIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
108
+ declare const QuoteIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
109
+ declare const IndentIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
110
+ declare const OutdentIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
111
+ declare const SunIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
112
+ declare const MoonIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
113
+ declare const SearchIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
114
+ declare const EmojiIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
115
+ declare const SubscriptIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
116
+ declare const SuperscriptIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
117
+ declare const ChevronDownIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
118
+ declare const CloseIcon: react.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
119
+
120
+ declare function ModeTabs({ mode, onModeChange, labels, availableModes, isConverting, }: {
121
+ mode: CoreEditorMode;
122
+ onModeChange: (mode: CoreEditorMode) => void;
123
+ labels?: Partial<Record<CoreEditorMode, string>>;
124
+ availableModes?: readonly CoreEditorMode[];
125
+ isConverting?: CoreEditorMode | null;
126
+ }): react_jsx_runtime.JSX.Element;
127
+ declare function SourceView({ value, onChange, placeholder, className, }: {
128
+ value: string;
129
+ onChange: (value: string) => void;
130
+ placeholder: string;
32
131
  className?: string;
33
- onReady?: (methods: ExtensiveEditorRef) => void;
34
- initialTheme?: "light" | "dark";
35
- }
36
- declare const ExtensiveEditor: React.ForwardRefExoticComponent<ExtensiveEditorProps & React.RefAttributes<ExtensiveEditorRef>>;
37
-
38
- declare const markdownPreset: EditorPreset;
39
-
40
- declare const minimalPreset: EditorPreset;
41
-
42
- interface EditorPreset {
43
- id: string;
44
- label: string;
45
- description?: string;
46
- extensions?: Extension[];
47
- config?: EditorConfig;
48
- theme?: LuthorTheme;
49
- toolbar?: string[];
50
- components?: Record<string, unknown>;
51
- css?: string;
132
+ }): react_jsx_runtime.JSX.Element;
133
+
134
+ declare function createPresetEditorConfig(presetId: string, placeholder: string): EditorConfig;
135
+
136
+ declare function formatJSONBSource(input: string): string;
137
+ declare function formatMarkdownSource(input: string): string;
138
+
139
+ declare function isToolbarItemSupported(itemType: ToolbarItemType, hasExtension: (name: string) => boolean): boolean;
140
+ declare function isToolbarItemVisible(itemType: ToolbarItemType, hasExtension: (name: string) => boolean, toolbarVisibility?: ToolbarVisibility): boolean;
141
+ declare function filterToolbarLayout(layout: ToolbarLayout, hasExtension: (name: string) => boolean, toolbarVisibility?: ToolbarVisibility): ToolbarLayout;
142
+ interface ToolbarProps {
143
+ commands: CoreEditorCommands;
144
+ hasExtension: (name: string) => boolean;
145
+ activeStates: CoreEditorActiveStates;
146
+ isDark: boolean;
147
+ toggleTheme: () => void;
148
+ onCommandPaletteOpen?: () => void;
149
+ imageUploadHandler?: (file: File) => Promise<string>;
150
+ classNames?: CoreToolbarClassNames;
151
+ toolbarStyleVars?: ToolbarStyleVars;
152
+ layout?: ToolbarLayout;
153
+ toolbarVisibility?: ToolbarVisibility;
154
+ headingOptions?: readonly BlockHeadingLevel[];
155
+ paragraphLabel?: string;
52
156
  }
53
-
54
- declare const presetRegistry: Record<string, EditorPreset>;
55
-
56
- export { type EditorPreset, ExtensiveEditor, blogPreset, chatPreset, classicPreset, cmsPreset, codePreset, defaultPreset, docsPreset, emailPreset, extensiveExtensions, extensivePreset, markdownPreset, minimalPreset, presetRegistry };
157
+ declare function Toolbar({ commands, hasExtension, activeStates, isDark, toggleTheme, onCommandPaletteOpen, imageUploadHandler, classNames, toolbarStyleVars, layout, toolbarVisibility, headingOptions, paragraphLabel, }: ToolbarProps): react_jsx_runtime.JSX.Element;
158
+
159
+ declare function IconButton({ children, onClick, title, active, disabled, className, type, }: {
160
+ children: ReactNode;
161
+ onClick?: () => void;
162
+ title?: string;
163
+ active?: boolean;
164
+ disabled?: boolean;
165
+ className?: string;
166
+ type?: "button" | "submit" | "reset";
167
+ }): react_jsx_runtime.JSX.Element;
168
+ declare function Button({ children, onClick, variant, type, className, }: {
169
+ children: ReactNode;
170
+ onClick?: () => void;
171
+ variant?: "primary" | "secondary";
172
+ type?: "button" | "submit" | "reset";
173
+ className?: string;
174
+ }): react_jsx_runtime.JSX.Element;
175
+ declare function Select({ value, onValueChange, options, placeholder, }: {
176
+ value: string;
177
+ onValueChange: (value: string) => void;
178
+ options: Array<{
179
+ value: string;
180
+ label: string;
181
+ }>;
182
+ placeholder?: string;
183
+ }): react_jsx_runtime.JSX.Element;
184
+ declare function Dropdown({ trigger, children, isOpen, onOpenChange, }: {
185
+ trigger: ReactNode;
186
+ children: ReactNode;
187
+ isOpen: boolean;
188
+ onOpenChange: (open: boolean) => void;
189
+ }): react_jsx_runtime.JSX.Element;
190
+ declare function Dialog({ isOpen, onClose, title, children, }: {
191
+ isOpen: boolean;
192
+ onClose: () => void;
193
+ title: string;
194
+ children: ReactNode;
195
+ }): react_jsx_runtime.JSX.Element | null;
196
+
197
+ declare function normalizeStyleVarsKey(styleVars?: StyleVarValueRecord): string;
198
+ declare function createDefaultSettingsStyleVarRecord(defaultSettings?: DefaultSettings): StyleVarRecord | undefined;
199
+
200
+ declare function isEditableCommandTarget(target: EventTarget | null): boolean;
201
+ declare function isShortcutMatch<TFeature extends string>(event: KeyboardEvent, shortcut: FeatureShortcutSpec<TFeature>): boolean;
202
+ declare function mergeToolbarVisibilityWithFeatures<TFeature extends string>(toolbarVisibility: ToolbarVisibility | undefined, featureFlags: FeatureFlagsLike<TFeature>, toolbarFeatureMap: ToolbarFeatureMap<TFeature>): ToolbarVisibility;
203
+ declare function createFeatureGuardedCommands<TFeature extends string>(commands: CoreEditorCommands, featureFlags: FeatureFlagsLike<TFeature>, isInCodeBlock: boolean): CoreEditorCommands;
204
+
205
+ declare function createModeCache<TMode extends string>(initialValidModes: readonly TMode[]): PresetModeCache<TMode>;
206
+ declare function invalidateModeCache<TMode extends string>(cache: PresetModeCache<TMode>, alwaysValidModes: readonly TMode[]): void;
207
+ declare function isModeCached<TMode extends string>(cache: PresetModeCache<TMode>, mode: TMode): boolean;
208
+ declare function markModeCached<TMode extends string>(cache: PresetModeCache<TMode>, mode: TMode): void;
209
+
210
+ export { AlignCenterIcon, AlignJustifyIcon, AlignLeftIcon, AlignRightIcon, BlockHeadingLevel, BoldIcon, Button, ChevronDownIcon, CloseIcon, CodeBlockIcon, CodeIcon, CommandIcon, CommandPalette, CoreEditorActiveStates, CoreEditorCommands, CoreEditorMode, CoreTheme, CoreToolbarClassNames, DefaultSettings, Dialog, Dropdown, EmojiIcon, EmojiSuggestionMenu, EyeIcon, FeatureFlagsLike, FeatureShortcutSpec, FileCodeIcon, FloatingToolbar, type FloatingToolbarProps, HighlighterIcon, IconButton, ImageIcon, IndentIcon, ItalicIcon, LinkHoverBubble, type LinkHoverBubbleProps, LinkIcon, ListCheckIcon, ListIcon, ListOrderedIcon, MinusIcon, ModeTabs, MoonIcon, OutdentIcon, PaletteIcon, PencilIcon, PresetModeCache, QuoteIcon, RedoIcon, SearchIcon, Select, SlashCommandMenu, SourceView, StrikethroughIcon, StyleVarRecord, StyleVarValueRecord, SubscriptIcon, SunIcon, SuperscriptIcon, TableIcon, Toolbar, ToolbarFeatureMap, ToolbarItemType, ToolbarLayout, type ToolbarProps, ToolbarStyleVars, ToolbarVisibility, TypeIcon, UnderlineIcon, UndoIcon, UnlinkIcon, UploadIcon, createDefaultSettingsStyleVarRecord, createFeatureGuardedCommands, createFloatingToolbarExtension, createModeCache, createPresetEditorConfig, filterToolbarLayout, formatJSONBSource, formatMarkdownSource, invalidateModeCache, isEditableCommandTarget, isModeCached, isShortcutMatch, isToolbarItemSupported, isToolbarItemVisible, markModeCached, mergeToolbarVisibilityWithFeatures, normalizeStyleVarsKey, setFloatingToolbarContext };