Add files
This commit is contained in:
commit
bb80829159
18195 changed files with 2122994 additions and 0 deletions
127
509bba0_unpacked_with_node_modules/~/focus-trap-react/dist/focus-trap-react.js
generated
vendored
Executable file
127
509bba0_unpacked_with_node_modules/~/focus-trap-react/dist/focus-trap-react.js
generated
vendored
Executable file
|
@ -0,0 +1,127 @@
|
|||
'use strict';
|
||||
|
||||
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
||||
|
||||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||
|
||||
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
|
||||
|
||||
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
|
||||
|
||||
var React = require('react');
|
||||
var createFocusTrap = require('focus-trap');
|
||||
|
||||
var checkedProps = ['active', 'paused', 'tag', 'focusTrapOptions', '_createFocusTrap'];
|
||||
|
||||
var FocusTrap = function (_React$Component) {
|
||||
_inherits(FocusTrap, _React$Component);
|
||||
|
||||
function FocusTrap() {
|
||||
var _ref;
|
||||
|
||||
var _temp, _this, _ret;
|
||||
|
||||
_classCallCheck(this, FocusTrap);
|
||||
|
||||
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
||||
args[_key] = arguments[_key];
|
||||
}
|
||||
|
||||
return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = FocusTrap.__proto__ || Object.getPrototypeOf(FocusTrap)).call.apply(_ref, [this].concat(args))), _this), _this.setNode = function (el) {
|
||||
_this.node = el;
|
||||
}, _temp), _possibleConstructorReturn(_this, _ret);
|
||||
}
|
||||
|
||||
_createClass(FocusTrap, [{
|
||||
key: 'componentWillMount',
|
||||
value: function componentWillMount() {
|
||||
if (typeof document !== 'undefined') {
|
||||
this.previouslyFocusedElement = document.activeElement;
|
||||
}
|
||||
}
|
||||
}, {
|
||||
key: 'componentDidMount',
|
||||
value: function componentDidMount() {
|
||||
// We need to hijack the returnFocusOnDeactivate option,
|
||||
// because React can move focus into the element before we arrived at
|
||||
// this lifecycle hook (e.g. with autoFocus inputs). So the component
|
||||
// captures the previouslyFocusedElement in componentWillMount,
|
||||
// then (optionally) returns focus to it in componentWillUnmount.
|
||||
var specifiedFocusTrapOptions = this.props.focusTrapOptions;
|
||||
var tailoredFocusTrapOptions = {
|
||||
returnFocusOnDeactivate: false
|
||||
};
|
||||
for (var optionName in specifiedFocusTrapOptions) {
|
||||
if (!specifiedFocusTrapOptions.hasOwnProperty(optionName)) continue;
|
||||
if (optionName === 'returnFocusOnDeactivate') continue;
|
||||
tailoredFocusTrapOptions[optionName] = specifiedFocusTrapOptions[optionName];
|
||||
}
|
||||
|
||||
this.focusTrap = this.props._createFocusTrap(this.node, tailoredFocusTrapOptions);
|
||||
if (this.props.active) {
|
||||
this.focusTrap.activate();
|
||||
}
|
||||
if (this.props.paused) {
|
||||
this.focusTrap.pause();
|
||||
}
|
||||
}
|
||||
}, {
|
||||
key: 'componentDidUpdate',
|
||||
value: function componentDidUpdate(prevProps) {
|
||||
if (prevProps.active && !this.props.active) {
|
||||
this.focusTrap.deactivate();
|
||||
} else if (!prevProps.active && this.props.active) {
|
||||
this.focusTrap.activate();
|
||||
}
|
||||
|
||||
if (prevProps.paused && !this.props.paused) {
|
||||
this.focusTrap.unpause();
|
||||
} else if (!prevProps.paused && this.props.paused) {
|
||||
this.focusTrap.pause();
|
||||
}
|
||||
}
|
||||
}, {
|
||||
key: 'componentWillUnmount',
|
||||
value: function componentWillUnmount() {
|
||||
this.focusTrap.deactivate();
|
||||
if (this.props.focusTrapOptions.returnFocusOnDeactivate !== false && this.previouslyFocusedElement) {
|
||||
this.previouslyFocusedElement.focus();
|
||||
}
|
||||
}
|
||||
}, {
|
||||
key: 'render',
|
||||
value: function render() {
|
||||
var elementProps = {
|
||||
ref: this.setNode
|
||||
};
|
||||
|
||||
// This will get id, className, style, etc. -- arbitrary element props
|
||||
for (var prop in this.props) {
|
||||
if (!this.props.hasOwnProperty(prop)) continue;
|
||||
if (checkedProps.indexOf(prop) !== -1) continue;
|
||||
elementProps[prop] = this.props[prop];
|
||||
}
|
||||
|
||||
return React.createElement(this.props.tag, elementProps, this.props.children);
|
||||
}
|
||||
}]);
|
||||
|
||||
return FocusTrap;
|
||||
}(React.Component);
|
||||
|
||||
FocusTrap.defaultProps = {
|
||||
active: true,
|
||||
tag: 'div',
|
||||
paused: false,
|
||||
focusTrapOptions: {},
|
||||
_createFocusTrap: createFocusTrap
|
||||
};
|
||||
|
||||
module.exports = FocusTrap;
|
||||
|
||||
|
||||
//////////////////
|
||||
// WEBPACK FOOTER
|
||||
// ./~/focus-trap-react/dist/focus-trap-react.js
|
||||
// module id = 1202
|
||||
// module chunks = 4
|
Loading…
Add table
Add a link
Reference in a new issue