├── .config ├── rollup-dev.config.js └── rollup.config.js ├── .gitignore ├── README.md ├── dev ├── App.svelte └── index.js ├── dist ├── svelte-popper.js └── svelte-popper.js.map ├── package.json ├── public └── index.html ├── src ├── Popper.svelte └── index.js └── yarn.lock /.config/rollup-dev.config.js: -------------------------------------------------------------------------------- 1 | // this file will not afect the sandbox but will 2 | // afect the deployment and dowload 3 | 4 | import svelte from 'rollup-plugin-svelte'; 5 | import resolve from 'rollup-plugin-node-resolve'; 6 | import commonjs from 'rollup-plugin-commonjs'; 7 | import { terser } from 'rollup-plugin-terser'; 8 | import replace from '@rollup/plugin-replace'; 9 | 10 | const production = !process.env.ROLLUP_WATCH; 11 | 12 | export default { 13 | input: 'dev/index.js', 14 | output: { 15 | sourcemap: true, 16 | format: 'iife', 17 | name: 'app', 18 | file: 'public/bundle.js', 19 | }, 20 | plugins: [ 21 | svelte({ 22 | // enable run-time checks when not in production 23 | dev: !production, 24 | // we'll extract any component CSS out into 25 | // a separate file — better for performance 26 | css: (css) => { 27 | css.write('public/bundle.css'); 28 | }, 29 | }), 30 | 31 | // If you have external dependencies installed from 32 | // npm, you'll most likely need these plugins. In 33 | // some cases you'll need additional configuration — 34 | // consult the documentation for details: 35 | // https://github.com/rollup/rollup-plugin-commonjs 36 | resolve(), 37 | commonjs(), 38 | 39 | // If we're building for production (npm run build 40 | // instead of npm run dev), minify 41 | production && terser(), 42 | 43 | replace({ 44 | 'process.env.NODE_ENV': JSON.stringify('production'), 45 | include: '**/node_modules/**', 46 | }), 47 | ], 48 | }; 49 | -------------------------------------------------------------------------------- /.config/rollup.config.js: -------------------------------------------------------------------------------- 1 | import svelte from 'rollup-plugin-svelte'; 2 | import resolve from 'rollup-plugin-node-resolve'; 3 | import commonjs from 'rollup-plugin-commonjs'; 4 | import { terser } from 'rollup-plugin-terser'; 5 | 6 | export default { 7 | input: 'src/index.js', 8 | output: { 9 | sourcemap: true, 10 | format: 'umd', 11 | name: 'SveltePopper', 12 | file: 'dist/svelte-popper.js', 13 | }, 14 | plugins: [ 15 | svelte({ 16 | dev: false, 17 | emitCss: false, 18 | }), 19 | resolve(), 20 | commonjs(), 21 | terser(), 22 | ], 23 | }; 24 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | public/bundle* 3 | *.log -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # @popperjs/svelte 2 | 3 | Use Popper in your Svelte projects. 4 | 5 | ### Installation 6 | 7 | ``` 8 | yarn add @popperjs/svelte 9 | # or 10 | npm i @popperjs/svelte 11 | ``` 12 | 13 | ### Usage 14 | 15 | ```svelte 16 | 44 | 45 | 48 | 49 | 55 | 56 |
61 | Popper Element 62 |
63 |
64 | 65 | ``` 66 | -------------------------------------------------------------------------------- /dev/App.svelte: -------------------------------------------------------------------------------- 1 | 24 | 25 | 65 | 66 | 72 | 73 |
78 | popper 79 |
80 |
81 | 82 | -------------------------------------------------------------------------------- /dev/index.js: -------------------------------------------------------------------------------- 1 | import App from "./App.svelte"; 2 | 3 | const app = new App({ 4 | target: document.body 5 | }); 6 | 7 | export default app; 8 | -------------------------------------------------------------------------------- /dist/svelte-popper.js: -------------------------------------------------------------------------------- 1 | !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).SveltePopper=t()}(this,(function(){"use strict";function e(){}function t(e){return e()}function n(){return Object.create(null)}function r(e){e.forEach(t)}function o(e){return"function"==typeof e}function i(e,t){return e!=e?t==t:e!==t||e&&"object"==typeof e||"function"==typeof e}function a(e,t,n,r){return e[1]&&r?function(e,t){for(const n in t)e[n]=t[n];return e}(n.ctx.slice(),e[1](r(t))):n.ctx}function s(e){e.parentNode.removeChild(e)}let f;function c(e){f=e}function p(e){(function(){if(!f)throw new Error("Function called outside component initialization");return f})().$$.on_destroy.push(e)}const u=[],l=[],d=[],m=[],h=Promise.resolve();let g=!1;function y(e){d.push(e)}let b=!1;const v=new Set;function x(){if(!b){b=!0;do{for(let e=0;e{const r=n.length?n[0]:t;return b.ctx&&l(b.ctx[e],b.ctx[e]=r)&&(b.bound[e]&&b.bound[e](r),v&&$(i,e)),t}):[],b.update(),v=!0,r(b.before_update),b.fragment=!!u&&u(b.ctx),a.target){if(a.hydrate){const e=(w=a.target,Array.from(w.childNodes));b.fragment&&b.fragment.l(e),e.forEach(s)}else b.fragment&&b.fragment.c();a.intro&&E(i.$$.fragment),function(e,n,i){const{fragment:a,on_mount:s,on_destroy:f,after_update:c}=e.$$;a&&a.m(n,i),y(()=>{const n=s.map(t).filter(o);f?f.push(...n):r(n),e.$$.on_mount=[]}),c.forEach(y)}(i,a.target,a.anchor),x()}var w;c(h)}const D=[];function S(e){var t=e.getBoundingClientRect();return{width:t.width,height:t.height,top:t.top,right:t.right,bottom:t.bottom,left:t.left,x:t.left,y:t.top}}function k(e){if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t?t.defaultView:window}return e}function M(e){var t=k(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function P(e){return e instanceof k(e).Element||e instanceof Element}function _(e){return e instanceof k(e).HTMLElement||e instanceof HTMLElement}function q(e){return e?(e.nodeName||"").toLowerCase():null}function L(e){return(P(e)?e.ownerDocument:e.document).documentElement}function N(e){return S(L(e)).left+M(e).scrollLeft}function A(e,t,n){var r;void 0===n&&(n=!1);var o,i,a=S(e),s={scrollLeft:0,scrollTop:0},f={x:0,y:0};return n||("body"!==q(t)&&(s=(o=t)!==k(o)&&_(o)?{scrollLeft:(i=o).scrollLeft,scrollTop:i.scrollTop}:M(o)),_(t)?((f=S(t)).x+=t.clientLeft,f.y+=t.clientTop):(r=L(t))&&(f.x=N(r))),{x:a.left+s.scrollLeft-f.x,y:a.top+s.scrollTop-f.y,width:a.width,height:a.height}}function B(e){return{x:e.offsetLeft,y:e.offsetTop,width:e.offsetWidth,height:e.offsetHeight}}function T(e){return"html"===q(e)?e:e.assignedSlot||e.parentNode||e.host||L(e)}function W(e){return k(e).getComputedStyle(e)}function H(e,t){void 0===t&&(t=[]);var n=function e(t){if(["html","body","#document"].indexOf(q(t))>=0)return t.ownerDocument.body;if(_(t)){var n=W(t),r=n.overflow,o=n.overflowX,i=n.overflowY;if(/auto|scroll|overlay|hidden/.test(r+i+o))return t}return e(T(t))}(e),r="body"===q(n),o=k(n),i=r?[o].concat(o.visualViewport||[]):n,a=t.concat(i);return r?a:a.concat(H(T(i)))}function C(e){return["table","td","th"].indexOf(q(e))>=0}function R(e){return _(e)&&"fixed"!==W(e).position?e.offsetParent:null}function V(e){for(var t=k(e),n=R(e);n&&C(n);)n=R(n);return n&&"body"===q(n)&&"static"===W(n).position?t:n||t}var I="top",F="bottom",z="right",U="left",X=[I,F,z,U],Y=X.reduce((function(e,t){return e.concat([t+"-start",t+"-end"])}),[]),J=[].concat(X,["auto"]).reduce((function(e,t){return e.concat([t,t+"-start",t+"-end"])}),[]),G=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function K(e){var t=new Map,n=new Set,r=[];return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||function e(o){n.add(o.name),[].concat(o.requires||[],o.requiresIfExists||[]).forEach((function(r){if(!n.has(r)){var o=t.get(r);o&&e(o)}})),r.push(o)}(e)})),r}function Q(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r100){console.error("Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.");break}if(!0!==s.reset){var i=s.orderedModifiers[o],a=i.fn,f=i.options,u=void 0===f?{}:f,l=i.name;"function"==typeof a&&(s=a({state:s,options:u,name:l,instance:p})||s)}else s.reset=!1,o=-1}}else"production"!==process.env.NODE_ENV&&console.error(ne)}},update:(o=function(){return new Promise((function(e){p.forceUpdate(),e(s)}))},function(){return a||(a=new Promise((function(e){Promise.resolve().then((function(){a=void 0,e(o())}))}))),a}),destroy:function(){u(),c=!0}};if(!oe(e,t))return"production"!==process.env.NODE_ENV&&console.error(ne),p;function u(){f.forEach((function(e){return e()})),f=[]}return p.setOptions(n).then((function(e){!c&&n.onFirstUpdate&&n.onFirstUpdate(e)})),p}}var ae={passive:!0};function se(e){return e.split("-")[1]}function fe(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function ce(e){var t,n=e.reference,r=e.element,o=e.placement,i=o?te(o):null,a=o?se(o):null,s=n.x+n.width/2-r.width/2,f=n.y+n.height/2-r.height/2;switch(i){case I:t={x:s,y:n.y-r.height};break;case F:t={x:s,y:n.y+n.height};break;case z:t={x:n.x+n.width,y:f};break;case U:t={x:n.x-r.width,y:f};break;default:t={x:n.x,y:n.y}}var c=i?fe(i):null;if(null!=c){var p="y"===c?"height":"width";switch(a){case"start":t[c]=Math.floor(t[c])-Math.floor(n[p]/2-r[p]/2);break;case"end":t[c]=Math.floor(t[c])+Math.ceil(n[p]/2-r[p]/2)}}return t}var pe={top:"auto",right:"auto",bottom:"auto",left:"auto"};function ue(e){var t,n=e.popper,r=e.popperRect,o=e.placement,i=e.offsets,a=e.position,s=e.gpuAcceleration,f=e.adaptive,c=function(e){var t=e.x,n=e.y,r=window.devicePixelRatio||1;return{x:Math.round(t*r)/r||0,y:Math.round(n*r)/r||0}}(i),p=c.x,u=c.y,l=i.hasOwnProperty("x"),d=i.hasOwnProperty("y"),m=U,h=I,g=window;if(f){var y=V(n);y===k(n)&&(y=L(n)),o===I&&(h=F,u-=y.clientHeight-r.height,u*=s?1:-1),o===U&&(m=z,p-=y.clientWidth-r.width,p*=s?1:-1)}var b,v=Object.assign({position:a},f&&pe);return s?Object.assign({},v,((b={})[h]=d?"0":"",b[m]=l?"0":"",b.transform=(g.devicePixelRatio||1)<2?"translate("+p+"px, "+u+"px)":"translate3d("+p+"px, "+u+"px, 0)",b)):Object.assign({},v,((t={})[h]=d?u+"px":"",t[m]=l?p+"px":"",t.transform="",t))}var le={left:"right",right:"left",bottom:"top",top:"bottom"};function de(e){return e.replace(/left|right|bottom|top/g,(function(e){return le[e]}))}var me={start:"end",end:"start"};function he(e){return e.replace(/start|end/g,(function(e){return me[e]}))}function ge(e){return parseFloat(e)||0}function ye(e){var t=k(e),n=function(e){var t=_(e)?W(e):{};return{top:ge(t.borderTopWidth),right:ge(t.borderRightWidth),bottom:ge(t.borderBottomWidth),left:ge(t.borderLeftWidth)}}(e),r="html"===q(e),o=N(e),i=e.clientWidth+n.right,a=e.clientHeight+n.bottom;return r&&t.innerHeight-e.clientHeight>50&&(a=t.innerHeight-n.bottom),{top:r?0:e.clientTop,right:e.clientLeft>n.left?n.right:r?t.innerWidth-i-o:e.offsetWidth-i,bottom:r?t.innerHeight-a:e.offsetHeight-a,left:r?o:e.clientLeft}}function be(e,t){var n=Boolean(t.getRootNode&&t.getRootNode().host);if(e.contains(t))return!0;if(n){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function ve(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function xe(e,t){return"viewport"===t?ve(function(e){var t=k(e),n=t.visualViewport,r=t.innerWidth,o=t.innerHeight;return n&&/iPhone|iPod|iPad/.test(navigator.platform)&&(r=n.width,o=n.height),{width:r,height:o,x:0,y:0}}(e)):_(t)?S(t):ve(function(e){var t=k(e),n=M(e),r=A(L(e),t);return r.height=Math.max(r.height,t.innerHeight),r.width=Math.max(r.width,t.innerWidth),r.x=-n.scrollLeft,r.y=-n.scrollTop,r}(L(e)))}function we(e,t,n){var r="clippingParents"===t?function(e){var t=H(e),n=["absolute","fixed"].indexOf(W(e).position)>=0&&_(e)?V(e):e;return P(n)?t.filter((function(e){return P(e)&&be(e,n)})):[]}(e):[].concat(t),o=[].concat(r,[n]),i=o[0],a=o.reduce((function(t,n){var r=xe(e,n),o=ye(_(n)?n:L(e));return t.top=Math.max(r.top+o.top,t.top),t.right=Math.min(r.right-o.right,t.right),t.bottom=Math.min(r.bottom-o.bottom,t.bottom),t.left=Math.max(r.left+o.left,t.left),t}),xe(e,i));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function Oe(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},{},e)}function Ee(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function $e(e,t){void 0===t&&(t={});var n=t,r=n.placement,o=void 0===r?e.placement:r,i=n.boundary,a=void 0===i?"clippingParents":i,s=n.rootBoundary,f=void 0===s?"viewport":s,c=n.elementContext,p=void 0===c?"popper":c,u=n.altBoundary,l=void 0!==u&&u,d=n.padding,m=void 0===d?0:d,h=Oe("number"!=typeof m?m:Ee(m,X)),g="popper"===p?"reference":"popper",y=e.elements.reference,b=e.rects.popper,v=e.elements[l?g:p],x=we(P(v)?v:v.contextElement||L(e.elements.popper),a,f),w=S(y),O=ce({reference:w,element:b,strategy:"absolute",placement:o}),E=ve(Object.assign({},b,{},O)),$="popper"===p?E:w,j={top:x.top-$.top+h.top,bottom:$.bottom-x.bottom+h.bottom,left:x.left-$.left+h.left,right:$.right-x.right+h.right},D=e.modifiersData.offset;if("popper"===p&&D){var k=D[o];Object.keys(j).forEach((function(e){var t=[z,F].indexOf(e)>=0?1:-1,n=[I,F].indexOf(e)>=0?"y":"x";j[e]+=k[n]*t}))}return j}function je(e,t){void 0===t&&(t={});var n=t,r=n.placement,o=n.boundary,i=n.rootBoundary,a=n.padding,s=n.flipVariations,f=n.allowedAutoPlacements,c=void 0===f?J:f,p=se(r),u=(p?s?Y:Y.filter((function(e){return se(e)===p})):X).filter((function(e){return c.indexOf(e)>=0})).reduce((function(t,n){return t[n]=$e(e,{placement:n,boundary:o,rootBoundary:i,padding:a})[te(n)],t}),{});return Object.keys(u).sort((function(e,t){return u[e]-u[t]}))}function De(e,t,n){return Math.max(e,Math.min(t,n))}function Se(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function ke(e){return[I,z,F,U].some((function(t){return e[t]>=0}))}var Me=ie({defaultModifiers:[{name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,n=e.instance,r=e.options,o=r.scroll,i=void 0===o||o,a=r.resize,s=void 0===a||a,f=k(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return i&&c.forEach((function(e){e.addEventListener("scroll",n.update,ae)})),s&&f.addEventListener("resize",n.update,ae),function(){i&&c.forEach((function(e){e.removeEventListener("scroll",n.update,ae)})),s&&f.removeEventListener("resize",n.update,ae)}},data:{}},{name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state,n=e.name;t.modifiersData[n]=ce({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options,r=n.gpuAcceleration,o=void 0===r||r,i=n.adaptive,a=void 0===i||i;if("production"!==process.env.NODE_ENV){var s=W(t.elements.popper).transitionProperty||"";a&&["transform","top","right","bottom","left"].some((function(e){return s.indexOf(e)>=0}))&&console.warn(["Popper: Detected CSS transitions on at least one of the following",'CSS properties: "transform", "top", "right", "bottom", "left".',"\n\n",'Disable the "computeStyles" modifier\'s `adaptive` option to allow',"for smooth transitions, or remove these properties from the CSS","transition declaration on the popper element if only transitioning","opacity or background-color for example.","\n\n","We recommend using the popper element as a wrapper around an inner","element that can have any CSS property transitioned for animations."].join(" "))}var f={placement:te(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,{},ue(Object.assign({},f,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,{},ue(Object.assign({},f,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}},{name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},r=t.attributes[e]||{},o=t.elements[e];_(o)&&q(o)&&(Object.assign(o.style,n),Object.keys(r).forEach((function(e){var t=r[e];!1===t?o.removeAttribute(e):o.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var r=t.elements[e],o=t.attributes[e]||{},i=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{});_(r)&&q(r)&&(Object.assign(r.style,i),Object.keys(o).forEach((function(e){r.removeAttribute(e)})))}))}},requires:["computeStyles"]},{name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.offset,i=void 0===o?[0,0]:o,a=J.reduce((function(e,n){return e[n]=function(e,t,n){var r=te(e),o=[U,I].indexOf(r)>=0?-1:1,i="function"==typeof n?n(Object.assign({},t,{placement:e})):n,a=i[0],s=i[1];return a=a||0,s=(s||0)*o,[U,z].indexOf(r)>=0?{x:s,y:a}:{x:a,y:s}}(n,t.rects,i),e}),{}),s=a[t.placement],f=s.x,c=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=f,t.modifiersData.popperOffsets.y+=c),t.modifiersData[r]=a}},{name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.fallbackPlacements,i=n.padding,a=n.boundary,s=n.rootBoundary,f=n.altBoundary,c=n.flipVariations,p=void 0===c||c,u=n.allowedAutoPlacements,l=t.options.placement,d=te(l),m=o||(d===l||!p?[de(l)]:function(e){if("auto"===te(e))return[];var t=de(e);return[he(e),t,he(t)]}(l)),h=[l].concat(m).reduce((function(e,n){return e.concat("auto"===te(n)?je(t,{placement:n,boundary:a,rootBoundary:s,padding:i,flipVariations:p,allowedAutoPlacements:u}):n)}),[]),g=t.rects.reference,y=t.rects.popper,b=new Map,v=!0,x=h[0],w=0;w=0,D=j?"width":"height",S=$e(t,{placement:O,boundary:a,rootBoundary:s,altBoundary:f,padding:i}),k=j?$?z:U:$?F:I;g[D]>y[D]&&(k=de(k));var M=de(k),P=[S[E]<=0,S[k]<=0,S[M]<=0];if(P.every((function(e){return e}))){x=O,v=!1;break}b.set(O,P)}if(v)for(var _=function(e){var t=h.find((function(t){var n=b.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return x=t,"break"},q=p?3:1;q>0;q--){if("break"===_(q))break}t.placement!==x&&(t.modifiersData[r]._skip=!0,t.placement=x,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}},{name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,i=void 0===o||o,a=n.altAxis,s=void 0!==a&&a,f=n.boundary,c=n.rootBoundary,p=n.altBoundary,u=n.padding,l=n.tether,d=void 0===l||l,m=n.tetherOffset,h=void 0===m?0:m,g=$e(t,{boundary:f,rootBoundary:c,padding:u,altBoundary:p}),y=te(t.placement),b=se(t.placement),v=!b,x=fe(y),w="x"===x?"y":"x",O=t.modifiersData.popperOffsets,E=t.rects.reference,$=t.rects.popper,j="function"==typeof h?h(Object.assign({},t.rects,{placement:t.placement})):h,D={x:0,y:0};if(O){if(i){var S="y"===x?I:U,k="y"===x?F:z,M="y"===x?"height":"width",P=O[x],_=O[x]+g[S],q=O[x]-g[k],L=d?-$[M]/2:0,N="start"===b?E[M]:$[M],A="start"===b?-$[M]:-E[M],T=t.elements.arrow,W=d&&T?B(T):{width:0,height:0},H=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},C=H[S],R=H[k],X=De(0,E[M],W[M]),Y=v?E[M]/2-L-X-C-j:N-X-C-j,J=v?-E[M]/2+L+X+R+j:A+X+R+j,G=t.elements.arrow&&V(t.elements.arrow),K=G?"y"===x?G.clientTop||0:G.clientLeft||0:0,Q=t.modifiersData.offset?t.modifiersData.offset[t.placement][x]:0,Z=O[x]+Y-Q-K,ee=O[x]+J-Q,ne=De(d?Math.min(_,Z):_,P,d?Math.max(q,ee):q);O[x]=ne,D[x]=ne-P}if(s){var re="x"===x?I:U,oe="x"===x?F:z,ie=O[w],ae=De(ie+g[re],ie,ie-g[oe]);O[w]=ae,D[w]=ae-ie}t.modifiersData[r]=D}},requiresIfExists:["offset"]},{name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,r=e.name,o=n.elements.arrow,i=n.modifiersData.popperOffsets,a=te(n.placement),s=fe(a),f=[U,z].indexOf(a)>=0?"height":"width";if(o&&i){var c=n.modifiersData[r+"#persistent"].padding,p=B(o),u="y"===s?I:U,l="y"===s?F:z,d=n.rects.reference[f]+n.rects.reference[s]-i[s]-n.rects.popper[f],m=i[s]-n.rects.reference[s],h=n.elements.arrow&&V(n.elements.arrow),g=h?"y"===s?h.clientHeight||0:h.clientWidth||0:0,y=d/2-m/2,b=c[u],v=g-p[f]-c[l],x=g/2-p[f]/2+y,w=De(b,x,v),O=s;n.modifiersData[r]=((t={})[O]=w,t.centerOffset=w-x,t)}},effect:function(e){var t=e.state,n=e.options,r=e.name,o=n.element,i=void 0===o?"[data-popper-arrow]":o,a=n.padding,s=void 0===a?0:a;null!=i&&("string"!=typeof i||(i=t.elements.popper.querySelector(i)))&&(be(t.elements.popper,i)?(t.elements.arrow=i,t.modifiersData[r+"#persistent"]={padding:Oe("number"!=typeof s?s:Ee(s,X))}):"production"!==process.env.NODE_ENV&&console.error(['Popper: "arrow" modifier\'s `element` must be a child of the popper',"element."].join(" ")))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]},{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,i=t.modifiersData.preventOverflow,a=$e(t,{elementContext:"reference"}),s=$e(t,{altBoundary:!0}),f=Se(a,r),c=Se(s,o,i),p=ke(f),u=ke(c);t.modifiersData[n]={referenceClippingOffsets:f,popperEscapeOffsets:c,isReferenceHidden:p,hasPopperEscaped:u},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":u})}}]});function Pe(e){let t;const n=e[13].default,r=function(e,t,n,r){if(e){const o=a(e,t,n,r);return e[0](o)}}(n,e,e[12],null);return{c(){r&&r.c()},m(e,n){r&&r.m(e,n),t=!0},p(e,[t]){r&&r.p&&4096&t&&r.p(a(n,e,e[12],null),function(e,t,n,r){if(e[2]&&r){const o=e[2](r(n));if(void 0===t.dirty)return o;if("object"==typeof o){const e=[],n=Math.max(t.dirty.length,o.length);for(let r=0;r{O.delete(e),r&&(n&&e.d(1),r())}),e.o(t)}}(r,e),t=!1},d(e){r&&r.d(e)}}}function _e(t,n,r){let o,a=e;t.$$.on_destroy.push(()=>a());let{reference:s}=n,{popper:f}=n,{options:c={}}=n;const u=function(t,n=e){let r;const o=[];function a(e){if(i(t,e)&&(t=e,r)){const e=!D.length;for(let e=0;e{const e=o.indexOf(f);-1!==e&&o.splice(e,1),0===o.length&&(r(),r=null)}}}}({});let l,d,m;a(),a=function(t,...n){if(null==t)return e;const r=t.subscribe(...n);return r.unsubscribe?()=>r.unsubscribe():r}(u,e=>r(10,o=e));const h={name:"updateState",enabled:!0,phase:"write",fn:({state:e})=>u.set(e)};p(()=>{m&&m.destroy(),r(9,m=null)});let{styles:g={}}=n,{attributes:y={}}=n,{state:b={}}=n,{$$slots:v={},$$scope:x}=n;return t.$set=e=>{"reference"in e&&r(4,s=e.reference),"popper"in e&&r(5,f=e.popper),"options"in e&&r(6,c=e.options),"styles"in e&&r(1,g=e.styles),"attributes"in e&&r(2,y=e.attributes),"state"in e&&r(3,b=e.state),"$$scope"in e&&r(12,x=e.$$scope)},t.$$.update=()=>{1008&t.$$.dirty&&(d==f&&l==l||(m&&m.destroy(),null!=s&&null!=f&&(r(9,m=Me(s,f,{...c,modifiers:[...c.modifiers,h,{name:"applyStyles",enabled:!1}]})),r(8,d=f),r(7,l=s)))),576&t.$$.dirty&&null!=m&&m.setOptions({...c,modifiers:[...c.modifiers,h,{name:"applyStyles",enabled:!1}]}),1024&t.$$.dirty&&r(1,g=o.styles||{}),1024&t.$$.dirty&&r(2,y=o.attributes||{}),1024&t.$$.dirty&&r(3,b=o)},[u,g,y,b,s,f,c,l,d,m,o,h,x,v]}return class extends class{$destroy(){!function(e,t){const n=e.$$;null!==n.fragment&&(r(n.on_destroy),n.fragment&&n.fragment.d(t),n.on_destroy=n.fragment=null,n.ctx=[])}(this,1),this.$destroy=e}$on(e,t){const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return n.push(t),()=>{const e=n.indexOf(t);-1!==e&&n.splice(e,1)}}$set(){}}{constructor(e){super(),j(this,e,_e,Pe,i,{reference:4,popper:5,options:6,store:0,styles:1,attributes:2,state:3})}get store(){return this.$$.ctx[0]}}})); 2 | //# sourceMappingURL=svelte-popper.js.map 3 | -------------------------------------------------------------------------------- /dist/svelte-popper.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"svelte-popper.js","sources":["../node_modules/svelte/internal/index.mjs","../node_modules/svelte/store/index.mjs","../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../node_modules/@popperjs/core/lib/enums.js","../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../node_modules/@popperjs/core/lib/utils/format.js","../node_modules/@popperjs/core/lib/utils/validateModifiers.js","../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../node_modules/@popperjs/core/lib/index.js","../node_modules/@popperjs/core/lib/utils/debounce.js","../node_modules/@popperjs/core/lib/utils/uniqueBy.js","../node_modules/@popperjs/core/lib/utils/mergeByName.js","../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../node_modules/@popperjs/core/lib/utils/getVariation.js","../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../node_modules/@popperjs/core/lib/dom-utils/getBorders.js","../node_modules/@popperjs/core/lib/dom-utils/getDecorations.js","../node_modules/@popperjs/core/lib/dom-utils/contains.js","../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../node_modules/@popperjs/core/lib/utils/within.js","../node_modules/@popperjs/core/lib/modifiers/hide.js","../node_modules/@popperjs/core/lib/popper.js","../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../node_modules/@popperjs/core/lib/modifiers/offset.js","../node_modules/@popperjs/core/lib/modifiers/flip.js","../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../node_modules/@popperjs/core/lib/modifiers/arrow.js","../src/Popper.svelte"],"sourcesContent":["function noop() { }\nconst identity = x => x;\nfunction assign(tar, src) {\n // @ts-ignore\n for (const k in src)\n tar[k] = src[k];\n return tar;\n}\nfunction is_promise(value) {\n return value && typeof value === 'object' && typeof value.then === 'function';\n}\nfunction add_location(element, file, line, column, char) {\n element.__svelte_meta = {\n loc: { file, line, column, char }\n };\n}\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nfunction not_equal(a, b) {\n return a != a ? b == b : a !== b;\n}\nfunction validate_store(store, name) {\n if (store != null && typeof store.subscribe !== 'function') {\n throw new Error(`'${name}' is not a store with a 'subscribe' method`);\n }\n}\nfunction subscribe(store, ...callbacks) {\n if (store == null) {\n return noop;\n }\n const unsub = store.subscribe(...callbacks);\n return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\nfunction get_store_value(store) {\n let value;\n subscribe(store, _ => value = _)();\n return value;\n}\nfunction component_subscribe(component, store, callback) {\n component.$$.on_destroy.push(subscribe(store, callback));\n}\nfunction create_slot(definition, ctx, $$scope, fn) {\n if (definition) {\n const slot_ctx = get_slot_context(definition, ctx, $$scope, fn);\n return definition[0](slot_ctx);\n }\n}\nfunction get_slot_context(definition, ctx, $$scope, fn) {\n return definition[1] && fn\n ? assign($$scope.ctx.slice(), definition[1](fn(ctx)))\n : $$scope.ctx;\n}\nfunction get_slot_changes(definition, $$scope, dirty, fn) {\n if (definition[2] && fn) {\n const lets = definition[2](fn(dirty));\n if ($$scope.dirty === undefined) {\n return lets;\n }\n if (typeof lets === 'object') {\n const merged = [];\n const len = Math.max($$scope.dirty.length, lets.length);\n for (let i = 0; i < len; i += 1) {\n merged[i] = $$scope.dirty[i] | lets[i];\n }\n return merged;\n }\n return $$scope.dirty | lets;\n }\n return $$scope.dirty;\n}\nfunction exclude_internal_props(props) {\n const result = {};\n for (const k in props)\n if (k[0] !== '$')\n result[k] = props[k];\n return result;\n}\nfunction compute_rest_props(props, keys) {\n const rest = {};\n keys = new Set(keys);\n for (const k in props)\n if (!keys.has(k) && k[0] !== '$')\n rest[k] = props[k];\n return rest;\n}\nfunction once(fn) {\n let ran = false;\n return function (...args) {\n if (ran)\n return;\n ran = true;\n fn.call(this, ...args);\n };\n}\nfunction null_to_empty(value) {\n return value == null ? '' : value;\n}\nfunction set_store_value(store, ret, value = ret) {\n store.set(value);\n return ret;\n}\nconst has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\n\nconst is_client = typeof window !== 'undefined';\nlet now = is_client\n ? () => window.performance.now()\n : () => Date.now();\nlet raf = is_client ? cb => requestAnimationFrame(cb) : noop;\n// used internally for testing\nfunction set_now(fn) {\n now = fn;\n}\nfunction set_raf(fn) {\n raf = fn;\n}\n\nconst tasks = new Set();\nfunction run_tasks(now) {\n tasks.forEach(task => {\n if (!task.c(now)) {\n tasks.delete(task);\n task.f();\n }\n });\n if (tasks.size !== 0)\n raf(run_tasks);\n}\n/**\n * For testing purposes only!\n */\nfunction clear_loops() {\n tasks.clear();\n}\n/**\n * Creates a new task that runs on each raf frame\n * until it returns a falsy value or is aborted\n */\nfunction loop(callback) {\n let task;\n if (tasks.size === 0)\n raf(run_tasks);\n return {\n promise: new Promise(fulfill => {\n tasks.add(task = { c: callback, f: fulfill });\n }),\n abort() {\n tasks.delete(task);\n }\n };\n}\n\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction destroy_each(iterations, detaching) {\n for (let i = 0; i < iterations.length; i += 1) {\n if (iterations[i])\n iterations[i].d(detaching);\n }\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction element_is(name, is) {\n return document.createElement(name, { is });\n}\nfunction object_without_properties(obj, exclude) {\n const target = {};\n for (const k in obj) {\n if (has_prop(obj, k)\n // @ts-ignore\n && exclude.indexOf(k) === -1) {\n // @ts-ignore\n target[k] = obj[k];\n }\n }\n return target;\n}\nfunction svg_element(name) {\n return document.createElementNS('http://www.w3.org/2000/svg', name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction space() {\n return text(' ');\n}\nfunction empty() {\n return text('');\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction prevent_default(fn) {\n return function (event) {\n event.preventDefault();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction stop_propagation(fn) {\n return function (event) {\n event.stopPropagation();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction self(fn) {\n return function (event) {\n // @ts-ignore\n if (event.target === this)\n fn.call(this, event);\n };\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_attributes(node, attributes) {\n // @ts-ignore\n const descriptors = Object.getOwnPropertyDescriptors(node.__proto__);\n for (const key in attributes) {\n if (attributes[key] == null) {\n node.removeAttribute(key);\n }\n else if (key === 'style') {\n node.style.cssText = attributes[key];\n }\n else if (key === '__value' || descriptors[key] && descriptors[key].set) {\n node[key] = attributes[key];\n }\n else {\n attr(node, key, attributes[key]);\n }\n }\n}\nfunction set_svg_attributes(node, attributes) {\n for (const key in attributes) {\n attr(node, key, attributes[key]);\n }\n}\nfunction set_custom_element_data(node, prop, value) {\n if (prop in node) {\n node[prop] = value;\n }\n else {\n attr(node, prop, value);\n }\n}\nfunction xlink_attr(node, attribute, value) {\n node.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\nfunction get_binding_group_value(group) {\n const value = [];\n for (let i = 0; i < group.length; i += 1) {\n if (group[i].checked)\n value.push(group[i].__value);\n }\n return value;\n}\nfunction to_number(value) {\n return value === '' ? undefined : +value;\n}\nfunction time_ranges_to_array(ranges) {\n const array = [];\n for (let i = 0; i < ranges.length; i += 1) {\n array.push({ start: ranges.start(i), end: ranges.end(i) });\n }\n return array;\n}\nfunction children(element) {\n return Array.from(element.childNodes);\n}\nfunction claim_element(nodes, name, attributes, svg) {\n for (let i = 0; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeName === name) {\n let j = 0;\n while (j < node.attributes.length) {\n const attribute = node.attributes[j];\n if (attributes[attribute.name]) {\n j++;\n }\n else {\n node.removeAttribute(attribute.name);\n }\n }\n return nodes.splice(i, 1)[0];\n }\n }\n return svg ? svg_element(name) : element(name);\n}\nfunction claim_text(nodes, data) {\n for (let i = 0; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeType === 3) {\n node.data = '' + data;\n return nodes.splice(i, 1)[0];\n }\n }\n return text(data);\n}\nfunction claim_space(nodes) {\n return claim_text(nodes, ' ');\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.data !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n if (value != null || input.value) {\n input.value = value;\n }\n}\nfunction set_input_type(input, type) {\n try {\n input.type = type;\n }\n catch (e) {\n // do nothing\n }\n}\nfunction set_style(node, key, value, important) {\n node.style.setProperty(key, value, important ? 'important' : '');\n}\nfunction select_option(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n if (option.__value === value) {\n option.selected = true;\n return;\n }\n }\n}\nfunction select_options(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n option.selected = ~value.indexOf(option.__value);\n }\n}\nfunction select_value(select) {\n const selected_option = select.querySelector(':checked') || select.options[0];\n return selected_option && selected_option.__value;\n}\nfunction select_multiple_value(select) {\n return [].map.call(select.querySelectorAll(':checked'), option => option.__value);\n}\nfunction add_resize_listener(element, fn) {\n if (getComputedStyle(element).position === 'static') {\n element.style.position = 'relative';\n }\n const object = document.createElement('object');\n object.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; pointer-events: none; z-index: -1;');\n object.setAttribute('aria-hidden', 'true');\n object.type = 'text/html';\n object.tabIndex = -1;\n let win;\n object.onload = () => {\n win = object.contentDocument.defaultView;\n win.addEventListener('resize', fn);\n };\n if (/Trident/.test(navigator.userAgent)) {\n element.appendChild(object);\n object.data = 'about:blank';\n }\n else {\n object.data = 'about:blank';\n element.appendChild(object);\n }\n return {\n cancel: () => {\n win && win.removeEventListener && win.removeEventListener('resize', fn);\n element.removeChild(object);\n }\n };\n}\nfunction toggle_class(element, name, toggle) {\n element.classList[toggle ? 'add' : 'remove'](name);\n}\nfunction custom_event(type, detail) {\n const e = document.createEvent('CustomEvent');\n e.initCustomEvent(type, false, false, detail);\n return e;\n}\nfunction query_selector_all(selector, parent = document.body) {\n return Array.from(parent.querySelectorAll(selector));\n}\nclass HtmlTag {\n constructor(html, anchor = null) {\n this.e = element('div');\n this.a = anchor;\n this.u(html);\n }\n m(target, anchor = null) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert(target, this.n[i], anchor);\n }\n this.t = target;\n }\n u(html) {\n this.e.innerHTML = html;\n this.n = Array.from(this.e.childNodes);\n }\n p(html) {\n this.d();\n this.u(html);\n this.m(this.t, this.a);\n }\n d() {\n this.n.forEach(detach);\n }\n}\n\nconst active_docs = new Set();\nlet active = 0;\n// https://github.com/darkskyapp/string-hash/blob/master/index.js\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i--)\n hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n return hash >>> 0;\n}\nfunction create_rule(node, a, b, duration, delay, ease, fn, uid = 0) {\n const step = 16.666 / duration;\n let keyframes = '{\\n';\n for (let p = 0; p <= 1; p += step) {\n const t = a + (b - a) * ease(p);\n keyframes += p * 100 + `%{${fn(t, 1 - t)}}\\n`;\n }\n const rule = keyframes + `100% {${fn(b, 1 - b)}}\\n}`;\n const name = `__svelte_${hash(rule)}_${uid}`;\n const doc = node.ownerDocument;\n active_docs.add(doc);\n const stylesheet = doc.__svelte_stylesheet || (doc.__svelte_stylesheet = doc.head.appendChild(element('style')).sheet);\n const current_rules = doc.__svelte_rules || (doc.__svelte_rules = {});\n if (!current_rules[name]) {\n current_rules[name] = true;\n stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length);\n }\n const animation = node.style.animation || '';\n node.style.animation = `${animation ? `${animation}, ` : ``}${name} ${duration}ms linear ${delay}ms 1 both`;\n active += 1;\n return name;\n}\nfunction delete_rule(node, name) {\n const previous = (node.style.animation || '').split(', ');\n const next = previous.filter(name\n ? anim => anim.indexOf(name) < 0 // remove specific animation\n : anim => anim.indexOf('__svelte') === -1 // remove all Svelte animations\n );\n const deleted = previous.length - next.length;\n if (deleted) {\n node.style.animation = next.join(', ');\n active -= deleted;\n if (!active)\n clear_rules();\n }\n}\nfunction clear_rules() {\n raf(() => {\n if (active)\n return;\n active_docs.forEach(doc => {\n const stylesheet = doc.__svelte_stylesheet;\n let i = stylesheet.cssRules.length;\n while (i--)\n stylesheet.deleteRule(i);\n doc.__svelte_rules = {};\n });\n active_docs.clear();\n });\n}\n\nfunction create_animation(node, from, fn, params) {\n if (!from)\n return noop;\n const to = node.getBoundingClientRect();\n if (from.left === to.left && from.right === to.right && from.top === to.top && from.bottom === to.bottom)\n return noop;\n const { delay = 0, duration = 300, easing = identity, \n // @ts-ignore todo: should this be separated from destructuring? Or start/end added to public api and documentation?\n start: start_time = now() + delay, \n // @ts-ignore todo:\n end = start_time + duration, tick = noop, css } = fn(node, { from, to }, params);\n let running = true;\n let started = false;\n let name;\n function start() {\n if (css) {\n name = create_rule(node, 0, 1, duration, delay, easing, css);\n }\n if (!delay) {\n started = true;\n }\n }\n function stop() {\n if (css)\n delete_rule(node, name);\n running = false;\n }\n loop(now => {\n if (!started && now >= start_time) {\n started = true;\n }\n if (started && now >= end) {\n tick(1, 0);\n stop();\n }\n if (!running) {\n return false;\n }\n if (started) {\n const p = now - start_time;\n const t = 0 + 1 * easing(p / duration);\n tick(t, 1 - t);\n }\n return true;\n });\n start();\n tick(0, 1);\n return stop;\n}\nfunction fix_position(node) {\n const style = getComputedStyle(node);\n if (style.position !== 'absolute' && style.position !== 'fixed') {\n const { width, height } = style;\n const a = node.getBoundingClientRect();\n node.style.position = 'absolute';\n node.style.width = width;\n node.style.height = height;\n add_transform(node, a);\n }\n}\nfunction add_transform(node, a) {\n const b = node.getBoundingClientRect();\n if (a.left !== b.left || a.top !== b.top) {\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n node.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`;\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\nfunction get_current_component() {\n if (!current_component)\n throw new Error(`Function called outside component initialization`);\n return current_component;\n}\nfunction beforeUpdate(fn) {\n get_current_component().$$.before_update.push(fn);\n}\nfunction onMount(fn) {\n get_current_component().$$.on_mount.push(fn);\n}\nfunction afterUpdate(fn) {\n get_current_component().$$.after_update.push(fn);\n}\nfunction onDestroy(fn) {\n get_current_component().$$.on_destroy.push(fn);\n}\nfunction createEventDispatcher() {\n const component = get_current_component();\n return (type, detail) => {\n const callbacks = component.$$.callbacks[type];\n if (callbacks) {\n // TODO are there situations where events could be dispatched\n // in a server (non-DOM) environment?\n const event = custom_event(type, detail);\n callbacks.slice().forEach(fn => {\n fn.call(component, event);\n });\n }\n };\n}\nfunction setContext(key, context) {\n get_current_component().$$.context.set(key, context);\n}\nfunction getContext(key) {\n return get_current_component().$$.context.get(key);\n}\n// TODO figure out if we still want to support\n// shorthand events, or if we want to implement\n// a real bubbling mechanism\nfunction bubble(component, event) {\n const callbacks = component.$$.callbacks[event.type];\n if (callbacks) {\n callbacks.slice().forEach(fn => fn(event));\n }\n}\n\nconst dirty_components = [];\nconst intros = { enabled: false };\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\nfunction add_flush_callback(fn) {\n flush_callbacks.push(fn);\n}\nlet flushing = false;\nconst seen_callbacks = new Set();\nfunction flush() {\n if (flushing)\n return;\n flushing = true;\n do {\n // first, call beforeUpdate functions\n // and update components\n for (let i = 0; i < dirty_components.length; i += 1) {\n const component = dirty_components[i];\n set_current_component(component);\n update(component.$$);\n }\n dirty_components.length = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n flushing = false;\n seen_callbacks.clear();\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\n\nlet promise;\nfunction wait() {\n if (!promise) {\n promise = Promise.resolve();\n promise.then(() => {\n promise = null;\n });\n }\n return promise;\n}\nfunction dispatch(node, direction, kind) {\n node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`));\n}\nconst outroing = new Set();\nlet outros;\nfunction group_outros() {\n outros = {\n r: 0,\n c: [],\n p: outros // parent group\n };\n}\nfunction check_outros() {\n if (!outros.r) {\n run_all(outros.c);\n }\n outros = outros.p;\n}\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\nfunction transition_out(block, local, detach, callback) {\n if (block && block.o) {\n if (outroing.has(block))\n return;\n outroing.add(block);\n outros.c.push(() => {\n outroing.delete(block);\n if (callback) {\n if (detach)\n block.d(1);\n callback();\n }\n });\n block.o(local);\n }\n}\nconst null_transition = { duration: 0 };\nfunction create_in_transition(node, fn, params) {\n let config = fn(node, params);\n let running = false;\n let animation_name;\n let task;\n let uid = 0;\n function cleanup() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++);\n tick(0, 1);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n if (task)\n task.abort();\n running = true;\n add_render_callback(() => dispatch(node, true, 'start'));\n task = loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(1, 0);\n dispatch(node, true, 'end');\n cleanup();\n return running = false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(t, 1 - t);\n }\n }\n return running;\n });\n }\n let started = false;\n return {\n start() {\n if (started)\n return;\n delete_rule(node);\n if (is_function(config)) {\n config = config();\n wait().then(go);\n }\n else {\n go();\n }\n },\n invalidate() {\n started = false;\n },\n end() {\n if (running) {\n cleanup();\n running = false;\n }\n }\n };\n}\nfunction create_out_transition(node, fn, params) {\n let config = fn(node, params);\n let running = true;\n let animation_name;\n const group = outros;\n group.r += 1;\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 1, 0, duration, delay, easing, css);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n add_render_callback(() => dispatch(node, false, 'start'));\n loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(0, 1);\n dispatch(node, false, 'end');\n if (!--group.r) {\n // this will result in `end()` being called,\n // so we don't need to clean up here\n run_all(group.c);\n }\n return false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(1 - t, t);\n }\n }\n return running;\n });\n }\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go();\n });\n }\n else {\n go();\n }\n return {\n end(reset) {\n if (reset && config.tick) {\n config.tick(1, 0);\n }\n if (running) {\n if (animation_name)\n delete_rule(node, animation_name);\n running = false;\n }\n }\n };\n}\nfunction create_bidirectional_transition(node, fn, params, intro) {\n let config = fn(node, params);\n let t = intro ? 0 : 1;\n let running_program = null;\n let pending_program = null;\n let animation_name = null;\n function clear_animation() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function init(program, duration) {\n const d = program.b - t;\n duration *= Math.abs(d);\n return {\n a: t,\n b: program.b,\n d,\n duration,\n start: program.start,\n end: program.start + duration,\n group: program.group\n };\n }\n function go(b) {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n const program = {\n start: now() + delay,\n b\n };\n if (!b) {\n // @ts-ignore todo: improve typings\n program.group = outros;\n outros.r += 1;\n }\n if (running_program) {\n pending_program = program;\n }\n else {\n // if this is an intro, and there's a delay, we need to do\n // an initial tick and/or apply CSS animation immediately\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, b, duration, delay, easing, css);\n }\n if (b)\n tick(0, 1);\n running_program = init(program, duration);\n add_render_callback(() => dispatch(node, b, 'start'));\n loop(now => {\n if (pending_program && now > pending_program.start) {\n running_program = init(pending_program, duration);\n pending_program = null;\n dispatch(node, running_program.b, 'start');\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css);\n }\n }\n if (running_program) {\n if (now >= running_program.end) {\n tick(t = running_program.b, 1 - t);\n dispatch(node, running_program.b, 'end');\n if (!pending_program) {\n // we're done\n if (running_program.b) {\n // intro — we can tidy up immediately\n clear_animation();\n }\n else {\n // outro — needs to be coordinated\n if (!--running_program.group.r)\n run_all(running_program.group.c);\n }\n }\n running_program = null;\n }\n else if (now >= running_program.start) {\n const p = now - running_program.start;\n t = running_program.a + running_program.d * easing(p / running_program.duration);\n tick(t, 1 - t);\n }\n }\n return !!(running_program || pending_program);\n });\n }\n }\n return {\n run(b) {\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go(b);\n });\n }\n else {\n go(b);\n }\n },\n end() {\n clear_animation();\n running_program = pending_program = null;\n }\n };\n}\n\nfunction handle_promise(promise, info) {\n const token = info.token = {};\n function update(type, index, key, value) {\n if (info.token !== token)\n return;\n info.resolved = value;\n let child_ctx = info.ctx;\n if (key !== undefined) {\n child_ctx = child_ctx.slice();\n child_ctx[key] = value;\n }\n const block = type && (info.current = type)(child_ctx);\n let needs_flush = false;\n if (info.block) {\n if (info.blocks) {\n info.blocks.forEach((block, i) => {\n if (i !== index && block) {\n group_outros();\n transition_out(block, 1, 1, () => {\n info.blocks[i] = null;\n });\n check_outros();\n }\n });\n }\n else {\n info.block.d(1);\n }\n block.c();\n transition_in(block, 1);\n block.m(info.mount(), info.anchor);\n needs_flush = true;\n }\n info.block = block;\n if (info.blocks)\n info.blocks[index] = block;\n if (needs_flush) {\n flush();\n }\n }\n if (is_promise(promise)) {\n const current_component = get_current_component();\n promise.then(value => {\n set_current_component(current_component);\n update(info.then, 1, info.value, value);\n set_current_component(null);\n }, error => {\n set_current_component(current_component);\n update(info.catch, 2, info.error, error);\n set_current_component(null);\n });\n // if we previously had a then/catch block, destroy it\n if (info.current !== info.pending) {\n update(info.pending, 0);\n return true;\n }\n }\n else {\n if (info.current !== info.then) {\n update(info.then, 1, info.value, promise);\n return true;\n }\n info.resolved = promise;\n }\n}\n\nconst globals = (typeof window !== 'undefined' ? window : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction outro_and_destroy_block(block, lookup) {\n transition_out(block, 1, 1, () => {\n lookup.delete(block.key);\n });\n}\nfunction fix_and_destroy_block(block, lookup) {\n block.f();\n destroy_block(block, lookup);\n}\nfunction fix_and_outro_and_destroy_block(block, lookup) {\n block.f();\n outro_and_destroy_block(block, lookup);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next, lookup.has(block.key));\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction validate_each_keys(ctx, list, get_context, get_key) {\n const keys = new Set();\n for (let i = 0; i < list.length; i++) {\n const key = get_key(get_context(ctx, list, i));\n if (keys.has(key)) {\n throw new Error(`Cannot have duplicate keys in a keyed each`);\n }\n keys.add(key);\n }\n}\n\nfunction get_spread_update(levels, updates) {\n const update = {};\n const to_null_out = {};\n const accounted_for = { $$scope: 1 };\n let i = levels.length;\n while (i--) {\n const o = levels[i];\n const n = updates[i];\n if (n) {\n for (const key in o) {\n if (!(key in n))\n to_null_out[key] = 1;\n }\n for (const key in n) {\n if (!accounted_for[key]) {\n update[key] = n[key];\n accounted_for[key] = 1;\n }\n }\n levels[i] = n;\n }\n else {\n for (const key in o) {\n accounted_for[key] = 1;\n }\n }\n }\n for (const key in to_null_out) {\n if (!(key in update))\n update[key] = undefined;\n }\n return update;\n}\nfunction get_spread_object(spread_props) {\n return typeof spread_props === 'object' && spread_props !== null ? spread_props : {};\n}\n\n// source: https://html.spec.whatwg.org/multipage/indices.html\nconst boolean_attributes = new Set([\n 'allowfullscreen',\n 'allowpaymentrequest',\n 'async',\n 'autofocus',\n 'autoplay',\n 'checked',\n 'controls',\n 'default',\n 'defer',\n 'disabled',\n 'formnovalidate',\n 'hidden',\n 'ismap',\n 'loop',\n 'multiple',\n 'muted',\n 'nomodule',\n 'novalidate',\n 'open',\n 'playsinline',\n 'readonly',\n 'required',\n 'reversed',\n 'selected'\n]);\n\nconst invalid_attribute_name_character = /[\\s'\">/=\\u{FDD0}-\\u{FDEF}\\u{FFFE}\\u{FFFF}\\u{1FFFE}\\u{1FFFF}\\u{2FFFE}\\u{2FFFF}\\u{3FFFE}\\u{3FFFF}\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]/u;\n// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n// https://infra.spec.whatwg.org/#noncharacter\nfunction spread(args, classes_to_add) {\n const attributes = Object.assign({}, ...args);\n if (classes_to_add) {\n if (attributes.class == null) {\n attributes.class = classes_to_add;\n }\n else {\n attributes.class += ' ' + classes_to_add;\n }\n }\n let str = '';\n Object.keys(attributes).forEach(name => {\n if (invalid_attribute_name_character.test(name))\n return;\n const value = attributes[name];\n if (value === true)\n str += \" \" + name;\n else if (boolean_attributes.has(name.toLowerCase())) {\n if (value)\n str += \" \" + name;\n }\n else if (value != null) {\n str += ` ${name}=\"${String(value).replace(/\"/g, '"').replace(/'/g, ''')}\"`;\n }\n });\n return str;\n}\nconst escaped = {\n '\"': '"',\n \"'\": ''',\n '&': '&',\n '<': '<',\n '>': '>'\n};\nfunction escape(html) {\n return String(html).replace(/[\"'&<>]/g, match => escaped[match]);\n}\nfunction each(items, fn) {\n let str = '';\n for (let i = 0; i < items.length; i += 1) {\n str += fn(items[i], i);\n }\n return str;\n}\nconst missing_component = {\n $$render: () => ''\n};\nfunction validate_component(component, name) {\n if (!component || !component.$$render) {\n if (name === 'svelte:component')\n name += ' this={...}';\n throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`);\n }\n return component;\n}\nfunction debug(file, line, column, values) {\n console.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console\n console.log(values); // eslint-disable-line no-console\n return '';\n}\nlet on_destroy;\nfunction create_ssr_component(fn) {\n function $$render(result, props, bindings, slots) {\n const parent_component = current_component;\n const $$ = {\n on_destroy,\n context: new Map(parent_component ? parent_component.$$.context : []),\n // these will be immediately discarded\n on_mount: [],\n before_update: [],\n after_update: [],\n callbacks: blank_object()\n };\n set_current_component({ $$ });\n const html = fn(result, props, bindings, slots);\n set_current_component(parent_component);\n return html;\n }\n return {\n render: (props = {}, options = {}) => {\n on_destroy = [];\n const result = { title: '', head: '', css: new Set() };\n const html = $$render(result, props, {}, options);\n run_all(on_destroy);\n return {\n html,\n css: {\n code: Array.from(result.css).map(css => css.code).join('\\n'),\n map: null // TODO\n },\n head: result.title + result.head\n };\n },\n $$render\n };\n}\nfunction add_attribute(name, value, boolean) {\n if (value == null || (boolean && !value))\n return '';\n return ` ${name}${value === true ? '' : `=${typeof value === 'string' ? JSON.stringify(escape(value)) : `\"${value}\"`}`}`;\n}\nfunction add_classes(classes) {\n return classes ? ` class=\"${classes}\"` : ``;\n}\n\nfunction bind(component, name, callback) {\n const index = component.$$.props[name];\n if (index !== undefined) {\n component.$$.bound[index] = callback;\n callback(component.$$.ctx[index]);\n }\n}\nfunction create_component(block) {\n block && block.c();\n}\nfunction claim_component(block, parent_nodes) {\n block && block.l(parent_nodes);\n}\nfunction mount_component(component, target, anchor) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const prop_values = options.props || {};\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n before_update: [],\n after_update: [],\n context: new Map(parent_component ? parent_component.$$.context : []),\n // everything else\n callbacks: blank_object(),\n dirty\n };\n let ready = false;\n $$.ctx = instance\n ? instance(component, prop_values, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if ($$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n if (options.hydrate) {\n const nodes = children(options.target);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.l(nodes);\n nodes.forEach(detach);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor);\n flush();\n }\n set_current_component(parent_component);\n}\nlet SvelteElement;\nif (typeof HTMLElement === 'function') {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n connectedCallback() {\n // @ts-ignore todo: improve typings\n for (const key in this.$$.slotted) {\n // @ts-ignore todo: improve typings\n this.appendChild(this.$$.slotted[key]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n // TODO should this delegate to addEventListener?\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set() {\n // overridden by instance, if it has props\n }\n };\n}\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set() {\n // overridden by instance, if it has props\n }\n}\n\nfunction dispatch_dev(type, detail) {\n document.dispatchEvent(custom_event(type, Object.assign({ version: '3.20.1' }, detail)));\n}\nfunction append_dev(target, node) {\n dispatch_dev(\"SvelteDOMInsert\", { target, node });\n append(target, node);\n}\nfunction insert_dev(target, node, anchor) {\n dispatch_dev(\"SvelteDOMInsert\", { target, node, anchor });\n insert(target, node, anchor);\n}\nfunction detach_dev(node) {\n dispatch_dev(\"SvelteDOMRemove\", { node });\n detach(node);\n}\nfunction detach_between_dev(before, after) {\n while (before.nextSibling && before.nextSibling !== after) {\n detach_dev(before.nextSibling);\n }\n}\nfunction detach_before_dev(after) {\n while (after.previousSibling) {\n detach_dev(after.previousSibling);\n }\n}\nfunction detach_after_dev(before) {\n while (before.nextSibling) {\n detach_dev(before.nextSibling);\n }\n}\nfunction listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation) {\n const modifiers = options === true ? [\"capture\"] : options ? Array.from(Object.keys(options)) : [];\n if (has_prevent_default)\n modifiers.push('preventDefault');\n if (has_stop_propagation)\n modifiers.push('stopPropagation');\n dispatch_dev(\"SvelteDOMAddEventListener\", { node, event, handler, modifiers });\n const dispose = listen(node, event, handler, options);\n return () => {\n dispatch_dev(\"SvelteDOMRemoveEventListener\", { node, event, handler, modifiers });\n dispose();\n };\n}\nfunction attr_dev(node, attribute, value) {\n attr(node, attribute, value);\n if (value == null)\n dispatch_dev(\"SvelteDOMRemoveAttribute\", { node, attribute });\n else\n dispatch_dev(\"SvelteDOMSetAttribute\", { node, attribute, value });\n}\nfunction prop_dev(node, property, value) {\n node[property] = value;\n dispatch_dev(\"SvelteDOMSetProperty\", { node, property, value });\n}\nfunction dataset_dev(node, property, value) {\n node.dataset[property] = value;\n dispatch_dev(\"SvelteDOMSetDataset\", { node, property, value });\n}\nfunction set_data_dev(text, data) {\n data = '' + data;\n if (text.data === data)\n return;\n dispatch_dev(\"SvelteDOMSetData\", { node: text, data });\n text.data = data;\n}\nfunction validate_each_argument(arg) {\n if (typeof arg !== 'string' && !(arg && typeof arg === 'object' && 'length' in arg)) {\n let msg = '{#each} only iterates over array-like objects.';\n if (typeof Symbol === 'function' && arg && Symbol.iterator in arg) {\n msg += ' You can use a spread to convert this iterable into an array.';\n }\n throw new Error(msg);\n }\n}\nfunction validate_slots(name, slot, keys) {\n for (const slot_key of Object.keys(slot)) {\n if (!~keys.indexOf(slot_key)) {\n console.warn(`<${name}> received an unexpected slot \"${slot_key}\".`);\n }\n }\n}\nclass SvelteComponentDev extends SvelteComponent {\n constructor(options) {\n if (!options || (!options.target && !options.$$inline)) {\n throw new Error(`'target' is a required option`);\n }\n super();\n }\n $destroy() {\n super.$destroy();\n this.$destroy = () => {\n console.warn(`Component was already destroyed`); // eslint-disable-line no-console\n };\n }\n $capture_state() { }\n $inject_state() { }\n}\nfunction loop_guard(timeout) {\n const start = Date.now();\n return () => {\n if (Date.now() - start > timeout) {\n throw new Error(`Infinite loop detected`);\n }\n };\n}\n\nexport { HtmlTag, SvelteComponent, SvelteComponentDev, SvelteElement, action_destroyer, add_attribute, add_classes, add_flush_callback, add_location, add_render_callback, add_resize_listener, add_transform, afterUpdate, append, append_dev, assign, attr, attr_dev, beforeUpdate, bind, binding_callbacks, blank_object, bubble, check_outros, children, claim_component, claim_element, claim_space, claim_text, clear_loops, component_subscribe, compute_rest_props, createEventDispatcher, create_animation, create_bidirectional_transition, create_component, create_in_transition, create_out_transition, create_slot, create_ssr_component, current_component, custom_event, dataset_dev, debug, destroy_block, destroy_component, destroy_each, detach, detach_after_dev, detach_before_dev, detach_between_dev, detach_dev, dirty_components, dispatch_dev, each, element, element_is, empty, escape, escaped, exclude_internal_props, fix_and_destroy_block, fix_and_outro_and_destroy_block, fix_position, flush, getContext, get_binding_group_value, get_current_component, get_slot_changes, get_slot_context, get_spread_object, get_spread_update, get_store_value, globals, group_outros, handle_promise, has_prop, identity, init, insert, insert_dev, intros, invalid_attribute_name_character, is_client, is_function, is_promise, listen, listen_dev, loop, loop_guard, missing_component, mount_component, noop, not_equal, now, null_to_empty, object_without_properties, onDestroy, onMount, once, outro_and_destroy_block, prevent_default, prop_dev, query_selector_all, raf, run, run_all, safe_not_equal, schedule_update, select_multiple_value, select_option, select_options, select_value, self, setContext, set_attributes, set_current_component, set_custom_element_data, set_data, set_data_dev, set_input_type, set_input_value, set_now, set_raf, set_store_value, set_style, set_svg_attributes, space, spread, stop_propagation, subscribe, svg_element, text, tick, time_ranges_to_array, to_number, toggle_class, transition_in, transition_out, update_keyed_each, validate_component, validate_each_argument, validate_each_keys, validate_slots, validate_store, xlink_attr };\n","import { noop, safe_not_equal, subscribe, run_all, is_function } from '../internal';\nexport { get_store_value as get } from '../internal';\n\nconst subscriber_queue = [];\n/**\n * Creates a `Readable` store that allows reading by subscription.\n * @param value initial value\n * @param {StartStopNotifier}start start and stop notifications for subscriptions\n */\nfunction readable(value, start) {\n return {\n subscribe: writable(value, start).subscribe,\n };\n}\n/**\n * Create a `Writable` store that allows both updating and reading by subscription.\n * @param {*=}value initial value\n * @param {StartStopNotifier=}start start and stop notifications for subscriptions\n */\nfunction writable(value, start = noop) {\n let stop;\n const subscribers = [];\n function set(new_value) {\n if (safe_not_equal(value, new_value)) {\n value = new_value;\n if (stop) { // store is ready\n const run_queue = !subscriber_queue.length;\n for (let i = 0; i < subscribers.length; i += 1) {\n const s = subscribers[i];\n s[1]();\n subscriber_queue.push(s, value);\n }\n if (run_queue) {\n for (let i = 0; i < subscriber_queue.length; i += 2) {\n subscriber_queue[i][0](subscriber_queue[i + 1]);\n }\n subscriber_queue.length = 0;\n }\n }\n }\n }\n function update(fn) {\n set(fn(value));\n }\n function subscribe(run, invalidate = noop) {\n const subscriber = [run, invalidate];\n subscribers.push(subscriber);\n if (subscribers.length === 1) {\n stop = start(set) || noop;\n }\n run(value);\n return () => {\n const index = subscribers.indexOf(subscriber);\n if (index !== -1) {\n subscribers.splice(index, 1);\n }\n if (subscribers.length === 0) {\n stop();\n stop = null;\n }\n };\n }\n return { set, update, subscribe };\n}\nfunction derived(stores, fn, initial_value) {\n const single = !Array.isArray(stores);\n const stores_array = single\n ? [stores]\n : stores;\n const auto = fn.length < 2;\n return readable(initial_value, (set) => {\n let inited = false;\n const values = [];\n let pending = 0;\n let cleanup = noop;\n const sync = () => {\n if (pending) {\n return;\n }\n cleanup();\n const result = fn(single ? values[0] : values, set);\n if (auto) {\n set(result);\n }\n else {\n cleanup = is_function(result) ? result : noop;\n }\n };\n const unsubscribers = stores_array.map((store, i) => subscribe(store, (value) => {\n values[i] = value;\n pending &= ~(1 << i);\n if (inited) {\n sync();\n }\n }, () => {\n pending |= (1 << i);\n }));\n inited = true;\n sync();\n return function stop() {\n run_all(unsubscribers);\n cleanup();\n };\n });\n}\n\nexport { derived, readable, writable };\n","export default function getBoundingClientRect(element) {\n var rect = element.getBoundingClientRect();\n return {\n width: rect.width,\n height: rect.height,\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n x: rect.left,\n y: rect.top\n };\n}","/*:: import type { Window } from '../types'; */\n\n/*:: declare function getWindow(node: Node | Window): Window; */\nexport default function getWindow(node) {\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getWindow from \"./getWindow.js\";\n/*:: declare function isElement(node: mixed): boolean %checks(node instanceof\n Element); */\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n/*:: declare function isHTMLElement(node: mixed): boolean %checks(node instanceof\n HTMLElement); */\n\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nexport { isElement, isHTMLElement };","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe: assume body is always available\n return (isElement(element) ? element.ownerDocument : element.document).documentElement;\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\"; // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var documentElement;\n var rect = getBoundingClientRect(elementOrVirtualElement);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (!isFixed) {\n if (getNodeName(offsetParent) !== 'body') {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement = getDocumentElement(offsetParent)) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","// Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\nexport default function getLayoutRect(element) {\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: element.offsetWidth,\n height: element.offsetHeight\n };\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// $FlowFixMe: this is a quicker (but less type safe) way to save quite some bytes from the bundle\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || // DOM Element detected\n // $FlowFixMe: need a better way to handle this...\n element.host || // ShadowRoot detected\n // $FlowFixMe: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getWindow from \"./getWindow.js\";\nexport default function listScrollParents(element, list) {\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = getNodeName(scrollParent) === 'body';\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","import getParentNode from \"./getParentNode.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node)) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(node),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n if (/auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX)) {\n return node;\n }\n }\n\n return getScrollParent(getParentNode(node));\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n}\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element); // Find the nearest non-table offsetParent\n\n while (offsetParent && isTableElement(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static') {\n return window;\n }\n\n return offsetParent || window;\n}","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function format(str) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return [].concat(args).reduce(function (p, c) {\n return p.replace(/%s/, c);\n }, str);\n}","import format from \"./format.js\";\nimport { modifierPhases } from \"../enums.js\";\nvar INVALID_MODIFIER_ERROR = 'Popper: modifier \"%s\" provided an invalid %s property, expected %s but got %s';\nvar MISSING_DEPENDENCY_ERROR = 'Popper: modifier \"%s\" requires \"%s\", but \"%s\" modifier is not available';\nvar VALID_PROPERTIES = ['name', 'enabled', 'phase', 'fn', 'effect', 'requires', 'options'];\nexport default function validateModifiers(modifiers) {\n modifiers.forEach(function (modifier) {\n Object.keys(modifier).forEach(function (key) {\n switch (key) {\n case 'name':\n if (typeof modifier.name !== 'string') {\n console.error(format(INVALID_MODIFIER_ERROR, String(modifier.name), '\"name\"', '\"string\"', \"\\\"\" + String(modifier.name) + \"\\\"\"));\n }\n\n break;\n\n case 'enabled':\n if (typeof modifier.enabled !== 'boolean') {\n console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"enabled\"', '\"boolean\"', \"\\\"\" + String(modifier.enabled) + \"\\\"\"));\n }\n\n case 'phase':\n if (modifierPhases.indexOf(modifier.phase) < 0) {\n console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"phase\"', \"either \" + modifierPhases.join(', '), \"\\\"\" + String(modifier.phase) + \"\\\"\"));\n }\n\n break;\n\n case 'fn':\n if (typeof modifier.fn !== 'function') {\n console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"fn\"', '\"function\"', \"\\\"\" + String(modifier.fn) + \"\\\"\"));\n }\n\n break;\n\n case 'effect':\n if (typeof modifier.effect !== 'function') {\n console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"effect\"', '\"function\"', \"\\\"\" + String(modifier.fn) + \"\\\"\"));\n }\n\n break;\n\n case 'requires':\n if (!Array.isArray(modifier.requires)) {\n console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"requires\"', '\"array\"', \"\\\"\" + String(modifier.requires) + \"\\\"\"));\n }\n\n break;\n\n case 'requiresIfExists':\n if (!Array.isArray(modifier.requiresIfExists)) {\n console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"requiresIfExists\"', '\"array\"', \"\\\"\" + String(modifier.requiresIfExists) + \"\\\"\"));\n }\n\n break;\n\n case 'options':\n case 'data':\n break;\n\n default:\n console.error(\"PopperJS: an invalid property has been provided to the \\\"\" + modifier.name + \"\\\" modifier, valid properties are \" + VALID_PROPERTIES.map(function (s) {\n return \"\\\"\" + s + \"\\\"\";\n }).join(', ') + \"; but \\\"\" + key + \"\\\" was provided.\");\n }\n\n modifier.requires && modifier.requires.forEach(function (requirement) {\n if (modifiers.find(function (mod) {\n return mod.name === requirement;\n }) == null) {\n console.error(format(MISSING_DEPENDENCY_ERROR, String(modifier.name), requirement, requirement));\n }\n });\n });\n });\n}","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport getComputedStyle from \"./dom-utils/getComputedStyle.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport validateModifiers from \"./utils/validateModifiers.js\";\nimport uniqueBy from \"./utils/uniqueBy.js\";\nimport getBasePlacement from \"./utils/getBasePlacement.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nimport { auto } from \"./enums.js\";\nexport * from \"./enums.js\";\nvar INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nvar INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, {}, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(options) {\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, {}, state.options, {}, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n }); // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n\n if (process.env.NODE_ENV !== \"production\") {\n var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function (_ref) {\n var name = _ref.name;\n return name;\n });\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n var flipModifier = state.orderedModifiers.find(function (_ref2) {\n var name = _ref2.name;\n return name === 'flip';\n });\n\n if (!flipModifier) {\n console.error(['Popper: \"auto\" placements require the \"flip\" modifier be', 'present and enabled to work.'].join(' '));\n }\n }\n\n var _getComputedStyle = getComputedStyle(popper),\n marginTop = _getComputedStyle.marginTop,\n marginRight = _getComputedStyle.marginRight,\n marginBottom = _getComputedStyle.marginBottom,\n marginLeft = _getComputedStyle.marginLeft; // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n\n\n if ([marginTop, marginRight, marginBottom, marginLeft].some(function (margin) {\n return parseFloat(margin);\n })) {\n console.warn(['Popper: CSS \"margin\" styles cannot be used to apply padding', 'between the popper and its reference element or boundary.', 'To replicate margin, use the `offset` modifier, as well as', 'the `padding` option in the `preventOverflow` and `flip`', 'modifiers.'].join(' '));\n }\n }\n\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n var __debug_loops__ = 0;\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (process.env.NODE_ENV !== \"production\") {\n __debug_loops__ += 1;\n\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref3) {\n var name = _ref3.name,\n _ref3$options = _ref3.options,\n options = _ref3$options === void 0 ? {} : _ref3$options,\n effect = _ref3.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator();","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function uniqueBy(arr, fn) {\n var identifiers = new Set();\n return arr.filter(function (item) {\n var identifier = fn(item);\n\n if (!identifiers.has(identifier)) {\n identifiers.add(identifier);\n return true;\n }\n });\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, {}, current, {\n options: Object.assign({}, existing.options, {}, current.options),\n data: Object.assign({}, existing.data, {}, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getWindow from \"../dom-utils/getWindow.js\";\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = Math.floor(offsets[mainAxis]) - Math.floor(reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = Math.floor(offsets[mainAxis]) + Math.ceil(reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import { top, left, right, bottom } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsets(_ref) {\n var x = _ref.x,\n y = _ref.y;\n var win = window;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: Math.round(x * dpr) / dpr || 0,\n y: Math.round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive;\n\n var _roundOffsets = roundOffsets(offsets),\n x = _roundOffsets.x,\n y = _roundOffsets.y;\n\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n } // $FlowFixMe: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n /*:: offsetParent = (offsetParent: Element); */\n\n\n if (placement === top) {\n sideY = bottom;\n y -= offsetParent.clientHeight - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left) {\n sideX = right;\n x -= offsetParent.clientWidth - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) < 2 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref3) {\n var state = _ref3.state,\n options = _ref3.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive;\n\n if (process.env.NODE_ENV !== \"production\") {\n var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || '';\n\n if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) {\n return transitionProperty.indexOf(property) >= 0;\n })) {\n console.warn(['Popper: Detected CSS transitions on at least one of the following', 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".', '\\n\\n', 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow', 'for smooth transitions, or remove these properties from the CSS', 'transition declaration on the popper element if only transitioning', 'opacity or background-color for example.', '\\n\\n', 'We recommend using the popper element as a wrapper around an inner', 'element that can have any CSS property transitioned for animations.'].join(' '));\n }\n }\n\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, {}, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, {}, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\n\nfunction toNumber(cssValue) {\n return parseFloat(cssValue) || 0;\n}\n\nexport default function getBorders(element) {\n var computedStyle = isHTMLElement(element) ? getComputedStyle(element) : {};\n return {\n top: toNumber(computedStyle.borderTopWidth),\n right: toNumber(computedStyle.borderRightWidth),\n bottom: toNumber(computedStyle.borderBottomWidth),\n left: toNumber(computedStyle.borderLeftWidth)\n };\n}","import getBorders from \"./getBorders.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getWindow from \"./getWindow.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\"; // Borders + scrollbars\n\nexport default function getDecorations(element) {\n var win = getWindow(element);\n var borders = getBorders(element);\n var isHTML = getNodeName(element) === 'html';\n var winScrollBarX = getWindowScrollBarX(element);\n var x = element.clientWidth + borders.right;\n var y = element.clientHeight + borders.bottom; // HACK:\n // document.documentElement.clientHeight on iOS reports the height of the\n // viewport including the bottom bar, even if the bottom bar isn't visible.\n // If the difference between window innerHeight and html clientHeight is more\n // than 50, we assume it's a mobile bottom bar and ignore scrollbars.\n // * A 50px thick scrollbar is likely non-existent (macOS is 15px and Windows\n // is about 17px)\n // * The mobile bar is 114px tall\n\n if (isHTML && win.innerHeight - element.clientHeight > 50) {\n y = win.innerHeight - borders.bottom;\n }\n\n return {\n top: isHTML ? 0 : element.clientTop,\n right: // RTL scrollbar (scrolling containers only)\n element.clientLeft > borders.left ? borders.right : // LTR scrollbar\n isHTML ? win.innerWidth - x - winScrollBarX : element.offsetWidth - x,\n bottom: isHTML ? win.innerHeight - y : element.offsetHeight - y,\n left: isHTML ? winScrollBarX : element.clientLeft\n };\n}","export default function contains(parent, child) {\n // $FlowFixMe: hasOwnProperty doesn't seem to work in tests\n var isShadow = Boolean(child.getRootNode && child.getRootNode().host); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (isShadow) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDecorations from \"./getDecorations.js\";\nimport contains from \"./contains.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\n\nfunction getClientRectFromMixedType(element, clippingParent) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isHTMLElement(clippingParent) ? getBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(element);\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement);\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent);\n var decorations = getDecorations(isHTMLElement(clippingParent) ? clippingParent : getDocumentElement(element));\n accRect.top = Math.max(rect.top + decorations.top, accRect.top);\n accRect.right = Math.min(rect.right - decorations.right, accRect.right);\n accRect.bottom = Math.min(rect.bottom - decorations.bottom, accRect.bottom);\n accRect.left = Math.max(rect.left + decorations.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nexport default function getViewportRect(element) {\n var win = getWindow(element);\n var visualViewport = win.visualViewport;\n var width = win.innerWidth;\n var height = win.innerHeight; // We don't know which browsers have buggy or odd implementations of this, so\n // for now we're only applying it to iOS to fix the keyboard issue.\n // Investigation required\n\n if (visualViewport && /iPhone|iPod|iPad/.test(navigator.platform)) {\n width = visualViewport.width;\n height = visualViewport.height;\n }\n\n return {\n width: width,\n height: height,\n x: 0,\n y: 0\n };\n}","import getCompositeRect from \"./getCompositeRect.js\";\nimport getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getDocumentRect(element) {\n var win = getWindow(element);\n var winScroll = getWindowScroll(element);\n var documentRect = getCompositeRect(getDocumentElement(element), win);\n documentRect.height = Math.max(documentRect.height, win.innerHeight);\n documentRect.width = Math.max(documentRect.width, win.innerWidth);\n documentRect.x = -winScroll.scrollLeft;\n documentRect.y = -winScroll.scrollTop;\n return documentRect;\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), {}, paddingObject);\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\";\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var referenceElement = state.elements.reference;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);\n var referenceClientRect = getBoundingClientRect(referenceElement);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, {}, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\n\n/*:: type OverflowsMap = { [ComputedPlacement]: number }; */\n\n/*;; type OverflowsMap = { [key in ComputedPlacement]: number }; */\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = (variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements).filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n }); // $FlowFixMe: Flow seems to have problems with two array unions...\n\n var overflows = placements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","export default function within(min, value, max) {\n return Math.max(min, Math.min(value, max));\n}","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import { popperGenerator } from \"./index.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\";\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\";\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [overflow[_basePlacement] <= 0, overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0];\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport within from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = popperOffsets[mainAxis] + overflow[mainSide];\n var max = popperOffsets[mainAxis] - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - tetherOffsetValue : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + tetherOffsetValue : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = state.modifiersData.offset ? state.modifiersData.offset[state.placement][mainAxis] : 0;\n var tetherMin = popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? Math.min(min, tetherMin) : min, offset, tether ? Math.max(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var _preventedOffset = within(_min, _offset, _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport within from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\";\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = state.modifiersData[name + \"#persistent\"].padding;\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element,\n _options$padding = options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: \"arrow\" modifier\\'s `element` must be a child of the popper', 'element.'].join(' '));\n }\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n state.modifiersData[name + \"#persistent\"] = {\n padding: mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements))\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","\n\n\n"],"names":["noop","run","fn","blank_object","Object","create","run_all","fns","forEach","is_function","thing","safe_not_equal","a","b","get_slot_context","definition","ctx","$$scope","tar","src","k","assign","slice","detach","node","parentNode","removeChild","current_component","set_current_component","component","onDestroy","Error","get_current_component","$$","on_destroy","push","dirty_components","binding_callbacks","render_callbacks","flush_callbacks","resolved_promise","Promise","resolve","update_scheduled","add_render_callback","flushing","seen_callbacks","Set","flush","i","length","update","pop","callback","has","add","clear","fragment","before_update","dirty","p","after_update","outroing","transition_in","block","local","delete","make_dirty","then","fill","init","options","instance","create_fragment","not_equal","props","parent_component","prop_values","bound","on_mount","context","Map","callbacks","ready","ret","rest","value","target","hydrate","nodes","element","Array","from","childNodes","l","c","intro","anchor","m","new_on_destroy","map","filter","mount_component","subscriber_queue","getBoundingClientRect","rect","width","height","top","right","bottom","left","x","y","getWindow","toString","ownerDocument","defaultView","window","getWindowScroll","win","scrollLeft","pageXOffset","scrollTop","pageYOffset","isElement","Element","isHTMLElement","HTMLElement","getNodeName","nodeName","toLowerCase","getDocumentElement","document","documentElement","getWindowScrollBarX","getCompositeRect","elementOrVirtualElement","offsetParent","isFixed","scroll","offsets","clientLeft","clientTop","getLayoutRect","offsetLeft","offsetTop","offsetWidth","offsetHeight","getParentNode","assignedSlot","host","getComputedStyle","listScrollParents","list","scrollParent","getScrollParent","indexOf","body","_getComputedStyle","overflow","overflowX","overflowY","test","isBody","concat","visualViewport","updatedList","isTableElement","getTrueOffsetParent","position","getOffsetParent","basePlacements","variationPlacements","reduce","acc","placement","placements","modifierPhases","order","modifiers","visited","result","modifier","set","name","sort","requires","requiresIfExists","dep","depModifier","get","format","str","_len","arguments","args","_key","replace","INVALID_MODIFIER_ERROR","VALID_PROPERTIES","getBasePlacement","split","INVALID_ELEMENT_ERROR","DEFAULT_OPTIONS","strategy","areValidElements","some","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","defaultOptions","reference","popper","pending","state","orderedModifiers","modifiersData","elements","attributes","styles","effectCleanupFns","isDestroyed","setOptions","cleanupModifierEffects","scrollParents","contextElement","arr","identifiers","phase","orderModifiers","merged","current","existing","data","keys","key","mergeByName","enabled","process","env","NODE_ENV","console","error","String","join","effect","isArray","s","requirement","find","mod","validateModifiers","_ref","item","identifier","_ref2","marginTop","marginRight","marginBottom","marginLeft","margin","parseFloat","warn","_ref3","_ref3$options","cleanupFn","forceUpdate","_state$elements","rects","reset","__debug_loops__","index","_state$orderedModifie","_state$orderedModifie2","_options","undefined","destroy","onFirstUpdate","passive","getVariation","getMainAxisFromPlacement","computeOffsets","basePlacement","variation","commonX","commonY","mainAxis","len","Math","floor","ceil","unsetSides","mapToStyles","_Object$assign2","popperRect","gpuAcceleration","adaptive","_roundOffsets","dpr","devicePixelRatio","round","roundOffsets","hasX","hasOwnProperty","hasY","sideX","sideY","clientHeight","clientWidth","_Object$assign","commonStyles","transform","hash","getOppositePlacement","matched","start","end","getOppositeVariationPlacement","toNumber","cssValue","getDecorations","borders","computedStyle","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","getBorders","isHTML","winScrollBarX","innerHeight","innerWidth","contains","parent","child","isShadow","Boolean","getRootNode","next","isSameNode","rectToClientRect","getClientRectFromMixedType","clippingParent","navigator","platform","getViewportRect","winScroll","documentRect","max","getDocumentRect","getClippingRect","boundary","rootBoundary","mainClippingParents","clippingParents","clipperElement","getClippingParents","firstClippingParent","clippingRect","accRect","decorations","min","mergePaddingObject","paddingObject","expandToHashMap","hashMap","detectOverflow","_options$placement","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","padding","altContext","referenceElement","clippingClientRect","referenceClientRect","popperOffsets","popperClientRect","elementClientRect","overflowOffsets","offsetData","offset","multiply","axis","computeAutoPlacement","flipVariations","_options$allowedAutoP","allowedAutoPlacements","allPlacements","overflows","within","getSideOffsets","preventedOffsets","isAnySideFullyClipped","side","createPopper","_options$scroll","_options$resize","resize","addEventListener","removeEventListener","_options$gpuAccelerat","_options$adaptive","transitionProperty","property","arrow","data-popper-placement","style","removeAttribute","setAttribute","initialStyles","attribute","_options$offset","invertDistance","skidding","distance","distanceAndSkiddingToXY","_data$state$placement","_skip","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","preferredPlacement","oppositePlacement","getExpandedFallbackPlacements","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","isVertical","mainVariationSide","altVariationSide","checks","every","check","_loop","_i","fittingPlacement","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","_options$tether","tether","_options$tetherOffset","tetherOffset","isBasePlacement","tetherOffsetValue","mainSide","altSide","additive","minLen","maxLen","arrowElement","arrowRect","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","arrowOffsetParent","clientOffset","offsetModifierValue","tetherMin","tetherMax","preventedOffset","_mainSide","_altSide","_offset","_preventedOffset","_state$modifiersData$","minProp","maxProp","endDiff","startDiff","clientSize","centerToReference","center","axisProp","centerOffset","_options$element","querySelector","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","data-popper-reference-hidden","data-popper-escaped","slot_ctx","lets","o","outros","d","popperElement","store","stop","subscribers","new_value","run_queue","subscribe","invalidate","subscriber","splice","writable","previousReferenceElement","previousPopperElement","popperInstance","unsub","unsubscribe","updateStateModifier","$store","[object Object]","detaching","destroy_component","this","$destroy","type"],"mappings":"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"} -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@popperjs/svelte", 3 | "description": "Svelte wrapper for Popper - the positioning library", 4 | "version": "0.1.1", 5 | "main": "dist/svelte-popper.js", 6 | "svelte": "src/Popper.svelte", 7 | "scripts": { 8 | "build": "rollup --config .config/rollup.config.js", 9 | "build:dev": "rollup --config .config/rollup-dev.config.js", 10 | "dev": "run-p start:dev build:dev -w", 11 | "start": "sirv public", 12 | "start:dev": "sirv public --dev", 13 | "prepublishOnly": "yarn build" 14 | }, 15 | "peerDependencies": { 16 | "@popperjs/core": "^2.3.3", 17 | "svelte": "^3.18.1" 18 | }, 19 | "devDependencies": { 20 | "@rollup/plugin-replace": "^2.3.2", 21 | "npm-run-all": "^4.1.5", 22 | "rollup": "^2.6.1", 23 | "rollup-plugin-commonjs": "^10.1.0", 24 | "rollup-plugin-node-resolve": "^5.2.0", 25 | "rollup-plugin-svelte": "^5.0.3", 26 | "rollup-plugin-terser": "^5.3.0", 27 | "sirv-cli": "^0.4.5" 28 | }, 29 | "keywords": [ 30 | "svelte", 31 | "popper", 32 | "popper.js", 33 | "tooltip", 34 | "popover", 35 | "dropdown", 36 | "positioning" 37 | ] 38 | } 39 | -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Svelte app 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/Popper.svelte: -------------------------------------------------------------------------------- 1 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | export { default } from './Popper.svelte'; 2 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@^7.5.5": 6 | version "7.8.3" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" 8 | integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g== 9 | dependencies: 10 | "@babel/highlight" "^7.8.3" 11 | 12 | "@babel/helper-validator-identifier@^7.9.0": 13 | version "7.9.5" 14 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80" 15 | integrity sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g== 16 | 17 | "@babel/highlight@^7.8.3": 18 | version "7.9.0" 19 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.9.0.tgz#4e9b45ccb82b79607271b2979ad82c7b68163079" 20 | integrity sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ== 21 | dependencies: 22 | "@babel/helper-validator-identifier" "^7.9.0" 23 | chalk "^2.0.0" 24 | js-tokens "^4.0.0" 25 | 26 | "@polka/url@^0.5.0": 27 | version "0.5.0" 28 | resolved "https://registry.yarnpkg.com/@polka/url/-/url-0.5.0.tgz#b21510597fd601e5d7c95008b76bf0d254ebfd31" 29 | integrity sha512-oZLYFEAzUKyi3SKnXvj32ZCEGH6RDnao7COuCVhDydMS9NrCSVXhM79VaKyP5+Zc33m0QXEd2DN3UkU7OsHcfw== 30 | 31 | "@popperjs/core@2.3.3": 32 | version "2.3.3" 33 | resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.3.3.tgz#8731722aeb7330e8fd9eb5d424be6b98dea7d6da" 34 | integrity sha512-yEvVC8RfhRPkD9TUn7cFcLcgoJePgZRAOR7T21rcRY5I8tpuhzeWfGa7We7tB14fe9R7wENdqUABcMdwD4SQLw== 35 | 36 | "@rollup/plugin-replace@^2.3.2": 37 | version "2.3.2" 38 | resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-2.3.2.tgz#da4e0939047f793c2eb5eedfd6c271232d0a033f" 39 | integrity sha512-KEEL7V2tMNOsbAoNMKg91l1sNXBDoiP31GFlqXVOuV5691VQKzKBh91+OKKOG4uQWYqcFskcjFyh1d5YnZd0Zw== 40 | dependencies: 41 | "@rollup/pluginutils" "^3.0.8" 42 | magic-string "^0.25.5" 43 | 44 | "@rollup/pluginutils@^3.0.8": 45 | version "3.0.9" 46 | resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.0.9.tgz#aa6adca2c45e5a1b950103a999e3cddfe49fd775" 47 | integrity sha512-TLZavlfPAZYI7v33wQh4mTP6zojne14yok3DNSLcjoG/Hirxfkonn6icP5rrNWRn8nZsirJBFFpijVOJzkUHDg== 48 | dependencies: 49 | "@types/estree" "0.0.39" 50 | estree-walker "^1.0.1" 51 | micromatch "^4.0.2" 52 | 53 | "@types/estree@0.0.39": 54 | version "0.0.39" 55 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" 56 | integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== 57 | 58 | "@types/node@*": 59 | version "13.13.0" 60 | resolved "https://registry.yarnpkg.com/@types/node/-/node-13.13.0.tgz#30d2d09f623fe32cde9cb582c7a6eda2788ce4a8" 61 | integrity sha512-WE4IOAC6r/yBZss1oQGM5zs2D7RuKR6Q+w+X2SouPofnWn+LbCqClRyhO3ZE7Ix8nmFgo/oVuuE01cJT2XB13A== 62 | 63 | "@types/resolve@0.0.8": 64 | version "0.0.8" 65 | resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194" 66 | integrity sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ== 67 | dependencies: 68 | "@types/node" "*" 69 | 70 | ansi-styles@^3.2.1: 71 | version "3.2.1" 72 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 73 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 74 | dependencies: 75 | color-convert "^1.9.0" 76 | 77 | balanced-match@^1.0.0: 78 | version "1.0.0" 79 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 80 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 81 | 82 | brace-expansion@^1.1.7: 83 | version "1.1.11" 84 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 85 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 86 | dependencies: 87 | balanced-match "^1.0.0" 88 | concat-map "0.0.1" 89 | 90 | braces@^3.0.1: 91 | version "3.0.2" 92 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 93 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 94 | dependencies: 95 | fill-range "^7.0.1" 96 | 97 | buffer-from@^1.0.0: 98 | version "1.1.1" 99 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" 100 | integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== 101 | 102 | builtin-modules@^3.1.0: 103 | version "3.1.0" 104 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484" 105 | integrity sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw== 106 | 107 | chalk@^2.0.0, chalk@^2.4.1: 108 | version "2.4.2" 109 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 110 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 111 | dependencies: 112 | ansi-styles "^3.2.1" 113 | escape-string-regexp "^1.0.5" 114 | supports-color "^5.3.0" 115 | 116 | color-convert@^1.9.0: 117 | version "1.9.3" 118 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 119 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 120 | dependencies: 121 | color-name "1.1.3" 122 | 123 | color-name@1.1.3: 124 | version "1.1.3" 125 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 126 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 127 | 128 | commander@^2.20.0: 129 | version "2.20.3" 130 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" 131 | integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== 132 | 133 | concat-map@0.0.1: 134 | version "0.0.1" 135 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 136 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 137 | 138 | console-clear@^1.1.0: 139 | version "1.1.1" 140 | resolved "https://registry.yarnpkg.com/console-clear/-/console-clear-1.1.1.tgz#995e20cbfbf14dd792b672cde387bd128d674bf7" 141 | integrity sha512-pMD+MVR538ipqkG5JXeOEbKWS5um1H4LUUccUQG68qpeqBYbzYy79Gh55jkd2TtPdRfUaLWdv6LPP//5Zt0aPQ== 142 | 143 | cross-spawn@^6.0.5: 144 | version "6.0.5" 145 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" 146 | integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== 147 | dependencies: 148 | nice-try "^1.0.4" 149 | path-key "^2.0.1" 150 | semver "^5.5.0" 151 | shebang-command "^1.2.0" 152 | which "^1.2.9" 153 | 154 | define-properties@^1.1.2, define-properties@^1.1.3: 155 | version "1.1.3" 156 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" 157 | integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== 158 | dependencies: 159 | object-keys "^1.0.12" 160 | 161 | error-ex@^1.3.1: 162 | version "1.3.2" 163 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 164 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 165 | dependencies: 166 | is-arrayish "^0.2.1" 167 | 168 | es-abstract@^1.17.0-next.1, es-abstract@^1.17.5: 169 | version "1.17.5" 170 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.5.tgz#d8c9d1d66c8981fb9200e2251d799eee92774ae9" 171 | integrity sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg== 172 | dependencies: 173 | es-to-primitive "^1.2.1" 174 | function-bind "^1.1.1" 175 | has "^1.0.3" 176 | has-symbols "^1.0.1" 177 | is-callable "^1.1.5" 178 | is-regex "^1.0.5" 179 | object-inspect "^1.7.0" 180 | object-keys "^1.1.1" 181 | object.assign "^4.1.0" 182 | string.prototype.trimleft "^2.1.1" 183 | string.prototype.trimright "^2.1.1" 184 | 185 | es-to-primitive@^1.2.1: 186 | version "1.2.1" 187 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" 188 | integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== 189 | dependencies: 190 | is-callable "^1.1.4" 191 | is-date-object "^1.0.1" 192 | is-symbol "^1.0.2" 193 | 194 | escape-string-regexp@^1.0.5: 195 | version "1.0.5" 196 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 197 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 198 | 199 | estree-walker@^0.6.1: 200 | version "0.6.1" 201 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" 202 | integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== 203 | 204 | estree-walker@^1.0.1: 205 | version "1.0.1" 206 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" 207 | integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== 208 | 209 | fill-range@^7.0.1: 210 | version "7.0.1" 211 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 212 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 213 | dependencies: 214 | to-regex-range "^5.0.1" 215 | 216 | fsevents@~2.1.2: 217 | version "2.1.2" 218 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805" 219 | integrity sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA== 220 | 221 | function-bind@^1.1.1: 222 | version "1.1.1" 223 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 224 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 225 | 226 | get-port@^3.2.0: 227 | version "3.2.0" 228 | resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc" 229 | integrity sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw= 230 | 231 | graceful-fs@^4.1.2: 232 | version "4.2.3" 233 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" 234 | integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== 235 | 236 | has-flag@^3.0.0: 237 | version "3.0.0" 238 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 239 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 240 | 241 | has-symbols@^1.0.0, has-symbols@^1.0.1: 242 | version "1.0.1" 243 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" 244 | integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== 245 | 246 | has@^1.0.3: 247 | version "1.0.3" 248 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 249 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 250 | dependencies: 251 | function-bind "^1.1.1" 252 | 253 | hosted-git-info@^2.1.4: 254 | version "2.8.8" 255 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" 256 | integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== 257 | 258 | is-arrayish@^0.2.1: 259 | version "0.2.1" 260 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 261 | integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= 262 | 263 | is-callable@^1.1.4, is-callable@^1.1.5: 264 | version "1.1.5" 265 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab" 266 | integrity sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q== 267 | 268 | is-date-object@^1.0.1: 269 | version "1.0.2" 270 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" 271 | integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== 272 | 273 | is-module@^1.0.0: 274 | version "1.0.0" 275 | resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" 276 | integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= 277 | 278 | is-number@^7.0.0: 279 | version "7.0.0" 280 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 281 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 282 | 283 | is-reference@^1.1.2: 284 | version "1.1.4" 285 | resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.1.4.tgz#3f95849886ddb70256a3e6d062b1a68c13c51427" 286 | integrity sha512-uJA/CDPO3Tao3GTrxYn6AwkM4nUPJiGGYu5+cB8qbC7WGFlrKZbiRo7SFKxUAEpFUfiHofWCXBUNhvYJMh+6zw== 287 | dependencies: 288 | "@types/estree" "0.0.39" 289 | 290 | is-regex@^1.0.5: 291 | version "1.0.5" 292 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae" 293 | integrity sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ== 294 | dependencies: 295 | has "^1.0.3" 296 | 297 | is-symbol@^1.0.2: 298 | version "1.0.3" 299 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" 300 | integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== 301 | dependencies: 302 | has-symbols "^1.0.1" 303 | 304 | isexe@^2.0.0: 305 | version "2.0.0" 306 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 307 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 308 | 309 | jest-worker@^24.9.0: 310 | version "24.9.0" 311 | resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" 312 | integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== 313 | dependencies: 314 | merge-stream "^2.0.0" 315 | supports-color "^6.1.0" 316 | 317 | js-tokens@^4.0.0: 318 | version "4.0.0" 319 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 320 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 321 | 322 | json-parse-better-errors@^1.0.1: 323 | version "1.0.2" 324 | resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" 325 | integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== 326 | 327 | kleur@^3.0.0: 328 | version "3.0.3" 329 | resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" 330 | integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== 331 | 332 | load-json-file@^4.0.0: 333 | version "4.0.0" 334 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" 335 | integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= 336 | dependencies: 337 | graceful-fs "^4.1.2" 338 | parse-json "^4.0.0" 339 | pify "^3.0.0" 340 | strip-bom "^3.0.0" 341 | 342 | local-access@^1.0.1: 343 | version "1.0.1" 344 | resolved "https://registry.yarnpkg.com/local-access/-/local-access-1.0.1.tgz#5121258146d64e869046c642ea4f1dd39ff942bb" 345 | integrity sha512-ykt2pgN0aqIy6KQC1CqdWTWkmUwNgaOS6dcpHVjyBJONA+Xi7AtSB1vuxC/U/0tjIP3wcRudwQk1YYzUvzk2bA== 346 | 347 | magic-string@^0.25.2, magic-string@^0.25.5: 348 | version "0.25.7" 349 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" 350 | integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== 351 | dependencies: 352 | sourcemap-codec "^1.4.4" 353 | 354 | memorystream@^0.3.1: 355 | version "0.3.1" 356 | resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" 357 | integrity sha1-htcJCzDORV1j+64S3aUaR93K+bI= 358 | 359 | merge-stream@^2.0.0: 360 | version "2.0.0" 361 | resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" 362 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 363 | 364 | micromatch@^4.0.2: 365 | version "4.0.2" 366 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" 367 | integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== 368 | dependencies: 369 | braces "^3.0.1" 370 | picomatch "^2.0.5" 371 | 372 | mime@^2.3.1: 373 | version "2.4.4" 374 | resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5" 375 | integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA== 376 | 377 | minimatch@^3.0.4: 378 | version "3.0.4" 379 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 380 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 381 | dependencies: 382 | brace-expansion "^1.1.7" 383 | 384 | mri@^1.1.0: 385 | version "1.1.5" 386 | resolved "https://registry.yarnpkg.com/mri/-/mri-1.1.5.tgz#ce21dba2c69f74a9b7cf8a1ec62307e089e223e0" 387 | integrity sha512-d2RKzMD4JNyHMbnbWnznPaa8vbdlq/4pNZ3IgdaGrVbBhebBsGUUE/6qorTMYNS6TwuH3ilfOlD2bf4Igh8CKg== 388 | 389 | nice-try@^1.0.4: 390 | version "1.0.5" 391 | resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" 392 | integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== 393 | 394 | normalize-package-data@^2.3.2: 395 | version "2.5.0" 396 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" 397 | integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== 398 | dependencies: 399 | hosted-git-info "^2.1.4" 400 | resolve "^1.10.0" 401 | semver "2 || 3 || 4 || 5" 402 | validate-npm-package-license "^3.0.1" 403 | 404 | npm-run-all@^4.1.5: 405 | version "4.1.5" 406 | resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba" 407 | integrity sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ== 408 | dependencies: 409 | ansi-styles "^3.2.1" 410 | chalk "^2.4.1" 411 | cross-spawn "^6.0.5" 412 | memorystream "^0.3.1" 413 | minimatch "^3.0.4" 414 | pidtree "^0.3.0" 415 | read-pkg "^3.0.0" 416 | shell-quote "^1.6.1" 417 | string.prototype.padend "^3.0.0" 418 | 419 | object-inspect@^1.7.0: 420 | version "1.7.0" 421 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" 422 | integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== 423 | 424 | object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: 425 | version "1.1.1" 426 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 427 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 428 | 429 | object.assign@^4.1.0: 430 | version "4.1.0" 431 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" 432 | integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== 433 | dependencies: 434 | define-properties "^1.1.2" 435 | function-bind "^1.1.1" 436 | has-symbols "^1.0.0" 437 | object-keys "^1.0.11" 438 | 439 | parse-json@^4.0.0: 440 | version "4.0.0" 441 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" 442 | integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= 443 | dependencies: 444 | error-ex "^1.3.1" 445 | json-parse-better-errors "^1.0.1" 446 | 447 | path-key@^2.0.1: 448 | version "2.0.1" 449 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 450 | integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= 451 | 452 | path-parse@^1.0.6: 453 | version "1.0.6" 454 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" 455 | integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== 456 | 457 | path-type@^3.0.0: 458 | version "3.0.0" 459 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" 460 | integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== 461 | dependencies: 462 | pify "^3.0.0" 463 | 464 | picomatch@^2.0.5: 465 | version "2.2.2" 466 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" 467 | integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== 468 | 469 | pidtree@^0.3.0: 470 | version "0.3.1" 471 | resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a" 472 | integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA== 473 | 474 | pify@^3.0.0: 475 | version "3.0.0" 476 | resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" 477 | integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= 478 | 479 | read-pkg@^3.0.0: 480 | version "3.0.0" 481 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" 482 | integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= 483 | dependencies: 484 | load-json-file "^4.0.0" 485 | normalize-package-data "^2.3.2" 486 | path-type "^3.0.0" 487 | 488 | require-relative@^0.8.7: 489 | version "0.8.7" 490 | resolved "https://registry.yarnpkg.com/require-relative/-/require-relative-0.8.7.tgz#7999539fc9e047a37928fa196f8e1563dabd36de" 491 | integrity sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4= 492 | 493 | resolve@^1.10.0, resolve@^1.11.0, resolve@^1.11.1: 494 | version "1.16.1" 495 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.16.1.tgz#49fac5d8bacf1fd53f200fa51247ae736175832c" 496 | integrity sha512-rmAglCSqWWMrrBv/XM6sW0NuRFiKViw/W4d9EbC4pt+49H8JwHy+mcGmALTEg504AUDcLTvb1T2q3E9AnmY+ig== 497 | dependencies: 498 | path-parse "^1.0.6" 499 | 500 | rollup-plugin-commonjs@^10.1.0: 501 | version "10.1.0" 502 | resolved "https://registry.yarnpkg.com/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.1.0.tgz#417af3b54503878e084d127adf4d1caf8beb86fb" 503 | integrity sha512-jlXbjZSQg8EIeAAvepNwhJj++qJWNJw1Cl0YnOqKtP5Djx+fFGkp3WRh+W0ASCaFG5w1jhmzDxgu3SJuVxPF4Q== 504 | dependencies: 505 | estree-walker "^0.6.1" 506 | is-reference "^1.1.2" 507 | magic-string "^0.25.2" 508 | resolve "^1.11.0" 509 | rollup-pluginutils "^2.8.1" 510 | 511 | rollup-plugin-node-resolve@^5.2.0: 512 | version "5.2.0" 513 | resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz#730f93d10ed202473b1fb54a5997a7db8c6d8523" 514 | integrity sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw== 515 | dependencies: 516 | "@types/resolve" "0.0.8" 517 | builtin-modules "^3.1.0" 518 | is-module "^1.0.0" 519 | resolve "^1.11.1" 520 | rollup-pluginutils "^2.8.1" 521 | 522 | rollup-plugin-svelte@^5.0.3: 523 | version "5.2.1" 524 | resolved "https://registry.yarnpkg.com/rollup-plugin-svelte/-/rollup-plugin-svelte-5.2.1.tgz#f9d362d1b1d8cef0fa3782f2270f9261b715644c" 525 | integrity sha512-wc93cN66sRpX6uFljVFqvWT6NU3V5ab/uLXKt2UiARuexFU/ctolzkmdXM7WM5iKdTX9scToS9sabJTJV4DUMA== 526 | dependencies: 527 | require-relative "^0.8.7" 528 | rollup-pluginutils "^2.8.2" 529 | sourcemap-codec "^1.4.8" 530 | 531 | rollup-plugin-terser@^5.3.0: 532 | version "5.3.0" 533 | resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-5.3.0.tgz#9c0dd33d5771df9630cd027d6a2559187f65885e" 534 | integrity sha512-XGMJihTIO3eIBsVGq7jiNYOdDMb3pVxuzY0uhOE/FM4x/u9nQgr3+McsjzqBn3QfHIpNSZmFnpoKAwHBEcsT7g== 535 | dependencies: 536 | "@babel/code-frame" "^7.5.5" 537 | jest-worker "^24.9.0" 538 | rollup-pluginutils "^2.8.2" 539 | serialize-javascript "^2.1.2" 540 | terser "^4.6.2" 541 | 542 | rollup-pluginutils@^2.8.1, rollup-pluginutils@^2.8.2: 543 | version "2.8.2" 544 | resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" 545 | integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== 546 | dependencies: 547 | estree-walker "^0.6.1" 548 | 549 | rollup@^2.6.1: 550 | version "2.6.1" 551 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.6.1.tgz#8354e67caa7b8bf24c2488d9e2f64da2be62eebe" 552 | integrity sha512-1RhFDRJeg027YjBO6+JxmVWkEZY0ASztHhoEUEWxOwkh4mjO58TFD6Uo7T7Y3FbmDpRTfKhM5NVxJyimCn0Elg== 553 | optionalDependencies: 554 | fsevents "~2.1.2" 555 | 556 | sade@^1.4.0: 557 | version "1.7.3" 558 | resolved "https://registry.yarnpkg.com/sade/-/sade-1.7.3.tgz#a217ccc4fb4abb2d271648bf48f6628b2636fa1b" 559 | integrity sha512-m4BctppMvJ60W1dXnHq7jMmFe3hPJZDAH85kQ3ACTo7XZNVUuTItCQ+2HfyaMeV5cKrbw7l4vD/6We3GBxvdJw== 560 | dependencies: 561 | mri "^1.1.0" 562 | 563 | "semver@2 || 3 || 4 || 5", semver@^5.5.0: 564 | version "5.7.1" 565 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 566 | integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== 567 | 568 | serialize-javascript@^2.1.2: 569 | version "2.1.2" 570 | resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61" 571 | integrity sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ== 572 | 573 | shebang-command@^1.2.0: 574 | version "1.2.0" 575 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 576 | integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= 577 | dependencies: 578 | shebang-regex "^1.0.0" 579 | 580 | shebang-regex@^1.0.0: 581 | version "1.0.0" 582 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 583 | integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= 584 | 585 | shell-quote@^1.6.1: 586 | version "1.7.2" 587 | resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" 588 | integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== 589 | 590 | sirv-cli@^0.4.5: 591 | version "0.4.5" 592 | resolved "https://registry.yarnpkg.com/sirv-cli/-/sirv-cli-0.4.5.tgz#fecdfdd943000797f79c6652a1ce272cdb8df369" 593 | integrity sha512-Fl6icSm0EwPrXSGid2xphMp//WNTSX2yENRAGnJuuZNmdc8LvE/BtdZD3MPn28ifAfDqTMwbB3dpcZojAIOiBg== 594 | dependencies: 595 | console-clear "^1.1.0" 596 | get-port "^3.2.0" 597 | kleur "^3.0.0" 598 | local-access "^1.0.1" 599 | sade "^1.4.0" 600 | sirv "^0.4.2" 601 | tinydate "^1.0.0" 602 | 603 | sirv@^0.4.2: 604 | version "0.4.2" 605 | resolved "https://registry.yarnpkg.com/sirv/-/sirv-0.4.2.tgz#842ed22f3aab58faee84eea66cf66066e123d6db" 606 | integrity sha512-dQbZnsMaIiTQPZmbGmktz+c74zt/hyrJEB4tdp2Jj0RNv9J6B/OWR5RyrZEvIn9fyh9Zlg2OlE2XzKz6wMKGAw== 607 | dependencies: 608 | "@polka/url" "^0.5.0" 609 | mime "^2.3.1" 610 | 611 | source-map-support@~0.5.12: 612 | version "0.5.17" 613 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.17.tgz#29fe1b3c98b9dbd5064ada89052ee8ff070cb46c" 614 | integrity sha512-bwdKOBZ5L0gFRh4KOxNap/J/MpvX9Yxsq9lFDx65s3o7F/NiHy7JRaGIS8MwW6tZPAq9UXE207Il0cfcb5yu/Q== 615 | dependencies: 616 | buffer-from "^1.0.0" 617 | source-map "^0.6.0" 618 | 619 | source-map@^0.6.0, source-map@~0.6.1: 620 | version "0.6.1" 621 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 622 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 623 | 624 | sourcemap-codec@^1.4.4, sourcemap-codec@^1.4.8: 625 | version "1.4.8" 626 | resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" 627 | integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== 628 | 629 | spdx-correct@^3.0.0: 630 | version "3.1.0" 631 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" 632 | integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== 633 | dependencies: 634 | spdx-expression-parse "^3.0.0" 635 | spdx-license-ids "^3.0.0" 636 | 637 | spdx-exceptions@^2.1.0: 638 | version "2.2.0" 639 | resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" 640 | integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== 641 | 642 | spdx-expression-parse@^3.0.0: 643 | version "3.0.0" 644 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" 645 | integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== 646 | dependencies: 647 | spdx-exceptions "^2.1.0" 648 | spdx-license-ids "^3.0.0" 649 | 650 | spdx-license-ids@^3.0.0: 651 | version "3.0.5" 652 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" 653 | integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== 654 | 655 | string.prototype.padend@^3.0.0: 656 | version "3.1.0" 657 | resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.0.tgz#dc08f57a8010dc5c153550318f67e13adbb72ac3" 658 | integrity sha512-3aIv8Ffdp8EZj8iLwREGpQaUZiPyrWrpzMBHvkiSW/bK/EGve9np07Vwy7IJ5waydpGXzQZu/F8Oze2/IWkBaA== 659 | dependencies: 660 | define-properties "^1.1.3" 661 | es-abstract "^1.17.0-next.1" 662 | 663 | string.prototype.trimend@^1.0.0: 664 | version "1.0.1" 665 | resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" 666 | integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== 667 | dependencies: 668 | define-properties "^1.1.3" 669 | es-abstract "^1.17.5" 670 | 671 | string.prototype.trimleft@^2.1.1: 672 | version "2.1.2" 673 | resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz#4408aa2e5d6ddd0c9a80739b087fbc067c03b3cc" 674 | integrity sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw== 675 | dependencies: 676 | define-properties "^1.1.3" 677 | es-abstract "^1.17.5" 678 | string.prototype.trimstart "^1.0.0" 679 | 680 | string.prototype.trimright@^2.1.1: 681 | version "2.1.2" 682 | resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz#c76f1cef30f21bbad8afeb8db1511496cfb0f2a3" 683 | integrity sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg== 684 | dependencies: 685 | define-properties "^1.1.3" 686 | es-abstract "^1.17.5" 687 | string.prototype.trimend "^1.0.0" 688 | 689 | string.prototype.trimstart@^1.0.0: 690 | version "1.0.1" 691 | resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" 692 | integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== 693 | dependencies: 694 | define-properties "^1.1.3" 695 | es-abstract "^1.17.5" 696 | 697 | strip-bom@^3.0.0: 698 | version "3.0.0" 699 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 700 | integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= 701 | 702 | supports-color@^5.3.0: 703 | version "5.5.0" 704 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 705 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 706 | dependencies: 707 | has-flag "^3.0.0" 708 | 709 | supports-color@^6.1.0: 710 | version "6.1.0" 711 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" 712 | integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== 713 | dependencies: 714 | has-flag "^3.0.0" 715 | 716 | svelte@^3.18.1: 717 | version "3.20.1" 718 | resolved "https://registry.yarnpkg.com/svelte/-/svelte-3.20.1.tgz#8417fcd883a2f534b642a0737368272e651cf3ac" 719 | integrity sha512-m/dw52BZf+p6KYnyKLErIcGalu4pwJrQbUM7VZriRw6ZlJj1qMAZsLcIWzEB3I0hhdJwkKb7LrrvUIeqmbO92Q== 720 | 721 | terser@^4.6.2: 722 | version "4.6.11" 723 | resolved "https://registry.yarnpkg.com/terser/-/terser-4.6.11.tgz#12ff99fdd62a26de2a82f508515407eb6ccd8a9f" 724 | integrity sha512-76Ynm7OXUG5xhOpblhytE7X58oeNSmC8xnNhjWVo8CksHit0U0kO4hfNbPrrYwowLWFgM2n9L176VNx2QaHmtA== 725 | dependencies: 726 | commander "^2.20.0" 727 | source-map "~0.6.1" 728 | source-map-support "~0.5.12" 729 | 730 | tinydate@^1.0.0: 731 | version "1.2.0" 732 | resolved "https://registry.yarnpkg.com/tinydate/-/tinydate-1.2.0.tgz#36b4bb02715f89743f3ef9073d3573d005a28d0e" 733 | integrity sha512-3GwPk8VhDFnUZ2TrgkhXJs6hcMAIIw4x/xkz+ayK6dGoQmp2nUwKzBXK0WnMsqkh6vfUhpqQicQF3rbshfyJkg== 734 | 735 | to-regex-range@^5.0.1: 736 | version "5.0.1" 737 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 738 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 739 | dependencies: 740 | is-number "^7.0.0" 741 | 742 | validate-npm-package-license@^3.0.1: 743 | version "3.0.4" 744 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" 745 | integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== 746 | dependencies: 747 | spdx-correct "^3.0.0" 748 | spdx-expression-parse "^3.0.0" 749 | 750 | which@^1.2.9: 751 | version "1.3.1" 752 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" 753 | integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== 754 | dependencies: 755 | isexe "^2.0.0" 756 | --------------------------------------------------------------------------------