Enhanced modal component, to be used with @wide/modulus.
npm install @wide/modulus-modal --save
Register this component using Modulus:
import modulus from '@wide/modulus'
import Modal from '@wide/modulus-modal'
modulus.component('modal', Modal)Import base scss styles:
@use '@wide/modulus-modal';And use the provided twig template:
{% embed '@wide::modulus-modal' with { id: 'modalOne' } %}
  {% block content %}
    HEY!
  {% endblock %}
{% embed %}Or build your own html:
<div class="modal" role="dialog" id="modalOne">
  <div class="modal_body">
    <button class="modal_close" data-modal.close></button>
    <div class="modal_content" data-modal.content>
      HEY!
    </div>
  </div>
  <div class="modal_backdrop" data-modal.close></div>
</div>To open the modal from a button:
<button data-modal="modalOne">Open Modal One</button>To open the modal programmatically:
import { seek } from '@wide/modulus'
seek('modalOne').open()To choose which element will be focused when opening, add data-focus attribute:
<button class="btn-primary" data-focus>Confirm</button>By default, if there is no data-focus attribute defined, the first element of type above will be focused.
- button(excluding close button)
- a(with- [href]attribute)
- input
- select
- textarea
- Element with [tabindex]attribute (with value different of[tabindex="-1"])
- Close button
This package uses :
- Aymeric Assier - github.com/myeti
- Julien Martins Da Costa - github.com/jdacosta
This project is licensed under the MIT License - see the licence file for details