'airo-wp-form-step',
'data-airo-wp-step' => (string) $number,
'role' => 'group',
'aria-labelledby' => $heading_id,
)
);
$html = sprintf(
'
',
$wrapper,
esc_attr( $heading_id ),
esc_html( $title ),
$content
);
// Text colour and typography style the step title, not the fields
// (they skip serialization, so the wrapper never carries them).
if ( function_exists( 'airowp_route_visual_supports' ) ) {
$html = airowp_route_visual_supports(
$html,
$attributes,
'airo-wp-form-step__title',
array( 'color', 'typography' )
);
}
echo $html; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- wrapper from get_block_wrapper_attributes(), title/id escaped above, fields render their own escaped markup.
}
}
airowp_render_form_step( $attributes, $content, $block );