diff --git a/packages/builder/src/components/design/Panel.svelte b/packages/builder/src/components/design/Panel.svelte
index c1eab881d5..701c7c4bd3 100644
--- a/packages/builder/src/components/design/Panel.svelte
+++ b/packages/builder/src/components/design/Panel.svelte
@@ -3,11 +3,13 @@
export let title
export let icon
+ export let expandable = false
export let showAddButton = false
export let showBackButton = false
- export let showExpandIcon = false
+ export let showCloseButton = false
export let onClickAddButton
export let onClickBackButton
+ export let onClickCloseButton
export let borderLeft = false
export let borderRight = false
@@ -25,7 +27,7 @@
@@ -59,6 +51,7 @@
justify-content: space-between;
align-items: flex-start;
gap: var(--spacing-l);
+ margin: 0 2px;
}
.header-left,
.header-right {
diff --git a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/navigation/ComponentListPanel.svelte b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/navigation/ComponentListPanel.svelte
index 513048caf1..e025b8c7a7 100644
--- a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/navigation/ComponentListPanel.svelte
+++ b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/navigation/ComponentListPanel.svelte
@@ -9,7 +9,7 @@
import { setContext } from "svelte"
import DNDPositionIndicator from "./DNDPositionIndicator.svelte"
import { DropPosition } from "./dndStore"
- import { Button, Layout } from "@budibase/bbui"
+ import { Button } from "@budibase/bbui"
let scrollRef
@@ -64,7 +64,7 @@
-
+
diff --git a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_layout.svelte b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_layout.svelte
index 5b51d755af..530ef44452 100644
--- a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_layout.svelte
+++ b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_layout.svelte
@@ -4,6 +4,8 @@
import * as routify from "@roxi/routify"
import { onDestroy } from "svelte"
import { findComponent } from "builderStore/componentUtils"
+ import ComponentListPanel from "./_components/navigation/ComponentListPanel.svelte"
+ import ComponentSettingsPanel from "./_components/settings/ComponentSettingsPanel.svelte"
// Keep URL and state in sync for selected component ID
const stopSyncing = syncURLToState({
@@ -18,4 +20,6 @@
onDestroy(stopSyncing)
+
+
diff --git a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/index.svelte b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/index.svelte
index a8e1e3e630..9b5d05fe57 100644
--- a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/index.svelte
+++ b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/index.svelte
@@ -1,7 +1,4 @@
-
-
-
-
+
diff --git a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/new/_components/NewComponentPanel.svelte b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/new/_components/NewComponentPanel.svelte
similarity index 67%
rename from packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/new/_components/NewComponentPanel.svelte
rename to packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/new/_components/NewComponentPanel.svelte
index 7f841e09ea..7b5f164e06 100644
--- a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/new/_components/NewComponentPanel.svelte
+++ b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/new/_components/NewComponentPanel.svelte
@@ -15,6 +15,7 @@
import structure from "./componentStructure.json"
import { store, selectedComponent } from "builderStore"
import { onMount } from "svelte"
+ import { fly } from "svelte/transition"
let section = "components"
let searchString
@@ -150,75 +151,95 @@
})
- $goto("../slot")}
- borderRight
->
-
- (searchString = e.detail)}
- bind:inputRef={searchRef}
- />
- {#if !searchString}
-
- (section = "components")}>Components
- (section = "blocks")}>Blocks
-
- {/if}
-
-
- {#if searchString || section === "components"}
- {#each filteredStructure as category}
-
-
- {#each category.children as component}
+
+
$goto("../")}
+ borderLeft
+ >
+
+ (searchString = e.detail)}
+ bind:inputRef={searchRef}
+ />
+ {#if !searchString}
+
+ (section = "components")}>Components
+ (section = "blocks")}>Blocks
+
+ {/if}
+
+
+ {#if searchString || section === "components"}
+ {#if filteredStructure.length}
+ {#each filteredStructure as category}
+
+
+ {#each category.children as component}
+
15}
+ class:selected={selectedIndex ===
+ orderMap[component.component]}
+ on:click={() => addComponent(component.component)}
+ on:mouseover={() => (selectedIndex = null)}
+ >
+
+ {component.name}
+
+ {/each}
+
+
+ {/each}
+ {:else}
+
+
+ There aren't any components matching the current filter
+
+
+ {/if}
+ {:else}
+
+ Blocks are collections of pre-built components
+
+ {#each blocks as block}
15}
- class:selected={selectedIndex === orderMap[component.component]}
- on:click={() => addComponent(component.component)}
- on:mouseover={() => (selectedIndex = null)}
+ class="component block"
+ on:click={() => addComponent(block.component)}
>
-
- {component.name}
+
+ {block.name}
{/each}
-
-
- {/each}
- {:else}
-
- Blocks are collections of pre-built components
-
- {#each blocks as block}
- addComponent(block.component)}
- >
-
- {block.name}
-
- {/each}
+
-
- {/if}
-
+ {/if}
+
+