diff --git a/browser_tests/tests/vueNodes/groups/groups.spec.ts-snapshots/vue-groups-create-group-chromium-linux.png b/browser_tests/tests/vueNodes/groups/groups.spec.ts-snapshots/vue-groups-create-group-chromium-linux.png index fefa8782a4..e33066cc96 100644 Binary files a/browser_tests/tests/vueNodes/groups/groups.spec.ts-snapshots/vue-groups-create-group-chromium-linux.png and b/browser_tests/tests/vueNodes/groups/groups.spec.ts-snapshots/vue-groups-create-group-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/groups/groups.spec.ts-snapshots/vue-groups-fit-to-contents-chromium-linux.png b/browser_tests/tests/vueNodes/groups/groups.spec.ts-snapshots/vue-groups-fit-to-contents-chromium-linux.png index 6f77540bec..2388f6e80e 100644 Binary files a/browser_tests/tests/vueNodes/groups/groups.spec.ts-snapshots/vue-groups-fit-to-contents-chromium-linux.png and b/browser_tests/tests/vueNodes/groups/groups.spec.ts-snapshots/vue-groups-fit-to-contents-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/interactions/canvas/pan.spec.ts-snapshots/vue-nodes-paned-with-touch-mobile-chrome-linux.png b/browser_tests/tests/vueNodes/interactions/canvas/pan.spec.ts-snapshots/vue-nodes-paned-with-touch-mobile-chrome-linux.png index 444fb1ff48..26b69d8d6f 100644 Binary files a/browser_tests/tests/vueNodes/interactions/canvas/pan.spec.ts-snapshots/vue-nodes-paned-with-touch-mobile-chrome-linux.png and b/browser_tests/tests/vueNodes/interactions/canvas/pan.spec.ts-snapshots/vue-nodes-paned-with-touch-mobile-chrome-linux.png differ diff --git a/browser_tests/tests/vueNodes/interactions/canvas/zoom.spec.ts-snapshots/zoomed-in-ctrl-shift-chromium-linux.png b/browser_tests/tests/vueNodes/interactions/canvas/zoom.spec.ts-snapshots/zoomed-in-ctrl-shift-chromium-linux.png index 7f51aacf9b..9a1418b682 100644 Binary files a/browser_tests/tests/vueNodes/interactions/canvas/zoom.spec.ts-snapshots/zoomed-in-ctrl-shift-chromium-linux.png and b/browser_tests/tests/vueNodes/interactions/canvas/zoom.spec.ts-snapshots/zoomed-in-ctrl-shift-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-dragging-link-chromium-linux.png b/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-dragging-link-chromium-linux.png index b3c6f3a6aa..659a1c778a 100644 Binary files a/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-dragging-link-chromium-linux.png and b/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-dragging-link-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-input-drag-ctrl-alt-chromium-linux.png b/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-input-drag-ctrl-alt-chromium-linux.png index 7518b915a8..7818c65ae3 100644 Binary files a/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-input-drag-ctrl-alt-chromium-linux.png and b/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-input-drag-ctrl-alt-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-input-drag-reuses-origin-chromium-linux.png b/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-input-drag-reuses-origin-chromium-linux.png index 568cb49d4d..0052e744d8 100644 Binary files a/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-input-drag-reuses-origin-chromium-linux.png and b/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-input-drag-reuses-origin-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-reroute-input-drag-chromium-linux.png b/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-reroute-input-drag-chromium-linux.png index 06eb0f13e2..4877aa8e23 100644 Binary files a/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-reroute-input-drag-chromium-linux.png and b/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-reroute-input-drag-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-reroute-output-shift-drag-chromium-linux.png b/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-reroute-output-shift-drag-chromium-linux.png index a73612862f..ff3fa60d0e 100644 Binary files a/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-reroute-output-shift-drag-chromium-linux.png and b/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-reroute-output-shift-drag-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-shift-output-multi-link-chromium-linux.png b/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-shift-output-multi-link-chromium-linux.png index 4d4c9ae5a3..c0d1539dcd 100644 Binary files a/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-shift-output-multi-link-chromium-linux.png and b/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-shift-output-multi-link-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-snap-to-node-chromium-linux.png b/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-snap-to-node-chromium-linux.png index cc45c56f77..eba007e68e 100644 Binary files a/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-snap-to-node-chromium-linux.png and b/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-snap-to-node-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-snap-to-slot-chromium-linux.png b/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-snap-to-slot-chromium-linux.png index d0d2828c96..dd741692a0 100644 Binary files a/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-snap-to-slot-chromium-linux.png and b/browser_tests/tests/vueNodes/interactions/links/linkInteraction.spec.ts-snapshots/vue-node-snap-to-slot-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/interactions/node/move.spec.ts-snapshots/vue-node-moved-node-chromium-linux.png b/browser_tests/tests/vueNodes/interactions/node/move.spec.ts-snapshots/vue-node-moved-node-chromium-linux.png index 330ca902d0..c71dab3a48 100644 Binary files a/browser_tests/tests/vueNodes/interactions/node/move.spec.ts-snapshots/vue-node-moved-node-chromium-linux.png and b/browser_tests/tests/vueNodes/interactions/node/move.spec.ts-snapshots/vue-node-moved-node-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/interactions/node/move.spec.ts-snapshots/vue-node-moved-node-touch-mobile-chrome-linux.png b/browser_tests/tests/vueNodes/interactions/node/move.spec.ts-snapshots/vue-node-moved-node-touch-mobile-chrome-linux.png index d75048d8d2..07ae48d8d9 100644 Binary files a/browser_tests/tests/vueNodes/interactions/node/move.spec.ts-snapshots/vue-node-moved-node-touch-mobile-chrome-linux.png and b/browser_tests/tests/vueNodes/interactions/node/move.spec.ts-snapshots/vue-node-moved-node-touch-mobile-chrome-linux.png differ diff --git a/browser_tests/tests/vueNodes/nodeStates/bypass.spec.ts-snapshots/vue-node-bypassed-state-chromium-linux.png b/browser_tests/tests/vueNodes/nodeStates/bypass.spec.ts-snapshots/vue-node-bypassed-state-chromium-linux.png index b0cc16d8ea..4b16b16a75 100644 Binary files a/browser_tests/tests/vueNodes/nodeStates/bypass.spec.ts-snapshots/vue-node-bypassed-state-chromium-linux.png and b/browser_tests/tests/vueNodes/nodeStates/bypass.spec.ts-snapshots/vue-node-bypassed-state-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/nodeStates/colors.spec.ts-snapshots/vue-node-custom-color-blue-chromium-linux.png b/browser_tests/tests/vueNodes/nodeStates/colors.spec.ts-snapshots/vue-node-custom-color-blue-chromium-linux.png index 7f9b211858..feff6f46e2 100644 Binary files a/browser_tests/tests/vueNodes/nodeStates/colors.spec.ts-snapshots/vue-node-custom-color-blue-chromium-linux.png and b/browser_tests/tests/vueNodes/nodeStates/colors.spec.ts-snapshots/vue-node-custom-color-blue-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/nodeStates/colors.spec.ts-snapshots/vue-node-custom-colors-dark-all-colors-chromium-linux.png b/browser_tests/tests/vueNodes/nodeStates/colors.spec.ts-snapshots/vue-node-custom-colors-dark-all-colors-chromium-linux.png index 8ab3ec2d82..48319f6874 100644 Binary files a/browser_tests/tests/vueNodes/nodeStates/colors.spec.ts-snapshots/vue-node-custom-colors-dark-all-colors-chromium-linux.png and b/browser_tests/tests/vueNodes/nodeStates/colors.spec.ts-snapshots/vue-node-custom-colors-dark-all-colors-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/nodeStates/colors.spec.ts-snapshots/vue-node-custom-colors-light-all-colors-chromium-linux.png b/browser_tests/tests/vueNodes/nodeStates/colors.spec.ts-snapshots/vue-node-custom-colors-light-all-colors-chromium-linux.png index 514157440c..98507102bc 100644 Binary files a/browser_tests/tests/vueNodes/nodeStates/colors.spec.ts-snapshots/vue-node-custom-colors-light-all-colors-chromium-linux.png and b/browser_tests/tests/vueNodes/nodeStates/colors.spec.ts-snapshots/vue-node-custom-colors-light-all-colors-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/nodeStates/mute.spec.ts-snapshots/vue-node-muted-state-chromium-linux.png b/browser_tests/tests/vueNodes/nodeStates/mute.spec.ts-snapshots/vue-node-muted-state-chromium-linux.png index b741c550f0..af64baa6c8 100644 Binary files a/browser_tests/tests/vueNodes/nodeStates/mute.spec.ts-snapshots/vue-node-muted-state-chromium-linux.png and b/browser_tests/tests/vueNodes/nodeStates/mute.spec.ts-snapshots/vue-node-muted-state-chromium-linux.png differ diff --git a/browser_tests/tests/vueNodes/widgets/load/uploadWidgets.spec.ts-snapshots/vue-nodes-upload-widgets-chromium-linux.png b/browser_tests/tests/vueNodes/widgets/load/uploadWidgets.spec.ts-snapshots/vue-nodes-upload-widgets-chromium-linux.png index b99b859575..db9fbd614b 100644 Binary files a/browser_tests/tests/vueNodes/widgets/load/uploadWidgets.spec.ts-snapshots/vue-nodes-upload-widgets-chromium-linux.png and b/browser_tests/tests/vueNodes/widgets/load/uploadWidgets.spec.ts-snapshots/vue-nodes-upload-widgets-chromium-linux.png differ diff --git a/src/components/LiteGraphCanvasSplitterOverlay.vue b/src/components/LiteGraphCanvasSplitterOverlay.vue index 1bb9e89c75..960b0cfac7 100644 --- a/src/components/LiteGraphCanvasSplitterOverlay.vue +++ b/src/components/LiteGraphCanvasSplitterOverlay.vue @@ -14,10 +14,10 @@ + + + + + @@ -92,9 +102,11 @@ import { computed } from 'vue' import { useSettingStore } from '@/platform/settings/settingStore' import { useBottomPanelStore } from '@/stores/workspace/bottomPanelStore' +import { useRightSidePanelStore } from '@/stores/workspace/rightSidePanelStore' import { useSidebarTabStore } from '@/stores/workspace/sidebarTabStore' const settingStore = useSettingStore() +const rightSidePanelStore = useRightSidePanelStore() const sidebarLocation = computed<'left' | 'right'>(() => settingStore.get('Comfy.Sidebar.Location') ) @@ -109,6 +121,7 @@ const sidebarPanelVisible = computed( const bottomPanelVisible = computed( () => useBottomPanelStore().bottomPanelVisible ) +const rightSidePanelVisible = computed(() => rightSidePanelStore.isOpen) const activeSidebarTabId = computed( () => useSidebarTabStore().activeSidebarTabId ) @@ -120,6 +133,21 @@ const sidebarStateKey = computed(() => { // When no tab is active, use a default key to maintain state return activeSidebarTabId.value ?? 'default-sidebar' }) + +/** + * Force refresh the splitter when right panel visibility changes to recalculate the width + */ +const splitterRefreshKey = computed(() => { + return rightSidePanelVisible.value + ? 'main-splitter-with-right-panel' + : 'main-splitter' +}) + +// Gutter visibility should be controlled by CSS targeting specific gutters +const getSplitterGutterClasses = computed(() => { + // Empty string - let individual gutter styles handle visibility + return '' +}) diff --git a/src/components/rightSidePanel/RightSidePanel.vue b/src/components/rightSidePanel/RightSidePanel.vue new file mode 100644 index 0000000000..af23b3f111 --- /dev/null +++ b/src/components/rightSidePanel/RightSidePanel.vue @@ -0,0 +1,172 @@ + + + diff --git a/src/components/rightSidePanel/info/TabInfo.vue b/src/components/rightSidePanel/info/TabInfo.vue new file mode 100644 index 0000000000..b553bc8a8d --- /dev/null +++ b/src/components/rightSidePanel/info/TabInfo.vue @@ -0,0 +1,37 @@ + + + diff --git a/src/components/rightSidePanel/layout/RightPanelSection.vue b/src/components/rightSidePanel/layout/RightPanelSection.vue new file mode 100644 index 0000000000..b8a8f18a29 --- /dev/null +++ b/src/components/rightSidePanel/layout/RightPanelSection.vue @@ -0,0 +1,51 @@ + + + diff --git a/src/components/rightSidePanel/layout/SidePanelSearch.vue b/src/components/rightSidePanel/layout/SidePanelSearch.vue new file mode 100644 index 0000000000..383d3b48e0 --- /dev/null +++ b/src/components/rightSidePanel/layout/SidePanelSearch.vue @@ -0,0 +1,79 @@ + + + diff --git a/src/components/rightSidePanel/parameters/SectionWidgets.vue b/src/components/rightSidePanel/parameters/SectionWidgets.vue new file mode 100644 index 0000000000..c9210d5a78 --- /dev/null +++ b/src/components/rightSidePanel/parameters/SectionWidgets.vue @@ -0,0 +1,70 @@ + + + diff --git a/src/components/rightSidePanel/parameters/TabParameters.vue b/src/components/rightSidePanel/parameters/TabParameters.vue new file mode 100644 index 0000000000..a521a82c4a --- /dev/null +++ b/src/components/rightSidePanel/parameters/TabParameters.vue @@ -0,0 +1,89 @@ + + + diff --git a/src/components/rightSidePanel/settings/TabSettings.vue b/src/components/rightSidePanel/settings/TabSettings.vue new file mode 100644 index 0000000000..4bc972200d --- /dev/null +++ b/src/components/rightSidePanel/settings/TabSettings.vue @@ -0,0 +1,230 @@ + + + diff --git a/src/core/graph/subgraph/SubgraphNode.vue b/src/components/rightSidePanel/subgraph/SubgraphEditor.vue similarity index 67% rename from src/core/graph/subgraph/SubgraphNode.vue rename to src/components/rightSidePanel/subgraph/SubgraphEditor.vue index 7be5246f2f..aad5d01084 100644 --- a/src/core/graph/subgraph/SubgraphNode.vue +++ b/src/components/rightSidePanel/subgraph/SubgraphEditor.vue @@ -1,5 +1,6 @@ + diff --git a/src/core/graph/subgraph/SubgraphNodeWidget.vue b/src/components/rightSidePanel/subgraph/SubgraphNodeWidget.vue similarity index 53% rename from src/core/graph/subgraph/SubgraphNodeWidget.vue rename to src/components/rightSidePanel/subgraph/SubgraphNodeWidget.vue index 0051281c26..820a7329cb 100644 --- a/src/core/graph/subgraph/SubgraphNodeWidget.vue +++ b/src/components/rightSidePanel/subgraph/SubgraphNodeWidget.vue @@ -2,6 +2,7 @@ import Button from 'primevue/button' import { cn } from '@/utils/tailwindUtil' +import type { ClassValue } from '@/utils/tailwindUtil' const props = defineProps<{ nodeTitle: string @@ -9,19 +10,12 @@ const props = defineProps<{ isShown?: boolean isDraggable?: boolean isPhysical?: boolean + class?: ClassValue }>() defineEmits<{ (e: 'toggleVisibility'): void }>() -function classes() { - return cn( - 'flex py-1 pr-4 pl-0 break-all rounded items-center gap-1', - 'bg-node-component-surface', - props.isDraggable && - 'draggable-item drag-handle cursor-grab [&.is-draggable]:cursor-grabbing' - ) -} function getIcon() { return props.isPhysical ? 'icon-[lucide--link]' @@ -30,19 +24,24 @@ function getIcon() { : 'icon-[lucide--eye-off]' } + diff --git a/src/components/sidebar/tabs/nodeLibrary/NodeHelpPage.vue b/src/components/sidebar/tabs/nodeLibrary/NodeHelpPage.vue index ca7574cf60..82408845ed 100644 --- a/src/components/sidebar/tabs/nodeLibrary/NodeHelpPage.vue +++ b/src/components/sidebar/tabs/nodeLibrary/NodeHelpPage.vue @@ -12,234 +12,21 @@ /> {{ node.display_name }} -
- - -
- -
-

- {{ $t('g.description') }}: {{ node.description }} -

- -
-

- {{ $t('nodeHelpPage.inputs') }}: -

- - - - - - - - - - - - - - - - -
{{ $t('g.name') }}{{ $t('nodeHelpPage.type') }}{{ $t('g.description') }}
- {{ input.name }} - {{ input.type }}{{ input.tooltip || '-' }}
-
- -
-

- {{ $t('nodeHelpPage.outputs') }}: -

- - - - - - - - - - - - - - - -
{{ $t('g.name') }}{{ $t('nodeHelpPage.type') }}{{ $t('g.description') }}
- {{ output.name }} - {{ output.type }}{{ output.tooltip || '-' }}
-
-
+
+
- - diff --git a/src/composables/useCoreCommands.ts b/src/composables/useCoreCommands.ts index 305debbc79..1cbfec9091 100644 --- a/src/composables/useCoreCommands.ts +++ b/src/composables/useCoreCommands.ts @@ -8,7 +8,6 @@ import { DEFAULT_LIGHT_COLOR_PALETTE } from '@/constants/coreColorPalettes' import { tryToggleWidgetPromotion } from '@/core/graph/subgraph/proxyWidgetUtils' -import { showSubgraphNodeDialog } from '@/core/graph/subgraph/useSubgraphNodeDialog' import { t } from '@/i18n' import { LGraphEventMode, @@ -48,6 +47,7 @@ import { useSubgraphNavigationStore } from '@/stores/subgraphNavigationStore' import { useSubgraphStore } from '@/stores/subgraphStore' import { useBottomPanelStore } from '@/stores/workspace/bottomPanelStore' import { useColorPaletteStore } from '@/stores/workspace/colorPaletteStore' +import { useRightSidePanelStore } from '@/stores/workspace/rightSidePanelStore' import { useSearchBoxStore } from '@/stores/workspace/searchBoxStore' import { useWorkspaceStore } from '@/stores/workspaceStore' import { @@ -1025,7 +1025,9 @@ export function useCoreCommands(): ComfyCommand[] { label: 'Edit Subgraph Widgets', icon: 'icon-[lucide--settings-2]', versionAdded: '1.28.5', - function: showSubgraphNodeDialog + function: () => { + useRightSidePanelStore().openPanel('subgraph') + } }, { id: 'Comfy.Graph.ToggleWidgetPromotion', diff --git a/src/core/graph/subgraph/useSubgraphNodeDialog.ts b/src/core/graph/subgraph/useSubgraphNodeDialog.ts deleted file mode 100644 index 6004e28509..0000000000 --- a/src/core/graph/subgraph/useSubgraphNodeDialog.ts +++ /dev/null @@ -1,27 +0,0 @@ -import SubgraphNode from '@/core/graph/subgraph/SubgraphNode.vue' -import { useDialogStore } from '@/stores/dialogStore' -import type { DialogComponentProps } from '@/stores/dialogStore' - -const key = 'global-subgraph-node-config' - -export function showSubgraphNodeDialog() { - const dialogStore = useDialogStore() - const dialogComponentProps: DialogComponentProps = { - modal: false, - position: 'topright', - pt: { - root: { - class: 'bg-node-component-surface mt-22' - }, - header: { - class: 'h-8 text-xs ml-3' - } - } - } - dialogStore.showDialog({ - title: 'Parameters', - key, - component: SubgraphNode, - dialogComponentProps - }) -} diff --git a/src/locales/en/main.json b/src/locales/en/main.json index eeab8db2be..515d13f9e3 100644 --- a/src/locales/en/main.json +++ b/src/locales/en/main.json @@ -2251,5 +2251,24 @@ "description": "This workflow uses custom nodes you haven't installed yet.", "replacementInstruction": "Install these nodes to run this workflow, or replace them with installed alternatives. Missing nodes are highlighted in red on the canvas." } + }, + "rightSidePanel": { + "togglePanel": "Toggle properties panel", + "noSelection": "Select a node to see its properties and info.", + "multipleSelection": "{count} items selected", + "parameters": "Parameters", + "info": "Info", + "nodeType": "Type", + "nodeId": "ID", + "description": "Description", + "color": "Node color", + "pinned": "Pinned", + "bypass": "Bypass", + "normal": "Normal", + "mute": "Mute", + "inputs": "INPUTS", + "properties": "Properties", + "nodeState": "Node state", + "settings": "Settings" } } \ No newline at end of file diff --git a/src/renderer/extensions/vueNodes/widgets/components/form/FormSelectButton.vue b/src/renderer/extensions/vueNodes/widgets/components/form/FormSelectButton.vue index f03a9b6b43..cca84a353c 100644 --- a/src/renderer/extensions/vueNodes/widgets/components/form/FormSelectButton.vue +++ b/src/renderer/extensions/vueNodes/widgets/components/form/FormSelectButton.vue @@ -17,17 +17,19 @@ 'text-center text-xs font-normal', { 'bg-interface-menu-component-surface-selected': - isSelected(option) && !disabled, - 'hover:bg-interface-menu-component-surface-hovered': - !isSelected(option) && !disabled, + isSelected(index) && !disabled, + 'hover:bg-interface-menu-component-surface-selected/50': + !isSelected(index) && !disabled, 'opacity-50 cursor-not-allowed': disabled, 'cursor-pointer': !disabled }, - isSelected(option) && !disabled ? 'text-primary' : 'text-secondary' + isSelected(index) && !disabled + ? 'text-text-primary' + : 'text-text-secondary' ) " :disabled="disabled" - @click="handleSelect(option)" + @click="handleSelect(index)" > {{ getOptionLabel(option) }} @@ -37,14 +39,18 @@ diff --git a/src/renderer/extensions/vueNodes/widgets/components/layout/WidgetLayoutField.vue b/src/renderer/extensions/vueNodes/widgets/components/layout/WidgetLayoutField.vue index 0632524924..032c4d6e88 100644 --- a/src/renderer/extensions/vueNodes/widgets/components/layout/WidgetLayoutField.vue +++ b/src/renderer/extensions/vueNodes/widgets/components/layout/WidgetLayoutField.vue @@ -1,18 +1,24 @@