@explorer-1/vue 0.0.4 → 0.1.1

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 (65) hide show
  1. package/dist/explorer-1-vue.js +4555 -4478
  2. package/dist/explorer-1-vue.umd.cjs +16 -16
  3. package/dist/src/components/BaseAudio/BaseAudio.vue.d.ts +4 -4
  4. package/dist/src/components/BaseVideo/BaseVideo.stories.d.ts +2 -5
  5. package/dist/src/components/BlockImageCarousel/BlockImageCarousel.vue.d.ts +8 -0
  6. package/dist/src/components/BlockLinkCarousel/BlockLinkCarousel.stories.d.ts +32 -8
  7. package/dist/src/components/EventDetailHero/EventDetailHero.vue.d.ts +2 -2
  8. package/dist/src/components/HeroMedia/HeroMedia.stories.d.ts +0 -3
  9. package/dist/src/components/HomepageCarousel/HomepageCarousel.stories.d.ts +6 -0
  10. package/dist/src/components/NavDesktop/NavDesktop.stories.d.ts +3 -3
  11. package/dist/src/components/NavMobile/NavMobile.stories.d.ts +3 -3
  12. package/dist/src/docs/foundation/themes.stories.d.ts +1 -12
  13. package/dist/src/templates/PageContent/PageContent.stories.d.ts +0 -3
  14. package/dist/src/templates/PageEventDetail/PageEventDetail.stories.d.ts +0 -3
  15. package/dist/style.css +1 -1
  16. package/package.json +2 -2
  17. package/src/components/BackToTop/BackToTop.vue +1 -1
  18. package/src/components/BaseAudio/BaseAudio.stories.js +1 -1
  19. package/src/components/BaseAudio/BaseAudio.vue +89 -57
  20. package/src/components/BaseImage/BaseImage.vue +1 -0
  21. package/src/components/BaseTimer/BaseTimer.vue +1 -0
  22. package/src/components/BaseVideo/BaseVideo.stories.js +2 -4
  23. package/src/components/BlockIframeEmbed/BlockIframeEmbed.vue +1 -0
  24. package/src/components/BlockImageCarousel/BlockImageCarousel.vue +7 -0
  25. package/src/components/BlockImageGallery/BlockImageGallery.vue +1 -0
  26. package/src/components/BlockLinkCarousel/BlockLinkCarousel.stories.js +15 -14
  27. package/src/components/BlockQuote/BlockQuote.vue +1 -0
  28. package/src/components/BlockTable/BlockTable.vue +1 -1
  29. package/src/components/EventDetailHero/EventDetailHero.vue +12 -6
  30. package/src/components/FormContact/FormContact.vue +1 -1
  31. package/src/components/FormNewsletterSignup/FormNewsletterSignup.vue +1 -1
  32. package/src/components/HeroListingIndex/HeroListingIndex.stories.js +2 -4
  33. package/src/components/HeroMedia/HeroMedia.stories.js +0 -5
  34. package/src/components/HeroMedia/HeroMedia.vue +2 -1
  35. package/src/components/HomepageCarousel/HomepageCarousel.stories.js +3 -0
  36. package/src/components/HomepageCarouselItem/HomepageCarouselItem.vue +1 -0
  37. package/src/components/MissionDetailHero/MissionDetailHero.vue +1 -0
  38. package/src/components/MissionDetailHighlights/MissionDetailHighlights.vue +1 -1
  39. package/src/components/MissionDetailStats/MissionDetailStats.vue +2 -2
  40. package/src/components/MissionDetailStats/MissionDetailStatsMicro.vue +1 -1
  41. package/src/components/MissionDetailStats/MissionDetailStatsMini.vue +3 -3
  42. package/src/components/MixinCarousel/MixinCarousel.stories.js +2 -2
  43. package/src/components/MixinCarousel/MixinCarousel.vue +5 -2
  44. package/src/components/MixinFancybox/MixinFancybox.vue +1 -0
  45. package/src/components/NavDesktop/NavDesktop.stories.js +1 -1
  46. package/src/components/NavDesktop/NavDesktopDropdownContent.vue +3 -3
  47. package/src/components/NavDesktop/NavDesktopDropdownMore.vue +3 -3
  48. package/src/components/NavHeading/NavHeading.stories.js +1 -1
  49. package/src/components/NavHeading/NavHeading.vue +2 -2
  50. package/src/components/NavLinkList/NavLinkList.stories.js +1 -1
  51. package/src/components/NavSocial/NavSocial.stories.js +1 -1
  52. package/src/components/SearchFilterGroup/SearchFilterGroup.vue +2 -2
  53. package/src/components/SearchResultCard/SearchResultCard.vue +2 -1
  54. package/src/components/TheFooter/TheFooter.vue +1 -1
  55. package/src/components/TopicDetailMissionCarousel/TopicDetailMissionCarousel.vue +1 -1
  56. package/src/components/TopicDetailMissionCarouselItem/TopicDetailMissionCarouselItem.vue +2 -2
  57. package/src/docs/foundation/DynamicTokens.vue +4 -4
  58. package/src/docs/foundation/color.docs.mdx +50 -45
  59. package/src/docs/foundation/themes.docs.mdx +8 -2
  60. package/src/docs/foundation/themes.stories.js +0 -35
  61. package/src/templates/PageContent/PageContent.stories.js +0 -5
  62. package/src/templates/PageContent/PageContent.vue +62 -37
  63. package/src/templates/PageEventDetail/PageEventDetail.stories.js +0 -5
  64. package/src/templates/PageEventDetail/PageEventDetail.vue +32 -0
  65. package/src/templates/edu/PageEduNewsDetail.vue +9 -1
@@ -283,6 +283,7 @@ export default defineComponent({
283
283
  <template>
284
284
  <a
285
285
  class="MixinFancybox group cursor-pointer block"
286
+ role="link"
286
287
  aria-label="Open in Lightbox"
287
288
  :href="src"
288
289
  :data-fancybox="galleryName || ''"
@@ -199,7 +199,7 @@ export const NavInverted = {
199
199
  return { args }
200
200
  },
201
201
  template: `<div class="absolute inset-0">
202
- <div style="height:2500px" class="nav-offset bg-dark-blue">
202
+ <div style="height:2500px" class="nav-offset bg-jpl-blue-darker">
203
203
  <NavDesktop v-bind="args" />
204
204
  <div v-if="invertOverride" class="-nav-offset max-w-screen-3xl mx-auto">
205
205
  <img class="w-full h-auto block" src="https://picsum.photos/1600/900" alt="Example Hero" />
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div
3
3
  v-if="data"
4
- class="NavDesktopDropdownContent bg-dark-blue bg-opacity-98 3xl:px-0 px-4 py-10 text-white"
4
+ class="NavDesktopDropdownContent bg-jpl-blue-darker bg-opacity-98 3xl:px-0 px-4 py-10 text-white"
5
5
  >
6
6
  <div
7
7
  v-if="data.menuColumns"
@@ -54,8 +54,8 @@
54
54
 
55
55
  <script lang="ts">
56
56
  import { defineComponent } from 'vue'
57
- import _map from 'lodash/map'
58
- import _without from 'lodash/without'
57
+ import _map from 'lodash/map.js'
58
+ import _without from 'lodash/without.js'
59
59
  import NavLinkList from './../NavLinkList/NavLinkList.vue'
60
60
  import NavHighlight from './../NavHighlight/NavHighlight.vue'
61
61
 
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div
3
3
  v-if="data"
4
- class="NavDesktopDropdownMore bg-dark-blue bg-opacity-98 3xl:px-0 w-full px-4 py-10 text-white"
4
+ class="NavDesktopDropdownMore bg-jpl-blue-darker bg-opacity-98 3xl:px-0 w-full px-4 py-10 text-white"
5
5
  >
6
6
  <div class="BaseGrid container mx-auto">
7
7
  <div
@@ -64,8 +64,8 @@
64
64
 
65
65
  <script lang="ts">
66
66
  import { defineComponent } from 'vue'
67
- import _map from 'lodash/map'
68
- import _without from 'lodash/without'
67
+ import _map from 'lodash/map.js'
68
+ import _without from 'lodash/without.js'
69
69
 
70
70
  import NavLinkList from './../NavLinkList/NavLinkList.vue'
71
71
  import NavSocial from './../NavSocial/NavSocial.vue'
@@ -6,7 +6,7 @@ export default {
6
6
  component: NavHeading,
7
7
  decorators: [
8
8
  () => ({
9
- template: `<div id="storyDecorator" class="p-8 bg-dark-blue"><story/></div>`
9
+ template: `<div id="storyDecorator" class="p-8 bg-jpl-blue-darker"><story/></div>`
10
10
  })
11
11
  ],
12
12
  parameters: {
@@ -6,7 +6,7 @@
6
6
  <template v-if="data.headingPage && data.heading">
7
7
  <BaseLink
8
8
  variant="none"
9
- class="text-subtitle text-blue inline-block mb-4"
9
+ class="text-subtitle text-jpl-blue-lighter inline-block mb-4"
10
10
  link-class="p-2"
11
11
  :to="data.headingPage.url"
12
12
  >
@@ -14,7 +14,7 @@
14
14
  </BaseLink>
15
15
  </template>
16
16
  <template v-else-if="data.heading">
17
- <div class="text-subtitle text-blue inline-block mb-4">
17
+ <div class="text-subtitle text-jpl-blue-lighter inline-block mb-4">
18
18
  <span class="p-2">{{ data.heading }}</span>
19
19
  </div>
20
20
  </template>
@@ -5,7 +5,7 @@ export default {
5
5
  component: NavLinkList,
6
6
  decorators: [
7
7
  () => ({
8
- template: `<div id="storyDecorator" class="bg-dark-blue p-8"><story/></div>`
8
+ template: `<div id="storyDecorator" class="bg-jpl-blue-darker p-8"><story/></div>`
9
9
  })
10
10
  ],
11
11
  parameters: {
@@ -15,6 +15,6 @@ export const SocialDark = {
15
15
  setup() {
16
16
  return { args }
17
17
  },
18
- template: `<div class="p-8" class="bg-dark-blue"><NavSocial v-bind="args" /></div>`
18
+ template: `<div class="bg-jpl-blue-darker p-8"><NavSocial v-bind="args" /></div>`
19
19
  })
20
20
  }
@@ -37,7 +37,7 @@
37
37
  class="form-check-label pl-2 tracking-normal align-middle"
38
38
  >
39
39
  {{ prettyFilterNames(bucket.key_as_string ? bucket.key_as_string : bucket.key) }}
40
- <span class="text-gray-mid"> ({{ bucket.doc_count.toLocaleString() }}) </span>
40
+ <span class="text-gray-mid-dark"> ({{ bucket.doc_count.toLocaleString() }}) </span>
41
41
  </label>
42
42
  </div>
43
43
  </div>
@@ -62,7 +62,7 @@
62
62
  </template>
63
63
  <script lang="ts">
64
64
  // @ts-nocheck
65
- import isEqual from 'lodash/isEqual'
65
+ import isEqual from 'lodash/isEqual.js'
66
66
  export default {
67
67
  name: 'SearchFilterGroup',
68
68
  props: {
@@ -122,7 +122,7 @@
122
122
  </div>
123
123
  <div
124
124
  v-else
125
- class="bg-dark-blue edu:bg-stars edu:bg-primary xl:grid-cols-9 relative grid grid-cols-5 mb-10 text-white"
125
+ class="bg-jpl-blue-darker edu:bg-stars edu:bg-primary xl:grid-cols-9 relative grid grid-cols-5 mb-10 text-white"
126
126
  >
127
127
  <div class="xl:col-span-7 flex items-center col-span-3 p-10">
128
128
  <div class="">
@@ -173,6 +173,7 @@
173
173
  :alt="image.alt"
174
174
  class="object-cover w-full h-full"
175
175
  loading="lazy"
176
+ data-chromatic="ignore"
176
177
  />
177
178
  </div>
178
179
  </div>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <footer class="TheFooter bg-dark-blue edu:bg-stars edu:bg-primary text-white relative z-20">
2
+ <footer class="TheFooter bg-jpl-blue-darker edu:bg-stars edu:bg-primary text-white relative z-20">
3
3
  <div class="footer-main lg:BaseGrid 3xl:px-0 lg:pt-20 container px-4 pt-10 mx-auto">
4
4
  <div class="footer-navigation lg:block lg:col-span-9 hidden col-span-12">
5
5
  <!-- footerNavigation -->
@@ -11,7 +11,7 @@
11
11
  <MixinCarousel
12
12
  heading="Missions"
13
13
  variant="tiles"
14
- class="pb-5"
14
+ class="pb-5 ThemeVariantGray"
15
15
  :center="false"
16
16
  :slides-per-view="3"
17
17
  :link="relatedMissionsLinkUrl ? relatedMissionsLinkUrl : undefined"
@@ -2,7 +2,7 @@
2
2
  <nuxt-link
3
3
  v-if="data"
4
4
  :to="data.url"
5
- class="TopicDetailMissionCarouselItem group block cursor-pointer"
5
+ class="TopicDetailMissionCarouselItem ThemeVariantLight group block cursor-pointer"
6
6
  >
7
7
  <div
8
8
  class="can-hover:group-hover:scale-105 relative transition-transform duration-200 ease-in transform scale-100"
@@ -38,7 +38,7 @@
38
38
  </p>
39
39
  <p
40
40
  v-if="data.status || data.showClock"
41
- class="text-subtitle text-jpl-aqua"
41
+ class="text-subtitle text-jpl-blue-light"
42
42
  >
43
43
  <span class="sr-only">.</span>
44
44
  <template v-if="data.showClock">
@@ -41,28 +41,28 @@
41
41
  <div class="bg-secondary-light p-4"></div>
42
42
  </td>
43
43
  <td>Secondary light</td>
44
- <td><code class="text-sm">primary-light</code></td>
44
+ <td><code class="text-sm">secondary-light</code></td>
45
45
  </tr>
46
46
  <tr>
47
47
  <td>
48
48
  <div class="bg-secondary p-4"></div>
49
49
  </td>
50
50
  <td>Secondary</td>
51
- <td><code class="text-sm">primary</code></td>
51
+ <td><code class="text-sm">secondary</code></td>
52
52
  </tr>
53
53
  <tr>
54
54
  <td>
55
55
  <div class="bg-secondary-dark p-4"></div>
56
56
  </td>
57
57
  <td>Secondary dark</td>
58
- <td><code class="text-sm">primary-dark</code></td>
58
+ <td><code class="text-sm">secondary-dark</code></td>
59
59
  </tr>
60
60
  <tr>
61
61
  <td>
62
62
  <div class="bg-secondary-darker p-4"></div>
63
63
  </td>
64
64
  <td>Secondary darker</td>
65
- <td><code class="text-sm">primary-darker</code></td>
65
+ <td><code class="text-sm">secondary-darker</code></td>
66
66
  </tr>
67
67
  <tr>
68
68
  <td>
@@ -15,42 +15,43 @@ import { Meta, Story, Canvas } from '@storybook/blocks'
15
15
 
16
16
  Each of these foundation colors has specific usage scenarios.
17
17
 
18
- | Color | Name | Token |
19
- | :-------------------------------------------- | :------------- | :--------------- |
20
- | <div className="bg-jpl-red-light p-4"></div> | JPL Red Light | `jpl-red-light` |
21
- | <div className="bg-jpl-red p-4"></div> | JPL Red | `jpl-red` |
22
- | <div className="bg-jpl-red-dark p-4"></div> | JPL Red Dark | `jpl-red-dark` |
23
- | <div className="bg-jpl-red-darker p-4"></div> | JPL Red Darker | `jpl-red-darker` |
24
- | <div className="bg-jpl-aqua p-4"></div> | JPL Aqua | `aqua` |
25
- | <div className="bg-blue p-4"></div> | Blue | `blue` |
26
- | <div className="bg-dark-blue p-4"></div> | Dark Blue | `dark-blue` |
27
- | <div className="bg-green p-4"></div> | Green | `green` |
28
-
29
- ### Reserved for Internal Use
30
-
31
- These colors should not be used on public-facing JPL websites.
32
-
33
18
  | Color | Name | Token |
34
19
  | :------------------------------------------------- | :------------------ | :-------------------- |
35
- | <div className="bg-jpl-sky-blue-light p-4"></div> | JPL Sky Blue Light | `jpl-sky-blue-light` |
36
- | <div className="bg-jpl-sky-blue p-4"></div> | JPL Sky Blue | `jpl-sky-blue` |
37
- | <div className="bg-jpl-sky-blue-dark p-4"></div> | JPL Sky Blue Dark | `jpl-sky-blue-dark` |
38
- | <div className="bg-jpl-sky-blue-darker p-4"></div> | JPL Sky Blue Darker | `jpl-sky-blue-darker` |
39
-
40
- ### Reserved for EDU Use
41
-
42
- These colors should not be used on public-facing JPL websites.
43
-
44
- | Color | Name | Token |
45
- | :----------------------------------------------- | :---------------- | :------------------ |
46
- | <div className="bg-jpl-purple-light p-4"></div> | JPL Purple Light | `jpl-purple-light` |
47
- | <div className="bg-jpl-purple p-4"></div> | JPL Purple | `jpl-purple` |
48
- | <div className="bg-jpl-purple-dark p-4"></div> | JPL Purple Dark | `jpl-purple-dark` |
49
- | <div className="bg-jpl-purple-darker p-4"></div> | JPL Purple Darker | `jpl-purple-darker` |
50
- | <div className="bg-jpl-teal-light p-4"></div> | JPL Teal Light | `jpl-teal-light` |
51
- | <div className="bg-jpl-teal p-4"></div> | JPL Teal | `jpl-teal` |
52
- | <div className="bg-jpl-teal-dark p-4"></div> | JPL Teal Dark | `jpl-teal-dark` |
53
- | <div className="bg-jpl-teal-darker p-4"></div> | JPL Teal Darker | `jpl-teal-darker` |
20
+ | <div className="bg-jpl-red-lighter p-4"></div> | JPL Red Lighter | `jpl-red-lighter` |
21
+ | <div className="bg-jpl-red-light p-4"></div> | JPL Red Light | `jpl-red-light` |
22
+ | <div className="bg-jpl-red p-4"></div> | JPL Red | `jpl-red` |
23
+ | <div className="bg-jpl-red-dark p-4"></div> | JPL Red Dark | `jpl-red-dark` |
24
+ | <div className="bg-jpl-red-darker p-4"></div> | JPL Red Darker | `jpl-red-darker` |
25
+ | <div className="bg-jpl-orange-lighter p-4"></div> | JPL Orange Lighter | `jpl-orange-lighter` |
26
+ | <div className="bg-jpl-orange-light p-4"></div> | JPL Orange Light | `jpl-orange-light` |
27
+ | <div className="bg-jpl-orange p-4"></div> | JPL Orange | `jpl-orange` |
28
+ | <div className="bg-jpl-orange-dark p-4"></div> | JPL Orange Dark | `jpl-orange-dark` |
29
+ | <div className="bg-jpl-orange-darker p-4"></div> | JPL Orange Darker | `jpl-orange-darker` |
30
+ | <div className="bg-jpl-yellow-lighter p-4"></div> | JPL Yellow Lighter | `jpl-yellow-lighter` |
31
+ | <div className="bg-jpl-yellow-light p-4"></div> | JPL Yellow Light | `jpl-yellow-light` |
32
+ | <div className="bg-jpl-yellow p-4"></div> | JPL Yellow | `jpl-yellow` |
33
+ | <div className="bg-jpl-yellow-dark p-4"></div> | JPL Yellow Dark | `jpl-yellow-dark` |
34
+ | <div className="bg-jpl-yellow-darker p-4"></div> | JPL Yellow Darker | `jpl-yellow-darker` |
35
+ | <div className="bg-jpl-teal-lighter p-4"></div> | JPL Teal Lighter | `jpl-teal-lighter` |
36
+ | <div className="bg-jpl-teal-light p-4"></div> | JPL Teal Light | `jpl-teal-light` |
37
+ | <div className="bg-jpl-teal p-4"></div> | JPL Teal | `jpl-teal` |
38
+ | <div className="bg-jpl-teal-dark p-4"></div> | JPL Teal Dark | `jpl-teal-dark` |
39
+ | <div className="bg-jpl-teal-darker p-4"></div> | JPL Teal Darker | `jpl-teal-darker` |
40
+ | <div className="bg-jpl-blue-lighter p-4"></div> | JPL Blue Lighter | `jpl-blue-lighter` |
41
+ | <div className="bg-jpl-blue-light p-4"></div> | JPL Blue Light | `jpl-blue-light` |
42
+ | <div className="bg-jpl-blue p-4"></div> | JPL Blue | `jpl-blue` |
43
+ | <div className="bg-jpl-blue-dark p-4"></div> | JPL Blue Dark | `jpl-blue-dark` |
44
+ | <div className="bg-jpl-blue-darker p-4"></div> | JPL Blue Darker | `jpl-blue-darker` |
45
+ | <div className="bg-jpl-violet-lighter p-4"></div> | JPL Violet Lighter | `jpl-violet-lighter` |
46
+ | <div className="bg-jpl-violet-light p-4"></div> | JPL Violet Light | `jpl-violet-light` |
47
+ | <div className="bg-jpl-violet p-4"></div> | JPL Violet | `jpl-violet` |
48
+ | <div className="bg-jpl-violet-dark p-4"></div> | JPL Violet Dark | `jpl-violet-dark` |
49
+ | <div className="bg-jpl-violet-darker p-4"></div> | JPL Violet Darker | `jpl-violet-darker` |
50
+ | <div className="bg-jpl-magenta-lighter p-4"></div> | JPL Magenta Lighter | `jpl-magenta-lighter` |
51
+ | <div className="bg-jpl-magenta-light p-4"></div> | JPL Magenta Light | `jpl-magenta-light` |
52
+ | <div className="bg-jpl-magenta p-4"></div> | JPL Magenta | `jpl-magenta` |
53
+ | <div className="bg-jpl-magenta-dark p-4"></div> | JPL Magenta Dark | `jpl-magenta-dark` |
54
+ | <div className="bg-jpl-magenta-darker p-4"></div> | JPL Magenta Darker | `jpl-magenta-darker` |
54
55
 
55
56
  <span id="functional-gray-tones"></span>
56
57
 
@@ -87,17 +88,21 @@ Recommended for use in forms, alerts, or any element meant to communicate a stat
87
88
  **Note:** Color should never be the _only_ means used to convey state information;
88
89
  it must always be accompanied by text or iconography that makes it clear for colorblind users.
89
90
 
90
- | Color | Name | Token | Value |
91
- | :------------------------------------------------- | :------------------ | :-------------------- | :-------- |
92
- | <div className="bg-alert-gold p-4"></div> | Alert Gold | `alert-gold` | `#FFBA32` |
93
- | <div className="bg-alert-gold-light p-4"></div> | Alert Gold Light | `alert-gold-light` | `#FFF9EB` |
94
- | <div className="bg-disabled-gray p-4"></div> | Disabled Gray | `disabled-gray` | `#D8D8D8` |
95
- | <div className="bg-error-red p-4"></div> | Error Red | `error-red` | `#C1152E` |
96
- | <div className="bg-error-red-light p-4"></div> | Error Red Light | `error-red-light` | `#FFE8EB` |
97
- | <div className="bg-focus-blue p-4"></div> | Focus Blue | `focus-blue` | `#1871C9` |
98
- | <div className="bg-focus-blue-light p-4"></div> | Focus Blue Light | `focus-blue-light` | `#E8F1FA` |
99
- | <div className="bg-success-green p-4"></div> | Success Green | `success-green` | `#33A17B` |
100
- | <div className="bg-success-green-light p-4"></div> | Success Green Light | `success-green-light` | `#E1F5EE` |
91
+ | Color | Name | Token |
92
+ | :------------------------------------------- | :------------ | :-------------- |
93
+ | <div className="bg-warning-light p-4"></div> | Alert Light | `alert-light` |
94
+ | <div className="bg-warning p-4"></div> | Alert | `alert` |
95
+ | <div className="bg-warning-dark p-4"></div> | Alert Dark | `alert-dark` |
96
+ | <div className="bg-error-light p-4"></div> | Error Light | `error-light` |
97
+ | <div className="bg-error p-4"></div> | Error | `error` |
98
+ | <div className="bg-error-dark p-4"></div> | Error Dark | `error-dark` |
99
+ | <div className="bg-success-light p-4"></div> | Success Light | `success-light` |
100
+ | <div className="bg-success p-4"></div> | Success | `success` |
101
+ | <div className="bg-success-dark p-4"></div> | Success Dark | `success-dark` |
102
+ | <div className="bg-focus-light p-4"></div> | Focus Light | `focus-light` |
103
+ | <div className="bg-focus p-4"></div> | Focus | `focus` |
104
+ | <div className="bg-focus-dark p-4"></div> | Focus Dark | `focus-dark` |
105
+ | <div className="bg-disabled p-4"></div> | Disabled | `disabled` |
101
106
 
102
107
  <span id="tokens"></span>
103
108
 
@@ -17,9 +17,15 @@ Changing the Theme and Variant to see how the dynamic tokens change.
17
17
 
18
18
  <Canvas of={Stories.DynamicTokenStory} />
19
19
 
20
- ## Light & Dark Variants
20
+ ## Light, Dark, and Gray Variants
21
21
 
22
- `.ThemeVariantLight` and `.ThemeVariantDark` in Explorer 1 are theme variants. Note that not all components support these variants.
22
+ `.ThemeVariantLight`, `.ThemeVariantDark`, and `.ThemeVariantGray` in Explorer 1 are theme variants. Note that not all components support these variants.
23
+
24
+ | Variant | Purpose |
25
+ | ------------------- | -------------------------------------------------------------------------------------------- |
26
+ | `ThemeVariantLight` | When the component or element is used over a light or white background. Usually the default. |
27
+ | `ThemeVariantDark` | When the component or element is used over a dark or black background |
28
+ | `ThemeVariantGray` | When the component or element is used over a gray background |
23
29
 
24
30
  ### Key Points
25
31
 
@@ -11,41 +11,6 @@ export const DynamicTokenStory = {
11
11
  args: {}
12
12
  }
13
13
 
14
- const InternalTemplate = `<div>
15
- <div class="ThemeInternal">
16
- <!-- BaseLink -->
17
- <div>
18
- <a
19
- class="group cursor-pointer -default underline text-action can-hover:hover:text-action-hover"
20
- >
21
- Internal Theme: BaseLink
22
- </a>
23
- </div>
24
- <!-- /BaseLink -->
25
- </div>
26
- <div>
27
- <!-- BaseLink -->
28
- <div>
29
- <a
30
- class="group cursor-pointer -default underline text-action can-hover:hover:text-action-hover"
31
- >
32
- Default Theme: BaseLink
33
- </a>
34
- </div>
35
- <!-- /BaseLink -->
36
- </div>
37
- </div>`
38
-
39
- export const Internal = {
40
- args: {},
41
- render: (args) => ({
42
- setup() {
43
- return { args }
44
- },
45
- template: InternalTemplate
46
- })
47
- }
48
-
49
14
  const AdaptiveTextTemplate = `<p class="p-4">
50
15
  <a class="cursor-pointer font-bold text-action can-hover:hover:text-action-hover">
51
16
  Lorem ipsum dolor sit amet
@@ -12,11 +12,6 @@ import PageContent from './PageContent.vue'
12
12
  export default {
13
13
  title: 'Templates/PageContent',
14
14
  component: PageContent,
15
- decorators: [
16
- () => ({
17
- template: `<div id="storyDecorator" class="absolute inset-0 disable-nav-offset"><story/></div>`
18
- })
19
- ],
20
15
  parameters: {
21
16
  html: {
22
17
  root: '#storyDecorator'
@@ -1,3 +1,65 @@
1
+ <script lang="ts">
2
+ import { defineComponent } from 'vue'
3
+ import { useRoute } from 'vue-router'
4
+ import HeroMedia from '@explorer-1/vue/src/components/HeroMedia/HeroMedia.vue'
5
+ import NavSecondary from '@explorer-1/vue/src/components/NavSecondary/NavSecondary.vue'
6
+ import LayoutHelper from '@explorer-1/vue/src/components/LayoutHelper/LayoutHelper.vue'
7
+ import DetailHeadline from '@explorer-1/vue/src/components/DetailHeadline/DetailHeadline.vue'
8
+ import BlockImageStandard from '@explorer-1/vue/src/components/BlockImage/BlockImageStandard.vue'
9
+ import ShareButtons from '@explorer-1/vue/src/components/ShareButtons/ShareButtons.vue'
10
+ import BlockStreamfield from '@explorer-1/vue/src/components/BlockStreamfield/BlockStreamfield.vue'
11
+ import BlockRelatedLinks from '@explorer-1/vue/src/components/BlockRelatedLinks/BlockRelatedLinks.vue'
12
+ import FormContact from '@explorer-1/vue/src/components/FormContact/FormContact.vue'
13
+ import FormNewsletterSignup from '@explorer-1/vue/src/components/FormNewsletterSignup/FormNewsletterSignup.vue'
14
+ import BlockLinkCarousel from '@explorer-1/vue/src/components/BlockLinkCarousel/BlockLinkCarousel.vue'
15
+
16
+ const route = useRoute()
17
+
18
+ export default defineComponent({
19
+ name: 'PageContent',
20
+ components: {
21
+ HeroMedia,
22
+ NavSecondary,
23
+ LayoutHelper,
24
+ DetailHeadline,
25
+ BlockImageStandard,
26
+ ShareButtons,
27
+ BlockStreamfield,
28
+ BlockRelatedLinks,
29
+ FormContact,
30
+ FormNewsletterSignup,
31
+ BlockLinkCarousel
32
+ },
33
+ props: {
34
+ data: {
35
+ type: Object,
36
+ required: false,
37
+ default: undefined
38
+ }
39
+ },
40
+ computed: {
41
+ heroInline() {
42
+ if (this.data?.heroPosition === 'inline') {
43
+ return true
44
+ }
45
+ return false
46
+ },
47
+ hideH1() {
48
+ if (route?.path === '/a-plan-for-jpl') {
49
+ return true
50
+ }
51
+ return false
52
+ },
53
+ h1LayoutHelperClasses() {
54
+ if (this.hideH1) {
55
+ // We're hiding the H1 from regular browsers, so reduce the standard margin.
56
+ return 'lg:mt-12 mt-5'
57
+ }
58
+ return 'lg:mt-12 lg:mb-18 mt-5 mb-10'
59
+ }
60
+ }
61
+ })
62
+ </script>
1
63
  <template>
2
64
  <div
3
65
  v-if="data"
@@ -101,40 +163,3 @@
101
163
  />
102
164
  </div>
103
165
  </template>
104
- <script lang="ts">
105
- import { defineComponent } from 'vue'
106
- import { useRoute } from 'vue-router'
107
- const route = useRoute()
108
-
109
- export default defineComponent({
110
- name: 'PageContent',
111
- props: {
112
- data: {
113
- type: Object,
114
- required: false,
115
- default: undefined
116
- }
117
- },
118
- computed: {
119
- heroInline() {
120
- if (this.data?.heroPosition === 'inline') {
121
- return true
122
- }
123
- return false
124
- },
125
- hideH1() {
126
- if (route?.path === '/a-plan-for-jpl') {
127
- return true
128
- }
129
- return false
130
- },
131
- h1LayoutHelperClasses() {
132
- if (this.hideH1) {
133
- // We're hiding the H1 from regular browsers, so reduce the standard margin.
134
- return 'lg:mt-12 mt-5'
135
- }
136
- return 'lg:mt-12 lg:mb-18 mt-5 mb-10'
137
- }
138
- }
139
- })
140
- </script>
@@ -6,11 +6,6 @@ import PageEventDetail from './PageEventDetail.vue'
6
6
  export default {
7
7
  title: 'Templates/PageEventDetail',
8
8
  component: PageEventDetail,
9
- decorators: [
10
- () => ({
11
- template: `<div id="storyDecorator" class="absolute inset-0 disable-nav-offset"><story/></div>`
12
- })
13
- ],
14
9
  parameters: {
15
10
  html: {
16
11
  root: '#storyDecorator'
@@ -287,11 +287,43 @@ import {
287
287
  mixinFormatEventTimeInHoursAndMinutes,
288
288
  mixinFormatSplitEventDates
289
289
  } from '../../utils/mixins'
290
+ import LayoutHelper from '@explorer-1/vue/src/components/LayoutHelper/LayoutHelper.vue'
291
+ import BaseHeading from '@explorer-1/vue/src/components/BaseHeading/BaseHeading.vue'
292
+ import ShareButtons from '@explorer-1/vue/src/components/ShareButtons/ShareButtons.vue'
293
+ import EventDetailHero from '@explorer-1/vue/src/components/EventDetailHero/EventDetailHero.vue'
294
+ import IconCalendar from '@explorer-1/vue/src/components/Icons/IconCalendar.vue'
295
+ import IconLocation from '@explorer-1/vue/src/components/Icons/IconLocation.vue'
296
+ import IconTime from '@explorer-1/vue/src/components/Icons/IconTime.vue'
297
+ import BaseLink from '@explorer-1/vue/src/components/BaseLink/BaseLink.vue'
298
+ import BaseButton from '@explorer-1/vue/src/components/BaseButton/BaseButton.vue'
299
+ import CalendarButton from '@explorer-1/vue/src/components/CalendarButton/CalendarButton.vue'
300
+ import BlockStreamfield from '@explorer-1/vue/src/components/BlockStreamfield/BlockStreamfield.vue'
301
+ import BaseImagePlaceholder from '@explorer-1/vue/src/components/BaseImagePlaceholder/BaseImagePlaceholder.vue'
302
+ import BaseImage from '@explorer-1/vue/src/components/BaseImage/BaseImage.vue'
303
+ import BlockRelatedLinks from '@explorer-1/vue/src/components/BlockRelatedLinks/BlockRelatedLinks.vue'
304
+ import BlockLinkCarousel from '@explorer-1/vue/src/components/BlockLinkCarousel/BlockLinkCarousel.vue'
290
305
  // @ts-ignore
291
306
  import PlaceholderPortrait from '@explorer-1/common/src/images/svg/placeholder-portrait.svg'
292
307
 
293
308
  export default defineComponent({
294
309
  name: 'PageEventDetail',
310
+ components: {
311
+ LayoutHelper,
312
+ BaseHeading,
313
+ ShareButtons,
314
+ EventDetailHero,
315
+ IconCalendar,
316
+ IconLocation,
317
+ IconTime,
318
+ BaseLink,
319
+ BaseButton,
320
+ CalendarButton,
321
+ BlockStreamfield,
322
+ BaseImagePlaceholder,
323
+ BaseImage,
324
+ BlockRelatedLinks,
325
+ BlockLinkCarousel
326
+ },
295
327
  props: {
296
328
  data: {
297
329
  type: Object,
@@ -1,5 +1,6 @@
1
1
  <script setup lang="ts">
2
2
  import { computed } from 'vue'
3
+ import isEmpty from 'lodash/isEmpty.js'
3
4
  import type { StreamfieldBlockData } from '../../components/BlockStreamfield/BlockStreamfield.vue'
4
5
  import type {
5
6
  ImageObject,
@@ -8,7 +9,13 @@ import type {
8
9
  Topic,
9
10
  ThumbnailObject
10
11
  } from './../../interfaces'
11
- import isEmpty from 'lodash/isEmpty'
12
+ import HeroMedia from '@explorer-1/vue/src/components/HeroMedia/HeroMedia.vue'
13
+ import LayoutHelper from '@explorer-1/vue/src/components/LayoutHelper/LayoutHelper.vue'
14
+ import DetailHeadline from '@explorer-1/vue/src/components/DetailHeadline/DetailHeadline.vue'
15
+ import ShareButtonsEdu from '@explorer-1/vue/src/components/ShareButtonsEdu/ShareButtonsEdu.vue'
16
+ import BlockImageStandard from '@explorer-1/vue/src/components/BlockImage/BlockImageStandard.vue'
17
+ import BlockText from '@explorer-1/vue/src/components/BlockText/BlockText.vue'
18
+ import BlockStreamfield from '@explorer-1/vue/src/components/BlockStreamfield/BlockStreamfield.vue'
12
19
 
13
20
  interface PageEduNewsDetailObject extends PageResponseObject {
14
21
  heroImage: ImageObject
@@ -95,6 +102,7 @@ const dateTimeArray = computed(() => {
95
102
  schema
96
103
  />
97
104
  <share-buttons-edu
105
+ v-if="data?.url"
98
106
  class="mt-4"
99
107
  :url="data.url"
100
108
  :title="data.title"