Interface LaravelUi5\Core\Ui5\Capabilities\ChartProviderInterface

The Chart artifact's executor seat — produces the complete {@see Chart} DTO (engine + option) for a dashboard render pass.

Mirrors {@see TileProviderInterface}: the Chart artifact is pure metadata POPO; this capability is the executor that computes the engine-tagged option envelope from bound slot values and the request context.

Concrete providers receive their dependencies (repositories, services) via constructor DI — same convention as {@see TileProviderInterface} and {@see \LaravelUi5\Core\Ui5\Capabilities\DataProviderInterface}. The Chart's emitter calls $chart->getChartProvider()->getChart($bound, $context) and returns the resulting DTO verbatim.

Unlike a Card's provide() — invoked at the card endpoint, where the {@see \LaravelUi5\Core\Runtime\ExecutableInvoker} injects the concrete context by signature — a Chart is resolved inline during dashboard composition, so the context is passed explicitly. The argument is typed to the {@see Ui5ContextInterface} contract; concrete instances (e.g. the SDK's SdkContext) are narrowed via instanceof when the provider needs identity-bearing state.

Backend-stuffed routing intent. ECharts respects extra keys on data objects. A provider may pre-stuff {value, action: "navTo", target: "..."} on each data point; the press event forwards data verbatim. Same blessed vocabulary as Dashboard card actions (navTo / open / showReport / app-specific). Core stays stateless — routing intent lives at the composition site, not in Core code.

Methods