ADDED Requirements
Requirement: Support declarative config-pane action buttons
The preview layer SHALL allow component registration metadata in src/dcsConfig.ts to declare action buttons through declarative action identifiers instead of inline runtime callbacks.
Scenario: Render an action button from config metadata
- WHEN a component config item declares an action-button control with a label and action identifier
- THEN the preview pane MUST render a clickable button for that item
Scenario: Keep exported config metadata externally readable
- WHEN a host imports the federated
./config module after action-button support is added
- THEN the component metadata MUST remain declarative and inspectable without depending on runtime callback functions embedded in
dcsConfig
Requirement: Bridge action buttons to the current previewed component instance
The preview template MUST be able to resolve a declared action identifier to the current component instance's exposed method and merge the returned snapshot back into reactive preview state.
Scenario: Invoke exposed method and merge the returned snapshot
- WHEN the current previewed component exposes the method mapped for an action identifier and the user clicks the corresponding action button
- THEN the preview layer MUST call that exposed method and MUST apply any returned config text or prop patch back into the live preview state
Scenario: Missing exposed method does not break the pane
- WHEN an action identifier cannot be resolved to an exposed method on the current previewed component instance
- THEN the preview layer MUST fail gracefully without breaking the rest of the pane controls
Scenario: Existing control types remain compatible
- WHEN a component does not declare any action buttons
- THEN existing
Select, ColorPicker, Switch, Slider, and jsonText controls MUST continue to behave as before