squad_get_css_selector('form.wrapper'); * * // Get all field selectors * $field_selectors = $this->squad_get_css_selector('fields.all'); * ``` * * @since 3.2.0 * @access protected * * @param string $key Dot notation key for the selector. * * @return string|array|null */ protected function squad_get_css_selector(string $key) { } /** * Get a selector string * * Here is an inline example of how to use this method: * ``` * // Get the normal state form selector string * $form_wrapper = $this->squad_get_css_selector_string('form.wrapper'); * * // Get the hover state for all field selectors * $field_selectors_hover = $this->squad_get_css_selector_string('fields.all', 'v1', 'hover'); * ``` * * @since 3.2.0 * @access protected * * @param string $key Dot notation key for the selector. * @param string $state Selector state (default: 'normal'). * * @return string */ protected function squad_get_css_selector_string(string $key, string $state = 'normal'): ?string { } /** * Get hover selector string * * @param string $key Dot notation key for the selector. * * @return string */ protected function squad_get_hover_selector_string(string $key): ?string { } /** * Get hover selector string * * Here is an inline example of how to use this method: * ``` * // Get the hover selector for the submit button * $submit_button_hover = $this->get_hover_selector_string('submit_button.all'); * * // Get the hover selector for form fields * $fields_hover = $this->get_hover_selector_string('fields.all'); * ``` * * @since 3.2.0 * @access protected * * @param string $selector The base selector. * * @return string */ protected function squad_get_hover_selector(string $selector): string { } /** * Update a specific selector * * Here is an inline example of how to use this method: * ``` * // Update the form selector * $this->squad_update_css_selector('form.wrapper', '%%order_class%% .new-form-wrapper'); * * // Update field selectors with normal and hover states * $this->squad_update_css_selector('fields.all', [ * 'normal' => '%%order_class%% .new-field', * 'hover' => '%%order_class%% .new-field:hover' * ]); * ``` * * @since 3.2.0 * @access protected * * @param string $key Dot notation key for the selector. * @param string|array $value New selector value. * @param string $version Selector version (default: 'v1'). * * @return void */ protected function squad_update_css_selector(string $key, $value, string $version = 'v1'): void { } /** * Add :hover pseudo-class to a single selector. * * @since 3.2.0 * @access private * * @param string $selector A single CSS selector. * * @return string The selector with :hover added. */ protected function squad_add_hover_to_selector(string $selector): string { } /** * Get general fields for the module. * * @since 3.2.0 * @access protected * * @return array Array of general fields. */ protected function squad_get_general_fields(): array { } /** * Get design fields for the module. * * @since 3.2.0 * @access protected * * @return array Array of design fields. */ protected function squad_get_design_fields(): array { } /** * Get advanced fields for the module. * * @since 3.2.0 * @access protected * * @return array Array of advanced fields. */ protected function squad_get_advanced_fields(): array { } /** * Get background fields for the module. * * @since 3.2.0 * @access protected * * @return array Array of background fields. */ protected function squad_get_background_fields(): array { } /** * Add a background field. * * @since 3.2.0 * @access protected * * @param string $label Field label. * @param string $base_name Base name for the field. * @param string $toggle_slug Toggle slug for the field. * * @return array Background field configuration. */ protected function squad_add_background_field(string $label, string $base_name, string $toggle_slug): array { } /** * Get button fields for the module. * * @since 3.2.0 * @access protected * * @param array $fields_after_background List of fields after the background fields. * @param array $fields_before_margin List of fields before the margin fields. * * @return array Array of button fields. */ protected function squad_get_button_fields(array $fields_after_background, array $fields_before_margin): array { } /** * Get additional design fields for the module. * * @since 3.2.0 * @access protected * * @return array Array of checkbox and radio fields. */ protected function squad_get_additional_design_fields(): array { } /** * Get custom spacing fields for the module. * * @since 3.2.0 * @access protected * * @return array Array of custom spacing fields. */ protected function squad_get_custom_spacing_fields(): array { } /** * Get margin and padding fields for a specific element. * * @since 3.2.0 * @access protected * * @param string $prefix Element prefix. * @param string $label Element label. * * @return array Margin and padding fields. */ protected function squad_get_margin_padding_fields(string $prefix, string $label): array { } /** * Add a custom spacing field. * * @since 3.2.0 * @access protected * * @param string $label Field label. * @param string $type Field type (custom_margin or custom_padding). * @param array $settings Additional field settings. * * @return array Custom spacing field configuration. */ protected function squad_add_custom_spacing_field(string $label, string $type, array $settings): array { } /** * Get additional custom fields for the module. * * This method can be overridden in child classes to add custom fields. * * @since 3.2.0 * @access protected * * @return array Array of additional custom fields. */ protected function squad_get_customizable_design_fields(): array { } /** * Get removable fields for the module. * * This method can be overridden in child classes to specify removable fields. * * @since 3.2.0 * @access protected * * @return array Array of removable fields. */ protected function squad_get_removable_fields(): array { } /** * Add transition fields to the provided fields array. * * @since 3.2.0 * @access protected * * @param array $fields Array of fields to add transition fields to. * * @return void */ protected function squad_add_transition_fields(array &$fields): void { } /** * Add wrapper transition fields. * * @since 3.2.0 * @access protected * * @param array $fields Array of fields to add wrapper transition fields to. * * @return void */ protected function squad_add_wrapper_transition_fields(array &$fields): void { } /** * Add field transition fields. * * @since 3.2.0 * @access protected * * @param array $fields Array of fields to add field transition fields to. * * @return void */ protected function squad_add_field_transition_fields(array &$fields): void { } /** * Add error message transition fields. * * @since 3.2.0 * @access protected * * @param array $fields Array of fields to add error message transition fields to. * * @return void */ protected function squad_add_error_message_transition_fields(array &$fields): void { } /** * Add success message transition fields. * * @since 3.2.0 * @access protected * * @param array $fields Array of fields to add success message transition fields to. * * @return void */ protected function squad_add_success_message_transition_fields(array &$fields): void { } /** * Add button transition fields. * * @since 3.2.0 * @access protected * * @param array $fields Array of fields to add button transition fields to. * * @return void */ protected function squad_add_button_transition_fields(array &$fields): void { } /** * Add checkbox and radio transition fields. * * @since 3.2.0 * @access protected * * @param array $fields Array of fields to add checkbox and radio transition fields to. * * @return void */ protected function squad_add_checkbox_radio_transition_fields(array &$fields): void { } /** * Add generic transition fields. * * @since 3.2.0 * @access protected * * @param array $fields Array of fields to add generic transition fields to. * * @return void */ protected function squad_add_generic_transition_fields(array &$fields): void { } /** * Generate all styles for the module. * * Here is an inline example of how to use this method: * ``` * // Generate all styles for the current module * $this->squad_generate_all_styles($this->props); * * // Generate styles with custom attributes * $custom_attrs = array_merge($this->props, ['custom_field' => 'value']); * $this->squad_generate_all_styles($custom_attrs); * ``` * * @since 3.2.0 * @access protected * * @param array $attrs List of attributes. * * @return void */ protected function squad_generate_all_styles(array $attrs): void { } /** * Get module stylesheet selectors. * * Here is an inline example of how to use this method: * ``` * // Get all stylesheet selectors for the current module * $selectors = $this->squad_get_module_stylesheet_selectors($this->props); * * // Get selectors with custom attributes * $custom_attrs = array_merge($this->props, ['custom_field' => 'value']); * $custom_selectors = $this->squad_get_module_stylesheet_selectors($custom_attrs); * ``` * * @since 3.2.0 * @access protected * * @param array $attrs List of attributes. * * @return array Array of stylesheet selectors. */ protected function squad_get_module_stylesheet_selectors(array $attrs): array { } /** * Add background options to the stylesheet selectors. * * This method populates the provided options array with background styling options * for various form elements. * * @since 3.2.0 * @access protected * * @param array $options Reference to the array of options to be populated with background options. */ protected function squad_get_background_stylesheet_options(array &$options): void { } /** * Get background option fields for various form elements. * * This method defines the selectors for applying background styles * to different components of the form, such as the wrapper, fields, buttons, * and message areas. * * @since 3.2.0 * @access protected * * @return array An associative array of form elements and their corresponding CSS selectors. */ protected function squad_get_background_stylesheet_option_fields(): array { } /** * Add checkbox and radio options to the stylesheet selectors. * * @since 3.2.0 * @access protected * * @param array $options Array of options to add checkbox and radio options to. * * @return void */ protected function squad_add_checkbox_radio_stylesheet_options(array &$options): void { } /** * Add button width option to the stylesheet selectors. * * @since 3.2.0 * @access protected * * @param array $options Array of options to add button width option to. * @param array $attrs List of attributes. * * @return void */ protected function squad_add_button_width_stylesheet_option(array &$options, array $attrs): void { } /** * Add margin and padding options to the stylesheet selectors. * * @since 3.2.0 * @access protected * * @param array $options Array of options to add margin and padding options to. * * @return void */ protected function squad_add_margin_padding_stylesheet_options(array &$options): void { } /** * Get margin and padding option fields for various form elements. * * This method defines the selectors for applying margin and padding styles * to different components of the form, such as the wrapper, fields, buttons, * and message areas. * * @since 3.2.0 * @access protected * @return array An associative array of form elements and their corresponding CSS selectors. */ protected function squad_get_margin_padding_stylesheet_option_fields(): array { } /** * Generate module styles. * * Here is an inline example of how to use this method: * ``` * // Generate styles for the current module * $selectors = $this->squad_get_module_stylesheet_selectors($this->props); * $this->squad_form_styler_generate_module_styles($this->props, $selectors); * * // Generate styles with custom attributes and selectors * $custom_attrs = array_merge($this->props, ['custom_field' => 'value']); * $custom_selectors = $this->squad_get_module_stylesheet_selectors($custom_attrs); * $this->squad_form_styler_generate_module_styles($custom_attrs, $custom_selectors); * ``` * * @since 3.2.0 * @access protected * * @param array $attrs List of attributes. * @param array $options Control attributes. * * @return void */ protected function squad_form_styler_generate_module_styles(array $attrs, array $options): void { } /** * Generate background style. * * @since 3.2.0 * @access protected * * @param array $attrs List of attributes. * @param string $option_key Option key. * @param array $option Option configuration. * * @return void */ protected function squad_generate_background_style(array $attrs, string $option_key, array $option): void { } /** * Generate default style. * * @since 3.2.0 * @access protected * * @param string $option_key Option key. * @param array $option Option configuration. * * @return void */ protected function squad_generate_default_style(string $option_key, array $option): void { } /** * Generate single style. * * @since 3.2.0 * @access protected * * @param string $option_key Option key. * @param array $option Option configuration. * @param string $data_type Data type. * * @return void */ protected function squad_generate_single_style(string $option_key, array $option, string $data_type): void { } /** * Generate margin and padding style. * * @since 3.2.0 * @access protected * * @param string $option_key Option key. * @param array $option Option configuration. * * @return void */ protected function squad_generate_margin_padding_style(string $option_key, array $option): void { } /** * Remove pre-assigned fields from the fields array. * * Here is an inline example of how to use this method: * ``` * // Remove specific fields from the fields array * $all_fields = $this->get_fields(); * $fields_to_remove = ['field1', 'field2']; * $updated_fields = $this->squad_remove_pre_assigned_fields($all_fields, $fields_to_remove); * * // Remove fields based on a condition * $fields_to_remove = []; * foreach ($all_fields as $key => $field) { * if (strpos($key, 'deprecated_') === 0) { * $fields_to_remove[] = $key; * } * } * $updated_fields = $this->squad_remove_pre_assigned_fields($all_fields, $fields_to_remove); * ``` * * @since 3.2.0 * @access protected * * @param array $fields List of fields. * @param array $removals List of removable fields. * * @return array Updated fields array. */ protected function squad_remove_pre_assigned_fields(array $fields, array $removals): array { } } } namespace DiviSquad\Base\DiviBuilder { /** * Builder DiviBackend Placeholder class. * * Provides standard placeholder content for Divi modules * to ensure consistent appearance in the builder interface. * Uses Elegant Icon Font for icons to maintain visual consistency. * * @since 1.0.0 * @deprecated 3.3.3 * @package DiviSquad */ abstract class Placeholder { /** * Get the defaults data for modules. * * Provides a comprehensive set of placeholder content * for various module types and elements, using Elegant Icon Font. * * @return array Array of placeholder content */ public function get_modules_defaults(): array { } /** * Filters backend data passed to the Visual Builder. * This function is used to add static helpers whose content rarely changes. * eg: google fonts, module default, and so on. * * @param array> $exists Exists definitions. * * @return array> */ abstract public function static_asset_definitions($exists = array()); /** * Used to update the content of the cached definitions js file. * * @param string $content content. * * @return string */ abstract public function asset_definitions($content); } } namespace DiviSquad\Base\DiviBuilder\Utils { /** * Common trait. * * @since 1.0.0 * @deprecated 3.3.3 * @package DiviSquad */ trait CommonTrait { /** * Decode json data from properties in module. * * @param string $html_content json data raw content from module. * * @return array * @throws \JsonException When json error found. */ public static function decode_json_data(string $html_content): array { } /** * Collect actual props from child module with escaping raw html. * * @param string $content The raw content form child element. * * @return string */ public static function collect_raw_props(string $content): string { } /** * Collect actual props from child module with escaping raw html. * * @param string $content The raw content form child element. * * @return array * @throws \RuntimeException When json error found. */ public static function collect_child_json_props(string $content): array { } /** * Collect actual props from child module with escaping raw html. * * @param string $content The raw content form child element. * * @return string */ public static function json_format_raw_props(string $content): string { } /** * Collect all modules from Divi Builder. * * @param array $modules_array All modules array. * @param array $allowed_prefix The allowed prefix list. * * @return array */ public static function get_all_modules(array $modules_array, array $allowed_prefix = array()): array { } /** * Clean order class name from the class list for current module. * * @param array $classnames All CSS classes name the module has. * @param string $slug Utils slug. * * @return array */ public static function clean_order_class(array $classnames, string $slug): array { } /** * Get margin and padding selectors for main and hover * * @param string $main_css_element Main css selector of element. * * @return array{use_padding: bool, use_margin: bool, css: array{important: string, margin: string, padding: string}} */ public static function selectors_margin_padding(string $main_css_element): array { } /** * Get max_width selectors for main and hover * * @param string $main_css_element Main css selector of an element. * * @return array> */ public static function selectors_max_width(string $main_css_element): array { } /** * Get default selectors for main and hover * * @param string $main_css_element Main css selector of element. * * @return array{css: array{main: string, hover: string}} */ public static function selectors_default(string $main_css_element): array { } /** * Get background selectors for main and hover * * @param string $main_css_element Main css selector of an element. * * @return array{settings: array{color: string}, css: array{main: string, hover: string}} */ public static function selectors_background(string $main_css_element): array { } /** * Convert field name into css property name. * * @param string $field Field name. * * @return string|string[] */ public static function field_to_css_prop(string $field) { } } /** * Fields class. * * @since 1.0.0 * @deprecated 3.3.3 * @package DiviSquad */ trait FieldsTrait { /** * Get HTML tag elements for text item. * * @return array */ public static function get_html_tag_elements(): array { } /** * Default fields for Heading toggles. * * @param string $field_label The heading toggle label name. * @param int $priority The toggle priority, default is 55. * * @return array */ public static function get_heading_toggles(string $field_label, int $priority = 55): array { } /** * Get heading elements for toggles. * * @return string[][] */ public static function get_heading_elements(): array { } /** * Get Block elements for toggles. * * @return string[][] */ public static function get_block_elements(): array { } /** * Add text clip settings. * * @param array $options The options for text clip fields. * * @return array */ public static function get_text_clip_fields(array $options = array()): array { } /** * Add Z Index fields for element. * * @param array $options The options for z index fields. * * @return array */ public static function add_z_index_field(array $options = array()): array { } /** * Get general fields. * * @return array[] */ public static function get_general_fields(): array { } /** * Add button fields. * * @param array $options The options for button fields. * * @return array */ public function get_button_fields(array $options = array()): array { } /** * Add button associated fields. * * @param array $options The options for button fields. * * @return array */ public function get_button_associated_fields(array $options = array()): array { } } } namespace DiviSquad\Base\DiviBuilder\Utils\Fields { /** * Field Compatibility class * * @since 1.0.0 * @deprecated 3.3.3 * @package DiviSquad * @author The WP Squad */ trait CompatibilityTrait { /** * Fix border transition issues. * * @param array $fields The defined fields list. * @param string $slug The slug of the current module. * @param string $selector The css selector. * * @return array */ public static function fix_border_transition(array &$fields, string $slug, string $selector): array { } /** * Fix font style transition issues. * * Take all the attributes from divi advanced 'fonts' field and set the transition with given selector. * * @param array $fields The defined fields list. * @param string $slug The slug of the current module. * @param string $selector The css selector. * * @return array $fields */ public static function fix_fonts_transition(array &$fields, string $slug, string $selector): array { } /** * Fix box-shadow transition issues. * * @param array $fields The defined fields list. * @param string $slug The slug of the current module. * @param string $selector The css selector. * * @return array */ public static function fix_box_shadow_transition(array &$fields, string $slug, string $selector): array { } } /** * Field Definition Trait. * * This trait provides utility methods for creating standardized field definitions * used across Divi Builder modules. * * @since 1.0.0 * @deprecated 3.3.3 * @package DiviSquad */ trait DefinitionTrait { /** * Adds a filter field configuration for Divi modules. * * @since 1.0.0 * * @see Divi/includes/builder/module/woocommerce/CartProducts.php:217 * @see Divi/includes/builder/module/Blurb.php:144 * * @see Divi/includes/builder/class-et-builder-element.php:7607] * * @param array $options The options for the filter field. * * @return array The filter configuration array. */ public static function add_filters_field(array $options): array { } /** * Adds a border field configuration for Divi modules. * * @since 3.2.0 * * @param string $label The label for the border field. * @param array $args Optional. An array of arguments to customize the field. * * @return array Configured border field array for use in Divi modules. */ public static function add_border_field(string $label, array $args = array()): array { } /** * Adds a box shadow field configuration for Divi modules. * * @since 1.0.0 * @since 3.2.0 Improved flexibility and alignment with Divi standards. * * @param string $label The label for the box shadow field. * @param array $args Optional. An array of arguments to customize the field. * * @return array Configured box shadow field array for use in Divi modules. */ public static function add_box_shadow_field(string $label, array $args = array()): array { } /** * Adds a yes/no field configuration for Divi modules. * * @since 1.0.0 * * @param string $label The field label. * @param array $properties Additional properties for the field. * * @return array The yes/no field configuration array. */ public static function add_yes_no_field(string $label, array $properties = array()): array { } /** * Adds a color field configuration for Divi modules. * * @since 1.0.0 * * @param string $label The field label. * @param array $properties Additional properties for the field. * * @return array The color field configuration array. */ public static function add_color_field(string $label, array $properties = array()): array { } /** * Adds a select box field configuration for Divi modules. * * @since 1.0.0 * * @param string $label The field label. * @param array $properties Additional properties for the field. * * @return array The select box field configuration array. */ public static function add_select_box_field(string $label, array $properties = array()): array { } /** * Adds a placement field configuration for Divi modules. * * @since 1.0.0 * * @param string $label The field label. * @param array $properties Additional properties for the field. * * @return array The placement field configuration array. */ public static function add_placement_field(string $label, array $properties = array()): array { } /** * Adds an alignment field configuration for Divi modules. * * @since 1.0.0 * * @param string $label The field label. * @param array $properties Additional properties for the field. * * @return array The alignment field configuration array. */ public static function add_alignment_field(string $label, array $properties = array()): array { } /** * Adds transition fields configuration for Divi modules. * * @since 1.0.0 * * @param array $options Additional options for the transition fields. * * @return array The transition fields configuration array. */ public static function add_transition_fields(array $options = array()): array { } /** * Adds a range field configuration for Divi modules. * * @since 1.0.0 * * @param string $label The field label. * @param array $properties Additional properties for the field. * @param array $conditions Additional conditions for the field. * * @return array The range field configuration array. */ public static function add_range_field(string $label, array $properties = array(), array $conditions = array()): array { } /** * Adds a font field configuration for Divi modules. * * @since 1.0.0 * * @param string $label The field label. * @param array $properties Additional properties for the field. * * @return array The font field configuration array. */ public static function add_font_field(string $label, array $properties = array()): array { } /** * Adds a margin and padding field configuration for Divi modules. * * @since 1.0.0 * * @param string $label The field label. * @param array $properties Additional properties for the field. * * @return array The margin and padding field configuration array. */ public static function add_margin_padding_field(string $label, array $properties = array()): array { } /** * Adds a background field configuration for Divi modules. * * @since 1.0.0 * * @param array $properties Additional properties for the field. * * @return array The background field configuration array. */ public function add_background_field(array $properties = array()): array { } /** * Gets background field options for Divi modules. * * @since 1.0.0 * * @param array $properties Additional properties for the field. * * @return array Background field options. */ public static function get_background_field_options(array $properties = array()): array { } /** * Adds all background fields for Divi modules. * * @since 1.0.0 * * @param array $properties Additional properties for the field. * @param array $background_fields The additional background fields for the current field. * * @return array Complete background field configuration. */ protected function add_background_fields(array $properties = array(), array $background_fields = array()): array { } /** * Adds a background gradient field configuration for Divi modules. * * @since 1.0.0 * * @param array $properties Additional properties for the field. * * @return array The background gradient field configuration array. */ public function add_background_gradient_field(array $properties = array()): array { } } /** * Field Collection class. * * @since 1.0.0 * @deprecated 3.3.3 * @package DiviSquad */ trait ProcessorTrait { /** * Process styles for width fields in the module. * * @since 1.0.0 * * @param array $options Options of current width. * * @return void */ public function generate_additional_styles(array $options = array()) { } /** * Collect any props value from mapping values. * * @param array $options The option array data. * @param string $qualified_name The current field name. * @param string $last_modified_key The last modified key. * * @return array */ public function collect_prop_value_responsive(array $options, string $qualified_name, string $last_modified_key): array { } /** * Process styles for responsive in the module. * * @param array $options The options property for processing styles. * * @return void */ public function process_responsive_styles(array $options) { } /** * Set actual position for icon or image in show on hover effect for the current element with default, responsive and hover. * * @since 1.0.0 * * @param array $options Options of current width. * * @return void */ public function generate_show_icon_on_hover_styles(array $options = array()) { } /** * Collect icon prop width event if responsive mode. * * @since 1.0.0 * * @param array $options Options of current width. * * @param array $props List of attributes. * * @return array */ private static function get_icon_hover_effect_prop_width($props, array $options = array()): array { } /** * Collect the value of any props for Icon on hover effect. * * @since 1.0.0 * * @param array $options Options of current width. * * @param array $props List of attributes. * * @return string */ private static function hover_effect_generate_css(array $props, array $options = array()): string { } /** * Collect any props value from mapping values. * * @param array $options The option array data. * @param string $current_value The current field value. * * @return mixed */ public static function collect_prop_mapping_value(array $options, string $current_value) { } /** * Process styles for margin and padding fields in the module. * * @since 1.0.0 * * @param array $options Options of current width. * * @return void */ public function generate_margin_padding_styles(array $options = array()) { } /** * Process Text Clip styles. * * @param array $options The additional options for processing text clip features. * * @return void */ public function generate_text_clip_styles(array $options = array()) { } /** * Process divider styles. * * @param array $options The additional options for processing divider features. * * @return void */ public function generate_divider_styles(array $options = array()) { } } } namespace DiviSquad\Base\DiviBuilder\Utils { /** * Deprecated Methods And Properties Trait * * @since 3.1.0 * @deprecated 3.3.3 * @package DiviSquad */ trait DeprecationsTrait { /** * The default deprecated version. * * @var string */ private string $deprecated_version = '3.1.0'; /** * Array of deprecated properties. * * @var array */ private array $deprecated_properties = array('squad_divider_defaults' => array('version' => '3.1.0', 'message' => 'Use the property $divider_defaults instead of.', 'value' => array('divider_style' => 'solid', 'divider_position' => 'bottom', 'divider_weight' => '2px')), 'squad_divider_show_options' => array('version' => '3.1.0', 'message' => 'Use the property $divider_show_options instead of.', 'value' => array('off' => 'No', 'on' => 'Yes'))); /** * Array of deprecated methods. * * @var array */ private array $deprecated_methods = array('get_hansel_and_gretel' => array('version' => '3.1.0', 'message' => 'Use the method $this->squad_utils->breadcrumbs->get_hansel_and_gretel() instead of $this->squad_utils->get_hansel_and_gretel()'), 'get_divider_defaults' => array('version' => '3.1.0', 'message' => 'Use the method $this->squad_utils->divider->get_defaults() instead of $this->squad_utils->get_divider_defaults()'), 'get_divider_default' => array('version' => '3.1.0', 'message' => 'Use the method $this->squad_utils->divider->get_default() instead of $this->squad_utils->get_divider_default()'), 'get_divider_show_options' => array('version' => '3.1.0', 'message' => 'Use the method $this->squad_utils->divider->get_show_options() instead of $this->squad_utils->get_divider_show_options()'), 'initiate_the_divider_element' => array('version' => '3.1.0', 'message' => 'Use the method $this->squad_utils->divider->initiate_element() instead of $this->squad_utils->initiate_the_divider_element()'), 'get_divider_element_fields' => array('version' => '3.1.0', 'message' => 'Use the method $this->squad_utils->divider->get_fields() instead of $this->squad_utils->get_divider_element_fields()'), 'get_divider_field_options' => array('version' => '3.1.0', 'message' => 'Use the method $this->squad_utils->divider->get_field_options() instead of $this->squad_utils->get_divider_field_options()'), 'get_mask_shape' => array('version' => '3.1.0', 'message' => 'Use the method $this->squad_utils->mask_shape->get_shape() instead of $this->squad_utils->get_mask_shape()')); /** * Magic method to handle deprecated property access. * * @param string $name The property name. * * @return mixed The value of the deprecated property. * @throws InvalidArgumentException|WP_Exception If the property does not exist. */ public function __get(string $name) { } /** * Magic method to handle deprecated method calls. * * Handles calls to deprecated methods by routing them to their new implementations * or throwing appropriate exceptions if the method doesn't exist. * * @param string $name The method name. * @param array $arguments The method arguments. * * @return mixed The result of the method call. * @throws InvalidArgumentException|WP_Exception If the method does not exist or there's an error processing the call. */ public function __call(string $name, array $arguments) { } /** * Trigger a deprecated warning. * * Triggers a WordPress deprecation warning with the specified message. * * @param string $name The name of the deprecated element. * @param string $version The version since deprecation. * @param string $message The deprecation message. * @param string $type The type of the deprecated element ('property' or 'method'). * * @return void * @throws WP_Exception If the error cannot be triggered. */ private function trigger_deprecated_warning(string $name, string $version, string $message, string $type): void { } /** * Handle calls to deprecated utility methods. * * Routes deprecated method calls to their new implementations in utility classes. * * @param string $name The name of the deprecated method. * @param array $arguments The arguments passed to the method. * * @return mixed The result of the method call. * @throws BadMethodCallException If the deprecated method is not implemented. */ private function handle_deprecated_utility_method(string $name, array $arguments) { } /** * Set the default deprecated version. * * @param string $version The new deprecated version. * * @return void */ public function set_deprecated_version(string $version): void { } /** * Add a new deprecated property. * * @param string $name The property name. * @param string $version The version since deprecation. * @param string $message The deprecation message. * @param mixed $value The default value of the deprecated property. * * @return void */ public function add_deprecated_property(string $name, string $version, string $message, $value): void { } /** * Add a new deprecated method. * * @param string $name The method name. * @param string $version The version since deprecation. * @param string $message The deprecation message. * * @return void */ public function add_deprecated_method(string $name, string $version, string $message): void { } } /** * Utils Base class * * @since 2.0.0 * @deprecated 3.3.3 * @package DiviSquad * @property-read Divider $divider Divider Element utility. * @property-read Breadcrumbs $breadcrumbs Breadcrumbs Element utility. * @property-read MaskShape $mask_shape Mask Shape Element utility. */ abstract class Base { use \DiviSquad\Base\DiviBuilder\Utils\CommonTrait; use \DiviSquad\Base\DiviBuilder\Utils\FieldsTrait; use \DiviSquad\Base\DiviBuilder\Utils\Fields\CompatibilityTrait; use \DiviSquad\Base\DiviBuilder\Utils\Fields\DefinitionTrait; use \DiviSquad\Base\DiviBuilder\Utils\Fields\ProcessorTrait; use \DiviSquad\Base\DiviBuilder\Utils\DeprecationsTrait; /** * The instance of Squad Module. * * @var Module */ protected \DiviSquad\Base\DiviBuilder\Module $element; /** * Container for dynamic properties. * * @var array */ protected array $container = array(); /** * Utility class mapping. * * @var array */ protected array $utility_class_map = array('divider' => \DiviSquad\Base\DiviBuilder\Utils\Elements\Divider::class, 'breadcrumbs' => \DiviSquad\Builder\Version4\Supports\Module_Utilities\Breadcrumbs::class, 'mask_shape' => \DiviSquad\Builder\Version4\Supports\Module_Utilities\Mask_Shape::class); /** * Initialize the Utils class. * * @param Module|null $element The module instance. */ public function __construct(?\DiviSquad\Base\DiviBuilder\Module $element = null) { } /** * Lazy load a utility. * * @param string $name The utility name. * * @return mixed The utility instance. */ protected function lazy_load_utility(string $name) { } /** * Magic method to get dynamic property values. * * Retrieves a dynamic property value, either from the utility class map or the container. * This method is called when accessing undefined properties. * * @param string $name The property name. * * @return mixed The property value. */ public function __get(string $name) { } /** * Set the dynamic property value. * * Sets a dynamic property value in the container, preventing direct modification of utility classes. * * @param string $name The property name. * @param mixed $value The property value. * * @throws \InvalidArgumentException If attempting to set a utility class directly. */ public function __set(string $name, $value): void { } /** * Check if a dynamic property exists. * * @param string $name The property name. * * @return bool */ public function __isset(string $name): bool { } /** * Unset a dynamic property. * * @param string $name The property name. */ public function __unset(string $name): void { } /** * Get the module instance. * * @return Module */ public function get_element(): \DiviSquad\Base\DiviBuilder\Module { } /** * Add a new utility to the class map. * * Adds a new utility class to the class map, ensuring the class exists before adding. * * @param string $name The name of the utility. * @param class-string $utility_class The full class name of the utility. * * @throws \InvalidArgumentException If the utility class does not exist. */ protected function add_utility_to_class_map(string $name, string $utility_class): void { } /** * Remove a utility from the class map and container. * * @param string $name The name of the utility. */ protected function remove_utility(string $name): void { } /** * Check if a utility exists in the class map. * * @param string $name The name of the utility. * * @return bool */ public function has_utility(string $name): bool { } /** * Get all utility names. * * @return array */ public function get_all_utility_names(): array { } } } namespace DiviSquad\Base\DiviBuilder { /** * Builder Utils Class * * @since 1.5.0 * @deprecated 3.3.3 * @package DiviSquad */ final class Utils extends \DiviSquad\Base\DiviBuilder\Utils\Base { /** * Connect with non-static public functions. * * @param Module $element The instance of ET Builder Element (Squad Module). * * @return Utils */ public static function connect(\DiviSquad\Base\DiviBuilder\Module $element): \DiviSquad\Base\DiviBuilder\Utils { } } } namespace DiviSquad\Builder\Utils\Database { /** * Database utilities class for managing table structures. * * @since 3.1.0 */ class Database_Utils { /** * Table schema field type constants */ public const TYPE_INT = 'int'; public const TYPE_BIGINT = 'bigint'; public const TYPE_VARCHAR = 'varchar'; public const TYPE_TEXT = 'text'; public const TYPE_LONGTEXT = 'longtext'; public const TYPE_TINYTEXT = 'tinytext'; public const TYPE_DATETIME = 'datetime'; public const TYPE_TIMESTAMP = 'timestamp'; public const TYPE_DATE = 'date'; public const TYPE_DECIMAL = 'decimal'; public const TYPE_FLOAT = 'float'; public const TYPE_DOUBLE = 'double'; public const TYPE_TINYINT = 'tinyint'; public const TYPE_SMALLINT = 'smallint'; public const TYPE_MEDIUMINT = 'mediumint'; public const TYPE_BOOL = 'bool'; public const TYPE_BOOLEAN = 'boolean'; /** * Generate SQL CREATE TABLE statement from schema. * * @since 3.1.0 * * @param string $table_name Table name to generate SQL for. * @param array $schema Table schema definition. * * @return string Generated SQL statement. */ public static function generate_create_table_sql(string $table_name, array $schema): string { } /** * Generate column definition SQL. * * @since 3.1.0 * * @param string $column_name Column name. * @param array{type: string, length?: int, unsigned?: bool, nullable?: bool, default?: string|null, auto_increment?: bool, primary?: bool, on_update?: string, precision?: int, scale?: int} $definition Column definition array. * * @return string Column definition SQL. */ private static function generate_column_definition(string $column_name, array $definition): string { } /** * Generate index definition SQL. * * @since 3.1.0 * * @param string $column_name Column name. * @param array{unique?: bool} $definition Column definition array. * * @return string Index definition SQL. */ private static function generate_index_definition(string $column_name, array $definition): string { } /** * Verify if a table exists and create it if it doesn't. * * @since 3.1.0 * * @param string $table_name Table name to verify/create. * @param array $schema Table schema. * * @return bool True if table exists or was created successfully. */ public static function verify_and_create_table(string $table_name, array $schema): bool { } /** * Check if a table exists in the database. * * @since 3.1.0 * * @param string $table_name Table name to check. * * @return bool True if the table exists. */ public static function table_exists(string $table_name): bool { } /** * Get the table's columns with their properties. * * @since 3.1.0 * * @param string $table_name Table name to inspect. * * @return array> Array of column definitions. */ public static function get_table_columns(string $table_name): array { } /** * Truncate a table (remove all rows). * * @since 3.1.0 * * @param string $table_name Table name to truncate. * * @return bool True if the operation was successful. */ public static function truncate_table(string $table_name): bool { } /** * Get row count for a table. * * @since 3.1.0 * * @param string $table_name Table name to count rows for. * * @return int Number of rows in the table. */ public static function get_row_count(string $table_name): int { } /** * Drop a table from the database. * * @since 3.1.0 * * @param string $table_name Table name to drop. * * @return bool True if the operation was successful. */ public static function drop_table(string $table_name): bool { } } } namespace DiviSquad\Base\DiviBuilder\Utils\Database { /** * Database utilities class for managing table structures. * * @since 3.1.0 * @deprecated 3.3.0 */ class DatabaseUtils extends \DiviSquad\Builder\Utils\Database\Database_Utils { } } namespace DiviSquad\Base\DiviBuilder\Utils\Elements { /** * Breadcrumbs Utils Helper Class * * @since 1.5.0 * @deprecated 3.3.3 * @package DiviSquad */ class Breadcrumbs extends \DiviSquad\Builder\Version4\Supports\Module_Utilities\Breadcrumbs { } /** * Custom Fields Utils Helper Class * * @since 3.1.0 * @deprecated 3.3.0 * @package DiviSquad */ class CustomFields { /** * Supported post types. * * @var array Supported post types. */ protected static $post_types = array('post'); /** * Supported field types with their corresponding processor classes. * * @var array> */ protected static $processors = array('collections' => array('custom_fields' => \DiviSquad\Base\DiviBuilder\Utils\Elements\CustomFields\Processors\WordPress::class, 'acf_fields' => \DiviSquad\Base\DiviBuilder\Utils\Elements\CustomFields\Processors\Advanced::class), 'definitions' => array('custom_fields' => \DiviSquad\Base\DiviBuilder\Utils\Elements\CustomFields\Definitions\WordPress::class, 'acf_fields' => \DiviSquad\Base\DiviBuilder\Utils\Elements\CustomFields\Definitions\Advanced::class)); /** * Runtime data storage. * * @var array> */ protected static $storage = array('instances' => array(), 'options' => array(), 'definitions' => array()); /** * Field Manager Instance * * @var \DiviSquad\Base\DiviBuilder\Utils\Elements\CustomFields\Managers\Fields */ private static $fields_manager; /** * Initialize the CustomFields class. * * @return void */ public static function init() { } /** * Get all fields of a specific type. * * @param string $field_type The field type (acf, WordPress, etc.). * @param int $post_id The current post id. * * @return array * @throws InvalidArgumentException If the field type is not supported. */ public static function get_fields($field_type, $post_id) { } /** * Get module definitions for module usages * * @param string $field_type The field type (acf, WordPress, etc.). * * @return array * @throws InvalidArgumentException If the field type is not supported. */ public static function get_definitions($field_type) { } /** * Get the CustomFieldsManager instance. * * @return \DiviSquad\Base\DiviBuilder\Utils\Elements\CustomFields\Managers\Fields * @throws InvalidArgumentException If the manager is not supported. */ public static function get_fields_manager() { } /** * Get supported post types. * * @return array */ public static function get_supported_post_types() { } /** * Fetch fields of a specific type. * * @param string $field_type The field type (acf, WordPress, etc.). * @param string $storage The storage type (collections, definitions.). * * @return \DiviSquad\Base\DiviBuilder\Utils\Elements\CustomFields\Definition|\DiviSquad\Base\DiviBuilder\Utils\Elements\CustomFields\Processor * @throws InvalidArgumentException If the field type is not supported. */ public static function get($field_type, $storage = 'collections') { } /** * Get current field processor class name * * @param string $field_type The field type (acf_fields, custom_fields, etc.). * @param string $storage The storage type (collections, definitions.). * * @return class-string */ protected static function get_class($field_type, $storage = 'collections') { } } } namespace DiviSquad\Base\DiviBuilder\Utils\Elements\CustomFields { /** * Interface for defining custom field operations. * * This interface provides methods for retrieving various types of custom fields * and their associated properties. * * @since 3.1.0 * @deprecated 3.3.0 * @package DiviSquad */ interface DefinitionInterface { /** * Get common fields that are applicable across different post types. * * This method should return an array of custom fields that are commonly used * and applicable to multiple or all post types. * * @return array An array of common custom field definitions. */ public function get_common_fields(); /** * Get an array of empty fields. * * This method should return an array of custom fields that are considered "empty" * or have no default value. * * @return array An array of empty custom field definitions. */ public function get_empty_fields(); /** * Get default fields for a specific post type. * * This method should return an array of default custom fields for the given post type, * taking into account any provided options. * * @param string $post_type The post type for which to retrieve default fields. * @param array $options Additional options to customize the returned fields. * * @return array An array of default custom field definitions for the specified post type. */ public function get_default_fields($post_type, $options); /** * Get associated fields. * * This method should return an array of custom fields that are associated * with the current context or implementation. * * @param array $fields_types Collect custom fields types. * * @return array An array of associated custom field definitions. */ public function get_associated_fields($fields_types = array()); /** * Get fields that are not eligible. * * This method should return an array of custom fields that are considered * not eligible for use in the current context or implementation. * * @return array An array of custom field definitions that are not eligible. */ public function get_not_eligible_fields(); } /** * Class Definition * * Provides a base implementation for definition classes in the DiviSquad plugin. * * @since 3.1.0 * @deprecated 3.3.0 * @package DiviSquad */ abstract class Definition implements \DiviSquad\Base\DiviBuilder\Utils\Elements\CustomFields\DefinitionInterface { } } namespace DiviSquad\Base\DiviBuilder\Utils\Elements\CustomFields\Definitions { /** * Advanced Custom Field Definitions Class * * Implements advanced custom field definitions with support for complex field types * and sophisticated filtering options. * * @since 3.1.0 * @deprecated 3.3.0 * @package DiviSquad */ class Advanced extends \DiviSquad\Base\DiviBuilder\Utils\Elements\CustomFields\Definition { /** * Get common fields that are applicable across different post types. * * This method returns an array of advanced custom fields that are commonly used * and applicable to multiple or all post types, including more complex field types. * * @return array An array of common custom field definitions. */ public function get_common_fields() { } /** * Get an array of empty fields. * * This method returns an array of custom fields that are considered "empty" * or have no default value, potentially including complex field types. * * @return array An array of empty custom field definitions. */ public function get_empty_fields() { } /** * Get default fields for a specific post type. * * This method returns an array of default custom fields for the given post type, * taking into account any provided options and potentially including advanced field types. * * @param string $post_type The post type for which to retrieve default fields. * @param array $options Additional options to customize the returned fields. * * @return array An array of default custom field definitions for the specified post type. */ public function get_default_fields($post_type, $options) { } /** * Get associated fields. * * This method returns an array of custom fields that are associated * with the current context or implementation, potentially including * fields with advanced functionality or relationships. * * @param array $fields_types Collect custom fields types. * * @return array An array of associated custom field definitions. */ public function get_associated_fields($fields_types = array()) { } /** * Get fields that are not eligible. * * This method returns an array of custom fields that are considered * not eligible for use in the current context or implementation, * potentially based on advanced criteria or user roles. * * @return array An array of custom field definitions that are not eligible. */ public function get_not_eligible_fields() { } } /** * WordPress Custom Field Definitions Class * * Implements WordPress-specific custom field definitions for use with Divi Builder. * * @since 3.1.0 * @deprecated 3.3.0 * @package DiviSquad */ class WordPress extends \DiviSquad\Base\DiviBuilder\Utils\Elements\CustomFields\Definition { /** * Get common fields that are applicable across different post types. * * This method returns an array of custom fields that are commonly used * and applicable to multiple or all post types in WordPress. * * @return array An array of common custom field definitions. */ public function get_common_fields() { } /** * Get an array of empty fields. * * This method returns an array of custom fields that are considered "empty" * or have no default value, specifically for WordPress integration. * * @return array An array of empty custom field definitions. */ public function get_empty_fields() { } /** * Get default fields for a specific post type. * * This method returns an array of default custom fields for the given post type, * taking into account any provided options. * * @param string $post_type The post type for which to retrieve default fields. * @param array $options Additional options to customize the returned fields. * * @return array An array of default custom field definitions for the specified post type. */ public function get_default_fields($post_type, $options) { } /** * Get associated fields. * * This method returns an array of custom fields that are associated * with the current context or implementation in WordPress. * * @param array $fields_types Collect custom fields types. * * @return array An array of associated custom field definitions. */ public function get_associated_fields($fields_types = array()) { } /** * Get fields when custom fields are not eligible. * * This method returns an array of custom fields that are considered * not eligible for use in the current WordPress context or implementation. * * @return array An array of custom field definitions when custom fields are not eligible. */ public function get_not_eligible_fields() { } } } namespace DiviSquad\Base\DiviBuilder\Utils\Elements\CustomFields { /** * Interface ManagerInterface * * Defines the contract for manager classes in the DiviSquad plugin. * * @since 3.1.1 * @deprecated 3.3.0 * @package DiviSquad */ interface ManagerInterface { /** * Initialize the manager. * * This method should set up any necessary hooks or initial configurations. * * @since 3.1.1 * * @return void */ public function init(); /** * Get data from the manager. * * This method should retrieve the main data that the manager is responsible for. * * @since 3.1.1 * * @param array $args Optional. Arguments to modify the query. * * @return array The retrieved data. */ public function get_data($args = array()); /** * Clear the cache for this manager. * * This method should clear any cached data that the manager maintains. * * @since 3.1.1 * * @return void */ public function clear_cache(); } /** * Class Manager * * Provides a base implementation for manager classes in the DiviSquad plugin. * * @since 3.1.1 * @deprecated 3.3.0 * @package DiviSquad */ abstract class Manager implements \DiviSquad\Base\DiviBuilder\Utils\Elements\CustomFields\ManagerInterface { /** * Cache group for this manager. * * @var string */ protected $cache_group; /** * Cache key prefix for this manager. * * @var string */ protected $cache_key_prefix; /** * Constructor. * * @since 3.1.1 * * @param string $cache_group The cache group for this manager. * @param string $cache_key_prefix The cache key prefix for this manager. */ public function __construct($cache_group, $cache_key_prefix) { } /** * Get data from the cache or generate it if not cached. * * @since 3.1.1 * * @param string $key The cache key. * @param callable $callback The function to generate the data if not cached. * @param int $expiration Optional. The expiration time of the cached data in seconds. Default 3600. * * @return mixed The cached or generated data. */ protected function get_cached_data($key, $callback, $args = array(), $expiration = 3600) { } /** * Clear the cache for this manager. * * @since 3.1.1 * * @return void */ public function clear_cache() { } } } namespace DiviSquad\Base\DiviBuilder\Utils\Elements\CustomFields\Traits { /** * Table Population Trait * * This trait provides methods for efficiently populating and managing * custom fields tables in WordPress, with a focus on performance * and memory optimization. * * @since 3.1.0 * @deprecated 3.3.0 */ trait TablePopulationTrait { /** * Batch size for processing records. * Adjust based on server capabilities. * * @since 3.1.0 * @var int */ protected int $batch_size = 5000; /** * Maximum execution time for each batch (seconds). * * @since 3.1.0 * @var int */ protected int $max_batch_time = 20; /** * Tracked post types for custom fields. * * @var bool */ protected bool $is_table_exists = false; /** * Populate the summary table efficiently. * * @since 3.1.0 * @return void */ public function populate_summary_table() { } /** * Verify if the custom fields table exists. * * @since 3.2.0 * * @return bool True if table exists. */ protected function is_table_exists(): bool { } /** * Process a batch of records. * * @since 3.1.0 * * @param int $last_id Last processed ID. * * @return int Next last ID or 0 if complete. */ protected function process_batch(int $last_id): int { } /** * Check if table needs to be populated. * * @since 3.1.0 * @return bool True if table needs population. */ protected function needs_population(): bool { } /** * Prepare post types for SQL query. * * @since 3.1.0 * @return string SQL-ready post types string. */ protected function prepare_post_types(): string { } /** * Get meta keys that exist in postmeta but not in the collection table. * Optimized query using INNER JOIN and NOT IN clause. * * @since 3.1.0 * @return array Array of missing meta keys with their post types. */ public function get_missing_meta_keys(): array { } /** * Get meta keys count by post type. * Helper method to analyze meta keys distribution. * * @since 3.1.0 * @return array Array of meta key counts by post type. */ public function get_meta_keys_count_by_post_type(): array { } /** * Get the optimal batch size based on server resources. * * @since 3.1.0 * @return int Optimal batch size. */ protected function get_optimal_batch_size(): int { } /** * Validate batch size is within acceptable limits. * * @since 3.1.0 * * @param int $size Batch size to validate. * * @return int Validated batch size. */ protected function validate_batch_size(int $size): int { } } } namespace DiviSquad\Base\DiviBuilder\Utils\Elements\CustomFields\Managers { /** * Fields Class * * Manages custom fields across different post types in WordPress. * * @since 3.1.1 * @deprecated 3.3.0 * @package DiviSquad */ class Fields extends \DiviSquad\Base\DiviBuilder\Utils\Elements\CustomFields\Manager { use \DiviSquad\Base\DiviBuilder\Utils\Elements\CustomFields\Traits\TablePopulationTrait; /** * The name of the summary table in the database. * * @since 3.1.1 * @var string */ protected string $table_name; /** * Array of post types to track custom fields for. * * @since 3.1.1 * @var array */ protected array $tracked_post_types; /** * Instance of the CustomFieldsUpgrader class. * * @since 3.1.1 * @var Upgraders */ private \DiviSquad\Base\DiviBuilder\Utils\Elements\CustomFields\Managers\Upgraders $upgrader; /** * Version of the current table structure. * * @since 3.1.1 * @var string */ private string $table_version = '1.0'; /** * Constructor. * * @since 3.1.1 * * @param array $post_types Array of post types to track custom fields for. */ public function __construct(array $post_types = array('post')) { } /** * Initialize the manager * * @since 3.1.1 */ public function init(): void { } /** * Get data from the manager. * * @since 3.1.1 * * @param array $args Optional. Arguments to modify the query. * * @return array The retrieved data. */ public function get_data($args = array()): array { } /** * Verify and create table if needed. * * @since 3.1.1 * @return bool True if table exists and is valid. */ public function is_table_verified(): bool { } /** * Check table version and update if needed. * * @since 3.1.1 */ public function check_table_version(): void { } /** * Run database upgrades. * * @since 3.1.1 */ public function run_upgrades(): void { } /** * Update summary table for added/updated postmeta. * * @since 3.1.1 * * @param int $meta_id Metadata ID. * @param int $object_id Object ID. * @param string $meta_key Meta key. */ public function update_summary(int $meta_id, int $object_id, string $meta_key): void { } /** * Delete from summary table when postmeta is deleted. * * @since 3.1.1 * * @param array $meta_ids Meta IDs being deleted. * @param int $object_id Object ID. * @param string $meta_key Meta key. */ public function delete_from_summary(array $meta_ids, int $object_id, string $meta_key): void { } /** * Get custom field keys. * * @since 3.1.1 * * @param string $post_type Post type. * @param int $limit Results limit. * * @return array */ public function get_custom_field_keys(string $post_type = 'post', int $limit = 30): array { } } /** * Upgrader Class * * Manages database upgrades for the custom fields summary table. * This class handles version tracking and applies necessary database * structure changes when upgrading from older versions. * * @since 3.1.1 * @deprecated 3.3.0 * @package DiviSquad */ class Upgraders { /** * The name of the summary table in the database. * * @since 3.1.1 * @var string */ private string $summary_table_name; /** * The option name used to store the current version in the database. * * @since 3.1.1 * @var string */ private string $version_option_name = 'custom_fields_summary_version'; /** * The current version of the database structure. * * @since 3.1.1 * @var string */ private string $current_version = '1.0'; /** * Constructor. * * @since 3.1.1 */ public function __construct() { } /** * Run necessary database upgrades. * * Checks the installed version against the current version and * performs any necessary upgrade procedures. * * @since 3.1.1 * * @param string $table The name of the summary table in the database. * * @return void */ public function run_upgrades(string $table): void { } /** * Perform specific upgrade procedures. * * This method contains the logic for upgrading the database * structure from one version to another. * * @since 3.1.1 * * @param string $from_version The version to upgrade from. * * @return void */ private function perform_upgrades(string $from_version): void { } /** * @return string */ public function get_summary_table_name(): string { } /** * Get the current version of the database structure. * * @since 3.1.1 * * @return string The current version. */ public function get_current_version(): string { } /** * Set the current version of the database structure. * * This method is primarily used for testing purposes or manual version management. * * @since 3.1.1 * * @param string $version The version to set. * * @return void */ public function set_current_version(string $version): void { } /** * Check if an upgrade is needed. * * Compares the installed version with the current version to determine * if an upgrade is necessary. * * @since 3.1.1 * * @return bool True if an upgrade is needed, false otherwise. */ public function is_upgrade_needed(): bool { } /** * Get the installed version of the database structure. * * @since 3.1.1 * * @return string The installed version. */ public function get_installed_version(): string { } } } namespace DiviSquad\Base\DiviBuilder\Utils\Elements\CustomFields { /** * Custom Field interface * * @since 3.1.0 * @deprecated 3.3.0 * @package DiviSquad */ interface ProcessorInterface { /** * Inform that the processor is eligible or not. * * @return bool */ public function is_eligible(); /** * Collect custom fields and generate a formatted array. * * @return array An array where keys are original field names and values are formatted field names. */ public function get_formatted_fields(); /** * Get all custom fields for a specific post. * * @param int $post_id The ID of the post. * * @return array An array of custom fields, where keys are field names and values are field values. */ public function get_fields($post_id); /** * Check if a post has a specific custom field. * * @param int $post_id The ID of the post to check. * @param string $field_key The key of the custom field to check for. * * @return bool True if the custom field exists, false otherwise. */ public function has_field($post_id, $field_key); /** * Get a specific custom field by post ID and field key. * * @param int $post_id The ID of the post to retrieve the custom field for. * @param string $field_key The key of the custom field to retrieve. * @param mixed $default_value The default value to return if the field is not found. * * @return mixed The value of the custom field, or the default value if not found. */ public function get_field_value($post_id, $field_key, $default_value = null); /** * Get the value of a selected post meta key for a specific post, with additional options. * * @param int $post_id The ID of the post. * @param string $meta_key The meta key to retrieve. * @param array $options Additional options for retrieving the meta value. * * @return mixed The meta value if successful, default value if not found. */ public function get_field_value_advanced($post_id, $meta_key, array $options = array()); } /** * Custom Fields Base Class * * @since 3.1.0 * @deprecated 3.3.0 * @package DiviSquad */ abstract class Processor implements \DiviSquad\Base\DiviBuilder\Utils\Elements\CustomFields\ProcessorInterface { /** * Supported post types. * * @var array */ protected $post_types = array(); /** * Blacklisted keys * * @var array Blacklisted keys that should be excluded from custom fields. */ protected $blacklisted_keys = array(); /** * Custom fields suffixes * * @var array Suffixes that should be excluded from custom fields. */ protected $excluded_suffixes = array(); /** * Custom fields prefixes * * @var array Prefixes that should be excluded from custom fields. */ protected $excluded_prefixes = array(); /** * Available custom fields. * * @var array List of available custom fields. */ protected $fields = array(); /** * Available custom fields with its value. * * @var array List of available custom fields. */ protected $custom_fields = array(); /** * Check if a field should be included based on various criteria. * * @param string $field_key The field key to check. * * @return bool Whether the field should be included. */ abstract protected function should_include_field($field_key); /** * Get the supported post types for the processor. * * @return array|string[] */ abstract protected function get_supported_post_types(); /** * Format a field name by replacing underscores and hyphens with spaces. * * @param string $field_key The field key to format. * * @return string The formatted field name. */ protected function format_field_name($field_key) { } /** * Get the value of a selected post meta key for a specific post, with additional options. * * @param int $post_id The ID of the post. * @param string $meta_key The meta key to retrieve. * @param array $options Additional options for retrieving the meta value. * * @return mixed The meta value if successful, default value if not found. */ public function get_field_value_advanced($post_id, $meta_key, array $options = array()) { } /** * Collect custom fields types and generate a formatted array. * * @return array */ public function get_formatted_fields_types() { } } } namespace DiviSquad\Base\DiviBuilder\Utils\Elements\CustomFields\Processors { /** * Custom Fields (Advanced Custom Field) element Class * * @since 3.1.0 * @deprecated 3.3.0 * @package DiviSquad */ class Advanced extends \DiviSquad\Base\DiviBuilder\Utils\Elements\CustomFields\Processor { /** * Supported post types. * * @var array */ protected $post_types = array('post'); /** * Blacklisted keys that should be excluded from custom fields. * * @var array */ protected $blacklisted_keys = array(); /** * Suffixes that should be excluded from custom fields. * * @var array */ protected $excluded_suffixes = array(); /** * Prefixes that should be excluded from custom fields. * * @var array */ protected $excluded_prefixes = array(); /** * Supported fields types from advanced custom fields. * * @var array */ protected $supported_field_types = array('text', 'number', 'textarea', 'range', 'email', 'url', 'image', 'select', 'date_picker', 'wysiwyg'); /** * Available custom fields group * * @var array */ protected $field_groups = array(); /** * Available custom fields * * @var array */ protected $fields_data = array(); /** * Available custom field values * * @var array */ protected $field_values = array(); /** * Inform that the processor is eligible or not. * * @return bool */ public function is_eligible() { } /** * Collect available custom field values from the postmeta table for specific post. * * @param int $post_id The ID of the post. * * @return array An array of unique custom field values. */ public function get_available_field_values($post_id) { } /** * Get post meta values for given keys. * * @param int $post_id The ID of the post. * @param array $acf_field_keys Array of ACF field keys to retrieve. * @param int $limit Maximum number of results to return. * * @return array An array of post meta values. */ private function get_post_meta_values($post_id, $acf_field_keys, $limit) { } /** * Collect custom fields and generate a formatted array. * * @return array */ public function get_formatted_fields() { } /** * Collect custom fields types and generate a formatted array. * * @return array */ public function get_formatted_fields_types() { } /** * Get all custom fields for a specific post. * * @param int $post_id The ID of the post. * * @return array An array of custom fields, where keys are field names and values are field values. */ public function get_fields($post_id) { } /** * Check if a post has a specific custom field. * * @param int $post_id The ID of the post to check. * @param string $field_key The key of the custom field to check for. * * @return bool True if the custom field exists, false otherwise. */ public function has_field($post_id, $field_key) { } /** * Get a specific custom field by post ID and field key. * * @param int $post_id The ID of the post to retrieve the custom field for. * @param string $field_key The key of the custom field to retrieve. * @param mixed $default_value The default value to return if the field is not found. * * @return mixed The value of the custom field, or the default value if not found. */ public function get_field_value($post_id, $field_key, $default_value = null) { } /** * Get the supported post types for the processor. * * @return array|string[] */ protected function get_supported_post_types() { } /** * Get supported field types. * * @return array|string[] */ protected function get_supported_field_types() { } /** * Check if a field should be included based on various criteria. * * @param string $field_key The field key to check. * * @return bool Whether the field should be included. */ protected function should_include_field($field_key) { } } /** * Custom Fields (WordPress) element Class * * @since 3.1.0 * @deprecated 3.3.0 * @package DiviSquad */ class WordPress extends \DiviSquad\Base\DiviBuilder\Utils\Elements\CustomFields\Processor { /** * Blacklisted keys * * @var array Blacklisted keys that should be excluded from custom fields. */ protected $blacklisted_keys = array('_edit_lock', '_edit_last', '_thumbnail_id', '_wp_page_template', '_wp_old_slug', '_wp_trash_meta_time', '_wp_trash_meta_status'); /** * Suffixes * * @var array Suffixes that should be excluded from custom fields. */ protected $excluded_suffixes = array('active', 'enabled', 'disabled', 'hidden', 'flag'); /** * Prefixes * * @var array Prefixes that should be excluded from custom fields. */ protected $excluded_prefixes = array('wp' => array('_wp_', 'wp_', '_oembed_'), 'divi' => array('et_'), 'yoast' => array('_yoast_', 'yoast_', '_wpseo_'), 'others' => array('_aioseop_', '_elementor_', 'rank_math_', '_acf_', '_wc_', '_transient_', '_site_transient_', '_menu_item_')); /** * Available custom formated fields * * @var array */ protected $formatted_fields = array(); /** * Available custom field values * * @var array */ protected $field_values = array(); /** * Inform that the processor is eligible or not. * * @return bool */ public function is_eligible() { } /** * Collect custom fields and generate a formatted array. * * @return array An array where keys are original field names and values are formatted field names. * @throws \Exception If the post type is not supported. */ public function get_formatted_fields() { } /** * Get all custom fields for a specific post. * * @param int $post_id The ID of the post. * * @return array An array of custom fields, where keys are field names and values are field values. * @throws \Exception If the post type is not supported. */ public function get_fields($post_id) { } /** * Check if a post has a specific custom field. * * @param int $post_id The ID of the post to check. * @param string $field_key The key of the custom field to check for. * * @return bool True if the custom field exists, false otherwise. */ public function has_field($post_id, $field_key) { } /** * Get a specific custom field by post ID and field key. * * @param int $post_id The ID of the post to retrieve the custom field for. * @param string $field_key The key of the custom field to retrieve. * @param mixed $default_value The default value to return if the field is not found. * * @return mixed The value of the custom field, or the default value if not found. */ public function get_field_value($post_id, $field_key, $default_value = null) { } /** * Get the supported post types for the processor. * * @return array|string[] */ protected function get_supported_post_types() { } /** * Check if a field should be included based on various criteria. * * @param string $field_key The field key to check. * * @return bool Whether the field should be included. */ protected function should_include_field($field_key) { } /** * Collect available custom fields from the postmeta table. * * @return array An array of unique custom field keys. * @throws \Exception If the post type is not supported. */ protected function get_available_fields() { } /** * Collect available custom field values from the postmeta table for specific post. * * @param int $post_id The ID of the post. * * @return array An array of unique custom field values. * @throws \Exception If the post type is not supported. */ protected function get_available_field_values($post_id) { } /** * Get post meta values for given keys. * * @param int $post_id The ID of the post. * @param array $meta_keys Array of meta keys to retrieve. * @param int $limit Maximum number of results to return. * * @return array An array of post meta values. */ private function get_post_meta_values($post_id, $meta_keys, $limit) { } } } namespace DiviSquad\Base\DiviBuilder\Utils\Elements { /** * Divider Utils Helper Class * * @since 1.5.0 * @deprecated 3.3.3 * @package DiviSquad */ class Divider { /** * The instance of ET Builder Element. * * @var object */ public $module; /** * Constructor. * * @param object $module The instance of ET Builder Element. */ public function __construct($module) { } /** * Get show options for divider. * * @return array */ public function get_show_options() { } /** * Get the default data. * * @param string $field The instance of ET Builder Element. * * @return string */ public function get_default($field) { } /** * Get the default data. * * @return array */ public function get_defaults() { } /** * Get the default data for initiate. * * @return void The shape */ public function initiate_element() { } /** * Get the field for divider module * * @param array $options The options for divider module fields. * * @return array the field */ public function get_fields($options = array()) { } } /** * Mask Shape Element class * * @since 1.5.0 * @deprecated 3.3.3 * @package DiviSquad */ class MaskShape extends \DiviSquad\Builder\Version4\Supports\Module_Utilities\Mask_Shape { } } namespace DiviSquad\Base\DiviBuilder\Utils { /** * Builder Utils Interface * * @since 1.5.0 * @deprecated 3.1.0 marked as deprecated * @package DiviSquad */ interface UtilsInterface { } } namespace DiviSquad\Base\Factories\FactoryBase { /** * Factory Interface * * @since 3.0.0 * @deprecated 3.3.3 * @package DiviSquad */ interface FactoryInterface { /** * Add a new item to the list of items. * * @param string $class_name The class name of the item to add. * * @return void */ public function add($class_name); } /** * Interface FactoryInterface * * @since 3.0.0 * @deprecated 3.3.3 * @package DiviSquad */ abstract class Factory implements \DiviSquad\Base\Factories\FactoryBase\FactoryInterface { /** * Init hooks for the factory. * * @return void */ abstract protected function init_hooks(); /** * Add a new item to the list of items. * * @param string $class_name The class name of the item to add to the list. * * @return void */ abstract public function add($class_name); } } namespace DiviSquad\Core\Traits { /** * Singleton trait. * * Provides functionality to ensure only one instance of a class exists. * Classes using this trait should implement initialize() method for setup. * * @since 1.0.0 * @package DiviSquad */ trait Singleton { /** * The instance storage for all singleton classes. * * Using a static array allows proper instance tracking across child classes. * * @var array */ private static $instances = array(); /** * Initialization status tracking. * * @var bool */ private bool $is_initialized = false; /** * Get the instance of the current class. * * @return static The singleton instance. */ public static function get_instance() { } /** * Check if an instance exists without creating one. * * @return bool True if instance exists, false otherwise. */ public static function has_instance(): bool { } /** * Reset the instance (primarily for testing purposes). * * @return void */ public static function reset_instance(): void { } /** * Create an instance of the current class. * * @return static * @throws RuntimeException When all attempts to create an instance fail. */ public static function create_instance() { } /** * Initialize the instance. * * Classes using this trait can implement init_properties() and init_hooks() * which will be automatically called during initialization. * * @return void */ protected function initialize(): void { } /** * Prevent unserializing of the instance. * * @return void * @throws RuntimeException Always throws an exception. */ public function __wakeup(): void { } /** * Prevent cloning of the instance. * * @return void * @throws RuntimeException Always throws an exception. */ private function __clone() { } } } namespace DiviSquad\Base\Factories { /** * Class AdminMenu * * @since 2.0.0 * @deprecated 3.3.3 * @package DiviSquad */ final class AdminMenu extends \DiviSquad\Base\Factories\FactoryBase\Factory { use \DiviSquad\Core\Traits\Singleton; /** * Store all registry * * @var \DiviSquad\Base\Factories\AdminMenu\MenuInterface[] */ private static array $registries = array(); /** * Initialize hooks. * * @return void */ protected function init_hooks() { } /** * Add a new menu to the list of menus. * * @param string $class_name The class name of the menu to add to the list. * * @return void */ public function add($class_name) { } /** * Add legacy submenus. * * @param array $existing The submenus from the new AdminMenu class. * * @return array The modified submenus. */ public function add_legacy_submenus(array $existing): array { } /** * Add legacy body classes. * * @param string $classes The current body classes. * * @return string The modified body classes. */ public function add_legacy_body_classes(string $classes): string { } /** * Get registered submenus (compatibility method). * * @return array */ public function get_registered_submenus(): array { } } } namespace DiviSquad\Base\Factories\AdminMenu { /** * Menu Interface. * * @since 2.0.0 * @deprecated 3.3.3 * @package DiviSquad */ interface MenuInterface { /** * The permission for menu management. * * @return string */ public function get_permission(); /** * Slug of the main menu. * * @return string */ public function get_main_menu_slug(); /** * Get details about the Main Menu. * * @return array Details about the Main Menu. */ public function get_main_menu(); /** * Get details about the Sub Menu. * * @return array Details about the Sub Menu. */ public function get_sub_menus(); /** * Load template file for admin pages. * * @return void */ public function get_template(); /** * Add the CSS classes for the body tag in the admin. * * @return string */ public function get_body_classes(); } /** * Abstract class representing the Menu. * * @since 2.0.0 * @deprecated 3.3.3 * @package DiviSquad */ abstract class Menu implements \DiviSquad\Base\Factories\AdminMenu\MenuInterface { /** * The permission for menu management. * * @return string */ public function get_permission() { } /** * Slug of the main menu. * * @return string */ public function get_main_menu_slug() { } /** * Position of the main menu. * * @return int */ public function get_main_menu_position() { } /** * Details about the Main Menu. * * @return array Details about the Main Menu. */ public function get_main_menu() { } /** * Details about the Sub Menu. * * @return array Details about the Sub Menu. */ public function get_sub_menus() { } /** * Load template file for admin pages. * * @return void */ public function get_template() { } /** * Add the CSS classes for the body tag in the admin. * * @return string */ public function get_body_classes() { } } /** * Abstract class representing the Menu. * * @since 2.0.0 * @deprecated 3.0.0 * @package DiviSquad */ abstract class MenuCore extends \DiviSquad\Base\Factories\AdminMenu\Menu { } } namespace DiviSquad\Base\Factories { /** * Class AdminNotice * * @since 2.0.0 * @deprecated 3.3.3 * @package DiviSquad */ final class AdminNotice extends \DiviSquad\Base\Factories\FactoryBase\Factory { use \DiviSquad\Core\Traits\Singleton; /** * Store all registry * * @var AdminNotice\NoticeInterface[] */ private static array $registries = array(); /** * Initialize hooks. * * @return void */ protected function init_hooks() { } /** * Add a new notice to the list of notices. * * @param string $class_name The class name of the notice to add to the list. * * @return void */ public function add($class_name) { } /** * Add legacy notices to the notices list. * * @param array $notices The notices from the new AdminNotice class. * @param mixed $manager The AdminNotice manager instance. * * @return array The modified notices. */ public function add_legacy_notices(array $notices, $manager): array { } /** * Add legacy notice body classes. * * @param string $classes The current body classes. * @param mixed $manager The AdminNotice manager instance. * * @return string The modified body classes. */ public function add_legacy_notice_body_classes(string $classes, $manager): string { } /** * Add legacy notice localize data. * * @param array $data The current localize data. * @param mixed $manager The AdminNotice manager instance. * * @return array The modified localize data. */ public function add_legacy_notice_localize_data(array $data, $manager): array { } /** * Get all registered notices (compatibility method). * * @return array */ public function get_notices(): array { } /** * Compatibility method for localize data. * * @param array $exists_data Existing data. * * @return array */ public function wp_localize_script_data(array $exists_data): array { } } } namespace DiviSquad\Base\Factories\AdminNotice { /** * Notice Interface. * * @since 2.0.0 * @deprecated 3.3.3 * @package DiviSquad */ interface NoticeInterface { /** * Say that current notice can view or not. * * @return bool */ public function can_render_it(); /** * Add the CSS classes for the body tag in the admin. * * @return string */ public function get_body_classes(); /** * Get the template arguments * * @return array */ public function get_template_args(); /** * Get the template path. * * @return string */ public function get_template(); } /** * Abstract class representing the Notice. * * @since 2.0.0 * @deprecated 3.3.3 * @package DiviSquad */ abstract class Notice implements \DiviSquad\Base\Factories\AdminNotice\NoticeInterface { /** * The template arguments * * @var array */ protected $template_args = array(); /** * Get the notice id. * * @var string */ protected $notice_id = ''; /** * Get the template arguments * * @return array */ abstract public function get_template_args(); /** * Get the template path. * * @return string */ public function get_template() { } /** * Get the template root. * * @return string */ public function get_template_root() { } /** * Get the notice id. * * @return string */ public function get_notice_id() { } } } namespace DiviSquad\Base\Factories { /** * Class Plugin Branding * * @since 3.0.0 * @deprecated 3.3.3 * @package DiviSquad */ final class BrandAsset extends \DiviSquad\Base\Factories\FactoryBase\Factory { use \DiviSquad\Core\Traits\Singleton; /** * Store all branding assets. * * @var array */ private static array $registries = array('plugin_action_links' => array(), 'plugin_row_actions' => array(), 'admin_footer_text' => array()); /** * Initialize the hooks. * * @return void */ protected function init_hooks() { } /** * Add a new item to the list of items. * * @see \DiviSquad\Core\Admin\Branding\Brand_Asset_Interface interface. * * @param string $class_name The class name of the banding asset. Must implement the BrandingAssetInterface. * * @return void */ public function add($class_name) { } /** * Add some link to plugin action links. * * @param string[] $actions An array of plugin action links. By default, this can include 'activate', 'deactivate', and 'delete'. * @param string $plugin_file Path to the plugin file relative to the plugins' directory. * * @return array All action links for plugin. */ public function add_plugin_actions(array $actions, string $plugin_file): array { } /** * Add some link to plugin row actions. * * @param string[] $actions An array of plugin row actions. By default, this can include 'activate', 'deactivate', and 'delete'. * @param string $plugin_file Path to the plugin file relative to the plugins' directory. * * @return array All row actions for plugin. */ public function add_plugin_row_actions(array $actions, string $plugin_file): array { } /** * Add some text to plugin footer text. * * @param string $text The text to be displayed in the footer. * * @return string The text to be displayed in the footer. */ public function add_plugin_footer_text(string $text): string { } /** * Add some text to plugin update footer text. * * @param string $content The content that will be printed. * * @return string The content that will be printed. */ public function update_plugin_footer_text(string $content): string { } } } namespace DiviSquad\Base\Factories\BrandAsset { /** * Branding Asset Interface. * * @since 3.0.0 * @deprecated 3.3.3 * @package DiviSquad */ interface AssetInterface { /** * The branding asset type. * * @return string */ public function get_type(); /** * The branding asset position. * * @return string */ public function get_position(); } /** * Abstract class representing the Branding. * * @since 3.0.0 * @deprecated 3.3.3 * @package DiviSquad */ abstract class Asset implements \DiviSquad\Base\Factories\BrandAsset\AssetInterface { /** * The plugin base. * * @return string */ public function get_plugin_base() { } /** * The branding asset is allowed in network. * * @return bool */ public function is_allow_network(): bool { } /** * The plugin action links. * * @return array */ public function get_action_links(): array { } /** * The plugin row actions. * * @return array */ public function get_row_actions() { } /** * The plugin footer text. * * @return string */ public function get_plugin_footer_text(): string { } /** * The plugin update footer text. * * @return string */ public function get_update_footer_text(): string { } } /** * Abstract class representing the Branding. * * @since 3.0.0 * @deprecated 3.1.7 * @package DiviSquad */ abstract class BrandAsset extends \DiviSquad\Base\Factories\BrandAsset\Asset { } /** * Branding Asset Interface. * * @since 3.0.0 * @deprecated 3.1.7 * @package DiviSquad */ interface BrandAssetInterface { } } namespace DiviSquad\Base\Factories { /** * Abstract class representing the Plugin Asset. * * @since 3.0.0 * @deprecated 3.3.0 * @package DiviSquad */ final class PluginAsset extends \DiviSquad\Base\Factories\FactoryBase\Factory { use \DiviSquad\Core\Traits\Singleton; /** * The list of registries. * * @var AssetInterface[] */ private static array $registries = array(); /** * Init hooks for the factory. * * @return void */ protected function init_hooks() { } /** * Add a new item to the list of items. * * @param string $class_name The class name of the item to add to the list. * * @return void */ public function add($class_name) { } /** * Enqueue scripts. * * @return void */ public function add_enqueue_scripts() { } /** * Enqueue admin scripts. * * @param string $hook_suffix Hook suffix for the current admin page. * * @return void */ public function add_admin_enqueue_scripts(string $hook_suffix) { } /** * Add localize script data. * * @param array $data The data to localize. * * @return array */ public function add_localize_backend_extra_data(array $data): array { } } } namespace DiviSquad\Base\Factories\PluginAsset { /** * The Asset Interface. * * @since 3.0.0 * @deprecated 3.3.0 * @package DiviSquad */ interface AssetInterface { /** * Enqueue scripts, styles, and other assets in the WordPress frontend and admin area. * * @param string $type The type of the script. Default is 'frontend'. * @param string $hook_suffix The hook suffix for the current admin page. * * @return void */ public function enqueue_scripts(string $type = 'frontend', $hook_suffix = ''); /** * Localize script data. * * @param string $type The type of the localize data. Default is 'raw'. Accepts 'raw' or 'output'. * @param string|array $data The data to localize. * * @return string|array */ public function get_localize_data(string $type = 'raw', $data = array()); } /** * The Plugin Asset class. * * @since 3.0.0 * @deprecated 3.3.0 * @package DiviSquad */ abstract class Asset implements \DiviSquad\Base\Factories\PluginAsset\AssetInterface { } /** * The Plugin Asset class. * * @since 3.0.0 * @deprecated 3.1.7 * @package DiviSquad */ abstract class PluginAsset extends \DiviSquad\Base\Factories\PluginAsset\Asset { } /** * The Asset Interface. * * @since 3.0.0 * @deprecated 3.1.7 * @package DiviSquad */ interface PluginAssetInterface { } } namespace DiviSquad\Base\Factories { /** * Class RestRoute * * @since 2.0.0 * @deprecated 3.3.0 * @package DiviSquad */ final class RestRoute extends \DiviSquad\Base\Factories\FactoryBase\Factory { use \DiviSquad\Core\Traits\Singleton; /** * Store all registered routes * * @var array */ private static array $registries = array(); /** * Initialize hooks. * * @return void */ protected function init_hooks() { } /** * Add a new route to the list of routes. * * @param string $class_name The class name of the route to add. Must implement RouteInterface. * * @return void */ public function add($class_name) { } /** * Get the namespace for a given product name. * * @param string $name Current product name. * * @return string */ public function get_namespace(string $name): string { } /** * Register all routes for our endpoints. * * @return void */ public function register_routes() { } /** * Ensure each route has a permission callback. * * @param array $args Route arguments. * * @return array */ private function ensure_permission_callback(array $args): array { } /** * Get all registered routes for a given product name. * * @param string $name Current product name. * * @return array */ public function get_registered_routes(string $name): array { } /** * Format the route name for readability. * * @param string $route Original route string. * * @return string */ private function format_route_name(string $route): string { } } } namespace DiviSquad\Base\Factories\RestRoute { /** * Interface for the Route class. * * @since 2.0.0 * @deprecated 3.3.0 * @package DiviSquad */ interface RouteInterface { /** * The route namespace * * @return string */ public function get_namespace(); /** * The route name * * @return string */ public function get_name(); /** * Available routes for current Rest Route * * @return array */ public function get_routes(); } /** * Abstract class representing the Route. * * @since 2.0.0 * @deprecated 3.3.0 * @package DiviSquad */ abstract class Route implements \DiviSquad\Base\Factories\RestRoute\RouteInterface { /** * API Version * * @var string */ protected string $version = 'v1'; /** * The route namespace * * @return string */ public function get_namespace(): string { } /** * The route name * * @return string */ public function get_name(): string { } /** * The route name * * @return string */ public function get_version(): string { } /** * Available routes for current Rest Route * * @return array|string>>> */ public function get_routes(): array { } } } namespace DiviSquad\Base\Factories { /** * Feature Management class * * @since 2.0.0 * @deprecated 3.3.0 * @package DiviSquad */ abstract class SquadFeatures { /** * Get the type of Divi Builder, default is: D4. Available opinions are: D4, D5. * * @var string */ protected string $builder_type = 'D4'; /** * Retrieve the list of registered. * * @return array[] */ abstract public function get_registered_list(); /** * Retrieve the list of inactive registered. * * @return array */ abstract public function get_inactive_registries(): array; /** * Retrieve the list of default active registered. * * @return array */ abstract public function get_default_registries(): array; /** * Retrieve details by the registered name. * * @param array $registries The array list of available registries. * @param string $name The name of the current registry. * * @return array */ protected function get_details_by_name(array $registries, string $name): array { } /** * Retrieve the filtered list of registered. * * @param array $registered The list of registered. * @param callable|null $callback The callback function to filter the current registriy. * * @return array */ protected function get_filtered_registries(array $registered, callable $callback): array { } /** * Verify third party plugin requirements for current registry. * * @param array $registry_info Current registry information. * @param array $active_plugins Active plugin lists from current installation. * * @return bool */ protected function verify_requirements(array $registry_info, array $active_plugins): bool { } /** * Load the module class. * * @param array $registered The available modules list. * @param array $defaults The default activated registries list. * @param mixed $activate The user-defined activated registries list. * @param array $inactivate The user-defined inactivated registries list. * @param string|null $version Current version of the plugin. * * @return array */ protected function get_verified_registries(array $registered, array $defaults, $activate, array $inactivate, ?string $version): array { } } } namespace DiviSquad\Core { /** * Class Memory * * Manages plugin settings with caching capabilities to reduce database queries. * * @since 2.0.0 * @package DiviSquad */ class Memory { /** * Stored option data. * * @since 2.0.0 * @var array */ private array $data = array(); /** * WordPress option name. * * @since 2.0.0 * @var string */ private string $option_name; /** * Cache group name. * * @since 2.0.0 * @var string */ private string $cache_group; /** * Data modification status. * * @since 2.0.0 * @var bool */ private bool $is_modified = false; /** * Batch operations queue. * * @since 2.0.0 * @var array */ private array $batch_queue = array(); /** * Initialize the Memory class. * * @since 2.0.0 * * @param string $prefix Optional. Plugin prefix for option naming. Default 'divi-squad'. * * @throws InvalidArgumentException If prefix is empty. */ public function __construct(string $prefix = 'divi-squad') { } /** * Initialize data from cache or database. * * @since 2.0.0 * @return void */ private function load_data_from_storage(): void { } /** * Migrate legacy options if they exist. * * @since 3.2.0 * * @return void */ private function maybe_migrate_legacy_options(): void { } /** * Get all stored options. * * @since 2.0.0 * * @return array */ public function all(): array { } /** * Get the count of stored options. * * @since 2.0.0 * * @return int */ public function count(): int { } /** * Check if a field exists. * * @since 2.0.0 * * @param string $field Field key. * * @return bool */ public function has(string $field): bool { } /** * Get a field value or default. * * @since 2.0.0 * * @param string $field Field key. * @param mixed $default Default value. * * @return mixed */ public function get(string $field, $default = null) { } /** * Set a field value. * * Only updates the field if the new value is different. * Marks the data as modified if updated. * * @since 2.0.0 * * @param string $field Field key. * @param mixed $value Field value. * * @return bool True if field was updated. */ public function set(string $field, $value): bool { } /** * Update a field if it exists. * * @since 2.0.0 * * @param string $field Field key. * @param mixed $value Field value. * * @return bool */ public function update(string $field, $value): bool { } /** * Delete a field if it exists. * * @since 2.0.0 * * @param string $field Field key. * * @return bool */ public function delete(string $field): bool { } /** * Set multiple fields at once. * * @since 2.0.0 * * @param array $fields Key-value pairs of fields to set. * * @return bool */ public function set_many(array $fields): bool { } /** * Add a value to an array field. * * @since 2.0.0 * * @param string $field Field key. * @param mixed $value Value to add. * * @return void * @throws RuntimeException If field is not an array. */ public function add_to_array(string $field, $value): void { } /** * Remove a value from an array field. * * @since 2.0.0 * * @param string $field Field key. * @param mixed $value Value to remove. * * @return bool True if value was removed. * @throws RuntimeException If field is not an array. */ public function remove_from_array(string $field, $value): bool { } /** * Queue a batch operation. * * @since 2.0.0 * * @param string $operation Operation type ('set', 'update', 'delete'). * @param string $field Field key. * @param mixed $value Optional. Value for set/update operations. * * @return void */ public function queue_batch_operation(string $operation, string $field, $value = null): void { } /** * Execute all queued batch operations. * * @since 2.0.0 * @return void */ public function execute_batch(): void { } /** * Sync modified data to the database. * * @since 2.0.0 * @return void */ public function sync_data(): void { } /** * Clear all stored data. * * @since 2.0.0 * @return void */ public function clear_all(): void { } } } namespace DiviSquad\Base { /** * Memory class for managing Divi Squad plugin settings. * * This class provides a caching layer for WordPress options, * improving performance by reducing database queries and adding * advanced features for option management. * * @since 2.0.0 * @deprecated 3.2.0 Use `DiviSquad\Core\Memory` instead. * @package DiviSquad\Base */ class Memory extends \DiviSquad\Core\Memory { } } namespace DiviSquad\Integrations { /** * Admin Class. * * @since 1.0.0 * @deprecated 3.0.0 marked as deprecated. * @package DiviSquad */ class Admin { /** * Get the instance of the current class. * * @deprecated 3.0.0 marked as deprecated. * @return void */ public static function load() { } /** * Fires when enqueuing scripts for all admin pages. * * @since 1.2.0 * @deprecated 3.0.0 marked as deprecated. * * @param \DiviSquad\Admin\Assets $admin_asset The instance of Admin asset class. * * @return void */ protected static function register_admin_scripts($admin_asset) { } /** * Include all actions links for the plugin. * * @since 1.2.0 * @deprecated 3.0.0 marked as deprecated. * * @param SquadAdmin\Plugin\ActionLinks $action_links The instance of Plugin action links class. * * @return void */ protected static function register_plugin_action_links($action_links) { } /** * Include all row metas for the plugin. * * @since 1.2.0 * @deprecated 3.0.0 marked as deprecated. * * @param SquadAdmin\Plugin\RowMeta $row_meta The instance of the Plugin row meta. * * @return void */ protected static function register_plugin_row_meta($row_meta) { } /** * Include admin footer text for the plugin. * * @since 1.2.0 * @deprecated 3.0.0 marked as deprecated. * * @param SquadAdmin\Plugin\AdminFooterText $footer_text The instance of the Plugin row meta. * * @return void */ protected static function register_plugin_footer_text($footer_text) { } /** * Include update footer text for the plugin at admin area. * * @since 1.4.8 * @deprecated 3.0.0 marked as deprecated. * * @param SquadAdmin\Plugin\AdminFooterText $footer_text The instance of the Plugin row meta. * * @return void */ protected static function register_update_footer_text($footer_text) { } } /** * Divi Squad Core Class. * * @since 1.0.0 * @deprecated 3.3.0 * @package DiviSquad */ abstract class Core extends \DiviSquad\Base\Core { /** * Load the divi custom modules for the divi builder. * * @deprecated 3.3.0 * @return void */ protected function load_modules_for_builder() { } /** * Load the settings migration. * * @deprecated 3.3.0 * @return void */ public function hook_migrate_builder_settings() { } /** * Load the extensions. * * @deprecated 3.3.0 * @return void */ public function hook_initialize_builder_extension() { } /** * Used to update the content of the cached definitions js file. * * @deprecated 3.3.0 * @return void */ public function hook_initialize_builder_asset_definitions() { } } /** * Define integration helper functionalities for this plugin. * * This class provides methods for version compatibility checks, * setting plugin options, and displaying admin notices. * * @since 1.0.0 * @deprecated 3.2.0 marked as deprecated. * @package DiviSquad */ class WP { use \DiviSquad\Core\Traits\Singleton; /** * The plugin options. * * @var array */ protected $options; /** * Checks compatibility with the current version. * * @since 1.2.3 * * @param string $required Minimum required version. * @param string $target_version The current version. * * @return bool True if a required version is compatible or empty, false if not. */ public static function version_compare(string $required, string $target_version): bool { } /** * Checks if the target version is a pre-release version. * * @since 1.3.0 * * @param string $version The version to check. * * @return bool True if the version is a pre-release, false otherwise. */ public static function version_pre(string $version): bool { } /** * Compares two versions and checks if the first version is older than the second. * * @since 1.4.0 * * @param string $version The version to check. * @param string $compare_version The version to compare against. * * @return bool True if $version is older than $compare_version, false otherwise. */ public static function is_older_version(string $version, string $compare_version): bool { } /** * Set the plugin options. * * @param array $options The plugin options. */ public function set_options(array $options) { } /** * Initializes the plugin and checks for compatibility. * * @return bool True if all compatibility checks pass, false otherwise. */ public function let_the_journey_start(): bool { } /** * Checks PHP version compatibility. * * @return bool True if PHP version is compatible, false otherwise. */ private function check_php_compatibility(): bool { } /** * Checks WordPress version compatibility. * * @return bool True if WordPress version is compatible, false otherwise. */ private function check_wordpress_compatibility(): bool { } /** * Checks Divi compatibility. * * @return bool True if Divi is compatible, false otherwise. */ private function check_divi_compatibility(): bool { } /** * Admin notice for the required PHP version. */ public function required_php_version_missing_notice() { } /** * Admin notice for the required WordPress version. */ public function required_wordpress_version_missing_notice() { } /** * Admin notice for required Divi version. */ public function required_divi_version_missing_notice() { } /** * Admin notice for required Divi Builder version. */ public function required_divi_builder_version_missing_notice() { } /** * Admin notice for Divi Builder if missing. */ public function divi_builder_missing_notice() { } /** * Get a list of all the allowed HTML tags. * * @param string $level Allowed levels are basic and intermediate. * * @return array */ public function get_allowed_html_tags(string $level = 'basic'): array { } } } namespace DiviSquad\Managers { /** * Assets Class * * @since 1.0.0 * @deprecated 3.0.0 marked as deprecated. * @package DiviSquad */ class Assets { /** * Enqueue scripts for frontend. * * @deprecated 3.0.0 marked as deprecated. * @return void */ public function enqueue_scripts() { } /** * Enqueue scripts for builder. * * @deprecated 3.0.0 marked as deprecated. * @return void */ public function enqueue_scripts_vb() { } /** * Load requires asset extra in the visual builder by default. * * @deprecated 3.0.0 marked as deprecated. * * @param string $output Exist output. * * @return string */ public function wp_localize_script_data($output) { } } } namespace DiviSquad\Managers\Emails { /** * Error Report Email Handler (Legacy) * * Backwards compatibility layer for the old Error_Report class. * Maintains API compatibility while forwarding to new implementation. * * @since 3.1.7 * @deprecated 3.3.0 Converted to a compatibility wrapper * @package DiviSquad */ class ErrorReport { /** * Support email recipient * * @since 3.1.7 * @var string */ protected string $to = 'support@squadmodules.com'; /** * Error report data * * @since 3.1.7 * @var array */ protected array $data; /** * WP_Error instance for error handling * * @since 3.1.7 * @var WP_Error */ protected \WP_Error $errors; /** * Email sending result * * @since 3.1.7 * @var bool */ protected bool $result = false; /** * Rate limit key prefix * * @since 3.1.7 * @var string */ protected const RATE_LIMIT_KEY = 'squad_error_report_'; /** * Rate limit window in seconds (15 minutes) * * @since 3.1.7 * @var int */ protected const RATE_LIMIT_WINDOW = 900; /** * Maximum reports per window * * @since 3.1.7 * @var int */ protected const MAX_REPORTS = 5; /** * Required data fields * * @since 3.1.7 * @var array */ protected const REQUIRED_FIELDS = array('error_message', 'error_code', 'error_file', 'error_line'); /** * The new ErrorReporter instance that handles the actual work * * @since 3.4.0 * @var Reporter */ protected \DiviSquad\Managers\Emails\Reporter $reporter; /** * Initialize error report * * Creates a new error report instance with sanitized data. * * @since 3.1.7 * @since 3.4.0 Modified to use the new ErrorReporter * * @param array $data Error report data. */ public function __construct(array $data = array()) { } /** * Send error report email with rate limiting and validation * * Delegates to the new ErrorReporter class. * * @since 3.1.7 * @since 3.4.0 Modified to delegate to ErrorReporter * * @return bool Success status. * @throws RuntimeException If rate limit is exceeded or validation fails. */ public function send(): bool { } /** * Get error object * * @since 3.1.7 * * @return WP_Error Error object. */ public function get_errors(): \WP_Error { } /** * Get send result * * @since 3.1.7 * * @return bool Result. */ public function get_result(): bool { } /** * Send error report quickly * * Static helper method to quickly send an error report from an exception. * Delegates to the new ErrorReporter class. * * @since 3.1.7 * @since 3.4.0 Modified to delegate to ErrorReporter::quickSend() * * @param mixed $exception Error/Exception object. * @param array $additional_data Additional context. * * @return bool Success status. */ public static function quick_send($exception, array $additional_data = array()): bool { } /** * Get the debug log * * Static helper for getting debug log. * Delegates to the new ErrorLogReader class. * * @since 3.1.7 * @since 3.4.0 Modified to delegate to ErrorLogReader::getDebugLog() * * @return string The debug log or an empty string if not accessible. */ public static function get_debug_log(): string { } /** * Read the last N lines from a file in a memory efficient way * * Delegates to ErrorLogReader class. * * @since 3.1.7 * @since 3.4.0 Modified to delegate to ErrorLogReader::readLastLines() * * @param string $file_path Path to the file. * @param int $line_count Number of lines to read from end of file. * * @return string The last N lines of the file. */ public static function read_last_lines(string $file_path, int $line_count = 200): string { } /** * Forwards any calls to missing methods to the new ErrorReporter * * This helps maintain backward compatibility with code that might be * calling methods that no longer exist in this class. * * @since 3.4.0 * * @param string $name Method name. * @param array $arguments Method arguments. * * @return mixed * @throws BadMethodCallException If the method doesn't exist on ErrorReporter either. */ public function __call(string $name, array $arguments) { } } } namespace DiviSquad\Managers\Features { /** * Extension Manager class * * @since 1.0.0 * @deprecated 3.3.0 * @package DiviSquad */ class Extensions extends \DiviSquad\Base\Factories\SquadFeatures { /** * Get available extensions. * * @return array[] */ public function get_registered_list() { } /** * Get default active extensions. * * @return array */ public function get_default_registries(): array { } /** * Get inactive extensions. * * @return array */ public function get_inactive_registries(): array { } /** * Load enabled extensions * * @param string $path The defined directory. * * @return void */ public function load_extensions(string $path) { } /** * Load enabled extensions * * @param string $path The defined directory. * @param Memory $memory The instance of Memory class. * * @return void */ protected function load_extensions_files(string $path, \DiviSquad\Core\Memory $memory) { } } } namespace DiviSquad\Managers { /** * Extension Manager class * * @since 1.0.0 * @deprecated 3.0.0 marked as deprecated. * @package DiviSquad */ class Extensions extends \DiviSquad\Managers\Features\Extensions { } } namespace DiviSquad\Managers\Features { /** * Module Manager class * * @since 1.0.0 * @deprecated 3.3.0 * @package DiviSquad */ class Modules extends \DiviSquad\Base\Factories\SquadFeatures { /** * Get all modules including extra modules. * * @return array[] */ public function get_all_modules_with_locked(): array { } /** * Get available modules. * * @return array[] */ public function get_registered_list() { } /** * Get inactive modules. * * @return array */ public function get_inactive_registries(): array { } /** * Get active modules. * * @return array */ public function get_active_registries(): array { } /** * Get active modules. * * @return array */ public function get_active_modules(): array { } /** * Get default modules. * * @param string $module_name The module name. * * @return bool */ public function is_module_active(string $module_name): bool { } /** * Check if the module is active by class name. * * @param string $module_classname The module class name. * * @return bool */ public function is_module_active_by_classname(string $module_classname): bool { } /** * Load enabled modules for Divi Builder from defined directory. * * @param string $path The defined directory. * @param \ET\Builder\Framework\DependencyManagement\DependencyTree $dependency_tree `DependencyTree` class is used as a utility to manage loading classes in a meaningful manner. * * @return void */ public function load_modules(string $path, ?object $dependency_tree = null) { } /** * Load the module class. * * @param string $path The module class path. * @param Memory $memory The instance of Memory class. * @param \ET\Builder\Framework\DependencyManagement\DependencyTree $dependency_tree `DependencyTree` class is used as a utility to manage loading classes in a meaningful manner. * * @return void */ protected function load_module_files(string $path, \DiviSquad\Core\Memory $memory, $dependency_tree = ''): void { } /** * Filter list of modules with specific keys. * * @param array $input_array Running module configuration. * * @return array */ public function custom_array_slice(array $input_array): array { } /** * Get default active modules. * * @return array */ public function get_default_registries(): array { } /** * Check the current module type. * * @param array $module The array of current module. * * @return bool */ protected function verify_module_type(array $module): bool { } /** * Verify the requirements of the module. * * @param array $activated_module The module. * @param string $module_key The module name key. * @param \ET\Builder\Framework\DependencyManagement\DependencyTree $dependency_tree `DependencyTree` class is used as a utility to manage loading classes in a meaningful manner. * * @return void */ private function load_module_if_exists(array $activated_module, string $module_key, $dependency_tree = ''): void { } /** * Load the module class. * * @since 2.1.2 * * @param array $module The module. * @param \ET\Builder\Framework\DependencyManagement\DependencyTree $dependency_tree `DependencyTree` class is used as a utility to manage loading classes in a meaningful manner. * * @param string $module_key The module specification key. * * @return void */ protected function require_module_class(string $module_key = 'name', array $module = array(), $dependency_tree = '') { } /** * Load the module class from path. * * @param string $path The module class path. * @param string $module The module name. * @param \ET\Builder\Framework\DependencyManagement\DependencyTree $dependency_tree `DependencyTree` class is used as a utility to manage loading classes in a meaningful manner. * * @return void */ protected function require_module_path(string $path, string $module, $dependency_tree = ''): void { } } } namespace DiviSquad\Managers { /** * Module Manager class * * @since 1.0.0 * @deprecated 3.0.0 marked as deprecated. * @package DiviSquad */ class Modules extends \DiviSquad\Managers\Features\Modules { } } namespace DiviSquad\Modules { /** * Post-Grid Child Module Class. * * @since 1.0.0 * @deprecated 3.3.3 * @package DiviSquad */ class PostGridChild extends \DiviSquad\Base\DiviBuilder\Module { /** * The list of element types * * @var array */ protected array $element_types = array(); /** * Initiate Module. * Set the module name on init. * * @since 1.0.0 * @return void */ public function init(): void { } /** * Declare general fields for the module * * @since 1.0.0 * @return array[] */ public function get_fields(): array { } /** * Declare general fields for the module * * @since 3.1.0 * @return array[] */ public function get_custom_fields(): array { } /** * Get CSS fields transition. * * Add form field options group and background image on the field list. * * @since 1.0.0 */ public function get_transition_fields_css_props() { } /** * Renders the module output. * * @param array $attrs List of attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string */ public function render($attrs, $content, $render_slug): string { } /** * Generate styles. * * @param array $attrs List of unprocessed attributes. * * @return void */ private function squad_generate_all_styles(array $attrs): void { } /** * Render post name icon. * * @param array $attrs List of attributes. * * @return void */ private function squad_generate_element_title_font_icon_styles(array $attrs): void { } /** * Render all styles for icon. * * @param array $attrs List of attributes. * * @return void */ private function squad_generate_all_icon_styles(array $attrs): void { } } } namespace DiviSquad\Modules\PostGridChild { /** * Post-Grid Child Module Class. * * @since 1.0.0 * @deprecated 3.0.0 marked as deprecated. * @package DiviSquad */ class PostGridChild extends \DiviSquad\Modules\PostGridChild { } } namespace DiviSquad\Utils { /** * Utils class. * * @since 1.0.0 * @deprecated 3.3.0 * @package DiviSquad */ class Asset { /** * Get the version * * @since 1.0.0 * * @return string */ public static function get_the_version() { } /** * Resolve the resource root path. * * @return string * @phpstan-return string|null */ public static function root_path() { } /** * Resolve the resource root uri. * * @return string */ public static function root_path_uri() { } /** * Get current mode is production or not * * @since 1.0.0 * * @return bool */ public static function is_production_mode(): bool { } /** * Validate the relative path. * * @param string $relative_path The path string for validation. * * @return string */ public static function validate_relative_path(string $relative_path): string { } /** * Resolve the resource path. * * @param string $relative_path The current path string. * * @return string */ public static function resolve_file_path(string $relative_path): string { } /** * Resolve the resource uri. * * @param string $relative_path The current path string. * * @return string */ public static function resolve_file_uri(string $relative_path): string { } /** * Process asset path and version data. * * @param array{ file: string, path?: string, prod_file?: string, dev_file?: string, pattern?: string, ext?: string } $path The asset path. * @param array $dependencies The asset dependencies. * * @return array{path: string, version: string, dependencies: array} */ public static function process_asset_path_data(array $path, array $dependencies): array { } /** * Set the asset path. * * @param string $file The file name. * @param array $options The options for current asset file. * * @return array{path: string, file: string, dev_file: string, prod_file: string, ext: string, pattern: string} */ public static function asset_path(string $file, array $options = array()): array { } /** * Get the admin asset path. * * @param string $file The file name. * @param array $options The options for current asset file. * * @return array{path: string, file: string, dev_file: string, prod_file: string, ext: string, pattern: string} */ public static function admin_asset_path(string $file, array $options = array()): array { } /** * Get the module asset path. * * @param string $file The file name. * @param array $options The options for current asset file. * * @return array{path: string, file: string, dev_file: string, prod_file: string, ext: string, pattern: string} */ public static function module_asset_path(string $file, array $options = array()): array { } /** * Get the extensions asset path. * * @param string $file The file name. * @param array $options The options for current asset file. * * @return array{path: string, file: string, dev_file: string, prod_file: string, ext: string, pattern: string} */ public static function extension_asset_path(string $file, array $options = array()): array { } /** * Get the vendor asset path. * * @param string $file The file name. * @param array $options The options for current asset file. * * @return array{path: string, file: string, dev_file: string, prod_file: string, ext: string, pattern: string} */ public static function vendor_asset_path(string $file, array $options = array()): array { } /** * Enqueue styles (deprecated). * * @since 1.0.0 * * @deprecated 3.1.0 * * @param array $path Relative path of the stylesheet with options for the WordPress root directory. * @param array $deps Optional. An array of registered stylesheet handles this stylesheet depends on. Default empty array. * @param string $media Optional. The media for which this stylesheet has been defined. Default 'all'. * @param bool $no_prefix Optional. Set the plugin prefix with asset handle name is or not. * * @param string $keyword Name of the stylesheet. Should be unique. * * @return void */ public static function style_enqueue(string $keyword, array $path, array $deps = array(), string $media = 'all', bool $no_prefix = false) { } /** * Enqueue javascript (deprecated). * * @since 1.0.0 * * @deprecated 3.1.0 * * @param array $path Relative path of the javascript with options for the WordPress root directory. * @param array $deps Optional. An array of registered javascript handles this stylesheet depends on. Default empty array. * @param bool $no_prefix Optional. Set the plugin prefix with asset handle name is or not. * * @param string $keyword Name of the javascript. Should be unique. * * @return void */ public static function asset_enqueue(string $keyword, array $path, array $deps = array(), bool $no_prefix = false) { } /** * Enqueue javascript. * * @since 1.0.0 * * @param string $keyword Name of the javascript. Should be unique. * @param array $path Relative path of the javascript with options for the WordPress root directory. * @param array $deps Optional. An array of registered javascript handles this stylesheet depends on. Default empty array. * @param bool $no_prefix Optional. Set the plugin prefix with asset handle name is or not. * * @return void */ public static function enqueue_script(string $keyword, array $path, array $deps = array(), bool $no_prefix = false) { } /** * Enqueue styles. * * @since 1.0.0 * * @param string $keyword Name of the stylesheet. Should be unique. * @param array $path Relative path of the stylesheet with options for the WordPress root directory. * @param array $deps Optional. An array of registered stylesheet handles this stylesheet depends on. Default empty array. * @param string $media Optional. The media for which this stylesheet has been defined. Default 'all'. * @param bool $no_prefix Optional. Set the plugin prefix with asset handle name is or not. * * @return void */ public static function enqueue_style(string $keyword, array $path, array $deps = array(), string $media = 'all', bool $no_prefix = false) { } /** * Register scripts for frontend and builder. * * @param string $handle The handle name. * @param array $path The script path url with options. * @param array $deps The script dependencies. * * @return void */ public static function register_script(string $handle, array $path, array $deps = array()) { } /** * Enqueue styles. * * @since 1.0.0 * * @param string $keyword Name of the stylesheet. Should be unique. * @param array $path Relative path of the stylesheet with options for the WordPress root directory. * @param array $deps Optional. An array of registered stylesheet handles this stylesheet depends on. Default empty array. * @param string $media Optional. The media for which this stylesheet has been defined. Default 'all'. * * @return void */ public static function register_style(string $keyword, array $path, array $deps = array(), string $media = 'all') { } /** * Get available script enqueue footer arguments. * * @since 1.0.0 * * @param string $strategy Optional. Script loading strategy. Accepts 'defer', 'async', or false. Default false. * * @return array{strategy?: string, in_footer?: bool} Array of script loading arguments. */ public static function footer_arguments($strategy = 'defer'): array { } } } namespace DiviSquad\Core\Traits\WP { /** * The Filesystem trait * * @since 3.2.0 * @package DiviSquad */ trait Use_WP_Filesystem { /** * Get the filesystem. * * @access protected * @return WP_Filesystem_Base */ public function get_wp_fs(): \WP_Filesystem_Base { } /** * Get the WordPress filesystem instance (static version). * * This static method provides access to the WordPress filesystem API without * requiring an instance of the class. It ensures the filesystem is properly * initialized before returning it. * * @since 3.4.0 * * @return WP_Filesystem_Base The WordPress filesystem instance. */ public static function get_wp_filesystem(): \WP_Filesystem_Base { } } } namespace DiviSquad\Utils\Media { /** * The Filesystem class. * * @since 3.0.0 * @deprecated 3.2.0 Use DiviSquad\Core\Traits\UseWPFilesystem instead * @package DiviSquad */ class Filesystem { use \DiviSquad\Core\Traits\WP\Use_WP_Filesystem; } } namespace DiviSquad\Core\Supports\Polyfills { /** * String Helper class. * * @since 1.2.3 * @package DiviSquad */ class Str { /** * Polyfill for `str_starts_with()` function added in PHP 8.0. * * Performs a case-sensitive check indicating if * the haystack begins with a needle. * * @param String $haystack The string to search in. * @param String $needle The substring to search for in the `$haystack`. * * @return bool True if `$haystack` starts with `$needle`, otherwise false. */ public static function starts_with(string $haystack, string $needle): bool { } /** * Polyfill for `str_ends_with()` function added in PHP 8.0. * * Performs a case-sensitive check indicating if * the haystack ends with a needle. * * @param string $haystack The string to search in. * @param string $needle The substring to search for in the `$haystack`. * * @return bool True if `$haystack` ends with `$needle`, otherwise false. */ public static function ends_with(string $haystack, string $needle): bool { } /** * Polyfill for `str_contains()` function added in PHP 8.0. * * Performs a case-sensitive check indicating if a needle is contained in a haystack. * * @param string $haystack The string to search in. * @param string $needle The substring to search for in the `$haystack`. * * @return bool True if `$needle` is in `$haystack`, otherwise false. */ public static function contains(string $haystack, string $needle): bool { } /** * Polyfill for `str_word_count()` function. * * Performs a case-sensitive check indicating if a needle is contained in a haystack. * * @param string $string_content The string. * @param int $format Specify the return value of this function, options are: 0, 1, 2. * @param string $characters The substring to search for in the `$haystack`. * * @return array|int|false True if `$needle` is in `$haystack`, otherwise false. */ public static function word_count(string $string_content, int $format = 0, string $characters = '') { } /** * Remove all `\t` and `\n` from the string content. * * @since SQUAD_MODULES_SINCE * * @param string $string_content The string content to remove new lines and tabs. * * @return array|string|string[] */ public static function remove_new_lines_and_tabs(string $string_content) { } } } namespace DiviSquad\Utils\Polyfills { /** * String Helper class. * * @since 1.2.3 * @deprecated 3.2.0 Use DiviSquad\Core\Supports\Polyfills\Str instead * @package DiviSquad */ class Str extends \DiviSquad\Core\Supports\Polyfills\Str { } } namespace DiviSquad\Utils { /** * Singleton trait. * * @since 1.0.0 * @deprecated 3.2.0 Use DiviSquad\Core\Traits\Singleton instead * @package DiviSquad */ trait Singleton { /** * The instance of the current class. * * @var self|null */ private static $instance = null; /** * Get the instance of the current class. * * @return self */ public static function get_instance() { } /** * Create an instance of the current class. * * @return self */ private static function create_instance() { } /** * Initialize the instance. */ protected function initialize() { } /** * Serializing instances of this class is forbidden. * * @access public * @since 1.0.0 */ public function __wakeup() { } /** * Cloning is forbidden. * * @access private * @since 1.0.0 */ private function __clone() { } } } namespace DiviSquad\Core\Contracts { /** * Hookable Interface * * This interface defines a contract for classes that need to register WordPress hooks * (actions and filters). Implementing classes must provide a method to register * their hooks with WordPress. * * @since 3.4.0 * @package DiviSquad */ interface Hookable { /** * Register hooks with WordPress. * * This method should contain all add_action() and add_filter() calls * that connect class methods to WordPress hooks. * * @since 3.4.0 * * @return void */ public function register_hooks(): void; } } namespace DiviSquad\Builder { /** * Module Assets Manager * * @since 3.3.0 */ class Assets implements \DiviSquad\Core\Contracts\Hookable { /** * Initialize the modules asset manager */ public function __construct() { } /** * Initialize hooks */ public function register_hooks(): void { } /** * Enqueue the Divi 5 module-library bundle in the Visual Builder. * * Runs on Divi 5's `divi_visual_builder_assets_after_enqueue_scripts` action so the * bundle loads after Divi's own module-library packages. The bundle registers Squad * module icons (and, from Phase 1 onward, the modules themselves) with Divi's library * via WordPress hooks. Dependencies and version come from the generated asset manifest. * * @since 3.4.0 * * @return void */ public function enqueue_builder_5_scripts(): void { } /** * Enqueue the Divi 5 module library stylesheet. * * The Divi 5 (block) build compiles each module's static SCSS into a single * `styles/vb-bundle.css`. It is loaded both in the Visual Builder and on the * frontend so module markup is styled in either context. * * @since 3.4.0 * * @return void */ public function enqueue_builder_5_styles(): void { } /** * Register module assets * * @param Assets_Manager $assets Assets manager instance. */ public function register(\DiviSquad\Core\Assets $assets): void { } /** * Enqueue frontend assets * * @param Assets_Manager $assets Assets manager instance. */ public function enqueue(\DiviSquad\Core\Assets $assets): void { } /** * Enqueue builder assets * * @param Assets_Manager $assets Assets manager instance. */ public function enqueue_builder(\DiviSquad\Core\Assets $assets): void { } /** * Register vendor scripts * * @param Assets_Manager $assets Assets manager instance. */ private function register_vendor_scripts(\DiviSquad\Core\Assets $assets): void { } /** * Register vendor styles * * @param Assets_Manager $assets Assets manager instance. */ private function register_vendor_styles(\DiviSquad\Core\Assets $assets): void { } /** * Register Magnific Popup * * @param Assets_Manager $assets Assets manager instance. */ private function register_magnific_popup(\DiviSquad\Core\Assets $assets): void { } /** * Register module-specific scripts * * @param Assets_Manager $assets Assets manager instance. */ private function register_module_scripts(\DiviSquad\Core\Assets $assets): void { } /** * Register module-specific styles * * @param Assets_Manager $assets Assets manager instance. */ public function register_module_styles(\DiviSquad\Core\Assets $assets): void { } /** * Enqueue form styles */ private function enqueue_form_styles(): void { } // Form plugin style registration methods. /** * Register Contact Form 7 styles */ private function enqueue_cf7_styles(): void { } /** * Register WPForms styles */ private function enqueue_wpforms_styles(): void { } /** * Register Gravity Forms styles */ private function enqueue_gravity_styles(): void { } /** * Register and enqueue legacy Gravity Forms styles. * * @since 3.0.0 * * @param string $base_url Base URL for Gravity Forms. * @param string $version Gravity Forms version. * @param string $min Minification suffix. */ protected function register_and_enqueue_gf_legacy_styles(string $base_url, string $version, string $min): void { } /** * Register and enqueue modern Gravity Forms styles. * * @since 3.0.0 * * @param string $base_url Base URL for Gravity Forms. * @param string $version Gravity Forms version. * @param string $min Minification suffix. */ protected function register_and_enqueue_gf_modern_styles(string $base_url, string $version, string $min): void { } /** * Register Ninja Forms styles */ private function register_ninja_styles(): void { } /** * Register Fluent Forms styles */ private function register_fluent_styles(): void { } /** * Register Forminator styles */ private function register_forminator_styles(): void { } /** * Register Formidable Forms styles. * * @since 3.4.0 * * @return void */ private function register_formidable_styles(): void { } /** * Register MetForm styles. * * @since 3.4.0 * * @return void */ private function register_metform_styles(): void { } /** * Register SureForms styles. * * @since 3.4.0 * * @return void */ private function register_sureforms_styles(): void { } /** * Enqueue common styles * * @param Assets_Manager $assets Assets manager instance. */ private function enqueue_common_styles(\DiviSquad\Core\Assets $assets): void { } } } namespace DiviSquad\Builder\Shared\Modules\Content\Hover_Box { /** * Hover Box helper. * * @since 4.2.0 */ final class Hoverbox_Helper { /** * Whether an image hover-effect token is in the allowlist. * * Allowlist: none, zoom-in, zoom-out, grayscale, blur, rotate. * * @since 4.2.0 * * @param string $fx Image hover effect token. * * @return bool */ public static function is_valid_fx(string $fx): bool { } /** * Whether an overlay animation token is in the allowlist. * * Allowlist: fade, slide-up, slide-down, slide-left, slide-right, zoom. * * @since 4.2.0 * * @param string $anim Overlay animation token. * * @return bool */ public static function is_valid_anim(string $anim): bool { } /** * Whether a content vertical-alignment token is in the allowlist. * * Allowlist: top, center, bottom. * * @since 4.2.0 * * @param string $valign Vertical alignment token. * * @return bool */ public static function is_valid_valign(string $valign): bool { } /** * Map a valign token to a CSS `align-items` / `justify-content` value. * * - top → flex-start * - center → center * - bottom → flex-end * - unknown → center (safe fallback) * * @since 4.2.0 * * @param string $valign Vertical alignment token. * * @return string CSS flex value. */ public static function valign_value(string $valign): string { } /** * Build the rel attribute value for the overlay button link. * * Returns `noopener noreferrer` when `$new_window` is true (prevents * tab-napping on target="_blank"). Returns empty string otherwise. * No raw user-supplied rel tokens — this is the only rel source. * * @since 4.2.0 * * @param bool $new_window Whether the button opens in a new tab. * * @return string Space-joined rel tokens, or '' when no tokens apply. */ public static function build_rel(bool $new_window): string { } /** * Build the `.squad-hoverbox` shell shared with the Divi 5 render. * * SECURITY CONTRACT: * - $image_src → esc_url; $image_alt → esc_attr. * - $persistent_title, $title, $button_text → esc_html. * - $content_body → wp_kses_post. * - $button_url → esc_url. * - $icon_html → caller passes pre-escaped markup via wp_kses_post. * - $image_hover_fx, $overlay_animation, $content_valign → validated against allowlists before call. * - rel → built ONLY from self::build_rel (no raw user rel). * * Modifier classes on the INNER .squad-hoverbox div, NOT the ET wrapper. * * @since 4.2.0 * * @param string $image_src Image URL (empty = no ). * @param string $image_alt Alt text for image. * @param string $image_hover_fx Pre-validated fx token (none|zoom-in|zoom-out|grayscale|blur|rotate). * @param string $persistent_title Always-visible title (empty = omit layer). * @param bool $use_icon Whether an icon should be shown. * @param string $icon_html Pre-rendered icon markup (empty = omit). * @param string $title Overlay title (empty = omit). * @param string $content_body Overlay body text (empty = omit). * @param string $button_text Button label (empty = omit button unless url present). * @param string $button_url Button URL (empty = non-link span). * @param bool $button_new_window Open button link in new tab. * @param string $overlay_animation Pre-validated animation token. * @param string $content_valign Pre-validated valign token. * * @return string Rendered HTML. */ public static function build_shell(string $image_src, string $image_alt, string $image_hover_fx, string $persistent_title, bool $use_icon, string $icon_html, string $title, string $content_body, string $button_text, string $button_url, bool $button_new_window, string $overlay_animation, string $content_valign): string { } /** * Sanitize a CSS background/color value. * * Strips characters that could break out of the CSS declaration context * (`{ } ; < > \ " '`). NEVER use esc_attr on a CSS value. * * @since 4.2.0 * * @param string $value Raw value. * * @return string Sanitized value (may be empty). */ public static function sanitize_css_background(string $value): string { } /** * Validate a CSS length value. * * Accepts a positive number followed by a valid CSS unit. Returns '' if * the value does not match — making the declaration a no-op rather than * injecting unsafe content into the stylesheet. * * @since 4.2.0 * * @param string $value Raw value. * * @return string Validated value, or '' if invalid. */ public static function sanitize_css_length(string $value): string { } } } namespace DiviSquad\Builder\Shared\Modules\Content\Social_Share { /** * Social Share Networks registry. * * @since 4.0.0 */ final class Networks { /** * The network registry. * * @since 4.0.0 * * @return array */ public static function get_networks(): array { } /** * Whether a network slug is in the allowlist. * * @since 4.0.0 * * @param string $slug Network slug. * * @return bool */ public static function is_valid(string $slug): bool { } /** * Whether a slug is the special `email` network (no _blank, no popup). * * @since 4.0.0 * * @param string $slug Network slug. * * @return bool */ public static function is_email(string $slug): bool { } /** * Get a single network's metadata, or null for an unknown slug. * * @since 4.0.0 * * @param string $slug Network slug. * * @return array{label: string, template: string, icon: string, color: string}|null */ public static function get_network(string $slug): ?array { } /** * Build a share URL for a network. * * Validates the slug against the allowlist; returns '' for unknown slugs so * callers can skip rendering. The url/title are rawurlencode()-d into the * network's sprintf template. The returned value is NOT yet escaped for * output — callers MUST wrap it in esc_url(). * * @since 4.0.0 * * @param string $slug Network slug. * @param string $url Share target URL (caller should esc_url_raw() it first). * @param string $title Share title/text. * * @return string The built (unescaped) share URL, or '' if the slug is unknown. */ public static function build_share_url(string $slug, string $url, string $title): string { } } } namespace DiviSquad\Builder\Shared\Modules\Creative\Advanced_Button { /** * Advanced Button helper. * * @since 4.1.0 */ final class Button_Helper { /** * Build the rel attribute value for the button link. * * Returns a space-joined string of rel tokens: * - `noopener noreferrer` are added only when `$new_window` is true (prevents * tab-napping on target="_blank"). * - `nofollow` is appended when `$nofollow` is true. * - Returns empty string when neither applies (caller omits the attribute). * * Order: `noopener noreferrer nofollow`. * * @since 4.1.0 * * @param bool $new_window Whether the link opens in a new window/tab. * @param bool $nofollow Whether to append nofollow. * * @return string Space-joined rel tokens, or '' when no tokens apply. */ public static function build_rel(bool $new_window, bool $nofollow): string { } /** * Whether an icon placement token is in the allowlist. * * Allowlist: left, right, top, bottom. * * @since 4.1.0 * * @param string $placement Icon placement token. * * @return bool */ public static function is_valid_placement(string $placement): bool { } /** * Whether a hover effect token is in the allowlist. * * Allowlist: none, bg-slide, lift, scale, border. * * @since 4.1.0 * * @param string $hover Hover effect token. * * @return bool */ public static function is_valid_hover(string $hover): bool { } /** * Build the `.squad-advanced-button` shell shared with the Divi 5 render. * * Emits a link (``) variant when `$button_url` is non-empty, or a `` * non-link variant when URL is empty — both carry `et_pb_button` so Divi's * native button styling applies. The `rel` attribute is emitted ONLY when * non-empty and ONLY on the link variant. `target="_blank"` is paired with * `noopener noreferrer` via self::build_rel. * * SECURITY CONTRACT: * - `$button_text` / `$sub_text` → esc_html before output. * - `$button_url` → esc_url before output. * - `$rel` → built ONLY from the boolean flags via self::build_rel. * - `$icon_html` → caller passes pre-escaped markup via wp_kses_post. * - `$icon_placement` / `$hover_effect` → validated against allowlists before call. * * @since 4.1.0 * * @param string $button_text Primary button label (will be esc_html'd). * @param string $sub_text Sub-text (empty = omitted). Will be esc_html'd. * @param string $button_url URL (empty = non-link span variant). * @param bool $url_new_window Open in new tab. * @param bool $add_nofollow Append nofollow to rel. * @param bool $use_icon Whether an icon is shown. * @param string $icon_html Pre-rendered icon markup (empty when no icon). * @param string $icon_placement left|right|top|bottom (pre-validated). * @param bool $icon_on_hover Whether icon is hidden until hover. * @param string $hover_effect none|bg-slide|lift|scale|border (pre-validated). * * @return string Rendered HTML. */ public static function build_shell(string $button_text, string $sub_text, string $button_url, bool $url_new_window, bool $add_nofollow, bool $use_icon, string $icon_html, string $icon_placement, bool $icon_on_hover, string $hover_effect): string { } /** * Sanitize a CSS background/color value. * * Strips characters that could break out of the CSS declaration context * (`{ } ; < > \ " '`). NEVER use esc_attr on a CSS value. * * @since 4.1.0 * * @param string $value Raw value. * * @return string Sanitized value (may be empty). */ public static function sanitize_css_background(string $value): string { } } } namespace DiviSquad\Builder\Shared\Modules\Creative\Advanced_Video { /** * Advanced Video helper. * * @since 4.1.0 */ final class Video_Helper { /** * Whether a source token is in the allowlist. * * @since 4.1.0 * * @param string $source Source token. * * @return bool */ public static function is_valid_source(string $source): bool { } /** * Whether a display token is in the allowlist. * * @since 4.1.0 * * @param string $display Display token. * * @return bool */ public static function is_valid_display(string $display): bool { } /** * Whether an aspect-ratio token is in the allowlist. * * @since 4.1.0 * * @param string $aspect Aspect token. * * @return bool */ public static function is_valid_aspect(string $aspect): bool { } /** * Map an aspect token to its CSS `aspect-ratio` value. * * Unknown tokens fall back to `16 / 9`. * * @since 4.1.0 * * @param string $aspect Aspect token. * * @return string */ public static function aspect_value(string $aspect): string { } /** * Whether a sticky-position token is in the allowlist. * * @since 4.1.0 * * @param string $position Position token. * * @return bool */ public static function is_valid_sticky_position(string $position): bool { } /** * Extract the platform video id from a user-supplied URL (or bare id). * * Returns '' when nothing valid is found, or for the `self` source. * * @since 4.1.0 * * @param string $source Source token. * @param string $url Raw URL or id. * * @return string */ public static function extract_id(string $source, string $url): string { } /** * Build a player embed URL from a validated id + int-only param whitelist. * * Returns '' for the `self` source or an empty id. autoplay implies mute * (browser autoplay policy). `end` is emitted only when greater than `start`. * * @since 4.1.0 * * @param string $source Source token. * @param string $id Extracted video id. * @param array $args Player args: autoplay/muted/loop/controls (on/off), start/end (int). * * @return string */ public static function build_embed_url(string $source, string $id, array $args): string { } /** * Clamp a raw time value to a non-negative int. Non-numeric → 0. * * @since 4.1.0 * * @param mixed $raw Raw value. * * @return int */ public static function clamp_time($raw): int { } /** * Map an on/off toggle to 1/0. * * @since 4.1.0 * * @param string $val Toggle value. * * @return int */ public static function bool_param(string $val): int { } /** * Resolve raw props into the validated config consumed by build_shell(). * * Shared by the D4 render() and the D5 render_callback(). * * @since 4.1.0 * * @param array $raw Raw values (snake_case). * * @return array */ public static function resolve_config(array $raw): array { } /** * Build the `.squad-video` shell shared with the Divi 5 render. * * @since 4.1.0 * * @param array $config Resolved config (from resolve_config()). * * @return string */ public static function build_shell(array $config): string { } /** * Direct player markup for inline-no-poster rendering. * * @since 4.1.0 * * @param array $config Resolved config. * * @return string */ public static function player_html(array $config): string { } /** * Allowlisted play-icon SVG. Unknown ids fall back to `circle`. * * @since 4.1.0 * * @param string $icon Icon id. * * @return string */ public static function play_icon_svg(string $icon): string { } } } namespace DiviSquad\Builder\Shared\Modules\Creative\Animated_Heading { /** * Animated Heading helper. * * @since 4.1.0 */ final class Heading_Helper { /** * Whether an effect token is in the allowlist. * * Allowlist: fade, slide, scale, flip. * * @since 4.1.0 * * @param string $effect Effect token. * * @return bool */ public static function is_valid_effect(string $effect): bool { } /** * Whether a granularity token is in the allowlist. * * Allowlist: word, letter. * * @since 4.1.0 * * @param string $granularity Granularity token. * * @return bool */ public static function is_valid_granularity(string $granularity): bool { } /** * Whether an HTML tag is in the allowed heading-tag allowlist. * * Allowed: h1, h2, h3, h4, h5, h6, p, span, div. * * @since 4.1.0 * * @param string $tag Tag name (lowercase). * * @return bool */ public static function is_valid_tag(string $tag): bool { } /** * Whether an easing token is in the allowlist. * * Allowlist: linear, ease, ease-in, ease-out, ease-in-out, smooth. * * @since 4.1.0 * * @param string $easing Easing token. * * @return bool */ public static function is_valid_easing(string $easing): bool { } /** * Map an easing token to its CSS timing-function value. * * The five native CSS keywords map to themselves; `smooth` maps to a gentle * symmetric cubic-bezier; any unknown token falls back to `ease-in-out`. * * @since 4.1.0 * * @param string $easing Easing token. * * @return string CSS timing-function value. */ public static function easing_value(string $easing): string { } /** * Parse the raw rotating-text textarea into a clean list of words. * * Splits on any newline form (CRLF, CR, LF), trims each line, drops empty * lines, and re-indexes. Returns [] for empty/whitespace-only input. * * @since 4.1.0 * * @param string $raw Raw textarea value. * * @return array */ public static function parse_words(string $raw): array { } /** * Build the `.squad-anim-heading` shell shared with the Divi 5 render. * * - prefix / suffix spans omitted when empty. * - rotator omitted entirely when there are no words after parsing. * - first word carries `is-active` (no-JS / first paint shows it). * - letter granularity splits each word into `__char` spans carrying a * `--squad-ah-char` index (a literal space becomes a non-breaking space). * - effect + granularity modifier classes live on the inner heading element. * - tag validated against the allowlist. * * @since 4.1.0 * * @param array $config Resolved config. * * @return string */ public static function build_shell(array $config): string { } /** * Split a word into per-character spans for letter granularity. * * Each char carries a 0-based `--squad-ah-char` index (consumed by the CSS * stagger). A literal space renders as a non-breaking space so spacing is * preserved. mb-safe. * * @since 4.1.0 * * @param string $word Single word/phrase. * * @return string */ public static function build_letters(string $word): string { } } } namespace DiviSquad\Builder\Shared\Modules\Creative\Floating_Images { /** * Floating Images helper. * * @since 4.1.0 */ final class Float_Helper { /** * Whether a motion token is in the allowlist. * * Allowlist: up-down, left-right, diagonal, rotate. * * @since 4.1.0 * * @param string $motion Motion token. * * @return bool */ public static function is_valid_motion(string $motion): bool { } /** * Whether an easing token is in the allowlist. * * Allowlist: linear, ease, ease-in, ease-out, ease-in-out, smooth. * * @since 4.1.0 * * @param string $easing Easing token. * * @return bool */ public static function is_valid_easing(string $easing): bool { } /** * Map an easing token to its CSS timing-function value. * * The five native CSS keywords map to themselves; `smooth` maps to a gentle * symmetric cubic-bezier; any unknown token falls back to `ease-in-out`. * * @since 4.1.0 * * @param string $easing Easing token. * * @return string CSS timing-function value. */ public static function easing_value(string $easing): string { } /** * Map a motion token to its CSS @keyframes name. * * Canonical motion → keyframe mapping, mirrored by the static SCSS that * binds each `.squad-floating__item--` modifier to its animation. * Unknown tokens fall back to the up-down keyframe. * * @since 4.1.0 * * @param string $motion Motion token. * * @return string Keyframe name. */ public static function keyframe_name(string $motion): string { } /** * Build the rel attribute value for a link. * * Returns `noopener noreferrer` when `$new_window` is true (prevents * tab-napping on target="_blank"). Returns empty string otherwise. * * @since 4.1.0 * * @param bool $new_window Whether the link opens in a new tab. * * @return string Space-joined rel tokens, or '' when no tokens apply. */ public static function build_rel(bool $new_window): string { } } } namespace DiviSquad\Builder\Shared\Modules\Creative\Image_Reveal { /** * Image Reveal helper. * * @since 4.1.0 */ final class Reveal_Helper { /** * Whether a trigger token is in the allowlist. * * Allowlist: scroll, hover. * * @since 4.1.0 * * @param string $trigger Trigger token. * * @return bool */ public static function is_valid_trigger(string $trigger): bool { } /** * Whether a reveal-style token is in the allowlist. * * Allowlist: overlay, clip. * * @since 4.1.0 * * @param string $style Style token. * * @return bool */ public static function is_valid_style(string $style): bool { } /** * Whether a direction token is in the allowlist. * * Allowlist: ltr, rtl, ttb, btt. * * @since 4.1.0 * * @param string $direction Direction token. * * @return bool */ public static function is_valid_direction(string $direction): bool { } /** * Whether an easing token is in the allowlist. * * Allowlist: linear, ease, ease-in, ease-out, ease-in-out, smooth. * * @since 4.1.0 * * @param string $easing Easing token. * * @return bool */ public static function is_valid_easing(string $easing): bool { } /** * Map an easing token to its CSS timing-function value. * * The five native CSS keywords map to themselves; `smooth` maps to a gentle * symmetric cubic-bezier; any unknown token falls back to `ease-in-out`. * * @since 4.1.0 * * @param string $easing Easing token. * * @return string CSS timing-function value. */ public static function easing_value(string $easing): string { } /** * Clamp a raw viewport-threshold value into the 1..100 range. * * Non-numeric / empty / null input falls back to 50. Numeric input is cast * to int then clamped. (Explicit is_numeric guard — never `intval(...) ||`, * which would wrongly treat a legitimate small value path.) * * @since 4.1.0 * * @param mixed $raw Raw value. * * @return int Threshold in 1..100. */ public static function clamp_threshold($raw): int { } /** * Build the rel attribute value for the optional link wrapper. * * @since 4.1.0 * * @param string $new_window Whether the link opens in a new window ('on'/'off'). * * @return string|null `noopener noreferrer` when new window, otherwise null. */ public static function build_rel(string $new_window): ?string { } /** * Build the `.squad-image-reveal` shell shared by the Divi 4 and Divi 5 renders. * * Returns '' when the image URL is empty. Overlay span emitted only for the * overlay style; link wrapper + target/rel only when a link URL is present; * all tokens validated against the allowlist before entering markup. * * @since 4.1.0 * * @param array $config Resolved config. * * @return string */ public static function build_shell(array $config): string { } } } namespace DiviSquad\Builder\Shared\Modules\Creative\Inline_Content { /** * Inline Content helper. * * @since 4.1.0 */ final class Inline_Helper { /** * Whether a content type token is in the allowlist. * * Allowlist: text, icon, image, button, divider. * * @since 4.1.0 * * @param string $type Content type token. * * @return bool */ public static function is_valid_type(string $type): bool { } /** * Whether a horizontal alignment token is in the allowlist. * * Allowlist: left, center, right, between. * * @since 4.1.0 * * @param string $align Alignment token. * * @return bool */ public static function is_valid_align(string $align): bool { } /** * Whether a vertical alignment token is in the allowlist. * * Allowlist: top, center, baseline, bottom. * * @since 4.1.0 * * @param string $valign Vertical alignment token. * * @return bool */ public static function is_valid_valign(string $valign): bool { } /** * Map a content_alignment value to its CSS justify-content equivalent. * * | align | CSS value | * |---------|-----------------| * | left | flex-start | * | center | center | * | right | flex-end | * | between | space-between | * | unknown | flex-start | * * @since 4.1.0 * * @param string $align Alignment token. * * @return string CSS justify-content value. */ public static function align_value(string $align): string { } /** * Map a vertical_align value to its CSS align-items equivalent. * * | valign | CSS value | * |----------|-------------| * | top | flex-start | * | center | center | * | baseline | baseline | * | bottom | flex-end | * | unknown | center | * * @since 4.1.0 * * @param string $valign Vertical alignment token. * * @return string CSS align-items value. */ public static function valign_value(string $valign): string { } /** * Build the rel attribute value for a link. * * Returns `noopener noreferrer` when `$new_window` is true (prevents * tab-napping on target="_blank"). Returns empty string otherwise. * * @since 4.1.0 * * @param bool $new_window Whether the link opens in a new tab. * * @return string Space-joined rel tokens, or '' when no tokens apply. */ public static function build_rel(bool $new_window): string { } } } namespace DiviSquad\Builder\Shared\Modules\Creative\Number_Counter { /** * Number Counter helper. * * @since 4.0.0 */ final class Counter_Helper { /** * Format a numeric value into the displayed string. * * Fixes the value to `$decimals` places, groups the integer part in 3s with * `$thousands_sep`, and joins the fraction with `$decimal_sep`. Negative * values keep their sign on the digits; a value that rounds to zero is * never rendered with a sign. Mirrors the JS `formatNumber` exactly. * * @since 4.0.0 * * @param float $value Raw numeric value. * @param int $decimals Decimal places (assumed already clamped 0–4). * @param string $thousands_sep Thousands separator char (may be empty). * @param string $decimal_sep Decimal separator char. * * @return string */ public static function format_number(float $value, int $decimals, string $thousands_sep, string $decimal_sep): string { } /** * Whether an easing token is in the allowlist. * * @since 4.0.0 * * @param string $easing Easing token. * * @return bool */ public static function is_valid_easing(string $easing): bool { } /** * Map a thousands-separator key to its character. * * @since 4.0.0 * * @param string $key none|comma|dot|space. * * @return string */ public static function separator_char(string $key): string { } /** * Map a decimal-separator key to its character. * * @since 4.0.0 * * @param string $key dot|comma. * * @return string */ public static function decimal_char(string $key): string { } /** * Build the `.squad-counter` shell shared with the Divi 5 render. * * Emits the formatted END value (no-JS/SEO sees the real final number) plus * the data-* config the frontend engine reads. * * @since 4.0.0 * * @param array $config Resolved data-* config (start/end/duration/easing/separator/decimal_sep/decimals). * @param string $use_media none|icon|image. * @param string $media_position above|left|right. * @param string $title Title text. * @param string $title_position above|below. * @param string $prefix Prefix text. * @param string $suffix Suffix text. * @param string $media_html Pre-rendered, escaped media markup (may be empty). * * @return string */ public static function build_shell(array $config, string $use_media, string $media_position, string $title, string $title_position, string $prefix, string $suffix, string $media_html): string { } } } namespace DiviSquad\Builder\Shared\Modules\Creative\Table_Of_Contents { /** * Table of Contents helper. * * @since 4.0.0 */ final class Toc_Helper { /** * Slugify a heading's text into an anchor-id-safe string. * * Lowercases, strips tags, turns every run of non-alphanumeric ASCII into a * single dash, trims leading/trailing dashes, and falls back to `section` * for empty results. * * @since 4.0.0 * * @param string $text Raw heading text (may contain HTML). * * @return string */ public static function slugify(string $text): string { } /** * Ensure an id is unique against a running set of seen ids. * * Returns `$base` the first time, then `$base-2`, `$base-3`, … on collision. * Records the returned id in `$seen` by reference. * * @since 4.0.0 * * @param string $base Base slug. * @param array $seen Seen ids (passed by reference). * * @return string */ public static function dedupe_id(string $base, array &$seen): string { } /** * Resolve the selected heading levels from the include_h1..h6 props. * * Reads `include_h1`..`include_h6` (`'on'`/`'off'`) into an ordered int list * (e.g. `[2, 3, 4]`). When nothing is selected, defaults to `[2, 3, 4]`. * * @since 4.0.0 * * @param array $props Module props. * * @return array */ public static function selected_levels(array $props): array { } /** * Whether a tag is a valid heading tag (h1–h6, lowercase). * * @since 4.0.0 * * @param string $tag Tag name. * * @return bool */ public static function is_valid_tag(string $tag): bool { } /** * Build the `.squad-toc` config shell shared with the Divi 5 render. * * @since 4.0.0 * * @param array $config Resolved data-* config. * @param string $list ordered|unordered|none. * @param bool $sticky Whether sticky is enabled. * @param bool $collapsible Whether collapsible is enabled. * @param string $show_title on|off. * @param string $title Title text. * @param string $title_tag Title tag (validated). * * @return string */ public static function build_shell(array $config, string $list, bool $sticky, bool $collapsible, string $show_title, string $title, string $title_tag): string { } } } namespace DiviSquad\Builder\Shared\Modules\Creative\Text_Highlighter { /** * Text Highlighter helper. * * @since 4.0.0 */ final class Highlight_Helper { /** * Return the full SVG shape registry (8 shapes). * * Each entry is `{ viewBox: string, path: string }` — a single hand-drawn-style * SVG path designed for `preserveAspectRatio="none"` stretch across the word. * All paths are fill=none strokeable paths so pathLength="1" draws cleanly. * * @since 4.0.0 * * @return array */ public static function get_shapes(): array { } /** * Return one shape by slug; falls back to `underline` for unknown slugs. * * @since 4.0.0 * * @param string $type Shape slug. * * @return array{viewBox: string, path: string} */ public static function get_shape(string $type): array { } /** * Whether a highlight type slug is in the allowlist. * * @since 4.0.0 * * @param string $type Highlight type slug. * * @return bool */ public static function is_valid_type(string $type): bool { } /** * Whether an HTML tag is in the allowed heading-tag allowlist. * * Allowed: h1, h2, h3, h4, h5, h6, p, span, div. * * @since 4.0.0 * * @param string $tag Tag name (lowercase). * * @return bool */ public static function is_valid_tag(string $tag): bool { } /** * Build the `.squad-highlight` shell shared with the Divi 5 render. * * - `prefix` / `suffix` spans omitted when empty. * - `__mark` + SVG omitted entirely when `highlighted` is empty. * - `--animate` class added only when animate=on. * - `--loop` class added only when animate=on AND anim_loop=on. * - When animate=off the SVG is still rendered (fully drawn, static via CSS). * - Gradient `` injected inside `` when use_gradient=on. * - SVG viewBox and path come ONLY from self::get_shape(). * - Colors are sanitized via sanitize_css_background(); tag validated against allowlist. * * @since 4.0.0 * * @param array $config Resolved config. * * @return string */ public static function build_shell(array $config): string { } /** * Sanitize a CSS color/background value. * * Strips characters that could break out of a CSS declaration context. * NEVER use esc_attr on a CSS value. * * @since 4.0.0 * * @param string $value Raw value. * * @return string Sanitized value (may be empty). */ public static function sanitize_css_background(string $value): string { } } } namespace DiviSquad\Builder\Shared\Supports\Module_Utilities { /** * Breadcrumbs Utils Helper Class * * @since 1.5.0 * @package DiviSquad */ class Breadcrumbs { /** * Function that generates the HTML from breadcrumbs. * * @param string $_home_text The home text. * @param string $_before_text The before text for the titles. * @param string $_delimiter The separator. * * @return string */ public function get_hansel_and_gretel(string $_home_text = 'Home', string $_before_text = '', string $_delimiter = '9'): string { } } } namespace DiviSquad\Builder\Shared\Supports\Module_Utilities\Masking { /** * Decorations class for generating SVG decorative elements. * * @since 1.0.0 * @package DiviSquad */ class Decorations { /** * Get the SVG decoration element. * * @param string $decoration_id The ID of the decoration (e.g., 'lined-circle'). * @param string $class CSS class for styling. * * @return string SVG decoration content. */ public function get_decoration(string $decoration_id, string $class): string { } } /** * Mask Shape Element class * * @since 1.5.0 * @package DiviSquad */ class Shapes { use \DiviSquad\Core\Traits\WP\Use_WP_Filesystem; /** * Get the SVG mask shape based on the specified type and secondary shape option. * * @param string $type The shape type (e.g., 'shape-01'). * @param string $enable_secondary_shape Whether to include secondary shape ('on' or 'off'). * * @return string The SVG shape content. */ public function get_shape(string $type = 'shape-01', string $enable_secondary_shape = 'off'): string { } /** * Get the SVG content for shape-01. * * @param string $enable_secondary_shape Whether to include secondary shape ('on' or 'off'). * * @return string The SVG shape content. */ protected function get_shape_01(string $enable_secondary_shape): string { } /** * Get the SVG content for shape-02. * * @param string $enable_secondary_shape Whether to include secondary shape ('on' or 'off'). * * @return string The SVG content for shape-02. */ protected function get_shape_02(string $enable_secondary_shape): string { } /** * Get the SVG content for shape-03. * * @param string $enable_secondary_shape Whether to include secondary shape ('on' or 'off'). * * @return string The SVG content for shape-03. */ protected function get_shape_03(string $enable_secondary_shape): string { } /** * Get the SVG content for shape-04. * * @param string $enable_secondary_shape Whether to include secondary shape ('on' or 'off'). * * @return string The SVG content for shape-04. */ protected function get_shape_04(string $enable_secondary_shape): string { } /** * Get the SVG content for shape-05. * * @param string $enable_secondary_shape Whether to include secondary shape ('on' or 'off'). * * @return string The SVG content for shape-05. */ protected function get_shape_05(string $enable_secondary_shape): string { } /** * Get the SVG content for shape-06. * * @param string $enable_secondary_shape Whether to include secondary shape ('on' or 'off'). * * @return string The SVG content for shape-06. */ protected function get_shape_06(string $enable_secondary_shape): string { } /** * Get the SVG content for shape-07. * * @param string $enable_secondary_shape Whether to include secondary shape ('on' or 'off'). * * @return string The SVG content for shape-07. */ protected function get_shape_07(string $enable_secondary_shape): string { } /** * Get the SVG content for shape-08. * * @param string $enable_secondary_shape Whether to include secondary shape ('on' or 'off'). * * @return string The SVG content for shape-08. */ protected function get_shape_08(string $enable_secondary_shape): string { } /** * Get the SVG content for shape-09. * * @param string $enable_secondary_shape Whether to include secondary shape ('on' or 'off'). * * @return string The SVG content for shape-09. */ protected function get_shape_09(string $enable_secondary_shape): string { } /** * Get the SVG content for shape-10. * * @param string $enable_secondary_shape Whether to include secondary shape ('on' or 'off'). * * @return string The SVG content for shape-10. */ protected function get_shape_10(string $enable_secondary_shape): string { } /** * Get the SVG content for shape-11. * * @param string $enable_secondary_shape Whether to include secondary shape ('on' or 'off'). * * @return string The SVG content for shape-11. */ protected function get_shape_11(string $enable_secondary_shape): string { } /** * Get the SVG content for shape-12. * * @param string $enable_secondary_shape Whether to include secondary shape ('on' or 'off'). * * @return string The SVG content for shape-12. */ protected function get_shape_12(string $enable_secondary_shape): string { } /** * Get the SVG content for shape-13. * * @param string $enable_secondary_shape Whether to include secondary shape ('on' or 'off'). * * @return string The SVG content for shape-13. */ protected function get_shape_13(string $enable_secondary_shape): string { } /** * Get the SVG content for shape-14. * * @param string $enable_secondary_shape Whether to include secondary shape ('on' or 'off'). * * @return string The SVG content for shape-14. */ protected function get_shape_14(string $enable_secondary_shape): string { } /** * Get the SVG content for shape-15. * * @param string $enable_secondary_shape Whether to include secondary shape ('on' or 'off'). * * @return string The SVG content for shape-15. */ protected function get_shape_15(string $enable_secondary_shape): string { } /** * Get the SVG content for shape-16. * * @param string $enable_secondary_shape Whether to include secondary shape ('on' or 'off'). * * @return string The SVG content for shape-16. */ protected function get_shape_16(string $enable_secondary_shape): string { } /** * Get the SVG content for shape-17. * * @param string $enable_secondary_shape Whether to include secondary shape ('on' or 'off'). * * @return string The SVG content for shape-17. */ protected function get_shape_17(string $enable_secondary_shape): string { } /** * Get the SVG content for shape-18. * * @param string $enable_secondary_shape Whether to include secondary shape ('on' or 'off'). * * @return string The SVG content for shape-18. */ protected function get_shape_18(string $enable_secondary_shape): string { } /** * Get the SVG content for shape-19. * * @param string $enable_secondary_shape Whether to include secondary shape ('on' or 'off'). * * @return string The SVG content for shape-19. */ public function get_shape_19(string $enable_secondary_shape = 'off'): string { } /** * Get the SVG content for shape-20. * * @param string $enable_secondary_shape Whether to include secondary shape ('on' or 'off'). * * @return string The SVG content for shape-20. */ public function get_shape_20(string $enable_secondary_shape = 'off'): string { } } } namespace DiviSquad\Builder\Utils\Elements { /** * Custom Fields Utils Helper Class * * This class acts as a central registry and manager for custom fields * functionality within Divi modules. * * @since 3.1.0 * @package DiviSquad */ class Custom_Fields { /** * Processor type constants. * * These constants define the different types of processors used by the Custom Fields system. * * @since 3.1.0 * @var string */ public const PROCESSOR_COLLECTIONS = 'collections'; public const PROCESSOR_DEFINITIONS = 'definitions'; public const PROCESSOR_MANAGERS = 'managers'; /** * Field type constants. * * These constants define the supported field type identifiers. * * @since 3.1.0 * @var string */ public const FIELD_WORDPRESS = 'custom_fields'; public const FIELD_ACF = 'acf_fields'; /** * Manager type constants. * * These constants define the available manager types. * * @since 3.1.0 * @var string */ public const MANAGER_FIELDS = 'fields'; public const MANAGER_UPGRADES = 'upgrades'; /** * Supported post types for custom fields. * * @since 3.1.0 * @var array Array of post type names. */ protected array $post_types = array('post'); /** * Runtime data storage for caching instances and data. * * Stores processor instances, field options, field definitions, * and manager objects for performance optimization. * * @since 3.1.0 * @var array> Structured array of cached data. */ protected array $storage = array( 'instances' => array(), // Processor class instances. 'options' => array(), // Field options cache. 'definitions' => array(), // Field definitions cache. 'managers' => array(), ); /** * Processor class registry for various types of processors. * * Maps processor types and field types to their implementing classes. * * @since 3.1.0 * @var array> Multi-dimensional array of processor classes. */ protected array $processor_registry = array(); /** * Constructor for Custom_Fields class. * * Initializes the processor registry with default values. * * @since 3.1.0 */ public function __construct() { } /** * Initialize the processor registry with their default values. * * @return void */ protected function initialize_processor_registry(): void { } /** * Initialize the Custom_Fields class. * * Sets up the fields manager and fires initialization hooks. * * @since 3.1.0 * * @return void */ public function init(): void { } /** * Add a new processor to the processor registry. * * @since 3.1.0 * * @param string $processor_type The processor type (collections, definitions, managers). * @param string $field_type The field type identifier. * @param class-string $class_name The fully qualified class name. * * @return bool True if the processor was added successfully, false otherwise. */ public function add_processor(string $processor_type, string $field_type, string $class_name): bool { } /** * Remove a processor from the processor registry. * * @since 3.1.0 * * @param string $processor_type The processor type (collections, definitions, managers). * @param string $field_type The field type identifier. * * @return bool True if the processor was removed successfully, false otherwise. */ public function remove_processor(string $processor_type, string $field_type): bool { } /** * Get all processors of a specific type. * * @param string $processor_type The processor type (collections, definitions, managers). * * @return array The processors of the specified type. */ public function get_processors_by_type(string $processor_type): array { } /** * Get a specific processor class. * * @param string $processor_type The processor type (collections, definitions, managers). * @param string $field_type The field type identifier. * * @return string|null The processor class name or null if not found. */ public function get_processor(string $processor_type, string $field_type): ?string { } /** * Check if a processor exists. * * @param string $processor_type The processor type (collections, definitions, managers). * @param string $field_type The field type identifier. * * @return bool Whether the processor exists. */ public function has_processor(string $processor_type, string $field_type): bool { } /** * Get all fields of a specific type. * * Retrieves custom fields for a specified post using the appropriate processor. * * @since 3.1.0 * * @param string $field_type The field type (acf, WordPress, etc.). * @param int $post_id The current post id. * * @return array Array of custom fields with their values. * @throws InvalidArgumentException If the field type is not supported. */ public function get_fields(string $field_type, int $post_id): array { } /** * Get module definitions for module usages * * @param string $field_type The field type (acf, WordPress, etc.). * * @return array * @throws InvalidArgumentException If the field type is not supported. */ public function get_definitions(string $field_type): array { } /** * Get a manager instance of a specific type. * * @param string $manager_type The manager type (fields, upgrades, etc.). * @param array $args Optional. Arguments to pass to the manager constructor. * * @return Custom_Fields\Manager_Interface The manager instance. * @throws InvalidArgumentException If the manager type is not supported. */ public function get_manager(string $manager_type, array $args = array()): \DiviSquad\Builder\Utils\Elements\Custom_Fields\Manager_Interface { } /** * Get supported post types. * * @return array */ public function get_supported_post_types(): array { } /** * Fetch fields of a specific type. * * @param string $field_type The field type (acf, WordPress, etc.). * @param string $storage The storage type (collections, definitions, managers). * * @return Custom_Fields\Collection_Interface|Custom_Fields\Definition_Interface|Custom_Fields\Manager_Interface * @throws InvalidArgumentException If the field type is not supported. */ public function get(string $field_type, string $storage = self::PROCESSOR_COLLECTIONS): object { } /** * Register custom field types and processors * * @param string $field_type The field type to register. * @param class-string $collections_class The class for collections processing. * @param class-string $definitions_class The class for definitions processing. * * @return bool Whether the registration was successful. */ public function register_field_type(string $field_type, string $collections_class, string $definitions_class): bool { } /** * Register a manager type. * * @param string $manager_type The manager type identifier. * @param class-string $manager_class The class for manager implementation. * * @return bool Whether the registration was successful. */ public function register_manager_type(string $manager_type, string $manager_class): bool { } /** * Clear cached data for a specific field type and post. * * @param string|null $field_type The field type to clear. * @param int|null $post_id The post ID to clear cache for. * * @return void */ public function clear_cache(?string $field_type = null, ?int $post_id = null): void { } /** * Clear manager cache for a specific manager type. * * @param string|null $manager_type The manager type to clear or null for all managers. * * @return void */ public function clear_manager_cache(?string $manager_type = null): void { } } } namespace DiviSquad\Builder\Utils\Elements\Custom_Fields { /** * Custom Field Collection Interface * * This interface establishes the contract for all classes that collect and manage * custom fields from various sources (WordPress, ACF, etc). * * @since 3.1.0 * @package DiviSquad */ interface Collection_Interface { /** * Determines if this collection processor is eligible to run. * * For example, ACF fields processor would return false if ACF plugin is not active. * * @since 3.1.0 * * @return bool Whether this collection processor can be used. */ public function is_eligible(): bool; /** * Retrieves and formats a list of available custom fields. * * @since 3.1.0 * * @return array> An array where keys are post types and values are arrays * where keys are field identifiers and values are human-readable names. */ public function get_formatted_fields(): array; /** * Retrieves all custom fields for a specific post. * * @since 3.1.0 * * @param int $post_id The ID of the post. * * @return array An array of custom fields, where keys are field names and values are field values. */ public function get_fields(int $post_id): array; /** * Determines if a post has a specific custom field. * * @since 3.1.0 * * @param int $post_id The ID of the post to check. * @param string $field_key The key of the custom field to check for. * * @return bool True if the custom field exists, false otherwise. */ public function has_field(int $post_id, string $field_key): bool; /** * Retrieves a specific custom field by post ID and field key. * * @since 3.1.0 * * @param int $post_id The ID of the post to retrieve the custom field for. * @param string $field_key The key of the custom field to retrieve. * @param mixed $default_value The default value to return if the field is not found. * * @return mixed The value of the custom field, or the default value if not found. */ public function get_field_value(int $post_id, string $field_key, $default_value = null); /** * Retrieves a field value with advanced options for filtering and processing. * * @since 3.1.0 * * @param int $post_id The ID of the post. * @param string $meta_key The meta key to retrieve. * @param array $options Additional options for retrieving the meta value such as: * - 'single' (bool): Whether to return a single value. * - 'default' (mixed): Default value if field not found. * - 'sanitize_callback' (callable): Function to sanitize the value. * * @return mixed The meta value if successful, default value if not found. */ public function get_field_value_advanced(int $post_id, string $meta_key, array $options = array()); /** * Retrieves a list of available field types with their human-readable names. * * Used for dropdowns in the admin UI to select field types. * * @since 3.1.0 * * @return array Array where keys are field type identifiers and values are human-readable names. */ public function get_formatted_fields_types(): array; /** * Gets the list of post types supported by this collection. * * @since 3.1.0 * * @return string[] Array of post type names. */ public function get_supported_post_types(): array; } /** * Abstract Collection Class * * Provides a base implementation for custom field collection classes * with common utilities for field processing and filtering. * * @since 3.1.0 * @package DiviSquad */ abstract class Collection implements \DiviSquad\Builder\Utils\Elements\Custom_Fields\Collection_Interface { /** * Supported post types. * * @var string[] */ protected array $post_types = array(); /** * Blacklisted keys that should be excluded from custom fields. * * @var string[] */ protected array $blacklisted_keys = array(); /** * Suffixes that should be excluded from custom fields. * * @var string[] */ protected array $excluded_suffixes = array(); /** * Prefixes that should be excluded from custom fields. * * @var string[] */ protected array $excluded_prefixes = array(); /** * Available custom fields. * * @var array> */ protected array $fields = array(); /** * Available custom fields with their values. * * @var array> */ protected array $custom_fields = array(); /** * Cache instance for better performance. * * @var array */ protected array $cache = array(); /** * Constructor. */ public function __construct() { } /** * Initialize the collection. * * @return void */ protected function init(): void { } /** * Format a field name by replacing underscores and hyphens with spaces. * * @param string $field_key The field key to format. * * @return string The formatted field name. */ protected function format_field_name(string $field_key): string { } /** * Get the value of a selected post meta key for a specific post, with additional options. * * @param int $post_id The ID of the post. * @param string $meta_key The meta key to retrieve. * @param array $options Additional options for retrieving the meta value. * * @return mixed The meta value if successful, default value if not found. */ public function get_field_value_advanced(int $post_id, string $meta_key, array $options = array()) { } /** * Get supported post types. * * @return string[] Array of post type names. */ public function get_supported_post_types(): array { } /** * Collect custom fields types and generate a formatted array. * * @return array Array of field types and their labels. */ public function get_formatted_fields_types(): array { } /** * Check if a field should be included based on various criteria. * * @param string $field_key The field key to check. * * @return bool Whether the field should be included. */ protected function should_include_field(string $field_key): bool { } /** * Get the blacklisted keys. * * @return string[] Array of blacklisted keys. */ protected function get_blacklisted_keys(): array { } /** * Get the excluded suffixes. * * @return string[] Array of excluded suffixes. */ protected function get_excluded_suffixes(): array { } /** * Get the excluded prefixes. * * @return array> Array of excluded prefixes. */ protected function get_excluded_prefixes(): array { } /** * Clear the cache for this collection. * * @return void */ public function clear_cache(): void { } } } namespace DiviSquad\Builder\Utils\Elements\Custom_Fields\Collections { /** * Advanced Custom Fields Processor Class * * Implements custom field collection for ACF fields with specialized handling * for different field types (text, image, url, etc). * * @since 3.1.0 * @package DiviSquad */ class Advanced extends \DiviSquad\Builder\Utils\Elements\Custom_Fields\Collection { /** * Supported post types. * * @var array */ protected array $post_types = array('post'); /** * Blacklisted keys that should be excluded from custom fields. * * @var array */ protected array $blacklisted_keys = array(); /** * Suffixes that should be excluded from custom fields. * * @var array */ protected array $excluded_suffixes = array(); /** * Prefixes that should be excluded from custom fields. * * @var array */ protected array $excluded_prefixes = array(); /** * Supported fields types from advanced custom fields. * * @var array */ protected array $supported_field_types = array('text', 'number', 'textarea', 'range', 'email', 'url', 'image', 'select', 'date_picker', 'wysiwyg', 'file', 'gallery', 'color_picker', 'checkbox', 'radio'); /** * Available ACF field groups organized by post type. * * @var array */ protected array $field_groups = array(); /** * Available ACF field data organized by group key. * * @var array */ protected array $fields_data = array(); /** * Available custom field values organized by post ID. * * @var array */ protected array $field_values = array(); /** * Initialize the collection. * * @since 3.1.0 * * @return void */ protected function init(): void { } /** * Inform that the processor is eligible or not. * * @since 3.1.0 * * @return bool Whether ACF plugin is available. */ public function is_eligible(): bool { } /** * Collect available custom field values from the postmeta table for specific post. * * @since 3.1.0 * * @param int $post_id The ID of the post. * * @return array An array of custom field value objects. */ public function get_available_field_values(int $post_id): array { } /** * Get post meta values for given keys. * * @since 3.1.0 * * @param int $post_id The ID of the post. * @param array $acf_field_keys Array of ACF field keys to retrieve. * @param int $limit Maximum number of results to return. * * @return array An array of post meta value objects. */ private function get_post_meta_values(int $post_id, array $acf_field_keys, int $limit): array { } /** * Process a field value based on its type. * * @since 3.1.0 * * @param mixed $value The field value. * @param string $field_type The field type. * @param array $field_object The complete field object (optional). * * @return mixed The processed value. */ private function process_field_value($value, string $field_type, array $field_object = array()) { } /** * Collect custom fields and generate a formatted array. * * @since 3.1.0 * * @return array> Array of formatted fields by post type. */ public function get_formatted_fields(): array { } /** * Collect custom fields types and generate a formatted array. * * @since 3.1.0 * * @return array Associative array of field type IDs and labels. */ public function get_formatted_fields_types(): array { } /** * Get all custom fields for a specific post. * * @since 3.1.0 * * @param int $post_id The ID of the post. * * @return array An array of custom fields with their values. */ public function get_fields(int $post_id): array { } /** * Check if a post has a specific custom field. * * @since 3.1.0 * * @param int $post_id The ID of the post to check. * @param string $field_key The key of the custom field to check for. * * @return bool True if the custom field exists, false otherwise. */ public function has_field(int $post_id, string $field_key): bool { } /** * Get a specific custom field by post ID and field key. * * @since 3.1.0 * * @param int $post_id The ID of the post to retrieve the custom field for. * @param string $field_key The key of the custom field to retrieve. * @param mixed $default_value The default value to return if the field is not found. * * @return mixed The value of the custom field, or the default value if not found. */ public function get_field_value(int $post_id, string $field_key, $default_value = null) { } /** * Get supported field types. * * @since 3.1.0 * * @return array Array of supported field types. */ protected function get_supported_field_types(): array { } /** * Check if a field should be included based on various criteria. * * @since 3.1.0 * * @param string $field_key The field key to check. * * @return bool Whether the field should be included. */ protected function should_include_field(string $field_key): bool { } /** * Get the blacklisted keys. * * @since 3.1.0 * * @return array Array of blacklisted keys. */ protected function get_blacklisted_keys(): array { } /** * Get the excluded suffixes. * * @since 3.1.0 * * @return array Array of excluded suffixes. */ protected function get_excluded_suffixes(): array { } /** * Get the excluded prefixes. * * @since 3.1.0 * * @return array> Array of excluded prefixes. */ protected function get_excluded_prefixes(): array { } /** * Clear the cache for this collection. * * @since 3.1.0 * * @return void */ public function clear_cache(): void { } } /** * WordPress Custom Fields Processor Class * * Implements custom field collection for standard WordPress post meta fields * with filtering capabilities to exclude system and plugin fields. * * @since 3.1.0 * @package DiviSquad */ class WordPress extends \DiviSquad\Builder\Utils\Elements\Custom_Fields\Collection { /** * Supported post types. * * @var array */ protected array $post_types = array('post'); /** * Blacklisted keys that should be excluded from custom fields. * * @var array */ protected array $blacklisted_keys = array('_edit_lock', '_edit_last', '_thumbnail_id', '_wp_page_template', '_wp_old_slug', '_wp_trash_meta_time', '_wp_trash_meta_status'); /** * Suffixes that should be excluded from custom fields. * * @var array */ protected array $excluded_suffixes = array('active', 'enabled', 'disabled', 'hidden', 'flag'); /** * Prefixes that should be excluded from custom fields. * * @var array> */ protected array $excluded_prefixes = array('wp' => array('_wp_', 'wp_', '_oembed_'), 'divi' => array('et_'), 'yoast' => array('_yoast_', 'yoast_', '_wpseo_'), 'others' => array('_aioseop_', '_elementor_', 'rank_math_', '_acf_', '_wc_', '_transient_', '_site_transient_', '_menu_item_')); /** * Available custom formatted fields by post type. * * @var array> */ protected array $formatted_fields = array(); /** * Available custom field values by post ID. * * @var array> */ protected array $field_values = array(); /** * Initialize the collection. * * @since 3.1.0 * * @return void */ protected function init(): void { } /** * Inform that the processor is eligible or not. * * WordPress custom fields are always eligible as they are part of core. * * @since 3.1.0 * * @return bool Always returns true for WordPress custom fields. */ public function is_eligible(): bool { } /** * Collect custom fields and generate a formatted array. * * @since 3.1.0 * * @return array> An array where keys are post types and values are arrays * where keys are field identifiers and values are human-readable names. */ public function get_formatted_fields(): array { } /** * Get all custom fields for a specific post. * * @since 3.1.0 * * @param int $post_id The ID of the post. * * @return array An array of custom fields, where keys are field names and values are field values. */ public function get_fields(int $post_id): array { } /** * Check if a post has a specific custom field. * * @since 3.1.0 * * @param int $post_id The ID of the post to check. * @param string $field_key The key of the custom field to check for. * * @return bool True if the custom field exists, false otherwise. */ public function has_field(int $post_id, string $field_key): bool { } /** * Get a specific custom field by post ID and field key. * * @since 3.1.0 * * @param int $post_id The ID of the post to retrieve the custom field for. * @param string $field_key The key of the custom field to retrieve. * @param mixed $default_value The default value to return if the field is not found. * * @return mixed The value of the custom field, or the default value if not found. */ public function get_field_value(int $post_id, string $field_key, $default_value = null) { } /** * Check if a field should be included based on various criteria. * * @since 3.1.0 * * @param string $field_key The field key to check. * * @return bool Whether the field should be included. */ protected function should_include_field(string $field_key): bool { } /** * Collect available custom fields from the postmeta table. * * @since 3.1.0 * * @return array> An array of custom field keys by post type. */ protected function get_available_fields(): array { } /** * Collect available custom field values from the postmeta table for specific post. * * @since 3.1.0 * * @param int $post_id The ID of the post. * * @return array An array of custom field value objects. */ protected function get_available_field_values(int $post_id): array { } /** * Get post meta values for given keys. * * @since 3.1.0 * * @param int $post_id The ID of the post. * @param array $meta_keys Array of meta keys to retrieve. * @param int $limit Maximum number of results to return. * * @return array An array of post meta value objects. */ private function get_post_meta_values(int $post_id, array $meta_keys, int $limit): array { } /** * Format a field value based on its type or key pattern. * * @since 3.1.0 * * @param mixed $value The field value to format. * @param string $field_key The field key. * * @return mixed The formatted value. */ protected function format_field_value($value, string $field_key) { } /** * Clear cache for a specific post ID. * * @since 3.1.0 * * @param int $post_id The post ID to clear cache for. * * @return void */ public function clear_post_cache(int $post_id): void { } /** * Clear the cache for all WordPress custom fields. * * @since 3.1.0 * * @return void */ public function clear_cache(): void { } } } namespace DiviSquad\Builder\Utils\Elements\Custom_Fields { /** * Interface for defining custom field operations. * * This interface provides methods for retrieving various types of custom fields * and their associated properties for UI rendering in the Divi Builder. * * @since 3.1.0 * @package DiviSquad */ interface Definition_Interface { /** * Get common fields that are applicable across different post types. * * These fields will be available for all supported post types regardless * of their individual configuration. * * @since 3.1.0 * * @return array> An array of common custom field definitions structured for Divi. */ public function get_common_fields(): array; /** * Get an array of fields to display when no custom fields are available. * * These fields will be shown when the collection returns no fields. * * @since 3.1.0 * * @return array> An array of empty-state field definitions. */ public function get_empty_fields(): array; /** * Get default fields for a specific post type. * * These fields are tailored to a specific post type based on available options. * * @since 3.1.0 * * @param string $post_type The post type for which to retrieve default fields. * @param array $options Additional options to customize the returned fields. * * @return array> An array of default custom field definitions for the specified post type. */ public function get_default_fields(string $post_type, array $options): array; /** * Get associated fields that are related to specific field types. * * These fields provide additional configuration options for specific field types. * * @since 3.1.0 * * @param array $fields_types Mapping of field type identifiers to their human-readable names. * * @return array> An array of associated custom field definitions. */ public function get_associated_fields(array $fields_types = array()): array; /** * Get fields to display when the field type is not eligible. * * For example, when ACF plugin is not active, these fields would explain that to the user. * * @since 3.1.0 * * @return array> An array of custom field definitions for ineligible state. */ public function get_not_eligible_fields(): array; /** * Determines if this definition processor is eligible to provide field definitions. * * @since 3.1.0 * * @return bool Whether this definition processor can be used. */ public function is_eligible(): bool; } /** * Class Definition * * Provides a base implementation for definition classes in the DiviSquad plugin. * Definition classes are responsible for defining the UI components for custom fields. * * @since 3.1.0 * @package DiviSquad */ abstract class Definition implements \DiviSquad\Builder\Utils\Elements\Custom_Fields\Definition_Interface { /** * Collection of common field definitions. * * @var array> */ protected array $common_fields = array(); /** * Collection of empty field definitions. * * @var array> */ protected array $empty_fields = array(); /** * Collection of post type specific field definitions. * * @var array>> */ protected array $post_type_fields = array(); /** * Collection of associated field definitions. * * @var array> */ protected array $associated_fields = array(); /** * Collection of not eligible field definitions. * * @var array> */ protected array $not_eligible_fields = array(); /** * Constructor. */ public function __construct() { } /** * Initialize the definition. * * @return void */ protected function init(): void { } /** * Get common fields that are applicable across different post types. * * @return array> An array of common custom field definitions. */ public function get_common_fields(): array { } /** * Get an array of empty fields. * * @return array> An array of empty custom field definitions. */ public function get_empty_fields(): array { } /** * Get default fields for a specific post type. * * @param string $post_type The post type for which to retrieve default fields. * @param array $options Additional options to customize the returned fields. * * @return array> An array of default custom field definitions for the specified post type. */ public function get_default_fields(string $post_type, array $options): array { } /** * Get associated fields. * * @param array $fields_types Collect custom fields types. * * @return array> An array of associated custom field definitions. */ public function get_associated_fields(array $fields_types = array()): array { } /** * Get fields that are not eligible. * * @return array> An array of custom field definitions that are not eligible. */ public function get_not_eligible_fields(): array { } /** * Determines if this definition processor is eligible to provide field definitions. * * @return bool Whether this definition processor can be used. */ public function is_eligible(): bool { } /** * Register a common field definition. * * @param string $field_key The field key. * @param array $field_data The field data. * * @return self */ protected function register_common_field(string $field_key, array $field_data): self { } /** * Register an empty field definition. * * @param string $field_key The field key. * @param array $field_data The field data. * * @return self */ protected function register_empty_field(string $field_key, array $field_data): self { } /** * Register a post type field definition. * * @param string $post_type The post type. * @param string $field_key The field key. * @param array $field_data The field data. * * @return self */ protected function register_post_type_field(string $post_type, string $field_key, array $field_data): self { } /** * Register an associated field definition. * * @param string $field_key The field key. * @param array $field_data The field data. * * @return self */ protected function register_associated_field(string $field_key, array $field_data): self { } /** * Register a not eligible field definition. * * @param string $field_key The field key. * @param array $field_data The field data. * * @return self */ protected function register_not_eligible_field(string $field_key, array $field_data): self { } } } namespace DiviSquad\Builder\Utils\Elements\Custom_Fields\Definitions { /** * Advanced Custom Field Definitions Class * * Implements advanced custom field definitions with support for complex field types * and sophisticated filtering options. * * @since 3.1.0 * @package DiviSquad */ class Advanced extends \DiviSquad\Builder\Utils\Elements\Custom_Fields\Definition { /** * Initialize the definition. * * Sets up the common fields, empty fields, and not eligible fields. * * @since 3.1.0 * * @return void */ protected function init(): void { } /** * Get default fields for a specific post type. * * This method returns an array of default custom fields for the given post type, * taking into account any provided options and potentially including advanced field types. * * @since 3.1.0 * * @param string $post_type The post type for which to retrieve default fields. * @param array $options Additional options to customize the returned fields. * * @return array> An array of default custom field definitions for the specified post type. */ public function get_default_fields(string $post_type, array $options): array { } /** * Get associated fields. * * This method returns an array of custom fields that are associated * with the current context or implementation, potentially including * fields with advanced functionality or relationships. * * @since 3.1.0 * * @param array $fields_types Mapping of field type identifiers to their human-readable names. * * @return array> An array of associated custom field definitions. */ public function get_associated_fields(array $fields_types = array()): array { } /** * Determines if this definition processor is eligible to provide field definitions. * * For Advanced custom fields, this checks if the ACF plugin is active. * * @since 3.1.0 * * @return bool Whether this definition processor can be used. */ public function is_eligible(): bool { } } /** * WordPress Custom Field Definitions Class * * Implements WordPress-specific custom field definitions for use with Divi Builder. * * @since 3.1.0 * @package DiviSquad */ class WordPress extends \DiviSquad\Builder\Utils\Elements\Custom_Fields\Definition { /** * Initialize the definition. * * Sets up the common fields, empty fields, and not eligible fields. * * @since 3.1.0 * * @return void */ protected function init(): void { } /** * Get default fields for a specific post type. * * This method returns an array of default custom fields for the given post type, * taking into account any provided options. * * @since 3.1.0 * * @param string $post_type The post type for which to retrieve default fields. * @param array $options Additional options to customize the returned fields. * * @return array> An array of default custom field definitions for the specified post type. */ public function get_default_fields(string $post_type, array $options): array { } /** * Get associated fields. * * This method returns an array of custom fields that are associated * with the current context or implementation in WordPress. * * @since 3.1.0 * * @param array $fields_types Mapping of field type identifiers to their human-readable names. * * @return array> An array of associated custom field definitions. */ public function get_associated_fields(array $fields_types = array()): array { } /** * Determines if this definition processor is eligible to provide field definitions. * * WordPress custom fields are always eligible (built into core). * * @since 3.1.0 * * @return bool Whether this definition processor can be used. */ public function is_eligible(): bool { } } } namespace DiviSquad\Builder\Utils\Elements\Custom_Fields { /** * Interface Manager_Interface * * Defines the contract for manager classes in the DiviSquad plugin. * Managers handle database operations, data retrieval, and caching. * * @since 3.1.1 * @package DiviSquad */ interface Manager_Interface { /** * Initialize the manager. * * This method should set up any necessary hooks, tables, and initial configurations. * * @since 3.1.1 * * @return void */ public function init(): void; /** * Get data from the manager. * * This method should retrieve the main data that the manager is responsible for. * * @since 3.1.1 * * @param array $args Optional. Arguments to modify the query. * * @return array The retrieved data. */ public function get_data(array $args = array()): array; /** * Clear the cache for this manager. * * This method should clear any cached data that the manager maintains. * * @since 3.1.1 * * @return void */ public function clear_cache(): void; /** * Get the cache group for this manager. * * @since 3.1.1 * * @return string The cache group identifier. */ public function get_cache_group(): string; /** * Get the cache key prefix for this manager. * * @since 3.1.1 * * @return string The cache key prefix. */ public function get_cache_key_prefix(): string; /** * Refresh stale data in the database. * * This method should handle any necessary database maintenance operations. * * @since 3.1.1 * * @param bool $force Whether to force a refresh regardless of staleness. * * @return bool Whether the refresh was successful. */ public function refresh_data(bool $force = false): bool; } /** * Class Manager * * Provides a base implementation for manager classes in the DiviSquad plugin. * Managers handle database operations, data retrieval, and caching. * * @since 3.1.1 * @package DiviSquad */ abstract class Manager implements \DiviSquad\Builder\Utils\Elements\Custom_Fields\Manager_Interface { /** * Cache group for this manager. * * @var string */ protected string $cache_group; /** * Cache key prefix for this manager. * * @var string */ protected string $cache_key_prefix; /** * Default expiration time for cached data in seconds. * * @var int */ protected int $cache_expiration = 3600; // 1 hour. /** * Last refresh timestamp. * * @var int */ protected int $last_refresh = 0; /** * Constructor. * * @since 3.1.1 * * @param string $cache_group The cache group for this manager. * @param string $cache_key_prefix The cache key prefix for this manager. */ public function __construct(string $cache_group, string $cache_key_prefix) { } /** * Get data from the cache or generate it if not cached. * * @since 3.1.1 * * @param string $key The cache key. * @param callable $callback The function to generate the data if not cached. * @param array $args Arguments to pass to the callback. * @param int|null $expiration Optional. The expiration time of the cached data in seconds. * Default is the manager's cache_expiration. * * @return mixed The cached or generated data. */ protected function get_cached_data(string $key, callable $callback, array $args = array(), ?int $expiration = null) { } /** * Clear the cache for this manager. * * @since 3.1.1 * * @return void */ public function clear_cache(): void { } /** * Get the cache group for this manager. * * @since 3.1.1 * * @return string The cache group identifier. */ public function get_cache_group(): string { } /** * Get the cache key prefix for this manager. * * @since 3.1.1 * * @return string The cache key prefix. */ public function get_cache_key_prefix(): string { } /** * Refresh stale data in the database. * * @since 3.1.1 * * @param bool $force Whether to force a refresh regardless of staleness. * * @return bool Whether the refresh was successful. */ public function refresh_data(bool $force = false): bool { } /** * Get the refresh interval in seconds. * * @since 3.1.1 * * @return int The refresh interval in seconds. */ protected function get_refresh_interval(): int { } /** * Perform the actual data refresh operations. * * Child classes should override this method to implement their specific refresh logic. * * @since 3.1.1 * * @return bool Whether the refresh was successful. */ protected function do_refresh_data(): bool { } /** * Track a cache key for potential bulk deletion. * * @since 3.1.1 * * @param string $key The cache key to track. * * @return void */ protected function track_cache_key(string $key): void { } } } namespace DiviSquad\Builder\Utils\Elements\Custom_Fields\Traits { /** * Table Population Trait * * This trait provides methods for efficiently populating and managing * custom fields tables in WordPress, with a focus on performance * and memory optimization. * * @since 3.1.0 * @package DiviSquad */ trait Table_Population_Trait { /** * Batch size for processing records. * Adjust based on server capabilities. * * @since 3.1.0 * @var int */ public int $batch_size = 5000; /** * Maximum execution time for each batch (seconds). * * @since 3.1.0 * @var int */ public int $max_batch_time = 20; /** * Tracked post types for custom fields. * * @var bool */ public bool $is_table_exists = false; /** * Populate the summary table efficiently. * * @since 3.1.0 * @return void */ public function populate_summary_table(): void { } /** * Verify if the custom fields table exists. * * @since 3.2.0 * @return bool True if table exists. */ public function is_table_exists(): bool { } /** * Process a batch of records using WP_Meta_Query. * * @since 3.1.0 * * @param int $last_id Last processed meta ID. * * @return int Next last ID or 0 if complete. */ protected function process_batch(int $last_id): int { } /** * Check if table needs to be populated. * * @since 3.1.0 * @return bool True if table needs population. */ protected function needs_population(): bool { } /** * Prepare post types for SQL query. * * @since 3.1.0 * @return string SQL-ready post types string. */ protected function prepare_post_types(): string { } /** * Get meta keys that exist in postmeta but not in the collection table using WP_Meta_Query. * * @since 3.1.0 * @return array Array of missing meta keys with their post types and occurrence counts. */ public function get_missing_meta_keys(): array { } /** * Get meta keys count by post type using WP_Meta_Query. * * @since 3.1.0 * @return array Array of meta key counts by post type. */ public function get_meta_keys_count_by_post_type(): array { } /** * Get the optimal batch size based on server resources. * * @since 3.1.0 * @return int Optimal batch size. */ protected function get_optimal_batch_size(): int { } /** * Validate batch size is within acceptable limits. * * @since 3.1.0 * * @param int $size Batch size to validate. * * @return int Validated batch size. */ protected function validate_batch_size(int $size): int { } } } namespace DiviSquad\Builder\Utils\Elements\Custom_Fields\Managers { /** * Fields Class * * Manages custom fields across different post types in WordPress. * Handles field data storage, retrieval, and synchronization with metadata. * * @since 3.1.1 * @package DiviSquad */ class Fields extends \DiviSquad\Builder\Utils\Elements\Custom_Fields\Manager { use \DiviSquad\Builder\Utils\Elements\Custom_Fields\Traits\Table_Population_Trait; /** * The name of the summary table in the database. * * @since 3.1.1 * @var string */ protected string $table_name; /** * Array of post types to track custom fields for. * * @since 3.1.1 * @var array */ protected array $tracked_post_types; /** * Instance of the CustomFieldsUpgrader class. * * @since 3.1.1 * @var Upgrades */ private \DiviSquad\Builder\Utils\Elements\Custom_Fields\Managers\Upgrades $upgrades; /** * Version of the current table structure. * * @since 3.1.1 * @var string */ private string $table_version = '1.0'; /** * Constructor. * * @since 3.1.1 * * @param array $post_types Array of post types to track custom fields for. */ public function __construct(array $post_types = array('post')) { } /** * Initialize the manager * * Sets up tables, hooks, and actions for custom field tracking. * * @since 3.1.1 * @return void */ public function init(): void { } /** * Get data from the manager. * * Retrieves custom field keys based on post type and limit. * * @since 3.1.1 * * @param array $args Optional. Arguments to modify the query. * 'post_type' - The post type to get fields for. Default 'post'. * 'limit' - Maximum number of fields to return. Default 30. * * @return array The retrieved custom field keys. */ public function get_data(array $args = array()): array { } /** * Verify and create table if needed. * * @since 3.1.1 * @return bool True if table exists and is valid. */ public function is_table_verified(): bool { } /** * Check table version and update if needed. * * @since 3.1.1 * @return void */ public function check_table_version(): void { } /** * Run database upgrades. * * @since 3.1.1 * @return void */ public function run_upgrades(): void { } /** * Update summary table for added/updated postmeta. * * @since 3.1.1 * * @param int $meta_id Metadata ID. * @param int $object_id Object ID. * @param string $meta_key Meta key. * * @return void */ public function update_summary(int $meta_id, int $object_id, string $meta_key): void { } /** * Delete from summary table when postmeta is deleted. * * @since 3.1.1 * * @param array $meta_ids Meta IDs being deleted. * @param int $object_id Object ID. * @param string $meta_key Meta key. * * @return void */ public function delete_from_summary(array $meta_ids, int $object_id, string $meta_key): void { } /** * Get custom field keys for a specific post type. * * @since 3.1.1 * * @param string $post_type Post type. * @param int $limit Results limit. * * @return array Array of custom field keys. */ public function get_custom_field_keys(string $post_type = 'post', int $limit = 30): array { } /** * Clear cache for a specific post type. * * @since 3.1.1 * * @param string $post_type The post type to clear cache for. * * @return void */ protected function clear_post_type_cache(string $post_type): void { } /** * Perform the actual data refresh operations. * * Refreshes the custom fields data by scanning for new meta keys. * * @since 3.1.1 * * @return bool Whether the refresh was successful. */ protected function do_refresh_data(): bool { } /** * Get the tracked post types. * * @since 3.1.1 * * @return array The post types being tracked. */ public function get_tracked_post_types(): array { } /** * Get the table version. * * @since 3.1.1 * * @return string The current table version. */ public function get_table_version(): string { } /** * Get the table name. * * @since 3.1.1 * * @return string The table name. */ public function get_table_name(): string { } /** * Get the upgrader instance. * * @since 3.1.1 * * @return Upgrades The upgrader instance. */ public function get_upgrades(): \DiviSquad\Builder\Utils\Elements\Custom_Fields\Managers\Upgrades { } } /** * Upgrader Class * * Manages database upgrades for the custom fields summary table. * This class handles version tracking and applies necessary database * structure changes when upgrading from older versions. * * @since 3.1.1 * @package DiviSquad */ class Upgrades { /** * The name of the summary table in the database. * * @since 3.1.1 * @var string */ private string $summary_table_name = ''; /** * The option name used to store the current version in the database. * * @since 3.1.1 * @var string */ private string $version_option_name = ''; /** * The option name used to track upgrade lock status. * * @since 3.1.1 * @var string */ private string $lock_option_name = ''; /** * The current version of the database structure. * * @since 3.1.1 * @var string */ private string $current_version = '1.0'; /** * Flag indicating if upgrade operations are currently in progress. * * @since 3.1.1 * @var bool */ private bool $is_upgrading = false; /** * Maximum time in seconds before considering a lock as stale. * * @since 3.1.1 * @var int */ private int $lock_timeout = 300; // 5 minutes. /** * Collection of upgrade procedures mapped by version. * * @since 3.1.1 * @var array */ private array $upgrade_procedures = array(); /** * Constructor. * * @since 3.1.1 * * @param string $version_option_name Optional. Custom option name for version tracking. * @param string $lock_option_name Optional. Custom option name for upgrade lock. */ public function __construct(string $version_option_name = 'custom_fields_summary_version', string $lock_option_name = 'custom_fields_upgrade_in_progress') { } /** * Register all available upgrade procedures. * * Each upgrade procedure is registered with the version it upgrades to. * * @since 3.1.1 * * @return void */ private function register_upgrade_procedures(): void { } /** * Register a new upgrade procedure. * * @since 3.1.1 * * @param string $version The version this procedure upgrades to. * @param callable $procedure The upgrade procedure callback. * * @return void */ public function register_upgrade_procedure(string $version, callable $procedure): void { } /** * Acquire an upgrade lock to prevent concurrent upgrades. * * @since 3.1.1 * * @return bool True if lock was acquired, false otherwise. */ private function acquire_lock(): bool { } /** * Release the upgrade lock. * * @since 3.1.1 * * @return void */ private function release_lock(): void { } /** * Run necessary database upgrades. * * Checks the installed version against the current version and * performs any necessary upgrade procedures. * * @since 3.1.1 * * @param string $table The name of the summary table in the database. * * @return bool True if upgrades were performed, false otherwise. */ public function run_upgrades(string $table): bool { } /** * Perform specific upgrade procedures. * * This method executes the upgrade procedures in order based on * version numbers, skipping any that are already applied. * * @since 3.1.1 * * @param string $from_version The version to upgrade from. * * @return bool True if upgrades were performed successfully, false otherwise. */ private function perform_upgrades(string $from_version): bool { } /** * Upgrade procedure for version 1.0. * * Initial table structure setup. * * @since 3.1.1 * * @return bool True if the upgrade was successful, false otherwise. */ private function upgrade_to_1_0(): bool { } /** * Check if an upgrade is locked (another process is running the upgrade). * * @since 3.1.1 * * @return bool True if an upgrade is locked, false otherwise. */ public function is_upgrade_locked(): bool { } /** * Get the summary table name. * * @since 3.1.1 * * @return string The summary table name. */ public function get_summary_table_name(): string { } /** * Set the summary table name. * * @since 3.1.1 * * @param string $table_name The summary table name. * * @return self */ public function set_summary_table_name(string $table_name): self { } /** * Get the current version of the database structure. * * @since 3.1.1 * * @return string The current version. */ public function get_current_version(): string { } /** * Set the current version of the database structure. * * This method is primarily used for testing purposes or manual version management. * * @since 3.1.1 * * @param string $version The version to set. * * @return self */ public function set_current_version(string $version): self { } /** * Set the lock timeout value. * * @since 3.1.1 * * @param int $timeout The timeout in seconds. * * @return self */ public function set_lock_timeout(int $timeout): self { } /** * Get the lock timeout value. * * @since 3.1.1 * * @return int The timeout in seconds. */ public function get_lock_timeout(): int { } /** * Check if an upgrade is currently in progress. * * @since 3.1.1 * * @return bool True if an upgrade is in progress, false otherwise. */ public function is_upgrading(): bool { } /** * Check if an upgrade is needed. * * Compares the installed version with the current version to determine * if an upgrade is necessary. * * @since 3.1.1 * * @return bool True if an upgrade is needed, false otherwise. */ public function is_upgrade_needed(): bool { } /** * Get the installed version of the database structure. * * @since 3.1.1 * * @return string The installed version. */ public function get_installed_version(): string { } /** * Get the option name used for version tracking. * * @since 3.1.1 * * @return string The option name. */ public function get_version_option_name(): string { } /** * Get the option name used for upgrade lock tracking. * * @since 3.1.1 * * @return string The lock option name. */ public function get_lock_option_name(): string { } /** * Get all registered upgrade procedures. * * @since 3.1.1 * * @return array Array of upgrade procedures indexed by version. */ public function get_upgrade_procedures(): array { } /** * Force release of any existing upgrade lock, regardless of owner. * This should only be used for administrative purposes or debugging. * * @since 3.1.1 * * @return bool True if a lock was released, false if none existed. */ public function force_release_lock(): bool { } } } namespace DiviSquad\Builder\Utils\Elements { /** * Main class for handling various form types. * * This class provides methods for retrieving, processing, and managing * forms from different form plugins within WordPress. * * @since 1.5.0 * @package DiviSquad */ class Forms { /** * Default form ID used as placeholder when no form is selected. * * @since 1.5.0 * @var string */ public const DEFAULT_FORM_ID = 'cfcd208495d565ef66e7dff9f98764da'; /** * Supported form types with their corresponding processor classes. * * @since 1.5.0 * @var array */ protected array $supported_form_types = array('cf7' => \DiviSquad\Builder\Utils\Elements\Forms\Collections\Contact_Form_7::class, 'wpforms' => \DiviSquad\Builder\Utils\Elements\Forms\Collections\WP_Forms::class, 'fluent_forms' => \DiviSquad\Builder\Utils\Elements\Forms\Collections\Fluent_Forms::class, 'ninja_forms' => \DiviSquad\Builder\Utils\Elements\Forms\Collections\Ninja_Forms::class, 'gravity_forms' => \DiviSquad\Builder\Utils\Elements\Forms\Collections\Gravity_Forms::class, 'forminator' => \DiviSquad\Builder\Utils\Elements\Forms\Collections\Forminator::class, 'formidable' => \DiviSquad\Builder\Utils\Elements\Forms\Collections\Formidable::class, 'metform' => \DiviSquad\Builder\Utils\Elements\Forms\Collections\Met_Form::class, 'sureforms' => \DiviSquad\Builder\Utils\Elements\Forms\Collections\Sure_Forms::class); /** * Form collections cache. * * @since 1.5.0 * @var array>> */ protected array $collections = array(); /** * Form processor instances. * * @since 1.5.0 * @var array */ protected array $processors = array(); /** * Get allowed fields for the module. * * Returns a list of HTML elements that are allowed to be targeted * in form modules. * * @since 1.5.0 * * @return array|null List of allowed field types. */ public function get_allowed_fields(): ?array { } /** * Get custom spacing prefixes for the module. * * Returns an array of prefixes used for custom spacing in form modules. * * @since 1.5.0 * * @return array>|null Custom spacing prefixes. */ public function get_custom_spacing_prefixes(): ?array { } /** * Initialize allowed fields. * * Defines the list of HTML elements that are allowed to be targeted * in form modules. * * @since 1.5.0 * * @return array List of allowed field types. */ protected function initialize_allowed_fields(): array { } /** * Initialize custom spacing prefixes. * * Defines the spacing prefixes used for custom spacing in form modules. * * @since 1.5.0 * * @return array> Custom spacing prefixes. */ protected function initialize_custom_spacing_prefixes(): array { } /** * Get all forms of a specific type. * * @param string $form_type The form type (cf7, fluent_forms, etc.). * @param string $collection The collection type (title or id). * * @return array * @throws InvalidArgumentException If the form type is not supported. */ public function get_forms_by(string $form_type, string $collection = 'title'): array { } /** * Fetch forms of a specific type. * * @since 3.2.0 * * @param string $form_type The form type (cf7, fluent_forms, etc.). * @param string $collection The collection type (title or id). * * @return array An array of form keys and labels. */ protected function fetch_forms(string $form_type, string $collection): array { } } } namespace DiviSquad\Builder\Utils\Elements\Forms { /** * Form Interface * * Interface for form processors. * * @since 3.1.0 * @package DiviSquad */ interface Collection_Interface { /** * Get forms of a specific type. * * @param string $collection Either 'id' or 'title'. * * @return array Associative array of form IDs or titles */ public function get_forms(string $collection): array; } /** * Abstract class for form processing. * * @since 3.1.0 * @package DiviSquad */ abstract class Collection implements \DiviSquad\Builder\Utils\Elements\Forms\Collection_Interface { /** * Get the ID of a form. * * @param mixed $form Form object. * * @return int Form ID */ abstract protected function get_form_id($form): int; /** * Get the title of a form. * * @param mixed $form Form object. * * @return string Form title */ abstract protected function get_form_title($form): string; /** * Process form data into a consistent format. * * @param array $forms Array of form objects. * @param string $collection Either 'id' or 'title'. * * @return array Processed form data */ protected function process_form_data(array $forms, string $collection): array { } } } namespace DiviSquad\Builder\Utils\Elements\Forms\Collections { /** * Contact Form 7 Collection * * Handles the retrieval and processing of Contact Form 7 forms. * * @since 3.1.0 * @package DiviSquad */ class Contact_Form_7 extends \DiviSquad\Builder\Utils\Elements\Forms\Collection { /** * Get Contact Form 7 forms. * * @param string $collection The type of data to collect ('id' or 'title'). * * @return array An array of Contact Form 7 data. */ public function get_forms(string $collection): array { } /** * Get the ID of a Contact Form 7 form. * * @param WPCF7_ContactForm $form The form object. * * @return int The form ID. */ protected function get_form_id($form): int { } /** * Get the title of a Contact Form 7 form. * * @param WPCF7_ContactForm $form The form object. * * @return string The form title. */ protected function get_form_title($form): string { } } /** * Fluent Forms Collection * * Handles the retrieval and processing of Fluent Forms. * * @since 3.1.0 * @package DiviSquad */ class Fluent_Forms extends \DiviSquad\Builder\Utils\Elements\Forms\Collection { /** * Get Fluent Forms. * * @param string $collection The type of data to collect ('id' or 'title'). * * @return array An array of Fluent Forms data. */ public function get_forms(string $collection): array { } /** * Get the ID of a Fluent Form. * * @param object $form The form object. * * @return int The form ID. */ protected function get_form_id($form): int { } /** * Get the title of a Fluent Form. * * @param object $form The form object. * * @return string The form title. */ protected function get_form_title($form): string { } } /** * Formidable Forms Collection * * Handles the retrieval and processing of Formidable Forms. * * @since 3.1.0 * @package DiviSquad */ class Formidable extends \DiviSquad\Builder\Utils\Elements\Forms\Collection { /** * Get Formidable Forms. * * @param string $collection The type of data to collect ('id' or 'title'). * * @return array An array of Formidable Forms data. */ public function get_forms(string $collection): array { } /** * Get the ID of a Formidable Form. * * @param object $form The form object. * * @return int The form ID. */ protected function get_form_id($form): int { } /** * Get the title of a Formidable Form. * * @param object $form The form object. * * @return string The form title. */ protected function get_form_title($form): string { } } /** * Forminator Forms Collection * * Handles the retrieval and processing of Forminator Forms. * * @since 3.1.0 * @package DiviSquad */ class Forminator extends \DiviSquad\Builder\Utils\Elements\Forms\Collection { /** * Get Forminator Forms. * * @param string $collection The type of data to collect ('id' or 'title'). * * @return array An array of Forminator Forms data. */ public function get_forms(string $collection): array { } /** * Get the ID of a Forminator Form. * * @param object $form The form object. * * @return int The form ID. */ protected function get_form_id($form): int { } /** * Get the title of a Forminator Form. * * @param object $form The form object. * * @return string The form title. */ protected function get_form_title($form): string { } } /** * Gravity Forms Collection * * Handles the retrieval and processing of Gravity Forms. * * @since 3.1.0 * @package DiviSquad */ class Gravity_Forms extends \DiviSquad\Builder\Utils\Elements\Forms\Collection { /** * Get Gravity Forms. * * @param string $collection The type of data to collect ('id' or 'title'). * * @return array An array of Gravity Forms data. */ public function get_forms(string $collection): array { } /** * Get the ID of a Gravity Form. * * @param array $form The form array. * * @return int The form ID. */ protected function get_form_id($form): int { } /** * Get the title of a Gravity Form. * * @param array $form The form array. * * @return string The form title. */ protected function get_form_title($form): string { } } /** * MetForm Collection * * @since 3.4.0 */ class Met_Form extends \DiviSquad\Builder\Utils\Elements\Forms\Collection { /** * Get MetForm forms. * * @param string $collection The type of data to collect ('id' or 'title'). * * @return array An array of MetForm forms data. */ public function get_forms(string $collection): array { } /** * Get the ID of a MetForm form. * * @param object $form The form object. * * @return int The form ID. */ protected function get_form_id($form): int { } /** * Get the title of a MetForm form. * * @param object $form The form object. * * @return string The form title. */ protected function get_form_title($form): string { } } /** * Ninja Forms Collection * * Handles the retrieval and processing of Ninja Forms. * * @since 3.1.0 * @package DiviSquad */ class Ninja_Forms extends \DiviSquad\Builder\Utils\Elements\Forms\Collection { /** * Get Ninja Forms. * * @param string $collection The type of data to collect ('id' or 'title'). * * @return array An array of Ninja Forms data. */ public function get_forms(string $collection): array { } /** * Get the ID of a Ninja Form. * * @param object $form The form object. * * @return int The form ID. */ protected function get_form_id($form): int { } /** * Get the title of a Ninja Form. * * @param object $form The form object. * * @return string The form title. */ protected function get_form_title($form): string { } } /** * SureForms Collection * * @since 3.4.0 */ class Sure_Forms extends \DiviSquad\Builder\Utils\Elements\Forms\Collection { /** * Get SureForms forms. * * @param string $collection The type of data to collect ('id' or 'title'). * * @return array An array of SureForms forms data. */ public function get_forms(string $collection): array { } /** * Get the ID of a SureForms form. * * @param object $form The form object. * * @return int The form ID. */ protected function get_form_id($form): int { } /** * Get the title of a SureForms form. * * @param object $form The form object. * * @return string The form title. */ protected function get_form_title($form): string { } } /** * WPForms Collection * * Handles the retrieval and processing of WPForms. * * @since 3.1.0 * @package DiviSquad */ class WP_Forms extends \DiviSquad\Builder\Utils\Elements\Forms\Collection { /** * Get WPForms. * * @param string $collection The type of data to collect ('id' or 'title'). * * @return array An array of WPForms data. */ public function get_forms(string $collection): array { } /** * Get the ID of a WPForm. * * @param WP_Post $form The form post object. * * @return int The form ID. */ protected function get_form_id($form): int { } /** * Get the title of a WPForm. * * @param WP_Post $form The form post object. * * @return string The form title. */ protected function get_form_title($form): string { } } } namespace DiviSquad\Builder\Version4\Contracts { /** * Module Interface */ interface Module_Interface { /** * Initialize module * * @return void */ public function init(); /** * Get module fields * * @return array */ public function get_fields(); /** * Get advanced fields configuration * * @return array */ public function get_advanced_fields_config(); /** * Get custom CSS fields configuration * * @return array */ public function get_custom_css_fields_config(); /** * Render the module * * Signature must stay compatible with ET_Builder_Element::render() so classes * that both extend ET_Builder_Element and implement this interface do not trip * PHP's incompatible-signature fatal under PHP 8+. * * @param array $attrs List of attributes. * @param string $content Content being processed. * @param string $render_slug Slug of the module used for rendering. * * @return string */ public function render($attrs, $content, $render_slug); } } namespace DiviSquad\Builder\Version4\Abstracts { /** * Abstract Module class * * Base implementation for all modules. Extends the ET_Builder_Module * and implements the Module_Interface. * * @since 1.5.0 * @package DiviSquad * * @property array $props * @property string $render_slug */ #[\AllowDynamicProperties] abstract class Module extends \ET_Builder_Module implements \DiviSquad\Builder\Version4\Contracts\Module_Interface { /** * The instance of Utils class * * @var Module_Utility */ public \DiviSquad\Builder\Version4\Supports\Module_Utility $squad_utils; /** * Default options for divider * * @var array|mixed|string|null */ public array $squad_divider_defaults; /** * Show options for divider * * @var array|mixed|string|null */ public $squad_divider_show_options; /** * The list of icon eligible element * * @var array */ protected array $icon_not_eligible_elements = array(); /** * Initialize the module */ public function __construct() { } /** * Get module defined fields + automatically generated fields * * @return array */ public function get_complete_fields(): array { } /** * Get the module type. * * @since 3.3.3 * * @return string The module type. */ public function get_module_type(): string { } /** * Check if an element is eligible for an icon. * * @param string $element The element to check. * * @return bool */ protected function is_icon_eligible(string $element): bool { } /** * Log an error and optionally send an error report. * * @since 3.2.0 * * @param Throwable $error The exception or error to log. * @param array $context Additional context for the error. * @param bool $send_report Whether to send an error report. * * @return void */ protected function log_error(\Throwable $error, array $context = array(), bool $send_report = true): void { } /** * Render an error message when an exception occurs. * * @return string The HTML for the error message. */ protected function render_error_message(): string { } /** * Render a notice. * * @since 3.2.0 * * @param string $message The message to display. * @param string $type The type of notice (error, warning, success, info). * * @return string */ protected function render_notice(string $message, string $type = 'info'): string { } } } namespace DiviSquad\Builder\Version4\Abstracts\Module { /** * Abstract Child Module * * Base implementation for child modules. Child modules are components that * are designed to be used within parent modules, creating nested structures * in the Divi Builder interface. * * @since 3.3.3 */ abstract class Child_Module extends \DiviSquad\Builder\Version4\Abstracts\Module { /** * Initialize the child module * * Sets the module type as 'child' and initializes the parent module. * Provides action hooks for before and after initialization. * * @since 3.3.3 */ public function __construct() { } } /** * Abstract Form Styler Class * * This class provides the base functionality for styling form elements * in the Divi Builder. It includes methods for generating fields, styles, * and handling transitions for various form components. * * @since 1.0.0 * @package DiviSquad */ abstract class Form_Styler extends \DiviSquad\Builder\Version4\Abstracts\Module { /** * CSS Selectors configuration * * @since 3.2.0 * @var array */ protected array $squad_css_selectors = array(); /** * CSS selector for the form * * @since 3.2.0 * @var string */ protected string $form_selector; /** * CSS selector for form fields * * @since 3.2.0 * @var string */ protected string $field_selector; /** * CSS selector for the submit button * * @since 3.2.0 * @var string */ protected string $submit_button_selector; /** * CSS selector for error messages * * @since 3.2.0 * @var string */ protected string $error_message_selector; /** * CSS selector for success messages * * @since 3.2.0 * @var string */ protected string $success_message_selector; /** * Constructor for the Form Styler class. * * Initializes the parent constructor and sets up the selectors and hooks. * * @since 3.2.0 * @access public * @return void */ public function __construct() { } /** * Get settings modal toggles for the module. * * @since 3.2.0 * @access public * * @return array Array of toggle settings. */ public function get_settings_modal_toggles(): array { } /** * Get advanced fields configuration for the module. * * Defines the advanced field configurations for the module. * * @since 1.2.0 * @access public * * @return array An array of advanced field configurations. */ public function get_advanced_fields_config(): array { } /** * Get fields for the module. * * @since 1.0.0 * @access public * * @return array Array of fields for the module. */ public function get_fields(): array { } /** * Get custom CSS fields configuration. * * @since 3.2.0 * @access public * * @return array Custom CSS fields configuration. */ public function get_custom_css_fields_config(): array { } /** * Get transition fields CSS properties. * * @since 3.2.0 * @access public * * @return array Array of transition fields CSS properties. */ public function get_transition_fields_css_props(): array { } /** * Initialize selectors for the form styler. * * @since 3.2.0 * @access protected * * @return void */ abstract protected function squad_init_selectors(): void; /** * Set up hooks for the Form Styler. * * @since 3.2.0 * @access protected * * @return void */ protected function squad_setup_hooks(): void { } /** * Get a specific selector or group of selectors * * Here is an inline example of how to use this method: * ``` * // Get the form selector. * $form_wrapper = $this->squad_get_css_selector('form.wrapper'); * * // Get all field selectors. * $field_selectors = $this->squad_get_css_selector('fields.all'); * ``` * * @since 3.2.0 * @access protected * * @param string $key Dot notation key for the selector. * * @return string|array */ protected function squad_get_css_selector(string $key) { } /** * Get a selector string * * Here is an inline example of how to use this method: * ``` * // Get the normal state form selector string. * $form_wrapper = $this->squad_get_css_selector_string('form.wrapper'); * * // Get the hover state for all field selectors. * $field_selectors_hover = $this->squad_get_css_selector_string('fields.all', 'v1', 'hover'); * ``` * * @since 3.2.0 * @access protected * * @param string $key Dot notation key for the selector. * @param string $state Selector state (default: 'normal'). * * @return string */ protected function squad_get_css_selector_string(string $key, string $state = 'normal'): string { } /** * Get hover selector string * * @param string $key Dot notation key for the selector. * * @return string */ protected function squad_get_hover_selector_string(string $key): ?string { } /** * Get hover selector string * * Here is an inline example of how to use this method: * ``` * // Get the hover selector for the submit button. * $submit_button_hover = $this->get_hover_selector_string('submit_button.all'); * * // Get the hover selector for form fields. * $fields_hover = $this->get_hover_selector_string('fields.all'); * ``` * * @since 3.2.0 * @access protected * * @param string $selector The base selector. * * @return string */ protected function squad_get_hover_selector(string $selector): string { } /** * Update a specific selector * * Here is an inline example of how to use this method: * ``` * // Update the form selector. * $this->squad_update_css_selector('form.wrapper', '%%order_class%% .new-form-wrapper'); * * // Update field selectors with normal and hover states. * $this->squad_update_css_selector('fields.all', [ * 'normal' => '%%order_class%% .new-field', * 'hover' => '%%order_class%% .new-field:hover' * ]); * ``` * * @since 3.2.0 * @access protected * * @param string $key Dot notation key for the selector. * @param string|array $value New selector value. * @param string $version Selector version (default: 'v1'). * * @return void */ protected function squad_update_css_selector(string $key, $value, string $version = 'v1'): void { } /** * Add :hover pseudo-class to a single selector. * * @since 3.2.0 * @access private * * @param string $selector A single CSS selector. * * @return string The selector with :hover added. */ protected function squad_add_hover_to_selector(string $selector): string { } /** * Get general fields for the module. * * @since 3.2.0 * @access protected * * @return array Array of general fields. */ protected function squad_get_general_fields(): array { } /** * Get design fields for the module. * * @since 3.2.0 * @access protected * * @return array Array of design fields. */ protected function squad_get_design_fields(): array { } /** * Get advanced fields for the module. * * @since 3.2.0 * @access protected * * @return array Array of advanced fields. */ protected function squad_get_advanced_fields(): array { } /** * Get background fields for the module. * * @since 3.2.0 * @access protected * * @return array Array of background fields. */ protected function squad_get_background_fields(): array { } /** * Get enable field for title or description. * * Creates a toggle field for enabling/disabling the title or description. * * @since 3.2.0 * @access protected * * @param string $type Either 'title' or 'description'. * * @return array The field definition array. */ protected function squad_get_enable_form_field(string $type): array { } /** * Get affects for enable field. * * Determines which fields are affected by the enable toggle. * * @since 3.2.0 * @access protected * * @param string $type Either 'title' or 'description'. * * @return array An array of affected field names. */ protected function squad_get_enable_form_field_affects(string $type): array { } /** * Add a background field. * * @since 3.2.0 * @access protected * * @param string $label Field label. * @param string $base_name Base name for the field. * @param string $toggle_slug Toggle slug for the field. * * @return array Background field configuration. */ protected function squad_add_background_field(string $label, string $base_name, string $toggle_slug): array { } /** * Get button fields for the module. * * @since 3.2.0 * @access protected * * @param array $fields_after_background List of fields after the background fields. * @param array $fields_before_margin List of fields before the margin fields. * * @return array Array of button fields. */ protected function squad_get_button_fields(array $fields_after_background, array $fields_before_margin): array { } /** * Get additional design fields for the module. * * @since 3.2.0 * @access protected * * @return array Array of checkbox and radio fields. */ protected function squad_get_additional_design_fields(): array { } /** * Get custom spacing fields for the module. * * @since 3.2.0 * @access protected * * @return array Array of custom spacing fields. */ protected function squad_get_custom_spacing_fields(): array { } /** * Get margin and padding fields for a specific element. * * @since 3.2.0 * @access protected * * @param string $prefix Element prefix. * @param string $label Element label. * * @return array Margin and padding fields. */ protected function squad_get_margin_padding_fields(string $prefix, string $label): array { } /** * Add a custom spacing field. * * @since 3.2.0 * @access protected * * @param string $label Field label. * @param string $type Field type (custom_margin or custom_padding). * @param array $settings Additional field settings. * * @return array Custom spacing field configuration. */ protected function squad_add_custom_spacing_field(string $label, string $type, array $settings): array { } /** * Get additional custom fields for the module. * * This method can be overridden in child classes to add custom fields. * * @since 3.2.0 * @access protected * * @return array Array of additional custom fields. */ protected function squad_get_customizable_design_fields(): array { } /** * Get removable fields for the module. * * This method can be overridden in child classes to specify removable fields. * * @since 3.2.0 * @access protected * * @return array Array of removable fields. */ protected function squad_get_removable_fields(): array { } /** * Add transition fields to the provided fields array. * * @since 3.2.0 * @access protected * * @param array $fields Array of fields to add transition fields to. * * @return void */ protected function squad_add_transition_fields(array &$fields): void { } /** * Add wrapper transition fields. * * @since 3.2.0 * @access protected * * @param array $fields Array of fields to add wrapper transition fields to. * * @return void */ protected function squad_add_wrapper_transition_fields(array &$fields): void { } /** * Add field transition fields. * * @since 3.2.0 * @access protected * * @param array $fields Array of fields to add field transition fields to. * * @return void */ protected function squad_add_field_transition_fields(array &$fields): void { } /** * Add error message transition fields. * * @since 3.2.0 * @access protected * * @param array $fields Array of fields to add error message transition fields to. * * @return void */ protected function squad_add_error_message_transition_fields(array &$fields): void { } /** * Add success message transition fields. * * @since 3.2.0 * @access protected * * @param array $fields Array of fields to add success message transition fields to. * * @return void */ protected function squad_add_success_message_transition_fields(array &$fields): void { } /** * Add button transition fields. * * @since 3.2.0 * @access protected * * @param array $fields Array of fields to add button transition fields to. * * @return void */ protected function squad_add_button_transition_fields(array &$fields): void { } /** * Add checkbox and radio transition fields. * * @since 3.2.0 * @access protected * * @param array $fields Array of fields to add checkbox and radio transition fields to. * * @return void */ protected function squad_add_checkbox_radio_transition_fields(array &$fields): void { } /** * Add generic transition fields. * * @since 3.2.0 * @access protected * * @param array $fields Array of fields to add generic transition fields to. * * @return void */ protected function squad_add_generic_transition_fields(array &$fields): void { } /** * Generate all styles for the module. * * Here is an inline example of how to use this method: * ``` * // Generate all styles for the current module. * $this->squad_generate_all_styles($this->props); * * // Generate styles with custom attributes. * $custom_attrs = array_merge($this->props, ['custom_field' => 'value']); * $this->squad_generate_all_styles($custom_attrs); * ``` * * @since 3.2.0 * @access protected * * @param array $attrs List of attributes. * * @return void */ protected function squad_generate_all_styles(array $attrs): void { } /** * Get module stylesheet selectors. * * Here is an inline example of how to use this method: * ``` * // Get all stylesheet selectors for the current module. * $selectors = $this->squad_get_module_stylesheet_selectors($this->props); * * // Get selectors with custom attributes. * $custom_attrs = array_merge($this->props, ['custom_field' => 'value']); * $custom_selectors = $this->squad_get_module_stylesheet_selectors($custom_attrs); * ``` * * @since 3.2.0 * @access protected * * @param array $attrs List of attributes. * * @return array Array of stylesheet selectors. */ protected function squad_get_module_stylesheet_selectors(array $attrs): array { } /** * Add background options to the stylesheet selectors. * * This method populates the provided options array with background styling options * for various form elements. * * @since 3.2.0 * @access protected * * @param array $options Reference to the array of options to be populated with background options. */ protected function squad_get_background_stylesheet_options(array &$options): void { } /** * Get background option fields for various form elements. * * This method defines the selectors for applying background styles * to different components of the form, such as the wrapper, fields, buttons, * and message areas. * * @since 3.2.0 * @access protected * * @return array An associative array of form elements and their corresponding CSS selectors. */ protected function squad_get_background_stylesheet_option_fields(): array { } /** * Add checkbox and radio options to the stylesheet selectors. * * @since 3.2.0 * @access protected * * @param array $options Array of options to add checkbox and radio options to. * * @return void */ protected function squad_add_checkbox_radio_stylesheet_options(array &$options): void { } /** * Add button width option to the stylesheet selectors. * * @since 3.2.0 * @access protected * * @param array $options Array of options to add button width option to. * @param array $attrs List of attributes. * * @return void */ protected function squad_add_button_width_stylesheet_option(array &$options, array $attrs): void { } /** * Add margin and padding options to the stylesheet selectors. * * @since 3.2.0 * @access protected * * @param array $options Array of options to add margin and padding options to. * * @return void */ protected function squad_add_margin_padding_stylesheet_options(array &$options): void { } /** * Get margin and padding option fields for various form elements. * * This method defines the selectors for applying margin and padding styles * to different components of the form, such as the wrapper, fields, buttons, * and message areas. * * @since 3.2.0 * @access protected * @return array An associative array of form elements and their corresponding CSS selectors. */ protected function squad_get_margin_padding_stylesheet_option_fields(): array { } /** * Generate module styles. * * Here is an inline example of how to use this method: * ``` * // Generate styles for the current module. * $selectors = $this->squad_get_module_stylesheet_selectors($this->props); * $this->squad_form_styler_generate_module_styles($this->props, $selectors); * * // Generate styles with custom attributes and selectors. * $custom_attrs = array_merge($this->props, ['custom_field' => 'value']); * $custom_selectors = $this->squad_get_module_stylesheet_selectors($custom_attrs); * $this->squad_form_styler_generate_module_styles($custom_attrs, $custom_selectors); * ``` * * @since 3.2.0 * @access protected * * @param array $attrs List of attributes. * @param array $options Control attributes. * * @return void */ protected function squad_form_styler_generate_module_styles(array $attrs, array $options): void { } /** * Generate background style. * * @since 3.2.0 * @access protected * * @param array $attrs List of attributes. * @param string $option_key Option key. * @param array $option Option configuration. * * @return void */ protected function squad_generate_background_style(array $attrs, string $option_key, array $option): void { } /** * Generate default style. * * @since 3.2.0 * @access protected * * @param string $option_key Option key. * @param array $option Option configuration. * * @return void */ protected function squad_generate_default_style(string $option_key, array $option): void { } /** * Generate single style. * * @since 3.2.0 * @access protected * * @param string $option_key Option key. * @param array $option Option configuration. * @param string $data_type Data type. * * @return void */ protected function squad_generate_single_style(string $option_key, array $option, string $data_type): void { } /** * Generate margin and padding style. * * @since 3.2.0 * @access protected * * @param string $option_key Option key. * @param array $option Option configuration. * * @return void */ protected function squad_generate_margin_padding_style(string $option_key, array $option): void { } /** * Remove pre-assigned fields from the fields array. * * Here is an inline example of how to use this method: * ``` * // Remove specific fields from the fields array. * $all_fields = $this->get_fields(); * $fields_to_remove = ['field1', 'field2']; * $updated_fields = $this->squad_remove_pre_assigned_fields($all_fields, $fields_to_remove); * * // Remove fields based on a condition. * $fields_to_remove = []; * foreach ($all_fields as $key => $field) { * if (strpos($key, 'deprecated_') === 0) { * $fields_to_remove[] = $key; * } * } * $updated_fields = $this->squad_remove_pre_assigned_fields($all_fields, $fields_to_remove); * ``` * * @since 3.2.0 * @access protected * * @param array $fields List of fields. * @param array $removals List of removable fields. * * @return array Updated fields array. */ protected function squad_remove_pre_assigned_fields(array $fields, array $removals): array { } } } namespace DiviSquad\Builder\Version4\Abstracts { /** * Abstract Module Utility Base Class * * This abstract class provides the foundation for all module utility classes. * It standardizes the module utility structure and provides common functionality * that is shared across different utility classes. * * @since 1.5.0 * @package DiviSquad */ abstract class Module_Utility { /** * The instance of ET Builder Element. * * @var Module */ protected \DiviSquad\Builder\Version4\Abstracts\Module $module; /** * Constructor. * * @param Module $module The instance of ET Builder Element. */ public function __construct(\DiviSquad\Builder\Version4\Abstracts\Module $module) { } /** * Initialize the utility. * * This method is called automatically by the constructor if it exists. * Override this method in child classes to set up initial values or configurations. * * @return void */ protected function initialize(): void { } /** * Initiate element-specific settings. * * This method is called by the Module_Utility class when the utility is first accessed. * Override this method in child classes if you need to initialize anything after construction. * * @return void */ public function initiate_element(): void { } /** * Get the module instance. * * @return Module */ public function get_module(): \DiviSquad\Builder\Version4\Abstracts\Module { } /** * Get a property from the module. * * @param string $property The property name. * @param mixed $default The default value if property is not found. * * @return mixed */ protected function get_module_property(string $property, $default = '') { } /** * Get a property from the module props array. * * @param string $property The property name. * @param mixed $default The default value if property is not found. * * @return mixed */ protected function get_prop(string $property, $default = '') { } } } namespace DiviSquad\Builder\Version4\Contracts { /** * Interface for the Placeholder class. * * Defines the contract for placeholder content providers that * supply standardized content for Divi modules in the builder interface. * Implementations should ensure consistent appearance across modules. * * @since 1.0.0 * @package DiviSquad */ interface Placeholder_Interface { /** * Get the defaults data for modules. * * Provides a comprehensive set of placeholder content * for various module types and elements, using Elegant Icon Font. * * @return array Array of placeholder content */ public function get_modules_defaults(): array; } } namespace DiviSquad\Builder\Version4\Abstracts { /** * Builder DiviBackend Placeholder class. * * Provides standard placeholder content for Divi modules * to ensure consistent appearance in the builder interface. * Uses Elegant Icon Font for icons to maintain visual consistency. * * @since 1.0.0 * @package DiviSquad */ abstract class Placeholder implements \DiviSquad\Builder\Version4\Contracts\Placeholder_Interface { /** * The constructor. * * @since 3.3.0 */ public function __construct() { } /** * Register hooks with WordPress. * * This method should contain all add_action() and add_filter() calls * that connect class methods to WordPress hooks. * * @since 3.4.0 * * @return void */ abstract public function register_hooks(): void; /** * Filters backend data passed to the Visual Builder. * This function is used to add static helpers whose content rarely changes. * eg: google fonts, module default, and so on. * * @param array> $exists Existing definitions. * * @return array> Updated definitions. */ abstract public function static_asset_definitions(array $exists = array()): array; /** * Get the defaults data for modules. * * Provides a comprehensive set of placeholder content * for various module types and elements, using Elegant Icon Font. * * @return array Array of placeholder content */ public function get_modules_defaults(): array { } /** * Used to update the content of the cached definitions js file. * * @param string $content The content to update. * * @return string */ public function asset_definitions(string $content): string { } } } namespace DiviSquad\Builder\Version4\Modules\Content { /** * Author Box Module Class. * * @since 4.0.0 */ class Author_Box extends \DiviSquad\Builder\Version4\Abstracts\Module { /** * Initiate Module. * Set the module name on init. * * @since 4.0.0 * @return void */ public function init(): void { } /** * Declare general fields for the module. * * @since 4.0.0 * * @return array> */ public function get_fields(): array { } /** * Renders the module output. * * @since 4.0.0 * * @param array $attrs List of attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string */ public function render($attrs, $content, $render_slug): string { } /** * Resolve the author WP_User from module props or current post context. * * @since 4.0.0 * * @return WP_User|false */ protected function squad_resolve_author() { } /** * Render the avatar block. * * @since 4.0.0 * * @param WP_User $user The author user object. * * @return string */ protected function squad_render_avatar(\WP_User $user): string { } /** * Render the content block (name + bio + links). * * @since 4.0.0 * * @param WP_User $user The author user object. * * @return string */ protected function squad_render_content(\WP_User $user): string { } /** * Render the author name element. * * @since 4.0.0 * * @param WP_User $user The author user object. * * @return string */ protected function squad_render_name(\WP_User $user): string { } /** * Render the author bio element. * * @since 4.0.0 * * @param WP_User $user The author user object. * * @return string */ protected function squad_render_bio(\WP_User $user): string { } /** * Render the links block (posts link + website link). * * @since 4.0.0 * * @param WP_User $user The author user object. * * @return string */ protected function squad_render_links(\WP_User $user): string { } /** * Render the "View all posts" link. * * @since 4.0.0 * * @param WP_User $user The author user object. * * @return string */ protected function squad_render_posts_link(\WP_User $user): string { } /** * Render the author website link. * * @since 4.0.0 * * @param WP_User $user The author user object. * * @return string */ protected function squad_render_website_link(\WP_User $user): string { } } /** * Business Hours Module Class. * * @since 1.0.0 * @package DiviSquad */ class Business_Hours extends \DiviSquad\Builder\Version4\Abstracts\Module { /** * Initiate Module. * Set the module name on init. * * @since 1.0.0 * @return void */ public function init(): void { } /** * Return an added new item(module) text. * * @return string */ public function add_new_child_text(): string { } /** * Declare general fields for the module * * @since 1.0.0 * @return array|bool|string>> */ public function get_fields(): array { } /** * Get CSS fields transition. * * Add form field options group and background image on the field list. * * @since 1.0.0 */ public function get_transition_fields_css_props(): array { } /** * Render module output * * @since 1.0.0 * * @param array $attrs List of unprocessed attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string module's rendered output */ public function render($attrs, $content, $render_slug): string { } /** * Render title * * @return string */ protected function squad_render_title_text(): string { } /** * Process styles for module output. * * @param array $attrs List of unprocessed attributes. * * @return void */ protected function squad_generate_all_styles(array $attrs): void { } /** * Generate styles for divider */ protected function squad_generate_divider_styles(): void { } } /** * Business Hours Day Module Class. * * @since 1.0.0 * @package DiviSquad */ class Business_Hours_Child extends \DiviSquad\Builder\Version4\Abstracts\Module\Child_Module { /** * Initiate Module. * Set the module name on init. * * @since 1.0.0 * @return void */ public function init(): void { } /** * Declare general fields for the module * * @since 1.0.0 * @return array[] */ public function get_fields(): array { } /** * Get CSS fields transition. * * Add form field options group and background image on the field list. * * @since 1.0.0 */ public function get_transition_fields_css_props(): array { } /** * Renders the module output. * * @param array $attrs List of attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string */ public function render($attrs, $content, $render_slug): string { } /** * Process styles for module output. * * @param array $attrs List of unprocessed attributes. * * @return void */ private function squad_generate_all_styles(array $attrs): void { } /** * Generate styles for divider * * @return void */ private function squad_generate_divider_styles(): void { } /** * Render day name * * @return string */ private function squad_render_day_time_text(): string { } } /** * Flip Box Module Class. * * @since 1.0.0 * @package DiviSquad */ class Flip_Box extends \DiviSquad\Builder\Version4\Abstracts\Module { /** * Initiate Module. * Set the module name on init. * * @since 1.0.0 * @return void */ public function init(): void { } /** * Declare general fields for the module * * @since 1.0.0 * @return array[] */ public function get_fields(): array { } /** * Get all text related fields for both sides. * * @param string $side The current slide name. * * @return array Text related fields. */ private function squad_get_side_text_fields(string $side): array { } /** * Get all icons and image related fields for both sides. * * @param string $side The current slide name. * * @return array icons and image related fields. */ private function squad_get_side_icon_images_fields(string $side): array { } /** * Get all text related fields for both sides. * * @param string $side The current slide name. * * @return array Text related fields. */ private function squad_get_side_associate_fields(string $side): array { } /** * Get all order fields for both sides. * * @param string $side The current slide name. * * @return array order fields. */ private function squad_get_side_order_fields(string $side): array { } /** * Get all z index fields for both sides. * * @param string $side The current slide name. * * @return array z index fields. */ private function squad_get_side_z_index_fields(string $side): array { } /** * Filter multi view value. * * @since 3.27.1 * * @see ET_Builder_Module_Helper_MultiViewOptions::filter_value * * @param mixed $raw_value Props raw value. * @param mixed $args Arguments. * * @return mixed */ public function multi_view_filter_value($raw_value, $args) { } /** * Renders the module output. * * @param array $attrs List of attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string */ public function render($attrs, $content, $render_slug): string { } /** * Renders animation styles for the module output. */ private function squad_generate_animation_styles(): void { } /** * Renders additional styles for the module output. * * @param string $slide_type The slide type. * @param array $attrs List of attributes. */ private function squad_generate_additional_styles(string $slide_type, array $attrs): void { } /** * Render the icon which on is active * * @param string $slide_type The slide type. * @param array $attrs List of unprocessed attributes. * * @return string */ private function squad_render_slide_icons(string $slide_type, array $attrs): string { } /** * Render all text elements for slide with dynamic and multiview support for Flip Box. * * @param string $slide_type The slide type. * @param array $attrs List of unprocessed attributes. * * @return string */ private function squad_render_slide_elements(string $slide_type, array $attrs): string { } /** * Render button text with icon. * * @param string $slide_type The slide type. * @param array $attrs List of unprocessed attributes. * * @return string */ private function squad_render_button_text(string $slide_type, array $attrs): string { } /** * Render button icon. * * @param string $slide_type The slide type. * * @return string */ private function squad_render_button_font_icon(string $slide_type): string { } /** * Render button image. * * @param string $slide_type The slide type. * * @return string */ private function squad_render_button_icon_image(string $slide_type): string { } } /** * Hover Box Module class. * * @since 4.2.0 */ class Hover_Box extends \DiviSquad\Builder\Version4\Abstracts\Module { /** * Initiate Module. * * @since 4.2.0 * * @return void */ public function init(): void { } /** * Declare general fields for the module. * * @since 4.2.0 * * @return array> */ public function get_fields(): array { } /** * Get CSS fields transition. * * @since 4.2.0 * * @return array */ public function get_transition_fields_css_props(): array { } /** * Render the module output. * * @since 4.2.0 * * @param array $attrs List of attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string */ public function render($attrs, $content, $render_slug): string { } } /** * Skill Bar Module Class. * * @since 4.0.0 */ class Skill_Bar extends \DiviSquad\Builder\Version4\Abstracts\Module { public function init(): void { } public function get_fields(): array { } public function render($attrs, $content, $render_slug): string { } public function apply_spacing_css(string $render_slug): void { } } /** * Skill Bar Item (child) Module Class. * * @since 4.0.0 */ class Skill_Bar_Item extends \DiviSquad\Builder\Version4\Abstracts\Module\Child_Module { public function init(): void { } public function get_fields(): array { } public function render($attrs, $content, $render_slug): string { } public function apply_bar_css(string $render_slug): void { } /** * Sanitize a CSS background value (color or gradient). * * Strips characters that could break out of the CSS declaration context, * so a user-supplied gradient/color field cannot inject arbitrary CSS. * * @since 4.0.0 * * @param string $value Raw value. * * @return string Sanitized value (may be empty). */ private static function sanitize_css_background(string $value): string { } private static function sanitize_css_length(string $value): string { } } /** * Social Share Module Class. * * @since 4.0.0 */ class Social_Share extends \DiviSquad\Builder\Version4\Abstracts\Module { /** * Resolved share target shared with child render passes. * * @var array{url: string, title: string, desc: string} */ public static $share_target = array('url' => '', 'title' => '', 'desc' => ''); /** * Resolved global button style shared with child render passes. * * @var array */ public static $button_context = array('style' => 'icon', 'enable_popup' => 'on'); public function init(): void { } public function get_fields(): array { } public function render($attrs, $content, $render_slug): string { } /** * Resolve the share target {url, title, desc} from the parent fields. * * @since 4.0.0 * * @return array{url: string, title: string, desc: string} */ public function resolve_share_target(): array { } public function apply_layout_css(string $render_slug): void { } /** * Sanitize a CSS length value (e.g. 10px, 1.5em, 50%). * * Rejects anything that is not a plain number followed by a recognised unit * so that user-supplied range-field values cannot inject arbitrary CSS. * * @since 4.0.0 * * @param string $value Raw value. * * @return string Sanitized value (may be empty). */ private static function sanitize_css_length(string $value): string { } /** * Sanitize a CSS background/color value (hex, rgba, gradient, etc.). * * Strips characters that could break out of the CSS declaration context * (`{ } ; < > \ " '`), so a user-supplied color-alpha field cannot inject * arbitrary CSS. Allows rgba(), gradients, and plain hex values. * * @since 4.0.0 * * @param string $value Raw value. * * @return string Sanitized value (may be empty). */ private static function sanitize_css_background(string $value): string { } } /** * Social Share Item (child) Module Class. * * @since 4.0.0 */ class Social_Share_Item extends \DiviSquad\Builder\Version4\Abstracts\Module\Child_Module { public function init(): void { } public function get_fields(): array { } public function render($attrs, $content, $render_slug): string { } public function apply_color_css(string $render_slug, string $brand_color): void { } /** * Sanitize a CSS background/color value (hex, rgba, gradient, etc.). * * Strips characters that could break out of the CSS declaration context * (`{ } ; < > \ " '`), so a user-supplied color-alpha field cannot inject * arbitrary CSS. Allows rgba(), gradients, and plain hex values. * * @since 4.0.0 * * @param string $value Raw value. * * @return string Sanitized value (may be empty). */ private static function sanitize_css_background(string $value): string { } /** * Network select options derived from the shared registry. * * @return array */ private static function network_options(): array { } } } namespace DiviSquad\Builder\Version4\Modules\Creative { /** * Advanced Button Module class. * * @since 4.1.0 */ class Advanced_Button extends \DiviSquad\Builder\Version4\Abstracts\Module { /** * Initiate Module. * Set the module name on init. * * @since 4.1.0 * * @return void */ public function init(): void { } /** * Declare general fields for the module. * * @since 4.1.0 * * @return array> */ public function get_fields(): array { } /** * Get CSS fields transition. * * @since 4.1.0 * * @return array */ public function get_transition_fields_css_props(): array { } /** * Renders the module output. * * @since 4.1.0 * * @param array $attrs List of attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string */ public function render($attrs, $content, $render_slug): string { } } /** * Advanced Video module class (Divi 4). * * @since 4.1.0 */ class Advanced_Video extends \DiviSquad\Builder\Version4\Abstracts\Module { public function init(): void { } public function get_fields(): array { } public function render($attrs, $content, $render_slug): string { } /** * Emit per-instance CSS vars + colors scoped by %%order_class%%. * * @since 4.1.0 * * @param string $render_slug Render slug. * * @return void */ protected function apply_css(string $render_slug): void { } /** Sanitize a CSS color/background value — strips `{ } ; < > \ " '`. */ private static function sanitize_css_background(string $value): string { } } /** * Animated Heading module class (Divi 4). * * @since 4.1.0 */ class Animated_Heading extends \DiviSquad\Builder\Version4\Abstracts\Module { public function init(): void { } public function get_fields(): array { } public function render($attrs, $content, $render_slug): string { } /** * Emit per-instance CSS: transition duration/easing, letter stagger, * rotating-word color, line text-align — all scoped by %%order_class%%. * * @since 4.1.0 * * @param string $render_slug Module render slug. * * @return void */ protected function apply_css(string $render_slug): void { } /** * Sanitize a CSS color/background value. NEVER use esc_attr on a CSS value. * * @since 4.1.0 * * @param string $value Raw value. * * @return string Sanitized value (may be empty). */ private static function sanitize_css_background(string $value): string { } } /** * Breadcrumbs Module Class. * * @since 1.4.0 * @package DiviSquad */ class Breadcrumbs extends \DiviSquad\Builder\Version4\Abstracts\Module { /** * Initiate Module. * Set the module name and other properties on init. * * @since 1.4.0 * * @return void */ public function init(): void { } /** * Get fields for the module * * @since 1.4.0 * * @return array|bool|string>> */ public function get_fields(): array { } /** * Get CSS transition fields * * @since 1.4.0 * * @return array */ public function get_transition_fields_css_props(): array { } /** * Render module output * * @since 1.4.0 * * @param array $attrs List of attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module being rendered. * * @return string */ public function render($attrs, $content, $render_slug): string { } /** * Generate module styles * * @since 1.4.0 * @access protected * * @param array $attrs Module attributes. * * @return void */ protected function squad_generate_additional_styles(array $attrs) { } } /** * Divider Module Class. * * @since 1.0.0 * @package DiviSquad */ class Divider extends \DiviSquad\Builder\Version4\Abstracts\Module { /** * Initiate Module. * Set the module name on init. * * @since 1.0.0 * @return void */ public function init(): void { } /** * Declare general fields for the module * * @since 1.0.0 * @return array[] */ public function get_fields(): array { } /** * Get CSS fields transition. * * Add form field options group and background image on the field list. * * @since 1.0.0 */ public function get_transition_fields_css_props(): array { } /** * Filter multi view value. * * @see ET_Builder_Module_Helper_MultiViewOptions::filter_value * * @param mixed $raw_value Props raw value. * @param array $args Context data. * * @return mixed */ public function multi_view_filter_value($raw_value, array $args) { } /** * Renders the module output. * * @param array $attrs List of attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string */ public function render($attrs, $content, $render_slug): string { } /** * Renders additional styles for the module output. * * @param array $attrs List of attributes. */ protected function squad_generate_additional_styles(array $attrs): void { } /** * Render divider. * * @param array $attrs List of unprocessed attributes. * * @return string */ protected function squad_render_divider(array $attrs): string { } /** * Render divider icon which on is active * * @return string */ protected function squad_render_divider_icon(): string { } /** * Render divider icon. * * @return string */ protected function squad_render_divider_font_icon(): string { } /** * Render divider image. * * @return string */ protected function squad_render_divider_icon_image(): string { } /** * Render divider icon text. * * @return string */ protected function squad_render_divider_icon_text(): string { } /** * Render divider lottie image. * * @return string */ protected function squad_render_divider_icon_lottie(): string { } } /** * The Drop Cap Module Class. * * @since 1.4.0 * @package DiviSquad */ class Drop_Cap_Text extends \DiviSquad\Builder\Version4\Abstracts\Module { /** * Initiate Module. * Set the module name on init. * * @since 1.4.0 * @return void */ public function init(): void { } /** * Declare general fields for the module * * @since 1.4.0 * @return array[] */ public function get_fields(): array { } /** * Get CSS fields transition. * * Add form field options group and background image on the field list. * * @since 1.0.0 */ public function get_transition_fields_css_props() { } /** * Renders the module output. * * @param array $attrs List of attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string */ public function render($attrs, $content, $render_slug): string { } /** * Renders additional styles for the module output. * * @param array $attrs List of attributes. * * @return void */ private function squad_generate_additional_styles(array $attrs): void { } } /** * Dual-Button Module Class. * * @since 1.0.0 * @package DiviSquad */ class Dual_Button extends \DiviSquad\Builder\Version4\Abstracts\Module { /** * Initiate Module. * Set the module name on init. * * @since 1.0.0 * @return void */ public function init(): void { } /** * Declare general fields for the module. * * @since 1.0.0 * @return array[] */ public function get_fields(): array { } /** * Get CSS fields transition. * * Add form field options group and background image on the field list. * * @since 1.0.0 */ public function get_transition_fields_css_props() { } /** * Filter multi view value. * * @since 3.27.1 * * @see ET_Builder_Module_Helper_MultiViewOptions::filter_value * * @param mixed $raw_value Props raw value. * @param array $args Context data. * * @return mixed */ public function multi_view_filter_value($raw_value, $args) { } /** * Renders the module output. * * @param array $attrs List of attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string */ public function render($attrs, $content, $render_slug): string { } /** * Render element text with icon * * @param array $attrs List of unprocessed attributes. * @param string $element Dynamic element key. * * @return string */ private function squad_render_element_text(array $attrs, string $element): string { } /** * Render element icon * * @param string $element Dynamic element key. * * @return string */ private function squad_render_element_font_icon(string $element): string { } /** * Render element image * * @param string $element Dynamic element key. * * @return string */ private function squad_render_element_icon_image(string $element): string { } /** * Renders additional styles for the module output. * * @param array $attrs List of attributes. */ private function generate_additional_styles(array $attrs): void { } /** * Render separator text with icon * * @param array $attrs List of unprocessed attributes. * * @return string */ private function squad_render_element_separator(array $attrs): string { } } /** * Floating Image (child) module class. * * @since 4.1.0 */ class Floating_Image extends \DiviSquad\Builder\Version4\Abstracts\Module\Child_Module { public function init(): void { } public function get_fields(): array { } public function render($attrs, $content, $render_slug): string { } /** * Emit the position + animation CSS custom properties on the item. * * @since 4.1.0 * * @param string $render_slug Module render slug. * @param string $motion Validated motion token. * * @return void */ protected function apply_float_css(string $render_slug, string $motion): void { } /** * Emit image max-width / max-height CSS. * * @since 4.1.0 * * @param string $render_slug Module render slug. * * @return void */ protected function apply_image_size_css(string $render_slug): void { } /** * Optionally wrap $inner in an tag. * * @param string $inner Inner HTML to wrap. * * @return string Wrapped or unchanged HTML. */ protected function maybe_wrap_link(string $inner): string { } /** Sanitize a CSS length value. */ private static function sanitize_css_length(string $value): string { } } /** * Floating Images parent module class. * * @since 4.1.0 */ class Floating_Images extends \DiviSquad\Builder\Version4\Abstracts\Module { public function init(): void { } public function get_fields(): array { } public function render($attrs, $content, $render_slug): string { } /** * Emit container min-height CSS for desktop, tablet, phone. * * @since 4.1.0 * * @param string $render_slug Module render slug. * * @return void */ protected function apply_min_height_css(string $render_slug): void { } /** Sanitize a CSS length value. */ private static function sanitize_css_length(string $value): string { } } /** * Glitch Text Module Class. * * @since 1.2.2 * @package DiviSquad */ class Glitch_Text extends \DiviSquad\Builder\Version4\Abstracts\Module { /** * Initiate Module. * Set the module name on init. * * @since 1.2.2 * @return void */ public function init(): void { } /** * Declare general fields for the module * * @since 1.0.0 * @return array[] */ public function get_fields(): array { } /** * Get CSS fields transition. * * Add form field options group and background image on the field list. * * @since 1.0.0 */ public function get_transition_fields_css_props() { } /** * Renders the module output. * * @param array $attrs List of attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string */ public function render($attrs, $content, $render_slug): string { } /** * Renders additional styles for the module output. * * @param array $attrs List of attributes. */ private function squad_generate_additional_styles(array $attrs): void { } } /** * Gradient Text Module Class. * * @since 1.2.6 * @package DiviSquad */ class Gradient_Text extends \DiviSquad\Builder\Version4\Abstracts\Module { /** * Initiate Module. * Set the module name on init. * * @since 1.2.6 * @return void */ public function init(): void { } /** * Declare general fields for the module * * @since 1.0.0 * @return array[] */ public function get_fields(): array { } /** * Get CSS fields transition. * * Add form field options group and background image on the field list. * * @since 1.0.0 */ public function get_transition_fields_css_props() { } /** * Renders the module output. * * @param array $attrs List of attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string */ public function render($attrs, $content, $render_slug): string { } /** * Renders additional styles for the module output. * * @param array $attrs List of attributes. */ private function squad_generate_additional_styles(array $attrs): void { } } /** * Image Reveal module class (Divi 4). * * @since 4.1.0 */ class Image_Reveal extends \DiviSquad\Builder\Version4\Abstracts\Module { public function init(): void { } public function get_fields(): array { } public function render($attrs, $content, $render_slug): string { } /** * Emit per-instance CSS: reveal duration/delay/easing/zoom CSS vars and the * overlay color — all scoped by %%order_class%%. * * @since 4.1.0 * * @param string $render_slug Module render slug. * * @return void */ protected function apply_css(string $render_slug): void { } /** * Sanitize a numeric scale value for CSS (digits + single dot only). * * @since 4.1.0 * * @param string $value Raw value. * * @return string Sanitized value, or '1.1' when nothing valid remains. */ private static function sanitize_scale(string $value): string { } /** * Sanitize a CSS color/background value. NEVER use esc_attr on a CSS value. * * @since 4.1.0 * * @param string $value Raw value. * * @return string Sanitized value (may be empty). */ private static function sanitize_css_background(string $value): string { } } /** * Inline Content parent module class. * * @since 4.1.0 */ class Inline_Content extends \DiviSquad\Builder\Version4\Abstracts\Module { public function init(): void { } public function get_fields(): array { } public function render($attrs, $content, $render_slug): string { } /** * Emit column-gap and row-gap CSS for desktop, tablet, phone. * * Uses `sanitize_css_length()` (inherited from Module base) to reject any * non-length value before writing it into the stylesheet, matching the * Social_Share `apply_layout_css()` pattern exactly. * * @since 4.1.0 * * @param string $render_slug Module render slug. * * @return void */ protected function apply_gap_css(string $render_slug): void { } /** * Sanitize a CSS length value. * * @since 4.1.0 * * @param string $value Raw value. * * @return string Sanitized value (may be empty). */ private static function sanitize_css_length(string $value): string { } } /** * Inline Content Item (child) module class. * * @since 4.1.0 */ class Inline_Content_Item extends \DiviSquad\Builder\Version4\Abstracts\Module\Child_Module { public function init(): void { } public function get_fields(): array { } public function render($attrs, $content, $render_slug): string { } /** * Render the inner HTML for the given content type. * * Returns '' when the required content for the type is empty (triggers * the empty-child skip in render()). * * @since 4.1.0 * * @param string $type Validated content type. * @param string $render_slug Module render slug (for CSS injection). * * @return string Inner HTML, or '' to skip the child. */ protected function render_type(string $type, string $render_slug): string { } /** * Render the text type. * * @return string HTML, or '' when text is empty. */ protected function render_text(): string { } /** * Render the icon type. * * Uses wp_kses_post() for the icon glyph character (matches Dual_Button). * * @return string HTML, or '' when icon is empty. */ protected function render_icon(): string { } /** * Render the image type. * * @param string $render_slug Module render slug for CSS. * * @return string HTML, or '' when image src is empty. */ protected function render_inline_image(string $render_slug): string { } /** * Render the button type. * * Uses et_pb_button style: ``. * Empty button_text AND empty button_url → skip. * * @return string HTML, or '' when both button_text and button_url are empty. */ protected function render_inline_button(): string { } /** * Render the divider type. * * Never wrapped in a link. The divider_style is validated against its * allowlist before going into the class name. * * @param string $render_slug Module render slug for CSS. * * @return string HTML (always returns a span — dividers are never empty-skipped). */ protected function render_divider(string $render_slug): string { } /** * Optionally wrap $inner in an tag when use_link=on and link_url non-empty. * * @param string $inner Inner HTML to wrap. * * @return string Wrapped or unchanged HTML. */ protected function maybe_wrap_link(string $inner): string { } /** * Emit icon color and size CSS. * * @since 4.1.0 * * @param string $render_slug Module render slug. * * @return void */ protected function apply_icon_css(string $render_slug): void { } /** * Emit image width, height, and border-radius CSS. * * @since 4.1.0 * * @param string $render_slug Module render slug. * * @return void */ protected function apply_image_css(string $render_slug): void { } /** * Emit divider length, thickness, and color CSS. * * @since 4.1.0 * * @param string $render_slug Module render slug. * * @return void */ protected function apply_divider_css(string $render_slug): void { } /** * Sanitize a CSS length value. * * @since 4.1.0 * * @param string $value Raw value. * * @return string Sanitized value (may be empty). */ private static function sanitize_css_length(string $value): string { } /** * Sanitize a CSS background/color value. * * Strips characters that could break out of the CSS declaration context * (`{ } ; < > \ " '`). * * @since 4.1.0 * * @param string $value Raw value. * * @return string Sanitized value (may be empty). */ private static function sanitize_css_background(string $value): string { } } /** * Number Counter Module class. * * @since 4.0.0 */ class Number_Counter extends \DiviSquad\Builder\Version4\Abstracts\Module { /** * Initiate Module. * * @since 4.0.0 * * @return void */ public function init(): void { } /** * Get fields for the module. * * @since 4.0.0 * * @return array> */ public function get_fields(): array { } /** * Get CSS transition fields. * * @since 4.0.0 * * @return array */ public function get_transition_fields_css_props(): array { } /** * Render module output. * * @since 4.0.0 * * @param array $attrs List of attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module being rendered. * * @return string */ public function render($attrs, $content, $render_slug): string { } } /** * Scrolling Text Module Class. * * @since 1.0.0 * @package DiviSquad */ class Scrolling_Text extends \DiviSquad\Builder\Version4\Abstracts\Module { /** * Initiate Module. * Set the module name on init. * * @since 1.0.0 * @return void */ public function init(): void { } /** * Declare general fields for the module * * @since 1.3.0 * @return array> */ public function get_fields(): array { } /** * Get CSS fields transition. * * Add form field options group and background image on the field list. * * @since 1.0.0 */ public function get_transition_fields_css_props() { } /** * Renders the module output. * * @param array $attrs List of attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string */ public function render($attrs, $content, $render_slug): string { } } /** * Star Rating Module Class. * * @since 1.4.0 * @package DiviSquad */ class Star_Rating extends \DiviSquad\Builder\Version4\Abstracts\Module { /** * Initiate Module. * Set the module name on init. * * @since 1.4.0 * @return void */ public function init(): void { } /** * Declare general fields for the module * * @since 1.4.0 * @return array[] */ public function get_fields(): array { } /** * Get CSS fields transition. * * Add form field options group and background image on the field list. * * @since 1.4.0 */ public function get_transition_fields_css_props() { } /** * Renders the module output. * * @param array $attrs List of attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string */ public function render($attrs, $content, $render_slug): string { } /** * Generate html markup for stars. * * @param array $args List of attributes. * * @return string */ public static function get_star_rating(array $args = array()): string { } /** * Renders additional styles for the module output. * * @param array $attrs List of attributes. * * @return void */ private function generate_additional_styles(array $attrs): void { } } /** * Table of Contents Module class. * * @since 4.0.0 */ class Table_Of_Contents extends \DiviSquad\Builder\Version4\Abstracts\Module { /** * Initiate Module. * * @since 4.0.0 * * @return void */ public function init(): void { } /** * Get fields for the module. * * @since 4.0.0 * * @return array> */ public function get_fields(): array { } /** * Get CSS transition fields. * * @since 4.0.0 * * @return array */ public function get_transition_fields_css_props(): array { } /** * Render module output. * * @since 4.0.0 * * @param array $attrs List of attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module being rendered. * * @return string */ public function render($attrs, $content, $render_slug): string { } } /** * Text Highlighter module class. * * @since 4.0.0 */ class Text_Highlighter extends \DiviSquad\Builder\Version4\Abstracts\Module { /** * Initiate Module. * * @since 4.0.0 * * @return void */ public function init(): void { } /** * Get module fields. * * @since 4.0.0 * * @return array> */ public function get_fields(): array { } /** * Render module output. * * @since 4.0.0 * * @param array $attrs List of attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module being rendered. * * @return string */ public function render($attrs, $content, $render_slug): string { } } /** * Typing Text Module Class. * * @since 1.0.0 * @package DiviSquad */ class Typing_Text extends \DiviSquad\Builder\Version4\Abstracts\Module { /** * Initiate Module. * Set the module name on init. * * @since 1.0.0 * @return void */ public function init(): void { } /** * Declare general fields for the module * * @since 1.0.0 * @return array[] */ public function get_fields(): array { } /** * Get CSS fields transition. * * Add form field options group and background image on the field list. * * @since 1.0.0 */ public function get_transition_fields_css_props() { } /** * Renders the module output. * * @param array $attrs List of attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string */ public function render($attrs, $content, $render_slug): string { } /** * Render prefix. * * @param array $attrs List of unprocessed attributes. * * @return string */ protected function render_prefix_text(array $attrs): string { } /** * Render typed text. * * @param array $attrs List of unprocessed attributes. * * @return string */ protected function render_typed_text(array $attrs): string { } /** * Render suffix. * * @param array $attrs List of unprocessed attributes. * * @return string */ protected function render_suffix_text(array $attrs): string { } /** * Renders additional styles for the module output. * * @param array $attrs List of attributes. * * @return void */ protected function generate_additional_styles(array $attrs): void { } } } namespace DiviSquad\Builder\Version4\Modules\Forms { /** * ContactForm7 Form Styler Module Class * * Extends the FormStyler base class to provide specific styling and functionality * for Contact Form 7 forms within the Divi Builder interface. * * @since 1.2.0 * @package DiviSquad */ class Contact_Form_7 extends \DiviSquad\Builder\Version4\Abstracts\Module\Form_Styler { /** * Module initialization. * * Sets up the module name, slug, and other initial properties. * Also initializes the selectors used throughout the module. * * @since 1.2.0 * @access public * * @return void */ public function init(): void { } /** * Get settings modal toggles for the module. * * @since 1.2.0 * @access public * * @return array> Settings modal toggles */ public function get_settings_modal_toggles(): array { } /** * Get advanced fields configuration for the module. * * @since 1.2.0 * @access public * * @return array>> Advanced fields configuration */ public function get_advanced_fields_config(): array { } /** * Render module output. * * @since 1.2.0 * @access public * * @param array $attrs List of unprocessed attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string Module's rendered output * @throws Exception If there's an error during rendering. */ public function render($attrs, $content, $render_slug): string { } /** * Get CSS selectors for the Contact Form 7 module. * * @since 3.2.0 * @access protected * * @return array> CSS selectors */ protected function squad_get_css_selectors(): array { } /** * Initialize selectors for the form styler. * * @since 3.2.0 * @access protected * * @return void */ protected function squad_init_selectors(): void { } /** * Get module stylesheet selectors. * * @since 3.2.0 * @access protected * * @param array $attrs List of attributes. * * @return array Array of stylesheet selectors */ protected function squad_get_module_stylesheet_selectors(array $attrs): array { } /** * Get general fields for the module. * * @since 3.2.0 * @access protected * * @return array Array of general fields. */ protected function squad_get_general_fields(): array { } /** * Get removable fields for the module. * * @since 3.2.0 * @access protected * * @return array Array of removable fields. */ protected function squad_get_removable_fields(): array { } /** * Add transition fields to the provided fields array. * * @since 1.0.0 * @access protected * * @param array $fields Array of fields to add transition fields to. * * @return void */ protected function squad_add_transition_fields(array &$fields): void { } /** * Get font field configurations * * @since 3.2.0 * * @return array> Font field configurations */ protected function squad_get_font_fields(): array { } /** * Get border field configurations * * @since 3.2.0 * * @return array> Border field configurations */ protected function squad_get_border_fields(): array { } /** * Get box shadow field configurations * * @since 3.2.0 * * @return array> Box shadow field configurations */ protected function squad_get_box_shadow_fields(): array { } /** * Get the form HTML. * * @since 1.2.0 * @access public * @static * * @param array $attrs List of module attributes. * * @return string The HTML of the selected form or empty string if no form selected */ public static function squad_form_styler__get_form_html(array $attrs): string { } } /** * FluentForms Form Styler Module Class * * Extends the FormStyler base class to provide specific styling and functionality * for Fluent Forms within the Divi Builder interface. * * @since 1.4.7 * @package DiviSquad */ class Fluent_Forms extends \DiviSquad\Builder\Version4\Abstracts\Module\Form_Styler { /** * Module initialization. * * Sets up the module name, slug, and other initial properties. * Also initializes the selectors used throughout the module. * * @since 1.4.7 * @access public * * @return void */ public function init(): void { } /** * Get settings modal toggles for the module. * * @since 1.4.7 * @access public * * @return array> Array of toggle settings */ public function get_settings_modal_toggles(): array { } /** * Get advanced fields configuration for the module. * * @since 1.4.7 * @access public * * @return array>> Advanced fields configuration */ public function get_advanced_fields_config(): array { } /** * Render module output. * * @since 1.4.7 * @access public * * @param array $attrs List of unprocessed attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string Module's rendered output * @throws Exception If there's an error during rendering. */ public function render($attrs, $content, $render_slug): string { } /** * Get CSS selectors for the Fluent Forms module. * * @since 1.4.7 * @access protected * * @return array> An associative array of CSS selectors. */ protected function squad_get_css_selectors(): array { } /** * Initialize selectors for the form styler. * * @since 3.2.0 * @access protected * * @return void */ protected function squad_init_selectors(): void { } /** * Get module stylesheet selectors. * * @since 3.2.0 * @access protected * * @param array $attrs List of attributes. * * @return array Array of stylesheet selectors */ protected function squad_get_module_stylesheet_selectors(array $attrs): array { } /** * Get general fields for the module. * * @since 3.2.0 * @access protected * * @return array Array of general fields. */ protected function squad_get_general_fields(): array { } /** * Get removable fields for the module. * * @since 3.2.0 * @access protected * * @return array Array of removable fields. */ protected function squad_get_removable_fields(): array { } /** * Get the field selector. * * @since 3.2.0 * @access protected * * @return string The field selector. */ protected function get_field_selector(): string { } /** * Get font field configurations. * * @since 3.2.0 * @access protected * * @return array Font field configurations. */ protected function squad_get_font_fields(): array { } /** * Get border field configurations. * * @since 3.2.0 * @access protected * * @return array Border field configurations. */ protected function squad_get_border_fields(): array { } /** * Get box shadow field configurations. * * @since 3.2.0 * @access protected * * @return array Box shadow field configurations. */ protected function squad_get_box_shadow_fields(): array { } /** * Get the form HTML. * * @since 1.4.7 * @access public * @static * * @param array $attrs List of module attributes. * * @return string The HTML of the selected form or empty string if no form selected. */ public static function squad_form_styler__get_form_html(array $attrs): string { } } /** * Formidable Form Styler Module Class * * Extends the FormStyler base class to provide specific styling and functionality * for Formidable Forms within the Divi Builder interface. * * @since 1.4.7 * @package DiviSquad */ class Formidable extends \DiviSquad\Builder\Version4\Abstracts\Module\Form_Styler { /** * Module initialization. * * Sets up the module name, slug, and other initial properties. * Also initializes the selectors used throughout the module. * * @since 1.4.7 * @access public * * @return void */ public function init(): void { } /** * Get settings modal toggles for the module. * * @since 1.4.7 * @access public * * @return array> Array of toggle settings */ public function get_settings_modal_toggles(): array { } /** * Get advanced fields configuration for the module. * * @since 1.4.7 * @access public * * @return array>> Advanced fields configuration */ public function get_advanced_fields_config(): array { } /** * Render module output. * * @since 1.4.7 * @access public * * @param array $attrs List of unprocessed attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string Module's rendered output * @throws Exception If there's an error during rendering. */ public function render($attrs, $content, $render_slug): string { } /** * Get CSS selectors for the Formidable Forms module. * * @since 1.4.7 * @access protected * * @return array> An associative array of CSS selectors. */ protected function squad_get_css_selectors(): array { } /** * Initialize selectors for the form styler. * * @since 3.2.0 * @access protected * * @return void */ protected function squad_init_selectors(): void { } /** * Get module stylesheet selectors. * * @since 3.2.0 * @access protected * * @param array $attrs List of attributes. * * @return array Array of stylesheet selectors */ protected function squad_get_module_stylesheet_selectors(array $attrs): array { } /** * Get general fields for the module. * * @since 3.2.0 * @access protected * * @return array Array of general fields. */ protected function squad_get_general_fields(): array { } /** * Get removable fields for the module. * * @since 3.2.0 * @access protected * * @return array Array of removable fields. */ protected function squad_get_removable_fields(): array { } /** * Get the field selector. * * @since 3.2.0 * @access protected * * @return string The field selector. */ protected function get_field_selector(): string { } /** * Get font field configurations. * * @since 3.2.0 * @access protected * * @return array Font field configurations. */ protected function squad_get_font_fields(): array { } /** * Get border field configurations. * * @since 3.2.0 * @access protected * * @return array Border field configurations. */ protected function squad_get_border_fields(): array { } /** * Get box shadow field configurations. * * @since 3.2.0 * @access protected * * @return array Box shadow field configurations. */ protected function squad_get_box_shadow_fields(): array { } /** * Get the form HTML. * * @since 1.4.7 * @access public * @static * * @param array $attrs List of module attributes. * * @return string The HTML of the selected form or empty string if no form selected. */ public static function squad_form_styler__get_form_html(array $attrs): string { } } /** * Forminator Form Styler Module Class * * Extends the FormStyler base class to provide specific styling and functionality * for Forminator forms within the Divi Builder interface. * * @since 1.2.0 * @package DiviSquad */ class Forminator extends \DiviSquad\Builder\Version4\Abstracts\Module\Form_Styler { /** * Module initialization. * * Sets up the module name, slug, and other initial properties. * Also initializes the selectors used throughout the module. * * @since 1.2.0 * @access public * * @return void */ public function init(): void { } /** * Get settings modal toggles for the module. * * @since 1.2.0 * @access public * * @return array> An array of toggle settings */ public function get_settings_modal_toggles(): array { } /** * Get advanced fields configuration for the module. * * @since 1.2.0 * @access public * * @return array>> Advanced fields configuration */ public function get_advanced_fields_config(): array { } /** * Render module output. * * @since 1.2.0 * @access public * * @param array $attrs List of unprocessed attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string Module's rendered output * @throws Exception If there's an error during rendering. */ public function render($attrs, $content, $render_slug): string { } /** * Get CSS selectors for the Forminator module. * * @since 1.2.0 * @access protected * * @return array> An associative array of CSS selectors. */ protected function squad_get_css_selectors(): array { } /** * Initialize selectors for the form styler. * * @since 1.2.0 * @access protected * * @return void */ protected function squad_init_selectors(): void { } /** * Get general fields for the module. * * @since 1.2.0 * @access protected * * @return array Array of general fields. */ protected function squad_get_general_fields(): array { } /** * Get advanced fields for the module. * * @since 1.2.0 * @access protected * * @return array Array of advanced fields. */ protected function squad_get_additional_design_fields(): array { } /** * Get removable fields for the module. * * @since 1.2.0 * @access protected * * @return array Array of removable fields. */ protected function squad_get_removable_fields(): array { } /** * Get the field selector. * * @since 3.2.0 * @access protected * * @return string The field selector. */ protected function get_field_selector(): string { } /** * Get font field configurations. * * @since 3.2.0 * @access protected * * @return array Font field configurations. */ protected function squad_get_font_fields(): array { } /** * Get border field configurations. * * @since 3.2.0 * @access protected * * @return array Border field configurations. */ protected function squad_get_border_fields(): array { } /** * Get box shadow field configurations. * * @since 3.2.0 * @access protected * * @return array Box shadow field configurations. */ protected function squad_get_box_shadow_fields(): array { } /** * Get the form HTML. * * @since 1.2.0 * @access public * @static * * @param array $attrs List of module attributes. * * @return string The HTML of the selected form or empty string if no form selected. */ public static function squad_form_styler__get_form_html(array $attrs): string { } } /** * GravityForms Form Styler Module Class * * This class extends the FormStyler to provide custom styling options * specifically for Gravity Forms within the Divi Builder interface. * * @since 1.2.0 * @package DiviSquad */ class Gravity_Forms extends \DiviSquad\Builder\Version4\Abstracts\Module\Form_Styler { /** * Module initialization. * * Sets up the module name, slug, and other initial properties. * Also initializes the selectors used throughout the module. * * @since 1.2.0 * @access public * * @return void */ public function init(): void { } /** * Get settings modal toggles for the module. * * Defines the structure of settings toggles in the Divi Builder interface. * * @since 1.2.0 * @access public * * @return array> An array of toggle settings. */ public function get_settings_modal_toggles(): array { } /** * Get advanced fields configuration for the module. * * Defines the advanced field configurations for the module. * * @since 1.2.0 * @access public * * @return array>> An array of advanced field configurations. */ public function get_advanced_fields_config(): array { } /** * Render module output. * * @since 1.2.0 * @access public * * @param array $attrs List of unprocessed attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string The HTML output of the module. */ public function render($attrs, $content, $render_slug): string { } /** * Get CSS selectors for the Gravity Forms module. * * This method defines and returns an array of CSS selectors used throughout the module * for styling various elements of Gravity Forms. The selectors are organized into * categories such as form, typography, fields, messages, etc. * * @since 3.2.0 * @access protected * * @return array> An associative array of CSS selectors. */ protected function squad_get_css_selectors(): array { } /** * Initialize selectors for the form styler. * * Sets up the CSS selectors used for various form elements. * * @since 3.2.0 * @access protected * * @return void */ protected function squad_init_selectors(): void { } /** * Get general fields for the module. * * @since 3.2.0 * @access protected * * @return array Array of general fields. */ protected function squad_get_general_fields(): array { } /** * Get removable fields for the module. * * @since 3.2.0 * @access protected * * @return array */ protected function squad_get_removable_fields(): array { } /** * Get design fields for the module. * * @since 3.2.0 * @access protected * * @return array Array of design fields. */ protected function squad_get_design_fields(): array { } /** * Get form title fields for the module. * * Defines the fields related to the form title styling. * * @since 3.2.0 * @access protected * * @return array An array of form title field definitions. */ protected function squad_get_form_title_fields(): array { } /** * Get form description fields for the module. * * Defines the fields related to the form description styling. * * @since 3.2.0 * @access protected * * @return array An array of form description field definitions. */ protected function squad_get_form_description_fields(): array { } /** * Get validation message fields for the module. * * Defines the fields related to the validation message styling. * * @since 3.2.0 * @access protected * * @return array An array of validation message field definitions. */ protected function squad_get_validation_message_fields(): array { } /** * Get font field configurations * * @since 3.2.0 * @access protected * * @return array Font field configurations */ protected function squad_get_font_fields(): array { } /** * Get border field configurations * * @since 3.2.0 * @access protected * * @return array Border field configurations */ protected function squad_get_border_fields(): array { } /** * Get box shadow field configurations * * @since 3.2.0 * @access protected * * @return array Box shadow field configurations */ protected function squad_get_box_shadow_fields(): array { } /** * Add transition fields to the provided fields array. * * @since 3.2.0 * @access protected * * @param array $fields Array of fields to add transition fields to. * * @return void */ public function squad_add_transition_fields(array &$fields): void { } /** * Add wrapper transition fields. * * @since 3.2.0 * @access protected * * @param array $fields Array of fields to add wrapper transition fields to. * * @return void */ protected function squad_add_form_title_transition_fields(array &$fields): void { } /** * Add wrapper transition fields. * * @since 3.2.0 * @access protected * * @param array $fields Array of fields to add wrapper transition fields to. * * @return void */ protected function squad_add_form_description_transition_fields(array &$fields): void { } /** * Add validation message transition fields. * * Adds transition fields for the validation message styling options. * * @since 3.2.0 * @access protected * * @param array $fields Array of fields to add validation message transition fields to. * * @return void */ protected function squad_add_validation_message_transition_fields(array &$fields): void { } /** * Get background option fields for various form elements. * * @since 3.2.0 * @access protected * * @return array An associative array of form elements and their corresponding CSS selectors. */ protected function squad_get_background_stylesheet_option_fields(): array { } /** * Get margin and padding option fields for various form elements. * * This method defines the selectors for applying margin and padding styles * to different components of the form, such as the wrapper, fields, buttons, * and message areas. * * @since 3.2.0 * @access protected * * @return array An associative array of form elements and their corresponding CSS selectors. */ protected function squad_get_margin_padding_stylesheet_option_fields(): array { } /** * Get the form HTML. * * Retrieves the HTML for the selected Gravity Form. * * @since 1.2.0 * @access public * @static * * @param array $attrs List of attributes. * * @return string The HTML of the selected form or an empty string if no form is selected. */ public static function squad_form_styler__get_form_html(array $attrs): string { } } /** * MetForm Form Styler Module Class * * Extends the FormStyler base class to provide specific styling and functionality * for MetForm within the Divi Builder interface. * * @since 1.4.7 * @package DiviSquad */ class Met_Form extends \DiviSquad\Builder\Version4\Abstracts\Module\Form_Styler { /** * Module initialization. * * Sets up the module name, slug, and other initial properties. * Also initializes the selectors used throughout the module. * * @since 1.4.7 * @access public * * @return void */ public function init(): void { } /** * Get settings modal toggles for the module. * * @since 1.4.7 * @access public * * @return array> Array of toggle settings */ public function get_settings_modal_toggles(): array { } /** * Get advanced fields configuration for the module. * * @since 1.4.7 * @access public * * @return array>> Advanced fields configuration */ public function get_advanced_fields_config(): array { } /** * Render module output. * * @since 1.4.7 * @access public * * @param array $attrs List of unprocessed attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string Module's rendered output * @throws Exception If there's an error during rendering. */ public function render($attrs, $content, $render_slug): string { } /** * Get CSS selectors for the MetForm module. * * @since 1.4.7 * @access protected * * @return array> An associative array of CSS selectors. */ protected function squad_get_css_selectors(): array { } /** * Initialize selectors for the form styler. * * @since 3.2.0 * @access protected * * @return void */ protected function squad_init_selectors(): void { } /** * Get module stylesheet selectors. * * @since 3.2.0 * @access protected * * @param array $attrs List of attributes. * * @return array Array of stylesheet selectors */ protected function squad_get_module_stylesheet_selectors(array $attrs): array { } /** * Get general fields for the module. * * @since 3.2.0 * @access protected * * @return array Array of general fields. */ protected function squad_get_general_fields(): array { } /** * Get removable fields for the module. * * @since 3.2.0 * @access protected * * @return array Array of removable fields. */ protected function squad_get_removable_fields(): array { } /** * Get the field selector. * * @since 3.2.0 * @access protected * * @return string The field selector. */ protected function get_field_selector(): string { } /** * Get font field configurations. * * @since 3.2.0 * @access protected * * @return array Font field configurations. */ protected function squad_get_font_fields(): array { } /** * Get border field configurations. * * @since 3.2.0 * @access protected * * @return array Border field configurations. */ protected function squad_get_border_fields(): array { } /** * Get box shadow field configurations. * * @since 3.2.0 * @access protected * * @return array Box shadow field configurations. */ protected function squad_get_box_shadow_fields(): array { } /** * Get the form HTML. * * @since 1.4.7 * @access public * @static * * @param array $attrs List of module attributes. * * @return string The HTML of the selected form or empty string if no form selected. */ public static function squad_form_styler__get_form_html(array $attrs): string { } } /** * NinjaForms Form Styler Module Class * * This class extends the FormStyler base class to provide specific styling * and functionality for Ninja Forms within the Divi Builder. * * @since 1.4.7 * @package DiviSquad */ class Ninja_Forms extends \DiviSquad\Builder\Version4\Abstracts\Module\Form_Styler { /** * Module initialization. * * @since 1.4.7 * @access public * @return void */ public function init(): void { } /** * Get settings modal toggles for the module. * * Defines the structure of settings toggles in the Divi Builder interface. * * @since 1.2.0 * @access public * * @return array> An array of toggle settings. */ public function get_settings_modal_toggles(): array { } /** * Get advanced fields configuration for the module. * * Defines the advanced field configurations for the module. * * @since 1.2.0 * @access public * * @return array>> An array of advanced field configurations. */ public function get_advanced_fields_config(): array { } /** * Render module output. * * @since 1.4.7 * @access public * * @param array $attrs List of unprocessed attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string The HTML output of the module. */ public function render($attrs, $content, $render_slug): string { } /** * Get CSS selectors for the Ninja Forms module. * * @since 1.4.7 * @access protected * * @return array> An associative array of CSS selectors. */ protected function squad_get_css_selectors(): array { } /** * Initialize selectors for the form styler. * * @since 1.4.7 * @access protected * @return void */ protected function squad_init_selectors(): void { } /** * Get removable fields for the module. * * @return array */ protected function squad_get_removable_fields(): array { } /** * Get general fields for the module. * * @since 1.4.7 * @access protected * * @return array Array of general fields. */ protected function squad_get_general_fields(): array { } /** * Get design fields for the module. * * @since 3.2.0 * @access protected * @return array Array of design fields. */ protected function squad_get_design_fields(): array { } /** * Get form title fields for the module. * * Defines the fields related to the form title styling. * * @since 3.2.0 * @access protected * @return array An array of form title field definitions. */ protected function squad_get_form_title_fields(): array { } /** * Get validation message fields for the module. * * Defines the fields related to the validation message styling. * * @since 3.2.0 * @access protected * @return array An array of validation message field definitions. */ protected function squad_get_validation_message_fields(): array { } /** * Get checkbox and radio fields for the module. * * @since 1.0.0 * @access protected * @return array Array of checkbox and radio fields. */ protected function squad_get_additional_design_fields(): array { } /** * Get additional custom fields for the module. * * @since 1.4.7 * @access protected * @return array Array of additional custom fields. */ protected function squad_get_customizable_design_fields(): array { } /** * Get font field configurations * * @since 3.2.0 * @access protected * * @return array Font field configurations */ protected function squad_get_font_fields(): array { } /** * Get border field configurations * * @since 3.2.0 * @access protected * * @return array Border field configurations */ protected function squad_get_border_fields(): array { } /** * Get box shadow field configurations * * @since 3.2.0 * @access protected * * @return array Box shadow field configurations */ protected function squad_get_box_shadow_fields(): array { } /** * Add transition fields to the provided fields array. * * @since 1.4.7 * @access protected * * @param array $fields Array of fields to add transition fields to. * * @return void */ protected function squad_add_transition_fields(array &$fields): void { } /** * Add wrapper transition fields. * * @since 1.0.0 * @access protected * * @param array $fields Array of fields to add wrapper transition fields to. * * @return void */ protected function squad_add_form_title_transition_fields(array &$fields): void { } /** * Add validation message transition fields. * * Adds transition fields for the validation message styling options. * * @since 3.2.0 * @access protected * * @param array $fields Array of fields to add validation message transition fields to. * * @return void */ protected function squad_add_validation_message_transition_fields(array &$fields): void { } /** * Get module stylesheet selectors. * * @since 1.4.7 * @access protected * * @param array $attrs List of attributes. * * @return array Array of stylesheet selectors. */ protected function squad_get_module_stylesheet_selectors(array $attrs): array { } /** * Get background option fields for various form elements. * * @since 3.2.0 * @access protected * * @return array An associative array of form elements and their corresponding CSS selectors. */ protected function squad_get_background_stylesheet_option_fields(): array { } /** * Add checkbox and radio options to the stylesheet selectors. * * @since 1.4.7 * @access protected * * @param array $options Array of options to add checkbox and radio options to. * * @return void */ protected function squad_add_checkbox_radio_stylesheet_options(array &$options): void { } /** * Get margin and padding option fields for various form elements. * * @since 3.2.0 * @access protected * * @return array An associative array of form elements and their corresponding CSS selectors. */ protected function squad_get_margin_padding_stylesheet_option_fields(): array { } /** * Get the form HTML. * * @since 1.4.7 * @access public * @static * * @param array $attrs List of attributes. * * @return string The HTML of the selected form or an empty string if no form is selected. */ public static function squad_form_styler__get_form_html(array $attrs): string { } } /** * SureForms Form Styler Module Class * * Extends the FormStyler base class to provide specific styling and functionality * for SureForms within the Divi Builder interface. * * @since 1.4.7 * @package DiviSquad */ class Sure_Forms extends \DiviSquad\Builder\Version4\Abstracts\Module\Form_Styler { /** * Module initialization. * * Sets up the module name, slug, and other initial properties. * Also initializes the selectors used throughout the module. * * @since 1.4.7 * @access public * * @return void */ public function init(): void { } /** * Get settings modal toggles for the module. * * @since 1.4.7 * @access public * * @return array> Array of toggle settings */ public function get_settings_modal_toggles(): array { } /** * Get advanced fields configuration for the module. * * @since 1.4.7 * @access public * * @return array>> Advanced fields configuration */ public function get_advanced_fields_config(): array { } /** * Render module output. * * @since 1.4.7 * @access public * * @param array $attrs List of unprocessed attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string Module's rendered output * @throws Exception If there's an error during rendering. */ public function render($attrs, $content, $render_slug): string { } /** * Get CSS selectors for the SureForms module. * * @since 1.4.7 * @access protected * * @return array> An associative array of CSS selectors. */ protected function squad_get_css_selectors(): array { } /** * Initialize selectors for the form styler. * * @since 3.2.0 * @access protected * * @return void */ protected function squad_init_selectors(): void { } /** * Get module stylesheet selectors. * * @since 3.2.0 * @access protected * * @param array $attrs List of attributes. * * @return array Array of stylesheet selectors */ protected function squad_get_module_stylesheet_selectors(array $attrs): array { } /** * Get general fields for the module. * * @since 3.2.0 * @access protected * * @return array Array of general fields. */ protected function squad_get_general_fields(): array { } /** * Get removable fields for the module. * * @since 3.2.0 * @access protected * * @return array Array of removable fields. */ protected function squad_get_removable_fields(): array { } /** * Get the field selector. * * @since 3.2.0 * @access protected * * @return string The field selector. */ protected function get_field_selector(): string { } /** * Get font field configurations. * * @since 3.2.0 * @access protected * * @return array Font field configurations. */ protected function squad_get_font_fields(): array { } /** * Get border field configurations. * * @since 3.2.0 * @access protected * * @return array Border field configurations. */ protected function squad_get_border_fields(): array { } /** * Get box shadow field configurations. * * @since 3.2.0 * @access protected * * @return array Box shadow field configurations. */ protected function squad_get_box_shadow_fields(): array { } /** * Get the form HTML. * * @since 1.4.7 * @access public * @static * * @param array $attrs List of module attributes. * * @return string The HTML of the selected form or empty string if no form selected. */ public static function squad_form_styler__get_form_html(array $attrs): string { } } /** * WPForms Form Styler Module Class * * Extends the FormStyler base class to provide specific styling and functionality * for WPForms within the Divi Builder interface. * * @since 1.2.0 * @package DiviSquad */ class WP_Forms extends \DiviSquad\Builder\Version4\Abstracts\Module\Form_Styler { /** * Module initialization. * * Sets up the module name, slug, and other initial properties. * Also initializes the selectors used throughout the module. * * @since 1.2.0 * @access public * * @return void */ public function init(): void { } /** * Get settings modal toggles for the module. * * @since 1.2.0 * @access public * * @return array> Array of toggle settings */ public function get_settings_modal_toggles(): array { } /** * Get advanced fields configuration for the module. * * @since 1.2.0 * @access public * * @return array>> Advanced fields configuration */ public function get_advanced_fields_config(): array { } /** * Render module output. * * @since 1.2.0 * @access public * * @param array $attrs List of unprocessed attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string Module's rendered output * @throws Exception If there's an error during rendering. */ public function render($attrs, $content, $render_slug): string { } /** * Get CSS selectors for the WPForms module. * * @since 1.2.0 * @access protected * * @return array> An associative array of CSS selectors. */ protected function squad_get_css_selectors(): array { } /** * Initialize selectors for the form styler. * * @since 1.2.0 * @access protected * * @return void */ protected function squad_init_selectors(): void { } /** * Get general fields for the module. * * @since 1.2.0 * @access protected * * @return array Array of general fields. */ protected function squad_get_general_fields(): array { } /** * Get removable fields for the module. * * @since 1.2.0 * @access protected * * @return array Array of removable fields. */ protected function squad_get_removable_fields(): array { } /** * Get font field configurations * * @since 3.2.0 * * @return array Font field configurations */ protected function squad_get_font_fields(): array { } /** * Get border field configurations * * @sinc 3.2.0 * * @return array Border field configurations */ protected function squad_get_border_fields(): array { } /** * Get box shadow field configurations * * @since 3.2.0 * * @return array Box shadow field configurations */ protected function squad_get_box_shadow_fields(): array { } /** * Get module stylesheet selectors. * * @since 1.2.0 * @access protected * * @param array $attrs List of attributes. * * @return array Array of stylesheet selectors. */ protected function squad_get_module_stylesheet_selectors(array $attrs): array { } /** * Get the form HTML. * * @since 1.2.0 * @access public * @static * * @param array $attrs List of module attributes. * * @return string The HTML of the selected form or empty string if no form selected. */ public static function squad_form_styler__get_form_html(array $attrs): string { } } } namespace DiviSquad\Builder\Version4\Modules\Maps { /** * Google Map Module Class. * * @since 1.4.7 * @package DiviSquad */ class Google_Map extends \DiviSquad\Builder\Version4\Abstracts\Module { /** * Initiate Module. * Set the module name on init. * * @since 1.4.7 * @return void */ public function init(): void { } /** * Declare general fields for the module. * * @since 1.4.7 * @return array|bool|string>> */ public function get_fields(): array { } /** * Renders the module output. * * @param array $attrs List of attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string */ public function render($attrs, $content, $render_slug): string { } } } namespace DiviSquad\Builder\Version4\Modules\Media { /** * Before After Image Slider Module Class. * * @since 1.0.0 * @package DiviSquad */ class Before_After_Image_Slider extends \DiviSquad\Builder\Version4\Abstracts\Module { /** * Initiate Module. * Set the module name on init. * * @since 1.0.0 * @return void */ public function init(): void { } /** * Declare general fields for the module * * @since 1.0.0 * @return array> List of fields. */ public function get_fields(): array { } /** * Get image and associated fields. * * @param string $image_type The current image name. * * @return array> List of fields. */ private function squad_get_image_fields(string $image_type): array { } /** * Get CSS fields transition. * * Add form field options group and background image on the field list. * * @since 1.0.0 * * @return array> List of fields. */ public function get_transition_fields_css_props(): array { } /** * Renders the module output. * * @param array $attrs List of attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string */ public function render($attrs, $content, $render_slug): string { } /** * Render image. * * @param string $image_type The image type. * * @return string */ private function squad_render_image(string $image_type): string { } /** * Process styles for module output. * * @param array $attrs List of unprocessed attributes. * * @return void */ private function squad_generate_all_styles(array $attrs): void { } } /** * Image Carousel Module Class. * * @since 4.0.0 */ class Image_Carousel extends \DiviSquad\Builder\Version4\Abstracts\Module { /** * Initiate Module. * * @since 4.0.0 * @return void */ public function init(): void { } /** * Define module fields. * * @since 4.0.0 * @return array */ public function get_fields(): array { } /** * Render the module HTML. * * @since 4.0.0 * * @param array $attrs Module attributes. * @param string $content Rendered child modules HTML. * @param string $render_slug Module render slug. * * @return string */ public function render($attrs, $content, $render_slug): string { } /** * Build Swiper JSON options string. * * @since 4.0.0 * * @param string $order_class Resolved order class for scoping selectors. * * @return string JSON-encoded options. */ public function get_swiper_options(string $order_class): string { } /** * Render arrow + pagination controls. * * @since 4.0.0 * * @param string $order_class Resolved order class. * * @return string */ public function render_controls(string $order_class): string { } /** * Render arrow buttons. * * @since 4.0.0 * * @return string */ public function render_arrows(): string { } /** * Render pagination dots container. * * @since 4.0.0 * * @return string */ public function render_dots(): string { } /** * Render progress bar. * * @since 4.0.0 * * @return string */ public function render_progress(): string { } } /** * Image Carousel Item (child) Module Class. * * @since 4.0.0 */ class Image_Carousel_Item extends \DiviSquad\Builder\Version4\Abstracts\Module\Child_Module { /** * Initiate Module. * * @since 4.0.0 * @return void */ public function init(): void { } /** * Define module fields. * * @since 4.0.0 * @return array */ public function get_fields(): array { } /** * Render the slide HTML. * * @since 4.0.0 * * @param array $attrs Module attributes. * @param string $content Inner content (unused for child modules). * @param string $render_slug Module render slug. * * @return string */ public function render($attrs, $content, $render_slug): string { } /** * Render the slide image. * * Named `render_carousel_image` (not `render_image`) to avoid colliding with * the incompatible parent signature * `ET_Builder_Element::render_image( $image_props, $image_attrs_raw = array(), $echo = true, $disable_responsive = false )`. * * @since 4.0.0 * * @param string $image_url The image URL. * * @return string */ public function render_carousel_image(string $image_url): string { } /** * Render the overlay, caption, and button. * * @since 4.0.0 * * @return string */ public function render_overlay(): string { } /** * Render the caption element. * * @since 4.0.0 * * @return string */ public function render_caption(): string { } /** * Render the call-to-action button/link element. * * Named `render_cta_button` (not `render_button`) to avoid colliding with * the incompatible parent signature `ET_Builder_Element::render_button( $args = array() )`. * * @since 4.0.0 * * @return string */ public function render_cta_button(): string { } } /** * Image Gallery Module Class. * * @since 1.2.0 * @package DiviSquad */ class Image_Gallery extends \DiviSquad\Builder\Version4\Abstracts\Module { /** * Initiate Module. * Set the module name on init. * * @since 1.2.0 * @return void */ public function init(): void { } /** * Declare general fields for the module * * @since 1.0.0 * @return array> */ public function get_fields(): array { } /** * Get CSS fields transition. * * Add form field options group and background image on the field list. * * @since 1.4.8 * * @return array> */ public function get_transition_fields_css_props(): array { } /** * Renders the module output. * * @param array $attrs List of attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string */ public function render($attrs, $content, $render_slug): string { } /** * Get attachment html data for gallery module * * @param array $args Gallery Options. * * @return string Attachments data */ public function get_gallery_html(array $args = array()): string { } /** * Get attachment data for gallery module * * @param array $args Gallery Options. * @param array $conditional_tags Additional conditionals tags. * @param array $current_page Current page. * * @return array|WP_Post[] Attachments data */ public static function get_gallery(array $args = array(), array $conditional_tags = array(), array $current_page = array()): array { } /** * Renders gallery items. * * @param array|WP_Post[] $attachments Array of attachment objects. * @param string $images_quantity Quantity of images to display. * @param int $image_count Count of images per page. */ public function render_gallery_items(array $attachments, string $images_quantity, int $image_count): void { } } /** * Image Mask Module Class. * * @since 1.0.0 * @package DiviSquad */ class Image_Mask extends \DiviSquad\Builder\Version4\Abstracts\Module { /** * Initiate Module. * Set the module name on init. * * @since 1.0.0 * @return void */ public function init(): void { } /** * Declare general fields for the module. * * Defines all the configuration fields available in the module settings, * including image upload, mask shape selection, border layers, decorative * elements, viewBox settings, and advanced image positioning controls. * * @since 1.0.0 * * @return array[] Array of field definitions for the module. */ public function get_fields(): array { } /** * Renders the module output. * * Generates the complete HTML and SVG markup for the image mask module, * including the masked image, border layers, decorative elements, and all * applied transformations and styling. * * @since 1.0.0 * * @param array $attrs List of attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string The complete HTML output for the module. */ public function render($attrs, $content, $render_slug): string { } } /** * Logo Carousel Module Class. * * @since 4.0.0 */ class Logo_Carousel extends \DiviSquad\Builder\Version4\Abstracts\Module { /** * Initiate Module. * * @since 4.0.0 * @return void */ public function init(): void { } /** * Define module fields. * * @since 4.0.0 * @return array */ public function get_fields(): array { } /** * Render the module HTML. * * @since 4.0.0 * * @param array $attrs Module attributes. * @param string $content Rendered child modules HTML. * @param string $render_slug Module render slug. * * @return string */ public function render($attrs, $content, $render_slug): string { } /** * Apply hover effect CSS via set_style. * * @since 4.0.0 * * @param string $render_slug Module render slug. * * @return void */ protected function apply_hover_css(string $render_slug): void { } /** * Apply logo max-width / max-height CSS. * * @since 4.0.0 * * @param string $render_slug Module render slug. * * @return void */ protected function apply_logo_sizing_css(string $render_slug): void { } /** * Sanitize a CSS length value (e.g., 160px, 2rem, 50%). * * Returns empty string if the value is not a valid CSS length. * * @since 4.0.0 * * @param string $value Raw value from module prop. * * @return string Sanitized value or empty string. */ private static function sanitize_css_length(string $value): string { } /** * Build Swiper JSON options string. * * @since 4.0.0 * * @param string $order_class Resolved order class for scoping selectors. * * @return string JSON-encoded options. */ public function get_swiper_options(string $order_class): string { } /** * Render prev/next arrow buttons. * * @since 4.0.0 * * @return string */ public function render_arrows(): string { } /** * Render pagination dots container. * * @since 4.0.0 * * @param string $order_class Resolved order class. * * @return string */ public function render_dots(string $order_class): string { } } /** * Logo Carousel Item (child) Module Class. * * @since 4.0.0 */ class Logo_Carousel_Item extends \DiviSquad\Builder\Version4\Abstracts\Module\Child_Module { /** * Initiate Module. * * @since 4.0.0 * @return void */ public function init(): void { } /** * Define module fields. * * @since 4.0.0 * @return array */ public function get_fields(): array { } /** * Render the logo slide HTML. * * @since 4.0.0 * * @param array $attrs Module attributes. * @param string $content Inner content (unused). * @param string $render_slug Module render slug. * * @return string */ public function render($attrs, $content, $render_slug): string { } } /** * Logo Grid Module Class. * * @since 4.0.0 */ class Logo_Grid extends \DiviSquad\Builder\Version4\Abstracts\Module { /** * Initiate Module. * * @since 4.0.0 * @return void */ public function init(): void { } /** * Define module fields. * * @since 4.0.0 * @return array */ public function get_fields(): array { } /** * Render the module HTML. * * @since 4.0.0 * * @param array $attrs Module attributes. * @param string $content Rendered child modules HTML. * @param string $render_slug Module render slug. * * @return string */ public function render($attrs, $content, $render_slug): string { } /** * Apply responsive grid-template-columns and gap CSS via set_style. * * @since 4.0.0 * * @param string $render_slug Module render slug. * * @return void */ public function apply_grid_css(string $render_slug): void { } /** * Apply hover effect CSS via set_style. * * @since 4.0.0 * * @param string $render_slug Module render slug. * * @return void */ public function apply_hover_css(string $render_slug): void { } /** * Apply logo max-width / max-height CSS. * * @since 4.0.0 * * @param string $render_slug Module render slug. * * @return void */ public function apply_logo_sizing_css(string $render_slug): void { } /** * Validate a CSS length value against an allowlist of units. * * @since 4.0.0 * * @param string $value Raw value. * * @return string Sanitized value or empty string. */ private static function sanitize_css_length(string $value): string { } } /** * Logo Grid Item (child) Module Class. * * @since 4.0.0 */ class Logo_Grid_Item extends \DiviSquad\Builder\Version4\Abstracts\Module\Child_Module { /** * Initiate Module. * * @since 4.0.0 * @return void */ public function init(): void { } /** * Define module fields. * * @since 4.0.0 * @return array */ public function get_fields(): array { } /** * Render the logo item HTML. * * @since 4.0.0 * * @param array $attrs Module attributes. * @param string $content Inner content (unused). * @param string $render_slug Module render slug. * * @return string */ public function render($attrs, $content, $render_slug): string { } } /** * Lottie Image Module Class. * * @since 1.0.0 * @package DiviSquad */ class Lottie extends \DiviSquad\Builder\Version4\Abstracts\Module { /** * Initiate Module. * Set the module name on init. * * @since 1.0.0 * @return void */ public function init(): void { } /** * Declare general fields for the module * * @since 1.0.0 * @return array[] */ public function get_fields(): array { } /** * Get CSS fields transition. * * Add form field options group and background image on the field list. * * @since 1.0.0 */ public function get_transition_fields_css_props() { } /** * Renders the module output. * * @param array $attrs List of attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string */ public function render($attrs, $content, $render_slug): string { } /** * Render item lottie image * * @return string */ private function squad_render_lottie(): string { } } /** * The Drop Cap Module Class. * * @since 1.4.1 * @package DiviSquad */ class Video_Popup extends \DiviSquad\Builder\Version4\Abstracts\Module { /** * Initiate Module. * Set the module name on init. * * @since 1.4.1 * @return void */ public function init(): void { } /** * Declare general fields for the module * * @since 1.4.1 * @return array[] */ public function get_fields(): array { } /** * Get CSS fields transition. * * Add form field options group and background image on the field list. * * @since 1.4.1 */ public function get_transition_fields_css_props() { } /** * Renders the module output. * * @param array $attrs List of attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string */ public function render($attrs, $content, $render_slug): string { } /** * Renders additional styles for the module output. * * @param array $attrs List of attributes. * * @return void */ private function generate_additional_styles(array $attrs): void { } /** * Generate render trigger. * * @return string */ protected function render_trigger(): string { } } } namespace DiviSquad\Builder\Version4\Modules { /** * The Post-Grid Module Class. * * @since 1.0.0 * @package DiviSquad */ class Post_Grid extends \DiviSquad\Builder\Version4\Abstracts\Module { /** * Initiate Module. * Set the module name on init. * * @since 1.0.0 * * @return void */ public function init(): void { } /** * Add custom hooks * * @return void */ public function squad_init_custom_hooks(): void { } /** * Return an added new item(module) text. * * @return string */ public function add_new_child_text(): string { } /** * Declare general fields for the module. * * @since 1.0.0 * * @return array|bool|string>> */ public function get_fields(): array { } /** * Get CSS fields transition. * * Add form field options group and background image on the field list. * * @since 1.0.0 * * @return array> */ public function get_transition_fields_css_props(): array { } /** * Render module output. * * @since 1.0.0 * * @param array $attrs List of unprocessed attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string module's rendered output. */ public function render($attrs, $content, $render_slug): string { } /** * Filter multi view value. * * @see ET_Builder_Module_Helper_MultiViewOptions::filter_value * * @param mixed $raw_value Props raw value. * @param array $args Props arguments. * * @return mixed */ public function multi_view_filter_value($raw_value, $args) { } /** * Render the post-elements in the outside wrapper. * * @param WP_Post $post The current post. * @param string|array $content The parent content. * * @return string * @throws Exception Thrown when the callback is not callable. */ public function wp_hook_squad_current_outside_post_element(\WP_Post $post, $content): string { } /** * Render the post-elements in the main wrapper. * * @param WP_Post $post The WP POST object. * @param string|array $content The parent content. * * @return string * @throws Exception Thrown when the callback is not callable. */ public function wp_hook_squad_current_main_post_element(\WP_Post $post, $content): string { } /** * Collect all posts from the database. * * @since 1.0.0 * * @param array $attrs List of unprocessed attributes. * @param string|array|null $content Content being processed. * @param ET_Builder_Module_Helper_MultiViewOptions $multi_view Multiview object instance. * * @return string the html output for the post-grid. * @throws Exception Thrown when the callback is not callable. */ public static function squad_get_posts_html(array $attrs, $content = '', $multi_view = ''): string { } /** * Render a post element based on its properties. * * @param WP_Post $post The current post. * @param array $child_prop The child properties. * @param string $expected_state The expected state ('on' for outside, 'off' for main). * * @return string */ protected function squad_render_post_element(\WP_Post $post, array $child_prop, string $expected_state): string { } /** * Generate content by props with dynamic values. * * @param WP_Post $post The WP POST object. * @param string|array $content The parent content. * @param callable $callback The render callback. * * @return string * @throws Exception Thrown when the callback is not callable. */ protected function squad_generate_props_content(\WP_Post $post, $content, $callback): string { } /** * Build the post query arguments. * * @since 3.1.0 * * @param array $attrs List of unprocessed attributes. * @param mixed $content Content being processed. * * @return array */ protected static function squad_build_post_query_args(array $attrs, $content = ''): array { } /** * Add query arguments for the current loop. * * @param array $query_args Existing query arguments. * * @return array Updated query arguments. */ protected static function squad_add_current_loop_args(array $query_args): array { } /** * Add query arguments for related posts. * * @param array $query_args Existing query arguments. * @param WP_Post $post Current post object. * * @return array Updated query arguments. */ protected static function squad_add_related_post_args(array $query_args, \WP_Post $post): array { } /** * Add query arguments for custom display options. * * @param array $query_args Existing query arguments. * @param array $attrs Module attributes. * * @return array Updated query arguments. */ protected static function squad_add_custom_display_args(array $query_args, array $attrs): array { } /** * Add query arguments for post offset. * * @param array $query_args Existing query arguments. * @param array $attrs Module attributes. * @param int $paged Current page number. * * @return array Updated query arguments. */ protected static function squad_add_offset_args(array $query_args, array $attrs, int $paged): array { } /** * Add query arguments for pagination. * * @param array $query_args Existing query arguments. * @param array $attrs Module attributes. * @param int $paged Current page number. * * @return array Updated query arguments. */ protected static function squad_add_pagination_args(array $query_args, array $attrs, int $paged): array { } /** * Add query arguments for date archives. * * @param array $query_args Existing query arguments. * * @return array Updated query arguments. */ protected static function squad_add_date_args(array $query_args): array { } /** * Get queried arguments for client side rendering. * * @param array $attrs List of module attributes. * * @return array Filtered query arguments. */ protected static function squad_get_client_query_args(array $attrs): array { } /** * Render the current post. * * @since 1.0.0 * * @param WP_Post $post The WP POST object. * @param array $attrs The module attributes. * @param mixed $content The content being processed. * * @return void */ protected static function squad_render_current_post(\WP_Post $post, array $attrs, $content = ''): void { } /** * Prepare post data for frontend rendering. * * @param WP_Post $post The WP POST object. * @param WP_User $author The post author object. * @param string $date_replacement The date format string. * * @return array> */ protected static function squad_prepare_post_data(\WP_Post $post, \WP_User $author, string $date_replacement): array { } /** * Render the pagination or load more button. * * @param WP_Query $post_query The WP_Query object. * @param array $attrs The module attributes. * @param string|array|null $content The content being processed. * @param ET_Builder_Module_Helper_MultiViewOptions $multi_view The multiview object instance. * * @return void */ protected static function squad_maybe_render_pagination(\WP_Query $post_query, array $attrs, $content = null, $multi_view = null): void { } /** * Render the pagination or load more button. * * @param WP_Query $post_query The WP_Query object. * @param array $attrs The module attributes. * @param string|array|null $content The content being processed. * @param ET_Builder_Module_Helper_MultiViewOptions $multi_view The multiview object instance. * * @return void */ protected static function squad_maybe_render_load_more_button(\WP_Query $post_query, array $attrs, $content = null, $multi_view = null): void { } /** * Render icon which on is active. * * @param array $attrs List of attributes. * * @return string */ protected function squad_render_element_icon(array $attrs): string { } /** * Render icon. * * @param array $attrs List of unprocessed attributes. * * @return string */ protected function squad_render_element_font_icon(array $attrs): string { } /** * Render image. * * @param array $attrs List of unprocessed attributes. * * @return string */ protected function squad_render_element_icon_image(array $attrs): string { } /** * Render image. * * @param array $attrs List of unprocessed attributes. * * @return string */ protected function squad_render_element_icon_text(array $attrs): string { } /** * Render element body. * * @since 1.0.0 * * @param array $attrs List of attributes. * @param false|WP_Post $post The current post object. * * @return string */ protected function squad_render_post_element_body(array $attrs, $post): string { } /** * Render title element. * * @since 1.0.0 * * @param array $attrs List of attributes. * @param WP_Post $post The post object. * @param string $class_name The class name for the element. * * @return string */ protected function squad_render_title_element(array $attrs, \WP_Post $post, string $class_name): string { } /** * Render image element. * * @since 1.0.0 * @since 3.1.8 Added the ability to link to the post. * * @param array $attrs List of attributes. * @param WP_Post $post The post object. * @param string $class_name The class name for the element. * * @return string */ protected function squad_render_image_element(array $attrs, \WP_Post $post, string $class_name): string { } /** * Render content element. * * @since 1.0.0 * * @param array $attrs List of attributes. * @param WP_Post $post The post object. * @param string $class_name The class name for the element. * * @return string */ protected function squad_render_content_element(array $attrs, \WP_Post $post, string $class_name): string { } /** * Truncate content to a specified number of words, supporting an expanded set of special characters. * * @since 1.0.0 * * @param string $content The content to truncate. * @param int $length The number of words to keep. * * @return string */ protected function squad_truncate_content(string $content, int $length): string { } /** * Render author element. * * @since 1.0.0 * * @param array $attrs List of attributes. * @param WP_Post $post The post object. * @param string $class_name The class name for the element. * * @return string */ protected function squad_render_author_element(array $attrs, \WP_Post $post, string $class_name): string { } /** * Get author name based on the specified type. * * @since 1.0.0 * * @param WP_User $author The author object. * @param string $author_name_type The type of author name to return. * * @return string */ protected function squad_get_author_name(\WP_User $author, string $author_name_type): string { } /** * Render gravatar element. * * @since 1.0.0 * * @param array $attrs List of attributes. * @param WP_Post $post The post object. * @param string $class_name The class name for the element. * * @return string */ protected function squad_render_gravatar_element(array $attrs, \WP_Post $post, string $class_name): string { } /** * Render date element. * * @since 1.0.0 * * @param array $attrs List of attributes. * @param WP_Post $post The post object. * @param string $class_name The class name for the element. * * @return string */ protected function squad_render_date_element(array $attrs, \WP_Post $post, string $class_name): string { } /** * Render read more element. * * @since 1.0.0 * * @param array $attrs List of attributes. * @param int $post_id The post ID. * @param string $class_name The class name for the element. * * @return string */ protected function squad_render_read_more_element(array $attrs, int $post_id, string $class_name): string { } /** * Render comments element. * * @since 1.0.0 * * @param array $attrs List of attributes. * @param WP_Post $post The post object. * @param string $class_name The class name for the element. * * @return string */ protected function squad_render_comments_element(array $attrs, \WP_Post $post, string $class_name): string { } /** * Render categories element. * * @since 1.0.0 * * @param array $attrs List of attributes. * @param int $post_id The post ID. * @param string $class_name The class name for the element. * * @return string */ protected function squad_render_categories_element(array $attrs, int $post_id, string $class_name): string { } /** * Render tags element. * * @since 1.0.0 * * @param array $attrs List of attributes. * @param int $post_id The post ID. * @param string $class_name The class name for the element. * * @return string */ protected function squad_render_tags_element(array $attrs, int $post_id, string $class_name): string { } /** * Render divider element. * * @since 1.0.0 * * @param array $attrs List of attributes. * @param string $class_name The class name for the element. * * @return string */ protected function squad_render_divider_element(array $attrs, string $class_name): string { } /** * Render custom text element. * * @since 1.0.0 * * @param array $attrs List of attributes. * @param string $class_name The class name for the element. * * @return string */ protected function squad_render_custom_text_element(array $attrs, string $class_name): string { } /** * Render custom field element. * * @since 1.0.0 * * @param array $attrs List of attributes. * @param int $post_id The post ID. * @param string $class_name The class name for the element. * * @return string */ protected function squad_render_custom_field_element(array $attrs, int $post_id, string $class_name): string { } /** * Render advanced custom field element. * * @since 1.0.0 * * @param array $attrs List of attributes. * @param int $post_id The post ID. * @param string $class_name The class name for the element. * * @return string */ protected function squad_render_advanced_custom_field_element(array $attrs, int $post_id, string $class_name): string { } /** * Format ACF field value based on field type. * * @since 1.0.0 * * @param array $attrs List of attributes. * @param mixed $acf_field_value The ACF field value. * @param string $acf_field_type The ACF field type. * * @return string */ protected function squad_format_acf_field_value(array $attrs, $acf_field_value, string $acf_field_type): string { } /** * Render post name icon. * * @param array $attrs List of attributes. * * @return string */ protected function squad_render_post_title_font_icon(array $attrs): string { } /** * Generate styles. * * @param array $attrs List of unprocessed attributes. * * @return void */ protected function squad_generate_all_styles(array $attrs): void { } /** * Generate styles. * * @param array $attrs List of unprocessed attributes. * * @return void */ protected function squad_generate_layout_styles(array $attrs): void { } } /** * Post-Grid Child Module Class. * * @since 1.0.0 * @package DiviSquad */ class Post_Grid_Child extends \DiviSquad\Builder\Version4\Abstracts\Module\Child_Module { /** * The list of element types * * @var array */ protected array $element_types = array(); /** * Initiate Module. * Set the module name on init. * * @since 1.0.0 * @return void */ public function init(): void { } /** * Declare general fields for the module * * @since 1.0.0 * @return array[] */ public function get_fields(): array { } /** * Declare general fields for the module * * @since 3.1.0 * @return array[] */ public function get_custom_fields(): array { } /** * Get CSS fields transition. * * Add form field options group and background image on the field list. * * @since 1.0.0 */ public function get_transition_fields_css_props() { } /** * Renders the module output. * * @param array $attrs List of attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string */ public function render($attrs, $content, $render_slug): string { } /** * Generate styles. * * @param array $attrs List of unprocessed attributes. * * @return void */ private function squad_generate_all_styles(array $attrs): void { } /** * Render post name icon. * * @param array $attrs List of attributes. * * @return void */ private function squad_generate_element_title_font_icon_styles(array $attrs): void { } /** * Render all styles for icon. * * @param array $attrs List of attributes. * * @return void */ private function squad_generate_all_icon_styles(array $attrs): void { } } /** * Post-Reading Time Module Class. * * @since 1.2.2 * @package DiviSquad */ class Post_Reading_Time extends \DiviSquad\Builder\Version4\Abstracts\Module { /** * Initiate Module. * Set the module name on init. * * @since 1.2.2 * @return void */ public function init(): void { } /** * Declare general fields for the module * * @since 1.0.0 * * @return array> */ public function get_fields(): array { } /** * Get CSS fields transition. * * Add form field options group and background image on the field list. * * @since 1.0.0 * * @return array> */ public function get_transition_fields_css_props(): array { } /** * Renders the module output. * * @param array $attrs List of attributes. * @param string $content Content being processed. * @param string $render_slug Slug of module that is used for rendering output. * * @return string */ public function render($attrs, $content, $render_slug): string { } /** * Get the reading time text * * @return string */ protected function squad_reading_time_text(): string { } /** * Calculate the reading time of a post. * * Gets the post-content, counts the images, strips shortcodes, and strips tags. * Then count the words. Converts images into a word count and outputs the total reading time. * * @param int $post The Post ID. * * @return false|float|string The total reading time for the article or string if it's 0. */ protected function squad_calculate_reading_time(int $post) { } /** * Adds additional reading time for images. * * @since 1.1.0 * * @param int $total_images number of images in post. * @param int $words_per_minute words per minute. * * @return float|int Additional time added to the reading time by images. */ protected function squad_calculate_images(int $total_images, int $words_per_minute) { } /** * Render time infix * * @param string $attribute The text attribute name. * @param string $css_selector The stylesheet selector for the attribute. * * @return string */ protected function squad_render_time_optional_text(string $attribute, string $css_selector): string { } /** * Render time suffix * * @param array $attrs List of unprocessed attributes. * * @return string */ protected function squad_render_time_divider(array $attrs): string { } /** * Renders additional styles for the module output. * * @param array $attrs List of attributes. */ protected function squad_generate_additional_styles(array $attrs): void { } } } namespace DiviSquad\Builder\Version4\Supports\Module_Helpers { /** * Deprecations Trait * * @since 1.5.0 * @since 3.3.3 Migrate to the new structure. * @see \DiviSquad\Base\DiviBuilder\Utils\DeprecationsTrait * * @package DiviSquad */ trait Deprecations_Trait { /** * The default deprecated version. * * @var string */ private string $deprecated_version = '3.4.0'; /** * Array of deprecated properties. * * @var array */ private array $deprecated_properties = array(); /** * Array of deprecated methods. * * @var array */ private array $deprecated_methods = array(); /** * Magic method to handle deprecated property access. * * @param string $name The property name. * * @return mixed The value of the deprecated property. * @throws InvalidArgumentException|WP_Exception If the property does not exist. */ public function __get(string $name) { } /** * Magic method to handle deprecated method calls. * * Handles calls to deprecated methods by routing them to their new implementations * or throwing appropriate exceptions if the method doesn't exist. * * @param string $name The method name. * @param array $arguments The method arguments. * * @return mixed The result of the method call. * @throws InvalidArgumentException If the method does not exist. * @throws WP_Exception If there's an error processing the call. */ public function __call(string $name, array $arguments) { } /** * Trigger a deprecated warning. * * Triggers a WordPress deprecation warning with the specified message. * * @param string $name The name of the deprecated element. * @param string $version The version since deprecation. * @param string $message The deprecation message. * @param string $type The type of the deprecated element ('property' or 'method'). * * @return void * @throws WP_Exception If the error cannot be triggered. */ private function trigger_deprecated_warning(string $name, string $version, string $message, string $type): void { } /** * Handle calls to deprecated utility methods. * * Routes deprecated method calls to their new implementations in utility classes. * * @param string $name The name of the deprecated method. * @param array $arguments The arguments passed to the method. * * @return mixed The result of the method call. * @throws BadMethodCallException If the deprecated method is not implemented. */ private function handle_deprecated_utility_method(string $name, array $arguments) { } /** * Set the default deprecated version. * * @param string $version The new deprecated version. * * @return void */ public function set_deprecated_version(string $version): void { } /** * Add a new deprecated property. * * @param string $name The property name. * @param string $version The version since deprecation. * @param string $message The deprecation message. * @param mixed $value The default value of the deprecated property. * * @return void */ public function add_deprecated_property(string $name, string $version, string $message, $value): void { } /** * Add a new deprecated method. * * @param string $name The method name. * @param string $version The version since deprecation. * @param string $message The deprecation message. * * @return void */ public function add_deprecated_method(string $name, string $version, string $message): void { } } /** * Common Methods Trait * * @since 1.5.0 * @since 3.3.3 Migrate to the new structure. * @package DiviSquad */ trait Common_Trait { /** * Decode json data from properties in module. * * @param string $html_content json data raw content from module. * * @return array * @throws \JsonException When json error found. */ public function decode_json_data(string $html_content): array { } /** * Collect actual props from child module with escaping raw html. * * @param string $content The raw content form child element. * * @return string */ public function collect_raw_props(string $content): string { } /** * Collect actual props from child module with escaping raw html. * * @param string $content The raw content form child element. * * @return array * @throws \RuntimeException|\JsonException When json error found. */ public function collect_child_json_props(string $content): array { } /** * Collect actual props from child module with escaping raw html. * * @param string $content The raw content form child element. * * @return string */ public function json_format_raw_props(string $content): string { } /** * Collect all modules from Divi Builder. * * @param array $modules_array All modules array. * @param array $allowed_prefix The allowed prefix list. * * @return array */ public function get_all_modules(array $modules_array, array $allowed_prefix = array()): array { } /** * Clean order class name from the class list for current module. * * @param array $classnames All CSS classes name the module has. * @param string $slug Utils slug. * * @return array */ public function clean_order_class(array $classnames, string $slug): array { } /** * Get margin and padding selectors for main and hover * * @param string $main_css_element Main css selector of element. * * @return array{use_padding: bool, use_margin: bool, css: array{important: string, margin: string, padding: string}} */ public function selectors_margin_padding(string $main_css_element): array { } /** * Get max_width selectors for main and hover * * @param string $main_css_element Main css selector of an element. * * @return array> */ public function selectors_max_width(string $main_css_element): array { } /** * Get default selectors for main and hover * * @param string $main_css_element Main css selector of element. * * @return array{css: array{main: string, hover: string}} */ public function selectors_default(string $main_css_element): array { } /** * Get background selectors for main and hover * * @param string $main_css_element Main css selector of an element. * * @return array{settings: array{color: string}, css: array{main: string, hover: string}} */ public function selectors_background(string $main_css_element): array { } /** * Convert field name into css property name. * * @param string $field Field name. * * @return string|string[] */ public function field_to_css_prop(string $field) { } } /** * Fields Trait * * @since 1.5.0 * @since 3.3.3 Migrate to the new structure. * @package DiviSquad */ trait Fields_Trait { /** * Get HTML tag elements for text item. * * @return array */ public function get_html_tag_elements(): array { } /** * Default fields for Heading toggles. * * @param string $field_label The heading toggle label name. * @param int $priority The toggle priority, default is 55. * * @return array */ public function get_heading_toggles(string $field_label, int $priority = 55): array { } /** * Get heading elements for toggles. * * @return string[][] */ public function get_heading_elements(): array { } /** * Get Block elements for toggles. * * @return string[][] */ public function get_block_elements(): array { } /** * Add text clip settings. * * @param array $options The options for text clip fields. * * @return array */ public function get_text_clip_fields(array $options = array()): array { } /** * Add Z Index fields for element. * * @param array $options The options for z index fields. * * @return array */ public function add_z_index_field(array $options = array()): array { } /** * Get general fields. * * @return array[] */ public function get_general_fields(): array { } } } namespace DiviSquad\Builder\Version4\Supports\Module_Helpers\Fields { /** * Compatibility Trait * * Handles compatibility for migrating files from previous plugin structures. * * @since 1.5.0 * @since 3.3.3 Migrate to the new structure. * @package DiviSquad */ trait Compatibility_Trait { /** * Fix border transition issues. * * @param array $fields The defined fields list. * @param string $slug The slug of the current module. * @param string $selector The css selector. * * @return array */ public function fix_border_transition(array &$fields, string $slug, string $selector): array { } /** * Fix font style transition issues. * * Take all the attributes from divi advanced 'fonts' field and set the transition with given selector. * * @param array $fields The defined fields list. * @param string $slug The slug of the current module. * @param string $selector The css selector. * * @return array $fields */ public function fix_fonts_transition(array &$fields, string $slug, string $selector): array { } /** * Fix box-shadow transition issues. * * @param array $fields The defined fields list. * @param string $slug The slug of the current module. * @param string $selector The css selector. * * @return array */ public function fix_box_shadow_transition(array &$fields, string $slug, string $selector): array { } } /** * Fields Definition Trait * * @since 1.5.0 * @package DiviSquad */ trait Definition_Trait { /** * Adds a filter field configuration for Divi modules. * * @since 1.0.0 * * @see Divi/includes/builder/module/woocommerce/CartProducts.php:217 * @see Divi/includes/builder/module/Blurb.php:144 * * @see Divi/includes/builder/class-et-builder-element.php:7607] * * @param array $options The options for the filter field. * * @return array The filter configuration array. */ public function add_filters_field(array $options): array { } /** * Adds a border field configuration for Divi modules. * * @since 3.2.0 * * @param string $label The label for the border field. * @param array $args Optional. An array of arguments to customize the field. * * @return array Configured border field array for use in Divi modules. */ public function add_border_field(string $label, array $args = array()): array { } /** * Adds a box shadow field configuration for Divi modules. * * @since 1.0.0 * @since 3.2.0 Improved flexibility and alignment with Divi standards. * * @param string $label The label for the box shadow field. * @param array $args Optional. An array of arguments to customize the field. * * @return array Configured box shadow field array for use in Divi modules. */ public function add_box_shadow_field(string $label, array $args = array()): array { } /** * Adds a yes/no field configuration for Divi modules. * * @since 1.0.0 * * @param string $label The field label. * @param array $properties Additional properties for the field. * * @return array The yes/no field configuration array. */ public function add_yes_no_field(string $label, array $properties = array()): array { } /** * Adds a color field configuration for Divi modules. * * @since 1.0.0 * * @param string $label The field label. * @param array $properties Additional properties for the field. * * @return array The color field configuration array. */ public function add_color_field(string $label, array $properties = array()): array { } /** * Adds a media upload (image) field configuration for Divi modules. * * @since 4.0.0 * * @param string $label The field label. * @param array $properties Additional properties for the field. * * @return array The upload field configuration array. */ public function add_media_upload_field(string $label, array $properties = array()): array { } /** * Adds a select box field configuration for Divi modules. * * @since 1.0.0 * * @param string $label The field label. * @param array $properties Additional properties for the field. * * @return array The select box field configuration array. */ public function add_select_box_field(string $label, array $properties = array()): array { } /** * Adds a placement field configuration for Divi modules. * * @since 1.0.0 * * @param string $label The field label. * @param array $properties Additional properties for the field. * * @return array The placement field configuration array. */ public function add_placement_field(string $label, array $properties = array()): array { } /** * Adds a alignment field configuration for Divi modules. * * @since 1.0.0 * * @param string $label The field label. * @param array $properties Additional properties for the field. * * @return array The alignment field configuration array. */ public function add_alignment_field(string $label, array $properties = array()): array { } /** * Adds transition fields for a module. * * @since 1.0.0 * * @param array $options The options for transition fields. * * @return array The transition field configuration array. */ public function add_transition_fields(array $options = array()): array { } /** * Adds a range field configuration for Divi modules. * * @since 1.0.0 * * @param string $label The field label. * @param array $properties Additional properties for the field. * @param array $conditions Additional conditions for the field. * * @return array The range field configuration array. */ public function add_range_field(string $label, array $properties = array(), array $conditions = array()): array { } /** * Adds a font field configuration for Divi modules. * * @since 1.0.0 * * @param string $label The field label. * @param array $properties Additional properties for the field. * * @return array The font field configuration array. */ public function add_font_field(string $label, array $properties = array()): array { } /** * Adds a margin and padding field configuration for Divi modules. * * @since 1.0.0 * * @param string $label The field label. * @param array $properties Additional properties for the field. * * @return array The margin and padding field configuration array. */ public function add_margin_padding_field(string $label, array $properties = array()): array { } } } namespace DiviSquad\Builder\Version4\Supports { /** * Builder Utils Class * * @since 1.5.0 * @since 3.3.3 Migrate to the new structure. * @package DiviSquad */ final class Module_Helper { use \DiviSquad\Builder\Version4\Supports\Module_Helpers\Deprecations_Trait; use \DiviSquad\Builder\Version4\Supports\Module_Helpers\Common_Trait; use \DiviSquad\Builder\Version4\Supports\Module_Helpers\Fields_Trait; use \DiviSquad\Builder\Version4\Supports\Module_Helpers\Fields\Compatibility_Trait; use \DiviSquad\Builder\Version4\Supports\Module_Helpers\Fields\Definition_Trait; /** * Connect a module with its utilities. * * @param Module $module The module to connect. * * @return Module_Utility The module utilities instance. */ public function connect(\DiviSquad\Builder\Version4\Abstracts\Module $module): \DiviSquad\Builder\Version4\Supports\Module_Utility { } } } namespace DiviSquad\Builder\Version4\Supports\Module_Utilities { /** * Divider Utils Helper Class * * @since 1.5.0 * @package DiviSquad */ class Divider extends \DiviSquad\Builder\Version4\Abstracts\Module_Utility { /** * Get show options for divider. * * @return array */ public function get_show_options(): array { } /** * Get the default data. * * @param string $field The field name to retrieve the default for. * * @return string */ public function get_default(string $field): string { } /** * Get the default data. * * @return array */ public function get_defaults(): array { } /** * Get the default data for initiate. * * @return void The shape */ public function initiate_element(): void { } /** * Get the field for divider module * * @param array $options The options for divider module fields. * * @return array the field */ public function get_fields(array $options = array()): array { } } } namespace DiviSquad\Builder\Version4\Supports\Module_Utilities\Fields { /** * Processor Trait * * @since 1.5.0 * @since 3.3.3 Migrate to the new structure. * @package DiviSquad */ class CSS_Generations extends \DiviSquad\Builder\Version4\Abstracts\Module_Utility { /** * Process styles for width fields in the module. * * @since 1.0.0 * * @param array $options Options of current width. * * @return void */ public function generate_additional_styles(array $options = array()): void { } /** * Collect any props value from mapping values. * * @param array $options The option array data. * @param string $qualified_name The current field name. * @param string $last_modified_key The last modified key. * * @return array */ public function collect_prop_value_responsive(array $options, string $qualified_name, string $last_modified_key): array { } /** * Process styles for responsive in the module. * * @param array $options The options property for processing styles. * * @return void */ public function process_responsive_styles(array $options): void { } /** * Set actual position for icon or image in show on hover effect for the current element with default, responsive and hover. * * @since 1.0.0 * * @param array $options Options of current width. * * @return void */ public function generate_show_icon_on_hover_styles(array $options = array()): void { } /** * Check in current module and retrieve necessary values for hover effects. * * @since 1.0.0 * * @param array $props Current module properties. * @param array $options Option for toggle fields. * * @return array */ public function get_icon_hover_effect_prop_width(array $props, array $options = array()): array { } /** * Generate CSS from hover effects. * * @since 1.0.0 * * @param array $props Map of properties to parse. * @param array $options Field options. * * @return string */ protected function hover_effect_generate_css(array $props, array $options = array()): string { } /** * Collect any props value from mapping values. * * @param array $options The option array data. * @param string $current_value The current field value. * * @return mixed */ public function collect_prop_mapping_value(array $options, string $current_value) { } /** * Process styles for margin and padding fields in the module. * * @since 1.0.0 * * @param array $options Options of current width. * * @return void */ public function generate_margin_padding_styles(array $options = array()): void { } /** * Process Text Clip styles. * * @param array $options The additional options for processing text clip features. * * @return void */ public function generate_text_clip_styles(array $options = array()): void { } /** * Process divider styles. * * @param array $options The additional options for processing divider features. * * @return void */ public function generate_divider_styles(array $options = array()): void { } } /** * Field Definitions Class * * Provides utility methods for defining form field structures in modules. * * @since 1.5.0 * @package DiviSquad */ class Definitions extends \DiviSquad\Builder\Version4\Abstracts\Module_Utility { /** * Add button fields. * * @param array $options The options for button fields. * * @return array */ public function get_button_fields(array $options = array()): array { } /** * Add button associated fields. * * @param array $options The options for button fields. * * @return array */ public function get_button_associated_fields(array $options = array()): array { } /** * Adds a background field configuration for Divi modules. * * @since 1.0.0 * * @param array $properties Properties for the background field. * * @return array The background field configuration array. */ public function add_background_field(array $properties = array()): array { } /** * Gets background field options for Divi modules. * * @since 1.0.0 * * @param array $properties Additional properties for the field. * * @return array Background field options. */ public function get_background_field_options(array $properties = array()): array { } /** * Adds all background fields for Divi modules. * * @since 1.0.0 * * @param array $properties Additional properties for the field. * @param array $background_fields The additional background fields for the current field. * * @return array Complete background field configuration. */ protected function add_background_fields(array $properties = array(), array $background_fields = array()): array { } /** * Adds a background gradient field configuration for Divi modules. * * @since 1.0.0 * * @param array $properties Additional properties for the field. * * @return array The background gradient field configuration array. */ public function add_background_gradient_field(array $properties = array()): array { } } } namespace DiviSquad\Builder\Version4\Supports { /** * Module Utilities Provider Class * * This class serves as a container for utility instances specific to a module. * It allows sharing the Module_Helper singleton while keeping module-specific utilities. * * @since 1.5.0 * @package DiviSquad * * @property Divider $divider The divider utility * @property Breadcrumbs $breadcrumbs The breadcrumbs utility * @property Shapes $masking_shapes The mask shape utility * @property Decorations $masking_decorations The mask shape utility * @property Field_Definitions $field_definitions The field definitions utility * @property Field_CSS_Generations $field_css_generations The field CSS generations utility */ class Module_Utility { /** * The module instance * * @var Module */ private \DiviSquad\Builder\Version4\Abstracts\Module $module; /** * Utility instances cache * * @var array */ private array $utilities = array(); /** * Utility class mapping * * @var array */ private array $utility_classes = array('divider' => \DiviSquad\Builder\Version4\Supports\Module_Utilities\Divider::class, 'breadcrumbs' => \DiviSquad\Builder\Shared\Supports\Module_Utilities\Breadcrumbs::class, 'masking_shapes' => \DiviSquad\Builder\Shared\Supports\Module_Utilities\Masking\Shapes::class, 'masking_decorations' => \DiviSquad\Builder\Shared\Supports\Module_Utilities\Masking\Decorations::class, 'field_definitions' => \DiviSquad\Builder\Version4\Supports\Module_Utilities\Fields\Definitions::class, 'field_css_generations' => \DiviSquad\Builder\Version4\Supports\Module_Utilities\Fields\CSS_Generations::class); /** * Constructor * * @param Module $module The module instance. */ public function __construct(\DiviSquad\Builder\Version4\Abstracts\Module $module) { } /** * Magic getter to access utility instances * * @param string $name The utility name. * * @return mixed The utility instance */ public function __get(string $name) { } /** * Check if a utility exists * * @param string $name The utility name. * * @return bool Whether the utility exists */ public function __isset(string $name): bool { } } } namespace DiviSquad\Builder\Version5\Abstracts { /** * Abstract Module class for Divi 5. * * Implements {@see DependencyInterface} so instances can be added to Divi 5's * `DependencyTree`. The tree calls {@see Module::load()}, which schedules * {@see Module::register_module()} on `init` to register the block with Divi's * module library using the module's `module.json` metadata. * * @since 3.4.0 * * @see DependencyInterface */ abstract class Module implements \ET\Builder\Framework\DependencyManagement\Interfaces\DependencyInterface { /** * Relative path (from the plugin root) to the built `module.json` metadata folder. * * The folder is produced by the Divi 5 (block) webpack build and lives under * `build/divi-builder-5/modules-json//`. Concrete modules return the * path with leading and trailing slashes, e.g. `/build/divi-builder-5/modules-json/google-map/`. * * @since 3.4.0 * * @return string Relative metadata folder path. */ abstract protected static function get_metadata_folder_path(): string; /** * Render the module's frontend HTML. * * Receives the resolved Divi 5 block attributes and renders the markup that is * output on the frontend. Signature matches the callback Divi invokes via * {@see ModuleRegistration::register_module()}. * * @since 3.4.0 * * @param array $attrs Block attributes. * @param string $content Inner (child) block content. * @param \WP_Block $block Parsed block instance. * @param object $elements Divi 5 ModuleElements helper for rendering/styling. * * @return string Rendered HTML. */ abstract public static function render_callback(array $attrs, string $content, \WP_Block $block, $elements): string; /** * Register the module with Divi 5's module library. * * Resolves the absolute metadata folder from the plugin root and passes the * module's render callback to {@see ModuleRegistration::register_module()}. * * @since 3.4.0 * * @return void */ public static function register_module(): void { } /** * Load the module. * * Called by Divi 5's `DependencyTree` while it loads its dependencies * (`Modules::initialize()` → `DependencyTree::load_dependencies()`). Divi's own * core modules (e.g. `BlurbModule::load()`) register synchronously here, so we * do the same: the dependency tree is loaded at/after `init` has already fired, * which means deferring registration to the `init` action would miss it entirely * on the frontend (the block would then render nothing). Registering immediately * mirrors Divi core and ensures the render callback is available on both the * Visual Builder and the frontend. * * @since 3.4.0 * * @return void */ public function load(): void { } /** * Resolve a URL from a Divi 5 `divi/upload` (or image) field value. * * Divi 5 stores upload/image field values as an object — e.g. * `array( 'src' => '…', 'id' => '…', 'alt' => '…', 'width' => '…', 'height' => '…' )` — * not as a plain URL string. Render callbacks that treat the value as a string * therefore emit "Array" (and a PHP notice). This helper accepts either shape and * always returns the URL string: the `src` key when given the object, the value * itself when given a string (e.g. a remote URL text field), or an empty string. * * @since 3.4.0 * * @param mixed $value Upload field value (object array or string). * * @return string Resolved URL, or empty string when none. */ protected static function resolve_upload_url($value): string { } } /** * Abstract Form Styler module class for Divi 5. * * @since 3.4.0 */ abstract class Form_Styler extends \DiviSquad\Builder\Version5\Abstracts\Module { /** * The Squad forms-element type key for the concrete module (e.g. `cf7`). * * Used to resolve the selected form id and to look the form up via * {@see \DiviSquad\Builder\Utils\Elements\Forms::get_forms_by()}. * * @since 3.4.0 * * @return string */ abstract protected static function get_form_type(): string; /** * Whether the third-party form plugin this module styles is active. * * @since 3.4.0 * * @return bool */ abstract protected static function is_form_plugin_active(): bool; /** * Render the embedded third-party form's HTML for the given (raw) form id. * * @since 3.4.0 * * @param string $form_id Raw form id resolved from the picker value. * @param array $inner The module's form-group inner-content values. * * @return string */ abstract protected static function get_form_html(string $form_id, array $inner): string; /** * The style group attribute names (beyond `module`) this module emits. * * Each name corresponds to a `module.json` attribute whose `selector` targets the * embedded form's markup. Concrete modules may override to add/remove groups (e.g. * Gravity Forms adds `formTitle`/`formDescription`). * * @since 3.4.0 * * @return array */ protected static function get_style_group_attr_names(): array { } /** * Resolve the raw form id from the picker value. * * The picker stores the forms-element key (which may be a hashed key, matching the * Divi 4 form styler); this maps it back to the raw id the plugin's embed expects. * * @since 3.4.0 * * @param string $picker_value The stored form picker value. * * @return string Raw form id, or empty string when unresolved. */ protected static function resolve_form_id(string $picker_value): string { } /** * Add the module classnames. * * @since 3.4.0 * * @param array $args Classnames arguments. * * @return void */ public static function module_classnames(array $args): void { } /** * Assign the module's frontend script data. * * @since 3.4.0 * * @param array $args Script data arguments. * * @return void */ public static function module_script_data(array $args): void { } /** * Register the module style declarations. * * Emits the standard module styles plus one style block per form style group declared * by {@see self::get_style_group_attr_names()}. Each group's CSS (background, border, * font, spacing, box-shadow) is generated by Divi from the group's `module.json` * decoration settings and `selector`. * * @since 3.4.0 * * @param array $args Style arguments provided by Divi. * * @return void */ public static function module_styles(array $args): void { } /** * Render callback for a form-styler module. * * @since 3.4.0 * * @param array $attrs Block attributes. * @param string $content Inner content. * @param WP_Block $block Parsed block instance. * @param object $elements ModuleElements instance. * * @return string Rendered HTML. */ public static function render_callback(array $attrs, string $content, \WP_Block $block, $elements): string { } /** * Render a builder notice block. * * @since 3.4.0 * * @param string $message The message to show. * * @return string */ protected static function render_notice(string $message): string { } /** * Render dummy error + success message blocks for the VB preview. * * Concrete modules can override to emit their plugin's exact message markup so the * Error/Success style groups apply. The default emits generic blocks. * * @since 3.4.0 * * @return string */ protected static function render_dummy_messages(): string { } } } namespace DiviSquad\Builder\Version5\Modules\Content { /** * Author Box module class. * * @since 4.0.0 */ class Author_Box extends \DiviSquad\Builder\Version5\Abstracts\Module { /** * Relative path to the generated module.json metadata folder. * * @since 4.0.0 * * @return string */ protected static function get_metadata_folder_path(): string { } /** * Add the module classnames. * * @since 4.0.0 * * @param array $args Classnames arguments. * * @return void */ public static function module_classnames(array $args): void { } /** * Assign the module's frontend script data. * * @since 4.0.0 * * @param array $args Script data arguments. * * @return void */ public static function module_script_data(array $args): void { } /** * Register the module style declarations. * * @since 4.0.0 * * @param array $args Style arguments provided by Divi. * * @return void */ public static function module_styles(array $args): void { } /** * Render callback for the Author Box module. * * @since 4.0.0 * * @param array $attrs Block attributes. * @param string $content Inner content. * @param WP_Block $block Parsed block instance. * @param object $elements ModuleElements instance. * * @return string Rendered HTML. */ public static function render_callback(array $attrs, string $content, \WP_Block $block, $elements): string { } /** * Resolve the author WP_User from inner content attrs or current post context. * * @since 4.0.0 * * @param array $inner The module's content inner values. * * @return WP_User|false */ protected static function resolve_author(array $inner) { } /** * Render the avatar block. * * @since 4.0.0 * * @param WP_User $user The author user object. * @param array $inner The module's content inner values. * * @return string */ protected static function render_avatar(\WP_User $user, array $inner): string { } /** * Render the content block (name + bio + links). * * @since 4.0.0 * * @param WP_User $user The author user object. * @param array $inner The module's content inner values. * * @return string */ protected static function render_content(\WP_User $user, array $inner): string { } /** * Render the author name element. * * @since 4.0.0 * * @param WP_User $user The author user object. * @param array $inner The module's content inner values. * * @return string */ protected static function render_name(\WP_User $user, array $inner): string { } /** * Render the author bio element. * * @since 4.0.0 * * @param WP_User $user The author user object. * @param array $inner The module's content inner values. * * @return string */ protected static function render_bio(\WP_User $user, array $inner): string { } /** * Render the links block. * * @since 4.0.0 * * @param WP_User $user The author user object. * @param array $inner The module's content inner values. * * @return string */ protected static function render_links(\WP_User $user, array $inner): string { } /** * Render the "View all posts" link. * * @since 4.0.0 * * @param WP_User $user The author user object. * @param array $inner The module's content inner values. * * @return string */ protected static function render_posts_link(\WP_User $user, array $inner): string { } /** * Render the author website link. * * @since 4.0.0 * * @param WP_User $user The author user object. * @param array $inner The module's content inner values. * * @return string */ protected static function render_website_link(\WP_User $user, array $inner): string { } } /** * Business Hours Module class. * * @since 3.4.0 */ class Business_Hours extends \DiviSquad\Builder\Version5\Abstracts\Module { /** * Relative path to the generated module.json metadata folder. * * @since 3.4.0 * * @return string */ protected static function get_metadata_folder_path(): string { } /** * Add the module classnames. * * @since 3.4.0 * * @param array $args Classnames arguments. * * @return void */ public static function module_classnames(array $args): void { } /** * Assign the module's frontend script data. * * @since 3.4.0 * * @param array $args Script data arguments. * * @return void */ public static function module_script_data(array $args): void { } /** * Register the module style declarations. * * @since 3.4.0 * * @param array $args Style arguments provided by Divi. * * @return void */ public static function module_styles(array $args): void { } /** * Render callback for the Business Hours module. * * @since 3.4.0 * * @param array $attrs Block attributes. * @param string $child_modules_content Rendered child (Business Day) content. * @param WP_Block $block Parsed block instance. * @param object $elements ModuleElements instance. * * @return string Rendered HTML. */ public static function render_callback(array $attrs, string $child_modules_content, \WP_Block $block, $elements): string { } } /** * Business Day (child) Module class. * * @since 3.4.0 */ class Business_Hours_Child extends \DiviSquad\Builder\Version5\Abstracts\Module { /** * Relative path to the generated module.json metadata folder. * * @since 3.4.0 * * @return string */ protected static function get_metadata_folder_path(): string { } /** * Add the module classnames. * * @since 3.4.0 * * @param array $args Classnames arguments. * * @return void */ public static function module_classnames(array $args): void { } /** * Assign the module's frontend script data. * * @since 3.4.0 * * @param array $args Script data arguments. * * @return void */ public static function module_script_data(array $args): void { } /** * Register the module style declarations. * * @since 3.4.0 * * @param array $args Style arguments provided by Divi. * * @return void */ public static function module_styles(array $args): void { } /** * Render callback for the Business Day (child) module. * * @since 3.4.0 * * @param array $attrs Block attributes. * @param string $content Inner content. * @param WP_Block $block Parsed block instance. * @param object $elements ModuleElements instance. * * @return string Rendered HTML. */ public static function render_callback(array $attrs, string $content, \WP_Block $block, $elements): string { } /** * Build a single day row from Divi 5 attributes. * * @since 3.4.0 * * @param array $attrs Block attributes. * * @return string */ private static function render_day(array $attrs): string { } } /** * Flip Box Module class. * * @since 3.4.0 */ class Flip_Box extends \DiviSquad\Builder\Version5\Abstracts\Module { /** * Relative path to the generated module.json metadata folder. * * @since 3.4.0 * * @return string */ protected static function get_metadata_folder_path(): string { } /** * Add the module classnames. * * @since 3.4.0 * * @param array $args Classnames arguments. * * @return void */ public static function module_classnames(array $args): void { } /** * Assign the module's frontend script data. * * @since 3.4.0 * * @param array $args Script data arguments. * * @return void */ public static function module_script_data(array $args): void { } /** * Register the module style declarations. * * @since 3.4.0 * * @param array $args Style arguments provided by Divi. * * @return void */ public static function module_styles(array $args): void { } /** * Render callback for the Flip Box module. * * @since 3.4.0 * * @param array $attrs Block attributes saved by the Visual Builder. * @param string $content Inner (child) block content. * @param WP_Block $block Parsed block instance. * @param object $elements ModuleElements instance. * * @return string Rendered HTML. */ public static function render_callback(array $attrs, string $content, \WP_Block $block, $elements): string { } /** * Build the flip box markup from Divi 5 attributes. * * @since 3.4.0 * * @param array $attrs Block attributes. * * @return string */ private static function render_flip_box(array $attrs): string { } /** * Render a single flip slide (front or back). * * @since 3.4.0 * * @param string $side Slide side ('front' | 'back'). * @param array $content Slide content values. * @param array $button Slide button values. * * @return string */ private static function render_slide(string $side, array $content, array $button): string { } } /** * Hover Box Module class (Divi 5). * * @since 4.2.0 */ class Hover_Box extends \DiviSquad\Builder\Version5\Abstracts\Module { /** * Relative path to the generated module.json metadata folder. * * @since 4.2.0 * * @return string */ protected static function get_metadata_folder_path(): string { } /** * Add the module classnames. * * @since 4.2.0 * * @param array $args Classnames arguments. * * @return void */ public static function module_classnames(array $args): void { } /** * Assign the module's frontend script data. * * @since 4.2.0 * * @param array $args Script data arguments. * * @return void */ public static function module_script_data(array $args): void { } /** * Register the module style declarations. * * D5 DYNAMIC CSS PATTERN: ALL dynamic CSS (box height, overlay bg/opacity, * icon color/size) is emitted via Style::add using $args['orderClass'] as the * CSS selector prefix — NEVER a self-computed uid or inline
  • ` items by replacing each post's element markers. * * Shared by the initial render and the load-more REST endpoint. * * @since 3.4.0 * * @param string $template The child marker template (``). * @param WP_Query $query The post query (already executed, with posts). * @param string $item_tag Wrapper tag for each post (default `li`). * @param string $item_class Extra class on each post wrapper (e.g. `swiper-slide`). * * @return string */ public static function render_post_items(string $template, \WP_Query $query, string $item_tag = 'li', string $item_class = ''): string { } /** * Render the next page of grid items for the load-more REST endpoint. * * @since 3.4.0 * * @param array $client_args Query arguments sent by the frontend. * @param string $template The decoded child marker template. * * @return string The rendered `
  • ` items, or an empty string when no posts remain. */ public static function render_more_posts(array $client_args, string $template): string { } /** * Build the client-side query arguments carried in the load-more data block. * * @since 3.4.0 * * @param array $inner Query inner-content values. * * @return array */ protected static function build_client_query_args(array $inner): array { } /** * Render the AJAX load-more button + data block when enabled. * * Emits the same DOM contract as the Divi 4 module so the shared * `play-load-more-posts` frontend script can drive it. The marker template is * base64-encoded so its HTML comments survive REST request sanitisation. * * @since 3.4.0 * * @param array $inner Query inner-content values. * @param WP_Query $query The post query. * @param string $template The child marker template. * * @return string */ protected static function render_load_more(array $inner, \WP_Query $query, string $template): string { } /** * Render a single post element from its child config + the current post. * * @since 3.4.0 * * @param array $config The child element configuration. * @param WP_Post $post The current post. * * @return string */ protected static function render_post_element(array $config, \WP_Post $post): string { } /** * Inject the optional element icon for eligible element types. * * @since 3.4.0 * * @param string $html The rendered element HTML. * @param array $config Element config. * @param string $element The element type. * @param string $class The element wrapper class. * * @return string */ protected static function maybe_prepend_icon(string $html, array $config, string $element, string $class): string { } /** * Title element. * * @param array $config Element config. * @param WP_Post $post Post. * @param string $class Wrapper class. * * @return string */ protected static function element_title(array $config, \WP_Post $post, string $class): string { } /** * Featured image element. * * @param array $config Element config. * @param WP_Post $post Post. * @param string $class Wrapper class. * * @return string */ protected static function element_image(array $config, \WP_Post $post, string $class): string { } /** * Content / excerpt element. * * @param array $config Element config. * @param WP_Post $post Post. * @param string $class Wrapper class. * * @return string */ protected static function element_content(array $config, \WP_Post $post, string $class): string { } /** * Author element. * * @param array $config Element config. * @param WP_Post $post Post. * @param string $class Wrapper class. * * @return string */ protected static function element_author(array $config, \WP_Post $post, string $class): string { } /** * Date element. * * @param array $config Element config. * @param WP_Post $post Post. * @param string $class Wrapper class. * * @return string */ protected static function element_date(array $config, \WP_Post $post, string $class): string { } /** * Read more element. * * @param array $config Element config. * @param WP_Post $post Post. * @param string $class Wrapper class. * * @return string */ protected static function element_read_more(array $config, \WP_Post $post, string $class): string { } /** * Comments count element. * * @param array $config Element config. * @param WP_Post $post Post. * @param string $class Wrapper class. * * @return string */ protected static function element_comments(array $config, \WP_Post $post, string $class): string { } /** * Author avatar (gravatar) element. * * @param array $config Element config. * @param WP_Post $post Post. * @param string $class Wrapper class. * * @return string */ protected static function element_gravatar(array $config, \WP_Post $post, string $class): string { } /** * Custom field (post meta) element. * * @param array $config Element config. * @param WP_Post $post Post. * @param string $class Wrapper class. * * @return string */ protected static function element_custom_field(array $config, \WP_Post $post, string $class): string { } /** * Advanced Custom Field (ACF) element. * * @param array $config Element config. * @param WP_Post $post Post. * @param string $class Wrapper class. * * @return string */ protected static function element_acf(array $config, \WP_Post $post, string $class): string { } /** * Categories element. * * @param array $config Element config. * @param WP_Post $post Post. * @param string $class Wrapper class. * * @return string */ protected static function element_categories(array $config, \WP_Post $post, string $class): string { } /** * Tags element. * * @param array $config Element config. * @param WP_Post $post Post. * @param string $class Wrapper class. * * @return string */ protected static function element_tags(array $config, \WP_Post $post, string $class): string { } /** * Custom text element. * * @param array $config Element config. * @param string $class Wrapper class. * * @return string */ protected static function element_custom_text(array $config, string $class): string { } /** * Restrict a title tag to a safe set. * * @param string $tag The requested tag. * * @return string */ protected static function sanitize_tag(string $tag): string { } /** * Render numbered pagination for the query when enabled. * * @since 3.4.0 * * @param array $inner Query inner-content values. * @param WP_Query $query The post query. * * @return string */ protected static function render_pagination(array $inner, \WP_Query $query): string { } /** * Render a pagination entry icon from an icon-picker value. * * @since 3.4.0 * * @param string $icon The icon-picker value. * @param string $dir Either `old` (previous) or `next`. * * @return string */ protected static function render_pagination_icon(string $icon, string $dir): string { } /** * Render a builder notice block. * * @param string $message The message. * * @return string */ protected static function render_notice(string $message): string { } } /** * Post Element module class. * * @since 3.4.0 */ class Post_Grid_Child extends \DiviSquad\Builder\Version5\Abstracts\Module { /** * Relative path to the generated module.json metadata folder. * * @since 3.4.0 * * @return string */ protected static function get_metadata_folder_path(): string { } /** * Add the module classnames. * * @since 3.4.0 * * @param array $args Classnames arguments. * * @return void */ public static function module_classnames(array $args): void { } /** * Assign the module's frontend script data. * * @since 3.4.0 * * @param array $args Script data arguments. * * @return void */ public static function module_script_data(array $args): void { } /** * Register the module style declarations. * * @since 3.4.0 * * @param array $args Style arguments provided by Divi. * * @return void */ public static function module_styles(array $args): void { } /** * Render callback for a Post Element. * * @since 3.4.0 * * @param array $attrs Block attributes. * @param string $content Inner content. * @param WP_Block $block Parsed block instance. * @param object $elements ModuleElements instance. * * @return string Rendered HTML (the per-post config marker, wrapped by the module). */ public static function render_callback(array $attrs, string $content, \WP_Block $block, $elements): string { } } /** * Post Reading Time module class. * * @since 3.4.0 */ class Post_Reading_Time extends \DiviSquad\Builder\Version5\Abstracts\Module { /** * Relative path to the generated module.json metadata folder. * * @since 3.4.0 * * @return string */ protected static function get_metadata_folder_path(): string { } /** * Add the module classnames. * * @since 3.4.0 * * @param array $args Classnames arguments. * * @return void */ public static function module_classnames(array $args): void { } /** * Assign the module's frontend script data. * * @since 3.4.0 * * @param array $args Script data arguments. * * @return void */ public static function module_script_data(array $args): void { } /** * Register the module style declarations. * * @since 3.4.0 * * @param array $args Style arguments provided by Divi. * * @return void */ public static function module_styles(array $args): void { } /** * Render callback for the Post Reading Time module. * * @since 3.4.0 * * @param array $attrs Block attributes. * @param string $content Inner content. * @param WP_Block $block Parsed block instance. * @param object $elements ModuleElements instance. * * @return string Rendered HTML. */ public static function render_callback(array $attrs, string $content, \WP_Block $block, $elements): string { } /** * Render an optional prefix/suffix text element (empty when no text set). * * @since 3.4.0 * * @param string $text The text value. * @param string $css_selector The element classes. * * @return string */ protected static function render_optional_text(string $text, string $css_selector): string { } /** * Restrict the time text tag to a safe set of HTML elements. * * @since 3.4.0 * * @param string $tag The requested tag. * * @return string */ protected static function sanitize_tag(string $tag): string { } /** * Calculate the estimated reading time for the current post. * * Mirrors the Divi 4 module's calculation (words / words-per-minute, plus optional * image and comment time). Returns an empty string when there is no current post. * * @since 3.4.0 * * @param array $inner The module's content inner values. * * @return string Reading time as a string (e.g. `5` or `< 1`), or empty. */ protected static function calculate_reading_time(array $inner): string { } /** * Additional reading-time words contributed by images. * * First image adds 12s, second 11s, … image 10+ adds 3s (converted to word-equivalent). * * @since 3.4.0 * * @param int $total_images Number of images in the content. * @param int $words_per_minute Words-per-minute setting. * * @return float */ protected static function calculate_images_time(int $total_images, int $words_per_minute): float { } } } namespace DiviSquad\Builder\Version5\Modules\Forms { /** * Contact Form 7 Styler module class. * * @since 3.4.0 */ class Contact_Form_7 extends \DiviSquad\Builder\Version5\Abstracts\Form_Styler { /** * Relative path to the generated module.json metadata folder. * * @since 3.4.0 * * @return string */ protected static function get_metadata_folder_path(): string { } /** * The Squad forms-element type key. * * @since 3.4.0 * * @return string */ protected static function get_form_type(): string { } /** * Whether Contact Form 7 is active. * * @since 3.4.0 * * @return bool */ protected static function is_form_plugin_active(): bool { } /** * Render the Contact Form 7 form HTML for the given form id. * * @since 3.4.0 * * @param string $form_id Raw CF7 form id. * @param array $inner Form-group inner-content values. * * @return string */ protected static function get_form_html(string $form_id, array $inner): string { } } /** * Fluent Forms Styler module class. * * @since 3.4.0 */ class Fluent_Forms extends \DiviSquad\Builder\Version5\Abstracts\Form_Styler { /** * Relative path to the generated module.json metadata folder. * * @since 3.4.0 * * @return string */ protected static function get_metadata_folder_path(): string { } /** * The Squad forms-element type key. * * @since 3.4.0 * * @return string */ protected static function get_form_type(): string { } /** * Whether Fluent Forms is active. * * @since 3.4.0 * * @return bool */ protected static function is_form_plugin_active(): bool { } /** * Render the Fluent Forms form HTML for the given form id. * * @since 3.4.0 * * @param string $form_id Raw Fluent Forms form id. * @param array $inner Form-group inner-content values. * * @return string */ protected static function get_form_html(string $form_id, array $inner): string { } } /** * Formidable Forms Styler module class. * * @since 3.4.0 */ class Formidable extends \DiviSquad\Builder\Version5\Abstracts\Form_Styler { /** * Relative path to the generated module.json metadata folder. * * @since 3.4.0 * * @return string */ protected static function get_metadata_folder_path(): string { } /** * The Squad forms-element type key. * * @since 3.4.0 * * @return string */ protected static function get_form_type(): string { } /** * Whether Formidable Forms is active. * * @since 3.4.0 * * @return bool */ protected static function is_form_plugin_active(): bool { } /** * Render the Formidable Forms form HTML for the given form id. * * @since 3.4.0 * * @param string $form_id Raw Formidable Forms form id. * @param array $inner Form-group inner-content values. * * @return string */ protected static function get_form_html(string $form_id, array $inner): string { } } /** * Forminator Styler module class. * * @since 3.4.0 */ class Forminator extends \DiviSquad\Builder\Version5\Abstracts\Form_Styler { /** * Relative path to the generated module.json metadata folder. * * @since 3.4.0 * * @return string */ protected static function get_metadata_folder_path(): string { } /** * The Squad forms-element type key. * * @since 3.4.0 * * @return string */ protected static function get_form_type(): string { } /** * Whether Forminator is active. * * @since 3.4.0 * * @return bool */ protected static function is_form_plugin_active(): bool { } /** * Render the Forminator form HTML for the given form id. * * @since 3.4.0 * * @param string $form_id Raw Forminator form id. * @param array $inner Form-group inner-content values. * * @return string */ protected static function get_form_html(string $form_id, array $inner): string { } } /** * Gravity Forms Styler module class. * * @since 3.4.0 */ class Gravity_Forms extends \DiviSquad\Builder\Version5\Abstracts\Form_Styler { /** * Relative path to the generated module.json metadata folder. * * @since 3.4.0 * * @return string */ protected static function get_metadata_folder_path(): string { } /** * The Squad forms-element type key. * * @since 3.4.0 * * @return string */ protected static function get_form_type(): string { } /** * Whether Gravity Forms is active. * * @since 3.4.0 * * @return bool */ protected static function is_form_plugin_active(): bool { } /** * Render the Gravity Forms form HTML for the given form id. * * Gravity Forms is embedded through its `gravity_form()` function rather than a * shortcode. Output is buffered so the returned markup can be wrapped by the module. * * @since 3.4.0 * * @param string $form_id Raw Gravity Forms form id. * @param array $inner Form-group inner-content values. * * @return string */ protected static function get_form_html(string $form_id, array $inner): string { } } /** * MetForm Styler module class. * * @since 3.4.0 */ class Met_Form extends \DiviSquad\Builder\Version5\Abstracts\Form_Styler { /** * Relative path to the generated module.json metadata folder. * * @since 3.4.0 * * @return string */ protected static function get_metadata_folder_path(): string { } /** * The Squad forms-element type key. * * @since 3.4.0 * * @return string */ protected static function get_form_type(): string { } /** * Whether MetForm is active. * * @since 3.4.0 * * @return bool */ protected static function is_form_plugin_active(): bool { } /** * Render the MetForm form HTML for the given form id. * * @since 3.4.0 * * @param string $form_id Raw MetForm form id. * @param array $inner Form-group inner-content values. * * @return string */ protected static function get_form_html(string $form_id, array $inner): string { } } /** * Ninja Forms Styler module class. * * @since 3.4.0 */ class Ninja_Forms extends \DiviSquad\Builder\Version5\Abstracts\Form_Styler { /** * Relative path to the generated module.json metadata folder. * * @since 3.4.0 * * @return string */ protected static function get_metadata_folder_path(): string { } /** * The Squad forms-element type key. * * @since 3.4.0 * * @return string */ protected static function get_form_type(): string { } /** * Whether Ninja Forms is active. * * @since 3.4.0 * * @return bool */ protected static function is_form_plugin_active(): bool { } /** * Render the Ninja Forms form HTML for the given form id. * * @since 3.4.0 * * @param string $form_id Raw Ninja Forms form id. * @param array $inner Form-group inner-content values. * * @return string */ protected static function get_form_html(string $form_id, array $inner): string { } } /** * SureForms Styler module class. * * @since 3.4.0 */ class Sure_Forms extends \DiviSquad\Builder\Version5\Abstracts\Form_Styler { /** * Relative path to the generated module.json metadata folder. * * @since 3.4.0 * * @return string */ protected static function get_metadata_folder_path(): string { } /** * The Squad forms-element type key. * * @since 3.4.0 * * @return string */ protected static function get_form_type(): string { } /** * Whether SureForms is active. * * @since 3.4.0 * * @return bool */ protected static function is_form_plugin_active(): bool { } /** * Render the SureForms form HTML for the given form id. * * @since 3.4.0 * * @param string $form_id Raw SureForms form id. * @param array $inner Form-group inner-content values. * * @return string */ protected static function get_form_html(string $form_id, array $inner): string { } } /** * WP Forms Styler module class. * * @since 3.4.0 */ class WP_Forms extends \DiviSquad\Builder\Version5\Abstracts\Form_Styler { /** * Relative path to the generated module.json metadata folder. * * @since 3.4.0 * * @return string */ protected static function get_metadata_folder_path(): string { } /** * The Squad forms-element type key. * * @since 3.4.0 * * @return string */ protected static function get_form_type(): string { } /** * Whether WP Forms is active. * * @since 3.4.0 * * @return bool */ protected static function is_form_plugin_active(): bool { } /** * Render the WP Forms form HTML for the given form id. * * @since 3.4.0 * * @param string $form_id Raw WP Forms form id. * @param array $inner Form-group inner-content values. * * @return string */ protected static function get_form_html(string $form_id, array $inner): string { } } } namespace DiviSquad\Builder\Version5\Modules\Maps { /** * Google Map Module class. * * @since 3.4.0 */ class Google_Map extends \DiviSquad\Builder\Version5\Abstracts\Module { /** * Relative path to the generated module.json metadata folder. * * @since 3.4.0 * * @return string */ protected static function get_metadata_folder_path(): string { } /** * Add the module classnames. * * @since 3.4.0 * * @param array $args { * Arguments. * * @type object $classnamesInstance Classnames instance. * @type array $attrs Module attributes. * } * * @return void */ public static function module_classnames(array $args): void { } /** * Assign the module's frontend script data. * * @since 3.4.0 * * @param array $args { * Arguments. * * @type object $elements ModuleElements instance. * } * * @return void */ public static function module_script_data(array $args): void { } /** * Register the module style declarations. * * @since 3.4.0 * * @param array $args Style arguments provided by Divi. * * @return void */ public static function module_styles(array $args): void { } /** * Render callback for the Google Map module. * * @since 3.4.0 * * @param array $attrs Block attributes saved by the Visual Builder. * @param string $content Inner (child) block content. * @param WP_Block $block Parsed block instance. * @param object $elements ModuleElements instance. * * @return string Rendered HTML. */ public static function render_callback(array $attrs, string $content, \WP_Block $block, $elements): string { } /** * Build the Google Map embed iframe HTML from Divi 5 attributes. * * Reuses the same filters as the Divi 4 module so address/zoom/URL/markup * remain extensible and consistent. The module instance argument passed to * those filters is `null` in the Divi 5 context (there is no D4 module object). * * @since 3.4.0 * * @param array $attrs Block attributes. * * @return string */ private static function render_map(array $attrs): string { } } } namespace DiviSquad\Builder\Version5\Modules\Media { /** * Before After Image Slider Module class. * * @since 3.4.0 */ class Before_After_Image_Slider extends \DiviSquad\Builder\Version5\Abstracts\Module { /** * Relative path to the generated module.json metadata folder. * * @since 3.4.0 * * @return string */ protected static function get_metadata_folder_path(): string { } /** * Add the module classnames. * * @since 3.4.0 * * @param array $args Classnames arguments. * * @return void */ public static function module_classnames(array $args): void { } /** * Assign the module's frontend script data. * * @since 3.4.0 * * @param array $args Script data arguments. * * @return void */ public static function module_script_data(array $args): void { } /** * Register the module style declarations. * * @since 3.4.0 * * @param array $args Style arguments provided by Divi. * * @return void */ public static function module_styles(array $args): void { } /** * Render callback for the Before After Image Slider module. * * @since 3.4.0 * * @param array $attrs Block attributes saved by the Visual Builder. * @param string $content Inner (child) block content. * @param WP_Block $block Parsed block instance. * @param object $elements ModuleElements instance. * * @return string Rendered HTML. */ public static function render_callback(array $attrs, string $content, \WP_Block $block, $elements): string { } /** * Build the `.compare-images` container HTML from Divi 5 attributes. * * Produces the exact wrapper classes and `data-setting` JSON the Divi 4 * frontend script (`squad-module-ba-image-slider`) reads, so existing * frontend CSS/JS applies unchanged. * * @since 3.4.0 * * @param array $attrs Block attributes. * * @return string */ private static function render_slider(array $attrs): string { } /** * Render a single before/after image element. * * @since 3.4.0 * * @param string $src Image URL. * @param string $alt Image alt text. * @param string $style Optional inline style. * * @return string */ private static function render_image(string $src, string $alt, string $style = ''): string { } /** * Resolve the placeholder image URL used as a fallback when no image is set. * * @since 3.4.0 * * @return string */ private static function get_placeholder_image_url(): string { } } /** * Image Carousel parent module class. * * @since 4.0.0 */ class Image_Carousel extends \DiviSquad\Builder\Version5\Abstracts\Module { /** * Relative path to the generated module.json metadata folder. * * @since 4.0.0 * * @return string */ protected static function get_metadata_folder_path(): string { } /** * Add the module classnames. * * @since 4.0.0 * * @param array $args Classnames arguments. * * @return void */ public static function module_classnames(array $args): void { } /** * Assign the module's frontend script data. * * @since 4.0.0 * * @param array $args Script data arguments. * * @return void */ public static function module_script_data(array $args): void { } /** * Register the module style declarations. * * @since 4.0.0 * * @param array $args Style arguments. * * @return void */ public static function module_styles(array $args): void { } /** * Render callback for the Image Carousel module. * * @since 4.0.0 * * @param array $attrs Block attributes. * @param string $child_modules_content Rendered child (Image Carousel Item) HTML. * @param WP_Block $block Parsed block instance. * @param object $elements ModuleElements instance. * * @return string Rendered HTML. */ public static function render_callback(array $attrs, string $child_modules_content, \WP_Block $block, $elements): string { } /** * Build a stable per-instance uid for scoping Swiper navigation selectors. * * @since 4.0.0 * * @param WP_Block $block The parsed block. * * @return string e.g. "squad-ic-a1b2c3d4e5" */ protected static function get_instance_uid(\WP_Block $block): string { } /** * Build the Swiper options array from the carousel innerContent values. * * @since 4.0.0 * * @param array $inner Carousel innerContent values. * @param string $uid Per-instance identifier. * * @return array */ protected static function build_swiper_options(array $inner, string $uid): array { } /** * Render navigation controls (arrows, dots, progress bar). * * @since 4.0.0 * * @param array $inner Carousel innerContent values. * @param string $uid Per-instance identifier. * * @return string */ protected static function render_navigation(array $inner, string $uid): string { } } /** * Image Carousel Item (child) module class. * * @since 4.0.0 */ class Image_Carousel_Item extends \DiviSquad\Builder\Version5\Abstracts\Module { /** * Relative path to the generated module.json metadata folder. * * @since 4.0.0 * * @return string */ protected static function get_metadata_folder_path(): string { } /** * Add the module classnames. * * Adds `swiper-slide` and `squad-image-carousel__slide` so the DiviModule::render * outer wrapper becomes the Swiper slide element directly. * * @since 4.0.0 * * @param array $args Classnames arguments. * * @return void */ public static function module_classnames(array $args): void { } /** * Assign the module's frontend script data. * * @since 4.0.0 * * @param array $args Script data arguments. * * @return void */ public static function module_script_data(array $args): void { } /** * Register the module style declarations. * * @since 4.0.0 * * @param array $args Style arguments. * * @return void */ public static function module_styles(array $args): void { } /** * Render callback for the Image Carousel Item (child) module. * * @since 4.0.0 * * @param array $attrs Block attributes. * @param string $content Inner content. * @param WP_Block $block Parsed block instance. * @param object $elements ModuleElements instance. * * @return string Rendered HTML. */ public static function render_callback(array $attrs, string $content, \WP_Block $block, $elements): string { } /** * Render the slide image element. * * @since 4.0.0 * * @param array $attrs Block attributes. * * @return string */ private static function render_image(array $attrs): string { } /** * Render the overlay, caption, and button. * * @since 4.0.0 * * @param array $attrs Block attributes. * * @return string */ private static function render_overlay(array $attrs): string { } } /** * Image Gallery Module class. * * @since 3.4.0 */ class Image_Gallery extends \DiviSquad\Builder\Version5\Abstracts\Module { /** * Relative path to the generated module.json metadata folder. * * @since 3.4.0 * * @return string */ protected static function get_metadata_folder_path(): string { } /** * Add the module classnames. * * @since 3.4.0 * * @param array $args Classnames arguments. * * @return void */ public static function module_classnames(array $args): void { } /** * Assign the module's frontend script data. * * @since 3.4.0 * * @param array $args Script data arguments. * * @return void */ public static function module_script_data(array $args): void { } /** * Register the module style declarations. * * @since 3.4.0 * * @param array $args Style arguments provided by Divi. * * @return void */ public static function module_styles(array $args): void { } /** * Render callback for the Image Gallery module. * * @since 3.4.0 * * @param array $attrs Block attributes saved by the Visual Builder. * @param string $content Inner (child) block content. * @param WP_Block $block Parsed block instance. * @param object $elements ModuleElements instance. * * @return string Rendered HTML. */ public static function render_callback(array $attrs, string $content, \WP_Block $block, $elements): string { } /** * Build the gallery markup from Divi 5 attributes. * * Produces the same `.gallery-images[data-setting]` wrapper and * `a.gallery-item` markup as the Divi 4 module so the frontend script and * CSS continue to apply. * * @since 3.4.0 * * @param array $inner Gallery inner-content values. * * @return string */ private static function render_gallery(array $inner): string { } /** * Render a single gallery item. * * @since 3.4.0 * * @param WP_Post|object $attachment Prepared attachment object. * @param int $image_index The image index. * @param string $images_quantity Quantity mode (`default` or `custom`). * @param int $image_count Count of images to display when custom. * @param string $show_in_lightbox Whether the lightbox is enabled (`on`/`off`). * @param string $hover_icon The overlay hover icon value. * * @return string */ private static function render_gallery_item($attachment, int $image_index, string $images_quantity, int $image_count, string $show_in_lightbox, string $hover_icon): string { } /** * Normalize the gallery image identifiers into a list of attachment IDs. * * The `divi/upload-gallery` field may store its value in several shapes: a * comma-separated string of IDs (`"1,2,3"`), a flat array of IDs * (`array( 1, 2, 3 )`), or an array of attachment objects * (`array( array( 'id' => 1, 'src' => '…' ), … )`). This accepts any of them and * returns a clean list of positive integer attachment IDs. * * @since 3.4.0 * * @param mixed $raw The raw `galleryIds` field value. * * @return array List of attachment IDs. */ private static function normalize_gallery_ids($raw): array { } /** * Get attachment data for the gallery module. * * @since 3.4.0 * * @param array $inner Gallery inner-content values. * * @return array Prepared attachment objects. */ private static function get_gallery(array $inner): array { } } /** * Image Mask Module class. * * @since 3.4.0 */ class Image_Mask extends \DiviSquad\Builder\Version5\Abstracts\Module { /** * Relative path to the generated module.json metadata folder. * * @since 3.4.0 * * @return string */ protected static function get_metadata_folder_path(): string { } /** * Add the module classnames. * * @since 3.4.0 * * @param array $args Classnames arguments. * * @return void */ public static function module_classnames(array $args): void { } /** * Assign the module's frontend script data. * * @since 3.4.0 * * @param array $args Script data arguments. * * @return void */ public static function module_script_data(array $args): void { } /** * Register the module style declarations. * * @since 3.4.0 * * @param array $args Style arguments provided by Divi. * * @return void */ public static function module_styles(array $args): void { } /** * Render callback for the Image Mask module. * * Generates the complete SVG markup (defs/mask + masked image, border layer, * decoration layers) replicating the Divi 4 module's output. * * @since 3.4.0 * * @param array $attrs Block attributes. * @param string $content Inner content. * @param WP_Block $block Parsed block instance. * @param object $elements ModuleElements instance. * * @return string Rendered HTML. */ public static function render_callback(array $attrs, string $content, \WP_Block $block, $elements): string { } /** * Build the complete SVG markup for the image mask. * * @since 3.4.0 * * @param string $unique_id Unique identifier used for mask/gradient ids. * @param array $image Image group values. * @param array $mask Mask shape group values. * @param array $border Border layer group values. * @param array $decoration1 Decoration layer 1 group values. * @param array $decoration2 Decoration layer 2 group values. * @param array $viewbox ViewBox group values. * * @return string */ protected static function build_svg(string $unique_id, array $image, array $mask, array $border, array $decoration1, array $decoration2, array $viewbox): string { } /** * Resolve the SVG mask shape content. * * Returns the (kses-sanitized) SVG paths for the selected shape. When a * custom mask shape upload is enabled the shape paths are still resolved so * the mask is never empty; the actual `` body is swapped in by the * caller. * * @since 3.4.0 * * @param string $unique_id Unique identifier (unused, reserved). * @param array $mask Mask shape group values. * * @return string */ protected static function get_mask_shape(string $unique_id, array $mask): string { } } /** * Logo Carousel parent module class. * * @since 4.0.0 */ class Logo_Carousel extends \DiviSquad\Builder\Version5\Abstracts\Module { /** * Relative path to the generated module.json metadata folder. * * @since 4.0.0 * * @return string */ protected static function get_metadata_folder_path(): string { } /** * Add the module classnames. * * @since 4.0.0 * * @param array $args Classnames arguments. * * @return void */ public static function module_classnames(array $args): void { } /** * Assign the module's frontend script data. * * @since 4.0.0 * * @param array $args Script data arguments. * * @return void */ public static function module_script_data(array $args): void { } /** * Register the module style declarations. * * @since 4.0.0 * * @param array $args Style arguments. * * @return void */ public static function module_styles(array $args): void { } /** * Render callback for the Logo Carousel module. * * @since 4.0.0 * * @param array $attrs Block attributes. * @param string $child_modules_content Rendered child HTML. * @param WP_Block $block Parsed block instance. * @param object $elements ModuleElements instance. * * @return string Rendered HTML. */ public static function render_callback(array $attrs, string $child_modules_content, \WP_Block $block, $elements): string { } /** * Build a stable per-instance uid for scoping Swiper navigation selectors. * * @since 4.0.0 * * @param WP_Block $block The parsed block. * * @return string e.g. "squad-lc-a1b2c3d4e5" */ protected static function get_instance_uid(\WP_Block $block): string { } /** * Build the Swiper options array. * * @since 4.0.0 * * @param array $inner Carousel innerContent values. * @param string $uid Per-instance identifier. * * @return array */ protected static function build_swiper_options(array $inner, string $uid): array { } /** * Render navigation controls (arrows, dots). * * @since 4.0.0 * * @param array $inner Carousel innerContent values. * @param string $uid Per-instance identifier. * * @return string */ protected static function render_navigation(array $inner, string $uid): string { } /** * Generate scoped hover-effect CSS for this instance. * * @since 4.0.0 * * @param array $inner Carousel innerContent values. * @param string $uid Per-instance identifier. * * @return string Raw CSS (no