Files
masonry/examples/lang/sample.masonry
2025-08-25 00:10:18 -06:00

62 lines
2.4 KiB
Plaintext

// Sample Masonry application demonstrating the language features
entity User {
name: string required
email: string required unique
age: number
role: string default "user"
password: string required
}
page UserDashboard at "/dashboard" layout main title "User Dashboard" {
meta description "User management dashboard"
meta keywords "user, dashboard, management"
section header type container class "header" {
component nav {
field logo type text value "MyApp"
button profile label "Profile"
button logout label "Logout"
}
}
section content type tab {
section users label "Users" active {
component table for User {
field name type text label "Full Name" sortable searchable
field email type email label "Email Address" sortable
field role type select options ["admin", "user", "moderator"]
button edit label "Edit"
button delete label "Delete"
}
}
section settings label "Settings" {
component form for User {
field name type text label "Full Name" required placeholder "Enter your name"
field email type email label "Email" required placeholder "Enter your email"
field age type number label "Age" placeholder "Enter your age"
field role type select label "Role" options ["admin", "user", "moderator"] default "user"
field password type password label "Password" required
when role equals "admin" {
field permissions type select label "Admin Permissions" options ["read", "write", "delete"]
}
button save label "Save Changes"
button cancel label "Cancel"
}
}
section profile label "Profile" {
component form {
field avatar type file label "Profile Picture" accept ".jpg,.png"
field bio type textarea label "Biography" rows 4 placeholder "Tell us about yourself"
field theme type select label "Theme" options ["light", "dark"] default "light"
field notifications type checkbox label "Enable Notifications" default "true"
button update label "Update Profile"
}
}
}
}