@iqual/nuxt-icms 1.4.0 → 1.4.1
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/components/DesignSystem/Atoms/Button.vue +1 -1
- package/components/DesignSystem/Atoms/Caption.vue +1 -1
- package/components/DesignSystem/Atoms/Container.vue +1 -1
- package/components/DesignSystem/Atoms/GridRow.vue +1 -1
- package/components/DesignSystem/Atoms/LinkListItem.vue +1 -1
- package/components/DesignSystem/Molecules/ButtonGroup.vue +1 -1
- package/components/DesignSystem/Molecules/Card.vue +1 -1
- package/components/DesignSystem/Molecules/IconText.vue +1 -1
- package/components/DesignSystem/Molecules/MediaLightbox.vue +1 -1
- package/components/DesignSystem/Molecules/MediaSlider.vue +1 -1
- package/components/DesignSystem/Molecules/Partnership.vue +1 -1
- package/components/DesignSystem/Molecules/Table.vue +1 -1
- package/components/DesignSystem/Molecules/TitleComposition.vue +1 -1
- package/components/DesignSystem/Organisms/ContentBlock.vue +1 -1
- package/components/DesignSystem/Organisms/FacetedListing.vue +1 -1
- package/components/DesignSystem/Organisms/FlipTeaser.vue +1 -1
- package/components/DesignSystem/Organisms/HeaderHero.vue +1 -1
- package/components/DesignSystem/Organisms/HeaderTextImage.vue +1 -1
- package/components/DesignSystem/Organisms/LogoElement.vue +1 -1
- package/components/DesignSystem/Organisms/SearchResults.vue +1 -1
- package/components/DesignSystem/Organisms/TeamElement.vue +1 -1
- package/components/DesignSystem/Organisms/TeaserCard.vue +1 -1
- package/components/DesignSystem/Organisms/Testimonial.vue +1 -1
- package/components/DesignSystem/Organisms/TimelineElement.vue +1 -1
- package/components/DesignSystem/Organisms/TwoColumnTextElement.vue +1 -1
- package/components/DesignSystem/Pages/Search.vue +1 -1
- package/components/Drupal/Breadcrumb/index.vue +1 -1
- package/components/Drupal/Messages/index.vue +1 -1
- package/components/Drupal/Webform/index.vue +1 -1
- package/components/Media/Icon/index.vue +1 -1
- package/components/Media/Image/index.vue +1 -1
- package/components/Media/RemoteVideo/index.vue +1 -1
- package/components/Media/Video/index.vue +1 -1
- package/components/Paragraph/Button/Element/index.vue +1 -1
- package/components/Paragraph/CallToAction/index.vue +1 -1
- package/components/Paragraph/Card/Layout/index.vue +1 -1
- package/components/Paragraph/Contact/index.vue +1 -1
- package/components/Paragraph/Downloads/index.vue +1 -1
- package/components/Paragraph/FAQ/Element/index.vue +1 -1
- package/components/Paragraph/FAQ/Layout/index.vue +1 -1
- package/components/Paragraph/FlipTeasers/index.vue +1 -1
- package/components/Paragraph/Gallery/index.vue +1 -1
- package/components/Paragraph/HeroImage/index.vue +1 -1
- package/components/Paragraph/IconText/Element/index.vue +1 -1
- package/components/Paragraph/IconText/Layout/index.vue +1 -1
- package/components/Paragraph/Introduction/index.vue +1 -1
- package/components/Paragraph/Logo/Element/index.vue +1 -1
- package/components/Paragraph/Media/index.vue +1 -1
- package/components/Paragraph/Partnerships/Element/index.vue +1 -1
- package/components/Paragraph/Partnerships/Layout/index.vue +1 -1
- package/components/Paragraph/SingleTestimonial/index.vue +1 -1
- package/components/Paragraph/Table/index.vue +1 -1
- package/components/Paragraph/Tabs/Element/index.vue +1 -1
- package/components/Paragraph/Tabs/Layout/index.vue +1 -1
- package/components/Paragraph/Team/Element/index.vue +1 -1
- package/components/Paragraph/Team/Layout/index.vue +1 -1
- package/components/Paragraph/Teasers/index.vue +1 -1
- package/components/Paragraph/Testimonial/Element/index.vue +1 -1
- package/components/Paragraph/Testimonial/Layout/index.vue +1 -1
- package/components/Paragraph/Text/index.vue +1 -1
- package/components/Paragraph/TextMedia/index.vue +1 -1
- package/components/Paragraph/Timeline/Element/index.vue +1 -1
- package/components/Paragraph/Timeline/Layout/index.vue +1 -1
- package/components/Paragraph/TwoColumnText/Element/index.vue +1 -1
- package/components/Paragraph/TwoColumnText/Layout/index.vue +1 -1
- package/components/Paragraph/iFrame/index.vue +1 -1
- package/components/Search/Facets/FacetDropdownUI.vue +1 -1
- package/components/Search/Facets/FacetedSearchUI.vue +1 -1
- package/components/Search/Input/index.vue +1 -1
- package/components/Section/Footer/index.vue +1 -1
- package/components/Section/Header/Buttons.vue +1 -1
- package/components/Section/Header/DesktopMainMenu.vue +2 -2
- package/components/Section/Header/DesktopMainMenuDropdown.vue +2 -2
- package/components/Section/Header/LanguageDropdown.vue +1 -1
- package/components/Section/Header/LanguageLinks.vue +1 -1
- package/components/Section/Header/Logo.vue +2 -1
- package/components/Section/Header/MainButtons.vue +1 -1
- package/components/Section/Header/MenuIcon.vue +2 -1
- package/components/Section/Header/MetaButtons.vue +1 -1
- package/components/Section/Header/MetaMenu.vue +1 -1
- package/components/Section/Header/MobileMainMenu.vue +1 -1
- package/components/Section/Header/MobileMainMenuItem.vue +2 -2
- package/components/Section/Header/index.vue +3 -1
- package/composables/useTheme.ts +8 -40
- package/package.json +1 -1
|
@@ -27,7 +27,7 @@ import cn from '@iqual/nuxt-icms/composables/useCn'
|
|
|
27
27
|
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
28
28
|
import { tv } from 'tailwind-variants'
|
|
29
29
|
|
|
30
|
-
const themedClass = useTheme()
|
|
30
|
+
const themedClass = useTheme('DesignSystemAtomsCaption')
|
|
31
31
|
|
|
32
32
|
const props = defineProps<{
|
|
33
33
|
label?: string
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<script lang="ts" setup>
|
|
8
8
|
import type { ColorScheme } from '@iqual/nuxt-icms/types/global'
|
|
9
9
|
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
10
|
-
const themedClass = useTheme()
|
|
10
|
+
const themedClass = useTheme('DesignSystemAtomsContainer')
|
|
11
11
|
|
|
12
12
|
const props = withDefaults(
|
|
13
13
|
defineProps<{
|
|
@@ -30,7 +30,7 @@ import type { ColorScheme } from '@iqual/nuxt-icms/types/global'
|
|
|
30
30
|
import cn from '@iqual/nuxt-icms/composables/useCn'
|
|
31
31
|
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
32
32
|
|
|
33
|
-
const themedClass = useTheme()
|
|
33
|
+
const themedClass = useTheme('DesignSystemMoleculesButtonGroup')
|
|
34
34
|
|
|
35
35
|
type Link = {
|
|
36
36
|
props: {
|
|
@@ -61,7 +61,7 @@ import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
|
61
61
|
import { tv } from 'tailwind-variants'
|
|
62
62
|
import cn from '@iqual/nuxt-icms/composables/useCn'
|
|
63
63
|
|
|
64
|
-
const themedClass = useTheme()
|
|
64
|
+
const themedClass = useTheme('DesignSystemMoleculesCard')
|
|
65
65
|
|
|
66
66
|
defineProps<{
|
|
67
67
|
title?: string
|
|
@@ -27,7 +27,7 @@ import type { MediaFragment } from '#graphql-operations'
|
|
|
27
27
|
import { tv } from 'tailwind-variants'
|
|
28
28
|
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
29
29
|
|
|
30
|
-
const themedClass = useTheme()
|
|
30
|
+
const themedClass = useTheme('DesignSystemMoleculesIconText')
|
|
31
31
|
|
|
32
32
|
defineProps<{
|
|
33
33
|
title?: string
|
|
@@ -288,7 +288,7 @@ const props = withDefaults(defineProps<Props>(), {
|
|
|
288
288
|
|
|
289
289
|
const emit = defineEmits<Emits>()
|
|
290
290
|
|
|
291
|
-
const themedClass = useTheme()
|
|
291
|
+
const themedClass = useTheme('DesignSystemMoleculesMediaLightbox')
|
|
292
292
|
const { $texts } = useNuxtApp()
|
|
293
293
|
|
|
294
294
|
// Refs
|
|
@@ -89,7 +89,7 @@ import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
|
89
89
|
import { useMediaLightbox } from '@iqual/nuxt-icms/composables/useMediaLightbox'
|
|
90
90
|
import { ChevronLeft, ChevronRight } from 'lucide-vue-next'
|
|
91
91
|
|
|
92
|
-
const themedClass = useTheme()
|
|
92
|
+
const themedClass = useTheme('DesignSystemMoleculesMediaSlider')
|
|
93
93
|
|
|
94
94
|
const props = defineProps<{
|
|
95
95
|
media?: (MediaFragment | null)[] | undefined
|
|
@@ -24,7 +24,7 @@ import type { MediaFragment } from '#graphql-operations'
|
|
|
24
24
|
import { tv } from 'tailwind-variants'
|
|
25
25
|
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
26
26
|
|
|
27
|
-
const themedClass = useTheme()
|
|
27
|
+
const themedClass = useTheme('DesignSystemMoleculesPartnership')
|
|
28
28
|
|
|
29
29
|
defineProps<{
|
|
30
30
|
logo?: MediaFragment
|
|
@@ -50,7 +50,7 @@ import type { ColorScheme } from '@iqual/nuxt-icms/types/global'
|
|
|
50
50
|
import { tv } from 'tailwind-variants'
|
|
51
51
|
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
52
52
|
|
|
53
|
-
const themedClass = useTheme()
|
|
53
|
+
const themedClass = useTheme('DesignSystemMoleculesTable')
|
|
54
54
|
|
|
55
55
|
const props = defineProps<{
|
|
56
56
|
tableData?: Record<string, any>
|
|
@@ -54,7 +54,7 @@ import type { MediaFragment } from '#graphql-operations'
|
|
|
54
54
|
import cn from '@iqual/nuxt-icms/composables/useCn'
|
|
55
55
|
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
56
56
|
|
|
57
|
-
const themedClass = useTheme()
|
|
57
|
+
const themedClass = useTheme('DesignSystemOrganismsContentBlock')
|
|
58
58
|
|
|
59
59
|
type Link = {
|
|
60
60
|
props: {
|
|
@@ -93,7 +93,7 @@ import { tv } from 'tailwind-variants'
|
|
|
93
93
|
import cn from '@iqual/nuxt-icms/composables/useCn'
|
|
94
94
|
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
95
95
|
|
|
96
|
-
const themedClass = useTheme()
|
|
96
|
+
const themedClass = useTheme('DesignSystemOrganismsFlipTeaser')
|
|
97
97
|
|
|
98
98
|
defineProps<{
|
|
99
99
|
image?: MediaFragment
|
|
@@ -24,7 +24,7 @@ import type { MediaFragment } from '#graphql-operations'
|
|
|
24
24
|
import { tv } from 'tailwind-variants'
|
|
25
25
|
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
26
26
|
|
|
27
|
-
const themedClass = useTheme()
|
|
27
|
+
const themedClass = useTheme('DesignSystemOrganismsLogoElement')
|
|
28
28
|
|
|
29
29
|
defineProps<{
|
|
30
30
|
logo?: MediaFragment
|
|
@@ -32,7 +32,7 @@ defineProps<{
|
|
|
32
32
|
results: GroupedSearchResults
|
|
33
33
|
}>()
|
|
34
34
|
|
|
35
|
-
const themedClass = useTheme()
|
|
35
|
+
const themedClass = useTheme('DesignSystemOrganismsSearchResults')
|
|
36
36
|
|
|
37
37
|
const { $resolveDynamicEntityComponent } = useNuxtApp()
|
|
38
38
|
const searchComponent = (bundle: string) => {
|
|
@@ -105,7 +105,7 @@ import type { MediaFragment } from '#graphql-operations'
|
|
|
105
105
|
import { tv } from 'tailwind-variants'
|
|
106
106
|
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
107
107
|
|
|
108
|
-
const themedClass = useTheme()
|
|
108
|
+
const themedClass = useTheme('DesignSystemOrganismsTeamElement')
|
|
109
109
|
|
|
110
110
|
defineProps<{
|
|
111
111
|
firstname?: string
|
|
@@ -77,7 +77,7 @@ import type { MediaFragment } from '#graphql-operations'
|
|
|
77
77
|
import { tv } from 'tailwind-variants'
|
|
78
78
|
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
79
79
|
|
|
80
|
-
const themedClass = useTheme()
|
|
80
|
+
const themedClass = useTheme('DesignSystemOrganismsTeaserCard')
|
|
81
81
|
|
|
82
82
|
defineProps<{
|
|
83
83
|
image?: MediaFragment
|
|
@@ -70,7 +70,7 @@ import type { MediaFragment } from '#graphql-operations'
|
|
|
70
70
|
import { tv } from 'tailwind-variants'
|
|
71
71
|
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
72
72
|
|
|
73
|
-
const themedClass = useTheme()
|
|
73
|
+
const themedClass = useTheme('DesignSystemOrganismsTestimonial')
|
|
74
74
|
|
|
75
75
|
defineProps<{
|
|
76
76
|
title?: string
|
|
@@ -57,7 +57,7 @@ import type { ColorScheme } from '@iqual/nuxt-icms/types/global'
|
|
|
57
57
|
import type { MediaFragment } from '#graphql-operations'
|
|
58
58
|
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
59
59
|
|
|
60
|
-
const themedClass = useTheme()
|
|
60
|
+
const themedClass = useTheme('DesignSystemOrganismsTimelineElement')
|
|
61
61
|
|
|
62
62
|
const props = defineProps<{
|
|
63
63
|
pretitle?: string
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
import cn from '@iqual/nuxt-icms/composables/useCn'
|
|
55
55
|
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
56
56
|
|
|
57
|
-
const themedClass = useTheme()
|
|
57
|
+
const themedClass = useTheme('DesignSystemOrganismsTwoColumnTextElement')
|
|
58
58
|
|
|
59
59
|
defineProps<{
|
|
60
60
|
pretitle?: string
|
|
@@ -35,7 +35,7 @@ import type { BreadcrumbFragment } from '#graphql-operations'
|
|
|
35
35
|
import type { Langcode } from '#nuxt-language-negotiation/config'
|
|
36
36
|
import { NuxtLink } from '#components'
|
|
37
37
|
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
38
|
-
const themedClass = useTheme()
|
|
38
|
+
const themedClass = useTheme('DesignSystemAtomsButton')
|
|
39
39
|
|
|
40
40
|
const props = defineProps<{
|
|
41
41
|
links: BreadcrumbFragment[]
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
import type { DrupalMessageType } from '@iqual/nuxt-icms/composables/useDrupalMessages'
|
|
22
22
|
import cn from '@iqual/nuxt-icms/composables/useCn'
|
|
23
23
|
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
24
|
-
const themedClass = useTheme()
|
|
24
|
+
const themedClass = useTheme('DrupalMessages')
|
|
25
25
|
|
|
26
26
|
const props = defineProps<{
|
|
27
27
|
wrapperClass?: string
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
import type { MediaIconFragment } from '#graphql-operations'
|
|
12
12
|
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
13
13
|
|
|
14
|
-
const themedClass = useTheme()
|
|
14
|
+
const themedClass = useTheme('MediaIcon')
|
|
15
15
|
|
|
16
16
|
defineProps<{
|
|
17
17
|
media: MediaIconFragment
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
import type { MediaImageFragment } from '#graphql-operations'
|
|
38
38
|
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
39
39
|
|
|
40
|
-
const themedClass = useTheme()
|
|
40
|
+
const themedClass = useTheme('MediaImage')
|
|
41
41
|
|
|
42
42
|
const props = withDefaults(
|
|
43
43
|
defineProps<{
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
import type { MediaRemoteVideoFragment } from '#graphql-operations'
|
|
55
55
|
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
56
56
|
|
|
57
|
-
const themedClass = useTheme()
|
|
57
|
+
const themedClass = useTheme('MediaRemoteVideo')
|
|
58
58
|
|
|
59
59
|
const props = defineProps<{
|
|
60
60
|
media: MediaRemoteVideoFragment
|
|
@@ -22,7 +22,7 @@ import type { ColorScheme } from '@iqual/nuxt-icms/types/global'
|
|
|
22
22
|
import type { ParagraphIcmsButtonElementFragment } from '#graphql-operations'
|
|
23
23
|
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
24
24
|
|
|
25
|
-
const themedClass = useTheme()
|
|
25
|
+
const themedClass = useTheme('ParagraphButtonElement')
|
|
26
26
|
|
|
27
27
|
defineProps<ParagraphIcmsButtonElementFragment>()
|
|
28
28
|
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
import type { ParagraphIcmsLayoutCallToActionFragment } from '#graphql-operations'
|
|
71
71
|
import cn from '@iqual/nuxt-icms/composables/useCn'
|
|
72
72
|
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
73
|
-
const themedClass = useTheme()
|
|
73
|
+
const themedClass = useTheme('ParagraphCallToAction')
|
|
74
74
|
|
|
75
75
|
defineProps<ParagraphIcmsLayoutCallToActionFragment>()
|
|
76
76
|
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
<script lang="ts" setup>
|
|
56
56
|
import type { ParagraphIcmsLayoutCardsFragment } from '#graphql-operations'
|
|
57
57
|
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
58
|
-
const themedClass = useTheme()
|
|
58
|
+
const themedClass = useTheme('ParagraphCardLayout')
|
|
59
59
|
|
|
60
60
|
const props = defineProps<ParagraphIcmsLayoutCardsFragment>()
|
|
61
61
|
|
|
@@ -74,7 +74,7 @@ defineProps<ParagraphIcmsLayoutContactFragment>()
|
|
|
74
74
|
|
|
75
75
|
const { options, isEditing } = useAttrs().blokkliData
|
|
76
76
|
|
|
77
|
-
const themedClass = useTheme()
|
|
77
|
+
const themedClass = useTheme('ParagraphContact')
|
|
78
78
|
|
|
79
79
|
const colorScheme = computed(() => {
|
|
80
80
|
return options.value.colorScheme
|
|
@@ -75,7 +75,7 @@ import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
|
75
75
|
defineProps<ParagraphIcmsLayoutDownloadsFragment>()
|
|
76
76
|
|
|
77
77
|
const { options, isEditing } = useAttrs().blokkliData
|
|
78
|
-
const themedClass = useTheme()
|
|
78
|
+
const themedClass = useTheme('ParagraphDownloads')
|
|
79
79
|
|
|
80
80
|
const colorScheme = computed(() => options.value.colorScheme)
|
|
81
81
|
|
|
@@ -44,7 +44,7 @@ import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
|
44
44
|
|
|
45
45
|
defineProps<ParagraphIcmsFaqElementFragment>()
|
|
46
46
|
|
|
47
|
-
const themedClass = useTheme()
|
|
47
|
+
const themedClass = useTheme('ParagraphFAQElement')
|
|
48
48
|
|
|
49
49
|
const accordionTrigger = tv({
|
|
50
50
|
base: themedClass(
|
|
@@ -80,7 +80,7 @@ import cn from '@iqual/nuxt-icms/composables/useCn'
|
|
|
80
80
|
|
|
81
81
|
const props = defineProps<ParagraphIcmsLayoutFaqFragment>()
|
|
82
82
|
|
|
83
|
-
const themedClass = useTheme()
|
|
83
|
+
const themedClass = useTheme('ParagraphFAQLayout')
|
|
84
84
|
|
|
85
85
|
const defaultValue = computed(() => {
|
|
86
86
|
if (!isEditing) {
|
|
@@ -61,7 +61,7 @@ import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
|
61
61
|
|
|
62
62
|
const props = defineProps<ParagraphIcmsLayoutFlipTeasersFragment>()
|
|
63
63
|
|
|
64
|
-
const themedClass = useTheme()
|
|
64
|
+
const themedClass = useTheme('ParagraphFlipTeasers')
|
|
65
65
|
|
|
66
66
|
const { options, parentType } = useAttrs().blokkliData
|
|
67
67
|
|
|
@@ -92,7 +92,7 @@ import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
|
92
92
|
|
|
93
93
|
defineProps<ParagraphIcmsLayoutHeroImageFragment>()
|
|
94
94
|
|
|
95
|
-
const themedClass = useTheme()
|
|
95
|
+
const themedClass = useTheme('ParagraphHeroImage')
|
|
96
96
|
|
|
97
97
|
const prefetch = provide('prefetch', true)
|
|
98
98
|
|
|
@@ -17,7 +17,7 @@ import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
|
17
17
|
|
|
18
18
|
defineProps<ParagraphIcmsIconTextElementFragment>()
|
|
19
19
|
|
|
20
|
-
const themedClass = useTheme()
|
|
20
|
+
const themedClass = useTheme('ParagraphIconTextElement')
|
|
21
21
|
|
|
22
22
|
const colorScheme = inject<ColorScheme>('colorScheme')
|
|
23
23
|
const titleWeight = inject<string>('titleWeight')
|
|
@@ -69,7 +69,7 @@ import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
|
69
69
|
|
|
70
70
|
const props = defineProps<ParagraphIcmsLayoutTextcolIconlistFragment>()
|
|
71
71
|
|
|
72
|
-
const themedClass = useTheme()
|
|
72
|
+
const themedClass = useTheme('ParagraphIconTextLayout')
|
|
73
73
|
|
|
74
74
|
const { options, isEditing } = useAttrs().blokkliData
|
|
75
75
|
|
|
@@ -87,7 +87,7 @@ defineProps<ParagraphIcmsLayoutTextImageIntroFragment>()
|
|
|
87
87
|
|
|
88
88
|
const { options, isEditing } = useAttrs().blokkliData
|
|
89
89
|
|
|
90
|
-
const themedClass = useTheme()
|
|
90
|
+
const themedClass = useTheme('ParagraphIntroduction')
|
|
91
91
|
|
|
92
92
|
const introductionRow = tv({
|
|
93
93
|
base: themedClass('introductionRowBase', 'w-full p-0'),
|
|
@@ -16,7 +16,7 @@ import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
|
16
16
|
|
|
17
17
|
defineProps<ParagraphIcmsLogoElementFragment>()
|
|
18
18
|
|
|
19
|
-
const themedClass = useTheme()
|
|
19
|
+
const themedClass = useTheme('ParagraphLogoElement')
|
|
20
20
|
|
|
21
21
|
const colorScheme = inject<ColorScheme>('colorScheme')
|
|
22
22
|
</script>
|
|
@@ -48,7 +48,7 @@ import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
|
48
48
|
|
|
49
49
|
defineProps<ParagraphIcmsLayoutMediaFragment>()
|
|
50
50
|
|
|
51
|
-
const themedClass = useTheme()
|
|
51
|
+
const themedClass = useTheme('ParagraphMedia')
|
|
52
52
|
|
|
53
53
|
const { options, isEditing } = useAttrs().blokkliData
|
|
54
54
|
|
|
@@ -106,7 +106,7 @@ defineProps<ParagraphIcmsLayoutPartnershipsFragment>()
|
|
|
106
106
|
|
|
107
107
|
const { options, isEditing } = useAttrs().blokkliData
|
|
108
108
|
|
|
109
|
-
const themedClass = useTheme()
|
|
109
|
+
const themedClass = useTheme('ParagraphPartnershipsLayout')
|
|
110
110
|
|
|
111
111
|
const partnershipsRow = tv({
|
|
112
112
|
base: themedClass('partnershipsRowBase', 'w-full p-0'),
|
|
@@ -95,7 +95,7 @@ defineProps<ParagraphIcmsLayoutTestimonialFragment>()
|
|
|
95
95
|
|
|
96
96
|
const { options, isEditing } = useAttrs().blokkliData
|
|
97
97
|
|
|
98
|
-
const themedClass = useTheme()
|
|
98
|
+
const themedClass = useTheme('ParagraphSingleTestimonial')
|
|
99
99
|
|
|
100
100
|
const spacing = computed(() => {
|
|
101
101
|
return { bottom: options.value.spacingBottom, top: options.value.spacingTop }
|
|
@@ -52,7 +52,7 @@ import type { ParagraphIcmsLayoutTableFragment } from '#graphql-operations'
|
|
|
52
52
|
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
53
53
|
|
|
54
54
|
defineProps<ParagraphIcmsLayoutTableFragment>()
|
|
55
|
-
const themedClass = useTheme()
|
|
55
|
+
const themedClass = useTheme('ParagraphTable')
|
|
56
56
|
|
|
57
57
|
const { options, parentType } = useAttrs().blokkliData
|
|
58
58
|
|
|
@@ -142,7 +142,7 @@ const props = defineProps<ParagraphIcmsLayoutTabsFragment>()
|
|
|
142
142
|
|
|
143
143
|
const { options, isEditing } = useAttrs().blokkliData as any
|
|
144
144
|
|
|
145
|
-
const themedClass = useTheme()
|
|
145
|
+
const themedClass = useTheme('ParagraphTabsLayout')
|
|
146
146
|
const { isMobile } = useIsMobile()
|
|
147
147
|
|
|
148
148
|
const tabList = tv({
|
|
@@ -33,7 +33,7 @@ import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
|
33
33
|
|
|
34
34
|
defineProps<ParagraphIcmsTeamElementFragment>()
|
|
35
35
|
|
|
36
|
-
const themedClass = useTheme()
|
|
36
|
+
const themedClass = useTheme('ParagraphTeamElement')
|
|
37
37
|
|
|
38
38
|
const colorScheme = inject<ColorScheme>('colorScheme')
|
|
39
39
|
const titleWeight = inject<string>('titleWeight')
|
|
@@ -57,7 +57,7 @@ const props = defineProps<ParagraphIcmsLayoutTeamFragment>()
|
|
|
57
57
|
|
|
58
58
|
const { options, isEditing } = useAttrs().blokkliData
|
|
59
59
|
|
|
60
|
-
const themedClass = useTheme()
|
|
60
|
+
const themedClass = useTheme('ParagraphTeamLayout')
|
|
61
61
|
|
|
62
62
|
const colorScheme = computed(() => {
|
|
63
63
|
return options.value.colorScheme
|
|
@@ -57,7 +57,7 @@ import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
|
57
57
|
|
|
58
58
|
const props = defineProps<ParagraphIcmsLayoutTeasersFragment>()
|
|
59
59
|
|
|
60
|
-
const themedClass = useTheme()
|
|
60
|
+
const themedClass = useTheme('ParagraphTeasers')
|
|
61
61
|
|
|
62
62
|
const { options, parentType } = useAttrs().blokkliData as any
|
|
63
63
|
|
|
@@ -45,7 +45,7 @@ import cn from '@iqual/nuxt-icms/composables/useCn'
|
|
|
45
45
|
|
|
46
46
|
defineProps<ParagraphIcmsTestimonialElementFragment>()
|
|
47
47
|
|
|
48
|
-
const themedClass = useTheme()
|
|
48
|
+
const themedClass = useTheme('ParagraphTestimonialElement')
|
|
49
49
|
|
|
50
50
|
const { isEditing } = useAttrs().blokkliData
|
|
51
51
|
|
|
@@ -94,7 +94,7 @@ const props = defineProps<ParagraphIcmsLayoutTestimonialsFragment>()
|
|
|
94
94
|
|
|
95
95
|
const { options, isEditing } = useAttrs().blokkliData
|
|
96
96
|
|
|
97
|
-
const themedClass = useTheme()
|
|
97
|
+
const themedClass = useTheme('ParagraphTestimonialLayout')
|
|
98
98
|
|
|
99
99
|
const carousel = tv({
|
|
100
100
|
base: themedClass('carouselBase', 'px-16 py-8 xl:px-40 xl:py-12'),
|
|
@@ -34,7 +34,7 @@ import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
|
34
34
|
|
|
35
35
|
defineProps<ParagraphIcmsTimelineElementFragment>()
|
|
36
36
|
|
|
37
|
-
const themedClass = useTheme()
|
|
37
|
+
const themedClass = useTheme('ParagraphTimelineElement')
|
|
38
38
|
|
|
39
39
|
const { options, isEditing } = useAttrs().blokkliData
|
|
40
40
|
|
|
@@ -239,7 +239,7 @@ const props = defineProps<ParagraphIcmsLayoutTimelineFragment>()
|
|
|
239
239
|
|
|
240
240
|
const { options, isEditing } = useAttrs().blokkliData
|
|
241
241
|
|
|
242
|
-
const themedClass = useTheme()
|
|
242
|
+
const themedClass = useTheme('ParagraphTimelineLayout')
|
|
243
243
|
const { isMobile } = useIsMobile()
|
|
244
244
|
|
|
245
245
|
const colorScheme = computed(() => {
|
|
@@ -33,7 +33,7 @@ defineProps<ParagraphIcms2ColTextElementFragment>()
|
|
|
33
33
|
|
|
34
34
|
const { options, isEditing } = useAttrs().blokkliData
|
|
35
35
|
|
|
36
|
-
const themedClass = useTheme()
|
|
36
|
+
const themedClass = useTheme('ParagraphTwoColumnTextElement')
|
|
37
37
|
|
|
38
38
|
const twoColumnTextElementClassList = computed(() => {
|
|
39
39
|
const classList = []
|
|
@@ -20,7 +20,7 @@ defineProps<ParagraphIcmsLayout2ColTextElementsFragment>()
|
|
|
20
20
|
|
|
21
21
|
const { options, isEditing } = useAttrs().blokkliData
|
|
22
22
|
|
|
23
|
-
const themedClass = useTheme()
|
|
23
|
+
const themedClass = useTheme('ParagraphTwoColumnTextLayout')
|
|
24
24
|
|
|
25
25
|
const colorScheme = computed(() => {
|
|
26
26
|
return options.value.colorScheme
|
|
@@ -39,7 +39,7 @@ import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
|
39
39
|
|
|
40
40
|
const props = defineProps<ParagraphIcmsLayoutIframeFragment>()
|
|
41
41
|
|
|
42
|
-
const themedClass = useTheme()
|
|
42
|
+
const themedClass = useTheme('ParagraphiFrame')
|
|
43
43
|
|
|
44
44
|
const { options, isEditing } = useAttrs().blokkliData
|
|
45
45
|
|
|
@@ -181,7 +181,7 @@ import PopoverTrigger from '@iqual/nuxt-icms/components/ui/popover/PopoverTrigge
|
|
|
181
181
|
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
182
182
|
import { tv } from 'tailwind-variants'
|
|
183
183
|
|
|
184
|
-
const themedClass = useTheme()
|
|
184
|
+
const themedClass = useTheme('SearchFacetsFacetDropdownUI')
|
|
185
185
|
|
|
186
186
|
// Incoming facet shape from GraphQL API.
|
|
187
187
|
export interface GraphQLFacetItem {
|
|
@@ -270,7 +270,7 @@ const props = withDefaults(defineProps<FacetedSearchUIProps>(), {
|
|
|
270
270
|
conjunction: 'AND',
|
|
271
271
|
})
|
|
272
272
|
|
|
273
|
-
const themedClass = useTheme()
|
|
273
|
+
const themedClass = useTheme('SearchFacetsFacetedSearchUI')
|
|
274
274
|
|
|
275
275
|
// Get the $texts function for internationalization
|
|
276
276
|
const { $texts } = useNuxtApp()
|
|
@@ -250,7 +250,7 @@ import type { NuxtSvgSpriteSymbol } from '#nuxt-svg-icon-sprite/runtime'
|
|
|
250
250
|
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
251
251
|
import cn from '@iqual/nuxt-icms/composables/useCn'
|
|
252
252
|
|
|
253
|
-
const themedClass = useTheme()
|
|
253
|
+
const themedClass = useTheme('SectionFooter')
|
|
254
254
|
const { menuItems: footerMenuLinks } = await useMenu('footerMenu')
|
|
255
255
|
const { menuItems: footerMetaMenuLinks } = await useMenu('footerMetaMenu')
|
|
256
256
|
const {
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
</template>
|
|
78
78
|
|
|
79
79
|
<script lang="ts" setup>
|
|
80
|
-
import type { MappedMenuLink } from '
|
|
80
|
+
import type { MappedMenuLink } from '@iqual/nuxt-icms/plugins/initData'
|
|
81
81
|
import { NuxtLink } from '#components'
|
|
82
82
|
import DesktopMainMenuDropdown from './DesktopMainMenuDropdown.vue'
|
|
83
83
|
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
@@ -85,7 +85,7 @@ import cn from '@iqual/nuxt-icms/composables/useCn'
|
|
|
85
85
|
|
|
86
86
|
const { menuItems, menuItemActive } = await useMenu('mainMenu')
|
|
87
87
|
|
|
88
|
-
const themedClass = useTheme()
|
|
88
|
+
const themedClass = useTheme('SectionHeaderDesktopMainMenu')
|
|
89
89
|
|
|
90
90
|
const isActive = (item: MappedMenuLink) => menuItemActive.value?.id === item.id
|
|
91
91
|
const hasSubmenu = (item: MappedMenuLink) => (item.children?.length ?? 0) > 0
|
|
@@ -68,12 +68,12 @@
|
|
|
68
68
|
</template>
|
|
69
69
|
|
|
70
70
|
<script lang="ts" setup>
|
|
71
|
-
import type { MappedMenuLink } from '
|
|
71
|
+
import type { MappedMenuLink } from '@iqual/nuxt-icms/plugins/initData'
|
|
72
72
|
import { NuxtLink } from '#components'
|
|
73
73
|
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
74
74
|
import cn from '@iqual/nuxt-icms/composables/useCn'
|
|
75
75
|
|
|
76
|
-
const themedClass = useTheme()
|
|
76
|
+
const themedClass = useTheme('SectionHeaderDesktopMainMenuDropdown')
|
|
77
77
|
|
|
78
78
|
const props = defineProps<{
|
|
79
79
|
item: MappedMenuLink
|
|
@@ -107,7 +107,7 @@ import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
|
107
107
|
|
|
108
108
|
const links = useLanguageLinks()
|
|
109
109
|
const currentLanguage = useCurrentLanguage()
|
|
110
|
-
const themedClass = useTheme()
|
|
110
|
+
const themedClass = useTheme('SectionHeaderLanguageDropdown')
|
|
111
111
|
|
|
112
112
|
const isLangDropdownOpen = ref(false)
|
|
113
113
|
|
|
@@ -15,9 +15,10 @@
|
|
|
15
15
|
</template>
|
|
16
16
|
|
|
17
17
|
<script lang="ts" setup>
|
|
18
|
+
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
18
19
|
const { companyLogo, companyName } = await useGlobalConfig()
|
|
19
20
|
|
|
20
|
-
const themedClass = useTheme()
|
|
21
|
+
const themedClass = useTheme('SectionHeaderLogo')
|
|
21
22
|
const currentLanguage = useCurrentLanguage()
|
|
22
23
|
const { close } = useMobileMenuOverlayBus()
|
|
23
24
|
</script>
|
|
@@ -26,6 +26,6 @@
|
|
|
26
26
|
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
27
27
|
|
|
28
28
|
const { contactButtons } = await useGlobalConfig()
|
|
29
|
-
const themedClass = useTheme()
|
|
29
|
+
const themedClass = useTheme('SectionHeaderMainButtons')
|
|
30
30
|
const { close } = useMobileMenuOverlayBus()
|
|
31
31
|
</script>
|
|
@@ -60,11 +60,12 @@
|
|
|
60
60
|
</template>
|
|
61
61
|
|
|
62
62
|
<script lang="ts" setup>
|
|
63
|
+
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
63
64
|
defineProps<{
|
|
64
65
|
isInClosableState: boolean
|
|
65
66
|
}>()
|
|
66
67
|
|
|
67
|
-
const themedClass = useTheme()
|
|
68
|
+
const themedClass = useTheme('SectionHeaderMenuIcon')
|
|
68
69
|
const { close, open } = useMobileMenuOverlayBus()
|
|
69
70
|
</script>
|
|
70
71
|
|
|
@@ -26,6 +26,6 @@
|
|
|
26
26
|
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
27
27
|
|
|
28
28
|
const { metaLinks } = await useGlobalConfig()
|
|
29
|
-
const themedClass = useTheme()
|
|
29
|
+
const themedClass = useTheme('SectionHeaderMetaButtons')
|
|
30
30
|
const { close } = useMobileMenuOverlayBus()
|
|
31
31
|
</script>
|
|
@@ -65,7 +65,7 @@ import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
|
65
65
|
import cn from '@iqual/nuxt-icms/composables/useCn'
|
|
66
66
|
|
|
67
67
|
const { menuItems, menuItemActive } = await useMenu('metaMenu')
|
|
68
|
-
const themedClass = useTheme()
|
|
68
|
+
const themedClass = useTheme('SectionHeaderMetaMenu')
|
|
69
69
|
const { $texts } = useNuxtApp()
|
|
70
70
|
const { close } = useMobileMenuOverlayBus()
|
|
71
71
|
</script>
|
|
@@ -19,5 +19,5 @@ import MobileMainMenuItem from './MobileMainMenuItem.vue'
|
|
|
19
19
|
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
20
20
|
const { menuItems, menuItemActive } = await useMenu('mainMenu')
|
|
21
21
|
|
|
22
|
-
const themedClass = useTheme()
|
|
22
|
+
const themedClass = useTheme('SectionHeaderMobileMainMenu')
|
|
23
23
|
</script>
|
|
@@ -79,13 +79,13 @@
|
|
|
79
79
|
</template>
|
|
80
80
|
|
|
81
81
|
<script lang="ts" setup>
|
|
82
|
-
import type { MappedMenuLink } from '
|
|
82
|
+
import type { MappedMenuLink } from '@iqual/nuxt-icms/plugins/initData'
|
|
83
83
|
import { NuxtLink } from '#components'
|
|
84
84
|
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
85
85
|
import cn from '@iqual/nuxt-icms/composables/useCn'
|
|
86
86
|
|
|
87
87
|
const route = useRoute()
|
|
88
|
-
const themedClass = useTheme()
|
|
88
|
+
const themedClass = useTheme('SectionHeaderMobileMainMenuItem')
|
|
89
89
|
const { close } = useMobileMenuOverlayBus()
|
|
90
90
|
|
|
91
91
|
const props = defineProps<{
|
|
@@ -177,8 +177,10 @@
|
|
|
177
177
|
</template>
|
|
178
178
|
|
|
179
179
|
<script lang="ts" setup>
|
|
180
|
+
import { useTheme } from '@iqual/nuxt-icms/composables/useTheme'
|
|
181
|
+
|
|
180
182
|
const { metaLinks, contactButtons } = await useGlobalConfig()
|
|
181
|
-
const themedClass = useTheme()
|
|
183
|
+
const themedClass = useTheme('SectionHeader')
|
|
182
184
|
const { close, onOpen, onClose } = useMobileMenuOverlayBus()
|
|
183
185
|
const viewport = useViewport()
|
|
184
186
|
|
package/composables/useTheme.ts
CHANGED
|
@@ -1,33 +1,12 @@
|
|
|
1
1
|
import { getCurrentInstance } from 'vue'
|
|
2
2
|
import cn from '@iqual/nuxt-icms/composables/useCn'
|
|
3
3
|
|
|
4
|
-
/**
|
|
5
|
-
* Helper function that extracts a component name from a file path by converting the path structure to a component identifier.
|
|
6
|
-
*
|
|
7
|
-
* @param filePath - The full file path of the component
|
|
8
|
-
* @returns The component name derived from the path (e.g., "Section/Header/index.vue" becomes "SectionHeader")
|
|
9
|
-
*/
|
|
10
|
-
function getComponentName(filePath: string): string {
|
|
11
|
-
if (!filePath.includes('/components/')) return 'Unknown'
|
|
12
|
-
|
|
13
|
-
return filePath.substring(filePath.indexOf('/components/') + 12)
|
|
14
|
-
.replace(/\.(vue|tsx?|jsx?)$/, '')
|
|
15
|
-
.replace(/\/index$/, '')
|
|
16
|
-
.split('/').join('')
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
interface UseThemeOptions {
|
|
20
|
-
componentName?: string
|
|
21
|
-
themeName?: string
|
|
22
|
-
}
|
|
23
|
-
|
|
24
4
|
/**
|
|
25
5
|
* A composable that provides theme-aware class generation for Vue components.
|
|
26
6
|
* Automatically detects the calling component and merges theme classes with component props and default classes.
|
|
27
7
|
*
|
|
28
|
-
* @param
|
|
29
|
-
* @param
|
|
30
|
-
* @param options.themeName - The name of the theme to use from app config (defaults to 'default')
|
|
8
|
+
* @param componentName - Component name to manually override auto-detection
|
|
9
|
+
* @param themeName - The name of the theme to use from app config (defaults to 'default')
|
|
31
10
|
* @returns A function that generates themed classes for component elements
|
|
32
11
|
*
|
|
33
12
|
* @example
|
|
@@ -39,20 +18,11 @@ interface UseThemeOptions {
|
|
|
39
18
|
* </template>
|
|
40
19
|
*
|
|
41
20
|
* <script setup>
|
|
42
|
-
* //
|
|
43
|
-
* const
|
|
44
|
-
*
|
|
45
|
-
* // Manually set component name
|
|
46
|
-
* const customTheme = useTheme({ componentName: 'CustomComponent' })
|
|
21
|
+
* // Uses default theme
|
|
22
|
+
* const customTheme = useTheme('CustomComponent')
|
|
47
23
|
*
|
|
48
|
-
* // Use a specific theme
|
|
49
|
-
* const darkTheme = useTheme(
|
|
50
|
-
*
|
|
51
|
-
* // Manually set component name with specific theme
|
|
52
|
-
* const customDarkTheme = useTheme({
|
|
53
|
-
* componentName: 'CustomComponent',
|
|
54
|
-
* themeName: 'dark'
|
|
55
|
-
* })
|
|
24
|
+
* // Use a specific theme
|
|
25
|
+
* const darkTheme = useTheme('CustomComponent', 'dark')
|
|
56
26
|
*
|
|
57
27
|
* // The returned function merges:
|
|
58
28
|
* // 1. Default classes passed as second parameter
|
|
@@ -75,14 +45,12 @@ interface UseThemeOptions {
|
|
|
75
45
|
* })
|
|
76
46
|
* ```
|
|
77
47
|
*/
|
|
78
|
-
export function useTheme(
|
|
79
|
-
const { componentName, themeName = 'default' } = options
|
|
48
|
+
export function useTheme(componentName: string, themeName: string = 'default') {
|
|
80
49
|
const instance = getCurrentInstance()
|
|
81
50
|
const { props } = instance || {}
|
|
82
51
|
const appConfig = useAppConfig()
|
|
83
52
|
|
|
84
|
-
const
|
|
85
|
-
const componentTheme = (appConfig?.theme as any)?.[themeName]?.[component] ?? {}
|
|
53
|
+
const componentTheme = (appConfig?.theme as any)?.[themeName]?.[componentName] ?? {}
|
|
86
54
|
|
|
87
55
|
/**
|
|
88
56
|
* Generates themed classes by merging default classes, theme classes, and component prop classes.
|