diff --git a/src/ui/src/builder/BuilderSelect.vue b/src/ui/src/builder/BuilderSelect.vue index 1c273b26..9f29c898 100644 --- a/src/ui/src/builder/BuilderSelect.vue +++ b/src/ui/src/builder/BuilderSelect.vue @@ -65,7 +65,7 @@ const { floatingStyles, update: updateFloatingStyle } = useFloating( dropdown, { placement: "bottom", - middleware: [autoPlacement()], + middleware: [autoPlacement({ allowedPlacements: ["bottom", "top"] })], }, ); @@ -131,6 +131,11 @@ function onSelect(value: string) { cursor: pointer; } +.BuilderSelect__trigger:focus { + border: 1px solid var(--softenedAccentColor); + box-shadow: 0px 0px 0px 3px rgba(81, 31, 255, 0.05); + outline: none; +} .BuilderSelect__trigger__label { text-overflow: ellipsis; overflow: hidden; diff --git a/src/ui/src/builder/settings/BuilderSettingsHandlers.vue b/src/ui/src/builder/settings/BuilderSettingsHandlers.vue index 5a363339..d93c3d43 100644 --- a/src/ui/src/builder/settings/BuilderSettingsHandlers.vue +++ b/src/ui/src/builder/settings/BuilderSettingsHandlers.vue @@ -31,6 +31,9 @@ + + addAdd custom handler + - + -
- - -
- - - - - - - - - -
+ +
+ + + + + + + + + +
- -
-
+ + addAdd + + @@ -116,6 +114,7 @@ import BuilderSelect from "../BuilderSelect.vue"; import type { Option } from "../BuilderSelect.vue"; import WdsFieldWrapper from "@/wds/WdsFieldWrapper.vue"; import WdsTextInput from "@/wds/WdsTextInput.vue"; +import WdsButton from "@/wds/WdsButton.vue"; const wf = inject(injectionKeys.core); const ssbm = inject(injectionKeys.builderManager); @@ -343,10 +342,6 @@ const copyToClipboard = (text: string) => { gap: 24px; } -.customHandler { - margin-top: 24px; -} - .addHandler .fields { display: flex; gap: 16px; diff --git a/src/ui/src/builder/settings/BuilderSettingsProperties.vue b/src/ui/src/builder/settings/BuilderSettingsProperties.vue index c0415f41..b760fac0 100644 --- a/src/ui/src/builder/settings/BuilderSettingsProperties.vue +++ b/src/ui/src/builder/settings/BuilderSettingsProperties.vue @@ -144,11 +144,13 @@ const fields = computed(() => { return definition.fields; }); -const fieldCategories = [ - FieldCategory.General, - FieldCategory.Style, - FieldCategory.Tools, -]; +const fieldCategories = computed(() => { + return [ + FieldCategory.General, + FieldCategory.Style, + FieldCategory.Tools, + ].filter((c) => fieldsByCategory.value[c]?.length); +}); const fieldsByCategory = computed(() => { const entries = Object.entries(fields.value); diff --git a/src/ui/src/wds/WdsDropdownMenu.vue b/src/ui/src/wds/WdsDropdownMenu.vue index 04d893e7..96ce9446 100644 --- a/src/ui/src/wds/WdsDropdownMenu.vue +++ b/src/ui/src/wds/WdsDropdownMenu.vue @@ -1,15 +1,17 @@