@orangecatai/element 0.0.1 → 0.0.3

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 (127) hide show
  1. package/README.md +1 -1
  2. package/dist/dev/index.js +42 -3
  3. package/dist/dev/index.js.map +2 -2
  4. package/dist/prod/index.js +1 -1
  5. package/dist/types/common/src/keys.d.ts +2 -0
  6. package/dist/types/element/src/arrows/focus.d.ts +1 -1
  7. package/dist/types/element/src/binding.d.ts +3 -3
  8. package/dist/types/element/src/bounds.d.ts +1 -1
  9. package/dist/types/element/src/collision.d.ts +1 -1
  10. package/dist/types/element/src/delta.d.ts +2 -2
  11. package/dist/types/element/src/dragElements.d.ts +1 -1
  12. package/dist/types/element/src/duplicate.d.ts +1 -1
  13. package/dist/types/element/src/embeddable.d.ts +1 -1
  14. package/dist/types/element/src/flowchart.d.ts +1 -1
  15. package/dist/types/element/src/frame.d.ts +4 -4
  16. package/dist/types/element/src/groups.d.ts +1 -1
  17. package/dist/types/element/src/renderElement.d.ts +1 -1
  18. package/dist/types/element/src/selection.d.ts +1 -1
  19. package/dist/types/element/src/shape.d.ts +2 -2
  20. package/dist/types/element/src/store.d.ts +2 -2
  21. package/dist/types/element/src/textElement.d.ts +1 -1
  22. package/dist/types/element/src/transform.d.ts +1 -1
  23. package/dist/types/element/src/utils.d.ts +1 -1
  24. package/dist/types/element/src/zindex.d.ts +1 -1
  25. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +1 -1
  26. package/dist/types/excalidraw/actions/actionCanvas.d.ts +184 -7
  27. package/dist/types/excalidraw/actions/actionClipboard.d.ts +7 -7
  28. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +2 -2
  29. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +2 -2
  30. package/dist/types/excalidraw/actions/actionElementLink.d.ts +6 -6
  31. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +1 -1
  32. package/dist/types/excalidraw/actions/actionExport.d.ts +9 -9
  33. package/dist/types/excalidraw/actions/actionFrame.d.ts +178 -0
  34. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +7 -7
  35. package/dist/types/excalidraw/actions/actionLink.d.ts +3 -3
  36. package/dist/types/excalidraw/actions/actionMenu.d.ts +1 -1
  37. package/dist/types/excalidraw/actions/actionProperties.d.ts +1 -1
  38. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +4 -4
  39. package/dist/types/excalidraw/actions/actionStyles.d.ts +2 -2
  40. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +4 -4
  41. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +3 -3
  42. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +2 -2
  43. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +4 -4
  44. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +4 -4
  45. package/dist/types/excalidraw/actions/actionZindex.d.ts +8 -8
  46. package/dist/types/excalidraw/actions/index.d.ts +1 -1
  47. package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
  48. package/dist/types/excalidraw/actions/types.d.ts +1 -1
  49. package/dist/types/excalidraw/appState.d.ts +4 -4
  50. package/dist/types/excalidraw/components/AIChatPanel.d.ts +114 -0
  51. package/dist/types/excalidraw/components/Actions.d.ts +4 -1
  52. package/dist/types/excalidraw/components/App.d.ts +13 -2
  53. package/dist/types/excalidraw/components/CanvasBackgroundSwatch.d.ts +7 -0
  54. package/dist/types/excalidraw/components/ColorPicker/AdvancedColorPicker.d.ts +8 -0
  55. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +2 -2
  56. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +1 -1
  57. package/dist/types/excalidraw/components/ColorPicker/colorConversions.d.ts +27 -0
  58. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +1 -1
  59. package/dist/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
  60. package/dist/types/excalidraw/components/DefaultSidebar.d.ts +2 -2
  61. package/dist/types/excalidraw/components/ElementCanvasButtons.d.ts +1 -1
  62. package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +2 -2
  63. package/dist/types/excalidraw/components/EyeDropper.d.ts +1 -1
  64. package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +1 -1
  65. package/dist/types/excalidraw/components/FontPicker/FontPickerList.d.ts +1 -1
  66. package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +1 -1
  67. package/dist/types/excalidraw/components/FrameToolbar.d.ts +1 -1
  68. package/dist/types/excalidraw/components/HintViewer.d.ts +1 -1
  69. package/dist/types/excalidraw/components/ImageEditToolbar.d.ts +16 -0
  70. package/dist/types/excalidraw/components/ImageExportDialog.d.ts +1 -1
  71. package/dist/types/excalidraw/components/ImageGeneratorPanel.d.ts +43 -0
  72. package/dist/types/excalidraw/components/ImageQuickEditPanel.d.ts +16 -0
  73. package/dist/types/excalidraw/components/JSONExportDialog.d.ts +1 -1
  74. package/dist/types/excalidraw/components/LayerUI.d.ts +1 -1
  75. package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +2 -2
  76. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +2 -2
  77. package/dist/types/excalidraw/components/Stats/FontSize.d.ts +1 -1
  78. package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +1 -1
  79. package/dist/types/excalidraw/components/Stats/MultiFontSize.d.ts +1 -1
  80. package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +1 -1
  81. package/dist/types/excalidraw/components/Stats/index.d.ts +1 -1
  82. package/dist/types/excalidraw/components/TTDDialog/types.d.ts +2 -2
  83. package/dist/types/excalidraw/components/TTDDialog/utils/TTDStreamFetch.d.ts +1 -0
  84. package/dist/types/excalidraw/components/ToolButton.d.ts +1 -1
  85. package/dist/types/excalidraw/components/ai-chat/agentLoop.d.ts +112 -0
  86. package/dist/types/excalidraw/components/ai-chat/audioUtils.d.ts +10 -0
  87. package/dist/types/excalidraw/components/ai-chat/canvasTools.d.ts +685 -0
  88. package/dist/types/excalidraw/components/ai-chat/htmlToExcalidraw.d.ts +53 -0
  89. package/dist/types/excalidraw/components/ai-chat/openRouterStream.d.ts +50 -0
  90. package/dist/types/excalidraw/components/ai-chat/reviewerAgent.d.ts +64 -0
  91. package/dist/types/excalidraw/components/auto-resize/AutoResizePanel.d.ts +17 -0
  92. package/dist/types/excalidraw/components/auto-resize/AutoResizePanelHost.d.ts +4 -0
  93. package/dist/types/excalidraw/components/auto-resize/AutoResizeShimmerLayer.d.ts +11 -0
  94. package/dist/types/excalidraw/components/auto-resize/autoResizeEngine.d.ts +144 -0
  95. package/dist/types/excalidraw/components/auto-resize/autoResizePanelStore.d.ts +15 -0
  96. package/dist/types/excalidraw/components/auto-resize/autoResizeStore.d.ts +16 -0
  97. package/dist/types/excalidraw/components/hyperlink/Hyperlink.d.ts +1 -1
  98. package/dist/types/excalidraw/components/icons.d.ts +1 -0
  99. package/dist/types/excalidraw/components/image-generation/pendingGenerations.d.ts +30 -0
  100. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +1 -1
  101. package/dist/types/excalidraw/components/template-builder/TemplateBuilderPanelHost.d.ts +4 -0
  102. package/dist/types/excalidraw/components/template-builder/TemplateBuilderTray.d.ts +4 -0
  103. package/dist/types/excalidraw/components/template-builder/slotTypes.d.ts +43 -0
  104. package/dist/types/excalidraw/components/template-builder/templateBuilderStore.d.ts +19 -0
  105. package/dist/types/excalidraw/components/ui/avatar.d.ts +6 -0
  106. package/dist/types/excalidraw/components/ui/button.d.ts +11 -0
  107. package/dist/types/excalidraw/components/ui/chat-container.d.ts +17 -0
  108. package/dist/types/excalidraw/components/ui/code-block.d.ts +16 -0
  109. package/dist/types/excalidraw/components/ui/markdown.d.ts +10 -0
  110. package/dist/types/excalidraw/components/ui/message.d.ts +35 -0
  111. package/dist/types/excalidraw/components/ui/prompt-input.d.ts +28 -0
  112. package/dist/types/excalidraw/components/ui/scroll-button.d.ts +10 -0
  113. package/dist/types/excalidraw/components/ui/textarea.d.ts +3 -0
  114. package/dist/types/excalidraw/components/ui/tooltip.d.ts +7 -0
  115. package/dist/types/excalidraw/data/blob.d.ts +19 -17
  116. package/dist/types/excalidraw/data/json.d.ts +8 -8
  117. package/dist/types/excalidraw/data/library.d.ts +1 -1
  118. package/dist/types/excalidraw/fonts/Fonts.d.ts +19 -2
  119. package/dist/types/excalidraw/i18n.d.ts +1 -1
  120. package/dist/types/excalidraw/index.d.ts +9 -0
  121. package/dist/types/excalidraw/lib/utils.d.ts +2 -0
  122. package/dist/types/excalidraw/types.d.ts +229 -0
  123. package/dist/types/excalidraw/utils/geminiApiKey.d.ts +1 -0
  124. package/dist/types/excalidraw/utils/leonardoApiKey.d.ts +1 -0
  125. package/dist/types/excalidraw/utils/openRouterApiKey.d.ts +1 -0
  126. package/dist/types/excalidraw/utils/removeBgApiKey.d.ts +1 -0
  127. package/package.json +6 -6
@@ -40,13 +40,6 @@ export declare const actionClearCanvas: {
40
40
  locked: boolean;
41
41
  fromSelection: boolean;
42
42
  } & import("../types").ActiveTool;
43
- viewBackgroundColor: string;
44
- frameRendering: {
45
- enabled: boolean;
46
- name: boolean;
47
- outline: boolean;
48
- clip: boolean;
49
- };
50
43
  name: string | null;
51
44
  zoom: import("../types").Zoom;
52
45
  scrollX: number;
@@ -102,6 +95,12 @@ export declare const actionClearCanvas: {
102
95
  hoveredElementIds: Readonly<{
103
96
  [id: string]: true;
104
97
  }>;
98
+ frameRendering: {
99
+ enabled: boolean;
100
+ name: boolean;
101
+ outline: boolean;
102
+ clip: boolean;
103
+ };
105
104
  shouldCacheIgnoreZoom: boolean;
106
105
  exportScale: number;
107
106
  currentItemArrowType: "sharp" | "round" | "elbow";
@@ -136,6 +135,7 @@ export declare const actionClearCanvas: {
136
135
  currentItemEndArrowhead: import("@orangecatai/element/types").Arrowhead | null;
137
136
  currentHoveredFontFamily: import("@orangecatai/element/types").FontFamilyValues | null;
138
137
  currentItemRoundness: import("@orangecatai/element/types").StrokeRoundness;
138
+ viewBackgroundColor: string;
139
139
  cursorButton: "up" | "down";
140
140
  scrolledOutside: boolean;
141
141
  isResizing: boolean;
@@ -706,6 +706,7 @@ export declare const actionResetZoom: {
706
706
  } & {
707
707
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
708
708
  };
709
+ export declare const getNearestContentCluster: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => ExcalidrawElement[];
709
710
  export declare const zoomToFitBounds: ({ bounds, appState, canvasOffsets, fitToViewport, viewportZoomFactor, minZoom, maxZoom, }: {
710
711
  bounds: SceneBounds;
711
712
  canvasOffsets?: Offsets;
@@ -1580,6 +1581,182 @@ export declare const actionZoomToFit: {
1580
1581
  } & {
1581
1582
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1582
1583
  };
1584
+ export declare const actionScrollBackToContent: {
1585
+ name: "scrollBackToContent";
1586
+ label: string;
1587
+ icon: import("react/jsx-runtime").JSX.Element;
1588
+ viewMode: true;
1589
+ trackEvent: {
1590
+ category: "canvas";
1591
+ };
1592
+ perform: (elements: readonly import("@orangecatai/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => false | {
1593
+ appState: {
1594
+ scrollX: number;
1595
+ scrollY: number;
1596
+ zoom: {
1597
+ value: import("../types").NormalizedZoomValue;
1598
+ };
1599
+ contextMenu: {
1600
+ items: import("../components/ContextMenu").ContextMenuItems;
1601
+ top: number;
1602
+ left: number;
1603
+ } | null;
1604
+ showWelcomeScreen: boolean;
1605
+ isLoading: boolean;
1606
+ errorMessage: React.ReactNode;
1607
+ activeEmbeddable: {
1608
+ element: import("@orangecatai/element/types").NonDeletedExcalidrawElement;
1609
+ state: "hover" | "active";
1610
+ } | null;
1611
+ newElement: import("@orangecatai/element/types").NonDeleted<import("@orangecatai/element/types").ExcalidrawNonSelectionElement> | null;
1612
+ resizingElement: import("@orangecatai/element/types").NonDeletedExcalidrawElement | null;
1613
+ multiElement: import("@orangecatai/element/types").NonDeleted<import("@orangecatai/element/types").ExcalidrawLinearElement> | null;
1614
+ selectionElement: import("@orangecatai/element/types").NonDeletedExcalidrawElement | null;
1615
+ isBindingEnabled: boolean;
1616
+ startBoundElement: import("@orangecatai/element/types").NonDeleted<import("@orangecatai/element/types").ExcalidrawBindableElement> | null;
1617
+ suggestedBinding: {
1618
+ element: import("@orangecatai/element/types").NonDeleted<import("@orangecatai/element/types").ExcalidrawBindableElement>;
1619
+ midPoint?: import("@orangecatai/math").GlobalPoint;
1620
+ } | null;
1621
+ frameToHighlight: import("@orangecatai/element/types").NonDeleted<import("@orangecatai/element/types").ExcalidrawFrameLikeElement> | null;
1622
+ frameRendering: {
1623
+ enabled: boolean;
1624
+ name: boolean;
1625
+ outline: boolean;
1626
+ clip: boolean;
1627
+ };
1628
+ editingFrame: string | null;
1629
+ elementsToHighlight: import("@orangecatai/element/types").NonDeleted<ExcalidrawElement>[] | null;
1630
+ editingTextElement: import("@orangecatai/element/types").NonDeletedExcalidrawElement | null;
1631
+ activeTool: {
1632
+ lastActiveTool: import("../types").ActiveTool | null;
1633
+ locked: boolean;
1634
+ fromSelection: boolean;
1635
+ } & import("../types").ActiveTool;
1636
+ preferredSelectionTool: {
1637
+ type: "selection" | "lasso";
1638
+ initialized: boolean;
1639
+ };
1640
+ penMode: boolean;
1641
+ penDetected: boolean;
1642
+ exportBackground: boolean;
1643
+ exportEmbedScene: boolean;
1644
+ exportWithDarkMode: boolean;
1645
+ exportScale: number;
1646
+ currentItemStrokeColor: string;
1647
+ currentItemBackgroundColor: string;
1648
+ currentItemFillStyle: ExcalidrawElement["fillStyle"];
1649
+ currentItemStrokeWidth: number;
1650
+ currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
1651
+ currentItemRoughness: number;
1652
+ currentItemOpacity: number;
1653
+ currentItemFontFamily: import("@orangecatai/element/types").FontFamilyValues;
1654
+ currentItemFontSize: number;
1655
+ currentItemTextAlign: import("@orangecatai/element/types").TextAlign;
1656
+ currentItemStartArrowhead: import("@orangecatai/element/types").Arrowhead | null;
1657
+ currentItemEndArrowhead: import("@orangecatai/element/types").Arrowhead | null;
1658
+ currentHoveredFontFamily: import("@orangecatai/element/types").FontFamilyValues | null;
1659
+ currentItemRoundness: import("@orangecatai/element/types").StrokeRoundness;
1660
+ currentItemArrowType: "sharp" | "round" | "elbow";
1661
+ viewBackgroundColor: string;
1662
+ cursorButton: "up" | "down";
1663
+ scrolledOutside: boolean;
1664
+ name: string | null;
1665
+ isResizing: boolean;
1666
+ isRotating: boolean;
1667
+ openMenu: "canvas" | null;
1668
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
1669
+ openSidebar: {
1670
+ name: import("../types").SidebarName;
1671
+ tab?: import("../types").SidebarTabName;
1672
+ } | null;
1673
+ openDialog: null | {
1674
+ name: "imageExport" | "help" | "jsonExport";
1675
+ } | {
1676
+ name: "ttd";
1677
+ tab: "text-to-diagram" | "mermaid";
1678
+ } | {
1679
+ name: "commandPalette";
1680
+ } | {
1681
+ name: "settings";
1682
+ } | {
1683
+ name: "elementLinkSelector";
1684
+ sourceElementId: ExcalidrawElement["id"];
1685
+ };
1686
+ defaultSidebarDockedPreference: boolean;
1687
+ lastPointerDownWith: import("@orangecatai/element/types").PointerType;
1688
+ selectedElementIds: Readonly<{
1689
+ [id: string]: true;
1690
+ }>;
1691
+ hoveredElementIds: Readonly<{
1692
+ [id: string]: true;
1693
+ }>;
1694
+ previousSelectedElementIds: {
1695
+ [id: string]: true;
1696
+ };
1697
+ selectedElementsAreBeingDragged: boolean;
1698
+ shouldCacheIgnoreZoom: boolean;
1699
+ toast: {
1700
+ message: string;
1701
+ closable?: boolean;
1702
+ duration?: number;
1703
+ } | null;
1704
+ zenModeEnabled: boolean;
1705
+ theme: import("@orangecatai/element/types").Theme;
1706
+ gridSize: number;
1707
+ gridStep: number;
1708
+ gridModeEnabled: boolean;
1709
+ viewModeEnabled: boolean;
1710
+ selectedGroupIds: {
1711
+ [groupId: string]: boolean;
1712
+ };
1713
+ editingGroupId: import("@orangecatai/element/types").GroupId | null;
1714
+ width: number;
1715
+ height: number;
1716
+ offsetTop: number;
1717
+ offsetLeft: number;
1718
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
1719
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
1720
+ stats: {
1721
+ open: boolean;
1722
+ panels: number;
1723
+ };
1724
+ currentChartType: import("@orangecatai/element/types").ChartType;
1725
+ pasteDialog: {
1726
+ shown: false;
1727
+ data: null;
1728
+ } | {
1729
+ shown: true;
1730
+ data: import("../charts").Spreadsheet;
1731
+ };
1732
+ showHyperlinkPopup: false | "info" | "editor";
1733
+ selectedLinearElement: import("@orangecatai/element").LinearElementEditor | null;
1734
+ snapLines: readonly import("../snapping").SnapLine[];
1735
+ originSnapOffset: {
1736
+ x: number;
1737
+ y: number;
1738
+ } | null;
1739
+ objectsSnapModeEnabled: boolean;
1740
+ userToFollow: import("../types").UserToFollow | null;
1741
+ followedBy: Set<import("../types").SocketId>;
1742
+ isCropping: boolean;
1743
+ croppingElementId: ExcalidrawElement["id"] | null;
1744
+ searchMatches: Readonly<{
1745
+ focusedId: ExcalidrawElement["id"] | null;
1746
+ matches: readonly import("../types").SearchMatch[];
1747
+ }> | null;
1748
+ activeLockedId: string | null;
1749
+ lockedMultiSelections: {
1750
+ [groupId: string]: true;
1751
+ };
1752
+ bindMode: import("@orangecatai/element/types").BindMode;
1753
+ };
1754
+ captureUpdate: "EVENTUALLY";
1755
+ };
1756
+ PanelComponent: ({ updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
1757
+ } & {
1758
+ keyTest?: undefined;
1759
+ };
1583
1760
  export declare const actionToggleTheme: import("./types").Action<import("@orangecatai/element/types").Theme> & {
1584
1761
  keyTest?: ((event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean) | undefined;
1585
1762
  };
@@ -1,5 +1,5 @@
1
1
  export declare const actionCopy: import("./types").Action<ClipboardEvent | null> & {
2
- keyTest?: ((event: React.KeyboardEvent | KeyboardEvent, appState: import("../types").AppState, elements: readonly import("@orangecatai/element/types").ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean) | undefined;
2
+ keyTest?: ((event: React.KeyboardEvent | KeyboardEvent, appState: import("..").AppState, elements: readonly import("@orangecatai/element/types").ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean) | undefined;
3
3
  };
4
4
  export declare const actionPaste: {
5
5
  name: "paste";
@@ -7,7 +7,7 @@ export declare const actionPaste: {
7
7
  trackEvent: {
8
8
  category: "element";
9
9
  };
10
- perform: (elements: readonly import("@orangecatai/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, data: unknown, app: import("../types").AppClassProperties) => Promise<false | {
10
+ perform: (elements: readonly import("@orangecatai/element/types").OrderedExcalidrawElement[], appState: Readonly<import("..").AppState>, data: unknown, app: import("../types").AppClassProperties) => Promise<false | {
11
11
  captureUpdate: "EVENTUALLY";
12
12
  appState: {
13
13
  errorMessage: string;
@@ -177,7 +177,7 @@ export declare const actionPaste: {
177
177
  keyTest?: undefined;
178
178
  };
179
179
  export declare const actionCut: import("./types").Action<ClipboardEvent | null> & {
180
- keyTest?: ((event: React.KeyboardEvent | KeyboardEvent, appState: import("../types").AppState, elements: readonly import("@orangecatai/element/types").ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean) | undefined;
180
+ keyTest?: ((event: React.KeyboardEvent | KeyboardEvent, appState: import("..").AppState, elements: readonly import("@orangecatai/element/types").ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean) | undefined;
181
181
  };
182
182
  export declare const actionCopyAsSvg: {
183
183
  name: "copyAsSvg";
@@ -186,7 +186,7 @@ export declare const actionCopyAsSvg: {
186
186
  trackEvent: {
187
187
  category: "element";
188
188
  };
189
- perform: (elements: readonly import("@orangecatai/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, _data: unknown, app: import("../types").AppClassProperties) => Promise<{
189
+ perform: (elements: readonly import("@orangecatai/element/types").OrderedExcalidrawElement[], appState: Readonly<import("..").AppState>, _data: unknown, app: import("../types").AppClassProperties) => Promise<{
190
190
  captureUpdate: "EVENTUALLY";
191
191
  appState?: undefined;
192
192
  } | {
@@ -216,7 +216,7 @@ export declare const actionCopyAsPng: {
216
216
  trackEvent: {
217
217
  category: "element";
218
218
  };
219
- perform: (elements: readonly import("@orangecatai/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, _data: unknown, app: import("../types").AppClassProperties) => Promise<{
219
+ perform: (elements: readonly import("@orangecatai/element/types").OrderedExcalidrawElement[], appState: Readonly<import("..").AppState>, _data: unknown, app: import("../types").AppClassProperties) => Promise<{
220
220
  captureUpdate: "EVENTUALLY";
221
221
  appState?: undefined;
222
222
  } | {
@@ -393,10 +393,10 @@ export declare const copyText: {
393
393
  trackEvent: {
394
394
  category: "element";
395
395
  };
396
- perform: (elements: readonly import("@orangecatai/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: unknown, app: import("../types").AppClassProperties) => {
396
+ perform: (elements: readonly import("@orangecatai/element/types").OrderedExcalidrawElement[], appState: Readonly<import("..").AppState>, _: unknown, app: import("../types").AppClassProperties) => {
397
397
  captureUpdate: "EVENTUALLY";
398
398
  };
399
- predicate: (elements: readonly import("@orangecatai/element/types").ExcalidrawElement[], appState: import("../types").AppState, _: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
399
+ predicate: (elements: readonly import("@orangecatai/element/types").ExcalidrawElement[], appState: import("..").AppState, _: import("..").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
400
400
  keywords: string[];
401
401
  } & {
402
402
  keyTest?: undefined;
@@ -7,7 +7,7 @@ export declare const actionToggleCropEditor: {
7
7
  category: "menu";
8
8
  };
9
9
  keywords: string[];
10
- perform(elements: readonly import("@orangecatai/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: unknown, app: import("../types").AppClassProperties): {
10
+ perform(elements: readonly import("@orangecatai/element/types").OrderedExcalidrawElement[], appState: Readonly<import("..").AppState>, _: unknown, app: import("../types").AppClassProperties): {
11
11
  appState: {
12
12
  isCropping: false;
13
13
  croppingElementId: string;
@@ -169,7 +169,7 @@ export declare const actionToggleCropEditor: {
169
169
  };
170
170
  captureUpdate: "IMMEDIATELY";
171
171
  };
172
- predicate: (elements: readonly import("@orangecatai/element/types").ExcalidrawElement[], appState: import("../types").AppState, _: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
172
+ predicate: (elements: readonly import("@orangecatai/element/types").ExcalidrawElement[], appState: import("..").AppState, _: import("..").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
173
173
  PanelComponent: ({ appState, updateData, app }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
174
174
  } & {
175
175
  keyTest?: undefined;
@@ -5,9 +5,9 @@ export declare const actionDuplicateSelection: {
5
5
  trackEvent: {
6
6
  category: "element";
7
7
  };
8
- perform: (elements: readonly import("@orangecatai/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, formData: unknown, app: import("../types").AppClassProperties) => false | {
8
+ perform: (elements: readonly import("@orangecatai/element/types").OrderedExcalidrawElement[], appState: Readonly<import("..").AppState>, formData: unknown, app: import("../types").AppClassProperties) => false | {
9
9
  elements: readonly import("@orangecatai/element/types").OrderedExcalidrawElement[];
10
- appState: import("../types").AppState;
10
+ appState: import("..").AppState;
11
11
  captureUpdate: "IMMEDIATELY";
12
12
  };
13
13
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
@@ -5,7 +5,7 @@ export declare const actionCopyElementLink: {
5
5
  trackEvent: {
6
6
  category: "element";
7
7
  };
8
- perform: (elements: readonly import("@orangecatai/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: unknown, app: import("../types").AppClassProperties) => Promise<{
8
+ perform: (elements: readonly import("@orangecatai/element/types").OrderedExcalidrawElement[], appState: Readonly<import("..").AppState>, _: unknown, app: import("../types").AppClassProperties) => Promise<{
9
9
  appState: {
10
10
  toast: {
11
11
  message: string;
@@ -16,12 +16,12 @@ export declare const actionCopyElementLink: {
16
16
  elements?: undefined;
17
17
  app?: undefined;
18
18
  } | {
19
- appState: Readonly<import("../types").AppState>;
19
+ appState: Readonly<import("..").AppState>;
20
20
  elements: readonly import("@orangecatai/element/types").OrderedExcalidrawElement[];
21
21
  app: import("../types").AppClassProperties;
22
22
  captureUpdate: "EVENTUALLY";
23
23
  }>;
24
- predicate: (elements: readonly import("@orangecatai/element/types").ExcalidrawElement[], appState: import("../types").AppState) => boolean;
24
+ predicate: (elements: readonly import("@orangecatai/element/types").ExcalidrawElement[], appState: import("..").AppState) => boolean;
25
25
  } & {
26
26
  keyTest?: undefined;
27
27
  };
@@ -29,9 +29,9 @@ export declare const actionLinkToElement: {
29
29
  name: "linkToElement";
30
30
  label: string;
31
31
  icon: import("react/jsx-runtime").JSX.Element;
32
- perform: (elements: readonly import("@orangecatai/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: unknown, app: import("../types").AppClassProperties) => {
32
+ perform: (elements: readonly import("@orangecatai/element/types").OrderedExcalidrawElement[], appState: Readonly<import("..").AppState>, _: unknown, app: import("../types").AppClassProperties) => {
33
33
  elements: readonly import("@orangecatai/element/types").OrderedExcalidrawElement[];
34
- appState: Readonly<import("../types").AppState>;
34
+ appState: Readonly<import("..").AppState>;
35
35
  app: import("../types").AppClassProperties;
36
36
  captureUpdate: "EVENTUALLY";
37
37
  } | {
@@ -189,7 +189,7 @@ export declare const actionLinkToElement: {
189
189
  elements?: undefined;
190
190
  app?: undefined;
191
191
  };
192
- predicate: (elements: readonly import("@orangecatai/element/types").ExcalidrawElement[], appState: import("../types").AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
192
+ predicate: (elements: readonly import("@orangecatai/element/types").ExcalidrawElement[], appState: import("..").AppState, appProps: import("..").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
193
193
  trackEvent: false;
194
194
  } & {
195
195
  keyTest?: undefined;
@@ -5,7 +5,7 @@ export declare const actionSetEmbeddableAsActiveTool: {
5
5
  };
6
6
  target: string;
7
7
  label: string;
8
- perform: (elements: readonly import("@orangecatai/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: unknown, app: import("../types").AppClassProperties) => {
8
+ perform: (elements: readonly import("@orangecatai/element/types").OrderedExcalidrawElement[], appState: Readonly<import("..").AppState>, _: unknown, app: import("../types").AppClassProperties) => {
9
9
  elements: readonly import("@orangecatai/element/types").OrderedExcalidrawElement[];
10
10
  appState: {
11
11
  activeTool: {
@@ -1,5 +1,5 @@
1
- import type { Theme } from "@orangecatai/element/types";
2
1
  import "../components/ToolIcon.scss";
2
+ import type { Theme } from "@orangecatai/element/types";
3
3
  import type { AppState } from "../types";
4
4
  export declare const actionChangeProjectName: import("./types").Action<string | null> & {
5
5
  keyTest?: ((event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly import("@orangecatai/element/types").ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean) | undefined;
@@ -362,14 +362,6 @@ export declare const actionLoadScene: {
362
362
  perform: (elements: readonly import("@orangecatai/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => Promise<false | {
363
363
  elements: import("@orangecatai/element/types").OrderedExcalidrawElement[];
364
364
  appState: {
365
- viewBackgroundColor: string;
366
- theme: Theme;
367
- frameRendering: {
368
- enabled: boolean;
369
- name: boolean;
370
- outline: boolean;
371
- clip: boolean;
372
- };
373
365
  name: string | null;
374
366
  zoom: import("../types").Zoom;
375
367
  scrollX: number;
@@ -393,6 +385,7 @@ export declare const actionLoadScene: {
393
385
  [id: string]: true;
394
386
  }>;
395
387
  frameToHighlight: import("@orangecatai/element/types").NonDeleted<import("@orangecatai/element/types").ExcalidrawFrameLikeElement> | null;
388
+ theme: Theme;
396
389
  activeTool: {
397
390
  lastActiveTool: import("../types").ActiveTool | null;
398
391
  locked: boolean;
@@ -430,6 +423,12 @@ export declare const actionLoadScene: {
430
423
  hoveredElementIds: Readonly<{
431
424
  [id: string]: true;
432
425
  }>;
426
+ frameRendering: {
427
+ enabled: boolean;
428
+ name: boolean;
429
+ outline: boolean;
430
+ clip: boolean;
431
+ };
433
432
  shouldCacheIgnoreZoom: boolean;
434
433
  exportScale: number;
435
434
  currentItemArrowType: "sharp" | "round" | "elbow";
@@ -469,6 +468,7 @@ export declare const actionLoadScene: {
469
468
  currentItemEndArrowhead: import("@orangecatai/element/types").Arrowhead | null;
470
469
  currentHoveredFontFamily: import("@orangecatai/element/types").FontFamilyValues | null;
471
470
  currentItemRoundness: import("@orangecatai/element/types").StrokeRoundness;
471
+ viewBackgroundColor: string;
472
472
  cursorButton: "up" | "down";
473
473
  scrolledOutside: boolean;
474
474
  isResizing: boolean;
@@ -701,6 +701,184 @@ export declare const actionSetFrameAsActiveTool: {
701
701
  } & {
702
702
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
703
703
  };
704
+ export declare const actionCycleThroughFrameChildren: {
705
+ name: "cycleThroughFrameChildren";
706
+ label: string;
707
+ trackEvent: {
708
+ category: "element";
709
+ };
710
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState, _: import("../types").ExcalidrawProps, app: AppClassProperties) => boolean;
711
+ perform: (elements: readonly import("@orangecatai/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: AppClassProperties) => {
712
+ elements: readonly import("@orangecatai/element/types").OrderedExcalidrawElement[];
713
+ appState: Readonly<AppState>;
714
+ captureUpdate: "EVENTUALLY";
715
+ } | {
716
+ elements: readonly import("@orangecatai/element/types").OrderedExcalidrawElement[];
717
+ appState: {
718
+ selectedElementIds: {
719
+ [x: string]: true;
720
+ };
721
+ contextMenu: {
722
+ items: import("../components/ContextMenu").ContextMenuItems;
723
+ top: number;
724
+ left: number;
725
+ } | null;
726
+ showWelcomeScreen: boolean;
727
+ isLoading: boolean;
728
+ errorMessage: React.ReactNode;
729
+ activeEmbeddable: {
730
+ element: import("@orangecatai/element/types").NonDeletedExcalidrawElement;
731
+ state: "hover" | "active";
732
+ } | null;
733
+ newElement: import("@orangecatai/element/types").NonDeleted<import("@orangecatai/element/types").ExcalidrawNonSelectionElement> | null;
734
+ resizingElement: import("@orangecatai/element/types").NonDeletedExcalidrawElement | null;
735
+ multiElement: import("@orangecatai/element/types").NonDeleted<import("@orangecatai/element/types").ExcalidrawLinearElement> | null;
736
+ selectionElement: import("@orangecatai/element/types").NonDeletedExcalidrawElement | null;
737
+ isBindingEnabled: boolean;
738
+ startBoundElement: import("@orangecatai/element/types").NonDeleted<import("@orangecatai/element/types").ExcalidrawBindableElement> | null;
739
+ suggestedBinding: {
740
+ element: import("@orangecatai/element/types").NonDeleted<import("@orangecatai/element/types").ExcalidrawBindableElement>;
741
+ midPoint?: import("@orangecatai/math").GlobalPoint;
742
+ } | null;
743
+ frameToHighlight: import("@orangecatai/element/types").NonDeleted<import("@orangecatai/element/types").ExcalidrawFrameLikeElement> | null;
744
+ frameRendering: {
745
+ enabled: boolean;
746
+ name: boolean;
747
+ outline: boolean;
748
+ clip: boolean;
749
+ };
750
+ editingFrame: string | null;
751
+ elementsToHighlight: import("@orangecatai/element/types").NonDeleted<ExcalidrawElement>[] | null;
752
+ editingTextElement: import("@orangecatai/element/types").NonDeletedExcalidrawElement | null;
753
+ activeTool: {
754
+ lastActiveTool: import("../types").ActiveTool | null;
755
+ locked: boolean;
756
+ fromSelection: boolean;
757
+ } & import("../types").ActiveTool;
758
+ preferredSelectionTool: {
759
+ type: "selection" | "lasso";
760
+ initialized: boolean;
761
+ };
762
+ penMode: boolean;
763
+ penDetected: boolean;
764
+ exportBackground: boolean;
765
+ exportEmbedScene: boolean;
766
+ exportWithDarkMode: boolean;
767
+ exportScale: number;
768
+ currentItemStrokeColor: string;
769
+ currentItemBackgroundColor: string;
770
+ currentItemFillStyle: ExcalidrawElement["fillStyle"];
771
+ currentItemStrokeWidth: number;
772
+ currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
773
+ currentItemRoughness: number;
774
+ currentItemOpacity: number;
775
+ currentItemFontFamily: import("@orangecatai/element/types").FontFamilyValues;
776
+ currentItemFontSize: number;
777
+ currentItemTextAlign: import("@orangecatai/element/types").TextAlign;
778
+ currentItemStartArrowhead: import("@orangecatai/element/types").Arrowhead | null;
779
+ currentItemEndArrowhead: import("@orangecatai/element/types").Arrowhead | null;
780
+ currentHoveredFontFamily: import("@orangecatai/element/types").FontFamilyValues | null;
781
+ currentItemRoundness: import("@orangecatai/element/types").StrokeRoundness;
782
+ currentItemArrowType: "sharp" | "round" | "elbow";
783
+ viewBackgroundColor: string;
784
+ scrollX: number;
785
+ scrollY: number;
786
+ cursorButton: "up" | "down";
787
+ scrolledOutside: boolean;
788
+ name: string | null;
789
+ isResizing: boolean;
790
+ isRotating: boolean;
791
+ zoom: import("../types").Zoom;
792
+ openMenu: "canvas" | null;
793
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
794
+ openSidebar: {
795
+ name: import("../types").SidebarName;
796
+ tab?: import("../types").SidebarTabName;
797
+ } | null;
798
+ openDialog: null | {
799
+ name: "imageExport" | "help" | "jsonExport";
800
+ } | {
801
+ name: "ttd";
802
+ tab: "text-to-diagram" | "mermaid";
803
+ } | {
804
+ name: "commandPalette";
805
+ } | {
806
+ name: "settings";
807
+ } | {
808
+ name: "elementLinkSelector";
809
+ sourceElementId: ExcalidrawElement["id"];
810
+ };
811
+ defaultSidebarDockedPreference: boolean;
812
+ lastPointerDownWith: import("@orangecatai/element/types").PointerType;
813
+ hoveredElementIds: Readonly<{
814
+ [id: string]: true;
815
+ }>;
816
+ previousSelectedElementIds: {
817
+ [id: string]: true;
818
+ };
819
+ selectedElementsAreBeingDragged: boolean;
820
+ shouldCacheIgnoreZoom: boolean;
821
+ toast: {
822
+ message: string;
823
+ closable?: boolean;
824
+ duration?: number;
825
+ } | null;
826
+ zenModeEnabled: boolean;
827
+ theme: import("@orangecatai/element/types").Theme;
828
+ gridSize: number;
829
+ gridStep: number;
830
+ gridModeEnabled: boolean;
831
+ viewModeEnabled: boolean;
832
+ selectedGroupIds: {
833
+ [groupId: string]: boolean;
834
+ };
835
+ editingGroupId: import("@orangecatai/element/types").GroupId | null;
836
+ width: number;
837
+ height: number;
838
+ offsetTop: number;
839
+ offsetLeft: number;
840
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
841
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
842
+ stats: {
843
+ open: boolean;
844
+ panels: number;
845
+ };
846
+ currentChartType: import("@orangecatai/element/types").ChartType;
847
+ pasteDialog: {
848
+ shown: false;
849
+ data: null;
850
+ } | {
851
+ shown: true;
852
+ data: import("../charts").Spreadsheet;
853
+ };
854
+ showHyperlinkPopup: false | "info" | "editor";
855
+ selectedLinearElement: import("@orangecatai/element").LinearElementEditor | null;
856
+ snapLines: readonly import("../snapping").SnapLine[];
857
+ originSnapOffset: {
858
+ x: number;
859
+ y: number;
860
+ } | null;
861
+ objectsSnapModeEnabled: boolean;
862
+ userToFollow: import("../types").UserToFollow | null;
863
+ followedBy: Set<import("../types").SocketId>;
864
+ isCropping: boolean;
865
+ croppingElementId: ExcalidrawElement["id"] | null;
866
+ searchMatches: Readonly<{
867
+ focusedId: ExcalidrawElement["id"] | null;
868
+ matches: readonly import("../types").SearchMatch[];
869
+ }> | null;
870
+ activeLockedId: string | null;
871
+ lockedMultiSelections: {
872
+ [groupId: string]: true;
873
+ };
874
+ bindMode: import("@orangecatai/element/types").BindMode;
875
+ };
876
+ captureUpdate: "IMMEDIATELY";
877
+ };
878
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
879
+ } & {
880
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
881
+ };
704
882
  export declare const actionWrapSelectionInFrame: {
705
883
  name: "wrapSelectionInFrame";
706
884
  label: string;
@@ -2,13 +2,13 @@ import type { ExcalidrawLinearElement } from "@orangecatai/element/types";
2
2
  export declare const actionToggleLinearEditor: {
3
3
  name: "toggleLinearEditor";
4
4
  category: string;
5
- label: (elements: readonly import("@orangecatai/element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, app: import("../types").AppClassProperties) => "labels.lineEditor.editArrow" | "labels.lineEditor.edit";
5
+ label: (elements: readonly import("@orangecatai/element/types").ExcalidrawElement[], appState: Readonly<import("..").AppState>, app: import("../types").AppClassProperties) => "labels.lineEditor.editArrow" | "labels.lineEditor.edit";
6
6
  keywords: string[];
7
7
  trackEvent: {
8
8
  category: "element";
9
9
  };
10
- predicate: (elements: readonly import("@orangecatai/element/types").ExcalidrawElement[], appState: import("../types").AppState, _: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
11
- perform(elements: readonly import("@orangecatai/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: unknown, app: import("../types").AppClassProperties): {
10
+ predicate: (elements: readonly import("@orangecatai/element/types").ExcalidrawElement[], appState: import("..").AppState, _: import("..").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
11
+ perform(elements: readonly import("@orangecatai/element/types").OrderedExcalidrawElement[], appState: Readonly<import("..").AppState>, _: unknown, app: import("../types").AppClassProperties): {
12
12
  appState: {
13
13
  selectedLinearElement: {
14
14
  isEditing: boolean;
@@ -211,12 +211,12 @@ export declare const actionTogglePolygon: {
211
211
  category: string;
212
212
  icon: import("react/jsx-runtime").JSX.Element;
213
213
  keywords: string[];
214
- label: (elements: readonly import("@orangecatai/element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, app: import("../types").AppClassProperties) => "labels.polygon.breakPolygon" | "labels.polygon.convertToPolygon";
214
+ label: (elements: readonly import("@orangecatai/element/types").ExcalidrawElement[], appState: Readonly<import("..").AppState>, app: import("../types").AppClassProperties) => "labels.polygon.breakPolygon" | "labels.polygon.convertToPolygon";
215
215
  trackEvent: {
216
216
  category: "element";
217
217
  };
218
- predicate: (elements: readonly import("@orangecatai/element/types").ExcalidrawElement[], appState: import("../types").AppState, _: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
219
- perform(elements: readonly import("@orangecatai/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: unknown, app: import("../types").AppClassProperties): false | {
218
+ predicate: (elements: readonly import("@orangecatai/element/types").ExcalidrawElement[], appState: import("..").AppState, _: import("..").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
219
+ perform(elements: readonly import("@orangecatai/element/types").OrderedExcalidrawElement[], appState: Readonly<import("..").AppState>, _: unknown, app: import("../types").AppClassProperties): false | {
220
220
  elements: ((Readonly<{
221
221
  id: string;
222
222
  x: number;
@@ -654,7 +654,7 @@ export declare const actionTogglePolygon: {
654
654
  }> & {
655
655
  index: import("@orangecatai/element/types").FractionalIndex;
656
656
  }))[];
657
- appState: Readonly<import("../types").AppState>;
657
+ appState: Readonly<import("..").AppState>;
658
658
  captureUpdate: "IMMEDIATELY";
659
659
  };
660
660
  PanelComponent: ({ appState, updateData, app }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element | null;