{"version":3,"file":"careers-CIzQYSzu.js","sources":["../../../app/javascript/components/careers/Job.vue","../../../app/javascript/components/careers/Department.vue","../../../app/javascript/pages/Careers.vue","../../../app/javascript/modules/careers.js"],"sourcesContent":["<template>\n  <a\n    :href=\"job.application_url\"\n    class=\"bg-paper focus:bg-paper-2 hover:bg-paper-2 cursor-pointer pr-5 pl-4 py-4 flex items-center justify-between mb-4\">\n    <p class=\"typeset-7\">{{ job.title }}</p>\n    <svg-icon name=\"rightarrow\" />\n  </a>\n</template>\n\n<script>\nimport SvgIcon from \"../shared/SvgIcon.vue\";\n\nexport default {\n  name: \"Job\",\n  components: {\n    SvgIcon\n  },\n  props: {\n    job: {\n      type: Object,\n      required: true\n    }\n  }\n};\n</script>\n","<template>\n  <div class=\"pt-5\">\n    <h3 class=\"typeset-3\">{{ name }}</h3>\n    <div\n      v-for=\"(jobs, locationName) in locations\"\n      :key=\"keyForLocation(locationName)\">\n      <h3 class=\"typeset-6 mt-5 mb-3 ml-2\">{{ locationName }}</h3>\n      <job\n        v-for=\"job in jobs\"\n        :key=\"job.id\"\n        :job=\"job\" />\n    </div>\n  </div>\n</template>\n\n<script>\nimport Job from \"./Job.vue\";\n\nexport default {\n  name: \"Department\",\n  components: {\n    Job\n  },\n  props: {\n    locations: {\n      type: Object,\n      required: true\n    },\n    name: {\n      type: String,\n      required: true\n    }\n  },\n  computed: {\n    keyForLocation() {\n      return locationName => `${this.name}-${locationName}`;\n    }\n  }\n};\n</script>\n","<template>\n  <div\n    id=\"available-openings\"\n    class=\"p-4 sm:py-7 bg-paper-3\">\n    <div class=\"px-4 py-6 sm:px-6 -m-4 sm:m-0 bg-paper-1 md:mx-auto md:w-6/12\">\n      <h2 class=\"typeset-2 mb-4\">{{ t(\"careers.title\") }}</h2>\n      <p class=\"typeset-7 mb-4\">{{ t(\"careers.subtitle\") }}</p>\n\n      <div\n        class=\"relative\"\n        :class=\"{ 'loader-height': loading }\">\n        <overlay\n          v-if=\"loading\"\n          absolutely-positioned />\n        <p\n          v-else-if=\"!Object.keys(departments).length\"\n          class=\"typeset-7 mb-0\">\n          {{ t(\"careers.no-results\") }}\n        </p>\n        <div v-else>\n          <department\n            v-for=\"(locations, name) in departments\"\n            :key=\"name\"\n            :name=\"name\"\n            :locations=\"locations\" />\n        </div>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport api from \"../api\";\n\nimport Department from \"../components/careers/Department.vue\";\nimport Overlay from \"../components/shared/Overlay.vue\";\n\nexport default {\n  name: \"Careers\",\n  components: {\n    Department,\n    Overlay\n  },\n  data() {\n    return {\n      loading: true,\n      departments: {}\n    };\n  },\n  async mounted() {\n    const res = await api.get(\"/jobs\");\n    this.departments = res.data.departments;\n    this.loading = false;\n  }\n};\n</script>\n\n<style scoped>\n.loader-height {\n  min-height: 80px;\n}\n</style>\n","import { createApp } from \"vue\";\n\nimport I18n from \"../plugins/i18n\";\nimport Careers from \"../pages/Careers.vue\";\n\nconst careers = () => {\n  const node = document.getElementById(\"careers-app\");\n  if (!node) return;\n\n  const translations = JSON.parse(node.dataset.translations);\n\n  const app = createApp(Careers);\n\n  app.use(I18n, translations);\n\n  app.mount(node);\n};\n\nexport default careers;\n"],"names":["_sfc_main","SvgIcon","_hoisted_1","_hoisted_2","_createElementBlock","$props","_createElementVNode","_toDisplayString","_createVNode","_component_svg_icon","Job","locationName","_hoisted_3","_openBlock","_Fragment","_renderList","jobs","$options","job","_createBlock","_component_job","Department","Overlay","res","api","_hoisted_4","_ctx","_normalizeClass","$data","_component_overlay","_hoisted_6","locations","name","_component_department","_hoisted_5","careers","node","translations","app","createApp","Careers","I18n"],"mappings":"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"}