Very much an edge case. During development I had a section without any sub fields. Just having this widget enabled broke the widgets interface. My guess is that the section is generating some malformed HTML when there are no sub fields.
It's obviously not going to come up often, but ideally we should gracefully handle this.
This is the full form PHP I'm using.
array(
'title' => array(
'type' => 'text',
'label' => __('Title', 'siteorigin-widgets'),
'default' => __('Contact Us', 'siteorigin-widgets'),
),
'display_title' => array(
'type' => 'checkbox',
'label' => __('Display title', 'siteorigin-widgets'),
),
'design' => array(
'type' => 'section',
'label' => __('Design', 'siteorigin-widgets'),
'fields' => array(
'labels' => array(
'type' => 'section',
'label' => __('Labels', 'siteorigin-widgets'),
'fields' => array(
)
),
'inputs' => array(
'type' => 'section',
'label' => __('Input Fields', 'siteorigin-widgets'),
'fields' => array(
)
),
'errors' => array(
'type' => 'section',
'label' => __('Error messages', 'siteorigin-widgets'),
'fields' => array(
)
),
)
)
)