"laravel-mix-purgecss": "^4.1.0",
"lodash": "^4.17.5",
"lost": "^8.3.1",
+ "mmenu-light": "^2.1.0",
"popper.js": "^1.12",
"portal-vue": "^2.1.5",
"resolve-url-loader": "^2.3.1",
*/
require('./bootstrap');
+require('./menu');
window.Vue = require('vue');
--- /dev/null
+// Note: for now, mmenu-light doesn't support webpack properly
+// so we're taking the contents of src/mmenu-light.js and placing
+// it here in order to make the initialisation work correctly
+// Ref: https://github.com/FrDH/mmenu-light/issues/7
+
+//===============================================================
+// Core
+import MmenuLight from 'mmenu-light/dist/js/mmlight';
+
+// Add-ons
+import offcanvas from 'mmenu-light/dist/js/mmlight.offcanvas';
+
+MmenuLight.prototype.offcanvas = offcanvas;
+
+// Global namespace
+window.MmenuLight = MmenuLight;
+//===============================================================
+
+//=== MMenu Setup
+document.addEventListener(
+ 'DOMContentLoaded', () => {
+ const menuSelector = '#menu';
+ const menu = new MmenuLight(document.querySelector(menuSelector));
+
+ menu.enable('all'); // or: '(max-width: 1000px)'
+ menu.offcanvas();
+
+ document.querySelector(`a[href="${menuSelector}"]`)
+ .addEventListener('click', (event) => {
+ menu.open();
+ event.preventDefault();
+ event.stopPropagation();
+ });
+ }
+);
@tailwind base
@tailwind components
+// MMenu base styles from NPM package
+@import '~mmenu-light/dist/mmenu-light.css'
+
// Extracted components or custom styles that can't be done with utilities
@import 'common/spacing'
@import 'common/columns'
<div class="container flex items-center py-8 relative z-20">
<div class="mobile-menu-icon hidden">
- <img src="{{ asset('images/icon-burger-menu.svg') }}" alt="Menu">
+ <a href="#menu">
+ <img src="{{ asset('images/icon-burger-menu.svg') }}" alt="Menu">
+ </a>
</div>
<div class="logo">
@include('partials.logo')
</div>
- <div class="nav mx-auto flex items-center">
+ <nav id="menu" class="nav mx-auto flex items-center">
@include('partials.nav')
<portal-target name="nav-search-toggle" slim></portal-target>
- </div>
+ </nav>
@if (config('features.quote'))
<div class="cart-header text-right flex items-center cursor-pointer hover:text-blue" @click="openCart">
dependencies:
minimist "0.0.8"
+mmenu-light@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/mmenu-light/-/mmenu-light-2.1.0.tgz#9387249d56649e3e776707e59a90ed018868cc10"
+ integrity sha512-s4FMXwYILw3UL7kpcjrDSXgn0AWEA+CQXnkrJhWEjLTONbHhFFI0Ln5BCQ4/kE6B5wD1WnR20o1eT8nAR7QYpw==
+
move-concurrently@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92"
dependencies:
css-parse "~2.0.0"
debug "~3.1.0"
- glob "^7.1.3"
+ glob "~7.1.2"
mkdirp "~0.5.x"
- safer-buffer "^2.1.2"
sax "~1.2.4"
- semver "^6.0.0"
- source-map "^0.7.3"
+ source-map "~0.7.2"
supports-color@^2.0.0:
version "2.0.0"