You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Scripted/website/node_modules/.cache/babel-loader/269df1421af1aa144e24d92b88f...

1 line
9.3 KiB

{"ast":null,"code":"import css from 'dom-helpers/css';\nimport { dataAttr } from './DataKey';\nimport getBodyScrollbarWidth from './getScrollbarWidth';\nexport const OPEN_DATA_ATTRIBUTE = dataAttr('modal-open');\n/**\n * Manages a stack of Modals as well as ensuring\n * body scrolling is is disabled and padding accounted for\n */\n\nclass ModalManager {\n constructor() {\n let {\n ownerDocument,\n handleContainerOverflow = true,\n isRTL = false\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.handleContainerOverflow = handleContainerOverflow;\n this.isRTL = isRTL;\n this.modals = [];\n this.ownerDocument = ownerDocument;\n }\n getScrollbarWidth() {\n return getBodyScrollbarWidth(this.ownerDocument);\n }\n getElement() {\n return (this.ownerDocument || document).body;\n }\n setModalAttributes(_modal) {// For overriding\n }\n removeModalAttributes(_modal) {// For overriding\n }\n setContainerStyle(containerState) {\n const style = {\n overflow: 'hidden'\n }; // we are only interested in the actual `style` here\n // because we will override it\n\n const paddingProp = this.isRTL ? 'paddingLeft' : 'paddingRight';\n const container = this.getElement();\n containerState.style = {\n overflow: container.style.overflow,\n [paddingProp]: container.style[paddingProp]\n };\n if (containerState.scrollBarWidth) {\n // use computed style, here to get the real padding\n // to add our scrollbar width\n style[paddingProp] = `${parseInt(css(container, paddingProp) || '0', 10) + containerState.scrollBarWidth}px`;\n }\n container.setAttribute(OPEN_DATA_ATTRIBUTE, '');\n css(container, style);\n }\n reset() {\n [...this.modals].forEach(m => this.remove(m));\n }\n removeContainerStyle(containerState) {\n const container = this.getElement();\n container.removeAttribute(OPEN_DATA_ATTRIBUTE);\n Object.assign(container.style, containerState.style);\n }\n add(modal) {\n let modalIdx = this.modals.indexOf(modal);\n if (modalIdx !== -1) {\n return modalIdx;\n }\n modalIdx = this.modals.length;\n this.modals.push(modal);\n this.setModalAttributes(modal);\n if (modalIdx !== 0) {\n return modalIdx;\n }\n this.state = {\n scrollBarWidth: this.getScrollbarWidth(),\n style: {}\n };\n if (this.handleContainerOverflow) {\n this.setContainerStyle(this.state);\n }\n return modalIdx;\n }\n remove(modal) {\n const modalIdx = this.modals.indexOf(modal);\n if (modalIdx === -1) {\n return;\n }\n this.modals.splice(modalIdx, 1); // if that was the last modal in a container,\n // clean up the container\n\n if (!this.modals.length && this.handleContainerOverflow) {\n this.removeContainerStyle(this.state);\n }\n this.removeModalAttributes(modal);\n }\n isTopModal(modal) {\n return !!this.modals.length && this.modals[this.modals.length - 1] === modal;\n }\n}\nexport default ModalManager;","map":{"version":3,"names":["css","dataAttr","getBodyScrollbarWidth","OPEN_DATA_ATTRIBUTE","ModalManager","constructor","ownerDocument","handleContainerOverflow","isRTL","modals","getScrollbarWidth","getElement","document","body","setModalAttributes","_modal","removeModalAttributes","setContainerStyle","containerState","style","overflow","paddingProp","container","scrollBarWidth","parseInt","setAttribute","reset","forEach","m","remove","removeContainerStyle","removeAttribute","Object","assign","add","modal","modalIdx","indexOf","length","push","state","splice","isTopModal"],"sources":["C:/Cours/SAE/SAE-3.01/Scripted/Scripted/website/node_modules/@restart/ui/esm/ModalManager.js"],"sourcesContent":["import css from 'dom-helpers/css';\nimport { dataAttr } from './DataKey';\nimport getBodyScrollbarWidth from './getScrollbarWidth';\nexport const OPEN_DATA_ATTRIBUTE = dataAttr('modal-open');\n/**\n * Manages a stack of Modals as well as ensuring\n * body scrolling is is disabled and padding accounted for\n */\n\nclass ModalManager {\n constructor({\n ownerDocument,\n handleContainerOverflow = true,\n isRTL = false\n } = {}) {\n this.handleContainerOverflow = handleContainerOverflow;\n this.isRTL = isRTL;\n this.modals = [];\n this.ownerDocument = ownerDocument;\n }\n\n getScrollbarWidth() {\n return getBodyScrollbarWidth(this.ownerDocument);\n }\n\n getElement() {\n return (this.ownerDocument || document).body;\n }\n\n setModalAttributes(_modal) {// For overriding\n }\n\n removeModalAttributes(_modal) {// For overriding\n }\n\n setContainerStyle(containerState) {\n const style = {\n overflow: 'hidden'\n }; // we are only interested in the actual `style` here\n // because we will override it\n\n const paddingProp = this.isRTL ? 'paddingLeft' : 'paddingRight';\n const container = this.getElement();\n containerState.style = {\n overflow: container.style.overflow,\n [paddingProp]: container.style[paddingProp]\n };\n\n if (containerState.scrollBarWidth) {\n // use computed style, here to get the real padding\n // to add our scrollbar width\n style[paddingProp] = `${parseInt(css(container, paddingProp) || '0', 10) + containerState.scrollBarWidth}px`;\n }\n\n container.setAttribute(OPEN_DATA_ATTRIBUTE, '');\n css(container, style);\n }\n\n reset() {\n [...this.modals].forEach(m => this.remove(m));\n }\n\n removeContainerStyle(containerState) {\n const container = this.getElement();\n container.removeAttribute(OPEN_DATA_ATTRIBUTE);\n Object.assign(container.style, containerState.style);\n }\n\n add(modal) {\n let modalIdx = this.modals.indexOf(modal);\n\n if (modalIdx !== -1) {\n return modalIdx;\n }\n\n modalIdx = this.modals.length;\n this.modals.push(modal);\n this.setModalAttributes(modal);\n\n if (modalIdx !== 0) {\n return modalIdx;\n }\n\n this.state = {\n scrollBarWidth: this.getScrollbarWidth(),\n style: {}\n };\n\n if (this.handleContainerOverflow) {\n this.setContainerStyle(this.state);\n }\n\n return modalIdx;\n }\n\n remove(modal) {\n const modalIdx = this.modals.indexOf(modal);\n\n if (modalIdx === -1) {\n return;\n }\n\n this.modals.splice(modalIdx, 1); // if that was the last modal in a container,\n // clean up the container\n\n if (!this.modals.length && this.handleContainerOverflow) {\n this.removeContainerStyle(this.state);\n }\n\n this.removeModalAttributes(modal);\n }\n\n isTopModal(modal) {\n return !!this.modals.length && this.modals[this.modals.length - 1] === modal;\n }\n\n}\n\nexport default ModalManager;"],"mappings":"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"},"metadata":{},"sourceType":"module"}