@explorer-1/vue 0.2.104 → 0.3.0

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.
Files changed (107) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/package.json +2 -2
  3. package/src/components/AsteroidWatchWidget/AsteroidWatchWidget.vue +1 -5
  4. package/src/components/BaseAudio/BaseAudio.vue +1 -48
  5. package/src/components/BaseCarousel/BaseCarousel.vue +1 -42
  6. package/src/components/BaseImagePlaceholder/BaseImagePlaceholder.vue +1 -1
  7. package/src/components/BaseLightboxCloseButton/BaseLightboxCloseButton.vue +1 -6
  8. package/src/components/BaseLightboxOpenButton/BaseLightboxOpenButton.vue +1 -8
  9. package/src/components/BaseModal/BaseModal.vue +1 -1
  10. package/src/components/BaseSwimlane/BaseSwimlane.vue +2 -40
  11. package/src/components/BaseTimer/BaseTimer.vue +1 -20
  12. package/src/components/BaseUnitToggle/BaseUnitToggle.vue +1 -28
  13. package/src/components/BaseVideo/BaseVideo.vue +1 -8
  14. package/src/components/BlockAccordion/BlockAccordion.vue +1 -7
  15. package/src/components/BlockAnchor/BlockAnchor.vue +1 -14
  16. package/src/components/BlockAudio/BlockAudio.vue +1 -10
  17. package/src/components/BlockCircleImageCard/BlockCircleImageCard.vue +0 -18
  18. package/src/components/BlockCsrTable/BlockCsrTable.vue +2 -43
  19. package/src/components/BlockCsrTable/CsrTestLimitsTable.vue +1 -15
  20. package/src/components/BlockDialog/BlockDialog.vue +1 -26
  21. package/src/components/BlockGist/BlockGist.vue +2 -25
  22. package/src/components/BlockHeading/BlockHeading.vue +1 -8
  23. package/src/components/BlockLinkCard/BlockLinkCard.vue +1 -29
  24. package/src/components/BlockLinkCard/BlockLinkCardCollectionLg.vue +1 -10
  25. package/src/components/BlockLinkCardList/BlockLinkCardList.vue +1 -7
  26. package/src/components/BlockLinkTile/BlockLinkTile.vue +1 -5
  27. package/src/components/BlockNewsletterSignup/BlockNewsletterSignup.vue +2 -12
  28. package/src/components/BlockStreamfield/BlockStreamfield.vue +1 -28
  29. package/src/components/FormNewsletterSignup/FormNewsletterSignup.vue +2 -4
  30. package/src/components/HeroLarge/HeroLarge.vue +1 -1
  31. package/src/components/HomepageCarousel/HomepageCarousel.vue +1 -38
  32. package/src/components/HomepageCarouselItem/HomepageCarouselItem.vue +1 -32
  33. package/src/components/HomepageMissionsCarousel/HomepageMissionsCarousel.vue +1 -73
  34. package/src/components/HomepageMissionsCarousel/HomepageMissionsCarouselItem.vue +1 -57
  35. package/src/components/HomepageStats/HomepageStats.vue +1 -30
  36. package/src/components/Icons/IconSlideshow.vue +1 -5
  37. package/src/components/ImageDetailContextImage/ImageDetailContextImage.vue +2 -39
  38. package/src/components/LoadingTransition/LoadingTransition.vue +2 -17
  39. package/src/components/LogoCaltech/LogoCaltech.vue +1 -4
  40. package/src/components/LogoTribrand/LogoTribrand.vue +1 -23
  41. package/src/components/MetaPanel/MetaPanel.vue +1 -5
  42. package/src/components/MetaPanelAccordion/MetaPanelAccordion.vue +1 -21
  43. package/src/components/MetaPanelItems/MetaPanelItems.vue +1 -17
  44. package/src/components/MetadataEduResource/MetadataEduResource.vue +1 -34
  45. package/src/components/MetadataEvent/MetadataEvent.vue +1 -34
  46. package/src/components/MissionDetailAbout/MissionDetailAbout.vue +1 -74
  47. package/src/components/MissionDetailHero/MissionDetailHero.vue +2 -46
  48. package/src/components/MissionDetailHighlights/MissionDetailHighlights.vue +1 -12
  49. package/src/components/MissionDetailHighlights/MissionDetailHighlightsCarousel.vue +1 -16
  50. package/src/components/MissionDetailHighlights/MissionDetailHighlightsCarouselItem.vue +2 -8
  51. package/src/components/MissionDetailInlineImage/MissionDetailInlineImage.vue +1 -7
  52. package/src/components/MissionDetailStats/MissionDetailStats.vue +1 -29
  53. package/src/components/MissionDetailStats/MissionDetailStatsMicro.vue +1 -16
  54. package/src/components/MissionDetailStats/MissionDetailStatsMini.vue +1 -27
  55. package/src/components/MissionDetailStreamfield/MissionDetailStreamfield.vue +2 -23
  56. package/src/components/MixinFancybox/MixinFancybox.vue +1 -96
  57. package/src/components/MixinFancybox/MixinFancyboxOpenButton.vue +1 -8
  58. package/src/components/NavDesktop/NavDesktop.vue +1 -57
  59. package/src/components/NavDesktop/NavDesktopDropdown.vue +1 -89
  60. package/src/components/NavDesktopEdu/NavDesktopEdu.vue +1 -13
  61. package/src/components/NavJumpMenu/NavJumpMenu.vue +1 -19
  62. package/src/components/NavJumpMenu/NavJumpMenuContent.vue +1 -15
  63. package/src/components/NavLinkList/NavLinkList.vue +6 -7
  64. package/src/components/NavLogoLinks/NavLogoLinks.vue +1 -12
  65. package/src/components/NavMobile/NavMobile.vue +1 -37
  66. package/src/components/NavMobile/NavMobileDropdown.vue +1 -29
  67. package/src/components/NavMobile/NavMobileLink.vue +1 -11
  68. package/src/components/NavMobile/NavMobileSecondaryDropdown.vue +1 -19
  69. package/src/components/NavSearchForm/NavSearchForm.vue +1 -39
  70. package/src/components/NavSecondary/NavSecondary.vue +1 -56
  71. package/src/components/NavSecondary/NavSecondaryDropdown.vue +1 -69
  72. package/src/components/NavSecondary/NavSecondaryDropdownContent.vue +1 -21
  73. package/src/components/NavSecondary/NavSecondaryLink.vue +1 -16
  74. package/src/components/NavSocial/NavSocial.vue +2 -15
  75. package/src/components/PodcastEpisodeCard/PodcastEpisodeCard.vue +1 -8
  76. package/src/components/RoboticsDetailStats/RoboticsDetailStats.vue +1 -5
  77. package/src/components/RoboticsDetailStats/RoboticsDetailStatsMini.vue +1 -5
  78. package/src/components/SearchFilterGroupAccordionItem/SearchFilterGroupAccordionItem.vue +1 -5
  79. package/src/components/SearchInput/SearchInput.vue +3 -8
  80. package/src/components/SearchPagination/SearchPagination.vue +1 -9
  81. package/src/components/ShareButtons/ShareButtons.vue +2 -9
  82. package/src/components/ShareButtonsEdu/ShareButtonsEdu.vue +1 -19
  83. package/src/components/SwimlaneCTA/SwimlaneCTA.vue +1 -34
  84. package/src/components/TheFooter/TheFooter.vue +1 -19
  85. package/src/components/TheFooter/TheFooterSignUp.vue +1 -5
  86. package/src/components/ThumbnailCarousel/ThumbnailCarousel.vue +1 -25
  87. package/src/components/TimelineDialog/TimelineDialog.vue +1 -20
  88. package/src/components/TopicDetailMissionSpotlight/TopicDetailMissionSpotlight.vue +2 -17
  89. package/src/components/TopicDetailMoreItem/TopicDetailMoreItem.vue +1 -5
  90. package/src/components/YearTicker/YearTicker.vue +1 -83
  91. package/src/templates/PageAudioDetail/PageAudioDetail.vue +1 -67
  92. package/src/templates/PageEventDetail/PageEventDetail.vue +1 -30
  93. package/src/templates/PageImageDetail/PageImageDetail.vue +1 -35
  94. package/src/templates/PageVideoDetail/PageVideoDetail.vue +1 -23
  95. package/src/templates/edu/PageEduEventDetail/PageEduEventDetail.vue +1 -29
  96. package/src/templates/edu/PageEduExplainerArticle/PageEduExplainerArticle.vue +1 -11
  97. package/src/templates/edu/PageEduGalleryDetail/PageEduGalleryDetail.vue +1 -25
  98. package/src/templates/edu/PageEduHome/PageEduHome.vue +1 -24
  99. package/src/templates/edu/PageEduLesson/PageEduLessonSection.vue +1 -65
  100. package/src/templates/edu/PageEduMultimediaDetail/PageEduMultimediaDetail.vue +1 -14
  101. package/src/templates/edu/PageEduStudentProject/PageEduStudentProject.vue +1 -12
  102. package/src/templates/edu/PageEduStudentProject/PageEduStudentProjectSection.vue +1 -59
  103. package/src/templates/www/PageCuratedGallery/PageCuratedGallery.vue +1 -86
  104. package/src/templates/www/PageInfographicDetail/PageInfographicDetail.vue +1 -17
  105. package/src/templates/www/PageMaintenanceMode/PageMaintenanceMode.vue +1 -27
  106. package/src/templates/www/PagePodcastSeason/PagePodcastSeason.vue +3 -6
  107. package/src/templates/www/PageTimeline/PageTimeline.vue +1 -100
@@ -255,8 +255,6 @@ export default defineComponent({
255
255
  })
256
256
  </script>
257
257
 
258
- <style lang="css">
259
- html {
260
- scroll-padding-top: 150px;
261
- }
258
+ <style lang="scss">
259
+ @import '@explorer-1/common/src/scss/components/FormNewsletterSignup';
262
260
  </style>
@@ -133,6 +133,6 @@ export default defineComponent({
133
133
  }
134
134
  })
135
135
  </script>
136
- <style lang="scss" scoped>
136
+ <style lang="scss">
137
137
  @import '@explorer-1/common/src/scss/components/HeroLarge';
138
138
  </style>
@@ -344,42 +344,5 @@ export default defineComponent({
344
344
  })
345
345
  </script>
346
346
  <style lang="scss">
347
- @import 'swiper/swiper-bundle.css';
348
-
349
- .HomepageCarousel {
350
- .HomepageCarouselSlider {
351
- .swiper-pagination {
352
- @apply relative text-left mx-auto pl-3;
353
-
354
- span {
355
- @apply py-2 pl-1 pr-2 h-auto w-auto bg-transparent m-0 opacity-100;
356
-
357
- &::before {
358
- content: '';
359
- width: 0.65rem;
360
- height: 0.65rem;
361
- @apply block rounded-full bg-white bg-opacity-40;
362
- }
363
-
364
- &.swiper-pagination-bullet-active {
365
- &::before {
366
- @apply bg-jpl-red;
367
- }
368
- }
369
- }
370
- }
371
- }
372
-
373
- .load-enter-active {
374
- transition: transform 500ms linear;
375
- }
376
-
377
- .load-leave-active {
378
- transition: none;
379
- }
380
-
381
- .load-enter-to {
382
- @apply translate-x-0;
383
- }
384
- }
347
+ @import '@explorer-1/common/src/scss/components/HomepageCarousel';
385
348
  </style>
@@ -141,36 +141,5 @@ export default defineComponent({
141
141
  })
142
142
  </script>
143
143
  <style lang="scss">
144
- .HomepageCarouselItem,
145
- .HomepageCarouselItem.swiper-slide {
146
- // somewhat arbitrary heights
147
- // portrait on small screens
148
- //height: 500px;
149
- min-height: 500px;
150
- // landscape on larger screens
151
- @screen lg {
152
- height: 800px;
153
- min-height: 800px;
154
- }
155
- }
156
-
157
- .HomepageCarouselItem {
158
- img {
159
- @apply transition-transform duration-1000 ease-out transform scale-100;
160
- }
161
-
162
- .IconArrow {
163
- @apply -ml-5 transition-all duration-500 ease-in opacity-0;
164
- }
165
-
166
- &.swiper-slide-active {
167
- img {
168
- @apply scale-105;
169
- }
170
-
171
- .IconArrow {
172
- @apply ml-0 opacity-100;
173
- }
174
- }
175
- }
144
+ @import '@explorer-1/common/src/scss/components/HomepageCarouselItem';
176
145
  </style>
@@ -190,77 +190,5 @@ export default defineComponent({
190
190
  })
191
191
  </script>
192
192
  <style lang="scss">
193
- @import 'swiper/swiper-bundle.css';
194
-
195
- .HomepageMissionsCarousel {
196
- // container styles
197
- .swiper {
198
- @apply overflow-visible #{!important};
199
-
200
- .swiper-navigation {
201
- top: 20%;
202
- }
203
-
204
- .swiper-prev,
205
- .swiper-next {
206
- @apply -mt-1 w-auto h-auto transform -translate-y-1/2;
207
-
208
- &.swiper-button-disabled {
209
- @apply invisible;
210
- }
211
- // shared styles for the arrow animation
212
- &.BaseButton {
213
- @apply transition-none #{!important};
214
- }
215
-
216
- &.BaseButton > .label {
217
- @apply flex overflow-hidden;
218
-
219
- > .arrow-wrapper {
220
- @apply block relative w-full h-full overflow-hidden;
221
-
222
- > .arrow {
223
- @apply block;
224
- }
225
-
226
- > .arrow-fixed {
227
- @apply absolute top-0 left-0 block;
228
- }
229
- }
230
- &:hover {
231
- > .arrow-wrapper > .arrow,
232
- > .arrow-wrapper > .arrow-fixed {
233
- animation-delay: 50ms !important; // hover intent
234
- }
235
- }
236
- }
237
- }
238
- @screen lg {
239
- // specific directional animation
240
- .swiper-next.BaseButton > .label {
241
- &:hover {
242
- > .arrow-wrapper > .arrow {
243
- animation: arrow-carousel-next-anim 0.1s linear normal;
244
- }
245
-
246
- > .arrow-wrapper > .arrow-fixed {
247
- animation: arrow-carousel-next-fixed-anim 0.1s linear normal;
248
- }
249
- }
250
- }
251
-
252
- .swiper-prev.BaseButton > .label {
253
- &:hover {
254
- > .arrow-wrapper > .arrow {
255
- animation: arrow-carousel-prev-anim 0.1s linear normal;
256
- }
257
-
258
- > .arrow-wrapper > .arrow-fixed {
259
- animation: arrow-carousel-prev-fixed-anim 0.1s linear normal;
260
- }
261
- }
262
- }
263
- }
264
- }
265
- }
193
+ @import '@explorer-1/common/src/scss/components/HomepageMissionsCarousel';
266
194
  </style>
@@ -86,61 +86,5 @@ export default defineComponent({
86
86
  </template>
87
87
 
88
88
  <style lang="scss">
89
- .HomepageMissionsCarouselItem {
90
- .text-wrapper {
91
- border-width: 1px;
92
- border-style: solid;
93
- border-image: linear-gradient(to top, #6f6f6f, rgba(0, 0, 0, 0)) 1 20%; // border-gray-mid-dark
94
- border-top-width: 0;
95
- border-right-width: 0;
96
- border-bottom-width: 0;
97
- }
98
- // styling based on slide visibility
99
- &.swiper-slide,
100
- &.swiper-slide-duplicate {
101
- @apply opacity-50 transition-all duration-500 ease-in-out h-auto;
102
-
103
- .slide-image {
104
- @apply transition-transform duration-500 ease-in-out transform scale-90;
105
- }
106
-
107
- .text-wrapper {
108
- @apply opacity-0 transition-opacity duration-500 ease-in-out;
109
- }
110
- // on mobile, only the active slide should be fully visible
111
- &.swiper-slide-active,
112
- &:focus,
113
- &:focus-within {
114
- @apply opacity-100;
115
-
116
- .text-wrapper {
117
- @apply opacity-100;
118
-
119
- .shifted-text {
120
- @apply -mt-3 #{!important};
121
- }
122
-
123
- .explore-text {
124
- @apply opacity-100 ml-0 #{!important};
125
- }
126
- }
127
-
128
- .slide-image {
129
- @apply scale-105;
130
- }
131
- }
132
- @screen lg {
133
- // &.swiper-slide-visible, &.swiper-slide-duplicate-visible
134
- &.swiper-slide-prev,
135
- &.swiper-slide-active,
136
- &.swiper-slide-next {
137
- @apply opacity-100;
138
-
139
- .text-wrapper {
140
- @apply opacity-100;
141
- }
142
- }
143
- }
144
- }
145
- }
89
+ @import '@explorer-1/common/src/scss/components/HomepageMissionsCarouselItem';
146
90
  </style>
@@ -329,34 +329,5 @@ export default defineComponent({
329
329
  })
330
330
  </script>
331
331
  <style lang="scss">
332
- .HomepageStats {
333
- .BaseTimer {
334
- .text-stats-xl {
335
- @apply leading-none;
336
-
337
- @screen lg {
338
- font-size: 2.125rem; // 34px
339
- }
340
- @screen xl {
341
- font-size: 2.25rem; // 36px
342
- }
343
- }
344
-
345
- .unit {
346
- @apply text-gray-mid-dark;
347
- }
348
- }
349
-
350
- .BaseUnitToggle {
351
- @apply flex items-center;
352
-
353
- fieldset {
354
- @apply pl-3;
355
- }
356
-
357
- .unit {
358
- @apply -mt-3;
359
- }
360
- }
361
- }
332
+ @import '@explorer-1/common/src/scss/components/HomepageStats';
362
333
  </style>
@@ -22,9 +22,5 @@ export default defineComponent({
22
22
  })
23
23
  </script>
24
24
  <style lang="scss">
25
- // @import '@explorer-1/common/src/scss/components/IconSlideshow';
26
- .IconSlideshow {
27
- width: 1em;
28
- height: 1em;
29
- }
25
+ @import '@explorer-1/common/src/scss/components/IconSlideshow';
30
26
  </style>
@@ -83,43 +83,6 @@ export default defineComponent({
83
83
  })
84
84
  </script>
85
85
 
86
- <style lang="scss" scoped>
87
- .ContextImageButton {
88
- @apply select-none;
89
-
90
- cursor: pointer;
91
-
92
- .ContextImage {
93
- @apply mx-auto w-full;
94
-
95
- max-width: 640px;
96
- }
97
-
98
- @screen sm {
99
- svg.IconDropdown {
100
- @apply transform rotate-180;
101
- }
102
-
103
- min-width: 100px;
104
-
105
- .ContextImage {
106
- min-width: 150px;
107
- }
108
- }
109
- @screen md {
110
- .ContextImage {
111
- min-width: 200px;
112
- }
113
- }
114
- @screen lg {
115
- .ContextImage {
116
- min-width: 250px;
117
- }
118
- }
119
- @screen xl {
120
- .ContextImage {
121
- min-width: 300px;
122
- }
123
- }
124
- }
86
+ <style lang="scss">
87
+ @import '@explorer-1/common/src/scss/components/ImageDetailContextImage';
125
88
  </style>
@@ -28,21 +28,6 @@ export default {
28
28
  }
29
29
  </script>
30
30
 
31
- <style scoped lang="scss">
32
- .loading-page {
33
- @apply fixed top-0 left-0 block w-full h-full bg-white opacity-75;
34
-
35
- z-index: 99999;
36
-
37
- .loading-wrapper {
38
- @apply w-full h-full min-h-full min-w-full flex flex-col justify-center items-center;
39
-
40
- .loading {
41
- @apply animate-rotate bg-transparent p-0 z-50 rounded-full h-14 w-14 opacity-75;
42
-
43
- border: 4px solid #888888;
44
- border-bottom-color: #ffffff;
45
- }
46
- }
47
- }
31
+ <style lang="scss">
32
+ @import '@explorer-1/common/src/scss/components/LoadingTransition';
48
33
  </style>
@@ -22,8 +22,5 @@ export default defineComponent({
22
22
  })
23
23
  </script>
24
24
  <style lang="scss">
25
- .LogoCaltech {
26
- width: 8.375em; // 134px wide at .text-base
27
- height: auto;
28
- }
25
+ @import '@explorer-1/common/src/scss/components/LogoCaltech';
29
26
  </style>
@@ -67,27 +67,5 @@ export default defineComponent({
67
67
  })
68
68
  </script>
69
69
  <style lang="scss">
70
- $logo-text-dark: #1b1a19;
71
-
72
- .LogoTribrand {
73
- width: 20.25em; // 324x72 px at .text-base
74
- height: auto;
75
-
76
- .logo-path-jpl-caltech {
77
- color: $logo-text-dark;
78
- }
79
-
80
- .-transparent.-scrolled & {
81
- .logo-path-jpl-caltech {
82
- color: $logo-text-dark;
83
- }
84
- }
85
-
86
- .-transparent &,
87
- &.-invert {
88
- .logo-path-jpl-caltech {
89
- color: #ffffff;
90
- }
91
- }
92
- }
70
+ @import '@explorer-1/common/src/scss/components/LogoTribrand';
93
71
  </style>
@@ -234,9 +234,5 @@ const standardsIste = computed(() => {
234
234
  </section>
235
235
  </template>
236
236
  <style lang="scss">
237
- .MetaPanel {
238
- .MetaPanel-button {
239
- @apply border-[1px] font-primary normal-case tracking-normal font-bold text-lg py-2 bg-white;
240
- }
241
- }
237
+ @import '@explorer-1/common/src/scss/components/MetaPanel';
242
238
  </style>
@@ -40,25 +40,5 @@ const { standards } = reactive(props)
40
40
  </div>
41
41
  </template>
42
42
  <style lang="scss">
43
- .MetaPanelAccordion {
44
- .BaseAccordionItem {
45
- .BaseAccordionHeader {
46
- @apply bg-white;
47
- > div {
48
- @apply border-none;
49
- }
50
- button.BaseAccordion-trigger {
51
- @apply py-2 px-3;
52
- @apply can-hover:hover:no-underline;
53
- }
54
- }
55
- &.-open {
56
- .BaseAccordionHeader {
57
- button.BaseAccordion-trigger {
58
- @apply pb-0;
59
- }
60
- }
61
- }
62
- }
63
- }
43
+ @import '@explorer-1/common/src/scss/components/MetaPanelAccordion';
64
44
  </style>
@@ -170,21 +170,5 @@ const themeVariant = computed(() => {
170
170
  </div>
171
171
  </template>
172
172
  <style lang="scss">
173
- .MetaPanelItems {
174
- .MetaPanelItem {
175
- @apply flex w-full items-start mb-4 md:mb-0 w-auto;
176
- &:last-of-type {
177
- @apply mb-0;
178
- }
179
- .MetaPanelItem-icon {
180
- @apply mr-1 w-10 md:w-12;
181
- }
182
- .MetaPanelItem-heading {
183
- @apply text-subtitle text-base md:mb-[.2em] whitespace-nowrap;
184
- }
185
- .MetaPanelItem-content {
186
- @apply font-primary font-bold lg:text-xl;
187
- }
188
- }
189
- }
173
+ @import '@explorer-1/common/src/scss/components/MetaPanelItems';
190
174
  </style>
@@ -84,38 +84,5 @@ const time = computed(() => {
84
84
  </div>
85
85
  </template>
86
86
  <style lang="scss">
87
- .MetadataEduResource {
88
- @apply lg:flex lg:flex-grow;
89
- .MetadataEduResourceItem {
90
- @apply flex;
91
- @apply items-start;
92
- @apply mr-4 md:mr-4 xl:mr-8;
93
- @apply mb-5 lg:mb-7;
94
- @apply lg:min-w-[10rem];
95
-
96
- span {
97
- @apply text-gray-dark;
98
- }
99
-
100
- svg {
101
- min-width: 1.25rem;
102
- @apply top-0.5;
103
- }
104
- .MetadataEduResourceIcon {
105
- @apply relative mr-3 lg:mr-2 xl:mr-3;
106
- }
107
- }
108
-
109
- &.-compact {
110
- @apply flex flex-grow flex-wrap;
111
- .MetadataEduResourceItem {
112
- @apply whitespace-nowrap;
113
- @apply max-w-none min-w-[4em];
114
- @apply mr-6 mb-0;
115
- &.-xlScreensOnly {
116
- @apply hidden xl:flex;
117
- }
118
- }
119
- }
120
- }
87
+ @import '@explorer-1/common/src/scss/components/MetadataEduResource';
121
88
  </style>
@@ -150,38 +150,5 @@ const location = computed(() => {
150
150
  </div>
151
151
  </template>
152
152
  <style lang="scss">
153
- .MetadataEvent {
154
- @apply lg:flex lg:flex-grow;
155
- .MetadataEventItem {
156
- @apply flex;
157
- @apply items-start;
158
- @apply mr-4 md:mr-4 xl:mr-8;
159
- @apply mb-5 lg:mb-7;
160
- @apply lg:min-w-[10rem];
161
-
162
- span {
163
- @apply text-gray-dark;
164
- }
165
-
166
- svg {
167
- min-width: 1.25rem;
168
- @apply top-0.5;
169
- }
170
- .MetadataEventIcon {
171
- @apply text-primary relative mr-3 lg:mr-2 xl:mr-3;
172
- }
173
- }
174
-
175
- &.-compact {
176
- @apply flex flex-grow flex-wrap;
177
- .MetadataEventItem {
178
- @apply whitespace-nowrap;
179
- @apply max-w-none min-w-[4em];
180
- @apply mr-6 mb-0;
181
- }
182
- &.-allow-break {
183
- @apply block lg:flex;
184
- }
185
- }
186
- }
153
+ @import '@explorer-1/common/src/scss/components/MetadataEvent';
187
154
  </style>
@@ -123,78 +123,5 @@ export default defineComponent({
123
123
  })
124
124
  </script>
125
125
  <style lang="scss">
126
- .MissionDetailAbout {
127
- @apply text-gray-dark; // fallback if no theme
128
- li.instrument {
129
- @apply mb-3;
130
- @apply flex;
131
- @apply max-w-full;
132
-
133
- span {
134
- @apply opacity-0;
135
- @screen lg {
136
- max-width: 20ch;
137
- }
138
- }
139
-
140
- &::before {
141
- @apply bg-jpl-red-light;
142
- @apply inline-block;
143
- @apply relative;
144
- @apply mr-3;
145
- @apply flex-shrink-0;
146
-
147
- content: '';
148
- transform: scale(0);
149
- margin-top: 0.65rem;
150
- width: 30px;
151
- height: 2px;
152
- }
153
-
154
- &.lifeless {
155
- span {
156
- @apply opacity-100;
157
- }
158
-
159
- &::before {
160
- transform: scale(1);
161
- }
162
- }
163
-
164
- &.animated {
165
- span {
166
- @apply animate-fadeIn;
167
- @screen lg {
168
- max-width: 20ch;
169
- }
170
-
171
- -webkit-animation-delay: inherit;
172
- animation-delay: inherit;
173
- }
174
- @for $i from 1 through 20 {
175
- &:nth-child(#{$i}) {
176
- -webkit-animation-delay: (#{$i * 300ms});
177
- animation-delay: (#{$i * 300ms});
178
- }
179
- }
180
-
181
- &::before {
182
- @apply animate-scaleIn;
183
-
184
- -webkit-animation-delay: inherit;
185
- animation-delay: inherit;
186
- transform-origin: 0% 50%;
187
- }
188
- }
189
- }
190
-
191
- // dark and light treatments
192
- .ThemeVariantLight & {
193
- @apply text-gray-dark;
194
- }
195
-
196
- .ThemeVariantDark & {
197
- @apply text-white;
198
- }
199
- }
126
+ @import '@explorer-1/common/src/scss/components/MissionDetailAbout';
200
127
  </style>
@@ -244,50 +244,6 @@ export default defineComponent({
244
244
  }
245
245
  })
246
246
  </script>
247
- <style lang="scss" scoped>
248
- .MissionDetailHero {
249
- .content-wrapper {
250
- @screen lg {
251
- min-height: 80vh;
252
- }
253
- }
254
-
255
- .content {
256
- // fallback text color
257
- @apply text-black;
258
- }
259
-
260
- .foreground {
261
- @screen lg {
262
- width: 55%;
263
- }
264
-
265
- img {
266
- max-height: 300px;
267
- @apply w-auto;
268
- @screen lg {
269
- max-height: 550px;
270
- }
271
- }
272
- }
273
-
274
- &.ThemeVariantLight {
275
- .content {
276
- @apply text-black;
277
- }
278
- }
279
-
280
- &.ThemeVariantDark {
281
- .background {
282
- &::before {
283
- content: '';
284
- @apply absolute inset-x-0 bottom-0 min-h-1/2 z-20 bg-gradient-to-b from-transparent to-black;
285
- }
286
- }
287
-
288
- .content {
289
- @apply text-white;
290
- }
291
- }
292
- }
247
+ <style lang="scss">
248
+ @import '@explorer-1/common/src/scss/components/MissionDetailHero';
293
249
  </style>
@@ -313,16 +313,5 @@ export default defineComponent({
313
313
  })
314
314
  </script>
315
315
  <style lang="scss">
316
- .MissionDetailHighlights {
317
- &.min-h-mission-highlights {
318
- min-height: 38rem;
319
- }
320
-
321
- .mission-highlights-lines.-filler {
322
- padding-top: 60%;
323
- @screen lg {
324
- @apply pt-0;
325
- }
326
- }
327
- }
316
+ @import '@explorer-1/common/src/scss/components/MissionDetailHighlights';
328
317
  </style>