Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
 

98 lignes
3.3 KiB

  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. exports.__esModule = true;
  4. exports.default = void 0;
  5. var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
  6. var _css3 = _interopRequireDefault(require("dom-helpers/css"));
  7. var _querySelectorAll = _interopRequireDefault(require("dom-helpers/querySelectorAll"));
  8. var _scrollbarSize = _interopRequireDefault(require("dom-helpers/scrollbarSize"));
  9. var _ModalManager2 = _interopRequireDefault(require("react-overlays/ModalManager"));
  10. var Selector = {
  11. FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
  12. STICKY_CONTENT: '.sticky-top',
  13. NAVBAR_TOGGLER: '.navbar-toggler'
  14. };
  15. var BootstrapModalManager = /*#__PURE__*/function (_ModalManager) {
  16. (0, _inheritsLoose2.default)(BootstrapModalManager, _ModalManager);
  17. function BootstrapModalManager() {
  18. var _this;
  19. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  20. args[_key] = arguments[_key];
  21. }
  22. _this = _ModalManager.call.apply(_ModalManager, [this].concat(args)) || this;
  23. _this.adjustAndStore = function (prop, element, adjust) {
  24. var _css;
  25. var actual = element.style[prop];
  26. element.dataset[prop] = actual;
  27. (0, _css3.default)(element, (_css = {}, _css[prop] = parseFloat((0, _css3.default)(element, prop)) + adjust + "px", _css));
  28. };
  29. _this.restore = function (prop, element) {
  30. var value = element.dataset[prop];
  31. if (value !== undefined) {
  32. var _css2;
  33. delete element.dataset[prop];
  34. (0, _css3.default)(element, (_css2 = {}, _css2[prop] = value, _css2));
  35. }
  36. };
  37. return _this;
  38. }
  39. var _proto = BootstrapModalManager.prototype;
  40. _proto.setContainerStyle = function setContainerStyle(containerState, container) {
  41. var _this2 = this;
  42. _ModalManager.prototype.setContainerStyle.call(this, containerState, container);
  43. if (!containerState.overflowing) return;
  44. var size = (0, _scrollbarSize.default)();
  45. (0, _querySelectorAll.default)(container, Selector.FIXED_CONTENT).forEach(function (el) {
  46. return _this2.adjustAndStore('paddingRight', el, size);
  47. });
  48. (0, _querySelectorAll.default)(container, Selector.STICKY_CONTENT).forEach(function (el) {
  49. return _this2.adjustAndStore('margingRight', el, -size);
  50. });
  51. (0, _querySelectorAll.default)(container, Selector.NAVBAR_TOGGLER).forEach(function (el) {
  52. return _this2.adjustAndStore('margingRight', el, size);
  53. });
  54. };
  55. _proto.removeContainerStyle = function removeContainerStyle(containerState, container) {
  56. var _this3 = this;
  57. _ModalManager.prototype.removeContainerStyle.call(this, containerState, container);
  58. (0, _querySelectorAll.default)(container, Selector.FIXED_CONTENT).forEach(function (el) {
  59. return _this3.restore('paddingRight', el);
  60. });
  61. (0, _querySelectorAll.default)(container, Selector.STICKY_CONTENT).forEach(function (el) {
  62. return _this3.restore('margingRight', el);
  63. });
  64. (0, _querySelectorAll.default)(container, Selector.NAVBAR_TOGGLER).forEach(function (el) {
  65. return _this3.restore('margingRight', el);
  66. });
  67. };
  68. return BootstrapModalManager;
  69. }(_ModalManager2.default);
  70. exports.default = BootstrapModalManager;
  71. module.exports = exports["default"];