Jesus sucks
This commit is contained in:
63
backend/frontend/node_modules/react-bootstrap/cjs/BootstrapModalManager.js
generated
vendored
Normal file
63
backend/frontend/node_modules/react-bootstrap/cjs/BootstrapModalManager.js
generated
vendored
Normal file
@@ -0,0 +1,63 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
exports.__esModule = true;
|
||||
exports.default = void 0;
|
||||
exports.getSharedManager = getSharedManager;
|
||||
var _addClass = _interopRequireDefault(require("dom-helpers/addClass"));
|
||||
var _css = _interopRequireDefault(require("dom-helpers/css"));
|
||||
var _querySelectorAll = _interopRequireDefault(require("dom-helpers/querySelectorAll"));
|
||||
var _removeClass = _interopRequireDefault(require("dom-helpers/removeClass"));
|
||||
var _ModalManager = _interopRequireDefault(require("@restart/ui/ModalManager"));
|
||||
const Selector = {
|
||||
FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
|
||||
STICKY_CONTENT: '.sticky-top',
|
||||
NAVBAR_TOGGLER: '.navbar-toggler'
|
||||
};
|
||||
class BootstrapModalManager extends _ModalManager.default {
|
||||
adjustAndStore(prop, element, adjust) {
|
||||
const actual = element.style[prop];
|
||||
// TODO: DOMStringMap and CSSStyleDeclaration aren't strictly compatible
|
||||
// @ts-ignore
|
||||
element.dataset[prop] = actual;
|
||||
(0, _css.default)(element, {
|
||||
[prop]: `${parseFloat((0, _css.default)(element, prop)) + adjust}px`
|
||||
});
|
||||
}
|
||||
restore(prop, element) {
|
||||
const value = element.dataset[prop];
|
||||
if (value !== undefined) {
|
||||
delete element.dataset[prop];
|
||||
(0, _css.default)(element, {
|
||||
[prop]: value
|
||||
});
|
||||
}
|
||||
}
|
||||
setContainerStyle(containerState) {
|
||||
super.setContainerStyle(containerState);
|
||||
const container = this.getElement();
|
||||
(0, _addClass.default)(container, 'modal-open');
|
||||
if (!containerState.scrollBarWidth) return;
|
||||
const paddingProp = this.isRTL ? 'paddingLeft' : 'paddingRight';
|
||||
const marginProp = this.isRTL ? 'marginLeft' : 'marginRight';
|
||||
(0, _querySelectorAll.default)(container, Selector.FIXED_CONTENT).forEach(el => this.adjustAndStore(paddingProp, el, containerState.scrollBarWidth));
|
||||
(0, _querySelectorAll.default)(container, Selector.STICKY_CONTENT).forEach(el => this.adjustAndStore(marginProp, el, -containerState.scrollBarWidth));
|
||||
(0, _querySelectorAll.default)(container, Selector.NAVBAR_TOGGLER).forEach(el => this.adjustAndStore(marginProp, el, containerState.scrollBarWidth));
|
||||
}
|
||||
removeContainerStyle(containerState) {
|
||||
super.removeContainerStyle(containerState);
|
||||
const container = this.getElement();
|
||||
(0, _removeClass.default)(container, 'modal-open');
|
||||
const paddingProp = this.isRTL ? 'paddingLeft' : 'paddingRight';
|
||||
const marginProp = this.isRTL ? 'marginLeft' : 'marginRight';
|
||||
(0, _querySelectorAll.default)(container, Selector.FIXED_CONTENT).forEach(el => this.restore(paddingProp, el));
|
||||
(0, _querySelectorAll.default)(container, Selector.STICKY_CONTENT).forEach(el => this.restore(marginProp, el));
|
||||
(0, _querySelectorAll.default)(container, Selector.NAVBAR_TOGGLER).forEach(el => this.restore(marginProp, el));
|
||||
}
|
||||
}
|
||||
let sharedManager;
|
||||
function getSharedManager(options) {
|
||||
if (!sharedManager) sharedManager = new BootstrapModalManager(options);
|
||||
return sharedManager;
|
||||
}
|
||||
var _default = exports.default = BootstrapModalManager;
|
||||
Reference in New Issue
Block a user