{"version":3,"file":"PageController-CQaBmxHV.js","sources":["../../src/assets/guggenheim-ubs-map_LOGO.jpg","../../src/components/page/PageSecondary.vue","../../src/components/page/PageController.vue"],"sourcesContent":["export default \"__VITE_ASSET__D7NiLUYI__\"","<template>\n  <article v-if=\"page\">\n    <PostFeaturedImage\n      v-if=\"page.featuredImage\"\n      :featured-image=\"page.featuredImage.node\"\n      :ga4-data='`{\n        \"click_type\": \"hero\",\n        \"component\": \"PageSecondary\",\n        \"content_group\": \"page\",\n        \"gtm_tag\": \"image\",\n        \"file_name\": \"${page.featuredImage.node.sourceUrl.split(\"/\").pop()}\"\n      }`'\n      :srcset=\"page.imageSrcset\"\n      :is-aspect=\"true\"\n      :is-wide=\"page.featuredImageWidth === 'wide'\"\n    ></PostFeaturedImage>\n    <SecondaryNav v-if=\"page.pageNavigation\" :items=\"page.pageNavigation\"></SecondaryNav>\n    <div :class=\"[$style.secondary, 'container']\">\n      <header>\n        <BackLink\n          v-if=\"parent.title !== page.title\"\n          component=\"PageSecondary\"\n          group=\"page\"\n          :label=\"parent.title\"\n          :path=\"parent.uri\"\n        ></BackLink>\n        <div :class=\"$style.titles\">\n          <h1 v-html=\"page.title\"></h1>\n          <h4\n            v-if=\"page.pageOptionalSubtitle\"\n            class=\"space-0-above\"\n            v-html=\"page.pageOptionalSubtitle\"\n          ></h4>\n        </div>\n      </header>\n      <ProcessContent\n        v-if=\"page.content\"\n        ref=\"mainContent\"\n        :content=\"page.content\"\n        :class=\"$style.content\"\n        wrapper=\"section\"\n      ></ProcessContent>\n      <picture>\n        <img\n          v-if=\"isMap\"\n          alt=\"guggenheim-ubs-map_LOGO\"\n          class=\"space-24-32-above\"\n          src=\"@/assets/guggenheim-ubs-map_LOGO.jpg\"\n          loading=\"lazy\"\n        />\n      </picture>\n    </div>\n  </article>\n</template>\n\n<script setup lang=\"ts\">\nimport BackLink from '@/components/common/BackLink.vue';\nimport { computed } from 'vue';\nimport { Page, Parent } from '@/types/page.interface';\nimport PostFeaturedImage from '@/components/common/PostFeaturedImage.vue';\nimport ProcessContent from '@/components/common/ProcessContent.vue';\nimport SecondaryNav from '@/components/navigation/SecondaryNav.vue';\n\nconst props = defineProps<{\n  page: Page;\n}>();\n\nconst isMap = computed(() => props.page.uri.includes('map/'));\nconst parent = computed(() => {\n  const obj = {} as Parent;\n\n  obj.title =\n    props.page.parentExhibition && props.page.parentExhibition.title\n      ? props.page.parentExhibition.title\n      : props.page.parent.node.title;\n  obj.uri =\n    (props.page.parentExhibition && props.page.parentExhibition.uri) || props.page.parent.node.uri;\n\n  return obj;\n});\n</script>\n\n<style lang=\"scss\" module>\n.content {\n  h2:first-child,\n  h3:first-child,\n  h4:first-child {\n    margin-top: 0;\n  }\n}\n\n@media (min-width: $break-point) {\n  .secondary {\n    @include grid;\n\n    > header {\n      @include grid;\n      grid-column: span 12;\n\n      a {\n        grid-column: span 12;\n      }\n\n      .titles {\n        grid-column: 1 / span 8;\n      }\n    }\n\n    > img {\n      grid-column: 1 / span 8;\n    }\n\n    .discover-more {\n      grid-column: 1 / span 8;\n    }\n  }\n\n  .content {\n    @include grid-content;\n\n    p:first-child {\n      margin-top: 0;\n    }\n  }\n}\n</style>\n","<template>\n  <component\n    :is=\"isChild ? PageSecondary : PagePrimary\"\n    v-if=\"page && Object.keys(page).length\"\n    :page=\"page\"\n  ></component>\n</template>\n\n<script setup lang=\"ts\">\nimport { Bootstrap } from '@/types/global.interface';\nimport { inject, ref } from 'vue';\nimport { dataLoaded, useHandleError, useMetaData } from '@/composables/Common.js';\nimport gql from 'graphql-tag';\nimport { Page } from '@/types/page.interface';\nimport PageSecondary from '@/components/page/PageSecondary.vue';\nimport PagePrimary from '@/components/page/PagePrimary.vue';\nimport { pageQuery } from '@/queries/PageQuery';\nimport { storeToRefs } from 'pinia';\nimport { useMainStore } from '@/stores/mainStore.js';\nimport { useQuery } from 'villus';\n\nconst props = defineProps<{\n  uri: string | Array<string>;\n}>();\n\nconst bootstrap = inject<Bootstrap>('bootstrap');\n\nconst { handleError } = useHandleError();\nconst { setMetaDescription, setMetaTitle } = useMetaData();\nconst store = useMainStore();\nconst { useBootstrap } = storeToRefs(store);\n\nconst isChild = ref(false);\nconst page = ref<Page>({} as Page);\nconst shouldSkip = ref(true);\n\nconst { data } = useQuery({\n  onData: data => {\n    if (data.page && Object.keys(data.page).length) {\n      page.value = data.page;\n      isChildPage();\n      setMetaTitle(data.page.title);\n      setMetaDescription(data.page.excerpt);\n      dataLoaded();\n    }\n\n    if (!data.page || Object.keys(data.page).length === 0) {\n      handleError('PageController', window.location.pathname);\n    }\n  },\n  query: gql`\n    query getPage($id: ID!, $type: PageIdType) {\n      ${pageQuery}\n    }\n  `,\n  skip: shouldSkip,\n  variables: {\n    type: 'URI',\n    id: (Array.isArray(props.uri) ? props.uri.join('/') : props.uri) || '',\n  },\n});\n\nif (useBootstrap.value) {\n  shouldSkip.value = true;\n\n  if (\n    bootstrap &&\n    bootstrap.initial &&\n    bootstrap.initial.queried_object &&\n    bootstrap.initial.queried_object.pagedata &&\n    bootstrap.initial.queried_object.pagedata !== null &&\n    bootstrap.initial.queried_object.pagedata.page &&\n    bootstrap.initial.queried_object.pagedata.page !== null\n  ) {\n    page.value = bootstrap.initial.queried_object.pagedata.page;\n    isChildPage();\n    setMetaTitle(page.value.title);\n    setMetaDescription(page.value.excerpt);\n    dataLoaded();\n  } else {\n    shouldSkip.value = false;\n  }\n}\n\nif (!useBootstrap.value) {\n  shouldSkip.value = false;\n}\n\nfunction isChildPage() {\n  isChild.value = !!page.value && (!!page.value.parent || !!page.value.parentExhibition);\n}\n</script>\n\n<script lang=\"ts\">\nexport default {\n  beforeRoute(params, villusClient) {\n    return new Promise<void>((resolve, reject) => {\n      villusClient\n        .executeQuery({\n          query: gql`\n            query getPage($id: ID!, $type: PageIdType) {\n              ${pageQuery}\n            }\n          `,\n          variables: {\n            type: 'URI',\n            id: (Array.isArray(params.uri) ? params.uri.join('/') : params.uri) || '',\n          },\n        })\n        .then(() => resolve())\n        .catch((err) => reject(err));\n    });\n  },\n};\n</script>\n\n<style lang=\"scss\" module>\n:global(.admin-bar) {\n  .sticky {\n    margin-top: px-to-rem(127);\n  }\n}\n</style>\n"],"names":["_imports_0","props","__props","isMap","computed","parent","obj","__default__","params","villusClient","resolve","reject","gql","pageQuery","err","bootstrap","inject","handleError","useHandleError","setMetaDescription","setMetaTitle","useMetaData","store","useMainStore","useBootstrap","storeToRefs","isChild","ref","page","shouldSkip","useQuery","data","isChildPage","dataLoaded"],"mappings":"mhBAAA,MAAeA,EAAA,kQC+Df,MAAMC,EAAQC,EAIRC,EAAQC,EAAS,IAAMH,EAAM,KAAK,IAAI,SAAS,MAAM,CAAC,EACtDI,EAASD,EAAS,IAAM,CAC5B,MAAME,EAAM,CAAC,EAEb,OAAAA,EAAI,MACFL,EAAM,KAAK,kBAAoBA,EAAM,KAAK,iBAAiB,MACvDA,EAAM,KAAK,iBAAiB,MAC5BA,EAAM,KAAK,OAAO,KAAK,MACzBK,EAAA,IACDL,EAAM,KAAK,kBAAoBA,EAAM,KAAK,iBAAiB,KAAQA,EAAM,KAAK,OAAO,KAAK,IAEtFK,CAAA,CACR;;;;;;;;;;;;i9BCecC,GAAA,CACb,YAAYC,EAAQC,EAAc,CAChC,OAAO,IAAI,QAAc,CAACC,EAASC,IAAW,CAC5CF,EACG,aAAa,CACZ,MAAOG;AAAA;AAAA,gBAEDC,CAAS;AAAA;AAAA,YAGf,UAAW,CACT,KAAM,MACN,IAAK,MAAM,QAAQL,EAAO,GAAG,EAAIA,EAAO,IAAI,KAAK,GAAG,EAAIA,EAAO,MAAQ,EAAA,CACzE,CACD,EACA,KAAK,IAAME,GAAS,EACpB,MAAOI,GAAQH,EAAOG,CAAG,CAAC,CAAA,CAC9B,CAAA,CAEL,8DA5FA,MAAMb,EAAQC,EAIRa,EAAYC,EAAkB,WAAW,EAEzC,CAAE,YAAAC,CAAY,EAAIC,EAAe,EACjC,CAAE,mBAAAC,EAAoB,aAAAC,CAAa,EAAIC,EAAY,EACnDC,EAAQC,EAAa,EACrB,CAAE,aAAAC,CAAA,EAAiBC,EAAYH,CAAK,EAEpCI,EAAUC,EAAI,EAAK,EACnBC,EAAOD,EAAU,EAAU,EAC3BE,EAAaF,EAAI,EAAI,EAEVG,EAAS,CACxB,OAAQC,GAAQ,CACVA,EAAK,MAAQ,OAAO,KAAKA,EAAK,IAAI,EAAE,SACtCH,EAAK,MAAQG,EAAK,KACNC,EAAA,EACCD,EAAAA,EAAK,KAAK,KAAK,EACTA,EAAAA,EAAK,KAAK,OAAO,EACzBE,EAAA,IAGT,CAACF,EAAK,MAAQ,OAAO,KAAKA,EAAK,IAAI,EAAE,SAAW,IACtCd,EAAA,iBAAkB,OAAO,SAAS,QAAQ,CAE1D,EACA,MAAOL;AAAA;AAAA,QAEDC,CAAS;AAAA;AAAA,IAGf,KAAMgB,EACN,UAAW,CACT,KAAM,MACN,IAAK,MAAM,QAAQ5B,EAAM,GAAG,EAAIA,EAAM,IAAI,KAAK,GAAG,EAAIA,EAAM,MAAQ,EAAA,CAEvE,CAAA,EAEGuB,EAAa,QACfK,EAAW,MAAQ,GAGjBd,GACAA,EAAU,SACVA,EAAU,QAAQ,gBAClBA,EAAU,QAAQ,eAAe,UACjCA,EAAU,QAAQ,eAAe,WAAa,MAC9CA,EAAU,QAAQ,eAAe,SAAS,MAC1CA,EAAU,QAAQ,eAAe,SAAS,OAAS,MAEnDa,EAAK,MAAQb,EAAU,QAAQ,eAAe,SAAS,KAC3CiB,EAAA,EACCZ,EAAAQ,EAAK,MAAM,KAAK,EACVT,EAAAS,EAAK,MAAM,OAAO,EAC1BK,EAAA,GAEXJ,EAAW,MAAQ,IAIlBL,EAAa,QAChBK,EAAW,MAAQ,IAGrB,SAASG,GAAc,CACrBN,EAAQ,MAAQ,CAAC,CAACE,EAAK,QAAU,CAAC,CAACA,EAAK,MAAM,QAAU,CAAC,CAACA,EAAK,MAAM,iBAAA"}