{"version":3,"file":"NavigationProvider.cjs","names":["_react","_interopRequireWildcard","require","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","NavigationContext","createContext","undefined","NavigationProvider","_ref","children","navigate","isActiveRoute","currentPath","value","React","useMemo","jsx","Provider","exports","propTypes","_propTypes","node","isRequired","useNavigation","context","useContext","Error"],"sources":["../../src/Navigation/NavigationProvider.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode } from 'react';\r\n\r\ninterface NavigationContextType {\r\n    /** Navigate to a different path. If navigation is happening to the external source, please set 'isExternal' to true */\r\n    navigate?: (path: string, isExternal: boolean) => void;\r\n    /** Current path in the navigation context */\r\n    currentPath?: string | undefined;\r\n    /** Check if a route is active, if 'exact' flag is set then we should check for exact match, and not just part of the route */\r\n    isActiveRoute?: (url: string, exact: boolean) => boolean;\r\n}\r\n\r\nconst NavigationContext = createContext<NavigationContextType | undefined>(undefined);\r\n\r\nexport interface NavigationProviderProps {\r\n    children: ReactNode;\r\n}\r\n\r\nexport const NavigationProvider: React.FC<NavigationProviderProps & Partial<NavigationContextType>> = ({ \r\n    children, \r\n    navigate,\r\n    isActiveRoute,\r\n    currentPath\r\n}) => {\r\n    const value = React.useMemo(() => ({\r\n        navigate,\r\n        currentPath,\r\n        isActiveRoute\r\n    }), [navigate, currentPath, isActiveRoute]);\r\n\r\n    return (\r\n        <NavigationContext.Provider value={value}>\r\n            {children}\r\n        </NavigationContext.Provider>\r\n    );\r\n};\r\n\r\nexport const useNavigation = (): NavigationContextType => {\r\n    const context = useContext(NavigationContext);\r\n    if (!context) {\r\n        throw new Error('useNavigation must be used within a NavigationProvider');\r\n    }\r\n    return context;\r\n};"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAoE,IAAAC,WAAA,GAAAD,OAAA;AAAA,SAAAE,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAWpE,MAAMW,iBAAiB,gBAAG,IAAAC,oBAAa,EAAoCC,SAAS,CAAC;AAM9E,MAAMC,kBAAsF,GAAGC,IAAA,IAKhG;EAAA,IALiG;IACnGC,QAAQ;IACRC,QAAQ;IACRC,aAAa;IACbC;EACJ,CAAC,GAAAJ,IAAA;EACG,MAAMK,KAAK,GAAGC,cAAK,CAACC,OAAO,CAAC,OAAO;IAC/BL,QAAQ;IACRE,WAAW;IACXD;EACJ,CAAC,CAAC,EAAE,CAACD,QAAQ,EAAEE,WAAW,EAAED,aAAa,CAAC,CAAC;EAE3C,oBACI,IAAA5B,WAAA,CAAAiC,GAAA,EAACZ,iBAAiB,CAACa,QAAQ;IAACJ,KAAK,EAAEA,KAAM;IAAAJ,QAAA,EACpCA;EAAQ,CACe,CAAC;AAErC,CAAC;AAACS,OAAA,CAAAX,kBAAA,GAAAA,kBAAA;AAAAA,kBAAA,CAAAY,SAAA;EApBEV,QAAQ,EAAAW,UAAA,CAAA9B,OAAA,CAAA+B,IAAA,CAAAC;AAAA;AAsBL,MAAMC,aAAa,GAAGA,CAAA,KAA6B;EACtD,MAAMC,OAAO,GAAG,IAAAC,iBAAU,EAACrB,iBAAiB,CAAC;EAC7C,IAAI,CAACoB,OAAO,EAAE;IACV,MAAM,IAAIE,KAAK,CAAC,wDAAwD,CAAC;EAC7E;EACA,OAAOF,OAAO;AAClB,CAAC;AAACN,OAAA,CAAAK,aAAA,GAAAA,aAAA","ignoreList":[]}