@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.
Files changed (139) hide show
  1. package/README.md +11 -0
  2. package/package.json +85 -0
  3. package/src/assets/main.css +155 -0
  4. package/src/assets/theme.css +67 -0
  5. package/src/assets/usercard.jpg +0 -0
  6. package/src/assets/vue.svg +1 -0
  7. package/src/components/Accordion.vue +33 -0
  8. package/src/components/AccordionItem.vue +53 -0
  9. package/src/components/CTA.vue +39 -0
  10. package/src/components/CarouselModule.vue +46 -0
  11. package/src/components/ContainerCollectionModule.vue +33 -0
  12. package/src/components/ContainerModule.vue +116 -0
  13. package/src/components/ContentAndImage.vue +34 -0
  14. package/src/components/ContentMediaModule.vue +50 -0
  15. package/src/components/ContentModule.vue +51 -0
  16. package/src/components/FooterNavigation.vue +57 -0
  17. package/src/components/IconChevron.vue +107 -0
  18. package/src/components/Image.vue +15 -0
  19. package/src/components/LogoCollectionModule.vue +30 -0
  20. package/src/components/LogoContainerModule.vue +30 -0
  21. package/src/components/NavigationElement.vue +92 -0
  22. package/src/components/PrimaryNavigation.vue +68 -0
  23. package/src/components/SplitModule.vue +42 -0
  24. package/src/components/Testimonial.vue +48 -0
  25. package/src/components/TestimonialModule.vue +48 -0
  26. package/src/components/TileCollection.vue +37 -0
  27. package/src/components/TileCollectionModule.vue +45 -0
  28. package/src/components/TileContent.vue +105 -0
  29. package/src/components/Video.vue +18 -0
  30. package/src/components/types/Accordion.ts +18 -0
  31. package/src/components/types/AccordionItem.ts +19 -0
  32. package/src/components/types/CTA.ts +13 -0
  33. package/src/components/types/CarouselModule.ts +21 -0
  34. package/src/components/types/ContainerCollectionModule.ts +12 -0
  35. package/src/components/types/ContainerModule.ts +35 -0
  36. package/src/components/types/ContentAndImage.ts +14 -0
  37. package/src/components/types/ContentMediaModule.ts +14 -0
  38. package/src/components/types/ContentModule.ts +21 -0
  39. package/src/components/types/FooterNavigation.ts +12 -0
  40. package/src/components/types/Image.ts +12 -0
  41. package/src/components/types/LogoCollectionModule.ts +12 -0
  42. package/src/components/types/LogoContainerModule.ts +12 -0
  43. package/src/components/types/NavigationElement.ts +19 -0
  44. package/src/components/types/PrimaryNavigation.ts +10 -0
  45. package/src/components/types/SplitModule.ts +16 -0
  46. package/src/components/types/Testimonial.ts +17 -0
  47. package/src/components/types/TileCollection.ts +14 -0
  48. package/src/components/types/TileContent.ts +34 -0
  49. package/src/components/types/Video.ts +8 -0
  50. package/src/components/types/index.ts +10 -0
  51. package/src/presets/aura/accordion/index.js +81 -0
  52. package/src/presets/aura/autocomplete/index.js +280 -0
  53. package/src/presets/aura/avatar/index.js +46 -0
  54. package/src/presets/aura/badge/index.js +43 -0
  55. package/src/presets/aura/badgedirective/index.js +49 -0
  56. package/src/presets/aura/blockui/index.js +8 -0
  57. package/src/presets/aura/breadcrumb/index.js +63 -0
  58. package/src/presets/aura/button/index.js +511 -0
  59. package/src/presets/aura/calendar/index.js +702 -0
  60. package/src/presets/aura/card/index.js +53 -0
  61. package/src/presets/aura/carousel/index.js +160 -0
  62. package/src/presets/aura/cascadeselect/index.js +220 -0
  63. package/src/presets/aura/checkbox/index.js +107 -0
  64. package/src/presets/aura/chip/index.js +45 -0
  65. package/src/presets/aura/chips/index.js +126 -0
  66. package/src/presets/aura/colorpicker/index.js +132 -0
  67. package/src/presets/aura/confirmpopup/index.js +111 -0
  68. package/src/presets/aura/contextmenu/index.js +132 -0
  69. package/src/presets/aura/datatable/index.js +1290 -0
  70. package/src/presets/aura/dataview/index.js +40 -0
  71. package/src/presets/aura/deferred/index.js +3 -0
  72. package/src/presets/aura/dialog/index.js +250 -0
  73. package/src/presets/aura/divider/index.js +72 -0
  74. package/src/presets/aura/dock/index.js +97 -0
  75. package/src/presets/aura/dropdown/index.js +297 -0
  76. package/src/presets/aura/fieldset/index.js +95 -0
  77. package/src/presets/aura/fileupload/index.js +175 -0
  78. package/src/presets/aura/floatlabel/index.js +26 -0
  79. package/src/presets/aura/galleria/index.js +353 -0
  80. package/src/presets/aura/global.js +90 -0
  81. package/src/presets/aura/iconfield/index.js +22 -0
  82. package/src/presets/aura/image/index.js +206 -0
  83. package/src/presets/aura/index.js +181 -0
  84. package/src/presets/aura/inlinemessage/index.js +46 -0
  85. package/src/presets/aura/inplace/index.js +27 -0
  86. package/src/presets/aura/inputgroup/index.js +5 -0
  87. package/src/presets/aura/inputgroupaddon/index.js +28 -0
  88. package/src/presets/aura/inputmask/index.js +47 -0
  89. package/src/presets/aura/inputnumber/index.js +293 -0
  90. package/src/presets/aura/inputotp/index.js +69 -0
  91. package/src/presets/aura/inputswitch/index.js +94 -0
  92. package/src/presets/aura/inputtext/index.js +63 -0
  93. package/src/presets/aura/knob/index.js +47 -0
  94. package/src/presets/aura/listbox/index.js +158 -0
  95. package/src/presets/aura/megamenu/index.js +206 -0
  96. package/src/presets/aura/menu/index.js +122 -0
  97. package/src/presets/aura/menubar/index.js +184 -0
  98. package/src/presets/aura/message/index.js +112 -0
  99. package/src/presets/aura/metergroup/index.js +110 -0
  100. package/src/presets/aura/multiselect/index.js +579 -0
  101. package/src/presets/aura/orderlist/index.js +281 -0
  102. package/src/presets/aura/organizationchart/index.js +142 -0
  103. package/src/presets/aura/overlaypanel/index.js +34 -0
  104. package/src/presets/aura/paginator/index.js +566 -0
  105. package/src/presets/aura/panel/index.js +102 -0
  106. package/src/presets/aura/panelmenu/index.js +130 -0
  107. package/src/presets/aura/password/index.js +143 -0
  108. package/src/presets/aura/picklist/index.js +718 -0
  109. package/src/presets/aura/progressbar/index.js +64 -0
  110. package/src/presets/aura/progressspinner/index.js +51 -0
  111. package/src/presets/aura/radiobutton/index.js +121 -0
  112. package/src/presets/aura/rating/index.js +95 -0
  113. package/src/presets/aura/ripple/index.js +6 -0
  114. package/src/presets/aura/scrollpanel/index.js +77 -0
  115. package/src/presets/aura/scrolltop/index.js +45 -0
  116. package/src/presets/aura/selectbutton/index.js +66 -0
  117. package/src/presets/aura/sidebar/index.js +160 -0
  118. package/src/presets/aura/skeleton/index.js +19 -0
  119. package/src/presets/aura/slider/index.js +144 -0
  120. package/src/presets/aura/speeddial/index.js +579 -0
  121. package/src/presets/aura/splitbutton/index.js +1185 -0
  122. package/src/presets/aura/splitter/index.js +71 -0
  123. package/src/presets/aura/stepper/index.js +183 -0
  124. package/src/presets/aura/steps/index.js +117 -0
  125. package/src/presets/aura/tabmenu/index.js +75 -0
  126. package/src/presets/aura/tabview/index.js +162 -0
  127. package/src/presets/aura/tag/index.js +44 -0
  128. package/src/presets/aura/terminal/index.js +60 -0
  129. package/src/presets/aura/textarea/index.js +49 -0
  130. package/src/presets/aura/tieredmenu/index.js +125 -0
  131. package/src/presets/aura/timeline/index.js +114 -0
  132. package/src/presets/aura/toast/index.js +151 -0
  133. package/src/presets/aura/togglebutton/index.js +98 -0
  134. package/src/presets/aura/toolbar/index.js +28 -0
  135. package/src/presets/aura/tooltip/index.js +73 -0
  136. package/src/presets/aura/tree/index.js +294 -0
  137. package/src/presets/aura/treeselect/index.js +404 -0
  138. package/src/presets/aura/treetable/index.js +513 -0
  139. 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
+ export interface ImageMedia {
2
+ src: string
3
+ height?: string | number
4
+ width?: string | number
5
+ }
6
+
7
+ export interface Image {
8
+ __typename?: 'Image'
9
+ entryTitle?: string
10
+ media: ImageMedia
11
+ altTag?: string
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,10 @@
1
+ import { Image } from './Image'
2
+ import { NavigationElement } from './NavigationElement'
3
+
4
+ export interface PrimaryNavigation {
5
+ title?: string
6
+ logo?: Image
7
+ textColor?: string
8
+ backgroundColor?: string
9
+ navigation?: NavigationElement[]
10
+ }
@@ -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,8 @@
1
+ import { ImageMedia } from './Image'
2
+
3
+ export interface Video {
4
+ __typename?: 'Video'
5
+ media: ImageMedia
6
+ altTag?: string
7
+ isEmbedded?: boolean
8
+ }
@@ -0,0 +1,10 @@
1
+ export interface ClassOverrides {
2
+ headline?: string
3
+ subheadline?: string
4
+ content?: string
5
+ description?: string
6
+ start?: string
7
+ center?: string
8
+ end?: string
9
+ container?: string
10
+ }
@@ -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
+ }