From 1dbbf201245fb7b7615c3a6cf67d1d440d361754 Mon Sep 17 00:00:00 2001 From: Rizumu Ayaka Date: Fri, 5 Sep 2025 01:54:26 +0800 Subject: [PATCH] feat: widget styles for V3 UI (#5320) * feat: widget input text style * feat: widget select button style * feat: the selection style of LGraphNode * feat(V3 UI style): color picker + file upload + input text + multi select + select + select button + slider + textarea + tree select * feat: placeholder * fix: filter multi select options * fix: direct binding, no transform for select button widget --- .../vueNodes/components/LGraphNode.vue | 6 +- .../widgets/components/WidgetColorPicker.vue | 35 ++++-- .../widgets/components/WidgetFileUpload.vue | 1 + .../widgets/components/WidgetInputText.vue | 4 +- .../widgets/components/WidgetMultiSelect.vue | 22 +++- .../widgets/components/WidgetSelect.vue | 4 +- .../widgets/components/WidgetSelectButton.vue | 48 ++------ .../widgets/components/WidgetSlider.vue | 6 +- .../widgets/components/WidgetTextarea.vue | 7 +- .../widgets/components/WidgetTreeSelect.vue | 4 +- .../components/form/FormSelectButton.vue | 108 ++++++++++++++++++ .../widgets/components/layout/index.ts | 14 +++ .../widgets/composables/useWidgetRenderer.ts | 7 ++ 13 files changed, 205 insertions(+), 61 deletions(-) create mode 100644 src/renderer/extensions/vueNodes/widgets/components/form/FormSelectButton.vue create mode 100644 src/renderer/extensions/vueNodes/widgets/components/layout/index.ts diff --git a/src/renderer/extensions/vueNodes/components/LGraphNode.vue b/src/renderer/extensions/vueNodes/components/LGraphNode.vue index b527b984e..4ce27f490 100644 --- a/src/renderer/extensions/vueNodes/components/LGraphNode.vue +++ b/src/renderer/extensions/vueNodes/components/LGraphNode.vue @@ -10,7 +10,8 @@ cn( 'bg-white dark-theme:bg-[#15161A]', 'min-w-[445px]', - 'lg-node absolute border-2 border-solid rounded-2xl', + 'lg-node absolute border border-solid rounded-2xl', + 'outline outline-transparent outline-2 hover:outline-black dark-theme:hover:outline-white', { 'border-blue-500 ring-2 ring-blue-300': selected, 'border-[#e1ded5] dark-theme:border-[#292A30]': !selected, @@ -19,8 +20,7 @@ 'border-red-500 bg-red-50': error, 'will-change-transform': isDragging }, - lodCssClass, - 'hover:border-green-500' + lodCssClass ) " :style="[ diff --git a/src/renderer/extensions/vueNodes/widgets/components/WidgetColorPicker.vue b/src/renderer/extensions/vueNodes/widgets/components/WidgetColorPicker.vue index 16a3dd374..ed5f2b0ec 100644 --- a/src/renderer/extensions/vueNodes/widgets/components/WidgetColorPicker.vue +++ b/src/renderer/extensions/vueNodes/widgets/components/WidgetColorPicker.vue @@ -1,17 +1,24 @@ diff --git a/src/renderer/extensions/vueNodes/widgets/components/WidgetSelect.vue b/src/renderer/extensions/vueNodes/widgets/components/WidgetSelect.vue index a09a89672..d2021f617 100644 --- a/src/renderer/extensions/vueNodes/widgets/components/WidgetSelect.vue +++ b/src/renderer/extensions/vueNodes/widgets/components/WidgetSelect.vue @@ -5,7 +5,7 @@ :options="selectOptions" v-bind="filteredProps" :disabled="readonly" - class="w-full text-xs bg-[#F9F8F4] dark-theme:bg-[#0E0E12] border-[#E1DED5] dark-theme:border-[#15161C] !rounded-lg" + :class="cn(WidgetInputBaseClass, 'w-full text-xs')" size="small" :pt="{ option: 'text-xs' @@ -21,11 +21,13 @@ import { computed } from 'vue' import { useWidgetValue } from '@/composables/graph/useWidgetValue' import type { SimplifiedWidget } from '@/types/simplifiedWidget' +import { cn } from '@/utils/tailwindUtil' import { PANEL_EXCLUDED_PROPS, filterWidgetProps } from '@/utils/widgetPropFilter' +import { WidgetInputBaseClass } from './layout' import WidgetLayoutField from './layout/WidgetLayoutField.vue' const props = defineProps<{ diff --git a/src/renderer/extensions/vueNodes/widgets/components/WidgetSelectButton.vue b/src/renderer/extensions/vueNodes/widgets/components/WidgetSelectButton.vue index f62dcd563..c63edcf60 100644 --- a/src/renderer/extensions/vueNodes/widgets/components/WidgetSelectButton.vue +++ b/src/renderer/extensions/vueNodes/widgets/components/WidgetSelectButton.vue @@ -1,62 +1,36 @@ - - diff --git a/src/renderer/extensions/vueNodes/widgets/components/WidgetSlider.vue b/src/renderer/extensions/vueNodes/widgets/components/WidgetSlider.vue index 7a0674ddd..5bb53784f 100644 --- a/src/renderer/extensions/vueNodes/widgets/components/WidgetSlider.vue +++ b/src/renderer/extensions/vueNodes/widgets/components/WidgetSlider.vue @@ -1,7 +1,9 @@