Support converting existing Code Components to external components with local fallbacks
Pulling existing Canvas Code Components into a headless frontend creates matching components in the headless codebase. The subsequent metadata synchronization encounters machine-name collisions and cannot complete the conversion to headless.
### Proposed resolution
Convert matching React Code Components to external components during synchronization. Update their metadata while preserving their JavaScript, CSS, and dependencies as a local fallback. Create metadata-only external components when no match exists.
Use retained implementations when no headless frontend is configured. Convert eligible components back to React when Canvas Headless is uninstalled.
### User interface changes
With headless preview access and no configured frontend, show standard components and external components with fallback implementations. With a configured frontend, show external components only. Users without headless preview access do not see external components.
issue