protected function _parse_schemes_css_code()
{
foreach (Plugin::instance()->widgets_manager->get_widget_types() as $widget) {
foreach ($widget->get_scheme_controls() as $control) {
$scheme_value = Plugin::instance()->schemes_manager->get_scheme_value($control['scheme']['type'], $control['scheme']['value']);
if (empty($scheme_value)) {
continue;
}
if (!empty($control['scheme']['key'])) {
$scheme_value = $scheme_value[$control['scheme']['key']];
}
if (empty($scheme_value)) {
continue;
}
$element_unique_class = 'elementor-widget-' . $widget->get_name();
$control_obj = Plugin::instance()->controls_manager->get_control($control['type']);
if (Controls_Manager::FONT === $control_obj->get_type()) {
$this->add_enqueue_font($scheme_value);
}
foreach ($control['selectors'] as $selector => $css_property) {
$output_selector = str_replace('{{WRAPPER}}', '.' . $element_unique_class, $selector);
$output_css_property = $control_obj->get_replaced_style_values($css_property, $scheme_value);
$this->stylesheet->add_rules($output_selector, $output_css_property);
}
}
}
}