@explorer-1/vue 0.2.3 → 0.2.5

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 (81) hide show
  1. package/components.d.ts +6 -3
  2. package/dist/explorer-1-vue.js +5603 -5375
  3. package/dist/explorer-1-vue.umd.cjs +12 -12
  4. package/dist/src/components/BlockCardGrid/BlockCardGrid.stories.d.ts +60 -0
  5. package/dist/src/components/BlockCardGrid/BlockCardGrid.vue.d.ts +33 -0
  6. package/dist/src/components/{BlockCard/BlockCard.stories.d.ts → BlockCardGridItem/BlockCardGridItem.stories.d.ts} +18 -4
  7. package/dist/src/components/{BlockCardGroup/BlockCardGroup.vue.d.ts → BlockCardGridItem/BlockCardGridItem.vue.d.ts} +10 -12
  8. package/dist/src/components/{BlockCard/BlockCard.vue.d.ts → BlockCardGridItem/BlockCardGridItemElement.vue.d.ts} +20 -14
  9. package/dist/src/components/BlockCircleImageCard/BlockCircleImageCard.stories.d.ts +1 -0
  10. package/dist/src/components/BlockHeading/BlockHeading.vue.d.ts +25 -2
  11. package/dist/src/components/BlockLinkCard/BlockLinkCard.stories.d.ts +1 -0
  12. package/dist/src/components/BlockLinkTile/BlockLinkTile.stories.d.ts +1 -0
  13. package/dist/src/components/BlockListCards/BlockListCards.stories.d.ts +1 -0
  14. package/dist/src/components/BlockStreamfield/BlockStreamfield.stories.d.ts +60 -0
  15. package/dist/src/components/BlockStreamfield/BlockStreamfield.vue.d.ts +2 -3
  16. package/dist/src/components/DetailHeadline/DetailHeadline.stories.d.ts +30 -1
  17. package/dist/src/components/DetailHeadline/DetailHeadline.vue.d.ts +37 -0
  18. package/dist/src/components/LayoutHelper/LayoutHelper.vue.d.ts +9 -0
  19. package/dist/src/components/NavDesktop/NavDesktop.stories.d.ts +3 -0
  20. package/dist/src/components/NavDesktop/NavDesktop.vue.d.ts +1 -0
  21. package/dist/src/components/NavDesktop/NavDesktopDropdown.vue.d.ts +1 -0
  22. package/dist/src/components/NavDesktopEdu/NavDesktopEdu.stories.d.ts +1 -0
  23. package/dist/src/components/NavDropdownToggle/NavDropdownToggle.vue.d.ts +19 -6
  24. package/dist/src/components/NavJumpMenu/NavJumpMenu.stories.d.ts +31 -0
  25. package/dist/src/components/NavMobile/NavMobile.stories.d.ts +30 -3
  26. package/dist/src/components/NavMobile/NavMobile.vue.d.ts +1 -0
  27. package/dist/src/components/NavMobile/NavMobileDropdown.vue.d.ts +9 -1
  28. package/dist/src/components/NavMobile/NavMobileEdu.stories.d.ts +3 -0
  29. package/dist/src/components/NavMobile/NavMobileSecondaryDropdown.vue.d.ts +7 -0
  30. package/dist/src/components/NavSecondary/NavSecondary.stories.d.ts +8 -0
  31. package/dist/src/components/NavSecondary/NavSecondary.vue.d.ts +23 -1
  32. package/dist/src/components/NavSecondary/NavSecondaryDropdown.vue.d.ts +33 -2
  33. package/dist/src/components/NavSecondary/NavSecondaryDropdownContent.vue.d.ts +11 -1
  34. package/dist/src/components/NavSecondary/NavSecondaryLink.vue.d.ts +21 -3
  35. package/dist/src/components/ThumbnailCarousel/ThumbnailCarousel.stories.d.ts +1 -0
  36. package/dist/src/docs/foundation/grid_layouthelpers.stories.d.ts +36 -0
  37. package/dist/src/interfaces.d.ts +13 -3
  38. package/dist/src/store/header.d.ts +2 -0
  39. package/dist/src/templates/PageNewsDetail/PageNewsDetail.stories.d.ts +8 -0
  40. package/dist/src/templates/edu/{PageEduResourceArticle/PageEduResourceArticle.stories.d.ts → PageEduExplainerArticle/PageEduExplainerArticle.stories.d.ts} +4 -2
  41. package/dist/src/templates/edu/PageEduNewsDetail/PageEduNewsDetail.stories.d.ts +1007 -6
  42. package/dist/src/templates/www/PageAsteroidWatchIndex/PageAsteroidWatchIndex.stories.d.ts +60 -0
  43. package/dist/src/templates/www/PageRoboticsDetail/PageRoboticsDetail.stories.d.ts +29 -2
  44. package/dist/src/utils/eventBus.d.ts +1 -0
  45. package/dist/src/utils/getHeadingId.d.ts +1 -0
  46. package/dist/src/utils/mixins.d.ts +1 -1
  47. package/dist/style.css +1 -1
  48. package/package.json +3 -2
  49. package/src/components/BaseAudio/BaseAudio.vue +3 -4
  50. package/src/components/BaseLink/BaseLink.vue +2 -0
  51. package/src/components/BaseTag/BaseTag.vue +4 -4
  52. package/src/components/BlockHeading/BlockHeading.vue +28 -0
  53. package/src/components/BlockStreamfield/BlockStreamfield.vue +5 -1
  54. package/src/components/DetailHeadline/DetailHeadline.stories.js +28 -2
  55. package/src/components/DetailHeadline/DetailHeadline.vue +85 -32
  56. package/src/components/NavDesktop/NavDesktopDropdown.vue +2 -4
  57. package/src/components/NavDropdownToggle/NavDropdownToggle.vue +8 -3
  58. package/src/components/NavJumpMenu/NavJumpMenu.stories.js +47 -0
  59. package/src/components/NavJumpMenu/NavJumpMenu.vue +141 -0
  60. package/src/components/NavJumpMenu/NavJumpMenuContent.vue +74 -0
  61. package/src/components/NavMobile/NavMobile.vue +2 -4
  62. package/src/components/NavMobile/NavMobileDropdown.vue +8 -4
  63. package/src/components/NavMobile/NavMobileSecondaryDropdown.vue +4 -1
  64. package/src/components/NavSecondary/NavSecondary.stories.js +8 -3
  65. package/src/components/NavSecondary/NavSecondary.vue +26 -6
  66. package/src/components/NavSecondary/NavSecondaryDropdown.vue +52 -17
  67. package/src/components/NavSecondary/NavSecondaryDropdownContent.vue +5 -1
  68. package/src/components/NavSecondary/NavSecondaryLink.vue +38 -11
  69. package/src/interfaces.ts +7 -1
  70. package/src/store/header.ts +6 -1
  71. package/src/templates/PageNewsDetail/PageNewsDetail.stories.js +1 -0
  72. package/src/templates/PageNewsDetail/PageNewsDetail.vue +1 -0
  73. package/src/templates/edu/PageEduEventDetail/PageEduEventDetail.vue +2 -2
  74. package/src/templates/edu/{PageEduResourceArticle/PageEduResourceArticle.stories.js → PageEduExplainerArticle/PageEduExplainerArticle.stories.js} +8 -6
  75. package/src/templates/edu/{PageEduResourceArticle/PageEduResourceArticle.vue → PageEduExplainerArticle/PageEduExplainerArticle.vue} +5 -2
  76. package/src/templates/edu/PageEduNewsDetail/PageEduNewsDetail.stories.js +7 -4
  77. package/src/templates/edu/PageEduNewsDetail/PageEduNewsDetail.vue +18 -2
  78. package/src/utils/eventBus.ts +3 -0
  79. package/src/utils/getHeadingId.ts +5 -0
  80. package/src/utils/mixins.ts +5 -1
  81. package/dist/src/components/BlockCardGroup/BlockCardGroup.stories.d.ts +0 -32
@@ -1,5 +1,5 @@
1
1
  <script setup lang="ts">
2
- import { computed } from 'vue'
2
+ import { computed, ref, defineExpose } from 'vue'
3
3
  import isEmpty from 'lodash/isEmpty.js'
4
4
  import type { StreamfieldBlockData } from './../../../components/BlockStreamfield/BlockStreamfield.vue'
5
5
  import type {
@@ -17,8 +17,10 @@ import ShareButtonsEdu from './../../../components/ShareButtonsEdu/ShareButtonsE
17
17
  import BlockImageStandard from './../../../components/BlockImage/BlockImageStandard.vue'
18
18
  import BlockText from './../../../components/BlockText/BlockText.vue'
19
19
  import BlockStreamfield from './../../../components/BlockStreamfield/BlockStreamfield.vue'
20
+ import NavJumpMenu from './../../../components/NavJumpMenu/NavJumpMenu.vue'
20
21
 
21
22
  interface PageEduNewsDetailObject extends PageResponseObject {
23
+ readTime: string
22
24
  url: string
23
25
  heroImage: ImageObject
24
26
  heroImageInline: ImageObject
@@ -34,6 +36,7 @@ interface PageEduNewsDetailObject extends PageResponseObject {
34
36
  topper: string
35
37
  relatedLinks: RelatedLinkObject[]
36
38
  body: StreamfieldBlockData[]
39
+ showJumpMenu: boolean
37
40
  }
38
41
 
39
42
  interface PageEduNewsDetailProps {
@@ -43,6 +46,8 @@ interface PageEduNewsDetailProps {
43
46
  // define props
44
47
  const props = defineProps<PageEduNewsDetailProps>()
45
48
 
49
+ const PageEduNewsDetailJumpMenu = ref()
50
+
46
51
  const heroEmpty = computed(() => {
47
52
  return isEmpty(props.data?.heroImage)
48
53
  })
@@ -66,6 +71,10 @@ const computedClass = computed(() => {
66
71
  const dateTimeArray = computed(() => {
67
72
  return props.data.publicationDate.split(' ')
68
73
  })
74
+
75
+ defineExpose({
76
+ PageEduNewsDetailJumpMenu
77
+ })
69
78
  </script>
70
79
  <template>
71
80
  <div
@@ -75,6 +84,13 @@ const dateTimeArray = computed(() => {
75
84
  itemscope
76
85
  itemtype="http://schema.org/Article"
77
86
  >
87
+ <NavJumpMenu
88
+ ref="PageEduNewsDetailJumpMenu"
89
+ :title="data.title"
90
+ :blocks="data.body"
91
+ :enabled="true"
92
+ />
93
+
78
94
  <!-- schema.org -->
79
95
  <meta
80
96
  v-if="data.thumbnailImage && data.thumbnailImage.original"
@@ -99,6 +115,7 @@ const dateTimeArray = computed(() => {
99
115
  >
100
116
  <DetailHeadline
101
117
  :title="data.title"
118
+ :read-time="data.readTime"
102
119
  :author="data.authors"
103
120
  :publication-date="dateTimeArray?.length ? dateTimeArray[0] : undefined"
104
121
  :publication-time="dateTimeArray?.length ? dateTimeArray[1] : undefined"
@@ -145,7 +162,6 @@ const dateTimeArray = computed(() => {
145
162
  {{ data.summary }}
146
163
  </p>
147
164
  </LayoutHelper>
148
-
149
165
  <!-- streamfield blocks -->
150
166
  <BlockStreamfield
151
167
  itemprop="articleBody"
@@ -0,0 +1,3 @@
1
+ import mitt from 'mitt'
2
+
3
+ export const eventBus = mitt()
@@ -0,0 +1,5 @@
1
+ import { camelCase } from 'lodash'
2
+
3
+ export const getHeadingId = (heading: string, index?: number) => {
4
+ return camelCase(heading + (index ? index : ''))
5
+ }
@@ -123,9 +123,13 @@ export const mixinUpdateGlobalChildren = (value: [BreadcrumbPathObject] | null)
123
123
  /* -- mixinUpdateSecondary --
124
124
  This mixin is used by the navigation to share secondary nav override items between components
125
125
  */
126
- export const mixinUpdateSecondary = (value: [BreadcrumbPathObject] | null) => {
126
+ export const mixinUpdateSecondary = (
127
+ value: BreadcrumbPathObject[] | undefined,
128
+ isJumpMenu: boolean = false
129
+ ) => {
127
130
  const headerStore = useHeaderStore()
128
131
  headerStore.updateSecondary(value)
132
+ headerStore.updateSecondaryNavIsJumpMenu(isJumpMenu)
129
133
  }
130
134
  /* -- mixinHighlightPrimary --
131
135
  This mixin is used to specify if active primary navigation items should be highlighted/underlined
@@ -1,32 +0,0 @@
1
- import { default as BlockCardGroup } from './BlockCardGroup.vue';
2
- declare namespace _default {
3
- export let title: string;
4
- export { BlockCardGroup as component };
5
- export let excludeStories: RegExp;
6
- }
7
- export default _default;
8
- export const BlockCardGroupData: ({
9
- type: string;
10
- title: string;
11
- description: string;
12
- image: {
13
- alt: string;
14
- src: {
15
- height: number;
16
- url: string;
17
- width: number;
18
- };
19
- srcSet: string;
20
- };
21
- } | {
22
- type: string;
23
- title: string;
24
- description: string;
25
- image: null;
26
- })[];
27
- export namespace BaseStory {
28
- let name: string;
29
- namespace args {
30
- export { BlockCardGroupData as facts };
31
- }
32
- }