Problem/Motivation

We need to introduce a new Canvas-supported component called Impressed Card.
This component is intended to provide a simplified card pattern based on Bootstrap 5
and aligned with the Featured Card structure, but with a cleaner authoring experience.

The goal is to:

  • Allow drag & drop only in the Content area.
  • Render the Media area strictly from an uploaded image (no drag & drop slot).
  • Provide flexible styling options using Bootstrap utility classes.
  • Ensure full compatibility with Canvas (Experience Builder) without inline CSS or JS.

Here is design: https://www.figma.com/design/shEqHupsCBTp2CmIiA84rv/VB---Stylesheet_2024...

Impressed Card

Steps to reproduce

  1. Enable the theme containing the new Impressed Card component.
  2. Open Canvas (Experience Builder).
  3. Add the Impressed Card component to a section.
  4. Upload/select an image in the Media field and confirm it renders in the Media area.
  5. Drag and drop any Canvas-supported components into the Content slot.
  6. Test the available settings:
    • Padded select field: Small, Medium, Large, Extra Large.
    • Background color option using Bootstrap bg-* classes.
    • Shadow including Extra Large option.

Proposed resolution

  • Create a new Canvas-supported component: Impressed Card.
  • Use Bootstrap 5 structure and utility classes (no inline styles).
  • Implement a single drag & drop Content slot using block-based rendering.
  • Render Media from an uploaded image field only (no media dropzone).
  • Provide configurable options:
    • Padding (Small → Extra Large).
    • Background color (Bootstrap classes).
    • Shadow (including Extra Large).
    • Optional border, equal height, anchor all, link target, HTML ID and classes.
  • Ensure full Canvas compatibility and clean production-ready implementation.

Remaining tasks

  • ✅ File an issue about this project
  • ❌ Addition/Change/Update/Fix to this project
  • ❌ Testing to ensure no regression
  • ➖ Automated unit/functional testing coverage
  • ➖ Developer Documentation support on feature change/addition
  • ➖ User Guide Documentation support on feature change/addition
  • ➖ UX/UI designer responsibilities
  • ➖ Accessibility and Readability
  • ❌ Code review from 1 Varbase core team member
  • ❌ Full testing and approval
  • ❌ Credit contributors
  • ❌ Review with the product owner
  • ❌ Update Release Notes
  • ❌ Release

Varbase update type

  • ✅ No Update
  • ➖ Optional Update
  • ➖ Forced Update
  • ➖ Forced Update if Unchanged

User interface changes

  • N/A

API changes

  • N/A

Data model changes

  • N/A

Release notes snippet

  • N/A
Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

alamgir.hossain.cse created an issue. See original summary.

alamgir.hossain.cse’s picture

Issue summary: View changes
alamgir.hossain.cse’s picture

Issue summary: View changes

rajab natshah’s picture

Assigned: alamgir.hossain.cse » Unassigned
Status: Active » Needs review

rajab natshah’s picture

Status: Needs review » Needs work
rajab natshah’s picture

In the new 5.0.x logic we could pass media_classes directly to the image component, no need for a div as in the old 4.0.x logic

alamgir.hossain.cse’s picture

Status: Needs work » Needs review
rajab natshah’s picture

Status: Needs review » Needs work
alamgir.hossain.cse’s picture

Status: Needs work » Needs review

rajab natshah’s picture

Status: Needs review » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.