UNPKG

tldraw

Version:

A tiny little drawing editor.

148 lines (147 loc) 6.12 kB
import { Fragment, jsx, jsxs } from "react/jsx-runtime"; import { useCanRedo, useCanUndo } from "../../hooks/menu-hooks.mjs"; import { AccessibilityMenu } from "../AccessibilityMenu.mjs"; import { ColorSchemeMenu } from "../ColorSchemeMenu.mjs"; import { KeyboardShortcutsMenuItem } from "../HelpMenu/DefaultHelpMenuContent.mjs"; import { InputModeMenu } from "../InputModeMenu.mjs"; import { LanguageMenu } from "../LanguageMenu.mjs"; import { ClipboardMenuGroup, ConversionsMenuGroup, ConvertToBookmarkMenuItem, ConvertToEmbedMenuItem, EditLinkMenuItem, FitFrameToContentMenuItem, FlattenMenuItem, GroupMenuItem, RemoveFrameMenuItem, SelectAllMenuItem, ToggleAutoSizeMenuItem, ToggleDebugModeItem, ToggleDynamicSizeModeItem, ToggleEdgeScrollingItem, ToggleFocusModeItem, ToggleGridItem, ToggleLockMenuItem, TogglePasteAtCursorItem, ToggleSnapModeItem, ToggleToolLockItem, ToggleTransparentBgMenuItem, ToggleWrapModeItem, UngroupMenuItem, UnlockAllMenuItem, ZoomTo100MenuItem, ZoomToFitMenuItem, ZoomToSelectionMenuItem } from "../menu-items.mjs"; import { TldrawUiMenuActionItem } from "../primitives/menus/TldrawUiMenuActionItem.mjs"; import { TldrawUiMenuGroup } from "../primitives/menus/TldrawUiMenuGroup.mjs"; import { TldrawUiMenuSubmenu } from "../primitives/menus/TldrawUiMenuSubmenu.mjs"; function DefaultMainMenuContent() { return /* @__PURE__ */ jsxs(Fragment, { children: [ /* @__PURE__ */ jsxs(TldrawUiMenuGroup, { id: "basic", children: [ /* @__PURE__ */ jsx(EditSubmenu, {}), /* @__PURE__ */ jsx(ViewSubmenu, {}), /* @__PURE__ */ jsx(ExportFileContentSubMenu, {}), /* @__PURE__ */ jsx(ExtrasGroup, {}) ] }), /* @__PURE__ */ jsx(PreferencesGroup, {}) ] }); } function ExportFileContentSubMenu() { return /* @__PURE__ */ jsxs(TldrawUiMenuSubmenu, { id: "export-all-as", label: "context-menu.export-all-as", size: "small", children: [ /* @__PURE__ */ jsxs(TldrawUiMenuGroup, { id: "export-all-as-group", children: [ /* @__PURE__ */ jsx(TldrawUiMenuActionItem, { actionId: "export-all-as-svg" }), /* @__PURE__ */ jsx(TldrawUiMenuActionItem, { actionId: "export-all-as-png" }) ] }), /* @__PURE__ */ jsx(TldrawUiMenuGroup, { id: "export-all-as-bg", children: /* @__PURE__ */ jsx(ToggleTransparentBgMenuItem, {}) }) ] }); } function EditSubmenu() { return /* @__PURE__ */ jsxs(TldrawUiMenuSubmenu, { id: "edit", label: "menu.edit", children: [ /* @__PURE__ */ jsx(UndoRedoGroup, {}), /* @__PURE__ */ jsx(ClipboardMenuGroup, {}), /* @__PURE__ */ jsx(ConversionsMenuGroup, {}), /* @__PURE__ */ jsx(MiscMenuGroup, {}), /* @__PURE__ */ jsx(LockGroup, {}), /* @__PURE__ */ jsx(TldrawUiMenuGroup, { id: "select-all", children: /* @__PURE__ */ jsx(SelectAllMenuItem, {}) }) ] }); } function MiscMenuGroup() { return /* @__PURE__ */ jsxs(TldrawUiMenuGroup, { id: "misc", children: [ /* @__PURE__ */ jsx(GroupMenuItem, {}), /* @__PURE__ */ jsx(UngroupMenuItem, {}), /* @__PURE__ */ jsx(EditLinkMenuItem, {}), /* @__PURE__ */ jsx(ToggleAutoSizeMenuItem, {}), /* @__PURE__ */ jsx(RemoveFrameMenuItem, {}), /* @__PURE__ */ jsx(FitFrameToContentMenuItem, {}), /* @__PURE__ */ jsx(ConvertToEmbedMenuItem, {}), /* @__PURE__ */ jsx(ConvertToBookmarkMenuItem, {}), /* @__PURE__ */ jsx(FlattenMenuItem, {}) ] }); } function LockGroup() { return /* @__PURE__ */ jsxs(TldrawUiMenuGroup, { id: "lock", children: [ /* @__PURE__ */ jsx(ToggleLockMenuItem, {}), /* @__PURE__ */ jsx(UnlockAllMenuItem, {}) ] }); } function UndoRedoGroup() { const canUndo = useCanUndo(); const canRedo = useCanRedo(); return /* @__PURE__ */ jsxs(TldrawUiMenuGroup, { id: "undo-redo", children: [ /* @__PURE__ */ jsx(TldrawUiMenuActionItem, { actionId: "undo", disabled: !canUndo }), /* @__PURE__ */ jsx(TldrawUiMenuActionItem, { actionId: "redo", disabled: !canRedo }) ] }); } function ViewSubmenu() { return /* @__PURE__ */ jsx(TldrawUiMenuSubmenu, { id: "view", label: "menu.view", children: /* @__PURE__ */ jsxs(TldrawUiMenuGroup, { id: "view-actions", children: [ /* @__PURE__ */ jsx(TldrawUiMenuActionItem, { actionId: "zoom-in" }), /* @__PURE__ */ jsx(TldrawUiMenuActionItem, { actionId: "zoom-out" }), /* @__PURE__ */ jsx(ZoomTo100MenuItem, {}), /* @__PURE__ */ jsx(ZoomToFitMenuItem, {}), /* @__PURE__ */ jsx(ZoomToSelectionMenuItem, {}) ] }) }); } function ExtrasGroup() { return /* @__PURE__ */ jsxs(Fragment, { children: [ /* @__PURE__ */ jsx(TldrawUiMenuActionItem, { actionId: "insert-embed" }), /* @__PURE__ */ jsx(TldrawUiMenuActionItem, { actionId: "insert-media" }) ] }); } function PreferencesGroup() { return /* @__PURE__ */ jsxs(TldrawUiMenuGroup, { id: "preferences", children: [ /* @__PURE__ */ jsxs(TldrawUiMenuSubmenu, { id: "preferences", label: "menu.preferences", children: [ /* @__PURE__ */ jsxs(TldrawUiMenuGroup, { id: "preferences-actions", children: [ /* @__PURE__ */ jsx(ToggleSnapModeItem, {}), /* @__PURE__ */ jsx(ToggleToolLockItem, {}), /* @__PURE__ */ jsx(ToggleGridItem, {}), /* @__PURE__ */ jsx(ToggleWrapModeItem, {}), /* @__PURE__ */ jsx(ToggleFocusModeItem, {}), /* @__PURE__ */ jsx(ToggleEdgeScrollingItem, {}), /* @__PURE__ */ jsx(ToggleDynamicSizeModeItem, {}), /* @__PURE__ */ jsx(TogglePasteAtCursorItem, {}), /* @__PURE__ */ jsx(ToggleDebugModeItem, {}) ] }), /* @__PURE__ */ jsxs(TldrawUiMenuGroup, { id: "user-interface-submenus", children: [ /* @__PURE__ */ jsx(ColorSchemeMenu, {}), /* @__PURE__ */ jsx(AccessibilityMenu, {}), /* @__PURE__ */ jsx(InputModeMenu, {}) ] }) ] }), /* @__PURE__ */ jsx(LanguageMenu, {}), /* @__PURE__ */ jsx(KeyboardShortcutsMenuItem, {}) ] }); } export { DefaultMainMenuContent, EditSubmenu, ExportFileContentSubMenu, ExtrasGroup, LockGroup, MiscMenuGroup, PreferencesGroup, UndoRedoGroup, ViewSubmenu }; //# sourceMappingURL=DefaultMainMenuContent.mjs.map