Package overview

73public exports
0components
18modules
1entrypoints

Entrypoints

  • src/index.ts

Modules

knip.config.ts

Referenced module

Dependencies: None

Exports: default

paradox.config.ts

Referenced module

Dependencies: None

Exports: default

src/canvasDropZones.test.ts

Referenced module

Dependencies: src/canvasDropZones.ts, src/index.ts

Exports: None

src/canvasDropZones.ts

Referenced module

Dependencies: src/index.ts

Exports: CanvasDropZoneResolution, getValidCanvasDropZones, resolveCanvasDropZones, ValidCanvasDropZoneResolution

src/index.test.ts

Referenced module

Dependencies: src/index.ts

Exports: None

src/index.ts

Configured entrypoint

Dependencies: None

Exports: ACTION_REGISTRY, ActionDefinition, addNodeToTree, buildInsertCatalogEntries, canAcceptChild, cloneWithNewIds, createNodeFromCatalogEntry, findNodeById, generateStudioId, getInsertCatalogCategoryLabel, InsertCatalogComponentEntry, InsertCatalogDisabledReason, InsertCatalogDisabledReasonCode, InsertCatalogEntry, InsertCatalogEntryBase, InsertCatalogEntryKind, InsertCatalogEntryStatus, InsertCatalogRecipeEntry, insertNodeAtPlacement, InsertNodeAtPlacementArgs, InsertNodeAtPlacementResult, InsertRecipe, InsertRecipeIssue, InsertRecipeNode, ModuleDefinition, moveNodeInTree, moveNodeToPlacement, MoveNodeToPlacementArgs, MoveNodeToPlacementResult, NodePlacement, PlacementFailureCode, PlacementFailureReason, PlacementKind, PlacementResolutionResult, PlacementValidationResult, removeNodeFromTree, resolveDefaultInsertPlacement, resolveInsertCatalogEntries, resolveInsertPlacement, STUDIO_INSERT_RECIPES, STUDIO_PACKAGE_BOUNDARY, STUDIO_PACKAGE_NAME, STUDIO_PUBLIC_CONTRACTS, StudioActionPayloadField, StudioActionPayloadPrimitive, StudioActionPayloadSchema, StudioAdminRoutePath, StudioCommand, StudioComponentBlueprint, StudioComponentMeta, StudioComponentMetaRegistry, StudioContextValue, StudioEvent, StudioIdGenerator, StudioLocale, StudioManifest, StudioMode, StudioModuleId, StudioNodeId, StudioPackageBoundary, StudioPanelId, StudioProjectId, StudioPublicContract, StudioSaveStatus, StudioScreenId, StudioSelectionState, StudioSessionId, StudioSessionState, ThemeUpdates, TPL_SCREEN_EMPTY, updateNodeInTree, validateInsertRecipe, validateNodePlacement

src/manifestNavigatorPreviewModel.public.test.ts

Referenced module

Dependencies: src/manifestNavigatorPreviewModel.ts

Exports: None

src/manifestNavigatorPreviewModel.test.ts

Referenced module

Dependencies: src/manifestNavigatorPreviewModel.ts

Exports: None

src/manifestNavigatorPreviewModel.ts

Referenced module

Dependencies: src/routeUtils.ts

Exports: buildManifestNavigatorPreviewModel, ManifestNavigatorPreviewModel, PreviewNavigationDiagnostic, PreviewNavigationRoute, resolveLeafScreenIdForChromeRouteName, resolveLeafScreenIdForRoute, StudioNavigationRouteMap, StudioNavigationRouteMapEntry

src/manifestState.public.test.ts

Referenced module

Dependencies: src/index.ts, src/manifestState.ts

Exports: None

src/manifestState.routes.test.ts

Referenced module

Dependencies: src/index.ts, src/manifestState.ts

Exports: None

src/manifestState.test.ts

Referenced module

Dependencies: src/index.ts, src/manifestState.ts

Exports: None

src/manifestState.ts

Referenced module

Dependencies: src/index.ts

Exports: addStudioManifestScreen, addStudioManifestTheme, collectScreenRouteEntries, createDefaultThemeConfig, createStudioManifestFingerprint, DEFAULT_STUDIO_SCREEN_TEMPLATE, deleteStudioManifestNode, deleteStudioManifestScreen, deleteStudioManifestTheme, findNavigatorAtPath, findNodeInManifest, findParentPathForScreenId, findRoutesAtParentPath, findScreenIdForNode, generateManifestStateId, getPrimaryNavigatorPath, groupScreenRouteEntries, insertRouteAtParentPath, insertStudioManifestNodeAtPlacement, isRouteGroupSegment, listScreenIdsInRouteOrder, makeUniqueRouteNameForParent, makeUniqueSiblingRouteName, moveStudioManifestNode, moveStudioManifestNodeToPlacement, pathToKey, removeScreenIdFromRoutes, reorderStudioManifestScreens, resolveActiveRootNode, resolveInitialActiveScreenId, resolveSafeSelectedNodeId, ScreenRouteEntry, ScreenRouteGroup, setStudioManifestActiveThemeId, setStudioManifestActiveThemeMode, setStudioManifestNavigatorInitialRoute, setStudioManifestNavigatorType, StudioManifestNodeInsertResult, StudioManifestNodeMoveResult, StudioManifestScreenMutationResult, toCanonicalRoutePattern, updateNavigatorAtPath, updateStudioManifestAppData, updateStudioManifestDataBindings, updateStudioManifestDataSources, updateStudioManifestModuleConfig, updateStudioManifestNode, updateStudioManifestOAuthProviders, updateStudioManifestTheme

src/manifestSync.test.ts

Referenced module

Dependencies: src/index.ts, src/manifestSync.ts

Exports: None

src/manifestSync.ts

Referenced module

Dependencies: src/index.ts

Exports: createStudioManifestSignature, createStudioRuntimeSyncSignature

src/routeUtils.public.test.ts

Referenced module

Dependencies: src/routeUtils.ts

Exports: None

src/routeUtils.test.ts

Referenced module

Dependencies: src/routeUtils.ts

Exports: None

src/routeUtils.ts

Referenced module

Dependencies: None

Exports: collectScreenRouteEntries, findNavigatorAtPath, findParentPathForScreenId, findRoutesAtParentPath, getPrimaryNavigatorPath, groupScreenRouteEntries, insertRouteAtParentPath, isRouteGroupSegment, listScreenIdsInRouteOrder, makeUniqueRouteNameForParent, makeUniqueSiblingRouteName, pathToKey, removeScreenIdFromRoutes, reorderLeafRoutesWithinParent, ScreenRouteEntry, ScreenRouteGroup, toCanonicalRoutePattern, updateNavigatorAtPath

Public API

src/index.ts

ACTION_REGISTRY

value • src/index.ts:304:14

Export paths: src/index.ts

Related symbols: None

ActionDefinition

type • src/index.ts:218:1

Export paths: src/index.ts

Related symbols:
  • StudioActionPayloadSchema
Member Kind Type Required Description
description property string yes
label property string yes
payloadSchema property StudioActionPayloadSchema | undefined no
requiresPayload property boolean yes
type property ActionType yes

addNodeToTree

value • src/index.ts:526:14

Export paths: src/index.ts

Related symbols:
  • StudioComponentMetaRegistry
Signature
(args: { root: UiNode; targetId: string; newNode: UiNode; componentMeta: StudioComponentMetaRegistry; mode?: "append" | "prepend"; }) => UiNode
Parameter Type Required Description
args { root: UiNode; targetId: string; newNode: UiNode; componentMeta: StudioComponentMetaRegistry; mode?: "append" | "prepend"; } yes

Returns: UiNode

buildInsertCatalogEntries

function • src/index.ts:1238:1

Export paths: src/index.ts

Related symbols:
  • InsertCatalogEntry
  • InsertRecipe
  • StudioComponentMetaRegistry
Signature
(args: { componentMeta: StudioComponentMetaRegistry; recipes?: readonly InsertRecipe[]; }) => InsertCatalogEntry[]
Parameter Type Required Description
args { componentMeta: StudioComponentMetaRegistry; recipes?: readonly InsertRecipe[]; } yes

Returns: InsertCatalogEntry[]

canAcceptChild

function • src/index.ts:685:1

Export paths: src/index.ts

Related symbols:
  • StudioComponentMetaRegistry
Signature
(args: { parentType: string; childType: string; componentMeta: StudioComponentMetaRegistry; }) => boolean
Parameter Type Required Description
args { parentType: string; childType: string; componentMeta: StudioComponentMetaRegistry; } yes

Returns: boolean

cloneWithNewIds

value • src/index.ts:451:14

Export paths: src/index.ts

Related symbols:
  • StudioIdGenerator
Signature
(node: UiNode, createId?: StudioIdGenerator) => UiNode
Parameter Type Required Description
createId StudioIdGenerator no
node UiNode yes

Returns: UiNode

createNodeFromCatalogEntry

function • src/index.ts:1157:1

Export paths: src/index.ts

Related symbols:
  • InsertCatalogEntry
  • StudioComponentMetaRegistry
  • StudioIdGenerator
Signature
(entry: InsertCatalogEntry, componentMeta: StudioComponentMetaRegistry, createId?: StudioIdGenerator) => UiNode
Parameter Type Required Description
componentMeta StudioComponentMetaRegistry yes
createId StudioIdGenerator no
entry InsertCatalogEntry yes

Returns: UiNode

findNodeById

value • src/index.ts:468:14

Export paths: src/index.ts

Related symbols: None
Signature
(root: UiNode, id: string) => UiNode | null
Parameter Type Required Description
id string yes
root UiNode yes

Returns: UiNode | null

generateStudioId

value • src/index.ts:444:14

Export paths: src/index.ts

Related symbols: None
Signature
(prefix?: string | undefined) => string
Parameter Type Required Description
prefix string | undefined no

Returns: string

getInsertCatalogCategoryLabel

function • src/index.ts:1083:1

Export paths: src/index.ts

Related symbols: None
Signature
(category: string) => string
Parameter Type Required Description
category string yes

Returns: string

InsertCatalogComponentEntry

type • src/index.ts:196:1

Export paths: src/index.ts

Related symbols:
  • InsertCatalogDisabledReason
  • InsertCatalogEntryStatus
  • NodePlacement
Member Kind Type Required Description
category property string yes
componentType property string yes
description property string | undefined no
disabledReason property InsertCatalogDisabledReason | undefined no
id property string yes
kind property "component" yes
label property string yes
placement property NodePlacement | undefined no
rootType property string yes
status property InsertCatalogEntryStatus yes

InsertCatalogDisabledReason

type • src/index.ts:178:1

Export paths: src/index.ts

Related symbols:
  • InsertCatalogDisabledReasonCode
  • InsertRecipeIssue
Member Kind Type Required Description
code property InsertCatalogDisabledReasonCode yes
detail property string yes
issue property InsertRecipeIssue | undefined no

InsertCatalogDisabledReasonCode

unknown • src/index.ts:155:1

Export paths: src/index.ts

Related symbols: None

InsertCatalogEntry

unknown • src/index.ts:206:1

Export paths: src/index.ts

Related symbols: None

InsertCatalogEntryBase

type • src/index.ts:184:1

Export paths: src/index.ts

Related symbols:
  • InsertCatalogDisabledReason
  • InsertCatalogEntryKind
  • InsertCatalogEntryStatus
  • NodePlacement
Member Kind Type Required Description
category property string yes
description property string | undefined no
disabledReason property InsertCatalogDisabledReason | undefined no
id property string yes
kind property InsertCatalogEntryKind yes
label property string yes
placement property NodePlacement | undefined no
rootType property string yes
status property InsertCatalogEntryStatus yes

InsertCatalogEntryKind

unknown • src/index.ts:152:1

Export paths: src/index.ts

Related symbols: None

InsertCatalogEntryStatus

unknown • src/index.ts:153:1

Export paths: src/index.ts

Related symbols: None

InsertCatalogRecipeEntry

type • src/index.ts:201:1

Export paths: src/index.ts

Related symbols:
  • InsertCatalogDisabledReason
  • InsertCatalogEntryStatus
  • InsertRecipe
  • NodePlacement
Member Kind Type Required Description
category property string yes
description property string | undefined no
disabledReason property InsertCatalogDisabledReason | undefined no
id property string yes
kind property "recipe" yes
label property string yes
placement property NodePlacement | undefined no
recipe property InsertRecipe yes
rootType property string yes
status property InsertCatalogEntryStatus yes

insertNodeAtPlacement

function • src/index.ts:915:1

Export paths: src/index.ts

Related symbols:
  • InsertNodeAtPlacementArgs
  • InsertNodeAtPlacementResult
Signature
(args: InsertNodeAtPlacementArgs) => InsertNodeAtPlacementResult | null
Parameter Type Required Description
args InsertNodeAtPlacementArgs yes

Returns: InsertNodeAtPlacementResult | null

InsertNodeAtPlacementArgs

type • src/index.ts:858:1

Export paths: src/index.ts

Related symbols:
  • NodePlacement
  • StudioComponentMetaRegistry
Member Kind Type Required Description
componentMeta property StudioComponentMetaRegistry yes
makeNode property () => UiNode yes
placement property NodePlacement yes
root property UiNode yes

InsertNodeAtPlacementResult

type • src/index.ts:865:1

Export paths: src/index.ts

Related symbols: None
Member Kind Type Required Description
insertedNodeId property string yes
root property UiNode yes

InsertRecipe

type • src/index.ts:163:1

Export paths: src/index.ts

Related symbols:
  • InsertRecipeNode
Member Kind Type Required Description
category property string yes
description property string | undefined no
id property string yes
label property string yes
root property InsertRecipeNode yes

InsertRecipeIssue

type • src/index.ts:171:1

Export paths: src/index.ts

Related symbols: None
Member Kind Type Required Description
childType property string | undefined no
code property "child-not-allowed" | "missing-meta" yes
nodeType property string yes
path property string[] yes

InsertRecipeNode

type • src/index.ts:158:1

Export paths: src/index.ts

Related symbols: None
Member Kind Type Required Description
children property InsertRecipeNode[] | undefined no
type property string yes

ModuleDefinition

type • src/index.ts:226:1

Export paths: src/index.ts

Related symbols: None
Member Kind Type Required Description
description property string yes
id property string yes
name property string yes
ui property { modal?: { title: string; }; } | undefined no

moveNodeInTree

value • src/index.ts:559:14

Export paths: src/index.ts

Related symbols: None
Signature
(root: UiNode, nodeId: string, direction: "up" | "down") => UiNode
Parameter Type Required Description
direction "up" | "down" yes
nodeId string yes
root UiNode yes

Returns: UiNode

moveNodeToPlacement

function • src/index.ts:983:1

Export paths: src/index.ts

Related symbols:
  • MoveNodeToPlacementArgs
  • MoveNodeToPlacementResult
Signature
(args: MoveNodeToPlacementArgs) => MoveNodeToPlacementResult | null
Parameter Type Required Description
args MoveNodeToPlacementArgs yes

Returns: MoveNodeToPlacementResult | null

MoveNodeToPlacementArgs

type • src/index.ts:942:1

Export paths: src/index.ts

Related symbols:
  • NodePlacement
  • StudioComponentMetaRegistry
Member Kind Type Required Description
componentMeta property StudioComponentMetaRegistry yes
nodeId property string yes
placement property NodePlacement yes
root property UiNode yes

MoveNodeToPlacementResult

type • src/index.ts:949:1

Export paths: src/index.ts

Related symbols: None
Member Kind Type Required Description
movedNodeId property string yes
root property UiNode yes

NodePlacement

type • src/index.ts:114:1

Export paths: src/index.ts

Related symbols:
  • PlacementKind
Member Kind Type Required Description
index property number yes
kind property PlacementKind yes
parentId property string yes
referenceId property string | undefined no

PlacementFailureCode

unknown • src/index.ts:121:1

Export paths: src/index.ts

Related symbols: None

PlacementFailureReason

type • src/index.ts:133:1

Export paths: src/index.ts

Related symbols:
  • PlacementFailureCode
Member Kind Type Required Description
code property PlacementFailureCode yes
message property string yes

PlacementKind

unknown • src/index.ts:112:1

Export paths: src/index.ts

Related symbols: None

PlacementResolutionResult

unknown • src/index.ts:145:1

Export paths: src/index.ts

Related symbols: None

PlacementValidationResult

unknown • src/index.ts:138:1

Export paths: src/index.ts

Related symbols: None

removeNodeFromTree

value • src/index.ts:508:14

Export paths: src/index.ts

Related symbols: None
Signature
(root: UiNode, nodeId: string) => UiNode | null
Parameter Type Required Description
nodeId string yes
root UiNode yes

Returns: UiNode | null

resolveDefaultInsertPlacement

function • src/index.ts:813:1

Export paths: src/index.ts

Related symbols:
  • PlacementResolutionResult
  • StudioComponentMetaRegistry
Signature
(args: { root: UiNode; selectedNodeId: string | null; childType: string; componentMeta: StudioComponentMetaRegistry; }) => PlacementResolutionResult
Parameter Type Required Description
args { root: UiNode; selectedNodeId: string | null; childType: string; componentMeta: StudioComponentMetaRegistry; } yes

Returns: PlacementResolutionResult

resolveInsertCatalogEntries

function • src/index.ts:1280:1

Export paths: src/index.ts

Related symbols:
  • InsertCatalogEntry
  • StudioComponentMetaRegistry
Signature
(args: { entries: readonly InsertCatalogEntry[]; root: UiNode | null; selectedNodeId: string | null; componentMeta: StudioComponentMetaRegistry; }) => InsertCatalogEntry[]
Parameter Type Required Description
args { entries: readonly InsertCatalogEntry[]; root: UiNode | null; selectedNodeId: string | null; componentMeta: StudioComponentMetaRegistry; } yes

Returns: InsertCatalogEntry[]

resolveInsertPlacement

function • src/index.ts:752:1

Export paths: src/index.ts

Related symbols:
  • PlacementKind
  • PlacementResolutionResult
  • StudioComponentMetaRegistry
Signature
(args: { root: UiNode; targetNodeId: string; childType: string; componentMeta: StudioComponentMetaRegistry; kind: PlacementKind; }) => PlacementResolutionResult
Parameter Type Required Description
args { root: UiNode; targetNodeId: string; childType: string; componentMeta: StudioComponentMetaRegistry; kind: PlacementKind; } yes

Returns: PlacementResolutionResult

STUDIO_INSERT_RECIPES

value • src/index.ts:1050:14

Export paths: src/index.ts

Related symbols: None

STUDIO_PACKAGE_BOUNDARY

value • src/index.ts:23:14

Export paths: src/index.ts

Related symbols: None

STUDIO_PACKAGE_NAME

value • src/index.ts:15:14

Export paths: src/index.ts

Related symbols: None

STUDIO_PUBLIC_CONTRACTS

value • src/index.ts:51:14

Export paths: src/index.ts

Related symbols: None

StudioActionPayloadField

type • src/index.ts:210:1

Export paths: src/index.ts

Related symbols:
  • StudioActionPayloadPrimitive
Member Kind Type Required Description
label property string yes
required property boolean | undefined no
type property StudioActionPayloadPrimitive yes

StudioActionPayloadPrimitive

unknown • src/index.ts:208:1

Export paths: src/index.ts

Related symbols: None

StudioActionPayloadSchema

unknown • src/index.ts:216:1

Export paths: src/index.ts

Related symbols: None

StudioAdminRoutePath

unknown • src/index.ts:79:1

Export paths: src/index.ts

Related symbols: None

StudioCommand

unknown • src/index.ts:251:1

Export paths: src/index.ts

Related symbols: None

StudioComponentBlueprint

type • src/index.ts:235:1

Export paths: src/index.ts

Related symbols: None
Member Kind Type Required Description
defaultProps property Record<string, unknown> | undefined no
label property string | undefined no

StudioComponentMeta

type • src/index.ts:240:1

Export paths: src/index.ts

Related symbols:
  • StudioComponentBlueprint
Member Kind Type Required Description
allowedChildren property readonly string[] yes
blueprint property StudioComponentBlueprint | undefined no
category property string yes
directManifestNode property boolean | undefined no

StudioComponentMetaRegistry

unknown • src/index.ts:247:1

Export paths: src/index.ts

Related symbols: None

StudioContextValue

type • src/index.ts:267:1

Export paths: src/index.ts

Related symbols:
  • InsertCatalogEntry
  • NodePlacement
  • StudioAdminRoutePath
  • StudioLocale
  • StudioManifest
  • StudioMode
  • StudioModuleId
  • StudioNodeId
  • StudioPanelId
  • StudioSaveStatus
  • StudioScreenId
  • ThemeUpdates
Member Kind Type Required Description
activeAdminRoutePath property StudioAdminRoutePath yes
activeCanvasDragNodeId property string | null yes
activeLocale property string yes
activePanelId property StudioPanelId | null yes
activeScreenId property string | null yes
addScreen property (name: string) => void yes
addTheme property () => void yes
deleteNode property (id: StudioNodeId) => void yes
deleteScreen property (id: StudioScreenId) => void yes
deleteTheme property (id: string) => void yes
error property string | null yes
findNode property (root: UiNode, id: StudioNodeId) => UiNode | null yes
insertFromCatalogEntry property (entry: InsertCatalogEntry) => boolean yes
isLoading property boolean yes
manifest property StudioManifest | null yes
moveNode property (id: StudioNodeId, direction: "up" | "down") => void yes
moveNodeToPlacement property (nodeId: StudioNodeId, placement: NodePlacement) => boolean yes
previewMode property boolean yes
projectId property string yes
refetchManifest property () => Promise<void> yes
reloadDictionaries property () => Promise<void> yes
reorderScreens property (newRoutes: RouteDefinition[]) => void yes
rootNode property UiNode | null yes
saveStatus property StudioSaveStatus yes
selectedNodeId property string | null yes
selectNode property (id: StudioNodeId | null) => void yes
sessionId property string | undefined no
setActiveAdminRoutePath property (routePath: StudioAdminRoutePath) => void yes
setActiveCanvasDragNodeId property (nodeId: StudioNodeId | null) => void yes
setActiveLocale property (locale: StudioLocale) => void yes
setActivePanelId property (panelId: StudioPanelId | null) => void yes
setActiveScreenId property (id: StudioScreenId) => void yes
setActiveThemeId property (id: string) => void yes
setActiveThemeMode property (mode: StudioMode) => void yes
setNavigatorInitialRoute property (routeName: string) => void yes
setNavigatorType property (type: NavigatorType) => void yes
setStudioMode property (mode: StudioMode) => void yes
studioMode property StudioMode yes
t property (key: string) => string yes
togglePreviewMode property () => void yes
updateAppData property (data: AppDataManifest) => void yes
updateDataBindings property (dataBindings: ComponentDataBindingRegistry) => void yes
updateDataSources property (dataSources: DataSourceRegistry) => void yes
updateModuleConfig property (moduleId: StudioModuleId, config: Record<string, unknown>) => void yes
updateNode property (nodeId: StudioNodeId, props: Record<string, unknown>) => void yes
updateOAuthProviders property (providers: AuthOAuthProviderConfig[]) => void yes
updateTheme property (id: string, updates: ThemeUpdates) => void yes

StudioEvent

unknown • src/index.ts:260:1

Export paths: src/index.ts

Related symbols: None

StudioIdGenerator

unknown • src/index.ts:249:1

Export paths: src/index.ts

Related symbols: None

StudioLocale

unknown • src/index.ts:74:1

Export paths: src/index.ts

Related symbols: None

StudioManifest

unknown • src/index.ts:82:1

Export paths: src/index.ts

Related symbols: None

StudioMode

unknown • src/index.ts:76:1

Export paths: src/index.ts

Related symbols: None

StudioModuleId

unknown • src/index.ts:73:1

Export paths: src/index.ts

Related symbols: None

StudioNodeId

unknown • src/index.ts:71:1

Export paths: src/index.ts

Related symbols: None

StudioPackageBoundary

type • src/index.ts:17:1

Export paths: src/index.ts

Related symbols: None
Member Kind Type Required Description
consumes property readonly string[] yes
doesNotOwn property readonly string[] yes
owns property readonly string[] yes

StudioPanelId

unknown • src/index.ts:78:1

Export paths: src/index.ts

Related symbols: None

StudioProjectId

unknown • src/index.ts:69:1

Export paths: src/index.ts

Related symbols: None

StudioPublicContract

unknown • src/index.ts:67:1

Export paths: src/index.ts

Related symbols: None

StudioSaveStatus

unknown • src/index.ts:77:1

Export paths: src/index.ts

Related symbols: None

StudioScreenId

unknown • src/index.ts:72:1

Export paths: src/index.ts

Related symbols: None

StudioSelectionState

type • src/index.ts:93:1

Export paths: src/index.ts

Related symbols:
  • StudioAdminRoutePath
  • StudioPanelId
Member Kind Type Required Description
activeAdminRoutePath property StudioAdminRoutePath yes
activeCanvasDragNodeId property string | null yes
activePanelId property StudioPanelId | null yes
activeScreenId property string | null yes
selectedNodeId property string | null yes

StudioSessionId

unknown • src/index.ts:70:1

Export paths: src/index.ts

Related symbols: None

StudioSessionState

type • src/index.ts:101:1

Export paths: src/index.ts

Related symbols:
  • StudioMode
  • StudioSaveStatus
Member Kind Type Required Description
activeLocale property string yes
error property string | null yes
isLoading property boolean yes
previewMode property boolean yes
projectId property string yes
saveStatus property StudioSaveStatus yes
sessionId property string | undefined no
studioMode property StudioMode yes

ThemeUpdates

unknown • src/index.ts:88:1

Export paths: src/index.ts

Related symbols: None

TPL_SCREEN_EMPTY

value • src/index.ts:396:14

Export paths: src/index.ts

Related symbols: None

updateNodeInTree

value • src/index.ts:480:14

Export paths: src/index.ts

Related symbols: None
Signature
(root: UiNode, id: string, newProps: Record<string, unknown>) => UiNode
Parameter Type Required Description
id string yes
newProps Record<string, unknown> yes
root UiNode yes

Returns: UiNode

validateInsertRecipe

function • src/index.ts:1100:1

Export paths: src/index.ts

Related symbols:
  • InsertRecipe
  • InsertRecipeIssue
  • StudioComponentMetaRegistry
Signature
(recipe: InsertRecipe, componentMeta: StudioComponentMetaRegistry) => InsertRecipeIssue | null
Parameter Type Required Description
componentMeta StudioComponentMetaRegistry yes
recipe InsertRecipe yes

Returns: InsertRecipeIssue | null

validateNodePlacement

function • src/index.ts:697:1

Export paths: src/index.ts

Related symbols:
  • NodePlacement
  • PlacementValidationResult
  • StudioComponentMetaRegistry
Signature
(args: { root: UiNode; placement: NodePlacement; childType: string; componentMeta: StudioComponentMetaRegistry; }) => PlacementValidationResult
Parameter Type Required Description
args { root: UiNode; placement: NodePlacement; childType: string; componentMeta: StudioComponentMetaRegistry; } yes

Returns: PlacementValidationResult

Component registry

No components were detected.

Diagrams

Architecture overview

diagrams/architecture-overview.mmd

graph TD package__ankhorage_studio["@ankhorage/studio"] entrypoint_src_index_ts["src/index.ts"] package__ankhorage_studio --> entrypoint_src_index_ts module_knip_config_ts["knip.config.ts"] package__ankhorage_studio -.-> module_knip_config_ts module_paradox_config_ts["paradox.config.ts"] package__ankhorage_studio -.-> module_paradox_config_ts module_src_canvasDropZones_test_ts["src/canvasDropZones.test.ts"] package__ankhorage_studio -.-> module_src_canvasDropZones_test_ts module_src_canvasDropZones_test_ts --> module_src_canvasDropZones_ts module_src_canvasDropZones_test_ts --> module_src_index_ts module_src_canvasDropZones_ts["src/canvasDropZones.ts"] package__ankhorage_studio -.-> module_src_canvasDropZones_ts module_src_canvasDropZones_ts --> module_src_index_ts module_src_index_test_ts["src/index.test.ts"] package__ankhorage_studio -.-> module_src_index_test_ts module_src_index_test_ts --> module_src_index_ts module_src_index_ts["src/index.ts"] module_src_manifestNavigatorPreviewModel_public_test_ts["src/manifestNavigatorPreviewModel.public.test.ts"] package__ankhorage_studio -.-> module_src_manifestNavigatorPreviewModel_public_test_ts module_src_manifestNavigatorPreviewModel_public_test_ts --> module_src_manifestNavigatorPreviewModel_ts module_src_manifestNavigatorPreviewModel_test_ts["src/manifestNavigatorPreviewModel.test.ts"] package__ankhorage_studio -.-> module_src_manifestNavigatorPreviewModel_test_ts module_src_manifestNavigatorPreviewModel_test_ts --> module_src_manifestNavigatorPreviewModel_ts module_src_manifestNavigatorPreviewModel_ts["src/manifestNavigatorPreviewModel.ts"] package__ankhorage_studio -.-> module_src_manifestNavigatorPreviewModel_ts module_src_manifestNavigatorPreviewModel_ts --> module_src_routeUtils_ts module_src_manifestState_public_test_ts["src/manifestState.public.test.ts"] package__ankhorage_studio -.-> module_src_manifestState_public_test_ts module_src_manifestState_public_test_ts --> module_src_index_ts module_src_manifestState_public_test_ts --> module_src_manifestState_ts module_src_manifestState_routes_test_ts["src/manifestState.routes.test.ts"] package__ankhorage_studio -.-> module_src_manifestState_routes_test_ts module_src_manifestState_routes_test_ts --> module_src_index_ts module_src_manifestState_routes_test_ts --> module_src_manifestState_ts module_src_manifestState_test_ts["src/manifestState.test.ts"] package__ankhorage_studio -.-> module_src_manifestState_test_ts module_src_manifestState_test_ts --> module_src_index_ts module_src_manifestState_test_ts --> module_src_manifestState_ts module_src_manifestState_ts["src/manifestState.ts"] package__ankhorage_studio -.-> module_src_manifestState_ts module_src_manifestState_ts --> module_src_index_ts module_src_manifestSync_test_ts["src/manifestSync.test.ts"] package__ankhorage_studio -.-> module_src_manifestSync_test_ts module_src_manifestSync_test_ts --> module_src_index_ts module_src_manifestSync_test_ts --> module_src_manifestSync_ts module_src_manifestSync_ts["src/manifestSync.ts"] package__ankhorage_studio -.-> module_src_manifestSync_ts module_src_manifestSync_ts --> module_src_index_ts module_src_routeUtils_public_test_ts["src/routeUtils.public.test.ts"] package__ankhorage_studio -.-> module_src_routeUtils_public_test_ts module_src_routeUtils_public_test_ts --> module_src_routeUtils_ts module_src_routeUtils_test_ts["src/routeUtils.test.ts"] package__ankhorage_studio -.-> module_src_routeUtils_test_ts module_src_routeUtils_test_ts --> module_src_routeUtils_ts module_src_routeUtils_ts["src/routeUtils.ts"] package__ankhorage_studio -.-> module_src_routeUtils_ts
View Mermaid source
graph TD
  package__ankhorage_studio["@ankhorage/studio"]
  entrypoint_src_index_ts["src/index.ts"]
  package__ankhorage_studio --> entrypoint_src_index_ts
  module_knip_config_ts["knip.config.ts"]
  package__ankhorage_studio -.-> module_knip_config_ts
  module_paradox_config_ts["paradox.config.ts"]
  package__ankhorage_studio -.-> module_paradox_config_ts
  module_src_canvasDropZones_test_ts["src/canvasDropZones.test.ts"]
  package__ankhorage_studio -.-> module_src_canvasDropZones_test_ts
  module_src_canvasDropZones_test_ts --> module_src_canvasDropZones_ts
  module_src_canvasDropZones_test_ts --> module_src_index_ts
  module_src_canvasDropZones_ts["src/canvasDropZones.ts"]
  package__ankhorage_studio -.-> module_src_canvasDropZones_ts
  module_src_canvasDropZones_ts --> module_src_index_ts
  module_src_index_test_ts["src/index.test.ts"]
  package__ankhorage_studio -.-> module_src_index_test_ts
  module_src_index_test_ts --> module_src_index_ts
  module_src_index_ts["src/index.ts"]
  module_src_manifestNavigatorPreviewModel_public_test_ts["src/manifestNavigatorPreviewModel.public.test.ts"]
  package__ankhorage_studio -.-> module_src_manifestNavigatorPreviewModel_public_test_ts
  module_src_manifestNavigatorPreviewModel_public_test_ts --> module_src_manifestNavigatorPreviewModel_ts
  module_src_manifestNavigatorPreviewModel_test_ts["src/manifestNavigatorPreviewModel.test.ts"]
  package__ankhorage_studio -.-> module_src_manifestNavigatorPreviewModel_test_ts
  module_src_manifestNavigatorPreviewModel_test_ts --> module_src_manifestNavigatorPreviewModel_ts
  module_src_manifestNavigatorPreviewModel_ts["src/manifestNavigatorPreviewModel.ts"]
  package__ankhorage_studio -.-> module_src_manifestNavigatorPreviewModel_ts
  module_src_manifestNavigatorPreviewModel_ts --> module_src_routeUtils_ts
  module_src_manifestState_public_test_ts["src/manifestState.public.test.ts"]
  package__ankhorage_studio -.-> module_src_manifestState_public_test_ts
  module_src_manifestState_public_test_ts --> module_src_index_ts
  module_src_manifestState_public_test_ts --> module_src_manifestState_ts
  module_src_manifestState_routes_test_ts["src/manifestState.routes.test.ts"]
  package__ankhorage_studio -.-> module_src_manifestState_routes_test_ts
  module_src_manifestState_routes_test_ts --> module_src_index_ts
  module_src_manifestState_routes_test_ts --> module_src_manifestState_ts
  module_src_manifestState_test_ts["src/manifestState.test.ts"]
  package__ankhorage_studio -.-> module_src_manifestState_test_ts
  module_src_manifestState_test_ts --> module_src_index_ts
  module_src_manifestState_test_ts --> module_src_manifestState_ts
  module_src_manifestState_ts["src/manifestState.ts"]
  package__ankhorage_studio -.-> module_src_manifestState_ts
  module_src_manifestState_ts --> module_src_index_ts
  module_src_manifestSync_test_ts["src/manifestSync.test.ts"]
  package__ankhorage_studio -.-> module_src_manifestSync_test_ts
  module_src_manifestSync_test_ts --> module_src_index_ts
  module_src_manifestSync_test_ts --> module_src_manifestSync_ts
  module_src_manifestSync_ts["src/manifestSync.ts"]
  package__ankhorage_studio -.-> module_src_manifestSync_ts
  module_src_manifestSync_ts --> module_src_index_ts
  module_src_routeUtils_public_test_ts["src/routeUtils.public.test.ts"]
  package__ankhorage_studio -.-> module_src_routeUtils_public_test_ts
  module_src_routeUtils_public_test_ts --> module_src_routeUtils_ts
  module_src_routeUtils_test_ts["src/routeUtils.test.ts"]
  package__ankhorage_studio -.-> module_src_routeUtils_test_ts
  module_src_routeUtils_test_ts --> module_src_routeUtils_ts
  module_src_routeUtils_ts["src/routeUtils.ts"]
  package__ankhorage_studio -.-> module_src_routeUtils_ts

Module relationships

diagrams/module-relationships.mmd

graph LR module_knip_config_ts["knip.config.ts"] module_paradox_config_ts["paradox.config.ts"] module_src_canvasDropZones_test_ts["src/canvasDropZones.test.ts"] module_src_canvasDropZones_ts["src/canvasDropZones.ts"] module_src_index_test_ts["src/index.test.ts"] module_src_index_ts["src/index.ts"] module_src_manifestNavigatorPreviewModel_public_test_ts["src/manifestNavigatorPreviewModel.public.test.ts"] module_src_manifestNavigatorPreviewModel_test_ts["src/manifestNavigatorPreviewModel.test.ts"] module_src_manifestNavigatorPreviewModel_ts["src/manifestNavigatorPreviewModel.ts"] module_src_manifestState_public_test_ts["src/manifestState.public.test.ts"] module_src_manifestState_routes_test_ts["src/manifestState.routes.test.ts"] module_src_manifestState_test_ts["src/manifestState.test.ts"] module_src_manifestState_ts["src/manifestState.ts"] module_src_manifestSync_test_ts["src/manifestSync.test.ts"] module_src_manifestSync_ts["src/manifestSync.ts"] module_src_routeUtils_public_test_ts["src/routeUtils.public.test.ts"] module_src_routeUtils_test_ts["src/routeUtils.test.ts"] module_src_routeUtils_ts["src/routeUtils.ts"] module_src_canvasDropZones_test_ts --> module_src_canvasDropZones_ts module_src_canvasDropZones_test_ts --> module_src_index_ts module_src_canvasDropZones_ts --> module_src_index_ts module_src_index_test_ts --> module_src_index_ts module_src_manifestNavigatorPreviewModel_public_test_ts --> module_src_manifestNavigatorPreviewModel_ts module_src_manifestNavigatorPreviewModel_test_ts --> module_src_manifestNavigatorPreviewModel_ts module_src_manifestNavigatorPreviewModel_ts --> module_src_routeUtils_ts module_src_manifestState_public_test_ts --> module_src_index_ts module_src_manifestState_public_test_ts --> module_src_manifestState_ts module_src_manifestState_routes_test_ts --> module_src_index_ts module_src_manifestState_routes_test_ts --> module_src_manifestState_ts module_src_manifestState_test_ts --> module_src_index_ts module_src_manifestState_test_ts --> module_src_manifestState_ts module_src_manifestState_ts --> module_src_index_ts module_src_manifestSync_test_ts --> module_src_index_ts module_src_manifestSync_test_ts --> module_src_manifestSync_ts module_src_manifestSync_ts --> module_src_index_ts module_src_routeUtils_public_test_ts --> module_src_routeUtils_ts module_src_routeUtils_test_ts --> module_src_routeUtils_ts
View Mermaid source
graph LR
  module_knip_config_ts["knip.config.ts"]
  module_paradox_config_ts["paradox.config.ts"]
  module_src_canvasDropZones_test_ts["src/canvasDropZones.test.ts"]
  module_src_canvasDropZones_ts["src/canvasDropZones.ts"]
  module_src_index_test_ts["src/index.test.ts"]
  module_src_index_ts["src/index.ts"]
  module_src_manifestNavigatorPreviewModel_public_test_ts["src/manifestNavigatorPreviewModel.public.test.ts"]
  module_src_manifestNavigatorPreviewModel_test_ts["src/manifestNavigatorPreviewModel.test.ts"]
  module_src_manifestNavigatorPreviewModel_ts["src/manifestNavigatorPreviewModel.ts"]
  module_src_manifestState_public_test_ts["src/manifestState.public.test.ts"]
  module_src_manifestState_routes_test_ts["src/manifestState.routes.test.ts"]
  module_src_manifestState_test_ts["src/manifestState.test.ts"]
  module_src_manifestState_ts["src/manifestState.ts"]
  module_src_manifestSync_test_ts["src/manifestSync.test.ts"]
  module_src_manifestSync_ts["src/manifestSync.ts"]
  module_src_routeUtils_public_test_ts["src/routeUtils.public.test.ts"]
  module_src_routeUtils_test_ts["src/routeUtils.test.ts"]
  module_src_routeUtils_ts["src/routeUtils.ts"]
  module_src_canvasDropZones_test_ts --> module_src_canvasDropZones_ts
  module_src_canvasDropZones_test_ts --> module_src_index_ts
  module_src_canvasDropZones_ts --> module_src_index_ts
  module_src_index_test_ts --> module_src_index_ts
  module_src_manifestNavigatorPreviewModel_public_test_ts --> module_src_manifestNavigatorPreviewModel_ts
  module_src_manifestNavigatorPreviewModel_test_ts --> module_src_manifestNavigatorPreviewModel_ts
  module_src_manifestNavigatorPreviewModel_ts --> module_src_routeUtils_ts
  module_src_manifestState_public_test_ts --> module_src_index_ts
  module_src_manifestState_public_test_ts --> module_src_manifestState_ts
  module_src_manifestState_routes_test_ts --> module_src_index_ts
  module_src_manifestState_routes_test_ts --> module_src_manifestState_ts
  module_src_manifestState_test_ts --> module_src_index_ts
  module_src_manifestState_test_ts --> module_src_manifestState_ts
  module_src_manifestState_ts --> module_src_index_ts
  module_src_manifestSync_test_ts --> module_src_index_ts
  module_src_manifestSync_test_ts --> module_src_manifestSync_ts
  module_src_manifestSync_ts --> module_src_index_ts
  module_src_routeUtils_public_test_ts --> module_src_routeUtils_ts
  module_src_routeUtils_test_ts --> module_src_routeUtils_ts

Export graph

diagrams/export-graph.mmd

graph LR module_knip_config_ts["knip.config.ts"] module_paradox_config_ts["paradox.config.ts"] module_src_canvasDropZones_test_ts["src/canvasDropZones.test.ts"] module_src_canvasDropZones_ts["src/canvasDropZones.ts"] module_src_index_test_ts["src/index.test.ts"] module_src_index_ts["src/index.ts"] module_src_manifestNavigatorPreviewModel_public_test_ts["src/manifestNavigatorPreviewModel.public.test.ts"] module_src_manifestNavigatorPreviewModel_test_ts["src/manifestNavigatorPreviewModel.test.ts"] module_src_manifestNavigatorPreviewModel_ts["src/manifestNavigatorPreviewModel.ts"] module_src_manifestState_public_test_ts["src/manifestState.public.test.ts"] module_src_manifestState_routes_test_ts["src/manifestState.routes.test.ts"] module_src_manifestState_test_ts["src/manifestState.test.ts"] module_src_manifestState_ts["src/manifestState.ts"] module_src_manifestSync_test_ts["src/manifestSync.test.ts"] module_src_manifestSync_ts["src/manifestSync.ts"] module_src_routeUtils_public_test_ts["src/routeUtils.public.test.ts"] module_src_routeUtils_test_ts["src/routeUtils.test.ts"] module_src_routeUtils_ts["src/routeUtils.ts"] export_ACTION_REGISTRY["ACTION_REGISTRY"] module_src_index_ts --> export_ACTION_REGISTRY export_ActionDefinition["ActionDefinition"] module_src_index_ts --> export_ActionDefinition export_ActionDefinition -.-> export_StudioActionPayloadSchema export_addNodeToTree["addNodeToTree"] module_src_index_ts --> export_addNodeToTree export_addNodeToTree -.-> export_StudioComponentMetaRegistry export_buildInsertCatalogEntries["buildInsertCatalogEntries"] module_src_index_ts --> export_buildInsertCatalogEntries export_buildInsertCatalogEntries -.-> export_InsertCatalogEntry export_buildInsertCatalogEntries -.-> export_InsertRecipe export_buildInsertCatalogEntries -.-> export_StudioComponentMetaRegistry export_canAcceptChild["canAcceptChild"] module_src_index_ts --> export_canAcceptChild export_canAcceptChild -.-> export_StudioComponentMetaRegistry export_cloneWithNewIds["cloneWithNewIds"] module_src_index_ts --> export_cloneWithNewIds export_cloneWithNewIds -.-> export_StudioIdGenerator export_createNodeFromCatalogEntry["createNodeFromCatalogEntry"] module_src_index_ts --> export_createNodeFromCatalogEntry export_createNodeFromCatalogEntry -.-> export_InsertCatalogEntry export_createNodeFromCatalogEntry -.-> export_StudioComponentMetaRegistry export_createNodeFromCatalogEntry -.-> export_StudioIdGenerator export_findNodeById["findNodeById"] module_src_index_ts --> export_findNodeById export_generateStudioId["generateStudioId"] module_src_index_ts --> export_generateStudioId export_getInsertCatalogCategoryLabel["getInsertCatalogCategoryLabel"] module_src_index_ts --> export_getInsertCatalogCategoryLabel export_InsertCatalogComponentEntry["InsertCatalogComponentEntry"] module_src_index_ts --> export_InsertCatalogComponentEntry export_InsertCatalogComponentEntry -.-> export_InsertCatalogDisabledReason export_InsertCatalogComponentEntry -.-> export_InsertCatalogEntryStatus export_InsertCatalogComponentEntry -.-> export_NodePlacement export_InsertCatalogDisabledReason["InsertCatalogDisabledReason"] module_src_index_ts --> export_InsertCatalogDisabledReason export_InsertCatalogDisabledReason -.-> export_InsertCatalogDisabledReasonCode export_InsertCatalogDisabledReason -.-> export_InsertRecipeIssue export_InsertCatalogDisabledReasonCode["InsertCatalogDisabledReasonCode"] module_src_index_ts --> export_InsertCatalogDisabledReasonCode export_InsertCatalogEntry["InsertCatalogEntry"] module_src_index_ts --> export_InsertCatalogEntry export_InsertCatalogEntryBase["InsertCatalogEntryBase"] module_src_index_ts --> export_InsertCatalogEntryBase export_InsertCatalogEntryBase -.-> export_InsertCatalogDisabledReason export_InsertCatalogEntryBase -.-> export_InsertCatalogEntryKind export_InsertCatalogEntryBase -.-> export_InsertCatalogEntryStatus export_InsertCatalogEntryBase -.-> export_NodePlacement export_InsertCatalogEntryKind["InsertCatalogEntryKind"] module_src_index_ts --> export_InsertCatalogEntryKind export_InsertCatalogEntryStatus["InsertCatalogEntryStatus"] module_src_index_ts --> export_InsertCatalogEntryStatus export_InsertCatalogRecipeEntry["InsertCatalogRecipeEntry"] module_src_index_ts --> export_InsertCatalogRecipeEntry export_InsertCatalogRecipeEntry -.-> export_InsertCatalogDisabledReason export_InsertCatalogRecipeEntry -.-> export_InsertCatalogEntryStatus export_InsertCatalogRecipeEntry -.-> export_InsertRecipe export_InsertCatalogRecipeEntry -.-> export_NodePlacement export_insertNodeAtPlacement["insertNodeAtPlacement"] module_src_index_ts --> export_insertNodeAtPlacement export_insertNodeAtPlacement -.-> export_InsertNodeAtPlacementArgs export_insertNodeAtPlacement -.-> export_InsertNodeAtPlacementResult export_InsertNodeAtPlacementArgs["InsertNodeAtPlacementArgs"] module_src_index_ts --> export_InsertNodeAtPlacementArgs export_InsertNodeAtPlacementArgs -.-> export_NodePlacement export_InsertNodeAtPlacementArgs -.-> export_StudioComponentMetaRegistry export_InsertNodeAtPlacementResult["InsertNodeAtPlacementResult"] module_src_index_ts --> export_InsertNodeAtPlacementResult export_InsertRecipe["InsertRecipe"] module_src_index_ts --> export_InsertRecipe export_InsertRecipe -.-> export_InsertRecipeNode export_InsertRecipeIssue["InsertRecipeIssue"] module_src_index_ts --> export_InsertRecipeIssue export_InsertRecipeNode["InsertRecipeNode"] module_src_index_ts --> export_InsertRecipeNode export_ModuleDefinition["ModuleDefinition"] module_src_index_ts --> export_ModuleDefinition export_moveNodeInTree["moveNodeInTree"] module_src_index_ts --> export_moveNodeInTree export_moveNodeToPlacement["moveNodeToPlacement"] module_src_index_ts --> export_moveNodeToPlacement export_moveNodeToPlacement -.-> export_MoveNodeToPlacementArgs export_moveNodeToPlacement -.-> export_MoveNodeToPlacementResult export_MoveNodeToPlacementArgs["MoveNodeToPlacementArgs"] module_src_index_ts --> export_MoveNodeToPlacementArgs export_MoveNodeToPlacementArgs -.-> export_NodePlacement export_MoveNodeToPlacementArgs -.-> export_StudioComponentMetaRegistry export_MoveNodeToPlacementResult["MoveNodeToPlacementResult"] module_src_index_ts --> export_MoveNodeToPlacementResult export_NodePlacement["NodePlacement"] module_src_index_ts --> export_NodePlacement export_NodePlacement -.-> export_PlacementKind export_PlacementFailureCode["PlacementFailureCode"] module_src_index_ts --> export_PlacementFailureCode export_PlacementFailureReason["PlacementFailureReason"] module_src_index_ts --> export_PlacementFailureReason export_PlacementFailureReason -.-> export_PlacementFailureCode export_PlacementKind["PlacementKind"] module_src_index_ts --> export_PlacementKind export_PlacementResolutionResult["PlacementResolutionResult"] module_src_index_ts --> export_PlacementResolutionResult export_PlacementValidationResult["PlacementValidationResult"] module_src_index_ts --> export_PlacementValidationResult export_removeNodeFromTree["removeNodeFromTree"] module_src_index_ts --> export_removeNodeFromTree export_resolveDefaultInsertPlacement["resolveDefaultInsertPlacement"] module_src_index_ts --> export_resolveDefaultInsertPlacement export_resolveDefaultInsertPlacement -.-> export_PlacementResolutionResult export_resolveDefaultInsertPlacement -.-> export_StudioComponentMetaRegistry export_resolveInsertCatalogEntries["resolveInsertCatalogEntries"] module_src_index_ts --> export_resolveInsertCatalogEntries export_resolveInsertCatalogEntries -.-> export_InsertCatalogEntry export_resolveInsertCatalogEntries -.-> export_StudioComponentMetaRegistry export_resolveInsertPlacement["resolveInsertPlacement"] module_src_index_ts --> export_resolveInsertPlacement export_resolveInsertPlacement -.-> export_PlacementKind export_resolveInsertPlacement -.-> export_PlacementResolutionResult export_resolveInsertPlacement -.-> export_StudioComponentMetaRegistry export_STUDIO_INSERT_RECIPES["STUDIO_INSERT_RECIPES"] module_src_index_ts --> export_STUDIO_INSERT_RECIPES export_STUDIO_PACKAGE_BOUNDARY["STUDIO_PACKAGE_BOUNDARY"] module_src_index_ts --> export_STUDIO_PACKAGE_BOUNDARY export_STUDIO_PACKAGE_NAME["STUDIO_PACKAGE_NAME"] module_src_index_ts --> export_STUDIO_PACKAGE_NAME export_STUDIO_PUBLIC_CONTRACTS["STUDIO_PUBLIC_CONTRACTS"] module_src_index_ts --> export_STUDIO_PUBLIC_CONTRACTS export_StudioActionPayloadField["StudioActionPayloadField"] module_src_index_ts --> export_StudioActionPayloadField export_StudioActionPayloadField -.-> export_StudioActionPayloadPrimitive export_StudioActionPayloadPrimitive["StudioActionPayloadPrimitive"] module_src_index_ts --> export_StudioActionPayloadPrimitive export_StudioActionPayloadSchema["StudioActionPayloadSchema"] module_src_index_ts --> export_StudioActionPayloadSchema export_StudioAdminRoutePath["StudioAdminRoutePath"] module_src_index_ts --> export_StudioAdminRoutePath export_StudioCommand["StudioCommand"] module_src_index_ts --> export_StudioCommand export_StudioComponentBlueprint["StudioComponentBlueprint"] module_src_index_ts --> export_StudioComponentBlueprint export_StudioComponentMeta["StudioComponentMeta"] module_src_index_ts --> export_StudioComponentMeta export_StudioComponentMeta -.-> export_StudioComponentBlueprint export_StudioComponentMetaRegistry["StudioComponentMetaRegistry"] module_src_index_ts --> export_StudioComponentMetaRegistry export_StudioContextValue["StudioContextValue"] module_src_index_ts --> export_StudioContextValue export_StudioContextValue -.-> export_InsertCatalogEntry export_StudioContextValue -.-> export_NodePlacement export_StudioContextValue -.-> export_StudioAdminRoutePath export_StudioContextValue -.-> export_StudioLocale export_StudioContextValue -.-> export_StudioManifest export_StudioContextValue -.-> export_StudioMode export_StudioContextValue -.-> export_StudioModuleId export_StudioContextValue -.-> export_StudioNodeId export_StudioContextValue -.-> export_StudioPanelId export_StudioContextValue -.-> export_StudioSaveStatus export_StudioContextValue -.-> export_StudioScreenId export_StudioContextValue -.-> export_ThemeUpdates export_StudioEvent["StudioEvent"] module_src_index_ts --> export_StudioEvent export_StudioIdGenerator["StudioIdGenerator"] module_src_index_ts --> export_StudioIdGenerator export_StudioLocale["StudioLocale"] module_src_index_ts --> export_StudioLocale export_StudioManifest["StudioManifest"] module_src_index_ts --> export_StudioManifest export_StudioMode["StudioMode"] module_src_index_ts --> export_StudioMode export_StudioModuleId["StudioModuleId"] module_src_index_ts --> export_StudioModuleId export_StudioNodeId["StudioNodeId"] module_src_index_ts --> export_StudioNodeId export_StudioPackageBoundary["StudioPackageBoundary"] module_src_index_ts --> export_StudioPackageBoundary export_StudioPanelId["StudioPanelId"] module_src_index_ts --> export_StudioPanelId export_StudioProjectId["StudioProjectId"] module_src_index_ts --> export_StudioProjectId export_StudioPublicContract["StudioPublicContract"] module_src_index_ts --> export_StudioPublicContract export_StudioSaveStatus["StudioSaveStatus"] module_src_index_ts --> export_StudioSaveStatus export_StudioScreenId["StudioScreenId"] module_src_index_ts --> export_StudioScreenId export_StudioSelectionState["StudioSelectionState"] module_src_index_ts --> export_StudioSelectionState export_StudioSelectionState -.-> export_StudioAdminRoutePath export_StudioSelectionState -.-> export_StudioPanelId export_StudioSessionId["StudioSessionId"] module_src_index_ts --> export_StudioSessionId export_StudioSessionState["StudioSessionState"] module_src_index_ts --> export_StudioSessionState export_StudioSessionState -.-> export_StudioMode export_StudioSessionState -.-> export_StudioSaveStatus export_ThemeUpdates["ThemeUpdates"] module_src_index_ts --> export_ThemeUpdates export_TPL_SCREEN_EMPTY["TPL_SCREEN_EMPTY"] module_src_index_ts --> export_TPL_SCREEN_EMPTY export_updateNodeInTree["updateNodeInTree"] module_src_index_ts --> export_updateNodeInTree export_validateInsertRecipe["validateInsertRecipe"] module_src_index_ts --> export_validateInsertRecipe export_validateInsertRecipe -.-> export_InsertRecipe export_validateInsertRecipe -.-> export_InsertRecipeIssue export_validateInsertRecipe -.-> export_StudioComponentMetaRegistry export_validateNodePlacement["validateNodePlacement"] module_src_index_ts --> export_validateNodePlacement export_validateNodePlacement -.-> export_NodePlacement export_validateNodePlacement -.-> export_PlacementValidationResult export_validateNodePlacement -.-> export_StudioComponentMetaRegistry
View Mermaid source
graph LR
  module_knip_config_ts["knip.config.ts"]
  module_paradox_config_ts["paradox.config.ts"]
  module_src_canvasDropZones_test_ts["src/canvasDropZones.test.ts"]
  module_src_canvasDropZones_ts["src/canvasDropZones.ts"]
  module_src_index_test_ts["src/index.test.ts"]
  module_src_index_ts["src/index.ts"]
  module_src_manifestNavigatorPreviewModel_public_test_ts["src/manifestNavigatorPreviewModel.public.test.ts"]
  module_src_manifestNavigatorPreviewModel_test_ts["src/manifestNavigatorPreviewModel.test.ts"]
  module_src_manifestNavigatorPreviewModel_ts["src/manifestNavigatorPreviewModel.ts"]
  module_src_manifestState_public_test_ts["src/manifestState.public.test.ts"]
  module_src_manifestState_routes_test_ts["src/manifestState.routes.test.ts"]
  module_src_manifestState_test_ts["src/manifestState.test.ts"]
  module_src_manifestState_ts["src/manifestState.ts"]
  module_src_manifestSync_test_ts["src/manifestSync.test.ts"]
  module_src_manifestSync_ts["src/manifestSync.ts"]
  module_src_routeUtils_public_test_ts["src/routeUtils.public.test.ts"]
  module_src_routeUtils_test_ts["src/routeUtils.test.ts"]
  module_src_routeUtils_ts["src/routeUtils.ts"]
  export_ACTION_REGISTRY["ACTION_REGISTRY"]
  module_src_index_ts --> export_ACTION_REGISTRY
  export_ActionDefinition["ActionDefinition"]
  module_src_index_ts --> export_ActionDefinition
  export_ActionDefinition -.-> export_StudioActionPayloadSchema
  export_addNodeToTree["addNodeToTree"]
  module_src_index_ts --> export_addNodeToTree
  export_addNodeToTree -.-> export_StudioComponentMetaRegistry
  export_buildInsertCatalogEntries["buildInsertCatalogEntries"]
  module_src_index_ts --> export_buildInsertCatalogEntries
  export_buildInsertCatalogEntries -.-> export_InsertCatalogEntry
  export_buildInsertCatalogEntries -.-> export_InsertRecipe
  export_buildInsertCatalogEntries -.-> export_StudioComponentMetaRegistry
  export_canAcceptChild["canAcceptChild"]
  module_src_index_ts --> export_canAcceptChild
  export_canAcceptChild -.-> export_StudioComponentMetaRegistry
  export_cloneWithNewIds["cloneWithNewIds"]
  module_src_index_ts --> export_cloneWithNewIds
  export_cloneWithNewIds -.-> export_StudioIdGenerator
  export_createNodeFromCatalogEntry["createNodeFromCatalogEntry"]
  module_src_index_ts --> export_createNodeFromCatalogEntry
  export_createNodeFromCatalogEntry -.-> export_InsertCatalogEntry
  export_createNodeFromCatalogEntry -.-> export_StudioComponentMetaRegistry
  export_createNodeFromCatalogEntry -.-> export_StudioIdGenerator
  export_findNodeById["findNodeById"]
  module_src_index_ts --> export_findNodeById
  export_generateStudioId["generateStudioId"]
  module_src_index_ts --> export_generateStudioId
  export_getInsertCatalogCategoryLabel["getInsertCatalogCategoryLabel"]
  module_src_index_ts --> export_getInsertCatalogCategoryLabel
  export_InsertCatalogComponentEntry["InsertCatalogComponentEntry"]
  module_src_index_ts --> export_InsertCatalogComponentEntry
  export_InsertCatalogComponentEntry -.-> export_InsertCatalogDisabledReason
  export_InsertCatalogComponentEntry -.-> export_InsertCatalogEntryStatus
  export_InsertCatalogComponentEntry -.-> export_NodePlacement
  export_InsertCatalogDisabledReason["InsertCatalogDisabledReason"]
  module_src_index_ts --> export_InsertCatalogDisabledReason
  export_InsertCatalogDisabledReason -.-> export_InsertCatalogDisabledReasonCode
  export_InsertCatalogDisabledReason -.-> export_InsertRecipeIssue
  export_InsertCatalogDisabledReasonCode["InsertCatalogDisabledReasonCode"]
  module_src_index_ts --> export_InsertCatalogDisabledReasonCode
  export_InsertCatalogEntry["InsertCatalogEntry"]
  module_src_index_ts --> export_InsertCatalogEntry
  export_InsertCatalogEntryBase["InsertCatalogEntryBase"]
  module_src_index_ts --> export_InsertCatalogEntryBase
  export_InsertCatalogEntryBase -.-> export_InsertCatalogDisabledReason
  export_InsertCatalogEntryBase -.-> export_InsertCatalogEntryKind
  export_InsertCatalogEntryBase -.-> export_InsertCatalogEntryStatus
  export_InsertCatalogEntryBase -.-> export_NodePlacement
  export_InsertCatalogEntryKind["InsertCatalogEntryKind"]
  module_src_index_ts --> export_InsertCatalogEntryKind
  export_InsertCatalogEntryStatus["InsertCatalogEntryStatus"]
  module_src_index_ts --> export_InsertCatalogEntryStatus
  export_InsertCatalogRecipeEntry["InsertCatalogRecipeEntry"]
  module_src_index_ts --> export_InsertCatalogRecipeEntry
  export_InsertCatalogRecipeEntry -.-> export_InsertCatalogDisabledReason
  export_InsertCatalogRecipeEntry -.-> export_InsertCatalogEntryStatus
  export_InsertCatalogRecipeEntry -.-> export_InsertRecipe
  export_InsertCatalogRecipeEntry -.-> export_NodePlacement
  export_insertNodeAtPlacement["insertNodeAtPlacement"]
  module_src_index_ts --> export_insertNodeAtPlacement
  export_insertNodeAtPlacement -.-> export_InsertNodeAtPlacementArgs
  export_insertNodeAtPlacement -.-> export_InsertNodeAtPlacementResult
  export_InsertNodeAtPlacementArgs["InsertNodeAtPlacementArgs"]
  module_src_index_ts --> export_InsertNodeAtPlacementArgs
  export_InsertNodeAtPlacementArgs -.-> export_NodePlacement
  export_InsertNodeAtPlacementArgs -.-> export_StudioComponentMetaRegistry
  export_InsertNodeAtPlacementResult["InsertNodeAtPlacementResult"]
  module_src_index_ts --> export_InsertNodeAtPlacementResult
  export_InsertRecipe["InsertRecipe"]
  module_src_index_ts --> export_InsertRecipe
  export_InsertRecipe -.-> export_InsertRecipeNode
  export_InsertRecipeIssue["InsertRecipeIssue"]
  module_src_index_ts --> export_InsertRecipeIssue
  export_InsertRecipeNode["InsertRecipeNode"]
  module_src_index_ts --> export_InsertRecipeNode
  export_ModuleDefinition["ModuleDefinition"]
  module_src_index_ts --> export_ModuleDefinition
  export_moveNodeInTree["moveNodeInTree"]
  module_src_index_ts --> export_moveNodeInTree
  export_moveNodeToPlacement["moveNodeToPlacement"]
  module_src_index_ts --> export_moveNodeToPlacement
  export_moveNodeToPlacement -.-> export_MoveNodeToPlacementArgs
  export_moveNodeToPlacement -.-> export_MoveNodeToPlacementResult
  export_MoveNodeToPlacementArgs["MoveNodeToPlacementArgs"]
  module_src_index_ts --> export_MoveNodeToPlacementArgs
  export_MoveNodeToPlacementArgs -.-> export_NodePlacement
  export_MoveNodeToPlacementArgs -.-> export_StudioComponentMetaRegistry
  export_MoveNodeToPlacementResult["MoveNodeToPlacementResult"]
  module_src_index_ts --> export_MoveNodeToPlacementResult
  export_NodePlacement["NodePlacement"]
  module_src_index_ts --> export_NodePlacement
  export_NodePlacement -.-> export_PlacementKind
  export_PlacementFailureCode["PlacementFailureCode"]
  module_src_index_ts --> export_PlacementFailureCode
  export_PlacementFailureReason["PlacementFailureReason"]
  module_src_index_ts --> export_PlacementFailureReason
  export_PlacementFailureReason -.-> export_PlacementFailureCode
  export_PlacementKind["PlacementKind"]
  module_src_index_ts --> export_PlacementKind
  export_PlacementResolutionResult["PlacementResolutionResult"]
  module_src_index_ts --> export_PlacementResolutionResult
  export_PlacementValidationResult["PlacementValidationResult"]
  module_src_index_ts --> export_PlacementValidationResult
  export_removeNodeFromTree["removeNodeFromTree"]
  module_src_index_ts --> export_removeNodeFromTree
  export_resolveDefaultInsertPlacement["resolveDefaultInsertPlacement"]
  module_src_index_ts --> export_resolveDefaultInsertPlacement
  export_resolveDefaultInsertPlacement -.-> export_PlacementResolutionResult
  export_resolveDefaultInsertPlacement -.-> export_StudioComponentMetaRegistry
  export_resolveInsertCatalogEntries["resolveInsertCatalogEntries"]
  module_src_index_ts --> export_resolveInsertCatalogEntries
  export_resolveInsertCatalogEntries -.-> export_InsertCatalogEntry
  export_resolveInsertCatalogEntries -.-> export_StudioComponentMetaRegistry
  export_resolveInsertPlacement["resolveInsertPlacement"]
  module_src_index_ts --> export_resolveInsertPlacement
  export_resolveInsertPlacement -.-> export_PlacementKind
  export_resolveInsertPlacement -.-> export_PlacementResolutionResult
  export_resolveInsertPlacement -.-> export_StudioComponentMetaRegistry
  export_STUDIO_INSERT_RECIPES["STUDIO_INSERT_RECIPES"]
  module_src_index_ts --> export_STUDIO_INSERT_RECIPES
  export_STUDIO_PACKAGE_BOUNDARY["STUDIO_PACKAGE_BOUNDARY"]
  module_src_index_ts --> export_STUDIO_PACKAGE_BOUNDARY
  export_STUDIO_PACKAGE_NAME["STUDIO_PACKAGE_NAME"]
  module_src_index_ts --> export_STUDIO_PACKAGE_NAME
  export_STUDIO_PUBLIC_CONTRACTS["STUDIO_PUBLIC_CONTRACTS"]
  module_src_index_ts --> export_STUDIO_PUBLIC_CONTRACTS
  export_StudioActionPayloadField["StudioActionPayloadField"]
  module_src_index_ts --> export_StudioActionPayloadField
  export_StudioActionPayloadField -.-> export_StudioActionPayloadPrimitive
  export_StudioActionPayloadPrimitive["StudioActionPayloadPrimitive"]
  module_src_index_ts --> export_StudioActionPayloadPrimitive
  export_StudioActionPayloadSchema["StudioActionPayloadSchema"]
  module_src_index_ts --> export_StudioActionPayloadSchema
  export_StudioAdminRoutePath["StudioAdminRoutePath"]
  module_src_index_ts --> export_StudioAdminRoutePath
  export_StudioCommand["StudioCommand"]
  module_src_index_ts --> export_StudioCommand
  export_StudioComponentBlueprint["StudioComponentBlueprint"]
  module_src_index_ts --> export_StudioComponentBlueprint
  export_StudioComponentMeta["StudioComponentMeta"]
  module_src_index_ts --> export_StudioComponentMeta
  export_StudioComponentMeta -.-> export_StudioComponentBlueprint
  export_StudioComponentMetaRegistry["StudioComponentMetaRegistry"]
  module_src_index_ts --> export_StudioComponentMetaRegistry
  export_StudioContextValue["StudioContextValue"]
  module_src_index_ts --> export_StudioContextValue
  export_StudioContextValue -.-> export_InsertCatalogEntry
  export_StudioContextValue -.-> export_NodePlacement
  export_StudioContextValue -.-> export_StudioAdminRoutePath
  export_StudioContextValue -.-> export_StudioLocale
  export_StudioContextValue -.-> export_StudioManifest
  export_StudioContextValue -.-> export_StudioMode
  export_StudioContextValue -.-> export_StudioModuleId
  export_StudioContextValue -.-> export_StudioNodeId
  export_StudioContextValue -.-> export_StudioPanelId
  export_StudioContextValue -.-> export_StudioSaveStatus
  export_StudioContextValue -.-> export_StudioScreenId
  export_StudioContextValue -.-> export_ThemeUpdates
  export_StudioEvent["StudioEvent"]
  module_src_index_ts --> export_StudioEvent
  export_StudioIdGenerator["StudioIdGenerator"]
  module_src_index_ts --> export_StudioIdGenerator
  export_StudioLocale["StudioLocale"]
  module_src_index_ts --> export_StudioLocale
  export_StudioManifest["StudioManifest"]
  module_src_index_ts --> export_StudioManifest
  export_StudioMode["StudioMode"]
  module_src_index_ts --> export_StudioMode
  export_StudioModuleId["StudioModuleId"]
  module_src_index_ts --> export_StudioModuleId
  export_StudioNodeId["StudioNodeId"]
  module_src_index_ts --> export_StudioNodeId
  export_StudioPackageBoundary["StudioPackageBoundary"]
  module_src_index_ts --> export_StudioPackageBoundary
  export_StudioPanelId["StudioPanelId"]
  module_src_index_ts --> export_StudioPanelId
  export_StudioProjectId["StudioProjectId"]
  module_src_index_ts --> export_StudioProjectId
  export_StudioPublicContract["StudioPublicContract"]
  module_src_index_ts --> export_StudioPublicContract
  export_StudioSaveStatus["StudioSaveStatus"]
  module_src_index_ts --> export_StudioSaveStatus
  export_StudioScreenId["StudioScreenId"]
  module_src_index_ts --> export_StudioScreenId
  export_StudioSelectionState["StudioSelectionState"]
  module_src_index_ts --> export_StudioSelectionState
  export_StudioSelectionState -.-> export_StudioAdminRoutePath
  export_StudioSelectionState -.-> export_StudioPanelId
  export_StudioSessionId["StudioSessionId"]
  module_src_index_ts --> export_StudioSessionId
  export_StudioSessionState["StudioSessionState"]
  module_src_index_ts --> export_StudioSessionState
  export_StudioSessionState -.-> export_StudioMode
  export_StudioSessionState -.-> export_StudioSaveStatus
  export_ThemeUpdates["ThemeUpdates"]
  module_src_index_ts --> export_ThemeUpdates
  export_TPL_SCREEN_EMPTY["TPL_SCREEN_EMPTY"]
  module_src_index_ts --> export_TPL_SCREEN_EMPTY
  export_updateNodeInTree["updateNodeInTree"]
  module_src_index_ts --> export_updateNodeInTree
  export_validateInsertRecipe["validateInsertRecipe"]
  module_src_index_ts --> export_validateInsertRecipe
  export_validateInsertRecipe -.-> export_InsertRecipe
  export_validateInsertRecipe -.-> export_InsertRecipeIssue
  export_validateInsertRecipe -.-> export_StudioComponentMetaRegistry
  export_validateNodePlacement["validateNodePlacement"]
  module_src_index_ts --> export_validateNodePlacement
  export_validateNodePlacement -.-> export_NodePlacement
  export_validateNodePlacement -.-> export_PlacementValidationResult
  export_validateNodePlacement -.-> export_StudioComponentMetaRegistry

addNodeToTree sequence

diagrams/sequences/add-node-to-tree.mmd

sequenceDiagram participant participant_addNodeToTree as addNodeToTree participant participant_canAcceptChild as canAcceptChild participant_addNodeToTree->>participant_canAcceptChild: canAcceptChild() participant_canAcceptChild-->>participant_addNodeToTree: return
View Mermaid source
sequenceDiagram
  participant participant_addNodeToTree as addNodeToTree
  participant participant_canAcceptChild as canAcceptChild
  participant_addNodeToTree->>participant_canAcceptChild: canAcceptChild()
  participant_canAcceptChild-->>participant_addNodeToTree: return

buildInsertCatalogEntries sequence

diagrams/sequences/build-insert-catalog-entries.mmd

sequenceDiagram participant participant_buildInsertCatalogEntries as buildInsertCatalogEntries participant participant_createComponentEntry as createComponentEntry participant_buildInsertCatalogEntries->>participant_createComponentEntry: createComponentEntry() participant_createComponentEntry-->>participant_buildInsertCatalogEntries: return
View Mermaid source
sequenceDiagram
  participant participant_buildInsertCatalogEntries as buildInsertCatalogEntries
  participant participant_createComponentEntry as createComponentEntry
  participant_buildInsertCatalogEntries->>participant_createComponentEntry: createComponentEntry()
  participant_createComponentEntry-->>participant_buildInsertCatalogEntries: return

cloneWithNewIds sequence

diagrams/sequences/clone-with-new-ids.mmd

sequenceDiagram participant participant_cloneWithNewIds as cloneWithNewIds participant participant_createId as createId participant_cloneWithNewIds->>participant_createId: createId() participant_createId-->>participant_cloneWithNewIds: return
View Mermaid source
sequenceDiagram
  participant participant_cloneWithNewIds as cloneWithNewIds
  participant participant_createId as createId
  participant_cloneWithNewIds->>participant_createId: createId()
  participant_createId-->>participant_cloneWithNewIds: return

createNodeFromCatalogEntry sequence

diagrams/sequences/create-node-from-catalog-entry.mmd

sequenceDiagram participant participant_buildNode as buildNode participant participant_createId as createId participant participant_createNodeFromCatalogEntry as createNodeFromCatalogEntry participant participant_createNodeFromRecipe as createNodeFromRecipe participant_createNodeFromCatalogEntry->>participant_createNodeFromRecipe: createNodeFromRecipe() participant_createNodeFromRecipe->>participant_buildNode: buildNode() participant_buildNode->>participant_createId: createId() participant_createId-->>participant_buildNode: return participant_buildNode-->>participant_createNodeFromRecipe: return participant_createNodeFromRecipe-->>participant_createNodeFromCatalogEntry: return participant_createNodeFromCatalogEntry->>participant_createId: createId() participant_createId-->>participant_createNodeFromCatalogEntry: return
View Mermaid source
sequenceDiagram
  participant participant_buildNode as buildNode
  participant participant_createId as createId
  participant participant_createNodeFromCatalogEntry as createNodeFromCatalogEntry
  participant participant_createNodeFromRecipe as createNodeFromRecipe
  participant_createNodeFromCatalogEntry->>participant_createNodeFromRecipe: createNodeFromRecipe()
  participant_createNodeFromRecipe->>participant_buildNode: buildNode()
  participant_buildNode->>participant_createId: createId()
  participant_createId-->>participant_buildNode: return
  participant_buildNode-->>participant_createNodeFromRecipe: return
  participant_createNodeFromRecipe-->>participant_createNodeFromCatalogEntry: return
  participant_createNodeFromCatalogEntry->>participant_createId: createId()
  participant_createId-->>participant_createNodeFromCatalogEntry: return

findNodeById sequence

diagrams/sequences/find-node-by-id.mmd

sequenceDiagram participant participant_findNodeById as findNodeById participant_findNodeById->>participant_findNodeById: findNodeById() participant_findNodeById-->>participant_findNodeById: return
View Mermaid source
sequenceDiagram
  participant participant_findNodeById as findNodeById
  participant_findNodeById->>participant_findNodeById: findNodeById()
  participant_findNodeById-->>participant_findNodeById: return

resolveDefaultInsertPlacement sequence

diagrams/sequences/resolve-default-insert-placement.mmd

sequenceDiagram participant participant_canAcceptChild as canAcceptChild participant participant_findNodeById as findNodeById participant participant_findNodeWithParent as findNodeWithParent participant participant_resolveDefaultInsertPlacement as resolveDefaultInsertPlacement participant participant_resolveInsertPlacement as resolveInsertPlacement participant participant_validateNodePlacement as validateNodePlacement participant participant_visit as visit participant_resolveDefaultInsertPlacement->>participant_resolveInsertPlacement: resolveInsertPlacement() participant_resolveInsertPlacement->>participant_findNodeWithParent: findNodeWithParent() participant_findNodeWithParent->>participant_visit: visit() participant_visit->>participant_visit: visit() participant_visit->>participant_visit: visit() participant_visit-->>participant_visit: return participant_visit-->>participant_visit: return participant_visit-->>participant_findNodeWithParent: return participant_findNodeWithParent->>participant_visit: visit() participant_visit-->>participant_findNodeWithParent: return participant_findNodeWithParent-->>participant_resolveInsertPlacement: return participant_resolveInsertPlacement->>participant_validateNodePlacement: validateNodePlacement() participant_validateNodePlacement->>participant_findNodeById: findNodeById() participant_findNodeById->>participant_findNodeById: findNodeById() participant_findNodeById-->>participant_findNodeById: return participant_findNodeById-->>participant_validateNodePlacement: return participant_validateNodePlacement->>participant_canAcceptChild: canAcceptChild() participant_canAcceptChild-->>participant_validateNodePlacement: return participant_validateNodePlacement-->>participant_resolveInsertPlacement: return participant_resolveInsertPlacement-->>participant_resolveDefaultInsertPlacement: return
View Mermaid source
sequenceDiagram
  participant participant_canAcceptChild as canAcceptChild
  participant participant_findNodeById as findNodeById
  participant participant_findNodeWithParent as findNodeWithParent
  participant participant_resolveDefaultInsertPlacement as resolveDefaultInsertPlacement
  participant participant_resolveInsertPlacement as resolveInsertPlacement
  participant participant_validateNodePlacement as validateNodePlacement
  participant participant_visit as visit
  participant_resolveDefaultInsertPlacement->>participant_resolveInsertPlacement: resolveInsertPlacement()
  participant_resolveInsertPlacement->>participant_findNodeWithParent: findNodeWithParent()
  participant_findNodeWithParent->>participant_visit: visit()
  participant_visit->>participant_visit: visit()
  participant_visit->>participant_visit: visit()
  participant_visit-->>participant_visit: return
  participant_visit-->>participant_visit: return
  participant_visit-->>participant_findNodeWithParent: return
  participant_findNodeWithParent->>participant_visit: visit()
  participant_visit-->>participant_findNodeWithParent: return
  participant_findNodeWithParent-->>participant_resolveInsertPlacement: return
  participant_resolveInsertPlacement->>participant_validateNodePlacement: validateNodePlacement()
  participant_validateNodePlacement->>participant_findNodeById: findNodeById()
  participant_findNodeById->>participant_findNodeById: findNodeById()
  participant_findNodeById-->>participant_findNodeById: return
  participant_findNodeById-->>participant_validateNodePlacement: return
  participant_validateNodePlacement->>participant_canAcceptChild: canAcceptChild()
  participant_canAcceptChild-->>participant_validateNodePlacement: return
  participant_validateNodePlacement-->>participant_resolveInsertPlacement: return
  participant_resolveInsertPlacement-->>participant_resolveDefaultInsertPlacement: return

resolveInsertPlacement sequence

diagrams/sequences/resolve-insert-placement.mmd

sequenceDiagram participant participant_canAcceptChild as canAcceptChild participant participant_findNodeById as findNodeById participant participant_findNodeWithParent as findNodeWithParent participant participant_resolveInsertPlacement as resolveInsertPlacement participant participant_validateNodePlacement as validateNodePlacement participant participant_visit as visit participant_resolveInsertPlacement->>participant_findNodeWithParent: findNodeWithParent() participant_findNodeWithParent->>participant_visit: visit() participant_visit->>participant_visit: visit() participant_visit->>participant_visit: visit() participant_visit-->>participant_visit: return participant_visit-->>participant_visit: return participant_visit-->>participant_findNodeWithParent: return participant_findNodeWithParent->>participant_visit: visit() participant_visit-->>participant_findNodeWithParent: return participant_findNodeWithParent-->>participant_resolveInsertPlacement: return participant_resolveInsertPlacement->>participant_validateNodePlacement: validateNodePlacement() participant_validateNodePlacement->>participant_findNodeById: findNodeById() participant_findNodeById->>participant_findNodeById: findNodeById() participant_findNodeById-->>participant_findNodeById: return participant_findNodeById-->>participant_validateNodePlacement: return participant_validateNodePlacement->>participant_canAcceptChild: canAcceptChild() participant_canAcceptChild-->>participant_validateNodePlacement: return participant_validateNodePlacement-->>participant_resolveInsertPlacement: return
View Mermaid source
sequenceDiagram
  participant participant_canAcceptChild as canAcceptChild
  participant participant_findNodeById as findNodeById
  participant participant_findNodeWithParent as findNodeWithParent
  participant participant_resolveInsertPlacement as resolveInsertPlacement
  participant participant_validateNodePlacement as validateNodePlacement
  participant participant_visit as visit
  participant_resolveInsertPlacement->>participant_findNodeWithParent: findNodeWithParent()
  participant_findNodeWithParent->>participant_visit: visit()
  participant_visit->>participant_visit: visit()
  participant_visit->>participant_visit: visit()
  participant_visit-->>participant_visit: return
  participant_visit-->>participant_visit: return
  participant_visit-->>participant_findNodeWithParent: return
  participant_findNodeWithParent->>participant_visit: visit()
  participant_visit-->>participant_findNodeWithParent: return
  participant_findNodeWithParent-->>participant_resolveInsertPlacement: return
  participant_resolveInsertPlacement->>participant_validateNodePlacement: validateNodePlacement()
  participant_validateNodePlacement->>participant_findNodeById: findNodeById()
  participant_findNodeById->>participant_findNodeById: findNodeById()
  participant_findNodeById-->>participant_findNodeById: return
  participant_findNodeById-->>participant_validateNodePlacement: return
  participant_validateNodePlacement->>participant_canAcceptChild: canAcceptChild()
  participant_canAcceptChild-->>participant_validateNodePlacement: return
  participant_validateNodePlacement-->>participant_resolveInsertPlacement: return

updateNodeInTree sequence

diagrams/sequences/update-node-in-tree.mmd

sequenceDiagram participant participant_isStyleRecord as isStyleRecord participant participant_updateNodeInTree as updateNodeInTree participant_updateNodeInTree->>participant_isStyleRecord: isStyleRecord() participant_isStyleRecord-->>participant_updateNodeInTree: return
View Mermaid source
sequenceDiagram
  participant participant_isStyleRecord as isStyleRecord
  participant participant_updateNodeInTree as updateNodeInTree
  participant_updateNodeInTree->>participant_isStyleRecord: isStyleRecord()
  participant_isStyleRecord-->>participant_updateNodeInTree: return

validateInsertRecipe sequence

diagrams/sequences/validate-insert-recipe.mmd

sequenceDiagram participant participant_validateInsertRecipe as validateInsertRecipe participant participant_visit as visit participant_validateInsertRecipe->>participant_visit: visit() participant_visit->>participant_visit: visit() participant_visit->>participant_visit: visit() participant_visit-->>participant_visit: return participant_visit-->>participant_visit: return participant_visit-->>participant_validateInsertRecipe: return
View Mermaid source
sequenceDiagram
  participant participant_validateInsertRecipe as validateInsertRecipe
  participant participant_visit as visit
  participant_validateInsertRecipe->>participant_visit: visit()
  participant_visit->>participant_visit: visit()
  participant_visit->>participant_visit: visit()
  participant_visit-->>participant_visit: return
  participant_visit-->>participant_visit: return
  participant_visit-->>participant_validateInsertRecipe: return

validateNodePlacement sequence

diagrams/sequences/validate-node-placement.mmd

sequenceDiagram participant participant_canAcceptChild as canAcceptChild participant participant_findNodeById as findNodeById participant participant_validateNodePlacement as validateNodePlacement participant_validateNodePlacement->>participant_findNodeById: findNodeById() participant_findNodeById->>participant_findNodeById: findNodeById() participant_findNodeById-->>participant_findNodeById: return participant_findNodeById-->>participant_validateNodePlacement: return participant_validateNodePlacement->>participant_canAcceptChild: canAcceptChild() participant_canAcceptChild-->>participant_validateNodePlacement: return
View Mermaid source
sequenceDiagram
  participant participant_canAcceptChild as canAcceptChild
  participant participant_findNodeById as findNodeById
  participant participant_validateNodePlacement as validateNodePlacement
  participant_validateNodePlacement->>participant_findNodeById: findNodeById()
  participant_findNodeById->>participant_findNodeById: findNodeById()
  participant_findNodeById-->>participant_findNodeById: return
  participant_findNodeById-->>participant_validateNodePlacement: return
  participant_validateNodePlacement->>participant_canAcceptChild: canAcceptChild()
  participant_canAcceptChild-->>participant_validateNodePlacement: return