Files
simpleidp/wwwroot/lib/popper.js/esm/createPopper.min.js
2025-08-19 16:58:51 +02:00

1 line
3.1 KiB
JavaScript

import getCompositeRect from"./dom-utils/getCompositeRect.js";import getLayoutRect from"./dom-utils/getLayoutRect.js";import listScrollParents from"./dom-utils/listScrollParents.js";import getOffsetParent from"./dom-utils/getOffsetParent.js";import getComputedStyle from"./dom-utils/getComputedStyle.js";import orderModifiers from"./utils/orderModifiers.js";import debounce from"./utils/debounce.js";import validateModifiers from"./utils/validateModifiers.js";import uniqueBy from"./utils/uniqueBy.js";import getBasePlacement from"./utils/getBasePlacement.js";import mergeByName from"./utils/mergeByName.js";import detectOverflow from"./utils/detectOverflow.js";import{isElement}from"./dom-utils/instanceOf.js";import{auto}from"./enums.js";var INVALID_ELEMENT_ERROR="Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.",INFINITE_LOOP_ERROR="Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.",DEFAULT_OPTIONS={placement:"bottom",modifiers:[],strategy:"absolute"};function areValidElements(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return!t.some(function(e){return!(e&&"function"==typeof e.getBoundingClientRect)})}function popperGenerator(e){var e=e=void 0===e?{}:e,t=e.defaultModifiers,p=void 0===t?[]:t,t=e.defaultOptions,m=void 0===t?DEFAULT_OPTIONS:t;return function(t,o,r){void 0===r&&(r=m);var s={placement:"bottom",orderedModifiers:[],options:Object.assign({},DEFAULT_OPTIONS,m),modifiersData:{},elements:{reference:t,popper:o},attributes:{},styles:{}},i=[],a=!1,f={state:s,setOptions:function(e){e="function"==typeof e?e(s.options):e,n(),s.options=Object.assign({},m,s.options,e),s.scrollParents={reference:isElement(t)?listScrollParents(t):t.contextElement?listScrollParents(t.contextElement):[],popper:listScrollParents(o)},e=orderModifiers(mergeByName([].concat(p,s.options.modifiers)));return s.orderedModifiers=e.filter(function(e){return e.enabled}),s.orderedModifiers.forEach(function(e){var t=e.name,o=e.options,e=e.effect;"function"==typeof e&&(e=e({state:s,name:t,instance:f,options:void 0===o?{}:o}),i.push(e||function(){}))}),f.update()},forceUpdate:function(){if(!a){var e=s.elements,t=e.reference,e=e.popper;if(areValidElements(t,e)){s.rects={reference:getCompositeRect(t,getOffsetParent(e),"fixed"===s.options.strategy),popper:getLayoutRect(e)},s.reset=!1,s.placement=s.options.placement,s.orderedModifiers.forEach(function(e){return s.modifiersData[e.name]=Object.assign({},e.data)});for(var o,r,i,n=0;n<s.orderedModifiers.length;n++)!0===s.reset?(s.reset=!1,n=-1):(o=(i=s.orderedModifiers[n]).fn,r=i.options,i=i.name,"function"==typeof o&&(s=o({state:s,options:void 0===r?{}:r,name:i,instance:f})||s))}}},update:debounce(function(){return new Promise(function(e){f.forceUpdate(),e(s)})}),destroy:function(){n(),a=!0}};return areValidElements(t,o)&&f.setOptions(r).then(function(e){!a&&r.onFirstUpdate&&r.onFirstUpdate(e)}),f;function n(){i.forEach(function(e){return e()}),i=[]}}}var createPopper=popperGenerator();export{popperGenerator,createPopper,detectOverflow};