Skip to content

Feat: design library rework#2868

Open
abaicus wants to merge 8 commits into
developmentfrom
feat/design-library
Open

Feat: design library rework#2868
abaicus wants to merge 8 commits into
developmentfrom
feat/design-library

Conversation

@abaicus

@abaicus abaicus commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Closes https://github.com/Codeinwp/otter-internals/issues/273
Closes https://github.com/Codeinwp/otter-internals/issues/274
Closes https://github.com/Codeinwp/otter-internals/issues/283
Closes https://github.com/Codeinwp/otter-internals/issues/284

Summary

  • This adds 51 page templates and 156 sections (cumulative free+pro);
  • Introduces significant improvements to the pattern management system in the Otter Blocks plugin
  • Enhance the organization and handling of block patterns and adding support for Pro pattern upsells
  • The main changes include a comprehensive reorganization of pattern categories
  • Additionally, the legacy patterns have been removed.

Screenshots

image

Test instructions

Important

Pro patterns will only work once the Store PR is merged into development, provided you add these lines as a mu-plugin or define the constants somewhere on your website.

<?php 
define( 'OTTER_BLOCK_PATTERNS_URL', 'https://store-staging.themeisle.com/wp-json/templates-cloud/v1/otter-patterns' );
define( 'OTTER_BLOCK_PATTERN_PREVIEWS_URL', 'https://store-staging.themeisle.com/wp-json/templates-cloud/v1/otter-patterns-preview' );
  • Library opens & renders — Open the design library in the editor; confirm the new topbar/sidebar/preview layout renders and all ~35 categories list.
  • Smart filter & search — Filter by a category and by an accent/style; type a query and confirm fuzzy search matches on titles and the new descriptions;
    check "similar"/suggested-tags behavior.
  • Insert free patterns — Insert several of the new free patterns into a post; confirm they render correctly in editor
    and on the front end.
  • Pro previews / upsell — On a free install, confirm Pro patterns appear and that no blank/slugless upsell entries show up.
  • Confirm Pro patterns still register. Test the OTTER_BLOCK_PATTERNS_URL override against the staging endpoint if available.
  • Confirm that with a valid license for the staging store on Otter Blocks PRO, Pro patterns become available.
  • Confirm that Pro patterns can be inserted and work.
  • Atomic Wind blocks — Add the icon/image/box/link/text Atomic Wind blocks directly; confirm new block icons show in the inserter and edit/front-end render is correct.
  • Regression — Form block — Open a Form block inspector; confirm no console errors after the useContext refactor and that form options still work.

Checklist before the final review

  • Included E2E or unit tests for the changes in this PR.
  • Visual elements are not affected by independent changes.
  • It is at least compatible with the minimum WordPress version.
  • It loads additional script in frontend only if it is required.
  • Does not impact the Core Web Vitals.
  • In case of deprecation, old blocks are safely migrated.
  • It is usable in Widgets and FSE.
  • Copy/Paste is working if the attributes are modified.
  • PR is following the best practices

Important

Reviewer-only:

@Soare-Robert-Daniel Same as the store PR, it would help if you can look into the non-pattern files of this PR. Thanks! 🚀


Later Edit: according to the comment below, I think we can safely move the Design Library to its own script and load it conditionally when working towards https://github.com/Codeinwp/otter-internals/issues/250.

@pirate-bot pirate-bot added the pr-checklist-incomplete The Pull Request checklist is incomplete. (automatic label) label Jun 16, 2026
@pirate-bot

pirate-bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Bundle Size Diff

Package Old Size New Size Diff
Animations 178.27 KB 178.27 KB 0 B (0.00%)
Blocks 1.52 MB 1.62 MB 109.33 KB (7.04%)
CSS 7.87 KB 7.87 KB 0 B (0.00%)
Dashboard 111.06 KB 111.06 KB 0 B (0.00%)
Onboarding 68.14 KB 68.14 KB 0 B (0.00%)
Export Import 4.7 KB 4.7 KB 0 B (0.00%)
Pro 328.43 KB 328.43 KB 0 B (0.00%)

@pirate-bot

pirate-bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Plugin build for 6af0487 is ready 🛎️!

Add jest unit tests for the smart.js filtering engine (facet derivation,
query parsing, fuzzy search incl. the indexed description, suggestTags,
similar) and PHP tests for the upsell manifest logic.

Also fix get_upsell_patterns() to filter out slugless entries that
previously leaked into the proPatterns array as nulls.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@pirate-bot

pirate-bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

E2E Tests

Playwright Test Status: See serial and parallel matrix jobs

Performance Results serverResponse: {"q25":394.4,"q50":427.25,"q75":433.7,"cnt":10}, firstPaint: {"q25":556.6,"q50":605.15,"q75":800.4,"cnt":10}, domContentLoaded: {"q25":3432,"q50":3475.6,"q75":3490.8,"cnt":10}, loaded: {"q25":3434.1,"q50":3477.65,"q75":3492.9,"cnt":10}, firstContentfulPaint: {"q25":3932.6,"q50":3972.05,"q75":4016.4,"cnt":10}, firstBlock: {"q25":13450.4,"q50":13525.35,"q75":13603.8,"cnt":10}, type: {"q25":21.57,"q50":22.95,"q75":25,"cnt":10}, typeWithoutInspector: {"q25":19.2,"q50":20.45,"q75":21.57,"cnt":10}, typeWithTopToolbar: {"q25":28.28,"q50":29.49,"q75":33.74,"cnt":10}, typeContainer: {"q25":13.96,"q50":14.26,"q75":14.69,"cnt":10}, focus: {"q25":116.09,"q50":117.16,"q75":121.29,"cnt":10}, inserterOpen: {"q25":39.51,"q50":40.32,"q75":42.25,"cnt":10}, inserterSearch: {"q25":13.18,"q50":13.21,"q75":13.88,"cnt":10}, inserterHover: {"q25":5.16,"q50":5.54,"q75":6.09,"cnt":20}, loadPatterns: {"q25":1576.84,"q50":1615.92,"q75":1631.43,"cnt":10}, listViewOpen: {"q25":205.23,"q50":215.22,"q75":231.03,"cnt":10}

@pirate-bot pirate-bot added pr-checklist-complete The Pull Request checklist is complete. (automatic label) pr-checklist-incomplete The Pull Request checklist is incomplete. (automatic label) and removed pr-checklist-incomplete The Pull Request checklist is incomplete. (automatic label) pr-checklist-complete The Pull Request checklist is complete. (automatic label) labels Jun 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr-checklist-incomplete The Pull Request checklist is incomplete. (automatic label)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants