{"version":3,"file":"452-64500a9be25a0b4581a2.js","mappings":"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","sources":["webpack://example/../node_modules/rsuite/esm/utils/useMount.js","webpack://example/../node_modules/rsuite/esm/utils/useEventListener.js","webpack://example/../node_modules/rsuite/esm/Affix/Affix.js","webpack://example/../node_modules/rsuite/esm/utils/useElementResize.js","webpack://example/../node_modules/rsuite/esm/Affix/index.js"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nvar useMount = function useMount(callback) {\n var mountRef = useRef(callback);\n mountRef.current = callback;\n useEffect(function () {\n var _mountRef$current;\n\n (_mountRef$current = mountRef.current) === null || _mountRef$current === void 0 ? void 0 : _mountRef$current.call(mountRef);\n }, []);\n};\n\nexport default useMount;","import { useEffect } from 'react';\nimport on from 'dom-lib/on';\n/**\n * Attach the event handler directly to the specified DOM element.\n *\n * @param element The target to listen for events on\n * @param event The DOM event name\n * @param handler An event handler\n * @param capture Whether or not to listen during the capture event phase\n */\n\nexport default function useEventListener(eventTarget, event, listener, capture) {\n if (capture === void 0) {\n capture = false;\n }\n\n useEffect(function () {\n var target = typeof eventTarget === 'function' ? eventTarget() : eventTarget;\n var controller = target ? on(target, event, listener, capture) : null;\n return function () {\n controller === null || controller === void 0 ? void 0 : controller.off();\n };\n }, [eventTarget, event, listener, capture]);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport getOffset from 'dom-lib/getOffset';\nimport { mergeRefs, useClassNames, useElementResize, useEventListener, useMount } from '../utils';\n/**\n * Get the layout size and offset of the mount element\n */\n\nfunction useOffset(mountRef) {\n var _useState = useState(null),\n offset = _useState[0],\n setOffset = _useState[1];\n\n var updateOffset = useCallback(function () {\n setOffset(getOffset(mountRef.current));\n }, [mountRef]); // Update after the element size changes\n\n useElementResize(function () {\n return mountRef.current;\n }, updateOffset); // Initialize after the first render\n\n useMount(updateOffset); // Update after window size changes\n\n useEventListener(window, 'resize', updateOffset, false);\n return offset;\n}\n/**\n * Get the layout size and offset of the container element\n * @param container\n */\n\n\nfunction useContainerOffset(container) {\n var _useState2 = useState(null),\n offset = _useState2[0],\n setOffset = _useState2[1];\n\n useEffect(function () {\n var node = typeof container === 'function' ? container() : container;\n setOffset(node ? getOffset(node) : null);\n }, [container]);\n return offset;\n}\n/**\n * Check whether the current element should be in a fixed state.\n * @param offset\n * @param containerOffset\n * @param props\n */\n\n\nfunction useFixed(offset, containerOffset, props) {\n var top = props.top,\n onChange = props.onChange;\n\n var _useState3 = useState(false),\n fixed = _useState3[0],\n setFixed = _useState3[1];\n\n var handleScroll = useCallback(function () {\n if (!offset) {\n return;\n }\n\n var scrollY = window.scrollY || window.pageYOffset; // When the scroll distance exceeds the element's top value, it is fixed.\n\n var nextFixed = scrollY - (Number(offset.top) - Number(top)) >= 0; // If the current element is specified in the container,\n // add to determine whether the current container is in the window range.\n\n if (containerOffset) {\n nextFixed = nextFixed && scrollY < Number(containerOffset.top) + Number(containerOffset.height);\n }\n\n if (nextFixed !== fixed) {\n setFixed(nextFixed);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextFixed);\n }\n }, [fixed, offset, containerOffset, onChange, top]); // Add scroll event to window\n\n useEventListener(window, 'scroll', handleScroll, false);\n return fixed;\n}\n\nvar Affix = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _merge;\n\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'affix' : _props$classPrefix,\n className = props.className,\n children = props.children,\n container = props.container,\n _props$top = props.top,\n top = _props$top === void 0 ? 0 : _props$top,\n onChange = props.onChange,\n rest = _objectWithoutPropertiesLoose(props, [\"as\", \"classPrefix\", \"className\", \"children\", \"container\", \"top\", \"onChange\"]);\n\n var mountRef = useRef(null);\n var offset = useOffset(mountRef);\n var containerOffset = useContainerOffset(container);\n var fixed = useFixed(offset, containerOffset, {\n top: top,\n onChange: onChange\n });\n\n var _useClassNames = useClassNames(classPrefix),\n withClassPrefix = _useClassNames.withClassPrefix,\n merge = _useClassNames.merge;\n\n var classes = merge(className, (_merge = {}, _merge[withClassPrefix()] = fixed, _merge));\n var placeholderStyles = fixed ? {\n width: offset === null || offset === void 0 ? void 0 : offset.width,\n height: offset === null || offset === void 0 ? void 0 : offset.height\n } : undefined;\n var fixedStyles = {\n position: 'fixed',\n top: top,\n width: offset === null || offset === void 0 ? void 0 : offset.width,\n zIndex: 10\n };\n var affixStyles = fixed ? fixedStyles : undefined;\n return /*#__PURE__*/React.createElement(Component, _extends({}, rest, {\n ref: mergeRefs(mountRef, ref)\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: classes,\n style: affixStyles\n }, children), fixed && /*#__PURE__*/React.createElement(\"div\", {\n \"aria-hidden\": true,\n style: placeholderStyles\n }));\n});\nAffix.displayName = 'Affix';\nexport default Affix;","import { useEffect, useRef } from 'react';\nimport { ResizeObserver } from '@juggle/resize-observer';\n/**\n * Attach the event handler directly to the specified DOM element,\n * and it will be triggered when the size of the DOM element is changed.\n *\n * @param eventTarget The target to listen for events on\n * @param listener An event handler\n */\n\nexport default function useElementResize(eventTarget, listener) {\n var resizeObserver = useRef();\n useEffect(function () {\n if (!resizeObserver.current) {\n var target = typeof eventTarget === 'function' ? eventTarget() : eventTarget;\n\n if (target) {\n resizeObserver.current = new ResizeObserver(listener);\n resizeObserver.current.observe(target);\n }\n }\n\n return function () {\n var _resizeObserver$curre;\n\n (_resizeObserver$curre = resizeObserver.current) === null || _resizeObserver$curre === void 0 ? void 0 : _resizeObserver$curre.disconnect();\n };\n }, [eventTarget, listener]);\n}","import Affix from './Affix';\nexport default Affix;"],"names":["callback","mountRef","useRef","current","useEffect","_mountRef$current","call","useEventListener","eventTarget","event","listener","capture","target","controller","on","off","useOffset","resizeObserver","_useState","useState","offset","setOffset","updateOffset","useCallback","getOffset","observe","_resizeObserver$curre","disconnect","window","Affix","props","ref","_merge","_props$as","as","Component","_props$classPrefix","classPrefix","className","children","container","_props$top","top","onChange","rest","containerOffset","_useState2","node","useContainerOffset","fixed","_useState3","setFixed","handleScroll","scrollY","pageYOffset","nextFixed","Number","height","useFixed","_useClassNames","useClassNames","withClassPrefix","classes","merge","placeholderStyles","width","undefined","fixedStyles","position","zIndex","affixStyles","mergeRefs","style","displayName"],"sourceRoot":""}