SYMBOL INDEX (399 symbols across 117 files) FILE: e2e-tests/tests/test_base_path_routing.py function get_base_url (line 15) | def get_base_url(): function get_base_path (line 20) | def get_base_path(): function get_webdriver_url (line 25) | def get_webdriver_url(): function driver (line 31) | def driver(): function test_app_loads_at_base_path (line 58) | def test_app_loads_at_base_path(driver): function test_static_assets_load_correctly (line 90) | def test_static_assets_load_correctly(driver): function test_react_router_navigation_works (line 151) | def test_react_router_navigation_works(driver): function test_router_basename_detection (line 195) | def test_router_basename_detection(driver): function test_no_console_errors_at_base_path (line 238) | def test_no_console_errors_at_base_path(driver): FILE: e2e-tests/tests/test_basic_load.py function get_base_url (line 15) | def get_base_url(): function get_webdriver_url (line 20) | def get_webdriver_url(): function driver (line 26) | def driver(): function test_can_connect_to_server (line 63) | def test_can_connect_to_server(driver): function test_homepage_loads (line 83) | def test_homepage_loads(driver): function test_page_has_body_and_root (line 104) | def test_page_has_body_and_root(driver): function test_javascript_is_executing (line 125) | def test_javascript_is_executing(driver): function test_app_renders_diagram_components (line 171) | def test_app_renders_diagram_components(driver): FILE: e2e-tests/tests/test_connector_undo.py function get_base_url (line 16) | def get_base_url(): function get_webdriver_url (line 20) | def get_webdriver_url(): function driver (line 25) | def driver(): function save_screenshot (line 40) | def save_screenshot(driver, name): function dismiss_modals (line 47) | def dismiss_modals(driver): function count_canvas_images (line 83) | def count_canvas_images(driver): function count_connector_polylines (line 91) | def count_connector_polylines(driver): function get_scene_state (line 100) | def get_scene_state(driver): function place_node_at (line 156) | def place_node_at(driver, x_offset, y_offset): function click_connector_tool (line 197) | def click_connector_tool(driver): function click_undo (line 209) | def click_undo(driver): function click_redo (line 220) | def click_redo(driver): function test_connector_undo_redo (line 231) | def test_connector_undo_redo(driver): FILE: e2e-tests/tests/test_export_svg.py function get_base_url (line 18) | def get_base_url(): function get_webdriver_url (line 22) | def get_webdriver_url(): function driver (line 27) | def driver(): function save_screenshot (line 70) | def save_screenshot(driver, name): function dismiss_modals (line 77) | def dismiss_modals(driver): function place_node_at (line 106) | def place_node_at(driver, x_offset, y_offset): function draw_rectangle (line 147) | def draw_rectangle(driver, x, y, width, height): function place_textbox (line 168) | def place_textbox(driver, x, y): function get_scene_state (line 188) | def get_scene_state(driver): function test_export_svg (line 221) | def test_export_svg(driver): FILE: e2e-tests/tests/test_import_diagram.py function get_base_url (line 19) | def get_base_url(): function get_webdriver_url (line 23) | def get_webdriver_url(): function driver (line 28) | def driver(): function save_screenshot (line 45) | def save_screenshot(driver, name): function dismiss_modals (line 52) | def dismiss_modals(driver): function get_scene_state (line 77) | def get_scene_state(driver): function load_expected_counts (line 116) | def load_expected_counts(): function test_import_via_app_button (line 134) | def test_import_via_app_button(driver): FILE: e2e-tests/tests/test_multi_node_undo.py function get_base_url (line 16) | def get_base_url(): function get_webdriver_url (line 20) | def get_webdriver_url(): function driver (line 25) | def driver(): function save_screenshot (line 40) | def save_screenshot(driver, name): function dismiss_modals (line 47) | def dismiss_modals(driver): function count_canvas_images (line 61) | def count_canvas_images(driver): function get_model_items_count (line 69) | def get_model_items_count(driver): function place_node_at (line 95) | def place_node_at(driver, x_offset, y_offset): function click_undo (line 140) | def click_undo(driver): function click_redo (line 151) | def click_redo(driver): function test_multi_node_undo_redo (line 162) | def test_multi_node_undo_redo(driver): FILE: e2e-tests/tests/test_node_placement.py function get_base_url (line 19) | def get_base_url(): function get_webdriver_url (line 23) | def get_webdriver_url(): function driver (line 28) | def driver(): function save_screenshot (line 50) | def save_screenshot(driver, name): function dismiss_modals (line 58) | def dismiss_modals(driver): function dismiss_tips (line 75) | def dismiss_tips(driver): function count_canvas_nodes (line 98) | def count_canvas_nodes(driver): function place_node (line 129) | def place_node(driver, screenshot_prefix=""): function find_toolbar_button (line 190) | def find_toolbar_button(driver, name_substring): function get_undo_redo_debug_info (line 222) | def get_undo_redo_debug_info(driver): function click_undo (line 263) | def click_undo(driver): function click_redo (line 288) | def click_redo(driver): function test_place_node_on_canvas (line 311) | def test_place_node_on_canvas(driver): function test_undo_redo_node (line 349) | def test_undo_redo_node(driver): FILE: e2e-tests/tests/test_rect_text_undo.py function get_base_url (line 16) | def get_base_url(): function get_webdriver_url (line 20) | def get_webdriver_url(): function driver (line 25) | def driver(): function save_screenshot (line 40) | def save_screenshot(driver, name): function dismiss_modals (line 47) | def dismiss_modals(driver): function get_scene_state (line 66) | def get_scene_state(driver): function count_svg_polygons (line 103) | def count_svg_polygons(driver): function count_text_elements (line 113) | def count_text_elements(driver): function click_undo (line 136) | def click_undo(driver): function click_redo (line 145) | def click_redo(driver): function test_rectangle_undo_redo (line 158) | def test_rectangle_undo_redo(driver): function test_textbox_undo_redo (line 271) | def test_textbox_undo_redo(driver): FILE: e2e-tests/tests/test_store_debug.py function setup_driver (line 12) | def setup_driver(): function dump_store (line 24) | def dump_store(d, label): function count_dom_nodes (line 61) | def count_dom_nodes(d): function place_node (line 73) | def place_node(d): function main (line 122) | def main(): FILE: packages/fossflow-app/public/service-worker.js constant CACHE_NAME (line 1) | const CACHE_NAME = 'fossflow-v1'; FILE: packages/fossflow-app/src/App.tsx type SavedDiagram (line 23) | interface SavedDiagram { function App (line 31) | function App() { function EditorPage (line 47) | function EditorPage() { FILE: packages/fossflow-app/src/EditorPage.tsx type SavedDiagram (line 20) | interface SavedDiagram { function EditorPage (line 28) | function EditorPage() { FILE: packages/fossflow-app/src/StorageManager.tsx type StorageInfo (line 3) | interface StorageInfo { FILE: packages/fossflow-app/src/components/DiagramManager.tsx type Props (line 5) | interface Props { FILE: packages/fossflow-app/src/components/ErrorBoundary.tsx type ErrorBoundaryFallbackUIProps (line 3) | interface ErrorBoundaryFallbackUIProps { function ErrorBoundaryFallbackUI (line 7) | function ErrorBoundaryFallbackUI({ FILE: packages/fossflow-app/src/diagramUtils.ts type DiagramData (line 3) | interface DiagramData { function mergeDiagramData (line 15) | function mergeDiagramData(base: DiagramData, update: Partial = { FILE: packages/fossflow-app/src/services/storageService.ts type DiagramInfo (line 3) | interface DiagramInfo { type StorageService (line 10) | interface StorageService { class ServerStorage (line 20) | class ServerStorage implements StorageService { method constructor (line 26) | constructor(baseUrl: string = '') { method isAvailable (line 33) | async isAvailable(): Promise { method listDiagrams (line 61) | async listDiagrams(): Promise { method loadDiagram (line 81) | async loadDiagram(id: string): Promise { method saveDiagram (line 105) | async saveDiagram(id: string, data: Model): Promise { method deleteDiagram (line 128) | async deleteDiagram(id: string): Promise { method createDiagram (line 135) | async createDiagram(data: Model): Promise { class SessionStorage (line 148) | class SessionStorage implements StorageService { method isAvailable (line 152) | async isAvailable(): Promise { method listDiagrams (line 156) | async listDiagrams(): Promise { method loadDiagram (line 167) | async loadDiagram(id: string): Promise { method saveDiagram (line 173) | async saveDiagram(id: string, data: Model): Promise { method deleteDiagram (line 195) | async deleteDiagram(id: string): Promise { method createDiagram (line 204) | async createDiagram(data: Model): Promise { class StorageManager (line 212) | class StorageManager { method constructor (line 217) | constructor() { method initialize (line 222) | async initialize(): Promise { method getStorage (line 234) | getStorage(): StorageService { method isServerStorage (line 241) | isServerStorage(): boolean { FILE: packages/fossflow-app/src/usePersistedDiagram.ts type PersistedDiagramData (line 4) | interface PersistedDiagramData extends Omit { FILE: packages/fossflow-backend/server.js constant PORT (line 15) | const PORT = process.env.BACKEND_PORT || 3001; constant STORAGE_ENABLED (line 18) | const STORAGE_ENABLED = process.env.ENABLE_SERVER_STORAGE === 'true'; constant STORAGE_PATH (line 19) | const STORAGE_PATH = process.env.STORAGE_PATH || '/data/diagrams'; constant ENABLE_GIT_BACKUP (line 20) | const ENABLE_GIT_BACKUP = process.env.ENABLE_GIT_BACKUP === 'true'; function ensureStorageDir (line 38) | async function ensureStorageDir() { FILE: packages/fossflow-lib/docs/pages/index.tsx function Home (line 4) | function Home() { FILE: packages/fossflow-lib/src/components/Circle/Circle.tsx type Props (line 4) | interface Props { FILE: packages/fossflow-lib/src/components/ColorSelector/ColorPicker.tsx type Props (line 9) | interface Props extends Omit {} FILE: packages/fossflow-lib/src/components/ColorSelector/ColorSelector.tsx type Props (line 6) | interface Props { FILE: packages/fossflow-lib/src/components/ColorSelector/ColorSwatch.tsx type Props (line 4) | type Props = { FILE: packages/fossflow-lib/src/components/ColorSelector/CustomColorInput.tsx type EyeDropper (line 6) | interface EyeDropper { type Window (line 11) | interface Window { type Props (line 18) | interface Props { FILE: packages/fossflow-lib/src/components/ConnectorHintTooltip/ConnectorHintTooltip.tsx constant STORAGE_KEY (line 7) | const STORAGE_KEY = 'fossflow_connector_hint_dismissed'; type Props (line 9) | interface Props { FILE: packages/fossflow-lib/src/components/ConnectorRerouteTooltip/ConnectorRerouteTooltip.tsx constant STORAGE_KEY (line 8) | const STORAGE_KEY = 'fossflow_connector_reroute_hint_dismissed'; FILE: packages/fossflow-lib/src/components/ContextMenu/ContextMenu.tsx type MenuItemI (line 4) | interface MenuItemI { type Props (line 9) | interface Props { FILE: packages/fossflow-lib/src/components/ContextMenu/ContextMenuManager.tsx type Props (line 9) | interface Props { FILE: packages/fossflow-lib/src/components/DOMErrorBoundary/DOMErrorBoundary.tsx type DOMErrorBoundaryProps (line 3) | interface DOMErrorBoundaryProps { type DOMErrorBoundaryState (line 9) | interface DOMErrorBoundaryState { class DOMErrorBoundary (line 18) | class DOMErrorBoundary extends Component & { constant STANDARD_LABEL_HEIGHT (line 13) | const STANDARD_LABEL_HEIGHT = 80; FILE: packages/fossflow-lib/src/components/Label/Label.tsx constant CONNECTOR_DOT_SIZE (line 4) | const CONNECTOR_DOT_SIZE = 3; type Props (line 6) | interface Props { FILE: packages/fossflow-lib/src/components/LassoHintTooltip/LassoHintTooltip.tsx constant STORAGE_KEY (line 7) | const STORAGE_KEY = 'fossflow_lasso_hint_dismissed'; type Props (line 9) | interface Props { FILE: packages/fossflow-lib/src/components/LazyLoadingWelcomeNotification/LazyLoadingWelcomeNotification.tsx constant STORAGE_KEY (line 6) | const STORAGE_KEY = 'fossflow-lazy-loading-welcome-dismissed'; FILE: packages/fossflow-lib/src/components/Loader/Loader.tsx type Props (line 4) | interface Props { FILE: packages/fossflow-lib/src/components/MainMenu/MenuItem.tsx type Props (line 4) | interface Props { FILE: packages/fossflow-lib/src/components/RichTextEditor/RichTextEditor.tsx type Props (line 6) | interface Props { FILE: packages/fossflow-lib/src/components/RichTextEditor/RichTextEditorErrorBoundary.tsx type ErrorBoundaryProps (line 3) | interface ErrorBoundaryProps { type ErrorBoundaryState (line 8) | interface ErrorBoundaryState { class RichTextEditorErrorBoundary (line 13) | class RichTextEditorErrorBoundary extends Component['rectangles'][0]; FILE: packages/fossflow-lib/src/components/SceneLayers/Rectangles/Rectangles.tsx type Props (line 5) | interface Props { FILE: packages/fossflow-lib/src/components/SceneLayers/TextBoxes/TextBox.tsx type Props (line 8) | interface Props { FILE: packages/fossflow-lib/src/components/SceneLayers/TextBoxes/TextBoxes.tsx type Props (line 5) | interface Props { FILE: packages/fossflow-lib/src/components/SettingsDialog/SettingsDialog.tsx type SettingsDialogProps (line 23) | interface SettingsDialogProps { FILE: packages/fossflow-lib/src/components/Svg/Svg.tsx type Props (line 4) | type Props = React.SVGProps & { FILE: packages/fossflow-lib/src/components/TransformControlsManager/NodeTransformControls.tsx type Props (line 5) | interface Props { FILE: packages/fossflow-lib/src/components/TransformControlsManager/RectangleTransformControls.tsx type Props (line 7) | interface Props { FILE: packages/fossflow-lib/src/components/TransformControlsManager/TextBoxTransformControls.tsx type Props (line 6) | interface Props { FILE: packages/fossflow-lib/src/components/TransformControlsManager/TransformAnchor.tsx type Props (line 8) | interface Props { FILE: packages/fossflow-lib/src/components/TransformControlsManager/TransformControls.tsx type Props (line 14) | interface Props { FILE: packages/fossflow-lib/src/components/UiElement/UiElement.tsx type Props (line 4) | interface Props { FILE: packages/fossflow-lib/src/components/UiOverlay/UiOverlay.tsx type EditorModeMapping (line 37) | interface EditorModeMapping { constant EDITOR_MODE_MAPPING (line 41) | const EDITOR_MODE_MAPPING: EditorModeMapping = { FILE: packages/fossflow-lib/src/config.ts constant UNPROJECTED_TILE_SIZE (line 17) | const UNPROJECTED_TILE_SIZE = 100; constant TILE_PROJECTION_MULTIPLIERS (line 18) | const TILE_PROJECTION_MULTIPLIERS: Size = { constant PROJECTED_TILE_SIZE (line 22) | const PROJECTED_TILE_SIZE = { constant DEFAULT_COLOR (line 27) | const DEFAULT_COLOR: Colors[0] = { constant DEFAULT_FONT_FAMILY (line 32) | const DEFAULT_FONT_FAMILY = 'Roboto, Arial, sans-serif'; constant VIEW_DEFAULTS (line 34) | const VIEW_DEFAULTS: Required< constant VIEW_ITEM_DEFAULTS (line 44) | const VIEW_ITEM_DEFAULTS: Required> = { constant CONNECTOR_DEFAULTS (line 48) | const CONNECTOR_DEFAULTS: Required> = { constant CONNECTOR_SEARCH_OFFSET (line 66) | const CONNECTOR_SEARCH_OFFSET = { x: 1, y: 1 }; constant TEXTBOX_DEFAULTS (line 68) | const TEXTBOX_DEFAULTS: Required> = { constant TEXTBOX_PADDING (line 74) | const TEXTBOX_PADDING = 0.2; constant TEXTBOX_FONT_WEIGHT (line 75) | const TEXTBOX_FONT_WEIGHT = 'bold'; constant RECTANGLE_DEFAULTS (line 77) | const RECTANGLE_DEFAULTS: Required< constant ZOOM_INCREMENT (line 83) | const ZOOM_INCREMENT = 0.05; constant MIN_ZOOM (line 84) | const MIN_ZOOM = 0.1; constant MAX_ZOOM (line 85) | const MAX_ZOOM = 1; constant TRANSFORM_ANCHOR_SIZE (line 86) | const TRANSFORM_ANCHOR_SIZE = 30; constant TRANSFORM_CONTROLS_COLOR (line 87) | const TRANSFORM_CONTROLS_COLOR = '#0392ff'; constant INITIAL_DATA (line 88) | const INITIAL_DATA: InitialData = { constant INITIAL_UI_STATE (line 97) | const INITIAL_UI_STATE = { constant INITIAL_SCENE_STATE (line 104) | const INITIAL_SCENE_STATE = { constant MAIN_MENU_OPTIONS (line 108) | const MAIN_MENU_OPTIONS: MainMenuOptions = [ constant DEFAULT_ICON (line 118) | const DEFAULT_ICON: Icon = { constant DEFAULT_LABEL_HEIGHT (line 125) | const DEFAULT_LABEL_HEIGHT = 20; constant PROJECT_BOUNDING_BOX_PADDING (line 126) | const PROJECT_BOUNDING_BOX_PADDING = 3; constant MARKDOWN_EMPTY_VALUE (line 127) | const MARKDOWN_EMPTY_VALUE = '


'; FILE: packages/fossflow-lib/src/config/hotkeys.ts type HotkeyProfile (line 1) | type HotkeyProfile = 'qwerty' | 'smnrct' | 'none'; type HotkeyMapping (line 3) | interface HotkeyMapping { constant HOTKEY_PROFILES (line 14) | const HOTKEY_PROFILES: Record = { constant DEFAULT_HOTKEY_PROFILE (line 47) | const DEFAULT_HOTKEY_PROFILE: HotkeyProfile = 'smnrct'; FILE: packages/fossflow-lib/src/config/labelSettings.ts type LabelSettings (line 1) | interface LabelSettings { constant DEFAULT_LABEL_SETTINGS (line 5) | const DEFAULT_LABEL_SETTINGS: LabelSettings = { FILE: packages/fossflow-lib/src/config/panSettings.ts type PanSettings (line 1) | interface PanSettings { constant DEFAULT_PAN_SETTINGS (line 18) | const DEFAULT_PAN_SETTINGS: PanSettings = { FILE: packages/fossflow-lib/src/config/zoomSettings.ts type ZoomSettings (line 1) | interface ZoomSettings { constant DEFAULT_ZOOM_SETTINGS (line 6) | const DEFAULT_ZOOM_SETTINGS: ZoomSettings = { FILE: packages/fossflow-lib/src/global.d.ts type Window (line 7) | interface Window { type ReactQuillProps (line 18) | interface ReactQuillProps { FILE: packages/fossflow-lib/src/hooks/useIsoProjection.ts type Props (line 10) | interface Props { FILE: packages/fossflow-lib/src/interaction/useInteractionManager.ts type PendingMouseUpdate (line 24) | interface PendingMouseUpdate { FILE: packages/fossflow-lib/src/schemas/validation.ts type IssueType (line 11) | type IssueType = type Issue (line 76) | type Issue = IssueType & { FILE: packages/fossflow-lib/src/stores/localeStore.tsx type LocaleProviderProps (line 7) | interface LocaleProviderProps { type NestedKeyOf (line 29) | type NestedKeyOf = { function useTranslation (line 46) | function useTranslation(namespace?: K) { FILE: packages/fossflow-lib/src/stores/modelStore.tsx type HistoryState (line 6) | interface HistoryState { type ModelStoreWithHistory (line 13) | interface ModelStoreWithHistory extends Omit { constant MAX_HISTORY_SIZE (line 27) | const MAX_HISTORY_SIZE = 50; type ProviderProps (line 171) | interface ProviderProps { function useModelStore (line 189) | function useModelStore( function useModelStoreApi (line 203) | function useModelStoreApi() { FILE: packages/fossflow-lib/src/stores/reducers/types.ts type State (line 8) | interface State { type ViewReducerContext (line 13) | interface ViewReducerContext { type ViewReducerAction (line 18) | type ViewReducerAction = type ViewReducerParams (line 88) | type ViewReducerParams = ViewReducerAction & { ctx: ViewReducerContext }; FILE: packages/fossflow-lib/src/stores/sceneStore.tsx type SceneHistoryState (line 5) | interface SceneHistoryState { type SceneStoreWithHistory (line 12) | interface SceneStoreWithHistory extends Omit { constant MAX_HISTORY_SIZE (line 26) | const MAX_HISTORY_SIZE = 50; type ProviderProps (line 168) | interface ProviderProps { function useSceneStore (line 186) | function useSceneStore( function useSceneStoreApi (line 200) | function useSceneStoreApi() { FILE: packages/fossflow-lib/src/stores/uiStateStore.tsx type ProviderProps (line 137) | interface ProviderProps { function useUiStateStore (line 157) | function useUiStateStore( function useUiStateStoreApi (line 172) | function useUiStateStoreApi() { FILE: packages/fossflow-lib/src/styles/theme.ts type CustomThemeVars (line 3) | interface CustomThemeVars { type Theme (line 17) | interface Theme { type ThemeOptions (line 21) | interface ThemeOptions { FILE: packages/fossflow-lib/src/types/common.ts type Coords (line 1) | interface Coords { type Size (line 6) | interface Size { type Rect (line 11) | interface Rect { type BoundingBox (line 21) | type BoundingBox = [Coords, Coords, Coords, Coords]; type SlimMouseEvent (line 23) | type SlimMouseEvent = Pick< type MainMenuOptions (line 44) | type MainMenuOptions = (keyof typeof MainMenuOptionsEnum)[]; FILE: packages/fossflow-lib/src/types/dom-to-image-more.d.ts type Options (line 2) | interface Options { FILE: packages/fossflow-lib/src/types/interactions.ts type State (line 4) | interface State { type ModeActionsAction (line 13) | type ModeActionsAction = (state: State) => void; type ModeActions (line 15) | type ModeActions = { FILE: packages/fossflow-lib/src/types/isoflowProps.ts type InitialData (line 5) | type InitialData = Model & { type LocaleProps (line 10) | interface LocaleProps { type IconPackManagerProps (line 201) | interface IconPackManagerProps { type IsoflowProps (line 216) | interface IsoflowProps { FILE: packages/fossflow-lib/src/types/model.ts type Model (line 23) | type Model = z.infer; type ModelItems (line 24) | type ModelItems = z.infer; type Icon (line 25) | type Icon = z.infer; type Icons (line 26) | type Icons = z.infer; type Colors (line 27) | type Colors = z.infer; type ModelItem (line 28) | type ModelItem = z.infer; type Views (line 29) | type Views = z.infer; type View (line 30) | type View = z.infer; type ViewItem (line 31) | type ViewItem = z.infer; type ConnectorStyle (line 32) | type ConnectorStyle = keyof typeof connectorStyleOptions; type ConnectorLineType (line 33) | type ConnectorLineType = keyof typeof connectorLineTypeOptions; type ConnectorAnchor (line 34) | type ConnectorAnchor = z.infer; type ConnectorLabel (line 35) | type ConnectorLabel = z.infer; type Connector (line 36) | type Connector = z.infer; type TextBox (line 37) | type TextBox = z.infer; type Rectangle (line 38) | type Rectangle = z.infer; type ModelStore (line 40) | type ModelStore = Model & { FILE: packages/fossflow-lib/src/types/rendererProps.ts type RendererProps (line 1) | interface RendererProps { FILE: packages/fossflow-lib/src/types/scene.ts type TileOrigin (line 12) | type TileOrigin = keyof typeof tileOriginOptions; type ItemReferenceType (line 22) | type ItemReferenceType = keyof typeof ItemReferenceTypeOptions; type ItemReference (line 24) | type ItemReference = { type ConnectorPath (line 29) | type ConnectorPath = { type SceneConnector (line 34) | interface SceneConnector { type SceneTextBox (line 38) | interface SceneTextBox { type Scene (line 42) | interface Scene { type SceneStore (line 51) | type SceneStore = Scene & { FILE: packages/fossflow-lib/src/types/ui.ts type AddItemControls (line 10) | interface AddItemControls { type ItemControls (line 14) | type ItemControls = ItemReference | AddItemControls; type Mouse (line 16) | interface Mouse { type InteractionsDisabled (line 32) | interface InteractionsDisabled { type CursorMode (line 37) | interface CursorMode { type DragItemsMode (line 43) | interface DragItemsMode { type PanMode (line 50) | interface PanMode { type PlaceIconMode (line 55) | interface PlaceIconMode { type ConnectorMode (line 61) | interface ConnectorMode { type DrawRectangleMode (line 73) | interface DrawRectangleMode { type AnchorPosition (line 86) | type AnchorPosition = keyof typeof AnchorPositionOptions; type TransformRectangleMode (line 88) | interface TransformRectangleMode { type TextBoxMode (line 95) | interface TextBoxMode { type LassoMode (line 101) | interface LassoMode { type FreehandLassoMode (line 112) | interface FreehandLassoMode { type Mode (line 123) | type Mode = type Scroll (line 137) | interface Scroll { type IconCollectionState (line 142) | interface IconCollectionState { type IconCollectionStateWithIcons (line 147) | type IconCollectionStateWithIcons = IconCollectionState & { type ContextMenu (line 157) | interface ContextMenu { type ConnectorInteractionMode (line 164) | type ConnectorInteractionMode = 'click' | 'drag'; type UiState (line 166) | interface UiState { type UiStateActions (line 191) | interface UiStateActions { type UiStateStore (line 219) | type UiStateStore = UiState & { FILE: packages/fossflow-lib/src/utils/CoordsUtils.ts class CoordsUtils (line 3) | class CoordsUtils { method isEqual (line 4) | static isEqual(base: Coords, operand: Coords) { method subtract (line 8) | static subtract(base: Coords, operand: Coords): Coords { method add (line 12) | static add(base: Coords, operand: Coords): Coords { method multiply (line 16) | static multiply(base: Coords, operand: number): Coords { method toString (line 20) | static toString(coords: Coords) { method sum (line 24) | static sum(coords: Coords) { method zero (line 28) | static zero() { FILE: packages/fossflow-lib/src/utils/SizeUtils.ts class SizeUtils (line 3) | class SizeUtils { method isEqual (line 4) | static isEqual(base: Size, operand: Size) { method subtract (line 8) | static subtract(base: Size, operand: Size): Size { method add (line 15) | static add(base: Size, operand: Size): Size { method multiply (line 22) | static multiply(base: Size, operand: number): Size { method toString (line 26) | static toString(size: Size) { method zero (line 30) | static zero() { FILE: packages/fossflow-lib/src/utils/common.ts type GetColorVariantOpts (line 25) | interface GetColorVariantOpts { function getItemByIdOrThrow (line 86) | function getItemByIdOrThrow( function getItemById (line 101) | function getItemById( function getItemByIndexOrThrow (line 116) | function getItemByIndexOrThrow(items: T[], index: number): T { FILE: packages/fossflow-lib/src/utils/pathfinder.ts type Args (line 4) | interface Args { FILE: packages/fossflow-lib/src/utils/renderer.ts type ScreenToIso (line 43) | interface ScreenToIso { type GetTilePosition (line 80) | interface GetTilePosition { type IsoToScreen (line 112) | type IsoToScreen = GetTilePosition & { type GetMouse (line 243) | interface GetMouse { type NormalisePositionFromOrigin (line 334) | interface NormalisePositionFromOrigin { type GetConnectorPath (line 346) | interface GetConnectorPath { type GetRectangleFromSize (line 402) | type GetRectangleFromSize = ( type GetItemAtTile (line 444) | interface GetItemAtTile { type FontProps (line 519) | interface FontProps {