Budibase is an open-source low-code platform for creating internal apps in minutes. Supports PostgreSQL, MySQL, MSSQL, MongoDB, Rest API, Docker, K8s 🚀
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

39 lines
1.1 KiB

<script>
import "@material/button/mdc-button.scss";
import "@material/button/_mixins.scss";
//TODO: How does theme color work for this?
//TODO: Add action for ripple
//TODO: Create class builder class or fn
/*
==BLOCK MODIFIERS==
raised = via variant prop
outlined = via variant prop
unelevated = via variant prop
touch = needs accessibility wrapper div
*/
export let text = "";
//Either raised,outlined or unelevated
export let variant = "raised";
export let colour = "primary";
export let disabled = false; //added directly to button element (not in class)
export let icon = "";
export let trailingIcon = false;
$: renderLeadingIcon = !!icon && !trailingIcon;
$: renderTrailingIcon = !!icon && trailingIcon;
</script>
<button class="mdc-button" {disabled}>
<div class="mdc-button__ripple" />
{#if renderLeadingIcon}
<i class="material-icons mdc-button__icon" aria-hidden="true">{icon}</i>
{/if}
<span class="mdc-button__label">{text}</span>
{#if renderTrailingIcon}
<i class="material-icons mdc-button__icon" aria-hidden="true">{icon}</i>
{/if}
</button>