PHPackages                             ovalmedia/magento2-hyva-drawers - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. ovalmedia/magento2-hyva-drawers

ActiveMagento2-module[Utility &amp; Helpers](/categories/utility)

ovalmedia/magento2-hyva-drawers
===============================

Easily add and customize any number of off-canvas drawers.

v0.0.1(1y ago)2251MITHTML

Since Jul 24Pushed 1y ago2 watchersCompare

[ Source](https://github.com/OvalMedia/magento2-hyva-drawers)[ Packagist](https://packagist.org/packages/ovalmedia/magento2-hyva-drawers)[ RSS](/packages/ovalmedia-magento2-hyva-drawers/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)DependenciesVersions (2)Used By (0)

Hyvä Themes - Drawers
=====================

[](#hyvä-themes---drawers)

Adds the possibility to add any number of off-canvas containers ("drawers") to the DOM and trigger their appearance from about anywhere.

You may know the minicart drawer that slides into the viewport from the right side when you click on the cart symbol in the header. This module decouples this functionality from the cart drawer and gives you the option to add pretty much anything into a drawer and let that slide into view whenever and however you like.

Intention/Advantages
--------------------

[](#intentionadvantages)

The initial reason for this decoupling was the urge to make the header sticky. This resulted in both drawers (cart and mobile menu) to be really messy as they are both trapped inside the header container.

This module moves both their contents to the end of the DOM where they reside until they are needed. This results in the header being leaner and the trigger buttons are separated from the drawer. They can be placed anywhere in the content.

For convenience the drawers are now seperated into three sections: header, content and footer. For drawers sliding in from left or right they already come with the proper tailwind classes to have header and footer sticky while the content is variable in height rendering a scrollbar if needed. But this is optional.

Additional custom drawers can be added at ease, see drawer\_examples.xml.

Layout/Blocks
-------------

[](#layoutblocks)

This module adds a new container ("drawers-container") at the end of the theme to house all drawers.

You add your custom drawer via layout xml to your theme. See the added layout files for examples.

The two existing drawers (mobile menu and cart) are rearranged to demonstrate the usage.

The search can now be triggered from a sidebar as well.

Usage examples
--------------

[](#usage-examples)

To open, close or toggle a drawer add the shortcut functions defined in js.phtml:

```
Open my custom drawer
Toggle my custom drawer
Close my custom drawer
Close ALL drawers

```

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance35

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity30

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

657d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/1c7583f3208674a1dabc5dea51697f64ea5d3c91471fe987bdad2337d29147c4?d=identicon)[OvalMedia](/maintainers/OvalMedia)

---

Top Contributors

[![OvalMedia](https://avatars.githubusercontent.com/u/1006378?v=4)](https://github.com/OvalMedia "OvalMedia (29 commits)")

### Embed Badge

![Health badge](/badges/ovalmedia-magento2-hyva-drawers/health.svg)

```
[![Health](https://phpackages.com/badges/ovalmedia-magento2-hyva-drawers/health.svg)](https://phpackages.com/packages/ovalmedia-magento2-hyva-drawers)
```

###  Alternatives

[aeon-php/calendar

PHP type safe, immutable calendar library

2079.7M16](/packages/aeon-php-calendar)[zenstruck/callback

Callable wrapper to validate and inject arguments.

569.6M4](/packages/zenstruck-callback)[phplang/scope-exit

Emulation of SCOPE\_EXIT construct from C++

1912.4M4](/packages/phplang-scope-exit)[prestashop/decimal

Object-oriented wrapper/shim for BC Math PHP extension. Allows for arbitrary-precision math operations.

178.2M5](/packages/prestashop-decimal)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
