@iqual/nuxt-icms 1.3.1 → 1.4.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/assets/symbols/chevron-right.svg +1 -1
- package/components/Blokkli/HeroImage/index.vue +1 -1
- package/components/Blokkli/Teasers/icon.svg +3 -3
- package/components/DesignSystem/Atoms/Button.vue +86 -36
- package/components/DesignSystem/Atoms/Caption.vue +10 -10
- package/components/DesignSystem/Atoms/Container.vue +10 -6
- package/components/DesignSystem/Atoms/GridRow.vue +4 -3
- package/components/DesignSystem/Atoms/LinkListItem.vue +31 -8
- package/components/DesignSystem/Molecules/ButtonGroup.vue +18 -3
- package/components/DesignSystem/Molecules/Card.vue +86 -31
- package/components/DesignSystem/Molecules/IconText.vue +37 -16
- package/components/DesignSystem/Molecules/MediaLightbox.vue +213 -58
- package/components/DesignSystem/Molecules/MediaSlider.vue +88 -25
- package/components/DesignSystem/Molecules/Partnership.vue +40 -9
- package/components/DesignSystem/Molecules/Table.vue +90 -25
- package/components/DesignSystem/Molecules/TitleComposition.vue +15 -12
- package/components/DesignSystem/Organisms/ContentBlock.vue +61 -15
- package/components/DesignSystem/Organisms/FacetedListing.vue +170 -0
- package/components/DesignSystem/Organisms/FlipTeaser.vue +119 -47
- package/components/DesignSystem/Organisms/HeaderHero.vue +167 -0
- package/components/DesignSystem/Organisms/HeaderTextImage.vue +71 -0
- package/components/DesignSystem/Organisms/LogoElement.vue +33 -10
- package/components/DesignSystem/Organisms/Map.vue +11 -6
- package/components/DesignSystem/Organisms/SearchResults.vue +41 -0
- package/components/DesignSystem/Organisms/TeamElement.vue +84 -20
- package/components/DesignSystem/Organisms/TeaserCard.vue +87 -34
- package/components/DesignSystem/Organisms/Testimonial.vue +82 -12
- package/components/DesignSystem/Organisms/TimelineElement.vue +42 -12
- package/components/DesignSystem/Organisms/TwoColumnTextElement.vue +44 -9
- package/components/DesignSystem/Pages/Search.vue +39 -0
- package/components/Drupal/Breadcrumb/index.vue +16 -5
- package/components/Drupal/Messages/index.vue +16 -5
- package/components/Drupal/Webform/fragment.graphql +8 -5
- package/components/Drupal/Webform/index.vue +20 -9
- package/components/Drupal/Webform/query.graphql +18 -16
- package/components/Form/CheckboxInput.vue +6 -6
- package/components/Form/CheckboxInputs.vue +5 -5
- package/components/Form/FileUploadInput.vue +6 -6
- package/components/Form/RadioButtonsInput.vue +5 -5
- package/components/Form/SelectInput.vue +7 -7
- package/components/Form/SubmitButton.vue +1 -1
- package/components/Form/TextAreaInput.vue +2 -2
- package/components/Form/TextEmailInput.vue +2 -2
- package/components/Form/TextInput.vue +2 -2
- package/components/Form/TextPhoneInput.vue +2 -2
- package/components/Form/composables/useFormElement.ts +5 -5
- package/components/Form/utils/types.ts +8 -7
- package/components/Media/Icon/index.vue +10 -6
- package/components/Media/Image/index.vue +26 -20
- package/components/Media/RemoteVideo/index.vue +34 -21
- package/components/Media/Video/index.vue +6 -5
- package/components/Node/Icms/Page/Teaser/index.vue +6 -4
- package/components/Node/Icms/Page/index.vue +2 -2
- package/components/Paragraph/Button/Element/index.vue +9 -2
- package/components/Paragraph/CallToAction/index.vue +43 -10
- package/components/Paragraph/Card/Element/index.vue +2 -1
- package/components/Paragraph/Card/Layout/index.vue +29 -10
- package/components/Paragraph/Contact/index.vue +41 -12
- package/components/Paragraph/Downloads/index.vue +82 -33
- package/components/Paragraph/FAQ/Element/index.vue +41 -12
- package/components/Paragraph/FAQ/Layout/index.vue +47 -13
- package/components/Paragraph/FlipTeasers/index.vue +26 -6
- package/components/Paragraph/Gallery/index.vue +42 -10
- package/components/Paragraph/HeroImage/index.vue +62 -16
- package/components/Paragraph/IconText/Element/index.vue +7 -1
- package/components/Paragraph/IconText/Layout/index.vue +39 -12
- package/components/Paragraph/Introduction/index.vue +50 -15
- package/components/Paragraph/Logo/Element/fragment.graphql +1 -0
- package/components/Paragraph/Logo/Element/index.vue +7 -2
- package/components/Paragraph/Media/index.vue +32 -31
- package/components/Paragraph/Partnerships/Element/fragment.graphql +1 -0
- package/components/Paragraph/Partnerships/Element/index.vue +7 -0
- package/components/Paragraph/Partnerships/Layout/index.vue +100 -27
- package/components/Paragraph/SingleTestimonial/index.vue +58 -15
- package/components/Paragraph/Table/index.vue +32 -9
- package/components/Paragraph/Tabs/Element/index.vue +44 -10
- package/components/Paragraph/Tabs/Layout/index.vue +123 -37
- package/components/Paragraph/Team/Element/index.vue +18 -1
- package/components/Paragraph/Team/Layout/index.vue +30 -7
- package/components/Paragraph/Teasers/index.vue +33 -7
- package/components/Paragraph/Testimonial/Element/index.vue +30 -5
- package/components/Paragraph/Testimonial/Layout/index.vue +78 -24
- package/components/Paragraph/Text/index.vue +32 -10
- package/components/Paragraph/TextMedia/index.vue +44 -13
- package/components/Paragraph/Timeline/Element/index.vue +23 -7
- package/components/Paragraph/Timeline/Layout/index.vue +232 -67
- package/components/Paragraph/TwoColumnText/Element/index.vue +20 -3
- package/components/Paragraph/TwoColumnText/Layout/index.vue +8 -1
- package/components/Paragraph/iFrame/index.vue +31 -11
- package/components/Search/Facets/FacetDropdownUI.vue +351 -77
- package/components/Search/Facets/FacetedSearchUI.vue +257 -101
- package/components/Search/Facets/fragment.graphql +5 -1
- package/components/Search/Input/index.vue +78 -20
- package/components/Section/Footer/index.vue +170 -30
- package/components/Section/Header/Buttons.vue +34 -0
- package/components/Section/Header/DesktopMainMenu.vue +160 -0
- package/components/Section/Header/DesktopMainMenuDropdown.vue +170 -0
- package/components/Section/Header/LanguageDropdown.vue +95 -64
- package/components/Section/Header/LanguageLinks.vue +39 -0
- package/components/Section/Header/Logo.vue +23 -0
- package/components/Section/Header/MainButtons.vue +31 -0
- package/components/Section/Header/MenuIcon.vue +60 -49
- package/components/Section/Header/MetaButtons.vue +31 -0
- package/components/Section/Header/MetaMenu.vue +55 -53
- package/components/Section/Header/MobileMainMenu.vue +23 -0
- package/components/Section/Header/MobileMainMenuItem.vue +191 -0
- package/components/Section/Header/index.vue +182 -186
- package/composables/useMenu.ts +2 -2
- package/composables/useMobileMenuOverlayBus.ts +44 -0
- package/composables/useNavigationOffset.ts +2 -2
- package/composables/useTheme.ts +107 -0
- package/formkit.theme.ts +541 -586
- package/layouts/default.vue +7 -35
- package/layouts/error.vue +7 -32
- package/nuxt.config.ts +13 -0
- package/package.json +1 -1
- package/plugins/initData.ts +8 -5
- package/queries/query.initData.graphql +4 -2
- package/tailwind.config.ts +11 -11
- package/types/global.ts +1 -0
- package/components/Section/Header/GlobalMenu.vue +0 -335
- package/components/Section/Header/LanguageSwitcher.vue +0 -37
|
@@ -1,28 +1,47 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<DesignSystemAtomsContainer
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
<DesignSystemAtomsContainer
|
|
3
|
+
:colorScheme="colorScheme"
|
|
4
|
+
:spacing="spacing"
|
|
5
|
+
:class="themedClass('containerClass')"
|
|
6
|
+
>
|
|
7
|
+
<DesignSystemAtomsGridRow :class="themedClass('rowClass')">
|
|
8
|
+
<div :class="themedClass('columnClass', 'col-span-12')">
|
|
5
9
|
<DesignSystemAtomsGridRow :class="introductionRow({ colorScheme })">
|
|
6
10
|
<div
|
|
7
|
-
class="
|
|
11
|
+
:class="
|
|
12
|
+
themedClass(
|
|
13
|
+
'introductionRowFirstColumnClass',
|
|
14
|
+
'col-span-12 md:col-span-5',
|
|
15
|
+
)
|
|
16
|
+
"
|
|
8
17
|
>
|
|
9
18
|
<Media
|
|
10
19
|
v-if="image"
|
|
11
20
|
:media="image"
|
|
12
|
-
mediaClass="aspect-square"
|
|
13
21
|
imageAspectRatios="1/1"
|
|
14
22
|
imageSizes="xs:100vw sm:100vw md:320px lg:380px"
|
|
15
|
-
|
|
23
|
+
:mediaClass="themedClass('mediaClass')"
|
|
24
|
+
:elementClass="themedClass('elementClass')"
|
|
25
|
+
:figcaptionClass="themedClass('figcaptionClass')"
|
|
16
26
|
/>
|
|
17
27
|
</div>
|
|
18
28
|
<div
|
|
19
|
-
class="
|
|
29
|
+
:class="
|
|
30
|
+
themedClass(
|
|
31
|
+
'introductionRowSecondColumnClass',
|
|
32
|
+
'col-span-12 flex flex-col p-8 pt-0 md:col-span-7 md:p-12 md:pl-5 lg:p-16 lg:pl-12',
|
|
33
|
+
)
|
|
34
|
+
"
|
|
20
35
|
>
|
|
21
36
|
<DesignSystemOrganismsContentBlock
|
|
22
37
|
:pretitle="pretitle"
|
|
38
|
+
:pretitleClass="themedClass('pretitleClass')"
|
|
23
39
|
:title="title"
|
|
40
|
+
:titleClass="themedClass('titleClass')"
|
|
24
41
|
:subtitle="subtitle"
|
|
42
|
+
:subtitleClass="themedClass('subtitleClass')"
|
|
25
43
|
:text="text"
|
|
44
|
+
:textClass="themedClass('textClass')"
|
|
26
45
|
:titleWeight="titleWeight"
|
|
27
46
|
:titleStyle="titleStyle"
|
|
28
47
|
:colorScheme="colorScheme"
|
|
@@ -30,14 +49,26 @@
|
|
|
30
49
|
<BlokkliField
|
|
31
50
|
name="field_icms_buttons"
|
|
32
51
|
:list="buttons"
|
|
33
|
-
class="
|
|
34
|
-
|
|
52
|
+
:class="
|
|
53
|
+
cn(
|
|
54
|
+
themedClass(
|
|
55
|
+
'buttonsContainerClass',
|
|
56
|
+
'order-1 mt-6 flex flex-wrap items-center gap-6 md:order-none',
|
|
57
|
+
),
|
|
58
|
+
buttonAlignment,
|
|
59
|
+
{ droptarget: isEditing },
|
|
60
|
+
)
|
|
61
|
+
"
|
|
35
62
|
/>
|
|
36
63
|
<Media
|
|
37
64
|
v-if="signature"
|
|
38
|
-
mediaClass="ml-auto mr-6 mt-6 max-w-44"
|
|
39
65
|
:media="signature"
|
|
40
66
|
imageSizes="xs:180px"
|
|
67
|
+
:mediaClass="
|
|
68
|
+
themedClass('secondMediaClass', 'ml-auto mr-6 mt-6 max-w-44')
|
|
69
|
+
"
|
|
70
|
+
:figcaptionClass="themedClass('secondFigcaptionClass')"
|
|
71
|
+
:elementClass="themedClass('secondElementClass')"
|
|
41
72
|
/>
|
|
42
73
|
</div>
|
|
43
74
|
</DesignSystemAtomsGridRow>
|
|
@@ -48,20 +79,24 @@
|
|
|
48
79
|
|
|
49
80
|
<script lang="ts" setup>
|
|
50
81
|
import type { ParagraphIcmsLayoutTextImageIntroFragment } from '#graphql-operations'
|
|
82
|
+
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
51
83
|
import { tv } from 'tailwind-variants'
|
|
84
|
+
import cn from '@iqual/nuxt-icms/composables/useCn'
|
|
52
85
|
|
|
53
86
|
defineProps<ParagraphIcmsLayoutTextImageIntroFragment>()
|
|
54
87
|
|
|
55
88
|
const { options, isEditing } = useAttrs().blokkliData
|
|
56
89
|
|
|
90
|
+
const themedClass = useTheme()
|
|
91
|
+
|
|
57
92
|
const introductionRow = tv({
|
|
58
|
-
base: '
|
|
93
|
+
base: themedClass('introductionRowBase', 'w-full p-0'),
|
|
59
94
|
variants: {
|
|
60
95
|
colorScheme: {
|
|
61
|
-
none: '
|
|
62
|
-
dark: '
|
|
63
|
-
light: '
|
|
64
|
-
accent: '
|
|
96
|
+
none: themedClass('introductionRowVariantsColorSchemeNone'),
|
|
97
|
+
dark: themedClass('introductionRowVariantsColorSchemeDark'),
|
|
98
|
+
light: themedClass('introductionRowVariantsColorSchemeLight'),
|
|
99
|
+
accent: themedClass('introductionRowVariantsColorSchemeAccent'),
|
|
65
100
|
},
|
|
66
101
|
},
|
|
67
102
|
defaultVariants: {
|
|
@@ -2,16 +2,21 @@
|
|
|
2
2
|
<DesignSystemOrganismsLogoElement
|
|
3
3
|
:logo="logo"
|
|
4
4
|
:link="link?.uri?.path"
|
|
5
|
+
:targetBlank="targetBlank"
|
|
5
6
|
:title="title"
|
|
6
7
|
:colorScheme="colorScheme"
|
|
7
|
-
class="w-full md:w-[calc(50%-12px)]"
|
|
8
|
+
:class="themedClass('containerClass', 'w-full md:w-[calc(50%-12px)]')"
|
|
8
9
|
/>
|
|
9
10
|
</template>
|
|
10
11
|
|
|
11
12
|
<script lang="ts" setup>
|
|
12
13
|
import type { ParagraphIcmsLogoElementFragment } from '#graphql-operations'
|
|
14
|
+
import type { ColorScheme } from '@iqual/nuxt-icms/types/global'
|
|
15
|
+
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
13
16
|
|
|
14
17
|
defineProps<ParagraphIcmsLogoElementFragment>()
|
|
15
18
|
|
|
16
|
-
const
|
|
19
|
+
const themedClass = useTheme()
|
|
20
|
+
|
|
21
|
+
const colorScheme = inject<ColorScheme>('colorScheme')
|
|
17
22
|
</script>
|
|
@@ -1,21 +1,40 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<DesignSystemAtomsContainer
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
<DesignSystemAtomsContainer
|
|
3
|
+
:colorScheme="colorScheme"
|
|
4
|
+
:spacing="spacing"
|
|
5
|
+
:class="themedClass('containerClass')"
|
|
6
|
+
>
|
|
7
|
+
<div :class="themedClass('rowClass', rowClassList)">
|
|
8
|
+
<div :class="themedClass('columnClass', columnClassList)">
|
|
5
9
|
<DesignSystemMoleculesMediaSlider
|
|
6
10
|
v-if="media && media.length > 1"
|
|
7
11
|
:media="media"
|
|
8
|
-
:
|
|
12
|
+
:containerClass="themedClass('mediaSliderContainerClass', 'my-0')"
|
|
13
|
+
:mediaClass="themedClass('mediaSliderMediaClass')"
|
|
14
|
+
:elementClass="
|
|
15
|
+
themedClass('mediaSliderElementClass', 'block w-full h-auto')
|
|
16
|
+
"
|
|
17
|
+
:figcaptionClass="themedClass('mediaSliderFigcaptionClass')"
|
|
18
|
+
:carouselClass="themedClass('mediaSliderCarouselClass')"
|
|
19
|
+
:carouselContentClass="themedClass('mediaSliderCarouselContentClass')"
|
|
20
|
+
:carouselItemClass="themedClass('mediaSliderCarouselItemClass')"
|
|
21
|
+
:carouselButtonPrevClass="
|
|
22
|
+
themedClass('mediaSliderCarouselButtonPrevClass')
|
|
23
|
+
"
|
|
24
|
+
:carouselButtonNextClass="
|
|
25
|
+
themedClass('mediaSliderCarouselButtonNextClass')
|
|
26
|
+
"
|
|
27
|
+
colorScheme="none"
|
|
9
28
|
showCaption
|
|
10
|
-
:sliderClass="mediaSliderClassList"
|
|
11
|
-
:elementClass="mediaElementClassList"
|
|
12
29
|
/>
|
|
13
30
|
|
|
14
31
|
<Media
|
|
15
32
|
v-else-if="media && media.length === 1 && media[0]"
|
|
16
33
|
:media="media[0]"
|
|
17
34
|
:imageSizes="imageSizes"
|
|
18
|
-
:
|
|
35
|
+
:mediaClass="themedClass('mediaMediaClass')"
|
|
36
|
+
:elementClass="themedClass('mediaElementClass')"
|
|
37
|
+
:figcaptionClass="themedClass('mediaFigcaptionClass')"
|
|
19
38
|
showCaption
|
|
20
39
|
/>
|
|
21
40
|
</div>
|
|
@@ -25,31 +44,13 @@
|
|
|
25
44
|
|
|
26
45
|
<script lang="ts" setup>
|
|
27
46
|
import type { ParagraphIcmsLayoutMediaFragment } from '#graphql-operations'
|
|
47
|
+
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
28
48
|
|
|
29
49
|
defineProps<ParagraphIcmsLayoutMediaFragment>()
|
|
30
50
|
|
|
31
|
-
const
|
|
51
|
+
const themedClass = useTheme()
|
|
32
52
|
|
|
33
|
-
const
|
|
34
|
-
const classList = ['my-0']
|
|
35
|
-
if (options.value.width !== 'full') {
|
|
36
|
-
classList.push('rounded-lg overflow-hidden')
|
|
37
|
-
}
|
|
38
|
-
return classList.join(' ')
|
|
39
|
-
})
|
|
40
|
-
|
|
41
|
-
const mediaElementClassList = computed(() => {
|
|
42
|
-
const classList = ['display-block', 'w-full h-auto']
|
|
43
|
-
if (options.value.width !== 'full') {
|
|
44
|
-
classList.push('rounded-lg overflow-hidden')
|
|
45
|
-
}
|
|
46
|
-
return classList.join(' ')
|
|
47
|
-
})
|
|
48
|
-
|
|
49
|
-
const elementClassList = computed(() => {
|
|
50
|
-
if (options.value.width === 'full') return ''
|
|
51
|
-
return 'rounded-lg'
|
|
52
|
-
})
|
|
53
|
+
const { options, isEditing } = useAttrs().blokkliData
|
|
53
54
|
|
|
54
55
|
const colorScheme = computed(() => {
|
|
55
56
|
return options.value.colorScheme
|
|
@@ -62,11 +63,11 @@ const spacing = computed(() => {
|
|
|
62
63
|
const rowClassList = computed(() => {
|
|
63
64
|
const classList = ['grid grid-cols-12 gap-6']
|
|
64
65
|
if (options.value.width === 'full') {
|
|
65
|
-
return classList
|
|
66
|
+
return classList.join(' ')
|
|
66
67
|
}
|
|
67
68
|
classList.push('container mx-auto')
|
|
68
69
|
|
|
69
|
-
return classList
|
|
70
|
+
return classList.join(' ')
|
|
70
71
|
})
|
|
71
72
|
|
|
72
73
|
const imageSizes = computed(() => {
|
|
@@ -88,6 +89,6 @@ const columnClassList = computed(() => {
|
|
|
88
89
|
classList.push('md:col-span-6 md:col-start-4')
|
|
89
90
|
}
|
|
90
91
|
|
|
91
|
-
return classList
|
|
92
|
+
return classList.join(' ')
|
|
92
93
|
})
|
|
93
94
|
</script>
|
|
@@ -2,13 +2,20 @@
|
|
|
2
2
|
<DesignSystemMoleculesPartnership
|
|
3
3
|
:logo="logo"
|
|
4
4
|
:link="link?.uri?.path"
|
|
5
|
+
:targetBlank="targetBlank"
|
|
5
6
|
:title="title"
|
|
7
|
+
:linkClass="themedClass('linkClass')"
|
|
8
|
+
:mediaClass="themedClass('mediaClass')"
|
|
9
|
+
:figcaptionClass="themedClass('figcaptionClass')"
|
|
10
|
+
:elementClass="themedClass('elementClass')"
|
|
6
11
|
/>
|
|
7
12
|
</template>
|
|
8
13
|
|
|
9
14
|
<script lang="ts" setup>
|
|
10
15
|
import type { ParagraphIcmsPartnershipElementFragment } from '#graphql-operations'
|
|
16
|
+
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
11
17
|
|
|
12
18
|
defineProps<ParagraphIcmsPartnershipElementFragment>()
|
|
13
19
|
|
|
20
|
+
const themedClass = useTheme()
|
|
14
21
|
</script>
|
|
@@ -1,30 +1,38 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<DesignSystemAtomsContainer
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
<DesignSystemAtomsContainer
|
|
3
|
+
:colorScheme="colorScheme"
|
|
4
|
+
:spacing="spacing"
|
|
5
|
+
:class="themedClass('containerClass')"
|
|
6
|
+
>
|
|
7
|
+
<DesignSystemAtomsGridRow :class="themedClass('rowClass', 'md:pr-24')">
|
|
8
|
+
<div :class="themedClass('columnClass', 'col-span-12')">
|
|
9
|
+
<DesignSystemAtomsGridRow :class="partnershipsRow({ colorScheme })">
|
|
9
10
|
<div
|
|
10
|
-
class="
|
|
11
|
+
:class="
|
|
12
|
+
themedClass(
|
|
13
|
+
'partnershipsRowFirstColumnClass',
|
|
14
|
+
'col-span-12 p-8 pb-0 md:col-span-6 md:p-12 md:pr-0 lg:p-16 lg:pr-0',
|
|
15
|
+
)
|
|
16
|
+
"
|
|
11
17
|
>
|
|
12
18
|
<DesignSystemOrganismsContentBlock
|
|
13
19
|
:pretitle="pretitle"
|
|
20
|
+
:pretitleClass="themedClass('pretitleClass')"
|
|
14
21
|
:title="title"
|
|
22
|
+
:titleClass="themedClass('titleClass')"
|
|
15
23
|
:titleWeight="titleWeight"
|
|
16
24
|
:colorScheme="colorScheme"
|
|
17
25
|
/>
|
|
18
26
|
|
|
19
|
-
<ul class="flex flex-col gap-4">
|
|
27
|
+
<ul :class="themedClass('textRowsClass', 'flex flex-col gap-4')">
|
|
20
28
|
<li
|
|
21
29
|
v-for="(textRow, index) in textRows"
|
|
22
30
|
:key="index"
|
|
23
|
-
class="flex items-start gap-2"
|
|
31
|
+
:class="themedClass('textRowClass', 'flex items-start gap-2')"
|
|
24
32
|
>
|
|
25
33
|
<SpriteSymbol
|
|
26
34
|
name="chevron-right"
|
|
27
|
-
class="
|
|
35
|
+
:class="bulletPoint({ colorScheme })"
|
|
28
36
|
/>
|
|
29
37
|
{{ textRow }}
|
|
30
38
|
</li>
|
|
@@ -32,15 +40,21 @@
|
|
|
32
40
|
</div>
|
|
33
41
|
|
|
34
42
|
<div
|
|
35
|
-
class="
|
|
43
|
+
:class="
|
|
44
|
+
themedClass(
|
|
45
|
+
'partnershipsRowSecondColumnClass',
|
|
46
|
+
'col-span-12 md:col-span-6 md:col-start-8',
|
|
47
|
+
)
|
|
48
|
+
"
|
|
36
49
|
>
|
|
37
50
|
<Media
|
|
38
51
|
v-if="image"
|
|
39
|
-
mediaClass="aspect-square w-full"
|
|
40
52
|
:media="image"
|
|
41
53
|
imageAspectRatios="1/1"
|
|
42
54
|
imageSizes="xs:100vw sm:100vw md:25vw lg:320px"
|
|
43
|
-
|
|
55
|
+
:mediaClass="themedClass('mediaClass')"
|
|
56
|
+
:elementClass="themedClass('elementClass')"
|
|
57
|
+
:figcaptionClass="themedClass('figcaptionClass')"
|
|
44
58
|
/>
|
|
45
59
|
</div>
|
|
46
60
|
</DesignSystemAtomsGridRow>
|
|
@@ -48,10 +62,19 @@
|
|
|
48
62
|
<DesignSystemAtomsGridRow
|
|
49
63
|
:class="partnershipsOffsetRow({ colorScheme })"
|
|
50
64
|
>
|
|
51
|
-
<div
|
|
65
|
+
<div
|
|
66
|
+
:class="
|
|
67
|
+
themedClass(
|
|
68
|
+
'partnershipsOffsetRowColumnClass',
|
|
69
|
+
'col-span-1 p-5 lg:p-8',
|
|
70
|
+
)
|
|
71
|
+
"
|
|
72
|
+
>
|
|
52
73
|
<DesignSystemOrganismsContentBlock
|
|
53
74
|
:pretitle="overlayTitle"
|
|
75
|
+
:pretitleClass="themedClass('overlayTitle')"
|
|
54
76
|
:text="overlayText"
|
|
77
|
+
:textClass="themedClass('overlayText')"
|
|
55
78
|
:colorScheme="colorScheme"
|
|
56
79
|
/>
|
|
57
80
|
|
|
@@ -59,8 +82,13 @@
|
|
|
59
82
|
v-if="partnershipElements"
|
|
60
83
|
name="field_icms_partnership_elements"
|
|
61
84
|
:list="partnershipElements"
|
|
62
|
-
class="
|
|
63
|
-
|
|
85
|
+
:class="[
|
|
86
|
+
themedClass(
|
|
87
|
+
'partnershipsContainerClass',
|
|
88
|
+
'mt-8 flex flex-wrap xl:flex-nowrap',
|
|
89
|
+
),
|
|
90
|
+
{ droptarget: isEditing },
|
|
91
|
+
]"
|
|
64
92
|
/>
|
|
65
93
|
</div>
|
|
66
94
|
</DesignSystemAtomsGridRow>
|
|
@@ -71,20 +99,32 @@
|
|
|
71
99
|
|
|
72
100
|
<script lang="ts" setup>
|
|
73
101
|
import type { ParagraphIcmsLayoutPartnershipsFragment } from '#graphql-operations'
|
|
102
|
+
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
74
103
|
import { tv } from 'tailwind-variants'
|
|
75
104
|
|
|
76
105
|
defineProps<ParagraphIcmsLayoutPartnershipsFragment>()
|
|
77
106
|
|
|
78
107
|
const { options, isEditing } = useAttrs().blokkliData
|
|
79
108
|
|
|
109
|
+
const themedClass = useTheme()
|
|
110
|
+
|
|
80
111
|
const partnershipsRow = tv({
|
|
81
|
-
base: '
|
|
112
|
+
base: themedClass('partnershipsRowBase', 'w-full p-0'),
|
|
82
113
|
variants: {
|
|
83
114
|
colorScheme: {
|
|
84
|
-
none: 'bg-white',
|
|
85
|
-
dark:
|
|
86
|
-
|
|
87
|
-
|
|
115
|
+
none: themedClass('partnershipsRowVariantsColorSchemeNone', 'bg-white'),
|
|
116
|
+
dark: themedClass(
|
|
117
|
+
'partnershipsRowVariantsColorSchemeDark',
|
|
118
|
+
'bg-gray-950',
|
|
119
|
+
),
|
|
120
|
+
light: themedClass(
|
|
121
|
+
'partnershipsRowVariantsColorSchemeLight',
|
|
122
|
+
'bg-gray-50',
|
|
123
|
+
),
|
|
124
|
+
accent: themedClass(
|
|
125
|
+
'partnershipsRowVariantsColorSchemeAccent',
|
|
126
|
+
'bg-primary-600',
|
|
127
|
+
),
|
|
88
128
|
},
|
|
89
129
|
},
|
|
90
130
|
defaultVariants: {
|
|
@@ -93,13 +133,46 @@ const partnershipsRow = tv({
|
|
|
93
133
|
})
|
|
94
134
|
|
|
95
135
|
const partnershipsOffsetRow = tv({
|
|
96
|
-
base:
|
|
136
|
+
base: themedClass(
|
|
137
|
+
'partnershipsOffsetRowBase',
|
|
138
|
+
'p-0 max-w-[75%] md:max-w-[50%] md:-mr-12 -mt-40 sm:-mt-52 relative z-10 grid-cols-1',
|
|
139
|
+
),
|
|
140
|
+
variants: {
|
|
141
|
+
colorScheme: {
|
|
142
|
+
none: themedClass(
|
|
143
|
+
'partnershipsOffsetRowVariantsColorSchemeNone',
|
|
144
|
+
'bg-gray-50',
|
|
145
|
+
),
|
|
146
|
+
dark: themedClass(
|
|
147
|
+
'partnershipsOffsetRowVariantsColorSchemeDark',
|
|
148
|
+
'bg-gray-900',
|
|
149
|
+
),
|
|
150
|
+
light: themedClass(
|
|
151
|
+
'partnershipsOffsetRowVariantsColorSchemeLight',
|
|
152
|
+
'bg-white',
|
|
153
|
+
),
|
|
154
|
+
accent: themedClass(
|
|
155
|
+
'partnershipsOffsetRowVariantsColorSchemeAccent',
|
|
156
|
+
'bg-primary-700',
|
|
157
|
+
),
|
|
158
|
+
},
|
|
159
|
+
},
|
|
160
|
+
defaultVariants: {
|
|
161
|
+
colorScheme: 'none',
|
|
162
|
+
},
|
|
163
|
+
})
|
|
164
|
+
|
|
165
|
+
const bulletPoint = tv({
|
|
166
|
+
base: themedClass('bulletPointBase', 'size-6 flex-shrink-0'),
|
|
97
167
|
variants: {
|
|
98
168
|
colorScheme: {
|
|
99
|
-
none: '
|
|
100
|
-
dark: '
|
|
101
|
-
light:
|
|
102
|
-
|
|
169
|
+
none: themedClass('bulletPointVariantsColorSchemeNone', 'text-gray-950'),
|
|
170
|
+
dark: themedClass('bulletPointVariantsColorSchemeDark', 'text-white'),
|
|
171
|
+
light: themedClass(
|
|
172
|
+
'bulletPointVariantsColorSchemeLight',
|
|
173
|
+
'text-gray-950',
|
|
174
|
+
),
|
|
175
|
+
accent: themedClass('bulletPointVariantsColorSchemeAccent', 'text-white'),
|
|
103
176
|
},
|
|
104
177
|
},
|
|
105
178
|
defaultVariants: {
|
|
@@ -1,46 +1,85 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<DesignSystemAtomsContainer
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
<DesignSystemAtomsContainer
|
|
3
|
+
:spacing="spacing"
|
|
4
|
+
:colorScheme="colorScheme"
|
|
5
|
+
:class="themedClass('containerClass')"
|
|
6
|
+
>
|
|
7
|
+
<DesignSystemAtomsGridRow :class="themedClass('rowClass')">
|
|
8
|
+
<div
|
|
9
|
+
:class="themedClass('firstColumnClass', 'col-span-12 md:col-span-5')"
|
|
10
|
+
>
|
|
5
11
|
<DesignSystemOrganismsContentBlock
|
|
6
12
|
:pretitle="pretitle"
|
|
13
|
+
:pretitleClass="themedClass('pretitleClass')"
|
|
7
14
|
:title="title"
|
|
8
|
-
:
|
|
15
|
+
:titleClass="themedClass('titleClass', 'mb-0')"
|
|
9
16
|
:titleWeight="titleWeight"
|
|
10
17
|
:titleStyle="titleStyle"
|
|
11
|
-
titleClass="mb-0"
|
|
12
18
|
:colorScheme="colorScheme"
|
|
13
19
|
/>
|
|
14
20
|
</div>
|
|
15
|
-
<div
|
|
21
|
+
<div
|
|
22
|
+
:class="
|
|
23
|
+
themedClass(
|
|
24
|
+
'secondColumnClass',
|
|
25
|
+
'col-span-12 flex items-end md:col-span-6 md:col-start-7',
|
|
26
|
+
)
|
|
27
|
+
"
|
|
28
|
+
>
|
|
16
29
|
<DesignSystemOrganismsContentBlock
|
|
17
30
|
:pretitle="textplain"
|
|
18
|
-
pretitleClass="mb-0"
|
|
31
|
+
:pretitleClass="themedClass('textPlainClass', 'mb-0')"
|
|
19
32
|
/>
|
|
20
33
|
</div>
|
|
21
|
-
<div
|
|
34
|
+
<div
|
|
35
|
+
:class="themedClass('thirdColumnClass', 'col-span-12 md:col-span-5')"
|
|
36
|
+
>
|
|
22
37
|
<DesignSystemOrganismsContentBlock
|
|
23
38
|
:subtitle="subtitle"
|
|
39
|
+
:subtitleClass="themedClass('subtitleClass')"
|
|
24
40
|
:text="text"
|
|
41
|
+
:textClass="themedClass('textClass')"
|
|
25
42
|
:media="media"
|
|
26
|
-
mediaClass="
|
|
27
|
-
|
|
43
|
+
:mediaClass="themedClass('mediaClass')"
|
|
44
|
+
:mediaContainerClass="themedClass('mediaContainerClass', 'mt-0')"
|
|
28
45
|
:colorScheme="colorScheme"
|
|
29
46
|
/>
|
|
30
47
|
|
|
31
48
|
<BlokkliField
|
|
32
49
|
name="field_icms_buttons"
|
|
33
50
|
:list="buttons"
|
|
34
|
-
class="
|
|
35
|
-
|
|
51
|
+
:class="
|
|
52
|
+
cn(
|
|
53
|
+
themedClass(
|
|
54
|
+
'buttonsContainerClass',
|
|
55
|
+
'mt-6 flex flex-wrap items-center gap-6',
|
|
56
|
+
),
|
|
57
|
+
buttonAlignment,
|
|
58
|
+
{ droptarget: isEditing },
|
|
59
|
+
)
|
|
60
|
+
"
|
|
36
61
|
/>
|
|
37
62
|
</div>
|
|
38
|
-
<div
|
|
63
|
+
<div
|
|
64
|
+
:class="
|
|
65
|
+
themedClass(
|
|
66
|
+
'fourthColumnClass',
|
|
67
|
+
'col-span-12 mt-4 md:col-span-6 md:col-start-7 md:mt-0',
|
|
68
|
+
)
|
|
69
|
+
"
|
|
70
|
+
>
|
|
39
71
|
<BlokkliField
|
|
40
72
|
name="field_icms_logo_elements"
|
|
41
73
|
:list="logoelements"
|
|
42
|
-
class="
|
|
43
|
-
|
|
74
|
+
:class="
|
|
75
|
+
cn(
|
|
76
|
+
themedClass(
|
|
77
|
+
'logoElementsContainerClass',
|
|
78
|
+
'flex flex-wrap items-center gap-6',
|
|
79
|
+
),
|
|
80
|
+
{ droptarget: isEditing },
|
|
81
|
+
)
|
|
82
|
+
"
|
|
44
83
|
/>
|
|
45
84
|
</div>
|
|
46
85
|
</DesignSystemAtomsGridRow>
|
|
@@ -49,11 +88,15 @@
|
|
|
49
88
|
|
|
50
89
|
<script lang="ts" setup>
|
|
51
90
|
import type { ParagraphIcmsLayoutTestimonialFragment } from '#graphql-operations'
|
|
91
|
+
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
92
|
+
import cn from '@iqual/nuxt-icms/composables/useCn'
|
|
52
93
|
|
|
53
94
|
defineProps<ParagraphIcmsLayoutTestimonialFragment>()
|
|
54
95
|
|
|
55
96
|
const { options, isEditing } = useAttrs().blokkliData
|
|
56
97
|
|
|
98
|
+
const themedClass = useTheme()
|
|
99
|
+
|
|
57
100
|
const spacing = computed(() => {
|
|
58
101
|
return { bottom: options.value.spacingBottom, top: options.value.spacingTop }
|
|
59
102
|
})
|
|
@@ -1,25 +1,46 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<DesignSystemAtomsContainer
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
<DesignSystemAtomsContainer
|
|
3
|
+
:spacing="spacing"
|
|
4
|
+
:colorScheme="colorScheme"
|
|
5
|
+
:class="themedClass('containerClass')"
|
|
6
|
+
>
|
|
7
|
+
<DesignSystemAtomsGridRow :class="themedClass('firstRowClass')">
|
|
8
|
+
<div
|
|
9
|
+
:class="
|
|
10
|
+
themedClass('firstRowFirstColumnClass', 'col-span-12 md:col-span-12')
|
|
11
|
+
"
|
|
12
|
+
>
|
|
5
13
|
<DesignSystemOrganismsContentBlock
|
|
6
14
|
:pretitle="pretitle"
|
|
15
|
+
:pretitleClass="themedClass('pretitleClass')"
|
|
7
16
|
:title="title"
|
|
17
|
+
:titleClass="themedClass('titleClass', 'mb-0')"
|
|
8
18
|
:titleWeight="titleWeight"
|
|
9
19
|
:titleStyle="titleStyle"
|
|
10
|
-
titleClass="mb-0"
|
|
11
20
|
:subtitle="subtitle"
|
|
21
|
+
:subtitleClass="themedClass('subtitleClass')"
|
|
12
22
|
/>
|
|
13
23
|
</div>
|
|
14
|
-
<div
|
|
15
|
-
|
|
24
|
+
<div
|
|
25
|
+
:class="
|
|
26
|
+
themedClass('firstRowSecondColumnClass', 'col-span-12 md:col-span-9')
|
|
27
|
+
"
|
|
28
|
+
>
|
|
29
|
+
<DesignSystemOrganismsContentBlock
|
|
30
|
+
:text="text"
|
|
31
|
+
:textClass="themedClass('textClass')"
|
|
32
|
+
/>
|
|
16
33
|
</div>
|
|
17
34
|
</DesignSystemAtomsGridRow>
|
|
18
|
-
<DesignSystemAtomsGridRow
|
|
19
|
-
|
|
35
|
+
<DesignSystemAtomsGridRow
|
|
36
|
+
:class="themedClass('secondRowClass', 'mt-10 md:mt-20')"
|
|
37
|
+
>
|
|
38
|
+
<div :class="themedClass('secondRowColumnClass', 'relative col-span-12')">
|
|
20
39
|
<DesignSystemMoleculesTable
|
|
21
|
-
:
|
|
40
|
+
:tableData="tableData"
|
|
22
41
|
:colorScheme="colorScheme"
|
|
42
|
+
:containerClass="themedClass('tableContainerClass')"
|
|
43
|
+
:tableClass="themedClass('tableClass')"
|
|
23
44
|
/>
|
|
24
45
|
</div>
|
|
25
46
|
</DesignSystemAtomsGridRow>
|
|
@@ -28,8 +49,10 @@
|
|
|
28
49
|
|
|
29
50
|
<script lang="ts" setup>
|
|
30
51
|
import type { ParagraphIcmsLayoutTableFragment } from '#graphql-operations'
|
|
52
|
+
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
31
53
|
|
|
32
54
|
defineProps<ParagraphIcmsLayoutTableFragment>()
|
|
55
|
+
const themedClass = useTheme()
|
|
33
56
|
|
|
34
57
|
const { options, parentType } = useAttrs().blokkliData
|
|
35
58
|
|