Rename `LinkedPropSource` to `LinkedProp` and `LinkedPropSourceInterface` to `LinkablePropSourceInterface`
>>> [!note] Migrated issue
<!-- Drupal.org comment -->
<!-- Migrated from issue #3588438. -->
Reported by: [wim leers](https://www.drupal.org/user/99777)
Related to !1061
>>>
<h3 id="overview">Overview</h3>
<p>Lifted from #3548297, after this was added in September 2025 at <span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/canvas/-/work_items/3548297" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/canvas/-/work_items/3548297</a></span>, and then descoped in -22.</p>
<p>The prop source types that currently exist:<br>
<img src="https://www.drupal.org/files/issues/2026-05-05/Screenshot%202026-05-05%20at%201.12.14%E2%80%AFPM.png"></p>
<p>Which is <em>not at all</em> like <code>\Drupal\canvas\Element\LinkedPropSource</code>: that's a render element. This is confusing while working on the Canvas codebase. Quoting the crucial bits:</p>
<pre>#[RenderElement('linked_prop_source')]<br>class LinkedPropSource extends RenderElementBase {<br><br> /**<br> * Proves a render element for a linked prop source in a form.<br> *<br> * In the UI, a EntityFieldPropSource or HostEntityUrlPropSource that<br> * populates a component input is considered "linked".</pre><p><span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/canvas/-/work_items/3587374" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/canvas/-/work_items/3587374</a></span> made this more complicated. It introduced <code>LinkedPropSourceInterface</code>. and changed that snippet to:</p>
<pre>#[RenderElement('linked_prop_source')]<br>class LinkedPropSource extends RenderElementBase {<br><br> /**<br> * Proves a render element for a linked prop source in a form.<br> *<br> * In the UI, a prop source implementing LinkedPropSourceInterface that<br> * populates a component input is considered "linked".</pre><h3 id="proposed-resolution">Proposed resolution</h3>
<ul>
<li>Rename <code>LinkedPropSource</code> to <code>LinkedProp</code>.</li>
<li>✅ <del>Ideally: introduce an interface (or some other mechanism) that would allow surfacing which prop sources (subclasses of <code>PropSourceBase</code>) are <em>linkable</em>.</del> → already happened in <span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/canvas/-/work_items/3587374" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/canvas/-/work_items/3587374</a></span></li>
<li>Rename <code>LinkedPropSourceInterface</code> to <code>LinkablePropSourceInterface</code>.
</li></ul>
<h3 id="ui-changes">User interface changes</h3>
<p>None.</p>
issue