{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/RangeSlider.vue?b8c4","webpack:///./src/components/Histogram.vue?888e","webpack:///./src/components/Sidebar.vue?5f3c","webpack:///./src/components/Result.vue?7ebb","webpack:///./src/assets/filterIcon.svg","webpack:///./src/assets/searchIcon.svg","webpack:///./src/components/Searchbar.vue?711e","webpack:///./src/components/FacetFilter.vue?5c3c","webpack:///./src/components/Preview.vue?6938","webpack:///./src/App.vue","webpack:///./src/components/Preview.vue","webpack:///./src/utils/utils.ts","webpack:///./src/components/Preview.vue?711e","webpack:///./src/components/Preview.vue?e610","webpack:///./src/components/Result.vue","webpack:///./src/components/Result.vue?19b8","webpack:///./src/components/Result.vue?b43e","webpack:///./src/components/Searchbar.vue","webpack:///./src/components/Searchbar.vue?fa7d","webpack:///./src/components/Searchbar.vue?e32f","webpack:///./src/components/Sidebar.vue","webpack:///./src/components/FacetFilter.vue","webpack:///./src/components/FacetFilter.vue?17a2","webpack:///./src/components/FacetFilter.vue?d6dd","webpack:///./src/components/Sidebar.vue?56bc","webpack:///./src/components/Sidebar.vue?6c77","webpack:///./src/components/Histogram.vue","webpack:///./src/components/RangeSlider.vue","webpack:///./src/components/RangeSlider.vue?c950","webpack:///./src/components/RangeSlider.vue?f4ec","webpack:///./src/components/Histogram.vue?5b9f","webpack:///./src/components/Histogram.vue?4c01","webpack:///./src/App.vue?1d14","webpack:///./src/App.vue?97f5","webpack:///./src/main.ts","webpack:///./src/App.vue?15b5"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","class","href","style","target","rel","id","src","selectedDocument","availableFacets","hasQuery","query","searchIn","facets","selectedFacets","facetFilterQuery","selectedMobileDocument","suggestions","correction","actualQuery","count","toLocaleString","sug","values","rangeFilter","showFilters","sortBy","documents","doc","document","addUrlFilter","selectDoc","$event","loading","addHashtag","viewBox","preserveAspectRatio","$emit","title","titleWeb","domain","Date","time","toLocaleDateString","by","descendants","score","url","hashtags","tag","escapeHtml","unsafe","replace","escapeRegExp","string","highlight","text","escapeHTML","keywords","RegExp","split","filter","v","map","join","keyword","debounce","func","wait","timeout","clearTimeout","setTimeout","removeHTTP","ind","indexOf","substr","props","type","String","required","render","emits","__scopeId","points","alt","showSuggestions","ref","handleKey","spellcheck","sugg","suggestionSelection","selectSuggestion","toLowerCase","startsWith","modelValue","lastActionDel","Array","default","watch","val","this","isMobile","input","substring","$refs","setSelectionRange","checkModelValue","computed","suggestionsClean","innerWidth","mounted","methods","blur","event","closeFilter","f","facetNames","field","facet","range","undefined","placeholder","toLocaleLowerCase","checked","isActive","from","Boolean","components","FacetFilter","getElementById","display","hoverText","thisYear","keys","min","max","lower","higher","to","startDragLower","lowerRel","startDragHigher","higherRel","lowerEdit","updater","addEventListener","endDrag","capture","updateMouse","updateTouch","unmounted","removeEventListener","Number","round","updateHandle","clientX","touch","touches","item","preventDefault","xPos","box","getBoundingClientRect","x","width","Math","RangeSlider","getUTCFullYear","reduce","v1","v2","QUERY_LENGTH","Sidebar","Searchbar","Histogram","Result","Preview","inStartup","selectedDocumentElement","queryDebounce","queryDocuments","urlDebounce","updateUrl","baseUrl","indexId","apiKey","forceExactQuery","lastTriggerQuery","queriedAllDocuments","oldVal","deep","handler","nVal","updatePointer","created","updateFromURL","changeUrl","checkScroll","params","URLSearchParams","location","search","console","log","entries","has","JSON","parse","stopPropagation","scrollingElement","bottomReached","scrollTop","clientHeight","scrollHeight","elem","elemRect","elemTop","top","body","height","includes","q","sort","in","fq","stringify","some","k","urlQuery","toString","newSearchPath","history","pushState","clearDocs","filterFacets","searchInFields","facetvaluesfilter","prefix","timeRange","fround","getTime","order","fetch","headers","method","queryType","completion","facetvalueslength","offset","ranges","sections","sectionType","fields","then","resp","json","results","catch","newUrl","App","mount"],"mappings":"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","file":"js/app.cd186e71.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./RangeSlider.vue?vue&type=style&index=0&id=1d2f8b00&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Histogram.vue?vue&type=style&index=0&id=1da25cc7&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Sidebar.vue?vue&type=style&index=0&id=a7d22f52&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Result.vue?vue&type=style&index=0&id=f0c5a95a&lang=scss&scoped=true\"","module.exports = __webpack_public_path__ + \"img/filterIcon.bad02bde.svg\";","module.exports = __webpack_public_path__ + \"img/searchIcon.bbcd3cf5.svg\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Searchbar.vue?vue&type=style&index=0&id=70b91f5a&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./FacetFilter.vue?vue&type=style&index=0&id=cac6a224&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Preview.vue?vue&type=style&index=0&id=585ed4ee&lang=scss\"","\n\n\n\n\n","\n\n\n\n\n","function escapeHtml(unsafe: string) {\n return unsafe\n .replace(/&/g, \"&\")\n .replace(//g, \">\")\n .replace(/\"/g, \""\")\n .replace(/'/g, \"'\");\n}\n\nfunction escapeRegExp(string: string) {\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\"); // $& means the whole matched string\n}\n\nexport function highlight(text: string, query: string, escapeHTML = true) {\n if (!text) return text;\n\n const keywords = query\n .replace(new RegExp('\"', \"gi\"), \"\")\n .split(\" \")\n .filter(v => !!v)\n .map(escapeRegExp);\n\n if (escapeHTML) {\n try {\n text = escapeHtml(text).replace(\n new RegExp(`(?$&\"\n );\n } catch {\n text = escapeHtml(text).replace(\n new RegExp(keywords.join(\"|\"), \"gi\"),\n \"$&\"\n );\n }\n } else {\n for (const keyword of keywords) {\n text = text.replace(\n new RegExp(`${keyword}(?=[a-zA-Z-]*( |<|$))`, \"gi\"),\n \"$&\"\n );\n }\n }\n\n return text;\n}\n\nexport function debounce(func: Function, wait: number) {\n let timeout: number | null;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function(this: any) {\n if (timeout != null) clearTimeout(timeout);\n timeout = setTimeout(() => {\n timeout = null;\n func.apply(this);\n }, wait);\n };\n}\n\nexport function removeHTTP(url: string): string {\n if (!url) return url;\n\n const ind = url.indexOf(\"://\");\n if (ind == -1) return url;\n\n return url.substr(ind + 3);\n}\n","\nimport { defineComponent } from \"vue\";\nimport { HNEntry } from \"../utils/HNEntry\";\nimport { removeHTTP, highlight } from \"../utils/utils\";\n\nexport default defineComponent({\n data() {\n return { removeHTTP, highlight };\n },\n props: {\n document: {\n type: Object as () => HNEntry\n },\n query: {\n type: String,\n required: true\n }\n }\n});\n","import { render } from \"./Preview.vue?vue&type=template&id=585ed4ee\"\nimport script from \"./Preview.vue?vue&type=script&lang=ts\"\nexport * from \"./Preview.vue?vue&type=script&lang=ts\"\n\nimport \"./Preview.vue?vue&type=style&index=0&id=585ed4ee&lang=scss\"\nscript.render = render\n\nexport default script","\n\n\n\n\n","\nimport { defineComponent } from \"vue\";\nimport { HNEntry } from \"../utils/HNEntry\";\nimport { removeHTTP, highlight } from \"../utils/utils\";\n\nexport default defineComponent({\n data() {\n return {\n removeHTTP,\n highlight\n };\n },\n\n props: {\n document: {\n type: Object as () => HNEntry,\n required: true\n },\n query: {\n type: String,\n required: true\n }\n },\n emits: [\"url-filter\"]\n});\n","import { render } from \"./Result.vue?vue&type=template&id=f0c5a95a&scoped=true\"\nimport script from \"./Result.vue?vue&type=script&lang=ts\"\nexport * from \"./Result.vue?vue&type=script&lang=ts\"\n\nimport \"./Result.vue?vue&type=style&index=0&id=f0c5a95a&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-f0c5a95a\"\n\nexport default script","\n\n\n\n\n","\nimport { defineComponent } from \"vue\";\n\nexport default defineComponent({\n data() {\n return {\n showSuggestions: false,\n suggestionSelection: -1,\n lastActionDel: false\n };\n },\n\n emits: [\"update:modelValue\"],\n\n props: {\n modelValue: {\n type: String,\n required: true\n },\n correction: {\n type: String,\n required: true\n },\n suggestions: {\n type: Array as () => string[],\n default: []\n }\n },\n\n watch: {\n correction(val) {\n if (this.isMobile) return;\n\n if (\n val.toLowerCase().startsWith(this.modelValue.toLowerCase()) &&\n !this.lastActionDel\n ) {\n const input = this.modelValue + val.substring(this.modelValue.length);\n // this.$emit(\"update:modelValue\", input);\n (this.$refs.input as HTMLInputElement).value = input;\n (this.$refs.input as HTMLInputElement).setSelectionRange(\n this.modelValue.length,\n val.length\n );\n }\n },\n\n modelValue() {\n if (this.isMobile) return;\n\n this.checkModelValue();\n }\n },\n\n computed: {\n suggestionsClean(): string[] {\n return this.suggestions.filter(sugg => sugg != this.modelValue);\n },\n\n isMobile(): boolean {\n return window.innerWidth <= 750;\n }\n },\n\n mounted() {\n this.checkModelValue();\n },\n\n methods: {\n selectSuggestion(sugg: string) {\n (this.$refs.input as HTMLInputElement).value = sugg;\n (this.$refs.input as HTMLInputElement).blur();\n this.$emit(\"update:modelValue\", sugg);\n },\n\n checkModelValue() {\n this.suggestionSelection = -1;\n\n if ((this.$refs.input as HTMLInputElement).value != this.modelValue) {\n (this.$refs.input as HTMLInputElement).value = this.modelValue;\n // alert(\"T1\");\n }\n\n if (\n this.correction\n .toLowerCase()\n .startsWith(this.modelValue.toLowerCase()) &&\n !this.lastActionDel\n ) {\n const input =\n this.modelValue + this.correction.substring(this.modelValue.length);\n (this.$refs.input as HTMLInputElement).value = input;\n (this.$refs.input as HTMLInputElement).setSelectionRange(\n this.modelValue.length,\n this.correction.length\n );\n // alert(\"T2\");\n }\n },\n\n handleKey(event: KeyboardEvent) {\n if (event.key == \"Backspace\") {\n this.lastActionDel = true;\n } else {\n this.lastActionDel = false;\n }\n\n if (event.key == \"Escape\") {\n (this.$refs.input as HTMLInputElement).blur();\n }\n\n if (event.key == \"Enter\") {\n if (\n this.suggestionSelection != -1 &&\n this.suggestions[this.suggestionSelection]?.toLowerCase() !=\n (this.$refs.input as HTMLInputElement).value.toLowerCase()\n ) {\n const sugg = this.suggestions[\n this.suggestionSelection\n ]?.toLowerCase();\n const input = sugg.startsWith(this.modelValue.toLowerCase())\n ? this.modelValue + sugg.substring(this.modelValue.length)\n : sugg;\n this.$emit(\"update:modelValue\", input);\n } else {\n (this.$refs.input as HTMLInputElement).blur();\n }\n }\n\n if (event.key == \"ArrowDown\") {\n if (this.suggestionsClean.length > this.suggestionSelection + 1) {\n this.suggestionSelection += 1;\n } else {\n this.suggestionSelection = -1;\n }\n } else if (event.key == \"ArrowUp\") {\n if (this.suggestionSelection - 1 >= -1) {\n this.suggestionSelection -= 1;\n }\n }\n }\n }\n});\n","import { render } from \"./Searchbar.vue?vue&type=template&id=70b91f5a&scoped=true\"\nimport script from \"./Searchbar.vue?vue&type=script&lang=ts\"\nexport * from \"./Searchbar.vue?vue&type=script&lang=ts\"\n\nimport \"./Searchbar.vue?vue&type=style&index=0&id=70b91f5a&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-70b91f5a\"\n\nexport default script","\n\n\n\n\n","\n\n\n\n\n","\nimport { defineComponent } from \"vue\";\n\nexport default defineComponent({\n data() {\n return {};\n },\n\n emits: [\"update:modelValue\", \"update:query\"],\n\n props: {\n name: {\n type: String,\n required: true\n },\n modelValue: {\n type: Object\n },\n query: {\n type: String\n },\n values: {\n type: Array as () => {\n value: string | { from: number; to: number };\n count: number;\n }[],\n required: true\n },\n range: {\n type: Boolean,\n required: false,\n default: false\n }\n },\n\n methods: {\n isActive(val: string | { from: number; to: number }) {\n if (this.range && typeof val !== \"string\")\n return this.modelValue?.from == val.from;\n else return !!this.modelValue && this.modelValue.indexOf(val) !== -1;\n }\n }\n});\n","import { render } from \"./FacetFilter.vue?vue&type=template&id=cac6a224&scoped=true\"\nimport script from \"./FacetFilter.vue?vue&type=script&lang=ts\"\nexport * from \"./FacetFilter.vue?vue&type=script&lang=ts\"\n\nimport \"./FacetFilter.vue?vue&type=style&index=0&id=cac6a224&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-cac6a224\"\n\nexport default script","\nimport { defineComponent } from \"vue\";\nimport FacetFilter from \"./FacetFilter.vue\";\n\nexport default defineComponent({\n components: { FacetFilter },\n data() {\n return {\n facetNames: {\n hashtags: \"Hashtags\",\n score: \"Points\",\n descendants: \"Comments\",\n domain: \"Domain\"\n }\n };\n },\n\n emits: [\"update:facets\", \"update:searchIn\", \"update:facetFilterQuery\"],\n\n props: {\n hasQuery: {\n type: Boolean,\n required: true\n },\n availableFacets: {\n type: Array as () => { field: string; type: string; values: [] }[],\n required: true\n },\n facets: {\n type: Object,\n required: true\n },\n searchIn: {\n type: Array as () => string[],\n required: true\n },\n facetFilterQuery: {\n type: Object as () => { [key: string]: string },\n required: true\n }\n },\n\n methods: {\n closeFilter() {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n document.getElementById(\"sidebarWrapper\")!.style.display = \"\";\n }\n }\n});\n","import { render } from \"./Sidebar.vue?vue&type=template&id=a7d22f52&scoped=true\"\nimport script from \"./Sidebar.vue?vue&type=script&lang=ts\"\nexport * from \"./Sidebar.vue?vue&type=script&lang=ts\"\n\nimport \"./Sidebar.vue?vue&type=style&index=0&id=a7d22f52&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-a7d22f52\"\n\nexport default script","\n\n\n\n\n","\n\n\n\n\n","\nimport { defineComponent } from \"vue\";\n\nexport default defineComponent({\n data() {\n return {\n lowerEdit: false,\n updater: null as null | ((val: number) => void)\n };\n },\n\n mounted() {\n document.addEventListener(\"mouseup\", this.endDrag, { capture: true });\n document.addEventListener(\"touchend\", this.endDrag, { capture: true });\n document.addEventListener(\"mousemove\", this.updateMouse, { capture: true });\n document.addEventListener(\"touchmove\", this.updateTouch, { capture: true });\n },\n\n unmounted() {\n document.removeEventListener(\"mouseup\", this.endDrag, { capture: true });\n document.removeEventListener(\"touchend\", this.endDrag, { capture: true });\n document.removeEventListener(\"mousemove\", this.updateMouse, {\n capture: true\n });\n document.removeEventListener(\"touchmove\", this.updateTouch, {\n capture: true\n });\n },\n\n props: {\n min: {\n type: Number,\n default: 0\n },\n max: {\n type: Number,\n default: 1\n },\n lower: {\n type: Number,\n required: true\n },\n higher: {\n type: Number,\n required: true\n },\n round: {\n type: Boolean,\n default: true\n }\n },\n\n emits: [\"update:lower\", \"update:higher\"],\n\n computed: {\n lowerRel(): number {\n return (this.lower - this.min) / (this.max - this.min);\n },\n higherRel(): number {\n return (this.higher - this.min) / (this.max - this.min);\n }\n },\n\n methods: {\n startDragLower() {\n this.lowerEdit = true;\n this.updater = val => this.$emit(\"update:lower\", val);\n },\n\n startDragHigher() {\n this.lowerEdit = false;\n this.updater = val => this.$emit(\"update:higher\", val);\n },\n\n updateMouse(event: MouseEvent) {\n this.updateHandle(event.clientX);\n },\n\n updateTouch(event: TouchEvent) {\n const touch = event.touches.item(0);\n if (touch != null && this.updater != null) {\n event.preventDefault();\n this.updateHandle(touch.clientX);\n }\n },\n\n updateHandle(xPos: number) {\n if (this.updater != null) {\n const box = (this.$refs.range as HTMLElement).getBoundingClientRect();\n let val =\n ((xPos - box.x) / box.width) * (this.max - this.min) + this.min;\n\n if (\n val < this.min ||\n val > this.max ||\n (this.lowerEdit && val > this.higher) ||\n (!this.lowerEdit && val < this.lower)\n )\n return;\n\n if (this.round) val = Math.round(val);\n\n this.updater(val);\n }\n },\n\n endDrag() {\n this.updater = null;\n }\n }\n});\n","import { render } from \"./RangeSlider.vue?vue&type=template&id=1d2f8b00&scoped=true\"\nimport script from \"./RangeSlider.vue?vue&type=script&lang=ts\"\nexport * from \"./RangeSlider.vue?vue&type=script&lang=ts\"\n\nimport \"./RangeSlider.vue?vue&type=style&index=0&id=1d2f8b00&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-1d2f8b00\"\n\nexport default script","\nimport RangeSlider from \"./RangeSlider.vue\";\nimport { defineComponent } from \"vue\";\n\nexport default defineComponent({\n components: { RangeSlider },\n data() {\n return {\n thisYear: new Date().getUTCFullYear(),\n hoverText: null as null | string\n };\n },\n\n props: {\n values: {\n type: Array as () => number[],\n required: true\n },\n rangeFilter: {\n type: Object as () => { from: number; to: number },\n required: true\n }\n },\n\n emits: [\"update:rangeFilter\"],\n\n computed: {\n max(): number {\n return this.values.reduce((v1, v2) => Math.max(v1, v2), 1);\n }\n }\n});\n","import { render } from \"./Histogram.vue?vue&type=template&id=1da25cc7&scoped=true\"\nimport script from \"./Histogram.vue?vue&type=script&lang=ts\"\nexport * from \"./Histogram.vue?vue&type=script&lang=ts\"\n\nimport \"./Histogram.vue?vue&type=style&index=0&id=1da25cc7&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-1da25cc7\"\n\nexport default script","\nimport Preview from \"@/components/Preview.vue\";\nimport Result from \"@/components/Result.vue\";\nimport Searchbar from \"@/components/Searchbar.vue\";\nimport { defineComponent } from \"vue\";\nimport Sidebar from \"@/components/Sidebar.vue\";\nimport Histogram from \"@/components/Histogram.vue\";\n\nimport { debounce } from \"@/utils/utils\";\nimport { HNEntry } from \"@/utils/HNEntry\";\n\nconst QUERY_LENGTH = 20;\n\nexport default defineComponent({\n name: \"App\",\n components: { Sidebar, Searchbar, Histogram, Result, Preview },\n\n data() {\n return {\n query: \"\",\n actualQuery: \"\",\n sortBy: \"newest\",\n searchIn: [\"Stories\"] as string[],\n facetFilterQuery: {\n domain: \"\",\n hashtags: \"\"\n },\n count: \"-\" as number | string,\n inStartup: true,\n suggestions: [] as string[],\n selectedMobileDocument: null as null | HNEntry,\n selectedDocument: null as null | HNEntry,\n selectedDocumentElement: null as null | HTMLElement,\n queryDebounce: debounce(this.queryDocuments, 150),\n urlDebounce: debounce(this.updateUrl, 500),\n documents: [] as HNEntry[],\n baseUrl: \"https://server01.seekstorm.com\",\n indexId: 0,\n apiKey: \"pub_QG065hX9Bj3GI3FXsUFPKWc/sTvf/JAj\",\n availableFacets: [] as {\n field: string;\n type: string;\n values: {\n value: string | { from: number; to: number };\n count: number;\n }[];\n }[],\n selectedFacets: {} as { [key: string]: string[] },\n loading: false,\n forceExactQuery: false,\n lastTriggerQuery: false,\n queriedAllDocuments: false,\n rangeFilter: { from: 2007, to: new Date().getUTCFullYear() }\n };\n },\n\n watch: {\n query(val: string, oldVal: string) {\n if (this.inStartup) return;\n\n if (val.toLowerCase() != this.actualQuery.toLowerCase()) {\n this.selectedFacets = {};\n if (!oldVal && this.sortBy == \"newest\") this.sortBy = \"\";\n if (oldVal && !val && this.sortBy == \"\") this.sortBy = \"newest\";\n this.forceExactQuery = false;\n this.lastTriggerQuery = true;\n this.facetFilterQuery = {\n domain: \"\",\n hashtags: \"\"\n };\n this.queryDebounce();\n } else {\n this.urlDebounce();\n }\n },\n selectedFacets: {\n deep: true,\n handler() {\n this.lastTriggerQuery = false;\n this.queryDocuments();\n }\n },\n facetFilterQuery: {\n deep: true,\n handler() {\n this.lastTriggerQuery = false;\n this.queryDocuments();\n }\n },\n rangeFilter() {\n this.lastTriggerQuery = false;\n this.queryDebounce();\n },\n sortBy() {\n this.lastTriggerQuery = false;\n this.queryDebounce();\n },\n searchIn() {\n this.lastTriggerQuery = false;\n this.queryDebounce();\n },\n selectedDocument(nVal) {\n if (nVal == null) {\n this.selectedDocumentElement = null;\n }\n },\n selectedDocumentElement() {\n this.updatePointer();\n }\n },\n\n created() {\n this.updateFromURL();\n },\n\n mounted() {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (document as any).changeUrl = this.changeUrl;\n document.addEventListener(\"scroll\", this.checkScroll);\n window.addEventListener(\"popstate\", this.updateFromURL);\n\n this.queryDocuments();\n },\n\n unmounted() {\n document.removeEventListener(\"scroll\", this.checkScroll);\n window.removeEventListener(\"popstate\", this.updateFromURL);\n },\n\n methods: {\n updateFromURL() {\n this.inStartup = true;\n\n const params = new URLSearchParams(window.location.search);\n console.log(...params.entries());\n\n this.query = params.get(\"q\") ?? \"\";\n this.sortBy = params.get(\"sort\") ?? (this.query ? \"\" : \"newest\");\n\n this.searchIn =\n params.get(\"in\") === \"all\"\n ? []\n : params.get(\"in\")?.split(\",\") ?? [\"Stories\"];\n this.forceExactQuery = params.get(\"fq\") !== null || false;\n if (params.has(\"filter\"))\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.selectedFacets = JSON.parse(params.get(\"filter\")!);\n else this.selectedFacets = {};\n\n this.inStartup = false;\n },\n\n selectDoc(event: Event, doc: HNEntry) {\n if (window.innerWidth <= 750) {\n event.preventDefault();\n event.stopPropagation();\n this.selectedMobileDocument = doc;\n return false;\n }\n },\n\n showFilters() {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n document.getElementById(\"sidebarWrapper\")!.style.display = \"block\";\n },\n\n checkScroll(event: Event | null = null) {\n if (event && event.target != document) return;\n\n this.selectedDocument = null;\n this.updatePointer();\n\n if (document.scrollingElement) {\n const bottomReached =\n document.scrollingElement.scrollTop +\n document.scrollingElement.clientHeight >=\n document.scrollingElement.scrollHeight - 100;\n if (bottomReached && !this.queriedAllDocuments) {\n this.queryDocuments(false);\n }\n }\n },\n\n updatePointer() {\n const elem = document.getElementById(\"pointer\");\n if (elem) {\n if (this.selectedDocumentElement) {\n elem.style.display = \"block\";\n const elemRect = this.selectedDocumentElement.getBoundingClientRect();\n const elemTop =\n elemRect.top - document.body.getBoundingClientRect().top + 10;\n elem.style.top = elemTop + elemRect.height / 2 + \"px\";\n } else {\n elem.style.display = \"none\";\n }\n }\n },\n\n addHashtag(tag: string) {\n if (this.selectedFacets.hashtags) {\n if (!this.selectedFacets.hashtags.includes(tag))\n this.selectedFacets.hashtags.push(tag);\n } else {\n this.selectedFacets.hashtags = [tag];\n }\n },\n\n updateUrl() {\n const params = {} as {\n q: string;\n sort: string;\n in: string;\n fq: string;\n filter: string;\n };\n\n if (this.query) params.q = this.query;\n if (this.sortBy && !(!this.query && this.sortBy == \"newest\"))\n params.sort = this.sortBy;\n if (this.searchIn.length != 1 || this.searchIn[0] != \"Stories\")\n params.in = this.searchIn.length ? this.searchIn.join(\",\") : \"all\";\n if (this.forceExactQuery) params.fq = \"1\";\n const filter = JSON.stringify(this.selectedFacets);\n if (\n filter.length > 4 &&\n Object.keys(this.selectedFacets).some(\n k => this.selectedFacets[k]?.length\n )\n )\n params.filter = filter;\n\n const urlQuery = new URLSearchParams(params).toString();\n\n const newSearchPath = urlQuery ? `?${urlQuery}` : \"/\";\n\n if (urlQuery && window.location.search != newSearchPath)\n window.history.pushState(\"\", \"\", newSearchPath);\n\n document.title = this.query\n ? `${this.query} | DeepHN`\n : \"DeepHN | powered by SeekStorm\";\n },\n\n queryDocuments(clearDocs = true) {\n if (this.inStartup) return;\n\n this.urlDebounce();\n\n if (this.loading) return;\n\n this.loading = true;\n\n if (clearDocs) {\n this.queriedAllDocuments = false;\n }\n\n if (this.queriedAllDocuments) return;\n const filterFacets: {\n field: string;\n value:\n | (string | number | null)[]\n | { from?: number; to?: number; type?: string };\n }[] = [];\n\n for (const key of Object.keys(this.selectedFacets)) {\n if ([\"score\", \"descendants\"].includes(key)) {\n if (this.selectedFacets[key])\n filterFacets.push({\n field: key,\n value: {\n type: \"InclusiveInclusive\",\n ...this.selectedFacets[key]\n }\n });\n } else {\n if (\n this.selectedFacets[key] &&\n this.selectedFacets[key]?.length !== 0\n )\n filterFacets.push({ field: key, value: this.selectedFacets[key] });\n }\n }\n\n const facetvaluesfilter = [\n { field: \"domain\", prefix: this.facetFilterQuery.domain },\n { field: \"hashtags\", prefix: this.facetFilterQuery.hashtags }\n ];\n\n const timeRange = [];\n const thisYear = new Date().getUTCFullYear();\n for (let i = 2007; i <= thisYear; i++) {\n timeRange.push(Math.fround(new Date(i.toString()).getTime() / 1000));\n }\n\n let searchInFields;\n if (this.searchIn.length && this.searchIn.length != 3) {\n searchInFields = [];\n if (this.searchIn.includes(\"Stories\"))\n searchInFields.push(\"title\", \"text\", \"url\");\n if (this.searchIn.includes(\"Comments\")) searchInFields.push(\"comments\");\n if (this.searchIn.includes(\"Web\"))\n searchInFields.push(\"titleweb\", \"textweb\");\n }\n\n let sort: { field: string }[] | { field: string; order: string } = [\n { field: \"_rank\" },\n { field: \"score\" }\n ];\n\n if (this.sortBy) {\n if (this.sortBy == \"newest\")\n sort = {\n field: \"time\",\n order: \"desc\"\n };\n else if (this.sortBy == \"oldest\")\n sort = {\n field: \"time\",\n order: \"asc\"\n };\n else\n sort = {\n field: this.sortBy,\n order: \"desc\"\n };\n }\n\n fetch(`${this.baseUrl}/indices/${this.indexId}/documents/query`, {\n headers: {\n apiKey: this.apiKey\n },\n method: \"POST\",\n body: JSON.stringify({\n query: this.query,\n queryType: this.forceExactQuery ? \"search\" : \"instant\",\n completion: true,\n length: QUERY_LENGTH,\n facetvalueslength: 7,\n offset: clearDocs ? 0 : this.documents.length,\n filter: [\n {\n field: \"time\",\n value: {\n type: \"InclusiveExclusive\",\n from: Math.round(\n new Date(this.rangeFilter.from.toString()).getTime() / 1000\n ),\n to: Math.round(\n new Date((this.rangeFilter.to + 1).toString()).getTime() /\n 1000\n )\n }\n },\n ...filterFacets\n ],\n facetvaluesfilter,\n ranges: [\n {\n field: \"time\",\n sections: timeRange\n },\n {\n field: \"descendants\",\n sectionType: \"SumAboveInclusive\",\n sections: [10, 100, 1000]\n },\n {\n field: \"score\",\n sectionType: \"SumAboveInclusive\",\n sections: [10, 100, 1000]\n }\n ],\n sort,\n fields: searchInFields\n })\n })\n .then(async resp => {\n const data = await resp.json();\n\n if (data.results.length < QUERY_LENGTH)\n this.queriedAllDocuments = true;\n\n if (clearDocs) this.documents = data.results;\n else this.documents.push(...data.results);\n this.suggestions = data.suggestions;\n this.count = data.count;\n this.actualQuery = data.query;\n this.availableFacets = data.facets;\n this.loading = false;\n\n setTimeout(() => {\n this.checkScroll();\n }, 100);\n })\n .catch(() => (this.loading = false));\n },\n\n addUrlFilter(url: string) {\n if (window.innerWidth <= 750) return;\n\n if (this.selectedFacets.domain) {\n if (!this.selectedFacets.domain.includes(url))\n this.selectedFacets.domain.push(url);\n } else {\n this.selectedFacets.domain = [url];\n }\n },\n\n // TODO remove\n changeUrl(newUrl: string, indexId: number, key: string) {\n this.baseUrl = newUrl;\n this.indexId = indexId;\n this.apiKey = key;\n }\n }\n});\n","import { render } from \"./App.vue?vue&type=template&id=62c685aa\"\nimport script from \"./App.vue?vue&type=script&lang=ts\"\nexport * from \"./App.vue?vue&type=script&lang=ts\"\n\nimport \"./App.vue?vue&type=style&index=0&id=62c685aa&lang=scss\"\nscript.render = render\n\nexport default script","import { createApp } from \"vue\";\nimport App from \"./App.vue\";\n\ncreateApp(App).mount(\"#app\");\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./App.vue?vue&type=style&index=0&id=62c685aa&lang=scss\""],"sourceRoot":""}