macro_rules! widget {
($ (# [$ widget_doc : meta]) * $ widget : ident $ (< $ state : ident >) * $
(: $ ($ handler : ident), *) * $
({
$
($ (# [$ prop_doc : meta]) * $ property : ident : $ property_type : tt),
* $
(attached_properties :
{
$
($ (# [$ att_prop_doc : meta]) * $ att_property : ident : $
att_property_type : tt), *
}) *
}) *) => { ... };
}
Used to define a widget, with properties and event handlers.