Origami Frontend Components & Services

JSDoc: o-overlay

new Overlay(...)

Represents an Overlay.

parameter type default description
id HTMLElement String. A unique identifier for the overlay within the page. (Required)
opts Object An options object for configuring the Overlay. This object MUST have either `src` or `html` set. (Required)
opts.heading.title String Your overlay's title
opts.heading.visuallyHideTitle Boolean If you want to provide a different title style, this option will prevent the title span from being added to the overlay. (In this case the title is only used for aria labelling) Default: false.
opts.heading.shaded Boolean Whether to shade the background of the header. Default: to false
opts.modal Boolean Whether the overlay should have modal behaviour or not. Setting this as true will add a translucent shadow between the page and the overlay
opts.compact Boolean If true, the .o-overlay--compact class will be added to the overlay that reduces heading font-size and paddings in the content.
opts.src String Either a url from which HTML to populate the overlay can be loaded, or a querySelector string identifying an element from which the textContent should be extracted.
opts.html String String or HTMLElement. Raw HTML (cannot be set declaratively)
opts.trigger String querySelector expression or HTMLElement. When there's a trigger set, a click event handler will be added to it that will open or close the overlay accordingly. (cannot be set declaratively)
opts.zindex String Value of the CSS z-index property of the overlay. Default set via CSS: '10'
opts.preventclosing Boolean Prevents closure of overlay via standard x button or escape key. For use when you are directing the user to somewhere else. Only valid with modal set to true.
opts.customclose Boolean If you do not use the heading, but want to provide a close button in your html / src (with a class of o-overlay__close), setting customclose to true will attach o-overlay's close handler function to that button.
opts.parentnode String Should be a query selector for a DOM element. If set, the overlay will be appended as a child of this rather than the document body or target. If multiple nodes are matched, it will use the first. If nothing matches this selector, the body will be used.
opts.nested Boolean If set to true, the resize, escape, and layer listeners will not be set up. This boolean should be used in conjunction with the parentnode setting to allow an overlay to be positioned within a DOM element rather than overlaid on top of everything. Default: false.
opts.nofocus Boolean If set to true, the tabindex will not be set on the wrapper element. Useful in conjunction with the nested and parentnode options. Default: false.
opts.fullscreen Boolean If set to true, the overlay will display full screen. This overlay disables scroll on the underlying document and is dismissible with the back button.

Links

new Overlay(...)

Represents an Overlay.

parameter type default description
id HTMLElement String. A unique identifier for the overlay within the page. (Required)
opts Object An options object for configuring the Overlay. This object MUST have either `src` or `html` set. (Required)
opts.heading.title String Your overlay's title
opts.heading.visuallyHideTitle Boolean If you want to provide a different title style, this option will prevent the title span from being added to the overlay. (In this case the title is only used for aria labelling) Default: false.
opts.heading.shaded Boolean Whether to shade the background of the header. Default: to false
opts.modal Boolean Whether the overlay should have modal behaviour or not. Setting this as true will add a translucent shadow between the page and the overlay
opts.compact Boolean If true, the .o-overlay--compact class will be added to the overlay that reduces heading font-size and paddings in the content.
opts.src String Either a url from which HTML to populate the overlay can be loaded, or a querySelector string identifying an element from which the textContent should be extracted.
opts.html String String or HTMLElement. Raw HTML (cannot be set declaratively)
opts.trigger String querySelector expression or HTMLElement. When there's a trigger set, a click event handler will be added to it that will open or close the overlay accordingly. (cannot be set declaratively)
opts.zindex String Value of the CSS z-index property of the overlay. Default set via CSS: '10'
opts.preventclosing Boolean Prevents closure of overlay via standard x button or escape key. For use when you are directing the user to somewhere else. Only valid with modal set to true.
opts.customclose Boolean If you do not use the heading, but want to provide a close button in your html / src (with a class of o-overlay__close), setting customclose to true will attach o-overlay's close handler function to that button.
opts.parentnode String Should be a query selector for a DOM element. If set, the overlay will be appended as a child of this rather than the document body or target. If multiple nodes are matched, it will use the first. If nothing matches this selector, the body will be used.
opts.nested Boolean If set to true, the resize, escape, and layer listeners will not be set up. This boolean should be used in conjunction with the parentnode setting to allow an overlay to be positioned within a DOM element rather than overlaid on top of everything. Default: false.
opts.nofocus Boolean If set to true, the tabindex will not be set on the wrapper element. Useful in conjunction with the nested and parentnode options. Default: false.
opts.fullscreen Boolean If set to true, the overlay will display full screen. This overlay disables scroll on the underlying document and is dismissible with the back button.

Links

Switch component view

GitHub Repository

Install o-overlay

If using the Build Service, add o-overlay@^2.7.7 to your script and link tags.

If running a Manual Build, run bower install --save "o-overlay@^2.7.7".

Help & Support

o-overlay is maintained directly by the Origami team. If you have any questions about o-overlay or Origami in general, we are happy to help. 😊

Slack: #ft-origami
Email: origami.support@ft.com

Feedback / Issues

To report a bug or request features please create an issue on Github. For support or general feedback please get in touch 😊

Slack: #ft-origami
Email: origami.support@ft.com