@explorer-1/vue 0.2.5 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@explorer-1/vue",
3
- "version": "0.2.5",
3
+ "version": "0.2.6",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -29,7 +29,7 @@
29
29
  "vue": "^3.4.21",
30
30
  "vue-observe-visibility": "^1.0.0",
31
31
  "vue3-compare-image": "^1.2.5",
32
- "@explorer-1/common": "1.1.1"
32
+ "@explorer-1/common": "1.1.2"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@vitejs/plugin-vue": "^5.0.4",
@@ -3,7 +3,7 @@
3
3
  <NavDropdownToggle
4
4
  v-click-outside="closeDropdown"
5
5
  :aria-expanded="dropdownVisible ? true : false"
6
- class="group relative z-20 px-4 font-medium border-t-2 border-transparent"
6
+ class="group relative z-20 px-4 font-medium border-t-2 border-transparent edu:text-sm edu:xl:text-base edu:px-2 edu:xl:px-4"
7
7
  :class="{
8
8
  '-open': dropdownVisible
9
9
  }"
@@ -56,16 +56,8 @@ export const NavDesktopDropdownContentData = {
56
56
  description: 'Lorem ipsum dolor sit amet.',
57
57
  title: 'About'
58
58
  },
59
- {
60
- ...MenuLinkColumnWithHeaderData,
61
- heading: null,
62
- headingPage: null
63
- },
64
- {
65
- ...MenuLinkColumnWithHeaderData,
66
- heading: null,
67
- headingPage: null
68
- }
59
+ MenuLinkColumnWithHeaderData,
60
+ MenuLinkColumnWithHeaderData
69
61
  ]
70
62
  }
71
63
  // combined dropdown data for "more" menu
@@ -106,12 +98,11 @@ export const NavDesktopData = {
106
98
  '{"/": [{"path": "http://www.jpl.nasa.gov/", "title": "Asteroid watch"}, {"path": "http://www.jpl.nasa.gov/", "title": "Asteroid fast facts"}, {"path": "http://www.jpl.nasa.gov/", "title": "Meteor shower viewing guide"}, {"path": "http://www.jpl.nasa.gov/", "title": "Yeoman\'s top 10"}, {"path": "http://www.jpl.nasa.gov/", "title": "Glossary of space rocks"}, {"path": "/robotics-at-jpl/", "title": "Robotics"}, {"path": "http://www.jpl.nasa.gov/", "title": "Apps"}, {"path": "/jpl-life/", "title": "JPL Life"}, {"path": "/stars-and-galaxies/", "title": "Stars and Galaxies"}, {"path": "/exoplanets/", "title": "Exoplanets"}, {"path": "/solar-system/", "title": "Solar System"}, {"path": "/asteroids/", "title": "Asteroids"}, {"path": "/comets/", "title": "Comets"}, {"path": "/technology/", "title": "Technology"}, {"path": "/mars/", "title": "Mars"}, {"path": "/earth/", "title": "Earth"}, {"path": "/climate-change/", "title": "Climate Change"}, {"path": "/earthquakes/", "title": "Earthquakes"}, {"path": "/weather/", "title": "Weather"}, {"path": "/robotics/", "title": "Robotics"}], "/missions/": [{"path": "/missions/", "title": "Current"}, {"path": "/missions/", "title": "Past"}, {"path": "/missions/", "title": "Future"}, {"path": "/missions/", "title": "Proposed"}, {"path": "/missions/", "title": "All"}], "/news/": [{"path": "/news/", "title": "All news"}, {"path": "/news/", "title": "Press kits"}, {"path": "/news/", "title": "Fact sheets"}, {"path": "/news/", "title": "Media Information"}, {"path": "/news/", "title": "JPL newsletter"}]}',
107
99
  ...NavDesktopTopHatData,
108
100
  primaryNavigation: [
109
- NavDesktopDropdownContentData,
110
101
  {
111
102
  ...NavDesktopDropdownContentData,
112
103
  titleLink: {
113
104
  linkPage: {
114
- title: 'Missions',
105
+ title: 'K-12 Resources',
115
106
  url: '/missions/'
116
107
  },
117
108
  title: null
@@ -139,7 +130,7 @@ export const NavDesktopData = {
139
130
  ...NavDesktopDropdownContentData,
140
131
  titleLink: {
141
132
  linkPage: {
142
- title: 'News',
133
+ title: 'Internships',
143
134
  url: '/news/'
144
135
  },
145
136
  title: null
@@ -149,7 +140,7 @@ export const NavDesktopData = {
149
140
  ...NavDesktopDropdownContentData,
150
141
  titleLink: {
151
142
  linkPage: {
152
- title: 'Galleries',
143
+ title: 'News & Events',
153
144
  url: '/galleries/'
154
145
  },
155
146
  title: null
@@ -159,7 +150,7 @@ export const NavDesktopData = {
159
150
  ...NavDesktopDropdownContentData,
160
151
  titleLink: {
161
152
  linkPage: {
162
- title: 'Engage',
153
+ title: 'About',
163
154
  url: '/engage/'
164
155
  },
165
156
  title: null
@@ -25,8 +25,15 @@
25
25
  />
26
26
  </NavLogoLinks>
27
27
  <!-- site title -->
28
- <div class="ml-3 pl-5 border-l border-white border-opacity-30 z-20">
29
- <span class="text-white font-bold text-3xl">Education</span>
28
+ <div class="ml-2 pl-3 xl:ml-3 xl:pl-5 border-l border-white border-opacity-30 z-20">
29
+ <BaseLink
30
+ class="text-white font-bold text-2xl xl:text-3xl"
31
+ to="/edu/"
32
+ link-class="py-2"
33
+ variant="none"
34
+ >
35
+ Education
36
+ </BaseLink>
30
37
  </div>
31
38
  <!-- main nav with dropdowns -->
32
39
  <nav
@@ -51,6 +58,16 @@
51
58
  <NavDesktopDropdownContent :data="item" />
52
59
  </NavDesktopDropdown>
53
60
  </template>
61
+ <BaseLink
62
+ href="https://www.nasa.gov/learning-resources/"
63
+ variant="none"
64
+ class="NavDesktopLink group relative z-20 font-medium border-t-2 border-transparent text-sm xl:text-base px-2 xl:px-4"
65
+ link-class="inline-block py-2 transition-colors duration-100 ease-in border-b-2 border-transparent group-hover:border-white flex flex-wrap-none items-center"
66
+ external-target-blank
67
+ >
68
+ NASA OSTEM
69
+ <IconExternal class="text-sm -mt-0.5 ml-2" />
70
+ </BaseLink>
54
71
  </div>
55
72
  <!-- search -->
56
73
  <div
@@ -93,10 +110,12 @@
93
110
  import { defineComponent } from 'vue'
94
111
  import { mapStores } from 'pinia'
95
112
  import { useHeaderStore } from './../../store/header'
113
+ import BaseLink from './../BaseLink/BaseLink.vue'
96
114
  import NavDesktopDropdown from './../NavDesktop/NavDesktopDropdown.vue'
97
115
  import NavDesktopDropdownContent from './../NavDesktop/NavDesktopDropdownContent.vue'
98
116
  import NavLogoLinks from './../NavLogoLinks/NavLogoLinks.vue'
99
117
  import NavSearchForm from './../NavSearchForm/NavSearchForm.vue'
118
+ import IconExternal from './../Icons/IconExternal.vue'
100
119
  import IconSearch from './../Icons/IconSearch.vue'
101
120
  import IconClose from './../Icons/IconClose.vue'
102
121
  import type { LinkObject, BreadcrumbObject } from './../../utils/mixins'
@@ -112,12 +131,14 @@ import {
112
131
  export default defineComponent({
113
132
  name: 'NavDesktop',
114
133
  components: {
134
+ BaseLink,
115
135
  NavDesktopDropdown,
116
136
  NavDesktopDropdownContent,
117
137
  NavLogoLinks,
118
138
  NavSearchForm,
119
139
  IconSearch,
120
- IconClose
140
+ IconClose,
141
+ IconExternal
121
142
  },
122
143
  props: {
123
144
  data: {
@@ -278,11 +299,6 @@ export default defineComponent({
278
299
  .main-navigation {
279
300
  > * {
280
301
  @apply text-white;
281
-
282
- .NavDesktopDropdown > button {
283
- // mimics .text-contrast class
284
- text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
285
- }
286
302
  }
287
303
  }
288
304
  }
@@ -6,7 +6,7 @@ export default {
6
6
  component: NavHeading,
7
7
  decorators: [
8
8
  () => ({
9
- template: `<div id="storyDecorator" class="p-8 bg-jpl-blue-darker"><story/></div>`
9
+ template: `<div id="storyDecorator" class="p-8 bg-jpl-blue-darker edu:bg-primary-dark"><story/></div>`
10
10
  })
11
11
  ],
12
12
  parameters: {
@@ -7,7 +7,7 @@
7
7
  <BaseLink
8
8
  variant="none"
9
9
  class="text-subtitle text-jpl-blue-lighter edu:text-primary-lighter inline-block mb-4"
10
- link-class="p-2"
10
+ link-class="px-2 block"
11
11
  :to="data.headingPage.url"
12
12
  >
13
13
  {{ data.heading }}
@@ -12,7 +12,7 @@
12
12
  >
13
13
  <BaseLink
14
14
  variant="none"
15
- class="block text-lg font-medium leading-tight text-white"
15
+ class="block text-base xl:text-lg font-medium leading-tight text-white"
16
16
  :href="item.path && !getRouterLink(item) ? item.path : undefined"
17
17
  :to="getRouterLink(item) ? getRouterLink(item) : undefined"
18
18
  link-class="can-hover:hover:underline inline-block px-2 py-3 -ml-2"
@@ -87,6 +87,18 @@
87
87
  :start-open="checkActive(item.titleLink) && !hasSecondary"
88
88
  />
89
89
  </template>
90
+ <template v-if="themeStore.isEdu">
91
+ <BaseLink
92
+ variant="none"
93
+ href="https://www.nasa.gov/learning-resources/"
94
+ class="group relative block w-full px-4 py-2 text-xl font-medium text-left"
95
+ link-class="flex flex-wrap-none overflow-visible whitespace-nowrap items-center py-0 pl-6 -ml-4 border-l-4 border-transparent"
96
+ external-target-blank
97
+ >
98
+ <span class="pr-2">NASA OSTEM</span>
99
+ <IconExternal class="shrink-0 text-sm -mt-0.5" />
100
+ </BaseLink>
101
+ </template>
90
102
  </nav>
91
103
  <div class="pl-8">
92
104
  <nav
@@ -122,6 +134,8 @@ import { useHeaderStore } from './../../store/header'
122
134
  import { useThemeStore } from './../../store/theme'
123
135
  import IconMenu from './../Icons/IconMenu.vue'
124
136
  import IconClose from './../Icons/IconClose.vue'
137
+ import IconExternal from './../Icons/IconExternal.vue'
138
+ import BaseLink from './../BaseLink/BaseLink.vue'
125
139
  import NavLogoLinks from './../NavLogoLinks/NavLogoLinks.vue'
126
140
  import NavMobileDropdown from './../NavMobile/NavMobileDropdown.vue'
127
141
  import NavMobileLink from './../NavMobile/NavMobileLink.vue'
@@ -140,7 +154,9 @@ export default defineComponent({
140
154
  NavMobileDropdown,
141
155
  NavMobileLink,
142
156
  NavSocial,
143
- NavSearchForm
157
+ NavSearchForm,
158
+ BaseLink,
159
+ IconExternal
144
160
  },
145
161
  props: {
146
162
  data: {
@@ -26,6 +26,18 @@
26
26
  {{ getLinkText(link) }}
27
27
  </BaseLink>
28
28
  </div>
29
+ <template v-if="themeStore.isEdu">
30
+ <BaseLink
31
+ variant="none"
32
+ href="https://www.nasa.gov/learning-resources/"
33
+ class="text-subtitle text-blue edu:text-white mb-3"
34
+ link-class="flex flex-wrap-none overflow-visible whitespace-nowrap items-center"
35
+ external-target-blank
36
+ >
37
+ <span class="pr-2">NASA OSTEM</span>
38
+ <IconExternal class="shrink-0 text-sm -mt-0.5" />
39
+ </BaseLink>
40
+ </template>
29
41
  </div>
30
42
  </div>
31
43
  <!-- footer extras -->
@@ -180,6 +192,7 @@ import { defineComponent } from 'vue'
180
192
  import { mapStores } from 'pinia'
181
193
  import { useThemeStore } from './../../store/theme'
182
194
  import { mixinGetRouterLink, mixinGetLinkText } from './../../utils/mixins'
195
+ import IconExternal from './../Icons/IconExternal.vue'
183
196
  import BaseLink from './../BaseLink/BaseLink.vue'
184
197
  import BaseButton from './../BaseButton/BaseButton.vue'
185
198
  import NavSocial from './../NavSocial/NavSocial.vue'
@@ -193,7 +206,8 @@ export default defineComponent({
193
206
  BaseButton,
194
207
  NavSocial,
195
208
  TheFooterSignUp,
196
- LogoCaltech
209
+ LogoCaltech,
210
+ IconExternal
197
211
  },
198
212
  props: {
199
213
  data: {