@go.Package { name = "github.com/onsonr/sonr/pkg/nebula/models" } module models import "package://pkg.pkl-lang.org/pkl-go/pkl.golang@0.5.0#/go.pkl" // ╭───────────────────────────────────────────────────────────╮ // │ General State │ // ╰───────────────────────────────────────────────────────────╯ typealias InputType = "text" | "password" | "email" | "credential" | "file" class Button { text: String href: String } abstract class Form { title: String description: String inputs: List } class Image { src: String width: String height: String } class Input { label: String type: InputType placeholder: String value: String? error: String? help: String? required: Boolean? } class Link { text: String href: String } class SocialLink { link: Link icon: String } // ╭───────────────────────────────────────────────────────────╮ // │ Data Models │ // ╰───────────────────────────────────────────────────────────╯ class Feature { title: String description: String icon: String? image: Image? } class Stat { value: String label: String } // ╭───────────────────────────────────────────────────────────╮ // │ Homepage View Model │ // ╰───────────────────────────────────────────────────────────╯ class Hero { titleFirst: String titleEmphasis: String titleSecond: String subtitle: String primaryButton: Button secondaryButton: Button image: Image stats: Listing } class Highlights { heading: String subheading: String highlights: Listing } class Home { hero: Hero } home : Home