Skip to content

Audit block transforms #63635

Open
Open

Description

@ellatrix

Let's audit:

  • Missing block transforms.
  • Existing transforms that don't make sense or behave strangely.

Existing

Missing

Cc @richtabor maybe you have a good sense of what else is missing.

Activity

  1. added
    [Type] Tracking IssueTactical breakdown of efforts across the codebase and/or tied to Overview issues.
    on Jul 16, 2024
  2. cbirdsong commented on Jul 16, 2024

    @cbirdsong

    I couldn't find an existing issue for this, but a paragraph block containing only an inline image should be able to be transformed into an image block.

  3. ellatrix commented on Jul 17, 2024

    @ellatrix
    MemberAuthor

    Sure, we can add that

  4. richtabor commented on Jul 17, 2024

    @richtabor
    Member

    General notes

    Does SINGLE paragraph => columns make sense?

    I think it's strange to promote transforming to columns, unless I have multi-selected blocks. Otherwise I just place the current block in one column, which is not quite as meaningful (and perhaps disorienting).

    Maybe we need two "transform" categories: transform and wrap.

    I'm not bullish on transforming to "Group" from the transform panel. It's great in the block options, as it's an action I'm taking, rather than a true transforming of the current block. We're mixing the ideas a bit including transform to group in the transforms panel.

    I don't think we need two groups. I'm not sure that wrapping to anything other than group is super helpful in the editing flow (other than the case of multi-select with columns).

    Transform priority

    The notion of transform priority is an important one. I know we have a few in there, but it would be great if we could set prioritized transforms—especially for generic content blocks—like the image block to prioritize gallery and cover for example (and review the current prioritized transforms).

    Apart from the list you made, just making Columns multi-select only, and removing "Group" as an ever-present transform (relying on the block options group functionality makes the transform panel much more intentional. Then with just a few prioritized transforms for content and images, I think it'll be super solid.

  5. richtabor commented on Jul 17, 2024

    @richtabor
    Member

    Image & Text => video does not make sense?

    Agreed

    Heading => list does not make sense?
    List => heading does not make sense either.

    Yea, probably doesn't make much sense. Perhaps if you have multiple content blocks selected, you can transform to List.

    Does paragraph <> code make sense? Also maybe remove Preformatted?

    I can see these being ok perhaps. It's likely confusing for many users to see "Peformatted" though

    Multiple => Headings does not make sense?

    It's probably fine.

  6. annezazu commented on Aug 8, 2024

    @annezazu
    Contributor

    Putting out there to include a way to transform between List types if possible while I know this broader issue to allow more control ideally would need to be done: #51480

    For now, there's not a way to transform between ordered and unordered items (you can select the parent list and change but still, it's an extra step):

    transform.list.mov

    Happy to open a specific issue for this but it felt on the edge to me.

  7. ellatrix commented on Aug 15, 2024

    @ellatrix
    MemberAuthor

    @annezazu Yes, it's a general problem with list item transforms. I was also trying to convert a list to paragraphs and couldn't after selecting multiple list items. I wonder how we could best solve this. Technically, the list items are selected, not the whole list, so no transforms match (even if we add them, you can't insert paragraphs into a list block).

    • Should we add a link to select the parent block if there's no transforms? I don't really like this.
    • Should we show the parent transforms here? It could be strange when not all items are selected. Would it be expected that all items transform?
    • Should we attempt anyway to add list item transforms, and find a way around the limitation? This would mean detecting that the result of the transform can't be inserted (into the list), splitting the list, etc.

    Anyone who cares about list that is good to ping? I think @jasmussen cares about lists and transforms 🙂

  8. jasmussen commented on Aug 16, 2024

    @jasmussen
    Contributor

    Well, specifically for lists, I'm not sure transforms is the best interface at all. It's a list block, it's not an ordered list block with a unordered list block to transform into.

    To that end, I'd think this is rather a challenge with the block toolbar itself, which for the List specifically could benefit from showing some of the parent properties.

    There's something we could try; it might need refinement, but it still seems made for this. For the Buttons block, we have a feature to absorb into the child block the controls for the parent block. Not here how the justification controls are available regardless of which "layer" I've chosen:

    buttons

    This is not yet applied to the list block:

    list

    But it seems worth trying. The only downside, the list block toolbar could get pretty long. Mockup:

    List block with absorbed control
  9. Marc-pi commented on Nov 7, 2024

    @Marc-pi

    a frequent need is to convert from paragraph (link) to Buttons #66846

  10. EvanLTD commented on Apr 20, 2025

    @EvanLTD

    Columns => Group is currently useless. It's available in the transform menu, but doesn't actually "transform" anything. It just wraps the existing columns block inside a brand new group (if that's what we wanted, we could already accomplish it via regular grouping functionality).

    Logically, Columns => Group should remove all columns + column wrappers, leaving a simple group containing the inner content blocks.

  11. mtias commented on Dec 8, 2025

    @mtias
    Member

    @ellatrix should this one be closed? Not sure if it's useful anymore

  12. cbirdsong commented on Dec 12, 2025

    @cbirdsong

    I couldn't find an existing issue for this, but a paragraph block containing only an inline image should be able to be transformed into an image block.

    Columns => Group is currently useless. It's available in the transform menu, but doesn't actually "transform" anything. It just wraps the existing columns block inside a brand new group (if that's what we wanted, we could already accomplish it via regular grouping functionality).

    Logically, Columns => Group should remove all columns + column wrappers, leaving a simple group containing the inner content blocks.

    These are both definitely still issues.

    I would also call out transforming Media + Text or Cover into an Image - any text content is just dropped:

    CleanShot.2025-12-12.at.10.46.52.mp4

    It looks like there have been a few PRs attempting to address that, but they haven't been merged:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    [Feature] Block TransformsBlock transforms from one block to another[Type] Tracking IssueTactical breakdown of efforts across the codebase and/or tied to Overview issues.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions