{"version":3,"file":"umbrella-blazor.js","mappings":"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","sources":["webpack://umbrella.aspnetcore.blazor/./node_modules/animated-scroll-to/dist/esm/index.js","webpack://umbrella.aspnetcore.blazor/./Content/scripts/blazor/browserEventAggregator.ts","webpack://umbrella.aspnetcore.blazor/./Content/scripts/index.ts","webpack://umbrella.aspnetcore.blazor/./Content/scripts/blazor/index.ts"],"sourcesContent":["var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n// --------- HELPERS\nfunction getElementOffset(el) {\n let top = 0;\n let left = 0;\n let element = el;\n // Loop through the DOM tree\n // and add it's parent's offset to get page offset\n do {\n top += element.offsetTop || 0;\n left += element.offsetLeft || 0;\n element = element.offsetParent;\n } while (element);\n return {\n top,\n left,\n };\n}\n// --------- SCROLL INTERFACES\n// ScrollDomElement and ScrollWindow have identical interfaces\nclass ScrollDomElement {\n constructor(element) {\n this.element = element;\n }\n getHorizontalScroll() {\n return this.element.scrollLeft;\n }\n getVerticalScroll() {\n return this.element.scrollTop;\n }\n getMaxHorizontalScroll() {\n return this.element.scrollWidth - this.element.clientWidth;\n }\n getMaxVerticalScroll() {\n return this.element.scrollHeight - this.element.clientHeight;\n }\n getHorizontalElementScrollOffset(elementToScrollTo, elementToScroll) {\n return (getElementOffset(elementToScrollTo).left -\n getElementOffset(elementToScroll).left);\n }\n getVerticalElementScrollOffset(elementToScrollTo, elementToScroll) {\n return (getElementOffset(elementToScrollTo).top -\n getElementOffset(elementToScroll).top);\n }\n scrollTo(x, y) {\n this.element.scrollLeft = x;\n this.element.scrollTop = y;\n }\n}\nclass ScrollWindow {\n constructor() {\n this.element = window;\n }\n getHorizontalScroll() {\n return window.scrollX || document.documentElement.scrollLeft;\n }\n getVerticalScroll() {\n return window.scrollY || document.documentElement.scrollTop;\n }\n getMaxHorizontalScroll() {\n return (Math.max(document.body.scrollWidth, document.documentElement.scrollWidth, document.body.offsetWidth, document.documentElement.offsetWidth, document.body.clientWidth, document.documentElement.clientWidth) - window.innerWidth);\n }\n getMaxVerticalScroll() {\n return (Math.max(document.body.scrollHeight, document.documentElement.scrollHeight, document.body.offsetHeight, document.documentElement.offsetHeight, document.body.clientHeight, document.documentElement.clientHeight) - window.innerHeight);\n }\n getHorizontalElementScrollOffset(elementToScrollTo) {\n const scrollLeft = window.scrollX || document.documentElement.scrollLeft;\n return scrollLeft + elementToScrollTo.getBoundingClientRect().left;\n }\n getVerticalElementScrollOffset(elementToScrollTo) {\n const scrollTop = window.scrollY || document.documentElement.scrollTop;\n return scrollTop + elementToScrollTo.getBoundingClientRect().top;\n }\n scrollTo(x, y) {\n window.scrollTo(x, y);\n }\n}\nconst activeAnimations = {\n elements: [],\n cancelMethods: [],\n add: (element, cancelAnimation) => {\n activeAnimations.elements.push(element);\n activeAnimations.cancelMethods.push(cancelAnimation);\n },\n remove: (element, shouldStop) => {\n const index = activeAnimations.elements.indexOf(element);\n if (index > -1) {\n // Stop animation\n if (shouldStop) {\n activeAnimations.cancelMethods[index]();\n }\n // Remove it\n activeAnimations.elements.splice(index, 1);\n activeAnimations.cancelMethods.splice(index, 1);\n }\n },\n};\n// --------- CHECK IF CODE IS RUNNING IN A BROWSER\nconst WINDOW_EXISTS = typeof window !== 'undefined';\n// --------- ANIMATE SCROLL TO\nconst defaultOptions = {\n cancelOnUserAction: true,\n easing: (t) => --t * t * t + 1,\n elementToScroll: WINDOW_EXISTS ? window : null,\n horizontalOffset: 0,\n maxDuration: 3000,\n minDuration: 250,\n speed: 500,\n verticalOffset: 0,\n};\nfunction animateScrollTo(numberOrCoordsOrElement, userOptions = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n // Check for server rendering\n if (!WINDOW_EXISTS) {\n // @ts-ignore\n // If it still gets called on server, return Promise for API consistency\n return new Promise((resolve) => {\n resolve(false); // Returning false on server\n });\n }\n else if (!window.Promise) {\n throw \"Browser doesn't support Promises, and animated-scroll-to depends on it, please provide a polyfill.\";\n }\n let x;\n let y;\n let scrollToElement;\n let options = Object.assign(Object.assign({}, defaultOptions), userOptions);\n const isWindow = options.elementToScroll === window;\n const isElement = !!options.elementToScroll.nodeName;\n if (!isWindow && !isElement) {\n throw 'Element to scroll needs to be either window or DOM element.';\n }\n // Check for \"scroll-behavior: smooth\" as it can break the animation\n // https://github.com/Stanko/animated-scroll-to/issues/55\n const scrollBehaviorElement = isWindow\n ? document.documentElement\n : options.elementToScroll;\n const scrollBehavior = getComputedStyle(scrollBehaviorElement).getPropertyValue('scroll-behavior');\n if (scrollBehavior === 'smooth') {\n console.warn(`${scrollBehaviorElement.tagName} has \"scroll-behavior: smooth\" which can mess up with animated-scroll-to's animations`);\n }\n // Select the correct scrolling interface\n const elementToScroll = isWindow\n ? new ScrollWindow()\n : new ScrollDomElement(options.elementToScroll);\n if (numberOrCoordsOrElement instanceof Element) {\n scrollToElement = numberOrCoordsOrElement;\n // If \"elementToScroll\" is not a parent of \"scrollToElement\"\n if (isElement &&\n (!options.elementToScroll.contains(scrollToElement) ||\n options.elementToScroll.isSameNode(scrollToElement))) {\n throw 'options.elementToScroll has to be a parent of scrollToElement';\n }\n x = elementToScroll.getHorizontalElementScrollOffset(scrollToElement, options.elementToScroll);\n y = elementToScroll.getVerticalElementScrollOffset(scrollToElement, options.elementToScroll);\n }\n else if (typeof numberOrCoordsOrElement === 'number') {\n x = elementToScroll.getHorizontalScroll();\n y = numberOrCoordsOrElement;\n }\n else if (Array.isArray(numberOrCoordsOrElement) &&\n numberOrCoordsOrElement.length === 2) {\n x =\n numberOrCoordsOrElement[0] === null\n ? elementToScroll.getHorizontalScroll()\n : numberOrCoordsOrElement[0];\n y =\n numberOrCoordsOrElement[1] === null\n ? elementToScroll.getVerticalScroll()\n : numberOrCoordsOrElement[1];\n }\n else {\n // ERROR\n throw ('Wrong function signature. Check documentation.\\n' +\n 'Available method signatures are:\\n' +\n ' animateScrollTo(y:number, options)\\n' +\n ' animateScrollTo([x:number | null, y:number | null], options)\\n' +\n ' animateScrollTo(scrollToElement:Element, options)');\n }\n // Add offsets\n x += options.horizontalOffset;\n y += options.verticalOffset;\n // Horizontal scroll distance\n const maxHorizontalScroll = elementToScroll.getMaxHorizontalScroll();\n const initialHorizontalScroll = elementToScroll.getHorizontalScroll();\n // If user specified scroll position is greater than maximum available scroll\n if (x > maxHorizontalScroll) {\n x = maxHorizontalScroll;\n }\n // Calculate distance to scroll\n const horizontalDistanceToScroll = x - initialHorizontalScroll;\n // Vertical scroll distance distance\n const maxVerticalScroll = elementToScroll.getMaxVerticalScroll();\n const initialVerticalScroll = elementToScroll.getVerticalScroll();\n // If user specified scroll position is greater than maximum available scroll\n if (y > maxVerticalScroll) {\n y = maxVerticalScroll;\n }\n // Calculate distance to scroll\n const verticalDistanceToScroll = y - initialVerticalScroll;\n // Calculate duration of the scroll\n const horizontalDuration = Math.abs(Math.round((horizontalDistanceToScroll / 1000) * options.speed));\n const verticalDuration = Math.abs(Math.round((verticalDistanceToScroll / 1000) * options.speed));\n let duration = horizontalDuration > verticalDuration\n ? horizontalDuration\n : verticalDuration;\n // Set minimum and maximum duration\n if (duration < options.minDuration) {\n duration = options.minDuration;\n }\n else if (duration > options.maxDuration) {\n duration = options.maxDuration;\n }\n // @ts-ignore\n return new Promise((resolve, reject) => {\n // Scroll is already in place, nothing to do\n if (horizontalDistanceToScroll === 0 && verticalDistanceToScroll === 0) {\n // Resolve promise with a boolean hasScrolledToPosition set to true\n resolve(true);\n }\n // Cancel existing animation if it is already running on the same element\n activeAnimations.remove(elementToScroll.element, true);\n // To cancel animation we have to store request animation frame ID\n let requestID;\n // Cancel animation handler\n const cancelAnimation = () => {\n removeListeners();\n cancelAnimationFrame(requestID);\n // Resolve promise with a boolean hasScrolledToPosition set to false\n resolve(false);\n };\n // Registering animation so it can be canceled if function\n // gets called again on the same element\n activeAnimations.add(elementToScroll.element, cancelAnimation);\n // Prevent user actions handler\n const preventDefaultHandler = (e) => e.preventDefault();\n const handler = options.cancelOnUserAction\n ? cancelAnimation\n : preventDefaultHandler;\n // If animation is not cancelable by the user, we can't use passive events\n const eventOptions = options.cancelOnUserAction\n ? { passive: true }\n : { passive: false };\n const events = ['wheel', 'touchstart', 'keydown', 'mousedown'];\n // Function to remove listeners after animation is finished\n const removeListeners = () => {\n events.forEach((eventName) => {\n elementToScroll.element.removeEventListener(eventName, handler, eventOptions);\n });\n };\n // Add listeners\n events.forEach((eventName) => {\n elementToScroll.element.addEventListener(eventName, handler, eventOptions);\n });\n // Animation\n const startingTime = Date.now();\n const step = () => {\n var timeDiff = Date.now() - startingTime;\n var t = timeDiff / duration;\n const horizontalScrollPosition = Math.round(initialHorizontalScroll +\n horizontalDistanceToScroll * options.easing(t));\n const verticalScrollPosition = Math.round(initialVerticalScroll + verticalDistanceToScroll * options.easing(t));\n if (timeDiff < duration &&\n (horizontalScrollPosition !== x || verticalScrollPosition !== y)) {\n // If scroll didn't reach desired position or time is not elapsed\n // Scroll to a new position\n elementToScroll.scrollTo(horizontalScrollPosition, verticalScrollPosition);\n // And request a new step\n requestID = requestAnimationFrame(step);\n }\n else {\n // If the time elapsed or we reached the desired offset\n // Set scroll to the desired offset (when rounding made it to be off a pixel or two)\n // Clear animation frame to be sure\n elementToScroll.scrollTo(x, y);\n cancelAnimationFrame(requestID);\n // Remove listeners\n removeListeners();\n // Remove animation from the active animations coordinator\n activeAnimations.remove(elementToScroll.element, false);\n // Resolve promise with a boolean hasScrolledToPosition set to true\n resolve(true);\n }\n };\n // Start animating scroll\n requestID = requestAnimationFrame(step);\n });\n });\n}\nexport default animateScrollTo;\n","export class BrowserEventAggregator\r\n{\r\n\t#subscriptionMap = new Map();\r\n\t#eventHandlerMap = new Map Promise>();\r\n\r\n\tpublic addEventListener(id: string, eventName: string, dotNetObjectReference: DotNetObjectReference): void\r\n\t{\r\n\t\tlet subscriptions = this.#subscriptionMap.get(eventName);\r\n\r\n\t\tif (!subscriptions)\r\n\t\t{\r\n\t\t\tsubscriptions = new Array();\r\n\t\t\tthis.#subscriptionMap.set(eventName, subscriptions);\r\n\r\n\t\t\tlet eventHandler = this.#eventHandlerMap.get(eventName);\r\n\r\n\t\t\tif (!eventHandler)\r\n\t\t\t{\r\n\t\t\t\teventHandler = this.notifyEventSubscribersAsync.bind(this, eventName);\r\n\t\t\t\tthis.#eventHandlerMap.set(eventName, eventHandler);\r\n\t\t\t}\r\n\r\n\t\t\twindow.addEventListener(eventName, eventHandler);\r\n\t\t}\r\n\r\n\t\tsubscriptions.push(new BrowserEventSubscription(id, eventName, dotNetObjectReference));\r\n\t}\r\n\r\n\tpublic removeEventListener(id: string, eventName: string): void\r\n\t{\r\n\t\tconst subscriptions = this.#subscriptionMap.get(eventName);\r\n\r\n\t\tif (!subscriptions)\r\n\t\t\treturn;\r\n\r\n\t\tconst subscription = subscriptions.find(x => x.id === id);\r\n\r\n\t\tif (subscription)\r\n\t\t{\r\n\t\t\tconst updatedSubscriptions = subscriptions.filter(x => x !== subscription);\r\n\r\n\t\t\tif (updatedSubscriptions.length > 0)\r\n\t\t\t{\r\n\t\t\t\tthis.#subscriptionMap.set(eventName, updatedSubscriptions);\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tthis.#subscriptionMap.delete(eventName);\r\n\r\n\t\t\t\tconst eventHandler = this.#eventHandlerMap.get(eventName);\r\n\r\n\t\t\t\tif (eventHandler)\r\n\t\t\t\t\twindow.removeEventListener(eventName, eventHandler);\r\n\r\n\t\t\t\tthis.#eventHandlerMap.delete(eventName);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate async notifyEventSubscribersAsync(eventName: string): Promise\r\n\t{\r\n\t\tconst subscriptions = this.#subscriptionMap.get(eventName);\r\n\r\n\t\tif (subscriptions)\r\n\t\t{\r\n\t\t\tfor (let item of subscriptions)\r\n\t\t\t{\r\n\t\t\t\tawait item.publishAsync();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\nclass BrowserEventSubscription\r\n{\r\n\tconstructor(public id: string, public eventName: string, private dotNetObjectReference: DotNetObjectReference)\r\n\t{\r\n\t}\r\n\r\n\tpublic async publishAsync(): Promise\r\n\t{\r\n\t\tawait this.dotNetObjectReference.invokeMethodAsync(\"PublishAsync\", this.eventName);\r\n\t}\r\n}\r\n\r\ndeclare type DotNetObjectReference = {\r\n\tinvokeMethodAsync: (methodName: string, ...args: any) => Promise\r\n}","import { UmbrellaBlazorInterop } from \"./blazor/index\";\r\n\r\n(() =>\r\n{\r\n\t// eslint-disable-next-line\r\n\t// @ts-ignore\r\n\twindow.UmbrellaBlazorInterop = new UmbrellaBlazorInterop();\r\n})();","/* eslint-disable */\r\nimport animateScrollTo from 'animated-scroll-to';\r\nimport { BrowserEventAggregator } from './browserEventAggregator';\r\n\r\nexport class UmbrellaBlazorInterop\r\n{\r\n\t#browserEventAggregator: BrowserEventAggregator | null = null;\r\n\r\n\tscrollTimeout: number;\r\n\tblazorInteropUtility: any;\r\n\tboundScrollTopFunction: any;\r\n\r\n\tget browserEventAggregator()\r\n\t{\r\n\t\tif (this.#browserEventAggregator)\r\n\t\t\treturn this.#browserEventAggregator;\r\n\r\n\t\tthis.#browserEventAggregator = new BrowserEventAggregator();\r\n\r\n\t\treturn this.#browserEventAggregator;\r\n\t}\r\n\r\n\tpublic setPageTitle(title: string): void\r\n\t{\r\n\t\tdocument.title = title;\r\n\t}\r\n\r\n\tpublic animateScrollToAsync(position: number | string, offset = 0): Promise\r\n\t{\r\n\t\tif (typeof position === \"number\")\r\n\t\t{\r\n\t\t\tlet offsetPosition = position + offset;\r\n\r\n\t\t\tif (offsetPosition < 0)\r\n\t\t\t\toffsetPosition = 0;\r\n\r\n\t\t\treturn animateScrollTo(offsetPosition);\r\n\t\t}\r\n\r\n\t\tif (typeof position === \"string\")\r\n\t\t{\r\n\t\t\tconst target = document.querySelector(position) as HTMLElement;\r\n\r\n\t\t\tif (target)\r\n\t\t\t{\r\n\t\t\t\tlet offsetPosition = target.offsetTop + offset;\r\n\r\n\t\t\t\tif (offsetPosition < 0)\r\n\t\t\t\t\toffsetPosition = 0;\r\n\r\n\t\t\t\treturn animateScrollTo(offsetPosition);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn Promise.resolve(true);\r\n\t}\r\n\r\n\tpublic animateScrollToBottomAsync(): Promise\r\n\t{\r\n\t\tconst bottom = window.outerHeight + 300;\r\n\r\n\t\treturn animateScrollTo(bottom);\r\n\t}\r\n\r\n\tpublic initializeWindowScrolledTopAsync(blazorInteropUtility: any, threshold: number)\r\n\t{\r\n\t\tthis.blazorInteropUtility = blazorInteropUtility;\r\n\r\n\t\tthis.boundScrollTopFunction = this.windowScrolledTopAsync.bind(this, threshold);\r\n\r\n\t\twindow.addEventListener(\"scroll\", this.boundScrollTopFunction);\r\n\t}\r\n\r\n\tpublic destroyWindowScrolledTopAsync()\r\n\t{\r\n\t\twindow.removeEventListener(\"scroll\", this.boundScrollTopFunction);\r\n\t}\r\n\r\n\tprivate async windowScrolledTopAsync(threshold: number)\r\n\t{\r\n\t\t// If there's a timer, cancel it\r\n\t\tif (this.scrollTimeout)\r\n\t\t\twindow.clearTimeout(this.scrollTimeout);\r\n\r\n\t\tthis.scrollTimeout = window.setTimeout(async () =>\r\n\t\t{\r\n\t\t\tif (window.scrollY < threshold)\r\n\t\t\t\tawait this.blazorInteropUtility.invokeMethodAsync(\"OnWindowScrolledTopAsync\");\r\n\t\t}, 100);\r\n\t}\r\n}"],"names":["getElementOffset","el","top","left","element","offsetTop","offsetLeft","offsetParent","ScrollDomElement","constructor","this","getHorizontalScroll","scrollLeft","getVerticalScroll","scrollTop","getMaxHorizontalScroll","scrollWidth","clientWidth","getMaxVerticalScroll","scrollHeight","clientHeight","getHorizontalElementScrollOffset","elementToScrollTo","elementToScroll","getVerticalElementScrollOffset","scrollTo","x","y","ScrollWindow","window","scrollX","document","documentElement","scrollY","Math","max","body","offsetWidth","innerWidth","offsetHeight","innerHeight","getBoundingClientRect","activeAnimations","elements","cancelMethods","add","cancelAnimation","push","remove","shouldStop","index","indexOf","splice","WINDOW_EXISTS","defaultOptions","cancelOnUserAction","easing","t","horizontalOffset","maxDuration","minDuration","speed","verticalOffset","animateScrollTo","numberOrCoordsOrElement","userOptions","thisArg","_arguments","generator","Promise","resolve","scrollToElement","options","Object","assign","isWindow","isElement","nodeName","scrollBehaviorElement","getComputedStyle","getPropertyValue","console","warn","tagName","Element","contains","isSameNode","Array","isArray","length","maxHorizontalScroll","initialHorizontalScroll","horizontalDistanceToScroll","maxVerticalScroll","initialVerticalScroll","verticalDistanceToScroll","horizontalDuration","abs","round","verticalDuration","duration","reject","requestID","removeListeners","cancelAnimationFrame","handler","e","preventDefault","eventOptions","passive","events","forEach","eventName","removeEventListener","addEventListener","startingTime","Date","now","step","timeDiff","horizontalScrollPosition","verticalScrollPosition","requestAnimationFrame","P","fulfilled","value","next","rejected","result","done","adopt","then","apply","BrowserEventAggregator","Map","id","dotNetObjectReference","subscriptions","get","set","eventHandler","notifyEventSubscribersAsync","bind","BrowserEventSubscription","subscription","find","updatedSubscriptions","filter","delete","item","publishAsync","invokeMethodAsync","UmbrellaBlazorInterop","browserEventAggregator","setPageTitle","title","animateScrollToAsync","position","offset","offsetPosition","target","querySelector","animateScrollToBottomAsync","bottom","outerHeight","initializeWindowScrolledTopAsync","blazorInteropUtility","threshold","boundScrollTopFunction","windowScrolledTopAsync","destroyWindowScrolledTopAsync","scrollTimeout","clearTimeout","setTimeout"],"sourceRoot":""}