first commit

This commit is contained in:
2026-04-20 13:11:14 +02:00
commit e0b63ca5f9
7793 changed files with 1844488 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
<?php
namespace Elementor\Modules\Usage;
use Elementor\Modules\Usage\Contracts\Element_Usage_Calculator;
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
class Element_Usage_Calculator_Registry {
/** @var Element_Usage_Calculator[] */
private array $calculators = [];
private ?Element_Usage_Calculator $fallback = null;
/**
* @param Element_Usage_Calculator[] $calculators
*/
public function __construct( array $calculators = [] ) {
$this->calculators = $calculators;
}
public function set_fallback( Element_Usage_Calculator $calculator ): void {
$this->fallback = $calculator;
}
public function get_calculator_for( array $element, $element_instance ): ?Element_Usage_Calculator {
foreach ( $this->calculators as $calculator ) {
if ( $calculator->can_calculate( $element, $element_instance ) ) {
return $calculator;
}
}
return $this->fallback;
}
}