@cooperco/cooper-component-library 0.1.1 → 0.1.3
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/dist/{component-lib.js → lib/component-lib.js} +1950 -1512
- package/dist/lib/component-lib.umd.cjs +98 -0
- package/{src/assets → dist/lib/css}/main.css +3 -2
- package/dist/lib/style.css +1 -0
- package/dist/types/App.vue.d.ts +2 -0
- package/dist/types/components/Accordion/Accordion.d.ts +17 -0
- package/dist/types/components/Accordion/Accordion.vue.d.ts +29 -0
- package/dist/types/components/Accordion/AccordionItem.d.ts +23 -0
- package/dist/types/components/Accordion/AccordionItem.vue.d.ts +30 -0
- package/dist/types/components/Accordion/AccordionListItem.vue.d.ts +12 -0
- package/dist/types/components/Accordion/AccordionTileItem.vue.d.ts +16 -0
- package/dist/types/components/CTA/CTA.d.ts +19 -0
- package/dist/types/components/CTA/CTA.vue.d.ts +12 -0
- package/dist/types/components/CarouselModule/CarouselModule.d.ts +24 -0
- package/dist/types/components/CarouselModule/CarouselModule.vue.d.ts +26 -0
- package/dist/types/components/ContainerCollectionModule/ContainerCollectionModule.d.ts +11 -0
- package/dist/types/components/ContainerCollectionModule/ContainerCollectionModule.vue.d.ts +12 -0
- package/dist/types/components/ContainerModule/ContainerModule.d.ts +26 -0
- package/dist/types/components/ContainerModule/ContainerModule.vue.d.ts +36 -0
- package/dist/types/components/ContentModule/ContentModule.d.ts +28 -0
- package/dist/types/components/ContentModule/ContentModule.vue.d.ts +29 -0
- package/dist/types/components/FooterNavigation/FooterNavigation.d.ts +12 -0
- package/dist/types/components/FooterNavigation/FooterNavigation.vue.d.ts +12 -0
- package/dist/types/components/Image/Image.d.ts +13 -0
- package/dist/types/components/Image/Image.vue.d.ts +26 -0
- package/dist/types/components/LogoCollectionModule/LogoCollectionModule.d.ts +10 -0
- package/dist/types/components/LogoCollectionModule/LogoCollectionModule.vue.d.ts +12 -0
- package/dist/types/components/NavigationElement/NavigationElement.d.ts +17 -0
- package/dist/types/components/NavigationElement/NavigationElement.vue.d.ts +12 -0
- package/dist/types/components/PrimaryNavigation/PrimaryNavigation.d.ts +11 -0
- package/dist/types/components/PrimaryNavigation/PrimaryNavigation.vue.d.ts +12 -0
- package/dist/types/components/SplitModule/SplitModule.d.ts +16 -0
- package/dist/types/components/SplitModule/SplitModule.vue.d.ts +12 -0
- package/dist/types/components/TestimonialModule/TestimonialModule.d.ts +21 -0
- package/dist/types/components/TestimonialModule/TestimonialModule.vue.d.ts +12 -0
- package/dist/types/components/TileCollectionModule/TileCollectionModule.d.ts +14 -0
- package/dist/types/components/TileCollectionModule/TileCollectionModule.vue.d.ts +12 -0
- package/dist/types/components/TileContent/TileContent.d.ts +53 -0
- package/dist/types/components/TileContent/TileContentIconTile.vue.d.ts +12 -0
- package/dist/types/components/TileContent/TileContentImageStackedAnimatedTile.vue.d.ts +12 -0
- package/dist/types/components/TileContent/TileContentImageTile.vue.d.ts +12 -0
- package/dist/types/components/TileContent/TileContentTextTile.vue.d.ts +12 -0
- package/dist/types/components/TileContent/TileContentVideoTile.vue.d.ts +12 -0
- package/dist/types/components/TileLabel/TileLabel.d.ts +13 -0
- package/dist/types/components/TileLabel/TileLabel.vue.d.ts +29 -0
- package/dist/types/components/Video/Video.d.ts +8 -0
- package/dist/types/components/Video/Video.vue.d.ts +26 -0
- package/dist/types/components/components.d.ts +23 -0
- package/dist/types/components/types.d.ts +16 -0
- package/dist/types/config/defaultPassthrough.d.ts +96 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/init.d.ts +3 -0
- package/dist/types/pages/index.vue.d.ts +2 -0
- package/dist/types/router.d.ts +5 -0
- package/dist/types/types.d.ts +49 -0
- package/package.json +21 -18
- package/dist/component-lib.umd.cjs +0 -98
- package/dist/style.css +0 -1
- package/src/components/Accordion/Accordion.ts +0 -20
- package/src/components/Accordion/Accordion.vue +0 -66
- package/src/components/Accordion/AccordionItem.ts +0 -25
- package/src/components/Accordion/AccordionItem.vue +0 -104
- package/src/components/Accordion/AccordionListItem.vue +0 -61
- package/src/components/Accordion/AccordionTileItem.vue +0 -75
- package/src/components/CTA/CTA.ts +0 -22
- package/src/components/CTA/CTA.vue +0 -65
- package/src/components/CarouselModule/CarouselModule.ts +0 -20
- package/src/components/CarouselModule/CarouselModule.vue +0 -64
- package/src/components/ContainerCollectionModule/ContainerCollectionModule.ts +0 -12
- package/src/components/ContainerCollectionModule/ContainerCollectionModule.vue +0 -42
- package/src/components/ContainerModule/ContainerModule.ts +0 -69
- package/src/components/ContainerModule/ContainerModule.vue +0 -113
- package/src/components/ContentModule/ContentModule.ts +0 -31
- package/src/components/ContentModule/ContentModule.vue +0 -65
- package/src/components/FooterNavigation/FooterNavigation.ts +0 -13
- package/src/components/FooterNavigation/FooterNavigation.vue +0 -59
- package/src/components/Image/Image.ts +0 -12
- package/src/components/Image/Image.vue +0 -17
- package/src/components/LogoCollectionModule/LogoCollectionModule.ts +0 -12
- package/src/components/LogoCollectionModule/LogoCollectionModule.vue +0 -40
- package/src/components/NavigationElement/NavigationElement.ts +0 -22
- package/src/components/NavigationElement/NavigationElement.vue +0 -101
- package/src/components/PrimaryNavigation/PrimaryNavigation.ts +0 -10
- package/src/components/PrimaryNavigation/PrimaryNavigation.vue +0 -71
- package/src/components/SplitModule/SplitModule.ts +0 -17
- package/src/components/SplitModule/SplitModule.vue +0 -57
- package/src/components/TestimonialModule/TestimonialModule.ts +0 -22
- package/src/components/TestimonialModule/TestimonialModule.vue +0 -51
- package/src/components/TileCollectionModule/TileCollectionModule.ts +0 -18
- package/src/components/TileCollectionModule/TileCollectionModule.vue +0 -58
- package/src/components/TileContent/TileContent.ts +0 -60
- package/src/components/TileContent/TileContent.vue +0 -116
- package/src/components/TileContent/TileContentIconTile.vue +0 -83
- package/src/components/TileContent/TileContentImageStackedAnimatedTile.vue +0 -121
- package/src/components/TileContent/TileContentImageTile.vue +0 -80
- package/src/components/TileContent/TileContentTextTile.vue +0 -63
- package/src/components/TileContent/TileContentVideoTile.vue +0 -81
- package/src/components/Video/Video.ts +0 -8
- package/src/components/Video/Video.vue +0 -18
- package/src/config/defaultPassthrough.ts +0 -261
- /package/{src/assets → dist/lib/css}/theme.css +0 -0
- /package/{src/assets → dist/lib}/fonts/GT-Walsheim-Bold.woff +0 -0
- /package/{src/assets → dist/lib}/fonts/GT-Walsheim-Bold.woff2 +0 -0
- /package/{src/assets → dist/lib}/fonts/GT-Walsheim-LC-Bold.woff +0 -0
- /package/{src/assets → dist/lib}/fonts/GT-Walsheim-LC-Bold.woff2 +0 -0
- /package/{src/assets → dist/lib}/fonts/GT-Walsheim-LC-Regular.woff +0 -0
- /package/{src/assets → dist/lib}/fonts/GT-Walsheim-LC-Regular.woff2 +0 -0
- /package/{src/assets → dist/lib}/fonts/GT-Walsheim-Medium.woff +0 -0
- /package/{src/assets → dist/lib}/fonts/GT-Walsheim-Medium.woff2 +0 -0
- /package/{src/assets → dist/lib}/fonts/GT-Walsheim-Regular.woff +0 -0
- /package/{src/assets → dist/lib}/fonts/GT-Walsheim-Regular.woff2 +0 -0
- /package/{src/assets → dist/lib}/fonts/fonts.scss +0 -0
- /package/{src/assets → dist/lib}/fonts/notosanssc-bold-webfont.woff +0 -0
- /package/{src/assets → dist/lib}/fonts/notosanssc-bold-webfont.woff2 +0 -0
- /package/{src/assets → dist/lib}/fonts/notosanssc-regular-webfont.woff +0 -0
- /package/{src/assets → dist/lib}/fonts/notosanssc-regular-webfont.woff2 +0 -0
- /package/dist/{vite.svg → lib/vite.svg} +0 -0
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { TestimonialModule } from './TestimonialModule'
|
|
3
|
-
import { computed } from 'vue'
|
|
4
|
-
import {
|
|
5
|
-
combinePassthroughs,
|
|
6
|
-
TestimonialModulePt,
|
|
7
|
-
} from '../../config/defaultPassthrough'
|
|
8
|
-
|
|
9
|
-
const props = defineProps<TestimonialModule>()
|
|
10
|
-
const pt = computed(() =>
|
|
11
|
-
combinePassthroughs(TestimonialModulePt, props.pt ?? {})
|
|
12
|
-
)
|
|
13
|
-
|
|
14
|
-
const computedStyle = computed(() => {
|
|
15
|
-
return {
|
|
16
|
-
'background-color': props.backgroundColor ?? 'transparent',
|
|
17
|
-
color: props.textColor ?? 'inherit',
|
|
18
|
-
}
|
|
19
|
-
})
|
|
20
|
-
</script>
|
|
21
|
-
|
|
22
|
-
<template>
|
|
23
|
-
<div class="testimonial p-5" :style="computedStyle">
|
|
24
|
-
<div
|
|
25
|
-
:class="`container mx-auto flex flex-col lg:flex-row gap-8 ${pt?.container ?? ''}`"
|
|
26
|
-
>
|
|
27
|
-
<div v-if="media" :class="`testimonial-media ${pt?.media ?? ''}`">
|
|
28
|
-
<component :is="media.__typename" v-bind="media" />
|
|
29
|
-
</div>
|
|
30
|
-
<div :class="`testimonial-text ${pt?.text ?? ''}`">
|
|
31
|
-
<h3
|
|
32
|
-
v-if="headline"
|
|
33
|
-
:class="`testimonial-headline ${pt?.headline ?? ''}`"
|
|
34
|
-
>
|
|
35
|
-
{{ headline }}
|
|
36
|
-
</h3>
|
|
37
|
-
<p v-if="quote" :class="`testimonial-quote ${pt?.quote ?? ''}`">
|
|
38
|
-
"{{ quote }}"
|
|
39
|
-
</p>
|
|
40
|
-
|
|
41
|
-
<p v-if="author" :class="`testimonial-author ${pt?.author ?? ''}`">
|
|
42
|
-
{{ author }}
|
|
43
|
-
</p>
|
|
44
|
-
|
|
45
|
-
<p v-if="details" :class="`testimonial-details ${pt?.details ?? ''}`">
|
|
46
|
-
{{ details }}
|
|
47
|
-
</p>
|
|
48
|
-
</div>
|
|
49
|
-
</div>
|
|
50
|
-
</div>
|
|
51
|
-
</template>
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { ComponentPassthrough } from '../../types'
|
|
2
|
-
import { TileContent } from '../TileContent/TileContent'
|
|
3
|
-
|
|
4
|
-
export interface TileCollection {
|
|
5
|
-
__typename?: 'TileCollectionModule'
|
|
6
|
-
headline: string
|
|
7
|
-
description?: string
|
|
8
|
-
modules: TileContent[]
|
|
9
|
-
textColor?: string
|
|
10
|
-
backgroundColor?: string
|
|
11
|
-
variant:
|
|
12
|
-
| 'IconTile'
|
|
13
|
-
| 'ImageTile'
|
|
14
|
-
| 'VideoTile'
|
|
15
|
-
| 'ImageStackedAnimatedTile'
|
|
16
|
-
| 'TextTile'
|
|
17
|
-
pt?: ComponentPassthrough
|
|
18
|
-
}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { TileCollection } from './TileCollectionModule'
|
|
3
|
-
import { computed } from 'vue'
|
|
4
|
-
import { twMerge } from 'tailwind-merge'
|
|
5
|
-
import {
|
|
6
|
-
combinePassthroughs,
|
|
7
|
-
TileCollectionModulePt,
|
|
8
|
-
} from '../../config/defaultPassthrough'
|
|
9
|
-
|
|
10
|
-
const props = defineProps<TileCollection>()
|
|
11
|
-
const pt = computed(() =>
|
|
12
|
-
combinePassthroughs(TileCollectionModulePt, props.pt ?? {})
|
|
13
|
-
)
|
|
14
|
-
|
|
15
|
-
const computedStyle = computed(() => {
|
|
16
|
-
return {
|
|
17
|
-
'background-color': props.backgroundColor ?? 'transparent',
|
|
18
|
-
color: props.textColor ?? 'inherit',
|
|
19
|
-
}
|
|
20
|
-
})
|
|
21
|
-
</script>
|
|
22
|
-
|
|
23
|
-
<template>
|
|
24
|
-
<section
|
|
25
|
-
:class="`tile-collection overflow-hidden ${pt?.root ?? ''} py-16 ${variant}`"
|
|
26
|
-
:style="computedStyle"
|
|
27
|
-
>
|
|
28
|
-
<div :class="`container mx-auto ${pt?.container ?? ''}`">
|
|
29
|
-
<h2
|
|
30
|
-
v-if="headline"
|
|
31
|
-
:class="`tile-collection-headline ${pt?.headline ?? ''}`"
|
|
32
|
-
>
|
|
33
|
-
{{ headline }}
|
|
34
|
-
</h2>
|
|
35
|
-
<h3
|
|
36
|
-
v-if="description"
|
|
37
|
-
:class="`tile-collection-description ${pt?.description ?? ''}`"
|
|
38
|
-
>
|
|
39
|
-
{{ description }}
|
|
40
|
-
</h3>
|
|
41
|
-
<ul
|
|
42
|
-
v-if="modules"
|
|
43
|
-
:class="`tile-collection-content ${twMerge(`flex flex-col ${variant !== 'ImageStackedAnimatedTile' ? 'md:flex-row flex-wrap gap-12 md:gap-6' : 'gap-12'} justify-center`, pt?.content ?? '')}`"
|
|
44
|
-
>
|
|
45
|
-
<!-- TODO: Fix suppressed ts error "${(item as any).class}" -->
|
|
46
|
-
<component
|
|
47
|
-
:is="`TileContent${variant}`"
|
|
48
|
-
v-for="(item, index) in modules"
|
|
49
|
-
:key="`${item?.headline}-${index}`"
|
|
50
|
-
:class="`tile-collection-content-item-${index} ${pt?.item ?? ''} ${(item as any).class}`"
|
|
51
|
-
v-bind="item"
|
|
52
|
-
:index="index"
|
|
53
|
-
/>
|
|
54
|
-
</ul>
|
|
55
|
-
<!-- TODO: need to add the CTA -->
|
|
56
|
-
</div>
|
|
57
|
-
</section>
|
|
58
|
-
</template>
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { ComponentPassthrough } from '../../types'
|
|
2
|
-
import { CardLabel } from '../../types'
|
|
3
|
-
import { CTA } from '../CTA/CTA'
|
|
4
|
-
import { Image } from '../Image/Image'
|
|
5
|
-
import { Video } from '../Video/Video'
|
|
6
|
-
|
|
7
|
-
export interface TileContentPassthrough extends ComponentPassthrough {
|
|
8
|
-
media?: string
|
|
9
|
-
mediaContainer?: string
|
|
10
|
-
ctas?: string
|
|
11
|
-
label?: string
|
|
12
|
-
numericLabel?: string
|
|
13
|
-
cta?: string
|
|
14
|
-
body?: string
|
|
15
|
-
text?: string
|
|
16
|
-
list?: string
|
|
17
|
-
listItem?: string
|
|
18
|
-
footer?: string
|
|
19
|
-
footerContent?: string
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export interface TileContent {
|
|
23
|
-
__typename?: 'TileContent'
|
|
24
|
-
index?: number
|
|
25
|
-
Image?: Image
|
|
26
|
-
Video?: Video
|
|
27
|
-
headline?: string
|
|
28
|
-
subheadline?: string
|
|
29
|
-
description?: string
|
|
30
|
-
ctas?: CTA[]
|
|
31
|
-
textColor?: string
|
|
32
|
-
backgroundColor?: string
|
|
33
|
-
cardLabel?: CardLabel
|
|
34
|
-
alignment?: 'left' | 'center' | 'right'
|
|
35
|
-
isImageStacked?: boolean
|
|
36
|
-
pt?: TileContentPassthrough
|
|
37
|
-
listItems?: string[]
|
|
38
|
-
footer?: string
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export interface TileContentTextTile extends Omit<TileContent, '__typename'> {
|
|
42
|
-
__typename?: 'TileContentTextTile'
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
export interface TileContentIconTile extends Omit<TileContent, '__typename'> {
|
|
46
|
-
__typename?: 'TileContentIconTile'
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
export interface TileContentImageTile extends Omit<TileContent, '__typename'> {
|
|
50
|
-
__typename?: 'TileContentImageTile'
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
export interface TileContentVideoTile extends Omit<TileContent, '__typename'> {
|
|
54
|
-
__typename?: 'TileContentVideoTile'
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export interface TileContentImageStackedAnimatedTile
|
|
58
|
-
extends Omit<TileContent, '__typename'> {
|
|
59
|
-
__typename?: 'TileContentImageStackedAnimatedTile'
|
|
60
|
-
}
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { TileContent } from './TileContent'
|
|
3
|
-
import { computed } from 'vue'
|
|
4
|
-
import Card from 'primevue/card'
|
|
5
|
-
import ImageComponent from '../Image/Image.vue'
|
|
6
|
-
import VideoComponent from '../Video/Video.vue'
|
|
7
|
-
import { twMerge } from 'tailwind-merge'
|
|
8
|
-
import {
|
|
9
|
-
combinePassthroughs,
|
|
10
|
-
TileContentPt,
|
|
11
|
-
} from '../../config/defaultPassthrough'
|
|
12
|
-
|
|
13
|
-
const props = defineProps<TileContent>()
|
|
14
|
-
const pt = computed(() => combinePassthroughs(TileContentPt, props.pt ?? {}))
|
|
15
|
-
|
|
16
|
-
const computedStyle = computed(() => {
|
|
17
|
-
return {
|
|
18
|
-
'background-color': props.backgroundColor ?? 'transparent',
|
|
19
|
-
color: props?.textColor ?? 'inherit',
|
|
20
|
-
textAlign: props.alignment ?? 'center',
|
|
21
|
-
}
|
|
22
|
-
})
|
|
23
|
-
|
|
24
|
-
const computedCardLabelStyle = computed(() => {
|
|
25
|
-
return {
|
|
26
|
-
'background-color': props?.cardLabel?.backgroundColor ?? 'transparent',
|
|
27
|
-
color: props?.cardLabel?.textColor ?? 'inherit',
|
|
28
|
-
}
|
|
29
|
-
})
|
|
30
|
-
</script>
|
|
31
|
-
|
|
32
|
-
<template>
|
|
33
|
-
<div :class="`tile-content ${pt?.root ?? ''}`" :style="computedStyle">
|
|
34
|
-
<div
|
|
35
|
-
v-if="cardLabel && !isImageStacked"
|
|
36
|
-
:style="computedCardLabelStyle"
|
|
37
|
-
:class="`tile-label absolute ${pt?.label}`"
|
|
38
|
-
>
|
|
39
|
-
{{ cardLabel.content }}
|
|
40
|
-
</div>
|
|
41
|
-
<Card
|
|
42
|
-
:class="`${pt?.container ?? ''} tile-content-container shadow-none`"
|
|
43
|
-
:style="computedStyle"
|
|
44
|
-
:pt:footer:class="`tile-content-ctas ${pt?.ctas ?? ''}`"
|
|
45
|
-
:pt:body:class="pt?.body ?? ''"
|
|
46
|
-
>
|
|
47
|
-
<template v-if="description || listItems" #content>
|
|
48
|
-
<div :class="`flex flex-col tile-content-inner ${pt?.content ?? ''}`">
|
|
49
|
-
<div v-if="isImageStacked" class="tile-content-text">
|
|
50
|
-
<h3
|
|
51
|
-
v-if="headline"
|
|
52
|
-
:class="`tile-content-headline ${pt?.headline ?? ''}`"
|
|
53
|
-
>
|
|
54
|
-
{{ headline }}
|
|
55
|
-
</h3>
|
|
56
|
-
<p :class="`tile-content-description ${pt?.description ?? ''}`">
|
|
57
|
-
{{ description }}
|
|
58
|
-
</p>
|
|
59
|
-
</div>
|
|
60
|
-
<h3
|
|
61
|
-
v-if="!isImageStacked && headline"
|
|
62
|
-
:class="`tile-content-headline ${pt?.headline ?? ''}`"
|
|
63
|
-
>
|
|
64
|
-
{{ headline }}
|
|
65
|
-
</h3>
|
|
66
|
-
<h6
|
|
67
|
-
v-if="subheadline && !isImageStacked"
|
|
68
|
-
:class="`tile-content-subheadline ${pt?.subheadline ?? ''}`"
|
|
69
|
-
>
|
|
70
|
-
{{ subheadline }}
|
|
71
|
-
</h6>
|
|
72
|
-
<div
|
|
73
|
-
v-if="Video || Image"
|
|
74
|
-
:class="`tile-content-media ${pt?.media ?? ''}`"
|
|
75
|
-
>
|
|
76
|
-
<div
|
|
77
|
-
v-if="isImageStacked && cardLabel"
|
|
78
|
-
:style="computedCardLabelStyle"
|
|
79
|
-
:class="`tile-label absolute ${pt?.label}`"
|
|
80
|
-
>
|
|
81
|
-
{{ cardLabel.content }}
|
|
82
|
-
</div>
|
|
83
|
-
<div class="tile-content-media-background"></div>
|
|
84
|
-
<ImageComponent
|
|
85
|
-
v-if="Image"
|
|
86
|
-
v-bind="Image"
|
|
87
|
-
:class="
|
|
88
|
-
// @ts-ignore
|
|
89
|
-
twMerge('w-full', Image.class)
|
|
90
|
-
"
|
|
91
|
-
/>
|
|
92
|
-
<VideoComponent v-if="Video" v-bind="Video" />
|
|
93
|
-
</div>
|
|
94
|
-
<p
|
|
95
|
-
v-if="!isImageStacked"
|
|
96
|
-
:class="`tile-content-description ${pt?.description ?? ''}`"
|
|
97
|
-
>
|
|
98
|
-
{{ description }}
|
|
99
|
-
</p>
|
|
100
|
-
</div>
|
|
101
|
-
</template>
|
|
102
|
-
|
|
103
|
-
<template v-if="ctas || footer" #footer>
|
|
104
|
-
<p v-if="footer" :class="`${pt?.footer ?? ''}`">
|
|
105
|
-
{{ footer }}
|
|
106
|
-
</p>
|
|
107
|
-
<CTA
|
|
108
|
-
v-for="(item, index) in ctas"
|
|
109
|
-
:key="`${item?.title}-${index}`"
|
|
110
|
-
:class="`cta-${index} ${pt?.cta}`"
|
|
111
|
-
:="item"
|
|
112
|
-
/>
|
|
113
|
-
</template>
|
|
114
|
-
</Card>
|
|
115
|
-
</div>
|
|
116
|
-
</template>
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { TileContentIconTile } from './TileContent'
|
|
3
|
-
import { computed } from 'vue'
|
|
4
|
-
import Card from 'primevue/card'
|
|
5
|
-
import ImageComponent from '../Image/Image.vue'
|
|
6
|
-
import VideoComponent from '../Video/Video.vue'
|
|
7
|
-
import { twMerge } from 'tailwind-merge'
|
|
8
|
-
import {
|
|
9
|
-
combinePassthroughs,
|
|
10
|
-
TileContentIconTilePt,
|
|
11
|
-
} from '../../config/defaultPassthrough'
|
|
12
|
-
|
|
13
|
-
const props = defineProps<TileContentIconTile>()
|
|
14
|
-
const pt = computed(() =>
|
|
15
|
-
combinePassthroughs(TileContentIconTilePt, props.pt ?? {})
|
|
16
|
-
)
|
|
17
|
-
</script>
|
|
18
|
-
|
|
19
|
-
<template>
|
|
20
|
-
<div :class="`tile-content ${pt?.root ?? ''}`">
|
|
21
|
-
<div
|
|
22
|
-
v-if="cardLabel"
|
|
23
|
-
:class="`tile-label absolute ${cardLabel?.type === 'Numeric' ? pt?.numericLabel : pt?.label}`"
|
|
24
|
-
>
|
|
25
|
-
{{ cardLabel.content }}
|
|
26
|
-
</div>
|
|
27
|
-
|
|
28
|
-
<Card
|
|
29
|
-
:class="`${pt?.container ?? ''} tile-content-container shadow-none`"
|
|
30
|
-
:pt:footer:class="`tile-content-footer ${pt?.footer ?? ''}`"
|
|
31
|
-
:pt:body:class="pt?.body ?? ''"
|
|
32
|
-
>
|
|
33
|
-
<template v-if="description || listItems" #content>
|
|
34
|
-
<div :class="`flex flex-col tile-content-inner ${pt?.content ?? ''}`">
|
|
35
|
-
<div v-if="Image" :class="`tile-content-media ${pt?.media ?? ''}`">
|
|
36
|
-
<div class="tile-content-media-background"></div>
|
|
37
|
-
<ImageComponent
|
|
38
|
-
v-if="Image"
|
|
39
|
-
v-bind="Image"
|
|
40
|
-
:class="
|
|
41
|
-
// @ts-ignore
|
|
42
|
-
twMerge('w-full', Image.class)
|
|
43
|
-
"
|
|
44
|
-
/>
|
|
45
|
-
<VideoComponent v-if="Video" v-bind="Video" class="w-full" />
|
|
46
|
-
</div>
|
|
47
|
-
<h3
|
|
48
|
-
v-if="headline"
|
|
49
|
-
:class="`tile-content-headline ${pt?.headline ?? ''}`"
|
|
50
|
-
>
|
|
51
|
-
{{ headline }}
|
|
52
|
-
</h3>
|
|
53
|
-
<h6
|
|
54
|
-
v-if="subheadline && !isImageStacked"
|
|
55
|
-
:class="`tile-content-subheadline ${pt?.subheadline ?? ''}`"
|
|
56
|
-
>
|
|
57
|
-
{{ subheadline }}
|
|
58
|
-
</h6>
|
|
59
|
-
|
|
60
|
-
<div
|
|
61
|
-
v-if="description"
|
|
62
|
-
:class="`tile-content-description ${pt?.description ?? ''}`"
|
|
63
|
-
v-html="description"
|
|
64
|
-
></div>
|
|
65
|
-
</div>
|
|
66
|
-
</template>
|
|
67
|
-
|
|
68
|
-
<template v-if="ctas || footer" #footer>
|
|
69
|
-
<p v-if="footer" :class="`${pt?.footerContent ?? ''}`">
|
|
70
|
-
{{ footer }}
|
|
71
|
-
</p>
|
|
72
|
-
<div :class="pt?.ctas ?? ''">
|
|
73
|
-
<CTA
|
|
74
|
-
v-for="(item, index) in ctas"
|
|
75
|
-
:key="`cta-${item.title}-${index}`"
|
|
76
|
-
:class="`cta-${index} ${pt?.cta}`"
|
|
77
|
-
:="item"
|
|
78
|
-
/>
|
|
79
|
-
</div>
|
|
80
|
-
</template>
|
|
81
|
-
</Card>
|
|
82
|
-
</div>
|
|
83
|
-
</template>
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { TileContentImageStackedAnimatedTile } from './TileContent'
|
|
3
|
-
import { computed } from 'vue'
|
|
4
|
-
import Card from 'primevue/card'
|
|
5
|
-
import ImageComponent from '../Image/Image.vue'
|
|
6
|
-
import VideoComponent from '../Video/Video.vue'
|
|
7
|
-
import { twMerge } from 'tailwind-merge'
|
|
8
|
-
import {
|
|
9
|
-
combinePassthroughs,
|
|
10
|
-
TileContentImageStackedAnimatedTilePt,
|
|
11
|
-
} from '../../config/defaultPassthrough'
|
|
12
|
-
|
|
13
|
-
const props = defineProps<TileContentImageStackedAnimatedTile>()
|
|
14
|
-
const pt = computed(() =>
|
|
15
|
-
combinePassthroughs(TileContentImageStackedAnimatedTilePt, props.pt ?? {})
|
|
16
|
-
)
|
|
17
|
-
|
|
18
|
-
const isEven = computed(() => !((props.index ?? 0) % 2))
|
|
19
|
-
const isFirst = computed(() => props.index === 0)
|
|
20
|
-
</script>
|
|
21
|
-
|
|
22
|
-
<template>
|
|
23
|
-
<div :class="`tile-content ${pt?.root ?? ''}`">
|
|
24
|
-
<Card
|
|
25
|
-
:class="`${pt?.container ?? ''} tile-content-container shadow-none`"
|
|
26
|
-
:pt:footer:class="`tile-content-ctas ${pt?.ctas ?? ''}`"
|
|
27
|
-
:pt:body:class="pt?.body ?? ''"
|
|
28
|
-
>
|
|
29
|
-
<template #content>
|
|
30
|
-
<div
|
|
31
|
-
:class="`flex gap-[5vmin] md:gap-12 relative ${isEven ? 'flex-row-reverse' : ''} tile-content-inner ${pt?.content ?? ''}`"
|
|
32
|
-
>
|
|
33
|
-
<div
|
|
34
|
-
:class="`tile-content-text flex-auto relative z-20 flex flex-col justify-center ${pt?.text ?? ''} ${isEven ? 'items-start *:text-left' : 'items-end *:text-right'}`"
|
|
35
|
-
>
|
|
36
|
-
<h3
|
|
37
|
-
v-if="headline"
|
|
38
|
-
:class="`tile-content-headline w-full ${pt?.headline ?? ''}`"
|
|
39
|
-
>
|
|
40
|
-
{{ headline }}
|
|
41
|
-
</h3>
|
|
42
|
-
<h6
|
|
43
|
-
v-if="subheadline"
|
|
44
|
-
:class="`tile-content-subheadline ${pt?.subheadline ?? ''} w-full`"
|
|
45
|
-
>
|
|
46
|
-
{{ subheadline }}
|
|
47
|
-
</h6>
|
|
48
|
-
<p
|
|
49
|
-
v-if="description"
|
|
50
|
-
:class="`tile-content-description ${pt?.description ?? ''} w-full`"
|
|
51
|
-
>
|
|
52
|
-
{{ description }}
|
|
53
|
-
</p>
|
|
54
|
-
</div>
|
|
55
|
-
<div
|
|
56
|
-
v-if="Video || Image"
|
|
57
|
-
:class="`tile-content-media relative ${pt?.media ?? ''}`"
|
|
58
|
-
>
|
|
59
|
-
<img
|
|
60
|
-
:class="{
|
|
61
|
-
absolute: true,
|
|
62
|
-
'w-full': true,
|
|
63
|
-
'z-0': true,
|
|
64
|
-
'top-[36%]': isFirst,
|
|
65
|
-
'left-[-16%]': isFirst,
|
|
66
|
-
// Odd items
|
|
67
|
-
'bg-left-top': (isEven && !isFirst) || !isEven,
|
|
68
|
-
'rotate-90': isEven && !isFirst,
|
|
69
|
-
'left-[-28%]': isEven && !isFirst,
|
|
70
|
-
'top-[-10%]': isEven && !isFirst,
|
|
71
|
-
// Even items
|
|
72
|
-
'top-[-16%]': !isEven,
|
|
73
|
-
'right-[-16%]': !isEven,
|
|
74
|
-
'rotate-180': !isEven,
|
|
75
|
-
}"
|
|
76
|
-
:src="
|
|
77
|
-
isEven
|
|
78
|
-
? 'https://images.ctfassets.net/qqblaiss500w/5Bp3ySaz0pqR5gLtdxOQoi/db01031466deed9b7b959c08c17e5681/circles1.f3eead2.svg'
|
|
79
|
-
: 'https://images.ctfassets.net/qqblaiss500w/5Bp3ySaz0pqR5gLtdxOQoi/db01031466deed9b7b959c08c17e5681/circles1.f3eead2.svg'
|
|
80
|
-
"
|
|
81
|
-
/>
|
|
82
|
-
|
|
83
|
-
<div
|
|
84
|
-
v-if="cardLabel"
|
|
85
|
-
:class="{
|
|
86
|
-
[pt?.label ?? '']: true,
|
|
87
|
-
'tile-label': true,
|
|
88
|
-
'top-8': true,
|
|
89
|
-
'right-0': isEven,
|
|
90
|
-
'left-0': !isEven,
|
|
91
|
-
}"
|
|
92
|
-
>
|
|
93
|
-
{{ cardLabel.content }}
|
|
94
|
-
</div>
|
|
95
|
-
<ImageComponent
|
|
96
|
-
v-if="Image"
|
|
97
|
-
v-bind="Image"
|
|
98
|
-
:class="
|
|
99
|
-
// @ts-ignore
|
|
100
|
-
twMerge('w-full relative rounded-full z-10', Image.class)
|
|
101
|
-
"
|
|
102
|
-
/>
|
|
103
|
-
<VideoComponent v-if="Video" v-bind="Video" />
|
|
104
|
-
</div>
|
|
105
|
-
</div>
|
|
106
|
-
</template>
|
|
107
|
-
|
|
108
|
-
<template v-if="ctas || footer" #footer>
|
|
109
|
-
<p v-if="footer" :class="`${pt?.footer ?? ''}`">
|
|
110
|
-
{{ footer }}
|
|
111
|
-
</p>
|
|
112
|
-
<CTA
|
|
113
|
-
v-for="(item, index) in ctas"
|
|
114
|
-
:key="`cta-${item.title}-${index}`"
|
|
115
|
-
:class="`cta-${index} ${pt?.cta}`"
|
|
116
|
-
:="item"
|
|
117
|
-
/>
|
|
118
|
-
</template>
|
|
119
|
-
</Card>
|
|
120
|
-
</div>
|
|
121
|
-
</template>
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { TileContentImageTile } from './TileContent'
|
|
3
|
-
import { computed } from 'vue'
|
|
4
|
-
import Card from 'primevue/card'
|
|
5
|
-
import ImageComponent from '../Image/Image.vue'
|
|
6
|
-
import { twMerge } from 'tailwind-merge'
|
|
7
|
-
import {
|
|
8
|
-
combinePassthroughs,
|
|
9
|
-
TileContentImageTilePt,
|
|
10
|
-
} from '../../config/defaultPassthrough'
|
|
11
|
-
|
|
12
|
-
const props = defineProps<TileContentImageTile>()
|
|
13
|
-
const pt = computed(() =>
|
|
14
|
-
combinePassthroughs(TileContentImageTilePt, props.pt ?? {})
|
|
15
|
-
)
|
|
16
|
-
</script>
|
|
17
|
-
|
|
18
|
-
<template>
|
|
19
|
-
<div :class="`tile-content ${pt?.root ?? ''}`">
|
|
20
|
-
<Card
|
|
21
|
-
:class="`${pt?.container ?? ''} tile-content-container shadow-none`"
|
|
22
|
-
:pt:footer:class="`tile-content-ctas ${pt?.footer ?? ''}`"
|
|
23
|
-
:pt:body:class="pt?.body ?? ''"
|
|
24
|
-
>
|
|
25
|
-
<template v-if="description || listItems" #content>
|
|
26
|
-
<div :class="`flex flex-col tile-content-inner ${pt?.content ?? ''}`">
|
|
27
|
-
<div v-if="Image" :class="`tile-content-media ${pt?.media ?? ''}`">
|
|
28
|
-
<div
|
|
29
|
-
v-if="cardLabel"
|
|
30
|
-
:class="`tile-label ${cardLabel?.type === 'Numeric' ? pt?.numericLabel : pt?.label}`"
|
|
31
|
-
>
|
|
32
|
-
{{ cardLabel.content }}
|
|
33
|
-
</div>
|
|
34
|
-
<div class="tile-content-media-background"></div>
|
|
35
|
-
<ImageComponent
|
|
36
|
-
v-if="Image"
|
|
37
|
-
v-bind="Image"
|
|
38
|
-
:class="
|
|
39
|
-
// @ts-ignore
|
|
40
|
-
twMerge('w-full rounded-full', Image.class)
|
|
41
|
-
"
|
|
42
|
-
/>
|
|
43
|
-
</div>
|
|
44
|
-
<h3
|
|
45
|
-
v-if="headline"
|
|
46
|
-
:class="`tile-content-headline ${pt?.headline ?? ''}`"
|
|
47
|
-
>
|
|
48
|
-
{{ headline }}
|
|
49
|
-
</h3>
|
|
50
|
-
<h6
|
|
51
|
-
v-if="subheadline"
|
|
52
|
-
:class="`tile-content-subheadline ${pt?.subheadline ?? ''}`"
|
|
53
|
-
>
|
|
54
|
-
{{ subheadline }}
|
|
55
|
-
</h6>
|
|
56
|
-
|
|
57
|
-
<div
|
|
58
|
-
v-if="description"
|
|
59
|
-
:class="`tile-content-description ${pt?.description ?? ''}`"
|
|
60
|
-
v-html="description"
|
|
61
|
-
></div>
|
|
62
|
-
</div>
|
|
63
|
-
</template>
|
|
64
|
-
|
|
65
|
-
<template v-if="ctas || footer" #footer>
|
|
66
|
-
<p v-if="footer" :class="`${pt?.footerContent ?? ''}`">
|
|
67
|
-
{{ footer }}
|
|
68
|
-
</p>
|
|
69
|
-
<div :class="pt?.ctas ?? ''">
|
|
70
|
-
<CTA
|
|
71
|
-
v-for="(item, index) in ctas"
|
|
72
|
-
:key="`cta-${item.title}-${index}`"
|
|
73
|
-
:class="`cta-${index} ${pt?.cta}`"
|
|
74
|
-
:="item"
|
|
75
|
-
/>
|
|
76
|
-
</div>
|
|
77
|
-
</template>
|
|
78
|
-
</Card>
|
|
79
|
-
</div>
|
|
80
|
-
</template>
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { TileContentTextTile } from './TileContent'
|
|
3
|
-
import { computed } from 'vue'
|
|
4
|
-
import Card from 'primevue/card'
|
|
5
|
-
import {
|
|
6
|
-
combinePassthroughs,
|
|
7
|
-
TileContentTextTilePt,
|
|
8
|
-
} from '../../config/defaultPassthrough'
|
|
9
|
-
|
|
10
|
-
const props = defineProps<TileContentTextTile>()
|
|
11
|
-
const pt = computed(() =>
|
|
12
|
-
combinePassthroughs(TileContentTextTilePt, props.pt ?? {})
|
|
13
|
-
)
|
|
14
|
-
</script>
|
|
15
|
-
|
|
16
|
-
<template>
|
|
17
|
-
<div :class="`tile-content ${pt?.root ?? ''}`">
|
|
18
|
-
<div v-if="cardLabel" :class="`tile-label absolute ${pt?.label}`">
|
|
19
|
-
{{ cardLabel.content }}
|
|
20
|
-
</div>
|
|
21
|
-
<Card
|
|
22
|
-
:class="`${pt?.container ?? ''} tile-content-container shadow-none`"
|
|
23
|
-
:pt:header:class="`tile-content-headline ${pt?.headline ?? ''}`"
|
|
24
|
-
:pt:footer:class="`tile-content-ctas ${pt?.footer ?? ''}`"
|
|
25
|
-
:pt:body:class="pt?.body ?? ''"
|
|
26
|
-
>
|
|
27
|
-
<template v-if="headline" #header>
|
|
28
|
-
{{ headline }}
|
|
29
|
-
</template>
|
|
30
|
-
|
|
31
|
-
<template v-if="description || subheadline" #content>
|
|
32
|
-
<div :class="`flex flex-col tile-content-inner ${pt?.content ?? ''}`">
|
|
33
|
-
<h6
|
|
34
|
-
v-if="subheadline"
|
|
35
|
-
:class="`tile-content-subheadline ${pt?.subheadline ?? ''}`"
|
|
36
|
-
>
|
|
37
|
-
{{ subheadline }}
|
|
38
|
-
</h6>
|
|
39
|
-
|
|
40
|
-
<div
|
|
41
|
-
v-if="description"
|
|
42
|
-
:class="`tile-content-description ${pt?.description ?? ''}`"
|
|
43
|
-
v-html="description"
|
|
44
|
-
></div>
|
|
45
|
-
</div>
|
|
46
|
-
</template>
|
|
47
|
-
|
|
48
|
-
<template v-if="ctas || footer" #footer>
|
|
49
|
-
<p v-if="footer" :class="`${pt?.footerContent ?? ''}`">
|
|
50
|
-
{{ footer }}
|
|
51
|
-
</p>
|
|
52
|
-
<div :class="pt?.ctas ?? ''">
|
|
53
|
-
<CTA
|
|
54
|
-
v-for="(item, index) in ctas"
|
|
55
|
-
:key="`cta-${item.title}-${index}`"
|
|
56
|
-
:class="`cta-${index} ${pt?.cta}`"
|
|
57
|
-
:="item"
|
|
58
|
-
/>
|
|
59
|
-
</div>
|
|
60
|
-
</template>
|
|
61
|
-
</Card>
|
|
62
|
-
</div>
|
|
63
|
-
</template>
|