Browse Source

Add background image component

pull/4023/head
Andrew Kingston 6 years ago
parent
commit
624ad79c95
  1. 1
      packages/builder/src/components/design/AppPreview/componentStructure.json
  2. 18
      packages/standard-components/manifest.json
  3. 28
      packages/standard-components/src/BackgroundImage.svelte
  4. 1
      packages/standard-components/src/index.js

1
packages/builder/src/components/design/AppPreview/componentStructure.json

@ -49,6 +49,7 @@
"heading",
"text",
"image",
"backgroundimage",
"link",
"icon",
"embed"

18
packages/standard-components/manifest.json

@ -294,6 +294,19 @@
}
]
},
"backgroundimage": {
"name": "Background Image",
"description": "A background image",
"icon": "ri-image-line",
"styleable": true,
"settings": [
{
"type": "text",
"label": "URL",
"key": "url"
}
]
},
"icon": {
"name": "Icon",
"description": "A basic component for displaying icons",
@ -394,6 +407,11 @@
"type": "boolean",
"label": "New Tab",
"key": "openInNewTab"
},
{
"type": "boolean",
"label": "External",
"key": "external"
}
]
},

28
packages/standard-components/src/BackgroundImage.svelte

@ -0,0 +1,28 @@
<script>
import { getContext } from "svelte"
const { styleable } = getContext("sdk")
const component = getContext("component")
export let url = ""
$: style = url ? `background-image: url("${url}")` : ""
</script>
<div class="outer" use:styleable={$component.styles}>
<div class="inner" {style} />
</div>
<style>
.outer {
position: relative;
}
.inner {
position: absolute;
height: 100%;
width: 100%;
background-repeat: no-repeat;
background-size: cover;
background-position: top center;
}
</style>

1
packages/standard-components/src/index.js

@ -31,5 +31,6 @@ export { default as cardhorizontal } from "./CardHorizontal.svelte"
export { default as cardstat } from "./CardStat.svelte"
export { default as icon } from "./Icon.svelte"
export { default as search } from "./Search.svelte"
export { default as backgroundimage } from "./BackgroundImage.svelte"
export * from "./charts"
export * from "./forms"

Loading…
Cancel
Save