no, Popup is not async by default. But you can easily implement it by your own, all you need is create a JavaScript Promise, resolve/reject it inside ok/cancel methods of your button, and add await instruction in your code.
Can the MessageDialog add components? radio, for example, still uses bryntum components rather than customizations
items : [
{
tag : 'p',
style : 'font-weight:500',
html : 'Do you need jQuery in your web app?'
},
{
type : 'radio',
name : 'radios',
text : 'No',
checked : true,
checkedValue : 'A'
},
{
type : 'radio',
name : 'radios',
text : 'Probably not',
checkedValue : 'B'
},
{
type : 'radio',
name : 'radios',
checked : true,
text : 'Unlikely',
checkedValue : 'C'
}
]