{"version":3,"file":"basereference-Da78NLTJ.mjs","names":[],"sources":["../src/composables/basereference.js"],"sourcesContent":["import { useSphinxStore } from '@/stores/sphinx'\n\nimport { useMethods } from './methods'\nimport { determineRouteUrl, constructPageNameFromRoute } from '../js/utilities'\n\nconst {\n  determinePageLocation,\n  determinePageName,\n  isInternalReference,\n  isReferenceToCurrentPage,\n  parentLevelsInRefURI,\n} = useMethods()\n\nexport const useBaseReference = (element, route, routeDescription) => {\n  const sphinxStore = useSphinxStore()\n\n  const onReferenceCreated = () => {\n    if (isInternalReference(element)) {\n      let pageName = constructPageNameFromRoute(route)\n      let baseRefUri = determineRouteUrl(route)\n      const pageReference = element.getAttribute('refid')\n      if (pageReference && !pageReference.startsWith('#')) {\n        routeDescription.value.hash = '#' + pageReference\n      } else {\n        routeDescription.value.hash = pageReference\n      }\n      if (!isReferenceToCurrentPage(element)) {\n        pageName = determinePageName(element, route)\n        let parentLevels = parentLevelsInRefURI(element)\n        if (sphinxStore.isOffsetReferenceURL(baseRefUri) && parentLevels) {\n          let parts = baseRefUri.split('/')\n          while(parentLevels--) {\n            parts.pop()\n          }\n          if (parts.length === 1) {\n            baseRefUri = '/'\n          } else {\n            baseRefUri = parts.join('/')\n          }\n        }\n        routeDescription.value.hash = determinePageLocation(element)\n        const existingPageWrapper = sphinxStore.hasPageById(\n          baseRefUri,\n          pageName,\n        )\n        if (!existingPageWrapper) {\n          sphinxStore.fetchPage({\n            page_name: pageName,\n            page_route: baseRefUri,\n            page_url: sphinxStore.getBaseUrl(baseRefUri),\n          })\n        }\n      }\n\n      routeDescription.value.path = baseRefUri === '/' ? baseRefUri + pageName : baseRefUri + '/' + pageName\n    }\n  }\n  return {\n    onReferenceCreated,\n  }\n}\n"],"mappings":";;;;AAKA,IAAM,EACJ,0BACA,sBACA,wBACA,6BACA,4BACE,EAAW,GAEF,KAAoB,GAAS,GAAO,MAAqB;CACpE,IAAM,IAAc,EAAe;CA2CnC,OAAO,EACL,0BA1C+B;EAC/B,IAAI,EAAoB,CAAO,GAAG;GAChC,IAAI,IAAW,EAA2B,CAAK,GAC3C,IAAa,EAAkB,CAAK,GAClC,IAAgB,EAAQ,aAAa,OAAO;GAMlD,IALI,KAAiB,CAAC,EAAc,WAAW,GAAG,IAChD,EAAiB,MAAM,OAAO,MAAM,IAEpC,EAAiB,MAAM,OAAO,GAE5B,CAAC,EAAyB,CAAO,GAAG;IACtC,IAAW,EAAkB,GAAS,CAAK;IAC3C,IAAI,IAAe,EAAqB,CAAO;IAC/C,IAAI,EAAY,qBAAqB,CAAU,KAAK,GAAc;KAChE,IAAI,IAAQ,EAAW,MAAM,GAAG;KAChC,OAAM,MACJ,EAAM,IAAI;KAEZ,AAGE,IAHE,EAAM,WAAW,IACN,MAEA,EAAM,KAAK,GAAG;IAE/B;IAMA,AALA,EAAiB,MAAM,OAAO,EAAsB,CAAO,GAC/B,EAAY,YACtC,GACA,CAEqB,KACrB,EAAY,UAAU;KACpB,WAAW;KACX,YAAY;KACZ,UAAU,EAAY,WAAW,CAAU;IAC7C,CAAC;GAEL;GAEA,EAAiB,MAAM,OAAO,MAAe,MAAM,IAAa,IAAW,IAAa,MAAM;EAChG;CACF,EAGA;AACF"}