@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
@@ -55,43 +55,5 @@ const submitSearch = () => {
55
55
  </form>
56
56
  </template>
57
57
  <style lang="scss">
58
- .NavSearchForm {
59
- ::placeholder {
60
- @apply text-gray-dark;
61
- }
62
-
63
- .-transparent & {
64
- ::placeholder {
65
- @apply text-white;
66
- }
67
- }
68
-
69
- .-transparent.-scrolled & {
70
- ::placeholder {
71
- @apply text-gray-dark;
72
- }
73
- }
74
- @screen lg {
75
- // remove the default styling of search field
76
- input[type='search']::-ms-clear {
77
- display: none;
78
- width: 0;
79
- height: 0;
80
- }
81
-
82
- input[type='search']::-ms-reveal {
83
- display: none;
84
- width: 0;
85
- height: 0;
86
- }
87
-
88
- /* clears the 'X' from Chrome */
89
- input[type='search']::-webkit-search-decoration,
90
- input[type='search']::-webkit-search-cancel-button,
91
- input[type='search']::-webkit-search-results-button,
92
- input[type='search']::-webkit-search-results-decoration {
93
- display: none;
94
- }
95
- }
96
- }
58
+ @import '@explorer-1/common/src/scss/components/NavSearchForm';
97
59
  </style>
@@ -187,60 +187,5 @@ export default defineComponent({
187
187
  })
188
188
  </script>
189
189
  <style lang="scss">
190
- .NavSecondary {
191
- top: -1px; // for intersection observer to work
192
- @apply sticky z-40 w-full bg-white border-b border-gray-mid border-opacity-0 transition-border-opacity duration-150 edu:duration-300 ease-in;
193
- @apply hidden;
194
- @screen lg {
195
- @apply block;
196
- }
197
-
198
- &.has-intro {
199
- .nav-secondary-container {
200
- @apply border-gray-mid border-opacity-0;
201
- }
202
- }
203
-
204
- &.-is-sticky {
205
- @apply border-gray-mid border-opacity-50;
206
- }
207
-
208
- .secondary-root {
209
- .nuxt-link-exact-active {
210
- span {
211
- @apply text-primary font-semibold #{!important};
212
- }
213
- }
214
- }
215
-
216
- // for that nice horizontal scroll on mobile
217
- .overflow-x-auto {
218
- scrollbar-width: thin;
219
-
220
- &::-webkit-scrollbar {
221
- display: none;
222
- }
223
- }
224
-
225
- // change sticky point if global nav is showing
226
- .header-sticky-showing & {
227
- @apply top-18;
228
- @screen lg {
229
- @apply top-28;
230
- }
231
-
232
- &.-scrolled-up {
233
- @apply border-gray-mid border-opacity-50;
234
- .nav-secondary-container {
235
- @apply border-gray-mid border-opacity-50;
236
- }
237
- }
238
- }
239
- }
240
- // since we depend on a body class, the edu: prefix won't work as usual and requires the below line
241
- body.header-sticky-showing .ThemeEdu .NavSecondary {
242
- @screen lg {
243
- @apply top-[4.45rem];
244
- }
245
- }
190
+ @import '@explorer-1/common/src/scss/components/NavSecondary';
246
191
  </style>
@@ -143,73 +143,5 @@ export default defineComponent({
143
143
  })
144
144
  </script>
145
145
  <style lang="scss">
146
- .NavSecondaryDropdown {
147
- .NavDropdownToggle {
148
- &.-open {
149
- > span {
150
- @apply border-black text-gray-dark #{!important};
151
- }
152
- &.-invert {
153
- > span {
154
- @apply border-white text-white #{!important};
155
- }
156
- }
157
- }
158
-
159
- &.-active {
160
- > span {
161
- @apply font-bold text-gray-dark;
162
- @apply border-primary #{!important};
163
- }
164
- &.-invert {
165
- > span {
166
- @apply text-white;
167
- @apply border-white #{!important};
168
- }
169
- }
170
- }
171
- &:hover {
172
- &.-active {
173
- > span {
174
- @apply text-gray-mid-dark;
175
- }
176
- &.-invert {
177
- > span {
178
- @apply text-white;
179
- }
180
- }
181
- }
182
- }
183
- }
184
- // transitions
185
- .navfade-enter-to,
186
- .navfade-enter-active {
187
- @apply transition-all ease-out transform duration-200;
188
- }
189
-
190
- .navfade-leave-active,
191
- .navfade-leave-to {
192
- @apply transition-all ease-out transform duration-200;
193
- }
194
-
195
- .navfade-enter-active {
196
- @apply opacity-0;
197
- @apply -translate-y-2;
198
- }
199
-
200
- .navfade-enter-to {
201
- @apply opacity-100;
202
- @apply translate-y-0;
203
- }
204
-
205
- .navfade-leave-to {
206
- @apply opacity-100;
207
- @apply translate-y-0;
208
- }
209
-
210
- .navfade-leave-active {
211
- @apply opacity-0;
212
- @apply -translate-y-2;
213
- }
214
- }
146
+ @import '@explorer-1/common/src/scss/components/NavSecondaryDropdown';
215
147
  </style>
@@ -122,25 +122,5 @@ export default defineComponent({
122
122
  })
123
123
  </script>
124
124
  <style lang="scss">
125
- .NavSecondaryDropdownContent {
126
- a {
127
- @apply block pl-18 pr-6 lg:pl-6 text-black;
128
-
129
- > span {
130
- @apply border-b border-transparent pb-2px;
131
- }
132
-
133
- &:hover {
134
- > span {
135
- @apply border-black text-black;
136
- }
137
- }
138
-
139
- &.nuxt-link-active {
140
- > span {
141
- @apply border-primary font-medium;
142
- }
143
- }
144
- }
145
- }
125
+ @import '@explorer-1/common/src/scss/components/NavSecondaryDropdownContent';
146
126
  </style>
@@ -72,20 +72,5 @@ export default defineComponent({
72
72
  })
73
73
  </script>
74
74
  <style lang="scss">
75
- .NavSecondaryLink {
76
- .nuxt-link-exact-active {
77
- span {
78
- @apply font-bold text-gray-dark;
79
- @apply border-primary #{!important};
80
- }
81
- }
82
- &.-invert {
83
- .nuxt-link-exact-active {
84
- span {
85
- @apply font-bold text-white;
86
- @apply border-white #{!important};
87
- }
88
- }
89
- }
90
- }
75
+ @import '@explorer-1/common/src/scss/components/NavSecondaryLink.scss';
91
76
  </style>
@@ -107,19 +107,6 @@ export default defineComponent({
107
107
  }
108
108
  })
109
109
  </script>
110
- <style lang="scss" scoped>
111
- .BaseButton {
112
- @apply relative;
113
- &:hover {
114
- @apply z-10;
115
- }
116
- // we have to define these here to override the extracted border styles native to BaseButton
117
- &.-dark {
118
- @apply border-l-0 #{!important};
119
-
120
- &:first-child {
121
- @apply border-l #{!important};
122
- }
123
- }
124
- }
110
+ <style lang="scss">
111
+ @import '@explorer-1/common/src/scss/components/NavSocial';
125
112
  </style>
@@ -240,12 +240,5 @@ export default defineComponent({
240
240
  })
241
241
  </script>
242
242
  <style lang="scss">
243
- .PodcastEpisodeCard {
244
- .PodcastEpisodeCard-thumbnail {
245
- @apply hidden;
246
- @media only screen and (min-width: 325px) {
247
- @apply block;
248
- }
249
- }
250
- }
243
+ @import '@explorer-1/common/src/scss/components/PodcastEpisodeCard';
251
244
  </style>
@@ -209,9 +209,5 @@ export default defineComponent({
209
209
  })
210
210
  </script>
211
211
  <style lang="scss">
212
- .RoboticsDetailStats {
213
- .label {
214
- @apply font-semibold mb-4 text-jpl-red-dark;
215
- }
216
- }
212
+ @import '@explorer-1/common/src/scss/components/RoboticsDetailStats';
217
213
  </style>
@@ -174,9 +174,5 @@ export default defineComponent({
174
174
  })
175
175
  </script>
176
176
  <style lang="scss">
177
- .RoboticsDetailStatsMini {
178
- > .stat {
179
- min-width: 5ch;
180
- }
181
- }
177
+ @import '@explorer-1/common/src/scss/components/RoboticsDetailStatsMini';
182
178
  </style>
@@ -81,9 +81,5 @@ const emit = defineEmits(['filterGroupAccordionItemOpened', 'filterGroupAccordio
81
81
  </div>
82
82
  </template>
83
83
  <style lang="scss">
84
- .SearchFilterGroupAccordionItemContent {
85
- input.mt-px {
86
- @apply mt-0 #{!important};
87
- }
88
- }
84
+ @import '@explorer-1/common/src/scss/components/SearchFilterGroupAccordionItem';
89
85
  </style>
@@ -42,7 +42,7 @@ onMounted(() => {
42
42
  * on pages (such as the search page and listing pages)
43
43
  * for site-wide search -->
44
44
  <div
45
- class="relative flex items-center"
45
+ class="relative flex items-center SearchInput"
46
46
  :class="{
47
47
  'border border-gray-mid': defaultColors && !underlinedInput,
48
48
  'custom-focus': underlinedInput
@@ -94,11 +94,6 @@ onMounted(() => {
94
94
  </button>
95
95
  </div>
96
96
  </template>
97
- <style lang="scss" scoped>
98
- .custom-focus {
99
- input {
100
- outline: none;
101
- box-shadow: none;
102
- }
103
- }
97
+ <style lang="scss">
98
+ @import '@explorer-1/common/src/scss/components/SearchInput';
104
99
  </style>
@@ -161,13 +161,5 @@ export default {
161
161
  }
162
162
  </script>
163
163
  <style lang="scss">
164
- .SearchPagination {
165
- .-current {
166
- @apply font-medium;
167
-
168
- span {
169
- @apply border-primary border-b-2;
170
- }
171
- }
172
- }
164
+ @import '@explorer-1/common/src/scss/components/SearchPagination';
173
165
  </style>
@@ -120,13 +120,6 @@ export default defineComponent({
120
120
  }
121
121
  })
122
122
  </script>
123
- <style lang="scss" scoped>
124
- .ShareButtons {
125
- .BaseButton {
126
- @apply relative;
127
- &:hover {
128
- @apply z-10;
129
- }
130
- }
131
- }
123
+ <style lang="scss">
124
+ @import '@explorer-1/common/src/scss/components/ShareButtons';
132
125
  </style>
@@ -198,23 +198,5 @@ const buttonClass = computed(() => {
198
198
  </div>
199
199
  </template>
200
200
  <style lang="scss">
201
- .ShareButtonsEdu {
202
- .BaseButton {
203
- @apply relative focus:z-20;
204
- &:hover {
205
- @apply z-20;
206
- }
207
- }
208
- .share-buttons-list {
209
- .BaseButton.-social {
210
- @apply h-10 xl:h-11 py-0 px-2 lg:px-3 #{!important};
211
- span.text-xs {
212
- @apply whitespace-nowrap;
213
- }
214
- .label {
215
- @apply justify-start xl:justify-center;
216
- }
217
- }
218
- }
219
- }
201
+ @import '@explorer-1/common/src/scss/components/ShareButtonsEdu';
220
202
  </style>
@@ -255,38 +255,5 @@ export default defineComponent({
255
255
  </script>
256
256
 
257
257
  <style lang="scss">
258
- // SwimlaneCTA Scoped Styles
259
- .SwimlaneCTA {
260
- @apply max-w-screen-3xl animate-fadeIn relative items-center justify-center object-cover w-full mx-auto bg-center bg-no-repeat bg-cover select-none;
261
-
262
- min-height: 245px;
263
-
264
- @screen lg {
265
- min-height: 595px;
266
- }
267
-
268
- * {
269
- @apply animate-fadeInSlow;
270
- }
271
-
272
- &.light-theme {
273
- @apply bg-gray-light text-gray-dark;
274
-
275
- ul {
276
- li {
277
- @apply text-gray-dark;
278
- }
279
- }
280
- }
281
-
282
- &.dark-theme {
283
- @apply bg-black text-white;
284
-
285
- ul {
286
- li {
287
- @apply text-white;
288
- }
289
- }
290
- }
291
- }
258
+ @import '@explorer-1/common/src/scss/components/SwimlaneCTA';
292
259
  </style>
@@ -236,23 +236,5 @@ export default defineComponent({
236
236
  })
237
237
  </script>
238
238
  <style lang="scss">
239
- .TheFooter {
240
- .auto-col-2 {
241
- @screen sm {
242
- column-count: 2;
243
- }
244
- }
245
-
246
- .auto-col-4 {
247
- @screen sm {
248
- column-count: 2;
249
- }
250
- @screen lg {
251
- column-count: 3;
252
- }
253
- @screen 2xl {
254
- column-count: 4;
255
- }
256
- }
257
- }
239
+ @import '@explorer-1/common/src/scss/components/TheFooter';
258
240
  </style>
@@ -53,9 +53,5 @@ export default defineComponent({
53
53
  })
54
54
  </script>
55
55
  <style lang="scss">
56
- .TheFooterSignup {
57
- .EmailInput::placeholder {
58
- @apply text-white text-opacity-40;
59
- }
60
- }
56
+ @import '@explorer-1/common/src/scss/components/TheFooterSignUp';
61
57
  </style>
@@ -48,29 +48,5 @@ export default defineComponent({
48
48
  })
49
49
  </script>
50
50
  <style lang="scss">
51
- .ThumbnailCarousel {
52
- &.-cards {
53
- .swiper {
54
- .swiper-navigation {
55
- padding-top: 29.5%;
56
-
57
- .swiper-prev,
58
- .swiper-next {
59
- @apply transform -translate-y-1/2;
60
- }
61
- }
62
- }
63
- }
64
-
65
- .nuxt-link-exact-active {
66
- > p {
67
- @apply font-semibold;
68
-
69
- span {
70
- padding-bottom: 0.2rem;
71
- @apply border-b-2 border-jpl-red;
72
- }
73
- }
74
- }
75
- }
51
+ @import '@explorer-1/common/src/scss/components/ThumbnailCarousel';
76
52
  </style>
@@ -122,24 +122,5 @@ export default defineComponent({
122
122
  })
123
123
  </script>
124
124
  <style lang="scss">
125
- .Dialog {
126
- .dialog-main {
127
- max-height: 55vh;
128
-
129
- /* Fade effect */
130
- mask-image: linear-gradient(
131
- to bottom,
132
- transparent 0%,
133
- black 1rem,
134
- black calc(100% - 1rem),
135
- transparent 100%
136
- );
137
- }
138
-
139
- @media (forced-colors: active) {
140
- hr {
141
- border: 1px solid;
142
- }
143
- }
144
- }
125
+ @import '@explorer-1/common/src/scss/components/TimelineDialog';
145
126
  </style>
@@ -92,21 +92,6 @@ export default defineComponent({
92
92
  }
93
93
  })
94
94
  </script>
95
- <style lang="scss" scoped>
96
- .TopicDetailMissionSpotlight {
97
- .content-wrapper {
98
- @screen lg {
99
- min-height: 548px; // maintains 1440x770 aspect ratio
100
- }
101
- @screen xl {
102
- min-height: 684px; // maintains 1440x770 aspect ratio
103
- }
104
- @screen 2xl {
105
- min-height: 770px; // 1440x770
106
- }
107
- @screen 3xl {
108
- min-height: 963px; // maintains 1440x770 aspect ratio
109
- }
110
- }
111
- }
95
+ <style lang="scss">
96
+ @import '@explorer-1/common/src/scss/components/TopicDetailMissionSpotlight';
112
97
  </style>
@@ -126,9 +126,5 @@ export default defineComponent({
126
126
  })
127
127
  </script>
128
128
  <style lang="scss">
129
- .TopicDetailMoreItem {
130
- .text-subtitle.divide-x {
131
- @apply leading-none #{!important};
132
- }
133
- }
129
+ @import '@explorer-1/common/src/scss/components/TopicDetailMoreItem';
134
130
  </style>
@@ -54,87 +54,5 @@ export default defineComponent({
54
54
  </script>
55
55
 
56
56
  <style lang="scss">
57
- .YearTicker {
58
- @apply sticky transform text-gray-light-mid translate-x-0.5 md:translate-x-0 ml-7 md:ml-8 lg:ml-30 pt-10 md:pt-5;
59
-
60
- // Unitless 0 isn’t supported in a `calc` operation.
61
- // stylelint-disable-next-line length-zero-no-unit
62
- --top-offset: 0px;
63
-
64
- font-variant-numeric: tabular-nums;
65
- font-weight: 900;
66
- line-height: 1;
67
- font-size: min(5rem, 25vw);
68
- // Secondary nav minus gap.
69
- top: calc(theme('spacing.16') - 1px + var(--top-offset));
70
- z-index: 50;
71
-
72
- @screen md {
73
- --top-offset: theme('spacing.20');
74
-
75
- z-index: -20;
76
- font-size: min(8rem, 20vw);
77
- }
78
-
79
- @screen lg {
80
- font-size: min(11.25rem, 10vw);
81
- }
82
-
83
- @screen xl {
84
- font-size: min(11.25rem, 25vw);
85
- }
86
-
87
- .header-sticky-showing & {
88
- // For the mobile viewport, offset by the height of the top header and NavSecondary combined.
89
- top: calc(theme('spacing.18') + theme('spacing.16') + var (--top-offset));
90
- }
91
-
92
- &::after {
93
- @apply md:hidden;
94
-
95
- content: '';
96
- position: absolute;
97
- z-index: -10;
98
- top: 2px;
99
- left: 0;
100
- width: 100%;
101
- height: 140px;
102
- pointer-events: none;
103
- background-image: linear-gradient(to bottom, white 90%, transparent);
104
- }
105
-
106
- > span {
107
- display: inline-grid;
108
- grid-template-columns: 1fr;
109
- grid-template-rows: 1fr;
110
- overflow: hidden;
111
- }
112
-
113
- .Digit {
114
- grid-area: 1 / 1 / 1 / 1;
115
- transition: transform var(--duration);
116
- transform: translateY(0);
117
-
118
- @media (prefers-reduced-motion: reduce) {
119
- transition-duration: 0.1ms;
120
- }
121
- }
122
-
123
- // transitions
124
- .digits-decrement-enter-active {
125
- transform: translateY(100%);
126
- }
127
-
128
- .digits-decrement-leave-active {
129
- transform: translateY(-100%);
130
- }
131
-
132
- .digits-increment-enter-active {
133
- transform: translateY(-100%);
134
- }
135
-
136
- .digits-increment-leave-active {
137
- transform: translateY(100%);
138
- }
139
- }
57
+ @import '@explorer-1/common/src/scss/components/YearTicker';
140
58
  </style>