{"ast":null,"code":"\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useEvent } from 'rc-util';\nimport scrollIntoView from 'scroll-into-view-if-needed';\nimport getScroll from '../_util/getScroll';\nimport scrollTo from '../_util/scrollTo';\nimport { devUseWarning } from '../_util/warning';\nimport Affix from '../affix';\nimport { ConfigContext } from '../config-provider';\nimport AnchorLink from './AnchorLink';\nimport AnchorContext from './context';\nimport useStyle from './style';\nfunction getDefaultContainer() {\n  return window;\n}\nfunction getOffsetTop(element, container) {\n  if (!element.getClientRects().length) {\n    return 0;\n  }\n  const rect = element.getBoundingClientRect();\n  if (rect.width || rect.height) {\n    if (container === window) {\n      container = element.ownerDocument.documentElement;\n      return rect.top - container.clientTop;\n    }\n    return rect.top - container.getBoundingClientRect().top;\n  }\n  return rect.top;\n}\nconst sharpMatcherRegex = /#([\\S ]+)$/;\nconst AnchorContent = props => {\n  var _a;\n  const {\n    rootClassName,\n    anchorPrefixCls: prefixCls,\n    className,\n    style,\n    offsetTop,\n    affix = true,\n    showInkInFixed = false,\n    children,\n    items,\n    direction: anchorDirection = 'vertical',\n    bounds,\n    targetOffset,\n    onClick,\n    onChange,\n    getContainer,\n    getCurrentAnchor,\n    replace\n  } = props;\n  // =================== Warning =====================\n  if (process.env.NODE_ENV !== 'production') {\n    const warning = devUseWarning('Anchor');\n    warning.deprecated(!children, 'Anchor children', 'items');\n    process.env.NODE_ENV !== \"production\" ? warning(!(anchorDirection === 'horizontal' && (items === null || items === void 0 ? void 0 : items.some(n => 'children' in n))), 'usage', '`Anchor items#children` is not supported when `Anchor` direction is horizontal.') : void 0;\n  }\n  const [links, setLinks] = React.useState([]);\n  const [activeLink, setActiveLink] = React.useState(null);\n  const activeLinkRef = React.useRef(activeLink);\n  const wrapperRef = React.useRef(null);\n  const spanLinkNode = React.useRef(null);\n  const animating = React.useRef(false);\n  const {\n    direction,\n    getTargetContainer,\n    anchor\n  } = React.useContext(ConfigContext);\n  const getCurrentContainer = (_a = getContainer !== null && getContainer !== void 0 ? getContainer : getTargetContainer) !== null && _a !== void 0 ? _a : getDefaultContainer;\n  const dependencyListItem = JSON.stringify(links);\n  const registerLink = useEvent(link => {\n    if (!links.includes(link)) {\n      setLinks(prev => [].concat(_toConsumableArray(prev), [link]));\n    }\n  });\n  const unregisterLink = useEvent(link => {\n    if (links.includes(link)) {\n      setLinks(prev => prev.filter(i => i !== link));\n    }\n  });\n  const updateInk = () => {\n    var _a;\n    const linkNode = (_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.querySelector(`.${prefixCls}-link-title-active`);\n    if (linkNode && spanLinkNode.current) {\n      const {\n        style: inkStyle\n      } = spanLinkNode.current;\n      const horizontalAnchor = anchorDirection === 'horizontal';\n      inkStyle.top = horizontalAnchor ? '' : `${linkNode.offsetTop + linkNode.clientHeight / 2}px`;\n      inkStyle.height = horizontalAnchor ? '' : `${linkNode.clientHeight}px`;\n      inkStyle.left = horizontalAnchor ? `${linkNode.offsetLeft}px` : '';\n      inkStyle.width = horizontalAnchor ? `${linkNode.clientWidth}px` : '';\n      if (horizontalAnchor) {\n        scrollIntoView(linkNode, {\n          scrollMode: 'if-needed',\n          block: 'nearest'\n        });\n      }\n    }\n  };\n  const getInternalCurrentAnchor = function (_links) {\n    let _offsetTop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n    let _bounds = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 5;\n    const linkSections = [];\n    const container = getCurrentContainer();\n    _links.forEach(link => {\n      const sharpLinkMatch = sharpMatcherRegex.exec(link === null || link === void 0 ? void 0 : link.toString());\n      if (!sharpLinkMatch) {\n        return;\n      }\n      const target = document.getElementById(sharpLinkMatch[1]);\n      if (target) {\n        const top = getOffsetTop(target, container);\n        if (top < _offsetTop + _bounds) {\n          linkSections.push({\n            link,\n            top\n          });\n        }\n      }\n    });\n    if (linkSections.length) {\n      const maxSection = linkSections.reduce((prev, curr) => curr.top > prev.top ? curr : prev);\n      return maxSection.link;\n    }\n    return '';\n  };\n  const setCurrentActiveLink = useEvent(link => {\n    // FIXME: Seems a bug since this compare is not equals\n    // `activeLinkRef` is parsed value which will always trigger `onChange` event.\n    if (activeLinkRef.current === link) {\n      return;\n    }\n    // https://github.com/ant-design/ant-design/issues/30584\n    const newLink = typeof getCurrentAnchor === 'function' ? getCurrentAnchor(link) : link;\n    setActiveLink(newLink);\n    activeLinkRef.current = newLink;\n    // onChange should respect the original link (which may caused by\n    // window scroll or user click), not the new link\n    onChange === null || onChange === void 0 ? void 0 : onChange(link);\n  });\n  const handleScroll = React.useCallback(() => {\n    if (animating.current) {\n      return;\n    }\n    const currentActiveLink = getInternalCurrentAnchor(links, targetOffset !== undefined ? targetOffset : offsetTop || 0, bounds);\n    setCurrentActiveLink(currentActiveLink);\n  }, [dependencyListItem, targetOffset, offsetTop]);\n  const handleScrollTo = React.useCallback(link => {\n    setCurrentActiveLink(link);\n    const sharpLinkMatch = sharpMatcherRegex.exec(link);\n    if (!sharpLinkMatch) {\n      return;\n    }\n    const targetElement = document.getElementById(sharpLinkMatch[1]);\n    if (!targetElement) {\n      return;\n    }\n    const container = getCurrentContainer();\n    const scrollTop = getScroll(container, true);\n    const eleOffsetTop = getOffsetTop(targetElement, container);\n    let y = scrollTop + eleOffsetTop;\n    y -= targetOffset !== undefined ? targetOffset : offsetTop || 0;\n    animating.current = true;\n    scrollTo(y, {\n      getContainer: getCurrentContainer,\n      callback() {\n        animating.current = false;\n      }\n    });\n  }, [targetOffset, offsetTop]);\n  const wrapperClass = classNames(rootClassName, `${prefixCls}-wrapper`, {\n    [`${prefixCls}-wrapper-horizontal`]: anchorDirection === 'horizontal',\n    [`${prefixCls}-rtl`]: direction === 'rtl'\n  }, className, anchor === null || anchor === void 0 ? void 0 : anchor.className);\n  const anchorClass = classNames(prefixCls, {\n    [`${prefixCls}-fixed`]: !affix && !showInkInFixed\n  });\n  const inkClass = classNames(`${prefixCls}-ink`, {\n    [`${prefixCls}-ink-visible`]: activeLink\n  });\n  const wrapperStyle = Object.assign(Object.assign({\n    maxHeight: offsetTop ? `calc(100vh - ${offsetTop}px)` : '100vh'\n  }, anchor === null || anchor === void 0 ? void 0 : anchor.style), style);\n  const createNestedLink = options => Array.isArray(options) ? options.map(item => /*#__PURE__*/React.createElement(AnchorLink, Object.assign({\n    replace: replace\n  }, item, {\n    key: item.key\n  }), anchorDirection === 'vertical' && createNestedLink(item.children))) : null;\n  const anchorContent = /*#__PURE__*/React.createElement(\"div\", {\n    ref: wrapperRef,\n    className: wrapperClass,\n    style: wrapperStyle\n  }, /*#__PURE__*/React.createElement(\"div\", {\n    className: anchorClass\n  }, /*#__PURE__*/React.createElement(\"span\", {\n    className: inkClass,\n    ref: spanLinkNode\n  }), 'items' in props ? createNestedLink(items) : children));\n  React.useEffect(() => {\n    const scrollContainer = getCurrentContainer();\n    handleScroll();\n    scrollContainer === null || scrollContainer === void 0 ? void 0 : scrollContainer.addEventListener('scroll', handleScroll);\n    return () => {\n      scrollContainer === null || scrollContainer === void 0 ? void 0 : scrollContainer.removeEventListener('scroll', handleScroll);\n    };\n  }, [dependencyListItem]);\n  React.useEffect(() => {\n    if (typeof getCurrentAnchor === 'function') {\n      setCurrentActiveLink(getCurrentAnchor(activeLinkRef.current || ''));\n    }\n  }, [getCurrentAnchor]);\n  React.useEffect(() => {\n    updateInk();\n  }, [anchorDirection, getCurrentAnchor, dependencyListItem, activeLink]);\n  const memoizedContextValue = React.useMemo(() => ({\n    registerLink,\n    unregisterLink,\n    scrollTo: handleScrollTo,\n    activeLink,\n    onClick,\n    direction: anchorDirection\n  }), [activeLink, onClick, handleScrollTo, anchorDirection]);\n  return /*#__PURE__*/React.createElement(AnchorContext.Provider, {\n    value: memoizedContextValue\n  }, affix ? /*#__PURE__*/React.createElement(Affix, {\n    offsetTop: offsetTop,\n    target: getCurrentContainer\n  }, anchorContent) : anchorContent);\n};\nconst Anchor = props => {\n  const {\n    prefixCls: customizePrefixCls,\n    rootClassName\n  } = props;\n  const {\n    getPrefixCls\n  } = React.useContext(ConfigContext);\n  const anchorPrefixCls = getPrefixCls('anchor', customizePrefixCls);\n  const [wrapSSR, hashId] = useStyle(anchorPrefixCls);\n  return wrapSSR( /*#__PURE__*/React.createElement(AnchorContent, Object.assign({}, props, {\n    rootClassName: classNames(hashId, rootClassName),\n    anchorPrefixCls: anchorPrefixCls\n  })));\n};\nif (process.env.NODE_ENV !== 'production') {\n  Anchor.displayName = 'Anchor';\n}\nexport default Anchor;","map":{"version":3,"names":["_toConsumableArray","React","classNames","useEvent","scrollIntoView","getScroll","scrollTo","devUseWarning","Affix","ConfigContext","AnchorLink","AnchorContext","useStyle","getDefaultContainer","window","getOffsetTop","element","container","getClientRects","length","rect","getBoundingClientRect","width","height","ownerDocument","documentElement","top","clientTop","sharpMatcherRegex","AnchorContent","props","_a","rootClassName","anchorPrefixCls","prefixCls","className","style","offsetTop","affix","showInkInFixed","children","items","direction","anchorDirection","bounds","targetOffset","onClick","onChange","getContainer","getCurrentAnchor","replace","process","env","NODE_ENV","warning","deprecated","some","n","links","setLinks","useState","activeLink","setActiveLink","activeLinkRef","useRef","wrapperRef","spanLinkNode","animating","getTargetContainer","anchor","useContext","getCurrentContainer","dependencyListItem","JSON","stringify","registerLink","link","includes","prev","concat","unregisterLink","filter","i","updateInk","linkNode","current","querySelector","inkStyle","horizontalAnchor","clientHeight","left","offsetLeft","clientWidth","scrollMode","block","getInternalCurrentAnchor","_links","_offsetTop","arguments","undefined","_bounds","linkSections","forEach","sharpLinkMatch","exec","toString","target","document","getElementById","push","maxSection","reduce","curr","setCurrentActiveLink","newLink","handleScroll","useCallback","currentActiveLink","handleScrollTo","targetElement","scrollTop","eleOffsetTop","y","callback","wrapperClass","anchorClass","inkClass","wrapperStyle","Object","assign","maxHeight","createNestedLink","options","Array","isArray","map","item","createElement","key","anchorContent","ref","useEffect","scrollContainer","addEventListener","removeEventListener","memoizedContextValue","useMemo","Provider","value","Anchor","customizePrefixCls","getPrefixCls","wrapSSR","hashId","displayName"],"sources":["/Users/chrishaack/UC_Trains_Voice/react-demo/node_modules/antd/es/anchor/Anchor.js"],"sourcesContent":["\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useEvent } from 'rc-util';\nimport scrollIntoView from 'scroll-into-view-if-needed';\nimport getScroll from '../_util/getScroll';\nimport scrollTo from '../_util/scrollTo';\nimport { devUseWarning } from '../_util/warning';\nimport Affix from '../affix';\nimport { ConfigContext } from '../config-provider';\nimport AnchorLink from './AnchorLink';\nimport AnchorContext from './context';\nimport useStyle from './style';\nfunction getDefaultContainer() {\n  return window;\n}\nfunction getOffsetTop(element, container) {\n  if (!element.getClientRects().length) {\n    return 0;\n  }\n  const rect = element.getBoundingClientRect();\n  if (rect.width || rect.height) {\n    if (container === window) {\n      container = element.ownerDocument.documentElement;\n      return rect.top - container.clientTop;\n    }\n    return rect.top - container.getBoundingClientRect().top;\n  }\n  return rect.top;\n}\nconst sharpMatcherRegex = /#([\\S ]+)$/;\nconst AnchorContent = props => {\n  var _a;\n  const {\n    rootClassName,\n    anchorPrefixCls: prefixCls,\n    className,\n    style,\n    offsetTop,\n    affix = true,\n    showInkInFixed = false,\n    children,\n    items,\n    direction: anchorDirection = 'vertical',\n    bounds,\n    targetOffset,\n    onClick,\n    onChange,\n    getContainer,\n    getCurrentAnchor,\n    replace\n  } = props;\n  // =================== Warning =====================\n  if (process.env.NODE_ENV !== 'production') {\n    const warning = devUseWarning('Anchor');\n    warning.deprecated(!children, 'Anchor children', 'items');\n    process.env.NODE_ENV !== \"production\" ? warning(!(anchorDirection === 'horizontal' && (items === null || items === void 0 ? void 0 : items.some(n => 'children' in n))), 'usage', '`Anchor items#children` is not supported when `Anchor` direction is horizontal.') : void 0;\n  }\n  const [links, setLinks] = React.useState([]);\n  const [activeLink, setActiveLink] = React.useState(null);\n  const activeLinkRef = React.useRef(activeLink);\n  const wrapperRef = React.useRef(null);\n  const spanLinkNode = React.useRef(null);\n  const animating = React.useRef(false);\n  const {\n    direction,\n    getTargetContainer,\n    anchor\n  } = React.useContext(ConfigContext);\n  const getCurrentContainer = (_a = getContainer !== null && getContainer !== void 0 ? getContainer : getTargetContainer) !== null && _a !== void 0 ? _a : getDefaultContainer;\n  const dependencyListItem = JSON.stringify(links);\n  const registerLink = useEvent(link => {\n    if (!links.includes(link)) {\n      setLinks(prev => [].concat(_toConsumableArray(prev), [link]));\n    }\n  });\n  const unregisterLink = useEvent(link => {\n    if (links.includes(link)) {\n      setLinks(prev => prev.filter(i => i !== link));\n    }\n  });\n  const updateInk = () => {\n    var _a;\n    const linkNode = (_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.querySelector(`.${prefixCls}-link-title-active`);\n    if (linkNode && spanLinkNode.current) {\n      const {\n        style: inkStyle\n      } = spanLinkNode.current;\n      const horizontalAnchor = anchorDirection === 'horizontal';\n      inkStyle.top = horizontalAnchor ? '' : `${linkNode.offsetTop + linkNode.clientHeight / 2}px`;\n      inkStyle.height = horizontalAnchor ? '' : `${linkNode.clientHeight}px`;\n      inkStyle.left = horizontalAnchor ? `${linkNode.offsetLeft}px` : '';\n      inkStyle.width = horizontalAnchor ? `${linkNode.clientWidth}px` : '';\n      if (horizontalAnchor) {\n        scrollIntoView(linkNode, {\n          scrollMode: 'if-needed',\n          block: 'nearest'\n        });\n      }\n    }\n  };\n  const getInternalCurrentAnchor = function (_links) {\n    let _offsetTop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n    let _bounds = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 5;\n    const linkSections = [];\n    const container = getCurrentContainer();\n    _links.forEach(link => {\n      const sharpLinkMatch = sharpMatcherRegex.exec(link === null || link === void 0 ? void 0 : link.toString());\n      if (!sharpLinkMatch) {\n        return;\n      }\n      const target = document.getElementById(sharpLinkMatch[1]);\n      if (target) {\n        const top = getOffsetTop(target, container);\n        if (top < _offsetTop + _bounds) {\n          linkSections.push({\n            link,\n            top\n          });\n        }\n      }\n    });\n    if (linkSections.length) {\n      const maxSection = linkSections.reduce((prev, curr) => curr.top > prev.top ? curr : prev);\n      return maxSection.link;\n    }\n    return '';\n  };\n  const setCurrentActiveLink = useEvent(link => {\n    // FIXME: Seems a bug since this compare is not equals\n    // `activeLinkRef` is parsed value which will always trigger `onChange` event.\n    if (activeLinkRef.current === link) {\n      return;\n    }\n    // https://github.com/ant-design/ant-design/issues/30584\n    const newLink = typeof getCurrentAnchor === 'function' ? getCurrentAnchor(link) : link;\n    setActiveLink(newLink);\n    activeLinkRef.current = newLink;\n    // onChange should respect the original link (which may caused by\n    // window scroll or user click), not the new link\n    onChange === null || onChange === void 0 ? void 0 : onChange(link);\n  });\n  const handleScroll = React.useCallback(() => {\n    if (animating.current) {\n      return;\n    }\n    const currentActiveLink = getInternalCurrentAnchor(links, targetOffset !== undefined ? targetOffset : offsetTop || 0, bounds);\n    setCurrentActiveLink(currentActiveLink);\n  }, [dependencyListItem, targetOffset, offsetTop]);\n  const handleScrollTo = React.useCallback(link => {\n    setCurrentActiveLink(link);\n    const sharpLinkMatch = sharpMatcherRegex.exec(link);\n    if (!sharpLinkMatch) {\n      return;\n    }\n    const targetElement = document.getElementById(sharpLinkMatch[1]);\n    if (!targetElement) {\n      return;\n    }\n    const container = getCurrentContainer();\n    const scrollTop = getScroll(container, true);\n    const eleOffsetTop = getOffsetTop(targetElement, container);\n    let y = scrollTop + eleOffsetTop;\n    y -= targetOffset !== undefined ? targetOffset : offsetTop || 0;\n    animating.current = true;\n    scrollTo(y, {\n      getContainer: getCurrentContainer,\n      callback() {\n        animating.current = false;\n      }\n    });\n  }, [targetOffset, offsetTop]);\n  const wrapperClass = classNames(rootClassName, `${prefixCls}-wrapper`, {\n    [`${prefixCls}-wrapper-horizontal`]: anchorDirection === 'horizontal',\n    [`${prefixCls}-rtl`]: direction === 'rtl'\n  }, className, anchor === null || anchor === void 0 ? void 0 : anchor.className);\n  const anchorClass = classNames(prefixCls, {\n    [`${prefixCls}-fixed`]: !affix && !showInkInFixed\n  });\n  const inkClass = classNames(`${prefixCls}-ink`, {\n    [`${prefixCls}-ink-visible`]: activeLink\n  });\n  const wrapperStyle = Object.assign(Object.assign({\n    maxHeight: offsetTop ? `calc(100vh - ${offsetTop}px)` : '100vh'\n  }, anchor === null || anchor === void 0 ? void 0 : anchor.style), style);\n  const createNestedLink = options => Array.isArray(options) ? options.map(item => /*#__PURE__*/React.createElement(AnchorLink, Object.assign({\n    replace: replace\n  }, item, {\n    key: item.key\n  }), anchorDirection === 'vertical' && createNestedLink(item.children))) : null;\n  const anchorContent = /*#__PURE__*/React.createElement(\"div\", {\n    ref: wrapperRef,\n    className: wrapperClass,\n    style: wrapperStyle\n  }, /*#__PURE__*/React.createElement(\"div\", {\n    className: anchorClass\n  }, /*#__PURE__*/React.createElement(\"span\", {\n    className: inkClass,\n    ref: spanLinkNode\n  }), 'items' in props ? createNestedLink(items) : children));\n  React.useEffect(() => {\n    const scrollContainer = getCurrentContainer();\n    handleScroll();\n    scrollContainer === null || scrollContainer === void 0 ? void 0 : scrollContainer.addEventListener('scroll', handleScroll);\n    return () => {\n      scrollContainer === null || scrollContainer === void 0 ? void 0 : scrollContainer.removeEventListener('scroll', handleScroll);\n    };\n  }, [dependencyListItem]);\n  React.useEffect(() => {\n    if (typeof getCurrentAnchor === 'function') {\n      setCurrentActiveLink(getCurrentAnchor(activeLinkRef.current || ''));\n    }\n  }, [getCurrentAnchor]);\n  React.useEffect(() => {\n    updateInk();\n  }, [anchorDirection, getCurrentAnchor, dependencyListItem, activeLink]);\n  const memoizedContextValue = React.useMemo(() => ({\n    registerLink,\n    unregisterLink,\n    scrollTo: handleScrollTo,\n    activeLink,\n    onClick,\n    direction: anchorDirection\n  }), [activeLink, onClick, handleScrollTo, anchorDirection]);\n  return /*#__PURE__*/React.createElement(AnchorContext.Provider, {\n    value: memoizedContextValue\n  }, affix ? /*#__PURE__*/React.createElement(Affix, {\n    offsetTop: offsetTop,\n    target: getCurrentContainer\n  }, anchorContent) : anchorContent);\n};\nconst Anchor = props => {\n  const {\n    prefixCls: customizePrefixCls,\n    rootClassName\n  } = props;\n  const {\n    getPrefixCls\n  } = React.useContext(ConfigContext);\n  const anchorPrefixCls = getPrefixCls('anchor', customizePrefixCls);\n  const [wrapSSR, hashId] = useStyle(anchorPrefixCls);\n  return wrapSSR( /*#__PURE__*/React.createElement(AnchorContent, Object.assign({}, props, {\n    rootClassName: classNames(hashId, rootClassName),\n    anchorPrefixCls: anchorPrefixCls\n  })));\n};\nif (process.env.NODE_ENV !== 'production') {\n  Anchor.displayName = 'Anchor';\n}\nexport default Anchor;"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}