diff --git a/src/lib/components/theme/ThemeBehaviorInspector.svelte b/src/lib/components/theme/ThemeBehaviorInspector.svelte index 6136ef2..0272395 100644 --- a/src/lib/components/theme/ThemeBehaviorInspector.svelte +++ b/src/lib/components/theme/ThemeBehaviorInspector.svelte @@ -34,7 +34,7 @@ import { SvelteSet } from 'svelte/reactivity'; let { - behavior, + behavior = $bindable(), elements, groups = [], variables = [], diff --git a/src/lib/components/theme/ThemeEditorWindow.svelte b/src/lib/components/theme/ThemeEditorWindow.svelte index f970d74..7b6a1c8 100644 --- a/src/lib/components/theme/ThemeEditorWindow.svelte +++ b/src/lib/components/theme/ThemeEditorWindow.svelte @@ -335,12 +335,22 @@ ...themeScriptInitialVariables(definition), ...themeClockValues(new Date(previewClock)), }); + const selectedGroupIndex = $derived( + selectedGroupId + ? (definition.groups ?? []).findIndex((group) => group.id === selectedGroupId) + : -1 + ); const selectedGroup = $derived( - selectedGroupId ? groups.find((group) => group.id === selectedGroupId) : undefined + selectedGroupIndex >= 0 && definition.groups ? definition.groups[selectedGroupIndex] : undefined + ); + const selectedBehaviorIndex = $derived( + selectedBehaviorId + ? (definition.behaviors ?? []).findIndex((behavior) => behavior.id === selectedBehaviorId) + : -1 ); const selectedBehavior = $derived( - selectedBehaviorId - ? behaviors.find((behavior) => behavior.id === selectedBehaviorId) + selectedBehaviorIndex >= 0 && definition.behaviors + ? definition.behaviors[selectedBehaviorIndex] : undefined ); function buildLayerRows(includeCollapsed: boolean): LayerRow[] { @@ -5114,10 +5124,10 @@