diff --git a/packages/bbui/src/ActionButton/ActionButton.svelte b/packages/bbui/src/ActionButton/ActionButton.svelte
index f24eb25ffb..b518ac3d92 100644
--- a/packages/bbui/src/ActionButton/ActionButton.svelte
+++ b/packages/bbui/src/ActionButton/ActionButton.svelte
@@ -1,8 +1,7 @@
{#each sections as section, idx (section.name)}
@@ -116,7 +107,6 @@
{componentBindings}
{componentInstance}
{componentDefinition}
- autofocus={isFocused(setting)}
/>
{/if}
{/each}
diff --git a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/DataProviderSelect.svelte b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/DataProviderSelect.svelte
index b16530bfe6..a5b7a08255 100644
--- a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/DataProviderSelect.svelte
+++ b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/DataProviderSelect.svelte
@@ -6,7 +6,6 @@
import { createEventDispatcher, onMount } from "svelte"
export let value
- export let autofocus = false
const dispatch = createEventDispatcher()
const getValue = component => `{{ literal ${makePropSafe(component._id)} }}`
@@ -25,7 +24,6 @@
{#if value?.type === "query"}
diff --git a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/FieldSelect.svelte b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/FieldSelect.svelte
index edcc1ccf15..7d1741df17 100644
--- a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/FieldSelect.svelte
+++ b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/FieldSelect.svelte
@@ -10,7 +10,6 @@
export let componentInstance = {}
export let value = ""
export let placeholder
- export let autofocus = false
const dispatch = createEventDispatcher()
$: datasource = getDatasourceForProvider($currentAsset, componentInstance)
@@ -38,10 +37,4 @@
}
-
+
diff --git a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/FormFieldSelect.svelte b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/FormFieldSelect.svelte
index b30d442999..1f08c56ff5 100644
--- a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/FormFieldSelect.svelte
+++ b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/FormFieldSelect.svelte
@@ -10,7 +10,6 @@
export let componentInstance
export let value
export let type
- export let autofocus = false
$: form = findClosestMatchingComponent(
$currentAsset?.props,
@@ -41,4 +40,4 @@
}
-
+
diff --git a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/IconSelect/IconSelect.svelte b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/IconSelect/IconSelect.svelte
index 821e44bf82..0aad0e844d 100644
--- a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/IconSelect/IconSelect.svelte
+++ b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/IconSelect/IconSelect.svelte
@@ -15,7 +15,6 @@
export let value = ""
export let maxIconsPerPage = 30
- export let autofocus = false
let searchTerm = ""
let selectedLetter = "A"
@@ -118,7 +117,7 @@
diff --git a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/MultiFieldSelect.svelte b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/MultiFieldSelect.svelte
index 9e3a91bc41..485fde64fa 100644
--- a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/MultiFieldSelect.svelte
+++ b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/MultiFieldSelect.svelte
@@ -10,7 +10,6 @@
export let componentInstance = {}
export let value = ""
export let placeholder
- export let autofocus
const dispatch = createEventDispatcher()
$: datasource = getDatasourceForProvider($currentAsset, componentInstance)
@@ -32,10 +31,4 @@
}
-
+
diff --git a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/PropertyControl.svelte b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/PropertyControl.svelte
index c2ead2eef9..5ca584d11b 100644
--- a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/PropertyControl.svelte
+++ b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/PropertyControl.svelte
@@ -4,8 +4,6 @@
readableToRuntimeBinding,
runtimeToReadableBinding,
} from "builderStore/dataBinding"
- import { setContext } from "svelte"
- import { store } from "builderStore"
export let label = ""
export let componentInstance = {}
@@ -18,7 +16,6 @@
export let bindings = []
export let componentBindings = []
export let nested = false
- export let autofocus = false
$: allBindings = getAllBindings(bindings, componentBindings, nested)
$: safeValue = getSafeValue(value, props.defaultValue, allBindings)
@@ -63,28 +60,6 @@
? defaultValue
: enriched
}
-
- setContext("builderFocus", {
- clear: () => {
- if (!$store?.builderFocus) {
- return
- }
- store.update(state => {
- const updatedFocus = $store?.builderFocus?.filter(focus => {
- return (
- focus.location === "component_settings" &&
- focus.target !== componentInstance._id
- )
- })
- if (updatedFocus?.length > 0) {
- state.builderFocus = updatedFocus
- } else {
- delete state.builderFocus
- }
- return state
- })
- },
- })
@@ -107,7 +82,6 @@
{key}
{type}
{...props}
- {autofocus}
/>
@@ -119,6 +93,13 @@
flex-direction: column;
justify-content: flex-start;
align-items: stretch;
+ padding: 4px 8px;
+ margin: -6px -10px;
+ border: 2px solid transparent;
+ border-radius: 4px;
+ }
+ .property-control.highlighted {
+ border-color: var(--spectrum-global-color-blue-400);
}
.label {
padding-bottom: var(--spectrum-global-dimension-size-65);
diff --git a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/URLSelect.svelte b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/URLSelect.svelte
index 581f0e7fd2..dc2fa7ad89 100644
--- a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/URLSelect.svelte
+++ b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/URLSelect.svelte
@@ -4,7 +4,6 @@
export let value
export let bindings
- export let autofocus
$: urlOptions = $store.screens
.map(screen => screen.routing?.route)
@@ -17,5 +16,4 @@
on:change
options={urlOptions}
appendBindingsAsOptions={false}
- {autofocus}
/>
diff --git a/packages/client/manifest.json b/packages/client/manifest.json
index 73f3116304..88e9e392e6 100644
--- a/packages/client/manifest.json
+++ b/packages/client/manifest.json
@@ -1167,7 +1167,8 @@
{
"type": "boolean",
"label": "New Tab",
- "key": "openInNewTab"
+ "key": "openInNewTab",
+ "required": true
},
{
"type": "select",
@@ -1176,6 +1177,7 @@
"defaultValue": "M",
"showInBar": true,
"barStyle": "picker",
+ "required": true,
"options": [
{
"label": "Small",
@@ -1196,7 +1198,8 @@
"label": "Color",
"key": "color",
"showInBar": true,
- "barSeparator": false
+ "barSeparator": false,
+ "required": true
},
{
"type": "boolean",
@@ -1205,7 +1208,8 @@
"showInBar": true,
"barIcon": "TagBold",
"barTitle": "Bold text",
- "barSeparator": false
+ "barSeparator": false,
+ "required": true
},
{
"type": "boolean",
@@ -1214,7 +1218,8 @@
"showInBar": true,
"barIcon": "TagItalic",
"barTitle": "Italic text",
- "barSeparator": false
+ "barSeparator": false,
+ "required": true
},
{
"type": "boolean",
diff --git a/packages/client/src/components/app/ComponentPlaceholder.svelte b/packages/client/src/components/app/ComponentPlaceholder.svelte
index e8164fdb8b..486a72d443 100644
--- a/packages/client/src/components/app/ComponentPlaceholder.svelte
+++ b/packages/client/src/components/app/ComponentPlaceholder.svelte
@@ -5,26 +5,20 @@
const { styleable } = getContext("sdk")
const component = getContext("component")
- $: focusSetting = $component.missingRequiredSettings?.[0]
+ $: requiredSetting = $component.missingRequiredSettings?.[0]
-{#if $builderStore.inBuilder && focusSetting}
+{#if $builderStore.inBuilder && requiredSetting}
- Add the {focusSetting?.label} setting to start using your component
-
+ Add the {requiredSetting.label} setting to start using your
+ component
{
- builderStore.actions.setFocus([
- {
- location: "component_settings",
- key: focusSetting.key,
- target: $component.id,
- },
- ])
+ builderStore.actions.highlightSetting(requiredSetting.key)
}}
>
Show me
diff --git a/packages/client/src/components/app/Link.svelte b/packages/client/src/components/app/Link.svelte
index 5ac8a4f9ec..79bf296208 100644
--- a/packages/client/src/components/app/Link.svelte
+++ b/packages/client/src/components/app/Link.svelte
@@ -1,6 +1,5 @@