31 lines
777 B
PHP
31 lines
777 B
PHP
<?php
|
|
|
|
namespace Picea\Ui\Component;
|
|
|
|
use Picea\Ui\Common\UiElement;
|
|
use Picea\Extension\Extension;
|
|
use Picea\Extension\ExtensionTrait;
|
|
|
|
class UiPopup extends UiElement implements Extension {
|
|
use ExtensionTrait;
|
|
|
|
public string $token = "ui.popup";
|
|
|
|
public string $tag = "div";
|
|
|
|
public array $attributes = [
|
|
'class' => 'ui-popup',
|
|
];
|
|
|
|
public function parse(/*\Picae\Compiler\Context*/ &$context, ?string $arguments, string $token) : string
|
|
{
|
|
return "<?php echo ( new \\" . static::class . "() )->buildAttributes($arguments) ?>";
|
|
}
|
|
|
|
public function buildAttributes(string $name, array $variables = []) : string
|
|
{
|
|
return json_encode([ "name" => $name, "vars" => $variables ], JSON_HEX_APOS | JSON_HEX_QUOT);
|
|
}
|
|
|
|
}
|