1
0
Fork 0
mirror of synced 2024-09-28 15:21:28 +12:00
budibase/packages/client/src/components/app/BackgroundImage.svelte

56 lines
1 KiB
Svelte
Raw Normal View History

2021-02-26 22:58:11 +13:00
<script>
import { getContext } from "svelte"
import Placeholder from "./Placeholder.svelte"
2021-02-26 22:58:11 +13:00
const { styleable, builderStore } = getContext("sdk")
2021-02-26 22:58:11 +13:00
const component = getContext("component")
export let url
export let position
let style = ""
$: {
if (url) {
style += `background-image: url("${url}");`
}
if (position) {
style += `background-position: ${position};`
}
}
2021-02-26 22:58:11 +13:00
</script>
{#if url}
<div class="outer" use:styleable={$component.styles}>
<div class="inner" {style} />
</div>
{:else if $builderStore.inBuilder}
<div
class="placeholder"
use:styleable={{ ...$component.styles, empty: true }}
>
<Placeholder />
</div>
{/if}
2021-02-26 22:58:11 +13:00
<style>
.outer {
position: relative;
width: 100%;
height: 400px;
2021-02-26 22:58:11 +13:00
}
.inner {
position: absolute;
height: 100%;
width: 100%;
background-repeat: no-repeat;
background-size: cover;
2021-02-27 03:04:44 +13:00
background-position: center center;
2021-02-26 22:58:11 +13:00
}
.placeholder {
display: grid;
place-items: center;
}
2021-02-26 22:58:11 +13:00
</style>