package controllers // TablerMenuItem represents a single item in the navbar menu type TablerMenuItem struct { Title string `json:"title"` TitleLong string `json:"title-long,omitempty"` Icon string `json:"icon,omitempty"` URL string `json:"url,omitempty"` Badge string `json:"badge,omitempty"` Color string `json:"color,omitempty"` Active bool `json:"active,omitempty"` Disabled bool `json:"disabled,omitempty"` Columns int `json:"columns,omitempty"` Children []*TablerMenuItem `json:"children,omitempty"` } // TablerMenu is a map of menu sections keyed by identifier type TablerMenu map[string]*TablerMenuItem // TableComponent represents a reusable table component with headers and rows. type TableComponent struct { ID string Title string Headers []TableComponentHeader Rows []TableComponentRow EmptyMessage string PerPageOptions []string Striped bool Hover bool CardClass string TableClass string } // TableComponentHeader defines a single column header. type TableComponentHeader struct { Name string Sort string Width string Align string } // TableComponentRow represents a single row as a slice of cells. type TableComponentRow struct { Cells []TableCell } // TableCell represents a single cell in a table row. // Type controls how the cell is rendered in the template: // "text" - plain text // "avatar" - avatar with name/email // "status" - status dot + text // "badge" - colored badge // "tags" - list of tag badges // "actions" - dropdown action button // "date" - date display type TableCell struct { Type string Value string // Used by "avatar" type AvatarID string Subtext string // Used by "status" type StatusColor string // Used by "badge" type BadgeColor string // Used by "tags" type Tags []string } // FormtablerTextInput renders a basic text/static/password/textarea input. type FormtablerTextInput struct { Label string Placeholder string Value string Type string // "text", "static", "password", "textarea" Name string } // FormtablerIconInput renders an input with an icon or loader. type FormtablerIconInput struct { Label string Placeholder string Icon string // icon name, empty = search icon Prepend bool Loader bool } // FormtablerIconSeparated renders a search input with a separate button. type FormtablerIconSeparated struct { Label string Placeholder string ButtonIcon string } // FormtablerInputSizing renders three inputs of different sizes. type FormtablerInputSizing struct{} // FormtablerFileInput renders a file input. type FormtablerFileInput struct { Label string } // FormtablerColorInput renders a color swatch picker (radio or checkbox). type FormtablerColorInput struct { Label string Name string Type string // "radio" or "checkbox" Colors []FormtablerSwatch HideBW bool Rounded bool } // FormtablerSwatch is a single color swatch in a color input. type FormtablerSwatch struct { Color string Checked bool } // FormtablerColorPicker renders a native HTML5 color picker. type FormtablerColorPicker struct { Label string Color string } // FormtablerRangeInput renders range sliders. type FormtablerRangeInput struct { Label string } // FormtablerDatalist renders an input with a datalist. type FormtablerDatalist struct { Label string Placeholder string Options []string } // FormtablerImageCheck renders image checkboxes. type FormtablerImageCheck struct { Label string Images []FormtablerImageItem } // FormtablerImageItem is a single image in an image check group. type FormtablerImageItem struct { Src string Alt string Checked bool } // FormtablerImageRadio renders image radio buttons. type FormtablerImageRadio struct { Label string Images []FormtablerImageItem } // FormtablerImagePerson renders person avatar checkboxes. type FormtablerImagePerson struct { Label string People []FormtablerPersonItem AvatarSize string } // FormtablerPersonItem is a single person in a person check group. type FormtablerPersonItem struct { Name string Src string Checked bool } // FormtablerCheckboxes renders a group of checkboxes. type FormtablerCheckboxes struct { Label string Checkboxes []FormtablerCheckItem } // FormtablerCheckItem is a single checkbox/radio/switch item. type FormtablerCheckItem struct { Title string Checked bool Disabled bool } // FormtablerCheckboxesInline renders inline checkboxes. type FormtablerCheckboxesInline struct { Label string Checkboxes []FormtablerCheckItem } // FormtablerRadios renders a group of radio buttons. type FormtablerRadios struct { Label string Name string Radios []FormtablerCheckItem } // FormtablerRadiosInline renders inline radio buttons. type FormtablerRadiosInline struct { Label string Name string Radios []FormtablerCheckItem } // FormtablerToggle renders toggle switch checkboxes. type FormtablerToggle struct { Label string Toggles []FormtablerCheckItem } // FormtablerToggleSingle renders a single toggle switch. type FormtablerToggleSingle struct { Label string Title string } // FormtablerSelect renders a select dropdown. type FormtablerSelect struct { Label string Options []string Multiple bool } // FormtablerSelectgroup renders a selectgroup (pill-style toggle buttons). type FormtablerSelectgroup struct { Label string Groups []FormtablerSelectGroup Pills bool } // FormtablerSelectGroup is a single selectgroup set. type FormtablerSelectGroup struct { Title string Values []FormtablerSelectGroupValue Type string // "radio" or "checkbox" Name string Pills bool WithText bool } // FormtablerSelectGroupValue is a single option in a selectgroup. type FormtablerSelectGroupValue struct { Label string Value string Icon string // icon name like "home", "user" Checked bool WithText bool } // FormtablerSelectgroupPayments renders payment method selectgroups. type FormtablerSelectgroupPayments struct { Label string Items []FormtablerPaymentItem } // FormtablerPaymentItem is a single payment option. type FormtablerPaymentItem struct { Provider string // "visa", "mastercard", "paypal" Ending string // last 4 digits (optional) Checked bool } // FormtablerSelectgroupProjectManager renders a project manager selectgroup. type FormtablerSelectgroupProjectManager struct { Label string Managers []FormtablerPersonItemWithJob } // FormtablerPersonItemWithJob extends FormtablerPersonItem with a job title. type FormtablerPersonItemWithJob struct { Name string Src string JobTitle string Checked bool } // FormtablerFieldset renders a fieldset with inputs. type FormtablerFieldset struct { Label string Inputs []FormtablerFieldsetInput } // FormtablerFieldsetInput is a single input inside a fieldset. type FormtablerFieldsetInput struct { Label string Type string // "text", "email", "tel" Required bool Placeholder string } // FormtablerCheckboxesList renders a list of toggle switches with labels. type FormtablerCheckboxesList struct { Label string Items []FormtablerCheckListItem } // FormtablerCheckListItem is a single item in a checkboxes list. type FormtablerCheckListItem struct { Title string Checked bool } // FormtablerValidationStates renders validation state inputs. type FormtablerValidationStates struct { Label string Lite bool } // FormtablerCardStatus represents a status bar on the card. type FormtablerCardStatus struct { Position string // "top", "bottom", "start" Color string // "blue", "red", "green", "yellow", etc. } // FormtablerCardHeader represents a card header section. type FormtablerCardHeader struct { Title string // Tab-based header UseTabs bool Tabs []FormtablerCardTab // Pill-based header UsePills bool Pills []FormtablerCardTab } // FormtablerCardTab represents a single tab/pill in a card header. type FormtablerCardTab struct { Title string Active bool Disabled bool Link string } // FormtablerCardAlert represents an alert inside a card. type FormtablerCardAlert struct { Text string Type string // "success", "info", "warning", "danger" } // FormtablerCardImage represents an image at top or bottom of a card. type FormtablerCardImage struct { Position string // "top", "bottom" Src string Ratio string // "21x9", "4x3", etc. } // FormtablerCardFooter represents a card footer. type FormtablerCardFooter struct { Text string // simple footer text // Single button Button string ButtonLink string // Two buttons (Cancel / Action) ButtonsCancel string ButtonsAction string ButtonsActionLink string // Elements row (switch, check, avatars, more) HasSwitch bool HasCheck bool HasAvatars bool HasMore bool } // FormtablerCardBody represents the body content of a card. type FormtablerCardBody struct { Title string Subtitle string Text string HasButton bool ButtonText string ButtonLink string } // FormtablerAlert represents a single alert component. type FormtablerAlert struct { Type string // "success", "warning", "danger", "info" Title string Description string List []string // if set, renders as