Skip to content

feat: Unified Components and Templates#647

Draft
stravo1 wants to merge 5 commits into
frappe:developfrom
stravo1:component-template
Draft

feat: Unified Components and Templates#647
stravo1 wants to merge 5 commits into
frappe:developfrom
stravo1:component-template

Conversation

@stravo1

@stravo1 stravo1 commented Jun 29, 2026

Copy link
Copy Markdown
Member

Summary

This PR unifies Builder Templates and Components under Builder Component.

Templates are now standard/first-party components (is_standard = 1), while user components remain non-standard. Existing page content requires no migration because templates previously inserted copied blocks.

Changes

  • Added catalog metadata to Builder Component:
    • Standard status
    • Label and category
    • Preview image
    • Preview width and height
    • Sort order
  • Converted shipped block-template fixtures into standard component fixtures.
  • Updated install/migration sync to import standard components.
  • Templates tab now shows only standard components.
  • Components tab excludes standard components and retains page/global filtering.
  • Added category grouping to both tabs.
  • Added grid and list views to both tabs using ItemListRow.
  • Templates now use the normal component insertion flow with pinned versions.
  • Template instances support component props, data scripts, JavaScript, CSS, reset, detach, and updates.
  • Added a component details popover for editing:
    • Label
    • Category
    • Preview image
    • Preview width and height
  • Creating a template now creates a standard Builder Component.
  • Standard components are exported as fixtures when saved in developer mode.
  • Block Template remains as a deprecated compatibility surface but is no longer used by active builder flows.

Migration

No page-content migration is required. Previously inserted templates already exist as ordinary copied blocks.

Existing Block Template records are retained but no new records are created.

Demo:

Screen.Recording.2026-06-29.at.8.02.10.PM.mp4
Screenshot 2026-06-29 at 8 03 14 PM

stravo1 added 5 commits June 27, 2026 02:53
After removing block scripts and block props Block Templates also lost their scripting abilities.
Now Block Templates are Builder Components (can be thought as "First Party Std. Components).
Builder Components also acquire Block Template features such as Preview image, Preview category, Preview width and height controls
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant