UNPKG

@adobe/coral-spectrum

Version:

Coral Spectrum is a JavaScript library of Web Components following Spectrum design patterns.

82 lines (66 loc) 2.22 kB
/** * Copyright 2019 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS * OF ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ /** Enumeration for {@link BaseOverlay} trap options. @typedef {Object} OverlayTrapFocusEnum @property {String} ON Focus is trapped such that the use cannot focus outside of the overlay. @property {String} OFF The user can focus outside the overlay as normal. */ const trapFocus = { ON: 'on', OFF: 'off' }; /** Enumeration for {@link BaseOverlay} scroll focus options. @typedef {Object} OverlayScrollOnFocusEnum @property {String} ON Scroll the document to bring the newly-focused element into view. @property {String} OFF Document will not scroll on focus. */ const scrollOnFocus = { ON: 'on', OFF: 'off' }; /** Enumeration for {@link BaseOverlay} return focus options. @typedef {Object} OverlayReturnFocusEnum @property {String} ON When the overlay is closed, the element that was focused before the it was shown will be focused again. @property {String} OFF Nothing will be focused when the overlay is closed. */ const returnFocus = { ON: 'on', OFF: 'off' }; /** Enumeration for {@link BaseOverlay} focus behavior options. @typedef {Object} OverlayFocusOnShowEnum @property {String} ON When the overlay is opened, it will be focused. @property {String} OFF The overlay will not focus itself when opened. */ const focusOnShow = { ON: 'on', OFF: 'off' }; /** The time it should take for {@link BaseOverlay} to fade in milliseconds. Important: This should be greater than or equal to the CSS transition time. @typedef {Number} OverlayFadeTime */ const FADETIME = 350; export {trapFocus, returnFocus, focusOnShow, scrollOnFocus, FADETIME};