1
0
Fork 0
mirror of synced 2024-10-06 04:54:52 +13:00
budibase/packages/builder/src/components/common/Button.svelte

172 lines
3.2 KiB
Svelte
Raw Normal View History

2019-07-13 21:35:57 +12:00
<script>
2020-02-03 22:50:30 +13:00
export let color = "primary"
export let className = ""
export let style = ""
export let groupPosition = ""
export let grouped = false
2019-07-13 21:35:57 +12:00
2020-02-03 22:50:30 +13:00
$: borderClass = grouped ? "" : "border-normal"
2019-07-13 21:35:57 +12:00
</script>
2020-02-03 22:50:30 +13:00
<button
class="{color}
{className}
{borderClass}
{grouped ? 'grouped' : ''}"
{style}
on:click>
<slot />
2019-07-13 21:35:57 +12:00
</button>
<style>
2020-02-03 22:50:30 +13:00
.border-normal {
border-radius: var(--borderradiusall);
}
.border-left {
border-radius: var(--borderradius) 0 0 var(--borderradius);
}
.border-right {
border-radius: 0 var(--borderradius) var(--borderradius) 0;
}
.border-middle {
border-radius: 0;
}
button {
border-style: solid;
padding: 7.5px 15px;
2020-02-03 22:50:30 +13:00
cursor: pointer;
margin: 5px;
border-radius: 5px;
2020-02-03 22:50:30 +13:00
}
2019-07-13 21:35:57 +12:00
2020-02-03 22:50:30 +13:00
/* ---- PRIMARY ----*/
.primary {
background-color: var(--blue);
border-color: var(--blue);
2019-07-13 21:35:57 +12:00
color: var(--white);
2020-02-03 22:50:30 +13:00
}
2019-07-13 21:35:57 +12:00
2020-02-03 22:50:30 +13:00
.primary:hover {
background-color: var(--blue);
border-color: var(--blue);
2020-02-03 22:50:30 +13:00
}
2019-07-13 21:35:57 +12:00
2020-02-03 22:50:30 +13:00
.primary:active {
2019-07-13 21:35:57 +12:00
background-color: var(--primarydark);
border-color: var(--primarydark);
2020-02-03 22:50:30 +13:00
}
2019-07-13 21:35:57 +12:00
2020-02-03 22:50:30 +13:00
.primary-outline {
2019-07-13 21:35:57 +12:00
background-color: var(--white);
border-color: var(--blue);
color: var(--blue);
2020-02-03 22:50:30 +13:00
}
2019-07-13 21:35:57 +12:00
2020-02-03 22:50:30 +13:00
.primary-outline:hover {
2019-07-13 21:35:57 +12:00
background-color: var(--primary10);
2020-02-03 22:50:30 +13:00
}
2019-07-13 21:35:57 +12:00
2020-02-03 22:50:30 +13:00
.primary-outline:pressed {
2019-07-13 21:35:57 +12:00
background-color: var(--primary25);
2020-02-03 22:50:30 +13:00
}
2019-07-13 21:35:57 +12:00
2020-02-03 22:50:30 +13:00
/* ---- secondary ----*/
2019-07-13 21:35:57 +12:00
2020-02-03 22:50:30 +13:00
.secondary {
background-color: var(--ink);
border-color: var(--ink);
2019-07-13 21:35:57 +12:00
color: var(--white);
2020-02-03 22:50:30 +13:00
}
2019-07-13 21:35:57 +12:00
2020-02-03 22:50:30 +13:00
.secondary:hover {
2019-07-13 21:35:57 +12:00
background-color: var(--secondary75);
border-color: var(--secondary75);
2020-02-03 22:50:30 +13:00
}
2019-07-13 21:35:57 +12:00
2020-02-03 22:50:30 +13:00
.secondary:pressed {
2019-07-13 21:35:57 +12:00
background-color: var(--secondarydark);
border-color: var(--secondarydark);
2020-02-03 22:50:30 +13:00
}
2019-07-13 21:35:57 +12:00
2020-02-03 22:50:30 +13:00
.secondary-outline {
2019-07-13 21:35:57 +12:00
background-color: var(--white);
border-color: var(--ink);
color: var(--ink);
2020-02-03 22:50:30 +13:00
}
2019-07-13 21:35:57 +12:00
2020-02-03 22:50:30 +13:00
.secondary-outline:hover {
2019-07-13 21:35:57 +12:00
background-color: var(--secondary10);
2020-02-03 22:50:30 +13:00
}
2019-07-13 21:35:57 +12:00
2020-02-03 22:50:30 +13:00
.secondary-outline:pressed {
2019-07-13 21:35:57 +12:00
background-color: var(--secondary25);
2020-02-03 22:50:30 +13:00
}
2019-07-13 21:35:57 +12:00
2020-02-03 22:50:30 +13:00
/* ---- success ----*/
.success {
2019-07-13 21:35:57 +12:00
background-color: var(--success100);
border-color: var(--success100);
color: var(--white);
2020-02-03 22:50:30 +13:00
}
2019-07-13 21:35:57 +12:00
2020-02-03 22:50:30 +13:00
.success:hover {
2019-07-13 21:35:57 +12:00
background-color: var(--success75);
border-color: var(--success75);
2020-02-03 22:50:30 +13:00
}
2019-07-13 21:35:57 +12:00
2020-02-03 22:50:30 +13:00
.success:pressed {
2019-07-13 21:35:57 +12:00
background-color: var(--successdark);
border-color: var(--successdark);
2020-02-03 22:50:30 +13:00
}
2019-07-13 21:35:57 +12:00
2020-02-03 22:50:30 +13:00
.success-outline {
2019-07-13 21:35:57 +12:00
background-color: var(--white);
border-color: var(--success100);
color: var(--success100);
2020-02-03 22:50:30 +13:00
}
2019-07-13 21:35:57 +12:00
2020-02-03 22:50:30 +13:00
.success-outline:hover {
2019-07-13 21:35:57 +12:00
background-color: var(--success10);
2020-02-03 22:50:30 +13:00
}
2019-07-13 21:35:57 +12:00
2020-02-03 22:50:30 +13:00
.success-outline:pressed {
2019-07-13 21:35:57 +12:00
background-color: var(--success25);
2020-02-03 22:50:30 +13:00
}
2019-07-13 21:35:57 +12:00
2020-02-03 22:50:30 +13:00
/* ---- deletion ----*/
.deletion {
background-color: var(--red);
border-color: var(--red);
2019-07-13 21:35:57 +12:00
color: var(--white);
2020-02-03 22:50:30 +13:00
}
2019-07-13 21:35:57 +12:00
2020-02-03 22:50:30 +13:00
.deletion:hover {
background-color: var(--red-light);
border-color: var(--red);
color: var(--red);
2020-02-03 22:50:30 +13:00
}
2019-07-13 21:35:57 +12:00
2020-02-03 22:50:30 +13:00
.deletion:pressed {
background-color: var(--red-dark);
border-color: var(--red-dark);
color: var(--white);
2020-02-03 22:50:30 +13:00
}
2019-07-13 21:35:57 +12:00
2020-02-03 22:50:30 +13:00
.deletion-outline {
2019-07-13 21:35:57 +12:00
background-color: var(--white);
border-color: var(--red);
color: var(--red);
2020-02-03 22:50:30 +13:00
}
2019-07-13 21:35:57 +12:00
2020-02-03 22:50:30 +13:00
.deletion-outline:hover {
background-color: var(--red-light);
color: var(--red);
2020-02-03 22:50:30 +13:00
}
2019-07-13 21:35:57 +12:00
2020-02-03 22:50:30 +13:00
.deletion-outline:pressed {
background-color: var(--red-dark);
color: var(--white);
2020-02-03 22:50:30 +13:00
}
</style>