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>&nbsp; /**<br>&nbsp;&nbsp; * Proves a render element for a linked prop source in a form.<br>&nbsp;&nbsp; *<br>&nbsp;&nbsp; * In the UI, a EntityFieldPropSource or HostEntityUrlPropSource that<br>&nbsp;&nbsp; * 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>&nbsp; /**<br>&nbsp;&nbsp; * Proves a render element for a linked prop source in a form.<br>&nbsp;&nbsp; *<br>&nbsp;&nbsp; * In the UI, a prop source implementing LinkedPropSourceInterface that<br>&nbsp;&nbsp; * 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>&#9989; <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> &rarr; 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