package component type AppPageOptions struct { PageOptions []PageOptionFunc } type AppPageOptionFunc func(opts *AppPageOptions) func WithPageOptions(funcs ...PageOptionFunc) AppPageOptionFunc { return func(opts *AppPageOptions) { opts.PageOptions = funcs } } func NewAppPageOptions(funcs ...AppPageOptionFunc) *AppPageOptions { opts := &AppPageOptions{ PageOptions: make([]PageOptionFunc, 0), } for _, fn := range funcs { fn(opts) } return opts } templ AppPage(funcs ...AppPageOptionFunc) { {{ opts := NewAppPageOptions(funcs...) }} @Page(opts.PageOptions...) {

ClearCase

{ children... }
} }