{"version":3,"file":"./Features/Blocks/ImageCarouselBlock/react/index.js","mappings":"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","sources":["webpack://SanDiegoHealth.Web/webpack/runtime/chunk loaded","webpack://SanDiegoHealth.Web/./node_modules/@react-aria/ssr/dist/module.js","webpack://SanDiegoHealth.Web/./node_modules/@react-aria/utils/dist/module.js","webpack://SanDiegoHealth.Web/./node_modules/object-assign/index.js","webpack://SanDiegoHealth.Web/./node_modules/scheduler/cjs/scheduler.production.min.js","webpack://SanDiegoHealth.Web/./node_modules/scheduler/index.js","webpack://SanDiegoHealth.Web/./node_modules/selector-set/selector-set.next.js","webpack://SanDiegoHealth.Web/./node_modules/selector-observer/dist/index.esm.js","webpack://SanDiegoHealth.Web/./Features/Blocks/ImageCarouselBlock/react/index.tsx","webpack://SanDiegoHealth.Web/./scripts/react/Carousels/defaults.ts","webpack://SanDiegoHealth.Web/./scripts/react/Carousels/hooks/useAutoplay.ts","webpack://SanDiegoHealth.Web/./scripts/react/Carousels/hooks/useDraggable.ts","webpack://SanDiegoHealth.Web/./scripts/react/Carousels/hooks/useKarousel.ts","webpack://SanDiegoHealth.Web/./scripts/react/Carousels/hooks/usePaging.ts","webpack://SanDiegoHealth.Web/./scripts/react/Carousels/hooks/useResponsive.ts","webpack://SanDiegoHealth.Web/./scripts/react/Carousels/hooks/useTrack.ts","webpack://SanDiegoHealth.Web/./scripts/react/Carousels/index.tsx","webpack://SanDiegoHealth.Web/webpack/bootstrap","webpack://SanDiegoHealth.Web/webpack/runtime/define property getters","webpack://SanDiegoHealth.Web/webpack/runtime/hasOwnProperty shorthand","webpack://SanDiegoHealth.Web/webpack/runtime/make namespace object","webpack://SanDiegoHealth.Web/webpack/runtime/runtimeId","webpack://SanDiegoHealth.Web/webpack/runtime/jsonp chunk loading","webpack://SanDiegoHealth.Web/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","import $89yE2$react, {useContext as $89yE2$useContext, useMemo as $89yE2$useMemo, useState as $89yE2$useState, useLayoutEffect as $89yE2$useLayoutEffect} from \"react\";\n\n\n// Default context value to use in case there is no SSRProvider. This is fine for\n// client-only apps. In order to support multiple copies of React Aria potentially\n// being on the page at once, the prefix is set to a random number. SSRProvider\n// will reset this to zero for consistency between server and client, so in the\n// SSR case multiple copies of React Aria is not supported.\nconst $704cf1d3b684cc5c$var$defaultContext = {\n prefix: String(Math.round(Math.random() * 10000000000)),\n current: 0\n};\nconst $704cf1d3b684cc5c$var$SSRContext = /*#__PURE__*/ $89yE2$react.createContext($704cf1d3b684cc5c$var$defaultContext);\nfunction $704cf1d3b684cc5c$export$9f8ac96af4b1b2ae(props) {\n let cur = $89yE2$useContext($704cf1d3b684cc5c$var$SSRContext);\n let value = $89yE2$useMemo(()=>({\n // If this is the first SSRProvider, start with an empty string prefix, otherwise\n // append and increment the counter.\n prefix: cur === $704cf1d3b684cc5c$var$defaultContext ? '' : `${cur.prefix}-${++cur.current}`,\n current: 0\n })\n , [\n cur\n ]);\n return(/*#__PURE__*/ $89yE2$react.createElement($704cf1d3b684cc5c$var$SSRContext.Provider, {\n value: value\n }, props.children));\n}\nlet $704cf1d3b684cc5c$var$canUseDOM = Boolean(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction $704cf1d3b684cc5c$export$619500959fc48b26(defaultId) {\n let ctx = $89yE2$useContext($704cf1d3b684cc5c$var$SSRContext);\n // If we are rendering in a non-DOM environment, and there's no SSRProvider,\n // provide a warning to hint to the developer to add one.\n if (ctx === $704cf1d3b684cc5c$var$defaultContext && !$704cf1d3b684cc5c$var$canUseDOM) console.warn('When server rendering, you must wrap your application in an to ensure consistent ids are generated between the client and server.');\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return $89yE2$useMemo(()=>defaultId || `react-aria${ctx.prefix}-${++ctx.current}`\n , [\n defaultId\n ]);\n}\nfunction $704cf1d3b684cc5c$export$535bd6ca7f90a273() {\n let cur = $89yE2$useContext($704cf1d3b684cc5c$var$SSRContext);\n let isInSSRContext = cur !== $704cf1d3b684cc5c$var$defaultContext;\n let [isSSR, setIsSSR] = $89yE2$useState(isInSSRContext);\n // If on the client, and the component was initially server rendered,\n // then schedule a layout effect to update the component after hydration.\n if (typeof window !== 'undefined' && isInSSRContext) // This if statement technically breaks the rules of hooks, but is safe\n // because the condition never changes after mounting.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n $89yE2$useLayoutEffect(()=>{\n setIsSSR(false);\n }, []);\n return isSSR;\n}\n\n\n\n\nexport {$704cf1d3b684cc5c$export$9f8ac96af4b1b2ae as SSRProvider, $704cf1d3b684cc5c$export$619500959fc48b26 as useSSRSafeId, $704cf1d3b684cc5c$export$535bd6ca7f90a273 as useIsSSR};\n//# sourceMappingURL=module.js.map\n","import {clamp as $4507461a1b870123$re_export$clamp, snapValueToStep as $4507461a1b870123$re_export$snapValueToStep} from \"@react-stately/utils\";\nimport $12uGp$react, {useState as $12uGp$useState, useRef as $12uGp$useRef, useCallback as $12uGp$useCallback, useEffect as $12uGp$useEffect} from \"react\";\nimport {useSSRSafeId as $12uGp$useSSRSafeId} from \"@react-aria/ssr\";\nimport $12uGp$clsx from \"clsx\";\n\n\n\nconst $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c = typeof window !== 'undefined' ? $12uGp$react.useLayoutEffect : ()=>{\n};\n\n\n\n\nlet $bdb11010cef70236$var$idsUpdaterMap = new Map();\nfunction $bdb11010cef70236$export$f680877a34711e37(defaultId) {\n let [value, setValue] = $12uGp$useState(defaultId);\n let nextId = $12uGp$useRef(null);\n let res = $12uGp$useSSRSafeId(value);\n let updateValue = $12uGp$useCallback((val)=>{\n nextId.current = val;\n }, []);\n $bdb11010cef70236$var$idsUpdaterMap.set(res, updateValue);\n $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c(()=>{\n let r = res;\n return ()=>{\n $bdb11010cef70236$var$idsUpdaterMap.delete(r);\n };\n }, [\n res\n ]);\n // This cannot cause an infinite loop because the ref is updated first.\n // eslint-disable-next-line\n $12uGp$useEffect(()=>{\n let newId = nextId.current;\n if (newId) {\n nextId.current = null;\n setValue(newId);\n }\n });\n return res;\n}\nfunction $bdb11010cef70236$export$cd8c9cb68f842629(idA, idB) {\n if (idA === idB) return idA;\n let setIdA = $bdb11010cef70236$var$idsUpdaterMap.get(idA);\n if (setIdA) {\n setIdA(idB);\n return idB;\n }\n let setIdB = $bdb11010cef70236$var$idsUpdaterMap.get(idB);\n if (setIdB) {\n setIdB(idA);\n return idA;\n }\n return idB;\n}\nfunction $bdb11010cef70236$export$b4cc09c592e8fdb8(depArray = []) {\n let id = $bdb11010cef70236$export$f680877a34711e37();\n let [resolvedId, setResolvedId] = $1dbecbe27a04f9af$export$14d238f342723f25(id);\n let updateId = $12uGp$useCallback(()=>{\n setResolvedId(function*() {\n yield id;\n yield document.getElementById(id) ? id : undefined;\n });\n }, [\n id,\n setResolvedId\n ]);\n $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c(updateId, [\n id,\n updateId,\n ...depArray\n ]);\n return resolvedId;\n}\n\n\nfunction $ff5963eb1fccf552$export$e08e3b67e392101e(...callbacks) {\n return (...args)=>{\n for (let callback of callbacks)if (typeof callback === 'function') callback(...args);\n };\n}\n\n\n\n\n\nfunction $3ef42575df84b30b$export$9d1611c77c2fe928(...args) {\n // Start with a base clone of the first argument. This is a lot faster than starting\n // with an empty object and adding properties as we go.\n let result = {\n ...args[0]\n };\n for(let i = 1; i < args.length; i++){\n let props = args[i];\n for(let key in props){\n let a = result[key];\n let b = props[key];\n // Chain events\n if (typeof a === 'function' && typeof b === 'function' && // This is a lot faster than a regex.\n key[0] === 'o' && key[1] === 'n' && key.charCodeAt(2) >= /* 'A' */ 65 && key.charCodeAt(2) <= /* 'Z' */ 90) result[key] = $ff5963eb1fccf552$export$e08e3b67e392101e(a, b);\n else if ((key === 'className' || key === 'UNSAFE_className') && typeof a === 'string' && typeof b === 'string') result[key] = $12uGp$clsx(a, b);\n else if (key === 'id' && a && b) result.id = $bdb11010cef70236$export$cd8c9cb68f842629(a, b);\n else result[key] = b !== undefined ? b : a;\n }\n }\n return result;\n}\n\n\nfunction $5dc95899b306f630$export$c9058316764c140e(...refs) {\n return (value)=>{\n for (let ref of refs){\n if (typeof ref === 'function') ref(value);\n else if (ref != null) ref.current = value;\n }\n };\n}\n\n\nconst $65484d02dcb7eb3e$var$DOMPropNames = new Set([\n 'id'\n]);\nconst $65484d02dcb7eb3e$var$labelablePropNames = new Set([\n 'aria-label',\n 'aria-labelledby',\n 'aria-describedby',\n 'aria-details'\n]);\nconst $65484d02dcb7eb3e$var$propRe = /^(data-.*)$/;\nfunction $65484d02dcb7eb3e$export$457c3d6518dd4c6f(props, opts = {\n}) {\n let { labelable: labelable , propNames: propNames } = opts;\n let filteredProps = {\n };\n for(const prop in props)if (Object.prototype.hasOwnProperty.call(props, prop) && ($65484d02dcb7eb3e$var$DOMPropNames.has(prop) || labelable && $65484d02dcb7eb3e$var$labelablePropNames.has(prop) || (propNames === null || propNames === void 0 ? void 0 : propNames.has(prop)) || $65484d02dcb7eb3e$var$propRe.test(prop))) filteredProps[prop] = props[prop];\n return filteredProps;\n}\n\n\nfunction $7215afc6de606d6b$export$de79e2c695e052f3(element) {\n if ($7215afc6de606d6b$var$supportsPreventScroll()) element.focus({\n preventScroll: true\n });\n else {\n let scrollableElements = $7215afc6de606d6b$var$getScrollableElements(element);\n element.focus();\n $7215afc6de606d6b$var$restoreScrollPosition(scrollableElements);\n }\n}\nlet $7215afc6de606d6b$var$supportsPreventScrollCached = null;\nfunction $7215afc6de606d6b$var$supportsPreventScroll() {\n if ($7215afc6de606d6b$var$supportsPreventScrollCached == null) {\n $7215afc6de606d6b$var$supportsPreventScrollCached = false;\n try {\n var focusElem = document.createElement('div');\n focusElem.focus({\n get preventScroll () {\n $7215afc6de606d6b$var$supportsPreventScrollCached = true;\n return true;\n }\n });\n } catch (e) {\n // Ignore\n }\n }\n return $7215afc6de606d6b$var$supportsPreventScrollCached;\n}\nfunction $7215afc6de606d6b$var$getScrollableElements(element) {\n var parent = element.parentNode;\n var scrollableElements = [];\n var rootScrollingElement = document.scrollingElement || document.documentElement;\n while(parent instanceof HTMLElement && parent !== rootScrollingElement){\n if (parent.offsetHeight < parent.scrollHeight || parent.offsetWidth < parent.scrollWidth) scrollableElements.push({\n element: parent,\n scrollTop: parent.scrollTop,\n scrollLeft: parent.scrollLeft\n });\n parent = parent.parentNode;\n }\n if (rootScrollingElement instanceof HTMLElement) scrollableElements.push({\n element: rootScrollingElement,\n scrollTop: rootScrollingElement.scrollTop,\n scrollLeft: rootScrollingElement.scrollLeft\n });\n return scrollableElements;\n}\nfunction $7215afc6de606d6b$var$restoreScrollPosition(scrollableElements) {\n for (let { element: element , scrollTop: scrollTop , scrollLeft: scrollLeft } of scrollableElements){\n element.scrollTop = scrollTop;\n element.scrollLeft = scrollLeft;\n }\n}\n\n\nfunction $ab71dadb03a6fb2e$export$622cea445a1c5b7d(element, reverse, orientation = 'horizontal') {\n let rect = element.getBoundingClientRect();\n if (reverse) return orientation === 'horizontal' ? rect.right : rect.bottom;\n return orientation === 'horizontal' ? rect.left : rect.top;\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // We store a global list of elements that are currently transitioning,\n// mapped to a set of CSS properties that are transitioning for that element.\n// This is necessary rather than a simple count of transitions because of browser\n// bugs, e.g. Chrome sometimes fires both transitionend and transitioncancel rather\n// than one or the other. So we need to track what's actually transitioning so that\n// we can ignore these duplicate events.\nlet $bbed8b41f857bcc0$var$transitionsByElement = new Map();\n// A list of callbacks to call once there are no transitioning elements.\nlet $bbed8b41f857bcc0$var$transitionCallbacks = new Set();\nfunction $bbed8b41f857bcc0$var$setupGlobalEvents() {\n if (typeof window === 'undefined') return;\n let onTransitionStart = (e)=>{\n // Add the transitioning property to the list for this element.\n let transitions = $bbed8b41f857bcc0$var$transitionsByElement.get(e.target);\n if (!transitions) {\n transitions = new Set();\n $bbed8b41f857bcc0$var$transitionsByElement.set(e.target, transitions);\n // The transitioncancel event must be registered on the element itself, rather than as a global\n // event. This enables us to handle when the node is deleted from the document while it is transitioning.\n // In that case, the cancel event would have nowhere to bubble to so we need to handle it directly.\n e.target.addEventListener('transitioncancel', onTransitionEnd);\n }\n transitions.add(e.propertyName);\n };\n let onTransitionEnd = (e)=>{\n // Remove property from list of transitioning properties.\n let properties = $bbed8b41f857bcc0$var$transitionsByElement.get(e.target);\n if (!properties) return;\n properties.delete(e.propertyName);\n // If empty, remove transitioncancel event, and remove the element from the list of transitioning elements.\n if (properties.size === 0) {\n e.target.removeEventListener('transitioncancel', onTransitionEnd);\n $bbed8b41f857bcc0$var$transitionsByElement.delete(e.target);\n }\n // If no transitioning elements, call all of the queued callbacks.\n if ($bbed8b41f857bcc0$var$transitionsByElement.size === 0) {\n for (let cb of $bbed8b41f857bcc0$var$transitionCallbacks)cb();\n $bbed8b41f857bcc0$var$transitionCallbacks.clear();\n }\n };\n document.body.addEventListener('transitionrun', onTransitionStart);\n document.body.addEventListener('transitionend', onTransitionEnd);\n}\nif (typeof document !== 'undefined') {\n if (document.readyState !== 'loading') $bbed8b41f857bcc0$var$setupGlobalEvents();\n else document.addEventListener('DOMContentLoaded', $bbed8b41f857bcc0$var$setupGlobalEvents);\n}\nfunction $bbed8b41f857bcc0$export$24490316f764c430(fn) {\n // Wait one frame to see if an animation starts, e.g. a transition on mount.\n requestAnimationFrame(()=>{\n // If no transitions are running, call the function immediately.\n // Otherwise, add it to a list of callbacks to run at the end of the animation.\n if ($bbed8b41f857bcc0$var$transitionsByElement.size === 0) fn();\n else $bbed8b41f857bcc0$var$transitionCallbacks.add(fn);\n });\n}\n\n\n\n\n// Keep track of elements that we are currently handling dragging for via useDrag1D.\n// If there's an ancestor and a descendant both using useDrag1D(), and the user starts\n// dragging the descendant, we don't want useDrag1D events to fire for the ancestor.\nconst $9cc09df9fd7676be$var$draggingElements = [];\nfunction $9cc09df9fd7676be$export$7bbed75feba39706(props) {\n console.warn('useDrag1D is deprecated, please use `useMove` instead https://react-spectrum.adobe.com/react-aria/useMove.html');\n let { containerRef: containerRef , reverse: reverse , orientation: orientation , onHover: onHover , onDrag: onDrag , onPositionChange: onPositionChange , onIncrement: onIncrement , onDecrement: onDecrement , onIncrementToMax: onIncrementToMax , onDecrementToMin: onDecrementToMin , onCollapseToggle: onCollapseToggle } = props;\n let getPosition = (e)=>orientation === 'horizontal' ? e.clientX : e.clientY\n ;\n let getNextOffset = (e)=>{\n let containerOffset = $ab71dadb03a6fb2e$export$622cea445a1c5b7d(containerRef.current, reverse, orientation);\n let mouseOffset = getPosition(e);\n let nextOffset = reverse ? containerOffset - mouseOffset : mouseOffset - containerOffset;\n return nextOffset;\n };\n let dragging = $12uGp$useRef(false);\n let prevPosition = $12uGp$useRef(0);\n // Keep track of the current handlers in a ref so that the events can access them.\n let handlers = $12uGp$useRef({\n onPositionChange: onPositionChange,\n onDrag: onDrag\n });\n handlers.current.onDrag = onDrag;\n handlers.current.onPositionChange = onPositionChange;\n let onMouseDragged = (e)=>{\n e.preventDefault();\n let nextOffset = getNextOffset(e);\n if (!dragging.current) {\n dragging.current = true;\n if (handlers.current.onDrag) handlers.current.onDrag(true);\n if (handlers.current.onPositionChange) handlers.current.onPositionChange(nextOffset);\n }\n if (prevPosition.current === nextOffset) return;\n prevPosition.current = nextOffset;\n if (onPositionChange) onPositionChange(nextOffset);\n };\n let onMouseUp = (e)=>{\n const target = e.target;\n dragging.current = false;\n let nextOffset = getNextOffset(e);\n if (handlers.current.onDrag) handlers.current.onDrag(false);\n if (handlers.current.onPositionChange) handlers.current.onPositionChange(nextOffset);\n $9cc09df9fd7676be$var$draggingElements.splice($9cc09df9fd7676be$var$draggingElements.indexOf(target), 1);\n window.removeEventListener('mouseup', onMouseUp, false);\n window.removeEventListener('mousemove', onMouseDragged, false);\n };\n let onMouseDown = (e)=>{\n const target = e.currentTarget;\n // If we're already handling dragging on a descendant with useDrag1D, then\n // we don't want to handle the drag motion on this target as well.\n if ($9cc09df9fd7676be$var$draggingElements.some((elt)=>target.contains(elt)\n )) return;\n $9cc09df9fd7676be$var$draggingElements.push(target);\n window.addEventListener('mousemove', onMouseDragged, false);\n window.addEventListener('mouseup', onMouseUp, false);\n };\n let onMouseEnter = ()=>{\n if (onHover) onHover(true);\n };\n let onMouseOut = ()=>{\n if (onHover) onHover(false);\n };\n let onKeyDown = (e)=>{\n switch(e.key){\n case 'Left':\n case 'ArrowLeft':\n if (orientation === 'horizontal') {\n e.preventDefault();\n if (onDecrement && !reverse) onDecrement();\n else if (onIncrement && reverse) onIncrement();\n }\n break;\n case 'Up':\n case 'ArrowUp':\n if (orientation === 'vertical') {\n e.preventDefault();\n if (onDecrement && !reverse) onDecrement();\n else if (onIncrement && reverse) onIncrement();\n }\n break;\n case 'Right':\n case 'ArrowRight':\n if (orientation === 'horizontal') {\n e.preventDefault();\n if (onIncrement && !reverse) onIncrement();\n else if (onDecrement && reverse) onDecrement();\n }\n break;\n case 'Down':\n case 'ArrowDown':\n if (orientation === 'vertical') {\n e.preventDefault();\n if (onIncrement && !reverse) onIncrement();\n else if (onDecrement && reverse) onDecrement();\n }\n break;\n case 'Home':\n e.preventDefault();\n if (onDecrementToMin) onDecrementToMin();\n break;\n case 'End':\n e.preventDefault();\n if (onIncrementToMax) onIncrementToMax();\n break;\n case 'Enter':\n e.preventDefault();\n if (onCollapseToggle) onCollapseToggle();\n break;\n }\n };\n return {\n onMouseDown: onMouseDown,\n onMouseEnter: onMouseEnter,\n onMouseOut: onMouseOut,\n onKeyDown: onKeyDown\n };\n}\n\n\n\nfunction $03deb23ff14920c4$export$4eaf04e54aa8eed6() {\n let globalListeners = $12uGp$useRef(new Map());\n let addGlobalListener = $12uGp$useCallback((eventTarget, type, listener, options)=>{\n // Make sure we remove the listener after it is called with the `once` option.\n let fn = (options === null || options === void 0 ? void 0 : options.once) ? (...args)=>{\n globalListeners.current.delete(listener);\n listener(...args);\n } : listener;\n globalListeners.current.set(listener, {\n type: type,\n eventTarget: eventTarget,\n fn: fn,\n options: options\n });\n eventTarget.addEventListener(type, listener, options);\n }, []);\n let removeGlobalListener = $12uGp$useCallback((eventTarget, type, listener, options)=>{\n var ref;\n let fn = ((ref = globalListeners.current.get(listener)) === null || ref === void 0 ? void 0 : ref.fn) || listener;\n eventTarget.removeEventListener(type, fn, options);\n globalListeners.current.delete(listener);\n }, []);\n let removeAllGlobalListeners = $12uGp$useCallback(()=>{\n globalListeners.current.forEach((value, key)=>{\n removeGlobalListener(value.eventTarget, value.type, key, value.options);\n });\n }, [\n removeGlobalListener\n ]);\n // eslint-disable-next-line arrow-body-style\n $12uGp$useEffect(()=>{\n return removeAllGlobalListeners;\n }, [\n removeAllGlobalListeners\n ]);\n return {\n addGlobalListener: addGlobalListener,\n removeGlobalListener: removeGlobalListener,\n removeAllGlobalListeners: removeAllGlobalListeners\n };\n}\n\n\n\nfunction $313b98861ee5dd6c$export$d6875122194c7b44(props, defaultLabel) {\n let { id: id , 'aria-label': label , 'aria-labelledby': labelledBy } = props;\n // If there is both an aria-label and aria-labelledby,\n // combine them by pointing to the element itself.\n id = $bdb11010cef70236$export$f680877a34711e37(id);\n if (labelledBy && label) {\n let ids = new Set([\n ...labelledBy.trim().split(/\\s+/),\n id\n ]);\n labelledBy = [\n ...ids\n ].join(' ');\n } else if (labelledBy) labelledBy = labelledBy.trim().split(/\\s+/).join(' ');\n // If no labels are provided, use the default\n if (!label && !labelledBy && defaultLabel) label = defaultLabel;\n return {\n id: id,\n 'aria-label': label,\n 'aria-labelledby': labelledBy\n };\n}\n\n\n\n\nfunction $df56164dff5785e2$export$4338b53315abf666(forwardedRef) {\n const objRef = $12uGp$useRef();\n /**\n * We're using `useLayoutEffect` here instead of `useEffect` because we want\n * to make sure that the `ref` value is up to date before other places in the\n * the execution cycle try to read it.\n */ $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c(()=>{\n if (!forwardedRef) return;\n if (typeof forwardedRef === 'function') forwardedRef(objRef.current);\n else forwardedRef.current = objRef.current;\n }, [\n forwardedRef\n ]);\n return objRef;\n}\n\n\n\nfunction $4f58c5f72bcf79f7$export$496315a1608d9602(effect, dependencies) {\n const isInitialMount = $12uGp$useRef(true);\n $12uGp$useEffect(()=>{\n if (isInitialMount.current) isInitialMount.current = false;\n else effect();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, dependencies);\n}\n\n\n\n\nfunction $9daab02d461809db$var$hasResizeObserver() {\n return typeof window.ResizeObserver !== 'undefined';\n}\nfunction $9daab02d461809db$export$683480f191c0e3ea(options) {\n const { ref: ref , onResize: onResize } = options;\n $12uGp$useEffect(()=>{\n let element = ref === null || ref === void 0 ? void 0 : ref.current;\n if (!element) return;\n if (!$9daab02d461809db$var$hasResizeObserver()) {\n window.addEventListener('resize', onResize, false);\n return ()=>{\n window.removeEventListener('resize', onResize, false);\n };\n } else {\n const resizeObserverInstance = new window.ResizeObserver((entries)=>{\n if (!entries.length) return;\n onResize();\n });\n resizeObserverInstance.observe(element);\n return ()=>{\n if (element) resizeObserverInstance.unobserve(element);\n };\n }\n }, [\n onResize,\n ref\n ]);\n}\n\n\n\nfunction $e7801be82b4b2a53$export$4debdb1a3f0fa79e(context, ref) {\n $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c(()=>{\n if (context && context.ref && ref) {\n context.ref.current = ref.current;\n return ()=>{\n context.ref.current = null;\n };\n }\n }, [\n context,\n ref\n ]);\n}\n\n\nfunction $62d8ded9296f3872$export$cfa2225e87938781(node) {\n while(node && !$62d8ded9296f3872$var$isScrollable(node))node = node.parentElement;\n return node || document.scrollingElement || document.documentElement;\n}\nfunction $62d8ded9296f3872$var$isScrollable(node) {\n let style = window.getComputedStyle(node);\n return /(auto|scroll)/.test(style.overflow + style.overflowX + style.overflowY);\n}\n\n\n\n// @ts-ignore\nlet $5df64b3807dc15ee$var$visualViewport = typeof window !== 'undefined' && window.visualViewport;\nfunction $5df64b3807dc15ee$export$d699905dd57c73ca() {\n let [size1, setSize] = $12uGp$useState(()=>$5df64b3807dc15ee$var$getViewportSize()\n );\n $12uGp$useEffect(()=>{\n // Use visualViewport api to track available height even on iOS virtual keyboard opening\n let onResize = ()=>{\n setSize((size)=>{\n let newSize = $5df64b3807dc15ee$var$getViewportSize();\n if (newSize.width === size.width && newSize.height === size.height) return size;\n return newSize;\n });\n };\n if (!$5df64b3807dc15ee$var$visualViewport) window.addEventListener('resize', onResize);\n else $5df64b3807dc15ee$var$visualViewport.addEventListener('resize', onResize);\n return ()=>{\n if (!$5df64b3807dc15ee$var$visualViewport) window.removeEventListener('resize', onResize);\n else $5df64b3807dc15ee$var$visualViewport.removeEventListener('resize', onResize);\n };\n }, []);\n return size1;\n}\nfunction $5df64b3807dc15ee$var$getViewportSize() {\n return {\n width: ($5df64b3807dc15ee$var$visualViewport === null || $5df64b3807dc15ee$var$visualViewport === void 0 ? void 0 : $5df64b3807dc15ee$var$visualViewport.width) || window.innerWidth,\n height: ($5df64b3807dc15ee$var$visualViewport === null || $5df64b3807dc15ee$var$visualViewport === void 0 ? void 0 : $5df64b3807dc15ee$var$visualViewport.height) || window.innerHeight\n };\n}\n\n\n\n\nlet $ef06256079686ba0$var$descriptionId = 0;\nconst $ef06256079686ba0$var$descriptionNodes = new Map();\nfunction $ef06256079686ba0$export$f8aeda7b10753fa1(description) {\n let [id1, setId] = $12uGp$useState(undefined);\n $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c(()=>{\n if (!description) return;\n let desc = $ef06256079686ba0$var$descriptionNodes.get(description);\n if (!desc) {\n let id = `react-aria-description-${$ef06256079686ba0$var$descriptionId++}`;\n setId(id);\n let node = document.createElement('div');\n node.id = id;\n node.style.display = 'none';\n node.textContent = description;\n document.body.appendChild(node);\n desc = {\n refCount: 0,\n element: node\n };\n $ef06256079686ba0$var$descriptionNodes.set(description, desc);\n } else setId(desc.element.id);\n desc.refCount++;\n return ()=>{\n if (--desc.refCount === 0) {\n desc.element.remove();\n $ef06256079686ba0$var$descriptionNodes.delete(description);\n }\n };\n }, [\n description\n ]);\n return {\n 'aria-describedby': description ? id1 : undefined\n };\n}\n\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $c87311424ea30a05$var$testUserAgent(re) {\n var ref;\n if (typeof window === 'undefined' || window.navigator == null) return false;\n return ((ref = window.navigator['userAgentData']) === null || ref === void 0 ? void 0 : ref.brands.some((brand)=>re.test(brand.brand)\n )) || re.test(window.navigator.userAgent);\n}\nfunction $c87311424ea30a05$var$testPlatform(re) {\n var ref;\n return typeof window !== 'undefined' && window.navigator != null ? re.test(((ref = window.navigator['userAgentData']) === null || ref === void 0 ? void 0 : ref.platform) || window.navigator.platform) : false;\n}\nfunction $c87311424ea30a05$export$9ac100e40613ea10() {\n return $c87311424ea30a05$var$testPlatform(/^Mac/i);\n}\nfunction $c87311424ea30a05$export$186c6964ca17d99() {\n return $c87311424ea30a05$var$testPlatform(/^iPhone/i);\n}\nfunction $c87311424ea30a05$export$7bef049ce92e4224() {\n return $c87311424ea30a05$var$testPlatform(/^iPad/i) || $c87311424ea30a05$export$9ac100e40613ea10() && navigator.maxTouchPoints > 1;\n}\nfunction $c87311424ea30a05$export$fedb369cb70207f1() {\n return $c87311424ea30a05$export$186c6964ca17d99() || $c87311424ea30a05$export$7bef049ce92e4224();\n}\nfunction $c87311424ea30a05$export$e1865c3bedcd822b() {\n return $c87311424ea30a05$export$9ac100e40613ea10() || $c87311424ea30a05$export$fedb369cb70207f1();\n}\nfunction $c87311424ea30a05$export$78551043582a6a98() {\n return $c87311424ea30a05$var$testUserAgent(/AppleWebKit/i) && !$c87311424ea30a05$export$6446a186d09e379e();\n}\nfunction $c87311424ea30a05$export$6446a186d09e379e() {\n return $c87311424ea30a05$var$testUserAgent(/Chrome/i);\n}\nfunction $c87311424ea30a05$export$a11b0059900ceec8() {\n return $c87311424ea30a05$var$testUserAgent(/Android/i);\n}\n\n\n\nfunction $e9faafb641e167db$export$90fc3a17d93f704c(ref, event, handler1, options) {\n let handlerRef = $12uGp$useRef(handler1);\n handlerRef.current = handler1;\n let isDisabled = handler1 == null;\n $12uGp$useEffect(()=>{\n if (isDisabled) return;\n let element = ref.current;\n let handler = (e)=>handlerRef.current.call(this, e)\n ;\n element.addEventListener(event, handler, options);\n return ()=>{\n element.removeEventListener(event, handler, options);\n };\n }, [\n ref,\n event,\n options,\n isDisabled\n ]);\n}\n\n\n\n\nfunction $1dbecbe27a04f9af$export$14d238f342723f25(defaultValue) {\n let [value, setValue] = $12uGp$useState(defaultValue);\n let valueRef = $12uGp$useRef(value);\n let effect = $12uGp$useRef(null);\n valueRef.current = value;\n // Store the function in a ref so we can always access the current version\n // which has the proper `value` in scope.\n let nextRef = $12uGp$useRef(null);\n nextRef.current = ()=>{\n // Run the generator to the next yield.\n let newValue = effect.current.next();\n // If the generator is done, reset the effect.\n if (newValue.done) {\n effect.current = null;\n return;\n }\n // If the value is the same as the current value,\n // then continue to the next yield. Otherwise,\n // set the value in state and wait for the next layout effect.\n if (value === newValue.value) nextRef.current();\n else setValue(newValue.value);\n };\n $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c(()=>{\n // If there is an effect currently running, continue to the next yield.\n if (effect.current) nextRef.current();\n });\n let queue = $12uGp$useCallback((fn)=>{\n effect.current = fn(valueRef.current);\n nextRef.current();\n }, [\n effect,\n nextRef\n ]);\n return [\n value,\n queue\n ];\n}\n\n\nfunction $2f04cbc44ee30ce0$export$53a0910f038337bd(scrollView, element) {\n let offsetX = $2f04cbc44ee30ce0$var$relativeOffset(scrollView, element, 'left');\n let offsetY = $2f04cbc44ee30ce0$var$relativeOffset(scrollView, element, 'top');\n let width = element.offsetWidth;\n let height = element.offsetHeight;\n let x = scrollView.scrollLeft;\n let y = scrollView.scrollTop;\n let maxX = x + scrollView.offsetWidth;\n let maxY = y + scrollView.offsetHeight;\n if (offsetX <= x) x = offsetX;\n else if (offsetX + width > maxX) x += offsetX + width - maxX;\n if (offsetY <= y) y = offsetY;\n else if (offsetY + height > maxY) y += offsetY + height - maxY;\n scrollView.scrollLeft = x;\n scrollView.scrollTop = y;\n}\n/**\n * Computes the offset left or top from child to ancestor by accumulating\n * offsetLeft or offsetTop through intervening offsetParents.\n */ function $2f04cbc44ee30ce0$var$relativeOffset(ancestor, child, axis) {\n const prop = axis === 'left' ? 'offsetLeft' : 'offsetTop';\n let sum = 0;\n while(child.offsetParent){\n sum += child[prop];\n if (child.offsetParent === ancestor) break;\n else if (child.offsetParent.contains(ancestor)) {\n // If the ancestor is not `position:relative`, then we stop at\n // _its_ offset parent, and we subtract off _its_ offset, so that\n // we end up with the proper offset from child to ancestor.\n sum -= ancestor[prop];\n break;\n }\n child = child.offsetParent;\n }\n return sum;\n}\n\n\n\n\nfunction $6a7db85432448f7f$export$60278871457622de(event) {\n // JAWS/NVDA with Firefox.\n if (event.mozInputSource === 0 && event.isTrusted) return true;\n // Android TalkBack's detail value varies depending on the event listener providing the event so we have specific logic here instead\n // If pointerType is defined, event is from a click listener. For events from mousedown listener, detail === 0 is a sufficient check\n // to detect TalkBack virtual clicks.\n if ($c87311424ea30a05$export$a11b0059900ceec8() && event.pointerType) return event.type === 'click' && event.buttons === 1;\n return event.detail === 0 && !event.pointerType;\n}\nfunction $6a7db85432448f7f$export$29bf1b5f2c56cf63(event) {\n // If the pointer size is zero, then we assume it's from a screen reader.\n // Android TalkBack double tap will sometimes return a event with width and height of 1\n // and pointerType === 'mouse' so we need to check for a specific combination of event attributes.\n // Cannot use \"event.pressure === 0\" as the sole check due to Safari pointer events always returning pressure === 0\n // instead of .5, see https://bugs.webkit.org/show_bug.cgi?id=206216. event.pointerType === 'mouse' is to distingush\n // Talkback double tap from Windows Firefox touch screen press\n return event.width === 0 && event.height === 0 || event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'mouse';\n}\n\n\n\n\nexport {$bdb11010cef70236$export$f680877a34711e37 as useId, $bdb11010cef70236$export$cd8c9cb68f842629 as mergeIds, $bdb11010cef70236$export$b4cc09c592e8fdb8 as useSlotId, $ff5963eb1fccf552$export$e08e3b67e392101e as chain, $3ef42575df84b30b$export$9d1611c77c2fe928 as mergeProps, $5dc95899b306f630$export$c9058316764c140e as mergeRefs, $65484d02dcb7eb3e$export$457c3d6518dd4c6f as filterDOMProps, $7215afc6de606d6b$export$de79e2c695e052f3 as focusWithoutScrolling, $ab71dadb03a6fb2e$export$622cea445a1c5b7d as getOffset, $bbed8b41f857bcc0$export$24490316f764c430 as runAfterTransition, $9cc09df9fd7676be$export$7bbed75feba39706 as useDrag1D, $03deb23ff14920c4$export$4eaf04e54aa8eed6 as useGlobalListeners, $313b98861ee5dd6c$export$d6875122194c7b44 as useLabels, $df56164dff5785e2$export$4338b53315abf666 as useObjectRef, $4f58c5f72bcf79f7$export$496315a1608d9602 as useUpdateEffect, $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c as useLayoutEffect, $9daab02d461809db$export$683480f191c0e3ea as useResizeObserver, $e7801be82b4b2a53$export$4debdb1a3f0fa79e as useSyncRef, $62d8ded9296f3872$export$cfa2225e87938781 as getScrollParent, $5df64b3807dc15ee$export$d699905dd57c73ca as useViewportSize, $ef06256079686ba0$export$f8aeda7b10753fa1 as useDescription, $c87311424ea30a05$export$9ac100e40613ea10 as isMac, $c87311424ea30a05$export$186c6964ca17d99 as isIPhone, $c87311424ea30a05$export$7bef049ce92e4224 as isIPad, $c87311424ea30a05$export$fedb369cb70207f1 as isIOS, $c87311424ea30a05$export$e1865c3bedcd822b as isAppleDevice, $c87311424ea30a05$export$78551043582a6a98 as isWebKit, $c87311424ea30a05$export$6446a186d09e379e as isChrome, $c87311424ea30a05$export$a11b0059900ceec8 as isAndroid, $e9faafb641e167db$export$90fc3a17d93f704c as useEvent, $1dbecbe27a04f9af$export$14d238f342723f25 as useValueEffect, $2f04cbc44ee30ce0$export$53a0910f038337bd as scrollIntoView, $4507461a1b870123$re_export$clamp as clamp, $4507461a1b870123$re_export$snapValueToStep as snapValueToStep, $6a7db85432448f7f$export$60278871457622de as isVirtualClick, $6a7db85432448f7f$export$29bf1b5f2c56cf63 as isVirtualPointerEvent};\n//# sourceMappingURL=module.js.map\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/** @license React v0.20.2\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f,g,h,k;if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var t=null,u=null,w=function(){if(null!==t)try{var a=exports.unstable_now();t(!0,a);t=null}catch(b){throw setTimeout(w,0),b;}};f=function(a){null!==t?setTimeout(f,0,a):(t=a,setTimeout(w,0))};g=function(a,b){u=setTimeout(a,b)};h=function(){clearTimeout(u)};exports.unstable_shouldYield=function(){return!1};k=exports.unstable_forceFrameRate=function(){}}else{var x=window.setTimeout,y=window.clearTimeout;if(\"undefined\"!==typeof console){var z=\nwindow.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\");\"function\"!==typeof z&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\")}var A=!1,B=null,C=-1,D=5,E=0;exports.unstable_shouldYield=function(){return exports.unstable_now()>=\nE};k=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0I(n,c))void 0!==r&&0>I(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>I(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var L=[],M=[],N=1,O=null,P=3,Q=!1,R=!1,S=!1;\nfunction T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else if(b.startTime<=a)K(M),b.sortIndex=b.expirationTime,H(L,b);else break;b=J(M)}}function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);null!==b&&g(U,b.startTime-a)}}\nfunction V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null!==O&&(!(O.expirationTime>b)||a&&!exports.unstable_shouldYield());){var d=O.callback;if(\"function\"===typeof d){O.callback=null;P=O.priorityLevel;var e=d(O.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?O.callback=e:O===J(L)&&K(L);T(b)}else K(L);O=J(L)}if(null!==O)var m=!0;else{var n=J(M);null!==n&&g(U,n.startTime-b);m=!1}return m}finally{O=null,P=c,Q=!1}}var W=k;exports.unstable_IdlePriority=5;\nexports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){R||Q||(R=!0,f(V))};exports.unstable_getCurrentPriorityLevel=function(){return P};exports.unstable_getFirstCallbackNode=function(){return J(L)};\nexports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=W;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a};\nexports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","// Public: Create a new SelectorSet.\nexport default function SelectorSet() {\n // Construct new SelectorSet if called as a function.\n if (!(this instanceof SelectorSet)) {\n return new SelectorSet();\n }\n\n // Public: Number of selectors added to the set\n this.size = 0;\n\n // Internal: Incrementing ID counter\n this.uid = 0;\n\n // Internal: Array of String selectors in the set\n this.selectors = [];\n\n // Internal: Map of selector ids to objects\n this.selectorObjects = {};\n\n // Internal: All Object index String names mapping to Index objects.\n this.indexes = Object.create(this.indexes);\n\n // Internal: Used Object index String names mapping to Index objects.\n this.activeIndexes = [];\n}\n\n// Detect prefixed Element#matches function.\nvar docElem = window.document.documentElement;\nvar matches =\n docElem.matches ||\n docElem.webkitMatchesSelector ||\n docElem.mozMatchesSelector ||\n docElem.oMatchesSelector ||\n docElem.msMatchesSelector;\n\n// Public: Check if element matches selector.\n//\n// Maybe overridden with custom Element.matches function.\n//\n// el - An Element\n// selector - String CSS selector\n//\n// Returns true or false.\nSelectorSet.prototype.matchesSelector = function(el, selector) {\n return matches.call(el, selector);\n};\n\n// Public: Find all elements in the context that match the selector.\n//\n// Maybe overridden with custom querySelectorAll function.\n//\n// selectors - String CSS selectors.\n// context - Element context\n//\n// Returns non-live list of Elements.\nSelectorSet.prototype.querySelectorAll = function(selectors, context) {\n return context.querySelectorAll(selectors);\n};\n\n// Public: Array of indexes.\n//\n// name - Unique String name\n// selector - Function that takes a String selector and returns a String key\n// or undefined if it can't be used by the index.\n// element - Function that takes an Element and returns an Array of String\n// keys that point to indexed values.\n//\nSelectorSet.prototype.indexes = [];\n\n// Index by element id\nvar idRe = /^#((?:[\\w\\u00c0-\\uFFFF\\-]|\\\\.)+)/g;\nSelectorSet.prototype.indexes.push({\n name: 'ID',\n selector: function matchIdSelector(sel) {\n var m;\n if ((m = sel.match(idRe))) {\n return m[0].slice(1);\n }\n },\n element: function getElementId(el) {\n if (el.id) {\n return [el.id];\n }\n }\n});\n\n// Index by all of its class names\nvar classRe = /^\\.((?:[\\w\\u00c0-\\uFFFF\\-]|\\\\.)+)/g;\nSelectorSet.prototype.indexes.push({\n name: 'CLASS',\n selector: function matchClassSelector(sel) {\n var m;\n if ((m = sel.match(classRe))) {\n return m[0].slice(1);\n }\n },\n element: function getElementClassNames(el) {\n var className = el.className;\n if (className) {\n if (typeof className === 'string') {\n return className.split(/\\s/);\n } else if (typeof className === 'object' && 'baseVal' in className) {\n // className is a SVGAnimatedString\n // global SVGAnimatedString is not an exposed global in Opera 12\n return className.baseVal.split(/\\s/);\n }\n }\n }\n});\n\n// Index by tag/node name: `DIV`, `FORM`, `A`\nvar tagRe = /^((?:[\\w\\u00c0-\\uFFFF\\-]|\\\\.)+)/g;\nSelectorSet.prototype.indexes.push({\n name: 'TAG',\n selector: function matchTagSelector(sel) {\n var m;\n if ((m = sel.match(tagRe))) {\n return m[0].toUpperCase();\n }\n },\n element: function getElementTagName(el) {\n return [el.nodeName.toUpperCase()];\n }\n});\n\n// Default index just contains a single array of elements.\nSelectorSet.prototype.indexes['default'] = {\n name: 'UNIVERSAL',\n selector: function() {\n return true;\n },\n element: function() {\n return [true];\n }\n};\n\n// Use ES Maps when supported\nvar Map;\nif (typeof window.Map === 'function') {\n Map = window.Map;\n} else {\n Map = (function() {\n function Map() {\n this.map = {};\n }\n Map.prototype.get = function(key) {\n return this.map[key + ' '];\n };\n Map.prototype.set = function(key, value) {\n this.map[key + ' '] = value;\n };\n return Map;\n })();\n}\n\n// Regexps adopted from Sizzle\n// https://github.com/jquery/sizzle/blob/1.7/sizzle.js\n//\nvar chunker = /((?:\\((?:\\([^()]+\\)|[^()]+)+\\)|\\[(?:\\[[^\\[\\]]*\\]|['\"][^'\"]*['\"]|[^\\[\\]'\"]+)+\\]|\\\\.|[^ >+~,(\\[\\\\]+)+|[>+~])(\\s*,\\s*)?((?:.|\\r|\\n)*)/g;\n\n// Internal: Get indexes for selector.\n//\n// selector - String CSS selector\n//\n// Returns Array of {index, key}.\nfunction parseSelectorIndexes(allIndexes, selector) {\n allIndexes = allIndexes.slice(0).concat(allIndexes['default']);\n\n var allIndexesLen = allIndexes.length,\n i,\n j,\n m,\n dup,\n rest = selector,\n key,\n index,\n indexes = [];\n\n do {\n chunker.exec('');\n if ((m = chunker.exec(rest))) {\n rest = m[3];\n if (m[2] || !rest) {\n for (i = 0; i < allIndexesLen; i++) {\n index = allIndexes[i];\n if ((key = index.selector(m[1]))) {\n j = indexes.length;\n dup = false;\n while (j--) {\n if (indexes[j].index === index && indexes[j].key === key) {\n dup = true;\n break;\n }\n }\n if (!dup) {\n indexes.push({ index: index, key: key });\n }\n break;\n }\n }\n }\n }\n } while (m);\n\n return indexes;\n}\n\n// Internal: Find first item in Array that is a prototype of `proto`.\n//\n// ary - Array of objects\n// proto - Prototype of expected item in `ary`\n//\n// Returns object from `ary` if found. Otherwise returns undefined.\nfunction findByPrototype(ary, proto) {\n var i, len, item;\n for (i = 0, len = ary.length; i < len; i++) {\n item = ary[i];\n if (proto.isPrototypeOf(item)) {\n return item;\n }\n }\n}\n\n// Public: Log when added selector falls under the default index.\n//\n// This API should not be considered stable. May change between\n// minor versions.\n//\n// obj - {selector, data} Object\n//\n// SelectorSet.prototype.logDefaultIndexUsed = function(obj) {\n// console.warn(obj.selector, \"could not be indexed\");\n// };\n//\n// Returns nothing.\nSelectorSet.prototype.logDefaultIndexUsed = function() {};\n\n// Public: Add selector to set.\n//\n// selector - String CSS selector\n// data - Optional data Object (default: undefined)\n//\n// Returns nothing.\nSelectorSet.prototype.add = function(selector, data) {\n var obj,\n i,\n indexProto,\n key,\n index,\n objs,\n selectorIndexes,\n selectorIndex,\n indexes = this.activeIndexes,\n selectors = this.selectors,\n selectorObjects = this.selectorObjects;\n\n if (typeof selector !== 'string') {\n return;\n }\n\n obj = {\n id: this.uid++,\n selector: selector,\n data: data\n };\n selectorObjects[obj.id] = obj;\n\n selectorIndexes = parseSelectorIndexes(this.indexes, selector);\n for (i = 0; i < selectorIndexes.length; i++) {\n selectorIndex = selectorIndexes[i];\n key = selectorIndex.key;\n indexProto = selectorIndex.index;\n\n index = findByPrototype(indexes, indexProto);\n if (!index) {\n index = Object.create(indexProto);\n index.map = new Map();\n indexes.push(index);\n }\n\n if (indexProto === this.indexes['default']) {\n this.logDefaultIndexUsed(obj);\n }\n objs = index.map.get(key);\n if (!objs) {\n objs = [];\n index.map.set(key, objs);\n }\n objs.push(obj);\n }\n\n this.size++;\n selectors.push(selector);\n};\n\n// Public: Remove selector from set.\n//\n// selector - String CSS selector\n// data - Optional data Object (default: undefined)\n//\n// Returns nothing.\nSelectorSet.prototype.remove = function(selector, data) {\n if (typeof selector !== 'string') {\n return;\n }\n\n var selectorIndexes,\n selectorIndex,\n i,\n j,\n k,\n selIndex,\n objs,\n obj,\n indexes = this.activeIndexes,\n selectors = (this.selectors = []),\n selectorObjects = this.selectorObjects,\n removedIds = {},\n removeAll = arguments.length === 1;\n\n selectorIndexes = parseSelectorIndexes(this.indexes, selector);\n for (i = 0; i < selectorIndexes.length; i++) {\n selectorIndex = selectorIndexes[i];\n\n j = indexes.length;\n while (j--) {\n selIndex = indexes[j];\n if (selectorIndex.index.isPrototypeOf(selIndex)) {\n objs = selIndex.map.get(selectorIndex.key);\n if (objs) {\n k = objs.length;\n while (k--) {\n obj = objs[k];\n if (obj.selector === selector && (removeAll || obj.data === data)) {\n objs.splice(k, 1);\n removedIds[obj.id] = true;\n }\n }\n }\n break;\n }\n }\n }\n\n for (i in removedIds) {\n delete selectorObjects[i];\n this.size--;\n }\n\n for (i in selectorObjects) {\n selectors.push(selectorObjects[i].selector);\n }\n};\n\n// Sort by id property handler.\n//\n// a - Selector obj.\n// b - Selector obj.\n//\n// Returns Number.\nfunction sortById(a, b) {\n return a.id - b.id;\n}\n\n// Public: Find all matching decendants of the context element.\n//\n// context - An Element\n//\n// Returns Array of {selector, data, elements} matches.\nSelectorSet.prototype.queryAll = function(context) {\n if (!this.selectors.length) {\n return [];\n }\n\n var matches = {},\n results = [];\n var els = this.querySelectorAll(this.selectors.join(', '), context);\n\n var i, j, len, len2, el, m, match, obj;\n for (i = 0, len = els.length; i < len; i++) {\n el = els[i];\n m = this.matches(el);\n for (j = 0, len2 = m.length; j < len2; j++) {\n obj = m[j];\n if (!matches[obj.id]) {\n match = {\n id: obj.id,\n selector: obj.selector,\n data: obj.data,\n elements: []\n };\n matches[obj.id] = match;\n results.push(match);\n } else {\n match = matches[obj.id];\n }\n match.elements.push(el);\n }\n }\n\n return results.sort(sortById);\n};\n\n// Public: Match element against all selectors in set.\n//\n// el - An Element\n//\n// Returns Array of {selector, data} matches.\nSelectorSet.prototype.matches = function(el) {\n if (!el) {\n return [];\n }\n\n var i, j, k, len, len2, len3, index, keys, objs, obj, id;\n var indexes = this.activeIndexes,\n matchedIds = {},\n matches = [];\n\n for (i = 0, len = indexes.length; i < len; i++) {\n index = indexes[i];\n keys = index.element(el);\n if (keys) {\n for (j = 0, len2 = keys.length; j < len2; j++) {\n if ((objs = index.map.get(keys[j]))) {\n for (k = 0, len3 = objs.length; k < len3; k++) {\n obj = objs[k];\n id = obj.id;\n if (!matchedIds[id] && this.matchesSelector(el, obj.selector)) {\n matchedIds[id] = true;\n matches.push(obj);\n }\n }\n }\n }\n }\n }\n\n return matches.sort(sortById);\n};\n","import SelectorSet from 'selector-set';\n\nvar el = null;\nvar observer = null;\nvar queue = [];\n\nfunction scheduleBatch(document, callback) {\n var calls = [];\n\n function processBatchQueue() {\n var callsCopy = calls;\n calls = [];\n callback(callsCopy);\n }\n\n function scheduleBatchQueue() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n calls.push(args);\n if (calls.length === 1) scheduleMacroTask(document, processBatchQueue);\n }\n\n return scheduleBatchQueue;\n}\n\nfunction scheduleMacroTask(document, callback) {\n if (!observer) {\n observer = new MutationObserver(handleMutations);\n }\n\n if (!el) {\n el = document.createElement('div');\n observer.observe(el, { attributes: true });\n }\n\n queue.push(callback);\n el.setAttribute('data-twiddle', '' + Date.now());\n}\n\nfunction handleMutations() {\n var callbacks = queue;\n queue = [];\n for (var i = 0; i < callbacks.length; i++) {\n try {\n callbacks[i]();\n } catch (error) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n }\n}\n\n// selector-observer processes dom mutations in two phases. This module applies\n// the Change set from the first phase and invokes the any registered hooks.\n\nvar initMap = new WeakMap();\nvar initializerMap = new WeakMap();\nvar subscriptionMap = new WeakMap();\nvar addMap = new WeakMap();\n\nfunction applyChanges(selectorObserver, changes) {\n for (var i = 0; i < changes.length; i++) {\n var change = changes[i];\n var type = change[0];\n var el = change[1];\n var observer = change[2];\n if (type === ADD) {\n runInit(observer, el);\n runAdd(observer, el);\n } else if (type === REMOVE) {\n runRemove(observer, el);\n } else if (type === REMOVE_ALL) {\n runRemoveAll(selectorObserver.observers, el);\n }\n }\n}\n\n// Run observer node \"initialize\" callback once.\n// Call when observer selector matches node.\n//\n// observer - An observer Object.\n// el - An Element\n//\n// Returns nothing.\nfunction runInit(observer, el) {\n if (!(el instanceof observer.elementConstructor)) {\n return;\n }\n\n var initIds = initMap.get(el);\n if (!initIds) {\n initIds = [];\n initMap.set(el, initIds);\n }\n\n if (initIds.indexOf(observer.id) === -1) {\n var initializer = void 0;\n if (observer.initialize) {\n initializer = observer.initialize.call(undefined, el);\n }\n if (initializer) {\n var initializers = initializerMap.get(el);\n if (!initializers) {\n initializers = {};\n initializerMap.set(el, initializers);\n }\n initializers['' + observer.id] = initializer;\n }\n initIds.push(observer.id);\n }\n}\n\n// Run observer node \"add\" callback.\n// Call when observer selector matches node.\n//\n// observer - An observer Object.\n// el - An Element\n//\n// Returns nothing.\nfunction runAdd(observer, el) {\n if (!(el instanceof observer.elementConstructor)) {\n return;\n }\n\n var addIds = addMap.get(el);\n if (!addIds) {\n addIds = [];\n addMap.set(el, addIds);\n }\n\n if (addIds.indexOf(observer.id) === -1) {\n observer.elements.push(el);\n\n var initializers = initializerMap.get(el);\n var initializer = initializers ? initializers['' + observer.id] : null;\n if (initializer && initializer.add) {\n initializer.add.call(undefined, el);\n }\n\n if (observer.subscribe) {\n var subscription = observer.subscribe.call(undefined, el);\n if (subscription) {\n var subscriptions = subscriptionMap.get(el);\n if (!subscriptions) {\n subscriptions = {};\n subscriptionMap.set(el, subscriptions);\n }\n subscriptions['' + observer.id] = subscription;\n }\n }\n\n if (observer.add) {\n observer.add.call(undefined, el);\n }\n\n addIds.push(observer.id);\n }\n}\n\n// Runs all observer element \"remove\" callbacks.\n// Call when element is completely removed from the DOM.\n//\n// observer - An observer Object.\n// el - An Element\n//\n// Returns nothing.\nfunction runRemove(observer, el) {\n if (!(el instanceof observer.elementConstructor)) {\n return;\n }\n\n var addIds = addMap.get(el);\n if (!addIds) {\n return;\n }\n\n var index = observer.elements.indexOf(el);\n if (index !== -1) {\n observer.elements.splice(index, 1);\n }\n\n index = addIds.indexOf(observer.id);\n if (index !== -1) {\n var initializers = initializerMap.get(el);\n var initializer = initializers ? initializers['' + observer.id] : null;\n if (initializer) {\n if (initializer.remove) {\n initializer.remove.call(undefined, el);\n }\n }\n\n if (observer.subscribe) {\n var subscriptions = subscriptionMap.get(el);\n var subscription = subscriptions ? subscriptions['' + observer.id] : null;\n if (subscription && subscription.unsubscribe) {\n subscription.unsubscribe();\n }\n }\n\n if (observer.remove) {\n observer.remove.call(undefined, el);\n }\n\n addIds.splice(index, 1);\n }\n\n if (addIds.length === 0) {\n addMap.delete(el);\n }\n}\n\n// Runs all observer element \"remove\" callbacks.\n// Call when element is completely removed from the DOM.\n//\n// observes - Array of observers\n// el - An Element\n//\n// Returns nothing.\nfunction runRemoveAll(observers, el) {\n var addIds = addMap.get(el);\n if (!addIds) {\n return;\n }\n\n var ids = addIds.slice(0);\n for (var i = 0; i < ids.length; i++) {\n var observer = observers[ids[i]];\n if (!observer) {\n continue;\n }\n\n var index = observer.elements.indexOf(el);\n if (index !== -1) {\n observer.elements.splice(index, 1);\n }\n\n var initializers = initializerMap.get(el);\n var initializer = initializers ? initializers['' + observer.id] : null;\n if (initializer && initializer.remove) {\n initializer.remove.call(undefined, el);\n }\n\n var subscriptions = subscriptionMap.get(el);\n var subscription = subscriptions ? subscriptions['' + observer.id] : null;\n if (subscription && subscription.unsubscribe) {\n subscription.unsubscribe();\n }\n\n if (observer.remove) {\n observer.remove.call(undefined, el);\n }\n }\n addMap.delete(el);\n}\n\nvar innerHTMLReplacementIsBuggy = null;\n\n// In IE 9/10/11 replacing child via innerHTML will orphan all of the child\n// elements. This prevents walking the descendants of removedNodes.\n// https://connect.microsoft.com/IE/feedback/details/797844/ie9-10-11-dom-child-kill-bug\nfunction detectInnerHTMLReplacementBuggy(document) {\n if (innerHTMLReplacementIsBuggy === null) {\n var a = document.createElement('div');\n var b = document.createElement('div');\n var c = document.createElement('div');\n a.appendChild(b);\n b.appendChild(c);\n a.innerHTML = '';\n innerHTMLReplacementIsBuggy = c.parentNode !== b;\n }\n return innerHTMLReplacementIsBuggy;\n}\n\nfunction supportsSelectorMatching(node) {\n return 'matches' in node || 'webkitMatchesSelector' in node || 'mozMatchesSelector' in node || 'oMatchesSelector' in node || 'msMatchesSelector' in node;\n}\n\n// selector-observer processes dom mutations in two phases. This module\n// processes DOM mutations, revalidates selectors against the target element and\n// enqueues a Change for an observers hooks to be ran.\n\n// A set of Changes is structured as an Array of tuples:\n//\n// [ADD, element, observer]: Indicates that an observer starting matching\n// the element.\nvar ADD = 1;\n\n// [REMOVE, element, observer]: Indicates that an observer stopped matching\n// the element.\nvar REMOVE = 2;\n\n// [REMOVE_ALL, element]: Indicates that an element was removed from the\n// document and all related observers stopped matching the element.\nvar REMOVE_ALL = 3;\n\n// A handler for processing MutationObserver mutations.\n//\n// selectorObserver - The SelectorObserver\n// changes - Array of changes to append to\n// mutations - An array of MutationEvents\n//\n// Return nothing.\nfunction handleMutations$1(selectorObserver, changes, mutations) {\n for (var i = 0; i < mutations.length; i++) {\n var mutation = mutations[i];\n if (mutation.type === 'childList') {\n addNodes(selectorObserver, changes, mutation.addedNodes);\n removeNodes(selectorObserver, changes, mutation.removedNodes);\n } else if (mutation.type === 'attributes') {\n revalidateObservers(selectorObserver, changes, mutation.target);\n }\n }\n if (detectInnerHTMLReplacementBuggy(selectorObserver.ownerDocument)) {\n revalidateOrphanedElements(selectorObserver, changes);\n }\n}\n\n// Run observer node \"add\" callback once on the any matching\n// node and its subtree.\n//\n// selectorObserver - The SelectorObserver\n// changes - Array of changes to append to\n// nodes - A NodeList of Nodes\n//\n// Returns nothing.\nfunction addNodes(selectorObserver, changes, nodes) {\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n\n if (supportsSelectorMatching(node)) {\n var matches = selectorObserver.selectorSet.matches(node);\n for (var j = 0; j < matches.length; j++) {\n var data = matches[j].data;\n\n changes.push([ADD, node, data]);\n }\n }\n\n if ('querySelectorAll' in node) {\n var matches2 = selectorObserver.selectorSet.queryAll(node);\n for (var _j = 0; _j < matches2.length; _j++) {\n var _matches2$_j = matches2[_j],\n _data = _matches2$_j.data,\n elements = _matches2$_j.elements;\n\n for (var k = 0; k < elements.length; k++) {\n changes.push([ADD, elements[k], _data]);\n }\n }\n }\n }\n}\n\n// Run all observer node \"remove\" callbacks on the node\n// and its entire subtree.\n//\n// selectorObserver - The SelectorObserver\n// changes - Array of changes to append to\n// nodes - A NodeList of Nodes\n//\n// Returns nothing.\nfunction removeNodes(selectorObserver, changes, nodes) {\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n if ('querySelectorAll' in node) {\n changes.push([REMOVE_ALL, node]);\n var descendants = node.querySelectorAll('*');\n for (var j = 0; j < descendants.length; j++) {\n changes.push([REMOVE_ALL, descendants[j]]);\n }\n }\n }\n}\n\n// Recheck all \"add\" observers to see if the selector still matches.\n// If not, run the \"remove\" callback.\n//\n// selectorObserver - The SelectorObserver\n// changes - Array of changes to append to\n// node - A Node\n//\n// Returns nothing.\nfunction revalidateObservers(selectorObserver, changes, node) {\n if (supportsSelectorMatching(node)) {\n var matches = selectorObserver.selectorSet.matches(node);\n for (var i = 0; i < matches.length; i++) {\n var data = matches[i].data;\n\n changes.push([ADD, node, data]);\n }\n }\n\n if ('querySelectorAll' in node) {\n var ids = addMap.get(node);\n if (ids) {\n for (var _i = 0; _i < ids.length; _i++) {\n var observer = selectorObserver.observers[ids[_i]];\n if (observer) {\n if (!selectorObserver.selectorSet.matchesSelector(node, observer.selector)) {\n changes.push([REMOVE, node, observer]);\n }\n }\n }\n }\n }\n}\n\n// Recheck all \"add\" observers to see if the selector still matches.\n// If not, run the \"remove\" callback. Runs on node and all its descendants.\n//\n// selectorObserver - The SelectorObserver\n// changes - Array of changes to append to\n// node - The root Node\n//\n// Returns nothing.\nfunction revalidateDescendantObservers(selectorObserver, changes, node) {\n if ('querySelectorAll' in node) {\n revalidateObservers(selectorObserver, changes, node);\n var descendants = node.querySelectorAll('*');\n for (var i = 0; i < descendants.length; i++) {\n revalidateObservers(selectorObserver, changes, descendants[i]);\n }\n }\n}\n\n// Recheck input after \"change\" event and possible related form elements.\n//\n// selectorObserver - The SelectorObserver\n// changes - Array of changes to append to\n// input - The HTMLInputElement\n//\n// Returns nothing.\nfunction revalidateInputObservers(selectorObserver, changes, inputs) {\n for (var i = 0; i < inputs.length; i++) {\n var input = inputs[i];\n var els = input.form ? input.form.elements : selectorObserver.rootNode.querySelectorAll('input');\n for (var j = 0; j < els.length; j++) {\n revalidateObservers(selectorObserver, changes, els[j]);\n }\n }\n}\n\n// Check all observed elements to see if they are still in the DOM.\n// Only intended to run on IE where innerHTML replacement is buggy.\n//\n// selectorObserver - The SelectorObserver\n// changes - Array of changes to append to\n//\n// Returns nothing.\nfunction revalidateOrphanedElements(selectorObserver, changes) {\n for (var i = 0; i < selectorObserver.observers.length; i++) {\n var observer = selectorObserver.observers[i];\n if (observer) {\n var elements = observer.elements;\n\n for (var j = 0; j < elements.length; j++) {\n var el = elements[j];\n if (!el.parentNode) {\n changes.push([REMOVE_ALL, el]);\n }\n }\n }\n }\n}\n\nfunction whenReady(document, callback) {\n var readyState = document.readyState;\n if (readyState === 'interactive' || readyState === 'complete') {\n scheduleMacroTask(document, callback);\n } else {\n document.addEventListener('DOMContentLoaded', scheduleMacroTask(document, callback));\n }\n}\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\n// Observer uid counter\nvar uid = 0;\n\nfunction SelectorObserver(rootNode) {\n this.rootNode = rootNode.nodeType === 9 ? rootNode.documentElement : rootNode;\n this.ownerDocument = rootNode.nodeType === 9 ? rootNode : rootNode.ownerDocument;\n\n // Map of observer id to object\n this.observers = [];\n\n // Index of selectors to observer objects\n this.selectorSet = new SelectorSet();\n\n // Process all mutations from root element\n this.mutationObserver = new MutationObserver(handleRootMutations.bind(this, this));\n\n this._scheduleAddRootNodes = scheduleBatch(this.ownerDocument, addRootNodes.bind(this, this));\n\n this._handleThrottledChangedTargets = scheduleBatch(this.ownerDocument, handleChangedTargets.bind(this, this));\n this.rootNode.addEventListener('change', handleChangeEvents.bind(this, this), false);\n\n whenReady(this.ownerDocument, onReady.bind(this, this));\n}\n\nSelectorObserver.prototype.disconnect = function () {\n this.mutationObserver.disconnect();\n};\n\n// Register a new observer.\n//\n// selector - String CSS selector.\n// handlers - Initialize Function or Object with keys:\n// initialize - Function to invoke once when Node is first matched\n// add - Function to invoke when Node matches selector\n// remove - Function to invoke when Node no longer matches selector\n// subscribe - Function to invoke when Node matches selector and returns Subscription.\n//\n// Returns Observer object.\nSelectorObserver.prototype.observe = function (a, b) {\n var handlers = void 0;\n\n if (typeof b === 'function') {\n handlers = {\n selector: a,\n initialize: b\n };\n } else if ((typeof b === 'undefined' ? 'undefined' : _typeof(b)) === 'object') {\n handlers = b;\n handlers.selector = a;\n } else {\n handlers = a;\n }\n\n var self = this;\n\n var observer = {\n id: uid++,\n selector: handlers.selector,\n initialize: handlers.initialize,\n add: handlers.add,\n remove: handlers.remove,\n subscribe: handlers.subscribe,\n elements: [],\n elementConstructor: handlers.hasOwnProperty('constructor') ? handlers.constructor : this.ownerDocument.defaultView.Element,\n abort: function abort() {\n self._abortObserving(observer);\n }\n };\n this.selectorSet.add(observer.selector, observer);\n this.observers[observer.id] = observer;\n this._scheduleAddRootNodes();\n\n return observer;\n};\n\n// Removes observer and calls any remaining remove hooks.\n//\n// observer - Observer object\n//\n// Returns nothing.\nSelectorObserver.prototype._abortObserving = function (observer) {\n var elements = observer.elements;\n for (var i = 0; i < elements.length; i++) {\n runRemove(observer, elements[i]);\n }\n this.selectorSet.remove(observer.selector, observer);\n delete this.observers[observer.id];\n};\n\n// Internal: For hacking in dirty changes that aren't getting picked up\nSelectorObserver.prototype.triggerObservers = function (container) {\n var changes = [];\n revalidateDescendantObservers(this, changes, container);\n applyChanges(this, changes);\n};\n\nfunction onReady(selectorObserver) {\n selectorObserver.mutationObserver.observe(selectorObserver.rootNode, {\n childList: true,\n attributes: true,\n subtree: true\n });\n selectorObserver._scheduleAddRootNodes();\n}\n\nfunction addRootNodes(selectorObserver) {\n var changes = [];\n addNodes(selectorObserver, changes, [selectorObserver.rootNode]);\n applyChanges(selectorObserver, changes);\n}\n\nfunction handleRootMutations(selectorObserver, mutations) {\n var changes = [];\n handleMutations$1(selectorObserver, changes, mutations);\n applyChanges(selectorObserver, changes);\n}\n\nfunction handleChangeEvents(selectorObserver, event) {\n selectorObserver._handleThrottledChangedTargets(event.target);\n}\n\nfunction handleChangedTargets(selectorObserver, inputs) {\n var changes = [];\n revalidateInputObservers(selectorObserver, changes, inputs);\n applyChanges(selectorObserver, changes);\n}\n\n// observe\n//\n// Observe provides a declarative hook thats informed when an element becomes\n// matched by a selector, and then when it stops matching the selector.\n//\n// Examples\n//\n// observe('.js-foo', (el) => {\n// console.log(el, 'was added to the DOM')\n// })\n//\n// observe('.js-bar', {\n// add(el) { console.log('js-bar was added to', el) },\n// remove(el) { console.log 'js-bar was removed from', el) }\n// })\n//\n\nvar documentObserver = void 0;\n\nfunction getDocumentObserver() {\n if (!documentObserver) {\n documentObserver = new SelectorObserver(window.document);\n }\n return documentObserver;\n}\n\nfunction observe() {\n var _getDocumentObserver;\n\n return (_getDocumentObserver = getDocumentObserver()).observe.apply(_getDocumentObserver, arguments);\n}\n\nfunction triggerObservers() {\n var _getDocumentObserver2;\n\n return (_getDocumentObserver2 = getDocumentObserver()).triggerObservers.apply(_getDocumentObserver2, arguments);\n}\n\nexport default SelectorObserver;\nexport { getDocumentObserver, observe, triggerObservers };\n","import React, { useEffect } from \"react\";\r\nimport { render } from \"react-dom\";\r\nimport { observe } from \"selector-observer\";\r\nimport { Karousel } from \"../../../../scripts/react/Carousels\";\r\nimport { DefaultClasses } from \"../../../../scripts/react/Carousels/defaults\";\r\n\r\nexport const HeroCarousel = (props) => {\r\n const {\r\n title,\r\n description,\r\n ctaLabel,\r\n ctaUrl,\r\n ctaTarget,\r\n imageUrl,\r\n imageAlt\r\n } = props;\r\n\r\n return
\r\n
\r\n
\r\n \r\n
\r\n {title &&

{title}

}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n}\r\n\r\nconst getKarouselOptions = (length) => {\r\n return {\r\n buttons: length > 1,\r\n classes: DefaultClasses,\r\n draggable: length > 1,\r\n indicators: length > 1,\r\n responsive: [\r\n {\r\n breakpoint: 1200,\r\n options: {\r\n slidesToShow: 1,\r\n indicators: length > 1,\r\n buttons: length > 1,\r\n draggable: true,\r\n }\r\n }, {\r\n breakpoint: 768,\r\n options: {\r\n slidesToShow: 1,\r\n indicators: length > 1,\r\n buttons: length > 1,\r\n draggable: true,\r\n }\r\n }\r\n ],\r\n slidesToScroll: 1,\r\n };\r\n}\r\n\r\nexport const HeroCarouselItems = ({ disableAnimation, cards }) => {\r\n if (!cards?.length) return null;\r\n const karouselOptions = getKarouselOptions(cards.length);\r\n return (\r\n \r\n {cards.map((card, index) => (\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\n document.addEventListener(\"readystatechange\", () => {\r\n if (document.readyState === \"interactive\") {\r\n observe('[data-component=\"heroCarouselItems\"]', {\r\n add(element) {\r\n const { dataset } = element as HTMLElement;\r\n const { propsId } = dataset;\r\n const componentData = window.ucsdh[`heroCarouselItems_${propsId}`];\r\n render(, element);\r\n },\r\n });\r\n }\r\n });\r\n","import { KarouselOptions } from \"./types\";\r\n\r\nexport const DefaultOptions = {\r\n autoplay: false,\r\n autoplaySpeed: 3000,\r\n buttons: false,\r\n classes: {},\r\n draggable: false,\r\n indicators: false,\r\n responsive: [],\r\n slidesToScroll: 1,\r\n slidesToShow: 1,\r\n speed: 300,\r\n};\r\n\r\nexport const applyDefaults = (\r\n options: Partial\r\n): KarouselOptions => {\r\n const {\r\n autoplay = DefaultOptions.autoplay,\r\n autoplaySpeed = DefaultOptions.autoplaySpeed,\r\n buttons = DefaultOptions.buttons,\r\n classes = DefaultOptions.classes,\r\n draggable = DefaultOptions.draggable,\r\n indicators = DefaultOptions.draggable,\r\n responsive = DefaultOptions.responsive,\r\n slidesToScroll = DefaultOptions.slidesToScroll,\r\n slidesToShow = DefaultOptions.slidesToShow,\r\n speed = DefaultOptions.speed,\r\n } = options;\r\n\r\n return {\r\n autoplay,\r\n autoplaySpeed,\r\n buttons,\r\n classes,\r\n draggable,\r\n indicators,\r\n responsive,\r\n slidesToScroll,\r\n slidesToShow,\r\n speed,\r\n };\r\n};\r\n\r\nexport const DefaultClasses = {\r\n karouselContainer: \"karousel-container\",\r\n gridContainer: \"grid-container\",\r\n carousel: \"karousel-slider\",\r\n track: \"karousel-track\",\r\n slide: \"karousel-slide\",\r\n slideInactive: \"karousel-slide-inactive\",\r\n controls: \"karousel-controls\",\r\n button: \"karousel-btn\",\r\n buttonNext: \"karousel-btn-next\",\r\n buttonPrevious: \"karousel-btn-prev\",\r\n indicators: \"karousel-indicators\",\r\n indicator: \"karousel-indicator\",\r\n indicatorActive: \"karousel-indicator-active\",\r\n};\r\n","import { useCallback, useEffect, useRef } from \"react\";\r\nimport { AutoplayOptions } from \"../types\";\r\n\r\nexport const useAutoplay = (options: AutoplayOptions) => {\r\n const { autoplay, autoplaySpeed, onNext, speed } = options;\r\n const autoplayTimer = useRef();\r\n\r\n const pauseTimer = useCallback(() => {\r\n if (autoplay && autoplayTimer.current) {\r\n clearInterval(autoplayTimer.current);\r\n }\r\n }, [autoplay, autoplayTimer]);\r\n\r\n const startTimer = useCallback(() => {\r\n if (autoplay) {\r\n if (autoplayTimer.current) clearInterval(autoplayTimer.current);\r\n autoplayTimer.current = setInterval(onNext, autoplaySpeed);\r\n }\r\n }, [autoplay, autoplaySpeed, autoplayTimer, onNext]);\r\n\r\n useEffect(() => {\r\n const timeoutTimer = setTimeout(startTimer, speed);\r\n return () => {\r\n clearTimeout(timeoutTimer);\r\n pauseTimer();\r\n };\r\n }, [autoplay, pauseTimer, startTimer, speed]);\r\n\r\n return { pauseTimer, startTimer };\r\n}","import {\r\n MouseEvent as ReactMouseEvent,\r\n TouchEvent as ReactTouchEvent,\r\n useCallback,\r\n useMemo,\r\n useState,\r\n} from \"react\";\r\nimport { DraggableOptions } from \"../types\";\r\n\r\nexport const useDraggable = (options: DraggableOptions) => {\r\n const { draggable, onDragStart, onDragEnd, onNext, onPrevious } = options;\r\n const [isDragging, setIsDragging] = useState(false);\r\n const [dragStart, setDragStart] = useState(0);\r\n const [dragX, setDragX] = useState(0);\r\n const draggedX = useMemo(() => dragStart - dragX, [dragStart, dragX]);\r\n\r\n const handleDragStart = useCallback((e: ReactMouseEvent | ReactTouchEvent) => {\r\n if (draggable) {\r\n onDragStart?.();\r\n if (e.nativeEvent instanceof TouchEvent) {\r\n setDragStart(e.nativeEvent.touches[0].clientX);\r\n setDragX(e.nativeEvent.touches[0].clientX);\r\n } else if (e.nativeEvent instanceof MouseEvent) {\r\n setDragStart(e.nativeEvent.clientX);\r\n setDragX(e.nativeEvent.clientX);\r\n }\r\n setIsDragging(true);\r\n }\r\n }, [draggable, onDragStart]);\r\n\r\n const handleDrag = useCallback((e: ReactMouseEvent | ReactTouchEvent) => {\r\n if (draggable && isDragging) {\r\n if (e.nativeEvent instanceof TouchEvent) {\r\n setDragX(e.nativeEvent.touches[0].clientX);\r\n } else if (e.nativeEvent instanceof MouseEvent) {\r\n setDragX(e.nativeEvent.clientX);\r\n }\r\n }\r\n }, [draggable, isDragging]);\r\n\r\n const handleDragEnd = useCallback(() => {\r\n if (draggable && isDragging) {\r\n onDragEnd?.();\r\n setIsDragging(false);\r\n setDragStart(0);\r\n setDragX(0);\r\n \r\n const delta = dragStart - dragX;\r\n \r\n if (delta > 50) {\r\n onNext();\r\n } else if (delta < -50) {\r\n onPrevious();\r\n }\r\n }\r\n }, [draggable, dragStart, dragX, isDragging, onDragEnd, onNext, onPrevious]);\r\n\r\n const draggableEvents = {\r\n onMouseDown: handleDragStart,\r\n onTouchStart: handleDragStart,\r\n onMouseMove: handleDrag,\r\n onTouchMove: handleDrag,\r\n onMouseUp: handleDragEnd,\r\n onTouchEnd: handleDragEnd,\r\n };\r\n\r\n return { draggableEvents, draggedX, isDragging };\r\n}","import { useId } from \"@react-aria/utils\";\r\nimport {\r\n ButtonHTMLAttributes,\r\n FieldsetHTMLAttributes,\r\n HTMLAttributes,\r\n useCallback,\r\n useMemo,\r\n} from \"react\";\r\nimport { applyDefaults } from \"../defaults\";\r\nimport { KarouselOptions } from \"../types\";\r\nimport { useAutoplay } from \"./useAutoplay\";\r\nimport { useDraggable } from \"./useDraggable\";\r\nimport { usePaging } from \"./usePaging\";\r\nimport { useResponsive } from \"./useResponsive\";\r\nimport { useTrack } from \"./useTrack\";\r\n\r\nexport const useKarousel = (\r\n slideCount: number,\r\n options: Partial\r\n) => {\r\n // Ensure unique id.\r\n const id = useId();\r\n\r\n // Ensure options are defaulted.\r\n const defaultedOptions = useMemo(() => applyDefaults(options), [options]);\r\n const { classes, speed } = defaultedOptions;\r\n\r\n // Ensure options are responsive.\r\n const { responsiveOptions } = useResponsive(defaultedOptions);\r\n\r\n const { currentPage, goToNext, goToPage, goToPrevious, pageCount } =\r\n usePaging({ ...responsiveOptions, slideCount });\r\n const { pauseTimer, startTimer } = useAutoplay({\r\n ...responsiveOptions,\r\n onNext: goToNext,\r\n });\r\n const { draggableEvents, draggedX, isDragging } = useDraggable({\r\n ...responsiveOptions,\r\n onDragEnd: startTimer,\r\n onDragStart: pauseTimer,\r\n onNext: goToNext,\r\n onPrevious: goToPrevious,\r\n });\r\n const { activeSlides, trackOffset, trackWidth } = useTrack({\r\n ...responsiveOptions,\r\n currentPage,\r\n draggedX,\r\n pageCount,\r\n slideCount,\r\n });\r\n\r\n const getContainerProps = useCallback(\r\n (): HTMLAttributes => ({\r\n \"aria-live\": \"polite\",\r\n id,\r\n className: responsiveOptions.draggable\r\n ? classes?.karouselContainer\r\n : classes?.gridContainer,\r\n }),\r\n [classes]\r\n );\r\n\r\n const getSliderProps = useCallback(\r\n (): HTMLAttributes => ({\r\n className: classes?.carousel,\r\n style: { overflow: \"hidden\" },\r\n }),\r\n [classes]\r\n );\r\n\r\n const getTrackProps = useCallback(\r\n (): HTMLAttributes => ({\r\n ...draggableEvents,\r\n className: classes?.track,\r\n style: {\r\n display: \"flex\",\r\n listStyle: \"none\",\r\n margin: 0,\r\n padding: 0,\r\n transform: `translateX(${trackOffset})`,\r\n transition: !isDragging\r\n ? `transform ${speed}ms ease-in-out`\r\n : undefined,\r\n width: trackWidth,\r\n },\r\n }),\r\n [\r\n classes,\r\n isDragging,\r\n speed,\r\n trackOffset,\r\n trackWidth,\r\n responsiveOptions.draggable,\r\n ]\r\n );\r\n\r\n const getSlideProps = useCallback(\r\n (slide: number): HTMLAttributes => {\r\n const isActive = activeSlides.includes(slide);\r\n return {\r\n \"aria-hidden\": !isActive,\r\n className: [\r\n classes?.slide,\r\n responsiveOptions.draggable && !isActive && classes?.slideInactive,\r\n ]\r\n .filter(Boolean)\r\n .join(\" \"),\r\n style: { width: \"100%\" },\r\n };\r\n },\r\n [activeSlides, classes, responsiveOptions.draggable]\r\n );\r\n\r\n const getControlProps = useCallback(\r\n (): FieldsetHTMLAttributes => ({\r\n \"aria-controls\": id,\r\n \"aria-label\": \"carousel buttons\",\r\n className: classes?.controls,\r\n disabled: !responsiveOptions.draggable,\r\n }),\r\n [classes, responsiveOptions.draggable]\r\n );\r\n\r\n const getButtonProps = useCallback(\r\n (\r\n direction: \"next\" | \"previous\"\r\n ): ButtonHTMLAttributes => ({\r\n \"aria-label\": direction === \"next\" ? \"next slide\" : \"previous slide\",\r\n className: [\r\n classes?.button,\r\n direction === \"next\" ? classes?.buttonNext : classes?.buttonPrevious,\r\n ]\r\n .filter(Boolean)\r\n .join(\" \"),\r\n onClick: direction === \"next\" ? goToNext : goToPrevious,\r\n type: \"button\",\r\n disabled:\r\n direction === \"next\" ? currentPage === pageCount : currentPage === 1,\r\n }),\r\n [classes, goToNext, goToPrevious]\r\n );\r\n\r\n const getIndicatorProps = useCallback(\r\n (page: number): ButtonHTMLAttributes => ({\r\n \"aria-label\": page.toString(),\r\n className: [\r\n classes?.indicator,\r\n page === currentPage && classes?.indicatorActive,\r\n ]\r\n .filter(Boolean)\r\n .join(\" \"),\r\n onClick: () => goToPage(page),\r\n type: \"button\",\r\n }),\r\n [classes, currentPage, goToPage]\r\n );\r\n\r\n return {\r\n getButtonProps,\r\n getContainerProps,\r\n getControlProps,\r\n getIndicatorProps,\r\n getSlideProps,\r\n getSliderProps,\r\n getTrackProps,\r\n pageCount,\r\n indicators: responsiveOptions.indicators,\r\n buttons: responsiveOptions.buttons\r\n };\r\n};\r\n","import { useCallback, useMemo, useState } from \"react\";\r\nimport { PagingOptions } from \"../types\";\r\n\r\nexport const usePaging = (options: PagingOptions) => {\r\n const { slideCount, slidesToScroll, slidesToShow } = options;\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const pageCount = useMemo(\r\n () => 1 + Math.ceil((slideCount - slidesToShow) / slidesToScroll),\r\n [slideCount, slidesToScroll, slidesToShow]\r\n );\r\n const goToPage = useCallback(\r\n (page: number) => {\r\n if (page < 1) setCurrentPage(pageCount);\r\n else if (page > pageCount) setCurrentPage(1);\r\n else setCurrentPage(page);\r\n },\r\n [pageCount]\r\n );\r\n const goToPrevious = useCallback(\r\n () => goToPage(currentPage - 1),\r\n [currentPage, goToPage]\r\n );\r\n const goToNext = useCallback(\r\n () => goToPage(currentPage + 1),\r\n [currentPage, goToPage]\r\n );\r\n\r\n return {\r\n currentPage,\r\n goToPage,\r\n setCurrentPage,\r\n goToPrevious,\r\n goToNext,\r\n pageCount,\r\n };\r\n};\r\n","import { useCallback, useLayoutEffect, useMemo, useState } from \"react\";\r\nimport { ResponsiveKarouselOptions, ResponsiveOptions } from \"../types\";\r\n\r\nexport const useResponsive = (options: ResponsiveOptions) => {\r\n if (typeof window === \"undefined\") return { responsiveOptions: options };\r\n\r\n const { responsive } = options;\r\n\r\n const responsiveWithMQL = useMemo(() => {\r\n const sortedResponsive = responsive\r\n .slice()\r\n .sort((a, b) => b.breakpoint - a.breakpoint);\r\n return sortedResponsive.map((instance) => ({\r\n ...instance,\r\n mql: window.matchMedia(`(min-width: ${instance.breakpoint}px)`),\r\n }));\r\n }, [responsive]);\r\n\r\n const getMatchedOptions = useCallback(\r\n () => responsiveWithMQL.find((instance) => instance.mql.matches)?.options,\r\n [responsiveWithMQL]\r\n );\r\n\r\n const [matchedOptions, setMatchedOptions] = useState<\r\n ResponsiveKarouselOptions | undefined\r\n >(getMatchedOptions);\r\n const responsiveOptions = useMemo(\r\n () => ({ ...options, ...(matchedOptions || {}) }),\r\n [matchedOptions, options]\r\n );\r\n\r\n useLayoutEffect(() => {\r\n const handler = () => setMatchedOptions(getMatchedOptions);\r\n responsiveWithMQL.forEach((instance) =>\r\n instance.mql.addEventListener(\"change\", handler)\r\n );\r\n return () => {\r\n responsiveWithMQL.forEach((instance) =>\r\n instance.mql.removeEventListener(\"change\", handler)\r\n );\r\n };\r\n }, [getMatchedOptions, responsiveWithMQL]);\r\n\r\n return { responsiveOptions };\r\n};\r\n\r\n// import { useEffect, useMemo, useState } from \"react\";\r\n// import { ResponsiveKarouselOptions, ResponsiveOptions } from \"../types\";\r\n\r\n// export const useResponsive = (options: ResponsiveOptions) => {\r\n// const { responsive } = options;\r\n// const [matchedOptions, setMatchedOptions] = useState();\r\n// const sortedResponsive = useMemo(() => responsive.slice().sort((a, b) => b.breakpoint - a.breakpoint), [responsive]);\r\n// const responsiveOptions = useMemo(() => ({ ...options, ...(matchedOptions || {}) }), [matchedOptions, options]);\r\n\r\n// useEffect(() => {\r\n// const responsiveWithMQL = sortedResponsive.map(instance => ({ ...instance, mql: window.matchMedia(`(min-width: ${instance.breakpoint}px)`) }));\r\n// const handler = () => setMatchedOptions(responsiveWithMQL.find(instance => instance.mql.matches)?.options);\r\n// handler();\r\n// responsiveWithMQL.forEach(instance => instance.mql?.addEventListener('change', handler));\r\n// return () => {\r\n// responsiveWithMQL.forEach(instance => instance.mql?.addEventListener('change', handler));\r\n// }\r\n// }, [sortedResponsive]);\r\n\r\n// return { responsiveOptions };\r\n// }\r\n","import { useMemo } from \"react\";\r\nimport { TrackOptions } from \"../types\";\r\n\r\nexport const useTrack = (options: TrackOptions) => {\r\n const {\r\n currentPage,\r\n draggedX,\r\n pageCount,\r\n slideCount,\r\n slidesToScroll,\r\n slidesToShow,\r\n } = options;\r\n const trackWidth = useMemo(\r\n () => `${(100 * slideCount) / slidesToShow}%`,\r\n [slideCount, slidesToShow]\r\n );\r\n const slideIndex = useMemo(\r\n () => (currentPage - 1) * slidesToScroll,\r\n [currentPage, slidesToScroll]\r\n );\r\n const slidePush = useMemo(\r\n () =>\r\n currentPage === pageCount ? slidesToShow - (slideCount - slideIndex) : 0,\r\n [currentPage, pageCount, slideCount, slideIndex, slidesToShow]\r\n );\r\n const activeSlides = useMemo(\r\n () =>\r\n Array.from(\r\n { length: slidesToShow },\r\n (_, index) => slideIndex - Math.floor(slidePush) + index + 1\r\n ),\r\n [slideIndex, slidePush, slidesToShow]\r\n );\r\n const trackOffset = useMemo(\r\n () =>\r\n `calc(${\r\n ((slideIndex - slidePush) * -100) / slideCount\r\n }% - ${draggedX}px)`,\r\n [slideIndex, slidePush, slideCount, draggedX]\r\n );\r\n\r\n return { activeSlides, trackOffset, trackWidth };\r\n};\r\n","import React, { Children, PropsWithChildren, useMemo } from \"react\";\r\nimport { useKarousel } from \"./hooks\";\r\nimport { KarouselOptions } from \"./types\";\r\n\r\nexport type KarouselProps = PropsWithChildren> & {\r\n animationDisabled: boolean;\r\n};\r\n\r\nexport const Karousel = (props: KarouselProps) => {\r\n const { children, animationDisabled, ...options } = props;\r\n const { classes } = options;\r\n const slideCount = useMemo(() => Children.count(children), [children]);\r\n\r\n const {\r\n getButtonProps,\r\n getContainerProps,\r\n getControlProps,\r\n getIndicatorProps,\r\n getSlideProps,\r\n getSliderProps,\r\n getTrackProps,\r\n pageCount,\r\n indicators,\r\n buttons\r\n } = useKarousel(slideCount, options);\r\n\r\n return (\r\n
\r\n \r\n
    \r\n {Children.map(children, (child, index) => (\r\n // eslint-disable-next-line react/no-array-index-key\r\n
  • \r\n {child}\r\n
  • \r\n ))}\r\n
\r\n
\r\n
\r\n {buttons && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n {indicators && (\r\n
\r\n { pageCount > 0 && [...Array(pageCount)]?.map((_, index) => (\r\n \r\n {/* {index + 1} */}\r\n \r\n ))}\r\n
\r\n )}\r\n
\r\n \r\n );\r\n};\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.j = 423;","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t423: 0,\n\t272: 0,\n\t275: 0,\n\t609: 0,\n\t952: 0,\n\t278: 0,\n\t62: 0,\n\t195: 0,\n\t785: 0,\n\t274: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkSanDiegoHealth_Web\"] = self[\"webpackChunkSanDiegoHealth_Web\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [637], () => (__webpack_require__(5916)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","$704cf1d3b684cc5c$var$defaultContext","prefix","String","Math","round","random","current","$704cf1d3b684cc5c$var$SSRContext","$704cf1d3b684cc5c$var$canUseDOM","Boolean","window","document","createElement","$f0a04ccd8dbdd83b$export$e5c5a5f917a5871c","$bdb11010cef70236$var$idsUpdaterMap","Map","$bdb11010cef70236$export$f680877a34711e37","defaultId","value","setValue","nextId","res","ctx","console","warn","updateValue","val","set","r","delete","newId","Set","$bbed8b41f857bcc0$var$transitionsByElement","$bbed8b41f857bcc0$var$transitionCallbacks","$bbed8b41f857bcc0$var$setupGlobalEvents","onTransitionEnd","e","properties","get","target","propertyName","size","removeEventListener","cb","clear","body","addEventListener","transitions","add","readyState","visualViewport","getOwnPropertySymbols","Object","hasOwnProperty","prototype","propIsEnumerable","propertyIsEnumerable","toObject","TypeError","module","exports","assign","test1","getOwnPropertyNames","test2","i","fromCharCode","map","n","join","test3","split","forEach","letter","keys","err","shouldUseNative","source","from","symbols","to","s","arguments","length","key","call","f","g","h","k","performance","now","l","unstable_now","p","Date","q","MessageChannel","t","u","w","a","b","setTimeout","clearTimeout","unstable_shouldYield","unstable_forceFrameRate","x","y","z","cancelAnimationFrame","requestAnimationFrame","error","A","B","C","D","E","floor","F","G","port2","port1","onmessage","postMessage","H","c","push","d","I","J","K","pop","m","v","sortIndex","id","L","M","N","O","P","Q","R","S","T","callback","startTime","expirationTime","U","V","priorityLevel","W","unstable_IdlePriority","unstable_ImmediatePriority","unstable_LowPriority","unstable_NormalPriority","unstable_Profiling","unstable_UserBlockingPriority","unstable_cancelCallback","unstable_continueExecution","unstable_getCurrentPriorityLevel","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_requestPaint","unstable_runWithPriority","unstable_scheduleCallback","delay","unstable_wrapCallback","apply","this","SelectorSet","uid","selectors","selectorObjects","indexes","create","activeIndexes","docElem","documentElement","matches","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","matchesSelector","el","selector","querySelectorAll","context","idRe","name","sel","match","slice","element","classRe","className","baseVal","tagRe","toUpperCase","nodeName","chunker","parseSelectorIndexes","allIndexes","j","dup","index","allIndexesLen","concat","rest","exec","findByPrototype","ary","proto","len","item","isPrototypeOf","sortById","logDefaultIndexUsed","data","obj","indexProto","objs","selectorIndexes","selectorIndex","remove","selIndex","removedIds","removeAll","splice","queryAll","len2","results","els","elements","sort","len3","matchedIds","observer","queue","scheduleBatch","calls","processBatchQueue","callsCopy","_len","args","Array","_key","scheduleMacroTask","MutationObserver","handleMutations","observe","attributes","setAttribute","callbacks","initMap","WeakMap","initializerMap","subscriptionMap","addMap","applyChanges","selectorObserver","changes","change","type","ADD","runInit","runAdd","REMOVE","runRemove","REMOVE_ALL","runRemoveAll","observers","elementConstructor","initIds","indexOf","initializer","initialize","undefined","initializers","addIds","subscribe","subscription","subscriptions","unsubscribe","ids","innerHTMLReplacementIsBuggy","supportsSelectorMatching","node","handleMutations$1","mutations","mutation","addNodes","addedNodes","removeNodes","removedNodes","revalidateObservers","appendChild","innerHTML","parentNode","detectInnerHTMLReplacementBuggy","ownerDocument","revalidateOrphanedElements","nodes","selectorSet","matches2","_j","_matches2$_j","_data","descendants","_i","_typeof","Symbol","iterator","constructor","SelectorObserver","rootNode","nodeType","mutationObserver","handleRootMutations","bind","_scheduleAddRootNodes","addRootNodes","_handleThrottledChangedTargets","handleChangedTargets","handleChangeEvents","whenReady","onReady","childList","subtree","event","inputs","input","form","revalidateInputObservers","disconnect","handlers","self","defaultView","Element","abort","_abortObserving","triggerObservers","container","revalidateDescendantObservers","documentObserver","getDocumentObserver","HeroCarousel","props","title","description","ctaLabel","ctaUrl","ctaTarget","imageUrl","imageAlt","href","alt","src","dangerouslySetInnerHTML","__html","HeroCarouselItems","disableAnimation","cards","karouselOptions","buttons","classes","draggable","indicators","responsive","breakpoint","options","slidesToShow","slidesToScroll","animationDisabled","card","_getDocumentObserver","dataset","propsId","componentData","ucsdh","render","DefaultOptions","autoplay","autoplaySpeed","speed","applyDefaults","DefaultClasses","karouselContainer","gridContainer","carousel","track","slide","slideInactive","controls","button","buttonNext","buttonPrevious","indicator","indicatorActive","useAutoplay","onNext","autoplayTimer","useRef","pauseTimer","useCallback","clearInterval","startTimer","setInterval","useEffect","timeoutTimer","useDraggable","onDragStart","onDragEnd","onPrevious","isDragging","setIsDragging","useState","dragStart","setDragStart","dragX","setDragX","draggedX","useMemo","handleDragStart","nativeEvent","TouchEvent","touches","clientX","MouseEvent","handleDrag","handleDragEnd","delta","draggableEvents","onMouseDown","onTouchStart","onMouseMove","onTouchMove","onMouseUp","onTouchEnd","useKarousel","slideCount","defaultedOptions","responsiveOptions","currentPage","goToNext","goToPage","goToPrevious","pageCount","activeSlides","trackOffset","trackWidth","getContainerProps","getSliderProps","style","overflow","getTrackProps","display","listStyle","margin","padding","transform","transition","width","getSlideProps","isActive","includes","filter","getControlProps","disabled","getButtonProps","direction","onClick","getIndicatorProps","page","toString","usePaging","setCurrentPage","ceil","useResponsive","responsiveWithMQL","instance","mql","matchMedia","getMatchedOptions","find","matchedOptions","setMatchedOptions","useLayoutEffect","handler","useTrack","slideIndex","slidePush","_","Karousel","children","Children","child","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","result","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","every","definition","o","defineProperty","enumerable","prop","toStringTag","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}