@cooperco/cooper-component-library 0.0.10
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/README.md +11 -0
- package/package.json +85 -0
- package/src/assets/main.css +155 -0
- package/src/assets/theme.css +67 -0
- package/src/assets/usercard.jpg +0 -0
- package/src/assets/vue.svg +1 -0
- package/src/components/Accordion.vue +33 -0
- package/src/components/AccordionItem.vue +53 -0
- package/src/components/CTA.vue +39 -0
- package/src/components/CarouselModule.vue +46 -0
- package/src/components/ContainerCollectionModule.vue +33 -0
- package/src/components/ContainerModule.vue +116 -0
- package/src/components/ContentAndImage.vue +34 -0
- package/src/components/ContentMediaModule.vue +50 -0
- package/src/components/ContentModule.vue +51 -0
- package/src/components/FooterNavigation.vue +57 -0
- package/src/components/IconChevron.vue +107 -0
- package/src/components/Image.vue +15 -0
- package/src/components/LogoCollectionModule.vue +30 -0
- package/src/components/LogoContainerModule.vue +30 -0
- package/src/components/NavigationElement.vue +92 -0
- package/src/components/PrimaryNavigation.vue +68 -0
- package/src/components/SplitModule.vue +42 -0
- package/src/components/Testimonial.vue +48 -0
- package/src/components/TestimonialModule.vue +48 -0
- package/src/components/TileCollection.vue +37 -0
- package/src/components/TileCollectionModule.vue +45 -0
- package/src/components/TileContent.vue +105 -0
- package/src/components/Video.vue +18 -0
- package/src/components/types/Accordion.ts +18 -0
- package/src/components/types/AccordionItem.ts +19 -0
- package/src/components/types/CTA.ts +13 -0
- package/src/components/types/CarouselModule.ts +21 -0
- package/src/components/types/ContainerCollectionModule.ts +12 -0
- package/src/components/types/ContainerModule.ts +35 -0
- package/src/components/types/ContentAndImage.ts +14 -0
- package/src/components/types/ContentMediaModule.ts +14 -0
- package/src/components/types/ContentModule.ts +21 -0
- package/src/components/types/FooterNavigation.ts +12 -0
- package/src/components/types/Image.ts +12 -0
- package/src/components/types/LogoCollectionModule.ts +12 -0
- package/src/components/types/LogoContainerModule.ts +12 -0
- package/src/components/types/NavigationElement.ts +19 -0
- package/src/components/types/PrimaryNavigation.ts +10 -0
- package/src/components/types/SplitModule.ts +16 -0
- package/src/components/types/Testimonial.ts +17 -0
- package/src/components/types/TileCollection.ts +14 -0
- package/src/components/types/TileContent.ts +34 -0
- package/src/components/types/Video.ts +8 -0
- package/src/components/types/index.ts +10 -0
- package/src/presets/aura/accordion/index.js +81 -0
- package/src/presets/aura/autocomplete/index.js +280 -0
- package/src/presets/aura/avatar/index.js +46 -0
- package/src/presets/aura/badge/index.js +43 -0
- package/src/presets/aura/badgedirective/index.js +49 -0
- package/src/presets/aura/blockui/index.js +8 -0
- package/src/presets/aura/breadcrumb/index.js +63 -0
- package/src/presets/aura/button/index.js +511 -0
- package/src/presets/aura/calendar/index.js +702 -0
- package/src/presets/aura/card/index.js +53 -0
- package/src/presets/aura/carousel/index.js +160 -0
- package/src/presets/aura/cascadeselect/index.js +220 -0
- package/src/presets/aura/checkbox/index.js +107 -0
- package/src/presets/aura/chip/index.js +45 -0
- package/src/presets/aura/chips/index.js +126 -0
- package/src/presets/aura/colorpicker/index.js +132 -0
- package/src/presets/aura/confirmpopup/index.js +111 -0
- package/src/presets/aura/contextmenu/index.js +132 -0
- package/src/presets/aura/datatable/index.js +1290 -0
- package/src/presets/aura/dataview/index.js +40 -0
- package/src/presets/aura/deferred/index.js +3 -0
- package/src/presets/aura/dialog/index.js +250 -0
- package/src/presets/aura/divider/index.js +72 -0
- package/src/presets/aura/dock/index.js +97 -0
- package/src/presets/aura/dropdown/index.js +297 -0
- package/src/presets/aura/fieldset/index.js +95 -0
- package/src/presets/aura/fileupload/index.js +175 -0
- package/src/presets/aura/floatlabel/index.js +26 -0
- package/src/presets/aura/galleria/index.js +353 -0
- package/src/presets/aura/global.js +90 -0
- package/src/presets/aura/iconfield/index.js +22 -0
- package/src/presets/aura/image/index.js +206 -0
- package/src/presets/aura/index.js +181 -0
- package/src/presets/aura/inlinemessage/index.js +46 -0
- package/src/presets/aura/inplace/index.js +27 -0
- package/src/presets/aura/inputgroup/index.js +5 -0
- package/src/presets/aura/inputgroupaddon/index.js +28 -0
- package/src/presets/aura/inputmask/index.js +47 -0
- package/src/presets/aura/inputnumber/index.js +293 -0
- package/src/presets/aura/inputotp/index.js +69 -0
- package/src/presets/aura/inputswitch/index.js +94 -0
- package/src/presets/aura/inputtext/index.js +63 -0
- package/src/presets/aura/knob/index.js +47 -0
- package/src/presets/aura/listbox/index.js +158 -0
- package/src/presets/aura/megamenu/index.js +206 -0
- package/src/presets/aura/menu/index.js +122 -0
- package/src/presets/aura/menubar/index.js +184 -0
- package/src/presets/aura/message/index.js +112 -0
- package/src/presets/aura/metergroup/index.js +110 -0
- package/src/presets/aura/multiselect/index.js +579 -0
- package/src/presets/aura/orderlist/index.js +281 -0
- package/src/presets/aura/organizationchart/index.js +142 -0
- package/src/presets/aura/overlaypanel/index.js +34 -0
- package/src/presets/aura/paginator/index.js +566 -0
- package/src/presets/aura/panel/index.js +102 -0
- package/src/presets/aura/panelmenu/index.js +130 -0
- package/src/presets/aura/password/index.js +143 -0
- package/src/presets/aura/picklist/index.js +718 -0
- package/src/presets/aura/progressbar/index.js +64 -0
- package/src/presets/aura/progressspinner/index.js +51 -0
- package/src/presets/aura/radiobutton/index.js +121 -0
- package/src/presets/aura/rating/index.js +95 -0
- package/src/presets/aura/ripple/index.js +6 -0
- package/src/presets/aura/scrollpanel/index.js +77 -0
- package/src/presets/aura/scrolltop/index.js +45 -0
- package/src/presets/aura/selectbutton/index.js +66 -0
- package/src/presets/aura/sidebar/index.js +160 -0
- package/src/presets/aura/skeleton/index.js +19 -0
- package/src/presets/aura/slider/index.js +144 -0
- package/src/presets/aura/speeddial/index.js +579 -0
- package/src/presets/aura/splitbutton/index.js +1185 -0
- package/src/presets/aura/splitter/index.js +71 -0
- package/src/presets/aura/stepper/index.js +183 -0
- package/src/presets/aura/steps/index.js +117 -0
- package/src/presets/aura/tabmenu/index.js +75 -0
- package/src/presets/aura/tabview/index.js +162 -0
- package/src/presets/aura/tag/index.js +44 -0
- package/src/presets/aura/terminal/index.js +60 -0
- package/src/presets/aura/textarea/index.js +49 -0
- package/src/presets/aura/tieredmenu/index.js +125 -0
- package/src/presets/aura/timeline/index.js +114 -0
- package/src/presets/aura/toast/index.js +151 -0
- package/src/presets/aura/togglebutton/index.js +98 -0
- package/src/presets/aura/toolbar/index.js +28 -0
- package/src/presets/aura/tooltip/index.js +73 -0
- package/src/presets/aura/tree/index.js +294 -0
- package/src/presets/aura/treeselect/index.js +404 -0
- package/src/presets/aura/treetable/index.js +513 -0
- package/src/presets/aura/tristatecheckbox/index.js +121 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { TileCollection } from './types/TileCollection'
|
|
3
|
+
import TileContent from './TileContent.vue'
|
|
4
|
+
import { computed } from 'vue'
|
|
5
|
+
|
|
6
|
+
const props = defineProps<TileCollection>()
|
|
7
|
+
|
|
8
|
+
const computedStyle = computed(() => {
|
|
9
|
+
return {
|
|
10
|
+
'background-color': props.backgroundColor ?? 'transparent',
|
|
11
|
+
color: props.textColor ?? 'inherit',
|
|
12
|
+
}
|
|
13
|
+
})
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<template>
|
|
17
|
+
<section :class="`tile-collection ${variant}`" :style="computedStyle">
|
|
18
|
+
<div :class="`container mx-auto ${pt?.container ?? ''}`">
|
|
19
|
+
<h2
|
|
20
|
+
v-if="headline"
|
|
21
|
+
:class="`tile-collection-headline ${pt?.headline ?? ''}`"
|
|
22
|
+
>
|
|
23
|
+
{{ headline }}
|
|
24
|
+
</h2>
|
|
25
|
+
<h3
|
|
26
|
+
v-if="description"
|
|
27
|
+
:class="`tile-collection-description ${pt?.description ?? ''}`"
|
|
28
|
+
>
|
|
29
|
+
{{ description }}
|
|
30
|
+
</h3>
|
|
31
|
+
<ul
|
|
32
|
+
v-if="modules"
|
|
33
|
+
:class="`tile-collection-content flex flex-col md:flex-row justify-center gap-3 ${pt?.content ?? ''}`"
|
|
34
|
+
>
|
|
35
|
+
<TileContent
|
|
36
|
+
v-for="(item, index) in modules"
|
|
37
|
+
:class="`tile-collection-content-item-${index}`"
|
|
38
|
+
:isImageStacked="variant === 'ImageStackedAnimated'"
|
|
39
|
+
:="item"
|
|
40
|
+
/>
|
|
41
|
+
</ul>
|
|
42
|
+
<!-- TODO: need to add the CTA -->
|
|
43
|
+
</div>
|
|
44
|
+
</section>
|
|
45
|
+
</template>
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { TileContent } from './types/TileContent'
|
|
3
|
+
import { computed } from 'vue'
|
|
4
|
+
import Card from 'primevue/card'
|
|
5
|
+
import ImageComponent from './Image.vue'
|
|
6
|
+
import VideoComponent from './Video.vue'
|
|
7
|
+
|
|
8
|
+
const props = defineProps<TileContent>()
|
|
9
|
+
|
|
10
|
+
const computedStyle = computed(() => {
|
|
11
|
+
return {
|
|
12
|
+
'background-color': props.backgroundColor ?? 'transparent',
|
|
13
|
+
color: props?.textColor ?? 'inherit',
|
|
14
|
+
textAlign: props.alignment ?? 'center',
|
|
15
|
+
}
|
|
16
|
+
})
|
|
17
|
+
|
|
18
|
+
const computedCardLabelStyle = computed(() => {
|
|
19
|
+
return {
|
|
20
|
+
'background-color': props?.cardLabel?.backgroundColor ?? 'transparent',
|
|
21
|
+
color: props?.cardLabel?.textColor ?? 'inherit',
|
|
22
|
+
}
|
|
23
|
+
})
|
|
24
|
+
</script>
|
|
25
|
+
|
|
26
|
+
<template>
|
|
27
|
+
<div
|
|
28
|
+
class="tile-content relative text-center list-none p-5 flex-auto rounded overflow-visible mx-auto shadow-none"
|
|
29
|
+
:style="computedStyle"
|
|
30
|
+
>
|
|
31
|
+
<div
|
|
32
|
+
v-if="cardLabel && !isImageStacked"
|
|
33
|
+
:style="computedCardLabelStyle"
|
|
34
|
+
:class="`tile-label absolute ${pt?.label}`"
|
|
35
|
+
>
|
|
36
|
+
{{ cardLabel.content }}
|
|
37
|
+
</div>
|
|
38
|
+
<Card
|
|
39
|
+
:class="`${pt?.container ?? ''} tile-content-container shadow-none`"
|
|
40
|
+
:style="computedStyle"
|
|
41
|
+
:pt:footer:class="`tile-content-ctas ${pt?.ctas ?? ''}`"
|
|
42
|
+
:pt:body:class="pt?.body ?? ''"
|
|
43
|
+
>
|
|
44
|
+
<template #content v-if="description || listItems">
|
|
45
|
+
<div :class="`flex flex-col tile-content-inner ${pt?.content ?? ''}`">
|
|
46
|
+
<div v-if="isImageStacked" class="tile-content-text">
|
|
47
|
+
<h3
|
|
48
|
+
v-if="headline"
|
|
49
|
+
:class="`tile-content-headline ${pt?.headline ?? ''}`"
|
|
50
|
+
>
|
|
51
|
+
{{ headline }}
|
|
52
|
+
</h3>
|
|
53
|
+
<p :class="`tile-content-description ${pt?.description ?? ''}`">
|
|
54
|
+
{{ description }}
|
|
55
|
+
</p>
|
|
56
|
+
</div>
|
|
57
|
+
<h3
|
|
58
|
+
v-if="!isImageStacked && headline"
|
|
59
|
+
:class="`tile-content-headline ${pt?.headline ?? ''}`"
|
|
60
|
+
>
|
|
61
|
+
{{ headline }}
|
|
62
|
+
</h3>
|
|
63
|
+
<h6
|
|
64
|
+
v-if="subheadline && !isImageStacked"
|
|
65
|
+
:class="`tile-content-subheadline ${pt?.subheadline ?? ''}`"
|
|
66
|
+
>
|
|
67
|
+
{{ subheadline }}
|
|
68
|
+
</h6>
|
|
69
|
+
<div
|
|
70
|
+
v-if="Video || Image"
|
|
71
|
+
:class="`tile-content-media ${pt?.media ?? ''}`"
|
|
72
|
+
>
|
|
73
|
+
<div
|
|
74
|
+
v-if="isImageStacked && cardLabel"
|
|
75
|
+
:style="computedCardLabelStyle"
|
|
76
|
+
:class="`tile-label absolute ${pt?.label}`"
|
|
77
|
+
>
|
|
78
|
+
{{ cardLabel.content }}
|
|
79
|
+
</div>
|
|
80
|
+
<div class="tile-content-media-background"></div>
|
|
81
|
+
<ImageComponent v-if="Image" v-bind="Image" />
|
|
82
|
+
<VideoComponent v-if="Video" v-bind="Video" />
|
|
83
|
+
</div>
|
|
84
|
+
<p
|
|
85
|
+
:class="`tile-content-description ${pt?.description ?? ''}`"
|
|
86
|
+
v-if="!isImageStacked"
|
|
87
|
+
>
|
|
88
|
+
{{ description }}
|
|
89
|
+
</p>
|
|
90
|
+
</div>
|
|
91
|
+
</template>
|
|
92
|
+
|
|
93
|
+
<template v-if="CTAs" #footer>
|
|
94
|
+
<p v-if="price" :class="`${pt?.price ?? ''}`">
|
|
95
|
+
{{ price }}
|
|
96
|
+
</p>
|
|
97
|
+
<CTA
|
|
98
|
+
v-for="(item, index) in CTAs"
|
|
99
|
+
:class="`cta-${index} ${pt?.cta}`"
|
|
100
|
+
:="item"
|
|
101
|
+
/>
|
|
102
|
+
</template>
|
|
103
|
+
</Card>
|
|
104
|
+
</div>
|
|
105
|
+
</template>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { Video } from './types/Video'
|
|
3
|
+
|
|
4
|
+
withDefaults(defineProps<Video>(), { isEmbedded: false })
|
|
5
|
+
</script>
|
|
6
|
+
|
|
7
|
+
<template>
|
|
8
|
+
<iframe
|
|
9
|
+
v-if="isEmbedded"
|
|
10
|
+
:src="media.src"
|
|
11
|
+
:height="media.height"
|
|
12
|
+
:width="media.width"
|
|
13
|
+
>
|
|
14
|
+
</iframe>
|
|
15
|
+
<video v-else :alt="altTag" :height="media.height" :width="media.width">
|
|
16
|
+
<source :src="media.src" />
|
|
17
|
+
</video>
|
|
18
|
+
</template>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ClassOverrides } from '.'
|
|
2
|
+
import { AccordionItem } from './AccordionItem'
|
|
3
|
+
import { Image } from './Image'
|
|
4
|
+
import { CTA } from './CTA'
|
|
5
|
+
|
|
6
|
+
interface AccordionModuleOverrides extends ClassOverrides {
|
|
7
|
+
imageIcon?: string
|
|
8
|
+
}
|
|
9
|
+
export interface Accordion {
|
|
10
|
+
__typename?: 'Accordion'
|
|
11
|
+
modules: AccordionItem[]
|
|
12
|
+
headline?: string
|
|
13
|
+
// types only used in code, based on placement from contentful
|
|
14
|
+
isChild?: boolean
|
|
15
|
+
type?: 'List' | 'Tile'
|
|
16
|
+
pt?: AccordionModuleOverrides
|
|
17
|
+
imageIcon?: Image
|
|
18
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ClassOverrides } from '.'
|
|
2
|
+
import { Image } from './Image'
|
|
3
|
+
|
|
4
|
+
interface AccordionItemOverrides extends ClassOverrides {
|
|
5
|
+
icon?: string
|
|
6
|
+
button?: string
|
|
7
|
+
imageIcon?: string
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface AccordionItem {
|
|
11
|
+
__typename?: 'AccordionItem'
|
|
12
|
+
itemNumber?: number
|
|
13
|
+
title?: string
|
|
14
|
+
content?: string
|
|
15
|
+
pt?: AccordionItemOverrides
|
|
16
|
+
isFirst?: boolean
|
|
17
|
+
isLast?: boolean
|
|
18
|
+
imageIcon?: Image
|
|
19
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { URLRef } from '../../types'
|
|
2
|
+
|
|
3
|
+
export interface CTA {
|
|
4
|
+
__typename?: 'CTA'
|
|
5
|
+
title: string
|
|
6
|
+
url: URLRef
|
|
7
|
+
color: string
|
|
8
|
+
textColor: string
|
|
9
|
+
buttonType: 'fill' | 'outline' | 'link'
|
|
10
|
+
ariaLabel: string
|
|
11
|
+
anchor?: string
|
|
12
|
+
target?: string
|
|
13
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ClassOverrides } from '.'
|
|
2
|
+
import { ContainerModule } from './ContainerModule'
|
|
3
|
+
import { ContentMediaModule } from './ContentMediaModule'
|
|
4
|
+
import { Testimonial } from './Testimonial'
|
|
5
|
+
import { TileContent } from './TileContent'
|
|
6
|
+
|
|
7
|
+
interface CarouselPassthrough extends ClassOverrides {
|
|
8
|
+
item?: string
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
// Carousel
|
|
12
|
+
export interface Carousel {
|
|
13
|
+
__typename?: 'CarouselModule'
|
|
14
|
+
headline: string
|
|
15
|
+
modules: (ContentMediaModule | Testimonial | TileContent | ContainerModule)[]
|
|
16
|
+
textColor?: string
|
|
17
|
+
backgroundColor?: string
|
|
18
|
+
backgroundImage?: string
|
|
19
|
+
pt?: CarouselPassthrough
|
|
20
|
+
variant?: 'Hero' | 'Default'
|
|
21
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ClassOverrides } from '.'
|
|
2
|
+
import { ContainerModule } from './ContainerModule'
|
|
3
|
+
import { SplitModule } from './SplitModule'
|
|
4
|
+
|
|
5
|
+
export interface ContainerCollectionModule {
|
|
6
|
+
__typename?: 'ContainerCollection'
|
|
7
|
+
entryTitle?: string
|
|
8
|
+
headline: string
|
|
9
|
+
modules: Array<ContainerModule | SplitModule>
|
|
10
|
+
backgroundColor?: string
|
|
11
|
+
pt?: ClassOverrides
|
|
12
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Video } from '../../types'
|
|
2
|
+
import { Image } from './Image'
|
|
3
|
+
import { Accordion } from './Accordion'
|
|
4
|
+
import { ContentModule } from './ContentModule'
|
|
5
|
+
import { Testimonial } from './Testimonial'
|
|
6
|
+
import { TileCollection } from './TileCollection'
|
|
7
|
+
import { TileContent } from './TileContent'
|
|
8
|
+
import { ClassOverrides } from '.'
|
|
9
|
+
|
|
10
|
+
interface ContainerClassOverrides extends ClassOverrides {
|
|
11
|
+
inner?: string
|
|
12
|
+
fullWidthContent?: string
|
|
13
|
+
}
|
|
14
|
+
export interface ContainerModule {
|
|
15
|
+
__typename?: 'ContainerModule'
|
|
16
|
+
headline: string
|
|
17
|
+
subHeadline?: string
|
|
18
|
+
fullWidthContent?:
|
|
19
|
+
| Image
|
|
20
|
+
| Video
|
|
21
|
+
| ContentModule
|
|
22
|
+
| ContainerModule
|
|
23
|
+
| TileCollection
|
|
24
|
+
| TileContent
|
|
25
|
+
| Accordion
|
|
26
|
+
start?: Image | Video | ContentModule | TileContent | Accordion | Testimonial
|
|
27
|
+
end?: Image | Video | ContentModule | TileContent | Accordion | Testimonial
|
|
28
|
+
textColor?: string
|
|
29
|
+
backgroundColor?: string
|
|
30
|
+
backgroundImage?: string
|
|
31
|
+
variant?: 'Centered' | 'Hero'
|
|
32
|
+
// types only used in code, based on placement from contentful
|
|
33
|
+
isChild?: boolean
|
|
34
|
+
pt?: ContainerClassOverrides
|
|
35
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Image } from '../../types'
|
|
2
|
+
import { ContentModule } from './ContentModule'
|
|
3
|
+
|
|
4
|
+
export interface ContentAndImage {
|
|
5
|
+
__typename?: 'ContentAndImage'
|
|
6
|
+
headline: string
|
|
7
|
+
fullWidthContent?: boolean
|
|
8
|
+
content: ContentModule
|
|
9
|
+
image?: Image
|
|
10
|
+
textColor?: string
|
|
11
|
+
backgroundColor?: string
|
|
12
|
+
// types only used in code, based on placement from contentful
|
|
13
|
+
isChild: boolean
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Image } from '../../types'
|
|
2
|
+
import { ContentModule } from './ContentModule'
|
|
3
|
+
|
|
4
|
+
export interface ContentMediaModule {
|
|
5
|
+
__typename?: 'ContentMediaModule'
|
|
6
|
+
fullWidthContent?: boolean
|
|
7
|
+
content: ContentModule
|
|
8
|
+
media?: Image
|
|
9
|
+
textColor?: string
|
|
10
|
+
backgroundColor?: string
|
|
11
|
+
variant: 'VideoLeft' | 'Hero'
|
|
12
|
+
// types only used in code, based on placement from contentful
|
|
13
|
+
isChild: boolean
|
|
14
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ClassOverrides } from '.'
|
|
2
|
+
import { CTA } from './CTA'
|
|
3
|
+
import { Image } from './Image'
|
|
4
|
+
|
|
5
|
+
interface ContentModuleOverrides extends ClassOverrides {
|
|
6
|
+
container?: string
|
|
7
|
+
ctas?: string
|
|
8
|
+
logo?: string
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface ContentModule {
|
|
12
|
+
__typename?: 'ContentModule'
|
|
13
|
+
headline?: string
|
|
14
|
+
subHeadline?: string
|
|
15
|
+
description?: string
|
|
16
|
+
CTAs?: CTA[]
|
|
17
|
+
textColor?: string
|
|
18
|
+
backgroundColor?: string
|
|
19
|
+
pt?: ContentModuleOverrides
|
|
20
|
+
logo?: Image
|
|
21
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Image, socialMedia } from '../../types'
|
|
2
|
+
import { NavigationElement } from './NavigationElement'
|
|
3
|
+
|
|
4
|
+
export interface FooterNavigation {
|
|
5
|
+
title?: string
|
|
6
|
+
logo?: Image
|
|
7
|
+
legalText?: string
|
|
8
|
+
textColor?: string
|
|
9
|
+
backgroundColor?: string
|
|
10
|
+
navigation?: NavigationElement[]
|
|
11
|
+
socialMediaRef?: socialMedia[]
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ClassOverrides } from '.'
|
|
2
|
+
import { Image } from './Image'
|
|
3
|
+
|
|
4
|
+
// Logos
|
|
5
|
+
export interface LogoCollectionModule {
|
|
6
|
+
__typename?: 'LogoCollectionModule'
|
|
7
|
+
headline: string
|
|
8
|
+
modules: Image[]
|
|
9
|
+
textColor?: string
|
|
10
|
+
backgroundColor?: string
|
|
11
|
+
pt?: ClassOverrides
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ClassOverrides } from '.'
|
|
2
|
+
import { Image } from './Image'
|
|
3
|
+
|
|
4
|
+
// Logos
|
|
5
|
+
export interface LogoContainerModule {
|
|
6
|
+
__typename?: 'LogoContainerModule'
|
|
7
|
+
headline: string
|
|
8
|
+
modules: Image[]
|
|
9
|
+
textColor?: string
|
|
10
|
+
backgroundColor?: string
|
|
11
|
+
pt?: ClassOverrides
|
|
12
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ClassOverrides } from '.'
|
|
2
|
+
import { URLRef } from '../../types'
|
|
3
|
+
|
|
4
|
+
export interface NavigationElement {
|
|
5
|
+
elementType?: 'header' | 'footer'
|
|
6
|
+
title?: string
|
|
7
|
+
linkRef?: URLRef
|
|
8
|
+
htmlRef?: string
|
|
9
|
+
subNavigation?: NavigationElement[]
|
|
10
|
+
// types only used in code, based on placement from contentful
|
|
11
|
+
isChild?: boolean
|
|
12
|
+
pt?: ClassOverrides
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// Navigation
|
|
16
|
+
export enum NavigationElementType {
|
|
17
|
+
'header' = 0,
|
|
18
|
+
'footer' = 1,
|
|
19
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Image } from './Image'
|
|
2
|
+
import { ContentModule } from './ContentModule'
|
|
3
|
+
import { Video } from './Video'
|
|
4
|
+
import { ClassOverrides } from '.'
|
|
5
|
+
|
|
6
|
+
export interface SplitModule {
|
|
7
|
+
__typename?: 'SplitModule'
|
|
8
|
+
entryTitle?: string
|
|
9
|
+
headline: string
|
|
10
|
+
start?: Image | Video | ContentModule
|
|
11
|
+
center?: Image | Video | ContentModule
|
|
12
|
+
end?: Image | Video | ContentModule
|
|
13
|
+
backgroundImage?: Image
|
|
14
|
+
backgroundColor?: string
|
|
15
|
+
pt?: ClassOverrides
|
|
16
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ClassOverrides } from '.'
|
|
2
|
+
import { Image, Video } from '../../types'
|
|
3
|
+
|
|
4
|
+
interface TestimonialPassthrough extends ClassOverrides {
|
|
5
|
+
quote?: string
|
|
6
|
+
media?: string
|
|
7
|
+
text?: string
|
|
8
|
+
}
|
|
9
|
+
export interface Testimonial {
|
|
10
|
+
__typename?: 'Testimonial'
|
|
11
|
+
headline: string
|
|
12
|
+
quote: string
|
|
13
|
+
media?: Video | Image
|
|
14
|
+
textColor?: string
|
|
15
|
+
backgroundColor?: string
|
|
16
|
+
pt?: TestimonialPassthrough
|
|
17
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ClassOverrides } from '.'
|
|
2
|
+
import { TileContent } from './TileContent'
|
|
3
|
+
|
|
4
|
+
export interface TileCollection {
|
|
5
|
+
__typename?: 'TileCollection'
|
|
6
|
+
headline: string
|
|
7
|
+
description?: string
|
|
8
|
+
modules: TileContent[]
|
|
9
|
+
textColor?: string
|
|
10
|
+
backgroundColor?: string
|
|
11
|
+
variant?: 'IconCard' | 'ImageCard' | 'VideoCard' | 'ImageStackedAnimated'
|
|
12
|
+
pt?: ClassOverrides
|
|
13
|
+
description?: string
|
|
14
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ClassOverrides } from '.'
|
|
2
|
+
import { CardLabel, Video } from '../../types'
|
|
3
|
+
import { CTA } from './CTA'
|
|
4
|
+
import { Image } from './Image'
|
|
5
|
+
|
|
6
|
+
interface TileContentOverrides extends ClassOverrides {
|
|
7
|
+
media?: string
|
|
8
|
+
mediaContainer?: string
|
|
9
|
+
ctas?: string
|
|
10
|
+
label?: string
|
|
11
|
+
cta?: string
|
|
12
|
+
body?: string
|
|
13
|
+
list?: string
|
|
14
|
+
listItem?: string
|
|
15
|
+
price?: string
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface TileContent {
|
|
19
|
+
__typename?: 'TileContent'
|
|
20
|
+
Image?: Image
|
|
21
|
+
Video?: Video
|
|
22
|
+
headline: string
|
|
23
|
+
subheadline?: string
|
|
24
|
+
description: string
|
|
25
|
+
CTAs?: CTA[]
|
|
26
|
+
textColor?: string
|
|
27
|
+
backgroundColor?: string
|
|
28
|
+
cardLabel?: CardLabel
|
|
29
|
+
alignment?: 'left' | 'center' | 'right'
|
|
30
|
+
isImageStacked?: boolean
|
|
31
|
+
pt?: TileContentOverrides
|
|
32
|
+
listItems?: string[]
|
|
33
|
+
price?: string
|
|
34
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
accordiontab: {
|
|
3
|
+
root: {
|
|
4
|
+
class: ['mb-0', 'border-b border-surface-200 dark:border-surface-700'],
|
|
5
|
+
},
|
|
6
|
+
header: ({ props }) => ({
|
|
7
|
+
class: [
|
|
8
|
+
// State
|
|
9
|
+
{
|
|
10
|
+
'select-none pointer-events-none cursor-default opacity-60':
|
|
11
|
+
props?.disabled,
|
|
12
|
+
},
|
|
13
|
+
],
|
|
14
|
+
}),
|
|
15
|
+
headerAction: {
|
|
16
|
+
class: [
|
|
17
|
+
//Font
|
|
18
|
+
'font-semibold',
|
|
19
|
+
'leading-none',
|
|
20
|
+
|
|
21
|
+
// Alignments
|
|
22
|
+
'flex justify-between items-center',
|
|
23
|
+
'flex-row-reverse',
|
|
24
|
+
'relative',
|
|
25
|
+
|
|
26
|
+
// Sizing
|
|
27
|
+
'p-[1.125rem]',
|
|
28
|
+
|
|
29
|
+
// Shape
|
|
30
|
+
'rounded-md',
|
|
31
|
+
'border-0',
|
|
32
|
+
|
|
33
|
+
// Color
|
|
34
|
+
'bg-surface-0 dark:bg-surface-900',
|
|
35
|
+
'text-surface-600 dark:text-surface-0/80',
|
|
36
|
+
|
|
37
|
+
// Transition
|
|
38
|
+
'transition duration-200 ease-in-out',
|
|
39
|
+
'transition-shadow duration-200',
|
|
40
|
+
|
|
41
|
+
// States
|
|
42
|
+
'focus:outline-none focus:outline-offset-0 focus-visible:ring-1 focus-visible:ring-primary-400 dark:focus-visible:ring-primary-300', // Focus
|
|
43
|
+
|
|
44
|
+
// Misc
|
|
45
|
+
'cursor-pointer no-underline select-none',
|
|
46
|
+
],
|
|
47
|
+
},
|
|
48
|
+
headerIcon: ({ context }) => ({
|
|
49
|
+
class: [
|
|
50
|
+
'inline-block ml-2',
|
|
51
|
+
{ 'text-surface-900 dark:text-surface-0': context.active },
|
|
52
|
+
],
|
|
53
|
+
}),
|
|
54
|
+
headerTitle: {
|
|
55
|
+
class: 'leading-none',
|
|
56
|
+
},
|
|
57
|
+
content: {
|
|
58
|
+
class: [
|
|
59
|
+
// Spacing
|
|
60
|
+
'p-[1.125rem] pt-0',
|
|
61
|
+
|
|
62
|
+
//Shape
|
|
63
|
+
'border-0 rounded-none',
|
|
64
|
+
|
|
65
|
+
// Color
|
|
66
|
+
'bg-surface-0 dark:bg-surface-900',
|
|
67
|
+
'text-surface-600 dark:text-surface-0/70',
|
|
68
|
+
],
|
|
69
|
+
},
|
|
70
|
+
transition: {
|
|
71
|
+
enterFromClass: 'max-h-0',
|
|
72
|
+
enterActiveClass:
|
|
73
|
+
'overflow-hidden transition-[max-height] duration-1000 ease-[cubic-bezier(0.42,0,0.58,1)]',
|
|
74
|
+
enterToClass: 'max-h-[1000px]',
|
|
75
|
+
leaveFromClass: 'max-h-[1000px]',
|
|
76
|
+
leaveActiveClass:
|
|
77
|
+
'overflow-hidden transition-[max-height] duration-[450ms] ease-[cubic-bezier(0,1,0,1)]',
|
|
78
|
+
leaveToClass: 'max-h-0',
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
}
|