feat: lit/divi-colors-set und lit/divi-variables-set in der Divi-Integration; je ein geteilter Farben- und Variablen-Adapter
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5.5
parent
88a939787d
commit
0893b7e184
@@ -16,6 +16,7 @@ use LIT\MCP\Integrations\Divi\BlockTree\Parser;
|
||||
use LIT\MCP\Integrations\Divi\Design\ColorRestorePlanner;
|
||||
use LIT\MCP\Integrations\Divi\Design\DesignSystemReader;
|
||||
use LIT\MCP\Integrations\Divi\Design\DesignSystemWriter;
|
||||
use LIT\MCP\Integrations\Divi\Design\DiviColorsSetAbility;
|
||||
use LIT\MCP\Integrations\Divi\Design\DiviDesignSystemAbility;
|
||||
use LIT\MCP\Integrations\Divi\Design\DesignChange;
|
||||
use LIT\MCP\Integrations\Divi\Design\DesignRights;
|
||||
@@ -28,6 +29,7 @@ use LIT\MCP\Integrations\Divi\Design\GlobalVariablesAdapter;
|
||||
use LIT\MCP\Integrations\Divi\Design\DiviPresetsAssignAbility;
|
||||
use LIT\MCP\Integrations\Divi\Design\DiviPresetsDeleteAbility;
|
||||
use LIT\MCP\Integrations\Divi\Design\DiviPresetsSetAbility;
|
||||
use LIT\MCP\Integrations\Divi\Design\DiviVariablesSetAbility;
|
||||
use LIT\MCP\Integrations\Divi\Design\PageRewriter;
|
||||
use LIT\MCP\Integrations\Divi\Design\PresetAssignment;
|
||||
use LIT\MCP\Integrations\Divi\Design\PresetComposer;
|
||||
@@ -91,6 +93,10 @@ final class DiviIntegration implements Integration, Bootable
|
||||
private ThemeBuilderAccess $themeBuilderAccess;
|
||||
private DesignSystemWriter $designWriter;
|
||||
|
||||
private GlobalColorsAdapter $colorsAdapter;
|
||||
|
||||
private GlobalVariablesAdapter $variablesAdapter;
|
||||
|
||||
/** @var (Closure(): bool)|null Whether lit/divi-insert is enabled (ruling P9, E9, audit M2); null = always. */
|
||||
private ?Closure $diviWritable;
|
||||
|
||||
@@ -114,6 +120,8 @@ final class DiviIntegration implements Integration, Bootable
|
||||
$this->modules = new DiviModules();
|
||||
$this->design = new DesignSystemReader();
|
||||
$this->designWriter = new DesignSystemWriter();
|
||||
$this->colorsAdapter = new GlobalColorsAdapter();
|
||||
$this->variablesAdapter = new GlobalVariablesAdapter();
|
||||
$this->diviWritable = $this->gate(static fn (ToolAvailability $t): bool => $t->allows('lit/divi-insert'));
|
||||
$this->libraryInsertable = $this->gate(
|
||||
static fn (ToolAvailability $t): bool => $t->allows('lit/library-insert')
|
||||
@@ -270,8 +278,8 @@ final class DiviIntegration implements Integration, Bootable
|
||||
$this->designChange(),
|
||||
new SnapshotStore(),
|
||||
new PresetRestorePlanner($this->designWriter, DesignRights::unfilteredHtml()),
|
||||
new ColorRestorePlanner($this->designWriter, new GlobalColorsAdapter()),
|
||||
new VariableRestorePlanner($this->designWriter, new GlobalVariablesAdapter())
|
||||
new ColorRestorePlanner($this->designWriter, $this->colorsAdapter),
|
||||
new VariableRestorePlanner($this->designWriter, $this->variablesAdapter)
|
||||
),
|
||||
new DiviPresetsAssignAbility(
|
||||
$this->designWriter,
|
||||
@@ -280,12 +288,24 @@ final class DiviIntegration implements Integration, Bootable
|
||||
),
|
||||
new DiviDesignDetachAbility(
|
||||
$this->designWriter,
|
||||
new GlobalVariablesAdapter(),
|
||||
$this->variablesAdapter,
|
||||
$this->designChange(),
|
||||
$this->globalUsages(),
|
||||
$this->pageRewriter($loader),
|
||||
DesignRights::unfilteredHtml()
|
||||
),
|
||||
new DiviColorsSetAbility(
|
||||
$this->designWriter,
|
||||
$this->colorsAdapter,
|
||||
$this->designChange(),
|
||||
$this->globalUsages()
|
||||
),
|
||||
new DiviVariablesSetAbility(
|
||||
$this->designWriter,
|
||||
$this->variablesAdapter,
|
||||
$this->designChange(),
|
||||
$this->globalUsages()
|
||||
),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user