5.0.0 • Published 1 year ago

@springernature/springernature-modal v5.0.0

Weekly downloads
54
License
MIT
Repository
-
Last release
1 year ago

Springer Nature Modal

Display a modal (pop-up) window

Requirements

A class name of .js on the document root element will be used to bootstrap visual styles for the modal. The class should be added via a micro (but blocking) script, placed as far up in the of the document as possible.

<script>
    // JS Detection Script
    (function(e){var t=e.documentElement,n=e.implementation;t.className='js';})(document)
</script>

Usage

HTML

<button data-modal-for="example-modal" class="c-modal__trigger">Click this button to open the modal</button>

<div data-component-modal id="example-modal" class="c-modal" tabindex="0">
    <div class="c-modal__content">
        <h4 class="c-modal__title">Modal Title</h4>
        <p>This is the modal! It has a <a data-component-modal-close href="">link</a> that can also close it.</p>
        <button data-component-modal-close class="c-modal__close">close modal</button>
    </div>
</div>

Javascript

import Modal from '@springernature/springernature-modal';

const modalElement = document.querySelector('#example-modal'); //For multiple modals, prefer `document.querySelectorAll('[data-component-modal]');` and initilise on each instance
const exampleModal = new Modal(modalElement);

// Programmatically opens the modal
exampleModal.open();

// Programmatically closes the modal
exampleModal.close();

CSS

Import the core styles into your main stylesheet

// core.scss
@import '@springernature/springernature-modal/scss/50-components/core';

Import the enhanced settings and styles into your main stylesheet

// enhanced.scss
@import '@springernature/springernature-modal/scss/10-settings/springernature';
@import '@springernature/springernature-modal/scss/50-components/enhanced';

Required markup and attributes

Element AttributeElementDescriptionRequired?
idModal elementThe modal element must have an id attribute that is uniqueYes
data-modal-forTrigger link or buttonIf there is a modal trigger (eg. button), it must have this attrubute matching the id of the modal it is intending to open avoiding the need to write custom event listeners to open modal. This element should sit outside of the modal's element.No
data-component-modal-closeClose elementShould be added to an element which closes the modal. Note this element must be nested inside the modal which it intends to close. An optional c-modal__close class will style this as a close button.No
5.0.0

1 year ago

4.0.2

2 years ago

4.0.1

2 years ago

3.0.1

2 years ago

4.0.0

2 years ago

3.0.0

3 years ago

2.0.0

3 years ago

1.0.1

4 years ago

1.0.0

4 years ago