diff --git a/.gitignore b/.gitignore index a7260a6d..8604f5bd 100644 --- a/.gitignore +++ b/.gitignore @@ -65,6 +65,8 @@ storybook_compiled # Tailwind .www-frontend_temp/ +dist + # copied assets when preparing builds apps/**/.storybook/static/dist packages/**/src/assets/fonts @@ -75,11 +77,4 @@ packages/**/public/edu/explorer-1/ !public/explorer-1/**/.gitkeep !packages/common/src/public/explorer-1 apps/vue-storybook/public/fonts -apps/vue-storybook/public/css - -# dist -dist -!packages/**/dist - - -!.gitkeep \ No newline at end of file +apps/vue-storybook/public/css \ No newline at end of file diff --git a/apps/vue-storybook/package.json b/apps/vue-storybook/package.json index 09e1f3e8..ddbbea36 100644 --- a/apps/vue-storybook/package.json +++ b/apps/vue-storybook/package.json @@ -1,7 +1,12 @@ { "name": "@explorer-1/vue-storybook", "version": "0.0.0", - "private": true, + "private": false, + "author": "DesignLab", + "repository": { + "type": "git", + "url": "https://github.com/nasa-jpl/explorer-1" + }, "prettier": "@explorer-1/prettier-config", "type": "module", "scripts": { diff --git a/package.json b/package.json index 75e83260..00970e80 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,6 @@ { "name": "explorer-1", + "private": false, "version": "3.0.0", "type": "module", "description": "Monorepo for JPL's design system, Explorer 1", @@ -12,8 +13,11 @@ "scss", "tailwindcss" ], - "author": "", - "license": "ISC", + "author": "DesignLab", + "repository": { + "type": "git", + "url": "https://github.com/nasa-jpl/explorer-1" + }, "scripts": { "clean": "rimraf \"**/node_modules\"", "refresh": "pnpm clean && pnpm i", diff --git a/packages/common-storybook/package.json b/packages/common-storybook/package.json index 7ca9eae2..df96c481 100644 --- a/packages/common-storybook/package.json +++ b/packages/common-storybook/package.json @@ -2,6 +2,11 @@ "name": "@explorer-1/common-storybook", "version": "0.0.0", "private": true, + "author": "DesignLab", + "repository": { + "type": "git", + "url": "https://github.com/nasa-jpl/explorer-1" + }, "prettier": "@explorer-1/prettier-config", "devDependencies": { "@explorer-1/common": "workspace:*", diff --git a/packages/common/package.json b/packages/common/package.json index 0b7b461e..9d2f89b1 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -2,7 +2,11 @@ "name": "@explorer-1/common", "version": "1.0.0", "description": "shared assets for all flavors of explorer-1", - "author": "", + "author": "DesignLab", + "repository": { + "type": "git", + "url": "https://github.com/nasa-jpl/explorer-1" + }, "prettier": "@explorer-1/prettier-config", "devDependencies": { "@explorer-1/prettier-config": "workspace:*", diff --git a/packages/configs/eslint/index.js b/packages/configs/eslint/index.js index 6a40a662..0b7696b5 100644 --- a/packages/configs/eslint/index.js +++ b/packages/configs/eslint/index.js @@ -1,8 +1,6 @@ /* eslint-disable prettier/prettier */ // imports into root eslint.config.js -// @ts-check - import vueParser from 'vue-eslint-parser' import tsParser from '@typescript-eslint/parser' import tsPlugin from '@typescript-eslint/eslint-plugin' diff --git a/packages/configs/eslint/package.json b/packages/configs/eslint/package.json index 1bbf4299..27484b56 100644 --- a/packages/configs/eslint/package.json +++ b/packages/configs/eslint/package.json @@ -3,7 +3,12 @@ "version": "1.0.0", "description": "Shared eslint config", "main": "index.js", - "private": true, + "private": false, + "author": "DesignLab", + "repository": { + "type": "git", + "url": "https://github.com/nasa-jpl/explorer-1" + }, "type": "module", "publishConfig": { "access": "public" diff --git a/packages/configs/prettier/package.json b/packages/configs/prettier/package.json index ee3cfb12..0461ea78 100644 --- a/packages/configs/prettier/package.json +++ b/packages/configs/prettier/package.json @@ -1,7 +1,13 @@ { "name": "@explorer-1/prettier-config", + "private": false, "version": "1.0.0", "description": "Shared prettier config", + "author": "DesignLab", + "repository": { + "type": "git", + "url": "https://github.com/nasa-jpl/explorer-1" + }, "main": "index.json", "keywords": [ "prettier", diff --git a/packages/configs/tsconfig/package.json b/packages/configs/tsconfig/package.json index b38c1b5c..5ee6c439 100644 --- a/packages/configs/tsconfig/package.json +++ b/packages/configs/tsconfig/package.json @@ -1,6 +1,11 @@ { "name": "@explorer-1/tsconfig", "version": "1.0.0", + "author": "DesignLab", + "repository": { + "type": "git", + "url": "https://github.com/nasa-jpl/explorer-1" + }, "description": "Shared tsconfig", "main": "index.json", "keywords": [ diff --git a/packages/nuxt/dist/module.cjs b/packages/nuxt/dist/module.cjs deleted file mode 100644 index 5a320cb8..00000000 --- a/packages/nuxt/dist/module.cjs +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = function(...args) { - return import('./module.mjs').then(m => m.default.call(this, ...args)) -} -const _meta = module.exports.meta = require('./module.json') -module.exports.getMeta = () => Promise.resolve(_meta) diff --git a/packages/nuxt/dist/module.d.mts b/packages/nuxt/dist/module.d.mts deleted file mode 100644 index a54e83da..00000000 --- a/packages/nuxt/dist/module.d.mts +++ /dev/null @@ -1,11 +0,0 @@ -import * as _nuxt_schema from '@nuxt/schema'; - -interface ModuleOptions { - includeStyles: boolean; - includeComponents: boolean; - includePageTemplates: boolean; - includeStore: boolean; -} -declare const _default: _nuxt_schema.NuxtModule; - -export { type ModuleOptions, _default as default }; diff --git a/packages/nuxt/dist/module.d.ts b/packages/nuxt/dist/module.d.ts deleted file mode 100644 index a54e83da..00000000 --- a/packages/nuxt/dist/module.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import * as _nuxt_schema from '@nuxt/schema'; - -interface ModuleOptions { - includeStyles: boolean; - includeComponents: boolean; - includePageTemplates: boolean; - includeStore: boolean; -} -declare const _default: _nuxt_schema.NuxtModule; - -export { type ModuleOptions, _default as default }; diff --git a/packages/nuxt/dist/module.json b/packages/nuxt/dist/module.json deleted file mode 100644 index 6341c006..00000000 --- a/packages/nuxt/dist/module.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "@explorer-1/nuxt", - "configKey": "explorer1", - "version": "0.0.0", - "builder": { - "@nuxt/module-builder": "0.7.0", - "unbuild": "2.0.0" - } -} \ No newline at end of file diff --git a/packages/nuxt/dist/module.mjs b/packages/nuxt/dist/module.mjs deleted file mode 100644 index 81ae3c8b..00000000 --- a/packages/nuxt/dist/module.mjs +++ /dev/null @@ -1,106 +0,0 @@ -import { defineNuxtModule, createResolver, addPlugin, installModule, addComponentsDir, addImportsSources } from '@nuxt/kit'; - -const module = defineNuxtModule({ - meta: { - name: "@explorer-1/nuxt", - configKey: "explorer1" - }, - // Default configuration options of the Nuxt module - defaults: { - includeStyles: true, - includeComponents: true, - includePageTemplates: true, - includeStore: true - }, - async setup(options, nuxt) { - const resolver = createResolver(import.meta.url); - const runtimeDir = resolver.resolve("./runtime"); - const pluginDir = resolver.resolve("./runtime/plugins"); - nuxt.hook("nitro:config", async (nitroConfig) => { - nitroConfig.publicAssets ||= []; - nitroConfig.publicAssets.push({ - dir: resolver.resolve(runtimeDir, "public"), - maxAge: 60 * 60 * 24 * 365 - // 1 year - }); - }); - addPlugin(resolver.resolve(pluginDir, "dayjs")); - addPlugin(resolver.resolve(pluginDir, "filters")); - addPlugin(resolver.resolve(pluginDir, "vue-click-outside")); - addPlugin(resolver.resolve(pluginDir, "vue-compare-image.client")); - if (options.includeStyles) { - await installModule("@nuxtjs/tailwindcss", { - configPath: resolver.resolve(runtimeDir, "tailwind.config") - }); - nuxt.options.css.push( - resolver.resolve("./../node_modules/@explorer-1/vue/src/assets/scss/", "styles.scss") - ); - nuxt.options.postcss = { - plugins: { - autoprefixer: {} - } - }; - nuxt.options.vite = { - ...nuxt.options.vite, - css: { - ...nuxt.options.css, - preprocessorOptions: { - scss: { - additionalData: `@import "@explorer-1/common/src/scss/_hover.scss";` - } - } - }, - build: { - rollupOptions: { - // make sure to externalize deps that shouldn't be bundled - // into your library - external: [ - "./../node_modules/vue", - "./../node_modules/swiper", - "./../node_modules/@fancyapps/ui", - "./../node_modules/dayjs", - "./../node_modules/click-outside-vue3", - "./../node_modules/vue3-compare-image" - ] - } - } - }; - } - if (options.includeComponents) { - addComponentsDir({ - path: resolver.resolve("./../node_modules/@explorer-1/vue/src/components"), - global: true, - pathPrefix: false, - extensions: [".vue"] - }); - } - addImportsSources({ - from: "@explorer-1/vue/src/interfaces", - imports: ["ImageObject", "Explorer1Theme"] - }); - if (options.includePageTemplates) { - addComponentsDir({ - path: resolver.resolve("./../node_modules/@explorer-1/vue/src/templates"), - global: true, - pathPrefix: true, - extensions: [".vue"] - }); - } - if (options.includeStore) { - await installModule("@pinia/nuxt", { - autoImports: ["useThemeStore"], - storesDirs: ["./store/**", resolver.resolve(runtimeDir, "store")] - }); - addImportsSources({ - from: "@explorer-1/vue/src/store/theme", - imports: ["useThemeStore"] - }); - addImportsSources({ - from: "@explorer-1/vue/src/store/header", - imports: ["useHeaderStore"] - }); - } - } -}); - -export { module as default }; diff --git a/packages/nuxt/dist/runtime/plugins/dayjs.d.ts b/packages/nuxt/dist/runtime/plugins/dayjs.d.ts deleted file mode 100644 index f1036112..00000000 --- a/packages/nuxt/dist/runtime/plugins/dayjs.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export default dayjs; -import dayjs from '@explorer-1/vue/src/utils/dayjs'; diff --git a/packages/nuxt/dist/runtime/plugins/dayjs.js b/packages/nuxt/dist/runtime/plugins/dayjs.js deleted file mode 100644 index 1c49640a..00000000 --- a/packages/nuxt/dist/runtime/plugins/dayjs.js +++ /dev/null @@ -1,2 +0,0 @@ -import dayjs from '@explorer-1/vue/src/utils/dayjs' -export default dayjs diff --git a/packages/nuxt/dist/runtime/plugins/filters.d.ts b/packages/nuxt/dist/runtime/plugins/filters.d.ts deleted file mode 100644 index 377b31ca..00000000 --- a/packages/nuxt/dist/runtime/plugins/filters.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -declare const _default: import("nuxt/app").Plugin> & import("nuxt/app").ObjectPlugin>; -export default _default; diff --git a/packages/nuxt/dist/runtime/plugins/filters.js b/packages/nuxt/dist/runtime/plugins/filters.js deleted file mode 100644 index 0f0999aa..00000000 --- a/packages/nuxt/dist/runtime/plugins/filters.js +++ /dev/null @@ -1,5 +0,0 @@ -import filters from "@explorer-1/vue/src/utils/filters"; -import { defineNuxtPlugin } from "nuxt/app"; -export default defineNuxtPlugin((nuxtApp) => { - nuxtApp.vueApp.config.globalProperties.$filters = filters; -}); diff --git a/packages/nuxt/dist/runtime/plugins/vue-click-outside.d.ts b/packages/nuxt/dist/runtime/plugins/vue-click-outside.d.ts deleted file mode 100644 index 377b31ca..00000000 --- a/packages/nuxt/dist/runtime/plugins/vue-click-outside.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -declare const _default: import("nuxt/app").Plugin> & import("nuxt/app").ObjectPlugin>; -export default _default; diff --git a/packages/nuxt/dist/runtime/plugins/vue-click-outside.js b/packages/nuxt/dist/runtime/plugins/vue-click-outside.js deleted file mode 100644 index 305bf318..00000000 --- a/packages/nuxt/dist/runtime/plugins/vue-click-outside.js +++ /dev/null @@ -1,5 +0,0 @@ -import vClickOutside from "click-outside-vue3"; -import { defineNuxtPlugin } from "nuxt/app"; -export default defineNuxtPlugin((nuxtApp) => { - nuxtApp.vueApp.use(vClickOutside); -}); diff --git a/packages/nuxt/dist/runtime/plugins/vue-compare-image.client.d.ts b/packages/nuxt/dist/runtime/plugins/vue-compare-image.client.d.ts deleted file mode 100644 index 377b31ca..00000000 --- a/packages/nuxt/dist/runtime/plugins/vue-compare-image.client.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -declare const _default: import("nuxt/app").Plugin> & import("nuxt/app").ObjectPlugin>; -export default _default; diff --git a/packages/nuxt/dist/runtime/plugins/vue-compare-image.client.js b/packages/nuxt/dist/runtime/plugins/vue-compare-image.client.js deleted file mode 100644 index c865b8a7..00000000 --- a/packages/nuxt/dist/runtime/plugins/vue-compare-image.client.js +++ /dev/null @@ -1,5 +0,0 @@ -import VueCompareImage from "vue3-compare-image"; -import { defineNuxtPlugin } from "nuxt/app"; -export default defineNuxtPlugin((nuxtApp) => { - nuxtApp.vueApp.use(VueCompareImage); -}); diff --git a/packages/nuxt/dist/runtime/public/explorer-1/bg-stars-edu.png b/packages/nuxt/dist/runtime/public/explorer-1/bg-stars-edu.png deleted file mode 100644 index cae5ab65..00000000 Binary files a/packages/nuxt/dist/runtime/public/explorer-1/bg-stars-edu.png and /dev/null differ diff --git a/packages/nuxt/dist/runtime/public/explorer-1/bg-stars.jpg b/packages/nuxt/dist/runtime/public/explorer-1/bg-stars.jpg deleted file mode 100644 index e5238aec..00000000 Binary files a/packages/nuxt/dist/runtime/public/explorer-1/bg-stars.jpg and /dev/null differ diff --git a/packages/nuxt/dist/runtime/store/header.d.ts b/packages/nuxt/dist/runtime/store/header.d.ts deleted file mode 100644 index fc1d792f..00000000 --- a/packages/nuxt/dist/runtime/store/header.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { useHeaderStore } from '@explorer-1/vue/src/store/header'; -export default useHeaderStore; diff --git a/packages/nuxt/dist/runtime/store/header.js b/packages/nuxt/dist/runtime/store/header.js deleted file mode 100644 index d242da66..00000000 --- a/packages/nuxt/dist/runtime/store/header.js +++ /dev/null @@ -1,2 +0,0 @@ -import { useHeaderStore } from "@explorer-1/vue/src/store/header"; -export default useHeaderStore; diff --git a/packages/nuxt/dist/runtime/store/theme.d.ts b/packages/nuxt/dist/runtime/store/theme.d.ts deleted file mode 100644 index 4e1ca110..00000000 --- a/packages/nuxt/dist/runtime/store/theme.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { useThemeStore } from '@explorer-1/vue/src/store/theme'; -export default useThemeStore; diff --git a/packages/nuxt/dist/runtime/store/theme.js b/packages/nuxt/dist/runtime/store/theme.js deleted file mode 100644 index 492905b5..00000000 --- a/packages/nuxt/dist/runtime/store/theme.js +++ /dev/null @@ -1,2 +0,0 @@ -import { useThemeStore } from "@explorer-1/vue/src/store/theme"; -export default useThemeStore; diff --git a/packages/nuxt/dist/runtime/tailwind.config.d.ts b/packages/nuxt/dist/runtime/tailwind.config.d.ts deleted file mode 100644 index efc8c7fb..00000000 --- a/packages/nuxt/dist/runtime/tailwind.config.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -declare const _default: { - content: string[]; - mode: string; - darkMode: "class"; - theme: Partial; - plugins: any[]; - future: { - hoverOnlyWhenSupported: true; - }; - safelist: string[]; -}; -export default _default; diff --git a/packages/nuxt/dist/runtime/tailwind.config.js b/packages/nuxt/dist/runtime/tailwind.config.js deleted file mode 100644 index 0cf81f12..00000000 --- a/packages/nuxt/dist/runtime/tailwind.config.js +++ /dev/null @@ -1,11 +0,0 @@ -import { createResolver } from '@nuxt/kit' -import explorer1Config from '@explorer-1/common/tailwind.config' - -console.log('ℹ Tailwind Config provided by @explorer-1/nuxt') - -const resolver = createResolver(import.meta.url) - -export default { - ...explorer1Config, - content: [resolver.resolve('./../../node_modules/@explorer-1/vue/src/**/*.vue')] -} diff --git a/packages/nuxt/dist/types.d.mts b/packages/nuxt/dist/types.d.mts deleted file mode 100644 index b166d393..00000000 --- a/packages/nuxt/dist/types.d.mts +++ /dev/null @@ -1,16 +0,0 @@ - -import type { ModuleOptions } from './module.js' - - -declare module '@nuxt/schema' { - interface NuxtConfig { ['explorer1']?: Partial } - interface NuxtOptions { ['explorer1']?: ModuleOptions } -} - -declare module 'nuxt/schema' { - interface NuxtConfig { ['explorer1']?: Partial } - interface NuxtOptions { ['explorer1']?: ModuleOptions } -} - - -export type { ModuleOptions, default } from './module.js' diff --git a/packages/nuxt/dist/types.d.ts b/packages/nuxt/dist/types.d.ts deleted file mode 100644 index 6491f42c..00000000 --- a/packages/nuxt/dist/types.d.ts +++ /dev/null @@ -1,16 +0,0 @@ - -import type { ModuleOptions } from './module' - - -declare module '@nuxt/schema' { - interface NuxtConfig { ['explorer1']?: Partial } - interface NuxtOptions { ['explorer1']?: ModuleOptions } -} - -declare module 'nuxt/schema' { - interface NuxtConfig { ['explorer1']?: Partial } - interface NuxtOptions { ['explorer1']?: ModuleOptions } -} - - -export type { ModuleOptions, default } from './module' diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index c25125b8..6f106365 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -1,6 +1,11 @@ { "name": "@explorer-1/nuxt", - "private": true, + "private": false, + "author": "DesignLab", + "repository": { + "type": "git", + "url": "https://github.com/nasa-jpl/explorer-1" + }, "version": "0.0.0", "type": "module", "exports": { diff --git a/packages/nuxt/playground/package.json b/packages/nuxt/playground/package.json index 3d89a4cc..44f3c4f9 100644 --- a/packages/nuxt/playground/package.json +++ b/packages/nuxt/playground/package.json @@ -1,5 +1,5 @@ { - "private": true, + "private": false, "name": "my-module-playground", "type": "module", "prettier": "@explorer-1/prettier-config", diff --git a/packages/vue/dist/edu/.gitkeep b/packages/vue/dist/edu/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/packages/vue/dist/edu/explorer-1/bg-stars-edu.png b/packages/vue/dist/edu/explorer-1/bg-stars-edu.png deleted file mode 100644 index cae5ab65..00000000 Binary files a/packages/vue/dist/edu/explorer-1/bg-stars-edu.png and /dev/null differ diff --git a/packages/vue/dist/edu/explorer-1/bg-stars.jpg b/packages/vue/dist/edu/explorer-1/bg-stars.jpg deleted file mode 100644 index e5238aec..00000000 Binary files a/packages/vue/dist/edu/explorer-1/bg-stars.jpg and /dev/null differ diff --git a/packages/vue/dist/explorer-1-vue.d.ts b/packages/vue/dist/explorer-1-vue.d.ts deleted file mode 100644 index 7b140b35..00000000 --- a/packages/vue/dist/explorer-1-vue.d.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './lib/main' diff --git a/packages/vue/dist/explorer-1-vue.js b/packages/vue/dist/explorer-1-vue.js deleted file mode 100644 index 39014849..00000000 --- a/packages/vue/dist/explorer-1-vue.js +++ /dev/null @@ -1,2012 +0,0 @@ -import Y from "dayjs"; -import { default as Cn } from "dayjs"; -import { hasInjectionContext as et, inject as Oe, getCurrentInstance as tt, ref as Be, watch as at, reactive as nt, markRaw as G, effectScope as st, isRef as Q, isReactive as me, toRef as le, toRaw as rt, nextTick as ye, computed as Ne, getCurrentScope as ot, onScopeDispose as it, toRefs as ve, defineComponent as C, openBlock as p, createBlock as L, resolveDynamicComponent as xe, normalizeClass as I, withCtx as B, createElementVNode as w, renderSlot as E, createElementBlock as $, createCommentVNode as O, createVNode as H, resolveComponent as lt, createTextVNode as ze, toDisplayString as Ie, createStaticVNode as ct } from "vue"; -import { Fancybox as dt } from "@fancyapps/ui"; -var K = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}; -function ae(e) { - return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e; -} -var Ye = { exports: {} }; -(function(e, n) { - (function(a, t) { - e.exports = t(); - })(K, function() { - return function(a, t, s) { - s.updateLocale = function(i, r) { - var l = s.Ls[i]; - if (l) - return (r ? Object.keys(r) : []).forEach(function(f) { - l[f] = r[f]; - }), l; - }; - }; - }); -})(Ye); -var ut = Ye.exports; -const pt = /* @__PURE__ */ ae(ut); -var je = { exports: {} }; -(function(e, n) { - (function(a, t) { - e.exports = t(); - })(K, function() { - var a = { LTS: "h:mm:ss A", LT: "h:mm A", L: "MM/DD/YYYY", LL: "MMMM D, YYYY", LLL: "MMMM D, YYYY h:mm A", LLLL: "dddd, MMMM D, YYYY h:mm A" }; - return function(t, s, i) { - var r = s.prototype, l = r.format; - i.en.formats = a, r.format = function(f) { - f === void 0 && (f = "YYYY-MM-DDTHH:mm:ssZ"); - var h = this.$locale().formats, b = function(g, u) { - return g.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g, function(m, v, y) { - var M = y && y.toUpperCase(); - return v || u[y] || a[y] || u[M].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g, function(N, S, j) { - return S || j.slice(1); - }); - }); - }(f, h === void 0 ? {} : h); - return l.call(this, b); - }; - }; - }); -})(je); -var ft = je.exports; -const ht = /* @__PURE__ */ ae(ft); -var Ve = { exports: {} }; -(function(e, n) { - (function(a, t) { - e.exports = t(); - })(K, function() { - var a = { year: 0, month: 1, day: 2, hour: 3, minute: 4, second: 5 }, t = {}; - return function(s, i, r) { - var l, f = function(u, m, v) { - v === void 0 && (v = {}); - var y = new Date(u), M = function(N, S) { - S === void 0 && (S = {}); - var j = S.timeZoneName || "short", q = N + "|" + j, D = t[q]; - return D || (D = new Intl.DateTimeFormat("en-US", { hour12: !1, timeZone: N, year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit", timeZoneName: j }), t[q] = D), D; - }(m, v); - return M.formatToParts(y); - }, h = function(u, m) { - for (var v = f(u, m), y = [], M = 0; M < v.length; M += 1) { - var N = v[M], S = N.type, j = N.value, q = a[S]; - q >= 0 && (y[q] = parseInt(j, 10)); - } - var D = y[3], P = D === 24 ? 0 : D, d = y[0] + "-" + y[1] + "-" + y[2] + " " + P + ":" + y[4] + ":" + y[5] + ":000", A = +u; - return (r.utc(d).valueOf() - (A -= A % 1e3)) / 6e4; - }, b = i.prototype; - b.tz = function(u, m) { - u === void 0 && (u = l); - var v = this.utcOffset(), y = this.toDate(), M = y.toLocaleString("en-US", { timeZone: u }), N = Math.round((y - new Date(M)) / 1e3 / 60), S = r(M, { locale: this.$L }).$set("millisecond", this.$ms).utcOffset(15 * -Math.round(y.getTimezoneOffset() / 15) - N, !0); - if (m) { - var j = S.utcOffset(); - S = S.add(v - j, "minute"); - } - return S.$x.$timezone = u, S; - }, b.offsetName = function(u) { - var m = this.$x.$timezone || r.tz.guess(), v = f(this.valueOf(), m, { timeZoneName: u }).find(function(y) { - return y.type.toLowerCase() === "timezonename"; - }); - return v && v.value; - }; - var g = b.startOf; - b.startOf = function(u, m) { - if (!this.$x || !this.$x.$timezone) - return g.call(this, u, m); - var v = r(this.format("YYYY-MM-DD HH:mm:ss:SSS"), { locale: this.$L }); - return g.call(v, u, m).tz(this.$x.$timezone, !0); - }, r.tz = function(u, m, v) { - var y = v && m, M = v || m || l, N = h(+r(), M); - if (typeof u != "string") - return r(u).tz(M); - var S = function(P, d, A) { - var x = P - 60 * d * 1e3, c = h(x, A); - if (d === c) - return [x, d]; - var o = h(x -= 60 * (c - d) * 1e3, A); - return c === o ? [x, c] : [P - 60 * Math.min(c, o) * 1e3, Math.max(c, o)]; - }(r.utc(u, y).valueOf(), N, M), j = S[0], q = S[1], D = r(j).utcOffset(q); - return D.$x.$timezone = M, D; - }, r.tz.guess = function() { - return Intl.DateTimeFormat().resolvedOptions().timeZone; - }, r.tz.setDefault = function(u) { - l = u; - }; - }; - }); -})(Ve); -var mt = Ve.exports; -const gt = /* @__PURE__ */ ae(mt); -var Fe = { exports: {} }; -(function(e, n) { - (function(a, t) { - e.exports = t(); - })(K, function() { - return function(a, t) { - var s = t.prototype, i = s.format; - s.format = function(r) { - var l = this, f = this.$locale(); - if (!this.isValid()) - return i.bind(this)(r); - var h = this.$utils(), b = (r || "YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g, function(g) { - switch (g) { - case "Q": - return Math.ceil((l.$M + 1) / 3); - case "Do": - return f.ordinal(l.$D); - case "gggg": - return l.weekYear(); - case "GGGG": - return l.isoWeekYear(); - case "wo": - return f.ordinal(l.week(), "W"); - case "w": - case "ww": - return h.s(l.week(), g === "w" ? 1 : 2, "0"); - case "W": - case "WW": - return h.s(l.isoWeek(), g === "W" ? 1 : 2, "0"); - case "k": - case "kk": - return h.s(String(l.$H === 0 ? 24 : l.$H), g === "k" ? 1 : 2, "0"); - case "X": - return Math.floor(l.$d.getTime() / 1e3); - case "x": - return l.$d.getTime(); - case "z": - return "[" + l.offsetName() + "]"; - case "zzz": - return "[" + l.offsetName("long") + "]"; - default: - return g; - } - }); - return i.bind(this)(b); - }; - }; - }); -})(Fe); -var yt = Fe.exports; -const vt = /* @__PURE__ */ ae(yt); -var _t = { exports: {} }; -(function(e, n) { - (function(a, t) { - e.exports = t(Y); - })(K, function(a) { - function t(r) { - return r && typeof r == "object" && "default" in r ? r : { default: r }; - } - var s = t(a), i = { name: "en-gb", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), weekdaysShort: "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), weekdaysMin: "Su_Mo_Tu_We_Th_Fr_Sa".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), monthsShort: "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"), weekStart: 1, yearStart: 4, relativeTime: { future: "in %s", past: "%s ago", s: "a few seconds", m: "a minute", mm: "%d minutes", h: "an hour", hh: "%d hours", d: "a day", dd: "%d days", M: "a month", MM: "%d months", y: "a year", yy: "%d years" }, formats: { LT: "HH:mm", LTS: "HH:mm:ss", L: "DD/MM/YYYY", LL: "D MMMM YYYY", LLL: "D MMMM YYYY HH:mm", LLLL: "dddd, D MMMM YYYY HH:mm" }, ordinal: function(r) { - var l = ["th", "st", "nd", "rd"], f = r % 100; - return "[" + r + (l[(f - 20) % 10] || l[f] || l[0]) + "]"; - } }; - return s.default.locale(i, null, !0), i; - }); -})(_t); -Y.extend(ht); -Y.extend(pt); -Y.updateLocale("en", { - monthsShort: [ - "Jan.", - "Feb.", - "March", - "April", - "May", - "June", - "July", - "Aug.", - "Sept.", - "Oct.", - "Nov.", - "Dec." - ] -}); -Y.extend(gt); -Y.extend(vt); -const Qa = { - // To support more locales update add imports to dayjs.js' - displayDate(e, n, a = "en") { - if (e) { - const t = Y(e).locale(a); - let s; - switch (n) { - case "DateTime": - s = t.format("MMM D YYYY, HH:mm"); - break; - case "Date": - s = t.format("MMM D YYYY"); - break; - case "Time": - s = t.format("HH:mm"); - break; - case "MonthAndYear": - s = t.format("MMM YYYY"); - break; - case "Day": - s = t.format("D"); - break; - default: - s = t.format("ll"); - } - return s; - } - } -}; -var bt = !1; -function ee(e, n, a) { - return Array.isArray(e) ? (e.length = Math.max(e.length, n), e.splice(n, 1, a), a) : (e[n] = a, a); -} -function ce(e, n) { - if (Array.isArray(e)) { - e.splice(n, 1); - return; - } - delete e[n]; -} -/*! - * pinia v2.1.7 - * (c) 2023 Eduardo San Martin Morote - * @license MIT - */ -let J; -const te = (e) => J = e, $t = process.env.NODE_ENV !== "production" ? Symbol("pinia") : ( - /* istanbul ignore next */ - Symbol() -); -function T(e) { - return e && typeof e == "object" && Object.prototype.toString.call(e) === "[object Object]" && typeof e.toJSON != "function"; -} -var Z; -(function(e) { - e.direct = "direct", e.patchObject = "patch object", e.patchFunction = "patch function"; -})(Z || (Z = {})); -const ge = typeof window < "u", de = (process.env.NODE_ENV !== "production" || !1) && process.env.NODE_ENV !== "test" && ge; -function qe(e, n) { - for (const a in n) { - const t = n[a]; - if (!(a in e)) - continue; - const s = e[a]; - T(s) && T(t) && !Q(t) && !me(t) ? e[a] = qe(s, t) : e[a] = t; - } - return e; -} -const He = () => { -}; -function _e(e, n, a, t = He) { - e.push(n); - const s = () => { - const i = e.indexOf(n); - i > -1 && (e.splice(i, 1), t()); - }; - return !a && ot() && it(s), s; -} -function W(e, ...n) { - e.slice().forEach((a) => { - a(...n); - }); -} -const wt = (e) => e(); -function fe(e, n) { - e instanceof Map && n instanceof Map && n.forEach((a, t) => e.set(t, a)), e instanceof Set && n instanceof Set && n.forEach(e.add, e); - for (const a in n) { - if (!n.hasOwnProperty(a)) - continue; - const t = n[a], s = e[a]; - T(s) && T(t) && e.hasOwnProperty(a) && !Q(t) && !me(t) ? e[a] = fe(s, t) : e[a] = t; - } - return e; -} -const Ct = process.env.NODE_ENV !== "production" ? Symbol("pinia:skipHydration") : ( - /* istanbul ignore next */ - Symbol() -); -function kt(e) { - return !T(e) || !e.hasOwnProperty(Ct); -} -const { assign: F } = Object; -function be(e) { - return !!(Q(e) && e.effect); -} -function $e(e, n, a, t) { - const { state: s, actions: i, getters: r } = n, l = a.state.value[e]; - let f; - function h() { - !l && (process.env.NODE_ENV === "production" || !t) && (a.state.value[e] = s ? s() : {}); - const b = process.env.NODE_ENV !== "production" && t ? ( - // use ref() to unwrap refs inside state TODO: check if this is still necessary - ve(Be(s ? s() : {}).value) - ) : ve(a.state.value[e]); - return F(b, i, Object.keys(r || {}).reduce((g, u) => (process.env.NODE_ENV !== "production" && u in b && console.warn(`[🍍]: A getter cannot have the same name as another state property. Rename one of them. Found with "${u}" in store "${e}".`), g[u] = G(Ne(() => { - te(a); - const m = a._s.get(e); - return r[u].call(m, m); - })), g), {})); - } - return f = he(e, h, n, a, t, !0), f; -} -function he(e, n, a = {}, t, s, i) { - let r; - const l = F({ actions: {} }, a); - if (process.env.NODE_ENV !== "production" && !t._e.active) - throw new Error("Pinia destroyed"); - const f = { - deep: !0 - // flush: 'post', - }; - process.env.NODE_ENV !== "production" && !bt && (f.onTrigger = (c) => { - h ? m = c : h == !1 && !d._hotUpdating && (Array.isArray(m) ? m.push(c) : console.error("🍍 debuggerEvents should be an array. This is most likely an internal Pinia bug.")); - }); - let h, b, g = [], u = [], m; - const v = t.state.value[e]; - !i && !v && (process.env.NODE_ENV === "production" || !s) && (t.state.value[e] = {}); - const y = Be({}); - let M; - function N(c) { - let o; - h = b = !1, process.env.NODE_ENV !== "production" && (m = []), typeof c == "function" ? (c(t.state.value[e]), o = { - type: Z.patchFunction, - storeId: e, - events: m - }) : (fe(t.state.value[e], c), o = { - type: Z.patchObject, - payload: c, - storeId: e, - events: m - }); - const _ = M = Symbol(); - ye().then(() => { - M === _ && (h = !0); - }), b = !0, W(g, o, t.state.value[e]); - } - const S = i ? function() { - const { state: o } = a, _ = o ? o() : {}; - this.$patch((z) => { - F(z, _); - }); - } : ( - /* istanbul ignore next */ - process.env.NODE_ENV !== "production" ? () => { - throw new Error(`🍍: Store "${e}" is built using the setup syntax and does not implement $reset().`); - } : He - ); - function j() { - r.stop(), g = [], u = [], t._s.delete(e); - } - function q(c, o) { - return function() { - te(t); - const _ = Array.from(arguments), z = [], R = []; - function Qe(V) { - z.push(V); - } - function Ke(V) { - R.push(V); - } - W(u, { - args: _, - name: c, - store: d, - after: Qe, - onError: Ke - }); - let U; - try { - U = o.apply(this && this.$id === e ? this : d, _); - } catch (V) { - throw W(R, V), V; - } - return U instanceof Promise ? U.then((V) => (W(z, V), V)).catch((V) => (W(R, V), Promise.reject(V))) : (W(z, U), U); - }; - } - const D = /* @__PURE__ */ G({ - actions: {}, - getters: {}, - state: [], - hotState: y - }), P = { - _p: t, - // _s: scope, - $id: e, - $onAction: _e.bind(null, u), - $patch: N, - $reset: S, - $subscribe(c, o = {}) { - const _ = _e(g, c, o.detached, () => z()), z = r.run(() => at(() => t.state.value[e], (R) => { - (o.flush === "sync" ? b : h) && c({ - storeId: e, - type: Z.direct, - events: m - }, R); - }, F({}, f, o))); - return _; - }, - $dispose: j - }, d = nt(process.env.NODE_ENV !== "production" || de ? F( - { - _hmrPayload: D, - _customProperties: G(/* @__PURE__ */ new Set()) - // devtools custom properties - }, - P - // must be added later - // setupStore - ) : P); - t._s.set(e, d); - const x = (t._a && t._a.runWithContext || wt)(() => t._e.run(() => (r = st()).run(n))); - for (const c in x) { - const o = x[c]; - if (Q(o) && !be(o) || me(o)) - process.env.NODE_ENV !== "production" && s ? ee(y.value, c, le(x, c)) : i || (v && kt(o) && (Q(o) ? o.value = v[c] : fe(o, v[c])), t.state.value[e][c] = o), process.env.NODE_ENV !== "production" && D.state.push(c); - else if (typeof o == "function") { - const _ = process.env.NODE_ENV !== "production" && s ? o : q(c, o); - x[c] = _, process.env.NODE_ENV !== "production" && (D.actions[c] = o), l.actions[c] = o; - } else - process.env.NODE_ENV !== "production" && be(o) && (D.getters[c] = i ? ( - // @ts-expect-error - a.getters[c] - ) : o, ge && (x._getters || // @ts-expect-error: same - (x._getters = G([]))).push(c)); - } - if (F(d, x), F(rt(d), x), Object.defineProperty(d, "$state", { - get: () => process.env.NODE_ENV !== "production" && s ? y.value : t.state.value[e], - set: (c) => { - if (process.env.NODE_ENV !== "production" && s) - throw new Error("cannot set hotState"); - N((o) => { - F(o, c); - }); - } - }), process.env.NODE_ENV !== "production" && (d._hotUpdate = G((c) => { - d._hotUpdating = !0, c._hmrPayload.state.forEach((o) => { - if (o in d.$state) { - const _ = c.$state[o], z = d.$state[o]; - typeof _ == "object" && T(_) && T(z) ? qe(_, z) : c.$state[o] = z; - } - ee(d, o, le(c.$state, o)); - }), Object.keys(d.$state).forEach((o) => { - o in c.$state || ce(d, o); - }), h = !1, b = !1, t.state.value[e] = le(c._hmrPayload, "hotState"), b = !0, ye().then(() => { - h = !0; - }); - for (const o in c._hmrPayload.actions) { - const _ = c[o]; - ee(d, o, q(o, _)); - } - for (const o in c._hmrPayload.getters) { - const _ = c._hmrPayload.getters[o], z = i ? ( - // special handling of options api - Ne(() => (te(t), _.call(d, d))) - ) : _; - ee(d, o, z); - } - Object.keys(d._hmrPayload.getters).forEach((o) => { - o in c._hmrPayload.getters || ce(d, o); - }), Object.keys(d._hmrPayload.actions).forEach((o) => { - o in c._hmrPayload.actions || ce(d, o); - }), d._hmrPayload = c._hmrPayload, d._getters = c._getters, d._hotUpdating = !1; - })), de) { - const c = { - writable: !0, - configurable: !0, - // avoid warning on devtools trying to display this property - enumerable: !1 - }; - ["_p", "_hmrPayload", "_getters", "_customProperties"].forEach((o) => { - Object.defineProperty(d, o, F({ value: d[o] }, c)); - }); - } - return t._p.forEach((c) => { - if (de) { - const o = r.run(() => c({ - store: d, - app: t._a, - pinia: t, - options: l - })); - Object.keys(o || {}).forEach((_) => d._customProperties.add(_)), F(d, o); - } else - F(d, r.run(() => c({ - store: d, - app: t._a, - pinia: t, - options: l - }))); - }), process.env.NODE_ENV !== "production" && d.$state && typeof d.$state == "object" && typeof d.$state.constructor == "function" && !d.$state.constructor.toString().includes("[native code]") && console.warn(`[🍍]: The "state" must be a plain object. It cannot be - state: () => new MyClass() -Found in store "${d.$id}".`), v && i && a.hydrate && a.hydrate(d.$state, v), h = !0, b = !0, d; -} -function Pe(e, n, a) { - let t, s; - const i = typeof n == "function"; - if (typeof e == "string") - t = e, s = i ? a : n; - else if (s = e, t = e.id, process.env.NODE_ENV !== "production" && typeof t != "string") - throw new Error('[🍍]: "defineStore()" must be passed a store id as its first argument.'); - function r(l, f) { - const h = et(); - if (l = // in test mode, ignore the argument provided as we can always retrieve a - // pinia instance with getActivePinia() - (process.env.NODE_ENV === "test" && J && J._testing ? null : l) || (h ? Oe($t, null) : null), l && te(l), process.env.NODE_ENV !== "production" && !J) - throw new Error(`[🍍]: "getActivePinia()" was called but there was no active Pinia. Are you trying to use a store before calling "app.use(pinia)"? -See https://pinia.vuejs.org/core-concepts/outside-component-usage.html for help. -This will fail in production.`); - l = J, l._s.has(t) || (i ? he(t, n, s, l) : $e(t, s, l), process.env.NODE_ENV !== "production" && (r._pinia = l)); - const b = l._s.get(t); - if (process.env.NODE_ENV !== "production" && f) { - const g = "__hot:" + t, u = i ? he(g, n, s, l, !0) : $e(g, F({}, s), l, !0); - f._hotUpdate(u), delete l.state.value[g], l._s.delete(g); - } - if (process.env.NODE_ENV !== "production" && ge) { - const g = tt(); - if (g && g.proxy && // avoid adding stores that are just built for hot module replacement - !f) { - const u = g.proxy, m = "_pStores" in u ? u._pStores : u._pStores = {}; - m[t] = b; - } - } - return b; - } - return r.$id = t, r; -} -const ne = Pe("header", { - state: () => ({ - headerTransparent: !1, - highlightPrimary: !0, - globalChildren: null, - secondaryNav: null - }), - actions: { - makeTransparent(e) { - this.headerTransparent = e; - }, - updateHighlightPrimary(e) { - this.highlightPrimary = e; - }, - updateGlobalChildren(e) { - this.globalChildren = e; - }, - updateSecondary(e) { - this.secondaryNav = e; - } - } -}), Ka = Pe("theme", { - state: () => ({ - theme: null - }), - actions: { - setTheme(e) { - this.theme = e; - } - }, - getters: { - isEdu(e) { - return e.theme === "ThemeEdu"; - } - } -}); -/*! - * vue-router v4.3.3 - * (c) 2024 Eduardo San Martin Morote - * @license MIT - */ -var we; -(function(e) { - e.pop = "pop", e.push = "push"; -})(we || (we = {})); -var Ce; -(function(e) { - e.back = "back", e.forward = "forward", e.unknown = ""; -})(Ce || (Ce = {})); -Symbol(process.env.NODE_ENV !== "production" ? "navigation failure" : ""); -var ke; -(function(e) { - e[e.aborted = 4] = "aborted", e[e.cancelled = 8] = "cancelled", e[e.duplicated = 16] = "duplicated"; -})(ke || (ke = {})); -Symbol(process.env.NODE_ENV !== "production" ? "router view location matched" : ""); -Symbol(process.env.NODE_ENV !== "production" ? "router view depth" : ""); -Symbol(process.env.NODE_ENV !== "production" ? "router" : ""); -const Mt = Symbol(process.env.NODE_ENV !== "production" ? "route location" : ""); -Symbol(process.env.NODE_ENV !== "production" ? "router view location" : ""); -function St() { - return Oe(Mt); -} -const en = () => { - const e = ne(); - e && e.makeTransparent(!0); -}, tn = (e) => e.title ? e.title : e.linkPage ? e.linkPage.title : "", an = (e) => { - if (e.linkPage && e.linkPage.url) - return e.linkPage.url; - if (e.path) { - const n = "http://localhost:3000"; - if (e.path.startsWith(n + "/missions?") || e.path.startsWith(n + "/news?")) - return e.path.replace(n, ""); - if (e.path.startsWith("/")) - return e.path; - } -}, nn = (e) => { - ne().updateGlobalChildren(e); -}, sn = (e) => { - ne().updateSecondary(e); -}, rn = (e) => { - ne().updateHighlightPrimary(e); -}, on = (e) => { - const n = St(), a = n ? n.path : null, t = e, s = t ? t.endsWith("/") ? t : t + "/" : null; - return a && t && s ? a === t ? !0 : a.startsWith(s) : !1; -}, Dt = (e) => { - let n = ""; - if (Object.keys(e).some(function(t) { - return !!t.startsWith("screen"); - })) { - const t = []; - for (const [s, i] of Object.entries(e)) - s.startsWith("screen") && typeof i == "object" && i.url && i.width && t.push(`${i.url} ${i.width}w`); - n = t.join(", "); - } - return n; -}, ln = (e) => { - if (e.externalLink) - return e.externalLink; - if (e.document) - return e.document.url; -}, cn = (e) => "https://www.jpl.nasa.gov" + e, dn = (e, n) => { - if (e && e.original) { - let a = e.title; - n && (a = n); - let t = e.credit; - return e.detailUrl && (t = ""), [ - { - title: a, - url: e.original, - detailUrl: e.detailUrl, - credit: t - } - ]; - } - return !1; -}, un = (e) => { - const n = [], a = Object.keys(e).map( - (t) => e[t] - ); - if (e) { - for (const t of a) - for (const s of Object.values(t)) - s && s.original !== void 0 && n.push({ - title: s.title, - url: s.original, - detailUrl: s.detailUrl, - credit: s.credit - }); - return n; - } else - return !1; -}, pn = (e, n) => { - const a = Y(e); - let t = a.format("D"); - const s = a.format("MMM YYYY"); - if (n) { - const i = Y(n); - a.format("MM") === i.format("MM") && a.format("ll") !== i.format("ll") && (t = `${t}-${i.format("D")}`); - } - return { day: t, monthAndYear: s }; -}, fn = (e, n) => { - const a = Y(e); - let t = a.format("ll"); - if (n) { - const s = Y(n); - a.format("YYYY") !== s.format("YYYY") ? t = `${a.format("ll")} - ${s.format("ll")}` : a.format("MM") !== s.format("MM") ? t = `${a.format("MMM D")} - ${s.format("ll")}` : s.diff(a, "hour") >= 24 && a.format("ll") !== s.format("ll") && (t = `${a.format("MMM D")}-${s.format( - "D" - )}, ${a.format("YYYY")}`); - } - return t; -}, hn = (e, n, a) => { - const t = Y(e); - let s = ""; - if (n) { - const i = Y(n); - i.diff(t, "hour") <= 24 && i.diff(t, "day") === 0 && (a ? t.format("a") === i.format("a") ? s = `${t.format("h:mm")}-${i.format("h:mm a z")}` : s = `${t.format("h:mm a")} - ${i.format("h:mm a z")}` : s = `${t.format("h:mm a z")}`); - } - return s; -}, Me = { - primary: "-primary", - secondary: "-secondary", - dark: "-dark", - social: "-social" -}, Et = C({ - name: "BaseButton", - props: { - variant: { - type: String, - required: !1, - default: "primary", - validator: (e) => Object.keys(Me).includes(e) - }, - compact: { - type: Boolean, - default: !1, - required: !1 - }, - blockClasses: { - type: String, - required: !1, - default: "inline-block" - }, - disabled: { - type: Boolean, - default: !1, - required: !1 - }, - ariaLabel: { - type: String, - default: "", - required: !1 - }, - to: { - type: [String, Object], - required: !1, - default: void 0 - }, - href: { - type: String, - required: !1, - default: void 0 - } - }, - emits: ["click"], - computed: { - tag() { - return this.disabled ? "button" : this.to ? "nuxt-link" : this.href ? "a" : "button"; - }, - // necessary for valid html - // must account for , , and