{
  "version": 3,
  "sources": ["../../src/navigation/index.tsx"],
  "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { getAnimateClassName } from '../animate';\nimport { ROOT_MENU } from './constants';\nimport { NavigationContext } from './context';\nimport { NavigationUI } from './styles/navigation-styles';\nimport { useCreateNavigationTree } from './use-create-navigation-tree';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst noop = () => {};\n\n/**\n * Render a navigation list with optional groupings and hierarchy.\n *\n * @deprecated Use `Navigator` instead.\n *\n * ```jsx\n * import {\n *   __experimentalNavigation as Navigation,\n *   __experimentalNavigationGroup as NavigationGroup,\n *   __experimentalNavigationItem as NavigationItem,\n *   __experimentalNavigationMenu as NavigationMenu,\n * } from '@wordpress/components';\n *\n * const MyNavigation = () => (\n *   <Navigation>\n *     <NavigationMenu title=\"Home\">\n *       <NavigationGroup title=\"Group 1\">\n *         <NavigationItem item=\"item-1\" title=\"Item 1\" />\n *         <NavigationItem item=\"item-2\" title=\"Item 2\" />\n *       </NavigationGroup>\n *       <NavigationGroup title=\"Group 2\">\n *         <NavigationItem\n *           item=\"item-3\"\n *           navigateToMenu=\"category\"\n *           title=\"Category\"\n *         />\n *       </NavigationGroup>\n *     </NavigationMenu>\n *\n *     <NavigationMenu\n *       backButtonLabel=\"Home\"\n *       menu=\"category\"\n *       parentMenu=\"root\"\n *       title=\"Category\"\n *     >\n *       <NavigationItem badge=\"1\" item=\"child-1\" title=\"Child 1\" />\n *       <NavigationItem item=\"child-2\" title=\"Child 2\" />\n *     </NavigationMenu>\n *   </Navigation>\n * );\n * ```\n */\nexport function Navigation({\n  activeItem,\n  activeMenu = ROOT_MENU,\n  children,\n  className,\n  onActivateMenu = noop\n}) {\n  const [menu, setMenu] = useState(activeMenu);\n  const [slideOrigin, setSlideOrigin] = useState();\n  const navigationTree = useCreateNavigationTree();\n  const defaultSlideOrigin = isRTL() ? 'right' : 'left';\n  deprecated('wp.components.Navigation (and all subcomponents)', {\n    since: '6.8',\n    version: '7.1',\n    alternative: 'wp.components.Navigator'\n  });\n  const setActiveMenu = (menuId, slideInOrigin = defaultSlideOrigin) => {\n    if (!navigationTree.getMenu(menuId)) {\n      return;\n    }\n    setSlideOrigin(slideInOrigin);\n    setMenu(menuId);\n    onActivateMenu(menuId);\n  };\n\n  // Used to prevent the sliding animation on mount\n  const isMountedRef = useRef(false);\n  useEffect(() => {\n    if (!isMountedRef.current) {\n      isMountedRef.current = true;\n    }\n  }, []);\n  useEffect(() => {\n    if (activeMenu !== menu) {\n      setActiveMenu(activeMenu);\n    }\n    // Not adding deps for now, as it would require either a larger refactor or some questionable workarounds.\n    // See https://github.com/WordPress/gutenberg/pull/41612 for context.\n  }, [activeMenu]);\n  const context = {\n    activeItem,\n    activeMenu: menu,\n    setActiveMenu,\n    navigationTree\n  };\n  const classes = clsx('components-navigation', className);\n  const animateClassName = getAnimateClassName({\n    type: 'slide-in',\n    origin: slideOrigin\n  });\n  return /*#__PURE__*/_jsx(NavigationUI, {\n    className: classes,\n    children: /*#__PURE__*/_jsx(\"div\", {\n      className: animateClassName ? clsx({\n        [animateClassName]: isMountedRef.current && slideOrigin\n      }) : undefined,\n      children: /*#__PURE__*/_jsx(NavigationContext.Provider, {\n        value: context,\n        children: children\n      })\n    }, menu)\n  });\n}\nexport default Navigation;"],
  "mappings": ";AAGA,OAAO,UAAU;AAKjB,OAAO,gBAAgB;AACvB,SAAS,WAAW,QAAQ,gBAAgB;AAC5C,SAAS,aAAa;AAKtB,SAAS,2BAA2B;AACpC,SAAS,iBAAiB;AAC1B,SAAS,yBAAyB;AAClC,SAAS,oBAAoB;AAC7B,SAAS,+BAA+B;AACxC,SAAS,OAAO,YAAY;AAC5B,IAAM,OAAO,MAAM;AAAC;AA4Cb,SAAS,WAAW;AAAA,EACzB;AAAA,EACA,aAAa;AAAA,EACb;AAAA,EACA;AAAA,EACA,iBAAiB;AACnB,GAAG;AACD,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,UAAU;AAC3C,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS;AAC/C,QAAM,iBAAiB,wBAAwB;AAC/C,QAAM,qBAAqB,MAAM,IAAI,UAAU;AAC/C,aAAW,oDAAoD;AAAA,IAC7D,OAAO;AAAA,IACP,SAAS;AAAA,IACT,aAAa;AAAA,EACf,CAAC;AACD,QAAM,gBAAgB,CAAC,QAAQ,gBAAgB,uBAAuB;AACpE,QAAI,CAAC,eAAe,QAAQ,MAAM,GAAG;AACnC;AAAA,IACF;AACA,mBAAe,aAAa;AAC5B,YAAQ,MAAM;AACd,mBAAe,MAAM;AAAA,EACvB;AAGA,QAAM,eAAe,OAAO,KAAK;AACjC,YAAU,MAAM;AACd,QAAI,CAAC,aAAa,SAAS;AACzB,mBAAa,UAAU;AAAA,IACzB;AAAA,EACF,GAAG,CAAC,CAAC;AACL,YAAU,MAAM;AACd,QAAI,eAAe,MAAM;AACvB,oBAAc,UAAU;AAAA,IAC1B;AAAA,EAGF,GAAG,CAAC,UAAU,CAAC;AACf,QAAM,UAAU;AAAA,IACd;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,EACF;AACA,QAAM,UAAU,KAAK,yBAAyB,SAAS;AACvD,QAAM,mBAAmB,oBAAoB;AAAA,IAC3C,MAAM;AAAA,IACN,QAAQ;AAAA,EACV,CAAC;AACD,SAAoB,qBAAK,cAAc;AAAA,IACrC,WAAW;AAAA,IACX,UAAuB,qBAAK,OAAO;AAAA,MACjC,WAAW,mBAAmB,KAAK;AAAA,QACjC,CAAC,gBAAgB,GAAG,aAAa,WAAW;AAAA,MAC9C,CAAC,IAAI;AAAA,MACL,UAAuB,qBAAK,kBAAkB,UAAU;AAAA,QACtD,OAAO;AAAA,QACP;AAAA,MACF,CAAC;AAAA,IACH,GAAG,IAAI;AAAA,EACT,CAAC;AACH;AACA,IAAO,qBAAQ;",
  "names": []
}
