UNPKG

2.09 kBSource Map (JSON)View Raw
1{"version":3,"names":["React","useDocumentTitle","ref","enabled","formatter","options","route","title","name","useEffect","navigation","current","getCurrentOptions","getCurrentRoute","document","addListener","e","data"],"sources":["useDocumentTitle.tsx"],"sourcesContent":["import type {\n NavigationContainerRef,\n ParamListBase,\n} from '@react-navigation/core';\nimport * as React from 'react';\n\nimport type { DocumentTitleOptions } from './types';\n\n/**\n * Set the document title for the active screen\n */\nexport default function useDocumentTitle(\n ref: React.RefObject<NavigationContainerRef<ParamListBase>>,\n {\n enabled = true,\n formatter = (options, route) => options?.title ?? route?.name,\n }: DocumentTitleOptions = {}\n) {\n React.useEffect(() => {\n if (!enabled) {\n return;\n }\n\n const navigation = ref.current;\n\n if (navigation) {\n const title = formatter(\n navigation.getCurrentOptions(),\n navigation.getCurrentRoute()\n );\n\n document.title = title;\n }\n\n return navigation?.addListener('options', (e) => {\n const title = formatter(e.data.options, navigation?.getCurrentRoute());\n\n document.title = title;\n });\n });\n}\n"],"mappings":"AAIA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;;AAIA;AACA;AACA;AACA,eAAe,SAASC,gBAAT,CACbC,GADa,EAMb;EAAA,IAJA;IACEC,OAAO,GAAG,IADZ;IAEEC,SAAS,GAAG,CAACC,OAAD,EAAUC,KAAV;MAAA;;MAAA,yBAAoBD,OAApB,aAAoBA,OAApB,uBAAoBA,OAAO,CAAEE,KAA7B,2DAAsCD,KAAtC,aAAsCA,KAAtC,uBAAsCA,KAAK,CAAEE,IAA7C;IAAA;EAFd,CAIA,uEAD0B,EAC1B;EACAR,KAAK,CAACS,SAAN,CAAgB,MAAM;IACpB,IAAI,CAACN,OAAL,EAAc;MACZ;IACD;;IAED,MAAMO,UAAU,GAAGR,GAAG,CAACS,OAAvB;;IAEA,IAAID,UAAJ,EAAgB;MACd,MAAMH,KAAK,GAAGH,SAAS,CACrBM,UAAU,CAACE,iBAAX,EADqB,EAErBF,UAAU,CAACG,eAAX,EAFqB,CAAvB;MAKAC,QAAQ,CAACP,KAAT,GAAiBA,KAAjB;IACD;;IAED,OAAOG,UAAP,aAAOA,UAAP,uBAAOA,UAAU,CAAEK,WAAZ,CAAwB,SAAxB,EAAoCC,CAAD,IAAO;MAC/C,MAAMT,KAAK,GAAGH,SAAS,CAACY,CAAC,CAACC,IAAF,CAAOZ,OAAR,EAAiBK,UAAjB,aAAiBA,UAAjB,uBAAiBA,UAAU,CAAEG,eAAZ,EAAjB,CAAvB;MAEAC,QAAQ,CAACP,KAAT,GAAiBA,KAAjB;IACD,CAJM,CAAP;EAKD,CArBD;AAsBD"}
\No newline at end of file