diff --git a/packages/builder/src/components/userInterface/ComponentPropertiesPanel.svelte b/packages/builder/src/components/userInterface/ComponentPropertiesPanel.svelte index b953217f4d..c4c57c8e04 100644 --- a/packages/builder/src/components/userInterface/ComponentPropertiesPanel.svelte +++ b/packages/builder/src/components/userInterface/ComponentPropertiesPanel.svelte @@ -146,6 +146,7 @@ .root { height: 100%; + padding: 20px; display: flex; flex-direction: column; } diff --git a/packages/builder/src/components/userInterface/ComponentSelectionList.svelte b/packages/builder/src/components/userInterface/ComponentSelectionList.svelte index 509da640f6..d1958d3d3f 100644 --- a/packages/builder/src/components/userInterface/ComponentSelectionList.svelte +++ b/packages/builder/src/components/userInterface/ComponentSelectionList.svelte @@ -1,264 +1,54 @@
- - {#each componentItems as item} - - {/each} - + +
+ +
- (selectedComponent = null)} - onOk={onTemplateInstanceChosen}> - {#each templateInstances.map(i => i.name) as instance} -
- -
- {/each} -
- diff --git a/packages/builder/src/components/userInterface/ComponentItem.svelte b/packages/builder/src/components/userInterface/ComponentTab/Item.svelte similarity index 100% rename from packages/builder/src/components/userInterface/ComponentItem.svelte rename to packages/builder/src/components/userInterface/ComponentTab/Item.svelte diff --git a/packages/builder/src/components/userInterface/ComponentTab/Tab.svelte b/packages/builder/src/components/userInterface/ComponentTab/Tab.svelte new file mode 100644 index 0000000000..8e45c570b3 --- /dev/null +++ b/packages/builder/src/components/userInterface/ComponentTab/Tab.svelte @@ -0,0 +1,10 @@ + + +{#each components as { icon, name, description }} + +{/each} diff --git a/packages/builder/src/components/userInterface/ComponentsPaneSwitcher.svelte b/packages/builder/src/components/userInterface/ComponentsPaneSwitcher.svelte index b4b200c40d..9ca5b1e122 100644 --- a/packages/builder/src/components/userInterface/ComponentsPaneSwitcher.svelte +++ b/packages/builder/src/components/userInterface/ComponentsPaneSwitcher.svelte @@ -60,9 +60,7 @@ .switcher { display: flex; justify-content: space-between; - margin-bottom: 20px; - padding: 0 20px 20px; - border-bottom: 1px solid #d8d8d8; + margin: 20px; } .switcher > button { @@ -85,11 +83,4 @@ color: var(--secondary100); font-weight: 600; } - - .panel { - flex: 1 1 auto; - height: 0px; - overflow-y: auto; - padding: 0 5px 40px 10px; - } diff --git a/packages/builder/src/components/userInterface/temporaryPanelStructure.js b/packages/builder/src/components/userInterface/temporaryPanelStructure.js new file mode 100644 index 0000000000..163a93cfb3 --- /dev/null +++ b/packages/builder/src/components/userInterface/temporaryPanelStructure.js @@ -0,0 +1,244 @@ +export default { + categories: [ + { + name: 'Basic', + components: [ + { + name: 'Container', + description: 'This component contains things within itself', + icon: 'ri-layout-row-fill', + commonProps: {}, + type: [] + }, + { + name: 'Text', + description: 'This is a simple text component', + icon: 'ri-t-box-fill', + commonProps: {}, + type: [ + { + _component: '@budibase/standard-components/header', + name: 'Headline', + icon: 'headline', + props: { + type: { + type: 'options', + options: [ + 'h1', + 'h2' + ], + 'default': 'h1' + } + } + }, + { + _component: '@budibase/standard-components/text', + name: 'Paragraph', + icon: 'paragraph', + props: {} + } + ] + }, + { + name: 'Button', + description: 'A basic html button that is ready for styling', + icon: 'ri-radio-button-fill', + commonProps: {}, + type: [] + }, + { + name: 'Icon', + description: 'A basic component for displaying icons', + icon: 'ri-sun-fill', + commonProps: {}, + type: [] + }, + { + name: 'Avatar', + description: 'A basic component for rendering an avatar', + icon: 'ri-user-smile-fill', + commonProps: {}, + type: [] + }, + { + name: 'Link', + description: 'A basic link component for internal and external links', + icon: 'ri-link', + commonProps: {}, + type: [] + } + ] + }, + { + name: 'Form', + components: [ + { + name: 'Button', + description: 'A basic html button that is ready for styling', + icon: 'ri-radio-button-fill', + commonProps: {}, + type: [] + }, + { + name: 'Icon', + description: 'A basic component for displaying icons', + icon: 'ri-sun-fill', + commonProps: {}, + type: [] + }, + { + name: 'Avatar', + description: 'A basic component for rendering an avatar', + icon: 'ri-user-smile-fill', + commonProps: {}, + type: [] + }, + { + name: 'Link', + description: 'A basic link component for internal and external links', + icon: 'ri-link', + commonProps: {}, + type: [] + } + ] + }, + { + name: 'Blocks', + components: [ + { + name: 'Container', + description: 'This component contains things within itself', + icon: 'ri-layout-row-fill', + commonProps: {}, + type: [] + }, + { + name: 'Text', + description: 'This is a simple text component', + icon: 'ri-t-box-fill', + commonProps: {}, + type: [ + { + _component: '@budibase/standard-components/header', + name: 'Headline', + icon: 'headline', + props: { + type: { + type: 'options', + options: [ + 'h1', + 'h2' + ], + 'default': 'h1' + } + } + }, + { + _component: '@budibase/standard-components/text', + name: 'Paragraph', + icon: 'paragraph', + props: {} + } + ] + }, + { + name: 'Button', + description: 'A basic html button that is ready for styling', + icon: 'ri-radio-button-fill', + commonProps: {}, + type: [] + }, + { + name: 'Icon', + description: 'A basic component for displaying icons', + icon: 'ri-sun-fill', + commonProps: {}, + type: [] + }, + { + name: 'Avatar', + description: 'A basic component for rendering an avatar', + icon: 'ri-user-smile-fill', + commonProps: {}, + type: [] + }, + { + name: 'Link', + description: 'A basic link component for internal and external links', + icon: 'ri-link', + commonProps: {}, + type: [] + } + ] + }, + { + name: 'Data', + components: [ + { + name: 'Container', + description: 'This component contains things within itself', + icon: 'ri-layout-row-fill', + commonProps: {}, + type: [] + }, + { + name: 'Text', + description: 'This is a simple text component', + icon: 'ri-t-box-fill', + commonProps: {}, + type: [ + { + _component: '@budibase/standard-components/header', + name: 'Headline', + icon: 'headline', + props: { + type: { + type: 'options', + options: [ + 'h1', + 'h2' + ], + 'default': 'h1' + } + } + }, + { + _component: '@budibase/standard-components/text', + name: 'Paragraph', + icon: 'paragraph', + props: {} + } + ] + }, + { + name: 'Button', + description: 'A basic html button that is ready for styling', + icon: 'ri-radio-button-fill', + commonProps: {}, + type: [] + }, + { + name: 'Icon', + description: 'A basic component for displaying icons', + icon: 'ri-sun-fill', + commonProps: {}, + type: [] + }, + { + name: 'Avatar', + description: 'A basic component for rendering an avatar', + icon: 'ri-user-smile-fill', + commonProps: {}, + type: [] + }, + { + name: 'Link', + description: 'A basic link component for internal and external links', + icon: 'ri-link', + commonProps: {}, + type: [] + } + ] + }, + ] +} \ No newline at end of file