package styles
// Icon is a component that renders an icon
type Icon interface {
Render() templ.Component
}
// Variant is a component that has attributes
type Variant interface {
Attributes() templ.Attributes
}
// ╭───────────────────────────────────────────────────────────╮
// │ General Layout Components │
// ╰───────────────────────────────────────────────────────────╯
// Columns is a component that renders a flex container with a gap of 3 and a max width of 100%
templ Columns() {
{ children... }
}
// Layout is a component that renders the general layout of the application
templ Layout(title string, remote bool) {
@Fonts()
@Styles()
@Htmx()
@Alpine()
{ title }
@Toaster() {
{ children... }
}
}
// LayoutNoBody is a component that renders the general layout of the application without the body tag
templ LayoutNoBody(title string, remote bool) {
@Fonts()
@Styles()
@Htmx()
@Alpine()
{ title }
@Toaster() {
{ children... }
}
}
// OpenModal is a component that renders a modal with a title and description
templ OpenModal(title, description string) {
{ title }
{ description }
{ children... }
}
// Rows is a component that renders a flex container with a gap of 2 and a max width of 100%
templ Rows() {
{ children... }
}
// Spacer is a component that renders a tag
templ Spacer() {
}