{"version":3,"file":"js/app.76bb23ea.js","mappings":"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","sources":["webpack://@minids/JWST/./src/MainContent.vue?58f8","webpack://@minids/JWST/../common/dist/src/keyboard.js","webpack://@minids/JWST/../common/dist/src/components/MiniDSBase.js","webpack://@minids/JWST/../common/dist/src/background.js","webpack://@minids/JWST/./src/MainContent.vue?81da","webpack://@minids/JWST/./src/MainContent.vue","webpack://@minids/JWST/./src/FolderView.vue?6e9e","webpack://@minids/JWST/./src/FolderView.vue?8575","webpack://@minids/JWST/./src/FolderView.vue","webpack://@minids/JWST/./plugins/vuetify.ts","webpack://@minids/JWST/./src/main.ts","webpack://@minids/JWST/webpack/bootstrap","webpack://@minids/JWST/webpack/runtime/chunk loaded","webpack://@minids/JWST/webpack/runtime/compat get default export","webpack://@minids/JWST/webpack/runtime/create fake namespace object","webpack://@minids/JWST/webpack/runtime/define property getters","webpack://@minids/JWST/webpack/runtime/ensure chunk","webpack://@minids/JWST/webpack/runtime/get javascript chunk filename","webpack://@minids/JWST/webpack/runtime/get mini-css chunk filename","webpack://@minids/JWST/webpack/runtime/global","webpack://@minids/JWST/webpack/runtime/hasOwnProperty shorthand","webpack://@minids/JWST/webpack/runtime/load script","webpack://@minids/JWST/webpack/runtime/make namespace object","webpack://@minids/JWST/webpack/runtime/publicPath","webpack://@minids/JWST/webpack/runtime/jsonp chunk loading","webpack://@minids/JWST/webpack/startup"],"sourcesContent":["import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, toDisplayString as _toDisplayString, vShow as _vShow, withDirectives as _withDirectives, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, vModelSelect as _vModelSelect, createCommentVNode as _createCommentVNode, Transition as _Transition, withCtx as _withCtx, normalizeStyle as _normalizeStyle, createBlock as _createBlock, vModelText as _vModelText, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nimport _imports_0 from './assets/logo_wwt.png'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-c1dde808\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"main-content\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"link\", {\n rel: \"stylesheet\",\n href: \"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css\"\n}, null, -1))\nconst _hoisted_3 = { class: \"hamb-icon-container\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fas fa-sliders-h\",\n style: {\"font-size\":\"24px\"}\n}, null, -1))\nconst _hoisted_5 = [\n _hoisted_4\n]\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fas fa-regular fa-info-circle\" }, null, -1))\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fas fa-solid fa-star\" }, null, -1))\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fas fa-adjust\" }, null, -1))\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"li\", { class: \"hamb-menu-items\" }, [\n /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://www.rocketcenter.com/INTUITIVEPlanetarium/InteractiveAstronomy\",\n target: \"_blank\",\n style: {\"text-decoration\":\"none\",\"color\":\"inherit\"},\n onmouseover: \"this.style.textDecoration='none';\",\n onmouseout: \"this.style.textDecoration='none';\"\n }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"fas fa-solid fa-rocket\" }),\n /*#__PURE__*/_createElementVNode(\"i\", null, \" INTUITIVE\"),\n /*#__PURE__*/_createElementVNode(\"sup\", null, \"®\"),\n /*#__PURE__*/_createTextVNode(\" Planetarium \")\n ])\n], -1))\nconst _hoisted_10 = { class: \"title\" }\nconst _hoisted_11 = { class: \"bgMenuContainer\" }\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"bgMenuText\" }, \"Sky survey: \", -1))\nconst _hoisted_13 = [\"value\"]\nconst _hoisted_14 = {\n key: 0,\n class: \"intro-container\"\n}\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fas fa-times\",\n style: {\"font-size\":\"20px\"}\n}, null, -1))\nconst _hoisted_16 = [\n _hoisted_15\n]\nconst _hoisted_17 = { style: {\"font-size\":\"18px\",\"font-family\":\"'Roboto'\",\"margin-bottom\":\"1em\"} }\nconst _hoisted_18 = {\n class: \"text\",\n style: {\"font-size\":\"14px\",\"margin-bottom\":\"1em\"}\n}\nconst _hoisted_19 = { style: {\"font-size\":\"14px\",\"margin-bottom\":\"1em\"} }\nconst _hoisted_20 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { style: {\"font-size\":\"14px\",\"margin-bottom\":\"1em\"} }, [\n /*#__PURE__*/_createTextVNode(\" Interactive created by \"),\n /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://twitter.com/ADavidWeigel\",\n target: \"_blank\",\n class: \"links\",\n style: {\"margin-right\":\"0.5em\"}\n }, \"A. David Weigel\"),\n /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://www.linkedin.com/in/erika-s-a37431153/\",\n target: \"_blank\",\n class: \"links\",\n style: {\"margin-right\":\"0.5em\"}\n }, \"Érika Silva\"),\n /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://twitter.com/pkgw\",\n target: \"_blank\",\n class: \"links\",\n style: {\"margin-right\":\"0.5em\"}\n }, \"Peter K. G. Williams\"),\n /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://www.jcarifio.com/projects\",\n target: \"_blank\",\n class: \"links\",\n style: {\"margin-right\":\"0.5em\"}\n }, \"Jon Carifio\")\n], -1))\nconst _hoisted_21 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { style: {\"font-size\":\"14px\"} }, [\n /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://worldwidetelescope.org/home/\",\n target: \"_blank\",\n class: \"links\"\n }, [\n /*#__PURE__*/_createTextVNode(\" Powered by AAS WorldWide Telescope\"),\n /*#__PURE__*/_createElementVNode(\"a\", null, [\n /*#__PURE__*/_createElementVNode(\"img\", {\n alt: \"WWT Logo\",\n src: _imports_0,\n width: \"20\",\n height: \"20\",\n style: {\"vertical-align\":\"middle\",\"margin-left\":\"0.5em\"}\n })\n ])\n ])\n], -1))\nconst _hoisted_22 = {\n key: 1,\n class: \"description-container\"\n}\nconst _hoisted_23 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fas fa-times\",\n style: {\"font-size\":\"20px\"}\n}, null, -1))\nconst _hoisted_24 = [\n _hoisted_23\n]\nconst _hoisted_25 = { style: {\"font-size\":\"18px\",\"margin-bottom\":\"1em\"} }\nconst _hoisted_26 = { style: {\"font-size\":\"16px\",\"margin-bottom\":\"1em\"} }\nconst _hoisted_27 = { style: {\"font-size\":\"16px\"} }\nconst _hoisted_28 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"a\", { style: {\"font-size\":\"16px\",\"margin-left\":\"0.5em\"} }, \" - \", -1))\nconst _hoisted_29 = [\"href\"]\nconst _hoisted_30 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"a\", { style: {\"vertical-align\":\"middle\",\"margin-left\":\"0.5em\"} }, [\n /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fas fa-solid fa-rocket\",\n style: {\"margin-right\":\"0.5em\"}\n })\n], -1))\nconst _hoisted_31 = {\n class: \"modal\",\n id: \"modal-loading\"\n}\nconst _hoisted_32 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"container\" }, [\n /*#__PURE__*/_createElementVNode(\"div\", { class: \"spinner\" }),\n /*#__PURE__*/_createElementVNode(\"p\", null, \"Loading …\")\n], -1))\nconst _hoisted_33 = [\n _hoisted_32\n]\nconst _hoisted_34 = {\n key: 2,\n class: \"bg-slider-container\"\n}\nconst _hoisted_35 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"bg-slider-text\" }, [\n /*#__PURE__*/_createTextVNode(\"Opacity\"),\n /*#__PURE__*/_createElementVNode(\"br\")\n], -1))\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_WorldWideTelescope = _resolveComponent(\"WorldWideTelescope\")!\n const _component_folder_view = _resolveComponent(\"folder-view\")!\n const _component_v_app = _resolveComponent(\"v-app\")!\n\n return (_openBlock(), _createBlock(_component_v_app, {\n id: \"app\",\n style: _normalizeStyle(_ctx.cssVars)\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _createVNode(_component_WorldWideTelescope, {\n \"wwt-namespace\": _ctx.wwtNamespace,\n onPointerdown: _ctx.wwtOnPointerDown,\n onPointermove: _ctx.wwtOnPointerMove,\n onPointerup: _ctx.wwtOnPointerUp\n }, null, 8, [\"wwt-namespace\", \"onPointerdown\", \"onPointermove\", \"onPointerup\"]),\n _hoisted_2,\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"button\", {\n class: \"menu-toggle\",\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.toggleMenu && _ctx.toggleMenu(...args)))\n }, _hoisted_5),\n _createElementVNode(\"div\", {\n class: _normalizeClass({ fullscreen: _ctx.fullscreen })\n }, [\n _createElementVNode(\"button\", {\n class: \"fullscreen-button\",\n onClick: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.toggleFullscreen && _ctx.toggleFullscreen(...args)))\n }, [\n _createElementVNode(\"i\", {\n class: _normalizeClass(_ctx.fullscreen ? 'fas fa-compress fa-lg' : 'fas fa-expand fa-lg')\n }, null, 2)\n ])\n ], 2),\n _createElementVNode(\"ul\", {\n class: _normalizeClass([\"hamb-menu-container\", {'show': _ctx.isMenuOpen }])\n }, [\n _createElementVNode(\"li\", {\n class: \"hamb-menu-items\",\n style: {\"cursor\":\"pointer\"},\n onClick: _cache[2] || (_cache[2] = \n//@ts-ignore\n(...args) => (_ctx.openIntro && _ctx.openIntro(...args)))\n }, [\n _hoisted_6,\n _createTextVNode(\" Overview \")\n ]),\n _createElementVNode(\"li\", {\n class: \"hamb-menu-items\",\n style: {\"cursor\":\"pointer\"},\n onClick: _cache[3] || (_cache[3] = \n//@ts-ignore\n(...args) => (_ctx.toggleBgButton && _ctx.toggleBgButton(...args)))\n }, [\n _hoisted_7,\n _createTextVNode(\" Choose sky survey \")\n ]),\n _createElementVNode(\"li\", {\n class: \"hamb-menu-items\",\n style: {\"cursor\":\"pointer\"},\n onClick: _cache[4] || (_cache[4] = \n//@ts-ignore\n(...args) => (_ctx.toggleBgSlider && _ctx.toggleBgSlider(...args)))\n }, [\n _hoisted_8,\n _createTextVNode(\" Crossfade \")\n ]),\n _hoisted_9\n ], 2)\n ]),\n _withDirectives(_createElementVNode(\"div\", {\n onClick: _cache[5] || (_cache[5] = \n//@ts-ignore\n(...args) => (_ctx.hideTitle && _ctx.hideTitle(...args)))\n }, [\n _createElementVNode(\"h1\", _hoisted_10, _toDisplayString(_ctx.title), 1)\n ], 512), [\n [_vShow, _ctx.showTitle]\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_11, [\n _hoisted_12,\n _withDirectives(_createElementVNode(\"select\", {\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = ($event: any) => ((_ctx.curBackgroundImagesetName) = $event)),\n class: \"bgMenu\",\n onChange: _cache[8] || (_cache[8] = \n//@ts-ignore\n(...args) => (_ctx.hideMenu && _ctx.hideMenu(...args)))\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.backgroundImagesets, (bg) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: bg.imagesetName,\n key: bg.imagesetName,\n class: \"custom-option\",\n onClick: _cache[6] || (_cache[6] = \n//@ts-ignore\n(...args) => (_ctx.toggleBgSlider2 && _ctx.toggleBgSlider2(...args)))\n }, _toDisplayString(bg.displayName), 9, _hoisted_13))\n }), 128))\n ], 544), [\n [_vModelSelect, _ctx.curBackgroundImagesetName]\n ])\n ], 512), [\n [_vShow, _ctx.showBgButton]\n ]),\n (_ctx.showIntro)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", {\n class: \"close-intro\",\n onClick: _cache[9] || (_cache[9] = \n//@ts-ignore\n(...args) => (_ctx.closeIntro && _ctx.closeIntro(...args)))\n }, _hoisted_16),\n _createElementVNode(\"h1\", _hoisted_17, _toDisplayString(_ctx.introTitle), 1),\n _createElementVNode(\"p\", _hoisted_18, _toDisplayString(_ctx.introText), 1),\n _createElementVNode(\"p\", _hoisted_19, _toDisplayString(_ctx.introInstructions), 1),\n _hoisted_20,\n _hoisted_21\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.showDescription)\n ? _withDirectives((_openBlock(), _createElementBlock(\"div\", _hoisted_22, [\n _createElementVNode(\"div\", {\n class: \"close-description\",\n onClick: _cache[10] || (_cache[10] = \n//@ts-ignore\n(...args) => (_ctx.closeDescription && _ctx.closeDescription(...args)))\n }, _hoisted_24),\n _createElementVNode(\"h1\", _hoisted_25, _toDisplayString(_ctx.descrTitles), 1),\n _createElementVNode(\"p\", _hoisted_26, _toDisplayString(_ctx.descriptions), 1),\n _createElementVNode(\"p\", _hoisted_27, [\n _createElementVNode(\"i\", null, \" Credits: \" + _toDisplayString(_ctx.descrCredits), 1),\n _hoisted_28,\n _createElementVNode(\"a\", {\n href: _ctx.descrCreditsURL,\n target: \"_blank\",\n class: \"links\"\n }, [\n _hoisted_30,\n _createTextVNode(\"Learn more \")\n ], 8, _hoisted_29)\n ])\n ], 512)), [\n [_vShow, !_ctx.showBgButton]\n ])\n : _createCommentVNode(\"\", true),\n _createVNode(_Transition, { name: \"fade\" }, {\n default: _withCtx(() => [\n _withDirectives(_createElementVNode(\"div\", _hoisted_31, _hoisted_33, 512), [\n [_vShow, _ctx.isLoading]\n ])\n ]),\n _: 1\n }),\n _withDirectives(_createElementVNode(\"div\", {\n id: \"close-popover\",\n style: _normalizeStyle(_ctx.popoverCssVars)\n }, _toDisplayString(_ctx.lastClosePt?.name), 5), [\n [_vShow, _ctx.lastClosePt !== null]\n ]),\n _withDirectives(_createElementVNode(\"div\", {\n onClick: _cache[11] || (_cache[11] = \n//@ts-ignore\n(...args) => (_ctx.toggleFolderView && _ctx.toggleFolderView(...args)))\n }, [\n (_ctx.imagesetFolder !== null)\n ? (_openBlock(), _createBlock(_component_folder_view, {\n key: 0,\n class: \"folder-view\",\n expandable: \"\",\n thumbnails: true,\n open: _ctx.mobile ? true : true,\n \"root-folder\": _ctx.imagesetFolder,\n \"wwt-namespace\": _ctx.wwtNamespace,\n incomingItemSelect: _ctx.incomingItemSelect,\n \"flex-direction\": \"column\",\n onSelect: _ctx.onItemSelected,\n onOpacity: _ctx.onOpacityChanged\n }, null, 8, [\"open\", \"root-folder\", \"wwt-namespace\", \"incomingItemSelect\", \"onSelect\", \"onOpacity\"]))\n : _createCommentVNode(\"\", true)\n ], 512), [\n [_vShow, _ctx.showFolderView]\n ]),\n (_ctx.showBgSlider)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_34, [\n (_ctx.currentTool == 'crossfade')\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_35,\n _withDirectives(_createElementVNode(\"input\", {\n class: \"opacity-range\",\n type: \"range\",\n \"onUpdate:modelValue\": _cache[12] || (_cache[12] = ($event: any) => ((_ctx.foregroundOpacity) = $event))\n }, null, 512), [\n [_vModelText, _ctx.foregroundOpacity]\n ])\n ], 64))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n }, 8, [\"style\"]))\n}","import { __values } from \"tslib\";\r\nvar KeyPressInfo = /** @class */ (function () {\r\n function KeyPressInfo(code, modifiers) {\r\n var _a, _b, _c, _d;\r\n this.code = code;\r\n this.ctrl = (_a = modifiers === null || modifiers === void 0 ? void 0 : modifiers.ctrl) !== null && _a !== void 0 ? _a : false;\r\n this.alt = (_b = modifiers === null || modifiers === void 0 ? void 0 : modifiers.alt) !== null && _b !== void 0 ? _b : false;\r\n this.shift = (_c = modifiers === null || modifiers === void 0 ? void 0 : modifiers.shift) !== null && _c !== void 0 ? _c : false;\r\n this.meta = (_d = modifiers === null || modifiers === void 0 ? void 0 : modifiers.meta) !== null && _d !== void 0 ? _d : false;\r\n }\r\n KeyPressInfo.prototype.matches = function (event) {\r\n return (event.code === this.code &&\r\n event.ctrlKey === this.ctrl &&\r\n event.altKey === this.alt &&\r\n event.shiftKey === this.shift &&\r\n event.metaKey === this.meta);\r\n };\r\n return KeyPressInfo;\r\n}());\r\nvar KeyboardControlSettings = /** @class */ (function () {\r\n function KeyboardControlSettings(_a) {\r\n var _b = _a.zoomIn, zoomIn = _b === void 0 ? [new KeyPressInfo(\"KeyI\")] : _b, _c = _a.zoomOut, zoomOut = _c === void 0 ? [new KeyPressInfo(\"KeyO\")] : _c, _d = _a.moveUp, moveUp = _d === void 0 ? [new KeyPressInfo(\"KeyW\")] : _d, _e = _a.moveLeft, moveLeft = _e === void 0 ? [new KeyPressInfo(\"KeyA\")] : _e, _f = _a.moveDown, moveDown = _f === void 0 ? [new KeyPressInfo(\"KeyS\")] : _f, _g = _a.moveRight, moveRight = _g === void 0 ? [new KeyPressInfo(\"KeyD\")] : _g, _h = _a.moveAmount, moveAmount = _h === void 0 ? 20 : _h;\r\n // This is to make sure that we can't make a listener for an action type that doesn't exist\r\n this.actionTypes = [\r\n \"zoomIn\",\r\n \"zoomOut\",\r\n \"moveUp\",\r\n \"moveDown\",\r\n \"moveLeft\",\r\n \"moveRight\",\r\n ];\r\n this.zoomIn = zoomIn;\r\n this.zoomOut = zoomOut;\r\n this.moveUp = moveUp;\r\n this.moveDown = moveDown;\r\n this.moveLeft = moveLeft;\r\n this.moveRight = moveRight;\r\n this.moveAmount = moveAmount;\r\n }\r\n KeyboardControlSettings.prototype.makeListener = function (actionName, action) {\r\n var _this = this;\r\n return function (e) {\r\n var e_1, _a;\r\n try {\r\n for (var _b = __values(_this[actionName]), _c = _b.next(); !_c.done; _c = _b.next()) {\r\n var keyPress = _c.value;\r\n if (keyPress.matches(e)) {\r\n action();\r\n }\r\n }\r\n }\r\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\r\n finally {\r\n try {\r\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\r\n }\r\n finally { if (e_1) throw e_1.error; }\r\n }\r\n };\r\n };\r\n return KeyboardControlSettings;\r\n}());\r\nexport { KeyboardControlSettings };\r\n//# sourceMappingURL=keyboard.js.map","import { defineComponent } from \"vue\";\r\nimport { WWTAwareComponent } from \"@wwtelescope/engine-pinia\";\r\nimport { KeyboardControlSettings } from \"../keyboard\";\r\nimport screenfull from \"screenfull\";\r\nvar defaultWindowShape = { width: 1200, height: 900 };\r\nexport default defineComponent({\r\n extends: WWTAwareComponent,\r\n props: {\r\n kcs: { type: KeyboardControlSettings, default: new KeyboardControlSettings({}) }\r\n },\r\n data: function () {\r\n return {\r\n fullscreenModeActive: false,\r\n resizeObserver: null,\r\n touchscreen: false,\r\n windowShape: defaultWindowShape,\r\n };\r\n },\r\n created: function () {\r\n this.touchscreen = matchMedia('(hover: none)').matches;\r\n },\r\n mounted: function () {\r\n var _this = this;\r\n if (screenfull.isEnabled) {\r\n screenfull.on(\"change\", this.onFullscreenEvent);\r\n }\r\n // ResizeObserver not yet in TypeScript but we should start using it when\r\n // available. If we're in an iframe, our shape might change spontaneously.\r\n this.resizeObserver = new ResizeObserver(function (_entries) { return _this.onResizeEvent(); });\r\n this.resizeObserver.observe(this.$el);\r\n this.onResizeEvent();\r\n // Handling key presses\r\n window.addEventListener(\"keydown\", this.kcs.makeListener(\"zoomIn\", function () { return _this.doZoom(true); }));\r\n window.addEventListener(\"keydown\", this.kcs.makeListener(\"zoomOut\", function () { return _this.doZoom(false); }));\r\n window.addEventListener(\"keydown\", this.kcs.makeListener(\"moveUp\", function () {\r\n return _this.doMove(0, _this.kcs.moveAmount);\r\n }));\r\n window.addEventListener(\"keydown\", this.kcs.makeListener(\"moveDown\", function () {\r\n return _this.doMove(0, -_this.kcs.moveAmount);\r\n }));\r\n window.addEventListener(\"keydown\", this.kcs.makeListener(\"moveLeft\", function () {\r\n return _this.doMove(_this.kcs.moveAmount, 0);\r\n }));\r\n window.addEventListener(\"keydown\", this.kcs.makeListener(\"moveRight\", function () {\r\n return _this.doMove(-_this.kcs.moveAmount, 0);\r\n }));\r\n },\r\n destroyed: function () {\r\n var _a;\r\n if (screenfull.isEnabled) {\r\n screenfull.off(\"change\", this.onFullscreenEvent);\r\n }\r\n (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.unobserve(this.$el);\r\n },\r\n methods: {\r\n doZoom: function (zoomIn) {\r\n if (zoomIn) {\r\n this.zoom(1 / 1.3);\r\n }\r\n else {\r\n this.zoom(1.3);\r\n }\r\n },\r\n doMove: function (x, y) {\r\n this.move({ x: x, y: y });\r\n },\r\n onFullscreenEvent: function () {\r\n // NB: we need the isEnabled check to make TypeScript happy even though it\r\n // is not necessary in practice here.\r\n if (screenfull.isEnabled) {\r\n this.fullscreenModeActive = screenfull.isFullscreen;\r\n }\r\n },\r\n onResizeEvent: function () {\r\n var width = this.$el.clientWidth;\r\n var height = this.$el.clientHeight;\r\n if (width > 0 && height > 0) {\r\n this.windowShape = { width: width, height: height };\r\n }\r\n else {\r\n this.windowShape = defaultWindowShape;\r\n }\r\n },\r\n blurActiveElement: function () {\r\n var active = document.activeElement;\r\n if (active instanceof HTMLElement) {\r\n active.blur();\r\n }\r\n }\r\n },\r\n computed: {\r\n fullscreenAvailable: function () {\r\n return screenfull.isEnabled;\r\n }\r\n }\r\n});\r\n//# sourceMappingURL=MiniDSBase.js.map","var BackgroundImageset = /** @class */ (function () {\r\n function BackgroundImageset(displayName, imagesetName) {\r\n this.displayName = displayName;\r\n this.imagesetName = imagesetName;\r\n }\r\n return BackgroundImageset;\r\n}());\r\nexport { BackgroundImageset };\r\nexport var skyBackgroundImagesets = [\r\n new BackgroundImageset(\"Optical (Terapixel DSS)\", \"Digitized Sky Survey (Color)\"),\r\n new BackgroundImageset(\"Low-frequency radio (VLSS)\", \"VLSS: VLA Low-frequency Sky Survey (Radio)\"),\r\n new BackgroundImageset(\"Infrared (2MASS)\", \"2Mass: Imagery (Infrared)\"),\r\n new BackgroundImageset(\"Infrared (SFD dust map)\", \"SFD Dust Map (Infrared)\"),\r\n new BackgroundImageset(\"Ultraviolet (GALEX)\", \"GALEX (Ultraviolet)\"),\r\n new BackgroundImageset(\"X-Ray (ROSAT RASS)\", \"RASS: ROSAT All Sky Survey (X-ray)\"),\r\n new BackgroundImageset(\"Gamma Rays (FERMI LAT 8-year)\", \"Fermi LAT 8-year (gamma)\"),\r\n];\r\n//# sourceMappingURL=background.js.map","\r\nimport { defineComponent } from 'vue';\r\n\r\nimport { distance } from \"@wwtelescope/astro\";\r\nimport { Color, Folder, Layer, RenderContext, Settings} from \"@wwtelescope/engine\";\r\nimport { ImageSetType, MarkerScales, PlotTypes, PointScaleTypes, Thumbnail } from \"@wwtelescope/engine-types\";\r\n\r\nimport L, { LeafletMouseEvent, Map } from \"leaflet\";\r\nimport { tween } from \"femtotween\";\r\nimport { MiniDSBase, BackgroundImageset, skyBackgroundImagesets} from \"@minids/common\";\r\n\r\nimport { ImageSetLayer, Place, Imageset } from \"@wwtelescope/engine\";\r\nimport { applyImageSetLayerSetting } from \"@wwtelescope/engine-helpers\";\r\n\r\nimport { ref, onMounted } from 'vue';\r\n\r\n\r\ninterface MoveOptions {\r\n instant?: boolean;\r\n zoomDeg?: number;\r\n rollRad?: number;\r\n}\r\n\r\n\r\nconst D2R = Math.PI / 180;\r\nconst R2D = 180 / Math.PI;\r\n\r\ntype LocationRad = {\r\n longitudeRad: number;\r\n latitudeRad: number;\r\n};\r\n\r\ntype EquatorialRad = {\r\n raRad: number;\r\n decRad: number;\r\n};\r\n\r\ntype HorizontalRad = {\r\n altRad: number;\r\n azRad: number;\r\n};\r\n\r\ninterface PointData {\r\n x: number;\r\n y: number;\r\n ra: number;\r\n dec: number;\r\n name: string;\r\n color: Color;\r\n}\r\n\r\ntype ToolType = \"crossfade\" | \"choose-background\" | null;\r\ntype SheetType = \"text\" | \"video\" | null;\r\n\r\nexport default defineComponent({\r\n\r\n setup() {\r\n const fullscreen = ref(false);\r\n\r\n function toggleFullscreen() {\r\n if (!document.fullscreenElement) {\r\n document.documentElement.requestFullscreen().catch((err) => {\r\n console.log(`Error attempting to enable full-screen mode: ${err.message} (${err.name})`);\r\n });\r\n } else {\r\n if (document.exitFullscreen) {\r\n document.exitFullscreen();\r\n }\r\n }\r\n }\r\n\r\n onMounted(() => {\r\n document.addEventListener('fullscreenchange', () => {\r\n fullscreen.value = !!document.fullscreenElement;\r\n });\r\n });\r\n\r\n return {\r\n fullscreen,\r\n toggleFullscreen\r\n };\r\n },\r\n\r\n\r\n extends: MiniDSBase,\r\n name: 'MyComponent',\r\n\r\n props: {\r\n wtml: {\r\n type: Object,\r\n required: true\r\n },\r\n wwtNamespace: {\r\n type: String,\r\n required: true\r\n },\r\n url: {\r\n type: String,\r\n required: true\r\n },\r\n thumbnailUrl: {\r\n type: String,\r\n required: true\r\n },\r\n bgWtml: {\r\n type: String,\r\n required: true\r\n },\r\n bgName: {\r\n type: String,\r\n required: true\r\n },\r\n fgName: {\r\n type: String,\r\n required: true\r\n },\r\n title: {\r\n required: true\r\n },\r\n introText: {\r\n required: true\r\n },\r\n introTitle: {\r\n required: true\r\n },\r\n introInstructions: {\r\n required: true\r\n },\r\n },\r\n data() {\r\n return {\r\n isMenuOpen: false,\r\n hiddenTitle: false,\r\n hiddenIntro: false,\r\n showIntro: true,\r\n showBgButton: false,\r\n showBgSlider: true,\r\n showFolderView: true,\r\n descriptions: '',\r\n descrTitles: '',\r\n descrCredits: '',\r\n descrCreditsURL: '',\r\n showDescription: false,\r\n showLeftMenu: false,\r\n showTitle: false,\r\n\r\n showSplashScreen: true,\r\n imagesetLayers: {} as Record,\r\n layersLoaded: false,\r\n positionSet: false,\r\n imagesetFolder: null as Folder | null,\r\n backgroundImagesets: [] as BackgroundImageset[],\r\n layers: {} as Record,\r\n\r\n color0: \"#4c8bff\",\r\n color1: \"#00b27a\",\r\n color2: \"#ffaa00\",\r\n color3: \"#8901bd\",\r\n color4: \"#00c9ff\",\r\n color5: \"#ff0000\",\r\n colorD: \"#45aecb\",\r\n colorRed: \"#ffffff\",\r\n todayColor: \"#D6B004\",\r\n\r\n incomingItemSelect: null as Thumbnail | null,\r\n sheet: null as SheetType,\r\n showTextTooltip: false,\r\n showVideoTooltip: false,\r\n showControls: false,\r\n currentTool: \"crossfade\" as ToolType,\r\n tab: 0,\r\n map: null as Map | null,\r\n lastClosePt: null as PointData | null\r\n };\r\n },\r\n\r\n mounted() {\r\n\r\n this.waitForReady().then(async () => {\r\n this.setClockSync(false);\r\n const layerPromises: Promise[] = []; \r\n\r\n this.loadImageCollection({\r\n url: this.wtml.layeredimagery,\r\n loadChildFolders: true,\r\n }).then((folder) => {\r\n this.imagesetFolder = folder;\r\n const children = folder.get_children() ?? [];\r\n if (children === null) {\r\n return;\r\n }\r\n\r\n for (const item of children) {\r\n if (item instanceof Place) {\r\n this.gotoTarget({\r\n place: item,\r\n noZoom: true,\r\n instant: true,\r\n trackObject: false,\r\n });\r\n break;\r\n }\r\n }\r\n });\r\n \r\n // this.backgroundImagesets = [...skyBackgroundImagesets]; // This is the default background imagery\r\n\r\n this.showControls = !this.mobile;\r\n\r\n /* This section adds extra foreground imagery to the default sky survey menu. \r\n This is hard coded and we could find a better way to add them in the future. */\r\n this.loadImageCollection({\r\n url: this.bgWtml,\r\n loadChildFolders: true,\r\n }).then((folder) => {\r\n this.backgroundImagesets.unshift(\r\n new BackgroundImageset(\"SFD Dust Map (Infrared)\", \"SFD Dust Map (Infrared)\") \r\n );\r\n });\r\n\r\n this.loadImageCollection({\r\n url: this.bgWtml,\r\n loadChildFolders: true,\r\n }).then((folder) => {\r\n this.backgroundImagesets.unshift(\r\n new BackgroundImageset(\"2Mass (Infrared)\", \"2Mass: Imagery (Infrared)\") \r\n );\r\n }); \r\n\r\n this.loadImageCollection({\r\n url: this.bgWtml,\r\n loadChildFolders: true,\r\n }).then((folder) => {\r\n this.backgroundImagesets.unshift(\r\n new BackgroundImageset(\"WISE (Infrared)\", \"WISE All Sky (Infrared)\") \r\n );\r\n });\r\n\r\n this.loadImageCollection({\r\n url: this.bgWtml,\r\n loadChildFolders: true,\r\n }).then((folder) => {\r\n this.backgroundImagesets.unshift(\r\n new BackgroundImageset(\"unWISE (Infrared)\", \"unWISE color, from W2 and W1 bands\") \r\n );\r\n this.curBackgroundImagesetName = this.bgName;\r\n });\r\n\r\n this.loadImageCollection({\r\n url: this.bgWtml,\r\n loadChildFolders: true,\r\n }).then((_folder) => {\r\n this.backgroundImagesets.unshift(\r\n new BackgroundImageset(\"PanSTARRS1 3pi (Optical) \", \"PanSTARRS1 3pi\") \r\n );\r\n });\r\n \r\n // this.loadImageCollection({\r\n // url: this.bgWtml,\r\n // loadChildFolders: true,\r\n // }).then((folder) => {\r\n // this.backgroundImagesets.unshift(\r\n // new BackgroundImageset(\"Digitized Sky Survey (Optical)\", \"Digitized Sky Survey (Color)\") \r\n // );\r\n // });\r\n\r\n this.loadImageCollection({\r\n url: this.bgWtml,\r\n loadChildFolders: true,\r\n }).then((_folder) => {\r\n this.backgroundImagesets.unshift(\r\n new BackgroundImageset(\"USNOB (Optical)\", \"USNOB: US Naval Observatory B 1.0 (Synthetic, Optical)\") // First name is what you want the menu to look like, second name should be what you see in your WWT collection.\r\n );\r\n });\r\n\r\n this.loadImageCollection({\r\n url: this.bgWtml,\r\n loadChildFolders: true,\r\n }).then((_folder) => {\r\n this.backgroundImagesets.unshift(\r\n new BackgroundImageset(\"Gaia DR2 (Optical)\", \"Gaia DR2\") \r\n );\r\n });\r\n\r\n this.loadImageCollection({\r\n url: this.bgWtml,\r\n loadChildFolders: true,\r\n }).then((_folder) => {\r\n this.backgroundImagesets.unshift(\r\n new BackgroundImageset(\"NASA Deep Star Maps (Optical)\", \"Deep Star Maps 2020\") \r\n );\r\n });\r\n\r\n this.loadImageCollection({\r\n url: this.bgWtml,\r\n loadChildFolders: true,\r\n }).then((_folder) => {\r\n this.backgroundImagesets.unshift(\r\n new BackgroundImageset(\"Terapixel DSS (Optical)\", \"Digitized Sky Survey\") \r\n );\r\n });\r\n\r\n this.loadImageCollection({\r\n url: this.bgWtml,\r\n loadChildFolders: true,\r\n }).then((_folder) => {\r\n this.backgroundImagesets.unshift(\r\n new BackgroundImageset(\"GALEX (Ultraviolet)\", \"GALEX (Ultraviolet)\") \r\n );\r\n });\r\n\r\n this.loadImageCollection({\r\n url: this.bgWtml,\r\n loadChildFolders: true,\r\n }).then((_folder) => {\r\n this.backgroundImagesets.unshift(\r\n new BackgroundImageset(\"ROSAT (X-ray)\", \"RASS: ROSAT All Sky Survey (X-ray)\") \r\n );\r\n }); \r\n\r\n this.loadImageCollection({\r\n url: this.bgWtml,\r\n loadChildFolders: true,\r\n }).then((_folder) => {\r\n this.backgroundImagesets.unshift(\r\n new BackgroundImageset(\"Fermi (Gamma)\", \"Fermi LAT 8-year (gamma)\") \r\n );\r\n });\r\n\r\n Promise.all(layerPromises).then(() => {\r\n this.layersLoaded = true;\r\n \r\n // Set all of the imageset layers to be above the spreadsheet layers\r\n //this.resetImagesetLayerOrder();\r\n\r\n const splashScreenListener = (_event: KeyboardEvent) => {\r\n this.showSplashScreen = false;\r\n window.removeEventListener('keyup', splashScreenListener);\r\n };\r\n window.addEventListener('keyup', splashScreenListener);\r\n\r\n window.addEventListener('keyup', (event: KeyboardEvent) => {\r\n if ([\"Esc\", \"Escape\"].includes(event.key) && this.showVideoSheet) {\r\n this.showVideoSheet = false;\r\n }\r\n });\r\n });\r\n\r\n // wwtZoomDeg is still 0 if we run this here\r\n // and it was the same in nextTick\r\n // so give just a bit of a delay\r\n setTimeout(() => {\r\n this.positionSet = true;\r\n /*this.gotoRADecZoom( {\r\n raRad: 6.12348768, // In the WTML file dec is in degrees and ra is in hours. You should convert both to radians.\r\n decRad: 1.0265706759127293246, \r\n zoomDeg: 1.2595043348023565,\r\n instant: false\r\n });*/\r\n }, 100);\r\n\r\n });\r\n\r\n },\r\n\r\n \r\n computed: {\r\n \r\n isLoading(): boolean {\r\n return !this.ready;\r\n },\r\n ready(): boolean {\r\n return this.layersLoaded && this.positionSet;\r\n },\r\n smallSize(): boolean {\r\n return this.$vuetify.display.smAndDown;\r\n },\r\n mobile(): boolean {\r\n return this.smallSize && this.touchscreen;\r\n },\r\n cssVars() {\r\n return {\r\n '--color-default': this.colorD,\r\n '--color-default2': this.colorRed,\r\n\t\t\t\t'--color0':this.color0,\r\n\t\t\t\t'--color1':this.color1,\r\n\t\t\t\t'--color2':this.color2,\r\n\t\t\t\t'--color3':this.color3,\r\n\t\t\t\t'--color4':this.color4,\r\n\t\t\t\t'--color5':this.color5,\r\n '--app-content-height': this.showTextSheet ? '66%' : '100%',\r\n };\r\n },\r\n\r\n popoverCssVars() {\r\n const x = this.lastClosePt?.x ?? 0;\r\n const y = this.lastClosePt?.y ?? 0;\r\n\r\n // Note that the canvas takes up the full width\r\n const leftPct = 100 * x / window.innerWidth;\r\n const topPct = 100 * (y - 50) / window.innerHeight;\r\n return {\r\n '--current-color': this.lastClosePt?.color.toString() ?? \"white\",\r\n '--current-left': `${leftPct}%`,\r\n '--current-top': `${topPct}%`\r\n };\r\n },\r\n\r\n wwtSettings(): Settings {\r\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n // @ts-ignore\r\n return Settings.get_active();\r\n },\r\n \r\n \r\n showTextSheet: {\r\n get(): boolean {\r\n return this.sheet === 'text';\r\n },\r\n set(_value: boolean) {\r\n this.selectSheet('text');\r\n this.showTextTooltip = false;\r\n }\r\n },\r\n showVideoSheet: {\r\n get(): boolean {\r\n return this.sheet === \"video\";\r\n },\r\n set(value: boolean) {\r\n this.selectSheet('video');\r\n if (!value) {\r\n const video = document.querySelector(\"#info-video\") as HTMLVideoElement;\r\n video.pause();\r\n }\r\n this.showVideoTooltip = false;\r\n }\r\n },\r\n \r\n curBackgroundImagesetName: {\r\n get(): string {\r\n if (this.wwtBackgroundImageset == null) return \"\";\r\n return this.wwtBackgroundImageset.get_name();\r\n },\r\n set(name: string) {\r\n this.setBackgroundImageByName(name);\r\n }\r\n },\r\n \r\n curForegroundImagesetName: {\r\n get(): string {\r\n if (this.wwtForegroundImageset == null) return \"\";\r\n return this.wwtForegroundImageset.get_name();\r\n },\r\n set(name: string) {\r\n this.setForegroundImageByName(name);\r\n }\r\n },\r\n \r\n foregroundOpacity: {\r\n get(): number {\r\n return this.wwtForegroundOpacity;\r\n },\r\n set(o: number) {\r\n this.setForegroundOpacity(o); \r\n }\r\n },\r\n },\r\n\r\n methods: {\r\n // toggleLeftMenu() {\r\n // this.showLeftMenu = !this.showLeftMenu;\r\n\r\n // },\r\n\r\n /* Toggles the hamburger menu when the hamburger icon is clicked */\r\n toggleMenu() {\r\n this.isMenuOpen = !this.isMenuOpen;\r\n this.showTitle = false;\r\n this.showFolderView = !this.showFolderView;\r\n },\r\n \r\n /* This is for the close button of the intro box */\r\n closeIntro() {\r\n this.showIntro = false;\r\n },\r\n \r\n /* This is for the \"Toggle description\" in the hamburger menu. It opens the intro container */\r\n openIntro() {\r\n this.showIntro = !this.showIntro;\r\n this.showBgButton = false;\r\n this.showDescription = false;\r\n },\r\n\r\n closeDescription() {\r\n this.showDescription = false;\r\n },\r\n\r\n /* Toggles the background button when the Choose background button is clicked */\r\n toggleBgButton() {\r\n this.showBgButton = !this.showBgButton;\r\n this.hiddenIntro = !this.hiddenIntro;\r\n this.showIntro = false;\r\n this.showDescription = false;\r\n this.showBgSlider = false;\r\n this.showFolderView = true;\r\n this.isMenuOpen = false;\r\n }, \r\n\r\n toggleBgSlider() {\r\n this.showBgSlider = !this.showBgSlider;\r\n this.showIntro = false;\r\n this.showDescription = false;\r\n this.showBgButton = false;\r\n this.showFolderView = true;\r\n this.isMenuOpen = false;\r\n },\r\n\r\n hideMenu() {\r\n this.showBgButton = false;\r\n this.showBgSlider = true;\r\n },\r\n\r\n toggleFolderView() {\r\n this.showIntro = false;\r\n this.showDescription = true;\r\n },\r\n\r\n hideTitle() {\r\n this.showTitle = false;\r\n },\r\n\r\n closeSplashScreen() {\r\n this.showSplashScreen = false;\r\n },\r\n\r\n selectSheet(name: SheetType) {\r\n if (this.sheet == name) {\r\n this.sheet = null;\r\n } else {\r\n this.sheet = name;\r\n }\r\n },\r\n\r\n getImageSetLayerIndex(layer: ImageSetLayer): number {\r\n // find layer in this.wwtActiveLayers\r\n // this.wwtActiveLayers is a dictionary of {0:id1, 1:id2, 2:id3, ...}\r\n // get the key item with the value of layer.id\r\n for (const [key, value] of Object.entries(this.wwtActiveLayers)) {\r\n if (value === layer.id.toString()) {\r\n return Number(key);\r\n }\r\n }\r\n return -1;\r\n },\r\n\r\n setLayerOpacityForImageSet(name: string, opacity: number, setting_opacity_from_ui=false) {\r\n const layer = this.imagesetLayers[name];\r\n if (layer != null) {\r\n // update the image opacity in the WWT control\r\n applyImageSetLayerSetting(layer, ['opacity', opacity]);\r\n\r\n // update the value for the slider only if we are not setting the opacity from the UI\r\n if (!setting_opacity_from_ui) {\r\n const selector = `#items div.item[title='${name}'] input.opacity-range[type='range']`;\r\n const el = (document.querySelector(selector) as HTMLInputElement);\r\n if (el != null) {\r\n el.value = `${opacity * 100}`;\r\n }\r\n }\r\n\r\n const toggleSelector = `#items input[type='checkbox'][title='${name}']`;\r\n const el2 = (document.querySelector(toggleSelector) as HTMLInputElement);\r\n // truth table: opacity == 0 and el.checked == false => do nothing\r\n // truth table: opacity == 0 and el.checked == true => set el.checked = false\r\n // truth table: opacity > 0 and el.checked == false => set el.checked = true\r\n // truth table: opacity > 0 and el.checked == true => do nothing\r\n if (el2 != null) {\r\n if (opacity == 0 && el2.checked) {\r\n el2.checked = false;\r\n } else if (opacity > 0 && !el2.checked) {\r\n el2.checked = true;\r\n }\r\n }\r\n \r\n }\r\n },\r\n\t\t\r\n\t\tonItemSelected(place: Place) {\r\n //this.logTimes(`onItemSelected: ${place.get_name()}`)\r\n const iset = place.get_studyImageset() ?? place.get_backgroundImageset();\r\n if (iset == null) { return; }\r\n const layer = this.imagesetLayers[iset.get_name()];\r\n\r\n // Give time for the selectedTime changes to propagate\r\n setTimeout(() => {\r\n this.$nextTick(() => {\r\n this.curForegroundImagesetName = place.get_name();\r\n this.descriptions = place.htmlDescription;\r\n this.descrTitles = iset.get_name(); \r\n this.descrCredits = iset.get_creditsText();\r\n this.descrCreditsURL = iset.get_creditsUrl();\r\n\r\n this.gotoRADecZoom({\r\n raRad: D2R * iset.get_centerX(),\r\n decRad: D2R * iset.get_centerY(),\r\n zoomDeg: place.get_zoomLevel() * 2.5,\r\n instant: false\r\n }); \r\n });\r\n }, 10);\r\n \r\n },\r\n\t\t\r\n\tonOpacityChanged(place: Place, opacity: number, move: boolean) {\r\n const iset = place.get_studyImageset() ?? place.get_backgroundImageset();\r\n if (iset == null) { return; }\r\n this.updateImageOpacity(place, opacity);\r\n \r\n\r\n /*this.$nextTick(() => {\r\n this.incomingItemSelect = place;\r\n this.gotoRADecZoom({\r\n raRad: D2R * iset.get_centerX(),\r\n decRad: D2R * iset.get_centerY(),\r\n zoomDeg: this.wwtZoomDeg, //zoom,\r\n instant: false\r\n });\r\n });*/\r\n\t},\r\n\t\t\r\n\t\tupdateImageOpacity(place: Place, opacity: number) {\r\n const iset = place.get_studyImageset() ?? place.get_backgroundImageset();\r\n if (iset == null) { return; }\r\n const layer = this.imagesetLayers[iset.get_name()];\r\n if (layer == null) { return; }\r\n // applyImageSetLayerSetting(layer, [\"opacity\", opacity / 100]);\r\n // tell setLayerOpacityForImageSet that we are updating from the ui\r\n this.setLayerOpacityForImageSet(iset.get_name(), opacity / 100, true);\r\n },\r\n },\r\n});\r\n\r\n","import { render } from \"./MainContent.vue?vue&type=template&id=c1dde808&scoped=true&ts=true\"\nimport script from \"./MainContent.vue?vue&type=script&lang=ts\"\nexport * from \"./MainContent.vue?vue&type=script&lang=ts\"\n\nimport \"./MainContent.vue?vue&type=style&index=0&id=c1dde808&lang=less&scoped=true\"\n\nimport exportComponent from \"C:\\\\Users\\\\adavi\\\\Documents\\\\CosmicDS\\\\minids\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-c1dde808\"]])\n\nexport default __exports__","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, normalizeStyle as _normalizeStyle, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-925a432e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"item-container\" }\nconst _hoisted_2 = { id: \"items\" }\nconst _hoisted_3 = { key: 0 }\nconst _hoisted_4 = [\"title\", \"id\"]\nconst _hoisted_5 = { class: \"item-thumbnails\" }\nconst _hoisted_6 = [\"src\", \"alt\", \"onClick\"]\nconst _hoisted_7 = [\"onClick\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_transition_expand = _resolveComponent(\"transition-expand\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"fv-root\",\n style: _normalizeStyle(_ctx.cssVars)\n }, [\n _createVNode(_component_transition_expand, null, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_ctx.items !== null && _ctx.expanded)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.items, (item) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass(['item', _ctx.lastSelectedItem === item ? 'selected' : '']),\n key: item.get_name(),\n title: item.get_name(),\n id: `fv-${item.get_name()}`\n }, [\n _createElementVNode(\"div\", _hoisted_5, [\n (_ctx.thumbnails)\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n src: item.get_thumbnailUrl(),\n alt: item.get_name(),\n onClick: () => _ctx.selectItem(item)\n }, null, 8, _hoisted_6))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"item-name\", ['thumbnail']]),\n onClick: () => _ctx.selectItem(item)\n }, _toDisplayString(item.get_name()), 9, _hoisted_7)\n ])\n ], 10, _hoisted_4))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n _: 1\n })\n ], 4))\n}","\r\nimport { defineComponent, isProxy, toRaw, PropType } from \"vue\";\r\nimport { Folder, FolderUp, Place, Imageset } from \"@wwtelescope/engine\";\r\nimport { Thumbnail } from \"@wwtelescope/engine-types\";\r\nimport { WWTAwareComponent } from \"@wwtelescope/engine-pinia\";\r\n\r\ntype FlexDirection = \"row\" | \"column\";\r\n\r\n\r\nexport default defineComponent({\r\n extends: WWTAwareComponent,\r\n\r\n name: 'MyComponent',\r\n \r\n props: {\r\n rootFolder: {\r\n type: Object as PropType,\r\n required: true\r\n },\r\n flexDirection: {\r\n type: String as PropType,\r\n default: \"column\"\r\n },\r\n expandable: {\r\n type: Boolean,\r\n default: false\r\n },\r\n sliders: {\r\n type: Boolean,\r\n default: false\r\n },\r\n startFirstSelected: {\r\n type: Boolean,\r\n default: true\r\n },\r\n thumbnails: {\r\n type: Boolean,\r\n default: true\r\n },\r\n open: {\r\n type: Boolean,\r\n default: false\r\n },\r\n incomingItemSelect: {\r\n type: Object as PropType,\r\n default: null\r\n }\r\n \r\n },\r\n\r\n data() {\r\n return {\r\n items: [] as Thumbnail[],\r\n lastSelectedItem: null as Thumbnail | null,\r\n opacities: {} as Record,\r\n expanded: this.open,\r\n lastOpacityChanged: null as Thumbnail | null,\r\n };\r\n },\r\n\r\n created() {\r\n this.populate();\r\n },\r\n\r\n methods: {\r\n\r\n\r\n populate(): void {\r\n for (const c of this.rootFolder.get_children() ?? []) {\r\n const cr = isProxy(c) ? toRaw(c) : c;\r\n if (cr instanceof Place) {\r\n this.items.push(cr);\r\n }\r\n }\r\n if (this.startFirstSelected && this.items?.length > 0) {\r\n this.selectItem(this.items[0]);\r\n }\r\n },\r\n showSlider(item: Thumbnail | null): boolean {\r\n return item instanceof Imageset;\r\n },\r\n selectItem(item: Thumbnail): void {\r\n this.lastSelectedItem = item;\r\n if (item instanceof Folder || item instanceof FolderUp) {\r\n this.items = item.get_children() ?? [];\r\n } else {\r\n this.$emit('select', item);\r\n }\r\n },\r\n onSliderInputChanged(e: Event, item: Thumbnail) {\r\n let dragging = false;\r\n if (this.lastOpacityChanged == item) {\r\n dragging = true;\r\n } else {\r\n this.lastOpacityChanged = item;\r\n }\r\n this.$emit('opacity', item, (e.target as HTMLInputElement).value, !dragging);\r\n },\r\n\r\n onToggleImage(e: Event, item: Thumbnail) {\r\n this.$emit('toggle', item, (e.target as HTMLInputElement).checked);\r\n },\r\n\r\n scrollToItem(id: string) {\r\n const element = document.getElementById(id);\r\n if (element !== null) {\r\n const container = document.getElementById(\"items\");\r\n if (container !== null) {\r\n console.log(element.clientHeight);\r\n const y = Math.max(Math.min(element.offsetTop - element.clientHeight * 1.5, container.scrollHeight), 0);\r\n container.scrollTo(0, y);\r\n }\r\n }\r\n },\r\n },\r\n\r\n computed: {\r\n cssVars() {\r\n return {\r\n \"--flex-direction\": this.flexDirection\r\n };\r\n },\r\n\r\n isMobile() {\r\n return (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent));\r\n },\r\n },\r\n\r\n watch: {\r\n incomingItemSelect() {\r\n if (this.incomingItemSelect != null) {\r\n this.lastSelectedItem = this.incomingItemSelect;\r\n this.scrollToItem(`fv-${this.incomingItemSelect.get_name()}`);\r\n } else {\r\n this.lastSelectedItem = null;\r\n }\r\n }\r\n }\r\n});\r\n","import { render } from \"./FolderView.vue?vue&type=template&id=925a432e&scoped=true&ts=true\"\nimport script from \"./FolderView.vue?vue&type=script&lang=ts\"\nexport * from \"./FolderView.vue?vue&type=script&lang=ts\"\n\nimport \"./FolderView.vue?vue&type=style&index=0&id=925a432e&scoped=true&lang=less\"\n\nimport exportComponent from \"C:\\\\Users\\\\adavi\\\\Documents\\\\CosmicDS\\\\minids\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-925a432e\"]])\n\nexport default __exports__","import { aliases, mdi } from 'vuetify/iconsets/mdi';\r\nimport { createVuetify } from 'vuetify';\r\n\r\n// For test use. Do not include createVuetify()\r\n// see https://next.vuetifyjs.com/en/features/treeshaking/\r\n//import * as components from 'vuetify/components';\r\n//import * as directives from 'vuetify/directives';\r\n\r\n// Translations provided by Vuetify\r\nimport { en } from 'vuetify/locale';\r\n\r\n// Styles\r\nimport 'vuetify/styles';\r\nimport '@mdi/font/css/materialdesignicons.css';\r\n\r\nexport default createVuetify({\r\n // Icon Fonts\r\n icons: {\r\n defaultSet: 'mdi',\r\n aliases,\r\n sets: {\r\n mdi,\r\n },\r\n },\r\n locale: {\r\n locale: 'en',\r\n fallback: 'en',\r\n messages: { en },\r\n },\r\n theme: {\r\n defaultTheme: 'dark',\r\n },\r\n});\r\n\r\n// Export for test.\r\n//export { components, directives };\r\n","import Vue, { createApp } from \"vue\";\r\n\r\nimport LayeredImagery from \"./MainContent.vue\";\r\nimport FolderView from \"./FolderView.vue\";\r\n\r\nimport VueSlider from \"vue-slider-component\";\r\nimport 'vue-slider-component/theme/default.css';\r\n\r\nimport Datepicker from '@vuepic/vue-datepicker';\r\nimport '@vuepic/vue-datepicker/dist/main.css';\r\n\r\nimport vuetify from \"../plugins/vuetify\";\r\n\r\nimport './assets/Roboto.ttf';\r\nimport './assets/RobotoCondensed.ttf';\r\n\r\nimport { WWTComponent, wwtPinia } from \"@wwtelescope/engine-pinia\";\r\n\r\nimport Notifications from '@kyvg/vue3-notification';\r\n\r\nimport \"leaflet/dist/leaflet.css\";\r\n\r\n/** v-hide directive taken from https://www.ryansouthgate.com/2020/01/30/vue-js-v-hide-element-whilst-keeping-occupied-space/ */\r\n// Extract the function out, up here, so I'm not writing it twice\r\nconst update = (el: HTMLElement, binding: Vue.DirectiveBinding) => el.style.visibility = (binding.value) ? \"hidden\" : \"\";\r\n\r\ncreateApp(LayeredImagery, {\r\n wwtNamespace: \"wwt-minids-layeredimagery\",\r\n wtml: { // images are listed in chronological order earliest to latest\r\n layeredimagery: \"https://data1.wwtassets.org/packages/2023/07_jwst/jwst_v12.wtml\",\r\n },\r\n url: \"https://web.wwtassets.org/specials/2023/jwst-year1/\",\r\n thumbnailUrl: \"https://cdn.worldwidetelescope.org/thumbnails/jwst.jpg\",\r\n bgWtml: \"https://data1.wwtassets.org/packages/2023/06_pas/BackgroundImagery_v2.wtml\",\r\n bgName: \"unWISE color, from W2 and W1 bands\",\r\n fgName: \"Deep Star Maps 2020\",\r\n title: \"James Webb Space Telescope\",\r\n introTitle: \"Interactively Explore James Webb Space Telescope Imagery!\",\r\n introText: `Celebrate the First Year of Science with JWST!\r\n Launched on Dec 25th, 2021 - after a month long deployment \r\n and several months of precise mirror alignment and instrument \r\n calibration, the first images were released to the public on July \r\n 11th and 12th. Many images have been released in the year since and can be explored here interactively.`,\r\n introInstructions: `Pan and zoom to explore the images. \r\n Select the thumbnails to view James Webb Space Telescope astro-imagery \r\n in context of the sky. Using the menu (top right), change the background imagery to compare \r\n against different surveys and wavelengths.`\r\n})\r\n\r\n // Plugins\r\n .use(wwtPinia)\r\n .use(vuetify)\r\n .use(Notifications)\r\n\r\n // Directives\r\n .directive(\r\n /**\r\n * Hides an HTML element, keeping the space it would have used if it were visible (css: Visibility)\r\n */\r\n \"hide\", {\r\n // Run on initialisation (first render) of the directive on the element\r\n beforeMount(el, binding, _vnode, _prevVnode) {\r\n update(el, binding);\r\n },\r\n // Run on subsequent updates to the value supplied to the directive\r\n updated(el, binding, _vnode, _prevVnode) {\r\n update(el, binding);\r\n }\r\n })\r\n\r\n // Components\r\n .component(\"WorldWideTelescope\", WWTComponent)\r\n .component('folder-view', FolderView)\r\n .component('vue-slider', VueSlider)\r\n .component('date-picker', Datepicker)\r\n\r\n // Mount\r\n .mount(\"#app\");\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"938\":\"ea301335\",\"991\":\"449078dd\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"@minids/JWST:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t};\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunk_minids_JWST\"] = self[\"webpackChunk_minids_JWST\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], () => (__webpack_require__(2496)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["_withScopeId","n","_hoisted_1","id","_hoisted_2","_","rel","href","_hoisted_3","class","_hoisted_4","style","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","target","onmouseover","onmouseout","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","key","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","alt","src","width","height","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_hoisted_35","render","_ctx","_cache","$props","$setup","$data","$options","_component_WorldWideTelescope","_component_folder_view","cssVars","default","wwtNamespace","onPointerdown","wwtOnPointerDown","onPointermove","wwtOnPointerMove","onPointerup","wwtOnPointerUp","onClick","toggleMenu","args","fullscreen","toggleFullscreen","isMenuOpen","openIntro","toggleBgButton","toggleBgSlider","hideTitle","title","showTitle","$event","onChange","hideMenu","backgroundImagesets","bg","value","imagesetName","toggleBgSlider2","displayName","curBackgroundImagesetName","showBgButton","closeIntro","introTitle","introText","introInstructions","closeDescription","descrTitles","descriptions","descrCredits","descrCreditsURL","name","isLoading","popoverCssVars","lastClosePt","toggleFolderView","imagesetFolder","expandable","thumbnails","open","mobile","incomingItemSelect","onSelect","onItemSelected","onOpacity","onOpacityChanged","showFolderView","currentTool","type","foregroundOpacity","KeyPressInfo","code","modifiers","_a","_b","_c","_d","this","ctrl","shift","meta","prototype","matches","event","ctrlKey","altKey","shiftKey","metaKey","KeyboardControlSettings","zoomIn","zoomOut","moveUp","_e","moveLeft","_f","moveDown","_g","moveRight","_h","moveAmount","actionTypes","makeListener","actionName","action","_this","e","e_1","next","done","keyPress","e_1_1","error","return","call","defaultWindowShape","extends","WWTAwareComponent","props","kcs","data","fullscreenModeActive","resizeObserver","touchscreen","windowShape","created","matchMedia","mounted","screenfull","onFullscreenEvent","ResizeObserver","_entries","onResizeEvent","observe","$el","window","addEventListener","doZoom","doMove","destroyed","unobserve","methods","zoom","x","y","move","clientWidth","clientHeight","blurActiveElement","active","document","activeElement","HTMLElement","blur","computed","fullscreenAvailable","BackgroundImageset","D2R","Math","PI","setup","fullscreenElement","exitFullscreen","documentElement","requestFullscreen","catch","err","console","log","message","MiniDSBase","wtml","Object","required","String","url","thumbnailUrl","bgWtml","bgName","fgName","hiddenTitle","hiddenIntro","showIntro","showBgSlider","showDescription","showLeftMenu","showSplashScreen","imagesetLayers","layersLoaded","positionSet","layers","color0","color1","color2","color3","color4","color5","colorD","colorRed","todayColor","sheet","showTextTooltip","showVideoTooltip","showControls","tab","map","waitForReady","then","setClockSync","layerPromises","loadImageCollection","layeredimagery","loadChildFolders","folder","children","get_children","item","Place","gotoTarget","place","noZoom","instant","trackObject","unshift","_folder","Promise","all","splashScreenListener","_event","removeEventListener","includes","showVideoSheet","setTimeout","ready","smallSize","$vuetify","display","smAndDown","showTextSheet","leftPct","innerWidth","topPct","innerHeight","color","toString","wwtSettings","Settings","get","set","_value","selectSheet","video","querySelector","pause","wwtBackgroundImageset","get_name","setBackgroundImageByName","curForegroundImagesetName","wwtForegroundImageset","setForegroundImageByName","wwtForegroundOpacity","o","setForegroundOpacity","closeSplashScreen","getImageSetLayerIndex","layer","entries","wwtActiveLayers","Number","setLayerOpacityForImageSet","opacity","setting_opacity_from_ui","selector","el","toggleSelector","el2","checked","iset","get_studyImageset","get_backgroundImageset","$nextTick","htmlDescription","get_creditsText","get_creditsUrl","gotoRADecZoom","raRad","get_centerX","decRad","get_centerY","zoomDeg","get_zoomLevel","updateImageOpacity","__exports__","_component_transition_expand","items","expanded","lastSelectedItem","get_thumbnailUrl","selectItem","rootFolder","flexDirection","Boolean","sliders","startFirstSelected","opacities","lastOpacityChanged","populate","c","cr","push","length","showSlider","Imageset","Folder","FolderUp","$emit","onSliderInputChanged","dragging","onToggleImage","scrollToItem","element","getElementById","container","max","min","offsetTop","scrollHeight","scrollTo","isMobile","test","navigator","userAgent","watch","icons","defaultSet","aliases","sets","mdi","locale","fallback","messages","en","theme","defaultTheme","update","binding","visibility","use","wwtPinia","vuetify","directive","beforeMount","_vnode","_prevVnode","updated","component","WWTComponent","FolderView","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","keys","every","splice","r","getter","__esModule","d","a","leafPrototypes","getProto","getPrototypeOf","obj","t","mode","ns","create","def","current","indexOf","getOwnPropertyNames","forEach","definition","defineProperty","enumerable","f","chunkId","reduce","promises","u","miniCssF","g","globalThis","Function","prop","hasOwnProperty","inProgress","dataWebpackPrefix","l","script","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","onScriptComplete","prev","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","bind","head","appendChild","Symbol","toStringTag","p","installedChunks","installedChunkData","promise","resolve","reject","Error","loadingEnded","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}