{
  "version": 3,
  "sources": ["../../../../../../owl-nest/common/project-manager-nav/src/constants.ts", "../../../../../../owl-nest/common/project-manager-nav/src/ResponsiveMenu.tsx"],
  "sourcesContent": ["export const PM_MENU_RAW_WIDTH = 228\nexport const PM_MENU_WIDTH = `${PM_MENU_RAW_WIDTH}px`\n", "import * as React from 'react'\nimport styled, { css, createGlobalStyle } from 'styled-components'\n\nimport * as hooks from '@owl-nest/hooks'\nimport * as plume from '@ulule/owl-kit-components/next'\nimport { t } from '@owl-nest/localize'\nimport { scroll } from '@owl-nest/utils'\n\nimport { PM_MENU_WIDTH } from './constants'\n\ntype ResponsiveMenuProps = {\n  className?: string\n  labelMargin: number\n  closedMenuHeight: number\n  children: React.ComponentType<{\n    setActiveTopPosition: (top: number) => void\n    isMobileNavOpen: boolean\n    containerRef: React.RefObject<HTMLElement>\n  }>\n  mobileBreakpoint?: string\n}\n\n//TODO: This component was extracted from\n// `frontend/owl-nest/common/project-manager-nav/src/NavMenu.tsx` The\n// `ResponsiveMenu` component handles the \"transformation\" of the menu in an\n// animated dropdown in mobile. Since the `backer-backoffice` feature needed the\n// same behavior, the component was extracted. But to limit the impact on the\n// existing `NavMenu` its code was not changed to use `ResponsiveMenu`. If you\n// change anything in `ResponsiveMenu`, remember to port the modification back\n// in `NavMenu`\nexport function ResponsiveMenu({\n  className,\n  labelMargin,\n  closedMenuHeight,\n  children: Content,\n  mobileBreakpoint,\n}: ResponsiveMenuProps) {\n  const height = hooks.use100vh()\n  const breakpoint = mobileBreakpoint ?? plume.BREAKPOINTS.TABLET\n\n  const elementMeasuresRef = React.useRef<{ top: number; id: string; isActive?: boolean }[]>([])\n\n  const isClientSide = hooks.useClientSide()\n  const previousLocation = hooks.usePrevious(isClientSide ? window.location.href : '')\n  plume.hooks.useIsoLayoutEffect(() => {\n    if (isClientSide && previousLocation !== window.location.href) {\n      setMobileNavAsOpen(false)\n    }\n\n    return () => {\n      elementMeasuresRef.current = []\n    }\n  })\n\n  const wrapperMeasureRef = React.useRef<{ height?: number; top: number }>({ top: 0 })\n  const wrapperRef = React.useRef<HTMLDivElement>(null)\n  const [closedMobileScroll, setClosedMobileScroll] = React.useState(0)\n\n  const [isMobileNavOpen, setMobileNavAsOpen] = React.useState(false)\n\n  const isDesktop = hooks.useDramaticallyInefficientMediaQuery(breakpoint)\n  const [enableTransition, setEnableTransition] = React.useState(false)\n\n  plume.hooks.useIsoLayoutEffect(() => {\n    setTimeout(() => setEnableTransition(!isDesktop), 0)\n  }, [isDesktop, closedMobileScroll])\n\n  React.useEffect(() => {\n    if (isDesktop) {\n      setMobileNavAsOpen(false)\n    }\n  }, [isDesktop])\n\n  // On ne peut pas utiliser le positionnement sticky du a la structure de la page projet,\n  // c'est pourquoi on regarde aussi la position du footer\n  const $contentRef = React.useRef<HTMLElement>(null)\n  const $footerRef = React.useRef(typeof window !== 'undefined' ? document.querySelector('.b-footer') : null)\n  const isIntersecting = hooks.useIsIntersecting($contentRef, { threshold: 0 }, true)\n  const isIntersectingFooter = hooks.useIsIntersecting($footerRef, { threshold: 0 }, true)\n\n  return (\n    <Overlay\n      className={className}\n      height={height}\n      openMobile={isMobileNavOpen}\n      breakpoint={breakpoint}\n      onClick={() => {\n        if (wrapperRef.current) {\n          wrapperRef.current.scrollTo({\n            top: 0,\n            behavior: 'smooth',\n          })\n        }\n      }}\n    >\n      <MobileContainer\n        closedMenuHeight={closedMenuHeight}\n        labelMargin={labelMargin}\n        enableTransition={enableTransition}\n        openMobile={isMobileNavOpen}\n        breakpoint={breakpoint}\n      >\n        <Wrapper\n          breakpoint={breakpoint}\n          height={wrapperMeasureRef.current.height}\n          closedMenuHeight={closedMenuHeight}\n          enableTransition={enableTransition}\n          ref={(element) => {\n            if (element instanceof HTMLDivElement) {\n              const { top, height } = element.getBoundingClientRect()\n              wrapperMeasureRef.current.top = top\n              wrapperMeasureRef.current.height = wrapperMeasureRef.current.height ?? height\n              ;(wrapperRef as any).current = element\n            }\n          }}\n          scroll={closedMobileScroll}\n          openMobile={isMobileNavOpen}\n          onClickCapture={(event) => {\n            if (!hooks.matchQuery(breakpoint) && !isMobileNavOpen) {\n              event.stopPropagation()\n              event.preventDefault()\n              setMobileNavAsOpen(true)\n            }\n          }}\n        >\n          <Content\n            containerRef={$contentRef}\n            setActiveTopPosition={(top) => {\n              const wrapperMeasure = wrapperMeasureRef.current\n              setClosedMobileScroll(top - wrapperMeasure.top - labelMargin)\n            }}\n            isMobileNavOpen={isMobileNavOpen}\n          />\n        </Wrapper>\n        {!isDesktop && (\n          <CloseButton openMobile={isMobileNavOpen} onClick={() => setMobileNavAsOpen(false)}>\n            <plume.styles.heading.XXXXXS>\n              {t('Close menu')}\n              <plume.glyphs.stroke.CaretUp size={10} />\n            </plume.styles.heading.XXXXXS>\n          </CloseButton>\n        )}\n        {isMobileNavOpen && !isDesktop && <GlobalStyleLockBody height={height} />}\n        <plume.glyphs.stroke.BurgerMenu size={16} />\n        <BackToTop\n          breakpoint={breakpoint}\n          withIcon={true}\n          onClick={() => {\n            scroll.animatedScrollTo(0, 150)\n          }}\n          isIntersecting={isIntersecting}\n          isIntersectingFooter={isIntersectingFooter}\n        >\n          <plume.glyphs.stroke.ArrowRight size={13} />\n          {t('Back to top')}\n        </BackToTop>\n      </MobileContainer>\n      <MobileBorder breakpoint={breakpoint} closedMenuHeight={closedMenuHeight} />\n    </Overlay>\n  )\n}\n\nconst MobileBorder = styled.span<{ closedMenuHeight: number; breakpoint: string }>`\n  border-top: 1px solid ${plume.COLORS.PRIMARY_SAND_200};\n  position: absolute;\n  top: ${({ closedMenuHeight }) => closedMenuHeight}px;\n  width: 100%;\n  z-index: -1;\n\n  @media screen and ${({ breakpoint }) => breakpoint} {\n    display: none;\n  }\n`\n\ntype BackToTop = {\n  isIntersecting: boolean\n  isIntersectingFooter: boolean\n  breakpoint: string\n}\n\nconst BackToTop = styled(plume.LinkAsButton)<BackToTop>`\n  display: none;\n\n  @media screen and ${({ breakpoint }) => breakpoint} {\n    bottom: 6px;\n    display: block;\n    left: 0;\n    opacity: 1;\n    padding-bottom: 20px;\n    padding-left: 20px;\n    position: fixed;\n    text-transform: uppercase;\n    transition: opacity 0.3s ease;\n    width: ${PM_MENU_WIDTH};\n    z-index: 3;\n\n    ${plume.glyphs.stroke.ArrowRight} {\n      color: ${plume.COLORS.PRIMARY_SAND_500};\n      position: relative;\n      top: -2px;\n      transform: rotate(-90deg);\n    }\n\n    ${({ isIntersecting, isIntersectingFooter }) => {\n      if (isIntersecting || isIntersectingFooter) {\n        return css`\n          opacity: 0;\n          pointer-events: none;\n        `\n      }\n    }}\n  }\n`\n\nconst Overlay = styled.nav<{ height: string | null; openMobile: boolean; breakpoint: string }>`\n  background-color: ${plume.COLORS.hexToRgb(\n    plume.COLORS.PRIMARY_GREY_900,\n    0.4,\n  )}; // TODO: Use COLORS.OVERLAY token when available\n  bottom: 0;\n  left: 0;\n  right: 0;\n  position: absolute;\n  top: 60px;\n  height: calc(${({ height }) => height ?? '100vh'} - 60px);\n  transition: background-color 0.3s;\n  z-index: ${plume.ZINDEX.NAVIGATION_MENU};\n\n  @media screen and ${({ breakpoint }) => breakpoint} {\n    height: auto;\n    min-height: 100vh;\n  }\n\n  @media not screen and ${({ breakpoint }) => breakpoint} {\n    ${(props) => {\n      if (!props.openMobile) {\n        return css`\n          transition: bottom 0.3s;\n          background-color: transparent;\n          bottom: 100%;\n          pointer-events: none;\n        `\n      } else {\n        return css``\n      }\n    }}\n  }\n\n  @media screen and ${({ breakpoint }) => breakpoint} {\n    background: transparent;\n    height: auto;\n    position: static;\n    min-width: ${PM_MENU_WIDTH};\n    width: ${PM_MENU_WIDTH};\n    z-index: 2;\n  }\n`\n\ntype MobileContainerProps = {\n  closedMenuHeight: number\n  labelMargin: number\n  openMobile: boolean\n  enableTransition: boolean\n  breakpoint: string\n}\n\nexport const MobileContainer = styled.div<MobileContainerProps>`\n  justify-content: start;\n  flex-direction: column;\n  display: flex;\n  align-items: end;\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  left: 0;\n  right: 0;\n  clip-path: content-box;\n  overflow: hidden;\n  pointer-events: all;\n  z-index: 2;\n\n  &:after,\n  &:before {\n    content: '';\n    height: 8px;\n    left: 0;\n    position: absolute;\n    right: 0;\n    z-index: 1;\n    background-color: ${plume.COLORS.PRIMARY_GREY_000};\n  }\n\n  &:after {\n    bottom: 0;\n  }\n\n  &:before {\n    top: 0;\n  }\n\n  ${(props) => {\n    if (props.enableTransition || props.openMobile) {\n      return css`\n        transition: bottom 0.3s;\n      `\n    }\n  }};\n\n  ${(props) => {\n    if (!props.openMobile) {\n      return css`\n        bottom: calc(100% - ${props.closedMenuHeight}px);\n\n        &:after,\n        &:before {\n          transition: opacity 0s ease-in 0.3s;\n        }\n      `\n    } else {\n      return css`\n        &:after,\n        &:before {\n          opacity: 0;\n        }\n      `\n    }\n  }};\n\n  ${plume.glyphs.stroke.BurgerMenu} {\n    pointer-events: none;\n  }\n\n  & > ${plume.glyphs.stroke.BurgerMenu} {\n    color: ${plume.COLORS.PRIMARY_SAND_500};\n    opacity: 1;\n    position: absolute;\n    right: 16px;\n    top: calc(${({ labelMargin }) => labelMargin}px + 3px);\n    transition-duration: 0.3s;\n    transition-property: opacity, visibility;\n    transition-timing-function: cubic-bezier(0.55, 0, 1, 0.45);\n    visibility: visible;\n\n    ${({ openMobile }) => {\n      if (openMobile) {\n        return css`\n          opacity: 0;\n          transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);\n          visibility: hidden;\n        `\n      }\n    }}\n  }\n\n  @media screen and ${({ breakpoint }) => breakpoint} {\n    height: 100%;\n    padding: 0;\n    position: relative;\n\n    & > ${plume.glyphs.stroke.BurgerMenu} {\n      visibility: hidden;\n    }\n\n    &:after,\n    &:before {\n      content: none;\n    }\n  }\n`\n\ntype WrapperProps = {\n  closedMenuHeight: number\n  enableTransition: boolean\n  height?: number\n  openMobile: boolean\n  scroll: number\n  breakpoint: string\n}\n\nexport const Wrapper = styled.div<WrapperProps>`\n  width: 100%;\n  background: ${plume.COLORS.PRIMARY_GREY_000};\n  clip-path: content-box;\n\n  ${(props) => {\n    if (props.enableTransition || props.openMobile) {\n      return css`\n        transition-property: height, margin-top;\n        transition-duration: 0.3s;\n      `\n    }\n  }}\n  ${plume.styles.heading.Card1} {\n    font-weight: inherit;\n    color: inherit;\n  }\n\n  ${(props) => {\n    if (props.openMobile) {\n      return css`\n        margin-top: 0;\n        min-height: ${props.closedMenuHeight}px;\n        height: calc(100% - 58px);\n        overflow: auto;\n      `\n    } else {\n      return css`\n        margin-top: -${props.scroll}px;\n        height: ${props.height !== undefined ? `${props.height}px` : 'auto'};\n      `\n    }\n  }};\n\n  @media screen and ${({ breakpoint }) => breakpoint} {\n    transition: none;\n    margin-top: 0;\n    height: 100%;\n    display: flex;\n    flex-direction: column;\n    clip-path: none;\n  }\n`\n\nconst CloseButton = styled.button<{ openMobile: boolean }>`\n  background: transparent;\n  border: none;\n  height: 58px;\n  outline: none;\n  overflow: hidden;\n  padding: 0 30px;\n  text-align: right;\n  transition: height 0.3s;\n  width: 100%;\n\n  ${(props) => {\n    if (!props.openMobile) {\n      return css`\n        height: 0;\n      `\n    }\n  }}\n  ${plume.styles.heading.XXXXXS} {\n    color: ${plume.COLORS.PRIMARY_GREY_000};\n  }\n\n  ${plume.glyphs.stroke.CaretUp} {\n    vertical-align: bottom;\n    margin-left: 10px;\n  }\n`\n\nconst GlobalStyleLockBody = createGlobalStyle<{ height: string | null }>`\n  body {\n    height: ${({ height }) => height ?? '100vh'};\n    box-sizing: border-box;\n    overflow: hidden;\n  }\n\n  // HACK: to enable stickyness, iOS requires doubling 'overflow: hidden;' on both html & body tags.\n  //  But this brings an undesirable side effect where the page jumps to top when opening the menu\n  @supports (-webkit-overflow-scrolling: touch) {\n    html {\n      overflow: hidden;\n    }\n  }\n`\n"],
  "mappings": "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",
  "names": ["init_define_process_env", "init_sentry_release_injection_stub", "PM_MENU_WIDTH", "init_define_process_env", "init_sentry_release_injection_stub", "React", "ResponsiveMenu", "className", "labelMargin", "closedMenuHeight", "Content", "mobileBreakpoint", "height", "use100vh", "breakpoint", "breakpoints_exports", "elementMeasuresRef", "isClientSide", "useClientSide", "previousLocation", "usePrevious", "hooks_exports", "setMobileNavAsOpen", "wrapperMeasureRef", "wrapperRef", "closedMobileScroll", "setClosedMobileScroll", "isMobileNavOpen", "isDesktop", "useDramaticallyInefficientMediaQuery", "enableTransition", "setEnableTransition", "$contentRef", "$footerRef", "isIntersecting", "useIsIntersecting", "isIntersectingFooter", "Overlay", "MobileContainer", "Wrapper", "element", "_a", "top", "event", "matchQuery", "wrapperMeasure", "CloseButton", "styles_exports", "glyphs_exports", "GlobalStyleLockBody", "BackToTop", "scroll_exports", "MobileBorder", "src_default", "__template", "colors_exports", "_b", "_c", "LinkAsButton", "PM_MENU_WIDTH", "css", "_d", "_e", "_f", "zindex_exports", "props", "_g", "_h", "_i", "_j", "_k", "openMobile", "_l", "_m", "_n", "_o", "_p", "_q", "_r", "createGlobalStyle"]
}