buttons
buttons is an object within the theme property for overriding modal buttons styles, and, add button style.
To override styles for the 'Add filter' button at the top of dashboards, use filters.
Primary Buttons
primary buttons are featured within <Vizzly.Dashboard/> in the following loctions:
- In modals,
primarybuttons are used to confirm actions. - In the View Editor,
primarybuttons are used to save changes.
<Vizzly.Dashboard
// ...
theme={{
buttons: {
primary: {
background: "#374151",
"&:hover": {
background: "#4b5462",
opacity: 1,
},
"&:disabled": {
background: "#9ba0a8",
opacity: 1,
},
"&:hover:disabled": {
background: "#9ba0a8",
opacity: 1,
},
},
},
}}
/>Secondary Buttons
secondary buttons are featured within <Vizzly.Dashboard/> in the following loctions:
- In modals,
secondarybuttons are used to cancel actions. - In the View Editor,
secondarybuttons are used to cancel changes.
<Vizzly.Dashboard
// ...
theme={{
buttons: {
secondary: {
background: "#fff",
"&:hover": {
background: "#E9EBF0",
opacity: 1,
},
"&:disabled": {
background: "#fff",
opacity: 0.7,
},
"&:hover:disabled": {
background: "#fff",
opacity: 0.7,
},
},
},
}}
/>'Add' Buttons
add buttons are featured within <Vizzly.Dashboard/> in the following loctions:
- In the View Editor,
small'Add' buttons add new content. - In the empty dashboard Views,
small'Add' buttons select templates and add empty Views. - To the left of the Dashboard rows,
medium'Add' buttons add cells to rows and header rows. - At the bottom of the Dashboard,
large'Add' buttons add rows.
<Vizzly.Dashboard
// ...
theme={{
buttons: {
add: {
border: "2px dashed #c3c6ca",
color: "#555d6b",
"&:hover": {
border: "2px dashed #3074d9",
color: "#3074d9",
},
small: {
fontSize: "12px",
},
medium: {
fontSize: "12px",
},
large: {
fontSize: "14px",
},
},
},
}}
/>Default Values
import Vizzly, { type VizzlyTheming } from "@vizzly/dashboard"
export function Dashboard() {
const theme: VizzlyTheming.Base = {
buttons: {
// Default Values
primary: {
background: "#374151",
border: "0",
borderRadius: "8px",
boxShadow: "unset",
color: "#fff",
fontSize: 14,
fontWeight: 500,
height: "auto",
narrowPadding: ".6rem 1rem",
padding: ".6rem 1rem",
"&:hover": {
background: "#4b5462",
border: "0",
borderRadius: "8px",
boxShadow: "unset",
color: "#fff",
fontWeight: 500,
opacity: 1,
},
"&:disabled": {
background: "#9ba0a8",
border: "0",
borderRadius: "8px",
boxShadow: "unset",
color: "#fff",
fontWeight: 500,
opacity: 1,
},
"&:hover:disabled": {
background: "#9ba0a8",
border: "0",
borderRadius: "8px",
boxShadow: "unset",
color: "#fff",
fontWeight: 500,
opacity: 1,
},
},
secondary: {
background: "#fff",
border: "0",
borderRadius: "8px",
boxShadow: "unset",
color: "#374151",
fontSize: 14,
fontWeight: 500,
height: "auto",
narrowPadding: ".6rem 1rem",
padding: ".6rem 1rem",
"&:hover": {
background: "#E9EBF0",
border: "0",
borderRadius: "8px",
boxShadow: "unset",
color: "#374151",
fontWeight: 500,
opacity: 0.7,
},
"&:disabled": {
background: "#fff",
border: "0",
borderRadius: "8px",
boxShadow: "unset",
color: "#374151",
fontWeight: 500,
opacity: 0.7,
},
"&:hover:disabled": {
background: "#fff",
border: "0",
borderRadius: "8px",
boxShadow: "unset",
color: "#374151",
fontWeight: 500,
opacity: 0.7,
},
},
add: {
background: "transparent",
border: "2px dashed #c3c6ca",
boxShadow: "unset",
borderRadius: "8px",
color: "#555d6b",
"&:hover": {
background: "transparent",
border: "2px dashed #3074d9",
boxShadow: "unset",
color: "#3074d9",
},
small: {
fontWeight: 500,
padding: "0 12px",
fontSize: "12px",
},
medium: {
fontWeight: 500,
padding: "0 12px",
fontSize: "12px",
},
large: {
fontWeight: 500,
padding: "0 12px",
fontSize: "14px",
},
},
},
}
return (
<Vizzly.Dashboard
// ...
theme={theme}
/>
)
}