{"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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"}