@explorer-1/vue 1.0.6 → 1.1.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.
- package/CHANGELOG.md +11 -0
- package/package.json +25 -24
- package/src/components/BlockAccordion/BlockAccordion.vue +1 -1
- package/src/components/BlockCsrTable/BlockCsrTable.vue +1 -1
- package/src/components/BlockCsrTable/CsrTestLimitsTable.vue +1 -0
- package/src/components/BlockGist/BlockGist.vue +2 -1
- package/src/components/BlockLinkCard/BlockLinkCardCollectionLg.vue +1 -1
- package/src/components/CalendarChip/CalendarChip.vue +1 -1
- package/src/components/HeroInlineMedia/HeroInlineMedia.vue +1 -1
- package/src/components/MetadataEduResource/MetadataEduResource.vue +1 -1
- package/src/components/MetadataEvent/MetadataEvent.vue +1 -1
- package/src/components/MissionDetailHighlights/MissionDetailHighlights.vue +24 -19
- package/src/components/MixinFancybox/MixinFancybox.vue +2 -3
- package/src/components/NavDesktop/NavDesktopDropdownMore.vue +1 -1
- package/src/components/NavJumpMenu/NavJumpMenu.vue +2 -2
- package/src/components/NavJumpMenu/NavJumpMenuContent.vue +1 -1
- package/src/components/NavSearchForm/NavSearchForm.vue +1 -1
- package/src/components/RoboticsDetailStats/RoboticsDetailStats.vue +3 -3
- package/src/components/SearchResultsList/SearchResultsList.vue +1 -1
- package/src/components/ShareButtonsEdu/ShareButtonsEdu.vue +1 -1
- package/src/components/TextArea/TextArea.vue +2 -1
- package/src/components/TextInput/TextInput.vue +1 -1
- package/src/main.ts +1 -1
- package/src/templates/edu/PageEduNewsDetail/PageEduNewsDetail.vue +1 -1
- package/src/templates/edu/PageEduStudentProject/PageEduStudentProject.vue +1 -1
- package/vite.config.ts +0 -2
package/CHANGELOG.md
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@explorer-1/vue",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -13,37 +13,38 @@
|
|
|
13
13
|
"type": "module",
|
|
14
14
|
"prettier": "@explorer-1/prettier-config",
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@fancyapps/ui": "^
|
|
17
|
-
"@tailwindcss/forms": "^0.5.
|
|
18
|
-
"ag-grid-vue3": "^
|
|
19
|
-
"animejs": "^3.
|
|
16
|
+
"@fancyapps/ui": "^6.1.11",
|
|
17
|
+
"@tailwindcss/forms": "^0.5.11",
|
|
18
|
+
"ag-grid-vue3": "^35.0.1",
|
|
19
|
+
"animejs": "^4.3.5",
|
|
20
20
|
"click-outside-vue3": "^4.0.1",
|
|
21
21
|
"datebook": "^8.0.1",
|
|
22
|
-
"dayjs": "^1.11.
|
|
23
|
-
"fast-qs": "^2.
|
|
24
|
-
"lodash": "^4.17.
|
|
22
|
+
"dayjs": "^1.11.19",
|
|
23
|
+
"fast-qs": "^2.1.2",
|
|
24
|
+
"lodash": "^4.17.23",
|
|
25
25
|
"mitt": "^3.0.1",
|
|
26
|
-
"sass": "^1.
|
|
27
|
-
"swiper": "^
|
|
28
|
-
"tailwindcss": "^3.4.
|
|
26
|
+
"sass": "^1.97.3",
|
|
27
|
+
"swiper": "^12.1.2",
|
|
28
|
+
"tailwindcss": "^3.4.19",
|
|
29
29
|
"twitter-widgets": "^2.0.0",
|
|
30
|
-
"vue": "^3.5.
|
|
30
|
+
"vue": "^3.5.28",
|
|
31
31
|
"vue-bind-once": "^0.2.1",
|
|
32
|
+
"vue-router": "^5.0.2",
|
|
32
33
|
"vue3-compare-image": "^1.2.5",
|
|
33
|
-
"vue3-observe-visibility": "^1.0.
|
|
34
|
-
"@explorer-1/common": "2.0
|
|
34
|
+
"vue3-observe-visibility": "^1.0.4",
|
|
35
|
+
"@explorer-1/common": "2.1.0"
|
|
35
36
|
},
|
|
36
37
|
"devDependencies": {
|
|
37
|
-
"@vitejs/plugin-vue": "^
|
|
38
|
-
"a11y-dialog": "^8.1.
|
|
39
|
-
"autoprefixer": "^10.4.
|
|
40
|
-
"postcss": "^8.
|
|
41
|
-
"postcss-import": "^16.1.
|
|
42
|
-
"typescript": "^5.
|
|
43
|
-
"unplugin-vue-components": "^0.
|
|
44
|
-
"vite": "^
|
|
45
|
-
"vite-plugin-dts": "^
|
|
46
|
-
"vue-tsc": "^2.
|
|
38
|
+
"@vitejs/plugin-vue": "^6.0.4",
|
|
39
|
+
"a11y-dialog": "^8.1.5",
|
|
40
|
+
"autoprefixer": "^10.4.24",
|
|
41
|
+
"postcss": "^8.5.6",
|
|
42
|
+
"postcss-import": "^16.1.1",
|
|
43
|
+
"typescript": "^5.9.3",
|
|
44
|
+
"unplugin-vue-components": "^31.0.0",
|
|
45
|
+
"vite": "^7.3.1",
|
|
46
|
+
"vite-plugin-dts": "^4.5.4",
|
|
47
|
+
"vue-tsc": "^3.2.4",
|
|
47
48
|
"@explorer-1/prettier-config": "1.0.0"
|
|
48
49
|
},
|
|
49
50
|
"storybook": {
|
|
@@ -17,7 +17,7 @@ import { AgGridVue } from 'ag-grid-vue3'
|
|
|
17
17
|
ModuleRegistry.registerModules([AllCommunityModule])
|
|
18
18
|
ModuleRegistry.registerModules([ValidationModule])
|
|
19
19
|
|
|
20
|
-
interface BlockCsrTableProps {
|
|
20
|
+
export interface BlockCsrTableProps {
|
|
21
21
|
rowData?: BlockCsrTableRow[]
|
|
22
22
|
attachmentPrefix?: string
|
|
23
23
|
apiEndpoint?: string
|
|
@@ -23,6 +23,7 @@ withDefaults(defineProps<CsrTestLimitsTableProps>(), {
|
|
|
23
23
|
const headerClass = [
|
|
24
24
|
'bg-jpl-blue-darker edu:bg-jpl-violet-darker font-secondary text-white text-sm border-gray-light-mid px-3 border-b text-left'
|
|
25
25
|
]
|
|
26
|
+
// @ts-ignore
|
|
26
27
|
const CsrTestLimitsTableRef = ref()
|
|
27
28
|
const theme = themeMaterial.withParams({
|
|
28
29
|
accentColor: 'rgb(25 156 227)', // jpl-blue-light
|
|
@@ -9,11 +9,12 @@ export interface BlockGistData extends BlockData {
|
|
|
9
9
|
id?: string
|
|
10
10
|
url?: string
|
|
11
11
|
}
|
|
12
|
-
interface BlockGistProps {
|
|
12
|
+
export interface BlockGistProps {
|
|
13
13
|
data: BlockGistData
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
const props = defineProps<BlockGistProps>()
|
|
17
|
+
// @ts-ignore
|
|
17
18
|
const frame = ref()
|
|
18
19
|
const loaded = ref(false)
|
|
19
20
|
const checkGistLoaded = async () => {
|
|
@@ -8,7 +8,7 @@ import BaseImagePlaceholder from './../BaseImagePlaceholder/BaseImagePlaceholder
|
|
|
8
8
|
import BasePill from './../BasePill/BasePill.vue'
|
|
9
9
|
import MetadataEduResource from './../MetadataEduResource/MetadataEduResource.vue'
|
|
10
10
|
|
|
11
|
-
interface BlockLinkCardCollectionLgProps {
|
|
11
|
+
export interface BlockLinkCardCollectionLgProps {
|
|
12
12
|
theItem?: EduResourceCardObject
|
|
13
13
|
metadataType?: ContentTypeKey
|
|
14
14
|
metadataAttrs?: any
|
|
@@ -4,7 +4,7 @@ import { useThemeStore } from '../../store/theme'
|
|
|
4
4
|
import { mixinFormatSplitEventDates } from './../../utils/mixins'
|
|
5
5
|
const themeStore = useThemeStore()
|
|
6
6
|
|
|
7
|
-
interface CalendarChipProps {
|
|
7
|
+
export interface CalendarChipProps {
|
|
8
8
|
startDate?: string
|
|
9
9
|
endDate?: string
|
|
10
10
|
ongoing?: boolean
|
|
@@ -12,7 +12,7 @@ import BlockImageStandard from './../BlockImage/BlockImageStandard.vue'
|
|
|
12
12
|
import BlockVideo, { type BlockVideoData } from './../BlockVideo/BlockVideo.vue'
|
|
13
13
|
import type { StreamfieldBlockData } from './../../interfaces'
|
|
14
14
|
|
|
15
|
-
interface HeroInlineMediaProps {
|
|
15
|
+
export interface HeroInlineMediaProps {
|
|
16
16
|
heroBlocks: StreamfieldBlockData[]
|
|
17
17
|
constrain?: boolean
|
|
18
18
|
}
|
|
@@ -8,7 +8,7 @@ import IconProfile from './../Icons/IconProfile.vue'
|
|
|
8
8
|
import IconTime from './../Icons/IconTime.vue'
|
|
9
9
|
import { rangeifyGrades } from './../../utils/rangeifyGrades'
|
|
10
10
|
|
|
11
|
-
interface MetadataEduResourceProps {
|
|
11
|
+
export interface MetadataEduResourceProps {
|
|
12
12
|
resource: EduResourceCardObject
|
|
13
13
|
/** If compact styling should be used */
|
|
14
14
|
compact?: boolean
|
|
@@ -9,7 +9,7 @@ import IconLocation from './../Icons/IconLocation.vue'
|
|
|
9
9
|
import { mixinFormatEventDates, mixinFormatEventTimeInHoursAndMinutes } from './../../utils/mixins'
|
|
10
10
|
const themeStore = useThemeStore()
|
|
11
11
|
|
|
12
|
-
interface MetadataEventProps {
|
|
12
|
+
export interface MetadataEventProps {
|
|
13
13
|
event: EventCardObject
|
|
14
14
|
compact?: boolean
|
|
15
15
|
allowBreak?: boolean
|
|
@@ -168,7 +168,13 @@ import _throttle from 'lodash/throttle.js'
|
|
|
168
168
|
import type { DebouncedFunc } from 'lodash'
|
|
169
169
|
import type { Slide } from './MissionDetailHighlightsCarouselItem.vue'
|
|
170
170
|
// @ts-ignore
|
|
171
|
-
import
|
|
171
|
+
import {
|
|
172
|
+
animate,
|
|
173
|
+
createDrawable,
|
|
174
|
+
createMotionPath,
|
|
175
|
+
createTimeline,
|
|
176
|
+
type TargetsParam
|
|
177
|
+
} from 'animejs'
|
|
172
178
|
import MissionDetailHighlightsCarousel from './MissionDetailHighlightsCarousel.vue'
|
|
173
179
|
import BaseHeading from './../BaseHeading/BaseHeading.vue'
|
|
174
180
|
|
|
@@ -254,32 +260,31 @@ export default defineComponent({
|
|
|
254
260
|
this.lineFollower()
|
|
255
261
|
},
|
|
256
262
|
drawLine() {
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
easing: 'easeInOutSine',
|
|
263
|
+
animate(createDrawable(this.$refs.missionHighlightsPath as TargetsParam), {
|
|
264
|
+
draw: '0 1',
|
|
265
|
+
ease: 'easeInOutSine',
|
|
261
266
|
duration: 2000,
|
|
262
|
-
delay(_:
|
|
263
|
-
return i * 250
|
|
267
|
+
delay(_: any, i: number) {
|
|
268
|
+
return (i * 250) as any
|
|
264
269
|
},
|
|
265
|
-
|
|
270
|
+
alternate: true,
|
|
266
271
|
loop: false
|
|
267
272
|
})
|
|
268
273
|
},
|
|
269
274
|
lineFollower() {
|
|
270
|
-
const
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
easing: 'easeInOutSine',
|
|
275
|
+
const { translateX, translateY } = createMotionPath(
|
|
276
|
+
this.$refs.missionHighlightsPath as SVGElement
|
|
277
|
+
)
|
|
278
|
+
const tl = createTimeline()
|
|
279
|
+
tl.add(this.$refs.missionHighlightsMovingDot as TargetsParam, {
|
|
280
|
+
ease: 'easeInOutSine',
|
|
277
281
|
duration: 2000,
|
|
278
|
-
loop: false
|
|
282
|
+
loop: false,
|
|
283
|
+
x: translateX,
|
|
284
|
+
y: translateY
|
|
279
285
|
})
|
|
280
|
-
tl.add({
|
|
281
|
-
|
|
282
|
-
easing: 'easeInOutSine',
|
|
286
|
+
tl.add(this.$refs.missionHighlightsTitle as TargetsParam, {
|
|
287
|
+
ease: 'easeInOutSine',
|
|
283
288
|
duration: 250,
|
|
284
289
|
opacity: ['0', '1'],
|
|
285
290
|
loop: false
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
// @ts-nocheck
|
|
3
3
|
import { defineComponent } from 'vue'
|
|
4
|
-
import { Fancybox } from '@fancyapps/ui'
|
|
5
|
-
import
|
|
6
|
-
import '@fancyapps/ui/dist/fancybox.css'
|
|
4
|
+
import { Fancybox, Fullscreen } from '@fancyapps/ui'
|
|
5
|
+
import '@fancyapps/ui/dist/fancybox/fancybox.css'
|
|
7
6
|
import MixinFancyboxOpenButton from './MixinFancyboxOpenButton.vue'
|
|
8
7
|
|
|
9
8
|
export const fancyboxThemes = {
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
<div
|
|
54
54
|
v-for="(highlight, index) in highlightsColumn.highlights"
|
|
55
55
|
:key="index"
|
|
56
|
-
:class="{ 'mb-10': index + 1 !== highlightsColumn.highlights.length }"
|
|
56
|
+
:class="{ 'mb-10': Number(index) + 1 !== highlightsColumn.highlights.length }"
|
|
57
57
|
>
|
|
58
58
|
<NavHighlight :highlight="highlight.highlight" />
|
|
59
59
|
</div>
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
</NavSecondary>
|
|
38
38
|
</template>
|
|
39
39
|
<script setup lang="ts">
|
|
40
|
-
import { computed,
|
|
40
|
+
import { computed, ref, onMounted, onUnmounted, watch } from 'vue'
|
|
41
41
|
import { mixinUpdateSecondary } from './../../utils/mixins'
|
|
42
42
|
import { useRoute } from 'vue-router'
|
|
43
43
|
import NavSecondary from './../NavSecondary/NavSecondary.vue'
|
|
@@ -49,7 +49,7 @@ import type { BlockTextObject } from './../BlockText/BlockText.vue'
|
|
|
49
49
|
import type { BlockData, BreadcrumbPathObject, StreamfieldBlockData } from './../../interfaces'
|
|
50
50
|
import { getHeadingId } from '../../utils/getHeadingId'
|
|
51
51
|
|
|
52
|
-
interface NavJumpMenuProps {
|
|
52
|
+
export interface NavJumpMenuProps {
|
|
53
53
|
title?: string
|
|
54
54
|
jumpLinks?: BreadcrumbPathObject[]
|
|
55
55
|
blocks?: (StreamfieldBlockData | BlockData | BlockHeadingObject | BlockTextObject)[]
|
|
@@ -127,9 +127,9 @@ export default defineComponent({
|
|
|
127
127
|
hasContent(): boolean {
|
|
128
128
|
return Boolean(
|
|
129
129
|
this.allStats.length > 0 ||
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
130
|
+
this.status !== '' ||
|
|
131
|
+
this.robotDestinations.length > 0 ||
|
|
132
|
+
this.animalAnalogIcon
|
|
133
133
|
)
|
|
134
134
|
},
|
|
135
135
|
allStats(): AlternativeStat[] {
|
|
@@ -11,7 +11,7 @@ import IconSocialPinterest from './../Icons/IconSocialPinterest.vue'
|
|
|
11
11
|
import IconSocialTwitter from './../Icons/IconSocialTwitter.vue'
|
|
12
12
|
import { mixinCanonicalUrl } from '../../utils/mixins'
|
|
13
13
|
|
|
14
|
-
interface ShareButtonsEduProps {
|
|
14
|
+
export interface ShareButtonsEduProps {
|
|
15
15
|
title: string
|
|
16
16
|
url: string
|
|
17
17
|
image?: string
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import { ref, computed } from 'vue'
|
|
3
|
-
interface TextAreaProps {
|
|
3
|
+
export interface TextAreaProps {
|
|
4
4
|
inputName: string
|
|
5
5
|
label: string
|
|
6
6
|
cols?: number
|
|
@@ -25,6 +25,7 @@ const props = withDefaults(defineProps<TextAreaProps>(), {
|
|
|
25
25
|
const emit = defineEmits(['input', 'esc'])
|
|
26
26
|
|
|
27
27
|
const model = defineModel({ type: String })
|
|
28
|
+
// @ts-ignore
|
|
28
29
|
const TextAreaRef = ref(undefined)
|
|
29
30
|
const isFocused = ref(false)
|
|
30
31
|
|
package/src/main.ts
CHANGED
|
@@ -7,7 +7,7 @@ import filters from './utils/filters'
|
|
|
7
7
|
import vClickOutside from 'click-outside-vue3'
|
|
8
8
|
import VueCompareImage from 'vue3-compare-image'
|
|
9
9
|
import { BindOncePlugin } from 'vue-bind-once'
|
|
10
|
-
import '
|
|
10
|
+
import '@explorer-1/common/src/scss/styles-with-fonts.scss'
|
|
11
11
|
import App from './App.vue'
|
|
12
12
|
|
|
13
13
|
const pinia = createPinia()
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { computed, ref
|
|
2
|
+
import { computed, ref } from 'vue'
|
|
3
3
|
import isEmpty from 'lodash/isEmpty.js'
|
|
4
4
|
import type { AuthorObject, ImageObject, PageObject } from './../../../interfaces'
|
|
5
5
|
import HeroMedia from './../../../components/HeroMedia/HeroMedia.vue'
|
|
@@ -244,7 +244,7 @@ const computedClass = computed((): string => {
|
|
|
244
244
|
>
|
|
245
245
|
<NavJumpMenu
|
|
246
246
|
v-if="stepHeadings?.length"
|
|
247
|
-
:key="route.fullPath"
|
|
247
|
+
:key="route ? route.fullPath : undefined"
|
|
248
248
|
ref="PageEduStudentProjectJumpMenu"
|
|
249
249
|
:title="data.title"
|
|
250
250
|
:blocks="stepHeadings"
|
package/vite.config.ts
CHANGED
|
@@ -19,8 +19,6 @@ export default defineConfig({
|
|
|
19
19
|
preprocessorOptions: {
|
|
20
20
|
scss: {
|
|
21
21
|
silenceDeprecations: [
|
|
22
|
-
// Deprecation Warning: https://sass-lang.com/d/mixed-decls
|
|
23
|
-
'mixed-decls',
|
|
24
22
|
// Deprecation Warning: https://sass-lang.com/d/import
|
|
25
23
|
'import',
|
|
26
24
|
// Deprecation Warning: https://sass-lang.com/d/legacy-js-api
|