Pass wraps more similiar to how size is passed via CSS variables

This commit is contained in:
Henrik Giesel 2021-04-08 18:13:50 +02:00
parent 59884df70b
commit d3e1bfa841
3 changed files with 5 additions and 10 deletions

View file

@ -6,12 +6,12 @@
export let props: Record<string, string> = {}; export let props: Record<string, string> = {};
export let buttons: Buttons; export let buttons: Buttons;
export let wraps: boolean;
</script> </script>
<style lang="scss"> <style lang="scss">
ul { ul {
display: flex; display: flex;
flex-wrap: var(--toolbar-wrap);
overflow-y: auto; overflow-y: auto;
padding-inline-start: 0; padding-inline-start: 0;
@ -23,10 +23,6 @@
} }
} }
.wraps {
flex-flow: wrap;
}
li { li {
display: inline-block; display: inline-block;
margin-bottom: calc(var(--toolbar-size) / 15); margin-bottom: calc(var(--toolbar-size) / 15);
@ -54,11 +50,11 @@
} }
</style> </style>
<ul {id} class={className} {...props} class:wraps> <ul {id} class={className} {...props}>
{#each buttons as button} {#each buttons as button}
<li> <li>
{#if Array.isArray(button)} {#if Array.isArray(button)}
<svelte:self buttons={button} {wraps} /> <svelte:self buttons={button} />
{:else} {:else}
<svelte:component this={button.component} {...button} /> <svelte:component this={button.component} {...button} />
{/if} {/if}

View file

@ -58,7 +58,7 @@
} }
</style> </style>
<div style={`--toolbar-size: ${size}px`}> <div style={`--toolbar-size: ${size}px; --toolbar-wrap: ${wraps ? "wrap" : "nowrap"}`}>
<div> <div>
{#each _menus as menu} {#each _menus as menu}
<svelte:component this={menu.component} {...menu} /> <svelte:component this={menu.component} {...menu} />
@ -66,6 +66,6 @@
</div> </div>
<nav> <nav>
<ButtonGroup buttons={_buttons} {wraps} /> <ButtonGroup buttons={_buttons} />
</nav> </nav>
</div> </div>

View file

@ -26,7 +26,6 @@ class EditorToolbar extends HTMLElement {
connectedCallback(): void { connectedCallback(): void {
setupI18n({ modules: [ModuleName.EDITING] }).then(() => { setupI18n({ modules: [ModuleName.EDITING] }).then(() => {
console.log(this.buttons);
this.component = new EditorToolbarSvelte({ this.component = new EditorToolbarSvelte({
target: this, target: this,
props: { props: {